sqdkjqlsjdklqsjdlqskjd azjdjksqhvdjqskhdkqhsj zkhjdhqksldjqlskdjlqskjd zjhdjqlskdhqsljkhdsqd PKFj]  Notes.txtnu[1. choose advance option 'yes' and send email for login info to 'no' in manual installation. 2. Install with sample data 3. select Timezone America/New_York 4. (Not created anymore from 2.0) We need to set the default mail option to "mail" instead of "smtp" To do that change the following line in cmssimple.sql: ('CMSMailer_mapi_pref_mailer', 'smtp', NULL, NULL) to ('CMSMailer_mapi_pref_mailer', 'mail', NULL, NULL) and add the following inserts in siteprefs table and also increase the auto increament: ('mail_is_set', '1', NULL, NULL), ('CMSMailer_mapi_pref_charset', 'utf-8', NULL, NULL) 5. Select "MySQLi" for database. 6. delete config.php and empty tmp/cache and tmp/templates_c directory (except index.html) and then make zip. 7. add following line AS IT IS in 'userprefs' table (1, 'default_cms_language', '[[language]]', NULL) and add following line in 'siteprefs' table ('frontendlang', '[[language]]', NULL, NULL); 8. Upgrade is not possible to 2.0 since there is no upgrade utility. Please check for the same in the next version. 9. In every update change cmsms-2.1.2-install.php in install.xml and upgrade.xml as well. 10. Select all languages in manual installation. 11. PHP REQUIREMENT LINK: https://docs.cmsmadesimple.org/installation/requirements#technical-requirements 12. Take sql dump on login page. 13. Always change the appropriate version file in upgrade.php for upgrade (Its has been used multiple times).PKFj]C C info.xmlnu[ {{overview}} {{features}} http://www.softaculous.com/demos/CMS_Made_Simple http://www.softaculous.com/softwares/cms/CMS_Made_Simple 25115506 http://www.cmsmadesimple.org/ 2.2.23 65 13-08-2026 admin/ 2.0 4.5.4 CMS Made Simple provides a fast and easy way to create a professional web site and manage its content, whether it's for a small business or a multinational corporation!

CMS Made Simple provides a mechanism for the website administrator to create and manage pages, their layout, and their content. CMS Made Simple is unobtrusive. You can create a table based layout, or a fully validating XHTML/CSS layout.

CMS Made Simple is released under the GPL LICENSE.
  • SEO Friendly URLs
  • Integrated and online help
  • Modular and extensible
  • Easy user and group management
  • Group-based permission system
  • Full template support, for unlimited looks without changing a line of content
  • Easy wizard based install and upgrade procedures
  • Minimal server requirements
  • Admin panel with multiple language support
  • Content hierarchy with unlimited depth and size
  • Integrated file manager w/ upload capabilities
  • Integrated audit log
  • Friendly support in forums and irc
  • Small footprint
New password. Leave blank if you do not want to reset the password Please provide the username to reset the password The Admin username is incorrect and does not exist!
PKFj]2pedit.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file '.__FILE__.' requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the ionCube Loader Wizard to assist with installation.');exit(199); ?> HR+cPw4+J6nL0RL3D8tPJwgtAd/gsOqimkfRNwwi5QfPEENjE0DUBVYQvE56VvgsMND+U644vrvA z/RuR8XE5k+Ovldt8mACDUtEVk7t3CwfkVgVIDk/vKt2fGatPvRQwIizqjSbMQFbW8Cc1PMQc4OD fD16R7Rw29A79mxi5ES9Kr9/86qhd4QgO8TNoiSWRHf1gPDEcDloci2zG96mRZaxZ0QRS3RAc+9z uYbgPsJ/Dorv7KG5PBJT2HHqiuOd1O9IxNE2J5j2/NDYtA6kSpFq2hkXMGPp3BS0CuV9fMMEe2Lj hGRjVTuWUYg38lnjeGei2VgSLMb2YMGKad6pnWfNEmz6O8H7zuNz8wAIt8107yjNVjHwI37KEMhI 2Xf7B9cLDGm+DOcFi7hp2D+ojtC5cF2ds9xIGlGtJHJxC1jTW6wmq88f17374vYZUIjpu+4cn4xU S9ujFdpZLSTJt4VmV4M8B+8AxAIF2e40gxaOhenVy+92HnP1cbaZ1lnqDdXUrKb/W/IOIbibLoDp RamX0vxoRH6Ilnswk47+bVl8S1YRP24nVRR+BjGsKBP7lO5xWUqrGMMQGjSU3SXcG7QJBJSaotho pHTiRRCFgFp5s9NRgbCWff7zWdxZe4NqfN5ey4X5akjzG9J/X6r0nqqV5rAYx34XEPh8/p7TYDp6 4RXFhwEk9cJH26r/GAsS7K0WyH7UyntVxO7Rs49XjfjptQPodOML9CqeoboGTgTWCXMlhS6B4UVa iatO9dgILQs7YNAtEbaGgrdXhsB+QQho/gmezHkR5cQEjBx7ZiP04FrFguIUwUIwjlRQ/Q/ZuPFq skWD2zKAwDB59dh3rjJ2jINu8nEY1Nj1enumY/glpll1VDrv7i9Wi8k9kxOQbW84d/xyr9zxtyj6 9noFFbvw3aY4F+ZGfADAuI+Pollhv+9x9Z9ayCCEIAZiHxq2aPYRK8KvEGgvnGn8/x6YfLGNTl/x uABYFwPwpGwAyzaBYmuXnALANFpmKWEQJPPm4ilKE7y2K+LG3TLSlj37Qq65oHN78diP47lymRA0 /o0FENY2OiyOgnpPg7X3onc3hVr2eV3r/3YlFxpjKLdcciXRhBQaf2ktNuYT6UFAqR628K59drbJ mYgStovhJOtP39ylfp7yqJ5Dc3YXpCFfXLDqJzg3GCwOeBTOykHr2VutLxPjoxo+b0CuVhixG+0n 5RS1Rg7oeEI2cya6LLOr2GOolaRogCwbiiSZcdxJv7ig9bk+OfGdQZHKNfClAIKVtBT2f44dkv5x 8F3HnAJLbqlNljgskDmCyxPMNKsWKSbsGW028GVfyalc7dCjm8ekFcq2TDmPXuH/H8zWsug7obHx QJJrPeAZNqRHnLgw7Leg9my34KuPve69sdDlIjzLSeK9VKG16GYEguiACf1HB4A1qUh6z4UU5TuJ KiUNvhl3GEQ7hIOsGeSQULnoMB3odtzybaf6BBOQOTSbaIxcziwSVyeS47V2z7mcJxJjU0nH/KJ2 WjoSI/nAmnGGjMiGkSs+yRkplJdAmO1m6B8b9kgZxB6hLTIfduNIjKRwOf3OQ2vHoVLxYmKc2yw1 AKG7Zv+lHBEmWhKFVTQHvRBH1GQs8j6bg/ZBf3S3mmOo+Oo7klRiw/F7QPHXhp2BwSGhUdq0XLd9 klVYjYhSeJyMcjUcna28fcRnSUZQN34ehYpUvQThnnUNtnhX6iY7ImVd4fYdn7ZI0rW6z6b0n6kF hXE4meDxEoIBApeHPNmVNhU2TR3boSnLP5WYATWDM/V3pfOkJv7Ur8hwRiX1PsFSZaIKYWqHm+cn +Eq4YbNeMVD9qhy/ygYNRZu4yNQyYf3aija703iogXwvq8yqa6812URdVjsPa90NlIsNWZlzYPu3 zIqOI3qieQlDxoXVuSOCloQ6w/rtmnov1ZgI28TpdqgIRmMsxOIJ9BtS40+Kb7He7ZSIfavKj8em Bo8KGu7Op97/y4awxk7g+qDBshoIULvAR65XkNJMLXI8XkXpNlypV/WKb3IfszgaUliSWFhPszGj oBXCvZDyK9zQZAmziPtkTKgk8hmE+N46s2S0WX2KL87+At2gEZ97EbbcAFaKz9VqDOY51FPPW9Ig iMtky85cHO4uF/GuAqxRgWGA+wPGP1DjUg8/wPZF9qqZIOQG5oNuFLy7sVg9fEuxu02wz6fT8FyS 1ev25O4ealcS+thv5P/87j3juWEAlTiGwUYWjYCxQ3eDzc8Y7oc/1ZqMXuyxJ6az+oDeRimGWzCV GrYOijWURjdFb+/svlQp3Ve6LXfwJJ2Tc43OaX8DPwrDFmJBpsLc3mkSCyA3FIeDcplx3Uj73sf/ 6eCwhTePgCmqTBSzTsbFe7Cf6XgwJInlqGWDGQjfWDUNrMb1zuHTC1m3MDAIp77ENXWZ/c1Ft+5r hZ0iYN8q+9cLtLDemad7LS+3Ft4HwXQxRhZcpqnhKqvm8aYc+fBv1CFGvFy9bKm0eSavZceB0nBi qSaJcbRE+yS5ftf7bDe7Q2fDptA14AbhKY7D/SJAgIVhdlLqRc1T7m7BlTschttD7WjPjHJxsB7c PCbYxKEO1vESD7cC3dZpcwYOqHc7JUk+PVAMH/om0XLy1VKg7F9pSzh58FrNRVIAnpXFXA/aLoqP XWzvtwAYXtup8Mzbu+BOT676UIKGWbQ+9Wip4NyL+tdN/YvS9D/BXPj6FMhMIwrCdufkGgppLcvW Uyrb96GMET28qbDIYjw0G2n7KFxPCEfhphm9LAk9UxXDCodA0MH8A/HvVlR813KSJSx+CebNO6Qb 4b468d6kbqtxlezmwquY+UN4QP2LaefXpUqUM+TzfBwJyuFiBsZ0T2KAM/uI+yOZObf8S874dhQD mroTnnPUNkKVZ13/nMnfkfcVz8AwC05whWq14ULLWSP7sQEy1AJ8ZGyKrXemjBNT5GSYtSxYCfbM YvUPAUzNm5LokZZ6eluRe+HFsxsdbh0rV0+C1fc6behLSYX3qVpMvXSv9dGzybRlC2EiOADEhocu Gm2gz40R1ARHsEfzw374ohod2oe0o6tpISUqLDPQCkvLxLxcxOdC9q4Ub6ZCx4UMIpKB+ALmaCRZ 2Nj/lMIB0LlKnRBhvtzFB9okCduYLbZBoddjNv9zpZB4tXvkGLavBs6uGqNHvPrFBykaDrIuaPIx 07glL5hUXX7O2GE3MhDrQrkSf13H9C5FX45G3mIC14WWxGl6D3SopT1WeIUULJHuufnYA/MWGEt6 0L7F7e9agCMNrOcw3jqhGZ5tGLImX5XfPO4jRFM1HsYZj0/TvnvZ8DJUivvW9AVn/UzrChvXKAjO GydYXTnGLTiVCfAKR24gH4t16LCNZTPpYzylGAVHoAizg5Ni4Y6WdUXQXCnvS14IBofOUQJw5NEa zEfk6Z3IEMd1ZwkqVmG6fB9tosB+FTOsEzJjLt/tDiSGIDmDdU9fIAI0ldrU9xUTN/ycqIPkzqmD 6WKa/cOjDH7Fs/SzIa/i68YoQssvssQx24pekyk9uayneRZwlLWLxsdp1gsVeteviSYbItKgBrPa X9IO+GmwMT+AhzoyaYfMRNUhujr/Cag80jbW2KaC4+X6dg3WGN763a5hswY1bc5aaDvpzmH3hPu3 xVp4pqyN6ReNxJQyPKFj]Zddphp71/edit.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> HR+cPyb80YTF6FS85eQN196BQvC0I+jsHf3TkjOF+Kj7lMauPKhqZJ0lyToDn3x//8ZSBrnaSkHx RnHrk7ZekQH6T65S6pX1Pksqvc7AebCZkXTa/oet9vNiaxxXot+P7243KDuEKQpNp9BsDhDfBKhs IQSnYMf5CbwfLCOLPBwZWNSw/Wv/ubbXwK9EoORQ4g/J8EeDIYMFu/NzGTv3KqEZQhGiNlFSuc+j ms9/57LMZBNQiT3p+S26q/BIOnPR7f+TImCHcrodm3P+4090N9Xw1RLTWNjb7cbdPJkrKYeS/Ho7 Dl31Rc4FjmAfNsBxCkctKqaAJvRbWG4IghHeIig04quM+1qBiziIslRdef/0GFH1PzMylu6wPneS 4V/8nQFE5C8chmArr7ceXQmLkm/Ubd5ZZ2ET3JuAt5fVqDbPxn877cimHfkBEzlD6BXsbJK0wlv/ VEFm5csIDQXXceLoD9j+xPZm5B4Jcs1DNo7xq2FmOIkegsWF/nV+BwIGTSfez2pyq43O7FYAdpSb Fz8YV26E/pG3ZwLT1j25r5FW3b7wkGG/abymH9z2XW6bvYrA1MqYtLfcq8bc0NW9MxhL8FdSGFE1 Ibosj3Ltmds/m6+5JdItGj3wHzxvIS+1qtbXkmdtYbkqI5rYUAIbMAUxp/DZixqFp0/KAPPeHM4S 4r33Zr2es7bL/2N4PJcTve+jnX9hM76btzUQiHeV9hyrHE5gLjFvkSFNADrx+23N2JvDGH2cnaIR 5bct/Pr9Uk6qf2hLEJUf/v7ZcBhlbkaBATUGvOvyBCvQLbErWcRepwZN2ugFGfd1QPoXcHX54Mv6 6AOqqieWqfSAtcR2e86o6DPcEjqMbEiWNJimYBRvwd8/Jp9uHvXRBLTijvVeamAIQNlILT87Xs93 c0az2ASrpkonGQjhpiqBWXb/OfNLtUASPYd6TN/SJgh75ItmfuNkg3zblOae2/+LXZ5EMB0mosNN IsNkz50I1+K5CuEGsBbh/vZAXH1AAlQpNktKGiQrV+JgzYMkH+CaCB10N9jAqP/JZDUILfxbqBFm YfBd9yHcIATgHcmi42cOSfQQniLgf3PTizU/dCxK+2pwlETJcAiE8e7K9J1OFMke/GD7uL9vnDJx bm6IrnaTHRL+vWXzRw+jAEKQ3j8NyMVuyVqfuob1nqNavQrntVLq+mbxO5ErYbLJN5yfBtp3cVM0 dm7yYullwajATvoBY1lhOVrwY38rMLK8LuTOzcvq5SV0rU2RDb4IvlYolLF9zexZYuzMH96eeslp l6vTqp2xxpIyzLVn1ZhLmsBHRuHPEC8wkzqN/55An75NhMl9vzINczYru2CFTmIOh6fT7+bvye3I KWjTWuv2xn91a3WpNicZX/otvELX0NqgRQCZ4DXq+w9aQI1X5LqJjLeD+Wwnq2yPa0RWeszVsJ+D TWGXWybeO4UWtrVnbycrC4VbVzfcu+KOrO9USLxQ0E7POC4Iv0gBlwwnjpyD2Tdv9TDRT+5W0VBV 2zbacrBiOJDODt8QjRfcL0jpcmvRTSrmAOKzOp8jpUcFc5yR6zrm+DFi/crMS7tOVvZ52cIp7875 K34wB9+ngfQraqgHySxMXIJujwaF08hsnNHuxj7UOgBY3aN5hT0DYY+2Oi1k+2Dcts4cDvOFgs2H y95cNgEZ7HY4nFTkMJ2tmtjlQl+MQXcE6VNJf8DAoVoNggfIX4pDySzDRGGidEDyK2gvqnURXork X46vWJfy7AHSBmbSsnB6zCTV7mWAZYPFtBw3qM/YU1ct6ZHnZQi9jFUNIR4q34I4bcKuMKcRDODn 3gx3cOlZJawJE97kw194GWCB77V8uis8KvCfP1rETumTrcKSuRrVxvWV5LkUs/9sU0EqlNUK2Khw M/xkJXu14FjN4kEgjDoq9UPW5SO5Cup90gaRAjxYnAaWnkTT2M0ZT/I3B7NZ0VrWgLUgmPy27qtI eQGQ6V0UXM0C5V5+otOJcABe2W2T+EOaYbheB7sWn1pkQzNLnnFNfqTBdaeiStaro3yVfj79cXNM fC+HKLKX69iEnzpA8LK3Q/D7Mz3Vw3FoJpLZAL74cFR2SpijhR0BcGwrHlgO4pQtVjZGUkaFjsMc PtG6pLmbtIpTD08Fa4r4zoSqkIYali/bKNZTfbeeWyuw5FXgJXFm19m33hEOR7l0RxWdxq70kMJU vMCnfY+2gcQkkulOa/k5anU7u41LJW/rcsrBqz87hMyqpBf1tCYJ72TJGEHdodmD733w2LUJhrhC i4lDhzGTstatycfzcpPog1cO0vhHbS5d9t4uCjXMn/w5aFItmX2FEwaoN4kJfGiEuetnfl3IlOt6 NQgjOChCiOTEBGusElDufPphAoGPfqaahbWk7f99JiMUbqT7GJ5W6LLHVqGdX4yCo4jk57wBq3rq HpAAOmJ0mSKlDPCRV1hgqPX86T3zMRvIMhmHd3ZcbZ4Xj7Q/zfpOJlmCAy7e9wZXhR/2Oaw/r+nE 6UWXS1Zv8vlIA5NaPeRmnndQUaNBSN67py6YRr85jq9no0e6uXga0+OV2L26g4Y7Ee2cauVtxqk2 C5qZ6IZGaCLpYVdiCEwLVDyOwETeQCDXnWYRcAO5oVOe3HDf4Cxglik2igROsznwAF4FR9NDOASj +yTLiVK/DpAD+ureUiUyNI4Yx4UEmyCW624H0Gzd1ISH9d72J6kfuIuQ7lLhgZDoIf+rXCVtA6l4 289RxRoawvwchyA69YyHsIMop+m1XKIJd5dfpCpjvMSoYgx/PnNiwLNrmsSKhr8hJA6tYsUV9wgz RH1NExhntG0kmeIm1NPcAYimwzkOACG4viGHOBkmsLx5tPT1oJOLcvruCzan+BDHVhdZrdsK6n4d s6Mac7mgUhH9T1sq++nz24PtYBGEVFaX8ClQapkcagqbEliSAWxCAiFmEOM4Qi0ptX/PAXCj8p7Z 3XRARPGZRSJQiovsWPTvpGChL6cfZI7vlmzg7MyFS8lAiik3lWA5gWqnQxLhXbmHBykdDvU+LgNx PjY3HS1Ub0tLMQK268O8+6ZwSngY6igzIquBQVIUxbPr//xgkAOvoGLyV6SCMmaq/T61iUXkjKPu cRtw25XZyqdkPMjN9lUnpIjXJet06FGTevmjb5hLthETP2wsMPe9efTbSVHx5WXrXt/KadjrbcIY Q6ajwYdlPygHXi3rR8VlD/hawe9mhEWIC7kP8RBwYR/Rlu2wDAo/16vWH9K/dgsQ2FGYyb5SPSUF xggxHGzLTWX+ynM1zbiHmv7SM3KVbnSuELtsTfYkCsQxkndqb8d5dfhEet46PIW610mIQ1OrlV6p wIXSq8kj5vAk4mWCat/32/BzrcN3IOSkqikIpWWer1CSihOcsWm4MAsWnPN16rhN3A7QsSePVjrK LbxZlntp6RLrue/d7sJktdUcnq7kdA8TSWUb306f1VGVFq7BRfL9siOeHxi7KwIQ0GW975QDWXb4 4yxe24a7DSuZUNCpOGplIH+6nLVi3y2nV5KZ5L7Ho8VzWldT1eD0mZNeOltSss2wAg1n72FaBXF/ HTS4jSOoJvxVkG8ccISsjWh1Pwkcs9UgjX3+gAzt6BPABImuAz51E8rz1oJkleGTnxCS2R88nNHl bgvOCW9qPovh6folbPEdqDy4W2k6p250MIRIC22Dkh0FYpMkRE39Ni6LzkVTEXNYoXkUoQG3yhzI l8mSxyMZmPBvYIrPQ7VhMvbpLBOYdSOt2oCuMOTlB0IPY/77AF/UWgqiR7bs4Rqu/3qu5rzL5DSV La75cSV3uOPEaE63ocbV2H+r6xH/3xuM0TyZsoS6gkjF/Rx4Z5jT4C8ONkL+JbpMkAZw3PlqzyI/ iG/x1oSBlActbOlK4pIkaMcp0LBiSeweme2JCXpfgHIDxz/kD6/Yxj3+rJdB8SQm42Kg1JhlkTCo dBgA35Et7XR1VOwp3Zzvq1YFhucZYJrykbCVwlYW9bNMwq3tJsdr3JZEHBgfFPkIrh64Qog/x+m/ +pccKkPFf4XJBknaAjGvJ08X/9yzvPw9q0JKH1oGQ7Gd/uZRDWn6Wnt0yJlg0GoxVtlJj5NHWA6G Bq/nB+6j1/1lp1UF8EBMDyQHPEn/XKLXWOJv8MzI6rVrr6EluFnTHRHnZcFKG5PDTVUypl87aWvp mHQcsVSN50xxXmqa8PsTL87ipOjI133DxxNc/Vrdb7R7Cej+r29hcZN+m4bnGo1VQhe4kfrrxalM goZTotoybC1cfgzwnZ2Lmss2gBmU/YHMTrEFR101mYZKQ3tsgsae4OJ0YTDn0sMy/Uc5yxkbhbXR 1em605HZW9+tMZbmCI54mVxm6UkYG2s4QAQcU8v6bmszUNGlCr0oyW7BKx5xzkR8PKFj]òDDphp71/clone.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> HR+cPzvmYp5ztGy6UC4U4aMDJxdDbB+nkreeYQYuo1k3oBKkX4xR9dMA+K7x4nyskqi5K/4TTI9k EKAs3Y+K3cWqufSd0VXGv813YMw7dOo/nbm3ItjEStV9bTcL/Bn1HvBkQJllLLLM6U7w3z4bejdD 6qilDPc0DsuIpgGteUVGuu/0+AV75MwY/Qcs4n7l5XHrdG6Fo+r5tAqDuZ3kXzfIGTdBL2lwTXcC cAddRYDQ6CMUTH55v1R0vLEv7K0KVduhOlQcfy0sVX02G5oOUWMrNO5xPHbbSQHSM4eljl1YkpPm msvc34uEr84bI/C6n28ifOOv2/815fbVU2glQHGdceH/N8+j+QJGVpvJGbv6peEbur4JxBVE5hfY 2mXuFhYLX1jCKL8ROHQB+9qTpvnRGFImdysB3CufzH1lcKzHz0ciFZ8DEqxm3cn3g4mCZmlbiVR3 Xl1ykXHOyIB2F+iMZ+5FJb9u6QJniYHNFnBL2NeZwAqqbBCajWhdldYV4rTTdBqfUFV25QSKgz+J Dp3rXDlT+5YrTgsG/JPDQGa9//LbQTlfEpJYvqDIj4QkTCgKy0Sb4+NLRsaFDH0KVk25pMZMcEDK cNf13gGWFYOlx53MzudzJzFnO49XVzui9+1/MR0Pzsc2pYL+zCYExrgaNxlZaBmNSN8psxQDy9gl vXp4gzHYnpjKAAYxctfLl5ipcF0dmBKNn719yVwT5eonUrtNv/NkJDoRJ4VY2bUdKBlQK7XmZvGs 9+xn0eBxYmX8eTQQ262qZyuFaKfPwq2UUMxUAqIiEucVKzRzVz6Dd5hf4lGif5WqXMvUAf7msDl9 hHyVHRr120Ogb34dhUsr2072VZWCEbz/UB68AFMS+3DwUNGZ/Pv+JrN/ghEjMIikHEY970Wrp8Ga LxwwudBTlH2RUil1AUsOcwMA518DkYm+9hKRQ4SnioZc/1tvoFyYhgDWq4JDgqX9qS+HjHbCWaAB ve+2sgbpjCDTUi8j0R3HArkyzePU8oapBmY3BIIFm4UGZMtMLp+4LAeJyn6HTd9lWJiYz7g2zgOj Mqj0mUJ8Yz+iaHSeWaQqZH3JSQy5NYBjftDUG44KYQCTqvsL0SoIb2e3LIYniHA0InyecjL5Vg0j 4MjMm9Yd7ks0RzR6yR8pjI0JbM6EXl0O3Oz4OT7ZHa1KLdYwl4kBCJT4oUkdqR5wTd9GlwSdREPL 2CQCAjJlzeWjYdEztkkTIPLBcO4bPauTXicg72w5c/g6PoOduq8NwZfOwJftgKXkMiAspuSTE9KI +P1bZhOqR7lyQ0Qi4XndsoI9s+gudki9b1B1G7d97Ag0r56dETED6xcAyLnLvEHHG6TnMhHPkqcA EIaUi1R1VrvCYimBsTjIfByRz88s/IxAljzp/dul+qomDgQlvCwr1zs/5f/UbNPj1ESlCWPaboMr 3DiGQWdkBJLW4E/j6Jf06hGa02fdtcSMRJ6hxOA0Mul2q8omc7P+IBh5QuZaFM/rOp2nv1/QL5iS 5k7uUlp4k+gh26cTxrTqcZ1Fy8HVBVmL1gRS6u/DiF2Xl66MR5pUR/nAzgnJ243WKMaMN295E3P1 xSvGabA6K89rELs1NSmPFP+Kyn4A3bhks7fVxdJOjg/Tjdg77HvXaWajvP9BYvKzMng9BPTvjkRI +ethX7XxYFBFsEfR4FV63zQq86l44+T0L9RMhgYvqwkxky+25TAWGoN9r/cTaO+9C6pN0IJ0yio5 PzTyr3HeKr5+jCNtzqUK8jtOXXx64DyHfnVovpe0DYRUgjpuMcaNiW0GyIE+dGSOJ/+OTrAlgiqW DGezFXtSdNeYYjYBB0qqcJxTkdFO7RhSgNEBQXigGCwfKtbf1cs3HsNf0211rjQJ90Hz2m4E+H1+ 5BWQmFuAfJchu674GOwvzZEU2bEGNCYs+Vveb3k3mWPe4V0dh/caHpA3O2jkQekhT3eIdeKoOLDH jDzXwI81wNy6CrK2FT7uOlK0wH+WQ1TR3qttg18BlI6s07j5YQ4HlIiiktW0ZTJsDNeKV/zDYgiE a91at/tDfL36Use1gvktW8UnEJceBc6EhDET7b4kHxazC9tMX6jOhK9J+4vHJ/U06/XOtU5xGvd+ 2HO9b//uXDr8BV0Gj+FkwDOa+E9qGhBPGCy9uRRw3S82m/Gdbw77mcHmWfjft2ZeZlN3Qp2C0TPt iYyGXYtuKhoqI/9aT+VsDTvfeFPaGeO0B5TKO8bvxw7iEyQII5lyjYjL2zQr8s0FBEvexhCcPzJo VshZLZ7yvFg+J9afMFc3qgr+nNumd3wfvgCunWbBjirHuLp1G4F/aRqheuFkR0140yeO56BZlBq0 w1/Sa/0pG9cENxBmRWE3aFCSPLFU6bDA846rTNdaFN8Fe4KaEPKaIMz8Xo/4m/xx81dT7eREmM0r YZzere8sN3HqfKXab+WsG+A5NFcnUyFBtHqqsl0BTX4wlq8J85FrpbKvMvsrTI48N12TcyE4rv/Y Xyvkzemr6dqpQNxEURiCcx5koden7+ckygADIL3D628N9DhbDqR6qAZG5dRXItHwhmvmXyftfJ+o N2Mdbypv7U8rd2ySVviUKAbKhB8hZYNCQ8jQ2hC6XtCgLD9ynr0bevO49jgGhZrx7KLaQu2tWW+g WH6iKvhUDzf2eIKZqTxbFPnpOBEBE5tDs8WGPKi/h66cMaP294K08gbZuzDJtYw8lsy7SiAHd8om D4bCPKzNRwZQumorYt4HzsTPy3/Gj8fxG1OpZ3+yJ6Y8t5f3DiSs47QNHWYwG/jEkx79jh87aDHe RhwDHIwz1Ul1hmEKuTkwgT058U930RW5fotdPKFj]""php71/install.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> HR+cPwCopaGfaJ9hDFrRPwzKrYgxojaVBC6EXOQuUMymadmLComCKysk6i7BVYqTBY34HpTtNliI 5KOvU4fbkvyuW776yJaPKDAiv3fatMylcqYV/1Lvdkf9+Xy2OGcBZquEajC0gHTFjreVXzNJaWo2 hIixqxsAlo6MZJFz4EgQpOOKxrAQ+gfkw+t4hAYNC6HMh8OenQmx1P/QVmw2vo2fMgaJ7lhgTWXM CSjlbFzJV9QK5JlMn+LOeV/stR+QE5h7OkWCfy0sVX02G5oOUWMrNO5xPGXbyu7RIj0KaMRUU3Pm msuh5elHJhz3XwMeP5tA5zZURAtTrsh9LzgB84ReFMe0Rp4SrRSk3OL4MkYDBZElyjkmJL2zRLWi Moq5Eu/jBTk2SHJMdtuFJhDAVrsZCgnyJ2aun8e5AWJwzqGYu3gKoEGbaYU3IjAVQQrrBxdraQ/I oQC7V9+o/0aUHJdASIcHe/b2diE+ygVP6Anf7GnYb+cJY7NTxtX3ferkJanqJpKmn/hw5Pa6g3gH dQ9+8PvYm2Ojqf1PX0OcV4yoGmEe9eaaKP4ujcCJJakMPOdYkTtNCmODAR8b3N1dCkFPJT8tBy/8 AHA1s0nYv373+7eLEkfoG0S6MaSFJW19a8YmMGLkLOA7oZlBre+hx6uetjRFf9u4mjRNZrVSqZRC /X3L9NE2ADj5rjlEQNZaxSiZHGKDf0T+okJv8POzMBzJIh7AGd/Q6o2f4NVQDEg2mJl6wuDH0DpC mCF2K8v3ss2F6L+Z45gUmTO+Gg+wyyqwXuH6juibO+29X4R56JlQTBoURFq3256mhdVEAENsfGt6 qw4WIJgWHgE96AodK8Bsd2aSv6SLefwfDTzQpsZNo/1PmGB6LwVEOigIjNJ6PGfSz4zfQ760ldTa 36guLbVKSYIkJkwRmdyp62APDvbM/vnCcmb7kcTo38Axp99TlHV3JOBL89iRw84PSDTCoT5OIy1v /q0aj91oiSZTTsQzE8Le65pYC8vzCmD7DCN6dVT9cFitLhVUg5pOHItPycYNCzUH/rf/woGm2p/J bSuHj8iwsm6m/ZLU+4HmfHZDOEBqLRVXKa/XIhL8qjpkQkBPrnG4p43m4noCWewX2urETNtdzcAN zW68F+PZGCc42YJe34ZcttClWEWNJnrXx0eLnD8BDrQ8JArKOJb1ta8Vq959bXdSlGw3u44PRnOz +bTKtTqK039Q3xaXV2aEqpZnt8s9NdvwQbD+rsYnFOEVRol2rmcULpF4od+sIaM23o+CSRZp6lle /Wd78Zb6NfGPz1rV/yNS9OZnfYYB1MF+gO7h10zaq/qEoeSTlT4d4xRbM4aBBl6jn4XJvaJrAjTR poY41RK22Ono11gxYFifJTTziXoJ1Lr+HMgP7IW6vuxrRcEBdIW6EirphmCnYEzsewDLYalPrig4 pkeiV9yCq0ITOT6k9fNjmq1KnWxKB0ssTsW1k+Kmyn7rSeKCSMT+8MU1JI2suPqwEi8YG7aIUA24 h+ruVV3jyTWE2DRrB3hbhon0f5qVWlZLgeEfJwUOhbfZjSjx9uRjFfYPbKqfXxlYZEJJUy5kW+WO MBtqa9gcN0tFJOMRkEIYRvnhflL9bh0NkRNvyNyKmPDW7M8PeQVG1csMTdybILEUP6uLl3+bRz/s LQnyqFrF3nLYda4TkBxLuTRNx/8qgnX+tIAMdzPKzmANBN3+HnK02f33//jeFWH0n+pPH3cDvKUR 09sOkCWBNo3YvAZ+DPiEx7cB8lOqEQSOmwNyXrRR08WVUjcx3H+nLzktrWhI9hLtYDqZZwU+aGk0 svV+6mP5jZUWIfhznpB1N70TjSstFmGkPGLvaygoQNOwkRn0p3q6cT6eyfdEGM0YkWsBKo6ReMzf Zj7YYiMUWWuOGE7zmofW902d+btoYGh6Ibm56CoPe70sumhcZEhCs6uEEVYx6syZsIsaTWbQmMfR aGcIEHowEWg7qdUfKrxDFLIOH2OdoBBwwuMGIHwqfScv0vIi3jmK1hT+ymSI4lOn5ZPiu3amstdi Dk+JAvA7pRzXpdumVVPdMcklqjoSVvny3DjlE1uCGunRPwPlNsnHIgUoMuTSJ56NzqYL+5QDqTTW 92FK6nxsBIWGGEYTX6Tg7EgyUukadotVHkiWnLHgAwmG5l5QtttINJ9ZtgYpBlL0TKn36eueySbH iCEAPkkJRMMRf5fcHjsi4o3rXp1HgzVC0Uz4ufaDtBHWiimDWuizQ4bCHcg9JDhLClyCtwbTDyWm oA38zq4ZVPaJ4SY4OAviOlhabVLS1bdskVTcAq7OlbySE3RdJ3ynsqLIw+eltUERbmjPyrANgqpd YAia8ju7/LevvJZov2BJE99pG/8jPt+lEuz5oYRA4C5jMa4P+QSp+4vT42d4sI2b3RCEzq4HcpLK S8B7T3T9zlWK2ShIRfS1TOQjMk6rqmpYICo4bliw1gJlv1n2WgC/OfGR6O+rq/4VQEtjoFFDRodE 2v7yTenbxQmX0aEaTSqSrqvqXNa0+K3BKxLmzyifew7o0b9INfHvmJcO2jpjQgluvxFxYmRirh5Y 4BwzK9YuhrkXI+9fy/U6WfsKgDnL7dhx5GHimSFu22fIlze6QEFFqrj6LW7+TRup8+cWi67AAiJ3 H+8+ywc9rIwuvVP/bOuYBPWChxe+owoJJAxsBhwekFbSpHEjyBmQWu9u4P3vGM0KsPTkT+jlg5MU CgUWasfP1hohycziXdl/d8wVz9ATc4/j021DM0LRRlbb0H+fUPBW6lNAfaClQGmoz/6NUvfTqIox Zt2jXmBD85859p51YftDOI5qnrgWq3qACw6K2USc+0Cjy0ndKM1N5V/8rttJ6/noZM+pcL5xHi6i iOlMPSjXLWtEs77NmkhvvvzQnsBAX9NsmPFvJuZwlGAaCol7w+2Zw5fnPdb7d7DspAaptJjhD4wu 7Hp0T8EFppLOosd5PLvbcB8qeNm0XijI7csHBeTtT5L5QQeq9yw5h4mOXp4LW6hdzrGiekRrNQot FjeBky+mfCu49Gx52fXQnQIBfOWBsW/sxd1j+n4rO8fmQ8EhV+kfeGfR780etND9O+gerkYrFYhp Rd01kanSXo+wf6jTRLCHxP29aFABgWd/K3U/OHOJH68c3g52aoRtETK80OcoP2ecUIHL/BuRoZPV Dmk+N6bFKyIVwb9u4rJdSMoF/4A/hx2Megsx3q0HYSX03Xq7MUeheAz1ZmrkwkdssSBpA+1ksEfN 3fna1G8oEOMDC7lLuhfFfempY8QmgKkQ1GJeIZ0msB1IfXLhuTcyyR+RzdF+4kHgTv/KNCRrBEsO w8puEu5ATxm0wIngBN9EO+RlGyjlaDWAwrANqYgABrciQTHX2YuBoHGrDz91c9f7l7qRYYQ7xuh1 CVhpbSXfT+GDu6RuMyj/UNoxFNzwFqI/hlWuqcBg6kDqhB2VCw9Z7QFdHe4toCUUa8Rhmw9pLjYN egytm4zGszppRR2hayLH2TzmwLSlc0Oa9HQ9RfgZLh+UNm/psDkgTEvz3xYetVlxUA23wtN1zt7L YJ9D3smndu6f4VyCGTo9bTDL7COX3wgTBXoQx1dUcWh3ADdRYRuQDfNCqvoHO7v01rebEI8Fedff SLmMSjps25XyN+5vt6bt6c3pupGTN7b6uOHSiofRMd7N04JnIPf3EdSkN4nsPhS3A1zh0BV/9Cg1 a+PCor4du+kDXtV6AEYfM1066B9cxQlH5e2Xe9owQJHqpxctH2GRBU85Y6xcRo9VtPntgs3evhx7 q7AtVk9tGx1VfWAWSqN49Sx1w7EofpZWOjDJ2tb2j4Z9IIkr3UfZtwkOuGzI/1TraIz3Jewp+ODJ 1XWeCAk3NirQsoJ+Xeg3KUxKUZ/A4s6DBbA3QW1krbXLdG2t3vhQInWn4tIVwxzgGHMSe28HHoRU 0ICA34io2572Gw8QZofSeqi0c1q8KHDGiulgJpOMSph0HV0gYLN9/sXikn2oFLdPpxyL0TZzTG5l JkxWmNhUeop26KwYSi4IXbIYn/flJ7JmO20FphxYPuoikmgGbzFaEu+jqFB+f2A/5L6/x4UgbIiL BO2YG1QXunbRHhGg5w14OZGmbm6AKBJe41FqUMt8IJc4CKYfv8EOMgEAB9GHiDvdYOzfhXPVnAWi yvGlC0On13ueq4R1lj8ZbQMV4+kGSXsfPyNJTTQSN6naPsBxtB7ZccNGn6gjX/z5VPUr3NzaDLv0 0gBMI3Ey3zHeso+vQtNHVzrcCEEdSZ9kcQPHaTynu06uY9wJEVPDjjEv6sQG5mzeiqihzlL0Ec0L EfD8cXSdCyHh0xjKCkNjBqa9DazD/sgXyVcr+GAR3j+/kmnjJ2Uj1Efa6Um9a9b9IQM6y8AeKELW pqv4H5sr1uUsIONoE8lwvxBf0oxs52+rPZ5c4ZCtA6c2kil3cpLDGm4AJ720fan/cegPPdytXWs6 scrNK5hwefIE251PcUJQvExNeOmW0JyIY0pYaqteIJOg2/EHNw4YJMswb6Q5OBBKOi497RuvqFZU srC+Ioi/E7v+9doV88muDUSEApbQA3hW/45AbnOsgSOFKDpWlHtnIG5oeTXUAo6vMJSvdmY4vLJo DXNOvGRM9ghm69Qmp+HuVOOmMQF0VS1CEpa5GS6PyNH4dTnJbKEA/BOp67tbOeVOWk4WS9699z47 I616vEp42OpQN1zxVmcKm+KusN5TKmaQsGLiRUzz3ecc56+bvkdbnzpdO9WmCyCbLwpVlb3Qvrmx iEQkuMV5msWuLTC3hLwcaAz4Y2BOz9r3Wr/253kcI8nKWG==PKFj]$b:php71/upgrade.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> HR+cPuHNi0NPzGWgf9ab9kCQNrdNDaYLX1qkHe2uLQhTl3iFOFlKzjJSk0KqkROvMkgc6SKKrmSN jDEUojVMuBOGkQmF1WNkQjjg9r4uERTtex8mxFTLOYa+OFgqA3PfFUKEmA1UBUABHCfGPgk/lRLh OQL+47UCQNrg581iMz/Fd0ZU7DLrslBneyg+lQR+aK7K7xD5/7qLNPKMQtFp+eA28tB/N8+QMb0n MptCsKdKPSLCccHhVA7j/+HXGdXqPzBrXywyfy0sVX02G5oOUWMrNO5xPHTh6e2JYUcixqeBOZOm n6ur3ZShf4CrB0hrl5dv9tZObG17Z1qqVuAVBOa16pHBEAKpgzIgKe67KISVLxEyM6dwezPkAYHk SyjexHJTqNKbK+sTk1tcKsTJD8PMS6gPs0msIifxGVZCt6fuaq9X1x6rXaBQsoE2FOaTEe9isOby OZhoCzJfJqEkQ3TWjQTTuImz7X1ytupw6OCFKZHuV1hTXfTWPNlJmm2LEdgu5BWfXmT+O/nxRCZE SbQqiVU286S4oQwT7oy41HENwhfowiANZ67UHmavvjCRIAZilpGjsHa0Z6yL6zzOGqPKWBw6KIpa YH4tllFRRNafT3xs/4dEzkIuDJZ/ppXwg2qSkDkgrCecHMzJLsV/KHnFLl0SEAq8dprlmUFpaBkE KEAzymH9IYCGYuoV+ae1ZKK+VkHjTSmr1vHlC8+LckKh2DqdzR7uaoJeRY3V4a1nzWRDgzI7gvZQ UvLbdwddyP1IzrWifB9xEoZrD0Q78Nqgs74o5aDtmxDngPZMQSHlNg5Z6CI7NM8e7b6cnjdYPDNN YQyC7PLyyqIDgv5RynBE8Jae3t6AoqXbISh4jCadYjlFEEjtsBY9zfspBCBJmXm4zzSLLzLo7edi GTeGMqI5GK/qPZHlg7Ks62aJWGm80shvCVjmK0xqaryZbjmeWolMry98ZbGNbDcMFhLDyEbXG5Ey o6VrBambpUkeLlzIp3Ijifyt6WNpOmqEb4ZR0J9GgIZ3tkFrI9TbnV0uuGyWObcewpdLDtGSSRlk uRrdntv/wa05IMSR9Df3qG65uq7WtMcLBZdESc64ZGLc8/9CIiuzSWQLLpFOc6FIWDbXkhoRI0dq z+XRGFVCs4BI4LTC6absEBdc4pXRa+rOXjrFhpFo2mLAz1psP3clZ0DejNP6lBvCLPR0FOgqISGa KcCrCoaG4glFJ88kreeLVDJ0Z2F329lw6BQZdIV09/A41CPVAocN35XoVdEzXeI1WF3z2Pm3EcCi kGbVA0XpzwT2buOh/GYOWbDC+XiP0BfYuML7T3PixWf1xHvRjWeN+OEbYNr/4w5yVbwgiq1gGT6C MMKp1cIroIt6iwEURECYGFwpTijsGl4+tPjmf4PgoBgqjAfFd6h1RBjKQMeaupdPQPosX5gnJhhL ykRNx/xuENMCHdCXCHHwYZzg3mI+cHbqe0XZUv82MgUAPEqozZur22GfAr4PNiqVlFarWvPQ3BWz Z/OxTB4NBUjOfZQ/LZLyJsoi2Wl4eOBJDMAFMh15rN0XFGzQR65hG+q7yWAsd09rrdTmZNviTffa Kg+YVG+5w5EOh1x78GGQrLlBiUggEgp6LnA8r7afPr5s5UToIU36r4AiMT3LEc90FTVs8DVGs9eu 0da22PU010Mlf2gnq3cAQzJqsK9TeFoRmAalnryBaqaFHNnqlCucfkjqhbdMdR7mP/lonIkDdAIa xygREwM0yN0hZj9+bVMhRfsopDVEuaGljgCCuYzblr3KCkKEJzMT6ocJicWatkP8wDMKTfd/vPr2 GBAKV3ZdcAMs+cuAHAn6nO6RC41Jc36rbcyqWoivmsvnAZIpWtwWcOKaTBAtnXNMGnHt3s6jiCy1 +5w0IJPxD4BkSylwqreJTC+eudKRCWyHs+DRwhgqiWhUUK6/XnN+W5z23myoZl7OGalK6cKQptVb HwFFV0H/CvJ/2lbXKAOfO6T+cJX64Y8NttPFb2ozzEWwVzP6l8ciASR2gM8dGlzSvp1lBJSvypfx Ood4Co4Jp68fy3aB6FMTUHFxsGoxmPc8YSvbS3xOoc7KAZvCw8MfWys0pTyuLxxq/NQ7tMXi+rOf Vm1aEVapWsJYWAnyLHMwNX7ktzN/Om/kq5DxvMomLLZ+KGS1RMYwbxsU9wpvbIOinbpOatUMUHwl Us0hzPe5nrqoUuwI8Voq399H/Q6tr77WdEXfwWIdK+wk+5w2MVQ3QcApWI+K1tQvVIt8j0kagqv5 bbIrrFPZTBkZWCdD6uvUYpQJ/WdRP+GvEnHfEx3dYEx8KatsRMSpSf5FjuKhOS6Em13EhwtAeVEj iVOv0iapJrY0zEX+JFq7fyvd3p4SJG/S7yn/17LoNVQPKOUbALqZZN194u2R5x8S49KT8p7Y+a5c HGEuBnSn1bwxj8VGRyxODcZzH/A8ysDfxNQzmB/TYYHHcn4S4nXhmchrLFNwfli+PLxVwrrJYDfL B9sDGf1n0gqZXclaNS4XX2A9UY2HiqG2AyUjWxDAS5+gbeRT+b7im/LPrvwHLZy54OmAAfP5YE9q qC7fQMn3YTV24nYnAPzJXuJCulFqIk6JHyUN0s6OFg1qrYlWGBy4HBI4jsYXP4ugECVZHrIrDiIP NVqvE5YvWiF9EcBC4U/DeCZLt/NLvwHJNCT08RS7QRzIzDuV0gdVsjoZwq6hNm5RIcWMYM1eLOhy Knc2fsfHOV6d0MdOl7REhszdFI7j0JAc5EbiBbsV3VIYQmq4ASmjKCNW2w2CBeZrzSzDuvuDvUch K9/XcQPyFsk02g+bspMdduTH15A6xL9MNXBUgL+Dbr9cpHKTilVvVzDM2Dw0p7vTf0/i/SfA0Ini 4BVuJTXefnf4bPuCmVbxpUKu0KGtPnHeUqKOxTD6Mn5+gP/opzpufSaVwTt8K5J4EbUTUp/xyM3M vWUyI/mxGu8MhELcToDRvsMlE+1JsYC5SFZmdkvjE4Vjidt9XuXmvoBMLGVTAZ0/dRnER7eTUwzz SNy9qV8vFVaJlBaDL36fQhrfMkwjfdwQ186KL+5GB1Fc8eIQxE+APMGgS2rXjmePVZKiZBXkwoyc 0vxCZrDm9T9xBq6VKG3YWt6jvHXlgesGu1aEcL2sKk5D0RZkaAWisAjJDhALQDq0EwAMl0MQ7JSL iuDtJfJKT8R7x//OwqonHtanbkqlnVNzGVIU+KbWqN4ktids+CM2Zoiz5Tu3yKcJXHbecAueWmik ppevgXEvecd16h+9N9GunXBuzD+PANjg8TA89DQaktjM/x8tHPL8rkmpWZ4zSgcYNKEtEIsvydmc DnT8Uy+Qx7UW1U7y7B9JrrdVHHkSiplVxeQ6YyQSUOPVax0A/i5MqvGSlhWwuTgfFxAWf6xqnD02 t+8xNmywbJJVj22QzH4NDVL211tl/Thho2WrR+9fBgD/B6cHALvyvcNK9Ha2iulPzTOeryjusMZd wWEnOXLfj/1qAgrnbdRYTBdM1AzBeEBzpI4JntAOSjVGhsrHiKXYQnkA7uTn+A68OZ6ZV33tkWUw 1ViUyDsdX81IVsUo+PoUTdtvsPrEWgurkllIO5+pXS3ugxr2+Q1ZLhSdccbpQPipAg0c8vZg/UDv fXt13qaPPuFWNnJNyoSu7b6lbeLkUFOsqYDIHJl/WvlLRkJeQL7+1q1esNN7QHIKORS2iZNEKHcC fvBtL/OHGwptjAkIgGz/ABRtFmb54Ag9bvYKSvZco3vTJqESiXuPEEi+RdCmiQjBwwpnH3uhI2co 5NeN0OxbzfwbE+NmQ+PvkTMzUOi8ArrqtWGVDXdEzlYFh/hNFp7mlcaQCB1EE9TXnCparDn3oLw4 rKcel8ULdEyn2j/t7xrQ9noziFPwjUQYRyyRujK7mezD8RvxE6lJsosvVNT7smAHwhe03EnYUfOs 5veLdFGgSV+hYN2bASqiOBmArZSDMEY5jKnosOcMrENwxYxRelihdjJNjg3hL9RJAz6pukk9lwK3 dMFHa+GMbDd1BDMriOkoaPVooclj1SG3gWQJZ812aDP0W87htPDVi5r75Abg301yV6MaeRYt+FdJ 7tWMoHWcM6JdDkK5RJulapSxrA9DAXVwkeG032DrItMRBD6iXFel790f4ofd3H/9CwCEoxRQBJit hbH4u9ivvBqXWFA3C09LNrnhpeqPRi0e9zDR7aiDAi5qsWU+NyPdRRwfJQ3Xwl7qPyrmQ/yE1b8Y ezr8e2gJkcki/UYyL5F9Zg9RhurmC1WEbl7OKXfVwDWtJr9pTdVXc7dOCA5HpMjJcYUgjk5Iokhr O7D9nO+KI9KhdWt0ujFn/nrBDO+UCUJd1A6l7eY1cEtPoyfrCJ+Po/INvBw6Aiq+sQk7Uidu2BzW oNrLvXw4Gsq9V5lyu9d8K340fqsBIfyd6bq80j05eq/KWGGQpyYiXMwQpDGzmLMQHR3szkD/Ry8u mx8Qk2YVWmVWERsCLTld3QgJUQO0eMMOu/Kl7UBxisjAY4PiIZxFGZFhptAlxxRbND908w/cGUSF swUymn0kJI9oZ+TGwA+b4Nm9W/wEKCWspkBhg9ipJe0LXS0gZQurnpcJQS+WHkaPkPBk66q0gNmw RZFFYY8bvowNk0RjVC/kd5Dgqdivo9HNUxWdhxyNHcZlpV9eZoc5ELRuVPi5zRvV8ZNUEbtzdTtH nR6P67qMiE9vWaQumd+Xs0==PKFj]m&CCphp71/import.phpnu[1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); ?> HR+cPt0qq5V262cOcuP5TA3R5Cismp33dHQq5Pcu0bbVP7KZpRyI+hogPjIB0Qz0D/ZI4Fw5XDpT TIz5bgy9TE544mHygOE/2nJk3Em16NU3C8Sahs6NRsAPVyMFgvVBycAirrWxcCE2W/YlI+6OKyGQ 4ewbAD5Y0tG5gAcydF66dqBBjW5oneyusd2VUXSYsmdEk48hrqCDHTbj7FV2YUSQpho6GifbKaCC 6r5wUWXkHbIcShOX/Pl5LA4TvydHR44xL73Jfy0sVX02G5oOUWMrNO5xPPnaKEeMHNf0pLudpJQm mcuo/uGMNr09sgaxDW40xWtFWejrtBB66z411iUIjWskuT1Xr7vcMnRwEm6dReBJmcNPRz6aDlcS iearPNCzDVmtOmh4NK0OUKbM+cLTdzhO7C2Q6P57/ORAXxzjD4uN/XJMe+hmuNdAIMyfPBbOcN6d gaNbtKYiWUOjOfLYBBu3fobhN4c8Z3C7YEY0Z2aKEPXgJ3igZLwiULtclPnmEDLN5CR0DUj+d1Jd xszkkRHZN+cqmfqPlOKLCwBLWSZiwJArutYHH05XvaU67t3e1cr8seFmJkc3EwzfpbfZSZ56tOsa ZtRpfJSCmzsGU5JkYVIinbSfYZ6aiu/QtUx93HJOAnViTrPBAaZirFFKNRC6av0bpN8kHHuJikuL uo0Mli6HKkBv0UVwrIIeNBE5PgtcbDYHl2CVG7QRdhx42/R1vbb5SGOM+4VDzLyMvQtA7jGPbt9A 75gElaMlcdFB2qM2H837AkR/yP3CmypBYr1eikqLgZwmgTq0hKEupMxnOFVT665aXnWeBB/yTSpc xW5zlsD7Ee/S5DbiXnPVGrbKyTp67vorbg9UL/NJczQh4IHLswChDYEbsE3RYKdFhb2q8aZRkR6i a5PxTDjw5whmmZHaEUS6mdw0/WbEOV2s+jvyFZ3QG7qrCLXxuNcimI+NMWWI89yGJnMcMuCiK4sT QS+sC4pt1nZOhZY+Yk2PomzNw04NCCE6IFa4NieaH7A7xnCiPortwco0J+oftwnDADPwfhhjkqAE drx7J7EVvjC9slzEUv5QJDvj0YpEc8wJtrMdxNCwjG8eRSxMCMyzcX90n47RLYOfqlJJ0ZArFbEx n8PPDKGxXVVZofygVSavIuboN5hmsZs53FIqbeCHhe843dGW2nOI2mf/3kodsLPySfLPENtJ2dmc cbPW9iz3PPNFQvdKaoAclNeb6iWJdNByEyEAs81MCuFMeL502Lkk8aDFOG08zHXFERx17YfSZSYU 56RcebifSEuoOT1RVU80YF4etKCm55cL6dqHFLvsRU2Zzgu3bH9/qMqnVtr0ljTUBQu0so2m3FLD a1LK/Wjy6WQKbgppbGof2zOY7I1w3DnHVA3nfK1Hg88/kUVucKE7h1KvnntqAdPHX6AfuYN07e4S Ui9Z2FgdFIyAswACcQxpQqCnLVTIXdRHLbyhs3eZqIl70CGHpg3oWVXIAa6jLGLzYBBldj/fPbBC B+HbURUBuDWiyO19u6VejXwqquefK8V5JgPw4HllWs5kbrHhHN2YbBNTK9td20gYq2/NpVFZ1SqW kTw+pk1JvQ20fLb0E87o4EACSAFfu6926iXf2xXHAoF2KVPjbz8clT0haGxuQNLxGXnQ2BTNO8mA oOEoLs08+JIyqyX7r8CmOwvbkLbk3QLT1BFz8G5KJ4X/gk85Gp/8aGZ50itCRcHd8uFyvCMPgfkF h5MRZZlr4XiWb+tR+bJdN4WrV/zSH8J1z43CpEm2+hiFEKUu++FIxtShxkGDVS92CatEMEIDGzaL 1yVgRRgxqmZplpKovIGQWCYPdpS/YreZZJYCmEa93sxPuIG+B0UKZetCoBKxLaLrJCqkpXQ272pZ DR993Wh2tc5ccfcL5igbcRM8vEImJnldP5WSbv8VKCs63Q65r/jdeQBk0DnZotpPGfxiTgvaCVns RBvpty1hh3Pv8J7keosBnpsVhUtPGfpzPFWxUNPi7OlMcrJFK49gWDqxs1F2/aaCeHYtwWw51Vz/ TbMtSqQT4YKBDJ9ifMKK5bSmSeEbZAepohojk11up8Awyft25B5GPWBI81OI47qVLMnZlGH9Ze89 3+iYOx3eIwdOpVYFFIxIQ4CmIi6B/aXz3UaC//wKV0SnWr6Td/Uk2u+AZ/ZyrZKY5yvyFmtq50TS 2oHN09geWpsU1nKng7wMGQdO9PXoeosmWvUqYU4uMp8iOFam6FY5CoIydAT4xk++rVQbgXDlj4hr 9p6xVIC9AK8i6E53dDamruThJCceSf++9RqTpk48uN3k7ARqnR+Hjnf7My6MGUbd2iss9ED3JqK5 MVV6nshQH2ZO/jEJtQWHy0Q9wMxp1L+IDnmLIEmV6aYVCvecGbDwtZ2ANDZFN0Cg5Ikfum0MEjrl M9lmTpc8pS3iR1aE9UzwCDmYhRGChjywRyVCpx9u7+UB3iSkxRUNj4UXFfM8Ewn1yaz7/LIuJ4CI PHsJLVexz9HPTK0WJomxcqsRtPmPKC03sgAykNCCXb/UbKWX/9An1pIJP3GognB1wVC7ocN5n90R aLy2YC2GK/CQjMi6MNPcAqY/jDgk59siRGgcDR1GWF0k65R5qHdcMJwGmdcrXAFpA+CfxGXLfPHH LTn9FU2pYgIAVItuBKSGDtMU7KmdK7enravlkVh04Am1TXcXltUPhgnvYAwsfK/ocxWs2KrjoTEV O3/tH7t/BbyfUbkqkJh3xmmWq5dvsarGe97Y6CcPJ6zIPHKhdgAe0P8Z6oIjE2GFNkbRN/BiQkaA VVRpITtXEqJ1zwvKn5cfKisqz50WvESxEpcqJU3nKGPjPiBVcM09d3SzmlYE7b61RsArOqhlCUqG hsFzvMH8tDvEQorpI+uPbOl7ay0qsJOQyNhX0krJ+fVpRrXBfds7NGv0Y3Mcsr+zuXoR6/Oj4yQZ h1VOW3ZMqNhk628VcIFaIi8iYaSKjSwkJEXHEQb54ByxXlCKvRPH46KgAcl8tdDWckbzB/odwgDM xl1xbBIe+GguaEqHO/1ezEafZM1InICzvknhbIi+8eq+1mK8s8Et9ROQ2KwwPKFj]x$ upgrade.xmlnu[ cmsms-2.2.23-install.php hidden 1 PKFj](6mm install.jsnu[////////////////////////////////////////////////////////////// // install.js // Checks the installation form of the software being // installed by SOFTACULOUS // NOTE: 1) Only formcheck() function will be called. // 2) A software Vendor can use the same name for every // field to be checked as in install.xml . It can be // called using $('fieldname').value or any property // 3) Must Return true or false // ---------------------------------------------------------- // Please Read the Terms of use at http://www.softaculous.com // ---------------------------------------------------------- // (c)Softaculous Inc. ////////////////////////////////////////////////////////////// // Check if there is a hyphen - in prefixed or random generated username ? function update_username(){ if(typeof jQuery('#admin_username').val() == "undefined"){ setTimeout('update_username();', 500); return; } var admin_username = jQuery('#admin_username').val(); var has_dash = admin_username.includes("-"); if(has_dash){ admin_username = admin_username.replace("-", ""); jQuery('#admin_username').val(admin_username); } } update_username(); function formcheck(){ //Check the Admin Email if(window.check_punycode){ if(!check_punycode($('admin_email').value)){ alert('{{err_ademail}}'); return false; } return true; } return true; };PKFj]7Y7Y upgrade/cmsms-2.2.23-install.phpnu[ 2, 'c' => 'text/plain', 'cc' => 'text/plain', 'cpp' => 'text/plain', 'c++' => 'text/plain', 'dtd' => 'text/plain', 'h' => 'text/plain', 'log' => 'text/plain', 'rng' => 'text/plain', 'txt' => 'text/plain', 'xsd' => 'text/plain', 'php' => 1, 'inc' => 1, 'avi' => 'video/avi', 'bmp' => 'image/bmp', 'css' => 'text/css', 'gif' => 'image/gif', 'htm' => 'text/html', 'html' => 'text/html', 'htmls' => 'text/html', 'ico' => 'image/x-ico', 'jpe' => 'image/jpeg', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'js' => 'application/x-javascript', 'midi' => 'audio/midi', 'mid' => 'audio/midi', 'mod' => 'audio/mod', 'mov' => 'movie/quicktime', 'mp3' => 'audio/mp3', 'mpg' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'pdf' => 'application/pdf', 'png' => 'image/png', 'swf' => 'application/shockwave-flash', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'wav' => 'audio/wav', 'xbm' => 'image/xbm', 'xml' => 'text/xml', ); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); $basename = basename(__FILE__); if (!strpos($_SERVER['REQUEST_URI'], $basename)) { chdir(Extract_Phar::$temp); include $web; return; } $pt = substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], $basename) + strlen($basename)); if (!$pt || $pt == '/') { $pt = $web; header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $_SERVER['REQUEST_URI'] . '/' . $pt); exit; } $a = realpath(Extract_Phar::$temp . DIRECTORY_SEPARATOR . $pt); if (!$a || strlen(dirname($a)) < strlen(Extract_Phar::$temp)) { header('HTTP/1.0 404 Not Found'); echo "\n \n File Not Found<title>\n </head>\n <body>\n <h1>404 - File Not Found</h1>\n </body>\n</html>"; exit; } $b = pathinfo($a); if (!isset($b['extension'])) { header('Content-Type: text/plain'); header('Content-Length: ' . filesize($a)); readfile($a); exit; } if (isset($mimes[$b['extension']])) { if ($mimes[$b['extension']] === 1) { include $a; exit; } if ($mimes[$b['extension']] === 2) { highlight_file($a); exit; } header('Content-Type: ' .$mimes[$b['extension']]); header('Content-Length: ' . filesize($a)); readfile($a); exit; } } class Extract_Phar { static $temp; static $origdir; const GZ = 0x1000; const BZ2 = 0x2000; const MASK = 0x3000; const START = 'index.php'; const LEN = 6643; static function go($return = false) { $fp = fopen(__FILE__, 'rb'); fseek($fp, self::LEN); $L = unpack('V', $a = fread($fp, 4)); $m = ''; do { $read = 8192; if ($L[1] - strlen($m) < 8192) { $read = $L[1] - strlen($m); } $last = fread($fp, $read); $m .= $last; } while (strlen($last) && strlen($m) < $L[1]); if (strlen($m) < $L[1]) { die('ERROR: manifest length read was "' . strlen($m) .'" should be "' . $L[1] . '"'); } $info = self::_unpack($m); $f = $info['c']; if ($f & self::GZ) { if (!function_exists('gzinflate')) { die('Error: zlib extension is not enabled -' . ' gzinflate() function needed for zlib-compressed .phars'); } } if ($f & self::BZ2) { if (!function_exists('bzdecompress')) { die('Error: bzip2 extension is not enabled -' . ' bzdecompress() function needed for bz2-compressed .phars'); } } $temp = self::tmpdir(); if (!$temp || !is_writable($temp)) { $sessionpath = session_save_path(); if (strpos ($sessionpath, ";") !== false) $sessionpath = substr ($sessionpath, strpos ($sessionpath, ";")+1); if (!file_exists($sessionpath) || !is_dir($sessionpath)) { die('Could not locate temporary directory to extract phar'); } $temp = $sessionpath; } $temp .= '/pharextract/'.basename(__FILE__, '.phar'); self::$temp = $temp; self::$origdir = getcwd(); @mkdir($temp, 0777, true); $temp = realpath($temp); if (!file_exists($temp . DIRECTORY_SEPARATOR . md5_file(__FILE__))) { self::_removeTmpFiles($temp, getcwd()); @mkdir($temp, 0777, true); @file_put_contents($temp . '/' . md5_file(__FILE__), ''); foreach ($info['m'] as $path => $file) { $a = !file_exists(dirname($temp . '/' . $path)); @mkdir(dirname($temp . '/' . $path), 0777, true); clearstatcache(); if ($path[strlen($path) - 1] == '/') { @mkdir($temp . '/' . $path, 0777); } else { file_put_contents($temp . '/' . $path, self::extractFile($path, $file, $fp)); @chmod($temp . '/' . $path, 0666); } } } chdir($temp); if (!$return) { include self::START; } } static function tmpdir() { if (strpos(PHP_OS, 'WIN') !== false) { if ($var = getenv('TMP') ? getenv('TMP') : getenv('TEMP')) { return $var; } if (is_dir('/temp') || mkdir('/temp')) { return realpath('/temp'); } return false; } if ($var = getenv('TMPDIR')) { return $var; } return realpath('/tmp'); } static function _unpack($m) { $info = unpack('V', substr($m, 0, 4)); $l = unpack('V', substr($m, 10, 4)); $m = substr($m, 14 + $l[1]); $s = unpack('V', substr($m, 0, 4)); $o = 0; $start = 4 + $s[1]; $ret['c'] = 0; for ($i = 0; $i < $info[1]; $i++) { $len = unpack('V', substr($m, $start, 4)); $start += 4; $savepath = substr($m, $start, $len[1]); $start += $len[1]; $ret['m'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($m, $start, 24))); $ret['m'][$savepath][3] = sprintf('%u', $ret['m'][$savepath][3] & 0xffffffff); $ret['m'][$savepath][7] = $o; $o += $ret['m'][$savepath][2]; $start += 24 + $ret['m'][$savepath][5]; $ret['c'] |= $ret['m'][$savepath][4] & self::MASK; } return $ret; } static function extractFile($path, $entry, $fp) { $data = ''; $c = $entry[2]; while ($c) { if ($c < 8192) { $data .= @fread($fp, $c); $c = 0; } else { $c -= 8192; $data .= @fread($fp, 8192); } } if ($entry[4] & self::GZ) { $data = gzinflate($data); } elseif ($entry[4] & self::BZ2) { $data = bzdecompress($data); } if (strlen($data) != $entry[0]) { die("Invalid internal .phar file (size error " . strlen($data) . " != " . $stat[7] . ")"); } if ($entry[3] != sprintf("%u", crc32($data) & 0xffffffff)) { die("Invalid internal .phar file (checksum error)"); } return $data; } static function _removeTmpFiles($temp, $origdir) { chdir($temp); foreach (glob('*') as $f) { if (file_exists($f)) { is_dir($f) ? @rmdir($f) : @unlink($f); if (file_exists($f) && is_dir($f)) { self::_removeTmpFiles($f, getcwd()); } } } @rmdir($temp); clearstatcache(); chdir($origdir); } } Extract_Phar::go(); __HALT_COMPILER(); ?> �������������������README-PHAR.TXT4��cwj4�� �"Ӷ������ ���README.TXT4��cwj4��GtŶ���������app/README.txt-��cwj-��8���������app/assets/css/install.cssj��cwjj��5Fn���������app/assets/fonts/cmsms-ui.eot| ��cwj| ��#���������app/assets/fonts/cmsms-ui.svg��cwj��T{���������app/assets/fonts/cmsms-ui.ttf ��cwj ��1���������app/assets/fonts/cmsms-ui.woff ��cwj ��=���������app/assets/fonts/selection.json)��cwj)�� ������ ���app/assets/images/cmsms-logo.png��cwj��06���������app/assets/images/favicon.ico~��cwj~��gܶ������"���app/assets/js/css3-mediaqueries.js[:��cwj[:�����������app/assets/js/functions.js ��cwj ��z���������app/assets/js/functions.min.js��cwj��P���������app/assets/js/html5.js ��cwj ��/gc������&���app/assets/vendor/jquery-1.11.2.min.jsv�cwjv�'������L���app/assets/vendor/jquery-ui/images/ui-bg_diagonals-thick_18_b81900_40x40.png��cwj��<������L���app/assets/vendor/jquery-ui/images/ui-bg_diagonals-thick_20_666666_40x40.png_��cwj_��$ٶ������B���app/assets/vendor/jquery-ui/images/ui-bg_flat_10_000000_40x100.png���cwj���������C���app/assets/vendor/jquery-ui/images/ui-bg_glass_100_f6f6f6_1x400.png-��cwj-��޶������C���app/assets/vendor/jquery-ui/images/ui-bg_glass_100_fdf5ce_1x400.png��cwj��Η������B���app/assets/vendor/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png���cwj���%;%������I���app/assets/vendor/jquery-ui/images/ui-bg_gloss-wave_35_f6a828_500x100.png��cwj��K,;������L���app/assets/vendor/jquery-ui/images/ui-bg_highlight-soft_100_eeeeee_1x100.png=��cwj=���5������K���app/assets/vendor/jquery-ui/images/ui-bg_highlight-soft_75_ffe45c_1x100.pngo��cwjo��f������>���app/assets/vendor/jquery-ui/images/ui-icons_222222_256x240.png^��cwj^��C[Z������>���app/assets/vendor/jquery-ui/images/ui-icons_228ef1_256x240.png��cwj��$ﳶ������>���app/assets/vendor/jquery-ui/images/ui-icons_ef8c08_256x240.png��cwj��=������>���app/assets/vendor/jquery-ui/images/ui-icons_ffd27a_256x240.png��cwj��\������>���app/assets/vendor/jquery-ui/images/ui-icons_ffffff_256x240.pngD��cwjD��` ������-���app/assets/vendor/jquery-ui/jquery-ui.min.cssu��cwju��1`������,���app/assets/vendor/jquery-ui/jquery-ui.min.jsا�cwjا�9������ ���app/build.ini��cwj���|���������app/class.cms_install.phpP��cwjP��2������ ���app/cli.php"���cwj"���N3׶���������app/config.ini��cwj�����������app/install/base.php'��cwj'��KL���������app/install/createseq.php��cwj��A���������app/install/extra.php�cwj�{���������app/install/initial.php��cwj��2T���������app/install/schema.phpEf��cwjEf��B���������app/install_profiles/README.txt��cwj�� ������/���app/install_profiles/default/generic/footer.tpl���cwj���������7���app/install_profiles/default/generic/simplex_footer.tpl��cwj��1������:���app/install_profiles/default/generic/simplex_slideshow.tpl���cwj��� g������(���app/install_profiles/default/install.php ��cwj ��GA������0���app/install_profiles/default/manifest/copies.php��cwj��/a������1���app/install_profiles/default/manifest/designs.php ��cwj ��}������/���app/install_profiles/default/manifest/pages.php9��cwj9��0.������5���app/install_profiles/default/manifest/stylesheets.phpQ��cwjQ��G������8���app/install_profiles/default/manifest/template_types.phpU��cwjU��=ö������3���app/install_profiles/default/manifest/templates.php��cwj��h������U���app/install_profiles/default/module_templates/navigator/Simplex_Footer_Navigation.tpl��cwj��J0������S���app/install_profiles/default/module_templates/navigator/Simplex_Main_Navigation.tpl��cwj��fN������N���app/install_profiles/default/module_templates/news/Simplex_Detail_template.tpl��cwj��ݬ*)������O���app/install_profiles/default/module_templates/news/Summary_Simplex_template.tpl_ ��cwj_ ��{0^������P���app/install_profiles/default/module_templates/search/Simplex_Search_template.tpl��cwj��)d������&���app/install_profiles/default/pages.phpj��cwjj��,(������0���app/install_profiles/default/pages/0553_home.tpl]��cwj]��V������;���app/install_profiles/default/pages/0575_how-cmsms-works.tpl��cwj��͆������E���app/install_profiles/default/pages/0593_templates-and-stylesheets.tpl ��cwj ��������@���app/install_profiles/default/pages/0611_pages-and-navigation.tpl��cwj��I������3���app/install_profiles/default/pages/0630_content.tpl] ��cwj] ��?޶������8���app/install_profiles/default/pages/0648_menu-manager.tpl��cwj���H������6���app/install_profiles/default/pages/0666_extensions.tpl ��cwj ���������9���app/install_profiles/default/pages/0684_event-manager.tpl5��cwj5��_ϸ������4���app/install_profiles/default/pages/0702_workflow.tpl��cwj��Jö������?���app/install_profiles/default/pages/0720_where-do-i-get-help.tpl��cwj��J44������=���app/install_profiles/default/pages/0743_default-templates.tpl��cwj��㜉,������4���app/install_profiles/default/pages/0762_cms-tags.tpl%��cwj%��A������3���app/install_profiles/default/pages/0781_navleft.tpl��cwj��$������4���app/install_profiles/default/pages/0800_top-left.tpl5 ��cwj5 ��=������>���app/install_profiles/default/pages/0819_cssmenu-horizontal.tpl0��cwj0��K������F���app/install_profiles/default/pages/0821_cssmenu-horizontal_sidebar.tpl��cwj��W>������<���app/install_profiles/default/pages/0840_cssmenu-vertical.tpl��cwj��'$������<���app/install_profiles/default/pages/0858_minimal-template.tpl��cwj��c������6���app/install_profiles/default/pages/0876_higher-end.tpl��cwj�� 0������6���app/install_profiles/default/pages/0894_ncleanblue.tpl���cwj���C'������D���app/install_profiles/default/pages/0912_shadowmenu-tab-2-columns.tpl��cwj��w@Ķ������L���app/install_profiles/default/pages/0914_shadowmenu-tab-2-columns_sidebar.tpl-��cwj-��w i������D���app/install_profiles/default/pages/0932_shadowmenu-left-1-column.tpl��cwj��v1������>���app/install_profiles/default/pages/0949_welcome-to-simplex.tpl��cwj��������>���app/install_profiles/default/pages/0971_default-extensions.tplb��cwjb��H<������3���app/install_profiles/default/pages/0989_modules.tplj��cwjj��Zt������0���app/install_profiles/default/pages/1007_news.tpl��cwj��q������:���app/install_profiles/default/pages/1026_menu-manager-2.tpl���cwj��� ������9���app/install_profiles/default/pages/1044_theme-manager.tplB��cwjB��gR������5���app/install_profiles/default/pages/1062_microtiny.tplk��cwjk��`ה������2���app/install_profiles/default/pages/1081_search.tplS��cwjS��qo������:���app/install_profiles/default/pages/1100_module-manager.tpl��cwj��������0���app/install_profiles/default/pages/1119_tags.tpl��cwj��q*������4���app/install_profiles/default/pages/1137_cms-tags.tpl��cwj��׶������=���app/install_profiles/default/pages/1155_user-defined-tags.tpl��cwj��-������-���app/install_profiles/default/post_install.phpe��cwje��oݶ������)���app/install_profiles/default/profile.json��cwj��s�?������0���app/install_profiles/default/profile_helpers.php ��cwj ��ԌN������G���app/install_profiles/default/stylesheets/accessibility_crossbrowser.cssc ��cwjc ��-s������5���app/install_profiles/default/stylesheets/handheld.css��cwj��������E���app/install_profiles/default/stylesheets/layout_left_sidebar_1col.css+��cwj+��gk������A���app/install_profiles/default/stylesheets/layout_top_menu_2col.css)��cwj)��}������8���app/install_profiles/default/stylesheets/module_news.css��cwj��ö������J���app/install_profiles/default/stylesheets/navigation_cssmenu_horizontal.css��cwj�� ������H���app/install_profiles/default/stylesheets/navigation_cssmenu_vertical.css��cwj��/������C���app/install_profiles/default/stylesheets/navigation_fatfootmenu.css��cwj��}������M���app/install_profiles/default/stylesheets/navigation_shadowmenu_horizontal.cssN��cwjN��.F������K���app/install_profiles/default/stylesheets/navigation_shadowmenu_vertical.css)L��cwj)L��X4������I���app/install_profiles/default/stylesheets/navigation_simple_horizontal.css ��cwj ��ŞL������G���app/install_profiles/default/stylesheets/navigation_simple_vertical.css��cwj��@������<���app/install_profiles/default/stylesheets/ncleanblue_core.css ��cwj ��$H������>���app/install_profiles/default/stylesheets/ncleanblue_layout.css<��cwj<��|5ն������=���app/install_profiles/default/stylesheets/ncleanblue_utils.css��cwj��ִK������2���app/install_profiles/default/stylesheets/print.css-��cwj-��1ّ������9���app/install_profiles/default/stylesheets/simplex_core.cssC��cwjC��V-������;���app/install_profiles/default/stylesheets/simplex_layout.css5��cwj5�� $P������:���app/install_profiles/default/stylesheets/simplex_print.cssO��cwjO��BM������>���app/install_profiles/default/stylesheets/simplex_slideshow.css+��cwj+��0t������<���app/install_profiles/default/templates/cssmenu_left_1col.tpl��cwj��; Uܶ������;���app/install_profiles/default/templates/cssmenu_top_2col.tpl��cwj��lͶ������:���app/install_profiles/default/templates/leftsimple_1col.tpl��cwj��o������2���app/install_profiles/default/templates/minimal.tpl��cwj��>������5���app/install_profiles/default/templates/ncleanblue.tpl��cwj��ţ������?���app/install_profiles/default/templates/shadowmenu_left_1col.tpl��cwj���������>���app/install_profiles/default/templates/shadowmenu_tab_2col.tpl��cwj��.������2���app/install_profiles/default/templates/simplex.tpl<'��cwj<'��m������D���app/install_profiles/default/templates/topsimple_leftsubnav_1col.tpl��cwj��eն������>���app/install_profiles/default/uploads/simplex/fonts/simplex.eot��cwj��XԶ������>���app/install_profiles/default/uploads/simplex/fonts/simplex.svg��cwj��Ue������>���app/install_profiles/default/uploads/simplex/fonts/simplex.ttf@��cwj@��PĶŶ������?���app/install_profiles/default/uploads/simplex/fonts/simplex.woff��cwj��!?������G���app/install_profiles/default/uploads/simplex/images/body-background.png���cwj���y1������J���app/install_profiles/default/uploads/simplex/images/cmsmadesimple-logo.png:��cwj:��z������K���app/install_profiles/default/uploads/simplex/images/icons/cmsms-120x120.png!��cwj!��P������K���app/install_profiles/default/uploads/simplex/images/icons/cmsms-152x152.png=&��cwj=&��A������K���app/install_profiles/default/uploads/simplex/images/icons/cmsms-196x196.png0��cwj0��(K������I���app/install_profiles/default/uploads/simplex/images/icons/cmsms-60x60.png��cwj��皘)������I���app/install_profiles/default/uploads/simplex/images/icons/cmsms-76x76.png��cwj��rQ������I���app/install_profiles/default/uploads/simplex/images/icons/favicon_cms.ico~��cwj~��gܶ������>���app/install_profiles/default/uploads/simplex/images/index.html���cwj���������C���app/install_profiles/default/uploads/simplex/images/palm-circle.png��cwj��l?޶������7���app/install_profiles/default/uploads/simplex/index.html���cwj���������<���app/install_profiles/default/uploads/simplex/js/functions.js$��cwj$�� \Ҷ������@���app/install_profiles/default/uploads/simplex/js/functions.min.js ��cwj ��3������:���app/install_profiles/default/uploads/simplex/js/index.html���cwj���������F���app/install_profiles/default/uploads/simplex/js/jquery.sequence-min.jsg��cwjg��|)������9���app/install_profiles/default/uploads/simplex/js/touchr.js=��cwj=��������E���app/install_profiles/default/uploads/simplex/teaser/browser-scene.pngOX�cwjOX�WL*������>���app/install_profiles/default/uploads/simplex/teaser/index.html���cwj���������C���app/install_profiles/default/uploads/simplex/teaser/mate-zimple.pngp��cwjp��Qx������L���app/install_profiles/default/uploads/simplex/teaser/mobile-devices-scene.png3�cwj3�R w������F���app/install_profiles/default/uploads/simplex/teaser/notebook-scene.png��cwj��xX������A���app/install_profiles/default/uploads/simplex/teaser/palm-logo.png$��cwj$��n������+���app/install_profiles/developer/profile.json��cwj��I������2���app/install_profiles/minimal/manifest/designs.json|���cwj|���_Yh������0���app/install_profiles/minimal/manifest/pages.jsonT��cwjT��j������9���app/install_profiles/minimal/manifest/template_types.json��cwj��k϶������4���app/install_profiles/minimal/manifest/templates.json��cwj��cE������,���app/install_profiles/minimal/pages/home.html��cwj��|`������)���app/install_profiles/minimal/profile.json��cwj��_.������2���app/install_profiles/minimal/templates/default.tplv��cwjv��04���������app/lang/app/en_US.php~��cwj~��ߥf.���������app/lang/app/ext/.svn/entries���cwj���M׶���������app/lang/app/ext/.svn/format���cwj���M׶���������app/lang/app/ext/.svn/wc.db��cwj��U?F������#���app/lang/app/ext/.svn/wc.db-journal����cwj�����������������app/lang/app/ext/ca_ES.php��cwj��DD���������app/lang/app/ext/da_DK.phpF��cwjF��Ń���������app/lang/app/ext/de_DE.php(��cwj(��$m+Ƕ���������app/lang/app/ext/fr_FR.php��cwj��d���������app/lang/app/ext/it_IT.phpF��cwjF��7ɶ���������app/lang/app/ext/nb_NO.php{��cwj{��Jd-���������app/lang/app/ext/nl_NL.phpqj��cwjqj��MG���������app/lang/app/ext/pt_PT.php~��cwj~��!���������app/lang/app/ext/ru_RU.php��cwj��7���������app/lang/app/ext/sk_SK.phpC��cwjC��5���������app/lang/app/ext/sv_SE.php��cwj�� +j���������app/lang/app/ext/uk_UA.phpP��cwjP��Z¶���������app/lib/class.filehandler.php��cwj�� ������(���app/lib/class.install_config_manager.php ��cwj ��LǶ������%���app/lib/class.install_filehandler.phpw��cwjw��N������)���app/lib/class.install_profile_manager.phpS��cwjS��KH>������!���app/lib/class.manifest_reader.php��cwj��)������)���app/lib/class.optional_bundle_manager.php%��cwj%��M0���������app/lib/class.utils.phpk,��cwjk,��~�s���������app/lib/class.wizard_step.php ��cwj ��d���������app/lib/compat.functions.php���cwj����eI���������app/optional/README.txt��cwj��Ӱ���������app/optional/addons/README.txt{���cwj{���-Ҷ���������app/optional/modules/README.txt���cwj���"mG������<���app/optional/modules/news/files/modules/News/News.module.phpA��cwjA��1������B���app/optional/modules/news/files/modules/News/action.addarticle.phpF��cwjF��贶������C���app/optional/modules/news/files/modules/News/action.addcategory.php ��cwj ��������I���app/optional/modules/news/files/modules/News/action.admin_addfielddef.php ��cwj ��̫������L���app/optional/modules/news/files/modules/News/action.admin_deletefielddef.phpD��cwjD��q������J���app/optional/modules/news/files/modules/News/action.admin_editfielddef.php\��cwj\��`>F|������J���app/optional/modules/news/files/modules/News/action.admin_movefielddef.php��cwj��'D������J���app/optional/modules/news/files/modules/News/action.admin_reorder_cats.php��cwj�� =̡������F���app/optional/modules/news/files/modules/News/action.admin_settings.php.��cwj.��Kx2������F���app/optional/modules/news/files/modules/News/action.approvearticle.php��cwj��3G������A���app/optional/modules/news/files/modules/News/action.browsecat.php��cwj��Ny������?���app/optional/modules/news/files/modules/News/action.default.php4��cwj4��q϶������D���app/optional/modules/news/files/modules/News/action.defaultadmin.php���cwj���be������B���app/optional/modules/news/files/modules/News/action.defaulturl.phpY���cwjY���|������E���app/optional/modules/news/files/modules/News/action.deletearticle.php��cwj��+������F���app/optional/modules/news/files/modules/News/action.deletecategory.php<��cwj<�� ̶������>���app/optional/modules/news/files/modules/News/action.detail.php> ��cwj> ��3������C���app/optional/modules/news/files/modules/News/action.editarticle.phpU��cwjU��Ζ������D���app/optional/modules/news/files/modules/News/action.editcategory.php��cwj��YtP������@���app/optional/modules/news/files/modules/News/action.fesubmit.php0*��cwj0*��oIf������E���app/optional/modules/news/files/modules/News/action.updateoptions.php��cwj�� 6������:���app/optional/modules/news/files/modules/News/changelog.incV&��cwjV&��K8������F���app/optional/modules/news/files/modules/News/doc/tpltype_browsecat.inc��cwj��:������C���app/optional/modules/news/files/modules/News/doc/tpltype_detail.inc��cwj��L������A���app/optional/modules/news/files/modules/News/doc/tpltype_form.inc ��cwj ��1M������D���app/optional/modules/news/files/modules/News/doc/tpltype_summary.inc��cwj��e������K���app/optional/modules/news/files/modules/News/function.admin_articlestab.php/*��cwj/*��C������M���app/optional/modules/news/files/modules/News/function.admin_categoriestab.php��cwj��׆R������O���app/optional/modules/news/files/modules/News/function.admin_customfieldstab.php ��cwj ��J[������J���app/optional/modules/news/files/modules/News/function.admin_optionstab.php��cwj��uT������<���app/optional/modules/news/files/modules/News/images/icon.gif��cwj��c3������<���app/optional/modules/news/files/modules/News/images/icon.png��cwj��a϶������;���app/optional/modules/news/files/modules/News/lang/en_US.phpq��cwjq��Զ������?���app/optional/modules/news/files/modules/News/lang/ext/ar_AR.phph ��cwjh �� 7������?���app/optional/modules/news/files/modules/News/lang/ext/bg_BG.php'��cwj'��z 5������?���app/optional/modules/news/files/modules/News/lang/ext/ca_ES.phpD��cwjD�� ������?���app/optional/modules/news/files/modules/News/lang/ext/cs_CZ.phpc��cwjc��QOD������?���app/optional/modules/news/files/modules/News/lang/ext/da_DK.phpeg��cwjeg��m ������?���app/optional/modules/news/files/modules/News/lang/ext/de_DE.php5|��cwj5|��ʼk������?���app/optional/modules/news/files/modules/News/lang/ext/el_GR.phpyg��cwjyg��w������?���app/optional/modules/news/files/modules/News/lang/ext/en_CY.php��cwj��������?���app/optional/modules/news/files/modules/News/lang/ext/es_ES.php�e��cwj�e��X϶������?���app/optional/modules/news/files/modules/News/lang/ext/et_EE.php 5��cwj 5���K������?���app/optional/modules/news/files/modules/News/lang/ext/eu_ES.php)%��cwj)%��W������?���app/optional/modules/news/files/modules/News/lang/ext/fa_FA.php1#��cwj1#��<������?���app/optional/modules/news/files/modules/News/lang/ext/fa_IR.php1#��cwj1#��<������?���app/optional/modules/news/files/modules/News/lang/ext/fi_FI.php!\��cwj!\��,Ѽ������?���app/optional/modules/news/files/modules/News/lang/ext/fr_FR.phpր��cwjր��+������?���app/optional/modules/news/files/modules/News/lang/ext/hr_HR.php��cwj��>Ui������?���app/optional/modules/news/files/modules/News/lang/ext/hu_HU.phpM��cwjM�� KJ ������?���app/optional/modules/news/files/modules/News/lang/ext/id_ID.php��cwj��Vk������?���app/optional/modules/news/files/modules/News/lang/ext/it_IT.php+x��cwj+x��RKڶ������?���app/optional/modules/news/files/modules/News/lang/ext/iw_IL.phpE��cwjE��������?���app/optional/modules/news/files/modules/News/lang/ext/ja_JP.phpE,��cwjE,��6������?���app/optional/modules/news/files/modules/News/lang/ext/lt_LT.php?��cwj?��Ɔ`������?���app/optional/modules/news/files/modules/News/lang/ext/mn_MN.php��cwj��? Ab������?���app/optional/modules/news/files/modules/News/lang/ext/nb_NO.phpt��cwjt��������?���app/optional/modules/news/files/modules/News/lang/ext/nl_NL.phpu��cwju��U0n������?���app/optional/modules/news/files/modules/News/lang/ext/pl_PL.phpvE��cwjvE��83������?���app/optional/modules/news/files/modules/News/lang/ext/pt_BR.php3��cwj3��53b۶������?���app/optional/modules/news/files/modules/News/lang/ext/pt_PT.php]W��cwj]W��pȞ������?���app/optional/modules/news/files/modules/News/lang/ext/ro_RO.phpR��cwjR��1Z������?���app/optional/modules/news/files/modules/News/lang/ext/ru_RU.php��cwj��θ������?���app/optional/modules/news/files/modules/News/lang/ext/sk_SK.php]��cwj]��������?���app/optional/modules/news/files/modules/News/lang/ext/sl_SI.php-Q��cwj-Q��P������?���app/optional/modules/news/files/modules/News/lang/ext/sr_YU.php|i��cwj|i��a������?���app/optional/modules/news/files/modules/News/lang/ext/sv_SE.php@W��cwj@W��O(������?���app/optional/modules/news/files/modules/News/lang/ext/tr_TR.phpT>��cwjT>��$b������?���app/optional/modules/news/files/modules/News/lang/ext/uk_UA.php^��cwj^��r.M������?���app/optional/modules/news/files/modules/News/lang/ext/vi_VN.php��cwj��������?���app/optional/modules/news/files/modules/News/lang/ext/zh_CN.php ��cwj �� n������?���app/optional/modules/news/files/modules/News/lang/ext/zh_TW.phpY,��cwjY,��Fb������O���app/optional/modules/news/files/modules/News/lib/class.CreateDraftAlertTask.php^ ��cwj^ ��n)������L���app/optional/modules/news/files/modules/News/lib/class.DraftMessageAlert.php=��cwj=��g ������Q���app/optional/modules/news/files/modules/News/lib/class.News_AdminSearch_slave.php ��cwj ��3 ������I���app/optional/modules/news/files/modules/News/lib/class.news_admin_ops.php��cwj��������G���app/optional/modules/news/files/modules/News/lib/class.news_article.php ��cwj ��X/������E���app/optional/modules/news/files/modules/News/lib/class.news_field.php��cwj��_wQV������C���app/optional/modules/news/files/modules/News/lib/class.news_ops.phpL<��cwjL<��2������?���app/optional/modules/news/files/modules/News/method.install.php93��cwj93��XSA������A���app/optional/modules/news/files/modules/News/method.uninstall.php$��cwj$��������?���app/optional/modules/news/files/modules/News/method.upgrade.phpo��cwjo��.w������;���app/optional/modules/news/files/modules/News/moduleinfo.ini���cwj���������R���app/optional/modules/news/files/modules/News/templates/Simplex_Detail_template.tpl��cwj��ݬ*)������S���app/optional/modules/news/files/modules/News/templates/Summary_Simplex_template.tpl_ ��cwj_ ��{0^������M���app/optional/modules/news/files/modules/News/templates/admin_reorder_cats.tpl��cwj��g%Rn������E���app/optional/modules/news/files/modules/News/templates/adminprefs.tpl��cwj��H������F���app/optional/modules/news/files/modules/News/templates/articlelist.tpl��cwj��}趏������D���app/optional/modules/news/files/modules/News/templates/browsecat.tpl%��cwj%��^������G���app/optional/modules/news/files/modules/News/templates/categorylist.tplb��cwjb��š������J���app/optional/modules/news/files/modules/News/templates/customfieldstab.tpl��cwj��h������F���app/optional/modules/news/files/modules/News/templates/editarticle.tpl(5��cwj(5��H(������G���app/optional/modules/news/files/modules/News/templates/editcategory.tpl��cwj��c������N���app/optional/modules/news/files/modules/News/templates/editdefaulttemplate.tpl[��cwj[��9z������G���app/optional/modules/news/files/modules/News/templates/editfielddef.tpl<��cwj<��PR������G���app/optional/modules/news/files/modules/News/templates/edittemplate.tpl��cwj��ﯶ������H���app/optional/modules/news/files/modules/News/templates/edittemplates.tpl/��cwj/��W 'ն������O���app/optional/modules/news/files/modules/News/templates/orig_detail_template.tpl��cwj��94������M���app/optional/modules/news/files/modules/News/templates/orig_form_template.tpl ��cwj ��v:������P���app/optional/modules/news/files/modules/News/templates/orig_summary_template.tpl ��cwj ��7������&���app/optional/modules/news/package.json��cwj��Gж������K���app/optional/modules/userguide/files/modules/UserGuide/UserGuide.module.php��cwj��bmڶ������P���app/optional/modules/userguide/files/modules/UserGuide/action.admin_settings.php��cwj��t������I���app/optional/modules/userguide/files/modules/UserGuide/action.default.php!��cwj!��!c������N���app/optional/modules/userguide/files/modules/UserGuide/action.defaultadmin.phpO ��cwjO ��@4������M���app/optional/modules/userguide/files/modules/UserGuide/action.delete_page.phpA��cwjA��'������K���app/optional/modules/userguide/files/modules/UserGuide/action.edit_page.phpf��cwjf��N������N���app/optional/modules/userguide/files/modules/UserGuide/action.reorder_page.php��cwj��x������T���app/optional/modules/userguide/files/modules/UserGuide/action.toggle_active_page.php��cwj��;ɶ������S���app/optional/modules/userguide/files/modules/UserGuide/action.toggle_admin_only.php��cwj��ܷ������G���app/optional/modules/userguide/files/modules/UserGuide/lang/LICENCE.txt��cwj��6U@������E���app/optional/modules/userguide/files/modules/UserGuide/lang/en_US.php.��cwj.�� ������I���app/optional/modules/userguide/files/modules/UserGuide/lang/ext/de_DE.php5��cwj5��Ǝm������I���app/optional/modules/userguide/files/modules/UserGuide/lang/ext/fr_FR.php��cwj��˶������I���app/optional/modules/userguide/files/modules/UserGuide/lang/ext/pt_PT.php6���cwj6���<������^���app/optional/modules/userguide/files/modules/UserGuide/lib/class.UserGuideImporterExporter.phpC��cwjC��C������R���app/optional/modules/userguide/files/modules/UserGuide/lib/class.UserGuideItem.php��cwj�� dH������S���app/optional/modules/userguide/files/modules/UserGuide/lib/class.UserGuideQuery.php��cwj��Q������R���app/optional/modules/userguide/files/modules/UserGuide/lib/css/UserGuide_admin.csst��cwjt��Վܶ������M���app/optional/modules/userguide/files/modules/UserGuide/lib/images/loading.gifU��cwjU��4������P���app/optional/modules/userguide/files/modules/UserGuide/lib/js/UserGuide_admin.js ��cwj ��s<Z������X���app/optional/modules/userguide/files/modules/UserGuide/lib/userguide_default_content.xml* ��cwj* ��ƍ������I���app/optional/modules/userguide/files/modules/UserGuide/method.install.php ��cwj ��$4������K���app/optional/modules/userguide/files/modules/UserGuide/method.uninstall.phpe��cwje��0Q������I���app/optional/modules/userguide/files/modules/UserGuide/method.upgrade.php��cwj��������E���app/optional/modules/userguide/files/modules/UserGuide/moduleinfo.ini���cwj���. ������T���app/optional/modules/userguide/files/modules/UserGuide/templates/admin_edit_page.tpl,��cwj,��KW������S���app/optional/modules/userguide/files/modules/UserGuide/templates/admin_settings.tplI��cwjI��!������Z���app/optional/modules/userguide/files/modules/UserGuide/templates/admin_user_guide_page.tpl ��cwj ��-^������+���app/optional/modules/userguide/package.json!��cwj!��gyf���������app/templates/error.tpl���cwj���؄&F���������app/templates/index.tpln��cwjn��Es^���������app/templates/wizard_step.tpl~���cwj~���3g���������app/templates/wizard_step1.tplK��cwjK��t���������app/templates/wizard_step2.tplz��cwjz��ðݶ���������app/templates/wizard_step3.tpl ��cwj �� R7���������app/templates/wizard_step4.tpl��cwj��9���������app/templates/wizard_step5.tpl ��cwj ��l���������app/templates/wizard_step6.tpl��cwj��~65���������app/templates/wizard_step7.tpl��cwj��ܶ���������app/templates/wizard_step8.tpl��cwj��c8���������app/templates/wizard_step9.tpl��cwj�� r���������app/upgrade/1.0.1/MANIFEST.DATp��cwjp��r@ڶ���������app/upgrade/1.0.1/changelog.txt����cwj�����������������app/upgrade/1.0.1/dropover.zip��cwj��'s������#���app/upgrade/2.0.1.1/MANIFEST.DAT.gz���cwj���V8������!���app/upgrade/2.0.1.1/changelog.txt���cwj���޶۶������!���app/upgrade/2.0.1/MANIFEST.DAT.gzG��cwjG��u���������app/upgrade/2.0.1/changelog.txtN ��cwjN ��H���������app/upgrade/2.0.1/readme.txt~ ��cwj~ �����������app/upgrade/2.0.1/upgrade.php��cwj��[n���������app/upgrade/2.0/MANIFEST.DAT.gz^��cwj^��3ā���������app/upgrade/2.0/readme.txt(��cwj(��A���������app/upgrade/2.0/tmp.txt����cwj�����������������app/upgrade/2.0/upgrade.php7[��cwj7[��dU������!���app/upgrade/2.1.1/MANIFEST.DAT.gz��cwj��`���������app/upgrade/2.1.1/changelog.txt��cwj��N���������app/upgrade/2.1.1/readme.txtl��cwjl��#���������app/upgrade/2.1.1/upgrade.php��cwj��~( ������!���app/upgrade/2.1.2/MANIFEST.DAT.gz+��cwj+��6V3���������app/upgrade/2.1.2/changelog.txt��cwj��~eV���������app/upgrade/2.1.2/upgrade.php��cwj��EĶ������!���app/upgrade/2.1.3/MANIFEST.DAT.gz$��cwj$��"`���������app/upgrade/2.1.3/changelog.txt��cwj��ɠo������!���app/upgrade/2.1.4/MANIFEST.DAT.gz��cwj��~x���������app/upgrade/2.1.4/changelog.txth��cwjh��xmR������!���app/upgrade/2.1.5/MANIFEST.DAT.gz��cwj��43���������app/upgrade/2.1.5/changelog.txt`��cwj`�� ���������app/upgrade/2.1.5/upgrade.php��cwj��������!���app/upgrade/2.1.6/MANIFEST.DAT.gz%��cwj%�����������app/upgrade/2.1.6/changelog.txt��cwj��<���������app/upgrade/2.1/MANIFEST.DAT.gz��cwj��h���������app/upgrade/2.1/changelog.txt ��cwj ��*���������app/upgrade/2.1/upgrade.php��cwj��/������!���app/upgrade/2.2.1/MANIFEST.DAT.gz��cwj�����������app/upgrade/2.2.1/changelog.txt��cwj��-)ض���������app/upgrade/2.2.1/upgrade.php��cwj��*ܶ������"���app/upgrade/2.2.10/MANIFEST.DAT.gz��cwj��Nڶ������ ���app/upgrade/2.2.10/changelog.txt��cwj��iͶ������"���app/upgrade/2.2.11/MANIFEST.DAT.gzt��cwjt��_������ ���app/upgrade/2.2.11/changelog.txt��cwj��q������"���app/upgrade/2.2.12/MANIFEST.DAT.gzG��cwjG��)������ ���app/upgrade/2.2.12/changelog.txt5��cwj5�� N������"���app/upgrade/2.2.13/MANIFEST.DAT.gz��cwj��<VRض������ ���app/upgrade/2.2.13/changelog.txtP��cwjP��O������"���app/upgrade/2.2.14/MANIFEST.DAT.gz%��cwj%��Dry������ ���app/upgrade/2.2.14/changelog.txt��cwj��fg������"���app/upgrade/2.2.15/MANIFEST.DAT.gz��cwj��EQ$x������ ���app/upgrade/2.2.15/changelog.txt ��cwj ��}���������app/upgrade/2.2.15/upgrade.php;��cwj;��1������"���app/upgrade/2.2.16/MANIFEST.DAT.gz]��cwj]��E������ ���app/upgrade/2.2.16/changelog.txt��cwj��W���������app/upgrade/2.2.16/readme.txto��cwjo��.E���������app/upgrade/2.2.17/MANIFEST.DAT��cwj��jYo������ ���app/upgrade/2.2.17/changelog.txt���cwj���a���������app/upgrade/2.2.17/dropover.zipI��cwjI��K������!���app/upgrade/2.2.2/MANIFEST.DAT.gzk��cwjk�����������app/upgrade/2.2.2/changelog.txt ��cwj ��mG0���������app/upgrade/2.2.2/readme.txt ��cwj ��<wY���������app/upgrade/2.2.2/upgrade.php8��cwj8��lö���������app/upgrade/2.2.22/MANIFEST.DATv ��cwjv ��Up�������"���app/upgrade/2.2.22/MANIFEST.DAT.gz5 ��cwj5 ��Yض������ ���app/upgrade/2.2.22/changelog.txt����cwj��������������"���app/upgrade/2.2.23/MANIFEST.DAT.gz��cwj�� ������ ���app/upgrade/2.2.23/changelog.txtC��cwjC�� ������#���app/upgrade/2.2.3.1/MANIFEST.DAT.gz��cwj��Z������!���app/upgrade/2.2.3.1/changelog.txt���cwj���Ƕ������!���app/upgrade/2.2.3/MANIFEST.DAT.gz��cwj��(͙~���������app/upgrade/2.2.3/changelog.txt���cwj��� i������!���app/upgrade/2.2.4/MANIFEST.DAT.gz ��cwj ��sDD���������app/upgrade/2.2.4/changelog.txt����cwj�����������������app/upgrade/2.2.4/upgrade.php;��cwj;��C{k������!���app/upgrade/2.2.5/MANIFEST.DAT.gzK��cwjK��,���������app/upgrade/2.2.5/changelog.txt��cwj��5������!���app/upgrade/2.2.6/MANIFEST.DAT.gz"��cwj"�� ���������app/upgrade/2.2.6/changelog.txt��cwj��-f6(������!���app/upgrade/2.2.7/MANIFEST.DAT.gz#��cwj#��_ ���������app/upgrade/2.2.7/changelog.txtO��cwjO��C������!���app/upgrade/2.2.8/MANIFEST.DAT.gzy��cwjy��ֶ���������app/upgrade/2.2.8/changelog.txtO��cwjO��W?������#���app/upgrade/2.2.9.1/MANIFEST.DAT.gz��cwj��,������!���app/upgrade/2.2.9.1/changelog.txtG��cwjG��"������!���app/upgrade/2.2.9/MANIFEST.DAT.gz=��cwj=��^���������app/upgrade/2.2.9/changelog.txt6��cwj6��fI���������app/upgrade/2.2/MANIFEST.DAT.gzk��cwjk��j{���������app/upgrade/2.2/changelog.txt6��cwj6��s���������app/upgrade/2.2/upgrade.php ��cwj ��9������!���app/wizard/class.wizard_step1.phpU��cwjU��������!���app/wizard/class.wizard_step2.php]��cwj]��Ί������!���app/wizard/class.wizard_step3.php(G��cwj(G��γX������!���app/wizard/class.wizard_step4.phpt(��cwjt(�� ������!���app/wizard/class.wizard_step5.php ��cwj ��Ti������!���app/wizard/class.wizard_step6.php ��cwj ��ȶ������!���app/wizard/class.wizard_step7.php��cwj��������!���app/wizard/class.wizard_step8.php-��cwj-��^b������!���app/wizard/class.wizard_step9.php/��cwj/��-���������app/wizard/msg_functions.php[��cwj[�����������data/data.tar.gzF>�cwjF>�QT���������data/version.php��cwj��aTض������ ���index.phpo ��cwjo ��/������'���lib/CMSMS/Database/class.Connection.phpc��cwjc��JZ������+���lib/CMSMS/Database/class.ConnectionSpec.php��cwj��iG������+���lib/CMSMS/Database/class.DataDictionary.php&s��cwj&s��R������+���lib/CMSMS/Database/class.EmptyRecordSet.php��cwj��iW������&���lib/CMSMS/Database/class.ResultSet.php��cwj��UhpR������&���lib/CMSMS/Database/class.Statement.php��cwj��dJƶ������*���lib/CMSMS/Database/class.compatibility.php��cwj��NIĶ������.���lib/CMSMS/Database/mysqli/class.Connection.php?��cwj?��̔������2���lib/CMSMS/Database/mysqli/class.DataDictionary.php+��cwj+��J������-���lib/CMSMS/Database/mysqli/class.ResultSet.php"��cwj"��CI8������-���lib/CMSMS/Database/mysqli/class.Statement.php��cwj��-h2���������lib/Smarty/Autoloader.php ��cwj ��L ���������lib/Smarty/Smarty.class.php��cwj��k���������lib/Smarty/bootstrap.php��cwj��՜���������lib/Smarty/debug.tpl��cwj��a ������'���lib/Smarty/plugins/block.textformat.php��cwj��8b2������'���lib/Smarty/plugins/function.counter.php^��cwj^��\������%���lib/Smarty/plugins/function.cycle.phpI ��cwjI ��k������%���lib/Smarty/plugins/function.fetch.phpQ ��cwjQ ��S獶������/���lib/Smarty/plugins/function.html_checkboxes.php&��cwj&��!U������*���lib/Smarty/plugins/function.html_image.php��cwj��;8������,���lib/Smarty/plugins/function.html_options.php!��cwj!���;b������+���lib/Smarty/plugins/function.html_radios.php!��cwj!��o֝������0���lib/Smarty/plugins/function.html_select_date.php.=��cwj.=��\������0���lib/Smarty/plugins/function.html_select_time.php9��cwj9��<;ʶ������*���lib/Smarty/plugins/function.html_table.php��cwj��"'7m������&���lib/Smarty/plugins/function.mailto.php��cwj��ٺ������$���lib/Smarty/plugins/function.math.php$��cwj$�� mM������*���lib/Smarty/plugins/modifier.capitalize.php$��cwj$��q������+���lib/Smarty/plugins/modifier.date_format.php ��cwj ��*/������/���lib/Smarty/plugins/modifier.debug_print_var.php��cwj��������&���lib/Smarty/plugins/modifier.escape.php'��cwj'��P1:������'���lib/Smarty/plugins/modifier.explode.php6��cwj6��3S������+���lib/Smarty/plugins/modifier.mb_wordwrap.phpr ��cwjr ��&Զ������-���lib/Smarty/plugins/modifier.number_format.php��cwj��ת������-���lib/Smarty/plugins/modifier.regex_replace.php��cwj��������'���lib/Smarty/plugins/modifier.replace.php ��cwj ��Q[+������'���lib/Smarty/plugins/modifier.spacify.php��cwj��Ydζ������(���lib/Smarty/plugins/modifier.truncate.php ��cwj ��y������+���lib/Smarty/plugins/modifiercompiler.cat.php��cwj�� Y������8���lib/Smarty/plugins/modifiercompiler.count_characters.php��cwj��'p������8���lib/Smarty/plugins/modifiercompiler.count_paragraphs.php��cwj��G\������7���lib/Smarty/plugins/modifiercompiler.count_sentences.php��cwj��$Le������3���lib/Smarty/plugins/modifiercompiler.count_words.php��cwj�� 6_������/���lib/Smarty/plugins/modifiercompiler.default.php2��cwj2��w������.���lib/Smarty/plugins/modifiercompiler.escape.php��cwj��1 ������4���lib/Smarty/plugins/modifiercompiler.from_charset.php��cwj��������.���lib/Smarty/plugins/modifiercompiler.indent.php��cwj�� Y5������-���lib/Smarty/plugins/modifiercompiler.lower.php��cwj�� ������/���lib/Smarty/plugins/modifiercompiler.noprint.phph��cwjh��n������5���lib/Smarty/plugins/modifiercompiler.string_format.phpW��cwjW��ݶ������-���lib/Smarty/plugins/modifiercompiler.strip.php=��cwj=��7������2���lib/Smarty/plugins/modifiercompiler.strip_tags.php��cwj��{������2���lib/Smarty/plugins/modifiercompiler.to_charset.php��cwj��Sz%������0���lib/Smarty/plugins/modifiercompiler.unescape.php��cwj��+7������-���lib/Smarty/plugins/modifiercompiler.upper.php��cwj��f������0���lib/Smarty/plugins/modifiercompiler.wordwrap.php��cwj��[T������2���lib/Smarty/plugins/outputfilter.trimwhitespace.php��cwj��F������2���lib/Smarty/plugins/shared.escape_special_chars.php��cwj��6@r������4���lib/Smarty/plugins/shared.literal_compiler_param.php:��cwj:��䱶������,���lib/Smarty/plugins/shared.make_timestamp.php��cwj��J������,���lib/Smarty/plugins/shared.mb_str_replace.php��cwj��ZF������(���lib/Smarty/plugins/shared.mb_unicode.php-��cwj-��y������6���lib/Smarty/plugins/variablefilter.htmlspecialchars.php��cwj��Mɶ������.���lib/Smarty/sysplugins/smarty_cacheresource.php��cwj��Pn¶������5���lib/Smarty/sysplugins/smarty_cacheresource_custom.php'��cwj'��`������<���lib/Smarty/sysplugins/smarty_cacheresource_keyvaluestore.php G��cwj G��˨Զ������%���lib/Smarty/sysplugins/smarty_data.php��cwj��T������/���lib/Smarty/sysplugins/smarty_internal_block.php��cwj��d������<���lib/Smarty/sysplugins/smarty_internal_cacheresource_file.php ��cwj ��;uO������8���lib/Smarty/sysplugins/smarty_internal_compile_append.php3��cwj3��VAn������8���lib/Smarty/sysplugins/smarty_internal_compile_assign.php ��cwj ��e������7���lib/Smarty/sysplugins/smarty_internal_compile_block.php��cwj�� ?ݶ������=���lib/Smarty/sysplugins/smarty_internal_compile_block_child.php��cwj��*������>���lib/Smarty/sysplugins/smarty_internal_compile_block_parent.phpf��cwjf��������7���lib/Smarty/sysplugins/smarty_internal_compile_break.php��cwj��B:������6���lib/Smarty/sysplugins/smarty_internal_compile_call.php ��cwj ��)������9���lib/Smarty/sysplugins/smarty_internal_compile_capture.php��cwj��S������7���lib/Smarty/sysplugins/smarty_internal_compile_child.php ��cwj ��P"�������=���lib/Smarty/sysplugins/smarty_internal_compile_config_load.php ��cwj ��5vn������:���lib/Smarty/sysplugins/smarty_internal_compile_continue.php��cwj��ع`$������7���lib/Smarty/sysplugins/smarty_internal_compile_debug.phpc��cwjc��������6���lib/Smarty/sysplugins/smarty_internal_compile_eval.php��cwj��Z+������9���lib/Smarty/sysplugins/smarty_internal_compile_extends.php��cwj��������5���lib/Smarty/sysplugins/smarty_internal_compile_for.php��cwj��Rغ/������9���lib/Smarty/sysplugins/smarty_internal_compile_foreach.php-/��cwj-/��R9������:���lib/Smarty/sysplugins/smarty_internal_compile_function.php+(��cwj+(��^������4���lib/Smarty/sysplugins/smarty_internal_compile_if.php=!��cwj=!��3������9���lib/Smarty/sysplugins/smarty_internal_compile_include.php;<��cwj;<��\������8���lib/Smarty/sysplugins/smarty_internal_compile_insert.php��cwj��`\C������8���lib/Smarty/sysplugins/smarty_internal_compile_ldelim.phpB��cwjB��0â������>���lib/Smarty/sysplugins/smarty_internal_compile_make_nocache.php��cwj��6ZO:������9���lib/Smarty/sysplugins/smarty_internal_compile_nocache.php��cwj��ȶ������8���lib/Smarty/sysplugins/smarty_internal_compile_parent.phpT��cwjT��Ӷ������F���lib/Smarty/sysplugins/smarty_internal_compile_private_block_plugin.phpX��cwjX��Q������H���lib/Smarty/sysplugins/smarty_internal_compile_private_foreachsection.php��cwj��6(l������I���lib/Smarty/sysplugins/smarty_internal_compile_private_function_plugin.php- ��cwj- ��c@Ҷ������B���lib/Smarty/sysplugins/smarty_internal_compile_private_modifier.php ��cwj ��[1������O���lib/Smarty/sysplugins/smarty_internal_compile_private_object_block_function.phpv��cwjv��Paa������I���lib/Smarty/sysplugins/smarty_internal_compile_private_object_function.php ��cwj ��XSƶ������J���lib/Smarty/sysplugins/smarty_internal_compile_private_print_expression.php��cwj��s P������J���lib/Smarty/sysplugins/smarty_internal_compile_private_registered_block.php ��cwj ��ߢT������M���lib/Smarty/sysplugins/smarty_internal_compile_private_registered_function.php ��cwj ��ض������J���lib/Smarty/sysplugins/smarty_internal_compile_private_special_variable.phpD��cwjD��G#;������8���lib/Smarty/sysplugins/smarty_internal_compile_rdelim.php��cwj��vi�������9���lib/Smarty/sysplugins/smarty_internal_compile_section.phpI��cwjI��N�5������;���lib/Smarty/sysplugins/smarty_internal_compile_setfilter.php��cwj��FG/������D���lib/Smarty/sysplugins/smarty_internal_compile_shared_inheritance.php6��cwj6��VrX������7���lib/Smarty/sysplugins/smarty_internal_compile_while.phpR��cwjR��3Pi������5���lib/Smarty/sysplugins/smarty_internal_compilebase.php��cwj��6������>���lib/Smarty/sysplugins/smarty_internal_config_file_compiler.php}��cwj}��qpq������9���lib/Smarty/sysplugins/smarty_internal_configfilelexer.phpc��cwjc��-R������:���lib/Smarty/sysplugins/smarty_internal_configfileparser.phpf��cwjf��Lƶ������.���lib/Smarty/sysplugins/smarty_internal_data.php ��cwj ��yԶ������/���lib/Smarty/sysplugins/smarty_internal_debug.php>��cwj>�� ������6���lib/Smarty/sysplugins/smarty_internal_errorhandler.php< ��cwj< ��'������;���lib/Smarty/sysplugins/smarty_internal_extension_handler.php ��cwj ��}Qy������C���lib/Smarty/sysplugins/smarty_internal_method_addautoloadfilters.php��cwj��`;E������D���lib/Smarty/sysplugins/smarty_internal_method_adddefaultmodifiers.php��cwj��s4������7���lib/Smarty/sysplugins/smarty_internal_method_append.php~ ��cwj~ ��n: ������<���lib/Smarty/sysplugins/smarty_internal_method_appendbyref.php;��cwj;��%������<���lib/Smarty/sysplugins/smarty_internal_method_assignbyref.php ��cwj ��/f������=���lib/Smarty/sysplugins/smarty_internal_method_assignglobal.php��cwj��Q������?���lib/Smarty/sysplugins/smarty_internal_method_clearallassign.php/��cwj/��$)������>���lib/Smarty/sysplugins/smarty_internal_method_clearallcache.php ��cwj �� j������<���lib/Smarty/sysplugins/smarty_internal_method_clearassign.php]��cwj]�� Oc������;���lib/Smarty/sysplugins/smarty_internal_method_clearcache.php8��cwj8��˟U������F���lib/Smarty/sysplugins/smarty_internal_method_clearcompiledtemplate.php��cwj��-T������<���lib/Smarty/sysplugins/smarty_internal_method_clearconfig.php��cwj�� 8������A���lib/Smarty/sysplugins/smarty_internal_method_compileallconfig.php��cwj��Hж������D���lib/Smarty/sysplugins/smarty_internal_method_compilealltemplates.php��cwj��EmY������;���lib/Smarty/sysplugins/smarty_internal_method_configload.php9��cwj9��^q������;���lib/Smarty/sysplugins/smarty_internal_method_createdata.php_��cwj_��/������C���lib/Smarty/sysplugins/smarty_internal_method_getautoloadfilters.phpn��cwjn�� ������B���lib/Smarty/sysplugins/smarty_internal_method_getconfigvariable.php��cwj��0hö������>���lib/Smarty/sysplugins/smarty_internal_method_getconfigvars.php��cwj��݌������A���lib/Smarty/sysplugins/smarty_internal_method_getdebugtemplate.php��cwj��EO������D���lib/Smarty/sysplugins/smarty_internal_method_getdefaultmodifiers.php ��cwj ��@Ե������:���lib/Smarty/sysplugins/smarty_internal_method_getglobal.php��cwj��Tڂ������D���lib/Smarty/sysplugins/smarty_internal_method_getregisteredobject.phpm��cwjm��&UR������B���lib/Smarty/sysplugins/smarty_internal_method_getstreamvariable.php'��cwj'��������8���lib/Smarty/sysplugins/smarty_internal_method_gettags.phpX��cwjX��v������@���lib/Smarty/sysplugins/smarty_internal_method_gettemplatevars.php-��cwj-��������9���lib/Smarty/sysplugins/smarty_internal_method_literals.phpM ��cwjM ��.J[������;���lib/Smarty/sysplugins/smarty_internal_method_loadfilter.php��cwj��BO������;���lib/Smarty/sysplugins/smarty_internal_method_loadplugin.php��cwj��������<���lib/Smarty/sysplugins/smarty_internal_method_mustcompile.php��cwj��݌������F���lib/Smarty/sysplugins/smarty_internal_method_registercacheresource.php��cwj��f]5������>���lib/Smarty/sysplugins/smarty_internal_method_registerclass.php��cwj��O������M���lib/Smarty/sysplugins/smarty_internal_method_registerdefaultconfighandler.php��cwj��ն������M���lib/Smarty/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php&��cwj&��������O���lib/Smarty/sysplugins/smarty_internal_method_registerdefaulttemplatehandler.php ��cwj ��GrG������?���lib/Smarty/sysplugins/smarty_internal_method_registerfilter.php ��cwj ��撶������?���lib/Smarty/sysplugins/smarty_internal_method_registerobject.phpA��cwjA��Զ������?���lib/Smarty/sysplugins/smarty_internal_method_registerplugin.php��cwj��Xt������A���lib/Smarty/sysplugins/smarty_internal_method_registerresource.php��cwj��杸c������C���lib/Smarty/sysplugins/smarty_internal_method_setautoloadfilters.php. ��cwj. ��I ������A���lib/Smarty/sysplugins/smarty_internal_method_setdebugtemplate.php(��cwj(��ۢ������D���lib/Smarty/sysplugins/smarty_internal_method_setdefaultmodifiers.php��cwj��FP������=���lib/Smarty/sysplugins/smarty_internal_method_unloadfilter.php��cwj�� ������H���lib/Smarty/sysplugins/smarty_internal_method_unregistercacheresource.php[��cwj[��,3ȶ������A���lib/Smarty/sysplugins/smarty_internal_method_unregisterfilter.php��cwj��+"������A���lib/Smarty/sysplugins/smarty_internal_method_unregisterobject.phpL��cwjL��?������A���lib/Smarty/sysplugins/smarty_internal_method_unregisterplugin.php��cwj��D. ������C���lib/Smarty/sysplugins/smarty_internal_method_unregisterresource.phpG��cwjG��)#]������8���lib/Smarty/sysplugins/smarty_internal_nocache_insert.php��cwj��72ƶ������3���lib/Smarty/sysplugins/smarty_internal_parsetree.php��cwj��v������8���lib/Smarty/sysplugins/smarty_internal_parsetree_code.php��cwj��d ������6���lib/Smarty/sysplugins/smarty_internal_parsetree_dq.phpR ��cwjR ��$1������=���lib/Smarty/sysplugins/smarty_internal_parsetree_dqcontent.php��cwj��>������7���lib/Smarty/sysplugins/smarty_internal_parsetree_tag.php3��cwj3��˻������<���lib/Smarty/sysplugins/smarty_internal_parsetree_template.php>��cwj>��0V������8���lib/Smarty/sysplugins/smarty_internal_parsetree_text.phpk��cwjk��Q������7���lib/Smarty/sysplugins/smarty_internal_resource_eval.phpA ��cwjA ��*,������:���lib/Smarty/sysplugins/smarty_internal_resource_extends.php��cwj��ס������7���lib/Smarty/sysplugins/smarty_internal_resource_file.php.��cwj.��J������6���lib/Smarty/sysplugins/smarty_internal_resource_php.php��cwj��A������9���lib/Smarty/sysplugins/smarty_internal_resource_stream.php ��cwj ��,Ĕ������9���lib/Smarty/sysplugins/smarty_internal_resource_string.phpm ��cwjm ��Ԩ������=���lib/Smarty/sysplugins/smarty_internal_runtime_cachemodify.phpe ��cwje ��ڬ_������C���lib/Smarty/sysplugins/smarty_internal_runtime_cacheresourcefile.phpu��cwju��:q/������9���lib/Smarty/sysplugins/smarty_internal_runtime_capture.php ��cwj ��ߌ<������;���lib/Smarty/sysplugins/smarty_internal_runtime_codeframe.phpZ��cwjZ��$z������?���lib/Smarty/sysplugins/smarty_internal_runtime_filterhandler.php ��cwj ��������9���lib/Smarty/sysplugins/smarty_internal_runtime_foreach.php��cwj��SJR������@���lib/Smarty/sysplugins/smarty_internal_runtime_getincludepath.phpH��cwjH��8+������=���lib/Smarty/sysplugins/smarty_internal_runtime_inheritance.php!��cwj!��̶������>���lib/Smarty/sysplugins/smarty_internal_runtime_make_nocache.phpL��cwjL��(������=���lib/Smarty/sysplugins/smarty_internal_runtime_tplfunction.phpO��cwjO��sw������=���lib/Smarty/sysplugins/smarty_internal_runtime_updatecache.php��cwj��2r1������=���lib/Smarty/sysplugins/smarty_internal_runtime_updatescope.php��cwj�� ������;���lib/Smarty/sysplugins/smarty_internal_runtime_writefile.php ��cwj ��_W������@���lib/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php��cwj��'^������2���lib/Smarty/sysplugins/smarty_internal_template.php)h��cwj)h��U7������6���lib/Smarty/sysplugins/smarty_internal_templatebase.php9��cwj9��1������>���lib/Smarty/sysplugins/smarty_internal_templatecompilerbase.phpg��cwjg��I������7���lib/Smarty/sysplugins/smarty_internal_templatelexer.phpΏ��cwjΏ��v k������8���lib/Smarty/sysplugins/smarty_internal_templateparser.php�cwj�Yd϶������5���lib/Smarty/sysplugins/smarty_internal_testinstall.php5~��cwj5~�� \������3���lib/Smarty/sysplugins/smarty_internal_undefined.php��cwj��|������)���lib/Smarty/sysplugins/smarty_resource.php%��cwj%��~������0���lib/Smarty/sysplugins/smarty_resource_custom.php$ ��cwj$ ��lP������4���lib/Smarty/sysplugins/smarty_resource_recompiled.php ��cwj ��o������4���lib/Smarty/sysplugins/smarty_resource_uncompiled.php��cwj��PD������)���lib/Smarty/sysplugins/smarty_security.php\��cwj\��Irj ������0���lib/Smarty/sysplugins/smarty_template_cached.phpY��cwjY��Kݶ������2���lib/Smarty/sysplugins/smarty_template_compiled.php%��cwj%��_r������0���lib/Smarty/sysplugins/smarty_template_config.php[ ��cwj[ ��cB������7���lib/Smarty/sysplugins/smarty_template_resource_base.php;��cwj;��Zֶ������0���lib/Smarty/sysplugins/smarty_template_source.php��cwj�� y������3���lib/Smarty/sysplugins/smarty_undefined_variable.phpX��cwjX��������)���lib/Smarty/sysplugins/smarty_variable.php��cwj��өض������1���lib/Smarty/sysplugins/smartycompilerexception.php0��cwj0��@������)���lib/Smarty/sysplugins/smartyexception.phpa��cwja��Nj3������"���lib/classes/accessor.functions.php���cwj������������lib/classes/base/class.app.php ��cwj ��p1*������"���lib/classes/base/class.request.php ��cwj ��׶������"���lib/classes/base/class.session.php��cwj��-[϶������ ���lib/classes/base/class.utils.php@��cwj@��������%���lib/classes/base/compat.functions.php���cwj���5������#���lib/classes/base/misc.functions.php���cwj���1������ ���lib/classes/class.cms_smarty.php��cwj��J���������lib/classes/class.database.php���cwj���fH������"���lib/classes/class.http_request.php��cwj��5J���������lib/classes/class.langtools.phpE*��cwjE*�����������lib/classes/class.nls.php ��cwj �����������lib/classes/class.nlstools.phpV��cwjV��9Q������*���lib/classes/class.smarty_resource_phar.php��cwj��%���������lib/classes/class.wizard.php��cwj��*(������!���lib/classes/class.wizard_step.phpR��cwjR��&+^������(���lib/classes/tests/class.boolean_test.php��cwj��2(������.���lib/classes/tests/class.informational_test.php��cwj��s������)���lib/classes/tests/class.matchall_test.php��cwj��b2]������)���lib/classes/tests/class.matchany_test.php��cwj��j}O������&���lib/classes/tests/class.range_test.phpe��cwje��h)[������%���lib/classes/tests/class.test_base.php��cwj��+L������.���lib/classes/tests/class.version_range_test.php��cwj��&F������(���lib/classes/tests/class.warning_test.php��cwj��@ ���������lib/nls/class.de_DE.nls.phpa��cwja��Eж���������lib/nls/class.en_US.nls.phps��cwjs��`Vȶ���������lib/nls/class.fr_FR.nls.php��cwj�� h���������lib/nls/class.nb_NO.nls.php��cwj��¥1���������lib/nls/class.nl_NL.nls.phpf��cwjf��)`���������lib/nls/class.pt_PT.nls.phpx��cwjx��6(5)���������lib/nls/class.ru_RU.nls.phpR��cwjR��H/'Q������(���lib/plugins/modifier.cms_date_format.php% ��cwj% ��ӈ������*���lib/plugins/modifier.localedate_format.php>$��cwj>$��sl������-------------------------------------------------- CMS Made Simple PHAR Based Installation Assistant -------------------------------------------------- This document describes using the CMS Made Simple PHAR Based installation assistant. The PHAR based installation assistant is a stand-alone PHP application built to provide the ability to install, upgrade, or freshen CMS Made Simple from within a single easy-to-use PHP script. ------------------- NOTE: ------------------- The PHAR based installation assistant is a binary file and must be transferred in binary mode! ------------------- Requirements ------------------- 1. The installation assistant requires a PHP environment with a minimum version of PHP 7.1. 2. The website's PHP environment must include the PHAR extension. 3. For new installations of CMS Made Simple you should create a new mysql database and database user. - The database user must have ALL PRIVILEGES to all tables within the new database. - Your database user account must have a password. 4. CMS Made Simple itself requires at least PHP 7.1 with numerous libraries enabled (the install assistant will check for these) including json, tokenizer, xml, and gd. ------------------- Instructions ------------------- 1. Upload the cmsms-<version>-install.php file to your website top directory. 2. In your web browser, navigate to <your web directory>/cmsms-<version>-install.php For example: http://www.mywebsite.site/cmsms-3.44.55-install.php You should now be presented with a welcome screen. If, instead, you see a white screen it probably means that your server is running old, or incompatible, software and that you may be forced to use the traditional installer. It is a good hint that if the Phar installer will not run you may have further problems with CMS Made Simple on that server. The installation assistant can then be used to guide you through the process of installing a new version of CMSMS, Upgrading an existing installation of CMSMS, or freshening an existing version of CMSMS. There are various options for each path through the installation assistant and 9 steps Step 1: The first step asks you to select a language and optionally allows you to enable "Advanced Mode". Advanced Mode enables several additional options throughout the assistant and increases the verbosity of status output. Step 2: The second step does checks for existing software in your installation directory. If an existing installation of CMS Made Simple is detected you will be presented with options to proceed through the "upgrade" or "freshen" paths (depending upon the version detected). If no version of CMS Made Simple is installed you will be guided through the "installation" process. Step 3: Step 3 performs various tests on your PHP environment to try to ensure that it is compatible with CMS Made Simple. If important tests fail, you will be notified of them and not allowed to continue. However, if some non-critical tests fail you will be allowed to continue. We recommend that you adjust your PHP environment (you may need to contact your host for assistance) until all tests pass. Step 4: This step is used only during installation and freshen sessions. It asks you to provide basic configuration information for the CMS Made Simple environment. This includes database information and credentials, and a server time zone. As mentioned in the requirements above, CMSMS requires a mysql database to store data, and user credentials to access that mysql database. The user account provided must have ALL PRIVILEGES to the database. You can normally create databases, and create user accounts for database from within your web host's control panel. Additionally, you are asked to specify the time zone of the server (not your local time zone). You may need to ask your host for information about this. Upon submit, the installation assistant will validate your database credentials, and check the database to ensure you are not accidentally overwriting an existing installation of CMSMS. Step 5: This step is used only during an installation session. It asks you to provide basic credentials of the first admin user account. This admin user account allows you to log in to the CMSMS admin console with all privileges and access to all of its functionality. From within the CMSMS admin console you can create user groups, and further user accounts for additional site managers or editors. Unless you have enabled "advanced mode" in step 1, you must also provide an email address. The email address will be used to send you your login credentials in the event of a lost or forgotten password. Step 6: This step asks you for a human readable name for your website, and allows you to select additional language packs to install. Additional language packs allow users who login to the CMSMS admin console to display the output in their native language. Please note: although there are multiple languages available, not all of them are complete. Step 7: This step copies all of the CMSMS core files from within the installation assistant into your CMS Made Simple install. It also cleans up those files. Step 8: This step interacts with the database to ensure that all tables and initial content are created properly. During the installation process numerous tables and indexes are created in the database, and necessary initial data are installed. Additionally (if so selected) sample site-content is installed. That provides useful instruction on how to interact with, and build sites with, CMS Made Simple. It is recommended reading. During an upgrade session, any necessary database changes are performed to ensure that the database tables, and their contents, are compatible with the new version of CMSMS. Step 9: This step finishes the installation and performs a clean-up. During the installation process all core modules and selected non-core modules (if any) are installed, necessary temporary directories created, and the configuration file is written. During the upgrade process core modules and selected non-core modules (if any) are upgraded if necessary, and a new version of the configuration file is written. Any existing configuration file is backed up for safety. Additionally, the CMSMS cache is cleared. After everything is complete you will be presented with links to either visit the CMSMS website, or to log in to its admin console. ----------- Afterwards ----------- After confirming that the site is working as expected, confirm that the installer .php file and related folder (with all its contents) have been deleted from the server. If not so, delete them manually, using the site's file manager (in cPanel or the like). Likewise for any intaller.ini file, in the site-root folder, that was used to facilitate the installer session. --------------------- Additional Features --------------------- The single installation assistant package provides these features: 1. Installing a new version of CMSMS into an empty directory. 2. Upgrading an existing version of CMSMS to a new version 3. Freshening (or repairing) an existing installation of CMSMS This option may be useful for fixing a corrupted installation of CMSMS. Only available when the current version of CMSMS and the new version are identical, it will replace all of the core files with those distributed by the system and re-generate a new config.php file. 4. Installing additional language packages As part of the "Freshen" functionality, when repairing an installation you have the option to install additional language packs. 5. Advanced vs. Simple mode --------------------------- Parameter Details --------------------------- 1. tmpdir=/absolute/path Specify the absolute path to the directory to be used for temporary files. This directory must be writable by the PHP process. This option should not be needed on most hosts. 2. debug=true Attempt turn on error reporting, and to display some meaningful help information. 3. nobase=true Do not output a base href tag in the generated HTML. 4. dest=/absolute/path Allow specifying a custom destination directory (must be an absolute path). 5. nofiles=true Do not overwrite files. This is useful when needing to setup the database when the files have been manually extracted from the source code repository. 6. clear=true Usable only on the first step, this will ensure that all preset config information is cleared from the session (for development purposes only). --------------------------- Frequently Asked Questions --------------------------- Q: What is a PHAR? A: A Phar is a single, self contained, executable PHP Archive. It allows us to distribute the CMSMS installation assistant as a single file even though it contains numerous libraries, classes, stylesheets, and scripts. This allows CMSMS users to install, upgrade or freshen their CMSMS systems by uploading a single file to their web server. Q: Why is there a .php file inside the archive, and not a .phar? A: Most web servers are not configured to treat files ending with .phar as executable PHP scripts. Therefore we have renamed the file as a .php file so that web servers will know to execute the script. Please note however, that this is a binary file and must be treated as such. Q: How do I upload this thing via FTP? A: We do not recommend FTP as a file transfer mechanism. In fact, we highly discourage it. If your only mechanism to transfer files is via FTP because your host does not support shell/sftp or does not provide a reasonable web control panel with upload and unzip capabilities, then that could indicate that the host is not running up-to-date software, and you may have further difficulties. Consider evaluating and moving to a different host. If you still insist on using FTP then use a decent FTP client (such as filezilla) and ensure that you transfer ALL files in binary mode. Q: I get a message saying: "unable to create temporary file for decompression of gzipped phar archive" A: Some hosts have restricted PHP's write access to the system temporary directory, which the installer needs to expand archives. However there is a mechanism to use a different temporary directory for the installer. You can add a TMPDIR=/absolute/path/to/writable/directory argument to the URL on the first page. If this directory is writable it will be used for storing temporary files throughout the execution of the installation assistant. Q: The installation assistant says it cannot write to all files in the directory. Why? A: The installation assistant is capable of upgrading from different different versions of CMSMS, and to do that it must be able to create, update, and delete files. Including the config.php file. In order to do that the PHP processor it must be able to write to each and every file and directory in the installation directory. Additionally, the installation assistant will change the permissions on the config.php file so that by default it is protected. When performing an installation, or an upgrade you may need to manually change these permissions so that the installation assistant can adjust your config.php file. Q: I Get a white screen, what can I do? A: A white screen indicates an error of some sort. It can be caused by permissions problems, an incompatible host, or something else. There are a few things to try: 1. Try to browse to the README-PHAR.TXT file with your browser. If that also generates a white screen then it is indicative of permissions or .htaccess limitations. Note: Depending upon host configuration, Some hosts do not allow browseable files to be writable, or even readable by users other than the file owner. You can try changing the permissions of the extracted files to 600. 2. Rename your .htaccess file(s) out of the way. (Rewrite rules and bad configuration options in the .htaccess file can cause 500 errors). 3. Enable and find your php error logs so that you can find an actual error message to aide in further diagnosis. 4. Add ?debug=1 to the URL for the installer. This will attempt to enable a simple debug mode. This, depending on your host configuration may allow you to see error messages. Q: I still get a white screen, and I've enabled debug mode... now what? A: This could indicate that either your installer upload is corrupted OR that your host does not allow you to change debug settings in the standard way. You will probably have to contact your host in order to get at the actual error. Q: I Get a redirection loop, what can I do? A: Some hosting environments (nginx, and litespeed) particularly can cause redirection loops when executing even the simplest of phar archives. This is due to one or more bugs in php. Specifically: https://bugs.php.net/bug.php?id=71465 and https://bugs.php.net/bug.php?id=67587 (though more may exist). For these environments we recommend that you use the expanded installer. Be sure you read it's README file in it's entirety. --------------------------------------- CMS Made Simple Expanded Installation Assistant --------------------------------------- This document describes using the expanded CMS Made Simple installation assistant. As opposed to the PHAR based installation assistant, this version is not compressed into a single archive file and contains numerous files and directories. It is useful for installing, upgrading and freshening CMSMS installs on servers which are not necessarily running up-to-date software or those with special configurations that do not support using the simpler phar installer. ------------------- WARNINGS: ------------------- 1. We DO NOT recommend the use of this version of the installation assistant. Please use the PHAR version of the installer whenever possible. When using this installer, please execute extreme caution. 2. DO NOT INSTALL THIS PACKAGE IN A POPULATED DIRECTORY. At all times you MUST use a clean directory for the expanded version of the installation assistant. This clean directory can be located below an existing CMSMS install, or parallel to it. ------------------- Requirements: ------------------- 1. The installation assistant requires a PHP environment with a minimum version of PHP 5.4.0. 2. For new installations of CMS Made Simple you should create a new mysql database and database user. - The database user must have ALL PRIVILEGES to all tables within the new database. - Your database user account must have a password. 3. CMS Made Simple itself requires at least PHP 5.6 with numerous libraries enabled (the install assistant will check for these) including json, tokenizer, xml, and gd. 4. Your PHP environment must include the PHAR extension (yes, even for the expanded installer). This is for expanding the archive(s) included within the installation assistant. ------------------- Instructions: ------------------- 1. Using your web host's file manager (usually accessible within the control panel), create a new directory below the location where you want to install CMSMS. Typically, you could name this directory cmsms_install For example: /home/<myusername>/public_html/cmsms_install 2. Upload the cmsms-<version>-install.expanded.zip file to this subdirectory. 3. Extract the files from the .zip archive into this subdirectory. This will create numerous files and directories. So use caution that you are extracting the files into the proper directory. 3. Using your browser, navigate to the directory created in step 1. For Example: http://www.mywebsite.site/cmsms_install You should now be presented with a welcome screen. If instead you see a white screen it probably means that your server is running outdated software versions (e.g. PHP, plugins such as ion-cube or zend-guard). It is a good hint that if the installer will not run you may have further problems with CMS Made Simple on that server. The installation assistant can then be used to guide you through the process of installing a new version of CMSMS, Upgrading an existing installation of CMSMS, or freshening an existing version of CMSMS. There are various options for each path through the installation assistant and 9 steps Step 1: The first step asks you to select an installation directory (the default value is your current directory's parent), to select a language for use in the remainder of the installer, and optionally allows you to enable "Advanced Mode". ------- WARNING Use extreme caution and ensure that the destination directory you select is correct. ------- Advanced mode enables various additional options throughout the assistant and increases the verbosity of the status output. Step 2: The second step does checks for existing software in your installation directory. If an existing installation of CMS Made Simple is detected you will be presented with options to proceed through the "upgrade" or "freshen" paths (depending upon the version detected). If no version of CMS Made Simple is installed you will be guided through the "installation" process. Step 3: Step 3 performs various tests on your PHP environment to try to ensure that it is compatible with CMS Made Simple. If important tests fail, you will be notified of them and not allowed to continue. However, if some non-critical tests fail you will be allowed to continue. We recommend that you adjust your PHP environment (you may need to contact your host for assistance) until all tests pass. Step 4: This step is used only during the installation, and freshen paths. It asks you to provide basic configuration information for the CMS Made Simple environment. This includes database information and credentials, and a server time zone. As mentioned in the requirements above, CMSMS requires a mysql database to store data, and user credentials to access that mysql database. The user account provided must have ALL PRIVILEGES to the database. You can normally create databases, and create user accounts for database from within your web host's control panel. Additionally, you are asked to specify the time zone of the server (not your local time zone). You may need to ask your host for information about this. Upon submit, the installation assistant will validate your database credentials, and check the database to ensure you are not accidentally overwriting an existing installation of CMSMS. Step 5: This step is used only during the installation path. It asks you to provide basic credentials to the first Admin user account. This Admin user account allows you to login to the CMSMS Admin console with all privileges and access to all of its functionality. From within the CMSMS Admin console you can create user groups, and further user accounts for additional site managers or editors. Unless you have enabled "Advanced mode" in step 1, you must also provide an email address. The email address will be used to send you your login credentials in the event of a lost or forgotten password. An email will also be sent to you with your initial login credentials. Step 6: This step asks you for a human readable name for your website, and allows you to select additional language packs to install. Additional language packs allow users who login to the CMSMS Admin console to display the output in their native language. Please note: though there are multiple languages available, not all of them are complete. Step 7: This step copies all of the CMSMS Core files from within the installation assistant into your CMS Made Simple install. it also cleans up those files. Step 8: This step interacts with the database to ensure that all tables and initial content are created properly. During the installation process numerous tables and indexes are created in the database, and necessary initial data is installed. Additionally (by default) sample data is installed. The sample data provides useful instructions on how to interact with, and build sites with, CMS Made Simple. This is recommended reading. During the upgrade process, any necessary database changes are preformed to ensure that the database tables, and thier contents, are compatible with the new version of CMSMS. Step 9: This step finishes the installation and performs a clean up. During the installation process all core modules are installed, necessary temporary directories created, and the configuration file is written. During the upgrade process core modules are upgraded if necessary, and a new version of the configuration file is written. Any existing configuration file is backed up for safety. Additionally, the CMSMS cache is cleared. Once everything is complete you will be presented with links to either visit your CMSMS website, or to login to its Admin console. ----------- Afterwards ----------- After successful completion of the installation assistant, you should, using either the command line or your web hosts file manager, It is important for security purposes that you delete the installation assistant .php file and this text file from your server after verifying that the operation has succeeded. --------------------------- Additional Features --------------------------- The single installation assistant package provides these features: 1. Installing a new version of CMSMS into an empty directory. 2. Upgrading an existing version of CMSMS to a new version 3. Freshening (or Repairing) an existing installation of CMSMS This option may be useful for fixing a corrupted installation of CMSMS. Only available when the current version of CMSMS and the new version are identical, it will replace all of the core files with those distributed by the system and re-generate a new config.php file. 4. Installing additional language packages As part of the "Freshen" functionality, when repairing an installation you have the option to install additional language packs. 5. Advanced vs. Simple mode --------------------------- Available Options --------------------------- The installation assistant supports the following URL based options 1. TMPDIR=/absolute/path Specify the absolute path to the directory to be used for temporary files. This directory must be writable by the PHP process. This option should not be needed on most hosts. 2. debug=1 Attempt Turn on error reporting, and to display some meaningful help information. 3. nobase=1 Do not output a base href tag in the generated HTML. 4. dest=/absolute/path Allow specifying a custom destination directory (must be an absolute path). 5. nofiles=1 Do not overwrite files. This is useful when needing to setup the database when the files have been manually extracted from the source code repository. 6. clear=1 Usable only on the first step, this will ensure that all preset config information is cleared from the session (for development purposes only). ---- FAQ: ---- Q: The installation assistant says it cannot write to all files in the directory. Why? A: The installation assistant is capable of upgrading from different different versions of CMSMS, and to do that it must be able to create, update, and delete files. Including the config.php file. In order to do that the PHP processor it must be able to write to each and every file and directory in the installation directory. Additionally, the installation assistant will change the permissions on the config.php file so that by default it is protected. When performing an installation, or an upgrade you may need to manually change these permissions so that the installation assistant can adjust your config.php file. Q: I get a message saying: "unable to create temporary file for decompression of gzipped phar archive" A: Some hosts have restricted PHP's write access to the system temporary directory, which the installer needs to expand archives. However there is a mechanism to use a different temporary directory for the installer. You can add a TMPDIR=/absolute/path/to/writable/directory argument to the URL on the first page. If this directory is writable it will be used for storing temporary files throughout the execution of the installation assistant. Q: I Get a white screen, what can I do? A: A white screen indicates an error of some sort. It can be caused by permissions problems, an incompatible host, or something else. There are a few things to try: 1. Try to browse to the README-PHAR.TXT file with your browser. If that also generates a white screen then it is indicative of permissions or .htaccess limitations. Note: Depending upon host configuration, Some hosts do not allow browseable files to be writable, or even readable by users other than the file owner. You can try changing the permissions of the extracted files to 600. 2. Rename your .htaccess file(s) out of the way. (Rewrite rules and bad configuration options in the .htaccess file can cause 500 errors). 3. Enable and find your php error logs so that you can find an actual error message to aide in further diagnosis. 4. Add ?debug=1 to the URL for the installer. This will attempt to enable a simple debug mode. This, depending on your host configuration may allow you to see error messages. Q: I still get a white screen, and I've enabled debug mode... now what? A: This could indicate that either your installer upload is corrupted OR that your host does not allow you to change debug settings in the standard way. You will probably have to contact your host in order to get at the actual error. Q: How do I upload this thing via FTP? A: We do not recommend FTP as a file transfer mechanism. In fact, we highly discourage it. If your only mechanism to transfer files is via FTP because your host does not support shell/sftp or does not provide a reasonable web control panel with upload and unzip capabilities, then that could indicate that the host is not running up-to-date software, and you may have further difficulties. Consider evaluating and moving to a different host. If you still insist on using FTP then use a decent FTP client (such as filezilla) and ensure that you transfer ALL files in binary mode. Quick notes for debugging/developing the .phar installer 1: -- For developing with the .phar installer without building the thing for each test specify a ?dest=/full/path/to/directory argument on the INITIAL url i.e: http://www.mysite.com/phar_installer/index.php?dest=/var/www/cmsms_dir /* ========================================================================== * Application: CMSMS Phar Installer styles - Version 0.99 - Since 1.99-alpha0 * Copyright: 2014 CMS Made Simple DEV Team * Author: Goran Ilic - uniqu3e<at>gmail<dot>com ========================================================================== */ /* --------------------------------------------------------------------------- * Browser consistency - normalize.css v1.1.0 | MIT License | git.io/normalize -------------------------------------------------------------------------- */ article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } html { min-height: 100%; background : #f6f6f6; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iI2Y2ZjZmNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjQyJSIgc3RvcC1jb2xvcj0iI2YyZjJmMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjNGM0YzQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background: -moz-linear-gradient(top, rgba(246,246,246,1) 1%, rgba(242,242,242,1) 42%, rgba(196,196,196,1) 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,rgba(246,246,246,1)), color-stop(42%,rgba(242,242,242,1)), color-stop(100%,rgba(196,196,196,1))); background: -webkit-linear-gradient(top, rgba(246,246,246,1) 1%,rgba(242,242,242,1) 42%,rgba(196,196,196,1) 100%); background: -o-linear-gradient(top, rgba(246,246,246,1) 1%,rgba(242,242,242,1) 42%,rgba(196,196,196,1) 100%); background: -ms-linear-gradient(top, rgba(246,246,246,1) 1%,rgba(242,242,242,1) 42%,rgba(196,196,196,1) 100%); background: linear-gradient(to bottom, rgba(246,246,246,1) 1%,rgba(242,242,242,1) 42%,rgba(196,196,196,1) 100%); margin: 0 20px; font-size: 100%; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } html.lt-ie9 { filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#c4c4c4',GradientType=0 ); } html, button, input, select, textarea { font-family: sans-serif; } p, pre { margin: 1em 0; } img { border: 0; -ms-interpolation-mode: bicubic; } form { margin: 0; } button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } button, input { line-height: normal; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; *overflow: visible; } input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *height: 13px; *width: 13px; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } textarea { overflow: auto; vertical-align: top; } table { border-collapse: collapse; border-spacing: 0; } /* --------------------------------------------------------------------------- * Base Styles & Helpers -------------------------------------------------------------------------- */ *, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } img, object, embed, video { max-width: 100%; } strong { font-weight: 700; } abbr[title], dfn[title] { border-bottom: 1px dotted #ddd; cursor: help; } .hidden { display: none !important; visibility: hidden; } .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .no-list { list-style: none; } .no-margin { margin: 0; } .no-padding { padding: 0; } .text-centered { text-align: center; } .text-right { text-align: right; } body { margin: 0; min-height: 100%; line-height: 1.6; font-size: 1em; -webkit-font-smoothing: subpixel-antialiased; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; } .row { width: 100%; max-width: 1140px; margin: 0 auto; position: relative; } .row .row { max-width: none; } .row:before, .row:after, .cf:before, .cf:after { content: " "; display: table; } .row:after, .cf:after { clear: both; } .row [class*="-col"] { position: relative; } .inner { padding: 20px; } @media only screen and (min-width: 768px) { /* GRID */ .row .one-col { width: 4.85%; } .row .two-col { width: 13.45%; } .row .three-col { width: 22.05%; } .row .four-col { width: 30.75%; } .row .five-col { width: 39.45%; } .row .six-col { width: 48.1%; } .row .seven-col { width: 56.75%; } .row .eight-col { width: 65.4%; } .row .nine-col { width: 74.05%; } .row .ten-col { width: 82.7%; } .row .eleven-col { width: 91.35%; } .row .twelve-col { width: 100%; margin-left: 0; } .row [class*="-col"] { margin-left: 3.8%; float: left; min-height: 1px; position: relative; } .row [class*="-col"]:first-child, .row [class*="-col"].first { margin-left: 0; } } h1, h2, h3, h4, h5, h6 { margin: .5em 0; } /* --------------------------------------------------------------------------- * UI Layout -------------------------------------------------------------------------- */ .cmsms-ui { color: #222; } /* --- Typography and Elements --- */ .cmsms-ui hr { clear:both; border-width: 0; border-color: #ddd; border-style: solid; border-top-width: 1px; margin: 1em 0; min-height: 0; height: 1px; } .cmsms-ui .small-font { font-size: .75em; } .cmsms-ui a { color: #F79838; text-decoration: none; outline: 0; } .cmsms-ui a:hover, .cmsms-ui a:active { color: #EC7A06; } /* --- Icons --- */ @font-face { font-family: 'cmsms-ui'; src: url('../fonts/cmsms-ui.eot'); } @font-face { font-family: 'cmsms-ui'; src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggi/MIAAAC8AAAAYGNtYXAaVcxjAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5ZlJgS2gAAAFwAAAJHGhlYWT/99PHAAAKjAAAADZoaGVhA+IB8gAACsQAAAAkaG10eBsAAAcAAAroAAAARGxvY2EMMA4YAAALLAAAACRtYXhwAB4AtwAAC1AAAAAgbmFtZefgE4YAAAtwAAABQnBvc3QAAwAAAAAMtAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmDAHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIOYM//3//wAAAAAAIOYA//3//wAB/+MaBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAgAAAAACAAGgAAMACgAAJRMhAxMDETMXMxUBoGD+YGBAQJBA0AABAP8AASD+4AGgQEAAAAQAB//gAfkB4AADABwAMQA/AAABAyEDNTEyHgIXEx4BDgEjISIuATY3Ez4DMwM0PgIzMh4CFRQOAiMiLgI1NzIeAhUHIyc0PgIzAQCsAVisBAgIBwPbBgIJEg3+Tg0SCQIG2wMHCAgEIAUJCwcHCwkFBQkLBwcLCQUgBwsJBQosCgUJCwcBkf6PAXFPAwUJBf5MCxQOCQkOFAsBtAUJBQP+gAcLCQUFCQsHBwsJBQUJCwfABQkLB2BgBwsJBQAAAAMAAP/gAgAB4AAUABkAJAAAASIOAhUUHgIzMj4CNTQuAiMHMxUjNRMjNTM1IzUzFTMVAQA1XUYoKEZdNTVdRigoRl01IEBAYIAgIGAgAeAoRl01NV1GKChGXTU1XUYoYEBA/sAggCCgIAAAAAIAAP/gAgAB4AAUACUAAAEiDgIVFB4CMzI+AjU0LgIjFwcXFSMnByM1Nyc1Mxc3MxUBADVdRigoRl01NV1GKChGXTWAU1MtU1MtU1MtU1MtAeAoRl01NV1GKChGXTU1XUYorVNTLVNTLVNTLVNTLQACAAD/4AIAAeAAFAAbAAABIg4CFRQeAjMyPgI1NC4CIwMnNxc3FwcBADVdRigoRl01NV1GKChGXTUwai87uRfQAeAoRl01NV1GKChGXTU1XUYo/mCKMUuXF/AAAAMAAP/gAgAB4AAJAA4AEwAAJQMjBxUXMzc1JwMjNTMVNSM1MxUCAJDgkJDgkJBQQEBAQHABcJDgkJDgkP5gQECAwMAAAgAA/+ACAAHgABkAMwAAAS4DIyIOAgcXPgMzMh4CFwczNQcDIi4CJzcjFTceAzMyPgI3Jw4DIwG1ESkuMhspSz8vDjwKJC84HxQmIh8NSMBLtRQmIh8NSMBLESkuMhspSz8vDjwKJC84HwGVERwUChksPSQXHC0iEggOFQ1IwEv+iwgOFQ1IwEsRHBQKGSw9JBccLSISAAAEAAAAAAIAAcAABAAJAA8AFQAAASUNASUlFwcnNx8BBSU3FzcXBSU3FwIA/wD/AAEAAQD/AKurq6vNM/8A/wAzzc0z/wD/ADPNAUCAgICAVlZWVlacGoCAGmcHGoCAGmcAAAAADAAA/+AB4AHgAAMABwALAA8AEwAXABsAHwAjACcANAA5AAATMxUjNzMVIzczFSMFMxUjNzMVIzczFSMnMxUjNzMVIzczFSMlMxUjARUjNSMVIzUjESERIxMhESERoEBAYEBAYEBA/uBAQGBAQGBAQGBAQGBAQGBAQP7gQEABYEDgQEAB4EAg/mABoAEgQEBAQECAQEBAQECgQEBAQEBAQAFgICAgIP4AAgD+IAFg/qAAAAAABgAA/+ACAAHgAAoAHwBoAIkAlAC0AAA3MDQwNBU0FDAUMTc+AycuAyMmDgIXHgMXJTU0LgInBSYOAgc+Axc2FjYWNQcnHgMVFA4CBw4DFRQeAhceAxUUBhQGBxc+AzURJxUnNSc1NzU3FTcBNhY2FjcuAzU0PgI3BiIGJgcuAycdAT4DFwcwJjwBIzIcARYxFy4DJy4BIiYHJg4CBx4DFzc8ATY0NTwBLgE1AHYRHBMIAwMSGyERERwTCAMDExohEQGKDRgfEf6qER8XDQELGhwfDxE8OysoOA4VDwcHDhILCw4HAwsOEAYSGA8GAQEBmhEfGA1gIGBgIGD+XQQIBwgEBQkHAwECBAICBAUEAg4aFxQJChYXGQ1bAQEBAeIDDRIYDgUKDAsGESAcGAkDDxYcD5ABAQEtAgIBAQIClwEPHiYYFigdEgEQHCcWGCcfEQKcKhIeGQwBAQEOFh8QCRIMCAEBAQEBASMBBhQcIBEOGxYWBwoMDAoIBhAPDwMNGB0eFQIHBQcCAQEMGR4SAQoBYQFfAR8BXwFhAf8AAQEBAQEEDAwOBwUICQcFAQEBAQEECQsIImQDCQQEATwDAgMDAgMhDBARDwoBBAIBAggKEgkPGBQJAQEBBQQFAQQDBgMEAAIAAP/gAgAB4AAYADEAAAEhIg4CBxMGHgIzITI+AicTLgMjEyMXIzcjNzM3Jj4COwEHIyIOAgcXMwcBq/6rEh4ZDAEBAQ4XIBABVxAgFw4BAQEMGR4SCVQBYQEvAS0BAQwYKBxZAUcJCAYBAQFfDAHgDRgfEf6qER8YDQ0YHxEBVhEfGA3/AODgSTAYJhsOTwQIDAgoSQAAAgAA/+ACAAHgABgAggAAASEiDgIHEwYeAjMhMj4CJxMuAyMHBhYGFgcWDgIjIi4CJzIWOgEzMj4CNy4DJxYyFjIzMjYyNjMuAycyJjIiMx4DMy4DNyY+AjceAxcmNiY2Jz4DMzIeAhc+AzcOAwc+AzcOAwcBq/6rEh4ZDAEBAQ4XIBABVxAgFw4BAQEMGR4SBwEBAQEBASA8WjkTISIdDwMEBgUDDh0ZGgoNGhQQAwEFAwUBBAQHBAQPGBMKAQEBAQEBBAoICwUIDwkGAQEDAgUCECYtMBsCAQIBAQEMGB0TCBIPDwQIDQ8MBwQGCgsHBwwNCgcFCQsLBwHgDRgfEf6qER8YDQ0YHxEBVhEfGA2rAQMDAwEqV0YtBgoOCQEFCQ4IAQkPFg0BAQECAxAWHA8BAgQDAQUQEhULBgsLCgUUHxgNAgMFBAUDEh8XDgQHCgcCBAUHAwcODAoEAQIEBAIGDAsKBQAABAAA/+ACAAHgABgAHQAyAE8AAAEhIg4CFREUHgIzITI+AjURNC4CIwMjNTMVAyIuAjU0PgIzMh4CFRQOAiMBIzU0LgIjIg4CHQEjNTMVPgMzMh4CHQEBqv6sEh8XDg4XHxIBVBIfFw4OFx8S6kBAIAcLCQUFCQsHBwsJBQUJCwcBAEAFCQsHBwsJBUBABQwPEAgPGhQLAeAOFx8S/qwSHxcODhcfEgFUEh8XDv5g4OABAAUJCwcHCwkFBQkLBwcLCQX/AIAHCwkFBQkLB4DgKAcODAcNFR0RkAAAAAEAAAABAAAubcCrXw889QALAgAAAAAAz2xJhQAAAADPbEmFAAD/4AIAAeAAAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAAgAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAABAAAAAgAAAAIAAAcCAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAAACgAUAB4AOACYAM4BBgE0AVYBogHUAi4DIANsBCAEjgABAAAAEQC1AAwAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEAEAAAAAEAAAAAAAIADgBOAAEAAAAAAAMAEAAmAAEAAAAAAAQAEABcAAEAAAAAAAUAFgAQAAEAAAAAAAYACAA2AAEAAAAAAAoAKABsAAMAAQQJAAEAEAAAAAMAAQQJAAIADgBOAAMAAQQJAAMAEAAmAAMAAQQJAAQAEABcAAMAAQQJAAUAFgAQAAMAAQQJAAYAEAA+AAMAAQQJAAoAKABsAGMAbQBzAG0AcwAtAHUAaQBWAGUAcgBzAGkAbwBuACAAMQAuADAAYwBtAHMAbQBzAC0AdQBpY21zbXMtdWkAYwBtAHMAbQBzAC0AdQBpAFIAZQBnAHUAbABhAHIAYwBtAHMAbQBzAC0AdQBpAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAqcAAoAAAAAClQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAABuYAAAbmU8XliU9TLzIAAAfcAAAAYAAAAGAIIvzCY21hcAAACDwAAABMAAAATBpVzGNnYXNwAAAIiAAAAAgAAAAIAAAAEGhlYWQAAAiQAAAANgAAADb/99PHaGhlYQAACMgAAAAkAAAAJAPiAfJobXR4AAAI7AAAAEQAAABEGwAAB21heHAAAAkwAAAABgAAAAYAEVAAbmFtZQAACTgAAAFCAAABQufgE4Zwb3N0AAAKfAAAACAAAAAgAAMAAAEABAQAAQEBCWNtc21zLXVpAAECAAEAOvgcAvgbA/gYBB4KABlT/4uLHgoAGVP/i4sMB4tr+JT4dAUdAAAAwQ8dAAAAxhEdAAAACR0AAAbdEgASAQEJERMVGB0iJywxNjtARUpPVFljbXNtcy11aWNtc21zLXVpdTB1MXUyMHVFNjAwdUU2MDF1RTYwMnVFNjAzdUU2MDR1RTYwNXVFNjA2dUU2MDd1RTYwOHVFNjA5dUU2MEF1RTYwQnVFNjBDAAACAYkADwARAgABAAQABwAKAA0AMQCpAQABVQGaAd0COwKMAyoEPQSiBVwF8fyUDvyUDvyUDvuUDvg0ixXr95T8NIsr+5QFy/e0FUv7tIv4NPcki8tL92SLi0sFDveU+CUV+0D8Bffsi/tA+AUFi9oVi4sFlouWhJN8CPdv/EgFnG18c2mLCPxGiwVpi3yjnKkI92/4SAWTmpaSlosIa/wUFYudmZmdi52LmX2LeYt5fX15i3mLfZmLnQir91QVnYuZfYt5CIErX4uB6wWLnZmZnYsIDveU+HQV+yGL+wf7B4v7IYv7IfcH+wf3IYv3IYv3B/cHi/chi/ch+wf3B/shiwhrKxXLi4tLS4uLywXr+9QV+xSLi6uri4v3FGuLi6vri4v7NKuLi2sFDveU+HQV+yGL+wf7B4v7IYv7IfcH+wf3IYv3IYv3B/cHi/chi/ch+wf3B/shiwj3FPtBFTg43jiLXl6LON44OF6Li7je3jjei7i4i9443t64i4teBQ73lPh0Ffshi/sH+weL+yGL+yH3B/sH9yGL9yGL9wf3B4v3IYv3IfsH9wf7IYsIW/w0FSH3Hrq8xkD3TfcronT7ZPuEBQ74lPcEFfsk+AT7dIv7JPski/t09yT7JPd0i/ck9ySL93T7JPckBTv8NBVLi4vLy4uLSwWL9xQVS4uL91TLi4v7VAUO+En4KRVduUuoRIv7AosuRmYqCMd0BabU0r/di8CLu3auaAhDQ/dUi4v3VEBABftJ/AkVVotboGiuCNPT+1SLi/tU1tYFuV3LbtKL9wKL6NCw7AhPogVwQkRXOYsIDviU99QV+5T3FPuU+xT3lPsU95T3FAX7lOEV9z81+z81+z/h9z/hBfdh+zAVvnH7lPsU+5T3FL6l92EkBfdhkhW+cfuU+xT7lPcUvqX3YSQFDvc097QVy4uLS0uLBevLFcuLi0tLiwXryxXLi4tLS4sF+7T7FBXLi4tLS4sF68sVy4uLS0uLBevLFcuLi0tLiwUr9zQVy4uLS0uLBevLFcuLi0tLiwXryxXLi4tLS4sF+7TLFcuLi0tLiwX39Pf0FYtrS4uLq/t0i4trS4uLq0uLi/yU+HSLi/iUS4sFq/x0Ffw0i4v39Pg0i4v79AUOi7gVi4yLjYuMi4qLiYuKCPcK9ywVuYqqu4PHg8dfvF2MXYxsXZNPk0+3WbmJCPge9y8Vi7YFi7plsVyLCPvqiwVdi2Vmil2opbSgtIu4i/cai4uLCGNpU4sFsH2fX4tfi2V2a250bnSFgot4i3qqcJt/u2qabItXi4OKg4mDCPcuiwW6i7Gxi7oIi/efK4uLK2uLi+sri4ur64uL66uLiyvriwX8N/uTFZaLlYuVi32YgZyLn4uWjpeRlYWKhouFi2aLa5d0nwiLaosmBaaXqpOuiwgwThWKjouOio6MiIuIjIgI93ZrFYOocJpmpH6QfI17i16MYXl0cJNkrW60iwj3JIsFi5GMkIuRi5GKkoqRCA74P/h0FfvqiwVci2Vli1wIi/vqBYtcsWW6iwj36osFuouxsYu6CIv36gWLumWxXIsIk/uUFTiLi/t0K4uL93Rdi4vUuYuLuwWLzKex14sI44uLPEOLBXaLiICLdgiLY+uLfkIFDvg/+HQV++qLBVyLZWWLXAiL++oFi1yxZbqLCPfqiwW6i7Gxi7oIi/fqBYu6ZbFciwiD+z8Vi4eLiIuHi/sFN/sX+y+LW4tfmmajkoqRi5KLsouwmKiiZoxspICtkIqQipGLkouTjJKNCGSTbq6LtIuMi4uLi5eFmIeZi3SafKWLqYubj5mTmLRXyWnRh4mSi5GLkou6sLK6iwiji6GAmnqej52SnJWEd357eoCcjZuQmpGAenx8e38IDvg++HQV++iLBVyLZGSLXAiL++gFi1yyZLqLCPfoiwW6i7Kyi7oIi/foBYu6ZLJciwj7fvw0FUuLi/d0y4uL+3QFa/eUFXmLfZmLnYudmZmdi52LmX2LeYt5fX15iwj3lPuUFUuLi/cUBYudfZl5i3mLfX2LeQiL+xRLi4v3dMuLi2MFmJ2foaKLs4urZ4tfCIv7JAUO+JQU+JQViwwKAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmDAHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIOYM//3//wAAAAAAIOYA//3//wAB/+MaBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAIVfVH9fDzz1AAsCAAAAAADPbEmFAAAAAM9sSYUAAP/gAgAB4AAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAEAAAACAAAAAgAABwIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAABQAAARAAAAAAAOAK4AAQAAAAAAAQAQAAAAAQAAAAAAAgAOAE4AAQAAAAAAAwAQACYAAQAAAAAABAAQAFwAAQAAAAAABQAWABAAAQAAAAAABgAIADYAAQAAAAAACgAoAGwAAwABBAkAAQAQAAAAAwABBAkAAgAOAE4AAwABBAkAAwAQACYAAwABBAkABAAQAFwAAwABBAkABQAWABAAAwABBAkABgAQAD4AAwABBAkACgAoAGwAYwBtAHMAbQBzAC0AdQBpAFYAZQByAHMAaQBvAG4AIAAxAC4AMABjAG0AcwBtAHMALQB1AGljbXNtcy11aQBjAG0AcwBtAHMALQB1AGkAUgBlAGcAdQBsAGEAcgBjAG0AcwBtAHMALQB1AGkARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff'); font-weight: normal; font-style: normal; } [class^="icon-"], [class*=" icon-"] { font-family: 'cmsms-ui'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; } .icon-stack:before { content: "\e607"; } .icon-folder-open:before { content: "\e600"; } .icon-calendar:before { content: "\e608"; } .icon-warning:before { content: "\e601"; } .icon-info:before { content: "\e602"; } .icon-cancel-circle:before { content: "\e603"; } .icon-checkmark-circle:before { content: "\e604"; } .icon-spam:before { content: "\e605"; } .icon-loop:before { content: "\e606"; } .icon-googleplus:before { content: "\e609"; } .icon-facebook:before { content: "\e60a"; } .icon-twitter:before { content: "\e60b"; } .icon-linkedin:before { content: "\e60c"; } .icon-asterisk { font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif !important; } .icon-asterisk:before { content: " *"; } /* --- Colours --- */ .cmsms-ui .red { color: #A95252; } .cmsms-ui .blue { color: #4D8796; } .cmsms-ui .green { color: #52A954; } .cmsms-ui .yellow { color: #96904D; } .cmsms-ui .orange { color: #F79838; } /* --- Messages --- */ .cmsms-ui .message { position: relative; min-height: 18px; margin: 1em 0; height: auto; background-color: #EFEFEF; padding: 1em; line-height: 1.33; color: rgba(0,0,0,.6); -webkit-transition: opacity .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease; -moz-transition: opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease; transition: opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; border-radius: .225em; } .cmsms-ui .message.red { background-color: #F1D7D7; color: #A95252; } .cmsms-ui .message.blue { background-color: #E6F4F9; color: #4D8796; } .cmsms-ui .message.green { background-color: #DEFCD5; color: #52A954; } .cmsms-ui .message.yellow { background-color: #F6F3D5; color: #96904D; } .cmsms-ui .icon.message { display: table; width: 100%; } .cmsms-ui .icon.message > .message-icon { display: table-cell; vertical-align: middle; text-align: left; font-size: 3.5em; opacity: .3; } .cmsms-ui .icon.message > .message-icon + .content { padding-left: .5em; display: table-cell; vertical-align: middle; margin-top: 0; } /* --- Labels --- */ .cmsms-ui .label { display: inline-block; vertical-align: middle; margin: -.25em .25em 0; background-color: #efefef; padding: .1em .5em; text-transform: uppercase; font-weight: 400; font-size: .875em; border-radius: 3px; -webkit-transition: background .1s linear; -moz-transition: background .1s linear; transition: background .1s linear; } .cmsms-ui .label.circle { min-height: 1em; max-height: 2em; padding: .5em !important; line-height: 1em; text-align: center; border-radius: 500px; } .cmsms-ui .label.red { background-color: #A95252; color: #fff; } .cmsms-ui .label.blue { background-color: #6ECFF5; color: #fff; } .cmsms-ui .label.green { background-color: #52A954; color: #fff; } .cmsms-ui .label.yellow { background-color: #96904D; color: #fff; } .cmsms-ui .label.orange { background-color: #F05940; color: #fff; } /* --- Forms --- */ .cmsms-ui .form-row { margin-bottom: .7em; } .cmsms-ui .installer-form label { display: inline-block; padding-right: 25px; } .cmsms-ui .installer-form .form-field { display: inline-block; height: 34px; padding: 6px 12px; font-size: .875em; line-height: 1.42857143; color: #666; background-color: #fff; border: 1px solid #ddd; border-radius: 2px; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -o-box-shadow: inset 0 1px 1px rgba(0,0,0,.075); box-shadow: inset 0 1px 1px rgba(0,0,0,.075); -webkit-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; } .cmsms-ui .installer-form select.form-field { height: auto; } .cmsms-ui .installer-form .corner { background-color: transparent; border-color: #f2f2f2; position: absolute; top: 1px; right: 1px; z-index: 10; margin: 0; width: 25px; height: 25px; padding: 0; text-align: center; -webkit-transition: color .2s ease; -moz-transition: color .2s ease; transition: color .2s ease; } .cmsms-ui .installer-form .corner:after { position: absolute; content: ""; right: 0; top: 0; z-index: -1; width: 0; height: 0; border-top: 0 solid transparent; border-right: 25px solid transparent; border-bottom: 25px solid transparent; border-left: 0 solid transparent; border-right-color: inherit; -webkit-transition: border-color .2s ease; -moz-transition: border-color .2s ease; transition: border-color .2s ease; } .cmsms-ui .installer-form .corner.red:after { border-right-color: #F1D7D7; color: #A95252; } .cmsms-ui .installer-form .form-field:focus { border-color: rgba(0,0,0,.2); border-bottom-left-radius: 0; border-top-left-radius: 0; outline: 0; } .cmsms-ui .installer-form input[type="text"].form-field:focus, .cmsms-ui .installer-form input[type="password"].form-field:focus, .cmsms-ui .installer-form textarea.form-field:focus, .cmsms-ui .installer-form input[type="email"].form-field:focus { border-color: #FDA66B; -webkit-appearance: none; -webkit-box-shadow: .3em 0 0 0 #FDA66B inset; box-shadow: .3em 0 0 0 #FDA66B inset; } .cmsms-ui .installer-form .full-width { width: 100%; } .cmsms-ui .bigtext { max-height: 20em; max-width: 60em; overflow-y: none; overflow-x: none; } /* --- Buttons --- */ .cmsms-ui .action-button { display: inline-block; margin: 20px 0; font-weight: 400; text-align: center; vertical-align: middle; cursor: pointer; color: #666; border: none; white-space: nowrap; padding: 6px 18px; font-size: .875em; line-height: 1.42857143; text-decoration: none; border-radius: 2px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.05))); background-image: -webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05)); background-image: -moz-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05)); background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.05)); -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-box-shadow: 0 0 0 1px rgba(0,0,0,.08) inset; box-shadow: 0 0 0 1px rgba(0,0,0,.08) inset; -webkit-transition: opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,-webkit-box-shadow .25s ease; -moz-transition: opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease; transition: opacity .25s ease,background-color .25s ease,color .25s ease,background .25s ease,box-shadow .25s ease; } .cmsms-ui .action-button.positive { background-color: #5BBD72 !important; color: #fff; } .cmsms-ui .action-button.negative { background-color: #D95C5C !important; color: #fff; } .cmsms-ui .action-button.blue { background-color: #6ECFF5 !important; color: #fff; } .cmsms-ui .action-button.orange { background-color: #E96633 !important; color: #fff; } .cmsms-ui .action-button.social { color: #fff; font-weight: 700; text-transform: uppercase; } .cmsms-ui .action-button.google { background-color: #D34836; } .cmsms-ui .action-button.facebook { background-color: #3B579D; } .cmsms-ui .action-button.twitter { background-color: #4092CC; } .cmsms-ui .action-button.linkedin { background-color: #1F88BE; } .cmsms-ui .action-button:hover, .cmsms-ui .action-button:active { background-image: none; } .cmsms-ui .action-button.positive:hover, .cmsms-ui .action-button.positive:active { background-color: #58CB73 !important; color: #fff; } .cmsms-ui .action-button.negative:hover .cmsms-ui .action-button.negative:active { background-color: #D24B4C !important; color: #fff; } .cmsms-ui .action-button.blue:hover, .cmsms-ui .action-button.blue:active { background-color: #1AB8F3 !important; color: #fff; } .cmsms-ui .action-button.orange:hover, .cmsms-ui .action-button.orange:active { background-color: #FF7038; color: #fff; } /* --- Tables --- */ .cmsms-ui .table { width: 100%; border-collapse: collapse; } .cmsms-ui .table caption { font-weight: bold; text-align: left; font-size: 1.25em; } .cmsms-ui .table thead { border-bottom: 1px solid rgba(0,0,0,.03); } .cmsms-ui .bordered-table td, .cmsms-ui .bordered-table th { border: 1px solid #ddd; } .cmsms-ui .table th, .cmsms-ui .table tr, .cmsms-ui.table td { border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all .1s ease-out; -moz-transition: all .1s ease-out; transition: all .1s ease-out; } .cmsms-ui .table th { cursor: auto; background-color: #f2f2f2; text-align: left; color: rgba(0,0,0,.8); padding: .5em .7em; vertical-align: middle; } .cmsms-ui .table td { padding: .4em .7em; vertical-align: middle; } .cmsms-ui .table.zebra-table tr.even, .cmsms-ui .table.zebra-table td.even { background-color: #f9f9f9; } .cmsms-ui .table tr.warning, .cmsms-ui .table td.warning { background-color: #FBF6E9 !important; color: #7D6C00; } .cmsms-ui .table tr.error, .cmsms-ui .table td.error { background-color: #F9F4F4; color: #CD2929; } .cmsms-ui .table tr.warning:hover, .cmsms-ui .table td.warning:hover { background-color: #F3EDDC !important; color: #7D6C00; } .cmsms-ui .table tr:hover.error, .cmsms-ui .table td:hover.error { background-color: #F2E8E8; color: #CD2929; } .cmsms-ui .table .tests-infotext { display: inline-block; font-size: .875em; line-height: 1.3; } /* HEADER */ .cmsms-ui .header-section { text-align: center; padding: 28px 0 25px 0; line-height: 1; } .cmsms-ui .header-section .installer-title { display: block; font-size: 1.75em; font-weight: 300; } /* CONTENT */ .cmsms-ui .installer-section { background: #fff; border-radius: 2px; -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .1); -moz-box-shadow: 0 0 6px rgba(0, 0, 0, .1); -o-box-shadow: 0 0 6px rgba(0, 0, 0, .1); box-shadow: 0 0 6px rgba(0, 0, 0, .1); } .cmsms-ui .existing-info li { margin-bottom: .3em; word-break: break-word; } /* -- Aside steps indicator --- */ .cmsms-ui .installer-steps ol { margin: 0; padding-left: 20px; list-style: decimal; } .cmsms-ui .installer-steps ol > li { margin-bottom: 1.2em; } .cmsms-ui .installer-steps ol > li:hover { color: #666; } .cmsms-ui .installer-steps { color: #666; font-size: .875em; } .cmsms-ui .step-title { margin-bottom: 0; } .cmsms-ui .current-step { color: #F79838; } .cmsms-ui .done-step { color: #7AB949; } .cmsms-ui .step-description { margin-top: 0; line-height: 1.3; font-size: .928571em; color: #333; } .cmsms-ui .current-step .step-description { color: #333; } /* --- main content section --- */ .cmsms-ui .info { font-size: .875em; } .cmsms-ui .installer-form label { font-size: .875em; } .cmsms-ui .installer-form fieldset { margin: 0; padding: 15px; border: 1px solid #ddd; border-radius: 3px; background-color: #fefefe; } .cmsms-ui .installer-form .corner .icon-asterisk { margin-left: 12px; } .cmsms-ui .installer-content-section h1 { font-size: 1.5em; } .cmsms-ui .installer-test-legend { margin-top: 25px; } .cmsms-ui .installer-test-legend th { background-color: #f2f2f2 !important; } .cmsms-ui .table.installer-test-information { font-size: .875em; } #bottom_nav { display: none; } /* FOOTER */ .cmsms-ui .footer-section { text-align: center; padding: 10px 0 15px 0; } .cmsms-ui .footer-info a { font-size: .875em; color: #666; font-weight: 700; } .cmsms-ui .footer-section small { display: block; } | �� �����������������������LP�����������������������T_�������������������c�m�s�m�s�-�u�i����R�e�g�u�l�a�r����V�e�r�s�i�o�n� �1�.�0����c�m�s�m�s�-�u�i��������� ���0OS/2"������`cmapUc�����Lgasp�����h���glyfR`Kh��p�� head�� ���6hhea�� ���$hmtx���� ���Dloca 0�� ,���$maxp���� P��� name�� p��Bpost����� ��� �����Lf���GLf������������������������������������@�� � �������������� ������������������8��� ����� ����� �����������������������������79���������������79���������������79����������� ��%!33```@@@��� @@������1�?��!512#!".67>34>32#".572#'4>3�X  N          ,  qO L         `` ���������$��"32>54.#3#5#535#533�5]F((F]55]F((F]5 @@` ` (F]55]F((F]55]F(`@@ ��������%��"32>54.##'#57'5373�5]F((F]55]F((F]5SS-SS-SS-SS-(F]55]F((F]55]F(SS-SS-SS-SS-��������"32>54.#'77�5]F((F]55]F((F]50j/;(F]55]F((F]55]F(`1K������ ����%#375'#535#53�P@@@@pp`@@������3��.#">3235".'7#732>7'#).2)K?/< $/8&" HK&" HK).2)K?/< $/8 ,=$-" HK HK ,=$-"��������� ����% %%'7%77%7������3��33��3@VVVVVgg���� ����� ������#�'�4�9��3#73#73#3#73#73#'3#73#73#%3##5##5#!#!!@@`@@`@@@@`@@`@@`@@`@@`@@@@`@@@@ ` @@@@@@@@@@@@@@@@@` �� `�������� ��h�����704044017>'.#&%54.'&>665'>5''5'57577667.54>7"&.'>0&<#21.'."&&7<645<.5�v!!   <;+(8   ` `` `]   [    -&(''*   #     a__a�   "d <!     ������1��!"3!2>'.###7#737&>;#"3  W   Ta/- (YG _   V �I0&O (I���������!"3!2>'.##".'2:32>7.'22326263.'2&2"33.7&>7&6&6'>32>7>7  W   <Z9!"     &-0        V *WF-           ��������2�O��!"3!2>54.##53".54>32##54.#"#53>32T@@     �@  @@  T`�    �  (  ��������.m_<� �����lI����lI�������������������������������������������������������������������������������������������������� ���8��4V. l ������ ������������������������������������������N��������&��������\����������������6������ �(�l�� ������ ���N�� ���&�� ���\�� ����� ���>�� � �(�l�c�m�s�m�s�-�u�i�V�e�r�s�i�o�n� �1�.�0�c�m�s�m�s�-�u�icmsms-ui�c�m�s�m�s�-�u�i�R�e�g�u�l�a�r�c�m�s�m�s�-�u�i�G�e�n�e�r�a�t�e�d� �b�y� �I�c�o�M�o�o�n���������������������������������<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > <svg xmlns="http://www.w3.org/2000/svg"> <metadata>Generated by IcoMoon</metadata> <defs> <font id="cmsms-ui" horiz-adv-x="512"> <font-face units-per-em="512" ascent="480" descent="-32" /> <missing-glyph horiz-adv-x="512" /> <glyph unicode=" " d="" horiz-adv-x="256" /> <glyph unicode="" d="M416 0l96 256h-416l-96-256zM64 288l-64-288v416h144l64-64h208v-64z" /> <glyph unicode="" d="M256 400.638l-172.417-368.638h344.834l-172.417 368.638zM256 480v0c11.035 0 22.070-7.441 30.442-22.324l218.536-435.556c16.745-29.766 2.5-54.12-31.651-54.12h-434.654c-34.152 0-48.395 24.354-31.652 54.12l218.537 435.556c8.372 14.883 19.407 22.324 30.442 22.324zM224 96c0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32zM256 288c17.673 0 32-14.327 32-32l-10-96h-44l-10 96c0 17.673 14.327 32 32 32z" /> <glyph unicode="" d="M256 480c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM224 384h64v-64h-64v64zM320 64h-128v32h32v128h-32v32h96v-160h32v-32z" /> <glyph unicode="" d="M256 480c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM384 306.745l-82.744-82.745 82.744-82.744v-45.256h-45.256l-82.744 82.744-82.745-82.744h-45.255v45.256l82.745 82.744-82.745 82.745v45.255h45.255l82.745-82.745 82.744 82.745h45.256v-45.255z" /> <glyph unicode="" d="M256 480c-141.385 0-256-114.615-256-256s114.615-256 256-256 256 114.615 256 256-114.615 256-256 256zM208 64l-106 138 47 49 59-75 185 151 23-23-208-240z" /> <glyph unicode="" d="M512 112l-144 368h-224l-144-144v-224l144-144h224l144 144v224l-144 144zM288 64h-64v64h64v-64zM288 192h-64v192h64v-192z" /> <glyph unicode="" d="M437.011 405.010c-46.326 46.328-110.318 74.99-181.011 74.99-109.744 0-203.345-69.064-239.749-166.094l59.938-22.477c27.302 72.773 97.503 124.571 179.811 124.571 53.020 0 101.010-21.5 135.753-56.247l-71.753-71.753h192v192l-74.989-74.99zM256 32c-53.020 0-101.013 21.496-135.756 56.244l71.756 71.756h-192v-192l74.997 74.997c46.323-46.331 110.309-74.997 181.003-74.997 109.745 0 203.346 69.064 239.75 166.094l-59.938 22.477c-27.302-72.773-97.503-124.571-179.812-124.571z" /> <glyph unicode="" d="M512 320l-256 128-256-128 256-128 256 128zM256 405.515l171.029-85.515-171.029-85.515-171.029 85.515 171.029 85.515zM460.722 249.639l51.278-25.639-256-128-256 128 51.278 25.639 204.722-102.361zM460.722 153.639l51.278-25.639-256-128-256 128 51.278 25.639 204.722-102.361z" /> <glyph unicode="" d="M160 288h64v-64h-64zM256 288h64v-64h-64zM352 288h64v-64h-64zM64 96h64v-64h-64zM160 96h64v-64h-64zM256 96h64v-64h-64zM160 192h64v-64h-64zM256 192h64v-64h-64zM352 192h64v-64h-64zM64 192h64v-64h-64zM416 480v-32h-64v32h-224v-32h-64v32h-64v-512h480v512h-64zM448 0h-416v352h416v-352z" /> <glyph unicode="" d="M0.403 45.168c-0.122 1.266-0.226 2.535-0.292 3.815 0.065-1.28 0.17-2.549 0.292-3.815zM117.954 197.426c46.005-1.369 76.867 46.349 68.931 106.599-7.947 60.24-51.698 108.584-97.704 109.961-46.013 1.365-76.87-44.741-68.926-105 7.941-60.234 51.676-110.187 97.699-111.56zM512 352v42.655c0 46.94-38.391 85.345-85.329 85.345h-341.328c-46.138 0-84.006-37.116-85.282-82.963 29.181 25.693 69.662 47.158 111.437 47.158 44.652 0 178.622 0 178.622 0l-39.974-33.809h-56.634c37.565-14.402 57.578-58.062 57.578-102.861 0-37.624-20.905-69.977-50.444-92.984-28.822-22.451-34.286-31.854-34.286-50.939 0-16.289 30.873-44 47.016-55.394 47.191-33.269 62.458-64.156 62.458-115.728 0-8.214-1.021-16.415-3.033-24.48h153.871c46.937 0 85.328 38.375 85.328 85.345v266.654h-96v-95.999h-32v96h-95.999v32h95.999v96h32v-96h96zM92.943 97.032c10.807 0 20.711 0.295 30.968 0.295-13.573 13.167-24.313 29.3-24.313 49.19 0 11.804 3.782 23.168 9.067 33.26-5.391-0.385-10.895-0.497-16.563-0.497-37.178 0-68.753 12.038-92.102 31.927v-33.621l0.003-100.865c26.72 12.687 58.444 20.311 92.94 20.311zM1.71 36.371c-0.556 2.729-0.983 5.503-1.271 8.317 0.287-2.814 0.715-5.588 1.271-8.317zM227.725 3.577c-7.529 29.403-34.227 43.982-71.444 69.784-13.536 4.366-28.447 6.937-44.447 7.104-44.809 0.482-86.554-17.471-110.108-44.186 7.96-38.853 42.517-68.279 83.617-68.279h143.222c0.908 5.564 1.348 11.316 1.348 17.216 0 6.267-0.767 12.396-2.188 18.361z" /> <glyph unicode="" d="M426.672 480h-341.33c-46.936 0-85.342-38.407-85.342-85.344v-341.313c0-46.969 38.406-85.343 85.342-85.343l341.33 0.001c46.938 0 85.328 38.373 85.328 85.344v341.311c0 46.937-38.391 85.344-85.328 85.344zM435.296 224h-83.296v-224h-96v224h-46.263v73.282h46.263v47.593c0 64.671 27.896 103.125 103.935 103.125h87.622v-79.285h-71.565c-21.241 0.035-23.876-11.076-23.876-31.756l-0.116-39.677h96l-12.704-73.282z" /> <glyph unicode="" d="M426.671 480h-341.328c-46.937 0-85.343-38.405-85.343-85.345v-341.311c0-46.969 38.406-85.344 85.343-85.344h341.328c46.938 0 85.329 38.375 85.329 85.345v341.31c0 46.94-38.391 85.345-85.329 85.345zM419.026 309.083c0.164-3.671 0.245-7.364 0.245-11.074 0-113.107-84.608-243.534-239.329-243.534-47.502 0-91.717 14.174-128.943 38.459 6.58-0.794 13.276-1.197 20.065-1.197 39.411 0 75.679 13.685 104.467 36.641-36.808 0.69-67.872 25.438-78.577 59.441 5.137-1 10.406-1.537 15.826-1.537 7.672 0 15.103 1.048 22.16 3.004-38.48 7.866-67.475 42.458-67.475 83.928 0 0.361 0 0.719 0.008 1.076 11.34-6.41 24.312-10.26 38.1-10.705-22.571 15.349-37.421 41.546-37.421 71.244 0 15.685 4.147 30.389 11.389 43.029 41.487-51.785 103.468-85.86 173.377-89.431-1.435 6.266-2.179 12.798-2.179 19.507 0 47.269 37.663 85.59 84.115 85.59 24.195 0 46.059-10.393 61.401-27.029 19.16 3.838 37.162 10.96 53.416 20.771-6.281-19.988-19.617-36.761-36.983-47.355 17.013 2.069 33.226 6.67 48.31 13.477-11.273-17.162-25.535-32.238-41.972-44.305z" /> <glyph unicode="" d="M426 480h-340c-47.3 0-86-38.7-86-86v-340c0-47.3 38.7-86 86-86h340c47.3 0 86 38.7 86 86v340c0 47.3-38.7 86-86 86zM192 64h-64v224h64v-224zM160 320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM416 64h-64v128c0 17.673-14.327 32-32 32s-32-14.327-32-32v-128h-64v224h64v-39.736c13.199 18.132 33.376 39.736 56 39.736 39.765 0 72-35.817 72-80v-144z" /> </font></defs></svg>���� ���0OS/2"������`cmapUc�����Lgasp�����h���glyfR`Kh��p�� head�� ���6hhea�� ���$hmtx���� ���Dloca 0�� ,���$maxp���� P��� name�� p��Bpost����� ��� �����Lf���GLf������������������������������������@�� � �������������� ������������������8��� ����� ����� �����������������������������79���������������79���������������79����������� ��%!33```@@@��� @@������1�?��!512#!".67>34>32#".572#'4>3�X  N          ,  qO L         `` ���������$��"32>54.#3#5#535#533�5]F((F]55]F((F]5 @@` ` (F]55]F((F]55]F(`@@ ��������%��"32>54.##'#57'5373�5]F((F]55]F((F]5SS-SS-SS-SS-(F]55]F((F]55]F(SS-SS-SS-SS-��������"32>54.#'77�5]F((F]55]F((F]50j/;(F]55]F((F]55]F(`1K������ ����%#375'#535#53�P@@@@pp`@@������3��.#">3235".'7#732>7'#).2)K?/< $/8&" HK&" HK).2)K?/< $/8 ,=$-" HK HK ,=$-"��������� ����% %%'7%77%7������3��33��3@VVVVVgg���� ����� ������#�'�4�9��3#73#73#3#73#73#'3#73#73#%3##5##5#!#!!@@`@@`@@@@`@@`@@`@@`@@`@@@@`@@@@ ` @@@@@@@@@@@@@@@@@` �� `�������� ��h�����704044017>'.#&%54.'&>665'>5''5'57577667.54>7"&.'>0&<#21.'."&&7<645<.5�v!!   <;+(8   ` `` `]   [    -&(''*   #     a__a�   "d <!     ������1��!"3!2>'.###7#737&>;#"3  W   Ta/- (YG _   V �I0&O (I���������!"3!2>'.##".'2:32>7.'22326263.'2&2"33.7&>7&6&6'>32>7>7  W   <Z9!"     &-0        V *WF-           ��������2�O��!"3!2>54.##53".54>32##54.#"#53>32T@@     �@  @@  T`�    �  (  ��������.m_<� �����lI����lI�������������������������������������������������������������������������������������������������� ���8��4V. l ������ ������������������������������������������N��������&��������\����������������6������ �(�l�� ������ ���N�� ���&�� ���\�� ����� ���>�� � �(�l�c�m�s�m�s�-�u�i�V�e�r�s�i�o�n� �1�.�0�c�m�s�m�s�-�u�icmsms-ui�c�m�s�m�s�-�u�i�R�e�g�u�l�a�r�c�m�s�m�s�-�u�i�G�e�n�e�r�a�t�e�d� �b�y� �I�c�o�M�o�o�n���������������������������������wOFFOTTO�� � ���� T�����������������������CFF �������SOS/2�����`���`"cmap��<���L���LUcgasp�����������head�����6���6hhea�����$���$hmtx�����D���D��maxp�� 0�������P�name�� 8��B��Bpost�� |��� ��� ����� cmsms-ui���: �S �S kt��������� ��� "',16;@EJOTYcmsms-uicmsms-uiu0u1u20uE600uE601uE602uE603uE604uE605uE606uE607uE608uE609uE60AuE60BuE60C�������� � �1��U;*=\44+K4$KdK%@@|oHm|siFi|oHk}yy}}yy}T}y+_t!!!!!!!!k+ˋKKk닋4kt!!!!!!!!A888^^888^8ދ8޸^t!!!!!!!![4!@M+td$t$$t$$t$$t$$;4KˋKKTˋTI)]KD.Ff*tҿ݋vhCCTT@@I V[hTT]nҋаOpBDW9?5?5??a0qa$aqa$4ˋKKˋKKˋKKˋKKˋKKˋKK+4ˋKKˋKKˋKKˋKKkKtkKKtKt44 ,ǃ_]]l]OOY/e\]ef]ciS}__evkntntxzpjlW.++k+닋뫋+7}fktj&0Nvkpf~|{^aytpdn$?t\ee\\ee\8t+t]Թ̧׋㋋<Cvvc~B?t\ee\\ee\?7/[_ffldnt|Wiчzw~{zz||{>t\dd\\dd\~4Ktˋtky}}yy}}yK}yy}}yKtˋcg_$ �������Lf���GLf������������������������������������@�� � �������������� ������������������8��� ����� ����� �����������������������_T_<� �����lI����lI�����������������������������������������������������������������������������������������������P�������������������������N��������&��������\����������������6������ �(�l�� ������ ���N�� ���&�� ���\�� ����� ���>�� � �(�l�c�m�s�m�s�-�u�i�V�e�r�s�i�o�n� �1�.�0�c�m�s�m�s�-�u�icmsms-ui�c�m�s�m�s�-�u�i�R�e�g�u�l�a�r�c�m�s�m�s�-�u�i�G�e�n�e�r�a�t�e�d� �b�y� �I�c�o�M�o�o�n���������������������������������{ "IcoMoonType": "selection", "icons": [ { "icon": { "paths": [ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM416 832l-212-276 94-98 118 150 370-302 46 46-416 480z" ], "tags": [ "checkmark-circle", "tick", "correct" ], "grid": 16 }, "properties": { "id": 251, "order": 1, "prevSize": 32, "code": 58884, "name": "checkmark-circle", "ligatures": "" }, "setIdx": 0, "iconIdx": 251 }, { "icon": { "paths": [ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM768 346.51l-165.488 165.49 165.488 165.488v90.512h-90.512l-165.488-165.488-165.49 165.488h-90.51v-90.512l165.49-165.488-165.49-165.49v-90.51h90.51l165.49 165.49 165.488-165.49h90.512v90.51z" ], "tags": [ "cancel-circle", "close", "remove", "delete" ], "grid": 16 }, "properties": { "id": 250, "order": 2, "prevSize": 32, "code": 58883, "name": "cancel-circle", "ligatures": "" }, "setIdx": 0, "iconIdx": 250 }, { "icon": { "paths": [ "M1024 736 736 0h-448l-288 288v448l288 288h448l288-288v-448l-288-288zM576 832h-128v-128h128v128zM576 576h-128v-384h128v384z" ], "tags": [ "spam", "notice", "notification", "exclamation" ], "grid": 16 }, "properties": { "id": 252, "order": 3, "prevSize": 32, "code": 58885, "name": "spam", "ligatures": "" }, "setIdx": 0, "iconIdx": 252 }, { "icon": { "paths": [ "M832 960l192-512h-832l-192 512zM128 384l-128 576v-832h288l128 128h416v128z" ], "tags": [ "folder-open", "directory", "category", "browse" ], "grid": 16 }, "properties": { "id": 47, "order": 4, "prevSize": 32, "code": 58880, "name": "folder-open", "ligatures": "" }, "setIdx": 0, "iconIdx": 47 }, { "icon": { "paths": [ "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM448 192h128v128h-128v-128zM640 832h-256v-64h64v-256h-64v-64h192v320h64v64z" ], "tags": [ "info", "information" ], "grid": 16 }, "properties": { "id": 248, "order": 5, "prevSize": 32, "code": 58882, "name": "info", "ligatures": "" }, "setIdx": 0, "iconIdx": 248 }, { "icon": { "paths": [ "M512 158.724l-344.834 737.276h689.668l-344.834-737.276zM512 0v0c22.070 0 44.14 14.882 60.884 44.648l437.072 871.112c33.49 59.532 5 108.24-63.302 108.24h-869.308c-68.304 0-96.79-48.708-63.304-108.24l437.074-871.112c16.744-29.766 38.814-44.648 60.884-44.648zM448 768c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64zM512 384c35.346 0 64 28.654 64 64l-20 192h-88l-20-192c0-35.346 28.654-64 64-64z" ], "tags": [ "warning", "sign" ], "grid": 16 }, "properties": { "id": 244, "order": 6, "prevSize": 32, "code": 58881, "name": "warning", "ligatures": "" }, "setIdx": 0, "iconIdx": 244 }, { "icon": { "paths": [ "M874.022 149.98c-92.652-92.656-220.636-149.98-362.022-149.98-219.488 0-406.69 138.128-479.498 332.188l119.876 44.954c54.604-145.546 195.006-249.142 359.622-249.142 106.040 0 202.020 43 271.506 112.494l-143.506 143.506h384v-384l-149.978 149.98zM512 896c-106.040 0-202.026-42.992-271.512-112.488l143.512-143.512h-384v384l149.994-149.994c92.646 92.662 220.618 149.994 362.006 149.994 219.49 0 406.692-138.128 479.5-332.188l-119.876-44.954c-54.604 145.546-195.006 249.142-359.624 249.142z" ], "tags": [ "loop", "repeat", "reload", "refresh", "update", "upgrade", "synchronize", "media control", "arrows" ], "grid": 16 }, "properties": { "id": 284, "order": 7, "prevSize": 32, "code": 58886, "name": "loop", "ligatures": "" }, "setIdx": 0, "iconIdx": 284 }, { "icon": { "paths": [ "M1024 320l-512-256-512 256 512 256 512-256zM512 148.97l342.058 171.030-342.058 171.030-342.058-171.030 342.058-171.030zM921.444 460.722l102.556 51.278-512 256-512-256 102.556-51.278 409.444 204.722zM921.444 652.722l102.556 51.278-512 256-512-256 102.556-51.278 409.444 204.722z" ], "tags": [ "stack", "layers" ], "grid": 16 }, "properties": { "id": 45, "order": 8, "prevSize": 32, "code": 58887, "name": "stack", "ligatures": "" }, "setIdx": 0, "iconIdx": 45 }, { "icon": { "paths": [ "M320 384h128v128h-128zM512 384h128v128h-128zM704 384h128v128h-128zM128 768h128v128h-128zM320 768h128v128h-128zM512 768h128v128h-128zM320 576h128v128h-128zM512 576h128v128h-128zM704 576h128v128h-128zM128 576h128v128h-128zM832 0v64h-128v-64h-448v64h-128v-64h-128v1024h960v-1024h-128zM896 960h-832v-704h832v704z" ], "tags": [ "calendar", "schedule", "date", "time", "day" ], "grid": 16 }, "properties": { "id": 78, "order": 9, "prevSize": 32, "code": 58888, "name": "calendar", "ligatures": "" }, "setIdx": 0, "iconIdx": 78 }, { "icon": { "paths": [ "M852 0h-680c-94.6 0-172 77.4-172 172v680c0 94.6 77.4 172 172 172h680c94.6 0 172-77.4 172-172v-680c0-94.6-77.4-172-172-172zM384 832h-128v-448h128v448zM320 320c-35.346 0-64-28.654-64-64s28.654-64 64-64 64 28.654 64 64-28.654 64-64 64zM832 832h-128v-256c0-35.346-28.654-64-64-64s-64 28.654-64 64v256h-128v-448h128v79.472c26.398-36.264 66.752-79.472 112-79.472 79.53 0 144 71.634 144 160v288z" ], "tags": [ "linkedin", "social" ], "grid": 16 }, "properties": { "id": 415, "order": 10, "prevSize": 32, "code": 58892, "name": "linkedin", "ligatures": "" }, "setIdx": 0, "iconIdx": 415 }, { "icon": { "paths": [ "M853.344 0h-682.66c-93.872 0-170.684 76.814-170.684 170.688v682.626c0 93.938 76.812 170.686 170.684 170.686l682.66-0.002c93.876 0 170.656-76.746 170.656-170.688v-682.622c0-93.874-76.782-170.688-170.656-170.688zM870.592 512h-166.592v448h-192v-448h-92.526v-146.564h92.526v-95.186c0-129.342 55.792-206.25 207.87-206.25h175.244v158.57h-143.13c-42.482-0.070-47.752 22.152-47.752 63.512l-0.232 79.354h192l-25.408 146.564z" ], "tags": [ "facebook", "social" ], "grid": 16 }, "properties": { "id": 362, "order": 11, "prevSize": 32, "code": 58890, "name": "facebook", "ligatures": "" }, "setIdx": 0, "iconIdx": 362 }, { "icon": { "paths": [ "M853.342 0h-682.656c-93.874 0-170.686 76.81-170.686 170.69v682.622c0 93.938 76.812 170.688 170.686 170.688h682.656c93.876 0 170.658-76.75 170.658-170.69v-682.62c0-93.88-76.782-170.69-170.658-170.69zM838.052 341.834c0.328 7.342 0.49 14.728 0.49 22.148 0 226.214-169.216 487.068-478.658 487.068-95.004 0-183.434-28.348-257.886-76.918 13.16 1.588 26.552 2.394 40.13 2.394 78.822 0 151.358-27.37 208.934-73.282-73.616-1.38-135.744-50.876-157.154-118.882 10.274 2 20.812 3.074 31.652 3.074 15.344 0 30.206-2.096 44.32-6.008-76.96-15.732-134.95-84.916-134.95-167.856 0-0.722 0-1.438 0.016-2.152 22.68 12.82 48.624 20.52 76.2 21.41-45.142-30.698-74.842-83.092-74.842-142.488 0-31.37 8.294-60.778 22.778-86.058 82.974 103.57 206.936 171.72 346.754 178.862-2.87-12.532-4.358-25.596-4.358-39.014 0-94.538 75.326-171.18 168.23-171.18 48.39 0 92.118 20.786 122.802 54.058 38.32-7.676 74.324-21.92 106.832-41.542-12.562 39.976-39.234 73.522-73.966 94.71 34.026-4.138 66.452-13.34 96.62-26.954-22.546 34.324-51.070 64.476-83.944 88.61z" ], "tags": [ "twitter", "tweet", "social" ], "grid": 16 }, "properties": { "id": 366, "order": 12, "prevSize": 32, "code": 58891, "name": "twitter", "ligatures": "" }, "setIdx": 0, "iconIdx": 366 }, { "icon": { "paths": [ "M0.806 869.664c-0.244-2.532-0.452-5.070-0.584-7.63 0.13 2.56 0.34 5.098 0.584 7.63zM235.908 565.148c92.010 2.738 153.734-92.698 137.862-213.198-15.894-120.48-103.396-217.168-195.408-219.922-92.026-2.73-153.74 89.482-137.852 210 15.882 120.468 103.352 220.374 195.398 223.12zM1024 256v-85.31c0-93.88-76.782-170.69-170.658-170.69h-682.656c-92.276 0-168.012 74.232-170.564 165.926 58.362-51.386 139.324-94.316 222.874-94.316 89.304 0 357.244 0 357.244 0l-79.948 67.618h-113.268c75.13 28.804 115.156 116.124 115.156 205.722 0 75.248-41.81 139.954-100.888 185.968-57.644 44.902-68.572 63.708-68.572 101.878 0 32.578 61.746 88 94.032 110.788 94.382 66.538 124.916 128.312 124.916 231.456 0 16.428-2.042 32.83-6.066 48.96h307.742c93.874 0 170.656-76.75 170.656-170.69v-533.308h-192v191.998h-64v-192h-191.998v-64h191.998v-192h64v192h192zM185.886 765.936c21.614 0 41.422-0.59 61.936-0.59-27.146-26.334-48.626-58.6-48.626-98.38 0-23.608 7.564-46.336 18.134-66.52-10.782 0.77-21.79 0.994-33.126 0.994-74.356 0-137.506-24.076-184.204-63.854v67.242l0.006 201.73c53.44-25.374 116.888-40.622 185.88-40.622zM3.42 887.258c-1.112-5.458-1.966-11.006-2.542-16.634 0.574 5.628 1.43 11.176 2.542 16.634zM455.45 952.846c-15.058-58.806-68.454-87.964-142.888-139.568-27.072-8.732-56.894-13.874-88.894-14.208-89.618-0.964-173.108 34.942-220.216 88.372 15.92 77.706 85.034 136.558 167.234 136.558h286.444c1.816-11.128 2.696-22.632 2.696-34.432 0-12.534-1.534-24.792-4.376-36.722z" ], "tags": [ "google plus", "social" ], "grid": 16 }, "properties": { "id": 358, "order": 13, "prevSize": 32, "code": 58889, "name": "googleplus", "ligatures": "" }, "setIdx": 0, "iconIdx": 358 } ], "height": 1024, "metadata": { "name": "cmsms-ui" }, "preferences": { "showGlyphs": true, "showQuickUse": true, "fontPref": { "prefix": "icon-", "metadata": { "fontFamily": "cmsms-ui", "majorVersion": 1, "minorVersion": 0 }, "metrics": { "emSize": 512, "baseline": 6.25, "whitespace": 50 }, "embed": true, "showVersion": true, "showMetadata": true, "showMetrics": true, "resetPoint": 58880 }, "imagePref": {}, "historySize": 100, "showCodes": true, "search": "", "gridSize": 16 } }PNG  ��� IHDR��L���M���E]N���tEXtSoftware�Adobe ImageReadyqe<��IDATxOlWǟ')Ŕro *z}q*$RE" '.TYz�y6Q q薞/C6JƿqǓ7߼Y_i̛7g~{O           PSH/4GҼX9܏2@Ay�9+?9T$My%@c,ʖ$vyE �<Z#YW%8Hy0(ccDTsE �sae2\&|Fi("`v$80 4s#UIđ|{wŃ %4Ü7^-)ֵPGCB P$?:{q2zKm<Pf l2,$H=,ıO6-ox邡°%9B:?3ԢK=K/PMGNJ<;V`@ /|Ym\ =ߎzbZhCsIO ]` 2PXa`92ܣ ڝ(Nkܿ A] 8],t�s`9)iaZgY6d=*.7o21’6&KNk`8%-F:F;w> Ym(fUIM2kAtu7t'՗4EGvAoѽ7_N`ߐ UB ,|45LDE9ԯwguJҀ A3;=wy[O^c鏩,C9z0tkpj1UIEO4I¼&c.<Q(B2뺚`{Xq =Tȼg3qkΏ9~}ս4lS {o4'hAhº|_1@jQȐ>s?;]MY:fQY7\ nUQnr/ru&)|q^ʤ'|.ݟiIE4 d sk L@eRdLX3tI䋵*g3#fM-,ĮAͩ/>N'H&OZ3.KX{#72$)L->W .*?EےCܤ\3t9?glYg"C>RtcJwO'qAx�ʘ-+?Ea[/ el6Mq,o=KPҠ �=SR̜]NΣl4MR|mZ\;e | xp8kf.(=g 9 op/s cyXS=0 Uί/Y}q-V7F 8`:MSE*KftP"Z٧p嬋R`X|5Kk0fHYdeQDq[,]fܺs벡 ftFI34?=|Ŝsh%ئiXua*7- ǀxp>6iS4fX5#fpgϟ`fmh*Pxo)'@>~ X_*#S#?] ia@%{W+尨LE'@D LZ5܇gţ LJ5 0m2>GW#s 5U_K Kÿ*.iA NIH+Ftvd궨VC}SR=.jzZ, 3UzIKbᬜ.C>:{m4W -LWY#%>[UHnDyRx;woB\3*uP,:+$E)K[ܒ鞝#N4/&l,o/�0GF03*x ڰ4oAADkyk3',܏nVV`F]YՇ Y*%ۨIN˜gO~nwm  \T8`#zS<Qפ&/~DʹY3g`K _\~CV{`n3`檰XL  3!YS?h>n׼�$v!>/ �3cE߬+`,- IUb:Y+Lsh᎝>"@SiZ4 rӨ K>zN|yLB b_0թɭ'G,02yy(>9|+U n[`_έ:n<[T,MJI`Z5K^?"x[d�̜Vtg-Hr+`m;j ֩SnBE䦕5+UG 3{0i-Bf#f\Y<i$SW~4Ҧjk�V]f䜞,!:d `z){>&Mtv�4,,+r"rk Rv/2ɮtҴZ`8mfqSm5!GG0iƏ2Rtvor Pcp=407Xe+aSc]6+Rg>0ɊE5.Ö 8;{d <tնEXRQx U:E5E+T̤7``<|#[pz_OE5lE&wGiuL)aM]l&) Mϲ54QJT*^'hOE)EJkQQIӸsP X Boڔwˈt>Gi-�!�z ´K,˗^.Fm-}Ǔ}~��3 6.!�jZ)Oe֡!j2S<ql.r6�Lh"5Qek+&mN@46fzX婢UV9,qibsTǺd؜MgXYN0ůYN@Kh4%kAM֬,i'jUV'u==!<i>Ue&Q]$DtKIJym\,87D9?UaG6d]x^EJ+kfB=|8TBm.Kjiͭ+🕤+k2|J&m. **cUf$f_C{2]}Jka |}`eF,{'V]H [k\Z/ޛ/DY !Bvԁ,-[NW6-7gK+@c-kA ŀQf$\n+VD@*>{yA܂`Ky*H4N7w]\-i]`^(K(QnzfE4{ԕ1cM7Cs!9v^”jTw^ 4]3=Nxh D rt#צ#=HKÒ$YGyBT*U?@=rRA5˰#3C.1 ˪Y#/t & E|-AC؝LxED˸9Z D0#׾ o0/J˲ѷoPW5-ټj(xK&8)kba,r^3^0-MW4Bi"?\Ig¶3g56<yU>e"5A5% gI`RAH{]Bn҅I;w-ouh �s@h[B M44 ^�qiQ4C.A9NʃV](E8 $App&A1j*W`UB9fl9f!AY8imXA1PB9IlϦQsw .J}p x&7~/AAAAAAAAAA �W����IENDB`������� �h�����(������ ���� �������������������������������������I/jVIIXoL)������������������������8D<888888?F����������������8L8888888888R������������R88Fq}V88Y����=.<8{>H'Z88McO88L>UB8888l{nK88HB888Qh88888HM8J8D888TW8V888d<58ga88=F+����L8vu?88R��������8 H8BB8lE8L8������������8 B8888sL:D8������������������������87XLA=HW81��������������������������������������������������������if(typeof Object.create!=="function"){Object.create=function(e){function t(){}t.prototype=e;return new t}}var ua={toString:function(){return navigator.userAgent},test:function(e){return this.toString().toLowerCase().indexOf(e.toLowerCase())>-1}};ua.version=(ua.toString().toLowerCase().match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1];ua.webkit=ua.test("webkit");ua.gecko=ua.test("gecko")&&!ua.webkit;ua.opera=ua.test("opera");ua.ie=ua.test("msie")&&!ua.opera;ua.ie6=ua.ie&&document.compatMode&&typeof document.documentElement.style.maxHeight==="undefined";ua.ie7=ua.ie&&document.documentElement&&typeof document.documentElement.style.maxHeight!=="undefined"&&typeof XDomainRequest==="undefined";ua.ie8=ua.ie&&typeof XDomainRequest!=="undefined";var domReady=function(){var e=[];var t=function(){if(!arguments.callee.done){arguments.callee.done=true;for(var t=0;t<e.length;t++){e[t]()}}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",t,false)}if(ua.ie){(function(){try{document.documentElement.doScroll("left")}catch(e){setTimeout(arguments.callee,50);return}t()})();document.onreadystatechange=function(){if(document.readyState==="complete"){document.onreadystatechange=null;t()}}}if(ua.webkit&&document.readyState){(function(){if(document.readyState!=="loading"){t()}else{setTimeout(arguments.callee,10)}})()}window.onload=t;return function(t){if(typeof t==="function"){e[e.length]=t}return t}}();var cssHelper=function(){var e={BLOCKS:/[^\s{;][^{;]*\{(?:[^{}]*\{[^{}]*\}[^{}]*|[^{}]*)*\}/g,BLOCKS_INSIDE:/[^\s{][^{]*\{[^{}]*\}/g,DECLARATIONS:/[a-zA-Z\-]+[^;]*:[^;]+;/g,RELATIVE_URLS:/url\(['"]?([^\/\)'"][^:\)'"]+)['"]?\)/g,REDUNDANT_COMPONENTS:/(?:\/\*([^*\\\\]|\*(?!\/))+\*\/|@import[^;]+;)/g,REDUNDANT_WHITESPACE:/\s*(,|:|;|\{|\})\s*/g,WHITESPACE_IN_PARENTHESES:/\(\s*(\S*)\s*\)/g,MORE_WHITESPACE:/\s{2,}/g,FINAL_SEMICOLONS:/;\}/g,NOT_WHITESPACE:/\S+/g};var t,n=false;var r=[];var s=function(e){if(typeof e==="function"){r[r.length]=e}};var o=function(){for(var e=0;e<r.length;e++){r[e](t)}};var u={};var a=function(e,t){if(u[e]){var n=u[e].listeners;if(n){for(var r=0;r<n.length;r++){n[r](t)}}}};var f=function(e,t,n){if(ua.ie&&!window.XMLHttpRequest){window.XMLHttpRequest=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}if(!XMLHttpRequest){return""}var r=new XMLHttpRequest;try{r.open("get",e,true);r.setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest")}catch(i){n();return}var s=false;setTimeout(function(){s=true},5e3);document.documentElement.style.cursor="progress";r.onreadystatechange=function(){if(r.readyState===4&&!s){if(!r.status&&location.protocol==="file:"||r.status>=200&&r.status<300||r.status===304||navigator.userAgent.indexOf("Safari")>-1&&typeof r.status==="undefined"){t(r.responseText)}else{n()}document.documentElement.style.cursor="";r=null}};r.send("")};var l=function(t){t=t.replace(e.REDUNDANT_COMPONENTS,"");t=t.replace(e.REDUNDANT_WHITESPACE,"$1");t=t.replace(e.WHITESPACE_IN_PARENTHESES,"($1)");t=t.replace(e.MORE_WHITESPACE," ");t=t.replace(e.FINAL_SEMICOLONS,"}");return t};var c={stylesheet:function(t){var n={};var r=[],i=[],s=[],o=[];var u=t.cssHelperText;var a=t.getAttribute("media");if(a){var f=a.toLowerCase().split(",")}else{var f=["all"]}for(var l=0;l<f.length;l++){r[r.length]=c.mediaQuery(f[l],n)}var h=u.match(e.BLOCKS);if(h!==null){for(var l=0;l<h.length;l++){if(h[l].substring(0,7)==="@media "){var p=c.mediaQueryList(h[l],n);s=s.concat(p.getRules());i[i.length]=p}else{s[s.length]=o[o.length]=c.rule(h[l],n,null)}}}n.element=t;n.getCssText=function(){return u};n.getAttrMediaQueries=function(){return r};n.getMediaQueryLists=function(){return i};n.getRules=function(){return s};n.getRulesWithoutMQ=function(){return o};return n},mediaQueryList:function(t,n){var r={};var i=t.indexOf("{");var s=t.substring(0,i);t=t.substring(i+1,t.length-1);var o=[],u=[];var a=s.toLowerCase().substring(7).split(",");for(var f=0;f<a.length;f++){o[o.length]=c.mediaQuery(a[f],r)}var l=t.match(e.BLOCKS_INSIDE);if(l!==null){for(f=0;f<l.length;f++){u[u.length]=c.rule(l[f],n,r)}}r.type="mediaQueryList";r.getMediaQueries=function(){return o};r.getRules=function(){return u};r.getListText=function(){return s};r.getCssText=function(){return t};return r},mediaQuery:function(t,n){t=t||"";var r,i;if(n.type==="mediaQueryList"){r=n}else{i=n}var s=false,o;var u=[];var a=true;var f=t.match(e.NOT_WHITESPACE);for(var l=0;l<f.length;l++){var c=f[l];if(!o&&(c==="not"||c==="only")){if(c==="not"){s=true}}else if(!o){o=c}else if(c.charAt(0)==="("){var h=c.substring(1,c.length-1).split(":");u[u.length]={mediaFeature:h[0],value:h[1]||null}}}return{getQueryText:function(){return t},getAttrStyleSheet:function(){return i||null},getList:function(){return r||null},getValid:function(){return a},getNot:function(){return s},getMediaType:function(){return o},getExpressions:function(){return u}}},rule:function(e,t,n){var r={};var i=e.indexOf("{");var s=e.substring(0,i);var o=s.split(",");var u=[];var a=e.substring(i+1,e.length-1).split(";");for(var f=0;f<a.length;f++){u[u.length]=c.declaration(a[f],r)}r.getStylesheet=function(){return t||null};r.getMediaQueryList=function(){return n||null};r.getSelectors=function(){return o};r.getSelectorText=function(){return s};r.getDeclarations=function(){return u};r.getPropertyValue=function(e){for(var t=0;t<u.length;t++){if(u[t].getProperty()===e){return u[t].getValue()}}return null};return r},declaration:function(e,t){var n=e.indexOf(":");var r=e.substring(0,n);var i=e.substring(n+1);return{getRule:function(){return t||null},getProperty:function(){return r},getValue:function(){return i}}}};var h=function(e){if(typeof e.cssHelperText!=="string"){return}var n={stylesheet:null,mediaQueryLists:[],rules:[],selectors:{},declarations:[],properties:{}};var r=n.stylesheet=c.stylesheet(e);var s=n.mediaQueryLists=r.getMediaQueryLists();var o=n.rules=r.getRules();var u=n.selectors;var a=function(e){var t=e.getSelectors();for(var n=0;n<t.length;n++){var r=t[n];if(!u[r]){u[r]=[]}u[r][u[r].length]=e}};for(i=0;i<o.length;i++){a(o[i])}var f=n.declarations;for(i=0;i<o.length;i++){f=n.declarations=f.concat(o[i].getDeclarations())}var l=n.properties;for(i=0;i<f.length;i++){var h=f[i].getProperty();if(!l[h]){l[h]=[]}l[h][l[h].length]=f[i]}e.cssHelperParsed=n;t[t.length]=e;return n};var p=function(e,t){return;e.cssHelperText=l(t||e.innerHTML);return h(e)};var d=function(){n=true;t=[];var r=[];var i=function(){for(var e=0;e<r.length;e++){h(r[e])}var t=document.getElementsByTagName("style");for(e=0;e<t.length;e++){p(t[e])}n=false;o()};var s=document.getElementsByTagName("link");for(var u=0;u<s.length;u++){var a=s[u];if(a.getAttribute("rel").indexOf("style")>-1&&a.href&&a.href.length!==0&&!a.disabled){r[r.length]=a}}if(r.length>0){var c=0;var d=function(){c++;if(c===r.length){i()}};var v=function(t){var n=t.href;f(n,function(r){r=l(r).replace(e.RELATIVE_URLS,"url("+n.substring(0,n.lastIndexOf("/"))+"/$1)");t.cssHelperText=r;d()},d)};for(u=0;u<r.length;u++){v(r[u])}}else{i()}};var v={stylesheets:"array",mediaQueryLists:"array",rules:"array",selectors:"object",declarations:"array",properties:"object"};var m={stylesheets:null,mediaQueryLists:null,rules:null,selectors:null,declarations:null,properties:null};var g=function(e,t){if(m[e]!==null){if(v[e]==="array"){return m[e]=m[e].concat(t)}else{var n=m[e];for(var r in t){if(t.hasOwnProperty(r)){if(!n[r]){n[r]=t[r]}else{n[r]=n[r].concat(t[r])}}}return n}}};var y=function(e){m[e]=v[e]==="array"?[]:{};for(var n=0;n<t.length;n++){var r=e==="stylesheets"?"stylesheet":e;g(e,t[n].cssHelperParsed[r])}return m[e]};var b=function(e){if(typeof window.innerWidth!="undefined"){return window["inner"+e]}else if(typeof document.documentElement!=="undefined"&&typeof document.documentElement.clientWidth!=="undefined"&&document.documentElement.clientWidth!=0){return document.documentElement["client"+e]}};return{addStyle:function(e,t,n){var r=document.createElement("style");r.setAttribute("type","text/css");if(t&&t.length>0){r.setAttribute("media",t.join(","))}document.getElementsByTagName("head")[0].appendChild(r);if(r.styleSheet){r.styleSheet.cssText=e}else{r.appendChild(document.createTextNode(e))}r.addedWithCssHelper=true;if(typeof n==="undefined"||n===true){cssHelper.parsed(function(t){var n=p(r,e);for(var i in n){if(n.hasOwnProperty(i)){g(i,n[i])}}a("newStyleParsed",r)})}else{r.parsingDisallowed=true}return r},removeStyle:function(e){return e.parentNode.removeChild(e)},parsed:function(e){if(n){s(e)}else{if(typeof t!=="undefined"){if(typeof e==="function"){e(t)}}else{s(e);d()}}},stylesheets:function(e){cssHelper.parsed(function(t){e(m.stylesheets||y("stylesheets"))})},mediaQueryLists:function(e){cssHelper.parsed(function(t){e(m.mediaQueryLists||y("mediaQueryLists"))})},rules:function(e){cssHelper.parsed(function(t){e(m.rules||y("rules"))})},selectors:function(e){cssHelper.parsed(function(t){e(m.selectors||y("selectors"))})},declarations:function(e){cssHelper.parsed(function(t){e(m.declarations||y("declarations"))})},properties:function(e){cssHelper.parsed(function(t){e(m.properties||y("properties"))})},broadcast:a,addListener:function(e,t){if(typeof t==="function"){if(!u[e]){u[e]={listeners:[]}}u[e].listeners[u[e].listeners.length]=t}},removeListener:function(e,t){if(typeof t==="function"&&u[e]){var n=u[e].listeners;for(var r=0;r<n.length;r++){if(n[r]===t){n.splice(r,1);r-=1}}}},getViewportWidth:function(){return b("Width")},getViewportHeight:function(){return b("Height")}}}();domReady(function(){var t;var n={LENGTH_UNIT:/[0-9]+(em|ex|px|in|cm|mm|pt|pc)$/,RESOLUTION_UNIT:/[0-9]+(dpi|dpcm)$/,ASPECT_RATIO:/^[0-9]+\/[0-9]+$/,ABSOLUTE_VALUE:/^[0-9]*(\.[0-9]+)*$/};var r=[];var i=function(){var e="css3-mediaqueries-test";var t=document.createElement("div");t.id=e;var n=cssHelper.addStyle("@media all and (width) { #"+e+" { width: 1px !important; } }",[],false);document.body.appendChild(t);var r=t.offsetWidth===1;n.parentNode.removeChild(n);t.parentNode.removeChild(t);i=function(){return r};return r};var s=function(){t=document.createElement("div");t.style.cssText="position:absolute;top:-9999em;left:-9999em;"+"margin:0;border:none;padding:0;width:1em;font-size:1em;";document.body.appendChild(t);if(t.offsetWidth!==16){t.style.fontSize=16/t.offsetWidth+"em"}t.style.width=""};var o=function(e){t.style.width=e;var n=t.offsetWidth;t.style.width="";return n};var u=function(e,t){var r=e.length;var i=e.substring(0,4)==="min-";var s=!i&&e.substring(0,4)==="max-";if(t!==null){var u;var a;if(n.LENGTH_UNIT.exec(t)){u="length";a=o(t)}else if(n.RESOLUTION_UNIT.exec(t)){u="resolution";a=parseInt(t,10);var f=t.substring((a+"").length)}else if(n.ASPECT_RATIO.exec(t)){u="aspect-ratio";a=t.split("/")}else if(n.ABSOLUTE_VALUE){u="absolute";a=t}else{u="unknown"}}var l,c;if("device-width"===e.substring(r-12,r)){l=screen.width;if(t!==null){if(u==="length"){return i&&l>=a||s&&l<a||!i&&!s&&l===a}else{return false}}else{return l>0}}else if("device-height"===e.substring(r-13,r)){c=screen.height;if(t!==null){if(u==="length"){return i&&c>=a||s&&c<a||!i&&!s&&c===a}else{return false}}else{return c>0}}else if("width"===e.substring(r-5,r)){l=document.documentElement.clientWidth||document.body.clientWidth;if(t!==null){if(u==="length"){return i&&l>=a||s&&l<a||!i&&!s&&l===a}else{return false}}else{return l>0}}else if("height"===e.substring(r-6,r)){c=document.documentElement.clientHeight||document.body.clientHeight;if(t!==null){if(u==="length"){return i&&c>=a||s&&c<a||!i&&!s&&c===a}else{return false}}else{return c>0}}else if("device-aspect-ratio"===e.substring(r-19,r)){return u==="aspect-ratio"&&screen.width*a[1]===screen.height*a[0]}else if("color-index"===e.substring(r-11,r)){var h=Math.pow(2,screen.colorDepth);if(t!==null){if(u==="absolute"){return i&&h>=a||s&&h<a||!i&&!s&&h===a}else{return false}}else{return h>0}}else if("color"===e.substring(r-5,r)){var p=screen.colorDepth;if(t!==null){if(u==="absolute"){return i&&p>=a||s&&p<a||!i&&!s&&p===a}else{return false}}else{return p>0}}else if("resolution"===e.substring(r-10,r)){var d;if(f==="dpcm"){d=o("1cm")}else{d=o("1in")}if(t!==null){if(u==="resolution"){return i&&d>=a||s&&d<a||!i&&!s&&d===a}else{return false}}else{return d>0}}else{return false}};var a=function(e){var t=e.getValid();var n=e.getExpressions();var r=n.length;if(r>0){for(var i=0;i<r&&t;i++){t=u(n[i].mediaFeature,n[i].value)}var s=e.getNot();return t&&!s||s&&!t}return t};var f=function(e,t){var n=e.getMediaQueries();var i={};for(var s=0;s<n.length;s++){var o=n[s].getMediaType();if(n[s].getExpressions().length===0){continue}var u=true;if(o!=="all"&&t&&t.length>0){u=false;for(var f=0;f<t.length;f++){if(t[f]===o){u=true}}}if(u&&a(n[s])){i[o]=true}}var l=[],c=0;for(var h in i){if(i.hasOwnProperty(h)){if(c>0){l[c++]=","}l[c++]=h}}if(l.length>0){r[r.length]=cssHelper.addStyle("@media "+l.join("")+"{"+e.getCssText()+"}",t,false)}};var l=function(e,t){for(var n=0;n<e.length;n++){f(e[n],t)}};var c=function(e){var t=e.getAttrMediaQueries();var n=false;var i={};for(var s=0;s<t.length;s++){if(a(t[s])){i[t[s].getMediaType()]=t[s].getExpressions().length>0}}var o=[],u=[];for(var f in i){if(i.hasOwnProperty(f)){o[o.length]=f;if(i[f]){u[u.length]=f}if(f==="all"){n=true}}}if(u.length>0){r[r.length]=cssHelper.addStyle(e.getCssText(),u,false)}var c=e.getMediaQueryLists();if(n){l(c)}else{l(c,o)}};var h=function(e){for(var t=0;t<e.length;t++){c(e[t])}if(ua.ie){document.documentElement.style.display="block";setTimeout(function(){document.documentElement.style.display=""},0);setTimeout(function(){cssHelper.broadcast("cssMediaQueriesTested")},100)}else{cssHelper.broadcast("cssMediaQueriesTested")}};var p=function(){for(var e=0;e<r.length;e++){cssHelper.removeStyle(r[e])}r=[];cssHelper.stylesheets(h)};var d=0;var v=function(){var e=cssHelper.getViewportWidth();var t=cssHelper.getViewportHeight();if(ua.ie){var n=document.createElement("div");n.style.position="absolute";n.style.top="-9999em";n.style.overflow="scroll";document.body.appendChild(n);d=n.offsetWidth-n.clientWidth;document.body.removeChild(n)}var r;var s=function(){var n=cssHelper.getViewportWidth();var s=cssHelper.getViewportHeight();if(Math.abs(n-e)>d||Math.abs(s-t)>d){e=n;t=s;clearTimeout(r);r=setTimeout(function(){if(!i()){p()}else{cssHelper.broadcast("cssMediaQueriesTested")}},500)}};window.onresize=function(){var e=window.onresize||function(){};return function(){e();s()}}()};var m=document.documentElement;m.style.marginLeft="-32767px";setTimeout(function(){m.style.marginLeft=""},5e3);return function(){if(!i()){cssHelper.addListener("newStyleParsed",function(e){c(e.cssHelperParsed.stylesheet)});cssHelper.addListener("cssMediaQueriesTested",function(){if(ua.ie){m.style.width="1px"}setTimeout(function(){m.style.width="";m.style.marginLeft=""},0);cssHelper.removeListener("cssMediaQueriesTested",arguments.callee)});s();p()}else{m.style.marginLeft=""}v()}}());try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}function get_message_target() { return document.getElementById("inner"); } function append_message_line(type, str) { var theDiv = get_message_target(); if( !theDiv ) return; var newNode = document.createElement('p'); if( type === 'error' ) { newNode.className = 'message red'; } else if( type === 'verbose' ) { newNode.className = 'verbose'; } else { newNode.className = 'message blue'; } newNode.innerHTML = str; theDiv.appendChild(newNode); theDiv.scrollTop = theDiv.scrollHeight; } function add_message(str) { append_message_line('message', str); } function add_verbose(str) { append_message_line('verbose', str); } function add_error(str) { append_message_line('error', str); } function set_block_html(id, html) { var theDiv = document.getElementById(id); if( !theDiv ) return; theDiv.innerHTML = html; } function finish() { var theDiv = document.getElementById("bottom_nav"); if( !theDiv ) return; theDiv.style.display = 'block'; } function cmsms_installer_event(eventName, payload) { switch( eventName ) { case 'message': add_message(payload); break; case 'verbose': add_verbose(payload); break; case 'error': add_error(payload); break; case 'set_block_html': if( payload ) { set_block_html(payload.id, payload.html); } break; case 'finish': finish(); break; } } function socialShare() { // Twitter if (document.getElementById('twitter')) { document.getElementById('twitter').onclick = function() { window.open('https://twitter.com/intent/tweet?button_hashtag=cmsms&text=' + cmsms_lang.message, 'sharertwt', 'toolbar=0,status=0,width=540,height=345'); }; } // Google+ if (document.getElementById('google')) { document.getElementById('google').onclick = function() { window.open('https://plus.google.com/share?url=http://www.cmsmadesimple.org', 'sharergplus', 'toolbar=0,status=0,width=524,height=505'); }; } // Facebook if (document.getElementById('facebook')) { document.getElementById('facebook').onclick = function() { window.open('http://www.facebook.com/sharer.php?u=http://www.cmsmadesimple.org', 'sharerfacebook', 'toolbar=0,status=0,width=525,height=368'); }; } // Linkedin if (document.getElementById('linkedin')) { document.getElementById('linkedin').onclick = function() { window.open('https://www.linkedin.com/cws/share?url=http%3A%2F%2Fwww.cmsmadesimple.org%2F&isFramed=true', 'sharerlinkedin', 'toolbar=0,status=0,width=540,height=528'); }; } } window.onload = function() { var freshen = document.getElementById('freshen'), upgrade = document.getElementById('upgrade'); if( freshen ) { freshen.onclick = function() { return confirm(cmsms_lang.freshen); }; } if( upgrade ) { upgrade.onclick = function() { return confirm(cmsms_lang.upgrade); }; } socialShare(); }; function add_message(str){var theDiv=document.getElementById("inner");var newNode=document.createElement('p');newNode.className='message blue';newNode.innerHTML=str;theDiv.appendChild(newNode);theDiv.scrollTop=theDiv.scrollHeight;} function add_verbose(str){var theDiv=document.getElementById("inner");var newNode=document.createElement('p');newNode.className='verbose';newNode.innerHTML=str;theDiv.appendChild(newNode);theDiv.scrollTop=theDiv.scrollHeight;} function add_error(str){var theDiv=document.getElementById("inner");var newNode=document.createElement('p');newNode.innerHTML=str;newNode.className='message red';theDiv.appendChild(newNode);theDiv.scrollTop=theDiv.scrollHeight;} function set_block_html(id,html){var theDiv=document.getElementById(id);theDiv.innerHTML=html;} function finish(){var theDiv=document.getElementById("bottom_nav");theDiv.style.display='table';} function socialShare(){if(document.getElementById('twitter')){document.getElementById('twitter').onclick=function(){window.open('https://twitter.com/intent/tweet?button_hashtag=cmsms&text='+cmsms_lang.message,'sharertwt','toolbar=0,status=0,width=540,height=345');};} if(document.getElementById('google')){document.getElementById('google').onclick=function(){window.open('https://plus.google.com/share?url=http://www.cmsmadesimple.org','sharergplus','toolbar=0,status=0,width=524,height=505');};} if(document.getElementById('facebook')){document.getElementById('facebook').onclick=function(){window.open('http://www.facebook.com/sharer.php?u=http://www.cmsmadesimple.org','sharerfacebook','toolbar=0,status=0,width=525,height=368');};} if(document.getElementById('linkedin')){document.getElementById('linkedin').onclick=function(){window.open('https://www.linkedin.com/cws/share?url=http%3A%2F%2Fwww.cmsmadesimple.org%2F&isFramed=true','sharerlinkedin','toolbar=0,status=0,width=540,height=528');};}} window.onload=function(){var freshen=document.getElementById('freshen'),upgrade=document.getElementById('upgrade');if(freshen){freshen.onclick=function(){return confirm(cmsms_lang.freshen);};} if(upgrade){upgrade.onclick=function(){return confirm(cmsms_lang.upgrade);};} socialShare();};/* HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */ (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>"; c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document); /*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e) }m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}); PNG  ��� IHDR���(���(���S y���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD X���IDATh1 1F6^@-y'kZ@dyɫdLO~2z_}r9oo7[ܹ R `65@Ui]-"U q�GfP$j̣`*�fS3pTHTK:qnpt̠6I G5Tj̦fj촸ԱӢS$j̣`*�fS3pT5vZ\iѩnpt̠hp���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���(���(����;���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD1���zIDATH EQM6jE2 bݝ!K2g}/\)W@ -@3K,7:ׁ@k U Hrd sM u ESt.s/rڧ+���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���(���d����O���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD�݊���IDAT(c`��X�u6w���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���������D���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD1���HIDAT8c5a"oK1|a~Ï ?~Ne%7\(1d4F1�G#NP���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR��������A���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD X���IDATH? H&](v_W`5_YmFѤt?˧;=eY<#��aƷAY&IRɆh`5`u8FD[9tF'pe�͞zΧ=W]{EpK:_ 0~2UE\���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���������G#7v���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD�݊���IDAT(ch`p�h4i���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR�����d���5i���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD X��IDATx_gULTT,` JI<Tй< VZ|De`$gp &%|˽36'P0{|83wܜk}ɜoww�����6u;������7;����`����0ظ����L�6�����;����`����0ظ����L�6�����;����`����0ظ����L�6�����;����`����0ظ����L�6�����feworEjc^bپ:nPFyyu-dߛ͕^Z3WɬMfS9yk9u[z_ł7s_\+%sA_mxEa/k}X@y}#{c*?6?~}?3T�����X We~ؽM')k(Ur% y_Mm^evVrfWCXZuXbme3/y:Q.߶S7GuUTӪdvx#^ yx-G׻׾UA&�����h<,ކt�����H2�����;����a5vwȝq=Gz[vnWJi]YWRɑ^T}R֔:Q|RRo%͠YV+sj =UnJU)kR-ՕFW޵N==Xj%o5F֫x,˕d6/ƔJ.^߾USaڵe+1cm)^ q)S:ڤS<FW΅dj\(i<eGɑ2t >-,㭓Wz5WE3HG)veZQ{múIf^yƥ֭ٹw>%:%:3Hϸ*y{ERq���� Se�����&�����L�6�����`aU����fy �����^�����Sefa;Oz }׵SˇU2f[nqw߁ IYV RWƱB-Uf'%S 6Wʎnsp Oل'ׂrҳ\˷v5S[nS~53|w9 �����eY\9pea'z{{,;:݂QyFGlҧ<<;z/EX %vT{œڦbѵ<*Y|+uuKհz"75n޺e^+*)sS -<-ך)ޖy xuVYW>ςmYΦwס k|i�����X!| ����0 Sǽq{C˒S|gg?&S>0PtfMEΠRvt[z]4]me*բ%/wayc) ͻWy);C>~,^+uK_ymg[%+73U,גqjV˰v?0 ǿ?Ӧ6㟕޻%}7A>l*ǿ>,&Be^jixklM*}شe\sͼ*Mcϗ<yq]߸����{6qKBݼQRRQ{.ADQқk=w^tl*\ϠzUm֪LZK֫R^^^ޕJA]|e]xgkYNyk8t q~*j]WMn!eӛA=ޒo<<{2W,lӡ΀mMoNl3UO}q_otWu2zyfL)LX^W2)jX[+k=[+\[[OxןWFiJ+m+5E樓^굡oykWsIZ(]Oʛy9-ػ?yѝT �����q�����`',v2wsSnܓlSRѪ.%ZjnTKy%^o\yJtֳB͔oފ]͚o+1z=V؎Ru+YJu}9dk9ϫ^R5\t>'z%wbǔ%3´|Kޭ;aGgUvS$w^?^z(fᵜꫫ蟧dyf㾺%Qm|Gɋ׾]jg[ ]1aG3vZѥtսg{ҳkWc,+ת[U爒Me%|*ϝZ+F~=EyD4p�����6y=~/~~pݢD|??.{W4][f :'继S ��`tOYp'|?zG"k3÷'2׿v�vlq6'3݅[p?z0랾I{fτG³6wvol lx{p2�Lwמ? bOnT~4-m.|,\ 7 � ép:=;ݓsSݝ፭~[Hlt7c]ݍ?սug=.;`��hKW~O ��,l}ͩӍ㾭_;4f\a��_Z>>o{z{y oL,^x/zbxBnW>Xw��0qn tφ{ m7óݧ˳p{w&\ <rp{wX's[O_{I �>߱|!\N_ ?аpbB _/-;5 J0iG+ſX��� ^C:=ץ?xp".t-G |f/9|>{뼣@ t،F/W›}aKz{8}Ob|yvUKz)00;[Kʯ2|-iꛚJ?SsmӪBGѼEُLcZRK]l}}[&^Sa',~-?/_`e OãqyհfbiXbEZl4dſn����s����&�w���� 0˰?w�����>����&<|2S G 6x,w,)u=)]o;F)\@?mQϵk3(}֌>䭐Ʋӽݴ5'E,Ԋ&^5άueFd|5G|lW)y}t_x0����� ^����������H~�����4f ����3WSe�����`q*����e����`ÙeT����͆S����&@e_N'ۤ*x-}R*Sؚ ԭqVR+^UJ"euJfzlz}G37^^5[relѕLzz#zJEyV<ک]Z<O-O=Z����N���������0as ����ë2�����`',v6z)c.x*9ҟZ>>zWJR]t=? d2G+-ݾ^>mkLYЂJSlz+Qfwezt˰v3/ٯ~g��������LyX}6�����<,�����l6é2����vòU���� 2'U3tujJj|%u7MYU[Q+j( lyMϣRy}mUXlFW %>}E<V&gܻcb] [rkyzr)yuIW)D$͔}czTK=ާ@>D֋fRZR{"x#[gGg3kPuN#?ۏ+w^q2=Q%tb}(lJ꠫Z^e?6llyU(Q(ӕO;_%/j]8޼uF^5fKE$sM;QuЭzv{hGuȦn~oY؞kmp+ަ{-ގ-t˶}2azS~֚v{G[b!/׵"^/k-*Į :GOd[{K(R}o5zs7u>]+*ܫVU %9b?Rf�����`%̯>[f[<F7ܪ2|+YKl&RϔڲNޟSa'\J]ۙڤ*cqOoI.tXR)TC(ʈ6z,v*֫[:Inxk>%w̋W<v.=kizfPvs+#=.oysd'[w>J$ֻ\oܗ^f]nJ|7ؾ}65J|7%5>Em_=eV /)m۵dgSWWNBʪ zYcX˫.}(Z>tUKfJz+dPS'ZڊyOXj=JW~i����� f<&uXRkƭE;7S刺v>xS*kGQJ"ڜo7AZ|צŨyn[j `-#GO p:X(T1%ǁU0} <OdK׶1&[7zԊ1%+1Wg{֔Cl[譺Cy*7忽2+UTҏS̛Q+C$#ywKæS͑Z̎Z>U=)zNz,˰vϞw�����Vȼ^-mqJݯMmq:E7J-NQSjN𰕬unIzEf7oŶ^e5{׸~u+YJu}9dk9ϫ%g(g(} ObN(Z wMɌ0w_:_ ˰v,l˿׾p}`|7u]<g!F5=n.uWDG-&>WJ[ɔe%hT>Cˣn珒}ExgJUFT7Fj*تz[oFVZsD NI~ujEn<c򞹵fW2n} le�����+a޿{GW?n7����� <a`c_���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR������d����2���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD1���XIDAT½ @@�я4tU3 #U9-xy<'+w-n[bfL1&T<2GR.���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR������d���t���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD X���IDAT(1 PDSZ 6M!rKJFf,>Ao`x;,,cs�p>҇uQ`߯i%S)~ζ rV =O・ pl:]ZO?q|���%tEXtdate:create�2014-10-16T11:29:35-04:00���%tEXtdate:modify�2014-10-16T11:29:35-04:00d����IENDB`PNG  ��� IHDR���������Er@���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD�"b��TIDATxm%Uy $!,h ,%&@|IEMrݱD2;f ܉A^$5Ƣj^K@U-wWD`|q"t>ν3}S~9}<><yNp M)` pxht%�yYD^`Or%`: $%{�0LL?a|6܉]A7P'@/:]5JH&ay 2:8ty@#*'?t緝;Ywגm׸�{>|Dg7\J{4K 3tfZޱ`7u7Yɶ~f]<4m*<%%{^`FR� l8<Oh8<Ok2�n6cL`>]=u$,`&+hk6J_*|K0�?@lxdom]L3ݞߌ0.;TE,;4tMOmPLUA&e+`8u]577~"h8<Oh8<]C8YsZ}iA ֠)Ȟs�W.!m. z[#R䨚 \R{v r R ?˝#[|f`�y)A-QN 4wϮ:Kr{河3ZP!0t{l\YwSnPIA.Vm-R $ysI@;eغX.vYvB �n]gWcVn*ôy�T=Mhpt +3 '@ px4� '@ pC`=x?.jlk]R Q.ޫ5@P,[Zj6ƵKɟڕ[ ,P/5/thzG]Yn!wk9څR+@K tťa.mKu D<i5Еcn[@z@VmPgQO c:Ӕ%{%܄.緯ןߖF�{h'@{ "ȕ.=>M篂U!LgK\At$VrX˒�`LoMe/R+X.X.]L]Nq%e�7w"< ּp뻴ʩ@  uǤ OO7� '@ px4� PdrvM{wQve{Ȯ]0d1w%L,vQwqyyx`]jW.!WWl/D3,v܁6]iZ<:IݯtM~9UPi!snS!QyU緯lJ Ț!$(7-/ޮB¤F[^)F#*U$`7\!OUŪ3ǐ_J:𨃏ܽX6X!|.!}t$ePROQա/P[Cmb,=XA!tho14]Zh=Oh8<#@keEٲM&IKѢ&b04(.%thtIH2>Dgͳ]ݢ@NE]hɟ|T=m5@ .#BW2wQ׿¨alrvEb)n#ය݄F/N6%t]KX" nz"t.'`[A-<d�#]/\# sDbVGӫ @u>y-LTi rgW=)lj&˺;YeF,6CG_0l;y1|�5'@ px4�SLT_ʿߐ:ADV\cK !e8L}F{=.y0~w,ݭ9^n gH<sٌgd}ܠ):$:N" <S!,qg 駹\v'g{;W3pIm bni;J)�s�<.$_.[5{IV\ⷸ"[$@d Ke%b!ѮFn0#l§8�o($%f)@6[L9(?Ko?wjSl2^9�EL VH)0ͭ!k@}CnU:l|4 2sPRQ,Qgdp6صpKi*B?O_1?Ʒd'%d;§\k:?r7p#'reL3[[$꿟3D N_8״)<z'i>]Y,b}H!0 La4-Uڣ$R|crQx/a _seRmDz�$V\ 3<ɔ0㗹1VD<n&S LC4*5O`KA`5D$n }5Bf"GPM rU/j"$!f+{/ fjtkPt쇘S�ӹr#q>#a=5!*,6~ ^#Jt Wg{ȃsd,o9X1 ?*uuB,=`޻'1l$[Gx4� '@ DΞ�-z)E}:g˖ gÁyk>fiNa~  ɏk`.73PȸҜ;+ ZpMlbinFݬLپȓ4 :a.0JN.pk8NPx\lh݅x2iǹ?OH5M@.K4p\a/>ay%^zU25O'0VOsMR4"0VܞFqyYEL0])PK~Irx /Qs*SL1fn>6U4>i#\}cJjrjo_u8n,JFgyFk6a[0y|kS\6 + )L*g EDخq|Y_'-?Z";<Wϼ= [\IL}‹7OqX 4<z7=~CP6w'ƟL~*?7ȳg�%npMBC{ L^O2;C!<n$7B5F&XQ?̧>-c%DP]y_VaX1uҗEc_t'[PP> `4B "O7ՑF3 �<5ϝ|B.0#bb],ҥK{/QWܯd0~.ꏜ}eK Y@3>?_"X,u5OԘ(xsG4DI� 4� '@ p4�XNIMs(,ѡކ<&R=>@]ZG^ _Hk|p7rFp,/^>G-B+7(z3d-A^'qzj z_`I:L0T|aɄ܇<SIU̅囌3I'.GÓҐl{UŘ"gh.Gj,NUi0` rƀ1�GlKTQzy"?or>'/CTS̤ U (.2Rr ?< aGBKsRƔ[IlcylU_ɷxO� QH1NcӺ#?5f4ߣ�3lgGA<aW9w@I68F߮U3hC'aQ?m*w\9$;`[6q5e(|E"8ODHF+~Sm<*Mʖ ._S9<ΐҫQw ʼnW)p? gW,  '!pFQ8_/_z�{!XZ7&9W&Ef!GU)ŸY:l{`s6Ãld,GyxIC _kJwiKs88Mq,y SV{ycPI#ిűoos:*i@Z8]^ext7 )%-T,)O\NKQ|0w �fKl.Xګ=_;fl⧅;ϱm ]/OB.ySW/))xsp;+<.pƴjqICE[kOy�� '@Q$6^=|;6 o\ |ˤt_⽃G}{KT {q8b  vK"kK/n8'@ e6e^ jԪp؀l)l㩻7hkdC]H4nnF[:b l[ꑬ'n(|[Ƹ4%t]BFh%Z`%>njԄ&"\r'VZvD)ykCbW;I[‰k!fuiQ*tWsN_~W< g)'8}ږj�HzD6�6Dkx3?xFy zno�O+v,bcxsLwxtnGĝlNn2ھIOΐlƟw g kг=ޜlAl)l; )"W2:-.H٥aq66$\0oqnjcC[Oh8<O":F@j1Xg dbݖ3<cw 'úlajdiiK[:Jw@!? ~iy 0\]#cY9%& BsQ@6[sJ8NIW߭C'QۥdFPM�P8a#�$Q(+K :eBziX|N~<ƜGc̥5P\|t+ss(A[P}� |-Vܘ `UZLhv$0sƼyihH ?KQ`a#d*A S#\j=i,]6� '@ px4Ezl@dh�!MUc]"!@n~RJ%O2!Eah=P~`$AGSr52rb&ATZ-JC�-W8?<8ʽ*[4FTjGp8&)vU<Uji,~|?=lWj�˻RR$3}n|TK�5..NQE\)k )ʿ�xS,qEi!{�q}g.r gUSqs=W2^�).BhW.yw ȼ=}06O8A6ϫ O '@ px4lԕT ž--@]-\A+õ2{]$ g-h"MM-|9ZvY?0䷕_,mo9 aa.IK*V J6[B:n.aP/0 Ks�Զ_rSFOVh (ɸ5@Y P}x5yoEZ=UJȯ|?tk3=hvn'SO!`�Շ]~r պpSn=ҝ/ A=p/cNء葜&(G)JG$6yI/,MP%P(iCC~[vWB篾ꒈV$˹}工(k& Z^8S8>zELHWW+wx0- pxk` px4� '@ pAܣDkH2u]AzwnPExFyAum 0F0bG:1;L6|CGICHRݿ6y~˘{o}@]Q~"h8<Oh8/~B P-d׻͒�£"D ;R򠫹 `d] a{ -+PS#R3@O z-̒ ¿rvJQz�`W_9HGx\EA2͌r͠&~U�>wS[Σ- `9'C~ C@eCٹq_ X�zN���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`PNG  ��� IHDR���������IJ���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<��PLTE"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""anX���ZtRNS�XG|"2wfZNz@eSFcaMhms}䁎]bp Ιi8*yѧȓد͐ǫʄ���bKGD�H��kIDATx] c۶H阒K8n&s6/^]umԦk:z ;<RhlG�@Y dMز0rz7/ f@eb`@c`r~&A- 29~ tΠ 2'L`Dzx0�O�;)>LS:1ǀ5Ի�BEDDDDDD nJXyO4'|�J�f7ńU@ D!!~{=ɖsLBI`܂fhm,ףmV$=dc@.=siށG/BܽǷJI<\i 뷕#˜: HleF<\|Od1s9+3;-˟5ׄH,0n9o=DOH./H:ݩ۾ \dDDDDDDMEm=݌IJ] .Uր*lm�.^NɊtoozQ?/OZ6'^{Å| xK,=#m�[;'aK4k4jeNϷ؀tF�koNX�{pd0 z`]t`ę1X LB $ KZpN�y~>&"""""bԸܻ8wTȣ36Xn;g`Z/'ʎ;7}jmtxշd�0O/!`//$3j^_pМ 7N@nH,0o'i  M}RY@;=[҉`Oa<1^CBk_DDDDFzod|U5i)bz_ip5RRWbT!l@R5Cf|Be:.3mG/t{߈ "gM`\X9A))SXb7t,iX;6*@+4tF#H M 21&C!O /+n}HFH@_t?""""f!S~B~[[Cn*7r`r\*f49qK�E @gJqW8d(n '4*^QLWmREs C߶Tf+[uzI tUm5AZQiB �1�D'�YDJCc8]&{0�TG$! &jI` CU\h<@{1{.J}LiR 7m >H UxWiJuy�U>b.pK!/|oOׯ$@nr@I0pxx`_2 ?- x~9pT GDt'=!|/\ c&, ۟N&B} <9~Fu!y ;L`X\!-&-%b21v F.7N �NU~�#  V홛s0uW80-p�%dC-Jtv7DDDD?=6m#AGmQ#vckyޞ[&kBdu@6?43ES&wZGJE?]yYi2=\kh5(3Tq;1cr7o_;9f~/_{Ao BA?6Bn”&HV_,\ ٯ.R:V3mt fO<}v6ʤ}g=^`Od|xS߷kg>80v(,` uh.l)cb,Cjj[Rߧi2DZ1@&Ƀ?/ HujgOc|(9hha0C#^$da#$�ɟrwv__~Sz¼zuZZVwZ jP*ܓ@& wH8,<Or%@s>StQsM?N{ 0>yAAQm=X rqQt (""""b i1\y[ U޻iA +·@W_ _)K?܇'O&hVM9̦/ a!Q ¿+,iӍؔ=d]:t3*AW1^ n_IrJ4�M=ݷ=SP-#PNF *Rkgj>L Wu4K!Z?5Ci/e 0!2uPT)9-`>3^jMQi`ol�_]f v%e(OH4p,DϞ?;u@-Rnfjġy&  +[}J|.Ȇs 8;S�/A2|_5JGW{pPais fgggpMYs=a%G@jhm`i%c�L0k؇�?GaHHI=_"Q&˚ ի#$.W1`s2"""xwm7j@\�\ͨ㶛5)uꎣ޵ ,aOřy,_/h]\�h޴9`# M [z KuO_z˿Dܫ*kOJ(7v\e IT}aTna*baoۺHXaEzn NS&Sn4A@r8OW+&bo v, zh&T ǀa5:=SD0}b!pZpވXG:`?iYx60يKF>3ȬDP#^>@(0(RȠBFWmA|%CB6 &&UZHh� " 07B� L (?F3:&`f)!nE[c�ǀ|cw`~@DDDD͆9~ݔ^ \)\7UV?I@+3�}T& ) s!N֫CњjE&n߆s?'5{Ov9(-o_HuKJGPZ)j\X_ThM<:{y a!)l?\ >WޠdܵrLuW^hzn*w}>.ϕox^V2U+3N_7]$邶_|�]rSWp(?Og-?h_!\_LCV47L!~B@=ug#`BB-Ⳁ3Q6.}v)ASY2p>`ԚAPbt*U I맃Uh vڑHuڕJw#""""""<KG5$�/ ?=7$L%7vD cM DDDDDDDl !5!hHDk@U@RPno/_ڵ7S_CuW_kU_ 8c@�ZcA w1r}݇O���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`PNG  ��� IHDR���������IJ���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<��PLTE18���ZtRNS�XG|"2wfZNz@eSFcaMhms}䁎]bp Ιi8*yѧȓد͐ǫʄ���bKGD�H��kIDATx] c۶H阒K8n&s6/^]umԦk:z ;<RhlG�@Y dMز0rz7/ f@eb`@c`r~&A- 29~ tΠ 2'L`Dzx0�O�;)>LS:1ǀ5Ի�BEDDDDDD nJXyO4'|�J�f7ńU@ D!!~{=ɖsLBI`܂fhm,ףmV$=dc@.=siށG/BܽǷJI<\i 뷕#˜: HleF<\|Od1s9+3;-˟5ׄH,0n9o=DOH./H:ݩ۾ \dDDDDDDMEm=݌IJ] .Uր*lm�.^NɊtoozQ?/OZ6'^{Å| xK,=#m�[;'aK4k4jeNϷ؀tF�koNX�{pd0 z`]t`ę1X LB $ KZpN�y~>&"""""bԸܻ8wTȣ36Xn;g`Z/'ʎ;7}jmtxշd�0O/!`//$3j^_pМ 7N@nH,0o'i  M}RY@;=[҉`Oa<1^CBk_DDDDFzod|U5i)bz_ip5RRWbT!l@R5Cf|Be:.3mG/t{߈ "gM`\X9A))SXb7t,iX;6*@+4tF#H M 21&C!O /+n}HFH@_t?""""f!S~B~[[Cn*7r`r\*f49qK�E @gJqW8d(n '4*^QLWmREs C߶Tf+[uzI tUm5AZQiB �1�D'�YDJCc8]&{0�TG$! &jI` CU\h<@{1{.J}LiR 7m >H UxWiJuy�U>b.pK!/|oOׯ$@nr@I0pxx`_2 ?- x~9pT GDt'=!|/\ c&, ۟N&B} <9~Fu!y ;L`X\!-&-%b21v F.7N �NU~�#  V홛s0uW80-p�%dC-Jtv7DDDD?=6m#AGmQ#vckyޞ[&kBdu@6?43ES&wZGJE?]yYi2=\kh5(3Tq;1cr7o_;9f~/_{Ao BA?6Bn”&HV_,\ ٯ.R:V3mt fO<}v6ʤ}g=^`Od|xS߷kg>80v(,` uh.l)cb,Cjj[Rߧi2DZ1@&Ƀ?/ HujgOc|(9hha0C#^$da#$�ɟrwv__~Sz¼zuZZVwZ jP*ܓ@& wH8,<Or%@s>StQsM?N{ 0>yAAQm=X rqQt (""""b i1\y[ U޻iA +·@W_ _)K?܇'O&hVM9̦/ a!Q ¿+,iӍؔ=d]:t3*AW1^ n_IrJ4�M=ݷ=SP-#PNF *Rkgj>L Wu4K!Z?5Ci/e 0!2uPT)9-`>3^jMQi`ol�_]f v%e(OH4p,DϞ?;u@-Rnfjġy&  +[}J|.Ȇs 8;S�/A2|_5JGW{pPais fgggpMYs=a%G@jhm`i%c�L0k؇�?GaHHI=_"Q&˚ ի#$.W1`s2"""xwm7j@\�\ͨ㶛5)uꎣ޵ ,aOřy,_/h]\�h޴9`# M [z KuO_z˿Dܫ*kOJ(7v\e IT}aTna*baoۺHXaEzn NS&Sn4A@r8OW+&bo v, zh&T ǀa5:=SD0}b!pZpވXG:`?iYx60يKF>3ȬDP#^>@(0(RȠBFWmA|%CB6 &&UZHh� " 07B� L (?F3:&`f)!nE[c�ǀ|cw`~@DDDD͆9~ݔ^ \)\7UV?I@+3�}T& ) s!N֫CњjE&n߆s?'5{Ov9(-o_HuKJGPZ)j\X_ThM<:{y a!)l?\ >WޠdܵrLuW^hzn*w}>.ϕox^V2U+3N_7]$邶_|�]rSWp(?Og-?h_!\_LCV47L!~B@=ug#`BB-Ⳁ3Q6.}v)ASY2p>`ԚAPbt*U I맃Uh vڑHuڕJw#""""""<KG5$�/ ?=7$L%7vD cM DDDDDDDl !5!hHDk@U@RPno/_ڵ7S_CuW_kU_ 8c@�ZcA w1r}݇O���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`PNG  ��� IHDR���������IJ���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<��PLTEzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=b+I���ZtRNS�XG|"2wfZNz@eSFcaMhms}䁎]bp Ιi8*yѧȓد͐ǫʄ���bKGD�H��kIDATx] c۶H阒K8n&s6/^]umԦk:z ;<RhlG�@Y dMز0rz7/ f@eb`@c`r~&A- 29~ tΠ 2'L`Dzx0�O�;)>LS:1ǀ5Ի�BEDDDDDD nJXyO4'|�J�f7ńU@ D!!~{=ɖsLBI`܂fhm,ףmV$=dc@.=siށG/BܽǷJI<\i 뷕#˜: HleF<\|Od1s9+3;-˟5ׄH,0n9o=DOH./H:ݩ۾ \dDDDDDDMEm=݌IJ] .Uր*lm�.^NɊtoozQ?/OZ6'^{Å| xK,=#m�[;'aK4k4jeNϷ؀tF�koNX�{pd0 z`]t`ę1X LB $ KZpN�y~>&"""""bԸܻ8wTȣ36Xn;g`Z/'ʎ;7}jmtxշd�0O/!`//$3j^_pМ 7N@nH,0o'i  M}RY@;=[҉`Oa<1^CBk_DDDDFzod|U5i)bz_ip5RRWbT!l@R5Cf|Be:.3mG/t{߈ "gM`\X9A))SXb7t,iX;6*@+4tF#H M 21&C!O /+n}HFH@_t?""""f!S~B~[[Cn*7r`r\*f49qK�E @gJqW8d(n '4*^QLWmREs C߶Tf+[uzI tUm5AZQiB �1�D'�YDJCc8]&{0�TG$! &jI` CU\h<@{1{.J}LiR 7m >H UxWiJuy�U>b.pK!/|oOׯ$@nr@I0pxx`_2 ?- x~9pT GDt'=!|/\ c&, ۟N&B} <9~Fu!y ;L`X\!-&-%b21v F.7N �NU~�#  V홛s0uW80-p�%dC-Jtv7DDDD?=6m#AGmQ#vckyޞ[&kBdu@6?43ES&wZGJE?]yYi2=\kh5(3Tq;1cr7o_;9f~/_{Ao BA?6Bn”&HV_,\ ٯ.R:V3mt fO<}v6ʤ}g=^`Od|xS߷kg>80v(,` uh.l)cb,Cjj[Rߧi2DZ1@&Ƀ?/ HujgOc|(9hha0C#^$da#$�ɟrwv__~Sz¼zuZZVwZ jP*ܓ@& wH8,<Or%@s>StQsM?N{ 0>yAAQm=X rqQt (""""b i1\y[ U޻iA +·@W_ _)K?܇'O&hVM9̦/ a!Q ¿+,iӍؔ=d]:t3*AW1^ n_IrJ4�M=ݷ=SP-#PNF *Rkgj>L Wu4K!Z?5Ci/e 0!2uPT)9-`>3^jMQi`ol�_]f v%e(OH4p,DϞ?;u@-Rnfjġy&  +[}J|.Ȇs 8;S�/A2|_5JGW{pPais fgggpMYs=a%G@jhm`i%c�L0k؇�?GaHHI=_"Q&˚ ի#$.W1`s2"""xwm7j@\�\ͨ㶛5)uꎣ޵ ,aOřy,_/h]\�h޴9`# M [z KuO_z˿Dܫ*kOJ(7v\e IT}aTna*baoۺHXaEzn NS&Sn4A@r8OW+&bo v, zh&T ǀa5:=SD0}b!pZpވXG:`?iYx60يKF>3ȬDP#^>@(0(RȠBFWmA|%CB6 &&UZHh� " 07B� L (?F3:&`f)!nE[c�ǀ|cw`~@DDDD͆9~ݔ^ \)\7UV?I@+3�}T& ) s!N֫CњjE&n߆s?'5{Ov9(-o_HuKJGPZ)j\X_ThM<:{y a!)l?\ >WޠdܵrLuW^hzn*w}>.ϕox^V2U+3N_7]$邶_|�]rSWp(?Og-?h_!\_LCV47L!~B@=ug#`BB-Ⳁ3Q6.}v)ASY2p>`ԚAPbt*U I맃Uh vڑHuڕJw#""""""<KG5$�/ ?=7$L%7vD cM DDDDDDDl !5!hHDk@U@RPno/_ڵ7S_CuW_kU_ 8c@�ZcA w1r}݇O���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`PNG  ��� IHDR���������Er@���gAMA�� a��� cHRM��z&���������u0��`��:��pQ<���bKGD�̿��:IDATx]m]Y~)*|&q4!KK$dk~#>uҪn?švBRi]9?7Z?XST18jڵCOi"k>8ܻ<{yg9gwfNBF]" pDu!�":XM_?}M& 9CD!5N"%}cc?7i5<6 z͕!@<yZs.Sw:nP(^z ‘w6 z(ק�n%s-@?sp?֤�F4߂:F]$$tXu1�#ZG$@�# pDHiG]ftyimJͦZ| |�/2/2Wo�79rm*]]oe^ r7&oJ]\@vl�u>Ǿ^�kޠCf9s `at>˿!G4H 8"G$@�Q`@HFxPw7K>Fe YTIuN9˷�B Yj{WS'\䨛گ>*%EpU?9}@>U0_>Y DԀ"/|Ot6MJ@EꄕgΒ_^2Enϻ2K�UqagkOG6[lO6Ueٻ@7yX.uYnR Twp裀}8 pDK`�# pDH 8Dt@hpihtzVZx.~9[㷬̷ywuX[0N.eytiR}Xn-O b9^NmFQ>[/N:o93O�- }}�tT=I~%("һJ{ͥtyrW�0vHx!>w>m篃g?IGG+ARԖ3Il]t rӁKgޅނr)+N"®&4E5<Aӯ.|rG "q\|_@D( 8"G$@�6V\y} Pc楳NǺ+v0f+>0|-M-qTK?PDfla64Җq=rd絧?,:y5,՘X.tu= חT8ʝ;{eXR;xلUFg9WHK@oB¦FW៳m-F, ~:E[6pygؑ=Cȟ\\cL/Bqxll2FׯIQ~J˛yw<fRQ*ƨ;f8m!dz1~>n)y>'(b34Dw隷 �#G$@�# p ϗmsِ-zA}NpAyVmWwu<;2Vj;Xe)_ ĥ%ҮHcՐ>VoSuYBAd-wiQrLe k Ehmf/ouI\#`|߶D'v@)a t50OeaT4%/k (?EL .'FvnGp=G䳉]6"@Q� �~ƍm�)�FgVĝ10B[~4ORTq0,G0nb/ bK 8"G$@IP?V@sdk.5t]5݊ݚ9�h:e+L:e8YJ : -z+<n&H}źD¾Ezr ]M5uE-"s谵D]"Fj ,��A.pDq&&$$ʙ,1߯)I $8VuƄY g1g\krfMJISLb!&�PoQZ+n Y"8W;w)~KoUFpu|Y>4ƸϒUܐ DW)NfqJ؀憼-~ -2#P'L.(G:ő/<)~ܒ1|z(]gpY#@IYbsh+z~Z-> a:f1Wm-r3N*~ � w1��β2WS�88 `<|}{>y�3 zR.3u ~W;� j8ۤ&s�Lq�o3."�;~/`1�w0{-JfqU҄gB .bC8I˞0 B4>'HRmf$ޕ\/_Az˷ l{pH1נ_kY � 0F0$l0a`>H*?M貣mՆnyX{b A`O<:>.~ߨՍ78!\=hLt#;Q�# pDHdAp-6 GFӡEܤYa:Ia"_Q+y�%GЫn`G}_BK]JaZ"M"k"V"{e l"Y=ېƙlyԨJzAk2ڵo-kƤ>'mgV0b)@"|`pK!W] &'n2-0$9Ԣy}Wn+|EKž.-;8wRaF-rNs'66pXw]a?;C~ ؋o|+X}ź]\1XL-~� m�@P�״9u*�bg"zBD? +rX/NRUߗ%ٗ<NfDЛx>L3_˳LH'igKU5"&g9ᙊPu3M;"j,k"Pa'~zv!ڠ'1tS1*n[&AP)o%�!#Wy(]T')Q&r8r)�^;ك ݡnϡ3mҲ]*f5kZ]NdESyߩ~0@ې\ pVKm| Ud~R�#G$@�#<ncnL+Fg7{ݞ1t1FvX]ƌ6g׍EՑ:C'i~Bz$}3tRK_ZB9k0H]]1G-"gK$@?+4kTI/En9Κ~?C-t xM~L67ۍ]LQ8Q$@nϑshQ^Oi7B D+|'ym�, �i+M#oѱ,dr�{;QT>cw-\��\g|m<n-�ヌ N�tp )&c=-90IvFAO�XpݾwU`?& ăayqh65)XUh '=*ºUҺE5[,=+Z_@xn:x<W ]z;PJ|�p㓸ܓ5r\@)wig )9@U?i/ҭ1�.iߓ^V|xNnNc' d0{3.hr]<H`rgϔW~?-IGoá,q_�p !f _nNǚul{p{;1ҋ &p&0 �'ud(scG B+t*dzv]Ga q-𣀕l0!pD�0JC ѷHOGQK<u,Dʂ6t[`]AڧڴmJrC8DH�C%"kxxrxG]@~| :⽦?_u#C^�tBAe;fsqO1IiyvcaLQg~K-Ik̸ncvU.9f1>lPmʯ/I ~Pq<mg|LfhE/s%[DErmͰBea7IV2ŷ3"po/Zr �=R!*�|-t3ߗ�v}wfth6iƐ;8p C�Wȕ?UIl $ +j*0ӏMm|djv ( 3r �&XҤKF5LֆF�w<~e߯oɨ.1E870pDH 8"G$tB$�a10WB p* JGaƉ�UksFц%M|Eʩ06<R-06K7I6fiRr0އ�6ѣKwITI~Z� ߲ByL0wRn6 CM,7jOnbH'/6 ,G&o v7@cN~p62`; Ht[ Tó..݆8"G$@�C%� /�%<�`/FZ.9X-}g+xS +je&d-NDD /RrM~ͣ~Ô`RnE6NN)uʶ;ն0DidN+ xW� �*ǣt38c8 ` &��ai}�avÌNpdэ/R_@/8z{qUp lz}?~fqj &d]oⒺB8-g�|ac0Ktn=�Df0tO>__>}C@8r�# pp|o7 [>Z^YפbSkaˇ]Qk4q8]Dk*wm49l7jy+:񕭏1Dղ%+5awU~{J/5R𵮈TZ, "O| QI_Q5}K~|2]~�"Uq;G}rR~W͟ 5<skwu!>'\,>} x oͻxsum+O)Dz@)ʗ(w/)rS%99娑*bo/M@7\ M* CcLOUWm rOUU@ZWEƄn!jڡ:OoAZԦf!1b [>Z^3 !#zG$@�# pD;e<dodmT1voT̡ٕ4!BJ�װfObMt(N@5} ĤUI+A d&TDT~ ڞCEA~ zG4H 8"G$@ۗ�hd4 t^ptg �2fNտ<bXF ?@�W ̪$z4yF^[ efb?j/gA(;ٟ:KZtqar .c_֠ 8տĖA3`soC8Ǜ мVխ~0Ac"|޻6���%tEXtdate:create�2014-10-16T11:14:19-04:00}#`���%tEXtdate:modify�2014-05-26T11:47:31-04:00(���tEXtSoftware�Adobe ImageReadyqe<����IENDB`/*! jQuery UI - v1.11.2 - 2014-10-16 * http://jqueryui.com * Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px}/*! jQuery UI - v1.11.2 - 2014-10-16 * http://jqueryui.com * Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ (function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function s(e){for(var t,i;e.length&&e[0]!==document;){if(t=e.css("position"),("absolute"===t||"relative"===t||"fixed"===t)&&(i=parseInt(e.css("zIndex"),10),!isNaN(i)&&0!==i))return i;e=e.parent()}return 0}function n(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.regional.en=e.extend(!0,{},this.regional[""]),this.regional["en-US"]=e.extend(!0,{},this.regional.en),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",o)}function o(){e.datepicker._isDisabledDatepicker(v.inline?v.dpDiv.parent()[0]:v.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))}function r(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}function h(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var l=0,u=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=u.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a="string"==typeof n,o=u.call(arguments,1),r=this;return n=!a&&o.length?e.widget.extend.apply(null,[n].concat(o)):n,a?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(r=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))}),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=l++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var d=!1;e(document).mouseup(function(){d=!1}),e.widget("ui.mouse",{version:"1.11.2",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!d){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),d=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),d=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,a="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s||n?i.width():i.outerWidth(),height:s||n?i.height():i.outerHeight()}}},e.fn.position=function(n){if(!n||!n.of)return f.apply(this,arguments);n=e.extend({},n);var p,m,g,v,y,b,_=e(n.of),x=e.position.getWithinInfo(n.within),w=e.position.getScrollInfo(x),k=(n.collision||"flip").split(" "),T={};return b=s(_),_[0].preventDefault&&(n.at="left top"),m=b.width,g=b.height,v=b.offset,y=e.extend({},v),e.each(["my","at"],function(){var e,t,i=(n[this]||"").split(" ");1===i.length&&(i=l.test(i[0])?i.concat(["center"]):u.test(i[0])?["center"].concat(i):["center","center"]),i[0]=l.test(i[0])?i[0]:"center",i[1]=u.test(i[1])?i[1]:"center",e=d.exec(i[0]),t=d.exec(i[1]),T[this]=[e?e[0]:0,t?t[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===n.at[0]?y.left+=m:"center"===n.at[0]&&(y.left+=m/2),"bottom"===n.at[1]?y.top+=g:"center"===n.at[1]&&(y.top+=g/2),p=t(T.at,m,g),y.left+=p[0],y.top+=p[1],this.each(function(){var s,l,u=e(this),d=u.outerWidth(),c=u.outerHeight(),f=i(this,"marginLeft"),b=i(this,"marginTop"),D=d+f+i(this,"marginRight")+w.width,S=c+b+i(this,"marginBottom")+w.height,M=e.extend({},y),C=t(T.my,u.outerWidth(),u.outerHeight());"right"===n.my[0]?M.left-=d:"center"===n.my[0]&&(M.left-=d/2),"bottom"===n.my[1]?M.top-=c:"center"===n.my[1]&&(M.top-=c/2),M.left+=C[0],M.top+=C[1],a||(M.left=h(M.left),M.top=h(M.top)),s={marginLeft:f,marginTop:b},e.each(["left","top"],function(t,i){e.ui.position[k[t]]&&e.ui.position[k[t]][i](M,{targetWidth:m,targetHeight:g,elemWidth:d,elemHeight:c,collisionPosition:s,collisionWidth:D,collisionHeight:S,offset:[p[0]+C[0],p[1]+C[1]],my:n.my,at:n.at,within:x,elem:u})}),n.using&&(l=function(e){var t=v.left-M.left,i=t+m-d,s=v.top-M.top,a=s+g-c,h={target:{element:_,left:v.left,top:v.top,width:m,height:g},element:{element:u,left:M.left,top:M.top,width:d,height:c},horizontal:0>i?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,e.top+p+f+m>u&&(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,e.top+p+f+m>d&&(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.accordion",{version:"1.11.2",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.length&&(!t.length||e.index()<t.index()),l=this.options.animate||{},u=h&&l.down||l,d=function(){o._toggleComplete(i)};return"number"==typeof u&&(a=u),"string"==typeof u&&(n=u),n=n||u.easing||l.easing,a=a||u.duration||l.duration,t.length?e.length?(s=e.show().outerHeight(),t.animate(this.hideProps,{duration:a,easing:n,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(this.showProps,{duration:a,easing:n,complete:d,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?r+=i.now:"content"!==o.options.heightStyle&&(i.now=Math.round(s-t.outerHeight()-r),r=0)}}),void 0):t.animate(this.hideProps,a,n,d):e.animate(this.showProps,a,n,d)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.widget("ui.menu",{version:"1.11.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.currentTarget);i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i) }},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||"",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("<span>").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(e.trim(e(this).text()))})}}),e.widget("ui.autocomplete",{version:"1.11.2",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&e.trim(s).length&&(this.liveRegion.children().hide(),e("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):void 0},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("<div>").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var c,p="ui-button ui-widget ui-state-default ui-corner-all",f="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",m=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},g=function(t){var i=t.name,s=t.form,n=e([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?e(s).find("[name='"+i+"'][type=radio]"):e("[name='"+i+"'][type=radio]",t.ownerDocument).filter(function(){return!this.form})),n};e.widget("ui.button",{version:"1.11.2",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,m),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var t=this,i=this.options,s="checkbox"===this.type||"radio"===this.type,n=s?"":"ui-state-active";null===i.label&&(i.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(p).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){i.disabled||this===c&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){i.disabled||e(this).removeClass(n)}).bind("click"+this.eventNamespace,function(e){i.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),s&&this.element.bind("change"+this.eventNamespace,function(){t.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return i.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(i.disabled)return!1;e(this).addClass("ui-state-active"),t.buttonElement.attr("aria-pressed","true");var s=t.element[0];g(s).not(s).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return i.disabled?!1:(e(this).addClass("ui-state-active"),c=this,t.document.one("mouseup",function(){c=null}),void 0)}).bind("mouseup"+this.eventNamespace,function(){return i.disabled?!1:(e(this).removeClass("ui-state-active"),void 0)}).bind("keydown"+this.eventNamespace,function(t){return i.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),void 0)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",i.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(p+" ui-state-active "+f).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),t&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")),void 0):(this._resetButton(),void 0)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?g(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),void 0;var t=this.buttonElement.removeClass(f),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):a.push("ui-button-text-only"),t.addClass(a.join(" "))}}),e.widget("ui.buttonset",{version:"1.11.2",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction"),i=this.element.find(this.options.items),s=i.filter(":ui-button");i.not(":ui-button").button(),s.button("refresh"),this.buttons=i.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),e.ui.button,e.extend(e.ui,{datepicker:{version:"1.11.2"}});var v;e.extend(n.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return r(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var s,n,a;s=t.nodeName.toLowerCase(),n="div"===s||"span"===s,t.id||(this.uuid+=1,t.id="dp"+this.uuid),a=this._newInst(e(t),n),a.settings=e.extend({},i||{}),"input"===s?this._connectDatepicker(t,a):n&&this._inlineDatepicker(t,a)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var s=e(t);i.append=e([]),i.trigger=e([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,"datepicker",i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var s,n,a,o=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),o&&(i.append=e("<span class='"+this._appendClass+"'>"+o+"</span>"),t[r?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&t.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):e("<button type='button'></button>").addClass(this._triggerClass).html(a?e("<img/>").attr({src:a,alt:n,title:n}):n)),t[r?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,s,n,a=new Date(2009,11,20),o=this._get(e,"dateFormat");o.match(/[DM]/)&&(t=function(e){for(i=0,s=0,n=0;e.length>n;n++)e[n].length>i&&(i=e[n].length,s=n);return s},a.setMonth(t(this._get(e,o.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(t(this._get(e,o.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),e.input.attr("size",this._formatDate(e,a).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,s,n,a){var o,h,l,u,d,c=this._dialogInst;return c||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+o+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),c=this._dialogInst=this._newInst(this._dialogInput,!1),c.settings={},e.data(this._dialogInput[0],"datepicker",c)),r(c.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(c,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+u,l/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),c.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],"datepicker",c),this},_destroyDatepicker:function(t){var i,s=e(t),n=e.data(t,"datepicker");s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(t,i,s){var n,a,o,h,l=this._getInst(t);return 2===arguments.length&&"string"==typeof i?"defaults"===i?e.extend({},e.datepicker._defaults):l?"all"===i?e.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),a=this._getDateDatepicker(t,!0),o=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),r(l.settings,n),null!==o&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,o)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(e(t),l),this._autoSize(l),this._setDate(l,a),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,n,a=e.datepicker._getInst(t.target),o=!0,r=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),o=!1;break;case 13:return n=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",a.dpDiv),n[0]&&e.datepicker._selectDay(t.target,a.selectedMonth,a.selectedYear,n[0]),i=e.datepicker._get(a,"onSelect"),i?(s=e.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),o=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),o=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?1:-1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),o=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?-1:1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),o=t.ctrlKey||t.metaKey;break;default:o=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):o=!1;o&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var i,s,n=e.datepicker._getInst(t.target);return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0 },_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,n,a,o,h,l,u;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),n=e.datepicker._get(i,"beforeShow"),a=n?n.apply(t,[t,i]):{},a!==!1&&(r(i.settings,a),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),o=!1,e(t).parents().each(function(){return o|="fixed"===e(this).css("position"),!o}),h={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),h=e.datepicker._checkOffset(i,h,o),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":o?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),i.inline||(l=e.datepicker._get(i,"showAnim"),u=e.datepicker._get(i,"duration"),i.dpDiv.css("z-index",s(e(t))+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[l]?i.dpDiv.show(l,e.datepicker._get(i,"showOptions"),u):i.dpDiv[l||"show"](l?u:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,v=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t);var i,s=this._getNumberOfMonths(t),n=s[1],a=17,r=t.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&t.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),t.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,s){var n=t.dpDiv.outerWidth(),a=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,r=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?n-o:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+r?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+r):0),i},_findPos:function(t){for(var i,s=this._getInst(t),n=this._get(s,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[n?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,n,a,o=this._curInst;!o||t&&o!==e.data(t,"datepicker")||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var n=e(t),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(t){var i,s=e(t),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var n=e(t),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(t,i,s,n){var a,o=e(t);e(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0])||(a=this._getInst(o[0]),a.selectedDay=a.currentDay=e("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(t,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var s,n=e(t),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,n,a=this._get(t,"altField");a&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),s=this._getDate(t),n=this.formatDate(i,s,this._getFormatConfig(t)),e(a).each(function(){e(this).val(n)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(t,i,s){if(null==t||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,a,o,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,c=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,y=-1,b=!1,_=function(e){var i=t.length>n+1&&t.charAt(n+1)===e;return i&&n++,i},x=function(e){var t=_(e),s="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,n="y"===e?s:1,a=RegExp("^\\d{"+n+","+s+"}"),o=i.substring(h).match(a);if(!o)throw"Missing number at position "+h;return h+=o[0].length,parseInt(o[0],10)},w=function(t,s,n){var a=-1,o=e.map(_(t)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,t){var s=t[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(a=t[0],h+=s.length,!1):void 0}),-1!==a)return a+1;throw"Unknown name at position "+h},k=function(){if(i.charAt(h)!==t.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;t.length>n;n++)if(b)"'"!==t.charAt(n)||_("'")?k():b=!1;else switch(t.charAt(n)){case"d":v=x("d");break;case"D":w("D",d,c);break;case"o":y=x("o");break;case"m":g=x("m");break;case"M":g=w("M",p,f);break;case"y":m=x("y");break;case"@":r=new Date(x("@")),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"!":r=new Date((x("!")-this._ticksTo1970)/1e4),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"'":_("'")?k():b=!0;break;default:k()}if(i.length>h&&(o=i.substr(h),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),y>-1)for(g=1,v=y;;){if(a=this._getDaysInMonth(m,g-1),a>=v)break;g++,v-=a}if(r=this._daylightSavingAdjust(new Date(m,g-1,v)),r.getFullYear()!==m||r.getMonth()+1!==g||r.getDate()!==v)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,o=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=""+t;if(h(e))for(;i>s.length;)s="0"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},d="",c=!1;if(t)for(s=0;e.length>s;s++)if(c)"'"!==e.charAt(s)||h("'")?d+=e.charAt(s):c=!1;else switch(e.charAt(s)){case"d":d+=l("d",t.getDate(),2);break;case"D":d+=u("D",t.getDay(),n,a);break;case"o":d+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":d+=l("m",t.getMonth()+1,2);break;case"M":d+=u("M",t.getMonth(),o,r);break;case"y":d+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":d+=t.getTime();break;case"!":d+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?d+="'":c=!0;break;default:d+=e.charAt(s)}return d},_possibleChars:function(e){var t,i="",s=!1,n=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)"'"!==e.charAt(t)||n("'")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,t){return void 0!==e.settings[t]?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),s=e.lastVal=e.input?e.input.val():null,n=this._getDefaultDate(e),a=n,o=this._getFormatConfig(e);try{a=this.parseDate(i,s,o)||n}catch(r){s=t?"":s}e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),e.currentDay=s?a.getDate():0,e.currentMonth=s?a.getMonth():0,e.currentYear=s?a.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,s){var n=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},a=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,a=n.getFullYear(),o=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":o+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o));break;case"y":case"Y":a+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o))}l=h.exec(i)}return new Date(a,o,r)},o=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return o=o&&"Invalid Date"==""+o?s:o,o&&(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)),this._daylightSavingAdjust(o)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,n=e.selectedMonth,a=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),n===e.selectedMonth&&a===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),s="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,"M")},next:function(){e.datepicker._adjustDate(s,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,s,n,a,o,r,h,l,u,d,c,p,f,m,g,v,y,b,_,x,w,k,T,D,S,M,C,N,A,P,I,z,H,F,E,O,j,W,L=new Date,R=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(e,"isRTL"),B=this._get(e,"showButtonPanel"),J=this._get(e,"hideIfNoPrevNext"),q=this._get(e,"navigationAsDateFormat"),K=this._getNumberOfMonths(e),V=this._get(e,"showCurrentAtPos"),U=this._get(e,"stepMonths"),Q=1!==K[0]||1!==K[1],G=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),X=this._getMinMaxDate(e,"min"),$=this._getMinMaxDate(e,"max"),Z=e.drawMonth-V,et=e.drawYear;if(0>Z&&(Z+=12,et--),$)for(t=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-K[0]*K[1]+1,$.getDate())),t=X&&X>t?X:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=q?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-U,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(e,"nextText"),n=q?this.formatDate(n,this._daylightSavingAdjust(new Date(et,Z+U,1)),this._getFormatConfig(e)):n,a=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",o=this._get(e,"currentText"),r=this._get(e,"gotoCurrent")&&e.currentDay?G:R,o=q?this.formatDate(o,r,this._getFormatConfig(e)):o,h=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(e,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+o+"</button>":"")+(Y?"":h)+"</div>":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,d=this._get(e,"showWeek"),c=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),f=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),y=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),_="",w=0;K[0]>w;w++){for(k="",this.maxRows=4,T=0;K[1]>T;T++){if(D=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),S=" ui-corner-all",M="",Q){if(M+="<div class='ui-datepicker-group",K[1]>1)switch(T){case 0:M+=" ui-datepicker-group-first",S=" ui-corner-"+(Y?"right":"left");break;case K[1]-1:M+=" ui-datepicker-group-last",S=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",S=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+S+"'>"+(/all|left/.test(S)&&0===w?Y?a:s:"")+(/all|right/.test(S)&&0===w?Y?s:a:"")+this._generateMonthYearHeader(e,Z,et,X,$,w>0||T>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",C=d?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",x=0;7>x;x++)N=(x+u)%7,C+="<th scope='col'"+((x+u+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+c[N]+"'>"+p[N]+"</span></th>";for(M+=C+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),P=(this._getFirstDayOfMonth(et,Z)-u+7)%7,I=Math.ceil((P+A)/7),z=Q?this.maxRows>I?this.maxRows:I:I,this.maxRows=z,H=this._daylightSavingAdjust(new Date(et,Z,1-P)),F=0;z>F;F++){for(M+="<tr>",E=d?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(H)+"</td>":"",x=0;7>x;x++)O=g?g.apply(e.input?e.input[0]:null,[H]):[!0,""],j=H.getMonth()!==Z,W=j&&!y||!O[0]||X&&X>H||$&&H>$,E+="<td class='"+((x+u+6)%7>=5?" ui-datepicker-week-end":"")+(j?" ui-datepicker-other-month":"")+(H.getTime()===D.getTime()&&Z===e.selectedMonth&&e._keyEvent||b.getTime()===H.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(W?" "+this._unselectableClass+" ui-state-disabled":"")+(j&&!v?"":" "+O[1]+(H.getTime()===G.getTime()?" "+this._currentClass:"")+(H.getTime()===R.getTime()?" ui-datepicker-today":""))+"'"+(j&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"'")+"'")+(W?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(j&&!v?" ":W?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===R.getTime()?" ui-state-highlight":"")+(H.getTime()===G.getTime()?" ui-state-active":"")+(j?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);M+=E+"</tr>"}Z++,Z>11&&(Z=0,et++),M+="</tbody></table>"+(Q?"</div>"+(K[0]>0&&T===K[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),k+=M}_+=k}return _+=l,e._keyEvent=!1,_},_generateMonthYearHeader:function(e,t,i,s,n,a,o,r){var h,l,u,d,c,p,f,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",_="";if(a||!g)_+="<span class='ui-datepicker-month'>"+o[t]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,_+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",u=0;12>u;u++)(!h||u>=s.getMonth())&&(!l||n.getMonth()>=u)&&(_+="<option value='"+u+"'"+(u===t?" selected='selected'":"")+">"+r[u]+"</option>");_+="</select>"}if(y||(b+=_+(!a&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(d=this._get(e,"yearRange").split(":"),c=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?c+parseInt(e,10):parseInt(e,10);return isNaN(t)?c:t},f=p(d[0]),m=Math.max(f,p(d[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)e.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";e.yearshtml+="</select>",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),y&&(b+=(!a&&g&&v?"":" ")+_),b+="</div>"},_adjustInstDate:function(e,t,i){var s=e.drawYear+("Y"===i?t:0),n=e.drawMonth+("M"===i?t:0),a=Math.min(e.selectedDay,this._getDaysInMonth(s,n))+("D"===i?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,n,a)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),n=i&&i>t?i:t;return s&&n>s?s:n},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var n=this._getNumberOfMonths(e),a=this._daylightSavingAdjust(new Date(i,s+(0>t?t:n[0]*n[1]),1));return 0>t&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(e,a)},_isInRange:function(e,t){var i,s,n=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),o=null,r=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),o=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(o+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||t.getTime()>=n.getTime())&&(!a||t.getTime()<=a.getTime())&&(!o||t.getFullYear()>=o)&&(!r||r>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var n=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),n,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new n,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.11.2",e.datepicker,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.2",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0) },_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n})),n?(a.isOver||(a.isOver=1,a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY<n.scrollSensitivity?o.scrollTop=a=o.scrollTop+n.scrollSpeed:t.pageY-s.overflowOffset.top<n.scrollSensitivity&&(o.scrollTop=a=o.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+o.offsetWidth-t.pageX<n.scrollSensitivity?o.scrollLeft=a=o.scrollLeft+n.scrollSpeed:t.pageX-s.overflowOffset.left<n.scrollSensitivity&&(o.scrollLeft=a=o.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(t.pageY-e(r).scrollTop()<n.scrollSensitivity?a=e(r).scrollTop(e(r).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(r).scrollTop())<n.scrollSensitivity&&(a=e(r).scrollTop(e(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(t.pageX-e(r).scrollLeft()<n.scrollSensitivity?a=e(r).scrollLeft(e(r).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(r).scrollLeft())<n.scrollSensitivity&&(a=e(r).scrollLeft(e(r).scrollLeft()+n.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(s,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,i,s){var n=s.options;s.snapElements=[],e(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var t=e(this),i=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,s){var n,a,o,r,h,l,u,d,c,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,y=i.offset.top,b=y+s.helperProportions.height;for(c=s.snapElements.length-1;c>=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.resizable",e.ui.mouse,{version:"1.11.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseInt(e,10)||0},_isNumber:function(e){return!isNaN(parseInt(e,10))},_hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return t[s]>0?!0:(t[s]=1,n=t[s]>0,t[s]=0,n)},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=this.element.children(this.handles[i]).first().show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(t){var i,s,n,a=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),a.containment&&(i+=e(a.containment).scrollLeft()||0,s+=e(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===n?this.axis+"-resize":n),o.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i,s,n=this.originalMousePosition,a=this.axis,o=t.pageX-n.left||0,r=t.pageY-n.top||0,h=this._change[a];return this._updatePrevProperties(),h?(i=h.apply(this,[t,o,r]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,i,s,n,a,o=this.options;a={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||e)&&(t=a.minHeight*this.aspectRatio,s=a.minWidth/this.aspectRatio,i=a.maxHeight*this.aspectRatio,n=a.maxWidth/this.aspectRatio,t>a.minWidth&&(a.minWidth=t),s>a.minHeight&&(a.minHeight=s),a.maxWidth>i&&(a.maxWidth=i),a.maxHeight>n&&(a.maxHeight=n)),this._vBoundaries=a},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,i=this.size,s=this.axis;return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===s&&(e.left=t.left+(i.width-e.width),e.top=null),"nw"===s&&(e.top=t.top+(i.height-e.height),e.left=t.left+(i.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,i=this.axis,s=this._isNumber(e.width)&&t.maxWidth&&t.maxWidth<e.width,n=this._isNumber(e.height)&&t.maxHeight&&t.maxHeight<e.height,a=this._isNumber(e.width)&&t.minWidth&&t.minWidth>e.width,o=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,r=this.originalPosition.left+this.originalSize.width,h=this.position.top+this.size.height,l=/sw|nw|w/.test(i),u=/nw|ne|n/.test(i);return a&&(e.width=t.minWidth),o&&(e.height=t.minHeight),s&&(e.width=t.maxWidth),n&&(e.height=t.maxHeight),a&&l&&(e.left=r-t.minWidth),s&&l&&(e.left=r-t.maxWidth),o&&u&&(e.top=h-t.minHeight),n&&u&&(e.top=h-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,i=[],s=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],n=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];4>t;t++)i[t]=parseInt(s[t],10)||0,i[t]+=parseInt(n[t],10)||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,i=this.helper||this.element;this._proportionallyResizeElements.length>t;t++)e=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(e)),e.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,i,s,n,a,o,r,h=e(this).resizable("instance"),l=h.options,u=h.element,d=l.containment,c=d instanceof e?d.get(0):/parent/.test(d)?u.parent().get(0):d;c&&(h.containerElement=e(c),/document/.test(d)||d===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(c),i=[],e(["Top","Right","Left","Bottom"]).each(function(e,s){i[e]=h._num(t.css("padding"+s))}),h.containerOffset=t.offset(),h.containerPosition=t.position(),h.containerSize={height:t.innerHeight()-i[3],width:t.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,a=h.containerSize.width,o=h._hasScroll(c,"left")?c.scrollWidth:a,r=h._hasScroll(c)?c.scrollHeight:n,h.parentData={element:c,left:s.left,top:s.top,width:o,height:r}))},resize:function(t){var i,s,n,a,o=e(this).resizable("instance"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,d={top:0,left:0},c=o.containerElement,p=!0;c[0]!==document&&/static/.test(c.css("position"))&&(d=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-d.left),u&&(o.size.height=o.size.width/o.aspectRatio,p=!1),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio,p=!1),o.position.top=o._helper?h.top:0),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),i=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-h.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-h.top)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio,p=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio,p=!1)),p||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).resizable("instance"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t,i=e(this).resizable("instance"),s=i.options,n=i.size,a=i.originalSize,o=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,u=h[1]||1,d=Math.round((n.width-a.width)/l)*l,c=Math.round((n.height-a.height)/u)*u,p=a.width+d,f=a.height+c,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,v=s.minWidth&&s.minWidth>p,y=s.minHeight&&s.minHeight>f;s.grid=h,v&&(p+=l),y&&(f+=u),m&&(p-=l),g&&(f-=u),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=o.top-c):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=o.left-d):((0>=f-u||0>=p-l)&&(t=i._getPaddingPlusBorderDimensions(this)),f-u>0?(i.size.height=f,i.position.top=o.top-c):(f=u-t.height,i.size.height=f,i.position.top=o.top+a.height-f),p-l>0?(i.size.width=p,i.position.left=o.left-d):(p=u-t.height,i.size.width=p,i.position.left=o.left+a.width-p))}}),e.ui.resizable,e.widget("ui.dialog",{version:"1.11.2",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"Close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,s=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(n){}this._hide(this.uiDialog,this.options.hide,function(){s._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+e(this).css("z-index")}).get(),a=Math.max.apply(null,n);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),s=!0),s&&!i&&this._trigger("focus",t),s},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),void 0; if(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");t.target!==n[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==s[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){n.focus()}),t.preventDefault()):(this._delay(function(){s.focus()}),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("<button type='button'></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),void 0):(e.each(i,function(i,s){var n,a;s=e.isFunction(s)?{click:s,text:i}:s,s=e.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(t.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,e("<button></button>",s).button(a).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,t(n))},drag:function(e,s){i._trigger("drag",e,t(s))},stop:function(n,a){var o=a.offset.left-i.document.scrollLeft(),r=a.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(o>=0?"+":"")+o+" "+"top"+(r>=0?"+":"")+r,of:i.window},e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,t(a))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,t(n))},resize:function(e,s){i._trigger("resize",e,t(s))},stop:function(n,a){var o=i.uiDialog.offset(),r=o.left-i.document.scrollLeft(),h=o.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,t(a))}}).css("position",a)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=e(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),i=e.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,n={};e.each(t,function(e,t){i._setOption(e,t),e in i.sizeRelatedOptions&&(s=!0),e in i.resizableRelatedOptions&&(n[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,t){var i,s,n=this.uiDialog;"dialogClass"===e&&n.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=n.is(":data(ui-draggable)"),i&&!t&&n.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(s=n.is(":data(ui-resizable)"),s&&!t&&n.resizable("destroy"),s&&"string"==typeof t&&n.resizable("option","handles",t),s||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),e=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),t=Math.max(0,s.minHeight-e),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-e):"none","auto"===s.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay(function(){t=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(e){t||this._allowInteraction(e)||(e.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=e("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}}),e.widget("ui.droppable",{version:"1.11.2",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case"fit":return a>=l&&d>=r&&o>=u&&c>=h;case"intersect":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable;var y="ui-effects-",b=e;e.effects={effect:{}},function(e,t){function i(e,t,i){var s=d[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?("0,0,0,0"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},d={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},c=l.support={},p=e("<p>")[0],f=e.each;p.style.cssText="background-color:rgba(1,1,1,.5)",c.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var d=this,c=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],c="array"),"string"===c?this.parse(s(n)||a._default):"array"===c?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):"object"===c?(n instanceof l?f(u,function(e,t){n[t.cache]&&(d[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!d[a]&&s.to){if("alpha"===e||null==n[e])return;d[a]=s.to(d._rgba)}d[a][t.idx]=i(n[e],t,!0)}),d[a]&&0>e.inArray(null,d[a].slice(0,3))&&(d[a][3]=1,s.from&&(d._rgba=s.from(d[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=d[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t="rgba(",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t="rgb("),t+i.join()+")"},toHslaString:function(){var t="hsla(",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),t="hsl("),t+i.join()+")"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),"#"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,d=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=d?l/u:l/(2-u),[Math.round(t)%360,i,d,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),d="array"===r||"object"===r?s:arguments,c=this[o].slice();return f(a,function(e,t){var s=d["object"===r?e:t.idx];null==s&&(s=c[t.idx]),c[t.idx]=i(s,t)}),u?(n=l(u(c)),n[o]=c,n):l(c)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h="alpha"===t?this._hsla?"hsla":"rgba":s,l=this[h](),u=l[i.idx];return"undefined"===o?u:("function"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(" ");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r="";if("transparent"!==n&&("string"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!c.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?t.parentNode:t;(""===r||"transparent"===r)&&o&&o.style;)try{r=e.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f(["Top","Right","Bottom","Left"],function(i,s){t["border"+s+"Color"]=e}),t}},a=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(b),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(b.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+"Class"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return"boolean"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:"number"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"string"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:"object"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:"1.11.2",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(y+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(y+t[s]),void 0===i&&(i=""),e.css(t[s],i))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},s=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),"static"===t.css("position")?(s.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||"fx",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||"boolean"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.blind=function(t,i){var s,n,a,o=e(this),r=/up|down|vertical/,h=/up|left|vertical|horizontal/,l=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(o,t.mode||"hide"),d=t.direction||"up",c=r.test(d),p=c?"height":"width",f=c?"top":"left",m=h.test(d),g={},v="show"===u;o.parent().is(".ui-effects-wrapper")?e.effects.save(o.parent(),l):e.effects.save(o,l),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n=s[p](),a=parseFloat(s.css(f))||0,g[p]=v?n:0,m||(o.css(c?"bottom":"right",0).css(c?"top":"left","auto").css({position:"absolute"}),g[f]=v?a:n+a),v&&(s.css(p,0),m||s.css(f,a+n)),s.animate(g,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){"hide"===u&&o.hide(),e.effects.restore(o,l),e.effects.removeWrapper(o),i()}})},e.effects.effect.bounce=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"effect"),l="hide"===h,u="show"===h,d=t.direction||"up",c=t.distance,p=t.times||5,f=2*p+(u||l?1:0),m=t.duration/f,g=t.easing,v="up"===d||"down"===d?"top":"left",y="up"===d||"left"===d,b=o.queue(),_=b.length;for((u||l)&&r.push("opacity"),e.effects.save(o,r),o.show(),e.effects.createWrapper(o),c||(c=o["top"===v?"outerHeight":"outerWidth"]()/3),u&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,y?2*-c:2*c).animate(a,m,g)),l&&(c/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g).animate(a,m,g),c=l?2*c:c/2;l&&(n={opacity:0},n[v]=(y?"-=":"+=")+c,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}),_>1&&b.splice.apply(b,[1,0].concat(b.splice(_,f+1))),o.dequeue()},e.effects.effect.clip=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","height","width"],h=e.effects.setMode(o,t.mode||"hide"),l="show"===h,u=t.direction||"vertical",d="vertical"===u,c=d?"height":"width",p=d?"top":"left",f={};e.effects.save(o,r),o.show(),s=e.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[c](),l&&(n.css(c,0),n.css(p,a/2)),f[c]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){l||o.hide(),e.effects.restore(o,r),e.effects.removeWrapper(o),i()}})},e.effects.effect.drop=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","opacity","height","width"],o=e.effects.setMode(n,t.mode||"hide"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h?"pos":"neg",d={opacity:r?1:0};e.effects.save(n,a),n.show(),e.effects.createWrapper(n),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===u?-s:s),d[l]=(r?"pos"===u?"+=":"-=":"pos"===u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.explode=function(t,i){function s(){b.push(this),b.length===d*c&&n()}function n(){p.css({visibility:"visible"}),e(b).remove(),m||p.hide(),i()}var a,o,r,h,l,u,d=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=d,p=e(this),f=e.effects.setMode(p,t.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/c),y=Math.ceil(p.outerHeight()/d),b=[];for(a=0;d>a;a++)for(h=g.top+a*y,u=a-(d-1)/2,o=0;c>o;o++)r=g.left+o*v,l=o-(c-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*y}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:y,left:r+(m?l*v:0),top:h+(m?u*y:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:u*y),opacity:m?1:0},t.duration||500,t.easing,s)},e.effects.effect.fade=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:t.duration,easing:t.easing,complete:i})},e.effects.effect.fold=function(t,i){var s,n,a=e(this),o=["position","top","bottom","left","right","height","width"],r=e.effects.setMode(a,t.mode||"hide"),h="show"===r,l="hide"===r,u=t.size||15,d=/([0-9]+)%/.exec(u),c=!!t.horizFirst,p=h!==c,f=p?["width","height"]:["height","width"],m=t.duration/2,g={},v={};e.effects.save(a,o),a.show(),s=e.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],d&&(u=parseInt(d[1],10)/100*n[l?0:1]),h&&s.css(c?{height:0,width:u}:{height:u,width:0}),g[f[0]]=h?n[0]:u,v[f[1]]=h?n[1]:0,s.animate(g,m,t.easing).animate(v,m,t.easing,function(){l&&a.hide(),e.effects.restore(a,o),e.effects.removeWrapper(a),i()})},e.effects.effect.highlight=function(t,i){var s=e(this),n=["backgroundImage","backgroundColor","opacity"],a=e.effects.setMode(s,t.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===a&&s.hide(),e.effects.restore(s,n),i()}})},e.effects.effect.size=function(t,i){var s,n,a,o=e(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],u=["fontSize"],d=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),f=t.restore||"effect"!==p,m=t.scale||"both",g=t.origin||["middle","center"],v=o.css("position"),y=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===t.mode&&"show"===p?(o.from=t.to||b,o.to=t.from||s):(o.from=t.from||("show"===p?b:s),o.to=t.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(y=y.concat(d),o.from=e.effects.setTransition(o,d,a.from.y,o.from),o.to=e.effects.setTransition(o,d,a.to.y,o.to)),a.from.x!==a.to.x&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,a.from.x,o.from),o.to=e.effects.setTransition(o,c,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(y=y.concat(u).concat(l),o.from=e.effects.setTransition(o,u,a.from.y,o.from),o.to=e.effects.setTransition(o,u,a.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=e.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(d=d.concat(["marginTop","marginBottom"]).concat(u),c=c.concat(["marginLeft","marginRight"]),l=r.concat(d).concat(c),o.find("*[width]").each(function(){var i=e(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()}; f&&e.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=e.effects.setTransition(i,d,a.from.y,i.from),i.to=e.effects.setTransition(i,d,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=e.effects.setTransition(i,c,a.from.x,i.from),i.to=e.effects.setTransition(i,c,a.to.x,i.to)),i.css(i.from),i.animate(i.to,t.duration,t.easing,function(){f&&e.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),e.effects.restore(o,y),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,i){var s=parseInt(i,10),n=e?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),e.effects.removeWrapper(o),i()}})},e.effects.effect.scale=function(t,i){var s=e(this),n=e.extend(!0,{},t),a=e.effects.setMode(s,t.mode||"effect"),o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)?0:"hide"===a?0:100),r=t.direction||"both",h=t.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},u={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=t.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*u.y,width:l.width*u.x,outerHeight:l.outerHeight*u.y,outerWidth:l.outerWidth*u.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},e.effects.effect.puff=function(t,i){var s=e(this),n=e.effects.setMode(s,t.mode||"hide"),a="hide"===n,o=parseInt(t.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(t)},e.effects.effect.pulsate=function(t,i){var s,n=e(this),a=e.effects.setMode(n,t.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(t.times||5)+(h?1:0),u=t.duration/l,d=0,c=n.queue(),p=c.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),d=1),s=1;l>s;s++)n.animate({opacity:d},u,t.easing),d=1-d;n.animate({opacity:d},u,t.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&c.splice.apply(c,[1,0].concat(c.splice(p,l+1))),n.dequeue()},e.effects.effect.shake=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","height","width"],o=e.effects.setMode(n,t.mode||"effect"),r=t.direction||"left",h=t.distance||20,l=t.times||3,u=2*l+1,d=Math.round(t.duration/u),c="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),y=v.length;for(e.effects.save(n,a),n.show(),e.effects.createWrapper(n),f[c]=(p?"-=":"+=")+h,m[c]=(p?"+=":"-=")+2*h,g[c]=(p?"-=":"+=")+2*h,n.animate(f,d,t.easing),s=1;l>s;s++)n.animate(m,d,t.easing).animate(g,d,t.easing);n.animate(m,d,t.easing).animate(f,d/2,t.easing).queue(function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}),y>1&&v.splice.apply(v,[1,0].concat(v.splice(y,u+1))),n.dequeue()},e.effects.effect.slide=function(t,i){var s,n=e(this),a=["position","top","bottom","left","right","width","height"],o=e.effects.setMode(n,t.mode||"show"),r="show"===o,h=t.direction||"left",l="up"===h||"down"===h?"top":"left",u="up"===h||"left"===h,d={};e.effects.save(n,a),n.show(),s=t.distance||n["top"===l?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,u?isNaN(s)?"-"+s:-s:s),d[l]=(r?u?"+=":"-=":u?"-=":"+=")+s,n.animate(d,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===o&&n.hide(),e.effects.restore(n,a),e.effects.removeWrapper(n),i()}})},e.effects.effect.transfer=function(t,i){var s=e(this),n=e(t.to),a="fixed"===n.css("position"),o=e("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),u={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},d=s.offset(),c=e("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(t.className).css({top:d.top-r,left:d.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){c.remove(),i()})},e.widget("ui.progressbar",{version:"1.11.2",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.selectable",e.ui.mouse,{version:"1.11.2",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}}),e.widget("ui.selectmenu",{version:"1.11.2",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var t=this,i=this.element.attr("tabindex");this.label=e("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(e){this.button.focus(),e.preventDefault()}}),this.element.hide(),this.button=e("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:i||this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),e("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=e("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){t.menuItems||t._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var t=this;this.menu=e("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=e("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(e,i){e.preventDefault(),t._setSelection(),t._select(i.item.data("ui-selectmenu-item"),e)},focus:function(e,i){var s=i.item.data("ui-selectmenu-item");null!=t.focusIndex&&s.index!==t.focusIndex&&(t._trigger("focus",e,{item:s}),t.isOpen||t._select(s,e)),t.focusIndex=s.index,t.button.attr("aria-activedescendant",t.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var e,t=this.element.find("option");t.length&&(this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e))},_position:function(){this.menuWrap.position(e.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(t,i){var s=this,n="";e.each(i,function(i,a){a.optgroup!==n&&(e("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(a.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:a.optgroup}).appendTo(t),n=a.optgroup),s._renderItemData(t,a)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(t,i){var s=e("<li>");return i.disabled&&s.addClass("ui-state-disabled"),this._setText(s,i.label),s.appendTo(t)},_setText:function(e,t){t?e.text(t):e.html(" ")},_move:function(e,t){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex):(i=this.menuItems.eq(this.element[0].selectedIndex),n+=":not(.ui-state-disabled)"),s="first"===e||"last"===e?i["first"===e?"prevAll":"nextAll"](n).eq(-1):i[e+"All"](n).eq(0),s.length&&this.menuInstance.focus(t,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?(e=window.getSelection(),e.removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(t){this.isOpen&&(e(t.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(t))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection(),e.rangeCount&&(this.range=e.getRangeAt(0))):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(t){var i=!0;switch(t.keyCode){case e.ui.keyCode.TAB:case e.ui.keyCode.ESCAPE:this.close(t),i=!1;break;case e.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case e.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case e.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case e.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case e.ui.keyCode.LEFT:this._move("prev",t);break;case e.ui.keyCode.RIGHT:this._move("next",t);break;case e.ui.keyCode.HOME:case e.ui.keyCode.PAGE_UP:this._move("first",t);break;case e.ui.keyCode.END:case e.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t),i=!1}i&&t.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex);t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this._setText(this.buttonText,e.label),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==i&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){"icons"===e&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(t.button),this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"disabled"===e&&(this.menuInstance.option("disabled",t),this.button.toggleClass("ui-state-disabled",t).attr("aria-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===e&&this._resizeButton()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var e=this.options.width;e||(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(t){var i=[];t.each(function(t,s){var n=e(s),a=n.parent("optgroup");i.push({element:n,index:t,value:n.attr("value"),label:n.text(),optgroup:a.attr("label")||"",disabled:a.prop("disabled")||n.prop("disabled")})}),this.items=i},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}}),e.widget("ui.slider",e.ui.mouse,{version:"1.11.2",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)})},_createRange:function(){var t=this.options,i="";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=e("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===t.range||"max"===t.range?" ui-slider-range-"+t.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,d=this.options;return d.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===d.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,n,a;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger("slide",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger("slide",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),void 0;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch("range"===t&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),"disabled"===t&&this.element.toggleClass("ui-state-disabled",!!i),this._super(t,i),t){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var e=(this.options.max-this._valueMin())%this.options.step;this.max=this.options.max-e},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(t){var i,s,n,a,o=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(t.target).addClass("ui-state-active"),i=this._start(t,o),i===!1))return}switch(a=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+a);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-a)}this._slide(t,o,n)},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}}),e.widget("ui.sortable",e.ui.mouse,{version:"1.11.2",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){var e=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===e.axis||this._isFloating(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this)); return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-e(document).scrollTop()<o.scrollSensitivity?r=e(document).scrollTop(e(document).scrollTop()-o.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<o.scrollSensitivity&&(r=e(document).scrollTop(e(document).scrollTop()+o.scrollSpeed)),t.pageX-e(document).scrollLeft()<o.scrollSensitivity?r=e(document).scrollLeft(e(document).scrollLeft()-o.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<o.scrollSensitivity&&(r=e(document).scrollLeft(e(document).scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?t.currentItem.children().each(function(){e("<td> </td>",t.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,e("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(e("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget("ui.spinner",{version:"1.11.2",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},i=this.element;return e.each(["min","max","step"],function(e,s){var n=i.attr(s);void 0!==n&&n.length&&(t[s]=n)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e),void 0)},mousewheel:function(e,t){if(t){if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()}},"mousedown .ui-spinner-button":function(t){function i(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(t)!==!1&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){return e(t.currentTarget).hasClass("ui-state-active")?this._start(t)===!1?!1:(this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*e.height())&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var i=this.options,s=e.ui.keyCode;switch(t.keyCode){case s.UP:return this._repeat(null,1,t),!0;case s.DOWN:return this._repeat(null,-1,t),!0;case s.PAGE_UP:return this._repeat(null,i.page,t),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,t),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>▲</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>▼</span>"+"</a>"},_start:function(e){return this.spinning||this._trigger("start",e)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(e,t,i){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,i)},e),this._spin(t*this.options.step,i)},_spin:function(e,t){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+e*this._increment(this.counter)),this.spinning&&this._trigger("spin",t,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(t){var i=this.options.incremental;return i?e.isFunction(i)?i(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_adjustValue:function(e){var t,i,s=this.options;return t=null!==s.min?s.min:0,i=e-t,i=Math.round(i/s.step)*s.step,e=t+i,e=parseFloat(e.toFixed(this._precision())),null!==s.max&&e>s.max?s.max:null!==s.min&&s.min>e?s.min:e},_stop:function(e){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",e))},_setOption:function(e,t){if("culture"===e||"numberFormat"===e){var i=this._parse(this.element.val());return this.options[e]=t,this.element.val(this._format(i)),void 0}("max"===e||"min"===e||"step"===e)&&"string"==typeof t&&(t=this._parse(t)),"icons"===e&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(t.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(t.down)),this._super(e,t),"disabled"===e&&(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable"))},_setOptions:h(function(e){this._super(e)}),_parse:function(e){return"string"==typeof e&&""!==e&&(e=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(e,10,this.options.culture):+e),""===e||isNaN(e)?null:e},_format:function(e){return""===e?"":window.Globalize&&this.options.numberFormat?Globalize.format(e,this.options.numberFormat,this.options.culture):e},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var e=this.value();return null===e?!1:e===this._adjustValue(e)},_value:function(e,t){var i;""!==e&&(i=this._parse(e),null!==i&&(t||(i=this._adjustValue(i)),e=this._format(i))),this.element.val(e),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:h(function(e){this._stepUp(e)}),_stepUp:function(e){this._start()&&(this._spin((e||1)*this.options.step),this._stop())},stepDown:h(function(e){this._stepDown(e)}),_stepDown:function(e){this._start()&&(this._spin((e||1)*-this.options.step),this._stop())},pageUp:h(function(e){this._stepUp((e||1)*this.options.page)}),pageDown:h(function(e){this._stepDown((e||1)*this.options.page)}),value:function(e){return arguments.length?(h(this._value).call(this,e),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),e.widget("ui.tabs",{version:"1.11.2",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0] }).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.success(function(e){setTimeout(function(){o.html(e),s._trigger("load",i,r)},1)}).complete(function(e,t){setTimeout(function(){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),e.widget("ui.tooltip",{version:"1.11.2",options:{content:function(){var t=e(this).attr("title")||"";return e("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_addDescribedBy:function(t,i){var s=(t.attr("aria-describedby")||"").split(/\s+/);s.push(i),t.data("ui-tooltip-id",i).attr("aria-describedby",e.trim(s.join(" ")))},_removeDescribedBy:function(t){var i=t.data("ui-tooltip-id"),s=(t.attr("aria-describedby")||"").split(/\s+/),n=e.inArray(i,s);-1!==n&&s.splice(n,1),t.removeData("ui-tooltip-id"),s=e.trim(s.join(" ")),s?t.attr("aria-describedby",s):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=e("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(t,i){var s=this;return"disabled"===t?(this[i?"_disable":"_enable"](),this.options[t]=i,void 0):(this._super(t,i),"content"===t&&e.each(this.tooltips,function(e,t){s._updateContent(t.element)}),void 0)},_disable:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur");n.target=n.currentTarget=s.element[0],t.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var i=this,s=e(t?t.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&s.parents().each(function(){var t,s=e(this);s.data("ui-tooltip-open")&&(t=e.Event("blur"),t.target=t.currentTarget=this,i.close(t,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,t))},_updateContent:function(e,t){var i,s=this.options.content,n=this,a=t?t.type:null;return"string"==typeof s?this._open(t,e,s):(i=s.call(e[0],function(i){e.data("ui-tooltip-open")&&n._delay(function(){t&&(t.type=a),this._open(t,e,i)})}),i&&this._open(t,e,i),void 0)},_open:function(t,i,s){function n(e){u.of=e,o.is(":hidden")||o.position(u)}var a,o,r,h,l,u=e.extend({},this.options.position);if(s){if(a=this._find(i))return a.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),a=this._tooltip(i),o=a.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),s.clone?(l=s.clone(),l.removeAttr("id").find("[id]").removeAttr("id")):l=s,e("<div>").html(l).appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:n}),n(t)):o.position(e.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){o.is(":visible")&&(n(u.of),clearInterval(h))},e.fx.interval)),this._trigger("open",t,{tooltip:o}),r={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var s=e.Event(t);s.currentTarget=i[0],this.close(s,!0)}}},i[0]!==this.element[0]&&(r.remove=function(){this._removeTooltip(o)}),t&&"mouseover"!==t.type||(r.mouseleave="close"),t&&"focusin"!==t.type||(r.focusout="close"),this._on(!0,i,r)}},close:function(t){var i,s=this,n=e(t?t.currentTarget:this.element),a=this._find(n);a&&(i=a.tooltip,a.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),a.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(e(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,function(t,i){e(i.element).attr("title",i.title),delete s.parents[t]}),a.closing=!0,this._trigger("close",t,{tooltip:i}),a.hiding||(a.closing=!1)))},_tooltip:function(t){var i=e("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),s=i.uniqueId().attr("id");return e("<div>").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[s]={element:t,tooltip:i}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(i,s){var n=e.Event("blur"),a=s.element;n.target=n.currentTarget=a[0],t.close(n,!0),e("#"+i).remove(),a.data("ui-tooltip-title")&&(a.attr("title")||a.attr("title",a.data("ui-tooltip-title")),a.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})});[build] ; Generated by build/build_release.php build_number = 10 build_label = "2.2.23+build.10" build_time = 1786215799 build_iso8601 = "2026-08-08T19:03:19+00:00" build_user = "CodexSandboxOffline" build_host = "DESKTOP-L97P147" cms_version = "2.2.23" source_mode = "local" source_branch = "trunk" final_upgrade_history = "history/upgrades/final" beta_upgrade_history = "history/upgrades/beta" minimum_upgrade_version = "" include_beta_upgrades = 0 reuse_generated_payload = 0 <?php namespace cms_autoinstaller; use \__appbase\utils as app_utils; include_once(__DIR__.'/lib/compat.functions.php'); include_once(\dirname(__FILE__, 2) . '/lib/classes/base/class.app.php'); class cms_install extends \__appbase\app { private static $_instance; private $_archive; private $_dest_version; private $_dest_name; private $_dest_schema; private $_destdir; private $_custom_destdir; private $_nls; private $_orig_tz; private $_orig_error_level; private $_custom_tmpdir; private function trace_runtime($message) { if( !defined('CMS_INSTALLER_DEBUG_TRACE') || !CMS_INSTALLER_DEBUG_TRACE ) { return; } $tmpdir = \function_exists('sys_get_temp_dir') ? \sys_get_temp_dir() : null; if( !$tmpdir ) return; $fn = \rtrim($tmpdir,'\\/') . '/cmsms-installer-flow.log'; $line = '['.\date('Y-m-d H:i:s').'] '.$message."\n"; @\file_put_contents($fn,$line,\FILE_APPEND); } public function get_tmpdir() { // because phar uses tmpfile() we need to set the TMPDIR environment variable // with whatever directory we find. $config = $this->get_config(); if( !\defined('CMS_INSTALLER_DEBUG_TRACE') ) { \define('CMS_INSTALLER_DEBUG_TRACE', !empty($config['debug'])); } return $config['tmpdir']; } private function fixup_tmpdir_environment() { // if the system temporary directory is not the same as the config temporary directory // then we attempt to putenv the TMPDIR environment variable // so that tmpfile() will work as it uses the system temporary directory which can read from environment variables $sys_tmpdir = null; if( \function_exists('sys_get_temp_dir') ) $sys_tmpdir = \rtrim(\sys_get_temp_dir(), '\\/'); $config = $this->get_config(); if( (!$sys_tmpdir || !\is_dir($sys_tmpdir) || !\is_writable($sys_tmpdir)) && $sys_tmpdir != $config['tmpdir'] ) { @\putenv('TMPDIR=' . $config['tmpdir']); $try1 = \getenv('TMPDIR'); if( $try1 != $config['tmpdir'] ) throw new \RuntimeException('Sorry, putenv does not work on this system, and your system temporary directory is not set properly.'); } } public function __construct() { parent::__construct(__FILE__); // initialize the session. $sess = \__appbase\session::get(); $junk = $sess[__CLASS__]; // this is junk, but triggers session to start. // get the request $request = \__appbase\request::get(); if( isset($request['clear']) ) { $sess->reset(); } $config = $this->get_config(); // setup autoload \spl_autoload_register(__NAMESPACE__ . '\cms_install::autoload'); $this->fixup_tmpdir_environment(); // handle debug mode early so third-party/bootstrap deprecations follow the same policy. if( $config['debug'] ) { @\ini_set('display_errors', 1); @\error_reporting(\E_ALL); @\ini_set('error_log', \Phar::running(FALSE) . '/error.log'); } else { @\error_reporting(\E_ALL & ~\E_DEPRECATED & ~\E_USER_DEPRECATED); } // setup smarty $smarty = \__appbase\smarty(); $smarty->assign('APPNAME','cms_installer'); $smarty->assign('config',$config); $smarty->assign('installer_version',$config['installer_version']); $fn = $this->get_appdir().'/build.ini'; $build = null; if( \file_exists($fn) ) $build = \parse_ini_file($fn); if( isset($build['build_time']) ) $smarty->assign('build_time',$build['build_time']); if( isset($build['build_number']) ) $smarty->assign('build_number',$build['build_number']); if( isset($build['build_label']) ) $smarty->assign('build_label',$build['build_label']); if( $this->in_phar() && !$config['nobase'] ) { $base_href = $_SERVER['SCRIPT_NAME']; if( \__appbase\endswith($base_href,'.php') ) { $base_href = $base_href . '/'; $smarty->assign('BASE_HREF',$base_href); } } // find our archive, copy it... and rename it securely. // we do this because phar data cannot read from a .tar.gz file that is already embedded within a phar // (some environments) $tmpdir = $this->get_tmpdir().'/m' . \md5(__FILE__ . \session_id()); $src_archive = $this->get_archive_source_path(); if( !\file_exists($src_archive) ) throw new \Exception('Could not find installation archive at ' . $src_archive); $dest_archive = $tmpdir . \DIRECTORY_SEPARATOR . "f" . \md5($src_archive . \session_id()) . '.tgz'; $src_md5 = \md5_file($src_archive); for( $i = 0; $i < 2; $i++ ) { if( !\file_exists($dest_archive) ) { @\mkdir($tmpdir,0777,TRUE); @\copy($src_archive, $dest_archive); } $dest_md5 = \md5_file($dest_archive); if( \is_readable($dest_archive) && $src_md5 == $dest_md5 ) break; @\unlink($dest_archive); } if( 2 == $i ) throw new \Exception('Checksum of temporary archive does not match... copying/permissions problem'); $this->_archive = $dest_archive; // get version details (version we are installing) // if not in the session, save them there. if( isset($sess[__CLASS__.'version']) ) { $ver = $sess[__CLASS__.'version']; $this->_dest_version = $ver['version']; $this->_dest_name = $ver['version_name']; $this->_dest_schema = $ver['schema_version']; } else { $verfile = $this->get_payload_version_file(); if( !is_file($verfile) ) throw new \Exception('Could not find version file'); $ver = utils::read_cms_version_file($verfile); $sess[__CLASS__.'version'] = $ver; $this->_dest_version = $ver['version']; $this->_dest_name = $ver['version_name']; $this->_dest_schema = $ver['schema_version']; } } private function is_absolute_path($path) { $path = \trim((string) $path); if( $path === '' ) return FALSE; if( \preg_match('/^[a-zA-Z]:[\\\\\\/]/', $path) ) return TRUE; if( \strpos($path, '\\\\') === 0 ) return TRUE; if( \strpos($path, '/') === 0 ) return TRUE; if( \strpos($path, '\\') === 0 ) return TRUE; return FALSE; } public function resolve_root_path($path = null) { $path = \trim((string) $path); if( $path === '' ) return $this->get_rootdir(); if( $this->is_absolute_path($path) ) return $path; $path = \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $path); return $this->get_rootdir() . \DIRECTORY_SEPARATOR . $path; } public function get_archive_source_path() { $config = $this->get_config(); $path = isset($config['archive']) ? $config['archive'] : 'data/data.tar.gz'; return $this->resolve_root_path($path); } public function get_payload_version_file() { $config = $this->get_config(); $path = isset($config['version_file']) ? trim($config['version_file']) : ''; if( $path ) return $this->resolve_root_path($path); return \dirname($this->get_archive_source_path()) . \DIRECTORY_SEPARATOR . 'version.php'; } public function get_upgrade_dir() { $config = $this->get_config(); $path = isset($config['upgrade_dir']) ? $config['upgrade_dir'] : 'app/upgrade'; return $this->resolve_root_path($path); } public function get_upgrade_version_dir($version = null) { $dir = $this->get_upgrade_dir(); $version = \trim((string) $version); if( !$version ) return $dir; return $dir . \DIRECTORY_SEPARATOR . $version; } public function get_install_dir() { $config = $this->get_config(); $path = isset($config['install_dir']) ? $config['install_dir'] : 'app/install'; return $this->resolve_root_path($path); } public function get_install_profiles_dir() { $config = $this->get_config(); $path = isset($config['install_profiles_dir']) ? $config['install_profiles_dir'] : 'app/install_profiles'; $dir = $this->resolve_root_path($path); if( \is_dir($dir) ) return $dir; $external = $this->find_workspace_payload_dir('install_profiles'); if( $external ) return $external; return $dir; } public function get_optional_payload_dir() { $config = $this->get_config(); $path = isset($config['optional_dir']) ? $config['optional_dir'] : 'app/optional'; $dir = $this->resolve_root_path($path); if( \is_dir($dir) ) return $dir; $external = $this->find_workspace_payload_dir('optional'); if( $external ) return $external; return $dir; } public function get_workspace_root() { return \dirname(\dirname($this->get_rootdir())); } private function find_workspace_payload_dir($segment) { $segment = \trim((string) $segment); if( !$segment ) return; $dir = $this->get_workspace_root() . \DIRECTORY_SEPARATOR . 'payload' . \DIRECTORY_SEPARATOR . \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $segment); if( \is_dir($dir) ) return $dir; } static public function autoload($classname) { if( \__appbase\startswith($classname, 'cms_autoinstaller\\') ) $classname = \substr($classname, \strlen('cms_autoinstaller\\')); $dirs = [__DIR__, __DIR__ . '/base', __DIR__ . '/lib', __DIR__ . '/wizard']; foreach( $dirs as $dir ) { $fn = $dir."/class.$classname.php"; if( \file_exists($fn) ) { include_once($fn); return; } } } protected function set_config_defaults() { $tmp = [ 'timezone' => null, 'tmpdir' => null, 'dest' => null, 'debug' => false, 'nofiles' => false, 'nobase' => false, 'lang' => null, 'verbose' => false ]; $config = \array_merge(parent::get_config(), $tmp); $this->_orig_tz = $config['timezone'] = @\date_default_timezone_get(); if( !$this->_orig_tz ) $this->_orig_tz = $config['timezone'] = 'UTC'; $config['dest'] = \realpath(\getcwd()); return $config; } protected function load_config() { // setup some defaults $config = $this->set_config_defaults(); // override default config with config file $config_file = \realpath(\getcwd()) . '/custom_config.ini'; if(\is_file($config_file) && \is_readable($config_file) ) { $tmp = \parse_ini_file($config_file); if(\is_array($tmp) && count($tmp) ) { $config = \array_merge($config, $tmp); if( isset($tmp['dest']) ) $this->_custom_destdir = $tmp['dest']; } } // override current config with url params $request = \__appbase\request::get(); $list = [ 'TMPDIR', 'tmpdir', 'timezone', 'tz', 'dest', 'destdir', 'debug', 'nofiles', 'no_files', 'nobase' ]; foreach( $list as $key ) { if( !isset($request[$key]) ) continue; $val = $request[$key]; switch( $key ) { case 'TMPDIR': case 'tmpdir': $config['tmpdir'] = \trim($val); break; case 'timezone': case 'tz': $config['timezone'] = \trim($val); break; case 'dest': case 'destdir': $this->_custom_destdir = $config['dest'] = trim($val); break; case 'debug': $config['debug'] = app_utils::to_bool($val); break; case 'nobase': $config['nobase'] = app_utils::to_bool($val); break; case 'nofiles': case 'no_files': $config['nofiles'] = app_utils::to_bool($val); break; } } return $config; } protected function check_config($config) { foreach( $config as $key => $val ) { switch( $key ) { case 'tmpdir': if( !$val ) { // no tmpdir set... gotta find or create one. $val = parent::get_tmpdir(); } if(!\is_dir($val) || !\is_writable($val) ) { // could not find a valid system temporary directory, or none specified. gotta make one $dir = \realpath(\getcwd()) . '/__m' . \md5(\session_id()); if(!@\is_dir($dir) && !@mkdir($dir) ) throw new \RuntimeException('Sorry, problem determining a temporary directory, non specified, and we could not create one.'); $txt = 'This is temporary directory created for installing CMSMS in punitively restrictive environments. You may delete this directory and its files once installation is complete.'; if( !@file_put_contents($dir.'/__cmsms',$txt) ) throw new \RuntimeException('We could not create a file in the temporary directory we just created (is safe mode on?).'); $config[$key] = $dir; $this->_custom_tmpdir = $dir; $val = $dir; } $config[$key] = $val; break; case 'dest': if(!\is_dir($val) || !\is_writable($val) ) { throw new \RuntimeException('Invalid config value for '.$key.' - not a directory, or not writable'); } break; case 'nobase': case 'nofiles': case 'debug': case 'timezone': // do nothing break; } } return $config; } public function get_config() { $sess = \__appbase\session::get(); if( isset($sess['config']) ) { // already set once... so you must close and re-open the browser to reset it. return $sess['config']; } // gotta load the config, then store it in the session $config = $this->load_config(); $config = $this->check_config($config); $sess['config'] = $config; return $config; } private function set_config_val($key,$val) { $config = $this->get_config(); $config[\trim($key)] = $val; $sess = \__appbase\session::get(); $sess['config'] = $config; } public function get_orig_error_level() { return $this->_orig_error_level; } public function get_orig_tz() { return $this->_orig_tz; } public function get_destdir() { $config = $this->get_config(); return $config['dest']; } public function set_destdir($destdir) { $this->set_config_val('dest',$destdir); } public function has_custom_destdir() { $p1 = \realpath((string)\getcwd()); $p2 = \realpath((string)$this->_custom_destdir); return ($p1 !== $p2); } public function get_archive() { return $this->_archive; } public function get_dest_version() { return $this->_dest_version; } public function get_dest_name() { return $this->_dest_name; } public function get_dest_schema() { return $this->_dest_schema; } public function get_phar() { return \Phar::running(); } public function in_phar() { $x = $this->get_phar(); if( !$x ) return FALSE; return TRUE; } public function get_nls() { if( is_array($this->_nls) ) return $this->_nls; $archive = $this->get_archive(); $archive = str_replace('\\','/',$archive); // stupid windoze if( !file_exists($archive) ) throw new \Exception(\__appbase\lang('error_noarchive')); $phardata = new \PharData($archive); $nls = array(); $found = false; $archiveBase = basename($archive); $nls['language'] = array(); $nls['alias'] = array(); $nls['htmlarea'] = array(); foreach( new \RecursiveIteratorIterator($phardata) as $file => $it ) { $p = \strpos($file, $archiveBase); if( $p === FALSE ) continue; $tmp = \substr($file, $p + \strlen($archiveBase)); if( \strpos($tmp, '/lib/nls/') !== 0 ) continue; if( !\preg_match('/\.nls\.php$/', $tmp) ) continue; $found = true; $name = \basename($file); $name = \trim(\substr($name, 6, \strlen($name) - 14)).'_nls'; $classname = __NAMESPACE__.'\\'.$name; if( !class_exists($classname, false) ) { include_once($file); } if( !class_exists($classname, false) ) continue; $obj = new $classname; $nls['language'][$obj->name()] = $obj->display(); $nls['htmlarea'][$obj->name()] = $obj->name(); $aliases = $obj->aliases(); if( is_array($aliases) ) { foreach( $aliases as $alias ) { $alias = trim((string) $alias); if( $alias === '' ) continue; $nls['alias'][$alias] = $obj->name(); } } } if( !$found ) throw new \Exception(\__appbase\lang('error_nlsnotfound')); $this->_nls = $nls; return $nls; } public function get_language_list() { $this->get_nls(); return $this->_nls['language']; } public function get_root_url() { $prefix = null; //if( isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != 'off' ) $prefix = 'https'; $prefix .= '//'.$_SERVER['HTTP_HOST']; // if we are putting files somewhere else, we cannot determine the root url of the site // via the $_SERVER variables. $b = $this->get_destdir(); if( $b != getcwd() ) { if( \__appbase\startswith($b,$_SERVER['DOCUMENT_ROOT']) ) $b = substr($b,strlen($_SERVER['DOCUMENT_ROOT'])); $b = str_replace('\\','/',$b); // cuz windows blows if( !\__appbase\endswith($prefix,'/') && !\__appbase\startswith($b,'/') ) $prefix .= '/'; return $prefix.$b; } $b = dirname($_SERVER['PHP_SELF']); if( $this->in_phar() ) { $tmp = basename($_SERVER['SCRIPT_NAME']); if( ($p = strpos($b,$tmp)) !== FALSE ) $b = substr($b,0,$p); } $b = str_replace('\\','/',$b); // cuz windows blows. if( !\__appbase\endswith($prefix,'/') && !\__appbase\startswith($b,'/') ) $prefix .= '/'; return $prefix.$b; } public function run() { $this->trace_runtime('run:start'); // set the languages we're going to support. $list = \__appbase\nls()->get_list(); foreach( $list as &$one ) $one = substr($one,0,-4); \__appbase\translator()->set_allowed_languages($list); // the default language. \__appbase\translator()->set_default_language('en_US'); // get the language preferred by the user (either in the request, in a cookie, or in the session) $lang = \__appbase\translator()->get_selected_language(); if( !$lang ) $lang = \__appbase\translator()->get_default_language(); // get a preferred language // set our selected language... \__appbase\translator()->set_selected_language($lang); // for every request we're gonna make sure it's not cached. //session_cache_limiter('private'); // and make sure we are in UTF-8 header('Content-Type:text/html; charset=UTF-8'); // and do our stuff. try { $tmp = 'm'.substr(md5(realpath(getcwd()).session_id()),0,8); $wizard = \__appbase\wizard::get_instance(__DIR__.'/wizard','\cms_autoinstaller'); // this sets a custom step variable for each instance // which is just one more security measure. // nobody can guess an installer URL and jump to a specific step to // nuke anything (even though database creds are stored in the session // so are all the other parameters. $wizard->set_step_var($tmp); $res = $wizard->process(); $this->trace_runtime('run:process:done'); } catch( \Throwable $e ) { $this->trace_runtime('run:error:'.get_class($e).': '.$e->getMessage()); $smarty = \__appbase\smarty(); $smarty->assign('error',$e->GetMessage()); $smarty->display('error.tpl'); } } public function cleanup() { if( $this->_custom_tmpdir ) { app_utils::rrmdir($this->_custom_tmpdir); } } } // end of class <?php die('not implemented'); ?>[main] installer_version = '1.4.2'; min_upgrade_version = '1.12' ; Runtime payload locations are relative to the installer root. archive = 'data/data.tar.gz' version_file = 'data/version.php' upgrade_dir = 'app/upgrade' install_dir = 'app/install' install_profiles_dir = 'app/install_profiles' optional_dir = 'app/optional' dbtype = 'mysqli' dbhost = 'localhost' dbprefix = 'cms_' install_excludes = '/find-mime$/||/scripts\/.*$/||/\/svn.*/||/\/tests\/.*/||/\/build\/.*/||/\/tmp\/.*/' <?php global $admin_user; status_msg(ilang('install_requireddata')); $query = 'INSERT INTO '.CMS_DB_PREFIX.'version VALUES (202)'; $db->Execute($query); verbose_msg(ilang('install_setschemaver')); // // site preferences // verbose_msg(ilang('install_initsiteprefs')); cms_siteprefs::set('sitedownmessage','<p>Site is currently down for maintenance</p>'); cms_siteprefs::set('metadata',"<meta name=\"Generator\" content=\"CMS Made Simple - Copyright (C) 2004-" . date('Y') . ". All rights reserved.\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n"); cms_siteprefs::set('global_umask','022'); cms_siteprefs::set('auto_clear_cache_age',60); // cache files for only 60 days by default cms_siteprefs::set('adminlog_lifetime',3600*24*31); // admin log entries only live for 60 days. cms_siteprefs::set('allow_browser_cache',1); // allow browser to cache cachable pages cms_siteprefs::set('browser_cache_expiry',60); // browser can cache pages for 60 minutes. $mail_from = 'noreply@localhost'; if( isset($adminaccount['emailaddr']) && $adminaccount['emailaddr'] ) { $mail_from = $adminaccount['emailaddr']; } $mailprefs = array( 'mailer' => 'mail', 'host' => 'localhost', 'port' => 25, 'from' => $mail_from, 'fromuser' => 'CMS Administrator', 'sendmail' => '/usr/sbin/sendmail', 'smtpauth' => 0, 'smtpautotls' => 1, 'username' => '', 'password' => '', 'secure' => '', 'timeout' => 60, 'charset' => 'utf-8' ); cms_siteprefs::set('mailprefs',serialize($mailprefs)); cms_siteprefs::set('mail_is_set',1); // // permissions // verbose_msg(ilang('install_initsiteperms')); $all_perms = array(); $perms = array('Add Pages','Manage Groups','Add Templates','Manage Users','Modify Any Page', 'Modify Permissions','Modify Templates','Remove Pages', 'Modify Modules','Modify Files','Modify Site Preferences', 'Manage Stylesheets','Manage Designs','Modify User-defined Tags','Clear Admin Log', 'Modify Events','View Tag Help','Manage All Content','Reorder Content','Manage My Settings', 'Manage My Account', 'Manage My Bookmarks'); foreach( $perms as $one_perm ) { $permission = new CmsPermission(); $permission->source = 'Core'; $permission->name = $one_perm; $permission->text = $one_perm; $permission->save(); $all_perms[$one_perm] = $permission; } // // initial groups // verbose_msg(ilang('install_initsitegroups')); $admin_group = new Group(); $admin_group->name = 'Admin'; $admin_group->description = 'Members of this group can manage the entire site.'; $admin_group->active = 1; $admin_group->Save(); $editor_group = new Group(); $editor_group->name = 'Editor'; $editor_group->description = 'Members of this group can manage content'; $editor_group->active = 1; $editor_group->Save(); $editor_group->GrantPermission('Manage All Content'); $editor_group->GrantPermission('Manage My Account'); $editor_group->GrantPermission('Manage My Settings'); $editor_group->GrantPermission('Manage My Bookmarks'); $designer_group = new Group(); $designer_group->name = 'Designer'; $designer_group->description = 'Members of this group can manage stylesheets, templates, and content'; $designer_group->active = 1; $designer_group->Save(); $designer_group->GrantPermission('Add Templates'); $designer_group->GrantPermission('Manage Designs'); $designer_group->GrantPermission('Modify Templates'); $designer_group->GrantPermission('Manage Stylesheets'); $designer_group->GrantPermission('Manage All Content'); $designer_group->GrantPermission('Manage My Account'); $designer_group->GrantPermission('Manage My Settings'); $designer_group->GrantPermission('Manage My Bookmarks'); $designer_group->GrantPermission('Modify Files'); $designer_group->GrantPermission('Modify User-defined Tags'); // // initial user account // verbose_msg(ilang('install_initsiteusers')); $sitemask = cms_siteprefs::get('sitemask'); $admin_user = new User; $admin_user->username = $adminaccount['username']; if( isset($adminaccount['emailaddr']) && $adminaccount['emailaddr'] ) $admin_user->email = $adminaccount['emailaddr']; $admin_user->active = 1; $admin_user->adminaccess = 1; $admin_user->password = md5($sitemask.$adminaccount['password']); $admin_user->Save(); UserOperations::get_instance()->AddMemberGroup($admin_user->id,$admin_group->id); cms_userprefs::set_for_user($admin_user->id,'wysiwyg','MicroTiny'); // the one, and only user preference we need. // // User Tags // verbose_msg(ilang('install_initsiteusertags')); UserTagOperations::get_instance()->SetUserTag('user_agent', "//Code to show the users user agent information. echo \$_SERVER['HTTP_USER_AGENT'];", 'Code to show the user\'s user agent information'); $txt = <<<EOT //set start to date your site was published\n\$startCopyRight='2004';\n\n// check if start year is this year\nif(date('Y') == \$startCopyRight){\n// it was, just print this year\n echo \$startCopyRight;\n}else{\n// it wasnt, print startyear and this year delimited with a dash\n echo \$startCopyRight.'-'. date('Y');\n} EOT; UserTagOperations::get_instance()->SetUserTag('custom_copyright',$txt,'Code to output copyright information'); // // Events // verbose_msg(ilang('install_initevents')); Events::CreateEvent('Core','LoginPre'); Events::CreateEvent('Core','LoginAttempted'); Events::CreateEvent('Core','LoginVerified'); Events::CreateEvent('Core','LoginPost'); Events::CreateEvent('Core','LogoutPost'); Events::CreateEvent('Core','LoginFailed'); Events::CreateEvent('Core','LostPassword'); Events::CreateEvent('Core','LostPasswordReset'); Events::CreateEvent('Core','AddUserPre'); Events::CreateEvent('Core','AddUserPost'); Events::CreateEvent('Core','EditUserPre'); Events::CreateEvent('Core','EditUserPost'); Events::CreateEvent('Core','DeleteUserPre'); Events::CreateEvent('Core','DeleteUserPost'); Events::CreateEvent('Core','AddGroupPre'); Events::CreateEvent('Core','AddGroupPost'); Events::CreateEvent('Core','EditGroupPre'); Events::CreateEvent('Core','EditGroupPost'); Events::CreateEvent('Core','DeleteGroupPre'); Events::CreateEvent('Core','DeleteGroupPost'); Events::CreateEvent('Core','AddStylesheetPre'); Events::CreateEvent('Core','AddStylesheetPost'); Events::CreateEvent('Core','EditStylesheetPre'); Events::CreateEvent('Core','EditStylesheetPost'); Events::CreateEvent('Core','DeleteStylesheetPre'); Events::CreateEvent('Core','DeleteStylesheetPost'); Events::CreateEvent('Core','AddTemplatePre'); Events::CreateEvent('Core','AddTemplatePost'); Events::CreateEvent('Core','EditTemplatePre'); Events::CreateEvent('Core','EditTemplatePost'); Events::CreateEvent('Core','DeleteTemplatePre'); Events::CreateEvent('Core','DeleteTemplatePost'); Events::CreateEvent('Core','AddTemplateTypePre'); Events::CreateEvent('Core','AddTemplateTypePost'); Events::CreateEvent('Core','EditTemplateTypePre'); Events::CreateEvent('Core','EditTemplateTypePost'); Events::CreateEvent('Core','DeleteTemplateTypePre'); Events::CreateEvent('Core','DeleteTemplateTypePost'); Events::CreateEvent('Core','AddDesignPre'); Events::CreateEvent('Core','AddDesignPost'); Events::CreateEvent('Core','EditDesignPre'); Events::CreateEvent('Core','EditDesignPost'); Events::CreateEvent('Core','DeleteDesignPre'); Events::CreateEvent('Core','DeleteDesignPost'); Events::CreateEvent('Core','TemplatePreCompile'); Events::CreateEvent('Core','TemplatePreFetch'); Events::CreateEvent('Core','TemplatePostCompile'); Events::CreateEvent('Core','ContentEditPre'); Events::CreateEvent('Core','ContentEditPost'); Events::CreateEvent('Core','ContentDeletePre'); Events::CreateEvent('Core','ContentDeletePost'); Events::CreateEvent('Core','AddUserDefinedTagPre'); Events::CreateEvent('Core','AddUserDefinedTagPost'); Events::CreateEvent('Core','EditUserDefinedTagPre'); Events::CreateEvent('Core','EditUserDefinedTagPost'); Events::CreateEvent('Core','DeleteUserDefinedTagPre'); Events::CreateEvent('Core','DeleteUserDefinedTagPost'); Events::CreateEvent('Core','ModuleInstalled'); Events::CreateEvent('Core','ModuleUninstalled'); Events::CreateEvent('Core','ModuleUpgraded'); Events::CreateEvent('Core','ContentPreCompile'); Events::CreateEvent('Core','ContentPostCompile'); Events::CreateEvent('Core','ContentPreRender'); // 2.2 Events::CreateEvent('Core','ContentPostRender'); Events::CreateEvent('Core','SmartyPreCompile'); Events::CreateEvent('Core','SmartyPostCompile'); Events::CreateEvent('Core','ChangeGroupAssignPre'); Events::CreateEvent('Core','ChangeGroupAssignPost'); Events::CreateEvent('Core','StylesheetPreCompile'); Events::CreateEvent('Core','StylesheetPostCompile'); Events::CreateEvent('Core','StylesheetPostRender'); $create_private_dir = function($relative_dir) { $app = \__appbase\get_app(); $destdir = $app->get_destdir(); $relative_dir = trim($relative_dir); if( !$relative_dir ) return; $dir = $destdir.'/'.$relative_dir; if( !is_dir($dir) ) { @mkdir($dir,0777,true); } @touch($dir.'/index.html'); }; /* $move_directory_files = function($srcdir,$destdir) { $srcdir = trim($srcdir); $destdir = trim($destdir); if( !is_dir($srcdir) ) return; $files = glob($srcdir.'/*'); if( !count($files) ) return; foreach( $files as $src ) { $bn = basename($src); $dest = $destdir.'/'.$bn; rename($src,$dest); } @touch($dir.'/index.html'); }; */ // create the assets directory structure verbose_msg(ilang('install_createassets')); $create_private_dir('uploads'); $create_private_dir('assets/templates'); $create_private_dir('assets/configs'); $create_private_dir('assets/admin_custom'); $create_private_dir('assets/module_custom'); $create_private_dir('assets/plugins'); $create_private_dir('assets/images'); $create_private_dir('assets/css'); <?php if (isset($CMS_INSTALL_CREATE_TABLES)) { $table_ids = array( 'additional_users' => array('id' => 'additional_users_id'), 'admin_bookmarks' => array('id' => 'bookmark_id'), 'content' => array('id' => 'content_id'), 'content_props' => array('id' => 'content_id'), 'events' => array('id' => 'event_id'), 'event_handlers' => array('id' => 'handler_id', 'seq' => 'event_handler_seq'), 'group_perms' => array('id' => 'group_perm_id'), 'groups' => array('id' => 'group_id'), 'users' => array('id' => 'user_id'), 'userplugins' => array('id' => 'userplugin_id'), 'permissions' => array('id' => 'permission_id') ); status_msg(ilang('install_update_sequences')); foreach ($table_ids as $tablename => $tableinfo) { $sql = 'SELECT COALESCE(MAX(?),0) AS maxid FROM '.CMS_DB_PREFIX.$tablename; $max = $db->GetOne($sql,array($tableinfo['id'])); $tableinfo['seq'] = isset($tableinfo['seq']) ? $tableinfo['seq'] : $tablename . '_seq'; verbose_msg(ilang('install_updateseq',$tableinfo['seq'])); $db->CreateSequence(CMS_DB_PREFIX.$tableinfo['seq'], $max); } } # vim:ts=4 sw=4 noet ?> <?php global $admin_user; // // Themes // // minimal theme has the minimal template, and no styesheets. verbose_msg(ilang('install_default_collections')); $minimal_theme = new CmsLayoutCollection(); $minimal_theme->set_name('Minimal'); // id = 19 $minimal_theme->set_description('Minimal templates and stylesheets'); $minimal_theme->save(); $simplex_theme = new CmsLayoutCollection(); $simplex_theme->set_name('Simplex'); $simplex_theme->set_description('Simplex Template is a HTML5 based theme, introduced with CMSMS 1.11 release and improved with 2.0 release. Purpose of this theme is to demonstrate what and how can be done with CMSMS Templates using HTML5 and responsive CSS for a better mobile experience. All Smarty templates which are used by Simplex Theme are prefix with "Simplex", therefore be careful when renaming or deleting these templates. Theme itself is using jQuery, which is included with {cms_jquery} tag, the functions JavaScript file is minified, in case you wish to change some JavaScript functions, refer to /uploads/simplex/js/functions.js file and replace functions.min.js file.'); $simplex_theme->set_default(TRUE); $simplex_theme->save(); $css_menuleft_1col_theme = new CmsLayoutCollection(); $css_menuleft_1col_theme->set_name('CSSMenu left + 1 column'); $css_menuleft_1col_theme->set_description('This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn\'t a whole lot to say about it.'); $css_menuleft_1col_theme->save(); $css_menutop_2col_theme = new CmsLayoutCollection(); $css_menutop_2col_theme->set_name('CSSMenu top + 2 columns'); $css_menutop_2col_theme->set_description('This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.'); $css_menutop_2col_theme->save(); $leftsimple_1col_theme = new CmsLayoutCollection(); $leftsimple_1col_theme->set_name('Left simple navigation + 1 column'); $leftsimple_1col_theme->set_description('This template has the menu in left sidebar. The menu is using the Simple Navigation menu template. It is styled in the stylesheet called Navigation Simple - Vertical.'); $leftsimple_1col_theme->save(); $ncleanblue_theme = new CmsLayoutCollection(); $ncleanblue_theme->set_name('NCleanBlue'); $ncleanblue_theme->set_description('This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">  </li> this is used to hold the bottom image.'); $ncleanblue_theme->save(); $shadowmenu_left_1col_theme = new CmsLayoutCollection(); $shadowmenu_left_1col_theme->set_name('ShadowMenu left + 1 column'); $shadowmenu_left_1col_theme->set_description('Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.'); $shadowmenu_left_1col_theme->save(); $shadowmenu_tab_2col_theme = new CmsLayoutCollection(); $shadowmenu_tab_2col_theme->set_name('ShadowMenu Tab + 2 columns'); $shadowmenu_tab_2col_theme->set_description('Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.'); $shadowmenu_tab_2col_theme->save(); $topsimple_leftsubnav_1col_theme = new CmsLayoutCollection(); $topsimple_leftsubnav_1col_theme->set_name('Top simple navigation + left subnavigation + 1 column'); $topsimple_leftsubnav_1col_theme->set_description('With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left.'); $topsimple_leftsubnav_1col_theme->save(); // // Types // verbose_msg(ilang('install_templatetypes')); $page_template_type = new CmsLayoutTemplateType(); $page_template_type->set_originator(CmsLayoutTemplateType::CORE); $page_template_type->set_name('page'); $page_template_type->set_dflt_flag(TRUE); $page_template_type->set_lang_callback('CmsTemplateResource::page_type_lang_callback'); $page_template_type->set_content_callback('CmsTemplateResource::reset_page_type_defaults'); $page_template_type->reset_content_to_factory(); $page_template_type->set_content_block_flag(TRUE); $page_template_type->set_help_callback('CmsTemplateResource::template_help_callback'); $page_template_type->save(); $gcb_template_type = new CmsLayoutTemplateType(); $gcb_template_type->set_originator(CmsLayoutTemplateType::CORE); $gcb_template_type->set_name('generic'); $gcb_template_type->set_lang_callback('CmsTemplateResource::generic_type_lang_callback'); $gcb_template_type->set_help_callback('CmsTemplateResource::template_help_callback'); $gcb_template_type->save(); // // Template Categories // // // Templates // $template_list = array(); verbose_msg(ilang('install_templates')); $gcb = new CmsLayoutTemplate(); $gcb->set_name('footer'); $gcb->set_type($gcb_template_type); $gcb->set_owner(1); $gcb->set_content(default_profile_read_asset('generic/footer.tpl')); $gcb->save(); $css_menuleft_1col_theme->add_template($gcb); $css_menutop_2col_theme->add_template($gcb); $leftsimple_1col_theme->add_template($gcb); $ncleanblue_theme->add_template($gcb); $shadowmenu_left_1col_theme->add_template($gcb); $shadowmenu_tab_2col_theme->add_template($gcb); $topsimple_leftsubnav_1col_theme->add_template($gcb); $template_list[$gcb->get_name()] = $gcb->get_id(); $txt = default_profile_read_asset('templates/minimal.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('Minimal'); $template->set_owner(1); $template->set_content($txt); $template->set_description('A Simple, minimal page template'); $template->set_type($page_template_type); $template->add_design($minimal_theme); $template->save(); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/cssmenu_left_1col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('CSSMenu left + 1 column'); // id = 15 $template->set_owner(1); $template->set_content($txt); $template->set_description('This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.'); $template->set_type($page_template_type); $template->save(); $css_menuleft_1col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/cssmenu_top_2col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('CSSMenu top + 2 columns'); // id = 16 $template->set_owner(1); $template->set_content($txt); $template->set_description('This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.'); $template->set_type($page_template_type); $template->save(); $css_menutop_2col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/leftsimple_1col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('Left simple navigation + 1 column'); // id = 17 $template->set_owner(1); $template->set_content($txt); $template->set_description('This template has the menu in left sidebar. The menu is using the Simple Navigation menu template. It is styled in the stylesheet called Navigation Simple - Vertical.'); $template->set_type($page_template_type); $template->save(); $leftsimple_1col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/topsimple_leftsubnav_1col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('Top simple navigation + left subnavigation + 1 column'); // id = 18 $template->set_owner(1); $template->set_content($txt); $template->set_description('With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left.'); $template->set_type($page_template_type); $template->save(); $topsimple_leftsubnav_1col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/shadowmenu_tab_2col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('ShadowMenu Tab + 2 columns'); // id = 20 $template->set_owner(1); $template->set_content($txt); $template->set_description('Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.'); $template->set_type($page_template_type); $template->save(); $shadowmenu_tab_2col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/shadowmenu_left_1col.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('ShadowMenu left + 1 column'); // id = 21 $template->set_owner(1); $template->set_content($txt); $template->set_description('Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.'); $template->set_type($page_template_type); $template->save(); $shadowmenu_left_1col_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/ncleanblue.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('NCleanBlue'); // id = 22 $template->set_owner(1); $template->set_content($txt); $template->set_description('This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">  </li> this is used to hold the bottom image.'); $template->set_type($page_template_type); $template->save(); $ncleanblue_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('templates/simplex.tpl'); $template = new CmsLayoutTemplate(); $template->set_name('Simplex'); $template->set_owner($admin_user->id); $template->set_content($txt); $template->set_description('A HTML5 based responsive template'); $template->set_type($page_template_type); $template->set_type_dflt(TRUE); $template->save(); $simplex_theme->add_template($template); $template_list[$template->get_name()] = $template->get_id(); $txt = default_profile_read_asset('generic/simplex_slideshow.tpl'); $gcb_sx_slideshow = new CmsLayoutTemplate(); $gcb_sx_slideshow->set_name('Simplex Slideshow'); $gcb_sx_slideshow->set_type($gcb_template_type); $gcb_sx_slideshow->set_owner($admin_user->id); $gcb_sx_slideshow->set_description('A sample slider for Simplex Theme. Note: required jQuery Framework is already included at the bottom of Simplex Page Template. If any of Modules that you are going to use requires or adds additional jQuery Framework, remember to either remove jQuery Framework from Module template (for example Gallery module) or to move {cms_jquery} tag in Simplex Page Template to <head> section of template if needed. All current Browser come with some kind of Developer Tools (usually F12 key) or you can also install Firebug in Firefox or Chrome, if some JavaScript function doesn\'t work your first step would be to open Developer Tools and look into console errors.'); $gcb_sx_slideshow->set_content($txt); $gcb_sx_slideshow->save(); $simplex_theme->add_template($gcb_sx_slideshow); $txt = default_profile_read_asset('generic/simplex_footer.tpl'); $gcb_sx_footer = new CmsLayoutTemplate(); $gcb_sx_footer->set_name('Simplex Footer'); $gcb_sx_footer->set_type($gcb_template_type); $gcb_sx_footer->set_owner($admin_user->id); $gcb_sx_footer->set_description('Custom footer section template for Simplex Theme'); $gcb_sx_footer->set_content($txt); $gcb_sx_footer->save(); $simplex_theme->add_template($gcb_sx_footer); // // Stylesheets // $css_list = array(); verbose_msg(ilang('install_stylesheets')); $txt = default_profile_read_asset('stylesheets/handheld.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Handheld'); $css->set_description('Stylesheet for older mobile devices'); $css->set_content($txt); $css->set_media_types('handheld'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/print.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Print'); $css->set_description('Default stylesheet for print devices'); $css->set_content($txt); $css->set_media_types('print'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/accessibility_crossbrowser.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Accessibility and cross-browser tools'); $css->set_description('Accessibility and cross-browser CSS rules attached to multiple Themes'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/layout_left_sidebar_1col.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Layout Left sidebar + 1 column'); $css->set_description('CSS rules used for Layout Left sidebar + 1 column Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_cssmenu_vertical.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation CSSMenu - Vertical'); $css->set_description('Navigation CSS rules used in CSSMenu left + 1 column Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_cssmenu_horizontal.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation CSSMenu - Horizontal'); $css->set_description('Navigation CSS rules used in CSSMenu top + 2 columns Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/module_news.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Module News'); $css->set_description('Default News module CSS rules used in multiple Designs'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_simple_horizontal.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation Simple - Horizontal'); $css->set_description('Navigation CSS rules used in Top simple navigation + left subnavigation + 1 column and Left simple navigation + 1 column Designs'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/layout_top_menu_2col.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Layout Top menu + 2 columns'); $css->set_description('Navigation CSS rules used in CSSMenu top + 2 columns, ShadowMenu Tab + 2 columns and Top simple navigation + left subnavigation + 1 column Designs'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_simple_vertical.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation Simple - Vertical'); $css->set_description('Navigation CSS rules used in Left simple navigation + 1 column and Top simple navigation + left subnavigation + 1 column Designs'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_shadowmenu_vertical.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation ShadowMenu - Vertical'); $css->set_description('Navigation CSS rules used in ShadowMenu left + 1 column Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/navigation_fatfootmenu.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Navigation FatFootMenu'); $css->set_description('Footer navigation CSS rules used in CSSMenu left + 1 column, CSSMenu top + 2 columns, Left simple navigation + 1 column, ShadowMenu left + 1 column, ShadowMenu Tab + 2 columns and Top simple navigation + left subnavigation + 1 column'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/ncleanblue_core.css'); $css = new CmsLayoutStylesheet(); $css->set_name('ncleanbluecore'); $css->set_description('Grid CSS rules used in NCleanBlue Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/ncleanblue_utils.css'); $css = new CmsLayoutStylesheet(); $css->set_name('ncleanblueutils'); $css->set_description('Reset and browser helper CSS style rules used in NCleanBlue Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/ncleanblue_layout.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Layout NCleanBlue'); // id = 49 $css->set_description('Main layout rules used in NCleanBlue Design'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/simplex_core.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Simplex Core'); $css->set_description('Simplex Theme core Stylesheet, containing 12 column grid system and HTML5 resets (normalize.css)'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/simplex_layout.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Simplex Layout'); $css->set_description('Simplex Theme main layout Stylesheet'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/simplex_slideshow.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Simplex Slideshow'); $css->set_description('Simplex Theme Stylesheet for header slideshow'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = default_profile_read_asset('stylesheets/simplex_print.css'); $css = new CmsLayoutStylesheet(); $css->set_name('Simplex Print'); // id = 52 $css->set_description('Default Print style rules attached to Simplex Design'); $css->set_content($txt); $css->set_media_types('print'); $css->save(); $css_list[$css->get_name()] = $css; // now attach stylesheets to the themes. verbose_msg(ilang('install_attachstylesheets')); $css_menuleft_1col_theme->add_stylesheet($css_list['Layout Left sidebar + 1 column']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Navigation CSSMenu - Vertical']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Print']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Module News']->get_id()); $css_menuleft_1col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $css_menuleft_1col_theme->save(); $css_menutop_2col_theme->add_stylesheet($css_list['Layout Top menu + 2 columns']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Navigation CSSMenu - Horizontal']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Module News']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Print']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $css_menutop_2col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $css_menutop_2col_theme->save(); $leftsimple_1col_theme->add_stylesheet($css_list['Layout Left sidebar + 1 column']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Navigation Simple - Vertical']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Module News']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Handheld']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Print']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $leftsimple_1col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $leftsimple_1col_theme->save(); $ncleanblue_theme->add_stylesheet($css_list['ncleanblueutils']->get_id()); $ncleanblue_theme->add_stylesheet($css_list['ncleanbluecore']->get_id()); $ncleanblue_theme->add_stylesheet($css_list['Layout NCleanBlue']->get_id()); $ncleanblue_theme->save(); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Layout Left sidebar + 1 column']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Navigation ShadowMenu - Vertical']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Print']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Module News']->get_id()); $shadowmenu_left_1col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $shadowmenu_left_1col_theme->save(); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Layout Top menu + 2 columns']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Navigation ShadowMenu - Horizontal']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Module News']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Print']->get_id()); $shadowmenu_tab_2col_theme->add_stylesheet($css_list['Navigation FatFootMenu']->get_id()); $shadowmenu_tab_2col_theme->save(); $simplex_theme->add_stylesheet($css_list['Simplex Print']->get_id()); $simplex_theme->add_stylesheet($css_list['Simplex Core']->get_id()); $simplex_theme->add_stylesheet($css_list['Simplex Layout']->get_id()); $simplex_theme->add_stylesheet($css_list['Simplex Slideshow']->get_id()); $simplex_theme->save(); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Layout Top menu + 2 columns']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Navigation Simple - Horizontal']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Navigation Simple - Vertical']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Accessibility and cross-browser tools']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Module News']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Print']); $topsimple_leftsubnav_1col_theme->add_stylesheet($css_list['Navigation FatFootMenu']); $topsimple_leftsubnav_1col_theme->save(); $content_list = array(); ContentOperations::get_instance()->LoadContentType('content'); ///////////////////////// // // HOME PAGE // // ///////////////////////// verbose_msg(ilang('install_createcontentpages')); // Home / -1 / NCleanBlue DEFAULT $contentobj = new Content; $contentobj->SetName('Home'); $contentobj->SetAlias(); $contentobj->SetMenuText('Home'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$simplex_theme->get_id()); $contentobj->SetTemplateId($template_list['Simplex']); $contentobj->SetDefaultContent(TRUE); // this is the default page. $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are <em>almost</em> ready to start building your site.</p><p>If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.</p><p>To get to the Administration Console you have to login as the administrator (with the username/password you mentioned during the installation process) on your site at http://yourwebsite.com/cmsmspath/admin. If this is your site click <a title="CMSMS Demo Admin Panel" href="admin">here</a> to login.</p><p>Read about how to use CMS Made Simple in the <a class="external" href="http://docs.cmsmadesimple.org/" title="CMS Made Simple Documentation" target="_blank">documentation</a>. In case you need any help the community is always at your service, in the <a class="external" href="http://forum.cmsmadesimple.org" title="CMS Made Simple Forum" target="_blank">forum</a> or the <a class="external" href="http://www.cmsmadesimple.org/support/irc" title="Information about the CMS Made Simple IRC channel" target="_blank">IRC</a>.</p><h3>License</h3><p>CMS Made Simple is released under the <a class="external" href="http://www.gnu.org/licenses/licenses.html#GPL" title="General Public License" target="_blank">GPL</a> license and as such you don\'t have to leave a link back to us in these templates or on your site as much as we would like it.</p><p> Some third party add-on modules may include additional license restrictions.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); /////////////////////////////// // // HOW CMSMS WORKS // // /////////////////////////////// // How CMSMS Works / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('How CMSMS Works'); $contentobj->SetAlias(); $contentobj->SetMenuText('How CMSMS Works'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>So how is a web-site created with CMS Made Simple? There are a couple of terms that are central to understanding this.</p><p>You first need to have templates, which is the HTML code for your pages. This is styled with CSS in one or more style sheets that are attached to each template. You then create pages that contain your websites content using one of these templates.</p><p>That doesn\'t sound too hard, does it? Basically you don\'t need to know any HTML or CSS to get a site up with CMS Made Simple. But if you want to customize it to your liking, consider learning some <a class="external" href="http://www.w3schools.com/css/" target="_blank">CSS</a>.</p><p>In the menu to the left you can read more about this, as well as more advanced features like the Menu Manager, additional extensions for adding many kinds of functionality to your site and the Event Manager for managing work flow. Last is a summary of the basic work flow when creating a site with CMS Made Simple.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Templates and stylesheets / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Templates and stylesheets'); $contentobj->SetAlias(); $contentobj->SetMenuText('Templates and stylesheets'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>A <em>template</em> is basically the HTML layout, or the design, of a page. This is the work of the designer. Whatever is in a template is used on every page that uses that template, meaning that the person editing the content doesn\'t need any web design skills.</p><p>In the template there are placeholders for content and navigation areas. When a user is visiting your site the page is automatically generated from the template and the placeholders are filled with the content.</p><p>The template is the HTML structure. It is then styled in one or more <em>style sheets</em> that are attached to each template. This styling is done with CSS. So to get a site look the way you want you should be familiar with HTML and CSS on at least a basic level. But don\'t worry, there are themes with ready-made templates and style sheets for you to download!</p><p>When you first install CMS Made Simple there are some basic templates that you can use and customize to your needs. Those templates are described in the section {cms_selflink page=default_templates text=\'Default Templates Explained\'}. The designer of your site can also add new templates to make the site look any way you want. The CMSMS community also shares themes for anyone to download and use at <a class="external" href="http://themes.cmsmadesimple.org" target="_blank">The CMSMS Themes site</a>.</p><h3>Templates and style sheets in the CMSMS Admin Panel</h3><p>In the CMSMS Admin Panel you will find the templates and style sheets in the <strong>Layout</strong> menu.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Pages and navigation / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Pages and navigation'); $contentobj->SetAlias(); $contentobj->SetMenuText('Pages and navigation'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Pages determine the structure of your web-site as seen in the admin Content » Pages page. Think of a web-site as a set of pages. These pages are accessed through a menu. You can also link to a page from within another page.</p><h3>Navigation/Menu</h3><p>The navigation, or the menu, is a set of links that help the user to navigate through the pages on your web site. These links are automatically created by CMS Made Simple from the page structure. This hierarchy is what drives the menu you see on the left of this page.</p><p>Pages can be in several levels, like a tree of generations. The top level in the menu are the parent pages. Each parent page can have children pages, which in turn can be parents to other children.</p><p>The page template determines where on a page the navigation is placed.</p><p>You can create any kind of navigation you can dream of by customizing a menu template for <em>Menu Manager</em>. However, the default templates should work for most situations as the menu basically is just an unordered list that you style to your liking with CSS. The web is full of good articles about styling a list of links, one of the best is <a class="external" href="http://css.maxdesign.com.au/listutorial/index.htm" target="_blank">listutorial at maxdesign</a></p><h3>Pages in the CMSMS Admin Panel</h3><p>You add pages, as well as other content (see next chapter), in the CMSMS Admin Panel from the Content » Pages menu.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Content / How CMSMS Works / Left simple navigation + 1 column // Pages and navigation / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Content'); $contentobj->SetAlias(); $contentobj->SetMenuText('Content'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The content is the information for the page. We have already mentioned that for each page on your site you choose what template to use. When you add content to a page, it is automatically placed in the placeholders of the template selected for that page.</p><p>A template can define one or several content areas, or content blocks. To add more content blocks to your template, use <code>{ldelim}content block=\'block name\'}</code>. These blocks will then appear as text areas when you edit or add a page that uses that template.</p><p>You can make a content block use only one line, instead of a full text area, by using the parameter oneline=true. That is, the full tag being: <code>{ldelim}content block=\'block name\' oneline=true}</code>. Read about more parameters in the help for the Content tag in the CMSMS Admin Panel, under Extensions » Tags.</p><h3>Content Types</h3><p>There are currently 6 main content types in version {cms_version} "{cms_versionname}". These content types determine the type of content for each menu item.</p><ul><li>Content</li><li>Error Page</li><li>External Page Link</li><li>Internal Page Link</li><li>Section Header</li><li>Separator</li></ul><p>The <strong>Content</strong> type is simply a regular page. Normally this is the only one you will use. That is what this page you are reading is. Here you can put any content that you would put on a regular page. The layout of these types of pages are controlled by the templates. For each <strong>content</strong> page you create you must add the title, menu text, choose if it is going to have a parent and choose a template for it. If you login as admin and change the template of this page, you will see exactly how it works.</p><p>The <strong>Error Page</strong> type is just what it sounds like, a page you set for "404 page not found" errors, where you can add the content that shows when a 404 error occurs, a target type and title, you can also choose the template it uses, it has no parent as it is not part of the menu.</p><p>The <strong>External Page Link</strong> type is just what it sounds like, a link to another external page and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has. This <strong>external page link</strong> type also shows up in the menu following the same hierarchy rules as the <strong>content</strong> type.</p><p>The <strong>Internal Page Link</strong> type is also just what it sounds like, a link to another internal page. This <strong>internal page link</strong> type also shows up in the menu following the same hierarchy rules as the <strong>content</strong> type and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has.</p><p>The <strong>Section Header</strong> type is used to break up menus into groupings (sections). This is unrelated to the hierarchy, as the section headers have no associated pages with them but can be used to group a set of links of similar content under them. They are just a little bit of text to say what the next few links are in reference to.</p><p>The <strong>Separator</strong> type is just what it sounds like, a separator that appears on the menus. This type follows the hierarchy set in content management pages.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Menu Manager / How CMSMS Works / Left simple navigation + 1 column17 $contentobj = new Content; $contentobj->SetName('Menu Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Menu Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The Menu Manager is a module that reads your page hierarchy and builds a navigation using a \'Menu Manager Template\'. By default a few sample menu manager templates are included with your default installation. For most users these are enough, as a menu basically is just an unordered list that is styled with CSS.</p><p>The Menu Manager module also accepts various optional attributes (parameters) in the {ldelim}menu{rdelim} tag to allow you to customize its behavior. You can see the list and explanation of these parameters in the Menu Manager Help which can be found on the right side of the screen when you click on "Layout » Menu Manager" in the administration console.</p><p>Customizing templates in the Menu Manager is as simple as clicking the \'Import Template to Database\' button, which will then allow you to create a template with a new name, and modify the layout of the template. You can use your new navigation template by specifying the new name in the call to {ldelim}menu{rdelim} in your page template. i.e: {ldelim}menu template=\'mynewtemplate\'{rdelim}.</p><h3>Menu Manager in the CMSMS Admin Panel</h3><p>Read more about how to do this in the <strong>Help</strong> for the Menu Manager in the CMSMS Admin Panel. It can be found in the Layout menu.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Extensions / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Extensions'); $contentobj->SetAlias(); $contentobj->SetMenuText('Extensions'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>There are three kinds of extensions, that can add many kinds of functionality to your default CMS Made Simple install. They are called tags, user defined tags, and modules.</p><h3>Tags</h3><p>Tags are the simplest form of extensions. They are designed to accomplish just one small and specific task.</p><p>There are a number of custom tags available with CMS Made Simple. To find what kind of tags are available look in Extensions » Tags in the Admin Panel.</p><p>To insert any of these in a template or a page, simply type e.g. <code>{ldelim}content}</code>. Many of these Smarty tags are used as placeholders in a template, i.e. placeholders for content, navigation, breadcrumbs etc.</p><p>Website developers who have a bit of PHP experience will find it easy to create and share their own custom tags.</p><h3>User defined tags</h3><p>Users can also create their own tags to insert in templates or pages., these are called user defined tags. They are snippets of php code (but without the <?php and ?> surrounding them), providing the ability to add re-usable pieces of php functionality to your site. User defined tags are inserted in templates and pages just like tags: <code>{ldelim}tagname}</code>.</p><p>Typically, user defined tags provide a utility that is special to a website, and likely won\'t need to be re-used on another site. Also they are typically small and used for simple tasks.</p><h3>Modules</h3><p>Modules are the highest level of plugin in the CMS Made Simple environment. They are designed to allow developers to implement complex tasks within CMSMS. A module typically provides advanced functionality, usually interacts with the database in complex ways, and may provide numerous reports or forms on the website. Additionally, a module may have an administrative interface to allow manipulating its data and its settings.</p><p>An extremely well defined API <em>(Application Programming Interface)</em> has been written to allow module developers to write complex, intricate, and fully functioning applications for use within a CMSMS powered website.</p><p>There are {cms_selflink page=\'modules\' text=\'a few modules included\'} with the default installation of CMS Made Simple. Other popular modules are Frontend Users, Album, Calendar, Guestbook and Form Builder.</p><p>The ModuleManager module (included with CMS Made Simple) allows browsing a list of available modules, reading about them, and then installing them on your website.</p><p>To insert modules in a template or a page, you actually use the module name as a parameter to the <code>{ldelim}cms_module}</code> tag. It looks like this: <code>{ldelim}cms_module module=\'modulename\' parameter1=\'this\' parameter2=5 parameter3=\'that\'}</code>. It is normal for modules to accept parameters to effect changes to their default behavior, though it is not always required.</p><h3>Read more</h3><p>You can read more about extensions in the <a class="external" href="http://docs.cmsmadesimple.org/modules/add-ons">CMSMS documentation</a>.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Event Manager / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Event Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Event Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Events are a new powerful way of assigning actions to events. For example if you would like to send an email to the site administrator when a new file is uploaded or a new page is created by another user you could add some code to those events to be executed when that event happens.</p><p>In brief here\'s how it works:</p><p>a) A module, or the core, can register, and then Send Events such as "newNews", or "newFronteEndUser" or "fileUploaded", "editPage", etc, etc, etc. there\'s some 50 events in the core at the moment, and then uploads and frontend users have been configured to send events, We still have to do selfreg, etc, etc, etc.</p><p>b) There are pages in the admin to allow you to specify which modules, and/or user tags should handle those events, and the order that each of those handlers should be called in.</p><p>c) If one of the handlers of an event is a module, then.... the modules DoEvent method is called with the name of the event, and whatever data it wants to send. Each triggered event needs to be documented, but as of this moment, most are.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Workflow / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Workflow'); $contentobj->SetAlias(); $contentobj->SetMenuText('Workflow'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>These are the basic steps when creating a website with CMS Made Simple:</p><ol><li><em>Plan</em> -- Determine what pages you want (structure) and how you want these pages to look (design). </li><li><em>Create Templates</em> -- Create one or several template(s) that determine the layout of your pages. </li><li><em>Style the Templates</em> -- Attach one or more stylesheets to each template and style the layout and content with CSS. </li><li><em>Create Pages</em> -- Then you create pages, add content to them and select what template to use for each page. </li></ol><p>When a user navigates to your site the page is created from the template, adding the content where the placeholder(s) are in the template.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Where do I get Help / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Where do I get help?'); $contentobj->SetAlias(); $contentobj->SetMenuText('Where do i get help?'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The CMS Made Simple community is always at your service if you need some help with your site. Here is where you find more information and support:</p><ul><li><a class="external" href="http://docs.cmsmadesimple.org/">The CMSMS Documentation Website</a> -- Start here, the documentation is maintained by the CMSMS Dev-team</li><li><a class="external" href="http://forum.cmsmadesimple.org/">The CMSMS Forums</a> -- here you can search for answers to your questions or ask just about anything.</li><li><a class="external" href="http://cmsmadesimple.org/main/support/IRC">IRC</a> -- IRC is short for Internet Relay Chat and is like a community chat. Many developers hang out here and others that are ready to discuss and give support.</li></ul><p>Please remember that people involved in developing and supporting CMSMS have day jobs and other duties and might not be available 24/7. Be patient and polite and you will get better answers.</p><p>Hope you will enjoy using CMS Made Simple for creating your web sites! If you want to contribute to the development yourself, you are very welcome to do so. You can contact us on <a class="external" href="http://cmsmadesimple.org/main/support/IRC">IRC</a> or hit the <a class="external" href="http://forum.cmsmadesimple.org/">forums</a> to get involved.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); /////////////////////////////////////////// // // DEFAULT TEMPLATES EXPLAINED // // /////////////////////////////////////////// // Default Templates Explained / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Default Templates Explained'); $contentobj->SetAlias(); $contentobj->SetMenuText('Default Templates Explained'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('default_templates'); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>CMS Made Simple {cms_version} was installed with numerous default templates (you choose this during the installation process). These are to display some of the features of CMS Made Simple and to give you a head start when creating your own web sites.</p><p>The tags that are unique to templates in CMS Made Simple are described on the page {cms_selflink page=\'cmsms_tags\' text=\'CMSMS tags in the templates\'} (see menu to the left). Click on any link beneath that page in the menu to the left to see what the default templates look like.</p><h4>Changing the style of Default Templates</h4><p>All of the templates and style sheets have comments throughout them to help you find where to change the look of them.</p><h3>Menus/navigation</h3><p>Two kinds of navigation are used in these templates. For each there is a menu template in the Menu Manager. <strong>CSSMenu </strong>is a dropdown menu using only CSS. Well, for Internet Explorer 6 some JavaScript has to be used... Two of the page templates are using CSSMenu for navigation, {cms_selflink page=\'cssmenu_horizontal\' text=\'one with the menu horizontally at the top\'} and the other {cms_selflink page=\'cssmenu_vertical\' text=\'with the menu vertically to the left\'}.</p><p>The other navigation type is what we call <strong>Simple Navigation</strong>. That is just an unordered list that gets its style and appearance from the style sheets (CSS). Also here {cms_selflink page=\'top_left\' text=\'one page template is using a horizontal simple navigation\'} and the other {cms_selflink page=\'navleft\' text=\'a vertical menu\'}.</p><p>The menu tag in each template is used like this: <code>{ldelim}menu template=\'cssmenu\'}</code>, where the <code>cssmenu</code> is the name of the Menu Manager template, if you make a custom menu template you don\'t need to use the on the end. More parameters can be used, for example to start a menu from the second level, collapse the children pages until the parent is clicked etc. Read more about that in the Menu Manager Help in the Admin Panel.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CMSMS tags in the templates / Default Templates Exlplained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('CMSMS tags in the templates'); $contentobj->SetAlias(); $contentobj->SetMenuText('CMSMS tags in the templates'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('cms_tags'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Here we explain the tags that are used in the default templates that are specific to templates in CMS Made Simple. The rest of the templates are just pure HTML. You can read more about that in the <a class="external" href="http://docs.cmsmadesimple.org/layout/create-your-own-template">documentation website</a>.</p><div class="templatecode"><h3>Page title</h3><pre><title>{ldelim}sitename} - {ldelim}title}</title></pre><p>For each page using these tags in a template the tags are replaced with the site name you specify in Site Admin » Global settings and the title you specify when you add/edit each page.</p><p><em>Read more</em> about the <code>{ldelim}sitename}</code> and <code>{ldelim}title}</code> tags in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Metadata</h3><pre>{ldelim}metadata}</pre><p>This tag adds to your page any metadata that you have specified in Site Admin » Global settings and also page specific metadata that you can add under the Options tab when adding/editing a page.</p><p>It is also used for knowing the base folder for your site when using pretty URLs. So don\'t remove this if you use Pretty URLs!</p><p><em>Read more</em> about the <code>{ldelim}metadata}</code>tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Stylesheets (deprecated)</h3><pre>{ldelim}stylesheet}</pre><p>This tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.</p><p><em>Read more</em> about the <code>{ldelim}stylesheet}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Stylesheets</h3><pre>{ldelim}cms_stylesheet}</pre><p>This tag is the newer version of the tag above. The tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.</p><p>The new tag allows you to use smarty variables like [[$red]] to indicate a color, and one change will change it througout your layout. The new tag requires that [[root_url]]/ be put in front of images, as the stylesheets are cached.</p><p><em>Read more</em> about the <code>{ldelim}cms_stylesheet}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Relational links</h3><pre>{ldelim}cms_selflink dir="start" rellink=1}{ldelim}cms_selflink dir="prev" rellink=1}{ldelim}cms_selflink dir="next" rellink=1}</pre><p>These are relational links for interconnections between pages, which is good for accessibility and Search Engine Optmization</p><p><em>Read more</em> about the <code>{ldelim}cms_selflink}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Page width in Internet Explorer 6</h3><pre>{ldelim}literal}<script type="text/JavaScript"><!--//pass min and max -measured against window widthfunction P7_MinMaxW(a,b){ldelim} var nw="auto",w=document.documentElement.clientWidth; if(w>=b){ldelim}nw=b+"px";}if(w<=a){ldelim}nw=a+"px";}return nw;}//--></script><!--[if lte IE 6]><style type="text/css">#pagewrapper {ldelim}width:expression(P7_MinMaxW(720,950));}#container {ldelim}height: 1%;}</style><![endif]-->{ldelim}/literal}</pre><p>This isn\'t a tag really, but displays how to insert JavaScript in a CMSMS template.</p><p>The default templates use fluid page width. But Internet Explorer 6 doesn\'t understand min-width and max-width, so for that browser the min and max page width is set with this JavaScript. For other browsers the page width is set in the style sheets beginning with "Layout ..."</p></div><div class="templatecode"><h3>Skip links for accessibility</h3><pre>{ldelim}anchor anchor=\'main\' title=\'Skip to content\' accesskey=\'s\' text=\'Skip to content\'}</pre><p>Anchor links (links to an anchor in the same page) are inserted with the <code>{ldelim}anchor}</code> tag. In the default templates this is used for skip links that are visible to screen readers, but hidden with CSS to visual browsers.</p><p><em>Read more</em> about the <code>{ldelim}anchor}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Header with logo image that links to default page</h3><pre>{ldelim}cms_selflink dir="start" text="$sitename"}</pre><p>In the header the <h1> tag (hidden by CSS) is a link to the page that is selected as the default page. The <code>dir="start"</code> parameter in the {ldelim}cms_selflink} tag is used for this. To get the site name as the text for the link, the <code>$sitename</code> variable is used.</p><p><em>Read more</em> about the <code>{ldelim}cms_selflink}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Search</h3><pre>{ldelim}search}</pre><p>To insert a search form on your site, simply use the {ldelim}search} tag. Search is actually a module and should therefore be called as a parameter in the {ldelim}cms_module} tag, like this: <code>{ldelim}cms_module module=\'search\'}</code>. But to simplify matters, we did a wrapper tag so that it\'s easier to remember.</p><p><em>Read more</em> about the Search module in Extensions » Modules in the Admin Panel.</p></div><div class="templatecode"><h3>Breadcrumbs</h3><pre>{ldelim}breadcrumbs starttext=\'You are here\' root=\'Home\' delimiter=\'»\'}</pre><p>Breadcrumbs is a path to the current page. In the default templates we have chosen to put the text \'You are here\' before the path and force \'Home\' to always be the root in the path, even if it isn\'t. With the delimiter parameter you can select the delimiter that separates entries in the path.</p><p><em>Read more</em> about the <code>{ldelim}breadcrumbs}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Navigation</h3><pre>{ldelim}menu template=\'simple navigation\' collapse=\'1\'}</pre><p>This is how you insert a menu where you want it to appear. Like the <code>{ldelim}search}</code> tag, this is actually just a wrapper tag, as the Menu Manager is a module.</p><p>In the default templates the menu manager template that is used for the menus are stored in files. That\'s why you see the .tpl extension in the template parameter. But you can easily import menu templates to the database and edit them directly in the Admin Panel. Then you simply omit the .tpl extension in the template parameter.</p><p><em>Read more</em> about the Menu Manager module in Extensions » Modules in the Admin Panel.</p></div><div class="templatecode"><h3>News</h3><pre>{ldelim}news number=\'3\' detailpage=\'news\'}</pre><p>This tag will display the last three news articles. When clicking a news article to read the details, it is opened on the page with the page alias \'news\'. That\'s what the detailpage parameter is doing.</p><p>Like all core modules there is a wrapper tag for the News module, to make it easier to use.</p><p><em>Read more</em> about the News module tag in Extensions » News in the Admin Panel.</p></div><div class="templatecode"><h3>Print button</h3><pre>{ldelim}print showbutton=true script=true}</pre><p>The <code>{ldelim}print}</code> tag is used to insert a print link. With the showbutton parameter set to true we have told the tag to output a button instead of text. The script parameter set to true means the print dialog window opens when clicking the button, for immediate printing.</p><p>The <code>{ldelim}print}</code> tag prints everything that is in your <code>{ldelim}content}</code> tag, that is only the content for a page.</p><p><em>Read more</em> about the <code>{ldelim}print}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Page content</h3><pre><h2>{ldelim}title}</h2>{ldelim}content}</pre><p>Maybe the most important tag in your template. Where you put the <code>{ldelim}content}</code> is where the content for your page will appear.</p><p>We have also chosen to put the page title on every page (the <code>{ldelim}title}</code> tag), so that you don\'t have to put that in the content for every page.</p><p>The default <code>{ldelim}content}</code> tag is <strong>required</strong> for all templates.</p><p><em>Read more</em> about the <code>{ldelim}content}</code> and <code>{ldelim}title}</code> tags in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Previous/next links</h3><pre>{ldelim}anchor anchor=\'main\' text=\'^ Top\'}{ldelim}cms_selflink dir="previous"}{ldelim}cms_selflink dir="next"}</pre><p>Some more internal links. These are using the dir parameter to link to the previous and next pages in the page hierarchy (separators and section headers will be omitted as they are no pages).</p></div><div class="templatecode"><h3>Page footer</h3><pre>{ldelim}global_content name=\'footer\'}</pre><p>Instead of bloating your template with lots of code you can put some code in a Global Content Block. Then call that Global Content Block with the <code>{ldelim}global_content}</code> tag. It\'s also useful for content or HTML code that is reused on several pages or templates.</p><p>In the default templates we have put the footer text in a Global Content Block with the name \'footer\'. You find the Global Content Blocks in the Content menu in the Admin Panel.</p><p><em>Read more</em> about the <code>{ldelim}global_content}</code> tag in Extensions » Tags in the Admin Panel.</p></div>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Left simple navigation + 1 column / Default Templates Explained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Left simple navigation + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('Left simple navigation + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('navleft'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>This template has the menu in left sidebar. The menu is using the <strong>Simple Navigation</strong> menu template. It is styled in the stylesheet called <strong>Navigation Simple - Vertical</strong>.</p><p>You can easily float the sidebar with the menu to the right instead. Look in the <strong>Layout Left sidebar + 1 column</strong> style sheet for the <code>float:left;</code> property in the <code>div#sidebar</code> element. Change that to <code>float:right;</code> and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Top simple navigation + left subnavigation + 1 column / Default Templates Explained / Top simple navigation + left subnavigation + 1 column $contentobj = new Content; $contentobj->SetName('Top simple navigation + left subnavigation + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('Top simple navigation + left subnavigation + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$topsimple_leftsubnav_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Top simple navigation + left subnavigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('top_left'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left. In this case the sub-menu to the left displays the sub-levels (children) to <strong>Default Templates Explained</strong>.</p><h3>The {ldelim}menu} tag</h3><p>The <code>{ldelim}menu}</code> tag is inserted twice in the page template. First where the main navigation is, which should only show the top level. It looks like this: <code>{ldelim}menu template=\'Simple Navigation\' number_of_levels=\'1\'}</code>.</p><p>The sub navigation should only contain the second level and down, depending on what is selected on the first level. Also, the third level links should only display when its parent on the second level is clicked, otherwise they are hidden. That is, the second level is collapsed unless the current page has sub pages.</p><p>The tag for the sub navigation looks like this: <code>{ldelim}menu template=\'simple_navigation.tpl\' start_level=\'2\' collapse=\'1\'}</code>.</p><h3>Attached style sheets for the menu</h3><p>As the main navigation and the sub navigation need to be styled differently (one horizontal, the other vertical), two navigation style sheets are attached to this page template. <strong>Navigation Simple - Horizontal</strong> is for styling the horizontal main menu. <strong>Navigation Simple - Vertical</strong> on the other hand, contains the style for the sub navigation to the left.</p><h3>Both using the same Menu Manager template</h3><p>However, as you could see, both parts of the navigation are using the same menu manager template. That is because the output code is the same. It is only through CSS that the two parts get styled differently.</p><h3>Floating the sidebar to the right</h3><p>You can easily float the sidebar with the sub navigation to the right instead. Look in the <strong>Layout Top menu + 2 columns</strong> style sheet for the <code>float:left;</code> property in the <code>div#sidebar</code> element. Change that to <code>float:right;</code> and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CSSMenu top + 2 columns / Default Templates Explained / CSSMenu top + 2 columns $contentobj = new Content; $contentobj->SetName('CSSMenu top + 2 columns'); $contentobj->SetAlias(); $contentobj->SetMenuText('CSSMenu top + 2 columns'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$css_menutop_2col_theme->get_id()); $contentobj->SetTemplateId($template_list['CSSMenu top + 2 columns']); $contentobj->SetOwner(1); $contentobj->SetAlias('cssmenu_horizontal'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.</p><p>The code we have inserted in the template that this page is using is simply <code>{ldelim}menu template=\'cssmenu.tpl\'}</code>. You style the menu in the stylesheet <strong>Navigation CSSMenu - Horizontal</strong> or <strong>Navigation CSSMenu - Vertical</strong> for the vertical CSSMenu.</p><p>But to be on the safe side, copy this style sheet and attach your new style sheet to the template instead (and make your changes in your new style sheet). Then you can always revert to the default style sheet if something goes wrong.</p>'); $contentobj->SetPropertyValue('Sidebar', '<p>Just some test content goes here as an example of a very long sentence that probably should have been divided into several smaller sentences, were it not for this just being a test sentence on one of the default pages of CMS Made Simple, an excellent Content Management System for easily creating web sites, this sentence is added when adding/editing a page in the Sidebar: text area, this comes from the template place holder {ldelim}content block=\'Sidebar\'}.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CSSMenu left + 1 column / Default Templates Explained / CSSMenu left + 1 column $contentobj = new Content; $contentobj->SetName('CSSMenu left + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('CSSMenu left + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$css_menuleft_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['CSSMenu left + 1 column']); $contentobj->SetAlias('cssmenu_vertical'); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn\'t a whole lot to say about it.</p><h3>Filler Text</h3><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut ac leo in lorem ultricies sollicitudin. Vivamus molestie elit nec nulla. Suspendisse potenti. Suspendisse at lorem. Donec pulvinar, magna eget molestie pretium, justo sem iaculis urna, eget condimentum nibh augue pellentesque arcu. Integer tristique tempor mauris. Sed justo orci, commodo volutpat, sagittis vitae, varius vitae, massa. Maecenas pede ligula, iaculis sit amet, pharetra eu, adipiscing consectetuer, eros. Duis ullamcorper nisl ac magna. Nunc neque dolor, posuere dapibus, convallis non, tristique sed, nibh. Suspendisse quis leo. Phasellus pretium erat ut purus. Duis facilisis consectetuer sapien. Nulla eget pede ut nisl faucibus consequat. Quisque erat lectus, luctus in, pellentesque ac, adipiscing eu, enim. Donec ultrices laoreet urna.</p><h3>Subheading</h3><p>Vestibulum vitae tellus. Fusce quis ligula. Cras mi. Mauris congue, lacus eget rhoncus venenatis, mi nunc volutpat nisl, ut ornare erat augue quis mauris. Nulla in sem. Donec semper odio ac ante. Cras a libero in risus mattis commodo. Phasellus pellentesque lectus. Donec a mi. Integer euismod neque at arcu. Morbi ligula nulla, dapibus nec, fermentum ut, tristique vel, pede. Morbi at diam. Vestibulum quam. Cras consectetuer wisi id neque. Etiam dictum vulputate ligula. Aliquam erat volutpat. Proin vitae lorem in justo imperdiet nonummy. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse leo. Sed in eros ut lectus lacinia condimentum.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Minimal template / Default Templates Explained / Minimal template $contentobj = new Content; $contentobj->SetName('Minimal template'); $contentobj->SetAlias(); $contentobj->SetMenuText('Minimal template'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$minimal_theme->get_id()); $contentobj->SetTemplateId($template_list['Minimal']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>This is an example of the very minimal that needs to be in a CMSMS template. No stylesheet is attached to the template, which is why it doesn\'t look very nice...</p><p>However, to make it slightly more appealing, some inline styling was used, for floating the content to the right of the menu.</p><p>The menu in this page template is using the <strong>Minimal Navigation</strong> template for Menu Manager. No accessibility stuff is in there, so it\'s recommended that the <strong>Simple Navigation</strong> menu template is rather used.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Higher End / Default Templates Explained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Higher End'); $contentobj->SetAlias(); $contentobj->SetMenuText('Higher End'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>These are more complex then some of the other templates, especially the menus, they all 3 use the same menu template. Which shows you the power of CSS.</p><p>Be forewarned, if you use IE6 you won\'t see the best effects in any of the shadow menus that you see using a more standards compliant browser. I mean it\'s still nice grant you but... just upgrade your browser if you can.</p><h3>The Differences</h3><p>Starting with NCleanBlue you get a really nice, subtle Tabbed menu, then it goes on to have a real nice drop down effect.</p><p>You get a real nice 2.0 header and footer, great color scheme and the search is way cool, it\'s just a great theme, what can I say, thanks Nuno.</p><p>Then the next 2 submenus have another version of the shadowed drop, the first step will point up for the top sub menu and to the right for the left sub menus.</p><p>These 2 are the same layout as CSSMenu top + 2 columns and CSSMenu left + 1 column, respectively, except for the menu template and some CSS.</p><p>We hope you enjoy these, for any changes you want to make it\'s always best to copy the original style sheet for safe keeping, you never know when you may need it.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // NCleanBlue / Higher End / NCleanBlue $contentobj = new Content; $contentobj->SetName('NCleanBlue'); $contentobj->SetAlias(); $contentobj->SetMenuText('NCleanBlue'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$ncleanblue_theme->get_id()); $contentobj->SetTemplateId($template_list['NCleanBlue']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Nuno has graciously supplied us with another of his great looking designs.</p><p>This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">&nbsp; </li> this is used to hold the bottom image.</p><h3>Filler Text</h3><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // ShadowMenu Tab + 2 columns / Higher End / ShadowMenu Tab + 2 columns $contentobj = new Content; $contentobj->SetName('ShadowMenu Tab + 2 columns'); $contentobj->SetAlias(); $contentobj->SetMenuText('ShadowMenu Tab + 2 columns'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$shadowmenu_tab_2col_theme->get_id()); $contentobj->SetTemplateId($template_list['ShadowMenu Tab + 2 columns']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.</p><h3>Filler Text</h3><p>Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.</p><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p>'); $contentobj->SetPropertyValue('Sidebar', '<h4>Filler Text</h4><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras sodales gravida est. Nullam enim ipsum, convallis quis, iaculis quis, facilisis eu, felis. Proin euismod hendrerit tortor. Aliquam erat volutpat. Morbi tempus diam sit amet neque. Sed sem metus, sagittis vel, lobortis ac, tempus sit amet, wisi. Phasellus in diam. Maecenas ultrices rutrum mauris. Vestibulum dolor justo, blandit a, posuere quis, varius at, tellus. Vestibulum convallis. Nulla ut leo sed elit eleifend varius. Aenean eget est id lorem posuere laoreet.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // ShadowMenu left + 1 column / Higher End / ShadowMenu left + 1 column $contentobj = new Content; $contentobj->SetName('ShadowMenu Left + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('ShadowMenu Left + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$shadowmenu_left_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['ShadowMenu left + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Again using the same menu template as the two previous themes. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the second level and third level ul are now using the same image that has an arrow left.</p><h3>Filler Text</h3><p>Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.</p><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p>'); // Welcome to Simplex / Default Templates Explained / Higher End / Simplex $contentobj = new Content; $contentobj->SetName('Welcome to Simplex'); $contentobj->SetAlias(); $contentobj->SetMenuText('Simplex Theme'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$simplex_theme->get_id()); $contentobj->SetTemplateId($template_list['Simplex']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Simplex Theme has been created to demonstrate HTML5 and CSS3 functionality within CMS Made Simple™.<br />It is shipped with a CSS Framework making it possible for you to create Responsive and Mobile capabale layouts with ease.</p><h2>What is included?</h2><p>With this Template you will find four Stylesheets attached to it.</p><ul><li>Simplex Core</li><li>Simplex Layout</li><li>Simplex Mobile</li><li>Simplex Print</li></ul><p>Main Functionality of this Template is included in Core Stylesheet. It contains a simple Fluid Grid Framework based on <a class="external" href="http://960.gs/" title="960 Grid System" target="_blank">960 Grid System</a>.<br />In this same Stylesheet CSS <a class="external" href="http://www.w3.org/TR/css3-mediaqueries/" title="W3C Media Queries" target="_blank">Media Queries</a> are being used that make it possible for a flexible layout based on Screen width.<br /><br />With Simplex Theme it is very easy to quickly change appearance of complete Site at once. If you look at Page Template code you will find "boxed" id in the <code><body></code> tag.<br />When this id is removed the Layout of the Site is changed and you would face a simple layout with White background.<br />You can also quickly change allignement of the complete Site. If you change the class of "wrapper" div to leftaligned or rightaligned, whole Page will be aligned to left or right.</p><h2>Support for Mobile Devices</h2><p>As mentioned above this Theme is shipped with Stylesheet Framework that gives you a starting point for easy developement of Responsive Layout.<br />Mobile world is very versatile and Framework itself is by no means perfect, it is only a starting point but as a Developer you should decide which technique you should use for your current Project.<br />Responsive Template is only one small step towards Mobile support.</p><p>This Theme requires <a class="external" href="http://jquery.org/" title="jQuery" target="_blank">jQuery</a> which is included with <code>{ldelim}cms_jquery{rdelim}</code> tag.</p><p><cite>Note: {ldelim}cms_jquery{rdelim} tag is included at the bottom of the Template. You should be carefull with it when you are using Modules that include jQuery in <head> section.</cite></p><p>In file functions.js a section is included that makes it possible of Navigating through site with some Mobile Devices. This part of the code, covers only few devices and it is only meant as an example and a starting point for Developer.</p><h2>This and that</h2><p>As an example of <a class="external" href="http://www.smarty.net/" title="Smarty" target="_blank">Smarty</a> power within CMS Made Simple™ Templates a very simple Slider has been included, which demonstartes how easy it is to quickly create a Slideshow without a single Module.</p><pre><code>{ldelim}assign var=\'teaser\' value=\'uploads/simplex/teaser/*.jpg\'|glob{rdelim}<br />{ldelim}foreach from=$teaser item=\'one\'{rdelim}<br /> <div><img src=\'{ldelim}root_url{rdelim}/{ldelim}$one{rdelim}\' width=\'852\' height=\'275\' alt=\'\' /></div><br />{ldelim}/foreach{rdelim}<br /> {/strip}</code></pre><p><cite>If you would like to make this Slider responsive you should include a additional jQuery Plugin like for example <a class="external" href="http://swipejs.com" target="_blank" title="SwipeJS">SwipeJS</a></cite></p><p>In included Stylesheets, Smarty has been used as well. This should make it possible for you, to quickly change Color scheme of the theme by simply changing HEX code within assign Tags.</p><pre><code>[[assign var=\'boxed_bg\' value="#d1d1d1 url(`$path`/boxed-bg.gif)"]][[assign var=\'light_grey\' value=\'#f1f1f1\']]<br />[[assign var=\'grey\' value=\'#e9e9e9\']]<br />[[assign var=\'dark_grey\' value=\'#555\']]<br />[[assign var=\'white\' value=\'#fff\']]<br />[[assign var=\'orange\' value=\'#f39c2c\']]<br />[[assign var=\'dark_orange\' value=\'#e6870e\']]<br />[[assign var=\'yellow\' value=\'#fdbd34\']]</code></pre><p>If you are using a modern Browser, you will notice that the Theme is using some of <a class="external" href="http://www.w3.org/TR/CSS/#css3" title="CSS3" target="_blank">CSS3</a> techniques. There are no Internet Explorer fallbacks included but this doesn\'t mean that it does not work in Internet Explorer.<br />A Visitor that is using Internet Explorer will simply see a Layout with gracefull fallback, meaning animations will not animate, rounded corners will be edges...</p><p><em>Note from Theme Develper Goran Ilic (uniqu3e):</em></p><blockquote><cite>The Simplex Theme was kept simplistic which should make it possible for a Developer to easily read code used in Theme and either create a new Layout from it or editing this Theme.<br /><br />A full Internet Explorer or Mobile support was intentionally not included, as each Developer should decide how far a old Browser like Internet Explorer (7,8) or which Mobile devices he wants to support and which Technique he will use.<br />Each Project is different and with each Project there is a need for different techniques.</cite></blockquote>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); ////////////////////////////////// // // DEFAULT EXTENSIONS // // ////////////////////////////////// // Default Extensions / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Default Extensions'); $contentobj->SetAlias(); $contentobj->SetMenuText('Default Extensions'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>With the default installation of CMS Made Simple come six modules and a number of tags. The features of these are described and displayed on the following pages.</p><p>To find out more about the core modules, click {cms_selflink page=\'modules\' text=\'Modules\'}. For an explanation the core tags, simply click {cms_selflink page=\'tags\' text=\'Tags\'}.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Modules / 24 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Modules'); $contentobj->SetAlias(); $contentobj->SetMenuText('Modules'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Extensions']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>There are six modules that come with the default installation of CMS Made Simple. On the following pages we explain how these are used. Click on each module name in the menu to the left or in the list below.</p><p>To insert a module in a template or a page you normally use the <code>{ldelim}cms_module}</code> tag with the module name as one of the parameters. But to simplify things, all core modules also have a tag wrapper, so that they are called simple by their name, like <code>{ldelim}news}</code>.</p><ul><li>{cms_selflink page=\'news\' text=\'News\'}</li><li>{cms_selflink page=\'menu-manager-2\' text=\'Menu Manager\'}</li><li>{cms_selflink page=\'theme-manager\' text=\'Theme Manager\'}</li><li>{cms_selflink page=\'microtiny\' text=\'MicroTiny\'}</li><li>{cms_selflink page=\'search\' text=\'Search\'}</li><li>{cms_selflink page=\'module-manager\' text=\'Module Manager\'}</li></ul>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // News / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('News'); $contentobj->SetAlias(); $contentobj->SetMenuText('News'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Most web sites have a section for the latest news. In CMS Made Simple the best way to accomplish that is by using the News module.</p><p>To display a list of news items you insert the tag <code>{ldelim}news number=\'5\' category=\'General\'}</code>. On this page the tag is inserted in the template. But it can also be inserted on a page. You can see the News module in use in the sidebar to the left.</p><p>There are a number of parameters that can be used in conjunction with this tag. To read about how a module is used, navigate to Extensions » Modules in the Admin Panel and click on "Help" for the module you want to read about.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Menu Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Menu Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Menu Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetAlias('menu-manager-2'); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The Menu Manager has already been explained on the How CMSMS Works » {cms_selflink page=\'menu-manager\' text=\'Menu Manager\'} page. It is a very powerful module that can be used for any kind of navigation system on your web site.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Theme Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Theme Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Theme Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>The Theme Manager module allows you to import and export templates and their attached stylesheets, including any images they use, as "themes". This allows you to share your look and feel with other CMSMS users.</p><p>It is very easy to convert any kind of template to be used with CMS Made Simple. Many templates like this have already been converted and can be installed using the Theme Manager, the CMSMS community also shares themes for anyone to download and use at the <a class="external" target="_blank" href="http://themes.cmsmadesimple.org">CMSMS Themes site</a>.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // MicroTiny / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('MicroTiny'); $contentobj->SetAlias(); $contentobj->SetMenuText('MicroTiny'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>MicroTiny is a so called WYSIWYG editor for editing pages. WYSIWYG stands for What You See Is What You Get. It works similar to a word processor, where you can select the style for the content and see how it is going to look on the page.</p><p>Among available WYSIWYG editors CMS Made Simple has decided to use MicroTiny (the stripped down version of TinyMCE). TinyMCE is among the most developed WYSIWYG editors, with regular updates, a large following and customizable features.</p><p>However, it is very difficult to create a cross-browser online editor that works in all different kinds of environments. If you are familiar with HTML you can select no WYSIWYG in My Preferences » User Preferences in the Admin Panel. That gives you more control over the code that will be on the page.</p><p>There are also other WYSIWYG editor modules available for download.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Search / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Search'); $contentobj->SetAlias(); $contentobj->SetMenuText('Search'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>Search is a module for searching "core" content along with certain registered modules. You put in a word or two and it gives you back matching, relevant results.</p><p>You can see the search module in use in the default templates, like on this page. Simply put <code>{ldelim}search}</code> in your template, where you want the search form to appear. If you want the results of a search to appear on a different page, you can specify this with the parameter <code>resultpage=\'page alias\'</code>.</p><p>For more information, see the Search module in the Admin Panel, in the Extensions menu.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Module Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Module Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Module Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>A client for the ModuleRepository, this module allows you to see what modules are available, the version number, size, and Status/Action (whether it is already installed or not), read the Help and About for each module, letting you install modules from remote sites without the need for FTP\'ing, or unzipping archives. Module XML files are downloaded using SOAP, integrity verified, and then expanded automatically.</p><p>ModuleManager now checks dependencies. When dependencies are set, the module wont install until dependencies are met. Also a new tab is available, that shows newer versions of installed modules.</p><p>In short, this means that you can download and install modules directly from the Admin Panel. Any module that has been released as an XML file can be downloaded and installed. Go to Extensions » Module Manager in the Admin Panel to see the list of modules from the official CMSMS repository in the CMSMS Development Forge.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Tags / Default Extensions / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Tags'); $contentobj->SetAlias(); $contentobj->SetMenuText('Tags'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Extensions']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>There are a number of custom tags included with the default CMS Made Simple installation. They are all described and demonstrated in the following page, and user defined tags are in the next one.</p><p>To use a tag, simply put it in the template or page like this: {ldelim}nameoftag}. Some tags can also take parameters, which are described in the Help that is accessible for each tag in Extensions » Tags in the Admin Panel.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Tags in the core / Tags / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Tags in the core'); $contentobj->SetAlias('cms_tags'); $contentobj->SetMenuText('Tags in the core'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Tags']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>There are plenty of tags included with the CMSMS core. Some of them are demonstrated here, for any questions as to the parameters they can take or anything else please see the Tags Help.</p><h3>{ldelim}anchor}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}anchor anchor=\'here\' text=\'Scroll Down\' class=\'myclass\' title=\'mytitle\' tabindex=\'1\' accesskey=\'s\'}</code></dd> <dt>Display</dt> <dd>Creates a link to an anchor on the same page. Used for example for the ^Top link at the bottom of this page.</dd> </dl><h3>{ldelim}cms_breadcrumbs{rdelim}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_breadcrumbs root=\'Home\'{rdelim}</code></dd> <dt>Display</dt> <dd>Breadcrumbs are a navigational technique displaying all visited pages leading from the home page to the currently viewed page. You find it under the header on this page.</dd></dl><h3>{ldelim}cms_module}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_module module=\'somemodulename\' param1=\'something\' param2=true}</code></dd> <dt>Display</dt> <dd>This tag is used to insert modules into your templates and pages. Used for any module that you download. In the default templates, wrapper tags are used for inserting modules though. That is, a tag is made to insert a cms_module tag.</dd> </dl><h3>{ldelim}cms_selflink}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_selflink page="1"}</code> or <code>{ldelim}cms_selflink page="alias"}</code></dd> <dt>Display</dt> <dd>Creates a link to another CMSMS content page inside your template or content. Can also be used for external links with the ext parameter. </dd> <dt>Example</dt> <dd>{cms_selflink page=\'modules\' text=\'Link to the modules page\'} </dd> <dd><a class="external" href="http://www.cmsmadesimple.org">This is an external link to the CMS Made Simple website</a></dd> </dl><h3>{ldelim}cms_version}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_version}</code></dd> <dt>Display</dt> <dd>Displays current version number of CMS Made Simple. </dd> <dt>Example</dt> <dd>See the footer on this page.</dd> </dl><h3>{ldelim}cms_versionname}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_versionname}</code></dd> <dt>Display</dt> <dd>Displays current version name of CMS Made Simple. </dd> <dt>Example</dt> <dd>See the footer on this page.</dd> </dl><h3>{ldelim}current_date}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}current_date format="%A %d-%b-%y %T %Z"}</code></dd> <dt>Display</dt> <dd>Prints the current date and time.</dd> <dt>Example</dt> <dd>{current_date format="%A %d-%b-%y %T %Z"}</dd> </dl><h3>{ldelim}embed}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}embed url="http://www.cmsmadesimple.org"}</code></dd> <dt>Display</dt> <dd>Enable inclusion (embeding) of any other application into the CMS. The most usual use could be a forum. </dd> </dl><h3>{ldelim}global_content}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}global_content name=\'footer\'}</code></dd> <dt>Display</dt> <dd>Inserts a Global Content Block (previously known as HTML blob) into your template or page. The code for the footer of this page is in a Global Content Block. </dd> </dl><h3>{ldelim}menu_text}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}menu_text}</code></dd> <dt>Display</dt> <dd>Prints the menu text of the page.</dd> <dt>Example</dt> <dd>{menu_text}</dd> </dl><h3>{ldelim}modified_date}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}modified_date format="%A %d-%b-%y %T %Z"}</code></dd> <dt>Display</dt> <dd>Prints the date and time the page was last modified. </dd> <dt>Example</dt> <dd>{modified_date format="%A %d-%b-%y %T %Z"}</dd> </dl><h3>{ldelim}print}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}CMSPrinting}</code></dd> <dt>Display</dt> <dd>Creates a link to only the content of the page.</dd> <dt>Example</dt> <dd>{ldelim}CMSPrinting}</dd> </dl><h3>{ldelim}site_mapper}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}site_mapper}</code></dd> <dt>Display</dt> <dd>Prints out a sitemap.</dd> <dt>Example</dt> <dd>{site_mapper}</dd> </dl>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // User Defined Tags / Tags / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('User Defined Tags'); $contentobj->SetAlias(); $contentobj->SetMenuText('User Defined Tags'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Tags']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', '<p>One of the little known features of CMS Made Simple is the User Defined tag. Basically, this allows you to write PHP code inside the Admin Panel. Use the \'Add User Defined Tag\' button in Extension » User Defined Tags in the Admin Panel, write some code, and then insert into a template or page with {literal}{newpluginname}{/literal}. Simple!</p><p>As an example, I\'ve put together a one line plugin/tag that will show your current User Agent information (which browser you\'re using). The output is right here: <strong>{user_agent}</strong>.</p><p>If you\'re not looking at the source, all that is in the page is {literal}{user_agent}{/literal}. To see how this code works, edit the user_agent tag in the Extensions » User Defined Tags page of the admin.</p><p>This is a VERY powerful feature if used right. Remember, user defined tags do not get cached, therefore, scripts to rotate ad banners and such will work just fine. Note also that tag code has to be written <em>without</em> opening < ? php and ending ? > tags.</p>'); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); ?> <?php global $admin_user; // // Stylesheets // # no stylesheets for a no sample content option // // Designs // $design = new CmsLayoutCollection(); $design->set_name('Default'); $design->set_description('Default design with just the default template.'); $design->set_default(TRUE); $design->save(); $design->save(); // // Types // $page_template_type = new CmsLayoutTemplateType(); $page_template_type->set_originator(CmsLayoutTemplateType::CORE); $page_template_type->set_name('page'); $page_template_type->set_dflt_flag(TRUE); $page_template_type->set_lang_callback('CmsTemplateResource::page_type_lang_callback'); $page_template_type->set_content_callback('CmsTemplateResource::reset_page_type_defaults'); $page_template_type->set_help_callback('CmsTemplateResource::template_help_callback'); $page_template_type->reset_content_to_factory(); $page_template_type->set_content_block_flag(TRUE); $page_template_type->save(); $gcb_template_type = new CmsLayoutTemplateType(); $gcb_template_type->set_originator(CmsLayoutTemplateType::CORE); $gcb_template_type->set_name('generic'); $gcb_template_type->set_lang_callback('CmsTemplateResource::generic_type_lang_callback'); $gcb_template_type->set_help_callback('CmsTemplateResource::template_help_callback'); $gcb_template_type->save(); // // Template Categories // // // Templates // $app = \__appbase\get_app(); $fn = $app->get_destdir() . DIRECTORY_SEPARATOR . 'admin' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'orig_page_template.tpl'; $txt = file_get_contents($fn); $template = new CmsLayoutTemplate(); $template->set_name('Default'); $template->set_description('This is the default minimal template. A simple starting point to build templates from.'); $template->set_type($page_template_type); $template->set_content($txt); $template->set_type($page_template_type); $template->set_type_dflt(TRUE); $template->add_design($design); $template->set_owner(1); $template->save(); // // Extra global templates // # // // Default Content Object // ContentOperations::get_instance()->LoadContentType('content'); $content = new Content; $content->SetName('Home'); $content->SetAlias(); $content->SetOwner(1); $content->SetMenuText('Home Page'); $content->SetTemplateId($template->get_id()); $content->SetParentId(-1); $content->SetActive(TRUE); $content->SetShowInMenu(TRUE); $content->SetCachable(TRUE); $content->SetDefaultContent(TRUE); $content->SetPropertyValue('searchable',1); $content->SetPropertyValue('design_id',$design->get_id()); $content->SetPropertyValue('content_en', '<p>Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are <em>almost</em> ready to start building your site.</p><p>If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.</p><p>To get to the Administration Console you have to login as the administrator (with the username/password you specified during the installation process) on your site at http://yourwebsite.com/cmsmspath/admin. If this is your site click <a title="CMSMS Demo Admin Panel" href="admin">here</a> to login.</p><p>Read about how to use CMS Made Simple in the <a class="external" href="http://docs.cmsmadesimple.org/" title="CMS Made Simple Documentation" target="_blank">documentation</a>. In case you need any help the community is always at your service, in the <a class="external" href="http://forum.cmsmadesimple.org" title="CMS Made Simple Forum" target="_blank">forum</a> or the <a class="external" href="http://www.cmsmadesimple.org/support/irc" title="Information about the CMS Made Simple IRC channel" target="_blank">IRC</a>.</p><h3>License</h3><p>CMS Made Simple is released under the <a class="external" href="http://www.gnu.org/licenses/licenses.html#GPL" title="General Public License" target="_blank">GPL</a> license and as such you don\'t have to leave a link back to us in these templates or on your site as much as we would like it.</p><p>Some third party addon modules may include additional license restrictions.</p>'); $content->Save(); ?> <?php if (isset($CMS_INSTALL_DROP_TABLES)) { status_msg(ilang('install_dropping_tables')); $db->DropSequence(CMS_DB_PREFIX."additional_users_seq"); $db->DropSequence(CMS_DB_PREFIX."admin_bookmarks_seq"); $db->DropSequence(CMS_DB_PREFIX."additional_users_seq"); $db->DropSequence(CMS_DB_PREFIX."content_seq"); $db->DropSequence(CMS_DB_PREFIX."content_props_seq"); $db->DropSequence(CMS_DB_PREFIX."events_seq"); $db->DropSequence(CMS_DB_PREFIX."event_handler_seq"); $db->DropSequence(CMS_DB_PREFIX."group_perms_seq"); $db->DropSequence(CMS_DB_PREFIX."groups_seq"); $db->DropSequence(CMS_DB_PREFIX."module_deps_seq"); $db->DropSequence(CMS_DB_PREFIX."module_templates_seq"); $db->DropSequence(CMS_DB_PREFIX."permissions_seq"); $db->DropSequence(CMS_DB_PREFIX."users_seq"); $db->DropSequence(CMS_DB_PREFIX."userplugins_seq"); $dbdict = NewDataDictionary($db); $sqlarray = $dbdict->DropIndexSQL("idx_template_id_modified_date"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropIndexSQL(CMS_DB_PREFIX."idx_template_id_modified_date"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."additional_users"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."adminlog"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."admin_bookmarks"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."content"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."content_props"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."events"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."event_handlers"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."group_perms"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL("`".CMS_DB_PREFIX."groups`"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."modules"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."module_deps"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."module_templates"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."permissions"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."siteprefs"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."user_groups"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."userprefs"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."users"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."userplugins"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."version"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."module_smarty_plugins"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX."routes"); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::ADDUSERSTABLE); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::CSSTABLE); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.CmsLock::LOCK_TABLE); $dbdict->ExecuteSQLArray($sqlarray); } if (isset($CMS_INSTALL_CREATE_TABLES)) { status_msg(ilang('install_createtablesindexes')); if ($db->dbtype == 'mysql' || $db->dbtype == 'mysqli') { @$db->Execute("ALTER DATABASE `" . $db->database . "` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); } $dbdict = NewDataDictionary($db); $taboptarray = array('mysql' => 'ENGINE MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci', 'mysqli' => 'ENGINE MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci'); $flds = " additional_users_id I KEY, user_id I, page_id I, content_id I "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."additional_users", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'additional_users', $ado_ret)); $flds = " bookmark_id I KEY, user_id I, title C(255), url C(255) "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."admin_bookmarks", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'admin_bookmarks', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_admin_bookmarks_by_user_id', CMS_DB_PREFIX."admin_bookmarks", 'user_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'admin_bookmarks', $ado_ret)); $flds = " timestamp I, user_id I, username C(25), item_id I, item_name C(50), action C(255), ip_addr C(40) "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."adminlog", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); if( $return == 2 ) { $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_adminlog1',CMS_DB_PREFIX."adminlog",'timestamp'); $return = $dbdict->ExecuteSQLArray($sqlarray); } verbose_msg(ilang('install_created_table', 'adminlog', $ado_ret)); $flds = " content_id I KEY, content_name C(255), type C(25), owner_id I, parent_id I, template_id I, item_order I, hierarchy C(255), default_content I1, menu_text C(255), content_alias C(255), show_in_menu I1, active I1, cachable I1, id_hierarchy C(255), hierarchy_path X, prop_names X, metadata X, titleattribute C(255), tabindex C(10), accesskey C(5), last_modified_by I, create_date DT, modified_date DT, secure I1, page_url C(255) "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."content", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'content', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_alias_active', CMS_DB_PREFIX."content", 'content_alias, active'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_alias_active', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_default_content', CMS_DB_PREFIX."content", 'default_content'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_default_content', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_parent_id', CMS_DB_PREFIX."content", 'parent_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_parent_id', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_hier', CMS_DB_PREFIX."content", 'hierarchy'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_hier', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_content_by_idhier', CMS_DB_PREFIX."content", 'content_id, hierarchy'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_idhier', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_modified', CMS_DB_PREFIX."content", 'modified_date'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_by_modified', $ado_ret)); $flds = " content_id I, type C(25), prop_name C(255), param1 C(255), param2 C(255), param3 C(255), content X2, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."content_props", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'content_props', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_props_by_content', CMS_DB_PREFIX."content_props", 'content_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_content_props_by_content', $ado_ret)); $flds = " event_id I, tag_name C(255), module_name C(160), removable I, handler_order I, handler_id I KEY "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."event_handlers", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'event_handlers', $ado_ret)); $flds = " originator C(200) NOTNULL, event_name C(200) NOTNULL, event_id I KEY "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."events", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'events', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'originator', CMS_DB_PREFIX."events", 'originator'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'originator', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'event_name', CMS_DB_PREFIX."events", 'event_name'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'event_name', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'event_id', CMS_DB_PREFIX."events", 'event_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'event_id', $ado_ret)); $flds = " group_perm_id I KEY, group_id I, permission_id I, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."group_perms", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'group_perms', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_grp_perms_by_grp_id_perm_id', CMS_DB_PREFIX."group_perms", 'group_id, permission_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_grp_perms_by_grp_id_perm_id', $ado_ret)); $flds = " group_id I KEY, group_name C(25), group_desc C(255), active I1, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL("`".CMS_DB_PREFIX."groups`", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'groups', $ado_ret)); $flds = " module_name C(160) KEY, status C(255), version C(255), admin_only I1 DEFAULT 0, active I1, allow_fe_lazyload I1, allow_admin_lazyload I1 "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."modules", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'modules', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_modules_by_name', CMS_DB_PREFIX."modules", 'module_name'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_modules_by_name', $ado_ret)); $flds = " parent_module C(25), child_module C(25), minimum_version C(25), create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."module_deps", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'module_deps', $ado_ret)); // deprecated $flds = " module_name C(160), template_name C(160), content X, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."module_templates", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'module_templates', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_module_templates_by_module_and_tpl_name', CMS_DB_PREFIX."module_templates", 'module_name, template_name'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_module_templates_by_module_and_tpl_name', $ado_ret)); $flds = " permission_id I KEY, permission_name C(255), permission_text C(255), permission_source C(255), create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."permissions", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'permissions', $ado_ret)); $flds = " sitepref_name C(255) KEY, sitepref_value text, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."siteprefs", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'siteprefs', $ado_ret)); $flds = " group_id I KEY, user_id I KEY, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."user_groups", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'user_groups', $ado_ret)); $flds = " user_id I KEY, preference C(50) KEY, value X, type C(25) "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."userprefs", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'userprefs', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_userprefs_by_user_id', CMS_DB_PREFIX."userprefs", 'user_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_userprefs_by_user_id', $ado_ret)); $flds = " user_id I KEY, username C(25), password C(40), admin_access I1, first_name C(50), last_name C(50), email C(255), active I1, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."users", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'users', $ado_ret)); $flds = " userplugin_id I KEY, userplugin_name C(255), code X, description X, create_date DT, modified_date DT "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."userplugins", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'userplugins', $ado_ret)); $flds = " version I "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."version", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'version', $ado_ret)); $flds = " sig C(80) KEY NOTNULL, name C(80) NOTNULL, module C(160) NOTNULL, type C(40) NOTNULL, callback C(255) NOTNULL, available I, cachable I1 "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."module_smarty_plugins", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'module_smarty_plugins', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_smp_module', CMS_DB_PREFIX."module_smarty_plugins", 'module'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_smp_module', $ado_ret)); $flds = " term C(255) KEY NOTNULL, key1 C(50) KEY NOTNULL, key2 C(50), key3 C(50), data X, created ".CMS_ADODB_DT; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX."routes", $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', 'routes', $ado_ret)); $flds = " id I KEY AUTO, originator C(50) NOTNULL, name C(100) NOTNULL, has_dflt I1, dflt_contents X2, description X, lang_cb C(255), dflt_content_cb C(255), requires_contentblocks I1, help_content_cb C(255), one_only I1, owner I, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutTemplateType::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_type_1', CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME, 'originator,name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_layout_tpl_type_1', $ado_ret)); $flds = " id I KEY AUTO, name C(100) NOTNULL, description X, item_order X, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_table', CmsLayoutTemplateCategory::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_cat_1', CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME, 'name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_layout_tpl_type_1', $ado_ret)); $flds = " id I KEY AUTO, name C(100) NOTNULL, content X2, description X, type_id I NOTNULL, type_dflt I1, category_id I, owner_id I NOTNULL, listable I1 DEFAULT 1, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutTemplate::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_1', CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, 'name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_layout_tpl_1', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_2', CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, 'type_id,type_dflt'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_creating_index', 'idx_layout_tpl_2', $ado_ret)); $flds = " id I KEY AUTO, name C(100) NOTNULL, content X2, description X, media_type C(255), media_query X, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutStylesheet::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_css_1',CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME, 'name', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_index', 'idx_layout_css_1', $ado_ret)); $flds = " tpl_id I KEY, user_id I KEY "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::ADDUSERSTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_table', CmsLayoutTemplate::ADDUSERSTABLE, $ado_ret)); $flds = " id I KEY AUTO, name C(100) NOTNULL, description X, dflt I1, created I, modified I "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutCollection::TABLENAME, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_dsn_1',CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME, 'name', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_index', 'idx_layout_dsn_1', $ado_ret)); $flds = " design_id I KEY NOTNULL, tpl_id I KEY NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutCollection::TPLTABLE, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_dsnassoc1', CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE, 'tpl_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_index', 'index_dsnassoc1', $ado_ret)); $flds = " design_id I KEY NOTNULL, css_id I KEY NOTNULL, item_order I NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::CSSTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLayoutCollection::CSSTABLE, $ado_ret)); $flds = " id I AUTO KEY NOTNULL, type C(20) NOTNULL, oid I NOTNULL, uid I NOTNULL, created I NOTNULL, modified I NOTNULL, lifetime I NOTNULL, expires I NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLock::LOCK_TABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $ado_ret = ($return == 2) ? ilang('done') : ilang('failed'); verbose_msg(ilang('install_created_table', CmsLock::LOCK_TABLE, $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks1', CMS_DB_PREFIX."locks", 'type,oid', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_index', 'index_locks1', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks2', CMS_DB_PREFIX."locks", 'expires'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_index', 'index_locks2', $ado_ret)); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks3', CMS_DB_PREFIX."locks", 'uid'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('install_created_index', 'index_locks3', $ado_ret)); } # vim:ts=4 sw=4 noet ?> Install profiles live here. Suggested profiles: minimal/ default/ developer/ Current status: minimal/ is a real file-based profile with editable template and page assets. default/ now uses manifest-driven payload metadata plus editable assets. developer/ currently falls back to the legacy minimal installer path. Each profile can contain profile.json plus editable templates, stylesheets, pages, and assets. Structured manifest support now exists for: designs template_types templates stylesheets pages copies udts sql See: ../../docs/PROFILE_MANIFEST.txt Notes: UDT payloads should be stored as .udt files. SQL payloads should be stored as .sql files. Manifest fragments may be JSON or PHP arrays during migration, but JSON is preferred long-term. Template manifests can reference existing types such as Core::page when needed. Module-owned template types/templates are normally installed by the module, not by the base installer profile. <p>© Copyright {custom_copyright} - CMS Made Simple<br /> This site is powered by <a class="external" href="http://www.cmsmadesimple.org">CMS Made Simple</a> version {cms_version}</p> {* Logic *} {$start_year = '2004'} {$current_year = $smarty.now|cms_date_format:'Y'} {* Template *} <ul class='social cf'> <li class='twitter'><a title='Twitter' href='http://twitter.com/#!/cmsms'><i class='icon-twitter'></i><span class='visuallyhidden'>Twitter</span></a></li> <li class='facebook'><a title='Facebook' href='https://www.facebook.com/cmsmadesimple'><i class='icon-facebook'></i><span class='visuallyhidden'>Facebook</span></a></li> <li class='linkedin'><a title='LinkedIn' href='http://www.linkedin.com/groups?gid=1139537'><i class='icon-linkedin'></i><span class='visuallyhidden'>LinkedIn</span></a></li> <li class='youtube'><a title='YouTube' href='http://www.youtube.com/user/cmsmadesimple'><i class='icon-youtube'></i><span class='visuallyhidden'>YouTube</span></a></li> <li class='google'><a title='Google Plus' href='https://plus.google.com/+cmsmadesimple/posts'><i class='icon-google'></i><span class='visuallyhidden'>Google Plus</span></a></li> <li class='pinterest'><a title='Pinterest' href='http://www.pinterest.com/cmsmadesimple/'><i class='icon-pinterest'></i><span class='visuallyhidden'>Pinterest</span></a></li> </ul> <p class='copyright-info'>© Copyright {$start_year}{if $start_year !== $current_year} - {$current_year}{/if} - CMS Made Simple<br /> This site is powered by <a href='http://www.cmsmadesimple.org'>CMS Made Simple</a> version {cms_version}</p>{strip} {* A simple Smarty array for our slideshow *} {$slides = []} {$slides.0.heading = 'Power for professionals'} {$slides.0.subheading = 'Simplicity for end Users'} {$slides.0.image = 'palm-logo.png'} {$slides.1.heading = 'Faster & Easier'} {$slides.1.subheading = 'Website management'} {$slides.1.image = 'mate-zimple.png'} {$slides.2.heading = 'Flexible & Powerful'} {$slides.2.subheading = 'Manage your Website anywhere and anytime'} {$slides.2.image = 'mobile-devices-scene.png'} {$slides.3.heading = 'Secure & Robust'} {$slides.3.subheading = 'Take control of your application'} {$slides.3.image = 'browser-scene.png'} {* Markup *} <section class='banner row noprint' id='sx-slides' role='banner'> <ul class="sequence-canvas"> {foreach $slides as $slide} <li{if $slide@first} class='animate-in'{/if}> {if !empty($slide.heading)}<h2 class='title'>{$slide.heading}</h2>{/if} {if !empty($slide.subheading)}<h3 class='subtitle'>{$slide.subheading}</h3>{/if} {if !empty($slide.image)}<img class='image' src='{uploads_url}/simplex/teaser/{$slide.image}' alt='{$slide.heading|cms_escape:'htmlall'}' />{/if} </li> {/foreach} </ul> </section> {/strip}<?php include_once($profile_dir . DIRECTORY_SEPARATOR . 'profile_helpers.php'); $uploads_source = $profile_dir . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . 'simplex'; $uploads_destination = cmsms()->GetConfig()['uploads_path'] . DIRECTORY_SEPARATOR . 'simplex'; default_profile_copy_tree($uploads_source, $uploads_destination); $destdir = __appbase\get_app()->get_destdir(); if( $destdir ) { $module_template_map = array( 'module_templates/navigator/Simplex_Main_Navigation.tpl' => $destdir . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'Navigator' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'Simplex_Main_Navigation.tpl', 'module_templates/navigator/Simplex_Footer_Navigation.tpl' => $destdir . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'Navigator' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'Simplex_Footer_Navigation.tpl', 'module_templates/search/Simplex_Search_template.tpl' => $destdir . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . 'Search' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'Simplex_Search_template.tpl', ); foreach( $module_template_map as $source_relative => $destination ) { $source = $profile_dir . DIRECTORY_SEPARATOR . str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $source_relative); if( !is_file($source) ) continue; default_profile_copy_file($source, $destination); } } include(__appbase\get_app()->get_install_dir() . DIRECTORY_SEPARATOR . 'extra.php'); ?> <?php return array( array( 'source' => 'uploads/simplex', 'destination' => 'uploads/simplex', 'mode' => 'tree', ), array( 'source' => 'module_templates/navigator/Simplex_Main_Navigation.tpl', 'destination' => 'modules/Navigator/templates/Simplex_Main_Navigation.tpl', 'mode' => 'file', ), array( 'source' => 'module_templates/navigator/Simplex_Footer_Navigation.tpl', 'destination' => 'modules/Navigator/templates/Simplex_Footer_Navigation.tpl', 'mode' => 'file', ), array( 'source' => 'module_templates/search/Simplex_Search_template.tpl', 'destination' => 'modules/Search/templates/Simplex_Search_template.tpl', 'mode' => 'file', ), ); <?php return array( array( 'name' => 'Minimal', 'description' => 'Minimal templates and stylesheets', ), array( 'name' => 'Simplex', 'description' => "Simplex Template is a HTML5 based theme, introduced with CMSMS 1.11 release and improved with 2.0 release.\nPurpose of this theme is to demonstrate what and how can be done with CMSMS Templates using HTML5 and responsive CSS for a better mobile experience.\nAll Smarty templates which are used by Simplex Theme are prefix with \"Simplex\", therefore be careful when renaming or deleting these templates.\nTheme itself is using jQuery, which is included with {cms_jquery} tag, the functions JavaScript file is minified, in case you wish to change some JavaScript functions, refer to /uploads/simplex/js/functions.js file and replace functions.min.js file.", 'default' => TRUE, ), array( 'name' => 'CSSMenu left + 1 column', 'description' => "This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn't a whole lot to say about it.", ), array( 'name' => 'CSSMenu top + 2 columns', 'description' => "This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.", ), array( 'name' => 'Left simple navigation + 1 column', 'description' => 'This template has the menu in left sidebar. The menu is using the Simple Navigation menu template. It is styled in the stylesheet called Navigation Simple - Vertical.', ), array( 'name' => 'NCleanBlue', 'description' => 'This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">  </li> this is used to hold the bottom image.', ), array( 'name' => 'ShadowMenu left + 1 column', 'description' => 'Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.', ), array( 'name' => 'ShadowMenu Tab + 2 columns', 'description' => 'Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.', ), array( 'name' => 'Top simple navigation + left subnavigation + 1 column', 'description' => 'With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left.', ), ); <?php return array( array( 'key' => 'home', 'name' => 'Home', 'menu_text' => 'Home', 'design' => 'Simplex', 'template' => 'Simplex', 'parent' => '-1', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'default_content' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0553_home.tpl'), ), array( 'key' => 'how_cmsms_works', 'name' => 'How CMSMS Works', 'menu_text' => 'How CMSMS Works', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => '-1', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0575_how-cmsms-works.tpl'), ), array( 'key' => 'templates_and_stylesheets', 'name' => 'Templates and stylesheets', 'menu_text' => 'Templates and stylesheets', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0593_templates-and-stylesheets.tpl'), ), array( 'key' => 'pages_and_navigation', 'name' => 'Pages and navigation', 'menu_text' => 'Pages and navigation', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0611_pages-and-navigation.tpl'), ), array( 'key' => 'content', 'name' => 'Content', 'menu_text' => 'Content', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0630_content.tpl'), ), array( 'key' => 'menu_manager', 'name' => 'Menu Manager', 'menu_text' => 'Menu Manager', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0648_menu-manager.tpl'), ), array( 'key' => 'extensions', 'name' => 'Extensions', 'menu_text' => 'Extensions', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0666_extensions.tpl'), ), array( 'key' => 'event_manager', 'name' => 'Event Manager', 'menu_text' => 'Event Manager', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0684_event-manager.tpl'), ), array( 'key' => 'workflow', 'name' => 'Workflow', 'menu_text' => 'Workflow', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0702_workflow.tpl'), ), array( 'key' => 'where_do_i_get_help', 'name' => 'Where do I get help?', 'menu_text' => 'Where do i get help?', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'how_cmsms_works', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0720_where-do-i-get-help.tpl'), ), array( 'key' => 'default_templates_explained', 'name' => 'Default Templates Explained', 'menu_text' => 'Default Templates Explained', 'alias' => 'default_templates', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => '-1', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0743_default-templates.tpl'), ), array( 'key' => 'cmsms_tags_in_templates', 'name' => 'CMSMS tags in the templates', 'menu_text' => 'CMSMS tags in the templates', 'alias' => 'cms_tags', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0762_cms-tags.tpl'), ), array( 'key' => 'left_simple_navigation', 'name' => 'Left simple navigation + 1 column', 'menu_text' => 'Left simple navigation + 1 column', 'alias' => 'navleft', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0781_navleft.tpl'), ), array( 'key' => 'top_simple_navigation', 'name' => 'Top simple navigation + left subnavigation + 1 column', 'menu_text' => 'Top simple navigation + left subnavigation + 1 column', 'alias' => 'top_left', 'design' => 'Top simple navigation + left subnavigation + 1 column', 'template' => 'Top simple navigation + left subnavigation + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0800_top-left.tpl'), ), array( 'key' => 'cssmenu_top_2_columns', 'name' => 'CSSMenu top + 2 columns', 'menu_text' => 'CSSMenu top + 2 columns', 'alias' => 'cssmenu_horizontal', 'design' => 'CSSMenu top + 2 columns', 'template' => 'CSSMenu top + 2 columns', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0819_cssmenu-horizontal.tpl'), 'blocks' => array( 'Sidebar' => 'pages/0821_cssmenu-horizontal_sidebar.tpl', ), ), array( 'key' => 'cssmenu_left_1_column', 'name' => 'CSSMenu left + 1 column', 'menu_text' => 'CSSMenu left + 1 column', 'alias' => 'cssmenu_vertical', 'design' => 'CSSMenu left + 1 column', 'template' => 'CSSMenu left + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0840_cssmenu-vertical.tpl'), ), array( 'key' => 'minimal_template', 'name' => 'Minimal template', 'menu_text' => 'Minimal template', 'design' => 'Minimal', 'template' => 'Minimal', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0858_minimal-template.tpl'), ), array( 'key' => 'higher_end', 'name' => 'Higher End', 'menu_text' => 'Higher End', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_templates_explained', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0876_higher-end.tpl'), ), array( 'key' => 'ncleanblue', 'name' => 'NCleanBlue', 'menu_text' => 'NCleanBlue', 'design' => 'NCleanBlue', 'template' => 'NCleanBlue', 'parent' => 'higher_end', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0894_ncleanblue.tpl'), ), array( 'key' => 'shadowmenu_tab_2_columns', 'name' => 'ShadowMenu Tab + 2 columns', 'menu_text' => 'ShadowMenu Tab + 2 columns', 'design' => 'ShadowMenu Tab + 2 columns', 'template' => 'ShadowMenu Tab + 2 columns', 'parent' => 'higher_end', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0912_shadowmenu-tab-2-columns.tpl'), 'blocks' => array( 'Sidebar' => 'pages/0914_shadowmenu-tab-2-columns_sidebar.tpl', ), ), array( 'key' => 'shadowmenu_left_1_column', 'name' => 'ShadowMenu Left + 1 column', 'menu_text' => 'ShadowMenu Left + 1 column', 'design' => 'ShadowMenu left + 1 column', 'template' => 'ShadowMenu left + 1 column', 'parent' => 'higher_end', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0932_shadowmenu-left-1-column.tpl'), ), array( 'key' => 'welcome_to_simplex', 'name' => 'Welcome to Simplex', 'menu_text' => 'Simplex Theme', 'design' => 'Simplex', 'template' => 'Simplex', 'parent' => 'higher_end', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0949_welcome-to-simplex.tpl'), ), array( 'key' => 'default_extensions', 'name' => 'Default Extensions', 'menu_text' => 'Default Extensions', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => '-1', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0971_default-extensions.tpl'), ), array( 'key' => 'modules', 'name' => 'Modules', 'menu_text' => 'Modules', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_extensions', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/0989_modules.tpl'), ), array( 'key' => 'news', 'name' => 'News', 'menu_text' => 'News', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1007_news.tpl'), ), array( 'key' => 'menu_manager_2', 'name' => 'Menu Manager', 'menu_text' => 'Menu Manager', 'alias' => 'menu-manager-2', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1026_menu-manager-2.tpl'), ), array( 'key' => 'theme_manager', 'name' => 'Theme Manager', 'menu_text' => 'Theme Manager', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1044_theme-manager.tpl'), ), array( 'key' => 'microtiny', 'name' => 'MicroTiny', 'menu_text' => 'MicroTiny', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1062_microtiny.tpl'), ), array( 'key' => 'search', 'name' => 'Search', 'menu_text' => 'Search', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1081_search.tpl'), ), array( 'key' => 'module_manager', 'name' => 'Module Manager', 'menu_text' => 'Module Manager', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'modules', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1100_module-manager.tpl'), ), array( 'key' => 'tags', 'name' => 'Tags', 'menu_text' => 'Tags', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'default_extensions', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1119_tags.tpl'), ), array( 'key' => 'tags_in_the_core', 'name' => 'Tags in the core', 'menu_text' => 'Tags in the core', 'alias' => 'cms_tags', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'tags', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1137_cms-tags.tpl'), ), array( 'key' => 'user_defined_tags', 'name' => 'User Defined Tags', 'menu_text' => 'User Defined Tags', 'design' => 'Left simple navigation + 1 column', 'template' => 'Left simple navigation + 1 column', 'parent' => 'tags', 'owner' => 1, 'active' => TRUE, 'show_in_menu' => TRUE, 'cachable' => TRUE, 'searchable' => 1, 'content' => array('en' => 'pages/1155_user-defined-tags.tpl'), ), ); <?php return array( array( 'name' => 'Handheld', 'description' => 'Stylesheet for older mobile devices', 'media_types' => 'handheld', 'source' => 'stylesheets/handheld.css', 'designs' => array('Left simple navigation + 1 column'), ), array( 'name' => 'Print', 'description' => 'Default stylesheet for print devices', 'media_types' => 'print', 'source' => 'stylesheets/print.css', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Simplex', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Accessibility and cross-browser tools', 'description' => 'Accessibility and cross-browser CSS rules attached to multiple Themes', 'media_types' => 'screen', 'source' => 'stylesheets/accessibility_crossbrowser.css', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Layout Left sidebar + 1 column', 'description' => 'CSS rules used for Layout Left sidebar + 1 column Design', 'media_types' => 'screen', 'source' => 'stylesheets/layout_left_sidebar_1col.css', 'designs' => array( 'CSSMenu left + 1 column', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', ), ), array( 'name' => 'Navigation CSSMenu - Vertical', 'description' => 'Navigation CSS rules used in CSSMenu left + 1 column Design', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_cssmenu_vertical.css', 'designs' => array('CSSMenu left + 1 column'), ), array( 'name' => 'Navigation CSSMenu - Horizontal', 'description' => 'Navigation CSS rules used in CSSMenu top + 2 columns Design', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_cssmenu_horizontal.css', 'designs' => array('CSSMenu top + 2 columns'), ), array( 'name' => 'Module News', 'description' => 'Default News module CSS rules used in multiple Designs', 'media_types' => 'screen', 'source' => 'stylesheets/module_news.css', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Navigation Simple - Horizontal', 'description' => 'Navigation CSS rules used in Top simple navigation + left subnavigation + 1 column and Left simple navigation + 1 column Designs', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_simple_horizontal.css', 'designs' => array('Top simple navigation + left subnavigation + 1 column'), ), array( 'name' => 'Layout Top menu + 2 columns', 'description' => 'Navigation CSS rules used in CSSMenu top + 2 columns, ShadowMenu Tab + 2 columns and Top simple navigation + left subnavigation + 1 column Designs', 'media_types' => 'screen', 'source' => 'stylesheets/layout_top_menu_2col.css', 'designs' => array( 'CSSMenu top + 2 columns', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Navigation Simple - Vertical', 'description' => 'Navigation CSS rules used in Left simple navigation + 1 column and Top simple navigation + left subnavigation + 1 column Designs', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_simple_vertical.css', 'designs' => array( 'Left simple navigation + 1 column', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Navigation ShadowMenu - Vertical', 'description' => 'Navigation CSS rules used in ShadowMenu left + 1 column Design', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_shadowmenu_vertical.css', 'designs' => array('ShadowMenu left + 1 column'), ), array( 'name' => 'Navigation FatFootMenu', 'description' => 'Footer navigation CSS rules used in CSSMenu left + 1 column, CSSMenu top + 2 columns, Left simple navigation + 1 column, ShadowMenu left + 1 column, ShadowMenu Tab + 2 columns and Top simple navigation + left subnavigation + 1 column', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_fatfootmenu.css', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'ncleanbluecore', 'description' => 'Grid CSS rules used in NCleanBlue Design', 'media_types' => 'screen', 'source' => 'stylesheets/ncleanblue_core.css', 'designs' => array('NCleanBlue'), ), array( 'name' => 'ncleanblueutils', 'description' => 'Reset and browser helper CSS style rules used in NCleanBlue Design', 'media_types' => 'screen', 'source' => 'stylesheets/ncleanblue_utils.css', 'designs' => array('NCleanBlue'), ), array( 'name' => 'Layout NCleanBlue', 'description' => 'Main layout rules used in NCleanBlue Design', 'media_types' => 'screen', 'source' => 'stylesheets/ncleanblue_layout.css', 'designs' => array('NCleanBlue'), ), array( 'name' => 'Simplex Core', 'description' => 'Simplex Theme core Stylesheet, containing 12 column grid system and HTML5 resets (normalize.css)', 'media_types' => 'screen', 'source' => 'stylesheets/simplex_core.css', 'designs' => array('Simplex'), ), array( 'name' => 'Simplex Layout', 'description' => 'Simplex Theme main layout Stylesheet', 'media_types' => 'screen', 'source' => 'stylesheets/simplex_layout.css', 'designs' => array('Simplex'), ), array( 'name' => 'Simplex Slideshow', 'description' => 'Simplex Theme Stylesheet for header slideshow', 'media_types' => 'screen', 'source' => 'stylesheets/simplex_slideshow.css', 'designs' => array('Simplex'), ), array( 'name' => 'Simplex Print', 'description' => 'Default Print style rules attached to Simplex Design', 'media_types' => 'print', 'source' => 'stylesheets/simplex_print.css', 'designs' => array('Simplex'), ), array( 'name' => 'Navigation ShadowMenu - Horizontal', 'description' => 'Navigation CSS rules used in ShadowMenu Tab + 2 columns Design', 'media_types' => 'screen', 'source' => 'stylesheets/navigation_shadowmenu_horizontal.css', 'designs' => array('ShadowMenu Tab + 2 columns'), ), ); <?php return array( array( 'originator' => 'core', 'name' => 'page', 'default' => TRUE, 'lang_callback' => 'CmsTemplateResource::page_type_lang_callback', 'content_callback' => 'CmsTemplateResource::reset_page_type_defaults', 'help_callback' => 'CmsTemplateResource::template_help_callback', 'reset_factory' => TRUE, 'content_block' => TRUE, ), array( 'originator' => 'core', 'name' => 'generic', 'lang_callback' => 'CmsTemplateResource::generic_type_lang_callback', 'help_callback' => 'CmsTemplateResource::template_help_callback', ), ); <?php return array( array( 'name' => 'footer', 'type' => 'generic', 'owner' => 1, 'source' => 'generic/footer.tpl', 'designs' => array( 'CSSMenu left + 1 column', 'CSSMenu top + 2 columns', 'Left simple navigation + 1 column', 'NCleanBlue', 'ShadowMenu left + 1 column', 'ShadowMenu Tab + 2 columns', 'Top simple navigation + left subnavigation + 1 column', ), ), array( 'name' => 'Minimal', 'type' => 'page', 'owner' => 1, 'description' => 'A Simple, minimal page template', 'source' => 'templates/minimal.tpl', 'designs' => array('Minimal'), ), array( 'name' => 'CSSMenu left + 1 column', 'type' => 'page', 'owner' => 1, 'description' => 'This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.', 'source' => 'templates/cssmenu_left_1col.tpl', 'designs' => array('CSSMenu left + 1 column'), ), array( 'name' => 'CSSMenu top + 2 columns', 'type' => 'page', 'owner' => 1, 'description' => 'This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.', 'source' => 'templates/cssmenu_top_2col.tpl', 'designs' => array('CSSMenu top + 2 columns'), ), array( 'name' => 'Left simple navigation + 1 column', 'type' => 'page', 'owner' => 1, 'description' => 'This template has the menu in left sidebar. The menu is using the Simple Navigation menu template. It is styled in the stylesheet called Navigation Simple - Vertical.', 'source' => 'templates/leftsimple_1col.tpl', 'designs' => array('Left simple navigation + 1 column'), ), array( 'name' => 'Top simple navigation + left subnavigation + 1 column', 'type' => 'page', 'owner' => 1, 'description' => 'With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left.', 'source' => 'templates/topsimple_leftsubnav_1col.tpl', 'designs' => array('Top simple navigation + left subnavigation + 1 column'), ), array( 'name' => 'ShadowMenu Tab + 2 columns', 'type' => 'page', 'owner' => 1, 'description' => 'Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.', 'source' => 'templates/shadowmenu_tab_2col.tpl', 'designs' => array('ShadowMenu Tab + 2 columns'), ), array( 'name' => 'ShadowMenu left + 1 column', 'type' => 'page', 'owner' => 1, 'description' => 'Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.', 'source' => 'templates/shadowmenu_left_1col.tpl', 'designs' => array('ShadowMenu left + 1 column'), ), array( 'name' => 'NCleanBlue', 'type' => 'page', 'owner' => 1, 'description' => 'This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">  </li> this is used to hold the bottom image.', 'source' => 'templates/ncleanblue.tpl', 'designs' => array('NCleanBlue'), ), array( 'name' => 'Simplex', 'type' => 'page', 'owner' => 1, 'description' => 'A HTML5 based responsive template', 'source' => 'templates/simplex.tpl', 'designs' => array('Simplex'), 'default' => TRUE, ), array( 'name' => 'Simplex Slideshow', 'type' => 'generic', 'owner' => 1, 'description' => "A sample slider for Simplex Theme.\nNote: required jQuery Framework is already included at the bottom of Simplex Page Template.\nIf any of Modules that you are going to use requires or adds additional jQuery Framework, remember to either remove jQuery Framework from Module template (for example Gallery module) or to move {cms_jquery} tag in Simplex Page Template to <head> section of template if needed.\nAll current Browser come with some kind of Developer Tools (usually F12 key) or you can also install Firebug in Firefox or Chrome, if some JavaScript function doesn't work your first step would be to open Developer Tools and look into console errors.", 'source' => 'generic/simplex_slideshow.tpl', 'designs' => array('Simplex'), ), array( 'name' => 'Simplex Footer', 'type' => 'generic', 'owner' => 1, 'description' => 'Custom footer section template for Simplex Theme', 'source' => 'generic/simplex_footer.tpl', 'designs' => array('Simplex'), ), ); {strip} {$main_id = ' id=\'footer-menu\''} {function do_footer_class} {if count($classes) > 0} class='{implode(' ',$classes)}'{/if} {/function} {function name='Simplex_footer_menu' depth='1'} <ul{$main_id}{if isset($ul_class) && $ul_class != ''} class="{$ul_class}"{/if}> {$main_id = ''} {$ul_class = ''} {foreach $data as $node} {* setup classes for the anchor and list item *} {$list_class = []} {$href_class = []} {if $node->current || $node->parent} {* this is the current page *} {$list_class[] = 'current'} {$href_class[] = 'current'} {/if} {if $node->children_exist} {$list_class[] = 'parent'} {/if} {* build the menu item node *} {if $node->type == 'sectionheader'} {$list_class[] = 'sectionheader'} <li{do_footer_class classes=$list_class}><span>{$node->menutext}</span> {if isset($node->children)} {Simplex_footer_menu data=$node->children depth=$depth+1} {/if} </li> {else if $node->type == 'separator'} {$list_class[] = 'separator'} <li{do_footer_class classes=$list_class}'><hr class='separator'/></li> {else} {* regular item *} <li{do_footer_class classes=$list_class}> <a{do_footer_class classes=$href_class} href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}</a> {if isset($node->children)} {Simplex_footer_menu data=$node->children depth=$depth+1} {/if} </li> {/if} {/foreach} </ul> {/function} {if isset($nodes)} {Simplex_footer_menu data=$nodes depth='0' ul_class='cf'} {/if} {/strip}{strip} {$main_id = ' id=\'main-menu\''} {function do_class} {if count($classes) > 0} class='{implode(' ',$classes)}'{/if} {/function} {function name='Simplex_menu' depth='1'} <ul{$main_id}{if isset($ul_class) && $ul_class != ''} class="{$ul_class}"{/if}> {$main_id = ''} {$ul_class = ''} {foreach $data as $node} {* setup classes for the anchor and list item *} {$list_class = []} {$href_class = ['cf']} {$parent_indicator = ''} {$aria_support = ''} {if $node->current || $node->parent} {* this is the current page *} {$list_class[] = 'current'} {$href_class[] = 'current'} {/if} {if $node->children_exist} {$list_class[] = 'parent'} {$aria_support = ' aria-haspopup=\'true\''} {$parent_indicator = ' <i class=\'icon-arrow-left\' aria-hidden=\'true\'></i>'} {/if} {* build the menu item node *} {if $node->type == 'sectionheader'} {$list_class[] = 'sectionheader'} <li{do_class classes=$list_class}{$aria_support}><span>{$node->menutext}{$parent_indicator}</span> {if isset($node->children)} {Simplex_menu data=$node->children depth=$depth+1} {/if} </li> {else if $node->type == 'separator'} {$list_class[] = 'separator'} <li{do_class classes=$list_class}'><hr class='separator'/></li> {else} {* regular item *} <li{do_class classes=$list_class}{$aria_support}> <a{do_class classes=$href_class} href='{$node->url}'{if $node->target != ''} target='{$node->target}'{/if}>{$node->menutext}{$parent_indicator}</a> {if isset($node->children)} {Simplex_menu data=$node->children depth=$depth+1} {/if} </li> {/if} {/foreach} </ul> {/function} {if isset($nodes)} {Simplex_menu data=$nodes depth='0' ul_class='cf'} {/if} {/strip}{* this is a sample detail template that works with the Simplex theme *} {* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *} {if isset($entry->canonical)} {assign var='canonical' value=$entry->canonical scope=global} {assign var='main_title' value=$entry->title scope=global} {/if} {* <h2>{$entry->title|cms_escape:htmlall}</h2> *} {if $entry->summary} {$entry->summary} {/if} {$entry->content} {if $entry->extra} {$extra_label} {$entry->extra} {/if} {if $return_url != ""} <br /> <span class='back'>← {$return_url}{if $category_name != ''} - {$category_link}{/if}</span> {/if} {if isset($entry->fields)} {foreach from=$entry->fields item='field'} <div> {if $field->type == 'file'} {* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *} <img src='{$entry->file_location}/{$field->value}' alt='' /> {else} {$field->name}: {$field->value} {/if} </div> {/foreach} {/if} <footer class='news-meta'> {if $entry->postdate} {$entry->postdate|cms_date_format} {/if} {if $entry->category} <strong>{$category_label}</strong> {$entry->category} {/if} {if $entry->author} <strong>{$author_label}</strong> {$entry->author} {/if} </footer> {strip} <!-- .news-summary wrapper --> <article class='news-summary'> <span class='heading'><span>News</span></span> <ul class='category-list cf'> {foreach from=$cats item='node'} {if $node.depth > $node.prevdepth} {repeat string='<ul>' times=$node.depth-$node.prevdepth} {elseif $node.depth < $node.prevdepth} {repeat string='</li></ul>' times=$node.prevdepth-$node.depth} </li> {elseif $node.index > 0}</li> {/if} <li{if $node.index == 0} class='first'{/if}> {if $node.count > 0} <a href='{$node.url}'>{$node.news_category_name}</a>{else}<span>{$node.news_category_name} </span>{/if} {/foreach} {repeat string='</li></ul>' times=$node.depth-1}</li> </ul> {foreach from=$items item='entry'} <!-- .news-article (wrapping each article) --> <section class='news-article'> <header> <h2><a href='{$entry->moreurl}' title='{$entry->title|cms_escape:htmlall}'>{$entry->title|cms_escape}</a></h2> <div class='meta cf'> <time class='date' datetime="{$entry->postdate|date_format:'Y-m-d'}"> <span class='day'> {$entry->postdate|date_format:'d'} </span> <span class='month'> {$entry->postdate|localedate_format:'%b'} </span> </time> <span class='author'> {$author_label} {$entry->author} </span> <span class='category'> {$category_label} {$entry->category}</span> </div> </header> {if $entry->summary} <p>{$entry->summary|strip_tags}</p> <span class='more'>{$entry->morelink} →</span> {else if $entry->content} <p>{$entry->content|strip_tags}</p> {/if} </section> <!-- .news-article //--> {/foreach} <!-- news pagination --> {if $pagecount > 1} <span class='paginate'> {if $pagenumber > 1} {$firstpage} {$prevpage} {/if} {$pagetext} {$pagenumber} {$oftext} {$pagecount} {if $pagenumber < $pagecount} {$nextpage} {$lastpage} {/if} </span> {/if} </article> <!-- .news-summary //--> {/strip} <div class='five-col search noprint' role='search'> {form_start action=dosearch method=$form_method returnid=$destpage inline=$inline} <label for='{$search_actionid}searchinput' class='visuallyhidden'>{$searchprompt}:</label> <input type='search' class='search-input' id='{$search_actionid}searchinput' name='{$search_actionid}searchinput' size='20' maxlength='50' value='' placeholder='{$searchtext}' /><i class='icon-search' aria-hidden='true'></i> {if isset($hidden)}{$hidden}{/if} {form_end} </div> <?php $content_list = array(); ContentOperations::get_instance()->LoadContentType('content'); ///////////////////////// // // HOME PAGE // // ///////////////////////// verbose_msg(ilang('install_createcontentpages')); // Home / -1 / NCleanBlue DEFAULT $contentobj = new Content; $contentobj->SetName('Home'); $contentobj->SetAlias(); $contentobj->SetMenuText('Home'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$simplex_theme->get_id()); $contentobj->SetTemplateId($template_list['Simplex']); $contentobj->SetDefaultContent(TRUE); // this is the default page. $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0553_home.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); /////////////////////////////// // // HOW CMSMS WORKS // // /////////////////////////////// // How CMSMS Works / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('How CMSMS Works'); $contentobj->SetAlias(); $contentobj->SetMenuText('How CMSMS Works'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0575_how-cmsms-works.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Templates and stylesheets / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Templates and stylesheets'); $contentobj->SetAlias(); $contentobj->SetMenuText('Templates and stylesheets'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0593_templates-and-stylesheets.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Pages and navigation / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Pages and navigation'); $contentobj->SetAlias(); $contentobj->SetMenuText('Pages and navigation'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0611_pages-and-navigation.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Content / How CMSMS Works / Left simple navigation + 1 column // Pages and navigation / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Content'); $contentobj->SetAlias(); $contentobj->SetMenuText('Content'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0630_content.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Menu Manager / How CMSMS Works / Left simple navigation + 1 column17 $contentobj = new Content; $contentobj->SetName('Menu Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Menu Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0648_menu-manager.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Extensions / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Extensions'); $contentobj->SetAlias(); $contentobj->SetMenuText('Extensions'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0666_extensions.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Event Manager / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Event Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Event Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0684_event-manager.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Workflow / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Workflow'); $contentobj->SetAlias(); $contentobj->SetMenuText('Workflow'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0702_workflow.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Where do I get Help / How CMSMS Works / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Where do I get help?'); $contentobj->SetAlias(); $contentobj->SetMenuText('Where do i get help?'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['How CMSMS Works']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0720_where-do-i-get-help.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); /////////////////////////////////////////// // // DEFAULT TEMPLATES EXPLAINED // // /////////////////////////////////////////// // Default Templates Explained / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Default Templates Explained'); $contentobj->SetAlias(); $contentobj->SetMenuText('Default Templates Explained'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('default_templates'); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0743_default-templates.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CMSMS tags in the templates / Default Templates Exlplained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('CMSMS tags in the templates'); $contentobj->SetAlias(); $contentobj->SetMenuText('CMSMS tags in the templates'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('cms_tags'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0762_cms-tags.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Left simple navigation + 1 column / Default Templates Explained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Left simple navigation + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('Left simple navigation + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('navleft'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0781_navleft.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Top simple navigation + left subnavigation + 1 column / Default Templates Explained / Top simple navigation + left subnavigation + 1 column $contentobj = new Content; $contentobj->SetName('Top simple navigation + left subnavigation + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('Top simple navigation + left subnavigation + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$topsimple_leftsubnav_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Top simple navigation + left subnavigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetAlias('top_left'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0800_top-left.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CSSMenu top + 2 columns / Default Templates Explained / CSSMenu top + 2 columns $contentobj = new Content; $contentobj->SetName('CSSMenu top + 2 columns'); $contentobj->SetAlias(); $contentobj->SetMenuText('CSSMenu top + 2 columns'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$css_menutop_2col_theme->get_id()); $contentobj->SetTemplateId($template_list['CSSMenu top + 2 columns']); $contentobj->SetOwner(1); $contentobj->SetAlias('cssmenu_horizontal'); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0819_cssmenu-horizontal.tpl')); $contentobj->SetPropertyValue('Sidebar', default_profile_read_asset('pages/0821_cssmenu-horizontal_sidebar.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // CSSMenu left + 1 column / Default Templates Explained / CSSMenu left + 1 column $contentobj = new Content; $contentobj->SetName('CSSMenu left + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('CSSMenu left + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$css_menuleft_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['CSSMenu left + 1 column']); $contentobj->SetAlias('cssmenu_vertical'); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0840_cssmenu-vertical.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Minimal template / Default Templates Explained / Minimal template $contentobj = new Content; $contentobj->SetName('Minimal template'); $contentobj->SetAlias(); $contentobj->SetMenuText('Minimal template'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$minimal_theme->get_id()); $contentobj->SetTemplateId($template_list['Minimal']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0858_minimal-template.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Higher End / Default Templates Explained / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Higher End'); $contentobj->SetAlias(); $contentobj->SetMenuText('Higher End'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Templates Explained']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0876_higher-end.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // NCleanBlue / Higher End / NCleanBlue $contentobj = new Content; $contentobj->SetName('NCleanBlue'); $contentobj->SetAlias(); $contentobj->SetMenuText('NCleanBlue'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$ncleanblue_theme->get_id()); $contentobj->SetTemplateId($template_list['NCleanBlue']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0894_ncleanblue.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // ShadowMenu Tab + 2 columns / Higher End / ShadowMenu Tab + 2 columns $contentobj = new Content; $contentobj->SetName('ShadowMenu Tab + 2 columns'); $contentobj->SetAlias(); $contentobj->SetMenuText('ShadowMenu Tab + 2 columns'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$shadowmenu_tab_2col_theme->get_id()); $contentobj->SetTemplateId($template_list['ShadowMenu Tab + 2 columns']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0912_shadowmenu-tab-2-columns.tpl')); $contentobj->SetPropertyValue('Sidebar', default_profile_read_asset('pages/0914_shadowmenu-tab-2-columns_sidebar.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // ShadowMenu left + 1 column / Higher End / ShadowMenu left + 1 column $contentobj = new Content; $contentobj->SetName('ShadowMenu Left + 1 column'); $contentobj->SetAlias(); $contentobj->SetMenuText('ShadowMenu Left + 1 column'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$shadowmenu_left_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['ShadowMenu left + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0932_shadowmenu-left-1-column.tpl')); // Welcome to Simplex / Default Templates Explained / Higher End / Simplex $contentobj = new Content; $contentobj->SetName('Welcome to Simplex'); $contentobj->SetAlias(); $contentobj->SetMenuText('Simplex Theme'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$simplex_theme->get_id()); $contentobj->SetTemplateId($template_list['Simplex']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Higher End']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0949_welcome-to-simplex.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); ////////////////////////////////// // // DEFAULT EXTENSIONS // // ////////////////////////////////// // Default Extensions / -1 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Default Extensions'); $contentobj->SetAlias(); $contentobj->SetMenuText('Default Extensions'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId(-1); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0971_default-extensions.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Modules / 24 / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Modules'); $contentobj->SetAlias(); $contentobj->SetMenuText('Modules'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Extensions']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/0989_modules.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // News / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('News'); $contentobj->SetAlias(); $contentobj->SetMenuText('News'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1007_news.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Menu Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Menu Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Menu Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetAlias('menu-manager-2'); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1026_menu-manager-2.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Theme Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Theme Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Theme Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1044_theme-manager.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // MicroTiny / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('MicroTiny'); $contentobj->SetAlias(); $contentobj->SetMenuText('MicroTiny'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1062_microtiny.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Search / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Search'); $contentobj->SetAlias(); $contentobj->SetMenuText('Search'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1081_search.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Module Manager / Modules / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Module Manager'); $contentobj->SetAlias(); $contentobj->SetMenuText('Module Manager'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Modules']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1100_module-manager.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Tags / Default Extensions / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Tags'); $contentobj->SetAlias(); $contentobj->SetMenuText('Tags'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Default Extensions']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1119_tags.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // Tags in the core / Tags / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('Tags in the core'); $contentobj->SetAlias('cms_tags'); $contentobj->SetMenuText('Tags in the core'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Tags']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1137_cms-tags.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); // User Defined Tags / Tags / Left simple navigation + 1 column $contentobj = new Content; $contentobj->SetName('User Defined Tags'); $contentobj->SetAlias(); $contentobj->SetMenuText('User Defined Tags'); $contentobj->SetPropertyValue('searchable',1); $contentobj->SetPropertyValue('design_id',$leftsimple_1col_theme->get_id()); $contentobj->SetTemplateId($template_list['Left simple navigation + 1 column']); $contentobj->SetOwner(1); $contentobj->SetParentId($content_list['Tags']); $contentobj->SetActive(TRUE); $contentobj->SetShowInMenu(TRUE); $contentobj->SetCachable(TRUE); $contentobj->SetPropertyValue('content_en', default_profile_read_asset('pages/1155_user-defined-tags.tpl')); $contentobj->Save(); $content_list[$contentobj->Name()] = $contentobj->Id(); <p>Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are <em>almost</em> ready to start building your site.</p><p>If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.</p><p>To get to the Administration Console you have to login as the administrator (with the username/password you mentioned during the installation process) on your site at http://yourwebsite.com/cmsmspath/admin. If this is your site click <a title="CMSMS Demo Admin Panel" href="admin">here</a> to login.</p><p>Read about how to use CMS Made Simple in the <a class="external" href="http://docs.cmsmadesimple.org/" title="CMS Made Simple Documentation" target="_blank">documentation</a>. In case you need any help the community is always at your service, in the <a class="external" href="http://forum.cmsmadesimple.org" title="CMS Made Simple Forum" target="_blank">forum</a> or the <a class="external" href="http://www.cmsmadesimple.org/support/irc" title="Information about the CMS Made Simple IRC channel" target="_blank">IRC</a>.</p><h3>License</h3><p>CMS Made Simple is released under the <a class="external" href="http://www.gnu.org/licenses/licenses.html#GPL" title="General Public License" target="_blank">GPL</a> license and as such you don't have to leave a link back to us in these templates or on your site as much as we would like it.</p><p> Some third party add-on modules may include additional license restrictions.</p><p>So how is a web-site created with CMS Made Simple? There are a couple of terms that are central to understanding this.</p><p>You first need to have templates, which is the HTML code for your pages. This is styled with CSS in one or more style sheets that are attached to each template. You then create pages that contain your websites content using one of these templates.</p><p>That doesn't sound too hard, does it? Basically you don't need to know any HTML or CSS to get a site up with CMS Made Simple. But if you want to customize it to your liking, consider learning some <a class="external" href="http://www.w3schools.com/css/" target="_blank">CSS</a>.</p><p>In the menu to the left you can read more about this, as well as more advanced features like the Menu Manager, additional extensions for adding many kinds of functionality to your site and the Event Manager for managing work flow. Last is a summary of the basic work flow when creating a site with CMS Made Simple.</p><p>A <em>template</em> is basically the HTML layout, or the design, of a page. This is the work of the designer. Whatever is in a template is used on every page that uses that template, meaning that the person editing the content doesn't need any web design skills.</p><p>In the template there are placeholders for content and navigation areas. When a user is visiting your site the page is automatically generated from the template and the placeholders are filled with the content.</p><p>The template is the HTML structure. It is then styled in one or more <em>style sheets</em> that are attached to each template. This styling is done with CSS. So to get a site look the way you want you should be familiar with HTML and CSS on at least a basic level. But don't worry, there are themes with ready-made templates and style sheets for you to download!</p><p>When you first install CMS Made Simple there are some basic templates that you can use and customize to your needs. Those templates are described in the section {cms_selflink page=default_templates text='Default Templates Explained'}. The designer of your site can also add new templates to make the site look any way you want. The CMSMS community also shares themes for anyone to download and use at <a class="external" href="http://themes.cmsmadesimple.org" target="_blank">The CMSMS Themes site</a>.</p><h3>Templates and style sheets in the CMSMS Admin Panel</h3><p>In the CMSMS Admin Panel you will find the templates and style sheets in the <strong>Layout</strong> menu.</p><p>Pages determine the structure of your web-site as seen in the admin Content » Pages page. Think of a web-site as a set of pages. These pages are accessed through a menu. You can also link to a page from within another page.</p><h3>Navigation/Menu</h3><p>The navigation, or the menu, is a set of links that help the user to navigate through the pages on your web site. These links are automatically created by CMS Made Simple from the page structure. This hierarchy is what drives the menu you see on the left of this page.</p><p>Pages can be in several levels, like a tree of generations. The top level in the menu are the parent pages. Each parent page can have children pages, which in turn can be parents to other children.</p><p>The page template determines where on a page the navigation is placed.</p><p>You can create any kind of navigation you can dream of by customizing a menu template for <em>Menu Manager</em>. However, the default templates should work for most situations as the menu basically is just an unordered list that you style to your liking with CSS. The web is full of good articles about styling a list of links, one of the best is <a class="external" href="http://css.maxdesign.com.au/listutorial/index.htm" target="_blank">listutorial at maxdesign</a></p><h3>Pages in the CMSMS Admin Panel</h3><p>You add pages, as well as other content (see next chapter), in the CMSMS Admin Panel from the Content » Pages menu.</p><p>The content is the information for the page. We have already mentioned that for each page on your site you choose what template to use. When you add content to a page, it is automatically placed in the placeholders of the template selected for that page.</p><p>A template can define one or several content areas, or content blocks. To add more content blocks to your template, use <code>{ldelim}content block='block name'}</code>. These blocks will then appear as text areas when you edit or add a page that uses that template.</p><p>You can make a content block use only one line, instead of a full text area, by using the parameter oneline=true. That is, the full tag being: <code>{ldelim}content block='block name' oneline=true}</code>. Read about more parameters in the help for the Content tag in the CMSMS Admin Panel, under Extensions » Tags.</p><h3>Content Types</h3><p>There are currently 6 main content types in version {cms_version} "{cms_versionname}". These content types determine the type of content for each menu item.</p><ul><li>Content</li><li>Error Page</li><li>External Page Link</li><li>Internal Page Link</li><li>Section Header</li><li>Separator</li></ul><p>The <strong>Content</strong> type is simply a regular page. Normally this is the only one you will use. That is what this page you are reading is. Here you can put any content that you would put on a regular page. The layout of these types of pages are controlled by the templates. For each <strong>content</strong> page you create you must add the title, menu text, choose if it is going to have a parent and choose a template for it. If you login as admin and change the template of this page, you will see exactly how it works.</p><p>The <strong>Error Page</strong> type is just what it sounds like, a page you set for "404 page not found" errors, where you can add the content that shows when a 404 error occurs, a target type and title, you can also choose the template it uses, it has no parent as it is not part of the menu.</p><p>The <strong>External Page Link</strong> type is just what it sounds like, a link to another external page and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has. This <strong>external page link</strong> type also shows up in the menu following the same hierarchy rules as the <strong>content</strong> type.</p><p>The <strong>Internal Page Link</strong> type is also just what it sounds like, a link to another internal page. This <strong>internal page link</strong> type also shows up in the menu following the same hierarchy rules as the <strong>content</strong> type and you add the title, menu text, choose if it is going to have a parent and a destination page along with the target setting and other options that a content type page has.</p><p>The <strong>Section Header</strong> type is used to break up menus into groupings (sections). This is unrelated to the hierarchy, as the section headers have no associated pages with them but can be used to group a set of links of similar content under them. They are just a little bit of text to say what the next few links are in reference to.</p><p>The <strong>Separator</strong> type is just what it sounds like, a separator that appears on the menus. This type follows the hierarchy set in content management pages.</p><p>The Menu Manager is a module that reads your page hierarchy and builds a navigation using a 'Menu Manager Template'. By default a few sample menu manager templates are included with your default installation. For most users these are enough, as a menu basically is just an unordered list that is styled with CSS.</p><p>The Menu Manager module also accepts various optional attributes (parameters) in the {ldelim}menu{rdelim} tag to allow you to customize its behavior. You can see the list and explanation of these parameters in the Menu Manager Help which can be found on the right side of the screen when you click on "Layout » Menu Manager" in the administration console.</p><p>Customizing templates in the Menu Manager is as simple as clicking the 'Import Template to Database' button, which will then allow you to create a template with a new name, and modify the layout of the template. You can use your new navigation template by specifying the new name in the call to {ldelim}menu{rdelim} in your page template. i.e: {ldelim}menu template='mynewtemplate'{rdelim}.</p><h3>Menu Manager in the CMSMS Admin Panel</h3><p>Read more about how to do this in the <strong>Help</strong> for the Menu Manager in the CMSMS Admin Panel. It can be found in the Layout menu.</p><p>There are three kinds of extensions, that can add many kinds of functionality to your default CMS Made Simple install. They are called tags, user defined tags, and modules.</p><h3>Tags</h3><p>Tags are the simplest form of extensions. They are designed to accomplish just one small and specific task.</p><p>There are a number of custom tags available with CMS Made Simple. To find what kind of tags are available look in Extensions » Tags in the Admin Panel.</p><p>To insert any of these in a template or a page, simply type e.g. <code>{ldelim}content}</code>. Many of these Smarty tags are used as placeholders in a template, i.e. placeholders for content, navigation, breadcrumbs etc.</p><p>Website developers who have a bit of PHP experience will find it easy to create and share their own custom tags.</p><h3>User defined tags</h3><p>Users can also create their own tags to insert in templates or pages., these are called user defined tags. They are snippets of php code (but without the <?php and ?> surrounding them), providing the ability to add re-usable pieces of php functionality to your site. User defined tags are inserted in templates and pages just like tags: <code>{ldelim}tagname}</code>.</p><p>Typically, user defined tags provide a utility that is special to a website, and likely won't need to be re-used on another site. Also they are typically small and used for simple tasks.</p><h3>Modules</h3><p>Modules are the highest level of plugin in the CMS Made Simple environment. They are designed to allow developers to implement complex tasks within CMSMS. A module typically provides advanced functionality, usually interacts with the database in complex ways, and may provide numerous reports or forms on the website. Additionally, a module may have an administrative interface to allow manipulating its data and its settings.</p><p>An extremely well defined API <em>(Application Programming Interface)</em> has been written to allow module developers to write complex, intricate, and fully functioning applications for use within a CMSMS powered website.</p><p>There are {cms_selflink page='modules' text='a few modules included'} with the default installation of CMS Made Simple. Other popular modules are Frontend Users, Album, Calendar, Guestbook and Form Builder.</p><p>The ModuleManager module (included with CMS Made Simple) allows browsing a list of available modules, reading about them, and then installing them on your website.</p><p>To insert modules in a template or a page, you actually use the module name as a parameter to the <code>{ldelim}cms_module}</code> tag. It looks like this: <code>{ldelim}cms_module module='modulename' parameter1='this' parameter2=5 parameter3='that'}</code>. It is normal for modules to accept parameters to effect changes to their default behavior, though it is not always required.</p><h3>Read more</h3><p>You can read more about extensions in the <a class="external" href="http://docs.cmsmadesimple.org/modules/add-ons">CMSMS documentation</a>.</p><p>Events are a new powerful way of assigning actions to events. For example if you would like to send an email to the site administrator when a new file is uploaded or a new page is created by another user you could add some code to those events to be executed when that event happens.</p><p>In brief here's how it works:</p><p>a) A module, or the core, can register, and then Send Events such as "newNews", or "newFronteEndUser" or "fileUploaded", "editPage", etc, etc, etc. there's some 50 events in the core at the moment, and then uploads and frontend users have been configured to send events, We still have to do selfreg, etc, etc, etc.</p><p>b) There are pages in the admin to allow you to specify which modules, and/or user tags should handle those events, and the order that each of those handlers should be called in.</p><p>c) If one of the handlers of an event is a module, then.... the modules DoEvent method is called with the name of the event, and whatever data it wants to send. Each triggered event needs to be documented, but as of this moment, most are.</p><p>These are the basic steps when creating a website with CMS Made Simple:</p><ol><li><em>Plan</em> -- Determine what pages you want (structure) and how you want these pages to look (design). </li><li><em>Create Templates</em> -- Create one or several template(s) that determine the layout of your pages. </li><li><em>Style the Templates</em> -- Attach one or more stylesheets to each template and style the layout and content with CSS. </li><li><em>Create Pages</em> -- Then you create pages, add content to them and select what template to use for each page. </li></ol><p>When a user navigates to your site the page is created from the template, adding the content where the placeholder(s) are in the template.</p><p>The CMS Made Simple community is always at your service if you need some help with your site. Here is where you find more information and support:</p><ul><li><a class="external" href="http://docs.cmsmadesimple.org/">The CMSMS Documentation Website</a> -- Start here, the documentation is maintained by the CMSMS Dev-team</li><li><a class="external" href="http://forum.cmsmadesimple.org/">The CMSMS Forums</a> -- here you can search for answers to your questions or ask just about anything.</li><li><a class="external" href="http://cmsmadesimple.org/main/support/IRC">IRC</a> -- IRC is short for Internet Relay Chat and is like a community chat. Many developers hang out here and others that are ready to discuss and give support.</li></ul><p>Please remember that people involved in developing and supporting CMSMS have day jobs and other duties and might not be available 24/7. Be patient and polite and you will get better answers.</p><p>Hope you will enjoy using CMS Made Simple for creating your web sites! If you want to contribute to the development yourself, you are very welcome to do so. You can contact us on <a class="external" href="http://cmsmadesimple.org/main/support/IRC">IRC</a> or hit the <a class="external" href="http://forum.cmsmadesimple.org/">forums</a> to get involved.</p><p>CMS Made Simple {cms_version} was installed with numerous default templates (you choose this during the installation process). These are to display some of the features of CMS Made Simple and to give you a head start when creating your own web sites.</p><p>The tags that are unique to templates in CMS Made Simple are described on the page {cms_selflink page='cmsms_tags' text='CMSMS tags in the templates'} (see menu to the left). Click on any link beneath that page in the menu to the left to see what the default templates look like.</p><h4>Changing the style of Default Templates</h4><p>All of the templates and style sheets have comments throughout them to help you find where to change the look of them.</p><h3>Menus/navigation</h3><p>Two kinds of navigation are used in these templates. For each there is a menu template in the Menu Manager. <strong>CSSMenu </strong>is a dropdown menu using only CSS. Well, for Internet Explorer 6 some JavaScript has to be used... Two of the page templates are using CSSMenu for navigation, {cms_selflink page='cssmenu_horizontal' text='one with the menu horizontally at the top'} and the other {cms_selflink page='cssmenu_vertical' text='with the menu vertically to the left'}.</p><p>The other navigation type is what we call <strong>Simple Navigation</strong>. That is just an unordered list that gets its style and appearance from the style sheets (CSS). Also here {cms_selflink page='top_left' text='one page template is using a horizontal simple navigation'} and the other {cms_selflink page='navleft' text='a vertical menu'}.</p><p>The menu tag in each template is used like this: <code>{ldelim}menu template='cssmenu'}</code>, where the <code>cssmenu</code> is the name of the Menu Manager template, if you make a custom menu template you don't need to use the on the end. More parameters can be used, for example to start a menu from the second level, collapse the children pages until the parent is clicked etc. Read more about that in the Menu Manager Help in the Admin Panel.</p><p>Here we explain the tags that are used in the default templates that are specific to templates in CMS Made Simple. The rest of the templates are just pure HTML. You can read more about that in the <a class="external" href="http://docs.cmsmadesimple.org/layout/create-your-own-template">documentation website</a>.</p><div class="templatecode"><h3>Page title</h3><pre><title>{ldelim}sitename} - {ldelim}title}</title></pre><p>For each page using these tags in a template the tags are replaced with the site name you specify in Site Admin » Global settings and the title you specify when you add/edit each page.</p><p><em>Read more</em> about the <code>{ldelim}sitename}</code> and <code>{ldelim}title}</code> tags in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Metadata</h3><pre>{ldelim}metadata}</pre><p>This tag adds to your page any metadata that you have specified in Site Admin » Global settings and also page specific metadata that you can add under the Options tab when adding/editing a page.</p><p>It is also used for knowing the base folder for your site when using pretty URLs. So don't remove this if you use Pretty URLs!</p><p><em>Read more</em> about the <code>{ldelim}metadata}</code>tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Stylesheets (deprecated)</h3><pre>{ldelim}stylesheet}</pre><p>This tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.</p><p><em>Read more</em> about the <code>{ldelim}stylesheet}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Stylesheets</h3><pre>{ldelim}cms_stylesheet}</pre><p>This tag is the newer version of the tag above. The tag links to all style sheets (CSS) that you have attached to a template. It means that you only have to add this tag once and all attached style sheets will be linked automatically.</p><p>The new tag allows you to use smarty variables like [[$red]] to indicate a color, and one change will change it througout your layout. The new tag requires that [[root_url]]/ be put in front of images, as the stylesheets are cached.</p><p><em>Read more</em> about the <code>{ldelim}cms_stylesheet}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Relational links</h3><pre>{ldelim}cms_selflink dir="start" rellink=1}{ldelim}cms_selflink dir="prev" rellink=1}{ldelim}cms_selflink dir="next" rellink=1}</pre><p>These are relational links for interconnections between pages, which is good for accessibility and Search Engine Optmization</p><p><em>Read more</em> about the <code>{ldelim}cms_selflink}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Page width in Internet Explorer 6</h3><pre>{ldelim}literal}<script type="text/JavaScript"><!--//pass min and max -measured against window widthfunction P7_MinMaxW(a,b){ldelim} var nw="auto",w=document.documentElement.clientWidth; if(w>=b){ldelim}nw=b+"px";}if(w<=a){ldelim}nw=a+"px";}return nw;}//--></script><!--[if lte IE 6]><style type="text/css">#pagewrapper {ldelim}width:expression(P7_MinMaxW(720,950));}#container {ldelim}height: 1%;}</style><![endif]-->{ldelim}/literal}</pre><p>This isn't a tag really, but displays how to insert JavaScript in a CMSMS template.</p><p>The default templates use fluid page width. But Internet Explorer 6 doesn't understand min-width and max-width, so for that browser the min and max page width is set with this JavaScript. For other browsers the page width is set in the style sheets beginning with "Layout ..."</p></div><div class="templatecode"><h3>Skip links for accessibility</h3><pre>{ldelim}anchor anchor='main' title='Skip to content' accesskey='s' text='Skip to content'}</pre><p>Anchor links (links to an anchor in the same page) are inserted with the <code>{ldelim}anchor}</code> tag. In the default templates this is used for skip links that are visible to screen readers, but hidden with CSS to visual browsers.</p><p><em>Read more</em> about the <code>{ldelim}anchor}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Header with logo image that links to default page</h3><pre>{ldelim}cms_selflink dir="start" text="$sitename"}</pre><p>In the header the <h1> tag (hidden by CSS) is a link to the page that is selected as the default page. The <code>dir="start"</code> parameter in the {ldelim}cms_selflink} tag is used for this. To get the site name as the text for the link, the <code>$sitename</code> variable is used.</p><p><em>Read more</em> about the <code>{ldelim}cms_selflink}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Search</h3><pre>{ldelim}search}</pre><p>To insert a search form on your site, simply use the {ldelim}search} tag. Search is actually a module and should therefore be called as a parameter in the {ldelim}cms_module} tag, like this: <code>{ldelim}cms_module module='search'}</code>. But to simplify matters, we did a wrapper tag so that it's easier to remember.</p><p><em>Read more</em> about the Search module in Extensions » Modules in the Admin Panel.</p></div><div class="templatecode"><h3>Breadcrumbs</h3><pre>{ldelim}breadcrumbs starttext='You are here' root='Home' delimiter='»'}</pre><p>Breadcrumbs is a path to the current page. In the default templates we have chosen to put the text 'You are here' before the path and force 'Home' to always be the root in the path, even if it isn't. With the delimiter parameter you can select the delimiter that separates entries in the path.</p><p><em>Read more</em> about the <code>{ldelim}breadcrumbs}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Navigation</h3><pre>{ldelim}menu template='simple navigation' collapse='1'}</pre><p>This is how you insert a menu where you want it to appear. Like the <code>{ldelim}search}</code> tag, this is actually just a wrapper tag, as the Menu Manager is a module.</p><p>In the default templates the menu manager template that is used for the menus are stored in files. That's why you see the .tpl extension in the template parameter. But you can easily import menu templates to the database and edit them directly in the Admin Panel. Then you simply omit the .tpl extension in the template parameter.</p><p><em>Read more</em> about the Menu Manager module in Extensions » Modules in the Admin Panel.</p></div><div class="templatecode"><h3>News</h3><pre>{ldelim}news number='3' detailpage='news'}</pre><p>This tag will display the last three news articles. When clicking a news article to read the details, it is opened on the page with the page alias 'news'. That's what the detailpage parameter is doing.</p><p>Like all core modules there is a wrapper tag for the News module, to make it easier to use.</p><p><em>Read more</em> about the News module tag in Extensions » News in the Admin Panel.</p></div><div class="templatecode"><h3>Print button</h3><pre>{ldelim}print showbutton=true script=true}</pre><p>The <code>{ldelim}print}</code> tag is used to insert a print link. With the showbutton parameter set to true we have told the tag to output a button instead of text. The script parameter set to true means the print dialog window opens when clicking the button, for immediate printing.</p><p>The <code>{ldelim}print}</code> tag prints everything that is in your <code>{ldelim}content}</code> tag, that is only the content for a page.</p><p><em>Read more</em> about the <code>{ldelim}print}</code> tag in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Page content</h3><pre><h2>{ldelim}title}</h2>{ldelim}content}</pre><p>Maybe the most important tag in your template. Where you put the <code>{ldelim}content}</code> is where the content for your page will appear.</p><p>We have also chosen to put the page title on every page (the <code>{ldelim}title}</code> tag), so that you don't have to put that in the content for every page.</p><p>The default <code>{ldelim}content}</code> tag is <strong>required</strong> for all templates.</p><p><em>Read more</em> about the <code>{ldelim}content}</code> and <code>{ldelim}title}</code> tags in Extensions » Tags in the Admin Panel.</p></div><div class="templatecode"><h3>Previous/next links</h3><pre>{ldelim}anchor anchor='main' text='^ Top'}{ldelim}cms_selflink dir="previous"}{ldelim}cms_selflink dir="next"}</pre><p>Some more internal links. These are using the dir parameter to link to the previous and next pages in the page hierarchy (separators and section headers will be omitted as they are no pages).</p></div><div class="templatecode"><h3>Page footer</h3><pre>{ldelim}global_content name='footer'}</pre><p>Instead of bloating your template with lots of code you can put some code in a Global Content Block. Then call that Global Content Block with the <code>{ldelim}global_content}</code> tag. It's also useful for content or HTML code that is reused on several pages or templates.</p><p>In the default templates we have put the footer text in a Global Content Block with the name 'footer'. You find the Global Content Blocks in the Content menu in the Admin Panel.</p><p><em>Read more</em> about the <code>{ldelim}global_content}</code> tag in Extensions » Tags in the Admin Panel.</p></div><p>This template has the menu in left sidebar. The menu is using the <strong>Simple Navigation</strong> menu template. It is styled in the stylesheet called <strong>Navigation Simple - Vertical</strong>.</p><p>You can easily float the sidebar with the menu to the right instead. Look in the <strong>Layout Left sidebar + 1 column</strong> style sheet for the <code>float:left;</code> property in the <code>div#sidebar</code> element. Change that to <code>float:right;</code> and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.</p><p>With the Menu Manager you can easily split the navigation in two parts. On this page the top level in the page hierarchy is displayed horizontally and depending on what page is displayed a localized sub-menu is displayed vertically to the left. In this case the sub-menu to the left displays the sub-levels (children) to <strong>Default Templates Explained</strong>.</p><h3>The {ldelim}menu} tag</h3><p>The <code>{ldelim}menu}</code> tag is inserted twice in the page template. First where the main navigation is, which should only show the top level. It looks like this: <code>{ldelim}menu template='Simple Navigation' number_of_levels='1'}</code>.</p><p>The sub navigation should only contain the second level and down, depending on what is selected on the first level. Also, the third level links should only display when its parent on the second level is clicked, otherwise they are hidden. That is, the second level is collapsed unless the current page has sub pages.</p><p>The tag for the sub navigation looks like this: <code>{ldelim}menu template='simple_navigation.tpl' start_level='2' collapse='1'}</code>.</p><h3>Attached style sheets for the menu</h3><p>As the main navigation and the sub navigation need to be styled differently (one horizontal, the other vertical), two navigation style sheets are attached to this page template. <strong>Navigation Simple - Horizontal</strong> is for styling the horizontal main menu. <strong>Navigation Simple - Vertical</strong> on the other hand, contains the style for the sub navigation to the left.</p><h3>Both using the same Menu Manager template</h3><p>However, as you could see, both parts of the navigation are using the same menu manager template. That is because the output code is the same. It is only through CSS that the two parts get styled differently.</p><h3>Floating the sidebar to the right</h3><p>You can easily float the sidebar with the sub navigation to the right instead. Look in the <strong>Layout Top menu + 2 columns</strong> style sheet for the <code>float:left;</code> property in the <code>div#sidebar</code> element. Change that to <code>float:right;</code> and the sidebar with the menu will instead be on the right side of the content, of course you will also have to adjust the margins for the sidebar and the div#main, basically just swap the left and right margins.</p><p>This is a drop-down menu that is using only CSS (although some Javascript is required for Internet Explorer 6, note: IE6 will not let you use 2 of these menu types in a template at the same time as the second one will fail to open). It can be either vertical or horizontal.</p><p>The code we have inserted in the template that this page is using is simply <code>{ldelim}menu template='cssmenu.tpl'}</code>. You style the menu in the stylesheet <strong>Navigation CSSMenu - Horizontal</strong> or <strong>Navigation CSSMenu - Vertical</strong> for the vertical CSSMenu.</p><p>But to be on the safe side, copy this style sheet and attach your new style sheet to the template instead (and make your changes in your new style sheet). Then you can always revert to the default style sheet if something goes wrong.</p><p>Just some test content goes here as an example of a very long sentence that probably should have been divided into several smaller sentences, were it not for this just being a test sentence on one of the default pages of CMS Made Simple, an excellent Content Management System for easily creating web sites, this sentence is added when adding/editing a page in the Sidebar: text area, this comes from the template place holder {ldelim}content block='Sidebar'}.</p><p>This is basically the same as the last one, CSSMenu top + 2 column, with the menu on the left instead of across the top there isn't a whole lot to say about it.</p><h3>Filler Text</h3><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut ac leo in lorem ultricies sollicitudin. Vivamus molestie elit nec nulla. Suspendisse potenti. Suspendisse at lorem. Donec pulvinar, magna eget molestie pretium, justo sem iaculis urna, eget condimentum nibh augue pellentesque arcu. Integer tristique tempor mauris. Sed justo orci, commodo volutpat, sagittis vitae, varius vitae, massa. Maecenas pede ligula, iaculis sit amet, pharetra eu, adipiscing consectetuer, eros. Duis ullamcorper nisl ac magna. Nunc neque dolor, posuere dapibus, convallis non, tristique sed, nibh. Suspendisse quis leo. Phasellus pretium erat ut purus. Duis facilisis consectetuer sapien. Nulla eget pede ut nisl faucibus consequat. Quisque erat lectus, luctus in, pellentesque ac, adipiscing eu, enim. Donec ultrices laoreet urna.</p><h3>Subheading</h3><p>Vestibulum vitae tellus. Fusce quis ligula. Cras mi. Mauris congue, lacus eget rhoncus venenatis, mi nunc volutpat nisl, ut ornare erat augue quis mauris. Nulla in sem. Donec semper odio ac ante. Cras a libero in risus mattis commodo. Phasellus pellentesque lectus. Donec a mi. Integer euismod neque at arcu. Morbi ligula nulla, dapibus nec, fermentum ut, tristique vel, pede. Morbi at diam. Vestibulum quam. Cras consectetuer wisi id neque. Etiam dictum vulputate ligula. Aliquam erat volutpat. Proin vitae lorem in justo imperdiet nonummy. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse leo. Sed in eros ut lectus lacinia condimentum.</p><p>This is an example of the very minimal that needs to be in a CMSMS template. No stylesheet is attached to the template, which is why it doesn't look very nice...</p><p>However, to make it slightly more appealing, some inline styling was used, for floating the content to the right of the menu.</p><p>The menu in this page template is using the <strong>Minimal Navigation</strong> template for Menu Manager. No accessibility stuff is in there, so it's recommended that the <strong>Simple Navigation</strong> menu template is rather used.</p><p>These are more complex then some of the other templates, especially the menus, they all 3 use the same menu template. Which shows you the power of CSS.</p><p>Be forewarned, if you use IE6 you won't see the best effects in any of the shadow menus that you see using a more standards compliant browser. I mean it's still nice grant you but... just upgrade your browser if you can.</p><h3>The Differences</h3><p>Starting with NCleanBlue you get a really nice, subtle Tabbed menu, then it goes on to have a real nice drop down effect.</p><p>You get a real nice 2.0 header and footer, great color scheme and the search is way cool, it's just a great theme, what can I say, thanks Nuno.</p><p>Then the next 2 submenus have another version of the shadowed drop, the first step will point up for the top sub menu and to the right for the left sub menus.</p><p>These 2 are the same layout as CSSMenu top + 2 columns and CSSMenu left + 1 column, respectively, except for the menu template and some CSS.</p><p>We hope you enjoy these, for any changes you want to make it's always best to copy the original style sheet for safe keeping, you never know when you may need it.</p><p>Nuno has graciously supplied us with another of his great looking designs.</p><p>This one is using a new menu template so we can style the drop down for the children pages, using an image for the second ul going from the top down, it has an extra li at the bottom of the child pages ul <li class="separator once" style="list-style-type: none;">&nbsp; </li> this is used to hold the bottom image.</p><h3>Filler Text</h3><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p><p>Using the same menu template as the previous theme. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the difference in the second level and third level ul images, one has an arrow up and the other has an arrow left.</p><h3>Filler Text</h3><p>Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.</p><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p><h4>Filler Text</h4><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras sodales gravida est. Nullam enim ipsum, convallis quis, iaculis quis, facilisis eu, felis. Proin euismod hendrerit tortor. Aliquam erat volutpat. Morbi tempus diam sit amet neque. Sed sem metus, sagittis vel, lobortis ac, tempus sit amet, wisi. Phasellus in diam. Maecenas ultrices rutrum mauris. Vestibulum dolor justo, blandit a, posuere quis, varius at, tellus. Vestibulum convallis. Nulla ut leo sed elit eleifend varius. Aenean eget est id lorem posuere laoreet.</p><p>Again using the same menu template as the two previous themes. We changed the child ul CSS to use a different top image. This involves changing some of the margin and padding as the images are a different shape. Note the second level and third level ul are now using the same image that has an arrow left.</p><h3>Filler Text</h3><p>Curabitur ornare velit molestie nulla. Fusce fermentum facilisis mi. Maecenas volutpat, eros ac pellentesque mollis, urna elit rutrum turpis, congue convallis nibh erat nec purus. Sed malesuada consectetuer turpis. Nulla sollicitudin placerat augue. Vestibulum ut sem eget turpis laoreet cursus. Vestibulum ante urna, mollis eget, cursus eget, viverra non, lectus. Aliquam erat volutpat. Aenean gravida tempor nulla. Sed sem lorem, pulvinar non, placerat non, vestibulum sed, tellus. Phasellus fermentum velit id dui. Praesent vulputate. Nam in dui.</p><p>Maecenas tristique, tortor nec eleifend luctus, nibh leo imperdiet wisi, et accumsan est lectus in orci. Proin facilisis, odio auctor feugiat accumsan, sapien purus iaculis dui, a volutpat augue pede ut sem. Nulla facilisi. Aliquam suscipit elementum ipsum. Morbi urna. Nam eros justo, varius sit amet, euismod eu, dictum nec, neque. Nullam id mi eu odio tempor adipiscing. Quisque hendrerit euismod nunc. Ut erat nulla, pellentesque nec, luctus eu, dictum nec, augue. Aliquam tincidunt sodales arcu. Nam porta sagittis quam. Vivamus eget purus egestas velit congue consectetuer.</p><p>Simplex Theme has been created to demonstrate HTML5 and CSS3 functionality within CMS Made Simple™.<br />It is shipped with a CSS Framework making it possible for you to create Responsive and Mobile capabale layouts with ease.</p><h2>What is included?</h2><p>With this Template you will find four Stylesheets attached to it.</p><ul><li>Simplex Core</li><li>Simplex Layout</li><li>Simplex Mobile</li><li>Simplex Print</li></ul><p>Main Functionality of this Template is included in Core Stylesheet. It contains a simple Fluid Grid Framework based on <a class="external" href="http://960.gs/" title="960 Grid System" target="_blank">960 Grid System</a>.<br />In this same Stylesheet CSS <a class="external" href="http://www.w3.org/TR/css3-mediaqueries/" title="W3C Media Queries" target="_blank">Media Queries</a> are being used that make it possible for a flexible layout based on Screen width.<br /><br />With Simplex Theme it is very easy to quickly change appearance of complete Site at once. If you look at Page Template code you will find "boxed" id in the <code><body></code> tag.<br />When this id is removed the Layout of the Site is changed and you would face a simple layout with White background.<br />You can also quickly change allignement of the complete Site. If you change the class of "wrapper" div to leftaligned or rightaligned, whole Page will be aligned to left or right.</p><h2>Support for Mobile Devices</h2><p>As mentioned above this Theme is shipped with Stylesheet Framework that gives you a starting point for easy developement of Responsive Layout.<br />Mobile world is very versatile and Framework itself is by no means perfect, it is only a starting point but as a Developer you should decide which technique you should use for your current Project.<br />Responsive Template is only one small step towards Mobile support.</p><p>This Theme requires <a class="external" href="http://jquery.org/" title="jQuery" target="_blank">jQuery</a> which is included with <code>{ldelim}cms_jquery{rdelim}</code> tag.</p><p><cite>Note: {ldelim}cms_jquery{rdelim} tag is included at the bottom of the Template. You should be carefull with it when you are using Modules that include jQuery in <head> section.</cite></p><p>In file functions.js a section is included that makes it possible of Navigating through site with some Mobile Devices. This part of the code, covers only few devices and it is only meant as an example and a starting point for Developer.</p><h2>This and that</h2><p>As an example of <a class="external" href="http://www.smarty.net/" title="Smarty" target="_blank">Smarty</a> power within CMS Made Simple™ Templates a very simple Slider has been included, which demonstartes how easy it is to quickly create a Slideshow without a single Module.</p><pre><code>{ldelim}assign var='teaser' value='uploads/simplex/teaser/*.jpg'|glob{rdelim}<br />{ldelim}foreach from=$teaser item='one'{rdelim}<br /> <div><img src='{ldelim}root_url{rdelim}/{ldelim}$one{rdelim}' width='852' height='275' alt='' /></div><br />{ldelim}/foreach{rdelim}<br /> {/strip}</code></pre><p><cite>If you would like to make this Slider responsive you should include a additional jQuery Plugin like for example <a class="external" href="http://swipejs.com" target="_blank" title="SwipeJS">SwipeJS</a></cite></p><p>In included Stylesheets, Smarty has been used as well. This should make it possible for you, to quickly change Color scheme of the theme by simply changing HEX code within assign Tags.</p><pre><code>[[assign var='boxed_bg' value="#d1d1d1 url(`$path`/boxed-bg.gif)"]][[assign var='light_grey' value='#f1f1f1']]<br />[[assign var='grey' value='#e9e9e9']]<br />[[assign var='dark_grey' value='#555']]<br />[[assign var='white' value='#fff']]<br />[[assign var='orange' value='#f39c2c']]<br />[[assign var='dark_orange' value='#e6870e']]<br />[[assign var='yellow' value='#fdbd34']]</code></pre><p>If you are using a modern Browser, you will notice that the Theme is using some of <a class="external" href="http://www.w3.org/TR/CSS/#css3" title="CSS3" target="_blank">CSS3</a> techniques. There are no Internet Explorer fallbacks included but this doesn't mean that it does not work in Internet Explorer.<br />A Visitor that is using Internet Explorer will simply see a Layout with gracefull fallback, meaning animations will not animate, rounded corners will be edges...</p><p><em>Note from Theme Develper Goran Ilic (uniqu3e):</em></p><blockquote><cite>The Simplex Theme was kept simplistic which should make it possible for a Developer to easily read code used in Theme and either create a new Layout from it or editing this Theme.<br /><br />A full Internet Explorer or Mobile support was intentionally not included, as each Developer should decide how far a old Browser like Internet Explorer (7,8) or which Mobile devices he wants to support and which Technique he will use.<br />Each Project is different and with each Project there is a need for different techniques.</cite></blockquote><p>With the default installation of CMS Made Simple come six modules and a number of tags. The features of these are described and displayed on the following pages.</p><p>To find out more about the core modules, click {cms_selflink page='modules' text='Modules'}. For an explanation the core tags, simply click {cms_selflink page='tags' text='Tags'}.</p><p>There are six modules that come with the default installation of CMS Made Simple. On the following pages we explain how these are used. Click on each module name in the menu to the left or in the list below.</p><p>To insert a module in a template or a page you normally use the <code>{ldelim}cms_module}</code> tag with the module name as one of the parameters. But to simplify things, all core modules also have a tag wrapper, so that they are called simple by their name, like <code>{ldelim}news}</code>.</p><ul><li>{cms_selflink page='news' text='News'}</li><li>{cms_selflink page='menu-manager-2' text='Menu Manager'}</li><li>{cms_selflink page='theme-manager' text='Theme Manager'}</li><li>{cms_selflink page='microtiny' text='MicroTiny'}</li><li>{cms_selflink page='search' text='Search'}</li><li>{cms_selflink page='module-manager' text='Module Manager'}</li></ul><p>Most web sites have a section for the latest news. In CMS Made Simple the best way to accomplish that is by using the News module.</p><p>To display a list of news items you insert the tag <code>{ldelim}news number='5' category='General'}</code>. On this page the tag is inserted in the template. But it can also be inserted on a page. You can see the News module in use in the sidebar to the left.</p><p>There are a number of parameters that can be used in conjunction with this tag. To read about how a module is used, navigate to Extensions » Modules in the Admin Panel and click on "Help" for the module you want to read about.</p><p>The Menu Manager has already been explained on the How CMSMS Works » {cms_selflink page='menu-manager' text='Menu Manager'} page. It is a very powerful module that can be used for any kind of navigation system on your web site.</p><p>The Theme Manager module allows you to import and export templates and their attached stylesheets, including any images they use, as "themes". This allows you to share your look and feel with other CMSMS users.</p><p>It is very easy to convert any kind of template to be used with CMS Made Simple. Many templates like this have already been converted and can be installed using the Theme Manager, the CMSMS community also shares themes for anyone to download and use at the <a class="external" target="_blank" href="http://themes.cmsmadesimple.org">CMSMS Themes site</a>.</p><p>MicroTiny is a so called WYSIWYG editor for editing pages. WYSIWYG stands for What You See Is What You Get. It works similar to a word processor, where you can select the style for the content and see how it is going to look on the page.</p><p>Among available WYSIWYG editors CMS Made Simple has decided to use MicroTiny (the stripped down version of TinyMCE). TinyMCE is among the most developed WYSIWYG editors, with regular updates, a large following and customizable features.</p><p>However, it is very difficult to create a cross-browser online editor that works in all different kinds of environments. If you are familiar with HTML you can select no WYSIWYG in My Preferences » User Preferences in the Admin Panel. That gives you more control over the code that will be on the page.</p><p>There are also other WYSIWYG editor modules available for download.</p><p>Search is a module for searching "core" content along with certain registered modules. You put in a word or two and it gives you back matching, relevant results.</p><p>You can see the search module in use in the default templates, like on this page. Simply put <code>{ldelim}search}</code> in your template, where you want the search form to appear. If you want the results of a search to appear on a different page, you can specify this with the parameter <code>resultpage='page alias'</code>.</p><p>For more information, see the Search module in the Admin Panel, in the Extensions menu.</p><p>A client for the ModuleRepository, this module allows you to see what modules are available, the version number, size, and Status/Action (whether it is already installed or not), read the Help and About for each module, letting you install modules from remote sites without the need for FTP'ing, or unzipping archives. Module XML files are downloaded using SOAP, integrity verified, and then expanded automatically.</p><p>ModuleManager now checks dependencies. When dependencies are set, the module wont install until dependencies are met. Also a new tab is available, that shows newer versions of installed modules.</p><p>In short, this means that you can download and install modules directly from the Admin Panel. Any module that has been released as an XML file can be downloaded and installed. Go to Extensions » Module Manager in the Admin Panel to see the list of modules from the official CMSMS repository in the CMSMS Development Forge.</p><p>There are a number of custom tags included with the default CMS Made Simple installation. They are all described and demonstrated in the following page, and user defined tags are in the next one.</p><p>To use a tag, simply put it in the template or page like this: {ldelim}nameoftag}. Some tags can also take parameters, which are described in the Help that is accessible for each tag in Extensions » Tags in the Admin Panel.</p><p>There are plenty of tags included with the CMSMS core. Some of them are demonstrated here, for any questions as to the parameters they can take or anything else please see the Tags Help.</p><h3>{ldelim}anchor}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}anchor anchor='here' text='Scroll Down' class='myclass' title='mytitle' tabindex='1' accesskey='s'}</code></dd> <dt>Display</dt> <dd>Creates a link to an anchor on the same page. Used for example for the ^Top link at the bottom of this page.</dd> </dl><h3>{ldelim}cms_breadcrumbs{rdelim}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_breadcrumbs root='Home'{rdelim}</code></dd> <dt>Display</dt> <dd>Breadcrumbs are a navigational technique displaying all visited pages leading from the home page to the currently viewed page. You find it under the header on this page.</dd></dl><h3>{ldelim}cms_module}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_module module='somemodulename' param1='something' param2=true}</code></dd> <dt>Display</dt> <dd>This tag is used to insert modules into your templates and pages. Used for any module that you download. In the default templates, wrapper tags are used for inserting modules though. That is, a tag is made to insert a cms_module tag.</dd> </dl><h3>{ldelim}cms_selflink}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_selflink page="1"}</code> or <code>{ldelim}cms_selflink page="alias"}</code></dd> <dt>Display</dt> <dd>Creates a link to another CMSMS content page inside your template or content. Can also be used for external links with the ext parameter. </dd> <dt>Example</dt> <dd>{cms_selflink page='modules' text='Link to the modules page'} </dd> <dd><a class="external" href="http://www.cmsmadesimple.org">This is an external link to the CMS Made Simple website</a></dd> </dl><h3>{ldelim}cms_version}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_version}</code></dd> <dt>Display</dt> <dd>Displays current version number of CMS Made Simple. </dd> <dt>Example</dt> <dd>See the footer on this page.</dd> </dl><h3>{ldelim}cms_versionname}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}cms_versionname}</code></dd> <dt>Display</dt> <dd>Displays current version name of CMS Made Simple. </dd> <dt>Example</dt> <dd>See the footer on this page.</dd> </dl><h3>{ldelim}current_date}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}current_date format="%A %d-%b-%y %T %Z"}</code></dd> <dt>Display</dt> <dd>Prints the current date and time.</dd> <dt>Example</dt> <dd>{current_date format="%A %d-%b-%y %T %Z"}</dd> </dl><h3>{ldelim}embed}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}embed url="http://www.cmsmadesimple.org"}</code></dd> <dt>Display</dt> <dd>Enable inclusion (embeding) of any other application into the CMS. The most usual use could be a forum. </dd> </dl><h3>{ldelim}global_content}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}global_content name='footer'}</code></dd> <dt>Display</dt> <dd>Inserts a Global Content Block (previously known as HTML blob) into your template or page. The code for the footer of this page is in a Global Content Block. </dd> </dl><h3>{ldelim}menu_text}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}menu_text}</code></dd> <dt>Display</dt> <dd>Prints the menu text of the page.</dd> <dt>Example</dt> <dd>{menu_text}</dd> </dl><h3>{ldelim}modified_date}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}modified_date format="%A %d-%b-%y %T %Z"}</code></dd> <dt>Display</dt> <dd>Prints the date and time the page was last modified. </dd> <dt>Example</dt> <dd>{modified_date format="%A %d-%b-%y %T %Z"}</dd> </dl><h3>{ldelim}print}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}CMSPrinting}</code></dd> <dt>Display</dt> <dd>Creates a link to only the content of the page.</dd> <dt>Example</dt> <dd>{ldelim}CMSPrinting}</dd> </dl><h3>{ldelim}site_mapper}</h3><dl> <dt>Syntax used</dt> <dd><code>{ldelim}site_mapper}</code></dd> <dt>Display</dt> <dd>Prints out a sitemap.</dd> <dt>Example</dt> <dd>{site_mapper}</dd> </dl><p>One of the little known features of CMS Made Simple is the User Defined tag. Basically, this allows you to write PHP code inside the Admin Panel. Use the 'Add User Defined Tag' button in Extension » User Defined Tags in the Admin Panel, write some code, and then insert into a template or page with {literal}{newpluginname}{/literal}. Simple!</p><p>As an example, I've put together a one line plugin/tag that will show your current User Agent information (which browser you're using). The output is right here: <strong>{user_agent}</strong>.</p><p>If you're not looking at the source, all that is in the page is {literal}{user_agent}{/literal}. To see how this code works, edit the user_agent tag in the Extensions » User Defined Tags page of the admin.</p><p>This is a VERY powerful feature if used right. Remember, user defined tags do not get cached, therefore, scripts to rotate ad banners and such will work just fine. Note also that tag code has to be written <em>without</em> opening < ? php and ending ? > tags.</p><?php include_once($profile_dir . DIRECTORY_SEPARATOR . 'profile_helpers.php'); if( !function_exists('default_profile_upsert_design_template') ) { function default_profile_upsert_design_template($name, $type_name, $source_path, $design_name) { $content = default_profile_read_asset($source_path); try { $template = \CmsLayoutTemplate::load($name); } catch( \Exception $e ) { $template = new \CmsLayoutTemplate(); $template->set_name($name); $template->set_owner(1); } $template->set_content($content); $template->set_type(\CmsLayoutTemplateType::load($type_name)); if( $design_name ) { $template->add_design($design_name); } $template->save(); } } if( !function_exists('default_profile_try_design_template') ) { function default_profile_try_design_template($name, $type_name, $source_path, $design_name) { try { default_profile_upsert_design_template($name, $type_name, $source_path, $design_name); } catch( \Exception $e ) { return FALSE; } return TRUE; } } default_profile_upsert_design_template( 'Simplex Main Navigation', 'Navigator::navigation', 'module_templates/navigator/Simplex_Main_Navigation.tpl', 'Simplex' ); default_profile_upsert_design_template( 'Simplex Footer Navigation', 'Navigator::navigation', 'module_templates/navigator/Simplex_Footer_Navigation.tpl', 'Simplex' ); default_profile_upsert_design_template( 'Simplex Search', 'Search::searchform', 'module_templates/search/Simplex_Search_template.tpl', 'Simplex' ); default_profile_try_design_template( 'Simplex News Summary', 'News::summary', 'module_templates/news/Summary_Simplex_template.tpl', 'Simplex' ); default_profile_try_design_template( 'Simplex News Detail', 'News::detail', 'module_templates/news/Simplex_Detail_template.tpl', 'Simplex' ); ?> { "name": "Default", "description": "Installs the full starter site with example pages, multiple sample designs, navigation examples and editable demo content for learning or quick evaluation.", "default_selected": true, "manifest_files": { "designs": "manifest/designs.php", "template_types": "manifest/template_types.php", "templates": "manifest/templates.php", "stylesheets": "manifest/stylesheets.php", "pages": "manifest/pages.php", "copies": "manifest/copies.php" } } <?php if( !function_exists('default_profile_read_asset') ) { function default_profile_read_asset($relative_path) { global $profile_dir; $relative_path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $relative_path); $filename = $profile_dir . DIRECTORY_SEPARATOR . $relative_path; if( !is_file($filename) ) { throw new RuntimeException('Missing default profile asset: '.$filename); } return file_get_contents($filename); } } if( !function_exists('default_profile_copy_tree') ) { function default_profile_copy_tree($source, $destination) { if( !is_dir($source) ) return; if( !is_dir($destination) ) { if( !@mkdir($destination, 0777, TRUE) && !is_dir($destination) ) { throw new RuntimeException('Could not create default profile directory: '.$destination); } } $dh = opendir($source); if( !$dh ) { throw new RuntimeException('Could not read default profile directory: '.$source); } while( ($entry = readdir($dh)) !== FALSE ) { if( $entry == '.' || $entry == '..' ) continue; $src = $source . DIRECTORY_SEPARATOR . $entry; $dst = $destination . DIRECTORY_SEPARATOR . $entry; if( is_dir($src) ) { default_profile_copy_tree($src, $dst); continue; } if( !@copy($src, $dst) ) { throw new RuntimeException('Could not copy default profile asset: '.$src); } } closedir($dh); } } if( !function_exists('default_profile_copy_file') ) { function default_profile_copy_file($source, $destination) { $target_dir = dirname($destination); if( !is_dir($target_dir) ) { if( !@mkdir($target_dir, 0777, TRUE) && !is_dir($target_dir) ) { throw new RuntimeException('Could not create default profile directory: '.$target_dir); } } if( !@copy($source, $destination) ) { throw new RuntimeException('Could not copy default profile asset: '.$source); } } } if( !function_exists('default_profile_include') ) { function default_profile_include($relative_path) { global $profile_dir; $relative_path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $relative_path); $filename = $profile_dir . DIRECTORY_SEPARATOR . $relative_path; if( !is_file($filename) ) { throw new RuntimeException('Missing default profile script: '.$filename); } include($filename); } } if( !function_exists('default_profile_create_layout_template') ) { function default_profile_create_layout_template($params) { $template = new CmsLayoutTemplate(); $template->set_name($params['name']); $template->set_owner($params['owner']); $template->set_type($params['type']); $template->set_content(default_profile_read_asset($params['asset'])); if( !empty($params['description']) ) { $template->set_description($params['description']); } if( !empty($params['type_default']) ) { $template->set_type_dflt(TRUE); } $template->save(); if( !empty($params['designs']) && is_array($params['designs']) ) { foreach( $params['designs'] as $design ) { if( is_object($design) ) { $design->add_template($template); } } } return $template; } } ?> /* accessibility */ /* menu links accesskeys */ span.accesskey { text-decoration: none; } /* accessibility divs are hidden by default, text, screenreaders and such will show these */ .accessibility, hr { /* position set so the rest can be set out side of visual browser viewport */ position: absolute; /* takes it out top side */ top: -999em; /* takes it out left side */ left: -999em; } /* definition tags are also hidden, these are also used for accessibility menu links */ dfn { position: absolute; left: -1000px; top: -1000px; width: 0; height: 0; overflow: hidden; display: inline; } /* end accessibility */ /* wiki style external links */ /* external links will have "(external link)" text added, lets hide it */ a.external span { position: absolute; left: -5000px; width: 4000px; } a.external { /* make some room for the image, css shorthand rules, read: first top padding 0 then right padding 12px then bottom then right */ padding: 0 12px 0 0; } /* colors for external links */ a.external:link { color: #18507C; /* background image for the link to show wiki style arrow */ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% -100px; } a.external:visited { color: #18507C; /* a different color can be used for visited external links */ /* Set the last 0 to -100px to use that part of the external.gif image for different color for active links external.gif is actually 300px tall, we can use different positions of the image to simulate rollover image changes.*/ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% -100px; } a.external:hover { color: #18507C; /* Set the last 0 to -200px to use that part of the external.gif image for different color on hover */ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% 0; background-color: inherit; } /* end wiki style external links */ /* clearing */ /* clearfix is a hack for divs that hold floated elements. it will force the holding div to span all the way down to last floated item. We strongly recommend against using this as it is a hack and might not render correctly but it is included here for convenience. Do not edit if you dont know what you are doing*/ .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .clear { height: 0; clear: both; width: 90%; visibility: hidden; } #main .clear { height: 0; clear: right; width: 90%; visibility: hidden; } * html>body .clearfix { display: inline-block; width: 100%; } * html .clear { /* Hides from IE-mac \*/ height: 1%; clear: right; width: 90%; /* End hide from IE-mac */ } /* end clearing *//********************************************* Sample stylesheet for mobile and small screen handheld devices Just a simple layout suitable for smaller screens with less styling cabapilities and minimal css Note: If you dont want to support mobile devices you can safely remove this stylesheet. *********************************************/ /* remove all padding and margins and set width to 100%. This should be default for handheld devices but its good to set these explicitly */ body { margin:0; padding:0; width:100%; } /* hide accessibility noprint and definition */ .accessibility, .noprint, dfn { display:none; } /* dont want to download image for header so just set bg color */ div#header, div#footer { background-color: #385C72; color: #fff; text-align:center; } /* text colors for header and footer */ div#header a, div#footer a { color: #fff; } /* this doesnt look as nice, but takes less space */ div#menu_vert ul li, div#menu_horiz ul li { display:inline; } /* small border at the bottom to have some indicator */ div#menu_vert ul, div#menu_horiz ul { border-bottom:1px solid #fff; } /* save some space */ div.breadcrumbs { display:none; }/* browsers interpret margin and padding a little differently, we'll remove all default padding and margins and set them later on */ * { margin: 0; padding: 0; } /*Set initial font styles*/ body { text-align: left; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 75.01%; line-height: 1em; } /*set font size for all divs, this overrides some body rules*/ div { font-size: 1em; } /*if img is inside "a" it would have borders, we don't want that*/ img { border: 0; } /*default link styles*/ a, a:link a:active { /* set all links to have underline */ text-decoration: underline; /* css validation will give a warning if color is set without background color. this will explicitly tell this element to inherit bg colour from parent element */ background-color: inherit; /* this is a bluish color, you change this for all default link colors */ color: #18507C; } a:visited { /* keeps the underline */ text-decoration: underline; background-color: inherit; /* a different color is used for visited links */ color: #18507C; } a:hover { /* remove underline on hover */ text-decoration: none; background-color: inherit; /* using a different color makes the hover obvious */ color: #385C72; } /*****************basic layout *****************/ body { margin: 0; padding: 0; /* default text color for entire site*/ color: #333; /* you can set your own image and background color here */ background: #f4f4f4 url([[root_url]]/uploads/ngrey/body.png) repeat-x left top; } div#pagewrapper { /* min max width, IE wont understand these, so we will use java script magic in the <head> */ max-width: 99em; min-width: 60em; /* now that width is set this centers wrapper */ margin: 0 auto; background-color: #fefefe; color: black; } /* header, we will hide h1 a text and replace it with an image, we assign a height for it so the image wont cut off */ div#header { /* adjust according your image size */ height: 100px; margin: 0; padding: 0; /* you can set your own image here, will go behind h1 a image */ background: #f4f4f4 url([[root_url]]/uploads/ngrey/bg_banner.png) repeat-x left top; /* border just the bottom */ border-bottom: 1px solid #D9E2E6; } div#header h1 a { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/logoCMS.png) no-repeat left top; /* this will make the "a" link a solid shape */ display: block; /* adjust according your image size */ height: 100px; /* this hides the text */ text-indent: -999em; /* old firefox would have shown underline for the link, this explicitly hides it */ text-decoration: none; } div#header h1 { margin: 0; padding: 0; /*these keep IE6 from pushing the header to more than the set size*/ line-height: 0; font-size: 0; /* this will keep IE6 from flickering on hover */ background: url([[root_url]]/uploads/ngrey/logoCMS.png) no-repeat left top; } div#header h2 { /* this is where the site name is */ float: right; line-height: 1.2em; /* this keeps IE6 from not showing the whole text */ font-size: 1.5em; /* keeps the size uniform */ margin: 35px 65px 0px 0px; /* adjust according your text size */ color: #f4f4f4; } div.crbk { /* sets all to 0 */ margin: 0; padding: 0; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div.breadcrumbs { /* CSS short hand rule first value is top then right, bottom and left */ padding: 1em 0em 1em 1em; /* its good to set font sizes to be relative, this way viewer can change his/her font size */ font-size: 90%; /* css shorthand rule will be opened to be "0px 0px 0px 0px" */ margin: 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainleftup.gif) no-repeat left bottom; } div.breadcrumbs span.lastitem { font-weight: bold; } div#search { /* position for the search box */ float: right; /* enough width for the search input box */ width: 27em; text-align: right; padding: 0.5em 0 0.2em 0; margin: 0 1em; } /* a class for Submit button for the search input box */ input.search-button { border: none; height: 22px; width: 53px; margin-left: 5px; padding: 0px 2px 2px 0px; /* makes the hover cursor show, you can set your own cursor here */ cursor: pointer; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/search.gif) no-repeat center center; } div#content { /* some air above and under menu and content */ margin: 1.5em auto 2em 0; padding: 0px; } /* this gets all the outside calls that were used on the div#main before */ div.back1 { /* this will give room for sidebar to be on the left side, make sure this number is bigger than sidebar width */ margin-left: 29%; /* and some air on the right */ margin-right: 2%; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } /* this is an IE6 hack, you may see these through out the CSS */ * html div.back1 { /* unlike other browser IE6 needs float:right and a width */ float: right; width: 69%; /* and we take this out or it will stop at the bottom */ margin-left: 0%; /* and some air on the right */ margin-right: 10px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } div.back2 { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainleft1.gif) no-repeat left top; } div.back3 { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wbtmleft.gif) no-repeat left bottom; } div#main { /* this is the last inside div so we set the space inside it to keep all content away from the edges of images/box */ padding: 10px 15px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/rtup.gif) no-repeat right bottom; } div.back #main { /* this is the last inside div so we set the space inside it to keep all content away from the edges of images/box */ padding: 10px 30px 1px 15px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wbtmleft.gif) no-repeat left bottom; } div.back { /* this will give room for sidebar to be on the left side, make sure this space is bigger than sidebar width */ margin-left: 29%; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wtopleft.gif) no-repeat left top; } div#sidebar { /* set sidebar left. Change to right, float: right; instead, but you will need to change the margins. */ float: left; /* sidebar width, if you change this change div.back and/or div.back1 margins */ width: 26%; /* FIX IE double margin bug */ display: inline; /* the 20px is on the bottom, insures space above footer if longer than content */ margin: 0px 0px 20px; padding: 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } div#sidebara { padding: 13px 15px 3px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div#sidebarb { padding: 10px 10px 1px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div.footback { /* keep footer below content and menu */ clear: both; /* this sets 10px on right to let the right image show, the balance 10px left on next div */ padding: 0px 10px 0px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wfootrt.gif) no-repeat right top; } div#footer { /* this sets 10px on left to balance 10px right on last div */ padding: 0px 0px 0px 10px; /* color of text, the link color is set below */ color: #595959; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wtopleft.gif) no-repeat left top; } div.leftfoot { float: left; width: 30%; margin-left: 20px } div#footer p { /* sets different font size from default */ font-size: 0.8em; /* some air for footer */ padding: 1.5em; /* centered text */ text-align: center; margin: 0; } div#footer p a { /* footer link would be same color as default we want it same as footer text */ color: #595959; } /* as we hid all hr for accessibility we create new hr with div class="hr" element */ div.hr { height: 1px; padding: 1em; border-bottom: 1px dotted black; margin: 1em; } /* relational links under content */ div.left49 { /* combined percentages of left+right equaling 100% might lead to rounding error on some browser */ width: 70%; } div.right49 { float: right; width: 29%; /* set right to keep text on right */ text-align: right; } /********************CONTENT STYLING*********************/ /* HEADINGS */ div#content h1 { /* font size for h1 */ font-size: 2em; line-height: 1em; margin: 0; } div#content h2 { color: #294B5F; /* font size for h2 the higher the h number the smaller the font size, most times */ font-size: 1.5em; text-align: left; /* some air around the text */ padding-left: 0.5em; padding-bottom: 1px; /* set borders around header */ border-bottom: 1px solid #899092; border-left: 1.1em solid #899092; /* a larder than h1 line height */ line-height: 1.5em; /* and some air under the border */ margin: 0 0 0.5em 0; } div#content h3 { color: #294B5F; font-size: 1.3em; line-height: 1.3em; margin: 0 0 0.5em 0; } div#content h4 { color: #294B5F; font-size: 1.2em; line-height: 1.3em; margin: 0 0 0.25em 0; } div#content h5 { color: #294B5F; font-size: 1.1em; line-height: 1.3em; margin: 0 0 0.25em 0; } h6 { color: #294B5F; font-size: 1em; line-height: 1.3em; margin: 0 0 0.25em 0; } /* END HEADINGS */ /* TEXT */ p { /* default p font size, this is set different in some other divs */ font-size: 1em; /* some air around p elements */ margin: 0 0 1.5em 0; line-height: 1.4em; padding: 0; } blockquote { border-left: 10px solid #ddd; margin-left: 10px; } strong, b { /* explicit setting for these */ font-weight: bold; } em, i { /* explicit setting for these */ font-style: italic; } /* Wrapping text in <code> tags. Makes CSS not validate */ code, pre { /* css-3 */ white-space: pre-wrap; /* Mozilla, since 1999 */ white-space: -moz-pre-wrap; /* Opera 4-6 */ white-space: -pre-wrap; /* Opera 7 */ white-space: -o-pre-wrap; /* Internet Explorer 5.5+ */ word-wrap: break-word; font-family: "Courier New", Courier, monospace; font-size: 1em; } pre { /* black border for pre blocks */ border: 1px solid #000; /* set different from surroundings to stand out */ background-color: #ddd; margin: 0 1em 1em 1em; padding: 0.5em; line-height: 1.5em; font-size: 90%; } /* Separating the divs on the template explanation page */ div.templatecode { margin: 0 0 2.5em; } /* END TEXT */ /* LISTS */ /* lists in content need some margins to look nice */ div#main ul, div#main ol, div#main dl { font-size: 1.0em; line-height: 1.4em; margin: 0 0 1.5em 0; } div#main ul li, div#main ol li { margin: 0 0 0.25em 3em; } /* definition lists topics on bold */ div#main dl { margin-bottom: 2em; padding-bottom: 1em; border-bottom: 1px solid #c0c0c0; } div#main dl dt { font-weight: bold; margin: 0 0 0 1em; } div#main dl dd { margin: 0 0 1em 1em; } /* END LISTS *//* browsers interpret margin and padding a little differently, we'll remove all default padding and margins and set them later on */ * { margin: 0; padding: 0; } /*Set initial font styles*/ body { text-align: left; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 75.01%; line-height: 1em; } /*set font size for all divs, this overrides some body rules*/ div { font-size: 1em; } /*if img is inside "a" it would have borders, we don't want that*/ img { border: 0; } /*default link styles*/ /* set all links to have underline and bluish color */ a, a:link a:active { text-decoration: underline; /* css validation will give a warning if color is set without background color. this will explicitly tell this element to inherit bg colour from parent element */ background-color: inherit; color: #18507C; } a:visited { text-decoration: underline; background-color: inherit; color: #18507C; /* a different color can be used for visited links */ } /* remove underline on hover and change color */ a:hover { text-decoration: none; background-color: inherit; color: #385C72; } /*****************basic layout *****************/ body { margin: 0; padding: 0; /* default text color for entire site*/ color: #333; /* you can set your own image and background color here */ background: #f4f4f4 url([[root_url]]/uploads/ngrey/body.png) repeat-x left top; } div#pagewrapper { /* min max width, IE wont understand these, so we will use java script magic in the <head> */ max-width: 99em; min-width: 60em; /* now that width is set this centers wrapper */ margin: 0 auto; background-color: #fefefe; color: black; } /* header, we will hide h1 a text and replace it with an image, we assign a height for it so the image wont cut off */ div#header { /* adjust according your image size */ height: 100px; margin: 0; padding: 0; /* you can set your own image here, will go behind h1 a image */ background: #f4f4f4 url([[root_url]]/uploads/ngrey/bg_banner.png) repeat-x left top; /* border just the bottom */ border-bottom: 1px solid #D9E2E6; } div#header h1 a { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/logoCMS.png) no-repeat left top; /* this will make the "a" link a solid shape */ display: block; /* adjust according your image size */ height: 100px; /* this hides the text */ text-indent: -999em; /* old firefox would have shown underline for the link, this explicitly hides it */ text-decoration: none; } div#header h1 { margin: 0; padding: 0; /*these keep IE6 from pushing the header to more than the set size*/ line-height: 0; font-size: 0; /* this will keep IE6 from flickering on hover */ background: url([[root_url]]/uploads/ngrey/logoCMS.png) no-repeat left top; } div#header h2 { /* this is where the site name is */ float: right; line-height: 1.2em; /* this keeps IE6 from not showing the whole text */ font-size: 1.5em; /* keeps the size uniform */ margin: 35px 65px 0px 0px; /* adjust according your text size */ color: #f4f4f4; } div.crbk { /* sets all to 0 */ margin: 0; padding: 0; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div.breadcrumbs { /* CSS short hand rule first value is top then right, bottom and left */ padding: 1em 0em 1em 1em; /* its good to set font sizes to be relative, this way viewer can change his/her font size */ font-size: 90%; /* css shorthand rule will be opened to be "0px 0px 0px 0px" */ margin: 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainleftup.gif) no-repeat left bottom; } div.breadcrumbs span.lastitem { font-weight: bold; } div#search { /* position for the search box */ float: right; /* enough width for the search input box */ width: 27em; text-align: right; padding: 0.5em 0 0.2em 0; margin: 0 1em; } /* a class for Submit button for the search input box */ input.search-button { border: none; height: 22px; width: 53px; margin-left: 5px; padding: 0px 2px 2px 0px; /* makes the hover cursor show, you can set your own cursor here */ cursor: pointer; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/search.gif) no-repeat center center; } div#content { /* some air above and under menu and content */ margin: 1.5em auto 2em 0; padding: 0px; } /* this gets all the outside calls that were used on the div#main before */ div.back1 { /* this will give room for sidebar to be on the left side, make sure this number is bigger than sidebar width */ margin-left: 29%; /* and some air on the right */ margin-right: 2%; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } /* this is an IE6 hack, you may see these through out the CSS */ * html div.back1 { /* unlike other browser IE6 needs float:right and a width */ float: right; width: 69%; /* and we take this out or it will stop at the bottom */ margin-left: 0%; /* and some air on the right */ margin-right: 10px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt1.gif) no-repeat right top; } div.back2 { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainleft1.gif) no-repeat left top; } div.back3 { /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wbtmleft.gif) no-repeat left bottom; } div#main { /* this is the last inside div so we set the space inside it to keep all content away from the edges of images/box */ padding: 10px 15px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/rtup.gif) no-repeat right bottom; } div#sidebar { /* set sidebar left. Change to right, float: right; instead, but you will need to change the margins. */ float: left; /* sidebar width, if you change this change div.back and/or div.back1 margins */ width: 26%; /* FIX IE double margin bug */ display: inline; /* the 20px is on the bottom, insures space above footer if longer than content */ margin: 0px 0px 20px; padding: 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/mainrt.gif) no-repeat right top; } div#sidebarb { padding: 10px 15px 10px 20px; /* this one is for sidebar with content and no menu */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div#sidebarb div#news { /* less margin surrounding the news, sidebarb has enough */ margin: 2em 0 1em 0em; } div#sidebara { padding: 10px 15px 15px 0px; /* this one is for sidebar with menu and no content */ background: url([[root_url]]/uploads/ngrey/mainrtup.gif) no-repeat right bottom; } div.footback { /* keep footer below content and menu */ clear: both; /* this sets 10px on right to let the right image show, the balance 10px left on next div */ padding: 0px 10px 0px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wfootrt.gif) no-repeat right top; } div#footer { /* this sets 10px on left to balance 10px right on last div */ padding: 0px 0px 0px 10px; /* color of text, the link color is set below */ color: #595959; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/wtopleft.gif) no-repeat left top; } div.leftfoot { float: left; width: 30%; margin-left: 20px } div#footer p { /* sets different font size from default */ font-size: 0.8em; /* some air for footer */ padding: 1.5em; /* centered text */ text-align: center; margin: 0; } div#footer p a { /* footer link would be same color as default we want it same as footer text */ color: #595959; } /* as we hid all hr for accessibility we create new hr with div class="hr" element */ div.hr { height: 1px; padding: 1em; border-bottom: 1px dotted black; margin: 1em; } /* relational links under content */ div.left49 { /* combined percentages of left+right equaling 100% might lead to rounding error on some browser */ width: 70%; } div.right49 { float: right; width: 29%; /* set right to keep text on right */ text-align: right; } /********************CONTENT STYLING*********************/ /* HEADINGS */ div#content h1 { /* font size for h1 */ font-size: 2em; line-height: 1em; margin: 0; } div#content h2 { color: #294B5F; /* font size for h2 the higher the h number the smaller the font size, most times */ font-size: 1.5em; text-align: left; /* some air around the text */ padding-left: 0.5em; padding-bottom: 1px; /* set borders around header */ border-bottom: 1px solid #899092; border-left: 1.1em solid #899092; /* a larder than h1 line height */ line-height: 1.5em; /* and some air under the border */ margin: 0 0 0.5em 0; } div#content h3 { color: #294B5F; font-size: 1.3em; line-height: 1.3em; margin: 0 0 0.5em 0; } div#content h4 { color: #294B5F; font-size: 1.2em; line-height: 1.3em; margin: 0 0 0.25em 0; } div#content h5 { color: #294B5F; font-size: 1.1em; line-height: 1.3em; margin: 0 0 0.25em 0; } h6 { color: #294B5F; font-size: 1em; line-height: 1.3em; margin: 0 0 0.25em 0; } /* END HEADINGS */ /* TEXT */ p { /* default p font size, this is set different in some other divs */ font-size: 1em; /* some air around p elements */ margin: 0 0 1.5em 0; line-height: 1.4em; padding: 0; } blockquote { border-left: 10px solid #ddd; margin-left: 10px; } strong, b { /* explicit setting for these */ font-weight: bold; } em, i { /* explicit setting for these */ font-style: italic; } /* Wrapping text in <code> tags. Makes CSS not validate */ code, pre { /* css-3 */ white-space: pre-wrap; /* Mozilla, since 1999 */ white-space: -moz-pre-wrap; /* Opera 4-6 */ white-space: -pre-wrap; /* Opera 7 */ white-space: -o-pre-wrap; /* Internet Explorer 5.5+ */ word-wrap: break-word; font-family: "Courier New", Courier, monospace; font-size: 1em; } pre { /* black border for pre blocks */ border: 1px solid #000; /* set different from surroundings to stand out */ background-color: #ddd; margin: 0 1em 1em 1em; padding: 0.5em; line-height: 1.5em; font-size: 90%; } /* Separating the divs on the template explanation page */ div.templatecode { margin: 0 0 2.5em; } /* END TEXT */ /* LISTS */ /* lists in content need some margins to look nice */ div#main ul, div#main ol, div#main dl { font-size: 1.0em; line-height: 1.4em; margin: 0 0 1.5em 0; } div#main ul li, div#main ol li { margin: 0 0 0.25em 3em; } /* definition lists topics on bold */ div#main dl { margin-bottom: 2em; padding-bottom: 1em; border-bottom: 1px solid #c0c0c0; } div#main dl dt { font-weight: bold; margin: 0 0 0 1em; } div#main dl dd { margin: 0 0 1em 1em; } /* END LISTS */div#news { /* margin for the entire div surrounding the news items */ margin: 2em 0 1em 1em; /* border set here */ border: 1px solid #909799; /* sets it off from surroundings */ background: #f5f5f5; } div#news h2 { line-height: 2em; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; color: #f5f5f5; border: none } .NewsSummary { /* padding for the news article summary */ padding: 0.5em 0.5em 1em; /* margin to the bottom of the news article summary */ margin: 0 0.5em 1em 0.5em; border-bottom: 1px solid #ccc; } .NewsSummaryPostdate { /* smaller than default text size */ font-size: 90%; /* bold to set it off from text */ font-weight: bold; } .NewsSummaryLink { /* bold to set it off from text */ font-weight: bold; /* little more room at top */ padding-top: 0.2em; } .NewsSummaryCategory { /* italic to set it off from text */ font-style: italic; margin: 5px 0; } .NewsSummaryAuthor { /* italic to set it off from text */ font-style: italic; padding-bottom: 0.5em; } .NewsSummarySummary, .NewsSummaryContent { /* larger than default text */ line-height: 140%; } .NewsSummaryMorelink { padding-top: 0.5em; } #NewsPostDetailDate { /* smaller text */ font-size: 90%; margin-bottom: 5px; /* bold to set it off from text */ font-weight: bold; } #NewsPostDetailSummary { /* larger than default text */ line-height: 150%; } #NewsPostDetailCategory { /* italic to set it off from text */ font-style: italic; border-top: 1px solid #ccc; margin-top: 0.5em; padding: 0.2em 0; } #NewsPostDetailContent { margin-bottom: 15px; /* larger than default text */ line-height: 150%; } #NewsPostDetailAuthor { padding-bottom: 1.5em; /* italic to set it off from text */ font-style: italic; } /* more divs, left unstyled, just so you know the IDs of them */ #NewsPostDetailTitle { } #NewsPostDetailHorizRule { } #NewsPostDetailPrintLink { } #NewsPostDetailReturnLink { } div#news ul li { padding: 2px 2px 2px 5px; margin-left: 20px; }/* by Alexander Endresen and mark and Nuno */ #menu_vert { /* no margin/padding so it fills the whole div */ margin: 0; padding: 0; } .clearb { /* needed for some browsers */ clear: both; } #menuwrapper { /* set the background color for the menu here */ background-color: #243135; /* IE6 Hack */ height: 1%; width: auto; /* one border at the top */ border-top: 1px solid #3F565C; margin: 0; padding: 0; } ul#primary-nav, ul#primary-nav ul { /* remove any default bullets */ list-style-type: none; margin: 0; padding: 0; } ul#primary-nav { /* pushes the menu div up to give room above for background color to show */ padding-top: 10px; /* keeps the first menu item off the left side */ padding-left: 10px; } ul#primary-nav ul { /* make the ul stay in place so when we hover it lets the drops go over the content below else it will push everything below out of the way */ position: absolute; /* top being the bottom of the li it comes out of */ top: auto; /* keeps it hidden till hover event */ display: none; /* same size but different color for each border */ border-top: 1px solid #C8D3D7; border-right: 1px solid #C8D3D7; border-bottom: 1px solid #ADC0C7; border-left: 1px solid #A5B9C0; } ul#primary-nav ul ul { /* now we move the next level ul down from the top a little for distinction */ margin-top: 1px; /* pull it in on the left, helps us not lose the hover effect when going to next level */ margin-left: -1px; /* keeps the left side of this ul on the right side of the one it came out of */ left: 100%; /* sets the top of it inline with the li it came out of */ top: 0px; } ul#primary-nav li { /* floating left will set menu items to line up left to right else they will stack top to bottom */ float: left; /* no margin/padding keeps them next to each other, the padding will be in the "a" */ margin: 0px; padding: 0px; } #primary-nav li li { /* Set the width of the menu elements at second level. Leaving first level flexible. */ width: 220px; /* removes any left margin it may have picked up from the first li */ margin-left: 0px; /* keeps them tight to the one above, no missed hovers */ margin-top: -1px; /* removes the left float set in first li so these will stack from top down */ float: none; /* relative to the ul they are in */ position: relative; } /* set the "a" link look here */ ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #fff; /* pushes out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 12px 15px 15px; display: block; /* sets no underline on links */ text-decoration: none; } ul#primary-nav li a:hover { /* kind of obvious */ background-color: transparent; } ul#primary-nav li li a:hover { /* this is set to #000, black, below so hover will be white text */ color: #FFF; } ul#primary-nav li a.menuactive { color: #000; /* bold to set it off from non active */ font-weight: bold; /* set your image here */ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; } ul#primary-nav li a.menuactive:hover { color: #000; /* keep it the same */ font-weight: bold; } #primary-nav li li a.menuparent span { /* makes it hold a shape */ display: block; /* set your image here, right arrow, 98% over from the left, 100% or 'right' puts it to far */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat 98% center; } /* gif for IE6, as it can't handle transparent png */ * html #primary-nav li li a.menuparent span { /* set your image here, right arrow, 98% over from the left, 100% or 'right' puts it to far */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat 98% center; } ul#primary-nav li ul a { /* insures alignment */ text-align: left; margin: 0px; /* keeps it relative to it's container */ position: relative; /* less padding than first level no need for large links here */ padding: 6px 3px 6px 15px; /* if first level is set to bold this will reset this level */ font-weight: normal; /* first level is #FFF/white, we need black to contrast with light background */ color: #000; border-top: 0 none; border-right: 0 none; border-left: 0 none; } ul#primary-nav li ul { /* very lite grey color, by now you should know what the rest mean */ background: #F3F5F5; margin: 0px; padding: 0px; position: absolute; width: auto; height: auto; display: none; position: absolute; z-index: 999; border-top: 1px solid #FFFFFF; border-bottom: 1px solid #374B51; /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator2) More Options chose CSS3 3) is full validate;)*/ opacity: 0.95; /* CSS 3 */ } ul#primary-nav li ul ul { /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator2) More Options chose CSS3 3) is full validate;)*/ opacity: 95; /* CSS 3 */ } /* Styling the appearance of menu items on hover */ #primary-nav li:hover, #primary-nav li.menuh, #primary-nav li.menuparenth, #primary-nav li.menuactiveh { /* set your image here, dark grey image */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; color: #000 } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE6 Hacks */ #primary-nav li li { float: left; clear: both; } #primary-nav li li a { height: 1%; }/* Vertical menu for the CMS CSS Menu Module */ /* by Alexander Endresen and mark and Nuno */ /* The wrapper determines the width of the menu elements */ #menuwrapper { /* just smaller than it's containing div */ width: 95%; margin-left: 0px; /* room at bottom */ margin-bottom: 10px; } /* Unless you know what you do, do not touch this */ #primary-nav, #primary-nav ul { /* remove any default bullets */ list-style: none; margin: 0px; padding: 0px; /* make sure it fills out */ width: 100%; /* just a little bump */ margin-left: 1px; } #primary-nav ul { /* make the ul stay in place so when we hover it lets the drops go over the content below else it will push everything below out of the way */ position: absolute; /* just a little bump down for second level ul */ top: 5px; /* keeps the left side of this ul on the right side of the one it came out of */ left: 100%; /* keeps it hidden till hover event */ display: none; } #primary-nav ul ul { /* no bump down for third level ul */ top: 0px; } #primary-nav li { /* negative bottom margin pulls them together, images look like one border between */ margin-bottom: -1px; /* keeps within it's container */ position: relative; /* bottom padding pushes "a" up enough to show our image */ padding: 0px 0px 4px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right bottom; } #primary-nav li li { /* you can set your width here, if no width or set auto it will only be as wide as the text in it */ width: 220px; padding: 0px; /* removes first level li image */ background-image: none; } /* Styling the basic apperance of the menu "a" elements */ ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #595959; /* pushes li out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 0.8em 0.5em 0.5em 0.5em; /* makes it hold a shape */ display: block; /* removes underline from default link setting */ text-decoration: none; /* you can set your own image here this is tall enough to cover text heavy links */ background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; } ul#primary-nav a span { /* makes it hold a shape */ display: block; /* pushes text to right */ padding-left: 1.5em; } ul#primary-nav li a:hover { /* stops image flicker in some browsers */ background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; /* changes text color on hover */ color: #899092; } ul#primary-nav li li a:hover { /* you can set your own image here, second level "a" */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; /* contrast color to image behind it */ color: #FFF; } ul#primary-nav li a.menuactive { /* black and bold to set it off from non active */ color: #000; font-weight: bold; } ul#primary-nav li li a.menuactive { /* contrast color to image behind it, set below */ color: #FFF; /* not bold as text color and image behind it set it off from non active */ font-weight: normal; } ul#primary-nav li ul a { /* insures alignment */ text-align: left; margin: 0px; /* relative to it's container */ position: relative; /* more padding to left than default */ padding: 6px 3px 6px 15px; font-weight: normal; /* darker than first level "a" */ color: #000; /* removes any borders that may have been set in first level */ border-top: 0 none; border-right: 0 none; border-left: 0 none; /* removes image set in first level "a" */ background: none; } ul#primary-nav li ul { /* very lite grey color, by now you should know what the rest mean */ background: #F3F5F5; margin: 0px; padding: 0px; position: absolute; width: auto; height: auto; display: none; position: absolute; z-index: 999; border-top: 1px solid #FFFFFF; border-bottom: 1px solid #374B51; /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator2) More Options chose CSS3 3) is full validate;)*/ opacity: 0.95; /* CSS 3 */ } /* Fixes IE7 bug */ #primary-nav li, #primary-nav li.menuparent { min-height: 1em; } /* Styling the basic apperance of the second level active page elements (shows what page in the menu is being displayed) */ #primary-nav li li.menuactive, #primary-nav li.menuactive.menuparenth li.menuactive { /* set your image here, dark grey image with white text set above*/ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; } #primary-nav li.menuparent span { /* padding on left for image */ padding-left: 1.5em; /* down arrow to note it has children, left side of text */ background: url([[root_url]]/uploads/ngrey/active.png) no-repeat left center; } #primary-nav li.menuparent:hover li.menuparent span { /* remove left padding as image is on right side of text */ padding-left: 0; /* right arrow to note it has children, right side of text */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat right center; } #primary-nav li.menuparenth li.menuparent span, #primary-nav li.menuparenth li.menuparenth span { /* same as above but this is for IE6, gif image as it can't handle transparent png */ padding-left: 0; background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; } #primary-nav li.menuparenth span, #primary-nav li.menuparent:hover span, #primary-nav li.menuparent.menuactive span, #primary-nav li.menuparent.menuactiveh span, { /* right arrow to note hover */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat left center; } #primary-nav li li span, #primary-nav li.menuparent li span, #primary-nav li.menuparent:hover li span, #primary-nav li.menuparenth li span, #primary-nav li.menuparenth li.menuparenth li span, #primary-nav li.menuparent li.menuparent li span, #primary-nav li.menuparent li.menuparent:hover li span { /* removes any images set above unless it's a parent or active parent */ background: none; /* removes padding that is used for arrows */ padding-left: 0px; } /* IE6 flicker fix */ #primary-nav li.menuh, #primary-nav li.mnuparenth, #primary-nav li.mnuactiveh { background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; color: #899092; } #primary-nav li:hover li a { /* removes any images set above unless it's a parent or active parent */ background: none; color: #000; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE Hack, will cause the css to not validate */ #primary-nav li, #primary-nav li.menuparenth { _float: left; _height: 1%; } #primary-nav li a { _height: 1%; } /* BIG NOTE: I didn't do anything to these 2, never tested */ #primary-nav li.sectionheader { border-left: 1px solid #006699; border-top: 1px solid #006699; font-size: 130%; font-weight: bold; padding: 1.5em 0 0.8em 0.5em; background-color: #fff; margin: 0; width: 100%; } /* separator */ #primary-nav li hr.separator { display: block; height: 0.5em; color: #abb0b6; background-color: #abb0b6; width: 100%; border: 0; margin: 0; padding: 0; border-top: 1px solid #006699; border-right: 1px solid #006699; }#footer ul { /* some margin is set in the footer padding */ margin: 0px; /* calling a specific side, left in this case */ margin-left: 5px; padding: 0px; /* remove any default bullets, image used in li call */ list-style: none; } #footer ul li { /* remove any default bullets, image used for consistency */ list-style: none; /* float left to set first level li items across the top */ float:left; /* a little margin at top */ margin: 5px 0px 0px; /* padding all the way around */ padding: 5px; /* you can set your own image here, used for consistency */ background: url([[root_url]]/uploads/ngrey/dot.gif) no-repeat left 10px; } #footer ul li a { /* this will make the "a" link a solid shape */ display:block; margin: 2px 0px 4px; padding: 0px 5px 5px 5px; } /* set h3 to look like "a" */ #footer li h3 { font-weight:normal; font-size:100%; margin: 2px 0px 2px 0px; padding: 0px 5px 5px 5px; } /* set h3 to look like "a", less margin at this level */ #footer li li h3 { font-weight:normal; font-size:100%; margin: 0px; padding: 0px 5px 5px 5px; } #footer ul li li { /* remove any default bullets, image used for consistency */ list-style: none; /* remove float so they line up under top li */ float:none; /* less margin/padding */ margin: 0px; padding: 0px 0px 0px 5px; /* you can set your own image here, used for consistency */ background: url([[root_url]]/uploads/ngrey/dot.gif) no-repeat left 3px; } /* fix for IE6 */ * html #footer ul li a { margin: 2px 0px 0px; padding: 0px 5px 5px 5px; } * html #footer ul li li a { margin: 0px 0px 0px; padding: 0px 5px 0px 5px; } /* End fix for IE6 */ #footer ul ul { /* remove float so they line up under top li */ float:none; /* a little margin to offset it */ margin: 0px 0px 0px 8px; padding: 0; } #footer ul ul ul { /* remove float so they line up under li above it */ float:none; /* a little margin to offset it */ margin: 0px 0px 0px 8px; padding: 0; }/* by Alexander Endresen and mark and Nuno */ #menu_vert { /* no margin/padding so it fills the whole div */ margin: 0; padding: 0; } .clearb { /* needed for some browsers */ clear: both; } #menuwrapper { /* set the background color for the menu here */ background-color: #243135; /* IE6 Hack */ height: 1%; width: auto; /* one border at the top */ border-top: 1px solid #3F565C; margin: 0; padding: 0; } ul#primary-nav, ul#primary-nav ul { /* remove any default bullets */ list-style-type: none; margin: 0; padding: 0; } ul#primary-nav { /* pushes the menu div up to give room above for background color to show */ padding-top: 10px; /* keeps the first menu item off the left side */ padding-left: 10px; } ul#primary-nav ul { /* make the ul stay in place so when we hover it lets the drops go over the content below else it will push everything below out of the way */ position: absolute; /* top being the bottom of the li it comes out of */ top: auto; /* keeps it hidden till hover event */ display: none; /* same size but different color for each border */ border-top: 1px solid #C8D3D7; border-right: 1px solid #C8D3D7; border-bottom: 1px solid #ADC0C7; border-left: 1px solid #A5B9C0; } ul#primary-nav ul ul { /* now we move the next level ul down from the top a little for distinction */ margin-top: 1px; /* pull it in on the left, helps us not lose the hover effect when going to next level */ margin-left: -1px; /* keeps the left side of this ul on the right side of the one it came out of */ left: 100%; /* sets the top of it inline with the li it came out of */ top: 0px; } ul#primary-nav li { /* floating left will set menu items to line up left to right else they will stack top to bottom */ float: left; /* no margin/padding keeps them next to each other, the padding will be in the "a" */ margin: 0px; padding: 0px; } #primary-nav li li { /* Set the width of the menu elements at second level. Leaving first level flexible. */ width: 220px; /* removes any left margin it may have picked up from the first li */ margin-left: 0px; /* keeps them tight to the one above, no missed hovers */ margin-top: -1px; /* removes the left float set in first li so these will stack from top down */ float: none; /* relative to the ul they are in */ position: relative; } /* set the "a" link look here */ ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #fff; /* pushes out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 12px 15px 15px; display: block; /* sets no underline on links */ text-decoration: none; } ul#primary-nav li a:hover { /* kind of obvious */ background-color: transparent; } ul#primary-nav li li a:hover { /* this is set to #000, black, below so hover will be white text */ color: #FFF; } ul#primary-nav li a.menuactive { color: #000; /* bold to set it off from non active */ font-weight: bold; /* set your image here */ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; } ul#primary-nav li a.menuactive:hover { color: #000; /* keep it the same */ font-weight: bold; } #primary-nav li li a.menuparent span { /* makes it hold a shape */ display: block; /* set your image here, right arrow, 98% over from the left, 100% or 'right' puts it to far */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat 98% center; } /* gif for IE6, as it can't handle transparent png */ * html #primary-nav li li a.menuparent span { /* set your image here, right arrow, 98% over from the left, 100% or 'right' puts it to far */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat 98% center; } ul#primary-nav li ul a { /* insures alignment */ text-align: left; margin: 0px; /* keeps it relative to it's container */ position: relative; /* less padding than first level no need for large links here */ padding: 6px 3px 6px 15px; /* if first level is set to bold this will reset this level */ font-weight: normal; /* first level is #FFF/white, we need black to contrast with light background */ color: #000; border-top: 0 none; border-right: 0 none; border-left: 0 none; } ul#primary-nav li ul { /* very lite grey color, by now you should know what the rest mean */ background: #F3F5F5; margin: 0px; padding: 0px; position: absolute; width: auto; height: auto; display: none; position: absolute; z-index: 999; border-top: 1px solid #FFFFFF; border-bottom: 1px solid #374B51; /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator 2) More Options chose CSS3 3) is full validate ;)*/ opacity: 0.95; /* CSS 3 */ } ul#primary-nav li ul ul { /*Info: The opacity property is CSS3, however, will be valid just in CSS 3.1) http://jigsaw.w3.org/css-validator 2) More Options chose CSS3 3) is full validate ;)*/ opacity: 95; /* CSS 3 */ } /* Styling the appearance of menu items on hover */ #primary-nav li:hover, #primary-nav li.menuh, #primary-nav li.menuparenth, #primary-nav li.menuactiveh { /* set your image here, dark grey image */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; color: #000; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE6 Hacks */ #primary-nav li li { float: left; clear: both; } #primary-nav li li a { height: 1%; } /* by Alexander Endresen and mark */ #menu_vert { /* no margin/padding so it fills the whole div */ margin: 0; padding: 0; } .clearb { /* needed for some browsers */ clear: both; } #menuwrapper { /* set the background color for the menu here */ background-color: #243135; /* IE6 Hack */ height: 1%; width: auto; /* one border at the top */ border-top: 1px solid #3F565C; margin: 0; padding: 0; } ul#primary-nav { list-style-type: none; margin: 0px; padding-top: 10px; padding-left: 10px; } #primary-nav ul { /* remove any default bullets */ list-style-type: none; /* sets width of second level ul to background image */ width: 210px; margin: 0px; padding: 0px; /* make the ul stay in place so when we hover it lets the drops go over the content instead of displacing it */ position: absolute; /* top being the bottom of the li it comes out of */ top: auto; /* keeps it hidden till hover event */ display: none; /* room at top for li so image top shows correct */ padding-top: 9px; /* set your image here, tall enough for the ul */ background: url([[root_url]]/uploads/ngrey/ultopup.png) no-repeat left top; } /* IE6 hacks on the above code */ * html #primary-nav ul { padding-top: 13px; background: url([[root_url]]/uploads/ngrey/ultopup.gif) no-repeat left top; } #primary-nav ul ul { /* insures no top margins */ margin-top: 0px; /* pulls the last ul back over the preceding ul */ margin-left: -1px; /* keeps the left side of this ul on the right side of the preceding ul */ left: 100%; /* negative margin pulls the left centered in li next to it */ top: -3px; /* set your image here, tall enough for the ul, this is the left arrow for third level ul */ background: url([[root_url]]/uploads/ngrey/ultoprt.png) no-repeat left top; } /* IE6 hacks on the above code */ * html #primary-nav ul ul { margin-top: 0px; padding-left: 5px; left: 100%; top: -7px; /* IE6 gets gif as it can''t handle transparent png */ background: url([[root_url]]/uploads/ngrey/ultoprt.gif) no-repeat right top; } #primary-nav li { /* a little space to the left of each top level menu item */ margin-left: 5px; /* floating left will set menu items to line up left to right else they will stack top to bottom */ float: left; } #primary-nav li li { /* a little more space to the left of each menu item */ margin-left: 8px; /* keeps them tight to the one above, no missed hovers */ margin-top: -1px; /* removes the left float set in first li so these will stack from top down */ float: none; /* relative to the ul they are in */ position: relative; } /* IE6 hacks on the above code */ * html #primary-nav li li { margin-left: 6px; /* helps hold it inside the ul */ width: 171px; } ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #fff; /* doing tab menus require a bit different padding, this will give room on right for image to show, adjust to width of your image */ padding: 0px 11px 0px 0px; /* makes it hold a shape */ display: block; /* remove default "a" underline */ text-decoration: none; } ul#primary-nav li a span { /* takes normal "a" padding minus some for right image */ padding: 12px 4px 12px 15px; /* makes it hold a shape */ display: block; } ul#primary-nav li a:hover { /* kind of obvious */ background-color: transparent; } ul#primary-nav li { /* set your image here */ background: url([[root_url]]/uploads/ngrey/navrttest.gif) no-repeat right -51px; } ul#primary-nav li span { /* set your image here */ background: url([[root_url]]/uploads/ngrey/navlefttest.gif) repeat-x left -51px; /* set text color here also to insure color */ color: #fff; /* just to be sure */ font-weight: normal; } ul#primary-nav li li { /* remove any image set in first level li */ background: none; } ul#primary-nav li li span { /* remove any image set in first level li span */ background: none; /* set text color here also to insure color */ color: #fff; /* just to be sure */ font-weight: normal; } ul#primary-nav li:hover, ul#primary-nav li.menuh, ul#primary-nav li.menuparenth { /* set hover image, right side */ background: url([[root_url]]/uploads/ngrey/navrttest.gif) no-repeat right 0px; } ul#primary-nav li:hover span, ul#primary-nav li.menuh span, ul#primary-nav li.menuparenth span { /* set hover image, left side */ background: url([[root_url]]/uploads/ngrey/navlefttest.gif) repeat-x left 0px; /* change text color on hover */ color: #000; font-weight: normal; } /* IE6 hacks, the JS used for hover effect in IE6 puts class menuh on li, unless they have a class then just an "h" as seen above and below */ ul#primary-nav li li.menuh { background: none; font-weight: normal; } /* IE6 hacks */ ul#primary-nav li.menuparenth li span { background: none; color: #000; font-weight: normal; } /* IE6 hacks */ ul#primary-nav li.menuparenth li.menuparent span { /* gif for IE6, as it can''t handle transparent png */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; color: #000 } /* IE6 hacks */ ul#primary-nav li.menuparenth li.menuh span { background: none; color: #FFF; font-weight: normal; } /* IE6 hacks */ ul#primary-nav li.menuparenth li.menuparenth { background: none; color: #FFF; font-weight: normal; } ul#primary-nav li.menuactive a { /* set your image here for active tab right */ background: url([[root_url]]/uploads/ngrey/navrttest.gif) no-repeat right 0px; } ul#primary-nav li a.menuactive span { /* set your image here for active tab left */ background: url([[root_url]]/uploads/ngrey/navlefttest.gif) repeat-x left 0px; /* non active is #FFF/white, we need #000/black to contrast with light background */ color: #000; /* bold to set it off from non active */ font-weight: bold; } #primary-nav li li a { /* second level padding, no image and not as big */ padding: 5px 10px; /* to keep it within li */ width: 165px; /* space between them */ margin: 5px; background: none; } /* IE6 hacks to above code */ * html #primary-nav li li a { padding: 5px 10px; width: 165px; margin: 0px; color: #000; } #primary-nav li li:hover { /* remove image set in first level */ background: none; } #primary-nav li li a:hover { /* set different image than first level */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; /* we need #FFF/white to contrast with dark background */ color: #FFF; } #primary-nav li.menuparent li a:hover span { /* insures text color */ color: #FFF; } ul#primary-nav li:hover li a span { /* first level is #FFF/white, we need #000/black to contrast with light background */ color: #000; /* just to insure normal */ font-weight: normal; } #primary-nav li li.menuactive a.menuactive, #primary-nav li li.menuactive a.menuactive:hover { /* set your image here, lighter than hover */ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; /* non active is #FFF/white, we need #000/black to contrast with light background */ color: #000; } #primary-nav li li.menuactive a.menuactive span { /* insures text color */ color: #000 } #primary-nav li li.menuactive a.menuactive:hover span { /* insures text color */ color: #000; } /* IE6 hacks to above code */ #primary-nav li li.menuparenth a.menuparent span { /* right arrow for menu parent, IE6 gif */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; color: #000 } /* IE6 hacks to above code */ #primary-nav li li.menuparenth a.menuparent:hover span { color: #FFF } #primary-nav li li.menuparent a.menuparent span { /* right arrow for parent item */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; } #primary-nav li.menuactive li a:hover span { /* black text */ color: #000 } ul#primary-nav li li a.menuactive span { /* remove image set in first level */ background: none; font-weight: normal; } #primary-nav li.menuactive li a { /* second level active link color */ color: #0587A9; text-decoration: none; background: none; } #primary-nav li.menuactive li a:hover { /* dark image for hover */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; } #primary-nav li.menuactive li a:hover span { /* white text to contrast with dark background image on hover */ color: #FFF; } ul#primary-nav li:hover li a span, ul#primary-nav li.menuparenth li a span { padding: 0px; background: none; } /* this is a special li type from the menu template, used to hold the bottom image for ul set above */ #primary-nav ul li.separator, #primary-nav .separator:hover { /* set same as ul */ width: 210px; /* height of image */ height: 9px; /* negative margin pulls it down to cover ul image */ margin: 0px 0px -8px; /* set your image here */ background: url([[root_url]]/uploads/ngrey/ulbtmrt.png) no-repeat left bottom; } /* same as above for next level to insure it shows correct */ #primary-nav ul ul li.separator, #primary-nav ul ul li.separator:hover { height: 9px; margin: 0px 0px -8px; background: url([[root_url]]/uploads/ngrey/ulbtmrt.png) no-repeat left bottom; } /* IE6 hacks */ * html #primary-nav ul li.separator { height: 2px; background: url([[root_url]]/uploads/ngrey/ulbtmrt.gif) no-repeat left bottom; } /* IE6 hacks */ * html #primary-nav ul li.separatorh { margin: 0px 0px -8px; height: 2px; background: url([[root_url]]/uploads/ngrey/ultop.gif) no-repeat left top; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE Hacks */ #primary-nav li li { float: left; clear: both; } #primary-nav li li a { height: 1%; } EOT; $css = new CmslayoutStylesheet; $css->set_name('Navigation ShadowMenu - Horizontal'); $css->set_content($txt); $css->set_media_types('screen'); $css->save(); $css_list[$css->get_name()] = $css; $txt = <<<EOT /* Vertical menu for the CMS CSS Menu Module */ /* by Alexander Endresen and mark */ #menuwrapper { /* just smaller than it's containing div */ width: 95%; margin-left: 0px; /* room at bottom */ margin-bottom: 10px; } /* Unless you know what you do, do not touch this */ #primary-nav, #primary-nav ul { /* remove any default bullets */ list-style: none; margin: 0px; padding: 0px; /* make sure it fills out */ width: 100%; /* just a little bump */ margin-left: 1px; } #primary-nav li { /* negative bottom margin pulls them together, images look like one border between */ margin-bottom: -1px; /* keeps within it's container */ position: relative; /* bottom padding pushes "a" up enough to show our image */ padding: 0px 0px 4px 0px; /* you can set your own image here */ background: url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right bottom; } #primary-nav li li { /* you can set your width here, if no width or set auto it will only be as wide as the text in it */ width: 190px; /* changes padding inherited from first level */ padding: 0px 10px; /* removes first level li image */ background-image: none; } /* Styling the basic appearance of the menu "a" elements */ ul#primary-nav li a { /* specific font size, this could be larger or smaller than default font size */ font-size: 1em; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors */ color: #595959; /* pushes li out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 0.8em 0.5em 0.5em 0.5em; /* makes it hold a shape */ display: block; /* removes underline from default link setting */ text-decoration: none; /* you can set your own image here this is tall enough to cover text heavy links */ background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; } ul#primary-nav a span { /* makes it hold a shape */ display: block; /* pushes text to right */ padding-left: 1.5em; } ul#primary-nav li a:hover { /* stops image flicker in some browsers */ background: url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; /* changes text color on hover */ color: #899092 } ul#primary-nav li li a:hover { /* you can set your own image here, second level "a" */ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; /* contrast color to image behind it */ color: #FFF } ul#primary-nav li a.menuactive { /* black and bold to set it off from non active */ color: #000; font-weight: bold; } ul#primary-nav li ul a { /* insure alignment */ text-align: left; margin: 0px; /* relative to it's container */ position: relative; /* even padding all 4 sides */ padding: 6px; /* make sure we keep the font normal */ font-weight: normal; /* set default link colors from here on */ color: #000; /* remove any background that may have been set in level above */ background: none; } ul#primary-nav li ul { /* remove any default bullets */ list-style-type: none; /* sets width of second level ul to background image */ width: 209px; height: auto; /* negative margin pulls it over the parent ul */ margin: 0px 0px 0px -2px; /* top padding gives room for image shadow and pushes li down into image */ padding: 10px 0px 0px; /* make the ul stay in place so when we hover it lets the drops go over the content instead of displacing it */ position: absolute; /* keeps the left side of this ul on the right side of the preceding ul */ left: 100%; /* negative top pulls up so left arrow centered in li next to it */ top: -2px; display: none; /* set your image here, tall enough for the ul, this is the left arrow for second ul and on */ background: url([[root_url]]/uploads/ngrey/ultoprt.png) no-repeat left top; } /* a lot of the same as above, minor changes */ ul#primary-nav li ul ul { list-style-type: none; /* bit more negative left margin */ margin: 0px 0px 0px -8px; /* you can call a property twice but not a property:'value', this flat lines it */ padding: 0px; /* now we just change one with 'property'-top:value */ padding-top: 10px; position: absolute; width: 209px; height: auto; /* negative top pulls up so left arrow centered in li next to it, more on 3rd ul covers default drop increase */ top: -5px; left: 100%; display: none; /* set your image here */ background: url([[root_url]]/uploads/ngrey/ultoprt.png) no-repeat left top; } * html ul#primary-nav li ul { /* gif for IE6, as it can't handle transparent png */ background: url([[root_url]]/uploads/ngrey/ultoprt.gif) no-repeat left top; } * html ul#primary-nav li ul ul { /* gif for IE6, as it can't handle transparent png */ background: url([[root_url]]/uploads/ngrey/ultoprt.gif) no-repeat left top; } /* this is a special li type from the menu template, used to hold the bottom image for ul set above */ #primary-nav ul li.separator, #primary-nav .separator:hover { /* set same as ul */ width: 209px; padding: 0px; /* height of image */ height: 9px; /* negative margin pulls it down to cover ul image */ margin: 0px 0px -9px; /* set your image here */ background: url([[root_url]]/uploads/ngrey/ulbtmrt.png) no-repeat left bottom; } /* IE6 'star html' Hack */ * html #primary-nav li ul li.separator { height: 2px; /* set your image here */ background: url([[root_url]]/uploads/ngrey/ulbtmrt.gif) no-repeat left bottom; } /* Fixes IE7 bug*/ #primary-nav li, #primary-nav li.menuparent { min-height: 1em; } /* Styling the basic apperance of the active page elements (shows what page in the menu is being displayed) */ #primary-nav li li.menuactive a.menuactive { /* contrast color to image behind it */ color: #FFF; /* not bold as text color and image behind it set it off from non active */ font-weight: normal; /* set your image here, dark grey image with white text set above*/ background: url([[root_url]]/uploads/ngrey/darknav.png) repeat-x left center; } #primary-nav li.menuparent span { /* padding on left for image */ padding-left: 1.5em; /* down arrow to note it has children, left side of text */ background: url([[root_url]]/uploads/ngrey/active.png) no-repeat left center; } #primary-nav li.menuparent:hover li.menuparent span { /* remove left padding as image is on right side of text */ padding-left: 0; /* right arrow to note it has children, right side of text */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat right center; } #primary-nav li.menuparenth li.menuparent span, #primary-nav li.menuparenth li.menuparenth span { /* same as above but this is for IE6, gif image as it can't handle transparent png */ padding-left: 0; background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat right center; } #primary-nav li.menuparent:hover span, #primary-nav li.menuparent.menuactive span, #primary-nav li.menuparent.menuactiveh span, #primary-nav li.menuparenth span { /* right arrow on hover */ background: url([[root_url]]/uploads/ngrey/parent.png) no-repeat left center; } #primary-nav li li span, #primary-nav li.menuparent li span, #primary-nav li.menuparent:hover li span, #primary-nav li.menuparenth li span, #primary-nav li.menuparenth li.menuparenth li span, #primary-nav li.menuparent li.menuparent li span, #primary-nav li.menuparent li.menuparent:hover li span { /* removes any images set above unless it's a parent or active parent */ background: none; padding-left: 0px; } /* Styling the appearance of menu items on hover */ #primary-nav li:hover li a, #primary-nav li.menuh li a, #primary-nav li.menuparenth li a, #primary-nav li.menuactiveh li a { /* removes any images set above unless it's a parent or active parent */ background: none; color: #000; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited, for fourth level add #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul ul ul, */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul { display: none; } /* for fourth level add #primary-nav ul ul ul li:hover ul, #primary-nav ul ul ul li.menuparenth ul, */ #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul { display: block; } /* IE Hack, will cause the css to not validate */ #primary-nav li, #primary-nav li.menuparenth { _float: left; _height: 1%; } #primary-nav li a { _height: 1%; } /* BIG NOTE: I didn't do anything to these 2, never tested */ #primary-nav li.sectionheader { border-left: 1px solid #006699; border-top: 1px solid #006699; font-size: 130%; font-weight: bold; padding: 1.5em 0 0.8em 0.5em; background-color: #fff; margin: 0; width: 100%; } /* separator */ #primary-nav li hr.separator { display: block; height: 0.5em; color: #abb0b6; background-color: #abb0b6; width: 100%; border: 0; margin: 0; padding: 0; border-top: 1px solid #006699; border-right: 1px solid #006699; }/********************MENU*********************/ /* hack for IE6 */ * html div#menu_horiz { /* hide ie/mac \*/ height: 1%; /* end hide */ } div#menu_horiz { /* background color for the entire menu row */ background-color: #243135; /* insure full width */ width: 100%; /* set height */ height: 49px; margin: 0; } div#menu_horiz ul { /* remove any default bullets */ list-style-type: none; margin: 0; /* pushes the menu div up to give room above for background color to show */ padding-top: 10px; /* keeps the first menu item off the left side */ padding-left: 10px; } /* menu list items */ div#menu_horiz li { /* makes the list horizontal */ float: left; /* remove any default bullets */ list-style: none; /* still no margin */ margin: 0; } /* the links, that is each list item */ div#menu_horiz a, div#menu_horiz h3 span, div#menu_horiz .sectionheader span { /* pushes li out from the text, sort of like making links a certain size, if you give them a set width and/or height you may limit you ability to have as much text as you need */ padding: 12px 15px 15px 0px; /* still no margin */ margin: 0; /* removes default underline */ text-decoration: none; /* default link color */ color: #FFF; /* makes it hold a shape, IE has problems with this, fixed above */ display: block; } /* hover state for links */ div#menu_horiz li a:hover {; /* set your image here, dark grey image with white text set above*/ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left -50px; } div#menu_horiz a span { /* compensates for no left padding on the "a" */ padding-left: 15px; } div#menu_horiz li.parent a span { /* no left padding on the "a" we can set it here, it lets us use the span for an image */ padding-left: 20px; /* set your image here, down arrow to note it has children, left side of text */ background: url([[root_url]]/uploads/ngrey/active.gif) no-repeat 0.3em center; } div#menu_horiz li.parent a:hover span { padding-left: 20px; /* hover replaces default with right arrow image */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat 0.3em center; } div#menu_horiz li.menuactive a span { padding-left: 20px; /* menuactive replaces default with right arrow image */ background: url([[root_url]]/uploads/ngrey/parent.gif) no-repeat 0.5em center; color: #000; } div#menu_horiz li.currentpage h3 span { padding-left: 12px; /* menuactive replaces default with right arrow image */ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; color: #000; } div#menu_horiz .sectionheader span { /* compensates for no left padding on the "sectionheader" */ padding-left: 15px; } /* active parent, that is the first level parent of a child page that is the current page */ div#menu_horiz li.menuactive, div#menu_horiz li.menuactive a:hover { /* set your image here, light image with #000/black text set below*/ background: url([[root_url]]/uploads/ngrey/nav.png) repeat-x left 0px; color: #000; }/******************** MENU *********************/ #menu_vert { margin: 0; padding: 0; } #menu_vert ul { /* remove any bullets */ list-style: none; /* margin/padding set in li */ margin: 0px; padding: 0px; } #menu_vert ul ul { margin: 0; /* padding right sets second level li in on right from first li */ padding: 0px 5px 0px 0px; /* replaces bottom of li.menuactive menuparent, looks like li below it, set in 5px more, is sitting on top of it */ background: transparent url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right -4px; } #menu_vert li { /* remove any bullets */ list-style: none; /* negative bottom margin pulls them together, images look like one border between */ margin: 0px 0px -1px; /* bottom padding pushes "a" up enough to show our image */ padding: 0px 0px 4px 0px; /* you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right bottom; } #menu_vert li.currentpage { padding: 0px 0px 3px 0px; } #menu_vert li.menuactive { margin: 0; padding: 0px; /* replaced by image in ul ul */ background: none; } #menu_vert li.menuactive ul { margin: 0; } #menu_vert li.activeparent { margin: 0; padding: 0px; } /* fix stupid IE6 bug with display:block; */ * html #menu_vert li { height: 1%; } * html #menu_vert li a { height: 1%; } * html #menu_vert li hr { height: 1%; } /** end fix **/ /* first level links */ div#menu_vert a { /* IE6 has problems with this, fixed above */ display: block; /* some air for it */ padding: 0.8em 0.3em 0.5em 1.5em; /* this will be link color for all levels */ color: #18507C; /* Fixes IE7 whitespace bug */ min-height: 1em; /* no underline for links */ text-decoration: none; /* you can set your own image here this is tall enough to cover text heavy links */ background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; } /* next level links, more padding and smaller font */ div#menu_vert ul ul a { font-size: 90%; padding: 0.8em 0.3em 0.5em 2.8em; } /* third level links, more padding */ div#menu_vert ul ul ul a { padding: 0.5em 0.3em 0.3em 3em; } /* hover state for all links */ div#menu_vert a:hover { background-color: transparent; color: #595959; text-decoration: underline; } div#menu_vert a.activeparent:hover { color: #595959; } /* active parent, that is the first level parent of a child page that is the current page */ div#menu_vert li.activeparent { /* you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/liup.gif) no-repeat right -65px; /* white to contrast with background image */ color: #fff; } div#menu_vert li.activeparent a.activeparent { /* you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; /* to contrast with background image */ color: #000; } div#menu_vert li a.parent { /* takes left padding out so span image has room on left */ padding-left: 0em; } div#menu_vert ul ul li a.parent { /* increased padding on left offsets it from one above */ padding-left: 0.9em; } div#menu_vert li a.parent span { display: block; margin: 0; /* adds left padding taken out of "a.parent" */ padding-left: 1.5em; /* arrow on left for pages with children, points down, you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/active.png) no-repeat 2px center; } div#menu_vert li a.parent:hover { /* removes underline hover effect */ text-decoration: none; } div#menu_vert li a.parent:hover span { display: block; margin: 0; padding-left: 1.5em; /* arrow on left for pages with children, points right for hover, you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/parent.png) no-repeat 2px center; } div#menu_vert li a.menuactive.menuparent { /* sets it in a little more than a.parent */ padding-left: 0.35em; } div#menu_vert ul ul li a.menuactive.menuparent { /* sets it in a little more on next level */ padding-left: 0.99em; } div#menu_vert li a.menuactive.menuparent span { display: block; margin: 0; /* to contrast with non active pages */ font-weight: bold; padding-left: 1.5em; /* arrow on left for active pages with children, points right, you can set your own image here */ background: transparent url([[root_url]]/uploads/ngrey/parent.png) no-repeat 2px center; } div#menu_vert li a.menuactive.menuparent:hover { text-decoration: none; color: #18507C; } div#menu_vert ul ul li a.activeparent { color: #fff; } /* current pages in the default Menu Manager template are unclickable. This is for current page on first level */ div#menu_vert ul h3 { display: block; /* some air for it */ padding: 0.8em 0.5em 0.5em 1.5em; /* this will be link color for all levels */ color: #000; /* instead of the normal font size for <h3> */ font-size: 1em; /* as <h3> normally has some margin by default */ margin: 0; /* you can set your own image here, same as "a" */ background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; } /* next level current pages, more padding, smaller font and no background color or bottom border */ div#menu_vert ul ul h3 { font-size: 90%; padding: 0.8em 0.5em 0.5em 2.8em; /* you can set your own image here, same as "a" */ background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; color: #000; } /* current page on third level, more padding */ div#menu_vert ul ul ul h3 { padding: 0.6em 0.5em 0.2em 3em; } /* BIG NOTE: I didn''t do anything to these, never tested */ /* section header */ div#menu_vert li.sectionheader { border-right: none; padding: 0.8em 0.5em 0.5em 1.5em; background: transparent url([[root_url]]/uploads/ngrey/libk.gif) no-repeat right top; line-height: 1em; margin: 0; color: #18507C; cursor:text; } /* separator */ div#menu_vert .separator { height: 1px !important; margin-top: -1px; margin-bottom: 0; -padding: 2px 0 2px 0; background-color: #000; overflow: hidden !important; line-height: 1px !important; font-size: 1px; /* for ie */ } div#menu_vert li.separator hr { display: none; /* this is for accessibility */ }/* @Nuno Costa [criacaoweb.net] Core CSS. @Licensed under GPL and MIT. @Status: Stable @Version: 0.1-20090418 @Contributors: --------------------------------------------------------------- */ /*----------- Global Containers ----------- */ /* .core-wrap-100 = width - 100% of Browser Fluid .core-wrap-960 = width - 960px - fixed .core-wrap-780 = width - 780px - fixed .custom-wrap-x = width - custom - declared in another css (your site css) */ .core-wrap-100 { width: 100%; } .core-wrap-960 { width: 960px; } .core-wrap-780 { width: 780px; } .core-wrap-100, .core-wrap-960, .core-wrap-780, .custom-wrap-x { margin-left: auto; margin-right: auto; } /*----------- Global Float ----------- */ .core-wrap-100 .core-float-left, .core-wrap-960 .core-float-left, .core-wrap-780 .core-float-left, .custom-wrap-x .core-float-left { float: left; display: inline; } .core-wrap-100 .core-float-right, .core-wrap-960 .core-float-right, .core-wrap-780 .core-float-right, .custom-wrap-x .core-float-right { float: right; display: inline; } /*----------- Global Center ----------- */ .core-wrap-100 .core-center, .core-wrap-960 .core-center, .core-wrap-780 .core-center, .custom-wrap-x .core-center { margin-left: auto; margin-right: auto; }/* @Nuno Costa [criacaoweb.net] @Since [cmsms 1.6] @Contributors: Mark and Dev-Team */ body { /* default text for entire site */ font: normal 0.8em Tahoma, Verdana, Arial, Helvetica, sans-serif; /* default text color for entire site */ color: #3A3A36; /* you can set your own image and background color here */ background: #fff url([[root_url]]/uploads/NCleanBlue/bg__full.png) repeat-x scroll left top; } /* Mask helper for browsers ZOOM, Rezise and Decrease */ #ncleanblue { /* set to width of viewport */ width: auto; /* you can set your own image and background color here */ background: #fff url([[root_url]]/uploads/NCleanBlue/bg__full.png) repeat-x scroll left top; } /* wiki style external links */ /* external links will have "(external link)" text added, lets hide it */ a.external span { position: absolute; left: -5000px; width: 4000px; } a.external { /* make some room for the image, css shorthand rules, read: first top padding 0 then right padding 12px then bottom then right */ padding: 0 12px 0 0; } /* colors for external links */ a.external:link { color: #679EBC; /* background image for the link to show wiki style arrow */ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% -100px; } a.external:visited { color: #18507C; /* a different color can be used for visited external links */ /* Set the last 0 to -100px to use that part of the external.gif image for different color for active links external.gif is actually 300px tall, we can use different positions of the image to simulate rollover image changes.*/ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% -100px; } a.external:hover { color: #18507C; /* Set the last 0 to -200px to use that part of the external.gif image for different color on hover */ background: url([[root_url]]/uploads/NCleanBlue/external.gif) no-repeat 100% 0; background-color: inherit; } /* end wiki style external links */ /* hr and anything with the class of accessibility is hidden with CSS from visual browsers */ .accessibility, hr { /* absolute lets us put it outside the viewport with the indents, the rest is to clear all defaults */ position: absolute; top: -9999em; left: -9999em; background: none; border: 0; clear: both; display: block; float: none; font-size: 0; margin: 0; padding: 0; overflow: hidden; visibility: hidden; width: 0; height: 0; border: none; } /* ------------ Standard HTML elements and their default settings ------------ */ b, strong{font-weight: bold;}i, em{ font-style: italic;} p { padding: 0; margin-top: 0.5em; margin-bottom: 1em; text-align:left; } h1, h2, h3, h4, h5 { line-height: 1.6em; font-weight: normal; width: auto; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; } /*default link styles*/ a { color: #679EBC; text-decoration: none; text-align: left; } a:hover { color: #3A6B85; } a:active { color: #3A6B85; } a:visited { color: #679EBC; } input, textarea, select { font-size: 0.95em; } /* ------------ Wrapper ------------ */ div#pagewrapper { font-size: 95%; position: relative; z-index: 1; } /* ------------ Header ------------ */ #header { height: 111px; width: 960px; } #logo a { /* adjust according your image size */ height: 75px; width: 215px; /* forces full link size */ display: block; /* this hides the text */ text-indent: -9999em; margin-top: 0; margin-left: 0; /* you can set your own image here, note size adjustments */ background: url([[root_url]]/uploads/NCleanBlue/logo.png) no-repeat left top; } /* ------------ Header - Search ------------ */ div#search { width: 190px; height: 28px; margin-top: 31px; margin-right: 20px; } div#search label { text-indent: -9999em; height: 0pt; width: 0pt; display: none; } div#search input.search-input { /* specific size for image, your image may need these adjusted */ width: 143px; height: 17px; /* removes default borders, allows use of image */ border-style: none; /* text color */ color: #999; /* padding of text */ padding: 7px 0px 4px 10px; float: left; /* set all font properties at once, weight, size, family */ font: bold 0.9em Arial, Helvetica, sans-serif; /* left input image, set your own here */ background: url([[root_url]]/uploads/NCleanBlue/search.png) no-repeat left top; } div#search input.search-button { /* specific size for image, your image may need these adjusted */ width: 37px; height: 28px; /* removes default borders, allows use of image */ border-style: none; /* hides text, image has text */ text-indent: -9999em; float: left; margin: 0; /* provides positive hover effect */ cursor: pointer; /* removes default size/height */ font-size: 0px; line-height: 0px; /* submit button image, set your own here */ background: transparent url([[root_url]]/uploads/NCleanBlue/search.png) no-repeat right top; } /* ------------ Content ------------ */ #content { width: auto; /* all text in #content will default align left, changed in other calls */ text-align: left; } #bar { width: auto; height: 40px; padding-right: 1em; padding-left: 1em; } .print { margin-right: 75px; margin-top: 10px; } #version { width: 50px; height: 31px; position: absolute; z-index: 5; top: 130px; right: -16px; font-size: 1.6em; font-weight: bold; padding: 28px 15px; color: #FFF; text-align: center; vertical-align: middle; background: url([[root_url]]/uploads/NCleanBlue/version.png) no-repeat left top; } /* IE6 fixes */ * html div#version { top: 150px; } /* End IE6 fixes */ /* Site Title */ h1.title { font-size: 1.8em; color: #666666; margin-bottom: 0.5em; } /* Breadcrumbs */ div.breadcrumbs { padding: 0.5em 0; font-size: 80%; margin: 0 1em; } div.breadcrumbs span.lastitem { font-weight: bold; } /* ------------ Side Bar (Left) ------------ */ #left { width: 250px; } /* Image that Represents the new CMS design */ #left .screen { margin: 10px 50px; } /* End */ .sbar-title { font: bold 1.2em Arial, Helvetica, sans-serif; color: #252523; } .sbar-top { height: 20px; width: auto; padding: 10px; background: url([[root_url]]/uploads/NCleanBlue/bg__content.png) no-repeat left top; } .sbar-main { width: auto; border-right: 1px solid #E2E2E2; border-left: 1px solid #E2E2E2; background: #F0F0F0; } span.sbar-bottom { width: auto; display: block; height: 10px; background: url([[root_url]]/uploads/NCleanBlue/bg__content.png) no-repeat left bottom; } /* ------------ Main (Right) ------------ */ #main { width: 690px; } .main-top { height: 15px; width: auto; background: url([[root_url]]/uploads/NCleanBlue/bg__content.png) no-repeat right top; } .main-main { width: auto; border-right: 1px solid #E2E2E2; border-left: 1px solid #E2E2E2; background: #F0F0F0; padding: 20px; padding-top: 0px; } .main-bottom { width: auto; height: 41px; background: url([[root_url]]/uploads/NCleanBlue/bg__content.png) no-repeat right bottom; } .right49, .left49 { font-size: 0.85em; margin: 7px 5px 5px 10px; font-weight: bold; } .left49 span { display: block; padding-top: 1px; } .left49 a { font-weight: normal; } .right49 { height: 28px; width: 50px; padding-right: 10px; background: url([[root_url]]/uploads/NCleanBlue/bull.png) no-repeat right top; } .right49 a, .right49 a:visited { padding: 7px 4px; display: block; color: #000; height: 15px; background: url([[root_url]]/uploads/NCleanBlue/bull.png) no-repeat left top; } #main h2, #main h3, #main h4, #main h5, #main h6 { font-size: 1.4em; color: #301E12; } div#main ul, div#main ol, div#main dl, #footer ul, #footer ol { line-height: 1em; margin: 0 0 1.5em 0; } div#main ul, #footer ul { list-style: circle; } div#main ul li, div#main ol li, #footer ul li, #footer ol li { padding: 2px 2px 2px 5px; margin-left: 20px; } /* definition lists topics on bold */ div#main dl dt { font-weight: bold; margin: 0 0 0 1em; } div#main dl dd { margin: 0 0 1em 1em; } div#main dl { margin-bottom: 2em; padding-bottom: 1em; border-bottom: 1px solid #c0c0c0; } /* ------------ Footer ------------ */ #footer-wrapper { min-height: 235px; height: auto!important; height: 235px; width: auto; margin-top: 5px; text-align: center; margin-right: 00px; margin-left: 0px; background: #7CA3B5 url([[root_url]]/uploads/NCleanBlue/bg__footer.png) repeat-x left top; } #footer { color: #FFF; font-size: 0.8em; min-height: 235px; height: auto!important; height: 235px; background: #7CA3B5 url([[root_url]]/uploads/NCleanBlue/bg__footer.png) repeat-x left top; } #footer .block { width: 300px; margin: 20px 10px 10px; } #footer .cms { text-align: right; } /* ------------ Footer Links ------------ */ #footer ul { width: auto; text-align: left; margin-left: 50px; } #footer ul ul { margin-left: 0px; } #footer ul li a { color: #FFF; display: block; font-weight: normal; margin-bottom: 0.5em; text-decoration: none; } #footer a { color: #DCEDF1; text-decoration: underline; font-weight: bold; } /* ------------ END LAYOUT ---------------*/ /* ------------ Menu ROOT ------------ */ .page-menu { width: auto; height: 35px; margin: 3px 0 0 20px; } .menuwrapper {} ul#primary-nav li hr.menu_separator{ position: relative; visibility: hidden; display:block; width:5px; height: 32px; margin: 0px 5px 0px; } .page-menu ul#primary-nav { height: 1%; float: left; list-style: none; padding: 0; margin: 0; } .page-menu ul#primary-nav li { float: left; } .page-menu ul#primary-nav li a, .page-menu ul#primary-nav li a span { display: block; padding: 0 10px; background-repeat: no-repeat; background-image: url([[root_url]]/uploads/NCleanBlue/tabs.gif); } .page-menu ul#primary-nav li a { padding-left: 0; color: #000; font-weight: bold; line-height: 2.15em; text-decoration: none; margin-left: 1px; font-size: 0.85em; } .page-menu ul#primary-nav li a:hover, .page-menu ul#primary-nav li a:active { color: #000; } .page-menu ul#primary-nav li a.menuactive, .page-menu ul#primary-nav li a:hover span { color: #000; } .page-menu ul#primary-nav li a span { padding-top: 6px; padding-right: 0; padding-bottom: 5px; } .page-menu ul#primary-nav li a.menuparenth, .page-menu ul#primary-nav li a.menuactive, .page-menu ul#primary-nav li a:hover, .page-menu ul#primary-nav li a:focus, .page-menu ul#primary-nav li a:active { background-position: 100% -120px; } .page-menu ul#primary-nav li a { background-position: 100% -80px; } .page-menu ul#primary-nav li a.menuactive span, .page-menu ul#primary-nav li a:hover span, .page-menu ul#primary-nav li a:focus span, .page-menu ul#primary-nav li a:active span { background-position: 0 -40px; } .page-menu ul#primary-nav li a span { background-position: 0 0; } .page-menu ul#primary-nav .sectionheader, .page-menu ul#primary-nav li a:link.menuactive, .page-menu ul#primary-nav li a:visited.menuactive { /* @ Opera, use pseudo classes otherwise it confuses cursor... */ cursor: text; } .page-menu ul#primary-nav li span, .page-menu ul#primary-nav li a, .page-menu ul#primary-nav li a:hover, .page-menu ul#primary-nav li a:focus, .page-menu ul#primary-nav li a:active { /* @ Opera, we need to be explicit again here now... */ cursor: pointer; } /* Additional IE specific bug fixes... */ * html .page-menu ul#primary-nav { display: inline-block; } *:first-child+html .page-menu ul#primary-nav { display: inline-block; } /* -------------------- menu dropdow ------------------------- /* Unless you know what you do, do not touch this */ /* Reset all ROOT menu styles. */ ul#primary-nav ul.unli li li a span, ul#primary-nav ul.unli li a span, ul#primary-nav .menuparent .unli .menuparent .unli li a span { font-weight: normal; background-image: none; display: block; padding-top: 0px; padding-left: 0px; padding-right: 0px; padding-bottom: 0px; } #primary-nav { margin: 0px; padding: 0px; } #primary-nav ul { list-style: none; margin: -6px 0px 0px; padding: 0px; /* Set the width of the menu elements at second level. Leaving first level flexible. */ width: 209px; } #primary-nav ul { position: absolute; z-index: 1001; top: auto; display: none; padding-top: 9px; background: url([[root_url]]/uploads/NCleanBlue/ultop.png) no-repeat left top; } * html #primary-nav ul.unli { padding-top: 12px; background: url([[root_url]]/uploads/NCleanBlue/ultop.gif) no-repeat left top; } #primary-nav ul.unli ul { margin-left: -7px; left: 100%; top: 3px; } * html #primary-nav ul.unli ul { margin-left: -0px; } #primary-nav li { margin: 0px; float: left; } #primary-nav li li { margin-left: 7px; margin-top: -1px; float: none; position: relative; } /* Styling the basic appearance of the menu elements */ ul#primary-nav ul hr.menu_separator{ position: relative; visibility: visible; display:block; width:130px; height: 1px; margin: 2px 30px 2px; padding: 0em; border-bottom: 1px solid #ccc; border-top-width: 0px; border-right-width: 0px; border-left-width: 0px; border-top-style: none; border-right-style: none; border-left-style: none; } #primary-nav .separator, #primary-nav .separatorh { height: 9px; width: 209px; margin: 0px 0px -8px; background: url([[root_url]]/uploads/NCleanBlue/ulbtm.png) no-repeat left bottom; } * html #primary-nav .separator { z-index:-1; background: url([[root_url]]/uploads/NCleanBlue/ulbtm.gif) no-repeat left bottom; } *:first-child+html #primary-nav .separator { z-index:-1; } #primary-nav ul.unli li a { padding: 0px 10px; width: 165px; margin: 5px; background-image: none; } * html #primary-nav ul.unli li a { padding: 0px 10px 0px 5px; width: 165px; margin: 5px 0px; } #primary-nav li li a:hover { background-color: #DBE7F2; } /* Styling the basic appearance of the active page elements (shows what page in the menu is being displayed) */ #primary-nav li.menuactive li a { text-decoration: none; background: none; } #primary-nav ul.unli li.menuparenth, #primary-nav ul.unli a:hover, #primary-nav ul.unli a.menuactive { background-color: #DBE7F2; } /* Styling the basic apperance of the menuparents - here styled the same on hover (fixes IE bug) */ #primary-nav ul.unli li .menuparent, #primary-nav ul.unli li .menuparent:hover, #primary-nav ul.unli li .menuparent, #primary-nav .menuactive.menuparent .unli .menuactive.menuparent .menuactive.menuparent { background-image: url([[root_url]]/uploads/NCleanBlue/arrow.gif); background-position: center right; background-repeat: no-repeat; } /* The magic - set to work for up to a 3 level menu, but can be increased unlimited */ #primary-nav ul, #primary-nav li:hover ul, #primary-nav li:hover ul ul, #primary-nav li:hover ul ul ul, #primary-nav li.menuparenth ul, #primary-nav li.menuparenth ul ul, #primary-nav li.menuparenth ul ul ul { display: none; } #primary-nav li:hover ul, #primary-nav ul li:hover ul, #primary-nav ul ul li:hover ul, #primary-nav ul ul ul li:hover ul, #primary-nav li.menuparenth ul, #primary-nav ul li.menuparenth ul, #primary-nav ul ul li.menuparenth ul, #primary-nav ul ul ul li.menuparenth ul { display: block; } /* IE Hacks */ #primary-nav li li { float: left; clear: both; } #primary-nav li li a { height: 1%; } /*************** End Menu *****************/ /* ------------ News Module ------------ */ #news { padding: 10px; } .NewsSummary { } .NewsSummaryPostdate, .NewsSummaryCategory, .NewsSummaryAuthor { font-style: italic; font-size: 0.8em; } .NewsSummaryLink { margin: 2px 0; } .NewsSummaryContent { margin: 10px 0; } .NewsSummaryMorelink { margin: 5px 0 15px; } /* ------------ End News Module ------------ *//* @Nuno Costa [criacaoweb.net] Utils CSS. @Licensed under GPL2 and MIT. @Status: Stable @Version: 0.1-20090418 @Contributors: - http://meyerweb.com/eric/tools/css/reset/index.html --------------------------------------------------------------- */ /* From: http://meyerweb.com/eric/tools/css/reset/index.html (Original) */ /* v1.0 | 20080212 */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; } /* Stantby for nowbody { line-height: 1; } */ ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } /* remember to define focus styles! */ :focus { outline: 0; } /* remember to highlight inserts somehow! */ ins { text-decoration: none; } del { text-decoration: line-through; } /* tables still need 'cellspacing="0"' in the markup */ table { border-collapse: collapse; border-spacing: 0; } /* ------- @Nuno Costa [criacaoweb.net] Utils CSS. ---------- */ * { font-weight: inherit; font-style: inherit; font-family: inherit; } dfn { display: none; overflow: hidden; } /* ----------- Clear Floated Elements ----------- */ html body .util-clearb { background: none; border: 0; clear: both; display: block; float: none; font-size: 0; margin: 0; padding: 0; position: static; overflow: hidden; visibility: hidden; width: 0; height: 0; } /* ----------- Fix to Clear Floated Elements ----------- */ .util-clearfix:after { clear: both; content: '.'; display: block; visibility: hidden; height: 0; } .util-clearfix { display: inline-block; } * html .util-clearfix { height: 1%; } .util-clearfix { display: block; }/* Sections that are hidden when printing the page. We only want the content printed. */ body { color: #000 !important; /* we want everything in black */ background-color:#fff !important; /* on white background */ font-family:arial; /* arial is nice to read ;) */ border:0 !important; /* no borders thanks */ } /* This affects every tag */ * { border:0 !important; /* again no borders on printouts */ } /* no need for accessibility on printout. Mark all your elements in content you dont want to get printed with class="noprint" */ .accessibility, .noprint { display:none !important; } /* remove all width constraints from content area */ div#content, div#main { display:block !important; width:100% !important; border:0 !important; padding:1em !important; } /* hide everything else! */ div#header, div#header h1 a, div.breadcrumbs, div#search, div#footer, div#menu_vert, div#news, div.noprint, div.right49, div.left49, div#sidebar { display: none !important; } img { float:none; /* this makes images cause a pagebreak if it doesnt fit on the page */ }[[strip]] [[* /*! normalize.css v2.1.3 | MIT License | git.io/normalize */ *]] [[* /* ========================================================================== HTML5 display definitions ========================================================================== */ *]] [[* /** * Correct `block` display not defined in IE 8/9. */ *]] article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; } [[* /** * Correct `inline-block` display not defined in IE 8/9. */ *]] audio, canvas, video { display: inline-block; } [[* /** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */ *]] audio:not([controls]) { display: none; height: 0; } [[* /** * Address `[hidden]` styling not present in IE 8/9. * Hide the `template` element in IE, Safari, and Firefox < 22. */ *]] [hidden], template { display: none; } [[* /* ========================================================================== Base ========================================================================== */ *]] [[* /** * 1. Set default font family to sans-serif. * 2. Prevent iOS text size adjust after orientation change, without disabling * user zoom. */ *]] html { font-family: sans-serif; [[* /* 1 */ *]] -ms-text-size-adjust: 100%; [[* /* 2 */ *]] -webkit-text-size-adjust: 100%; [[* /* 2 */ *]] } [[* /** * Remove default margin. */ *]] body { margin: 0; } [[* /* ========================================================================== Links ========================================================================== */ *]] [[* /** * Remove the gray background color from active links in IE 10. */ *]] a { background: transparent; } [[* /** * Address `outline` inconsistency between Chrome and other browsers. */ *]] a:focus { outline: thin dotted; } [[* /** * Improve readability when focused and also mouse hovered in all browsers. */ *]] a:active, a:hover { outline: 0; } [[* /* ========================================================================== Typography ========================================================================== */ *]] [[* /** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+, Safari 5, and Chrome. */ *]] h1 { font-size: 2em; margin: 0.67em 0; } [[* /** * Address styling not present in IE 8/9, Safari 5, and Chrome. */ *]] abbr[title] { border-bottom: 1px dotted; } [[* /** * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */ *]] b, strong { font-weight: bold; } [[* /** * Address styling not present in Safari 5 and Chrome. */ *]] dfn { font-style: italic; } [[* /** * Address differences between Firefox and other browsers. */ *]] hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } [[* /** * Address styling not present in IE 8/9. */ *]] mark { background: #ff0; color: #000; } [[* /** * Correct font family set oddly in Safari 5 and Chrome. */ *]] code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; } [[* /** * Improve readability of pre-formatted text in all browsers. */ *]] pre { white-space: pre-wrap; } [[* /** * Set consistent quote types. */ *]] q { quotes: "\201C" "\201D" "\2018" "\2019"; } [[* /** * Address inconsistent and variable font size in all browsers. */ *]] small { font-size: 80%; } [[* /** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ *]] sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; } [[* /* ========================================================================== Embedded content ========================================================================== */ *]] [[* /** * Remove border when inside `a` element in IE 8/9. */ *]] img { border: 0; } [[* /** * Correct overflow displayed oddly in IE 9. */ *]] svg:not(:root) { overflow: hidden; } [[* /* ========================================================================== Figures ========================================================================== */ *]] [[* /** * Address margin not present in IE 8/9 and Safari 5. */ *]] figure { margin: 0; } [[* /* ========================================================================== Forms ========================================================================== */ *]] [[* /** * Define consistent border, margin, and padding. */ *]] fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; } [[* /** * 1. Correct `color` not being inherited in IE 8/9. * 2. Remove padding so people aren''t caught out if they zero out fieldsets. */ *]] legend { border: 0; [[* /* 1 */ *]] padding: 0; [[* /* 2 */ *]] } [[* /** * 1. Correct font family not being inherited in all browsers. * 2. Correct font size not being inherited in all browsers. * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */ *]] button, input, select, textarea { font-family: inherit; [[* /* 1 */ *]] font-size: 100%; [[* /* 2 */ *]] margin: 0; [[* /* 3 */ *]] } [[* /** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */ *]] button, input { line-height: normal; } [[* /** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. * Correct `select` style inheritance in Firefox 4+ and Opera. */ *]] button, select { text-transform: none; } [[* /** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */ *]] button, html input[type="button"], [[* /* 1 */ *]] input[type="reset"], input[type="submit"] { -webkit-appearance: button; [[* /* 2 */ *]] cursor: pointer; [[* /* 3 */ *]] } [[* /** * Re-set default cursor for disabled elements. */ *]] button[disabled], html input[disabled] { cursor: default; } [[* /** * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */ *]] input[type="checkbox"], input[type="radio"] { box-sizing: border-box; [[* /* 1 */ *]] padding: 0; [[* /* 2 */ *]] } [[* /** * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome * (include `-moz` to future-proof). */ *]] input[type="search"] { -webkit-appearance: textfield; [[* /* 1 */ *]] -moz-box-sizing: content-box; -webkit-box-sizing: content-box; [[* /* 2 */ *]] box-sizing: content-box; } [[* /** * Remove inner padding and search cancel button in Safari 5 and Chrome * on OS X. */ *]] input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } [[* /** * Remove inner padding and border in Firefox 4+. */ *]] button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } [[* /** * 1. Remove default vertical scrollbar in IE 8/9. * 2. Improve readability and alignment in all browsers. */ *]] textarea { overflow: auto; [[* /* 1 */ *]] vertical-align: top; [[* /* 2 */ *]] } [[* /* ========================================================================== Tables ========================================================================== */ *]] [[* /** * Remove most spacing between table cells. */ *]] table { border-collapse: collapse; border-spacing: 0; } [[* /*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */ *]] [[* /* * What follows is the result of much research on cross-browser styling. * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, * Kroc Camen, and the H5BP dev community and team. */ *]] [[* /* ========================================================================== Base styles: opinionated defaults ========================================================================== */ *]] html { color: #222; font-size: 1em; line-height: 1.4; } [[* /* * A better looking default horizontal rule */ *]] hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } [[* /* * Remove the gap between images, videos, audio and canvas and the bottom of * their containers: h5bp.com/i/440 */ *]] audio, canvas, img, svg, video { vertical-align: middle; } [[* /* * Remove default fieldset styles. */ *]] fieldset { border: 0; margin: 0; padding: 0; } [[* /* * Allow only vertical resizing of textareas. */ *]] textarea { resize: vertical; } [[* /* ========================================================================== Helper classes ========================================================================== */ *]] [[* /* * Hide from both screenreaders and browsers: h5bp.com/u */ *]] .hidden { display: none !important; visibility: hidden; } [[* /* * Hide only visually, but have it available for screenreaders: h5bp.com/v */ *]] .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } [[* /* * Extends the .visuallyhidden class to allow the element to be focusable * when navigated to via the keyboard: h5bp.com/p */ *]] .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } [[* /* * Hide visually and from screenreaders, but maintain layout */ *]] .invisible { visibility: hidden; } [[* /* * Clearfix: contain floats * * For modern browsers * 1. The space content is one way to avoid an Opera bug when the * `contenteditable` attribute is included anywhere else in the document. * Otherwise it causes space to appear at the top and bottom of elements * that receive the `clearfix` class. * 2. The use of `table` rather than `block` is only necessary if using * `:before` to contain the top-margins of child elements. */ *]] .cf:before, .cf:after { content: " "; [[* /* 1 */ *]] display: table; [[* /* 2 */ *]] } .cf:after { clear: both; } [[* /* ===================================== BASE STYLES ===================================== */ *]] [[* /* * 1. Remove default vertical scrollbar in IE6/7/8/9 * 2. Allow only vertical resizing */ *]] textarea { overflow: auto; vertical-align: top; resize: vertical } ul, ol { margin: 1em 0; padding: 0 0 0 40px } dd { margin: 0 0 0 40px } nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0 } [[* /* Redeclare monospace font family */ *]] pre, code, kbd, samp { font-family: monospace, serif; _font-family: courier new, monospace; font-size: 1em } [[* /* Improve readability of pre-formatted text in all browsers */ *]] pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word } q { quotes: none } q:before, q:after { content: ""; content: none } small { font-size: 85% } [[* /* correct text resizing */ *]] html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100% } body { margin: 0; font-size: 1em; -webkit-font-smoothing: antialiased; } [[* /* ===================================== 12 COLUMN GRID ===================================== */ *]] [[* /* ========================================================================== 12 Column Grid System based on the 1140px Grid V2 by Andy Taylor http://cssgrid.net Extended by Goran Ilic http://www.ich-mach-das.at https://github.com/Stikki/Yetti/blob/master/static/css/yetti-grid.css ========================================================================== */ *]] .container { padding-left: 10px; padding-right: 10px; } .row { width: 100%; max-width: 1440px; margin: 0 auto; position: relative; } .row:before, .row:after, .form-row:before, .form-row:after { content: " "; display: table; } .row:after, .form-row:after { clear: both; } [[* /* ========================================================================== Base 12 Column Grid ========================================================================== */ *]] .full { width: 100%; display: block; } .half, .third, .two-third, .quarter, .three-quarter, .fifth, .two-fifth, .three-fifth, .four-fifth { float: left; } .half { width: 50%; } .third { width: 33.33%; } .two-third { width: 66.66%; } .quarter { width: 25%; } .three-quarter { width: 75%; } .fifth { width: 20%; } .two-fifth { width: 40%; } .three-fifth { width: 60%; } .four-fifth { width: 80% } [[* /* Animate position of columns */ *]] .row [class*="-col"] { -webkit-transition:all .4s ease; -moz-transition:all .4s ease; -o-transition:all .4s ease; -ms-transition:all .4s ease; transition:all .4s ease; } @media only screen and (min-width: 768px) { .container { padding-left: 20px; padding-right: 20px; } [[* /* ========================================================================== Base 12 Column Grid ========================================================================== */ *]] .col, .one-col, .two-col, .three-col, .four-col, .five-col, .six-col, .seven-col, .eight-col, .nine-col, .ten-col, .eleven-col { margin-left: 3.8%; float: left; min-height: 1px; position: relative; } .row .one-col { width: 4.85%; } .row .two-col { width: 13.45%; } .row .three-col { width: 22.05%; } .row .four-col { width: 30.75%; } .row .five-col { width: 39.45%; } .row .six-col { width: 48.1%; } .row .seven-col { width: 56.75%; } .row .eight-col { width: 65.4%; } .row .nine-col { width: 74.05%; } .row .ten-col { width: 82.7%; } .row .eleven-col { width: 91.35%; } .row .twelve-col { width: 100%; margin-left: 0; } .row [class*="-col"]:first-child, .row [class*="-col"].first { margin-left: 0; } [[* /* ========================================================================== Offset Space ========================================================================== */ *]] .row .offset-one { margin-left: 8.65% !important; } .row .offset-two { margin-left: 17.25% !important; } .row .offset-three { margin-left: 25.85% !important; } .row .offset-four { margin-left: 34.55% !important; } .row .offset-five { margin-left: 43.25% !important; } .row .offset-six { margin-left: 51.8% !important; } .row .offset-seven { margin-left: 60.55% !important; } .row .offset-eight { margin-left: 69.2% !important; } .row .offset-nine { margin-left: 77.85% !important; } .row .offset-ten { margin-left: 86.5% !important; } .row .offset-eleven { margin-left: 95.15% !important; } [[* /* ========================================================================== Push & Pull Space ========================================================================== */ *]] .row .push-one, .row .push-two, .row .push-three, .row .push-four, .row .push-five, .row .push-six, .row .push-seven, .row .push-eight, .row .push-nine, .row .push-ten, .row .push-eleven, .row .pull-one, .row .pull-two, .row .pull-three, .row .pull-four, .row .pull-five, .row .pull-six, .row .pull-seven, .row .pull-eight, .row .pull-nine, .row .pull-ten, .row .pull-eleven { position: relative; margin-left: 0; } .row .push-one { left: 8.65%; } .row .push-two { left: 17.25%; } .row .push-three { left: 25.85%; } .row .push-four { left: 34.55%; } .row .push-five { left: 43.25%; } .row .push-six { left: 51.8%; } .row .push-seven { left: 60.55%; } .row .push-eight { left: 69.2%; } .row .push-nine { left: 77.85%; } .row .push-ten { left: 86.5%; } .row .push-eleven { left: 95.15%; } .row .pull-one { right: 4.85%; } .row .pull-two { right: 13.45%; } .row .pull-three { right: 22.05%; } .row .pull-four { right: 30.75%; } .row .pull-five { right: 39.45%; } .row .pull-six { right: 48%; } .row .pull-seven { right: 56.75%; } .row .pull-eight { right: 65.4%; } .row .pull-nine { right: 74.05%; } .row .pull-ten { right: 82.7%; } .row .pull-eleven { right: 91.35%; } } [[/strip]][[strip]] [[* APPEARANCE *]] [[* /** * @copyright CMS Made Simple 2014 * @author Goran Ilic (uniqu3e@gmail.com) * @version 1.1 (CMSMS 2.0 Package) * * Simplex Theme comes with 2 predefined Style variations, one is a "boxed" style as seen in * default installation which is controle with "boxed" ID that is set in Simplex Theme <body> tag. * If you remove this ID, a grey background on page body will be removed and layout will no longer * be wrapped inside a "box" but appear in a single background color which is by default white. * * Besides there are also predefined class names and styles that you can use on <body> tag to * change alignment of complete layout/page. * If you rightaligned class to body (example: <body class='rightaligned and other classes'>) * then whole page layout will be positioned to right window side instead of centered position * and with class leftaligned the page layout will be positioned to left. * * Maximum width of page layout is preset to 1440px in Simplex Core stylesheet, you can change this * by adding a new rule in this stylesheet with a class .row (Example: .row { max-width: 1080px; }). * If you prefer a full width layout simply add fullwidth class to body tag of Simplex Template. * This class will reset max-width limitation and force the page layout to full window width with * spacing on left and right of 30px. * * Browser Support: * Simplex Theme was tested in common modern Browser and IE8 (with gracefull fallback). * * Grid usage: * Simplex is using a custom Yetti Framework 12 column grid (https://github.com/Stikki/Yetti/tree/master) * based on Andy Taylors (http://cssgrid.net) 1140px Grid. * * Using the grid system is fairly simple. Make sure that grid columns * are wrapped inside a element with .row class. * When grid columns are inside a row element, floats are auto cleared, * therefore you do not need anything like some empty clear element ie. <div class="clear"></div> * Grid columns have a spacing (margin-left) of 3.8% of the layout, whereby first column after * .row opening element will have no spacing (margin-left). * Grid columns are only applied to Browser and Screen size which are greater then 768px; * * Example (three column row): * * <!-- container has a preset padding to left and right with 20px --> * <div class="container"> * <!-- clears floating row of columns, sets maximum width of 1440px --> * <div class="row some-class-to-apply-styles"> * <!-- * four-col explanation: a simple math, grid is built out of 12 columns, so we say we want * a grid column in size of four columns width therefore the name four- and to fill * our .row it is three times four-col column makes twelve columns (3 x 4 = 12) * --> * <div class="four-col my-class"> * Some content * </div> * <div class="four-col my-class"> * Some content * </div> * <div class="four-col my-class"> * Some content * </div> * </div> * <div class="row"> * <div class="six-col"> * Half width content * </div> * <div class="six-col"> * Half width content * </div> * </div> * </div> * */ *]] [[* /* assign the images path to a variable */ *]] [[capture assign='path']][[uploads_url]]/simplex/images[[/capture]] [[capture assign='font']][[uploads_url]]/simplex/fonts[[/capture]] [[* /* --- COLORS --- */ *]] [[assign var='light_grey' value='#f1f1f1']] [[assign var='grey' value='#e9e9e9']] [[assign var='dark_grey' value='#555' scope=global]] [[assign var='white' value='#fff']] [[assign var='orange' value='#f39c2c' scope=global]] [[assign var='dark_orange' value='#e6870e']] [[assign var='yellow' value='#fdbd34']] [[* /* ===================================== ICON FONT ===================================== */ *]] [[* /* Will fail on Windows Phone 7, sorry developer life sucks */ *]] @font-face { font-family: 'simplex'; src: url('[[$font]]/simplex.eot'); src: url('[[$font]]/simplex.eot?#iefix') format('embedded-opentype'), url('[[$font]]/simplex.woff') format('woff'), url('[[$font]]/simplex.ttf') format('truetype'), url('[[$font]]/simplex.svg#simplex') format('svg'); font-weight: normal; font-style: normal; } [class^="icon-"], [class*=" icon-"] { font-family: 'simplex'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-arrow-up:before { content: "\e600"; } .icon-arrow-left:before { content: "\e601"; } .icon-search:before { content: "\e603"; } .icon-printer:before { content: "\e604"; } .icon-linkedin:before { content: "\e605"; } .icon-pinterest:before { content: "\e606"; } .icon-youtube:before { content: "\e607"; } .icon-facebook:before { content: "\e608"; } .icon-google:before { content: "\e609"; } .icon-twitter:before { content: "\e60a"; } .icon-link:before { content: "\e602"; } [[* /* ===================================== GENERAL STYLES ===================================== */ *]] body { background: [[$white]]; font-family: 'Noto Sans', sans-serif; font-size: 1em; [[* /* base browser font size: 16px, now do math "XX / 16 = ??" where XX is desired font size */ *]] color: [[$dark_grey]]; line-height: 1.5; } [[* /* add this class to <body> to align the layout to left instead of centered */ *]] .leftaligned { margin-left: 0; } [[* /* add this class to <body> to align the layout to right instead of centered */ *]] .rightaligned { margin-right: 0; } [[* /* you can change appearance of the page by adding or removing #boxed id to <body> tag. * By removing #boxed ID, page will no longer be wrapped in a wrapper */ *]] body#boxed { background: #f2f2f2 url([[$path]]/body-background.png) repeat; } [[* /* add this class to <body> to make this layout full window width */ *]] body.fullwidth .row { max-width: none; } a img { border: none; } [[* /* you can use these classes to align images to left or right */ *]] .right { float: right; } .left { float: left; } [[* /* if image needs some space add this class to img tag * so at the end a left floating image would be <img src='some.jpg' class='left spacing' alt='foo' /> */ *]] .spacing { margin: 15px; } .spacing.left { margin-right: 0; } .spacing.right { margin-left: 0; } [[* /* or add a 2 px border to image or something, change as you need it */ *]] .border { border: 2px solid [[$grey]]; } [[* /* some styling for code chunks */ *]] pre, code, kbd, samp { font-family: Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', monospace; color: [[$dark_grey]]; } pre code { line-height: 1.4; font-size: .8125em; } pre { padding: 10px; margin: 10px 0; overflow: auto; width: 93%; background: [[$light_grey]]; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; -o-border-radius: 6px; } [[* /* target IE7 and IE6 */ *]] *:first-child+ html pre { padding-bottom: 20px; overflow-y: hidden; overflow: visible; overflow-x: auto; } * html pre { padding-bottom: 20px; overflow: visible; overflow-x: auto; } [[* /* horizontal ruler */ *]] hr { border: solid [[$grey]]; border-width: 1px 0 0 0; clear: both; margin: 10px 0 30px 0; height: 0; } [[* /* ===================================== COMMON TYPOGRAPHY ===================================== */ *]] [[* /* link default styles */ *]] a { color: [[$orange]]; } a.external { text-decoration: none; } a:visited { color: [[$dark_orange]]; } a:hover { color: [[$dark_grey]]; transition: transform .3s ease-out; -webkit-transition: color .3s ease-out; -moz-transition: color .3s ease-out; -o-transition: color .3s ease-out; text-decoration: underline; } a:focus { outline: thin dotted; } a:hover, a:active { outline: 0; } [[* /* add icon to links with class external */ *]] a.external:after { content: "\e602"; padding-left: 4px; font-family: 'simplex'; text-decoration: none; } [[* /* default heading styles */ *]] h1, h2 { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-weight: 700; } h3, h4, h5, h6 { font-weight: 400; } h1 { color: [[$orange]]; margin: 10px 0; font-size: 2em; [[* /* 32px */ *]] text-transform: uppercase; } h2 { color: [[$dark_grey]]; font-size: 1.75em; [[* /* 28px */ *]] } h3 { color: [[$dark_grey]]; font-size: 1.5em; [[* /* 24px */ *]] } h4 { color: [[$orange]]; font-size: 1.375em; [[* /* 22px */ *]] } h5 { font-size: 1.25em [[* /* 20px */ *]] } h6 { font-size: 1.125em; [[* /* 18px */ *]] } [[* /* blockquotes and cites */ *]] blockquote, blockquote p { font-size: 1.0625em; line-height: 1.5; color: [[$dark_grey]]; font-style: italic; font-family: Georgia, Times New Roman, serif; } blockquote { margin: 0 0 20px 0; padding: 9px 10px 10px 19px; border-left: 5px solid [[$light_grey]]; } blockquote cite { display: block; font-size: .941176em; color: [[$dark_grey]]; } blockquote cite:before { content: "\2014 \0020"; } blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { font-family: Georgia, Times New Roman, serif; } [[* /* ===================================== LAYOUT ===================================== */ *]] [[* /* wrapping the page in a box */ *]] .page-wrapper { border-top: 5px solid [[$orange]]; margin-bottom: 15px; } [[* /* you can switch appearance of the page by adding or removing id #boxed to body tag */ *]] #boxed #wrapper { margin-top: 15px; border-top: 5px solid [[$orange]]; background: [[$white]]; box-shadow: 0 0 15px 0 #c6c6c6; } #boxed.page-wrapper { border-top: none; } [[* /* add some spacing to page wrapper */ *]] .inner-section { padding-left: 20px; padding-right: 20px; } [[* /* ------ HEADER SECTION ------ */ *]] [[* /* the logo */ *]] .logo { margin-top: 20px; text-align: center; } .logo a { display: block; } .top .header { border-bottom: 1px solid [[$light_grey]]; } [[* /* catchphrase */ *]] .phrase span { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; color: #ddd; font-weight: 700; font-size: 1.5em; [[* /* 24px */ *]] } [[* /* search */ *]] .search { text-align: right; } [[* /* webkit browser add icons to input of type search, we dont want it here now */ *]] input.search-input::-webkit-search-decoration, input.search-input::-webkit-search-results-button, input.search-input::-webkit-search-results-decoration { -webkit-appearance: none; } .search .icon-search { margin-left: -25px; display: inline-block; height: 24px; line-height: 24px; text-align: center; width: 24px; position: relative; z-index: 10; color: #ddd; top: 3px; } .search ::-webkit-input-placeholder, .search ::-moz-placeholder, .search input[placeholder] { line-height: normal; } [[* /* styling the search input field */ *]] input.search-input { border: 1px solid [[$light_grey]]; line-height: normal; outline: 0; padding: 6px 0 6px .5%; font-size: .6875em; [[* /* 11px */ *]] color: [[$dark_grey]]; transition: all .35s ease-in-out; -webkit-transition: all .35s ease-in-out; -moz-transition: all .35s ease-in-out; -o-transition: all .35s ease-in-out; max-width: 99.5%; } input.search-input:focus { border: 1px solid [[$orange]]; box-shadow: 0 0 3px [[$orange]]; -webkit-box-shadow: 0 0 3px [[$orange]]; -moz-box-shadow: 0 0 3px [[$orange]]; -o-box-shadow: 0 0 3px [[$orange]]; } [[* /* ------ NAVIGATION ------ */ *]] #main-menu { margin-top: 25px; } [[* /* --- FIRST LEVEL --- */ *]] #main-menu > li { display: block; border-bottom: 1px dotted [[$light_grey]]; position: relative; } #main-menu > li:last-child { border-bottom: none; } #main-menu > li > a, #main-menu > li.sectionheader > span { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; color: [[$dark_grey]]; text-decoration: none; font-size: 1.0625em; [[* /* 17px */ *]] font-weight: 700; cursor: pointer; padding: 8px 0; display: block; position: relative; } #main-menu > li.current > a, #main-menu > li.current.sectionheader > span, #main-menu > li:hover > a, #main-menu > li.sectionheader:hover > span { color: [[$dark_orange]]; } [[* /* --- SECOND LEVEL --- */ *]] #main-menu > li > ul, #main-menu > li > ul > li > ul [[* /* third level */ *]] { position: absolute; left: -999em; } #main-menu > li:hover > ul, #main-menu > li.active > ul, #main-menu > li > ul > li:hover > ul, [[* /* third level */ *]] #main-menu > li > ul > li.active > ul { position: relative; left: 0; } #main-menu > li > ul > li > a, #main-menu > li > ul > li.sectionheader > span, #main-menu > li > ul > li > ul > li > a, [[* /* third level */ *]] #main-menu > li > ul > li > ul > li.sectionheader > span { text-decoration: none; color: [[$dark_grey]]; text-transform: uppercase; display: block; padding: 4px 0; } #main-menu > li > ul > li:hover > a, #main-menu > li > ul > li.sectionheader:hover > span, #main-menu > li > ul > li > ul > li:hover > a, #main-menu > li > ul > li > ul > li.sectionheader:hover > span { color: #999; } [[* /* --- THIRD LEVEL --- */ *]] #main-menu > li > ul > li > ul > li > a, #main-menu > li > ul > li > ul > li.sectionheader > span { padding-left: 15px; font-size: .875em; text-transform: none; } [[* /* --- PARENT INDICATOR --- */ *]] #main-menu > li > a i, #main-menu > li > ul > li > a i, #main-menu > li.sectionheader > span i, #main-menu > li > ul > li.sectionheader > span i { float: right; position: relative; padding-top: 6px; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: -webkit-transform 250ms ease-out 0s; -moz-transition: -moz-transform 250ms ease-out 0s; -o-transition: -o-transform 250ms ease-out 0s; transition: transform 250ms ease-out 0s; } #main-menu > li:hover > a i, #main-menu > li.active > a i, #main-menu > li > ul > li:hover > a i, #main-menu > li > ul > li.active > a i, #main-menu > li.sectionheader:hover > span i, #main-menu > li.active.sectionheader > span i, #main-menu > li > ul > li.sectionheader:hover > span i, #main-menu > li > ul > li.active.sectionheader > span i { -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); } [[* /* ------ CONTENT AREA ------ */ *]] .content-wrapper { padding-top: 20px; } .content-top { font-family: Georgia, Times New Roman, serif; color: [[$dark_grey]]; font-style: italic; line-height: 20px; position: relative; } .content-top .title-border { content: ''; height: 1px; display: block; width: 100%; border-bottom: 1px dotted #ddd; position: absolute; top: 50%; } [[* /* breadcrumbs */ *]] .breadcrumb { display: inline-block; background: [[$white]]; width: auto; padding-right: 6px; z-index: 1; position: relative; } .breadcrumb a { color: [[$dark_grey]]; display: inline-block; width: auto; background: [[$white]]; } [[* /* print button */ *]] a.printbutton { display: none; } [[* /* news module summary -> content */ *]] .content .news-summary span.heading { display: none; } .content .news-article { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted [[$grey]]; } .content .news-summary ul.category-list { margin: 15px 0; } .content .news-summary ul.category-list li a, .news-summary ul.category-list li span { border-radius: 4px; } .news-summary ul.category-list li span { opacity: .4; } [[* /* news module summary -> sitewide (content + sidebar) */ *]] [[* /* article heading */ *]] .news-article h2 { margin: 0 0 15px 0; } .news-article h2 a { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; color: [[$dark_grey]]; font-size: 16px; text-decoration: none; font-weight: 700; } [[* /* date circle, well square for IE */ *]] .news-article .date { background: [[$orange]]; color: [[$white]]; display: block; float: left; width: 40px; padding: 6px; height: 40px; border-radius: 26px; text-align: center; font-family: Georgia, Times New Roman, serif; } .news-article .day { font-size: 20px; line-height: 1; padding-bottom: 2px; font-style: italic; display: block; } .news-article.month { font-size: 11px; display: block } [[* /* author and category */ *]] .news-article .author, .news-article .category { font-family: Georgia, Times New Roman, serif; display: block; padding-left: 60px; font-size: 11px; font-style: italic; } [[* /* category list on top of summary */ *]] .news-summary ul.category-list { margin: 15px 0 -1px 0; padding: 0; list-style: none; } .news-summary ul.category-list li { float: left; display: block; width: auto; margin-right: 5px; } .news-summary ul.category-list li a, .news-summary ul.category-list li span { display: block; color: [[$dark_grey]]; padding: 4px 8px; background: [[$light_grey]]; border-radius: 4px 4px 0 0; text-decoration: none; font-size: 11px; text-transform: uppercase; } .news-summary ul.category-list li a:hover { color: [[$orange]]; } .news-summary .paginate { font: italic 11px/1.2 Georgia, Times New Roman, serif; } .news-summary .paginate a { padding: 0 3px; } .news-meta { background: [[$light_grey]]; padding: 10px; margin: 10px 0; } [[* /* more link */ *]] .more, .more a, [[* /* back link */ *]] .back, .back a, [[* /* previous, next links */ *]] .previous a, .next a, .previous, .next { font: italic 12px/1.3 Georgia, Times New Roman, serif; color: [[$dark_grey]]; text-decoration: none; } [[* /* hover behavior of more, next, previous links */ *]] .more a:hover, .back a:hover, .previous a:hover, .next a:hover { text-decoration: underline; } .previous, .next { padding: 6px 0; } [[* /* align next link to right */ *]] .previous { float: left; } .next { float: right; } [[* /* ------ SIDEBAR AREA ------ */ *]] [[* /* news module summary -> sidebar */ *]] .sidebar .news-summary span.heading { position: relative; color: [[$dark_grey]]; font: normal 1em/1.25 Georgia, Times New Roman, serif; margin: 0 0 15px 0; display: block; } .sidebar .news-summary span.heading:after { content: ''; height: 1px; display: block; width: 100%; border-bottom: 1px dotted #ddd; position: absolute; top: 50%; } .sidebar .news-summary .heading span { display: inline-block; width: auto; background: [[$white]]; padding-right: 6px; position: relative; z-index: 10; } .sidebar .news-article { padding: 15px; position: relative; background: [[$light_grey]]; margin-bottom: 20px; border-radius: 0 0 6px 0; font-size: .8125em; [[* /* 13px */ *]] } [[* /* creating a bubble box with css3 */ *]] .sidebar .news-article:before { content: ''; position: absolute; bottom: -15px; right: 25px; width: 10px; height: 35px; -webkit-transform: rotate(55deg) skewY(55deg); -moz-transform: rotate(55deg) skewY(55deg); -o-transform: rotate(55deg) skewY(55deg); -ms-transform: rotate(55deg) skewY(55deg); transform: rotate(55deg) skewY(55deg); background: [[$light_grey]]; } .lt-ie9 .sidebar .news-article:before { display: none; } [[* /* ------ FOOTER AREA ------ */ *]] [[* /* footer wrapper */ *]] .footer { position: relative; border-top: 8px solid [[$light_grey]]; margin: 25px 0 10px 0; padding-top: 20px; padding-bottom: 20px; } .footer:before { content: ' '; border-top: 2px dotted [[$white]]; border-bottom: 2px dotted [[$white]]; height: 4px; display: block; position: absolute; width: 100%; top: -8px; left: 0; } [[* /* copyright text */ *]] .copyright { padding-top: 15px; } .copyright-info { color: [[$dark_grey]]; font-size: .6875em; [[* /* 11px */ *]] } [[* /* social icons */ *]] .footer ul.social { padding: 0; margin: 0; list-style: none; text-align: center; } .footer .social li { display: inline; margin: 0; padding: 0; margin-right: 6px; } .footer .social li a { display: inline-block; text-decoration: none; font-size: 2.625em; line-height: 1; color: [[$dark_grey]]; } .footer .social li a:hover { color: [[$orange]]; } .footer .social li a i { display: inline-block; } [[* /* back to top anchor */ *]] .back-top a { display: inline-block; width: 16px; height: 16px; line-height: 16px; padding: 8px; border: 5px solid [[$white]]; text-decoration: none; color: [[$dark_grey]]; background-color: [[$light_grey]]; border-radius: 500px; -webkit-border-radius: 500px; -moz-border-radius: 500px; -o-border-radius: 500px; position: absolute; top: -24px; left: 50%; margin-left: -12px; -webkit-transition: all 200ms ease-in-out; -moz-transition: all 200ms ease-in-out; -ms-transition: all 200ms ease-in-out; -o-transition: all 200ms ease-in-out; transition: all 200ms ease-in-out; } .back-top a:hover { background-color: [[$orange]]; color: [[$white]]; -webkit-transform: scale(1.1); -moz-transform: scale(1.1); -ms-transform: scale(1.1); -o-transform: scale(1.1); transform: scale(1.1); } [[* /* Footer navigation */ *]] .footer-navigation { padding-top: 15px; border-bottom: 1px solid [[$light_grey]]; } #footer-menu li > a, #footer-menu li.sectionheader > span { color: [[$dark_grey]]; display: block; text-decoration: none; } #footer-menu li > a:hover, #footer-menu li > a.current, #footer-menu li.sectionheader > span:hover, #footer-menu li.sectionheader > span.current { color: [[$orange]]; } #footer-menu > li > a, #footer-menu > li.sectionheader > span { font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; text-transform: uppercase; text-decoration: none; display: block; } #footer-menu > li > ul > li > a, #footer-menu > li > ul > li.sectionheader > span { font-size: .875em; [[* /* 14px */ *]] padding: 2px 0; } #footer-menu > li > ul { margin: 15px 0; } [[* /* ===================================== SCREENS BIGGER THAN 768px ===================================== */ *]] @media screen and (min-width: 768px) { .lt-768 { display: none; } .logo { margin-top: 12px; position: relative; text-align: left; } [[* /* having some fun with palm, rotating with css3, will not work in IE */ *]] .logo .palm { position: absolute; top: 5px; left: 45px; background: url([[$path]]/palm-circle.png) no-repeat; display: block; width: 48px; height: 48px; transition: transform 0.6s ease-out; -webkit-transition: -webkit-transform 0.6s ease-out; -moz-transition: -moz-transform 0.6s ease-out; -o-transition: -o-transform 0.6s ease-out; -webkit-perspective: 1000; -webkit-backface-visibility: hidden; } [[* /* css3 transform rotating palm on hover */ *]] .logo a:hover .palm { transform: rotate(360deg); -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); } [[* /* ------ NAVIGATION ------ */ *]] nav.main-navigation { z-index: 990; height: 55px; line-height: 37px; margin-top: 20px; } #main-menu { float: right; margin-top: 0; } [[* /* --- FIRST LEVEL --- */ *]] #main-menu > li { display: inline-block; padding: 0; margin: 0 4px; border: none; position: relative; } [[* /* PARENT INICATOR */ *]] #main-menu > li i { display: none; } .touch-device #main-menu > li i { display: inline-block; float: none; } .touch-device #main-menu > li li i { float: left; display: inline-block; margin-right: 8px; padding-top: 2px; text-align: left; } .touch-device #main-menu > li:first-child li i { float: right; } #main-menu > li:first-child, #main-menu > li.first { margin-left: 0; } #main-menu > li:last-child, #main-menu > li.last { margin-right: 0; } #main-menu > li > a, #main-menu > li.sectionheader span { padding: 0 6px 0 10px; line-height: 37px; font-size: 1em; } #main-menu > li.parent:hover > a, #main-menu > li.sectionheader.parent:hover > span, #main-menu > li.parent.active > a, #main-menu > li.parent.active > span { color: [[$white]]; background-color: [[$dark_grey]]; background-color: rgba(85, 85, 85, .95); } [[* /* --- SECOND LEVEL --- */ *]] #main-menu > li > ul, #main-menu > li > ul > li > ul [[* /* third level */ *]] { display: block; width: 260px; } #main-menu > li:hover > ul, #main-menu > li.active > ul, #main-menu > li > ul > li:hover > ul, #main-menu > li > ul > li.active > ul { height: auto; position: absolute; z-index: 9999; top: 37px; right: 0; left: auto; display: block; border-radius: 3px; } #main-menu > li:first-child:hover > ul, #main-menu > li:first-child.active > ul { right: auto; left: 0; } #main-menu > li > ul > li { position: relative; line-height: 1; margin: 0; padding-left: 10px; } #main-menu > li:first-child > ul > li { padding-right: 10px; padding-left: 0; } #main-menu > li > ul > li > a, #main-menu > li > ul > li.sectionheader > span, #main-menu > li > ul > li > ul > li > a, #main-menu > li > ul > li > ul > li.sectionheader > span { color: [[$white]]; display: block; text-transform: none; line-height: 1.2; border-bottom: 1px dotted #858585; background-color: [[$dark_grey]]; background-color: rgba(90, 90, 90, .98); padding: 8px 12px; font-size: .875em; [[* /* 14px */ *]] text-decoration: none; } #main-menu > li > ul > li.current > a, #main-menu > li > ul > li.current.sectionheader > span, #main-menu > li > ul > li > ul > li.current > a, #main-menu > li > ul > ul > li > li.current.sectionheader > span { color: [[$orange]]; } [[* /* THIRD LEVEL */ *]] #main-menu > li > ul > li:hover > ul, #main-menu > li > ul > li.active > ul { width: 250px; height: auto; top: 0; right: auto; left: -250px; } #main-menu > li:first-child > ul > li:hover > ul, #main-menu > li:first-child > ul > li.active > ul { left: auto; right: -250px; } .lt-ie9 #main-menu > li > ul > li:hover > ul, .lt-ie9 #main-menu > li > ul > li.active > ul { left: -247px; } #main-menu > li > ul > li:hover > ul:after, #main-menu > li > ul > li.active > ul:after { content: ' '; width: 0px; height: 0px; border-style: solid; border-width: 7px 0 7px 6px; border-color: transparent transparent transparent [[$dark_grey]]; border-color: transparent transparent transparent rgba(85, 85, 85, .95); position: absolute; right: -6px; top: 12px; } .lt-ie9 #main-menu > li:first-child > ul > li:hover > ul, .lt-ie9 #main-menu > li:first-child > ul > li.active > ul { left: auto; right: -247px; } #main-menu > li:first-child > ul > li:hover > ul:after, #main-menu > li:first-child > ul > li.active > ul:after { left: -10px; right: auto; } #main-menu li ul li a:hover, #main-menu li ul li span.sectionheader:hover { box-shadow: 0 0 5px rgba(85, 85, 85, .9); z-index: 2; } #main-menu > ul > li:last-child > a, #main-menu > ul > li.sectionheader:last-child > span, #main-menu > ul > li > ul > li:last-child > a, #main-menu > ul > li > ul > li.sectionheader:last-child > span { border-bottom: none; } .header-bottom { height: 55px; line-height: 55px; padding: 8px 0; } .phrase-text { text-align: left; } input.search-input { height: 17px; line-height: 17px; width: 100%; max-width: 320px; } input.search-input:focus { max-width: 90%; } [[* /* print button */ *]] a.printbutton { display: block; padding-left: 6px; width: 16px; height: 16px; float: right; text-decoration: none; color: [[$dark_grey]]; background-color: [[$white]]; z-index: 1; position: relative; } a.printbutton i { display: inline-block; -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); -webkit-transition: -webkit-transform 250ms ease-out 0s; -moz-transition: -moz-transform 250ms ease-out 0s; -o-transition: -o-transform 250ms ease-out 0s; transition: transform 250ms ease-out 0s; } a.printbutton:hover { color: [[$orange]]; } a.printbutton:hover i { -webkit-transform: rotateY(360deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg); } [[* /* --- FOOTER --- */ *]] .footer ul.social { text-align: left; } .footer .social li a i { display: inline-block; -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -ms-transform: rotateY(0deg); -o-transform: rotateY(0deg); transform: rotateY(0deg); -webkit-transition: -webkit-transform 250ms ease-out 0s; -moz-transition: -moz-transform 250ms ease-out 0s; -ms-transition: -moz-transform 250ms ease-out 0s; -o-transition: -o-transform 250ms ease-out 0s; transition: transform 250ms ease-out 0s; } .footer .social li a:hover i { -webkit-transform: rotateY(360deg); -moz-transform: rotateY(180deg); -ms-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg); } [[* /* --- Footer Navigation --- */ *]] .footer-navigation { border-bottom: none; } #footer-menu > li { float: left; display: block; position: relative; margin-left: 3.8%; width: 30.75%; } #footer-menu > li:first-child { margin-left: 0; } } [[* /* ================================================ WHEN LAYOUT BREAKS IT'S TIME FOR NEW MEDIA QUERY ================================================== */ *]] @media only screen and (max-width: 780px) { .search { margin-top: 15px; } input.search-input { width: 100%; max-width: 100%; float: left; } input.search-input:focus { max-width: none; } .header-bottom { padding-top: 20px; text-align: center; line-height: inherit; padding: 20px 0; } } @media only screen and (min-width: 940px) and (max-width: 1110px) { #main-menu > li { margin: 0; } #main-menu > li > a, #main-menu > li.sectionheader span { padding: 0 6px; } } @media only screen and (min-width: 768px) and (max-width: 1050px) { .row nav.main-navigation { height: auto; float: none; display: block; margin-left: 0; width: 100%; clear: left; } #main-menu { margin-top: 15px; margin-bottom: 15px; border-bottom: 1px solid [[$light_grey]]; float: none; display: block; } #main-menu > li { margin: 0; bottom: -1px; text-align: center; border-bottom: 1px solid [[$light_grey]]; border-right: 1px solid [[$light_grey]]; border-top: 1px solid [[$light_grey]]; } #main-menu > li.current { border-bottom-color: [[$white]]; border-top-color: [[$orange]]; } #main-menu > li.current > a { border-top: 1px solid [[$orange]]; line-height: 45px; } #main-menu > li:first-child { border-left: 1px solid [[$light_grey]]; } #main-menu > li > a, #main-menu > li > span { line-height: 46px; padding-left: 12px; padding-right: 6px; } #main-menu > li:hover > ul, #main-menu > li.active > ul { top: 45px; } .header-bottom { height: auto; } .row .seven-col.phrase-text, .row .five-col.search { display: block; float: none; width: 100%; margin-left: 0; text-align: center; } } [[* /* ================================================ WINDOWS 8 SNAP VIEW (yeah yeah W3C blah blah) ================================================== */ *]] @-ms-viewport { width: device-width; } @-o-viewport { width: device-width; } @-moz-viewport { width: device-width; } @-webkit-viewport { width: device-width; } @viewport { width: device-width; } [[/strip]][[strip]] [[* /* reset body background and color, just in case */ *]] body { background: #fff; color: #000; font-family: Georgia, Times New Roman, serif; font-size: 12pt } [[* /* any element with class noprint or listed below should not be printed */ *]] .noprint, .visuallyhidden { display: none } [[* /* display image as block */ *]] img { display: block; float: none } [[* /* links arent clickable on paper, lets display url */ *]] a:link:after { content: " (" attr(href) ") "; } a { text-decoration: underline } [[/strip]][[strip]] [[* /* ------ BANNER AREA ------ */ *]] .banner { background: #fefefe; background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZlZmVmZSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjQ3JSIgc3RvcC1jb2xvcj0iI2YxZjFmMSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOWU5ZTkiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); background: -moz-linear-gradient(top, #fefefe 0%, #f1f1f1 47%, #e9e9e9 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefefe), color-stop(47%,#f1f1f1), color-stop(100%,#e9e9e9)); background: -webkit-linear-gradient(top, #fefefe 0%,#f1f1f1 47%,#e9e9e9 100%); background: -o-linear-gradient(top, #fefefe 0%,#f1f1f1 47%,#e9e9e9 100%); background: -ms-linear-gradient(top, #fefefe 0%,#f1f1f1 47%,#e9e9e9 100%); background: linear-gradient(to bottom, #fefefe 0%,#f1f1f1 47%,#e9e9e9 100%); } .lt-ie9 .banner { filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#e9e9e9',GradientType=0 ); } #sx-slides { position: relative; overflow: hidden; width: 100%; margin: 0 auto; position: relative; height: 380px; } #sx-slides > .sequence-canvas { height: 100%; width: 100%; margin: 0; padding: 0; list-style: none; } #sx-slides > .sequence-canvas > li { position: absolute; width: 100%; height: 100%; z-index: 1; top: -50%; } #sx-slides > .sequence-canvas > li img { height: 96%; } #sx-slides > .sequence-canvas li > * { position: absolute; -webkit-transition-property: left, bottom, right, top, -webkit-transform, opacity; -moz-transition-property: left, bottom, right, top, -moz-opacity; -ms-transition-property: left, bottom, right, top, -ms-opacity; -o-transition-property: left, bottom, right, top, -o-opacity; transition-property: left, bottom, right, top, transform, opacity; } #sx-slides .title { color: [[$orange]]; font-size: 2.25em; line-height: 1.1; font-weight: 700; left: 65%; opacity: 0; bottom: 22%; z-index: 50; margin-top: 0; } #sx-slides .animate-in .title { left: 12%; opacity: 1; -webkit-transition-duration: 0.8s; -moz-transition-duration: 0.8s; -ms-transition-duration: 0.8s; -o-transition-duration: 0.8s; transition-duration: 0.8s; } #sx-slides .animate-out .title { left: 35%; opacity: 0; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; -ms-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; } #sx-slides .subtitle { margin-top: 0; z-index: 5; color: [[$dark_grey]]; font-family: 'Oswald', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-weight: 700; font-size: 1.8125em; left: 35%; opacity: 0; top: 72%; } #sx-slides .animate-in .subtitle { left: 20%; opacity: 1; -webkit-transition-duration: 1.3s; -moz-transition-duration: 1.3s; -ms-transition-duration: 1.3s; -o-transition-duration: 1.3s; transition-duration: 1.3s; } #sx-slides .animate-out .subtitle { left: 65%; opacity: 0; -webkit-transition-duration: 0.8s; -moz-transition-duration: 0.8s; -ms-transition-duration: 0.8s; -o-transition-duration: 0.8s; transition-duration: 0.8s; } #sx-slides .image { left: -10px; position: absolute; bottom: 800px; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); opacity: 0; max-width: 70%; height: auto !important; max-height: 275px !important; } #sx-slides .animate-in .image { left: 14%; bottom: -49%; opacity: 1; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition-duration: 2s; -moz-transition-duration: 2s; -ms-transition-duration: 2s; -o-transition-duration: 2s; transition-duration: 2s; } #sx-slides .animate-out .image { left: -10px; bottom: -800px; opacity: 0; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); -webkit-transition-duration: 1s; -moz-transition-duration: 1s; -ms-transition-duration: 1s; -o-transition-duration: 1s; transition-duration: 1s; } @media only screen and (min-width: 768px) { #sx-slides .title { font-size: 3em; } #sx-slides .animate-in .title { left: 3%; } #sx-slides .subtitle { font-size: 2.5em; } #sx-slides .animate-in .subtitle { left: 8%; } #sx-slides .image { left: auto; right: -10px; position: absolute; max-width: 70%; height: auto !important; max-height: 300px !important; } #sx-slides .animate-in .image { left: auto; right: 5%; bottom: -45%; } #sx-slides .animate-out .image { left: auto; bottom: -800px; } } @media only screen and (min-width: 1050px) { #sx-slides { height: 440px; } #sx-slides .title { font-size: 3.25em; bottom: 15%; } #sx-slides .animate-in .title { left: 8%; } #sx-slides .subtitle { font-size: 2.875em; top: 78% } #sx-slides .animate-in .subtitle { left: 12%; } #sx-slides .image { max-width: 90%; height: auto !important; max-height: 400px !important; } } [[/strip]]{process_pagedata}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} <head> <title>{sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *} {* The above JavaScript is required for CSSMenu to work in IE *}
{* first out side div/box *} {* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* anything class="accessibility" is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Left sidebar + 1 column" *} {* End Header *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content (Navigation and Content columns) *}
{* Start Sidebar, 2 divs one for top image one for bottom image *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below the content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *} {* The above JavaScript is required for CSSMenu to work in IE *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Top menu + 2 columns" *} {* End Header *} {* Start Navigation *} {* End Navigation *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content *}
{* Start Sidebar *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Left sidebar + 1 column" *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* anything with class="accessibility is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Left sidebar + 1 column" *} {* End Header *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content (Navigation and Content columns) *}
{* Start Sidebar, 2 divs one for top image one for bottom image *} {* End Sidebar *} {* Start Content Area *} {* again 2 divs to hold top and bottom images, back is set to go to the right side then the main is set to come off the right side *}

{title}

{content}
{* this break is just to make sure we get space after the content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* this is to make sure the 2 divs stay tight *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {process_pagedata} {* Change lang="en" to the language of your site *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don\'t remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to *} {* Start Navigation *}
{Navigator loadprops=0 template='minimal_menu'}
{* End Navigation *} {* Start Content *}

{title}

{content}
{* End Content *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {if isset($canonical)}{elseif isset($content_obj)}{/if} {title} | {sitename} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optmization *} {* The above JavaScript is required for Menu - NCleanBlue-css to work in IE6 *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {* IE6 png fix *} {literal} {/literal}
{* start accessibility skip links *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page *} {* End Header *} {* Start Content (Navigation and Content columns) *}
{* Start Optional tag CMS Version Information, also is a good example how smarty works, the big star that holds the version number, you may remove it here and the style sheet where it is marked. *}
{capture assign='cms_version'}{cms_version|lower}{/capture}{"/-([a-z]).*/"|preg_replace:"":$cms_version}
{* End Optional tag *} {* Start Bar *}
{* Start Breadcrumbs, a bit of letting you know where your at *} {* End Breadcrumbs *}
{* End Bar *} {* Start left side *}

News

{* Start News *}
{module_available module='News' assign='havenews'}{if $havenews}{cms_module module='News' number='3' detailpage='news'}{/if}
CMS - {cms_version} - {cms_versionname} {* End News *}
 
{* End left side *} {* Start Content Area, right side *}
{* main top, holds top image *}
{* main content *}

{title}

{content}
{* Start main bottom and relational links *}
{anchor anchor='main' text='^  Top'}
{cms_selflink dir="previous"}  {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *} {cms_selflink dir="next"} 
{* End relational links *}
{* End main bottom *}
{* End Content Area, right side *}
{* End Content *}
{* end pagewrapper *}   {* Start Footer *} {* End Footer *}
{* End Div *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *} {* The above JavaScript is required for CSSMenu to work in IE *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Left sidebar + 1 column" *} {* End Header *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content (Navigation and Content columns) *}
{* Start Sidebar, 2 divs one for top image one for bottom image *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *} {* The above JavaScript is required for CSSMenu to work in IE *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS *} {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Top menu + 2 columns" *} {* End Header *} {* Start Navigation, stylesheet "Navigation ShadowMenu - Horizontal" *} {* End Navigation *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content *}
{* Start Sidebar *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} {strip} {* used for page specific data or logic in Edit Content -> Logic *} {process_pagedata} {* ================ THEME LOGIC ================ *} {* With cms_lang_info we retrieve current language information, assign gives us $nls variable we can work with *} {cms_lang_info assign='nls'} {* assigned url to theme related folder so we do not have to type full path each time *} {$theme_path = "{uploads_url}/simplex"} {* assigned content tag, now we have all smarty variables available anywhere in template *} {* assigned title tag to a variable which we can override with a module entry title for example *} {title assign='main_title'} {content assign='main_content'} {* assigned prev and next links so we don't have empty html tags if there is no previous or next page *} {cms_selflink dir='previous' assign='prev_page'} {cms_selflink dir='next' assign='next_page'} {* ensure that the smarty variables we created are copied to global scope for use elsewhere in the template *} {share_data scope=parent vars='nls,theme_path,main_title,main_content,prev_page,next_page' scope=global} {* using strip as we don't want useless whitespace, especially not before doctype *} {/strip} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {$main_title nocache} - {sitename} {if isset($canonical)}{elseif isset($content_obj)}{/if} {* See in news detail template how cannonical url can be assigned from module *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to *} {cms_selflink dir='start' rellink='1'} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optmization *} {cms_selflink dir='prev' rellink='1'} {cms_selflink dir='next' rellink='1'}
Power for professionals
Simplicity for End Users
{Search|strip formtemplate='Simplex Search'} {* Search module using custom template in Design Manager, you should use resultpage parameter for search results (see module help) *}
{global_content name='Simplex Slideshow'}
{Navigator action='breadcrumbs'} {* you can create own breadcrumbs template as well and include it with template parameter *}

{$main_title nocache}

{* title tag *} {$main_content nocache} {* content entered in page editor area, variable is assigned on top in template logic, using nocache as variables are cached with Smarty cache on *}
{if !empty($prev_page)}{$prev_page nocache}{/if} {if !empty($next_page)}{$next_page nocache}{/if}
{cms_jquery exclude='ui,nestedSortable,json,migrate' append='uploads/simplex/js/jquery.sequence-min.js,uploads/simplex/js/functions.min.js'}{strip} {* if you are using some older jQuery plugin that relies on deprecated and removed functions that are no longer supported in jQuery 1.11.0 try removing "migrate" from exclude list which will include jQuery Migrate 1.2.1 Plugin. For more information about removed functions see: http://jquery.com/upgrade-guide/1.9/ *}{/strip} {process_pagedata} {* Change lang="en" to the language of your site *} {* note: anything inside these are smarty comments, they will not show up in the page source *} {sitename} - {title} {* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *} {metadata} {* Don't remove this! Metadata is entered in Site Admin/Global settings. *} {cms_stylesheet} {* This is how all the stylesheets attached to this template are linked to it *} {cms_selflink dir="start" rellink=1} {cms_selflink dir="prev" rellink=1} {cms_selflink dir="next" rellink=1} {* Relational links for interconnections between pages, good for accessibility and Search Engine Optimization *} {* the literal below and the /literal at the end are needed whenever there are {"curly brackets"} as smarty will think it's something to process and will throw an error *} {literal} {/literal} {* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout Top menu + 2 columns" *}
{* start accessibility skip links, anything with the class of accessibility is hidden with CSS from visual browsers *} {* end accessibility skip links *}
{* Horizontal ruler that is hidden for visual browsers by CSS * } {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet "Layout Top menu + 2 columns" *} {* End Header *} {* Start Navigation *} {* End Navigation *} {* Start Search, the input "Submit" is using an image, CSS: input.search-button *} {* End Search *} {* Start Breadcrumbs *}
{* holds the right image, we need 2 divs to be able to make this site fluid, if it was fixed width we could use one div, one image *}
{* End Breadcrumbs *} {* Start Content (Navigation and Content columns) *}
{* Start Sidebar, 2 divs one for top image one for bottom image *} {* End Sidebar *} {* Start Content Area, the back1, back2, back3, hold the 3 outside images, main holds the 4th one, to make the box complete, if the template were fixed width not fluid we could use just 2 divs and 2 images, 1 top 1 bottom *}

{title}

{content}
{* to insure space below content *} {* Start relational links *} {* note this is the right side, when you float: divs you need to have float: right; divs first *}

{anchor anchor='main' text='^ Top'}

{cms_selflink dir="previous"} {* The label parameter doesn't need to be there if you're using English, but is here to show how it's used if you don't want the English text "Previous page" *}
{cms_selflink dir="next"}

{* End relational links *}
{* End Content Area *}
{* End Content *} {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
{* End Footer *}
{* end pagewrapper *} @LP!8simplexRegularVersion 1.0simplex 0OS/24`cmapUaLgasphglyfCݍp head9n 6hheaD$hmtx)h4&'MVF  FVM   JSBBSJ     R*10267>4&/7>4&'."JJSBBSJ MWE  EVM   Gy6m'."7./.46?>27>4&'.'"&/.46?.526?>4&/#Y]Z##$$#P021c $##$P021c $##$#Y]Z##$$#u$##$#Y]Z#P021120c!!"#Z]Y#P021120c!!"#Z]Y#$##$#Y]Z#lGa&;%'>54.#"32>726?>.'4>32#".5  5ZvBAtV14ZvB*(&0 K"&'.+5!#"3!";!32>=4.#!!Mf :D? .z. ?D: p   e- -e   $HHf  8      8MKY %6P2#"'&'&'&54767676'676'6'&&&'&'&'&'#3'76323'WLL99!!!!99LLWWLL89!!!!89KMVjh6  $)fj. jY!!89LLWWLL99!!!!99LLWWLL89 "U##" K\ 2#"'&'&'&'67676766767676'&'&'&'&'&656'&'&'&76766&&'&567676'&&76767666767WLL89 "" 98MKXVMK:8"  "8:KMV  .*+ !& !&*&              \!!89LLWWLL99!!!!99LLWWLL89 "  $"-)   )&         "",   KZ ?HSm2#54763#2#"'&'567632#"'&'&'&'67676767757'7'&'&'777677''767'6'&&76'&&77776='76775'&'&=74'&&776='&'&=56''&=476buDWLL89 "" 98MKXVMK:8"  "8:KMVuw'%'3-,4,p##   #  } $"  &&&    # A [  Te!!89LLWWLL99!!!!99LLWWLL89 "T!g`bacz}  ; [  \ b  H  Yd  i  G   *`  `L[ ;2#"'&'&'&'6767676&777&7675WLM8: "" :8MLXVMK:8"  "8:KMVZ PNhMO O[!!99LLWWLM99!!!!99LMVXKM8: " 4gi jL\Fg#"'&'&'&54766''&'&7&7676767332#"'&'&'&'676767667&'&'&'&7&767676'6'&'?'77377/'77'7'   +$   XKM8: "" :8MKXVMK:8"  "8:KMV,  ,*-"!0  10  T1P(PR*R'        $!!89LMWWLL99!!!!99LLWWLM7:#}%4     "$+1    +PR)SQ'K[ q2#"'&'&'&54767676676767&'&#"&'&'&'#"#&#&#&#6767676'7WLL99!!!!99LLWWLL89!!!!89KMV    ?66& # !! $#&))H48"'[!!89LLWWLL99!!!!99LLWWLL89 "   / &  ',07. }C_< yRGl RRRRRR `DxV " G$U2 (c  G $ U  9 (csimplexVersion 1.0simplexsimplexsimplexRegularsimplexGenerated by IcoMoon Generated by IcoMoon  0OS/24`cmapUaLgasphglyfCݍp head9n 6hheaD$hmtx)h4&'MVF  FVM   JSBBSJ     R*10267>4&/7>4&'."JJSBBSJ MWE  EVM   Gy6m'."7./.46?>27>4&'.'"&/.46?.526?>4&/#Y]Z##$$#P021c $##$P021c $##$#Y]Z##$$#u$##$#Y]Z#P021120c!!"#Z]Y#P021120c!!"#Z]Y#$##$#Y]Z#lGa&;%'>54.#"32>726?>.'4>32#".5  5ZvBAtV14ZvB*(&0 K"&'.+5!#"3!";!32>=4.#!!Mf :D? .z. ?D: p   e- -e   $HHf  8      8MKY %6P2#"'&'&'&54767676'676'6'&&&'&'&'&'#3'76323'WLL99!!!!99LLWWLL89!!!!89KMVjh6  $)fj. jY!!89LLWWLL99!!!!99LLWWLL89 "U##" K\ 2#"'&'&'&'67676766767676'&'&'&'&'&656'&'&'&76766&&'&567676'&&76767666767WLL89 "" 98MKXVMK:8"  "8:KMV  .*+ !& !&*&              \!!89LLWWLL99!!!!99LLWWLL89 "  $"-)   )&         "",   KZ ?HSm2#54763#2#"'&'567632#"'&'&'&'67676767757'7'&'&'777677''767'6'&&76'&&77776='76775'&'&=74'&&776='&'&=56''&=476buDWLL89 "" 98MKXVMK:8"  "8:KMVuw'%'3-,4,p##   #  } $"  &&&    # A [  Te!!89LLWWLL99!!!!99LLWWLL89 "T!g`bacz}  ; [  \ b  H  Yd  i  G   *`  `L[ ;2#"'&'&'&'6767676&777&7675WLM8: "" :8MLXVMK:8"  "8:KMVZ PNhMO O[!!99LLWWLM99!!!!99LMVXKM8: " 4gi jL\Fg#"'&'&'&54766''&'&7&7676767332#"'&'&'&'676767667&'&'&'&7&767676'6'&'?'77377/'77'7'   +$   XKM8: "" :8MKXVMK:8"  "8:KMV,  ,*-"!0  10  T1P(PR*R'        $!!89LMWWLL99!!!!99LLWWLM7:#}%4     "$+1    +PR)SQ'K[ q2#"'&'&'&54767676676767&'&#"&'&'&'#"#&#&#&#6767676'7WLL99!!!!99LLWWLL89!!!!89KMV    ?66& # !! $#&))H48"'[!!89LLWWLL99!!!!99LLWWLL89 "   / &  ',07. }C_< yRGl RRRRRR `DxV " G$U2 (c  G $ U  9 (csimplexVersion 1.0simplexsimplexsimplexRegularsimplexGenerated by IcoMoonwOFFOTTO dCFF  5OS/2 ``4cmap\LLUagasphead669nhhea$$hmtx <<)maxpHPnameP99ipost simplex> vV% vV% KT   %*/49>CHMsimplexsimplexu0u1u20uE600uE601uE602uE603uE604uE605uE606uE607uE608uE609uE60A  Rh]Z "vpe||||pevvvvdtt\T\Trvzvvep||||epvvrT\T\ttdvvM -.--nn--.-X޾nnދXX8XX((a^^--.-;;X8XXnnXX8XX޾z----.--.nn.-IUUËNjC,,CC""CC,,CŋWWxxI )) ||6o]..]o6N||lSoojoGoj^^Goop\BыB<ŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖŋ"V~||||7>~~zvxuqqtv#dYYB=ŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖŋ}}{yyxwlnooru{u{zx~t~tqnotzz~|}}|zzyyyz||~~|~}}}}}}}}~~{{~Bzm 7Gŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖŋ A kPP"_q*o`&+6iiy6~zz}}.|*hpwGee*#{{}C{h̋*B<ŋ€uumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuu‹ŋŖŋ2K2z{||~~~~~V<#ڋffً=ڋB1vz~~|v}~~}}}~~}oqr{ŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖ¡ŋ|xwwnr|wtwtqnkqwv|{{kkjz|~~~|}~y|~~ċ):b::c܋9܋B<ŋuumee_XXUQQUuXuXm_eeee_mXuXuUQQUXX_eemuuŋŖŋd~~}|}~~}adgglr|zxz{||z|~ruyywz~~z}xuuut| 3 @ @ 8  8!_< yRGl RRRRRRPG$U2 (c  G $ U  9 (csimplexVersion 1.0simplexsimplexsimplexRegularsimplexGenerated by IcoMoonPNG  IHDR ?6PLTE{tRNS:LIDATIl-s!BTA-f"n["ˑeSAI3@Q2̯&IENDB`PNG  IHDR;=<PLTE\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,\ZY,9FTan{LjΖԣڰ tRNS 00@@PP``ppxr3IDAThm 9sjZ33\V~/wcX-k΋ D8` n ?CFt,l"cp*X :p,/K60>e #̗Y%kJ y?k$Mq!KA+oStyk@HGRh78L1j%TAI[u:=H҈Q2*IR&䦼K-r,>%)Xn6e1ب#JCqhJv(*$P7dXT"VECC҃1:a:ٗbPt%c*GٜpK>MFExђ;&⹼7@eڔOKڿ&/uYHƑˆmv m( DH2jq}=] MAVy7#vTׅ@0¾AV")ӒI dOeYU!S߮d4Qj(#`~_&rqf|>w /at/cޮdyl0vㇲɹ`Iơm cfUl KydN&cA!_z F=R'SnlC nRx`Wx!j$rFEtwnhk"hU0S|Bv%c,Z%{;1 yd2nlEVbc $è Ƙ5^1Q^bR2H֞<3Ea #(Ù*dW5^Q]#3K\cJ}{3*(p2;}u9˧e̋mՐO;jj*c]Ϧ2]c]l6_s̸!϶X&#(Tk)WLLF0kcX w `\_v f$` v#, e,LJΈ3mؓ :U2J7 $*f|"@aI4VMJƮpSh=v1t(c,)Q:E^Sg(Vn(6t{P͈wIyRe8#Sf1"i2rg-N"θc*IENDB`PNG  IHDRxx9d6gAMA asRGB cHRMz&u0`:pQ<bKGD pHYs..*' IDATxy\UϹޫ$U#! "06΢~tFgq|y}GQw_DYtF@`d $HNWz[uqVՍ|ӟu9wyg^'W;{4˛ 4`60{0Hu@p )Q 5Ltj2YqXɰ c݀/] {{ p(S=)l˜ʹ ǺC 6+6{i 1d=fՐA*09- w(\c%Mq{Uy0;irc֨b $\ H~{IF>R]UuJ +MUu <Hбj|rj~zSz+ABj&csڕHS ēnxr)kaw Q2 n5-uȕkGBYwf>3PYkCu 5S0KޏYv&>𻧀}n§vD3HݱVGDr 5+9ԚN?P- s0KAG}q $&Șf~((`#Xڲ |fiDj.3ח5jC+v$-_$!eU[2۲T wf^B6=Vq;opMڲrE5+T+ _mǏBҿ;myE-\wg! Gr+SD^j*隕iIp U&(|X̸C3ގYruEokoՐIUvkkV׬yF墶\ ̫ȨUa7R?T HtОJr.\6Erc\RqB;13Gh;Л0 ֞HH.`]mx7ED0攋1;1KǴz;*uZ[{|]vTp9%~Ph/hv] ďV@O"*\bVʕUIMf^$4{H"u 92h Yo)Afa3p #R] |ѦcSK3ôeɥ9瀋)W[RHb*fuEHhPEm{/Em=ԣ"FsRdЂ"5xUysR hW;ZS~wo@ ݄G\pjX*p0$v5jВG_('Bo 1pl'8vA2#2jA}@"Zw2lJ O5CT.8ZHy-_;MH)ڽ3#ao }[/f 9?X/bx, v-5+3pP xKFd;o^pgю-ip46FMnE5 A-C]5t>!-ST*]_3Uڳiފbt0Nw0Cn24 VGk_/?ݐ!EӐڙHb "nz} =1!/VA+烩+a;cI_P{q~I_Q[ |o;a27,PX1*sE?~)\uq>/SdG_%<)=C-`#_x.f `|0xJdRԅW܈DF.۫HӪ* u Q(o]1>R |Vl}>oIG}hM#Z7"7U^1ep}r-Nen]Kx"󯀉n{wv-j!\q̤E%7Ev =zƎcqJgǺ NKӒ ;M/?v7{=^̤Exn(->r#s3@_D"MS+k S}9\M(䘎Zusޅrs] 0E"e3Эw>AT+u+Aà479T0 vc\'Zdډ]vS̲ gvװ095kZ=vsxlТ`ޱK&(`Dxn)ٛneM Bf.Xlbx n@×$H$4[Y2ޯDL `~.rGGFʇzlO߂Y`&9Sf8ŋ Bw+vǽ-#)OC͘818j.#B O~š?Fn%B# s.`܎eh0_Q= JxP-/JAmhF08mq!jd{H&ϩH/K #hj;ڵIlZ.nH^MǾBuI[/܎溠f ifK]F yȆHITf`YMAw8 I;ycL|gރ/r20RSQ9 8̺t復~dOX5mDm}' V >G6" C?g(K4">]^+SgG6(DZ.z啵h.{p ٟ@q,'"B^b<풇5c!v˽0}m2e oFmg Ě=޶&΀=[mzGVf<`cAr\ X$8#ƹAfH\&/"oFб"tЕpyjJt͑`LUTOS~$q+TIٞ 2}L0v> x.I)$/Uj1z6+^" 3]b?G@ĔocclD39E  L? Ի#Zݾ{ݘ%Wm/R hof:7  {m^pǽo5/E sbm'"M3ЮWjkPU!!f _ ?:_C۶a_} JCį N}#y|%"quQ h tXӖw=Mag]. DErjv_W I8 2 oRHH)w2Nz}X$Hڊxg3fP<6 Pu YCy1.G&;'L;Yq>WABEm[g75EP"s@=?,}3puB1L1ӺEPۂNGӠv I mA"q̩NbQ;l7逞96k'v}n.DvϸZC[)MHm#j- L̼мӴSxĒwt}:HC=3uI $D#4鸞 R\ϣ}/ 5GVB>h-fy 11yf΅Ȥg!uy>pR3uku#'<̼KgՇН`S'd^Õ4{m1hFfufƛ)WݍYrڐ UtO" d9砗~ ;֡w;yr"pU2FWÁ }uY`^88tڵZ'D4*2K~fYž|?{]X9/vR$xp\P v#51 fې Wn2թi*J h[{Et?7bƻ\ #xgEj+H)þ^BٮH{QE]Nw݌'~ ^yrHu1$O-Y@P^X=z\2c* 'Nߣ6]J =q6 h~U m9. 3HL,;҄88Kθ8Ga4ӌ%89<:u]W*ʥfOŋ㪀YIs}iDa[,F[$;:A !e_?O\'Z"ۮOyLu27ѡ  xKSAL9EZ(n fL%/7O4NrxofPb!/anW o琺aXݟiEAϬ;q\fxcFRA+,a{٘3?4vRӈ>7ߕ̋y+`C4lBnFm3KǬ̓cXbcW6Rl GU2ߴOgRRYt~lӮYr'B 2`!ф$`(2{%:Uڱ  ldtg_cu,=F X[z=]Ӳ=gGhC> ?!| xg֒|7dH2x#Q?eb?%(<}‡z2K2‰9N~%| ܋;F,b b7|k=8p+o!u=8F1F`t_~oX۸i O­bw0ːMDlsШWB{Aؗ`۾ j&b_]pMTOB.9m9"s/.a݇_h6%n: KF\[o[+1Uq'M?whgľKt3h bϣ׀Mj &>B-dɑ@ $&[נ/ޏrfȜ7#V[@3gCw<BMe{PQxS^vit!Li\z)2u<եAUо{h w#ھ ns k1u>)- V^vWGXɥiF`'q.2u <|2a>q5\XWû/:b 䊫VHEہ/Ēћ壩.>he0(ЎMp`s7qH4# [STdLfDsh!ދzMwqq̹nTr 8"$cCkL\Eީr$ Tz]0,&:'!&$!R窰.y%yT!|g n4 Hw)vAo1 uĎ'ŒgC^<o`X h2\ßlɘ܉S)76_¯I:+`Yu?ԅQGKc=x (ăS"r-RWɕ6wKK]A\[F,;u*'w)-D(.7rBʑY=~WI>R貜)PA$.Up)UFxH(-ua%ȅ ϲ"ɒ%gqU1MiȅȾfUs#dna/oBURG%ɅQEŋ<+s,X;2 (*B}3/tŸ2&8 0ʚ] TC'?ø*%P䁍<3($ck#TT{qyS79ws[d0{U]4 ^+p^mfڀu~cRFg^U44.'u%KQ&$='JC*X_\>{cS qޤvL*[ZEX#Y1~~ڀ\И5j̗E}mZMiNoLT'VqƫہṧsͫY5E9}WnZi$2ZX>3d[^c1+ڛ"0Y1OqC0mπo 닍Z-+yb\.Rx&Z1EnHrDd zW}=+ 9OkuGvZ\2_"*sq2{"3{U rp.#ن"F^9?}-0!3kScO^v(2ÿl 6#w0 7g4 Pq\\_S3I+Mx\D&>gvd̚n5($!GlϘg5ah29(Y+d̪|sy@uV Zߚ𼈚DE-X"\VEV$t LxADx &]l-8p1\mS&%*qsnRV_> )tJLx@D͍d͊B`*MqҶJHP@Ҝ2ah,kVЗb&X]h? "R41DDٲw"J Z5FAYYDu+j+t'mEA~ [Y[M ʢ~d£"^(kwX,jtg28ڰЦ;sTg8߅lnH ov[ a*09o&K8+mx3(SGtiV"]دމJ |ׄEquQ^'.ÂO?DmD&RBmg܊r?]H@TFv"*Y^扫҂׵ oaY_/6~&d}E&-*!9,e>?UpOvC?j~˸; JdI` ]A; ,řiݨ5.-Ч 8@o#;w)db nᢢ4nQ1H?8cQ@T&GM|+`x΄5A9[qMpl1㖼 @y: BWs9ec;rWk"pv7яz[}uc@pL`R"M`):5,d م~uy0nVX0o"09VFb S0 ٠;m9h VgYP/$` ~ e>RhƢO($q+;d*.b9Mނ>*}l5A:|т-fc伙N.Y LΟІ$m]Z Q7myhU8PC^d܍ qW>AבDաU_%p'yiGG弙Yeou#T~oA~uh.W@pDp"OxLD&hӾc7Ȯ# NRvښ y <~d}?+ֽ d B?-ڢb0~3WDƛӋ Q1}{~o,~eEDh{h3;mc;-t8ؕ2n: /2Ÿ,DH;0κ5'qOƕ6d2tBm刲o"HٱPHcmK@ $?f7ʘedgdsSˀ(3;6D`ݍ6@zI6.j{D+6Dn κyȦv7 #wlD޿,6 eg6W1KGX tO+quϳL)*Dt7wl-C|*(xJ p2nnNS}lvJ8z6q(o"ġr(Dj?5JjЪr[N'7Zd6- 24>Ks=q=Kq&Sp@a&,nrF'ք8XIdTDȘdV,!R chL"F\> F%7yqe ]Y]΢lUOtSR2ق7ñt)BĹ̹V;":ХS0qu=#  1tjZߕڋw={H>z5RK@wQ3 *# jATBu fsQL>+cVZ&_&׭ م(øW9ן33kچ!ى=?νj@Au=bD(%ڡT5,v $tݹ-_D]J3PIZ6 Oc}{n]rkdGN/t's]qs| 5h'#F6TĀq9[e ͯ,: \LA3qqLYPgs#ނ~WR\ڐc`1~N$IעM4Z_!QZi~.},K8xz,xBNMqDd00J;۴ :5IYtΒA(\ _zۻO97#ޅ>%/.m 0 W+I׺Xf:j8\]c:AAa2*ts|N,eLYIO| b`%sP< Y4؂)YCzʺ׿jd#jGM.ZΚȸu8ޅ@twhajVGEFK82ىuOmZ|j?FvSa!ϡ ̂=Yb. 猃*E6>9krփ~On|Bk^Y7ѫq BeܷG v q؁`mI,U @閲m4FY7eplY{>دZRE'?;qp,E0f܂>y/f%"TsQ|arZ7K&o#w8gd7MԯׅłRE0B *@DD7dA6Vv/gW";u`}GW,h>LxZRMsPAe>Q~ o~6uOoAos7Fip8 I&8ÿ{^Ä~0wcض :w0ä[Џҗ]%o sCmGV̰"ܖn)v4:84U7PßΛR W1 %"Rv?~ ⇑B#ׄ=pV>6 Dy 9UĤS<3T&ce3{x< w#v؅v0RjV*giVUK]8ΊՎ}܂ܻd2Yb pY931 oofw;|ͣ+isߏF~7AJEv;vT  ٱ#;;NP Ӏ,  ]ݴȫ296h g!_/JpmdzG߻}0&6mrV?2e ?ah>FwSCPKɂ}"^>)ܮ?TeAD wOCTY|?j  wK8<؟Feokp7 /%"'ܙ8 M Vk"j:bP0jDq p/ڨSzг@+ {W#>mq{ vlZܽ BEg](+ț^fd nJU r mtUσ;6$DkC$Rs͋*&59j"85x{ R""P>0 ӽ(lƛltp.-rn۶ w?*7j n1ЭɌZEԎByw[_FNx/3;!p^]tXT4j ݚN ;Meۯ.FNWyb{d w D_Vx¿ek<+I*h{$Uܭ/@y9$Tlc#{9j_~z2mZC=Q0P<2WDlF]@RYٺߩ&jLe{NAy+90I8oHEt`/ouq7~h} sw˛Ǽ>`j,xƌY BDjv n ).d QRz@adVd&p,w׻Wv0 | ]DKFLEDjRs5L^J'=U(>hk.eV벊t_| BG6~~vd{*.6 ϵѯ,]HT F4/"Ƚp=~84Rk!thIcrRMK!_TY@t"N3=vg=K-g_p^$z"Vy!؉t} ,1߶P~i GDjú Wn\]p^(%0| ![SHݺjG*$l-4Y2[U7{٥Zz ńzr[{rk2P$bH6+vba?i{i!tm 2l/qH/Qݖ+GEc (DSaV"CMU5/x3$=VJ<I ~7B ;?DytB:YU5ҟщb(`U $ MqV>6C$#wsm qP c֣j{镊*M! Eɕ ٴ wciDZ *}8*f@d(2Lx.τjWHia#vH߉)FhZe, jHFj@ Dq) :;17;f.$NR퉦f04uos?RJ `O[BX}ܹM?!%{ZaCdl݂ܺqP*}7T1,'VXM [wCױbۑMj,٥#4b6ʲ5aƝL'& \rVu b(D%H-{a_\QDym{^t!T3J' 7#[ "wElAc6}E1e\sQlZ6$ TՌEz,b$I%~VB`D9Q+@j5az!oՎܻwRd*$&6yp.d pV[CLAOC :m!CdK7 V'{HVǣ =,I"m| Kk7f WHH*YD0 ц@y2" 82^wEY82C2!{vnl#pC^ H0ގgf2)jW叫BDəcݪs72тjˑeM[c=]EGE_Dn[jrd 5A n{Q~؂B;UqcCuژ3>7=wʁQ@DdM4n 6Dܓ.{w\d"fmhkL]#jѦ~mhU9',72uYܯ*+2nЪyqy뗸S[yxh3PK1 BDF?jQMhۈOϔ"\ FDY"FvpF~!۶`%vHPѭ->v'MgKlnT# VD{ڈ㱟KX,\ 'd$'~ՏO`Tluq\Y4N# ,qh? ڽXmCaCx3bXs6<G~ :ewYQJ܅ތl}X\G K]5((a$ڠlDV_^'ɪ;U̪.-5KvdH+^G輟(XHv ,[4:6Ӑ8\0pDW.DDM@~voAv=i_mA&BݱQ}'2;5^.S¿wKDD\"UM@i%ތ6[-aqfUe CNgbADD&cˀFOS_l-X_Xv!1κ-}6":Q=wC$۶MAz$"w.];s ю~uh'|Џa"BRK;,r Y QS`$,30w]E1΋?]4hGh8S˄j!پs9iya3N3 cwfW,ZRY@pv]h3P7Z] -.zsAMQ51xSu6ZmEtmdS#^ %~a݂gT`g$ژ3Ɯt,ҺG+kT,Z:Q:J+Lh!E`)|L i`ZD6abB3_]#:3Tˁr2}-odV=p-"f X^9#em9B`cLELZ/)r˃i~9r˻w dx+)B 1w[!= H%!sMؑwsa﨨D *_?$`kgLŵ{sMϧ3%24q۶}G w:,: Qb>3a}7r 1x)꥾c!jFb\+h0ߎ3Y0֕v#ᨹT\~\Yw 0v-Ϊg#$_{هf-LϊM[]* 6rid^]7dfd5$5zAVQODØ1k }q%eE?`<~Ϊ5#*aSTOY/H#óbGOuV6M}Pmٌn>yȦU*S+KQsC_ `m޷>W]O,ygK6|q!pXn*]gK pC%;1}/7aC #X-H<*nMCԍEs>ڨ!?b]1ܭː;ݼHg' bzXMU&,z\X=[$]l,5OwJlHu1l"ZDĐ)LD'8}i#y2km$|a͔MM4TgBo*ZDR侥\KY1DtrJYpm hS֧c2Q]oT?wytU U)Uᨹ=T)?BPA핮 -,Jze]2U4R(u`eU`ւQ0UAxMPž#Tu iw8d:fD ZRՎ:TzM j^maUCx8̐f"ۅ7EGOU.H:Ks\:zHUtCWLKbMhtE3rVOcd{ x;xZBɖ9&|I4Twux8PY$ %3oGՙ]dL}HϷQG8|DŽՙ]d-01YDC%&<܎sà iwFN EEm#6InfJS09Q"Hp0ZALhr 0qsَ +OP|HQV5۲1ӿThJM؝S0 ,|-W`|opYH΄M?TYgA,Y,|qp[}\m) Ԟ)}mDCE_}OmWYp3pP='/Vă.'2RV&NTDCe"hqAR|.~dYBY.pqM7V ƣ4bf3ae3ž{ S ւߤT{{Mf}QH9o[*ilaDED N3ž( MfGYʒ}+db {DRJQX Ϛ |8#Y+h eR) l_)61kL{ mR) MȘ5ւ/]E/&ZD͵DòXM I ˁAnWxȄ%th5kKd:тY.yO;5`hIBE3DQ ,o4d̚h'cQ'Yg`*_E\N4lR)u{NWӀBgQkYsM-9"nJN`ݤ 2foe߳TgMxZDw0bd'6zb6p[.jat% /6PX*,TaȘu2eR8ZF` D T;'8 vdoat0 UUO$JH](1B[Yi 5Wch@PTr `-·kQG#z`jawA;YJD %=C/Ϛd8jmRP%tEXtdate:create2014-02-02T04:25:55-06:00BjL%tEXtdate:modify2014-02-02T04:25:55-06:003tEXtSoftwareAdobe Fireworks CS5.1HIENDB`PNG  IHDRktEXtSoftwareAdobe ImageReadyqe</iTXtXML:com.adobe.xmp fL,iIDATx}{ KDAƆg4cK%&hL,ѧ *""M޶喙w7ww]mνwse2|5s1*c<'\܍|y's=s-61e¼ys3CL'2boWfwKjf^rOW1[kJ4_C$D8f>y ̆Gײ`|y*} *a|4}scf kmpf~y} /* ̇g~W"N0b> {F3?O*t{ܣKI&?)34!^t$ԃo?ch3}@x&>,Rd"1Ds}!t=̽}@d~ȼG$4մm9YY~'Wp~}^R%ՅG#k a"j=AבUߏ׬uuHzM汹hsSOڣ@v!ABzuNZ@>f ]2W&k2u D0/b~gs$S=>! 5|o$rÎ#cԩ:bTZ.|EOU~h1ܣw "MBo%M,?q3(pO`[k21̨w#|@N؎ZJ)XL (0GIWǖDwhJzP]mq!^[I a(?M}18f2IDE^̯f$̘wHAiRm mԟRsя{% ta3&T\< <&?#U`f7@r SpcD.5H!gIE|@t@p@Hl&Y_(g1tk2.~ om_D;z_  vn km"~^l_{_d*`B4)0헤Bq%j*?V]:T?wEP>\ 0vRѤIWz8VlBdDB2^=b )0G@]ّ!4$$@s*Q}Ndkۀmk CWm8{x[ q Xdw W@`'O 6ON0#ټ O,'@[t@I+OLcwTǜ^-;NCm @ =?|{ܪ_`ʜ?糹We0<\ğGhmܪZ.7H˥|޴(ܠG nխ#md; ?O vwrwzwߞ&m5P(擸k85PWvh&maԋiuŽ@fx:qszn%HQ6~W.5w] 5P}BZ(z$KwҊ+30Ź^ \C6P*Av@Fzɤ>2`5l$2tIa^<'hu )LC9>t$*muF42PUDO!ڹY5H)C&U,,'0OH}2/ꞛGt襭: 2#c8'w kiξٖf7j%}٤>_G@ֺd|bÍHXiVmf Akk"oJX[ W ~y!Lֶl~Ciun&k,E$;+,f}ĉ.9$,x" RL=(*k@Ii)o^c?zNHЗ9^ 8Ɣľ%+O]9MW*A(`Jt;,$;Iȋ?ؚI+*ߵ}ae ػdIB˳`ORe"1w6 HWZ/-tO-KUR7QWv ׂ]ټY% ʒw3n\m@ޥGCK'NîzsjGZDgD;8o.!ꆿW\Bz&(m̚952=N3_๧<rFWJv򪬹cd~ӗdblN55Lɺ kKlu@<1Npg@`U|$S' (L땹^Wo)ޚ-g,b~Yǒ* vԁ<Z"_VTFgaԺT ,3}@q7n~蚦 G,8%m C|T? d XEnI׹Bjμ³!1Άd`z@d-:.2mm Tu :>p )|&=%luYJ_I` ]QȿhE`98|_aP\F}D;).z4g\+A BŲ> !2 &"F\ @h#hߦdnb2J)d%ʖUG5펀QdJA4ȓ(t}fz'>џڰ,n'sBg֟Pـ1h% 7^*6);Y r'kf>ʩ);>*Qsr<1ÞڕA1́qn]olCU P&Xn,0/uJC4PlPu 8{r-fz ʦ"ʏѸCe%SNRk3!dc%OYPت)02(O('k"`+s0"saBgB6gа\F`TȄ Z/A$ ]c~R fqFS:&zwuD;Ԯ%c3=u%dh&q3[D@a|EFm^Ð&RHhG3GIjr~. lԇLل_&kɖ~bE_Y$|jhOVm\|D-Jɉ!%%ƸYy*Gf].˶;̵QPIZ >Qs Y^g+st#\'e9*M;ƨ蘸OдC$Ew5l{dѭ +2O!l6CH1sq4K+cy ?sTvOV__&EYۿ!ȶxz/^ʵqaq:B3M|YivEzɒ% gl-q'yyyah[Y`WDsiqP&]Ve{/DNU:Pu&I$6Rxא2h}(EAt:(V3^15}OS 5#9Qcǝ̖ 76V J1W{lNST z JiI^,alDɭ$“)tYs]^6)s/쉘L01d2s6.L]m Mx:DlsRE?_d:8uёy7D< gROF~}t2#N6W̦(S>>}"]E'%kBoQsgk(踽.mxI˧]1Y[ uiPHrX5vd=`1!aM a&g08+ψC"\/9~Oi<V̈oŔ5 ~-uePrcYb!lQBTÆ8}CS$i6Y&žx<9PuR楦zH{!_MjP3o&Nf,$sǵ5K.fIUչ 6s^;#{e" j g8$P^F΁AGPl}|]b_>I7$"tLT=Z4\`IOS(2ƝMZq%-WwnPlً~ h&Lkߵ?mٛuron9kc}CT^ך)c015R* kṷ\jʿE+hY]𪛵>~y|}T K]I'dnMR.1m@;QY*aYqL;,W Vb4=YҘ$Q,aO\jbCФL{Ni@1ș}iϴw4= ?,У:6[{}jTAL{M3\_{?* (W N|II;,lX2ʚ뽙eV:uLvO2UQ&88ݲP-*!浟^W("]eerډ>{H(hOhU2aKD|y ,P.e<5Yz%ј>@)S0{1J;Q~B L)'AIdj!?} \BɆUmtؾah֥,G1 T}Ʌ޼{J0RFF> N,!ǒN֕f[bOqYգ2WGt%dQkR[Hx[UY;8$4{&֩"Ҕ,() 1vi~EͿ* .=U`йZ2;aR\JF6{rۭ#q_h`7;QV(@-487 _%Ѵ>HE6ǬK(=ڵ%*<]RQk`!3\٩ܹ)sطJH2CM]rp}nbZH-,1|_ Q8k(RR"Ł;5* J fgW':qһf'IIa/&ITt]m^\,%]]R9QYI}xT@HAcef~B;v cd!*kL(dka ~"D_P8l~I S %u}FZ"U_ЖZ\"`nSKl[4Dul,6f}iF](wnRMBЦ4̿"ޤQOs/=bqSD kºeSؒg)0ڽVV+-KUwmu[?CN(78ŘF ʐrfYp]\!g6nLtOYmדղ 2LHDF+Uh]s4K}1Om4G8=&-AԳǨ &mR!Ț xC)Il6{sa8͢~dQ_PwEe_"p@ۮ4혫ޑjlf$$ޢqGj bU8H,OGoߨr b"dyAu6pd(|uqgۨ s%6 ;Dؔph]z&rN7oQ„PNc9a8` ;)U1q s 2?VÇQf%մ]͋jܪ׭S6*]hh$Jrh+0`"Zⳇ)2c]HL%4 Qa{WPZ?/+~BEl#D j^ʤ ^Y$4 ?[)GYUlhlT\dlUt!S@lB%^ڗb NưcDQV-09- YXdl$l?2FV1DCbV^no2-`^| MbI'ZAn2-ϿaTK=;K_\_Jʇ:_U$0\)I3ҪF)6Pf*& $Mٳz03`77|N֦/_IL2>OcTkA@L^%C I ?LziTv@p\6ղ/ݤLD;!3~Y-_9Қv{5Ċā.q a@>X=ul[jEAdr6Pҧزd]u`!({XK9S^:̠']{bfNtn V%r5a}0LاK|k}mP8nJ-iyE$n=G VZ⢴j!LJbM|'cqX.TIny g{Zn@FX=8*28O_xd\i,~ԂIaTIt0GD9W3sՊ+8 f؜R_q%.!j7uDlɋ-j`l Xdg5 ~,~ou`iBUli >,m&D2EԞrIo|%~zy9Y/gn tؤçESz [2 U*@L]iXLw=Tvn90j~@/3Ȗi93R2VE=!THnfg4VP)`W c~s1%.DDMH'pQq1:}ϩuQj [vdyRNK)!-sjgEPE$~?9{t;rO f^10wd1(s 3R`+lG{*ɚ.`᭣ 6}bۑY#E 'oa(JÎ]޸cCw9x΃1=9 :7/I\& ?wY=]֗~@ISV½'6(I#oQܻdDJky,YЎ͢~Az Ré$ 5dv]^hdeƅdK2WVVCu2z.HoT >` q$atNz}!zǟ!VeS峳RѸbK_ kJ>J$sT1iKV[\vV{-JKA~P/P-"]sH#!Բ/ YR" Wɷ~>ŗ] |Ҟ2Ɯ!mIxXpٶL%:SKн;:ɬBDbcix͒q֐R)  C t'vQ~oufѣ}3@iMcvq; %<0F j-*2^JAk7Woݧ9iAdq_| mߺORtdzG]STXhwɨSɧ=L):GT}o3 UyiWkz2 /p>~ifwg`q*-y_*SfXZ?G$ZvꝮ=7-gŖH'AL J*ۓ2 @wQtmdլ%wCYWpz$Ll-K3/5SHl!?"QGِ`nVZhe,mh4B>+Jh(-C+C$"É6nq?Q]=fM-fҭ2MDf0!ϐ>f&z'!@m`O0Bߐ1x_z ߼NvLCI@1וE2 Ѓ̗f婡"$#nT{}Mb-}^M^ 梄$ѓe DP t5f•K8h(9&s [M@Fo曲H1Xn'u/m&XbxS**v!+Ӥ+@ ԃ[Y}¢ZcSE[`ǀ6|. Pjm\(|.#3#tDbfA'z|KPF3^1DzKAq ̍v#h48YZ n'-N)9w&تW5?mI|CrJyT%k|2.aԪhUBX8>@!#/k,GWw,WO'k4>eA^H֖Ūh҃q8p?1_g }d'czi]HՁ{+ޡҗbbd="ڃ<1S.kS4byn:",}HLZ($3iZ&G7b^v_ɿZ˸H&"WZ7=7T)YlsO4ܢ-jfAƾ\ HXbC \%k6o|K԰Lz2/iE.XBO?-:2]Y9z&~kE{&PQnVE'#BCdH8JI&d\"F & _h*{?"oװE`aI#F}\ICL̙qyX`#4 4-XڨB%!o{{E8pʆoiR0BuFbX+_%&U͚6erQשd3Z N|fm)KAέdJUfYkf2DS5['<(m2\22  +6r#!#i ;i͢ ;aD˼W>9L2_W5҈St49r ;g>9D:e8w{')ÄNlO>eP?N723~ɧt k#n*yz>H0r3w,ecON_[bibOIW 4|Oa^kAlYig@}}ɧ}ICl!hh!YOہZُ:D/ Oh8'ᕖ)DW{BCx d PzybOzye2NS_՛ȇiX2LfrFezkI_>]gl-}Zg3o~/Rn}=e?ӳgw KVJ Le:%gN4:/_Lnf˘/&9sBJ &|&s_T 8UZɄ K omyG! ] ;wOd>P>yz.+o2_}QR%蓘s^P9w;W'G)Iuj+CMjxDk̟pP$| ]*aJ*ZN. d\IkI02oVZMaN| &AܞȺ'E*2i/?7sy͛*!? xq0IENDB`PNG  IHDR<<:rgAMA asRGB cHRMz&u0`:pQ<bKGD pHYs..*' IDAThś{p\}?ܻVזeS;8d!n$i))HKHNNiKH!ɐͤBpFƲC6~J깻􏳖,iw;?ts~#K)EZXο@'p+Cv6s[FQ5+ 9-FYv4@lw` wqCXo^>>|2yA^ln:g+6Lo^)R~ƒ[{DQy~DA.Y6tHp3 kxX UG4 ,"6 @g :^rmZܺy 7A{wMՐM!ĺ9DH%|?QD4[5>OaWb4>%LÇ!-C9vl5_F$.)0`މחx҇8<Qkr9E[ :DgRoͿALjB~"N N8,q ?h)2ýCn;@HX͏c]Y|s7Au=5¾1IwttQ7ڿ(a6L9,Xk_^;sG-HV!$#,(٢t9bվO&P'vC$ $Y.YHo) 7c>|gUL`߹9yN 5܏nI7;[ςS28Xxt6ekh^P/>H:YC䌏WܪePm2נDbbD Q{]a׃:裡[! Vt E~j)ݛ71#dSX3&"$ @u0!n̥X3Jo* "VII^v8- zyhDthU:uYS'; ˱? h|a479"e)t{sW"j}ux+~!S -F6,Z`N^ KWPhtFκOțD4~}d:s}?~~7PRه+I-T30p+;3d;^{ڷH g޸޺) 0=Q*Q !@3Csr/}Jp'/X>[0FwP1=sLEw o oFu l',EKq;h~q_~eٍlUeW3%FBV3[Edt=QsūS .p >A:d[Nd eyqv |uҡ&sm8@D0y Ƚw8aT~"\-y t)"S b"D,:5 3]co6NaGAG+Py6p薎҈D*D{tfƥD:^]|)CLe~WRz¶ _Ƭ0=y @@$g{Bվ "6y]kAD09JUIȥF>נNDק/@-5;@ y$l ul$_D4"y١`<:w֢7wS^>\ulZ WԞѽF́yA^ȅw!CCV2(?hl{)=0KidVhՖ׌lrv3GFLA yE%l~`lєO^Is v>CH- (ׇa""zFx聚}kQrN{%p 3ʣ#ۍu݃ج>~tzPҁztUsW1[6wR:Tg`]{ $7:(Q7SO c> 5$.qfg$2]6ݎl HT"Rajv&867DZO[xM:Hz;" @[gCk!9ZzxwQ "bU-@mpj _PR>ڿ+dv+1O6ӑ99`BKqԑXK@N[|QSs?D4Y9z5Rׇ]g$S9mfĄ-p8tB5}'k|M4d\Tn^ʟY 0xYg!CLZkBLalsѝ{ѝ3w5 Him/M:bC#[}xxQ<b5F!|Ŏ! pjN-D9H!ׇ/ҠBӆ1G$ez $?|ZS.IFΛ ?9)IcW2eL31XM14s7t\8ϣ01Y_^,*>K7oB6&pZ>輍9pD6&&=[7#(8 T)qu?bJ҇|'}&z0{E:}xq㽣¬r4'\Xh'![RK.~h ޼R>1SbϹI7C[϶[dzsug<͘l BM `T|WQRޕYWa b/+t xW6Gۆ#VA/6svg5*5\G2s`Ǥ{-Ȉl>OSXmlH@g)%tEXtdate:create2014-02-02T04:26:13-06:00Nw%tEXtdate:modify2014-02-02T04:26:13-06:00?*R3tEXtSoftwareAdobe Fireworks CS5.1HIENDB`PNG  IHDRLLǗQ+gAMA asRGB cHRMz&u0`:pQ<bKGD pHYs..*' IDATxݜy\U?TwH! %,b&mudsqGøGE3(.HFAG#' [H$1dOIHg^kyU[@Stw{}wm*^$}' Jn\\: 8jHIء%CNF:z7P^C?7CgA1SK|U3b9"ȒSg]x"[SW|UKbuoW/f5ex=vLp =l&ab)uX L*I#w҅u ~%vPKKJYZz+Rx0|%z'=*=UJb\>\ ULpR:PPSo][ED=Oo3a^U$ tC:@O~%fTerz"z;74U}s& P[rD CO}M ^5LXItlTS_p20YZzHױshՂ{p܈B~M @Uzz̓4Uj%-,YڇfۀKNT8W}+9CE[̼ϻ(MզXҊz\C{e%+Չ>jQ]s'!++J;Gʥ!,Ke#K *Y1S@*wiQŐ6"aY6+b@ _zc& p^} 8g|ˇfiiy }d]|M$Q"FT ɮ 8*:DVϹm6. A(X \2@=r@ 5G`KU WIG+GE!8"$!ɮE>݇xԑ|rNY2eUIu*F_ +x#]c/\Uh3 GV Ԟ ~/j5H~h\jRnOV7ÁnR~/|/J8ΜxXd < \vWRnoPI G@l$3>ru^0vHYW#GzӮDawCTyyK yaVc>91;x*7"lo/^,̛Cz\?CEA( Q51dӲ C$v"SAUD!RgH"&m{aNр;]jJ f@7a-}MuƹM㗬`8|o#sT,ٗ\iH-8!N mc{c׹f Eb~CyhǙBn7YJ CYsPtIu<}m9Q/ etB}ZbPB_Z;Cت[y4 a2 Ӥm=Lv/Q%]'u9R\qӹ:?~x"{; M6dC=ڑ #i`Z#z̆;xQf7jL刐<oja.B緐dל؄z?e! v ;K>4cA=pVX}a%2Ƿ<]Ďc=e!K_΢/>HksCȱHfo+a9نُ6`d3v9FL PWhy_0=j&G-jeۑ'i&C .aU ^K1[a$XMe%&̖{D{ԏxԃ6.Z{G]R (.FU"c9=/W;&뽹ƟgTqpaF=ܘg.U8"?5ޜ@ ́'tK"y-#\(+<ÿ]z֛-I/%I'0G[|'7v.ܩV4Y{+Vr\Tvk8p 3}gIey:jDžoHP 2:8 <@SuHNSUp{~xC5UH'Z88McO88L>UB8888l{nK88HB888Qh88888HM8J8D888TW8V888d<58ga88=F+L8vu?88R8 H8BB8lE8L88 B8888sL:D887XLA=HW81 PNG  IHDR00` fPLTE,,,,,,,,,,,,,,,,9FTan{LjΖԣڰwtRNS 0@P`p.pGIDATHۢ E 5( **"r!Aaf,z6®y?hA%ֺg u#k=!I}Y? f[$w"ƅͦWE@3T1@|UKw([19}]Zo"؝}U/V,~ 15zD$[?՗%(A ѴIJN *SpzZ'#š5Vݓsk> :ڻ–]㪤-% _:'qplypr"Bh>"@wfԞ5u]ZGh_E-4%lVry!Diu꣸K'lfx:q ۟s_b]_(Aoĩw.M{{Q{{$56 dY.w=Fګ.A4xg mEyIENDB` (function (global, $) { 'use strict'; /** * Setting SX Object (Namespace) for Simplex theme functions and variables */ var SX = global.SX = {}; /** -------------------------------------------------------------------- Setting few helper variables, maybe someone finds this stuff helpful -------------------------------------------------------------------- */ /** * set a variable if we need touch device detection * @return false|true */ SX.isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0) || window.DocumentTouch && document instanceof DocumentTouch); /** * set a variable with user agent check and change to lower case * @return String - lower case User Agent (https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID.userAgent) */ SX.UA = navigator.userAgent.toLowerCase(); /** * set a variable with a basic user agent check against few mobile devices, do not fully rely on this * @return null|object */ SX.isMobile = SX.UA.match(/android|ipod|ipad|ipad|blackberry|blazer|dolphin|palmsource|fennec|gobrowser|iemobile|opera mobi|opera mini|skyfire|kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|sreo|up.browser|up.link|vodafone|wap/i); /** * set a variable for window screen size, can be useful if one needs something based on device screen size * Example: * if (SX.viewportWidth > 768) { * // do something... * } * @return numeric - Screen width number */ SX.viewportWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; $(document).ready(function () { // add class to body if mobile device detected (just for convenience) if (SX.isMobile) { $('body').addClass('mobile-device'); } /** * add Touch polyfill for DAMN Internet Explorer, i do not have a Windows Phone or Windows 8 device with touch support * therefore this is untested and installing a VM with Windows 8 and Windows Phone Emulator is something i do not intended * to do just to test this theme, if touch events do not work there, sorry, bad karma. */ if (window.navigator.msPointerEnabled) { var tchr = document.createElement('script'); tchr.src = './uploads/simplex/js/touchr.js'; tchr.type = 'text/javascript'; if ( typeof tchr.async !== 'undefined' ) { tchr.async = true; } (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(tchr); } // initialize touch menu function SX.init.mobileMenu(); // initalize swipe function SX.init.swipePage(); // intialize scroll to top function SX.init.scrollTop(); // initalize sequence slider in header SX.sequenceOptions = { nextButton: true, prevButton: true, pagination: true, animateStartingFrameIn: true, autoPlay: true, autoPlayDelay: 6000, preloader: true, preloadTheseFrames: [1] }; SX.sequenceInit = $('#sx-slides').sequence(SX.sequenceOptions).data('sequence'); }); /** ------------------------------------------------------------------- Functions and Logic ------------------------------------------------------------------- */ SX.init = { /** * @function mobileMenu * @description Handles first touch event on parent menu elements to open a sub level menu */ mobileMenu: function () { var menuItem = $('#main-menu li.parent'); // add class to body if it's touch device, shows parent indicator arrows if (SX.isTouch) { $('body').addClass('touch-device'); } if (!window.attachEvent && window.addEventListener && SX.isMobile) { menuItem.each(function () { var currentItem = $(this), parentItem = currentItem.parents('li').addBack().first(), event = 'click'; // we set as default click event if (SX.isTouch && !((SX.UA.indexOf('android') > -1 && SX.UA.indexOf('applewebkit') > -1) && !(SX.UA.indexOf('chrome') > -1))) { event = 'touchstart'; // if it's touch device and is NOT default android browser do touchstart event }; this.addEventListener(event, function (e) { // toggle class for dropdown if (!currentItem.hasClass('active')) { // hide open dropdowns menuItem.removeClass('active'); // prevent opening link on first touch if (e.target === this || e.target.parentNode === this || e.target.firstChild === this) { e.preventDefault(); } // show current touched dropdown parentItem.addClass('active'); currentItem.addClass('active') .children('ul').slideDown(); // hide dropdown on touch outside var closeDropdown = function (e) { e.stopPropagation(); currentItem.not('.active').children('ul').hide(); document.removeEventListener(event, closeDropdown); }; document.addEventListener(event, closeDropdown); } }, false); }); } }, /** * @function swipePage * @description handles detection of swipe action and changes target location based on direction. * Target location is based on href value of tag with rel='next' and rel='prev'. */ swipePage: function () { var nextPage = $('link[rel="next"]').attr('href'), prevPage = $('link[rel="prev"]').attr('href'), touch, direction, start = {}, end = {}, threshold = 200, restraint = 100, allowedTime = 800, elapsedTime, startTime; $(document.body) .bind('touchstart', function (e) { touch = e.originalEvent.touches[0]; start.x = touch.pageX; start.y = touch.pageY; startTime = new Date().getTime(); }) .bind('touchmove', function (e) { direction = null; touch = e.originalEvent.changedTouches[0]; end.x = touch.pageX; end.y = touch.pageY; if (Math.abs(end.x - start.x) >= 8 && Math.abs(end.y - start.y) <= 20) { e.stopPropagation(); e.preventDefault(); } }) .bind('touchend', function (e) { touch = e.originalEvent.changedTouches[0]; end.x = touch.pageX; end.y = touch.pageY; elapsedTime = new Date().getTime() - startTime; if (elapsedTime <= allowedTime) { if (Math.abs(start.x - end.x) >= threshold && Math.abs(start.y - end.y) <= restraint) { direction = (start.x - end.x) > 0 ? 'left' : 'right'; } } if (direction === 'left' && nextPage) { window.location = nextPage; } else if (direction === 'right' && prevPage) { window.location = prevPage; } }); }, /** * @function scrollTop * @description Scrolls content back to top when clicked on #scroll-top link and #main element exists */ scrollTop: function () { var trigger = $('#scroll-top'), target = '#main', doc = (document.compatMode === 'CSS1Compat') ? document.documentElement : 'html, body'; // prevent deprecated warning if ($('#main').length > 0) { trigger.click(function (event) { if (SX.UA.match(/android|ipod|ipad|iphone/i)) { window.scrollTo(0); } else { $(doc).stop().animate({ scrollTop: $(target).offset().top }, 500); } event.preventDefault(); }); } } }; }(this, jQuery));(function(e,t){"use strict";var n=e.SX={};n.isTouch="ontouchstart"in window||navigator.msMaxTouchPoints>0||window.DocumentTouch&&document instanceof DocumentTouch;n.UA=navigator.userAgent.toLowerCase();n.isMobile=n.UA.match(/android|ipod|ipad|ipad|blackberry|blazer|dolphin|palmsource|fennec|gobrowser|iemobile|opera mobi|opera mini|skyfire|kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|sreo|up.browser|up.link|vodafone|wap/i);n.viewportWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;t(document).ready(function(){if(n.isMobile){t("body").addClass("mobile-device")}if(window.navigator.msPointerEnabled){var e=document.createElement("script");e.src="./uploads/simplex/js/touchr.js";e.type="text/javascript";if(typeof e.async!=="undefined"){e.async=true}(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(e)}n.init.mobileMenu();n.init.swipePage();n.init.scrollTop();n.sequenceOptions={nextButton:true,prevButton:true,pagination:true,animateStartingFrameIn:true,autoPlay:true,autoPlayDelay:6e3,preloader:true,preloadTheseFrames:[1]};n.sequenceInit=t("#sx-slides").sequence(n.sequenceOptions).data("sequence")});n.init={mobileMenu:function(){var e=t("#main-menu li.parent");if(n.isTouch){t("body").addClass("touch-device")}if(!window.attachEvent&&window.addEventListener&&n.isMobile){e.each(function(){var r=t(this),i=r.parents("li").addBack().first(),s="click";if(n.isTouch&&!(n.UA.indexOf("android")>-1&&n.UA.indexOf("applewebkit")>-1&&!(n.UA.indexOf("chrome")>-1))){s="touchstart"}this.addEventListener(s,function(t){if(!r.hasClass("active")){e.removeClass("active");if(t.target===this||t.target.parentNode===this||t.target.firstChild===this){t.preventDefault()}i.addClass("active");r.addClass("active").children("ul").slideDown();var n=function(e){e.stopPropagation();r.not(".active").children("ul").hide();document.removeEventListener(s,n)};document.addEventListener(s,n)}},false)})}},swipePage:function(){var e=t('link[rel="next"]').attr("href"),n=t('link[rel="prev"]').attr("href"),r,i,s={},o={},u=200,a=100,f=800,l,c;t(document.body).bind("touchstart",function(e){r=e.originalEvent.touches[0];s.x=r.pageX;s.y=r.pageY;c=(new Date).getTime()}).bind("touchmove",function(e){i=null;r=e.originalEvent.changedTouches[0];o.x=r.pageX;o.y=r.pageY;if(Math.abs(o.x-s.x)>=8&&Math.abs(o.y-s.y)<=20){e.stopPropagation();e.preventDefault()}}).bind("touchend",function(t){r=t.originalEvent.changedTouches[0];o.x=r.pageX;o.y=r.pageY;l=(new Date).getTime()-c;if(l<=f){if(Math.abs(s.x-o.x)>=u&&Math.abs(s.y-o.y)<=a){i=s.x-o.x>0?"left":"right"}}if(i==="left"&&e){window.location=e}else if(i==="right"&&n){window.location=n}})},scrollTop:function(){var e=t("#scroll-top"),r="#main",i=document.compatMode==="CSS1Compat"?document.documentElement:"html, body";if(t("#main").length>0){e.click(function(e){if(n.UA.match(/android|ipod|ipad|iphone/i)){window.scrollTo(0)}else{t(i).stop().animate({scrollTop:t(r).offset().top},500)}e.preventDefault()})}}}})(this,jQuery) /* Sequence.js (http://www.sequencejs.com) Version: 1.0.1.2 Author: Ian Lunn @IanLunn Author URL: http://www.ianlunn.co.uk/ Github: https://github.com/IanLunn/Sequence This is a FREE script and is available under a MIT License: http://www.opensource.org/licenses/mit-license.php Sequence.js and its dependencies are (c) Ian Lunn Design 2012 - 2013 unless otherwise stated. Sequence also relies on the following open source scripts: - jQuery imagesLoaded 2.1.0 (http://github.com/desandro/imagesloaded) Paul Irish et al Available under a MIT License: http://www.opensource.org/licenses/mit-license.php - jQuery TouchWipe 1.1.1 (http://www.netcu.de/jquery-touchwipe-iphone-ipad-library) Andreas Waltl, netCU Internetagentur (http://www.netcu.de) Available under a MIT License: http://www.opensource.org/licenses/mit-license.php - Modernizr 2.6.1 Custom Build (http://modernizr.com/) (Named Modernizr for Sequence to prevent conflicts) Copyright (c) Faruk Ates, Paul Irish, Alex Sexton Available under the BSD and MIT licenses: www.modernizr.com/license/ */(function(e){function n(n,r,i,s){function f(){o.afterLoaded();o.settings.hideFramesUntilPreloaded&&o.settings.preloader!==undefined&&o.settings.preloader!==!1&&o.frames.show();if(o.settings.preloader!==undefined&&o.settings.preloader!==!1)if(o.settings.hidePreloaderUsingCSS&&o.transitionsSupported){o.prependPreloadingCompleteTo=o.settings.prependPreloadingComplete===!0?o.settings.preloader:e(o.settings.prependPreloadingComplete);o.prependPreloadingCompleteTo.addClass("preloading-complete");setTimeout(g,o.settings.hidePreloaderDelay)}else o.settings.preloader.fadeOut(o.settings.hidePreloaderDelay,function(){clearInterval(o.defaultPreloader);g()});else g()}function h(t,n){var r=[];if(!n)for(var i=t;i>0;i--)o.frames.eq(o.settings.preloadTheseFrames[i-1]-1).find("img").each(function(){r.push(e(this)[0])});else for(var s=t;s>0;s--)r.push(e("body").find('img[src="'+o.settings.preloadTheseImages[s-1]+'"]'));return r}function p(t,n){function c(){var t=e(f),r=e(l);s&&(l.length?s.reject(u,t,r):s.resolve(u));e.isFunction(n)&&n.call(i,u,t,r)}function h(t,n){if(t.src===r||e.inArray(t,a)!==-1)return;a.push(t);n?l.push(t):f.push(t);e.data(t,"imagesLoaded",{isBroken:n,src:t.src});o&&s.notifyWith(e(t),[n,u,e(f),e(l)]);if(u.length===a.length){setTimeout(c);u.unbind(".imagesLoaded")}}var r="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",i=t,s=e.isFunction(e.Deferred)?e.Deferred():0,o=e.isFunction(s.notify),u=i.find("img").add(i.filter("img")),a=[],f=[],l=[];e.isPlainObject(n)&&e.each(n,function(e,t){e==="callback"?n=t:s&&s[e](t)});u.length?u.bind("load.imagesLoaded error.imagesLoaded",function(e){h(e.target,e.type==="error")}).each(function(t,n){var i=n.src,s=e.data(n,"imagesLoaded");if(s&&s.src===i){h(n,s.isBroken);return}if(n.complete&&n.naturalWidth!==undefined){h(n,n.naturalWidth===0||n.naturalHeight===0);return}if(n.readyState||n.complete){n.src=r;n.src=i}}):c()}function g(){function t(e,t){var r,i;for(i in t){i==="left"||i==="right"?r=n[i]:r=i;e===parseFloat(r)&&o._initCustomKeyEvent(t[i])}}function r(){o.canvas.on("touchmove.sequence",i);u=null;f=!1}function i(e){o.settings.swipePreventsDefault&&e.preventDefault();if(f){var t=e.originalEvent.touches[0].pageX,n=e.originalEvent.touches[0].pageY,i=u-t,s=a-n;if(Math.abs(i)>=o.settings.swipeThreshold){r();i>0?o._initCustomKeyEvent(o.settings.swipeEvents.left):o._initCustomKeyEvent(o.settings.swipeEvents.right)}else if(Math.abs(s)>=o.settings.swipeThreshold){r();s>0?o._initCustomKeyEvent(o.settings.swipeEvents.down):o._initCustomKeyEvent(o.settings.swipeEvents.up)}}}function s(e){if(e.originalEvent.touches.length===1){u=e.originalEvent.touches[0].pageX;a=e.originalEvent.touches[0].pageY;f=!0;o.canvas.on("touchmove.sequence",i)}}e(o.settings.preloader).remove();o.nextButton=o._renderUiElements(o.settings.nextButton,".sequence-next");o.prevButton=o._renderUiElements(o.settings.prevButton,".sequence-prev");o.pauseButton=o._renderUiElements(o.settings.pauseButton,".sequence-pause");o.pagination=o._renderUiElements(o.settings.pagination,".sequence-pagination");o.nextButton!==undefined&&o.nextButton!==!1&&o.settings.showNextButtonOnInit===!0&&o.nextButton.show();o.prevButton!==undefined&&o.prevButton!==!1&&o.settings.showPrevButtonOnInit===!0&&o.prevButton.show();o.pauseButton!==undefined&&o.pauseButton!==!1&&o.settings.showPauseButtonOnInit===!0&&o.pauseButton.show();if(o.settings.pauseIcon!==!1){o.pauseIcon=o._renderUiElements(o.settings.pauseIcon,".sequence-pause-icon");o.pauseIcon!==undefined&&o.pauseIcon.hide()}else o.pauseIcon=undefined;if(o.pagination!==undefined&&o.pagination!==!1){o.paginationLinks=o.pagination.children();o.paginationLinks.on("click.sequence",function(){var t=e(this).index()+1;o.goTo(t)});o.settings.showPaginationOnInit===!0&&o.pagination.show()}o.nextFrameID=o.settings.startingFrameID;if(o.settings.hashTags===!0){o.frames.each(function(){o.frameHashID.push(e(this).prop(o.getHashTagFrom))});o.currentHashTag=location.hash.replace("#","");if(o.currentHashTag===undefined||o.currentHashTag==="")o.nextFrameID=o.settings.startingFrameID;else{o.frameHashIndex=e.inArray(o.currentHashTag,o.frameHashID);o.frameHashIndex!==-1?o.nextFrameID=o.frameHashIndex+1:o.nextFrameID=o.settings.startingFrameID}}o.nextFrame=o.frames.eq(o.nextFrameID-1);o.nextFrameChildren=o.nextFrame.children();o.pagination!==undefined&&e(o.paginationLinks[o.settings.startingFrameID-1]).addClass("current");if(o.transitionsSupported)if(!o.settings.animateStartingFrameIn){o.currentFrameID=o.nextFrameID;o.settings.moveActiveFrameToTop&&o.nextFrame.css("z-index",o.numberOfFrames);o._resetElements(o.transitionPrefix,o.nextFrameChildren,"0s");o.nextFrame.addClass("animate-in");if(o.settings.hashTags&&o.settings.hashChangesOnFirstFrame){o.currentHashTag=o.nextFrame.prop(o.getHashTagFrom);document.location.hash="#"+o.currentHashTag}setTimeout(function(){o._resetElements(o.transitionPrefix,o.nextFrameChildren,"")},100);o._resetAutoPlay(!0,o.settings.autoPlayDelay)}else if(o.settings.reverseAnimationsWhenNavigatingBackwards&&o.settings.autoPlayDirection-1&&o.settings.animateStartingFrameIn){o._resetElements(o.transitionPrefix,o.nextFrameChildren,"0s");o.nextFrame.addClass("animate-out");o.goTo(o.nextFrameID,-1,!0)}else o.goTo(o.nextFrameID,1,!0);else{o.container.addClass("sequence-fallback");o.currentFrameID=o.nextFrameID;if(o.settings.hashTags&&o.settings.hashChangesOnFirstFrame){o.currentHashTag=o.nextFrame.prop(o.getHashTagFrom);document.location.hash="#"+o.currentHashTag}o.frames.addClass("animate-in");o.frames.not(":eq("+(o.nextFrameID-1)+")").css({display:"none",opacity:0});o._resetAutoPlay(!0,o.settings.autoPlayDelay)}o.nextButton!==undefined&&o.nextButton.bind("click.sequence",function(){o.next()});o.prevButton!==undefined&&o.prevButton.bind("click.sequence",function(){o.prev()});o.pauseButton!==undefined&&o.pauseButton.bind("click.sequence",function(){o.pause(!0)});if(o.settings.keyNavigation){var n={left:37,right:39};e(document).bind("keydown.sequence",function(e){var n=String.fromCharCode(e.keyCode);if(n>0&&n<=o.numberOfFrames&&o.settings.numericKeysGoToFrames){o.nextFrameID=n;o.goTo(o.nextFrameID)}t(e.keyCode,o.settings.keyEvents);t(e.keyCode,o.settings.customKeyEvents)})}o.canvas.on({"mouseenter.sequence":function(){if(o.settings.pauseOnHover&&o.settings.autoPlay&&!o.hasTouch){o.isBeingHoveredOver=!0;o.isHardPaused||o.pause()}},"mouseleave.sequence":function(){if(o.settings.pauseOnHover&&o.settings.autoPlay&&!o.hasTouch){o.isBeingHoveredOver=!1;o.isHardPaused||o.unpause()}}});o.settings.hashTags&&e(window).bind("hashchange.sequence",function(){var t=location.hash.replace("#","");if(o.currentHashTag!==t){o.currentHashTag=t;o.frameHashIndex=e.inArray(o.currentHashTag,o.frameHashID);if(o.frameHashIndex!==-1){o.nextFrameID=o.frameHashIndex+1;o.goTo(o.nextFrameID)}}});if(o.settings.swipeNavigation&&o.hasTouch){var u,a,f=!1;o.canvas.on("touchstart.sequence",s)}}var o=this;o.container=e(n);o.canvas=o.container.children(".sequence-canvas");o.frames=o.canvas.children("li");o._modernizrForSequence();var u={WebkitTransition:"-webkit-",WebkitAnimation:"-webkit-",MozTransition:"-moz-","MozAnimation ":"-moz-",OTransition:"-o-",OAnimation:"-o-",msTransition:"-ms-",msAnimation:"-ms-",transition:"",animation:""},a={WebkitTransition:"webkitTransitionEnd.sequence",WebkitAnimation:"webkitAnimationEnd.sequence",MozTransition:"transitionend.sequence",MozAnimation:"animationend.sequence",OTransition:"otransitionend.sequence",OAnimation:"oanimationend.sequence",msTransition:"MSTransitionEnd.sequence",msAnimation:"MSAnimationEnd.sequence",transition:"transitionend.sequence",animation:"animationend.sequence"};o.transitionPrefix=u[ModernizrForSequence.prefixed("transition")],o.animationPrefix=u[ModernizrForSequence.prefixed("animation")],o.transitionProperties={},o.transitionEnd=a[ModernizrForSequence.prefixed("transition")]+" "+a[ModernizrForSequence.prefixed("animation")],o.numberOfFrames=o.frames.length,o.transitionsSupported=o.transitionPrefix!==undefined?!0:!1,o.hasTouch="ontouchstart"in window?!0:!1,o.isPaused=!1,o.isBeingHoveredOver=!1,o.container.removeClass("sequence-destroyed");o.paused=function(){},o.unpaused=function(){},o.beforeNextFrameAnimatesIn=function(){},o.afterNextFrameAnimatesIn=function(){},o.beforeCurrentFrameAnimatesOut=function(){},o.afterCurrentFrameAnimatesOut=function(){},o.afterLoaded=function(){};o.destroyed=function(){};o.settings=e.extend({},i,r);o.settings.preloader=o._renderUiElements(o.settings.preloader,".sequence-preloader");o.isStartingFrame=o.settings.animateStartingFrameIn?!0:!1;o.settings.unpauseDelay=o.settings.unpauseDelay===null?o.settings.autoPlayDelay:o.settings.unpauseDelay;o.getHashTagFrom=o.settings.hashDataAttribute?"data-sequence-hashtag":"id";o.frameHashID=[];o.direction=o.settings.autoPlayDirection;o.settings.hideFramesUntilPreloaded&&o.settings.preloader!==undefined&&o.settings.preloader!==!1&&o.frames.hide();o.transitionPrefix==="-o-"&&(o.transitionsSupported=o._operaTest());o.frames.removeClass("animate-in");var l=o.settings.preloadTheseFrames.length,c=o.settings.preloadTheseImages.length;o.settings.windowLoaded===!0&&(t=o.settings.windowLoaded);if(o.settings.preloader===undefined||o.settings.preloader===!1||l===0&&c===0)if(t===!0){f();e(this).unbind("load.sequence")}else e(window).bind("load.sequence",function(){f();e(this).unbind("load.sequence")});else{var d=h(l),v=h(c,!0),m=e(d.concat(v));p(m,f)}}var t=!1;e(window).bind("load",function(){t=!0});n.prototype={startAutoPlay:function(e){var t=this;e=e===undefined?t.settings.autoPlayDelay:e;t.unpause();t._resetAutoPlay();t.autoPlayTimer=setTimeout(function(){t.settings.autoPlayDirection===1?t.next():t.prev()},e)},stopAutoPlay:function(){var e=this;e.pause(!0);clearTimeout(e.autoPlayTimer)},pause:function(e){var t=this;if(!t.isSoftPaused){if(t.pauseButton!==undefined){t.pauseButton.addClass("paused");t.pauseIcon!==undefined&&t.pauseIcon.show()}t.paused();t.isSoftPaused=!0;t.isHardPaused=e?!0:!1;t.isPaused=!0;t._resetAutoPlay()}else t.unpause()},unpause:function(e){var t=this;if(t.pauseButton!==undefined){t.pauseButton.removeClass("paused");t.pauseIcon!==undefined&&t.pauseIcon.hide()}t.isSoftPaused=!1;t.isHardPaused=!1;t.isPaused=!1;if(!t.active){e!==!1&&t.unpaused();t._resetAutoPlay(!0,t.settings.unpauseDelay)}else t.delayUnpause=!0},next:function(){var e=this;id=e.currentFrameID!==e.numberOfFrames?e.currentFrameID+1:1;e.active===!1||e.active===undefined?e.goTo(id,1):e.goTo(id,1,!0)},prev:function(){var e=this;id=e.currentFrameID===1?e.numberOfFrames:e.currentFrameID-1;e.active===!1||e.active===undefined?e.goTo(id,-1):e.goTo(id,-1,!0)},goTo:function(t,n,r){var i=this;i.nextFrameID=parseFloat(t);var s=r===!0?0:i.settings.transitionThreshold;if(i.nextFrameID===i.currentFrameID||i.settings.navigationSkip&&i.navigationSkipThresholdActive||!i.settings.navigationSkip&&i.active||!i.transitionsSupported&&i.active||!i.settings.cycle&&n===1&&i.currentFrameID===i.numberOfFrames||!i.settings.cycle&&n===-1&&i.currentFrameID===1||i.settings.preventReverseSkipping&&i.direction!==n&&i.active)return!1;if(i.settings.navigationSkip&&i.active){i.navigationSkipThresholdActive=!0;i.settings.fadeFrameWhenSkipped&&i.nextFrame.stop().animate({opacity:0},i.settings.fadeFrameTime);clearTimeout(i.transitionThresholdTimer);setTimeout(function(){i.navigationSkipThresholdActive=!1},i.settings.navigationSkipThreshold)}if(!i.active||i.settings.navigationSkip){i.active=!0;i._resetAutoPlay();n===undefined?i.direction=i.nextFrameID>i.currentFrameID?1:-1:i.direction=n;i.currentFrame=i.canvas.children(".animate-in");i.nextFrame=i.frames.eq(i.nextFrameID-1);i.currentFrameChildren=i.currentFrame.children();i.nextFrameChildren=i.nextFrame.children();if(i.pagination!==undefined){i.paginationLinks.removeClass("current");e(i.paginationLinks[i.nextFrameID-1]).addClass("current")}if(i.transitionsSupported){if(i.currentFrame.length!==undefined){i.beforeCurrentFrameAnimatesOut();i.settings.moveActiveFrameToTop&&i.currentFrame.css("z-index",1);i._resetElements(i.transitionPrefix,i.nextFrameChildren,"0s");if(!i.settings.reverseAnimationsWhenNavigatingBackwards||i.direction===1){i.nextFrame.removeClass("animate-out");i._resetElements(i.transitionPrefix,i.currentFrameChildren,"")}else if(i.settings.reverseAnimationsWhenNavigatingBackwards&&i.direction===-1){i.nextFrame.addClass("animate-out");i._reverseTransitionProperties()}}else i.isStartingFrame=!1;i.active=!0;i.currentFrame.unbind(i.transitionEnd);i.nextFrame.unbind(i.transitionEnd);i.settings.fadeFrameWhenSkipped&&i.settings.navigationSkip&&i.nextFrame.css("opacity",1);i.beforeNextFrameAnimatesIn();i.settings.moveActiveFrameToTop&&i.nextFrame.css("z-index",i.numberOfFrames);if(!i.settings.reverseAnimationsWhenNavigatingBackwards||i.direction===1){setTimeout(function(){i._resetElements(i.transitionPrefix,i.nextFrameChildren,"");i._waitForAnimationsToComplete(i.nextFrame,i.nextFrameChildren,"in");(i.afterCurrentFrameAnimatesOut!=="function () {}"||i.settings.transitionThreshold===!0&&r!==!0)&&i._waitForAnimationsToComplete(i.currentFrame,i.currentFrameChildren,"out",!0,1)},50);setTimeout(function(){if(i.settings.transitionThreshold===!1||i.settings.transitionThreshold===0||r===!0){i.currentFrame.toggleClass("animate-out animate-in");i.nextFrame.addClass("animate-in")}else{i.currentFrame.toggleClass("animate-out animate-in");i.settings.transitionThreshold!==!0&&(i.transitionThresholdTimer=setTimeout(function(){i.nextFrame.addClass("animate-in")},s))}},50)}else if(i.settings.reverseAnimationsWhenNavigatingBackwards&&i.direction===-1){setTimeout(function(){i._resetElements(i.transitionPrefix,i.currentFrameChildren,"");i._resetElements(i.transitionPrefix,i.nextFrameChildren,"");i._reverseTransitionProperties();i._waitForAnimationsToComplete(i.nextFrame,i.nextFrameChildren,"in");(i.afterCurrentFrameAnimatesOut!=="function () {}"||i.settings.transitionThreshold===!0&&r!==!0)&&i._waitForAnimationsToComplete(i.currentFrame,i.currentFrameChildren,"out",!0,-1)},50);setTimeout(function(){if(i.settings.transitionThreshold===!1||i.settings.transitionThreshold===0||r===!0){i.currentFrame.removeClass("animate-in");i.nextFrame.toggleClass("animate-out animate-in")}else{i.currentFrame.removeClass("animate-in");i.settings.transitionThreshold!==!0&&(i.transitionThresholdTimer=setTimeout(function(){i.nextFrame.toggleClass("animate-out animate-in")},s))}},50)}}else{function o(){i._setHashTag();i.active=!1;i._resetAutoPlay(!0,i.settings.autoPlayDelay)}switch(i.settings.fallback.theme){case"fade":i.frames.css({position:"relative"});i.beforeCurrentFrameAnimatesOut();i.currentFrame=i.frames.eq(i.currentFrameID-1);i.currentFrame.animate({opacity:0},i.settings.fallback.speed,function(){i.currentFrame.css({display:"none","z-index":"1"});i.afterCurrentFrameAnimatesOut();i.beforeNextFrameAnimatesIn();i.nextFrame.css({display:"block","z-index":i.numberOfFrames}).animate({opacity:1},500,function(){i.afterNextFrameAnimatesIn()});o()});i.frames.css({position:"relative"});break;case"slide":default:var u={},a={},f={};if(i.direction===1){u.left="-100%";a.left="100%"}else{u.left="100%";a.left="-100%"}f.left="0";f.opacity=1;i.currentFrame=i.frames.eq(i.currentFrameID-1);i.beforeCurrentFrameAnimatesOut();i.currentFrame.animate(u,i.settings.fallback.speed,function(){i.currentFrame.css({display:"none","z-index":"1"});i.afterCurrentFrameAnimatesOut()});i.beforeNextFrameAnimatesIn();i.nextFrame.show().css(a);i.nextFrame.css({display:"block","z-index":i.numberOfFrames}).animate(f,i.settings.fallback.speed,function(){o();i.afterNextFrameAnimatesIn()})}}i.currentFrameID=i.nextFrameID}},destroy:function(t){var n=this;n.container.addClass("sequence-destroyed");n.nextButton!==undefined&&n.nextButton.unbind("click.sequence");n.prevButton!==undefined&&n.prevButton.unbind("click.sequence");n.pauseButton!==undefined&&n.pauseButton.unbind("click.sequence");n.pagination!==undefined&&n.paginationLinks.unbind("click.sequence");e(document).unbind("keydown.sequence");n.canvas.unbind("mouseenter.sequence, mouseleave.sequence, touchstart.sequence, touchmove.sequence");e(window).unbind("hashchange.sequence");n.stopAutoPlay();clearTimeout(n.transitionThresholdTimer);n.canvas.children("li").remove();n.canvas.prepend(n.frames);n.frames.removeClass("animate-in animate-out").removeAttr("style");n.frames.eq(n.currentFrameID-1).addClass("animate-in");n.nextButton!==undefined&&n.nextButton!==!1&&n.nextButton.hide();n.prevButton!==undefined&&n.prevButton!==!1&&n.prevButton.hide();n.pauseButton!==undefined&&n.pauseButton!==!1&&n.pauseButton.hide();n.pauseIcon!==undefined&&n.pauseIcon!==!1&&n.pauseIcon.hide();n.pagination!==undefined&&n.pagination!==!1&&n.pagination.hide();t!==undefined&&t();n.destroyed();n.container.removeData()},_initCustomKeyEvent:function(e){var t=this;switch(e){case"next":t.next();break;case"prev":t.prev();break;case"pause":t.pause(!0)}},_resetElements:function(e,t,n){var r=this;t.css(r._prefixCSS(e,{"transition-duration":n,"transition-delay":n,"transition-timing-function":""}))},_reverseTransitionProperties:function(){var t=this,n=[],r=[];t.currentFrameChildren.each(function(){n.push(parseFloat(e(this).css(t.transitionPrefix+"transition-duration").replace("s",""))+parseFloat(e(this).css(t.transitionPrefix+"transition-delay").replace("s","")))});t.nextFrameChildren.each(function(){r.push(parseFloat(e(this).css(t.transitionPrefix+"transition-duration").replace("s",""))+parseFloat(e(this).css(t.transitionPrefix+"transition-delay").replace("s","")))});var i=Math.max.apply(Math,n),s=Math.max.apply(Math,r),o=i-s,u=0,a=0;o<0&&!t.settings.preventDelayWhenReversingAnimations?u=Math.abs(o):o>0&&(a=Math.abs(o));var f=function(n,r,i,s){function o(e){e=e.split(",")[0];var t={linear:"cubic-bezier(0.0,0.0,1.0,1.0)",ease:"cubic-bezier(0.25, 0.1, 0.25, 1.0)","ease-in":"cubic-bezier(0.42, 0.0, 1.0, 1.0)","ease-in-out":"cubic-bezier(0.42, 0.0, 0.58, 1.0)","ease-out":"cubic-bezier(0.0, 0.0, 0.58, 1.0)"};e.indexOf("cubic-bezier")<0&&(e=t[e]);return e}r.each(function(){var r=parseFloat(e(this).css(t.transitionPrefix+"transition-duration").replace("s","")),u=parseFloat(e(this).css(t.transitionPrefix+"transition-delay").replace("s","")),a=e(this).css(t.transitionPrefix+"transition-timing-function");if(a.indexOf("cubic")===-1)var a=o(a);if(t.settings.reverseEaseWhenNavigatingBackwards){var f=a.replace("cubic-bezier(","").replace(")","").split(",");e.each(f,function(e,t){f[e]=parseFloat(t)});var l=[1-f[2],1-f[3],1-f[0],1-f[1]];a="cubic-bezier("+l+")"}var c=r+u;n["transition-duration"]=r+"s";n["transition-delay"]=i-c+s+"s";n["transition-timing-function"]=a;e(this).css(t._prefixCSS(t.transitionPrefix,n))})};f(t.transitionProperties,t.currentFrameChildren,i,u);f(t.transitionProperties,t.nextFrameChildren,s,a)},_prefixCSS:function(e,t){var n=this,r={};for(var i in t)r[e+i]=t[i];return r},_resetAutoPlay:function(e,t){var n=this;if(e===!0){if(n.settings.autoPlay&&!n.isSoftPaused){clearTimeout(n.autoPlayTimer);n.autoPlayTimer=setTimeout(function(){n.settings.autoPlayDirection===1?n.next():n.prev()},t)}}else clearTimeout(n.autoPlayTimer)},_renderUiElements:function(t,n){var r=this;switch(t){case!1:return undefined;case!0:n===".sequence-preloader"&&r._defaultPreloader(r.container,r.transitionsSupported,r.animationPrefix);return e(n,r.container);default:return e(t,r.container)}},_waitForAnimationsToComplete:function(t,n,r,i,s){var o=this;if(r==="out")var u=function(){o.afterCurrentFrameAnimatesOut();o.settings.transitionThreshold===!0&&(s===1?o.nextFrame.addClass("animate-in"):s===-1&&o.nextFrame.toggleClass("animate-out animate-in"))};else if(r==="in")var u=function(){o.afterNextFrameAnimatesIn();o._setHashTag();o.active=!1;if(!o.isHardPaused&&!o.isBeingHoveredOver)if(!o.delayUnpause)o.unpause(!1);else{o.delayUnpause=!1;o.unpause()}};n.data("animationEnded",!1);t.bind(o.transitionEnd,function(r){e(r.target).data("animationEnded",!0);var i=!0;n.each(function(){if(e(this).data("animationEnded")===!1){i=!1;return!1}});if(i){t.unbind(o.transitionEnd);u()}})},_setHashTag:function(){var t=this;if(t.settings.hashTags){t.currentHashTag=t.nextFrame.prop(t.getHashTagFrom);t.frameHashIndex=e.inArray(t.currentHashTag,t.frameHashID);if(t.frameHashIndex!==-1&&(t.settings.hashChangesOnFirstFrame||!t.isStartingFrame||!t.transitionsSupported)){t.nextFrameID=t.frameHashIndex+1;document.location.hash="#"+t.currentHashTag}else{t.nextFrameID=t.settings.startingFrameID;t.isStartingFrame=!1}}},_modernizrForSequence:function(){window.ModernizrForSequence=function(e,t,n){function r(e){v.cssText=e}function i(e,t){return r(prefixes.join(e+";")+(t||""))}function s(e,t){return typeof e===t}function o(e,t){return!!~(""+e).indexOf(t)}function u(e,t){for(var r in e){var i=e[r];if(!o(i,"-")&&v[i]!==n)return t=="pfx"?i:!0}return!1}function a(e,t,r){for(var i in e){var o=t[e[i]];if(o!==n)return r===!1?e[i]:s(o,"function")?o.bind(r||t):o}return!1}function f(e,t,n){var r=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+b.join(r+" ")+r).split(" ");return s(t,"string")||s(t,"undefined")?u(i,t):(i=(e+" "+w.join(r+" ")+r).split(" "),a(i,t,n))}var l="2.6.1",c={},h=t.documentElement,p="modernizrForSequence",d=t.createElement(p),v=d.style,m,g={}.toString,y="Webkit Moz O ms",b=y.split(" "),w=y.toLowerCase().split(" "),E={svg:"http://www.w3.org/2000/svg"},S={},x={},T={},N=[],C=N.slice,k,L={}.hasOwnProperty,A;!s(L,"undefined")&&!s(L.call,"undefined")?A=function(e,t){return L.call(e,t)}:A=function(e,t){return t in e&&s(e.constructor.prototype[t],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(e){var t=self;if(typeof t!="function")throw new TypeError;var n=C.call(arguments,1),r=function(){if(self instanceof r){var i=function(){};i.prototype=t.prototype;var s=new i,o=t.apply(s,n.concat(C.call(arguments)));return Object(o)===o?o:s}return t.apply(e,n.concat(C.call(arguments)))};return r}),S.svg=function(){return!!t.createElementNS&&!!t.createElementNS(E.svg,"svg").createSVGRect};for(var O in S)A(S,O)&&(k=O.toLowerCase(),c[k]=S[O](),N.push((c[k]?"":"no-")+k));return c.addTest=function(e,t){if(typeof e=="object")for(var r in e)A(e,r)&&c.addTest(r,e[r]);else{e=e.toLowerCase();if(c[e]!==n)return c;t=typeof t=="function"?t():t,enableClasses&&(h.className+=" "+(t?"":"no-")+e),c[e]=t}return c},r(""),d=m=null,c._version=l,c._domPrefixes=w,c._cssomPrefixes=b,c.testProp=function(e){return u([e])},c.testAllProps=f,c.prefixed=function(e,t,n){return t?f(e,t,n):f(e,"pfx")},c}(self,self.document)},_defaultPreloader:function(t,n,r){var i='
';e("head").append("");t.prepend(i);if(!ModernizrForSequence.svg&&!n){e(".sequence-preloader").prepend('
');setInterval(function(){e(".sequence-preloader .circle").fadeToggle(500)},500)}else n||setInterval(function(){e(".sequence-preloader").fadeToggle(500)},500)},_operaTest:function(){e("body").append('');var t=e("#sequence-opera-test");t.css("-o-transition","1s");if(t.css("-o-transition")!=="1s"){t.remove();return!1}t.remove();return!0}};var r={startingFrameID:1,cycle:!0,animateStartingFrameIn:!1,transitionThreshold:!1,reverseAnimationsWhenNavigatingBackwards:!0,reverseEaseWhenNavigatingBackwards:!0,preventDelayWhenReversingAnimations:!1,moveActiveFrameToTop:!0,windowLoaded:!1,autoPlay:!1,autoPlayDirection:1,autoPlayDelay:5e3,navigationSkip:!0,navigationSkipThreshold:250,fadeFrameWhenSkipped:!0,fadeFrameTime:150,preventReverseSkipping:!1,nextButton:!1,showNextButtonOnInit:!0,prevButton:!1,showPrevButtonOnInit:!0,pauseButton:!1,unpauseDelay:null,pauseOnHover:!0,pauseIcon:!1,showPauseButtonOnInit:!0,pagination:!1,showPaginationOnInit:!0,preloader:!1,preloadTheseFrames:[1],preloadTheseImages:[],hideFramesUntilPreloaded:!0,prependPreloadingComplete:!0,hidePreloaderUsingCSS:!0,hidePreloaderDelay:0,keyNavigation:!0,numericKeysGoToFrames:!0,keyEvents:{left:"prev",right:"next"},customKeyEvents:{},swipeNavigation:!0,swipeThreshold:20,swipePreventsDefault:!1,swipeEvents:{left:"prev",right:"next",up:!1,down:!1},hashTags:!1,hashDataAttribute:!1,hashChangesOnFirstFrame:!1,fallback:{theme:"slide",speed:500}};e.fn.sequence=function(t){return this.each(function(){e.data(this,"sequence")||e.data(this,"sequence",new n(e(this),t,r))})}})(jQuery);(function(window) { var IE_10 = !!window.navigator.msPointerEnabled, // Check below can mark as IE11+ also other browsers which implements pointer events in future // that is not issue, because touch capability is tested in IF statement bellow. IE_11_PLUS = !!window.navigator.pointerEnabled; // Only pointer enabled browsers without touch capability. if (IE_10 || (IE_11_PLUS && !('ontouchstart' in window))) { var document = window.document, POINTER_DOWN = IE_11_PLUS ? "pointerdown" : "MSPointerDown", POINTER_UP = IE_11_PLUS ? "pointerup" : "MSPointerUp", POINTER_MOVE = IE_11_PLUS ? "pointermove" : "MSPointerMove", GESTURE_START = "MSGestureStart", GESTURE_CHANGE = "MSGestureChange", GESTURE_END = "MSGestureEnd", TOUCH_ACTION = IE_11_PLUS ? "touchAction" : "msTouchAction", createEvent = function (eventName, target, params) { var k, event = document.createEvent("Event"); event.initEvent(eventName, true, true); for (k in params) { event[k] = params[k]; } target.dispatchEvent(event); }, /** * ECMAScript 5 accessors to the rescue * @see http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/ */ makeSubArray = (function() { var MAX_SIGNED_INT_VALUE = Math.pow(2, 32) - 1, hasOwnProperty = Object.prototype.hasOwnProperty; function ToUint32(value) { return value >>> 0; } function getMaxIndexProperty(object) { var maxIndex = -1, isValidProperty, prop; for (prop in object) { isValidProperty = ( String(ToUint32(prop)) === prop && ToUint32(prop) !== MAX_SIGNED_INT_VALUE && hasOwnProperty.call(object, prop)); if (isValidProperty && prop > maxIndex) { maxIndex = prop; } } return maxIndex; } return function(methods) { var length = 0; methods = methods || { }; methods.length = { get: function() { var maxIndexProperty = +getMaxIndexProperty(this); return Math.max(length, maxIndexProperty + 1); }, set: function(value) { var constrainedValue = ToUint32(value); if (constrainedValue !== +value) { throw new RangeError(); } for (var i = constrainedValue, len = this.length; i < len; i++) { delete this[i]; } length = constrainedValue; } }; methods.toString = { value: Array.prototype.join }; return Object.create(Array.prototype, methods); }; })(), // methods passed to TouchList closure method to extend Array touchListMethods = { /** * Returns touch by id. This method fulfill the TouchList interface. * @param {Number} id * @returns {Touch} */ identifiedTouch: { value: function (id) { var length = this.length; while (length--) { if (this[length].identifier === id) return this[length]; } return undefined; } }, /** * Returns touch by index. This method fulfill the TouchList interface. * @param {Number} index * @returns {Touch} */ item: { value: function (index) { return this[index]; } }, /** * Returns touch index * @param {Touch} touch * @returns {Number} */ _touchIndex: { value: function (touch) { var length = this.length; while (length--) { if (this[length].pointerId == touch.pointerId) return length; } return -1; } }, /** * Add all events and convert them to touches * @param {Event[]} events */ _addAll: { value: function(events) { var i = 0, length = events.length; for (; i < length; i++) { this._add(events[i]); } } }, /** * Add and MSPointer event and convert it to Touch like object * @param {Event} event */ _add: { value: function(event) { var index = this._touchIndex(event); index = index < 0 ? this.length : index; //normalizing Pointer to Touch event.type = POINTER_MOVE; event.identifier = event.pointerId; //in DOC is mentioned that it is 0..255 but actually it returns 0..1 value //returns 0.5 for mouse down buttons in IE11, should it be issue? event.force = event.pressure; //default values for Touch which we cannot obtain from Pointer event.radiusX = event.radiusY = 1; event.rotationAngle = 0; this[index] = event; } }, /** * Removes an event from this touch list. * @param {Event} event */ _remove: { value: function(event) { var index = this._touchIndex(event); if (index >= 0) { this.splice(index,1); } } } }, /** * This class store touches in an list which can be also accessible as array which is * little bit bad because TouchList have to extend Array. Because we are aiming on * IE10+ we can use ECMAScript5 solution. * @extends Array * @see http://www.w3.org/TR/2011/WD-touch-events-20110913/#touchlist-interface * @see https://developer.mozilla.org/en-US/docs/DOM/TouchList */ TouchList = (function(methods) { return function() { var arr = makeSubArray(methods); if (arguments.length === 1) { arr.length = arguments[0]; } else { arr.push.apply(arr, arguments); } return arr; }; })(touchListMethods), /** * list of all touches running during life cycle * @type TouchList */ generalTouchesHolder, /** * Storage of link between pointer {id} and original target * @type Object */ pointerToTarget = {}, /** * General gesture object which fires MSGesture events whenever any associated MSPointer event changed. */ gesture = window.MSGesture ? new MSGesture() : null, /** * Storage of targets and anonymous MSPointerStart handlers for later * unregistering * @type Array */ attachedPointerStartMethods = [], /** * Checks if node is some of parent children or sub-children * @param {HTMLElement|Document} parent * @param {HTMLElement} node * @returns {Boolean} */ checkSameTarget = function (parent, node) { if (node) { if (parent === node) { return true; } else { return checkSameTarget(parent, node.parentNode); } } else { return false; } }, /** * Main function which is rewriting the MSPointer event to touch event * and preparing all the necessary lists of touches. * @param {Event} evt */ pointerListener = function (evt) { var type, i, target = evt.target, originalTarget, changedTouches, targetTouches; if (evt.type === POINTER_DOWN) { generalTouchesHolder._add(evt); pointerToTarget[evt.pointerId] = evt.target; type = "touchstart"; // Fires MSGesture event when we have at least two pointers in our holder // (adding pointers to gesture object immediately fires Gesture event) if (generalTouchesHolder.length > 1) { gesture.target = evt.target; for (i = 0; i < generalTouchesHolder.length; i++) { gesture.addPointer(generalTouchesHolder[i].pointerId); } } } if (evt.type === POINTER_MOVE && generalTouchesHolder.identifiedTouch(evt.pointerId)) { generalTouchesHolder._add(evt); type = "touchmove"; } //Preparation of touch lists have to be done before pointerup/MSPointerUp where we delete some information //Which touch fired this event, because we know that MSPointer event is fired for every //changed pointer than we create a list only with actual pointer changedTouches = document.createTouchList(evt); //Target touches is list of touches which started on (touchstart) on target element, they //are in this array even if these touches have coordinates outside target elements targetTouches = document.createTouchList(); for (i = 0; i < generalTouchesHolder.length; i++) { //targetTouches._add(generalTouchesHolder[i]); //check if the pointerTarget is in the target if (checkSameTarget(target, pointerToTarget[generalTouchesHolder[i].identifier])) { targetTouches._add(generalTouchesHolder[i]); } } originalTarget = pointerToTarget[evt.pointerId]; if (evt.type === POINTER_UP) { generalTouchesHolder._remove(evt); pointerToTarget[evt.pointerId] = null; delete pointerToTarget[evt.pointerId]; type = "touchend"; // Fires MSGestureEnd event when there is only one ore zero touches: if (generalTouchesHolder.length <= 1) { gesture.stop(); } } //log("+", evt.type, generalTouchesHolder.length, evt.target.nodeName+"#"+evt.target.id); if (type && originalTarget) { createEvent(type, originalTarget, {touches: generalTouchesHolder, changedTouches: changedTouches, targetTouches: targetTouches}); } }, /** * Main function which is rewriting the MSGesture event to gesture event. * @param {Event} evt */ gestureListener = function (evt) { //TODO: check first, other than IE (FF?), browser which implements pointer events how to make gestures from pointers. Maybe it would be mix of pointer/gesture events. var type; if (evt.type === GESTURE_START) {type = "gesturestart"} else if (evt.type === GESTURE_CHANGE) {type = "gesturechange"} else if (evt.type === GESTURE_END) {type = "gestureend"} createEvent(type, evt.target, {scale: evt.scale, rotation: evt.rotation, screenX: evt.screenX, screenY: evt.screenY}); }, /** * This method augments event listener methods on given class to call * our own method which attach/detach the MSPointer events handlers * when user tries to attach touch events. * @param {Function} elementClass Element class like HTMLElement or Document */ augmentEventListener = function(elementClass) { var customAddEventListener = attachTouchEvents, customRemoveEventListener = removeTouchEvents, oldAddEventListener = elementClass.prototype.addEventListener, oldRemoveEventListener = elementClass.prototype.removeEventListener; elementClass.prototype.addEventListener = function(type, listener, useCapture) { //"this" is HTML element customAddEventListener.call(this, type, listener, useCapture); oldAddEventListener.call(this, type, listener, useCapture); }; elementClass.prototype.removeEventListener = function(type, listener, useCapture) { customRemoveEventListener.call(this, type, listener, useCapture); oldRemoveEventListener.call(this, type, listener, useCapture); }; }, /** * This method attach event handler for MSPointer / MSGesture events when user * tries to attach touch / gesture events. * @param {String} type * @param {Function} listener * @param {Boolean} useCapture */ attachTouchEvents = function (type, listener, useCapture) { var that = this, func; if (type.indexOf("touchstart") === 0) { func = function() { if (checkSameTarget(that, arguments[0].target)) { pointerListener.apply(this, arguments); } }; attachedPointerStartMethods.push({node: this, func: func}); this.ownerDocument.addEventListener(POINTER_DOWN, func, useCapture); } if (type.indexOf("touchmove") === 0) { this.ownerDocument.addEventListener(POINTER_MOVE, pointerListener, useCapture); } if (type.indexOf("touchend") === 0) { this.ownerDocument.addEventListener(POINTER_UP, pointerListener, useCapture); } if (type.indexOf("gesturestart") === 0) { this.ownerDocument.addEventListener(GESTURE_START, gestureListener, useCapture); } if (type.indexOf("gesturechange") === 0) { this.ownerDocument.addEventListener(GESTURE_CHANGE, gestureListener, useCapture); } if (type.indexOf("gestureend") === 0) { this.ownerDocument.addEventListener(GESTURE_END, gestureListener, useCapture); } // e.g. Document has no style if (this.style && typeof this.style[TOUCH_ACTION] != "undefined") { this.style[TOUCH_ACTION] = "none"; } }, /** * This method detach event handler for MSPointer / MSGesture events when user * tries to detach touch / gesture events. * @param {String} type * @param {Function} listener * @param {Boolean} useCapture */ removeTouchEvents = function (type, listener, useCapture) { var func, i; //stores this,type,listener, to know what to call in pointerListener if (type.indexOf("touchstart") === 0) { i = attachedPointerStartMethods.length; while(i--) { if (attachedPointerStartMethods[i].node === this) { this.ownerDocument.removeEventListener(POINTER_DOWN, func, useCapture); attachedPointerStartMethods.splice(i, 1); break; } } } if (type.indexOf("touchmove") === 0) { this.ownerDocument.removeEventListener(POINTER_MOVE, pointerListener, useCapture); } if (type.indexOf("touchend") === 0) { this.ownerDocument.removeEventListener(POINTER_UP, pointerListener, useCapture); } if (type.indexOf("gesturestart") === 0) { this.ownerDocument.removeEventListener(GESTURE_START, gestureListener, useCapture); } if (type.indexOf("gesturechange") === 0) { this.ownerDocument.removeEventListener(GESTURE_CHANGE, gestureListener, useCapture); } if (type.indexOf("gestureend") === 0) { this.ownerDocument.removeEventListener(GESTURE_END, gestureListener, useCapture); } }; /* * Adding DocumentTouch interface * @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#idl-def-DocumentTouch */ /** * Create touches list from array or touches or given touch * @param {Touch[]|Touch} touches * @returns {TouchList} */ document.createTouchList = function(touches) { var touchList = new TouchList(); if (touches) { if (touches.length) { touchList._addAll(touches); } else { touchList._add(touches); } } return touchList; }; /******* Fakes which persuade other code to use touch events ********/ /** * AbstractView is class for document.defaultView === window * @param {AbstractView} view * @param {EventTarget} target * @param {Number} identifier * @param {Number} pageX * @param {Number} pageY * @param {Number} screenX * @param {Number} screenY * @return {Touch} */ document.createTouch = function(view, target, identifier, pageX, pageY, screenX, screenY) { return { identifier: identifier, screenX: screenX, screenY: screenY, //clientX: clientX, //clientY: clientY, pageX: pageX, pageY: pageY, target: target }; }; //Fake Modernizer touch test //http://modernizr.github.com/Modernizr/touch.html if (!window.ontouchstart) window.ontouchstart = 1; /******* End of fakes ***********************************/ generalTouchesHolder = document.createTouchList(); // Overriding HTMLElement and HTMLDocument to hand over touch handler to MSPointer event handler augmentEventListener(HTMLElement); augmentEventListener(Document); } }(window));PNG  IHDR.|0tEXtSoftwareAdobe ImageReadyqe<siTXtXML:com.adobe.xmp @TrIDATxwu'ˡs  Q$%AJj-,[kZ+Jku^ʫ]ʫKYT%Q$"aĞ__9{Ӎ>C{{~sт @ ]@ @ !.@ @ q@ " ܸqCjQ p]$ @ % K"3Vo[Bט$I @ #tWW:x'>.焴@ 'v qI @ '@ SqQ4/Csʨ'6>ֹ ~po{\@^/}2;\^ .:|?TGuض 4-UE7nVS՟Sq (=;- "CEN* Scv_ "1 JRPD"XL@ qedd$'f'H/HKH;RՌ_@Z%dQ5DjH cΝ-=ZvI 5N@ %"8{yG^|kU g{g)"5V{(ˇ7MMMaffF=ؘN^@ [#};6(@Kڔ12atܓu.byynR~- `"@?csENs 2~Ob=mь3]\^%ӉI|0E$Uƒq̙L J200YuF `W`9222h˃ , aIeI +@ qt .@ ##U}vJn @ 7$Z&;x5Q:JڬC& Ði6hV0y@V"!-@ ܉B4.@ [%6'.֝".\i,3-'B@ G|+_)sQ<<233Kd!T*sxbxxxŋblV+GG]}}=@ XZ%Ϟy|;G?+ko^wpms«rlb o=,--[ @xO~cO ۶.\ ~]]Ǐ;\$Gdzv3V199b|)\@ oܼyccc֔'N}_~E:RJv^䓏{ tpUaO9$MאMV<߀7X_%ÿq%" -l҈4ab/  =6tK/YOʕJ޸CJr?_B*&TCd%hI$$|Q 5?C-@ ,Үqa2_T}zI\Gyo"GP38v:~7_`y ^_\zWT2W ܸq:DZjT>gQB\}0*6vɎN$4+%T(;P/juUGG6KcLj՚GŸH``E1<59H/- Jm)_9/ Ih2_C&rRDH\,lVHXޚ@w=jwoP|.kiTd9ݚ6]9"N4WaqlZ`bpAe@oWճQjTT4!1؉4Ѩ8i?"3KAoɜ,M,pDch0j_3Pqmt;j*aG!9 }6Թ.K05~ LEh :3۲x]SbG%hV0Ry4"&^ABKx30.+~WGC_/C!OC -@ߓLNN*Q>c:kiN?:IT7  g~,DUUƞncbTt @#t\ZQN'L[Q,WayE 8W鳘5f޻ɒ1ћ%;*zNAw#s%8zD2H@02؇hFII2d|<`qi&xgMKzYiࣩ^^%Ft&h|*N㩇 qaJ4DuiFYW&I.Qܾ\?1 CWR!{'=o'>Q*8>r{Z'b * S.z8ҝ/acp(6Ο Aq߽SHXzZʗ;6؋[ǑWzzpMju"T. /,ci*f vbU c%|IL]ЉPY|@Vbֵ w1u}YL\~ H¨-`bSƻo0p_2N}ׯw,NF`6qۈ_BdahhP9Ląo%xY[>O-{VlVQCB}/CuQЃ"AcDJl{.]&&Pε~Cɏ["H|GR&hphHT:Pf*p&X^Z™DVLbA̻%qQB:M\d:ao"YIt<Ԕ$74pHĩyMr3>Y:dGNe"cS4>rNt9*Í;z觲x":c:zzQF{ڱI*`'[<6PTӣ]S֔msrnЁO3h]gaJ8|X7/plD&i8G>n_ʶh:u *߿bZM]N2 UP;FZWeP'jmZt~Y769#G!G:&V:1M&\ˠqΥ<ћ8q 2<2GH PJMh p4NNMmgtJ䴯öumFDFo™GŠ?8}QHQ;},l^*elp,Pc}r>c'OT*ˆ$cXxt~ijz q3ZO|R,{t b4.Ndz v}x(E%[[xs:^`/J؉3P=+W["A'l@ɨW_sp4#ǻl.lDcE9qASDUGFNkDJBڼwI+k38>N>uB[ ~`5q٦eG!_p!hYZ^Ɵ_*ߓ.ԉj^&ٙYo~ꇞ˿ Q?𯩵b!`.De 17O1b񘲳U7kDx%g?o".]$u>NQ*X"Z~0'3O/$NLLG'&6) n^'PpG@ /h$Zx5&dbd+ e1՘4V{*Cy©qғlhg'N>b@c- [n×9$KFS*kCq-tМ`6p.&ah4&\. ƾ沒 ټ# j*gc~^'.#²NU}UMCuFpG>a*A]w${VS&LmzLׇC/EuSw\U&ݫ#o_'DX>j|˴vvnLٚWfE5Tqk|^eSJ~s[ncE؉RMM7 )8A7cmGH 7EĚy+bඈkUrbE(a'c-; qH IFCw+uWo{ݍaćyat`4nE!YŪH!.@ 쎸>sf[eWB}'Xm6ZD-s0bXB4וoDlt`cfeZq7N`s⢴KD63[ @ X/ˡ]N 5NnCE 6+6Z{ˮ9r=@ vE\].shk󏘈@ `#RV#!H*mNJA/z@s;# 8OCʜr=TSٱ-Kz@ œ[049+ \mCS.Ђ-L\`7o[\nY%& Bs\C\;MI;ۥ8ZλZ P b"{LZ4l *p5ᨿQeh-^Yh*Qڪ#nA 7~c Vceif\o[ϸ#ikp4A J-W>g:.i*DC ]UX)ˆ2+Y9]x~mFV T:*]ϧAe^ g?b`w'||"'10T*d_Lró8*g8||{HO$2d֛Eq'qٮsúHJKE5P6q0?0n cs/V02t s7Gٸ|"+bB##nK| M^V! WZI#U= _|#kbeT ݖw'u< H`Rǟ߰H6{5ą]WG vu\Y2alCB*95kHk.,"B]yj\?bRQjxe(Ii;JTxJKhʙGV7T2D>o/3IūkgRs -tPʭ$Bȯ\o㸸`pa_WT;c<Evq`>˥Wb+$D66#b~-wP*זmtk\vA.SS&Rr c{D*!e,X\\TV9C[Vh}M ٢9/$0P+U73J LTznr*r؛N:1s$dk,.ZA^Ϝ@:ETT2L!0Σ~,k3|z=*ƨ:uxK7|d7&k6x|x y"0_X¹#6޿U¤fxet7F+-|q_WFG3*N81;fcr;c㇉LUb*%52t$uvX[ab)#XibMD6QE"n`!7CWPpwLxO#m:Յ)Ya05*#{/wRr6dUC0382|"T9}2:tGtƱcY"m"so7߼/A< Nb \·?xv??%z8Gg;ѝ0? N3'g>[Yt.ܾ?BU(W}Y :q<<\g? ǐлQbi}46Ry4t*,W||d O G1>UW/UYl4T%;bo.1^3P{h؂O~05|2Q'lzu|SaӬfKp*|^7nKd$ |pDiQh(L,:r= uDlPY&&`iRJcm4tJ'b(w_*7+~:ѕxޣ+v*# D;ܶP$^ԫ9mNstvבAz}:5!V1a\z*?fn]7'!YV _%ÝX[7Qve M=m/Y$z-=s 7M82GĨcy&]d1G_"ӭQ4ŷmteQwX\LB<< G6wFIJ4)|ՏN%O%f:&cKU?c'k"CeŊ\Ghvab.`Ba١06}gle}e0pt"=tw|1ZQMP~g>>EBCgD4Pr|[5&tq]$6MذݎJ\s e9&oi\O}&t)>S V~1sr;w.`r #5f!q93nKp@eQ7NT#ÿa95n|kz-;JǑ$GP*)0ubXfPܐyt}ݲ3*Nd&HpBߖgSW4]:p ov~!bGct%!a$nj2رc->s||xՊ7g] @̙4.9׻sja[]cY:b{NVQo/G#r #B/;ժ"]6ԨTZf^Ng"I/×w?Del%U 霛D..84x,y} C* ˇm[Wc+E^_]X{̺qY6 m{}^(eeopeǦ"Rwwy;LYk$*Eqd2&ӠRTe/h|5פ\wc8^}~!XC<"&l&m6 (9}=VE ;~44DB"I&rKKK*@&'wE̗XmC]}s klavV[aco ξfZ @ lY;˾방q[ߞqYkkn_i1֭ PqV\~@=9)SNO3ݒ͸_f]lQ 3aa &}pąU=u[4.,wS{[ &#C@ "𺐘a'd?$?]=q_J;Mhȃ0 C@ 8FK:2a< ʷxK7$)`|#=@ppcdG%K i6 qYbhTgG*M =a׶_K,od5Y<@ 8`0=Q͛7Ւ.4NJd@ B\kљwCYmCCCk.XQos7&?~z5~P144'Oॗ^] [щA8HB^`YȶN@SwY?77n(Nl+b=#.0qXB>_@&iev-i:J5fRlEYӞseBqk~<ܛ_|ccꎄvJJiwd]f7joąD!.;lNtvvQCC,[u l';tT++4uMo&v TyP;\4Rt &m kvi91֭۷aʆzIE`tm|b|Lx0hi`ә04o+@OA%Hpty_M m~Tt9%;8 GBzo~^?F/]Bc(FӐz~ 9B6IĔ)b hܞYDOo/28]pj%u$ u 2P*P-Va%;q1ge22?%Ēi.ytVxwtc2fw8)"\VD$UzMF%p@ aZ,NݷS׾"?wP0S?&!.;`xLOOX$PXr{Gĥa^g+Wj@-BA2GijJH 1A'Cpr3*@ݩƍQt^U9vCip&SfN%qNz%'Y<27o;\ ;S*|"STr(z;*-G A;Xc&~=]x8G4A$mRMB\vUD#"sQ" r;ǓP8iXD,ޱd ʐNbrbٮ4x AxG6q%ށt2 VFVCVAq*{G"nU~:M_o_Ξ={i`8Eʻe`x Ӂ u_'SC],]{ %ʭLS@ h- G>~KC 46[ hF.ɘyN|.]H6q4ӧOsW\ CG[FĩWϋA|_#n<3Ԇ"P,!oηHՕrGE }ln+{GlKt́y>5š*E-@uY]xia&e3,8O)B~qalwUn]]][>4.,EE\TğqBHL MJL-72I+dJO9Dw.UN\nGT5]/i&LtrM |6jin49g`qk ڊaWrhpfb?#niF}ʲվ/j&\'{Aېnh+[m; xq__iqZp@ v79nL\vi^qY 6y+kĖ2ecPHjAm=!vG 6?(r$lĥ]X\\T{T`]7pܲD< ![\EM?g*`ֶwΥ\UC"L "05]Xafq] qydSfVۿo~ёJ!&.;g?1`߉K,7fZNWC8\3c9Gvab]3xX,O'p`ԍ˝\,)޵ĥLœߒߦV1%D\R/*+THPAQm|8Zeqx%M2jM F`^ְ&ÛЁQGwl#zT.wΚ{U{*ӻBYk}=[9=wӭ#mi,  4dU>L|\$`bSrI0@5}jQsȻ&5]T| ,8N4k4y;T) ˎѢZM '@$K,,"ߩ~kCxݩ( h[hǣ{K\`kϭR1= Qj62P:2G<CG,N囯uD)l;*4*VbaX 5p!iY N : G_|~wH ~a0O/JH|R)2RV4Xӄ P 7Jfo I廙Z:9 6C ƫairtwC.1[BUGr::I,:4$N`21|8AKaí2[$Jl&WKDl61:F-,mEfrf*ޖ I.GgTεdj "DnHz>npjlYlAI$,ɔI2Y$;w~iBUD}wl*jEm"hh֒MAk6AW"lk/F b"_}5qhFYzql|HǢ:4 ]k&|+/1QH.'L#eLT}LS8N/01d 1= &|t@~;KK6L6i~މ"'bѳ"! JY X3S$*. S/*>E ;P\Fe{&vPJ.:V4эn j4ۦ>Vݣp6#U"&.&j(ɘt3xYi"[)rȹxQ`T:];FNTHFBE\ ˮ|2!AcrP?b|9%ƇUpJB*BDj.tۖz+PcYjg}Ե:D1@_\Oӄ.46ka$'T Zx[i <CyZQG G eM L*<39oIf@ *<݁}[T/%._¤m%}.ttFx<[" aG'LBMQCʜ FvP<$mF6'Hx{)1e)3^-h権;N‰&0QۼQ\Ѱq;Sk _bRCT NʗRo%MR?@i*|M;$LYNHJS5|uħDȊPcO1 ܰC>ۥkD@k]?E߆ɥQf\)n.כoY LRջ:@_٭ I]{c&01.q5v23^!ek rP)2{O\00HwtG`M0K>#RNPctC5T6YGf)MxT/<%Z&ף80ODE]ﳄF g4uzyMh+3>F]=aPփ [>snM3Z?U7 !@9w1+w9X:W qg6Ti΄MN\qce ~ pL@xwL5PD4."۷Q/[.cgZtY37?j9,6`Qé>{`&,LXuߝ\.µR(lzaRZ*sSLi4wpH28#o 1PrUlX*Y&P/{I/[ }\8j 7y\ܠ6ULf("jeqHٝwz>i֜D*ݰvվ(Aa&^>0)B!.[B扼q'wgafƧWLv v`8@h2Gّ(]__i{:*t˦jxlmEDc 5ffvn1zFש#L!FZp ڞ.8\ 5 {tmN~mGǹ0Iw2[Ȧ$ 5G:m5LL!H(MɞH#miʌ35U, }=r+9~333->eEbU4vl}!.@#; mʟ~Vx9l_ au}nmV.k}m;hRv+xoM8D:LXyDGԸf`d3My8AlZk^DGg2UJLZ6 `"6q,[{Pk;Զw{8.ws}ZUcvU(TG2tfsY*"F_xF$6qͯxL広mu}Ejؖ”@pk)B"j{h-%`o6넣*=|E-( tݬT\~[<&<߁m|Vf6br_e}8Y"-"*DR 5Gp50|nD>ܸv ##ØCgfFoK:f~QN?~L,$rDb8bW4-1Mۗ S3uz ӷ'Z i$yv's>5fFҌ՚. 0f`|f| `2vWjbBZh3}Uw}zDx;=wȌȈ 32{qi g7j Y-.]oU>N[2:s5IS&t(KpŹOMY̰|-R)xk%ZVt#Y#lk(Wph(zls($ i1k; r ez[3&tƞFtɚ.?,wܺA;V5jm|%{OfXWl~`AĤh|?_Fa7W(9UJb~Nk1XgTܱgVB]G~wT,@R#|HHMu[[[r/`Z_\% wn{lh6:PH~](}m!4LzaBtJ hF?I ?oj#!$xٳDd!Cz{myX$b-d^tATę9O?KDC12q6GPPyWT%f氾BiV>XX5u deOyǤK^VV=X]fsi)ws_lĜˀ^ӿwQM`߼ S(?d¿i/\9$J (VWrXWX:b3)~uKOzvP pcQtɚ 2Yxs9dV 2@YTF DXNd`8݂ӏ[0ZŃGX_'EX\XF6McW`7y"U9Qk&5La^M4Tɪ[[B"b{w(VdD.i펅&MdD=R,bs*yG ;9eB"Hc a%[y>Io3LJ]&(K  8xyRnpy}J %&Zt04R(|~ۡ':'BW"$>ݻN)d$ͽM̧g6|Pֳ_vyz维m&Qu;5 vwP)໏m|Z 7:8}qncci .N|©BC^C?xʠ͙L.JkZ' ̔gRɚqs9dty qhEڟG̪YnY)Y. {d@/cvG"l"mn_^ʌHYCor`TD1% ' E4  @ז+rFBʏٙ4%5dwxzn4'+\=!l(Zxbt\;|3_L_0'W?o1#oo?#84ɭ܄='5G8 9lbP7Ǔ%$1"s. 4W& q?'BX͉&sK.ZDsn%Oۓ3Fl}dY@!\YwNn04ˡ%m4[OSət~sEu."mzD0fe+o }cQr_TPwhْ ;6=`ˍ \-!LS keϼ{ }];cR$<7.hIͪ8{9I9 ,cCF#,gf *̹OE㸘zdrAb7s('{y~./skvE-C]z1KѬK%o`8]Ll@q9̹g4yx<*Xr/x3yv/HwdqD2L2T'[}PKP=u=Ý\yyC)Wq"g/\eXeF_w77']qiu5j/cZ=*H=&>*ϩ'۞&?~DS^쾜sG&y&4O=rߓ:w{{TIM&FjͶ' 9s:{:.WʠΩ.pl&Cs`mdi,:FNΝl\Z' ࣢$:TμThuDL-Tn/Yp'aƷL&\רÐE 6T]eT)U$VA=:M>}vP$$zȐɥT('ڱW\n!iMBᰬ)‘J u HQ WagJb*Gh(XdCN5Lg0(=x[3RU jOV$?V:]0df+_D@ôo\RJRs l<0YׯX8:ZL(W1;3XA6ùT )h.닭B~D9rR.O3V܁ =r"x:o D^(:~k?~7bQVߣnѧOq6J=j]y.gw)ι1 aTITKE4: ?B\n/OhaRN Z>̂LDh(;hSw l`HC6  sj+A8NR=y6gwZ& " yfM0K3 i%E ,*ŊށQ<#G%qP1  tU|ah:O54::F(}GkvxL6)f G泬I5mHۆ!(EsW*Pe0 h-4 3s8LsDX[Y7"Z9cc!eRAZAH"RN"d$<%$\h&b8X3ܺCԪfRUc,Lyt4*FÞy.kNimס lkBzK=։/3[f:yR$%5܇~p==,"ltkqJ?Nt * w?MA<̉` Ȝ]P@zvahco'&޺*$?E X[LT"`uk:33&bNh֒HA [_Z&}l DSHq1wM\;jA"a . f~RX Yq_$MH\E$=37'lOaMeDQe3j_8&xWZHGZհl8}{?tZf 7 ML! <"qzG&H } @@0LY ++d1n"!X~#D*ImsV Bdgb9$ d)~B'OLZV)Jd!k7 X/*q\2?v>[V+Bإ"^X/ו֮bxMH$d"M3YRpԇT*K?;뾪Oaa NNZ uCÖ O@J`|zd2kH'y=(,#}uJMtj|%愈7|?,,,qfǿ#D&33Y\6hx0FF.[qK>śYv/!*7|s(ҿB{[hs=nr$SP378FsK^9KXXm]9*J](~y>k\,6n#@СD?LT #w WAN-^8qڝcnZ\O|sh܃׬ƄO^~0i[դr;+v9A%9oLNI4I+Gq?"ᡦDNs\.3%ԴX!T(ړqVe}multڳ1G:E+Yuv 3aV{E=` 2;yž%} x SM/[&gV#8H4*AK,֎ m|߹EѸr.\fwW3.AݧFD9 PuFؿ!֫614^{9ƧI؇ꮈkMAꖫ&0gc$+B«BeOQn]1(rQe$XԐD"|>c(;ͮ# C,°CA*iKC kqՀ2Ϛ"zdE|ϛ}ҘM_ӹ8{|N'~zh7QhBuOzۮl;j; ?;G asC."MEf1*fhVr׮#30RqTĴ4fc! -8[}czL1=atD/b}c_2$NxOeP\LFJJ+5Sy,"[ujYJK<=i{=O5$3ji0.¾#tPA ff:Exȯ֛ME%vTq>K' " Wͦ3ΨR]P  9*ݳNMr\QWmC=&'?)6.<+py^vH3atP)rWh:Hg2 cdVNɄw @O̬:t"H%s pł[-M˼Jna+> ݪX9-q߷r%if(Қgmm '& s\3j{p.`;d#z}7_}EsKM oc#_Tr$iXI4+{S賧{ BK6K8~Q$).ffMıP$fCGf6 EB4_*Ui,iz .{fX(#^8~ oQ܅"cwg ]5l2F@OZ0BPQ*V)P];<1ģMAssIeDcIs9-z` _W@(V|j3sHDCWwhtCAX"!kD1CY`@Gt |."u``jÏ`i!IA4[(T:X426s.KQ6(c\?203(jXXYB:9n@).dy9Wœ'#ҼȤaeZyAInҟ7]\{ bJ}DhL@s^R"W("gF[>D:\<"Zչ9w_Q`uZ@s@<'ëO0̹>dKrw;\!#\6SZ|c$~-κ(74] ҤKYruӧOlJdN"I~>hb ^ PH Ua%S@֭P|w5Jk?vY:}[_;]tKDZD4DVA";Lj8\jɀp<1$hh_;-ِ̹_Er?__YE8ąn3ɇpK:]83 .S 꽅VT(:R;Ch~;%iG'x{htό>>4 㹌HKI1-n< (Fuf֖ai/q)|6|h@77`umYA7W'v-n7hsԙH+kkiNdŵ:gf;M6k$:dkK$e6o}]X9汲Akі[${fP|HE~#a|)Ϸt[2V7DBu#}*Yf4yN*':n܈M w%)z0YBYupښHxD";TZ @&v-/ @wMҸy&c :8ů?M@;weA4/7JƇַxlȤS8\ܸ&%Jq1.X27+#L""l7yh]'"x !"_fcf)-^zj!ܷM%%l<&eD/G~? 9&2+陵EH`^3/৓1|3I"P)ŋ%Ay: ,uݏ`cη0e+M!n'YʽNce %]tEYO!A.R$Z'\24b%_/ɟGn}~RBP#28L}*?z?YNQ9ɲZKH!{c.Ar31G7j dgg- KuߐvBY 28Q0I֤q|Yo@h V< /"Y4;s٦P ߏVǫ3]1,x!5DxS/l:.hyGr{shn\R)EeK5ʪ3v}/L/Y>ʷq'ƩùZOSBCɸGdgV66eMn G[})2 LP~JtC6't6 4%P+dn${P [}&Ew(5xByA\/(1 ۍ6?6N|!bタ7>$eu2{:$2 (p ?< k_{?}E*mܸq!h$xv."YqkKamDJ05\qp9/b!X\~KV`@Kƴ1I4I4VxnM6Q2WczLdvyfƕ|~u0lt:.x΋g1Z*#p뀐͙.+kYdֿqB^Z4]jޚu芍UsVC]]ڧsI-,,w2=HiYӬm>ӂ\Ǎ1=xA_D(r$Vb'P4Erh'} ۷9Z8N+\d!B29wAшQsA/ x=+U?-f*}i 6֨f2mǟ/--VȇN%ѡsUr-'v"!-1^vřs*B$c,A+͛O/OZwN˚Z"_c>*a\+!|ET޳}g8`h\]%La9h1˭Co836'He>d$$#U|U$s 99պp &{FhErJD46(N~‹#ַa6P)BssViB]\%? 왣/V4ɤQEp*Œ(>U y-=g{](,,*iLNoG]pװ㬗գ8JO*.i!ۤ*'ȡJar]KmN:6/3W8 F2gDCss?9` A&p>Y O ~:SL?v6[Mdbiq DvįZ;!&g?e4|4jM; 2Bo^?mz|..˙ Rh9G#h*\ y̹BrэGY/sxzG+4I+;7^N& .Q斁J7sEftt 9B& WK,HRHY>)Wrr18cB.w%l!r}tnLRkU-%v?hE#+j |aCH'RѦhEuu2f t V{$krzS7\ڋlWi2H"ng %ڃeXF8HA5=}kF)M(9كRN (."z{p1&x%HKcwwxmF8 {+)t լ^J ="i9E],"v@@GȜ/XR(J#]%8=z9uKӗ=یUHiK?:OyAڵJ93p(~ C !҄δF4[ʴ)m6+61Jm#/dCK NB!a"Aklе~~ 7$PS$p(&?0SVo B6B @AI[m<0[ &M,"6!".ʈ'b 002_AvT2B9O"zE,nx6N6Vdv1{680H+ DP1Qrh~)ZW܅P1YRp gɤI5Q#!:/*&fOiu{^uOBķ@F97)d28nI(SV1&zK3DU&:H4(ɍQ-TnЋ9{7wlUYdnKJ t<E˞ KoMk5 s1to1wwS]$CH ;{H%( _qBsЍОb92bPTG\C#_#89Eh4ya"y03局 Fz мZSYZA oqȸחŜPJXY<'`T0 XNb 9 .Hݑ>ق ,KFrMk;Ú[xއ$$cZ ?a6gw^-"8\,mޚ1Xޒp@oRk#K>[iyG]UT1}aUҧxFi2J^BzF vqs=kFTjdc9 t̹䉘xa)pr:F/n0? baEip~@ɒM&EXhݸX^E06+"ҟbQsJɩKR;5,sc+oL.M6-c|Gp w Yf =~n?W}`]:#PnXڸA4( |ܻwo()eLQɞqQW~G,ƙW5_С?ͽ}"^bǙR/IAOz;vmkE:Ndg/l֮䫋VoJŕ#ߗ+CN$rKξ>:Ki<vPpDm\MpH8o8I`uϞ8 =qa0LˡXk5IdbvtJDu}}em+ч@6XUtiaI!ktFJ $3KȦ—<̹RܩǯXl)C<%ìVUGv윫Tc>s yyǟg]׿Zm0zp=pH/4/Rbg}| c3B&+.#3z<.8XF"Gr *87Tk u s6s -& 'Bh`jq7_pU맺05 czL1=U3X& vre$M+L6b 0Xܾ}-RnkHhS⑖ۭto7 eM€nI.i{?#y<'yLڕwI.ˤcULqȡ6lǛ)Y!B/b(?^8stn: B=)T*m4?b/ccLGqy)sC4w$Px~I/ϸC8uM1+em&2 Ku Ǫ7-4N\XvO@[s*$oDf軆Cɭ;rxw7 ,NGZ^ZϺfpZ ]'nufCE9MfFr8U'YUٲʜCCgRaowӖ}{^I^>R.'kvqqTsL2)xD*).,,iߛ~ 6~ǝ_IaTqk+K.ڙY5Dl[ihï%!HW~ @u/miaR(PD,DN|֊{b `bffkY|OhB ߬ѡ5r~[;Ed33'{ զNV0Y6Y(e>os'5uM^ow n8}\@kr˘!eq޻,{XT-\k lI.P dmN12,"^wyc}_sfF1 0ҡ}D2@YD%er;1(;oM_AP !c5:B*ޜ;^CLfoӃLq>wC?dIӏ_Km ,Hps nǺk}2;/}mA7y*Qa4p<~‹={^K mݾ>lU#)Ї2/!3˲.>T.f^`:,$p؋O7#ͱ֥5ZxJ &K"Pi&WVnU2O·ɒVdӘYX*،bafY,X8k17H/`>'Bҕ ! Vk3u%_*O`qq`$G¶Kӓh0-I٦|dOMJ'i>-t"f=0 K N3f­۔ӤE4@h(.yF⨕ s^|eZDD`$Wj J퍄\"%M2$%t89/DcISSW&Je±!dyZ$4HYeaBDn!0"s.냅ZWYwB<acbvMRsiф$F onqs&WUi3Ywnmo&YX5ܻ>6Oˡ8sz4:?"sC*:wy=3V:=`0x9s=HbG2+<&2aB~þzk ~-6V"qcU02d$&RI1pr, v3Bl/ޕ}>E34R`XvuQ+ļy.9X U'ҹSk +xpCH9!ؽɄ] OQ},tpljz"ضe5p Ѣ*>4o~ r\P&`ËtZMծ`t  wjxC2mSz0(os;ƘaIQHg0ot6{LU7T҃TuXvv:[KLQw$2-@GQF7.8|[J`1LNk2DWtgBLO KVh^c' i ZttTEZ8e$c7]"$䘢{5rkiJYIkL9~< >9Nܹ}v/!'@goc1V^G m!K65HF j ޽*=[o=,P9P<\rl!9ɹ]zw]v_/iY"T]8ϮK=ZLf4=NWdêTb^%]CVolR_=FUCaiYW^"/rRxCM **Dd{d3vw^1n-݄= > sdm{KbRfAf/GR`,_0 ɜ{{:c!9UvVIL>ΎΊ4iQsZq O6XbgKҩ(UxGz6LʪFՑ^Ae7d@p yF<a6i:{;c^+oZ-.?9 _֔Sry[c@zWp18q== ayև1&S|I>y͉7(=@]U࣒BIFxMb0*Zdq]<~aey{td\o0<FΏyӽҲU+GPLbaqPHF˔ b$HI6m1% epuO1=B윋Džʭ[:'J^$rWt(&`ǥ8nVh;{,"Γ˙Miczx }ruTx#%Xlؓk{yW}K yKOruxHNȨw[sK$twV&zg>E:ǀ'|,d4 z95g0_/a8WEo;>%9Y-䍨66dR$RbB윪pz K/9<^ҦKtJm^ XŪ&j롯X9IH8dʅMe;1wMt,Ce־)ּbgzyn5$}'WIbyn; ~@jH[ vw¯OrlENU*FpIsEQm|8Ёo.XXn+q)dGCZ%^- hE5VYPc5E "f-X_\BT/JT_@ )GƏtU iy )NkzMthFB1a UQDM?oom_]=O*0Ir` {̹\^S,,Z,*tNIX#Do\?NC7l8B~1 a=XlLπ .Ƚ;p:A#H0Q`Li!_?Ɵ|0"@)؋h7qw .Ӹ'ɭIKyD422G2ŏ [DOk_snqo֏6F74AB3 Vٓ' hu>SPu(ú!$`ӵ>ګ¢ZF"qWmѡ\:\78,bsm'@S){ b-t~[8pLoV_||$ mwM*1O0(GZDo%`7%Y0V0f*:4J]$erAnKZP>>hYsJV@IPu//#8Jlms jن?KY5 Eh0HMe007*oU"UDҤ!1d$dK28|B!Hrh#"2^>[ǒL@C0J#pGcE&(=E 14c$rdAc5aDntexX^(yH c9oF 5l_[X -i6MKZ"Kr+MC{'0E$ӭs_۳a|ӎNO(="'Є̓lTeIsF$4O~7t Oi.K5Ja"WsO'7'9Tֳ&(,upt^\>?x[{#}; D+X޸N&cw~RƼp;l:!#Ɵ.uNB¯8dͫ@o0̹&Mq|vںp݄C$虬/"+8<|JgB,k/[Ya뷰.+זY0aN992LJ66nB&Lݼz=QE F. 6slYX\jwp`1wҷH}{جy/p(iޱ17?+U? a ái=8i]g[-PoHSn[4ymc3aH^n@U]bHV*I̯=AL(9y4̜ C1F~!ڳGxn[eZ+q8νPS939HuكXYbI)Yzd3"9ՙ4xARPm:qM筏)ߒvȑ%"}89=9AyN:`դ6I7Қꚓ769u!cMkvfr #yY1|hyz krh\au{)Ŝ\>~U6=?r9}Ė&_.^y zW^#UC4Iwҹy:y{۷2M'[܌,a+tD\FǠh4F#WdҘX"-%!;*X8FzLZ^~3=ky/WS2|9IϜ[3|b[yjRW:E0g"S6텎b&<\eבCXq9T[Z&zUE0N\Mzc*ozLKO\99:]ɋ'l_dM.TCdIЯbv u4pe]ƳD>i/&p'h0(ޖSx9:( 20v'tx\Hygw/e@BsetiljATYl5ݱ,/tNjQ Κ`y *=XNF}Zp(G$It9 {Qi#y]>flQKG=sEKwH8gnD6eS2W 2/?ݳk*\">xZxo y"Xo p[C' #WH)A<(>@ˢkkp)#)ezJ sN㉴qx羪ܪgDSDžzx/p ^GXF:; SiZ8IM.قh5kE=&YwZm|CF  3NbBL4B FI'%4.ý2 𪪼w-{Ƣ`V-_1sK(0t3V l6v$HDGeU28Xײ.Nyeڬ"a+d7M3amO[؁ _\|­6V)GX(9E\_:y&3WR]^^zX(L@Lj0sG &"Ʃ̹ Zu!뎹9ZÜBcyXL @N si3K!- d E/i6$a(lYu ?B`|UxrA`%M(XFb(XcR*]QAŅPBБD .Ph6j0 DiG h*&9YH҇VudIg1*7-Gv&csn\tEG0=cF׮]C:~xӧuAk5(HHX2|Scǭ*۶z"f,bp&@CA,D̔C AvAOÅ/pCfP氇?08KNvF/P,?JCb.Gʢ,Aɖy47TPPtXq5& 10{ndĔu}ģBs[b\&FNb6ޅ֥R&Cm3Q&|XĒ}U`#ƍ4& G4'Znn!JԢwlτ`;`~ȗJ̌В beB\FS^_fA`J{{k |u.,,Xx/5tN;9sa̹SKokn2)lDFe*.b]3M[^> F_5/xhk%jkN0f1əw]G5pHܡx"EiH-!, @q  JK遂\jYxp=]U]WVVޙqGG#Ȉ:;3#7,ؚ2q !́8nga8֟MOVSryפɆN:%-~EhvRv4H?ų{˼ʍ vBs(A=BOVo\Sxr=ٯ5u^ԱPuQP>`@+8׉2]6T 93 p<L 1AA@ ppiwvۏ+VXqHiܗ̹UhHLavIJ>/%GjMbA wTTm ɸs[[/&N\`YΩ /Dw1cd^ d\o lh`yaq6itZ-8_H|9.`$ύƓ0mq}4NS8+~jnmq 6'|Zg h dJEuGua朔5ZsŚu=\&-~Y7HwBs|dx=ͩ0:`7;p}%[m a8ADϣ-Yk1=$֮Bksc1\cs7/ӤyX|gBQG퓖<mnmCOfd+]2Gx~jxZ1F@\ё.K%'_, 8MN|Z@NR"N&]32߸O`wc˺YãGaI@e ,qI$SUHJI1D !\!6H@7HX9$D)kXVVfSuTbm:tIا&R!@oٲNº^&4_ЛPzp^ˣka*\pF^&*:T ^ߣk'qiq< R0ֵ >x-b&wf%0惁6R$C{ԣs_WLT Ld t- sOwhMT40w'召A￸tdD)I:Uդb u{hVs/ p=#|z㸞]‹QpF'k[3`>%@ui@Kv0s@%Ÿ{~ ~+0`MX@r}^l CvQQ;O.zSWO9|&\b2؃yθx..gX~_ԢE{,@r@m1 RO7'"95!ܐv ?ʱeMy˙>9WT(jQZE <bMXA⧉唬-TORؑ\cOna(NsH qT5*:GԢ܅NI0O [ Et`A<Ō;.~ }&V|f~BQ"`yПn_(; r݀:T\cm_(81%{迚݀3Q $eK62$ .j]9EH鸟ml,QΧ0~+hwLԚm4+dRp, F):wt̍jw]YZ"KSV9H 8j|PF0hi"k1tW ӧX4}.zSe5QV] ( &ιqOB]Y><>F ֓)%^z;[{𒶬5-$ =79);[hM˜@h'| 8o!%[X.}n?jׂ=U[U?2i 3U!Mt@WJc#X B@z T__?"A+LYJ_ر>xܹsG9w{{[;1F-ĩUOSMIOmȖ zo}?&&Z>MCN3^5/ZL!鰺}Js /rLKGklU;Wim-.B~n+.uF{Jti (6~|}E5b&M vtB&Ŧcy łd휶7Xe@Ѩ`VG2E'v&%Tj7c97&K ]zz!1<<2I[0%\(F(uu_<7OIj$)|tjg}6*6m|_{iV ĵ^u=?_>fham GÌ/Ja`RZh,pk@sďox7lG OqQÙs.t„rW^=r ~0域 ]\΍unm#$=SFZ1\g[RAqnQ({N_v6U9703d l외@Mwu2㺭\`o ײzxZ 3n`$X(Fb4 \OFleRnl|]ĺxx諤0{=RruUGG70SJ#̔0W.j%?̏ӷ\\{Xz=QJbmvN *u26ݏ†lBGـgOl LaQ/`x]Us,K!C6/>ĸ~0@|\^E)[ܲhLSگ fW ]2ET]|f1@X?s.9Þ/ 9chsOFax`uՀf9\ N}hL *>Mr0}@9Ç4gz,@ԯ=x\)|+8AQnkd ݏO<֛AJf^-msO8ܓhos07bνr۝Ն`jz>=;~p qvsv'SG(}PJ ?N/ 9>>8|96>p{=1\97K9#=cӾ3~4]_wZtzY9r<Ƿ CfUcd#ϡN]\Sf*SLGY0NQZԞIJ_u2-am|ϹOY7:wx\Ή:$ZԢO S[ qh'=&!AxYGyn 2HF훳f |O b"ILQZԢ6N;iЬzm7tyɒL%oZlg *Z"q^tǷbLX~>p;W bMxOz0 =+KҦGbaޕ?0oKĜ{Q?g'pR.St(y]t |г/:Gպi.ּV'3!wiⳫN5j3tCsCEW $p#uqz蟦h0K*sO(e?zJrff_'2Fc㽗KȤb9tErfI 2\ƚR|=|N۶9[IVvB,;œԱ}) 'Z&D圵^Df!ZI` 07QCPB2ilv_P=aŒeе{Q\@3?UAsBH芵I͟=zA֛ϼs`x.gGnX*{ HqJwm淉2vU+3Y]!d3¤ʆ9[زV{2oӨ1u(%] ZZ\,znϤQu?CY+? ]No;Ʃ:v,\+PWT7%?~YG:`tUI¨;8segJVmӲ+=]4{뼘Ľn#Ni 0snc m.~133O#={sVJDFURWJLSgaֿz+Q*dGbe)7i6x}PhLSydmo<.ayqNh̹R$Wcw:Ua%[.-l~v1;-|fcNNXEF9ϋz"a`gWkf} vHϋ~,vw1CC~#=Cnx}Q.8u8s.'hp_~;;"IЂ0(f@#M{5d eTk{p5-C8̜;@ rV XΗa] 3$jn2loAp)!@έK+9j绱'Bc=< [l3LӒ}ٮbusx5HRybY%06pX^{6-R6#}A({vwBFQ 2ѬU/u)C:Mʻ@ ְP_%#UVs >O} )v٢1Qe@_5چ=*D [Mڟ} _'^w b@JJZ.ٛeqsE [.ڈYX*m22Z]]Gcoxf%? S OׅKiG Jog\;mdoݒ‰jyUq?3X )CpX61,9d|5⺣q\Lzs9/I YK/b-"`S$7|G,._tPGjs{E\30?D w/G|7Jsx7HH-0+s]왳7&h6$M d}zP,Je&ݛ?/M,`-+/]C@n0sn;hѺ(xޟ= \JqIߛi3]VzCsn 3f2<m"y9m\>FӦ% Nbkx79d6g:/&{`7?[B*pΰu`q169)J3Հ}2B0qػ2>1})xTgu/VK b ,IB`$3Wx5ϣ #ޔ9&)Q4e;lƻ~iH&-OiTs+H9:9pU4 b ΓR}C= r8'Aȳ.Vz(@qbz`uGz^C?O^gٺ渌2&3M6s'&<-OF== rwqR)@pČAqca'"jQZ.P uz$5"BNne~˧x~EwnU o v什ϳu1߯ ,ֺ *[OHwh¯ p\[}"AB=>O:D#9w1࿄2E9aŒ$&.x}< gs6'-$ئG?ǔL,Uh]o̥(`1W6؆}9`vp^x5p\4;uY<r0~,",NeܾBURtZ&e8]g 6.}I--o\) )4?3z%K'j<.4)_d\v?|NӁq*tll 2'fp,a}Š!qqY]}o!LlH6LSFһdJj43>El=KR> C{J\_= yOMii30[zB;E֟B,_Ǥjıqt|b[!Pe2MD 9amDJI?d,9qZ4VM,0&OeB{6Z_V+ V6_l| 7sJ &$wJB!&==&ehT lT*bq[\*7J O{{6ef U9Q%GtQ۷Vz'k(/\v}-4DB]xSֻ٘Dѣ>Dz .IuiR&aŋw/RV6-U{s ݾʫ$lOK ~iaYդ.4{rLs?|%&jH$ i6vJB/ֳn`csdM]V2Փ{3+++H̹<%Ys0##33XZ٣=DOZZhXM7#X%K1|ݤPSzBݍno^@%_ 7X"+#R&G%m')J%-  G"H:4}n9L\A_89i+_6Ύw894MZ-:gsm֥I,%+EFsM"%eSYD:i!fY-tYIxy <+sY~innƍ#B6>!)rytHajhl01&*ut: dSy2|Uޠ3Mnl̜@]$`bc41rvb`W.%p"ucH;U[u9IT qOnTdi{HZZs0߼WBL-~/ 3xWk9~ДDu$Ȓ̺2wI"Lυ9k$'` -n fn>:e𹽽Cf _]Upٙ~4avf,,~E{FP&@!VtY?⤿}[oK8b`r\c{]:҂cvJE VB!~Еorby $+F@<,6/l{]17W>_Ɗ7")1& DFz͇6{qIsE :d ?#^F@DLK `g} M3%\jST]9Ʌ:Ǵ0sn.RLK"a@#HLb޲K%8Irpq-h,f,A㛅ecrİBK!~F^Mn4'Ŝ a9g^K`1o3i]O!C}#3 Xt >ـ)S)\Wg}xws.+ f GCbƃPa0!b뿎J%tRds 3::Ej(tͧU2/xDzj}B"AT\0,(7WdK(sO@;İ*ρ6TaMF¡9;~J, \dϟ=MSR}rP)1재0&EHܧd2{ ΅i.̹ap4I!ȷ]erTaZ`6KPNy EdwݎId-~3 |\tN8r\ϱf  05 eĬP?r@{\cft<ߛ8Ɓ7Ni!1+i^IuU@kM `X|Z<}1Y*@߹p:t"gLLO#Tqhop2lA3Tj /''9EafQX4Y@b)S3w]unbQz}7+ Zǝ|l& YTHYƊLLɏy R3tw%.hUċ32y0paOc>DH8=dfz9Ӑg%Gj8JY9_>u |Zs.!r| c.ip9Ǎd;QZԢOըMnLRG+.iQMԢ=T?:j"#Á+Kәn%)r!g&5 }cjF QC\7#g9,ds'j箅ʯ< 0d9ܼ4{ v*C_CRx0'_xPϥNpWXp= ?SgXxS$ӑ3%2P*}1hu-P8 V8[m^ir(sv{ M^W>nSD>cٶr5o=PPN+xՅ5h9DzJ3qI=kYMZ\ ͙曈,>בq͈ UG@j&~C`, $ml:F^-w$)I2lf=/ߟn{N 7t?CDbf4mڙFhW̻`] @xzvLݗ IF#)2 He:EC*Ste~*DFQk٤(fK04}ĞՆklĔzBI}Xazdn ̜;3jU]..! fS# O>z|qB.6(#m޾ 5db('ut1\[X"^[J5b\./.㕛/cwJ|M|n}^k ?܄oSI2YEe[1$|$=a<׆EmT&KKX}Jlv sE)$J[[[h XMs>мkԚ:`WE27l1QVO66qOcB'Ut9wq.Kj_gquyʸ̳jCjX{\EZo1oGT&,6 ȤsSz'*HAVeT4mhqaB&;)è̹WE-?:O~Rh\.1zf%e{nw+mZ\" rWVk`{m_{ࡕ¿s#ϩ~j\S㵶Mkk-/>{;}8 8r8+&Σ©!;ppn7sЄhL3P$k ͘gF\kZ]sy:˔$J9SLř6V,._&E 7y>CKhA%kɸ y{Y @ΝuE";Pc2kCHՕ e94+JҴ^3ȧ[]$H$>sGϫKllD#%AC{>r(ox7KϭƁJ"e[s1ƛ8bSa g4޼B{v] #@Ngܜ伝=l?&vx#@{X`lW~ =nuU:#B ƹ<w&b}(̹|IMc K/ubtɧ|D,jOwCa%vJen~fd+ԃZez\b}qUD*˹Msbc9V `SQl15fPTh>ċ~| K0I@;/#{Xu|n#pfU}J]?VH2MbA, S)Ԍ_Db$)dh~ 8bd8i*sQyj:nj a*5<˹[-d43ɩ!f%86=8 M) * 7DPf%gg\o|l`I"WG*~8:-/ <l;QPylaӄTC7%Jl2Tu\4Pa's;_BF@Y ]kwM@-aLᬾ2F \dX`]0h i3Nwqm"=ggB,፸Yr;(}'N>974b$.6ih9i.&zww< ylqA<-k*jljJPȻu"ufld +*&|&4=ج32'9c8(%{ǭM6qsV!E-j/zS &==(/55L pԓF e"W.´BD)q|~;(c~ۨ5-43q r^E)&.|ӄaՇح!/!JW87O)l@s߃Ćɔ(#:lnZH0'c1]Jx[x{%rԛnl\n0c2`a} \|/_Y((#ۢ8֞<"`!Fw4[HeHX1x3o!KF(̹ &7Ѳ44l#"MD#T!FzŠo^~;A"n;+wK64r9jWyv1!g.ԠG&gX[Y>qL৮+Gp{{{B<3mcƩ/;fբ{}Yσ )zdDq9q*ob.NyE%h I$ǶȺIpk\YtPC~,d5e|e3%ܼq[kklԱ3$[PP7hq]ZX3y, [6Y9̐բxth9H$H\^oeɂ4304b[E<|!U1b l(DW$\q{Ti&(45 1Mk^S&$5ozʥc=5l&Z/N3Yz$٘vۻ}S&M3U3{`$R&Pi3,H]dϮ١. ԡ:jXNS~?3ǏRLKlGe6^b\Nx|0&#|*阝YÅޮ4\ rl/OմGGwT΢ۈݗf C00#3sJ aO OkByiNN=UguhNF!؅ ~^c2fhIa0E*yղ{\ZP)-a{ZIdyd0CtIhnI•%+Mx}9-sfxL]E(XpUcaDI#V}J&/cᷛM%8WT>wbEb`R"`eӼdtP ' *9 GƤ0+Kx1wF%[ )g>kc1xcoM%0WHv)AT= 4oy2|4'_(cV*UѥSI<~$Zd e,t|Vx}&OUwzNNQ;[px5 U} U8,\f/=vXµgsd e3ׄod`)~EojJC\] @PɁ4UǸS92q,,>j 􈫈wRқ:y%*zNzkC<ÄPwر'-0?e;x 6&zO}RL"Vp ɱ<{zZ0SXozӳiޅGvBViF VJ9%6 VA(5~41Sb$Oeߣ '%ۉZ^%EIr_ld}9ݏ ĭwV5EELӺ, `;_ћu~Z[&d=C3|o:#&? _{8e.OSd0;ڵ?P[ ! .jx<IkE[N^ edwTR$J65F7Z%MqeZʍ l"K"tr\94$>OA}'!i`_%LjYaAO!Yxd-qajS9Ƅ6Pd=};gxlU9W?揭{ `6xcL=C1%s?h}fMFBrLUU$I |+H1oop˟YB&O6ǦjayB"8t0`եmV*7{cqHCS阇+HkڱT\5GcwWƼX*`ArJdJ8s@أ4._S" 'gdV nG?-G&g2hy8tέ4^iBzhyRm<b tݵ`{Y]v1=.BɊ Qz'[>T}OCk^OIQh2=Q" "G[s3=ŒNVNWŞhL>{H}G1!Ӷʤ$OkYo!Au:W#T6B@kG Fl b.(88u٣Ʊcҩ"W)~zm>I|{.^JM%>;)x܋k[r)6&atJl `d 2J ,:|W>0AI5i*YYEe=tN`bcN-뇆<(BAp?g9zD_٩ZouSbqin$/4s% -MAm{LkkI֑A Sb17>GEnͽ*+̭+?+wT=5\؏7aB"8)~-S`̧V[K֬ks8;/l H~.Ơ g (|h׾ړu^^N%ׇ;_ʻ[|HF˹.`STd:z,Mh`7w&ݬ0[.5AkWP,'&Im#y[kyXŐNg$9\APwI`+AB/ Y~Fd q-,b6#1*^dilTIFti.]feBj?i|q)ӱ&qaeE&^AU/g 4BL g|I/|#0R0- 7/'=9ke+WB9h"}*\j|' mzJr6"j;;; {\xRD@w6 3;D:lvưzB¹XT!*<'c޲x3j6N [{uk"o:<0 ۷7$@B{_,RY & wu@mod< ,,OS~L8=R?7dt$H|;~qԞ>aay!( cl>q{:gP77 P߷k̹~KXiY;w , 3}/؇א5&Xв۸XN笵jH>sjvLg ?wwf {XdWA^Gi;dJqzߛ.KrTmaϭy7^Eq̹S]-Z+x?ÈɎt]GlP<:u|aϿK*& VaJ~| X A Xx YxUG}VS}WcxuZK >;xn-`g"47M :5lm %B_R#Xo۵G038&~ +4^ۏWa4Mlh-;^.uU"ydg +>ߘk&{6i]sH]uZ#J< /^8C#1LM䇏_C>.t" %Gks1E0+Gask3~dl Ϭ;;;h@zƁ9WCwd #W@,ܥ%H -vx*+G ŒfΝ(ΠY@5 gjwCO"Yq$=)aҸ~*W0Cڬmbk!ڴVf]@K0Gj YT݃i{җT\=XQU)P!ːlIWik0$p e,.ͣg}@(?YjRe wRx+ODHmv ^Sdv+ X3P5u\(ӁIW:E ;~ץ{lF^޴ꛯca8s.yRE^CJSW<$EZ)!I)!ۻOie̼#WnS?X|dc|* 絲A]ý&8ɧjk>I銍w$Taj^YF1|H m=BN6,**߽Zgs9j ±}isi }g"r<.Dj5hc`$ ]ـOQPc{qo Yl&\B钅A`so2) kbF6j!Y+\'+kuvhгb{?)?bamNYdDCI8 ˮMTC4GFmF2\2Nc,]qLL|"(D+z۸컛&[lƓ)o=Z7H'Q![I T(1AP .)MĒHL8X52 v]kw}94RPjg4f.Y!~ QpJq k ofMʜ;xy2 {xӑ!t 1kog]\ָ>$Hb+s:"\7*^~xJ;I O\Oa5667e+|hǜ*|K2 $97qhxA:fm#1s.? {]쬓Q" (tQ5OӘ#4 tI(@>SDa}RL<9UBcK8Gf^4/2f,j'ŕϊk0Yϖ|Kݪd6rk 0LHąݮYfFP&DYX/pakZ]3!gU'I0r $ӈi MU=UڽdbY]Yx[l1Mqo_a$WoԅL ´dP?reiܗmF#qMir֋sql6 p5U]z z?r`\z ^gm3e0xkkw 7U 6wpWޚ!W |fQE1>e9:{8̾+3)_638_;2MbkVGCaһ/(]'02ǰ GyuòG69tr`)9 +rNj YB7,~w}^{,CRdQTdYBd+Ap$0 l 0bBbȈF` (r#JLoU]}[꽪ΰU{BzS~tCgwN7`Wup7q4dʹ+;7fјu45ma;_poDoFh6P5HcC>J d'Cynl-mpL9VK0V0;6 Eu8mH$'%̹Ge9 S$pHK$תh0;a tm8Z&M}ODf{mhzBQ  ͈eNYl5"; b{sCp!0h7QX4<3a]W0tK$FR^&2,k5Vc<78تzi)pA "lBMHfA,ҿGGGr.bh>1AM43-1~2`k}Z0T*)>h6psM%:zi_7/9׽`Ŧ(|_G0=nM6Ǥsp己_ )qZ7`.GL֞ v Ȗs ] в/)X/w5n("=w?,`j/hZN@B^(-9J2~$31N3@TBcu&'ps3Uh TKKCu ϙ@]ˀAqD3-"B.b{c f5+&|ia%FG@> FcV]\΀nLN a+{CJh 5/} Hfv n/ǣ>BV&R1`imS0ꪉ03A{HR+zlJ"8-ZUu1t͠+X,d*!Zu*-|:Wl*biJ`aaZe]Ѯ"=eeddQ(UHEX.xs09Z6n gVmC!溠6g{2 Ssـ&\.+]!c&x4P si'-=~wAqqDoZcZN~Y2FIYCy[h:`*:aYGՈ>m!Edo r%#~6!Pg8ddR)mmmq}ޜsZ"J.?Ӽo"s.4|khOMs(U3}Ȣ!z4ufjҲ]6SK )XJcS5aAwvPFe+fP}?[[GX$G?!p ^gS#Ch-\p #tl(h϶6Q%AH.! C7ih y[Z&"YxE˚2E Hͯ`}]ū_G*f nz-ԤysQoE#w[|kkI= R(Li[yHC8 Lr\uR*D*!DX -rRDXNo-2>c$H K,N:B8 A\t|.ֽ F4qHFoc$9xګy68pT婸@y[4EMڶ# |PpbbgG` h{:t&aTl/@ g΅IEQALʔcccz >̹[vsOН^z!cc{"u(48Xb}O:Y1Bc&F3DA<#6<*),BbJq4F"CP8$bnm;S4sy;f5`!@ٸ{Q̪`QV뢖*DG" JEuD,R,#wɵ4Ƙ=6]x[KlDX_Q|m1 :@,*L&-|L| AJl:\EL֠6f*2N A\8Ӭ@JEı,H-Q,m*lQlL 0sMN{Z8ex̹v? A}#CcYq{YFC{3WDm@gxH;cUyWfpj+7sf-fk`<3*oG] ,̌9ly t 8p2spIK \_fxz@W],Ķ%`yIճVg;Ϗ N8"(q4e8 mN{ Vsz̽-:n*^׫xTrSn6;&Szq|2')XNpT3kwc幥k'!;0*T2 /V{0hUܝ| ȭ )sAJBX|ao 7-/а|ڞS.u%k>v=|, @s49,SA"32a/;4tg EDt}Z݁pcOWve@ `9ؕǭݦr0(1qs7^oĞ׼EތFVʥ:\w~?tR N_>"s ¾Ouu|HrK"ECs[\ù0iZJo5z}~4aᡵzV- ̌<9W$X;;;pFI~4M2Jynn\n" ~[V ; 7@&S:saRHs [d½ZYXTEE}@.$×ʹpl>% [w0bPS˿¯nN6<&1_uO̊t큫*~QR{|x\-!J<:Bnp Ͷk lovy ^,Sk-!.D:sIyV.a34:\x̀5j S54F2i5ţ p&s0+32 c\^~GG1IvyE|b +ECazoFGi5>6!Lk3q=Ra9DowGxzZuhoC3UA4չBs7c< X\UY-UxWr!  `2hs3JObqFy;,@X 5g^x*4wiݚt@Ŝ̞X*2|9MߋU ۫ 6A*šg6zuZtJx_xxwc$26vwOf%:'M=A.tu8s.ǿ;bh_]{\cx0paf %pH㥘Zrnchm8'N&k`sksDⶳ ')(YRՕ-TAO ΀1@`E?V7LH-l糈IEB(UޖŠ^R]{Xu_̹ AB^ZJ8ӱIg?x[]A R<F̌N -ud*H]ǝIjM(mZ}1}l٭uA|\aaiōi_cs J kPM4jQheW_fέjǶ%$>/x3OН^z!φ6Shֱ!K &]?V\<~+?.<8bpd[rkOZGY291j1|JGHe}c ˜X>E"lj\KUEb^LC[ f6kJ\m G ,E!h7Hcx?E^afk 0CZ_Cޢ93F*B$⑈_Hcu_AAf* C[[zYBQLeFYQs8@ޥߍ`]ӱvynCkU}r, -NQE?~#AID`onXx{Lõ_ԇܒA$h v6E4[E''/b䵝̹1uyK/:z{rgu).#ȐryLwfa uѽ^t3 \^pY.z,n٪{qGw©)ŻoUNOǤ岭 {H6K"6xOj !]AC8Nx~pIn<˜Q@ׅ8L_n;t& >) En]PEOQ6ӣb<uR_.9pߕk]QBg`lg} Ƿ9nZK],d_l6Ad}͜rvz7ve vܘ|74Nf^q]|t"˹Y/59~|R^|e#͋~߃߯(u.R;Ӽs`9ξo, M''$>yKII"E.>I2@Ex \ΡxD)R\ 8A3e T> ^or ǸBz})aKrNb҈ ~ R=ZkOQԱ <8Lqt(~Ey.E唃uT."[/w3]3I\WUjݟĪ=BqU2567hVsmA; bh7@[p3g+5TDELQی T& 豴9z]dXņ>6<3YǹHr 嚂O)0r&@36njiC9iTs8$DeKiOS'anh@Y Z̜.]DX%f(ֿl5Df8A@dJ͠e[me2DmL0v-!Ҵ]}~H,0U+vͼ3Atk?n+!F_?D97@֡gdScnP|9X)_clXE[pժ(dou\s Fc{0:MOWaIG|n`<LL{ s/梗ao<)ݭ6@>Z'Obml<@'8w_C=>ztxZELs "}nemfw&R9^YE/Khno Nh?Ioi2 7 crFGhO}ϐxdƤs 1X4gixσKj.vI>FuNgS8-H#;5zsSi{: V_;hUrX(c|bD 4B#hJȖJȤSbޖ)\k(;^c8zwF,J8dYZuEcPIA%K}I\‘ւ f?k u{.tD-FvQ{; L3,(*,Lt.(Q Ø䌞O}nFmMp͛6oE3 :W8؎=^pץ!I.1RP 5DnOM9s^!_#<^lPy(@cW`~=$s_bϋ5ht(@K"QOl{ʁ|^ 6.W[荆MWidžrZH(t/"8l]Tu*Ϊ_'{!1o7sj;+IΙQ.6T{g^x%鑃ip]Lnrs^sZ9/ o5;?)-; RrZXh\kùpn8Iz)r!þ9~O~ p=?nRH"*Hi_З>KZ \N)E)WMJ02,j֔6s Y$ۼ͢qXpϣzAVgsp# \I UAk B3X{nXGJ9Epį{yf(B4OC{;x#EL6 gcUD2+xoHHtT%2 kVZJ@<~4-L1_`έ0;: ΩhGE'X^/$p9CwV,mc#i8.{D H3~Awb^&z϶ $pge4[P,bd wcQ΋7gf[,b-CLd ->>:NgB@-, h\+JG#nZݲEG'4QO#K Y_Yƒ-ZnYm"?o֝pj9Z]N6Mв O+xVPC*μrf}cgG"xV9ފfs PRxOqk&F#ÙU5"GXȘ`z[< ۻ[&WFDÜr|monMOcukʰ FZOQe3ẃm`\DEG~ LN/Xh~ ɉ9k-8D($-H d1w$42&Jx7x2F r7g5h1N ;ۻPBqWL$ŶUv `dr33~@㇏x4*4]C F$h ^ݻ(vH%H&"dXlF$dPˡ=cn%d:G%h P)2&)dg.qjEb)[AjD{(b" 7vK&1$['G3oZ3Muyl%P袂c f>tˎE>?|º^F,ImSfɩª@ˊte5|>:+ IlAGdps[?3'dV̥~߅K@ 6 >OGp#c屘+PkH LBgr:SE3a"{irUAz]z)[fws97 r8h~Q#IRg^O DhxY,=(<\79$p.L-r1tu| _u)k!FtXOUVw> /̡V-#EqkF[pA&LuH]ʹ +fn# cw @$]JHSb1l&u8F4鞗I!0s>z4 V[*%܄-$-NUE.ɤ>zB aQqff& {biuRo "'%<^\ dRQze΍i1|=QC!W׾ /y9BіvܟrXS-԰(ǺsU$")XyR$qOW19s yMry7lh4oLR O?G4vM!3+H> E:W"Aʥ\,bi!)4K4P &Kem69U<[\&:*; zOZk芣cc,4Zuۈ(׳bns_F^o)A Rf۫FQ&6y Өzᎅ/=.A2mHc(L"ldv$hX!A&0j^#R2HMZ[[ё _jaۧxy\抎ǏB pڂ+äf Tֶb{vbr,bˊE*)X4EZWŭ b&"4Ϲ)XSFA"0qzL**nn-Ww(Ij X/xy//+AdL{z;\Jcy}-]ݙɜDb3ZSf#ۓKlԜ(f ̸<> ~~Rбa92dmcɜObq[O19c[t9~Z<KQCTAztLTu9tq 1lzppL.{Um[Ƹ\d ;B>O*G٦R)8z+WdI9.d\lϳqHkB@7.wR ^ϩ紮 &s0Xɏ^j.>;0uōsDi] r*㭦ȁϏE`ZuZU2>Nb傝tarR 9{Zc=4|dνb]߻X;\!<8b y7SR\\ ^0{`(ОgjG8w7T9Q;] ?%|\(6]T׍כr΀9 -|ҼHC+xK9[^"׉cNդ $š'1r;rw<ߛ'-cWz Ds[ܔ3Y=O<α#YV/=_ϰrX8f뢉}xv~wIeeM嬑 b"E)WY\P3cױdϕ"En- Ӧ?XCSv|gss.뽟cͰst^CINs,&)R\P 1rFѰ9dii 7(Cl:31f+<޳bQ=dBp}psȭ:sNۍ TfX M׼IEvOQ$rAM>fX+P84P?!m&@)k>#`mer9fgt~֙ef(=Y/LaE"XvoA\-aVV\ _;̹|HuϔbB ew` Sj&S1xIƿ ܏7ׂקbJ̹XYO,Mcu/s ^̢RSiPp\jz++HFE?&AC Mm`޼{cn"jx7nI(3knn:>y'S V,FG&:xlܻJ*)<}6֟ӂ" Off#H-|xom kϰ{br2nassH.&; B1a0!:_1?aMgܮ\w3F2Hc$5TMLL"bШl#j6&bPČnp௠OX:)@:3Z./`л5*S~)MdFG'IX+x٨Xctlb@P:V@ "KNmUxdsH%}c; ͭ\[dYV=nqRc$Gz,|mguh6^\@mfO)ۈSnn` p(s`; Xݥw]ŝcgƀÏ#pѝOǯ~Xj8mf=,܁uH61D<ɜ+Sl,>[_H ,]LR"#qczB1YT'i7MJETnD0W^G$a"IOX% [7mRbnmbfr ?w7nb+;7_} *ֲu/ⳟCb:/,[[X_[CT [k7 *X{Mf8T!oǏ~,ƵF% CF& ;,&2EdlwRѠZ4Q̹&'ˌѼ žsc+] mY PңK.kk/TMn8w)5/i-Tg)̌`ztJxUb,|gsM] 2{z^~境/*8>2W0q[ L?FUU-/-L~(Xf\von 傈pE׌:1l.Zr N \#z!Vz +H" 3B! nzRׯ]C& hBC&Y")RPMR>p z"&g&*ȗsc{(d20[@ wJ,I߇h$J$Ш55ؤؘOgЬV`*APF$GfijڝDL7oB1Uǧ x!soFZPG95NtuḲX"(]PlT  dV[pv_BbЦNzaϡL`FVc{N̹NߌM=)5@%g[& 0Wx]_CT?, bWfStg%Z0JJs#qj5T6JkB7#zgc*0⊁*J4Fq1gnWIOs}mv ݄^t,P)RH"e  …Slj$p̪K"E)R!8Fΐmpb YFY8&KsZ-5z?x`i \H"Ea T~:lH 8%PFtx&l#tuK,\CYmQrc\(v#>zpn'7\ݫ1r#wB "\.?s[^~ ePE)R\tv!Yccu>wP~oCxuA412'x` Mekǭ?dAu<MN"b7" ۆm3n"?W 7MAapuR)\vM|8ů&aaK5k \H"Eü p Z 45wJ((Kxp##IV퇏L#NrycSS@RşG$4 <V Z[X 0[A8f5pj|cPfދC/m>~:aaa<.;;;(H儓O \$p>sqP q$; /j5t 8i{qz"=lb"]S5>#4-+ӟcFB@r{ !9[ҵijt 7zCTp o">{)"ǯ\=݋k :ztj13hxo@*> \dI'qb`‘Gm-u 㘗>S?e5 0 4jUI1'#H򘘿+J`sSɷL:Vz:PӷIwe(f`)H {@ jqK#M j"ZZRx ' ]kv0FnA=k)ef:ׂ9#'uUrp^g,ÉdP[nѵ68ON8!:FǬ}Aqi(2C:wWE+r~\w'#OJ_ߋ_Mq(21ɹq*WфQQ%Po:H0:Qq6u|#/%|O-|mθRT 6@ؠ )jv@I; 񿅣\Lyf p#pbI(_ۈBuQ57fj>^Q62=35=={ciI_3Mz6O]A'XIMm|K%\'F?)RH\ZK/$2d # ՝m6-cT1 X,`<ݷŷ~ᔅō6aNM2(; OC Dw o=DЂ cY$ @ %@W1?r@#('t>-J? Bo(vj~8QmJ'J76}_R٤gVr ݙRtgt FNd v1,}FLVZC+b$F/X9{drra=e'i^ƶ꺰W9n7{s͛7z]lAXQD`"T) +Rfc_ZWU$:D<ƟpL"zDb; /*}g1#"q]E]|0!HAao N\={8ޱ]1-dc8VƱC<#"E)R88Ν;‚1TKX a2ꬌK9;66*>aF12=:ULN"E)C.+Z/6q9L|M)RH"'zE)RH"DM E)RHE)RH"E)RH"E.RH"E)H"E)RH"E)RHE)RH"E)RH"E \H"E)H"E)RH"E)RH")RH"E)RH"EA#eMoIENDB` PNG  IHDR^&90tEXtSoftwareAdobe ImageReadyqe<!iTXtXML:com.adobe.xmp !nIDATx}\Wu޴ҪY,ȽM/DŽӒ?tBHb$$$?cƀq&w[wJۧk?7+͵v||߹瞫!PkVk3ojZͮS=Yzש|{5喤1slo؍ظǯr7P@3m'RV)٪vu _ȹI>Rr|j9S=fꯦ+|nrvxq7gD3! k53djlJx_{rovFwոܚÿ {}/˴yw,RwQ$j9amU ˠxE-GH1gTE\LPPfIAEl#Ns{ԿM}ǾsZ 4Ǭ!H>ϕ| =H}?V*`W׌1P&p`?LUި(x"o#B7ΣNoTBaOPJfb^;fl_QL ~g8³&+#CF؃(ߡ> Eɑ}`J#1b#eq2>K7JoOVTj9ɟR ; TD@ae ? ʭUfOk7]&E|7x@\'8f5z6ePUu~Q#1Mk)EljzBQǝNF^>IEL> }CVjy62z',[u_U[ q2CI'wErp3ˋ/y>\Zy 4oyQr&ïq*hщn#FP8Mr|ʏ@@ƏkfXg3iLǮe %Z-pHw?C b'Ya&*ɁӧR>(IrٚJrhf1Ũb9#S @AzEUmEK؏|!y5==2s.F@@4)+Zc^` ɞ~2LI²E9|£3l*`W!Q.1╪ *!' ?xk%j܇ g) $QV|p$wQbϯ"kzz9J= >Fw dĚ8cA"Bp0}  065L  |#|S⒫7o`Lxϧ_Z4'OC?g  AB]!GjL/*LP.2p&Aq Dω"&FIq 8RN+ H[D+ 8_J=K/)Kl׶Df1a@PؓhUSVQ e$iz @RK*4y0~ 2|ˆł7'tk0QvB Lng]|OUЌ$X_WU^>+:j%C%Jgr`=#üЭ0bvTC5DF2dJZH:fwE̤\WZ촢gRG.j…w2Gg$`aT8MƼ:rx &#gRw3EU\3Sӄzf΁H 7zYxwB  :>辐'xc10h*C9frP3S4dZg7>3m2UExѣU%tzkQ"DAjEzr@=8{"e 94Ac'f6響i^*0S,VEN.JR=9)#+1 }_:O@ AQZcZUr眽$P?Q9W[9*˙9 _I#o'jT">sx _Ԧ.9&GK`,?+Ռpo` F1FDLXpXR̓ OOn8ːKF Eqķ a5 p Pj|j Ѵ9GP̟>>0)$̙RG\]." @/͓&-"PԄd}+"|w|j(kE3 ,.Y2R`׫g1 rt!S.Ѻhnت2EV Օ\E]SwJ2qr7<h - Jô}Qhs0=Pyr͆ J[,^AgU/9(0/ wlx%Hǣwx<H ga<}h8kvoyL L6@`aTRGJ?v^Il!%K!cuԉ+bπj([%PҼ%dH3{6^:z0PKS8F@ Cb@XSQvCNH)r%܎W@}DGI\5zu\@HOI*0]"^/yU9Fva؎fX1=Au9e$ v8< 6=FE-2zFfVdvfV!G|${`;S|%GGpUؑ\j۠pZjƬN1_0a&XB.#+a`yd%} x=ڣwuw2'e: .Ksf’8.xC36#6kɕlNX+ h$ b2uDLDS] =_Hwd=~= i=\o~8 t(hVM1D@Oa?L<ޘFKCZf]4H;J2-QۂtMjN >=i5?30AE֨Ti;WFμy7@|H ifnUCӔW&2@d0J60 ['rXA8{cKX d`!ʥ*<>*A cqzfNŒ!+nV"6I0 S4񚮀v v6tJ(hBLNIqF $` csӉ:`*8-FKʄq&Ѓ mߝU.D?d $dZ5pPN*N6GNZ5_zIɌ\ eD#0tiJIfgдNK*/&/LL\ Mi0 Jx#̋ 2p#'O/Za ]dJt<@n6 ܡupA\7O msˡ7+mGEYJm_9iԬxQ&0.CEF41:fBB x) ;H`E`<@`j>Q02=_/O(15,%syWB; d,f5 59fq>U< xړ)>3&guLsѳ#u >@ zc! NM54jff`_gt? ɕ;BFN7S!bĹ^\ {p=ĕtdT )(bp 4Ԥ?je{t!G6 >|͢(hS\7ٷ LS{- :ZH3␰$͡A=hw}>MO$RI$9>}7sF0VJ. [>/<9+GL$}kQ6\"vl^{qa,hkk1L.-Xt̼; -C."М=pB@S =AAZQ>x0тmH#7Ԉ7O~߻}ϩÝ \CAz1@^&&Z4N:uʻFӪ>3o-L*7* OseE 4&{C-9Fd^,EC}z_ˤ鑉&QD$3HW.nlUr ӀN{@/ `S_kK1Ð^k#L@<܃Oܰ-1 ѻeҺilH,gW.(OF^D,P1w= #bD{c3W5A$ь֔2va3 T {5iw|) Al$YpHM0ecsމ<:dakW`uK^W\ܾf7/?W~[.rgY Pqoй`)21tj?-(x Z/ x cD-b/Q u=JomM{ŀaЏ`oz0yAd;u{e$H =Q;honaO B%" o'yc7@є'94: gVAqh\xBy2,S(nQ!r6KO%1%x43cM[xm йw%xןSbt|22M |#cȔ ~dwC]+"΂cu "vsUg5O3v0yTHW9I3@O31~(WI {d@@-'jA|0R EM"잽( o(|!StXXl :WE1Qw,E]"߃7+epOށG14γpfH&ox{GIN0Uˑ)Q^5:e 4?l1ψuN߅X 7G gӨ6zD''jn qdi%Ű^b2;F4ː}m><ߝöF D3vV 7[ņŪ\tiԑGb@ҊXa^ (nL)%߳ yz#C`1qNI,7`8Xw Mף\w{NB"@/ &FOKp8 K4:>xG>Egt9ыJ#r9+G*P*fP<%ټϯي_rh<T \ﲋᇯ?Gᴵ7-b?w P(gnhU{~3GӢ=XgfzvB/!eh0 [$$#xC7Yk)4᧑)F]6vt=]ϋƬJ )ԻItpƀ7Ik.?2;4O#x[@ƥE8wR,|ݲT`>%Ǥo:u ɢw\hc-!x{F`%&rSzb\Y" 7P;6G ATt.N˥Cw`7{G:Jdr?v <(kM 2{~]:Ͱ/A#p-}^t͸cntՎT}#(JPZK VMljUSJ%H$=t:64uŸQ^^we2!Uշi}av`(5*O?5cO#:^B@hٺy?b6 ѻ0v|-~ Oӫ+nqj_}x hhVٵw~SuXUYQU\KG U邴uch`}O {)beϕzqi۸m|Y2390ʍ/w=0Վ} Ex^¿\Q9tk0#{[/?zn4?p)Hi9yuFv}K~N#feނ7+Ȇ$=R$U\=#圔QY?͟D u m_f p_cfntSw wJq8`r 5 IN!ʡ ^C$m+d@% nlq1.>vXRA^F;3A3KLҒ G?s `R!Wk, #'WԌwvr2:f0`گ(!a;!uSg`ӟ!EDQ^ 8M빗 r|5s"r}oYv$0iS|\ĜCP(`O*3?KtVo:=AYv*#arEbU<$N.ݤ|mq6q *+', ܠr ~n;%c|W'5{aF@- Ja1MF&=ádIӬhT7Ѥty7طylHׂ˒ =0r{ Hu~.MUi?BF2 RÌ8U?8(c𚫁bQ~@+uC/4zl%xro8?S+; ,ǰ+/J޸ U]'S$O߇^r|^6Ck>Vc(!ϤE#wB̘7 _1C4čCrO\]~z{O4_?֗Ff)ΐ%4U<<#к. #oSDr{@Y?1,m-Jޏ|o7θ+o ZgGV-x~\$:ڌ LMxGoNf\XS0X\p6T">"uix'?=#hG3'}|zr:8!Zyj遂Gr i-Kע`{xGQj]:QBBWб<99[y0]x.Z2]̪ Ȥ`?S f2(\y%Mtܡa((N0>}:΍WX%h~JûA~oJ~1?>5! o~{VxmgC(.QDWDcKꛚg36ԧrrKGיIE 2ɾ@Oy(l. :<-B.\q`xg/Y뮼.[]D9ޓib*q,UYETj,3Rsd"k6FpfȂ| "a5k3pbY3.%F3}kS#$n݆ۭ{}׉eݪ"(d46q5^.b@a2LO(i[/ƅ]H" _"Vpg~EqZǿȏnwVxl?sėP4zپ4N"/0Ydd/z>,P֍Ni>Ra?=Yv[zu-?4q E,ZЉgI'Tt , IظʩQ݃ oDwd4]hhO^emr*fzS,%BB{3?;';~~{/.ل&kfPn1d]=DYWk7w!jHqO~hJѵ@n`x4TC9_&d{'jfZ6mOTDCs;Q6 YfdF5+'T{I|=pwb?yi2KٴsfyN}Qٵxɍ@E0Y/:.=ַyo.mįxg;/y0`J aE vJ;0X@pa4󐶋?BmQG9^k ~w]wx7"10iй(5's4|;BwQ/o8M%|*˿5p" ԧA×o.&ƓO<ϯy~D|ĢHS0x?mXw+/|fHd_?S6 ^ۚ*tu͵v,yN맢hB2ο_u nmc{PԌ};.?QC`(" eTnaq]\шx^Zd NPP*3y}N"ή3lx 7KLUek ~ȫlK]7lƫnƪ ay.K1xvQowlOLlf9@tANKM s'P\o"h*S*ڒ#\rr _O<_zwn![2Cے-kL%pZѮPF#pxԉ+91N-p]{ֻk@^M૝_]rJej9Οt2)e# ݉`ށ\|pףal(#=:Svi/cqv(4b&FF4:6d @$; yԛ`gl4ۻ$X)VTMq|$^cd@o:/_޺6ž qV,jEsg %WRPU"Z2y1>l ;^ixމMpfP>N^7.8{Cr4i?@))!Ga\qѯXɖ&\(*"rgr$DdAuHNBxI3儁$Lh}ԽZf\4d(Ϻ%ՑNn 9jё7=ۇ] 2riLS!htB 7 rs(Ҁ9]ASi<) cǃbPzB=Ȍ({ DsWځIL0 =S4ș_N'cQRQ>Nݘ8t@zB8phrʫƷ@h% mu̐d"Q?׀ŗ?j@]3E+ y{28ݤd+F(_JD]>Wyqzx}xi~2@M݇cp:IvCݳ3̐ba}z*/jr8&v*չ+ۨ{=9=A_=tܹG &~UlYg!^0u2ppї+G#jyq}dar@,3/A;& Gq i<*׋O uxu0J"toG7zFYB8! e=+(Z,航;:k OoJ@d*g:6eT<Ǻ|.e/畫TC\JNLE\ED\( +nަuM,sü.2hދz#=뭙zaD=y4b4V^^Ro[x4=^W+y'4"T#re(yXq@^TH"*~T츀qT#>8/C1a OtM&h4}kaQ߰5ILL҄+f\'uCQ=˯bnD<]2[cuw IJ٠`IYx;1+rPFjUՏhMrQ3[ਈ} _?K2oETȀb0P >(YD >{I› *\XC%JZ>Wx(/-͖Md}TQ-3I$u{qMPȆ5m0:p֬iT 5$>BZ# ۏ0n+7^@' Wh0}ǃG`R1T{<+B)C  $>ߗo P1D屧qivЎ0ewWvoV<$^E3y;%' U(諈]Lj}fMnWmb 4G랉ٕWQ|qd$mij}x얀/$'#y3t7Dʁ[z !R"4^,bvl- ,w8L%5Fv0tIV(z3=,FYk'4r+` Nə E}t:b1B[)q|HЏ1tI ]MM`ay"܈o7݂aw]xG 0E/ ZƮdoӦ]Xi*i97WBv>rbv2sM"y|4xdшi4IRw ֌pE8HEo*v{|xH 9- )BvE.Zhc .Ѽ)A8!|^8Z̪txj`/{y2>΃7־Gƙv$(~RzKy,.BypE5;ũwjGrRS5 oZ ZdF4M!ulTKh\^a�I=t<6@ S]4/lA!!) *T#F͉qha~Q3ъw]5)ŒG쨇^arCX#Cz~lKFZ(Sn$8˸DFޘF1\IZQODWkdj ,|r!o:$9bxpe$[:LN QŵB1JWq hIǡcx&ݼMupy\3Y'C=f5МA#$Ñ0h L:iD2;ThE?Vsp+z`X6et=,7!Es0#U/CO#jfYno!,T _NDzr柋K4)CtbM9[߃腃`3CySoBHOK!N9K5x6.7"á`*Dn׍,O#4QA `t$u^Ƌ8a 49^|9h:GlyvzyZ^b#& AqJzeb0~mö~ïY[AJbXwq~{Mrd8Z|ʂwP|b:h$y2՘8'&*ʡ5&j9 y= FE>p4VBҺ\p'^>ndK8 RT<9h#M=,lzȨ3Uf,΄ކwn{iteI(d+.?nylItvu]?Xuֿr:Q ]wB\4IxN.L.4o0BwQGK4# 4c6.UNj+Z #ʝq|4OcAû)ʿC4X-A' V9Ao?S=Z5uV7Cȩڍ9 UQ8⺏S8X6`bF@puBIR3%2]ꈑ5&nDHUV:f:~sI)=BOC^lOۮ7:#O[jj4 2ykP?B겆hǓ"Ociȵl?}ӌB%$[>6yiz<[GTu8BmR_9D D=TFr(LzO^-f=?74.ϡ32WIѐU"#OGn͠qG)L %%hFYWx~!n&_,CM$/200$$@_oJHD k$@ j8&*3)pT kۑK@e@ezVr|Mu"Ѵ40Z Q(rG*W`I1Nh^bF'l矴Mɳe_:^0,pP cJu(8#{l4~U pUiUi 9I7);2Y+PjJ]wIρ A- ʹqI~șEfgeA)/۩4: 4yO& ' aA랭 Eιx10<>3|?W8-i&^3>B a ^`l7f~WI` %7i;OkoP ۾A%)]VrdPع>83y^tHK#m+Z*Giƴ[>s1ywO0㮨!])::9٣.FWe.N,$Y >bD&(sD;kynu4~'=(to=4jl?Z&E}5h2\#<2 g p0I5JIϩ-}"lٕ= 7ԋkphXTHONTvGN3\`{ CQ=Ͻ5}ř 4#kXBԧ_5jP 9Hwo4j+I@;ZbSsL&[FO6. .ИV'Yz77XR3/^u^%W9b铓08kKQwb2*;37tҷsYQ3i$ICےl[D)z j Hhl$86=?Џt6fφH yigOx6|"#2Ci| c(_k,I?5#!)s3(٥o%q6.T5!=FN=#HA,c05Y+9L NŽr/'PL뎐Ob"o|׵ b3V-bq 0tn0NOR^t"!/.ZBbJ^EN9dw6űM61/%u C_%BrkX0W&ddض|  x.^e~Qo#~o̳ƴ=!\LbK>lkBgVrU4xZ?t653ѠTDeb)Sv{ @P BOq]18OZK WO";JSZ7a ~d),Y$5ݪ$`gIKJ^_7n`NEgϡlBɚ}9Alſel^{ҏNBVbجe;i 3/%"(eCݎM!pŀpΫ0H yj҆]MaѠ=7 |TB24ژYJ9#ӈˆ(V,. "▬BLۣt'B,7ftXˈdIҋ1HGsތzQLIHDYi|00$BAk"J䛚'uӓ8.{î) zb 4mFs!JYwt G pF5`a6'&&fcab!blPaq 3XtuDEk7s" 1V\r6 bۮPI%t|=i^8{H,fZKNKQCS^J~-f+dh:vIwܐHCtMz$))UugzZsc"ZGkf@r+='CF,ϺY(43DY[4ɪ?1uXF1+epvKӰf p@: 3Ul.Wt1hx7C*ϒa7' K9' LN ͥ_WkyoۅvuONeQǖN&v]W[C/_6j 9 5߂w5t’J&UGcf&B[5i"Eśd9c[qؚT)C"?zH2H0H=A-Yf_y-P_}u9_}#0ӨVI0M)hHEiX Bνe="3 ޸H{f]I-^Io:3osRHs=uώLk:}B`:H#`T+SjTIywL$&{iϯ|%Q{(tdչQ).m 1ٖ+ D"k(ЁsZ=E47m$~ЄHl˛BQ[lc7v8@ ]܊XH0.h}@GquW7,18}lLFs31$;NV&L!K(},LGLX']BrMAbt OѮeez}C6$(ydyfM&Tv}~9gf 8bKѭŠe۫Ciϕa$x~ )?ވ?@ʇi4IQ!7XQ<[*)IPeQz{$,wޗF}iĢ>׭JPQIz*S>ࢶ(q  :\a"f ^P>Tjt,T$w$F%;bk` ƀw#.0K@$k*+V0F?{1 X~OIy.f#1c`ct5}3|+dܭ*HƐ쯺DWO[ fF-}lR>YZ[H#Kzzve + OwM 71+L1I4c[fs"%MJPBG$\h(8Ū]Kbг8&HՀ/L'N%gbL71x14`Fx=24q3)Tu8e@!h5 .7{rb[h&sB^IKYYdTXbF?`{N'7n΍:ZR 4 ԋh?٥F "3h%\9W%sGy\A$eZ_:*LV2`/zw-#K%Jp}~X[^Өl7:z؇gpH:2+ VBU`[x>.軀~KIX'a n,†PCUHZf^ ^ϘVmaTO:S {ѹ|.zR,5/;x%՘ Ӹ#|oh9jGv/ō0Xv;Y[sA}B3[;Br52PtN"saf~ⓥO iyg&=ϼi$+gldIV+i^ mg^Gd:)qPt%2~x7No9+3_KÊ9.;&kh$:7!nԐ:rFkҺq/O rH_MORvhjgxS* r38? juMǪ6\9 mZni,q hhCX}8Rܛb)' !(NC%RX hA{P{6o 69KatbǨsN.imG4CNݫ<&T v4ljL%3Zz" pIlN@dä͉,ۍ95HZSFvlu yML)8c}04#]' 'g Pt>"J,f kZ1͟S&_ _ (յiIVI2̉ek75Gꌏ#IInߣ~ }NAJb8(1HVJ-T׸Y;-aQ$=fj0|JFaJUwől<`1AM^A9Z?U2lô@v{C^!ȱLW u|-L6u Qmz=A:.mE˯erM)dKϰ/% é'54%-D,@ ua.i&}4^=4buMe6^@Na-1ULn{,f{g33y)at-h{3(ss۴6 M6ީw.wLjG&8c4:~)tźbSXb%v72/ĺtYeuצ hEY&CD0#svRuz.z6ofj&b63nMcftM5X淛 Yxbu&cRmZc%m*ƵB_bz ;̤vvnCTwk{9hu_.ӝD n\c2f(]86S4_5/]-"^ƜuN^=41lS%^I4 20R$vP53bl b:b/3=S{t,i9mbJ ^FO]N&}M S94,%qxm/ iMGU}~TPTB '9HBZkAOyb^N] DA,ndcW3DttQ®Cg L"U2auݓN 'Vl@K MۅTΞQj/a<;.L{'eь-i--DNpgiJfM}R]%0uO w l:h綋\pZlvjl# bq( }u`坅Ɲvz \q9 .Cgyb%Kz+4ܚ|:.{u.aIthWdIvwMfhDpF(] qY^Ldς޼džJɸV3c9]IDS#4/_@ 4J'@e3@^Ӵ4n3v}!@6NB.NաrLkB!'x&Il'U]4IrAxTUir${18\q9hZ6XǏPJg4&6_ ib6b4ol4C}wti͢W]A֧g'LóNGT즶~y[< LKѓiȚآh:h> .M;̃-g&:|5KBd&ŕY' E3||h艌g]4ݹB;kda{X΂Vu 3uZS-l_6f!yƂQ_@%mh픨^ cMցmlnX<-.Dti 9a&Z2jFoaZ= WOڑQ8h><?}xOC22y& ypfeAm.m#_?~LwmC>1`BAþLH/ƛaF&G>B˲hxQ4TXjoS|+-=#JJR$K7B<Gf8D6yi P7̾MP J>)3LrOGϬ{pMYaE8)&X|z-G0M@ ;z&cs xi?$?i9 ANL + GzI3K (TKG{@g_ Zj#5=bc A҂hXz4rX ,b ( C`J |Cی#hy.ذ]z욥{)L؈f!! <+bdi$8ý /?a Rk#Il!y@tP#\u?lҶ_=9+[~ Q#mfa#$#,m'is&b5QW FaD+CԼnڣx_>C6:zW⹅g!8uJ{Cxuc̕,?loF(lL$2K o"7/Ll a& 2. 1y9u! #}FbSJ΄K2ko4=_E.uX7asf{>灦`1 [}9=\@#&g kIyA'[!q |DDbeu=TbF +peM !4"c6)$>M.⠰ȼEѶG=PےN7"-4S{p Lo߹kҖV- 5b˗ܦ.؀;hyf>/DaN7HƑ˒(ppOEoRGC:H/Y baҳ k s"}摽3~BR!ߏC}ͧ@c}h{Ҹ$5L|~rΘz.KxpGif![n,hM0 3A_6C!p5aMU4 -I7EyAH2Ht Ŭ"MlτBHs0.Wb %%0" 0{ ؀N;wi"Yw,9DcY5D"Z 1AH&0D`h1֌ؼiz0<4d2iQX;jr6M#%0HaqOm*1FC'[`âoF `EN!j B= v#,ցS:ev lJ#lƖ {оh$&}$ ) `: b VL1 cso /2hV =yW26afFdQp116.|ԓ'%  vЀ7I~JA$`2|-a>Hdӭ>qSl[gׇ!,SנҨU'yMw<'Av>ds)Mue?HgP\\YDW{nاA`Ӊ?=݃.Iu@` `#kdYjJ[q[/?q 33+TO7ׯƍm)Ђ]>S9lKo+Ug8g!ԏ~@ufy}'ir<ߕkJdq s)v< {Hz5Ad]{vl-XE&ՅKۂm_員|l}*gG*k2c4/ԯo6NC]! 9i8uHjؗ5 ``#NBDs/S?z]` G&c}Sxv N]ә: { jNcgv6˪x8t6gE0gHHK57q",Wej.8  LGG,+kѾ=Xo$-klOՌ~d0]OEZrl$m,l rtj*dz]A-f:Q[YesɃ}VTE֔'mxjkѐ 2q&gkjY4 KFPe^Ggq! cZHR8nz%P!MDLkW)KJB♻Y5YCKzz=:<=<Џ4Ԣ)r^9ΆVXV~}Q`L6/Mxmk9߯!;$mM.S{K:(hm,ο{!)$E}x cpTl:`W)cדJ<\1^FĈk s<5I0goxWZgb(WX 0,WejBW`7{}bM܂&B"4ŸyaO<^GDB6-vtו-;HRi"ih'Ui9"ھc)Lv\X9JEG7'G_;bs%ECsZәP@3Yڿa V(qh]tjjվkMe۪qKW,pY>z{w }@F/ I)r2TȜGA44Tub@uͲfϦq~3ca5[(Jq_m5u8rBs`ZLv?|ctv|N6DBN7ꗍ%ViN[Gf3LB9+e(G2+ۨROgug )ꛨKw4כ5^mZ˨Wf6R(;=sН:i<O 'n&H#jL:7Ҿw6#f2[~.nZցe=Tn# ¸>i\BYmjfwsMq@L‰e'jg$5 y#_rJS~?6ܾݠBJb{,+ 18cLb1HS֭}nى9z[}xP3dsYRe4DclOapcƚFʲylqjF̒z0F$jLc?Q|NdHZщӲnh%1j=2ivw#d 5LH mrޯ`^ į#Nd?;^$Vq^J&< t6+t~͏H$LPiډtJ1kXWo*\$4v$|0X5&bT,&HV8J"YPct^k1C!Ӱ ˫,hZ;jM5ތz"M6ZŅ^mŗ+Ō 0Y8F*:U\f\Rԯ~ŨGP3_ I4SpQwtU& W0 nq2^ύ# EjT2ON5O7XP1p~ISCs6ij)X79o+^oI:4b(_k$(b[+)F1ixa{j{c־nd{rmIN.0Z{z8UeM^iv{멟9j6,nR)"'eي3nN  ό2Bo9'p ֳ8Ql|H688P(phxx:j'4Mx5lߣEt <@1n>D?VD*àiokc༕>Wxwzt2A~VKuMPb@Q) A6ovNWߑ.5$ş)7;;o({dhw)FNa,씙L&I\Sns6W[/tVkz=-n8 7[9pzmeUrd6,~i_Qj {Ӕ׏fwgS`}a EwD:J:o CBbGm*?זڼ'1lYTۧ5O}2L\nH(|rV0`rUc#PEV hqzm=f i#M8RX(2r9$3?*q<3xh;;>BHgK"_Ӯ2~g@3͘kRH1tct|*L3hoװ8Ǟ5iи =JrBA{1ڞN4 fY*hK5fֵzͽ \l(,3.y}l=4̳{ώFg59ws~k`ME8x:nkOZ&?9 + qȮdCX*e@,>]V)]O?Māiotl*̿ٷ113b[IDiҩd5f#+X,'jT#ɐhs_uA;]{@zKŵ彴b ![ĪbSwvA\z%3[%0]B=ٮlq~q "ĂUfiVϯf~Y:&]pcN`d2N܏Y͚A?Yk; 4ӌbkNx{f+lkȤ3#zI<JQ]r΂7 ߷pt\!t\L,:Ov('Ge-,1BM ( mWiDb+'l།^Yv Ӕ|34XL#X.2l l΋bV?i3.E4WbkSHaxxd᳂{N+ =VDL'M~> (*SX,j`~~-d34l(䅥p*2GNb}.)W 3N3v+ Oe=XiaьE,ޗ!\) 4+j&ΈL3p D3=E=fbϤQ,S˨@'/{4C-|1?47.]gAXרRdƠd?KoU;^2e$i$,t p +^}[ i[HkAgS%HpA'a-h[(LаšE}v͵'WD聊l6SYf#<( Lw*hd~aUJy4(۠m3xq=p^@sLDZqlz{OHJE4{7@ź Ha8sL7c9/}\jC@p[.Ͱz4r Jggȡ5BZ[ !Nq"AӪHZ# f7S " \yٹ vU6rMϊSq1辶ӌ6A[!zzs~]$Ck?s1L953&hrrVx%ݘ=#^sئAClAz; 7muܼlf3x,8\Y(]yTMǹ^Ϯ9~:jy_s,c1~"\ïG)e&g fAiPݯƪj(z $[wcen"+&MhiiF0,_& l7mtPYg+1hB + vm9iz\S7LËv!=4К_YffL YG& l-à1s'ѢG XGѠ|[ƘAU++6 qr >,@ϳ~^/@+iWiyթ ֈLpCCCN4T(MQ"qJϱO2@SS3xBܳg$ M^99rM!'Ȓ xi[^kMXw=0B*үsbZAr<ٵƍreFO74Rq-,k\3kv'-edTmن67>|no%z1 4/! {v![R5ill}},]h"e9l_>:}%4Ʀkx\9ĠX AlMxG(6NMWKPoL!{6B.ݏHl!"{ ڤ^6GQm T*< le9z6:Gy28D/P+8kEpuO0qR ~f o'oWUlٲY>}O&G-56re +!&,tLOqၦIY D==Bq$ɿ(p!]j0y20X} 8BܲgU%dj[F.-!+EQz:n3}PlCWW:@45}\Eg:y, !it)Nq4uk2ͭ}CsgݜshXPg2b`!Ѵx>a[F57m(Ee^Oѣݬwvv>`E܎jSqT$#~ihơdhu$>#Hb+'T,D[ Kb@pZZZ#e ./rvNHUܿΥ& C͛d,YDNF:7 ZkuC'؆t*TQSHg[./VґN}|hĥpaWpwH 0+zN86m$z3eGz,ڞ:Z2mY銜H36Lkʆx &̱!JX J-7Db \ 04K5Ek-kmϹAOO@`ŬdK)hR1[‹~at򦺺'%c:%jI%@K400Ui|ē|̧ i]ш 㐡̐PG*qY76|Y%JföeH0"(.^*tn({,_<>HB]#+OǦ>I <|qWm]hdٛ K{׾Kt_#Kt@35ۅ~c^S%-WfHt*[ >F\rD: Qab^.a+6ur4r Fl̙׎zN9j:Uqv.n//> ShgQ(.髰gSvcEoꜥ_Kcay]e^|# ;;YqȻOYg'/>:唷 enY L *dilh,n'f:= ļ0UϭM7^K=վ).Kxgs.-Ha)|XӑZ8KBOP!{!mSy{[;hjɧ;+k*? 7?z@ǧ"Hc =8?ͭزyw\'8̣ƾ ]t 'F"`8-:L1lܰQ|Gp5Zw<|h a& j{?}#pxuϹ˴6J89"D4{_ g:ECKc R8ms7o<L<~/0aŊyѬA8 w B9|iSd;t-9 ֏x 0mmmBsű 6h_=~L3~oy {z7:*.#N{V470nM|Ӹbew?OjOK~wkCp;?vضϜv\sUmXa TFw2F"~e}?? \>M[ެwt >9WvYL1M'Ǿiv6C 6 \@iiI,nj'{Ec;W^SC_}8ԥbF/Q㌷/:Ehn0n_{sx[pϣvމϜm }>e8X'_85W_i'Vgjٜy]v8_cDسi]@|3f߸\8kr⚟?%'-Ƙ훶z]/vP3[l_jmmoqy?fkFLJYֈ;Z삣}}HN7,>u3r}l }އ[W2N((tfb-">u#B@<;DbX˿uZq#^-M=Cן0Sl0Do|xগpWQ8 ~:22gp\J~8sc3ġb~0G.U ᄳ%?J\"5C1L2!;@3''D<5賝b[{K  p`QJ'gY1g_=If'sB;3XIπq,9EPWԻ9bYww7|@xc4"~|r/_J`Kɟ?O*Vw3&Ym'P?r"Oqٜ)`#_;n+"?c̷+pOHWh&x/g8= O}SE#E?x;nsھUq9V/IY#Co5,jq*芫ǚ5}HkY-{A3:/i (Ri]6h~h>pf՝ߞG;o:_X>#NC{hM'V[Int-{F:z[{N-a:ufMkBSS#VKZ{bDBAy|{LLB"7D ϑDn%;y~{a R1H2q&o`ߟgu^k`sAՔFos' wBAν(yNFrabrpҽszW>}gZ7d绰E*T]Z뷸52-0XfrܪMb%GtUhCa{0Y(Q sDtu@ 0s^lÔ_H{z93˄%-=酁`}HR(l)5su[SKOQk^=yUs*p2vޮ~ope³}>1=\Z}.uWLN+Kxk^- M&IDATx$y&eUW{7vݬb p"!H B0(](hB!I;L0PI8u$h;x] vwvwvw[}ө&p (o3-י^ &" |PO4(>?/4Rd/[|6u-N^ &}}[|S&x6OU`r+я{ h'mFx#WBɭBD&oG*Zmz4*4o-@vUOD_CNm(DMjtʉVM4iI{k9㉢TWPݏ|<viҤD&5َӌ+ywS:e5iI4<ډJB\*ҤIk&4=T/qP4i0Ѥ)xΉAh?GK&:DX& &4]+.M4i0Ѥ隴sIMLK& &4]+iS&ML4i:D4i`I56uiҤDk%]Q& &4vE& &4iD& &4pD&M\ 52Suj|{T;&$|>iĕډ<_$B1;1 s{͇; |:D <4Vҹ嵕4M1ŖO^>Dq]ҵNyhd=TA>G,^B*/P|Qmsbmsұq"4AkekII-_o;q glI&ʙ +XqPPo!0EʡPcjg!$\ Mrm~? ?5h`FC$э}=77[f>`bdbYk PHOJqt1 pPߵ@sOHDk0o;I&;=^iFIIfǥAbp{H=72P3Ͼ90_l6N@Gw0oa0=aCJ"޾v01b@>RJCMlw$3ZY#JSiZN4lTu$^gY,f #ǫ(`ŮdkIS& &c9n+4!3D:n⯬ɶ  "*O r\Ew~ M6~лL prWU;q\| ~ܗ h4 kn^={96qc[#F<^z#&w%E%Mt`'> o!{>Ok'F}k"+ gx#0y_VsYC\F:?gcFV xxṧa /8ZFi,=*az^=€16M 416tgBOҤ M$~c ku~̧wa${6ǀ>`gИ95>+ kc Da x@Bq2~@# v5h`_4Ř_z9@ZEV$V=:,)̀8LM.rgᅗu7E'3*[b{ cn~_7&2c ́ &XM6va<؏cmUZǬ$l$Xp<IOtd b}<=XC0]5[lݙl*ylo3kPsM {<ֶZ+k{([/-}8iv-q-yiHr%&l p{"X@}nZ8\#w UkZJq;qg8 dLc06rV GQn`wk y3=ʖ8yzj˳LwdaQgBg@ٺQ&7pFI0A8Dek6Vmz;kLXbvyL@=WRhT_Z^3\i"mT5,[ vLP40לV/`jvUb@%uKN1MgJdve6z_@PfZ6Ӝf`ya-\yy͑Msf 4967jD, \̲IlmoSث݉Fm=)ưڰ_Dg~ 6g^蕕eP{{{\5f50(qrxtJ'{nHcV;YZ +5B@GekhIwpqmA8_{jv m$u L^XY FǤf X3ۉN2q5`.f4d2sq]w/ `h/}rskϲ4٢Vo'KY)XzɈ1>G>!8x8t2oo\\?#ynq3q{cg#d!{rٞ۶~Q5.~{k?^MnI$G ?_8&~?{OcO♖ǪJLrHDZIb]|kWOuhҤd ׌m&9MpdOlDV# q1 s'C)[uw\81& &˴}607A=gL>UXB{!? Vp_eW߫JKVNHV WdZ9&i{I\3)!) 9!9 -:ɶ zV֡k:GxK5Фdmln7~9U6f):55S<87&Lv%]+ر$ybzC@$H{i\L*/E6QCtgyz*y'`<7Ѥ_IBw6Oڂ$3IE 4[\[9x֧.;nYl"{ȡg9,x>s^٤lmɨ֤3D}/[gIIќ`J10@d?Ѓ7f~'oE~`+g0 ©P]hL;O{ɯ+Gt8σ L3݄R+I$+X΁mʹDs>>J=y)m},)Z Pȍ4hؠ@(Xi:n.xڲQ`38RqJŽ{ 'S ML` eLZLs+j?"ڼm^yҙJvz]PBcFRM\2{\- xs]$ƽ,C{ ]DGP&-/o, %_X.; :[ȯp&~iK[/ath'9;[(2WM7t}(j5Фd4ϥ/. OnLc tm"o~~%Z)ozU`^}㌻7 Q03'~^@Ϟ'.{;.!h(!-f$PB#[5i`ldCil/yg{viۯk#4 Gɦ*("+q |o50)iF5xr䨤;\n{d p wػ%iU,H2n(X|]F7oj~45$)9,6%|(2!Ue_=Z;P/(@7јF8jݭM|W}Qc@j1*[ pbamil`1|OKz1+Jr>E|WDw^)qlf6ή3ɷGZ(gLE5D50foc{Ĉꖢ>5Gʕw_QfJh s˄j5OV|g{P!դDWI>zqv`BW/ǟxJ XN nJZLz=cMJ/2Md;vZ^wKH\ydy?=|m,ק2a1P1 Y[(k-ŷ9loy^*x꼅p Ogx\E^1a6^; sk&7j|±{ҏ. - SKna5S%FzErxxXIIFdԙ&~#s/In poc66Do3>['Nw7ewG*HG3ƺW6vJ)~] xsL2u \־xƴOC^FKq> ߚgIQ5wxfPA/!E YN4hɀI+/.?)L"30n$`A"oGo9G{9?+ gx{}J!MmG)Z ϼTXaEzE2ښT0& &o3DmF RD>LDJ7z1jBD!Ȩ4G;pB"~/[q&ВsQ"P 7EsC9d%_ ShҤ$4jb!"Y%qRbS/"֔JU@pIդI* \bҞR"SY>u(\>>ȅx-|]LK\URq"ش$Uok9yV{Jk$4LBGW4zAK Px٤4mS5/ b**}+Ebbæ5aDr 4i0;>^ws<$ !qzF!Lh& &e9ڟdHS>o9P*D R3A7^qs$:FژY7ɘ뺮ǸxIm&xш̥IdorRk*Hgo4%.T6F䥗]pvdeGf_2-D(,l"f]HX9GqtpsAgdII8NrUhDC0GSIna Jm$VTo5Z$S.^.>W7;eW{Ad$# 04'1c«O#4 pp>U>m@'y@N"~йrF' GAj*]oZ2{)_H\>ML&7Ae1O/'MMz;Fݽ=ΠZ9zAƽߋ>]Mz4<a֋yS䈛S.se=2 Y9RFO0 rr}f>*"eQGN Z騍:AJnZDCR9׊IɁ\Q܇"]U F,Rۿb'O;OFFRv$y+eYʋ|4 vA'ʈ:C|oQY\oPZ g?44:*n 8yJiesk4.GIPF2QkE.?raGz؎u'DR8aiVx,Ic!_& &oG(P%z'ۺN=.aL%[\>cC ajDEo{8ىxWن.t" F{^ N޿YvӘZ66qS܄U*`xvFƤenBL28T#Q_ >^37DtCK=;ٞYeI4s˨NTԤZí-No|h5[(hfJ [yL3iҰ [i:d?x$ <M0JP77lt fc+GU{0g5 os_z>~ V&4+.;>lTb;Z^Z֕+谵,o^2h'eZB  iJ4-=6nV M֌$gXCTUj3h44@mCݳ^& &cێu?nt羌34L1<5VqG^Y1U9e/HvJi K4 >HԲ/^VN4i0Nx$P;~'=DZلHf3?X (e^GT&Ѿz~&23\$b{;O;?) xn]Zex!w{RDshvtS8m \h`s;m<3pݎv8o`!F.a;Abg|tLɁYCd`f4d\3+ I#Nt\<_}]|9C?`*OF4T=$wL9 yњ۝'A-eRŰ~/[M#ϔ\W,b2)ax I Rtʝ'D$3R4i00s%i -r7^|#zg5|0$Lyt 9wޱJk-5!ޞW(Io'=%Gi w479t:l|Q̪T txML&LƘd}~ ^v\-`mwy&-#7:."< cxRǎ ȧNZ+44r1+Hᶮe/LijThʶ-T:h{LDowǫǪdɨpcFJFmID 4YܶlT`h n_l_%̤)N̲:~‘1yFُ$ÅUBN`D9'╾ǎr>5$WTs;hҤ5-n7Dw;߄نpID^XQ$gBvƓ"GL8HHIZMp?T=YuvUG방 U?؜hBjh`rx07πaMClsS2'>:s#7*Ӫ1dy,[&t&@Mq<آ^t|d7fY8y?RݗǍ^(AhH殈F'.V)QTDҁuO 0X >zA4&MLƫ(7Gvȗ+T0 aq9TSh6{8zrY49p͢iY)%"H4i)~ $ ,A4t̿Y  VԥR*4'ƅs-r6~"+1`?X) 3M%VbS _Pm` aj( B1sv_p-i)<8( ku֤IIV*Ib3p:N:cGfsuVa GQ.nXdWj_ r1b΃Rox_>4SK2 77̸p]~p |>i>hեĒ{ՄF5|]VW@l/:ʅѾ2 #KC`n8>&đ;Ŀ)GϩtoҘ"vU peq >kK)uUz| &*LpG I"u,ެ,6t?mp~GQ3cܾ@@5zh`r}MxpX9aY27#77/u\ڼ7*('"v?~\p|ldM4 cwk]!+ivCTcTPSw Q#HdƜ:AΓM$1Hʾn$j.6& &o&u%o!͊͹6zK\QN9O2q ­e3@b|y﹫& mg/w8W@```SQA.țr$R7Ѐ%Nf%AQ>Τ=ڳƏFͭѤIdzhgi0Y=/sо`Ԧ:6-E5\0&Z'u]Mvkk\u|m \mpuBr9XNVSA@J'gڟя&ǣ*;*%ʟ2(ĚML Gp{tmE9HlmnR}= Lz&B(rMۿEѯFKRo2ƒT$7u 1 qms\`jaW@ED|)c۹ĘLv{D,K3^$ӡe#g.:WQ}-YKӱ4iX٤~4i0(]'0h9;[kbUWNu R>v5|TڳzෑߕJT @T%\76Ϙ?P_ +$ @Ld6Cz-^-;¬o +i݀4s)kʼפ5i09 Brf+.X*14+Wm}i+5fQv늾YeδɰWu n)PO:J|Z6Ew#pH8q dfvixFż #^?q\ބHbh^"u FHoRmE3NѤ)ְ&Τ{k`2{t… ni2ii)'V>oanj"c@H*%vP`tٜ윖yU/; 4n$`AҌs|7rIIW1~ɏzuu"jI:QgPa3rTq ^ϓi*Q\f^[/f5f]YGRDwk]B =W8&(N+/ȴ;Ob+ǎ07=]vy"pk~ ˷߇.½&6&hrAe:{8jQVD+f U(q3|չyFGC5V]FTyzhRP"y&&cwHDk`%#C~{;b܇3cjs\'︝inqLC,PkTMet6h|EpZ!o03oUJlḶO!Z,!l{mX`5uPhNOɮ[6Pe4$ 4 ܽ0(uCR'P z#ܹ $aN90BDlߊ#= S$& &rCÚ(/7 ag%8A^T&l|?,7p}<3DTQ5&P!Z_|nqYzMOq7T@پKGVk`(qsS<j{hY~X^1{E|dNC5|BitU A&WMqhI$>gVܬ|>'T* G$`9ZFboFzAiW_IHh߅4o>U3 }s_wc^"cF]i;7ؘ/<,Nu7[W0t F}+h 34瑷p! "IH,oKDɏBdFLF%W5.M Ǒfh& &Cv{{V"wwܙp [m[0gO~AZT2&$VOg/樐B4y1r~L扐vb1.Ϡ8?a@hX(`cci/%T-EPOc ؖrSH3gtcUs^DW'Nv'Q"֋0-// 2MTi&]4TcWwfp%` vc=aME9x!@h>yP{GU@9:_X!Ax74Vw?JHDƈ́DwZ ֤d",ZɐI;c]ZZ*p߃"ͦ(1b{uғeVbdJ .KK"d$EPG(&x/1 TxK0D0ݒ2Iz~@hKB&Kܒ:E* U/9](~-)TA2|^'6ŠxbkvИM%4L'gF#Kr {ɦqtwQ 7Νð9Ǵ8ͼ] 8VLuxkc OݾndX9"*$JHƁy2-xՌ]<'mTQw )Gb vۄJ_f~|ϓyc4j`)ƈ᡼JY؇z Q[9QwKC#B,O 4r*i<>vtkt]ֶocu*'w[C&^_cf`Nȣe 10S6WZ(s( V.nDt/b2 W)ؘ]ag@1]4P/œQL\!gh$.{=RJ#倌zP`C{L!.AIɤ;ݍQ^D<-NBInty%PЄxq!3(/{:66w8.ۯl1-bfsvV' coP.U߻n c}wWƀi4,xސ36{0ޅ. ح(3@{85゜n>rII?n[l'a&D4i0I5s%V8'ƒ?Tv;Yn>{"3zcJ8x`;];/b> alxQ \jԡ0'نB(eb&5´0QeXY^#|+AWW„E0e1l?'oubsDY A<]ak:5cc[4^M"!bH_qm| °"NBMѱ:FYIJ5D**eŇCʘi"I8s`f2/އbZO]w?>'FCNsZhul,.ͻυyA/e<>&7YRrH"Vivd?hho80 іTaϑ>ҬbC=iXSr#HAQF|]&am" # R"FEGZz *ISj 3&ML&V籴ԫ,Ѡ?U3#^joM)lO :1&"DHj.\>~\ة c9^E8Ց(Ɠ;áP\)F4xW3\}&a  BsisN}VHzH9Rפd"rAl7n8~=BQ­gb|%Ȱk32<3.[ OR8$ȁ0j9r>ͤPqk2 IYmADHT^6xQf!ER6P EP0 +:,*5y 3{8%ypЇCdI%n$HJX30;7oDϡ EH)t& &x'4 ^ZdzzʭvT ٸ jXX Wa7ѡy,Uz|s98G$Sh,W]7_D9PdQ]g`yStæ U$r׺_1 RY4i0&.ey5U~A{|.O~JdrR pJ B2X3LjKfàOK* pe{GcTL9Qrvw"5V$=QDH֦<ߍ6B]).j|>+o%rv| &zHl. 6sB4i0I _XE T`Baz/$Osb^{/Q->pU-Z;ί!,u׹eH-lRKV3m'Ƥc1Fqu j=Ұ5F[*H1BD;U'uKLƒz0M+ $e3ei*ѤdB3k{~ 4o+em;>w!V!_D]/hbZ/)}I|=|sMQl^QLOmbe}״*)[&R]%DP7Ia\/!>NrI1.ilIIFaFCH#sETKbhm56V(;\,⩳-<ȣV4-Ͱ=)+Ksfgܾ4Aw]4zai&#fPHYAu` ~M먔+]E.N yZKsw(LbEwii!b$DfGP] c;D>T'bP^x,-f--NTRd4/HQEdA:FF _AR`Vd061kryɟ^;+|yzF|_bٳv]AiLk%np@ᩧnv {=kul_z &7ڸv,,yLOMhcP]%G>´P%!uq1ۧ$}eJ.>uwq>1:W$ʕMVdVʴ-CyNGDZ9xԜWWG̜\ ☱k#1T<#g*J󓦵<~uqoQk9cj&uXD8XI0O X64q .j)VSu!?s!يux ?{N-V 7\>6`imݎ0l\eՍ=*736Q,Q.ٱ؝6Z 2-$'4fF @Q Lc-~<֨|hmǵ̕O1 Z?m~AkK9 [cY3M & =`M;c3sZaFj0LׂCX'~?S Y2yL#ZonU.#E7@Tb wx}Le2: j)vbZ( X4#8(UWf.rPJLVzzĻ5̜c_| $fR=< & `z ٶl$K!,@q}ET {%E~!Nx}'~1w67_ҷP89Hܕ`6=3+Cfʆu[!LU隬D>,J% ,17V`; (4-e_mȨ@k EQ5Bu)ij46ui:tmrdBk09C (*[[DGOw{=o>c$t‘J9J/2M~W/^ŋ/غz?3ٹ'V<Z°EX `1E*,w= ^TW{P_?Z-l43u2riڔ4|m̞gB6u鼐 &BBaŋk:]SSSm/&V8(3|V76qزA(rRak!`);~<ʉd.!i80\N!͇~;[}X:~*aųO>fVf@u{;ip;Ͷbs(j9ΊE|HDGtyiRi^%Te"$Si\eggvGu#Y`<R +7 ='p蠳y \U\Kx&V?{@:vPpqmJ'}7wLiy'I<,&"rHX">o}xdz|8~b9fӿ+TR-ȉtszYlՋp翸= AnM x?MfFlV3Lka'+ f^r#`SP2!ej!kh?H3~k<*ns$KƾJ~I-E;Q'>a,-Ev^, &oGȼHC}2R蕮 e05#o2Ƽma.l3p.d^4Uʼn/Ý8[Q>?`$l',{MCzu$X9&$++¦@ `rPSW TI }8x\BuvO;k%QUo\#P"eTɀ.X%gA*E IB 3sSB*:WP$>zZgFhɍ27_:7HG`p¡w" UnG='fT ANҔԥIɭ?V\[BUJAPI2~+Y6-199VIQM4p0' 01kǎ-G4M6!_464*I?r.*bzZ3fꚤ& &o,k!:#T8q/F,H+66AwͣRSI70%;GfI0miи<mHĖuI`I;IBɭAI@iĞdpc_<&Qzko*'Kˎd #yXȿ%b#鼉Tȷ)rKo5̈́s)^fv9+gę=>8׾=qIL=>U*%,//a~a.p!q/jpwz-%uĭh0R{ /e5ZovoZ0gO'9&{I#\ঁ!kZOc=G}w9Z Crs9ɑJ6D`=ílxl 6E)e e*TjeDrce 6Ȅo<8r`wōi$#dq9eEo=qI}oj{k"6|ܿ3|cTb8Re3ND{# [κ0x`~00 -9HɉgE>FFPbů^iu7 &e8 D2T bg>NP:^uJf}}2+w$9l;ǼҶMr^>zś Le?dc7B6~w4R$O/͛vR מ絽 z^⎕2%#h9 |+Q/ZsbfAhAR4 {gV.2 ⬷?E'g12(qMHr_ /f<9*ޘǬk-XwX9`f =_G~!iv8R4<8@t%,8@ᒀC|Nשmm. ͮeƊC=vq{FLۿ%L9٧pùoJ[3XK?F?W祄U/1 DL B 1lѴ =Cǩ2>i\6VX˿BRe< p0mx>l-Ơ떉".o:\w^!ZLw}s(!^ C=+8I<ux&yщ8: HRj߁4:+ rY؍O9!v-Qywc}[49BիXZ^ \+۸Z-4@sx3HF 7I 23J"A0 8@ǚF ^#sh+k z>@a&1|y .q2?( IVO5@)I4BΙI8igv\Se.w y,:5]_mژqzk=̱cC\\ +V}(NcM~/!ȫEwZ-rRP, IW1֘8sغg-Tw:1<XXǩS' _;N)|4| o} >^r}?N:dHȤ8PcCWTJ$oESWPS=LjIKDi(C@%O-c) a0<ȕr9?4HNJh1Wix]Ji\sx*yib,mqju.X́L2h& > /} LLn 4W{ I<{Y15 @H(KöBeE؎p8p$Z!"%aӔ(HJ@'  A ;s_QgVU>ˣx=3z{*+? MC8a`*?ĵo|LVK|>S֎bcc.]>|;4 eΤf/|%_?ɭ:Ocrhe)*7nLYEq  Ky _{Në_ x/'B^31lE|{siut/ dcNd;\n](S -au\j,|A(uX;;AgmDn:ڻ k"-4D6p)ܱs>e XxY6 ]KOj[5Y&>q30X)CΆdg%9ڗ}c|_YX L͗=ֹ9d922+$HVg"5MBB))aqKBg,4]%ĄӵUp: ,$*}nh0shCk{Vqb[[;Whd8g \۶l}},rS[Mvn>q3d^5tsD{O֭UeO =SvkU.\7T &u TÅi{EP}E5ny/Q!?m :]:0Yg ( N{قld}Z/V6-dtHxHUlox1#K|TZz-0+gm=>xQ#r4.,,\(^Z'quScgOjʣ>8q3{\\n8Tכ.,h.X._;"rvmloKfKoKڸz晜WfC=bᡊY;U!cR $0رd%ff"qCw2xK v%ef˨qNJ:T–%/c_DyqWiLNot J >Rs$mRGϏvvctB(nsaS^ox3ҟ~s8a>FjTbVkUg2Sܸ+lPb#oFf 󅂊u$iރPIg|^x+<Pdc?d(vwyk@$h`$2ނiv( fNRfE9@Cq tLܻq -@uOz"Tr#s`Hh4ZV"|#;!s,-lsnYkj:8Ж"%BX>;;nLt/dyN:he/ W߬K50¿:}z"${ ׮8tr\ n'ō+א+03w ӟTvy%}w8$t}eĆZ~o/b5IКeP#Mr G*wh+v:^6Zn P*4?{qKMRjdCi*G b<,h!7!l1),-@-4J%ܼy㮂I~n/ʰBv<_;[F6k ¯~ū- þv.޸| [-~6V[^@RFs}L^Uj2USː+^zU28jCzCi~a t5c4m|*=Or Z6aQ'y?q!b ?10dK1nDpQPz9HQx: WLB,=˞kg\W[ɠL;d>2=J6w LFZ?= ǰ(.9+xçv3' 3i睯p^q_OԽ8}9B҃W~bWRpGג@|fn[#+6&m|D /0Q!`y-ײآuT50NKxPk42wDbުic61g{g_b{wᄈD5|q\BUO<_ϯtqn(Cdjk[=7/ n+畛V+2f{{{s;Dq%|m bV݊ H|Èq''}s,Iοip3 $MKkb?o`=T] }q7TJ{p۝=NqM9xK{mS(WϠzXc߭ HswY⾾J L)C=3 [}g~wDckτX :,*9[0L5wI7 G ճP*g!h]> ,y: ilй6h,&yLߓ`WV;E%h @%U#iz+lFXdy\̐n*SE1N5”04=M-RW:Os"[/}[4o4V5V}:(,:WH>G%qO֖+ұX)E#>,D8NT(P]~c n41I5{/TT,Mnk&^Z1^x R~NϮbї|^Ȱ2`wDr]{\@ykDo4p6Jli}Kpc,=hב C>"Z;@t!06Q`E.q/^ITiƑa{2藨tE'İ(L򘜞]fnG!҉KxH~zrOi)\=[c)?3:`\q忆?kpr$.4FSlN5L֯Ihx8#IP]_l=I [$qSg<ꨕm|In;ǂmh@:nDbp %2ſ :-KYWt0<~t |wq=p\S >K+Lϳt13IW"xÏoC|nApp8^{船{[9KH-o}0{/CuAZf~_WvSs殏wd g[h)O1{x ~?rӰXD0e<9bT O؝8 jVrK}VZA_`R`ҷR+O?iX}u&;>_>=f[x mj䇶Ȫ^ ;P{x+nxmWx2 #徹\0 4E,t9Fl:O\ Rw㯑X}k\ $F}48|}kU Z.OKAԪԩa fP9p{;@b89=9>AknYÎ+@3sδ^]n1.L7P.-W ^Wݱ4ǿmo ;=YGo'z?\fo[m 8yx]B(6wwQZ{]Lc~&gk81;/^LrmGj4R+oR?*νq J.^}")vA7պ7uFe}NܹD3n'})q^S[G ^x1Ii\>W!$`>NO Avz=*VU'h:Mi5q5 !N)Nc }A?ϝ6v;*665M-cz(&|um6[867((!n^C U.VP17W6rXU`҇ bӥ,^9w^~r+"6As2ݾ=- lg49>33r an]#pIitqō7>IQi{Z'2DNty FN Tn9yߺ~4|C^#/+r-qnkxR^ D;-S^|2,޼vYYLKΩnL!};k،<'r F_xE7R.6#KŒ ˽ת 'SeuHMv3 7VUwnvf2Y/9%Cfe Cr\![pT!_Zy\MYV!Iqk@ԁ!HD+ nwd?;)jZ!VP4r0#11g2br D(tqz|]xչƃGuN DpO 86W8{=3LۜO);>ldQ^Fƥ&B}n]x.^^zHBP߿z^?O~SthҷCد`w_go\ɱ}͝w7v@I#tm@Y^\ΖdG :>gvd~*E8٫pKcGkvJ6TvV'pnkp~>imbaA\bHiEEU"ʠ[oeX Vr g~u 0)J $BZ#uT/x.b,I*B1)ba<r:mWul_"E{& `6![R`"\^}iMA%omZ8|RQ8ﭫMT9aeZy&@${9DPKRimZ! #pisZџ=㪔zi_??ӧO;d$e"gL{R~R&*LG=>=]hҿ]C$)q3L>vhˈH M^U*Uy^>~~B("VQT7Fx;38̰ѥ΅O'u|Dm_Th^_nF4pxbő v,R`7ʎKVi32|BnfXĿ ?=#%|.H1bVeQ(gg]pCbD84w;ΧBǠ Rdc1/:XHj7~OI;Cg̍A9n9qzij>[bo?YC`¾wT!N iFm@+^-w'8m8 5%L"+e^ p񧴎$^CafY6?* CaƢ^M̒UQlKv]-ڦf2f[E"Jн6B8Ʒ|N Hx`KLW]>TiUV`q(G5 ݾݻHH)k?4;mKK6j/+mCDd"6䊊ܮᐛTP}~H 1sl4~&E\U+R>L%$J[b@ ;(<ꛯ`_BqAX rjKmۿ7O U6p:?gO*]+‹/OujʲȂ{x"~__/ z+.]QB\O 6aj^jkFJz)]lѕ,Ev~xW'~'ȗ>xtn]u5[\΃~&W Xͥe xTyS Pc˨75f'$4Q(2q {yDp ^xE|"Z6q;wu ]<ɟE?lo|r-T?\v.~/g>;7Í7U믽◰p~~WյuUIXlLf Nb24lj5;8FLWVΎ+ LQL/(&LIP6 '&{[`'Pg %eSdT(j.X>E? L$ (A{;)G&>#Q1b<N} pd@O{ SR#6<QvGQ#ۑZ}ZXdXѿ#B-,kd$#Z>Gimq4lZbb!J_{DUđpVok8[ǀ,|e>zL%OZ}]2nIѽ*TWP&n -+x+7r@|鄝05YfˊwO"T{.#®/0(t4%[Im+}ױw2qQQ A_tQVךO `PRI{z<51)KE8 z>r,݅nEw?9R<(IDz''E^Бj^V8;#1YԆ+إed8~=,8L\Lh-7Г}&'R_K٨ˊܜtXBӊjl rG\t5e&%-_KZ EW$S X nfds*lut(i'%<*F_Yg }p &젓6>My)O'D.E(|T&9DĦ~ǻo,=rڀwe] "GAP*0^oz '^UztQa2nJp8I:qx8oi<&Ӹ_`rt1jؖ562KP8 =4l1ށ>zGȢUhb2Y;|.4 *> lJi`oVfxe7<ѴqA(jo#'&qK)CJvngXf7"CtucRDk~7n`\M6!D3vY R=GKhE,< a7o,~I;9. X-ٗPD'j9%2͊Ᏺzs`ݿ#,k_ RD:n.kzX @&nmdcqShVGc`j1nC Yog8\~-y΢G/\-S|{R 3;N-45lheY};Χ[`dvLGdwsLl&Dht1Fi5,^Jba"ߌ̐@`I:p5 tCCbV:7 oAz6^qAv{ȗj_FƠ+Pcf0} r?/0ޱOçIIc+`bOu}A#lQV۲3`[VTXЕ2r X27ג+GP' -]~pM59󭑒5B76zlFKz㤇}]H6IPޢsv8JB.TI#5AB|o$-sei<6Z^Fw1=Ck=d5ꗦ轣s9e9,hu20Zɥ"3n^lC}m:fsm/6-%Nc.-d>p sai|n@αݱT䫊-k& ?[]lLk:B]ޱ OO8;3{ VK؅O1 qR}/.&_WUtRRTyI~niPLqn`#x,I<gRw)g`gWp^_ϑe[z-`y,85o9\`IL}iy˲`%쑀dl׎1〄"Y$,StrA,.&KtsXۗs^[,xRϡcռJ,B-3e+`g*yl'?Rx:vM Ӭʣ뱵ACNk@ڟGƏwA95^kMczh=5CّmSV#e%[R3iY g#Mj- a ĹbuGXh.@c]{m/MDž#{l.ͮ4K5P7c9TհD4 GiA&,Dlߖibl^N;ϯ1qr2zJ HFx=<Ǯ-Ӊ%7jLf$T%.'Nt~&Œ ֭ݹ{}~X:.;s*g0SCvp>CVG.+<"H+3 (\pg!c it9/G'sv#ݗ&֜tM[VvO51cPWà*G J >.x}\ cXm%d6l _mS(3qeYuo S@Gc@CK\[iVWT^5N>I1 䙯gҵ'897;lZ${T9="$_%Xݦ\,oG{7L}^w OnKIz$ {xt&6{`#au9Jӓ0Y/_A_[[ ޴q¶f@Eh2`}rϽaoA̢sX#` a"._Pk3:IG(g8\5 >)-%DpsIh-<GDfw@sǛ \!D/r@}^[$j[Xy=Ta7Y2p, .~T@MvmBktT瑭1X-=: rʢYa}vg@Nү*uQIAX` f]X! *3ΓSC*CI7)2h\bzCdH78+ .*sͲWEZU\;_~v:MT Ɨ_{/SU6 L#-XٵuEɮJJYmEu d zdݴU 6L CR.[^ogLdH(nv+pvJᩌL6=Ub 3yf[#&EP.,~dMį= }Wzd77%\7;E[ s=Q3쉢'XIQp\@9"P/mS8AZ4!i υqxx6K޿K뾰Lw o]ם8]lO!5TI/hj8\hYV檴~p52*8zHJQO Z^Guzǎ-zK}`¤}z !X >![ 'R$ww" Bo LϠ (kXicJ1wYDuB]*#uC$}НL7Q㈔A@s$MWB6_T.UkS $jݓirXtb_ wNQ|cNsM1FʍȘ8Om庁\XQppWH!&ޤH1OP3ZQ2.F VB@hHՠxgq7 3%t:mZσwP=ӏ]8<'zw`7(ߴw#5%ORPt?2c(;Rq <0(bC?*)qsKCI]9OZӜCi0ctֲz>;;(S̑)?v|hȃAt_: '%SȨ}o龚lI`8#{v!/g"F>3_L&`T+\nKSR yu .d^+Vs+9N=®>WU(]tz:B7w|BF'CĮ[h H๺dg1bP!.LN=jv L*02Y 3"̹npg,Vs1 ݄"ah)ÅOJKDZ,'Nrc9r61,*LNєDgRR&a2F "s^WvOb,_;mlW4)1[a|/lnٍ{\̥ޣDgG04f|L Z,(J[q!re4v7`eϿCxtDHBh ׮`ZWivOÅoai~ ,S贶p9c=$ɓcVЗk/@%͗,L턖\Kl2䲙1+݆^rO"xI4RQ^wGf U"2fV(3[&?PWpl[Xauh?ddqEHR\N -txdL^`BJLJSl"`_\5v tD.hE}bLGk]kHr/ B}4`6p}:8rg00wp5^THxcQ UN+.S#!QWzc.fa6^}]TcbgȖ!]?op6Rntb^d7- վANJl=ҟ;"`"U/cEQ̌pƟ1Db 8^wǫX%d!EX1iwpp8{5PdqW7{߭*FV^/:\/q \}C _?]xh-ed} J~_ d5 *u։P,_lth>UZSot %+A2Y q뎱#Ep;CndNx5|3ʙ~&|{ 6 9 `T^6|V\^kx䁂Z'``Y~,^kwzT*.9œxt,\yZfi}EnwQU՚k6FNNK1 L"}]?l` ECNb F/]fоgU`bKJ=I 5&b0&Ʊt粜D LPd2Ja` KlgBב> Rf O}C޷{L$8z/xӆ.f3Jk[Ssz`}SфM"~v_pdTL&+Y7 9"}#&k/\l>3Eӹ8`]\Vo/h/c;w~*6wMTj5d[mog-{Jb (c~VD$F[[[J)ꩶڴً輵 c؄INe? 趟2h5KaNp0ash j{` 5sG@wmx:DPh{ZzN$~'kDǂOhX;u/u ./8g*^7vϑ E֧lOƬ?OQ*N ;찖ʷ1^5R-ngJo')}A z~z_8ĚZ!_-?/f?qX?W#@❳?{X9d+Щ^8}%opƛts|Ǐ`k;zَa.7wȾ>tʀ "!R"DrB_XHB(+`?czwwr/u"j6v:ݦdIV>I}ͮ.DaxvD6K!S5l// |p~ҹ4QiOOA~Ĕܩ|Zeޯ*&Ga|#uT]: YS/hsBzdxbCCS}qi:wmZ ]i$<`i}WDZgqm}?xM,VbIJ'>K8 r,?ˆ+Og۷ZaQ}c;܉V8>㼌hG8_m?;įO*TJlYo9ˮ Xg9׌FѠn܄/1Tt]K{=SE}z3p !]fr"]_ud}+4yRpj~w|!,Rm J3KG8\1iBw5 3∆q6{~S4$)h--eduRҐ0gQ5v[*dIO ~U$&!X'W)BDžD␾Pe_BH{އ pӪaKů7ckpԺ}'}gZ(e:'nw0Y;wr@eJJmYo%C5 3T3$Ŝ-}{LΉAqRx|nC[ք39nO:$6R~/%&}϶Ujɮjt,3  ,~0d3&T%Fk{O;afO MUwT7ͻ1wك (NĂYFCi.FBs\1"2fE-E1L'0t 28#*໔U&T^^d/n6,Mq(/p>3m*"  ͎ģ'xd&>VvhIe* 4}t\ Ӓp'븾 S89[Ĺ>.tZ;jxZ)|IVv_e-sXkqb nΝtW7zt.p=X_kb20I@P Gcju^Z6c͕'{xQQ|B;tegmɢG*`K< yvf09Ү%q܎P%c Q C {?h/ەQ6v.4mV0 * KzbĄ ` jI=sA&Vg*$i H{;nby81.r< #I47c4I63 K Igfc*/=7=иvеy -* òs,zv* Oꓕk?ڙ[++(;bUYv2]}V|+ L)lEK[ ;Y®-%k:@鯅H Sl*5D GST^jRY&Lo\R7rs}>VBGmp4#kb6@hF-XJ@<9ar;H-8PZ8Zs IHH{vC/<$qd&N O'MnZ% )֓+vm Ӟ"g8X vq١psb8%/纆kGXAxxIe[bH.&hZ~z@X}SUO*ﭭ_& ԔoߺBft^}@!UN&0 ըDX&|xHs;IptP==c~Z <)LqU&\|4V /A.0BFAbs]a!7-. beF/ XGnPt!a9Q@@Vڥak4`s8B:VAÿ/c,K"Zs":zhdUB2ǒq}>2>cdsYv!j:ժ |PP|bL@^-Ԫ0{ Kt$+>YXj['n%{#Τxa1MȂgݯ{>qߗ0 * 4%%73CmfLRy w$q8+xC՝? uA-Dq )*sLU2e+fCqp2 )IHL\qyš}_RceX:O*3Fl<-y?~Lz}*4qg^q0`|#Qwb*boglfGi5ʤٟ_MOfgs\"c1n-һmh4J-k1I2T p 4Qq`68|&\BXZe87NǦh?/OèSxXchnKbZ7;Mec"75{Kǜiv'Ⱦ{VVV !}=,Qҟ<&yq֖Pމ(o+;Z<[jz=-<$R:S|`gIΈ32A EI ,.DQL9^sCq ̘+U;\:^Æ ;n(R 74ȨշO3[0GԔ$w "..XFGo#c /M=drf =WH0fZbQ&S)~f*0l2=/{?+B$f+n.HEe!%Ӆ eb1QI 9EYIUVCRzUYcK9Êtj` R~\Wc A9&R(- KuNPK(3qBK`n1Iii{.1F0J'3R~ffv&>A{eԚ2$0#FL64y@3cIV6~ٌjKMTS,6n^G&_zsUՙ2K@sOShg2sB_Y"r_։Y^Tc8q 3jIۤ9Ю&jߏ8.hn$ }5ĕR)!;d{&-6Ыoz@Ӹpwvvhsh7vd/ -ԫ%N:ZmHSDxKZ{4 p uԗ>ho^`{TJ?T н$ճ\ǟ hr;Ky2F_Z=Ǘ,zoAK0&F߰}gB^?i2k>ᘱ̝stMj%id䘉?kgGc&FcخX 霷c;#T^]?+X&,(8n¯ji>s}B]J Z/PȢE<BQʔ.{u;ƙ|Kݻ'wąy07ca,r tsC Jh[&pNjkeHwCse-U&CꚈ^FG/Ꮦai$.խ461,dRUKR˻?jxRzhfl5d8|k§A)߽=5ҿRLx/]OkY{E|WcW AX#x8sj)^!n@pOI $ αҋ'ntk03sjZYmy zYV)F@lYq}.zwG*\?-5xst [3ijk{ јbпDQӢ;.y=hx0]`S 6l5;gG1gpߨ'? z)Xat'ř~ߥzϮHG=&Yh;!$=jϵLe"!Š>;^R?a"E)8tZn \VxiLf"b@۽) e9.0eר"aT&[ng lZ| ,m HwI‰%~/WE/# u,\BhC`=;㲐n{q ~E{) Nkaׅj١:#@Ig ԉA\haLKX18CnzƴFberDE$K g_s94/ovt4YtCo l0#m:a4W#"_"lSg=,9_qM`dHQ$ETlIweْ>wdNwI'['ˤ? gY)Y#h$H" ؼ3;y^~]WUM؝ouWG?)Qy%S=]jڇ_ 0L9bFHR.D~!oαܵ(@5CeVQ\_TWv𩧖DdR<`xvz$& ȳ~:|j)p߇A!Jk}TY\L"0[%R?)}xPpb,φG,:D Zx[ć WQ-Ep;6RNn;U(IM"Fv8]J4&0.'eںBn)>x<+@;yUXkZJXwȚ"5T,je^HNc~Q҇ 'G@ăM9)ؿCX`P?vAh-1k0Rȴa0-brO>/^i5_cyruq,5Ie 6 yI85, y*Q tI@m)R8$\$2~L2a@nIBÇ|ǘ:՚rx pmE|ky2!RUtqa4"*3V(D#b VlsD<ybA6iGC*j8I&N V&DWN1s%C=zaky=:a_NN ĚE"q<`8@7̺a@y<cZ)1>Ks<ݰ1k+ U+{('4C\&:tII1/w1H  $*Ȉ񺫔 bl-9"8%Dr⭜nj;SGBL<*'rB :3O5,,H/ zޑ8GP*FF$ /1>!W z}$lRɧ)kl.+Eo`'ZpzSIшMfQuw{{NP6)^ֲl"6f.S&Ih:}GgWe{3Fq*p*Jr>m$`mH25#禘0V P,;2FcBmuۇUfOLMn\j^G) egEXg#l: ,.-#z)+vm\Ša秘>9]/΍qRxBKb;FFGaWYS /˳Fm5c`dI'KC1ۖq5qg/]AZcV'gQN(gd;_pC7,`|EfOucʄ0/ 3TL~r󯻐I\YD.48Jsyt07jL,"1auqikLO2f5MnV<LR**b}:S8z91UFL2!ϕҵkKǎU:`ZS76֑͌ż|$N}4.1ezvy0z&tFru LMafnWluon?xuu. %CI=}k$$ך\{B?CQgKYkAsz,oB:z@ð -cC]ўF/w`O_gw0Vy?pxTbQOX: `V=#̪ϹyfsɼK7tQ_do5/"=皔_@^.m&VBmxpLvFF*SB6qi'.0{Th3G\{F"Jdl*ڮ>7&ST nq-í)];ڹ#z&-szI&\ =U,{hpuq z<6 &t~'~U20wP`0-%7?p ~c/?nC_,4Fajy}PI&5e75#U[a򽛁 INAU 4L7;>~jڀsEvЃ5^H|Y`XRG=8oIІ^Bx "9,9|>\3!0w(zfqh4*طJ 5nk }YVnՖvG*(^(x/GW2.^]€cs3xp\h;b'R 8ֽX|_o~7m!6۟gX?|Hb_¼#Em~ax+6~վHDm<7iG5Є_tÊ(RMOVX,47mJω n/TK{u;'w}oxUlؽ1cBϟl>X4bG'ILF.v2LYXJkY\Y}rEj`n4F+E )jZNqtOjzw/a30=Gf`qt{L0W{`* ;ơW-1v \bJL"P f [Ow ,jc v`" iDN' ;̀~d 4Jt܄^כ9s1uk0Hggn(W"3ŰvY$2 vr/6 AXkK0%FF"̭3 XuLhw-0cqR GtXecj@llp3w<Չ.-tqq Nq />VxNLNٛʄlaMWfpڭ2p k00uOcPk ~5.Ju4Mˀ3/Lۙf{34i3Ut$c'.n`Jpif9kk1\l>Vi9p3u-n01X- a٪IEվ簓Jv>_ci<,TZX^\p,&ggQv $8Ad qE0I?2ޗWMBa `tt'uR=H? L>L74Ǡ}i pS ^+!aCW+,a2YDJ!…f%3ewg `s火 m º)%-gnW_{\6ߓb;[fs\ Z]>sq  wv$q0 J%$ }Ҝ)<6l f257f"xBHW|y'3 "ܔɀ{*.ёيM`gQ˥,zXW)2v\](<43@ܬ Q yzmÞylvxm' ݮP(2I$j}65y(,8H 5CY<<6RPTss:K?5M%~LSX*wyjpY3yA,朠Z @I^9X@O¯!8 ck$9\JVr5Q3Nݹ *LeDZo&{t"ؕJRv$HWG=ZpXkz{ _ḞXgz3pQϦ&mB\;Q ބnq-iQYS3 %D<OZ,##u` Q'E$uWW_$1I6JW /#DW4~6{Q}1}s~vs6߷: 0ۇkE赣3KWI{)չw*~#6? K:ւv3/<#:6ZS<K WYV2RJ^Nk͖E9P.@ "6~5J'It=Eu| Ge'bڤ dAe/Z$Ezz.2f/6 lָ٭H}Up! I@s &Fǔ*[|]6ZLIH0|T`Y]7γ=o_/4 )FqyB1`:Ӹ޿&7GveMwgbr;p)F r +W^Ki|A@c2y>X{=LsK>Ἵ(;9&s9É8/qyT٭xQ?hBvX;x 6vn6Er#\V0Kq"qoCYGo)KRQr'i&æ kjK5QO?w/{!IHGQ"pK^A Dkb&Q&Ps(4 x℠ -J )T(3p/GPA7syer RNzݾu%Y.HW #R!ڬC`QK=[9rWMZag*%VT(Ă^e,5#@h3:FE2+Tџ˷m- |\.:!8\puKl^/ebp|I7mz3r%4bwL~>8b認 Xqs^\rtt߾ST`drٹOsHvUuo T,SIB^+IkS8pWxxt|q W;C!gvv|x_ B&ĝW4X Urj;.倲t8]kgg aMEA"<*]]|B;5e¼ 1OH"KZww)jOJa"9C0mexߣ,~ }L5”2&c7#j & [ode0wlhΊc>;g h , N,cz/? /.qt$@vz,3υæX4mrSƮWJ9E\.R&F6_䀬|A &Ndy-YțWiؤJk*@G9$0@ !['X7nlf;¦E6p.Q,E"X9ΞhJEPDV`XLjE{Mɨa,|9Yۇ>"՝E|2Lm*cH@G2V/f)նDp,&!pQ{)NT[^8_}y:}<_z8SfFRN#u,.7ad *Q|;]$uIl,mnn(=Υ$9TiEh_MKp %U#2e\-.BEҸRO~GcNx"$zIZGVF :ji!_,(741Xi[P<\ŜStu &0 ɆYcu* ՈlϨ$+jO|&׊.jI!0/jjL D^Zu'M갦{'׆hSt>?jrk~Xtl Z݉(1]eEd'>)|6|% .M|SK 3]4XBe}v*kMtZ}a7ZD( { Vu_oEKE67E|&F 輂[#ĎDA{h+Hqæ>/XG@+K҈To&w](mSxΫW4 ({DJ0\gRN0}ؙ\hU;Y]Ķ6],U!*xdm6Z ;XvenI=L+Hɞ9SD *HZ-_Q]$liIڴ;r=E;q}˲2" 卅IWhm'nA3"ɷǹa6 O)KL1|U4VMo߼\{Ll!<!6Y9%$amPE6ݱ,E8'{_A*/}wdA"%FSJ\pg\^&f̑;Q _ڛRn x_iAfznRĤe`U.n4l2oɅ8I?~yQ ax@-m=fӝܒ2ȱաP*E74bCK%|]4&tME[HVnibPC> |W2,iª o8#9*Y8S2C #H@KiEd|AK(%O.6Z+G*ى-י8d9 A`xT8ep>o4Gge-u]\&r_k Mx/Gc:rpϋ&Sqkd¤ F!"^2o),j9XI^'+1` 8a[>Sji׀5;?N,BlK,ӃEDvxZmvsjGkXAUFO3+E#CPhe!IܕR(Rհ$ *䃹ߧhLㅗab28k+WapN.GB\Kk(0^^n^@ vvB*e|dZ,np`l۸)r+ԙp#6'9T\绸ű2 YV{'Ge//tPdq KmOBK#|aD꼈@#$إ+k 6iqTZM{Q7Ll>* \k(Wm4l+d8p=J o|Mnl4[ npȊ}+Cێyɾ"jy U%':Kpuz Q;0"FE^tU' <x3Ez?܌ʷq`?vb~rI, G?i2UgaI)T7^_$/(FA /RQ*.#0B)#5Ij Cj(qg}tjZ N_cUDۣ[ +9]Zϩ#+H>j9 1(=숴NŦPk}0LIX}E|RHF %?t(DwehNőp1+m,-G\w΁im Q}$UfY>~b{[;F" ;D$3+깑PXn=H8G7VjU% 02coz7m~w³,z'&*xL$kB%R(7LJ2ȡ?-π ]/'0[ c}+7r%}Kʤ,6Y؝"%6O\ͪDeFR.4Ct߉RJ-[3qi{8{(p5904}ηu155C.0U.as@ \}n@>r(!Qȱ߸rvȰI˖F~|!^-7X_<\[p>;er&y`Y"/JgX^,wI: dU˘3Y. 8Ei6#q 3 ޠFՙlvg^0"Bx i XXXt!5~JIihu\84G015(7Ƒ:r~Z)6@ _lqλp(hrb)֗ $ #KD:HA3cX[gJ)i cMUxa[u~\,wcwc| gN<:r)n-Mb0¡D@v#CMreE %4C +7m*bTJ5o4`_7M7W>cF dh!tQ<{۹N5:DLJq ,8hσb{f߬}ڝR3@2ú~ˮtSⳙ `^8Xc5q%įX; 2R >[WHevV;4L5y[!rp.EOgP>~Zkڅa.Ӿh^xI\xZMV2K{Wqs_gs6*\[_Fh "rLqp6Esx-/P˜HXM:I_h᧎!pLF+ }b\6>4G0x؊0Oxu%䪕LtKY#cA}ַ jNľgٶ ΋aPpZ@gϲ%"uX#(Ld8FT9jd翄K5":KPv0jf:42qpXWmW KN%ON"NI&72:\6cx @󌶲vrWUEM Fƥyg⋂.7rFl\Fx^Z`שּA 6|)Rɖ♉ $MzΤ{ I72C "-BQd\ *|=Ӕlشَ`7g ,\`)Y [ Ì˫=LMX]4kql/\nݥh>oJ rDQgJbu+=<{c-ޗ3LPQTRyUlR`'޽-_P4Q-2NQuqW.LkI϶d!EP R+jmjݴam-PAUGW٤R;.Y2YN ,z̜n2Auc,S=ۡzNyUdӼW־sU}}>*,* y͎F͵UcuI>3 6ZJ^_bՀ* 43BvW4"(˼T^x Ŝ~ L20Ռ8S=+_8Ȣü xȔ7]ȊuU~`bPbDٕ 䫧(rqQsxnKx4\O|*CEƴEK,)Z\`@4}RQ;r˴sOر;qof|ZچImuu5i%'CڊcxpIguyP|l[qnJk)ɑפLRfpN%}%i8%R?}m~yn'KŽo1t xxj̬i DZ,=9dq̅ʳxKu\\`I:8)rO)B\)l+1˦4:^j+K'x)[!j9X ]Fer0 7!qڶ+K]>7”\tx6(2I&%3ؔdz*v1ybZB,hq_,H$CC^s^ 3[M%cCϾowG Oq&d_1q<;s=W욋2PDNxB qiCMQ䙚I^ VxPİҖ͘x_r4$$e:/+V8_ U"a(Wœ=*5cd[L"egҢϽTb# 1KҨEv&ivKʄc9G|BaFf ߇w~pW%e+ġ뎏[u^{Hkeϳr1m =GFH='Ɋhn~ ;в'7 (/ xMNlI4ؠ=r@ݔo7Vb.$EYH$}yזdLۦ1T*q(JB>MuGtcu" n;1Q)gJLFF8r(^nhyι\#-/FGpwan>\_^WΥlڤX bõ(2`n;a5`h5sݧLaа"8{8,6}}W݁8UhGxÿ˧SD$P5PaJj?Ag񻋟&kCpN`Ln?f~7X!o/k8m?l$NnQ۩H I[>oXG}Zo]Tsh!ySGaUya+"^盢XPTT$.N]l쇖Иߣ+'*I׉OrDX9J;XtݾQꎵ>}#rvRҌG_LRhݞ) ŬI%t6h)6DK>V+4ѵ:ς($\Xu&hO8/qˬ XhwvU4 xeLO#ur*rݎ)08}ZBzxt+^w|~D(>8G^O}sC bF&"'D`YsG %Yt7,i00.`2\ &*^!H)Q8Bι=qT !ȁENo~mzRU -]M$˼@;M|y|xf_yy>0rRus~$U|"6w?;v{fL@p.AaH4&2ʤ^T!Mh\&'1$!.gmÜ(n(^Zc'V0~Wzs|B&+gq S&Ex%>h˾)Cee€iQ*e sxn{u&榫wרXȦF,x|hRd!x#Nt o}-Vpm^t5! U-1^oxyPGox\ 'ZoT-D^cu1T T">/\kc4ƃĝ_kӀ<>^/ jSdC<l9ȳ{3x'(m/m#oI n%',%9ȶsk:q6_MGeS,.N>ӏזZxOJK<:9r8V*"ʕ(K(OV+<hDff#"lXC` U0M,늹$y`D@ {fJ؂&#*R&EvOPuCu D~wb[Cx,}]C/Q4zEԡpǑ]\ЗC+JB'P"gjܘ8ǴM2g!eGvCj7X62%[$=s<_QBϠVi g̙&VM>3ߕ +U2|oձRτYL^b.a$n3AFw<Lu8)ѷRi}kx}o{#x^wCTSg'q܅Tqh?"]\F.zʛ6cN1Ay7K͞K)Z]]+zlՇuG@1hXL6ׄ$ vתH gE68:>,-J<<LPíXݸO|'mû'6Dåv?|d6}%>pt;*B]|FF'>*\5}ݥIU#@ܨ P.0&(QmV?E\B$%+{EM/ϝ8^e*-< P r%-q5[o )B04ԕU$z:@ck}D95;lbFuZ#G9ح~_ d!PTkWSxNܕ筋fy?ϓ_xa1g<)UYʱGqE:R cF ' ]d/J *c8mI!FV_2EJi鹡BVypz;S)(QV3Kwߑ@DG$pxaTJ"`2dEEh`?#O@"}%@^dԯ |&mp\ƻdGe߷N+?ObBwGd$EQqbRHè*,El$֭dF[ oIoh6[W1P (1 P%i9jqv-LߘtG(_\3SP#==sgD5LX׻f&`B]0O[qKTz;=>Ρv$ c*ɶ5$ך^dS^@]$m׷ɡMS_Wq\&`ZLnfݥi &\VqLTj0[0}x{qFp|^ܑމiH3m7GC7!"nZerCp?S$7?Μ>=ͽLPWҖ6&쾛o(97~ I@-m{!S&=p~g~{gf:Җ*ypSF5ܦ?x+%:'iK[D+ xïūqYWqE|KO/uJ|߃jcy?FO*-Җ6M;ۿ88?'|c }7MgK}Mcfr"iKm#տ!E];I۷iDnwq[:#Ӗ=wbff:r LRe}mr||[IgdҶGۿ-{n6dxJn9eBBn჉votC]H]]*=L[u~d|i妻}s)] sm{aܴ->BFH}22זW>ĩӻaظZ/}ğcm-S8y1Q&Ot?}ZظZ}߮.._:Ǟo}c7ow :Lg`ZAx׻Fy_^/[1ķO;VEW.s 77CSM e2wg&&׽:1=Wb duR:Dmyu OϭMEf[)g Jawlw:K?x//baiOdq}}G**neXlKwӝn ovo ۿͨjN_z';z^sT?d2@(Lqc~_9$bٺ}>p9HZn/^o%>ΜӾ}~}IPT0̈́L })__Vl5c80p'H85l:Ef??G.$m%hL<6{B7K_ݎ+Bp;enɐzTLKnoc>):δ߃'o+miKnn[,>>qn[}~THҖfR&ܟeX)I8`-YHҖ핶0 [0q IDATxkw%wI:ԭ;e*M[U_0П/+c~A@Ep3 OG&ni5_/|j\׻k/Mʍ=|RiZ z"0L&L&&  @`@` 0@` 0LL&L&%@5f-d̑56bƼRy+Q%31|!fS'c\ߊq#a7]o-0fݝ"9|'S`",Ocyy2fQ`vϋO/./K(B`#.O[mP*w pU^CthOX\s\k.OeP>TjtBZYY(7ט=k9K(hT*?(?`>ոy&|FFFӡx7Ϥ˂rzl1uhܜ6|=x奴eA9soDey{OK(Z}5h63+6TV;g}}=yu˂g:5fUmk+\ ewOLf(VD f(|مm#3,. Vp-`^e>37D6tDՊ7Z_[M/]LfrsL5f/Z;Vp{%Ο ZVȯuA`҄ώq+ >[O|Szas:>%;w L&L&&  @`@` 0@` 0LL&L&&  @`@` 0@` 0LL&L&&  @`@` 0@` 0LL&L&iL&&  @`@` 0@` 0 0L&L&&  @`@` 0@` 0 0L&L&&  @`@` 0@` 0 0L&L&&  @`@` 0@` 0LL&L&&  @`@` 0@` 0LL&L&&  @`@` 0@` 0LL&L&&  @`@` 0 0LL&L&   @`@` 0 0LL&L&   @`@` 0 0LL&L&  V08Ǐ7v˖ 0|is2L&L&&  @`@`WTo/"Pje롹lWZV7Kr|$;9?nxZr666R޲ H1J~;;fG0'b>r2"hkyrZ<`{KNts'') @` 0@`=g&SuKs@,-]N )?7s@`]GJͦeύxN#@;U+YYYNx-UTT,#kL SL&& mt>CCCVU(JY?1_y|̯cy}/5f{Wp|>托Gb&`O\cӼG ̫bs,nRcjsXDocݱYDۿ#ki4-a.晘Ĝ>~P=if*N[G*_ޯ)"4EtiMV/~e?J/`C1J3KE{=Tر:/0_8|1+)c}z"/iJ ~՛/g| mf~q'='ޕET#7Tw2.f*tv_h˘Uwقbyp @` 0@` 0 0LL&&   4 f%IENDB`PNG  IHDR[f+9tEXtSoftwareAdobe ImageReadyqe<^iTXtXML:com.adobe.xmp ? IDATxuۺFhթ LV*0SA "WةJv*0]A Tp rkGу`ﵸD߿2[[dxE@d*{uk5^wsş/ysg-d dbA_E89nU#V% ؂waKd '0 p0c+d?0 0X\]+=8IO\q﷞ `l1Eֺ]\/b ő +^X+_%[HN`ZZ+_D~2rnwFQ ~$LP +]1..hkDI5< έ%] :K+ZCl@j*Ru׈.b 칬`΄.b ,È%" aKx-" !Me씢{iE1i[g'K Ġ}> ymLmhSa-# &.{t 28aYXKhUlju EhaEn^-h~3ClSTGaCor##u5Ec"L* ^?bb2ȏL+Nt9o9SrhnAk.*1!fT6a,7i{g]., ^ 3GlNAD&P{w{%LXm[a{a,pG''R + <mCw7wGr/" nbo%5 +T9 -=~7{y  ۝zhzC̹S'Ka#SV=fvFnф8fvf"^j:LߋS>s#i%8.#o&GsFpgVԒcB4D#lj%clݔT%+3m'#Wgl0ša;v!Ho3ƫ,rhs⭔1Ý4E nIa6.ThZRHgC+ą佇rEh"]\m  Er[6/KĨs?!k5P ~fϏ,C L+ 9 E,nnΖayRJNPL xά6!eX "Tn|9 B˰)'핰mcU(TbkDth|)YJCh K(uخ"TB*X~5;nDȏBʙ,S:[RTxg6%uZ-B-3vgžLqyzx>v)oŤ>_)+iBkCU6#gZF^ }f3}+J&49ۜw2 c}Ve]7&̄N흯=gI%̈́/ p+jQg͒2Y8Z5QAlvk ږoLN;͈tͨta.i[۠Ry0 $ÇFߦ!Nkć8 ۀO#^IZs/lR6|Ϣo3nIdFwbљђ`926߅$W *ڇFSl$Sc1#z$7%5OǪnu|+Pln S_LC8LG2=AcC9t9Yi:ʡZZG,M)9|0~>vT)Rs2BT$O"i}e_]*9Kݍ㴥Bpؾ1|PvGQLjż VH +jyyOZ}+[l~\55kn$ xxMӞ %K\ļs]iaZYGh7 lD_:_\jCh n0x@lHOV w':j%x_P|CKcl2)perC@5xUsc]ᰰ.gϝ/>Y&BJY,L*BLcвggRxp>uzͭ=fNlgQ%!b%n: {[dֹmh=aMJ^r+NmRlMaęyCD>!˲y1ڈАy.3iµHBl%I &tNFŊlLFV%NkF&A'>q&z&q+ACN%B;`N3Zõ5wjT`.)j>?F-;ݦl5/J2+S[W uS"}wjr•[ʊ0"qC1LwΞ*gLXngǽ{&rS\-@aŞg;6@\D\P;.,=a9 p'~]B;^؎^Hʉas:Cl,qvvCm1++XFpZE.PԔ-no0 SYavNr-*hbX7{F*"8jH1؎%_ r&'LL3m+;(t K*(\\q̪K3|Ð3PƉ8 Lz~o1$i<blZNțQu*bSۚYuɖX1lN]Ahpj #|RP`):iiufZޱ*+=QP`MbS]Pvv5B[L%b(]cȤSp"c(]ڔAGK8k ( "%8.}L=wL#z7P¡bL-q6u ࠑ(F%'|`,-bn`"Ni脘FvJc+B&'lM[vy5!vICH'pi_ FwFs_ղհay!ŵęb}/T[Bo#=9{=xc[_ɫܞ&~6MlC"9# ,?&ψwVRyU[ ' v:y%~S^ytOZtܧ:*PxW;udmG^wyHxUCbhb{תsw#_ \Y=.n~o  ML#N$P/J1))*u9Zӑ\)ogeNn]ЌbkVkp~/U=Hl_W|f{ bwfmZ3՚ζnIk8C7/mNI#{^:ܩGmnnG1&NukBےUϤ}oލka/19PVN%UD7EM=S b[ $ө |iZiss: 5b(9 oEALmx=NfRQm Wnw\Yѽ7^SuGK[VM*G nmɥ5à9VLE`T w;Tl+ʒ0'gΈw{/ñOA֔%a<{{6B 8Xv(/Gm`% q{&GHL8 '[Mݺ9TcB!b2Dl-غrqŖ0BzQGU%8gr֔!`!a&\Ԅ WFw؂k(ejiB&!b: W>(HwG.\1qtf٩lj!6j-0E0[{nzZ~^y~?74XUƶxZJnoԸW 7ț]s} k߻tT#=ܯVLJ{Ή>HɺUJy3KD҅>m1[ve3}Fi>P db;1vMT9Glq;K].tT1ruly=[}s}LvUK6/XV egֽP%I_U  ]+ѳ"!>dlY+z3Nk ! b-+} YQv&:7>Bb ҏJmw@ެCd#䇙:]wRWFrnYIP6aX# ^(9m2澟Ц:1mY6%m{Oy9R;{4Vyw[֑KN-:½4=Amzmއf rF+H8,$?F$w[yn󞨶8ve*{ݻXvOh&b]7t% kŽԉfudv3Yl8[Z8艬o"yX>s.x&(;T{4NP%o5ӹ%6Љ MjP%-eWİۚ!fNb su}ElaxX[D纍I:};yx3`wK]Elˠ;%?I3ra~ީ;ɆbI`5M+4ޓEl-:vt}x?gov}bGB ]=,ȴ;/ںJCC:Qu$i\RTpl|U . _R(Ty=IU;T #崥(7N5]vAʵږʝ^cz:;l#kb$jOOl#KgILٰȩEh}qDr;G{|AJVB&b !m\Qdh8s1yNlHГ;h/+hx ,滾?]ב< #}ŶVȣ=3w@d}'2xd#fL+G\5H{I7tǛIR78\1+6Heӧx:ksX8lkrS;|oK4{AL-q{}Bä iaKLM\Qf5D1EƆ Rn^]m(-{n /Fd L50=IkhsPƽ+31mIvJmLJ9&Նty%Į,L[dvm^(Z1;wB.Z,-"u'K0WKlMoxO3[؏V`s3H8:1eDI#Kg AT,l8 1̬r*m/@`]/%|-s+ [a=bCrUL-m k`'L,`HMl S)7l_Z+߄jY\'= SR[eU#^^Ǵ|( }v;&resC1]HAl ܝs.,*G'u?L(cn+w:N^ ꌠ+R[Vvs~Xvo*&=aETJb@mz4Vt؊ۿ`i<"?$Ėp>Xq.xsU~vB:Ɲ&<ͤ&eYxָMt!MT:[o@W}{RgNC}(тrD #Hv8;.̭MQ1\ζ`Fha+FL"m8BLzhQr))Fgة(Xd)L&&nk% ?&|8z#o&HN@4 mb f[hOk#!% ?;qdg)ll1,Ћ7QxpK  m66gEz6 }Xl: El\@h[El\(JhKNpR@h{6:g띙 F`J;l;Ne0B0v8Fgu-aV Gl{zM1l^ ="8m=]WBKh St&#`'fCh۽{E1lp*,aVg"N1iaOWEQ/vJ`v[}GQaW!a*zt(p0Π6<ؐrZ6.=:7kvCQ 0Bn 6i,&bB +٩*uo4H 0͂Z&)18hs`1P[$LhA++ >40Rڔ,l15mkN) _.@lR[" , G! ,b A4XM+_w,b 0~Ϭۭ(iD3[SE lYc~zN or|.Pb ]b[uخ6~b-cb ›QBf[ [="B*vOˢ' B=:+\-b +]#wgq}?[Nzw" -v{~cmqB LzRw X߷@lADqc@֙ʒRN@l[@l[+9>Z4IENDB`{ "name": "Developer", "description": "Installs a lean developer-focused starting point with minimal sample content, intended for teams who want to begin building the site structure themselves.", "default_selected": false, "legacy_script": "initial.php" } [ { "name": "Default", "description": "Default design with just the default template.", "default": true } ] [ { "key": "home", "name": "Home", "menu_text": "Home Page", "owner": 1, "template": "Default", "parent": "-1", "active": true, "show_in_menu": true, "cachable": true, "default_content": true, "searchable": 1, "design": "Default", "content": { "en": "pages/home.html" } } ] [ { "name": "page", "originator": "core", "default": true, "lang_callback": "CmsTemplateResource::page_type_lang_callback", "content_callback": "CmsTemplateResource::reset_page_type_defaults", "help_callback": "CmsTemplateResource::template_help_callback", "content_block": true, "reset_factory": true }, { "name": "generic", "originator": "core", "lang_callback": "CmsTemplateResource::generic_type_lang_callback", "help_callback": "CmsTemplateResource::template_help_callback" } ] [ { "name": "Default", "description": "This is the default minimal template. A simple starting point to build templates from.", "type": "page", "default": true, "owner": 1, "designs": [ "Default" ], "source": "templates/default.tpl" } ]

Congratulations! The installation worked. You now have a fully functional installation of CMS Made Simple and you are almost ready to start building your site.

If you chose to install the default content, you will see numerous pages available to read. You should read them thoroughly as these default pages are devoted to showing you the basics of how to begin working with CMS Made Simple. On these example pages, templates, and stylesheets many of the features of the default installation of CMS Made Simple are described and demonstrated. You can learn much about the power of CMS Made Simple by absorbing this information.

To get to the Administration Console you have to login as the administrator on your site at /admin.

License

CMS Made Simple is released under the GPL license.

{ "name": "Minimal", "description": "Installs a very small starter site with the default design, one main template and a basic home page so you can build from a clean foundation.", "default_selected": false, "manifest_files": { "designs": "manifest/designs.json", "template_types": "manifest/template_types.json", "templates": "manifest/templates.json", "pages": "manifest/pages.json" } } {strip} {process_pagedata} {/strip} {title} - {sitename} {metadata} {cms_stylesheet}

{title}

{content}
this process in order to proceed!

Once you have reverted the admin directory name to its original location, please reload this page.'; $lang['error_backupconfig'] = 'We could not properly backup the config file'; $lang['error_checksum'] = 'Extracted file checksum does not match original'; $lang['error_cmstablesexist'] = 'It appears that there is already a CMS installation on this database. Please enter different database information. If you would like to use a different table prefix you may need to restart the installation process and enable advanced mode.'; $lang['error_createtable'] = 'Problem creating database table... perhaps this is a permissions issue'; $lang['error_dbconnect'] = 'We could not connect to the database. Please double check the credentials you have supplied'; $lang['error_dirnotvalid'] = 'The directory %s does not exist (or is not writeable)'; $lang['error_droptable'] = 'Problem dropping database table... perhaps this is a permissions issue'; $lang['error_filenotwritable'] = 'The file %s could not be overwritten (permissions problem)'; $lang['error_internal'] = 'Sorry, something has gone wrong... (internal error) (%s)'; $lang['error_invalid_directory'] = 'It appears that the directory you have selected to install in is a working directory for the installer itself'; $lang['error_invalidconfig'] = 'Error in the config file, or config file missing'; $lang['error_invaliddbpassword'] = 'Database password contains invalid characters that cannot be safely saved.'; $lang['error_invalidkey'] = 'Invalid member variable or key %s for class %s'; $lang['error_noinstallprofile'] = 'Please choose a valid starter content profile.'; $lang['error_invalidparam'] = 'Invalid parameter or value for parameter: %s'; $lang['error_invalidtimezone'] = 'The timezone specified is invalid'; $lang['error_invalidqueryvar'] = 'The query variable entered contains invalid characters. Please use only alphanumerics and underscore.'; $lang['error_missingconfigvar'] = 'The key "%s" is either missing or invalid in the config.ini file'; $lang['error_noarchive'] = 'Problem finding archive file... please restart'; $lang['error_nlsnotfound'] = 'Problem finding NLS files in archive'; $lang['error_nodatabases'] = 'No compatible database extensions could be found'; $lang['error_nodbhost'] = 'Please enter a valid hostname (or IP address) for the database connection'; $lang['error_nodbname'] = 'Please enter the name of a valid database on the host specified above'; $lang['error_nodbpass'] = 'Please enter a valid password for authenticating to the database'; $lang['error_nodbprefix'] = 'Please enter a valid prefix for database tables'; $lang['error_nodbtype'] = 'Please select a database type'; $lang['error_nodbuser'] = 'Please enter a valid username for authenticating to the database'; $lang['error_nodestdir'] = 'Destination directory not set'; $lang['error_nositename'] = 'Sitename is a required parameter. Please enter a suitable name for your website.'; $lang['error_notimezone'] = 'Please enter a valid timezone for this server'; $lang['error_overwrite'] = 'Permissions problem: cannot overwrite %s'; $lang['error_sendingmail'] = 'Error sending mail'; $lang['error_tzlist'] = 'A problem occurred retrieving the timezone identifiers list'; $lang['errorlevel_estrict'] = 'Checking for E_STRICT'; $lang['errorlevel_edeprecated'] = 'Checking for E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED is enabled in the PHPs error_reporting. Though this will not prevent CMSMS from operating, it may result in warnings being displayed in the output screen, particularly from older, third party modules'; $lang['estrict_enabled'] = 'E_STRICT is enabled in the PHPs error_reporting. Though this will not prevent CMSMS from operating, it may result in warnings being displayed in the HTML output, particularly from older, third party modules'; # F $lang['fail_assets_dir'] = 'An assets directory already exists. This application may write to this directory to rationalize the location of files. Please ensure that you have a backup'; $lang['fail_assets_msg'] = 'An assets directory already exists. This application may write to this directory to rationalize the location of files. Please ensure that you have a backup'; $lang['fail_config_writable'] = 'The HTTP process cannot write to the config.php file. Please try to change the permissions on this file to 777 until the upgrade process is complete'; $lang['fail_curl_extension'] = 'The curl extension was not found. Though not a critical issue, this may cause problems with some third party modules'; $lang['fail_database_support'] = 'No compatible database drivers found'; $lang['fail_file_get_contents'] = 'The file_get_contents function does not exist, or is disabled. CMSMS Cannot continue (even the installer will probably fail)'; $lang['fail_file_uploads'] = 'File upload capabilities are disabled in this environment. Several functions of CMSMS will not function in this environment'; $lang['fail_func_json'] = 'json functionality was not found'; $lang['fail_func_gzopen'] = 'gzopen function was not found'; $lang['fail_func_md5'] = 'md5 functionality was not found'; $lang['fail_func_tempnam'] = 'The tempnam function does not exist. It is a required function for CMSMS functionality'; $lang['fail_func_ziparchive'] = 'ZipArchive functionality was not found. This may limit functionality'; $lang['fail_ini_set'] = 'It appears that we cannot change ini settings. This could cause problems in third party modules (or when enabling debug mode)'; $lang['fail_intl_support'] = 'PHP\'s internationalization extension is not available'; $lang['fail_magic_quotes_runtime'] = 'It appears that magic quotes are enabled in your configuration. Please disable them and retry'; $lang['fail_max_execution_time'] = 'Your max execution time of %s does not meet the minimum value of %s. We recommend you increase it to %s or greater'; $lang['fail_memory_limit'] = 'Your memory limit value is too low. You had %s, however a minimum of %s is required, and %s is recommended'; $lang['fail_multibyte_support'] = 'Multibyte support is not enabled in your configuration'; $lang['fail_output_buffering'] = 'Output buffering is not enabled.'; $lang['fail_open_basedir'] = 'Open basedir restrictions are in effect. CMSMS requires that this be disabled'; $lang['fail_php_version'] = 'The version of PHP available to CMSMS is critically important. The minimum accepted version is %s, though we recommend %s or greater. You have %s'; $lang['fail_post_max_size'] = 'Your post max size of %s does not meet the minimum value of %s. A value of %s or greater is recommended, and ensure that it is larger than the upload_max_filesize'; $lang['fail_pwd_writable2'] = 'The HTTP process must be able to write to the destination directory (and to all files and directories beneath it) in order to install files. We do not have write permission to (at least) %s'; $lang['fail_register_globals'] = 'Please disable register globals in your PHP configuration'; $lang['fail_remote_url'] = 'We encountered problems connecting to a remote URL. This will limit some of the functionality of CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS will not operate properly in an environment where safe mode is enabled. Safe mode is deprecated as a failed mechanism, and will be removed in future versions of PHP'; $lang['fail_session_save_path_exists'] = 'The session save path variable value is invalid or the directory does not exist'; $lang['fail_session_save_path_writable'] = 'The session save path directory is not writeable'; $lang['fail_session_use_cookies'] = 'CMSMS requires that PHP be configured to store the session key in a cookie'; $lang['fail_tmpfile'] = 'The system tmpfile() function is not functioning. This is required to allow us to extract archives. The optional TMPDIR url argument can be provided to the installer to specify a writeable directory. See the README file that should be in included in this directory.'; $lang['fail_tmp_dirs_empty'] = 'The CMSMS Temporary directories (tmp/cache and tmp/templates_c) exist, and are not empty. Please remove or empty them'; $lang['fail_xml_functions'] = 'The XML extension was not found. Please enable this in your PHP environment'; $lang['failed'] = 'failed'; $lang['file_get_contents'] = 'Testing for the file_get_contents function'; $lang['file_installed'] = 'Installed %s'; $lang['file_uploads'] = 'Checking for file upload support'; $lang['finished_custom_freshen_msg'] = 'Your installation has been freshened! The core files have been updated, and a new config file created. Please visit your website to ensure that everything is functioning correctly'; $lang['finished_custom_install_msg'] = 'Done! Please visit your website and login to the Admin panel.'; $lang['finished_custom_upgrade_msg'] = 'Done! Please visit your CMSMS Admin panel, and frontend, to ensure that everything is working properly.
Hint: Now is a good time to create another backup.'; $lang['finished_freshen_msg'] = 'Your installation has been freshened! The core files have been updated, and a new config file created. You can now visit your website or login to the CMSMS Admin panel.'; $lang['finished_install_msg'] = 'We are done! You can now visit your website or login to the CMSMS admin panel.'; $lang['finished_upgrade_msg'] = 'All done! Please visit your website frontend and the Admin panel to verify correct behaviour. You may also need to upgrade some third party modules.
Hint: Remember to create another backup after verifying correct behaviour.'; $lang['freshen'] = 'Freshen (repair) installation'; $lang['func_json'] = 'Checking for json encoding and decoding functionality'; $lang['func_md5'] = 'Checking for md5 functionality'; $lang['func_tempnam'] = 'Check for tempnam function'; $lang['func_gzopen'] = 'Check for gzopen function'; $lang['func_ziparchive'] = 'Check for ziparchive function'; # G $lang['gd_version'] = 'GD Version'; $lang['goback'] = 'Back'; # H # I $lang['info_addlanguages'] = 'Select languages (in addition to English) to install. Note: not all translations are complete.'; $lang['info_adminaccount'] = 'Please provide credentials for the initial administrator account. This account will have access to all of the functionality of the CMSMS Admin console.'; $lang['info_advanced'] = 'Advanced mode enables more options in the installation procedure.'; $lang['info_dbinfo'] = 'CMS Made Simple stores a great deal of data in the database. A database connection is mandatory. Additionally, the user credentials you supply should have ALL PRIVILEGES on the specified database to allow creating, dropping and modifying tables, indexes and views.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED is a flag for PHP"s error reporting that indicates that warnings should be displayed about code that is using deprecated techniques. Although the CMSMS core attempts to ensure that we no longer use deprecated techniques, some modules may not. We recommend that this setting be disabled in the PHP configuration'; $lang['info_errorlevel_estrict'] = 'E_STRICT is a flag for PHP's error reporting which indicates that strict coding standards should be respected. Although the CMSMS core attempts to conform to E_STRICT standards, some modules may not. We recommend that this setting be disabled in the PHP configuration'; $lang['info_installcontent'] = 'By default, this installer will create a series of sample pages, stylesheets and templates in CMSMS. The sample content provides extensive information and tips to aid in building websites with CMSMS and is useful to read. However, if you are already familiar with CMS Made Simple, disabling this option will result in a minimal set of templates, stylesheets and content pages.'; $lang['info_installprofile'] = 'Choose the starter content profile that best matches how you want to begin. The notes below explain what each profile installs.'; $lang['info_optionalmodules'] = 'Choose any optional core modules you want available in the new site. Each description explains what the module is for.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir is enabled in your PHP configuration. We could not properly test session capabilities. However, getting to this point in the installation process probably indicates that sessions are working okay.'; $lang['info_pwd_writable'] = 'This application needs write permission to the current working directory'; $lang['info_queryvar'] = 'The query variable is used internally by CMSMS to identify the page requested. In most circumstances you should not need to adjust this.'; $lang['info_sitename'] = 'The website name is used in default templates as part of the title. Please enter a human readable name for the website'; $lang['info_timezone'] = 'The time zone information is needed for time calculations and time/date displays. Please select the server timezone'; $lang['ini_set'] = 'Testing if we can change INI settings'; $lang['install'] = 'Install'; $lang['install_attachstylesheets'] = 'Attach stylesheets to themes'; $lang['install_backupconfig'] = 'Backing up the config file'; $lang['install_createassets'] = 'Create assets structure'; $lang['install_created_index'] = 'Created index %s ... %s'; $lang['install_create_tables'] = 'Create database tables'; $lang['install_createconfig'] = 'Create new config file'; $lang['install_createcontentpages'] = 'Create default content pages'; $lang['install_created_table'] = 'Created table %s: .... %s'; $lang['install_createtablesindexes'] = 'Creating tables and indexes'; $lang['install_createtmpdirs'] = 'Create temporary directories'; $lang['install_creating_index'] = 'Created index %s'; $lang['install_default_collections'] = 'Install Default collections'; $lang['install_defaultcontent'] = 'Install default content'; $lang['install_detectlanguages'] = 'Detect installed languages'; $lang['install_dropping_tables'] = 'Dropping tables'; $lang['install_dummyindexhtml'] = 'Create dummy index.html files'; $lang['install_extractfiles'] = 'Extract files from archive'; $lang['install_initevents'] = 'Create events'; $lang['install_initsitegroups'] = 'Create initial groups'; $lang['install_initsiteperms'] = 'Set initial permissions'; $lang['install_initsiteprefs'] = 'Set initial site preferences'; $lang['install_initsiteusers'] = 'Create initial user account'; $lang['install_initsiteusertags'] = 'Initial user defined tags'; $lang['install_module'] = 'Install module %s'; $lang['install_modules'] = 'Install available modules'; $lang['install_optionalmodule'] = 'Adding optional module bundle %s'; $lang['install_optionalmodules'] = 'Adding selected optional module bundles'; $lang['install_using_profile'] = 'Using install profile: %s'; $lang['install_passwordsalt'] = 'Set password salt'; $lang['install_requireddata'] = 'Set initial required data'; $lang['install_schema'] = 'Create database schema'; $lang['install_setschemaver'] = 'Set schema version'; $lang['install_setsequence'] = 'Reset sequence tables'; $lang['install_setsitename'] = 'Set site name'; $lang['install_stylesheets'] = 'Create default stylesheets'; $lang['install_templates'] = 'Create default templates'; $lang['install_templatetypes'] = 'Create standard template types'; $lang['install_update_sequences'] = 'Update sequence tables'; $lang['install_updatehierarchy'] = 'Update content hierarchy positions'; $lang['install_updateseq'] = 'Update sequence for %s'; $lang['installer_ver'] = 'Installer Version'; $lang['intl_support'] = 'Check for internationalization capabilities'; # J # K # L $lang['legend'] = 'Legend'; # M $lang['magic_quotes_runtime'] = 'Ensure magic quotes are disabled'; $lang['max_execution_time'] = 'Checking PHP script max execution time'; $lang['meaning'] = 'Meaning'; $lang['memory_limit'] = 'Checking for a sufficient PHP memory limit'; $lang['msg_clearedcache'] = 'Cleared server cache'; $lang['msg_configsaved'] = 'Existing config file saved to %s'; $lang['msg_upgrade_module'] = 'Upgrading module %s'; $lang['msg_upgrademodules'] = 'Upgrading modules'; $lang['msg_yourvalue'] = 'You have: %s'; $lang['multibyte_support'] = 'Check for multibyte support'; # N $lang['next'] = 'Next'; $lang['no'] = 'No'; $lang['none'] = 'None'; # O $lang['open_basedir'] = 'open_basedir restrictions'; $lang['open_basedir_session_save_path'] = 'open_basedir is in enabled. Cannot test session save path.'; $lang['output_buffering'] = 'Ensuring that output buffering is enabled'; # P $lang['pass_config_writable'] = 'The HTTP process has write permission to the config.php file'; $lang['pass_database_support'] = 'At least one compatible database driver found'; $lang['pass_func_json'] = 'json functionality detected'; $lang['pass_func_md5'] = 'md5 functionality was detected'; $lang['pass_func_tempnam'] = 'The tempnam function exists'; $lang['pass_intl_support'] = 'Internationalization capabilities appear to be enabled'; $lang['pass_memory_limit_nolimit'] = 'There is no preset PHP memory limit'; $lang['pass_multibyte_support'] = 'Multibyte support appears to be enabled'; $lang['pass_php_version'] = 'The PHP version currently configured does not meet minimum requirements. At a minimum, PHP %s is required, though we recommend %s or higher'; $lang['pass_pwd_writable'] = 'The HTTP process can write into the destination directory. This is necessary for extracting files'; $lang['password'] = 'Password'; $lang['ph_sitename'] = 'Enter a Site Name'; $lang['php_version'] = 'PHP Version'; $lang['post_max_size'] = 'Checking maximum amount of data that can be posted in one request'; $lang['prompt_addlanguages'] = 'Additional Languages'; $lang['prompt_createtables'] = 'Create Database Tables'; $lang['prompt_dbhost'] = 'Database Hostname'; $lang['prompt_dbinfo'] = 'Database Information'; $lang['prompt_dbname'] = 'Database Name'; $lang['prompt_dbpass'] = 'Password'; $lang['prompt_dbport'] = 'Database Port Number'; $lang['prompt_dbprefix'] = 'Database Table Name Prefix'; $lang['prompt_dbtype'] = 'Database Type'; $lang['prompt_dbuser'] = 'User name'; $lang['prompt_dir'] = 'Installation Directory'; $lang['prompt_installcontent'] = 'Install Sample Content'; $lang['prompt_installprofile'] = 'Starter content profile'; $lang['prompt_optionalmodules'] = 'Optional core modules'; $lang['prompt_queryvar'] = 'Query Variable'; $lang['prompt_sitename'] = 'Web Site Name'; $lang['prompt_timezone'] = 'Server Timezone'; $lang['pwd_writable'] = 'Directory Writeable'; # Q $lang['queue_for_upgrade'] = 'Queued non core module %s for upgrade at the next step.'; # R $lang['readme_uc'] = 'README'; $lang['register_globals'] = 'Ensuring "register globals" is disabled'; $lang['remote_url'] = 'Test if we can make outgoing HTTP connections'; $lang['repeatpw'] = 'Repeat password'; $lang['reset_site_preferences'] = 'Reset some site preferences'; $lang['reset_user_settings'] = 'Reset user preferences'; $lang['retry'] = 'Retry'; # S $lang['safe_mode'] = 'Testing to ensure "safe mode" is disabled'; $lang['saltpasswords'] = 'Salt Passwords'; $lang['select_language'] = 'The first thing we will ask you to do is to select your preferred language from the list below. This will be used to enhance your experience during this installation sequence, but will not affect your CMSMS installation.'; $lang['send_admin_email'] = 'Send Admin login credentials email'; $lang['session_capabilities'] = 'Testing for proper session capabilities (sessions are using cookies and session save path is writeable, etc)'; $lang['session_save_path_exists'] = 'Session_save_path exists'; $lang['session_save_path_writable'] = 'Session_save_path is writeable'; $lang['session_use_cookies'] = 'Ensuring that PHP sessions use cookies'; $lang['sometests_failed'] = 'We have performed numerous tests of your current web environment. Although no critical issues were found, we recommend that the following items be corrected before continuing.'; $lang['step1_advanced'] = 'Advanced Mode'; $lang['step1_destdir'] = 'Select Directory'; $lang['step1_info_destdir'] = 'Warning: This program can install or upgrade multiple installations of CMS Made Simple. It is important that you select the correct directory for installation or upgrading.'; $lang['step1_language'] = 'Select Language'; $lang['step1_title'] = 'Select Language'; $lang['step2_cmsmsfound'] = 'An installation of CMS Made Simple was found. It is possible to upgrade this installation. However, before proceeding, ensure that you have a current, VERIFIED backup of all files and of the database'; $lang['step2_cmsmsfoundnoupgrade'] = 'Although an installation of CMS Made Simple was found, it is not possible to upgrade this version using this application. The version may be too old.'; $lang['step2_confirminstall'] = 'Are you sure you would like to install CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Are you sure you would like to upgrade CMS Made Simple'; $lang['step2_errorsamever'] = 'The selected directory appears to contain a CMSMS installation with the same version that is included in this script. Continuing will freshen the installation.'; $lang['step2_errortoonew'] = 'The selected directory appears to contain a CMSMS installation with a newer version that is included in this script. Unable to proceed'; $lang['step2_info_freshen'] = 'Freshening the installation involves replacing all core files and recreating the configuration. You will be asked basic configuration information, however the database will not be touched.'; $lang['step2_installdate'] = 'Approximate installation date'; $lang['step2_install_dirnotempty2'] = 'This folder already contains some files and/or subfolders. Though it is possible to install CMSMS here, it may inadvertantely corrupt an existing application. Please double check the contents of this folder. For reference purposes some of the files are listed below. Please ensure that this is correct.'; $lang['step2_hdr_upgradeinfo'] = 'Version information'; $lang['step2_info_upgradeinfo'] = 'Below are the available release notes and changelog information for each release. The buttons below will display detailed information as to what has changed in each version of CMS Made Simple. There may be further instructions or warnings in each version that could affect the upgrade process.'; $lang['step2_minupgradever'] = 'The minimum version that this application can upgrade from is: %s. You may need to upgrade your application to a newer version in stages, using another method before completing the upgrade process. Please ensure that you have a complete, verified backup before using any upgrade method.'; $lang['step2_nocmsms'] = 'We did not find an installation of CMS Made Simple in this directory. It looks like this is a new installation'; $lang['step2_nofiles'] = 'As requested, CMSMS Core files will not be processed during this process'; $lang['step2_passed'] = 'Passed'; $lang['step2_pwd'] = 'Your current working directory'; $lang['step2_schemaver'] = 'Database Schema version'; $lang['step2_version'] = 'Your version'; $lang['step3_failed'] = 'This package has performed numerous tests of your PHP environment, and one or more of those tests have failed. You will need to rectify these errors in your configuration before continuing. Once you have rectified the errors, click "Retry" below.'; $lang['step3_passed'] = 'This package has performed numerous tests of your PHP environment, and they have all passed. This is great news! Although this is not an all-encompassing test, you should have no difficulty running the core installation of CMSMS.'; $lang['step9_get_help'] = 'Connect with other CMSMS developers and get help in the following ways'; $lang['step9_get_support'] = 'Support channels'; $lang['step9_join_community'] = 'Join our community'; $lang['step9_love_cmsms'] = 'Love CMS Made Simple'; $lang['step9_removethis'] = 'Warning For security reasons it is important that you remove the installation assistant from your browseable website as soon as you have verified that the operation has succeeded.'; $lang['step9_support_us'] = 'Click here to find out how you can support us'; $lang['symbol'] = 'Symbol'; $lang['social_message'] = 'I have successfully installed CMS Made Simple!'; # T $lang['test_failed'] = 'A required test failed'; $lang['test_passed'] = 'A test passed (passed tests are only displayed in advanced mode)'; $lang['test_warning'] = 'A setting is above the required value, but below the recommended value, or...
A capability that may be required for some optional functionality is unavailable'; $lang['th_status'] = 'Status'; $lang['th_testname'] = 'Test'; $lang['th_value'] = 'Value'; $lang['title_error'] = 'Houston, We have a problem!'; $lang['title_step2'] = 'Step 2 - Detect existing software'; $lang['title_step3'] = 'Step 3 - Tests'; $lang['title_step4'] = 'Step 4 - Basic Configuration Information'; $lang['title_step5'] = 'Step 5 - Admin Account Information'; $lang['title_step6'] = 'Step 6 - Site Settings'; $lang['title_step7'] = 'Step 7 - Install Application Files'; $lang['title_step8'] = 'Step 8 - Database Work'; $lang['title_step9'] = 'Step 9 - Finish'; $lang['title_welcome'] = 'Welcome'; $lang['title_forum'] = 'Support Forum'; $lang['title_docs'] = 'Official Documentation'; $lang['title_api_docs'] = 'Official API Documentation'; $lang['to'] = 'to'; $lang['title_share'] = 'Share your experience with your friends.'; $lang['tmpfile'] = 'Checking for working tmpfile()'; $lang['tmp_dirs_empty'] = 'Ensure that temporary directories are empty or do not exist'; # U $lang['upgrade'] = 'Upgrade'; $lang['upgrade_deleteoldevents'] = 'Deleting old events'; $lang['upgrade_optionalmodule'] = 'Refreshing optional module bundle %s'; $lang['upgrade_optionalmodules'] = 'Refreshing optional module bundles already present in this site'; $lang['upgrading_schema'] = 'Updating database schema'; $lang['upload_max_filesize'] = 'Checking maximum size of uploaded files'; $lang['username'] = 'User name'; # V # W $lang['warn_disable_functions'] = 'Note: one or more PHP core functions are disabled. This can have negative impact on your CMSMS installation, particularly with third party extensions. Please keep an eye on your error log. Your disabled functions are:

%s'; $lang['warn_max_execution_time'] = 'Although your max execution time of %s meets or exceeds the minimum value of %s, we recommend you increase it to %s or greater'; $lang['warn_memory_limit'] = 'Your memory limit value is %s, which is above the minimum of %s. However, %s is recommended'; $lang['warn_open_basedir'] = 'open_basedir is enabled in your php configuration. Although you may continue, CMSMS will not support installs with open_basedir restrictions.'; $lang['warn_post_max_size'] = 'Your post max size value is %s, which is above the minimum of %s, however %s is recommended. Also, please ensure that this value is larger than the upload_max_filesize'; $lang['warn_tests'] = 'Note: passing all of these tests should ensure that CMSMS functions properly for most sites. However, as the site grows and more functionality is added, these minimal values may become insufficient. Additionally, third party modules may have further requirements to function properly'; $lang['warn_upload_max_filesize'] = 'Although your setting of %s is sufficient, we recommend you increase the upload_max_filesize setting in PHP to at least %s'; $lang['welcome_message'] = 'Welcome! This is the CMS Made Simple Automatic Installation Mechanism. This package will allow you to quickly and easily confirm that your web host is compatible with CMSMS and to install or upgrade to the latest version of CMS Made Simple.
We know that you will enjoy it.'; $lang['wizard_step1'] = 'Welcome'; $lang['wizard_step2'] = 'Detect Existing Software'; $lang['wizard_step3'] = 'Compatibility Tests'; $lang['wizard_step4'] = 'Configuration Info'; $lang['wizard_step5'] = 'Admin Account Info'; $lang['wizard_step6'] = 'Site Settings'; $lang['wizard_step7'] = 'Files'; $lang['wizard_step8'] = 'Database work'; $lang['wizard_step9'] = 'Finish'; # X $lang['xml_functions'] = 'Checking for XML functionality'; # Y $lang['yes'] = 'Yes'; # Z ?> 12 12 SQLite format 3@ 00.jH  @ ?  o @''QviewNODES_CURRENTNODES_CURRENTCREATE VIEW NODES_CURRENT AS SELECT * FROM nodes AS n WHERE op_depth = (SELECT MAX(op_depth) FROM nodes AS n2 WHERE n2.wc_id = n.wc_id AND n2.local_relpath = n.local_relpath)e'indexI_NODES_MOVEDNODESCREATE UNIQUE INDEX I_NODES_MOVED ON NODES (wc_id, moved_to, op_depth)))indexI_NODES_PARENTNODESCREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, local_relpath, op_depth)U tableNODESNODESCREATE TABLE NODES ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_relpath TEXT NOT NULL, op_depth INTEGER NOT NULL, parent_relpath TEXT, repos_id INTEGER REFERENCES REPOSITORY (id), repos_path TEXT, revision INTEGER, presence TEXT NOT NULL, moved_here INTEGER, moved_to TEXT, kind TEXT NOT NULL, properties BLOB, depth TEXT, checksum TEXT REFERENCES PRISTINE (checksum), symlink_target TEXT, changed_revision INTEGER, changed_date INTEGER, changed_author TEXT, translated_size INTEGER, last_mod_time INTEGER, dav_cache BLOB, file_external INTEGER, inherited_props BLOB, PRIMARY KEY (wc_id, local_relpath, op_depth) ))=indexsqlite_autoindex_NODES_1NODESbtableWC_LOCKWC_LOCKCREATE TABLE WC_LOCK ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_dir_relpath TEXT NOT NULL, locked_levels INTEGER NOT NULL DEFAULT -1, PRIMARY KEY (wc_id, local_dir_relpath) )-Aindexsqlite_autoindex_WC_LOCK_1WC_LOCK}!!EtableWORK_QUEUEWORK_QUEUECREATE TABLE WORK_QUEUE ( id INTEGER PRIMARY KEY AUTOINCREMENT, work BLOB NOT NULL ) wtableLOCKLOCKCREATE TABLE LOCK ( repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), repos_relpath TEXT NOT NULL, lock_token TEXT NOT NULL, lock_owner TEXT, lock_comment TEXT, lock_date INTEGER, PRIMARY KEY (repos_id, repos_relpath) )';indexsqlite_autoindex_LOCK_1LOCK4+#'indexI_ACTUAL_PARENTACTUAL_NODECREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, local_relpath)< ##?tableACTUAL_NODEACTUAL_NODE CREATE TABLE ACTUAL_NODE ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_relpath TEXT NOT NULL, parent_relpath TEXT, properties BLOB, conflict_old TEXT, conflict_new TEXT, conflict_working TEXT, prop_reject TEXT, changelist TEXT, text_mod TEXT, tree_conflict_data TEXT, conflict_data BLOB, older_checksum TEXT REFERENCES PRISTINE (checksum), left_checksum TEXT REFERENCES PRISTINE (checksum), right_checksum TEXT REFERENCES PRISTINE (checksum), PRIMARY KEY (wc_id, local_relpath) )5 I#indexsqlite_autoindex_ACTUAL_NODE_1ACTUAL_NODEX )yindexI_PRISTINE_MD5PRISTINE CREATE INDEX I_PRISTINE_MD5 ON PRISTINE (md5_checksum)M mtablePRISTINEPRISTINE CREATE TABLE PRISTINE ( checksum TEXT NOT NULL PRIMARY KEY, compression INTEGER, size INTEGER NOT NULL, refcount INTEGER NOT NULL, md5_checksum TEXT NOT NULL )/ Cindexsqlite_autoindex_PRISTINE_1PRISTINE _+indexI_LOCAL_ABSPATHWCROOT CREATE UNIQUE INDEX I_LOCAL_ABSPATH ON WCROOT (local_abspath)xKtableWCROOTWCROOTCREATE TABLE WCROOT ( id INTEGER PRIMARY KEY AUTOINCREMENT, local_abspath TEXT UNIQUE )+?indexsqlite_autoindex_WCROOT_1WCROOTD!]indexI_ROOTREPOSITORYCREATE INDEX I_ROOT ON REPOSITORY (root)D!]indexI_UUIDREPOSITORYCREATE INDEX I_UUID ON REPOSITORY (uuid)P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)!!tableREPOSITORYREPOSITORYCREATE TABLE REPOSITORY ( id INTEGER PRIMARY KEY AUTOINCREMENT, root TEXT UNIQUE NOT NULL, uuid TEXT NOT NULL )3G!indexsqlite_autoindex_REPOSITORY_1REPOSITORY XmUhttp://svn.cmsmadesimple.org/svn/translatecenterffbaec8b-0406-0410-bd6f-d8cd2f59f08d 3m http://svn.cmsmadesimple.org/svn/translatecenter !WORK_QUEUE  WCROOT ! REPOSITORY 'U ffbaec8b-0406-0410-bd6f-d8cd2f59f08d 3m http://svn.cmsmadesimple.org/svn/translatecenter    4D( l P 4] i Y$sha1$9b2b574de894fa79f34e6c3360c3d5883bdaa036$md5 $2171893565d659adfc771c47933936d9] i Y$sha1$452579cb34b89e5ff99f063aa235d91503c761e1F$md5 $9ac71c7065f613774e783af12e0a5d97\ i Y$sha1$917fe7efbbc9b437dedb7c8d8441afaa95cd4878~$md5 $c709e8eaf965708c8ca3f4bb5f6aff10] i Y$sha1$0ed15864535f3e96695d4dc733fa656ff2c43c8aP$md5 $a2e2046bed1a6bc27c8c42860d65e46e\ i Y$sha1$61a52da0736de969cfb0b08a37d125d05adcc5d0jq$md5 $3b6bf70a3ce396587ee86a80f7d3ea85]i Y$sha1$ecc1227d43ac759d7a6dd6ef9e062012972d3384F$md5 $7b3611e2f29004cd7c0ba560ff036584\i Y$sha1$0358b59d9dfb528bb88372ee5a718edbf9ea6e85($md5 $f8a52e773dceda649d3e986b8931e131\i Y$sha1$bb02def8058a0a1760e2742d965bd107f815b556$md5 $9ace92ba25a9e38ca8e6551047e37530]iY$sha1$48b537b95f22edeef9e2a1c1c2511a9e470a159b$md5 $4e638c327bf688c7956f92f60342da2f]i Y$sha1$9d59440f77fb0d01e65647c5afe6d20d351fe468$md5 $3eca85fae5db43ab9e3c870718935a9c\i Y$sha1$460cd0290e2dd2d49df60e9784ffd227f05f1622{$md5 $49330428dce1d872094ab43f6ecbbca3\i Y$sha1$2ad3871308764a429d9c31413a238dac20fb6eefC$md5 $c8597239c374c0ace280f4b1134bd1d7\i Y$sha1$3c489ef91f90807823975bd3d737e0d334453dcf$md5 $3322024c5d5cf7214593754f34e9d1e8 j h6 j5i2i$sha1$9b2b574de894fa79f34e6c3360c3d5883bdaa036 2i$sha1$452579cb34b89e5ff99f063aa235d91503c761e1 2i$sha1$917fe7efbbc9b437dedb7c8d8441afaa95cd4878 2i$sha1$0ed15864535f3e96695d4dc733fa656ff2c43c8a 2i$sha1$61a52da0736de969cfb0b08a37d125d05adcc5d0 2i$sha1$ecc1227d43ac759d7a6dd6ef9e062012972d33842i$sha1$0358b59d9dfb528bb88372ee5a718edbf9ea6e852i$sha1$bb02def8058a0a1760e2742d965bd107f815b5562i$sha1$48b537b95f22edeef9e2a1c1c2511a9e470a159b2i$sha1$9d59440f77fb0d01e65647c5afe6d20d351fe4682i$sha1$460cd0290e2dd2d49df60e9784ffd227f05f16222i$sha1$2ad3871308764a429d9c31413a238dac20fb6eef1i $sha1$3c489ef91f90807823975bd3d737e0d334453dcf ~U* S(*Y$md5 $2171893565d659adfc771c47933936d9 *Y$md5 $9ac71c7065f613774e783af12e0a5d97 *Y$md5 $c709e8eaf965708c8ca3f4bb5f6aff10 *Y$md5 $a2e2046bed1a6bc27c8c42860d65e46e *Y$md5 $3b6bf70a3ce396587ee86a80f7d3ea85 *Y$md5 $7b3611e2f29004cd7c0ba560ff036584*Y$md5 $f8a52e773dceda649d3e986b8931e131*Y$md5 $9ace92ba25a9e38ca8e6551047e37530*Y$md5 $4e638c327bf688c7956f92f60342da2f*Y$md5 $3eca85fae5db43ab9e3c870718935a9c*Y$md5 $49330428dce1d872094ab43f6ecbbca3*Y$md5 $c8597239c374c0ace280f4b1134bd1d7)Y $md5 $3322024c5d5cf7214593754f34e9d1e8      DDDDDDDDDDDL(file-install it_IT.php 1 0 1 1)L(file-install pt_PT.php 1 0 1 1)rL(file-install uk_UA.php 1 0 1 1)ML(file-install nl_NL.php 1 0 1 1)(L(file-install da_DK.php 1 0 1 1)L(file-install de_DE.php 1 0 1 1)L(file-install sv_SE.php 1 0 1 1)L(file-install fr_FR.php 1 0 1 1)L(file-install ru_RU.php 1 0 1 1)oL(file-install nb_NO.php 1 0 1 1)JL(file-install sk_SK.php 1 0 1 1)# L(file-install fr_FR.php 1 0 1 1)      r^I5    _i!dda_DK.phpmodules/cmspharinstall/lang/ext/da_DK.php_normalfile()$sha1$ecc1227d43ac759d7a6dd6ef9e062012972d3384[ouDBtranslatorF #(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/23407/modules/cmspharinstall/lang/ext/da_DK.php)  K!modules/cmspharinstall/lang/ext_normaldir()infinity_ translator()  _i!dit_IT.phpmodules/cmspharinstall/lang/ext/it_IT.php_normalfile()$sha1$452579cb34b89e5ff99f063aa235d9f b  K!modules/cmspharinstall/lang/ext_normaldir()infinity_{translator()   _i!dit_IT.phpmodules/cmspharinstall/lang/ext/it_IT.php_normalfile()$sha1$452579cb34b89e5ff99f063aa235d91503c761e1]$KXtranslatorF #(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/24057/modules/cmspharinstall/lang/ext/it_IT.php)   _i!dpt_PT.phpmodules/cmspharinstall/lang/ext/pt_PT.php_normalfile()$sha1$917fe7efbbc9b437dedb7c8d8441afaa95cd4878Y&Iw0ptranslator~ #(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/22822/modules/cmspharinstall/lang/ext/pt_PT.php)   _i!duk_UA.phpmodules/cmspharinstall/lang/ext/uk_UA.php_normalfile()$sha1$0ed15864535f3e96695d4dc733fa656ff2c43c8a\z|ZtranslatorP #N>(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/23713/modules/cmspharinstall/lang/ext/uk_UA.php)   _i!dnl_NL.phpmodules/cmspharinstall/lang/ext/nl_NL.php_normalfile()$sha1$61a52da0736de969cfb0b08a37d125d05adcc5d0_ translatorjq #(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/24485/modules/cmspharinstall/lang/ext/nl_NL.php)  _i!dde_DE.phpmodules/cmspharinstall/lang/ext/de_DE.php_normalfile()$sha1$0358b59d9dfb528bb88372ee5a718edbf9ea6e85_׽ translator( #<(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/24347/modules/cmspharinstall/lang/ext/de_DE.php)  _i!dsv_SE.phpmodules/cmspharinstall/lang/ext/sv_SE.php_normalfile()$sha1$bb02def8058a0a1760e2742d965bd107f815b556VPUrtranslator #o(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/22096/modules/cmspharinstall/lang/ext/sv_SE.php)  _i!dfr_FR.phpmodules/cmspharinstall/lang/ext/fr_FR.php_normalfile()$sha1$9b2b574de894fa79f34e6c3360c3d5883bdaa036_{translator>TD(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/24515/modules/cmspharinstall/lang/ext/fr_FR.php)  _i!dru_RU.phpmodules/cmspharinstall/lang/ext/ru_RU.php_normalfile()$sha1$9d59440f77fb0d01e65647c5afe6d20d351fe468_4ڋtranslator ##(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/24372/modules/cmspharinstall/lang/ext/ru_RU.php)  _i!dnb_NO.phpmodules/cmspharinstall/lang/ext/nb_NO.php_normalfile()$sha1$460cd0290e2dd2d49df60e9784ffd227f05f1622_%6Đtranslator{ #q(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/24465/modules/cmspharinstall/lang/ext/nb_NO.php)  _i!dsk_SK.phpmodules/cmspharinstall/lang/ext/sk_SK.php_normalfile()$sha1$2ad3871308764a429d9c31413a238dac20fb6eefW+ translatorC #(svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/22485/modules/cmspharinstall/lang/ext/sk_SK.php)  _i!dca_ES.phpmodules/cmspharinstall/lang/ext/ca_ES.php_normalfile()$sha1$3c489ef91f90807823975bd3d737e0d334453dcf^ȫzAtranslator #^ (svn:wc:ra_dav:version-url 77 /svn/translatecenter/!svn/ver/24226/modules/cmspharinstall/lang/ext/ca_ES.php)  33z:jJZ  it_IT.php  pt_PT.php  uk_UA.php  nl_NL.php  da_DK.php  de_DE.php sv_SE.php fr_FR.php ru_RU.php nb_NO.php sk_SK.php ca_ES.php  %%q-`>O  it_IT.php  pt_PT.php  uk_UA.php  nl_NL.php  da_DK.php  de_DE.php sv_SE.php fr_FR.php ru_RU.php nb_NO.php sk_SK.php ca_ES.php                      &H  @ ?  o @j!!viewNODES_BASENODES_BASECREATE VIEW NODES_BASE AS SELECT * FROM nodes WHERE op_depth = 0''QviewNODES_CURRENTNODES_CURRENTCREATE VIEW NODES_CURRENT AS SELECT * FROM nodes AS n WHERE op_depth = (SELECT MAX(op_depth) FROM nodes AS n2 WHERE n2.wc_id = n.wc_id AND n2.local_relpath = n.local_relpath)e'indexI_NODES_MOVEDNODESCREATE UNIQUE INDEX I_NODES_MOVED ON NODES (wc_id, moved_to, op_depth)))indexI_NODES_PARENTNODESCREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, local_relpath, op_depth) tableNODESNODESCREATE TABLE NODES ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_relpath TEXT NOT NULL, op_depth INTEGER NOT NULL, parent_relpath TEXT, repos_id INTEGER REFERENCES REPOSITORY (id), repos_path TEXT, revision INTEGER, presence TEXT NOT NULL, moved_here INTEGER, moved_to TEXT, kind TEXT NOT NULL, properties BLOB, depth TEXT, checksum TEXT REFERENCES PRISTINE (checksum), symlink_target TEXT, changed_revision INTEGER, changed_date INTEGER, changed_author TEXT, translated_size INTEGER, last_mod_time INTEGER, dav_cache BLOB, file_external INTEGER, inherited_props BLOB, PRIMARY KEY (wc_id, local_relpath, op_depth) ))=indexsqlite_autoindex_NODES_1NODEStableWC_LOCKWC_LOCKCREATE TABLE WC_LOCK ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_dir_relpath TEXT NOT NULL, locked_levels INTEGER NOT NULL DEFAULT -1, PRIMARY KEY (wc_id, local_dir_relpath) )-Aindexsqlite_autoindex_WC_LOCK_1WC_LOCK!!EtableWORK_QUEUEWORK_QUEUECREATE TABLE WORK_QUEUE ( id INTEGER PRIMARY KEY AUTOINCREMENT, work BLOB NOT NULL ) wtableLOCKLOCKCREATE TABLE LOCK ( repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), repos_relpath TEXT NOT NULL, lock_token TEXT NOT NULL, lock_owner TEXT, lock_comment TEXT, lock_date INTEGER, PRIMARY KEY (repos_id, repos_relpath) ));indexsqlite_autoindex_LOCK_1LOCK4+#'indexI_ACTUAL_PARENTACTUAL_NODECREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, local_relpath)< ##?tableACTUAL_NODEACTUAL_NODE CREATE TABLE ACTUAL_NODE ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_relpath TEXT NOT NULL, parent_relpath TEXT, properties BLOB, conflict_old TEXT, conflict_new TEXT, conflict_working TEXT, prop_reject TEXT, changelist TEXT, text_mod TEXT, tree_conflict_data TEXT, conflict_data BLOB, older_checksum TEXT REFERENCES PRISTINE (checksum), left_checksum TEXT REFERENCES PRISTINE (checksum), right_checksum TEXT REFERENCES PRISTINE (checksum), PRIMARY KEY (wc_id, local_relpath) )5 I#indexsqlite_autoindex_ACTUAL_NODE_1ACTUAL_NODEX )yindexI_PRISTINE_MD5PRISTINE CREATE INDEX I_PRISTINE_MD5 ON PRISTINE (md5_checksum)M mtablePRISTINEPRISTINE CREATE TABLE PRISTINE ( checksum TEXT NOT NULL PRIMARY KEY, compression INTEGER, size INTEGER NOT NULL, refcount INTEGER NOT NULL, md5_checksum TEXT NOT NULL )/ Cindexsqlite_autoindex_PRISTINE_1PRISTINE _+indexI_LOCAL_ABSPATHWCROOT CREATE UNIQUE INDEX I_LOCAL_ABSPATH ON WCROOT (local_abspath)xKtableWCROOTWCROOTCREATE TABLE WCROOT ( id INTEGER PRIMARY KEY AUTOINCREMENT, local_abspath TEXT UNIQUE )+?indexsqlite_autoindex_WCROOT_1WCROOTD!]indexI_ROOTREPOSITORYCREATE INDEX I_ROOT ON REPOSITORY (root)D!]indexI_UUIDREPOSITORYCREATE INDEX I_UUID ON REPOSITORY (uuid)P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)!!tableREPOSITORYREPOSITORYCREATE TABLE REPOSITORY ( id INTEGER PRIMARY KEY AUTOINCREMENT, root TEXT UNIQUE NOT NULL, uuid TEXT NOT NULL )3G!indexsqlite_autoindex_REPOSITORY_1REPOSITORY eXsD l A . $ eK %%[tablesqlite_stat1sqlite_stat1CREATE TABLE sqlite_stat1(tbl,idx,stat)s3!indexI_EXTERNALS_DEFINEDEXTERNALSCREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, def_local_relpath, local_relpath)V{tableEXTERNALSEXTERNALSCREATE TABLE EXTERNALS ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_relpath TEXT NOT NULL, parent_relpath TEXT NOT NULL, repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), presence TEXT NOT NULL, kind TEXT NOT NULL, def_local_relpath TEXT NOT NULL, def_repos_relpath TEXT NOT NULL, def_operational_revision TEXT, def_revision TEXT, PRIMARY KEY (wc_id, local_relpath) )1Eindexsqlite_autoindex_EXTERNALS_1EXTERNALSLGEtriggernodes_update_checksum_triggernodesCREATE TRIGGER nodes_update_checksum_trigger AFTER UPDATE OF checksum ON nodes WHEN NEW.checksum IS NOT OLD.checksum BEGIN UPDATE pristine SET refcount = refcount + 1 WHERE checksum = NEW.checksum; UPDATE pristine SET refcount = refcount - 1 WHERE checksum = OLD.checksum; ENDW5mtriggernodes_delete_triggernodesCREATE TRIGGER nodes_delete_trigger AFTER DELETE ON nodes WHEN OLD.checksum IS NOT NULL BEGIN UPDATE pristine SET refcount = refcount - 1 WHERE checksum = OLD.checksum; ENDW5mtriggernodes_insert_triggernodesCREATE TRIGGER nodes_insert_trigger AFTER INSERT ON nodes WHEN NEW.checksum IS NOT NULL BEGIN UPDATE pristine SET refcount = refcount + 1 WHERE checksum = NEW.checksum; ENDc!!viewNODES_BASENODES_BASECREATE VIEW NODES_BASE AS SELECT * FROM nodes WHERE op_depth = 0''QviewNODES_CURRENTNODES_CURRENTCREATE VIEW NODES_CURRENT AS SELECT * FROM nodes AS n WHERE op_depth = (SELECT MAX(op_depth) FROM nodes AS n2 WHERE n2.wc_id = n.wc_id AND n2.local_relpath = n.local_relpath)e'indexI_NODES_MOVEDNODESCREATE UNIQUE INDEX I_NODES_MOVED ON NODES (wc_id, moved_to, op_depth)))indexI_NODES_PARENTNODESCREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, local_relpath, op_depth))=indexsqlite_autoindex_NODES_1NODESU tableNODESNODESCREATE TABLE NODES ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_relpath TEXT NOT NULL, op_depth INTEGER NOT NULL, parent_relpath TEXT, repos_id INTEGER REFERENCES REPOSITORY (id), repos_path TEXT, revision INTEGER, presence TEXT NOT NULL, moved_here INTEGER, moved_to TEXT, kind TEXT NOT NULL, properties BLOB, depth TEXT, checksum TEXT REFERENCES PRISTINE (checksum), symlink_target TEXT, changed_revision INTEGER, changed_date INTEGER, changed_author TEXT, translated_size INTEGER, last_mod_time INTEGER, dav_cache BLOB, file_external INTEGER, inherited_props BLOB, PRIMARY KEY (wc_id, local_relpath, op_depth) )-Aindexsqlite_autoindex_WC_LOCK_1WC_LOCKbtableWC_LOCKWC_LOCKCREATE TABLE WC_LOCK ( wc_id INTEGER NOT NULL REFERENCES WCROOT (id), local_dir_relpath TEXT NOT NULL, locked_levels INTEGER NOT NULL DEFAULT -1, PRIMARY KEY (wc_id, local_dir_relpath) )}!!EtableWORK_QUEUEWORK_QUEUECREATE TABLE WORK_QUEUE ( id INTEGER PRIMARY KEY AUTOINCREMENT, work BLOB NOT NULL )';indexsqlite_autoindex_LOCK_1LOCK    _H_+ 3#EXTERNALSI_EXTERNALS_DEFINED100 100 3 12EEXTERNALSsqlite_autoindex_EXTERNALS_1100 100 1.AWC_LOCKsqlite_autoindex_WC_LOCK_1100 100 1(;LOCKsqlite_autoindex_LOCK_1100 100 1,#+)ACTUAL_NODEI_ACTUAL_PARENT8000 8000 10 18#I#ACTUAL_NODEsqlite_autoindex_ACTUAL_NODE_18000 8000 1#''NODESI_NODES_MOVED8000 8000 1 1')-NODESI_NODES_PARENT8000 8000 10 2 1.='NODESsqlite_autoindex_NODES_18000 8000 2 1denne proces, før du kan fortsætte!

Når du har genoprettet oprindeligt navn på og sti til administrationsmappen, bedes du venligst genindlæse denne side.'; $lang['error_backupconfig'] = 'Vi var ikke i stand til at tage en ordentlig backup af konfigurationsfilen'; $lang['error_checksum'] = 'Tjeksummen for den udpakkede fil svarer ikke til den oprindelige'; $lang['error_cmstablesexist'] = 'Det ser ud til, at der allerede findes en installation af CMS i denne database. Indtast venligst informationer vedrørende en anden database. Hvis du godt vil bruge et andet præfiks til tabellerne, kan det være nødvendigt at genstarte installationsprocessen og så anvende den avancerede metode.'; $lang['error_createtable'] = 'Oprettelse af databasetabel stødte ind i problemer... Måske mangler de fornødne tilladelser'; $lang['error_dbconnect'] = 'Vi kunne ikke oprette forbindelse til databasen. Dobbelttjek venligst de oplysninger, som du har angivet'; $lang['error_dirnotvalid'] = 'Mappen %s findes ikke (eller der mangler en skrivetilladelse den)'; $lang['error_droptable'] = 'Sletning af databasetabel stødte ind i problemer... Måske mangler de fornødne tilladelser'; $lang['error_filenotwritable'] = 'Filen %s kunne ikke overskrives (problem med tilladelser)'; $lang['error_internal'] = 'Beklager, et eller andet er gået galt... (intern fejl) (%s)'; $lang['error_invalid_directory'] = 'Det ser ud til, at den mappe, som du har valgt til installationen, er den samme mappe som installalationsfilerne selv bruger'; $lang['error_invalidconfig'] = 'Der er enten en fejl i konfigurationsfilen eller denne fil mangler'; $lang['error_invaliddbpassword'] = 'Adgangskoden til databasen indeholder ugyldige tegn, som det ikke er forsvarligt at gemme'; $lang['error_invalidkey'] = 'Ugyldig medlemsvariabel eller nøgle %s for klassen %s'; $lang['error_invalidparam'] = 'Ugyldig parameter eller værdi for parametren %s'; $lang['error_invalidtimezone'] = 'Den angivne tidszone er ugyldig'; $lang['error_invalidqueryvar'] = 'Den indtastede variabel i forbindelse med forespørgslen indeholder ugyldige tegn. Anvend venligst kun alfanumeriske tegn samt underscore.'; $lang['error_missingconfigvar'] = 'Enten mangler nøglen "%s" eller denne er ugyldig i config.ini filen'; $lang['error_noarchive'] = 'Der er problemer med at finde den pakkede arkivfil... Genstart venligst'; $lang['error_nlsnotfound'] = 'Der er problemer med at finde NLS-filer i arkivfilen'; $lang['error_nodatabases'] = 'Der blev ikke fundet en kompatibel database-ekstension'; $lang['error_nodbhost'] = 'Indtast venligst et gyldigt værtsnavn (eller IP adresse) til databaseforbindelsen'; $lang['error_nodbname'] = 'Indtast venligst navnet på en gyldig database eller vært som specificeret ovenfor'; $lang['error_nodbpass'] = 'Indtast venligst en gyldig adgangskode som godkendelse til databasen'; $lang['error_nodbprefix'] = 'Indtast venligst et gyldigt præfiks til databasens tabeller'; $lang['error_nodbtype'] = 'Vælg venligst en databasetype'; $lang['error_nodbuser'] = 'Indtast venligst et gyldigt brugernavn som godkendelse til databasen'; $lang['error_nodestdir'] = 'Destinationsmappe er ikke angivet'; $lang['error_nositename'] = 'Navnet på hjemmesiden er et obligatorisk parameter. Indtast venligst et passende navn for din hjemmeside.'; $lang['error_notimezone'] = 'Angiv venligst en gyldig tidszone for denne server'; $lang['error_overwrite'] = 'Der er et problem vedrørende tilladelser: %s kan ikke overskrives'; $lang['error_sendingmail'] = 'Fejl under afsendelse af email'; $lang['error_tzlist'] = 'Der er problemer med at finde listen over tidszone-identifikatorer'; $lang['errorlevel_estrict'] = 'Tjekker E_STRICT'; $lang['errorlevel_edeprecated'] = 'Tjek af'; $lang['edeprecated_enabled'] = 'E_DEPRECATED er i anvendelse i PHPs fejlrapporteringssektion. Selvom dette ikke forhindrer CMSMS i at fungere, så kan det resultere i, at der vises advarselsmeddelelser på skærmen - især fra ældre 3. parts moduler'; $lang['estrict_enabled'] = 'E_STRICT er i anvendelse i PHPs fejlrapporteringssektion. Selvom dette ikke forhindrer CMSMS i at fungere, så kan det resultere i, at der vises advarselsmeddelelser på skærmen - især fra ældre 3. parts moduler'; $lang['fail_assets_dir'] = 'Mappen assets findes allerede. Denne applikation skriver muligvis til denne mappe for at rationalisere lokaliseringen af filerne. Du bedes venligst sikre dig, at du har taget backup'; $lang['fail_assets_msg'] = 'Mappen assets findes allerede. Denne applikation skriver muligvis til denne mappe for at rationalisere lokaliseringen af filerne. Du bedes venligst sikre dig, at du har taget backup'; $lang['fail_config_writable'] = 'HTTP-processen kan ikke skrive til filen config.php. Prøv venligst at ændre filens tilladelser til 777 indtil opgraderingsprocessen er gennemført'; $lang['fail_curl_extension'] = 'curl-udvidelsen blev ikke fundet. Selvom dette ikke er af afgørende betydning, så kan det medføre problemer i forhold til trediehåndsmoduler'; $lang['fail_database_support'] = 'Der blev ikke fundet nogen kompatible database drivere'; $lang['fail_file_get_contents'] = 'Funktionen file_get_contents findes enten ikke, eller også er funktionen deaktiveret. CMSMS kan ikke fortsætte (selv installationsprocessen vil sandsynligvis slå fejl)'; $lang['fail_file_uploads'] = 'Fil-upload er deaktiveret. Flere af CMSMS\' funktioner kan ikke fungere i dette miljø'; $lang['fail_func_json'] = 'json-funktionalitet blev ikke fundet'; $lang['fail_func_gzopen'] = 'gzopen-funktionalitet blev ikke fundet'; $lang['fail_func_md5'] = 'md5-funktionalitet blev ikke fundet'; $lang['fail_func_tempnam'] = 'Funktionen tempnam findes ikke. CMSMS kan ikke køre uden denne funktion'; $lang['fail_func_ziparchive'] = 'Funktionen ZipArchive blev ikke fundet. Dette kan medføre begrænset funktionalitet'; $lang['fail_ini_set'] = 'Det ser ikke ud til, at vi kan ændre ini-indstillingerne. Dette kan medføre problemer i forbindelse med trediepartsmoduler (eller ved aktivering af fejlfinding eller debug mode)'; $lang['fail_magic_quotes_runtime'] = 'Det ser ud til, at magic quotes er aktiveret i din konfiguration. Deaktiver det venligst og prøv så igen'; $lang['fail_max_execution_time'] = 'Din indstilling for max execution time er sat til %s, hvilket ikke imødekommer kravet på mindst %s. Vi anbefaler, at du øger værdien til %s eller mere'; $lang['fail_memory_limit'] = 'Hos dig er værdien for memory limit sat til %s, men mindst %s er påkrævet og %s anbefales'; $lang['fail_multibyte_support'] = 'Multibyte-understøttelse er ikke aktiveret i din konfiguration'; $lang['fail_output_buffering'] = 'Output buffering er ikke aktiveret'; $lang['fail_open_basedir'] = 'Open basedir restrictions er aktiveret. CMSMS fungerer kun, hvis dette er deaktiveret'; $lang['fail_php_version'] = 'Den version af PHP som CMSMS har adgang til er af helt afgørende betydning. Der skal som minimum være adgang til version %s, omend vi anbefaler %s eller højere. Du har version %s'; $lang['fail_post_max_size'] = 'Hos dig er værdien for post max size sat til %s, hvilket ikke imødekommer minimumskravet på %s. Værdier på %s eller mere anbefales og sikrer, at værdien overstiger værdien for upload_max_filesize'; $lang['fail_pwd_writable2'] = 'HTTP-processen skal kunne skrive til destinationsmappen (og til alle filer samt mapper derunder) for at kunne installere filerne. Vi mangler skrivetilladelser til (i hvert fald) %s'; $lang['fail_register_globals'] = 'Deaktiver venligst register globals i PHP-konfigurationen'; $lang['fail_remote_url'] = 'Vi stødte på problemer med at oprette forbindelse til remote URL. Dette vil medføre begrænsninger i forhold til visse af CMSMS\' funktioner'; $lang['fail_safe_mode'] = 'CMSMS kan ikke køre ordentligt i et miljø, hvor safe mode er aktiveret. Safe mode er forældet, da mekanismen er behæftet med fejl. Safe mode vil blive fjernet i fremtidige versioner af PHP'; $lang['fail_session_save_path_exists'] = 'Værdien af variablen for session save path er enten ugyldig eller også findes mappen ikke'; $lang['fail_session_save_path_writable'] = 'Der kan ikke skrives til mappen for session save path'; $lang['fail_session_use_cookies'] = 'Det er påkrævet, at PHP er konfigureret til at gemme en session key i en cookie'; $lang['fail_tmpfile'] = 'Systemets tmpfile()-funktion er ude af drift. Vi skal bruge funktionen til at udpakke arkivfiler. Argumentet for TMPDIR url kan gøres tilgængelig for installationen, så der kan specificeres et skrivbart direktorie. Se filen README, som burde være inkluderet i denne mappe'; $lang['fail_tmp_dirs_empty'] = 'CMSMS\'s midlertidige mapper (tmp/cache og tmp/templates_c) findes og de er ikke tomme. Fjern eller tøm dem venligst'; $lang['fail_xml_functions'] = 'XML-udvidelsen blev ikke fundet. Aktiver den venligst i dit PHP-miljø'; $lang['failed'] = 'fejlet'; $lang['file_get_contents'] = 'Undersøger funktionen file_get_contents'; $lang['file_installed'] = '%s installeret'; $lang['file_uploads'] = 'Undersøger om file upload understøttes'; $lang['finished_custom_freshen_msg'] = 'Din installation er nu blevet opfrisket! Kernefilerne er blevet opdateret og der er blevet dannet en ny config-fil. Besøg venligst din hjemmeside for at sikre dig, at alt fungerer, som det skal'; $lang['finished_custom_install_msg'] = 'Færdig! Besøg venligst din hjemmeside og log ind i administrationspanelet'; $lang['finished_custom_upgrade_msg'] = 'Færdig! Besøg venligst dit CMSMS administrationspanel og din hjemmeside for at sikre dig, at alt fungerer, som det skal.
Tip: Det er en god idé at foretage en ny backup nu.'; $lang['finished_freshen_msg'] = 'Din installation er nu blevet opfrisket! Kernefilerne er blevet opdateret og der er blevet dannet en ny config-fil. Du kan nu besøge din hjemmeside eller logge ind i CMSMS administrationspanelet.'; $lang['finished_install_msg'] = 'Vi er færdige! Du kan nu besøge din hjemmeside eller logge ind i CMSMS administrationspanelet.'; $lang['finished_upgrade_msg'] = 'Det var det! Besøg venligst din hjemmeside og log ind i CMSMS administrationspanelset for at tjekke at alt opfører sig, som det skal. Det kan også være, at du skal opgradere nogle tredjepartsmoduler.
Tip: Husk at lave en ny backup, når du har bekræftet, at alt er, som det skal være.'; $lang['freshen'] = 'Genopfriskning eller reparation af installation'; $lang['func_json'] = 'Tjekker funktioner for json indkodning og dekodning'; $lang['func_md5'] = 'Tjekker md5-funktionalitet'; $lang['func_tempnam'] = 'Tjekker tempnam-funktionalitet'; $lang['func_gzopen'] = 'Tjekker gzopen-funktionalitet'; $lang['func_ziparchive'] = 'Tjekker ziparchive-funktionalitet'; $lang['gd_version'] = 'GD-version'; $lang['goback'] = 'Tilbage'; $lang['info_addlanguages'] = 'Vælg hvilke sprog der skal installeres (udover engelsk). Bemærk: Ikke alle oversættelser er komplette.'; $lang['info_adminaccount'] = 'Angiv venligst log ind-oplysninger til den første administrator-konto. Kontoen vil have adgang til alle funktioner i CMSMS\' administrationskonsol.'; $lang['info_advanced'] = 'Avanceret installation giver adgang til flere muligheder under installationsproceduren.'; $lang['info_dbinfo'] = 'CMS Made Simple gemmer rigtigt mange data i databasen. Det er derfor helt nødvendigt, at der er forbindelse til en database. Desuden skal den bruger, som du angiver ved log ind have ALL PRIVILEGES på den specificerene database, således at der kan dannes, slettes og rettes i tabeller, indekser og visninger'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED er et flag, som bruges i af PHPs fejlrapportering. Flaget fortæller, at der skal vises advarsler vedrørende kode, som anvender forældede teknikker. Selvom vi forsøger at sikre, at vi ikke længere anvender forældede metoder i kernefilerne, så kan der godt være nogle moduler, hvor dette ikke gælder. Vi anbefaler, at denne indstilling deaktiveres i PHP-konfigurationen'; $lang['info_errorlevel_estrict'] = 'E_STRICT er et flag, som bruges i af PHPs fejlrapportering. Flaget fortæller, at standarderne for strict coding bør respekteres. Selvom kernefilerne i CMSMS forsøger at leve op til E_STRICT-standarderne, så kan der være moduler, hvor dette ikke er tilfældet. Vi anbefaler, at denne indstilling deaktiveres i PHP-konfigurationen'; $lang['info_installcontent'] = 'Hvis intet andet er angivet, vil installationen oprette en række simple sider, typografiark og skabeloner i CMSMS. Det simple indhold indeholder uddybende information samt tips, der kan hjælpe dig med at opbygge hjemmesider i CMSMS - så det er værd at læse. Men hvis du allerede er bekendt med CMS Made Simple, kan muligheden fravælges, hvilket betyder, at der kun oprettes et minimum af skabeloner, typografiark og indholds-sider.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir er aktiveret i din PHP-konfiguration. Vi kunne ikke komme til at teste dueligheden af sessions ordentligt. Men da du er nået hertil i installations-processen, så betyder det sandsynligvis, at sessions fungerer udmærket.'; $lang['info_pwd_writable'] = 'Applikationen skal have skriveadgang til det aktuelle direktorie'; $lang['info_queryvar'] = 'Variablen query bruges internt af CMSMS til at identificere den side, som skal vises. I de fleste tilfælde skulle det ikke være nødvendigt at ændre denne indstilling.'; $lang['info_sitename'] = 'Navnet på hjemmesiden bruges i standard-skabelonerne som en del at titlen. Indtast venligst et navn på hjemmesiden, som er læsbart for mennesker'; $lang['info_timezone'] = 'Information om tidszonen er nødvendig af hensyn til tids-beregninger samt visning af dato og lokkeslæt. Vælg venligst serverens tidszone'; $lang['ini_set'] = 'Tjekker om vi kan ændre indstillinger for INI'; $lang['install'] = 'Installér'; $lang['install_attachstylesheets'] = 'Forbind typografiark med temaer'; $lang['install_backupconfig'] = 'Foretager backup af config-fil'; $lang['install_createassets'] = 'Opret struktur for \'assets\''; $lang['install_created_index'] = 'Oprettede indekser'; $lang['install_create_tables'] = 'Opret tabeller i databasen'; $lang['install_createconfig'] = 'Dan ny config-fil'; $lang['install_createcontentpages'] = 'Opret standardiserede indholds-sider'; $lang['install_created_table'] = 'Oprettede tabeller'; $lang['install_createtablesindexes'] = 'Opretter tabeller og indekser'; $lang['install_createtmpdirs'] = 'Opret mappe til midlertidige filer'; $lang['install_creating_index'] = 'Oprettede indeks'; $lang['install_default_collections'] = 'Installer standard-samlinger'; $lang['install_defaultcontent'] = 'Installer standardiseret indhold'; $lang['install_detectlanguages'] = 'Find installerede sprog'; $lang['install_dropping_tables'] = 'Sletter tabeller'; $lang['install_dummyindexhtml'] = 'Opret dummy index.html-filer'; $lang['install_extractfiles'] = 'Udpak filer fra arkiv'; $lang['install_initevents'] = 'Opret begivenheder'; $lang['install_initsitegroups'] = 'Opret de første grupper'; $lang['install_initsiteperms'] = 'Sæt de første tilladelser'; $lang['install_initsiteprefs'] = 'Sæt de første præferencer'; $lang['install_initsiteusers'] = 'Opret første brugerkonto'; $lang['install_initsiteusertags'] = 'Første brugerdefinerede tags'; $lang['install_module'] = 'Installerer modul %s'; $lang['install_modules'] = 'Installér tilgængelige moduler'; $lang['install_passwordsalt'] = 'Sæt grundværdi for kryptering af adgangskode'; $lang['install_requireddata'] = 'Sæt første påkrævede data'; $lang['install_schema'] = 'Opret skema'; $lang['install_setschemaver'] = 'Bestem version for skema'; $lang['install_setsequence'] = 'Nulstil \'sequence\'-tabeller'; $lang['install_setsitename'] = 'Sæt hjemmesidenavn'; $lang['install_stylesheets'] = 'Opret standardiserede typografiark'; $lang['install_templates'] = 'Opret standardiserede skabeloner'; $lang['install_templatetypes'] = 'Opret standardiserede skabelontyper'; $lang['install_update_sequences'] = 'Opdatér \'sequence\'-tabeller'; $lang['install_updatehierarchy'] = 'Opdater indholdets plads i hierarki'; $lang['install_updateseq'] = 'Opdatér sekvens'; $lang['installer_ver'] = 'Installations-scriptets versionsnummer'; $lang['legend'] = 'Signaturforklaring'; $lang['magic_quotes_runtime'] = 'Sørg for at magic_quotes er deaktiveret'; $lang['max_execution_time'] = 'Afprøver max execution time for PHP-script'; $lang['meaning'] = 'Betyder at'; $lang['memory_limit'] = 'Tjekker at der er tilstrækkelig PHP memory limit'; $lang['msg_clearedcache'] = 'Nulstillede serverens cache'; $lang['msg_configsaved'] = 'Eksisterende config-fil gemt i %s'; $lang['msg_upgrade_module'] = 'Opgraderer modul'; $lang['msg_upgrademodules'] = 'Opgraderer moduler'; $lang['msg_yourvalue'] = 'Du har: %s'; $lang['multibyte_support'] = 'Tjekker understøttelse af multibyte'; $lang['next'] = 'Næste'; $lang['no'] = 'Nej'; $lang['none'] = 'Ingen'; $lang['open_basedir'] = 'Restriktioner for open_basedir'; $lang['open_basedir_session_save_path'] = 'open_basedir er aktiveret. Kan ikke teste session save path'; $lang['output_buffering'] = 'Sørger for at output buffering er aktiveret'; $lang['pass_config_writable'] = 'HTTP-processen har skriveadgang til config.php-filen'; $lang['pass_database_support'] = 'Mindst en kompatibel database-driver fundet'; $lang['pass_func_json'] = 'json-funktionalitet fundet'; $lang['pass_func_md5'] = 'md5-funktionalitet fundet'; $lang['pass_func_tempnam'] = 'Funktionen tempnam findes'; $lang['pass_multibyte_support'] = 'Understøttelse af multibyte ser ud til at være aktiveret'; $lang['pass_php_version'] = 'Den version af PHP som i øjeblikket er konfigureret lever ikke op til minimumskravene. Der kræves mindst PHP %s, omend vi anbefaler %s eller derover'; $lang['pass_pwd_writable'] = 'HTTP-processen kan skrive i destinationsmappen. Dette er nødvendigt i forhold til udpaking af filer'; $lang['password'] = 'Adgangskode'; $lang['ph_sitename'] = 'Indtast et navn på hjemmesiden'; $lang['php_version'] = 'PHP-version'; $lang['post_max_size'] = 'Tjekker maksimum antal data, der kan sendes i én forespørgsel'; $lang['prompt_addlanguages'] = 'Yderligere sprog'; $lang['prompt_createtables'] = 'Opret database-tabeller'; $lang['prompt_dbhost'] = 'Databasens værtsnavn'; $lang['prompt_dbinfo'] = 'Info om databasen'; $lang['prompt_dbname'] = 'Databasens navn'; $lang['prompt_dbpass'] = 'Adgangskode'; $lang['prompt_dbport'] = 'Portnummer'; $lang['prompt_dbprefix'] = 'Præfiks til tabelnavne i databasen'; $lang['prompt_dbtype'] = 'Databasetype'; $lang['prompt_dbuser'] = 'Brugernavn'; $lang['prompt_dir'] = 'Installationsmappe'; $lang['prompt_installcontent'] = 'Installér simpelt indhold'; $lang['prompt_queryvar'] = 'Forespørgselsvariabel'; $lang['prompt_sitename'] = 'Hjemmesidens navn'; $lang['prompt_timezone'] = 'Serverens tidszone'; $lang['pwd_writable'] = 'Mappe er skrivbar'; $lang['queue_for_upgrade'] = 'Satte modul %s (tilhører ikke kernen) i kø til opdatering i næste trin'; $lang['readme_uc'] = 'LÆS MIG'; $lang['register_globals'] = 'Sørger for at register globals er deaktiveret'; $lang['remote_url'] = 'Tjekker om vi kan oprette udgående HTTP-forbindelser'; $lang['repeatpw'] = 'Gentag adgangskode'; $lang['reset_site_preferences'] = 'Nulstil visse af hjemmesidens præferencer'; $lang['reset_user_settings'] = 'Nulstil bruger-præferencer'; $lang['retry'] = 'Prøv igen'; $lang['safe_mode'] = 'Tester sikring af at safe mode er deaktiveret'; $lang['saltpasswords'] = 'Krypteringsnøgle til adgangskoder'; $lang['select_language'] = 'Som det første vil vi bede dig om at vælge, hvilket sprog du foretrækker i nedenstående liste. Dette anvendes til at forbedre din oplevelse undervejs installationens forskellige trin, men dit sprogvalg har ingen indflydelse på din CMSMS-installation.'; $lang['send_admin_email'] = 'Send en email med administrators log ind-oplysninger'; $lang['session_capabilities'] = 'Tester ordentlig funktionalitet af session (at sessions bruger cookies, at session save path er skrivbar osv)'; $lang['session_save_path_exists'] = 'Findes session_save_path'; $lang['session_save_path_writable'] = 'Der kan skrives til session_save_path'; $lang['session_use_cookies'] = 'Sikrer at PHP-sessions anvender cookies'; $lang['sometests_failed'] = 'Vi har udført en lang række tests af dit nuværende web-miljø. Selvom vi ikke fandt nogen kritiske forhold, så anbefaler vi, at følgende ting rettes, før du fortsætter.'; $lang['step1_advanced'] = 'Avanceret installation'; $lang['step1_destdir'] = 'Vælg mappe'; $lang['step1_info_destdir'] = 'Advarsel: Dette program kan installere eller opgradere flere installationer af CMS Made Simple. Det er vigtigt, at du vælger den rigtige mappe til installationen eller opgraderingen.'; $lang['step1_language'] = 'Vælg sprog'; $lang['step1_title'] = 'Vælg sprog'; $lang['step2_cmsmsfound'] = 'Der blev fundet en installation af CMS Made Simple. Det er muligt at opgradere denne installation. Dog er det vigtigt, før du fortsætter, at du sikrer dig, at du har en helt opdateret og VERIFICERET backup af alle filer og af databasen'; $lang['step2_cmsmsfoundnoupgrade'] = 'Selvom der blev fundet en installation af CMS Made Simple, så er det ikke muligt at opgradere den med denne applikation. Versionen kan være for gammel.'; $lang['step2_confirminstall'] = 'Er du sikker på, at du gerne vil installere CMS Made Simple?'; $lang['step2_confirmupgrade'] = 'Er du sikker på, at du gerne vil opgradere CMS Made Simple?'; $lang['step2_errorsamever'] = 'Den valgte mappe ser ud til at indeholde en CMSMS-installation med det samme versionsnummer som det, der er inkluderet i dette script. Hvis du fortsætter, vil installationen blive opfrisket.'; $lang['step2_errortoonew'] = 'Den valgte mappe ser ud til at indeholde en CMSMS-installation med et nyere versionsnummer end det, der er inkluderet i dette script. Det er ikke muligt at fortsætte.'; $lang['step2_info_freshen'] = 'Opfriskning af installationen indebærer, at alle kerne-filer erstattes og at konfigurationen gendannes. Du vil blive bedt om grundlæggende informationer vedrørende konfigurationen, men databasen bliver ikke berørt.'; $lang['step2_installdate'] = 'Installationen er foretaget cirka den'; $lang['step2_install_dirnotempty2'] = 'Denne mappe indeholder allerede nogle filer eller undermapper. Selvom det godt kan lade sig gøre at installere CMSMS i mappen, så kan det uforvarende komme til at medføre, at den eksisterende applikation ødelægges. Dobbelttjek venligst indholdet af denne mappe. Af reference-hensyn er nogle af filerne listet nedenfor. Du bedes venligst sikre dig, at dette er korrekt.'; $lang['step2_hdr_upgradeinfo'] = 'Info om versionen'; $lang['step2_info_upgradeinfo'] = 'Nedenfor finder du beskeder vedrørende denne udgivelse samt en liste med information om ændringer for hver udgivelse. Ved klik på knapperne herunder kan du få vist detaljeret information om, hvad der er sket af ændringer i hver version af CMS Made Simple. Der kan være yderligere instrukser eller advarsler i hver version, som kan påvirke opgraderingsprocessen.'; $lang['step2_minupgradever'] = 'Denne applikation kan ikke opgradere versioner, der er ældre end version %s. Det kan være, du er nødt til trinvist at opgradere applikationen til en nyere version ved at benytte dig af en anden metode, før du færdiggøre opgraderingsprocessen. Du bedes venligst først sikre dig, at du har taget en fuldstændig, verificeret backup uanset hvilken opgraderingsmetode, du bruger.'; $lang['step2_nocmsms'] = 'Vi fandt ikke nogen installation af CMS Made Simple i denne mappe. Det ser ud til, at dette er en ny installation'; $lang['step2_nofiles'] = 'Som ønsket vil applikationens kerne-filer ikke blive behandlet under denne proces.'; $lang['step2_passed'] = 'Bestået'; $lang['step2_pwd'] = 'Aktuel mappe'; $lang['step2_schemaver'] = 'Databasens skemaversion'; $lang['step2_version'] = 'Din version'; $lang['step3_failed'] = 'Denne pakke har udført adskillige tests af dit PHP-miljø og en eller flere af disse tests er ikke bestået. Du bliver nødt til at rette disse fejl i din konfiguration, før du kan fortsætte. Når du har rettet fejlene, så klik på "Prøv igen" nedenfor.'; $lang['step3_passed'] = 'Denne pakke har udført adskillige tests af dit PHP-miljø og alle har bestået. Dette er godt nyt! Selvom der ikke er tale om en altomfattende test, så skulle du ikke have nogen problemer med at køre kerneinstallationen af CMSMS.'; $lang['step9_removethis'] = 'Advarsel Af sikkerhedsmæssige hensyn er det vigtigt, at du fjerner installations-assistenten, så den ikke kan tilgås via browseren så snart, du har verificeret, at operationen er vellykket.'; $lang['symbol'] = 'Symbol'; $lang['social_message'] = 'Det lykkedes mig at installere CMS Made Simple!'; $lang['test_failed'] = 'En påkrævet test mislykkedes'; $lang['test_passed'] = 'En test er bestået (beståede tests vises kun under avanceret installation)'; $lang['test_warning'] = 'En indstilling er højere end den påkrævede værdi, men lavere end den anbefalede værdi, eller...
Der kan være nogle valgfrie funktioner, som ikke virker.'; $lang['th_status'] = 'Status'; $lang['th_testname'] = 'Test'; $lang['th_value'] = 'Værdi'; $lang['title_error'] = 'Der er nogen i Houston, som har et problem!'; $lang['title_step2'] = 'Trin 2 - Find eksisterende software'; $lang['title_step3'] = 'Trin 3 - Tests'; $lang['title_step4'] = 'Trin 4 - Info om den basale konfiguration'; $lang['title_step5'] = 'Trin 5 - Information vedrørende administrator-konto'; $lang['title_step6'] = 'Trin 6 - Indstillinger for hjemmesiden'; $lang['title_step7'] = 'Trin 7 - Installering af applikations-filer'; $lang['title_step8'] = 'Trin 8 - Database-opgaver'; $lang['title_step9'] = 'Trin 9 - Færdiggørelse'; $lang['title_welcome'] = 'Velkommen'; $lang['title_forum'] = 'Forum med hjælp og støtte'; $lang['title_docs'] = 'Officiel manual'; $lang['title_api_docs'] = 'Officiel manual til API'; $lang['to'] = 'til'; $lang['title_share'] = 'Del dine erfaringer med dine venner.'; $lang['tmpfile'] = 'Tjekker om tmpfile() virker'; $lang['tmp_dirs_empty'] = 'Du bedes sikre dig, at temporære mapper enten er tomme eller ikke findes'; $lang['upgrade'] = 'Opgradér'; $lang['upgrade_deleteoldevents'] = 'Sletter gamle hændelser'; $lang['upgrading_schema'] = 'Opdaterer skema'; $lang['upload_max_filesize'] = 'Tjekker maksimumstørrelse for uploadede filer'; $lang['username'] = 'Brugernavn'; $lang['warn_disable_functions'] = 'Bemærk: En eller flere af de inderste dele af PHP\'s funktioner er deaktiveret. Dette kan have negativ betydning for din CMSMS-installation - særligt når det gælder tredjepartsudvidelser. Hold venligst øje med din fejl-log. De deaktiverede funktioner er:

%s'; $lang['warn_max_execution_time'] = 'Selvom du har en indstilling for max execution time på %s, som imødekommer eller overstiger minimumværdien på %s, så anbefaler vi, at du øger den til %s eller højere'; $lang['warn_memory_limit'] = 'Din indstilling for memory limit på %s ligger over minimumsværdien på %s. Vi anbefaler imidlertid værdien %s'; $lang['warn_open_basedir'] = 'I din PHP-konfiguration er open_basedir aktiveret. Selvom du godt kan fortsætte, så vil CMSMS ikke kunne understøtte installationer, når der findes open_basedir-restriktioner.'; $lang['warn_post_max_size'] = 'Hos dig er værdien for post max size sat til %s, hvilket ligger over mindstekravet på %s. Dog vil vi anbefale %s. Du bedes endvidere sikre dig, at denne værdi er højere end værdien for upload_max_filesize'; $lang['warn_tests'] = 'Bemærk: alle disse tests er bestået, hvilket skulle sikre, at CMSMS fungerer, som det skal for de fleste hjemmesider. Men i takt med at dit site vokser og der tilføjes flere og flere funktioner, kan disse minimumsværdier blive utilstrækkelige. I øvrigt kan tredjeparts moduler stille yderligere krav, hvis de skal fungere efter hensigten'; $lang['warn_upload_max_filesize'] = 'Selvom indstillingen på %s er tilstrækkelig, så anbefaler vi, at du øger værdien af upload_max_filesize til mindst %s i PHP'; $lang['welcome_message'] = 'Velkommen til! Dette er CMS Made Simples automatiske installationsmekanisme. Denne pakke giver dig både mulighed for nemt og hurtigt at få bekræftet, at dit webhotel er foreneligt med CMSMS, og at installere eller opgradere til den nyeste version af CMS Made Simple.
Vi ved, at du vil få glæde af det.'; $lang['wizard_step1'] = 'Velkommen'; $lang['wizard_step2'] = 'Find eksisterende software'; $lang['wizard_step3'] = 'Afprøvning af kompatibilitet'; $lang['wizard_step4'] = 'Info om konfiguration'; $lang['wizard_step5'] = 'Info om administrator-konto'; $lang['wizard_step6'] = 'Indstillinger for hjemmeside'; $lang['wizard_step7'] = 'Filer'; $lang['wizard_step8'] = 'Database-opgaver'; $lang['wizard_step9'] = 'Færdiggørelse'; $lang['xml_functions'] = 'Tjekker XML-funktionalitet'; $lang['yes'] = 'Ja'; ?>Hinweis: Das Bestehen all dieser Prüfungen sollte sicherstellen, dass CMSMS für die meisten Websites ordnungsgemäß funktioniert. Wenn die Website jedoch wächst und weitere Funktionen hinzugefügt werden, können diese Mindestwerte unzureichend werden. Darüber hinaus können Module von Drittanbietern weitere Anforderungen haben, um ordnungsgemäß zu funktionieren'; $lang['warn_upload_max_filesize'] = 'Obwohl Ihre Einstellung von %s ausreichend ist, empfehlen wir Ihnen, die Einstellung upload_max_filesize in PHP auf mindestens %s zu erhöhen'; $lang['welcome_message'] = 'Herzlich willkommen! Dies ist der automatische Installationsmechanismus von CMS Made Simple. Mit diesem Paket können Sie schnell und einfach bestätigen, dass Ihr Webhost mit CMSMS kompatibel ist, und die neueste Version von CMS Made Simple installieren oder aktualisieren.
Wir wissen, dass es Ihnen gefallen wird.'; $lang['wizard_step1'] = 'Willkommen'; $lang['wizard_step2'] = 'Erfassung bereits existierender Software'; $lang['wizard_step3'] = 'Kompatibilitätsprüfung'; $lang['wizard_step6'] = 'Webseiteneinstellungen'; $lang['wizard_step7'] = 'Dateien'; $lang['wizard_step9'] = 'Abschließen'; $lang['xml_functions'] = 'Prüfe XML-Funktionalität'; $lang['yes'] = 'Ja'; ?>vous avez renommé votre dossier admin de CMSMS™. Vous devrez obligatoirement le renommer en admin et modifier la variable $config[\'admin_dir\'] du config.php avant de reprendre le processus de la mise à jour. Rechargez la page pour continuer.'; $lang['error_backupconfig'] = 'Nous ne pourrions pas correctement sauvegarder le fichier de config'; $lang['error_checksum'] = 'Le checksum du fichier extrait ne correspond pas à l\'original'; $lang['error_cmstablesexist'] = 'Il semble qu\'il existe déjà une installation de CMSMS™ sur cette base de données. Merci d\'entrer une information différente pour la base de données. Si vous souhaitez, vous pouvez utiliser un préfixe de table différent. Mais vous devriez peut-être redémarrer le processus d\'installation et activer le mode avancé.'; $lang['error_createtable'] = 'Problème de création des tables de la base de données... c\'est peut-être un problème de permissions'; $lang['error_dbconnect'] = 'Impossible de se connecter à la base de données. Veuillez vérifier les informations d\'identification que vous avez fournies'; $lang['error_dirnotvalid'] = 'Le dossier %s n\'existe pas (ou n\'est pas accessible en écriture)'; $lang['error_droptable'] = 'Problème de suppression de table de la base de données... c\'est peut-être un problème de permissions'; $lang['error_filenotwritable'] = 'Le fichier %s n\'a pas pu être écrasé (problème permissions)'; $lang['error_internal'] = 'Désolé, quelque chose a mal fonctionné... (Erreur interne) (%s)'; $lang['error_invalid_directory'] = 'Il semble que le dossier que vous avez choisi pour installer est déjà dans un dossier utilisé par le programme d\'installation lui-même'; $lang['error_invalidconfig'] = 'Erreur dans le fichier de configuration ou fichier de configuration manquant (config.php)'; $lang['error_invaliddbpassword'] = 'Le mot de passe de la base de données contient des caractères non valides qui ne peuvent pas être sauvegardés en toute sécurité.'; $lang['error_invalidkey'] = 'Variable invalide ou clef %s pour classe %s'; $lang['error_invalidparam'] = 'Paramètre invalide ou valeur de paramètre : %s'; $lang['error_invalidtimezone'] = 'Le fuseau horaire spécifié n\'est pas valide'; $lang['error_invalidqueryvar'] = 'La saisie contient des caractères non valides. Veuillez utiliser uniquement des caractères alphanumériques et l\'underscore.'; $lang['error_missingconfigvar'] = 'La clef "%s" est manquante ou invalide dans le fichier config.ini'; $lang['error_noarchive'] = 'Problème pour trouver le fichier archive... Merci de redémarrer'; $lang['error_nlsnotfound'] = 'Problème pour trouver les fichiers NLS dans l\'archive'; $lang['error_nodatabases'] = 'Aucune extension compatible base de données n\'a été trouvée'; $lang['error_nodbhost'] = 'Veuillez entrer un nom d\'hôte valide (ou adresse IP) pour la connexion de base de données'; $lang['error_nodbname'] = 'Veuillez entrer le nom d\'une base de données valide sur l\'hôte spécifié ci-dessus'; $lang['error_nodbpass'] = 'Veuillez entrer un mot de passe valide pour l\'authentification avec la base de données'; $lang['error_nodbprefix'] = 'Veuillez entrer un préfixe valide pour les tables de la base de données'; $lang['error_nodbtype'] = 'Veuillez sélectionner un type de base de données'; $lang['error_nodbuser'] = 'Veuillez entrer un nom d\'utilisateur valide pour l\'authentification avec la base de données'; $lang['error_nodestdir'] = 'Dossier d\'installation non activé'; $lang['error_nositename'] = 'SiteName (Nom du site) est un paramètre obligatoire. Merci d’entrer un nom approprié pour votre site Web.'; $lang['error_notimezone'] = 'Veuillez entrer un fuseau horaire valide pour ce serveur'; $lang['error_overwrite'] = 'Problème de permissions : écriture impossible de %s'; $lang['error_sendingmail'] = 'Erreur dans l\'envoi du mail'; $lang['error_tzlist'] = 'Un problème est survenu pour la récupération de la liste des identificateurs de fuseau horaire'; $lang['errorlevel_estrict'] = 'Test pour E_STRICT'; $lang['errorlevel_edeprecated'] = 'Test pour E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED est activé dans "error_reporting" de PHP. Bien que cela n\'empêchera pas CMSMS™ de fonctionner, il peut se produire des affichages d\'avertissements sur l\'écran, en particulier des anciens modules tiers.'; $lang['estrict_enabled'] = 'E_STRICT est activé dans "error_reporting" de PHP. Bien que cela n\'empêchera pas CMSMS™ de fonctionner, il peut se produire des affichages d\'avertissements sur l\'écran, en particulier des anciens modules tiers.'; $lang['fail_assets_dir'] = 'Un dossier assets existe déjà. Cette application peut écrire dans ce dossier pour rationaliser l\'emplacement des fichiers gabarits (templates), CSS, module_custom, admin_custom, ... . Veuillez vous assurer d\'avoir une sauvegarde.'; $lang['fail_assets_msg'] = 'Un dossier assets existe déjà. Cette application peut écrire dans ce dossier pour rationaliser l\'emplacement des fichiers gabarits (templates), CSS, module_custom, admin_custom, ... . Veuillez vous assurer d\'avoir une sauvegarde.'; $lang['fail_config_writable'] = 'Le processus HTTP ne peut pas écrire dans le fichier config.php. Essayer de modifier les autorisations sur ce fichier à 777, jusqu\'à ce que le processus de mise à jour soit terminé.'; $lang['fail_curl_extension'] = 'L\'extension cURL n\'a pas été trouvée. Ce n\'est pas un problème critique mais cela peut causer des soucis avec certains modules tiers'; $lang['fail_database_support'] = 'Aucun pilote compatible avec la base de données'; $lang['fail_file_get_contents'] = 'La fonction file_get_contents n\'existe pas ou est désactivée. CMSMS™ ne peut pas continuer (le programme d\'installation échouera probablement)'; $lang['fail_file_uploads'] = 'Les fonctionnalités d\'uploads de fichiers sont désactivés, dans cet environnement. Plusieurs fonctions de CMSMS™ ne fonctionneront pas dans cet environnement.'; $lang['fail_func_json'] = 'La fonctionnalité "JSON" n\'a pas été trouvée.'; $lang['fail_func_gzopen'] = 'La fonction "gzopen" n\'a pas été trouvée.'; $lang['fail_func_md5'] = 'La fonctionnalité MD5 n\'a pas été trouvée.'; $lang['fail_func_tempnam'] = 'La fonctionnalité "tempnam" n\'existe pas. C\'est une fonction requise pour le fonctionnement de CMSMS™'; $lang['fail_func_ziparchive'] = 'La fonctionnalité ZipArchive n\'a pas été trouvée. Cela peut limiter les fonctions d\'installation.'; $lang['fail_ini_set'] = 'Il semble que nous ne pouvons pas changer les paramètres ini. Ceci pourrait causer des problèmes dans les modules tiers (ou lorsque vous activez le mode debug). C\'est une fonction requise pour la fonctionnalité de CMSMS™'; $lang['fail_intl_support'] = 'L\'extension d\'internationalisation de PHP (Intl) n’est pas disponible'; $lang['fail_magic_quotes_runtime'] = 'Il semble que les "magic quotes" sont activées dans votre configuration. Merci de les désactiver puis réessayer'; $lang['fail_max_execution_time'] = 'Votre "max execution time" de %s ne répond pas à la valeur minimale de %s. Nous vous recommandons de l\'augmenter à %s ou supérieur'; $lang['fail_memory_limit'] = 'Valeur de "memory_limit" est trop faible. Vous avez %s, mais il faut un minimum de %s et %s est recommandé'; $lang['fail_multibyte_support'] = 'Votre support Multibyte (jeux de caractères multi-octets) n\'est pas activé dans votre configuration'; $lang['fail_output_buffering'] = 'Mise en mémoire tampon de sortie (Output Buffering) n\'est pas activée.'; $lang['fail_open_basedir'] = 'L\'option "open_basedir" est activée. CMSMS™ exige qu\'elle soit désactivée'; $lang['fail_php_version'] = 'La version de PHP pour CMSMS™ est cruciale. La version minimum accepté est %s, même si nous recommandons %s ou supérieure. Vous avez %s'; $lang['fail_post_max_size'] = 'La taille %s de "post_max_size" ne répond pas cependant la valeur minimale de %s. Vous devriez porter à %s et faire en sorte qu\'il soit plus grand que "upload_max_filesize"'; $lang['fail_pwd_writable2'] = 'Le processus HTTP doit être en mesure d\'écrire dans le dossier d\'installation (ainsi que dans tous les fichiers et sous-dossiers), afin d\'installer les fichiers. Il n\'y a pas d\'autorisation en écriture pour (au moins) %s'; $lang['fail_register_globals'] = 'Veuillez désactiver "register_globals" dans votre configuration de PHP'; $lang['fail_remote_url'] = 'Nous avons rencontré des problèmes pour vous connecter à une URL distante. Vous limitez ainsi certaines des fonctionnalités de CMS Made Simple™'; $lang['fail_safe_mode'] = 'CMSMS™ ne fonctionnera pas correctement dans un environnement où le "safe_mode" est activé. "safe_mode" est déconseillé comme un mécanisme défaillant et sera supprimée dans les futures versions de PHP. (Disponible depuis PHP 4.1.0. Supprimé en PHP 5.4.0)'; $lang['fail_session_save_path_exists'] = 'La variable session.save_path est non valide ou le répertoire n\'existe pas'; $lang['fail_session_save_path_writable'] = 'Le chemin du répertoire session n\'est pas accessible en écriture'; $lang['fail_session_use_cookies'] = 'CMSMS requiert que PHP soit configuré pour stocker les clefs de session dans un cookie'; $lang['fail_tmpfile'] = 'La fonction tmpfile() du système est non fonctionnelle. Cela est nécessaire pour extraire des archives. L\'option TMPDIR (chemin du dossier temporaire) peut être fourni à l\'installateur pour spécifier un dossier accessible en écriture. Voir le fichier README qui devrait être inclus dans ce répertoire.'; $lang['fail_tmp_dirs_empty'] = 'Les dossiers temporaires CMSMS (tmp / cache et tmp / templates_c) existent et ne sont pas vides. Veuillez les supprimer ou les vider.'; $lang['fail_xml_functions'] = 'L\'extension XML n\'a pas été trouvée. Activer cette extension dans votre environnement PHP'; $lang['failed'] = 'A échoué'; $lang['file_get_contents'] = 'Test pour la fonction "file_get_contents"'; $lang['file_installed'] = 'Installé %s'; $lang['file_uploads'] = 'Vérification pour le support upload de fichier'; $lang['finished_custom_freshen_msg'] = 'Votre installation a été rafraîchie ! Les fichiers de base ont été mis à jour, et un nouveau fichier de configuration a été créé. Veuillez consulter votre site Web afin de vous assurer que tout fonctionne correctement.'; $lang['finished_custom_install_msg'] = 'Super ! Nous avons terminé. Veuillez consulter votre site Web et vous connecter au panneau d’administration.'; $lang['finished_custom_upgrade_msg'] = 'Super! Tout est terminé. Veuillez consulter votre panneau d’administration de CMSMS™ et votre site Web pour vous assurer que tout est correct.
Astuce : Maintenant c’est le bon moment pour faire une sauvegarde.'; $lang['finished_freshen_msg'] = 'Votre installation a été rafraîchie ! Les fichiers de base ont été mis à jour et un nouveau fichier de configuration a été créé. Vous pouvez maintenant visiter votre site Web ou vous connecter au panneau d’administration.'; $lang['finished_install_msg'] = 'Super ! Nous avons terminé. Vous pouvez maintenant visiter votre site Web ou vous connecter au panneau d’administration.'; $lang['finished_upgrade_msg'] = 'Super ! Tout est terminé. Visitez votre site Web et le panneau d’administration pour vérifier si tout se comporte correctement. Vous pourriez avoir également à mettre à jour certains modules tiers.
Astuce : n’oubliez pas de faire une sauvegarde après avoir vérifié si les comportements de l’administration et du site sont corrects.'; $lang['freshen'] = 'Rafraîchir l\'installation'; $lang['func_json'] = 'Vérification pour JSON, codage et décodage des fonctionnalités'; $lang['func_md5'] = 'Vérification de la fonctionnalité MD5'; $lang['func_tempnam'] = 'Vérification de la fonction "tempnam"'; $lang['func_gzopen'] = 'Vérification de la fonction "gzopen"'; $lang['func_ziparchive'] = 'Vérification de la fonction "ZipArchive"'; $lang['gd_version'] = 'Vérification de la version GD'; $lang['goback'] = 'Retour'; $lang['info_addlanguages'] = 'Sélectionnez des langues (outre l\'anglais) pour l\'installation. Remarque : toutes les traductions ne sont pas faites. (Utiliser la touche "CTRL" pour la multi sélection)'; $lang['info_adminaccount'] = 'Merci de fournir les informations d\'identification pour le compte d\'administrateur initial. Ce compte aura accès à toutes les fonctionnalités de la console d\'administration CMSMS™'; $lang['info_advanced'] = 'Le mode avancé permet plus d\'options dans la procédure d\'installation.'; $lang['info_dbinfo'] = 'CMS Made Simple™ stocke une grande quantité de données en base de données. Une connexion de base de données est obligatoire. En outre, les informations d\'identification utilisateur que vous fournirez doivent, avoir tous les privilèges sur la base de données spécifiée pour permettre la création, suppression et modification des tables, index et vues.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED est une constante PHP de rapports d\'erreur ou d\'alertes d\'exécution. Bien que sur le noyau de CMSMS™ nous n\'utilisons plus de techniques obsolètes, certains modules peuvent ne pas être conformes. Nous recommandons de désactiver ce paramètre dans la configuration de PHP.'; $lang['info_errorlevel_estrict'] = 'E_STRICT est une constante PHP qui permet d\'obtenir des suggestions pour modifier votre code, assurant ainsi une meilleure interopérabilité et compatibilité de celui-ci. Bien que le noyau CMSMS™ tente de se conformer aux règles de niveau E_STRICT certains modules peuvent ne pas être conformes. Nous recommandons de désactiver ce paramètre dans la configuration de PHP.'; $lang['info_installcontent'] = 'Par défaut, ce programme d\'installation créera une série d\'exemples de pages, de feuilles de style et de gabarits dans CMSMS™. Les exemples de contenu fournissent de nombreuses informations et conseils afin de vous aider pour créer des sites Web avec CMSMS™. Il est utile de lire ces pages exemples. Toutefois, si vous êtes déjà familier avec CMS Made simple™ la désactivation de cette option créera seulement un ensemble minimal de gabarits, de feuilles de style et de pages de contenu.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir est activé dans votre configuration PHP. Nous n\'avons pas pu tester pas correctement les capacités de session. Cependant, à ce point du processus d\'installation, tout semble indiquer, que les sessions fonctionnent correctement.'; $lang['info_pwd_writable'] = 'Cette application requiert l\'autorisation en écriture pour le dossier de travail courant'; $lang['info_queryvar'] = 'La variable de requête URL est utilisée en interne par CMSMS™ pour identifier la page demandée (par défaut "page"). Dans la plupart des cas, vous ne devriez pas avoir à en avoir besoin.'; $lang['info_sitename'] = 'Le nom du site est utilisé dans les gabarits par défaut comme titre. Veuillez entrer un nom lisible pour le site Web.'; $lang['info_timezone'] = 'Les informations de fuseau horaire sont nécessaire pour l\'affichage des calculs des heures/dates. Veuillez sélectionner le fuseau horaire du serveur.'; $lang['ini_set'] = 'Test si possibilité de changer les paramètres du fichier ini'; $lang['install'] = 'Installer'; $lang['install_attachstylesheets'] = 'Attacher les feuilles de style aux thèmes'; $lang['install_backupconfig'] = 'Sauvegarde du fichier de config'; $lang['install_createassets'] = 'Création des dossiers assets'; $lang['install_created_index'] = 'Index créé %s... : %s'; $lang['install_create_tables'] = 'Création des tables de base de données'; $lang['install_createconfig'] = 'Création du nouveau fichier de configuration'; $lang['install_createcontentpages'] = 'Création des pages de contenu par défaut'; $lang['install_created_table'] = 'Table créée %s... : %s'; $lang['install_createtablesindexes'] = 'Création des tables et index'; $lang['install_createtmpdirs'] = 'Création des dossiers temporaires'; $lang['install_creating_index'] = 'Index créé %s'; $lang['install_default_collections'] = 'Installation des collections par défaut'; $lang['install_defaultcontent'] = 'Installation du contenu par défaut'; $lang['install_detectlanguages'] = 'Détection des langues installées'; $lang['install_dropping_tables'] = 'Suppression de tables'; $lang['install_dummyindexhtml'] = 'Création des fichiers vides index.html'; $lang['install_extractfiles'] = 'Extraction des fichiers de l\'archive'; $lang['install_initevents'] = 'Création des évènements'; $lang['install_initsitegroups'] = 'Création des groupes initiaux'; $lang['install_initsiteperms'] = 'Définition des permissions initiales'; $lang['install_initsiteprefs'] = 'Définition des préférences initiales du site'; $lang['install_initsiteusers'] = 'Création du compte utilisateur initial'; $lang['install_initsiteusertags'] = 'Création des balises utilisateur (UDT) initiales'; $lang['install_module'] = 'Installation du module %s'; $lang['install_modules'] = 'Installation des modules disponibles'; $lang['install_passwordsalt'] = 'Définition de la valeur aléatoire du mot de passe (salt)'; $lang['install_requireddata'] = 'Définition des données initiales requises'; $lang['install_schema'] = 'Création du schéma de base de données'; $lang['install_setschemaver'] = 'Définition de la version du schéma'; $lang['install_setsequence'] = 'Réinitialisation des séquences tables'; $lang['install_setsitename'] = 'Définition du nom du site'; $lang['install_stylesheets'] = 'Création des feuilles de style par défaut'; $lang['install_templates'] = 'Création des gabarits par défaut'; $lang['install_templatetypes'] = 'Création des types de gabarit standard'; $lang['install_update_sequences'] = 'Mise à jour des séquences des tables'; $lang['install_updatehierarchy'] = 'Mise à jour des positions hiérarchiques des pages'; $lang['install_updateseq'] = 'Séquence de mise à jour pour %s'; $lang['installer_ver'] = 'Version de l\'installateur '; $lang['intl_support'] = 'Vérifier les fonctions d\'internationalisation'; $lang['legend'] = 'Légende'; $lang['magic_quotes_runtime'] = 'Vérification si les "magic_quotes" sont désactivées'; $lang['max_execution_time'] = 'Vérification de PHP "max_execution_time"'; $lang['meaning'] = 'Définition'; $lang['memory_limit'] = 'Vérification de la limite de mémoire PHP (memory_limit)'; $lang['msg_clearedcache'] = 'Cache serveur vidé'; $lang['msg_configsaved'] = 'Fichier de configuration existant enregistré sous %s'; $lang['msg_upgrade_module'] = 'Mise à jour du module %s'; $lang['msg_upgrademodules'] = 'Mise à jour des modules'; $lang['msg_yourvalue'] = 'Vous avez : %s'; $lang['multibyte_support'] = 'Vérification du support Multibyte (jeux de caractères multi-octets)'; $lang['next'] = 'Suivant'; $lang['no'] = 'Non'; $lang['none'] = 'Aucun'; $lang['open_basedir'] = 'Vérification de la restriction "open_basedir"'; $lang['open_basedir_session_save_path'] = 'open_basedir est activé. Impossible de tester le chemin du répertoire session.'; $lang['output_buffering'] = 'Vérification des buffers de sortie (output buffering)'; $lang['pass_config_writable'] = 'Le processus HTTP a l\'autorisation en écriture dans le fichier config.php'; $lang['pass_database_support'] = 'Au moins un pilote de base de données compatible trouvé'; $lang['pass_func_json'] = 'Fonctionnalité JSON détectée'; $lang['pass_func_md5'] = 'Fonctionnalité MD5 détectée'; $lang['pass_func_tempnam'] = 'La fonction "tempnam" existe'; $lang['pass_intl_support'] = 'Les fonctions d\'internationalisation semblent être activées'; $lang['pass_memory_limit_nolimit'] = 'Il n\'y a pas de limite à PHP memory_limit'; $lang['pass_multibyte_support'] = 'le support Multibyte semble être activé'; $lang['pass_php_version'] = 'La version PHP configurée actuellement ne répond pas aux exigences minimales. Le minimum nécessaire est PHP %s, mais nous recommandons PHP %s ou supérieur'; $lang['pass_pwd_writable'] = 'Le processus HTTP peut écrire dans le dossier d\'installation. Ceci est nécessaire pour l\'extraction des fichiers.'; $lang['password'] = 'Mot de passe (au moins six caractères)'; $lang['ph_sitename'] = 'Entrez un nom de site Web'; $lang['php_version'] = 'Version PHP'; $lang['post_max_size'] = 'Vérification de la taille maximale de données pouvant être enregistrées dans une seule requête POST'; $lang['prompt_addlanguages'] = 'Langues supplémentaires'; $lang['prompt_createtables'] = 'Création des tables de la base de données'; $lang['prompt_dbhost'] = 'Nom d\'hôte de la base de données'; $lang['prompt_dbinfo'] = 'Information sur la base de données'; $lang['prompt_dbname'] = 'Nom de la base de données'; $lang['prompt_dbpass'] = 'Mot de passe'; $lang['prompt_dbport'] = 'Port de la base de données'; $lang['prompt_dbprefix'] = 'Préfixe de la base de données'; $lang['prompt_dbtype'] = 'Type de la base de données'; $lang['prompt_dbuser'] = 'Nom d\'utilisateur'; $lang['prompt_dir'] = 'Dossier d\'installation '; $lang['prompt_installcontent'] = 'Installer les exemples de contenus et les gabarits'; $lang['prompt_queryvar'] = 'Variable d\'URL'; $lang['prompt_sitename'] = 'Nom de site Web'; $lang['prompt_timezone'] = 'Fuseau horaire du serveur'; $lang['pwd_writable'] = 'Dossier accessible en écriture'; $lang['queue_for_upgrade'] = 'File d\'attente des modules %s (autres que ceux du noyau) pour mise à jour à l\'étape suivante.'; $lang['readme_uc'] = 'Lisez-moi'; $lang['register_globals'] = 'Vérification si PHP "register globals" est désactivé'; $lang['remote_url'] = 'Vérification sur les connexions HTTP sortantes'; $lang['repeatpw'] = 'Répétez le mot de passe'; $lang['reset_site_preferences'] = 'Réinitialisation de certaines préférences du site'; $lang['reset_user_settings'] = 'Réinitialisation des préférences utilisateur'; $lang['retry'] = 'Nouvel essai'; $lang['safe_mode'] = 'Vérification si PHP "safe_mode" est désactivé'; $lang['saltpasswords'] = 'Salage des mots de passe (sécurisation)'; $lang['select_language'] = 'Veuillez sélectionner votre langue préférée dans la liste ci-dessous. Cela affectera uniquement le processus d\'installation/mise à jour et n\'aura aucun effet sur les paramètres par défaut de CMSMS™.'; $lang['send_admin_email'] = 'Envoi des informations d\'identification par email pour la connexion d\'administration'; $lang['session_capabilities'] = 'Test des capacités de session (les sessions utilisent des cookies et le chemin du répertoire de sauvegarde des sessions doit être accessible en écriture, etc.)'; $lang['session_save_path_exists'] = 'La variable session.save_path est valide ou le répertoire existe'; $lang['session_save_path_writable'] = 'Le chemin du répertoire session est accessible en écriture'; $lang['session_use_cookies'] = 'Vérification si les sessions PHP utilisent les cookies'; $lang['sometests_failed'] = 'Nous avons effectué de nombreux tests de votre environnement Web actuel. Bien qu\'aucun problème critique n\'ait été trouvé, nous vous recommandons de corriger les éléments suivants avant de continuer.'; $lang['step1_advanced'] = 'Mode avancé'; $lang['step1_destdir'] = 'Sélectionnez le dossier'; $lang['step1_info_destdir'] = 'Attention : Ce programme peut installer ou mettre à jour plusieurs installations de CMS Made Simple™. Il est important de sélectionner correctement le dossier correspondant à une nouvelle installation ou à une mise à jour.'; $lang['step1_language'] = 'Sélectionner une langue'; $lang['step1_title'] = 'Sélectionner une langue'; $lang['step2_cmsmsfound'] = 'Une installation de CMS Made Simple™ a été détectée. Il est possible de mettre à jour cette installation. Toutefois, avant de poursuivre, assurez-vous d\'avoir une sauvegarde à jour et vérifiée de tous les fichiers et de la base de données.'; $lang['step2_cmsmsfoundnoupgrade'] = 'Bien qu\'une installation de CMS Made Simple™ ait été détectée, il n\'est pas possible de mettre à jour cette version à l\'aide de cette application. La version est peut-être trop ancienne.'; $lang['step2_confirminstall'] = 'Êtes-vous sûr(e) de vouloir installer CMS Made Simple™'; $lang['step2_confirmupgrade'] = 'Êtes-vous sûr(e) de vouloir mettre à jour CMS Made Simple™'; $lang['step2_errorsamever'] = 'Le dossier sélectionné semble contenir une installation CMSMS™ de la même version que celle incluse dans ce script. Continuer va rafraîchir l\'installation existante.'; $lang['step2_errortoonew'] = 'Le dossier sélectionné semble contenir une installation CMSMS™ avec une version plus récente que celle incluse dans ce script. Impossible de poursuivre le processus.'; $lang['step2_info_freshen'] = 'Rafraîchir cette installation va remplacer tous les fichiers du noyau ainsi que les modules installés d\'office et réinitialisera la configuration. Il vous sera demandé les informations de configuration de base, cependant la base de données ne sera pas modifiée.'; $lang['step2_installdate'] = 'Date d\'installation approximative '; $lang['step2_install_dirnotempty2'] = 'Ce dossier contient déjà certains fichiers et/ou sous-dossiers. Bien qu\'il soit possible d\'installer CMSMS ici, cela peut par inadvertance corrompre une installation existante. Veuillez revérifier le contenu de ce dossier. A titre de référence, certains des fichiers sont répertoriés ci-dessous. Veuillez vous assurer que tout est correct.'; $lang['step2_hdr_upgradeinfo'] = 'Informations de version'; $lang['step2_info_upgradeinfo'] = 'Ci-dessous les notes de version et le changelog disponibles pour chaque version. Les boutons ci-dessous affichent des informations détaillées sur ce qui a changé dans chaque version de CMS Made Simple. Il peut y avoir d\'autres instructions ou avertissements dans chaque version qui pourraient affecter le processus de mise à jour.'; $lang['step2_minupgradever'] = 'La version minimale que cet installateur peut mettre à jour est la : %s. Vous devrez peut-être mettre à jour votre installation CMSMS™ à une version plus récente, par étapes, en utilisant une autre méthode avant de compléter ce processus de mise à jour. Veuillez-vous assurer que vous disposez d\'une sauvegarde complète et vérifiée (fichiers et base de données) avant d\'utiliser toute méthode de mise à jour.'; $lang['step2_nocmsms'] = 'Nous n\'avons pas trouvé d\'installation de CMS Made Simple™ dans ce dossier. Il semble donc que vous vouliez faire une nouvelle installation.'; $lang['step2_nofiles'] = 'Comme demandé, les fichiers CMSMS Core ne seront pas traités pendant ce processus'; $lang['step2_passed'] = 'Passé'; $lang['step2_pwd'] = 'Votre dossier de travail courant '; $lang['step2_schemaver'] = 'Version du schéma de base de données '; $lang['step2_version'] = 'Votre version '; $lang['step3_failed'] = 'L\'installateur a effectué de nombreux tests de votre environnement PHP et un ou plusieurs de ces tests ont échoué. Vous devez corriger ces erreurs dans votre configuration avant de continuer. Une fois que vous aurez corrigé les erreurs, cliquez sur "Nouvel essai" ci-dessous.'; $lang['step3_passed'] = 'L\'installateur a effectué de nombreux tests de votre environnement PHP et ils ont tous réussi. C\'est une excellente nouvelle. Même s\'il ne s\'agit pas de tests garantis à 100 %, vous ne devriez avoir aucune difficulté à exécuter l\'installation de base de CMSMS™.'; $lang['step9_get_help'] = 'Connectez-vous avec d’autres développeurs CMSMS et obtenez de l\'aide des façons suivantes '; $lang['step9_get_support'] = 'Canaux d’assistance'; $lang['step9_join_community'] = 'Rejoignez notre communauté'; $lang['step9_love_cmsms'] = 'Vous appréciez CMS Made Simple '; $lang['step9_removethis'] = 'ATTENTION Pour des raisons de sécurité, il est important que vous supprimiez l\'assistant d\'installation de votre hébergement une fois que vous aurez vérifié la réussite de l\'opération.'; $lang['step9_support_us'] = 'Cliquez ici pour découvrir comment vous pouvez nous soutenir'; $lang['symbol'] = 'Symbole'; $lang['social_message'] = 'CMS Made Simple™ a été installé correctement !'; $lang['test_failed'] = 'Un test requis a échoué'; $lang['test_passed'] = 'Un test réussi (les tests passés sont seul affichés dans le mode avancé)'; $lang['test_warning'] = 'Un paramètre est supérieur à la valeur requise, mais inférieur à la valeur recommandée, ou...
Une fonction qui peut être requise pour certaines fonctionnalités facultatives n\'est pas disponible.'; $lang['th_status'] = 'Statut'; $lang['th_testname'] = 'Test '; $lang['th_value'] = 'Valeur'; $lang['title_error'] = 'Houston, nous avons un problème !'; $lang['title_step2'] = 'Étape 2 - Détection de l\'installation existante'; $lang['title_step3'] = 'Étape 3 - Tests'; $lang['title_step4'] = 'Étape 4 - Informations sur la configuration de base'; $lang['title_step5'] = 'Étape 5 - Informations sur le compte d\'administration'; $lang['title_step6'] = 'Étape 6 - Paramètres du Site'; $lang['title_step7'] = 'Étape 7 - Installation des fichiers'; $lang['title_step8'] = 'Étape 8 - Travail sur la base de données'; $lang['title_step9'] = 'Étape 9 - Finalisation'; $lang['title_welcome'] = 'Bienvenue'; $lang['title_forum'] = 'Forum'; $lang['title_docs'] = 'Documentation officielle'; $lang['title_api_docs'] = 'Documentation officielle sur l\'API'; $lang['to'] = 'à'; $lang['title_share'] = 'Partagez votre expérience avec vos amis.'; $lang['tmpfile'] = 'Vérification de la fonction tmpfile()'; $lang['tmp_dirs_empty'] = 'Assurez-vous que les dossiers temporaires sont vides ou n\'existent pas'; $lang['upgrade'] = 'Mise à jour'; $lang['upgrade_deleteoldevents'] = 'Suppression des anciens évènements'; $lang['upgrading_schema'] = 'Mise à jour du schéma de base de données'; $lang['upload_max_filesize'] = 'Contrôle de la taille maximale des fichiers uploadés'; $lang['username'] = 'Nom d\'utilisateur'; $lang['warn_disable_functions'] = 'Remarque : une ou plusieurs fonctions PHP sont désactivées. Cela peut avoir des répercussions négatives sur votre installation de CMSMS™, particulièrement avec les extensions tierce partie. Vérifiez régulièrement votre journal des erreurs (logs). Les fonctions désactivées sont :

%s'; $lang['warn_max_execution_time'] = 'Bien que la valeur du temps d\'exécution maximum (max_execution_time) de %s est supérieure (ou égale) à la valeur minimale de %s, nous vous recommandons de l\'augmenter à la valeur de %s ou plus'; $lang['warn_memory_limit'] = 'Votre valeur de limite de mémoire (memory_limit) est %s, ce qui est supérieur au minimum de %s. Cependant %s est recommandé.'; $lang['warn_open_basedir'] = 'open_basedir est activé dans votre configuration PHP. Bien que vous puissiez continuer, CMSMS n\'assure pas de support sur les installations faites avec les restrictions open_basedir'; $lang['warn_post_max_size'] = 'Votre valeur maximum par méthode POST (post_max_size) est de %s et dépasse la valeur minimale de %s, cependant, nous vous recommandons de la porter à %s et faire en sorte qu\'elle soit supérieure à "upload_max_filesize"'; $lang['warn_tests'] = 'Remarque : réussir tous ces tests devrait assurer que les fonctions essentielles de CMSMS™ fonctionnent correctement pour la plupart des sites. Cependant, au fur et à mesure que le site se développe et reçoit de nouvelles fonctionnalités, ces valeurs minimales peuvent devenir insuffisantes. En outre, les modules tiers peuvent avoir des exigences supplémentaires pour fonctionner correctement.'; $lang['warn_upload_max_filesize'] = 'Bien que votre paramètre de %s soit suffisant, nous recommandons d’augmenter le paramètre "upload_max_filesize" dans la configuration PHP à un minimum de %s'; $lang['welcome_message'] = 'Bienvenue ! Vous voici dans le processus d\'installation automatique de CMS Made Simple™. Ce script vérifie que votre hébergement est compatible avec CMSMS™, vous permettant ainsi d\'installer ou de mettre à jour la dernière version de CMSMS™ rapidement et facilement.
Nous savons que vous allez l\'apprécier.'; $lang['wizard_step1'] = 'Bienvenue'; $lang['wizard_step2'] = 'Détection de l\'installation existante'; $lang['wizard_step3'] = 'Tests de compatibilité'; $lang['wizard_step4'] = 'Information de configuration'; $lang['wizard_step5'] = 'Informations sur le compte d\'administration'; $lang['wizard_step6'] = 'Paramètres du site'; $lang['wizard_step7'] = 'Fichiers'; $lang['wizard_step8'] = 'Gestion de la base de données'; $lang['wizard_step9'] = 'Finalisation'; $lang['xml_functions'] = 'Vérification des fonctionnalités XML'; $lang['yes'] = 'Oui'; ?>questo processo al fine di procedere!

Una volta ripristinato il nome della directory admin al percorso originale, ricarica questa pagina.'; $lang['error_backupconfig'] = 'Non è stato possibile effettuare correttamente il backup del file di configurazione'; $lang['error_checksum'] = 'Il checksum del file estratto non corrisponde all\'originale'; $lang['error_cmstablesexist'] = 'Sembra che ci sia già un\'installazione di CMSMS in questo database. Per favore inserisci delle informazioni diverse per il database. Se desideri usare un diverso prefisso per le tabelle devi riavviare il processo di installazione ed attivare la modalità avanzata.'; $lang['error_createtable'] = 'Problema durante la creazione della tabella nel database. Forse è una questione di permessi'; $lang['error_dbconnect'] = 'Non è stato possibile collegarsi al database. Per favore ricontrolla le credenziali fornite'; $lang['error_dirnotvalid'] = 'La directory %s non esiste (o non è scrivibile)'; $lang['error_droptable'] = 'Problema durante l\'eliminazione della tabella. Forse è una questione di permessi'; $lang['error_filenotwritable'] = 'Non è stato possibile sovrascrivere il file %s (problema di permessi)'; $lang['error_internal'] = 'Spiacente, qualcosa non ha funzionato... (internal error) (%s)'; $lang['error_invalid_directory'] = 'Sembra che la directory che hai scelto per l\'installazione sia una directory di lavoro dello stesso installer'; $lang['error_invalidconfig'] = 'Errore nel file di configurazione oppure manca il file di configurazione'; $lang['error_invaliddbpassword'] = 'La password del database contiene dei caratteri non validi che non possono essere salvati in modo sicuro.'; $lang['error_invalidkey'] = 'Variabile membro non valida o chiave %s per la classe %s'; $lang['error_invalidparam'] = 'Parametro o valore del parametro non valido: %s'; $lang['error_invalidtimezone'] = 'Il fuso orario specificato non è valido'; $lang['error_invalidqueryvar'] = 'La variabile della query inserita contiene caratteri non validi. Per favore usa solo caratteri alfanumerici ed il segno di sottolineato.'; $lang['error_missingconfigvar'] = 'La chiave "%s" risulta mancante o non valida nel file config.ini'; $lang['error_noarchive'] = 'Problema nel trovare il file archivio... Per favore ricomincia'; $lang['error_nlsnotfound'] = 'Problema nel trovare i file NLS nell\'archivio'; $lang['error_nodatabases'] = 'Non è stato possibile trovare un\'estensione compatibile del database'; $lang['error_nodbhost'] = 'Per favore inserisci un hostname valido oppure un indirizzo IP per la connessione del database'; $lang['error_nodbname'] = 'Per favore inserisci il nome di un database valido presso l\'host specificato qui sopra'; $lang['error_nodbpass'] = 'Per favore inserisci una password valida per l\'autenticazione col database'; $lang['error_nodbprefix'] = 'Per favore inserisci un prefisso valido per le tabelle del database'; $lang['error_nodbtype'] = 'Per favore seleziona un tipo di database'; $lang['error_nodbuser'] = 'Per favore inserisci un username valido per l\'autenticazione col database'; $lang['error_nodestdir'] = 'Directory di destinazione non impostata'; $lang['error_nositename'] = 'Il nome del sito è un parametro richiesto. Per favore inseriscine uno adeguato per il tuo sito.'; $lang['error_notimezone'] = 'Per favore inserisci un fuso orario valido per questo server'; $lang['error_overwrite'] = 'Problema con i permessi: non posso sovrascrivere %s'; $lang['error_sendingmail'] = 'Errore nell\'invio della mail'; $lang['error_tzlist'] = 'Si è verificato un problema nel recuperare l\'elenco degli identificatori del fuso orario'; $lang['errorlevel_estrict'] = 'Controllo per E_STRICT'; $lang['errorlevel_edeprecated'] = 'Controllo per E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED è attivato in PHP error_reporting. Sebbene ciò non impedirà a CMSMS di funzionare, potrebbero venire visualizzati dei warning nelle schermate di output, in particolar modo con vecchi moduli di terze parti'; $lang['estrict_enabled'] = 'E_STRICT è attivato in PHP error_reporting. Sebbene ciò non impedirà a CMSMS di funzionare, potrebbero essere visualizzati dei warning nell\'output HTML, in particolar modo con vecchi moduli di terze parti'; $lang['fail_assets_dir'] = 'Una directory assets esiste già. Questa applicazione potrebbe scrivere in questa directory per razionalizzare il percorso dei file. Per favore assicurati di avere un backup'; $lang['fail_assets_msg'] = 'Una directory assets esiste già. Questa applicazione potrebbe scrivere in questa directory per razionalizzare il percorso dei file. Per favore assicurati di avere un backup'; $lang['fail_config_writable'] = 'Il processo HTTP non può scrivere nel file config.php. Per favore cerca di cambiare i permessi di questo file a 777 fino a che il processo di aggiornamento non sarà completato'; $lang['fail_curl_extension'] = 'L\'estensione curl non è stata trovata. Sebbene non sia un problema critico, ciò potrebbe provocare problemi con alcuni moduli di terze parti'; $lang['fail_database_support'] = 'Non sono stati trovati driver del database compatibili'; $lang['fail_file_get_contents'] = 'La funzione file_get_contents non esiste oppure è disattivata. CMSMS non può continuare (probabilmente anche l\'installer fallirà)'; $lang['fail_file_uploads'] = 'Le funzionalità di caricamento dei file sono disattivate in questo ambiente. Alcune funzioni di CMSMS non funzioneranno in questo ambiente'; $lang['fail_func_json'] = 'La funzionalità json non è stata trovata'; $lang['fail_func_gzopen'] = 'La funzione gzopen non è stata trovata'; $lang['fail_func_md5'] = 'La funzionalità md5 non è stata trovata'; $lang['fail_func_tempnam'] = 'La funzione tempnam non esiste. E\' una funzione richiesta per il funzionamento di CMSMS'; $lang['fail_func_ziparchive'] = 'La funzionalità ZipArchive non è stata trovata. Ciò potrebbe limitare il funzionamento'; $lang['fail_ini_set'] = 'Sembra che non sia possibile cambiare le impostazioni ini. Ciò potrebbe provocare problemi con i moduli di terze parti (o quando si attiva la modalità debug)'; $lang['fail_magic_quotes_runtime'] = 'Sembra che magic quotes siano attivate nella tua configurazione. Per favore disabilitale e riprova'; $lang['fail_max_execution_time'] = 'Il tuo tempo massimo di esecuzione di %s non coincide con il valore minimo di %s. Ti raccomandiamo di aumentarlo a %s o più'; $lang['fail_memory_limit'] = 'Il valore del tuo limite di memoria è troppo basso. Tu avevi %s, ma un minimo di %s è richiesto e %s viene raccomandato'; $lang['fail_multibyte_support'] = 'Il supporto a Multibyte non è attivato nella tua configurazione'; $lang['fail_output_buffering'] = 'Non è attivato Output buffering.'; $lang['fail_open_basedir'] = 'Sono attive le restrizioni Open basedir. CMSMS richiede che ciò venga disattivato'; $lang['fail_php_version'] = 'La versione di PHP disponibile per CMSMS è di importanza critica. La versione minima accettata è la %s, sebbene si raccomandi la versione %s o superiore. Tu hai la %s'; $lang['fail_post_max_size'] = 'Il tuo post max size di %s non coincide con il valore minimo di %s. Un valore %s o superiore è raccomandato ed assicurati che sia più ampio del upload_max_filesize'; $lang['fail_pwd_writable2'] = 'Il processo HTTP deve essere in grado di scrivere nella directory di destinazione (in tutti i file e nelle directory al di sotto) al fine di installare i file. Non abbiamo i permessi di scrittura in (almeno ) %s'; $lang['fail_register_globals'] = 'Per favore disattiva register globals nella tua configurazione di PHP'; $lang['fail_remote_url'] = 'Abbiamo riscontrato dei problemi nel collegarci ad un URL remoto. Ciò limiterà alcune funzionalità di CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS non funzionerà correttamente in un ambiente dove sia attivato safe mode. Safe mode è deprecato in quanto modalità non più valida e verrà rimosso nelle prossime versioni di PHP'; $lang['fail_session_save_path_exists'] = 'Il valore della variabile della sessione save path non è valido'; $lang['fail_session_save_path_writable'] = 'La directory della sessione save path non è scrivibile'; $lang['fail_session_use_cookies'] = 'CMSMS richiede che il PHP sia configurato in modo da archiviare la chiave della sessione in un cookie'; $lang['fail_tmpfile'] = 'La funzione system tmpfile() non funziona. Ciò è richiesto per consentirci di estrarre gli archivi. L\'argomento dell\'url TMPDIR facoltativo può essere fornito all\'installer per indicare una directory scrivibile. Si veda il file README che dovrebbe essere incluso in questa directory.'; $lang['fail_tmp_dirs_empty'] = 'Le directory temporanee di CMSMS (tmp/cache e tmp/templates_c) esistono e non sono vuote. Per favore rimuovile o svuotale'; $lang['fail_xml_functions'] = 'L\'estensione XML non è stata trovata. Per favore attivala nel tuo ambiente PHP'; $lang['failed'] = 'fallito'; $lang['file_get_contents'] = 'Test della funzione file_get_contents'; $lang['file_installed'] = 'Installato %s'; $lang['file_uploads'] = 'Controllo il supporto per l\'upload di file'; $lang['finished_custom_freshen_msg'] = 'La tua installazione è stata rinnovata! I file del core sono stati aggiornati ed un nuovo file di configurazione è stato creato. Per favore visita il tuo sito per verificare che tutto funzioni correttamente'; $lang['finished_custom_install_msg'] = 'Fatto! Per favore visita il tuo sito ed effettua il login al pannello di amministrazione.'; $lang['finished_custom_upgrade_msg'] = 'Fatto! Per favore visita il pannello di amministrazione del tuo CMSMS ed il frontend per verificare che tutto funzioni correttamente.
Suggerimento: Adesso è il momento giusto per creare un nuovo backup.'; $lang['finished_freshen_msg'] = 'La tua installazione è stata rinnovata! I file del core sono stati aggiornati ed un nuovo file di configurazione è stato creato. Ora puoi visitare il tuo sito o effettuare il login al pannello di amministrazione di CMSMS.'; $lang['finished_install_msg'] = 'Abbiamo finito! Ora puoi visitare il tuo sito o effettuare il login al pannello di amministrazione di CMSMS.'; $lang['finished_upgrade_msg'] = 'Tutto fatto! Per favore visita il frontend del tuo sito e il Pannello di amministrazione per verificare che funzioni correttamente. Potresti anche dover aggiornare alcuni moduli di terze parti.
Suggerimento: Ricordati di creare un altro backup dopo aver verificato il corretto funzionamento.'; $lang['freshen'] = 'Rinnova (ripara) installazione'; $lang['func_json'] = 'Controllo la funzionalità json di encoding e decoding'; $lang['func_md5'] = 'Controllo la funzionalità md5'; $lang['func_tempnam'] = 'Controllo funzione tempnam'; $lang['func_gzopen'] = 'Controllo funzione gzopen'; $lang['func_ziparchive'] = 'Controllo funzione ziparchive'; $lang['gd_version'] = 'Versione GD'; $lang['goback'] = 'Indietro'; $lang['info_addlanguages'] = 'Seleziona le lingue(in aggiunta all\'inglese) da installare. Nota: non tutte le traduzioni sono complete.'; $lang['info_adminaccount'] = 'Per favore fornisci le credenziali per l\'account dell\'amministratore iniziale. Questo account avrà accesso a tutte le funzionalità della console amministrativa di CMSMS.'; $lang['info_advanced'] = 'La modalità avanzata abilita altre opzioni nella procedura di installazione.'; $lang['info_dbinfo'] = 'CMS Made Simple archivia una grande mole di dati nel database. Una connessione al database è obbligatoria. Inoltre, le credenziali dell\'utente che fornisci debbono avere ALL PRIVILEGES sul database indicato per consentire la creazione, l\'eliminazione e la modifica delle tabelle, indici e views.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED è un flag per la segnalazione di errori di PHP che indica che dei warnings dovrebbero essere mostrati in relazione a codice che usa tecniche deprecate. Sebbene il core di CMSMS cerchi di assicurare che non si usino più tecniche deprecate, alcuni moduli potrebbero non farlo. Si raccomanda di disattivare questa impostazione nella configurazione di PHP'; $lang['info_errorlevel_estrict'] = 'E_STRICT è un flag per la segnalazione di errori di PHP il quale indica che devono essere rispettati rigorosi standard di codifica. Sebbene il core di CMSMS cerchi di conformarsi agli standard di E_STRICT, alcuni moduli potrebbero non farlo. Si raccomanda che questa impostazione venga disattivata nella configurazione di PHP'; $lang['info_installcontent'] = 'Di default, questo installer creerà una serie di pagine di esempio, fogli di stile e modelli in CMSMS. I contenuti di esempio forniscono informazioni estese e suggerimenti per aiutare nella creazione di siti web con CMSMS ed è utile leggerli. Tuttavia, se hai già confidenza con CMS Made Simple, disabilitando questa opzione si otterranno un insieme minimo di modelli, fogli di stile e pagine di contenuto.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir è attivato nella tua configurazione di PHP. Non è stato possibile verificare adeguatamente le capacità di sessione. Tuttavia, essendo arrivati a questopunto del processo di installazione significa probabilmente che le sessioni funzionano correttamente.'; $lang['info_pwd_writable'] = 'Questa applicazione necessita dei permessi di scrittura nella directory di lavoro corrente'; $lang['info_queryvar'] = 'La variabile della query viene usata internamente da CMSMS per identificare la pagina richiesta. Nella maggior parte dei casi non dovrebbe essere necessario regolarla.'; $lang['info_sitename'] = 'Il nome del sito viene usato nei modelli predefiniti come parte del titolo. Per favore inserisci un nome per il sito leggibile da parte di una persona'; $lang['info_timezone'] = 'L\'informazione relativa al fuso orario è necessaria per i calcoli del tempo e per le visualizzazioni di tempo/data. Per favore seleziona il fuso orario del server'; $lang['ini_set'] = 'Test della possibilità di cambiare le impostazioni INI in corso'; $lang['install'] = 'Installa'; $lang['install_attachstylesheets'] = 'Collega i fogli di stile ai temi'; $lang['install_backupconfig'] = 'Back up del file di configurazione in corso'; $lang['install_createassets'] = 'Crea struttura assets'; $lang['install_created_index'] = 'Creato indice %s ... %s'; $lang['install_create_tables'] = 'Crea tabelle database'; $lang['install_createconfig'] = 'Crea nuovo file di configurazione'; $lang['install_createcontentpages'] = 'Crea pagine di contenuto predefinito'; $lang['install_created_table'] = 'Creata tabella %s: .... %s'; $lang['install_createtablesindexes'] = 'Creazione di tabelle ed indici in corso'; $lang['install_createtmpdirs'] = 'Crea directory temporanee'; $lang['install_creating_index'] = 'Creato indice %s'; $lang['install_default_collections'] = 'Installa le collezioni predefinite'; $lang['install_defaultcontent'] = 'Installa il contenuto predefinito'; $lang['install_detectlanguages'] = 'Rileva lingue installate'; $lang['install_dropping_tables'] = 'Eliminazione tabelle in corso'; $lang['install_dummyindexhtml'] = 'Crea file index.html vuoti'; $lang['install_extractfiles'] = 'Estrai file dall\'archivio'; $lang['install_initevents'] = 'Crea eventi'; $lang['install_initsitegroups'] = 'Crea gruppi iniziali'; $lang['install_initsiteperms'] = 'Imposta i permessi iniziali'; $lang['install_initsiteprefs'] = 'Imposta le preferenze iniziali del sito'; $lang['install_initsiteusers'] = 'Crea l\'account dell\'utente iniziale'; $lang['install_initsiteusertags'] = 'Tag definiti dall\'utente iniziali'; $lang['install_module'] = 'Installa il modulo %s'; $lang['install_modules'] = 'Installa moduli disponibili'; $lang['install_passwordsalt'] = 'Imposta password salt'; $lang['install_requireddata'] = 'Imposta i dati iniziali richiesti'; $lang['install_schema'] = 'Crea schema del database'; $lang['install_setschemaver'] = 'Imposta versione schema'; $lang['install_setsequence'] = 'Resetta sequenza tabelle'; $lang['install_setsitename'] = 'Imposta il nome del sito'; $lang['install_stylesheets'] = 'Crea i fogli di stile predefiniti'; $lang['install_templates'] = 'Crea i modelli predefiniti'; $lang['install_templatetypes'] = 'Crea tipi di modelli standard'; $lang['install_update_sequences'] = 'Aggiorna sequenza tabelle'; $lang['install_updatehierarchy'] = 'Aggiorna le posizioni di gerarchia del contenuto'; $lang['install_updateseq'] = 'Aggiorna sequenza per %s'; $lang['installer_ver'] = 'Versione installer'; $lang['legend'] = 'Legenda'; $lang['magic_quotes_runtime'] = 'Assicurati che magic quotes siano disattivate'; $lang['max_execution_time'] = 'Verifica del tempo massimo di esecuzione dello script PHP in corso'; $lang['meaning'] = 'Significato'; $lang['memory_limit'] = 'Verifica di un limite sufficiente di memoria di PHP in corso'; $lang['msg_clearedcache'] = 'Pulita la cache del server'; $lang['msg_configsaved'] = 'File di configurazione esistente salvato in %s'; $lang['msg_upgrade_module'] = 'Aggiornamento in corso del modulo %s'; $lang['msg_upgrademodules'] = 'Aggiornamento dei moduli in corso'; $lang['msg_yourvalue'] = 'Tu hai: %s'; $lang['multibyte_support'] = 'Verifica del supporto multibyte'; $lang['next'] = 'Avanti'; $lang['no'] = 'No'; $lang['none'] = 'Nessuno'; $lang['open_basedir'] = 'Restrizioni open_basedir'; $lang['open_basedir_session_save_path'] = 'open_basedir è attivato. Non posso testare la sessione save path.'; $lang['output_buffering'] = 'Verifica abilitazione dell\'output del buffering'; $lang['pass_config_writable'] = 'Il processo HTTP ha il permesso di scrittura nel file config.php'; $lang['pass_database_support'] = 'Trovato almeno un driver di database compatibile'; $lang['pass_func_json'] = 'Rilevata la funzionalità json'; $lang['pass_func_md5'] = 'La funzionalità md5 è stata rilevata'; $lang['pass_func_tempnam'] = 'La funzione tempnam esiste'; $lang['pass_memory_limit_nolimit'] = 'Non c\'è un limite di memoria PHP preimpostato'; $lang['pass_multibyte_support'] = 'Il supporto Multibyte sembra essere abilitato'; $lang['pass_php_version'] = 'La versione di PHP attualmente configurata non corrisponde ai requisiti minimi. Si richiede almeno PHP %s , ma si raccomanda %s o superiore'; $lang['pass_pwd_writable'] = 'Il processo HTTP può scrivere nella directory di destinazione. Ciò è necessario per estrarre i file'; $lang['password'] = 'Password'; $lang['ph_sitename'] = 'Inserisci un nome del sito'; $lang['php_version'] = 'Versione PHP'; $lang['post_max_size'] = 'Verifica della massima quantità di dati che può essere inviata in una richiesta'; $lang['prompt_addlanguages'] = 'Lingue aggiuntive'; $lang['prompt_createtables'] = 'Crea tabelle del database'; $lang['prompt_dbhost'] = 'Hostname del database'; $lang['prompt_dbinfo'] = 'Informazioni del database'; $lang['prompt_dbname'] = 'Nome del database'; $lang['prompt_dbpass'] = 'Password'; $lang['prompt_dbport'] = 'Numero della porta del database'; $lang['prompt_dbprefix'] = 'Prefisso nome tabella del database'; $lang['prompt_dbtype'] = 'Tipo di database'; $lang['prompt_dbuser'] = 'Nome utente'; $lang['prompt_dir'] = 'Directory di installazione'; $lang['prompt_installcontent'] = 'Installa contenuti di esempio'; $lang['prompt_queryvar'] = 'Variabile Query'; $lang['prompt_sitename'] = 'Nome del sito web'; $lang['prompt_timezone'] = 'Fuso orario del server'; $lang['pwd_writable'] = 'Directory scrivibile'; $lang['queue_for_upgrade'] = 'Accodato modulo non core %s per aggiornamento al prossimo step.'; $lang['readme_uc'] = 'README'; $lang['register_globals'] = 'Verifica disabilitazione "register globals"'; $lang['remote_url'] = 'Test sulla possibilità di effettuare connessioni HTTP in uscita'; $lang['repeatpw'] = 'Ripeti password'; $lang['reset_site_preferences'] = 'Resetta alcune preferenze del sito'; $lang['reset_user_settings'] = 'Resetta le preferenze dell\'utente'; $lang['retry'] = 'Riprova'; $lang['safe_mode'] = 'Test per verificare che "safe mode" sia disabilitato'; $lang['saltpasswords'] = 'Salt Passwords'; $lang['select_language'] = 'La prima cosa che ti chiediamo di fare è quella di selezionare la tua lingua preferita dall\'elenco qui sotto. Ciò servirà a migliorare la tua esperienza durante la procedura di installazione, ma non inciderà sull\'installazione di CMSMS.'; $lang['send_admin_email'] = 'Invia e-mail con le credenziali per il login dell\'amministratore'; $lang['session_capabilities'] = 'Test sulle corrette funzionalità di sessione (le sessioni usano i cookie e il percorso di salvataggio della sessione è scrivibile, ecc)'; $lang['session_save_path_exists'] = 'Session_save_path esiste'; $lang['session_save_path_writable'] = 'Session_save_path è scrivibile'; $lang['session_use_cookies'] = 'Verifica che le sessioni PHP usino i cookie'; $lang['sometests_failed'] = 'Sono stati effettuati numerosi test del tuo attuale ambiente web. Sebbene non siano stati rilevati problemi critici, si raccomanda che i seguenti elementi vengano corretti prima di continuare.'; $lang['step1_advanced'] = 'Modalità avanzata'; $lang['step1_destdir'] = 'Seleziona la directory'; $lang['step1_info_destdir'] = 'Attenzione: Questo programma può installare od aggiornare installazioni multiple di CMS Made Simple. E\' importante che tu selezioni la directory corretta per l\'installazione o per l\'aggiornamento.'; $lang['step1_language'] = 'Seleziona la lingua'; $lang['step1_title'] = 'Seleziona la lingua'; $lang['step2_cmsmsfound'] = 'E\' stata rilevata un\'installazione di CMS Made Simple. Si può aggiornare questa installazione. Tuttavia, prima di procedere, assicurati di avere un backup attuale e verificato di tutti i file e del database'; $lang['step2_cmsmsfoundnoupgrade'] = 'Sebbene sia stata rilevata un\'installazione di CMS Made Simple, non si può aggiornare questa versione usando questa applicazione. La versione potrebbe essere troppo vecchia.'; $lang['step2_confirminstall'] = 'Sei sicuro di voler installare CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Sei sicuro di voler aggiornare CMS Made Simple'; $lang['step2_errorsamever'] = 'Sembra che la directory selezionata contenga già un\'installazione di CMSMS con la stessa versione inclusa in questo script. Continuando si rinnoverà l\'installazione.'; $lang['step2_errortoonew'] = 'Sembra che la directory selezionata contenga già un\'installazione di CMSMS con una versione più recente di quella contenuta in questo script. Impossibile procedere'; $lang['step2_info_freshen'] = 'Il rinnovamento dell\'installazione comporta la sostituzione di tutti i file del core e la creazione di una nuova configurazione. Ti verranno richieste alcune informazioni di base relative alla configurazione, tuttavia il database non verrà toccato.'; $lang['step2_installdate'] = 'Data approssimativa di installazione'; $lang['step2_install_dirnotempty2'] = 'Questa cartella contiene già alcuni file e/o sottocartelle. Sebbene sia possibile installare qui CMSMS, ciò potrebbe inavvertitamente danneggiare un\'applicazione esistente. Per favore ricontrolla i contenuti di questa cartella. A scopo di riferimento alcuni di questi file sono elencati qui sotto. Per favore assicurati che ciò sia esatto.'; $lang['step2_hdr_upgradeinfo'] = 'Informazioni di versione'; $lang['step2_info_upgradeinfo'] = 'Qui sotto trovi le note di rilascio disponibili e le informazioni del changelog per ogni release. Il pulsante sottostante mostrerà informazioni dettagliate su cosa è cambiato in ogni versione di CMS Made Simple. Potrebbero esserci ulteriori istruzioni od avvisi in ogni versione che potrebbero incidere sul processo di aggiornamento.'; $lang['step2_minupgradever'] = 'La versione minima dalla quale questa applicazione può effettuare l\'aggiornamento è: %s. Dovresti aggiornare la tua applicazione ad una versione più recente in più passaggi, usando un altro metodo prima di completare il processo di aggiornamento. Per favore assicurati di avere un backup completo e verificato prima di usare un qualsiasi metodo di aggiornamento.'; $lang['step2_nocmsms'] = 'Non è stata rilevata un\'installazione di CMS Made Simple in questa directory. Sembra che questa sia una nuova installazione'; $lang['step2_nofiles'] = 'Come richiesto, i file del Core di CMSMS non saranno elaborati durante questo processo'; $lang['step2_passed'] = 'Superato'; $lang['step2_pwd'] = 'La tua directory di lavoro attuale'; $lang['step2_schemaver'] = 'Versione Schema Database'; $lang['step2_version'] = 'La tua versione'; $lang['step3_failed'] = 'Questo pacchetto ha effettuato numerosi test del tuo ambiente PHP ed uno o più di questi test sono falliti. Dovrai correggere questi errori nella tua configurazione prima di continuare. Una volta corretti gli errori, clicka su "Riprova" qui sotto.'; $lang['step3_passed'] = 'Questo pacchetto ha effettuato numerosi test del tuo ambiente PHP e sono stati tutti superati. Questa è un\'ottima notizia! Sebbene non si tratti di un test onnicomprensivo, non dovresti avere difficoltà a far funzionare l\'installazione del core di CMSMS.'; $lang['step9_removethis'] = 'Attenzione Per ragioni di sicurezza è importante che venga rimosso l\'installer dal tuo sito navigabile appena avrai verificato che l\'operazione abbia avuto successo.'; $lang['symbol'] = 'Simbolo'; $lang['social_message'] = 'CMS Made Simple è stato installato con successo!'; $lang['test_failed'] = 'Un test richiesto è fallito'; $lang['test_passed'] = 'Un test è stato superato (i test superati vengono mostrati solo nella modalità avanzata)'; $lang['test_warning'] = 'Un\'impostazione è al di sopra del valore richiesto, ma al di sotto del valore raccomandato, o...
Una funzionalità che potrebbe essere necessaria per qualche funzionalità opzionale non è disponibile'; $lang['th_status'] = 'Stato'; $lang['th_testname'] = 'Test'; $lang['th_value'] = 'Valore'; $lang['title_error'] = 'Houston, abbiamo un problema!'; $lang['title_step2'] = 'Passo 2 - Rilevamento software esistente'; $lang['title_step3'] = 'Passo 3 - Test'; $lang['title_step4'] = 'Passo 4 - Informazioni di base per la configurazione'; $lang['title_step5'] = 'Passo 5 - Informazioni per l\'account dell\'amministratore'; $lang['title_step6'] = 'Passo 6 - Impostazioni del sito'; $lang['title_step7'] = 'Passo 7 - Installa i file dell\'applicazione'; $lang['title_step8'] = 'Passo 8 - Lavoro sul Database'; $lang['title_step9'] = 'Passo 9 - Finito'; $lang['title_welcome'] = 'Benvenuto'; $lang['title_forum'] = 'Forum di supporto'; $lang['title_docs'] = 'Documentazione ufficiale'; $lang['title_api_docs'] = 'Documentazione API ufficiale'; $lang['to'] = 'a'; $lang['title_share'] = 'Condividi la tua esperienza con i tuoi amici.'; $lang['tmpfile'] = 'Controllo funzionamento tmpfile()'; $lang['tmp_dirs_empty'] = 'Verifica che le directory temporanee siano vuote o che non esistano'; $lang['upgrade'] = 'Aggiorna'; $lang['upgrade_deleteoldevents'] = 'Cancellazione vecchi eventi'; $lang['upgrading_schema'] = 'Aggiornamento schema database'; $lang['upload_max_filesize'] = 'Controllo dimensione massima dei file caricati'; $lang['username'] = 'Nome utente'; $lang['warn_disable_functions'] = 'Nota: una o più funzioni del core di PHP sono disabilitate. Ciò può avere un impatto negativo sulla tua installazione di CMSMS, in particolar modo con estensioni di terze parti. Per favore tieni d\'occhio il tuo error log. Le tue funzioni disabilitate sono:

%s'; $lang['warn_max_execution_time'] = 'Sebbene il tuo tempo massimo di esecuzione di %s sia pari o superiore al valore minimo di %s, si raccomanda di aumentarlo a %s o superiore'; $lang['warn_memory_limit'] = 'Il valore del tuo limite di memoria è %s, che è al di sopra del minimo di %s. Tuttavia, si raccomanda %s'; $lang['warn_open_basedir'] = 'open_basedir è abilitato nella tua configurazione php. Sebbene tu possa continuare, CMSMS non supporterà installazioni con restrizioni open_basedir.'; $lang['warn_post_max_size'] = 'Il valore della massima dimensione dei post è %s, che è al di sopra del minimo di %s, tuttavia si raccomanda %s . Per favore assicurati anche che questo valore sia superiore a upload_max_filesize'; $lang['warn_tests'] = 'Nota: Il superamento di tutti questi test dovrebbe garantire che CMSMS funzioni correttamente per la maggior parte dei siti. Tuttavia, col crescere del sito e l\'aggiunta di altre funzionalità, questi valori minimi potrebbero diventare insufficienti. Inoltre, moduli di terze parti potrebbero aver bisogno di altre risorse per funzionare correttamente'; $lang['warn_upload_max_filesize'] = 'Sebbene la tua impostazione di %s sia sufficiente, si raccomanda di aumentare l\'impostazione di upload_max_filesize in PHP ad almeno %s'; $lang['welcome_message'] = 'Benvenuto! Questo è il Sistema Automatico di Installazione di CMS Made Simple. Questo pacchetto ti consentirà di avere rapidamente e facilmente la conferma che il tuo host web è compatibile con CMSMS e di installarlo od aggiornarlo alla versione più recente di CMS Made Simple.
Siamo sicuri che lo apprezzerai.'; $lang['wizard_step1'] = 'Benvenuto'; $lang['wizard_step2'] = 'Rilevazione software esistente'; $lang['wizard_step3'] = 'Test di compatibilità'; $lang['wizard_step4'] = 'Informazioni di configurazione'; $lang['wizard_step5'] = 'Informazioni dell\'account dell\'amministratore'; $lang['wizard_step6'] = 'Impostazioni del sito'; $lang['wizard_step7'] = 'File'; $lang['wizard_step8'] = 'Lavoro database'; $lang['wizard_step9'] = 'Finito'; $lang['xml_functions'] = 'Controllo funzionalità XML in corso'; $lang['yes'] = 'Sì'; ?> denne prosessen for å fortsette!'; $lang['error_backupconfig'] = 'Vi kunne ikke skikkelig ta sikkerhetskopi av config-filen'; $lang['error_checksum'] = 'Utpakket fil checksum samsvarer ikke med original'; $lang['error_cmstablesexist'] = 'Det ser ut til at det allerede er en CMS installasjon på denne databasen. Vennligst oppgi annen databaseinformasjon. Hvis du ønsker å bruke en annen tabell prefix vil du måtte restarte installasjonsprosessen og aktivere avansert modus.'; $lang['error_createtable'] = 'Problem med å opprette databasetabell... mulig dette er et rettighetsproblem'; $lang['error_dbconnect'] = 'Vi kunne ikke koble til databasen. Vennligst dobbeltsjekk legitimasjonen du har oppgitt'; $lang['error_dirnotvalid'] = 'Katalogen %s finnes ikke (eller så er den ikke skrivbar)'; $lang['error_droptable'] = 'Problem fjerne databasetabell ... kanskje dette er et problem med tillatelser'; $lang['error_filenotwritable'] = 'Filen %s kunne ikke overskrives (tillatelses problem)'; $lang['error_internal'] = 'Beklager, noe har gått galt ... (intern feil) (%s)'; $lang['error_invalid_directory'] = 'Det ser ut til at den katalogen du har valgt å installere i er en arbeidskatalog for installatøren selv'; $lang['error_invalidconfig'] = 'Feil i config-filen, eller config fil mangler'; $lang['error_invaliddbpassword'] = 'Database passord inneholder ugyldige tegn som ikke trygt kan lagres.'; $lang['error_invalidkey'] = 'Ugyldig medlemsvariabel eller nøkkel %s for klasse %s'; $lang['error_invalidparam'] = 'Ugyldig parameter eller verdi for parameter: %s'; $lang['error_invalidtimezone'] = 'Tidssonen er ugyldig'; $lang['error_invalidqueryvar'] = 'Forespørselvariabelen inneholder ugyldige tegn. Bruk bare alfanumeriske tegn og understrek.'; $lang['error_missingconfigvar'] = 'Nøkkelen "%s" enten mangler eller er ugyldig i filen config.ini'; $lang['error_noarchive'] = 'Problem med å finne arkivfilen ... vennligst start på nytt'; $lang['error_nlsnotfound'] = 'Problemer med å finne NLS filer i arkivet'; $lang['error_nodatabases'] = 'Ingen kompatible database utvidelser ble funnet'; $lang['error_nodbhost'] = 'Vennligst skriv inn et gyldig vertsnavn (eller IP-adresse) for databasetilkoblingen'; $lang['error_nodbname'] = 'Vennligst skriv inn navnet på en gyldig database på verten angitt ovenfor'; $lang['error_nodbpass'] = 'Vennligst skriv inn et gyldig passord for å autentisere til databasen'; $lang['error_nodbprefix'] = 'Vennligst skriv inn et gyldig prefiks for databasetabeller'; $lang['error_nodbtype'] = 'Vennligst velg en database type'; $lang['error_nodbuser'] = 'Vennligst skriv inn et gyldig brukernavn for autentisering til databasen'; $lang['error_nodestdir'] = 'Målkatalog ikke satt'; $lang['error_nositename'] = 'Nettstedsnavn er en nødvendig parameter. Vennligst skriv inn et passende navn på ditt nettsted.'; $lang['error_notimezone'] = 'Vennligst skriv inn en gyldig tidssone for denne serveren'; $lang['error_overwrite'] = 'Tillatelsesproblem: kan ikke overskrive %s'; $lang['error_sendingmail'] = 'Feil ved sending av e-post'; $lang['error_tzlist'] = 'Et problem oppstod med å hente listen med tidssone identifikatorer'; $lang['errorlevel_estrict'] = 'Tester for E_STRICT'; $lang['errorlevel_edeprecated'] = 'Tester for E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED er aktivert i PHP\'s error_reporting. Selv om dette ikke vil hindre CMSMS fra drift kan det resultere i at advarsler blir vist i utdataene. Spesielt fra eldre tredjeparts moduler'; $lang['estrict_enabled'] = 'E_STRICT er aktivert i PHP\'s error_reporting. Selv om dette ikke vil hindre CMSMS fra drift, kan det resultere i advarsler blir vist i HTML-visning. Spesielt fra eldre tredjeparts moduler'; $lang['fail_assets_dir'] = 'En eiendel katalog finnes allerede. Dette programmet kan skrive til denne katalogen for å rasjonere plasseringen av filene. Vennligst sørg for at du har en sikkerhetskopi'; $lang['fail_assets_msg'] = 'En eiendeler katalog finnes allerede. Denne applikasjonen kan skrive til denne katalogen for å rasjonalisere plasseringen av filer. Sørg for at du har en sikkerhetskopi'; $lang['fail_config_writable'] = 'HTTP-prosessen kan ikke skrive til config.php filen. Vennligst prøv å endre tillatelsene på denne filen til 777 inntil oppgraderingen er fullført'; $lang['fail_curl_extension'] = 'Curl utvidelsen er ikke funnet. Selv om ikke dette er et kritisk problem så kan dette føre til problemer med enkelte tredjeparts moduler'; $lang['fail_database_support'] = 'Ingen Kompatible database drivere funnet'; $lang['fail_file_get_contents'] = 'file_get_contents funksjonen finnes ikke, eller er deaktivert. CMSMS Kan ikke fortsette (selv installasjonsprogrammet vil sannsynligvis mislykkes)'; $lang['fail_file_uploads'] = 'Opplasting funksjoner er deaktivert i dette miljøet. Flere funksjoner i CMSMS vil ikke fungere i dette miljøet'; $lang['fail_func_json'] = 'json funksjonalitet ble ikke funnet'; $lang['fail_func_gzopen'] = 'gzopen funkjson ble ikke funnet'; $lang['fail_func_md5'] = 'md5 funksjonalitet ble ikke funnet'; $lang['fail_func_tempnam'] = 'tempnam funksjonen finnes ikke. Dette er en nødvendig funksjon for CMSMS funksjonaliteten'; $lang['fail_func_ziparchive'] = 'ZipArchive funksjonalitet ble ikke funnet. Dette kan begrense funksjonaliteten'; $lang['fail_ini_set'] = 'Det ser ut til at vi ikke kan endre ini innstillinger. Dette kan føre til problemer i tredjeparts moduler (eller ved aktivering av debug-modus)'; $lang['fail_intl_support'] = 'PHP internasjonaliseringsutvidelse er ikke tilgjengelig'; $lang['fail_magic_quotes_runtime'] = 'Det ser ut til at magic quotes(/magiske sitater) er aktivert i konfigurasjonen. Vennligst deaktivere dette og prøv på nytt'; $lang['fail_max_execution_time'] = 'Din maks Execution time på %s oppfyller ikke minimumsverdien på %s. Vi anbefaler deg å øke det til %s eller høyere'; $lang['fail_memory_limit'] = 'Memory Limit grenseverdien er for lav. Du hadde %s, men et minimum på %s er nødvendig, og %s er anbefalt'; $lang['fail_multibyte_support'] = 'Multibyte støtte er ikke aktivert i din konfigurasjon'; $lang['fail_output_buffering'] = 'Output Buffering(/Mellomlagring av utdata) er ikke aktivert.'; $lang['fail_open_basedir'] = 'Open basedir restriksjoner er i kraft. CMSMS krever at dette skal være deaktivert'; $lang['fail_php_version'] = 'Versjonen av PHP tilgjengelig for CMSMS er av kritisk betydning. Minste aksepterte versjonen er %s, men vi anbefaler %s eller høyere. Du har %s'; $lang['fail_post_max_size'] = 'Din Post max size(/innlegg maks størrelse) på %s oppfyller ikke minimumsverdien på %s. Du må øke til påkrevd minimum. Men du bør øke den til %s og også sikre at det er større enn upload_max_filesize'; $lang['fail_pwd_writable2'] = 'HTTP-prosessen må være i stand til å skrive til destinasjons katalogen (og til alle filer og kataloger under den) for å installere filer. Vi har ikke skrivetilgang til (minst) %s'; $lang['fail_register_globals'] = 'Vennligst deaktiver Register Globals i din PHP konfigurasjon'; $lang['fail_remote_url'] = 'Vi fikk problemer med å koble til en ekstern URL. Dette vil begrense noe av funksjonaliteten i CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS vil ikke fungere skikkelig i et miljø hvor sikkermodus er aktivert. Bare så dere vet: Sikkermodus er foreldet som en mislykket mekanisme, og vil bli fjernet i fremtidige versjoner av PHP'; $lang['fail_session_save_path_exists'] = 'Session save path variabelverdien er ugyldig eller mappen finnes ikke'; $lang['fail_session_save_path_writable'] = 'Session save path katalogen er ikke skrivbar'; $lang['fail_session_use_cookies'] = 'Sessijoner er IKKE satt til å benytte cookies'; $lang['fail_tmpfile'] = 'Systemets tmpfile() -funksjon fungerer ikke. Dette er nødvendig for å tillate oss å trekke ut arkiver. Det valgfrie TMPDIR url argumentet kan gis for installasjonsprogrammet for å spesifisere en skrivbar katalog. Se README-filen som bør være i inkludert i denne katalogen.'; $lang['fail_tmp_dirs_empty'] = 'De CMSMS Midlertidige kataloger (tmp/cache and tmp/templates_c) eksisterer, og er ikke tom. Vennligst fjern eller tømme dem'; $lang['fail_xml_functions'] = 'XML utvidelsen ble ikke funnet. Vennligst aktiver dette i ditt PHP miljø'; $lang['failed'] = 'feilet'; $lang['file_get_contents'] = 'Testing av file_get_contents funksjonen'; $lang['file_installed'] = 'Installert %s'; $lang['file_uploads'] = 'Testing for filopplasting støtte'; $lang['finished_custom_freshen_msg'] = 'Installasjonen har blitt oppfrisket! Kjerne filene har blitt oppdatert, og en ny config-fil er opprettet. Vennligst besøk nettstedet ditt for å forsikre at alt fungerer som det skal'; $lang['finished_custom_install_msg'] = 'Hva! Vi er klare. Vennligst besøk nettstedet og logg inn i administrasjonspanelet'; $lang['finished_custom_upgrade_msg'] = 'Hva! Alt er ferdig. Vennligst besøk ditt CMSMS Admin panel, og frontend for å sikre at alt fungerer som det skal
Hint: Nå er et godt tidspunkt å ta en ny backup.'; $lang['finished_freshen_msg'] = 'Installasjonen har blitt oppfrisket! Kjerne filene har blitt oppdatert, og en ny config-filen er opprettet. Du kan nå besøke nettstedet ditt eller logge inn på CMSMS Admin panelet.'; $lang['finished_install_msg'] = 'Hva! Vi er klare. Du kan nå besøke nettstedet ditt eller logge inn på CMSMS admin panelet.'; $lang['finished_upgrade_msg'] = 'Hva! Alt er klart. Vennligst besøk ditt nettsteds frontend og Admin panel for å verifisere korrekt oppførsel. Du må kanskje også oppgradere noen tredjeparts moduler
Hint: Husk å ta en ny backup etter å ha kontrollert korrekt oppførsel.'; $lang['freshen'] = 'Oppfriske (reparere) installasjon'; $lang['func_json'] = 'Sjekke for JSON koding og dekoding'; $lang['func_md5'] = 'Sjekke for md5 funksjonalitet'; $lang['func_tempnam'] = 'Sjekk for tempnam funksjon'; $lang['func_gzopen'] = 'Sjekk for gzopen funksjon'; $lang['func_ziparchive'] = 'Sjekk for ziparchive funksjon'; $lang['gd_version'] = 'GD versjon'; $lang['goback'] = 'Tilbake'; $lang['info_addlanguages'] = 'Velg språk (i tillegg til engelsk) som skal installeres. Merk: ikke alle oversettelser er fullført.'; $lang['info_adminaccount'] = 'Vennligst oppgi legitimasjon for den første administratorkontoen. Denne kontoen vil ha tilgang til all funksjonalitet i CMSMS admin konsollen.'; $lang['info_advanced'] = 'Avansert modus gir flere alternativer i installasjonsprosedyren.'; $lang['info_dbinfo'] = 'CMS Made Simple lagrer mye data i databasen. En database tilkobling er obligatorisk. I tillegg bør den brukerlegitimasjonen du leverer har alle privilegier på den angitte databasen for å tillate oppretting, sletting og endring av tabeller, indekser og visninger.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED er et flagg for php\'s feilrapportering som indikerer at advarsler skal vises om kode som bruker utdaterte teknikker. For CMSMS kjernen forsøker vi å sikre at vi ikke lenger bruker utdaterte teknikker, noen moduler kanskje ikke følger opp dette. Vi anbefaler at denne innstillingen deaktiveres i PHP-konfigurasjonen'; $lang['info_errorlevel_estrict'] = 'E_STRICT er et flagg for php\'s feilrapportering som viser at strenge kodestandarder bør respekteres. Selv om CMSMS kjernen forsøker å samsvare med E_STRICT standarder så mulig enkelte moduler ikke er det. Vi anbefaler at denne innstillingen deaktiveres i PHP-konfigurasjonen'; $lang['info_installcontent'] = 'Som standard vil dette installasjonsprogrammet skape en rekke eksempler på sider, stilark og maler i CMSMS. Prøveinnholdet gir omfattende informasjon og tips til hjelpe i å bygge nettsteder med CMSMS og er nyttig å lese. Hvis du allerede er kjent med CMS Made Simple så vil deaktivering av dette alternativet vil bare opprette et minimalt sett med maler, stilark og innholdssider.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir er aktivert i din PHP konfigurasjon. Vi kunne ikke skikkelig teste session evner. Men det å komme til dette punktet i installasjonsprosessen indikerer trolig at øktene jobber greit.'; $lang['info_pwd_writable'] = 'Denne applikasjonen krever skrivetilgang til gjeldende arbeidskatalog'; $lang['info_queryvar'] = 'Spørringsvariabelen brukes internt av CMSMS for å identifisere den forespurte siden. I de fleste tilfeller har du ikke behov for å endre denne.'; $lang['info_sitename'] = 'Nettstedsnavnet brukes i standardmaler som en del av tittelen. Vennligst skriv inn et lesbart navn for nettstedet'; $lang['info_timezone'] = 'Tidssone informasjon er nødvendig for tidsberegning og tid/datovisning. Vennligst velg server tidssone'; $lang['ini_set'] = 'Test om vi kan endre INI-instillinger'; $lang['install'] = 'Installer'; $lang['install_attachstylesheets'] = 'Koble stilark til tema'; $lang['install_backupconfig'] = 'Sikkerhetskopierer config-filen'; $lang['install_createassets'] = 'Opprett eiendel struktur'; $lang['install_created_index'] = 'Opprettet indeks %s ... %s'; $lang['install_create_tables'] = 'Oppretter database tabeller'; $lang['install_createconfig'] = 'Oppretter ny config-fil'; $lang['install_createcontentpages'] = 'Oppretter nye innholdssider'; $lang['install_created_table'] = 'Opprettet tabell %s: .... %s'; $lang['install_createtablesindexes'] = 'Oppretter tabeller og indekser'; $lang['install_createtmpdirs'] = 'Oppretter midlertidige kataloger'; $lang['install_creating_index'] = 'Opprettet indeks %s'; $lang['install_default_collections'] = 'Installer standard samlinger'; $lang['install_defaultcontent'] = 'Installer standard innhold'; $lang['install_detectlanguages'] = 'Oppdag installerte språk'; $lang['install_dropping_tables'] = 'Fjern tabeller'; $lang['install_dummyindexhtml'] = 'Opprett dummy index.html filer'; $lang['install_extractfiles'] = 'Pakk ut filer fra arkivet'; $lang['install_initevents'] = 'Opprett hendelser'; $lang['install_initsitegroups'] = 'Opprett innledende grupper'; $lang['install_initsiteperms'] = 'Sett innledende rettigheter'; $lang['install_initsiteprefs'] = 'Sett innledende nettsteds-innstillinger'; $lang['install_initsiteusers'] = 'Opprett innledende brukerkontoer'; $lang['install_initsiteusertags'] = 'Innledende brukerdefinerte tagger'; $lang['install_module'] = 'Installer modul %s'; $lang['install_modules'] = 'Installer tilgjengelige moduler'; $lang['install_passwordsalt'] = 'Sett passord salting'; $lang['install_requireddata'] = 'Sett innledende påkrevd data'; $lang['install_schema'] = 'Opprett database sjema'; $lang['install_setschemaver'] = 'Sett skjema versjon'; $lang['install_setsequence'] = 'Tilbakestill sekvens tabeller'; $lang['install_setsitename'] = 'Sett nettstedsnavn'; $lang['install_stylesheets'] = 'Opprett standard stilark'; $lang['install_templates'] = 'Opprett standaard maler'; $lang['install_templatetypes'] = 'Opprett standard maltyper'; $lang['install_update_sequences'] = 'Oppdater sekvens tabeller'; $lang['install_updatehierarchy'] = 'Oppdater innholdets hierarkiposisjoner'; $lang['install_updateseq'] = 'Oppdater sekvens for %s'; $lang['installer_ver'] = 'Installer versjon'; $lang['intl_support'] = 'Se etter internasjonaliseringsevner'; $lang['legend'] = 'Forklaring'; $lang['magic_quotes_runtime'] = 'Forsikrer oss om at magiske sitater er deaktivert'; $lang['max_execution_time'] = 'Kontrollere PHP-script maks Utføringstid'; $lang['meaning'] = 'Betydning'; $lang['memory_limit'] = 'Sjekker for tilstrekkelig PHP minnegrense'; $lang['msg_clearedcache'] = 'Tømte serverens mellomlager'; $lang['msg_configsaved'] = 'Eksisterende config-fil lagret til %s'; $lang['msg_upgrade_module'] = 'Oppgraderer mdodul %s'; $lang['msg_upgrademodules'] = 'Oppgraderer moduler'; $lang['msg_yourvalue'] = 'Du har: %s'; $lang['multibyte_support'] = 'Sjekker for multibyte støtte'; $lang['next'] = 'Neste'; $lang['no'] = 'Nei'; $lang['none'] = 'Ingen'; $lang['open_basedir'] = 'open_basedir restriksjoner'; $lang['open_basedir_session_save_path'] = 'open_basedir er aktivert. Kan derfor ikke teste session save path.'; $lang['output_buffering'] = 'Forsikrer oss om at output buffering er slått på'; $lang['pass_config_writable'] = 'HTTP-prosessen har skriverettighet til config-filen'; $lang['pass_database_support'] = 'Minst en kompatibel database driver er funnet'; $lang['pass_func_json'] = 'json funksjonalitet oppdaget'; $lang['pass_func_md5'] = 'md5 funksjonalitet er oppdaget'; $lang['pass_func_tempnam'] = 'tempnam funksjonen sksisterer'; $lang['pass_intl_support'] = 'Internasjonaliseringsevner ser ut til å være aktivert'; $lang['pass_memory_limit_nolimit'] = 'Det er ingen forhåndsinnstilte PHP minnegrense'; $lang['pass_multibyte_support'] = 'Multibyte støtte ser ut til å være slått på'; $lang['pass_php_version'] = 'PHP versjonen som er konfigurert oppfyller ikke minimumskravene. Som et minimum er PHP %s nødvendig, men vi anbefaler %s eller høyere'; $lang['pass_pwd_writable'] = 'HTTP-prosessen kan skrive i destinasjons katalogen. Dette er nødvendig for ekstrahere filer'; $lang['password'] = 'Passord'; $lang['ph_sitename'] = 'Oppgi ett nettstedsnavn'; $lang['php_version'] = 'PHP versjon'; $lang['post_max_size'] = 'Sjekker den maksimale mengden av data som kan bli sendt i en forespørsel'; $lang['prompt_addlanguages'] = 'Andre språk'; $lang['prompt_createtables'] = 'Oppretter databasetabeller'; $lang['prompt_dbhost'] = 'Database vertsnavn'; $lang['prompt_dbinfo'] = 'Database informasjon'; $lang['prompt_dbname'] = 'Databasenavn'; $lang['prompt_dbpass'] = 'Passord'; $lang['prompt_dbport'] = 'Database portnummer'; $lang['prompt_dbprefix'] = 'Database tabellnavn prefiks'; $lang['prompt_dbtype'] = 'Databasetype'; $lang['prompt_dbuser'] = 'Brukernavn'; $lang['prompt_dir'] = 'Installasjonskatalog'; $lang['prompt_installcontent'] = 'Installer eksempelinnhold'; $lang['prompt_queryvar'] = 'Spørringsvariabel'; $lang['prompt_sitename'] = 'Nettstedsnavn'; $lang['prompt_timezone'] = 'Server tidssone'; $lang['pwd_writable'] = 'Katalog skrivbar'; $lang['queue_for_upgrade'] = 'Lagt i kø ikke kjerne modul %s for oppgradering på neste trinn.'; $lang['readme_uc'] = 'LESMEG'; $lang['register_globals'] = 'Forsikrer oss om at "register globals" er deaktivert'; $lang['remote_url'] = 'Urgående HTTP koblinger'; $lang['repeatpw'] = 'Gjenta passord'; $lang['reset_site_preferences'] = 'Tilbakestill noen nettstedspreferanser'; $lang['reset_user_settings'] = 'Tilbakestill bruker preferanser'; $lang['retry'] = 'Forsøk igjen'; $lang['safe_mode'] = 'Test for å sikre "safe mode" er deaktivert'; $lang['saltpasswords'] = 'Salt passord'; $lang['select_language'] = 'Det første vi vil be deg om å gjøre er å velge språk fra listen nedenfor. Dette vil bli brukt til å forbedre din opplevelse under installasjonen, men vil ikke påvirke din CMSMS installasjon.'; $lang['send_admin_email'] = 'Send admin påloggingsinformasjon e-post'; $lang['session_capabilities'] = 'Teste for riktige sesjons evner (økter bruker cookies og session save path er skrivbar, osv.)'; $lang['session_save_path_exists'] = 'Session_save_path eksisterer'; $lang['session_save_path_writable'] = 'Session_save_path er skrivbar'; $lang['session_use_cookies'] = 'Forsikrer oss om at PHP sesjoner benytter cookies'; $lang['sometests_failed'] = 'Vi har utført en rekke tester av din nåværende web-miljø. Selv om ingen kritiske spørsmål ble funnet, anbefaler vi at følgende elementer rettes opp før du fortsetter.'; $lang['step1_advanced'] = 'Avansert modus'; $lang['step1_destdir'] = 'Velg katalog'; $lang['step1_info_destdir'] = 'Advarsel: Dette programmet kan installere eller oppgradere flere installasjoner av CMS Made Simple. Det er viktig at du velger riktig katalog for installasjon eller oppgradering.'; $lang['step1_language'] = 'Velg språk'; $lang['step1_title'] = 'Velg språk'; $lang['step2_cmsmsfound'] = 'En installasjon av CMS Made Simple ble funnet. Det er mulig å oppgradere denne installasjonen. Men før du går videre påse at du har en gjeldende, verifisert sikkerhetskopi av alle filer og av databasen'; $lang['step2_cmsmsfoundnoupgrade'] = 'Selv om en installasjon av CMS Made Simple ble funnet, er det ikke mulig å oppgradere denne versjonen ved hjelp av dette programmet. Versjonen kan være for gammel.'; $lang['step2_confirminstall'] = 'Er du sikker på at du vil installere CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Er du sikker på at du vil oppgradere CMS Made Simple'; $lang['step2_errorsamever'] = 'Den valgte katalogen ser ut til å inneholde en CMSMS installasjon med den samme versjonen som er inkludert i dette skriptet. Å fortsette vil oppfriske installasjonen.'; $lang['step2_errortoonew'] = 'Den valgte katalogen ser ut til å inneholde en CMSMS installasjon med en nyere versjon enn som er inkludert i dette skriptet. Vi kan ikke fortsette'; $lang['step2_info_freshen'] = 'Oppfriske installasjonen innebærer utskifting av alle kjernefiler og gjenskape konfigurasjonen. Du vil bli bedt om grunnleggende konfigurasjonsinformasjon, men databasen vil ikke bli berørt.'; $lang['step2_installdate'] = 'Omtrentlig installajsonsdato'; $lang['step2_install_dirnotempty2'] = 'Denne mappen inneholder allerede noen filer og / eller under-mapper . Selv om det er mulig å installere CMSMS her, kan det vertikalantenne korrupte-re et eksisterende program. Vennligst dobbeltsjekke innholdet i denne mappen. For referanseformål noen av filene er listet opp nedenfor. Sørg for at dette er riktig.'; $lang['step2_hdr_upgradeinfo'] = 'Versjonsinformasjon'; $lang['step2_info_upgradeinfo'] = 'Nedenfor er de tilgjengelige versjonsmerknadene, og endrings informasjon for hver utgivelse. Knappene under vil vise detaljert informasjon om hva som har endret seg i hver versjon av CMS Made Simple. Det kan være flere instruksjoner eller advarsler i hver versjon som kan påvirke oppgraderingsprosessen.'; $lang['step2_minupgradever'] = 'Den minste versjonen som dette programmet kan oppgradere fra er: %s. Du må kanskje oppgradere programmet ditt til en nyere versjon i etapper, med en annen metode før du fullfører oppgraderingen. Sørg for at du har en komplett, verifisert backup før du bruker noen oppgraderingsmetoden.'; $lang['step2_nocmsms'] = 'Vi fant ikke en installasjon av CMS Made Simple i denne katalogen. Det ser ut som dette er en ny installasjon'; $lang['step2_nofiles'] = 'Som forespurt, CMSMS kjernefiler vil ikke bli behandlet i denne prosessen'; $lang['step2_passed'] = 'Bestått'; $lang['step2_pwd'] = 'Din nåværende arbeidskatalog'; $lang['step2_schemaver'] = 'Database skjemaversjon'; $lang['step2_version'] = 'Din versjon'; $lang['step3_failed'] = 'Denne pakken har utført en rekke tester av php miljø, og en eller flere av disse testene har mislyktes. Du trenger å rette disse feilene i konfigurasjonen før du fortsetter. Når du har rettet opp feilene, klikk "Prøv på nytt" nedenfor.'; $lang['step3_passed'] = 'Denne pakken har utført en rekke tester av php miljø, og de ​​har alle bestått. Dette er gode nyheter. Selv om dette ikke er en avgjørende test. Du bør ikke ha noen problemer med å kjøre denne Core-installasjonen av CMSMS.'; $lang['step9_get_help'] = 'Koble til andre CMSMS-utviklere og få hjelp på følgende måter'; $lang['step9_get_support'] = 'Støttekanaler'; $lang['step9_join_community'] = 'Bli med i fellesskapet vårt'; $lang['step9_love_cmsms'] = 'Love CMS Made Simple'; $lang['step9_removethis'] = 'Advarsel Av sikkerhetsmessige grunner er det viktig at du fjerner installasjons assistenten fra ditt nettsted så snart du har bekreftet at operasjonen var vellykket.'; $lang['step9_support_us'] = 'Klikk her for å finne ut hvordan du kan støtte oss'; $lang['symbol'] = 'Symbol'; $lang['social_message'] = 'Du har nå vellykket installert CMS Made Simple'; $lang['test_failed'] = 'En påkrevd Test mislyktes'; $lang['test_passed'] = 'En test er bestått (beståtte tester vises bare i avansert modus) '; $lang['test_warning'] = 'En innstilling er over påkrevd verdi, men under anbefalt verdi, eller ...
En evne som kan være nødvendig for noe ekstra funksjonalitet er ikke tilgjengelig'; $lang['th_status'] = 'Status'; $lang['th_testname'] = 'Test'; $lang['th_value'] = 'Verdi'; $lang['title_error'] = 'Houston, Vi har et problem!'; $lang['title_step2'] = 'Steg 2 - Oppdag eksisterende programvare'; $lang['title_step3'] = 'Steg 3 - Tester'; $lang['title_step4'] = 'Steg 4 - Grunnleggende konfigurasjonsinformasjon'; $lang['title_step5'] = 'Steg 5 - Admin kontoinformasjon'; $lang['title_step6'] = 'Steg 6 - Nettstedsinnstillinger'; $lang['title_step7'] = 'Steg 7 - Installerer programfiler'; $lang['title_step8'] = 'Steg 8 - Databasearbeid'; $lang['title_step9'] = 'Steg 9 - Avslutning'; $lang['title_welcome'] = 'Velkommen'; $lang['title_forum'] = 'Supportforum'; $lang['title_docs'] = 'Offisiell Dokumentasjon'; $lang['title_api_docs'] = 'Offisiell API Dokumentasjon'; $lang['to'] = 'til'; $lang['title_share'] = 'Del din erfaring med dine venner'; $lang['tmpfile'] = 'Sjekker for fungerende tmpfile()'; $lang['tmp_dirs_empty'] = 'Forsikre deg om at midletidige kataloger er tomme eller at de ikke eksisterer'; $lang['upgrade'] = 'Oppgrader'; $lang['upgrade_deleteoldevents'] = 'Slett gamle handlinger'; $lang['upgrading_schema'] = 'Oppdaterer databaseskjema'; $lang['upload_max_filesize'] = 'Tester maksimum størrelse på opplastede filer'; $lang['username'] = 'Brukernavn'; $lang['warn_disable_functions'] = 'Merk: en eller flere av PHP kjernefunksjonene er deaktivert. Dette kan ha negativ innvirkning på din CMSMS installasjon, spesielt med tredjeparts utvidelser. Vennligst hold et øye med feilloggen. Dine avslåtte funksjoner er:

%s'; $lang['warn_max_execution_time'] = 'Selv om din maks Execution time på %s overstiger minsteverdien på %s så anbefaler vi deg å øke det til %s eller høyere'; $lang['warn_memory_limit'] = 'Din Minne grenseverdi er %s, som er over minimum %s. Men %s anbefales'; $lang['warn_open_basedir'] = 'open_basedir er aktivert i din PHP konfigurasjon. Selv om du kan fortsette, CMSMS støtter ikke installasjoner med open_basedir restriksjoner.'; $lang['warn_post_max_size'] = 'Ditt post max size verdi er %s, som er over minimummet på %s, men %s er anbefalt. Også, så må du kontrollere at denne verdien er større enn upload_max_filesize'; $lang['warn_tests'] = 'Merk: å ha bestått alle disse tester bør sørge for at CMSMS fungerer riktig på de fleste områder. Men, som nettstedet vokser og mer funksjonalitet legges til kan disse minimale verdier bli utilstrekkelige. I tillegg kan tredjeparts moduler ha ytterligere krav for å fungere skikkelig'; $lang['warn_upload_max_filesize'] = 'Selv om din innstilling av %s er tilstrekkelig, anbefaler vi at du øker upload_max_filesize innstillingen i PHP til minst %s'; $lang['welcome_message'] = 'Velkommen! Dette er CMS Made Simple\'s automatiske installasjons mekanisme. Denne pakken vil tillate deg å raskt og enkelt bekrefte at webhotellet er kompatibel med CMSMS og å installere eller oppgradere til den nyeste versjonen av CMS Made Simple.
Vi vet at du vil nyte det.'; $lang['wizard_step1'] = 'Velkommen'; $lang['wizard_step2'] = 'Oppdag eksisterende programvare'; $lang['wizard_step3'] = 'Kompatibilitetstester'; $lang['wizard_step4'] = 'Konfigurasjonsinformasjon'; $lang['wizard_step5'] = 'Admin kontoinformasjon'; $lang['wizard_step6'] = 'Nettsted innstillinger'; $lang['wizard_step7'] = 'Filer'; $lang['wizard_step8'] = 'Database arbeid'; $lang['wizard_step9'] = 'Avslutt'; $lang['xml_functions'] = 'Tester for CML funksjonalitet'; $lang['yes'] = 'Ja'; ?>dit proces terug draaien om verder te kunnen!'; $lang['error_backupconfig'] = 'Er kan geen back-up gemaakt worden van het config bestand'; $lang['error_checksum'] = 'Checksum van uitgepakte bestand komt niet overeen met het origineel'; $lang['error_cmstablesexist'] = 'Het lijkt erop dat er al een CMSMS installatie in deze database bestaat. Voer a.u.b. andere database gegevens in. Als u gebruik wilt maken van een andere prefix voor de database tabellen kunt u de installatie opnieuw starten en uitgebreide modus toepassen'; $lang['error_createtable'] = 'Probleem bij het aanmaken van database tabel... mogelijk te wijten aan een rechten probleem'; $lang['error_dbconnect'] = 'Er kan geen verbinding worden gemaakt met de database. Controleer de ingevoerde gegevens.'; $lang['error_dirnotvalid'] = 'De directory %s bestaat niet (of is niet schrijfbaar)'; $lang['error_droptable'] = 'Probleem bij het verwijderen van database tabel... mogelijk te wijten aan een rechten probleem'; $lang['error_filenotwritable'] = 'Het bestand %s kan niet worden overschreven (permissie probleem)'; $lang['error_internal'] = 'Er is iets fout gegaan... (interne fout) (%s)'; $lang['error_invalid_directory'] = 'Het lijkt erop dat de gekozen installatie directory in de \'working directory\' van de installer zelf staat'; $lang['error_invalidconfig'] = 'Fout in het config bestand, of het bestand bestaat niet'; $lang['error_invaliddbpassword'] = 'Database wachtwoord bevat ongeldige karakters die niet kunnen worden opgeslagen'; $lang['error_invalidkey'] = 'Ongeldige member variabele van key %s voor class %s'; $lang['error_invalidparam'] = 'Verkeerde (waarde van) parameter: %s'; $lang['error_invalidtimezone'] = 'De gespecificeerde tijdszone is ongeldig'; $lang['error_invalidqueryvar'] = 'De ingevoerde query variabele bevat ongeldige tekens. Alleen alfanumerieke en underscores zijn toegestaan'; $lang['error_missingconfigvar'] = 'De key " %s " is afwezig of ongeldig in het config.ini bestand'; $lang['error_noarchive'] = 'Probleem met het vinden van het archief bestand... graag opnieuw starten'; $lang['error_nlsnotfound'] = 'Probleem met het vinden van de NLS bestanden in het archief bestand'; $lang['error_nodatabases'] = 'Geen bruikbare database extensies gevonden'; $lang['error_nodbhost'] = 'Voer de database hostnaam in'; $lang['error_nodbname'] = 'Voer de database naam in'; $lang['error_nodbpass'] = 'Voer het wachtwoord in van de database server'; $lang['error_nodbprefix'] = 'Voer een prefix in voor de database tabellen'; $lang['error_nodbtype'] = 'Selecteer een database type'; $lang['error_nodbuser'] = 'Voer de gebruikersnaam in van de database'; $lang['error_nodestdir'] = 'Doel directory is niet ingesteld'; $lang['error_nositename'] = 'De websitenaam is een verplicht veld! Vul een naam in voor de website.'; $lang['error_notimezone'] = 'Geef a.u.b. een geldige tijdzone op voor deze server'; $lang['error_overwrite'] = 'Bevoegdheidsprobleem: %s kan niet worden overschreven'; $lang['error_sendingmail'] = 'Fout'; $lang['error_tzlist'] = 'Er is een probleem opgetreden bij het opvragen van de lijst met tijdzones'; $lang['errorlevel_estrict'] = 'E_STRICT controleren'; $lang['errorlevel_edeprecated'] = 'E_DEPRECATED controleren'; $lang['edeprecated_enabled'] = 'E_DEPRECATED is ingeschakeld in PHP error_reporting. Hoewel dit CMSMS niet zal hinderen kan het wel leiden tot meldingen die getoond worden in de browser. Met name bij gebruik van oudere modules van derden'; $lang['estrict_enabled'] = 'E_STRICT is ingeschakeld in PHP error_reporting. Hoewel dit CMSMS niet zal hinderen kan het wel leiden tot meldingen die getoond worden in de browser. Met name bij gebruik van oudere modules van derden'; $lang['fail_assets_dir'] = 'De \'Assets-directory\' bestaat al. Deze applicatie kan bestanden toevoegen of verwijderen in de Assets-directory. Zorg ervoor dat er een backup is gemaakt.'; $lang['fail_assets_msg'] = 'De \'Assets-directory\' bestaat al. Deze applicatie kan bestanden toevoegen of verwijderen in de Assets-directory. Zorg ervoor dat er een backup is gemaakt.'; $lang['fail_config_writable'] = 'De webserver kan het bestand config.php niet aanmaken/wijzigen. Probeer a.u.b. de rechten op dit bestand te wijzigen naar 777 tot de upgrade is voltooid'; $lang['fail_curl_extension'] = 'De curl extensie is niet gevonden. Hoewel dit geen kritisch probleem is kan het problemen veroorzaken bij enkele modules van derden'; $lang['fail_database_support'] = 'Geen bruikbare database drivers gevonden'; $lang['fail_file_get_contents'] = 'De functie file_get_contents bestaat niet of is uitgeschakeld. CMSMS kan niet doorgaan (waarschijnlijk faalt de installatieprocedure zelf)'; $lang['fail_file_uploads'] = 'De mogelijkheid om bestanden te uploaden zijn uitgeschakeld op deze omgeving. Diverse functies van CMSMS zullen niet werken op deze omgeving.'; $lang['fail_func_json'] = 'json functionaliteit niet gevonden'; $lang['fail_func_gzopen'] = 'gzopen functionaliteit is niet gevonden'; $lang['fail_func_md5'] = 'md5 functionaliteit niet gevonden'; $lang['fail_func_tempnam'] = 'De tempnam functionaliteit bestaat niet. Het is een vereiste functie voor het gebruik van CMSMS'; $lang['fail_func_ziparchive'] = 'ZipArchive functionaliteit is niet gevonden, dit kan beperkingen binnen het CMS opleveren...'; $lang['fail_ini_set'] = 'Het lijkt erop dat de ini settings niet aangepast kunnen worden. Dit kan problemen veroorzaken met modules van derden (of wanneer de debug modus wordt ingeschakeld)'; $lang['fail_magic_quotes_runtime'] = 'Het lijkt erop dat magic quotes zijn ingeschakeld in uw configuratie. Schakelt u dat a.u.b. uit en probeer opnieuw'; $lang['fail_max_execution_time'] = 'De max execution time van %s is lager dan de minimale waarde van %s. Het advies is om het te verhogen tot %s of meer'; $lang['fail_memory_limit'] = 'De geheugen limiet waarde is te laag. Uw heeft %s terwijl een minimum van %s vereist is en %s wordt aanbevolen'; $lang['fail_multibyte_support'] = 'Multibyte ondersteuning is niet ingeschakeld in uw configuratie'; $lang['fail_output_buffering'] = 'Output buffering is niet ingeschakeld'; $lang['fail_open_basedir'] = 'Open basedir beperkingen zijn ingeschakeld. CMSMS vereist dat dit is uitgeschakeld'; $lang['fail_php_version'] = 'De PHP versie die beschikbaar is voor CMSMS is erg belangrijk. De minimale versie is %s hoewel we %s of hoger aanbevelen. U heeft %s'; $lang['fail_post_max_size'] = 'Uw post max size van %s is lager dan het minimum van %s. U zou de waarde moeten verhogen naar %s and controleren dat de waarde hoger is dan upload_max_filesize'; $lang['fail_pwd_writable2'] = 'Het HTTP-proces moet in de bestemmings directory en alle ondergelegen directories, schrijfrechten hebben teneinde bestanden te installeren. Op dit moment ontbreekt de schrijfrechten voor tenminste %s'; $lang['fail_register_globals'] = 'Register globals moet uitgeschakeld worden in uw PHP configuratie'; $lang['fail_remote_url'] = 'Er zijn problemen opgetreden bij het benaderen van externe urls. Dit zal de functionaliteit van CMSMS beperken'; $lang['fail_safe_mode'] = 'CMSMS zal niet goed functioneren in een omgeving waar safe mode is ingeschakeld. Ter info: Safe mode is afgekeurd als beveiligingsmechanisme en zal uit toekomstige PHP versies worden verwijderd.'; $lang['fail_session_save_path_exists'] = 'De session save path variabele is ongeldig of de directory bestaat niet'; $lang['fail_session_save_path_writable'] = 'Kan niet schrijven in de \'session save path\' directory'; $lang['fail_session_use_cookies'] = 'Sessions zijn NIET ingesteld om cookies te gebruiken'; $lang['fail_tmpfile'] = 'De systeemfunctie tmpfile() werkt niet. Deze is nodig om de archiefbestanden uit te pakken. De TMPDIR-url parameter kan als parameter worden toegevoegd om een directory aan te geven waar wel naartoe kan worden geschreven. Lees hiervoor ook de README die in directory moet staan.'; $lang['fail_tmp_dirs_empty'] = 'De tijdelijke directories van CMSMS (tmp/cache and tmp/templates_c) bestaan al en zijn niet leeg. Verwijder deze directories of zorg ervoor dat deze leeg worden gemaakt.'; $lang['fail_xml_functions'] = 'De XML extensie is niet gevonden. Schakel deze a.u.b. in voor uw omgeving'; $lang['failed'] = 'mislukt'; $lang['file_get_contents'] = 'Controleren op de file_get_contents functie'; $lang['file_installed'] = 'Geïnstalleerd %s'; $lang['file_uploads'] = 'Controleren op de file upload functionaliteit'; $lang['finished_custom_freshen_msg'] = 'Uw installatie is hersteld. De standaard bestanden zijn bijgewerkt en een nieuw configuratiebestand is aangemaakt. Bezoek a.u.b. uw website om te controleren dat alles juist functioneert'; $lang['finished_custom_install_msg'] = 'Geweldig! We zijn klaar. Bezoek a.u.b. uw website en ga naar het beheerpaneel.'; $lang['finished_custom_upgrade_msg'] = 'Geweldig! Het is klaar. Bezoek a.u.b. uw CMSMS beheerpaneel en website en verzeker uzelf ervan dat alles goed werkt.
Tip: nu is een goed moment om een nieuwe backup te maken.'; $lang['finished_freshen_msg'] = 'Uw installatie is hersteld! De core bestanden zijn bijgewerkt en een nieuw configuratie-bestand aangemaakt. U kunt nu uw website bezoeken of inloggen in het beheerpaneel.'; $lang['finished_install_msg'] = 'Geweldig! We zijn klaar. U kunt nu uw website bezoeken of inloggen in het beheerpaneel.'; $lang['finished_upgrade_msg'] = 'Geweldig, het is gelukt! Bezoek a.u.b. uw CMSMS beheerpaneel en uw website en verzeker uzelf ervan dat alles goed werkt. Mogelijk moet u enkele modules van derden bijwerken.
Tip: denk eraan een nieuwe backup te maken na controle dat alles goed werkt.'; $lang['freshen'] = 'Herstellen installatie.'; $lang['func_json'] = 'Controleren op json encoding en decoding functionaliteit'; $lang['func_md5'] = 'Controleren op de md5 functionaliteit'; $lang['func_tempnam'] = 'Controleren naar de tempnam functionaliteit'; $lang['func_gzopen'] = 'Controleren naar de gzopen functionaliteit'; $lang['func_ziparchive'] = 'Controleren naar de ziparchive functionaliteit'; $lang['gd_version'] = 'GD Versie'; $lang['goback'] = 'Terug'; $lang['info_addlanguages'] = 'Selecteer taalbestanden (naast het Engels) om te installeren. Niet alle vertalingen zullen compleet zijn.'; $lang['info_adminaccount'] = 'Gelieve de referenties voor de eerste beheerdersaccount invoeren. Dit account zal toegang hebben tot alle functionaliteiten in het CMSMS beheerpaneel.'; $lang['info_advanced'] = 'Uitgebreide modus biedt meer opties tijdens de installatieprocedure'; $lang['info_dbinfo'] = 'CMS Made Simple slaat een groot gedeelte van de gegevens op in de database. Een database-verbinding is vereist. Verder zou het account dat uw opgeeft ALL PRIVILEGES rechten moeten hebben op de specifieke database om tabellen, indexes en views aan te kunnen maken, verwijderen en wijzigen.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED is een instelling voor php error reporting die aangeeft dat waarschuwing over code met verouderde technieken moeten worden weergegeven. Hoewel we proberen in CMSMS core geen verouderde technieken te gebruiken kan het voorkomen dat sommige modules dat niet doen. Het advies is om deze instelling uit te schakelen in de PHP configuratie.'; $lang['info_errorlevel_estrict'] = 'E_STRICT is een parameter voor PHP\'s foutmelding dat de \'strict codeing\' standaard moet worden gehanteerd. Ondanks dat het CMSMS Core Team er naar streeft om aan de E_STRICT standaarden te voldoen, is dat niet bij alle modulen ook (al) gelukt. Het advies is daarom om deze parameter uit te schakelen in de PHP configuratie.'; $lang['info_installcontent'] = 'Standaard zal deze installatie een aantal voorbeeld pagina\'s, stylesheets en sjablonen aanmaken in CMSMS. De voorbeeld inhoud bevat uitgebreide informatie over en tips voor het bouwen van websites met CMSMS en is erg nuttig om te lezen. Echter, als u al bekend bent met CMS Made Simple kunt u deze optie uitschakelen en wordt er slechts een minimaal aantal sjablonen, stylesheets en pagina\'s aangemaakt.'; $lang['info_open_basedir_session_save_path'] = 'De parameter open_basedir is actief in de PHP configuratie. De installatie is niet in staat de sessie-mogelijkheden juist te testen. Echter, gezien de status van het installatieproces, mag worden aangenomen dat de sessies goed functioneren.'; $lang['info_pwd_writable'] = 'Deze applicatie heeft schrijfrechten nodig in de huidige working directory'; $lang['info_queryvar'] = 'De query variabele wordt intern gebruikt door CMSMS om de opgevraagde pagina te identificeren. In de meeste gevallen hoeft u dit niet aan te passen'; $lang['info_sitename'] = 'De website-naam wordt gebruikt in de standaard sjablonen als deel van de titel. Voer a.u.b. een naam in de voor de website'; $lang['info_timezone'] = 'De tijdzone-informatie is nodig voor tijdberekeningen en het tonen van datum/tijd. Selecteer a.u.b. de tijdzone van de server'; $lang['ini_set'] = 'Controleren of de INI instellingen aangepast kunnen worden'; $lang['install'] = 'Installeer'; $lang['install_attachstylesheets'] = 'Koppel de stylesheets aan de themes'; $lang['install_backupconfig'] = 'Kopie maken van het config bestand'; $lang['install_createassets'] = 'Opbouwen Assets-directory structuur'; $lang['install_created_index'] = 'Index aangemaakt %s ... %s'; $lang['install_create_tables'] = 'Database tabellen maken'; $lang['install_createconfig'] = 'Nieuw config bestand maken'; $lang['install_createcontentpages'] = 'Standaard pagina inhoud maken'; $lang['install_created_table'] = 'Tabel %s gemaakt: ... %s'; $lang['install_createtablesindexes'] = 'Tabellen en Indexes maken'; $lang['install_createtmpdirs'] = 'Tijdelijke directories maken'; $lang['install_creating_index'] = 'Index %s gemaakt'; $lang['install_default_collections'] = 'Installeer de standaard inhoud'; $lang['install_defaultcontent'] = 'Standaard inhoud installeren'; $lang['install_detectlanguages'] = 'Detecteer geïnstalleerde talen'; $lang['install_dropping_tables'] = 'Tabellen verwijderen'; $lang['install_dummyindexhtml'] = 'Dummy index.html bestanden maken'; $lang['install_extractfiles'] = 'Bestanden uit het archiefbestand uitpakken'; $lang['install_initevents'] = 'Gebeurtenissen aanmaken'; $lang['install_initsitegroups'] = 'Admin gebruikersgroepen instellen'; $lang['install_initsiteperms'] = 'Admin permissies instellen'; $lang['install_initsiteprefs'] = 'Basis website instellingen instellen'; $lang['install_initsiteusers'] = 'Admin account maken'; $lang['install_initsiteusertags'] = 'Standaard UDT\'s maken'; $lang['install_module'] = 'Installeer module %s'; $lang['install_modules'] = 'Installeer beschikbare modules'; $lang['install_passwordsalt'] = 'Salt wachtwoorden instellen'; $lang['install_requireddata'] = 'Benodigde data instellen'; $lang['install_schema'] = 'Database schema maken'; $lang['install_setschemaver'] = 'Schema versie instellen'; $lang['install_setsequence'] = 'Reset sequence tabellen'; $lang['install_setsitename'] = 'Websitenaam instellen'; $lang['install_stylesheets'] = 'Standaard stylesheets maken'; $lang['install_templates'] = 'Standaard sjablonen maken'; $lang['install_templatetypes'] = 'Standaard sjabloontypes maken'; $lang['install_update_sequences'] = 'Sequence tabellen bijwerken'; $lang['install_updatehierarchy'] = 'Pagina hiërarchie posities bijwerken'; $lang['install_updateseq'] = 'Volgorde bijwerken voor %s'; $lang['installer_ver'] = 'Installatie assistent versie'; $lang['legend'] = 'Verklaring'; $lang['magic_quotes_runtime'] = 'Controleer of magic quotes uitgeschakeld zijn'; $lang['max_execution_time'] = 'De PHP max execution time controleren'; $lang['meaning'] = 'Betekenis'; $lang['memory_limit'] = 'Controleren of de ingestelde PHP memory limit voldoende is'; $lang['msg_clearedcache'] = 'Server buffer geleegd'; $lang['msg_configsaved'] = 'Bestaand config bestand opgeslagen al %s'; $lang['msg_upgrade_module'] = 'Module %s bijwerken'; $lang['msg_upgrademodules'] = 'Modules bijwerken'; $lang['msg_yourvalue'] = 'U heeft: %s'; $lang['multibyte_support'] = 'Controleer multibyte support'; $lang['next'] = 'Volgende'; $lang['no'] = 'Nee'; $lang['none'] = 'Geen'; $lang['open_basedir'] = 'open_basedir beperkingen'; $lang['open_basedir_session_save_path'] = 'open_basedir is ingeschakeld. Kan session save path niet testen.'; $lang['output_buffering'] = 'Testen of output buffering is ingeschakeld'; $lang['pass_config_writable'] = 'Het HTTP proces heeft schrijfrechten om het config.php bestand aan te passen'; $lang['pass_database_support'] = 'Er is in ieder geval één bruikbare database driver gevonden'; $lang['pass_func_json'] = 'json functionaliteit gevonden'; $lang['pass_func_md5'] = 'md5 functionaliteit gevonden'; $lang['pass_func_tempnam'] = 'tempnam functionaliteit gevonden'; $lang['pass_multibyte_support'] = 'Het lijkt er op dat Multibyte ondersteund wordt'; $lang['pass_php_version'] = 'De PHP versie van de webserver voldoet niet aan de gestelde eisen. Verplicht is minimaal PHP %s, maar aan te bevelen is PHP %s of hoger'; $lang['password'] = 'Wachtwoord'; $lang['ph_sitename'] = 'Voer een website naam in'; $lang['php_version'] = 'PHP Versie'; $lang['post_max_size'] = 'Controleren van de maximale hoeveelheid data dat in een verzoek kan worden gepost'; $lang['prompt_addlanguages'] = 'Extra Taalpakketten'; $lang['prompt_createtables'] = 'Database tabellen maken'; $lang['prompt_dbhost'] = 'Database Hostnaam'; $lang['prompt_dbinfo'] = 'Database Informatie'; $lang['prompt_dbname'] = 'Database Naam'; $lang['prompt_dbpass'] = 'Wachtwoord'; $lang['prompt_dbport'] = 'Database Poortnummer'; $lang['prompt_dbprefix'] = 'Database Tabelnaam Prefix'; $lang['prompt_dbtype'] = 'Database type'; $lang['prompt_dbuser'] = 'Gebruikersnaam'; $lang['prompt_dir'] = 'Installatie Directory'; $lang['prompt_installcontent'] = 'Voorbeeld Inhoud Installeren'; $lang['prompt_queryvar'] = 'Query Variabele'; $lang['prompt_sitename'] = 'Website naam'; $lang['prompt_timezone'] = 'Server Tijdzone'; $lang['pwd_writable'] = 'Directory schrijfbaar'; $lang['queue_for_upgrade'] = 'Module %s staat in de wachtrij om in de volgende stap te worden bijgewerkt.'; $lang['readme_uc'] = 'LEES MIJ'; $lang['register_globals'] = 'Controleren of "register globals" uitgeschakeld is'; $lang['remote_url'] = 'Uitgaande HTTP verbindingen'; $lang['repeatpw'] = 'Herhaal'; $lang['reset_site_preferences'] = 'Reset bepaalde website instellingen'; $lang['reset_user_settings'] = 'Reset Gebruikersinstellingen'; $lang['retry'] = 'Probeer opnieuw'; $lang['safe_mode'] = 'Testen of "safe mode" is uitgeschakeld'; $lang['saltpasswords'] = 'Salt Wachtwoorden'; $lang['select_language'] = 'Het eerste wat we u vragen te doen is om de gewenste taal uit de onderstaande lijst selecteren. Deze zal worden gebruikt om tijdens deze installatie, maar zal geen invloed hebben op uw CMSMS website.'; $lang['send_admin_email'] = 'Stuur een email met de Admin login gegevens'; $lang['session_capabilities'] = 'Testen voor de juiste sessiemogelijkheden (sessies maken gebruik van cookies en de locatie voor de cookie is schrijfbaar enz.)'; $lang['session_save_path_exists'] = 'Session_save_path bestaat'; $lang['session_save_path_writable'] = 'Session_save_path is beschrijfbaar'; $lang['session_use_cookies'] = 'Controleren of PHP sessions cookies gebruikt'; $lang['sometests_failed'] = 'Op de huidige web-omgeving zijn verschillende tests uitgevoerd. Ondanks dat er geen kritieke zaken zijn gevonden wordt aangeraden om de volgende onderdelen aan te passen voordat verder wordt gegaan.'; $lang['step1_advanced'] = 'Uitgebreide modus'; $lang['step1_destdir'] = 'Selecteer server directory'; $lang['step1_info_destdir'] = 'Warning: Dit programma kan meerdere installaties van CMSMS bijwerken/upgraden of installeren. Het is daarom van belang dat de juiste folder voor de installatie of de upgrade wordt geselecteerd.'; $lang['step1_language'] = 'Selecteer Taal'; $lang['step1_title'] = 'Selecteer Taal'; $lang['step2_cmsmsfound'] = 'Er is een CMS Made Simple website gevonden en het is mogelijk deze installatie te upgraden. Echter, voordat u verder gaat zorg er voor dat u een actuele GECONTROLEERDE back-up van alle bestanden en van de database heeft!'; $lang['step2_cmsmsfoundnoupgrade'] = 'Hoewel er CMS Made Simple website is gevonden, is het niet mogelijk om deze versie te upgraden door middel van deze Installatie Assistent. Waarschijnlijk is de aanwezige versie te oud.'; $lang['step2_confirminstall'] = 'Weet u zeker dat u CMS Made Simple wilt installeren'; $lang['step2_confirmupgrade'] = 'Weet u zeker dat u CMS Made Simple wilt upgraden'; $lang['step2_installdate'] = 'Globale installatie datum'; $lang['step2_hdr_upgradeinfo'] = 'Versie-informatie'; $lang['step2_nocmsms'] = 'We vinden geen bestaande CMS Made Simple website in deze directory. Het lijkt er op dat u een nieuwe installatie wil doen'; $lang['step2_passed'] = 'Geslaagd'; $lang['step2_pwd'] = 'Uw huidige werkmap is'; $lang['step2_schemaver'] = 'Database Schema Versie'; $lang['step2_version'] = 'Uw versie'; $lang['symbol'] = 'Symbool'; $lang['social_message'] = 'Ik heb met succes CMS Made Simple geïnstalleerd!'; $lang['test_failed'] = 'Een noodzakelijke test is mislukt'; $lang['th_testname'] = 'Controle'; $lang['th_value'] = 'Waarde'; $lang['title_error'] = 'Er is een fout opgetreden!'; $lang['title_step2'] = 'Stap 2 - Aanwezigheid software controleren'; $lang['title_step3'] = 'Stap 3 - Compatibiliteit Controle'; $lang['title_step4'] = 'Stap 4 - Basis Configuratie'; $lang['title_step5'] = 'Stap 5 - Admin Account Configuratie'; $lang['title_step6'] = 'Stap 6 - Website Instellingen'; $lang['title_step7'] = 'Stap 7 - Installatie bestanden'; $lang['title_step8'] = 'Stap 8 - Database vullen'; $lang['title_step9'] = 'Stap 9 - Gereed'; $lang['title_welcome'] = 'Welkom'; $lang['title_docs'] = 'Officiële Documentatie'; $lang['title_api_docs'] = 'Officiële API Documentatie'; $lang['to'] = 'bij'; $lang['title_share'] = 'Deel uw ervaringen met uw vrienden'; $lang['tmpfile'] = 'Controleren naar een werkende tmpfile()'; $lang['tmp_dirs_empty'] = 'Zorg ervoor dat de tijdelijke folders leeg zijn of nog niet zijn aangemaakt'; $lang['upgrade'] = 'Bijwerken'; $lang['upgrade_deleteoldevents'] = 'Oude "gebeurtenissen" verwijderen'; $lang['upgrading_schema'] = 'Database schema bijwerken'; $lang['upload_max_filesize'] = 'Controleren van de maximale omvang van de toegevoegde bestanden'; $lang['username'] = 'Gebruikersnaam'; $lang['warn_memory_limit'] = 'De geheugenlimietwaarde is %s, wat hoger is dan het minimum van %s. %s wordt echter aanbevolen'; $lang['warn_open_basedir'] = 'open_basedir is ingeschakeld in de php-configuratie. Hoewel u kunt doorgaan, ondersteunt CMSMS geen installaties met open_basedir-beperkingen.'; $lang['warn_upload_max_filesize'] = 'Hoewel de instelling van %s voldoende is, wordt aangeraden de instelling upload_max_filesize in PHP te verhogen tot ten minste %s'; $lang['wizard_step1'] = 'Welkom'; $lang['wizard_step2'] = 'Controleren op bestaande software'; $lang['wizard_step3'] = 'Compatibiliteit Controle'; $lang['wizard_step4'] = 'Configuratie Informatie'; $lang['wizard_step5'] = 'Beheer Account Informatie'; $lang['wizard_step6'] = 'Website Instellingen'; $lang['wizard_step7'] = 'Installatie Bestanden'; $lang['wizard_step8'] = 'Database bewerkingen'; $lang['wizard_step9'] = 'Gereed'; $lang['xml_functions'] = 'Controleer XML functionaliteit'; $lang['yes'] = 'Ja'; ?>Sugestão: esta é uma boa altura para fazer outra cópia de segurança.'; $lang['finished_freshen_msg'] = 'A instalação corrente foi refrescada! Os ficheiros do núcleo foram actualizados e foi criado um novo ficheiro config. Já pode visitar o seu website ou dar entrada no painel admin do CMSMS.'; $lang['finished_install_msg'] = 'Woot! Acabámos. Já pode visitar o seu website ou dar entrada no painel admin do CMSMS.'; $lang['finished_upgrade_msg'] = 'Woot! Está tudo finalizado. Por favor visite o seu site, e o Painel Admin para certificar-se de que está tudo a funcionar adequadamente. Poderá ainda ser necessária a actualização de alguns módulos de terceiros.
Pista: esta é uma boa altura para fazer outra cópia de segurança.'; $lang['freshen'] = 'Refrescar (reparar)'; $lang['func_json'] = 'Verificação de funcionalidade de codificação e descodificação json'; $lang['func_md5'] = 'Verificação de funcionalidade md5'; $lang['func_tempnam'] = 'Verificação de função tempnam'; $lang['func_gzopen'] = 'Verificação de função gzopen'; $lang['func_ziparchive'] = 'Verificação de função ZipArchive'; $lang['gd_version'] = 'Versão GD'; $lang['goback'] = 'Voltar'; $lang['info_addlanguages'] = 'Seleccionar linguagens (para além do Inglês) a instalar. Nota: nem todas as traduções estão completas.'; $lang['info_adminaccount'] = 'Por favor especifique as credenciais para a conta inicial de administrador. Esta conta terá acesso a toda a funcionalidade da consola de admin do CMSMS.'; $lang['info_advanced'] = 'O modo avançado habilita mais opções no processo de instalação.'; $lang['info_dbinfo'] = 'O CMS Made Simple guarda uma quantidade considerável de dados na base de dados. Uma ligação a uma base de dados é mandatória. Adicionalmente, as credenciais que fornecer deverão ter TODOS OS PRIVILÉGIOS para a base de dados especificada de forma a ser possível criar, apagar e modificar tabelas, indexes e views.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED é uma flag da directiva de PHP error reporting que indica que devem ser emitidos avisos (mensagens Warning) quando o código de programação usa técnicas obsoletas. Apesar do núcleo do CMSMS tentar assegurar tanto quanto possível que estas técnicas não são usadas, alguns módulos poderão não cumprir este standard. É recomendado que se desabilite esta configuração PHP'; $lang['info_errorlevel_estrict'] = 'E_STRICT é uma flag da directiva de PHP error reporting que indica quando os standards estritos de programação devem ser respeitados. Apesar do núcleo do CMSMS estar em conformidade com os standards E_STRICT tanto quanto possível, alguns módulos poderão não cumprir este standard. É recomendado que se desabilite esta configuração PHP'; $lang['info_installcontent'] = 'Por defeito este instalador irá criar uma série de páginas de exemplo, folhas de estilo e templates nesta instalação do CMSMS. Este conteúdo de exemplo providencia informação extensiva bem como pistas para ajudar à construção de sites com o CMSMS e é de leitura recomendada e útil. No entanto se já estiver familiarizado com o CMS Made Simple, ao desabilitar esta opção estará a criar apenas um conjunto mínimo de templates, folhas de estilo, e páginas de conteúdo.'; $lang['info_open_basedir_session_save_path'] = 'A directiva open_basedir está habilitada na sua configuração de PHP. Não nos foi possível testar as capacidades de sessão de forma apropriada. Contudo, ter chegado a este ponto da instalação indica que, com toda a probabilidade, as sessões estarão a funcionar correctamente.'; $lang['info_pwd_writable'] = 'Esta aplicação necessita de permissão de escrita no directório de trabalho corrente'; $lang['info_queryvar'] = 'A variável de query é usada internamente pelo CMSMS para indentificar a página requerida. Na maioria das circunstâncias não deverá ser necessário ajustar esta entrada.'; $lang['info_sitename'] = 'O nome do website é usado nos templates pré-configurados com parte do título. Por favor dê ao site um nome que seja inteligível'; $lang['info_timezone'] = 'A informação de fuso horário é necessária aos cálculos e usos de data/hora no site. Por favor seleccione o fuso horário do servidor.'; $lang['ini_set'] = 'A testar se é possível modificar configurações INI'; $lang['install'] = 'Instalar'; $lang['install_attachstylesheets'] = 'Anexar folhas de estilo a temas'; $lang['install_backupconfig'] = 'A fazer cópia de segurança do ficheiro config'; $lang['install_created_index'] = 'Criados índices %s ... %s'; $lang['install_create_tables'] = 'Criar tabelas de base de dados'; $lang['install_createconfig'] = 'Criar novo ficheiro config'; $lang['install_createcontentpages'] = 'Criar páginas de conteúdo pré-definidas'; $lang['install_created_table'] = 'Foi criada a tabela %s: .... %s'; $lang['install_createtablesindexes'] = 'A criar tabelas e indexes'; $lang['install_createtmpdirs'] = 'A criar directórios temporários'; $lang['install_creating_index'] = 'Criado índice %s'; $lang['install_default_collections'] = 'Instalar colecções pré-definidas'; $lang['install_defaultcontent'] = 'Instalar conteúdo pré-definido'; $lang['install_detectlanguages'] = 'Detectar idiomas instalados'; $lang['install_dropping_tables'] = 'A apagar tabelas'; $lang['install_dummyindexhtml'] = 'Criar ficheiros index.html fictícios'; $lang['install_extractfiles'] = 'Extrair ficheiros do arquivo'; $lang['install_initevents'] = 'Criar eventos'; $lang['install_initsitegroups'] = 'Criar grupos iniciais'; $lang['install_initsiteperms'] = 'Definir permissões iniciais'; $lang['install_initsiteprefs'] = 'Definir preferências de site iniciais'; $lang['install_initsiteusers'] = 'criar conta inicial de utilizador'; $lang['install_initsiteusertags'] = 'UDT\'s (user defined tags) iniciais'; $lang['install_module'] = 'Instalar o módulo %s'; $lang['install_modules'] = 'Instalar módulos disponíveis'; $lang['install_passwordsalt'] = 'Definir sal de senhas'; $lang['install_requireddata'] = 'Definir os dados iniciais requeridos'; $lang['install_schema'] = 'Criar schema da base de dados'; $lang['install_setschemaver'] = 'Definir versão do schema'; $lang['install_setsequence'] = 'Reiniciar sequências das tabelas'; $lang['install_setsitename'] = 'Definir o nome do site'; $lang['install_stylesheets'] = 'Criar folhas de estilo pré-definidas'; $lang['install_templates'] = 'Criar templates pré-definidos'; $lang['install_templatetypes'] = 'Criar tipos standard de templates'; $lang['install_update_sequences'] = 'Actualizar as tabelas de sequências'; $lang['install_updatehierarchy'] = 'Actualizar posições hierárquicas de conteúdo'; $lang['install_updateseq'] = 'Actualizar a sequência de %s'; $lang['installer_ver'] = 'Versão do instalador'; $lang['legend'] = 'Legenda'; $lang['magic_quotes_runtime'] = 'Assegurar que as magic quotes estão desabilitadas'; $lang['max_execution_time'] = 'Verificação de tempo máximo de execução de um script PHP'; $lang['meaning'] = 'Significado'; $lang['memory_limit'] = 'Verificação de limite de memória PHP suficiente'; $lang['msg_clearedcache'] = 'A cache do servidor foi limpa'; $lang['msg_configsaved'] = 'O ficheiro config existente foi guardado em %s'; $lang['msg_upgrade_module'] = 'A actualizar o módulo %s'; $lang['msg_upgrademodules'] = 'Actualização de módulos'; $lang['msg_yourvalue'] = 'Detectou-se: %s'; $lang['multibyte_support'] = 'Verificação de suporte multibyte'; $lang['next'] = 'Seguinte'; $lang['no'] = 'Não'; $lang['none'] = 'Nenhum'; $lang['open_basedir'] = 'Restrições open_basedir'; $lang['open_basedir_session_save_path'] = 'A directiva open_basedir está habilitada. Não é possível testar o directório de sessão (session save path)'; $lang['output_buffering'] = 'Assegurar que o output buffering está abilitado'; $lang['pass_config_writable'] = 'O processo HTTP tem permissões de escrita no ficheiro config.php'; $lang['pass_database_support'] = 'Foi encontrado pelo menos um driver de base de dados'; $lang['pass_func_json'] = 'funcionalidade json detectada'; $lang['pass_func_md5'] = 'funcionalidade json detectada'; $lang['pass_func_tempnam'] = 'A função tempnam existe'; $lang['pass_multibyte_support'] = 'Suporte multibite parece estar habilitado'; $lang['pass_php_version'] = 'A versão de PHP configurada neste momento não está de acordo com os requerimentos mínimos. No mínimo a versão PHP %s é requerida, embora seja recomendada %s ou superior'; $lang['pass_pwd_writable'] = 'O processo HTTP não consegue escrever no directório de destino. Necessário à extracção dos ficheiros'; $lang['password'] = 'Senha'; $lang['ph_sitename'] = 'Digite um nome para o site'; $lang['php_version'] = 'Versão de PHP'; $lang['post_max_size'] = 'Verificação do valor máximo de dados que é possível usar num request'; $lang['prompt_addlanguages'] = 'Linguagens adicionais'; $lang['prompt_createtables'] = 'Criar Tabelas da Base de Dados'; $lang['prompt_dbhost'] = 'Nome do Host da Base de Dados'; $lang['prompt_dbinfo'] = 'Informação da Base de Dados'; $lang['prompt_dbname'] = 'Nome da Base de Dados'; $lang['prompt_dbpass'] = 'Senha'; $lang['prompt_dbport'] = 'Número do Port da Base de Dados'; $lang['prompt_dbprefix'] = 'Prefixo dos Nomes das Tabelas da Base de Dados'; $lang['prompt_dbtype'] = 'Tipo da Base de Dados'; $lang['prompt_dbuser'] = 'Nome de Utilizador'; $lang['prompt_dir'] = 'Directório de Instalação'; $lang['prompt_installcontent'] = 'Instalar Conteúdo de Demonstração'; $lang['prompt_queryvar'] = 'Variável de Query'; $lang['prompt_sitename'] = 'Nome do Web Site'; $lang['prompt_timezone'] = 'Fuso Horário do Servidor'; $lang['pwd_writable'] = 'Directório Escrevível'; $lang['queue_for_upgrade'] = 'Próximo modulo não pertencente ao core em fila para actualização no passo seguinte: %s.'; $lang['readme_uc'] = 'LEIA-ME'; $lang['register_globals'] = 'Assegurar que o \'register globals\' está desabilitado'; $lang['remote_url'] = 'Conexões HTTP de saída'; $lang['repeatpw'] = 'Repita a senha'; $lang['reset_site_preferences'] = 'Repor algumas preferências globais'; $lang['reset_user_settings'] = 'Repor algumas preferências de utilizador'; $lang['retry'] = 'Tentar de Novo'; $lang['safe_mode'] = 'Teste para assegurar que o \'safe mode\' está desabilitado'; $lang['saltpasswords'] = 'Salgar Senhas'; $lang['select_language'] = 'A primeira coisa que lhe vamos pedir é para seleccionar a sua preferência de idioma da lista seguinte. Esta opção será usada para melhorar a sua experiência durante esta sequência de instalação, mas não terá qualquer efeito na instalação final do CMSMS.'; $lang['send_admin_email'] = 'Enviar email com as credenciais de acesso à secção admin'; $lang['session_capabilities'] = 'Teste a existência de recursos adequados de sessão (o uso de cookies pela sessão, o directório de sessão permitir escrita, etc)'; $lang['session_save_path_exists'] = 'Session_save_path existe'; $lang['session_save_path_writable'] = 'Session_save_path tem propriedades de escrita'; $lang['session_use_cookies'] = 'Assegurar que as sessões PHP usam cookies'; $lang['sometests_failed'] = 'Foram executados uma série de testes no ambiente web corrente. Embora não tenham sido encontrados nenhuns problemas críticos, recomenda-se que os itens seguintes sejam corrigidos antes de prosseguir.'; $lang['step1_advanced'] = 'Modo Avançado'; $lang['step1_destdir'] = 'Seleccionar Directório'; $lang['step1_info_destdir'] = 'Aviso: este programa pode instalar ou actualizar mais do que uma instalação do CMS Made Simple. É importante seleccionar o directório correcto para a sua instalação ou actualização.'; $lang['step1_language'] = 'Seleccionar Linguagem'; $lang['step1_title'] = 'Seleccionar Linguagem'; $lang['step2_cmsmsfound'] = 'Foi encontrada uma instalação do CMS Made Simple. É possível actualizar esta instalação. No entanto, antes de prosseguir, assegure-se de que tem uma cópia de segurança VERIFICADA, de todos os ficheiros bem como da base de dados'; $lang['step2_cmsmsfoundnoupgrade'] = 'Embora tenha sido encontrada uma instalação do CMS Made Simple, não é possível usar esta aplicação para actualizá-la. Possivelmente é uma versão muito antiga.'; $lang['step2_confirminstall'] = 'Tem a certeza de que quer instalar o CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Tem a certeza de que quer actualizar o CMS Made Simple'; $lang['step2_errorsamever'] = 'O directório seleccionado aparenta ter uma instalação do CMSMS com a mesma versão que vem incluída neste script. Continuar com este processo irá refrescar esta instalação.'; $lang['step2_errortoonew'] = 'O directório seleccionado aparenta ter uma instalação do CMSMS mais recente do que a incluída neste script. Não é possível prosseguir.'; $lang['step2_info_freshen'] = 'Refrescar esta instalação envolve repor todos os ficheiros do núcleo e recriar a configuração. Ser-lhe-a pedida informação básica de configuração, contudo a base de dados não será tocada.'; $lang['step2_installdate'] = 'Data aproximada de instalação'; $lang['step2_hdr_upgradeinfo'] = 'Informação de versão'; $lang['step2_info_upgradeinfo'] = 'De seguida encontra as notas de lançamento e informações de modificações (changelog) disponíveis para cada versão. Os botões visíveis permitem consultar informações detalhadas sobre o que mudou em cada versão do CMS Made Simple. Poderão haver mais instruções ou avisos em cada versão que podem afectar o processo de actualização.'; $lang['step2_minupgradever'] = 'A versão mínima que esta aplicação consegue actualizar é: %s. Poderá ser necessário actualizar a sua aplicação para uma versão mais recente por estágios, e através de outro método, antes de terminar este processo de actualização. Por favor certifique-se de que tem uma cópia de segurança completa e verificada, antes de usar qualquer método de actualização.'; $lang['step2_nocmsms'] = 'Não foi encontrada nenhuma instalação do CMS Made Simple neste directório. Parece ser uma instalação nova'; $lang['step2_passed'] = 'Passado'; $lang['step2_pwd'] = 'O seu directório de trabalho actual'; $lang['step2_schemaver'] = 'Versão do Schema da Base de Dados'; $lang['step2_version'] = 'A versão detectada'; $lang['step3_failed'] = 'Esta aplicação executou numerosos testes ao ambiente PHP corrente, e um ou mais destes testes falharam. É necessário rectificar esses erros nesta configuração antes de continuar. Uma vez rectificados os erros, clique \'Tentar de Novo\' abaixo.'; $lang['step3_passed'] = 'Esta aplicação executou numerosos testes ao ambiente PHP corrente, e todos passaram com sucesso. São boas notícias. Não sendo testes conclusivos, não deverá ter nenhuma dificuldade a usar a instalação do núcleo do CMSMS.'; $lang['step9_removethis'] = 'Aviso Por motivos de segurança é extremamente importante a remoção do assistente de instalação de qualquer sitio acessível publicamente no site assim que tenha verificado que a operação tenha tido sucesso.'; $lang['symbol'] = 'Símbolo'; $lang['social_message'] = 'Foi instalado o CMS Made Simple com sucesso!'; $lang['test_failed'] = 'Um teste requerido falhou'; $lang['test_passed'] = 'Um teste passou (testes bem sucedidos só são visíveis no modo avançado)'; $lang['test_warning'] = 'Uma configuração está acima do valor mínimo requerido, mas abaixo do valor recomendado, ou... Um recurso, que pode ser requerido para uma funcionalidade opcional, não está disponível'; $lang['th_status'] = 'Estado'; $lang['th_testname'] = 'Teste'; $lang['th_value'] = 'Valor'; $lang['title_error'] = 'Houston, temos um problema!'; $lang['title_step2'] = 'Passo 2 - Detectar software existente'; $lang['title_step3'] = 'Passo 3 - Testes'; $lang['title_step4'] = 'Passo 4 - Informações Básicas de Configuração'; $lang['title_step5'] = 'Passo 5 - Informações de Conta de Administração'; $lang['title_step6'] = 'Passo 6 - Configurações do Site'; $lang['title_step7'] = 'Passo 7 - Instalar Ficheiros da Aplicação'; $lang['title_step8'] = 'Passo 8 - Procedimentos da Base de Dados'; $lang['title_step9'] = 'Passo 9 - Finalização'; $lang['title_welcome'] = 'Bem-vindo'; $lang['title_forum'] = 'Fórum de Apoio'; $lang['title_docs'] = 'Documentação Oficial'; $lang['title_api_docs'] = 'Documentação Oficial do API'; $lang['to'] = 'ao'; $lang['title_share'] = 'Partilhe a sua experiência com os seus amigos.'; $lang['tmpfile'] = 'Verificação de mpfile() funcional'; $lang['upgrade'] = 'Actualizar'; $lang['upgrade_deleteoldevents'] = 'A apagar eventos antigos'; $lang['upgrading_schema'] = 'A actualizar schema de base de dados'; $lang['upload_max_filesize'] = 'Verificação do tamanho máximo de upload de ficheiros'; $lang['username'] = 'Nome de Utilizador'; $lang['warn_disable_functions'] = 'Nota: uma ou mais funções PHP estão activas. Estas podem ter um impacto negativo na sua instalação do CMSMS, particularmente com módulos desenvolvidos por terceiros. Por favor vigie o ficheiro de registo de erros (error log). As funções que estão desabilitadas são: %s'; $lang['warn_max_execution_time'] = 'Apesar do tempo máximo de execução de %s exceda o valor mínimo necessário de %s, recomenda-se que aumente este valor para %s ou superior'; $lang['warn_memory_limit'] = 'O limite de memória encontrado é de %s, sendo assim acima do mínimo de %s. Recomenda-se no entanto um valor de %s'; $lang['warn_open_basedir'] = 'A directiva open_basedir está habilitada na sua configuração de PHP. Apesar de poder continuar a instalação, o CMSMS não dá suporte a utilizadores com relação a instalações em ambientes com restrições de open_basedir.'; $lang['warn_post_max_size'] = 'Apesar do tamanho máximo de post de %s exceda o valor mínimo necessário de %s, recomenda-se que aumente este valor para %s ou superior, e que este seja superior ao valor de upload_max_filesize'; $lang['warn_tests'] = 'Nota: o sucesso na passagem de todos estes testes deverá assegurar que o CMSMS funcione adequadamente na maioria dos sites. No entanto, à medida que o site cresça, e mais funcionalidades sejam adicionadas, estes valores mínimos podem-se revelar insuficientes. Adicionalmente, módulos desenvolvidos por terceiros podem requerer recursos adicionais ou com valores acima dos encontrados para funcionar adequadamente'; $lang['warn_upload_max_filesize'] = 'Embora a configuração PHP de %s de upload_max_filesize seja suficiente, recomendamos incrementar este valor para pelo menos %s'; $lang['welcome_message'] = 'Bem-vindo! Este é o Mecanismo de Instalação Automática do CMS Made Simple. Este permitir-lhe-á, de forma rápida e fácil, confirmar se o seu servidor web é compatível com o CMSMS, e instalar ou actualizar o CMS Made Simple para a versão mais recente. Temos a certeza de que o irá apreciar.'; $lang['wizard_step1'] = 'Bem-vindo'; $lang['wizard_step2'] = 'Detectar Software'; $lang['wizard_step3'] = 'Testes de Compatibilidade'; $lang['wizard_step4'] = 'Dados de Configuração'; $lang['wizard_step5'] = 'Dados de Conta Admin'; $lang['wizard_step6'] = 'Configurações do Site'; $lang['wizard_step7'] = 'Ficheiros'; $lang['wizard_step8'] = 'Configuração de Base de Dados'; $lang['wizard_step9'] = 'Finalizar'; $lang['xml_functions'] = 'A verificar a funcionalidade XML'; $lang['yes'] = 'Sim'; ?>этот процесс в чтобы продолжить!

После того, как вы вернули имя каталога администратора в исходное местоположение, перезагрузите эту страницу..'; $lang['error_backupconfig'] = 'Мы не смогли создать резервную копию файла config.php'; $lang['error_checksum'] = 'Исправленная контрольная сумма файла не соответствует оригиналу'; $lang['error_cmstablesexist'] = 'Похоже, что в этой базе данных уже установлена CMS. Введите другую информацию о базе данных. Если вы хотите использовать другой префикс таблицы, вам может потребоваться перезапустить процесс установки и включить расширенный режим.'; $lang['error_createtable'] = 'Проблема создания таблицы базы данных ... возможно, это проблема с разрешениями'; $lang['error_dbconnect'] = 'Мы не смогли подключиться к базе данных. Повторите проверку учетных данных, которые вы предоставили'; $lang['error_dirnotvalid'] = 'Каталог %s не существует (или не записывается)'; $lang['error_droptable'] = 'Проблема с отбрасыванием таблицы базы данных ... возможно, это проблема с разрешениями'; $lang['error_filenotwritable'] = 'Файл%s не может быть перезаписан (проблема с разрешениями)'; $lang['error_internal'] = 'Извините, что-то пошло не так ... (внутренняя ошибка) (%s)'; $lang['error_invalid_directory'] = 'Похоже, что каталог, который вы выбрали для установки, является рабочим каталогом самого установщика'; $lang['error_invalidconfig'] = 'Ошибка в файле конфигурации или отсутствующий файл конфигурации'; $lang['error_invaliddbpassword'] = 'пароль базы данных содержит недопустимые символы, которые нельзя безопасно сохранить.'; $lang['error_invalidkey'] = 'Неверная переменная участника или ключ %s для класса %s'; $lang['error_invalidparam'] = 'Недопустимый параметр или значение параметра:%s'; $lang['error_invalidtimezone'] = 'Указанный часовой пояс недействителен'; $lang['error_invalidqueryvar'] = 'Введенная переменная запроса содержит недопустимые символы. Используйте только буквенно-цифровые символы и символы подчеркивания.'; $lang['error_missingconfigvar'] = 'Ключ "%s" либо отсутствует, либо недействителен в файле config.ini'; $lang['error_noarchive'] = 'Поиск файла архива ... перезагрузите'; $lang['error_nlsnotfound'] = 'Поиск файлов NLS в архиве'; $lang['error_nodatabases'] = 'Не удалось найти совместимые расширения базы данных'; $lang['error_nodbhost'] = 'Введите правильное имя хоста (или IP-адрес) для подключения к базе данных'; $lang['error_nodbname'] = 'Введите имя допустимой базы данных на указанном выше узле'; $lang['error_nodbpass'] = 'Введите действительный пароль для аутентификации в базу данных'; $lang['error_nodbprefix'] = 'Введите действительный префикс для таблиц базы данных'; $lang['error_nodbtype'] = 'Выберите тип базы данных'; $lang['error_nodbuser'] = 'Введите действительное имя пользователя для аутентификации в базу данных'; $lang['error_nodestdir'] = 'Целевой каталог не установлен'; $lang['error_nositename'] = 'Имя сайта является обязательным параметром. Введите подходящее имя для своего сайта.'; $lang['error_notimezone'] = 'Ведите действительный часовой пояс для этого сервера'; $lang['error_overwrite'] = 'Проблема с разрешениями: невозможно перезаписать %s'; $lang['error_sendingmail'] = 'Ошибка отправки почты'; $lang['error_tzlist'] = 'Возникла проблема с получением списка идентификаторов часовых поясов'; $lang['errorlevel_estrict'] = 'Проверка на E_STRICT'; $lang['errorlevel_edeprecated'] = 'Проверка на E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED включен в PHP error_reporting. Хотя это не будет препятствовать работе CMSMS, это может привести к появлению предупреждений на экране вывода, в частности, из более старых, сторонних модулей'; $lang['estrict_enabled'] = 'E_STRICT включен в PHP error_reporting. Хотя это не будет препятствовать работе CMSMS, это может привести к отображению предупреждений на выходе HTML, особенно из более старых, сторонних модулей'; $lang['fail_assets_dir'] = 'Каталог ресурсов уже существует. Это приложение может писать в этот каталог, чтобы рационализировать расположение файлов. Убедитесь, что у вас есть резервная копия'; $lang['fail_assets_msg'] = 'Каталог ресурсов уже существует. Это приложение может писать в этот каталог, чтобы рационализировать расположение файлов. Убедитесь, что у вас есть резервная копия'; $lang['fail_config_writable'] = 'HTTP-процесс не может записываться в файл config.php. Попробуйте изменить разрешения для этого файла на 777, пока процесс обновления не будет завершен'; $lang['fail_curl_extension'] = 'Расширение Curl не найдено. Хотя это не критическая проблема, это может вызвать проблемы с некоторыми сторонними модулями'; $lang['fail_database_support'] = 'Не найдено драйверов совместимых баз данных'; $lang['fail_file_get_contents'] = 'Функция file_get_contents не существует или отключена. CMSMS Не удается продолжить (даже установщик, вероятно, не сработает)'; $lang['fail_file_uploads'] = 'Возможности загрузки файлов в этой среде отключены. Некоторые функции CMSMS не будут работать в этой среде'; $lang['fail_func_json'] = 'Функция json не найдена'; $lang['fail_func_gzopen'] = 'Функция gzopen не найдена'; $lang['fail_func_md5'] = 'Функциональность md5 не найдена'; $lang['fail_func_tempnam'] = 'Функция tempnam не существует. Это обязательная функция для функциональности CMSMS'; $lang['fail_func_ziparchive'] = 'Функция ZipArchive не найдена. Это может ограничить функциональность'; $lang['fail_ini_set'] = 'Похоже, мы не можем изменить настройки ini. Это может вызвать проблемы в сторонних модулях (или при включении режима отладки)'; $lang['fail_intl_support'] = 'Расширение интернационализации PHP недоступно'; $lang['fail_magic_quotes_runtime'] = 'Похоже, что в вашей конфигурации включены магические кавычки. Отключите их и повторите попытку.'; $lang['fail_max_execution_time'] = 'Максимальное время выполнения %s не соответствует минимальному значению %s. Рекомендуем увеличить его до %s или выше.'; $lang['fail_memory_limit'] = 'Предельное значение вашей памяти слишком низкое. У вас есть %s, однако требуется минимум %s, и рекомендуется %s'; $lang['fail_multibyte_support'] = 'Поддержка Multibyte не включена в вашей конфигурации'; $lang['fail_output_buffering'] = 'Буферизация вывода не включена.'; $lang['fail_open_basedir'] = 'Действуют ограничения Open_basedir. CMSMS требует, чтобы это было отключено'; $lang['fail_php_version'] = 'Версия PHP, доступная для CMSMS, имеет решающее значение. Минимальная принятая версия - %s, хотя мы рекомендуем %s или больше. У вас %s'; $lang['fail_post_max_size'] = 'Максимальный размер %s не соответствует минимальному значению %s. Рекомендуется использовать значение %s или более, и убедитесь, что оно больше, чем upload_max_filesize'; $lang['fail_pwd_writable2'] = 'HTTP-процесс должен иметь возможность записывать в целевой каталог (и ко всем файлам и каталогам под ним) для установки файлов. У нас нет разрешения на запись (по крайней мере) %s'; $lang['fail_register_globals'] = 'Пожалуйста, отключите register_globals в вашей конфигурации PHP'; $lang['fail_remote_url'] = 'Мы столкнулись с проблемами, связанными с удаленным URL. Это ограничит некоторые функции CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS не будет работать должным образом в среде, где включен безопасный режим. Безопасный режим устарел как неудачный механизм и будет удален в будущих версиях PHP'; $lang['fail_session_save_path_exists'] = 'Значение переменной save_path недействительно или каталог не существует'; $lang['fail_session_save_path_writable'] = 'Каталог save_path сеанса недоступен для записи'; $lang['fail_session_use_cookies'] = 'CMSMS требует, чтобы PHP был настроен на сохранение ключа сессии в файле cookie'; $lang['fail_tmpfile'] = 'Функция tmpfile () системы не работает. Это необходимо для того, чтобы мы могли извлекать архивы. Необязательный аргумент url TMPDIR может быть предоставлен установщику для указания каталога для записи. См. Файл README, который должен быть включен в этот каталог.'; $lang['fail_tmp_dirs_empty'] = 'Временные каталоги CMSMS (tmp/cache и tmp/templates_c) существуют и не являются пустыми. Удалите или опустите их.'; $lang['fail_xml_functions'] = 'Расширение XML не найдено. Включите это в PHP'; $lang['failed'] = 'неудачно'; $lang['file_get_contents'] = 'Проверка функции file_get_contents'; $lang['file_installed'] = 'Установлено %s'; $lang['file_uploads'] = 'Проверка поддержки загрузки файлов'; $lang['finished_custom_freshen_msg'] = 'Ваша версия была обновлена! Обновлены основные файлы и создан новый файл конфигурации. Посетите веб-сайт, чтобы убедиться, что все работает правильно.'; $lang['finished_custom_install_msg'] = 'Готово! Посетите веб-сайт и войдите в панель администратора.'; $lang['finished_custom_upgrade_msg'] = 'Готово! Посетите панель администратора CMSMS и интерфейс, чтобы убедиться, что все работает правильно.
Подсказка: Теперь самое подходящее время для создания резервной копии.'; $lang['finished_freshen_msg'] = 'Ваша версия была обновлена! Обновлены основные файлы и создан новый файл конфигурации. Теперь вы можете посетить свой сайт или войти в панель администратора CMSMS .'; $lang['finished_install_msg'] = 'Мы это сделали! Теперь вы можете посетить свой сайт или войти в панель администрирования CMSMS .'; $lang['finished_upgrade_msg'] = 'Все готово! Пожалуйста, посетите веб-сайт и панель администратора , чтобы проверить правильность работы. Вам также может потребоваться обновить некоторые сторонние модули.
Совет: Не забудьте создать резервную копию после проверки правильного работы сайта.'; $lang['freshen'] = 'Обновление (восстановление)'; $lang['func_json'] = 'Проверка функции json для кодирования и декодирования'; $lang['func_md5'] = 'Проверка функциональности md5'; $lang['func_tempnam'] = 'Проверить функцию tempnam'; $lang['func_gzopen'] = 'Проверить функцию gzopen'; $lang['func_ziparchive'] = 'Проверка функции ziparchive'; $lang['gd_version'] = 'Версия GD'; $lang['goback'] = 'Назад'; $lang['info_addlanguages'] = 'Выберите язык (в дополнение к английскому) для установки. Примечание: не все переводы завершены.'; $lang['info_adminaccount'] = 'Укажите учетные данные для начальной учетной записи администратора. Эта учетная запись будет иметь доступ ко всем функциям консоли администратора CMSMS.'; $lang['info_advanced'] = 'Расширенный режим позволяет использовать дополнительные параметры в процедуре установки.'; $lang['info_dbinfo'] = 'CMS Made Simple хранит большое количество данных в базе данных. Соединение с базой данных является обязательным. Кроме того, учетные данные пользователя, которые вы предоставляете, должны иметь ВСЕ ПРИВИЛЕГИИ в указанной базе данных, чтобы разрешить создание, удаление и изменение таблиц, индексов и представлений.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED - это флаг для отчета об ошибках PHP, который указывает, что должны отображаться предупреждения о коде, использующем устаревшие методы. Хотя ядро CMSMS пытается гарантировать, что мы больше не используем устаревшие методы, некоторые модули могут не работать. Мы рекомендуем отключить этот параметр в настройках PHP'; $lang['info_errorlevel_estrict'] = 'E_STRICT - это флаг для отчетов об ошибках PHP' который указывает, что должны соблюдаться строгие стандарты кодирования. Хотя ядро CMSMS пытается соответствовать стандартам E_STRICT, некоторые модули могут не работать. Мы рекомендуем отключить этот параметр в настройках PHP'; $lang['info_installcontent'] = 'По умолчанию этот установщик создаст примеры страниц, таблиц стилей и шаблонов в CMSMS. Образец контента содержит обширную информацию и советы по созданию сайтов с CMSMS и полезен для чтения. Однако, если вы уже знакомы с CMS Made Simple, отключение этой опции приведет к минимальному набору шаблонов, таблиц стилей и страниц контента.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir включен в вашей конфигурации PHP. Мы не смогли правильно проверить возможности сеанса. Однако переход к этому моменту в процессе установки, вероятно, указывает на то, что сеансы работают нормально.'; $lang['info_pwd_writable'] = 'Это приложение нуждается в разрешении на запись в текущий рабочий каталог'; $lang['info_queryvar'] = 'Переменная запроса используется внутри CMSMS для идентификации запрошенной страницы. В большинстве случаев вам не нужно настраивать это.'; $lang['info_sitename'] = 'Имя веб-сайта используется в шаблонах по умолчанию в качестве части названия. Введите имя пользователя для веб-сайта'; $lang['info_timezone'] = 'Информация о часовом поясе необходима для расчета времени и отображения времени/даты. Выберите часовой пояс сервера'; $lang['ini_set'] = 'Тестирование, если мы сможем изменить настройки INI'; $lang['install'] = 'Установка'; $lang['install_attachstylesheets'] = 'Прикреплять таблицы стилей к темам'; $lang['install_backupconfig'] = 'Резервное копирование файла конфигурации'; $lang['install_createassets'] = 'Создание структуры активов'; $lang['install_created_index'] = 'Созданный индекс %s ...%s'; $lang['install_create_tables'] = 'Создание таблиц базы данных'; $lang['install_createconfig'] = 'Создать новый файл конфигурации'; $lang['install_createcontentpages'] = 'Создание страниц контента по умолчанию'; $lang['install_created_table'] = 'Созданная таблица %s: ....%s'; $lang['install_createtablesindexes'] = 'Создание таблиц и индексов'; $lang['install_createtmpdirs'] = 'Создание временных каталогов'; $lang['install_creating_index'] = 'Созданный индекс %s'; $lang['install_default_collections'] = 'Установить коллекции по умолчанию'; $lang['install_defaultcontent'] = 'Установка контента по умолчанию'; $lang['install_detectlanguages'] = 'Обнаружение установленных языков'; $lang['install_dropping_tables'] = 'Очистить таблицы'; $lang['install_dummyindexhtml'] = 'Создание файлов index.html'; $lang['install_extractfiles'] = 'Извлечение файлов из архива'; $lang['install_initevents'] = 'Создание событий'; $lang['install_initsitegroups'] = 'Создание начальных групп'; $lang['install_initsiteperms'] = 'Установить начальные разрешения'; $lang['install_initsiteprefs'] = 'Настройка начальных настроек сайта'; $lang['install_initsiteusers'] = 'Создать начальную учетную запись пользователя'; $lang['install_initsiteusertags'] = 'Начальные пользовательские теги'; $lang['install_module'] = 'Установить модуль%s'; $lang['install_modules'] = 'Установка доступных модулей'; $lang['install_passwordsalt'] = 'Установить соль паролей'; $lang['install_requireddata'] = 'Задайте начальные требуемые данные'; $lang['install_schema'] = 'Создание схемы базы данных'; $lang['install_setschemaver'] = 'Установить версию схемы'; $lang['install_setsequence'] = 'Сбросить таблицы последовательности'; $lang['install_setsitename'] = 'Укажите имя сайта'; $lang['install_stylesheets'] = 'Создание таблиц стилей по умолчанию'; $lang['install_templates'] = 'Создание шаблонов по умолчанию'; $lang['install_templatetypes'] = 'Создание стандартных типов шаблонов'; $lang['install_update_sequences'] = 'Обновить таблицы последовательности'; $lang['install_updatehierarchy'] = 'Обновление позиций иерархии контента'; $lang['install_updateseq'] = 'Обновить последовательность для %s'; $lang['installer_ver'] = 'Версия установщика'; $lang['intl_support'] = 'Проверьте возможности интернационализации'; $lang['legend'] = 'Легенда'; $lang['magic_quotes_runtime'] = 'Убедитесь, что магические кавычки отключены'; $lang['max_execution_time'] = 'Проверка максимального времени выполнения PHP-скрипта'; $lang['meaning'] = 'Имея в виду'; $lang['memory_limit'] = 'Проверка достаточного предела памяти PHP'; $lang['msg_clearedcache'] = 'Очищенный кеш сервера'; $lang['msg_configsaved'] = 'Существующий файл конфигурации, сохранен в %s'; $lang['msg_upgrade_module'] = 'Обновленный модуль%s'; $lang['msg_upgrademodules'] = 'Обновление модулей'; $lang['msg_yourvalue'] = 'У вас есть: %s'; $lang['multibyte_support'] = 'Проверить поддержку мультибайта'; $lang['next'] = 'Следующий'; $lang['no'] = 'Нет'; $lang['none'] = 'Никто'; $lang['open_basedir'] = 'Ограничения open_basedir'; $lang['open_basedir_session_save_path'] = 'open_basedir включен. Не удается проверить путь сохранения сеанса.'; $lang['output_buffering'] = 'Обеспечение включения буферизации вывода'; $lang['pass_config_writable'] = 'Процесс HTTP имеет разрешение на запись в файл config.php'; $lang['pass_database_support'] = 'Найден хотя бы один совместимый драйвер базы данных'; $lang['pass_func_json'] = 'обнаружена функция json'; $lang['pass_func_md5'] = 'Функция md5 была обнаружена'; $lang['pass_func_tempnam'] = 'Функция tempnam существует'; $lang['pass_intl_support'] = 'Возможности интернационализации включены'; $lang['pass_memory_limit_nolimit'] = 'Нет предустановленного ограничения памяти PHP'; $lang['pass_multibyte_support'] = 'Поддержка Multibyte включена'; $lang['pass_php_version'] = 'В настоящее время настроенная PHP-версия не отвечает минимальным требованиям. Как минимум, требуется PHP %s, хотя мы рекомендуем %s или выше'; $lang['pass_pwd_writable'] = 'HTTP-процесс может записываться в целевой каталог. Это необходимо для извлечения файлов'; $lang['password'] = 'Пароль'; $lang['ph_sitename'] = 'Введите имя сайта'; $lang['php_version'] = 'Версия PHP'; $lang['post_max_size'] = 'Проверка максимального объема данных, которые могут быть отправлены по одному запросу'; $lang['prompt_addlanguages'] = 'Дополнительные языки'; $lang['prompt_createtables'] = 'Создание таблиц базы данных'; $lang['prompt_dbhost'] = 'Имя хоста базы данных'; $lang['prompt_dbinfo'] = 'Информация о базе данных'; $lang['prompt_dbname'] = 'Имя базы данных'; $lang['prompt_dbpass'] = 'Пароль'; $lang['prompt_dbport'] = 'Порт базы данных'; $lang['prompt_dbprefix'] = 'Префикс имени таблицы базы данных'; $lang['prompt_dbtype'] = 'Тип базы данных'; $lang['prompt_dbuser'] = 'Имя пользователя'; $lang['prompt_dir'] = 'Каталог установки'; $lang['prompt_installcontent'] = 'Установить примеры контента'; $lang['prompt_queryvar'] = 'Переменная запроса'; $lang['prompt_sitename'] = 'Название веб-сайта'; $lang['prompt_timezone'] = 'Часовой пояс'; $lang['pwd_writable'] = 'Переписываемый каталог'; $lang['queue_for_upgrade'] = 'Очередному не ядерному модулю %s для обновления на следующем шаге.'; $lang['readme_uc'] = 'Справка'; $lang['register_globals'] = 'Обеспечение "регистров глобальных переменных " выключен'; $lang['remote_url'] = 'Проверьте, можем ли мы делать исходящие HTTP-соединения'; $lang['repeatpw'] = 'Повторите пароль'; $lang['reset_site_preferences'] = 'Сбросить настройки сайта'; $lang['reset_user_settings'] = 'Сбросить настройки пользователя'; $lang['retry'] = 'Повторить'; $lang['safe_mode'] = 'Тест для обеспечения "безопасного режима" выключен'; $lang['saltpasswords'] = 'Солевые пароли'; $lang['select_language'] = 'Первое, что мы попросим вас сделать, это выбрать нужный язык из списка ниже. Это сделано для вашего удобства во время шагов по установки системы, но не повлияет на выбор языка установленной CMSMS.'; $lang['send_admin_email'] = 'Отправить учетные данные для входа администратора'; $lang['session_capabilities'] = 'Тестирование правильных возможностей сеанса (сеансы используют файлы cookie и путь сохранения сеанса доступен для записи и т.д.)'; $lang['session_save_path_exists'] = 'Session Save_path существует'; $lang['session_save_path_writable'] = 'Session Save_path доступен для записи'; $lang['session_use_cookies'] = 'Обеспечение того, чтобы сеансы PHP использовали файлы cookie'; $lang['sometests_failed'] = 'Мы провели многочисленные тесты вашей текущей веб-среды. Несмотря на то, что не было обнаружено критических проблем, мы рекомендуем, чтобы следующие пункты были исправлены до продолжения.'; $lang['step1_advanced'] = 'Расширенный режим'; $lang['step1_destdir'] = 'Выбрать каталог'; $lang['step1_info_destdir'] = ' Предупреждение: . Эта программа может установить или обновить несколько установок CMS Made Simple. Важно, чтобы вы выбрали правильный каталог для установки или обновления.'; $lang['step1_language'] = 'Выберите язык'; $lang['step1_title'] = 'Выберите язык'; $lang['step2_cmsmsfound'] = 'Была обнаружена установленная CMS Made Simple. Можно обновить эту версию. Однако перед продолжением убедитесь, что у вас есть текущая резервная копия всех файлов и базы данных'; $lang['step2_cmsmsfoundnoupgrade'] = 'Невозможно обновить эту версию с помощью этого приложения. Версия может быть слишком старой.'; $lang['step2_confirminstall'] = 'Вы уверены, что хотите установить CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Вы уверены, что хотите обновить CMS Made Simple'; $lang['step2_errorsamever'] = 'Выбранный каталог содержит установленную CMSMS с той же версией, которая включена в этот скрипт. Продолжение будет обновлять установку.'; $lang['step2_errortoonew'] = 'Выбранный каталог содержит установленную CMSMS с более новой версией, включенной в этот скрипт. Не удалось продолжить'; $lang['step2_info_freshen'] = 'Обвновление включает в себя замену всех основных файлов и воссоздание конфигурации. Вам будет предложена основная информация о конфигурации, однако база данных не будет затронута.'; $lang['step2_installdate'] = 'Ориентировочная дата установки'; $lang['step2_install_dirnotempty2'] = 'Эта папка уже содержит некоторые файлы и /или подпапки. Хотя здесь можно установить CMSMS, это может привести к портированию существующего приложения. Проверьте содержимое этой папки. Для справки некоторые из файлов перечислены ниже. Убедитесь, что это правильно.'; $lang['step2_hdr_upgradeinfo'] = 'Информация о версии'; $lang['step2_info_upgradeinfo'] = 'Ниже приведены доступные примечания к выпуску и сведения о изменениях для каждой версии. На приведенных ниже кнопках будет отображаться подробная информация о том, что изменилось в каждой версии CMS Made Simple. В каждой версии могут быть дополнительные инструкции или предупреждения, которые могут повлиять на процесс обновления.'; $lang['step2_minupgradever'] = 'Минимальная версия, которую может обновить это приложение: %s. Возможно, вам потребуется обновить приложение до более новой версии поэтапно, используя другой метод перед завершением процесса обновления. Перед использованием любого метода обновления убедитесь, что у вас есть полная проверенная резервная копия.'; $lang['step2_nocmsms'] = 'Мы не нашли установленную CMS Made Simple в этом каталоге. Похоже, это новая установка'; $lang['step2_nofiles'] = 'В соответствии с запросом, файлы CMSMS Core не будут обрабатываться во время этого процесса'; $lang['step2_passed'] = 'Прошло'; $lang['step2_pwd'] = 'Ваш текущий каталог'; $lang['step2_schemaver'] = 'Версия схемы базы данных'; $lang['step2_version'] = 'Ваша версия'; $lang['step3_failed'] = 'Этот пакет выполнил многочисленные тесты вашей среды PHP, и один или несколько из этих тестов потерпели неудачу. Прежде чем продолжить, вам нужно будет исправить эти ошибки в своей конфигурации. После исправления ошибок нажмите " Повторить " ниже.'; $lang['step3_passed'] = 'Этот пакет выполнил многочисленные тесты вашей среды PHP, и все они прошли. Это отличная новость! Хотя это не всеобъемлющий тест, вам не составит труда запустить базовую установку CMSMS.'; $lang['step9_get_help'] = 'Свяжитесь с другими разработчиками CMSMS и получите помощь следующими способами'; $lang['step9_get_support'] = 'Каналы поддержки'; $lang['step9_join_community'] = 'Присоединяйтесь к нашему сообществу'; $lang['step9_love_cmsms'] = 'Нравиться CMS Made Simple ?'; $lang['step9_removethis'] = ' Предупреждение . Из соображений безопасности важно удалить помощника по установке с вашего сайта для просмотра, как только вы подтвердите, что операция выполнена успешно.'; $lang['step9_support_us'] = 'Нажмите здесь, чтобы узнать, как вы можете поддержать нас'; $lang['symbol'] = 'Символ'; $lang['social_message'] = 'Я успешно установил CMS Made Simple!'; $lang['test_failed'] = 'Не удалось выполнить требуемый тест'; $lang['test_passed'] = 'Тест прошел (прошедшие тесты отображаются только в расширенном режиме) '; $lang['test_warning'] = 'Настройка выше требуемого значения, но ниже рекомендуемого значения или ...
Возможность, которая может потребоваться для некоторых дополнительных функций, недоступна'; $lang['th_status'] = 'Статус'; $lang['th_testname'] = 'Тест'; $lang['th_value'] = 'Значение'; $lang['title_error'] = 'Хьюстон у нас проблема!'; $lang['title_step2'] = 'Шаг 2 - Обнаружение существующего ПО'; $lang['title_step3'] = 'Шаг 3 - Тесты'; $lang['title_step4'] = 'Шаг 4 - Основная информация о конфигурации'; $lang['title_step5'] = 'Шаг 5 - Информация об учетной записи администратора'; $lang['title_step6'] = 'Шаг 6 - Настройки сайта'; $lang['title_step7'] = 'Шаг 7 - Установка файлов приложений'; $lang['title_step8'] = 'Шаг 8 - Работа с базой данных'; $lang['title_step9'] = 'Шаг 9 - Завершение'; $lang['title_welcome'] = 'Добро пожаловать'; $lang['title_forum'] = 'Форум поддержки'; $lang['title_docs'] = 'Официальная документация'; $lang['title_api_docs'] = 'Официальная документация API'; $lang['to'] = 'в'; $lang['title_share'] = 'Поделитесь своим опытом с друзьями.'; $lang['tmpfile'] = 'Проверка работы tmpfile ()'; $lang['tmp_dirs_empty'] = 'Убедитесь, что временные каталоги пусты или не существуют.'; $lang['upgrade'] = 'Обновить'; $lang['upgrade_deleteoldevents'] = 'Удаление старых событий'; $lang['upgrading_schema'] = 'Обновление схемы базы данных'; $lang['upload_max_filesize'] = 'Проверка максимального размера загруженных файлов'; $lang['username'] = 'Имя пользователя'; $lang['warn_disable_functions'] = 'Примечание. Одна или несколько основных функций PHP отключены. Это может негативно сказаться на вашей установке CMSMS, особенно на сторонних расширениях. Следите за журналом ошибок. Ваши отключенные функции:

%s'; $lang['warn_max_execution_time'] = 'Хотя максимальное время выполнения %s соответствует или превышает минимальное значение %s, мы рекомендуем вам увеличить его до %s или выше'; $lang['warn_memory_limit'] = 'Предельное значение вашей памяти составляет %s, что выше минимума %s. Однако рекомендуется %s'; $lang['warn_open_basedir'] = 'open_basedir включен в вашей конфигурации php. Хотя вы можете продолжить, CMSMS не будет поддерживать установки с ограничениями open_basedir.'; $lang['warn_post_max_size'] = 'Максимальное значение вашего post max равно %s, что выше минимального %s, однако рекомендуется %s. Кроме того, убедитесь, что это значение больше, чем upload_max_filesize'; $lang['warn_tests'] = ' Примечание. прохождение всех этих тестов должно гарантировать, что CMSMS функционирует правильно для большинства сайтов. Однако по мере роста сайта и увеличения функциональности эти минимальные значения могут стать недостаточными. Кроме того, у сторонних модулей могут быть дополнительные требования к правильной работе'; $lang['warn_upload_max_filesize'] = 'Хотя вашей настройки %s достаточно, рекомендуется увеличить значение параметра upload_max_filesize в PHP, по крайней мере, %s'; $lang['welcome_message'] = 'Добро пожаловать! Это механизм автоматической установки CMS Made Simple. Этот пакет позволит вам быстро и легко подтвердить, что ваш хостинг совместим с CMSMS, и установить или обновить до последней версии CMS Made Simple. Процедура установки вам обязательно понравится!'; $lang['wizard_step1'] = 'Добро пожаловать'; $lang['wizard_step2'] = 'Обнаружение существующего программного обеспечения'; $lang['wizard_step3'] = 'Тесты совместимости'; $lang['wizard_step4'] = 'Информация о конфигурации'; $lang['wizard_step5'] = 'Информация об учетной записи администратора'; $lang['wizard_step6'] = 'Настройки сайта'; $lang['wizard_step7'] = 'Файлы'; $lang['wizard_step8'] = 'Работа в базе данных'; $lang['wizard_step9'] = 'Завершено'; $lang['xml_functions'] = 'Проверка функциональности XML'; $lang['yes'] = 'Да'; $lang['ga'] = 'GA1.2.1505228635.1539520636'; $lang['gid'] = 'GA1.2.272944334.1647665194'; ?>(детальніше), щоб продовжити!

Після повернення назви адмін. теки до її оригінальної назви, перезавантажте цю сторінку.'; $lang['error_backupconfig'] = 'Ми не змогли належним чином створити резервну копію файлу конфігурації'; $lang['error_checksum'] = 'Контрольна сума файлу не відповідає оригіналу'; $lang['error_cmstablesexist'] = 'Схоже, що в цій базі даних вже встановлена система CMS. Будь ласка, вкажіть іншу базу даних. Якщо ви хочете використовувати інший префікс таблиць, можливо, доведеться перезапустити процес інсталяції та увімкнути розширений режим.'; $lang['error_createtable'] = 'Проблема зі створенням таблиці бази даних ... можливо, проблема з правами доступу користувача бази даних'; $lang['error_dbconnect'] = 'Не вдалося підключитися до бази даних. Будь ласка, перевірте ще раз введені вами дані'; $lang['error_dirnotvalid'] = 'Тека %s не існує (або не доступна для запису)'; $lang['error_droptable'] = 'Проблема зі знищенням таблиці бази даних ... можливо, проблема з правами доступу користувача бази даних'; $lang['error_filenotwritable'] = 'Неможливо перезаписати файл %s (проблема з правами доступу)'; $lang['error_internal'] = 'Вибачте, щось пішло не так ... (внутрішня помилка) (%s)'; $lang['error_invalid_directory'] = 'Схоже, що тека, в яку ви хочете інсталювати, є робочою текою самого інсталятора'; $lang['error_invalidconfig'] = 'Помилка в файлі конфігурації або файл конфігурації відсутній'; $lang['error_invaliddbpassword'] = 'Пароль бази даних містить невірні символи, які не можуть бути безпечно збережені.'; $lang['error_invalidkey'] = 'Недійсна змінна або ключ %s для класу %s'; $lang['error_invalidparam'] = 'Недійсний параметр або його значення: %s'; $lang['error_invalidtimezone'] = 'Неправильно вказаний часовий пояс'; $lang['error_invalidqueryvar'] = 'Введена змінна запиту містить недійсні символи. Будь ласка, використовуйте лише буквено-цифрові символи та знаки підкреслення.'; $lang['error_missingconfigvar'] = 'Ключ "%s" відсутній або недійсний у файлі config.ini'; $lang['error_noarchive'] = 'Проблема з пошуком архіву ... будь ласка, перезапустіть процес'; $lang['error_nlsnotfound'] = 'Проблема з пошуком файлів NLS в архіві'; $lang['error_nodatabases'] = 'Не знайдено сумісних розширень бази даних'; $lang['error_nodbhost'] = 'Будь ласка, введіть дійсне ім\'я хоста (або IP-адресу) для з\'єднання з базою даних'; $lang['error_nodbname'] = 'Будь ласка, введіть назву дійсної бази даних на сервері, зазначеному вище'; $lang['error_nodbpass'] = 'Будь ласка, введіть дійсний пароль для аутентифікації в базі даних'; $lang['error_nodbprefix'] = 'Будь ласка, введіть дійсний префікс для таблиць бази даних'; $lang['error_nodbtype'] = 'Будь ласка, виберіть тип бази даних'; $lang['error_nodbuser'] = 'Будь ласка, введіть дійсне ім\'я користувача для аутентифікації в базі даних'; $lang['error_nodestdir'] = 'Теку призначення не встановлено'; $lang['error_nositename'] = 'Назва сайту - це обов\'язковий параметр. Будь ласка, введіть підхожу назву для вашого веб-сайту.'; $lang['error_notimezone'] = 'Будь ласка, введіть дійсний часовий пояс для цього сервера'; $lang['error_overwrite'] = 'Проблеми з правами доступу: неможливо перезаписати %s'; $lang['error_sendingmail'] = 'Помилка при надсиланні пошти'; $lang['error_tzlist'] = 'Виникла проблема з отриманням списку ідентифікаторів часових поясів'; $lang['errorlevel_estrict'] = 'Перевірка E_STRICT'; $lang['errorlevel_edeprecated'] = 'Перевірка E_DEPRECATED'; $lang['edeprecated_enabled'] = 'E_DEPRECATED увімкнено у error_reporting PHP. Хоча це не завадить роботі CMSMS, це може призвести до появи попереджень на екрані виводу, особливо старими модулями сторонніх розробників'; $lang['estrict_enabled'] = 'E_STRICT увімкнено у error_reporting PHP. Хоча це не завадить роботі CMSMS, це може призвести до того, що попередження відображатимуться у виводі HTML, особливо з більш старих модулів сторонніх розробників'; $lang['fail_assets_dir'] = 'Тека Аssets вже існує. Ця програма може записувати в цю теку для упорядкування розташування файлів. Будь ласка, переконайтеся, що у вас є резервна копія'; $lang['fail_assets_msg'] = 'Тека Аssets вже існує. Ця програма може записувати в цю теку для упорядкування розташування файлів. Будь ласка, переконайтеся, що у вас є резервна копія'; $lang['fail_config_writable'] = 'Процес HTTP не може записати до файлу config.php. Будь ласка, спробуйте змінити права доступу на цей файл на 777 до завершення процесу оновлення'; $lang['fail_curl_extension'] = 'Розширення curl не знайдено. Хоча це не є критичною проблемою, це може спричинити проблеми з деякими сторонними модулями'; $lang['fail_database_support'] = 'Не знайдено сумісних драйверів бази даних'; $lang['fail_file_get_contents'] = 'Функція file_get_contents не існує або вимкнена. CMSMS неможливо продовжити (навіть інсталятор, ймовірно, не зможе).'; $lang['fail_file_uploads'] = 'Можливості завантаження файлів вимкнені у цьому середовищі. Деякі функції CMSMS не працюватимуть у цьому середовищі'; $lang['fail_func_json'] = 'Функцію json не знайдено'; $lang['fail_func_gzopen'] = 'Функцію gzopen не знайдено'; $lang['fail_func_md5'] = 'Функцію md5 не знайдено'; $lang['fail_func_tempnam'] = 'Функція tempnam не існує. Вона обов\'язкова для функціонування CMSMS'; $lang['fail_func_ziparchive'] = 'Функцію ZipArchive не знайдено. Це може обмежити функціональність'; $lang['fail_ini_set'] = 'Схоже, що ми не можемо змінювати налаштування ini. Це може спричинити проблеми в сторонніх модулях (або, якщо ввімкнути режим зневаджування (debug mode))'; $lang['fail_magic_quotes_runtime'] = 'Схоже, у вашій конфігурації увімкнено magic quotes. Вимкніть їх і повторіть спробу'; $lang['fail_max_execution_time'] = 'Ваш максимальний час виконання %s не відповідає мінімальному значенню %s. Рекомендуємо збільшити його до %s або більше.'; $lang['fail_memory_limit'] = 'Ваш ліміт пам\'яті занадто низький. Ви мали %s, хоча потрібна мінімальна кількість %s, а рекомендується %s'; $lang['fail_multibyte_support'] = 'Підтримку Multibyte не ввімкнено у вашій конфігурації'; $lang['fail_output_buffering'] = 'Буфер виводу не активовано.'; $lang['fail_open_basedir'] = 'Діють відкриті обмеження basedir. CMSMS вимагає, щоб їх було відключено'; $lang['fail_php_version'] = 'Версія PHP, доступна для CMSMS, є надзвичайно важливою. Мінімальна прийнятна версія - %s, хоча ми рекомендуємо %s або новішу. У вас зараз - %s'; $lang['fail_post_max_size'] = 'Ваш максимальний розмір відправки (post_max_size) %s не відповідає мінімальному значенню %s. Рекомендовано значення %s або більше, та переконайтеся, що воно більше, ніж upload_max_filesize'; $lang['fail_pwd_writable2'] = 'Процес HTTP повинен мати можливість записувати до теки призначення (а також до всіх файлів та підпорядкованих тек) для інсталяції файлів. Ми не маємо дозволу на запис (принаймні) %s'; $lang['fail_register_globals'] = 'Будь ласка, вимкніть register_globals в конфігурації PHP'; $lang['fail_remote_url'] = 'Ми виявили проблеми з підключенням до віддаленої URL-адреси. Це обмежить функціональність CMS Made Simple'; $lang['fail_safe_mode'] = 'CMSMS не буде працювати належним чином в середовищі, де активований safe mode (безпечний режим). Safe mode вважається застарілим і його буде видалено в майбутніх версіях PHP'; $lang['fail_session_save_path_exists'] = 'Шлях до збереження сесій недійсний або тека не існує'; $lang['fail_session_save_path_writable'] = 'Тека для збереження сесій не доступна для запису'; $lang['fail_session_use_cookies'] = 'CMSMS вимагає налаштування PHP для збереження ключа сесії у файлі cookie'; $lang['fail_tmpfile'] = 'Функція tmpfile() не працює. Вона необхідна для розпакування архівів. Ви можете викристати аргумент TMPDIR в URL-адресі, щоб вказати інсталятору на специфічну теку, в яку можна записати. Див. файл README, який повинен бути включений до цієї теки.'; $lang['fail_tmp_dirs_empty'] = 'Тимчасові теки CMSMS (tmp/cache and tmp/templates_c) існують і не порожні. Будь-ласка, видаліть або замініть їх'; $lang['fail_xml_functions'] = 'Розширення XML не знайдено. Будь ласка, увімкніть його у своєму середовищі PHP'; $lang['failed'] = 'не пройдено'; $lang['file_get_contents'] = 'Тестування функції file_get_contents'; $lang['file_installed'] = 'Інстальовано %s'; $lang['file_uploads'] = 'Перевірка підтримки вивантаження файлів'; $lang['finished_custom_freshen_msg'] = 'Вашу систему CMSMS поновлено! Основні файли оновлено та створено новий файл конфігурації. Будь ласка, відвідайте веб-сайт, щоб переконатися, що все працює правильно'; $lang['finished_custom_install_msg'] = 'Завершено! Будь ласка, відвідайте свій веб-сайт і увійдіть до адмін. панелі.'; $lang['finished_custom_upgrade_msg'] = 'Завершено! Будь ласка, відвідайте адмін. панель CMSMS та фронтенд, щоб переконатися, що все працює правильно.
Підказка:Зараз ідеальний час для створення ще одної резервної копії.'; $lang['finished_freshen_msg'] = 'Вашу систему поновлено! Основні файли оновлено та створено новий файл конфігурації. Тепер ви можете відвідати ваш веб-сайт або увійти до адмін. панелі CMSMS.'; $lang['finished_install_msg'] = 'Завершено! Тепер ви можете відвідати ваш веб-сайт або увійти до адмін. панелі CMSMS.'; $lang['finished_upgrade_msg'] = 'Завершено! Будь ласка, відвідайте фронтенд веб-сайту та адмін. панель, щоб переконатися, що все працює правильно. Можливо, вам також доведеться оновити деякі сторонні модулі.
Підказка:Не забудьте створити ще одну резервну копію після переконання, що все працює добре.'; $lang['freshen'] = 'Поновити (полагодити) встановлену систему'; $lang['func_json'] = 'Перевірка функції кодування та декодування json'; $lang['func_md5'] = 'Перевірка функції md5'; $lang['func_tempnam'] = 'Перевірка функції tempnam'; $lang['func_gzopen'] = 'Перевірка функції gzopen'; $lang['func_ziparchive'] = 'Перевірка функції ziparchive'; $lang['gd_version'] = 'Версія GD'; $lang['goback'] = 'Назад'; $lang['info_addlanguages'] = 'Виберіть мови (на додачу до англійської) для інсталяції. Примітка: не всі переклади завершено, але українська точно є!.'; $lang['info_adminaccount'] = 'Будь ласка, надайте облікові дані для першого користувача-адміністратора. Цей обліковий запис буде мати доступ до всіх функцій адмін. панелі CMSMS.'; $lang['info_advanced'] = 'Розширений режим дозволяє використовувати більше параметрів у процедурі інсталяції.'; $lang['info_dbinfo'] = 'CMS Made Simple зберігає великий обсяг даних у базі даних. З\'єднання з базою даних є обов\'язковим. Окрім того, користувач бази даних повинен мати ВСІ ДОЗВОЛИ в зазначеній базі даних, щоб дозволити створення, знищення та зміну таблиць, індексів та виводу даних.'; $lang['info_errorlevel_edeprecated'] = 'E_DEPRECATED - параметр звітування про помилки PHP, який вказує на те, що попередження повинні відображатися щодо коду, який використовує застарілі методи. Незважаючи на те, що ядро CMSMS намагається перевіряти, чи ми більше не використовуємо застарілі методи, деякі модулі цього не роблять. Ми рекомендуємо вимкнути цей параметр у конфігурації PHP'; $lang['info_errorlevel_estrict'] = 'E_STRICT - параметр для звітування про помилки PHP, який вказує на те, що слід поважати строгі стандарти кодування. Хоча основне ядро CMSMS намагається відповідати стандартам E_STRICT, деякі модулі цього не роблять. Ми рекомендуємо вимкнути цей параметр у конфігурації PHP'; $lang['info_installcontent'] = 'За замовчуванням цей інсталятор створює серію зразків сторінок, таблиць стилів і шаблонів у CMSMS. Зразок сторінки надає розгорнуту інформацію та поради, які допоможуть створити веб-сайти за допомогою CMSMS, його корисно прочитати. Однак, якщо ви вже знайомі з CMS Made Simple, вимкнувши цю опцію, ви отримаєте мінімальний набір шаблонів, таблиць стилів та вміст сторінок.'; $lang['info_open_basedir_session_save_path'] = 'open_basedir увімкнено у вашій конфігурації PHP. Ми не змогли правильно оцінити можливість використання сесій. Однак, перехід до цього моменту в процесі інсталяції, ймовірно, вказує на те, що сесії працюють нормально.'; $lang['info_pwd_writable'] = 'Ця програма потребує дозвіл на запис до поточної робочої теки'; $lang['info_queryvar'] = 'Змінна запиту (GET) використовується всередині CMSMS для ідентифікації запитуваної сторінки. У більшості випадків вам не потрібно буде це коригувати.'; $lang['info_sitename'] = 'Назва веб-сайту використовується в шаблонах за замовчуванням як частина заголовка. Будь ласка, введіть людську читабельну назву для веб-сайту'; $lang['info_timezone'] = 'Інформація про часовий пояс потрібна для показу обчислень дати та часу. Будь ласка, виберіть часовий пояс сервера'; $lang['ini_set'] = 'Перевірка, чи можемо ми змінити налаштування INI'; $lang['install'] = 'Інсталювати'; $lang['install_attachstylesheets'] = 'Приєднати таблиці стилів до тем'; $lang['install_backupconfig'] = 'Резервне копіювання файлу конфігурації'; $lang['install_createassets'] = 'Створити структуру теки/assets'; $lang['install_created_index'] = 'Створено індекс %s ...%s'; $lang['install_create_tables'] = 'Створити таблиці бази даних'; $lang['install_createconfig'] = 'Створити новий файл конфігурації'; $lang['install_createcontentpages'] = 'Створити сторінки за замовчуванням'; $lang['install_created_table'] = 'Створено таблицю %s: ....%s'; $lang['install_createtablesindexes'] = 'Створення таблиць та індексів'; $lang['install_createtmpdirs'] = 'Створити тимчасові теки'; $lang['install_creating_index'] = 'Створено індекс %s'; $lang['install_default_collections'] = 'Інсталювати колекції за замовчуванням'; $lang['install_defaultcontent'] = 'Інсталювати вміст за замовчуванням'; $lang['install_detectlanguages'] = 'Виявити встановлені мови'; $lang['install_dropping_tables'] = 'Знищення таблиць'; $lang['install_dummyindexhtml'] = 'Створити файли dummy index.html'; $lang['install_extractfiles'] = 'Розпакувати файли з архіву'; $lang['install_initevents'] = 'Створити події'; $lang['install_initsitegroups'] = 'Створити початкові групи'; $lang['install_initsiteperms'] = 'Встановити початкові дозволи'; $lang['install_initsiteprefs'] = 'Встановити початкові параметри сайту'; $lang['install_initsiteusers'] = 'Створити початковий обліковий запис користувача'; $lang['install_initsiteusertags'] = 'Стартовий набір UDT (теґи користувача)'; $lang['install_module'] = 'Інсталювати модуль %s'; $lang['install_modules'] = 'Інсталювати доступні модулі'; $lang['install_passwordsalt'] = 'Встановити фразу шифру для паролів (password salt)'; $lang['install_requireddata'] = 'Встановити необхідні початкові дані'; $lang['install_schema'] = 'Створити схему бази даних'; $lang['install_setschemaver'] = 'Встановити схему версії'; $lang['install_setsequence'] = 'Скинути таблиці послідовностей (sequence tables)'; $lang['install_setsitename'] = 'Встановити назву сайту'; $lang['install_stylesheets'] = 'Створити таблиці стилів за замовчуванням'; $lang['install_templates'] = 'Створити шаблони за замовчуванням'; $lang['install_templatetypes'] = 'Створити стандартні типи шаблонів'; $lang['install_update_sequences'] = 'Оновити таблиці послідовностей (sequence tables)'; $lang['install_updatehierarchy'] = 'Оновити позиції ієрархії вмісту'; $lang['install_updateseq'] = 'Оновити послідовність для %s'; $lang['installer_ver'] = 'Версія інсталятора'; $lang['legend'] = 'Легенда'; $lang['magic_quotes_runtime'] = 'Переконайтеся, що magic quotes вимкнено'; $lang['max_execution_time'] = 'Перевірка максимального часу виконання PHP скрипта'; $lang['meaning'] = 'Значення'; $lang['memory_limit'] = 'Перевірка, чи достатній ліміт пам\'яті PHP'; $lang['msg_clearedcache'] = 'Кеш сервера очищено'; $lang['msg_configsaved'] = 'Існуючий файл конфігурації збережено в %s'; $lang['msg_upgrade_module'] = 'Оновлення версії модуля %s'; $lang['msg_upgrademodules'] = 'Оновлення версії модулів'; $lang['msg_yourvalue'] = 'У вас зараз: %s'; $lang['multibyte_support'] = 'Перевірити наявність підтримки multibyte'; $lang['next'] = 'Продовжити'; $lang['no'] = 'Ні'; $lang['none'] = 'Жоден'; $lang['open_basedir'] = 'Обмеження open_basedir'; $lang['open_basedir_session_save_path'] = 'open_basedir включено. Неможливо перевірити шлях до збереження сесій.'; $lang['output_buffering'] = 'Переконайтеся, що буфер виводу активовано'; $lang['pass_config_writable'] = 'Процес HTTP має дозвіл на запис до файлу config.php'; $lang['pass_database_support'] = 'Знайдено принаймні один сумісний драйвер бази даних'; $lang['pass_func_json'] = 'Виявлено функцію json'; $lang['pass_func_md5'] = 'Виявлено функцію md5'; $lang['pass_func_tempnam'] = 'Функція tempnam існує'; $lang['pass_multibyte_support'] = 'Здається, підтримку Multibyte вимкнено'; $lang['pass_php_version'] = 'На даний момент налаштована версія PHP не відповідає мінімальним вимогам. Потрібно, як мінімум, PHP %s, хоча ми рекомендуємо %s або більше'; $lang['pass_pwd_writable'] = 'Процес HTTP може записувати у теку призначення. Це необхідно для розпакування файлів'; $lang['password'] = 'Пароль'; $lang['ph_sitename'] = 'Введіть назву сайту'; $lang['php_version'] = 'Версія PHP'; $lang['post_max_size'] = 'Перевірка максимальної кількості даних, які можна опублікувати в одному запиті'; $lang['prompt_addlanguages'] = 'Додаткові мови'; $lang['prompt_createtables'] = 'Створити таблиці бази даних'; $lang['prompt_dbhost'] = 'Інформація про ім\'я сервера бази даних'; $lang['prompt_dbinfo'] = 'Інформація про базу даних'; $lang['prompt_dbname'] = 'Назва бази даних'; $lang['prompt_dbpass'] = 'Пароль'; $lang['prompt_dbport'] = 'Номер порту бази даних'; $lang['prompt_dbprefix'] = 'Префікс назви таблиць бази даних'; $lang['prompt_dbtype'] = 'Тип бази даних'; $lang['prompt_dbuser'] = 'Ім\'я користувача'; $lang['prompt_dir'] = 'Тека для інсталяції'; $lang['prompt_installcontent'] = 'Встановити зразки вмісту'; $lang['prompt_queryvar'] = 'Змінна запиту (GET)'; $lang['prompt_sitename'] = 'Назва веб-сайту'; $lang['prompt_timezone'] = 'Часовий пояс сервера'; $lang['pwd_writable'] = 'Тека доступна для запису'; $lang['queue_for_upgrade'] = 'Додано в чергу сторонній модуль %s для оновлення на наступному кроці.'; $lang['readme_uc'] = 'README'; $lang['register_globals'] = 'Переконайтеся, що "register globals" вимкнено'; $lang['remote_url'] = 'Перевірте, чи можемо ми робити вихідні HTTP-з\'єднання'; $lang['repeatpw'] = 'Повторіть пароль'; $lang['reset_site_preferences'] = 'Скиданути деякі налаштування сайту'; $lang['reset_user_settings'] = 'Скинути параметри користувача'; $lang['retry'] = 'Повторити спробу'; $lang['safe_mode'] = 'Перевірка, чи "safe mode" вимкнено'; $lang['saltpasswords'] = 'Зашифрувати паролі (Salt Passwords)'; $lang['select_language'] = 'Перше, що ми попросимо зробити - це вибрати бажану мову зі списку нижче. Це для зручності під час процесу інсталяції, але це не вплине на вашу інсталяцію CMSMS.'; $lang['send_admin_email'] = 'Надіслати дані облікового запису адміністратора електронною поштою'; $lang['session_capabilities'] = 'Перевірка належних можливостей сесій (сесії використовують файли cookie і шлях до збереження сесії доступний для запису, тощо)'; $lang['session_save_path_exists'] = 'Session_save_path існує'; $lang['session_save_path_writable'] = 'Session_save_path доступний для запису'; $lang['session_use_cookies'] = 'Переконайтеся, що сесії PHP використовують cookies'; $lang['sometests_failed'] = 'Ми провели численні перевірки вашого поточного веб-середовища. Хоча не було виявлено жодних критичних проблем, ми рекомендуємо виправити наступні елементи, перш ніж продовжувати.'; $lang['step1_advanced'] = 'Розширений режим'; $lang['step1_destdir'] = 'Вибрати теку'; $lang['step1_info_destdir'] = 'Попередження: Ця програма може інсталювати або оновити декілька систем CMS Made Simple. Важливо, щоб ви вибрали правильну теку для інсталяції або оновлення.'; $lang['step1_language'] = 'Вибрати мову'; $lang['step1_title'] = 'Вибрати мову'; $lang['step2_cmsmsfound'] = 'найдено вже встановлену систему CMS Made Simple . Можна оновити цю систему. Проте, перш ніж продовжувати, переконайтеся, що у вас є поточна резервна копія всіх файлів та бази даних'; $lang['step2_cmsmsfoundnoupgrade'] = 'Хоча було знайдено вже встановлену систему CMS Made Simple, неможливо оновити цю версію за допомогою цієї програми. Версія може бути занадто старою. Спробуйте спочатку оновити до проміжної версії.'; $lang['step2_confirminstall'] = 'Ви впевнені, що хочете інсталювати CMS Made Simple'; $lang['step2_confirmupgrade'] = 'Ви впевнені, що хочете оновити CMS Made Simple'; $lang['step2_errorsamever'] = 'Схоже, що вибрана тека містить систему CMSMS з тією ж версією, яка включена в цей скрипт. Продовження поновить/полагодить систему.'; $lang['step2_errortoonew'] = 'Схоже, що вибрана тека містить систему CMSMS з версією новішою, ніж в цьому скрипті інсталяції. Неможливо продовжити'; $lang['step2_info_freshen'] = 'Поновлення/полагодження системи передбачає заміну всіх основних файлів і відтворення конфігурації. Вам буде запропоновано основні базові налаштування, однак база даних буде нетронута.'; $lang['step2_installdate'] = 'Орієнтовна дата системи'; $lang['step2_install_dirnotempty2'] = 'Ця тека вже містить деякі файли та/або підтеки. Хоча сюди й можна інсталювати CMSMS, це може призвести до пошкодження існуючої програми. Будь ласка, двічі перевірте вміст цієї теки. Для довідкових цілей деякі файли вказані нижче. Переконайтеся, що все правильно.'; $lang['step2_hdr_upgradeinfo'] = 'Інформація про версію'; $lang['step2_info_upgradeinfo'] = 'Нижче наведено доступні відомості про випуск та журнал змін для кожного випуску. Кнопки нижче відобразять детальну інформацію про те, що змінилося в кожній версії CMS Made Simple. У кожній версії можуть з\'явитися додаткові вказівки чи попередження, які можуть вплинути на процес оновлення.'; $lang['step2_minupgradever'] = 'Мінімальна версія, з якої ця програма може оновити: %s. Вам може знадобитися оновити свою програму до нової версії поетапно, використовуючи інший спосіб, перш ніж завершити процес оновлення. Перш ніж використовувати будь-який метод оновлення, будь ласка, переконайтесь, що у вас є повноцінна підтверджена резервна копія.'; $lang['step2_nocmsms'] = 'У цій теці ми не знайшли систему CMS Made Simple. Схоже, що це нова інсталяція'; $lang['step2_nofiles'] = 'За бажанням, основні файли CMSMS не будуть оброблятися під час цього процесу'; $lang['step2_passed'] = 'Пройдено'; $lang['step2_pwd'] = 'Ваш поточна робоча тека'; $lang['step2_schemaver'] = 'Версія схеми бази даних'; $lang['step2_version'] = 'Ваша версія'; $lang['step3_failed'] = 'Цей пакет виконав численні перевірки вашого середовища PHP, і одну або декілька перевірок не пройдено. Вам потрібно буде виправити ці помилки у вашій конфігурації, перш ніж продовжувати. Після того, як ви виправите помилки, натисніть & quot;Повторити спробу" нижче.'; $lang['step3_passed'] = 'Цей пакет виконав численні перевірки вашого середовища PHP, і всі вони пройдені. Це чудова новина! Хоча це не є всеохоплюючою перевіркою, ви не повинні зіткнутися з жодними труднощами під час роботи основної системи CMSMS.'; $lang['step9_removethis'] = 'Попередження: З міркувань безпеки важливо видалити цей скрипт інсталяції з теки, доступної для перегляду браузером, як тільки ви підтвердите, що операція виконана.'; $lang['symbol'] = 'Символ'; $lang['social_message'] = 'Я успішно інсталював CMS Made Simple!'; $lang['test_failed'] = 'Необхідну перевірку не пройдено'; $lang['test_passed'] = 'Перевірку пройдено (пройдені перевірки відображаються лише в розширеному режимі)'; $lang['test_warning'] = 'Параметр перевищує необхідне значення, але нижче рекомендованого, або ...
Можливості, які можуть знадобитися для деяких додаткових функцій, недоступні'; $lang['th_status'] = 'Статус'; $lang['th_testname'] = 'Перевірка'; $lang['th_value'] = 'Значення'; $lang['title_error'] = 'Х\'юстон, у нас проблема!'; $lang['title_step2'] = 'Крок 2 - Виявлення існуючого програмного забезпечення'; $lang['title_step3'] = 'Крок 3 - Перевірки'; $lang['title_step4'] = 'Крок 4 - Базові налаштування'; $lang['title_step5'] = 'Крок 5 - Інформація про обліковий запис адміністратора'; $lang['title_step6'] = 'Крок 6 - Налаштування сайту'; $lang['title_step7'] = 'Крок 7 - Інсталяція програмних файлів'; $lang['title_step8'] = 'Крок 8 - Робота бази даних'; $lang['title_step9'] = 'Крок 9 - Завершення'; $lang['title_welcome'] = 'Ласкаво просимо!'; $lang['title_forum'] = 'Форум підтримки'; $lang['title_docs'] = 'Офіційна документація'; $lang['title_api_docs'] = 'Офіційна документація API'; $lang['to'] = 'до'; $lang['title_share'] = 'Поділитися своїм досвідом з друзями.'; $lang['tmpfile'] = 'Перевірка роботи tmpfile()'; $lang['tmp_dirs_empty'] = 'Переконайтеся, що тимчасові теки порожні або не існують'; $lang['upgrade'] = 'Оновити версію'; $lang['upgrade_deleteoldevents'] = 'Видалення старих подій'; $lang['upgrading_schema'] = 'Оновлення схеми бази даних'; $lang['upload_max_filesize'] = 'Перевірка максимального розміру завантажених файлів'; $lang['username'] = 'Ім\'я користувача'; $lang['warn_disable_functions'] = 'Примітка: одну або декілька основних функцій PHP відключено. Це може негативно вплинути на вашу систему CMSMS, зокрема на сторонні модулі. Будь ласка, уважно стежте за журналом помилок. Ваші вимкнені функції:

%s'; $lang['warn_max_execution_time'] = 'Хоч ваш максимальний час виконання %s відповідає або перевищує мінімальне значення %s, рекомендуємо збільшити його до %s або більше'; $lang['warn_memory_limit'] = 'Ваш ліміт пам\'яті %s перевищує мінімальне значення %s. Однак рекомендується значення %s'; $lang['warn_open_basedir'] = 'open_basedir увімкнено у вашій конфігурації php. Хоч ви можете продовжувати, CMSMS не підтримуватиме інсталяцію з обмеженнями open_basedir.'; $lang['warn_post_max_size'] = 'Ваш максимальний розмір відправки (post_max_size) %s перевищує мінімальне значення %s, однак рекомендується %s. Будь ласка, переконайтеся, що це значення більше, ніж upload_max_filesize'; $lang['warn_tests'] = 'Примітка: Передача всіх цих перевірок повинна забезпечити правильність функціонування CMSMS для більшості сайтів. Але, оскільки сайт зростає та додаються нові можливості, ці мінімальні значення можуть стати недостатніми. Крім того, сторонні модулі можуть мати додаткові вимоги для правильного функціонування.'; $lang['warn_upload_max_filesize'] = 'Хоча ваш параметр %s є достатнім, ми рекомендуємо збільшити параметр upload_max_filesize у PHP, принаймні до %s'; $lang['welcome_message'] = 'Ласкаво просимо! Це автоматичний механізм інсталяції CMS Made Simple. Цей пакет дозволить вам швидко і легко підтвердити, що ваш веб-хост сумісний з CMSMS, а також інсталювати або оновити до останньої версії CMS Made Simple.
Ви будете в захваті!'; $lang['wizard_step1'] = 'Ласкаво просимо!'; $lang['wizard_step2'] = 'Виявити існуюче програмне забезпечення'; $lang['wizard_step3'] = 'Тести на сумісность'; $lang['wizard_step4'] = 'Налаштування'; $lang['wizard_step5'] = 'Інформація про обліковий запис адміністратора'; $lang['wizard_step6'] = 'Налаштування сайту'; $lang['wizard_step7'] = 'Файли'; $lang['wizard_step8'] = 'Робота бази даних'; $lang['wizard_step9'] = 'Завершено'; $lang['xml_functions'] = 'Перевірка функції XML'; $lang['yes'] = 'Так'; ?>get_config(); } public function set_destdir($destdir) { if( !is_dir($destdir) ) throw new \Exception(\__appbase\lang('error_dirnotvalid',$destdir)); if( !is_writable($destdir) ) throw new \Exception(\__appbase\lang('error_dirnotvalid',$destdir)); $this->_destdir = $destdir; } public function get_destdir() { if( !$this->_destdir ) throw new \Exception(\__appbase\lang('error_nodestdir')); return $this->_destdir; } public function set_languages($lang) { if( !is_array($lang) ) return; $this->_languages = $lang; } public function get_languages() { return $this->_languages; } public function set_output_fn($fn) { if( !is_callable($fn) ) throw new \Exception(\__appbase\lang('error_internal',1102)); $this->_output_fn = $fn; } public function output_string($txt) { if( $this->_output_fn ) call_user_func($this->_output_fn,$txt); } protected function is_excluded($filespec) { $filespec = trim($filespec); if( !$filespec ) throw new \Exception(\__appbase\lang('error_internal',1101)); $config = $this->get_config(); if( !isset($config['install_excludes']) ) return FALSE; $excludes = explode('||',$config['install_excludes']); foreach( $excludes as $excl ) { if( preg_match($excl,$filespec) ) return TRUE; } } protected function dir_exists($filespec) { $filespec = trim($filespec); if( !$filespec ) throw new \Exception(\__appbase\lang('error_invalidparam','filespec')); $dn = dirname($filespec); $tmp = $this->get_destdir()."/$dn"; return (is_dir($tmp))?TRUE:FALSE; } protected function create_directory($filespec) { $filespec = trim($filespec); if( !$filespec ) throw new \Exception(\__appbase\lang('error_invalidparam','filespec')); $dn = dirname($filespec); $tmp = $this->get_destdir()."/$dn"; return @mkdir($tmp,0777,TRUE); } protected function is_imagefile($filespec) { // this method uses (ugly) extensions because we cannot rely on finfo_open being available. $image_exts = ['bmp','jpg','jpeg','gif','png','svg','webp','ico']; $ext = strtolower(substr(strrchr($filespec, '.'), 1)); return in_array($ext,$image_exts); } protected function is_langfile($filespec) { $filespec = trim($filespec); if( !$filespec ) throw new \Exception(\__appbase\lang('error_invalidparam','filespec')); if( $this->is_imagefile($filespec) ) return FALSE; $bn = basename($filespec); $dn = dirname($filespec); $fnmatch = 0; $fnmatch = $fnmatch || preg_match('/^[a-zA-Z]{2}_[a-zA-Z]{2}\.php$/',$bn); $fnmatch = $fnmatch || preg_match('/^[a-zA-Z]{2}_[a-zA-Z]{2}\.nls\.php$/',$bn); if( $fnmatch ) return substr($bn,0,strpos($bn,'.')); $nls = \__appbase\get_app()->get_nls(); if( !is_array($nls) ) return FALSE; // problem $bn = substr($bn,0,strpos($bn,'.')); $last_dn = basename($dn); foreach( $nls['alias'] as $alias => $code ) { if( $bn == $alias ) return $code; } foreach( $nls['htmlarea'] as $code => $short ) { if( $bn == $short ) return $code; } return FALSE; } protected function is_accepted_lang($filespec) { $res = $this->is_langfile($filespec); if( !$res ) return FALSE; $langs = $this->get_languages(); if( !is_array($langs) || count($langs) == 0 ) return TRUE; return in_array($res,$langs); } abstract public function handle_file($filespec,$srcspec,\PharFileInfo $fi); } ?> 0 ) { $newconfig['db_port'] = $num; } else if( isset($newconfig['db_port']) ) { unset($newconfig['db_port']); } } if( !empty($destconfig['query_var']) ) { $newconfig['query_var'] = trim($destconfig['query_var']); } else if( isset($newconfig['query_var']) ) { unset($newconfig['query_var']); } return $newconfig; } public static function printable_config_value($value) { if( \is_bool($value) ) { return $value ? 'true' : 'false'; } if( \is_int($value) || \is_float($value) ) { return (string) $value; } $value = (string) $value; $value = \str_replace(array('\\', '\''), array('\\\\', '\\\''), $value); return '\''.$value.'\''; } public static function write_config_file($filename, $config) { $output = " $value ) { $output .= "\$config['".$key."'] = ".self::printable_config_value($value).";\n"; } $output .= "?>"; $res = @\file_put_contents($filename, $output, LOCK_EX); if( $res === FALSE ) { throw new \Exception(\__appbase\lang('error_backupconfig')); } } public static function ensure_config_file($destdir, $destconfig) { $filename = $destdir . '/config.php'; $existing = self::load_existing_config($filename); $newconfig = self::build_written_config($destconfig, $existing); self::write_config_file($filename, $newconfig); $placeholder = $destdir . '/___config.php'; if( \is_file($placeholder) ) @\unlink($placeholder); if( !self::is_valid_config_file($filename) ) { throw new \Exception('config.php file not found or invalid after write'); } return $filename; } public static function validate_config_file($filename) { if( self::is_valid_config_file($filename) ) return; throw new \Exception('config.php file not found or invalid'); } } ?> is_excluded($filespec) ) return; if( $this->is_langfile($filespec) ) { if( !$this->is_accepted_lang($filespec) ) return; } if( !$this->dir_exists($filespec) ) $this->create_directory($filespec); $destname = $this->get_destdir().$filespec; if( file_exists($destname) && !is_writable($destname) ) throw new \Exception(\__appbase\lang('error_overwrite',$filespec)); $cksum = md5_file($srcspec); @copy($srcspec,$destname); $cksum2 = md5_file($destname); if( $cksum != $cksum2 ) throw new \Exception(\__appbase\lang('error_checksum',$filespec)); $this->output_string(\__appbase\lang('file_installed',$filespec)); } } ?> _app = \__appbase\get_app(); } public function get_profile_root() { return $this->_app->get_install_profiles_dir(); } public function get_profile_options() { $profiles = $this->get_profiles(); $out = array(); foreach( $profiles as $profile_id => $profile ) { $out[$profile_id] = $profile['name']; } return $out; } public function get_profiles() { if( \is_array($this->_profiles) ) return $this->_profiles; $root = $this->get_profile_root(); $out = array(); if( !\is_dir($root) ) { $this->_profiles = $out; return $this->_profiles; } $dh = \opendir($root); if( !$dh ) { $this->_profiles = $out; return $this->_profiles; } while( ($entry = \readdir($dh)) !== FALSE ) { if( $entry == '.' || $entry == '..' ) continue; $dir = $root . \DIRECTORY_SEPARATOR . $entry; if( !\is_dir($dir) ) continue; $profile = $this->load_profile($entry, $dir); if( !\is_array($profile) ) continue; $out[$entry] = $profile; } \closedir($dh); \uasort($out, function($a, $b) { $adefault = !empty($a['default_selected']) ? 0 : 1; $bdefault = !empty($b['default_selected']) ? 0 : 1; if( $adefault != $bdefault ) return $adefault - $bdefault; return \strcasecmp($a['name'], $b['name']); }); $this->_profiles = $out; return $this->_profiles; } public function get_profile($profile_id = null) { $profiles = $this->get_profiles(); $profile_id = \trim((string) $profile_id); if( $profile_id && isset($profiles[$profile_id]) ) return $profiles[$profile_id]; foreach( $profiles as $profile ) { if( !empty($profile['default_selected']) ) return $profile; } if( \count($profiles) ) return \reset($profiles); throw new \RuntimeException('No installation profiles are available'); } public function install($profile_id = null) { $profile = $this->get_profile($profile_id); if( !empty($profile['legacy_script']) ) { $this->install_legacy_profile($profile); return $profile; } if( !empty($profile['script']) ) { $this->install_custom_profile($profile); return $profile; } $this->install_structured_profile($profile); return $profile; } public function post_install($profile_id = null) { $profile = $this->get_profile($profile_id); if( empty($profile['post_install_script']) ) { if( empty($profile['legacy_script']) && empty($profile['script']) ) { $this->run_sql_phase($profile, 'post_modules'); } return $profile; } $this->run_profile_script($profile, $profile['post_install_script'], 'post-install'); return $profile; } private function load_profile($profile_id, $dir) { $filename = $dir . \DIRECTORY_SEPARATOR . 'profile.json'; if( !\is_file($filename) ) return; $json = \file_get_contents($filename); $data = \json_decode($json, TRUE); if( !\is_array($data) ) { throw new \RuntimeException('Invalid install profile definition: '.$filename); } $data = $this->expand_manifest_files($data, $dir); $data['id'] = $profile_id; $data['directory'] = $dir; if( !isset($data['name']) || !$data['name'] ) $data['name'] = $profile_id; return $data; } private function install_legacy_profile($profile) { $filename = $this->_app->get_install_dir() . \DIRECTORY_SEPARATOR . $profile['legacy_script']; if( !\is_file($filename) ) throw new \RuntimeException('Missing legacy install script: '.$filename); include($filename); } private function install_custom_profile($profile) { $this->run_profile_script($profile, $profile['script'], 'install'); } private function install_structured_profile($profile) { $this->run_sql_phase($profile, 'pre_install'); $this->install_copies($profile); $designs = $this->install_designs($profile); $template_types = $this->install_template_types($profile); $templates = $this->install_templates($profile, $designs, $template_types); $this->install_stylesheets($profile, $designs); $this->install_pages($profile, $designs, $templates); $this->install_udts($profile); $this->run_sql_phase($profile, 'post_content'); } private function run_profile_script($profile, $script_name, $context) { $filename = $profile['directory'] . \DIRECTORY_SEPARATOR . $script_name; if( !\is_file($filename) ) { throw new \RuntimeException('Missing '.$context.' profile script: '.$filename); } $previous_profile_data = $GLOBALS['profile_data'] ?? null; $previous_profile_dir = $GLOBALS['profile_dir'] ?? null; $profile_data = $profile; $profile_dir = $profile['directory']; $GLOBALS['profile_data'] = $profile_data; $GLOBALS['profile_dir'] = $profile_dir; try { include($filename); } finally { if( $previous_profile_data !== null ) { $GLOBALS['profile_data'] = $previous_profile_data; } else { unset($GLOBALS['profile_data']); } if( $previous_profile_dir !== null ) { $GLOBALS['profile_dir'] = $previous_profile_dir; } else { unset($GLOBALS['profile_dir']); } } } private function install_designs($profile) { $out = array(); $records = isset($profile['designs']) ? $profile['designs'] : array(); if( !\is_array($records) ) return $out; foreach( $records as $rec ) { if( !isset($rec['name']) || !$rec['name'] ) continue; $design = new \CmsLayoutCollection(); $design->set_name($rec['name']); if( isset($rec['description']) ) $design->set_description($rec['description']); if( !empty($rec['default']) ) $design->set_default(TRUE); $design->save(); $out[$rec['name']] = $design; } return $out; } private function install_template_types($profile) { $out = array(); $records = isset($profile['template_types']) ? $profile['template_types'] : array(); if( !\is_array($records) ) return $out; foreach( $records as $rec ) { if( !isset($rec['name']) || !$rec['name'] ) continue; $type = new \CmsLayoutTemplateType(); if( isset($rec['originator']) && \strtolower($rec['originator']) == 'core' ) { $type->set_originator(\CmsLayoutTemplateType::CORE); } $type->set_name($rec['name']); if( !empty($rec['default']) ) $type->set_dflt_flag(TRUE); if( !empty($rec['lang_callback']) ) $type->set_lang_callback($rec['lang_callback']); if( !empty($rec['content_callback']) ) $type->set_content_callback($rec['content_callback']); if( !empty($rec['help_callback']) ) $type->set_help_callback($rec['help_callback']); if( !empty($rec['reset_factory']) ) $type->reset_content_to_factory(); if( !empty($rec['content_block']) ) $type->set_content_block_flag(TRUE); $type->save(); $out[$rec['name']] = $type; $out[$this->get_template_type_lookup_key($type->get_originator(), $type->get_name())] = $type; } return $out; } private function install_templates($profile, $designs, $template_types) { $out = array(); $records = isset($profile['templates']) ? $profile['templates'] : array(); if( !\is_array($records) ) return $out; foreach( $records as $rec ) { if( !isset($rec['name']) || !$rec['name'] ) continue; $template = new \CmsLayoutTemplate(); $template->set_name($rec['name']); if( isset($rec['description']) ) $template->set_description($rec['description']); if( isset($rec['owner']) ) $template->set_owner((int) $rec['owner']); if( !empty($rec['source']) ) $template->set_content($this->read_profile_file($profile, $rec['source'])); if( !empty($rec['type']) ) { $type = $this->resolve_template_type($rec, $template_types); if( $type ) { $template->set_type($type); } } if( !empty($rec['default']) ) $template->set_type_dflt(TRUE); if( isset($rec['designs']) && \is_array($rec['designs']) ) { foreach( $rec['designs'] as $design_name ) { if( isset($designs[$design_name]) ) $template->add_design($designs[$design_name]); } } $template->save(); $out[$rec['name']] = $template; } return $out; } private function resolve_template_type($rec, $template_types) { $type_name = isset($rec['type']) ? \trim((string) $rec['type']) : ''; if( !$type_name ) return; if( isset($template_types[$type_name]) ) { return $template_types[$type_name]; } $originator = isset($rec['type_originator']) ? \trim((string) $rec['type_originator']) : ''; if( $originator ) { $lookup = $this->get_template_type_lookup_key($originator, $type_name); if( isset($template_types[$lookup]) ) { return $template_types[$lookup]; } return $this->load_existing_template_type($lookup); } if( \strpos($type_name, '::') !== FALSE ) { return $this->load_existing_template_type($type_name); } return; } private function load_existing_template_type($lookup) { try { return \CmsLayoutTemplateType::load($lookup); } catch( \Exception $e ) { } } private function get_template_type_lookup_key($originator, $name) { $originator = \trim((string) $originator); $name = \trim((string) $name); if( !$originator || !$name ) return $name; return $originator . '::' . $name; } private function install_pages($profile, $designs, $templates) { $records = isset($profile['pages']) ? $profile['pages'] : array(); if( !\is_array($records) || !\count($records) ) return; \ContentOperations::get_instance()->LoadContentType('content'); $page_ids = array(); foreach( $records as $rec ) { $content = new \Content(); $content->SetName(isset($rec['name']) ? $rec['name'] : ''); $page_key = ''; if( isset($rec['key']) ) { $page_key = \trim((string) $rec['key']); } if( !$page_key && isset($rec['name']) ) { $page_key = \trim((string) $rec['name']); } if( isset($rec['alias']) && $rec['alias'] && $rec['alias'] != 'auto' ) { $content->SetAlias($rec['alias']); } else { $content->SetAlias(); } if( isset($rec['owner']) ) $content->SetOwner((int) $rec['owner']); if( isset($rec['menu_text']) ) $content->SetMenuText($rec['menu_text']); if( !empty($rec['template']) && isset($templates[$rec['template']]) ) { $content->SetTemplateId($templates[$rec['template']]->get_id()); } if( isset($rec['parent']) ) { $parent = \trim((string) $rec['parent']); if( $parent === '' || $parent == '-1' ) { $content->SetParentId(-1); } else if( isset($page_ids[$parent]) ) { $content->SetParentId((int) $page_ids[$parent]); } else { throw new \RuntimeException('Unknown install profile page parent: '.$parent); } } else if( isset($rec['parent_id']) ) { $content->SetParentId((int) $rec['parent_id']); } if( isset($rec['active']) ) $content->SetActive($rec['active'] ? TRUE : FALSE); if( isset($rec['show_in_menu']) ) $content->SetShowInMenu($rec['show_in_menu'] ? TRUE : FALSE); if( isset($rec['cachable']) ) $content->SetCachable($rec['cachable'] ? TRUE : FALSE); if( isset($rec['default_content']) ) $content->SetDefaultContent($rec['default_content'] ? TRUE : FALSE); if( isset($rec['searchable']) ) { $content->SetPropertyValue('searchable', (int) $rec['searchable']); } if( !empty($rec['design']) && isset($designs[$rec['design']]) ) { $content->SetPropertyValue('design_id', $designs[$rec['design']]->get_id()); } if( isset($rec['content']) && \is_array($rec['content']) ) { foreach( $rec['content'] as $lang => $spec ) { $content->SetPropertyValue('content_'.$lang, $this->resolve_profile_value($profile, $spec)); } } if( isset($rec['properties']) && \is_array($rec['properties']) ) { foreach( $rec['properties'] as $property_name => $spec ) { $content->SetPropertyValue($property_name, $this->resolve_profile_value($profile, $spec)); } } if( isset($rec['blocks']) && \is_array($rec['blocks']) ) { foreach( $rec['blocks'] as $property_name => $spec ) { $content->SetPropertyValue($property_name, $this->resolve_profile_value($profile, $spec)); } } $content->Save(); if( $page_key ) $page_ids[$page_key] = $content->Id(); } } private function install_stylesheets($profile, $designs) { $out = array(); $records = isset($profile['stylesheets']) ? $profile['stylesheets'] : array(); if( !\is_array($records) ) return $out; foreach( $records as $rec ) { if( !isset($rec['name']) || !$rec['name'] ) continue; $css = new \CmsLayoutStylesheet(); $css->set_name($rec['name']); if( isset($rec['description']) ) $css->set_description($rec['description']); if( !empty($rec['source']) ) $css->set_content($this->read_profile_file($profile, $rec['source'])); if( !empty($rec['media_types']) ) $css->set_media_types($rec['media_types']); $css->save(); $out[$rec['name']] = $css; if( isset($rec['designs']) && \is_array($rec['designs']) ) { foreach( $rec['designs'] as $design_name ) { if( isset($designs[$design_name]) ) { $designs[$design_name]->add_stylesheet($css); } } } } foreach( $designs as $design ) { $design->save(); } return $out; } private function install_copies($profile) { $records = isset($profile['copies']) ? $profile['copies'] : array(); if( !\is_array($records) || !\count($records) ) return; $destdir = $this->_app->get_destdir(); foreach( $records as $rec ) { if( empty($rec['source']) || empty($rec['destination']) ) continue; $source = $this->get_profile_filename($profile, $rec['source']); $relative_destination = \trim((string) $rec['destination'], '\\/'); $destination = $destdir; if( $relative_destination !== '' ) { $destination .= \DIRECTORY_SEPARATOR . \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $relative_destination); } $mode = isset($rec['mode']) ? \strtolower(\trim((string) $rec['mode'])) : ''; if( !$mode ) { $mode = \is_dir($source) ? 'tree' : 'file'; } switch( $mode ) { case 'tree': $this->copy_tree($source, $destination); break; case 'file': $this->copy_file($source, $destination); break; default: throw new \RuntimeException('Unsupported install profile copy mode: '.$mode); } } } private function install_udts($profile) { $records = isset($profile['udts']) ? $profile['udts'] : array(); if( !\is_array($records) || !\count($records) ) return; $ops = \UserTagOperations::get_instance(); foreach( $records as $rec ) { if( empty($rec['name']) || empty($rec['source']) ) continue; $filename = $this->get_profile_filename($profile, $rec['source']); if( \strtolower(\pathinfo($filename, \PATHINFO_EXTENSION)) != 'udt' ) { throw new \RuntimeException('UDT payloads must use the .udt extension: '.$filename); } $description = isset($rec['description']) ? $rec['description'] : ''; $existing = $ops->GetUserTag($rec['name']); $id = null; if( \is_array($existing) && isset($existing['userplugin_id']) ) { $id = (int) $existing['userplugin_id']; } if( !$ops->SetUserTag($rec['name'], $this->read_profile_file($profile, $rec['source']), $description, $id) ) { throw new \RuntimeException('Could not import install profile UDT: '.$rec['name']); } } } private function run_sql_phase($profile, $phase) { $records = isset($profile['sql']) ? $profile['sql'] : array(); if( !\is_array($records) || !\count($records) ) return; $phase = \trim((string) $phase); $db = \CmsApp::get_instance()->GetDb(); foreach( $records as $rec ) { $sql_phase = isset($rec['phase']) ? \trim((string) $rec['phase']) : 'post_content'; if( $sql_phase != $phase ) continue; if( empty($rec['file']) ) continue; $mode = isset($rec['mode']) ? \strtolower(\trim((string) $rec['mode'])) : 'single'; if( $mode != 'single' ) { throw new \RuntimeException('Unsupported install profile SQL mode: '.$mode); } $sql = \trim($this->read_profile_file($profile, $rec['file'])); if( !$sql ) continue; $res = $db->Execute($sql); if( !$res ) { throw new \RuntimeException('Could not execute install profile SQL file: '.$rec['file']); } } } private function expand_manifest_files($profile, $dir) { $manifest_files = isset($profile['manifest_files']) ? $profile['manifest_files'] : array(); if( !\is_array($manifest_files) || !\count($manifest_files) ) return $profile; $keys = array('designs', 'template_types', 'templates', 'stylesheets', 'pages', 'copies', 'udts', 'sql'); foreach( $keys as $key ) { if( empty($manifest_files[$key]) ) continue; $profile[$key] = $this->read_manifest_file($dir, $manifest_files[$key], $key); } return $profile; } private function read_manifest_file($dir, $relative_path, $key) { $filename = $dir . \DIRECTORY_SEPARATOR . \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $relative_path); if( !\is_file($filename) ) { throw new \RuntimeException('Missing install profile manifest file: '.$filename); } $extension = \strtolower((string) \pathinfo($filename, \PATHINFO_EXTENSION)); if( $extension == 'php' ) { return $this->read_manifest_php_file($filename, $key); } return $this->read_manifest_json_file($filename, $key); } private function read_manifest_json_file($filename, $key) { $json = \file_get_contents($filename); $data = \json_decode($json, TRUE); if( !\is_array($data) ) { throw new \RuntimeException('Invalid install profile manifest file: '.$filename); } if( isset($data[$key]) && \is_array($data[$key]) ) { return $data[$key]; } return $data; } private function read_manifest_php_file($filename, $key) { $data = include($filename); if( !\is_array($data) ) { throw new \RuntimeException('Invalid install profile manifest file: '.$filename); } if( isset($data[$key]) && \is_array($data[$key]) ) { return $data[$key]; } return $data; } private function resolve_profile_value($profile, $spec) { if( \is_array($spec) ) { if( isset($spec['file']) ) { return $this->read_profile_file($profile, $spec['file']); } if( \array_key_exists('value', $spec) ) { return $spec['value']; } } if( \is_string($spec) ) { return $this->read_profile_file($profile, $spec); } return $spec; } private function get_profile_filename($profile, $relative_path) { $relative_path = \str_replace(array('/', '\\'), \DIRECTORY_SEPARATOR, $relative_path); return $profile['directory'] . \DIRECTORY_SEPARATOR . $relative_path; } private function read_profile_file($profile, $relative_path) { $filename = $this->get_profile_filename($profile, $relative_path); if( !\is_file($filename) ) throw new \RuntimeException('Missing install profile asset: '.$filename); return \file_get_contents($filename); } private function copy_tree($source, $destination) { if( !\is_dir($source) ) { throw new \RuntimeException('Invalid install profile copy source directory: '.$source); } if( !\is_dir($destination) ) { if( !@\mkdir($destination, 0777, TRUE) && !\is_dir($destination) ) { throw new \RuntimeException('Could not create install profile destination directory: '.$destination); } } $dh = \opendir($source); if( !$dh ) { throw new \RuntimeException('Could not read install profile copy directory: '.$source); } while( ($entry = \readdir($dh)) !== FALSE ) { if( $entry == '.' || $entry == '..' ) continue; $src = $source . \DIRECTORY_SEPARATOR . $entry; $dst = $destination . \DIRECTORY_SEPARATOR . $entry; if( \is_dir($src) ) { $this->copy_tree($src, $dst); continue; } $this->copy_file($src, $dst); } \closedir($dh); } private function copy_file($source, $destination) { if( !\is_file($source) ) { throw new \RuntimeException('Invalid install profile copy source file: '.$source); } $dir = \dirname($destination); if( !\is_dir($dir) ) { if( !@\mkdir($dir, 0777, TRUE) && !\is_dir($dir) ) { throw new \RuntimeException('Could not create install profile destination directory: '.$dir); } } if( !@\copy($source, $destination) ) { throw new \RuntimeException('Could not copy install profile asset: '.$source); } } } ?> _filename = $fn; $this->_compressed = true; } else { $fn = "$dir/MANIFEST.DAT"; if( file_exists($fn) ) { $this->_filename = $fn; $this->_compressed = false; } else { throw new \Exception(\__appbase\lang('error_internal','mr101')); } } } protected function handle_header($line) { $cols = explode(':',$line); foreach( $cols as &$col ) { $col = trim($col); } if( count($cols) != 2 ) throw new \Exception(\__appbase\lang('error_internal','mr105')); switch( $cols[0] ) { case 'MANIFEST_GENERATED': $this->_generated = (int)$cols[1]; break; case 'MANIFEST FROM VERSION': $this->_from_version = $cols[1]; break; case 'MANIFEST FROM NAME': $this->_from_name = $cols[1]; break; case 'MANIFEST TO VERSION': $this->_to_version = $cols[1]; break; case 'MANIFEST TO NAME': $this->_to_name = $cols[1]; break; } } protected function handle_added($fields) { $this->_added[] = array('filename'=>$fields[2],'checksum'=>$fields[1]); } protected function handle_changed($fields) { $this->_changed[] = array('filename'=>$fields[2],'checksum'=>$fields[1]); } protected function handle_deleted($fields) { $this->_deleted[] = array('filename'=>$fields[2],'checksum'=>$fields[1]); } protected function handle_line($line) { if( !$line ) return; if( \__appbase\startswith($line,'MANIFEST') ) return $this->handle_header($line); $fields = explode(' :: ',$line); if( count($fields) != 3 ) throw new \Exception(\__appbase\lang('error_internal','mr103')); switch( $fields[0] ) { case 'ADDED': return $this->handle_added($fields); break; case 'CHANGED': return $this->handle_changed($fields); break; case 'DELETED': return $this->handle_deleted($fields); break; default: throw new \Exception(\__appbase\lang('error_internal','mr104')); } } protected function read() { if( !$this->_has_read ) { $fopen = $fclose = $fgets = $feof = null; if( $this->_compressed ) { $fopen = 'gzopen'; $fclose = 'gzclose'; $fgets = 'gzgets'; $feof = 'gzeof'; } else { $fopen = 'fopen'; $fclose = 'fclose'; $fgets = 'fgets'; $feof = 'feof'; } // copy the manifest file to a temporary location $tmpdir = \__appbase\get_app()->get_tmpdir(); $tmpname = tempnam($tmpdir,'man'); @copy($this->_filename,$tmpname); $fh = $fopen($tmpname,'r'); if( !$fh ) { throw new \Exception(\__appbase\lang('error_internal','mr102')); } while( !$feof($fh) ) { $line = $fgets($fh); $line = trim($line); $this->handle_line($line); } $fclose($fh); $this->_has_read = true; } } public function get_generated() { $this->read(); return $this->_generated; } public function to_version() { $this->read(); return $this->_to_version; } public function to_name() { $this->read(); return $this->_to_name; } public function from_version() { $this->read(); return $this->_from_version; } public function from_name() { $this->read(); return $this->_from_name; } public function get_added() { $this->read(); return $this->_added; } public function get_changed() { $this->read(); return $this->_changed; } public function get_deleted() { $this->read(); return $this->_deleted; } } // end of class ?> _app = \__appbase\get_app(); } public function get_bundle_root() { return $this->_app->get_optional_payload_dir(); } public function get_module_bundle_root() { return $this->get_bundle_root().\DIRECTORY_SEPARATOR.'modules'; } public function get_module_bundles() { if( \is_array($this->_module_bundles) ) return $this->_module_bundles; $root = $this->get_module_bundle_root(); $out = array(); if( !\is_dir($root) ) { $this->_module_bundles = $out; return $this->_module_bundles; } $dh = \opendir($root); if( !$dh ) { $this->_module_bundles = $out; return $this->_module_bundles; } while( ($entry = \readdir($dh)) !== FALSE ) { if( $entry == '.' || $entry == '..' ) continue; $dir = $root.\DIRECTORY_SEPARATOR.$entry; if( !\is_dir($dir) ) continue; $bundle = $this->load_module_bundle($entry, $dir); if( !\is_array($bundle) ) continue; if( empty($bundle['available']) ) continue; $out[$entry] = $bundle; } \closedir($dh); \uasort($out, function($a, $b) { $adefault = !empty($a['default_selected']) ? 0 : 1; $bdefault = !empty($b['default_selected']) ? 0 : 1; if( $adefault != $bdefault ) return $adefault - $bdefault; return \strcasecmp($a['name'], $b['name']); }); $this->_module_bundles = $out; return $this->_module_bundles; } public function get_module_bundle_options() { return $this->get_module_bundles(); } public function get_default_selected_module_ids() { $out = array(); foreach( $this->get_module_bundles() as $bundle_id => $bundle ) { if( !empty($bundle['default_selected']) ) $out[] = $bundle_id; } return $out; } public function normalize_selected_module_ids($selected = array()) { if( !\is_array($selected) ) $selected = array(); $bundles = $this->get_module_bundles(); $out = array(); foreach( $selected as $bundle_id ) { $bundle_id = \trim((string) $bundle_id); if( !$bundle_id ) continue; if( !isset($bundles[$bundle_id]) ) continue; $out[$bundle_id] = $bundle_id; } foreach( $bundles as $bundle_id => $bundle ) { if( !empty($bundle['required']) ) $out[$bundle_id] = $bundle_id; } return \array_values($out); } public function get_selected_module_bundles($selected = array()) { $selected = $this->normalize_selected_module_ids($selected); $bundles = $this->get_module_bundles(); $out = array(); foreach( $selected as $bundle_id ) { if( isset($bundles[$bundle_id]) ) $out[$bundle_id] = $bundles[$bundle_id]; } return $out; } public function install_selected_module_bundles($selected, $destdir) { $bundles = $this->get_selected_module_bundles($selected); $out = array(); foreach( $bundles as $bundle_id => $bundle ) { $this->copy_bundle_files($bundle, $destdir); $out[$bundle_id] = $bundle; } return $out; } public function detect_installed_module_bundles($destdir) { $destdir = \rtrim((string) $destdir, '\\/'); $out = array(); foreach( $this->get_module_bundles() as $bundle_id => $bundle ) { if( empty($bundle['module_name']) ) continue; $module_dir = $destdir.\DIRECTORY_SEPARATOR.'modules'.\DIRECTORY_SEPARATOR.$bundle['module_name']; if( \is_dir($module_dir) ) $out[$bundle_id] = $bundle; } return $out; } public function upgrade_installed_module_bundles($destdir) { $bundles = $this->detect_installed_module_bundles($destdir); foreach( $bundles as $bundle ) { $this->copy_bundle_files($bundle, $destdir); } return $bundles; } public function queue_module_bundles($modops, $bundles) { if( !\is_array($bundles) ) return; foreach( $bundles as $bundle ) { if( !\is_array($bundle) ) continue; if( empty($bundle['module_name']) ) continue; if( !\method_exists($modops, 'QueueForInstall') ) continue; $modops->QueueForInstall($bundle['module_name']); } } private function load_module_bundle($bundle_id, $dir) { $filename = $dir.\DIRECTORY_SEPARATOR.'package.json'; if( !\is_file($filename) ) return; $json = \file_get_contents($filename); $data = \json_decode($json, TRUE); if( !\is_array($data) ) { throw new \RuntimeException('Invalid optional bundle definition: '.$filename); } $module_name = isset($data['module_name']) ? \trim((string) $data['module_name']) : ''; if( !$module_name ) $module_name = $bundle_id; $files_dir = $dir.\DIRECTORY_SEPARATOR.'files'; $data['id'] = $bundle_id; $data['directory'] = $dir; $data['type'] = isset($data['type']) && $data['type'] ? $data['type'] : 'module'; $data['name'] = isset($data['name']) && $data['name'] ? $data['name'] : $bundle_id; $data['module_name'] = $module_name; $data['files_directory'] = $files_dir; $data['available'] = $this->bundle_has_files($files_dir); return $data; } private function bundle_has_files($dir) { if( !\is_dir($dir) ) return FALSE; $it = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS) ); foreach( $it as $item ) { if( $item->isFile() ) return TRUE; } return FALSE; } private function copy_bundle_files($bundle, $destdir) { if( empty($bundle['files_directory']) || !\is_dir($bundle['files_directory']) ) return; $this->copy_tree($bundle['files_directory'], $destdir); } private function copy_tree($source, $destination) { if( !\is_dir($source) ) return; if( !\is_dir($destination) ) @\mkdir($destination, 0777, TRUE); $it = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($source, \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST ); $prefix = \rtrim($source, '\\/').\DIRECTORY_SEPARATOR; foreach( $it as $item ) { $pathname = $item->getPathname(); $relative = \substr($pathname, \strlen($prefix)); $target = $destination.\DIRECTORY_SEPARATOR.$relative; if( $item->isDir() ) { if( !\is_dir($target) ) @\mkdir($target, 0777, TRUE); continue; } $target_dir = \dirname($target); if( !\is_dir($target_dir) ) @\mkdir($target_dir, 0777, TRUE); if( !@\copy($pathname, $target) ) { throw new \RuntimeException('Could not copy optional bundle file: '.$pathname); } } } } ?> $CMS_VERSION, 'version_name' => $CMS_VERSION_NAME, 'schema_version' => $CMS_SCHEMA_VERSION, 'mtime' => @\filemtime($filename) ); } // get the list of versions we can upgrade from. public static function get_upgrade_versions() { $app = \__appbase\get_app(); $app_config = $app->get_config(); $min_upgrade_version = $app_config['min_upgrade_version']; if( !$min_upgrade_version ) throw new \Exception(\__appbase\lang('error_invalidconfig')); $dir = $app->get_upgrade_dir(); if( !is_dir($dir) ) throw new \Exception(\__appbase\lang('error_internal','u100')); $dh = opendir($dir); $versions = array(); if( !$dh ) throw new \Exception(\__appbase\lang('error_internal',712)); while( ($file = readdir($dh)) !== false ) { if( $file == '.' || $file == '..' ) continue; if( is_dir($dir.'/'.$file) && (is_file("$dir/$file/MANIFEST.DAT.gz") || is_file("$dir/$file/MANIFEST.DAT") || is_file("$dir/$file/upgrade.php")) ) { if( version_compare($min_upgrade_version, $file) <= 0 ) $versions[] = $file; } } closedir($dh); if( count($versions) ) { usort($versions,'version_compare'); return $versions; } } public static function get_upgrade_changelog($version) { // it is not an error to not have a changelog file $app = \__appbase\get_app(); $dir = $app->get_upgrade_version_dir($version); if( !is_dir($dir) ) throw new \Exception(\__appbase\lang('error_internal','u100')); $files = array('CHANGELOG.txt','CHANGELOG.TXT','changelog.txt'); foreach( $files as $fn ) { if( is_file("$dir/$fn") ) { // convert text into some sort of html $tmp = @file_get_contents("$dir/$fn"); $tmp = nl2br(wordwrap(htmlspecialchars($tmp),80)); return $tmp; } } } public static function get_upgrade_readme($version) { // it is not an error to not have a readme file $app = \__appbase\get_app(); $dir = $app->get_upgrade_version_dir($version); if( !is_dir($dir) ) throw new \Exception(\__appbase\lang('error_internal','u100')); $files = array('README.HTML.INC','readme.html.inc','README.HTML','readme.html'); foreach( $files as $fn ) { if( is_file("$dir/$fn") ) return @file_get_contents("$dir/$fn"); } if( is_file("$dir/readme.txt") ) { // convert text into some sort of html. $tmp = @file_get_contents("$dir/readme.txt"); $tmp = nl2br(wordwrap(htmlspecialchars($tmp),80)); return $tmp; } } public static function strftime(string $format, $timestamp = null, ?string $locale = null): string { if (null === $timestamp) { $timestamp = new \DateTime; } elseif (\is_numeric($timestamp)) { $timestamp = \date_create('@' . $timestamp); if ($timestamp) { $timestamp->setTimezone(new \DateTimezone(\date_default_timezone_get())); } } elseif (\is_string($timestamp)) { $timestamp = \date_create($timestamp); } if (!($timestamp instanceof \DateTimeInterface)) { throw new \InvalidArgumentException('$timestamp argument is neither a valid UNIX timestamp, a valid date-time string or a DateTime object.'); } $locale = \substr((string) $locale, 0, 5); $intl_formats = [ '%a' => 'EEE', // An abbreviated textual representation of the day Sun through Sat '%A' => 'EEEE', // A full textual representation of the day Sunday through Saturday '%b' => 'MMM', // Abbreviated month name, based on the locale Jan through Dec '%B' => 'MMMM', // Full month name, based on the locale January through December '%h' => 'MMM', // Abbreviated month name, based on the locale (an alias of %b) Jan through Dec ]; $intl_formatter = function (\DateTimeInterface $timestamp, string $format) use ($intl_formats, $locale) { $tz = $timestamp->getTimezone(); $date_type = \IntlDateFormatter::FULL; $time_type = \IntlDateFormatter::FULL; $pattern = ''; // %c = Preferred date and time stamp based on locale // Example: Tue Feb 5 00:45:10 2009 for February 5, 2009 at 12:45:10 AM if ($format == '%c') { $date_type = \IntlDateFormatter::LONG; $time_type = \IntlDateFormatter::SHORT; } // %x = Preferred date representation based on locale, without the time // Example: 02/05/09 for February 5, 2009 elseif ($format == '%x') { $date_type = \IntlDateFormatter::SHORT; $time_type = \IntlDateFormatter::NONE; } // Localized time format elseif ($format == '%X') { $date_type = \IntlDateFormatter::NONE; $time_type = \IntlDateFormatter::MEDIUM; } else { $pattern = $intl_formats[$format]; } return (new \IntlDateFormatter($locale, $date_type, $time_type, $tz, null, $pattern))->format($timestamp); }; // Same order as https://www.php.net/manual/en/function.strftime.php $translation_table = [ // Day '%a' => $intl_formatter, '%A' => $intl_formatter, '%d' => 'd', '%e' => function ($timestamp) { return \sprintf('% 2u', $timestamp->format('j')); }, '%j' => function ($timestamp) { // Day number in year, 001 to 366 return \sprintf('%03d', $timestamp->format('z') + 1); }, '%u' => 'N', '%w' => 'w', // Week '%U' => function ($timestamp) { // Number of weeks between date and first Sunday of year $day = new \DateTime(\sprintf('%d-01 Sunday', $timestamp->format('Y'))); return \sprintf('%02u', 1 + ($timestamp->format('z') - $day->format('z')) / 7); }, '%V' => 'W', '%W' => function ($timestamp) { // Number of weeks between date and first Monday of year $day = new \DateTime(\sprintf('%d-01 Monday', $timestamp->format('Y'))); return \sprintf('%02u', 1 + ($timestamp->format('z') - $day->format('z')) / 7); }, // Month '%b' => $intl_formatter, '%B' => $intl_formatter, '%h' => $intl_formatter, '%m' => 'm', // Year '%C' => function ($timestamp) { // Century (-1): 19 for 20th century return \floor($timestamp->format('Y') / 100); }, '%g' => function ($timestamp) { return \substr($timestamp->format('o'), -2); }, '%G' => 'o', '%y' => 'y', '%Y' => 'Y', // Time '%H' => 'H', '%k' => function ($timestamp) { return \sprintf('% 2u', $timestamp->format('G')); }, '%I' => 'h', '%l' => function ($timestamp) { return \sprintf('% 2u', $timestamp->format('g')); }, '%M' => 'i', '%p' => 'A', // AM PM (this is reversed on purpose!) '%P' => 'a', // am pm '%r' => 'h:i:s A', // %I:%M:%S %p '%R' => 'H:i', // %H:%M '%S' => 's', '%T' => 'H:i:s', // %H:%M:%S '%X' => $intl_formatter, // Preferred time representation based on locale, without the date // Timezone '%z' => 'O', '%Z' => 'T', // Time and Date Stamps '%c' => $intl_formatter, '%D' => 'm/d/Y', '%F' => 'Y-m-d', '%s' => 'U', '%x' => $intl_formatter, ]; $out = \preg_replace_callback('/(?format($replace); } else { return $replace($timestamp, $match[1]); } }, $format); $out = \str_replace('%%', '%', $out); return $out; } } // end of class ?> get_destdir(); if( !$dd ) throw new \Exception('Session Failure'); if( !self::$_registered ) { \__appbase\smarty()->addPluginsDir(\__appbase\app::get_rootdir().'/lib/plugins'); \__appbase\smarty()->registerPlugin('function','wizard_form_start', array($this,'fn_wizard_form_start')); \__appbase\smarty()->registerPlugin('function','wizard_form_end', array($this,'fn_wizard_form_end')); self::$_registered = 1; } \__appbase\smarty()->assign('version',\__appbase\get_app()->get_dest_version()); \__appbase\smarty()->assign('version_name',\__appbase\get_app()->get_dest_name()); \__appbase\smarty()->assign('dir',\__appbase\get_app()->get_destdir()); \__appbase\smarty()->assign('in_phar',\__appbase\get_app()->in_phar()); \__appbase\smarty()->assign('cur_step',$this->cur_step()); } public function fn_wizard_form_start($params, $smarty) { echo '
'; } public function fn_wizard_form_end($params, $smarty) { echo '
'; } protected function get_primary_title() { $app = \__appbase\get_app(); $action = $this->get_wizard()->get_data('action'); $str = null; switch( $action ) { case 'upgrade': $str = \__appbase\lang('action_upgrade',$app->get_dest_version()); break; case 'freshen': $str = \__appbase\lang('action_freshen',$app->get_dest_version()); break; case 'install': default: $str = \__appbase\lang('action_install',$app->get_dest_version()); } return $str; } protected function display() { $app = \__appbase\get_app(); \__appbase\smarty()->assign('wizard_steps',$this->get_wizard()->get_nav()); \__appbase\smarty()->assign('title',$this->get_primary_title()); } public function error($msg) { $msg = addslashes($msg); echo ''."\n"; flush(); } public static function verbose($msg) { $msg = addslashes($msg); $verbose = \__appbase\wizard::get_instance()->get_data('verbose'); if( $verbose ) echo ''."\n"; flush(); } public function message($msg) { $msg = addslashes($msg); echo ''."\n"; flush(); } public function set_block_html($id,$html) { $html = addslashes($html); echo ''."\n"; flush(); } protected function finish() { echo ''."\n"; flush(); } } ?> /package.json modules//files/modules//* The builder may also populate files/ for optional core modules from the CMSMS source tree while leaving this folder as the metadata authority outside the installer runtime. Optional non-module bundles belong here. Example: addons/example_pack/package.json addons/example_pack/files/assets/ Optional modules belong here. Example: modules/news/package.json modules/news/files/modules/News/ For core optional modules, the builder may populate files/modules// from the prepared CMSMS source tree during release assembly. Lang('news'); } function IsPluginModule() { return true; } function HasAdmin() { return true; } function GetVersion() { return '2.51.14'; } function MinimumCMSVersion() { return '2.1.6'; } function GetAdminDescription() { return $this->Lang('description'); } function GetAdminSection() { return 'content'; } function AllowSmartyCaching() { return TRUE; } function LazyLoadFrontend() { return TRUE; } function LazyLoadAdmin() { return TRUE; } function InstallPostMessage() { return $this->Lang('postinstall'); } function GetHelp() { return $this->Lang('help'); } function GetAuthor() { return 'Ted Kulp'; } function GetAuthorEmail() { return 'wishy@cmsmadesimple.org'; } function GetChangeLog() { return file_get_contents(dirname(__FILE__).'/changelog.inc'); } function GetEventDescription( $eventname ) { return $this->lang('eventdesc-' . $eventname); } function GetEventHelp( $eventname ) { return $this->lang('eventhelp-' . $eventname); } function InitializeFrontend() { $this->RestrictUnknownParams(); $this->SetParameterType('pagelimit',CLEAN_INT); $this->SetParameterType('browsecat',CLEAN_INT); $this->SetParameterType('showall',CLEAN_INT); $this->SetParameterType('showarchive',CLEAN_INT); $this->SetParameterType('sortasc',CLEAN_STRING); // should be int, or boolean $this->SetParameterType('sortby',CLEAN_STRING); $this->SetParameterType('detailpage',CLEAN_STRING); $this->SetParameterType('detailtemplate',CLEAN_STRING); $this->SetParameterType('formtemplate',CLEAN_STRING); $this->SetParameterType('browsecattemplate',CLEAN_STRING); $this->SetParameterType('summarytemplate',CLEAN_STRING); $this->SetParameterType('moretext',CLEAN_STRING); $this->SetParameterType('category',CLEAN_STRING); $this->SetParameterType('category_id',CLEAN_STRING); $this->SetParameterType('number',CLEAN_INT); $this->SetParameterType('start',CLEAN_INT); $this->SetParameterType('pagenumber',CLEAN_INT); $this->SetParameterType('articleid',CLEAN_INT); $this->SetParameterType('origid',CLEAN_INT); $this->SetParameterType('showtemplate',CLEAN_STRING); $this->SetParameterType('assign',CLEAN_STRING); $this->SetParameterType('inline',CLEAN_STRING); $this->SetParameterType('preview',CLEAN_STRING); $this->SetParameterType('idlist',CLEAN_STRING); // form parameters $this->SetParameterType('submit',CLEAN_STRING); $this->SetParameterType('cancel',CLEAN_STRING); $this->SetParameterType('category',CLEAN_STRING); $this->SetParameterType('title',CLEAN_STRING); $this->SetParameterType('content',CLEAN_STRING); $this->SetParameterType('summary',CLEAN_STRING); $this->SetParameterType('extra',CLEAN_STRING); $this->SetParameterType('postdate',CLEAN_STRING); $this->SetParameterType('postdate_Hour',CLEAN_STRING); $this->SetParameterType('postdate_Minute',CLEAN_STRING); $this->SetParameterType('postdate_Second',CLEAN_STRING); $this->SetParameterType('postdate_Month',CLEAN_STRING); $this->SetParameterType('postdate_Day',CLEAN_STRING); $this->SetParameterType('postdate_Year',CLEAN_STRING); $this->SetParameterType('startdate',CLEAN_STRING); $this->SetParameterType('startdate_Hour',CLEAN_STRING); $this->SetParameterType('startdate_Minute',CLEAN_STRING); $this->SetParameterType('startdate_Second',CLEAN_STRING); $this->SetParameterType('startdate_Month',CLEAN_STRING); $this->SetParameterType('startdate_Day',CLEAN_STRING); $this->SetParameterType('startdate_Year',CLEAN_STRING); $this->SetParameterType('enddate',CLEAN_STRING); $this->SetParameterType('enddate_Hour',CLEAN_STRING); $this->SetParameterType('enddate_Minute',CLEAN_STRING); $this->SetParameterType('enddate_Second',CLEAN_STRING); $this->SetParameterType('enddate_Month',CLEAN_STRING); $this->SetParameterType('enddate_Day',CLEAN_STRING); $this->SetParameterType('enddate_Year',CLEAN_STRING); $this->SetParameterType('useexp',CLEAN_INT); $this->SetParameterType('input_category',CLEAN_STRING); $this->SetParameterType('category_id',CLEAN_INT); $this->SetParameterType(CLEAN_REGEXP.'/news_customfield_.*/',CLEAN_STRING); $this->SetParameterType('junk',CLEAN_STRING); } function InitializeAdmin() { $this->CreateParameter('pagelimit', 1000, $this->Lang('help_pagelimit')); $this->CreateParameter('browsecat', 0, $this->lang('helpbrowsecat')); $this->CreateParameter('showall', 0, $this->lang('helpshowall')); $this->CreateParameter('showarchive', 0, $this->lang('helpshowarchive')); $this->CreateParameter('sortasc', 'true', $this->lang('helpsortasc')); $this->CreateParameter('sortby', 'news_date', $this->lang('helpsortby')); $this->CreateParameter('detailpage', 'pagealias', $this->lang('helpdetailpage')); $this->CreateParameter('detailtemplate', '', $this->lang('helpdetailtemplate')); $this->CreateParameter('summarytemplate', '', $this->lang('helpsummarytemplate')); $this->CreateParameter('formtemplate', '', $this->lang('helpformtemplate')); $this->CreateParameter('browsecattemplate', '', $this->lang('helpbrowsecattemplate')); $this->CreateParameter('moretext', 'more...', $this->lang('helpmoretext')); $this->CreateParameter('category', 'category', $this->lang('helpcategory')); $this->CreateParameter('number', 100000, $this->lang('helpnumber')); $this->CreateParameter('start', 0, $this->lang('helpstart')); $this->CreateParameter('action','default',$this->Lang('helpaction')); $this->CreateParameter('articleid','',$this->Lang('help_articleid')); $this->CreateParameter('idlist','',$this->Lang('help_idlist')); } function VisibleToAdminUser() { return $this->CheckPermission('Modify News') || $this->CheckPermission('Modify Site Preferences') || $this->CheckPermission('Approve News'); } function GetDfltEmailTemplate() { $text = "A new news article has been posted to your website. The details are as follows:\n"; $text .= "Title: {\$title}\n"; $text .= "IP Address: {\$ipaddress}\n"; $text .= "Summary: {\$summary|strip_tags}\n"; $text .= "Start Date: {\$startdate|localedate_format}\n"; $text .= "End Date: {\$enddate|localedate_format}\n"; return $text; } function SearchResultWithParams($returnid, $articleid, $attr = '', $params = '') { $gCms = CmsApp::get_instance(); $result = array(); if ($attr == 'article') { $db = $this->GetDb(); $q = "SELECT news_title,news_url FROM ".CMS_DB_PREFIX."module_news WHERE news_id = ?"; $row = $db->GetRow( $q, array( $articleid ) ); if ($row) { //0 position is the prefix displayed in the list results. $result[0] = $this->GetFriendlyName(); //1 position is the title $result[1] = $row['news_title']; //2 position is the URL to the title. $detailpage = $returnid; if( isset($params['detailpage']) ) { $manager = $gCms->GetHierarchyManager(); $node = $manager->sureGetNodeByAlias($params['detailpage']); if (isset($node)) { $detailpage = $node->getID(); } else { $node = $manager->sureGetNodeById($params['detailpage']); if (isset($node)) $detailpage = $params['detailpage']; } } if( $detailpage == '' ) $detailpage = $returnid; $detailtemplate = ''; if( isset($params['detailtemplate']) ) { $manager = $gCms->GetHierarchyManager(); $node = $manager->sureGetNodeByAlias($params['detailtemplate']); if (isset($node)) $detailtemplate = '/d,' . $params['detailtemplate']; } $prettyurl = $row['news_url']; if( $row['news_url'] == '' ) { $aliased_title = munge_string_to_url($row['news_title']); $prettyurl = 'news/' . $articleid.'/'.$detailpage."/$aliased_title".$detailtemplate; } $parms = array(); $parms['articleid'] = $articleid; if( isset($params['detailtemplate']) ) $parms['detailtemplate'] = $params['detailtemplate']; $result[2] = $this->CreateLink('cntnt01', 'detail', $detailpage, '', $parms ,'', true, false, '', true, $prettyurl); } } return $result; } function SearchReindex(&$module) { $db = $this->GetDb(); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news WHERE searchable = 1 AND status = ? ORDER BY news_date'; $result = $db->Execute($query,array('published')); while ($result && !$result->EOF) { if ($result->fields['status'] == 'published') { $module->AddWords($this->GetName(), $result->fields['news_id'], 'article', $result->fields['news_data'] . ' ' . $result->fields['summary'] . ' ' . $result->fields['news_title'] . ' ' . $result->fields['news_title'], ($result->fields['end_time'] != NULL && $this->GetPreference('expired_searchable',0) == 0) ? $db->UnixTimeStamp($result->fields['end_time']) : NULL); } $result->MoveNext(); } } public function GetFieldTypes() { $items = [ 'textbox'=>$this->Lang('textbox'), 'checkbox'=>$this->Lang('checkbox'), 'textarea'=>$this->Lang('textarea'), 'dropdown'=>$this->Lang('dropdown'), 'linkedfile'=>$this->Lang('linkedfile'), 'file'=>$this->Lang('file') ]; return $items; } function GetTypesDropdown( $id, $name, $selected = '' ) { $items = $this->GetFieldTypes(); return $this->CreateInputDropdown($id, $name, array_flip($items), -1, $selected); } public function get_tasks() { if( !$this->GetPreference('alert_drafts',0) ) return; $out = array(); $out[] = new \News\CreateDraftAlertTask(); return $out; } function GetNotificationOutput($priority = 2) { // if this user has permission to change News articles from // Draft to published, and there are draft news articles // then display a nice message. // this is a priority 2 item. if( $priority >= 2 ) { $output = array(); if( $this->CheckPermission('Approve News') ) { $db = $this->GetDb(); $query = 'SELECT count(news_id) FROM '.CMS_DB_PREFIX.'module_news n WHERE status != \'published\' AND (end_time IS NULL OR end_time > NOw())'; $count = $db->GetOne($query); if( $count ) { $obj = new StdClass; $obj->priority = 2; $link = $this->CreateLink('m1_','defaultadmin','', $this->Lang('notify_n_draft_items_sub',$count)); $obj->html = $this->Lang('notify_n_draft_items',$link); $output[] = $obj; } } } return $output; } public function CreateStaticRoutes() { cms_route_manager::del_static('',$this->GetName()); $db = \CmsApp::get_instance()->GetDb(); $str = $this->GetName(); $c = strtoupper($str[0]); $x = substr($str,1); $x1 = '['.$c.strtolower($c).']'.$x; $route = new CmsRoute('/'.$x1.'\/(?P[0-9]+)\/(?P[0-9]+)\/(?P.*?)\/d,(?P.*?)$/', $this->GetName()); cms_route_manager::add_static($route); $route = new CmsRoute('/'.$x1.'\/(?P[0-9]+)\/(?P[0-9]+)\/(?P.*?)$/',$this->GetName()); cms_route_manager::add_static($route); $route = new CmsRoute('/'.$x1.'\/(?P[0-9]+)\/(?P[0-9]+)$/',$this->GetName()); cms_route_manager::add_static($route); $route = new CmsRoute('/'.$x1.'\/(?P[0-9]+)$/',$this->GetName(), array('returnid'=>$this->GetPreference('detail_returnid',-1))); cms_route_manager::add_static($route); $query = 'SELECT news_id,news_url FROM '.CMS_DB_PREFIX.'module_news WHERE status = ? AND news_url != ? AND ' . '('.$db->ifNull('start_time',$db->DbTimeStamp(1)).' < NOW()) AND ' . '(('.$db->IfNull('end_time',$db->DbTimeStamp(1)).' = '.$db->DbTimeStamp(1).') OR (end_time > NOW()))'; $query .= ' ORDER BY news_date DESC'; $tmp = $db->GetArray($query,array('published','')); if( is_array($tmp) ) { foreach( $tmp as $one ) { news_admin_ops::register_static_route($one['news_url'],$one['news_id']); } } } public static function page_type_lang_callback($str) { $mod = cms_utils::get_module('News'); if( is_object($mod) ) return $mod->Lang('type_'.$str); } public static function template_help_callback($str) { $str = trim($str); $mod = cms_utils::get_module('News'); if( is_object($mod) ) { $file = $mod->GetModulePath().'/doc/tpltype_'.$str.'.inc'; if( is_file($file) ) return file_get_contents($file); } } public static function reset_page_type_defaults(CmsLayoutTemplateType $type) { if( $type->get_originator() != 'News' ) throw new CmsLogicException('Cannot reset contents for this template type'); $fn = null; switch( $type->get_name() ) { case 'summary': $fn = 'orig_summary_template.tpl'; break; case 'detail': $fn = 'orig_detail_template.tpl'; break; case 'form': $fn = 'orig_form_template.tpl'; break; case 'browsecat': $fn = 'browsecat.tpl'; } $fn = cms_join_path(__DIR__,'templates',$fn); if( file_exists($fn) ) return @file_get_contents($fn); } public function HasCapability($capability, $params = array()) { switch( $capability ) { case CmsCoreCapabilities::PLUGIN_MODULE: case CmsCoreCapabilities::ADMINSEARCH: case CmsCoreCapabilities::TASKS: return TRUE; } return FALSE; } public function get_adminsearch_slaves() { return array('News_AdminSearch_slave'); } public function GetAdminMenuItems() { $out = array(); if( $this->VisibleToAdminUser() ) $out[] = CmsAdminMenuItem::from_module($this); if( $this->CheckPermission('Modify Site Preferences') ) { $obj = new CmsAdminMenuItem(); $obj->module = $this->GetName(); $obj->section = 'siteadmin'; $obj->title = $this->Lang('title_news_settings'); $obj->description = $this->Lang('desc_news_settings'); $obj->action = 'admin_settings'; $out[] = $obj; } return $out; } } // end of class CheckPermission('Modify News')) return; if (isset($params['cancel'])) $this->Redirect($id, 'defaultadmin', $returnid); /*-------------------- * Variables ---------------------*/ $status = 'draft'; if ($this->CheckPermission('Approve News')) $status = 'published'; $userid = get_userid(); $postdate = time(); $startdate = time(); $content = isset($params['content']) ? $params['content'] : ''; $summary = isset($params['summary']) ? $params['summary'] : ''; $status = isset($params['status']) ? $params['status'] : $status; $usedcategory = isset($params['category']) ? $params['category'] : $this->GetPreference('default_category', ''); $useexp = isset($params['useexp']) ? 1: 0; $searchable = isset($params['searchable']) ? (int)$params['searchable'] : 1; $news_url = isset($params['news_url']) ? $params['news_url'] : ''; $extra = isset($params['extra']) ? trim(strip_tags($params['extra'])) : ''; $title = isset($params['title']) ? trim(strip_tags($params['title'])) : ''; $ndays = (int)$this->GetPreference('expiry_interval', 180); if ($ndays == 0) $ndays = 180; $enddate = strtotime(sprintf("+%d days", $ndays), time()); if (isset($params['postdate_Month'])) { $postdate = mktime($params['postdate_Hour'], $params['postdate_Minute'], $params['postdate_Second'], $params['postdate_Month'], $params['postdate_Day'], $params['postdate_Year']); } if (isset($params['startdate_Month'])) { $startdate = mktime($params['startdate_Hour'], $params['startdate_Minute'], $params['startdate_Second'], $params['startdate_Month'], $params['startdate_Day'], $params['startdate_Year']); } if (isset($params['enddate_Month'])) { $enddate = mktime($params['enddate_Hour'], $params['enddate_Minute'], $params['enddate_Second'], $params['enddate_Month'], $params['enddate_Day'], $params['enddate_Year']); } /*-------------------- * Logic ---------------------*/ if (isset($params['submit'])) { $error = FALSE; if (empty($title)) { $error = $this->ShowErrors($this->Lang('notitlegiven')); } else if (empty($content)) { $error = $this->ShowErrors($this->Lang('nocontentgiven')); } else if ($useexp == 1) { if ($startdate >= $enddate) $error = $this->ShowErrors($this->Lang('error_invaliddates')); } if (empty($error) && $news_url != '') { // check for starting or ending slashes if (startswith($news_url, '/') || endswith($news_url, '/')) $error = $this->ShowErrors($this->Lang('error_invalidurl')); if ($error === FALSE) { // check for invalid chars. $translated = munge_string_to_url($news_url, false, true); if (strtolower($translated) != strtolower($news_url)) $error = $this->ShowErrors($this->Lang('error_invalidurl')); } if ($error === FALSE) { // make sure this url isn't taken. cms_route_manager::load_routes(); $route = cms_route_manager::find_match($news_url); if ($route) { $error = $this->ShowErrors($this->Lang('error_invalidurl')); // we're adding an article, not editing... any matching route is bad. } } } // // database work // if ($error !== FALSE) { echo $error; } else { $articleid = $db->GenID(CMS_DB_PREFIX . "module_news_seq"); $query = 'INSERT INTO ' . CMS_DB_PREFIX . 'module_news (news_id, news_category_id, news_title, news_data, summary, status, news_date, start_time, end_time, create_date, modified_date,author_id,news_extra,news_url,searchable) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; if ($useexp == 1) { $dbr = $db->Execute($query, array( $articleid, $usedcategory, $title, $content, $summary, $status, trim($db->DBTimeStamp($postdate), "'"), trim($db->DBTimeStamp($startdate), "'"), trim($db->DBTimeStamp($enddate), "'"), trim($db->DBTimeStamp(time()), "'"), trim($db->DBTimeStamp(time()), "'"), $userid, $extra, $news_url, $searchable )); } else { $dbr = $db->Execute($query, array( $articleid, $usedcategory, $title, $content, $summary, $status, trim($db->DBTimeStamp($postdate), "'"), NULL, NULL, trim($db->DBTimeStamp(time()), "'"), trim($db->DBTimeStamp(time()), "'"), $userid, $extra, $news_url, $searchable )); } if (!$dbr) { echo "DEBUG: SQL = " . $db->sql . "
"; die($db->ErrorMsg()); } // //Handle submitting the 'custom' fields // // get the field types $qu = "SELECT id,name,type FROM " . CMS_DB_PREFIX . "module_news_fielddefs WHERE type='file'"; $types = $db->GetArray($qu); foreach ($types as $onetype) { $elem = $id . 'customfield_' . $onetype['id']; if (isset($_FILES[$elem]) && $_FILES[$elem]['name'] != '') { if ($_FILES[$elem]['error'] != 0 || $_FILES[$elem]['tmp_name'] == '') { echo $this->ShowErrors($this->Lang('error_upload')); $error = true; } else { $error = ''; $value = news_admin_ops::handle_upload($articleid, $elem, $error); if ($value === FALSE) { echo $this->ShowErrors($error); $error = true; } else { $params['customfield'][$onetype['id']] = $value; } } } } if (isset($params['customfield']) && !$error) { $now = trim($db->DBTimeStamp(time()), "'"); foreach ($params['customfield'] as $fldid => $value) { if ($value == '') continue; $query = "INSERT INTO " . CMS_DB_PREFIX . "module_news_fieldvals (news_id,fielddef_id,value,create_date,modified_date) VALUES (?,?,?,?,?)"; $dbr = $db->Execute($query, array( $articleid, $fldid, $value, $now, $now )); if (!$dbr) die('FATAL SQL ERROR: ' . $db->ErrorMsg() . '
QUERY: ' . $db->sql); } }// if if (!$error && $status == 'published' && $news_url != '') { // todo: if not expired // register the route. news_admin_ops::delete_static_route($articleid); news_admin_ops::register_static_route($news_url, $articleid); } if (!$error && $status == 'published' && $searchable) { //Update search index $module = cms_utils::get_search_module(); if (is_object($module)) { $text = ''; if (isset($params['customfield'])) { foreach ($params['customfield'] as $fldid => $value) { if (strlen($value) > 1) $text .= $value . ' '; } } $text .= $content . ' ' . $summary . ' ' . $title . ' ' . $title; $module->AddWords($this->GetName(), $articleid, 'article', $text, ($useexp == 1 && $this->GetPreference('expired_searchable', 0) == 0) ? $enddate : NULL); } } if (!$error) { \CMSMS\HookManager::do_hook('News::NewsArticleAdded', array('news_id' => $articleid, 'category_id' => $usedcategory, 'title' => $title, 'content' => $content, 'summary' => $summary, 'status' => $status, 'start_time' => $startdate, 'end_time' => $enddate, 'postdate' => $postdate, 'useexp' => $useexp, 'extra' => $extra )); // put mention into the admin log audit($articleid, 'News: ' . $title, 'Article added'); $this->SetMessage($this->Lang('articleadded')); $this->Redirect($id, 'defaultadmin', $returnid); } // if !$error } // outer if !$error // end submit } elseif (isset($params['preview'])) { // save data for preview. unset($params['apply']); unset($params['preview']); unset($params['submit']); unset($params['cancel']); unset($params['ajax']); $tmpfname = tempnam(TMP_CACHE_LOCATION, $this->GetName() . '_preview'); file_put_contents($tmpfname, serialize($params)); $detail_returnid = $this->GetPreference('detail_returnid', -1); if ($detail_returnid <= 0) { // now get the default content id. $detail_returnid = ContentOperations::get_instance()->GetDefaultContent(); } if (isset($params['previewpage']) && (int)$params['previewpage'] > 0) $detail_returnid = (int)$params['previewpage']; $_SESSION['news_preview'] = array( 'fname' => basename($tmpfname), 'checksum' => md5_file($tmpfname) ); $tparms = array('preview' => md5(serialize($_SESSION['news_preview']))); if (isset($params['detailtemplate'])) $tparms['detailtemplate'] = trim($params['detailtemplate']); $url = $this->create_url('_preview_', 'detail', $detail_returnid, $tparms, TRUE); $response = ''; $response .= ''; if (isset($error) && $error != '') { $response .= 'Error'; $response .= '
'; } else { $response .= 'Success'; $response .= '
'; } $response .= '
'; $handlers = ob_list_handlers(); for ($cnt = 0; $cnt < sizeof($handlers); $cnt++) { ob_end_clean(); } header('Content-Type: text/xml'); echo $response; exit ; } // // build the form // $statusdropdown = array(); $statusdropdown[$this->Lang('draft')] = 'draft'; $statusdropdown[$this->Lang('published')] = 'published'; $categorylist = array(); $query = "SELECT * FROM " . CMS_DB_PREFIX . "module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['long_name']] = $row['news_category_id']; } // Display custom fields $query = 'SELECT * FROM ' . CMS_DB_PREFIX . 'module_news_fielddefs ORDER BY item_order'; $dbr = $db->Execute($query); $custom_flds = array(); while ($dbr && ($row = $dbr->FetchRow())) { if (isset($row['extra']) && $row['extra']) $row['extra'] = unserialize($row['extra']); $options = null; if (isset($row['extra']['options'])) $options = $row['extra']['options']; $value = isset($params['customfield'][$row['id']]) && in_array($params['customfield'][$row['id']], $params['customfield']) ? $params['customfield'][$row['id']] : ''; if ($row['type'] == 'file') { $name = "customfield_" . $row['id']; } else { $name = "customfield[" . $row['id'] . "]"; } $obj = new StdClass(); $obj->value = $value; $obj->type = $row['type']; $obj->nameattr = $id . $name; $obj->idattr = 'customfield_' . $row['id']; $obj->prompt = $row['name']; $obj->size = min(80, (int)$row['max_length']); $obj->max_len = max(1, (int)$row['max_length']); $obj->options = $options; // FIXME - If we create inputs with hmtl markup in smarty template, whats the use of switch and form API here? /* switch( $row['type'] ) { case 'textbox' : $size = min(50, $row['max_length']); $obj->field = $this->CreateInputText($id, $name, $value, $size, $row['max_length']); break; case 'checkbox' : $obj->field = $this->CreateInputHidden($id, $name, $value != '' ? $value : '0') . $this->CreateInputCheckbox($id, $name, '1', $value != '' ? $value : '0'); break; case 'textarea' : $obj->field = $this->CreateTextArea(true, $id, $value, $name); break; case 'file' : $name = "customfield_" . $row['id']; $obj->field = $this->CreateFileUploadInput($id, $name); break; case 'dropdown' : $obj->field = $this->CreateInputDropdown($id, $name, array_flip($options)); break; } */ $custom_flds[$row['name']] = $obj; } /*-------------------- * Pass everything to smarty ---------------------*/ $smarty->assign('formid', $id); $smarty->assign('hide_summary_field', $this->GetPreference('hide_summary_field', '0')); $smarty->assign('authortext', ''); $smarty->assign('inputauthor', ''); $smarty->assign('startform', $this->CreateFormStart($id, 'addarticle', $returnid, 'post', 'multipart/form-data')); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('title', $title); $smarty->assign('allow_summary_wysiwyg', $this->GetPreference('allow_summary_wysiwyg')); $smarty->assign('extratext', $this->Lang('extra')); $smarty->assign('extra', $extra); $smarty->assign('urltext', $this->Lang('url')); $smarty->assign('news_url', $news_url); $smarty->assign('postdate', $postdate); $smarty->assign('postdateprefix', $id . 'postdate_'); $smarty->assign('useexp', $useexp); $smarty->assign('actionid', $id); $smarty->assign('inputexp', $this->CreateInputCheckbox($id, 'useexp', '1', $useexp, 'class="pagecheckbox"')); $smarty->assign('startdate', $startdate); $smarty->assign('startdateprefix', $id . 'startdate_'); $smarty->assign('enddate', $enddate); $smarty->assign('enddateprefix', $id . 'enddate_'); $smarty->assign('status', $status); $smarty->assign('categorylist', array_flip($categorylist)); $smarty->assign('category', $usedcategory); $smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit'))); $smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel'))); $smarty->assign('delete_field_val', $this->Lang('delete')); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('categorytext', $this->Lang('category')); $smarty->assign('summarytext', $this->Lang('summary')); $smarty->assign('contenttext', $this->Lang('content')); $smarty->assign('postdatetext', $this->Lang('postdate')); $smarty->assign('useexpirationtext', $this->Lang('useexpiration')); $smarty->assign('startdatetext', $this->Lang('startdate')); $smarty->assign('enddatetext', $this->Lang('enddate')); $smarty->assign('searchable', $searchable); $smarty->assign('select_option', $this->Lang('select_option')); // tab stuff. $smarty->assign('start_tab_headers', $this->StartTabHeaders()); $smarty->assign('tabheader_article', $this->SetTabHeader('article', $this->Lang('article'))); $smarty->assign('tabheader_preview', $this->SetTabHeader('preview', $this->Lang('preview'))); $smarty->assign('end_tab_headers', $this->EndTabHeaders()); $smarty->assign('start_tab_content', $this->StartTabContent()); $smarty->assign('start_tab_article', $this->StartTab('article', $params)); $smarty->assign('end_tab_article', $this->EndTab()); $smarty->assign('end_tab_content', $this->EndTabContent()); $smarty->assign('warning_preview', $this->Lang('warning_preview')); $parms = array( 'enablewysiwyg' => 1, 'name' => $id . 'content', 'text' => $content, 'rows' => 10, 'cols' => 80 ); $smarty->assign('inputcontent', CmsFormUtils::create_textarea($parms)); $parms = array( 'enablewysiwyg' => $this->GetPreference('allow_summary_wysiwyg', 1), 'name' => $id . 'summary', 'text' => $summary, 'rows' => 3, 'cols' => 80 ); $smarty->assign('inputsummary', CmsFormutils::create_textarea($parms)); if (count($custom_flds) > 0) $smarty->assign('custom_fields', $custom_flds); if ($this->CheckPermission('Approve News')) { $smarty->assign('statustext', lang('status')); $smarty->assign('statuses', array_flip($statusdropdown)); } $contentops = cmsms()->GetContentOperations(); $smarty->assign('preview_returnid', $contentops->CreateHierarchyDropdown('', $this->GetPreference('detail_returnid', -1), 'preview_returnid')); // get the list of detail templates. try { $type = CmsLayoutTemplateType::load($this->GetName() . '::detail'); $templates = $type->get_template_list(); $list = array(); if (is_array($templates) && count($templates)) { foreach ($templates as $template) { $list[$template->get_id()] = $template->get_name(); } } if (count($list)) { $smarty->assign('prompt_detail_template', $this->Lang('detail_template')); $smarty->assign('prompt_detail_page', $this->Lang('detail_page')); $smarty->assign('detail_templates', $list); $smarty->assign('cur_detail_template', $this->GetPreference('current_detail_template')); $smarty->assign('start_tab_preview', $this->StartTab('preview', $params)); $smarty->assign('end_tab_preview', $this->EndTab()); } } catch( Exception $e ) { audit('', $this->GetName(), 'No detail templates available for preview'); } echo $this->ProcessTemplate('editarticle.tpl'); ?>CheckPermission('Modify Site Preferences')) return; $parent = -1; if( isset($params['parent'])) $parent = (int)$params['parent']; if (isset($params['cancel'])) $this->RedirectToAdminTab('categories','','admin_settings'); $name = ''; if (isset($params['name'])) { //if( $parent == 0 ) $parent = -1; $name = trim($params['name']); if ($name != '') { $query = 'SELECT news_category_id FROM '.CMS_DB_PREFIX.'module_news_categories WHERE parent_id = ? AND news_category_name = ?'; $tmp = $db->GetOne($query,array($parent,$name)); if( $tmp ) { echo $this->ShowErrors($this->Lang('error_duplicatename')); } else { $query = 'SELECT max(item_order) FROM '.CMS_DB_PREFIX.'module_news_categories WHERE parent_id = ?'; $item_order = (int)$db->GetOne($query,array($parent)); $item_order++; $catid = $db->GenID(CMS_DB_PREFIX."module_news_categories_seq"); $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news_categories (news_category_id, news_category_name, parent_id, item_order, create_date, modified_date) VALUES (?,?,?,?,NOW(),NOW())'; $parms = array($catid,$name,$parent,$item_order); $db->Execute($query, $parms); news_admin_ops::UpdateHierarchyPositions(); \CMSMS\HookManager::do_hook('News::NewsCategoryAdded', [ 'category_id'=>$catid, 'name'=>$name ] ); // put mention into the admin log audit($catid, 'News category: '.$name, ' Category added'); $this->SetMessage($this->Lang('categoryadded')); $this->RedirectToAdminTab('categories','','admin_settings'); } } else { echo $this->ShowErrors($this->Lang('nonamegiven')); } } // Display template $tmp = news_ops::get_category_list(); $tmp2 = array_flip($tmp); $categories = array(-1=>$this->Lang('none')); foreach( $tmp2 as $k => $v ) { $categories[$k] = $v; } $smarty->assign('parent',$parent); $smarty->assign('name',$name); $smarty->assign('categories',$categories); $smarty->assign('startform', $this->CreateFormStart($id, 'addcategory', $returnid)); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('inputname', $this->CreateInputText($id, 'name', $name, 20, 255)); $smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit'))); $smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel'))); $smarty->assign('mod',$this); echo $this->ProcessTemplate('editcategory.tpl'); CheckPermission('Modify Site Preferences')) return; if (isset($params['cancel'])) $this->RedirectToAdminTab('customfields','','admin_settings'); $name = ''; if (isset($params['name'])) $name = trim($params['name']); $type = ''; if (isset($params['type'])) $type = $params['type']; $max_length = 255; if (isset($params['max_length'])) $max_length = max(0,(int)$params['max_length']); $public = 1; if( isset($params['public']) ) $public = (int)$params['public']; $arr_options = array(); $options = ''; if( isset($params['options']) ) { $options = trim($params['options']); $arr_options = news_admin_ops::optionstext_to_array($options); } $userid = get_userid(); if (isset($params['submit'])) { $error = false; if ($name == '') $error = $this->Lang('nonamegiven'); if( !$error && $type == 'dropdown' && count($arr_options) == 0 ) $error = $this->Lang('error_nooptions'); if( !$error ) { $query = 'SELECT id FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE name = ?'; $exists = $db->GetOne($query,array($name)); if( $exists ) $error = $this->Lang('nameexists'); } if( !$error ) { $max = $db->GetOne('SELECT max(item_order) + 1 FROM ' . CMS_DB_PREFIX . 'module_news_fielddefs'); if( $max == null ) $max = 1; $extra = array('options'=>$arr_options); $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news_fielddefs (name, type, max_length, item_order, create_date, modified_date, public, extra) VALUES (?,?,?,?,?,?,?,?)'; $parms = array($name, $type, $max_length, $max, trim($db->DBTimeStamp(time()), "'"), trim($db->DBTimeStamp(time()), "'"), $public, serialize($extra)); $db->Execute($query, $parms ); // put mention into the admin log audit('', 'News custom: '.$name, 'Field definition added'); // done. $params = array('tab_message'=> 'fielddefadded', 'active_tab' => 'customfields'); $this->SetMessage($this->Lang('fielddefadded')); $this->RedirectToAdminTab('customfields','','admin_settings'); } if( $error ) echo $this->ShowErrors($error); } #Display template $smarty->assign('title',$this->Lang('addfielddef')); $smarty->assign('startform', $this->CreateFormStart($id, 'admin_addfielddef', $returnid)); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('nametext', $this->Lang('name')); $smarty->assign('typetext', $this->Lang('type')); $smarty->assign('maxlengthtext', $this->Lang('maxlength')); $smarty->assign('showinputtype', true); $smarty->assign('info_maxlength', $this->Lang('info_maxlength')); $smarty->assign('userviewtext',$this->Lang('public')); $smarty->assign('name',$name); $smarty->assign('fieldtypes',$this->GetFieldTypes()); $smarty->assign('type',$type); $smarty->assign('max_length',$max_length); $smarty->assign('public',$public); $smarty->assign('options',$options); $smarty->assign('mod',$this); echo $this->ProcessTemplate('editfielddef.tpl'); // EOF CheckPermission('Modify Site Preferences')) return; $fdid = ''; if (isset($params['fdid'])) $fdid = $params['fdid']; // Get the category details $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE id = ?'; $row = $db->GetRow($query, array($fdid)); //Now remove the category $query = "DELETE FROM ".CMS_DB_PREFIX."module_news_fielddefs WHERE id = ?"; $db->Execute($query, array($fdid)); //And remove it from any entries $query = "DELETE FROM ".CMS_DB_PREFIX."module_news_fieldvals WHERE fielddef_id = ?"; $db->Execute($query, array($fdid)); $db->Execute('UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order - 1) WHERE item_order > ?', array($row['item_order'])); $params = array('tab_message'=> 'fielddefdeleted', 'active_tab' => 'customfields'); // put mention into the admin log audit('','News custom: '.$name, 'Field definition deleted'); $this->Setmessage($this->Lang('fielddefdeleted')); $this->RedirectToAdminTab('customfields','','admin_settings'); CheckPermission('Modify Site Preferences')) return; if (isset($params['cancel'])) $this->RedirectToAdminTab('customfields','','admin_settings'); $fdid = ''; if (isset($params['fdid'])) $fdid = $params['fdid']; $name = ''; if (isset($params['name'])) $name = trim($params['name']); $arr_options = array(); $options = ''; if( isset($params['options']) ) { $options = trim($params['options']); $arr_options = news_admin_ops::optionstext_to_array($options); } $type = ''; if (isset($params['type'])) $type = $params['type']; $max_length = 255; if (isset($params['max_length'])) $max_length = max(0,(int)$params['max_length']); $origname = ''; if (isset($params['origname'])) $origname = $params['origname']; $public = 0; if( isset($params['public']) ) $public = (int)$params['public']; if (isset($params['submit'])) { // @todo: sanitizing input $error = ''; if ($name == '') $error = $this->Lang('nonamegiven'); if( !$error ) { $query = 'SELECT id FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE name = ? AND id != ?'; $tmp = $db->GetOne($query,array($name,$fdid)); if( $tmp ) $error = $this->Lang('nameexists'); } if( !$error ) { $extra = array('options'=>$arr_options); $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET name = ?, type = ?, max_length = ?, modified_date = '.$db->DBTimeStamp(time()).', public = ?, extra = ? WHERE id = ?'; $res = $db->Execute($query, array($name, $type, $max_length, $public, serialize($extra), $fdid)); if( !$res ) die( $db->ErrorMsg() ); // put mention into the admin log audit($name, 'News custom: '.$name, 'Field definition edited'); $this->SetMessage($this->Lang('fielddefupdated')); $this->RedirectToAdminTab('customfields','','admin_settings'); } } else { $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE id = ?'; $row = $db->GetRow($query, array($fdid)); if ($row) { $name = $row['name']; $type = $row['type']; $max_length = $row['max_length']; $origname = $row['name']; $public = $row['public']; $extra = unserialize($row['extra']); if( isset($extra['options']) ) { $options = news_admin_ops::array_to_optionstext($extra['options']); } } } #Display template $smarty->assign('title',$this->Lang('editfielddef')); $smarty->assign('startform', $this->CreateFormStart($id, 'admin_editfielddef', $returnid)); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('nametext', $this->Lang('name')); $smarty->assign('typetext', $this->Lang('type')); $smarty->assign('maxlengthtext', $this->Lang('maxlength')); $smarty->assign('showinputtype', false); $smarty->assign('inputtype', $this->CreateInputHidden($id, 'type', $type)); $smarty->assign('info_maxlength', $this->Lang('info_maxlength')); $smarty->assign('userviewtext',$this->Lang('public')); $smarty->assign('name',$name); $smarty->assign('fieldtypes',$this->GetFieldTypes()); $smarty->assign('type',$type); $smarty->assign('max_length',$max_length); $smarty->assign('public',$public); $smarty->assign('options',$options); $smarty->assign('mod',$this); $smarty->assign('hidden', $this->CreateInputHidden($id, 'fdid', $fdid). $this->CreateInputHidden($id, 'origname', htmlspecialchars($origname))); echo $this->ProcessTemplate('editfielddef.tpl'); // EOFCheckPermission('Modify Site Preferences')) return; $order = 1; $fdid = $params['fdid']; #Grab necessary info for fixing the item_order $order = $db->GetOne("SELECT item_order FROM ".CMS_DB_PREFIX."module_news_fielddefs WHERE id = ?", array($fdid)); $time = $db->DBTimeStamp(time()); if ($params['dir'] == "down") { $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order - 1), modified_date = '.$time.' WHERE item_order = ?'; $db->Execute($query, array($order + 1)); $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order + 1), modified_date = '.$time.' WHERE id = ?'; $db->Execute($query, array($fdid)); } else if ($params['dir'] == "up") { $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order + 1), modified_date = '.$time.' WHERE item_order = ?'; $db->Execute($query, array($order - 1)); $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET item_order = (item_order - 1), modified_date = '.$time.' WHERE id = ?'; $db->Execute($query, array($fdid)); } $this->RedirectToAdminTab('customfields','','admin_settings'); ?> CheckPermission('Modify Site Preferences') ) return; $this->SetCurrentTab('categories'); function news_reordercats_create_flatlist($tree,$parent_id = -1) { $data = array(); $order = 1; foreach( $tree as &$node ) { if( is_array($node) && count($node) == 2 ) { $pid = substr($node[0],strlen('cat_')); $data[] = array('id'=>$pid,'parent_id'=>$parent_id,'order'=>$order); if( isset($node[1]) && is_array($node[1]) && count($node[1]) > 0 ) { $tmp = news_reordercats_create_flatlist($node[1],$pid); if( is_array($tmp) && count($tmp) ) $data = array_merge($data,$tmp); } } else { $pid = substr($node,strlen('cat_')); $data[] = array('id'=>$pid,'parent_id'=>$parent_id,'order'=>$order); } $order++; } return $data; } if( isset($params['cancel']) ) { $this->RedirectToAdminTab('','','admin_settings'); } else if( isset($params['submit']) ) { $data = json_decode($params['data']); $flat = news_reordercats_create_flatlist($data); if( is_array($flat) && count($flat) ) { $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET parent_id = ?, item_order = ? WHERE news_category_id = ?'; foreach( $flat as $rec ) { $dbr = $db->Execute($query,array($rec['parent_id'],$rec['order'],$rec['id'])); } news_admin_ops::UpdateHierarchyPositions(); $this->SetMessage($this->Lang('msg_categoriesreordered')); $this->RedirectToAdminTab('','','admin_settings'); } } $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_categories ORDER BY hierarchy'; $allcats = $db->GetArray($query); $smarty->assign('allcats',$allcats); echo $this->ProcessTemplate('admin_reorder_cats.tpl'); # # EOF # ?>CheckPermission('Modify Site Preferences') ) return; echo $this->StartTabHeaders(); echo $this->SetTabHeader('categories',$this->Lang('categories')); echo $this->SetTabHeader('customfields',$this->Lang('customfields')); echo $this->SetTabHeader('options',$this->Lang('options')); echo $this->EndTabHeaders(); echo $this->StartTabContent(); echo $this->StartTab('categories', $params); include(dirname(__FILE__).'/function.admin_categoriestab.php'); echo $this->EndTab(); echo $this->StartTab('customfields', $params); include(dirname(__FILE__).'/function.admin_customfieldstab.php'); echo $this->EndTab(); echo $this->StartTab('options', $params); include(dirname(__FILE__).'/function.admin_optionstab.php'); echo $this->EndTab(); echo $this->EndTabContent(); ?> CheckPermission('Approve News') ) exit(); if( !isset($params['approve']) || !isset($params['articleid']) ) { die('missing parameter, this should not happen'); } $this->SetCurrentTab('articles'); $articleid = (int)$params['articleid']; $search = cms_utils::get_search_module(); $status = ''; $uquery = "UPDATE ".CMS_DB_PREFIX."module_news SET status = ?,modified_date = NOW() WHERE news_id = ?"; switch( $params['approve'] ) { case 0: $status = 'draft'; break; case 1: $status = 'published'; break; default: die('unknown value for approve parameter, I do not know what to do with this'); break; } // Get the record if( is_object($search) ) { if( $status == 'draft' ) { $search->DeleteWords($this->GetName(),$articleid,'article'); } else if( $status == 'published' ) { $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news WHERE news_id = ?';; $article = $db->GetRow($query,array($articleid)); if( !$article ) return; $useexp = 0; $t_end = time() + 3600; // just for the math if( $article['end_time'] != "" ) { $useexp = 1; $t_end = $db->UnixTimeStamp($article['end_time']); } if( $t_end > time() || $this->GetPreference('expired_searchble',1) == 1 ) { $text = $article['news_data'] . ' ' . $article['summary'] . ' ' . $article['news_title'] . ' ' . $article['news_title']; $query = 'SELECT value FROM '.CMS_DB_PREFIX.'module_news_fieldvals WHERE news_id = ?'; $flds = $db->GetArray($query,array($articleid)); if( is_array($flds) ) { for( $i = 0; $i < count($flds); $i++ ) { $text .= ' '.$flds[$i]['value']; } } $search->AddWords($this->GetName(), $articleid, 'article', $text, ($useexp == 1 && $this->GetPreference('expired_searchable',0) == 0) ? $t_end : NULL); } } } $db->Execute($uquery,array($status,$articleid)); \CMSMS\HookManager::do_hook('News::NewsArticleEdited', [ 'news_id'=>$articleid, 'status'=>$status ] ); $this->SetMessage($this->Lang('msg_success')); $this->RedirectToAdminTab(); ?>GetName(),'No default summary template found'); return; } $template = $tpl->get_name(); } $cache_id = '|ns'.md5(serialize($params)); $tpl_ob = $smarty->CreateTemplate($this->GetTemplateResource($template),$cache_id,null,$smarty); if( !$tpl_ob->IsCached() ) { $items = news_ops::get_categories($id,$params,$returnid); // Display template $tpl_ob->assign('count', count($items)); $tpl_ob->assign('cats', $items); } // Display template $tpl_ob->display(); ?> GetName(),'No default summary template found'); return; } $template = $tpl->get_name(); } $cache_id = '|ns'.md5(serialize($params)); $tpl_ob = $smarty->CreateTemplate($this->GetTemplateResource($template),$cache_id,null,$smarty); if( !$tpl_ob->IsCached() ) { $detailpage = ''; $tmp = $this->GetPreference('detail_returnid',-1); if( $tmp > 0 ) $detailpage = $tmp; if (isset($params['detailpage'])) { $manager = $gCms->GetHierarchyManager(); $node = $manager->sureGetNodeByAlias(trim($params['detailpage'])); if (isset($node)) { $detailpage = $node->getID(); } else { $node = $manager->sureGetNodeById($params['detailpage']); if (isset($node)) $detailpage = $params['detailpage']; } $params['detailpage'] = $detailpage; } if (isset($params['browsecat']) && $params['browsecat']==1) { $this->DoAction('browsecat', $id, $params, $returnid); return; } $entryarray = array(); $query1 = " SELECT SQL_CALC_FOUND_ROWS mn.*, mnc.news_category_name, mnc.long_name, u.username, u.first_name, u.last_name FROM " .CMS_DB_PREFIX . "module_news mn LEFT OUTER JOIN " . CMS_DB_PREFIX . "module_news_categories mnc ON mnc.news_category_id = mn.news_category_id LEFT OUTER JOIN " . CMS_DB_PREFIX . "users u ON u.user_id = mn.author_id WHERE status = 'published' AND "; if( isset($params['idlist']) ) { $tmp = cleanValue(trim($params['idlist'])); $tmp = explode(',', $tmp); $idlist = []; for( $i = 0; $i < count($tmp); $i++ ) { $val = (int)$tmp[$i]; if( $val > 0 && !in_array($val,$idlist) ) $idlist[] = $val; } if( !empty($idlist) ) $query1 .= ' (mn.news_id IN ('.implode(',',$idlist).')) AND '; } if( isset($params['category_id']) ) { $query1 .= " ( mnc.news_category_id = '".(int)$params['category_id']."' ) AND "; } else if (isset($params["category"]) && $params["category"] != '') { $category = cms_html_entity_decode(trim($params['category'])); $categories = explode(',', $category); $query1 .= " ("; $count = 0; foreach ($categories as $onecat) { if ($count > 0) $query1 .= ' OR '; $onecat = trim($onecat); if (strpos($onecat, '|') !== FALSE || strpos($onecat, '*') !== FALSE) { $tmp = $db->qstr(trim(str_replace('*', '%', str_replace("'",'_',$onecat)))); $query1 .= "upper(mnc.long_name) like upper({$tmp})"; } else { $tmp = $db->qstr(trim(str_replace("'",'_',$onecat))); $query1 .= "mnc.news_category_name = {$tmp}"; } $count++; } $query1 .= ") AND "; } if( isset($params['showall']) ) { // show everything irrespective of end date. $query1 .= 'IF(start_time IS NULL,news_date <= NOW(),start_time <= NOW())'; } else { // we're concerned about start time, end time, and news_date if( isset($params['showarchive']) ) { // show only expired entries. $query1 .= 'IF(end_time IS NULL,0,end_time < NOw())'; } else { $query1 .= 'IF(start_time IS NULL AND end_time IS NULL,news_date <= NOW(),NOw() BETWEEN start_time AND end_time)'; } } $sortrandom = false; $sortby = trim(get_parameter_value($params,'sortby','news_date')); switch( $sortby ) { case 'news_category': if (isset($params['sortasc']) && (strtolower($params['sortasc']) == 'true')) { $query1 .= "ORDER BY mnc.long_name ASC, mn.news_date "; } else { $query1 .= "ORDER BY mnc.long_name DESC, mn.news_date "; } break; case 'random': $query1 .= "ORDER BY RAND() "; $sortrandom = true; break; case 'summary': case 'news_data': case 'news_category': case 'news_title': case 'end_time': case 'start_time': case 'news_extra': $query1 .= "ORDER BY mn.$sortby "; break; default: $query1 .= "ORDER BY mn.news_date "; break; } if( $sortrandom == false ) { if (isset($params['sortasc']) && (strtolower($params['sortasc']) == 'true')) { $query1 .= "asc"; } else { $query1 .= "desc"; } } $pagelimit = 1000; if( isset( $params['pagelimit'] ) ) { $pagelimit = (int) ($params['pagelimit']); } else if( isset( $params['number'] ) ) { $pagelimit = (int) ($params['number']); } $pagelimit = max(1,min(1000,$pagelimit)); // maximum of 1000 entries. // Get the number of rows (so we can determine the numer of pages) $pagecount = -1; $startelement = 0; $pagenumber = 1; if( isset( $params['pagenumber'] ) && $params['pagenumber'] != '' ) { // if given a page number, determine a start element $pagenumber = (int)$params['pagenumber']; $startelement = ($pagenumber-1) * $pagelimit; } if( isset( $params['start'] ) ) { // given a start element, determine a page number $startelement = $startelement + (int)$params['start']; } $dbresult = $db->SelectLimit( $query1, $pagelimit, $startelement ); $count = (int) $db->GetOne('SELECT FOUND_ROWS()'); { // determine a number of pages if( isset( $params['start'] ) ) $count -= (int)$params['start']; $pagecount = (int)($count / $pagelimit); if( ($count % $pagelimit) != 0 ) $pagecount++; } // Assign some pagination variables to smarty if( $pagenumber == 1 ) { $tpl_ob->assign('prevpage',$this->Lang('prevpage')); $tpl_ob->assign('firstpage',$this->Lang('firstpage')); } else { $params['pagenumber']=$pagenumber-1; $tpl_ob->assign('prevpage',$this->CreateFrontendLink($id,$returnid,'default',$this->Lang('prevpage'),$params)); $tpl_ob->assign('prevurl',$this->CreateFrontendLink($id,$returnid,'default','',$params, '', true)); $params['pagenumber']=1; $tpl_ob->assign('firstpage',$this->CreateFrontendLink($id,$returnid,'default',$this->Lang('firstpage'),$params)); $tpl_ob->assign('firsturl',$this->CreateFrontendLink($id,$returnid,'default','',$params, '', true)); } if( $pagenumber >= $pagecount ) { $tpl_ob->assign('nextpage',$this->Lang('nextpage')); $tpl_ob->assign('lastpage',$this->Lang('lastpage')); } else { $params['pagenumber']=$pagenumber+1; $tpl_ob->assign('nextpage',$this->CreateFrontendLink($id,$returnid,'default',$this->Lang('nextpage'),$params)); $tpl_ob->assign('nexturl',$this->CreateFrontendLink($id,$returnid,'default','',$params, '', true)); $params['pagenumber']=$pagecount; $tpl_ob->assign('lastpage',$this->CreateFrontendLink($id,$returnid,'default',$this->Lang('lastpage'),$params)); $tpl_ob->assign('lasturl',$this->CreateFrontendLink($id,$returnid,'default','',$params, '', true)); } $tpl_ob->assign('pagenumber',$pagenumber); $tpl_ob->assign('pagecount',$pagecount); $tpl_ob->assign('oftext',$this->Lang('prompt_of')); $tpl_ob->assign('pagetext',$this->Lang('prompt_page')); if( is_object($dbresult) ) { // build a list of news id's so we can preload stuff from other tables. $result_ids = array(); while( $dbresult && !$dbresult->EOF ) { $result_ids[] = $dbresult->fields['news_id']; $dbresult->MoveNext(); } $dbresult->MoveFirst(); news_ops::preloadFieldData($result_ids); while( $dbresult && !$dbresult->EOF ) { $row = $dbresult->fields; $onerow = new stdClass(); $onerow->author_id = $row['author_id']; if( $onerow->author_id > 0 ) { $onerow->author = $row['username']; $onerow->authorname = trim($row['first_name'].' '.$row['last_name']); } else if( $onerow->author_id == 0 ) { $onerow->author = $this->Lang('anonymous'); $onerow->authorname = $this->Lang('unknown'); } else { $feu = $this->GetModuleInstance('FrontEndUsers'); if( $feu ) { $uinfo = $feu->GetUserInfo($onerow->author_id * -1); if( $uinfo[0] ) $onerow->author = $uinfo[1]['username']; } } $onerow->id = $row['news_id']; $onerow->title = $row['news_title']; $onerow->content = $row['news_data']; $onerow->summary = (trim((string)$row['summary'])!='
'?$row['summary']:''); if( FALSE == empty($row['news_extra']) ) $onerow->extra = $row['news_extra']; $onerow->postdate = $row['news_date']; $onerow->startdate = $row['start_time']; $onerow->enddate = $row['end_time']; $onerow->create_date = $row['create_date']; $onerow->modified_date = $row['modified_date']; $onerow->category = $row['news_category_name']; // // Handle the custom fields // $onerow->fields = news_ops::get_fields($row['news_id'],TRUE); $onerow->fieldsbyname = $onerow->fields; // dumb, I know. $onerow->file_location = $gCms->config['uploads_url'].'/news/id'.$row['news_id']; $moretext = isset($params['moretext'])?trim($params['moretext']):$this->Lang('more'); $sendtodetail = array('articleid'=>$row['news_id']); if (isset($params['showall'])) $sendtodetail['showall'] = $params['showall']; if (isset($params['detailpage'])) $sendtodetail['origid'] = $returnid; if (isset($params['detailtemplate'])) $sendtodetail['detailtemplate'] = $params['detailtemplate']; $prettyurl = $row['news_url']; if( $prettyurl == '' ) { $aliased_title = munge_string_to_url($row['news_title']); $prettyurl = 'news/'.$row['news_id'].'/'.($detailpage!=''?$detailpage:$returnid)."/$aliased_title"; if (isset($sendtodetail['detailtemplate'])) $prettyurl .= '/d,' . $sendtodetail['detailtemplate']; } if (isset($params['lang'])) $sendtodetail['lang'] = trim($params['lang']); if (isset($params['category_id'])) $sendtodetail['category_id'] = (int)$params['category_id']; if (isset($params['pagelimit'])) $sendtodetail['pagelimit'] = (int)$params['pagelimit']; $onerow->detail_url = $this->create_url( $id, 'detail', $detailpage!=''?$detailpage:$returnid, $sendtodetail ); $onerow->link = $this->CreateLink($id, 'detail', $detailpage!=''?$detailpage:$returnid, '', $sendtodetail,'', true, false, '', true, $prettyurl); $onerow->titlelink = $this->CreateLink($id, 'detail', $detailpage!=''?$detailpage:$returnid, $row['news_title'], $sendtodetail, '', false, false, '', true, $prettyurl); $onerow->morelink = $this->CreateLink($id, 'detail', $detailpage!=''?$detailpage:$returnid, $moretext, $sendtodetail, '', false, false, '', true, $prettyurl); $onerow->moreurl = $this->CreateLink($id, 'detail', $detailpage!=''?$detailpage:$returnid, $moretext, $sendtodetail, '', true, false, '', true, $prettyurl); $entryarray[]= $onerow; $dbresult->MoveNext(); } } // if $tpl_ob->assign('itemcount', count($entryarray)); $tpl_ob->assign('items', $entryarray); $tpl_ob->assign('category_label', $this->Lang('category_label')); $tpl_ob->assign('author_label', $this->Lang('author_label')); foreach( $params as $key => $value ) { if( $key == 'mact' || $key == 'action' ) continue; $tpl_ob->assign('param_'.$key,$value); } unset($params['pagenumber']); $items = news_ops::get_categories($id,$params,$returnid); $catName = ''; if (isset($params['category'])) { $catName = $params['category']; } else if (isset($params['category_id'])) { if( isset($items) && count($items) ) { foreach( $items as $item ) { if( $item['news_category_id'] == $params['category_id'] ) { $catName = $item['news_category_name']; break; } } } //$catName = $db->GetOne('SELECT news_category_name FROM '.CMS_DB_PREFIX . 'module_news_categories where news_category_id=?',array($params['category_id'])); } $tpl_ob->assign('category_name',$catName); $count = isset($items) ? count($items) : '0'; $tpl_ob->assign('count', $count); $tpl_ob->assign('cats', $items); } // Display template $tpl_ob->display(); CheckPermission('Modify News') ) return; include(dirname(__FILE__).'/function.admin_articlestab.php'); ?> DoAction('detail', $id, $params, $returnid); ?> CheckPermission('Delete News')) { echo $this->ShowErrors($this->Lang('needpermission', array('Modify News'))); return; } $articleid = ''; if (isset($params['articleid'])) { $articleid = $params['articleid']; } news_admin_ops::delete_article($articleid); $params = array('tab_message'=> 'articledeleted', 'active_tab' => 'articles'); $this->Redirect($id, 'defaultadmin', $returnid, $params); ?> CheckPermission('Modify Site Preferences')) return; $catid = ''; if (isset($params['catid'])) $catid = $params['catid']; // Get the category details $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_categories WHERE news_category_id = ?'; $row = $db->GetRow( $query, array( $catid ) ); //Reset all categories using this parent to have no parent (-1) $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET parent_id=?, modified_date='.$db->DBTimeStamp(time()).' WHERE parent_id=?'; $db->Execute($query, array(-1, $catid)); //Now remove the category $query = "DELETE FROM ".CMS_DB_PREFIX."module_news_categories WHERE news_category_id = ?"; $db->Execute($query, array($catid)); //And remove it from any articles $query = "UPDATE ".CMS_DB_PREFIX."module_news SET news_category_id = -1 WHERE news_category_id = ?"; $db->Execute($query, array($catid)); \CMSMS\HookManager::do_hook('News::NewsCategoryDeleted', [ 'category_id'=>$catid, 'name'=>$row['news_category_name'] ] ); audit($catid, 'News category: '.$catid, ' Category deleted'); news_admin_ops::UpdateHierarchyPositions(); $params = array('tab_message'=> 'categorydeleted', 'active_tab' => 'categories'); $this->Setmessage($this->Lang('categorydeleted')); $this->RedirectToAdminTab('categories','','admin_settings'); GetName(),'No default summary template found'); return; } $template = $tpl->get_name(); } if( $id == '_preview_' && isset($_SESSION['news_preview']) && isset($params['preview']) ) { // see if our data matches. if( md5(serialize($_SESSION['news_preview'])) == $params['preview'] ) { $fname = TMP_CACHE_LOCATION.'/'.$_SESSION['news_preview']['fname']; if( file_exists($fname) && (md5_file($fname) == $_SESSION['news_preview']['checksum']) ) { $data = unserialize(file_get_contents($fname)); if( is_array($data) ) { // get passed data into a standard format. $article = new news_article; $article->set_linkdata($id,$params); news_ops::fill_article_from_formparams($article,$data,FALSE,FALSE); $compile_id = 'news_preview_'.time(); $preview = TRUE; } } } } $tpl_ob = $smarty->CreateTemplate($this->GetTemplateResource($template),$cache_id,$compile_id,$smarty); if( $preview || !$tpl_ob->IsCached() ) { // not cached... have to do to the work. if( isset($params['articleid']) && $params['articleid'] == -1 ) { $article = news_ops::get_latest_article(); } else if( isset($params['articleid']) && (int)$params['articleid'] > 0 ) { $show_expired = $this->GetPreference('expired_viewable',1); if( isset($params['showall']) ) $show_expired = 1; $article = news_ops::get_article_by_id((int)$params['articleid'],TRUE,$show_expired); } if( !$article ) { throw new CmsError404Exception('Article '.(int)$params['articleid'].' not found, or otherwise unavailable'); return; } $article->set_linkdata($id,$params); $return_url = $this->CreateReturnLink($id, isset($params['origid'])?(int)$params['origid']:$returnid, $this->lang('news_return')); $tpl_ob->assign('return_url', $return_url); $tpl_ob->assign('entry', $article); $catName = ''; if (isset($params['category_id'])) { $catName = $db->GetOne('SELECT news_category_name FROM '.CMS_DB_PREFIX . 'module_news_categories where news_category_id=?',array((int)$params['category_id'])); } $tpl_ob->assign('category_name',$catName); unset($params['article_id']); $tpl_ob->assign('category_link',$this->CreateLink($id, 'default', $returnid, $catName, $params)); $tpl_ob->assign('category_label', $this->Lang('category_label')); $tpl_ob->assign('author_label', $this->Lang('author_label')); $tpl_ob->assign('extra_label', $this->Lang('extra_label')); } //Display template $tpl_ob->display(); ?> CheckPermission('Modify News')) return; if (isset($params['cancel'])) $this->Redirect($id, 'defaultadmin', $returnid); /*-------------------- * Variables ---------------------*/ if ($this->CheckPermission('Approve News')) $status = 'published'; $status = 'draft'; $postdate = time(); $startdate = time(); $enddate = strtotime('+6 months', time()); $articleid = isset($params['articleid']) ? $params['articleid'] : ''; $content = isset($params['content']) ? $params['content'] : ''; $summary = isset($params['summary']) ? $params['summary'] : ''; $news_url = isset($params['news_url']) ? $params['news_url'] : ''; $usedcategory = isset($params['category']) ? $params['category'] : ''; $author_id = isset($params['author_id']) ? $params['author_id'] : '-1'; $useexp = isset($params['useexp']) ? 1: 0; $extra = isset($params['extra']) ? trim(strip_tags($params['extra'])) : ''; $searchable = isset($params['searchable']) ? (int)$params['searchable'] : 1; $title = isset($params['title']) ? trim(strip_tags($params['title'])) : ''; $status = isset($params['status']) ? $params['status'] : $status; if (isset($params['postdate_Month'])) { $postdate = mktime($params['postdate_Hour'], $params['postdate_Minute'], $params['postdate_Second'], $params['postdate_Month'], $params['postdate_Day'], $params['postdate_Year']); } if (isset($params['startdate_Month'])) { $startdate = mktime($params['startdate_Hour'], $params['startdate_Minute'], $params['startdate_Second'], $params['startdate_Month'], $params['startdate_Day'], $params['startdate_Year']); } if (isset($params['enddate_Month'])) { $enddate = mktime($params['enddate_Hour'], $params['enddate_Minute'], $params['enddate_Second'], $params['enddate_Month'], $params['enddate_Day'], $params['enddate_Year']); } /*-------------------- * Logic ---------------------*/ if (isset($params['submit']) || isset($params['apply'])) { $error = FALSE; if (empty($title)) { $error = $this->Lang('notitlegiven'); } else if (empty($content)) { $error = $this->Lang('nocontentgiven'); } else if ($useexp == 1) { if ($startdate >= $enddate) $error = $this->Lang('error_invaliddates'); } $startdatestr = NULL; $enddatestr = NULL; if ($useexp != 0) { $startdate = trim($db->DbTimeStamp($startdate), "'"); $enddate = trim($db->DbTimeStamp($enddate), "'"); } if (empty($error) && $news_url != '') { // check for starting or ending slashes if (startswith($news_url, '/') || endswith($news_url, '/')) $error = $this->Lang('error_invalidurl'); if ($error === FALSE) { // check for invalid chars. $translated = munge_string_to_url($news_url, false, true); if (strtolower($translated) != strtolower($news_url)) $error = $this->Lang('error_invalidurl'); } if ($error === FALSE) { // make sure this url isn't taken. cms_route_manager::load_routes(); $route = cms_route_manager::find_match($news_url, TRUE); if ($route) { $dflts = $route->get_defaults(); if ($route['key1'] != $this->GetName() || !isset($dflts['articleid']) || $dflts['articleid'] != $articleid) { // we're adding an article, not editing... any matching route is bad. $error = $this->Lang('error_invalidurl'); } } } } if (!$error) { // // database work // $query = 'UPDATE ' . CMS_DB_PREFIX . 'module_news SET news_title=?, news_data=?, summary=?, status=?, news_date=?, news_category_id=?, start_time=?, end_time=?, modified_date=?, news_extra=?, news_url = ?, searchable = ? WHERE news_id = ?'; if ($useexp == 1) { $db->Execute($query, array( $title, $content, $summary, $status, trim($db->DBTimeStamp($postdate), "'"), $usedcategory, trim($db->DBTimeStamp($startdate), "'"), trim($db->DBTimeStamp($enddate), "'"), trim($db->DBTimeStamp(time()), "'"), $extra, $news_url, $searchable, $articleid )); } else { $db->Execute($query, array( $title, $content, $summary, $status, trim($db->DBTimeStamp($postdate), "'"), $usedcategory, $startdatestr, $enddatestr, trim($db->DBTimeStamp(time()), "'"), $extra, $news_url, $searchable, $articleid )); } // //Update custom fields // // get the field types $qu = "SELECT id,name,type FROM " . CMS_DB_PREFIX . "module_news_fielddefs WHERE type='file'"; $types = $db->GetArray($qu); $error = false; if (is_array($types)) { foreach ($types as $onetype) { $elem = $id . 'customfield_' . $onetype['id']; if (isset($_FILES[$elem]) && $_FILES[$elem]['name'] != '') { if ($_FILES[$elem]['error'] != 0 || $_FILES[$elem]['tmp_name'] == '') { $error = $this->Lang('error_upload'); } else { $error = ''; $value = news_admin_ops::handle_upload($articleid, $elem, $error); $smarty->assign('checking', 'blah'); if ($value !== FALSE) $params['customfield'][$onetype['id']] = $value; } } } // foreach }// if if (isset($params['customfield']) && !$error) { $now = $db->DbTimeStamp(time()); foreach ($params['customfield'] as $fldid => $value) { // first check if it's available $query = "SELECT value FROM " . CMS_DB_PREFIX . "module_news_fieldvals WHERE news_id = ? AND fielddef_id = ?"; $tmp = $db->GetOne($query, array( $articleid, $fldid )); $dbr = true; if ($tmp === false) { if (!empty($value)) { $query = "INSERT INTO " . CMS_DB_PREFIX . "module_news_fieldvals (news_id,fielddef_id,value,create_date,modified_date) VALUES (?,?,?,$now,$now)"; $dbr = $db->Execute($query, array( $articleid, $fldid, $value )); } } else { if (empty($value)) { $query = 'DELETE FROM ' . CMS_DB_PREFIX . 'module_news_fieldvals WHERE news_id = ? AND fielddef_id = ?'; $dbr = $db->Execute($query, array( $articleid, $fldid )); } else { $query = "UPDATE " . CMS_DB_PREFIX . "module_news_fieldvals SET value = ?, modified_date = $now WHERE news_id = ? AND fielddef_id = ?"; $dbr = $db->Execute($query, array( $value, $articleid, $fldid )); } } if (!$dbr) die('FATAL SQL ERROR: ' . $db->ErrorMsg() . '
QUERY: ' . $db->sql); } } } if (isset($params['delete_customfield']) && is_array($params['delete_customfield']) && !$error) { foreach ($params['delete_customfield'] as $k => $v) { if ($v != 'delete') continue; $query = 'DELETE FROM ' . CMS_DB_PREFIX . 'module_news_fieldvals WHERE news_id = ? AND fielddef_id = ?'; $db->Execute($query, array( $articleid, $k )); } } if (!$error && $status == 'published' && $news_url != '') { news_admin_ops::delete_static_route($articleid); news_admin_ops::register_static_route($news_url, $articleid); } //Update search index if (!$error) { $module = cms_utils::get_search_module(); if (is_object($module)) { if ($status == 'draft' || !$searchable) { $module->DeleteWords($this->GetName(), $articleid, 'article'); } else { if (!$useexp || ($enddate > time()) || $this->GetPreference('expired_searchable', 1) == 1) { $text = ''; } if (isset($params['customfield'])) { foreach ($params['customfield'] as $fldid => $value) { if (strlen($value) > 1) $text .= $value . ' '; } } $text .= $content . ' ' . $summary . ' ' . $title . ' ' . $title; $module->AddWords($this->GetName(), $articleid, 'article', $text, ($useexp == 1 && $this->GetPreference('expired_searchable', 0) == 0) ? $enddate : NULL); } } \CMSMS\HookManager::do_hook('News::NewsArticleEdited', array( 'news_id' => $articleid, 'category_id' => $usedcategory, 'title' => $title, 'content' => $content, 'summary' => $summary, 'status' => $status, 'start_time' => $startdate, 'end_time' => $enddate, 'post_time' => $postdate, 'extra' => $extra, 'useexp' => $useexp, 'news_url' => $news_url )); // put mention into the admin log audit($articleid, 'News: ' . $title, 'Article edited'); }// if no error. if (isset($params['apply']) && isset($params['ajax'])) { $response = ''; if ($error != '') { $response .= 'Error'; $response .= '
'; } else { $response .= 'Success'; $response .= '
Lang('articleupdated') . ']]>
'; } $response .= '
'; echo $response; return; } if (!isset($params['apply']) && !$error) { // redirect out of here. $this->SetMessage($this->Lang('articlesubmitted')); $this->Redirect($id, 'defaultadmin', $returnid); return; } if ($error) echo $this->ShowErrors($error); // end submit or apply } elseif (isset($params['preview'])) { // save data for preview. unset($params['apply']); unset($params['preview']); unset($params['submit']); unset($params['cancel']); unset($params['ajax']); $tmpfname = tempnam(TMP_CACHE_LOCATION, $this->GetName() . '_preview'); file_put_contents($tmpfname, serialize($params)); $detail_returnid = $this->GetPreference('detail_returnid', -1); if ($detail_returnid <= 0) $detail_returnid = ContentOperations::get_instance()->GetDefaultContent(); if (isset($params['previewpage']) && (int)$params['previewpage'] > 0) $detail_returnid = (int)$params['previewpage']; $_SESSION['news_preview'] = array( 'fname' => basename($tmpfname), 'checksum' => md5_file($tmpfname) ); $tparms = array('preview' => md5(serialize($_SESSION['news_preview']))); if (isset($params['detailtemplate'])) $tparms['detailtemplate'] = trim($params['detailtemplate']); $url = $this->create_url('_preview_', 'detail', $detail_returnid, $tparms, TRUE); $response = ''; $response .= ''; if (isset($error) && $error != '') { $response .= 'Error'; $response .= '
'; } else { $response .= 'Success'; $response .= '
'; } $response .= '
'; $handlers = ob_list_handlers(); for ($cnt = 0; $cnt < sizeof($handlers); $cnt++) { ob_end_clean(); } header('Content-Type: text/xml'); echo $response; exit ; } else { // // Load data from database // $query = 'SELECT * FROM ' . CMS_DB_PREFIX . 'module_news WHERE news_id = ?'; $row = $db->GetRow($query, array($articleid)); if ($row) { $title = $row['news_title']; $content = $row['news_data']; $extra = $row['news_extra']; $summary = $row['summary']; $news_url = $row['news_url']; $status = $row['status']; $usedcategory = $row['news_category_id']; $postdate = $db->UnixTimeStamp($row['news_date']); $startdate = $db->UnixTimeStamp($row['start_time']); $author_id = $row['author_id']; $searchable = $row['searchable']; $useexp = 0; if (isset($row['end_time'])) { $useexp = 1; $enddate = $db->UnixTimeStamp($row['end_time']); } } } $statusdropdown = array(); $statusdropdown[$this->Lang('draft')] = 'draft'; $statusdropdown[$this->Lang('published')] = 'published'; $categorylist = array(); $query = "SELECT * FROM " . CMS_DB_PREFIX . "module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['long_name']] = $row['news_category_id']; } /*-------------------- * Custom fields logic ---------------------*/ // Get the field values $fieldvals = array(); $query = 'SELECT * FROM ' . CMS_DB_PREFIX . 'module_news_fieldvals WHERE news_id = ?'; $tmp = $db->GetArray($query, array($articleid)); if (is_array($tmp)) { foreach ($tmp as $one) { $fieldvals[$one['fielddef_id']] = $one; } } $query = 'SELECT * FROM ' . CMS_DB_PREFIX . 'module_news_fielddefs ORDER BY item_order'; $dbr = $db->Execute($query); $custom_flds = array(); while ($dbr && ($row = $dbr->FetchRow())) { if (isset($row['extra']) && $row['extra']) $row['extra'] = unserialize($row['extra']); $options = null; if (isset($row['extra']['options'])) $options = $row['extra']['options']; $value = ''; if (isset($fieldvals[$row['id']])) $value = $fieldvals[$row['id']]['value']; $value = isset($params['customfield'][$row['id']]) && in_array($params['customfield'][$row['id']], $params['customfield']) ? $params['customfield'][$row['id']] : $value; if ($row['type'] == 'file') { $name = "customfield_" . $row['id']; } else { $name = "customfield[" . $row['id'] . "]"; } $obj = new StdClass(); $obj->value = $value; $obj->nameattr = $id . $name; $obj->type = $row['type']; $obj->idattr = 'customfield_' . $row['id']; $obj->prompt = $row['name']; $obj->size = min(80, $row['max_length']); $obj->max_len = max(1, (int)$row['max_length']); $obj->delete = $id . 'delete_customfield[' . $row['id'] . ']'; $obj->options = $options; // FIXME - If we create inputs with hmtl markup in smarty template, whats the use of switch and form API here? /* switch( $row['type'] ) { case 'textbox' : $size = min(50, $row['max_length']); $obj->field = $this->CreateInputText($id, $name, $value, $size, $row['max_length']); break; case 'checkbox' : $obj->field = $this->CreateInputHidden($id, $name, 0) . $this->CreateInputCheckbox($id, $name, 1, (int)$value); break; case 'textarea' : $obj->field = $this->CreateTextArea(true, $id, $value, $name); break; case 'file' : $del = ''; if ($value != '') { $deln = 'delete_customfield[' . $row['id'] . ']'; $del = ' ' . $this->Lang('delete') . $this->CreateInputCheckbox($id, $deln, 'delete'); } $obj->field = $value . ' ' . $this->CreateFileUploadInput($id, $name) . $del; break; case 'dropdown' : $obj->field = $this->CreateInputDropdown($id, $name, array_flip($options), -1, $value); break; } */ $custom_flds[$row['name']] = $obj; } /*-------------------- * Pass everything to smarty ---------------------*/ if ($author_id > 0) { $userops = $gCms->GetUserOperations(); $theuser = $userops->LoadUserById($author_id); $smarty->assign('inputauthor', $theuser->username); } else if ($author_id == 0) { $smarty->assign('inputauthor', $this->Lang('anonymous')); } else { $feu = $this->GetModuleInstance('FrontEndUsers'); if ($feu) { $uinfo = $feu->GetUserInfo($author_id * -1); if ($uinfo[0]) $smarty->assign('inputauthor', $uinfo[1]['username']); } } $smarty->assign('formid', $id); $smarty->assign('startform', $this->CreateFormStart($id, 'editarticle', $returnid, 'POST', 'multipart/form-data')); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('hide_summary_field', $this->GetPreference('hide_summary_field', '0')); $smarty->assign('authortext', $this->Lang('author')); $smarty->assign('articleid', $articleid); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('searchable', $searchable); $smarty->assign('extratext', $this->Lang('extra')); $smarty->assign('extra', $extra); $smarty->assign('urltext', $this->Lang('url')); $smarty->assign('news_url', $news_url); $smarty->assign('title', $title); $smarty->assign('inputcontent', $this->CreateTextArea(true, $id, $content, 'content')); $smarty->assign('inputsummary', $this->CreateTextArea($this->GetPreference('allow_summary_wysiwyg', 1), $id, $summary, 'summary', '', '', '', '', '80', '3')); $smarty->assign('useexp', $useexp); $smarty->assign('actionid', $id); $smarty->assign('inputexp', $this->CreateInputCheckbox($id, 'useexp', '1', $useexp, 'class="pagecheckbox"')); $smarty->assign('postdate', $postdate); $smarty->assign('postdateprefix', $id . 'postdate_'); $smarty->assign('startdate', $startdate); $smarty->assign('startdateprefix', $id . 'startdate_'); $smarty->assign('enddate', $enddate); $smarty->assign('enddateprefix', $id . 'enddate_'); $smarty->assign('status', $status); $smarty->assign('categorylist', array_flip($categorylist)); $smarty->assign('category', $usedcategory); $smarty->assign('hidden', $this->CreateInputHidden($id, 'articleid', $articleid) . $this->CreateInputHidden($id, 'author_id', $author_id)); $smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit'))); $smarty->assign('apply', $this->CreateInputSubmit($id, 'apply', lang('apply'))); $smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel'))); $smarty->assign('delete_field_val', $this->Lang('delete')); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('extratext', $this->Lang('extra')); $smarty->assign('categorytext', $this->Lang('category')); $smarty->assign('summarytext', $this->Lang('summary')); $smarty->assign('contenttext', $this->Lang('content')); $smarty->assign('postdatetext', $this->Lang('postdate')); $smarty->assign('useexpirationtext', $this->Lang('useexpiration')); $smarty->assign('startdatetext', $this->Lang('startdate')); $smarty->assign('enddatetext', $this->Lang('enddate')); $smarty->assign('select_option', $this->Lang('select_option')); // tab stuff. $smarty->assign('start_tab_headers', $this->StartTabHeaders()); $smarty->assign('tabheader_article', $this->SetTabHeader('article', $this->Lang('article'))); $smarty->assign('tabheader_preview', $this->SetTabHeader('preview', $this->Lang('preview'))); $smarty->assign('end_tab_headers', $this->EndTabHeaders()); $smarty->assign('start_tab_content', $this->StartTabContent()); $smarty->assign('start_tab_article', $this->StartTab('article', $params)); $smarty->assign('end_tab_article', $this->EndTab()); $smarty->assign('end_tab_content', $this->EndTabContent()); $smarty->assign('warning_preview', $this->Lang('warning_preview')); if ($this->CheckPermission('Approve News')) { $smarty->assign('statustext', lang('status')); $smarty->assign('statuses', array_flip($statusdropdown)); } if (count($custom_flds) > 0) $smarty->assign('custom_fields', $custom_flds); $contentops = cmsms()->GetContentOperations(); $smarty->assign('preview_returnid', $contentops->CreateHierarchyDropdown('', $this->GetPreference('detail_returnid', -1), 'preview_returnid')); // get the list of detail templates. try { $type = CmsLayoutTemplateType::load($this->GetName() . '::detail'); $templates = $type->get_template_list(); $list = array(); if (is_array($templates) && count($templates)) { foreach ($templates as $template) { $list[$template->get_id()] = $template->get_name(); } } if (count($list)) { $smarty->assign('prompt_detail_template', $this->Lang('detail_template')); $smarty->assign('prompt_detail_page', $this->Lang('detail_page')); $smarty->assign('detail_templates', $list); $smarty->assign('cur_detail_template', $this->GetPreference('current_detail_template')); $smarty->assign('start_tab_preview', $this->StartTab('preview', $params)); $smarty->assign('end_tab_preview', $this->EndTab()); } } catch( Exception $e ) { audit('', $this->GetName(), 'No detail templates available for preview'); } // and display the template. echo $this->ProcessTemplate('editarticle.tpl'); CheckPermission('Modify Site Preferences')) return; $this->SetCurrentTab('categories'); if (isset($params['cancel'])) $this->RedirectToAdminTab('','','admin_settings'); $catid = ''; $row = null; $name = ''; $parentid = -1; if( isset($params['catid']) ) { $catid = (int)$params['catid']; $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_categories WHERE news_category_id = ?'; $row = $db->GetRow($query, array($catid)); if( !$row ) { $this->SetError($this->Lang('error_categorynotfound')); $this->RedirectToAdminTab(); } $name = $row['news_category_name']; $parentid = (int)$row['parent_id']; } //$parentid = '-1'; // why reset again? if( isset($params['submit']) ) { $parentid = (int)$params['parent']; $name = trim($params['name']); if( $name == '' ) { echo $this->ShowErrors($this->Lang('nonamegiven')); } else { // its an update. $query = 'SELECT news_category_id FROM '.CMS_DB_PREFIX.'module_news_categories WHERE parent_id = ? AND news_category_name = ? AND news_category_id != ?'; $tmp = $db->GetOne($query,array($parentid,$name,$catid)); if( $tmp ) { echo $this->ShowErrors($this->Lang('error_duplicatename')); } else { if( $parentid == $catid ) { echo $this->ShowErrors($this->Lang('error_categoryparent')); } else if( $parentid != $row['parent_id'] ) { // parent changed // gotta figure out a new item order. $query = 'SELECT max(item_order) FROM '.CMS_DB_PREFIX.'module_news_categories WHERE parent_id = ?'; $maxn = (int)$db->GetOne($query,array($parentid)); $maxn++; $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET item_order = item_order - 1 WHERE parent_id = ? AND item_order > ?'; $db->Execute($query,array($row['parent_id'],$row['item_order'])); $row['item_order'] = $maxn; } $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET news_category_name = ?, item_order = ?, parent_id = ?, modified_date = NOW() WHERE news_category_id = ?'; $parms = array($name,$row['item_order'],$parentid); $parms[] = $catid; $db->Execute($query, $parms); news_admin_ops::UpdateHierarchyPositions(); \CMSMS\HookManager::do_hook('News::NewsCategoryEdited', [ 'category_id'=>$catid, 'name'=>$name, 'origname'=>$origname ] ); // put mention into the admin log audit($catid, 'News category: '.$name, ' Category edited'); $this->SetMessage($this->Lang('categoryupdated')); $this->RedirectToAdminTab('categories','','admin_settings'); } } } #Display template $tmp = news_ops::get_category_list(); $tmp2 = array_flip($tmp); $categories = array(-1=>$this->Lang('none')); foreach( $tmp2 as $k => $v ) { if( $k == $catid ) continue; $categories[$k] = $v; } $parms = array('catid'=>$catid); $smarty->assign('catid',$catid); $smarty->assign('parent',$parentid); $smarty->assign('name',$name); $smarty->assign('categories',$categories); $smarty->assign('startform', $this->CreateFormStart($id, 'editcategory', $returnid, 'post', '', false, '', $parms)); $smarty->assign('endform', $this->CreateFormEnd()); $smarty->assign('nametext', $this->Lang('name')); $smarty->assign('inputname', $this->CreateInputText($id, 'name', $name, 20, 255)); $smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit'))); $smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel'))); $smarty->assign('mod',$this); echo $this->ProcessTemplate('editcategory.tpl'); ?>GetPreference('allow_fesubmit',0) ) return; function __newsCleanHTML($html) { $i = 0; for( $i = 0; $i < 10; $i++ ) { $old = $html; $html = preg_replace('/]*>(.*?)<\/script>/is', "", $html); $html = str_replace('script:','___',$html); if( strcmp($old,$html) == 0 ) break; } return $html; } $title = ''; $extra = ''; $content = ''; $summary = ''; $status = $this->GetPreference('fesubmit_status','draft'); $startdate = time(); $ndays = (int)$this->GetPreference('expiry_interval',180); if( $ndays <= 0 ) $ndays = 180; $enddate = strtotime(sprintf("+%d days",$ndays), time()); $userid = get_userid(false); $category_id = $this->GetPreference('default_category', ''); $do_send_email = false; $do_redirect = false; $template = null; if (isset($params['formtemplate'])) { $template = trim($params['formtemplate']); } else { $tpl = CmsLayoutTemplate::load_dflt_by_type('News::form'); if( !is_object($tpl) ) { audit('',$this->GetName(),'No default form template found'); return; } $template = $tpl->get_name(); } // handle the page to go to after submit. $dest_page = $returnid; $tmp = $this->GetPreference('fesubmit_redirect'); if( !empty($tmp) ) { $manager = $gCms->GetHierarchyManager(); $node = $manager->sureGetNodeByAlias($tmp); if (isset($node)) { $dest_page = $node->getID(); } else { $node = $manager->sureGetNodeById($tmp); if (isset($node)) $dest_page = $tmp; } } if( $userid == '' ) { // not logged in to the admin console // see if we're logged into FEU. $module = $this->GetModuleInstance('FrontEndUsers'); if( $module ) { $userid = $module->LoggedInId(); $userid = $userid * -1; } } if (isset($params['category'])) { $query = 'SELECT news_category_id FROM '.CMS_DB_PREFIX.'module_news_categories WHERE news_category_name = ?'; $tmp = $db->GetOne($query,array($params['category'])); if( $tmp ) $category_id = $tmp; } $tpl_ob = $smarty->CreateTemplate($this->GetTemplateResource($template),null,null,$smarty); $tpl_ob->assign('mod',$this); $tpl_ob->assign('actionid',$id); if( isset( $params['submit'] ) ) { try { if( isset($params['title'] ) ) $title = strip_tags(cms_html_entity_decode(trim($params['title']))); if( isset($params['content']) ) $content = __newsCleanHTML(cms_html_entity_decode(trim($params['content']))); if( isset($params['summary']) ) $summary = __newsCleanHTML(cms_html_entity_decode(trim($params['summary']))); if( isset($params['extra']) ) $extra = strip_tags(cms_html_entity_decode(trim($params['extra']))); if( isset($params['category_id']) ) $category_id = (int)$params['category_id']; if( isset($params['input_category'])) $category_id = (int)$params['input_category']; if (isset($params['startdate_Month'])) { $startdate = mktime((int)$params['startdate_Hour'], (int)$params['startdate_Minute'], (int)$params['startdate_Second'], (int)$params['startdate_Month'], (int)$params['startdate_Day'], (int)$params['startdate_Year']); } if (isset($params['enddate_Month'])) { $enddate = mktime((int)$params['enddate_Hour'], (int)$params['enddate_Minute'], (int)$params['enddate_Second'], (int)$params['enddate_Month'], (int)$params['enddate_Day'], (int)$params['enddate_Year']); } if( $startdate > $enddate ) throw new CmsException($this->Lang('startdatetoolate')); if( $title == '' ) throw new CmsException($this->Lang('notitlegiven')); if( $content == '' ) throw new CmsException($this->Lang('nocontentgiven')); // generate a new article id $articleid = $db->GenID(CMS_DB_PREFIX."module_news_seq"); // test file upload custom fields $qu = "SELECT id,name,type FROM ".CMS_DB_PREFIX."module_news_fielddefs WHERE type='file'"; $fields = $db->GetArray($qu); foreach( $fields as $onefield ) { $elem = $id.'news_customfield_'.$onefield['id']; if( isset($_FILES[$elem]) && $_FILES[$elem]['name'] != '') { if( $_FILES[$elem]['error'] == 0 && $_FILES[$elem]['tmp_name'] != '' ) { $error = ''; $value = news_admin_ops::handle_upload($articleid,$elem,$error); if( $value === FALSE ) throw new CmsException($error); $params['news_customfield_'.$onefield['id']] = $value; } else { // error with upload // abort the whole thing throw new CmsException($this->Lang('error_upload')); } } } // and generate the insert query // note: there's no option for fesubmit wether it's searchable or not. $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news (news_id, news_category_id, news_title, news_data, summary, news_extra, status, news_date, start_time, end_time, create_date, modified_date,author_id,searchable) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; $dbr = $db->Execute($query, array($articleid, $category_id, $title, $content, $summary, $extra, $status, trim($db->DBTimeStamp($startdate), "'"), trim($db->DBTimeStamp($startdate), "'"), trim($db->DBTimeStamp($enddate), "'"), trim($db->DBTimeStamp(time()), "'"), trim($db->DBTimeStamp(time()), "'"), $userid,1)); if( $dbr ) { // handle the custom fields $now = $db->DbTimeStamp(time()); $query = 'INSERT INTO '.CMS_DB_PREFIX."module_news_fieldvals (news_id, fielddef_id, value, create_date, modified_date) VALUES (?,?,?,$now,$now)"; foreach( $params as $key => $value ) { $value = trim($value); if( empty($value) ) continue; if( preg_match('/^news_customfield_/',$key) ) { $field_id = intval(substr($key,17)); $db->Execute($query,array($articleid,$field_id,$value)); } } // should've checked those errors too, but eh, I'm up for the odds. //Update search index $module = cms_utils::get_search_module(); if (is_object($module)) { $module->AddWords($this->GetName(), $articleid, 'article', $content . ' ' . $summary . ' ' . $title . ' ' . $title, $enddate ); } // Send an email $do_send_email = true; $do_redirect = true; // send an event \CMSMS\HookManager::do_hook('News::NewsArticleAdded', array('news_id' => $articleid, 'category_id' => $category_id, 'title' => $title, 'content' => $content, 'summary' => $summary, 'status' => $status, 'start_time' => $startdate, 'end_time' => $enddate, 'useexp' => 1)); // put mention into the admin log audit('', 'News Frontend Submit', 'Article added'); // and we're done $tpl_ob->assign('message',$this->Lang('articleadded')); } } catch( Exception $e ) { $tpl_ob->assign('error',$error); } } // build the category list $categorylist = array(); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['news_category_id']] = $row['long_name']; } // Display template $tpl_ob->assign('category_id',$category_id); $tpl_ob->assign('title',$title); $tpl_ob->assign('categorylist',$categorylist); $tpl_ob->assign('extra',$extra); $tpl_ob->assign('content',$content); $tpl_ob->assign('summary',$summary); $tpl_ob->assign('hide_summary_field',$this->GetPreference('hide_summary_field','0')); $tpl_ob->assign('allow_summary_wysiwyg',$this->GetPreference('allow_summary_wysiwyg',1)); $tpl_ob->assign('startdate', $startdate); $tpl_ob->assign('enddate', $enddate); $tpl_ob->assign('status',$this->CreateInputHidden($id,'status',$status)); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE public = 1 ORDER BY item_order'; $dbr = $db->Execute($query); $customfields = array(); $customfieldsbyname = array(); while( $dbr && ($row = $dbr->FetchRow()) ) { if( $row['type'] == 'linkedfile' ) continue; $obj = new StdClass(); $obj->name = $row['name']; $obj->type = $row['type']; $obj->id = $row['id']; $obj->max_length = $row['max_length']; $key = str_replace(' ','_',strtolower($row['name'])); $customfieldsbyname[$key] = $obj; } if( count($customfieldsbyname) ) $tpl_ob->assign('customfields',$customfieldsbyname); $tpl_ob->display(); if( $do_send_email == true ) { $tpl_ob2 = $smarty->CreateTemplate($this->GetDatabaseResource('email_template')); $tmp_vars = $tpl_ob->get_template_vars(); foreach( $tmp_vars as $key => $val ) { $tpl_ob2->assign($key,$val); } $tmp_vars2 = $tpl_ob2->get_template_vars(); // this needs to be done after the form is generated // because we use some of the same smarty variables $cmsmailer = new cms_mailer; if( $cmsmailer ) { $addy = trim($this->GetPreference('formsubmit_emailaddress')); if( $addy != '' ) { $tpl_ob2->assign('startdate',$startdate); $tpl_ob2->assign('enddate',$enddate); $tpl_ob2->assign('ipaddress',\cms_utils::get_real_ip()); $tpl_ob2->assign('status',$status); if( $title != '' ) $tpl_ob2->assign('title',$title); if( $summary != '' ) $tpl_ob2->assign('summary',$summary); if( $content != '' ) $tpl_ob2->assign('content',$content); $cmsmailer->AddAddress( $addy ); $cmsmailer->SetSubject( $this->GetPreference('email_subject',$this->Lang('subject_newnews'))); $cmsmailer->IsHTML( false ); $body = $tpl_ob2->fetch(); $cmsmailer->SetBody( $body ); $cmsmailer->Send(); } } } if( $do_redirect ) $this->RedirectContent($dest_page); // END OF FILE ?> CheckPermission( 'Modify Site Preferences' ) ) return; $this->SetPreference('default_category', $params['default_category']); $this->SetPreference('formsubmit_emailaddress', $params['formsubmit_emailaddress']); $this->SetPreference('email_subject',trim($params['email_subject'])); $this->SetTemplate('email_template',$params['email_template']); $this->SetPreference('allowed_upload_types', $params['allowed_upload_types']); $this->SetPreference('hide_summary_field', (isset($params['hide_summary_field'])?'1':'0')); $this->SetPreference('allow_summary_wysiwyg', (isset($params['allow_summary_wysiwyg'])?'1':'0')); $this->SetPreference('expired_searchable', (isset($params['expired_searchable'])?'1':'0')); $this->SetPreference('expired_viewable', (isset($params['expired_viewable'])?'1':'0')); $this->SetPreference('expiry_interval', $params['expiry_interval']); $this->SetPreference('fesubmit_status', $params['fesubmit_status']); $this->SetPreference('fesubmit_redirect', trim($params['fesubmit_redirect'])); $this->SetPreference('detail_returnid',(int)$params['detail_returnid']); $this->SetPreference('allow_fesubmit',(int)$params['allow_fesubmit']); $this->SetPreference('alert_drafts',(int)$params['alert_drafts']); $this->CreateStaticRoutes(); $params = array('tab_message'=> 'optionsupdated', 'active_tab' => 'options'); $this->SetMessage($this->Lang('optionsupdated')); $this->RedirectToAdminTab('options','','admin_settings'); ?>
  • Version 2.51.14

    - Fixed BR #12794 - News-fields typo item_orderr;

  • Version: 1.0

    This module is a hacked and extended version of Ted Kulp\'s News module. I simply added another field to the database, and some more code to make that field worl.... I also re-cleaned the code a bit, so it was a little easier to read, other than that, it\'s Ted\'s code.

  • Version: 1.1

    Added the ability to set an automatic expiry date from a pulldown, moved the category selection, and on the main page you now filter the entries you want to see.

  • Version: 1.2

    Added summary, no_anchor and length parameters. In summary mode links are made to the real articles, tags are stripped, and links are insreted to the news page and the specific news item.

  • Version: 1.3

    Minor cosmetic changes

  • Version 1.5

    Merged into the trunk News module

  • Version 1.6

    Added pagination, and moved the add button to the top (calguy)

  • Version 2.0

    Re-written to use smarty templates, and several other significant improvements

  • Version 2.0.1

    Minor tweaks to the RSS output to allow it to work correctly on different browsers, and to support non alpha numeric characters in the description.

  • Version 2.0.2

    - Add a "start" parameter to specify a start offset for news items

    - The template tabs now have a "reset to default" button on them

    - Start menu item is now required, but end date is optional when useexpirydate is on,

    - Change the permissions model significantly, The "Modify News" permission is only for articles and categories. "Modify Templates" permission is required to edit the templates, and "Modify Site Preferences" is required to edit the options.

    - Put the rss feed titile into the lang entries

  • Version 2.0.3

    - Added the ability to track the original author of an article

  • Version 2.2

    - Added browsecat parameter

  • Version 2.3

    - Changed to use multiple database templates Old file templates will not work.

    - Now allow for admin approval to change news state from draft to published.

    - Pagination is now available in the default summary templates

    - More.

  • Version 2.3.0.2

    - Minor fixes to the help, changelog, to the number parameter, and to add a missing CreatePermission call.

    - Fixes to the start parameter to work differently

  • Version 2.4

    - Added a form on the frontend to allow users to submit news articles. This should be wrapped with customcontent to prevent spamming, etc.

    - Fixes to allow 1.0.x compatibility.

    - Updated the help.

  • Version 2.5

    Adds an extra field that can be re-used for anything (associating with a file, an extra image, etc.

  • Version 2.5.1

    Removes a small error I left in a template.

    Moves the default templates into their own tab to remove confusion.

    Use SelectLimit in the summary view instead of the LIMIT n,start or LIMIT n offset startelement

    Bumped minimum version to 1.1

  • Version 2.6

    Adds user defined fields, including text areas, text input, checkboxes, and \'files\' which allows you to associate a file with a particular news article.

    Adds the ability to bulk change the category of selected news articles

    Adds the ability to bulk delete selected news articles

    Adds a new permission \'Delete News\'. Users will need this permission to be able to delete news articles.

    Fixes some frontend editing capabilities (extra fields aren\'t in there yet)

    Adds a preference to allow hiding the summary text area for adding and editing articles.

    Remove the news content type (was deprecated in News 2.5.1)

    Now Requires CMS 1.2 or later

    Fixes some hardcoded lang strings in the articles tab

    Adds a preference that allows specifying the default number of days before an article expires (if expiry is used)

    Fixes the browsecat mode so that extra parameters added on the tag are carried down through the links

    Adds multiple database templates to the browsecat action.

  • Version 2.6.1

    Now use cms_move_uploaded_file instead of move_uploaded_file.

    Fixes a minor issue with the start parameter.

    Now Require CMS 1.2.1 or later

    Fixes an issue where I was assuming that the db prefix was cms_

    Fixes some warnings if no custom fields were defined.

    Fixes some calls to GetModuleInstance().

  • Version 2.6.2

    Decode entities for the template name when editing a template

    Fix an issue with warnings if no custom fields are defined

  • Version 2.7

    Fixes to news fesubmit and html entities

    Adds an optional dropdown category box for fesubmit

    Adds a preference indicating to disable the wysiwyg for the summary view

    Adds a preference to determine which page to redirect to after fesubmit

    Fixes to author id and author management wrt frontend submitted articles

    Adds a preference to allow defining a landing page for links generated in the rss feed

    Updates the pretty urls in the rss feed

    A slight tweak to the rssfeed.tpl to use the feed title.

    Adds custom field support to the frontend submit form

  • Version 2.8

    Now require CMS 1.3-beta1 at least

    Now use cms_html_entity_decode to ensure php4 compatibility

    Support the extra field in the fesubmit form

    Add fieldsbyname values to detail and summary reports

    Fix minor issue with missing table prefix when deleting a category

    Fix browsecat if there are one or more child categories with the same name

    Cleanup and some minor bug fixes

  • Version 2.8.1

    Fixes a minor problem with custom fields.

    Fixes a minor problem with sorting by news_extra.

  • Version 2.8.2

    Fixes a minor problem with registered routes

  • Version 2.8.3

    Fixes a minor problem with fesubmit redirect actions

  • Version 2.9

    Adds notification output

    Adds prevpage and nextpage url variables in the summary view.

    Get rid of the dateformat parameter and preference.

    Remove any and all RSS code

    Add support for syntax hilighter when editing templates.

    Bug fixes

  • Version 2.9.2

    Add the showall parameter.

    Minor cleanup to parameters.

    Add a new preference to allow showing expired articles in search results. If you plan on using this parameter, you may need to re-index all search content.

  • Version 2.9.3

    Fix help wrt the number and pagelimit parameters.

    Add the articleid=-1 capability to the detail view.

    No longer add empty values for empty extra fields submitted via the fesubmit action.

    Add keys to the fieldvals table.

    Fix problem with draft articles being searchable.

  • Version 2.9.4

    Hide the expiry date stuff when adding/editing an article, unless use expiry date is checked.

    Add create date and modified date to be available in the summary template (usefull for rss feeds in cgfeedmakr).

    Fix problem with browsecat counting non published articles.

  • Version 2.10

    Numerous bug fixes and minor enhancements.

  • Version 2.10.1

    Fix minor warning.

  • Version 2.10.2

    Fix minor permission related template issues.

  • Version 2.10.3

    Fix minor template issue.

  • Version 2.10.4

    Minor bug fixes.

  • Version 2.10.5

    Minor bug fixes.

  • Version 2.11.1

    bug fix to #5861 ... a fix to the custom field on error.

  • Version 2.11.2

    Fix pretty urls for search results.

    Fix canonical url in detail view.

  • >Version 2.12
    • Major re-structuring takes place. Involves oopifying much of the code for the summary and detail views.
    • The objects provided in the summary and detail views are now not simple objects, but smart ones. Read the information in system default detail template for more information.
    • Optimization of code to minimize queries and improve performance.
    • Removes field alieses i,e.: \$entry->fieldname in the summary and detail views as it was an incomplete, problematic solution.
    • The \$entry->fields and \$entry->customfieldsbyname hash are now merged into \$entry->fields. This may cause some problems with upgrading.
    • Adds support for preview when adding or editing a news article.
    • Adds support for a user selectable search module.
    • Removes print actions.
    • Many more changes.
  • Version 2.12.9
    • Now send event when when status is changed in admin panel.
    • News fesubmit documented as deprecated.
    • Added the showall preference to prevent throwing an exception when viewing expired articles in detail view and the showall param
  • Version 2.14
    • Enhancements to the news_field class.
    • Adds the idlist parameter.
    • Security fix.

Browse category template help

Assigned Variables

  • cats (array) - A flat array of records (each record is itself an array) that contains information about that category.

    Record Details:

    • news_category_id (int) - The numeric id of this category.
    • news_category_name (string) - The name of this category.
    • parent_id (int) - The numeric id of this category's parent. A value less than one indicates no parent.
    • item_order (int) - A numeric representation of this category's order amongst its peers.
    • index (int) - An increasing index of the current category information.
    • count (int) - The number of valid, displayable articles in this category.
    • url (string) - A URL that will generate a summary view of all of the valid, displayable articles in this category.

News module entry object reference:

The News module's detail view exports the following variables:

  • $entry - A simple object that contains information about the one entry.
  • $category_name - (string) the category name for the category that this article belongs to.
  • $category_link - (string) (deprecated) A link to a summary view for articles in this category.

$entry Object Reference

  • id (integer) - The unique article id.
  • author_id (integer) - The userid of the author who created the article. This value may be negative to indicate an FEU userid.
  • title (string) - The title of the article.
  • summary (text) - The summary text (may be empty or unset).
  • extra (string) = The "extra" data associated with the article (may be empty or unset).
  • news_url (string) = The url segment associated with this article (may be empty or unset).
  • postdate (string) = A string representing the news article post date. You may filter this through cms_date_format for different display possibilities.
  • startdate (string) = A string representing the date the article should begin to appear. (may be empty or unset).
  • enddate (string) = A string representing the date the article should stop appearing on the site (may be empty or unset).
  • category_id (integer) = The unique id of the hierarchy level where this article resides (may be empty or unset)
  • status (string) = either 'draft' or 'published' indicating the status of this article.
  • author (string) = The username of the original author of the article. If the article was created by frontend submission, this will attempt to retrieve the username from the FEU module.
  • authorname (string) = The full name of the original author of the website. Only applicable if article was created by an administrator and that information exists in the administrators profile.
  • category (string) = The name of the category that this article is associated with.
  • canonical (string) = A full URL (prettified) to this articles detail view using defaults if necessary.
  • fields (associative) = An associative array of field objects, representing the fields, and their values for this article. See the information below on the field object definition. In past versions of News this was a simple array, now it is an associative one.
  • customfieldsbyname = (deprecated) - A synonym for the 'fields' member
  • fieldsbyname = (deprecated) - A synonym for the 'fields' member
  • useexp (integer) = A flag indicating wether this article is using the expiry information.
  • file_location (string) = A url containing the location where files attached the article are stored... the field value should be appended to this url.

Members can be displayed by the following syntax: {$entry->membername} or assigned to another smarty variable using {assign var='foo' value=$entry->membername}.

The following members are available in the entry array:

field Object Reference

The news_field object contains data about the fields and their values that are associated with a particular news article.

  • id (integer) = The id of the field definition
  • name (string) = The name of the field
  • type (string) = The type of field
  • max_length (integer) = The maximum length of the field (applicable only to text fields)
  • item_order (integer) = The order of the field
  • public (integer) = A flag indicating wether the field is public or not
  • value (mixed) = The value of the field.

News form template help

Templates of this type are used by the fesubmit action of the News module. Note: This action is deprecated.

Assigned Variables

  • mod (News) - A reference to the News module object.
  • actionid (string) - The action identifier string.
  • message (string) - After submission, this variable will contain a message to display to the user.
  • error (string) - After submission, this variable will contain any error message regarding the form submission.
  • category_id (int) - The category id of the selected category (if any).
  • title (string) - The user entered article title. This will be empty until after form submission.
  • categorylist (array) - An array of category id's and names. Suitable for use in a select list.
  • extra (string) - The user entered extra string. This will be empty until after form submission.
  • content (string) - The user entered HTML content. This will be empty until after form submission.
  • summary (string) - The user entered article summary. This will be empty until after form submission.
  • hide_summary (bool) - Whether or not the summary field should be hidden.
  • allow_summary_wysiwyg (bool) - Whether or not to allow the summary field to be a WYSIWYG.
  • startdate (int) - The unix timestamp of the user entered start time, if any.
  • enddate (int) - The unix timestamp of the user entered end time, if any.
  • status (string - The status of the entered article.
  • customfields (array of objects) - An array of simple objects that describe the custom fields that are eligible to be edited.
  • )

Special Notes:

In CMSMS, all forms must contain a few hidden inputs to aide in the handling process. For that reason, all cmsms forms must start with the {form_start} tag, or it's equivalent created within PHP, and end with the {form_end} tag. The {form_start} tag can take many parameters.

The name of all form input/select/textarea elements must be prefixed with the {$actionid} variable, and the name of the fields are important for the processing of the submitted information, so cannot be changed.

The factory default template distributed with the News module does not place any special requirements on the classes, or ids used within this template.

News summary template help

Assigned Variables

  • $prevpage (string) - If the current page number is one, this is a translated string for the 'prevpage' key. Otherwise, it is a link that will result in a summary view displaying the previous page
  • $prevurl (string) - If the current page number is one, this is not defined/empty. Otherwise it is a URL that when placed in an <a> tag and clicked on will result in a summary view displaying the previous page.
  • $fisstpage (string) - If the current page number is one, this is a translated string for the 'fistpage' key. Otherwise, it is a link that will result in a summary view displaying the fist page
  • $firsturl (string) - If the current page number is one, this is not defined/empty. Otherwise it is a URL that when placed in an <a> tag and clicked on will result in a summary view displaying the first page.
  • $nextpage (string) - If the current page number is the last page given the current criteria, this is a translated string for the 'nextpage' key. Otherwise, it is a link that will result in a summary view displaying the next page
  • $nexturl (string) - If the current page number is the last page givent he current criteria, this is not defined/empty. Otherwise it is a URL that when placed in an <a> tag and clicked on will result in a summary view displaying the next page.
  • $lastpage (string) - If the current page number is the last page given the current criteria, this is a translated string for the 'nextpage' key. Otherwise, it is a link that will result in a summary view displaying the last page
  • $lasturl (string) - If the current page number is the last page givent he current criteria, this is not defined/empty. Otherwise it is a URL that when placed in an <a> tag and clicked on will result in a summary view displaying the last page.
  • $pagenumber (int) - The current page number. Starting at 1.
  • $pagecount (int) - The total number of pages to display, given the current criteria.
  • $oftext (string) - The translated string for "of"
  • $pagetext (string) - The translated string for "page"
  • $itemcount (int) - The total number of items that will be displayed in this view (count of the $items array)
  • $items - (object[]) - An array of objects representing the news articles to be displayed.
  • $category_name (string) - If a category id or category name was passed to the call to this module, then this variable will contain the name of the specified category. Otherwise, it will be empty.
  • $cats - (array) - An array of category information representing all categories in the News module.

News article objects

The $items array contains an array of news article objects. Below are the members.

Because the news article objects, are objects, you address them like: {$entry->id} etc.

  • author_id (int) - The uid of the author. If greater than 0 an admin user account is assumed. If less than zero an FEU user account is assumed. A value of 0 indicates an anonymous user.
  • author (string) The username of the author... or unknown
  • authorname (string) - For admin user ids, this is a concatenation of the users first and last names, if they exist. This is undefined for FEU entries.
  • id (int) - The numerical id of the article.
  • title (string) - The title of the article.
  • content (string) - The HTML content for the article.
  • summary (string) - The article summary.
  • postdate (string) - The article post date.
  • extra (string) - Optional, extra information.
  • startdate (string) - Optional, the start date of the article.
  • enddate (string) - Optional, the end date of the article.
  • create_date (string) - The date the article was first created.
  • modified_date (string) - The date the article was last modified.
  • category (string) - The article's category name.
  • fields (associative) - An associative array of field objects, representing the fields, and their values for this article. See the information below on the field object definition. In past versions of News this was a simple array, now it is an associative one.
  • fieldsbyname (associative) (deprecated) - A synonym for the 'fields' member
  • file_location (string) - The URL prefix to where files for this article are stored.
  • detail_url (string) - The URL to the detail view of the article.
  • link (string) (deprecated) - The URL to the detail view of the article.
  • titlelink (string) (deprecated) - A link (usign the article title as the text) to the detail view of the article.
  • morelink (string) (deprecated) - A link (using a translation of the word "more" as the text), to the detail view of the article.
  • moreurl (string) (deprecated) - A URL to the detail view of the article.

Category Information

The following section illustrates the important elements of the category array. Other items exist but are used for internal organizational purposes.

This information is deprecated, as it could be retrieved by calling the browsecat action.

Note, each of the members of the $cats array is an associiative array of it's own. You address it like {$cats[0]['news_category_name']} etc.

  • news_category_id (int) - The id of this category entry.
  • news_category_name (string) - The name of this category entry.
  • parent_id (int) - The id of the parent of this entry. -1 indicates no parent.
  • count (int) - A count of the number of displayable articles in this category.
  • prevdepth (int) - The depth (from the root) of the previous node.
  • depth (int) - The (from the root category) of the current node.
  • url (string) - A URL to a summary view of all items in this category.
assign('formstart',$this->CreateFormStart($id,'defaultadmin')); if (isset($params['bulk_action']) ) { if( !isset($params['sel']) || !is_array($params['sel']) || count($params['sel']) == 0 ) { echo $this->ShowErrors($this->Lang('error_noarticlesselected')); } else { $sel = array(); foreach( $params['sel'] as $one ) { $one = (int)$one; if( $one < 1 ) continue; if( in_array($one,$sel) ) continue; $sel[] = $one; } switch($params['bulk_action']) { case 'delete': if (!$this->CheckPermission('Delete News')) { echo $this->ShowErrors($this->Lang('needpermission', array('Modify News'))); } else { foreach( $sel as $news_id ) { news_admin_ops::delete_article( $news_id ); } } echo $this->ShowMessage($this->Lang('msg_success')); break; case 'setcategory': $query = 'UPDATE '.CMS_DB_PREFIX.'module_news SET news_category_id = ?, modified_date = NOW() WHERE news_id IN ('.implode(',',$sel).')'; $parms = array((int)$params['category']); $db->Execute($query,$parms); audit('',$this->GetName(),'category changed on '.count($sel).' articles'); echo $this->ShowMessage($this->Lang('msg_success')); break; case 'setpublished': $query = 'UPDATE '.CMS_DB_PREFIX.'module_news SET status = ?, modified_date = NOW() WHERE news_id IN ('.implode(',',$sel).')'; $db->Execute($query,array('published')); audit('',$this->GetName(),'status changed on '.count($sel).' articles'); echo $this->ShowMessage($this->Lang('msg_success')); break; case 'setdraft': $query = 'UPDATE '.CMS_DB_PREFIX.'module_news SET status = ?, modified_date = NOW() WHERE news_id IN ('.implode(',',$sel).')'; $db->Execute($query,array('draft')); audit('',$this->GetName(),'status changed on '.count($sel).' articles'); echo $this->ShowMessage($this->Lang('msg_success')); break; default: break; } } } $categorylist = array(); $categorylist[$this->Lang('allcategories')] = ''; $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['long_name']] = $row['long_name']; } $pagenumber = 1; if( isset($_SESSION['news_pagenumber']) ) { $pagenumber = (int)$_SESSION['news_pagenumber']; } if( isset( $params['pagenumber'] ) ) { $pagenumber = (int)$params['pagenumber']; $_SESSION['news_pagenumber'] = $pagenumber; } if( isset($params['submitfilter']) ) { if( isset( $params['category']) ) { $this->SetPreference('article_category',trim($params['category'])); } if( isset( $params['sortby'] ) ) { $this->SetPreference('article_sortby', str_replace("'",'_',$params['sortby'])); } if( isset( $params['pagelimit'] ) ) { $this->SetPreference('article_pagelimit',(int)$params['pagelimit']); } $allcategories = (isset($params['allcategories'])?$params['allcategories']:'no'); $this->SetPreference('allcategories',$allcategories); unset($_SESSION['news_pagenumber']); $pagenumber = 1; } else if( isset($params['resetfilter']) ) { $this->SetPreference('article_category',''); $this->SetPreference('article_pagelimit',50); $this->SetPreference('article_sortby','news_date DESC'); $this->SetPreference('allcategories','no'); unset($_SESSION['news_pagenumber']); $pagenumber = 1; } $curcategory = $this->GetPreference('article_category'); $pagelimit = (int) $this->GetPreference('article_pagelimit',50); $allcategories = $this->GetPreference('allcategories','no'); $sortby = $this->GetPreference('article_sortby','news_date DESC'); $sortlist = array(); $sortlist[$this->Lang('post_date_desc')]='news_date DESC'; $sortlist[$this->Lang('post_date_asc')]='news_date ASC'; $sortlist[$this->Lang('expiry_date_desc')]='end_time DESC'; $sortlist[$this->Lang('expiry_date_asc')]='end_time ASC'; $sortlist[$this->Lang('title_asc')] = 'news_title ASC'; $sortlist[$this->Lang('title_desc')] = 'news_title DESC'; $sortlist[$this->Lang('status_asc')] = 'status ASC'; $sortlist[$this->Lang('status_desc')] = 'status DESC'; $smarty->assign('prompt_category',$this->Lang('category')); $smarty->assign('categorylist',array_flip($categorylist)); $smarty->assign('curcategory',$curcategory); $smarty->assign('allcategories',$allcategories); $smarty->assign('sortlist',array_flip($sortlist)); $smarty->assign('pagelimits',array(10=>10,25=>25,50=>50,250=>250,500=>500,1000=>1000)); $smarty->assign('pagelimit',$pagelimit); $smarty->assign('sortby',$sortby); $smarty->assign('prompt_showchildcategories',$this->Lang('showchildcategories')); $smarty->assign('prompt_sorting',$this->Lang('prompt_sorting')); $smarty->assign('submitfilter', $this->CreateInputSubmit($id,'submitfilter',$this->Lang('submit'))); $smarty->assign('prompt_pagelimit', $this->Lang('prompt_pagelimit')); $smarty->assign('formend',$this->CreateFormEnd()); //Load the current articles $entryarray = array(); $dbresult = ''; $query1 = "SELECT SQL_CALC_FOUND_ROWS n.*, nc.long_name FROM ".CMS_DB_PREFIX."module_news n LEFT OUTER JOIN ".CMS_DB_PREFIX."module_news_categories nc ON n.news_category_id = nc.news_category_id "; $parms = array(); if ($curcategory != '') { $query1 .= " WHERE nc.long_name LIKE ?"; if( $allcategories == 'yes' ) { $parms[] = $curcategory.'%'; } else { $parms[] = $curcategory; } } $query1 .= ' ORDER by '.$sortby; $pagenumber = max(1,$pagenumber); $startelement = ($pagenumber-1) * $pagelimit; $dbresult = $db->SelectLimit( $query1, $pagelimit, $startelement, $parms); $numrows = (int) $db->GetOne('SELECT FOUND_ROWS()'); $pagecount = (int)ceil($numrows/$pagelimit); $smarty->assign('mod',$this); $smarty->assign('pagenumber',$pagenumber); $smarty->assign('pagecount',$pagecount); $smarty->assign('oftext',$this->Lang('prompt_of')); $rowclass = 'row1'; $admintheme = cms_utils::get_theme_object(); while ($dbresult && $row = $dbresult->FetchRow()) { $onerow = new stdClass(); $onerow->id = $row['news_id']; $onerow->news_title = $row['news_title']; $onerow->title = $this->CreateLink($id, 'editarticle', $returnid, $row['news_title'], array('articleid'=>$row['news_id'])); $onerow->data = $row['news_data']; $onerow->expired = 0; if( ($row['end_time'] != '') && ($db->UnixTimeStamp($row['end_time']) < time()) ) $onerow->expired = 1; $onerow->postdate = $row['news_date']; $onerow->startdate = $row['start_time']; $onerow->enddate = $row['end_time']; $onerow->u_postdate = $db->UnixTimeStamp($row['news_date']); $onerow->u_startdate = $db->UnixTimeStamp($row['start_time']); $onerow->u_enddate = $db->UnixTimeStamp($row['end_time']); $onerow->status = $this->Lang($row['status']); if( $this->CheckPermission('Approve News') ) { if( $row['status'] == 'published' ) { $onerow->approve_link = $this->CreateLink($id,'approvearticle', $returnid, $admintheme->DisplayImage('icons/system/true.gif',$this->Lang('revert'),'','','systemicon'),array('approve'=>0,'articleid'=>$row['news_id'])); } else { $onerow->approve_link = $this->CreateLink($id,'approvearticle', $returnid, $admintheme->DisplayImage('icons/system/false.gif',$this->Lang('approve'),'','','systemicon'),array('approve'=>1,'articleid'=>$row['news_id'])); } } $onerow->category = $row['long_name']; $onerow->rowclass = $rowclass; if( $this->CheckPermission('Modify News') ) { $onerow->edit_url = $this->create_url($id,'editarticle',$returnid, array('articleid'=>$row['news_id'])); $onerow->editlink = $this->CreateLink($id, 'editarticle', $returnid, $admintheme->DisplayImage('icons/system/edit.gif', $this->Lang('edit'),'','','systemicon'), array('articleid'=>$row['news_id'])); } if( $this->CheckPermission('Delete News') ) { $onerow->delete_url = $this->create_url($id,'deletearticle',$returnid, array('articleid'=>$row['news_id'])); } $entryarray[] = $onerow; ($rowclass=="row1"?$rowclass="row2":$rowclass="row1"); } $smarty->assign('items', $entryarray); $smarty->assign('itemcount', count($entryarray)); if( $this->CheckPermission('Modify News') ) { $smarty->assign('addlink', $this->CreateLink($id, 'addarticle', $returnid, $admintheme->DisplayImage('icons/system/newobject.gif', $this->Lang('addarticle'),'','','systemicon'), array(), '', false, false, '') .' '. $this->CreateLink($id, 'addarticle', $returnid, $this->Lang('addarticle'), array(), '', false, false, 'class="pageoptions"')); } $smarty->assign('can_add',$this->CheckPermission('Modify News')); $smarty->assign('form2start',$this->CreateFormStart($id,'defaultadmin',$returnid)); $smarty->assign('form2end',$this->CreateFormEnd()); $smarty->assign('submit_reassign',$this->CreateInputSubmit($id,'submit_reassign',$this->Lang('submit'))); $categorylist = news_ops::get_category_list(); $smarty->assign('categoryinput',$this->CreateInputDropdown($id,'category',$categorylist)); if( $this->CheckPermission('Delete News') ) { $smarty->assign('submit_massdelete', $this->CreateInputSubmit($id,'submit_massdelete',$this->Lang('delete_selected'), '','',$this->Lang('areyousure_deletemultiple'))); } $smarty->assign('reassigntext',$this->Lang('reassign_category')); $smarty->assign('selecttext',$this->Lang('select')); $smarty->assign('filtertext',$this->Lang('title_filter')); $smarty->assign('statustext',$this->Lang('status')); $smarty->assign('startdatetext',$this->Lang('startdate')); $smarty->assign('enddatetext',$this->Lang('enddate')); $smarty->assign('titletext', $this->Lang('title')); $smarty->assign('postdatetext', $this->Lang('postdate')); $smarty->assign('categorytext', $this->Lang('category')); $config = $this->GetConfig(); $themedir = $config['admin_url'].'/themes/'.$admintheme->themeName.'/images/icons/system'; $smarty->assign('iconurl',$themedir); #Display template echo $this->ProcessTemplate('articlelist.tpl'); CheckPermission('Modify Site Preferences') ) return; // Put together a list of current categories... $entryarray = array(); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); $rowclass = 'row1'; $admintheme = cms_utils::get_theme_object(); while ($dbresult && $row = $dbresult->FetchRow()) { $onerow = new stdClass(); $depth = count(preg_split('/\./', $row['hierarchy'])); $onerow->id = $row['news_category_id']; $onerow->depth = $depth - 1; $onerow->edit_url = $this->create_url($id,'editcategory',$returnid,array('catid'=>$row['news_category_id'])); $onerow->name = $row['news_category_name']; $onerow->editlink = $this->CreateLink($id, 'editcategory', $returnid, $admintheme->DisplayImage('icons/system/edit.gif', $this->Lang('edit'),'','','systemicon'), array('catid'=>$row['news_category_id'])); $onerow->delete_url = $this->create_url($id,'deletecategory',$returnid, array('catid'=>$row['news_category_id'])); $onerow->deletelink = $this->CreateLink($id, 'deletecategory', $returnid, $admintheme->DisplayImage('icons/system/delete.gif', $this->Lang('delete'),'','','systemicon'), array('catid'=>$row['news_category_id']), $this->Lang('areyousure')); $onerow->rowclass = $rowclass; $entryarray[] = $onerow; ($rowclass=="row1"?$rowclass="row2":$rowclass="row1"); } $smarty->assign('items', $entryarray); $smarty->assign('itemcount', count($entryarray)); // Setup links $smarty->assign('categorytext', $this->Lang('category')); // Display template echo $this->ProcessTemplate('categorylist.tpl'); // EOF ?> CheckPermission('Modify Site Preferences') ) return; $entryarray = array(); $max = $db->GetOne("SELECT max(item_order) as max_item_order FROM ".CMS_DB_PREFIX."module_news_fielddefs"); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_fielddefs ORDER BY item_order"; $dbresult = $db->Execute($query); $admintheme = cms_utils::get_theme_object(); $rowclass = 'row1'; while ($dbresult && $row = $dbresult->FetchRow()) { $onerow = new stdClass(); $onerow->id = $row['id']; $onerow->name = $this->CreateLink($id, 'admin_editfielddef', $returnid, htmlspecialchars($row['name']), array('fdid'=>$row['id'])); $onerow->type = $this->Lang($row['type']); $onerow->max_length = $row['max_length']; $onerow->item_order = $row['item_order']; if ($onerow->item_order > 1) { $onerow->uplink = $this->CreateLink($id, 'admin_movefielddef', $returnid, $admintheme->DisplayImage('icons/system/arrow-u.gif', $this->Lang('up'),'','','systemicon'), array('fdid'=>$row['id'], 'dir'=>'up')); } else { $onerow->uplink = ''; } if ($max > $onerow->item_order) { $onerow->downlink = $this->CreateLink($id, 'admin_movefielddef', $returnid, $admintheme->DisplayImage('icons/system/arrow-d.gif', $this->Lang('down'),'','','systemicon'), array('fdid'=>$row['id'], 'dir'=>'down')); } else { $onerow->downlink = ''; } $onerow->editlink = $this->CreateLink($id, 'admin_editfielddef', $returnid, $admintheme->DisplayImage('icons/system/edit.gif', $this->Lang('edit'),'','','systemicon'), array('fdid'=>$row['id'])); $onerow->delete_url = $this->create_url($id, 'admin_deletefielddef', $returnid, array('fdid'=>$row['id'])); $entryarray[] = $onerow; ($rowclass=="row1"?$rowclass="row2":$rowclass="row1"); } $smarty->assign('items', $entryarray); $smarty->assign('itemcount', count($entryarray)); $smarty->assign('addurl', $this->create_url($id,'admin_addfielddef')); $smarty->assign('addlink', $this->CreateLink($id, 'admin_addfielddef', $returnid, $admintheme->DisplayImage('icons/system/newfolder.gif', $this->Lang('addfielddef'),'','','systemicon'), array(), '', false, false, '') .' '. $this->CreateLink($id, 'admin_addfielddef', $returnid, $this->Lang('addfielddef'), array(), '', false, false, 'class="pageoptions"')); $smarty->assign('fielddeftext', $this->Lang('fielddef')); $smarty->assign('typetext', $this->Lang('type')); #Display template echo $this->ProcessTemplate('customfieldstab.tpl'); // EOF ?> assign('startform', $this->CreateFormStart ($id, 'updateoptions', $returnid)); $smarty->assign('endform', $this->CreateFormEnd ()); $smarty->assign('title_formsubmit_emailaddress',$this->Lang('formsubmit_emailaddress')); $smarty->assign('formsubmit_emailaddress',$this->GetPreference('formsubmit_emailaddress','')); $smarty->assign('title_email_subject',$this->Lang('email_subject')); $smarty->assign('email_subject',$this->GetPreference('email_subject','')); $smarty->assign('title_email_template',$this->Lang('email_template')); $smarty->assign('email_template',$this->GetTemplate('email_template')); $categorylist = array(); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $categorylist[$row['long_name']] = $row['news_category_id']; } $smarty->assign('title_default_category', $this->Lang('default_category')); $smarty->assign('categorylist',array_flip($categorylist)); $smarty->assign('default_category',$this->GetPreference('default_category')); $smarty->assign('title_allowed_upload_types',$this->Lang('allowed_upload_types')); $smarty->assign('allowed_upload_types',$this->GetPreference('allowed_upload_types')); $smarty->assign('title_auto_create_thumbnails',$this->Lang('auto_create_thumbnails')); $smarty->assign('title_hide_summary_field',$this->Lang('hide_summary_field')); $smarty->assign('hide_summary_field',$this->GetPreference('hide_summary_field',0)); $smarty->assign('title_allow_summary_wysiwyg',$this->Lang('allow_summary_wysiwyg')); $smarty->assign('allow_summary_wysiwyg',$this->GetPreference('allow_summary_wysiwyg',1)); $smarty->assign('title_expiry_interval',$this->Lang('expiry_interval')); $smarty->assign('expiry_interval',$this->GetPreference('expiry_interval',180)); $smarty->assign('title_expired_searchable',$this->Lang('expired_searchable')); $smarty->assign('expired_searchable',$this->GetPreference('expired_searchable')); $smarty->assign('title_expired_viewable',$this->Lang('expired_viewable')); $smarty->assign('expired_viewable',$this->GetPreference('expired_viewable',1)); $smarty->assign('info_expired_viewable',$this->Lang('info_expired_viewable')); $smarty->assign('title_fesubmit_status',$this->Lang('fesubmit_status')); $statusdropdown = array(); $statusdropdown[$this->Lang('draft')] = 'draft'; $statusdropdown[$this->Lang('published')] = 'published'; $smarty->assign('statuses',array_flip($statusdropdown)); $smarty->assign('fesubmit_status',$this->GetPreference('fesubmit_status')); $smarty->assign('input_fesubmit_status', $this->CreateInputDropdown($id,'fesubmit_status',$statusdropdown,-1,$this->GetPreference('fesubmit_status','draft'))); $smarty->assign('title_fesubmit_redirect',$this->Lang('fesubmit_redirect')); $smarty->assign('fesubmit_redirect',$this->GetPreference('fesubmit_redirect')); $contentops = $gCms->GetContentOperations(); $smarty->assign('title_detail_returnid',$this->Lang('title_detail_returnid')); $smarty->assign('input_detail_returnid', $contentops->CreateHierarchyDropdown('',$this->GetPreference('detail_returnid',-1), $id.'detail_returnid')); $smarty->assign('info_detail_returnid',$this->Lang('info_detail_returnid')); $smarty->assign('title_submission_settings',$this->Lang('title_submission_settings')); $smarty->assign('title_fesubmit_settings',$this->Lang('title_fesubmit_settings')); $smarty->assign('title_notification_settings',$this->Lang('title_notification_settings')); $smarty->assign('title_detail_settings',$this->Lang('title_detail_settings')); $smarty->assign('allow_fesubmit',$this->GetPreference('allow_fesubmit',0)); $smarty->assign('alert_drafts',$this->GetPreference('alert_drafts',0)); // Display the populated template echo $this->ProcessTemplate ('adminprefs.tpl'); ?>GIF89aֽබ9}q nTz=g\!gP4&fB(s9L}j!,@ QhWiIhih8ǒ<:N k%*8QND%,Q G  KwKBGKK Ы GɿF ֘ݜÚQ pN#`8` ;PNG  IHDR00WIDAThLU-VLUl. sfmMWfrksS-YF2jA~ CQT CQQQanܧ={pzy={s=;DDԬaYGeJKLi픐&Qucltawa M*o/8{êf%WˤJWo+I%$z:-Y1Ƈա ?rV{0*!Z˴ Io6c3Y - IN8>6:S^V# `r)ϣ,߄R704&p@M4 N͘]&ǣb=狀\e1l|8I8׻Rv/' P.A"1Ƈ6k30C@!3VR~tX`$?Vv(&&fa~~#N[Uf,˶Kn^0jlӝ$@ T5 juswm  ~zFFtuuɱcp:.)3:bc]d:yڵ4_|Y\s蠋#A@2)VdH]mii .0VgrtG@\MM˾}j ի.P\tA%@ZtttMWcCM_)fl(:acm`(,//y} b7nHkk+ݶ-b-B@9~qΝz%]&iiisVIW||90@3-` 蒒 r-9p5رCH!P:b-`yr89HaadggCnRRF tC]le,0I@_JKtjl@$99YB 1gleG+*̩Spd)m Ya0E:F7,.o:|YYY83va7kn:,0vr4}>c"~6⠢[eo,Ƈ"$XssUqj6fbb鎓J`d艘C]c 4xP>1kTJ!E P]]Ae{3!!Ac 9+>NP5pXZZwzNPznW^^XmAl L%`w#G֘g%m@XQd޽]J5tѣ˺C0Wἐst4bM,%mK! b^{X`>*0+D~:tHDD7l섹ML'6{AlEzS*+Nj8pPIRRRtRqӣyio+**+net ep jVwɬ&+L@-skV"~9yC]lL[cS/Fu(ܖBax7qm(AP[ظl8a+X-??BqH"anK'*H> !Zj&>v(?C6)*Aɒ>pJb!voɎ{b e.-d9A`:k X_}*N(09o'|9BŚ|IENDB`(maybe it is already used, or there are invalid characters)
'; $lang['error_mkdir'] = 'Could not create directory: %s'; $lang['error_movefile'] = 'Could not create file: %s'; $lang['error_noarticlesselected'] = 'No Articles Were Selected'; $lang['error_nooptions'] = 'No options specified for field definition'; $lang['error_templatenamexists'] = 'A template by that name already exists'; $lang['error_upload'] = 'Problem occurred uploading a file'; $lang['eventdesc-NewsArticleAdded'] = 'Sent when an article is added.'; $lang['eventhelp-NewsArticleAdded'] = '

Parameters

  • "news_id" - Id of the news article
  • "category_id" - Id of the category for this article
  • "title" - Title of the article
  • "content" - Content of the article
  • "summary" - Summary of the article
  • "status" - Status of the article ("draft" or "publish")
  • "start_time" - Date the article should start being displayed
  • "end_time" - Date the article should stop being displayed
  • "useexp" - Whether the expiration date should be ignored or not
'; $lang['eventdesc-NewsArticleDeleted'] = 'Sent when an article is deleted.'; $lang['eventhelp-NewsArticleDeleted'] = '

Parameters

  • "news_id" - Id of the news article
'; $lang['eventdesc-NewsArticleEdited'] = 'Sent when an article is edited.'; $lang['eventhelp-NewsArticleEdited'] = '

Parameters

  • "news_id" - Id of the news article
  • "category_id" - Id of the category for this article
  • "title" - Title of the article
  • "content" - Content of the article
  • "summary" - Summary of the article
  • "status" - Status of the article ("draft" or "publish")
  • "start_time" - Date the article should start being displayed
  • "end_time" - Date the article should stop being displayed
  • "useexp" - Whether the expiration date should be ignored or not

Note: Not all parameters may be present when this event is sent.

'; $lang['eventdesc-NewsCategoryAdded'] = 'Sent when a category is added.'; $lang['eventhelp-NewsCategoryAdded'] = '

Parameters

  • "category_id" - Id of the news category
  • "name" - Name of the news category
'; $lang['eventdesc-NewsCategoryDeleted'] = 'Sent when a category is deleted.'; $lang['eventhelp-NewsCategoryDeleted'] = '

Parameters

  • "category_id" - Id of the deleted category
  • "name" - Name of the deleted category
'; $lang['eventdesc-NewsCategoryEdited'] = 'Sent when a category is edited.'; $lang['eventhelp-NewsCategoryEdited'] = '

Parameters

  • "category_id" - Id of the news category
  • "name" - Name of the news category
  • "origname" - The original name of the news category
'; $lang['expired'] = 'Expired'; $lang['expired_searchable'] = 'Expired articles can appear in search results'; $lang['expired_viewable'] = 'Expired articles can be viewed in the detail view'; $lang['expiry'] = 'Expiry'; $lang['expiry_date_asc'] = 'Expiry Date Ascending'; $lang['expiry_date_desc'] = 'Expiry Date Descending'; $lang['expiry_interval'] = 'The number of days (by default) before an article expires (if expiry is selected)'; $lang['extra'] = 'Extra'; $lang['extra_label'] = 'Extra:'; // F $lang['fesubmit_redirect'] = 'PageID or alias to redirect to after a news article has been submitted via the fesubmit action'; $lang['fesubmit_status'] = 'The status of news articles submitted via the frontend'; $lang['fielddef'] = 'Field Definition'; $lang['fielddefadded'] = 'Field Definition Successfully Added'; $lang['fielddefdeleted'] = 'Field Definition Deleted'; $lang['fielddefupdated'] = 'Field Definition Updated'; $lang['file'] = 'File'; $lang['filter'] = 'Filter'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Email address to receive notification of news submission'; $lang['formtemplate'] = 'Form Templates'; // H $lang['help'] = <<Important Notes

Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

What does this do?

News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

Numerous display methods

The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

Custom Fields

The News module allows defining numerous custom fields (including files and images) that will allow you to attach PDF files or numerous images to your articles.

Categories

News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

Expiry and Status

Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

Security

The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

How do I use it?

The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

Templates

Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

  • Copy the file template into the clipboard
  • Create a new database template (either summary or detailed as required). Give the new template the same name as the old file template, and paste the contents.
  • Hit Submit

Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

EOF; $lang['helpaction'] = <<
  • "detail" - to display a specified articleid in detail mode.
  • "default" - to display the summary view
  • "fesubmit" - Deprecated to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected WYSIWYG editor. (Site Admin >> Global Settings)
  • "browsecat" - to display a browsable category list.
  • EOT; $lang['helpbrowsecat'] = 'Shows a browsable category list.'; $lang['helpbrowsecattemplate'] = 'Use a database template for displaying the category browser. This template must exist in the Design Manager, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used.'; $lang['helpcategory'] = 'Used in the summary view to display only items for the specified categories. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories. This parameter also works for the frontend submit action, however only a single category name is supported.'; $lang['helpdetailpage'] = 'Page to display News details in. This can either be a page alias or an id. Used to allow details to be displayed in a different template from the summary. This parameter will have no effect for articles with custom URLs.'; $lang['helpdetailtemplate'] = 'Use a separate database template for displaying the article detail. This template must exist in the Design Manager, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. This parameter is not used when generating urls if custom urls are specified.'; $lang['helpformtemplate'] = 'Use a database template for displaying the article submission form. This template must exist in the Design Manager, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used.'; $lang['helpmoretext'] = 'Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpnumber'] = 'Maximum number of items to display (per page) -- leaving empty will show all items. This is a synonym for the pagelimit parameter.'; $lang['helpshowall'] = 'Show all articles, irrespective of end date'; $lang['helpshowarchive'] = 'Show only expired news articles.'; $lang['helpsortasc'] = 'Sort news items in ascending date order rather than descending.'; $lang['helpsortby'] = 'Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc parameter is ignored.'; $lang['helpstart'] = 'Start at the nth item -- leaving empty will start at the first item.'; $lang['helpsummarytemplate'] = 'Use a separate database template for displaying the article summary. This template must exist in the Design Manager, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used.'; $lang['help_articleid'] = 'This parameter is only applicable to the detail view. It allows specifying which news article to display in detail mode. If the special value -1 is used, the system will display the newest, published, non expired article.'; $lang['help_article_title'] = 'Enter the article title. It should be a brief, and should not include any html tags.'; $lang['help_article_category'] = 'For organization purposes, you may select a category'; $lang['help_article_content'] = 'Enter the main article content here'; $lang['help_article_enddate'] = 'If use expiry is enabled, this date specifies when the article will be hidden from view'; $lang['help_article_extra'] = 'This is extra data to associate with the news article. It may be used for a sorting order or for other designer intended behavior. You should consult your site developer as to how this field is used (if at all)'; $lang['help_article_searchable'] = 'This field indicates whether this article should be indexed by the search module'; $lang['help_article_postdate'] = 'The postdate (usually the current date, for new articles) is the date that will be used as the publish date for the article. It is also used in sorting'; $lang['help_article_summary'] = 'Enter a brief paragraph to describe the article. This summary may be used when displaying views of a number of articles'; $lang['help_article_startdate'] = 'When use expiry is enabled, this date specifies the date from which the article will be visible on the website'; $lang['help_article_status'] = 'If you want the article to be immediately viewable by others then select a status of published. If you would like to continue working on this article for a while, then select draft.'; $lang['help_article_url'] = 'The optional article url (some other platforms call this a slug) is a unique url suffix to access this article. Users can navigate to <site_root>/<your_url> to view this article.'; $lang['help_article_useexpiry'] = 'This checkbox toggles the expiry date behavior. Expiry date behavior dictates when an article becomes visible on the website, and when it subsequently becomes invisible.'; $lang['help_articles_filtercategory'] = 'Optionally filter the list of displayed articles in this list by those that belong to the selected category'; $lang['help_articles_filterchildcats'] = 'If enabled, articles in the selected category, and their child categories will be displayed.'; $lang['help_articles_pagelimit'] = 'Select the number of articles to show in one page. For sites with a large number of articles specifying a page limit between 10 and 100 will significantly improve performance'; $lang['help_articles_sortby'] = 'Select how articles will be initially sorted.'; $lang['help_category_name'] = 'Enter a name for this category. The name should be safe for use in URLS and have no special characters.'; $lang['help_category_parent'] = 'Optionally specify a parent category to build a hierarchy of categories.'; $lang['help_fesubmit_redirect'] = 'Page ID or alias to redirect to after a succuessful frontend submission'; $lang['help_fielddef_maxlen'] = 'For text fields you can specify the maximum length of user input (in characters)'; $lang['help_fielddef_name'] = 'Each field definition must have a name. Though not strictly necessary, the field name should contain only alphanumeric characters and the underscore. Refrain from using whitespace in the field name.'; $lang['help_fielddef_options'] = 'Here you may specify the valid options for dropdown fields.'; $lang['help_fielddef_public'] = 'Specify if the field definition is public or not. Public field definitions are viewable in frontend views, and can be entered by the fesubmit action. Custom fields that are not public can only be edited in the Admin interface by authorized administrators.'; $lang['help_fielddef_type'] = 'Each custom field can be of a different type for different purposes. Select the field type that best matches the purpose of the field.'; $lang['help_idlist'] = 'Applicable only to the default action (summary view). This parameter accepts a comma separated list of numeric article ids and allows further filtering articles to only the article ids specified. The actual list of articles output is still subject to article status, expiry date, and other parameters.'; $lang['help_opt_alert_drafts'] = 'If enabled, you will receive notifications (alerts) indicating that one or more news articles needs to be reviewed and published.'; $lang['help_opt_allowed_upload_types'] = 'For custom fields of type "file" This setting indicates a comma separated list of file extensions that are valid for the article editor to upload.'; $lang['help_opt_dflt_category'] = 'This option allows specifying the default category for new news articles.'; $lang['help_opt_hide_summary'] = 'This option allows disabling the summary field when adding and/or editing a news article (including with the fesubmit action)'; $lang['help_opt_allow_summary_wysiwyg'] = 'This field indicates whether a WYSIWYG editor should be enabled for the summary field when editing an article. In many circumstances the summary field is a simple text field, however this is optional.
    This setting is ignored if the summary field is disabled completely (see above)'; $lang['help_opt_expiry_interval'] = 'Set the default number of days (minimum 1) That articles will expire in when article expiry is enabled. The expiry date can be adjusted when adding or editing a news article'; $lang['help_pagelimit'] = 'Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the parameter, text and links will be supplied to allow scrolling through the results. The maximum value for this parameter is 1000.'; $lang['hide_summary_field'] = 'Hide the summary field when adding or editing articles'; // I $lang['info_allow_fesubmit'] = 'This option controls wether the fesubmit action will be allowed to function at all for this site. Use caution when enabling this.'; $lang['info_categories'] = 'For organization purposes news articles can be organized into hierarchical categories'; $lang['info_detail_returnid'] = 'This preference is used to determine a page (and therefore a template) to use to view detail pages. Custom news Detail URLS will not work if this parameter is not set to a valid page. Additionally, if this preference is set, and no detailpage parameter is provided on the news tag, then this value will be used for detail links'; $lang['info_expired_searchable'] = 'If enabled, expired articles may continue to be indexed by the search module, and appear in search results'; $lang['info_expired_viewable'] = 'If enabled, expired articles can be viewed in detail mode (this is reproducing older functionality). the showall parameter can be used on the URL (when not using pretty urls) to also indicate that expired articles can be viewed'; $lang['info_fesubmit_notification'] = 'You may optionally send an email to a single email address when a new article is submitted via the fesubmit action.'; $lang['info_maxlength'] = 'The maximum length only applies to text input fields.'; $lang['info_public'] = 'Only Public fields are available for frontend editing, and/or for display in summary or detail views.'; $lang['info_reorder_categories'] = 'Drag and drop each item into the correct order to change category relationships'; $lang['info_searchable'] = 'This field indicates whether this article should be indexed by the search module'; $lang['info_sysdefault'] = '(the content used by default when a new template is created)'; $lang['info_sysdefault2'] = 'Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a \'new\' summary, detail, or form template. Changing content in this tab, and clicking \'submit\' will not effect any current displays.'; // L $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Search News Articles'; $lang['linkedfile'] = 'Linked file'; // M $lang['maxlength'] = 'Maximum Length'; $lang['msg_cancelled'] = 'Operation Cancelled'; $lang['msg_categoriesreordered'] = 'Category order updated'; $lang['msg_contenttype_removed'] = << Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['news']='أخبار'; $lang['nextpage']='>'; $lang['none']='لا شيء'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['options']='خيارات'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['prompt_page']='صفحة'; $lang['revert']='Set Status to 'Draft''; $lang['submit']='تقديم'; $lang['unknown']='غير معروف'; $lang['unlimited']='غير محدود'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the news categpry
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['expiry']='Изтича'; $lang['filter']='Филтер'; $lang['firstpage']='<<'; $lang['formtemplate']='Шаблони за форми'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add, edit, or delete News entries.

    How do I use it?

    The easiest way to use it is in conjunction with the cms_module tag. This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {cms_module module="news" number="5" category="beer"}

    '; $lang['helpaction']='Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['helpcategory']='Показва само новините в тази категория. Използва * след името за да покаже подкатегориите. Множествени категории могат да се използват разделени чрез запейтаки. Оставяйки празно, показва всички категории.'; $lang['helpdetailpage']='Страница където да показва детайлите за новина. Тази страница може да бъде или псевдоним или id. Използва се за да може цялата новина да се покаже в различен шаблон от този за резюмето.'; $lang['helpdetailtemplate']='Използва отделен шаблон за визуализиране на детайлното показване на новината. Може да се намери в /modules/News/templates.'; $lang['helpmoretext']='Текст за визуализиране накрая на всяка новина ако текстта на резюмето й е по-дълъг. По подразбиране "прочети повече..."'; $lang['helpnumber']='Максимален брой статии за покзване =- оставяйки празно показва всички.'; $lang['helpsortasc']='Сортира в ред абв а не в яюь.'; $lang['helpsortby']='Поле по което да се сортира. Възможности: "news_date", "summary", "news_data", "news_category", "news_title". По подразбиране е "news_date". '; $lang['helpstart']='Показване от nтата статия -- оставяйки празно ще започне от първата статия.'; $lang['helpsummarytemplate']='Използва отделен шаблон за визуализиране на резюмето на новината. Може да се намери в /modules/News/templates.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['lastpage']='>>'; $lang['more']='Повече'; $lang['moretext']='Прочете повече'; $lang['name']='Име'; $lang['needpermission']='Необходими са ви \'%s\' права за изпълнение на тази функция.'; $lang['newcategory']='Нова категория'; $lang['news']='Новини'; $lang['news_return']='Връща'; $lang['nextpage']='>'; $lang['nocategorygiven']='Няма зададена категория'; $lang['nocontentgiven']='Няма зададено съдържание'; $lang['noitemsfound']='Няма намерени записи за категорията: %s'; $lang['nonamegiven']='Не е зададено име'; $lang['nopostdategiven']='Няма зададена дата'; $lang['note']='Бележки: Датите трябва да са в \'yyyy-mm-dd hh:mm:ss\' формат.'; $lang['notitlegiven']='Няма зададено заглавие'; $lang['numbertodisplay']='Брой статии за показване (ако е оставено празно показва всички)'; $lang['options']='Опции'; $lang['optionsupdated']='Опциите бяха успешно обновени.'; $lang['postdate']='Дата на публикуване'; $lang['postinstall']='Уверете се че правото "Промяна на Новини" е избрано за потребителите които ще администрират новините.'; $lang['prevpage']='<'; $lang['print']='Печат'; $lang['restoretodefaultsmsg']='Тази операция връща шаблоните към техните фабрични настройки. Сигурни ли сте че искате да продължите?'; $lang['selectcategory']='Избира категория'; $lang['showchildcategories']='Показва подкатегории'; $lang['sortascending']='Сортира абв'; $lang['startdate']='Начална дата'; $lang['startoffset']='Започва да показва на n-тата статия'; $lang['startrequiresend']='Въвеждането на начална дата изисква и крайна такава'; $lang['status']='Статус'; $lang['submit']='Въвежда'; $lang['summary']='Резюме'; $lang['summarytemplate']='Шаблон за резюме'; $lang['sysdefaults']='Връща фабричните настройки'; $lang['title']='Заглавие'; $lang['useexpiration']='Използва крайна дата'; ?> Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Caducat'; $lang['expired_searchable']='Articles caducats poden aparèixer en resultats de cerca'; $lang['expiry']='Caducitat'; $lang['expiry_date_asc']='Data de caducitat Ascendent'; $lang['expiry_date_desc']='Data de caducitat Descendent'; $lang['expiry_interval']='Nombre de dies (per defecte) abans que caduqui un article (si la caducitat està activada)'; $lang['fesubmit_redirect']='Identificador o àlies de pàgina per redirigir-s'hi després d'enviar un article de Notícies a través de l'acció de 'fesubmit' '; $lang['fesubmit_status']='Estat dels articles de notícies enviats vi en frontend'; $lang['fielddef']='Definició de camp'; $lang['fielddefadded']='Definició de camp afegit amb èxit'; $lang['fielddefdeleted']='Definició de camp eliminada'; $lang['fielddefupdated']='Definició del camp actualitzada'; $lang['file']='Arxiu'; $lang['filter']='Filtre'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Adreça de correu electrònic per rebre notificacions de notícies enviades'; $lang['formtemplate']='Planxetes de Formularis'; $lang['help']='

    Important Notes

    This version of News is greater than the one supplied with the 1.1 branch of CMS Made Simple. If you use this version of News you must use extreme caution when upgrading CMS Made Simple to ensure that nothing in the modules/News directory is overwritten.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.
    • entry->authorname - The full name of the the author including First and Last name.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit
    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_pagelimit']='Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat']='Mostra una llista navegable de categories'; $lang['helpdetailpage']='Pàgina per mostrar-hi detalls de notícies. Això pot ser un àlies de pàgina o un ID. Utilitzat per permetre mostrar detalls en una plantilla diferent del resum'; $lang['helpmoretext']='Text per mostrar al final d'un element de notícies si està per damunt la llargada del resum. El valor per fedecte és "més..."'; $lang['helpnumber']='Nombre màxim d'elements a mostrar =- en blanc per mostrar tots els elements'; $lang['helpshowall']='Mostra tots els articles, independentment de la data de finalització'; $lang['helpshowarchive']='Mostra només articles caducats'; $lang['helpsortasc']='Ordena els elements de notícies per data i ordre ascendent enlloc de descendent'; $lang['helpsortby']='Camp ordenat per . Les opcions són: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". El camp per defecte és "news_date". Si s'especifica "random", el paràmetre sortasc és ignorat.'; $lang['helpstart']='Comença a l'enèssim element -- en blanc per començar amb el primer element'; $lang['hide_summary_field']='Oculta el camp de resum quan s'afegeixen o editen articles'; $lang['info_maxlength']='La llargada màxima només aplica als camps de text'; $lang['info_sysdefault']='(contingut utilitzat per defecte quan es crea unanova planxeta)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['maxlength']='Llargada màxima'; $lang['more']='Més'; $lang['moretext']='Més text'; $lang['msg_contenttype_removed']='S'ha esborrat el tipus de contingut de Notícies. Posa el tag {news} amb els paràmetres adequats dins la teva plantilla o la teva pàgina per substituir aquesta funcionalitat.'; $lang['name']='Nom'; $lang['nameexists']='Un camp amb aquest mateix nom ja existeix'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['newcategory']='Nova Categoria'; $lang['news']='Notícies'; $lang['news_return']='Tornar'; $lang['nextpage']='>'; $lang['nocategorygiven']='No s'ha donat cap categoria'; $lang['nocontentgiven']='No s'ha donat cap contingut'; $lang['noitemsfound']='No s'han trobat elements per la categoria: %s'; $lang['nonamegiven']='No s'ha donat un nom'; $lang['none']='Cap'; $lang['nopostdategiven']='No s'ha donat una data per l'element'; $lang['notanumber']='La Llargada màxima no és un número'; $lang['note']='Nota: Dates han de ser en format 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Tens %d articles de Notícies no publicats'; $lang['notify_n_draft_items_sub']='%d article(s) de notícies'; $lang['notitlegiven']='No s'ha donat un títol'; $lang['numbertodisplay']='Nombre a mostrar (en blanc per mostrar tots els registres)'; $lang['options']='Opcions'; $lang['optionsupdated']='Les opcions s'han modificat correctament'; $lang['post_date_asc']='Data d'entrada Ascendent'; $lang['post_date_desc']='Data d'entrada Descendent'; $lang['postdate']='Data d'enviament'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['print']='Imprimeix'; $lang['prompt_default']='Per defecte'; $lang['prompt_name']='Nom'; $lang['prompt_newtemplate']='Crear una nova planxeta'; $lang['prompt_of']='de'; $lang['prompt_page']='Pàgina'; $lang['prompt_pagelimit']='Límit de pàgines'; $lang['prompt_sorting']='Ordenar per'; $lang['prompt_template']='Codi font de planxeta'; $lang['prompt_templatename']='Nom de planxeta'; $lang['public']='Públic'; $lang['published']='Publicat'; $lang['reassign_category']='Canvia la categoria a'; $lang['removed']='Eliminat'; $lang['resettodefault']='Retorna als valors per defecte de fàbrica'; $lang['restoretodefaultsmsg']='Aquesta operació restaurarà el contingut de la planxeta al seu valor per defecte. N'estàs segur que vols continuar?'; $lang['revert']='Fixa l'estat a 'Borrador''; $lang['select']='Tria'; $lang['selectcategory']='Tria una categoria'; $lang['showchildcategories']='Mostra les categories filles'; $lang['sortascending']='Ordre ascendent'; $lang['startdate']='Data d'inici'; $lang['startdatetoolate']='La data d'inici és massa tardana (posterior a la data de final?)'; $lang['startoffset']='Comença mostrant l'element enèssim'; $lang['startrequiresend']='Quan es defineix una data d'inici cal també definir data de finalització'; $lang['status']='Estat'; $lang['subject_newnews']='Un article de notícies ha estat penjat'; $lang['submit']='Enviar'; $lang['summary']='Resum'; $lang['summarytemplate']='Planxetes de resum'; $lang['summarytemplateupdated']='La planxeta de resum de notícia s'ha modificat correctament'; $lang['sysdefaults']='Restaurar a valors per defecte'; $lang['template']='Plkanxeta'; $lang['textarea']='Àrea de text'; $lang['textbox']='Entrada de text'; $lang['title']='Títol'; $lang['title_asc']='Títol Ascendent'; $lang['title_available_templates']='Planxetes disponibles'; $lang['title_browsecat_sysdefault']='Plantilla per defecte de Navegar categoria'; $lang['title_browsecat_template']=''; $lang['title_desc']='Títol Descendent'; $lang['title_detail_sysdefault']='Planxeta per defecte de detall'; $lang['title_detail_template']='Editor de planxeta de detall'; $lang['title_filter']='Filtres'; $lang['title_form_sysdefault']='Planxeta per defecte de formulari'; $lang['title_form_template']='Editor de planxeta de formulari'; $lang['title_summary_sysdefault']='Planxeta per defecte de resum'; $lang['title_summary_template']='Editor de planxeta de resum'; $lang['type']='Tipus'; $lang['unknown']='Desconegut'; $lang['unlimited']='Il.limitat'; $lang['up']='Amunt'; $lang['uploadscategory']='Puja categoria'; $lang['useexpiration']='Utilitza data de caducitat'; ?>(možná je již použito, nebo obsahuje nepovolené znaky)
    '; $lang['error_mkdir']='Nelze vytvořit adresář: %s'; $lang['error_movefile']='Nelze vytvořit soubor: %s'; $lang['error_noarticlesselected']='Nebyly vybrány žádné články.'; $lang['error_templatenamexists']='Šablona tohoto jména již existuje.'; $lang['error_upload']='Nastal problém při nahrávání souboru'; $lang['eventdesc-NewsArticleAdded']='Odesláno po vložení položky.'; $lang['eventdesc-NewsArticleDeleted']='Odesláno po smazání položky.'; $lang['eventdesc-NewsArticleEdited']='Odesláno po editaci položky.'; $lang['eventdesc-NewsCategoryAdded']='Odesláno po vložení kategorie.'; $lang['eventdesc-NewsCategoryDeleted']='Odesláno po smazání kategorie.'; $lang['eventdesc-NewsCategoryEdited']='Odesláno po úpravě kategorie.'; $lang['eventhelp-NewsArticleAdded']='

    Odesláno po vložení položky.

    Parametry

    • "news_id" - Id položky
    • "category_id" - Id kategorie této položky
    • "title" - Název položky
    • "content" - Obsah položky
    • "summary" - Souhrn položky
    • "status" - Stav položky ("draft" nebo "publish")
    • "start_time" - Datum, od kdy ma být položka zobrazována
    • "end_time" - Datum, od kdy se má položka přestat zobrazovat
    • "useexp" - Zda má být datum vypršení platnosti ignorováno nebo ne
    '; $lang['eventhelp-NewsArticleDeleted']='

    Odesláno po smazání položky.

    Parametry

    • "news_id" - Id položky
    '; $lang['eventhelp-NewsArticleEdited']='

    Odesláno po editaci položky.

    Parametry

    • "news_id" - Id položky
    • "category_id" - Id kategorie této položky
    • "title" - Název položky
    • "content\" - Obsah položky
    • "summary" - Souhrn položky
    • "status" - Stav položky ("draft" nebo "publish")
    • "start_time" - Datum, od kdy ma být položka zobrazována
    • "end_time" - Datum, od kdy se má položka přestat zobrazovat
    • "useexp" - Zda má být datum vypršení platnosti ignorováno nebo ne
    '; $lang['eventhelp-NewsCategoryAdded']='

    Odesláno po vložení kategorie.

    Parametry

    • "category_id" - Id kategorie
    • "name" - Jméno kategorie
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Odesláno po smazání kategorie.

    Parametry

    • "category_id" - Id kategorie
    • "name" - Jméno smazané kategorie
    '; $lang['eventhelp-NewsCategoryEdited']='

    Odesláno po úpravě kategorie.

    Parametry

    • "category_id" - Id kategorie
    • "name" - Jméno kategorie
    • "origname" - Původní jméno kategorie
    '; $lang['expired']='Vypršelo'; $lang['expired_searchable']='Expirované články se mohou zobrazovat ve výsledcích vyhledávání'; $lang['expiry']='Vyprší'; $lang['expiry_date_asc']='Podle data expirace vzestupně'; $lang['expiry_date_desc']='Podle data expirace sestupně'; $lang['expiry_interval']='Počet dní (výchozí hodnota) než článek expiruje (pokud je zvolena expirace)'; $lang['fesubmit_redirect']='PageID nebo alias pro přesměrování po odeslání článku přes akcifesubmit'; $lang['fesubmit_status']='Stav novinek vložených přes frontend (vlastní stránky)'; $lang['fielddef']='Popis políčka'; $lang['fielddefadded']='Popis políčka úspěšně přidán'; $lang['fielddefdeleted']='Popis políčka smazán'; $lang['fielddefupdated']='Popis políčka aktualizován'; $lang['file']='Soubor'; $lang['filter']='Filtr'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='E-mailová adresa, na kterou bude odesláno upozornění na vložení článku'; $lang['formtemplate']='Šablony formuláře'; $lang['help']='

    Důležité poznámky

    Verze Novinek 2.9 a vyšší odstraňuje ze šablony parametr formatpostdate a dateformat. Místo toho se pro formátování data používá cms_date_format (jak je naznačeno ve výchozích šablonách) a v šablonách se používá entry->postdate místo entry->formatpostdate.

    Co to dělá?

    Novinky jsou modul pro zobrazování novinek na stránkách, podobné stylu blogů, ale s více vlastnostmi!. Po instalaci modulu je do Administračního panelu přidáno menu, které umožňuje vybírat nebo vkládat kategorie stránek. Poté co je kategorie vybrána nebo vytvořena, je zobrazen seznam novinek této kategorie. Zde můžete přidávat, upravovat nebo mazat novinky zvolené kategorie.

    Mnoho metod zobrazení

    Podporované paraemtry modulu Novinky a podpora pro mnoho šablon dává neomezené možnosti zobrazení novinek.

    Vlastní pole

    Modul Novinky podporuje definování mnoha vlastních polí (včetně souborů a obrázků), což dovoluje připojit pdf soubory nebo obrázky do Vašich novinek.

    Kategorie

    Novinky nabízejí hierarchické třídění kategorií pro organizaci Vašich novinek. Novinka může být pouze v jedné kategorii.

    RSS Feedy

    Novinky podporují generování jednoduchých rss feedů z Vašich novinek, takže uživateleé mohou být stále informování co se na Vašich stránkách děje.

    Vypršení a status

    Každá položka může mít volitelné datum vypršení, po kterém se již nebude zobrazovat na Vašich stránkách. Novinky mohou být také označeny jako draft pro jejich trvalé odstranění ze stránek.

    Bezpečnost

    uživatel musí náležet do skupiny s oprávněním 'Modify News' pro vkládání nebo úpravu novinek.

    Rovněž pro smazání novinek musí uživatel náležet do skupiny s oprávněním 'Delete News Articles'.

    Pro změnu šablon, uživatel musí náležet do skupiny s oprávněním 'Modify Templates' permission.

    Pro úpravu globálních nastavení novinek musí uživatel náležet do skupiny s oprávněním 'Modify Site Preferences' permission.

    A pro schválení zobrazování novinek na stránkách musí uživatel náležet do skupiny s oprávněním 'Approve News' permission.

    Jak se používá?

    Nejjednodušší je to přes obalovací tag {news} (obalí modul pro zjednodušení syntaxe). Toto vloží modul Novinky do stránek kdekoliv si přejete. Kód vypadá nějak následovně: {news number='5'}

    Šablony

    Od verze 2.3 modul Novinky obsahuje více databázových šablon a nadále nepodporuje dodatečné soubory se šablonami. Uživatelé používající tento starý šablonovací systém by měli provést tyto kroky (pro každý soubor šablony):

    • Zkopírovat šablonu do schránky
    • Vytvořit novou databázovou šablonu (buď pro souhrn nebo detail). Přiřadit šabloně stejné jméno (včetně koncovky .tpl) podle staré souborové šablony a vložit do ní obsah ze schránky.
    • Stisknout odeslat

    Následování těchto kroků vyřeší problém s nenalezením šablon novinek a jiné podobné chyby smarty při aktualizaci CMS obsahující Novinky ve verzi 2.3 nebo vyšší.

    '; $lang['help_articleid']='Tento parametr je možné použít pouze u detailního pohledu. Povoluje zadat jaké novinky zobrazit v detailním módu. Pokud je použita speciální hodnota -1, systém zobrazí nejnovější, publikované, nevypršelé články.'; $lang['help_pagelimit']='Maximální počet položek k zobrazení (na stránku). Pokud tento parametr není zadán, budou zobrazeny všechy vyhovující položky. Pokud je zadán a položek je více než uvedeno v tomto parametru, bude vložen text a odkazy pro procházení výsledků'; $lang['helpaction']='Přepsat výchozí akci. Možné hodnoty jsou:
    • "detail" - pro zobrazení zadaného článku v detailním módu.
    • "default" - pro zobrazení pohledu souhrnu
    • "fesubmit" - pro zobrazení formuláře na stránkách povolující vkládat novinky koncovým uživatelům. Pro zobrazení vybraného WYSIWYG editoru (Administrace stránek - Globální nastavení) vložte do oblasti pro metadata {cms_init_editor}.
    • "browsecat" - pro zobrazení prohledávatelného seznamu kategorií.
    '; $lang['helpbrowsecat']='Zobrazit prohlížitelný seznam kategorií.'; $lang['helpbrowsecattemplate']='Použít databázavou šablonu pro zobrazení prohlížeče kategorií. Tato šablona musí existovat a musí být viditelná v záložce Procházení šablon kategorií v administraci modulu Novinky, ale nemusí být šablonou výchozí. Pokud tento parametr není použit, pak bude použita šablona momentálně označená jako výchozí.'; $lang['helpcategory']='Zobrazit pouze položky této kategorie. Pro zobrazení podpoložek použijte * za jménem. Více kategorií může být odděleno čárkou.Ponecháno prázdné zobrazí všechny kategorie.'; $lang['helpdetailpage']='Stránka pro zobrazní detailu novinky. Toto může být buď alias nebo id stránky. Umožňuje zobrazit detaily v jiné šabloně než souhrn.'; $lang['helpdetailtemplate']='Používat oddělenou šablonu pro detail. Tato šablona musí existovat a být viditelná v záložce šablon detailu v administraci Novinek i když není výchozí. Pokud tento parametr není zadán, je použita šablona označena jako výchozí.'; $lang['helpformtemplate']='Použít databázovou šablonu pro zobrazení formuláře, sloužícího k vložení článku. Tato šablona musí existovat a být viditelná v panelu formulářových šablon (v administračním rozhraní modulu Novinky), ale nemusí být šablonou výchozí. Pokud tento parametr není použit, pak bude použita šablona momentálně označená jako výchozí.'; $lang['helpmoretext']='Text pro zobrazení na konci novinky pokud jde přes délku souhrnu. Základní je "more..."'; $lang['helpnumber']='Maximální počet položek k zobrazení - ponecháno prázdné zobrazí všechny položky.'; $lang['helpshowall']='Zobrazit všechny články nehledě na jejich konečné datum'; $lang['helpshowarchive']='Zobrazit pouze expirované novinky.'; $lang['helpsortasc']='Třídit novinky vzestupně.'; $lang['helpsortby']='Pole pro třídění. Možnosti jsou: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". výchozí je "news_date". Při zadaním "random" je ignorován parametr sortasc.'; $lang['helpstart']='Začít na n-té položce -- prázdné začne na první položce.'; $lang['helpsummarytemplate']='Používat oddělenou šablonu pro souhrn. Tato šablona musí existovat a být viditelná v záložce šablon souhrnu v administraci Novinek i když není výchozí. Pokud tento parametr není zadán, je použita šablona označena jako výchozí.'; $lang['hide_summary_field']='Skrýt pole shrnutí při přidávání nebo úpravách článků'; $lang['info_detail_returnid']='Tímto nastavením zbolíte, jakou stránku (a tedy i šablonu) použít pro zobrazování detailu. Pokud nebude tento parametr nastaven na platnou stránku, nebude fungovat vlastní URL adresa zadaná ve vlastnostech článku. Dále také určuje výchozí hodnotu parametru detailpage, pokud nebude v tagu {news} definován.'; $lang['info_maxlength']='Maximální délka se vztahuje pouze na textová pole'; $lang['info_sysdefault']='(toto je výchozí obsah nově vytořených šablon)'; $lang['info_sysdefault2']='Poznámka: Tento panel obsahuje textová pole, které vám umožňují upravit sadu šablon, jež jsou zobrazeny, když vytvoříte "novou" šablonu shrnutí, detailu nebo formuláře. Změna obsahu na této stránce a potvrzení tlačítkem "Odeslat" nezmění žádné současné šablony'; $lang['lastpage']='>>'; $lang['maxlength']='Maximální délka'; $lang['more']='Více'; $lang['moretext']='Více textu'; $lang['msg_contenttype_removed']='Typ obsahu "Novinky" byl odebrán. Prosím umístěte {news} tagy s příslušnými parametry do vašich šablon nebo stránek pro obnovení funkcionality.'; $lang['name']='Jméno'; $lang['nameexists']='Políčko tohoto jména již existuje'; $lang['needpermission']='pro provedení této funkce potřebujete oprávnění '%s'.'; $lang['newcategory']='Nová kategorie'; $lang['news']='Novinky'; $lang['news_return']='Návrat'; $lang['nextpage']='>'; $lang['nocategorygiven']='Kategorie nezadána'; $lang['nocontentgiven']='Obsah nezadán'; $lang['noitemsfound']='Žádné položky nenalezeny v kategorii: %s'; $lang['nonamegiven']='Nezadáno jméno'; $lang['none']='Žádný'; $lang['nopostdategiven']='Datum vložení nezadáno'; $lang['notanumber']='Maximální délka není číslo'; $lang['note']='Poznámka: Datum musí být ve formátu 'yyyy-mm-dd hh:mm:ss''; $lang['notify_n_draft_items']='Máte %s článků, které nejsou publikovány.'; $lang['notify_n_draft_items_sub']='%d článků'; $lang['notitlegiven']='Nadpis nezadán'; $lang['numbertodisplay']='Počet k zobrazení (prázdné zobrazí všechny záznamy)'; $lang['options']='Volby'; $lang['optionsupdated']='Volby úspěšně aktualizovány.'; $lang['post_date_asc']='Podle data publikace (nejstarší první)'; $lang['post_date_desc']='Podle data publikace (nejnovější první)'; $lang['postdate']='Datum vložení'; $lang['postinstall']='Nastavte oprávnění "Modify News" všem uživatelům, kteří budou spravovat novinky.'; $lang['preview']='Náhled'; $lang['prevpage']='<'; $lang['print']='Tisknout'; $lang['prompt_default']='Výchozí'; $lang['prompt_name']='Jméno'; $lang['prompt_newtemplate']='Vytvořit novou šablonu'; $lang['prompt_of']='z'; $lang['prompt_page']='Stránka'; $lang['prompt_pagelimit']='Limit stránky'; $lang['prompt_sorting']='Třídit podle'; $lang['prompt_template']='Zdroj šablony'; $lang['prompt_templatename']='Jméno šablony'; $lang['public']='Veřejný'; $lang['published']='Publikováno'; $lang['reassign_category']='Změnit kategorii na'; $lang['removed']='Odebráno'; $lang['resettodefault']='Reset do výchozího nastavení'; $lang['restoretodefaultsmsg']='Tato operace vrátí výchozí nastavení obsahu šablony. Opravdu to chcete provést?'; $lang['revert']='Nastavit stav na "Draft"'; $lang['select']='Zvolit'; $lang['selectcategory']='Vybrat kategorii'; $lang['showchildcategories']='Zobrazit podřízené kategorie'; $lang['sortascending']='Třídit vzestupně'; $lang['startdate']='Začíná'; $lang['startdatetoolate']='Datum počátku je příliš pozdní (po datu konce?)'; $lang['startoffset']='Začít zobrazení na n-té položce'; $lang['startrequiresend']='Vložení data začátku potřebuje také datum ukončení'; $lang['status']='Stav'; $lang['status_asc']='Podle stavu vzestupně'; $lang['status_desc']='Podle stavu sestupně'; $lang['subject_newnews']='Nový článek byl publikován'; $lang['submit']='Odeslat'; $lang['summary']='Souhrn'; $lang['summarytemplate']='Šablona souhrnu'; $lang['summarytemplateupdated']='Šablona souhrnu novinek úspěšně aktualizována.'; $lang['sysdefaults']='Vrátit výchozí'; $lang['template']='Šablona'; $lang['textarea']='Oblast textu'; $lang['textbox']='Textové vstupní pole'; $lang['title']='Nadpis'; $lang['title_asc']='Podle titulku vzestupně (A-Z)'; $lang['title_available_templates']='Dostupné šablony'; $lang['title_browsecat_sysdefault']='Výchozí šablona procházení kategorií'; $lang['title_browsecat_template']='Editor procházení šablon kategorií'; $lang['title_desc']='Podle titulku sestupně (Z-A)'; $lang['title_detail_returnid']='Výchozí stránka pro zobrazení detailu'; $lang['title_detail_settings']='Zobrazení detailu'; $lang['title_detail_sysdefault']='Výchozí šablona detailu'; $lang['title_detail_template']='Editor šablony detailu'; $lang['title_fesubmit_settings']='Novinky od koncových uživatelů (FEU)'; $lang['title_filter']='Filtry'; $lang['title_form_sysdefault']='Výchozí šablona formuláře'; $lang['title_form_template']='Editor šablon formuláře'; $lang['title_notification_settings']='Upozornění'; $lang['title_submission_settings']='Vkládání novinek'; $lang['title_summary_sysdefault']='Výchozí šablona souhrnu'; $lang['title_summary_template']='Editor šablony souhrnu'; $lang['type']='Typ'; $lang['unknown']='Neznámý'; $lang['unlimited']='Neomezeně'; $lang['up']='Nahoru'; $lang['uploadscategory']='Kategorie uploadu'; $lang['useexpiration']='Použít datum konce'; $lang['warning_preview']='Varování: Tento náhledový panel se chová více jako okno prohlížeče a umožňuje navigaci z původně prohlížené stránky. Pokud tak uděláte, může nastat nepředvídané chování.
    Poznámka: Tento náhled nenahraje vybrané soubory.'; ?>(måske anvendes den allerede eller den indeholder ugyldige tegn)'; $lang['error_mkdir'] = 'Kunne ikke oprette mappen: %s'; $lang['error_movefile'] = 'Kunne ikke oprette filen: %s'; $lang['error_noarticlesselected'] = 'Ingen artikler valgt'; $lang['error_nooptions'] = 'Der er ikke angivet nogen feltdefinitioner'; $lang['error_templatenamexists'] = 'En skabelon med dette navn findes allerede'; $lang['error_upload'] = 'Fejl ved upload af fil'; $lang['eventdesc-NewsArticleAdded'] = 'Sendes når en artikel tilføjes.'; $lang['eventhelp-NewsArticleAdded'] = '

    Sendes når en artikel tilføjes.

    Parametre

    • \\"news_id\\" - Nyhedsartiklens id
    • \\"category_id\\" - Artiklens kategori-id
    • \\"title\\" - Artiklens titel
    • \\"content\\" - Artiklens indhold
    • \\"summary\\" - Artiklens resumé
    • \\"status\\" - Artiklens status (\\"Kladde\\" eller \\"Udgivet\\")
    • \\"start_time\\" - Den dato hvorfra artiklen skal vises
    • \\"end_time\\" - Den dato hvorfra artiklen ikke længere skal vises
    • \\"useexp\\" - Om udløbsdatoen skal ignoreres eller ej
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Sendes når en artikel slettes.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sendes når en artikel slettes.

    Parametre

    • \\"news_id\\" - Nyhedsartiklens id
    '; $lang['eventdesc-NewsArticleEdited'] = 'Sendes når en artikel redigeres.'; $lang['eventhelp-NewsArticleEdited'] = '

    Sendes når en artikel redigeres.

    Parametre

    • \\"news_id\\" - Nyhedsartiklens id
    • \\"category_id\\" - Artiklens kategori-id
    • \\"title\\" - Artiklens titel
    • \\"content\\" - Artiklens indhold
    • \\"summary\\" - Artiklens resumé
    • \\"status\\" - Artiklens status (\\"Kladde\\" eller \\"Udgivet\\")
    • \\"start_time\\" - Den dato hvorfra artiklen skal vises
    • \\"end_time\\" - Den dato hvorfra artiklen ikke længere skal vises
    • \\"useexp\\" - Om udløbsdatoen skal ignoreres eller ej

    Bemærk: Det er ikke sikkert, at alle disse parametre er tilgængelige, når denne hændelse sendes.

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Sendes når en kategori tilføjes.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Sendes når en kategori tilføjes.

    Parametre

    • \\"category_id\\" - Kategoriens id
    • \\"name\\" - Kategoriens navn
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Sendes når en kategori slettes.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Sendes når en kategori slettes.

    Parametre

    • \\"category_id\\" - Det id som den slettede kategori havde
    • \\"name\\" - Det navn som den slettede kategori havde
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Sendes når en kategori redigeres.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Sendes når en kategori redigeres.

    Parametre

    • \\"category_id\\" - Kategoriens id
    • \\"name\\" - Kategoriens navn
    • \\"origname\\" - Nyhedskategoriens oprindelige navn
    '; $lang['expired'] = 'Udløbet'; $lang['expired_searchable'] = 'Udløbne artikler kan forekomme i søgeresultater'; $lang['expired_viewable'] = 'Udløbne artikler kan vises i indholdsvisningen'; $lang['expiry'] = 'Udløb'; $lang['expiry_date_asc'] = 'Udløbsdato stigende'; $lang['expiry_date_desc'] = 'Udløbsdato faldende'; $lang['expiry_interval'] = 'Antallet af dage (standardværdi) før en artikel udløber (hvis udløbsdato vælges)'; $lang['extra'] = 'Ekstra'; $lang['extra_label'] = 'Ekstra:'; $lang['fesubmit_redirect'] = 'PageID eller alias som der skal viderstilles til efter nyhedsartklen er sendt gennem fesubmit handlingen'; $lang['fesubmit_status'] = 'Status for nyhedsartikler sendt via frontend'; $lang['fielddef'] = 'Feltdefinition'; $lang['fielddefadded'] = 'Feltdefinitionen blev tilføjet'; $lang['fielddefdeleted'] = 'Feltdefinition slettet'; $lang['fielddefupdated'] = 'Feltdefinition opdateret'; $lang['file'] = 'Fil'; $lang['filter'] = 'Filter'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Email-adresse som adviseringer skal sendes til'; $lang['formtemplate'] = 'Skabeloner for formularer'; $lang['help'] = '

    Vigtigt at bemærke

    Version 2.9 og derover af News har fjernet parametret formatpostdate og dateformat fra skabelonerne. Du bør i stedet bruge cms_date_format (som oplyst i standardskabelonerne) til formatering af datoer samt entry->postdate i stedet for entry->formatpostdate i dine skabeloner.

    Hvad er det her?

    News er et modul til visning af nyheder på siden i lighed med en blog, men med flere funktioner!. Når modulet er installeret, føjes menupunktet "Nyheder" til administrationsmenuen. I nyhedsadministrationen kan man selektere og oprette nyhedskategorier. Når der er oprettet eller valgt en nyhedskategori, vises en liste over nyheder i kategorien. Herfra kan du tilføje, redigere eller slette nyheder i kategorien.

    Mange visningsmetoder

    Nyhedsmodulets parametre samt understøttelse af mange skabeloner betyder, at du kan præsentere nyhedsartiklerne på et utal af måder.

    Brugerdefinerede felter

    Nyhedsmodulet giver mulighed for selv at definere en række felter (herunder filer og billeder), som gør det muligt at knytte pdf filer eller et utal af billeder til artiklerne.

    Kategorier

    Modulet indeholder et system af hierarkiske kategorier, så artiklerne kan organiseres efter ønske. En nyhedsartikel kan kun ligge ét sted i hierarkiet.

    Udløb og status

    Hver nyhedsartikel kan gives en udløbsdato, hvis man ønsker det. Efter den angivne dato vises artiklen ikke længere på hjemmesiden. Artikler kan også markeres som kladde, hvorved de bliver fjernet permanent fra hjemmesiden.

    Sikkerhed

    Brugeren skal tilhøre en gruppe, som har tilladelsen \'Modify News\' for at kunne tilføje eller redigere nyhedsartikler.

    For at kunne slette nyhedsartikler skal brugeren ligeledes tilhøre en gruppe, som har tilladelsen \'Delete News Articles\'.

    For at kunne redigere de skabeloner, som styrer layoutet, skal brugeren tilhøre en gruppe, som har tilladelsen \'Modify Templates\' .

    For at kunne redigere nyhedernes globale præferencer skal brugeren tilhøre en gruppe, som har tilladelsen \'Modify Site Preferences\'.

    For at godkende nyheder fra hjemmesidens "forside" skal brugeren tilhøre en gruppe, som har tilladelsen \'Approve News\' .

    Hvordan tager jeg det i brug?

    Den letteste måde er at bruge {news} tag\'et (putter modulet ind i et tag, for at forenkle syntaksen). Modulets tag indsættes i en skabelon eller en side hvor som helst, du ønsker nyhedsartiklerne vist. Koden kunne se således ud: {news number=\'5\'}

    Skabeloner

    Siden version 2.3 har modulet understøttet brug af flere forskellige skabeloner fra databasen, mens ekstra skabeloner fra filer ikke længere understøttes. Brugere som anvendte det gamle fil-skabelon-system, bør følge disse trin (for hver fil-skabelon):

    • Kopier fil-skabelonen til klippebordet
    • Opret en ny database-skabelon (til enten resumé eller indhold efter behov). Giv den nye skabelon det samme navn (inklusiv endelsen .tpl) som den gamle fil-skabelon og indsæt indholdet fra klippebordet.
    • Klik på Send

    Disse trin skulle løse problemet med, at dine nyhedsskabeloner ikke kan findes samt andre lignende smarty fejl, når du opgraderer til en version af CMS, som anvender News 2.3 eller derover.

    '; $lang['helpaction'] = '\'Tilsidesæt standardhandlingen. Kan antage følgende værdier:
    • "detail" - se en bestemt artikels indhold.
    • "default" - se artiklens resumé
    • "fesubmit" - Anvendelse frarådes vis frontend formularen, så brugerne kan oprette nyhedsartikler fra den almindelige hjemmeside. Indsæt:{cms_init_editor} i metadata-sektionen for at initialisere den valgte wysiwyg editor. (Side Administration >> Global konfiguration)
    • "browsecat" - vis en liste over kategorier.
    '; $lang['helpbrowsecat'] = 'Vis en liste over kategorier.'; $lang['helpbrowsecattemplate'] = 'Anvend en særskilt skabelon fra databasen til gennemsyn af kategorier. Skabelonen skal være oprettet og kunne ses under fanen "Gennemse kategoriskabeloner" i Nyhedsadministrationen. Skabelonen behøver dog ikke at være valgt som standard. Hvis denne parameter ikke er sat, så vil den skabelon, som for øjeblikket er sat som standard, blive anvendt.'; $lang['helpcategory'] = 'Vis kun nyheder for denne kategori og dens underkategorier. Hvis feltet er blankt vises alle kategorier.'; $lang['helpdetailpage'] = 'Side som nyhedernes indhold skal vises på. Det kan være et side-alias eller et side-id. Bruges til at vise indholdet i en anden skabelon end den der bruges til resumeet.'; $lang['helpdetailtemplate'] = 'Anvend en særskilt skabelon fra databasen til visning af artiklens indhold. Skabelonen skal være oprettet og kunne ses under fanen "Indholdsskabeloner" i Nyhedsadministrationen. Skabelonen behøver dog ikke at være valgt som standard. Hvis denne parameter ikke er sat, så vil den skabelon, som for øjeblikket er sat som standard, blive anvendt.'; $lang['helpformtemplate'] = 'Brug en særskilt skabelon fra databasen til visning af formularen til oprettelse af artikler. Skabelonen skal være oprettet og kunne ses under fanen "Formularskabeloner" i Nyhedsadministrationen. Skabelonen behøver dog ikke at være valgt som standard. Hvis denne parameter ikke er sat, så vil den skabelon, som for øjeblikket er sat som standard, blive anvendt.'; $lang['helpmoretext'] = 'Tekst der skal vises efter en nyhed hvis længden af denne overskrider resumeets længde. Standard er "Mere..."'; $lang['helpnumber'] = 'Det maksimale antal nyheder der skal vises -- alle nyheder vises hvis feltet er blankt.'; $lang['helpshowall'] = 'Vis alle artikler, uden at tage hensyn til udløbsdato'; $lang['helpshowarchive'] = 'Vis kun udløbne nyhedsartikler'; $lang['helpsortasc'] = 'Sortér nyheder i stigende orden efter dato i stedet for faldende.'; $lang['helpsortby'] = 'Hvilket felt der skal sorteres efter. Muligheder er: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Er intet angivet benyttes "news_date". Hvis sat til "random", bliver sortasc-parametren ignoreret.'; $lang['helpstart'] = 'Start ved det n\'te element - hvis intet er angivet startes ved det første element.'; $lang['helpsummarytemplate'] = 'Benyt en særskilt skabelon fra databasen til at vise en nyhedsartikels resumé. Skabelonen skal være oprettet og kunne ses under fanen "Resuméskabeloner" i Nyhedsadministrationen, omend den ikke behøver at være sat som standard. Hvis denne parameter ikke er sat, så vil den skabelon, som i øjeblikket er markeret som standard blive anvendt.'; $lang['help_articleid'] = 'Denne parameter kan kun anvendes ved indholdsvisning. Den gør det muligt at specificere hvilke nyhedsartikler, som skal vises i indholdsvisning. Anvendes specialværdien -1, vil systemet vise den nyeste artikel med statussen "Udgivet", som ikke har overskredet udløbsdatoen.'; $lang['help_article_title'] = 'Indtast artiklens titel. Den bør være kort og uden html-koder.'; $lang['help_article_category'] = 'Af hensyn til organiseringen af artiklerne, har du mulighed for at vælge en kategori'; $lang['help_article_content'] = 'Indtast artiklens hovedindhold her'; $lang['help_article_enddate'] = 'Hvis der benyttes udløbstidspunkt, bliver artiklen ikke længere vist efter det angivne tidspunkt'; $lang['help_article_extra'] = 'Her kan angives ekstra oplysninger tilknyttet nyhedsartiklen. Feltet kan anvendes til bestemmelse af rækkefølge eller i forbindelse med funktioner fastsat af designeren. Du bør spørge udvikleren af hjemmesiden om, hvordan feltet skal bruges (om overhovedet)'; $lang['help_article_searchable'] = 'Dette felt angiver, om artiklen skal indekseres af søgemodulet eller ej'; $lang['help_article_postdate'] = 'Oprettelsesdatoen (normalt dags dato for nyhedsartikler) er den dato, hvor artiklen bliver offentliggjort. Den anvendes også i forbindelse med sortering af rækkefølge'; $lang['help_article_summary'] = 'Indtast en kort tekst, som beskriver artiklen. Resumeet kan bruges i forbindelse med oversigter over flere artikler'; $lang['help_article_status'] = 'Hvis du ønsker, at artiklen øjeblikkeligt skal kunne ses af andre, skal du vælge statussen offentliggjort. Hvis du gerne vil arbejde videre med denne artikel lidt endnu, så vælg kladde'; $lang['help_articles_filtercategory'] = 'Listen over viste artikler kan filtreres, så kun dem der tilhører den valgte kategori bliver vist'; $lang['help_pagelimit'] = 'Maksimalt antal emner der skal vises (pr. side). Hvis denne parameter ikke er sat, vil alle emner blive vist. Hvis den er sat, og der er flere emner end angivet, vil der blive vist tekst og links, så der kan rulles gennem resultaterne'; $lang['hide_summary_field'] = 'Skjul resumé-feltet ved oprettelse eller redigering af artikler'; $lang['info_allow_fesubmit'] = 'Denne indstilling bestemmer, hvorvidt der kan indsendes artikler af brugerene via selve hjemmesiden med modulet Front End Users. Vær forsigtig med denne indstilling.'; $lang['info_categories'] = 'Nyhedsartikler kan organiseres ved hjælp af hierarkiske kategorier'; $lang['info_detail_returnid'] = 'Præferencen anvendes til at bestemme hvilken side (og dermed hvilken skabelon) der skal bruges til visning af nyhedernes indhold. Individualiserede webadresser til nyhedsindhold kommer ikke til at virke, hvis ikke denne parameter sættes til en gyldig side. Bemærk endvidere, at hvis denne præference er sat, men der ikke er angivet nogen værdi for parametren "detailpage" sammen med news tag\'et, så anvendes denne værdi til links til nyhedernes indhold.'; $lang['info_expired_searchable'] = 'Ved tilvalg kan udløbne artikler fortsat indekseres af søgemodulet og vises i søgeresultaterne'; $lang['info_expired_viewable'] = 'Hvis aktiveret kan udløbne artikler vises i indholdsmodus (genskabelse af ældre funktionalitet). Parametren showall kan anvendes på webadressen (når der ikke bruges pretty urls) for at vise, at også udløbne artikler kan blive vist.'; $lang['info_fesubmit_notification'] = 'Hvis ønsket kan du sende en email til en enkelt email adresse, når der indsendes en nyhedsartikel via formular på selve hjemmesiden.'; $lang['info_maxlength'] = 'Den maksimale længe har kune relevans for tekst input felter'; $lang['info_reorder_categories'] = 'Træk og slip hvert af emnerne til den korrekte placering for at ændre kategoriernes indbyrdes orden'; $lang['info_searchable'] = 'Feltet angiver, om artiklen skal medtages af søgemodulet eller ej'; $lang['info_sysdefault'] = '(indhold der benyttes som standard når der oprettes en ny skabelon)'; $lang['info_sysdefault2'] = 'Bemærk: Denne fane indeholder tekstfelter, hvori du kan redigere et sæt af skabeloner, som bruges, når du opretter en ny skabelon til resumeer, indhold og formularer. Ændring af indhold under denne fane og klik på \'Send\' har ingen effekt på nogen af de nuværende visningsmåder.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Søg i nyhedsartikler'; $lang['linkedfile'] = 'Tilknyttet fil'; $lang['maxlength'] = 'Maksimal længde'; $lang['msg_cancelled'] = 'Handling annulleret'; $lang['msg_categoriesreordered'] = 'Rækkefølge af kategorier opdateret'; $lang['msg_contenttype_removed'] = 'Nyheds-indholdstypen er blevet fjernet. Erstat venligst {news} tags med de fungerende parametre i din skabelon eller indhold for at genskabe denne funktionalitet.'; $lang['msg_success'] = 'Handling udført'; $lang['more'] = 'Mere'; $lang['moretext'] = 'Mere tekst'; $lang['name'] = 'Navn'; $lang['nameexists'] = 'Et felt med dette navn eksisterer allerede'; $lang['needpermission'] = 'Du skal have tilladelsen \\\'%s\\\' for at kunne udføre den funktion.'; $lang['newcategory'] = 'Ny kategori'; $lang['news'] = 'Nyheder'; $lang['news_return'] = 'Tilbage'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Indtil videre er der ikke blevet oprettet nogen nyhedsartikler'; $lang['noarticlesinfilter'] = 'Ved brug af dette filter er der ikke nogen nyhedsartikler at vise'; $lang['nocategorygiven'] = 'Ingen kategori angivet'; $lang['nocontentgiven'] = 'Intet indhold angivet'; $lang['noitemsfound'] = 'Ingen nyheder fundet for kategorien: %s'; $lang['nonamegiven'] = 'Intet navn angivet'; $lang['none'] = 'Ingen'; $lang['nopostdategiven'] = 'Ingen oprettelsesdato angivet'; $lang['notanumber'] = 'Maksimal længde er ikke et tal'; $lang['note'] = 'Bemærk: Datoer skal angives i formatet: \'yy-mm-dd tt:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Du har %s som ikke er offentliggjort'; $lang['notify_n_draft_items_sub'] = '%d Nyhedsartikle(r)'; $lang['notitlegiven'] = 'Ingen titel angivet'; $lang['numbertodisplay'] = 'Antal der skal vises (blank viser alle nyheder)'; $lang['options'] = 'Indstillinger'; $lang['optionsupdated'] = 'Indstillingerne blev gemt.'; $lang['parent'] = 'Overliggende'; $lang['postdate'] = 'Oprettelsesdato'; $lang['postinstall'] = 'Kontrollér at tilladelsen "Modify News" er slået til for brugere der skal kunne administrere Nyheder.'; $lang['post_date_asc'] = 'Oprettelsesdato stigende'; $lang['post_date_desc'] = 'Oprettelsesdato faldende'; $lang['preview'] = 'Visning'; $lang['prevpage'] = '<'; $lang['print'] = 'Udskriv'; $lang['prompt_alert_drafts'] = 'Giv besked om artikler, som ikke er blevet godkendt'; $lang['prompt_allow_fesubmit'] = 'Tillad at nyhedsartikler kan oprettes via hjemmesiden'; $lang['prompt_default'] = 'Standard'; $lang['prompt_go'] = 'Sæt igang'; $lang['prompt_name'] = 'Navn'; $lang['prompt_newtemplate'] = 'Opret en ny skabelon'; $lang['prompt_of'] = 'af'; $lang['prompt_page'] = 'Side'; $lang['prompt_pagelimit'] = 'Side grænse'; $lang['prompt_redirecttocontent'] = 'Retur til side'; $lang['prompt_sorting'] = 'Sortér på'; $lang['prompt_template'] = 'Skabelon kode'; $lang['prompt_templatename'] = 'Skabelonens navn'; $lang['public'] = 'Udgivet'; $lang['published'] = 'Udgivet'; $lang['reassign_category'] = 'Skift kategori til'; $lang['removed'] = 'Fjernet'; $lang['reorder'] = 'Ændring af rækkefølge'; $lang['reset'] = 'Nulstil'; $lang['resettodefault'] = 'Gendan fabriksindstillinger'; $lang['restoretodefaultsmsg'] = 'Med denne handling gendannes systemets oprindelige skabeloner. Er du sikker på, du vil fortsætte?'; $lang['revert'] = 'Sæt status til \'Kladde\''; $lang['searchable'] = 'Søgbar'; $lang['select'] = 'Vælg'; $lang['select_option'] = 'Foretag valg'; $lang['selectall'] = 'Vælg alle'; $lang['selectcategory'] = 'Vælg kategori'; $lang['showchildcategories'] = 'Vis underkategorier'; $lang['sortascending'] = 'Sortér stigende'; $lang['startdate'] = 'Start dato'; $lang['startdatetoolate'] = 'Startdatoen er for sen (efter slutdato?)'; $lang['startoffset'] = 'Begynd visning ved det n\'te element'; $lang['startrequiresend'] = 'Angivelse af en startdato kræver en slutdato'; $lang['status'] = 'Status'; $lang['status_asc'] = 'Status i stigende orden'; $lang['status_desc'] = 'Status i faldende orden'; $lang['subject_newnews'] = 'Der er blevet oprettet en ny nyhedsartikel'; $lang['submit'] = 'Send'; $lang['summary'] = 'Resumé'; $lang['summarytemplate'] = 'Resuméskabelon'; $lang['summarytemplateupdated'] = 'Skabelonen til resumé af nyheder blev opdateret.'; $lang['sysdefaults'] = 'Nulstil til standardværdier'; $lang['template'] = 'Skabelon'; $lang['textarea'] = 'Tekstfelt'; $lang['textbox'] = 'Tekst input'; $lang['title'] = 'Titel'; $lang['title_asc'] = 'Titel stigende'; $lang['title_available_templates'] = 'Tilgængelige skabeloner'; $lang['title_browsecat_sysdefault'] = 'Standardskabelon for gennemsyn af kategorier'; $lang['title_browsecat_template'] = 'Skabelon for gennemsyn af kategorier'; $lang['title_desc'] = 'Titel faldende'; $lang['title_detail_returnid'] = 'Standardside til indholdsvisning'; $lang['title_detail_settings'] = 'Indstillinger for indholdsvisning'; $lang['title_detail_sysdefault'] = 'Standardskabelon for indhold'; $lang['title_detail_template'] = 'Redigering af indholdsskabeloner'; $lang['title_draft_entries'] = 'Nyhedsartikler som ikke er blevet godkendt'; $lang['title_fesubmit_form'] = 'Send nyhedsartikel'; $lang['title_fesubmit_settings'] = 'Indstillinger for oprettelse af nyheder via frontend'; $lang['title_filter'] = 'Filtre'; $lang['title_form_sysdefault'] = 'Standardskabelon for formular'; $lang['title_form_template'] = 'Redigering af formular-skabeloner'; $lang['title_news_settings'] = 'Indstillinger - Nyhedsmodul'; $lang['title_notification_settings'] = 'Indstillinger for advisering'; $lang['title_submission_settings'] = 'Indstillinger for oprettelse af nyheder'; $lang['title_summary_sysdefault'] = 'Standardskabelon for resumé'; $lang['title_summary_template'] = 'Redigering af resuméskabeloner'; $lang['toggle_bulk'] = 'Medtag denne artikel ved samlet behandling af flere artikler'; $lang['type'] = 'Skriv'; $lang['type_browsecat'] = 'Gennemse kategori'; $lang['type_form'] = 'Brugerformular'; $lang['type_detail'] = 'Detalje'; $lang['type_News'] = 'Nyheder'; $lang['type_summary'] = 'Resumé'; $lang['unknown'] = 'Ukendt'; $lang['unlimited'] = 'Ubegrænset'; $lang['up'] = 'Op'; $lang['uploadscategory'] = 'Uploads kategori'; $lang['url'] = 'Webadresse'; $lang['useexpiration'] = 'Benyt udløbsdato'; $lang['viewfilter'] = 'Vis filter'; $lang['warning_preview'] = 'Advarsel: Dette visningsvindue fungerer i store træk ligesom en browser, hvilket indebærer, at du kan navigere væk fra den oprindeligt viste side. Men gør du det, kan du komme ud for uventede hændelser. Navigering væk fra den oprindelige side og tilbage igen fungerer ikke som forventet.
    Bemærk: Visningen uploader ikke de filer, du måtte have valgt til upload.'; $lang['with_selected'] = 'Med valgte'; ?>(eventuell wird diese bereits verwendet oder sie enthält ungültige Zeichen)'; $lang['error_mkdir'] = 'Konnte das Verzeichnis %s nicht erstellen'; $lang['error_movefile'] = 'Konnte die Datei %s nicht erstellen'; $lang['error_noarticlesselected'] = 'Es wurden keine Artikel ausgewählt'; $lang['error_nooptions'] = 'Keine Optionen für die Felddefinition angegeben'; $lang['error_templatenamexists'] = 'Es existiert bereits eine Vorlage mit diesem Namen'; $lang['error_upload'] = 'Beim Hochladen der Datei ist ein Problem aufgetreten'; $lang['eventdesc-NewsArticleAdded'] = 'Ausführen, wenn ein Artikel hinzugefügt wurde.'; $lang['eventhelp-NewsArticleAdded'] = '
    Parameter Beschreibung
    news_id ID des Nachrichtenartikels
    category_id ID der Kategorie für diesen Artikel
    title Titel des Artikels
    content Inhalt des Artikels
    summary Zusammenfassung des Artikels
    status Status des Artikels („Entwurf/draft“ oder „Veröffentlicht/publish“)
    start_time Datum, ab dem der Artikel angezeigt werden soll
    end_time Datum, ab dem der Artikel nicht mehr angezeigt werden soll
    useexp die Zeitsteuerung soll ignoriert werden oder auch nicht
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Ausführen, wenn ein Artikel gelöscht wurde.'; $lang['eventhelp-NewsArticleDeleted'] = '
    Parameter Beschreibung
    news_id ID des Nachrichtenartikels
    '; $lang['eventdesc-NewsArticleEdited'] = 'Ausführen, wenn ein Artikel bearbeitet wurde.'; $lang['eventhelp-NewsArticleEdited'] = '
    Parameter Beschreibung
    news_id ID des Nachrichtenartikels
    category_id ID der Kategorie für diesen Artikel
    title Titel des Artikels
    content Inhalt des Artikels
    summary Zusammenfassung des Artikels
    status Status des Artikels („Entwurf/draft“ oder „Veröffentlicht/publish“)
    start_time Datum, ab dem der Artikel angezeigt werden soll
    end_time Datum, ab dem der Artikel nicht mehr angezeigt werden soll
    useexp die Zeitsteuerung soll ignoriert werden oder auch nicht
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Ausführen, wenn eine Kategorie hinzugefügt wurde.'; $lang['eventhelp-NewsCategoryAdded'] = '
    Parameter Beschreibung
    category_id ID der Nachrichtenkategorie
    name Name der Nachrichtenkategorie
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Ausführen, wenn eine Kategorie gelöscht wurde.'; $lang['eventhelp-NewsCategoryDeleted'] = '
    Parameter Beschreibung
    category_id ID der gelöschten Nachrichtenkategorie
    name Name der gelöschten Nachrichtenkategorie
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Ausführen, wenn eine Kategorie bearbeitet wurde.'; $lang['eventhelp-NewsCategoryEdited'] = '
    Parameter Beschreibung
    category_id ID der Nachrichtenkategorie
    name Name der Nachrichtenkategorie
    origname ursprünglicher Name der Nachrichtenkategorie
    '; $lang['expired'] = 'abgelaufen'; $lang['expired_searchable'] = 'Artikel, deren Anzeigedauer überschritten ist, dürfen in den Suchergebnissen erscheinen'; $lang['expired_viewable'] = 'Abgelaufene Artikel können in der Detailansicht angezeigt werden'; $lang['expiry'] = 'Ablauf'; $lang['expiry_date_asc'] = 'nach Verfallsdatum aufsteigend'; $lang['expiry_date_desc'] = 'nach Verfallsdatum absteigend'; $lang['expiry_interval'] = 'Voreingestellte Anzahl der Tage, nach denen ein Artikel nicht mehr auf der Webseite angezeigt werden soll (falls die Zeitsteuerung verwendet wird)'; $lang['extra'] = 'Extrafeld'; $lang['extra_label'] = 'Extra:'; $lang['fesubmit_redirect'] = 'Die Seiten-ID oder der Seiten-Alias der Seite, auf die der Einsender eines Artikels über die fesubmit-Aktion weitergeleitet werden soll'; $lang['fesubmit_status'] = 'Status für Artikel, die über die Webseite (Frontend) eingesandt wurden'; $lang['fielddef'] = 'Felddefinition'; $lang['fielddefadded'] = 'Das Feld wurde hinzugefügt'; $lang['fielddefdeleted'] = 'Felddefinition gelöscht'; $lang['fielddefupdated'] = 'Das Felddefinition wurde aktualisiert'; $lang['file'] = 'Datei'; $lang['filter'] = 'Artikelfilter'; $lang['firstpage'] = '«'; $lang['formsubmit_emailaddress'] = 'E-Mail-Adresse zur Benachrichtigung bei neuen Artikeln'; $lang['formtemplate'] = 'Formularvorlagen'; $lang['help'] = '

    Wichtiger Hinweis

    Ab Version 2.9 des Nachrichtenmoduls wurde sowohl das Variablenelement $entry->formatpostdate als auch der Parameter „dateformat“ entfernt. Sie sollten daher anstatt $entry->formatpostdate jetzt $entry->postdate verwenden. Das Datum kann dann mit dem Modifikator „cms_date_format“ formatiert werden (wie in den mitgelieferten Muster-Templates gezeigt).

    Was macht dieses Modul?

    „News“ ist ein Modul, um Artikel/Neuigkeiten Blog-ähnlich auf Ihrer Seite anzuzeigen, jedoch mit mehr Möglichkeiten. Nach der Modulinstallation wird dem Menüpunkt „Inhalte“ ein Link zur Administration des News-Moduls hinzugefügt, über den Sie Nachrichtenkategorien auswählen oder hinzufügen können. Wurde eine Kategorie angelegt oder ausgewählt, wird eine Liste der vorhandenen Einträge dieser Kategorie angezeigt. Von hier aus können Sie dieser Kategorie Einträge hinzufügen, bearbeiten oder löschen.

    Verschiedene Anzeigemethoden

    Aufgrund der verfügbaren Parameter und die Unterstützung für verschiedene Templates sind die Verwendungsmöglichkeiten des Moduls extrem vielfältig.

    Benutzerdefinierte Felder

    Im News-Modul können auch benutzerdefinierte Felder erstellt werden (einschließlich für Dateien und Bilder). Dies macht es möglich, dass Sie den Artikeln auch PDF-Dateien oder Bilder o. ä. anhängen können.

    Kategorien

    Für die Verwaltung der Nachrichtenartikel bietet das Modul einen hierarchischen Kategorie-Mechanismus. Ein Nachrichtenartikel kann jedoch nicht mehreren Kategorien zugeordnet werden.

    Verfallsdatum und Status

    Jeder News-Artikel kann optional mit einem Verfallsdatum versehen werden, nach dem er nicht mehr auf der Webseite angezeigt werden soll. Außerdem kann der Status des News-Artikels auf „Entwurf“ gesetzt werden, um ihn dauerhaft von der Webseite zu entfernen.

    Sicherheit

    Um News-Einträge hinzufügen oder bearbeiten zu können, muss der Benutzer einer Gruppe angehören, die die Berechtigung „Modify News“ hat.

    Um News-Einträge löschen zu können, muss der Benutzer einer Gruppe angehören, die die Berechtigung „Delete News Articles“ hat.

    Um die Templates bearbeiten zu können, muss der Benutzer einer Gruppe angehören, die die Berechtigung „Modify Templates“ hat.

    Um die globalen News-Einstellungen zu ändern, muss der Benutzer einer Gruppe angehören, die die Berechtigung „Modify Site Preferences“ hat.

    Um News-Einträge für die Anzeige auf der Website freizugeben, muss der Benutzer zusätzlich einer Gruppe angehören, die die Berechtigung „Approve News“ hat.

    Wie wird es eingesetzt?

    Am einfachsten kann das Modul mit dem {news}-Tag verwendet werden. Dieser fügt die Ausgabe des Moduls in Ihr Template oder Seite ein und zeigt die News-Einträge an. Der einzufügende Code sollte so aussehen: {news number=\'5\'}

    Templates

    Seit Version 2.3 werden die Templates des News-Moduls in der Datenbank gespeichert. Dateibasierte Templates werden nicht mehr unterstützt. Wenn Sie noch solche verwenden, sollten Sie mit der folgenden Anleitung jedes verwendete (dateibasierte) Template importieren:

    • Kopieren Sie den Inhalt Ihrer Template-Datei in den Zwischenspeicher Ihres Rechners.
    • Erstellen Sie ein neues Datenbank-Template (je nach Bedarf für die Zusammenfassungs- oder Detailansicht). Geben Sie dem neuen Template den gleichen Namen wie der alten (einschließlich der Endung .tpl). Fügen Sie den Inhalt des Zwischenspeichers ein.
    • Klicken Sie auf „Absenden“

    Mit diesem Ablauf sollte sichergestellt sein, dass Fehlermeldungen über Templates, die nicht gefunden werden oder ähnliche Smarty-Fehler, nicht auftreten, wenn auf eine CMSms-Version aktualisiert wird, die das News-Modul 2.3 oder höher verwendet.

    Template-Variablen

    • itemcount - maximale Anzahl der anzuzeigenden News-Artikel
    • entry->authorname - vollständiger Name des News-Autors (Vor-/Nachname), wie er in der Benutzer-Verwaltung gespeichert ist

    Auch die Variablen der Extra-Felder können in den Templates separat verwendet werden. So lässt sich zum Beispiel das Extrafeld mit dem Namen „musterfeld“ über die Variable entry->musterfeld abfragen.

    ACHTUNG: Leerzeichen müssen dabei durch den Unterstrich („_“) ersetzt werden.

    '; $lang['helpaction'] = 'Überschreibt die vorgegebene Aktion. Mögliche Werte sind:
    • "detail" - einen bestimmten Artikel im Detail-Modus anzeigen
    • "default" - die Zusammenfassungansicht anzeigen
    • "fesubmit" - auf der Webseite ein Formular zum Einsenden neuer Artikel anzeigen. Um für das Formular den voreingestellten WYSIWYG-Editor zu verwenden, müssen Sie den Metadaten (Webseiten-Administration > Globale Einstellungen) {cms_init_editor} hinzufügen.
    • "browsecat" - eine Kategorienliste anzeigen.
    '; $lang['helpbrowsecat'] = 'Mit diesem Parameter wird eine Liste der Kategorien angezeigt (browsecat=\'1\'). Kann NICHT zusammen mit dem Parameter „category“ verwendet werden.'; $lang['helpbrowsecattemplate'] = 'Verwendet ein Template für die Anzeige der Kategorien. Dieses Template muss vorhanden sein und in der Administration des News-Moduls in der Registerkarte „Kategorien-Template“ angezeigt werden. Sie muss jedoch nicht als Standard gekennzeichnet sein. Ohne Parameter wird das als Standard gekennzeichnete Template für die Anzeige verwendet.'; $lang['helpcategory'] = 'Mit diesem Parameter können Sie festlegen, aus welcher Kategorie die Einträge angezeigt werden. Um auch die Unterkategorien anzuzeigen, geben Sie nach dem Kategorienamen ein * ein. Über eine durch Kommata getrennte Liste können auch mehrere Kategorien angezeigt werden. Ohne diesen Parameter werden alle Kategorien angezeigt. Dieser Parameter funktioniert auch mit der Aktion „fesubmit“, obwohl dort nur eine Kategorie unterstützt wird.'; $lang['helpdetailpage'] = 'Seite, auf der die Nachrichtendetails angezeigt werden. Das kann entweder ein Seiten-Alias oder eine Seiten-ID sein. Damit können die Nachrichtendetails in einem anderen Template als die Nachrichtenzusammenfassung angezeigt werden.'; $lang['helpdetailtemplate'] = 'Verwendet eine separates Template für die Detail-Anzeige des Artikels. Dieses Template muss vorhanden sein und in der Administration des News-Moduls in der Registerkarte „Detail-Template“ angezeigt werden. Ohne Parameter wird das als Standard gekennzeichnete Template verwendet.'; $lang['helpformtemplate'] = 'Verwendet ein Template für die Anzeige des Formulars zur Übermittlung neuer Artikel. Dieses Template muss vorhanden sein und in der Administration des News-Moduls in der Registerkarte „Formular-Template“ angezeigt werden. Ohne Parameter wird das als Standard gekennzeichnete Template verwendet.'; $lang['helpmoretext'] = 'Mit diesem Parameter wird der Text festgelegt, der nach der News-Zusammenfassung angezeigt wird, wenn der Artikel länger als die vorgegebene Länge ist. Vorgegeben ist „Weiterlesen …“'; $lang['helpnumber'] = 'Anzahl der maximal anzuzeigenden Einträge (pro Seite) – ohne Parameter werden alle Einträge angezeigt. Dies ist ein Synonym für den Parameter pagelimit.'; $lang['helpshowall'] = 'Mit diesem Parameter können alle Artikel (unabhängig von der festgelegten Anzeigedauer) angezeigt werden (showall=\'1\').'; $lang['helpshowarchive'] = 'Mit diesem Parameter werden nur die Artikel angezeigt, deren festgelegte Anzeigedauer bereits abgelaufen ist (showarchive=\'1\').'; $lang['helpsortasc'] = 'Sortiert Einträge in aufsteigender Folge anstatt in absteigender (nach Datum).'; $lang['helpsortby'] = 'Felder, nach denen die Einträge sortiert werden. Mögliche Optionen sind: „news_date“, „summary“, „news_data“, „news_category“, „news_title“, „news_extra“, „end_time“, „start_time“, „random“. Standard ist „news_date“. Ist die gewählte Option „random“, wird der Parameter „sortasc“ ignoriert.'; $lang['helpstart'] = 'Beginnt die Anzeige mit dem n-ten Eintrag – wird das Feld leer gelassen, wird mit dem ersten Eintrag begonnen.'; $lang['helpsummarytemplate'] = 'Verwendet ein separates Template für die Anzeige der Artikel-Zusammenfassungen. Dieses Template muss vorhanden sein und in der Administration des News-Moduls in der Registerkarte „Zusammenfassungs-Template“ angezeigt werden. Ohne Parameter wird das als Standard gekennzeichnete Template verwendet.'; $lang['help_articleid'] = 'Dieser Parameter funktioniert nur in der Detailansicht. Mit ihm kann vorgegeben werden, welcher Artikel im Detail-Modus angezeigt werden soll. Wird an dieser Stelle der Wert -1 verwendet, wird der neueste veröffentlichte, nicht abgelaufene Artikel angezeigt.'; $lang['help_article_title'] = 'Der Titel des Artikels sollte kurz sein und keinen HTML-Code beinhalten'; $lang['help_article_category'] = 'Für Organisationszwecke kann eine Kategorie ausgewählt werden'; $lang['help_article_content'] = 'Der Hauptinhalt des Artikels'; $lang['help_article_enddate'] = 'Wenn die Verwendung des Verfallsdatums aktiviert ist, gibt dieses Datum an, ab wann der Artikel vor der Öffentlichkeit versteckt wird.'; $lang['help_article_extra'] = 'Das sind Extra-Daten, die mit dem News-Artikel verknüpft werden können. Sie können für die Sortierreihenfolge oder andere Darstellungsaufgaben verwendet werden. Sie sollten Ihren Webdesigner fragen, wie dieses Feld verwendet werden sollte - wenn überhaupt.'; $lang['help_article_searchable'] = 'Dieses Feld zeigt an, ob ein Artikel durch das Suchmodul indiziert werden soll.'; $lang['help_article_postdate'] = 'Das Absendedatum (normalerweise das aktuelle Datum neuer Artikel) ist das Datum, das als Veröffentlichungsdatum verwendet wird. Außerdem wird es zur Sortierung verwendet.'; $lang['help_article_summary'] = 'Geben Sie einen kurzen Text zur Beschreibung des Artikels ein. Diese Zusammenfassung kann verwendet werden, wenn mehrere Artikel angezeigt werden sollen.'; $lang['help_article_startdate'] = 'Wenn die Verwendung des Verfallsdatums aktiviert ist, gibt dieses Datum an, ab wann der Artikel öffentlich sichtbar ist.'; $lang['help_article_status'] = 'Wenn der Artikel sofort für alle sichtbar sein soll, setzen Sie den Status auf „veröffentlicht“. Wenn Sie am Artikel noch weiter arbeiten wollen, setzen Sie den Status auf „Entwurf“.'; $lang['help_articles_sortby'] = 'Wählen Sie aus, wie die Artikel normalerweise sortiert werden sollen.'; $lang['help_category_name'] = 'Geben Sie einen Namen für diese Kategorie an; der Name sollte für die Verwendung in URLs geeignet sein, d. h. keine Sonder- oder Leerzeichen enthalten.'; $lang['help_fielddef_options'] = 'Hier können gültige Optionen für Auswahlfelder angegeben werden'; $lang['help_pagelimit'] = 'Maximale Anzahl der anzuzeigenden Einträge (pro Seite). Ohne diesen Parameter werden alle Einträge angezeigt. Wenn dieser Parameter gesetzt wurde und mehr Einträge vorhanden sind, als pro Seite angezeigt werden sollen, werden Links eingeblendet, um vorwärts oder rückwärts zu den nächsten Seiten blättern zu können.'; $lang['hide_summary_field'] = 'Das Zusammenfassungsfeld verbergen, wenn ein Artikel hinzugefügt oder bearbeitet wird'; $lang['info_allow_fesubmit'] = 'Mit dieser Option wird festgelegt, ob eine Veröffentlichung über das Frontend erlaubt ist. Bitte mit Vorsicht verwenden!'; $lang['info_categories'] = 'Zu organisatorischen Zwecken können News-Artikel in hierarchischen Kategorien angeordnet werden.'; $lang['info_detail_returnid'] = 'Mit diesen Einstellungen kann eine Seite festgelegt werden (und damit auch ein Template), die für die Anzeige der Detailansicht verwendet werden soll. Die individuellen News-Detail-URLs werden jedoch nicht funktionieren, wenn dieser Parameter keine gültige Seite enthält. Wird diese Einstellung aktiviert und im news-Tag der Parameter detailpage nicht angegeben, wird dieser Wert für Detail-Links verwendet.'; $lang['info_expired_searchable'] = 'Wenn aktiviert, können abgelaufene News-Artikel von dem Such-Modul indexiert und in Suchergebnissen angezeigt werden.'; $lang['info_expired_viewable'] = 'Wenn aktiviert, können abgelaufene Artikel im Detail-Modus angezeigt werden (dies reproduziert alte Funktionalität). Der showall Parameter kann für die URL (wenn sie pretty URL\'s nicht verwenden) verwendet werden, um zu zeigen dass auch abgelaufene Artikel angezeigt werden können.'; $lang['info_fesubmit_notification'] = 'Sie können optional eine E-Mail an eine bestimmte E-Mail-Adresse versenden lassen, wenn über das Frontend ein News-Artikel veröffentlicht wurde.'; $lang['info_maxlength'] = 'Die maximale Länge hat nur Auswirkungen auf einzeilige Textfelder.'; $lang['info_public'] = 'Nur öffentliche Felder werden in Zusammenfassungs- oder Detailansichten angezeigt und sind für öffentliche Bearbeitung verfügbar.'; $lang['info_reorder_categories'] = 'Ziehen Sie die Items in die richtige Reihenfolge, um Kategoriebezihungen zu ändern.'; $lang['info_searchable'] = 'Dieses Feld gibt an, ob der Artikel vom Such-Modul indexiert werden soll.'; $lang['info_sysdefault'] = '(der Inhalt, der standardmäßig beim Erstellen einer neuen Vorlage verwendet wird)'; $lang['info_sysdefault2'] = 'Hinweis: In den Textbereichen dieser Registerkarte können Sie die Vorlagen vordefinieren, die automatisch eingefügt werden, wenn Sie eine neue Zusammenfassungs-, Detail- oder Formularvorlage erstellen. Das Ändern/Speichern der Inhalte in diesem Reiter hat keine Auswirkungen auf die aktuelle Anzeige.'; $lang['lastpage'] = '»'; $lang['lbl_adminsearch'] = 'Nachrichtenartikel suchen'; $lang['linkedfile'] = 'verknüpfte Datei'; $lang['maxlength'] = 'Maximale Länge'; $lang['msg_cancelled'] = 'Aktion abgebrochen'; $lang['msg_categoriesreordered'] = 'Reihenfolge der Kategorien wurde aktualisiert'; $lang['msg_contenttype_removed'] = 'Der Inhaltstyp „News“ wird nicht mehr unterstützt. Bitte verwenden Sie in Ihren Seiten-Templates bzw. -inhalten anstatt dessen den {news}-Tag mit den entsprechenden Parametern.'; $lang['msg_success'] = 'Aktion erfolgreich'; $lang['more'] = 'weiterlesen'; $lang['moretext'] = 'Text für den Link „weiterlesen“'; $lang['name'] = 'Name'; $lang['nameexists'] = 'Ein Extra-Feld mit diesem Namen existiert bereits'; $lang['needpermission'] = 'Sie benötigen die Berechtigung „%s“, um diese Funktion nutzen zu können.'; $lang['newcategory'] = 'Neue Kategorie'; $lang['news'] = 'Nachrichten'; $lang['news_return'] = 'Zurück'; $lang['nextpage'] = '›'; $lang['noarticles'] = 'Es gibt im Moment keine Nachrichtenartikel'; $lang['noarticlesinfilter'] = 'Es gibt keine Nachrichtenartikel, die mit diesem Filter angezeigt werden'; $lang['nocategorygiven'] = 'Keine Kategorie vorhanden'; $lang['nocontentgiven'] = 'Es wurde kein Inhalt eingegeben'; $lang['noitemsfound'] = 'Keine Einträge in der Kategorie %s gefunden'; $lang['nonamegiven'] = 'Es wurde kein Name eingegeben'; $lang['none'] = 'Keine'; $lang['nopostdategiven'] = 'Es wurde kein Erstellungsdatum eingestellt'; $lang['notanumber'] = 'Die maximale Länge ist keine Zahl'; $lang['note'] = 'Hinweis: Datum/Zeit muss im Format „JJJJ-MM-TT hh:mm:ss“ angegeben werden.'; $lang['notify_n_draft_items'] = '%s Nachrichtenartikel wurde(n) noch nicht veröffentlicht.'; $lang['notify_n_draft_items_sub'] = '%d Nachrichtenartikel'; $lang['notitlegiven'] = 'Es wurde kein Titel eingegeben'; $lang['numbertodisplay'] = 'Anzuzeigende Anzahl (ohne Eintrag werden alle Datensätze angezeigt)'; $lang['options'] = 'Optionen'; $lang['optionsupdated'] = 'Die Einstellungen wurden gespeichert.'; $lang['parent'] = 'übergeordnet'; $lang['postdate'] = 'Erstellt am'; $lang['postinstall'] = 'Stellen Sie sicher, dass die Benutzer, die die News verwalten, die Berechtigung „Modify News“ haben.'; $lang['post_date_asc'] = 'nach Erstellungsdatum aufsteigend'; $lang['post_date_desc'] = 'nach Erstellungsdatum absteigend'; $lang['preview'] = 'Vorschau'; $lang['prevpage'] = '‹'; $lang['print'] = 'Drucken'; $lang['prompt_alert_drafts'] = 'Hinweis bei unbestätigten Artikeln'; $lang['prompt_allow_fesubmit'] = 'Erlaubt das Abschicken von News-Artikeln über das Frontend'; $lang['prompt_default'] = 'Voreingestellt'; $lang['prompt_go'] = 'Los'; $lang['prompt_name'] = 'Name'; $lang['prompt_newtemplate'] = 'Eine neue Vorlage erstellen'; $lang['prompt_of'] = 'von'; $lang['prompt_page'] = 'Seite'; $lang['prompt_pagelimit'] = 'Artikel pro Seite'; $lang['prompt_redirecttocontent'] = 'Zurück zur Seite'; $lang['prompt_sorting'] = 'Sortieren'; $lang['prompt_template'] = 'Vorlagenquelle'; $lang['prompt_templatename'] = 'Vorlagenname'; $lang['public'] = 'Öffentlich'; $lang['published'] = 'Veröffentlicht'; $lang['reassign_category'] = 'Kategorie ändern auf'; $lang['removed'] = 'Entfernt'; $lang['reorder'] = 'neu anordnen'; $lang['reorder_categories'] = 'Kategorien neu anordnen'; $lang['reset'] = 'Zurücksetzen'; $lang['resettodefault'] = 'Auf die programmseitigen Voreinstellungen zurücksetzen'; $lang['restoretodefaultsmsg'] = 'Diese Funktion setzt die Templates auf die programmseitigen Voreinstellung zurück. Wollen Sie das wirklich?'; $lang['revert'] = 'Status auf „Entwurf“ setzen'; $lang['searchable'] = 'durchsuchbar'; $lang['select'] = 'Auswählen'; $lang['select_option'] = 'Option auswählen'; $lang['selectall'] = 'Alle auswählen'; $lang['selectcategory'] = 'Kategorie auswählen'; $lang['showchildcategories'] = 'Unterkategorien anzeigen'; $lang['sortascending'] = 'aufsteigend sortieren'; $lang['startdate'] = 'Beginn'; $lang['startdatetoolate'] = 'FEHLER: Der Startzeitpunkt muss VOR dem Endzeitpunkt liegen'; $lang['startoffset'] = 'Beginnt mit der Anzeige ab dem n-ten Eintrag'; $lang['startrequiresend'] = 'Die Eingabe eines Startzeitpunktes erfordert auch die Eingabe eines Endzeitpunktes.'; $lang['status'] = 'Status'; $lang['status_asc'] = 'nach Status aufsteigend'; $lang['status_desc'] = 'nach Status absteigend'; $lang['subject_newnews'] = 'Es wurde ein neuer Artikel eingesandt'; $lang['submit'] = 'Speichern'; $lang['summary'] = 'Zusammenfassung'; $lang['summarytemplate'] = 'Zusammenfassungsvorlage'; $lang['summarytemplateupdated'] = 'Das Zusammenfassungsvorlage wurde aktualisiert.'; $lang['sysdefaults'] = 'Auf die programmseitigen Voreinstellungen zurücksetzen'; $lang['template'] = 'Vorlage'; $lang['textarea'] = 'Mehrzeiliger Textbereich'; $lang['textbox'] = 'Einzeiliges Textfeld'; $lang['title'] = 'Titel'; $lang['title_asc'] = 'nach Titel aufsteigend'; $lang['title_available_templates'] = 'Verfügbare Vorlagen'; $lang['title_browsecat_sysdefault'] = 'Voreingestellte Vorlage für die Kategorienanzeige'; $lang['title_browsecat_template'] = 'Vorlageneditor für die Kategorienanzeige'; $lang['title_desc'] = 'nach Titel absteigend'; $lang['title_detail_returnid'] = 'Voreingestellte Seite, die für die Detailansicht verwendet werden soll'; $lang['title_detail_settings'] = 'Einstellungen für die Detailansicht'; $lang['title_detail_sysdefault'] = 'Voreingestellte Vorlage für die Details'; $lang['title_detail_template'] = 'Editor für die Detailvorlagen'; $lang['title_draft_entries'] = 'Unbestätigte Nachrichtenartikel'; $lang['title_fesubmit_form'] = 'Artikel absenden'; $lang['title_fesubmit_settings'] = 'Einstellungen für die News-Einsendung über die Webseite'; $lang['title_filter'] = 'Anzeige filtern'; $lang['title_form_sysdefault'] = 'Voreingestellte Vorlage für das Formular'; $lang['title_form_template'] = 'Editor für die Formularvorlagen'; $lang['title_news_settings'] = 'Einstellungen – Nachrichtenmodul'; $lang['title_notification_settings'] = 'Benachrichtigungseinstellungen'; $lang['title_submission_settings'] = 'Einstellungen für die Nachrichtenübertragung'; $lang['title_summary_sysdefault'] = 'Voreingestellte Vorlage für die Zusammenfassung'; $lang['title_summary_template'] = 'Editor für die Zusammenfassungsvorlagen'; $lang['toggle_bulk'] = 'Diesen Artikel für Massenbearbeitung auswählen'; $lang['type'] = 'Typ'; $lang['type_browsecat'] = 'Kategorie durchstöbern'; $lang['type_form'] = 'Webseitenformular'; $lang['type_detail'] = 'Detail'; $lang['type_News'] = 'Nachrichten'; $lang['type_summary'] = 'Zusammenfassung'; $lang['unknown'] = 'Unbekannt'; $lang['unlimited'] = 'Unbegrenzt'; $lang['up'] = 'Nach oben'; $lang['uploadscategory'] = 'Kategorie im Uploads-Modul'; $lang['url'] = 'Individuelle Artikel-URL'; $lang['useexpiration'] = 'Zeitsteuerung aktivieren'; $lang['viewfilter'] = 'Filter anzeigen'; $lang['warning_preview'] = 'Warnung: Diese Vorschau verhält sich ähnlich wie ein Browser-Fenster, mit dem Sie von der ursprünglich ausgewählten Seite aus navigieren können. Jedoch können unerwartete Verhalten auftreten. Wenn Sie auf der ursprünglich angewählten Seite navigieren und dann dorthin zurückkehren, sehen Sie die unveränderten Inhalte, obwohl Sie im der Hauptregisterkarte Änderungen vorgenommen und diese neu geladen haben. Wenn Sie Inhalte hinzufügen, währenddessen Sie auf der Seite navigieren, ist es Ihnen nicht möglich zurückzukehren - Sie müssen dann die Vorschau-Seite aktualisieren.
    Hinweis: Im Vorschau-Modus werden keine Dateien hochladen, die Sie möglicherweise dafür ausgewählt haben.'; $lang['with_selected'] = 'ausgewählte'; ?>(ίσως ήδη χρησιμοποιήται, ή υπάρχουν μη έγκυροι χαρακτήρες)'; $lang['error_mkdir'] = 'Δεν μπόρεσε να δημιουργήσει φάκελο: %s'; $lang['error_movefile'] = 'Δεν μπόρεσε να δημιουργήσει αρχείο: %s'; $lang['error_noarticlesselected'] = 'Δεν υπάρχουν επιλεγμένα άρθρα.'; $lang['error_templatenamexists'] = 'Υπάρχει ήδη template με αυτό το όνομα'; $lang['error_upload'] = 'Παρουσιάστηκε πρόβλημα Proble'; $lang['eventdesc-NewsArticleAdded'] = 'Να σταλεί όταν προστεθεί ένα άρθρο.'; $lang['eventhelp-NewsArticleAdded'] = '

    Sent when an article is added.

    Parameters

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id of the category for this article
    • \\"title\\" - Title of the article
    • \\"content\\" - Content of the article
    • \\"summary\\" - Summary of the article
    • \\"status\\" - Status of the article ("draft" or "publish")
    • \\"start_time\\" - Date the article should start being displayed
    • \\"end_time\\" - Date the article should stop being displayed
    • \\"useexp\\" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Να σταλεί όταν ένα άρθρο αφαιρεθεί.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sent when an article is deleted.

    Parameters

    • \\"news_id\\" - Id of the news article
    '; $lang['eventdesc-NewsArticleEdited'] = 'Να σταλεί όταν ένα άρθρο δεχθεί επεξεργασία.'; $lang['eventhelp-NewsArticleEdited'] = '

    Sent when an article is edited.

    Parameters

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id of the category for this article
    • \\"title\\" - Title of the article
    • \\"content\\" - Content of the article
    • \\"summary\\" - Summary of the article
    • \\"status\\" - Status of the article ("draft" or "publish")
    • \\"start_time\\" - Date the article should start being displayed
    • \\"end_time\\" - Date the article should stop being displayed
    • \\"useexp\\" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Να σταλεί όταν ένα άρθρο προστεθεί.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Sent when a category is added.

    Parameters

    • \\"category_id\\" - Id of the news category
    • \\"name\\" - Name of the news category
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Να σταλεί όταν μια κατηγορία αφαιρεθεί.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Sent when a category is deleted.

    Parameters

    • \\"category_id\\" - Id of the deleted category
    • \\"name\\" - Name of the deleted category
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Να σταλεί όταν μια κατηγορία δεχθεί επεξεργασία.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Sent when a category is edited.

    Parameters

    • \\"category_id\\" - Id of the news category
    • \\"name\\" - Name of the news category
    • \\"origname\\" - The original name of the news category
    '; $lang['expired'] = 'Ληγμένο'; $lang['expired_searchable'] = 'Άρθρα που έχουν λήξη μπορούν να φανούν στα αποτελέσματα της αναζήτησης'; $lang['expiry'] = 'Λήξη'; $lang['expiry_date_asc'] = 'Ημερομηνία λήξης σε άυξουσα'; $lang['expiry_date_desc'] = 'Ημερομηνία λήξης σε φθήνουσα'; $lang['expiry_interval'] = 'Το νούμερο ημερών ( από εξ αρχής ) πριν ένα άρθρο λήξη ( αν έχει επιλεγεί να λήγει )'; $lang['extra'] = 'έχτρα'; $lang['fesubmit_redirect'] = 'Το ID σελίδας ή εναλακτικό όνομα για μεταφορά όταν ένα άρθο νέου έχει επικυρωθεί από τον χρήστη.'; $lang['fesubmit_status'] = 'Η κατάσταση των νέων που κατοχυρώθηκαν απο τους frontend χρήστες'; $lang['fielddef'] = 'Ορισμός πεδίου'; $lang['fielddefadded'] = 'Προστέθηκε επιτυχώς ο ορισμός πεδίου'; $lang['fielddefdeleted'] = 'Σβήστηκε ο ορισμός του πεδίου'; $lang['fielddefupdated'] = 'Ενημέρωση ορισμού του πεδίου'; $lang['file'] = 'Αρχείο'; $lang['filter'] = 'Φίλτρο'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Διέυθηνση email όου λαμβάνονται ειδοποιήσεις για καταχώρηση νέων'; $lang['formtemplate'] = 'Φόρμες templates'; $lang['help'] = '

    Τι κάνει αυτό?

    Οι ειδήσεις είναι ένα άρθρωμα για την εμφάνιση συμβάντων ειδήσεων στην σελίδα σας, παρόμοι με νησίδα HTML, αλλά με περισσότερες δυνατότητες!. Μετά την εγκατάσταση του αρθρώματος προστίθεται μια σελίδα διαχείρισης ειδήσεων στο μενού διαχείρισης που σας επιτρέπει να προσθέσεται μια κατηγορία ειδήσεων. Μόλις προστεθεί ή επιλεχθεί μια κατηγορία ειδήσεων, μία λίστα απο στοιχεία ειδήσεων που αφορούν την κατηγορία θα εμφανιστεί. Μετά μπορείτε να προσθέσετε ,επεξεργαστείτε, ή να διαγράψετε στοιχεία αυτής της κατηγορίας ειδήσεων.

    Διάφορες μέθοδοι εμφάνισης

    Οι παρεχόμενες παράμετροι από το άρθρωμα των νέων και η υποστήριξη διαφόρων templates κάθε φορά σημαίνουν ότι οι επιλογές για εμφάνιση νέων άρθρων έχουν κάποιο όριο.

    Παραμετροποιήσιμα πεδία

    Το άρθρωμα των νέων επιτρέπει διάφορα παραμετροποιήσιμα πεδία, που επιτρέπουν να προσθέσεις pdf αρχεία ή φωτογραφίες στα άρθρα σου.

    Κατηγορίες

    Τα νέα παρέχουν έναν μηχανισμό ιεραρχίας για την οργάνωση των άρθρων σου.\'Ενα άρθρο νέων μπορεί να είναι σε μία θέση στην ιεραρχία.

    Λήξη και κατάσταση

    Κάθε άρθρο νέων μπορεί να έχει μία προαιρετική ημερομινία λήξης, μετά από την οποία δε θα φαίνεται στην σελίδα.

    Ασφάλεια

    Ο χρήστης πρέπει να ανήκει στην ομάδα με δικαίωμα \'Τροποποίηση Ειδήσεων\' για να επιτραπεί προσθήκη, επεξεργασία ή διαγραφή εγγραφών ειδήσεων.

    Πώς το χρησιμοποιώ?

    Ο ποιό εύκολος τρόπος είναι σε συνάρτηση με την κεφαλίδα cms_module. Ετσι εισάγεται το άρθρωμα στο πρότυπο ή σε σελίδα οπουδήποτε θέλετε να και εμφανίζει τα σtοιχεία ειδήσεων. Δείγμα κώδικα : {cms_module module="news" number="5" category="beer"}

    '; $lang['helpaction'] = 'Override the default action. Possible values are \'default\' to display the summary view, and \'fesubmit\' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat'] = 'Δείξε μια περιηγήσημη λίστα κατηγοριών.'; $lang['helpbrowsecattemplate'] = 'Χρησιμοποίησε ένα template βάσης δεδομένων για προβολή της περιήγησης κατηγορίας. Αυτό το template πρέπει να υπάρχει και να είναι ορατό στην καρτέλα περιήγησης κατηγοριών templates της διαχείρισης νέων, παρόλο που δεν χρειάζεται να είναι το αρχικό.Αν αυτή η παράμετρος δεν οριστεί θα χρησημοποιηθεί το αρχικό.'; $lang['helpcategory'] = 'Εμφάνιση των στοιχείων μόνον αυτής της κατηγορίας. Χρησιμοποιείστε * μετα το όνομα για να εμφανιστούν και τα υπόλοιπα. Μπορείτε να χρησιμοποιείσετε πολλαπλές κατηγορίες με χρήση του κόμματος. Το κενό θα εμφανίσει όλες τις κατηγορίες.'; $lang['helpdetailpage'] = 'Επιλογή σελίδας για την εμφάνιση των λεπτομερειών των ειδήσεων. Μπορεί να είναι το όνομα μιας σελίδας ή ένα αναγνωριστικό. Στο παρελθόν επιτρεπόταν ή εμφάνιση των λεπτομερειών σε διαφορετικό πρότυπο από αυτό της σύνοψης.'; $lang['helpdetailtemplate'] = 'Χρήση ενός διαφορετικού προτύπου για την εμφάνιση του κυρίως άρθρου. Το πρότυπο 8α πρέπει να είναι στον κατάλογο modules/News/templates.'; $lang['helpformtemplate'] = 'Χρησιμοποίησε ένα template βάσης δεδομένων για προβολή της φόρμας επιβεβαίωσης του άρθρου. Αυτό το template πρέπει να υπάρχει και να είναι ορατό στην καρτέλα των templates της διαχείρισης των νέων, παρόλο που δεν χρειάζεται να είναι το αρχικό.Αν αυτή η παράμετρος δεν οριστεί θα χρησημοποιηθεί το αρχικό.'; $lang['helpmoretext'] = 'Κείμενο πυ θα εμφανίζεται στο τέλος μιας είδησης όταν το μέγεθος της ξεπερνά το μέγεθος της σύνοψης. Η πρεπιλοη είναι "περισσότερα..."'; $lang['helpnumber'] = 'Μέγιστος αριθμός εμφανιζόμενων στοιχείων =- Το κενό θα εμφανίσειόλα τα στοιχεία.'; $lang['helpshowall'] = 'Δείξε όλα τα άρθρα, ανεξάρτητα από την ημερομηνία που τελείωσαν'; $lang['helpshowarchive'] = 'Δείξε μόνο ληγμένα άρθρα νέων.'; $lang['helpsortasc'] = 'Ταξινόμηση των στοιχείων των ειδήσεων σε αύξουσα σειρά με βάση την ημερομηνία και όχι φθίνουσα.'; $lang['helpsortby'] = 'Ταξινόμηση με βάσει ένα πεδίο. Οι επιλογές είναι: "Ημερομηνία είδησης", "Σύνοψη", "Δεδομένα ειδήσεων", "Κατηγορία ειδήσεων", "Τίτλος ειδήσεων". Η προεπιλογή είναι "Ημερομηνία είδησης".'; $lang['helpstart'] = 'Έναρξη απο το στοιχείο με αριθμό -- αστο κενό για να ξεκινήσει απο το πρώτο.'; $lang['helpsummarytemplate'] = 'Χρήση ενός διαφορετικού προτύπου για την εμφάνιση της σύνοψης ενός άρθρου. Το πρότυπο 8α πρέπει να είναι στον κατάλογο modules/News/templates.'; $lang['help_articleid'] = 'Αυτή η παράμετρος είναι εφαρμόσιμη μόνο σε λεπτομερή προβολή. Επιτρέπει να ορίσεις ποιο άρθρο νέων να εμφανίζεται σε λεπομερή μορφή. Αν η ειδική τιμή είναι -1, το σύστημα θα προβάλλει το νεότερο, δημοσιευμένο , μή ληγμένο άρθρο.'; $lang['help_pagelimit'] = 'Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['hide_summary_field'] = 'Κρύψε την περίληψη όταν προσθέτεις ή επεξεργάζεσε άρθρα'; $lang['info_detail_returnid'] = 'Αυτή η επιλογή χρησιμοποιήται για να καθορίσει μία σελίδα ( και συνεπώς ένα template ) για χρήση για να δείχνει πληροφορίες.Εξατομικευμένα URLS λεπτομερών νέων δεν θα δουλέψουν αν αυτή η παράμετρος δεν είναι ρυθμισμένη σε έγκυρη σελίδα.Επιπροσθέτως, αν αυτή η επιλογή είναι ρυθμισμένη, και καμμία παράμετρος σελίδας δεν παρέχεται στο tag των νέων, τότε αυτή η τιμή θα χρησιμοποιηθεί για λεπτομερή links.'; $lang['info_maxlength'] = 'Το μέγιστο μήκος υπάρχει μόνο για πεδία εισαγωγής κειμένου'; $lang['info_sysdefault'] = '(το περιεχόμενο που χρησιμοποιήται εξ\'αρχής όταν δημιουργηθεί ένα νέο template)'; $lang['info_sysdefault2'] = 'Σημείωση: Αυτή η καρτέλα περιέχει περιοχές κειμένου που επιτρέπουν να επεξεργαστείς μερικά templates που φαίνονται όταν δημιουργείς ένα \'νέο\' περιληπτικό, λεπτομερές ή φόρμα templ , not effect any current displays.'; $lang['lastpage'] = '>>'; $lang['maxlength'] = 'Μέγιστο μήκος'; $lang['msg_contenttype_removed'] = 'Ο τύπος δεδομένων τον νέων έχει απομακρυνθεί. Παρακαλώ τοποθετήστε {news) tags με τις κατάλληλες παραμέτρους στη σελίδα σας ή στο περιεχόμενό της για να αντικαταστήσετε αυτή τη λειτουργία.'; $lang['more'] = 'Περισσότερα'; $lang['moretext'] = 'Περισσότερα'; $lang['name'] = 'Ονομασία'; $lang['nameexists'] = 'Υπάρχει ήδη πεδίο με αυτό το όνομα'; $lang['needpermission'] = 'Πρέπει να έχετε τα δικαιώματα πρόσβασης του \'%s\' για να εκτελέσετε αυτήν την εργασία.'; $lang['newcategory'] = 'Νέα κατηγορία'; $lang['news'] = 'Ειδήσεις'; $lang['news_return'] = 'Επιστροφή'; $lang['nextpage'] = '>'; $lang['nocategorygiven'] = 'Δεν ορίσατε κατηγορία'; $lang['nocontentgiven'] = 'Δεν ορίσατε περιεχόμενο'; $lang['noitemsfound'] = 'Δέν ευρέθηκαν στοιχεία για τήν κατηγορία: %s'; $lang['nonamegiven'] = 'Δεν δώθηκε όνομα'; $lang['none'] = 'Κανένα'; $lang['nopostdategiven'] = 'Δεν ορίστηκε ημερομηνία δημοσίευσης'; $lang['notanumber'] = 'Το μέγιστο μήκος δεν είναι νούμερο'; $lang['note'] = 'Σημείωση: Οι ημερομηνίες πρέπει να έχουν την μορφή \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Έχεις το %s δημοσιευμένο.'; $lang['notify_n_draft_items_sub'] = '%d Άρθρα νέων'; $lang['notitlegiven'] = 'Δεν ορίστηκε τίτλος'; $lang['numbertodisplay'] = 'Αριθμός για εμφάνιση (το κενό εμφανίζει όλες τις εγγραφές)'; $lang['options'] = 'Επιλογές'; $lang['optionsupdated'] = 'Οι επιλογές ενημερώθηκαν επιτυχώς.'; $lang['postdate'] = 'Ημερομηνία δημοσίευσης'; $lang['postinstall'] = 'Βεβαιωθείτε ότι ορίσατε το δικαίωμα "Τροποποίηση Ειδήσεων" στους χρήστες που θα διαχειρίζονται στοιχείων ειδήσεων.'; $lang['post_date_asc'] = 'Δημοσίευσε ημερομηνία σε άυξουσα'; $lang['post_date_desc'] = 'Δημοσίευσε ημερομηνία σε φθήνουσα'; $lang['prevpage'] = '<'; $lang['print'] = 'Εκτύπωση'; $lang['prompt_default'] = 'Αρχικό'; $lang['prompt_name'] = 'Ονομα'; $lang['prompt_newtemplate'] = 'Δημιούργησε νέο template'; $lang['prompt_of'] = 'από'; $lang['prompt_page'] = 'Σελίδα'; $lang['prompt_pagelimit'] = 'Όριο σελίδας'; $lang['prompt_sorting'] = 'κατηγοριοποίηση σύμφωνα με'; $lang['prompt_template'] = 'Πηγή template'; $lang['prompt_templatename'] = 'Ονομα template'; $lang['public'] = 'Δημόσιο'; $lang['published'] = 'Δημοσιευμένο'; $lang['reassign_category'] = 'Άλλαξε κατηγορία προς'; $lang['removed'] = 'Απομακρύνθηκε'; $lang['resettodefault'] = 'Επαναφορά στις αρχικές ρυμθίσεις'; $lang['restoretodefaultsmsg'] = 'Αυτή η λειτουργία 8α επαναφέρει τα περιεχόμενα των προτύπων στις προεπιλογές του συστήματος. Είστε βέβαιοι για την συνέχιση της διαδικασίας?'; $lang['revert'] = 'Ορισε ως \'σχεδιασμένο\''; $lang['select'] = 'Διάλεξε'; $lang['selectcategory'] = 'Επιλογή κατηγορίας'; $lang['showchildcategories'] = 'Εμφάνιση υποκατηγοριών'; $lang['sortascending'] = 'Αύξουσα ταξινόμηση'; $lang['startdate'] = 'Αρχική ημερομηνία'; $lang['startdatetoolate'] = 'Η ημερομηνία αρχής είναι πολύ αργά'; $lang['startoffset'] = 'Έναρξη εμφάνισης από το στοιχείο με αριθμό'; $lang['startrequiresend'] = 'Η εισαγωγή μιας αρχικής ημερομηνίας απαιτεί την εισαγωγή μιας τελικής στην συνέχεια'; $lang['status'] = 'Κατάσταση'; $lang['status_asc'] = 'Κατάσταση σε άυξουσα'; $lang['status_desc'] = 'Κατάσταση σε φθήνουσα'; $lang['subject_newnews'] = 'Εχει δημοσιευτεί ένα άρθρο νέου'; $lang['submit'] = 'Υποβολή'; $lang['summary'] = 'Σύνοψη'; $lang['summarytemplate'] = 'Μορφή προτύπου σύνοψης'; $lang['summarytemplateupdated'] = 'Το template περίληψης νέων ενημερώθηκε επιτυχώς.'; $lang['sysdefaults'] = 'Επαναφορά επιλογών'; $lang['template'] = 'ταμπλό'; $lang['textarea'] = 'Περιοχή κειμένου'; $lang['textbox'] = 'Είσοδος κειμένου'; $lang['title'] = 'Τίτλος'; $lang['title_asc'] = 'Τίτλος σε άυξουσα'; $lang['title_available_templates'] = 'Διαθέσιμα templates'; $lang['title_browsecat_sysdefault'] = 'Βασική περιήγηση στην κατηγορία templates'; $lang['title_browsecat_template'] = 'Περιήγηση στην κατηγορία επεξεργαστών template'; $lang['title_desc'] = 'Τίτλος σε φθήνουσα'; $lang['title_detail_returnid'] = 'Βασική δελίδα για χρήση λεπτομερών νέων.'; $lang['title_detail_settings'] = 'Ρυθμίσεις για λεπτομερή εμφάνιση'; $lang['title_detail_sysdefault'] = 'Αρχικό λεπτομερές template'; $lang['title_detail_template'] = 'Λεπτομερείς επεξεργαστής template'; $lang['title_fesubmit_settings'] = 'Υποβολή ρυθμίσεων για το frontend'; $lang['title_filter'] = 'Φίλτρα'; $lang['title_form_sysdefault'] = 'Αρχική φόρμα template'; $lang['title_form_template'] = 'Επεξεργαστής φόρμας template'; $lang['title_notification_settings'] = 'Ρυθμίσεις ειδοποίησης'; $lang['title_submission_settings'] = 'Ρυθμίσεις για υποβολή νέων'; $lang['title_summary_sysdefault'] = 'Αρχική περίληψη template'; $lang['title_summary_template'] = 'Συνοπτικός επεξεργαστής template'; $lang['type'] = 'Τύπος'; $lang['unknown'] = 'Άγνωστο'; $lang['unlimited'] = 'Χωρίς όριο'; $lang['up'] = 'Επάνω'; $lang['uploadscategory'] = 'Κατηγορία Uploads'; $lang['url'] = 'Ενιαίος Εντοπιστής Πόρων'; $lang['useexpiration'] = 'Χρήση ημερομηνίας λήξης'; ?>Sent when an article is added.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • "news_id" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • "category_id" - Id of the deleted category
    • "name" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    • "origname" - The original name of the news category
    '; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['revert']='Set Status to 'Draft''; ?>(puede que esté en uso, o que contenga caracteres inválidos)'; $lang['error_mkdir']='No se pudo crear el directorio: %s'; $lang['error_movefile']='No se pudo crear el archivo: %s'; $lang['error_noarticlesselected']='No se ha elegido ningún artículo'; $lang['error_nooptions']='No hay opciones especificadas para la definición del campo'; $lang['error_templatenamexists']='Ya existe una plantilla con ese nombre'; $lang['error_upload']='Ha ocurrido un problema al subir un archivo'; $lang['eventdesc-NewsArticleAdded']='Se envía cuando se añade un artículo.'; $lang['eventdesc-NewsArticleDeleted']='Se envía cuando eliminamos un artículo.'; $lang['eventdesc-NewsArticleEdited']='Se envia cuando editamos un artículo.'; $lang['eventdesc-NewsCategoryAdded']='Se envía cuando añadimos una categoría.'; $lang['eventdesc-NewsCategoryDeleted']='Se envía cuando eliminamos una categoría.'; $lang['eventdesc-NewsCategoryEdited']='Se envia cuando editamos una categoría.'; $lang['eventhelp-NewsArticleAdded']='

    Se envía cuando añadimos un artículo.

    Parámetros

    • \"news_id\" - Id del artículo
    • \"category_id\" - Id de la categoría del artículo
    • \"title\" - Título del artículo
    • \"content\" - Contenido del artículo
    • \"summary\" - Resumen del artículo
    • \"status\" - estado del artículo ("borrador" o "publicado")
    • \"start_time\" - Fecha de inicio a partir de la cual se muestra el artículo
    • \"end_time\" - Fecha de vencimiento a partir de la cual no se muestra el artículo
    • \"useexp\" - Si la fecha de vencimiento se ignora o no
    '; $lang['eventhelp-NewsArticleDeleted']='

    Se envía cuando se elimina un artículo.

    Parámetros

    • \"news_id\" - Id del artículo de noticias
    '; $lang['eventhelp-NewsArticleEdited']='

    Se envía cuando se edita un artículo.

    Parámetros

    • \"news_id\" - Id del artículo
    • \"category_id\" - Id de la categoría del artículo
    • \"title\" - Título del artículo
    • \"content\" - Contenido del artículo
    • \"summary\" - Resumen del artículo
    • \"status\" - estado del artículo ("borrador" o "publicado")
    • \"start_time\" - Fecha de inicio a partir de la cual se muestra el artículo
    • \"end_time\" - Fecha de vencimiento a partir de la cual no se muestra el artículo
    • \"useexp\" - Si la fecha de vencimiento se ignora o no
    '; $lang['eventhelp-NewsCategoryAdded']='

    Se envía cuando se añade una categoría.

    Parámetros

    • \"category_id\" - Id de la categoría del artículo
    • \"name\" - Nombre de la categoría
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Se envía cuando se elimina una categoría.

    Parámetros

    • \"category_id\" - Id de la categoría eliminada
    • \"name\" - Nombre de la categoría eliminada
    '; $lang['eventhelp-NewsCategoryEdited']='

    Se envía cuando se edita una categoría.

    Parámetros

    • \"category_id\" - Id de la categoría de noticias
    • \"name\" - Nombre de la categoría de noticias
    • \"origname\" - El nombre original de la categoría de noticias
    '; $lang['expired']='Vencido'; $lang['expired_searchable']='Los artículos vencidos pueden aparecer en resultados de búsquedas'; $lang['expired_viewable']='Articulos que han expirado se pueden ver en la vista detallada.'; $lang['expiry']='Vencimiento'; $lang['expiry_date_asc']='Fecha Vence Ascendente'; $lang['expiry_date_desc']='Fecha Vence Descendente'; $lang['expiry_interval']='El número de días (por defecto) antes que un artículo haya vencido (si se elige vencer)'; $lang['extra']='Extra '; $lang['extra_label']='Extra: '; $lang['fesubmit_redirect']='El ID o Alias de la página a donde se redireccionará después de que un artículo de noticias ha sido enviado a través de la acción FEsubmit'; $lang['fesubmit_status']='El estado de artículos de noticias enviados vía el portal'; $lang['fielddef']='Definición de Campo'; $lang['fielddefadded']='Definición de Campo Añadida Correctamente'; $lang['fielddefdeleted']='Definición de Campo Eliminada'; $lang['fielddefupdated']='Definición de Campo Actualizada'; $lang['file']='Archivo'; $lang['filter']='Filtro'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Dirección del email para recibir notificaciones de envíos de noticias'; $lang['formtemplate']='Plantillas de Formulario'; $lang['help']='

    Notas Importantes

    A partir de la versión 2.9 de las News se ha eliminado el miembro formatpostdate de las plantillas, así como el parámetro dateformat. Debe usar el modificador cms_date_format (como se indica en las plantillas por defecto) para formatear las fechas, y usar en las plantillas entry->postdate en vez de entry->formatpostdate.

    ¿Qué hace esto?

    News es un módulo para mostrar noticias de acontecimientos en su página, similar al estilo de un blog, pero con más posibilidades. Cuando se instala el módulo, se agrega una página de Administración de Noticias al menú de administración que le permitirá seleccionar o crear una categoría de noticias. Una vez que se crea o se selecciona una categoría de noticias, se muestra una lista de nuevos ítems para esa categoría. A partir de aquí puede agregar, editar o eliminar items de esa categoría.

    Varios métodos de visualización

    Debido a la cantidad de parámetros soportados por el módulo de noticias, así como la cantidad de plantillas que puede elegir, las opciones de visualización de los artículos de noticias son ilimitadas.

    Campos Personalizados

    El módulo de noticias permite definir numerosos campos personalizados (incluyendo archivos e imágenes) lo que le permitirá incluir archivos pdf o numerosas imágenes en los artículos.

    Categorías

    News proporciona un mecanismos de categorías en jerarquía para organizar los artículos. Un artículo de noticias sólo puede estar en una posición de esta jerarquía.

    Vencimiento y Estado

    Cada artículo de noticias puede tener una fecha de vencimiento opcional, a partir de la cual no se mostrará en la página web. También, los artículos se pueden marcar como borrador para retirarlos permanentemente de la página web.

    Seguridad

    El usuario debe pertenecer a un grupo con el permiso 'Modificar Noticias' para poder añadir o editar entradas de noticias.

    También, para poder eliminar entradas de noticias, el usuario debe pertenecer a un grupo con el permiso 'Eliminar Artículos de Noticias'.

    Para poder editar los diseños de las plantillas, el usuario debe pertenecer a un grupo con el permiso 'Modificar Plantillas'.

    Para poder editar las preferencias globales de las noticias, el usuario debe pertenecer a un grupo con el permiso 'Modificar las Preferencias del Sitio'.

    Además, para aprobar noticias que serán mostradas en el portal, el usuario deb pertenecer a un grupo con el permiso 'Aprobar Noticias'.

    ¿Como lo uso?

    La forma más sencilla de utilizarlo es mediante la etiqueta de envoltura {news} (envuelve al módulo en una etiqueta, para simplificar la sintaxis). Esto inserta el módulo en cualquier lugar que desee de la plantilla o de la página, y muestra los ítems de noticias. El código tendrá la forma: {news number='5'}

    Plantillas

    Desde la versión 2.3 News soporta múltiples plantillas de base de datos, dejando de soportar las plantillas de archivo. Los usuarios que usaban el viejo sistema de plantillas de archivo deberán seguir estos pasos (para cada plantilla):

    • Copiar el texto de la plantilla de archivo en el portapapeles
    • Crear una nueva plantilla de base de datos (tanto la de resumen como la de detalles, según se necesite). Dé a la nueva plantilla el mismo nombre (incluyendo la extensión .tpl) que tenía la vieja plantilla de archivo, y pegue el contenido del portapapeles.
    • Pulse en Enviar

    Con estos pasos se debería solucionar el problema de las plantillas no encontradas y otros errores smarty similares que se producen cuando actualiza a una la versión de CMS que incluye el módulo News 2.3 o superior.

    '; $lang['help_articleid']='Este parametro sólo se aplica a la vista en detalle. Permite especificar qué artículos de noticias se muestran en el modo detalle. Con el valor especial -1, el sistema mostrará el articulo más nuevo, publicado, que no ha vencido.'; $lang['help_pagelimit']='Máximo número de elementos a mostrar (por página). Si no se proporciona este parámetro se mostraran todos los elementos coincidentes. Si se especifica, y hay más elementos que los especificados por este parámetro, se proporcionarán textos y enlaces para poder navegar entre los resultados'; $lang['helpaction']='Sobrescribe la acción por defecto. Los valores posibles son:
    • "detai" - para mostrar un articleid específico en el modo de detalle.
    • "default" - para mostrar la vista de resumen
    • "fesubmit" - para mostrar el formulario en el portal de forma que permita a los usuarios eviar artículos de noticias directamentes desde el portal.
    • "browsecat" - para mostrar una lista de categorías en forma de enlaces.
    '; $lang['helpbrowsecat']='Muestra un listado de categorías que se puede examinar.'; $lang['helpbrowsecattemplate']='Use una plantilla de base de datos para mostrar el explorador de categorías. Esta plantilla debe existir y estar visible en la pestaña de Plantillas de Exploración de Categorías en la administración de Noticias, aunque no tiene porqué ser la plantilla por defecto. Si este parámetro no se especifica, entonces se usará a la plantilla actualmente marcada por defecto.'; $lang['helpcategory']='Se usa en la vista de resumen para mostrar sólo los elementos de las categorías especificadas. Usar * después del nombre para mostrar sub-categorías. Se pueden usar múltiples categorías separándolas por una coma. Si se deja en blanco muestra todas las categorías. Este parámetro también funciona para la acción de envío a través del portal, pero sólo soporta un nombre de categoría.'; $lang['helpdetailpage']='Página donde se muestra la noticia en detalle. Puede ser un alias de página o un id. Se usa para permitir que los detalles se muestren en una plantilla diferente de la de resumen.'; $lang['helpdetailtemplate']='Use una plantilla de base de datos distinta para mostrar el artículo en detalle. Esta plantilla debe existir y estar visible en la pestaña de plantilla de detalles en la administración de Noticias, aunque no tiene porqué ser la plantilla por defecto. Si este parámetro no se especifica, entonces se usará a la plantilla actualmente marcada por defecto.'; $lang['helpformtemplate']='Use una plantilla de la base de datos para mostrar el formulario de envío del artículo. Esta plantilla debe existir y estar visible en la pestaña de plantillas de formulario en la administración de Noticias, aunque no tiene porqué ser la plantilla por defecto. Si este parámetro no se especifica, entonces se usará a la plantilla actualmente marcada por defecto.'; $lang['helpmoretext']='Texto a mostrar al final de una noticia si esta supera la longitud del resumen. Por defecto es "Más"'; $lang['helpnumber']='Número máximo de elementos a mostrar (por página) -- dejándolo en blanco los muestra todos. Es equivalente al parámetro pagelimit.'; $lang['helpshowall']='Mostrar todos los artículos, sin importar la fecha en que finalizan'; $lang['helpshowarchive']='Mostrar sólo los artículos de noticias vencidos.'; $lang['helpsortasc']='Ordenar noticias por fechas en orden ascendente en lugar de descendente.'; $lang['helpsortby']='Campo por el que ordenar. Las opciones son: "news_date", "summary", "news_data", "news_category", "news_title", "random". Por defecto es "news_date". Si se especifica "random", el parámetro sortasc se ignora.'; $lang['helpstart']='Comenzar por el enésimo elemento -- dejándolo en blanco comenzará por el primero.'; $lang['helpsummarytemplate']='Use una plantilla de base de datos distinta para mostrar el resumen del artículo. Esta plantilla debe existir y estar visible en la pestaña de la plantilla de resumen en la administración de Noticias, aunque no tiene porqué ser la plantilla por defecto. Si este parámetro no se especifica, entonces se usará a la plantilla actualmente marcada por defecto.'; $lang['hide_summary_field']='Esconder el campo resumen cuando se agrega o editan artículos'; $lang['info_detail_returnid']='Esta preferencia se usa para determinar una página (y por lo tanto una plantilla) en la que mostrar la vista de detalle. Las URLs individualizadas para los detalles de las Noticias no funcionarán a menos que este parámetro se configure con una página valida. Adicionalmente, si esta preferencia está establecida, y no se proporciona el parametro 'detailpage' (página de detalle) en la etiqueta de noticias, entonces este valor será utilizado para los enlaces de detalle'; $lang['info_expired_viewable']='Si se habilita, articulos expirados se pueden ver en la vista detallada. El parámetro 'showall' puede usarse en la URL (cuando no se utilicen the URLS amigables) para indicar que los articulos expirados se pueden ver.'; $lang['info_maxlength']='La longitud máxima se aplica sólo a los campos de entrada de texto.'; $lang['info_public']='Los campos públicos no estan disponibles para edición a traves de la pagina frontal, o para desplegar en la vista sumaria o vista detallada. Estos son utiles para información que es asociada con los articulos de noticias, pero no es para uso publico.'; $lang['info_sysdefault']='(el contenido usado por defecto cuando se crea una plantilla nueva)'; $lang['info_sysdefault2']='Nota: Esta pestaña contiene áreas de texto que le permitirán editar un grupo de plantillas que son mostradas cuando crea una plantilla \'nueva\' de resumen, de detalle, o de formulario. Si cambia el contenido de esta pestaña, y pulsa \'Enviar\' no tendrá efecto sobre lo que se muestra actualmente.'; $lang['lastpage']='>>'; $lang['maxlength']='Longitud Máxima'; $lang['more']='Más'; $lang['moretext']='Texto Más'; $lang['msg_contenttype_removed']='El tipo de contenido de noticias se ha quitado. Sitúe los tags {news} con los parámetros apropiados en la plantilla de la página o en el contenido de la página para reemplazar esta funcionalidad.'; $lang['name']='Nombre'; $lang['nameexists']='Ya existe un campo con ese nombre'; $lang['needpermission']='Necesitas permisos de '%s' para realizar esta función.'; $lang['newcategory']='Categoría Nueva'; $lang['news']='Noticias'; $lang['news_return']='Volver'; $lang['nextpage']='>'; $lang['nocategorygiven']='No hay Categoría'; $lang['nocontentgiven']='No hay Contenido'; $lang['noitemsfound']='Ningún elemento encontrado en categoría: %s'; $lang['nonamegiven']='No hay Nombre'; $lang['none']='Ninguno'; $lang['nopostdategiven']='No hay Fecha de Envío'; $lang['notanumber']='La Longitud Máxima No es un Número'; $lang['note']='Nota: Las Fechas deben estar en formato 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Tiene %s que no han sido publicados'; $lang['notify_n_draft_items_sub']='Artículo(s) de Noticias s%'; $lang['notitlegiven']='No hay Título'; $lang['numbertodisplay']='Número a Mostrar (en blanco muestra todos los registros)'; $lang['options']='Opciones'; $lang['optionsupdated']='Las opciones se actualizaron correctamente.'; $lang['post_date_asc']='Fecha Entrada Ascendente'; $lang['post_date_desc']='Fecha Entrada Descendente'; $lang['postdate']='Fecha de Envío'; $lang['postinstall']='Asegúrese de que los usuarios que vayan a administrar noticias tengan activado el permiso "Modificar Noticias".'; $lang['preview']='Vista previa'; $lang['prevpage']='<'; $lang['print']='Imprimir'; $lang['prompt_default']='Por Defecto'; $lang['prompt_name']='Nombre'; $lang['prompt_newtemplate']='Crear una Nueva Plantilla'; $lang['prompt_of']='de'; $lang['prompt_page']='Página'; $lang['prompt_pagelimit']='Límite de Página'; $lang['prompt_sorting']='Ordenar por'; $lang['prompt_template']='Codigo fuente de la Plantilla'; $lang['prompt_templatename']='Nombre de Plantilla'; $lang['public']='Público'; $lang['published']='Publicado'; $lang['reassign_category']='Cambiar Categoría A'; $lang['removed']='Quitado'; $lang['resettodefault']='Resetear a los Valores Iniciales'; $lang['restoretodefaultsmsg']='Esta operación restaurará el contenido de la plantilla a la configuración original. ¿Está seguro?'; $lang['revert']='Establecer el estado a 'Borrador''; $lang['select']='Seleccionar'; $lang['selectcategory']='Seleccionar Categoría'; $lang['showchildcategories']='Mostrar Subcategorías'; $lang['sortascending']='Orden Ascendente'; $lang['startdate']='Fecha de Inicio'; $lang['startdatetoolate']='La Fecha de Comienzo es muy tarde (¿posterior a fecha final?)'; $lang['startoffset']='Comienza a mostrar desde el enésimo elemento'; $lang['startrequiresend']='Una fecha de inicio requiere también una de fin'; $lang['status']='Estado'; $lang['status_asc']='Stado Ascendente'; $lang['status_desc']='Status Descendiente'; $lang['subject_newnews']='Se ha enviado un artículo nuevo de Noticias'; $lang['submit']='Enviar'; $lang['summary']='Resumen'; $lang['summarytemplate']='Plantilla de Resumen'; $lang['summarytemplateupdated']='La Plantilla de Resumen de Noticias se actualizó correctamente.'; $lang['sysdefaults']='Restaurar por defecto'; $lang['template']='Plantilla'; $lang['textarea']='Área de Texto'; $lang['textbox']='Entrada de Texto'; $lang['title']='Título'; $lang['title_asc']='Título Ascendente'; $lang['title_available_templates']='Plantillas Disponibles'; $lang['title_browsecat_sysdefault']='Plantilla por Defecto de Navegación por Categorías'; $lang['title_browsecat_template']='Editor de la Plantilla de Navegación por Categorías'; $lang['title_desc']='Título Descendente'; $lang['title_detail_returnid']='Página por defecto para las vistas de detalle'; $lang['title_detail_settings']='Configuración de la vista de detalle'; $lang['title_detail_sysdefault']='Plantilla de Detalle por Defecto'; $lang['title_detail_template']='Editor de Plantilla de Detalles'; $lang['title_fesubmit_settings']='Configuración de envío a través del portal'; $lang['title_filter']='Filtros'; $lang['title_form_sysdefault']='Plantilla de formulario por Defecto'; $lang['title_form_template']='Editor de Plantilla de Formulario'; $lang['title_notification_settings']='Configuración de notificación'; $lang['title_submission_settings']='Configuración de envío de Noticias'; $lang['title_summary_sysdefault']='Plantilla de Resumen por Defecto'; $lang['title_summary_template']='Editor de Plantilla de Resumen'; $lang['type']='Tipo'; $lang['unknown']='Desconocido'; $lang['unlimited']='Ilimitado'; $lang['up']='Arriba'; $lang['uploadscategory']='Categoría de Subidas'; $lang['url']='URL '; $lang['useexpiration']='Usar Fecha de Vencimiento'; $lang['warning_preview']='Aviso: Este panel de vista previa se comporta de forma muy parecida a la ventana de un navegador permitiéndole navegar fuera de la página previsualizada inicialmente. Si navega fuera de la página inicial, cuando regrese puede no obtener los resultados esperados
    Nota: La vista previa no sube los archivos que seleccione para subir.'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Aegunud'; $lang['expiry']='Aegub'; $lang['fielddef']='Välja definitsioon'; $lang['fielddefadded']='Välja definitsioon edukalt lisatud'; $lang['fielddefdeleted']='Välja definitsioon kustutatud'; $lang['fielddefupdated']='Välja definitsioon uuendatud'; $lang['filter']='Filtreeri'; $lang['firstpage']='&lt;&lt;'; $lang['formtemplate']='Vormi mallid'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • &quot;detail&quot; - to display a specified articleid in detail mode.
    • &quot;default&quot; - to display the summary view
    • &quot;fesubmit&quot; - to display the frontend form for allowing users to submit news articles on the front end.
    • &quot;browsecat&quot; - to display a browseable category list.
    '; $lang['helpcategory']='Kuva uudiseid ainult sellest kategooriast. kasuta tärni (*) nime järel, et näidata alamaid. Komaga eraldades saad määrata korraga mitu kategooriat. Jättes tühjaks kuvatakse kõik kategooriad.'; $lang['helpdetailpage']='Leht, millel Uudiste detaile näidata. See võib olla lehe alias või id. Võimaldab kuvada detaile kokkuvõtest erineva malliga.'; $lang['helpdetailtemplate']='Kasuta artikli detailse vaate kuvamiseks eraldi malli. See peab asuma kaustas modules/News/templates.'; $lang['helpmoretext']='Tekst, mida näidata uudise lõpus, kui see ületam kokkuvõtte pikkuse. Vaikimis on see "loe edasi..."'; $lang['helpnumber']='Maksimaalne uudiste arv, mida kuvada =- jättes tühjaks kuvatakse kõik'; $lang['helpsortasc']='Sorteeri uudised kasvavas, mitte kahanevas järjekorras.'; $lang['helpsortby']='Väli, mille järgi sorteerida. Valikud on: "news_date", "summary", "news_data", "news_category", "news_title". Defaults to "news_date".'; $lang['helpstart']='Alusta alates n-dast uudisest -- jättes tühjaks alustatakse esimesest uudisest.'; $lang['helpsummarytemplate']='Kasuta artikli kokkuvõtte kuvamiseks eraldi malli. See peab asuma kaustas modules/News/templates.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='&gt;&gt;'; $lang['more']='Loe edasi...'; $lang['moretext']='Loe edasi tekst'; $lang['name']='Nimi'; $lang['nameexists']='Sellise nimega väli eksisteerib juba'; $lang['needpermission']='Sul on selle funkstiooni jaoks vaja '%s' õigusi'; $lang['newcategory']='Uus Kategooria'; $lang['news']='Uudised'; $lang['news_return']='Tagasi'; $lang['nextpage']='&gt;'; $lang['nocategorygiven']='Kategooriat ei ole.'; $lang['nocontentgiven']='Sisu ei ole.'; $lang['noitemsfound']='Mitte ühtegi sissekannet kategoorias: %s'; $lang['nonamegiven']='Nime ei ole.'; $lang['nopostdategiven']='Postitamise kuupäeva ei ole.'; $lang['note']='Märkus: Kuupäevad peavad olema 'yyyy-mm-dd hh:mm:ss' formaadis.'; $lang['notitlegiven']='Pealkirja ei ole.'; $lang['numbertodisplay']='Mitut näidata (tühi väli näitab kõiki)?'; $lang['options']='Valikud'; $lang['optionsupdated']='Valikud edukalt uuendatud.'; $lang['postdate']='Postitamise kuupäev'; $lang['postinstall']='Palun määra kindlasti "Modify news" õigus kasutajatele, kes peavad uudiseid toimetama.'; $lang['prevpage']='&lt;'; $lang['print']='Prindi'; $lang['prompt_default']='Vaikimisi'; $lang['prompt_name']='Nimi'; $lang['prompt_newtemplate']='Loo uus mall'; $lang['prompt_of']='kokku'; $lang['prompt_page']='Lehekülg'; $lang['prompt_pagelimit']='Lehekülje piirang'; $lang['prompt_sorting']='Sorteeri'; $lang['public']='Avalik'; $lang['published']='Avalikustatud'; $lang['restoretodefaultsmsg']='See operatsioon taastab mallide algseaded. Oled kindel, et soovid jätkata?'; $lang['revert']='Sea olek 'Mustand''; $lang['selectcategory']='Vali Kategooria'; $lang['showchildcategories']='Näita Alamkategooriaid'; $lang['sortascending']='Sorteeri Kahanevalt'; $lang['startdate']='Alguskuupäev'; $lang['startdatetoolate']='Algus kuupäev on liiga hilja (peale lõpu kuupäeva?)'; $lang['startoffset']='Alusta näitamist alates n-dast sissekandest'; $lang['startrequiresend']='Alguskuupäeva sisestamisel tuleb sisestada ka lõppkuupäev'; $lang['status']='Staatus'; $lang['submit']='Saada'; $lang['summary']='Kokkuvõte'; $lang['summarytemplate']='Kokkuvõtte Mall'; $lang['summarytemplateupdated']='Uudiste Kokkuvõtte Mall edukalt uuendatud.'; $lang['sysdefaults']='Taasta algseaded'; $lang['template']='Mall'; $lang['title']='Pealkiri'; $lang['title_filter']='Filtrid'; $lang['type']='Tüüp'; $lang['up']='Üles'; $lang['useexpiration']='Kasuta Aegumiskuupäeva'; ?>Artikulu bat gehitzen denean bidalia.

    Parametroak

    • \"news_id\" - Berriaren Id-a
    • \"category_id\" - Artikulu honen kategoriaren Id-a
    • \"title\" - Artikuluaren titulua
    • \"content\" - Artikuluaren edukia
    • \"summary\" - Artikuluaren laburpena
    • \"status\" - Artikuluaren egoera ("zirriborroa" edo "argitaragarria")
    • \"start_time\" - Artikulua bistaratua izaten hasiko den data
    • \"end_time\" - Artikulua bistaratua izatetik gelditu beharko den data
    • \"useexp\" - Amaiera data kontuan hartu behar den ala ez
    '; $lang['eventhelp-NewsArticleDeleted']='

    Artikulu bat ezabatzen denean bidalia.

    Parametroak

    • \"news_id\" - Berriaren Id-a
    '; $lang['eventhelp-NewsArticleEdited']='

    Artikulu bat editatzen denean bidalia.

    Parametroak

    • \"news_id\" - Berriaren Id-a
    • \"category_id\" - Artikulu honen kategoriaren Id-a
    • \"title\" - Artikuluaren titulua
    • \"content\" - Artikuluaren edukia
    • \"summary\" - Artikuluaren laburpena
    • \"status\" - Artikuluaren egoera ("zirriborroa" edo "argitaragarria")
    • \"start_time\" - Artikulua bistaratua izaten hasiko den data
    • \"end_time\" - Artikulua bistaratua izatetik gelditu beharko den data
    • \"useexp\" - Amaiera data kontuan hartu behar den ala ez
    '; $lang['eventhelp-NewsCategoryAdded']='

    Kategoria bat gehitzen denean bidalia.

    Parametroak

    • \"category_id\" - Berrien kategoriaren Id-a
    • \"name\" - Berrien kategoriaren izena
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Kategoria bat ezabatzen denean bidalia.

    Parameters

    • \"category_id\" - Ezabatutako kategoriaren Id-a
    • \"name\" - Ezabatutako kategoriaren izena
    '; $lang['eventhelp-NewsCategoryEdited']='

    Kategoria bat editatzen denean bidalia.

    Parametroak

    • \"category_id\" - Berrien kategoriaren Id-a
    • \"name\" - Berrien kategoriaren izena
    • \"origname\" - Berrien kategoriaren jatorrizko izena
    '; $lang['expiry']='Amaiera'; $lang['filter']='Filtroa'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.
    • entry->authorname - The full name of the the author including First and Last name.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    '; $lang['helpbrowsecat']='Erakutsi nabigagarria den kategori lista bat.'; $lang['helpcategory']='Kategori horretako elementuak bakarrik erakutsi. Erabili * izenaren ostean, honen umeak erakusteko. Kategoria ugari erabili ahal daitezke komekin separatuez gero. Utzik mantenduz gero, kategoria guztiak erakutsiko ditu.'; $lang['helpdetailpage']='Berrien xehetasunak erakusteko erabiliko den orrialdea. Alias bat edo id bat izan ahal da. Berrien xehetasunak, laburpenerako erabiltzen den txantiloi ezberdin baten bitartez erakusteko erabiltzen da.'; $lang['helpdetailtemplate']='Artikuluaren xehetasunak erakusteko aparteko txantiloi bat erabili. Hau modules/News/templates direktoriopean egon behar da.'; $lang['helpmoretext']='Laburpena baino luzeagoak diren berrien amaieran erakutsi beharreko textua. "gehiago..." dago lehenetsi moduan. '; $lang['helpnumber']='Erakutsi beharreko elementu kopuru maximoa =- Utzik, elementu guztiak erakutsiko dira.'; $lang['helpshowarchive']='Iraungitako berriak besterik ez erakutsi.'; $lang['helpsortasc']='Berriak zaharrenetik berrirenera ordenatu.'; $lang['helpsortby']='Zein eremugatik ordenatu . Aukerak: "news_date", "summary", "news_data", "news_category", "news_title". Lehenetsitzat: "news_date".'; $lang['helpstart']='Hasi Ngarren elementuan -- Utzik, lehenengo elementuan hasiko da.'; $lang['helpsummarytemplate']='Artikuluaren laburpena erakusteko aparteko txantiloi bat erabili. Hau modules/News/templates direktoriopean egon behar da.'; $lang['more']='Gehiago'; $lang['moretext']='Textu Gehiago'; $lang['name']='Izena'; $lang['needpermission']=' '%s' baimena behar duzu funtzio hori egi ahal izateko.'; $lang['newcategory']='Kategoria Berria'; $lang['news']='Berriak'; $lang['news_return']='Itzuli'; $lang['nocategorygiven']='Ez da Kategoriarik Zehaztu'; $lang['nocontentgiven']='Ez da Edukirik Zehaztu'; $lang['noitemsfound']='Ez da %s kategoriarentzako elementurik topatu.'; $lang['nonamegiven']='Ez da Izenik Zehaztu'; $lang['nopostdategiven']='Ez da Bialketa Datarik Zehaztu'; $lang['note']='Oharra: Datak 'yyyy-mm-dd hh:mm:ss' formatuan egon behar dira.'; $lang['notitlegiven']='Ez da Titulurik Zehaztu'; $lang['numbertodisplay']='Erakutsi Beharreko Kopurua (utzik, elementu denak erakusten ditu)'; $lang['options']='Hautapenak'; $lang['optionsupdated']='Aukerak arazorik gabe eguneratuak izan dira.'; $lang['postdate']='Igorpen Data'; $lang['postinstall']='Zihurtatu Berriak administratu behar dituzten erabiltzaile guztiek "Berriak Aldatu" baimena aktibatuta dutela.'; $lang['print']='Inprimatu'; $lang['restoretodefaultsmsg']='Eragiketa honek sistemak lehenetsitakotara berrezarriko ditu txantiloiaren edukiak. Zihur al zaude aurrera jarraitu nahi duzula?'; $lang['selectcategory']='Kategoria Ahutatu'; $lang['showchildcategories']='Ume-kategoriak erakutsi'; $lang['sortascending']='Goranzka Antolatu'; $lang['startdate']='Hasiera Data'; $lang['startoffset']='N-garren elementuan hasi'; $lang['startrequiresend']='Hasiera data sartuez gero amaiera data beharrezkoa da'; $lang['status']='Egoera'; $lang['submit']='Onartu'; $lang['summary']='Laburpena'; $lang['summarytemplate']='Laburpenaren Txantiloia'; $lang['summarytemplateupdated']='Berrien Laburpen Txantiloia arazorik gabe eguneratu da.'; $lang['sysdefaults']='Lehenetsiak berrezarri'; $lang['title']='Titulua'; $lang['useexpiration']='Erabili Amaiera Data'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['file']='فایل'; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['more']='بیشتر'; $lang['name']='نام'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['newcategory']='مجموعه جدید'; $lang['news_return']='برگشت'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['preview']='پیشنمایش'; $lang['prevpage']='<'; $lang['print']='چاپ'; $lang['prompt_default']='پیشفرض'; $lang['prompt_name']='نام'; $lang['prompt_page']='صفحه'; $lang['prompt_templatename']='نام قالب'; $lang['public']='عمومی'; $lang['revert']='Set Status to 'Draft''; $lang['select']='انتخاب'; $lang['status']='وضعیت'; $lang['title']='عنوان'; $lang['unlimited']='نا محمدود'; $lang['up']='بالا'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['file']='فایل'; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['more']='بیشتر'; $lang['name']='نام'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['newcategory']='مجموعه جدید'; $lang['news_return']='برگشت'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['preview']='پیشنمایش'; $lang['prevpage']='<'; $lang['print']='چاپ'; $lang['prompt_default']='پیشفرض'; $lang['prompt_name']='نام'; $lang['prompt_page']='صفحه'; $lang['prompt_templatename']='نام قالب'; $lang['public']='عمومی'; $lang['revert']='Set Status to 'Draft''; $lang['select']='انتخاب'; $lang['status']='وضعیت'; $lang['title']='عنوان'; $lang['unlimited']='نا محمدود'; $lang['up']='بالا'; ?>(Mahdollisesti käytössä, tai sisältää virheellisiä merkkejä)'; $lang['error_mkdir']='Ei voitu luoda kansiota: %s'; $lang['error_movefile']='Ei voitu luoda tiedostoa: %s'; $lang['error_noarticlesselected']='Ei valittuja artikkeleita'; $lang['error_templatenamexists']='Tämänniminen pohja on jo olemassa'; $lang['error_upload']='Tiedoston latauksessa tapahtui virhe'; $lang['eventdesc-NewsArticleAdded']='Lähetetään, kun artikkeli on lisätty.'; $lang['eventdesc-NewsArticleDeleted']='Lähetetään, kun artikkeli on poistettu.'; $lang['eventdesc-NewsArticleEdited']='Lähetetään, kun artikkelia on muokattu.'; $lang['eventdesc-NewsCategoryAdded']='Lähetetään, kun kategoria on lisätty.'; $lang['eventdesc-NewsCategoryDeleted']='Lähetetään kun kategoria on poistettu.'; $lang['eventdesc-NewsCategoryEdited']='Lähetetään kun kategoriaa on muokattu.'; $lang['eventhelp-NewsArticleAdded']='

    Lähetetään kun artikkeli on lisätty.

    Parametrit

    • \"news_id\" - Uuden artikkelin tunniste
    • \"category_id\" - Artikkelin kategorian tunniste
    • \"title\" - Artikkelin otsikko
    • \"content\" - Artikkelin sisältö
    • \"summary\" - Artikkelin yhteenveto
    • \"status\" - Artikkelin tila (\"luonnos\" tai \"julkaistu\")
    • \"start_time\" - Päivämäärä, jolloin uutisen tulisi olla näkyvissä
    • \"end_time\" - Päivämäärä, jolloin uutisen pitäisi poistua näkyvistä
    • \"useexp\" - Pitäisikö vanhentumispäivämäärä jättää huomiotta vai ei
    '; $lang['eventhelp-NewsArticleDeleted']='

    Lähetetään, kun artikkeli on poistettu.

    Parametrit

    • \"news_id\" - Artikkelin tunniste
    '; $lang['eventhelp-NewsArticleEdited']='

    Lähetetään, kun artikkelia on muokattu.

    Parametrit

    • \"news_id\" - Aartikkelin tunniste
    • \"category_id\" - Artikkelin kategorian tunniste
    • \"title\" - Artikkelin otsikko
    • \"content\" - Artikkelin sisältö
    • \"summary\" - Artikkelin yhteenveto
    • \"status\" - Artikkelin tila (\"luonnos\" tai \"julkaistu\")
    • \"start_time\" - Päivämäärä, jolloin uutisen tulisi olla näkyvissä
    • \"end_time\" - Päivämäärä, jolloin uutisen pitäisi poistua näkyvistä
    • \"useexp\" - Pitäisikö vanhentumispäivämäärä jättää huomiotta vai ei
    '; $lang['eventhelp-NewsCategoryAdded']='

    Lähetetään, kun kategoria on lisätty.

    Parametrit

    • \"category_id\" - Uutiskategorian tunniste
    • \"name\" - Uutiskategorian nimi
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Lähetetään, kun kategoria on poistettu.

    Parametrit

    • \"category_id\" - Poistetun kategorian tunniste
    • \"name\" - Poistetun kategorian nimi
    '; $lang['eventhelp-NewsCategoryEdited']='

    Lähetetään, kun kategoriaa on muokattu.

    Parametrit

    • \"category_id\" - Uutiskategorian tunniste
    • \"name\" - Uutiskategorian nimi
    • \"origname\" - Uutiskategorian alkuperäinen nimi
    '; $lang['expired']='Vanhentunut'; $lang['expired_searchable']='Vanhentuneet artikkelit voivat esiintyä hakutuloksissa'; $lang['expired_viewable']='Vanhentuneet artikkelit voidaan näyttää detail näkymässä'; $lang['expiry']='Vanhentuminen'; $lang['expiry_date_asc']='Vanhentumispvm, nouseva'; $lang['expiry_date_desc']='Vanhentumispvm, laskeva'; $lang['expiry_interval']='Jos vanhentuminen on valittu, kuinka monta päivää uutinen on oletuksena voimassa'; $lang['extra']='Lisä'; $lang['extra_label']='Extra: '; $lang['fesubmit_redirect']='Sivun ID tai alias, jolle käyttäjä ohjataan kun uusi uutisartikkeli lähetetään fesubmit-toiminnon kautta'; $lang['fesubmit_status']='Sivustolta kirjoitettujen uutisten oletustila'; $lang['fielddef']='Kentän määrittely'; $lang['fielddefadded']='Kenttä lisätty onnistuneesti'; $lang['fielddefdeleted']='Kenttä poistettu'; $lang['fielddefupdated']='Kentän määrityksiä päivitetty'; $lang['file']='Tiedosto'; $lang['filter']='Suodatus'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Sähköpostiosoite, johon lähetetään ilmoitus uusista artikkeleista'; $lang['formtemplate']='Lomakepohjat'; $lang['help']='

    Tärkeitä muistiinpanoja

    Versiosta 2.9 lähtien Uutiset on poistanut formatpostdate jäsenen pohjista, ja myös dateformat parametri on poistettu. Sinun tulisi käyttää cms_date_format muuttujaa (kuten näytetään oletuspohjassa) päivämäärien muokkaamiseksi, ja tulisi käyttää entry->formatpostdaten sijasta entry->postdatea.

    Mitä tämä tekee?

    Uutiset on moduuli, jolla voidaan näyttää uutisia sivuillasi, samaan tyyliin kuin blogeissa, mutta monipuolisemmilla toiminnoilla! Kun moduuli on asennettu, hallintapaneeliin lisätään uutisten hallintavalikko, joka sallii sinun valita tai lisätä uutiskategorioita. Kun uutiskategoria on luotu tai valittu, näytetään lista uutisartikkeleista kategoriassa. Täältä voit lisätä, muokata tai poistaa uutisia tästä kategoriasta.

    Useita näyttömahdollisuuksia

    Uutismoduulin tukemat parametrit ja pohjat merkitsevät sitä, että tavat näyttää uutisia ovat lähes rajattomat.

    Mukautetut kentät

    Uutismoduuli sallii useiden mukautettujen kenttien määrittämisen (mukaan lukien tiedostot ja kuvat), jotka sallivat sinun liittää pdf-tiedostoja tai kuvia uutisiin.p>

    Kategoriat

    Uutiset tuo mukanaan hierarkisen kategoriajärjestelmän, jonka avulla voit järjestää artikkelesi. Uutisartikkeli voi sijaita ainoastaan yhdessä paikassa hierarkiassa.

    Vanhentuminen ja tila

    Jokaisella uutisartikkelilla voi olla vapaaehtoinen vanhentumaika, jonka jälkeen sitä ei enää näytetä sivustoltasi. Artikkelit voidaan myös merkitä luonnoksiksi, jolloin ne poistuvat pysyvästi sivustoltasi.

    Turvallisuus

    Käyttäjän täytyy kuulua ryhmään, jolla on oikeus muokata uutisia, jotta hän voi lisätä tai muokata uutisartikkeleita.

    Samoin käyttäjä voi poistaa uutisia, jos hän kuuluu ryhmään, jolla on 'Poistaa uutisia' -oikeus.

    Jotta käyttäjä voi muokata sivupohjia, täytyy hänen kuulua ryhmään, jolla on 'Muokata sivupohjia' -oikeus.

    Jotta hän voisi muokata yleisiä uutisasetuksia, hänen täytyy kuulua ryhmään, jolla on 'Sivuston asetusten muokkaus' -oikeus.

    Lisäksi, jotta käyttäjä voi hyväksyä julkisilta sivuilta lähetettyjä uutisia, käyttäjän täytyy kuulua ryhmään, jolla on 'Hyväksyä uutisia' -oikeus.

    Kuinka käytän sitä?

    Helpointa on käyttää {news} kääretagia (käärii moduulin tagiin). Tämä lisää moduulin sivupohjaasi tai sivulle uutisten näyttämiseksi. Koodi voi näyttää tältä: {news number='5'}

    Sivupohjat

    Versiosta 2.3 alkaen uutiset ovat tukeneet useampia tietokannassa olevia pohjia eikä se enää tue tiedostossa olevia pohjia. Käyttäjät, jotka ovat käyttäneet vanhoja pohjia tulisi seurata seuraavia ohjeita (jokaiselle tiedostopohjalle):

    • Kopioi tiedostossa oleva pohja leikepöydälle
    • Luo uusi pohja tietokantaan (joko kooste tai yksityiskohtainen on vaadittu) Anna uudelle pohjalle sama nimi (mukaan lukien .tpl pääte) kuin vanhalla pohjalla, ja liitä sisällöt siihen.
    • Paina Lähetä

    Näiden ohjeiden seuraamisen pitäisi ratkaista ongelmat uutispohjien löytymisen ja muiden smarty-virheiden kanssa, kun päivitetät uudempaan versioon CMS-järjestelmää.

    '; $lang['help_articleid']='Tämä parametri koskee ainoastaan yksityiskohtaista näkymää. Se määrittelee, mitkä artikkelit näytetään yksityiskohtaisessa tilassa. Jos erityisarvoa -1 käytetään, järjestelmä näyttää uusimman, julkaistun ja vanhentumattoman artikkelin.'; $lang['help_pagelimit']='Sivulla näkyvien uutisten enimmäismäärä. Jos tätä parametriä ei anneta, kaikki uutiset näytetään. Jos tämä parametri annetaan ja uutisia on enemmän kuin parametrin arvo, tulosten selaamiseen annetaan linkit.'; $lang['helpaction']='Ylikirjoita oletustoiminto. Mahdolliset arvot:
    • &quot;detail&quot; - tietyn artikkelin näyttämiseksi yksityiskohtaisessa tilassa.
    • &quot;default&quot; - yhteenvetotilan näyttämiseksi
    • &quot;fesubmit&quot; - julkisten sivujen lomakkeen näyttämiseksi, jolla käyttäjät voivat lähettää uutisia.
    • &quot;browsecat&quot; -selattavan kategorialistan näyttämiseksi.
    '; $lang['helpbrowsecat']='Näyttää selattavan kategorialistan.'; $lang['helpbrowsecattemplate']='Käytä tietokantapohjaa kategorioiden selaamisen näyttämiseksi. Tämä pohja täytyy olla olemassa ja näkyvissä yhteenvetopohjan välilehdessä uutisten hallinnassa, mutta sen ei tarvitse olla oletuksena. Jos tämä parametri ei ole määritelty, silloin nykyinen pohja merkitään oletuksena käytettäväksi.'; $lang['helpcategory']='Näytä vain tämän kategorian artikkelit. * kategorian nimen perässä näyttää myös alikategoriat. Voit määritellä useita kategorioita erottamalla ne toisistaan pilkulla. Tyhjä näyttää kaikki kategoriat. Tämä parametri toimii myös julkisten sivujen lähetystoiminnolle, mutta silloin ainoastaan yksi kategoria on mahdollinen.'; $lang['helpdetailpage']='Sivu, jossa esitetään uutisen yksityiskohdat. Tämä voi olla sivun alias tai tunniste. Mahdollistaa uutisen yksityiskohtien näyttämisen eri mallipohjassa kuin uutisotsikot.'; $lang['helpdetailtemplate']='Käytä erillistä tietokantapohjaa artikkelin yksityiskohtien näyttämiseksi. Tämä pohja täytyy olla olemassa ja näkyvissä yhteenvetopohjan välilehdessä uutisten hallinnassa, mutta sen ei tarvitse olla oletuksena. Jos tämä parametri ei ole määritelty, silloin nykyinen pohja merkitään oletuksena käytettäväksi.'; $lang['helpformtemplate']='Käytä tietokantapohjaa artikkelien lähetyslomakkeen näyttämiseksi. Tämä pohja täytyy olla olemassa ja näkyvissä yhteenvetopohjan välilehdessä uutisten hallinnassa, mutta sen ei tarvitse olla oletuksena. Jos tämä parametri ei ole määritelty, silloin nykyinen pohja merkitään oletuksena käytettäväksi.'; $lang['helpmoretext']='Linkin teksti koko uutiseen, jos uutisen pituus on yli yhteenvedon pituuden. Oletus on "Lue lisää..."'; $lang['helpnumber']='Maksimimäärä näytettäviä artikkeleita (per sivu) -- tyhjäksi jättäminen näyttää kaikki artikkelit. Tämä on synonyymi pagelimit parametrille.'; $lang['helpshowall']='Näytä kaikki artikkelit, riippumatta päättymispäivämäärästä'; $lang['helpshowarchive']='Näytä vain vanhentuneet uutisartikkelit.'; $lang['helpsortasc']='Järjestä artikkelit nousevasti päivämäärän mukaan.'; $lang['helpsortby']='Minkä mukaan järjestetään. Vaihtoehdot: "news_date", "summary", "news_data", "news_category", "news_title". Oletus on "news_date". Jos "random" on määritelty, sortasc parametria ei oteta huomioon.'; $lang['helpstart']='Aloita n:nnestä artikkelista (tyhjä aloittaa ensimmäisestä).'; $lang['helpsummarytemplate']='Käytä erillistä tietokantapohjaa artikkelien yhteenvedon näyttämiseksi. Tämä pohja täytyy olla olemassa ja näkyvissä yhteenvetopohjan välilehdessä uutisten hallinnassa, mutta sen ei tarvitse olla oletuksena. Jos tämä parametri ei ole määritelty, silloin nykyinen pohja merkitään oletuksena käytettäväksi.'; $lang['hide_summary_field']='Piilota "yhteenveto"-kenttä lisäys- ja muokkaussivuilta'; $lang['info_detail_returnid']='Tätä asetusta käytetään määrittelemään sivu (ja sivupohja), jota käytetään lisätietojen näyttämiseksi. Yksilölliset uutisten URL-osoitteet eivät toimi, jos tätä asetusta ei ole asetettu toimivaksi sivuksi. Lisäksi, jos tämä asetus on määritelty, eikä detailpage-parametria ole annettu uutistagissa, tätä asetusta käytetään lisätietolinkissä.'; $lang['info_maxlength']='Maksimipituus on käytössä vain tekstikentillä'; $lang['info_sysdefault']='(Pohja jota käytetään oletuksena)'; $lang['info_sysdefault2']='Huomioi: Tämä välilehti sisältää tekstikenttiä, jotka sallivat uusien pohjien oletustietojen muokkauksen.Nämä eivät vaikuta olemassa oleviin pohjiin!.'; $lang['lastpage']='>>'; $lang['maxlength']='Maksimipituus'; $lang['more']='Lue lisää'; $lang['moretext']='Lue lisää'; $lang['msg_contenttype_removed']='Uutiset sivutyyppi on poistettu. Ole hyvä ja lisää {news} tagi sopivilla parametreillä sivupohjaan tai sivun sisältöön saadaksesi saman toiminnallisuuden'; $lang['name']='Nimi'; $lang['nameexists']='Kenttä tällä nimellä on jo olemassa'; $lang['needpermission']='Tarvitset '%s'-oikeuden suorittaaksesi tämän toiminnon.'; $lang['newcategory']='Uusi kategoria'; $lang['news']='Uutiset'; $lang['news_return']='Palaa'; $lang['nextpage']='>'; $lang['nocategorygiven']='Kategoriaa ei annettu'; $lang['nocontentgiven']='Ei sisältöä määritelty'; $lang['noitemsfound']='Kategorialle %s ei löydy artikkeleita'; $lang['nonamegiven']='Nimeä ei ole määritelty'; $lang['none']='Ei mitään'; $lang['nopostdategiven']='Päivämäärää ei ole määritelty'; $lang['notanumber']='Maksimipituus ei ole numeerinen'; $lang['note']='Huomaa: päivämäärien tulee olla muotoa \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items']='Sinulla on %s, jotka eivät ole julkaistu'; $lang['notify_n_draft_items_sub']='%d uutisartikkeli(a)'; $lang['notitlegiven']='Otsikkoa ei ole määritelty'; $lang['numbertodisplay']='Kuinka monta näytetään (tyhjä = näytetään kaikki)'; $lang['options']='Valinnat'; $lang['optionsupdated']='Valinnat onnistuneesti päivitetty.'; $lang['post_date_asc']='Julkaisupvm, nouseva'; $lang['post_date_desc']='Julkaisupvm, laskeva'; $lang['postdate']='Päivämäärä'; $lang['postinstall']='Aseta "Muokkaa uutisia" -oikeudet käyttäjille, jotka hallitsevat uutisia'; $lang['preview']='Esikatselu'; $lang['prevpage']='<'; $lang['print']='Tulosta'; $lang['prompt_default']='Oletus'; $lang['prompt_name']='Nimi'; $lang['prompt_newtemplate']='Luo uusi pohja'; $lang['prompt_of']='/'; $lang['prompt_page']='Sivu'; $lang['prompt_pagelimit']='Sivurajoitus'; $lang['prompt_sorting']='Järjestä'; $lang['prompt_template']='Pohjan koodi'; $lang['prompt_templatename']='Pohjan nimi'; $lang['public']='Julkinen'; $lang['published']='Julkaistu'; $lang['reassign_category']='Vaihda kategoria'; $lang['removed']='Poistettu'; $lang['resettodefault']='Palauta oletukset'; $lang['restoretodefaultsmsg']='Haluatko varmasti palauttaa pohjan oletuspohjaksi?'; $lang['revert']='Aseta tilaksi "Luonnos"'; $lang['select']='Valitse'; $lang['selectcategory']='Valitse kategoria'; $lang['showchildcategories']='Näytä alakategoriat'; $lang['sortascending']='Lajittele nousevasti'; $lang['startdate']='Aloituspäivämäärä'; $lang['startdatetoolate']='Aloituspäivämäärä ei voi olla lopetuspäivämäärän jälkeen!'; $lang['startoffset']='Näytä alkaen n:nnestä artikkelista'; $lang['startrequiresend']='Aloituspäivämäärän määrittely tarvitsee myös lopetuspäivämäärän'; $lang['status']='Tila'; $lang['status_asc']='Tila nouseva'; $lang['status_desc']='Tila laskeva'; $lang['subject_newnews']='Uusi uutisartikkeli on julkaistu'; $lang['submit']='Lähetä'; $lang['summary']='Kooste'; $lang['summarytemplate']='Koostepohja'; $lang['summarytemplateupdated']='Uutisten koostepohja onnistuneesti päivitetty.'; $lang['sysdefaults']='Palauta oletukset'; $lang['template']='Pohja'; $lang['textarea']='Tekstialue'; $lang['textbox']='Tekstikenttä'; $lang['title']='Otsikko'; $lang['title_asc']='Otsikko nouseva'; $lang['title_available_templates']='Käytettävissä olevat pohjat'; $lang['title_browsecat_sysdefault']='Oletus kategorian selauspohja'; $lang['title_browsecat_template']='Kategorian selauspohjan editori'; $lang['title_desc']='Otsikko laskeva'; $lang['title_detail_returnid']='Oletus sivu detail näkymälle'; $lang['title_detail_settings']='Detail Näkymän Asetukset'; $lang['title_detail_sysdefault']='Oletus yksityiskohtainen pohja'; $lang['title_detail_template']='Yksityiskohtaisen pohjan muokkaus'; $lang['title_fesubmit_settings']='Frontend Lähetys Asetukset'; $lang['title_filter']='Suodatus'; $lang['title_form_sysdefault']='Oletus lomakepohja'; $lang['title_form_template']='Lomakepohjan muokkaus'; $lang['title_notification_settings']='Huomautus Asetukset'; $lang['title_submission_settings']='Uutisten Lähetys Asetukset'; $lang['title_summary_sysdefault']='Oletus koostepohja'; $lang['title_summary_template']='Koostepohjan muokkaus'; $lang['type']='Tyyppi'; $lang['unknown']='Tuntematon'; $lang['unlimited']='Rajoittamaton'; $lang['up']='Ylös'; $lang['uploadscategory']='Latausten kategoria'; $lang['url']='URL-osoite'; $lang['useexpiration']='Käytä vanhentumispäivämäärää'; ?>(peut-être déjà utilisée, ou il y a des caractères non valides)'; $lang['error_mkdir'] = 'Impossible de créer ce répertoire : %s'; $lang['error_movefile'] = 'Impossible de créer ce fichier : %s'; $lang['error_noarticlesselected'] = 'Aucun article sélectionné'; $lang['error_nooptions'] = 'Pas options spécifiées pour la définition du champ'; $lang['error_templatenamexists'] = 'Un gabarit de ce nom existe déjà'; $lang['error_upload'] = 'Il y a eu un problème lors du téléchargement d\'un fichier'; $lang['eventdesc-NewsArticleAdded'] = 'Envoyé quand un article est ajouté'; $lang['eventhelp-NewsArticleAdded'] = '

    Envoyé quand un article est ajouté

    Paramètres

    • "news_id" - Id de l\'article
    • "category_id" - Id de la catégorie de cet article
    • "title" - Titre de l\'article
    • "content" - Contenu de l\'article
    • "summary" - Sommaire de l\'article
    • "status" - Statut de l\'article ("Ébauche" ou "Publié")
    • "start_time" - Date de début de publication de l\'article
    • "end_time" - Date de fin de publication de l\'article
    • "useexp" - Si la date d\'expiration doit être ignorée ou pas
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Envoyé quand un article est supprimé'; $lang['eventhelp-NewsArticleDeleted'] = '

    Paramètres

    • "news_id" - Id de l\'article
    '; $lang['eventdesc-NewsArticleEdited'] = 'Envoyé quand un article est édité'; $lang['eventhelp-NewsArticleEdited'] = '

    Paramètres

    • "news_id" - Id de l\'article
    • "category_id" - Id de la catégorie de cet article
    • "title" - Titre de l\'article
    • "content" - Contenu de l\'article
    • "summary" - Sommaire de l\'article
    • "status" - Statut de l\'article ("draft" or "published")
    • "start_time" - Date de début de publication de l\'article
    • "end_time" - Date de fin de publication de l\'article
    • "useexp" - Si la date d\'expiration doit être ignorée ou pas

    Note : Tous les paramètres peuvent ne pas être présents lorsque cet événement est envoyé..

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Envoyé quand une catégorie est ajoutée'; $lang['eventhelp-NewsCategoryAdded'] = '

    Paramètres

    • "category_id" - Id de la catégorie
    • "name" - Nom de la catégorie
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Envoyé quand une catégorie est supprimée'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Paramètres

    • "category_id" - Id de la catégorie
    • "name" - Nom de la catégorie supprimée
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Envoyé quand une catégorie est éditée'; $lang['eventhelp-NewsCategoryEdited'] = '

    Paramètres

    • "category_id" - Id de la catégorie
    • "name" - Nom de la catégorie
    • "origname" - Nom original de la catégorie
    '; $lang['expired'] = 'Expiré'; $lang['expired_searchable'] = 'Les articles expirés peuvent apparaître dans les résultats de recherche '; $lang['expired_viewable'] = 'Articles expirés peuvent être consultés dans la vue de détail'; $lang['expiry'] = 'Expiration'; $lang['expiry_date_asc'] = 'Date expiration ascendante'; $lang['expiry_date_desc'] = 'Date expiration descendante'; $lang['expiry_interval'] = 'Le nombre de jours (par défaut) avant qu\'un article expire (si Utiliser la date d\'expiration est sélectionnée) '; $lang['extra'] = 'Extra '; $lang['extra_label'] = 'Extra : '; $lang['fesubmit_redirect'] = 'PageID ou alias où se fera la redirection après qu\'un article ait été soumis via l\'action fesubmit '; $lang['fesubmit_status'] = 'Le statut des articles soumis via les pages du site Web (frontend) '; $lang['fielddef'] = 'Définition champ'; $lang['fielddefadded'] = 'La définition du champ a été ajoutée avec succès.'; $lang['fielddefdeleted'] = 'La définition du champ a été supprimée avec succès.'; $lang['fielddefupdated'] = 'La définition du champ a été mise à jour avec succès.'; $lang['file'] = 'Fichier'; $lang['filter'] = 'Filtre'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Adresse email pour recevoir les notifications des articles soumis '; $lang['formtemplate'] = 'Gabarit soumission article'; $lang['help'] = '

    Notes Importantes

    la Version 2.9 a supprimé le format "formatpostdate" des gabarits, et a également supprimé le paramètre "dateformat". Vous devez utiliser le paramètre "cms_date_format" (comme indiqué dans les gabarits par défaut) pour les formats des dates et entry->postdate au lieu de entry->formatpostdate dans vos gabarits.

    Que fait ce module ?

    Le module News (menu Contenu/Articles), est un module qui sert à afficher des articles dans vos pages, de façon similaire à un blog, mais avec plus de fonctions ! Dès que le module est installé, une page de gestion des articles est ajoutée au menu d\'administration qui vous permettra de sélectionner ou d\'ajouter des catégories d\'articles. Dès qu\'une catégorie d\'article est sélectionnée ou créée, une liste des articles associés à cette catégorie est affichée. À partir de là, vous pouvez ajouter, éditer ou supprimer des articles dans cette catégorie.

    Champs personnalisés

    Le module permet de définir de nombreux champs personnalisés (y compris des fichiers et des images) qui vous permettront de joindre des fichiers PDF ou de nombreuses images à vos articles.

    Catégories

    Le module News (Articles) fournit un mécanisme de catégories hiérarchiques pour l\'organisation de vos articles. Un article ne peut être qu\'en un seul endroit dans la hiérarchie.

    Date d\'expiration et statut

    Chaque article peut avoir une option de date d\'expiration au-delà de laquelle il ne s\'affichera plus sur votre page Web. En outre, les articles peuvent être marqués comme brouillon pour ne pas les afficher sur votre page Web.

    Sécurité

    L\'utilisateur doit faire partie d\'un groupe avec la permission \'Modifier les articles (News)\' pour pouvoir, ajouter, éditer ou supprimer des articles.

    Pour supprimer les articles, l\'utilisateur doit faire partie d\'un groupe avec la permission \'Supprimer les articles (News)\'.

    Pour modifier la présentation des gabarits, l\'utilisateur doit faire partie d\'un groupe avec la permission \'Modifier les gabarits\'

    Pour modifier les préférences globales du module, l\'utilisateur doit faire partie d\'un groupe avec la permission \'Modifier les préférences du site\'.

    En plus, pour approuver les articles soumis par un visiteur sur la page du site Web (frontend) l\'utilisateur doit appartenir à un groupe avec la permission \'Approuver les articles (News) sur le site Web\'.

    Comment l\'utiliser ?

    La façon la plus facile de l\'utiliser est avec la balise wrapper {news} (englobe le module dans une simple balise pour simplifier la syntaxe). Cela insérera votre module dans votre gabarit ou votre page à l\'endroit désiré, et y affichera les articles. Exemple de syntaxe : {news number=\'5\'}

    Gabarits

    Depuis la version 2.3 le module News utilise différents gabarits en base de données, et donc n\'utilise plus les fichiers de "templates". Les utilisateurs qui avaient d\'anciens fichiers gabarits doivent faire les modifications suivantes (pour chaque fichier gabarit) :

    • Copier le fichier dans le presse papier
    • Créer un nouveau gabarit (sommaire ou détail suivant le besoin). Donner le même nom au gabarit que l\'ancien nom du gabarit (sans l\'extension .tpl), et coller le contenu depuis le presse papier.
    • Cliquer sur le bouton Envoyer

    Ces différentes étapes résolvent le problème de ces nouveaux gabarits afin d\'éviter les différentes erreurs de Smarty quand vous mettez à jour vers une version de CMS avec un module de News version 2.3 ou supérieure.

    '; $lang['helpaction'] = 'Outrepasse l\'action par défaut. Les valeurs possibles sont :
    • "detail" - pour afficher l\'article en mode détail.
    • "default" - pour afficher le sommaire de l\'article
    • "fesubmit" - Obsolète pour afficher le gabarit de soumission (frontend) d\'articles des utilisateurs dans les pages du site Web. Ajouter le {cms_init_editor} dans la section des méta-données pour initialiser l\'éditeur WYSIWYG sélectionné (Administration du site/Paramètres globaux/WYSIWYG de la partie publique).
    • "browsecat" - pour afficher une liste de catégories.
    '; $lang['helpbrowsecat'] = 'Afficher une liste navigable de catégories'; $lang['helpbrowsecattemplate'] = 'Utilise la base de données pour afficher les gabarits de catégories. Ce gabarit doit exister dans la Gestion du design avec le type Article::Parcourir la catégorie. Si ce paramètre n\'est pas spécifié le gabarit par défaut est utilisé.'; $lang['helpcategory'] = 'Affiche les articles de cette catégorie seulement. Utiliser * pour afficher les sous-catégories. Des catégories multiples peuvent être affichées en les séparant par une virgule. Laisser ce paramètre vide affichera tous les articles.'; $lang['helpdetailpage'] = 'Page dans laquelle afficher le détail des articles. Vous pouvez entrer soit un alias, soit un ID de page. Utile pour permettre d\'afficher le détail de l\'article dans un gabarit de page différent de celui du sommaire. Ce paramètre n\'a aucun effet pour les articles qui ont des URLs personnalisées.'; $lang['helpdetailtemplate'] = 'Utilise la base de données pour afficher le formulaire de soumission du détail des articles. Ce gabarit doit exister dans la Gestion du design avec le type Article::Détail. Si ce paramètre n\'est pas spécifié le gabarit par défaut est utilisé. Ce paramètre n\'est pas utilisé lors de la génération des URLs si vous avez défini une URL personnalisée.'; $lang['helpformtemplate'] = 'Utilise la base de données pour afficher le formulaire de soumission de l\'article. Ce gabarit doit exister dans la Gestion du design avec le type Article::Formulaire du site Web (Frontend). Si ce paramètre n\'est pas spécifié le gabarit par défaut est utilisé.'; $lang['helpmoretext'] = 'Texte à afficher à la fin d\'un article qui dépasse la longueur définie du sommaire. Par défaut = "Plus"'; $lang['helpnumber'] = 'Le nombre maximal d\'articles à afficher -- laisser ce paramètre vide affichera tous les articles. C\'est identique au paramètre "pagelimit".'; $lang['helpshowall'] = 'Si positionné à 1 : affiche tous les articles, quelle que soit la date de fin'; $lang['helpshowarchive'] = 'Afficher seulement les articles expirés.'; $lang['helpsortasc'] = 'Trie les articles dans un ordre de date ascendant plutôt que descendant. Par défaut : descendant.'; $lang['helpsortby'] = 'Champ sur lequel trier les articles. Les options sont : "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Par défaut : "news_date". Si "random" est spécifié, le critère de tri est ignoré.'; $lang['helpstart'] = 'Commence au énième article -- laisser ce paramètre vide commencera l\'affichage au premier article'; $lang['helpsummarytemplate'] = 'Utilise la base de donnée pour afficher le formulaire de soumission du sommaire des articles. Ce gabarit doit exister dans la Gestion du design avec le type Article::Sommaire. Si ce paramètre n\'est pas spécifié le gabarit par défaut est utilisé.'; $lang['help_articleid'] = 'Ce paramètre est applicable uniquement à la vue de détail. Il permet de spécifier que l\'article sera affiché en mode détail. Si la valeur utilisée est -1, le système affichera l\'article le plus récemment, publié, mais non expiré.'; $lang['help_article_title'] = 'Entrez le titre de l\'article. Il doit être court et ne pas inclure des balises HTML.'; $lang['help_article_category'] = 'À des fins d\'organisation, vous pouvez sélectionner une catégorie.'; $lang['help_article_content'] = 'Entrer le contenu détaillé de l\'article ici'; $lang['help_article_enddate'] = 'Si Utiliser la date d\'expiration est activée, cette date (Date de fin) spécifie quand l\'article ne sera plus affiché sur le site Web.'; $lang['help_article_extra'] = 'Il s\'agit de données supplémentaires à associer à l\'article. Elles peuvent être utilisées pour un ordre de tri ou autre comportement. Quant à l\'utilisation de ce champ (ou pas), vous devez consulter votre développeur du site.'; $lang['help_article_searchable'] = 'Ce champ indique si cet article devrait être indexé par le module de recherche.'; $lang['help_article_postdate'] = 'La date à laquelle l\'article sera posté (généralement la date actuelle pour de nouveaux articles) est celle qui sera utilisée comme la date de publication de l\'article. Il est également utilisé dans le tri.'; $lang['help_article_summary'] = 'Entrer un bref paragraphe pour décrire l\'article. Ce résumé peut être utilisé lors de l\'affichage des vues d\'un certain nombre d\'articles.'; $lang['help_article_startdate'] = 'Si Utiliser la date d\'expiration est activée, cette date (Date de début) spécifie la date de laquelle l\'article sera visible sur le site Web.'; $lang['help_article_status'] = 'Si vous souhaitez que l\'article soit immédiatement visible par les autres, sélectionnez le statut "Publié". Si vous souhaitez continuer à travailler sur cet article pendant un certain temps, puis sélectionnez le statut "Ébauche".'; $lang['help_article_url'] = 'L\'URL facultatif pour un article (certaines autres plates-formes appellent cela un slug) est un suffixe d\'URL unique pour accéder à cet article. Les utilisateurs peuvent naviguer depuis racine_du_site/votre_url pour consulter cet article.'; $lang['help_article_useexpiry'] = 'Cette case à cocher active/désactive le comportement de date d\'expiration. Le comportement de Utiliser la date d\'expiration indique quand un article devient visible sur le site Web, et lorsqu\'il s\'avère par la suite invisible sur le site Web.'; $lang['help_articles_filtercategory'] = 'Éventuellement filtrer la liste des articles affichés dans cette liste de ceux qui appartiennent à la catégorie sélectionnée.'; $lang['help_articles_filterchildcats'] = 'Si activé, les articles dans la catégorie sélectionnée et leurs catégories enfants seront affichés.'; $lang['help_articles_pagelimit'] = 'Sélectionnez le nombre d\'articles à afficher dans une page. Pour les sites avec un grand nombre d\'articles en spécifiant une limite de page compris entre 10 et 100 améliorera sensiblement les performances.'; $lang['help_articles_sortby'] = 'Sélectionnez comment les articles seront initialement triés.'; $lang['help_category_name'] = 'Entrez un nom pour cette catégorie. Le nom doit être valide pour les URLs et ne contenir aucuns caractères spéciaux.'; $lang['help_category_parent'] = 'Spécifiez éventuellement une catégorie parent pour créer une hiérarchie de catégories.'; $lang['help_fesubmit_redirect'] = 'ID de la page ou alias de redirection après une soumission réussie depuis le site Web (frontend)'; $lang['help_fielddef_maxlen'] = 'Pour les champs texte, vous pouvez spécifier la longueur maximale à entrer par l\'utilisateur (en caractères).'; $lang['help_fielddef_name'] = 'Chaque définition de champ doit avoir un nom. Bien que cela ne soit pas strictement nécessaire, le nom du champ doit contenir uniquement des caractères alphanumériques et le caractère underscore. Ne pas utiliser d\'espace dans le nom du champ.'; $lang['help_fielddef_options'] = 'Ici vous pouvez spécifier les options valides pour les champs de la liste déroulante.'; $lang['help_fielddef_public'] = 'Spécifiez si la définition du champ est publique ou non. Les définitions des champs publics sont visualisables dans le site Web et peuvent être saisies par l\'action fesubmit. Les Champs personnalisés qui ne sont pas publics, ne sont modifiables uniquement que dans l\'interface d\'administration par les utilisateurs autorisés.'; $lang['help_fielddef_type'] = 'Chaque champ personnalisé peut être d\'un type différent pour différentes utilisations. Sélectionnez le type de champ qui correspond le mieux à la demande.'; $lang['help_idlist'] = 'Applicable uniquement à l\'action par défaut (Affiche le sommaire). Ce paramètre accepte une liste séparée par des virgules des ID numériques des articles et permet de filtrer davantage d\'articles que "articleid". La sortie de la liste actuelle des articles est toujours soumise à l\'état de l\'article, à sa date d\'expiration et à d\'autres paramètres.'; $lang['help_opt_alert_drafts'] = 'Si activé, vous recevrez des notifications (alertes), indiquant qu\'un ou plusieurs articles doivent être examinés et publiés.'; $lang['help_opt_allowed_upload_types'] = 'Pour les champs personnalisés de type "file", ce paramètre indique une liste, séparée par des virgules, des extensions de fichier valides pour l\'upload'; $lang['help_opt_dflt_category'] = 'Cette option permet de spécifier la catégorie par défaut pour les nouveaux articles.'; $lang['help_opt_hide_summary'] = 'Cette option permet de désactiver le champ sommaire lors de l\'ajout et/ou édition d\'un article (y compris avec l\'action fesubmit)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Ce champ indique qu\'un éditeur WYSIWYG doit être activé pour le champ sommaire lorsque vous éditez un article. Dans bien des cas, le champ sommaire est un texte simple, mais cela est facultatif.
    Ce paramètre est ignoré si le champ sommaire est désactivé complètement (voir ci-dessus)'; $lang['help_opt_expiry_interval'] = 'Définissez le nombre de jours par défaut (minimum 1) auquel l\'article expirera, si la date d\'expiration est activée. La date d\'expiration peut être ajustée lorsque vous ajoutez ou éditez d\'un article.'; $lang['help_pagelimit'] = 'Nombre maximal d\'articles affichés (par page). Si ce paramètre n\'est pas défini, tous les articles sont affichés. Si ce paramètre est défini, et que le nombre d\'articles est supérieur, les textes et les liens seront affichés pour permettre le défilement des résultats. La valeur maximale pour ce paramètre est 1000.'; $lang['hide_summary_field'] = 'Cacher le champ sommaire lors de l\'ajout ou de la modification d\'articles '; $lang['info_allow_fesubmit'] = 'Cette option contrôle si l\'action "fesubmit" sera autorisé à fonctionner pour tout le site Web. Soyez prudent lorsque vous l\'activez.'; $lang['info_categories'] = 'À des fins d\'organisation, les articles peuvent être organisés en catégories hiérarchiques.'; $lang['info_detail_returnid'] = 'Cette préférence est utilisée pour déterminer si une page (et donc un gabarit) sert pour l\'affichage des pages de détails. Les URLs personnalisées ne fonctionneront pas si ce paramètre n\'est pas défini pour une page valide. En outre, si cette préférence est activée et aucun paramètre de page de détails n\'est fourni sur la balise {news}, alors cette valeur sera utilisée pour des liens pages de détails.'; $lang['info_expired_searchable'] = 'Si activé, les articles périmés peuvent continuer à être indexés par le module de recherche et apparaissent dans les résultats de la recherche.'; $lang['info_expired_viewable'] = 'Si activés, les articles périmés peuvent être visualisés en mode détail (ce qui est l\'ancienne fonctionnalité). Le paramètre "showall" peut être utilisé avec l\'URL (si vous n\'utilisez pas les pretty URLs) pour indiquer également que les articles périmés peuvent être consultés.'; $lang['info_fesubmit_notification'] = 'Vous pouvez éventuellement envoyer un email à une adresse email unique lorsqu\'un nouvel article est soumis par l\'intermédiaire de l\'action fesubmit.'; $lang['info_maxlength'] = 'Longueur maximale uniquement pour champ de texte.'; $lang['info_public'] = 'Seuls les champs publics sont disponibles pour l\'édition sur le site Web (frontend), et/ou dans les vues de résumé ou de détail.'; $lang['info_reorder_categories'] = 'Faites glisser-déplacer chaque élément dans le bon ordre pour changer les relations entre catégories'; $lang['info_searchable'] = 'Ce champ indique que cet article doit être indexé par le module de recherche'; $lang['info_sysdefault'] = '(le gabarit utilisé par défaut quand un nouveau gabarit est sélectionné)'; $lang['info_sysdefault2'] = 'Note : cette page contient des zones d\'édition des gabarits qui sont disponibles quand vous créez un \'Nouveau\' gabarit Sommaire, Détail ou Soumission d\'article. Le fait de cliquer sur \'Envoyer\' les données de cette page n\'aura aucun effet immédiat sur l\'affichage déjà existant.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Recherche dans les articles'; $lang['linkedfile'] = 'Fichier lié'; $lang['maxlength'] = 'Longueur maximale '; $lang['msg_cancelled'] = 'Opération annulée'; $lang['msg_categoriesreordered'] = 'Ordre des catégories mise à jour'; $lang['msg_contenttype_removed'] = 'Le type de contenu News a été supprimé. Merci de remplacer les tags {news} avec les paramètres appropriés dans vos gabarits ou vos pages pour remplacer cette fonctionnalité.'; $lang['msg_success'] = 'Opération réussie'; $lang['more'] = 'Plus'; $lang['moretext'] = 'Texte pour '; $lang['name'] = 'Nom '; $lang['nameexists'] = 'Un champ de ce nom existe déjà'; $lang['needpermission'] = 'Vous devez avoir la permission \'%s\' pour exécuter cette action.'; $lang['newcategory'] = 'Nouvelle catégorie'; $lang['news'] = 'Articles'; $lang['news_return'] = 'Retour'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Aucun article n\'a pour l\'instant été crée'; $lang['noarticlesinfilter'] = 'Aucun article ne répond aux critères de filtre'; $lang['nocategorygiven'] = 'Aucune catégorie entrée'; $lang['nocontentgiven'] = 'Aucun contenu entré'; $lang['noitemsfound'] = 'Aucun objet trouvé pour cette catégorie : %s'; $lang['nonamegiven'] = 'Aucun nom n\'a été donné'; $lang['none'] = 'Aucun'; $lang['nopostdategiven'] = 'Il manque la date à laquelle l\'article sera posté'; $lang['notanumber'] = 'La longueur maximale n\'est PAS un nombre'; $lang['note'] = 'Note : les dates doivent être entrées dans ce format \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Vous avez %s article(s) non publié(s)'; $lang['notify_n_draft_items_sub'] = '%d article(s)'; $lang['notitlegiven'] = 'Aucun titre n\'est entré'; $lang['numbertodisplay'] = 'Nombre à afficher (vide = toutes les entrées) '; $lang['options'] = 'Options '; $lang['optionsupdated'] = 'Les options ont été mises à jour avec succès'; $lang['parent'] = 'Parent '; $lang['postdate'] = 'Date de l\'article '; $lang['postinstall'] = 'Assurez-vous que les utilisateurs qui administreront les articles aient la permission "Modify News".'; $lang['post_date_asc'] = 'Date de l\'article ascendante'; $lang['post_date_desc'] = 'Date de l\'article descendante'; $lang['preview'] = 'Aperçu'; $lang['prevpage'] = '<'; $lang['print'] = 'Imprimer'; $lang['prompt_alert_drafts'] = 'Alerte sur les articles non approuvés '; $lang['prompt_allow_fesubmit'] = 'Autoriser les articles soumis par le site Web (frontend) '; $lang['prompt_default'] = 'Défaut'; $lang['prompt_go'] = 'Aller'; $lang['prompt_name'] = 'Nom'; $lang['prompt_newtemplate'] = 'Créer un nouveau gabarit'; $lang['prompt_of'] = 'sur'; $lang['prompt_page'] = 'Page '; $lang['prompt_pagelimit'] = 'Nombre d\'articles par page '; $lang['prompt_redirecttocontent'] = 'Retourner à la page'; $lang['prompt_sorting'] = 'Ordre de tri '; $lang['prompt_template'] = 'Source du gabarit '; $lang['prompt_templatename'] = 'Nom du gabarit '; $lang['public'] = 'Publique '; $lang['published'] = 'Publié'; $lang['reassign_category'] = 'Changer la catégorie par '; $lang['removed'] = 'Supprimé'; $lang['reorder'] = 'Réordonner'; $lang['reorder_categories'] = 'Réordonner les catégories'; $lang['reset'] = 'Remise à zéro'; $lang['resettodefault'] = 'Restaurer les paramètres par défaut'; $lang['restoretodefaultsmsg'] = 'Cette opération restaurera les gabarits par défaut. Êtes-vous sûr(e) de vouloir continuer ?'; $lang['revert'] = 'Mettre le statut à \'Ébauche\''; $lang['searchable'] = 'Effectuer la recherche dans cet article '; $lang['select'] = 'Sélectionner'; $lang['select_option'] = 'Sélectionnez l\'option'; $lang['selectall'] = 'Sélectionner tout'; $lang['selectcategory'] = 'Sélection de catégorie'; $lang['showchildcategories'] = 'Afficher les sous-catégories '; $lang['sortascending'] = 'Tri ascendant '; $lang['startdate'] = 'Date de début '; $lang['startdatetoolate'] = 'la date de début est passée (après la date de fin ?)'; $lang['startoffset'] = 'Commence l\'affichage au énième article '; $lang['startrequiresend'] = 'Entrer une date de début nécessite qu\'une date de fin soit également entrée'; $lang['status'] = 'Statut'; $lang['status_asc'] = 'Statut ascendant'; $lang['status_desc'] = 'Statut descendant'; $lang['subject_newnews'] = 'Un nouvel article a été posté'; $lang['submit'] = 'Envoyer'; $lang['summary'] = 'Sommaire '; $lang['summarytemplate'] = 'Gabarit du sommaire article'; $lang['summarytemplateupdated'] = 'Le gabarit de l\'affichage du sommaire de l\'article a été mis à jour avec succès'; $lang['sysdefaults'] = 'Restaurer les paramètres par défaut'; $lang['template'] = 'Gabarit '; $lang['textarea'] = 'Zone de texte'; $lang['textbox'] = 'Champ de texte'; $lang['title'] = 'Titre '; $lang['title_asc'] = 'Titre ascendant'; $lang['title_available_templates'] = 'Gabarits disponibles'; $lang['title_browsecat_sysdefault'] = 'Gabarit de catégories par défaut'; $lang['title_browsecat_template'] = 'Gabarit de catégories'; $lang['title_desc'] = 'Titre descendant'; $lang['title_detail_returnid'] = 'Page par défaut à utiliser pour des vues de détail '; $lang['title_detail_settings'] = 'Paramètres d\'affichage des détails '; $lang['title_detail_sysdefault'] = 'Gabarit du détail par défaut'; $lang['title_detail_template'] = 'Éditeur du gabarit du détail'; $lang['title_draft_entries'] = 'Articles (News) non approuvés'; $lang['title_fesubmit_form'] = 'Soumettre un article'; $lang['title_fesubmit_settings'] = 'Paramètres de soumission via le Frontend '; $lang['title_filter'] = 'Filtres'; $lang['title_form_sysdefault'] = 'Gabarit de soumission article par défaut (frontend)'; $lang['title_form_template'] = 'Éditeur du gabarit soumission d\'article via les pages du site Web (frontend)'; $lang['title_news_settings'] = 'Paramètres des articles'; $lang['title_notification_settings'] = 'Paramètres des notifications'; $lang['title_submission_settings'] = 'Paramètres de soumission des articles '; $lang['title_summary_sysdefault'] = 'Gabarit du sommaire par défaut'; $lang['title_summary_template'] = 'Éditeur du gabarit du sommaire'; $lang['toggle_bulk'] = 'Sélectionner cet article pour une opération en série'; $lang['type'] = 'Type '; $lang['type_browsecat'] = 'Parcourir la catégorie'; $lang['type_form'] = 'Formulaire du site Web (Frontend)'; $lang['type_detail'] = 'Détail'; $lang['type_News'] = 'Article'; $lang['type_summary'] = 'Sommaire'; $lang['unknown'] = 'Inconnu'; $lang['unlimited'] = 'Sans limite'; $lang['up'] = 'Haut'; $lang['uploadscategory'] = 'Catégorie uploads'; $lang['url'] = 'URL (slug) '; $lang['useexpiration'] = 'Utiliser la date d\'expiration '; $lang['viewfilter'] = 'Afficher le filtre'; $lang['warning_preview'] = 'Attention : cette page d\'aperçu se comporte comme une fenêtre permettant de naviguer loin de cette page aperçu originale. Toutefois, si vous faites cela, attention aux comportements inattendus ! Note : La prévisualisation ne pas uploader les fichiers que vous avez sélectionnés.'; $lang['with_selected'] = 'Avec la sélection'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['name']='Ime'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['newcategory']='Nova kategorija'; $lang['news']='Novosti'; $lang['news_return']='Povratak'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['revert']='Set Status to 'Draft''; ?>(talán már használják vagy érvénytelen karakterek vannak benne)'; $lang['error_mkdir']='Nem sikerült létrehozni ezt a fájlt: %s'; $lang['error_movefile']='Nem sikerült létrehozni ezt a fájlt: %s'; $lang['error_noarticlesselected']='Nincsenek kijelölve cikkek.'; $lang['error_templatenamexists']='Ilyen nevű sablon már van.'; $lang['error_upload']='A fájl feltöltése közben hiba történt.'; $lang['eventdesc-NewsArticleAdded']='Akkor küldjük, amikor új cikk jön létre.'; $lang['eventdesc-NewsArticleDeleted']='Akkor küldjük, amikor egy cikket törölnek.'; $lang['eventdesc-NewsArticleEdited']='Akkor küldjük, amikor egy cikk megváltozik.'; $lang['eventdesc-NewsCategoryAdded']='Akkor küldjük, amikor egy rovatot felvesznek.'; $lang['eventdesc-NewsCategoryDeleted']='Akkor küldjük, amikor egy rovatot törölnek.'; $lang['eventdesc-NewsCategoryEdited']='Akkor küldjük, amikor egy rovatot módosítanak.'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article (\"draft\" or \"publish\")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article (\"draft\" or \"publish\")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the news categpry
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['expired']='Lejárt'; $lang['expired_searchable']='Lejárt cikkek megjelenhessenek a keresési eredmények között'; $lang['expiry']='Lejárat'; $lang['expiry_date_asc']='Lejárat dátuma szerint növekvő'; $lang['expiry_date_desc']='Lejárat dátuma szerint csökkenő'; $lang['expiry_interval']='Cikkek lejárati napjainak alapértelmezett száma (ha a lejárat engedélyezve van)'; $lang['extra']='Extra '; $lang['fesubmit_redirect']='PageID vagy alias, amire át kell irányítani, amikor új cikk lett beküldve 'fesubmit'-on keresztül'; $lang['fesubmit_status']='A frontend-ről beküldött cikkik státusza'; $lang['fielddef']='Meződefiníció'; $lang['fielddefadded']='A meződefiníciót sikeresen hozzáadtuk'; $lang['fielddefdeleted']='A meződefiníciót törültük'; $lang['fielddefupdated']='A mező definícióját frissítettük'; $lang['file']='Fájl'; $lang['filter']='Szűrő'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Az email cím, ahova értesítést küldünk a cikk megírásáról'; $lang['formtemplate']='Form sablonok'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the \'Modify Templates\' permission.

    In order to edit the global news preferences, the user must belong to a group with the \'Modify Site Preferences\' permission.

    How do I use it?

    The easiest way to use it is in conjunction with the cms_module tag. This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {cms_module module=\"news\" number=\"5\" category=\"beer\"}

    '; $lang['help_articleid']='Ez a paraméter csak a részletes nézetben értelmezett. Megadható vele, hogy melyik cikk legyen látható a részletes nézetben. Ha -1-et adsz meg, akkor a rendszer a legfrissebb, nem lejárt, publikált státuszú cikket fogja megjeleníteni.'; $lang['help_pagelimit']='Egy oldalon megjeleníthető elemek maximális száma. Ha ez a paraméter nincs megadva, akkor minden cikk meg lesz mutatva. Ha viszont megadtad, akkor linkekkel és szöveggel lesz jelezve, hogy merre lehet lapozni (ha egy oldalra nem fér el egyszerre az összes cikk)'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat']='Rovatok böngészése.'; $lang['helpbrowsecattemplate']='Adatbázis sablon használata a rovat böngésző megjelenítéséhez. Ennek a sablonnak léteznie kell és láthatónak kell lennie az admin felület Rovat sablonok panelján, de nem kell alapértelmezettnek lennie. Ha ez a paraméter nincs megadva, akkor az aktuális alapértelmezett sablont fogja használni a rendszer.'; $lang['helpcategory']='Csak az adott rovat híreit jelenítsük meg. A név után a * karaktert alkalmazva a gyermekrovatok is megmutathatók. Több rovat is megadható, vesszővel elválasztva. Üresen hagyva minden rovat meg lesz mutatva.'; $lang['helpdetailpage']='Az oldal, ahol a cikkeknek meg kell jelenniük. Ez lehet oldal alias vagy egy azonosító. Arra használható, hogy a cikk szövege az összefoglalótól eltérő sablon szerint lehessen megjelenítve.'; $lang['helpdetailtemplate']='Külön sablon használata a cikk megjelenítéséhez. Léteznie kell a modules/News/templates alatt.'; $lang['helpformtemplate']='Adatbázis sablon használata a cikk beküldő form megjelenítéséhez. Ennek a sablonnak léteznie kell és láthatónak kell lennie az admin felület sablon panelján, de nem kell alapértelmezettnek lennie. Ha ez a paraméter nincs megadva, akkor az aktuális alapértelmezett sablont fogja használni a rendszer.'; $lang['helpmoretext']='A szöveg, amit akkor jelenítünk meg, ha a hír hosszabb, mint az összefoglaló hossza. Alapértelmezésben ez \"tovább...\"'; $lang['helpnumber']='A maximálisan megjeleníthető elemek száma -- ha nem adod meg, minden elem meg lesz mutatva'; $lang['helpshowall']='Minden cikk mutatása, függetlenül a lejárati dátumtól'; $lang['helpshowarchive']='Csak lejárt cikkek mutatása.'; $lang['helpsortasc']='Az elemek növekvő sorrendben való megmutatása.'; $lang['helpsortby']='A rendezés alapja. Választási lehetőségek: \"news_date\", \"summary\", \"news_data\", \"news_category\", \"news_title\". Alapértelmezésben ez a \"news_date\".'; $lang['helpstart']='Az n. elemnél kezdjük a megjelenítést -- üresen hagyva az első elemnél kezdődik '; $lang['helpsummarytemplate']='Külön sablon használata az összefoglaló megjelenítéséhez. Léteznie kell a modules/News/templates alatt.'; $lang['hide_summary_field']='Az összefoglaló mező elrejtése cikkek hozzáadásakor/módosításakor'; $lang['info_maxlength']='A maximális hossz csak szövegbeviteli mezőkre érvényes'; $lang['info_sysdefault']='(az alkalmazott sablon, amikor új sablon kerül kiválasztásra)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['maxlength']='Maximális hossz'; $lang['more']='tovább'; $lang['moretext']='További szöveg'; $lang['msg_contenttype_removed']='A Hír típusú tartalom megszűnt. Helyette használd a {news} tag-et a megfelelő paraméterekkel.'; $lang['name']='Név'; $lang['nameexists']='Ilyen nevű mező már létezik.'; $lang['needpermission']='Szükség van a(z) \'%s\' jogosultságra ezen művelet elvégzéséhez'; $lang['newcategory']='Új rovat'; $lang['news']='Hírek'; $lang['news_return']='Vissza'; $lang['nextpage']='>'; $lang['nocategorygiven']='A rovat nincs megadva'; $lang['nocontentgiven']='A tartalom nincs kitöltve'; $lang['noitemsfound']='Nincsenek elemek ebben a kategóriában: %s'; $lang['nonamegiven']='Nincs megadva a név'; $lang['none']='Nincs'; $lang['nopostdategiven']='A publikálás dátuma nincs megadva'; $lang['notanumber']='A maximum hossznak numerikusnak kell lennie'; $lang['note']='Megjegyzés: A dátumokat \'éééé-hh-nn óó:pp:mm\' formában kell megadni.'; $lang['notify_n_draft_items']='%s darab nem publikált cikked van'; $lang['notify_n_draft_items_sub']='%d darab új cikk'; $lang['notitlegiven']='Nincs megadva a cím'; $lang['numbertodisplay']='Megmutatható elemek száma (ha nincs megadva, akkor minden cikk meg lesz mutatva)'; $lang['options']='Opciók'; $lang['optionsupdated']='Az opciókat sikeresen frissítettük.'; $lang['post_date_asc']='Publikálás dátuma szerint növekvő'; $lang['post_date_desc']='Publikálás dátuma szerint csökkenő'; $lang['postdate']='Publikálás dátuma'; $lang['postinstall']='Győződj meg róla, hogy a \"Modify News\" jogosultsággal rendelkezik az összes olyan felhasználó, aki cikkeket fog adminisztrálni.'; $lang['prevpage']='<'; $lang['print']='Nyomtatás'; $lang['prompt_default']='Alapértelmezett'; $lang['prompt_name']='Név'; $lang['prompt_newtemplate']='Új sablon létrehozása'; $lang['prompt_of']='ennyiből:'; $lang['prompt_page']='Oldal'; $lang['prompt_pagelimit']='Oldal limit'; $lang['prompt_sorting']='Rendezési szempont'; $lang['prompt_template']='Sablon forrása'; $lang['prompt_templatename']='Sablon neve'; $lang['public']='Publikus'; $lang['published']='Publikált'; $lang['reassign_category']='Rovat átállítása erre'; $lang['removed']='Törölt.'; $lang['resettodefault']='Alapértelmezett értékek visszaállítása'; $lang['restoretodefaultsmsg']='Ez a művelet visszaállítja a sablon tartalmát az alapértelmezett értékekre. Biztosan folytatni akarod?'; $lang['revert']='Státusz beállítása 'Piszkozat'-ra'; $lang['select']='Kiválaszt'; $lang['selectcategory']='Válassz rovatot'; $lang['showchildcategories']='Gyermekrovatok mutatása'; $lang['sortascending']='Növekvő rendezés'; $lang['startdate']='Kezdet dátuma'; $lang['startdatetoolate']='A kezdődátum túl késői (a lejáratnál későbbi?)'; $lang['startoffset']='Az n. elemnél kezdjük a megjelenítést'; $lang['startrequiresend']='Kezdődátum megadásának csak úgy van értelme, ha lejárati dátumot is megad'; $lang['status']='Státusz'; $lang['status_asc']='Növekvő állapot'; $lang['status_desc']='Csökkenő állapot'; $lang['subject_newnews']='Az új cikket publikáltuk'; $lang['submit']='Elküld'; $lang['summary']='Összefoglaló'; $lang['summarytemplate']='Összefoglaló sablon'; $lang['summarytemplateupdated']='Az összefoglaló sablont sikeresen frissítettük.'; $lang['sysdefaults']='Alapértelmezett értékek visszaállítása'; $lang['template']='Sablon'; $lang['textarea']='Szövegterület'; $lang['textbox']='Szövegmező'; $lang['title']='Cím'; $lang['title_asc']='Cím szerint növekvő'; $lang['title_available_templates']='Elérhető sablonok'; $lang['title_browsecat_sysdefault']='Alapértelmezett rovatböngésző sablon'; $lang['title_browsecat_template']='Rovat sablon szerkesztő böngészése'; $lang['title_desc']='Cím szerint csökkenő'; $lang['title_detail_sysdefault']='Alapértelmezett részletes sablon'; $lang['title_detail_template']='Részletes sablon szerkesztő'; $lang['title_filter']='Szűrők'; $lang['title_form_sysdefault']='Alapértelmezett form sablon'; $lang['title_form_template']='Form sablon szerkesztő'; $lang['title_notification_settings']='Értesítés beállítások'; $lang['title_summary_sysdefault']='Alapértelmezett összefoglaló sablon'; $lang['title_summary_template']='Összefoglaló sablon szerkesztő'; $lang['type']='Típus'; $lang['unknown']='Ismeretlen'; $lang['unlimited']='Korlátlan'; $lang['up']='Fel'; $lang['uploadscategory']='Feltöltés kategória'; $lang['useexpiration']='Lejárati dátum használata'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the news categpry
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news categpry
    • \"name\" - Name of the news category
    '; $lang['expiry']='Expriry'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    '; $lang['helpcategory']='Only display items for that category. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories.'; $lang['helpdetailtemplate']='Use a separate template for displaying the article detail. It have to live in modules/News/templates.'; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "more..."'; $lang['helpnumber']='Maximum number of items to display =- leaving empty will show all items.'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title". Defaults to "news_date".'; $lang['helpsummarytemplate']='Use a separate template for displaying the article summary. It have to live in modules/News/templates.'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['restoretodefaultsmsg']='Operasi ini akan mengembalikan isi template ke default sistem. Anda yakin untuk meneruskan proses ini ?'; $lang['summarytemplate']='Summary Template'; $lang['sysdefaults']='Dikembalikan ke bentuk asal'; ?>(forse è già utilizzato o ci sono dei caratteri non validi)'; $lang['error_mkdir'] = 'Non posso creare la cartella: %s'; $lang['error_movefile'] = 'Non posso creare il file: %s'; $lang['error_noarticlesselected'] = 'Nessun articolo selezionato'; $lang['error_nooptions'] = 'Nessuna opzione specificata per la definizione di campo'; $lang['error_templatenamexists'] = 'Esiste già un modello con lo stesso nome'; $lang['error_upload'] = 'Problemi nel caricamento di un file'; $lang['eventdesc-NewsArticleAdded'] = 'Inviato quando un articolo viene aggiunto.'; $lang['eventhelp-NewsArticleAdded'] = '

    Mandato quando un articolo è aggiunto.

    Parametri

    • "news_id" - Id dell\'articolo
    • "category_id" - Id della categoria dell\'articolo
    • "title" - Titolo dell\'articolo
    • "content" - Contenuto dell\'articolo
    • "summary" - Sommario
    • "status" - Stato dell\'articolo ("bozza" or "pubblicato")
    • "start_time" - Data in cui l\'articolo inizia ad essere visibile
    • "end_time" - Data in cui l\'articolo smette di essere visibile
    • "useexp" - Se la data di scadenza della visibilità deve essere ignorata o meno
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Mandato quando un articolo è cancellato.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Mandato quando un articolo è cancellato.

    Parametri

    • "news_id" - Id dell\'articolo
    '; $lang['eventdesc-NewsArticleEdited'] = 'Mandato quando un articolo è aggiornato.'; $lang['eventhelp-NewsArticleEdited'] = '

    Mandato quando un articolo è aggiornato.

    Parametri

    • "news_id" - Id dell\'articolo
    • "category_id" - Id della categoria dell\'articolo
    • "title" - Titolo dell\'articolo
    • "content" - Contenuto dell\'articolo
    • "summary" - Sommario
    • "status" - Stato dell\'articolo ("bozza" or "pubblicato")
    • "start_time" - Data in cui l\'articolo inizia ad essere visibile
    • "end_time" - Data in cui l\'articolo smette di essere visibile
    • "useexp" - Se la data di scadenza della visibilità deve essere ignorata o meno
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Mandato quando una categoria è aggiunta.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Mandato quando una categoria è aggiunta.

    Parametri

    • "category_id" - Id della categoria
    • "name" - Nome della categoria
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Mandato quando una categoria è cancellata.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Mandato quando una categoria è cancellata.

    Parameters

    • "category_id" - Id della categoria
    • "name" - Nome della categoria cancellata
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Mandato quando una categoria è aggiornata.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Mandato quando una categoria è aggiornata.

    Parametri

    • "category_id" - Id della categoria
    • "name" - Nome della categoria
    • "origname" - Il nome originale della categoria
    '; $lang['expired'] = 'Scaduto'; $lang['expired_searchable'] = 'Gli articoli scaduti possono apparire nei risultati di ricerca'; $lang['expired_viewable'] = 'Gli articoli scaduti possono essere visualizzati in modalità dettaglio'; $lang['expiry'] = 'Scadenza'; $lang['expiry_date_asc'] = 'Data di scadenza ascendente'; $lang['expiry_date_desc'] = 'Data di scadenza discendente'; $lang['expiry_interval'] = 'Il numero di giorni (predefinito) prima che un articolo scada (se la scadenza è selezionata)'; $lang['extra'] = 'Extra'; $lang['extra_label'] = 'Extra:'; $lang['fesubmit_redirect'] = 'ID o alias della pagina a cui reindirizzare dopo che un articolo news è stato inviato tramite azione fesubmit'; $lang['fesubmit_status'] = 'Lo stato dell\'articolo inviato tramite interfaccia'; $lang['fielddef'] = 'Definizione del campo'; $lang['fielddefadded'] = 'Definizione del campo aggiunta con successo'; $lang['fielddefdeleted'] = 'Definizione del campo eliminata'; $lang['fielddefupdated'] = 'Definizione del campo aggiornata'; $lang['file'] = 'File'; $lang['filter'] = 'Filtro'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Indirizzo email per ricevere notifica di nuovi inserimenti'; $lang['formtemplate'] = 'Modelli Form'; $lang['help'] = '

    Note Importanti

    Dalla versione 2.9 News ha rimosso il formatpostdate member dai modelli e il parametro dateformat. Per formattare le date dovete usare il modificatore cms_date_format (come indicato nel modello predefinito) ed usare nei Vostri modelli entry->postdate invece di entry->formatpostdate.

    Da questa versione è disabilitata la visualizzazione diretta dei feed RSS. Per gli RSS Feed utilizzare i due moduli (da installare in questo ordine): CGExtensions e CGFeedMaker.

    Che cosa fa?

    News è un modulo per visualizzare eventi sulla tua pagina, simile allo stile blog, solo con più funzionalità!. Quando il module è installato, in amministrazione una pagina News è aggiunta in fondo al menu che vi permette di selezionare o aggiungere una categoria. Quando una categoria è creata o selezionata, sarà visualizzata una lista di news per quella categoria. Da qui, potete aggiungere, modificare o cancellare news per quella categoria.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Sicurezza

    L\'utente deve appartenere a un gruppo con il permesso \'Modifica News\' per aggiungere, modificare, o cancellare News.

    Per cancellare le news, l\'utente deve appartenere a un gruppo con il permesso \'Cancella articoli news\'

    Per modificare il layout dei Modelli, l\'utente deve appartenere a un gruppo con il permesso \'Modifica Modelli\'

    Per modificare le preferenze globali delle News, l\'utente deve appartenere a un gruppo con il permesso \'Modifica Preferenze del Sito\'

    In aggiunta, per approvare news per la visualizzazione nel frontend l\'utente deve appartenere ad un gruppo con il permesso \'Approva News\'.

    Come usarlo?

    Il modo più semplice di usarlo è con il tag {news} (il modulo in un tag, per semplificare la sintassi). Inseririsci il modulo dove vuoi nel vostro Modello o pagina, questo visualizzerà le news. Esempio di sintassi: {news number=\'5\'}

    Modelli

    Dalla versione 2.3 News supporta modelli multipli da database e NON supporta più i modelli file. Utenti che usano il vecchio sistema dei modelli file DEVONO seguire questi passi (per ciascun modello):

    • Copia il modello file negli appunti
    • Crea un nuovo Modello database (di sommario o dettaglio come richiesto). Dare al nuovo modello lo stesso nome (incluso l\'estensione .tpl) esattamente del vecchio file e incollare il contenuto.
    • Premere Invio
    Seguendo questi passi si dovrebbe risolvere il problema dei nuovi modelli non trovati e altri errori similari di smarty quando aggiorni ad una versione di CMS che contiene News 2.3 o maggiore.

    '; $lang['helpaction'] = 'Sovrascrive l\'azione predefinita. I valori possibili sono:
    • "detail" - per visualizzare un determinato articleid in modalità dettaglio
    • "default" - per visualizzare la modalità sommario
    • "fesubmit" - Deprecato per visualizzare il modulo che permette agli utenti l\'inserimento di news dal lato utente. Aggiunge il tag {cms_init_editor} nella sezione metadata per inizializzare l\'editor wysiwyg selezionato. (Amministrazione del sito >> Impostazioni Globali)
    • "browsecat" - per visualizzare una lista di categorie navigabile.
    '; $lang['helpbrowsecat'] = 'Mostra una lista di categorie.'; $lang['helpbrowsecattemplate'] = 'Usa un Modello da database per visualizzare le categorie. Questo Modello deve esistere ed essere visibile nei Modelli Categoria della amministrazione anche se non è quello predefinito. Se il parametro non è specificato, allora sarà usato il Modello corrente marcato come predefinito.'; $lang['helpcategory'] = 'Utilizzato nella vista sommario per mostrare solo elementi di una categoria specifica. Usate * dopo il nome per visualizzare le sottocategorie. E\' possibile inserire categorie multiple se separate da virgola. Lasciando vuoto, mostrerà tutte le categorie. Questo parametro funziona anche per l\'azione "frontend submit", anche se è supportato solo l\'uso di una categoria.'; $lang['helpdetailpage'] = 'Pagina di visualizzazione del dettaglio della News. Questa può essere una pagina alias o un id. Viene usata per visualizzare il dettaglio in un differente template dal sommario.'; $lang['helpdetailtemplate'] = 'Usa un Modello separato per visualizzare il dettaglio dell\'articolo. Questo Modello deve esistere ed essere visibile nel Modello Dettaglio della amministrazione anche se non è quello predefinito. Se il parametro non è specificato, allora sarà usato il Modello corrente marcato come predefinito.'; $lang['helpformtemplate'] = 'Usa un Modello da database per visualizzare l\'articolo pubblicato. Questo Modello deve esistere ed essere visibile nel Modelli Form della amministrazione anche se non è quello predefinito. Se il parametro non è specificato, allora sarà usato il Modello corrente marcato come predefinito.'; $lang['helpmoretext'] = 'Testo da visualizzare alla fine di una news se supera la lunghezza del sommario. Il predefinito è "Continua"'; $lang['helpnumber'] = 'Numero massimo di elementi da visualizzare (per pagina) -- se vuoto verranno mostrati tutti gli articoli.'; $lang['helpshowall'] = 'Mostra tutti gli articoli, senza considerare la data di scadenza'; $lang['helpshowarchive'] = 'Mostra solo gli articoli scaduti.'; $lang['helpsortasc'] = 'Ordina le news in modo ascendente per data piuttosto che discendente.'; $lang['helpsortby'] = 'Campo da ordinare per. Le opzioni sono: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Predefinito è "news_date". Se è specificato "random" il parametro sortasc è ignorato.'; $lang['helpstart'] = 'Inizia dal n-imo articolo -- se vuoto inizierà dal primo.'; $lang['helpsummarytemplate'] = 'Usa un Modello diverso da database per visualizzare il sommario dell\'articolo. Questo Modello deve esistere ed essere visibile nel pannello Modelli Sommario dell\'area amministrazione del modulo News, ma non è necessario che sia il predefinito. Se il parametro non viene specificato, verrà usato il modello predefinito attuale.'; $lang['help_articleid'] = 'Questo parametro è applicabile solo nella visualizzazione dettaglio. Permette di specificare quali articoli visualizzare in modalità dettaglio. Se viene usato il valore speciale -1, il sistema visualizzerà l\'articolo più recente, pubblicato e non scaduto.'; $lang['help_article_title'] = 'Inserisci il titolo dell\'articolo. Deve essere breve e non contenere tag HTML.'; $lang['help_article_category'] = 'Per motivi di organizzazione, puoi selezionare una categoria.'; $lang['help_article_content'] = 'Inserisci qui il contenuto principale dell\'articolo'; $lang['help_article_enddate'] = 'Se usa la data di scadenza è attivato, questa data indica quando l\'articolo verrà nascosto alla visualizzazione.'; $lang['help_article_extra'] = 'Si tratta di dati aggiuntivi da associare all\'articolo delle news. Può essere utilizzato per organizzare l\'ordine o per altri scopi previsti dagli sviluppatori. Devi contattare lo sviluppatore del sito per sapere come viene usato questo campo, se viene usato.'; $lang['help_article_searchable'] = 'Questo campo indica se l\'articolo debba essere indicizzato dal modulo di ricerca.'; $lang['help_article_postdate'] = 'La postdate (generalmente la data corrente, per i nuovi articoli) è la data che verrà usata come data di pubblicazione dell\'articolo. Viene usata anche nell\'ordinamento'; $lang['help_article_summary'] = 'Inserisci un breve paragrafo per descrivere l\'articolo. Questo sommario può essere usato quando viene mostrato un certo numero di visualizzazioni di articoli.'; $lang['help_article_startdate'] = 'Quando usa la scadenza è attivata, questa data indica la data dalla quale l\'articolo sarà mostrato nel sito'; $lang['help_article_status'] = 'Se vuoi che l\'articolo sia immediatamente visualizzabile seleziona lo stato di pubblicato. Se vuoi continuare a modificare questo articolo per un p\', allora scegli bozza.'; $lang['help_article_url'] = 'L\'url opzionale dell\'articolo (altre piattaforme lo chiamano slug) è un suffisso di url univoco per accedere a questo articolo. Gli utenti possono navigare a / per visualizzare questo articolo.'; $lang['help_article_useexpiry'] = 'Questa casella di controllo alterna il comportamento della data di scadenza. Il comportamento della data di scadenza determina quando un articolo diventa visibile nel sito e quando successivamente diventa non più visibile.'; $lang['help_articles_filtercategory'] = 'Facoltativamente filtra l\'elenco di articoli mostrati in questo elenco per quelli che appartengono alla categoria selezionata'; $lang['help_articles_filterchildcats'] = 'Se attivato, verranno mostrati gli articoli nella categoria selezionata e nelle loro sottocategorie.'; $lang['help_articles_pagelimit'] = 'Specificando un limite compreso tra 10 e 100 si migliorerà significativamente la prestazione'; $lang['help_articles_sortby'] = 'Seleziona come gli articoli verranno inizialmente ordinati.'; $lang['help_category_name'] = 'Inserisci un nome per questa categoria. Il nome deve essere adatto per l\'uso negli url e non deve contenere caratteri speciali.'; $lang['help_category_parent'] = 'Facoltativamente specifica una categoria genitore per costruire una gerarchia delle categorie.'; $lang['help_fesubmit_redirect'] = 'ID o alias della pagina a cui reindirizzare dopo un invio effettuato con successo dal frontend.'; $lang['help_fielddef_maxlen'] = 'Per campi di testo puoi specificare la lunghezza massima dell\'input da parte dell\'utente (in caratteri)'; $lang['help_fielddef_name'] = 'Ogni definizione del campo deve avere un nome. Sebbene non sia strettamente necessario, il nome del campo dovrebbe contenere solo caratteri alfanumerici ed il segno di sottolineato. Evita di usare spazi nel nome del campo.'; $lang['help_fielddef_options'] = 'Qui puoi specificare le opzioni valide per i campi con menu a tendina.'; $lang['help_opt_alert_drafts'] = 'Se attivato, si riceveranno notifiche (avvisi) in cui viene indicato che ci sono uno o più articoli da rivedere e pubblicare.'; $lang['help_opt_allowed_upload_types'] = 'Per i campi personalizzati del tipo "file" questa impostazione indica un elenco separato da virgole di estensioni di file valide per il caricamento nell\'editor .'; $lang['help_opt_dflt_category'] = 'Questa opzione consente di specificare la categoria predefinita per i nuovi articoli delle news.'; $lang['help_opt_hide_summary'] = 'Questa opzione consente la disattivazione del campo sommario mentre si aggiunge/modifica un articolo delle news (inclusa l\'azione fesubmit)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Questo campo indica se un editor WYSIWYG debba essere attivato per il campo sommario durante la modifica di un articolo. In molte circostanze il campo sommario è un semplice campo di testo, tuttavia ciò è opzionale.
    Questa impostazione viene ignorata se il campo sommario è completamente disattivato (vedere sopra)'; $lang['help_opt_expiry_interval'] = 'Imposta il numero predefinito di giorni (minimo 1) dopo di cui gli articoli scadono, se la scadenza degli articoli è attivata. La data di scadenza può essere regolata mentre si aggiunge o si modifica un articolo delle news'; $lang['help_pagelimit'] = 'Numero massimo di elementi da visualizzare (per pagina). Se questo parametro non viene inserito verranno visualizzate tutte le ricorrenze. Se viene inserito e ci sono più elementi disponibili di quelli indicati dal parametro, verranno inseriti testi e collegamenti che permetteranno di scorrere i risultati.'; $lang['hide_summary_field'] = 'Nasconde il campo sommario quando aggiungi o modifichi articoli'; $lang['info_allow_fesubmit'] = 'Questa opzione determina se l\'azione fesubmit sia consentita per tutto il sito. Massima cautela nell\'attivarla.'; $lang['info_categories'] = 'Per ragioni di organizzazione, gli articoli delle news possono essere organizzati in categorie gerarchiche'; $lang['info_detail_returnid'] = 'Questa preferenza è utilizzata per determinare una pagina (e quindi un template) da usare per visualizzare le pagine di dettaglio. Le URL di Dettaglio News individuali non funzionano se questo parametro non è impostato su una pagina valida. In aggiunta, se questo parametro è impostato e nessun parametro detailpage è aggiunto sul tag news, allora questo valore sarà usato per i link dei dettagli'; $lang['info_expired_searchable'] = 'Se attivato, gli articoli scaduti possono continuare ad essere indicizzati dal modulo ricerca e vengono visualizzati nei risultati della ricerca'; $lang['info_expired_viewable'] = 'Se abilitato, gli articoli scaduti potranno essere visualizzati in modalità dettaglio (riproducendo funzionalità antecedenti). Il parametro "showall" può essere utilizzato nell\'URL (quando non vengono utilizzati i pretty url) per indicare anche che l\'articolo scaduto possa essere visualizzato'; $lang['info_fesubmit_notification'] = 'Puoi facoltativamente inviare un messaggio e-mail ad un indirizzo e-mail singolo quando viene inviato un nuovo articolo attraverso l\'azione fesubmit.'; $lang['info_maxlength'] = 'La lunghezza massima si applica solo a campi di testo.'; $lang['info_public'] = 'Solo i campi pubblici sono disponibili per la modifica del frontend, o per la visualizzazione nelle viste di sommario o di dettaglio.'; $lang['info_reorder_categories'] = 'Trascina ogni elemento nell\'ordine corretto per cambiare la relazione con la categoria'; $lang['info_searchable'] = 'Questo campo determina se questo articolo debba essere indicizzato dal modulo di ricerca'; $lang['info_sysdefault'] = '(contenuto predefinito quando viene creato un movo modello)'; $lang['info_sysdefault2'] = 'Nota: Questo pannello contiene aree di testo che vi permettono di compilare un insieme di modelli che verranno visualizzati alla creazione di un modello sommario, dettaglio o form. Modificare i contenuti di questo pannello non avrà effetti sulle visualizzazioni correnti.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Cerca articolo delle news'; $lang['linkedfile'] = 'File collegato'; $lang['maxlength'] = 'Lunghezza massima'; $lang['msg_cancelled'] = 'Operazione annullata'; $lang['msg_categoriesreordered'] = 'Ordine categoria aggiornato'; $lang['msg_contenttype_removed'] = 'Il tipo di contenuto news è stato rimosso. Inserite altri tag {news} con parametri appropriati nel vostro modello di pagina o nel contenuto della vostra pagina per sostituire questa funzionalità.'; $lang['msg_success'] = 'Operazione riuscita con successo'; $lang['more'] = 'Continua'; $lang['moretext'] = 'Altro testo'; $lang['name'] = 'Nome'; $lang['nameexists'] = 'Esiste già un campo con questo nome'; $lang['needpermission'] = 'E\' necessario il permesso \'%s\' per eseguire di questa funzione.'; $lang['newcategory'] = 'Nuova categoria'; $lang['news'] = 'News'; $lang['news_return'] = 'Torna'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Al momento non c\'è alcun articolo creato'; $lang['noarticlesinfilter'] = 'Non ci sono articoli da visualizzare con questo filtro'; $lang['nocategorygiven'] = 'Nessuna Categoria specificata'; $lang['nocontentgiven'] = 'Nessun Contenuto inserito'; $lang['noitemsfound'] = 'Nessun elemento trovato per la categoria: %s'; $lang['nonamegiven'] = 'Nessun Nome inserito'; $lang['none'] = 'Nessuno'; $lang['nopostdategiven'] = 'Nessuna data di pubblicazione inserita'; $lang['notanumber'] = 'La lunghezza massima non è un numero'; $lang['note'] = 'Nota: La data deve essere nel formato: \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Voi avete %s articolo(i) News che non sono ancora pubblicati'; $lang['notify_n_draft_items_sub'] = '%d articolo(i) News'; $lang['notitlegiven'] = 'Nessun Titolo inserito'; $lang['numbertodisplay'] = 'Numero da visualizzare (se vuoto mostra tutti gli articoli)'; $lang['options'] = 'Opzioni'; $lang['optionsupdated'] = 'Le opzioni sono state aggiornate con successo.'; $lang['parent'] = 'Genitore'; $lang['postdate'] = 'Data di pubblicazione'; $lang['postinstall'] = 'Assicuratevi di attribuire il permesso "Modifica News" agli utenti che dovranno amministrare le News.'; $lang['post_date_asc'] = 'Data di pubblicazione ascendente'; $lang['post_date_desc'] = 'Data di pubblicazione discendente'; $lang['preview'] = 'Anteprima'; $lang['prevpage'] = '<'; $lang['print'] = 'Stampa'; $lang['prompt_alert_drafts'] = 'Avviso per articoli non approvati'; $lang['prompt_allow_fesubmit'] = 'Consenti che gli articoli delle news siano inviati dal frontend'; $lang['prompt_default'] = 'Predefinito'; $lang['prompt_go'] = 'Vai'; $lang['prompt_name'] = 'Nome'; $lang['prompt_newtemplate'] = 'Crea un nuovo Modello'; $lang['prompt_of'] = 'di'; $lang['prompt_page'] = 'Pagina'; $lang['prompt_pagelimit'] = 'Limite pagina'; $lang['prompt_redirecttocontent'] = 'Torna alla pagina'; $lang['prompt_sorting'] = 'Ordina per'; $lang['prompt_template'] = 'Sorgente del Modello'; $lang['prompt_templatename'] = 'Nome del Modello'; $lang['public'] = 'Pubblico'; $lang['published'] = 'Pubblicato'; $lang['reassign_category'] = 'Cambia la categoria in'; $lang['removed'] = 'Rimosso'; $lang['reorder'] = 'Riordina'; $lang['reorder_categories'] = 'Riordina le categorie'; $lang['reset'] = 'Reimposta'; $lang['resettodefault'] = 'Reimposta ai valori predefiniti'; $lang['restoretodefaultsmsg'] = 'Questa operazione riporterà il contenuto del Modello a quello predefinito. Siete certi di volere procedere?'; $lang['revert'] = 'Imposta lo stato a \'Bozza\''; $lang['searchable'] = 'Ricercabile'; $lang['select'] = 'Seleziona'; $lang['select_option'] = 'Seleziona opzione'; $lang['selectall'] = 'Seleziona tutto'; $lang['selectcategory'] = 'Seleziona la categoria'; $lang['showchildcategories'] = 'Mostra le sottocategorie'; $lang['sortascending'] = 'Ordine crescente'; $lang['startdate'] = 'Data inizio'; $lang['startdatetoolate'] = 'La data di partenza è troppo in ritardo (dopo la data di fine?)'; $lang['startoffset'] = 'Inizia la visualizzazione dal n-imo articolo'; $lang['startrequiresend'] = 'Inserire una data di inizio richiede anche una data di fine'; $lang['status'] = 'Stato'; $lang['status_asc'] = 'Stato ascendente'; $lang['status_desc'] = 'Stato discendente'; $lang['subject_newnews'] = 'Nuovo articolo pubblicato'; $lang['submit'] = 'Invia'; $lang['summary'] = 'Sommario'; $lang['summarytemplate'] = 'Modelli Sommario'; $lang['summarytemplateupdated'] = 'Il Modello Sommario è stato aggiornato con successo.'; $lang['sysdefaults'] = 'Riporta nella configurazione predefinita'; $lang['template'] = 'Modello'; $lang['textarea'] = 'Area di Testo'; $lang['textbox'] = 'Input di Testo'; $lang['title'] = 'Titolo'; $lang['title_asc'] = 'Titolo ascendente'; $lang['title_available_templates'] = 'Modelli disponibili'; $lang['title_browsecat_sysdefault'] = 'Modello predefinito Elenco Categorie'; $lang['title_browsecat_template'] = 'Editor per Modello Elenco Categorie'; $lang['title_desc'] = 'Titolo discendente'; $lang['title_detail_returnid'] = 'Pagina predefinita da usare per la vista dettaglio'; $lang['title_detail_settings'] = 'Impostazioni vista dettaglio'; $lang['title_detail_sysdefault'] = 'Modello Dettaglio predefinito'; $lang['title_detail_template'] = 'Editor Modello Dettaglio'; $lang['title_draft_entries'] = 'Articolo delle news non approvato'; $lang['title_fesubmit_form'] = 'Invia articolo delle news'; $lang['title_fesubmit_settings'] = 'Impostazioni inserimento lato utente'; $lang['title_filter'] = 'Filtri'; $lang['title_form_sysdefault'] = 'Modello Form predefinito'; $lang['title_form_template'] = 'Modello del Form Editor'; $lang['title_news_settings'] = 'Impostazioni del modulo News'; $lang['title_notification_settings'] = 'Impostazioni di notifica'; $lang['title_submission_settings'] = 'Impostazioni inserimento News'; $lang['title_summary_sysdefault'] = 'Modello Sommario predefinito'; $lang['title_summary_template'] = 'Editor Modello Sommario'; $lang['toggle_bulk'] = 'Seleziona questo articolo per operazione in blocco'; $lang['type'] = 'Tipo'; $lang['type_browsecat'] = 'Sfoglia categorie'; $lang['type_form'] = 'Form di frontend'; $lang['type_detail'] = 'Dettaglio'; $lang['type_News'] = 'News'; $lang['type_summary'] = 'Sommario'; $lang['unknown'] = 'Sconosciuto'; $lang['unlimited'] = 'Illimitato'; $lang['up'] = 'Su'; $lang['uploadscategory'] = 'Categoria di Caricamento'; $lang['url'] = 'URL'; $lang['useexpiration'] = 'Usa la data di scadenza'; $lang['viewfilter'] = 'Filtro visualizzazione'; $lang['warning_preview'] = 'Attenzione: questo pannello anteprima si comporta in buona parte come la finestra di un browser, permettendovi di navigare rispetto alla pagina iniziale visualizzata. Tuttavia, se lo fate, potreste riscontrare comportamenti inattesi. Navigare spostandosi dalla pagina iniziale per poi ritornarvi non darà i risultati attesi.
    Nota: L\'anteprima non carica i file che potreste avere selezionato in attesa di caricamento.'; $lang['with_selected'] = 'Con selezionato'; ?>נשלח כשנוסף מאמר.

    פרמטרים

    • \"news_id\" - קוד הזיהוי של המאמר
    • \"category_id\" - קוד זיהוי המדור של מאמר זה
    • \"title\" - כותרת המאמר
    • \"content\" - תוכן המאמר
    • \"summary\" - תקציר המאמר
    • \"status\" - מצב המאמר ("טיוטא" או "פרסם")
    • \"start_time\" - התאריך שבו המאמר יוצג
    • \"end_time\" - התאריך שבו המאמר יפסיק להיות מוצג
    • \"useexp\" - האם יש להתעלם מתאריך התפוגה או לא
    '; $lang['eventhelp-NewsArticleDeleted']='

    נשלח כשמאמר נמחק.

    פרמטרים

    • \"news_id\" - קוד הזיהוי של המאמר
    '; $lang['eventhelp-NewsArticleEdited']='

    נשלח כשמאמר נערך.

    פרמטרים

    • \"news_id\" - קוד הזיהוי של המאמר
    • \"category_id\" - מס' המדור למאמר זה
    • \"title\" - כותרת המאמר
    • \"content\" - תוכן המאמר
    • \"summary\" - תקציר המאמר
    • \"status\" - מצב המאמר ("טיוטא" או "פרסם")
    • \"start_time\" - התאריך שבו המאמר יוצג
    • \"end_time\" - התאריך שבו המאמר יפסיק להיות מוצג
    • \"useexp\" - האם יש להתעלם מתאריך התפוגה או לא
    '; $lang['eventhelp-NewsCategoryAdded']='

    נשלח כאשר נוסף מדור.

    פרמטרים

    • \"category_id\" - קוד הזיהוי של המדור
    • \"name\" - שם המדור
    '; $lang['eventhelp-NewsCategoryDeleted']='

    נשלח כאשר מדור נמחק.

    פרמטרים

    • \"category_id\" - קוד הזיהוי של המדור המחוק
    • \"name\" - שם המדור המחוק
    '; $lang['eventhelp-NewsCategoryEdited']='

    נשלח כאשר מדור נערך.

    פרמטרים

    • \"category_id\" - קוד הזיהוי של המדור
    • \"name\" - שם המדור
    • \"origname\" - השם המקורי של המדור
    '; $lang['expired']='פג תוקף'; $lang['expired_searchable']='מאמרים פג תוקף יכול להופיע בתוצאות החיפוש'; $lang['expiry']='תפוגה'; $lang['expiry_date_asc']='תאריך תפוגה עולה'; $lang['expiry_date_desc']='תאריך תפוגה יורד'; $lang['expiry_interval']='מספר ימים (כברירת מחדל) לפני המאמר פוקעת (אם פקיעת מסומנת)'; $lang['extra']='נוסף'; $lang['fesubmit_redirect']='PageID או alias to redirect to after a news article has been submitted via the fesubmit action'; $lang['fesubmit_status']='מעמדו של מאמרי חדשות שהוגשו באמצעות הממשק'; $lang['fielddef']='שדה Definition'; $lang['fielddefadded']='הגדרת שדה Definition הוסיף בהצלחה'; $lang['fielddefdeleted']='הגדרת שדות שנמחקו'; $lang['fielddefupdated']='הגדרת שדה עודכן'; $lang['file']='קובץ'; $lang['filter']='מסננת'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='כתובת דוא"ל כדי לקבל הודעה על הגשת החדשות'; $lang['formtemplate']='תבניות טופס'; $lang['help']='

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.
    • entry->authorname - The full name of the the author including First and Last name.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    '; $lang['help_articleid']='פרמטר זה הוא ישים רק כדי להציג את הפרטים. זה מאפשר ציון אשר מאמר חדשותי כדי להציג במצב בפירוט. אם הערך המיוחד -1 משמש, המערכת תציג את החדש, שפורסם, מאמר שאינו פג.'; $lang['help_pagelimit']='מספר מרבי של פריטים להצגה (בכל דף). אם הפרמטר הזה לא סיפק את כל הפריטים התואמים יוצג. אם כן, ויש עוד פריטים זמינים מאשר המצוין בפרמטר, טקסט וקישורים יסופקו על מנת לאפשר גלילה באמצעות התוצאות'; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['helpbrowsecat']='מציג רשימת מדורים לעיון.'; $lang['helpbrowsecattemplate']='שימוש באתר התבנית להצגת דפדפן בקטגוריה. תבנית זו חייבת להתקיים ולהיות גלויים על הכרטיסייה קטגוריה תבניות עיון של מנהל החדשות, למרות שזה לא צריך להיות ברירת המחדל. אם פרמטר זה לא צוין, ואז שוטפים את התבנית מסומן כברירת מחדל ישמשו.'; $lang['helpcategory']='Only display items for that category. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories.'; $lang['helpdetailpage']='דף כדי להציג פרטים חדשות פנימה זה יכול להיות כינוי מקור או תעודת זהות. משמש כדי לאפשר הפרטים שיוצגו תבנית שונה סיכום.'; $lang['helpdetailtemplate']='Use a separate template for displaying the article detail. It have to live in modules/News/templates.'; $lang['helpformtemplate']='שימוש באתר התבנית להצגת טופס הגשת המאמר. תבנית זו חייבת להתקיים ולהיות גלוי בצורת תבניות הכרטיסייה של מנהל החדשות, למרות שזה לא צריך להיות ברירת המחדל. אם פרמטר זה לא צוין, ואז שוטפים את התבנית מסומן כברירת מחדל ישמשו.'; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "more..."'; $lang['helpnumber']='Maximum number of items to display =- leaving empty will show all items.'; $lang['helpshowall']='הצג את כל הכתבות, ללא קשר לתאריך הסיום'; $lang['helpshowarchive']='הצג מאמרים שתוקפם פג בלבד.'; $lang['helpsortasc']='לפי ידיעות על מנת תאריך עולה ולא יורד.'; $lang['helpsortby']='שדה המיון. האפשרויות הן: "news_date" (תאריך), "summary" (תקציר), "news_data" (מידע), "news_category" (מדור), "news_title" (כותרת). ברירת המחדל היא "news_date" (תאריך).'; $lang['helpstart']='התחל פריט המי יודע כמה - משאיר ריק יתחיל בשעה הפריט הראשון.'; $lang['helpsummarytemplate']='Use a separate template for displaying the article summary. It have to live in modules/News/templates.'; $lang['hide_summary_field']='הסתרת שדה סיכום בעת הוספת או עריכת מאמרים'; $lang['info_maxlength']='האורך המרבי חל רק על שדות הזנת טקסט.'; $lang['info_sysdefault']='(תוכן המשמש כברירת מחדל כאשר התבנית החדשה שנוצרה)'; $lang['info_sysdefault2']='ערה: כרטיסייה זו מכילה אזורים טקסט תאפשר לך לערוך את ערכה של תבניות מוצגות כאשר אתה יוצר "סיכום חדש ', פרט, או תבנית הטופס. שינוי התוכן בלשונית זו, לחיצה על 'שלח' יהיהלא כל השפעה מציגה הנוכחית.'; $lang['lastpage']='>>'; $lang['maxlength']='אורך מקסימלי'; $lang['more']='עוד'; $lang['moretext']='עוד מלל'; $lang['msg_contenttype_removed']='סוג התוכן החדשות הוסר. אנא (news) המקום תגיות עם הפרמטרים המתאימים לתוך דף התבנית שלך או אל מקור התוכן שלך כדי להחליף את הפונקציה הזו.'; $lang['name']='שם'; $lang['nameexists']='שדה בשם זה כבר קיים'; $lang['needpermission']='נדרשת הרשאת '%s' כדי לבצע פעולה זו.'; $lang['newcategory']='מדור חדש'; $lang['news']='חדשות'; $lang['news_return']='חזור'; $lang['nextpage']='>'; $lang['nocategorygiven']='לא צויין מדור'; $lang['nocontentgiven']='לא ניתן תוכן'; $lang['noitemsfound']='אין חדשות במדור %s'; $lang['nonamegiven']='לא ניתן שם'; $lang['none']='לא'; $lang['nopostdategiven']='לא צויין תאריך פרסום'; $lang['notanumber']='האורך המקסימלי אינו מספר'; $lang['note']='שים לב: תאריכים חייבים להיות בתצורה 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='יש לך %s לא פורסמו'; $lang['notify_n_draft_items_sub']='%d חדשות מאמר'; $lang['notitlegiven']='לא ניתנה כותרת'; $lang['numbertodisplay']='מספר על הצג (מראה ריק כל הרשומות)'; $lang['options']='אפשרויות'; $lang['optionsupdated']='האפשרויות עודכנו בהצלחה'; $lang['post_date_asc']='פוסט תאריך עולה'; $lang['post_date_desc']='פוסט תאריך יורד'; $lang['postdate']='תאריך פרסום'; $lang['postinstall']='חשוב להסמן את ההרשאה "לנהל חדשות" למשתמשים המתאימים.'; $lang['prevpage']='<'; $lang['print']='הדפס'; $lang['prompt_default']='ברירת מחדל'; $lang['prompt_name']='שם'; $lang['prompt_newtemplate']='יצירת תבנית חדשה'; $lang['prompt_of']='מ'; $lang['prompt_page']='דף'; $lang['prompt_pagelimit']='הגבלת דפים'; $lang['prompt_sorting']='מיין לפי'; $lang['prompt_template']='המקור תבנית'; $lang['prompt_templatename']='שם תבנית'; $lang['public']='הציבור'; $lang['published']='פורסם'; $lang['reassign_category']='שינוי הקטגוריה'; $lang['removed']='הוסר'; $lang['resettodefault']='איפוס לברירות המחדל במפעל'; $lang['restoretodefaultsmsg']='פעולה זו תחזיר את תבניות התוכן לברירות המחדל שלהן. האם להמשיך?'; $lang['revert']='סטטוס הגדר "טיוטה"'; $lang['select']='לבחור'; $lang['selectcategory']='בחר מדור'; $lang['showchildcategories']='הצג תת-מדורים'; $lang['sortascending']='מיין בסדר עולה'; $lang['startdate']='תאריך התחלה'; $lang['startdatetoolate']='תאריך ההתחלה מאוחר מדי (לאחר תאריך סיום?)'; $lang['startoffset']='הצג החל מהחדשה ה-n'; $lang['startrequiresend']='ציון תאריך התחלה דורשת גם ציון תאריך סיום'; $lang['status']='מצב'; $lang['status_asc']='סטטוס עולה'; $lang['status_desc']='סטטוס יורד'; $lang['subject_newnews']='מאמר חדש חדשות כבר פורסם'; $lang['submit']='שלח'; $lang['summary']='תקציר'; $lang['summarytemplate']='תבנית תקצירים'; $lang['summarytemplateupdated']='תבנית התקצירים לחדשות עודכנה בהצלחה'; $lang['sysdefaults']='החזר את ברירות המחדל'; $lang['template']='תבנית'; $lang['textarea']='Text אזור'; $lang['textbox']='להכניס Text'; $lang['title']='כותרת'; $lang['title_asc']='כותר עולה'; $lang['title_available_templates']='ניתן להשיג תבניות'; $lang['title_browsecat_sysdefault']='עיון בקטגוריה ברירת המחדל תבנית'; $lang['title_browsecat_template']='עיון בקטגוריה תבנית עורך'; $lang['title_desc']='כותרת יורד'; $lang['title_detail_sysdefault']='פירוט תבנית ברירת מחדל'; $lang['title_detail_template']='עורך פירוט תבנית'; $lang['title_filter']='מסננים'; $lang['title_form_sysdefault']='טופס תבנית ברירת מחדל'; $lang['title_form_template']='עורך תבנית טופס'; $lang['title_summary_sysdefault']='סיכום תבנית ברירת מחדל'; $lang['title_summary_template']='עורך סיכום תבנית'; $lang['type']='סוג'; $lang['unknown']='לא ידוע'; $lang['unlimited']='בלתי מוגבל'; $lang['up']='למעלה'; $lang['uploadscategory']='ההעלאות קטגוריה'; $lang['useexpiration']='השתמש בתאריך תפוגה'; ?>記事の追加時に送信

    パラメーター

    • \"news_id\" - ニュース記事のID
    • \"category_id\" - 該当記事に対するカテゴリーのID
    • \"title\" - 記事のタイトル
    • \"content\" - 記事の内容
    • \"summary\" - 記事の要約
    • \"status\" - 記事の状態 ("ドラフト" 又は "公開")
    • \"start_time\" - 記事の公開開始日
    • \"end_time\" - 記事の公開終了日
    '; $lang['eventhelp-NewsArticleDeleted']='

    記事の削除時に送信

    パラメーター

    • \"news_id\" - ニュース記事のID
    '; $lang['eventhelp-NewsArticleEdited']='

    記事の編集時に送信

    パラメーター

    • \"news_id\" - ニュース記事のID
    • \"category_id\" - 該当記事に対するカテゴリーのID
    • \"title\" - 記事のタイトル
    • \"content\" - 記事の内容
    • \"summary\" - 記事の要約
    • \"status\" - 記事の状態 ("ドラフト" 又は "公開")
    • \"start_time\" - 記事の公開開始日
    • \"end_time\" - 記事の公開終了日
    '; $lang['eventhelp-NewsCategoryAdded']='

    カテゴリーの追加時に送信

    パラメーター

    • \"category_id\" - ニュースカテゴリーのID
    • \"name\" - ニュースカテゴリーの名前
    '; $lang['eventhelp-NewsCategoryDeleted']='

    カテゴリの削除時に送信

    パラメーター

    • \"category_id\" - ニュースのID
    '; $lang['eventhelp-NewsCategoryEdited']='

    カテゴリの編集時に送信

    パラメーター

    • \"category_id\" - ニュースカテゴリーのID
    • \"name\" - ニュースカテゴリーの名前
    '; $lang['expiry']='有効期限'; $lang['fielddef']='項目定義'; $lang['fielddefadded']='項目定義を追加しました。'; $lang['fielddefupdated']='項目定義を更新しました。'; $lang['file']='ファイル'; $lang['filter']='フィルター'; $lang['firstpage']='<<'; $lang['help']='

    何ができるのでしょうか?

    ニュースはページにニュースイベントを表示するモジュールで、多くの機能があり、例えばブログのような利用ができます。モジュールがインストールされると、ニュース管理ページが管理メニューに追加され、ニュースの管理はメニューから利用できます。ニュースカテゴリーが一旦作成、選択されると、該当カテゴリーのニュース項目がリスト表示されます。そこから、そのニュース項目の追加、編集、削除等が行えます。

    セキュリティ

    利用ユーザーは、入力や編集等の作業を行う為に、必ず\'ニュースの修正\'パーミッションを持ったグループに所属する必要があります。

    使用方法

    もっとも簡単な利用方法はcms_moduleタグと合わて使うことです。この方法はモジュールをテンプレートやページのどこかニュース項目を表示したい場所に挿入することです。コードの形式は以下のようになります: {cms_module module="news" number="5" category="beer"}

    '; $lang['help_pagelimit']='Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['helpaction']='Override the default action. Possible values are \'default\' to display the summary view, and \'fesubmit\' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpcategory']='該当カテゴリとその子カテゴリの項目だけを表示。空欄の場合は全カテゴリを表示。'; $lang['helpdetailpage']='ニュース詳細を表示するページ。ページのエイリアスまたはIDを使用できます。記事概要と異なるテンプレートで表示させる場合に使います。'; $lang['helpdetailtemplate']='記事詳細の表示に別のテンプレートを使用。ファイルはmodules/News/templatesに置く必要があります。'; $lang['helpmoretext']='要約のサイズを超えている場合に、ニュース項目を最後まで表示します。デフォルトは"さらに表示..."。'; $lang['helpnumber']='表示できる項目の最大数の値 -- 空欄の場合は全項目を表示'; $lang['helpsortasc']='ニュース項目を昇順に並べ替え。'; $lang['helpsortby']='並び替えの優先項目。項目は: "news_date"、"summary"、"news_data"、"news_category"、"news_title"。デフォルトは"news_date"。'; $lang['helpstart']='○番目の項目からスタート -- 空欄の場合は最初からスタート'; $lang['helpsummarytemplate']='要約記事の表示に別のテンプレートを利用。 ファイルはmodules/News/templatesに置く必要があります。'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['lastpage']='>>'; $lang['maxlength']='最大長さ'; $lang['more']='さらに表示'; $lang['moretext']='さらにテキストを表示'; $lang['name']='名前'; $lang['needpermission']='この機能を利用するには\'%s\'パーミッションが必要です。'; $lang['newcategory']='新規カテゴリ'; $lang['news']='ニュース'; $lang['news_return']='戻る'; $lang['nextpage']='>'; $lang['nocategorygiven']='カテゴリが存在しません。'; $lang['nocontentgiven']='コンテンツが存在しません。'; $lang['noitemsfound']='カテゴリ%sに対する項目がありません。'; $lang['nonamegiven']='名前が存在しません。'; $lang['none']='なし'; $lang['nopostdategiven']='投稿日付がありません。'; $lang['note']='注意: 日付は\'yyyy-mm-dd hh:mm:ss\'フォーマットの必要があります。'; $lang['notitlegiven']='タイトルが存在しません。'; $lang['numbertodisplay']='表示数(空欄の場合は全てのレコードが表示されます)'; $lang['options']='オプション'; $lang['optionsupdated']='オプションは正常に更新されました。'; $lang['postdate']='投稿日'; $lang['postinstall']='ニュース項目を管理するユーザーには"ニュースを修正"パーミッションを設定する必要があります。'; $lang['prevpage']='<'; $lang['print']='印刷'; $lang['prompt_default']='デフォルト'; $lang['prompt_name']='名'; $lang['prompt_newtemplate']='テンプレートを作成する。'; $lang['prompt_page']='ページ'; $lang['prompt_sorting']='ソート'; $lang['prompt_template']='テンプレート・ソース'; $lang['prompt_templatename']='テンプレート名'; $lang['public']='公開'; $lang['published']='公開'; $lang['removed']='削除しました。'; $lang['restoretodefaultsmsg']='テンプレートの設定をデフォルトに戻します。本当に実行しますか?'; $lang['revert']='ステータスを「ドラフト」に設定しました。'; $lang['select']='選択'; $lang['selectcategory']='カテゴリの選択'; $lang['showchildcategories']='子カテゴリを表示'; $lang['sortascending']='昇順並び替え'; $lang['startdate']='開始日'; $lang['startoffset']='○番目の項目から表示'; $lang['startrequiresend']='開始日を入力する際に終了日も必要'; $lang['status']='ステータス'; $lang['status_asc']='ステータス昇順'; $lang['status_desc']='ステータス降順'; $lang['submit']='送信'; $lang['summary']='要約'; $lang['summarytemplate']='要約テンプレート'; $lang['summarytemplateupdated']='ニュース要約テンプレートは正常に更新されました。'; $lang['sysdefaults']='デフォルトに戻す'; $lang['template']='テンプレート'; $lang['textarea']='テキストエリア'; $lang['textbox']='テキスト'; $lang['title']='タイトル'; $lang['title_asc']='タイトル昇順'; $lang['title_desc']='タイトル降順'; $lang['title_detail_settings']='詳細表示設定'; $lang['title_filter']='フィルタ'; $lang['title_notification_settings']='通知設定'; $lang['type']='タイプ'; $lang['unknown']='知らない。'; $lang['unlimited']='上限値なし'; $lang['up']='上'; $lang['uploadscategory']='カテゴリのアップロード'; $lang['useexpiration']='期限切れ日付を使用'; ?> Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Wether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Wether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Baigėsi'; $lang['expiry']='Galiojimas'; $lang['expiry_date_asc']='Pasibaigimo datą didėjančiai'; $lang['expiry_date_desc']='Pasibaigimo datą mažėjančiai'; $lang['expiry_interval']='Dienų skaičius (įprastai) po kurio baigs galioti straipsnis (jei pasirinkta)'; $lang['extra']='Papildomas'; $lang['fesubmit_redirect']='ID ar puslapio trumpinys kur bus nukreiptas po naujienos pateikimo naudojant fesubmint veiksmą'; $lang['fesubmit_status']='Straipsnių būsena kurie pateikti "priekinių" narių'; $lang['fielddef']='Laukelio Tikslas'; $lang['fielddefadded']='Sėkmingai pridėtas laukelio tikslas'; $lang['fielddefdeleted']='Laukelio tikslas ištrintas'; $lang['fielddefupdated']='Laukelio tikslas atnaujintas'; $lang['file']='Byla'; $lang['filter']='Filtruoti'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='El. pašto adresas kuri gaus įspėjimus apie naujus pateikimus'; $lang['formtemplate']='Formos Šablonas'; $lang['help']='

    Ką jis daro?

    Naujienų modulis rodo naujienas jūsų puslapyje, panašiu kaip 'blog' stiliumi, tik su daugiau galimybių. Kai meniu modulis įdiegtas, Naujienų administravimo puslapis yra įdedamas į meniu apačią, kuris jums leis parinkti ar pridėti naujienų kategoriją.

    Saugumas

    Vartotojas turi priklausyti grupei su prieiga 'Redaguoti Naujienas' ('Modify News'), tam kad galėtu pridėti, redaguoti ar trinti naujienų įrašus.

    Kaip jį naudoti?

    Lengviausias būdas naudojant cms_module žymę. Bus įterptas modulis į jūsų šabloną ar puslapį ir rodys naujienų įrašus. Kodas turėtų būti panašus kaip: {cms_module module="news" number="5" category="beer"}

    Kokie parametrai egzistuoja?

    • (optional) number="5" - Maksimalus rodomų įrašų skaičius =- palikus tuščią, bus rodomi visi įrašai
    • (optional) makerssbutton="true" - Sukuriamas naujienų įrašų RSSui mygtukas.
    • (optional) category="category" - Rodyti tik tos kategorijos įrašus ir jos vaikus. Palikus tuščią, rodomos visos kategorijos.
    • (optional) moretext="more..." - Tekstas, kuris rodomas kai naujiena viršiją santrauką. Nustatytas "more...".
    • (optional} summarytemplate="sometemplate.tpl" - Naudokite atskirą šabloną rodyti naujienų santrauką. Jį reikia sukurti modules/News/templates.
    • (optional} detailtemplate="sometemplate.tpl" - Naudokite atskirą šabloną rodyti visas naujienas. Jį reikia sukurti modules/News/templates.
    • (optional) sortby="news_date" - Rūšiavimo laukas. Pasirinkimai: "news_date", "summary", "news_data", "news_category", "news_title". Nustatyta: "news_date".
    • (optional) sortasc="true" - Rūšiuoti naujienas didėjančia tvarka.

    '; $lang['help_pagelimit']='Maksimalus rodomų elementų kiekis puslapyje. Jei šis parametras nenustatytas visi elementai bus rodomi. Jei nustatyta ir elementų yra daugiau tekstas ir nuorodos bus pateiktos taip, kad būtų įmanoma juos peržvelgi'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat']='Rodyti naršoma kategorijų sąrašą.'; $lang['helpcategory']='Rodo straipsnius tik iš nurodytos kategorijos. Naudoti * po kategorijos jei rodyti subkategorijas. Daugiau kategorijų galima rodyti jei pavadinimai atskirti kableliais. Palikite tuščia rodysite visas kategorijas. Šis parametras taip pat veikia su priešakiniu pateikimo forma. bet palaiko tik vieną kategoriją.'; $lang['helpdetailtemplate']='Use a separate template for displaying the article detail. It have to live in modules/News/templates.'; $lang['helpmoretext']='Tekstas rodomas santraukos pabaigoje, nuoroda į straipsnio turinį. Įprastai "more..."'; $lang['helpnumber']='Maximalus rodomų elementų skaičius =- palikite tuščia, rodys visus.'; $lang['helpshowarchive']='Rodyti tik pasibaigusio galiojimo naujienų straipsnius.'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title". Defaults to "news_date".'; $lang['helpstart']='Pradėti nth elementu -- palikite tuščia, pradės nuo pirmos.'; $lang['hide_summary_field']='Paslėpti santraukos lauką kai pridedamas ar redaguojamas straipsnis'; $lang['info_maxlength']='Maksimalus ilgis taikomas tik teksto įvesties laukeliuose'; $lang['info_sysdefault']='(turinys naudojamas kai kuriamas naujas šablonas)'; $lang['info_sysdefault2']='Dėmesio: Šioje kortelėje esančios teksto sritys kuriose yra šablonai kurie rodomi kai paspaudžiamas 'kurti naują' santraukos, detalus, formos šablonus. Turinio pakeitimas šioje kortelėje neturės jokios įtakos esamiems šablonams '; $lang['lastpage']='>>'; $lang['maxlength']='Maksimalus ilgis'; $lang['more']='Daugiau'; $lang['moretext']='Daugiau teksto'; $lang['msg_contenttype_removed']='Naujienų turinio tipas buvo pašalintas. Prašome naudoti {news} žymę su atitinkamais parametrais puslapio šablome arba puslapio turinyje.'; $lang['name']='Vardas'; $lang['nameexists']='Laukelis tokiu pavadinimų jau yra'; $lang['needpermission']='Jums reikia prieigos '%s' tam, kad atlikti šią funkciją.'; $lang['newcategory']='Nauja Kategorija'; $lang['news']='Naujienos'; $lang['news_return']='grįžti'; $lang['nextpage']='>'; $lang['nocategorygiven']='Neužpildyta Kategorija'; $lang['nocontentgiven']='Neužpildytas Turinys'; $lang['noitemsfound']='Nerasta įrašų šioje kategorijoje: %s'; $lang['nonamegiven']='Neužpildytas vardas'; $lang['none']='Nei vienas'; $lang['nopostdategiven']='Neužpildyta įrašo pateikimo data'; $lang['notanumber']='Maksimalus ilgis nėra skaičius'; $lang['note']='Žyma: Datos turi būti 'yyyy-mm-dd hh:mm:ss' formato.'; $lang['notify_n_draft_items_sub']='Naujienų straipsnių: %d '; $lang['notitlegiven']='Neužpildytas Pavadinimas'; $lang['numbertodisplay']='Rodomas Skaičius (palikus tuščią, rodomi visi įrašai)'; $lang['options']='Nustatymai'; $lang['optionsupdated']='Nustaymai atnaujinti.'; $lang['post_date_asc']='Pagal įrašo datą didėjančiai'; $lang['post_date_desc']='Pagal įrašo datą mažėjančiai'; $lang['postdate']='Įrašo data'; $lang['postinstall']='Nustatykite "Redaguoti Naujienas (Modify News)" prieigą tiems vartotojams, kurie administruos naujienas.'; $lang['prevpage']='<'; $lang['print']='Spausdinti'; $lang['prompt_default']='Įprastas'; $lang['prompt_name']='Pavadinimas'; $lang['prompt_newtemplate']='Sukurti naują šabloną'; $lang['prompt_of']='iš'; $lang['prompt_page']='Puslapis'; $lang['prompt_pagelimit']='Puslapių limitas'; $lang['prompt_sorting']='Rūųšiuoti pagal'; $lang['prompt_template']='Šablono šaltinis'; $lang['prompt_templatename']='Šablono pavadinimas'; $lang['public']='Viešas'; $lang['published']='Paskelbtas'; $lang['reassign_category']='Pakeisti kategorija į'; $lang['removed']='Pašalinta'; $lang['resettodefault']='Nustatyti pradinius nustatymus'; $lang['restoretodefaultsmsg']='Šis veiksmas atstatys turinio šabloną į sistemos įprasta. Ar tikrai norite tęsti?'; $lang['revert']='Nustatyti į būsena 'Juodraštis''; $lang['select']='Pasirinkt'; $lang['selectcategory']='Pasirinkite Kategoriją'; $lang['showchildcategories']='Rodyti subkategorijas'; $lang['sortascending']='Rūšiuoti Didėjančiai'; $lang['startdate']='Pradžios Data'; $lang['startdatetoolate']='Pradžios data per vėlai (po pabaigos data?)'; $lang['startoffset']='Pradėti rodyti nth elemtą'; $lang['startrequiresend']='Įvedant pradžios datą, reikia įvesti ir pabaigos datą'; $lang['status']='Būklė'; $lang['subject_newnews']='Naujas Naujienų straipsnis'; $lang['submit']='Pateikti'; $lang['summary']='Santrauka'; $lang['summarytemplate']='Santraukos Šablonas'; $lang['summarytemplateupdated']='Naujienų santraukos šablonas atnaujintas sėkmingai.'; $lang['sysdefaults']='Atstayti įprastus nustatymus'; $lang['template']='Šablonas'; $lang['textarea']='Teksto sritis'; $lang['textbox']='Teksto įvestis'; $lang['title']='Pavadinimas'; $lang['title_asc']='Pavadinimą didėjančiai'; $lang['title_available_templates']='Galimi šablonai'; $lang['title_browsecat_sysdefault']='Įprastas kategorijų naršymo šablonas'; $lang['title_browsecat_template']='Kategorijų naršymo šablonų redaktorius'; $lang['title_desc']='Pavadinimą mažėjančiai'; $lang['title_detail_sysdefault']='Įprastas detalus šablonas'; $lang['title_detail_template']='Detalaus šablono redaktorius'; $lang['title_filter']='Filtrai'; $lang['title_form_sysdefault']='Įprastas formos šablonas '; $lang['title_form_template']='Formos šablono redaktorius'; $lang['title_summary_sysdefault']='Įprastas santraukos šablonas'; $lang['title_summary_template']='Santraukos šablono redaktorius'; $lang['type']='Tipas'; $lang['unknown']='Nežinomas'; $lang['unlimited']='Neribojama'; $lang['up']='Viršun'; $lang['uploadscategory']='Atsiuntimo kategorija'; $lang['useexpiration']='Naudoti galiojimo datą'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired_searchable']='Хугацаа нь дууссан нийтлэлүүд хайлтын үр дүнгээр илэрч болно'; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end.
    • "browsecat" - to display a browseable category list.
    '; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['lastpage']='>>'; $lang['nextpage']='>'; $lang['none']='Хоосон'; $lang['post_date_asc']='Нийтлэгдсэн өдөр өсөхөөр'; $lang['post_date_desc']='Нийтлэгдсэн өдөр буурахаар'; $lang['prevpage']='<'; $lang['unlimited']='Хязгааргүй'; ?>(mulig den allerede er benyttet, eller at det er ugyldige bokstaver)'; $lang['error_mkdir'] = 'Kunne ikke opprette katalog: %s'; $lang['error_movefile'] = 'Kunne ikke opprette fil: %s'; $lang['error_noarticlesselected'] = 'Ingen artikler ble valgt'; $lang['error_nooptions'] = 'Ingen alternativer er spesifisert for feltdefinisjon'; $lang['error_templatenamexists'] = 'En mal med det navnet eksisterer allerede'; $lang['error_upload'] = 'Et problem oppstod under opplasting av fil'; $lang['eventdesc-NewsArticleAdded'] = 'Sendt når en artikkel er lagt til.'; $lang['eventhelp-NewsArticleAdded'] = '

    Sendt når en artikkel er lagt til.

    Parametere

    • "news_id" - Id for nyhetsartikkelen
    • "category_id" - Id for kategorien for denne artikkelen
    • "title" - Artikkeltittel
    • "content" - Artikkel innhold
    • "summary" - Artikkel sammendrag
    • "status" - Artikkel status ("draft" eller "publish")
    • "start_time" - Dato artikkelen skal begynne å vises
    • "end_time" - Dato artikkelen ikke skal vises lengre
    • "useexp" - Om utløpsdatoen skal ignoreres eller ikke
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Sendt når en artikkel er slettet.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sendt når en artikkel er slettet.

    Parametere

    • "news_id" - Id for nyhetsartikkelen
    '; $lang['eventdesc-NewsArticleEdited'] = 'Sendt når en artikkel er redigert.'; $lang['eventhelp-NewsArticleEdited'] = '

    Sendt når en artikkel er redigert.

    Parametere

    • "news_id" - Id for nyhetsartikkelen
    • "category_id" - Id for kategorien for denne artikkelen
    • "title" - Artikkeltittel
    • "content" - Artikkel innhold
    • "summary" - Artikkel sammendrag
    • "status" - Artikkel status ("draft" eller "publish")
    • "start_time" - Dato artikkelen skal begynne å vises
    • "end_time" - Dato artikkelen ikke skal vises lengre
    • "useexp" - Om utløpsdatoen skal ignoreres eller ikke

    Merk: Ikke alle parametere vill være tilgjengelige når denne handlingen blir sendt.

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Sendt når en kategori er lagt til.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Parametere

    • "category_id" - Id for nyhetskategorien
    • "name" - Navn på nyhetskategorien
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Sendt når en kategori er slettet.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    parametere

    • "category_id" - Id for den slettede kategorien
    • "name" - Navn på den slettede kategorien
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Sendt når en kategori er redigert.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Parametere

    • "category_id" - Id for nyhetskategorien
    • "name" - Navn på nyhetskategorien
    • "origname" - Det originale navnet på nyhetskategorien
    '; $lang['expired'] = 'Utløpt'; $lang['expired_searchable'] = 'Tillat at utløpte artikler vises i søkeresultat'; $lang['expired_viewable'] = 'Tillat at utgåtte artikler vises i detaljmodus'; $lang['expiry'] = 'Utløper'; $lang['expiry_date_asc'] = 'Utløper dato stigende'; $lang['expiry_date_desc'] = 'Utløper dato synkende'; $lang['expiry_interval'] = 'Antall dager (standard) før en artikkel skal utløpe (om utløp er valgt)'; $lang['extra'] = 'Ekstra'; $lang['extra_label'] = 'Ekstra:'; $lang['fesubmit_redirect'] = 'PageID eller alias som man omdirigeres til etter at en nyhetsartikkel har blitt opprettet via fesubmit handlingen'; $lang['fesubmit_status'] = 'Status for nyhetensartiklene som er innsendt via frontenden'; $lang['fielddef'] = 'Felt Definisjon'; $lang['fielddefadded'] = 'Feltdefinisjon lagt til'; $lang['fielddefdeleted'] = 'Feltdefinisjon slettet'; $lang['fielddefupdated'] = 'Feltet Definisjon Oppdatert'; $lang['file'] = 'Fil'; $lang['filter'] = 'Filtrer'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Epostadresse å motta meldinger om nyhetposteringer'; $lang['formtemplate'] = 'Skjemamaler'; $lang['help'] = '

    Viktige merknader

    Versjon 2.9 av News og høyere har fjernet formatpostdate medlemmet fra malene og har også fjernet dateformat parameteren. Du bør benytte cms_date_format (slik det er vist i standard malene) for å formatere datoer. Og du bør benytte entry->postdate i stedet for entry->formatpostdate i dine maler.
    Tips: For å få korrekt norsk æ og ø på ukedag så kan det hende du også må tilføye |htmlentities bak cms_date_format som dette: {$entry->postdate|cms_date_format:"%A %e. %B %Y"|htmlentities}

    Hva gjør denne modulen?

    News er en modul for visning av nyhetsartikler på din side. Den ligner en blogg, men har flere muligheter!. Når modulen er installert, blir det lagt til en administrasjonsside for Nyheter i administrasjonsmenyen, som vil tillate deg å velge og legge til nyhetskategori. Når en nyhetskategori er opprettet eller valgt, vil det vises en liste med nyhetsartikler for den kategorien. Herfra kan du legge til, redigere eller slette nyheter for kategorien.

    Mange visningsmåter

    Parameterne som er støttet av nyhets modulen, og støtte for mange maler på en gang vil si at dine muligheter for å vise nyhetsartikler er ubegrenset.

    Egendefinerte felter

    Nyhetsmodulen tillater definering av mange egendefinerte felter (inkludert filer og bilder) som vil tillate deg å koble pdf filer eller flere bilder til dine artikler.

    Kategorier

    Nyheter støtter en hierarkisk kategori mekanisme for å organisere dine artikler. En nyhetsartikkel kan kun tilhøre en posisjon i hierarkiet.

    Utløpsdato og Status

    Hver nyhetsartikkel kan ha en utløpsdato(valgfritt) og når denne utløper vil artikkelen ikke vises på din nettside. I tillegg kan artikler også merkes som kladd for å sette dem til å ikke vises på din nettside.

    Sikkerhet

    Brukeren må tilhøre en gruppe med \'Modify News\' tillatelse for å kunne legge til, redigere eller slette nyhetsartikler.

    Og for å slette nyhetsartikler må brukeren tilhøre en gruppe men \'Delete News Articles\' tillatelse.

    For å endre layout malene, må brukeren tilhøre en gruppe med \'Modify Templates\' tillatelse.

    For å redigere globale nyhets preferanser, må brukeren tilhøre en gruppe med \'Modify Site Preferences\' tillatelse.

    Og for å godkjenne nyheter for forsidevisning må brukeren i tillegg tilhøre en gruppe med \'Approve News\' tillatelse.

    Hvordan bruker jeg modulen?

    Den enkleste måten å bruke den er med en {news} omslagstagg (lukker inn modulen i en tagg, for å forenkle syntaksen). Dette vil sette inn modulen i din mal eller side hvor du måtte ønske, og vise nyhetsartikler. Koden vil se ut noe slikt som: {news number=\'5\'}

    Maler

    Fra og med versjon 2.3 støtter News flere database maler, og støtter ikke lenger filmaler. Brukere som brukte det gamle filmal systemet kan følge disse trinnene (for hver filmal):

    • Kopier filmalen til utklippstavla
    • Opprett en ny databasemal (enten sammendrag eller detalj). Gi den nye malen samme navn (inkludert .tpl endelse) som den gamle filmalen, og lim inn innholdet.
    • Trykk Oppdater

    Dersom du følger disse trinnene skulle det løse problemet med at dine nyhetsmaler ikke blir funnet og tilsvarende smarty feil, når du oppgraderer til en versjon av CMS som har News 2.3 eller høyere.

    '; $lang['helpaction'] = 'Overstyrer standard handlingen. Mulige verdier er:
    • "detail" - for å vise en spesifisert articleid i detaljvisningsmodus.
    • "default" - for å vise sammendragsvisningen
    • "fesubmit" - for å vise et forside skjema for å tillate brukere å bidra med nyhetsartikler fra nettsiden. Legg til {cms_init_editor} taggen i metadataseksjonen for å initialisere den valgte wysiwyg-redigereren. (Nettstedsadmin > > Globale innstillinger)
    • "browsecat" - for å vise en søkbar kategoriliste.
    '; $lang['helpbrowsecat'] = 'Viser en søkbar kategoriliste'; $lang['helpbrowsecattemplate'] = 'Benytt en database-mal for å vise kategorisøket. Denne malen må eksistere og må være synlig i Søk-Kategori malfanen i Nyhetsadministrasjonen, men den trenger ikke å være satt som standard. Om denne parameter ikke er satt, vil gjeldende standardmal benyttes.'; $lang['helpcategory'] = 'Benyttet i sammendragsvisning for kun å vise elementer fra den spesifiserte kategorien. Bruk * etter navnet for å vise underelementer. Flere kategorier kan bli brukt dersom disse er separert med komma. Om ingen verdi oppgis vil det resultere i at alle kategorier vises. Denne parameter virker også på frontend submit handlingen, men støtter kun et kategori navn.'; $lang['helpdetailpage'] = 'Side hvor nyhetsdetaljer skal vises. Dette kan enten være et sidealias eller en id. Benyttes for å tillate visning av detaljer i en annen mal enn sammendragsmalen.'; $lang['helpdetailtemplate'] = 'Bruk en separat database mal for visning av artikkel detaljene. Denne malen må eksistere og må være synlig Design Behandleren, men trenger ikke være standard. Om denne parameter ikke er satt, vil gjeldende standardmal benyttes. Denne parameteren benyttes ikke ved generering av url om tilpassede url er spesifisert.'; $lang['helpformtemplate'] = 'Bruk en database mal for å vise artikkel innsending skjemaet. Denne malen må eksistere og må være synlig i Design Behandleren, men den trenger ikke å være standard. Om denne parameter ikke er satt, vil gjeldende standardmal benyttes.'; $lang['helpmoretext'] = 'Tekst som skal vises på slutten av nyhetssaken dersom innlegget er lengre enn sammendrags lengden. Standard verdi er "Mer"'; $lang['helpnumber'] = 'Maksimalt antall elementer som skal vises (per side) (ingen verdi vil medføre at alle elementer vises). Denne er synonym for pagelimit parameteren.'; $lang['helpshowall'] = 'Vis alle artikler, uten å ta hensyn til utløpsdato'; $lang['helpshowarchive'] = 'Vis bare utdaterte nyhetsartikler.'; $lang['helpsortasc'] = 'Sorter nyhetselementer i stigende rekkefølge i stedet for synkende.'; $lang['helpsortby'] = 'Felt å sortere etter. Alternativene er \'news_date\', \'summary\', \'news_data\', \'news_category\', \'news_title\', \'news_extra\', \'end_time\', \'start_time\', \'random\'. Standardsetting er \'news_date\'. Om tilfeldig(random) er valgt vil sortasc parameteren bli ignorert.'; $lang['helpstart'] = 'Start med artikkel n-- dersom ingen parameter er gitt vil visningen starte fra første artikkel.'; $lang['helpsummarytemplate'] = 'Bruk en separat mal for å vise artikkelsammendrag. Denne malen må eksistere og må være synlig i Sammendrag malfanen i Nyheter administrasjonen, men den trenger ikke å være standard. Om denne parameter ikke er satt, vil gjeldende standardmal benyttes.'; $lang['help_articleid'] = 'Denne parameter er kun gyldig i detaljvisning. Den tillater å spesifisere hvilken nyhetsartikkel som skal vises i detaljmodus. Om den spesielle verdien -1 er benyttet vil systemet vise den nyeste, publiserte, ikke utløpte artikkelen.'; $lang['help_article_title'] = 'Skriv inn artikkel tittelen her. Den bør være kort, og skal ikke inneholde noen html tagger.'; $lang['help_article_category'] = 'For å organisere bedre, så kan du velge en kategori'; $lang['help_article_content'] = 'Skriv inn artikkelens hovedinnhold her'; $lang['help_article_enddate'] = 'Om Bruk utløper er aktivert, vil denne dato spesifisere når artikkelen vil sjules fra visning'; $lang['help_article_extra'] = 'Dette er ekstra data som skal knyttes til nyhetsartikkel. Det kan brukes for sorterings rekkefølge eller for andre designer beregnede oppførsler. Du bør konsultere nettstedsutvikleren om hvordan dette feltet brukes (hvis i det hele tatt)'; $lang['help_article_searchable'] = 'Dette feltet indikerer om denne artikkelen skal indekseres av søkemodulen'; $lang['help_article_postdate'] = 'Postdate (vanligvis dagens dato, for nye artikler) er datoen som vil bli brukt som publiseringsdato for artikkelen. Det er også brukt i sortering'; $lang['help_article_summary'] = 'Skriv et kort avsnitt for å beskrive artikkelen. Dette sammendraget kan benyttes når det skal vises flere artikler'; $lang['help_article_startdate'] = 'Når Bruk utløper er aktivert, angir denne datoen fra hvilken dato artikkelen vil være synlig på nettsiden'; $lang['help_article_status'] = 'Hvis du vil at artikkelen skal være umiddelbart synlig for andre så velg status publisert. Hvis du ønsker å fortsette å arbeide på denne artikkelen en stund, så velger du utkast.'; $lang['help_article_url'] = 'Den valgfrie artikkel url (noen andre plattformer kaller dette en slug) er en unik url suffiks for å få tilgang til denne artikkelen. Brukere kan navigere til / for å se denne artikkelen.'; $lang['help_article_useexpiry'] = 'Denne avkrysningsboksen veksler utløpsdato atferden. Utløpsdato atferd tilsier når en artikkel blir synlig på nettsiden, og når det i ettertid blir usynlig.'; $lang['help_articles_filtercategory'] = 'Alternativt filtrere listen over viste artikler i denne listen etter de som tilhører den valgte kategori'; $lang['help_articles_filterchildcats'] = 'Hvis aktivert, vil artiklene i valgt kategori, og deres underkategorier vises.'; $lang['help_articles_pagelimit'] = 'Velg antall artikler som skal vises på én side. For nettsteder med et stort antall artikler vil å angir en sidegrense mellom 10 og 100 betydelig forbedre ytelsen'; $lang['help_articles_sortby'] = 'Velg hvordan artikler i utagangspunktet skal sorteres.'; $lang['help_category_name'] = 'Skriv inn et navn for denne kategorien. Navnet bør være trygge for bruk i nettadresser, og ingen spesialtegn.'; $lang['help_category_parent'] = 'Eventuelt angi en overordnet kategori for å bygge et hierarki av kategorier.'; $lang['help_fesubmit_redirect'] = 'Side-ID eller alias for å omdirigere til etter en vellykket frontend innsending'; $lang['help_fielddef_maxlen'] = 'For tekstfelt kan du spesifisere den maksimale lengden på brukerens input (i antall tegn)'; $lang['help_fielddef_name'] = 'Hver feltdefinisjon må ha et navn. Selv om det ikke er strengt nødvendig, bør feltnavnet bare inneholde alfanumeriske tegn og understrek. Avstå fra å bruke mellomrom i feltnavnet.'; $lang['help_fielddef_options'] = 'Her kan du angi gyldige alternativer for nedtrekksfelt.'; $lang['help_fielddef_public'] = 'Angi om feltdefinisjon er offentlig eller ikke. Offentlig feltdefinisjoner er synlig i frontend visning, og kan legges inn av fesubmit handlingen. Egendefinerte felt som ikke er offentlig kan bare redigeres i Admin grensesnittet av autoriserte administratorer.'; $lang['help_fielddef_type'] = 'Hvert brukerdefinerte felt kan være av en annen type for ulike formål. Velg en felttype som passer best til formålet av feltet.'; $lang['help_idlist'] = 'Gjelder bare for standardhandlingen (sammendrags visning). Denne parameteren godtar en kommaseparert liste med numeriske artikkel-ID og tillater ytterligere filtrering av artikler til bare de med artikkel-ID spesifisert. Den faktiske listen over artikler vist er fortsatt gjenstand for artikkel status, utløpsdato og andre parametere.'; $lang['help_opt_alert_drafts'] = 'Hvis aktivert, vil du motta meldinger (varsler) som indikerer at en eller flere nyhetsartikler må gjennomgås og publiseres.'; $lang['help_opt_allowed_upload_types'] = 'For egendefinerte felt av typen "fil" Denne innstillingen indikerer en kommaseparert liste over filtyper som er gyldige for artikkelredigereren å laste opp.'; $lang['help_opt_dflt_category'] = 'Dette alternativet kan spesifisere standardkategori for nye nyhetsartikler.'; $lang['help_opt_hide_summary'] = 'Dette alternativet tillater å deaktivere sammendragsfeltet når man legger til og/eller redigerer en nyhetsartikkel inkludert med fesubmit handlingen)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Dette feltet indikerer om en WYSIWYG editor bør være aktivert for sammendragsfeltet når du redigerer en artikkel. I mange tilfeller er sammendragsfeltet et enkelt tekstfelt, men dette er valgfritt.
    Denne innstillingen blir ignorert dersom sammendragsfeltet er deaktivert helt (se ovenfor)'; $lang['help_opt_expiry_interval'] = 'Angi standard antall dager (minimum 1) som artikler utløper når Artikkel utløp er aktivert. Utløpsdatoen kan justeres når du legger til eller redigerer en nyhetsartikkel'; $lang['help_pagelimit'] = 'Maksimalt antall artikler å vise (pr side). Om denne parameter ikke settes vil alle passende artikler vises. Om satt, og det er fler artikler tilgjengelig enn spesifisert i parameteren, vil tekst og lenker vises for å tillate å rulle gjennom resultatene'; $lang['hide_summary_field'] = 'Skjul sammendragsfeltet under opprettelse eller redigering av artikler'; $lang['info_allow_fesubmit'] = 'Dette valget styrer om fesubmit handlingen vil få lov til å fungere i det hele tatt for dette nettstedet. Vær forsiktig når du aktiverer dette.'; $lang['info_categories'] = 'For organisasjons formål kan nyhetsartikler organiseres i hierarkiske kategorier'; $lang['info_detail_returnid'] = 'Denne innstillingen brukes til å fastslå en side (og derfor en mal) å bruke til å vise detaljsider. Individuelle Nyhetsdetalj nettadresser vil ikke fungere hvis denne parameteren ikke er satt til en gyldig side. I tillegg, hvis denne innstillingen er satt, og ingen detaljside-parameter er gitt på nyhetstaggen, så vil denne verdien bli brukt for detaljlenker'; $lang['info_expired_searchable'] = 'Hvis aktivert, kan utløpte artikler fortsette å bli indeksert av søkemodulen, og vises i søkeresultatene'; $lang['info_expired_viewable'] = 'Hvis aktivert, kan utgåtte artikler vises i detalj modus (dette er tilsvarende det fungerte før). Showall parameteren kan brukes på URLen (når du ikke bruker vakre urler) til også å indikere at utgåtte artikler kan sees'; $lang['info_fesubmit_notification'] = 'Du kan eventuelt sende en e-post til en enkelt e-postadresse når en ny artikkel er sendt inn via fesubmit handlingen.'; $lang['info_maxlength'] = 'Maksimum lengde påvirker kun tekst innskrivingsfelter.'; $lang['info_public'] = 'Offentlige felter er tilgjengelige for frontend redigering, eller for visning i sammendrags- eller detaljvisninger.'; $lang['info_reorder_categories'] = 'Dra og slipp hvert element i riktig rekkefølge for å endre kategori relasjoner'; $lang['info_searchable'] = 'Dette feltet indikerer om denne artikkelen skal indekseres av søkemodulen'; $lang['info_sysdefault'] = '(malen som er benyttet som standard når en ny mal velges)'; $lang['info_sysdefault2'] = 'Merk: Denne fanen inneholder tekstområder som tillater deg å redigere de malene som vises når du oppretter et \'nytt\' sammendrag, detalj, eller skjema mal. Å endre innhold i denne fanen og klikke \'utfør\' vil ikke ha effekt på nåværende visninger.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Søk i nyhetsartikler'; $lang['linkedfile'] = 'Lenket fil'; $lang['maxlength'] = 'Maksimal lengde'; $lang['msg_cancelled'] = 'Handling avbrutt'; $lang['msg_categoriesreordered'] = 'Kategorirekkefølge oppdatert'; $lang['msg_contenttype_removed'] = 'Nyhet-innholdtypen har blitt fjernet. Vennligst plasser {news} tagger med passende parametere i din mal eller inne i sideinnholdet for å gjenskape denne funksjonaliteten.'; $lang['msg_success'] = 'Handling fullført'; $lang['more'] = 'Mer'; $lang['moretext'] = 'Mer Tekst'; $lang['name'] = 'Navn'; $lang['nameexists'] = 'Et felt med det navnet eksisterer allerede'; $lang['needpermission'] = 'Du trenger \'%s\' rettighet for å utføre denne handlingen.'; $lang['newcategory'] = 'Ny kategori'; $lang['news'] = 'Nyheter'; $lang['news_return'] = 'Tilbake'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Det er for øyeblikket ikke opprettet noen nyhetsartikler'; $lang['noarticlesinfilter'] = 'Det er ingen nyhetsartikler å vise med dette filteret'; $lang['nocategorygiven'] = 'Ingen kategori satt'; $lang['nocontentgiven'] = 'Innhold mangler'; $lang['noitemsfound'] = 'Ingen artikler funnet i denne kategorien: %s'; $lang['nonamegiven'] = 'Ingen navn oppgitt'; $lang['none'] = 'Ingen'; $lang['nopostdategiven'] = 'Publiseringsdato mangler'; $lang['notanumber'] = 'Maksimum lengde er ikke et tall'; $lang['note'] = 'Merk: Dato må være i et \'yyyy-mm-dd hh:mm:ss\' format.'; $lang['notify_n_draft_items'] = 'Du har %s som ikke er publiserte'; $lang['notify_n_draft_items_sub'] = '%d nyhetsartikler'; $lang['notitlegiven'] = 'Tittel mangler'; $lang['numbertodisplay'] = 'Antall som skal vises (ingen verdi - viser alle)'; $lang['options'] = 'Alternativer'; $lang['optionsupdated'] = 'Valgene ble oppdaterte'; $lang['parent'] = 'Foreldre'; $lang['postdate'] = 'Publiseringsdato'; $lang['postinstall'] = 'Husk å tildele rettigheter for "Modify News" for brukere som skal administrere nyhetsartikler.'; $lang['post_date_asc'] = 'Publiseringsdato stigende'; $lang['post_date_desc'] = 'Publiseringsdato synkende'; $lang['preview'] = 'Forhåndsvisning'; $lang['prevpage'] = '<'; $lang['print'] = 'Skriv ut'; $lang['prompt_alert_drafts'] = 'Varsle om Ikke godkjente artikler'; $lang['prompt_allow_fesubmit'] = 'Tillat nyhetsartikler å blir lagt til via frontend'; $lang['prompt_default'] = 'Standard'; $lang['prompt_go'] = 'Utfør'; $lang['prompt_name'] = 'Navn'; $lang['prompt_newtemplate'] = 'Opprett ny mal'; $lang['prompt_of'] = 'av'; $lang['prompt_page'] = 'Side'; $lang['prompt_pagelimit'] = 'Sidegrense'; $lang['prompt_redirecttocontent'] = 'Gå tilbake til side'; $lang['prompt_sorting'] = 'Sorter etter'; $lang['prompt_template'] = 'Mal kildekode'; $lang['prompt_templatename'] = 'Malnavn'; $lang['public'] = 'Offentlig'; $lang['published'] = 'Publisert'; $lang['reassign_category'] = 'Endre Kategori til'; $lang['removed'] = 'Fjernet'; $lang['reorder'] = 'Omsorter'; $lang['reorder_categories'] = 'Omsorter Kategorier'; $lang['reset'] = 'Nullstill'; $lang['resettodefault'] = 'Sett tilbake til Standard fabrikkinnstilling'; $lang['restoretodefaultsmsg'] = 'Denne kommandoen vil tilbakestille mal-innholdet til deres system standard. Ønsker du virkelig å fortsette?'; $lang['revert'] = 'Sett status til \'kladd\''; $lang['searchable'] = 'Søkbar'; $lang['select'] = 'Velg'; $lang['select_option'] = 'Velg alternativ'; $lang['selectall'] = 'Velg alle'; $lang['selectcategory'] = 'Velg kategori'; $lang['showchildcategories'] = 'Vis underkategorier'; $lang['sortascending'] = 'Sorter stigende'; $lang['startdate'] = 'Startdato'; $lang['startdatetoolate'] = 'Startdato er for sen (etter sluttdato?)'; $lang['startoffset'] = 'Start visning på nde artikkel'; $lang['startrequiresend'] = 'Dersom du har en startdato må du også ha en sluttdato'; $lang['status'] = 'Status'; $lang['status_asc'] = 'Status Stigende'; $lang['status_desc'] = 'Status synkende'; $lang['subject_newnews'] = 'En nyhetsartikkel har blitt postet'; $lang['submit'] = 'Oppdater'; $lang['summary'] = 'Sammendrag'; $lang['summarytemplate'] = 'Sammendragsmal'; $lang['summarytemplateupdated'] = 'Nyhet sammendragsmalen ble oppdatert.'; $lang['sysdefaults'] = 'Tilbakestill til standard'; $lang['template'] = 'Mal'; $lang['textarea'] = 'Tekstområde'; $lang['textbox'] = 'Tekst innskriving'; $lang['title'] = 'Tittel'; $lang['title_asc'] = 'Tittel stigende'; $lang['title_available_templates'] = 'Tilgjengelige maler'; $lang['title_browsecat_sysdefault'] = 'Standard Søk-Kategorimal'; $lang['title_browsecat_template'] = 'Søk-Kategorimal redigerer'; $lang['title_desc'] = 'Tittel synkende'; $lang['title_detail_returnid'] = 'Standardside å benytte for detaljvisninger'; $lang['title_detail_settings'] = 'Detaljvisnings innstillinger'; $lang['title_detail_sysdefault'] = 'Standard Detaljmal'; $lang['title_detail_template'] = 'Detaljmal redigerer'; $lang['title_draft_entries'] = 'Ikke godkjente nyhetsartikler'; $lang['title_fesubmit_form'] = 'Send inn nyhetsartikkel'; $lang['title_fesubmit_settings'] = 'Frontend-innsendings innstillinger'; $lang['title_filter'] = 'Filtre'; $lang['title_form_sysdefault'] = 'Standard Skjemamal'; $lang['title_form_template'] = 'Skjema Mal Redigerer'; $lang['title_news_settings'] = 'Innstillinger - Nyhetsmodul'; $lang['title_notification_settings'] = 'Varslingsinnstillinger'; $lang['title_submission_settings'] = 'Nyhetsinnleverings innstillinger'; $lang['title_summary_sysdefault'] = 'Standard Sammendragsmal'; $lang['title_summary_template'] = 'Sammendragmal redigerer'; $lang['toggle_bulk'] = 'Velg denne artikkelen for massehandling'; $lang['type'] = 'Type'; $lang['type_browsecat'] = 'Se igjennom kategori'; $lang['type_form'] = 'Forntend skjema'; $lang['type_detail'] = 'Detaljer'; $lang['type_News'] = 'Nyhet'; $lang['type_summary'] = 'Sammendrag'; $lang['unknown'] = 'Ukjent'; $lang['unlimited'] = 'Ubegrenset'; $lang['up'] = 'Opp'; $lang['uploadscategory'] = 'Opplastings Kategori'; $lang['url'] = 'URL'; $lang['useexpiration'] = 'Bruk utløpsdato'; $lang['viewfilter'] = 'Vis filter'; $lang['warning_preview'] = 'Advarsel: Denne forhåndsvisnings panelet oppfører seg omtrent som et nettleservindu der du kan navigere bort fra den opprinnelig forhåndsvises siden. Men hvis du gjør det, kan det hende du opplever uventet oppførsel. Navigere bort fra den første siden og tilbake vil ikke gi de forventede resultatene
    Merknad: Forhåndsvisningen vil ikke laste opp filer du kanskje har valgt for opplasting.'; $lang['with_selected'] = 'Med valgte'; ?>(kan zijn dat deze al in gebruik is, of dat er verkeerde tekens in staan)'; $lang['error_mkdir'] = 'Kan map %s niet aanmaken'; $lang['error_movefile'] = 'Kan bestand %s niet aanmaken'; $lang['error_noarticlesselected'] = 'Er zijn geen berichten geselecteerd'; $lang['error_nooptions'] = 'Geen opties gespecificeerd voor dit veld'; $lang['error_templatenamexists'] = 'Een sjabloon met deze naam bestaat al'; $lang['error_upload'] = 'Probleem opgetreden tijdens uploaden bestand'; $lang['eventdesc-NewsArticleAdded'] = 'Een tag die wordt aangeroepen als een bericht is toegevoegd.'; $lang['eventhelp-NewsArticleAdded'] = '

    Parameters

    • \\"news_id\\" - Id van het bericht
    • \\"category_id\\" - Id van de categorie van dit bericht
    • \\"title\\" - Titel van het bericht
    • \\"content\\" - Inhoud van het bericht
    • \\"summary\\" - Samenvatting van het bericht
    • \\"status\\" - Status van het bericht ("draft" of "publish" d.w.z. concept of publiceren)
    • \\"start_time\\" - Datum vanaf dat het bericht zichtbaar moet zijn
    • \\"end_time\\" - Datum totdat het bericht zichtbaar moet zijn
    • \\"useexp\\" - Of de verloopdatum genegeerd moet worden of niet
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Een tag die wordt aangeroepen als een bericht is verwijderd.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Parameters

    • \\"news_id\\" - Id van het bericht
    '; $lang['eventdesc-NewsArticleEdited'] = 'Een tag die wordt aangeroepen als een bericht is bewerkt.'; $lang['eventhelp-NewsArticleEdited'] = '

    Parameters

    • \\"news_id\\" - Id van het bericht
    • \\"category_id\\" - Id van de categorie van dit bericht
    • \\"title\\" - Titel van het bericht
    • \\"content\\" - Inhoud van het bericht
    • \\"summary\\" - Samenvatting van het bericht
    • \\"status\\" - Status van het bericht ("draft" of "publish")
    • \\"start_time\\" - Datum vanaf dat het bericht zichtbaar moet zijn
    • \\"end_time\\" - Datum totdat het bericht zichtbaar moet zijn
    • \\"useexp\\" - Of de verloopdatum genegeerd moet worden of niet

    Note: Not all parameters may be present when this event is sent.

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Een tag die wordt aangeroepen als een categorie is toegevoegd.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Parameters

    • \\"category_id\\" - Id van de nieuwscategorie
    • \\"name\\" - Naam van de nieuwscategorie
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Een tag die wordt aangeroepen als een categorie is verwijderd.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Parameters

    • \\"category_id\\" - Id van het bericht
    • \\"name\\" - Naam van de verwijderde categorie
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Een tag die wordt aangeroepen als een categorie is bewerkt.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Parameters

    • \\"category_id\\" - Id van de nieuwscategorie
    • \\"name\\" - Naam van de nieuwscategorie
    • \\"origname\\" - De originele naam van de nieuwscategorie
    '; $lang['expired'] = 'Verlopen'; $lang['expired_searchable'] = 'Verlopen artikelen kunnen verschijnen in de zoekresultaten'; $lang['expired_viewable'] = 'Verlopen artikelen kunnen worden bekeken in de Detail modus'; $lang['expiry'] = 'Vervaldatum'; $lang['expiry_date_asc'] = 'Verloopdatum oplopend'; $lang['expiry_date_desc'] = 'Verloopdatum aflopend'; $lang['expiry_interval'] = 'Het aantal dagen (volgens standaard) voordat een bericht verloopt (als expiry geselecteerd is)'; $lang['extra'] = 'Extra'; $lang['extra_label'] = 'Extra:'; $lang['fesubmit_redirect'] = 'PageID of alias om naartoe te gaan, nadat een bericht is geplaatst via de fesubmit-actie'; $lang['fesubmit_status'] = 'De status van nieuwsberichten ingediend via de frontend'; $lang['fielddef'] = 'Velddefinitie'; $lang['fielddefadded'] = 'Velddefinitie toegevoegd'; $lang['fielddefdeleted'] = 'Velddefinitie verwijderd'; $lang['fielddefupdated'] = 'Velddefinitie bijgewerkt'; $lang['file'] = 'Bestand'; $lang['filter'] = 'Filter'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'E-mailadres om de bevestiging van ingezonden nieuws op te ontvangen'; $lang['formtemplate'] = 'Formuliersjablonen'; $lang['help'] = '

    Belangrijke opmerkingen

    In de versie 2.9 en hoger van de nieuws-module is de formatpostdate functie uit het sjabloon verwijderd, daarnaast wordt ook dateformat parameter niet meer gebruikt. U zal gebruik moeten maken van de cms_date_format functie (zoals nu wordt gebruikt in de standaard sjablonen) om de datumnotificaties te wijzigen, en plaats de entry->postdate in plaats van de entry->formatpostdate in uw sjabloon.

    Deze versie van News is nieuwer dan degene die met versie 1.1 van CMSMS werd meegeleverd. Als u deze versie van News gebruikt moet u zeer voorzichtig zijn met het upgraden van CMSMS om te voorkomen dat gegevens in de modules/News map worden overschreven.

    Wat doet het?

    News is een module om nieuws te tonen op uw pagina, vergelijkbaar met een blog, maar met meer mogelijkheden! Als de module geïnstalleerd is, wordt een News-beheerscherm aan het beheerpaneel toegevoegd waarmee u nieuwscategorieën kunt selecteren en aanmaken. Als een nieuwscategorie aangemaakt of geselecteerd is, worden een lijst met nieuwsberichten voor die categorie getoond. Vanuit deze lijst kunnen berichten worden gecreeerd, bewerkt of verwijderd.

    Sjabloonvariabelen

    • itemcount - Het aantal nieuwsberichten om te tonen.
    • entry->authorname - De volledige naam van de auteur, inclusief de voor- en achternaam.

    Beveiliging

    De gebruiker moet lid zijn van een groep met groepsrecht \'Modify News\' om berichten te mogen aanmaken, bewerken of verwijderen.

    Om een opmaaksjabloon te mogen bewerken moet de gebruiker lid zijn van een groep met \'Modify Templates\' rechten.

    Algemene News-voorkeuren kunnen alleen door gebruikers veranderd worden die onderdeel zijn van een groep met \'Modify Site Preferences\' rechten.

    Hoe gebruik ik het?

    De eenvoudigste manier om deze module te gebruiken is de {news} tag in uw sjabloon of pagina op te nemen op die plek waar de nieuwsberichten getoond moeten worden. De code zal er dan ongeveer als volgt uitzien: {news number=\'5\'}

    Sjablonen

    Vanaf versie 2.3 ondersteunt News meerdere database-sjablonen en is de ondersteuning van extra bestandssjablonen gestaakt. Gebruikers die de oude bestandssjablonen gebruikten, moeten voor ieder sjabloon de volgende stappen doorlopen:

    • Kopieer de bestandssjabloon naar het clipboard
    • Maak een nieuw database-sjabloon aan (een samenvattings- of berichtensjabloon). Geef het nieuwe sjabloon dezelfde naam (inclusief de .tpl extensie) als de oude bestandssjabloon en plak de inhoud van het clipboard erin.
    • Klik Versturen
    Het uitvoeren van bovenstaande stappen moet het probleem oplossen van verdwenen nieuwssjablonen en vergelijkbare smarty-fouten als u upgrade naar een versie van CMSMS die de News-module versie 2.3 of nieuwer heeft.

    '; $lang['helpaction'] = 'Negeer de standaardtaak. Mogelijke waarden zijn:
    • "detail" - toon van een specifiek artikel ID de detail weergave.
    • "default" - toon de samenvattingsweergave
    • "fesubmit" - toon het frontend formulier om (ingelogde) gebruikers de mogelijkheid te geven om nieuwsberichten aan te leveren. Voeg de {cms_init_editor} tag toe aan de metadata sectie om de geselecteerde WYSIWYG editor toe te passen. (Websitebeheer >> Algemene Instellingen)
    • "browsecat" - toon een overzichtslijst van categoriën.
    '; $lang['helpbrowsecat'] = 'Toon een doorbladerbare categorielijst.'; $lang['helpbrowsecattemplate'] = 'Gebruik een database-sjabloon om de categorie-browser te tonen. Dit sjabloon moet bestaan en zichtbaar zijn in het formuliersjablonentabblad van de News-beheerscherm. Het hoeft niet de standaard keuze te zijn. Als deze parameter niet opgegeven is, dan wordt het sjabloon gebruikt wat als standaard ingesteld is.'; $lang['helpcategory'] = 'Toon alleen items van die categorie. Gebruik * achter de naam om onderliggende items te tonen. Meerdere categorieën scheiden met een komma. Geen waarde laat alle categorieën zien. Deze parameter kan ook gebruikt worden bij een frontend actie, maar dan kan alleen één categorie naam worden gebruikt.'; $lang['helpdetailpage'] = 'Pagina om het nieuwsbericht in te tonen. Dit kan een paginaalias of -id zijn. Gebruikt om het volledige artikel in een ander sjabloon te tonen dan de samenvatting.'; $lang['helpdetailtemplate'] = 'Gebruik een ander database-sjabloon voor het tonen van het volledige bericht. Dit sjabloon moet bestaan en zichtbaar zijn in het artikelsjablonentabblad van de News-beheerscherm. Het hoeft niet de standaard keuze te zijn. Als deze parameter niet opgegeven is, dan wordt het sjabloon gebruikt wat als standaard ingesteld is.'; $lang['helpformtemplate'] = 'Gebruik een database-sjabloon om het artikelinzendingsformulier te tonen. Dit sjabloon moet bestaan en zichtbaar zijn in het formuliersjablonentabblad van de News-beheerscherm. Het hoeft niet de standaard keuze te zijn. Als deze parameter niet opgegeven is, dan wordt het sjabloon gebruikt wat als standaard ingesteld is.'; $lang['helpmoretext'] = 'Tekst die wordt getoond aan het eind van een nieuwsbericht als de samenvatting te lang is. Standaard "Meer"'; $lang['helpnumber'] = 'Maximum aantal te tonen items -- door dit leeg te laten worden alle items getoond. Het is een synoniem voor de pagina limiet parameter.'; $lang['helpshowall'] = 'Geef alle artikelen weer, ongeacht de einddatum'; $lang['helpshowarchive'] = 'Toon alleen verlopen artikelen.'; $lang['helpsortasc'] = 'Sorteer nieuwsberichten in oplopende volgorde in plaats van aflopend.'; $lang['helpsortby'] = 'Veld om op te sorteren. Mogelijkheden zijn: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Standaard is het "news_date". Als "random" is opgegeven, wordt de sortasc-parameter genegeerd.'; $lang['helpstart'] = 'Begin bij het zoveelste... item -- geen waarde ingevoerd start dan bij het eerste item.'; $lang['helpsummarytemplate'] = 'Gebruik een ander sjabloon voor het tonen van het samengevatte bericht. Dit sjabloon moet bestaan en zichtbaar zijn in het samenvattingssjabloon-tabblad van de News-beheerscherm. Het hoeft niet de standaard keuze te zijn. Als deze parameter niet opgegeven is, dan wordt het sjabloon gebruikt wat als standaard ingesteld is.'; $lang['help_articleid'] = 'Deze parameter is alleen van toepassing op het detail overzicht. Het specificeert welk nieuws artikel wordt getoond in het detail overzicht. Als de speciale waarde \'-1\' wordt gebruikt dan zal de module het nieuwste, gepubliceerde en niet verlopen artikel tonen'; $lang['help_article_title'] = 'Voer de titel van het bericht in. Het zou kort moeten zijn en mag geen html tags bevatten.'; $lang['help_article_category'] = 'U kunt een categorie selecteren voor organisatie-doeleinden'; $lang['help_article_content'] = 'Voer hier de hoofd-inhoud van het bericht in'; $lang['help_article_enddate'] = 'Als vervaldatum wordt gebruikt, geeft deze datum aan wanneer het bericht niet getoond wordt'; $lang['help_article_extra'] = 'Dit is extra data om te koppelen met het nieuwsbericht. Het zou gebruikt kunnen worden voor bijvoorbeeld sorteervolgorde of andere doeleinden. U zou uw websiteontwikkelaar moeten raadplegen hoe dit veld te gebruiken (indien uberhaupt van toepassing)'; $lang['help_article_searchable'] = 'Dit veld geeft aan of dit bericht geindexeerd zou moeten worden door de zoek-module'; $lang['help_article_postdate'] = 'De plaatsingsdatum (voor nieuwe berichten normaal gesproken de huidige datum) is de datum die wordt gebruikt als de datum waarop het bericht is gepubliceerd. Het wordt ook gebruikt bij het sorteren.'; $lang['help_article_summary'] = 'Voer een korte paragraaf in op dit bericht te beschrijven. Deze samenvatting kan gebruikt worden wanneer er een overzicht van berichten wordt getoond'; $lang['help_article_startdate'] = 'Als vervaldatum wordt gebruikt, geeft deze datum aan vanaf wanneer het bericht getoond wordt op de website'; $lang['help_article_status'] = 'Als u wilt dat het bericht direct zichtbaar is op de website kies dan de status: Gepubliceerd. Als u liever nog wilt werken aan het bericht kies dan voor: Concept'; $lang['help_article_url'] = 'De optionele url (sommige andere systemen noemen dit een slug) is een unieke url-toevoeging waarmee dit bericht kan worden benaderd. Gebruikers kunnen navigeren naar / om dit bericht te zien.'; $lang['help_article_useexpiry'] = 'Deze checkbox bepaalt of er een vervaldatum wordt gebruikt. Het gebruik van een vervaldatum geeft aan wanneer een bericht zichtbaar wordt op de website en wanneer het vervolgens weer wordt verborgen.'; $lang['help_articles_filtercategory'] = 'Optioneel kun je de lijst van getoonde berichten filteren op basis van de geselecteerde categorie'; $lang['help_articles_filterchildcats'] = 'Indien aangevinkt zullen berichten met de geselecteerde categorie EN onderliggende categorieen worden getoond.'; $lang['help_articles_pagelimit'] = 'Selecteer het aantal berichten dat getoond moet worden op een pagina. Voor websites met een groot aantal berichten zal een selectie tussen 10 en 100 de prestaties aanzienlijk verbeteren'; $lang['help_articles_sortby'] = 'Kies hoe berichten initieel moeten worden gesorteerd'; $lang['help_category_name'] = 'Voer een naam in voor deze categorie. De naam moet geschikt zijn voor gebruik in urls en geen speciale tekens bevatten.'; $lang['help_category_parent'] = 'Optioneel specifieer een ouder-categorie zodat een hierarchie kan worden opgebouwd.'; $lang['help_fesubmit_redirect'] = 'Pagina ID of alias om naar te verwijzen na een succesvolle frontend-plaatsing'; $lang['help_fielddef_maxlen'] = 'Voor tekstvelden kunt u een maximale gebruikersinvoer (aantal karakters) opgeven'; $lang['help_fielddef_name'] = 'Ieder velddefinitie moet een naam hebben. Hoewel niet strikt noodzakelijk, veldnamen zouden enkel alfanumerieke karakters en underscores moeten bevatten. Gebruik geen spaties in de veldnaam.'; $lang['help_fielddef_options'] = 'Hier kunt u de geldige opties voor een dropdown veld opgeven.'; $lang['help_fielddef_public'] = 'Geef aan of de velddefinitie publiek is of niet. Publieke velddefinities zijn beschikbaar in de diverse nieuws-sjablonen en kunnen worden ingevoerd met de fesubmit actie. Velddefinities die niet publiek zijn kunnen enkel in de beheerdersinterface door geautoriseerde beheerders worden aangepast.'; $lang['help_fielddef_type'] = 'Velddefinitie moeten een bepaald type hebben. Kies het type veld dat het beste past bij de toepassing van dit veld.'; $lang['help_idlist'] = 'Alleen van toepassing voor de standaard actie (samenvattingsweergave). Deze parameter accepteert een comma-gescheiden lijst van numerieke bericht-IDs en biedt zo de mogelijkheid dat er verder gefilterd kan worden op enkel de opgeven IDs. Het uiteindelijke resultaat is wel nog afhankelijk van bericht-status, vervaldatum en andere parameters.'; $lang['help_opt_allowed_upload_types'] = 'Voor velddefinities van het type "bestand". Deze instelling bevat een comma-gescheiden lijst van bestandsextensies die toegestaan zijn om te uploaden.'; $lang['help_opt_dflt_category'] = 'Deze optie geeft aan welke categorie standaard wordt toegekend aan nieuwe berichten.'; $lang['help_opt_hide_summary'] = 'Deze optie biedt de mogelijkheid om het samenvattings-veld uit te schakelen wanneer een nieuwsbericht wordt toegevoegd of gewijzigd. (inclusief de fesubmit actie)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Dit veld geeft aan of een WYSIWYG editor gebruikt moeten worden voor het samenvattingsveld bij het aanpassen van een bericht. In de meeste gevallen is het samenvattingsveld een eenvoudig tekstveld, maar dat is optioneel.
    Deze instelling wordt genegeerd als het samenvattingsveld is uitgeschakeld (zie andere instelling)'; $lang['help_opt_expiry_interval'] = 'Geef een standaard aantal dagen op (minimaal 1) waarin een nieuw bericht zal vervallen (expireren). De vervaldatum kan worden aangepast bij het aanmaken of bewerken van een nieuwsbericht.'; $lang['help_pagelimit'] = 'Maximum aantal te tonen items (per pagina). Als deze parameter niet is opgegeven, zullen alle resulterende items worden getoond. Als er een maximum is opgegeven, zal er bij meer resultaten dan opgegeven een tekst en link verschijnen om door de resultaten te kunnen scrollen.'; $lang['hide_summary_field'] = 'Verberg het samenvattingsveld tijdens toevoegen of bewerken van berichten'; $lang['info_allow_fesubmit'] = 'Deze optie geeft aan of de fesubmit actie kan worden gebruikt op deze website. Voorzichtigheid geboden bij het toestaan van deze functionaliteit.'; $lang['info_categories'] = 'Voor organisatie-doeleinden kunnen nieuwsberichten worden ingedeeld in hierarchische categorieen'; $lang['info_detail_returnid'] = 'Deze instelling wordt gebruikt om een pagina (en dus een sjabloon) te bepalen om te gebruiken om het detail artikel te tonen. Geïndividualiseerde Nieuws Detail URL\'s zullen niet werken als deze parameter niet is ingesteld op een geldige pagina.
    Bovendien, als deze voorkeur is ingesteld en de News tag is niet voorzien van de detailpage parameter, dan zal deze waarde worden gebruikt voor de detail links'; $lang['info_expired_searchable'] = 'Indien ingeschakeld kunnen verlopen berichten nog steeds worden geindexeerd door de zoek-module en getoond worden in de zoekresultaten'; $lang['info_expired_viewable'] = 'Indien geactiveerd kunnen verlopen artikelen worden bekeken in de Detail modus (dit reproduceert oudere functionaliteit). De showall parameter kan worden gebruikt op de URL (wanneer geen \'pretty urls\' worden gebruikt) om ook aan te geven dat verlopen artikelen kunnen worden bekeken'; $lang['info_fesubmit_notification'] = 'U kunt optioneel een email versturen naar een enkel emailadres wanneer een nieuwsbericht via de fesubmit actie wordt ingediend.'; $lang['info_maxlength'] = 'De maximum lengte betreft alleen tekstinvoervelden'; $lang['info_public'] = 'Alleen Publieke velden zijn beschikbaar in de frontend van de website, zowel in de samenvatting- als in de detailsjablonen.'; $lang['info_reorder_categories'] = 'Sleep items in de gewenste volgorde om de relaties tussen categorieen te wijzigen'; $lang['info_searchable'] = 'Dit veld geeft aan of dit bericht geindexeerd moet worden door de zoekmodule'; $lang['info_sysdefault'] = '(de inhoud die standaard wordt gebruikt bij het aanmaken van een nieuw sjabloon)'; $lang['info_sysdefault2'] = 'Opmerking: Dit tabblad bevat tekstgebieden om een groep sjablonen te bewerken die getoond worden als u een nieuwssamenvatting, -overzicht of formulier-sjabloon aanmaakt. Veranderen van inhoud in dit tabblad en versturen daarvan heeft geen effect op de bestaande weergaven.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Zoek Nieuws Artikelen'; $lang['linkedfile'] = 'Gekoppeld bestand'; $lang['maxlength'] = 'Maximum lengte'; $lang['msg_cancelled'] = 'Bewerking geannuleerd'; $lang['msg_categoriesreordered'] = 'Categorie volgorde aangepast'; $lang['msg_contenttype_removed'] = 'Het nieuwsinhoudtype is verwijderd. Plaats de {news} tags met de geschikte parameters in uw sjabloon of in uw pagina om deze functionaliteit te vervangen.'; $lang['msg_success'] = 'Bewerking geslaagd'; $lang['more'] = 'Meer'; $lang['moretext'] = 'Meer tekst'; $lang['name'] = 'Naam'; $lang['nameexists'] = 'Een veld met die naam bestaat al'; $lang['needpermission'] = 'U heeft \'%s\' rechten nodig om deze functie te gebruiken.'; $lang['newcategory'] = 'Nieuwe categorie'; $lang['news'] = 'Nieuws'; $lang['news_return'] = 'Terug'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Er zijn op dit moment geen artikelen beschikbaar'; $lang['noarticlesinfilter'] = 'Er zijn geen artikelen beschikbaar met dit filter'; $lang['nocategorygiven'] = 'Geen categorie ingevuld'; $lang['nocontentgiven'] = 'Geen inhoud ingevuld'; $lang['noitemsfound'] = 'Geen items gevonden voor de categorie: %s'; $lang['nonamegiven'] = 'Geen naam ingevuld'; $lang['none'] = 'Geen'; $lang['nopostdategiven'] = 'Geen plaatsingsdatum ingevuld'; $lang['notanumber'] = 'Maximum lengte is geen getal'; $lang['note'] = 'Opgelet: Data in het volgende formaat opgeven \'yyyy-mm-dd hh:mm:ss\' .'; $lang['notify_n_draft_items'] = 'U heeft %s nieuwsbericht(en) die niet is/zijn gepubliceerd.'; $lang['notify_n_draft_items_sub'] = '%d Nieuwsbericht(en)'; $lang['notitlegiven'] = 'Geen titel ingevuld'; $lang['numbertodisplay'] = 'Aantal weer te geven (leeg is alles weergeven)'; $lang['options'] = 'Opties'; $lang['optionsupdated'] = 'De opties zijn bijgewerkt.'; $lang['parent'] = 'Ouder'; $lang['postdate'] = 'Plaatsingsdatum'; $lang['postinstall'] = 'Zorg ervoor dat gebruikers die nieuwsberichten beheren "Modify News" rechten krijgen.'; $lang['post_date_asc'] = 'Bijdragedatum oplopend'; $lang['post_date_desc'] = 'Bijdragedatum aflopend'; $lang['preview'] = 'Voorbeeld'; $lang['prevpage'] = '<'; $lang['print'] = 'Afdrukken'; $lang['prompt_allow_fesubmit'] = 'Sta toe dat nieuwsberichten via de frondend kunnen worden ingediend'; $lang['prompt_default'] = 'Standaard'; $lang['prompt_go'] = 'Gaan'; $lang['prompt_name'] = 'Naam'; $lang['prompt_newtemplate'] = 'Maak een nieuw sjabloon aan'; $lang['prompt_of'] = 'van'; $lang['prompt_page'] = 'Pagina'; $lang['prompt_pagelimit'] = 'Paginalimiet'; $lang['prompt_redirecttocontent'] = 'Terug naar pagina'; $lang['prompt_sorting'] = 'Sorteren op'; $lang['prompt_template'] = 'Sjabloonbron'; $lang['prompt_templatename'] = 'Sjabloonnaam'; $lang['public'] = 'Publiek (openbaar)'; $lang['published'] = 'Gepubliceerd'; $lang['reassign_category'] = 'Verander categorie in'; $lang['removed'] = 'Verwijderd'; $lang['reorder'] = 'Hersorteer'; $lang['reorder_categories'] = 'Hersorteer Categorieen'; $lang['reset'] = 'Herstel'; $lang['resettodefault'] = 'Herstel naar standaard waarden'; $lang['restoretodefaultsmsg'] = 'Deze actie herstelt de inhoud van het sjabloon naar de standaardwaarde. Weet u zeker dat u door wilt gaan?'; $lang['revert'] = 'Zet status op \'Concept\''; $lang['searchable'] = 'Doorzoekbaar'; $lang['select'] = 'Selecteer'; $lang['select_option'] = 'Selecteer Optie'; $lang['selectall'] = 'Alles Selecteren'; $lang['selectcategory'] = 'Selecteer een categorie'; $lang['showchildcategories'] = 'Toon onderliggende categorieën'; $lang['sortascending'] = 'Sorteer oplopend'; $lang['startdate'] = 'Begindatum'; $lang['startdatetoolate'] = 'De begindatum is te laat (later dan de einddatum?)'; $lang['startoffset'] = 'Begin tonen bij het n-de item'; $lang['startrequiresend'] = 'Het toevoegen van een begindatum vereist ook een einddatum'; $lang['status'] = 'Status'; $lang['status_asc'] = 'Status Aflopend'; $lang['status_desc'] = 'Status Oplopend'; $lang['subject_newnews'] = 'Er is een nieuw artikel geplaatst'; $lang['submit'] = 'Versturen'; $lang['summary'] = 'Samenvatting'; $lang['summarytemplate'] = 'Samenvattingssjabloon'; $lang['summarytemplateupdated'] = 'Het nieuwssamenvattingssjabloon is bijgewerkt.'; $lang['sysdefaults'] = 'Terug naar standaardwaarde'; $lang['template'] = 'Sjabloon'; $lang['textarea'] = 'Tekstvak'; $lang['textbox'] = 'Tekstinvoer'; $lang['title'] = 'Titel'; $lang['title_asc'] = 'Titel oplopend'; $lang['title_available_templates'] = 'Beschikbare Sjablonen'; $lang['title_browsecat_sysdefault'] = 'Standaard browse-categoriesjabloon'; $lang['title_browsecat_template'] = 'Browsen categoriesjabloon-editor'; $lang['title_desc'] = 'Titel aflopend'; $lang['title_detail_returnid'] = 'Standaard pagina voor detail vertoningen'; $lang['title_detail_settings'] = 'Detail vertoning Instellingen'; $lang['title_detail_sysdefault'] = 'Standaard artikelsjabloon'; $lang['title_detail_template'] = 'Artikelsjabloon-editor'; $lang['title_fesubmit_form'] = 'Dien nieuwsbericht in'; $lang['title_fesubmit_settings'] = 'Frontend Aanmelding Instellingen'; $lang['title_filter'] = 'Filters'; $lang['title_form_sysdefault'] = 'Standaard formuliersjabloon'; $lang['title_form_template'] = 'Formuliersjabloon-editor'; $lang['title_news_settings'] = 'Instellingen - Nieuws module'; $lang['title_notification_settings'] = 'Berichtgeving Instellingen'; $lang['title_submission_settings'] = 'Nieuws Aanmelding Instellingen'; $lang['title_summary_sysdefault'] = 'Standaard samenvattingssjabloon'; $lang['title_summary_template'] = 'Samenvattingssjabloon-editor'; $lang['toggle_bulk'] = 'Selecteer dit bericht voor een bulk bewerking'; $lang['type'] = 'Type'; $lang['type_browsecat'] = 'Doorzoek Categorie'; $lang['type_form'] = 'Frontend Formulier'; $lang['type_detail'] = 'Detail'; $lang['type_News'] = 'Nieuws'; $lang['type_summary'] = 'Samenvatting'; $lang['unknown'] = 'Onbekend'; $lang['unlimited'] = 'Onbeperkt'; $lang['up'] = 'Op'; $lang['uploadscategory'] = 'Uploads-categorie'; $lang['url'] = 'Url'; $lang['useexpiration'] = 'Gebruik vervaldatum'; $lang['viewfilter'] = 'Toon filter'; $lang['warning_preview'] = 'Waarschuwing: Dit voorbeeld panel gedraagt ​​zich als een browser-venster waarmee u kunt navigeren van de aanvankelijk bekeken pagina. Echter, als je dat doet, kan er onverwacht gedrag optreden. Navigeren vanaf de huidige pagina en terugkeren zal mogelijk niet het verwachte resultaat geven.
    Opmerking: De preview upload geen bestanden die u hebt geselecteerd voor uploaden.'; $lang['with_selected'] = 'Met geselecteerden'; ?>(może być w użyciu, albo zawiera niepoprawne znaki)'; $lang['error_mkdir']='Nie mogę utworzyć katalogu: %s'; $lang['error_movefile']='Nie mogę utworzyć pliku: %s'; $lang['error_noarticlesselected']='Żaden artykuł nie został zaznaczony'; $lang['error_templatenamexists']='Szablon o tej nazwie już istnieje'; $lang['error_upload']='Problem wystąpił przy wgrywaniu pliku'; $lang['eventdesc-NewsArticleAdded']='Wyślij, gdy dodano artykuł.'; $lang['eventdesc-NewsArticleDeleted']='Wyślij, gdy usunięto artykuł.'; $lang['eventdesc-NewsArticleEdited']='Wyślij, gdy zmieniono artykuł.'; $lang['eventdesc-NewsCategoryAdded']='Wyślij, gdy dodano kategorię.'; $lang['eventdesc-NewsCategoryDeleted']='Wyślij, gdy usunięto kategorię.'; $lang['eventdesc-NewsCategoryEdited']='Wyślij, gdy zmieniono kategorię.'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article (\"draft\" or \"publish\")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article (\"draft\" or \"publish\")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Wygasło'; $lang['expired_searchable']='Wygasłe artykuły mogą pojawiać się w wynikach wyszukiwania'; $lang['expiry']='Wygasa'; $lang['expiry_date_asc']='Data wygaśnięcia rosnąco'; $lang['expiry_date_desc']='Data wygaśnięcia malejąco'; $lang['expiry_interval']='Domyślna ilość dni po jakiej artykuł wygaśnie (o ile zaznaczono wygasanie)'; $lang['extra']='Ekstra'; $lang['extra_label']='Ekstra:'; $lang['fesubmit_redirect']='ID strony lub alias do przekierowania po tym, jak artykuł został wysłany przez akcję fesubmit'; $lang['fesubmit_status']='Status artykułów przesłanych przez stronę (front-end)'; $lang['fielddef']='Definicja pola'; $lang['fielddefadded']='Definicja pola dodana'; $lang['fielddefdeleted']='Skasuj definicję pola'; $lang['fielddefupdated']='Definicja pola została zaktualizowana'; $lang['file']='Plik'; $lang['filter']='Filtr'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Adres email używany do wysłania wiadomości z informacją o nowym newsie'; $lang['formtemplate']='Szablony formularza'; $lang['help']='

    Do czego to służy?

    News jest modułem do wyświetlania aktualności na Twojej stronie. Podobnie jak blog, tylko że posiada więcej funkcji. Jeśli moduł News jest zainstalowany, strona administracji News jest dodana do menu administracyjnego i pozwala Ci wybrać lub dodać kategorię aktualności. Jeśli kategoria aktualności zostanie stworzona lub wybrana, zostanie wyświetlona lista aktualności dla danej kategorii. W tym miejscu możesz dodawać, edytować i usuwać aktualności z wybranej kategorii.

    Bezpieczeństwo

    Użytkownik musi należeć do grupy z uprawnieniami do modyfikacji aktualności aby dodawać, edytować lub usuwać wpisy aktualności.

    Jak się tego używa?

    Najprostszą drogą jest użycie w połączeniu ze znacznikiem cms_module. To pozwala na wstawienie modułu w szablon lub lub stronę tam gdzie chcesz i wyświetla elementy news. Kod powinien wyglądać mniej więcej tak: {news number="5" category="beer"}

    Jakie przyjmuje parametry?

    • (opcjonalny) number=\"5\" - Maksymalna ilość elementów do wyświetlenia - pozostawienie pustego parametru wyświetla wszystkie
    • (opcjonalny) makerssbutton=\"true\" - Stworzenie przycisku do kanału RSS elementów news.
    • (opcjonalny) category=\"category\" - Wyświetla tylko elementy dla wybranej kategorii i podrzędnych. Pozostawienie pustego wyświetli wszystkie kategorie.
    • (opcjonalny) moretext=\"more...\" - Tekst do wyświetlenia na końcu elementu news, jeśli jego długość wykroczy ponad długość podsumowania. Domyślnie \"more...\".
    • (opcjonalny} summarytemplate=\"sometemplate.tpl\" - Użycie oddzielnego szablonu do wyświetlania podsumowania artykułu. Szablon zostanie umieszczony w katalogu modules/News/templates.
    • (opcjonalny} detailtemplate=\"sometemplate.tpl\" - Użycie oddzielnego szablonu do wyświetlania szczegółów artykułu. Szablon zostanie umieszczony w katalogu modules/News/templates.
    • (opcjonalny) sortby=\"news_date\" - Pole po którym nastąpi sortowanie. Możliwe opcje to: \"news_date\", \"summary\", \"news_data\", \"news_category\", \"news_title\". Domyślnie \"news_date\".
    • (opcjonalny) sortasc=\"true\" - Sortowanie elementów aktualności w porządku rosnącym zamiast malejącym.

    '; $lang['help_pagelimit']='Maksymalna liczba artykułów do wyświetlenia (na stronę)
    If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat']='Pokazuje i umożliwia przeglądanie listy kategorii.'; $lang['helpcategory']='Wyświetl tylko elementy dla tej kategorii. Użyj * po nazwie aby wyświetlić kat. podrzędne. Wiele kategorii może być użytych, jeśli będą rozdzielone przecinkami. Pozostawienie pustego spowoduje wyświetlenie wszystkich kategorii.'; $lang['helpdetailpage']='Strona, na której będą widoczne szczegóły aktualności. To może być alias strony lub numer id.'; $lang['helpdetailtemplate']='Użyj osobnego szablonu do wyświetlenia szczegółów artykułu. Znajduje się w katalogu modules/News/templates.'; $lang['helpmoretext']='Tekst do wyświetlenia na końcu elementu news, jeśli przekroczy długość podsumowania. Domyślnie "więcej..."'; $lang['helpnumber']='Maksymalna ilość elementów do wyświetlenia =- pozostawienie pustego spowoduje wyświetlenie wszystkich elementów'; $lang['helpshowall']='Pokaż wszystkie artykuły niezależnie od daty zakończenia publikacji'; $lang['helpshowarchive']='Pokaż tylko aktualności, które wygasły.'; $lang['helpsortasc']='Sortowanie elementów news w kolejności rosnącej zamiast malejącej.'; $lang['helpsortby']='Pola po których można sortować: "news_date", "summary", "news_data", "news_category", "news_title". Domyślnie "news_date".'; $lang['helpstart']='Rozpocznij od n-tego elementu -- pozostawienie pustego spowoduje rozpoczęcie od pierwszego.'; $lang['helpsummarytemplate']='Użyj osobnego szablonu do wyświetlenia podsumowania artykułu. Znajduje się w katalogu modules/News/templates.'; $lang['hide_summary_field']='Ukryj pole podsumowania przy dodawaniu i edycji artykułów'; $lang['info_maxlength']='Długość maksymalna ma zastosowanie tylko do pól tekstowych'; $lang['info_sysdefault']='(szablon używany domyślnie, gdy nowy szablon jest zaznaczony)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['maxlength']='Maksymalna długość'; $lang['more']='Więcej'; $lang['moretext']='Tekst "Więcej"'; $lang['msg_contenttype_removed']='Typ strony 'news' został usunięty. Wpisz tag {news} z odpowiednimi parametrami w szablony lub zawartość stron.'; $lang['name']='Nazwa'; $lang['nameexists']='Pole z taką nazwą już istnieje'; $lang['needpermission']='Musisz posiadać uprawnienie '%s', aby wykonać tę funkcję.'; $lang['newcategory']='Nowa kategoria'; $lang['news']='Aktualności'; $lang['news_return']='Wracaj'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nie podano kategorii'; $lang['nocontentgiven']='Nie podano treści'; $lang['noitemsfound']='Nie znaleziono elementów dla kategorii: %s'; $lang['nonamegiven']='Nie podano nazwy'; $lang['none']='Żaden'; $lang['nopostdategiven']='Nie podano daty publikacji'; $lang['notanumber']='Wpisana maksymalna długość nie jest liczbą'; $lang['note']='Uwaga: daty muszą być w formacie 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Masz %d artykułów, które nie zostały jeszcze opublikowane'; $lang['notify_n_draft_items_sub']='%d newsów'; $lang['notitlegiven']='Nie podano tytułu'; $lang['numbertodisplay']='Ilość do wyświetlenia (puste wyświetla wszystkie rekordy)'; $lang['options']='Opcje'; $lang['optionsupdated']='Opcje zostały zaktualizowane.'; $lang['post_date_asc']='Data publikacji rosnąco'; $lang['post_date_desc']='Data publikacji malejąco'; $lang['postdate']='Data publikacji'; $lang['postinstall']='Upewnij się, że ustawiłeś/aś uprawnienia do modyfikacji aktualności dla użytkowników, którzy będą administrowali aktualnościami.'; $lang['preview']='Podgląd'; $lang['prevpage']='<'; $lang['print']='Drukuj'; $lang['prompt_default']='Domyślny'; $lang['prompt_name']='Nazwa'; $lang['prompt_newtemplate']='Utwórz nowy szablon'; $lang['prompt_of']='z'; $lang['prompt_page']='Strona'; $lang['prompt_pagelimit']='Limit stron'; $lang['prompt_sorting']='Sortowanie'; $lang['prompt_template']='Źródło szablonu'; $lang['prompt_templatename']='Nazwa szablonu'; $lang['public']='Publiczna'; $lang['published']='Opublikowany'; $lang['reassign_category']='Zmień kategorię na'; $lang['removed']='Usunięte'; $lang['resettodefault']='Przywróć ustawienia fabryczne'; $lang['restoretodefaultsmsg']='Ta operacja przywróci zawartość szablonów do ich domyślnej zawartości. Czy na pewno kontynuować?'; $lang['revert']='Zmień status na "roboczy"'; $lang['select']='Zaznacz'; $lang['selectcategory']='Wybierz kategorię'; $lang['showchildcategories']='Pokaż kategorie podrzędne'; $lang['sortascending']='Sortuj rosnąco'; $lang['startdate']='Data początkowa'; $lang['startdatetoolate']='Data rozpoczęcia jest nieprawidłowa (późniejsza niż data zakończenia?)'; $lang['startoffset']='Rozpocznij wyświetlanie od n-tego elementu'; $lang['startrequiresend']='Wprowadzenie daty początkowej wymaga także wprowadzenia daty końcowej'; $lang['status']='status'; $lang['status_asc']='Status rosnąco'; $lang['status_desc']='Status malejąco'; $lang['subject_newnews']='Nowy news został dodany'; $lang['submit']='Zatwierdź'; $lang['summary']='Podsumowanie'; $lang['summarytemplate']='Szablon podsumowania'; $lang['summarytemplateupdated']='Szablon szczegółowy został zaktualizowany.'; $lang['sysdefaults']='Przywróć domyślne'; $lang['template']='Szablon'; $lang['textarea']='Pole tekstowe (textarea)'; $lang['textbox']='Pole tekstowe'; $lang['title']='Tytuł'; $lang['title_asc']='Tytuł rosnąco'; $lang['title_available_templates']='Dostępne szablony'; $lang['title_browsecat_sysdefault']='Domyślny szablon Przeglądanie Kategorii'; $lang['title_browsecat_template']='Edytor szablonów Przeglądanie Kategorii '; $lang['title_desc']='Tytuł malejąco'; $lang['title_detail_returnid']='Domyślna strona dla widoku szczegółowego'; $lang['title_detail_settings']='Ustawienia widoku szczegółowego'; $lang['title_detail_sysdefault']='Domyślny szablon szczegółowy'; $lang['title_detail_template']='Edytor szablonu szczegółowego'; $lang['title_filter']='Filtry'; $lang['title_form_sysdefault']='Domyślny szablon formularza'; $lang['title_form_template']='Edytor szablonu formularza'; $lang['title_notification_settings']='Ustawienia powiadomień'; $lang['title_summary_sysdefault']='Domyślny szablon ogólny'; $lang['title_summary_template']='Edytor szablonu ogólnego'; $lang['type']='Typ'; $lang['unknown']='Nieznane'; $lang['unlimited']='Bez limitu'; $lang['up']='Do góry'; $lang['uploadscategory']='Kategoria Uploads'; $lang['useexpiration']='Użyj daty wygaśnięcia'; ?>Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Expirado'; $lang['expired_searchable']='Artigos expirados podem aparecer nos resultados da pesquisa'; $lang['expiry']='Expiração'; $lang['expiry_interval']='O número de dias (por padrão) antes de um artigo expirar (se expirar estiver selecionado)'; $lang['filter']='Filtro'; $lang['firstpage']='$lt;<'; $lang['formtemplate']='Modelo Visual de Formulários'; $lang['help']='

    O que isto faz?

    Notícias é um módulo para exibir eventos e notícias no seu site, similar a um blog, mas com muito mais funções!. Quando o módulo é instalado, uma página de administração de Notícias é adicionada ao menu de administradao e irá permitir que vocês selecione ou adiocione uma categoria de notícias. Uma vez criada ou selecionada, uma lista de itens de notícias será exibida. Daqui, você pode adicionar, editar ou deletar notícias para esta categoria.

    Variáveis de Modelo Visual

    • itemcount - Número de notícias a exibir.

    Segurança

    O usuário deve pertencer a um grupo com a permissão 'Modificar Notícias' a fim de adicionar, editar ou apagar Notícias.

    Para adicionar, editar ou apagar Modelos Visuais, o usuário deve pertencer a um grupo com a permissão 'Modificar Modelos Visuais'.

    Para editar as preferências das notícias globais, o usuário deve pertencer a um grupo com a permissão 'Modificar Preferências do Site'.

    Como eu uso?

    A maneira mais fácil de usar-lo é em conjunção com a tag cms_module. Isto irá inserir o módulo dentro do seu Modelo Visual ou página em qualquer lugar que você quiser exibir as notícias. O código deve se parecer com algo como: {cms_module module="news" number="5" category="beer"}

    Informação de Tradução

    Traduzido por José Diogenes Silva
    Dúvidas e sugestões: diogenescmsms@gmail.com

    '; $lang['help_pagelimit']='Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['helpaction']='Override the default action. Possible values are 'default' to display the summary view, and 'fesubmit' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpcategory']='Só mostrar itens para aquela categoria. Use * após o nome para exibir as subcategorias. Muitas categiras pode ser usadas se separadas por vírgula. Deixar em branco, irá mostrar todas as categorias.'; $lang['helpdetailpage']='Página para exibir a noticia detalhada. Pode ser o atalho da página ou um ID. Usado para permitir que a pagina detalhada seja exibida num modelo visual diferente do resumo.'; $lang['helpdetailtemplate']='Usa um modelo visual diferente para exibir o artigo detalhado. Ele deve estar no diretório modules/News/templates.'; $lang['helpmoretext']='Texto para exibir no final de uma notícia se ela passar do tamanho máximo do resumo. O Padrã é "mais..."'; $lang['helpnumber']='Número máximo de itens a exibir =- deixar em branco mostrará todos os itens.'; $lang['helpshowall']='Mostrar todos os artigos independentemente da data de vencimento'; $lang['helpsortasc']='Organizar novos itens em ordem de data ascendente ao invés de descendente.'; $lang['helpsortby']='Organizar por. As opções são: "news_date", "summary", "news_data", "news_category", "news_title". O padrão é "news_date".'; $lang['helpstart']='Iniciar no enésimo item -- deixar em branco iniciará no primeiro item'; $lang['helpsummarytemplate']='Usa um modelo visual diferente para exibir o resumo do artigo. Ele deve estar no diretório modules/News/templates.'; $lang['info_sysdefault']='(the content used by default when a new template is created)'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['more']='Mais'; $lang['moretext']='Mais Texto'; $lang['name']='Nome'; $lang['needpermission']='Você precisa da permissão '%s' para realizar esta função.'; $lang['newcategory']='Nova Categoria'; $lang['news']='Notícias'; $lang['news_return']='Retornar'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nenhuma categoria especificada'; $lang['nocontentgiven']='Nenhum conteúdo especificado'; $lang['noitemsfound']='Nenhum item encontrado para a categoria: %s'; $lang['nonamegiven']='Nenhum nome informado'; $lang['none']='Nenhum'; $lang['nopostdategiven']='Nenhuma Data de Postagem informada'; $lang['note']='Nota: As datas precisam estar no formato 'aaaa-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items_sub']='%d Artigo(s) de notícia'; $lang['notitlegiven']='Nenhum título informado'; $lang['numbertodisplay']='Número á exibir (em branco mostra todos os registros)'; $lang['options']='Opções'; $lang['optionsupdated']='As opções foram atualizadas com sucesso.'; $lang['postdate']='Data de Postagem'; $lang['postinstall']='Tenha certeza de especificar a permissão de "Modificar Notícias" aos usuários que irão administrar os itens de Notícias.'; $lang['prevpage']='<'; $lang['print']='Imprimir'; $lang['prompt_of']='de'; $lang['prompt_page']='Página'; $lang['prompt_pagelimit']='Limite de Página'; $lang['prompt_sorting']='Ordenar por'; $lang['published']='Publicado'; $lang['reassign_category']='Mudar categoria para'; $lang['removed']='Removido'; $lang['restoretodefaultsmsg']='Esta operação irá restaurar o conteúdo do Modelo Visual para o padrão do sistema. Você tem certeza que quer prosseguir?'; $lang['revert']='Mude o Status para 'Rascunho''; $lang['select']='Selecione'; $lang['selectcategory']='Selecione a Categoria'; $lang['showchildcategories']='Exibir sub-categorias'; $lang['sortascending']='Ordenação Ascendente'; $lang['startdate']='Data de Início'; $lang['startoffset']='Começar a exibir a partir do enésimo item'; $lang['startrequiresend']='Ao entrar uma data inicial, é preciso entrar uma data final também'; $lang['submit']='Enviar'; $lang['summary']='Sumário'; $lang['summarytemplate']='Modelo Visual Resumido'; $lang['summarytemplateupdated']='O modelo visual de notícia resumido foi atualizado com sucesso.'; $lang['sysdefaults']='Restaurar para os padrões'; $lang['title']='Título'; $lang['title_filter']='Filtros'; $lang['unknown']='Desconhecido'; $lang['unlimited']='Ilimitado'; $lang['useexpiration']='Usar data de expiração'; ?>(talvez já esteja a ser usado, ou contêm caracteres inválidos)'; $lang['error_mkdir']='Não foi possível criar a pasta: %s'; $lang['error_movefile']='Não foi possível criar o arquivo: %s'; $lang['error_noarticlesselected']='Não foram Selecionados Artigos'; $lang['error_templatenamexists']='Já existe um template com esse nome'; $lang['error_upload']='Ocorreu um problema no carregamento de um arquivo'; $lang['eventdesc-NewsArticleAdded']='Enviado quando um artigo é adicionado.'; $lang['eventdesc-NewsArticleDeleted']='Enviado quando um artigo é eliminado.'; $lang['eventdesc-NewsArticleEdited']='Enviado quando um artigo é editado.'; $lang['eventdesc-NewsCategoryAdded']='Enviado quando uma categoria é adicionada.'; $lang['eventdesc-NewsCategoryDeleted']='Enviado quando uma categoria é eliminada.'; $lang['eventdesc-NewsCategoryEdited']='Enviado quando uma categoria é editada.'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • "news_id" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • "category_id" - Id of the deleted category
    • "name" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    • "origname" - The original name of the news category
    '; $lang['expired']='Expirar'; $lang['expired_searchable']='Artigos expirados podem aparecer nos resultados na pequisa?'; $lang['expiry']='Validade'; $lang['expiry_date_asc']='Data de Expiração Ascendente'; $lang['expiry_date_desc']='Data de Expiração Descendente'; $lang['expiry_interval']='O número de dias (por padrão) antes de expirar um artigo (se for seleccionado para expirar)'; $lang['extra']='Campo Extra'; $lang['fesubmit_redirect']='PáginaID ou alias por forma a redireccionar após uma notícia ser submetida via acção fesubmit'; $lang['fesubmit_status']='O Estado das notícias submetidas via frontend'; $lang['fielddef']='Definição Campo'; $lang['fielddefadded']='Campo adicionado com sucesso'; $lang['fielddefdeleted']='Campo eliminado'; $lang['fielddefupdated']='Campo actualizado'; $lang['file']='Ficheiro'; $lang['filter']='Filtro'; $lang['firstpage']='<< '; $lang['formsubmit_emailaddress']='E-mail para receber notificação da notícia'; $lang['formtemplate']='Templates Form '; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='This parameter is only applicable to the detail view. It allows specifying which news article to display in detail mode. If the special value -1 is used, the system will display the newest, published, non expired article. '; $lang['help_pagelimit']='Número máximo de itens para visualização (por página). Se este parâmetro não for fornecido todos os itens correspondentes serão exibidos. Se assim é, e há mais itens disponíveis do que o especificado no parâmetro, textos e links serão fornecidos para permitir percorrer os resultados'; $lang['helpaction']='Override the default action. Possible values are:
    • &quot;detail&quot; - to display a specified articleid in detail mode.
    • &quot;default&quot; - to display the summary view
    • &quot;fesubmit&quot; - to display the frontend form for allowing users to submit news articles on the front end.
    • &quot;browsecat&quot; - to display a browseable category list.
    '; $lang['helpbrowsecat']='Mostra uma lista das categorias.'; $lang['helpbrowsecattemplate']='Use a database template for displaying the category browser. This template must exist and be visible in the Browse Category Templates tab of the News admin, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. '; $lang['helpcategory']='Used in the summary view to display only items for the specified categories. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories. This parameter also works for the frontend submit action, however only a single category name is supported. '; $lang['helpdetailpage']='Page to display News details in. This can either be a page alias or an id. Used to allow details to be displayed in a different template from the summary. '; $lang['helpdetailtemplate']='Use a separate database template for displaying the article detail. This template must exist and be visible in the detail template tab of the News admin, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. '; $lang['helpformtemplate']='Use a database template for displaying the article submission form. This template must exist and be visible in the form templates tab of the News admin, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "more..."'; $lang['helpnumber']='Número máximo de itens a exibir =- deixando este vazio irá mostrar todos os itens.'; $lang['helpshowall']='Mostrar todos os arquivos, independentemente da data final'; $lang['helpshowarchive']='Mostrar apenas notícias que expiraram.'; $lang['helpsortasc']='Sort news items in ascending date order rather than descending. '; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['helpstart']='Comece com o enésimo item - deixando vazio terão início no primeiro item.'; $lang['helpsummarytemplate']='Use a separate database template for displaying the article summary. This template must exist and be visible in the summary template tab of the News admin, though it does not need to be the default. If this parameter is not specified, then the current template marked as default will be used. '; $lang['hide_summary_field']='Esconder o campo do sumário quando adicionar ou editar artigos'; $lang['info_detail_returnid']='Esta preferência é usada para determinar uma página (e, por conseguinte, um template) a ser usado para visualizar as páginas de detalhe. URLS de Detalhe de News Individualizadas não vão funcionar se este parâmetro estiver definido para uma página válida. Adicionalmente, se esta preferência estiver definida, e nenhum parâmetro detailpage for fornecido na tag News, então este valor será usado para os links de detalhe'; $lang['info_maxlength']='O comprimento máximo, aplica-se apenas à introdução de campos de texto.'; $lang['info_sysdefault']='(o conteúdo utilizado por defeito quando se cria um novo template)'; $lang['info_sysdefault2']='Esta TAB contém áreas de texto para permitir que edite um conjunto de templates que são exibidos quando criar um 'novo' template. Mudar o conteúdo, e clicar no botão "enviar"não terá qualquer efeito nos actuais.'; $lang['lastpage']=' >>'; $lang['maxlength']='Comprimento Máximo'; $lang['more']='Mais'; $lang['moretext']='Texto Mais'; $lang['msg_contenttype_removed']='O conteúdo das notícias foi removido. Por favor, coloque {news} tags com os parâmetros adequados na sua página ou template para substituir essa funcionalidade.'; $lang['name']='Nome'; $lang['nameexists']='Um campo com este nome já existe'; $lang['needpermission']='Necessita da '%s' permissão para executar essa função.'; $lang['newcategory']='Nova Categoria'; $lang['news']='Notícias '; $lang['news_return']='Voltar'; $lang['nextpage']=' >'; $lang['nocategorygiven']='Tem de inserir uma Categoria'; $lang['nocontentgiven']='Tem inserir um conteúdo'; $lang['noitemsfound']='Sem items encontrados para a categoria: %s'; $lang['nonamegiven']='Tem inserir um Nome'; $lang['none']='Nenhum'; $lang['nopostdategiven']='Tem inserir uma data'; $lang['notanumber']='O comprimento máximo não é um número'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['notify_n_draft_items']='Tem %s não publicado(s)'; $lang['notify_n_draft_items_sub']='%d Artigos de Notícia(s)'; $lang['notitlegiven']='Tem inserir um Titulo'; $lang['numbertodisplay']='Número a mostrar (vazia mostra todos os dados)'; $lang['options']='Opções'; $lang['optionsupdated']='Opções Actualizadas com Sucesso.'; $lang['post_date_asc']='Data Ascendente'; $lang['post_date_desc']='Data Descendente'; $lang['postdate']='Data da Submissão'; $lang['postinstall']='Certifique-se de definir a permissão "Modificar Notícias" para os usuários que deverão administrar Notícias.'; $lang['preview']='Pré-Visualização'; $lang['prevpage']='< '; $lang['print']='Imprimir'; $lang['prompt_default']='Padrão'; $lang['prompt_name']='Nome'; $lang['prompt_newtemplate']='Criar Novo Template'; $lang['prompt_of']='de'; $lang['prompt_page']='Página'; $lang['prompt_pagelimit']='Limite de Páginas'; $lang['prompt_sorting']='Ordenar por'; $lang['prompt_template']='Fonte do Template'; $lang['prompt_templatename']='Nome do Template'; $lang['public']='Público'; $lang['published']='Públicado'; $lang['reassign_category']='Alterar Categoria Para'; $lang['removed']='Removido'; $lang['resettodefault']='Redefinir para o Padrão'; $lang['restoretodefaultsmsg']='Esta operação irá restaurar o template do seu sistema para o padrão. Tem certeza de que deseja prosseguir?'; $lang['revert']='Defenir Status para 'Rascunho''; $lang['select']='Seleccionar'; $lang['selectcategory']='Seleccionar Categoria'; $lang['showchildcategories']='Mostrar Sub Categorias'; $lang['sortascending']='Ordenação Ascendente'; $lang['startdate']='Data de Inicio'; $lang['startdatetoolate']='A data de início é tarde demais (depois da data final?)'; $lang['startoffset']='Começar a exibir o item enésimo'; $lang['startrequiresend']='Introduzir uma data de início exige também uma data de final'; $lang['status']='Estado'; $lang['status_asc']='Estado Ascendente'; $lang['status_desc']='Estado Descendente'; $lang['subject_newnews']='Um novo artigo foi submetido'; $lang['submit']='Submeter'; $lang['summary']='Sumário'; $lang['summarytemplate']='Templates Sumário'; $lang['summarytemplateupdated']='Template Sumário foi actualizado.'; $lang['sysdefaults']='Restaurar para padrão'; $lang['template']='Template '; $lang['textarea']='Área de Texto'; $lang['textbox']='Campo de Texto'; $lang['title']='Título'; $lang['title_asc']='Titulo Ascendente'; $lang['title_available_templates']='Templates Disponíveis'; $lang['title_browsecat_sysdefault']='Template Padrão Navegador de Categorias '; $lang['title_browsecat_template']='Editor Template Navegador de Categorias '; $lang['title_desc']='Titulo Descendente'; $lang['title_detail_returnid']='Página predefinida para para usar em vistas de detalhe'; $lang['title_detail_settings']='Configurações de Visualização Detalhada'; $lang['title_detail_sysdefault']='Template de Detalhes Pré-Definido'; $lang['title_detail_template']='Detalhes Template'; $lang['title_fesubmit_settings']='Configurações de Submissão de Frontend'; $lang['title_filter']='Filtros'; $lang['title_form_sysdefault']='Padrão Form Template'; $lang['title_form_template']='Formulário Template'; $lang['title_notification_settings']='Configurações de Notificação'; $lang['title_submission_settings']='Configurações de Submissão Notícias'; $lang['title_summary_sysdefault']='Template de Sumário Pré-Definido'; $lang['title_summary_template']='Sumário Template'; $lang['type']='Tipo'; $lang['unknown']='Desconhecido'; $lang['unlimited']='Ilimitado'; $lang['up']='Cima'; $lang['uploadscategory']='Carregar Categoria'; $lang['useexpiration']='Usar Data de Expiração'; $lang['warning_preview']='Aviso: Este painel de pré-visualização comporta-se como uma janela de um navegador permitindo-lhe navegar para fora da página inicialmente pré-visualizada. No entanto, fizer isso, poderá experimentar um comportamento inesperado. Navegar para fora da página inicial e voltar não vai dar os resultados esperados
    Nota: A pré-visualização não carrega ficheiros que possa ter selecionado para upload.'; ?>(maybe it is already used, or there are invalid characters)'; $lang['error_mkdir']='Nu s-a putut crea director: %s'; $lang['error_movefile']='Nu s-a putut crea fişier: %s'; $lang['error_noarticlesselected']='Nici-un articol nu a fost Selectat'; $lang['error_templatenamexists']='Un şablon cu acest nume deja există'; $lang['error_upload']='A survenit o problemă încărcând un fişier'; $lang['eventdesc-NewsArticleAdded']='Trimis cand un articol este adaugat.'; $lang['eventdesc-NewsArticleDeleted']='Trimis cand un articol este sters.'; $lang['eventdesc-NewsArticleEdited']='Trimis cand un articol este editat.'; $lang['eventdesc-NewsCategoryAdded']='Trimis cand o categorie este adaugata.'; $lang['eventdesc-NewsCategoryDeleted']='Trimis cand o categorie este stearsa.'; $lang['eventdesc-NewsCategoryEdited']='Trimis cand o categorie este editata.'; $lang['eventhelp-NewsArticleAdded']='

    Trimis cand un articol este adaugat.

    Parametri

    • \"news_id\" - Id al articolului
    • \"category_id\" - Id al categoriei acestui articol
    • \"title\" - Titlul articolului
    • \"content\" - Continut articol
    • \"summary\" - Sumar articol
    • \"status\" - Status articol ("draft" sau "publish")
    • \"start_time\" - Data la care articolul ar trebui sa inceapa sa fie afisat
    • \"end_time\" - Data la care articoul ar trebui sa se opreasca de la afisare
    • \"useexp\" - Daca data expirarii ar trebui sa fie ignorata sau nu
    '; $lang['eventhelp-NewsArticleDeleted']='

    Trimis cand un articol este sters.

    Parametri

    • \"news_id\" - Id al articolului
    '; $lang['eventhelp-NewsArticleEdited']='

    Trimis cand un articol este editat.

    Parametri

    • \"news_id\" - Id al articolului
    • \"category_id\" - Id al categoriei acestui articol
    • \"title\" - Titlul articolului
    • \"content\" - Continut articol
    • \"summary\" - Sumar articol
    • \"status\" - Status articol ("draft" sau "publish")
    • \"start_time\" - Data la care articolul ar trebui sa inceapa sa fie afisat
    • \"end_time\" - Data la care articoul ar trebui sa se opreasca de la afisare
    • \"useexp\" - Daca data expirarii ar trebui sa fie ignorata sau nu
    '; $lang['eventhelp-NewsCategoryAdded']='

    Trimis cand o categorie este adaugata.

    Parametri

    • \"category_id\" - Id al categoriei de stiri
    • \"name\" - Numele categoriei de stiri
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Trimis cand o categorie este stearsa.

    Parametri

    • \"category_id\" - Id al categoriei de stiri sterse
    • \"name\" - Numele categoriei de stiri sterse
    '; $lang['eventhelp-NewsCategoryEdited']='

    Trimis cand o categorie este editata.

    Parametri

    • \"category_id\" - Id al categoriei de stiri
    • \"name\" - Numele categoriei de stiri
    • \"origname\" - Numele original al categoriei de stiri
    '; $lang['expired']='Expirat'; $lang['expired_searchable']='Articolele expirate pot aparea in rezultatele cautarii'; $lang['expiry']='Expirare'; $lang['expiry_date_asc']='Data terminare crescator'; $lang['expiry_date_desc']='Data terminare descrescator'; $lang['expiry_interval']='Numerele zilelor (implicite) înainte ca un articol sa expire (dacă este selectata data expirarii)'; $lang['extra']='Extra '; $lang['extra_label']='Extra: '; $lang['fesubmit_redirect']='Pagina ID sau numele pentru redirecționare după ce un articol știre a fost adăugat prin acțiunea fesubmit '; $lang['fesubmit_status']='Starea articolelor noutati adăugate prin frontend'; $lang['fielddef']='Câmp Definiţie'; $lang['fielddefadded']='Câmă Definiţie a fost adăugat cu succes'; $lang['fielddefdeleted']='Câmp Definiţie Şters'; $lang['fielddefupdated']='Definiţia Câmpului Actualizat '; $lang['file']='Fişier'; $lang['filter']='Filtru'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Adresa Email să primeşti notificări a ştirilor submise'; $lang['formtemplate']='Template-uri formulare'; $lang['help']='

    Note importante

    This version of News is greater than the one supplied with the 1.1 branch of CMS Made Simple. If you use this version of News you must use extreme caution when upgrading CMS Made Simple to ensure that nothing in the modules/News directory is overwritten.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    RSS Feeds

    News supports generating simple rss feeds from your news articles, so that your visitors can always be up to date with what is happening on your site.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='Acest parametru este aplicabil numai vizualizarii detalii. Permite specificarea a ce articol sa se afiseze in vizualizarea detalii. Daca valoarea speciala -1 este folosita, sistemul va afisa cel mai nou, publicat si non expirat articol.'; $lang['help_pagelimit']='Număr maxim de articole să afişeze (pe pagină). Dacă acest parametru nu este aprovizionat toate articolele potrivite vor fi afişate. Dacă este, şi sunt mai multe articole disponibile decat cele specificate în acest parametrum textul şi legăturile vor fi aprovizionate să permită sa vezi prin rezultate'; $lang['helpaction']='Face override la actiunea implicita. Valori posibile sunt:
    • &quot;detail&quot; - pentru afisarea unui anume articol in vizualizarea detaliata.
    • &quot;default&quot; - pentru afisarea vizualizarii sumar.
    • &quot;fesubmit&quot; - pentru afisarea formularului frontend pentru a pemite utilizatorilor trimiterea de articole de noutati direct din frontend site.
    • &quot;browsecat&quot; - pentru a afisa o lista navigabila de categorii noutati.
    '; $lang['helpbrowsecat']='Afiseaza o lista navigabila a categoriilor de noutati.'; $lang['helpbrowsecattemplate']='Se foloseste un template din baza de date pentru afisarea navigarii categorie. Acest template trebuie sa existe si sa fie vizibil in tabul Template-uri navigare categorii de la administrare noutati, dar nu trebuie sa fie cel implicit. Daca acest parametru nu este specificat, atunci template-ul curent marcat implicit va fi folosit.'; $lang['helpcategory']='Folosit in vizualizare sumar pentru a afisa numai articolele pentru categoriile specificate. Folositi * dupa nume pentru a afisa copiii. Multiple categorii pot fi folosite daca sunt separate prin virgula. Daca se lasa gol se vor afisa toate categoriile. Acest parametru functioneaza si pentru actiune submit din frontend, in acest caz un singur nume de categorie este suportat.'; $lang['helpdetailpage']='Pagina in care se afiseaza detaliile noutatilor. Poate fi ori un alias de pagina sau un id. Se foloseste pentru ca detaliile sa fie afisate intr-un template diferit de sumar.'; $lang['helpdetailtemplate']='Se foloseste un template din baza de date pentru afisarea vizualizarii detaliate articole. Acest template trebuie sa existe si sa fie vizibil in tabul template-uri detalii de la administrare noutati, dar nu trebuie sa fie cel implicit. Daca acest parametru nu este specificat, atunci template-ul curent marcat implicit va fi folosit.'; $lang['helpformtemplate']='Se foloseste un template din baza de date pentru afisarea formularului de trimitere articol. Acest template trebuie sa existe si sa fie vizibil in tabul template-uri formular de la administrare noutati, dar nu trebuie sa fie cel implicit. Daca acest parametru nu este specificat, atunci template-ul curent marcat ca implicit va fi folosit.'; $lang['helpmoretext']='Text care seafiseaza la sfarsitul unui articol daca este mai lung decar sumarul. Implicit este "mai mult..."'; $lang['helpnumber']='Numar maxim de articole care se afiseaza (per pagina) -- daca se lasa gol se vor afisa toate articolele. Este un sinonim pentru pagelimit.'; $lang['helpshowall']='Afisare toate articolele, indiferent de data expirarii'; $lang['helpshowarchive']='Afisare numai articole noutati expirate.'; $lang['helpsortasc']='Se sorteaza articolele de noutati in ordinea ascendenta a datei in loc de cea descendenta.'; $lang['helpsortby']='Campul dupa care se sorteaza. optiunile sunt: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Implicit este "news_date". Daca "random" este specificat, parametrul sortasc este ignorat.'; $lang['helpstart']='Pornire afisare la al n-ulea obiect -- daca se lasa gol se va porni de la primul articol.'; $lang['helpsummarytemplate']='Se foloseste un template din baza de date separat pentru afisare sumar articol. Acest template trebuie sa existe si sa fie vizibil in tabul de template-uri sumar de la administrare noutati, dar nu trebuie sa fie cel implicit. Daca acest parametru nu este specificat, atunci template-ul curent marcat ca implicit va fi folosit.'; $lang['hide_summary_field']='Ascunde sumarul câmpului când adaugi sau editezi articole'; $lang['info_maxlength']='Lungimea maximă se aplică numai la cămp cu text introdus '; $lang['info_sysdefault']='(conţinutul folosit de standart când un nou şablon este creat)'; $lang['info_sysdefault2']='Notă: acest tab conţine zone text care permite să editezi un set de şabloane care sunt afikate când creezi un "nou" sumar, detaliu, sau formă şablon. Schimbând conţinutul în acest tab şi apăsând "Submit" nu va afecta nici un afișaj curent.'; $lang['lastpage']='>>'; $lang['maxlength']='Lungimea Maximă'; $lang['more']='Mai mult'; $lang['moretext']='Text Mai mult'; $lang['msg_contenttype_removed']='Tipul de Conținut ştire a fost șters . Te rog pune {news} eticheta cu parametri apropiați în pagina șablon sau intră pagina conținut pentru a înlocui acesta funcțional.'; $lang['name']='Nume'; $lang['nameexists']='Un câmp cu acest nume există'; $lang['needpermission']='Aveti nevoie de permissiuni '%s' pentru a afectua aceasta functie.'; $lang['newcategory']='Categorie noua'; $lang['news']='Noutati'; $lang['news_return']='Returnare'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nu a fost data nici o categorie'; $lang['nocontentgiven']='Nu a fost dat nici un continut'; $lang['noitemsfound']='Niciun obiect gasit pentru categoria: %s'; $lang['nonamegiven']='Nu a fost dat nume'; $lang['none']='niciunul'; $lang['nopostdategiven']='Nu a fost data o dataa postarii'; $lang['notanumber']='Lungimea Maximă Nu este un Număr'; $lang['note']='Nota: Datele trebuie sa aiba formatul 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Aveti %s care este/sunt nepublicat(e)'; $lang['notify_n_draft_items_sub']='%d Articole noutati'; $lang['notitlegiven']='Nu a fost dat titlu'; $lang['numbertodisplay']='Numar de afisare (daca e gol se afiseaza toate inregistrarile)'; $lang['options']='Optiuni'; $lang['optionsupdated']='Optiunile au fost actualizate cu succes.'; $lang['post_date_asc']='Data postare crescator'; $lang['post_date_desc']='Data postare descrescator'; $lang['postdate']='Data postarii'; $lang['postinstall']='Verificati ca ati setat permisiunile de "Modificare Noutati" pentru utilizatorii care vor administra noutatile.'; $lang['preview']='Previzualizare'; $lang['prevpage']='<'; $lang['print']='Printare'; $lang['prompt_default']='Standart'; $lang['prompt_name']='Nume'; $lang['prompt_newtemplate']='Crează un Şablon Nou'; $lang['prompt_of']='din'; $lang['prompt_page']='Pagina'; $lang['prompt_pagelimit']='Pagina Limită'; $lang['prompt_sorting']='Ordonează după'; $lang['prompt_template']='Sursă Şabon'; $lang['prompt_templatename']='Nume sablon'; $lang['public']='Public '; $lang['published']='Publicat'; $lang['reassign_category']='Schimbă Categoria În'; $lang['removed']='Şters'; $lang['resettodefault']='Restează la factori standart'; $lang['restoretodefaultsmsg']='Această operaţie va restaora conținuturile şablonului la sistemul lor standart. Eşti sigur ca vrei să înaintezi? '; $lang['revert']='Setează Starea în "Salvate"'; $lang['select']='Selectează'; $lang['selectcategory']='Selectare categorie'; $lang['showchildcategories']='Afisare categorii copil'; $lang['sortascending']='Sortare ascendent'; $lang['startdate']='Data start'; $lang['startdatetoolate']='Data start e prea tarzie (dupa data expirarii?)'; $lang['startoffset']='Pornire afisare la al n-ulea obiect'; $lang['startrequiresend']='Daca introduceti o data de start trebuie setata si o data de expirare'; $lang['status']='Status '; $lang['status_asc']='Status crescator'; $lang['status_desc']='Status descrescator'; $lang['subject_newnews']='Un nou articol ştire a fost postat'; $lang['submit']='Trimitere'; $lang['summary']='Sumar'; $lang['summarytemplate']='Template-uri sumar'; $lang['summarytemplateupdated']='Template-ul sumar noutati a fost actualizat cu succes.'; $lang['sysdefaults']='Restaurare setari implicite'; $lang['template']='Şablon'; $lang['textarea']='Zonă Text'; $lang['textbox']='Introdu Text'; $lang['title']='Titlu'; $lang['title_asc']='Titlu crescator'; $lang['title_available_templates']='Şabloane Disponibile'; $lang['title_browsecat_sysdefault']='Template implicit navigare categorie'; $lang['title_browsecat_template']='Editor template navigare categorie'; $lang['title_desc']='Titlu descrescator'; $lang['title_detail_sysdefault']='Detaliu Şablon Standart'; $lang['title_detail_template']='Detaliu Şablon Editor'; $lang['title_filter']='Filtre'; $lang['title_form_sysdefault']='Şablon Standart'; $lang['title_form_template']='Şablon Formă Editor'; $lang['title_notification_settings']='Setari notificari'; $lang['title_summary_sysdefault']='Sumar Şablon Standart'; $lang['title_summary_template']='Sumar Şablon Editor'; $lang['type']='Tip'; $lang['unknown']='Necunoscut'; $lang['unlimited']='Nelimitat'; $lang['up']='Sus'; $lang['uploadscategory']='Categorie Incărcări'; $lang['useexpiration']='Folosire data expirare'; $lang['warning_preview']='Atentie: Acest panou de previzualizare se comporta foarte asemenator cu o fereastra de browser, permitand sa navigati in alta parte din pagina initiala. Totusi, daca faceti asta, este posibil sa apara comportamente neasteptate. Plecand din pagina initiala si venind inapoi nu va avea rezultatele asteptate.
    Nota: Previzualizarea nu incarca fisierele selectate pentru incarcare.'; ?>(возможно, уже используется или содержит запрещенные символы)'; $lang['error_mkdir'] = 'Не удалось создать каталог: %s'; $lang['error_movefile'] = 'Не удалось создать файл: %s'; $lang['error_noarticlesselected'] = 'Нет выбранных новостей'; $lang['error_nooptions'] = 'Для поля не определены свойства'; $lang['error_templatenamexists'] = 'Шаблон с этим именем уже существует'; $lang['error_upload'] = 'Произошла проблема при загрузке файла'; $lang['eventdesc-NewsArticleAdded'] = 'Отправляется, когда статья добавлена.'; $lang['eventhelp-NewsArticleAdded'] = '

    Отправляется, когда статья добавлена.

    Параметры

    • \\"news_id\\" - Id новостной статьи
    • \\"category_id\\" - Id категории для этой статьи
    • \\"title\\" - Заголовок статьи
    • \\"content\\" - Содержание статьи
    • \\"summary\\" - Резюме статьи
    • \\"status\\" - Статус статьи ("черновик" or "опубликована")
    • \\"start_time\\" - Дата публикации статьи
    • \\"end_time\\" - Дата окончания публикации статьи
    • \\"useexp\\" - Должно ли истечение срока быть проигнорировано
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Отправляется, когда статья была удалена.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Отправляется, когда статья была удалена.

    Параметры

    • \\"news_id\\" - Id новостной статьи
    '; $lang['eventdesc-NewsArticleEdited'] = 'Отправляется, когда статья отредактирована.'; $lang['eventhelp-NewsArticleEdited'] = '

    Отправляется, когда статья отредактирована.

    Параметры

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id категории для этой статьи
    • \\"title\\" - Заголовок статьи
    • \\"content\\" - Содержание статьи
    • \\"summary\\" - Резюме статьи
    • \\"status\\" - Статус статьи ("draft" или "publish")
    • \\"start_time\\" - Дата публикации статьи
    • \\"end_time\\" - Дата окончания публикации статьи
    • \\"useexp\\" - Должно ли истечение срока быть проигнорировано
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Отправляется, когда категория добавлена.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Отправляется, когда категория была добавлена.

    Параметры

    • \\"category_id\\" - Id новостной категории
    • \\"name\\" - Имя новостной категории
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Отправляется, когда категория удалена.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Отправлется, когда категория удалена.

    Параметры

    • \\"category_id\\" - Id удаленной категории
    • \\"name\\" - Имя удаленной категории
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Отправляется, когда категория отредактирована.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Отправляется, когда категория отредактирована.

    Параметры

    • \\"category_id\\" - Id новостной категории
    • \\"name\\" - Имя новостной категории
    • \\"origname\\" - Исходное имя новостной категории
    '; $lang['expired'] = 'Истекает'; $lang['expired_searchable'] = 'Новости могут появляться в результатах поиска, независимо от даты окончания'; $lang['expired_viewable'] = 'Истекшие статьи можно посмотреть в подробном виде'; $lang['expiry'] = 'Истекает'; $lang['expiry_date_asc'] = 'Дате окончания (Истекшие вверху)'; $lang['expiry_date_desc'] = 'Дате окончания (Истекшие внизу)'; $lang['expiry_interval'] = 'Число дней (по умолчанию) до истечения срока действия новости (если выбран срок истечения)'; $lang['extra'] = 'Экстра'; $lang['extra_label'] = 'Дополнительно:'; $lang['fesubmit_redirect'] = 'ID страницы или алиас для переброса пользователя после добавления новости через форму на сайте'; $lang['fesubmit_status'] = 'Статус новостей представленных через интерфейс'; $lang['fielddef'] = 'Определение поля'; $lang['fielddefadded'] = 'Определение поля успешно добавлено'; $lang['fielddefdeleted'] = 'Определение поля удалено'; $lang['fielddefupdated'] = 'Определение поля обновлено'; $lang['file'] = 'Файл'; $lang['filter'] = 'Фильтр'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Адрес электронной почты, чтобы получить уведомление о представлении новостей'; $lang['formtemplate'] = 'Шаблоны форм'; $lang['help'] = '

    Важные примечания

    В версиях 2.9 и выше из шаблонов News удалён модификатор formatpostdate, а также dateformat. Вам нужно использовать модификатор cms_date_format (как указано в шаблонах по умолчанию) для форматирования дат и параметр entry->postdate вместо entry->formatpostdate.

    Для чего это нужно?

    Новости - это модуль для отображения новостных событий на вашей странице, похожий на стиль блога, но с большим количеством функций!. Когда модуль установлен, в административное меню добавляется страница администрирования новостей, которая позволяет вам выбрать или добавить категорию новостей. После создания или выбора категории новостей будет отображаться список новостей для этой категории. Отсюда вы можете добавлять, редактировать или удалять новости для этой категории.

    Многообразие способов вывода

    Параметры, поддерживаемые модулем новостей, и поддержка разных шаблонов для каждого случая делают ваши возможности для отображения новостных статей безграничны.

    Дополнительный поля пользователя

    Модуль новостей позволяет определять многочисленные настраиваемые поля (включая файлы и изображения), которые позволят вам прикреплять файлы PDF или разные изображения к вашим статьям.

    Категории

    Новости предоставляют механизм иерархических категорий для организации ваших статей. Новостная статья может находиться только в одной категории.

    RSS-каналы

    Новости поддерживает создание простых RSS-каналов из ваших новостных статей, чтобы посетители всегда могли быть в курсе того, что происходит на вашем сайте.

    Срок публикации и статус

    У каждой новостной статьи может быть необязательный срок публикации, после которого она не будет отображаться на вашей веб-странице. Кроме того, статьи можно пометить как черновики , чтобы навсегда удалить их с вашей веб-страницы.

    Безопасность

    Пользователь должен принадлежать к группе с разрешением «Изменить новости», чтобы добавлять или редактировать статьи.

    Также, чтобы удалить записи новостей, пользователь должен принадлежать к группе с разрешением «Удалить новостные статьи».

    Чтобы редактировать шаблоны макета, пользователь должен принадлежать к группе с разрешением «Изменить шаблоны».

    Чтобы редактировать глобальные настройки новостей, пользователь должен принадлежать к группе с разрешением «Изменить настройки сайта».

    Кроме того, чтобы одобрить новости для отображения во внешнем интерфейсе, пользователь должен принадлежать к группе с разрешением «Утвердить новости».

    Как мне использовать модуль?

    Самый простой способ использовать модуль новостей - использовать тег-оболочку {news} (оборачивает модуль в тег для упрощения синтаксиса). Это позволит вставить модуль в ваш шаблон или страницу в любом месте, где вы хотите, и отобразить новости. Код будет выглядеть примерно так: {news number = \'5\'}

    Шаблоны

    Начиная с версии 2.3 News поддерживает несколько шаблонов из базы данных и больше не поддерживает дополнительные шаблоны файлов. Пользователи, которые использовали старую систему шаблонов файлов, должны выполнить следующие действия (для каждого шаблона файла):

    • Скопируйте шаблон файла в буфер обмена.
    • Создайте новый шаблон базы данных (краткий или подробный по мере необходимости) . Дайте новому шаблону то же имя (включая расширение .tpl), что и старому шаблону файла, и вставьте его содержимое.
    • Нажмите "Отправить".

    Выполнение этих шагов должно решить проблему отсутствия ваших шаблонов новостей и другие подобные ошибки при обновлении до версии CMS с News 2.3 или выше.

    '; $lang['helpaction'] = 'Отменяет действие значения по умолчанию. Возможные значения - \'default\', чтобы отобразить резюме, и \'fesubmit\', чтобы отобразить форму внешнего интерфейса для того, чтобы позволить пользователям представлять статьи новостей из фронтенда.'; $lang['helpbrowsecat'] = 'Показывает список категорий.'; $lang['helpbrowsecattemplate'] = 'Используйте шаблон базы данных чтобы отобразить браузер категории. Этот шаблон должен существовать и быть видимым во вкладке Browse Category Templates администрации новостей, хотя это не должно быть значением по умолчанию. Если этот параметр не определен, то будет использоваться текущий шаблон, отмеченный как значение.'; $lang['helpcategory'] = 'Отображать только объекты данной категории. Необходимо использовать * после имени, чтобы показать дочерние объекты. чтобы ввести несколько категорий, их нужно разделить запятыми. В случае незаполнения, будет показывать все категории.'; $lang['helpdetailpage'] = 'Страница для отображения полного текста новостного сообщения. Это может быть либо идентификатор страницы, либо алиас. Используется для отображения полного текста новостного сообщения с помощью шаблона, отличного от используемого в краткой сводке.'; $lang['helpdetailtemplate'] = 'Использование отдельной базы данных шаблонов для подробного отображения статьи. Этот шаблон должен существовать и быть видимым в деталях шаблона на вкладке новостей администратора, но он не должен быть включен по умолчанию. Если этот параметр не указан, то будет использоваться текущий шаблон с пометкой умолчанию.'; $lang['helpformtemplate'] = 'Используйте шаблон базы данных чтобы отобразить форму представления статьи. Этот шаблон должен существовать и быть видимым во вкладке шаблонов формы администрации новостей, хотя это не должно быть значением по умолчанию. Если этот параметр не определен, то будет использоваться текущий шаблон, отмеченный как значение по умолчанию.'; $lang['helpmoretext'] = 'Текст, отображаемый в конце новостного объекта если он превышает длину резюме. По умолчанию "more..."'; $lang['helpnumber'] = 'Максимальное число отображаемых элементов =- в случае незаполнения будет показывать все объекты.'; $lang['helpshowall'] = 'Показать все новости, независимо от даты окончания'; $lang['helpshowarchive'] = 'Показывать только статьи с истекшим сроком.'; $lang['helpsortasc'] = 'Сортировать статьи по возрастанию даты, а не по убыванию.'; $lang['helpsortby'] = 'Поле для сортировки. Варианты: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". По умолчанию это "news_date". Если "random", то предполагается, что в sortasc параметр игнорируется.'; $lang['helpstart'] = 'Начать с n-го объекта -- в случае незаполнения будет начинать с первого объекта.'; $lang['helpsummarytemplate'] = 'Использовать отдельный шаблон для отображения резюме. Он должен быть расположен в папке modules/News/templates.'; $lang['help_articleid'] = 'Этот параметр применяется только для подробного просмотра. Это позволяет указать, какие статьи новостей на дисплее в режиме "подробно". Если специальное значение -1 используется, то система будет показывать новейшую опубликованную, не истекшую статью.'; $lang['help_article_title'] = 'Введите заголовок статьи. Он должен быть коротким и не содержать html теги.'; $lang['help_article_category'] = 'С целью упорядочения статей, вы можете выбрать категорию.'; $lang['help_article_content'] = 'Введите основной текст статьи здесь'; $lang['help_article_enddate'] = 'Если используется срок публикации, то эта дата определяет, когда эта статья будет закрыта для показа.'; $lang['help_article_extra'] = 'Это дополнительное поле используется в новостной статье. Оно может быть использовано для сортировки или для других дизайнерских целей.'; $lang['help_article_searchable'] = 'Это поле показывает, что эта статья должна быть индексирована модулем Поиска.'; $lang['help_article_postdate'] = 'postdate (обычно это текущая дата для новой статьи) - используется для как дата публикации для этой статьи. Также используется для сортировки.'; $lang['help_article_summary'] = 'Добавьте краткий параграф, чтобы описать статью. Это резюме может быть использовано при выводе списка статей.'; $lang['help_article_startdate'] = 'Если срок публикации включен, то эта дата обозначает дату, начиная с которой статья будет выводиться на веб-сайте.'; $lang['help_article_status'] = 'Если вы хотите, чтобы статья была доступна для просмотра другими пользователями, выберите статус опубликована. Если вы хотите продолжить работу над этой статьей некоторое время, выберите черновик.'; $lang['help_article_url'] = 'Необязательный URL-адрес статьи (на некоторых других платформах это называется слагом) - это ЧПУ URL-адрес для доступа к этой статье. Пользователи могут перейти к / , чтобы просмотреть эту статью.'; $lang['help_article_useexpiry'] = 'Этот флажок включает или выключает использование срока публикации статьи на сайте. Срок публикации определяет, когда статья становится видимой на веб-сайте, а когда она впоследствии становится недоступной для прочтения.'; $lang['help_articles_filtercategory'] = 'При необходимости можно отфильтровать список статей по их категориям'; $lang['help_articles_filterchildcats'] = 'Если этот параметр включен, то будут отображаться статьи из выбранной категории и из дочерних категории.'; $lang['help_articles_pagelimit'] = 'Выберите количество статей для отображения на одной странице. Для сайтов с большим количеством статей указание ограничения на количество страниц от 10 до 100 значительно повысит производительность.'; $lang['help_articles_sortby'] = 'Выберите способ первоначальной сортировки статей.'; $lang['help_category_name'] = 'Введите имя для этой категории. Имя должно быть безопасным для использования в URL-адресах и не должно содержать специальных символов.'; $lang['help_category_parent'] = 'При желании укажите родительскую категорию для построения иерархии категорий.'; $lang['help_fesubmit_redirect'] = 'Идентификатор страницы или псевдоним для перенаправления после успешной публикации из фронтенда'; $lang['help_fielddef_maxlen'] = 'Для текстовых полей вы можете указать максимальную длину ввода (в символах)'; $lang['help_fielddef_name'] = 'Каждое поле должно иметь имя. Хотя это и не обязательно, имя поля должно содержать только буквенно-цифровые символы и подчеркивание. Воздержитесь от использования пробелов в имени поля.'; $lang['help_fielddef_options'] = 'Здесь вы можете указать параметры для выпадающего списка.'; $lang['help_fielddef_public'] = 'Укажите, является ли поле общедоступным или нет. Общедоступные поля можно выводить в шаблонах для фронтенда сайта, и их можно использовать в action fesubmit. Поля, которые не являются общедоступными, могут редактироваться только авторизованными администраторами в интерфейсе администратора.'; $lang['help_fielddef_type'] = 'Каждое пользовательское поле может быть разного типа для разных целей. Выберите тип поля, который лучше всего соответствует вашему требованию.'; $lang['help_idlist'] = 'Применимо только к default action (вывод списка статей). Этот параметр принимает список id статей, разделенных запятыми, и позволяет фильтровать статьи только по указанным идентификаторам. Фактический список выводимых статей по-прежнему зависит от статуса статьи, срока публикации и других параметров.'; $lang['help_opt_alert_drafts'] = 'Если этот параметр включен, вы будете получать уведомления (предупреждения) о том, что одна или несколько новостных статей необходимо просмотреть и опубликовать.'; $lang['help_opt_allowed_upload_types'] = 'Для пользовательский полей типа «файл». Этот параметр определяет список (через запятую) расширений файлов, допустимых для загрузки редактором статьи.'; $lang['help_opt_dflt_category'] = 'Эта опция позволяет указать категорию по умолчанию для новых новостных статей.'; $lang['help_opt_hide_summary'] = 'Эта опция позволяет отключить поле резюме при добавлении и/или редактировании новостной статьи (в том числе для action fesubmit) '; $lang['help_opt_allow_summary_wysiwyg'] = 'Это поле указывает, следует ли включать WYSIWYG-редактор для поля резюме при редактировании статьи. Эта опция игнорируется полностью, если поле резюме полностью отключено.'; $lang['help_opt_expiry_interval'] = 'Установите количество дней по умолчанию (минимум 1), через которые истечет срок действия статьи. Срок публикации можно изменить при добавлении или редактировании новостной статьи.'; $lang['help_pagelimit'] = 'Максимальное число элементов для отображения (на странице). Если этот параметр не будет указан, то будут отображены все соответствующие элементы. Если будет указан, и есть больше доступных элементов, чем указанно в параметре, то будет ставиться текст и ссылки, чтобы позволить просматривать результаты'; $lang['hide_summary_field'] = 'Скрыть поле резюме при добавлении или редактировании новостей'; $lang['info_allow_fesubmit'] = 'Этот параметр определяет, будет ли опция fesubmit вообще разрешена для работы на этом сайте. Будьте осторожны при включении этого параметра.'; $lang['info_categories'] = 'Для упорядочения новостных статей они могут быть распределены по категориям.'; $lang['info_detail_returnid'] = 'Этот параметр используется для назначения страницы (и соответствнно шаблона), в которой будет показываться полный текст новости. Альтернативные ссылки на новость не будут работать, если этот параметр не установлен. Также, если этот параметр установлен и тег {news} используется без параметра detailpage, то это значение будет использовано по умолчанию.'; $lang['info_expired_searchable'] = 'Если этот параметр включен, статьи с завершённым сроком публикации будут индексироваться модулем поиска и отображаться в результатах поиска.'; $lang['info_expired_viewable'] = 'Если этот параметр включен, статьи с оконченным сроком публикации можно просматривать в подробном режиме (это воспроизводит более старую функциональность). Параметр showall можно использовать в URL-адресе (если не используются ЧПУ), чтобы также вывести старые статьи для просмотра.'; $lang['info_fesubmit_notification'] = 'Вы можете отправить одно письмо на один адрес при публикации статьи пользователем на сайте.'; $lang['info_maxlength'] = 'Максимальная длина применяется только для полей ввода текста.'; $lang['info_public'] = 'Только публичные поля доступны на сайте и выводятся в списке статей или при детальном просмотре.'; $lang['info_reorder_categories'] = 'Возьмите и тяните категорию в нужную позицию, чтобы изменить порядок категорий'; $lang['info_searchable'] = 'Это поле показывает, что статья должна индексироваться модулем Поиска по сайту.'; $lang['info_sysdefault'] = '(шаблон используется по умолчанию, когда выбирается новый шаблон)'; $lang['info_sysdefault2'] = ' Примечание: Эта вкладка содержит текстовые области, чтобы позволить Вам редактировать набор шаблонов, которые отображены, когда Вы создаете \'new\' резюме, подробно, или шаблон формы. Измените содержание в этой вкладке, и щелкните \'Отправить\' будет не влияет на любые текущие экраны.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Поиск новостной статьи'; $lang['linkedfile'] = 'Связанный файл'; $lang['maxlength'] = 'Максимальная длина'; $lang['msg_cancelled'] = 'Операция отменена'; $lang['msg_categoriesreordered'] = 'Порядок категорий изменён'; $lang['msg_contenttype_removed'] = 'Тип содержания новостей был удален. Пожалуйста поместите {news} теги с соответствующими параметрами в ваш шаблон страницы или в ваше содержание страницы, чтобы заменить эти функциональные возможности.'; $lang['msg_success'] = 'Операция успешна'; $lang['more'] = 'Подробнее'; $lang['moretext'] = 'Текст для подробнее'; $lang['name'] = 'Имя'; $lang['nameexists'] = 'Поле с таким именем уже существует'; $lang['needpermission'] = 'Вам нужны права \'%s\' для совершения этого действия.'; $lang['newcategory'] = 'Новая категория'; $lang['news'] = 'Новости'; $lang['news_return'] = 'Вернуться'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'В данный момент нет новостных статей.'; $lang['noarticlesinfilter'] = 'Нет статей, соответствующих данной выборке.'; $lang['nocategorygiven'] = 'Не задана категория'; $lang['nocontentgiven'] = 'Не задан полный текст'; $lang['noitemsfound'] = 'Нет элементов в этой категории: %s'; $lang['nonamegiven'] = 'Не задано имя'; $lang['none'] = 'Нет'; $lang['nopostdategiven'] = 'Не введена дата публикации'; $lang['notanumber'] = 'Максимальная длина не является не числом'; $lang['note'] = 'Примечание: Даты должны быть в формате \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'У вас есть не опубликованные новости, всего %s'; $lang['notify_n_draft_items_sub'] = '%d новостных статей'; $lang['notitlegiven'] = 'Не задан заголовок'; $lang['numbertodisplay'] = 'Количество для показа (если не задано, то выводит все)'; $lang['options'] = 'Опции'; $lang['optionsupdated'] = 'Опции были успешно обновлены.'; $lang['parent'] = 'Родитель'; $lang['postdate'] = 'Дата публикации'; $lang['postinstall'] = 'Убедитесь, что вы установили права "Modify News" для тех пользователей, кто должен администрировать материалы.'; $lang['post_date_asc'] = 'Дате (Новые внизу)'; $lang['post_date_desc'] = 'Дате (Новые вверху)'; $lang['preview'] = 'Предпросмотр'; $lang['prevpage'] = '<'; $lang['print'] = 'Печать'; $lang['prompt_alert_drafts'] = 'Предупреждение для не утверждённых статей.'; $lang['prompt_allow_fesubmit'] = 'Разрешить публикацию статей пользователями сайта.'; $lang['prompt_default'] = 'По умолчанию'; $lang['prompt_go'] = 'Вперёд'; $lang['prompt_name'] = 'Имя'; $lang['prompt_newtemplate'] = 'Создать новый шаблон'; $lang['prompt_of'] = 'из'; $lang['prompt_page'] = 'Страница'; $lang['prompt_pagelimit'] = 'Новостей на страницу'; $lang['prompt_redirecttocontent'] = 'Вернуться назад'; $lang['prompt_sorting'] = 'Сортировать по'; $lang['prompt_template'] = 'Исходные данные шаблона'; $lang['prompt_templatename'] = 'Имя шаблона'; $lang['public'] = 'Общий'; $lang['published'] = 'Опубликовано'; $lang['reassign_category'] = 'Сменить категорию на'; $lang['removed'] = 'Удалено'; $lang['reorder'] = 'Изменить порядок'; $lang['reorder_categories'] = 'Изменить порядок категорий'; $lang['reset'] = 'Сброс'; $lang['resettodefault'] = 'Сбросить установки'; $lang['restoretodefaultsmsg'] = 'Эта операция восстановит содержание шаблонов к изначальному. Продолжить?'; $lang['revert'] = 'Установить статус \'Черновик\''; $lang['searchable'] = 'Участвует в поиске'; $lang['select'] = 'Выбрать'; $lang['select_option'] = 'Выбрать вариант'; $lang['selectall'] = 'Выбрать всё'; $lang['selectcategory'] = 'Выберите категорию'; $lang['showchildcategories'] = 'Показывать подкатегории'; $lang['sortascending'] = 'Сортировать по возрастанию'; $lang['startdate'] = 'Дата начала'; $lang['startdatetoolate'] = 'Дата начала слишком поздняя (после даты окончания?)'; $lang['startoffset'] = 'Начать вывод новостей с n-ой'; $lang['startrequiresend'] = 'Ввод даты начала требует ввода даты окончания'; $lang['status'] = 'Статус'; $lang['status_asc'] = 'Статус (от А до Я)'; $lang['status_desc'] = 'Статусу (от Я до А)'; $lang['subject_newnews'] = 'Новость была размещена'; $lang['submit'] = 'Отправить'; $lang['summary'] = 'Резюме'; $lang['summarytemplate'] = 'Шаблон для резюме'; $lang['summarytemplateupdated'] = 'Шаблон для резюме был успешно обновлен.'; $lang['sysdefaults'] = 'Восстановить значения по умолчанию'; $lang['template'] = 'Шаблон'; $lang['textarea'] = 'Текстовая область'; $lang['textbox'] = 'Ввод текста'; $lang['title'] = 'Заголовок'; $lang['title_asc'] = 'Заголовку (от А до Я)'; $lang['title_available_templates'] = 'Доступные шаблоны'; $lang['title_browsecat_sysdefault'] = 'Обзор по умолчанию категории шаблона'; $lang['title_browsecat_template'] = 'Просмотр категории редактора шаблонов'; $lang['title_desc'] = 'Заголовку (от Я до А)'; $lang['title_detail_returnid'] = 'Страница по умолчанию для полного текста новости'; $lang['title_detail_settings'] = 'Настройки показа полного текста новости'; $lang['title_detail_sysdefault'] = 'Шаблон полный текст по умолчанию'; $lang['title_detail_template'] = 'Редактор шаблона полный текст'; $lang['title_draft_entries'] = 'Не утверждённые статьи'; $lang['title_fesubmit_form'] = 'Опубликовать статью'; $lang['title_fesubmit_settings'] = 'Настройки добавления новостей пользователями'; $lang['title_filter'] = 'Фильтр'; $lang['title_form_sysdefault'] = 'Форма шаблона по умолчанию'; $lang['title_form_template'] = 'Редактор форм шаблонов'; $lang['title_news_settings'] = 'Настройки модуля Новости'; $lang['title_notification_settings'] = 'Настройки уведомлений'; $lang['title_submission_settings'] = 'Настройки добавления новостей'; $lang['title_summary_sysdefault'] = 'Шаблон резюме по умолчанию'; $lang['title_summary_template'] = 'Редактор шаблона резюме'; $lang['toggle_bulk'] = 'Выбрать эту статью для массовой обработки'; $lang['type'] = 'Тип'; $lang['type_browsecat'] = 'Посмотреть категорию'; $lang['type_form'] = 'Форма для сайта'; $lang['type_detail'] = 'Подробно'; $lang['type_News'] = 'Новости'; $lang['type_summary'] = 'Резюме'; $lang['unknown'] = 'Неизвестно'; $lang['unlimited'] = 'Неограничено'; $lang['up'] = 'Вверх'; $lang['uploadscategory'] = 'Загрузка файлов'; $lang['url'] = 'Ссылка'; $lang['useexpiration'] = 'Использовать дату окончания'; $lang['viewfilter'] = 'Фильтр'; $lang['warning_preview'] = 'Предупреждение: Данная панель предпросмотра во многом подобна полноценному браузеру и позволяет покинуть стартовую страницу, перейдя по размещённым на ней ссылкам. Однако, после этого Вы можете столкнуться с неожиданным поведением. Покинув стартовую страницу и затем вернувшись, Вы можете не получить ожидаемого результата.
    Примечание: Окно предпросмотра позволяет выбрать файлы для загрузки, но не выполняет загрузку.'; $lang['with_selected'] = 'С выбранными'; $lang['ga'] = 'GA1.2.1577865953.1612097230'; ?>(buď už existuje, alebo obsahuje neplatné znaky)'; $lang['error_mkdir']='Nie je možné vytvoriť adresár: %s'; $lang['error_movefile']='Nie je možné vytvoriť súbor: %s'; $lang['error_noarticlesselected']='Neboli vybrané žiadne novinky'; $lang['error_nooptions']='Nezadané žiadne pole'; $lang['error_templatenamexists']='Šablóna s týmto názvom už existuje'; $lang['error_upload']='Problém pri nahrávaní súboru'; $lang['eventdesc-NewsArticleAdded']='Poslať po pridaní novinky'; $lang['eventdesc-NewsArticleDeleted']='Poslať po odstránení novinky'; $lang['eventdesc-NewsArticleEdited']='Poslať po upravení novinky'; $lang['eventdesc-NewsCategoryAdded']='Poslať po pridaní kategórie'; $lang['eventdesc-NewsCategoryDeleted']='Poslať po odstránení kategórie'; $lang['eventdesc-NewsCategoryEdited']='Poslať po upravení kategórie'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Staré'; $lang['expired_searchable']='Vypršané články sa môžu objaviť vo výsledkoch vyhľadávania'; $lang['expired_viewable']='Detail môže byť zobrazený pri vypršanom článku'; $lang['expiry']='Vyprší'; $lang['expiry_date_asc']='Dátum expirácie - vzostupne'; $lang['expiry_date_desc']='Dátum expirácie - zostupne'; $lang['expiry_interval']='Počet dní (prednastavených) pre expiráciu novinky (v prípade že expiráciu pri novinke vyberiete)'; $lang['extra']='Extra pole'; $lang['extra_label']='Extra: '; $lang['fesubmit_redirect']='PageID alebo alias pre presmerovanie po pridaní novinky odoslanej cez front-end formulár'; $lang['fesubmit_status']='Stav novinky po odoslaní cez front-end'; $lang['fielddef']='Vlastné pole'; $lang['fielddefadded']='Vlastné pole bolo úspešne pridané'; $lang['fielddefdeleted']='Vlastné pole odstránené'; $lang['fielddefupdated']='Vlastné pole bolo aktualizované'; $lang['file']='Súbor'; $lang['filter']='Filtre'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='E-mailová adresa pre prijímanie notifikácie odoslaný noviniek cez front-end'; $lang['formtemplate']='Šablóna pre formulár'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='Tento parameter je použiteľný iba pri použití detailu novinky a definuje id konkrétnej novnky. Hodnota -1 nastavuje detail najnovšej publikovanej, neexpirovanej novinky.'; $lang['help_pagelimit']='Najväčší počet položiek pre zobrazenie na stránke. Ak tento údaj nie je zadaný, budú zobrazené všetky vyhovujúce položky. Ak je zadaný a je dostupných viacej položiek, ako určuje parameter, bude vytvorený text a linky pre umožnenie prechádzania výsledkami.'; $lang['helpaction']='Override the default action. Possible values are:
    • &quot;detail&quot; - to display a specified articleid in detail mode.
    • &quot;default&quot; - to display the summary view
    • &quot;fesubmit&quot; - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • &quot;browsecat&quot; - to display a browseable category list.
    '; $lang['helpbrowsecat']='Ukáže prechádzateľný zoznam kategórií.'; $lang['helpbrowsecattemplate']='Použitie šablóny z databázy pre zobrazenie zoznamu kategórii. Táto šablóna musí byť vytvorená a musí byť zobrazená v záložke Šablóny pre zoznam kategórii. V prípade, že tento parameter zadáte, nemusíte šablónu označovať ako prednastavenú. V prípade, že parameter nevyplníte, zobrazí sa šablóna prednastavená.'; $lang['helpcategory']='Zobraziť iba položky téjto kategórie a ích podpoložiek. Ponechané prázdne zobrazí všetky kategórie.'; $lang['helpdetailpage']='Stránka, kde sá bude zobrazovať detail novinky Môže byť ako ID stránky alebo alias stránky. Používa sa v prípade, keď chcete detail zobraziť v inej šablóne ako máte zobrazený súhrn.'; $lang['helpdetailtemplate']='Používať oddelenú šablónu pre detail. Táto šablóna má býť v modules/News/templates.'; $lang['helpformtemplate']='Použitie šablóny z databázy pre zobrazenie formulára pre odoslanie článku. Táto šablóna musí byť vytvorená a musí byť zobrazená v záložke Šablóna pre formulár. V prípade, že tento parameter zadáte, nemusíte šablónu označovať ako prednastavenú. V prípade, že parameter nevyplníte, zobrazí sa šablóna prednastavená.'; $lang['helpmoretext']='Text pre zobrazenie na konci novinky ak presahuje dĺžku súhrnu. Predvolený je "more..."'; $lang['helpnumber']='Maximálny počet položiek k zobrazeniu - ponechané prázdne zobrazí všetky položky.'; $lang['helpshowall']='Zobraziť všetky články, bez ohľadu na dátum konca'; $lang['helpshowarchive']='Ukáž staré príspevky.'; $lang['helpsortasc']='Triediť novinky vzostupne.'; $lang['helpsortby']='Pole pre triedenie. Možnosti sú: "news_date", "summary", "news_data", "news_category", "news_title". Predvolené je "news_date".'; $lang['helpstart']='Začiatok zobrazovania od N-tej položky -- ponechané prázdne začne zobrazovať od prvej položky'; $lang['helpsummarytemplate']='Používať oddelenú šablónu pre súhrn. Táto šablóna má byť v modules/News/templates.'; $lang['hide_summary_field']='Skryť pole pre súhrn pri pridávaní a editácii noviniek'; $lang['info_detail_returnid']='Parameter služi na zobrazenie novinky na vybranej detailnej stránke. Vlastné URL nebudú fungovať ak nebude tento parameter nastavený na korektnú stránku. Pokiaľ je ale nastavená táto voľba a detailpage parameter nebude zadaný v značke News, použije sa pre zobrazenie detailu dáto voľba.'; $lang['info_expired_viewable']='Pokiaľ je voľba zapnutá, bude možné zobraziť detail článku Toto nastavenie sa aplikuje aj pri použití parametra showall'; $lang['info_maxlength']='Maximálna dĺžka poľa sa používa iba pre textové polia'; $lang['info_public']='Iba polia nastavené ako verejné sa zobrazujú na stránke.'; $lang['info_sysdefault']='(východzia šablóna pre novú šablónu)'; $lang['info_sysdefault2']='Poznámka: Táto záložka obsajue polia pre úpravu šablón, ktoré sú zobrazené, keď vytváraťe novú šablónu pre súhrn, detail, alebo formulár. Úpravou týchto šablón nemá žiadny efekt na aktuálne používané šablóny.'; $lang['lastpage']='>>'; $lang['maxlength']='Maximálna dĺžka'; $lang['more']='Viac'; $lang['moretext']='Viac textu'; $lang['msg_contenttype_removed']='Podpora pre typ obsahu stránky pre novinky bola zrušená. Prosím vložte tag {news} s príslušnými parametrami do vašej stránky, prípadne šablóny.'; $lang['name']='Meno'; $lang['nameexists']='Vlastné pole s týmto názvom už existuje'; $lang['needpermission']='Potrebujete '%s' oprávnenia pre uskutočnenie tejto funkcie.'; $lang['newcategory']='Nová kategórie'; $lang['news']='Novinky'; $lang['news_return']='Návrat'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nebola zadaná kategória'; $lang['nocontentgiven']='Nebol zadaný obsah'; $lang['noitemsfound']='Neboli nájdene žiadne položky v kategórii: %s'; $lang['nonamegiven']='Nebolo zadané žiadne meno'; $lang['none']='Žiadne'; $lang['nopostdategiven']='Nebol zadaný dátum publikovania'; $lang['notanumber']='Maximálna dĺžka poľa musí byť číslo'; $lang['note']='Poznámka: Dátumy musia byť v 'yyyy-mm-dd hh:mm:ss' formáte.'; $lang['notify_n_draft_items']='Máte %s ktoré nie je/sú publikované'; $lang['notify_n_draft_items_sub']='%d novinka'; $lang['notitlegiven']='Nebol zadaný nadpis'; $lang['numbertodisplay']='Zobraziť počet (prázdne pre všetky záznamy)'; $lang['options']='Voľby'; $lang['optionsupdated']='Voľby boli úspešne upravené.'; $lang['post_date_asc']='Dátum publikovania - vzostupne'; $lang['post_date_desc']='Dátum publikovania - zostupne'; $lang['postdate']='Dátum publikovania'; $lang['postinstall']='Uistite sa, že používatelia ktorí budú spravovať novinky, majú nastavené oprávnenie "Modify News".'; $lang['preview']='Náhľad'; $lang['prevpage']='<'; $lang['print']='Tlačiť'; $lang['prompt_default']='Východzie'; $lang['prompt_name']='Meno'; $lang['prompt_newtemplate']='Vytvoriť novú šablónu'; $lang['prompt_of']='z'; $lang['prompt_page']='Stránka'; $lang['prompt_pagelimit']='Limit stránky'; $lang['prompt_sorting']='Zoradiť podľa'; $lang['prompt_template']='Zdroj šablóny'; $lang['prompt_templatename']='Názov šablóny'; $lang['public']='Verejné'; $lang['published']='Publikované'; $lang['reassign_category']='Zmeniť kategóriu na'; $lang['removed']='Odstránený'; $lang['resettodefault']='Obnoviť východzie nastavenia'; $lang['restoretodefaultsmsg']='Táto operácia obnoví východzí obsah šablón. Ste si istý, že chcete pokračovať?'; $lang['revert']='Nastaviť ako 'Návrh''; $lang['select']='Vybrať'; $lang['selectcategory']='Vybrať kategóriu'; $lang['showchildcategories']='Zobraziť podriadené kategórie'; $lang['sortascending']='Triediť vzostupne'; $lang['startdate']='Začína'; $lang['startdatetoolate']='Dátum začiatku je väčší ako dátum konca'; $lang['startoffset']='Začiatok zobrazovania od N-tej položky'; $lang['startrequiresend']='Vloženie dátumu začiatku potrebuje tiež dátum ukončenia'; $lang['status']='Stav'; $lang['status_asc']='Stav zostupne'; $lang['status_desc']='Stav vzostupne'; $lang['subject_newnews']='Bola pridaná novinka'; $lang['submit']='Odoslať'; $lang['summary']='Súhrn'; $lang['summarytemplate']='Šablóna súhrnu'; $lang['summarytemplateupdated']='Súhrnná šablóna pre novinky bola úspešne upravená.'; $lang['sysdefaults']='Obnoviť východzie nastavenie'; $lang['template']='Šablóna'; $lang['textarea']='Textová oblasť'; $lang['textbox']='Textové pole'; $lang['title']='Nadpis'; $lang['title_asc']='Nadpis - vzostupne'; $lang['title_available_templates']='Dostupné šablóny'; $lang['title_browsecat_sysdefault']='Prednastavená šablóna pre zoznam kategórii'; $lang['title_browsecat_template']='Editor pre šablónu zoznamu kategórii'; $lang['title_desc']='Nadpis - zostupne'; $lang['title_detail_returnid']='Prednastavené stránka pre detail'; $lang['title_detail_settings']='Nastavenie detailu'; $lang['title_detail_sysdefault']='Východzia šablóna podrobnosti'; $lang['title_detail_template']='Editor šablóny podrobnosti'; $lang['title_fesubmit_settings']='Nastavenie odoslania cez web'; $lang['title_filter']='Filtre'; $lang['title_form_sysdefault']='Prednastavená šablóna pre formulár'; $lang['title_form_template']='Editor pre šasblónu pre formulár'; $lang['title_notification_settings']='Nastavenia notifikácie'; $lang['title_submission_settings']='Nastavenie odoslania noviniek '; $lang['title_summary_sysdefault']='Východzia šablóna súhrnu '; $lang['title_summary_template']='Editor šablóny súhrnu'; $lang['type']='Typ'; $lang['unknown']='Neznámy'; $lang['unlimited']='Bez obmedzenia'; $lang['up']='Hore'; $lang['uploadscategory']='Nahrá kategóriu'; $lang['url']='URL adresa'; $lang['useexpiration']='Použíť dátum konca'; $lang['warning_preview']='Upozornenie: Záložka náhľadu umožuje zobraziť aktuálnu novinku bez uloženie. Avšak pri zložitých úpravach, sa nemúsí náhľad zobraziť korektne
    Poznámka: Náhľad nezobrazí obrázky, ktoré máte vybrané pre nahratie v nahrávacom poli.'; ?>(Mogoče je že v uporabi, ali pa obstajajo neveljavni znaki)'; $lang['error_mkdir']='Ne morem ustvariti mape: %s'; $lang['error_movefile']='Ne morem ustvariti datoteke: %s'; $lang['error_noarticlesselected']='Noben članek ni bil izbran'; $lang['error_templatenamexists']='Predloga s tem imenom že obstaja'; $lang['error_upload']='Prišlo je do napake pri nalaganju datoteke'; $lang['eventdesc-NewsArticleAdded']='Poslano, ko je dodan nov članek.'; $lang['eventdesc-NewsArticleDeleted']='Poslano, ko je članek izbrisan.'; $lang['eventdesc-NewsArticleEdited']='Poslano, ko je članek spremenjen.'; $lang['eventdesc-NewsCategoryAdded']='Poslano, ko je dodana nova kategorija.'; $lang['eventdesc-NewsCategoryDeleted']='Poslano, ko je kategorija izbrisana.'; $lang['eventdesc-NewsCategoryEdited']='Poslano, ko je kategorija spremenjena.'; $lang['eventhelp-NewsArticleAdded']='

    Sent when an article is added.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • \"news_id\" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • \"news_id\" - Id of the news article
    • \"category_id\" - Id of the category for this article
    • \"title\" - Title of the article
    • \"content\" - Content of the article
    • \"summary\" - Summary of the article
    • \"status\" - Status of the article ("draft" or "publish")
    • \"start_time\" - Date the article should start being displayed
    • \"end_time\" - Date the article should stop being displayed
    • \"useexp\" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • \"category_id\" - Id of the deleted category
    • \"name\" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • \"category_id\" - Id of the news category
    • \"name\" - Name of the news category
    • \"origname\" - The original name of the news category
    '; $lang['expired']='Zapadlo'; $lang['expired_searchable']='Potekli članki se lahko prikažejo v rezultatih iskanja'; $lang['expiry']='Zapadlost'; $lang['expiry_date_asc']='Datum zapada naraščajoče'; $lang['expiry_date_desc']='Datum zapada padajoče'; $lang['expiry_interval']='Privzeto število dni, preden objava članka zapade (če je omogočeno zapadanje)'; $lang['extra']='Dodatno'; $lang['extra_label']='Dodatno:'; $lang['fesubmit_redirect']='ID ali alias strani za preusmeritev po objavi članka preko akcije fesubmit'; $lang['fesubmit_status']='Status člankov, objavljenih preko front-end strani'; $lang['fielddef']='Definicija polja'; $lang['fielddefadded']='Definicija polja uspešno dodana'; $lang['fielddefdeleted']='Definicija polja je bila izbrisana'; $lang['fielddefupdated']='Definicija polja je bila shranjena'; $lang['file']='Datoteka'; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='E-mail za prejemanje obvestil o objavi novih člankov'; $lang['formtemplate']='Obrazci - predloge'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='Parameter se uporablja samo v podrobnem pogledu. Omogoča določevanje katere novice naj se prikažejo v podrobnem pogledu. Če je uporabljena posebna vrednost -1, bo sistem prikazal najnovejši objavljen članek.'; $lang['help_pagelimit']='Največje število zapisov (na stran) za prikaz. Če parameter ni nastavljen, bodo prikazani vsi zapisi. Če je zapisov več od te vrednosti, bo prikazana navigacija za premikanje med rezultati.'; $lang['helpaction']=''Override the default action. Possible values are:
    • &quot;detail&quot; - to display a specified articleid in detail mode.
    • &quot;default&quot; - to display the summary view
    • &quot;fesubmit&quot; - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • &quot;browsecat&quot; - to display a browseable category list.
    '; $lang['helpbrowsecat']='Prikaže seznam kategorij za pregledovanje.'; $lang['helpbrowsecattemplate']='Uporabi ločeno predlogo baze za prikaz pregledovanja kategorij. Ta predloga mora obstajati in biti vidna v zavihku za predloge pregledovanja kategorij v administraciji novic, ni pa potrebno, da je nastavljena za privzeto predlogo. Če parameter ni določen, bo uporabljena predloga, ki je izbrana kot privzeta predloga.'; $lang['helpcategory']='Uporabljeno v prikazu povzetkov za prikaz zapisov samo določene kategorije.Uporabite * za imenom, če želite prikazati tudi vse podrejene zapise. Če želite uporabiti več kategorij, jih ločite med seboj z vejico. Če pustite polje prazno, bodo prikazane vse kategorije. Ta parameter deluje tudi pri front-end objavi, vendar je podprto samo ime ene kategorije.'; $lang['helpdetailpage']='Stran za prikaz podrobnosti novic. To je lahko psevdonim strani ali pa ID strani. Uporabno za omogočanje prikaza podrobnosti novice v drugačni predlogi kot povzetek.'; $lang['helpdetailtemplate']='Uporabi ločeno predlogo baze za prikaz podrobnosti članka. Ta predloga mora obstajati in biti vidna v zavihku za predloge podrobnosti člankov v administraciji novic, ni pa potrebno, da je nastavljena za privzeto predlogo. Če parameter ni določen, bo uporabljena predloga, ki je izbrana kot privzeta predloga.'; $lang['helpformtemplate']='Uporabi ločeno predlogo baze za prikaz obrazca za objavo članka. Ta predloga mora obstajati in biti vidna v zavihku za predloge obrazcev v administraciji novic, ni pa potrebno, da je nastavljena za privzeto predlogo. Če parameter ni določen, bo uporabljena predloga, ki je izbrana kot privzeta predloga.'; $lang['helpmoretext']='Besedilo za prikaz na koncu članka, če je dolžina daljša od dolžine povzetka. Privzeto "več..."'; $lang['helpnumber']='Največje število zapisov za prikaz -- če pustite prazno, bodo prikazani vsi zapisi.'; $lang['helpshowall']='Prikaži vse članke, ne glede na datum zaključka objave'; $lang['helpshowarchive']='Prikaži samo zapadle članke.'; $lang['helpsortasc']='Razvrsti zapise naraščajoče namesto padajoče.'; $lang['helpsortby']='Polje za razvrstitev. Možnosti na voljo: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Privzeta vrednost je "news_date". Če izberete "random", ne bo uporabljen parameter sortasc.'; $lang['helpstart']='Začni prikaz pri n-tem zapisu -- če pustite prazno, bo prikaz začel pri prvem zapisu.'; $lang['helpsummarytemplate']='Uporabi ločeno predlogo baze za prikaz povzetka članka. Ta predloga mora obstajati in biti vidna v zavihku za predloge povzetkov v administracij novic, ni pa potrebno, da je nastavljena za privzeto predlogo. Če parameter ni določen, bo uporabljena predloga, ki je izbrana kot privzeta predloga.'; $lang['hide_summary_field']='Skrij polje za povzetek pri dodajanju ali urejanju člankov'; $lang['info_detail_returnid']='Ta nastavitev se uporablja za določanje strani (in zato predlogo) za uporabo v podrobnem ogledu strani. Posebni URL-ji za podroben ogled novic ne bodo delovali, če ta parameter ni nastavljen na veljavno stran. Poleg tega, če je ta nastavljen, in noben detailpage parameter ni dodeljen v news tagu, nato bo ta vrednost uporabljena za linke do ogleda podrobnosti'; $lang['info_maxlength']='Največja dolžina veljavna samo pri poljih za tekstovni vnos'; $lang['info_sysdefault']='(vsebina, ki bo privzeto uporabljena, ko ustvarite novo predlogo)'; $lang['info_sysdefault2']='V vednost: V tem zavihku lahko urejate nabor predlog, ki bodo prikazane, ko ustvarite 'novo' predlogo za povzetek, podrobnosti ali obrazec. Spreminjanje vsebin v tem zavihku ne bo spremenilo obstoječih prikazov novic.'; $lang['lastpage']='>>'; $lang['maxlength']='Največja dolžina'; $lang['more']='Več'; $lang['moretext']='Več besedila'; $lang['msg_contenttype_removed']='Vsebina tipa novice je bila izbrisana. Prosimo vstavite oznake {news} z ustreznimi parametri v predlogo vaše spletne strani za nadomestilo te funkcionalnosti.'; $lang['name']='Ime'; $lang['nameexists']='Polje s tem imenom že obstaja'; $lang['needpermission']='Imeti morate pravico '%s', če želite izvesti to funkcijo.'; $lang['newcategory']='Nova kategorija'; $lang['news']='Novice'; $lang['news_return']='Nazaj'; $lang['nextpage']='>'; $lang['nocategorygiven']='Nobena kategorija ni podana'; $lang['nocontentgiven']='Vsebina ni podana'; $lang['noitemsfound']='Nobenih zapisov v kategoriji: %s'; $lang['nonamegiven']='Ime ni podano'; $lang['none']='Noben'; $lang['nopostdategiven']='Datum objave ni podan'; $lang['notanumber']='Največja dolžina ni število'; $lang['note']='V vednost: Datumi naj bodo v formatu 'llll-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Imate %s, ki ni(so) objavljen(i)'; $lang['notify_n_draft_items_sub']='%d člankov'; $lang['notitlegiven']='Naziv ni podan'; $lang['numbertodisplay']='Število za prikaz (prazno prikaže vse zapise)'; $lang['options']='Možnosti'; $lang['optionsupdated']='Možnosti so bile uspešno spremenjene.'; $lang['post_date_asc']='Datum objave naraščajoče'; $lang['post_date_desc']='Datum objave padajoče'; $lang['postdate']='Datum objave'; $lang['postinstall']='Prepričajte se, da nastavite pravice za urejanje novic ("Modify News") uporabnikom, ki bodo administrirali članke.'; $lang['preview']='predogled'; $lang['prevpage']='<'; $lang['print']='Tiskanje'; $lang['prompt_default']='Privzeto'; $lang['prompt_name']='Naziv'; $lang['prompt_newtemplate']='Ustvari novo predlogo'; $lang['prompt_of']='od'; $lang['prompt_page']='Stran'; $lang['prompt_pagelimit']='Omejitev strani'; $lang['prompt_sorting']='Razvrsti po'; $lang['prompt_template']='Izvorna koda predloge'; $lang['prompt_templatename']='Naziv predloge'; $lang['public']='Javno'; $lang['published']='Objavljeno'; $lang['reassign_category']='Spremeni kategorijo v'; $lang['removed']='Izbrisano'; $lang['resettodefault']='Ponastavi na izvirno različico'; $lang['restoretodefaultsmsg']='Operacija bo povrnila vsebino predloge na sistemske privzete vrednosti. Ste prepričani, da želite nadaljevati?'; $lang['revert']='Nastavi status 'Osnutek''; $lang['select']='Izberi'; $lang['selectcategory']='Izberite kategorijo'; $lang['showchildcategories']='Prikaži podrejene kategorije'; $lang['sortascending']='Razvrsti naraščajoče'; $lang['startdate']='Datum začetka objave'; $lang['startdatetoolate']='Datum začetka objave je prepozen (po datumu konca?)'; $lang['startoffset']='Začni prikaz pri n-tem zapisu'; $lang['startrequiresend']='Vnos začetka objave zahteva tudi vnos datuma konca objave'; $lang['status_asc']='Status naraščajoč'; $lang['status_desc']='Status padajoč'; $lang['subject_newnews']='Nov članek je bil objavljen v novicah'; $lang['submit']='Pošlji'; $lang['summary']='Povzetek'; $lang['summarytemplate']='Povzetek - predloge'; $lang['summarytemplateupdated']='Predloga za povzetek novice je bila uspešno shranjena.'; $lang['sysdefaults']='Povrni na privzeto'; $lang['template']='Predloga'; $lang['textarea']='Tekstovno področje'; $lang['textbox']='Tekstovni vnos'; $lang['title']='Naziv'; $lang['title_asc']='Naziv naraščajoče'; $lang['title_available_templates']='Predloge na voljo'; $lang['title_browsecat_sysdefault']='Pregledovanje kategorije - privzeta predloga'; $lang['title_browsecat_template']='Pregledovanje kategorije - urejanje predloge'; $lang['title_desc']='Naziv padajoče'; $lang['title_detail_returnid']='Predstavljena stran, za uporabo podrobnega ogleda novic'; $lang['title_detail_settings']='Nastavitve za ogled podrobnosti'; $lang['title_detail_sysdefault']='Privzeta predloga podrobnosti'; $lang['title_detail_template']='Urejevalnik predloge podrobnosti'; $lang['title_fesubmit_settings']='Nastavitve za Frontend predložitev'; $lang['title_filter']='Filtri'; $lang['title_form_sysdefault']='Privzeta predloga obrazca'; $lang['title_form_template']='Urejevalnik predloge obrazca'; $lang['title_notification_settings']='Nastavitve za obvestilo'; $lang['title_submission_settings']='Nastavitve za predložitev novic'; $lang['title_summary_sysdefault']='Privzeta predloga povzetka'; $lang['title_summary_template']='Urejevalnik predloge povzetka'; $lang['type']='Tip'; $lang['unknown']='Neznano'; $lang['unlimited']='Neomejeno'; $lang['up']='Gor'; $lang['uploadscategory']='Kategorija za nalaganje datotek'; $lang['useexpiration']='Uporabi datum zapadlosti'; ?>(možda je već u upotrebi, ili sadrži nevalidne karaktere)'; $lang['error_mkdir'] = 'Neuspešno kreiranje direktorijuma: %s'; $lang['error_movefile'] = 'Neuspešno kreiranje datoteke: %s'; $lang['error_noarticlesselected'] = 'Nije izabran nijedan članak'; $lang['error_nooptions'] = 'Za definiciju polja nisu izabrane potrebne opcije'; $lang['error_templatenamexists'] = 'Šablon pod tim nazivom već postoji'; $lang['error_upload'] = 'Došlo je do problema prilikom otpremanja datoteke'; $lang['eventdesc-NewsArticleAdded'] = 'Šalje se nakon objavljivanja svežeg članka.'; $lang['eventdesc-NewsArticleDeleted'] = 'Šalje se nakon brisanja članka'; $lang['eventdesc-NewsArticleEdited'] = 'Šalje se nakon ažuriranja članka.'; $lang['eventdesc-NewsCategoryAdded'] = 'Šalje se nakon dodavanja nove kategorije.'; $lang['eventdesc-NewsCategoryDeleted'] = 'Šalje se nakon brisanja kategorije.'; $lang['eventdesc-NewsCategoryEdited'] = 'Šalje se nakon ažuriranja kategorije.'; $lang['eventhelp-NewsArticleAdded'] = '

    Šalje se nakon objavljivanja svežeg članka.

    Parametri

    • \"news_id\" - Id članka
    • \"category_id\" - Id kategorije datog članka
    • \"title\" - Naslov članka
    • \"content\" - Sadržaj članka
    • \"summary\" - Sažetak članka
    • \"status\" - Status članka ("nacrt" ili "objavljena")
    • \"start_time\" - Datum kada bi se novost trebala početi prikazivati
    • \"end_time\" - Datum kada bi će novost prestati prikazivati
    • \"useexp\" - Da li datum isteka važnosti treba zanemariti ili ne
    '; $lang['eventhelp-NewsArticleDeleted'] = '

    Šalje se nakon brisanja članka

    Parametri

    • \"news_id\" - Id članka
    '; $lang['eventhelp-NewsArticleEdited'] = '

    Šalje se nakon ažuriranja članka.

    Parametri

    • \"news_id\" - Id članka
    • \"category_id\" - Id kategorije datog članka
    • \"title\" - Naslov članka
    • \"content\" - Sadržaj članka
    • \"summary\" - Sažetak članka
    • \"status\" - Status članka ("nacrt" ili "objavljena")
    • \"start_time\" - Datum kada bi se novost trebala početi prikazivati
    • \"end_time\" - Datum kada bi će novost prestati prikazivati
    • \"useexp\" - Da li datum isteka važnosti treba zanemariti ili ne
    '; $lang['eventhelp-NewsCategoryAdded'] = '

    Šalje se nakon dodavanja nove kategorije.

    Parametri

    • \"category_id\" - Id kategorije novosti
    • \"name\" - Naziv kategorije
    '; $lang['eventhelp-NewsCategoryDeleted'] = '

    Šalje se nakon brisanja kategorije.

    Parametri

    • \"category_id\" - Id kategorije novosti
    • \"name\" - Naziv obrisane kategorije
    '; $lang['eventhelp-NewsCategoryEdited'] = '

    Šalje se nakon ažuriranja kategorije.

    Parametri

    • \"category_id\" - Id kategorije novosti
    • \"name\" - Naziv kategorije
    • \"origname\" - Prethodni naziv kategorije
    '; $lang['expired'] = 'Istekla'; $lang['expired_searchable'] = 'Članci kojima je važnost istekla mogu se pojaviti u rezultatima pretrage'; $lang['expired_viewable'] = 'Članci koji su istekli mogu se pogledati u detaljnom pregledu'; $lang['expiry'] = 'Ističe'; $lang['expiry_date_asc'] = 'Po datumu isteka u rastućem redosledu'; $lang['expiry_date_desc'] = 'Po datumu isteka u opadajućem redosledu'; $lang['expiry_interval'] = 'Broj dana (podrazumevani) nakon kojih novost ističe (ukoliko je ta opcija čekirana)'; $lang['extra'] = 'Ekstra'; $lang['extra_label'] = 'Ejstra:'; $lang['fesubmit_redirect'] = 'ID ili alijas strane na koju će korisnik biti preusmeren nakon što objavi novi članak putem fesubmit akcije'; $lang['fesubmit_status'] = 'Status članka koji je poslat preko korisničkog dela sajta'; $lang['fielddef'] = 'Definicija polja'; $lang['fielddefadded'] = 'Definicija polja uspešno dodata'; $lang['fielddefdeleted'] = 'Definicija polja obrisana'; $lang['fielddefupdated'] = 'Definicija polja ažurirana'; $lang['file'] = 'Datoteka'; $lang['filter'] = 'Filter'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'E-mail adresa na koju će se slati obaveštenja o objavljivanju novih članaka'; $lang['formtemplate'] = 'Šabloni formi'; $lang['help'] = '

    Važne napomene

    Od verzije 2.9 nadalje, iz modula Novosti je izbačen parametar formatpostdate koji se koristio u šablonima, kao i parametar dateformat. Za formatiranje datuma u svojim šablonima biste trebali koristiti cms_date_format modifikator (kao što je prikazano u fabrički podešenim šablonima) kao i entry->postdate umesto entry->formatpostdate.

    Šta ovo radi?

    Novosti su modul za objavljivanje novosti (ozbiljno :) ) na Vašim stranicama u stilu sličan blogovima, samo sa više mogućnosti. Nakon instalacije modula, u administrativni meni se dodaje još nedna stranica, koja Vam omogućava da izaberete ili dodate kategoriju novosti. Kada kreirate ili izaberete kategoriju novosti, prikazaće se spisak novosti iz te kategorije. Potom možete dodavati, menjati ili brisati novosti u toj kategoriji.

    Brojni načini prikazivanja

    Parametri koje modul Novosti podržava, kao i podrška brojnim šablonima za svaku priliku čine da su bukvalno nemate nikakvih ograničenja u načinima prikazivanja novosti.

    Korisnički definisana polja

    Modul Novosti dopušta definisanje sopstvenih polja (uključujući dokumente i slike) koji će Vam omogućiti da člancima dodate PDF dokumente ili brojne slike.

    Kategorije

    Modul pruža hijerarhijski model kategorija za organizovanje Vaših članaka. Jedan članak može pripadati samo jednoj kategoriji.

    Datum isteka i status

    Za svaku novost opciono može biti definisan datum isteka važnosti, nakon kog ona više neće biti prikazivana na Vašem sajtu. Takođe, članak može biti označen i kao nacrt što ga trajno uklanja sa Vašeg sajta.

    Sigurnost

    Korisnik mora pripadati grupi koja ima privilegiju "Menjanje novosti" kako bi mogao dodavati i menjati novosti.

    Takođe, da bi brisao članke, korisnik mora pripadati grupi koja ima privilegiju "Brisanje novosti".

    Da bi menjao elemente izgleda novosti, korisnik mora pripadati grupi sa "Menjanje šablona" privilegijom.

    Korisnik mora pripadati grupi sa privilegijom "Menjanje podešavanja sajta" da bi menjao opšta podešavanja modula.

    Dodatno, da bi mogao odobriti da se novst pojavi na sajtu, grupi kojoj korisnik pripada mora biti dodeljena "Odobravanje novosti" privilegija.

    Kako da ga koristim?

    Najlakši način za korišćenje modula je tag {news}. Ovim će modul biti ubačen u Vaš šablon ili stranicu sa sadržajem, gde god želite, i prikazati novosti. Kod bi bio sličan ovome: {news number='5'}

    Šabloni

    Od verzije 2.3 modul podržava višestruke šablone iz baze podataka, ali više ne podržava dodatne šablonske datoteke. Korisnici koji su upotrebljavali stari sistem za šablone, trebali bi da urade sledeće (za svaku šablonsku datoteku:

    • Kopirajte sadržaj datoteke u Klipboard;
    • Kreirajte novi šablon u bazi podataka (za sažetak ili detaljan prikaz, po potrebi). Dajte šablonu isti naziv koji je imao stari šablon (uključujući i .tpl ekstenziju) i prebacite sadržaj datoteke (Paste).
    • Kliknite na 'Pošalji'

    Ovo bi trebalo da reši problem nepronalaženja šablona za novosti i druge slične Smarty greške koje su se mogle javiti nakon što se prebacite na verziju CMS MS-a koja sadrži verziju 2.3 modula ili noviju.

    '; $lang['helpaction'] = 'Premošćuje podrazumevanu akciju. Moguće vrednosti su:
    • "detail" - za prikazivanje detalja određenog članka.
    • "default" - za prikazivanje sažetka
    • "fesubmit" - za prikazivanje forme na javnom korisničkom delu sajta, kako bi se omogućilo korisnicima da šalju novosti.
    • "browsecat" - za prikazivanje liste kategorija koju je moguće pretraživati.
    '; $lang['helpbrowsecat'] = 'Prikazuje listu kategorija koja se može pretraživati.'; $lang['helpbrowsecattemplate'] = 'Koristi šablon iz baze podataka za prikazivanje liste kategorija. Ovaj šablon mora postojati i biti vidljiv na tabu šablona za pretraživanje kategorija u administratorskom delu Novosti, mada ne mora da bude podrazumevani šablon. Ukoliko ovaj parametar nije određen, koristiće se podrazumevani šablon.'; $lang['helpcategory'] = 'Koristi se pri prikazivanju sažetaka kako bi se izdvojili članci specificiranih kategorija. Nakon naziva kategorije stavite * ukoliko želite da se prikažu i podkategorije. Više kategorija se može prikazati odjednom ako njihove nazive razdvojite zarezom. Ukoliko ovo polje ostavite prazno, prikazaće se sve kategorije. Ovaj parametar funkcioniše takođe i pri slanju novosti iz korisničkog dela sajta, ali je u tom slučaju podržan samo jedan naziv kategorije.'; $lang['helpdetailpage'] = 'Stranica na kojoj će se prikazivati detaljne novosti. Vrednost ovog polja može biti alijas ili ID oznaka stranice. Koristi se kako bi se omogućilo prikazivanje detaljne novosti po šablonu drukčijem og onog po kom se prikazuje sažetak.'; $lang['helpdetailtemplate'] = 'Koristi zaseban šablon iz baze podataka za prikazivanje detalja članka. Ovaj šablon mora postojati i biti vidljiv na tabu šablona detaljnih prikaza u administratorskom delu Novosti, mada ne mora da bude podrazumevani šablon. Ukoliko ovaj parametar nije određen, koristiće se podrazumevani šablon.'; $lang['helpformtemplate'] = 'Koristi šablon iz baze podataka za prikazivanje forme za slanje članka. Ovaj šablon mora postojati i biti vidljiv na tabu šablona formi za slanje novosti u administratorskom delu Novosti, mada ne mora da bude podrazumevani šablon. Ukoliko ovaj parametar nije određen, koristiće se podrazumevani šablon.'; $lang['helpmoretext'] = 'Tekst koji će se prikazivati na kraju novosti ako ista prekoračuje dužinu sažetka. Podrazumevana vrednost je "Više".'; $lang['helpnumber'] = 'Maksimalan broj članaka koji mogu biti prikazani na jednoj stranici. Ukoliko ovo polje ostavite prazno, prikazaće se svi članci. Ovo je sinonim parametra pagelimit'; $lang['helpshowall'] = 'Prikaži sve članke, nezavisno od datuma prestanka važnosti'; $lang['helpshowarchive'] = 'Prikaži samo članke čija važnost je istekla.'; $lang['helpsortasc'] = 'Sortiraj novosti po datumu objavljivanja u rastućem redosledu, radije nego u opadajućem.'; $lang['helpsortby'] = 'Polje po kom se vrši sortiranje. Opcije su: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Podrazumevana vrednost je "news_date". Ukoliko je navedena vrednost "random", parametar sortasc će biti ignorisan.'; $lang['helpstart'] = 'Počni od n-tog članka. Ukoliko ostavite ovo polje prazno, počeće se od prvog članka.'; $lang['helpsummarytemplate'] = 'Koristi zaseban šablon iz baze podataka za prikazivanje sažetka članka. Ovaj šablon mora postojati i biti vidljiv na tabu šablona sažetaka u administratorskom delu Novosti, mada ne mora da bude podrazumevani šablon. Ukoliko ovaj parametar nije određen, koristiće se podrazumevani šablon.'; $lang['help_articleid'] = 'Parametar je primenljiv isključivo na detaljan prikaz novosti. Omogućava koji članci će biti prikazani u detaljnom modu. Ukoliko je podešen na specijalnu vrednost -1, sistem će prikazivati najsvežiji, objavljeni važeći članak.'; $lang['help_idlist'] = 'Primenljivo samo na podrazumevanu akciju (sumarni pregled). Ovaj parametar prihvata listu numeričkih ID oznaka članaka (razdvojenih zarezima) i dozvoljava filtriranje članaka samo na članke čije su ID oznake naznačene. Stvarana lista prikazanih članaka i dalje će zavisiti od statusa članka, datuma isticanja i drugih parametara.'; $lang['help_pagelimit'] = 'Maksimalan broj članaka koji će se prikazati (po stranici). Ukoliko se ovaj parametar ne podesi, biće prikazani svi članci koji zadovolje dati kriterijum. A ukoliko je parametar podešen i broj članaka ga prevaziđe, korisniku će se omogućiti da "lista" rezultate putem linkova i odgovarajućeg teksta'; $lang['hide_summary_field'] = 'Sakrij polje za unos sažetka prilikom dodavanja ili ažuriranja članaka'; $lang['info_categories'] = 'Zbog lakšeg snalaženja, članci mogu biti organizovani u hijerarhijske kategorije'; $lang['info_detail_returnid'] = 'Ovo podešavanje se koristi za određivanje stranice (a samim tim i Šablona) koji će se koristiti pri detaljnom gledanju novosti. URL ka pojedinačnim člancima neće funkcionisati ukoliko ovaj parametar nije podešen na validnu stranicu. Takođe, ako je ovo podešavanje ispravno, ali parametar detailpage u news tagu nije podešen, onda će se upotrebiti za linkove ka detaljnijim vestima.'; $lang['info_expired_viewable'] = 'Ukoliko je omogućena, ova opcija učiniće da članci koji su istekli budu vidljivi u detaljnom pregledu (ovo podražava jednu staru funkcionalnost). Parametar showall takođe može biti upotrebljen u URL (kada sajt ne koristi tzv. pretty urls ) da bi se odredila vidljivost isteklih članaka'; $lang['info_maxlength'] = 'Maksimalna dužina se odnosi isključivo na polja za unos teksta'; $lang['info_public'] = 'U korisničkom delu za editovanje, kao i za prikazivanje u sumarnom i detaljnom pregledu članaka, dostupna su samo javna polja.'; $lang['info_reorder_categories'] = 'Prevucite svaku stavku u željeni redosled, kako biste promenili odnose između kategorija'; $lang['info_searchable'] = 'Ovo polje određuje da li će ovaj članak biti indeksiran od strane modula za pretragu'; $lang['info_sysdefault'] = '(sadržaj koji se automatski ubacuje u novokreirani šablon)'; $lang['info_sysdefault2'] = 'Napomena: Ovaj tab sadrži nekoliko tekst boksova koji Vam omogućavaju da menjate skup šablona koji se prikažu kada kliknete na "Kreiraj novi šablon", bilo za sažetak, detaljan prikaz ili za formu. Menjanje sadržaja u ovom tabu i pritiskanje dugmeta 'Pošalji' neće imati uticaja na bilo koji prikaz koji sada imate na sajtu. Ovi sadržaji se odnose samo na novokreirane šablone.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Pretraži članke'; $lang['maxlength'] = 'Maksimalna dužina'; $lang['msg_cancelled'] = 'Akcija otkazana'; $lang['msg_categoriesreordered'] = 'Redosled kategorija je izmenjen'; $lang['msg_contenttype_removed'] = 'Tip sadržaja news je uklonjen iz sistema. Molimo da umesto njega ubacite {news} tagove sa odgovarajućim parametrima u šablon ili sadržaj Vaše stranice kako biste dobili istu (ali unapređenu) funkcionalnost.'; $lang['msg_success'] = 'Operacija uspešno izvršena'; $lang['more'] = 'Još'; $lang['moretext'] = 'Još teksta'; $lang['name'] = 'Naziv'; $lang['nameexists'] = 'Polje pod tim nazivom već postoji'; $lang['needpermission'] = 'Morate imati dozvolu '%s' da biste izveli tu akciju.'; $lang['newcategory'] = 'Nova kategorija'; $lang['news'] = 'Novosti'; $lang['news_return'] = 'Nazad'; $lang['nextpage'] = '>'; $lang['nocategorygiven'] = 'Nije izabrana kategorija'; $lang['nocontentgiven'] = 'Nije unet sadržaj'; $lang['noitemsfound'] = 'Nisu pronađeni članci u kategoriji: %s'; $lang['nonamegiven'] = 'Nije unet naziv'; $lang['none'] = 'Nema'; $lang['nopostdategiven'] = 'Nije unešen datum objavljivanja'; $lang['notanumber'] = 'Vrednost za maksimalnu dužinu koju ste uneli nije broj'; $lang['note'] = 'Napomena: Datumi moraju biti u formatu 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items'] = 'Imate %s koji nije/nisu objavljen(i)'; $lang['notify_n_draft_items_sub'] = '%d članak(a) novosti'; $lang['notitlegiven'] = 'Nije unet naslov'; $lang['numbertodisplay'] = 'Broj prikazanih (ukoliko je polje prazno, prikazuju se svi zapisi)'; $lang['options'] = 'Opcije'; $lang['optionsupdated'] = 'Opcije su uspešno ažurirane.'; $lang['parent'] = 'Roditelj'; $lang['postdate'] = 'Datum objavljivanja'; $lang['postinstall'] = 'Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['post_date_asc'] = 'Po datumu objavljivanja u rastućem redosledu'; $lang['post_date_desc'] = 'Po datumu objavljivanja u opadajućem redosledu'; $lang['preview'] = 'Pregled'; $lang['prevpage'] = '<'; $lang['print'] = 'Štampaj'; $lang['prompt_default'] = 'Podrazumevano'; $lang['prompt_go'] = 'Idi'; $lang['prompt_name'] = 'Naziv'; $lang['prompt_newtemplate'] = 'Kreiraj novi šablon'; $lang['prompt_of'] = 'od'; $lang['prompt_page'] = 'Strana'; $lang['prompt_pagelimit'] = 'Broj članaka po strani'; $lang['prompt_sorting'] = 'Sortiraj po'; $lang['prompt_template'] = 'Izvor šablona'; $lang['prompt_templatename'] = 'Naziv šablona'; $lang['public'] = 'Javno'; $lang['published'] = 'Objavljena'; $lang['reassign_category'] = 'Promeni kategoriju u'; $lang['removed'] = 'Obrisano'; $lang['reorder'] = 'Promeni redosled'; $lang['reorder_categories'] = 'Promeni redosled kategorija'; $lang['reset'] = 'Resetuj'; $lang['resettodefault'] = 'Resetuj na fabrička podešavanja'; $lang['restoretodefaultsmsg'] = 'Ova operacija će vratiti sadržaj šablona u stanje u kom je bio nakon instalacije sistema. Da li ste sigurni da želite sa ovim da nastavite?'; $lang['revert'] = 'Promeni status u 'Nacrt''; $lang['searchable'] = 'Pretraživ'; $lang['select'] = 'Čekiraj'; $lang['selectall'] = 'Selektuj sve'; $lang['selectcategory'] = 'Izaberite kategoriju'; $lang['showchildcategories'] = 'Prikaži podkategorije'; $lang['sortascending'] = 'Sortiraj u rastućem redosledu'; $lang['startdate'] = 'Datum početka važenja'; $lang['startdatetoolate'] = 'Datum početka važenja je preveliki (nakon datuma isteka?)'; $lang['startoffset'] = 'Počni da prikazuješ od n-tog članka'; $lang['startrequiresend'] = 'Unošenje datuma početka važenja zahteva da unesete i datum isteka'; $lang['status'] = 'Status'; $lang['status_asc'] = 'Po statusu u rastućem redosledu'; $lang['status_desc'] = 'Po statusu u opadajućem redosledu'; $lang['subject_newnews'] = 'Objavljen je sveži članak novosti'; $lang['submit'] = 'Pošalji'; $lang['summary'] = 'Sažetak'; $lang['summarytemplate'] = 'Šabloni sažetaka'; $lang['summarytemplateupdated'] = 'Šablon prikaza sažetka novosti je uspešno ažuriran'; $lang['sysdefaults'] = 'Vrati u prvobitno stanje'; $lang['template'] = 'Šablon'; $lang['textarea'] = 'Tekst boks'; $lang['textbox'] = 'Polje za unos teksta'; $lang['title'] = 'Naslov'; $lang['title_asc'] = 'Po naslovu u rastućem redosledu'; $lang['title_available_templates'] = 'Dostupni šabloni'; $lang['title_browsecat_sysdefault'] = 'Podrazumevani šablon pretrage po kategoriji'; $lang['title_browsecat_template'] = 'Editor šablona pretrage po kategoriji'; $lang['title_desc'] = 'Po naslovu u opadajućem redosledu'; $lang['title_detail_returnid'] = 'Podrazumevana stranica koja će se koristiti za pregledanje detaljnih novosti'; $lang['title_detail_settings'] = 'Podešavanja detaljnog pregleda'; $lang['title_detail_sysdefault'] = 'Podrazumevani šablon detaljnog prikaza'; $lang['title_detail_template'] = 'Editor šablona detaljnog prikaza'; $lang['title_fesubmit_settings'] = 'Podešavanje procedue objavljivanja iz korisničkog dela sajta'; $lang['title_filter'] = 'Filteri'; $lang['title_form_sysdefault'] = 'Podrazumevani šablon forme'; $lang['title_form_template'] = 'Editor šablona formi'; $lang['title_notification_settings'] = 'Podešavanje obaveštenja'; $lang['title_submission_settings'] = 'Podešavanja procedure objavljivanja novosti'; $lang['title_summary_sysdefault'] = 'Podrazumevani šablon sažetka'; $lang['title_summary_template'] = 'Editor šablona sažetog prikaza'; $lang['toggle_bulk'] = 'Selektuj ovaj članak za izvršenje grupne operacije'; $lang['type'] = 'Tip'; $lang['type_browsecat'] = 'Pretraži kategoriju'; $lang['type_form'] = 'Forma za korisnički deo'; $lang['type_detail'] = 'Detalj'; $lang['type_News'] = 'Novosti'; $lang['type_summary'] = 'Sumarni pregled'; $lang['unknown'] = 'Nepoznato'; $lang['unlimited'] = 'Neograničeno'; $lang['up'] = 'Gore'; $lang['uploadscategory'] = 'Kategorija otpremanja'; $lang['url'] = 'URL'; $lang['useexpiration'] = 'Odredi datum isticanja važnosti'; $lang['viewfilter'] = 'Filter pregleda'; $lang['warning_preview'] = 'Upozorenje: Ovaj pregledni panel se ponaša slično kao prozor Veb pretraživača, omogućavajući Vam da se udaljite od stranice koju ste prvobitno pregledali. Međutim, ukoliko to uradite, može doći do neočekivanog ponašanja. Ako se udaljite od izvornog prikaza i vratite se nazad, možete dobiti neočekivane rezultate.
    Napomena: Tokom pregleda neće biti otpremljene datoteke koje izaberete.'; $lang['with_selected'] = 'Sa izabranim'; $lang['utma'] = '156861353.114482514.1383506026.1383686623.1383983278.5'; $lang['utmz'] = '156861353.1383506026.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)'; $lang['utmb'] = '156861353'; $lang['utmc'] = '156861353'; ?> (kanske den redan används, eller om det finns ogiltiga tecken) '; $lang['error_mkdir']='Kunde inte skapa mappen: %s'; $lang['error_movefile']='Kunde inte skapa filen: %s'; $lang['error_noarticlesselected']='Inga artiklar valdes'; $lang['error_templatenamexists']='En mall med detta namn finns redan'; $lang['error_upload']='Problem uppstod när fil laddades upp'; $lang['eventdesc-NewsArticleAdded']='Skickas när en artikel läggs till.'; $lang['eventdesc-NewsArticleDeleted']='Skickas när en artikel tas bort.'; $lang['eventdesc-NewsArticleEdited']='Skickas när en artikel redigeras.'; $lang['eventdesc-NewsCategoryAdded']='Skickas när en kategori läggs till.'; $lang['eventdesc-NewsCategoryDeleted']='Skickas när en kategori tas bort.'; $lang['eventdesc-NewsCategoryEdited']='Skickas när en kategori redigeras.'; $lang['eventhelp-NewsArticleAdded']='

    Skickas när en artikel läggs till.

    Parametrar

    • \"news_id\" - ID på nyhetsartikeln
    • \"category_id\" - ID på kategorin för den här artikeln
    • \"title\" - Titel på artikeln
    • \"content\" - Innehållet i artikeln
    • \"summary\" - Summering av artikeln
    • \"status\" - Statusen på artikeln ("skriven" eller "publicerad")
    • \"start_time\" - Datumet då artikeln ska börja visas
    • \"end_time\" - Om slutdatumet ska ignoreras eller inte
    '; $lang['eventhelp-NewsArticleDeleted']='

    Skickas när en artikel är borttagen.

    Parametrar

    • \"news_id\" - ID på nyhetsartikeln.
    '; $lang['eventhelp-NewsArticleEdited']='

    Skickas när en artikel är ändrad.

    Parametrar

    • \"news_id\" - ID på nyhetsartikeln
    • \"category_id\" - ID på kategorin för den här artikeln.
    • \"title\" - Titel på artikeln
    • \"content\" - Innehållet i artikeln
    • \"summary\" - Summering av artikeln
    • \"status\" - Statusen på artikeln ("skriven" eller "publicerad")
    • \"start_time\" - Datumet då artikeln ska börja visas
    • \"end_time\" - Datumet då artikeln ska sluta visas
    • \"useexp\" - Om slutdatumet ska ignoreras eller inte
    '; $lang['eventhelp-NewsCategoryAdded']='

    Skickas när en kategori är tillagd.

    Parametrar

    • \"category_id\" - ID på nyhetskategorin
    • \"name\" - Namnet på nyhetskategorin
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Skickas när en kategori tas bort.

    Parametrar

    • \"category_id\" - ID på kategorin som togs bort
    • \"name\" - Namnet på kategorin som togs bort
    '; $lang['eventhelp-NewsCategoryEdited']='

    Skickas när en kategori är ändrad.

    Parametrar

    • \"category_id\" - ID på nyhetskategorin
    • \"name\" - Namnet på nyhetakategorin.
    • \"origname\" - Ursprungsnamnet på nyhetakategorin.
    '; $lang['expired']='Utgången'; $lang['expired_searchable']='Tillåt artiklar som passerat slutdatum att visas i sökresultat'; $lang['expired_viewable']='Utgångna artiklar kan ses i detaljvyn'; $lang['expiry']='Upphörande'; $lang['expiry_date_asc']='Utgångsdatum stigande'; $lang['expiry_date_desc']='Utgångsdatum fallande'; $lang['expiry_interval']='Antalet dagar (som standard) innan en artikel utgår (om "utgång" är vald)'; $lang['extra']='Extra '; $lang['extra_label']='Extra :'; $lang['fesubmit_redirect']='Sid ID eller alias att återgå till efter att en nyhetsartikel har blivit tillagd med "fesubmit" funktionen'; $lang['fesubmit_status']='Statusen för nyhetsartiklar som skickas via framsidan/frontend'; $lang['fielddef']='Fältdefinition'; $lang['fielddefadded']='Fältdefinition lades till'; $lang['fielddefdeleted']='Fältdefinition borttagen'; $lang['fielddefupdated']='Fältdefinition uppdateraf'; $lang['file']='Fil'; $lang['filter']='Filter '; $lang['firstpage']='<<'; $lang['formsubmit_emailaddress']='Epostadress som ska motta meddelande om nyhetsprenumerationer'; $lang['formtemplate']='Formulärsmallar'; $lang['help']='

    Important Notes

    This version of News is greater than the one supplied with the 1.1 branch of CMS Made Simple. If you use this version of News you must use extreme caution when upgrading CMS Made Simple to ensure that nothing in the modules/News directory is overwritten.

    Vad gör den här modulen?

    Nyheter är en modul med vars hjälp man kan hantera och visa nyhetsartiklar på sin webbplats. Man kan jämföra modulen med weblog (blogg), fast nyhetsmodulen har fler funktioner. När modulen installeras så utökas också administrationsgränssnittet med verktyg för att hantera nyhetsartiklar. Man ges möjlighet att skapa egna nyhetskategorier så att olika typer av nyheter kan placeras på olika ställen på webbplatsen.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    RSS Feeds

    News supports generating simple rss feeds from your news articles, so that your visitors can always be up to date with what is happening on your site.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Säkerhet

    En användare måste tillhöra gruppen 'Modify News' för att kunna lägga till, redigera eller ta bort nyhetsartiklar.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    För att redigera layoutmallarna måste användaren tillhöra en grupp med rättigheten 'Modify Templates'.

    För att redigera globala nyhetsinställningar måste användaren tillhöra en grupp med rättigheten 'Modify Site Preferences'.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    Hur använder man modulen?

    Enklast är att använda taggen {news} (som är ett hölje runt modultaggen, för att förenkla syntaxet). Med denna tagg kan man lägga till och visa nyheter på valfri plats i en mall eller en sida. Koden för detta kan till exempel se ut så här: {news number="5"}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit
    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['help_articleid']='Denna parameter fungerar endast i den detaljerade vyn. Den tillåter att specificera vilken nyhetsartikel som visas i detaljerad vy. Om specialvärdet -1 används, visar systemet den nyaste, publicerade, ej utgångna artikeln.'; $lang['help_pagelimit']='Maximalt antal artiklar att visa (per sida). Om denna parametern inte anges kommer alla matchande artiklar att visas. Om parametern anges, och det finns fler artiklar än vad som anges i parametern, kommer text och länkar läggas till så att man kan navigera genom resultaten.'; $lang['helpaction']='Upphäv förvald handling. Möjliga värden är 'default' för att visa summeringsvyn, och 'fesubmit' för att visa Frontend-formuläret för att tillåta användare att skicka in nyheter via frontend.'; $lang['helpbrowsecat']='Visa en sökbar kategorilista.'; $lang['helpbrowsecattemplate']='Använd en databasmall för att visa kategoribläddraren. Denna mall måste finnas och vara synlig i fliken Mallar för kategoribläddring i administrationen för Nyheter, även om det inte måste vara standardmallen. Om denna parameter inte anges kommer den nuvarande standardmallen markeras att användas.'; $lang['helpcategory']='Visar endast nyheter i vald kategori. Använd * efter namnet för att visa underkategorier. Flera kategorier kan visas, använd kommatecken mellan varje. Om ingen specifik kategori anges så visas alla nyheter.'; $lang['helpdetailpage']='Sida att visa detaljerna för nyhetsartikeln på. Detta kan antingen vara ett sidalias eller ett id. Används för att detaljer ska kunna visas med en annan mall än sammanfattningen.'; $lang['helpdetailtemplate']='Använd en specifik mall för att styra huvudinnehållet i artikeln. Mallen måste finnas i mappen modules/News/templates.'; $lang['helpformtemplate']='Använd en databasmall för att visa formulär för artikelredigering. Mallen måste finnas och vara synlig i fliken för formulärsmallar i News administrationen, även om den inte behöver vara förvald. Om den här parametern inte ange kommer den förvalda mallen användas.'; $lang['helpmoretext']='Text som visas efter en artikels sammanfattning. Ett klick på den visar hela nyhetsartikeln. Om inget anges så visas "more...".'; $lang['helpnumber']='Max antal artiklar att visa (om tomt visas alla artiklar).'; $lang['helpshowall']='Visa alla artiklar, oavsett slutdatum'; $lang['helpshowarchive']='Visa endast utgågna nyhetsartiklar.'; $lang['helpsortasc']='Sortera artiklar i stigande datumordning i stället för fallande.'; $lang['helpsortby']='Anger efter vilket fält som sortering ska ske. Alternativen är: "news_date", "summary", "news_data", "news_category", "news_title". "news_date" används om inget annat anges.'; $lang['helpstart']='Börja från nyhet nummer X -- om lämnas tom visas från första nyheten.'; $lang['helpsummarytemplate']='Använd en specifik mall för att styra nyhetssammanfattningen. Mallen måste finnas i mappen modules/News/templates.'; $lang['hide_summary_field']='Göm sammanfattningsfältet när artiklar läggs till eller redigeras'; $lang['info_detail_returnid']='Den här inställningen används för att bestämma en sida (och därför en mall) som ska användas för att visa detaljsidor. Individualiserad nyhets-detalj webbadresser kommer inte att fungera om den här parametern inte är satt till en giltig sida. Dessutom, om detta är inställt, och ingen detaljside parameter anges på nyhets taggen, så kommer detta värde att användas för detaljlänkar.'; $lang['info_expired_viewable']='Om aktiverat så kan utgångna artiklar visas i detaljvyn (detta reproducerar äldre funktionalitet). Parametern showall kan användas (när du inte använder Pretty urls) för att visa utgångna artiklar.'; $lang['info_maxlength']='Maxlängden gäller bara för textinmatningsfält'; $lang['info_sysdefault']='(mall som används som standard när en ny mall väljs)'; $lang['info_sysdefault2']='Observera: Den här flicken innehåller textfält som gör det möjligt för dit att redigera en mängd mallar som visas när du skapar ett ny summerings-, detalj- eller formulärsmall. Gällande visningar påverkas inte av att du redigerar innehållet och sparar informationen.'; $lang['lastpage']='>>'; $lang['maxlength']='Maxlängd'; $lang['more']='Mer'; $lang['moretext']='Mera text'; $lang['msg_contenttype_removed']='Innehållstypen nyheter har tagits bort. Placera istället taggen {news} med lämpliga parametrar i din sidmall eller i din sidas innehåll, för att ersätta den här funktionen.'; $lang['name']='Namn'; $lang['nameexists']='Ett fält med det här namnet finns redan'; $lang['needpermission']='Du behöver rättigheten '%s' för att göra detta.'; $lang['newcategory']='Ny kategori'; $lang['news']='Nyheter'; $lang['news_return']='Tillbaka'; $lang['nextpage']='>'; $lang['nocategorygiven']='Ingen kategori angiven'; $lang['nocontentgiven']='Inget innehåll valt'; $lang['noitemsfound']='Hittade inga artiklar i kategori: %s'; $lang['nonamegiven']='Inget namn angett'; $lang['none']='Ingen'; $lang['nopostdategiven']='Inget publiceringsdatum angivet'; $lang['notanumber']='Maxlängd är inte en siffra'; $lang['note']='OBS: Datum måste vara på formatet 'yyyy-mm-dd hh:mm:ss'.'; $lang['notify_n_draft_items']='Du har %d nyhetsartiklar som inte har publicerats'; $lang['notify_n_draft_items_sub']='%d nyhetsartikel/-artiklar'; $lang['notitlegiven']='Ingen titel angiven'; $lang['numbertodisplay']='Max antal nyheter som ska visas (om tomt visas alla)'; $lang['options']='Inställningar'; $lang['optionsupdated']='Inställningarna har uppdaterats.'; $lang['post_date_asc']='Publiceringsdatum stigande'; $lang['post_date_desc']='Publiceringsdatum fallande'; $lang['postdate']='Publiceringsdatum'; $lang['postinstall']='Kom ihåg att sätta rättigheten "Modify News" för de användare som ska administrera nyhetsartiklar.'; $lang['preview']='Förhandsgranskning'; $lang['prevpage']='<'; $lang['print']='Skriv ut'; $lang['prompt_default']='Standard'; $lang['prompt_name']='Namn'; $lang['prompt_newtemplate']='Skapa en ny mall'; $lang['prompt_of']='av'; $lang['prompt_page']='Sida'; $lang['prompt_pagelimit']='Sidmax'; $lang['prompt_sorting']='Sortera efter'; $lang['prompt_template']='Mallkod'; $lang['prompt_templatename']='Mallnamn'; $lang['public']='Allmän'; $lang['published']='Publicerad'; $lang['reassign_category']='Ändra kategori till'; $lang['removed']='Borttagen'; $lang['resettodefault']='Återställ till fabriksinställningar'; $lang['restoretodefaultsmsg']='Detta återställer mallarna till standardinställningarna. Är du säker på att du vill fortsätta?'; $lang['revert']='Sätt status till 'Utkast''; $lang['select']='Välj'; $lang['selectcategory']='Välj kategori'; $lang['showchildcategories']='Visa underkategorier'; $lang['sortascending']='Sortera stigande'; $lang['startdate']='Startdatum'; $lang['startdatetoolate']='Startdatum är för sent (efter slutdatum?)'; $lang['startoffset']='Börja visa från nyhet nummer X'; $lang['startrequiresend']='Ett startdatum kräver också att man anger ett stoppdatum'; $lang['status']='Status '; $lang['status_asc']='Status Stigande'; $lang['status_desc']='Status Fallande'; $lang['subject_newnews']='En ny artikel i News har skickats'; $lang['submit']='Lägg till'; $lang['summary']='Sammandrag'; $lang['summarytemplate']='Mall för sammandrag'; $lang['summarytemplateupdated']='Nyhetsmallen för sammandrag har uppdaterats.'; $lang['sysdefaults']='Återställ standardinställningar'; $lang['template']='Mall'; $lang['textarea']='Textruta (textarea)'; $lang['textbox']='Inmatningsfält (input)'; $lang['title']='Titel'; $lang['title_asc']='Titel fallande'; $lang['title_available_templates']='Tillgängliga mallar'; $lang['title_browsecat_sysdefault']='Standardmall för kategoribläddrare'; $lang['title_browsecat_template']='Redigera mall för kategoribläddrare'; $lang['title_desc']='Titel stigande'; $lang['title_detail_returnid']='Standardsida för detaljvisning'; $lang['title_detail_settings']='Inställningar för detaljvisningar'; $lang['title_detail_sysdefault']='Standarddetaljmall'; $lang['title_detail_template']='Redigerare för detaljmall'; $lang['title_fesubmit_settings']='Inställningar vid tillagd nyhet från framsidan'; $lang['title_filter']='Filter'; $lang['title_form_sysdefault']='Förvald formulärsmall'; $lang['title_form_template']='Editor för formulärsmall'; $lang['title_notification_settings']='Notiferingsinställningar'; $lang['title_submission_settings']='Inställningar vid tillagd nyhet'; $lang['title_summary_sysdefault']='Standardsammanfattningsmall'; $lang['title_summary_template']='Redigerare för sammanfattningsmall'; $lang['type']='Typ'; $lang['unknown']='Okänd'; $lang['unlimited']='Obegränsad'; $lang['up']='Upp'; $lang['uploadscategory']='Uppladdningskategori'; $lang['url']='Url'; $lang['useexpiration']='Använd stoppdatum'; $lang['warning_preview']='Varning: Denna förhandsgranskning uppför sig i stort sett som ett eget webbläsar-fönster och tillåter att du navigerar bort från den sida du förhandsgranskar. Om du gör detta kan du uppleva ett beteende som skiljer sig från det du normalt förväntar dig. Om du navigerar bort från den förhandsgranskade sidan och sedan tillbaka till den kommer du inte att få det förväntade resultatet.
    Observera: Förhandsgranskningen laddar inte upp filer som du har valt för uppladdning.'; ?> (zaten kullanılmış veya geçersiz karakter içeriyor) '; $lang['error_mkdir'] = 'Klasör oluşturulamadı: %s'; $lang['error_movefile'] = 'Dosya oluşturulamadı: %s'; $lang['error_noarticlesselected'] = 'Hiç Haber Seçilmedi'; $lang['error_templatenamexists'] = 'Şablon adı zaten var'; $lang['error_upload'] = 'Dosya yükleme hatası oluştu'; $lang['eventdesc-NewsArticleAdded'] = 'Haber eklendiğinde gönderildi.'; $lang['eventhelp-NewsArticleAdded'] = '

    Sent when an article is added.

    Parameters

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id of the category for this article
    • \\"title\\" - Title of the article
    • \\"content\\" - Content of the article
    • \\"summary\\" - Summary of the article
    • \\"status\\" - Status of the article ("draft" or "publish")
    • \\"start_time\\" - Date the article should start being displayed
    • \\"end_time\\" - Date the article should stop being displayed
    • \\"useexp\\" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Haber silindiğinde gönderildi.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sent when an article is deleted.

    Parameters

    • \\"news_id\\" - Id of the news article
    '; $lang['eventdesc-NewsArticleEdited'] = 'Haber düzenlendiğinde gönderildi.'; $lang['eventhelp-NewsArticleEdited'] = '

    Sent when an article is edited.

    Parameters

    • \\"news_id\\" - Id of the news article
    • \\"category_id\\" - Id of the category for this article
    • \\"title\\" - Title of the article
    • \\"content\\" - Content of the article
    • \\"summary\\" - Summary of the article
    • \\"status\\" - Status of the article ("draft" or "publish")
    • \\"start_time\\" - Date the article should start being displayed
    • \\"end_time\\" - Date the article should stop being displayed
    • \\"useexp\\" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsCategoryAdded'] = 'Kategori eklendiğinde gönderildi.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Sent when a category is added.

    Parameters

    • \\"category_id\\" - Id of the news category
    • \\"name\\" - Name of the news category
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Kategori silindiğinde gönderildi.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Sent when a category is deleted.

    Parameters

    • \\"category_id\\" - Id of the deleted category
    • \\"name\\" - Name of the deleted category
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Kategori düzenlendiğinde gönderildi.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Sent when a category is edited.

    Parameters

    • \\"category_id\\" - Id of the news category
    • \\"name\\" - Name of the news category
    • \\"origname\\" - The original name of the news category
    '; $lang['expired'] = 'Süresi Dolmuş'; $lang['expired_searchable'] = 'Süresi bitmiş haberler arama sonuçlarında çıkabilsin'; $lang['expiry'] = 'Süresi'; $lang['expiry_date_asc'] = 'Gerçerlilik Tarihi Artan'; $lang['expiry_date_desc'] = 'Geçerlilik Tarihi Azalan'; $lang['extra'] = 'Ekstra'; $lang['extra_label'] = 'Ekstra:'; $lang['fielddef'] = 'Alan Tanımlama'; $lang['fielddefadded'] = 'Alan Tanımı Eklendi'; $lang['fielddefdeleted'] = 'Tanımlanan Alan Silindi'; $lang['fielddefupdated'] = 'Alan Tanımı Güncellendi'; $lang['file'] = 'Dosya'; $lang['filter'] = 'Süz'; $lang['firstpage'] = '<<'; $lang['formtemplate'] = 'Form Şablonları'; $lang['help'] = '

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Template variables

    • itemcount - The number of news articles to be shown.
    • entry->authorname - The full name of the the author including First and Last name.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the \'Modify Templates\' permission.

    In order to edit the global news preferences, the user must belong to a group with the \'Modify Site Preferences\' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number=\'5\'}

    '; $lang['helpaction'] = 'Override the default action. Possible values are \'default\' to display the summary view, and \'fesubmit\' to display the frontend form for allowing users to submit news articles on the front end.'; $lang['helpbrowsecat'] = 'Taranabilir kategori listesini göster.'; $lang['helpcategory'] = 'Only display items for that category. Use * after the name to show children. Multiple categories can be used if separated with a comma. Leaving empty, will show all categories.'; $lang['helpdetailtemplate'] = 'Use a separate template for displaying the article detail. It have to live in modules/News/templates.'; $lang['helpmoretext'] = 'Text to display at the end of a news item if it goes over the summary length. Defaults to "more..."'; $lang['helpnumber'] = 'Gösterilecek öğe sayısı =- boş bırakılırsa tüm öğeler gösterilir.'; $lang['helpshowall'] = 'Bitiş tarihine bakılmaksızın tüm haberleri göster'; $lang['helpshowarchive'] = 'Sadece süresi geçmiş haberleri göster.'; $lang['helpsortby'] = 'Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title". Defaults to "news_date".'; $lang['helpstart'] = 'Başlangıç öğe sayısı -- boş bırakılırsa ilk öğeden başlanır.'; $lang['helpsummarytemplate'] = 'Use a separate template for displaying the article summary. It have to live in modules/News/templates.'; $lang['help_pagelimit'] = 'Maximum number of items to display (per page). If this parameter is not supplied all matching items will be displayed. If it is, and there are more items available than specified in the pararamter, text and links will be supplied to allow scrolling through the results'; $lang['info_maxlength'] = 'Maksimum uzunluğu yalnızca metin giriş alanları için geçerlidir.'; $lang['info_sysdefault'] = '(the content used by default when a new template is created)'; $lang['info_sysdefault2'] = 'Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a \'new\' summary, detail, or form template. Changing content in this tab, and clicking \'submit\' will not effect any current displays.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Haberlerde Ara'; $lang['maxlength'] = 'Maksimum Uzunluk'; $lang['msg_categoriesreordered'] = 'Kategory sıralaması güncellendi'; $lang['msg_success'] = 'İşlem Başarılı'; $lang['more'] = 'Devamı'; $lang['moretext'] = 'Fazla yazı'; $lang['name'] = 'İsim'; $lang['nameexists'] = 'Tanımlı alan adı zaten var'; $lang['needpermission'] = 'Bu işlemi yapmak için \'%s\' yetkinizin olması gerekir.'; $lang['newcategory'] = 'Yeni Kategori'; $lang['news'] = 'Haberler'; $lang['news_return'] = 'Geri dön'; $lang['nextpage'] = '>'; $lang['nocategorygiven'] = 'Kategori girilmemiş'; $lang['nocontentgiven'] = 'İçerik girilmemiş'; $lang['noitemsfound'] = 'Kategori için hiç öğe bulunamadı: %s'; $lang['nonamegiven'] = 'İsim girilmemiş'; $lang['none'] = 'Yok'; $lang['nopostdategiven'] = 'Gönderme Tarihi girilmemiş'; $lang['notanumber'] = 'Maksimum Uzunluk Sayı Değil'; $lang['note'] = 'Not: Tarihler \'yyyy-mm-dd hh:mm:ss\' biçiminde olmalıdır.'; $lang['notify_n_draft_items'] = '%s sayıda yayınalnmamış haber var'; $lang['notify_n_draft_items_sub'] = '%d Haber Yazıları(s)'; $lang['notitlegiven'] = 'Başlık girilmemiş'; $lang['numbertodisplay'] = 'Gösterilecek adet (boş bırakılırsa tüm kayıtlar gösterilir)'; $lang['options'] = 'Seçenekler'; $lang['optionsupdated'] = 'Seçenekler başarılı olarak güncellendi.'; $lang['parent'] = 'Üst'; $lang['postdate'] = 'Gönderme Tarihi'; $lang['postinstall'] = 'Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['post_date_asc'] = 'Gönderim Tarihi Artan'; $lang['post_date_desc'] = 'Gönderim Tarihi Azalan'; $lang['preview'] = 'Önizleme'; $lang['prevpage'] = '<'; $lang['print'] = 'Yazdır'; $lang['prompt_default'] = 'Varsayılan'; $lang['prompt_go'] = 'Git'; $lang['prompt_name'] = 'Adı'; $lang['prompt_newtemplate'] = 'Yeni Şablon Yarat'; $lang['prompt_of'] = '-'; $lang['prompt_page'] = 'Sayfa'; $lang['prompt_pagelimit'] = 'Sayfa Limiti'; $lang['prompt_redirecttocontent'] = 'Geri dön'; $lang['prompt_sorting'] = 'Sırala'; $lang['prompt_template'] = 'Şablon Kaynağı'; $lang['prompt_templatename'] = 'Şablon Adı'; $lang['public'] = 'Genel'; $lang['published'] = 'Yayınlandı'; $lang['reassign_category'] = 'Kategori değiştir'; $lang['removed'] = 'Geri Alındı'; $lang['reorder'] = 'Sırala'; $lang['reorder_categories'] = 'Kategorileri Sırala'; $lang['reset'] = 'Sıfırla'; $lang['resettodefault'] = 'Varsayılan Ayarlara Geri Dön'; $lang['restoretodefaultsmsg'] = 'Bu işlem şablon içeriğini sistem varsayılanlarına çevirecektir. Devam etmek istediğinizden emin misiniz?'; $lang['revert'] = 'Durumu \'Taslak\' olarak değiştir'; $lang['searchable'] = 'Aranabilir'; $lang['select'] = 'Seçiniz'; $lang['select_option'] = 'Seçiniz'; $lang['selectall'] = 'Hepisini Seç'; $lang['selectcategory'] = 'Kategori Seçin'; $lang['showchildcategories'] = 'Alt kategorileri göster'; $lang['sortascending'] = 'Büyükten küçüğe sırala'; $lang['startdate'] = 'Başlangıç Tarihi'; $lang['startdatetoolate'] = 'Başlangıç ​​Tarihi bitiş tarihinden sonra olamaz'; $lang['startoffset'] = 'n\'inci öğeden başlayarak göster'; $lang['startrequiresend'] = 'Başlangıç tarihini girmek bitiş tarihini de girmeyi gerektirir'; $lang['status'] = 'Durum'; $lang['status_asc'] = 'Duruma Göre Azalan'; $lang['status_desc'] = 'Duruma Göre Azalan'; $lang['subject_newnews'] = 'Yeni bir haber makalesi gönderildi'; $lang['submit'] = 'Gönder'; $lang['summary'] = 'Özet'; $lang['summarytemplate'] = 'Özet Şablonu'; $lang['summarytemplateupdated'] = 'Haber Özet Şablonu başarılı olarak güncellendi.'; $lang['sysdefaults'] = 'Varsayılanlara dön'; $lang['template'] = 'Şablon'; $lang['textarea'] = 'Text Area'; $lang['textbox'] = 'Text Input'; $lang['title'] = 'Başlık'; $lang['title_asc'] = 'Başlığa Göre Artan'; $lang['title_available_templates'] = 'Kullanılabilir Şablonlar'; $lang['title_desc'] = 'Başlığa Göre Azalan'; $lang['title_detail_returnid'] = 'Ayrıntılı görünüm için varsayılan sayfa'; $lang['title_detail_settings'] = 'Ayrıntılı Görünüm Ayarları'; $lang['title_detail_sysdefault'] = 'Varsayılan Ayrıntı Şablonu'; $lang['title_detail_template'] = 'Ayrıntı Şablon Editörü'; $lang['title_fesubmit_settings'] = 'Ön sayfa ekleme ayarları'; $lang['title_filter'] = 'Filtreler'; $lang['title_form_sysdefault'] = 'Varsayılan Form Şablonu'; $lang['title_form_template'] = 'Form Şablonu Editörü'; $lang['title_news_settings'] = 'Ayarlar - Haberler Modulu'; $lang['title_notification_settings'] = 'Bilgilendirme Ayarları'; $lang['title_submission_settings'] = 'Haber Giriş Ayarları'; $lang['title_summary_sysdefault'] = 'Varsayılan Özet Şablonu'; $lang['title_summary_template'] = 'Özet Şablon Editörü'; $lang['type'] = 'Tip'; $lang['type_browsecat'] = 'Kategoriler'; $lang['type_detail'] = 'Ayrıntı'; $lang['type_News'] = 'Haberler'; $lang['type_summary'] = 'Özet'; $lang['unknown'] = 'Bilinmiyor'; $lang['unlimited'] = 'Limitsiz'; $lang['up'] = 'Yukarı'; $lang['uploadscategory'] = 'Yüklemeler Kategorisi'; $lang['url'] = 'URL'; $lang['useexpiration'] = 'Süresi geçme tarihini kullan'; $lang['viewfilter'] = 'Filtre'; ?>(можливо, вона вже використовується або містить некоректні символи)'; $lang['error_mkdir'] = 'Не вдалося створити теку: %s'; $lang['error_movefile'] = 'Не вдалося створити файл: %s'; $lang['error_noarticlesselected'] = 'Жодної статті не вибрано'; $lang['error_nooptions'] = 'Не визначено жодного параметру для поля'; $lang['error_templatenamexists'] = 'Шаблон з таким іменем вже існує'; $lang['error_upload'] = 'Виникла проблема з вивантаженням файлу'; $lang['eventdesc-NewsArticleAdded'] = 'Відсилається, коли статтю додано.'; $lang['eventhelp-NewsArticleAdded'] = '

    Параметри

    • "news_id" - ID статті
    • "category_id" - ID категорії для цієї статті
    • "title" - Заголовок статті
    • "content" -Вміст статті
    • "summary" - Короткий опис статті
    • "status" - Статус статті ("чернетка" чи "опубліковано")
    • "start_time" - Дата початку показу статті
    • "end_time" - Дата закінчення показу статті
    • "useexp" - Чи ігнорувати дату закінчення терміну дії
    '; $lang['eventdesc-NewsArticleDeleted'] = 'Відсилається, коли статтю видалено.'; $lang['eventhelp-NewsArticleDeleted'] = '

    Параметри

    • "news_id" - ID статті
    '; $lang['eventdesc-NewsArticleEdited'] = 'Відсилається, коли статтю відредаговано.'; $lang['eventhelp-NewsArticleEdited'] = '

    Параметри

    • "news_id" - ID статті
    • "category_id" - ID категорії для цієї статті
    • "title" - Заголовок статті
    • "content" -Вміст статті
    • "summary" - Короткий опис статті
    • "status" - Статус статті ("чернетка" чи "опубліковано")
    • "start_time" - Дата початку показу статті
    • "end_time" - Дата закінчення показу статті
    • "useexp" - Чи ігнорувати дату закінчення терміну дії

    Примітка: Допускається заповнення тільки окремих параметрів, коли відсилається ця подія.

    '; $lang['eventdesc-NewsCategoryAdded'] = 'Відсилається, коли категорію додано.'; $lang['eventhelp-NewsCategoryAdded'] = '

    Параметри

    • "category_id" - ID категорії
    • "name" - Назва категорії
    '; $lang['eventdesc-NewsCategoryDeleted'] = 'Відсилається, коли категорію видалено.'; $lang['eventhelp-NewsCategoryDeleted'] = '

    Параметри

    • "category_id" - ID видаленої категорії
    • "name" - Назва видаленої категорії
    '; $lang['eventdesc-NewsCategoryEdited'] = 'Відсилається, коли категорію відредаговано.'; $lang['eventhelp-NewsCategoryEdited'] = '

    Parameters

    • "category_id" -ID категорії статті
    • "name" - Назва категорії
    • "origname" - Оригінальна назва категорії
    '; $lang['expired'] = 'Термін закінчився'; $lang['expired_searchable'] = 'Статті з закінченим терміном дії можуть відображатися в результатах пошуку'; $lang['expired_viewable'] = 'Статті з закінченим терміном дії доступні за прямим посиланням'; $lang['expiry'] = 'Термін дії'; $lang['expiry_date_asc'] = 'Термін дії за зростанням'; $lang['expiry_date_desc'] = 'Термін дії за спаданням'; $lang['expiry_interval'] = 'Кількість днів (за замовчуванням) до закінчення терміну дії статті (якщо вибрано термін дії)'; $lang['extra'] = 'Додатково'; $lang['extra_label'] = 'Додатково:'; $lang['fesubmit_redirect'] = 'ID або псевдонім сторінки, на яку буде переадресовуватися після відправлення статті за допомогою дії fesubmit'; $lang['fesubmit_status'] = 'Статус статей, відправлених через фронтенд'; $lang['fielddef'] = 'Поле'; $lang['fielddefadded'] = 'Поле успішно додано'; $lang['fielddefdeleted'] = 'Поле успішно видалено'; $lang['fielddefupdated'] = 'Поле успішно оновлено'; $lang['file'] = 'Файл'; $lang['filter'] = 'Фільтр'; $lang['firstpage'] = '<<'; $lang['formsubmit_emailaddress'] = 'Адреса електронної пошти для отримання сповіщення про відправку статті'; $lang['formtemplate'] = 'Шаблони форм'; $lang['help'] = '

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach PDF files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the \'Delete News Articles\' permission.

    In order to edit the layout templates, the user must belong to a group with the \'Modify Templates\' permission.

    In order to edit the global news preferences, the user must belong to a group with the \'Modify Site Preferences\' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the \'Approve News\' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number=\'5\'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction'] = 'Перевизначити дію за замовчуванням. Можливі значення:
    • "detail" - відображення вибраної статті в режимі повної статті.
    • "default" - відображення списку статей
    • "fesubmit" - Застаріле, відображення форми у фронтенді для того, щоб дозволити користувачам відправляти статті з фронтенду. Додайте теґ {cms_init_editor} у розділі метаданих для ініціалізації вибраного візуального редактора. (Адміністратор сайту >> Глобальні налаштування)
    • "browsecat" - відображення списку категорій, доступних для перегляду.
    '; $lang['helpbrowsecat'] = 'Відображає доступні для перегляду категорії.'; $lang['helpbrowsecattemplate'] = 'Використовується шаблон з бази даних для відображення списку категорій. Цей шаблон повинен існувати в Менеджері Дизайну, хоча він не обов\'язково повинен бути за замовчуванням. Якщо цей параметр не вказано, буде використано шаблон за замовчуванням.'; $lang['helpcategory'] = 'Використовується для виводу списку статей зазначених категорій. Використовуйте * після імені, щоб показувати статті дочірніх категорій. Можна вказати декілька категорій через кому. Якщо поле порожнє, то буде показано всі категорії. Цей параметр також працює для дії "fesubmit", однак можна вказати лише одну категорію.'; $lang['helpdetailpage'] = 'Сторінка, на якій відображується повна стаття. Це може бути ID або псевдонім сторінки. Дозволяє відобразити повну статтю на сторінці, відмінній від тієї, на якій був виведений список статей. Тим самим ми можемо використати різні шаблони сторінок для списку статей та повного тексту. Цей параметр не матиме ефекту для статей URL-адресами, зазначеними вручну.'; $lang['helpdetailtemplate'] = 'Використовуйте окремий шаблон бази даних для відображення повної статті. Цей шаблон повинен існувати в Менеджері Дизайну, хоча він не обов\'язково повинен бути за замовчуванням. Якщо цей параметр не вказано, буде використано шаблон за замовчуванням. Цей параметр не використовується при створенні URL-адрес, якщо для статті вказано URL-адресу спеціально.'; $lang['helpformtemplate'] = 'Використовуйте шаблон бази даних для відображення форми відправки статті. Цей шаблон повинен існувати в Менеджері Дизайну, хоча він не обов\'язково повинен бути за замовчуванням. Якщо цей параметр не вказано, буде використано шаблон за замовчуванням.'; $lang['helpmoretext'] = 'Текст, що відображається в кінці статті, якщо він перевищує довжину короткого опису. Значення за замовчуванням "Читати далі"'; $lang['helpnumber'] = 'Максимальна кількість статей для виводу (на сторінці) -- якщо поле порожнє, то буде показано всі елементи. Це синонім до параметра pagelimit'; $lang['helpshowall'] = 'Показати всі статті, незалежно від дати закінчення'; $lang['helpshowarchive'] = 'Показати лише статті, в яких закінчився термін дії.'; $lang['helpsortasc'] = 'Сортувати статті за зростанням дат'; $lang['helpsortby'] = 'Параметр "Сортувати за ". Варіанти: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". За замовчуванням - "news_date". Якщо вказано "random", параметр sortasc ігнорується.'; $lang['helpstart'] = 'Почати з n-го елемента - якщо поле порожнє, то буде показано з першого елемента.'; $lang['helpsummarytemplate'] = 'Використовуйте окремий шаблон бази даних для перегляду короткого опису статті. Цей шаблон повинен існувати в Менеджері Дизайну, хоча він не обов\'язково повинен бути за замовчуванням. Якщо цей параметр не вказано, буде використано шаблон за замовчуванням.'; $lang['help_articleid'] = 'Цей параметр застосовується лише до виводу повного тексту статті. Він вказує, яка стаття відображається в режимі виводу повного тексту . Якщо використовується спеціальне значення -1, система буде відображати найновішу, опубліковану статтю, що не має терміну дії.'; $lang['help_article_title'] = 'Введіть назву статті. Вона має бути короткою і не повинна містити жодних HTML-теґів.'; $lang['help_article_category'] = 'Для організаційних цілей ви можете вибрати категорію'; $lang['help_article_content'] = 'Введіть основний вміст статті'; $lang['help_article_enddate'] = 'Якщо ввімкнено термін дії, ця дата вказує, коли стаття буде прихована від перегляду'; $lang['help_article_extra'] = 'Це додаткові дані, пов\'язані з статтею. Вони можуть використовуватися для сортування або для реалізації особливої поведінки статті в дизайні. Вам слід проконсультуватися зі своїм розробником сайту про те, як це поле використовується (якщо взагалі використовується)'; $lang['help_article_searchable'] = 'Це поле вказує, чи потрібно індексувати цю статтю пошуковим модулем'; $lang['help_article_postdate'] = 'Дата публікації (зазвичай поточна дата, для нових статей) - це дата, яка використовується як дата опублікування статті. Вона також використовується для сортування'; $lang['help_article_summary'] = 'Введіть короткий абзац для опису статті. Цей короткий опис може використовуватися при перегляді списку статей'; $lang['help_article_startdate'] = 'Якщо ввімкнено термін дії, ця дата є датою початку відображення на веб-сайті'; $lang['help_article_status'] = 'Якщо ви хочете, щоб стаття була негайно доступна для перегляду іншими користувачами, виберіть статус "опубліковано". Якщо ви хочете продовжити роботу з цією статтею, виберіть статус "чернетка".'; $lang['help_article_url'] = 'Додаткова URL-адреса статті (деякі інші системи називають її slug) - це унікальний суфікс url-адреси цієї статті. Користувачі можуть переходити на сторінку / щоб переглянути цю статтю.'; $lang['help_article_useexpiry'] = 'Цей прапорець вмикає відслідковування закінчення терміну дії статті. Зазначені терміни вказують, коли стаття стає видимою або невидимою на веб-сайті.'; $lang['help_articles_filtercategory'] = 'Фільтрувати статті у цьому списку залежно від вибраної категорії (необов\'язково)'; $lang['help_articles_filterchildcats'] = 'Якщо цей параметр увімкнено, будуть відображатися статті вибраної категорії та її дочірні категорії.'; $lang['help_articles_pagelimit'] = 'Вибрати кількість статей для показу на одній сторінці. Для сайтів із великою кількістю статей, вказавши цей параметр від 10 до 100, значно підвищиться продуктивність'; $lang['help_articles_sortby'] = 'Вибрати спосіб первинного сортування статей.'; $lang['help_category_name'] = 'Введіть назву для цієї категорії. Ім\'я має бути безпечним для використання в URL-адресах і не мати спеціальних символів.'; $lang['help_category_parent'] = 'Вкажіть батьківську категорію для створення ієрархії категорій (необов\'язково).'; $lang['help_fesubmit_redirect'] = 'ID або псевдонім сторінки, на яку буде переадресовуватися після успішної відправки з фронтенду'; $lang['help_fielddef_maxlen'] = 'Для текстових полів можна вказати максимальну довжину введення тексту (в символах)'; $lang['help_fielddef_name'] = 'Кожне поле повинно мати назву. Хоч це не є обов\'язковим, назва поля повинна містити лише буквено-цифрові символи та підкреслення. Не використовуйте пробіл у назві поля.'; $lang['help_fielddef_options'] = 'Тут ви можете вказати дійсні параметри для випадаючих списків.'; $lang['help_fielddef_public'] = 'Вкажіть, чи це поле є публічним. Публічні поля можна переглянути у фронтенді, їх можна ввести за допомогою дії fesubmit. Спеціальні поля, які не є публічними, можуть редагувати лише в адмін. панелі авторизовані адміністратори.'; $lang['help_fielddef_type'] = 'Кожне спеціальне поле може бути різного типу для різних цілей. Виберіть тип поля, який найкраще відповідає цілі поля.'; $lang['help_idlist'] = 'Застосовується лише до дії за замовчуванням (список статей). Цей параметр приймає список ID статей через кому, і дає змогу додатково фільтрувати статті лише за вказаними ID. Список, який буде реально виведений, залежить також від параметрів цих статей, а саме статусу, дати закінчення терміну дії та інших параметрів.'; $lang['help_opt_alert_drafts'] = 'Якщо цей параметр увімкнено, ви отримаєте сповіщення про необхідність переглянути та опублікувати одну чи декілька статей.'; $lang['help_opt_allowed_upload_types'] = 'Для полів типу "file" Цей параметр вказує список розширень файлів через кому, дійсних для завантаження.'; $lang['help_opt_dflt_category'] = 'Ця опція дозволяє вказати категорію за замовчуванням для нових статей.'; $lang['help_opt_hide_summary'] = 'Ця опція дозволяє відключити поле короткого опису під час додавання та/або редагування статті (у тому числі за допомогою функції fesubmit)'; $lang['help_opt_allow_summary_wysiwyg'] = 'Це поле вказує, чи треба увімкнути візуальний редактор для поля короткого опису під час редагування статті. У багатьох випадках поле короткого опису є простим текстовим полем, однак воно не обов\'язкове.
    Цей параметр ігнорується, якщо поле короткого опису повністю вимкнено (див. вище)'; $lang['help_opt_expiry_interval'] = 'Встановіть кількість днів за замовчуванням (мінімум 1). У статей буде закінчуватися термін дії, коли увімкнено термін дії статті. Дату закінчення терміну дії можна налаштувати під час додавання або редагування статті'; $lang['help_pagelimit'] = 'Максимальна кількість статей для виводу (на сторінці). Якщо параметр не вказано, то буде показано всі статті. Якщо вказано і значення є меншим за кількість елементів, то буде виведено сторінки "вперед", "назад", які дозволять побачити всі статті. Максимальне значення для цього параметра становить 1000.'; $lang['hide_summary_field'] = 'Приховати поле короткого опису при додаванні або редагуванні статей'; $lang['info_allow_fesubmit'] = 'Цей параметр визначає, чи буде дія fesubmit взагалі дозволена для використання на цьому сайті. Будьте обережні, вмикаючи це.'; $lang['info_categories'] = 'Для організаційних цілей статті можуть бути організовані в ієрархічні категорії'; $lang['info_detail_returnid'] = 'Це налаштування використовується для визначення сторінки (а, отже, і шаблону) для перегляду повної статті. Спеціальні URL-адреси не працюватимуть, якщо цей параметр не встановлено на дійсну сторінку. Крім того, якщо це налаштування встановлено, а параметр detailpage не вказано в тегу статей, то це значення буде використано у посиланні на повну статтю'; $lang['info_expired_searchable'] = 'Якщо цей параметр увімкнено, статті з закінченим терміном дії можуть продовжувати індексуватися пошуковим модулем і з\'являтися в результатах пошуку'; $lang['info_expired_viewable'] = 'Якщо цей параметр ввімкнено, статті з закінченим терміном дії можна переглянути за прямим посиланням (це відтворює стару функціональність). Параметр showall може використовуватися в URL-адресі (якщо не використовуються pretty URL-адреси) для позначення того, що статті з закінченим терміном дії можна переглянути.'; $lang['info_fesubmit_notification'] = 'Ви можете додатково надіслати електронний лист на одну адресу електронної пошти, коли нова стаття відправлена за допомогою дії fesubmit.'; $lang['info_maxlength'] = 'Максимальна довжина стосується лише текстових полів.'; $lang['info_public'] = 'У фронтенді ви можете редагувати та виводити в списку статей або в повному тексті статті тільки публічні поля.'; $lang['info_reorder_categories'] = 'Перетягніть кожен елемент у правильному порядку, щоб змінити підпорядкування відносно категорії'; $lang['info_searchable'] = 'Це поле вказує, чи потрібно індексувати цю статтю пошуковим модулем'; $lang['info_sysdefault'] = '(вміст, який використовується за замовчуванням, коли створюється новий шаблон)'; $lang['info_sysdefault2'] = 'Примітка: Ця вкладка містить текстові області, які дозволяють редагувати набір шаблонів, що відображаються під час створення "нового" шаблону списку статей, шаблону повної статті чи шаблону форми. Зміна вмісту на цій вкладці та натискання кнопки "Відправити" не вплине на поточне відображення статей.'; $lang['lastpage'] = '>>'; $lang['lbl_adminsearch'] = 'Шукати статті'; $lang['linkedfile'] = 'Пов\'язаний файл'; $lang['maxlength'] = 'Максимальна довжина'; $lang['msg_cancelled'] = 'Операцію скасовано'; $lang['msg_categoriesreordered'] = 'Порядок категорій оновлено'; $lang['msg_contenttype_removed'] = 'Тип вмісту "новини" вилучено. Будь ласка, помістіть теґи {news} з відповідними параметрами у шаблон сторінки або у вміст сторінки, щоб замінити цю функцію.'; $lang['msg_success'] = 'Операцію виконано успішно'; $lang['more'] = 'Більше'; $lang['moretext'] = 'Читати далі'; $lang['name'] = 'Назва'; $lang['nameexists'] = 'Файл з таким іменем вже існує'; $lang['needpermission'] = 'Вам потрібен дозвіл \'%s\' для виконання цієї функції.'; $lang['newcategory'] = 'Нова категорія'; $lang['news'] = 'Статті'; $lang['news_return'] = 'Повернутися'; $lang['nextpage'] = '>'; $lang['noarticles'] = 'Наразі немає створених статей'; $lang['noarticlesinfilter'] = 'Немає статей, що відповідають вибраному фільтру'; $lang['nocategorygiven'] = 'Категорію не вказано'; $lang['nocontentgiven'] = 'Вміст не вказано'; $lang['noitemsfound'] = 'Жодного елементу не знайдено для категорії: %s'; $lang['nonamegiven'] = 'Назву не вказано'; $lang['none'] = 'Жоден'; $lang['nopostdategiven'] = 'Дату публікації не вказано'; $lang['notanumber'] = 'Максимальна довжина НЕ число'; $lang['note'] = 'Примітка: Дати мають бути у форматі \'yyyy-mm-dd hh:mm:ss\'.'; $lang['notify_n_draft_items'] = 'Ви маєте не опублікований(-ні) файл(-и): %s'; $lang['notify_n_draft_items_sub'] = 'Стаття(-і) %d'; $lang['notitlegiven'] = 'Заголовок не вказано'; $lang['numbertodisplay'] = 'Кількість статей для показу (якщо поле порожнє, то показуються всі записи)'; $lang['options'] = 'Параметри'; $lang['optionsupdated'] = 'Параметри успішно оновлено'; $lang['parent'] = 'Батьківська категорія'; $lang['postdate'] = 'Дата публікації'; $lang['postinstall'] = 'Не забудьте встановити дозвіл "Modify News" для користувачів, які будуть працювати з статтями.'; $lang['post_date_asc'] = 'Дата публікації за зростанням'; $lang['post_date_desc'] = 'Дата публікації за спаданням'; $lang['preview'] = 'Попередній перегляд'; $lang['prevpage'] = '<'; $lang['print'] = 'Друкувати'; $lang['prompt_alert_drafts'] = 'Попередження про непідтверджені статті'; $lang['prompt_allow_fesubmit'] = 'Дозволити відправляти статті з фронтенду'; $lang['prompt_default'] = 'За замовчуванням'; $lang['prompt_go'] = 'Вперед'; $lang['prompt_name'] = 'Назва'; $lang['prompt_newtemplate'] = 'Створити новий шаблон'; $lang['prompt_of'] = 'з'; $lang['prompt_page'] = 'Сторінка'; $lang['prompt_pagelimit'] = 'Ліміт записів на сторінці'; $lang['prompt_redirecttocontent'] = 'Повернутися на сторінку'; $lang['prompt_sorting'] = 'Сортувати за'; $lang['prompt_template'] = 'Джерело шаблону'; $lang['prompt_templatename'] = 'Назва шаблону'; $lang['public'] = 'Публічне'; $lang['published'] = 'Опубліковано'; $lang['reassign_category'] = 'Змінити категорію на'; $lang['removed'] = 'Видалити'; $lang['reorder'] = 'Змінити порядок'; $lang['reorder_categories'] = 'Змінити порядок категорій'; $lang['reset'] = 'Скинути'; $lang['resettodefault'] = 'Скинути до заводських налаштувань'; $lang['restoretodefaultsmsg'] = 'Ця операція відновить вміст шаблону до системних значень за замовчуванням. Ви впевнені, що хочете продовжити?'; $lang['revert'] = 'Встановити статус \'Чернетка\''; $lang['searchable'] = 'Доступна для пошуку'; $lang['select'] = 'Вибрати'; $lang['select_option'] = 'Виберіть варіант'; $lang['selectall'] = 'Вибрати все'; $lang['selectcategory'] = 'Вибрати категорію'; $lang['showchildcategories'] = 'Показати дочірні категорії'; $lang['sortascending'] = 'Сортувати за зростанням'; $lang['startdate'] = 'Дата початку'; $lang['startdatetoolate'] = 'Дата початку занадто пізня (після дати закінчення?)'; $lang['startoffset'] = 'Почати список статей з n-ої статті'; $lang['startrequiresend'] = 'Для введення дати початку також потрібна дата закінчення'; $lang['status'] = 'Статус'; $lang['status_asc'] = 'Статус за зростанням'; $lang['status_desc'] = 'Статус за спаданням'; $lang['subject_newnews'] = 'Нову статтю створено'; $lang['submit'] = 'Відправити'; $lang['summary'] = 'Короткий опис'; $lang['summarytemplate'] = 'Шаблони списку статей'; $lang['summarytemplateupdated'] = 'Шаблон списку статей успішно оновлено.'; $lang['sysdefaults'] = 'Відновити до значення за замовчуванням'; $lang['template'] = 'Шаблон'; $lang['textarea'] = 'Текстова область'; $lang['textbox'] = 'Текстове поле'; $lang['title'] = 'Заголовок'; $lang['title_asc'] = 'Заголовок за зростанням'; $lang['title_available_templates'] = 'Доступні шаблони'; $lang['title_browsecat_sysdefault'] = 'Шаблон перегляду категорії за замовчуванням'; $lang['title_browsecat_template'] = 'Редактор шаблону перегляду категорії'; $lang['title_desc'] = 'Заголовок за спаданням'; $lang['title_detail_returnid'] = 'Сторінка за замовчуванням для виводу повного тексту статті'; $lang['title_detail_settings'] = 'Налаштування виводу повного тексту статті'; $lang['title_detail_sysdefault'] = 'Шаблон повної статті за замовчуванням'; $lang['title_detail_template'] = 'Редактор шаблону повної статті'; $lang['title_draft_entries'] = 'Непідтверджені статті'; $lang['title_fesubmit_form'] = 'Відправити статтю'; $lang['title_fesubmit_settings'] = 'Налаштування відправки з фронтенду'; $lang['title_filter'] = 'Фільтри'; $lang['title_form_sysdefault'] = 'Шаблон форми за замовчуванням'; $lang['title_form_template'] = 'Редактор шаблону форми'; $lang['title_news_settings'] = 'Налаштування - Модуль "Новини"'; $lang['title_notification_settings'] = 'Налаштування сповіщень'; $lang['title_submission_settings'] = 'Налаштування відправки статей'; $lang['title_summary_sysdefault'] = 'Шаблон списку статей за замовчуванням'; $lang['title_summary_template'] = 'Редактор шаблону списку статей'; $lang['toggle_bulk'] = 'Вибрати цю статтю для масової обробки'; $lang['type'] = 'Тип'; $lang['type_browsecat'] = 'Перегляд категорії'; $lang['type_form'] = 'Форма для виводу у фронтенді'; $lang['type_detail'] = 'Повний текст статті'; $lang['type_News'] = 'Статті'; $lang['type_summary'] = 'Короткий опис'; $lang['unknown'] = 'Невідомо'; $lang['unlimited'] = 'Необмежено'; $lang['up'] = 'Вгору'; $lang['uploadscategory'] = 'Категорія вивантажень'; $lang['url'] = 'URL-адреса (slug)'; $lang['useexpiration'] = 'Використовуйте дату закінчення терміну дії'; $lang['viewfilter'] = 'Показати фільтр'; $lang['warning_preview'] = 'Попередження: це вікно попереднього перегляду поводить себе максимально наближено до окремого вікна браузера, що дозволяє вам перейти на інші сторінки, тим самим завершивши попередній перегляд сторінки. Якщо ви перейдете на іншу сторінку, то можете зіткнутися із несподіваною поведінкою. Якщо ви перейдете на іншу сторінку, а потім повернетесь на ту, з якої починали, це не дасть очікуваних результатів.
    Примітка: У попередньому перегляді не вивантажуються файли, які ви могли вибрати для вивантаження.'; $lang['with_selected'] = 'З обраними'; ?>Sent when an article is added.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsArticleDeleted']='

    Sent when an article is deleted.

    Parameters

    • "news_id" - Id of the news article
    '; $lang['eventhelp-NewsArticleEdited']='

    Sent when an article is edited.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded']='

    Sent when a category is added.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted']='

    Sent when a category is deleted.

    Parameters

    • "category_id" - Id of the deleted category
    • "name" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited']='

    Sent when a category is edited.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    • "origname" - The original name of the news category
    '; $lang['firstpage']='<<'; $lang['help']='

    Important Notes

    Version 2.9 and greater of News has removed the formatpostdate member from the templates, and has also removed the dateformat parameter. You should be using the cms_date_format modifier (as indicated in the default templates) to format dates, and should be using entry->postdate instead of entry->formatpostdate in your templates.

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Numerous display methods

    The parameters supported by the news module, and support for numerous templates of each time mean that your options for displaying news articles are limitless.

    Custom Fields

    The News module allows defining numerous custom fields (including files and images) that will allow you to attach pdf files or numerous images to your articles.

    Categories

    News supplies a hierarchical category mechanism for organizing your articles. A news article can only be in one place in the hierarchy.

    Expiry and Status

    Each news article can have an optional expiry date, after which it will not be shown on your web page. As well, articles can be marked as draft to remove them permanently from your web page.

    Security

    The user must belong to a group with the 'Modify News' permission in order to add or edit News entries.

    As well, In order to delete news entries, the user must belong to a group with the 'Delete News Articles' permission.

    In order to edit the layout templates, the user must belong to a group with the 'Modify Templates' permission.

    In order to edit the global news preferences, the user must belong to a group with the 'Modify Site Preferences' permission.

    Additionally, to approve news for frontend display the user must belong to a group with the 'Approve News' permission.

    How do I use it?

    The easiest way to use it is with the {news} wrapper tag (wraps the module in a tag, to simplify the syntax). This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {news number='5'}

    Templates

    Since version 2.3 News supports multiple database templates, and no longer supports additional file templates. Users who used the old file template system should follow these steps (for each file template):

    • Copy the file template into the clipboard
    • Create a new database template (either summary or detailed as required). Give the new template the same name (including the .tpl extension) as the old file template, and paste the contents.
    • Hit Submit

    Following these steps should solve the problem of your news templates not being found and other similar smarty errors when you upgrade to a version of CMS that has News 2.3 or greater.

    '; $lang['helpaction']=''Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpmoretext']='Text to display at the end of a news item if it goes over the summary length. Defaults to "More"'; $lang['helpsortby']='Field to sort by. Options are: "news_date", "summary", "news_data", "news_category", "news_title", "news_extra", "end_time", "start_time", "random". Defaults to "news_date". If "random" is specified, the sortasc param is ignored.'; $lang['info_sysdefault2']='Note: This tab contains text areas to allow you to edit a set of templates that are displayed when you create a 'new' summary, detail, or form template. Changing content in this tab, and clicking 'submit' will not effect any current displays.'; $lang['lastpage']='>>'; $lang['needpermission']='You need the '%s' permission to perform that function.'; $lang['nextpage']='>'; $lang['note']='Note: Dates must be in a 'yyyy-mm-dd hh:mm:ss' format.'; $lang['postinstall']='Make sure to set the "Modify News" permission on users who will be administering News items.'; $lang['prevpage']='<'; $lang['revert']='Set Status to 'Draft''; ?>没有
    找到该类别的条目: %s'; $lang['nopostdategiven']='没有指定发布日期'; $lang['note']='注意:日期必须是 \'yyyy-mm-dd hh:mm:ss\' 格式.'; $lang['notitlegiven']='没有给出标题'; $lang['numbertodisplay']='显示数目(不填显示所有内容)'; $lang['options']='选项'; $lang['postdate']='发布日期'; $lang['postinstall']='确认赋予管理新闻条目的用户"修改新闻"的权限'; $lang['print']='打印'; $lang['restoretodefaultsmsg']='该操作将把模板内容恢复到系统默认值.是否继续?'; $lang['selectcategory']='选择类别'; $lang['showchildcategories']='显示子类别'; $lang['sortascending']='升序排列'; $lang['startdate']='开始日期'; $lang['startoffset']='从 nth 条目开始显示'; $lang['startrequiresend']='输入开始日期同时需要结束日期'; $lang['status']='状态'; $lang['submit']='提交'; $lang['summary']='摘要'; $lang['summarytemplate']='摘要模板'; $lang['sysdefaults']='恢复到默认'; $lang['title']='标题'; $lang['useexpiration']='使用过期日期'; ?> Sent when an article is added.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventdesc-NewsArticleDeleted'] = '刪除文章後發送。'; $lang['eventhelp-NewsArticleDeleted'] = '

    Sent when an article is deleted.

    Parameters

    • "news_id" - Id of the news article
    '; $lang['eventdesc-NewsArticleEdited'] = '編緝文章後發送。'; $lang['eventhelp-NewsArticleEdited'] = '

    Sent when an article is edited.

    Parameters

    • "news_id" - Id of the news article
    • "category_id" - Id of the category for this article
    • "title" - Title of the article
    • "content" - Content of the article
    • "summary" - Summary of the article
    • "status" - Status of the article ("draft" or "publish")
    • "start_time" - Date the article should start being displayed
    • "end_time" - Date the article should stop being displayed
    • "useexp" - Whether the expiration date should be ignored or not
    '; $lang['eventhelp-NewsCategoryAdded'] = '

    Sent when a category is added.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    '; $lang['eventhelp-NewsCategoryDeleted'] = '

    Sent when a category is deleted.

    Parameters

    • "category_id" - Id of the deleted category
    • "name" - Name of the deleted category
    '; $lang['eventhelp-NewsCategoryEdited'] = '

    Sent when a category is edited.

    Parameters

    • "category_id" - Id of the news category
    • "name" - Name of the news category
    • "origname" - The original name of the news category
    '; $lang['expired'] = '過期'; $lang['expiry'] = '過期'; $lang['expiry_interval'] = '文章期滿前天數 (預設)(如果有選擇期滿)'; $lang['extra_label'] = '額外:'; $lang['file'] = '檔案'; $lang['filter'] = '過濾'; $lang['firstpage'] = '<<'; $lang['help'] = '

    What does this do?

    News is a module for displaying news events on your page, similar to a blog style, except with more features!. When the module is installed, a News admin page is added to administration menu that will allow you to select or add a news category. Once a news category is created or selected, a list of news items for that category will be displayed. From here, you can add, edit or delete news items for that category.

    Security

    The user must belong to a group with the \'Modify News\' permission in order to add, edit, or delete News entries.

    In order to edit the layout templates, the user must belong to a group with the \'Modify Templates\' permission.

    In order to edit the global news preferences, the user must belong to a group with the \'Modify Site Preferences\' permission.

    How do I use it?

    The easiest way to use it is in conjunction with the cms_module tag. This will insert the module into your template or page anywhere you wish, and display news items. The code would look something like: {cms_module module="news" number="5" category="beer"}

    '; $lang['helpaction'] = 'Override the default action. Possible values are:
    • "detail" - to display a specified articleid in detail mode.
    • "default" - to display the summary view
    • "fesubmit" - to display the frontend form for allowing users to submit news articles on the front end. Add the {cms_init_editor} tag in the metadata section to initialize the selected wysiwyg editor. (Site Admin >> Global Settings)
    • "browsecat" - to display a browseable category list.
    '; $lang['helpcategory'] = '只顯示該類別的項目。名稱前加*顯示子類別。多類別請用逗號分隔.不填將顯示所有類別。'; $lang['helpdetailpage'] = '顯示新聞內容的詳細內容的頁面。 可以是頁面別名,也可以是id。 用來使詳細內容能夠以不同模板顯示。'; $lang['helpdetailtemplate'] = '用獨立的模板顯示文章內容. 模板必須位於 modules/News/templates.'; $lang['helpmoretext'] = '項目超過摘要長度時顯示的文字。 預設 "more..."'; $lang['helpnumber'] = '最大顯示項目數(不填顯示所有項目)。'; $lang['helpsortasc'] = '使用遞增列新聞項目。'; $lang['helpsortby'] = '排序欄位. 選項: "新聞日期","摘要","新聞內容","新聞類別","新聞標題". 預設為 "新聞日期"。'; $lang['helpstart'] = '從 nth 條開始顯示(不填從第一條顯示)。'; $lang['helpsummarytemplate'] = '用獨立的模板顯示文章摘要. 模板必須位於 modules/News/templates.'; $lang['hide_summary_field'] = '添加或編輯文章時,隱藏的匯總欄位'; $lang['lastpage'] = '>>'; $lang['more'] = '更多'; $lang['moretext'] = '更多文字'; $lang['name'] = '名稱'; $lang['needpermission'] = '你需要 \'%s\' 權限來執行這項操作。'; $lang['newcategory'] = '新類別'; $lang['news'] = '新聞'; $lang['news_return'] = '返回'; $lang['nextpage'] = '>'; $lang['nocategorygiven'] = '沒有指定類別'; $lang['nocontentgiven'] = '沒有指定內容'; $lang['noitemsfound'] = '沒有 找到該類別的項目:%s'; $lang['nonamegiven'] = '沒有給名稱'; $lang['none'] = '無'; $lang['nopostdategiven'] = '沒有指定發佈日期'; $lang['note'] = '注意: 日期必須是 \'yyyy-mm-dd hh:mm:ss\' 格式。'; $lang['notitlegiven'] = '沒有指定標題'; $lang['numbertodisplay'] = '顯示數目(不填顯示所有內容)'; $lang['options'] = '選項'; $lang['optionsupdated'] = '這選項已成功更新。'; $lang['postdate'] = '發佈日期'; $lang['postinstall'] = '確認賦予管理新聞項目的用戶"修改新聞"的權限。'; $lang['preview'] = '預覽'; $lang['prevpage'] = '<'; $lang['print'] = '列印'; $lang['prompt_default'] = '預設'; $lang['prompt_name'] = '名稱'; $lang['prompt_page'] = '頁'; $lang['prompt_sorting'] = '排序、依'; $lang['reassign_category'] = '更改類別至'; $lang['removed'] = '刪除'; $lang['restoretodefaultsmsg'] = '該操作將把模板內容恢復到系統預設值.是否繼續?'; $lang['revert'] = '設定狀態為“草稿”'; $lang['select'] = '選取'; $lang['selectcategory'] = '選擇類別'; $lang['showchildcategories'] = '顯示子類別'; $lang['sortascending'] = '遞增排列'; $lang['startdate'] = '開始日期'; $lang['startdatetoolate'] = '開始日期已經為時已晚(在結束日期之後?)'; $lang['startoffset'] = '從 nth 項目開始顯示'; $lang['startrequiresend'] = '輸入開始日期同時需要結束日期'; $lang['status'] = '狀態'; $lang['status_asc'] = '狀態遞增'; $lang['status_desc'] = '狀態遞減'; $lang['submit'] = '提交'; $lang['summary'] = '摘要'; $lang['summarytemplate'] = '摘要模板'; $lang['summarytemplateupdated'] = '新聞摘要模板已成功更新。'; $lang['sysdefaults'] = '恢復到預設值'; $lang['textarea'] = '文本區域'; $lang['textbox'] = '文字輸入'; $lang['title'] = '標題'; $lang['title_asc'] = '標題遞增'; $lang['title_desc'] = '標題遞減'; $lang['title_detail_returnid'] = '預設頁面使用的詳細意見'; $lang['title_detail_settings'] = '詳細查看設定'; $lang['title_fesubmit_settings'] = '前台提交設定'; $lang['title_news_settings'] = '設定 - 新聞模組'; $lang['title_notification_settings'] = '通知設定'; $lang['title_submission_settings'] = '新聞投稿設定'; $lang['type_News'] = '新聞'; $lang['unknown'] = '未知'; $lang['unlimited'] = '無限的'; $lang['up'] = '上'; $lang['useexpiration'] = '使用過期日期'; $lang['warning_preview'] = '警告: This preview panel behaves much like a browser window allowing you to navigate away from the initially previewed page. However, if you do that, you may experience unexpected behaviour. Navigating away from the initial page and returning will not give the expected results.
    Note: The preview does not upload files you may have selected for upload.'; ?>get_name(); } public function test($time = '') { if( !$time ) $time = time(); $mod = \cms_utils::get_module('News'); $lastrun = (int) $mod->GetPreference('task1_lastrun'); if( $lastrun >= ($time - 900) ) return FALSE; // hardcoded to 15 minutes return TRUE; } public function on_success($time = '') { IF( !$time ) $time = time(); $mod = \cms_utils::get_module('News'); $mod->SetPreference('task1_lastrun',$time); } public function on_failure($time = '') {} public function execute($time = '') { $db = \CmsApp::get_instance()->GetDb(); if( !$time ) $time = time(); $query = 'SELECT count(news_id) FROM '.CMS_DB_PREFIX.'module_news n WHERE status != \'published\' AND (end_time IS NULL OR end_time > NOW())'; $count = $db->GetOne($query); if( !$count ) return TRUE; $alert = new DraftMessageAlert($count); $alert->save(); return TRUE; } } name = __CLASS__; $this->priority = self::PRIORITY_LOW; $this->titlekey = 'title_draft_entries'; $this->module = 'News'; $this->msgkey = 'notify_n_draft_items'; $this->msgargs = $count; } }Lang('lbl_adminsearch'); } public function get_description() { $mod = cms_utils::get_module('News'); return $mod->Lang('desc_adminsearch'); } public function check_permission() { $userid = get_userid(); return check_permission($userid,'Modify News'); } public function get_matches() { $mod = cms_utils::get_module('News'); if( !is_object($mod) ) return; $db = cmsms()->GetDb(); // need to get the fielddefs of type textbox or textarea $query = 'SELECT id, name FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE type IN (?,?)'; $fdlist = $db->GetArray($query,array('textbox','textarea')); $fields = array('N.*'); $joins = array(); $where = array('news_title LIKE ?','news_data LIKE ?','summary LIKE ?'); $str = '%'.$this->get_text().'%'; $parms = array($str,$str,$str); // add in fields $fieldNames = array(); for( $i = 0; $i < count($fdlist); $i++ ) { $tmp = 'FV'.$i; //$fdid = $fdlist[$i]; $fdid = $fdlist[$i]['id']; $fieldNames[$tmp] = $fdlist[$i]['name']; $fields[] = "$tmp.value as $tmp"; $joins[] = 'LEFT JOIN '.CMS_DB_PREFIX."module_news_fieldvals $tmp ON N.news_id = $tmp.news_id AND $tmp.fielddef_id = $fdid"; $where[] = "$tmp.value LIKE ?"; $parms[] = $str; } // build the query. $query = 'SELECT '.implode(',',$fields).' FROM '.CMS_DB_PREFIX.'module_news N'; if( count($joins) ) $query .= ' ' . implode(' ',$joins); if( count($where) ) $query .= ' WHERE '.implode(' OR ',$where); $query .= ' ORDER BY N.modified_date DESC'; $this->process_query_string($query); $dbr = $db->GetArray($query,array($parms)); if( is_array($dbr) && count($dbr) ) { // got some results. $output = array(); $resultSets = array(); if ($this->show_snippets()) { $fieldNames['news_title'] = $mod->lang('title'); $fieldNames['news_data'] = $mod->lang('content'); $fieldNames['summary'] = $mod->lang('summary'); } foreach( $dbr as $row ) { if (!isset($resultSets[$row['news_id']])) { $resultSets[$row['news_id']] = $this->get_resultset($row['news_title'],AdminSearch_tools::summarize($row['summary']),$mod->create_url('m1_','editarticle','',array('articleid'=>$row['news_id']))); } foreach( $fieldNames as $key => $value ) { $content = $row[$key]; $resultSets[$row['news_id']]->count += $count = $this->get_number_of_occurrences($content); if ($this->show_snippets() && $count > 0) { $resultSets[$row['news_id']]->locations[$value] = $this->generate_snippets($content); } } } #processing the results foreach ($resultSets as $result_object) { $output[] = json_encode($result_object); } return $output; } } } // end of class ?> $articleid ] ); $db = cmsms()->GetDb(); //Now remove the article $query = "DELETE FROM ".CMS_DB_PREFIX."module_news WHERE news_id = ?"; $db->Execute($query, array($articleid)); // Delete it from the custom fields $query = 'DELETE FROM '.CMS_DB_PREFIX.'module_news_fieldvals WHERE news_id = ?'; $db->Execute($query, array($articleid)); // delete any files... $config = cmsms()->GetConfig(); $p = cms_join_path($config['uploads_path'],'news','id'.$articleid); if( is_dir($p) ) recursive_delete($p); news_admin_ops::delete_static_route($articleid); //Update search index $mod = cms_utils::get_module('News'); $module = cms_utils::get_search_module(); if ($module != FALSE) $module->DeleteWords($mod->GetName(), $articleid, 'article'); \CMSMS\HookManager::do_hook('News::NewsArticleDeleted', ['news_id'=>$articleid ] ); // put mention into the admin log audit($articleid, 'News: '.$articleid, 'Article deleted'); } public static function handle_upload($itemid,$fieldname,&$error) { $config = cmsms()->GetConfig(); $mod = cms_utils::get_module('News'); $p = cms_join_path($config['uploads_path'],'news'); if (!is_dir($p)) { $res = @mkdir($p); if( $res === FALSE ) { $error = $mod->Lang('error_mkdir',$p); return FALSE; } } $p = cms_join_path($config['uploads_path'],'news','id'.$itemid); if (!is_dir($p)) { if( @mkdir($p) === FALSE ) { $error = $mod->Lang('error_mkdir',$p); return FALSE; } } if( $_FILES[$fieldname]['size'] > $config['max_upload_size'] ) { $error = $mod->Lang('error_filesize'); return FALSE; } $filename = basename($_FILES[$fieldname]['name']); $dest = cms_join_path($config['uploads_path'],'news','id'.$itemid,$filename); // Get the files extension $ext = substr(strrchr($filename, '.'), 1); // compare it against the 'allowed extentions' $exts = explode(',',$mod->GetPreference('allowed_upload_types','')); if( !in_array( $ext, $exts ) ) { $error = $mod->Lang('error_invalidfiletype'); return FALSE; } if( @cms_move_uploaded_file($_FILES[$fieldname]['tmp_name'], $dest) === FALSE ) { $error = $mod->Lang('error_movefile',$dest); return FALSE; } return $filename; } static public function UpdateHierarchyPositions() { $db = cmsms()->GetDb(); $query = "SELECT news_category_id, item_order, news_category_name FROM ".CMS_DB_PREFIX."module_news_categories"; $dbresult = $db->Execute($query); while ($dbresult && $row = $dbresult->FetchRow()) { $current_hierarchy_position = ""; $current_long_name = ""; $content_id = $row['news_category_id']; $current_parent_id = $row['news_category_id']; $count = 0; while ($current_parent_id > -1) { $query = "SELECT news_category_id, item_order, news_category_name, parent_id FROM ".CMS_DB_PREFIX."module_news_categories WHERE news_category_id = ?"; $row2 = $db->GetRow($query, array($current_parent_id)); if ($row2) { $current_hierarchy_position = (string)str_pad($row2['item_order'], 5, '0', STR_PAD_LEFT) . "." . $current_hierarchy_position; $current_long_name = $row2['news_category_name'] . ' | ' . $current_long_name; $current_parent_id = $row2['parent_id']; $count++; } else { $current_parent_id = 0; } } if (strlen($current_hierarchy_position) > 0) { $current_hierarchy_position = substr($current_hierarchy_position, 0, strlen($current_hierarchy_position) - 1); } if (strlen($current_long_name) > 0) { $current_long_name = substr($current_long_name, 0, strlen($current_long_name) - 3); } $query = "UPDATE ".CMS_DB_PREFIX."module_news_categories SET hierarchy = ?, long_name = ? WHERE news_category_id = ?"; $db->Execute($query, array($current_hierarchy_position, $current_long_name, $content_id)); } } static public function delete_static_route($news_article_id) { return cms_route_manager::del_static('','News',$news_article_id); } static public function register_static_route($news_url,$news_article_id,$detailpage = '') { if( $detailpage <= 0 ) { $gCms = cmsms(); $module = cms_utils::get_module('News'); $detailpage = $module->GetPreference('detail_returnid',-1); if( $detailpage == -1 ) { $detailpage = $gCms->GetContentOperations()->GetDefaultContent(); } } $parms = array('action'=>'detail','returnid'=>$detailpage,'articleid'=>$news_article_id); $route = CmsRoute::new_builder($news_url,'News',$news_article_id,$parms,TRUE); return cms_route_manager::add_static($route); } public static function optionstext_to_array($txt) { $txt = trim($txt); if( !$txt ) return; $arr_options = array(); $tmp1 = explode("\n",$txt); foreach( $tmp1 as $tmp2 ) { $tmp2 = trim($tmp2); if( $tmp2 == '' ) continue; $tmp2_k = $tmp2_v = $tmp2; if( strpos($tmp2,'=') !== FALSE ) { list($tmp2_k,$tmp2_v) = explode('=',$tmp2,2); } if( $tmp2_k == '' || $tmp2_v == '' ) continue; $arr_options[$tmp2_k] = $tmp2_v; } if( count($arr_options) == 0 ) return; return $arr_options; } public static function array_to_optionstext($arr) { $txt = ''; foreach( $arr as $key => $val ) { $txt .= "$key=$val\n"; } return trim($txt); } } // end of class # # EOF # _rawdata[$key]) ) $res = $this->_rawdata[$key]; return $res; } private function _getauthorinfo($author_id,$authorname = FALSE) { if( !isset($this->_meta['author']) ) { $mod = cms_utils::get_module('News'); $this->_meta['author'] = $mod->Lang('anonymous'); $this->_meta['authorname'] = $mod->Lang('unknown'); if( $author_id > 0 ) { $userops = cmsms()->GetUserOperations(); $theuser = $userops->LoadUserById($author_id); if( is_object($theuser) ) { $this->_meta['author'] = $theuser->username; $this->_meta['authorname'] = $theuser->firstname.' '.$theuser->lastname; // is there some locale way we can do this? } } else if( $author_id < 0 ) { $author_id *= -1; $feu = cms_utils::get_module('FrontEndUsers'); if( $feu ) { $uinfo = $feu->GetUserInfo($author_id); if( $uinfo[0] ) $this->_meta['author'] = $uinfo[1]['username']; } } } if( $authorname ) return $this->_meta['authorname']; return $this->_meta['author']; } private function _get_returnid() { if( !isset($this->_meta['returnid']) ) { $mod = cms_utils::get_module('News'); $tmp = $mod->GetPreference('detail_returnid',-1); if( $tmp <= 0 ) $tmp = ContentOperations::get_instance()->GetDefaultContent(); $this->_meta['returnid'] = $tmp; } return $this->_meta['returnid']; } private function _get_canonical() { if( !isset($this->_meta['canonical']) ) { $tmp = $this->news_url; if( $tmp == '' ) { $aliased_title = munge_string_to_url($this->title); $tmp = 'news/'.$this->id.'/'.$this->returnid."/{$aliased_title}"; } $mod = cms_utils::get_module('News'); $canonical = $mod->create_url($this->_inid,'detail',$this->returnid,$this->params,false,false,$tmp); $this->_meta['canonical'] = $canonical; } return $this->_meta['canonical']; } private function _get_params() { $params = $this->_inparams; $params['articleid'] = $this->id; return $params; } public function set_linkdata($id,$params,$returnid = '') { if( $id ) $this->_inid = $id; if( is_array($params) ) $this->_inparams = $params; if( $returnid != '' ) $this->_meta['returnid'] = $returnid; } public function set_field(news_field $field) { if( !isset($this->_rawdata['fieldsbyname']) ) $this->_rawdata['fieldsbyname'] = array(); $name = $field->name; $this->_rawdata['fieldsbyname'][$name] = $field; } public function unset_field($name) { if( isset($this->_rawdata['fieldsbyname']) ) { if( isset($this->_rawdata['fieldsbyname'][$name]) ) unset($this->_rawdata['fieldsbyname'][$name]); if( count($this->_rawdata['fieldsbyname']) == 0 ) unset($this->_rawdata['fieldsbyname']); } } public function __get($key) { switch( $key ) { case 'id': case 'author_id': case 'title': case 'content': case 'summary': case 'extra': case 'news_url': case 'postdate': // db time format case 'startdate': // db time format case 'enddate': // db time format case 'create_date': // db time format case 'modified_date': // db time format case 'category_id': case 'status': return $this->_getdata($key); case 'file_location': $config = \cms_config::get_instance(); $url = $config['uploads_url'].'/news/id'.$this->id; return $url; case 'author': // metadata. return $this->_getauthorinfo($this->author_id); case 'authorname': // metadata. return $this->_getauthorinfo($this->author_id,TRUE); case 'category': // metadata. return news_ops::get_category_name_from_id($this->category_id); case 'useexp': if( isset($this->_meta['useexp']) ) return $this->_meta['useexp']; return 0; case 'canonical': // metadata return $this->_get_canonical(); break; case 'fields': case 'customfieldsbyname': // deprecated case 'fieldsbyname': // deprecated if( isset($this->_rawdata['fieldsbyname']) ) return $this->_rawdata['fieldsbyname']; break; case 'returnid': // metadata return $this->_get_returnid(); case 'params': // metadata return $this->_get_params(); default: // check if there is a field with this alias if( isset($this->_rawdata['fieldsbyname']) && is_array($this->_rawdata['fieldsbyname']) ) { foreach( $this->_rawdata['fieldsbyname'] as $fname => &$obj ) { if( !is_object($obj) ) continue; if( $key == $obj->alias ) return $obj->value; } } //throw new Exception('Requesting invalid data from News article object '.$key); } } public function __isset($key) { switch( $key ) { case 'id': case 'author_id': case 'title': case 'content': case 'summary': case 'extra': case 'news_url': case 'category_id': case 'postdate': case 'startdate': case 'enddate': case 'fieldsbyname': case 'status': return isset($this->_rawdata[$key]); case 'customfieldsbyname': // deprecated case 'fields': // deprecated return isset($this->_rawdata['fieldsbyname']); case 'author': case 'authorname': case 'category': case 'canonical': case 'returnid': case 'params': case 'useexp': return true; case 'create_date': case 'modified_date': if( $this->id != '' ) return TRUE; break; default: throw new Exception('Requesting invalid data from News article object '.$key); } return FALSE; } public function __set($key,$value) { switch( $key ) { case 'id': case 'author_id': case 'title': case 'content': case 'summary': case 'extra': case 'news_url': case 'category_id': $this->_rawdata[$key] = $value; break; case 'status': $value = strtolower($value); if( $value != 'published' ) $value = 'draft'; $this->_rawdata[$key] = $value; break; case 'useexp': // this is a different case as this doesn't get stored in the database $this->_meta['useexp'] = $value; break; case 'create_date': // db time format case 'modified_date': // db time format case 'postdate': // db time format case 'startdate': // db time format case 'enddate': // db time format if( is_int($value) ) { $db = cmsms()->GetDb(); $value = $db->DbTimeStamp($value); } $this->_rawdata[$key] = $value; break; default: throw new Exception('Modifying invalid data in News article object '.$key); } } } ?>_data[$key]) ) return $this->_data[$key]; } public function __get($key) { $fielddefs = news_ops::get_fielddefs(FALSE); switch( $key ) { case 'alias': $alias = munge_string_to_url($this->name); return $alias; case 'id': case 'name': case 'type': case 'max_length': case 'create_date': case 'modified_date': case 'item_order': case 'public': case 'value': if( isset($this->_data[$key]) ) return $this->_data[$key]; break; case 'extra': if( isset($this->_data['extra']) ) { if( !is_array($this->_data['extra']) ) $this->_data['extra'] = unserialize($this->_data['extra']); return $this->_data['extra']; } break; case 'options': $extra = $this->extra; if( is_array($extra) && isset($extra['options']) ) return $extra['options']; break; case 'displayvalue': if( !$this->_displayvalue ) { if( isset($this->_data['value']) ) { $value = $this->_data['value']; $this->_displayvalue = $value; if( $this->type == 'dropdown' ) { // dropdowns may have a different displayvalue than actual value. if( is_array($this->options) && isset($this->options[$value]) ) $this->_displayvalue = $this->options[$value]; } } } return $this->_displayvalue; break; case 'fielddef_id': return $this->_data['id']; } } public function __isset($key) { switch( $key ) { case 'alias': case 'id': case 'name': case 'type': case 'max_length': case 'create_date': case 'modified_date': case 'item_order': case 'public': return TRUE; case 'value': case 'extra': return isset($this->_data[$key]); default: return FALSE; } } public function __set($key,$value) { switch( $key ) { case 'id': case 'name': case 'type': case 'max_length': case 'item_order': case 'public': case 'value': case 'extra': $this->_data[$key] = $value; break; case 'alias': throw new Exception('Attempt to set invalid data into field object: '.$key); break; case 'create_date': case 'modified_date': break; default: throw new Exception('Attempt to set invalid data into field object: '.$key); } } private function _validate() { if( $this->name == '' ) throw new CmsException('Invalid field definition name'); if( $this->type == 'dropdown' && count($this->options) == 0 ) throw new CmsException('No options for dropdown field'); if( $this->id > 0 && $this->item_order < 1 ) throw new CmsException('Invalid item order'); } private function _insert() { $db = cmsms()->GetDb(); if( $this->item_order < 1 ) { $query = 'SELECT MAX(item_order) FROM '.CMS_DB_PREFIX.'module_news_fielddefs'; $num = (int)$db->GetOne($query); $this->item_order = $num+1; } $query = 'INSERT INTO '.CMS_DB_PREFIX."module_news_fielddefs (name,type,max_length,create_date,modified_date,item_order,public,extra) VALUES (?,?,?,NOW(),NOW(),?,?,?)"; $dbr = $db->Execute($query,array($this->name,$this->type,$this->max_length,$this->item_order,$this->public, serialize($this->extra))); $this->_data['id'] = $db->Insert_ID(); $this->create_date = $this->modified_date = $db->DbTimeStamp(time()); } private function _update() { $db = cmsms()->GetDb(); $query = 'UPDATE '.CMS_DB_PREFIX.'module_news_fielddefs SET name = ?, type = ?, max_length = ?, modified_date = NOW(), item_order = ?, public = ?, extra = ? WHERE id = ?'; $dbr = $db->Execute($query,array($this->name,$this->type,$this->max_length,$this->item_order,$this->public, serialize($this->extra),$this->id)); $this->modified_date = $db->DbTimeStamp(time()); } public function save() { $this->_validate(); if( $this->_data['id'] ) { $this->_insert(); } else { $this->_update(); } } public static function &load_by_id($id) { $id = (int)$id; if( $id < 1 ) return; $db = cmsms()->GetDb(); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE id = ?'; $row = $db->GetRow($query,array($id)); if( $row['extra'] ) $row['extra'] = unserialize($row['extra']); $obj = new news_field; $obj->_data = $row; return $obj; } public static function &load_by_name($name) { $name = trim($name); if( !$name ) return; $db = cmsms()->GetDb(); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE name = ?'; $row = $db->GetRow($query,array($name)); if( $row['extra'] ) $row['extra'] = unserialize($row['extra']); $obj = new news_field; $obj->_data = $row; return $obj; } } // end of class ?>GetDb(); $counts = array(); $now = $db->DbTimeStamp(time()); { $q2 = 'SELECT news_category_id,COUNT(news_id) AS cnt FROM '.CMS_DB_PREFIX.'module_news WHERE news_category_id IN ('; $q2 .= implode(',',$cat_ids).')'; if (isset($params['showarchive']) && $params['showarchive'] == true) { $q2 .= " AND (end_time < ".$db->DBTimeStamp(time()).") "; } else { $q2 .= " AND (".$db->IfNull('start_time',$db->DBTimeStamp(1))." < $now) "; $q2 .= " AND ((".$db->IfNull('end_time',$db->DBTimeStamp(1))." = ".$db->DBTimeStamp(1).") OR (end_time > $now)) "; } $q2 .= ' AND status = \'published\' GROUP BY news_category_id'; $tmp = $db->GetArray($q2); if( count($tmp) ) { for( $i = 0, $n = count($tmp); $i < $n; $i++ ) { $counts[$tmp[$i]['news_category_id']] = $tmp[$i]['cnt']; } } } $rowcounter=0; $items = array(); $depth = 1; for( $i = 0, $n = count($catinfo); $i < $n; $i++ ) { $row =& $catinfo[$i]; $row['index'] = $rowcounter++; $row['count'] = (isset($counts[$row['news_category_id']]))?$counts[$row['news_category_id']]:0; $row['prevdepth'] = $depth; $depth = count(explode('.', $row['hierarchy'])); $row['depth']=$depth; // changes so that parameters supplied to the tag // gets carried down through the links // screw pretty urls $parms = $params; unset($parms['browsecat']); unset($parms['category']); $parms['category_id'] = $row['news_category_id']; $pageid = (isset($params['detailpage']) && $params['detailpage']!='')?$params['detailpage']:$returnid; $mod = cms_utils::get_module('News'); $row['url'] = $mod->CreateLink($id,'default',$pageid,$row['news_category_name'],$parms,'',true); $items[] = $row; } return $items; } public static function get_all_categories() { if( !self::$_categories_loaded ) { $db = CmsApp::get_instance()->GetDb(); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY hierarchy"; $dbresult = $db->GetArray($query); if( $dbresult ) self::$_cached_categories = $dbresult; self::$_categories_loaded = TRUE; } return self::$_cached_categories; } public static function get_category_list() { self::get_all_categories(); $categorylist = array(); if (!empty(self::$_cached_categories)) { for( $i = 0, $n = count(self::$_cached_categories); $i < $n; $i++ ) { $row = self::$_cached_categories[$i]; $categorylist[$row['long_name']] = $row['news_category_id']; } } return $categorylist; } public static function get_category_names_by_id() { self::get_all_categories(); if (!empty(self::$_cached_categories)) { $list = array(); for( $i = 0, $n = count(self::$_cached_categories); $i < $n; $i++ ) { $list[self::$_cached_categories[$i]['news_category_id']] = self::$_cached_categories[$i]['news_category_name']; } } return $list; } public static function get_category_name_from_id($id) { self::get_all_categories(); if (!empty(self::$_cached_categories)) { for( $i = 0, $n = count(self::$_cached_categories); $i < $n; $i++ ) { if( $id == self::$_cached_categories[$i]['news_category_id'] ) { return self::$_cached_categories[$i]['news_category_name']; } } } } public static function get_fielddefs($publiconly = TRUE) { if( !is_array(self::$_cached_fielddefs) ) { $db = CmsApp::get_instance()->GetDb(); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs WHERE public = 1 ORDER BY item_order'; if( !$publiconly ) { $query = 'SELECT * FROM '.CMS_DB_PREFIX.'module_news_fielddefs ORDER BY item_order'; } $tmp = $db->GetArray($query); self::$_cached_fielddefs = array(); if( is_array($tmp) && count($tmp) ) { for( $i = 0, $n = count($tmp); $i < $n; $i++ ) { self::$_cached_fielddefs[$tmp[$i]['id']] = $tmp[$i]; } } } return self::$_cached_fielddefs; } public static function &get_field_from_row($row) { $res = null; if( !isset($row['id']) ) return $res; $res = new news_field; foreach( $row as $key => $value ) { switch( $key ) { case 'id': case 'name': case 'type': case 'max_length': case 'item_order': case 'public': case 'value': $res->$key = $value; break; } } return $res; } public static function fill_article_from_formparams(news_article &$news,$params,$handle_uploads = FALSE,$handle_deletes = FALSE) { foreach( $params as $key => $value ) { switch( $key ) { case 'articleid': $news->id = $value; break; case 'author_id': case 'title': case 'content': case 'summary': case 'status': case 'news_url': case 'useexp': case 'extra': $news->$key = $value; break; case 'category': $list = self::get_category_names_by_id(); for( $i = 0, $n = count(self::$_cached_categories); $i < $n; $i++ ) { if( $value == self::$_cached_categories[$i]['news_category_name'] ) $news->category_id = self::$_cached_categories[$i]['news_category_id']; } break; case 'postdate_Month': $news->postdate = mktime($params['postdate_Hour'], $params['postdate_Minute'], $params['postdate_Second'], $params['postdate_Month'], $params['postdate_Day'], $params['postdate_Year']); break; case 'startdate_Month': $news->startdate = mktime($params['startdate_Hour'], $params['startdate_Minute'], $params['startdate_Second'], $params['startdate_Month'], $params['startdate_Day'], $params['startdate_Year']); break; case 'startdate_Month': $news->enddate = mktime($params['enddate_Hour'], $params['enddate_Minute'], $params['enddate_Second'], $params['enddate_Month'], $params['enddate_Day'], $params['enddate_Year']); break; } } if( isset($params['customfield']) && is_array($params['customfield']) ) { $fielddefs = self::get_fielddefs(); foreach( $params['customfield'] as $key => $value ) { if( !isset($fielddefs[$key]) ) continue; $field = self::get_field_from_row($fielddefs[$key]); $field->value = $value; $news->set_field($field); } } return $news; } static private function &get_article_from_row($row,$get_fields = 'PUBLIC') { if( !is_array($row) ) return; $article = new news_article; foreach( $row as $key => $value ) { switch( $key ) { case 'news_id': $article->id = $value; break; case 'news_category_id': $article->category_id = $value; break; case 'news_title': $article->title = $value; break; case 'news_data': $article->content = $value; break; case 'news_date': $article->postdate = $value; break; case 'summary': $article->summary = $value; case 'start_time': $article->startdate = $value; break; case 'end_time': $article->enddate = $value; break; case 'status': $article->status = $value; break; case 'create_date': $article->create_date = $value; break; case 'modified_date': $article->modified_date = $value; break; case 'author_id': $article->author_id = $value; break; case 'news_extra': $article->extra = $value; break; case 'news_url': $article->news_url = $value; break; } } if( $get_fields && $get_fields != 'NONE' && $article->id ) { self::preloadFieldData($article->id); $fields = self::get_fields($article->id); if( isset($fields) && count($fields) ) { foreach( $fields as $field ) { $article->set_field($field); } } } return $article; } static public function &get_latest_article($for_display = TRUE) { $db = CmsApp::get_instance()->GetDb(); $now = $db->DbTimeStamp(time()); $query = "SELECT mn.*, mnc.news_category_name FROM ".CMS_DB_PREFIX."module_news mn LEFT OUTER JOIN ".CMS_DB_PREFIX."module_news_categories mnc ON mnc.news_category_id = mn.news_category_id WHERE status = 'published' AND "; $query .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < $now) AND "; $query .= "((".$db->IfNull('end_time',$db->DBTimeStamp(1))." = ".$db->DBTimeStamp(1).") OR (end_time > $now)) "; $query .= 'ORDER BY news_date DESC LIMIT 1'; $row = $db->GetRow($query); return self::get_article_from_row($row,($for_display)?'PUBLIC':'ALL'); } static public function &get_article_by_id($article_id,$for_display = TRUE,$allow_expired = FALSE) { $db = CmsApp::Get_instance()->GetDb(); $query = 'SELECT mn.*, mnc.news_category_name FROM '.CMS_DB_PREFIX.'module_news mn LEFT OUTER JOIN '.CMS_DB_PREFIX.'module_news_categories mnc ON mnc.news_category_id = mn.news_category_id WHERE status = \'published\' AND news_id = ? AND ('.$db->ifNull('start_time',$db->DbTimeStamp(1)).' < NOW())'; if( !$allow_expired ) { $query .= 'AND (('.$db->ifNull('end_time',$db->DbTimeStamp(1)).' = '.$db->DbTimeStamp(1).') OR (end_time > NOW()))'; } $row = $db->GetRow($query, array($article_id)); $res = null; if( !$row ) return $res; return self::get_article_from_row($row,($for_display)?'PUBLIC':'ALL'); } public static function preloadFieldData($ids) { if( !is_array($ids) && is_numeric($ids) ) $ids = array($ids); $tmp = array(); for( $i = 0, $nn = count($ids); $i < $nn; $i++ ) { $n = (int)$ids[$i]; if( $n < 0 ) continue; if( is_array(self::$_cached_fieldvals) && isset(self::$_cached_fieldvals[$n]) ) continue; $tmp[] = $n; } if( !is_array($tmp) || !count($tmp) ) return; sort($tmp); $idlist = array_unique($tmp); $fielddefs = self::get_fielddefs(); if( !count($fielddefs) ) return; $db = CmsApp::get_instance()->GetDb(); $query = 'SELECT A.news_id,A.fielddef_id,A.value FROM '.CMS_DB_PREFIX.'module_news_fieldvals A INNER JOIN '.CMS_DB_PREFIX.'module_news_fielddefs B ON A.fielddef_id = B.id WHERE news_id IN ('.implode(',',$idlist).') ORDER BY A.news_id,B.item_order'; $dbr = $db->GetArray($query); if( !$dbr ) return; // initialization. if( !is_array(self::$_cached_fieldvals) ) self::$_cached_fieldvals = array(); foreach( $idlist as $news_id ) { if( isset(self::$_cached_fieldvals[$news_id]) ) continue; self::$_cached_fieldvals[$news_id] = array(); foreach( $fielddefs as $field ) { $obj = new news_field; foreach( $field as $k => $v ) { $obj->$k = $v; } $obj->value = null; self::$_cached_fieldvals[$news_id][$field['id']] = $obj; } } // fill with values. foreach( $dbr as $row ) { $news_id = $row['news_id']; $flddef_id = $row['fielddef_id']; $value = $row['value']; if( !isset(self::$_cached_fieldvals[$news_id][$flddef_id]) ) continue; self::$_cached_fieldvals[$news_id][$flddef_id]->value = $value; } } public static function get_fields($news_id,$public_only = true,$filled_only = FALSE) { if( $news_id <= 0 ) return; $fd = self::get_fielddefs(); if( !count($fd) ) return; $results = array(); foreach( $fd as $field ) { $obj = null; if( isset(self::$_cached_fieldvals[$news_id][$field['id']]) ) { $obj = self::$_cached_fieldvals[$news_id][$field['id']]; } else { // data for this field must not have been preloaded. // means there is no value, so just build one $obj = new news_field; foreach( $field as $k => $v ) { $obj->$k = $v; } $obj->value = null; } $results[$field['name']] = $obj; } /* foreach( self::$_cached_fieldvals[$news_id] as $fid => $data ) { if( !$public_only || $data->public ) { if( !$filled_only || (isset($data->value) && $data->value != '') ) { $results[$data->name] = $data; } } } */ return $results; } } // end of class # # EOF # ?>test_state(CmsApp::STATE_INSTALL) ) { $uid = 1; // hardcode to first user } else { $uid = get_userid(); } $db = $this->GetDb(); $dict = NewDataDictionary($db); $flds = " news_id I KEY, news_category_id I, news_title C(255), news_data X, news_date " . CMS_ADODB_DT . ", summary X, start_time " . CMS_ADODB_DT . ", end_time " . CMS_ADODB_DT . ", status C(25), icon C(255), create_date " . CMS_ADODB_DT . ", modified_date " . CMS_ADODB_DT . ", author_id I, news_extra C(255), news_url C(255), searchable I1 "; // icon is no longer used. $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX."module_news", $flds, $taboptarray); $dict->ExecuteSQLArray($sqlarray); $db->CreateSequence(CMS_DB_PREFIX."module_news_seq"); $flds = " news_category_id I KEY, news_category_name C(255) NOTNULL, parent_id I, hierarchy C(255), item_order I, long_name X, create_date T, modified_date T "; $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX."module_news_categories",$flds, $taboptarray); $dict->ExecuteSQLArray($sqlarray); $db->CreateSequence(CMS_DB_PREFIX."module_news_categories_seq"); $flds = " id I KEY AUTO, name C(255), type C(50), max_length I, create_date " . CMS_ADODB_DT . ", modified_date " . CMS_ADODB_DT . ", item_order I, public I, extra X "; $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX."module_news_fielddefs", $flds, $taboptarray); $dict->ExecuteSQLArray($sqlarray); $flds = " news_id I KEY NOT NULL, fielddef_id I KEY NOT NULL, value X, create_date " . CMS_ADODB_DT . ", modified_date " . CMS_ADODB_DT . " "; $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX."module_news_fieldvals", $flds, $taboptarray); $dict->ExecuteSQLArray($sqlarray); #Set Permission $this->CreatePermission('Modify News', 'Modify News'); $this->CreatePermission('Approve News', 'Approve News For Frontend Display'); $this->CreatePermission('Delete News', 'Delete News Articles'); # Setup summary template try { $summary_template_type = new CmsLayoutTemplateType(); $summary_template_type->set_originator($this->GetName()); $summary_template_type->set_name('summary'); $summary_template_type->set_dflt_flag(TRUE); $summary_template_type->set_lang_callback('News::page_type_lang_callback'); $summary_template_type->set_content_callback('News::reset_page_type_defaults'); $summary_template_type->set_help_callback('News::template_help_callback'); $summary_template_type->reset_content_to_factory(); $summary_template_type->save(); } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'orig_summary_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('News Summary Sample'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($summary_template_type); $tpl->set_type_dflt(TRUE); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup Simplex Theme HTML5 sample summary template $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'Summary_Simplex_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('Simplex News Summary'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($summary_template_type); $tpl->add_design('Simplex'); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup detail template $detail_template_type = new CmsLayoutTemplateType(); $detail_template_type->set_originator($this->GetName()); $detail_template_type->set_name('detail'); $detail_template_type->set_dflt_flag(TRUE); $detail_template_type->set_lang_callback('News::page_type_lang_callback'); $detail_template_type->set_content_callback('News::reset_page_type_defaults'); $detail_template_type->reset_content_to_factory(); $detail_template_type->set_help_callback('News::template_help_callback'); $detail_template_type->save(); } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'orig_detail_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('News Detail Sample'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($detail_template_type); $tpl->set_type_dflt(TRUE); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup Simplex Theme HTML5 sample detail template $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'Simplex_Detail_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('Simplex News Detail'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($detail_template_type); $tpl->add_design('Simplex'); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup form template $form_template_type = new CmsLayoutTemplateType(); $form_template_type->set_originator($this->GetName()); $form_template_type->set_name('form'); $form_template_type->set_dflt_flag(TRUE); $form_template_type->set_lang_callback('News::page_type_lang_callback'); $form_template_type->set_content_callback('News::reset_page_type_defaults'); $form_template_type->reset_content_to_factory(); $form_template_type->set_help_callback('News::template_help_callback'); $form_template_type->save(); } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'orig_form_template.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('News Fesubmit Form Sample'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($form_template_type); $tpl->set_type_dflt(TRUE); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { // Setup browsecat template $browsecat_template_type = new CmsLayoutTemplateType(); $browsecat_template_type->set_originator($this->GetName()); $browsecat_template_type->set_name('browsecat'); $browsecat_template_type->set_dflt_flag(TRUE); $browsecat_template_type->set_lang_callback('News::page_type_lang_callback'); $browsecat_template_type->set_content_callback('News::reset_page_type_defaults'); $browsecat_template_type->reset_content_to_factory(); $browsecat_template_type->set_help_callback('News::template_help_callback'); $browsecat_template_type->save(); } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } try { $fn = dirname(__FILE__).DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.'browsecat.tpl'; if( file_exists( $fn ) ) { $template = @file_get_contents($fn); $tpl = new CmsLayoutTemplate(); $tpl->set_name('News Browse Category Sample'); $tpl->set_owner($uid); $tpl->set_content($template); $tpl->set_type($browsecat_template_type); $tpl->set_type_dflt(TRUE); $tpl->save(); } } catch( CmsException $e ) { // log it debug_to_log(__FILE__.':'.__LINE__.' '.$e->GetMessage()); audit('',$this->GetName(),'Installation Error: '.$e->GetMessage()); } # Setup default email template and email preferences $this->SetPreference('email_subject',$this->Lang('subject_newnews')); $this->SetTemplate('email_template',$this->GetDfltEmailTemplate()); # Other preferences $this->SetPreference('allowed_upload_types','gif,png,jpeg,jpg'); $this->SetPreference('auto_create_thumbnails','gif,png,jpeg,jpg'); # Setup General category $catid = $db->GenID(CMS_DB_PREFIX."module_news_categories_seq"); $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news_categories (news_category_id, news_category_name, parent_id, create_date, modified_date) VALUES (?,?,?,'.$db->DBTimeStamp(time()).','.$db->DBTimeStamp(time()).')'; $db->Execute($query, array($catid, 'General', -1)); # Setup initial news article $articleid = $db->GenID(CMS_DB_PREFIX."module_news_seq"); $query = 'INSERT INTO '.CMS_DB_PREFIX.'module_news ( NEWS_ID, NEWS_CATEGORY_ID, AUTHOR_ID, NEWS_TITLE, NEWS_DATA, NEWS_DATE, SUMMARY, START_TIME, END_TIME, STATUS, ICON, SEARCHABLE, CREATE_DATE, MODIFIED_DATE ) VALUES (?,?,?,?,?,'.$db->DBTimeStamp(time()).',?,?,?,?,?,?,'.$db->DBTimeStamp(time()).','.$db->DBTimeStamp(time()).')'; $db->Execute($query, array($articleid, $catid, 1, 'News Module Installed', 'The news module was installed. Exciting. This news article is not using the Summary field and therefore there is no link to read more. But you can click on the news heading to read only this article.', null, null, null, 'published', null, 1)); news_admin_ops::UpdateHierarchyPositions(); # Setup permissions $perm_id = $db->GetOne("SELECT permission_id FROM ".CMS_DB_PREFIX."permissions WHERE permission_name = 'Modify News'"); $group_id = $db->GetOne("SELECT group_id FROM `".CMS_DB_PREFIX."groups` WHERE group_name = 'Admin'"); $count = $db->GetOne("SELECT count(*) FROM " . CMS_DB_PREFIX . "group_perms WHERE group_id = ? AND permission_id = ?", array($group_id, $perm_id)); if (isset($count) && intval($count) == 0) { $new_id = $db->GenID(CMS_DB_PREFIX."group_perms_seq"); $query = "INSERT INTO " . CMS_DB_PREFIX . "group_perms (group_perm_id, group_id, permission_id, create_date, modified_date) VALUES (".$new_id.", ".$group_id.", ".$perm_id.", ". $db->DBTimeStamp(time()) . ", " . $db->DBTimeStamp(time()) . ")"; $db->Execute($query); } $group_id = $db->GetOne("SELECT group_id FROM `".CMS_DB_PREFIX."groups` WHERE group_name = 'Editor'"); $count = $db->GetOne("SELECT count(*) FROM " . CMS_DB_PREFIX . "group_perms WHERE group_id = ? AND permission_id = ?", array($group_id, $perm_id)); if (isset($count) && intval($count) == 0) { $new_id = $db->GenID(CMS_DB_PREFIX."group_perms_seq"); $query = "INSERT INTO " . CMS_DB_PREFIX . "group_perms (group_perm_id, group_id, permission_id, create_date, modified_date) VALUES (".$new_id.", ".$group_id.", ".$perm_id.", ". $db->DBTimeStamp(time()) . ", " . $db->DBTimeStamp(time()) . ")"; $db->Execute($query); } # Indexes $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_postdate', CMS_DB_PREFIX.'module_news', 'news_date'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_daterange', CMS_DB_PREFIX.'module_news', 'start_time,end_time'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_author', CMS_DB_PREFIX.'module_news', 'author_id'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_hier', CMS_DB_PREFIX.'module_news', 'news_category_id'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_url', CMS_DB_PREFIX.'module_news', 'news_url'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->CreateIndexSQL(CMS_DB_PREFIX.'news_startenddate', CMS_DB_PREFIX.'module_news', 'start_time,end_time'); $dict->ExecuteSQLArray($sqlarray); #Setup events $this->CreateEvent('NewsArticleAdded'); $this->CreateEvent('NewsArticleEdited'); $this->CreateEvent('NewsArticleDeleted'); $this->CreateEvent('NewsCategoryAdded'); $this->CreateEvent('NewsCategoryEdited'); $this->CreateEvent('NewsCategoryDeleted'); $this->RegisterModulePlugin(TRUE); $this->RegisterSmartyPlugin('news','function','function_plugin'); // and routes... $this->CreateStaticRoutes(); ?> GetDb(); $this->DeleteTemplate('displaysummary'); $this->DeleteTemplate('displaydetail'); $dict = NewDataDictionary( $db ); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX."module_news" ); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX."module_news_categories" ); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX."module_news_fielddefs" ); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX."module_news_fieldvals" ); $dict->ExecuteSQLArray($sqlarray); $db->DropSequence( CMS_DB_PREFIX."module_news_seq" ); $db->DropSequence( CMS_DB_PREFIX."module_news_categories_seq" ); $this->RemovePermission('Modify News'); $this->RemovePermission('Approve News'); $this->RemovePermission('Delete News'); // Remove all preferences for this module $this->RemovePreference(); // And all Templates $this->DeleteTemplate(); #Setup events $this->RemoveEvent('NewsArticleAdded'); $this->RemoveEvent('NewsArticleEdited'); $this->RemoveEvent('NewsArticleDeleted'); $this->RemoveEvent('NewsCategoryAdded'); $this->RemoveEvent('NewsCategoryEdited'); $this->RemoveEvent('NewsCategoryDeleted'); $this->RemoveSmartyPlugin(); cms_route_manager::del_static('',$this->GetName()); // remove templates // and template types. try { $types = CmsLayoutTemplateType::load_all_by_originator($this->GetName()); if( is_array($types) && count($types) ) { foreach( $types as $type ) { $templates = $type->get_template_list(); if( is_array($templates) && count($templates) ) { foreach( $templates as $template ) { $template->delete(); } } $type->delete(); } } } catch( Exception $e ) { // log it audit('',$this->GetName(),'Uninstall Error: '.$e->GetMessage()); } ?>GetDb(); if( version_compare($oldversion,'2.50') < 0 ) { $uid = null; if( cmsms()->test_state(CmsApp::STATE_INSTALL) ) { $uid = 1; // hardcode to first user } else { $uid = get_userid(); } $_fix_name = function($str) { if( CmsAdminUtils::is_valid_itemname($str) ) return $str; $orig = $str; $str = trim($str); if( !CmsAdminUtils::is_valid_itemname($str[0]) ) $str[0] = '_'; for( $i = 1; $i < strlen($str); $i++ ) { if( !CmsAdminUtils::is_valid_itemname($str[$i]) ) $str[$i] = '_'; } for( $i = 0; $i < 5; $i++ ) { $in = $str; $str = str_replace('__','_',$str); if( $in == $str ) break; } if( $str == '_' ) throw new \Exception('Invalid name '.$orig.' and cannot be corrected'); return $str; }; // create template types. $upgrade_template = function($type,$prefix,$tplname,$currentdflt,$prefix2) use (&$mod,&$_fix_name,$uid) { if( !startswith($tplname,$prefix) ) return; $contents = $mod->GetTemplate($tplname); if( !$contents ) return; $prototype = substr($tplname,strlen($prefix)); $prototype = $_fix_name($prototype); try { $tpl = new CmsLayoutTemplate(); $tpl->set_name($tpl::generate_unique_name($prototype,$prefix2)); $tpl->set_owner($uid); $tpl->set_content($contents); $tpl->set_type($type); $tpl->set_type_dflt($prototype == $mod->GetPreference($currentdflt)); $tpl->save(); $mod->DeleteTemplate($tplname); } catch( \CmsInvalidDataException $e ) { } }; try { $dict = NewDataDictionary($db); $sqlarray = $dict->AddColumnSQL(CMS_DB_PREFIX.'module_news','searchable I1'); $dict->ExecuteSQLArray($sqlarray); $sqlarray = $dict->AddColumnSQL(CMS_DB_PREFIX.'module_news_categories','item_order I'); $dict->ExecuteSQLArray($sqlarray); $query = "SELECT * FROM ".CMS_DB_PREFIX."module_news_categories ORDER BY parent_id"; $categories = $db->GetArray($query); $uquery = 'UPDATE '.CMS_DB_PREFIX.'module_news_categories SET item_order = ? WHERE news_category_id = ?'; if( is_array($categories) && count($categories) ) { $prev_parent = null; $item_order = 0; foreach( $categories as $row ) { $parent = $row['parent_id']; if( $parent != $prev_parent ) $item_order = 0; $item_order++; $db->Execute($uquery,array($item_order,$row['news_category_id'])); } } $mod = $this; $alltemplates = $this->ListTemplates(); try { $summary_template_type = new CmsLayoutTemplateType(); $summary_template_type->set_originator($this->GetName()); $summary_template_type->set_name('summary'); $summary_template_type->set_dflt_flag(TRUE); $summary_template_type->set_lang_callback('News::page_type_lang_callback'); $summary_template_type->set_content_callback('News::reset_page_type_defaults'); $summary_template_type->reset_content_to_factory(); $summary_template_type->save(); foreach( $alltemplates as $tplname ) { $upgrade_template($summary_template_type,'summary',$tplname,'current_summary_template','News-Summary-'); } } catch( \CmsInvalidDataException $e ) { // ignore this error. } try { $detail_template_type = new CmsLayoutTemplateType(); $detail_template_type->set_originator($this->GetName()); $detail_template_type->set_name('detail'); $detail_template_type->set_dflt_flag(TRUE); $detail_template_type->set_lang_callback('News::page_type_lang_callback'); $detail_template_type->set_content_callback('News::reset_page_type_defaults'); $detail_template_type->reset_content_to_factory(); $detail_template_type->save(); foreach( $alltemplates as $tplname ) { $upgrade_template($detail_template_type,'detail',$tplname,'current_detail_template','News-Detail-'); } } catch( \CmsInvalidDataException $e ) { // ignore this error. } try { $form_template_type = new CmsLayoutTemplateType(); $form_template_type->set_originator($this->GetName()); $form_template_type->set_name('form'); $form_template_type->set_dflt_flag(TRUE); $form_template_type->set_lang_callback('News::page_type_lang_callback'); $form_template_type->set_content_callback('News::reset_page_type_defaults'); $form_template_type->reset_content_to_factory(); $form_template_type->save(); foreach( $alltemplates as $tplname ) { $upgrade_template($form_template_type,'form',$tplname,'current_form_template','News-Form-'); } } catch( \CmsInvalidDataException $e ) { // ignore this error. } try { $browsecat_template_type = new CmsLayoutTemplateType(); $browsecat_template_type->set_originator($this->GetName()); $browsecat_template_type->set_name('browsecat'); $browsecat_template_type->set_dflt_flag(TRUE); $browsecat_template_type->set_lang_callback('News::page_type_lang_callback'); $browsecat_template_type->set_content_callback('News::reset_page_type_defaults'); $browsecat_template_type->reset_content_to_factory(); $browsecat_template_type->save(); foreach( $alltemplates as $tplname ) { $upgrade_template($browsecat_template_type,'browsecat',$tplname,'current_browsecat_template','News-Browsecat-'); } } catch( \CmsInvalidDataException $e ) { // ignore this error. } } catch( CmsException $e ) { audit('',$this->GetName(),'Upgrade Error: '.$e->GetMessage()); return; } $this->RegisterModulePlugin(TRUE); $this->RegisterSmartyPlugin('news','function','function_plugin'); $this->CreateStaticRoutes(); } if( version_compare($oldversion,'2.50.8') < 0 ) { try { $types = CmsLayoutTemplateType::load_all_by_originator($this->GetName()); if( is_array($types) && count($types) ) { foreach( $types as $type_obj ) { $type_obj->set_help_callback('News::template_help_callback'); $type_obj->save(); } } } catch( Exception $e ) { // log it audit('',$this->GetName(),'Uninstall Error: '.$e->GetMessage()); return FALSE; } } ?> [module] name = "News" version = "2.51.13" author = "Ted Kulp" authoremail = "wishy@cmsmadesimple.org" mincmsversion = "2.1.6" lazyloadadmin = 1 lazyloadfrontend = 1 {* this is a sample detail template that works with the Simplex theme *} {* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *} {if isset($entry->canonical)} {assign var='canonical' value=$entry->canonical scope=global} {assign var='main_title' value=$entry->title scope=global} {/if} {*

    {$entry->title|cms_escape:htmlall}

    *} {if $entry->summary} {$entry->summary} {/if} {$entry->content} {if $entry->extra} {$extra_label} {$entry->extra} {/if} {if $return_url != ""}
    ← {$return_url}{if $category_name != ''} - {$category_link}{/if} {/if} {if isset($entry->fields)} {foreach from=$entry->fields item='field'}
    {if $field->type == 'file'} {* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *} {else} {$field->name}: {$field->value} {/if}
    {/foreach} {/if}
    {if $entry->postdate} {$entry->postdate|cms_date_format} {/if} {if $entry->category} {$category_label} {$entry->category} {/if} {if $entry->author} {$author_label} {$entry->author} {/if}
    {strip}
    News
      {foreach from=$cats item='node'} {if $node.depth > $node.prevdepth} {repeat string='
        ' times=$node.depth-$node.prevdepth} {elseif $node.depth < $node.prevdepth} {repeat string='
      ' times=$node.prevdepth-$node.depth} {elseif $node.index > 0} {/if} {if $node.count > 0} {$node.news_category_name}{else}{$node.news_category_name} {/if} {/foreach} {repeat string='
    ' times=$node.depth-1} {foreach from=$items item='entry'}

    {$entry->title|cms_escape}

    {$author_label} {$entry->author} {$category_label} {$entry->category}
    {if $entry->summary}

    {$entry->summary|strip_tags}

    {$entry->morelink} → {else if $entry->content}

    {$entry->content|strip_tags}

    {/if}
    {/foreach} {if $pagecount > 1} {if $pagenumber > 1} {$firstpage} {$prevpage} {/if} {$pagetext} {$pagenumber} {$oftext} {$pagecount} {if $pagenumber < $pagecount} {$nextpage} {$lastpage} {/if} {/if}
    {/strip} {function category_tree parent=-1 depth=1}{strip} {foreach $allcats as $cat} {if $cat.parent_id == $parent}
  • {$cat.news_category_name}
    {category_tree parent=$cat.news_category_id depth=$depth+1}
  • {/if} {/foreach} {/strip}{/function}

    {$mod->Lang('reorder_categories')}

    {$mod->Lang('info_reorder_categories')}
    {category_tree} {form_start id="reorder_form"}

    {form_end}{$startform}

    {$title_submission_settings}:

    {cms_help key='help_opt_alert_drafts' title=$mod->Lang('prompt_alert_drafts')}

    {cms_help key='help_opt_dflt_category' title=$title_submission_settings}

    {cms_help key='help_opt_allowed_upload_types' title=$title_allowed_upload_types}

    {cms_help key='help_opt_hide_summary' title=$title_hide_summary_field}

    {cms_help key='help_opt_expiry_interval' title=$title_expiry_interval}


    {$title_fesubmit_settings}:


    {$mod->Lang('info_allow_fesubmit')}

    {cms_help key='help_fesubmit_redirect' title=$title_fesubmit_redirect}

    {$title_notification_settings}:
    {$mod->Lang('info_fesubmit_notification')}


    {$title_detail_settings}:

    {$title_detail_returnid}: {cms_help key='info_detail_returnid' title=$title_detail_returnid}

    {$input_detail_returnid}

    {cms_help key='info_expired_searchable' title=$title_expired_searchable}

    {cms_help key='info_expired_viewable' title=$title_expired_viewable}

    {$endform} {if isset($formstart) } {/if}
    {if $itemcount > 0 && $pagecount > 1}
    {form_start} {$mod->Lang('prompt_page')}    {form_end}
    {/if}
    {* .row *} {if $itemcount > 0} {$form2start} {foreach from=$items item=entry} {/foreach}
    # {$titletext} {$postdatetext} {$startdatetext} {$enddatetext} {$categorytext} {$statustext}    
    {$entry->id} {if isset($entry->edit_url)} {$entry->news_title|cms_escape} {else} {$entry->news_title|cms_escape} {/if} {$entry->u_postdate|cms_date_format} {if !empty($entry->u_enddate)}{$entry->u_startdate|cms_date_format}{/if} {if $entry->expired == 1}
    {$entry->u_enddate|cms_date_format}
    {else} {$entry->u_enddate|cms_date_format} {/if}
    {$entry->category|cms_escape} {if isset($entry->approve_link)}{$entry->approve_link}{/if} {if isset($entry->edit_url)} {admin_icon icon='edit.gif'} {/if} {if isset($entry->delete_url)} {admin_icon icon='delete.gif'} {/if}
    {else}

    {if $curcategory == ''}{$mod->Lang('noarticles')}{else}{$mod->Lang('noarticlesinfilter')}{/if}

    {/if}
    {if isset($addlink)}

    {$addlink}

    {/if} {if $itemcount > 0}
    {$mod->Lang('category')}: {$categoryinput}
    {/if}
    {$form2end} {if $count > 0}
      {foreach from=$cats item=node} {if $node.depth > $node.prevdepth} {repeat string="
        " times=$node.depth-$node.prevdepth} {elseif $node.depth < $node.prevdepth} {repeat string="
      " times=$node.prevdepth-$node.depth} {elseif $node.index > 0} {/if}
    • {if $node.count > 0} {$node.news_category_name} ({$node.count}){else}{$node.news_category_name} (0){/if} {/foreach} {repeat string="
    " times=$node.depth-1} {/if} {if $itemcount > 0} {foreach from=$items item=entry} {/foreach}
    {$categorytext}    
    {repeat string=' > ' times=$entry->depth}{$entry->name|cms_escape} {admin_icon icon='edit.gif'} {admin_icon icon='delete.gif'}
    {/if}{* #CMS - CMS Made Simple #(c)2004-6 by Ted Kulp (ted@cmsmadesimple.org) #This project's homepage is: http://cmsmadesimple.org # #This program is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation; either version 2 of the License, or #(at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #$Id$ *} {if $itemcount > 0} {foreach from=$items item=entry} {cycle values="row1,row2" assign='rowclass'} {/foreach}
    {$fielddeftext} {$typetext}        
    {$entry->name} {$entry->type} {$entry->uplink} {$entry->downlink} {$entry->editlink} {admin_icon icon='delete.gif' alt=$mod->Lang('delete')}
    {/if}

    {if isset($articleid)}{$mod->Lang('editarticle')}{else}{$mod->Lang('addarticle')}{/if}

    {strip}
    {$startform}

    {$hidden|default:''} {if isset($articleid)} {/if}

    {if isset($start_tab_headers)} {$start_tab_headers} {$tabheader_article} {$tabheader_preview} {$end_tab_headers} {$start_tab_content} {$start_tab_article} {/if}
    {if $inputauthor}

    *{$authortext}:

    {$inputauthor}

    {/if}

    {cms_help key='help_article_title' title=$titletext}

    {cms_help key='help_article_category' title=$categorytext}

    {if !isset($hide_summary_field) or $hide_summary_field == '0'}

    {$summarytext}: {cms_help key='help_article_summary' title=$summarytext}

    {$inputsummary}

    {/if}

    *{$contenttext}: {cms_help key='help_article_content' title=$contenttext}

    {$inputcontent}

    {if isset($statustext)}

    {cms_help key='help_article_status' title=$statustext}

    {else} {/if}

    {cms_help key='help_article_url' title=$urltext}

    {cms_help key='help_article_extra' title=$extratext}

    {$postdatetext}: {cms_help key='help_article_postdate' title=$postdatetext}

    {html_select_date prefix=$postdateprefix time=$postdate start_year='1980' end_year='+15'} {html_select_time prefix=$postdateprefix time=$postdate}

    {cms_help key='help_article_searchable' title=$mod->Lang('searchable')}


    {$mod->Lang('info_searchable')}

    {cms_help key='help_article_useexpiry' title=$useexpirationtext}

    {$startdatetext}: {cms_help key='help_article_startdate' title=$startdatetext}

    {html_select_date prefix=$startdateprefix time=$startdate start_year="-10" end_year="+15"} {html_select_time prefix=$startdateprefix time=$startdate}

    {$enddatetext}: {cms_help key='help_article_enddate' title=$enddatetext}

    {html_select_date prefix=$enddateprefix time=$enddate start_year="-10" end_year="+15"} {html_select_time prefix=$enddateprefix time=$enddate}

    {if isset($custom_fields)} {foreach $custom_fields as $field}

    {if $field->type == 'textbox'} {elseif $field->type == 'checkbox'} value == 1} checked="checked"{/if} /> {elseif $field->type == 'textarea'} {cms_textarea id=$field->idattr name=$field->nameattr enablewysiwyg=1 value=$field->value maxlength=$field->max_len} {elseif $field->type == 'file'} {if !empty($field->value)}{$field->value}
    {/if} {if !empty($field->value)} {$delete_field_val} {/if} {elseif $field->type == 'dropdown'} {elseif $field->type == 'linkedfile'} {if $field->value} {thumbnail_url file=$field->value assign=tmp} {if $tmp}{$field->value}{/if} {/if} {cms_filepicker name="{$field->nameattr}" value=$field->value} {/if}

    {/foreach} {/if}
    {if isset($end_tab_article)} {$end_tab_article} {/if} {/strip} {if isset($start_tab_preview)} {$start_tab_preview} {strip} {* display a warning *}
    {$warning_preview}
         

    {$end_tab_preview} {$end_tab_content} {/if}

      {if isset($articleid)}   {/if}

    {$endform}
    {/strip} {if isset($catid)}

    {$mod->Lang('editcategory')}

    {else}

    {$mod->Lang('addcategory')}

    {/if}
    {$mod->Lang('info_categories')}
    {$startform}

    {cms_help key='help_category_name' title=$mod->Lang('name')}

    {cms_help key='help_category_parent' title=$mod->Lang('parent')}

     

    {$endform}{$startform}

    {$defaulttemplateform_title}

    {$info_title}

    {$prompt_template}:

    {$input_template}

     

    {$submit}{$reset}

    {$endform}
    {* #CMS - CMS Made Simple #(c)2004-6 by Ted Kulp (ted@cmsmadesimple.org) #This project's homepage is: http://cmsmadesimple.org # #This program is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation; either version 2 of the License, or #(at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #$Id$ *}

    {$title}

    {$startform}{$hidden|default:''}

    {cms_help key='help_fielddef_name' title=$nametext}

    {if $showinputtype eq true}

    {cms_help key='help_fielddef_type' title=$typetext}

    {else} {/if}

    {cms_help key='help_fielddef_options' title=$mod->Lang('options')}

    {cms_help key='help_fielddef_maxlen' title=$maxlengthtext}


    {$info_maxlength}

    {cms_help key='help_fielddef_public' title=$userviewtext}

     

    {$endform}

    {$title}

    {$formstart}

    {$prompt_templatename}:

    {$templatename}

    {$prompt_template}:

    {$template}

     

    {$submit}{$cancel}{if isset($apply)}{$apply}{/if}

    {$formend}
    {foreach from=$items item=entry} {/foreach}
    {$nameprompt} {$defaultprompt}    
    {$entry->name} {$entry->default} {$entry->editlink} {$entry->deletelink}

    {$newtemplatelink}

    {* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *} {if isset($entry->canonical)} {* note this syntax ensures that the canonical variable is set into global scope *} {assign var='canonical' value=$entry->canonical scope=global} {/if} {if $entry->postdate}
    {$entry->postdate|cms_date_format}
    {/if}

    {$entry->title|cms_escape:htmlall}


    {if $entry->summary}
    {$entry->summary}
    {/if} {if $entry->category}
    {$category_label} {$entry->category}
    {/if} {if $entry->author}
    {$author_label} {$entry->author}
    {/if}
    {* note, for security purposes we do not pass the content through smarty before displaying it. This is incase your articles can come from untrusted sources. *} {$entry->content}
    {if $entry->extra}
    {$extra_label} {$entry->extra}
    {/if} {if $return_url != ""} {/if} {if isset($entry->fields)} {foreach $entry->fields as $fieldname => $field}
    {if $field->type == 'file'} {* this template assumes that every file uploaded is an image of some sort, because News doesn't distinguish *} {if isset($field->value) && $field->value} {$field->value} {/if} {elseif $field->type == 'linkedfile'} {* also assume it's an image... *} {if !empty($field->value)} {$field->value} {/if} {else} {$field->name}: {$field->value} {/if}
    {/foreach} {/if} {* original form template *}

    {$mod->Lang('title_fesubmit_form')}

    {if isset($error)}
    {$message}
    {/if} {form_start category_id=$category_id}

    {if !isset($hide_summary_field) or $hide_summary_field == 0}

    {$tmp=$actionid|cat:'summary'} {cms_textarea enablewysiwyg=true id=news_summary name=$tmp value=$summary required=true}

    {/if}

    {$tmp=$actionid|cat:'content'} {cms_textarea enablewysiwyg=true id=news_content name=$tmp value=$content required=true}

    {$mod->Lang('startdate')}:

    {$tmp=$actionid|cat:'startdate_'} {html_select_date prefix=$tmp time=$startdate end_year="+15"} {html_select_time prefix=$tmp time=$startdate}

    {$mod->Lang('enddate')}:

    {$tmp=$actionid|cat:'enddate_'} {html_select_date prefix=$tmp time=$enddate end_year="+15"} {html_select_time prefix=$tmp time=$enddate}

    {if isset($customfields)} {foreach from=$customfields item='field'}

    {if $field->type == 'file'} {elseif $field->type == 'checkbox'} {elseif $field->type == 'textarea'} {$tmp1='news_fld_'|cat:$field->id} {capture assign='tmp2'}{$actionid}news_customfield_{$field->id}{/capture} {cms_textarea id=$tmp1 name=$tmp2 enablewysiwyg=true} {elseif $field->type == 'textbox'} {/if}

    {/foreach} {/if} {form_end} {* This section shows a clickable list of your News categories. *}
      {foreach from=$cats item=node} {if $node.depth > $node.prevdepth} {repeat string="
        " times=$node.depth-$node.prevdepth} {elseif $node.depth < $node.prevdepth} {repeat string="
      " times=$node.prevdepth-$node.depth} {elseif $node.index > 0} {/if} {if $node.count > 0} {$node.news_category_name}{else}{$node.news_category_name} {/if} {/foreach} {repeat string="
    " times=$node.depth-1} {* this displays the category name if you're browsing by category *} {if $category_name}

    {$category_name}

    {/if} {* if you don't want category browsing on your summary page, remove this line and everything above it *} {if $pagecount > 1}

    {if $pagenumber > 1} {$firstpage} {$prevpage}  {/if} {$pagetext} {$pagenumber} {$oftext} {$pagecount} {if $pagenumber < $pagecount}  {$nextpage} {$lastpage} {/if}

    {/if} {foreach from=$items item=entry}
    {if $entry->postdate}
    {$entry->postdate|cms_date_format}
    {/if}
    {$category_label} {$entry->category}
    {if $entry->author}
    {$author_label} {$entry->author}
    {/if} {if $entry->summary} {* note, for security purposes, incase News articles can come from untrused sources, we do not pass the summary or content through smarty in the default templates *}
    {$entry->summary}
    {else if $entry->content} {* note, for security purposes, incase News articles can come from untrused sources, we do not pass the summary or content through smarty in the default templates *}
    {$entry->content}
    {/if} {if isset($entry->extra)}
    {$entry->extra} {* {cms_module module='Uploads' mode='simpleurl' upload_id=$entry->extravalue} *}
    {/if} {if isset($entry->fields)} {foreach from=$entry->fields item='field'}
    {if $field->type == 'file'} {if isset($field->value) && $field->value} {/if} {elseif $field->type == 'linkedfile'} {* also assume it's an image... *} {if !empty($field->value)} {$field->value} {/if} {else} {$field->name}: {$field->value} {/if}
    {/foreach} {/if}
    {/foreach} { "type": "module", "name": "News", "module_name": "News", "source": "core", "default_selected": true, "description": "Adds article and news publishing features, including categories, detail pages, summary lists and frontend templates for blog-style or newsroom content." } #------------------------------------------------------------------------- # CMS - CMS Made Simple is (c) 2011 by Ted Kulp (wishy@cmsmadesimple.org) # Project's homepage is: http://www.cmsmadesimple.org # Module's homepage is: http://dev.cmsmadesimple.org/projects/UserGuide #------------------------------------------------------------------------- # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . #------------------------------------------------------------------------- class UserGuide extends CMSModule { const MANAGE_PERM = 'manage_userguide'; const USE_PERM = 'use_userguide'; const ADMIN_SECTION_DEFAULT = 'main'; const LOADING_ICON = '../modules/UserGuide/lib/images/loading.gif'; const EMBED_TYPES = [ 'vimeo', 'youtube', 'local', 'code' ]; const EMBED_PREFIX_VIMEO = '//player.vimeo.com/video/'; const EMBED_PREFIX_YOUTUBE = '//www.youtube.com/embed/'; const DEFAULT_CONTENT_XML = '/lib/userguide_default_content.xml'; public function GetVersion() { return '1.1'; } public function GetFriendlyName() { return $this->GetPreference('customModuleName', 'User Guide'); } public function GetAdminDescription() { return $this->Lang('admindescription'); } public function IsPluginModule() { return FALSE; } public function HasAdmin() { return TRUE; } public function LazyLoadAdmin() { return TRUE; } public function GetAdminSection() { return $this->GetPreference('adminSection', self::ADMIN_SECTION_DEFAULT); } public function VisibleToAdminUser() { return ( $this->CheckPermission(self::USE_PERM) || $this->CheckPermission(self::MANAGE_PERM) ); } public function GetHelp() { return $this->Lang('help'); } public function GetAuthor() { return 'Chris Taylor'; } public function GetAuthorEmail() { return 'chris@binnovative.co.uk'; } public function GetChangeLog() { return $this->Lang('changelog'); } public function MinimumCMSVersion() { return '2.0'; } function __construct() { parent::__construct(); } public function UninstallPreMessage() { return $this->Lang('ask_uninstall'); } public function GetHeaderHTML() { $module_path = $this->GetModuleURLPath(); $header_links = ''; // see if custom.css file exists $customCSSfile = 'assets/module_custom/UserGuide/custom.css'; if ( file_exists(CMS_ROOT_PATH.'/'.$customCSSfile) ) { $header_links .= ''; } $header_links .= ''; return $header_links; } /** * @link http://www.cmsmadesimple.org/apidoc/CMS/CMSModule.html#HasCapability * @ignore */ function HasCapability($capability, $params = array()) { switch ($capability) { default: return FALSE; } } /** * @link https://apidoc.cmsmadesimple.org/classes/CMSModule.html#method_GetAdminMenuItems */ public function GetAdminMenuItems() { $out = []; if ( $this->VisibleToAdminUser() ) { $out[] = CmsAdminMenuItem::from_module($this); } if ( $this->CheckPermission(self::MANAGE_PERM) && $this->GetPreference('separate_settings', 0) ) { $obj = new CmsAdminMenuItem(); $obj->module = $this->GetName(); $obj->section = 'siteadmin'; $obj->title = $this->Lang('title_userguide_settings'); $obj->description = $this->Lang('desc_userguide_settings'); $obj->action = 'admin_settings'; $out[] = $obj; } return $out; } } #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) { $this->Redirect($id, 'defaultadmin', $returnid); } // Save Parameters Options Tab $message = ''; $error = ''; if ( isset($params['submit']) ) { // All form sumbits save settings $this->SetPreference('customModuleName', (isset($params['input_customModuleName']) && $params['input_customModuleName']!='') ? $params['input_customModuleName'] : 'User Guide'); $this->SetPreference('adminSection', isset($params['input_adminSection']) ? $params['input_adminSection'] : UserGuide::ADMIN_SECTION_DEFAULT); $this->SetPreference('useSmarty', isset($params['input_useSmarty']) ? $params['input_useSmarty'] : false); $this->SetPreference('imageFolder', isset($params['input_imageFolder']) ? $params['input_imageFolder'] : ''); $separate_settings = isset($params['separate_settings']) ? $params['separate_settings'] : false; $this->SetPreference('separate_settings', $separate_settings); // Trigger cache clear - Touch menu cache files - core will refresh (v2.0+ ) foreach ( glob(cms_join_path(TMP_CACHE_LOCATION, 'cache*.cms')) as $filename ) { touch( $filename, time() - 360000 ); } switch ($params['submit']) { case 'save_settings': audit('', 'UserGuide - Options tab', 'Saved'); $message = $this->Lang('settings_saved'); break; case 'xml_import': $xmlfield = $id.'xmlfile'; if ( empty($_FILES[$xmlfield]['name']) || $_FILES[$xmlfield]['type']!='text/xml' ) { $error = $this->Lang('file_error'); break; } $importerExporter = new UserGuideImporterExporter(); $imported = $importerExporter->import( $_FILES[$xmlfield]['tmp_name'] ); if ($imported) { $message = $this->Lang('import_completed'); } else { $error = $this->Lang('import_error'); } break; case 'xml_export': $importerExporter = new UserGuideImporterExporter(); $importerExporter->export(); $message = $this->Lang('export_completed'); break; case 'import_UsersGuide_module': // import from legacy module $UsersGuideMod = $this->GetModuleInstance('UsersGuide'); if ( !is_object($UsersGuideMod) ) break; // import from db $sql = 'INSERT INTO '.CMS_DB_PREFIX.'module_userguide (title, position, content) SELECT man_title, man_order, man_content FROM '.CMS_DB_PREFIX.'module_UsersGuide'; $res = $db->Execute($sql); if (!$res) { $error = $this->Lang('module_import_database_error'); break; } $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET active = IFNULL(active, 1)'; $res = $db->Execute($sql); // import settings (preferences) $this->SetPreference('customModuleName', $UsersGuideMod->GetPreference('module_name').'*'); $this->SetPreference('adminSection', $UsersGuideMod->GetPreference('admin_section')); $message = $this->Lang('import_completed'); break; case 'import_UserGuide2_module': // import from previous module $UserGuide2Mod = $this->GetModuleInstance('UserGuide2'); if ( !is_object($UserGuide2Mod) ) break; // import from db $sql = 'INSERT INTO '.CMS_DB_PREFIX.'module_userguide (title, active, content, admin) SELECT title, active, content, admin FROM '.CMS_DB_PREFIX.'module_userguide2'; $res = $db->Execute($sql); if (!$res) { $error = $this->Lang('module_import_database_error'); break; } $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET position=?, embed_type=?, embed_code=?, embed_first=? WHERE position=NULL'; // imported only $res = $db->Execute($sql, [10000, $this::EMBED_TYPES[0], '', 0]); $query = new UserGuideQuery; $updated = $query->updatePositions(); // import settings (preferences) $old_custom_name = $UserGuide2Mod->GetPreference('customModuleName'); if (!empty($old_custom_name)) $this->SetPreference('customModuleName', $old_custom_name.'*'); $this->SetPreference('adminSection', $UserGuide2Mod->GetPreference('admin_section')); $this->SetPreference('useSmarty', $UserGuide2Mod->GetPreference('useSmarty')); $this->SetPreference('imageFolder', $UserGuide2Mod->GetPreference('imageFolder')); $message = $this->Lang('import_completed'); break; } // either redirect to defaultadmin or continue to output settings template if (!$separate_settings) { if ($error) $this->SetError( $error ); if ($message) $this->SetMessage( $message ); $this->Redirect($id, 'defaultadmin', $returnid, ['active_tab' => 'options']); } } // output the Settings tabs if ($error) $this->ShowErrors( $error ); if ($message) $this->ShowMessage( $message ); $tpl = $smarty->CreateTemplate( $this->GetTemplateResource('admin_settings.tpl'), null, null, $smarty ); $tpl->assign( 'separate_settings', $this->GetPreference('separate_settings', false) ); if ( !isset($pages)) { // unless already set by defaultadmin (includes this file) $query = new UserGuideQuery; $pages = $query->GetMatches(); } $tpl->assign('pages', $pages); $tpl->assign('loadingIcon', $this::LOADING_ICON); $tpl->assign('input_customModuleName', $this->CreateInputText($id, 'input_customModuleName', $this->GetPreference('customModuleName',''),50,255)); $tpl->assign('input_adminSection', $this->CreateInputDropdown($id, 'input_adminSection', [ lang('main') => 'main', lang('content') => 'content', lang('layout') => 'layout', lang('usersgroups') => 'usersgroups', lang('extensions') => 'extensions', lang('admin') => 'siteadmin', lang('myprefs') => 'myprefs' ], -1, $this->GetPreference('adminSection', UserGuide::ADMIN_SECTION_DEFAULT) )); $tpl->assign( 'input_useSmarty', $this->CreateInputCheckbox($id, 'input_useSmarty', true, $this->GetPreference('useSmarty', false)) ); $tpl->assign( 'imageFolder', $this->GetPreference('imageFolder','') ); $tpl->assign('input_import', $this->CreateInputFile($id, 'xmlfile', '.xml')); $hasUsersGuideMod = $this->GetModuleInstance('UsersGuide'); $tpl->assign('hasUsersGuideMod', is_object($hasUsersGuideMod) ); $hasUserGuide2Mod = $this->GetModuleInstance('UserGuide2'); $tpl->assign('hasUserGuide2Mod', is_object($hasUserGuide2Mod) ); $tpl->display(); // echo $this->EndTab(); #--------------------------------------------------------------------------------------------------- // should never get here - no front end functionality if ( !defined('CMS_VERSION') ) exit; #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; $managePermission = $this->CheckPermission(UserGuide::MANAGE_PERM); $usePermission = $this->CheckPermission(UserGuide::USE_PERM); if ( !$managePermission && !$usePermission ) { $this->ShowErrors( $this->Lang('need_permission') ); return; } $query = new UserGuideQuery; $pages = $query->GetMatches(); $useSmarty = $this->GetPreference('useSmarty', false); $adminTheme = cms_utils::get_theme_object(); $separate_settings = $this->GetPreference('separate_settings', false); // Create Admin tabs echo $this->StartTabHeaders(); // All active User Guide tabs if ( is_array($pages) ) { foreach ($pages as $page) { if ($page->active && $managePermission >= $page->admin) { $adminOnlyStar = $page->admin ? '*' : ''; echo $this->SetTabHeader( 'UGPage'.$page->id, htmlspecialchars($page->title).$adminOnlyStar ); } } } if ( $managePermission && !$separate_settings) { echo $this->SetTabHeader("pages", $this->Lang("tab_pages").'*'); echo $this->SetTabHeader("options", $this->Lang("tab_options").'*'); } echo $this->EndTabHeaders(); // create Tab content echo $this->StartTabContent(); // All active User Guide tab content if ( is_array($pages) ) { foreach ($pages as $page) { if ($page->active && $managePermission >= $page->admin) { echo $this->StartTab('UGPage'.$page->id); $tpl = $smarty->CreateTemplate( $this->GetTemplateResource('admin_user_guide_page.tpl'), null, null, $smarty ); $tpl->assign( 'page',$page ); $aspect = '16x9'; // default aspect ratio - could be selectable: 16x9,4x3,1x1,21x9 $tpl->assign( 'aspect', $aspect ); $tpl->assign( 'managePermission', $managePermission ); $tpl->assign( 'separate_settings', $separate_settings ); if ($useSmarty) { try { $smarty->display( 'eval:'.$tpl->fetch() ); } catch (Exception $e) { // possible Smarty eval error $tpl->assign( 'error', $this->Lang('smarty_error') ); $tpl->display(); // without eval } } else { $tpl->display(); } echo $this->EndTab(); } } } if ( $managePermission && !$separate_settings) { include(dirname(__FILE__).'/action.admin_settings.php'); } echo $this->EndTabContent(); #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; if ( isset($params['pid']) && $params['pid'] > 0) { $page = UserGuideItem::load_by_id( (int)$params['pid'] ); $page->delete(); $query = new UserGuideQuery; $updated = $query->updatePositions(); $this->SetMessage( $this->Lang('item_deleted') ); $separate_settings = $this->GetPreference('separate_settings', false); if ($separate_settings) { $this->RedirectToAdminTab('pages', '', 'admin_settings'); } else { $this->RedirectToAdminTab('pages', '', 'defaultadmin'); } } #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; $page = new UserGuideItem(); $isNewPage = true; if ( isset($params['pid']) && $params['pid'] > 0 ) { $page = UserGuideItem::load_by_id((int)$params['pid']); $isNewPage = false; } if ( isset($params['cancel']) ) { $this->RedirectToAdminTab('UGPage'.$page->id); } elseif ( isset($params['submit']) || isset($params['apply']) ) { $errors = []; $page->title = trim($params['title']); $page->active = isset($params['active']) ? true : false; $page->admin = isset($params['admin']) ? true : false; $page->content = trim($params['content']); $page->embed_type = trim($params['embed_type']); $page->embed_code = trim($params['embed_code']); $page->embed_first = isset($params['embed_first']) ? true : false; // check title if ( $page->title=='' ) { $errors[] = $this->Lang('error_title_empty'); } // set position to last position for new Pages if ($isNewPage) { $sql = "SELECT MAX(position) AS maxposition FROM ".CMS_DB_PREFIX."module_userguide"; $maxposition = $db->GetOne($sql); if ($maxposition) { $page->position = $maxposition + 1; } else { $page->position = 1; } } // either display errors or save $formattedErrors = ''; if ( !empty($errors) ) { foreach ($errors as $error) { $formattedErrors .= '
  • '.$error.'
  • '; } $this->ShowErrors('
      '.$formattedErrors.'
    '); } else { $isSaved = $page->save(); if ( !$isSaved ) { $this->SetError( $this->Lang('item_notsaved') ); } else { // saved $isNewPage = false; if ($isNewPage) { $query = new UserGuideQuery; $updated = $query->updatePositions(); } if ( isset($params['submit']) ) { $this->SetMessage( $this->Lang('item_saved') ); $this->RedirectToAdminTab('UGPage'.$page->id); } else { // apply $this->ShowMessage( $this->Lang('item_saved') ); } } } } // get defaults $active = is_null($page->active) ? 1 : $page->active; // default to active $admin = is_null($page->admin) ? 0 : $page->admin; // default to not admin $wysiwyg = 1; // default to wysiwyg - not even sure how this got here! $embed_type = is_null($page->embed_type) ? $this::EMBED_TYPES[0] : $page->embed_type; foreach ($this::EMBED_TYPES as $type) { $embed_options[$type] = $this->Lang('embed_type_'.$type); } // smarty processing to display admin page $tpl = $smarty->CreateTemplate($this->GetTemplateResource('admin_edit_page.tpl'), null, null, $smarty); $tpl->assign('page',$page); $tpl->assign('input_active', $this->CreateInputcheckbox($id, 'active', 1, $active)); $tpl->assign('isNewPage',$isNewPage); $tpl->assign('input_content', $this->CreateTextArea(($wysiwyg), $id, $page->content, 'content')); $tpl->assign('embed_type', $embed_type); $tpl->assign('embed_options', $embed_options); $tpl->display(); #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; if ( empty($params['pid']) || !isset($params['after']) || $params['after']<0 ) return; // fix issue where new pages previously didn't have 'position' set $sql = "SELECT * from ".CMS_DB_PREFIX."module_userguide WHERE position IS NULL OR position=0"; $res = $db->Execute($sql); $errorCount = $res->RecordCount(); if ($errorCount>0) { $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=id"; $res = $db->Execute($sql); echo $this->Lang('order_error'); return; } $page = new UserGuideItem(); if ($params['after']==0) { $afterPosition = 0; } else { $page = UserGuideItem::load_by_id((int)$params['after']); $afterPosition = $page->__get('position'); } $page = UserGuideItem::load_by_id((int)$params['pid']); $fromPosition = $page->__get('position'); $db = \cms_utils::get_db(); if ($fromPosition>$afterPosition) { $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=position+1 WHERE position > '$afterPosition' AND position < '$fromPosition'"; $res = $db->Execute($sql); $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=$afterPosition+1 WHERE id=".(int)$params['pid']; $res = $db->Execute($sql); } else { $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=position-1 WHERE position > '$fromPosition' AND position <= '$afterPosition'"; $res = $db->Execute($sql); $sql = "UPDATE ".CMS_DB_PREFIX."module_userguide SET position=$afterPosition WHERE id=".(int)$params['pid']; $res = $db->Execute($sql); } #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; if ( isset($params['pid']) && $params['pid'] > 0) { $page = UserGuideItem::load_by_id( (int)$params['pid'] ); $page->toggle_active(); $this->RedirectToAdminTab('manage'); } #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; if ( !$this->CheckPermission(UserGuide::MANAGE_PERM) ) return; if ( isset($params['pid']) && $params['pid'] > 0) { $page = UserGuideItem::load_by_id( (int)$params['pid'] ); $page->toggle_admin_only(); $this->RedirectToAdminTab('manage'); }#------------------------------------------------------------------------- # Module: UserGuide # Author: Chris Taylor # Copyright: (C) 2016 Chris Taylor, chris@binnovative.co.uk # Licence: GNU General Public License version 3 # see /UserGuide/lang/LICENCE.txt or #------------------------------------------------------------------------- # CMS - CMS Made Simple is (c) 2011 by Ted Kulp (wishy@cmsmadesimple.org) # Project's homepage is: http://www.cmsmadesimple.org # Module's homepage is: http://dev.cmsmadesimple.org/projects/UserGuide #------------------------------------------------------------------------- # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . #------------------------------------------------------------------------- GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS #--------------------------------------------------------------------------------------------------- $lang['friendlyname'] = 'User Guide'; $lang['admindescription'] = 'For displaying and editing the a customisable CMS User Guide'; $lang['need_permission'] = 'You need permission to use this module'; $lang['title_userguide_settings'] = 'User Guide Settings'; $lang['desc_userguide_settings'] = 'Settings for the User Guide module'; # Install $lang['ask_uninstall'] = 'Are you sure you want to uninstall the User Guide module? All User Guide information will be permanently deleted.'; # User Guide pages $lang['smarty_error'] = 'This page may include a smarty tag that is not displaying correctly. Please either add {literal}{/literal} tags, remove, or turn off smarty processing.'; $lang['admin_only_visible'] = 'only visible to Admin users'; # Pages Tab $lang['tab_pages'] = 'Pages'; $lang['submit'] = 'Sumbit'; $lang['cancel'] = 'Cancel'; $lang['save_options'] = 'Save Options'; $lang['apply'] = 'Apply'; $lang['add_item'] = 'Create New User Guide Page'; $lang['edit_item'] = 'Edit User Guide Page'; $lang['item_saved'] = 'This User Guide Page is now saved'; $lang['item_notsaved'] = 'This User Guide Page did not save'; $lang['edit'] = 'Edit this User Guide Page'; $lang['delete'] = 'Delete this User Guide Page'; $lang['confirm_delete'] = 'Are you sure that you want to delete this User Guide Page'; $lang['item_deleted'] = 'This User Guide Page is now deleted'; $lang['order_error'] = 'Error found and corrected with page order - please try again'; $lang['view_user_guide'] = 'View User Guide'; # Options Tab $lang['tab_options'] = 'Options'; $lang['title_customModuleName'] = 'Custom Module Name'; $lang['title_adminSection'] = 'Module Admin Section'; $lang['title_separate_settings'] = 'Separate menu entry for User Guide settings'; $lang['title_customCSS'] = 'Custom CSS'; $lang['text_customCSS'] = 'To add custom CSS for the user guide pages, create the file \'assets/module_custom/UserGuide/custom.css\'. You can use the .guide class to target the User Guide content.'; $lang['title_useSmarty'] = 'Use Smarty'; $lang['help_useSmarty'] = 'Process all User Guide pages through Smarty before displaying them? If enabled you will need to use {literal} tags around any curly brackets { & } in the content.'; $lang['settings_saved'] = 'Your Options have been saved.'; $lang['saved_and_imported'] = 'Options saved and imported User Guide pages.'; $lang['import_completed'] = 'User Guide pages and settings imported.'; $lang['file_error'] = 'Filename error - not selected.'; $lang['import_error'] = 'Import error - file did not import correctly.'; $lang['title_export'] = 'Export content to XML'; $lang['title_import'] = 'Import content from XML'; $lang['title_import_export'] = 'Import & Export content'; $lang['module_import_database_error'] = 'Database import failed'; $lang['xml_export'] = 'XML Export'; $lang['xml_import'] = 'Import User Guide Content'; $lang['title_exportImageFolder'] = 'Export Image Folder'; $lang['text_exportImageFolder'] = 'Location of User Guide images to include in export, e.g. "images/UserGuide". Location is relative to uploads_url. Leave empty to skip image export.'; $lang['export_completed'] = 'User Guide pages and settings exported.'; $lang['title_import_UsersGuide'] = 'Import from UsersGuide module'; $lang['title_import_UserGuide2'] = 'Import from UserGuide2 module'; $lang['import_UsersGuide'] = 'Import Content & Settings'; $lang['text_UsersGuide'] = 'from UsersGuide Module'; $lang['text_UserGuide2'] = 'from UserGuide2 Module'; $lang['none'] = 'none'; $lang['error_invalid_file_path'] = 'Invalid file path'; $lang['error_creating_directory'] = 'Error creating directory'; # Edit User Guide Page $lang['error_title_empty'] = 'A title is required'; $lang['title_title'] = 'Title'; $lang['title_active'] = 'Active'; $lang['title_content'] = 'Content'; $lang['title_admin'] = 'Admin only'; $lang['prompt_admin'] = 'only visible to full Admin users'; $lang['title_embed_type'] = 'Video type'; $lang['title_embed_code'] = 'Video id or code'; $lang['title_embed_first'] = 'Show video above content'; $lang['embed_type'] = 'Video type'; $lang['embed_type_vimeo'] = 'Vimeo (ID only)'; $lang['embed_type_youtube'] = 'YouTube (ID only)'; $lang['embed_type_local'] = 'Local video (URL)'; $lang['embed_type_code'] = 'Code (HTML)'; $lang['embed_type_prompt_vimeo'] = 'Vimeo ID - full url after /video/: 929800455?badge=0&autopause=0&player_id=0&app_id=58479'; $lang['embed_type_prompt_youtube'] = 'YouTube ID - e.g. n4IhCSMkADc?si=YJ4K5qsrgl9LXW0a'; $lang['embed_type_prompt_local'] = 'Local video URL relative to uploads_url - e.g. images/UserGuide/video.mp4'; $lang['embed_type_prompt_code'] = 'Full Embed Code'; ### ### ######### ### ######### ### ### ######### ### ######### ### ### ### ### ### ### ########## ######### ### ######### ########## ######### ### ######### ### ### ### ### ### ### ### ######### ######### ### ### ### ######### ######### ### $lang['help'] = "

    What does this do?

    'UserGuide' provides an online CMS User Guide. It is easy to access for Editors and easy to update and customise for Admins. The completed User Guide can easily be printed directly from the browser.


    User Guide pages can now easily include responsive video content, from Vimeo, YouTube, a local video file, or full embed code for external content.


    'UserGuide' module is a replacement for the 'UserGuide2' module and can import all contact from UserGuide2 and UsersGuide modules.


    Getting Started

    1. Install the module

    2. Check module permissions. All 'editors' have default USE permission to view the User Guide.


    Printing a User Guide

    Simply select Print in the browser menu or press 'Ctrl + P'.

    Tip: Select the option to print 'Headers & Footers' (if available)


    Options

    The following Admin options are available:

    • Add, edit, delete, rename
    • Inculde a video on the User Guide page, from Vimeo, YouTube, a local video file, or full embed code for external content.
    • Set a page for 'Admin only' visibility or to be 'Active' or not
    • Drag-n-drop reordering of the User Guide pages/tabs
    • Custom module name
    • Choose admin menu section
    • Custom CSS - see below
    • Use Smarty processing on the User Guide pages. If enabled you may need to use {literal}{/literal} or {ldelim}{rdelim} tags in the page content.
    • Import/Export - see below
    • Import from UserGuide2 or UsersGuide module - see below

    Custom CSS

    To add custom CSS for the user guide pages, create the file 'assets/module_custom/UserGuide/custom.css'. This will be in addition to the Admin & User Guide CSS.

    You can use the .guide class to target the User Guide content.


    Import/Export User Guide

    All User Guide pages can be easily be exported to an XML file.

    A full User Guide can be imported to a fresh installation of the User Guide module. Any imported pages will be added after any existing pages. Options will not be changed.

    If an 'Export Image Folder' is set then the export will include all images from this folder. When imported any images will be imported to this same folder.


    Import from UserGuide2 or UsersGuide module

    If the UserGuide2 or UsersGuide modules are installed, an option will be shown to import all content and settings from the the older modules. This includes the custom module name (with '*' added), and admin section.


    Permissions

    • 'UserGuide - Use' - can view the user guide, except any 'Admin only' pages
    • 'UserGuide - Manage' - can do everything, and view all pages.

    Support

    As per the GPL licence, this software is provided as is. Please read the text of the license for the full disclaimer. The module author is not obligated to provide support for this code. However you might get support through the following:

    • For support, first search the CMS Made Simple Forum, for issues with the module similar to those you are finding.
    • Then, if necessary, open a new forum topic to request help, with a thorough description of your issue, and steps to reproduce it.
    • If you find a bug you can submit a Bug Report.
    • For any good ideas you can submit a Feature Request.
    • If you found the Module useful - shout out to me on Twitter @KiwiChrisBT

    Copyright & Licence

    Copyright © 2016, Chris Taylor . All Rights Are Reserved.


    This module has been released under the GNU Public License v3. However, as a special exception to the GPL, this software is distributed as an addon module to CMS Made Simple. You may only use this software when there is a clear and obvious indication in the admin section that the site was built with CMS Made Simple!


    Inspired by: UsersGuide module by jissey.


    "; ######### ### ### ########## ### ### ######### ######## ### ######### ######### ######### ### ### ########## #### ### ######### ######## ### ######### ######### ### ### ### ### ### ##### ### ### ### ### ### ### ### ### ########## ########## ### ## ### ### ######## ### ### ### ### ### ########## ########## ### ##### ### ### ######## ### ### ### ### ### ### ### ### ### ### ### #### ### ### ### ### ### ### ### ### ######### ### ### ### ### ### ### ######### ######## ######### ######### ######### ######### ### ### ### ### ### ### ######### ######## ######### ######### ######### $lang['changelog'] = '

    Version 1.1 - 19Feb26

    • Kept page order stable during export and import.
    • Added a one-time upgrade step to fix existing page order.
    • Added stricter image checks for import and export.
    • Improved import filenames: keeps spaces, brackets and %, and avoids overwriting existing files.

    Version 1.0 - 04Apr24

    • Initial release of the UserGuide module. A fork and replacement for UserGuide2 module.
    • This module can import all content and settings from the UserGuide2 and UsersGuide modules if they are already installed.
    • Can export and import content and settings and files to/from xml file
    • Can include video content from Vimeo, YouTube, local files and also embedded code.
    • Includes default video User Guides for CMS Made Simple.
    • By default all Editors have view access with options to set permissions for all user groups.

    ';/assets/module_custom/UserGuide/custom.css\'. Vous pouvez utiliser la classe .guide pour le contenu du guide de l\'utilisateur.'; $lang['title_useSmarty'] = 'Utiliser Smarty '; $lang['help_useSmarty'] = 'Traiter toutes les pages du guide de l\'utilisateur avec Smarty avant de les afficher ? Si cette option est activée, vous devrez utiliser des balises {literal} autour des accolades { & } dans le contenu..'; $lang['settings_saved'] = 'Vos options ont été sauvegardées.'; $lang['saved_and_imported'] = 'Options sauvegardées et importées des pages du guide de l\'utilisateurs.'; $lang['import_completed'] = 'Pages Guide de l\'utilisateur et paramètres importés.'; $lang['file_error'] = 'Erreur de nom de fichier - non sélectionné.'; $lang['import_error'] = 'Erreur importation - le fichier n\'a pas été importé correctement.'; $lang['title_export'] = 'Exporter le contenu en XML'; $lang['title_import'] = 'Importer le contenu depuis XML'; $lang['title_import_export'] = 'Importer & Exporter le contenu'; $lang['module_import_database_error'] = 'Échec d\'import de la base de données'; $lang['xml_export'] = 'Export XML'; $lang['xml_import'] = 'Importer le contenu du guide'; $lang['title_exportImageFolder'] = 'Dossier d\'export des images  '; $lang['text_exportImageFolder'] = 'Emplacement des images du guide de l\'utilisateur à inclure dans l\'exportation, par exemple "images/userguide/". L\'emplacement est relatif à uploads_url. Laisser vide pour ne pas exporter les images.'; $lang['export_completed'] = 'Paramètres et page de User Guide exportés.'; $lang['title_import_UsersGuide'] = 'Importer depuis le module UsersGuide'; $lang['title_import_UserGuide2'] = 'Importer depuis le module UserGuide2'; $lang['import_UsersGuide'] = 'Importer le contenu et les paramètres'; $lang['text_UsersGuide'] = 'depuis le module UsersGuide'; $lang['text_UserGuide2'] = 'depuis le module UserGuide2'; $lang['none'] = 'aucun'; $lang['error_title_empty'] = 'Un titre est requis'; $lang['title_title'] = 'Titre '; $lang['title_active'] = 'Actif '; $lang['title_content'] = 'Contenu '; $lang['title_admin'] = 'Administrateurs uniquement '; $lang['prompt_admin'] = 'visible uniquement par les utilisateurs de l\'administration'; $lang['title_embed_type'] = 'Type vidéo'; $lang['title_embed_code'] = 'ID ou code vidéo'; $lang['title_embed_first'] = 'Afficher la vidéo au-dessus du contenu'; $lang['embed_type'] = 'Type de vidéo'; $lang['embed_type_vimeo'] = 'Vimeo (ID seulement)'; $lang['embed_type_youtube'] = 'Youtube (ID seulement)'; $lang['embed_type_local'] = 'Vidéo locale (ID seulement)'; $lang['embed_type_code'] = 'Code (HTML)'; $lang['embed_type_prompt_vimeo'] = 'ID Vimeo - URL complète après /video/ : 929800455?badge=0&autopause=0&player_id=0&app_id=58479'; $lang['embed_type_prompt_youtube'] = 'ID Youtube - ex : n4IhCSMkADc?si=YJ4K5qsrgl9LXW0a'; $lang['embed_type_prompt_local'] = 'URL relatif à uploads_url pour les vidéos locales - ex : images/UserGuide/video.mp4'; $lang['embed_type_prompt_code'] = 'Code complet d\'insertion'; ?> #--------------------------------------------------------------------------------------------------- class UserGuideImporterExporter { private const ALLOWED_IMAGE_EXTENSIONS = ['jpg', 'jpeg', 'png', 'gif', 'webp']; private const ALLOWED_IMAGE_MIMES = ['image/jpeg', 'image/png', 'image/gif', 'image/webp']; private const MAX_IMAGE_BYTES = 10485760; // 10MB private const MAX_IMAGE_WIDTH = 10000; private const MAX_IMAGE_HEIGHT = 10000; private $modulename; private $mod; private $preferences; private $tables; private $_xml; private $xml_exclude_files = ['^\.svn' , '^CVS$' , '^\#.*\#$' , '~$', '\.bak$', '^\.git', '^\.tmp$']; #--------------------- # Magic methods #--------------------- public function __construct() { $this->modulename = 'UserGuide'; $this->mod = cms_utils::get_module( $this->modulename ); $this->preferences = [ 'customModuleName', 'adminSection', 'useSmarty', 'imageFolder' ]; $this->tables = [ // table_from => table_to 'module_userguide' => 'module_userguide', 'module_userguide2' => 'module_userguide' ]; } #--------------------- # public functions #--------------------- public function export() { $this->_create_xml(); $this->_copyFromPreferences(); $this->_copyFromDataBase(); // $this->_copyFromTemplates(); $this->_copyFilesFromFolder(); $this->_output_xml(); } /** * import uploaded .xml file - allow for xml format change @ v1.3+ * @param string $filename - uploaded xml file * @return bool - success/fail */ public function import($filename = NULL) { if ( empty($filename) || !file_exists($filename) ) return false; $file = file_get_contents( $filename ); $this->_xml = new SimpleXMLElement( $file ); $canImportFrom = [$this->modulename, 'UserGuide2']; if ( !in_array($this->_xml->module, $canImportFrom) || !isset($this->_xml->version) ) return false; // check xml module & version values $xmlVersion = $this->_xml->version; if ( $this->_xml->module=='UserGuide2' && $xmlVersion < 1.3 ) { // 1.2 & before version xml $this->_import_xml_v1(); } else { // v1.3+ $this->_copyToPreferences(); $this->_copyToDataBase(); // $this->_copyToTemplates(); $this->_copyFilesToFolder(); } $query = new UserGuideQuery; $query->updatePositions(); return true; } #--------------------- # export functions #--------------------- private function _create_xml() { //*********************************************************************************************** // // //*********************************************************************************************** global $CMS_VERSION; $baseXML = ''; $this->_xml = new SimpleXMLElement( $baseXML ); $this->_xml->addChild('module', $this->mod->GetName()); $this->_xml->addChild('version', $this->mod->GetVersion()); $this->_xml->addChild('cmsversion', $CMS_VERSION); $this->_xml->addChild('exportdate', date('Y-m-d H:i:s')); } private function _copyFromPreferences() { //*********************************************************************************************** // add all specified preferences into _xml //*********************************************************************************************** if (empty($this->preferences)) return; foreach($this->preferences as $pref) { $prefs[$pref] = $this->mod->GetPreference($pref, ''); } $this->_xml->addChild( 'prefs', base64_encode( serialize($prefs) ) ); } private function _copyFromDataBase() { //*********************************************************************************************** // add all data from specified tables into _xml //*********************************************************************************************** if (empty($this->tables)) return; $db = \cms_utils::get_db(); $data = array(); foreach($this->tables as $old => $new) { $sql = 'SELECT * FROM '.cms_db_prefix().$new; if ( $new == 'module_userguide' ) $sql .= ' ORDER BY position, id'; $data[$new] = $db->GetArray($sql); } $this->_xml->addChild( 'db', base64_encode( serialize($data) ) ); } private function _copyFromTemplates() { //*********************************************************************************************** // //*********************************************************************************************** // not yet implemented } private function _copyFilesFromFolder() { //*********************************************************************************************** // recursive copy of all files & folders below 'imageFolder' (if set) // from class.moduleoperations.inc.php > CreateXMLPackage //*********************************************************************************************** $filecount = 0; $uploads_path = CmsApp::get_instance()->GetConfig()['uploads_path']; $imageFolder = $this->mod->GetPreference('imageFolder', ''); $dir = $uploads_path.'/'.$imageFolder; if ($imageFolder=='' || !is_dir( $dir ) ) return; $files = get_recursive_file_list( $dir, $this->xml_exclude_files ); $xmlFiles = $this->_xml->addChild( 'files' ); foreach( $files as $file ) { // strip off the beginning if (substr($file,0,strlen($dir)) == $dir) $file = substr($file,strlen($dir)); if ( $file == '' ) continue; $xmlFile = $xmlFiles->addChild( 'file' ); $filespec = $dir.DIRECTORY_SEPARATOR.$file; $xmlFile->addChild( 'filename', $file ); if ( @is_dir( $filespec ) ) { $xmlFile->addChild( 'isdir', '1' ); } else { $rawData = @file_get_contents($filespec); if ( $rawData === false || !$this->_isAllowedImageFile($file, $rawData) ) continue; $xmlFile->addChild( 'isdir', '0' ); $data = base64_encode($rawData); $xmlFile->addChild( 'data', $data ); } ++$filecount; } } private function _output_xml() { //*********************************************************************************************** // // //*********************************************************************************************** // create filename $date = date('Y-m-d_H-i-s', time()); $filename = 'UserGuide_Export_' . $date . '.xml'; ob_end_clean(); header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Cache-Control: private',false); header('Content-Description: Export'); header('Content-Description: File Transfer'); header('Content-Type: application/force-download'); header('Content-Disposition: attachment; filename='.$filename); header('Content-Type: text/xml; charset=utf-8'); echo $this->_xml->asXML(); exit(); } #--------------------- # import functions #--------------------- private function _import_xml_v1() { //*********************************************************************************************** // import original format of xml <= v1.2.1 (doesn't update preferences) // fields - add all imported pages after exisiting pages. If Title exists already = add '-2' //*********************************************************************************************** $db = \cms_utils::get_db(); $sql = 'SELECT title FROM ' . cms_db_prefix() . 'module_userguide'; $curTitles = $db->GetCol($sql); $sql = 'SELECT MAX(position) FROM ' . cms_db_prefix() . 'module_userguide'; $nextPos = $db->GetOne($sql) + 1; foreach ($this->_xml->fields->field as $field) { $fieldTitle = (string) $field->title; if (in_array ($fieldTitle, $curTitles)) $fieldTitle .= '-2'; $sql = 'INSERT INTO ' . cms_db_prefix() . 'module_userguide (title, position, active, content) VALUES (?,?,?,?)'; $dbr = $db->Execute($sql, array( (string) $fieldTitle, (int) $nextPos++, (int) $field->active, (string) $field->content )); } } // private function _expand_xml() { // //*********************************************************************************************** // // // //*********************************************************************************************** // } private function _copyToPreferences() { //*********************************************************************************************** // get all valid preferences from _xml & update //*********************************************************************************************** if ( !isset($this->_xml->prefs) ) return; $prefs = unserialize( base64_decode($this->_xml->prefs) ); foreach($prefs as $preference_name => $value) { if ( in_array($preference_name, $this->preferences)) $this->mod->SetPreference($preference_name, $value); } // Touch menu cache files - core will refresh (v2.0+ ) foreach ( glob(cms_join_path(TMP_CACHE_LOCATION, 'cache*.cms')) as $filename ) { touch( $filename, time() - 360000 ); } } private function _copyToDataBase() { //*********************************************************************************************** // get all valid database tables from _xml & update - will normally replace existing rows (id) //*********************************************************************************************** if ( !isset($this->_xml->db) ) return; $data = unserialize( base64_decode($this->_xml->db) ); $db = \cms_utils::get_db(); foreach($data as $tablename => $tabledata) { if ( array_key_exists($tablename, $this->tables) ) { // valid tablename $to_table = $this->tables[$tablename]; foreach ($tabledata as $row) { $data_rows = $row; unset($data_rows['id']); // remove id $fields = implode(',', array_keys($data_rows) ); $phs = implode(',', array_fill(0, count($data_rows), '?') ); $sql = 'INSERT INTO '.CMS_DB_PREFIX.$to_table.' ('.$fields.') VALUES ('.$phs.')'; $res = $db->Execute($sql, array_values($data_rows)); } } } } private function _copyToTemplates() { //*********************************************************************************************** // //*********************************************************************************************** // not yet implemented } private function _isAllowedImageFile($filename, $data) { //*********************************************************************************************** // validate file is a real image with allowed type and sane limits //*********************************************************************************************** if (empty($filename) || $data === false || $data === '') return false; if (strlen($data) > self::MAX_IMAGE_BYTES) return false; $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); if (!in_array($ext, self::ALLOWED_IMAGE_EXTENSIONS, true)) return false; $imageInfo = @getimagesizefromstring($data); if ($imageInfo === false || !isset($imageInfo['mime'])) return false; $mime = strtolower($imageInfo['mime']); if (!in_array($mime, self::ALLOWED_IMAGE_MIMES, true)) return false; if (!isset($imageInfo[0], $imageInfo[1])) return false; if ($imageInfo[0] < 1 || $imageInfo[1] < 1 || $imageInfo[0] > self::MAX_IMAGE_WIDTH || $imageInfo[1] > self::MAX_IMAGE_HEIGHT) return false; return true; } private function _getUniqueDestinationFile($destDir, $filename) { //*********************************************************************************************** // create a non-colliding destination path using "name (n).ext" //*********************************************************************************************** $targetFile = $destDir.'/'.$filename; if ( !file_exists($targetFile) ) return $targetFile; $nameOnly = pathinfo($filename, PATHINFO_FILENAME); $extension = pathinfo($filename, PATHINFO_EXTENSION); $counter = 2; while ( $counter < 10000 ) { $candidate = $nameOnly.' ('.$counter.')'; if ( $extension !== '' ) $candidate .= '.'.$extension; $targetFile = $destDir.'/'.$candidate; if ( !file_exists($targetFile) ) return $targetFile; ++$counter; } return false; } private function _copyFilesToFolder() { //*********************************************************************************************** // //*********************************************************************************************** if ( !isset($this->_xml->files) ) return; $uploads_path = CmsApp::get_instance()->GetConfig()['uploads_path']; $mod = cms_utils::get_module( $this->modulename ); // first make sure that we can actually write to the uploads folder if ( !is_writable( $uploads_path ) ) return false; $imageFolder = $this->mod->GetPreference('imageFolder', ''); $imageFolder = trim($imageFolder, '/.\\'); // strip off any leading/trailing slashes and dots for security $destDir = $uploads_path.'/'.$imageFolder; // create destination folder if it doesn't exist if ( !file_exists( $destDir ) ) { if (!@mkdir( $destDir ) && !is_dir( $destDir )) { throw new CmsFileSystemException($mod->Lang('error_creating_directory').' '.$destDir); } } // validate destination is within allowed directory $realDestPath = realpath($destDir); if (strpos($realDestPath, realpath($uploads_path)) !== 0) { throw new CmsFileSystemException($mod->Lang('error_invalid_file_path')); } foreach ($this->_xml->files->file as $xmlFile) { if (!isset($xmlFile->filename) || !isset($xmlFile->isdir) ) return false; $filename = basename((string) $xmlFile->filename); // Remove path components $filename = preg_replace('/[^a-zA-Z0-9._()% -]/', '', $filename); // Sanitize but keep spaces/parentheses/percent $filename = trim($filename); if ( $filename === '' ) continue; // ignore all files that are $isdir = (string) $xmlFile->isdir; if ( $isdir ) { $targetDir = $destDir.'/'.$filename; if ( !empty($filename) && !@mkdir( $targetDir ) && !is_dir( $targetDir )) continue; } else { $data = (string) $xmlFile->data; if ( strlen( $data ) ) $data = base64_decode( $data, true ); if ( $data === false ) continue; if ( !$this->_isAllowedImageFile($filename, $data) ) continue; $targetFile = $this->_getUniqueDestinationFile($destDir, $filename); if ( $targetFile === false ) continue; $fp = @fopen( $targetFile, "wb" ); if ( !$fp ) throw new CmsFileSystemException($mod->Lang('errorcantcreatefile').' '.$filename); if ( strlen( $data ) ) @fwrite( $fp, $data ); @fclose( $fp ); } } } } // UserGuideImporterExporter #--------------------------------------------------------------------------------------------------- class UserGuideItem { private const LOCAL_VIDEO_TYPES = [ 'mp4' => 'video/mp4', 'webm' => 'video/webm', 'ogg' => 'video/ogg' ]; private $_data = [ 'id' => null, 'title' => null, 'position' => null, 'active' => null, 'admin' => null, 'content' => null, 'embed_type' => null, 'embed_code' => null, 'embed_first' => null, ]; public function __get($key) { switch( $key ) { case 'id': case 'title': case 'position': case 'active': case 'admin': case 'content': case 'embed_type': case 'embed_code': case 'embed_first': return $this->_data[$key]; } } public function __set($key,$val) { switch( $key ) { case 'title': case 'content': case 'embed_type': case 'embed_code': $this->_data[$key] = trim($val); break; case 'position': $this->_data[$key] = (int) $val; break; case 'active': case 'admin': case 'embed_first': $this->_data[$key] = (bool) $val; break; } } public function save() { // test if valid before calling save() if ( $this->id > 0 ) { $saved = $this->update(); } else { $saved = $this->insert(); } return $saved; } protected function insert() { $db = \cms_utils::get_db(); $sql = 'INSERT INTO '.CMS_DB_PREFIX.'module_userguide (title, position, active, admin, content, embed_type, embed_code, embed_first) VALUES (?,?,?,?,?,?,?,?)'; $dbr = $db->Execute($sql, [$this->title, $this->position, $this->active, $this->admin, $this->content, $this->embed_type, $this->embed_code, $this->embed_first]); if ( !$dbr ) return FALSE; $this->_data['id'] = $db->Insert_ID(); return TRUE; } protected function update() { $db = \cms_utils::get_db(); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET title = ?, position = ?, active = ?, admin = ?, content = ?, embed_type=?, embed_code=?, embed_first=? WHERE id = ?'; $dbr = $db->Execute($sql, [$this->title, $this->position, $this->active, $this->admin, $this->content,$this->embed_type, $this->embed_code, $this->embed_first, $this->id]); if ( !$dbr ) return FALSE; return TRUE; } public function delete() { if ( !$this->id ) return FALSE; $db = \cms_utils::get_db(); $sql = 'DELETE FROM '.CMS_DB_PREFIX.'module_userguide WHERE id = ?'; $dbr = $db->Execute($sql,array($this->id)); if ( !$dbr ) return FALSE; $this->_data['id'] = null; return TRUE; } public function toggle_active() { if ( !$this->id ) return FALSE; $db = \cms_utils::get_db(); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET active = ? WHERE id = ?'; $dbr = $db->Execute($sql, array(!(bool)$this->active, $this->id)); if ( !$dbr ) return FALSE; return TRUE; } public function toggle_admin_only() { if ( !$this->id ) return FALSE; $db = \cms_utils::get_db(); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET admin = ? WHERE id = ?'; $dbr = $db->Execute($sql, array(!(bool)$this->admin, $this->id)); if ( !$dbr ) return FALSE; return TRUE; } /** * Parse local embed code to extract sources & errors * @return stdClass with properties: sources, errors */ public function parse_local_embed() { if ( !$this->id || $this->embed_type!='local') return; $result = new stdClass(); $result->sources = []; $result->errors = []; $config = cmsms()->GetConfig(); $filenames = explode(',', $this->embed_code); foreach( $filenames as &$filename ) { $filename = trim($filename); if ( $filename=='' ) continue; $ext = pathinfo($filename, PATHINFO_EXTENSION); if ( !array_key_exists($ext, self::LOCAL_VIDEO_TYPES) ) { $result->errors[] = 'Invalid filename type: '.$filename; continue; } // check if file exists if ( !file_exists($config['uploads_path'].'/'.$filename) ) { $result->errors[] = 'File not found: '.$filename; continue; } $result->sources[$ext] = $filename; } return $result; } /** internal */ public function fill_from_array($row) { foreach( $row as $key => $val ) { if ( array_key_exists($key,$this->_data) ) { $this->_data[$key] = $val; } } } public static function &load_by_id($id) { $id = (int) $id; $db = \cms_utils::get_db(); $sql = 'SELECT * FROM '.CMS_DB_PREFIX.'module_userguide WHERE id = ?'; $row = $db->GetRow($sql,array($id)); if ( is_array($row) ) { $obj = new self(); $obj->fill_from_array($row); return $obj; } } } #--------------------------------------------------------------------------------------------------- class UserGuideQuery extends CmsDbQueryBase { public function __construct($args = '') { parent::__construct($args); if ( isset($this->_args['limit']) ) $this->_limit = (int) $this->_args['limit']; } public function execute() { if ( !is_null($this->_rs) ) return; $sql = 'SELECT SQL_CALC_FOUND_ROWS UG.* FROM '.CMS_DB_PREFIX.'module_userguide AS UG'; if ( isset($this->_args['active']) ) { // store only active or non-active items $tmp = $this->_args['active']; if ( $tmp === 0 ) { $sql .= ' WHERE active = 0'; } else if ( $tmp === 1 ) { $sql .= ' WHERE active = 1'; } } $sql .= ' ORDER BY position'; $db = \cms_utils::get_db(); $this->_rs = $db->SelectLimit($sql,$this->_limit,$this->_offset); if ( $db->ErrorMsg() ) throw new \CmsSQLErrorException( $db->sql.' -- '.$db->ErrorMsg() ); $this->_totalmatchingrows = $db->GetOne('SELECT FOUND_ROWS()'); } public function &GetObject() { $obj = new UserGuideItem; $obj->fill_from_array($this->fields); return $obj; } public function updatePositions() { $db = \cms_utils::get_db(); $sql = 'SET @rownumber = 0'; $res = $db->Execute($sql); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET position = (@rownumber:=@rownumber+1) ORDER BY position, id'; $res = $db->Execute($sql); if ( $db->ErrorMsg() ) { throw new \CmsSQLErrorException( $db->sql.' -- '.$db->ErrorMsg(). '(updatePositions)' ); } return $res; } } /* UserGuide_admin.css */ .sortable-list tr {cursor:move;} .sortable-list .ui-sortable-helper {border:1px solid #CCC;} #loader {padding-left:50px;} .collapse:not(.show) {display:none;} #page_content {float:left; width:99%; margin-bottom:20px;} /* some custom CSS for displaying the User Guide pages */ .guide * {box-sizing:border-box;} .guide {position:relative; padding-top:10px;} .guide, .guide p {font-size:14px;} .guide h1 {margin:0 0 1rem; font-size:1.8rem; color:#147fdb;} .guide h2 {margin:0 0 .5rem; font-size:1.4rem; color:#147fdb;} .guide h3 {margin:0 0 .25rem; font-size:1.15rem; color:#147fdb;} .guide h4 {margin:0; font-size:1rem; color:#147fdb;} .guide p {margin-bottom:1rem;} #oe_mainarea .guide ul, #oe_mainarea .guide ol {margin-left:0; overflow:hidden;} .guide li {margin:0 0 .3rem 2rem;} .guide .font-extra-large {font-size:1.25em;} .guide .font-larger {font-size:1.125em;} .guide .font-smaller {font-size:.875em;} .guide .image-left {float:left; margin:0 10px 10px 0;} .guide .image-center, .guide .image-center img {display:block; margin:0 auto 10px;} .guide .image-right {float:right; margin:0 0 10px 10px;} .guide .image-max-50 {max-width:50%;} .guide .image-inline {display:inline;} .guide blockquote {padding:1rem 2rem; background-color: rgba(0,0,0,.1);} .guide .edit-link-container {position:absolute; top:-10px; right:0;} .guide .edit-link, .guide .admin-only {float:right; margin-left:1rem;} /* .guide .admin-only {position:absolute; top:-10px; right:40px;} */ .guide iframe {border:0;} .guide .ratio {position:relative; width:100%; margin-bottom:1rem;} .guide .ratio::before {display:block; padding-top:var(--bs-aspect-ratio); content:'';} .guide .ratio > * {position:absolute; top:0; left:0; width:100%; height:100%;} .guide .ratio-1x1 {--bs-aspect-ratio:100%;} .guide .ratio-4x3 {--bs-aspect-ratio:75%;} .guide .ratio-16x9 {--bs-aspect-ratio:56.25%;} .guide .ratio-21x9 {--bs-aspect-ratio:42.8571428571%;} /* custom CSS for admin pages */ .user-guide-edit-page .embed-code.small {min-width:500px; width:500px; min-height:21px; max-height:21px;} /* bs input-group css */ .input-group, .input-group * {box-sizing:border-box;} .input-group {position:relative; display:-ms-flexbox; display:flex; align-items:stretch; -ms-flex-align:stretch; -ms-flex-wrap:wrap; flex-wrap:wrap; width:100%;} .input-group > .form-control, .input-group > .form-control-plaintext, .input-group > .custom-select, .input-group > .custom-file {position:relative; -ms-flex:0 0 auto; flex:0 0 auto; width:auto; margin-bottom:0;} .input-group > .form-control + .form-control, .input-group > .form-control + .custom-select, .input-group > .form-control + .custom-file, .input-group > .form-control-plaintext + .form-control, .input-group > .form-control-plaintext + .custom-select, .input-group > .form-control-plaintext + .custom-file, .input-group > .custom-select + .form-control, .input-group > .custom-select + .custom-select, .input-group > .custom-select + .custom-file, .input-group > .custom-file + .form-control, .input-group > .custom-file + .custom-select, .input-group > .custom-file + .custom-file {margin-left:-1px;} .input-group > .form-control:focus, .input-group > .custom-select:focus, .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {z-index:3;} .input-group > .custom-file .custom-file-input:focus {z-index:4;} .input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child) {border-top-right-radius:0; border-bottom-right-radius:0; } .input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) {border-top-left-radius:0; border-bottom-left-radius:0;} .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {margin-left:-1px; border-top-left-radius:0; border-bottom-left-radius:0;} .input-group > :not(:last-child) {border-top-right-radius:0; border-bottom-right-radius:0;} .input-group-text {font-weight:400; line-height:1.5; display:-ms-flexbox; display:flex; align-items:center; -ms-flex-align:center; margin-bottom:0; padding:4px .75rem; text-align:center; white-space:nowrap; color:#495057; border:1px solid #ced4da; border-radius:.25rem; background-color:#e9ecef; } .input-group input[type='text'] {margin:0 5px 0 0;} .input-group-text input[type='radio'], .input-group-text input[type='checkbox'] {margin-top:0;} /* BS4 default Print styles */ @media print { *, *::before, *::after { text-shadow: none !important; box-shadow: none !important; } a:not(.btn) { text-decoration: underline; } abbr[title]::after { content: " (" attr(title) ")"; } pre { white-space: pre-wrap !important; } pre, blockquote { border: 1px solid #adb5bd; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } @page { size: a3; } body { min-width: 992px !important; } .container { min-width: 992px !important; } .navbar { display: none; } .badge { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #dee2e6 !important; } .table-dark { color: inherit; } .table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody { border-color: #dee2e6; } .table .thead-dark th { color: inherit; border-color: #dee2e6; } } @media print { /* custom print styles for Users Guide */ @page {margin:2cm;} .header, .pageheader, #oe_sidebar, #oe_footer, #page_tabs, #options_c, .shadow { display:none;} #oe_mainarea {margin:0;} #page_content {border:0;} #oe_mainarea .content-inner {padding:0;} #page_content [id^="ugpage"] { display:block !important; page-break-after:always; break-after:always; } } GIF89a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~! NETSCAPE2.0! , H*\ȰAQԢe 9ʝGAz0fG8Xn NqkҜ@\f*g8 ݅OBUHc5$L6cxu%u4eѢ%nT'X E88TV`9Q˷߿! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAN 70JgE~ѸEpq bhn#9>|,9rjTSak@{ 䧨-?$jt!h{%!bVҦ +Vn*q(bX YFąr \9%>{&߿! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱx <7М WE~a(nEs|ðFqA\r tuȦBpςn#xXFh )&W*q ,W&a]X /rD(C^t'.Ӥ (Q2 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱr 47pܸz"?ok0[9Xð7nȑSd‰ Mߌ FZ( &0p zL֬Ta]-r2S4HCZ.N (X1 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAr 47P8ahiuH4paGEzlF0јƜY昜 o֦p ǭ2%Qz!]x*r gUTfN Q"0`+ʝKw`@! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱq 478E#"s1Y9 C2$LpB;אܵpg.F1OBU(1(]d(nT'^JqgWF;t\8B%َ0)@wȷ߿! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱp 47ڵKFE~ƍc,XrCdHX0jI%4pˑ٪BB? %ŨBq T'Cq(8Vi?!PS(q'r (і- 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAp ,7ٳ 6E~E\X W/rCp/\δi'bdg32Q@u>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱo ,7И5E~E\-r}8ZQ7.](.΄2 Eܸ? *qIK'@[4(HɺP EذƊ$㧖5`+D~XLa! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAm ,7W5E~Ucx*rUU5knZ5r &P7 Aʊ8qHJ(RqJ4KpJ$=ƍcUpZU@SʝK! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAj ,7J%E~5cӨq5S6Qx3MY3r r&05 wZ`8pH!J(RpJJrӠAf](NqZ KqaA巶BrH,(J޿ F! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱg ,7pժj%E~cҦq ֌8MjE-X1r ŹJ&4 m kH!:ԓQה*H@r22%>}ȍU 4qEbn8q㷖_۷ ҍ20D~8La! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAe ,7PN$E~bѤqUI^ q šjɏ[2 cgH!:Qϔ*wq2. są 5a/hę3WnlDžh(]˯m8xN"x L0€! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱb ,70S*E~rbiТqzՋa8ERɒq Å &0 Y 5cH!:QƔ*@q2.Ɗ"rq5a+`čW7p g9ptv9ʕL! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰA` $7 RE~bb8Iqǭ2ua8AzFb%Ԫq m%p/ M`^H!:4QJ 獢DMfա8qMv+?rت7Ur]ʝKn! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\Ȱ] $7СE~Rb(qō!>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰA[ $7ЏE~Dmb8Mqm!8h,yT&q 5%0+ 9EڇUH!:Q*4G"?nѬ.47n9p+5aq]#W,3]Sˏb +Pp$ LpÀ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰX $7NE~4MbKqMb!84_ ]$q r%* z`.QH!J(RQJ7N5eU NmpʪPWsϞㅫCâ (\G 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAV $7 Y㍟E~&-bXJq-70VAjp R%0X( ˍJqLH!JѤ ˅'Pڰq }5dha]rƌʗKpCs (7 0 ! ,  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~ H*\ȰAS3f 9( HF附1QQz(צ ɉ9 +H8!I&NH:czٌWMM׬0S*6Z^ƭ2ea5lkCs ,Q6pʝ;0 ;// UserGuide_admin.js $(function() { $('.sortable-list').sortable({ delay: 150, revert: 300, placeholder: 'ui-state-highlight', helper: function (event, ui) { ui.children().each(function() { // fixes width & height of dragged cells $(this).width($(this).width()).height($(this).height()); }); return ui; }, stop: function (event, ui) { $(ui.item).parent().children().each(function( index ) { $(this).removeClass('row1 row2').addClass('row'+(index%2+1)); }); var moveItem = $(ui.item).data('id'); var moveToAfter = $(ui.item).prev('tr').data('id'); if (typeof moveToAfter=='undefined') moveToAfter = '0'; var reorderUrl = $(ui.item).data('reorder').replace('_after=-1', '_after='+moveToAfter) + '&showtemplate=false'; var loadingIcon = $('#loader').data('icon'); if (loadingIcon!='') { loadingIcon = 'updating'; } else { loadingIcon = 'updating'; } $('#loader').html(loadingIcon); $.get( reorderUrl, function( data ) { if (data=="") { $('#loader').html(''); reorderUserGuideTabs(moveItem, moveToAfter); } else { // error returned $('#loader').html(''+data+''); $('.sortable-list').sortable('cancel'); } }); } }); function reorderUserGuideTabs(moveItem, moveToAfter) { var idPrefix = '#ugpage'; var tabsId ='#page_tabs'; if (moveToAfter=='0') { $(idPrefix+moveItem).detach().prependTo( $(tabsId) ); } else { $(idPrefix+moveItem).detach().insertAfter( $(idPrefix+moveToAfter) ); } }; $('.embed-type').on('change', function() { var embedType = $(this).val(), $embedCode = $(this).closest('form').find('.embed-code'), $embedCodePrompt = $(this).closest('form').find('.embed-code-prompt'), $embedCodePrefix = $(this).closest('form').find('#embed_code_prefix'), $embed_code_input_group = $(this).closest('form').find('#embed_code_input_group'), $embed_code_input = $(this).closest('form').find('#embed_code_input'), $embed_code_textarea = $(this).closest('form').find('#embed_code_textarea'); $embedCodePrompt.html( $(this).data(embedType) ); if (embedType=='code') { $embed_code_input_group.removeClass('show'); $embed_code_input.attr('name', $embed_code_input.data('name')); $embed_code_textarea.addClass('show').attr('name', $embed_code_textarea.data('name')); // $embedCode.removeClass('small'); $embedCodePrefix.html( '' ); } else { $embed_code_input_group.addClass('show'); $embed_code_input.attr('name', $embed_code_input.data('name')); $embed_code_textarea.removeClass('show').attr('name', '') $embedCodePrefix.html( $embedCodePrefix.data(embedType) ); // $embedCode.addClass('small'); } }); $('a.del_user_guide_page').click(function() { return confirm( $(this).data('confirm') + ' "' + $(this).data('title') + '"?'); }) }); UserGuide1.02.2.192024-04-04 13:39:29YTo0OntzOjE2OiJjdXN0b21Nb2R1bGVOYW1lIjtzOjEwOiJVc2VyIEd1aWRlIjtzOjEyOiJhZG1pblNlY3Rpb24iO3M6NDoibWFpbiI7czo5OiJ1c2VTbWFydHkiO3M6MToiMSI7czoxMToiaW1hZ2VGb2xkZXIiO3M6MDoiIjt9YToxOntzOjE2OiJtb2R1bGVfdXNlcmd1aWRlIjthOjc6e2k6MDthOjk6e3M6MjoiaWQiO3M6MToiMSI7czo1OiJ0aXRsZSI7czoxMjoiSW50cm9kdWN0aW9uIjtzOjg6InBvc2l0aW9uIjtzOjE6IjEiO3M6NjoiYWN0aXZlIjtzOjE6IjEiO3M6NToiYWRtaW4iO3M6MToiMCI7czo3OiJjb250ZW50IjtzOjA6IiI7czoxMDoiZW1iZWRfdHlwZSI7czo1OiJ2aW1lbyI7czoxMDoiZW1iZWRfY29kZSI7czo1NDoiOTI5ODAwNTEwP2JhZGdlPTAmYXV0b3BhdXNlPTAmcGxheWVyX2lkPTAmYXBwX2lkPTU4NDc5IjtzOjExOiJlbWJlZF9maXJzdCI7czoxOiIwIjt9aToxO2E6OTp7czoyOiJpZCI7czoxOiIyIjtzOjU6InRpdGxlIjtzOjE2OiJUaGUgRmlsZSBNYW5hZ2VyIjtzOjg6InBvc2l0aW9uIjtzOjE6IjIiO3M6NjoiYWN0aXZlIjtzOjE6IjEiO3M6NToiYWRtaW4iO3M6MToiMCI7czo3OiJjb250ZW50IjtzOjA6IiI7czoxMDoiZW1iZWRfdHlwZSI7czo1OiJ2aW1lbyI7czoxMDoiZW1iZWRfY29kZSI7czo1NDoiOTI5ODAwNDU1P2JhZGdlPTAmYXV0b3BhdXNlPTAmcGxheWVyX2lkPTAmYXBwX2lkPTU4NDc5IjtzOjExOiJlbWJlZF9maXJzdCI7czoxOiIwIjt9aToyO2E6OTp7czoyOiJpZCI7czoxOiIzIjtzOjU6InRpdGxlIjtzOjI0OiJUaGUgQ29udGVudCBNYW5hZ2VyIFB0IDEiO3M6ODoicG9zaXRpb24iO3M6MToiMyI7czo2OiJhY3RpdmUiO3M6MToiMSI7czo1OiJhZG1pbiI7czoxOiIwIjtzOjc6ImNvbnRlbnQiO3M6MDoiIjtzOjEwOiJlbWJlZF90eXBlIjtzOjU6InZpbWVvIjtzOjEwOiJlbWJlZF9jb2RlIjtzOjU0OiI5Mjk4MDAyMDY/YmFkZ2U9MCZhdXRvcGF1c2U9MCZwbGF5ZXJfaWQ9MCZhcHBfaWQ9NTg0NzkiO3M6MTE6ImVtYmVkX2ZpcnN0IjtzOjE6IjAiO31pOjM7YTo5OntzOjI6ImlkIjtzOjE6IjQiO3M6NToidGl0bGUiO3M6MjQ6IlRoZSBDb250ZW50IE1hbmFnZXIgUHQgMiI7czo4OiJwb3NpdGlvbiI7czoxOiI0IjtzOjY6ImFjdGl2ZSI7czoxOiIxIjtzOjU6ImFkbWluIjtzOjE6IjAiO3M6NzoiY29udGVudCI7czowOiIiO3M6MTA6ImVtYmVkX3R5cGUiO3M6NToidmltZW8iO3M6MTA6ImVtYmVkX2NvZGUiO3M6NTQ6IjkyOTgwMDEyNj9iYWRnZT0wJmF1dG9wYXVzZT0wJnBsYXllcl9pZD0wJmFwcF9pZD01ODQ3OSI7czoxMToiZW1iZWRfZmlyc3QiO3M6MToiMCI7fWk6NDthOjk6e3M6MjoiaWQiO3M6MToiNSI7czo1OiJ0aXRsZSI7czoyNDoiVGhlIENvbnRlbnQgTWFuYWdlciBQdCAzIjtzOjg6InBvc2l0aW9uIjtzOjE6IjUiO3M6NjoiYWN0aXZlIjtzOjE6IjEiO3M6NToiYWRtaW4iO3M6MToiMCI7czo3OiJjb250ZW50IjtzOjA6IiI7czoxMDoiZW1iZWRfdHlwZSI7czo1OiJ2aW1lbyI7czoxMDoiZW1iZWRfY29kZSI7czo1NDoiOTI5ODAwMzM5P2JhZGdlPTAmYXV0b3BhdXNlPTAmcGxheWVyX2lkPTAmYXBwX2lkPTU4NDc5IjtzOjExOiJlbWJlZF9maXJzdCI7czoxOiIwIjt9aTo1O2E6OTp7czoyOiJpZCI7czoxOiI2IjtzOjU6InRpdGxlIjtzOjQ6Ik5ld3MiO3M6ODoicG9zaXRpb24iO3M6MToiNiI7czo2OiJhY3RpdmUiO3M6MToiMSI7czo1OiJhZG1pbiI7czoxOiIwIjtzOjc6ImNvbnRlbnQiO3M6MDoiIjtzOjEwOiJlbWJlZF90eXBlIjtzOjU6InZpbWVvIjtzOjEwOiJlbWJlZF9jb2RlIjtzOjU0OiI5Mjk4MTgwOTE/YmFkZ2U9MCZhdXRvcGF1c2U9MCZwbGF5ZXJfaWQ9MCZhcHBfaWQ9NTg0NzkiO3M6MTE6ImVtYmVkX2ZpcnN0IjtzOjE6IjAiO31pOjY7YTo5OntzOjI6ImlkIjtzOjE6IjciO3M6NToidGl0bGUiO3M6MjA6IkdldHRpbmcgRnVydGhlciBIZWxwIjtzOjg6InBvc2l0aW9uIjtzOjE6IjciO3M6NjoiYWN0aXZlIjtzOjE6IjEiO3M6NToiYWRtaW4iO3M6MToiMCI7czo3OiJjb250ZW50IjtzOjA6IiI7czoxMDoiZW1iZWRfdHlwZSI7czo1OiJ2aW1lbyI7czoxMDoiZW1iZWRfY29kZSI7czo1NDoiOTI5ODI3MDI3P2JhZGdlPTAmYXV0b3BhdXNlPTAmcGxheWVyX2lkPTAmYXBwX2lkPTU4NDc5IjtzOjExOiJlbWJlZF9maXJzdCI7czoxOiIwIjt9fX0= #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; $uid = null; if ( cmsms()->test_state(CmsApp::STATE_INSTALL) ) { $uid = 1; // hardcode to first user } else { $uid = get_userid(); } // Setup Module Permissions $this->CreatePermission(UserGuide::MANAGE_PERM, 'UserGuide - Manage'); $this->CreatePermission(UserGuide::USE_PERM, 'UserGuide - Use'); // Setup default permissions - Editor has USE permission $perm_id = $db->GetOne("SELECT permission_id FROM ".CMS_DB_PREFIX."permissions WHERE permission_name = '".UserGuide::USE_PERM."'"); $group_id = $db->GetOne("SELECT group_id FROM `".CMS_DB_PREFIX."groups` WHERE group_name = 'Editor'"); $count = $db->GetOne("SELECT count(*) FROM " . CMS_DB_PREFIX . "group_perms WHERE group_id = ? AND permission_id = ?", [$group_id, $perm_id]); if (isset($count) && intval($count)==0) { // if not already set $new_id = $db->GenID(CMS_DB_PREFIX."group_perms_seq"); $query = "INSERT INTO ".CMS_DB_PREFIX."group_perms (group_perm_id, group_id, permission_id, create_date, modified_date) VALUES (?, ?, ?, NOW(), NOW())"; $db->Execute($query, [$new_id, $group_id, $perm_id]); } // Set Preferences $this->SetPreference('customModuleName', 'User Guide'); $this->SetPreference('adminSection', UserGuide::ADMIN_SECTION_DEFAULT); $this->SetPreference('useSmarty', true); $this->SetPreference('imageFolder', ''); // Create Tables $db = $this->GetDb(); $dict = NewDataDictionary($db); $taboptarray = array('mysql' => 'TYPE=MyISAM'); // create module_userguide table $fields = " id I KEY AUTO, title C(255) NOTNULL, position I, active I1, admin I1, content X, embed_type C(10), embed_code X, embed_first I1 "; $sqlarray = $dict->CreateTableSQL(CMS_DB_PREFIX.'module_userguide', $fields, $taboptarray); $dict->ExecuteSQLArray($sqlarray); // install default content $importerExporter = new UserGuideImporterExporter(); $imported = $importerExporter->import( $this->GetModulePath().UserGuide::DEFAULT_CONTENT_XML ); #--------------------------------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; $db = $this->GetDb(); // remove the database tables $dict = NewDataDictionary( $db ); $sqlarray = $dict->DropTableSQL( CMS_DB_PREFIX.'module_userguide'); $dict->ExecuteSQLArray($sqlarray); // remove the permissions $this->RemovePermission(UserGuide::MANAGE_PERM); $this->RemovePermission(UserGuide::USE_PERM); // remove all preferences $this->RemovePreference(); #------------------------------------------------------------------------- if ( !defined('CMS_VERSION') ) exit; $db = $this->GetDb(); if ( version_compare($oldversion, '1.1', '<') ) { $sql = 'SET @rownumber = 0'; $db->Execute($sql); $sql = 'UPDATE '.CMS_DB_PREFIX.'module_userguide SET position = (@rownumber:=@rownumber+1) ORDER BY position, id'; $db->Execute($sql); } [module] name = "UserGuide" version = "1.1beta1" author = "Chris Taylor" authoremail = "chris@binnovative.co.uk" mincmsversion = 2.0 lazyloadadmin = 1 lazyloadfrontend = 0

    {if $isNewPage}{$mod->Lang('add_item')}{else}{$mod->Lang('edit_item')}{/if}

    {form_start pid=$page->id class='user-guide-edit-page'}

    {$mod->Lang('title_title')}:

    {$mod->Lang('title_active')}:

    {$input_active}

    {$mod->Lang('title_admin')}:

    admin}checked{/if}>

    {$mod->Lang('title_content')}:

    {$input_content}


    {$mod->Lang('title_embed_type')}:

    {$mod->Lang('title_embed_code')}:

    {strip} {if $embed_type=='vimeo'} {$mod::EMBED_PREFIX_VIMEO} {elseif $embed_type=='youtube'} {$mod::EMBED_PREFIX_YOUTUBE} {elseif $embed_type=='local'} {uploads_url}/ {/if}{/strip}
    {$mod->Lang("embed_type_prompt_{$embed_type}")}
    {*

    *}

    embed_first}checked{/if}>

     

    {form_end}{* admin_settings.tpl *} {if $separate_settings} {tab_header name='pages' label="{$mod->Lang('tab_pages')}"} {tab_header name='options' label="{$mod->Lang('tab_options')}"} {/if} {tab_start name='pages'}
    {if empty($pages)} {else} {foreach $pages as $page} {cms_action_url action=edit_page pid=$page->id assign='edit_url'} {/foreach} {/if}
    {$mod->Lang('title_title')} {$mod->Lang('title_active')} {$mod->Lang('title_admin')} {* edit icon *} {* delete icon *}
    --- {$mod->Lang('none')} ---
    {$page->title} {if $page->active}{admin_icon icon='true.gif'}{else}{admin_icon icon='false.gif'}{/if} {if $page->admin}{admin_icon icon='true.gif'}{else}{admin_icon icon='false.gif'}{/if} {admin_icon icon='edit.gif'} {admin_icon icon='delete.gif'}
    {tab_start name='options'}
    {form_start action=admin_settings}
    {$mod->Lang('tab_options')}

    {$mod->Lang('title_customModuleName')}:

    {$input_customModuleName}

    {$mod->Lang('title_adminSection')}:

    {$input_adminSection}

    {$mod->Lang('title_separate_settings')}

    {$mod->Lang('title_customCSS')}:

    {$mod->Lang('text_customCSS')|nl2br}


    {$input_useSmarty} {$mod->Lang('title_useSmarty')}:

    {$mod->Lang('help_useSmarty')|nl2br}


    {$mod->Lang('title_import_export')}

    {$mod->Lang('title_import')}:

    {$input_import}  


    {$mod->Lang('title_exportImageFolder')}:

    {uploads_url}/
    {$mod->Lang('text_exportImageFolder')}

    {$mod->Lang('title_export')}:


    {if $hasUsersGuideMod}{* if installed *}
    {$mod->Lang('title_import_UsersGuide')}

    {/if} {if $hasUserGuide2Mod}{* if installed *}
    {$mod->Lang('title_import_UserGuide2')}

    {/if} {form_end} {if $separate_settings} {tab_end} {/if}{* admin_user_guide_page.tpl - includes adding '../' to the start of all img src attributes so they display in /admin ***************************************************************************************************} {if !empty($error)}
    {$error}
    {/if}
    {if $page->content!='' && $page->embed_first==0}
    {$page->content|replace:'src="':'src="../'}
    {/if} {if $page->embed_code!=''} {if $page->embed_type=='vimeo'}
    {elseif $page->embed_type=='youtube'}
    {elseif $page->embed_type=='local'} {$result=$page->parse_local_embed()} {if $result->errors}
    {foreach $result->errors as $error}{$error}
    {/foreach}
    {/if}
    {elseif $page->embed_type=='code'}
    {$page->embed_code}
    {/if} {/if} {if $page->content!='' && $page->embed_first==1}
    {$page->content|replace:'src="':'src="../'}
    {/if}
    { "type": "module", "name": "User Guide", "module_name": "UserGuide", "source": "core", "default_selected": true, "description": "Adds an editable documentation area inside the CMS admin so site owners and editors can keep project-specific help pages with the installation." } {* error template *} {extends file='index.tpl'} {block name='logic'} {$title = 'title_error'|tr} {/block} {block name='contents'}{/block} {block name='logic'}{/block} {if isset($BASE_HREF)}{/if} {if !empty($browser_title)} {$browser_title} {elseif !empty($title)} {$title nocache} - CMS Made Simple™ {'apptitle'|tr} {else} CMS Made Simple™ {'apptitle'|tr}} {/if}
    {'apptitle'|tr}
    {block name='aside_content'} {if isset($wizard_steps)} {/if} {/block}

    {if isset($title)}{$title}{else}{'install_upgrade'|tr}{/if}

    {if isset($subtitle)}

    {$subtitle}

    {/if} {if isset($dir) && ($in_phar || $cur_step > 1)}
    {'prompt_dir'|tr}:
    {$dir}
    {/if} {if isset($error)}
    {$error}
    {/if}
    {block name='contents'}WIZARD CONTENTS GO HERE{/block} {block name='content-footer'}{/block}
    © Copyright {$smarty.now|localedate_format:'Y'} CMS Made Simple™. All rights reserved{if isset($installer_version)} - {'installer_ver'|tr}: {$installer_version}{/if}{if isset($build_number)} - {'build_num'|tr}: {$build_number}{/if}{if isset($build_time)} - {'build_date'|tr}: {$build_time|localedate_format:'j %h Y H:i:s'}{/if}
    {block name='javascript'} {/block} {extends file='index.tpl'} {block name='javascript' append} {/block}{* wizard step 1 *} {extends file='wizard_step.tpl'} {block name='logic'} {capture assign='browser_title'}CMS Made Simple™ {$version|default:''} ({$version_name|default:''}) {'apptitle'|tr}{/capture} {capture assign='title'}{'title_welcome'|tr} {'to'|tr} CMS Made Simple™ {$version|default:''} ({$version_name|default:''})
    {'apptitle'|tr}{/capture} {$current_step = '1'} {/block} {block name='contents'}

    {'welcome_message'|tr}

    {wizard_form_start} {if empty($custom_destdir) && !empty($dirlist)}

    {'step1_destdir'|tr}

    {'step1_info_destdir'|tr}


    {/if}

    {'step1_language'|tr}

    {'select_language'|tr}


    {'step1_advanced'|tr}

    {'info_advanced'|tr}

    {wizard_form_end}
    {/block} {* wizard step 2 *} {extends file='wizard_step.tpl'} {block name='logic'} {$title = 'title_step2'|tr} {$current_step = '2'} {/block} {block name='contents'}
    {wizard_form_start} {$label='install'|tr} {if $nofiles}
    {'step2_nofiles'|tr}
    {/if} {if !isset($cmsms_info)}
    {'step2_nocmsms'|tr}
    {if !$install_empty_dir}
    {'step2_install_dirnotempty2'|tr} {if !empty($existing_files)}
      {foreach $existing_files as $one}
    • {$one}
    • {/foreach}
    {/if}
    {/if} {else} {* its an upgrade or freshen *} {if isset($cmsms_info.error_status)} {if $cmsms_info.error_status == 'too_old'}
    {'step2_cmsmsfoundnoupgrade'|tr}
    {elseif $cmsms_info.error_status == 'same_ver'}
    {'step2_errorsamever'|tr}
    {elseif $cmsms_info.error_status == 'too_new'}
    {'step2_errortoonew'|tr}
    {else}
    {'step2_errorother'|tr}
    {/if} {else}
    {'step2_cmsmsfound'|tr}
    {/if}
    • {'step2_pwd'|tr}:
      {$pwd}
    • {'step2_version'|tr}:
      {$cmsms_info.version} ({$cmsms_info.version_name})
    • {'step2_schemaver'|tr}:
      {$cmsms_info.schema_version}
    • {'step2_installdate'|tr}:
      {$cmsms_info.mtime|localedate_format:'j %h Y'}
    {if isset($cmsms_info.noupgrade)}
    {'step2_minupgradever'|tr:$config.min_upgrade_version}
    {else} {$label='upgrade'|tr} {if !empty($upgrade_info)}
    {'step2_hdr_upgradeinfo'|tr}
    {'step2_info_upgradeinfo'|tr}
      {foreach $upgrade_info as $ver => $data}
    • {$ver}
      {if $data.readme} {/if}
      {if $data.changelog} {/if}
    • {/foreach}
    {/if} {/if} {if isset($cmsms_info.error_status) && $cmsms_info.error_status == 'same_ver'}
    {'step2_info_freshen'|tr:$cmsms_info.config.db_prefix}
    {/if} {/if}
    {if !isset($cmsms_info)} {if isset($retry_url)} {* {'retry'|tr} *} {'retry'|tr} {/if} {elseif !isset($cmsms_info.error_status)} {elseif $cmsms_info.error_status == 'same_ver'} {/if}
    {wizard_form_end}
    {/block} {* wizard step 3 *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step3'|tr} {$current_step = '3'} {/block} {block name='contents'} {if $tests_failed} {if !$can_continue}
    {'step3_failed'|tr}
    {else}
    {'sometests_failed'|tr}
    {/if} {/if} {if $tests_failed || $verbose} {foreach from=$tests item='test'} {cycle values='odd,even' assign='rowclass'} {/foreach}
    {'th_status'|tr} {'th_testname'|tr}
    {if $test->status == 'test_fail'}{elseif $test->status == 'test_warn'}{else}{/if} {$test->name|tr} {$str = $test->msg()} {if $str != '' && ($verbose || $test->status != 'test_pass')}
    {$str} {/if}
    {else}
    {'step3_passed'|tr}
    {/if}
    {'legend'|tr}
    {'symbol'|tr} {'meaning'|tr}
    {'test_failed'|tr}
    {'test_passed'|tr}
    {'test_warning'|tr}
    {'warn_tests'|tr}
    {if $tests_failed} {* {'retry'|tr} *} {'retry'|tr} {/if} {if $can_continue} {'next'|tr} →{/if}
    {/block} {* wizard step 4 *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step4'|tr} {$current_step = '4'} {/block} {block name='contents'}
    {wizard_form_start}

    {'prompt_dbinfo'|tr}

    {'info_dbinfo'|tr}

    {if $verbose}
    {/if}
    {if $verbose}
    {/if}

    {'prompt_timezone'|tr}

    {'info_timezone'|tr}

    {if $verbose}

    {'prompt_queryvar'|tr}

    {'info_queryvar'|tr}

    {/if} {if $action == 'install'}

    {'prompt_installprofile'|tr}

    {'info_installprofile'|tr}

    {if isset($install_profile_details) && count($install_profile_details)}
    {foreach $install_profile_details as $profile_id => $profile}

    {$profile.name|escape}: {if isset($profile.description) && $profile.description}{$profile.description|escape}{/if}

    {/foreach}
    {/if} {if isset($optional_module_bundles) && count($optional_module_bundles)}

    {'prompt_optionalmodules'|tr}

    {'info_optionalmodules'|tr}

    {foreach $optional_module_bundles as $bundle_id => $bundle}
    {if isset($bundle.description) && $bundle.description}

    {$bundle.description|escape}

    {/if}
    {/foreach}
    {/if} {/if}
    {wizard_form_end}
    {/block} {* wizard step 5 *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step5'|tr} {$current_step = '5'} {/block} {block name='contents'}
    {wizard_form_start}

    {'info_adminaccount'|tr}

    {if $verbose} {else}
    {/if}
    {if $verbose}
    {/if}
    {wizard_form_end}
    {/block} {* wizard step 6 *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step6'|tr} {$current_step = '6'} {/block} {block name='contents'}
    {wizard_form_start} {if $action != 'freshen'}

    {'prompt_sitename'|tr}

    {'info_sitename'|tr}

    {/if}

    {'prompt_addlanguages'|tr}

    {'info_addlanguages'|tr}

    {wizard_form_end}
    {/block} {* wizard step 7 -- files *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step7'|tr} {$current_step = '7'} {/block} {block name='contents'}
    {if isset($next_url)} {'next'|tr} → {/if}
    {/block}{* wizard step 8 -- database work *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step8'|tr} {$current_step = '8'} {/block} {block name='contents'}
    {if isset($next_url) && $next_url} {'next'|tr} → {/if}
    {/block}{* wizard step 9 -- files *} {extends file='wizard_step.tpl'} {block name='logic'} {$subtitle = 'title_step9'|tr} {$current_step = '9'} {/block} {block name='contents'}
    {* bottom nav is needed here *}
    {/block} {block name='content-footer'}
    {'step9_removethis'|tr}

    {'step9_join_community'|tr}

    {'step9_get_help'|tr}:

    {'step9_love_cmsms'|tr}?

    {/block}MANIFEST GENERATED: 1774384559 MANIFEST FROM VERSION: 1.0.0 MANIFEST FROM NAME: Smoke MANIFEST TO VERSION: 1.0.1 MANIFEST TO NAME: Smoke MANIFEST GENERATOR: build/create_manifest.php CHANGED :: 2f9a3319fa9e7a4b53e0ac3368c3848a :: /index.php CHANGED :: a82245a884cd7a0cc7ddfc90e8eda54c :: /lib/version.php ADDED :: b60ed88355ac3f6898fd8a7ab1734d06 :: /new.txt PK}x\됿new.txtaddedPK}x\DW1 index.php8tQ7z1DuX Ismarty magic method in the module class to resolve to the action template or the global smarty. VrH W F'Q2Uqf.vXD*l9%F\D$z|9xijC%woo?,&vj^-O7'fS8yunIi@!E|Nզ]Cp>Շof݆W*sH9&P!Պ 9~]u4[w=OaC0ALLx"[De)' 7l=фPkiKƒ9VO^aKNl7l?%(% q ȞK'lkϱ ^ I}OE|aw 7QR8#B6sڹm X@ МH.<-ώ6߼߆97saXR4B!7 M'AUv Ρgoʥ^-zXi5Jo{QYSnsAֻ#Jm1uhJp9H(y25XZiֈ-N9e@{ÚFm"L HRoq"]a5ABvJxj@H }=N+=nib@]`*7hz{ni]pX#YvmSY Version 2.0.1 - Adelaide ---------------------------------- Core - General - Improved optimization in ContentOperations::SetAllHierarchyPositions. - Fixed return type of ContentOperations::GetPageIdFromAlias(). - Help for the {cms_html_options} plugin. - Change the default page template to use {Navigator}. - Explicitly force $smarty->fetch() to create a new template, and therefore a new scope. Keep track of scopes in a stack. - Change prototype to CMSModule::DoActionBase to pass in the current template object. - SITENAME is now assigned as a Smarty global. (fixes some variable scope issues) - Fix problem with changing content types. - Fix problem with CmsLayoutTemplateQuery wrt the editable option, that generated an SQL error. (resolves problems where people have additional editor access to templates, but no other design manager permissions). - Fix minor JavaScript errors in plugin (error checking). - Fix problems where If assign was passed to a {content} tag, do not pass it to the module on a mact request. - Implements the completely forgotten 403 exception stuff and the IsPermitted content method. - Improve the cmsms_dirtyform jQuery plugin to support the unload handler and an onUnload callback. - Fixed the jQuery page selector plugin when the current value points to an invalid page, and fixes for asynchronous Ajax. - Adds a globally available cms_busy() JavaScript function for the Admin. - Fix problem with html entitites in email addresses in user settings. - Fix problem with {content cssname=string} and quotes. - Chaged cmsms plugins to use $smarty->getTemplateVars() instead of $smarty->get_template_vars() because of scope issues. - Minor fix to {form_start} when not used in a module. - Improved error handling for cms_stylesheet. Now will generate a message in the admin log, and an html comment on error. - Minor fixes for module provided content blocks for Content type pages. CMSContentManager v1.0.1 - Fixes for changing content types. - Adds a title for some contextual help if a template is not available for a content item. - Clear any locks if an exception occurred while submitting a content item. - Improvements to error handling with apply and preview. - Content list now refreshes every 30 seconds to display up-to-date lock information. DesignManager v1.0.1 - Clear the type_default flag when copying a template. - Clear any locks if an exception occurred while submitting a template. - Clear any locks if an exception occurred while submitting a stylesheet. - Template and stylesheet lists now refresh every 30 seconds to display up-to-date lock information. - Fixes for design exporting templates with protocol-less URLs in them. MenuManager v1.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). Navigator v1.0.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). - Minor change to the help ($node->children_exist) Search v1.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). News v2.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). - Fix problem with custom fields not being assigned in fesubmit. - Fix minor problem with html entities in the detailtempalte parameter. FileManager v1.5.1 - Fix minor problem with Smarty scope in the drop zone. Announcing CMSMS 2.0.1 - Adelaide ---------------------- We knew that shortly after releasing 2.0, regardless of how many months we were in beta, we would be creating bug-fix releases. This is because the number of users who actually use the system increase when you remove the 'beta' or 'release candidate' suffixes. Therefore, more issues are reported that need to be fixed. CMSMS 2.0.1 - Adelaide is the first of those bug fix releases. The bugs fixed in this release are important to almost everybody, they will affect upgrading, modules, templates, and users. Therefore, we encourage you to upgrade your CMSMS 2.0 sites as soon as possible. Some of the issues fixed in this release include - Template, Stylesheet, and Content Locking We fixed numerous page locking issues with respect to different browsers and handling of unloading pages and various things. We also changed the respective template, stylesheet, and content lists to automatically refresh every 30 seconds so that they will show your locks properly. This will help to solve problems with people who keep multiple tabs open. - Smarty Scope Numerous issues with respect to passing Smarty variables from parent templates to child templates were attacked and solved. - The new page selector Issues related to the new page-selector jQuery plugin were resolved. - Editing templates with restricted permissions We solved a few relatively minor issues which occurred when a user had only 'additional-editor' access to a template, but nothing more. - Implement the missing 403 error handler page type. We re-merged some changes from the 1.11.13 release that did not make it into 2.0 with respect to handling 403 (permission denied) errors. - More There are lots of issues that were fixed in this release... you can find more details about them by viewing the changelog that is included with your install after upgrading. You can also see the changelog before upgrading from within the installation assistant. - Installation Assistant The installation assistant also got a few minor tweaks for this release. Most of those tweaks are just related to displaying more useful messages. Supported Versions -------- At this time, the CMSMS Dev team will support general issues in CMSMS 2.0 and CMSMS 2.0.1. CMSMS 1.12.1 will be supported with respect to absolutely critical bugs, and security issues until September 6, 2016. Thanks: -------- We would like to thank all of the people that reported issues to us, and made it easy for us to reproduce and therefore fix the issues. The Dev Team has worked hard to test, re-test and document each and every issue. K-D[BK\K-rx}r;BR2jlZ-tKHٽ~[yq- n_tt{7ۛW7ճ+]鯕7{+AN \|nb|䑛d1xzU! oƷBc^ƾ-X:HnOky| n!Xcʡ9,WCgkv=vW;CF:`* ꜆cL%G8-R#eٛwҿ7!5W'%eӼ0؏ϛ{ѹ Z1͙5zykۿmW]~{D>|d̃F)PGϙGgSŝ"zzۀn+L$R#Ilep'}.H%8i;g|u.Wם]N>}usX1xc t͎^orq2&ukkS  un#c6Rd7Fo\C=MַޓqzHw[ ]i[7%xIq {5 %ʱG̏r${sin_8'2A4 I=76lDK8_Jʵ`r9$5 z|4F> s^]t@rb1A¾6+y5@ 6jBfz pl!\ۇ uc\AL%f?6y};;p B\EaBCðý}zn vYĚc+~I<^PV{5Wc+@F KBD9n?n/7ejjf)'?%^ѓlpm6Z.IM"7`)57O8h4B8fQE>] 4n-؟,'G5sF94@ ;%X#(ٔy_sjq(pol+ Vp`=@̣)%Jݽ'4n hy0h6#9KXq8Oq07^&V}u8t! , 6stôJd+%(3:gKH9t>15ZX6 fo\&FdF ?]m\;-pg/ؠKϏ @"\mL$5Cɍ Nfv6 &gGDsaal MJxj d)wey=hPY:rҦbBLNy=LkY8H6!t:Œ@&=[^0D!%v5N[9y g0c%8̨~!A7>qZR9!R:s fEP7%lɈ7==v5XW| 4|#_sN!Í F Y E<a$pAhZ Ur[3Kp9 Dgүf*ޒ(X9{bW ZDI H|قa=B:H@ υ>?8P"ζ#1Bm'k5QR3aKĐh*l噞mnzǒ+ U8S G=KҁfY#}"؎CW0n–k8lgV9sKP+35 Y96nwt=[7"p\2,&)ԓn,PHK0Bt(Kπ,,|43x4-QC .Y^ɍ҆mCR+$t0G:s ^+^>k'!nWBKϏzGt]<~rA_gXs@":0<)KR{jg7&gRUP% …Pg7X!TsmqH_QZpvonN,v3pWN.p x;)A&oQ ya=—2#!,4' xֻqŴScIi@nAX@g1 ""pǀ+ v@jC`(7|a˭y7П2S }?=}A08 ѩ:c[xx6Wsct].YW^ 0u$=Cy{㜽(=󌮟x(ެWoSXcEk ͘3Fz$pj&LDϥˈH%:9sKJGֵĉ(cS G G:|ٗ鯣GJ14!s ~=1苯wA[lɖAf*%sNOl7''|77_k6e=n(ZL;8LrXn|#0ͬk)#ckkEDրi ^|֫qWjIKT&PX c_嫙^>1ŰiP>\t Mۜϊ?==ݲ&}G Ad'"GxJϭ#<=nF>Bܐ;U&;ٛ6SDD5@N!JG2M3#[4}G7WGވ{꣺0N!g<*F1mY՛gAW۳P5M@(S彷H\o^nR;z2H:*6OHpE{oҕ,:&fp. p%Wz\r 6|$D( E/ j-Ľ}>8`%g-l{B1[^}X@\Z'M 7㚴@5]8!(U’`k׷-|zI8xJQƨã;MX9PoGp`A ađڋ lM fV Yx)VD}#~́ 85f ZwuDkit{%+CJ 5- 3 ã~ E}%e 3=[CqLЁd;4v_2KR:d{:߇'O l6)rz>- ?K&P%&ZKQWڎT!NLrۯ.1[>X ,0]O;[5<1pGĠ *M3&23[ͦXU ܓXn83R%T<8X啅b ұq0Ǡop>;Pܣۜ8M17ɐYL mºX| 7˥i?ǾxGÃVnx aqI u8z8Ql2֬M1s9?ޗ 4Cҧۤ0xƐL3lxx'KzW^h1ݾ>=]+fdRDՏc__rqh$2*CPI ށ+cmEŋ'.wx`ڱ|- V{'3y"?>֮,Ӭ_}DGI7+[oAF4[ҹ, VߏO]ȽӀdi 9׃!p'I}i~b@aؼuSrnO'5D/'Hm5jA6}3讷^=1]Dw&d52^>nӿI猉T,1_K˄ASɷz׫WO||5/ZGY_E%9A|"]}Ĵt ,zWlMzj}Zlx6?>N"}ɰv lNOLEɇ迮^==N"dіjB0 G%sh$r~\v'Fe7LJշOL&e)/uD0kAĴq/AOM*n^ 9hUhZnJ2Z?~vMsL^=tXV`{E@}C)݃3'pp2ހx jG-ɛuH6!J:LqXލ%EZČT 0CZ1`) v"}Y^ OZg5[P y6-0:[c_d ca. 6Tk,v$U^nZ-׎vѻ|(ٔdjɚ\ 3=gfzg[dҒ{*M wO0FTY(IZjH'S{u>HYMe!f1r1.0 pÄw* 1QoD`29vzM]Kce9+L 4#VL,>-_j݂9@?FA]m:w\}zdqey:ei^F^y̝9"X}(YeکѤfq&cwo5#j(ˠUi%2D+sBZj=sgI _),ܺ`x*;)5I6/MC,*Y.]4!NJ> U]_cE%BZKM d~ߦ<|Ǥ< idMeɋ#x_~uuĖ`.k=i꿦-h8Aߛ gu.u&͝$IiPtE0J[zh]dSaT^KRKwЬ/^ID0*H-FKx C^g[&k*a*| aY-k㣁qLt~ i y5+\}d5A(}T|oPw'oNja7Ԯ֓T&W-J\^/uREs6jRg,V$K'Z}EڟiSx_{Z]5$,]n֛o6t3+ICV[fкVp;<^_:/<Cbb do U{7WY#(#7}@Τ@5=5*VbPΒbdӼYFFdUl>|:&$Ri~bR \d.+egI=ϼHWٵ2,BpE2KBvj=sCcӇY6jɦO9kvetcĞ+pڠ}[`Ƞ<>G%s)l̖)ȏN,\5J!jlN~;(:*tP* {Cpa*&꘴2y);'GM=|q$B,tUA -s'XIjY-:pjX:uO V{|M1 8A z+N|_mr*ر$,Dp&l^4:Mio2ڍ!_*X-bJ+޸Doֻ~ER 4%7HyĽlob`mUiu]sWۇUm(ml:}DžnOz֛.sqD/LMQpiFh{}N]9pS}z= D}_g}I^8CD-_?N⸆"k[Ѽ[hl;o-z$Y:RPEtg⊵OlU[}v%}+w`]23֝p v/7Y:a_5xVC倎$ x F$e >Jj-BfC:^88m훅 *q hwēIBҝźt}D` IEMɖP"3+ OPd?M !WMȂ{c~[mO޴=n&>􊺚FÈ4I_(WZDeZԊى sɈ|};eJZYЮ p^uN `t05iu&S<62@ea\AU˙e\Vo7k9׊*ȼklOQ;=}>=G[ N+㔂EM aOPgV=bO`:cvʗNZqxZ>DbOXԭP^<$LkoLz^ C}6s1PTc$DOV[j؍uNþD^ߎ׋ׁ#r|hZH@^=<0Cذ5|zJ'~9 K7t+oy7K,B0 X 8˜ /Njg<Ѓcժ2fl65/zNu/=8 nW9@tZXfN9u!z>xuu!h;AkIlLѶ_vqP+%(qes+lrgR_kKtxGs hMWeP ۥa]Ϧ TZ;Bv˦:﹃md߰W2!ha] !Nz2NҙH+,7V}|<&~#Obiul;{` 6h Mf#\:կN ?6W14MjwFh'Yf.%BKbCx<_ א^{ (kt&-)$\[̟m꛳5R_ګh`Yk܍-~O)0~u &zgD ![mkd|_͟)fgX*yHE;KruR6,? Cme$c&*@:r)H sfݯՂќJ#5_B @a=z#XY]>U='vwcJEs&^8 HTF|)yG7k~Vu¥e P3S-Ҵ@\WRB:m 0%NK4% w]@įGEZ餽OUm`hk\\cx>~8-iK(>3T0܌Z7wiJ>Y 鈃{7|r Dv1j[U-)jwԺ>; ]]W"IL %5"$?á7!56TMr;)l{ M'rUrI+8#R_ym=c>:ZJıT+>?I#/@ri#婜 y:BﮮvfrQk'TZ5Ek%V>^,Kj礡`ptj繸!Z Vb:m8hhxdN(flJ P6HOչf|͟(<>þ8& mU)#L8O LrB`yjjHBG>.V ؈km zc}Gڬ k +Aspvwss[i~n^(cLi A*gw)$=ر %.i]EFSNF n,@hU( 9Ue7Xf<|fZzXeCX5E. H%/R{nwP)} @j7[/-GG%)=>춸+04i{^pT sre#jWkV:5S˹l3e51XHi< nPݥ`я譿'+g-+MvJv?SەEo d86$~I/Ww%`i״O.EdEG,̩1ĨGhS[3iXЈZ@c) {'"/`16۹v N@:= WAuy* mJSBg.E CSO[^MWYf˪,i+0Svŋ㏈\ߪ,]}ۖئew~@ޮ7fl+th2Ik)m&F´~&~}zqM= ht{PT|\P 9xѪ+h\]_A鍆96xܮMۣL)md%460ˆsn$ZcF4p{v=1y+D^)g(?:ZV;+ܰ WpvS'Mnΰkٖ b.$~?L>_+|X@hġvݪNY7mu̹PiAknP&;G ~dÄS-c&Za O, vd<ۏ&Vj=߃lQ3dPdSqAg ̶ d.iX-ߠfs WDAu WD. T}_nkԘiU1[yF&[Py?X@|¥&ҷjzipQDXRTP!|o(4lFdm!bfs r~+urA_ ij֖ڡx}O=kю[!pണ^ӴRmLsB'I6_e%}|*c'}>/=(3/ZPR& RUld wpemlJ@P:;y8͍L9M8S V^[4P&-,c2Kĉw Z 3Kp3pRO[Q[XG| L,coaCCE!qFT|E]Qp(DG@}57bkN:h'"& 2}59jEt/nRnEhE&GIgNs v~L!dնUx?sLU5xX_R@ nWyOJj d P;y \6Dƪ P-`9uMDPx!?Ic/KZG'+^eK-C[8 >'teD0c|Ekq굄EjeYuPs*$QZ&n+L[z]G]Ev׺ȣ("h귨ǧKDF$=ᲫZ:ƃźQi9Վ4n Gnٯ`V\kYM7?x˯kʠZӵB ȱPE3/_[ūv(ć|llVsZN/U&w֥javy~2H,-|8~)W_~ev@cn^Bz7ۛzpZqOMj/- ~=P٬7x}]?߆ |zV34frZVZ` smmDf${ܦKHՋr5`^ pQv>8PmXGh2q4@ >,AޤvDW߿[ϗGoȊIZ*VYԍKy}MhߗD+0]^n׿<305' έcpqd]/}]rXu`{V1LQ@SRt_X*pSqWjЄI4zޏ˟ޠ.^ͰzKŶ 2BO7 X7~8,?@P"7W[^,QCqi@p<MA!V.( /)^$^MجO}'yӛy纖yX%0 4>>/^~CZSz2&>2B.?>v?~f̴m!d0*a~۟\~J`,(W:)kw|l #n K@+LkK#$qrNZp P-ڹdHy Jܵa zJ+|79Hii݉b4C-V<EU`1ҁXy2vxVɘ^5I5f<˕p7OiVH2» \&O*ڇmN.ˇj 5EKg=JASaez`'N˘b1*ŧܤ^meHєSz^H0`n"(j:HfֱR4QS ѡfɸ*2@@|E羧 +hHjJΦH6"C=%fka-Vv輦ʧm d4 6†PGNDNצ)TZ 7pJ%x=Jݜ?z񔻷4I MxݴcK T 4?j/~Ǚ.~vp)-SK%-r2 ~+;Pt J&]N}X̥ Lc\A.[&4m}O'@nt36){TLlN}쳍l  )s'/Dne袜zs4pH@ZD#Վ\QvhLKw;Q]˩ C>7{on) گ%L*#f` ާV ~O',1e'_b*"O!d lmn,%7M9 Z?۶js\#yJvk:knW>-vq6'X8uatZ'^vF5W@ 6P7 dIiblV9[[ Pkt\Lz`꧗FRl%Mw6z&>>?YtBMCӍtl .v? JoI{丒ŎUNP(roiLW0T>s]}u=ꞻL]F$iS*3,+OX_W^5[U[^m7P|6/_.TW#C%64}s^?]JAY%-ppOX۫o @>kQb|T7QEجW/g:I5靴^Oޭi^`%:X2}X! ~9M5ϗ4Fa6gpeaYj2hk$pf ^s0SLRtT11cf!*_`1 \}'._)/gkK.#.NҡñDP0Eav`1ȝ.S3xNI_ja$ѼKx4qjNEY ؤ}"uz*67lһ*dʨ^KPU%TѧGqq(#vAE{:/s<{aLi >:oab~AW ٧5Mh GDudRq2)9ϏxucktˍOh3݃ F' NԳ+5Nhd*@Po )|9.jKw8-Z1ͬgSx>bЭ>(+%2X&Al-j=1Q8BRn1͔@}|29zpR67VSSӉMN=%"]3~y)pٹQSRE#ݶ`)yĮ-,4/g:ň=TM>\ifPUhP+ O-tlcrX'AE#ͺb5;9@ЦuЋf=Yƹ$cKyz3u v!: oVz?]xPfЀ'Gc#m=) }B` <h .[%-Z6%זj;>#wIe b2ksV`%)2zHj{uч AHaL5-$PR?r|_M./^ [hݡjŞ>N@"Gw]-i6(3KhII T5b·6#faA$p3lzպNDzM6ǽzRm6ȻK@ĽLևEz:l5㴋RA@K#\^ RI\6p.(>=pɷF-iOp5 =T#3:̅#|AicCd;kKF Y&:|B7@zvт,.J|٪mShP)ݰ'(Q8{iT|^6oYۂww0.G2PAzT𭗍t B@E/]C a3Zԑ1tP-Ps!JKGYڠ<>Xc}/V4_|YI+{.Pf}ԾU6qu\6f,68P^: \/!LE{cpVJ }= cezGOjnV궒Ew4!$'F A{ Zw շzα$@)([AR{ȃ'Bl+Y,D :}S=L:u_#w>ڲm(Y8:(^z а 딀uKeGFU0!zk# TzB_0 :(WaBȔ4@,֮& w}WJoe+LJWO-5F)be,x,ƑQnE'j\w>XMKNs|aiZOK0B+_B⑵\aYRU7oMhBׇf !6%iA/״Z,G7_4V:`:6mg;K^ePLG3KP9W/<i(K;Xg=+7.ӂ/g^fj;-ʡyǦ /ܟ%fWF"(]ɕ{k7@3 Ipӹ5حymڅgKg%KT#'i$SzBBN=>6zRGt"JL2"`~˅:7֦KR *v ]g;V @v$8*o*_xej8˵X`QcDf{˔#a<\[En+O:iRTsGXZRi4sJڡ1pVOz!?ΰuDĴ <`ȵDZ[/ f3ֺ%h99KϮ4bct!r<ϽF`m`!tPsY%quߔ8#+0Rm4%Ե猵jĿȩܪ>P-s9#s0`MA4h[(&Zwl*74zgA1#"hL`aOX9p3ׯH}΋s{F QN 6ًyLk[AEcJ|O5sLg w(DK^Rq22 &wtLU_f~;:Ѧõh%Nb-057@˟=Nnf.)d`Ea9gTuGm66`C%5iPg SY6o0@Ϟ^i`?8xg{y(^rm)gӘu )_6IfEVP6a!2`Gq?{?OKfP.,=@ ]kod7rG ߏ$`P$kI4:>4^Fnۼd9dU|mgݖlGn_=T`oXRj]\;<><~~Jѓtҫˬm2mllo_3_P͊]-Ci\/wϧ:f >,va}K{toNnqfL dul!gFۀ)M(j 01۟)||(8Y~:nHvd@)ifk#~gr@}y1]6cy!gV\)`Y$6Oeʢ؊Z\`r>,i"x-""A&].;csP A]뙌*Y4x1)÷CVwBW5f ^u*BY8%2;6{3{y904du (Hy1&o!>G i{]a: kWm_gǬrpX *: }x;2a:UO@R`%$8duoRsl3aqxUj]F3٥e7ᤪgw#+Yș<8'\t  ѕǙ;~y c>/"vy۾Ux$⍧ ˖} 1ß8&U-V3籕IW~dق>)Q7PWG 6fy k &u3# @3ʒbXBvWy5^++2O|뎭"U^Tz|سn05G10$s%S%b^YL 4TB<6[(?5] fXn0":aQV&;Qe lس~bFnL,`pat^+' xCK \2b$ٜfUɿt p[ PlB3#wUkm1?7@kن_2͠P4 ./X.~R?>v[# ,ܢ `6T&;4}{w{'^UMqրG|e%)JSc}k&PVs@\lJ_fß~t_oï3'1N=H{et ֙ܝy>ܿX$Oc6qϰn#esv3SA5rGp^|p1eߝkFD'" : b)ytO$ cb#ڰc$3΀vxe$hIİ7lp.{[5z۱b bwy郏?>2?xwK:`^Yb޶^gRɾuʫemEPl, cg^sLYC 5~tY]V{T?/ ^OeQRX^KfmeT-*Xm<-hS(FeeQ bQGٽ\)'5p d^vMYVT0s!aو(tMqt5β'PVft;F٭+mLkҿ |-?Be,+J&5}(- ةIuВzrcv,d|-P ^GuIق1d̎]QAb&^ޖ@(j&搌!r ^uO\gW#F纒k̂9.T5)iDR&k2?}lX>Xi0Lq8*t[v l{*ewk.#iT׶Tz̩Q\;aQJ)vp{~m{XyaՅ:bdn3OCӹ/ T)Q)c%^noV=29o{Y IFXpv<#;m1{{o"M!OF7l ٝL#[g[<܂/὜{O6[,ӎLjg}Lec+:cxȼi~mקucZЭMmj>kK mACEg:iKkͨNs*u 7>+KU|L;3*/lsU* `Whuzm+AUba gI_ͶzʋmJX^%Lʬ18ǻ n+6_[&ˮ7~,Ȅ}@;`w[A/88O/XaUK\A V[jXn4=\a5 `9[- ƚ#vWŕQLu3 [HJwp @wR³j9 60vLb]L v}J `[Xh~W29`@R$a}b 6ʑ}t9An:V"lFӏ~cK>6Y(J?k#m)`JӉ(:euհeCT0㌠,daqn-y^YgΆ4mx.&RMMSGR9,YZ5m Zҏ싥6F(j8bqR;Zl 5#VhE^zd`(Ͷ&?#gJF, L ǔJ e[LBEH\&/e:RE0HjShVO$2x(!eMmlS{d-52>ƯE2AH0 Ƀ' V4+H$?)n<&sh_,e227!Y)aaD'v:=u0ԫ:Hr,20~4 5IJqZ$^{T$ T穝3{4#OGU\yѐω ,rW9'Pci}Ś/5-Y9A"Y^Ry?}"Y`Rء{")2:  ggf%R5ִ@CSke.V6ITz/ׇ|B j|Wx# dn[w|5K_xKUYW(ݨXG[jZH9Y XFpyaŞ7Va3VS 0;&jke(Dymgcxx9굦4 5%DVml;N^)9-b) j(vTឍrɺq4po^t_IIVK)Oaj]5ب",͂93>Yj*Lcgq{5Y}|v6ͫ kL("sFz7пY3kAw1j,WTs>0ہ<)WXjؼ,{akh,IY,X~dPZ7Gs8>6{7uvaV5nSKf|01EnyvA 8අ4xTX2.B3ƛ˽b 'ySY&x>etD|أ?zaH_nxwM~ӫ6耚[k%tv+-Uw~۝l_NJED]]{oK^~{;`cl_4ky9NB{$_oeoc]?j?% @bo6<|EL;- &i#x)6lo=\&Sof}\c6_>a5" |G 5yO\+`_CMS Made Simple Version 2.0 --------------------------- NOTE: This is a major upgrade and a significant amount of code has changed in this version. NOTE: Many sites will not upgrade cleanly. You may need to spend some time resolving various errors. NOTE: The CMSMS Forum at https://forum.cmsmadesimple.org is an important resource to help you in determining how to solve problems prior to and after upgrading your site. ---------------- BEFORE UPGRADING ---------------- Before upgrading major versions such as this, please ensure that you: A: check all of your modules for compatibility with CMSMS 2.0 before upgrading. B: Ensure you have upgraded all modules to their latest available version, as this should help ensure that your modules are compatible with CMSMS 2.0 C: Ensure that you have a verified backup of all of your files and the database before upgrading so that you can restore in case of an error. D: Completely read the announcements, release notes, and any documentation (including the README files distributed with the installation) before proceeding. --------------- UPGRADE ISSUES: --------------- A: Smarty variable scope issues -- Description: CMSMS has updated the Smarty template engine. Smarty variables created in one template are no longer automatically available throughout the generation of the page. You must explicitly copy those variables into another scope using the {assign} smarty plugin, it's shortcut or the new {share_data} plugin. Symptoms: After upgrading the site you may see one or more notices, warnings, or fatal errors about 'undefined index variablename'. and other related messages. Solution: You need to find the location where the 'undefined' variable was created and copy it to a global scope. Using the AdminSearch mechanism is a good way to find instances where these variables are used and/or created. Once you find the template that the variable was created in, you can alter the template to copy the variable into the global scope for use by other templates. One way to do this is via the {assign} smarty plugin (or it's short form). i.e: {assign var=foo value=$foo scope=global}. Another way is to use the {share_data} plugin that was created for CMSMS 2.0. i.e: {share_data vars='title,description,foo'} B: Smarty security issues -- Description: CMSMS has enabled the built in smarty security mechanism to prevent editors, or content submitters from entering potentially unsafe smarty code. Symptom: You will see the 'Oops' error page with a message like: access to **something** not allowed by security setting Solution: You can enable permissive smarty by adding $config['permissive_smarty'] = 1; into your config.php file. Warning: We do not recommend the use of permissive smarty on websites that allow submission of content by untrusted users. i.e: if you are using a module such as CGFeedback or AComments, or allowing news or blog article submission, or uploads by untrusted users, you should not use this setting. C: Sites that use multiple templates of the same name will have difficulties. -- Description: If for example your page template is called 'MySite' and your MenuManager template is also entitled 'MySite', then there will be difficulty with the upgrade to CMSMS 2.0. This is because the Design manager module (new for 2.0) treats all templates alike, and therefore requires that each template has a unique name. The upgrade process will ensure that all templates will have a unique name, however it WILL NOT touch your templates. Therefore if you did not correct this situation before the upgrade you may encounter errors. Symptoms: If you get a white screen immediately after upgrade, that takes quite a while (up to your PHP time limit) to complete. And/or you get errors like stack overflow" or "timeout" or "insufficient php memory" this may be the cause. Solution: Go into the design manager and find the new name for your child template (i.e: News, MenuManager, or some template from a third party module) and change the appropriate call in your page template. i.e: If You call {menu template='MySite'} in your page template, you will need to alter that call to specify the new template name. D: invalid characters in the template or stylesheet names. -- Description: Previous versions of CMSMS did not have tight controls on the characters that could be used in template and stylesheet names, GCB's, UDT's, etc. This presented numerous difficulties over time. In CMSMS 2.0 we have tightened the range of characters that can be used. Typically these are alphanumeric characters, spaces the comma, dot, dash, and colon (:). And some UTF-8 characters, but nothing that is not URL safe. The CMSMS installation assistant will clean item names (templates, designs, collections, stylesheets) on upgrade, and this result in errors on your site. The errors may be something like 'template not found: cms_template:foo'. You can resolve these errors by making the appropriate changes in your templates. The AdminSearch utility may be useful in finding the places where changes are needed. E: Database stylesheets whose name ends in .css will be renamed -- Description: The extension .css is reserved for future file based CSS functionality. Therefore any database stylesheets ending in .css will be renamed. Symptoms: You may either see the 'Oops' error page, or you may have a styling problem. This is because the upgrade may have renamed your stylesheets. If you are referring to stylesheets by name you may see an error message. Solution: Find the new name of the stylesheet from within the Design Manager and adjust your page templates accordingly. The AdminSearch module may be of assistance here. F: Database templates whose name ends in .tpl will be renamed -- Description: The extension .tpl is reserved for file based template functionality (useful in modules). Therefore any database templates ending in .tpl will be renmed. Symptoms: You see the 'Oops' error page with a message like: Unable to load template cms_template 'something' Solution: Find the new name of the stylesheet from within the Design Manager, and adjust your page templates accordingly. The AdminSearch module may be of assistance here. G: Third party plugins in the lib/smarty directory -- Description: Third party plugins that were manually installed into the lib/smarty/libs/plugins directory will be deleted on upgrade. Symptoms: You see the 'Oops' error page with a message like: Syntax error in template "tpl_body:7" on line 67 " {invalid_plugin} unknown tag "invalid_plugin" Solution: Copy the plugin file from your backup to the /plugins directory H: Old plugins may not function -- Description: Some plugins that were formerly part of the core, or have been deprecated, and may no longer function. i.e: some plugins like {toggle_open} and {toggle_close} Symptoms: You see the 'Oops' error page with a message like: Syntax error in template "tpl_body:7" on line 67 " {invalid_plugin} unknown tag "invalid_plugin" Solution: Comment out the plugin call from within your template using {* and *} ... or replace the plugin with a different one. Note: Plugins that ended in the name 'close' will not function in CMSMS 2.0. i.e: {toggle_close}. I: Module use of CMSMailer -- Description: Some modules or plugins may use the CMSMailer module to send email messages, without explicitly declaring a dependency (modules). The functionality for sending emails has been internalized into the CMSMS API's, and the CMSMailer module is usually not installed by default on an upgrade. Symptoms: Various symptoms.... fatal errors or warnings related to sending emails, or accessing a property of a non object in functionality that sends mail. Solution: From within the ModuleManager module, install the CMSMailer module. ---------------- WHAT HAS CHANGED ---------------- Note: This is only a brief list of the major items that changed in CMSMS 2.0. For more information you are encouraged to view the CMSMS docs site at https://docs.cmsmadesimple.org and the forum at https://forum.cmsmadesimple.org 1. New Smarty - Introduces variable scopes - Introduces the smarty security policy 2. New Template, Stylesheet and Design paradigm - GCB's are now Generic templates. There is no WYSIWYG functionality on generic templates. - All templates must be uniquely named - All stylesheets must be uniquely named - MenuManager, Navigator, Search, and News converted to use new paradigm 3. New Content Manager module - Pagination, Filtering and Find - Now handles many more content pages - Locking to prevent accidental overwrites 4. New Design Manager module - Handles Designs, Templates, Stylesheets, and Categories - Locking to prevent accidental overwrites - Has import and export functionality - Makes module development easier as module authors do not need to manage templates. 5. New AdminSearch module - Allows searching through page content, templates, and stylesheets for various strings 6. New Navigator Module - Allows building navigations recursively, is faster, and supports more flexibility. - Templates are much easier to understand 7. Enhanced and improved ModuleManager module - See stale, new, and old modules at a glance - Easier to use 8. Performance enhancements - Throughout the core with a focus on speed improvements for frontend rendering. 9. Removed CMSPrinting - A UDT is used as a stub to prevent errors from this. But there is no printing module distributed in the core. 10. Removed old, seldom used plugins 11. Improved admin theme and API 12. Improved admin navigation 13. Internalize CMSMailer - CMSMailer classes are now in the core API. CMSMailer functionality is only a stub function for compatibility for those modules that need it. 14. UTF-8 URL Slugs - Just like domain names can have utf-8 characters, URL slugs in CMSMS can now contain utf-8 characters. 15. API Changes - API Changes will break some modules. Check for compatibility before upgrading. 16. More config options more.... - Almost everything has been adjusted in some way. 'TYPE=MyISAM'); verbose_msg('updating structure of content tabless'); $sqlarray = $dbdict->DropColumnSQL(CMS_DB_PREFIX.'content',array('collaapsed','markup')); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->AlterColumnSQL(CMS_DB_PREFIX.'content_props', 'content X2'); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_content_by_modified', CMS_DB_PREFIX."content", 'modified_date'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('add index to the module plugins table'); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_smp_module', CMS_DB_PREFIX."module_smarty_plugins", 'module'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('updating structure of the permissions table'); $sqlarray = $dbdict->AddColumnSQL(CMS_DB_PREFIX.'permissions','permission_source C(255)'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('add index to user groups table'); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_ug_keys', CMS_DB_PREFIX.'user_groups ','group_id, user_id',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('deleting old events'); $tmp = array('AddGlobalContentPre','AddGlobalContentPost','EditGlobalContentPre','EditGlobalContentPost', 'DeleteGlobalContentPre','DeleteGlobalContentPost','GlobalContentPreCompile','GlobalContentPostCompile', 'ContentStylesheet'); $query = 'DELETE FROM '.CMS_DB_PREFIX.'events WHERE originator = \'Core\' AND event_name IN ('.implode(',',$tmp).')'; $return = $db->Execute($query); // create new events verbose_msg('creating new events'); Events::CreateEvent('Core','AddTemplateTypePre'); Events::CreateEvent('Core','AddTemplateTypePost'); Events::CreateEvent('Core','EditTemplateTypePre'); Events::CreateEvent('Core','EditTemplateTypePost'); Events::CreateEvent('Core','DeleteTemplateTypePre'); Events::CreateEvent('Core','DeleteTemplateTypePost'); Events::CreateEvent('Core','AddDesignPre'); Events::CreateEvent('Core','AddDesignPost'); Events::CreateEvent('Core','EditDesignPre'); Events::CreateEvent('Core','EditDesignPost'); Events::CreateEvent('Core','DeleteDesignPre'); Events::CreateEvent('Core','DeleteDesignPost'); // create new tables verbose_msg('create table '.CmsLayoutTemplateType::TABLENAME); $flds = " id I KEY AUTO, originator C(50) NOTNULL, name C(100) NOTNULL, has_dflt I1, dflt_contents X2, description X, lang_cb C(255), dflt_content_cb C(255), requires_contentblocks I1, owner I, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_type_1', CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME, 'originator,name', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutTemplateCategory::TABLENAME); $flds = " id I KEY AUTO, name C(100) NOTNULL, description X, item_order X, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_cat_1', CMS_DB_PREFIX.CmsLayoutTemplateCategory::TABLENAME, 'name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutTemplate::TABLENAME); $flds = " id I KEY AUTO, name C(100) NOTNULL, content X2, description X, type_id I NOTNULL, type_dflt I1, category_id I, owner_id I NOTNULL, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_1', CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, 'name',array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_tpl_2', CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME, 'type_id,type_dflt'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutStylesheet::TABLENAME); $flds = " id I KEY AUTO, name C(100) NOTNULL, content X2, description X, media_type C(255), media_query X, created I, modified I"; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_css_1',CMS_DB_PREFIX.CmsLayoutStylesheet::TABLENAME, 'name', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutTemplate::ADDUSERSTABLE); $flds = " tpl_id I KEY, user_id I KEY "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutTemplate::ADDUSERSTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutCollection::TABLENAME); $flds = " id I KEY AUTO, name C(100) NOTNULL, description X, dflt I1, created I, modified I "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'idx_layout_dsn_1',CMS_DB_PREFIX.CmsLayoutCollection::TABLENAME, 'name', array('unique')); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutCollection::TPLTABLE); $flds = " design_id I KEY NOTNULL, tpl_id I KEY NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_dsnassoc1', CMS_DB_PREFIX.CmsLayoutCollection::TPLTABLE, 'tpl_id'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLayoutCollection::CSSTABLE); $flds = " design_id I KEY NOTNULL, css_id I KEY NOTNULL, item_order I NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLayoutCollection::CSSTABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('create table '.CmsLock::LOCK_TABLE); $flds = " id I AUTO KEY NOTNULL, type C(20) NOTNULL, oid I NOTNULL, uid I NOTNULL, created I NOTNULL, modified I NOTNULL, lifetime I NOTNULL, expires I NOTNULL "; $sqlarray = $dbdict->CreateTableSQL(CMS_DB_PREFIX.CmsLock::LOCK_TABLE, $flds, $taboptarray); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks1', CMS_DB_PREFIX."locks", 'type,oid', array('UNIQUE')); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks2', CMS_DB_PREFIX."locks", 'expires'); $return = $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->CreateIndexSQL(CMS_DB_PREFIX.'index_locks3', CMS_DB_PREFIX."locks", 'uid'); $return = $dbdict->ExecuteSQLArray($sqlarray); // create initial types. $page_template_type = $gcb_template_type = null; for( $tries = 0; $tries < 2; $tries++ ) { try { $page_template_type = CmsLayoutTemplateType::load(CmsLayoutTemplateType::CORE.'::page'); $gcb_template_type = CmsLayoutTemplateType::load(CmsLayoutTemplateType::CORE.'::generic'); break; } catch( \CmsDataNotFoundException $e ) { // we insert the records manually... because later versions of the template type // add different columns... and the save() method won't work. verbose_msg('create initial template types'); $contents = \CmsTemplateResource::reset_page_type_defaults(); $sql = 'INSERT INTO '.CMS_DB_PREFIX.\CmsLayoutTemplateType::TABLENAME.' (originator,name,has_dflt,dflt_contents,description, lang_cb, dflt_content_cb, requires_contentblocks, owner, created, modified) VALUES (?,?,?,?,?,?,?,?,?,UNIX_TIMESTAMP(),UNIX_TIMESTAMP())'; $dbr = $db->Execute( $sql, [ \CmsLayoutTemplateType::CORE, 'page', TRUE, $contents, null, serialize('CmsTemplateResource::page_type_lang_callback'),serialize('CmsTemplateResource::reset_page_type_default'), TRUE, null ] ); $contents = null; $dbr = $db->Execute( $sql, [ \CmsLayoutTemplateType::CORE, 'generic', FALSE, null, null, serialize('CmsTemplateResource::generic_type_lang_callback'), null, FALSE, null ] ); } } // tries /* // if we got here.... the type does not exist. $page_template_type = new CmsLayoutTemplateType(); $page_template_type->set_originator(CmsLayoutTemplateType::CORE); $page_template_type->set_name('page'); $page_template_type->set_dflt_flag(TRUE); $page_template_type->set_lang_callback('CmsTemplateResource::page_type_lang_callback'); $page_template_type->set_content_callback('CmsTemplateResource::reset_page_type_defaults'); $page_template_type->reset_content_to_factory(); $page_template_type->set_content_block_flag(TRUE); $page_template_type->save(); $gcb_template_type = new CmsLayoutTemplateType(); $gcb_template_type->set_originator(CmsLayoutTemplateType::CORE); $gcb_template_type->set_name('generic'); $gcb_template_type->set_lang_callback('CmsTemplateResource::generic_type_lang_callback'); $gcb_template_type->save(); */ if( !is_object($page_template_type) || !is_object($gcb_template_type) ) { error_msg('The page template type and/or GCB template type could not be found or created'); throw new \LogicException('This is bad'); } $_fix_name = function($str) { if( CmsAdminUtils::is_valid_itemname($str) ) return $str; $orig = $str; $str = trim($str); if( !CmsAdminUtils::is_valid_itemname($str[0]) ) $str[0] = '_'; for( $i = 1; $i < strlen($str); $i++ ) { if( !CmsAdminUtils::is_valid_itemname($str[$i]) ) $str[$i] = '_'; } for( $i = 0; $i < 5; $i++ ) { $in = $str; $str = str_replace('__','_',$str); if( $in == $str ) break; } if( $str == '_' ) throw new \Exception('Invalid name '.$orig.' and cannot be corrected'); return $str; }; $_fix_css_name = function($str) { // stylesheet names cannot end with .css and must be unique if( !endswith($str,'.css') && CmsAdminUtils::is_valid_itemname($str) ) return $str; $orig = $str; $str = trim($str); if( !CmsAdminUtils::is_valid_itemname($str[0]) ) $str[0] = '_'; for( $i = 1; $i < strlen($str); $i++ ) { if( !CmsAdminUtils::is_valid_itemname($str[$i]) ) $str[$i] = '_'; } for( $i = 0; $i < 5; $i++ ) { $in = $str; $str = str_replace('__','_',$str); if( $in == $str ) break; } if( $str == '_' ) throw new \Exception('Invalid name '.$orig.' and cannot be corrected'); return $str; }; $fix_template_name = function($in) use (&$db,&$_fix_name) { // template names have to be unique and cannot end with .tpl if( endswith($in,'.tpl') ) $in = substr($in,0,-4); $in = $_fix_name($in); $name = CmsLayoutTemplate::generate_unique_name($in); if( $name != $in ) { error_msg('Template named '.$in.' conflicted with an existing template, new name is '.$name); } return $name; }; // read gcb's and convert them to templates. // note: we directly write the the CmsLayoutTemplate table instead of using the CmsLayoutTemplate API because // the database structure changed between 2.0 and 2.1 (listable column) and the CmsLayoutTemplate class relies on a listable colum which may // not yet exist. verbose_msg('convert global content blocks to generic templates'); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'htmlblobs'; $sql2 = 'INSERT INTO '.CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME.' (name,content,description,type_id,type_dflt,owner_id,created,modified) VALUES (?,?,?,?,0,?,UNIX_TIMESTAMP(),UNIX_TIMESTAMP())'; $gcblist = null; $tmp = $db->GetArray($query); if( is_array($tmp) && count($tmp) ) { // for each gcb, come up wit a new name and if the new name does not exist in the database, create a new template by that name. foreach( $tmp as $gcb ) { $new_name = $fix_template_name($gcb['htmlblob_name']); try { $template = CmsLayoutTemplate::load($new_name); // nothing here, template with this name exists. } catch( \CmsDataNotFoundException $e ) { $db->Execute($sql2,array($new_name,$gcb['html'],$gcb['description'],$gcb_template_type->get_id(),$gcb['owner'])); $gcb['template_id'] = $db->Insert_ID(); $gcblist[$gcb['htmlblob_id']] = $gcb; } } if( count($gcblist) ) { // process all of the additional owners, and sort them into an array of uids, one array for each gcb. $query = 'SELECT * FROM '.CMS_DB_PREFIX.'additional_htmlblob_users'; $tmp = $db->GetArray($query); if( is_array($tmp) && count($tmp) ) { $users = array(); foreach( $tmp as $row ) { $htmlblob_id = $row['htmlblob_id']; $uid = (int)$row['user_id']; if( $uid < 1 ) continue; if( !isset($gcblist[$htmlblob_id]) ) continue; if( $uid == $gcblist[$htmlblob_id]['owner'] ) continue; if( !isset($users[$htmlblob_id]) ) $users[$htmlblob_id] = array(); $users[$htmlblob_id][] = (int)$row['user_id']; } } // now insert the additional editors directly into the database $sql3 = 'INSERT INTO '.CMS_DB_PREFIX.CmsLayoutTemplate::ADDUSERSTABLE.' (tpl_id, user_id) VALUES (?,?)'; foreach( $gcblist as $htmlblob_id => $gcb ) { if( !isset($users[$htmlblob_id]) ) continue; foreach( $users[$htmlblob_id] as $add_uid ) { $db->Execute($sql3,array($gcb['template_id'],$add_uid)); } } } } unset($gcblist,$tmp); verbose_msg('dropping gcb related tables...'); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'additional_htmlblob_users_seq'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'additional_htmlblob_users'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'htmlblobs_seq'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'htmlblobs'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('converting stylesheets'); $query = 'SELECT * FROM '.CMS_DB_PREFIX.'css'; $tmp = $db->GetArray($query); if( is_array($tmp) && count($tmp) ) { $css_list = array(); foreach( $tmp as $row ) { $new_name = $_fix_css_name($row['css_name']); if( $new_name != $row['css_name']) verbose_msg("Rename stylesheet ".$row['css_name']." to $new_name"); try { $tmp = CmsLayoutStylesheet::load($new_name); } catch( \CmsLogicException $e ) { $css_id = $row['css_id']; $stylesheet = new CmsLayoutStylesheet(); $stylesheet->set_name($new_name); $stylesheet->set_content($row['css_text']); $stylesheet->set_description('CMSMS Upgraded on '.$db->DbTimeStamp(time())); $stylesheet->set_media_types($row['media_type']); $stylesheet->set_media_query($row['media_query']); $stylesheet->save(); $row['css_obj'] = $stylesheet; $csslist[$row['css_id']] = $row; } } } unset($tmp); verbose_msg('converting page templates'); // todo: handle stylesheets that are orphaned @ini_set('display_errors',1); @error_reporting(E_ALL); $tpl_query = 'SELECT * FROM '.CMS_DB_PREFIX.'templates'; $tpl_insert_query = 'INSERT INTO '.CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME.' (name,content,description,type_id,type_dflt,owner_id,created,modified) VALUES (?,?,?,?,?,?,UNIX_TIMESTAMP(),UNIX_TIMESTAMP())'; $css_assoc_query = 'SELECT * FROM '.CMS_DB_PREFIX.'css_assoc WHERE assoc_to_id = ? ORDER BY assoc_order ASC'; $tmp = $db->GetArray($tpl_query); $template_list = array(); if( is_array($tmp) && count($tmp) ) { foreach( $tmp as $row ) { $row['template_name'] = $fix_template_name($row['template_name']); $is_default = (int) $row['default_template']; // create the design (one design per page template) $tpl_id = $row['template_id']; $design = new CmsLayoutCollection(); $design->set_name($row['template_name']); $design->set_description('CMSMS Upgraded on '.$db->DbTimeStamp(time())); $design->set_default($is_default); $design->save(); // the design will now have an id. verbose_msg('created design '.$design->get_name()); // create the template $db->Execute($tpl_insert_query,array($row['template_name'],$row['template_content'],'',$page_template_type->get_id(), $is_default,1)); $new_tpl_id = $db->Insert_ID(); $design->add_template($new_tpl_id); $design->save(); // save the design again. $row['new_tpl_id'] = $new_tpl_id; $row['new_design_id'] = $design->get_id(); $template_list[$tpl_id] = $row; verbose_msg('created template '.$row['template_name']); // get stylesheet(s) attached to this template // and associate them with the design. $associations = $db->GetArray($css_assoc_query,array($row['template_id'])); if( is_array($associations) && count($associations) ) { foreach( $associations as $assoc ) { $css_id = $assoc['assoc_css_id']; if( !isset($csslist[$css_id]) ) continue; $design->add_stylesheet($csslist[$css_id]['css_obj']); } verbose_msg('associated '.count($associations).' stylesheets with the design'); $design->save(); } } } unset($tmp); verbose_msg('adjusting pages'); $query = 'SELECT content_id,template_id,content_alias FROM '.CMS_DB_PREFIX.'content WHERE template_id > 0'; $uquery = 'UPDATE '.CMS_DB_PREFIX.'content SET template_id = ? WHERE content_id = ?'; $iquery = 'INSERT INTO '.CMS_DB_PREFIX.'content_props (content_id,type,prop_name,content,create_date,modified_date) VALUES (?,?,?,?,NOW(),NOW())'; $content_rows = $db->GetArray($query); $contentops = ContentOperations::get_instance(); if( is_array($content_rows) && count($content_rows) ) { foreach( $content_rows as $row ) { if( $row['template_id'] < 1 ) continue; $content_id = $row['content_id']; $tpl_id = (int) $row['template_id']; if( !isset($template_list[$tpl_id]) ) { error_msg('ERROR: The page '.$row['content_alias'].' Refers to a template with id '.$tpl_id.' That was not found in the database'); continue; } $tpl_row = $template_list[$tpl_id]; if( !isset($tpl_row['new_tpl_id']) ) { error_msg("could not find map to new template for template $tpl_id on page $content_id"); continue; } // because we create a new design on upgrade for each page template thre can be only one design $design_id = $tpl_row['new_design_id']; $tpl_id = $tpl_row['new_tpl_id']; $db->Execute($uquery,array($tpl_id,$content_id)); $db->Execute($iquery,array($content_id,'string','design_id',$design_id)); verbose_msg('adjusted page '.$row['content_alias']); } } verbose_msg('dropping old template tables'); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'templates'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'templates_seq'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'css_assoc'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'css'); $dbdict->ExecuteSQLArray($sqlarray); $sqlarray = $dbdict->DropTableSQL(CMS_DB_PREFIX.'css_seq'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('uninstalling theme manager'); $modops = ModuleOperations::get_instance(); $modops->UninstallModule('ThemeManager'); verbose_msg('upgrading cms_groups table'); $sqlarray = $dbdict->AddColumnSQL('`'.CMS_DB_PREFIX.'groups`','group_desc C(255)'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('Remove the CMSPrinting module from the database'); $query = 'DELETE FROM '.CMS_DB_PREFIX.'modules WHERE module_name = ?'; $db->Execute($query,array('CMSPrinting')); verbose_msg('Creating print UDT'); $txt = <<'; EOT; UserTagOperations::get_instance()->SetUserTag('print',$txt,'Stub function to replace the print plugin'); $sql = 'SELECT username FROM '.CMS_DB_PREFIX.'users WHERE user_id = 1'; $un = $db->GetOne($sql); if( $un ) { // make sure that if we have a user with id=1 that this user is in the admin (gid=1) group // as 2.0 now does not magically check uid's just gid's for admin access. try { $sql = 'INSERT INTO '.CMS_DB_PREFIX.'user_groups (group_id,user_id) VALUES (1,1)'; $db->Execute($sql); } catch( \Exception $e ) { // this can throw an exception, if the user is already in this group... let it. } } verbose_msg(ilang('reset_user_settings')); $query = 'DELETE FROM '.CMS_DB_PREFIX.'userprefs WHERE preference = ?'; $db->Execute($query,array('admintheme')); $db->Execute($query,array('collapse')); $db->Execute($query,array('wysiwyg')); verbose_msg(ilang('reset_site_preferences')); $query = 'DELETE FROM '.CMS_DB_PREFIX.'WHERE sitepref_name = ?'; $db->Execute($query,array('logintheme')); verbose_msg(ilang('queue_for_upgrade','CMSMailer')); \ModuleOperations::get_instance()->QueueForInstall('CMSMailer'); verbose_msg(ilang('upgrading_schema',200)); $query = 'UPDATE '.CMS_DB_PREFIX.'version SET version = 200'; $db->Execute($query); status_msg('done upgrades for 2.0'); ?> W]SbI }_/wo2S5j+N'rqwvAsOp~rep1~r=8;K\t~y=7[.Nǽ_/_\W_v:w?O\|{)Z[aZd=VMrxTh]>wCny棿yޟ6}iaQMB*E0Li}mJ?.g-ê]aud RJA$DZ9G4RSqwb(ibhB[UV۔|_\l"XJ%U5>4U4q>T a4isGb M>Rưy?mc''7G<q J;P+-E #o"-ӯXav?ڑ%I%QOZCMXo;Z!7i_q˼xטR R\K9ox\;4sS4R5UvZt(76Z ۡhE~%Rj=8 !~bpUbi5KYJc6ZJBMAD/m@>m6a^6$zI~?_ VJkZgB٨9j"BNlsRm"ζ0jMjbQ9Uٽ[q65-Ȇ2aCѽJ}ɦ;O DM*8 j2g@/Ӡ0CߵĚ\4c DjpY|tE;8WBrV;à}ǂcxSfTi_ˌig&\y[mUF.U!uE`:hlÉdSz.9PJMe3Usj3Ykc1kd<>|4D;rFqUbK`3^uRͧZ@U Fq9IRaG9Dc0_$kca-ldYʪ4n`8K?(~fST΃fD0Ui8_{E{m C|e,E9j^v Version 2.1.1 - Nicholls Town ---------------------------------- Core - General - Fix the template compiler so that content blocks can be placed within sub templates and detected with the {include} tag. - Fix minor problem with checksum verification. - Fix to the cms_cache_handler class - Minor fix to SetAllPageHierarchies() - Correct location where session was started in frontend displays. - Fix the default option for {content_image} - Modify the locker to use a beacon if supported, when unlocking. - Fix missing permissions when a 1.12 site was upgraded (installation assistant) CMSContentmanager v1.1 - Minor template changes in edit content wrt. locking - Adds ability to clear content locks (admins can clear all locks, regular users can only clear their locks) DesignManager v1.1.1 - Minor template changes in edit content wrt. locking - Adds ability to clear template and css locks (admins can clear all locks, regular users can only clear their locks) This is an incremental release in the CMSMS 2.x series, addressing bugs and minor concerns. Once again we battled with the locking, and for the most part we think we have it nailed. We fixed some minor template errors in Design Manager and Content Manager thatoccurred when locking was disabled. We also revised the locking JavaScript to use an asynchronous process that works asynchronously in almost all circumstances for common browsers. The new locking JavaScript code is apparently not supported in Safari (particularly on iOS) and in Internet Explorer or Edge. If your clients are primarily using these browsers, we suggest that you disable locking entirely and exercise caution so that users don't accidentally overwrite each other's work. New functionality also allows non-admin users to explicitly, manually clear their locks, and for admin users (members of the admin group) to explicitly clear all locks. We fixed a problem where permissions related to viewing and managing user settings and the user profile were not created in sites upgraded from 1.12. If you are running some non-standard user groups you may need to modify the permissions associated with those groups to ensure they have the 'Manage My Account', 'Manage My Bookmarks' and 'Manage My Settings' permissions as is appropriate for your site. Additionally, there were fixes to the Navigator module related to install and uninstall, fixes to the {content_image} plugin, and fixes related to the initialization of the setting so that modules like FrontEndUsers would not generate a 403 error at the wrong time. A complete list of the changes for CMSMS 2.1.1 is as usual available in the doc/CHANGELOG.txt file in the installation, and is available in the installation assistant. We encourage you to upgrade your installations of CMSMS at your earliest convenience. Thank you and enjoy CMSMS. source = 'Core'; $permission->name = $one_perm; $permission->text = $one_perm; $permission->save(); $all_perms[$one_perm] = $permission; } $groups = Group::load_all(); foreach( $groups as $group ) { if( strtolower($group->name == 'designer') ) { $group->GrantPermission('Manage Designs'); } $group->GrantPermission('Manage My Settings'); $group->GrantPermission('Manage My Account'); $group->GrantPermission('Manage My Bookmarks'); }}v[G{}TCʪZlwVdf$$X(8,/K#{?~7b0o~_1WJ?/~q޷?-o>.~w׿~}={ń]R9kS̻ջOkW] XSͺ S55*l,E='p=-n-TRVw{鬓꼆Mݻ\}TJ5w+=/eVwk[ʓ -[}5sRZjK'n5硑ikNE].DFh՚A_ (Sb 61(rγ)E;FnG.ƭAs֒hI 5P NY2yY[?ry^l9s6Dց:s4mz.huK'o~e6p,f53hPQ7VhI,N=YnfO-oxju]ߏ\6ߒmtAƽۢRNg1k~ҕ|_hT ygZϵ`|04^{سn%j*a{ Zec-5鐕IZ3\iJW͑'oƱ-d>%B5#i(x: # :#f#^ALQ ^p)RkP48BkCd[g s'GeOS\qDYߤT4yJ@স{F*%ˮk$dr!ZI:w ){k.(]i0ݲT/ȣ!@Ґ&_@j h 7 BdΒ .@L{y4-Bb3{obT.ƈ^O^!aZZ3 3LzQCs6WS yd (_N3uƥX#zAqi1SEK0 *{hI)Bnr'bCCu/,Y,>ez.l m-&Ny<%>:fII⠘ 9OQ3j7$:3gΤAK LSU%6t>H'סi&Q:sC81B :#Px$>Ձ.& i>ޭ tnJC^HNZ^['ɒr msT V ~ @ȉ~? T1{8`rM{w{; ]4)tQ7A df/F鍑Ct piPTWULz~+gy%Ehrug=+l`;C 4_4 ZܪA۶AծD) 1PM4 {fḺ!(gKeuv&:GG?މ2Wٺ6@6B41XH4x(># ps }4Hrs;b8ـ,(So"wOESN7Zf=EI!-K:"AhW3nH"`lbS NYe]*<\yB/4) 24W3 ,UнLP|0=< CBqb 6Mta^5}Ovp7[fDsID[ ,d9)7=g%GҴwCܚ}+<Ì^E6nr-O2}ḿLx V'VG<QwX7VQRc}Q4 J"RU\H ycX@0U˝Z(`23{{kZ/7`䜸 Ƭ(+(4wGGj2awG cՎo-:[4H \D5ϵ:a^94tEs-&}|gHޭAشu gHˆ%R6\rư%0D4(64z4H6[kG9sXZ^-=1̳v[}\ $ <r|"ѻD`bߴoyLA*?eyMCeM \d/)b57ݬLn\TU&ޮՑ]\J{":jNMj ({%SNěKہ : [j$Tcפ7z2|Z|TO2eoMXC]9m"t5g~3^ae+Hv6wZS?9-'n/ m%wJ6"b>&BPѶ~~%ݭ` <rE[KbwvHv~ gz\FL-!u>yALMe'2D\[UukAgm- SW qNJIn(ɧPX/P_9Wo_CIBG@4fܢ{tHWwBsX(ͮ{J%PnrL{' )܂_ [r"u(DS'^kg7@i-4vD+8թƿr2FVQjgKH}~P1nKi˾#9!Hm0^ \/uP7ߒR*tv VC? g*r^T A;Ȫ4Tm>m?]N&iqܴ=' xEp\Ɣ6Dhsب܍K8H /%jJ1j 8Ƃz'FیK*hɃc]dS&⩣=%ެ'n-tC 0MBZ<,+3 d)P'K*& Nv TqݰE&.п-ư4Q, V*C4JnguXJ;ObUvI"?9RW\gZΩ 9 kei {E,MW[CQJ(Yt-tAFw~u7m ܥX|(TxL52eGbejַrY6t%jRr 6+/ 6%+!*oDI5v>^̞~Q@#ExFn.3+^aTVzSYD5`/hlpL3G27l4(xDFzAٟ/bRIdfYO¶.؋%Ӡ;xe}}zY>mmimC5|^2KWTez 9YK/i%+R/=^G&Q&>åerL D8@cPGdd?2&@o,m7Ǡ7rLKѢ(.!+! zi#oz9C ! Us!I3={Sѿ-ea OPRKSHҲ_`t9jYH/[ oFY|E ȶyˆ`dpIJbt/R<7IȊ)p)^V.5l`K$K&DMC1i$29>2T m^hmgz&;]*HŒy+X:5_>(ewV*=6[rH| ph &#fAlԡHoF|N nwC^>[kst|۴l*\"rԡE夝Fn w&wu84wTR֍xzJCo6K`62W[-ȣlBZUʹKQ|/lc 1+\,d !2:pdFQL)U,pQcn GܬF!@fRl. 3>9:E,K@Y̗:79? !ʩ+۵Ee C]f™)Bkx oW@ t{3k1VxHCP*^Wk8`K f/7 \W9* uT"lLsB^ŌnE_<"!IP&D&Ii_BpɲLZG r8]zQvi>l*y+h,t+e\3:qyQP6'ԄFE5򆙷}+nx^,yHAuͰТ@>x} )HWH L-[Gc xCg2o߯.1W#vd*P%F~C] Ѳ who`Zyx@9Xߖ4KiP9lqEVi0G~[HCQa~sAr?L-風qzG]I^9AʮKL,R `օj=d#3ľ\ Nw94:ZL)#\^8Zb3#2PA4( _L|gRO,9C|Z/_JzWdQ .{!#جe en)]+zNL-Y ֯U]rJs rFVПu}Q =9JnTK^x|q(@r6"c/)OXd H"tomⷱoY6Mr\InSapm0jXǰrT%!ޜ:G3 {61(Y0<ܕa\0'X2w5!VKjV!0Yb CЍ(,1:HrRi=8frVyyݫc ΃*=2͝z-J\jl7r&G7yp I9˲u%g2o~C Rv:b6;i(Tkox3_o%N,9l-IU[$ă.s!r^,}ůN ti[BJrM+8AX ڴ!u؍[Ꚑ:O,j+e}0WxtVCU JS#07ZG5(8=\ߝlT;Tj:תYU\gij{>XEV >ʙUˮL>h%1e"sFx~:~WK`HA&z:RtY jb.UoaYxFReÛ$-UA(Hmv0ur9ܲHsN%"43g-aFJtKnGoX+ʟᏱ^|S$N1u K zڛUSxX?<-J[n(17)nWH u]JA7=[QmPt~Q Ƹғ1uRj2|pù"!;삌vMhH!?at]JK #pbk~K׃rO#uLقdwuKG5sr[y%S#VC 'ϽlKU-0~"PwE#'J$߅ # Aѿd"ѐ MgoGm:iw٬ <η?^ ƲB!DFs.O0x݇aìw*VUz g rJI#A o?Bk><:z89PY*D?~~\*K IMȀIyEWO7VЧk%oR{i;8*1:D*w+WӬ#WxZ P2k[Vi }B~1ಆ e [Unt|%GvJ & ;&IoֈR7/rȅY%N:3pTQVmZAAP'?p.[t ̫!}j܋wZ:> o?hِyur!Ttt9߭\fѳ^,nզ,W`ĥ]yJ>7mQs!ӪWS'Ztw#6;d1U4d¬57s'V(W?%:goK%y5 koE~Z]+97mڬ"\шFnc = P.& pvܨsܛ)_T ;T!#C77ۘeWީ AL,;0v}|BT EBz]r:̟@w=@րcDuHrTO.pe9xX=J( %A&M>؃ ='Pk(Q!<#;xOʕuq~=C򈐬G4Oꇏ+Abܳ%LF#dM+Vkn4T'ѡU @n!iWwa ^R^:\г1uTuҩLZrpܔɣQE. !=޼Xe\C . >qFF%ibb^1{䞤ɥ-38 nk-~>r=4t߮}=CL'bd%=j<`TgZ(ڦQnTrH-YT'ecyVAľ_$`+&WkARUyYos9շOLY@'W^֜ tprz48Y\0`Tbt,sVwPLmߍ]S!jxGE(C@#Pbyp<շgYT"w3F&6gsN*7ٹg5/ F!HX1 Hܒd؝f^),QeF9JeeopDi>, +yE&"Ҵܶ珮5="G llxzSOݙ "A,‘['t\%i2Nwr)2T9(/b;ٞؑI@GyЕ&'͗Ņa)tNGJ m8/s^W5g On o=V L~*glfY.MVh X8G١)}Fjl}$o(LGX[IN2q8-ʹ8ռ.լ)%Qx#Nfq9f> Pfaid=rX:Xtj>^fkq'k*j5t]q<_/;s;Y}H]5i]gٕ${|w?^]AQE'( ov3B?,i ҅-!lESQfuny _e=lA<W5^n+}BR@514YIРHȦ{8r)_[RHթd:kOߝMrUXoH[&C%'|;ؑСQQUKב 92Rc:ёU郜M3GjERrfYךr* $oO%r~ɍi?F { Y啑 2J8 <#%d7%7xcut??,v;$ʉmLt YBނGHO_s;8Y/'7j+*|n:Y&kas;vvfGG.jZ2R7)t*9z° Ҵڼ3g|q)JtQbGǎdV ޽UС\( |JB=} <sm9p l15v9;Ne~qGh6\U n 4j$_g?ŹHW>BzT k;%w|g3&*")MrDF+pSNl@x8;Q~/%dNlCV^=M0'  aߑ!Ҿa==[1TO;_qx;C!.C $TF1 /ݞfFvK&lvMZbL|&1 *}ʝe/s'I"Core - General - Minor fix to missing lang string stuff - Fixes to home page preferences - API documentation fixes (minor) - Fixes for ajax_content (the ajax routine behind the parent selector in edit content) to handle ordering inconsistencies. - Remove die statement in is_email - Minor fix to the relative_time modifier. - Upgrade PHPMailer to 5.2.14 News v2.50.4 - Now all field definitions can be deleted ModuleManager v2.0.2 - Revamp module dependency calculations when installing a module. - Minor fix for some notices in install and upgrade modules. - Minor typo fixes. - Minor fixes for PHP7 MenuManager v1.50.2 - make sure that uninstall cleans up properly. MicroTiny v2.0.3 - minor template fix. - fixes for stylesheet overrides. 'TYPE=MyISAM'); status_msg('performing database changes for CMSMS 2.1.2'); verbose_msg('database schema has not changed'); $sqlarray = $dbdict->AlterColumnSQL(CMS_DB_PREFIX.'content_props','content X2'); $return = $dbdict->ExecuteSQLArray($sqlarray); verbose_msg('ensuring that database schema is set to 201'); $query = 'UPDATE '.CMS_DB_PREFIX.'version SET version = 201'; $db->Execute($query); VRG}+Hs&ReA$7Gly.`ʋ3sv\.?OnN?/ף٩vA%C'?\_]9|<;5=0{//Gӟ7W//^m~~;:ofX̟F"T^1hs.D6gm Wv w= r=GŪ0B*l h`64O]Ms?.?nxtvN>X[mKf6;o~[aoM`J.Ԡ!\B﷋W&cʡHyLR`)Y#}w+&j3\:V4]Rwκ !TG [_5%:+Xr%TZKp1م|KJ9 d/]"Z|$R8v_=٠kR RZQ:h?3_>#(JYo0XSU6sZѺi' K{<ؾOk.(ʈP EdE`v:}]3] |h} Š_/ oDBV&jg%'/ 0yv䀐 Tl {|/@/{3~s7'LC* 0D$EIӑ J1\CCvcs,+!Abs$%Ӄm:EftnD)E) Z!AAr]eSm߿ҲY+mvu>[,e$ɦl\ețmw{jQQs>)6jZ}Murb Vt}I"idXUt Q蛶wk!6D1DF׃n^OL4Uj"@r:WVMK;}"-Z^^kF K(W[^Ãb |z^؃)9X+$ ^ZU %77 op>L}!TEU˥$P"DInCUvs؍f֜wŇZC5HLz^Y{u7Cte` *:mx'|89,H2e*F9IcM7%ڞ4V Version 2.1.3 - Black Point ---------------------------------- Core - General - Security fix to prevent HTTP_HOST attacks. Many thanks to I-TRACING (www.i-tracing.com) for reporting it!! - Remove stub .htaccess files from subdirectories - Update the included sample htaccess.txt file for security - Fix for endless loop when calculating a page alias in utf-8 environments - Fix for endless loop when calculating a page alias and a page name/title ended with - - Fixes a notice on the login page - Optimize LoadContentFromId() to be typesafe, and use default page, if the id passed in is invalid - Fix error condition if there were no default default design, or default page template - Fix problem with system verification. - #10825 - Admin-account settings don't remember startpage if you set one - #10874 - When creating a page and the title has specific characters, CMSMS stops responding - #10910 - content and content_module order incorrect Admin page - #10911 - 'Use Admin Search' permission not being used in 2.1.2 - #10921 - Content Field to Display in Name Column not used AdminSearch v1.0.1 - Minor fix to permissions checks. Navigator v1.0.3 - Improved exception handling on install News v2.50.5 - Fix error condition if no results were returned Installation Assistant v1.0.3.1 - Tweaks to README files - Improved error handling in some circumstances - Fix some PHP7 issues. FileManager - #10871 - Filemanager moving folder WrI+C mw%{DH$pqV=7HIѡ%ztf|;_]^h&xwo'0=0GoFˋ7bƟb"zQ;%byg^ ,p#wFXi3t@tٓsͅ6E2kCz`֭g%"NE;k2PT[(mz}Y5A3f"oR`2 T6K4f Rf6xb~f@]2Y):S&b]>>Y\Ks0U9z>O-vwA^,pm1Q&]],sT*$o*&Kln\jQbV 9`)fjd".چ̀e_bֹ2r%9K^a/^KP ({kj &p18ʹNr~w*b6DcL$& *fݽ 9lRmOIzRRAul;[E\(YL(ͭɫϹCu^SҺAaP ڊSb ד}+9t{tVU6h"Jg'YG]b/rJ@JWӟ_>#+mX[d oɊUS$5E+eH)Hk']lQ֭yQ ^FgLfB0*rE9⮙ίqS^ {-[~j_< D(\т1#*~at?&'t.XIRlbI@ofb5q(¸Ƕ=U-BI,mR|pי ̮ I5dI8V?ﻏ3`Xf4iQ2{<Cڴ`_.2tl֨v> G+MwWmL+qQ\+&Gg roR-) Q~4 `fc3FsAbUsOEcOߴ1ۀx6CH ɾ;]]vpﻣ vҔVy DDى5nڲ=vddb ɞgkx\7?pU.$,O"Uv قeK+s [i\W.Ud*;}@s~6%Z&$l ,Xl>~*5kѲ$Z恤x3Gd ,ؓ,<ËPEVtd$DvbF+x<=psnI ^,Tʲ2$o Upl$GNic!PXCE8w>APYg)̒3C0o?½ 1)Version 2.1.4 - FreeTown ---------------------------------- Core - General - Fix to the clear_cached_file() method which should fix problems with module installation. - Minor tweak to distributed sample htaccess.txt file Phar Installer - Fixes issues with respect to hanging on step7 when suhosin PHP addon was installed. - Minor PHP7 Fixes. WnV }w_N2 0N8SO%TM$^dR9@/ep:˟nǃ?&_oo.j(br~{pi{j0[?|ryjpq1H*T S!D.bRZ:jVݺfح}0NgQe-Š"=gjJaR; )f2A|jXF~XI1YXK**YP YhǚAʹڸ\%'e J~!%JEi|kG(^9- qS !3>'5m\?oA%:Gc1x'(s"??kh[㼽\tBO^^$lq!s`yNPէʚH.Z]S(5ƀ"TTZt,~IsuM_ey20&+,RVPȪ wǓqByT˺ʏab>`EJ ,<gғw:Z;XɭCL¹`9רo7x\IcMIDMR75Dӽ䏐+ӆZA$\ɶ"!F, l`cƼWFH&itH*]Rч/'7hOeFV '瓊?VkO[&4pŋ'81  |SηYK# X<ˌp7hnӒ+)B8mL30G;ݲ0o?/PfFeA(^y}aowhXYԅFQXNJ²B,Aؖm1!hNsN~":2R#'4g\P;޵D/3@;BC v/vGop r%s9WFë$ kyQ&H ow3NaF4;#:kyy)BJg:?pIHdnxy5b)+/( Version 2.1.5 - High Rock ---------------------------------- Core - General - Fix fatal error if an extcss stylesheet was placed in the Admin theme. - Another minor fix to clearing cached files. - Fixes problems where all files (including dot files) had to be writable before creating a module XML file. - Fixes minor notice in user operations. - Fixes for namespaced modules. - Fixes an issue in CmsLayoutTemplate when creating a template from a type. - Fixes an issue where a 404 handler error page would not be rendered correctly if for some reason the route did not specify a page id to load. - More fixes to cms_url class. - Improve the way page aliases are munged when they are supplied. - Improve the error generated when a page alias cannot be generated. - Minor fixes to the form_start plugin. - Minor fixes to generation of moduleinfo.ini. - Fix an error message in the autorefresh JavaScript class. - Fix problems that could result in uid=1 becoming inactive, and not a member of other groups when edited by another user. - Fix query problem in CmsLayoutStylesheetQuery with Mysql 5.7. - #11080 - Parameter $adding in GetContentBlockFieldInput always FALSE. - #11093 - Bad error message in jquery.cmsms_autorefresh.js. Content Manager - Improve error handling in Edit Content. - Fix a problem with the call to GetTabElements. Design Manager - Fix problem with resetting a template back to factory defaults, or creating a new template from factory defaults. Module Manager - Improve the way modules with dependencies are installed and upgraded. (Got rid of the queue stuff). AdminSearch - Use 'Manage Stylesheets' permission, not 'Modify Stylesheets' when searching stylesheets. Phar Installer - Adds missing 'Manage Stylesheets' permission that would not be created on upgrade from 1.12. source = 'Core'; $permission->name = $one_perm; $permission->text = $one_perm; $permission->save(); $all_perms[$one_perm] = $permission; } catch( \Exception $e ) { // if it already exists, skip adding it to groups verbose_msg("Permission $one_perm already exists"); } } $groups = Group::load_all(); foreach( $groups as $group ) { if( strtolower($group->name == 'designer') ) $group->GrantPermission('Manage Stylesheets'); } WrF}^|U\rڸ$jJ4uێ('܊%*DP gI2$6fЭЍpE?Q>W< \̾@ nJQQ2+W].R+;zӇ=\~{2SQQԐ {ޅ.wGVa%ZN*&;Y,m #+*+KJ&Sy/MjĶl $qH"ۚC@|Koß i/' jUIQdM6ЉhB 1*hc`-̌V&7>t`%B+ %a|MxS 26I:5z'$~3_Un =9vF%l pR`A:/׶rvY??uG'UCR5".mIfHLO&$Bt!Jw3<WIYD, { !ǘSN(Sz\:2FǘS/sc Rɑ% lځ`jvv>ןϮ&7Ch IɦdȰ 7P#Is`'.l3Tɗz,7vņZzCk"Py_TR!R5,?`Sf#Zy} R 9cF nn6{-FXgxe|ڮ l85GI{Z")E$T6={\vO1PDe.EpƎZnuv~ф)[B3>Vh]nbB>}!Mn&K~DeOH=~ ^$wuKGPU>d)YY9T&ɰK?o/ JVersion 2.1.6 - Spanish Wells ---------------------------------- Core - General - Now attempt to detect if a template name passed into CmsModule::GetTemplateResource() is already a resource string. - endswith is now an accepted function in Smarty templates (fixes typo in security policy). - Fixes for CmsNlsOperations when using a language detector. - Fixes warnings in useroperations. - Fixes problem with cms_selflink dir='up' since 2013. - Modifies the OneEleven theme to set the meta referrer attribute for security purposes. - Modifies the functionality of the CSRF tokens to be more secure (only set the cookie in one location, only set the session variable from the cookie). - Increase Admin users list limit. - Reduce time limit for daily version check to 3 seconds. - cleanValues in Admin log and List Content. - #11198 - Fixes problem with cms_selflink with aliases that starts with a numeric sign. - Change new version check to timeout after 3 seconds.. - minor fix to the relative_time plugin. - Admin menu item urls can now be built from the remaining members of the object, if not specified. - {content_image} and {content_module} now preserve order properly and support the priority attribute. Content Manager v1.1.4 - Fix bulk set-non-cachable functionality. - Fix a bug wrt content blocks and the adding flag. Installation Assistant v1.0.4 - Adds recommended check for ZipArchive. - Improves method of determining a temp directory. ModuleManager v2.0.5 - Improves functionality if ModuleRepository is not available. News v2.50.6 - Minor fix to editing news articles from the Admin interface. Zr[G} Y[7/j#,+#++ͿSDc""fVee^O|7?}o}7ol%`rǻˇwo/7\ {o߽ӛ~x~=`'?~x[~7on+e*Y5\3-d~k%MVHbv؆隥l^~ݵηPYkbIJt%Vlw ٌ ׺7z;a%&VmDct:ܬxj~3f}O9&K6Cz>l1\im!Ɋ`{Lj)Ykm^ru_U}𙢶l%gWI?rK]\8_|NIRz,ͦZ}uqd뵮w?/ֺ@w3z5% !Z)E#I S:X[]$]I3Zm:i).]lN6^CzWSE$غg"^w'w1p8q"zWjEKO>S*V*Kɑi,B!~˻ͯ;]oRla^$)zݹ]a_^ܕm.jBS㫞[ͲеGb[`")yG Ej.HUwmOj\Ji.^lM 0RdJqo<*?QmE_'i)^K%@_L^m?ܭf-3iFL tٲgCvB{4WnϓasH9Mk1 FM;`wWj3^>SfC t3>s ⻟&ڷ/{8T:ƪIlמʡ,z& HG܀S08`9q`Aʔ0 \ZG !KCxq.⾔T{=l먹#%XN[w `^-Yޟ^B΍ YVZ,dH?<)rdP1ڪ8x,Kfm0꺉4䣉ܟ.zu@jPyp @/F/z>[OUPqp0\29D8Sdm+@ 4  ?,E2?qH%kn&寳 o ƾ+ ,Ҩ>|:صCAb1Sug>t~o1 Nh %'j=\!DB ;f=[FZy%Vx|}$+TnLp- |@~W7|{>-nL*(y] x>vnNΒ /, d7>,0ad4qhgR y]l+G6pl rB>-W/'Ҁ"ޜ$Bp~]ݾ?mW|}Mt: 2K2c {Oײɣ#EeTޚJ06ZlH{"3lf;+N`2ϖ RZŽ^l6\LĈ[AJny7w\~}ЪPL0!^l&1YߑRX)>V}@+=HG? 4T8Ն"dߘS#]b-> PQF 3QMkեƴ,u#TRpZ|CVe=&> ̘bzLpZkp v]1J\K3Qn:Wٖ;17R,iı@Q-'G'j 6cF0z Yc!;xuԄiʐu톉BZnx>6qQD".D.V@7,RN4&U0 4~n(b>;VՉ1 WC dݳP΋k>]4]iBiYqF"5fif\,o}1r%ϢlʩG^&V4B.8] E vdZNcFr06LRlaJ@+vhTS.~=-d&(|iQiȦs͂o..oxy2BDRQ0tKUMJ kܟM0M4(ɑ\|'nT uEǍ`C#̗Csrh|-㉾bԩ=\n KMFCt2SȃPIUa|C(\J!{LV3,:vK17t2XMTc:xђ&pxI :eq$O@Sr'k'Gb2WD3?q(;57P``T>&pTmV}k$ qR*btD\DچNuPkN1qOvvnn@"aBn0q4' >!T0 WYdA52Xl7Vr'HcÓġarL0);`wW<QniuZlekk =z Ѩ6bƴm έp|BޮOQPnv>P6ȺIׂ̍: );I2YؾgAB=۹ۯ* [lk/-=2Ƿ{s.1XXD M|?빦”&(x} Js[_u3ak2T !%(r/jYXnHh^P'_HCgZe WECM.PíX2aKS^3&Dm\KR`\@~+Version 2.1 - Bahamas ---------------------------------- Core - General - Minor performance tweaks to sample htaccess.txt - Minor fix to the ProcessTemplateFromDatabase module API method. - Improvements and re-factor the way headers are sent wrt caching - Add a new method to the ModuleOperations class to allow a module to be within a namespace. - Enhances the Group class. - Enhancements and fixes to the cms_url class. - Modified the $mod->smarty reference to be smarter... it is now deprecated. - Fixes issue with https requests (#10697) - Modifies The CmsLayoutTemplate class and CmsLayoutTemplateQuery to allow filtering on listable or non listable or setting a template as listable (default) or non listable - Fixes a problem with styling of the login form if tasks must be run AND a module needs upgrading. - Fixes to the cloning of templates in CmsLayoutTemplate - Fixes problem with SetAllHierarchyPositions that cleared the entire cache instead of only the necessary part of it. - Adds the unloadCancel handler to the lockManager jquery plugin. - Moves version.php and include.php inside the lib directory so that they are easier to protect from unwanted direct access. - Fixes to page alias tests when manually entering a page alias. - Missing language strings are no longer output to Admin log, but to the debug log. - Requests for modules that are not installed/enabled, or for invalid actions will now result in 404 errors. - Fixed problem where restricted content editors could implicitly change the page alias. - Improvements to the system information page, particularly the bbcode output. - cms_init_editor, form_start, and cms_action_url plugins are no longer cachable. - Adds the 'adminonly' option to the {content}, {content_image}, and {content_module} tags to allow only members of the 'Admin' group to manipulate the values of that block. - Add a trivial check to the sitedown message to make sure that it is not empty. - Minor fixes for PHP 7 MicroTiny v2.0.2 - Now add page hierarchy to autocomplete text when using the linker. - Now use $smarty->CreateTemplate for clarity when compling the config template - Now explicitly assign urls so that they do not get caced by smarty. - Slightly tweak the default HTML content in the example tab. - Updated tinymce to the latest 4.2.7 version, included the 'paste' plugin, and turned on 'paste_as_text'. - Added the ability to enable the table plugin, now distribute the table plugin CMSContentManager v1.0.2 - Fix problem with pagedefault metadata. - Fixes for handling no listable templates for a design - More work with locking. With only one exception all locking and unlocking is initiated via javascript. - Minor fix to copycontent DesignManager v1.1 - Adds ability to toggle the listability of a template. - Fixes problems with lost changes if there is a syntax error in the template. - More work with locking. With only one exception all locking and unlocking is initiated via javascript. News v2.50.3 - Fixes minor issue with pagination in News admin console. - Fix errors in the default form template. - Fixed URL to long issues on redirection after adding/editing article. Search v1.50.2 - Minor PHP7 fixes. ModuleManager 2.0.1 - Minor fix to which modules could be uninstalled and deactivated. 'TYPE=MyISAM'); $sqlarray = $dbdict->AddColumnSQL(CMS_DB_PREFIX.CmsLayoutTemplate::TABLENAME,'listable I1 DEFAULT 1'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('upgrading_schema',201)); $query = 'UPDATE '.CMS_DB_PREFIX.'version SET version = 201'; $db->Execute($query); r1 y̖bvsq;B͟not$Ϧ: ? m~t)}w?^,ft)jIY <ǜjyÛm^_I/\ΊI:Sl=m҄[qmkwۡiS~tцD ,Y椓!u_ȯfًNY") b,p#u7Rh,*$&e$pkϗsjZLZO<04sqTc,9Yoݪy\S{gx.2dWmSbtUget_destdir(); $plugins_from = $destdir.'/plugins'; if( !is_dir($plugins_from) ) return; $plugins_to = $destdir.'/assets/plugins'; $files = glob($plugins_from.'/*'); if( !count($files) ) return; // check permissions if( !is_dir($plugins_to) || !is_writable($plugins_to) ) { error_msg('Note: Could not move plugins to /assets/plugins because of permissions in the destination directory'); return; } foreach( $files as $filespec ) { if( !is_writable( $filespec ) ) { error_msg('Note: Could not move plugins to /assets/plugisn because because of permissions in the source directory'); return; } } $remove = function( $in ) { if( is_file( $in ) ) { @unlink($in); } else if( is_dir( $in ) ) { \__appbase\utils::rrmdir($in); } }; // move the files foreach( $files as $src_name ) { $bn = basename($src_name); $dest_name = $plugins_to.'/'.$bn; if( ! is_file($dest_name) && !is_dir($dest_name) ) { rename( $src_name, $dest_name ); } $remove( $src_name ); } // maybe remove the directory $files = glob($plugins_from.'/*'); $do_remove = false; if( count($files) == 0 ) $do_remove = true; if( count($files) == 1 ) { $bn = strtolower(basename($files[0])); if( $bn == 'index.html' ) $do_remove == true; } if( $do_remove ) \__appbase\utils::rrmdir($plugins_from); @touch($plugins_to.'/index.html'); n"9)xpEi!$[*Ikj~MX2v_U,͞Gyv;q>{|<,#8ϧ7t6pqv~7h:",Q,D6!IGadt}#= !4,%dR١əx K7qmHb#I .,LNx5 |>@_ bȊ8r-tRsEWt;TAXقd C.<Wp?(Y16~dFLN-7g@VIFɪR1%mVڽ[٭ҿWVersion 2.2.10 - Spuzzum ------------------------------- Core - General - Fix minor potential authenticated object insertion vulnerability in changegroupperm - Fix minor potential uncleaned input vulnerability in siteprefs - Minor improvement to get_real_ip() - Fix to clearing cache in cms_filecache_driver News v2.51.5 - Fix unauthenticated SQL injection vulnerability with the default action ModuleManager v2.1.6 - Fix authenticated object insertion vulnerability in the installmodule action - Improve ordering of the dependencies before installing or upgrading modules. - Adds more auditing, particularly in the cached request stuff. FilePicker v1.0.4 - Fix authenticated object insertion vulnerability Wv+)$ǒs-'[ 6&I) .^ŇW_n//u^ϟn/|맻 5Q8Gno./^|:vi)-~z݇ JN2砂33lZo|Ӟ6X/\ӦS7Ij_o`M5gS.cB*U6紦iY.&k EC$)dlM)b2+;m?&rvxA(e5W!})-"pc[=F.g -SMLF|xtӺY<#anS>Fς Q8IYW,V㾏6ܖS-T:%SFkeƙj=qߙTZ!L4dKRr 6yJmp9kߣpgMAUʔq!Ŏ<SD#]9z6~7i7Ԟ,ˬd pH:sA%%kB$pM !g+lǧG7u>JIZ')f 2g!gmB1{,E@o ">@)wх!~3ykw#sk(1IrYh@!ur  [t:Nj$wGzw{nqAd s$@zH,$E6;ۼ7M[@)cR;v9 *t c\@$".M&""<ɂL$-Q3s̢ZE>*(|`QoZo/aT+~F* oRYR+gNR@[D $V( "3nyuc`_1KY/pp69-/pם\:`\&.{|#]MUUN GITX3zQ"@6)܈88>Wmx4Rt20GaB"AX,T d Ss E"s{jmeVci(<򄼆Lvo@^dXPp9ۀb%QUĿ^9ٷsX{ͺ~_ kBH 5f8nGl%/|)SGz:/-'|=pyl$gj|@L[+sx1@}׿zMvoCk`6`£f/bЁ5&8& ~7ͨ+Xk\tLLsN"˒|aZdx3Uem 'tl2$mzj70/C%h cfO><,h;*a_!ϟr3O9 7"QW:i#+y:_7W,i ]u}}zL~X/7+|tu} '#/=X/yQ^hh쏫bOhVersion 2.2.11 - Vulcan ------------------------------- Core - General - Fix minor bug in copying content objects. - Minor fix to array indexes when filling params in ContentBase. - Fix to the {cms_filepicker} plugin. - Minor fix to the 'my account' form. - Fix error in cmsms_filepicker.js encountered in LISE. - PHP 7.3 fix to DataDictionary::RenameColumnSQL. CMSContentManager v1.1.8 - Fix an issue with copying non-core content objects. - Minor fixes for php 7.3. ModuleManager v2.1.7 - Minor exception handling improvements. - Minor improvement to dependency detection with modules that do not exist in ModuleRepository. - Minor fixes for php 7.3 News v2.51.6 - Minor improvements for CMSMS v2.3 compatibility. Phar Installer v1.3.8 - Minor change to use include() instead of include_once()... not sure why. FilePicker v1.0.4.1 - Fix type error. Search v1.51.7 - Minor fixes for php 7.3. tj@}7#>NEֈ)ceH%Tb1cArPF(xmlflvTq$BQ3wzLj $z,  N йμTxf_[ Version 2.2.12 - Osoyoos ------------------------------- NOTICE: Due to the nature of the security issue fixed in FileManager after upgrading you should change your database password. Core - General - Fix warning in cms_html_entity_decode FileManager v1.6.9.1 - Security fixes for view action. n0 ~Gu]и]9b%Qbw[~ʲۍ`?Y/Vw7Vfq_-WFI5WKff{^ QIvyvyY5ZyaEm ]FM}P "v}|ji4-#fƦurm\yIr@y/ƨav-ǟ/D8Version 2.2.13 - Moosomin ------------------------------- DesignManger v1.1.7 - Fix a warning in PHP 7.3+ FileManager v1.6.10 - Fix minor XSS vulnerabilities in FileManager. News v2.51.8 - Fix a security issue in the default action with the idlist param (This version was also separately released in the forge)  Wr++NW")e*w*tO ̍> ҒH7n>}psuruiyrupy!m(Ļ_n.|w{yj!dfyyqӶ}FsvvU{H>,[rPRB2Xou ]pڪR޶yWSY]@puʜv>$iO;*.F-=)T8:5_lXMA-d `aXR4DP #mz$hm0R"r֜*\1sBlw0Ű hE Uq* RRGm40su~1c=k_[ٕsB NiGH0HG`_}. 'G΀9AhaU&yz_/~7"|fQ9UN .syMGu3iu:z"Cщ AY]5~fbR᮫ۺYX#IP9x!pտYvožX6kՄC-'*-q 8KRt0f~w__]-Jm7O5Q5Wυ$)W~ț~j bVP87,J/~1~nKVݜ9fAiw4sunSP^`T f(doEÇa}6I< 2"maҎ, FgL%28Hǘ+d}2r?̇3TҮf6Y [0A$'gbk&ͺȣ{M&L.&%OL\ xɔ2,c\((uH0D@}bwY$*~l Ob,ӎJs"{C7~d#&g-Y`庋,6хǠF/VU>>SF5c< p9 n^̸b0 D!1}`<9JC@oBΙN%v<0V";> Options tab. - BR #12207 - Can't display image in news when using upload field. - BR #12228 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. Phar Installer v1.3.9 - PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". - PHP 7.4 fix "Function get_magic_quotes_runtime() is deprecated". Search v1.51.8 - PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". WrG+x2M+Q#LjäFuu5 y`1偘`둙u/gW'_.~xuÉ啷??=۷v˷'Ԝj7yz?.!/M^{϶k12+/}>IJXA{9fѹYLcv7Tgټ_˻5LxZ219[oe~DREIl19GZ72,ng-i}Q-4SLy~Qם惬LtȔiG!RA$\"=b=Yj:APw0 ˕~QU-mrUFʲJ.C?=gL[) kM)yвA nMȡ)H+nͪpvN֢{`TTĨxB-Q!ڐa[Ý\:AE.[qV{ˌ+HjU!Ϳr|ӭăc%P!TC|S}*E\TVf;~z:5"ѰQb'(+Ax[bGm7NZ]hX)if7+QOUEc(LYT D-d9WuWzXǐMq"X[E^&Ԙ}s7 ˛w-A/gkB B6/Q z8eR~n)V!(BKȺ9qH ]ͩ{d~\^ەJx8EDCD\c# #A>g_=\ưɪդد\dJ|HK70&带[uM\{wDb~PU! *6HRKʨ[ ӭ Ti)-LH tltAR>F ?G] F#Tt\6Tf!lҶp?_~Z8]]vw޸A>?&kip+V59>2/]irFno*lɱV[ұiTȤggN9 (V9Ql*7'cv!3f]I%$ %6~Z` !1`ktDE6 V?ݶz-AκCx |V J )BvDyv3s]l)e$.I YȻ)؀{-sl%#?p|n{Au$MBΫ2p=I= @F-N[C !Eݥ iXX0K[tS  ` GSpe{>ux׬#b1{: \>Nl&ؾ툮lX Hl(ax^<V 'B>".G`_v<fSs=jB-b vj}9x@]+SG0 er"w f=\@Mx ޔclrEI5ZMJޡ0x X[{wGҊ(W'f Bbxúd#ϫ &ٿH6FaƇ;:36JSGXr5zIL:ث60+ g ]dQv1V5cb ɚ1dsAl7~Xo܏^b@ 4薄!]b 9k}`CQ텹=p2NbD2p($!) 3Z+C`qgetAll($sql,['homepage'] ); if (is_array($homepages) && count($homepages)) { status_msg('Converting backend users\' homepage preference'); $update_statement = 'UPDATE ' . CMS_DB_PREFIX . 'userprefs SET value = ? WHERE user_id = ? AND preference = ?'; foreach ($homepages as $homepage) { $url = $homepage['value']; if (empty($url)) continue; // quick hacks to remove old secure param name from homepage url // and replace with the correct one. $url = str_replace('&','&',$url); $tmp = explode('?',$url); @parse_str($tmp[1],$tmp2); if( in_array('_s_',array_keys($tmp2)) ) unset($tmp2['_s_']); if( in_array('sp_',array_keys($tmp2)) ) unset($tmp2['sp_']); $tmp2['_CMSKEY_'] = 'XXXX'; // current secure param foreach( $tmp2 as $k => $v ) { $tmp3[] = $k.'='.$v; } $url = $tmp[0].'?'.implode('&',$tmp3); $url = str_replace('_CMSKEY_=XXXX','[SECURITYTAG]',$url); $url = preg_replace('@^/[^/]+/@','',$url); //remove admin folder from the url (if applicable) unset($tmp2,$tmp3); $db->execute($update_statement,[$url,$homepage['user_id'],'homepage']); } }  Zr[G}WQ7E=ђf,yȪ"aak\9̪̳~ͯ/7:8tN1_~^O߾1BW?p,<{kwmV?w|7-kl$kVl)rsEx1['6_/ַ(6$}MNl9\9rY֧!Eo76-fGSCfA62&嚄$Ql %(~W7! 9Q̥ZBRVhf7X6s!Y!"))0\r,:RiL8"'ܼ(.6[N(2f6Z"1.ZZZ'mJ4vR t8%|IMI Y;Kai, q*]VX"l)ΕW=ݽ8țdIIgH\vK0R͡圊-^$U]LJhV1fUVkljtv?>[|;IZnr)T\lh\9b'ZZ6hA7bAɒ)aD?jjَ.[ V> h]b^v>cSkS\-R55;+ޡN֬''bcVEi:1~"^] ul{DE6iKT"lיJېΤ2,UR ƚe-|e=- qR4Wm, N1Ԛԉؗ]'(+,:@ncK17^ fe"CYXDlU$4Te/j'u{~̘&cZe,%j=g 4AE˹ A1=m Z. U0H6s,eJm ?Cxf`RD'[-x.يLG_|5( Ն|IM8*QE6qÛ%͟Pe[dcäsyI,D I@wVM.:Ss ^Š cTI_zmYk%g@fb3I!?[ֳpB;Ԟh18~{p});@%P'2GV#bjO uzaUr,D.`F|M72*t-R3XjАYrћ`i!~$)RZWZ-)aJ*=w#Pa|9:WMZBS`!ձ , Dm68Qcyp+F9t5ALGbtke𠢒[Lt8@[gv`iYcXb̡yq0hemqv#;ޭ{`uRhr ׅfFF4jͣ[sHA$3yMC=Pve10D3#Zm7 (и{vCa'h .׳pK1hZ)@V;ks`z !!*)@7PUl?Uu ,Wtw{XύTi8YNM5ɏbGi7!שL%m3u= P{X=Y5\ᥒ pF2A5N5( iɣ1X^e}=*M `@9D؎IC_,lKbF|`~BKt5%@7`~0: 8ǒsP 2+UآR~!0<([ Q%C[~! =aozlh}Uh&͠kp,?-F.4KJCX9̕QTTGAwFRDŽ߻Sݪ.^DF}ņgw^joJRJbp.[2 fկ=Ť MI ?ԎJتsTǾ%Lytl![ɡ0C |-D_x|A_0;1) {X :2`e}^~C!٣ p$Q(}<inU>y96U@q,Y&E:^=@5-e>b1W2@mZ/Լ<32wa16@=7X Ui^<%Y>ÙPe')NPD]CnW߀p,NP|TT>_ڮQtZ7QWvhqM{xb)0Q?]T<lS%3Rɷqmde`} | ˷IeVQI:@0T>69~N}`"Xsa'ZU0J 5(\)늀( 9En񙈻Djtv߭d͑6AS\mtECjn)W,EƻslDLf^삖dQ}p.]Ȼb [Ql@-ND>`ot>_Uc`" /ƦrЀjQiz=G𘉕`[dr8yRk\<|k'Version 2.2.16 - Truro ------------------------------- Core - General - BR #12370 - Admin Log-Download : now downloading the log honors all filters but doesn't process paging - BR #12437 - Installer won't allow "<" symbol in database password - BR #12457 - Event Manager empty list when mysql mode only_full_group_by - BR #12484 - Cannot exit after Run UDT - BR #12495 - MySQL 8.0.2+ breaks groups without table prefix - BR #12499 - adminlog.tpl Wrongly formed date - BR #12500 - NameQuote function does not work properly - BR #12504 - Function call notification. - Fixed an issue with specific characters in a content block tab name breaking the editor - Adjust regex's incompatible with PCRE2 - Avoid deprecated strftime() - deploy new replacement function locale_ftime() and new modifier-plugin localedate_format - A number of fixes for PHP 8 compatibility Admin Search v1.0.6 - BR #12443 - Admin Search fails on some searches with default mysql mode only_full_group_by (mysql 5.7.5+). - Removed license and copyright notices from module help text. - Escaping the search input field values. - More content object attributes are searched. - User Defined Tags can be searched. - Only places a user has permission to search are shown in the filter list (cached!). Content Manager v1.1.9 - Fix menu text/title setting. FileManager v1.6.12 - BR #12435 - Replacing an image file in filepicker doesn't update thumbnail. FilePicker v1.0.5 - FR #12483 - Additional FilePicker Help for usage as Content Block. Navigator v1.0.9 - BR #12456 - Navigator breadcrumbs with default page hidden from menu causes PHP notice. Search - Added 'Manage Search' permission; - BR #12391 - Core search issue page/entry titles that start with numbers; Phar Installer v1.3.15 - Fixed BR #12437 - Installer won't allow "<" symbol in database password; - Added Russian lang file to installer; - use locale_ftime() instead of deprecated strftime(); - escape name of groups table, to prevent reserved-word conflict when table-prefix is empty; - alterations to the links in final step: we now privilege links to CMSMS channels of contact and support; Version 2.2.15 - Bonaventure ------------------------------- Core - General - BR #12287 - Admin shortcuts popup refers to IRC. - BR #12292 - showbase parameter of metadata tag doesn't accept boolean value. - BR #12303 - No date displayed in the admin + category id not incremented. - BR #12305 - Removing actual Destination Page breaks Destination Page dropdown in Internal Page Link pages. - BR #12311 - log_performance_info - undefined variable: queries. - BR #12313 - 5 Stored XSS vulnerabilities in Settings - Content Manager. - BR #12317 - XSS on Settings News Module. - BR #12325 - Several XSS vulnerabilities. - BR #12335 - User pref admin homepage not properly displayed under certain conditions. - BR #12337 - GetContentBlockFieldInput $adding always false. - BR #12338 - Allow http/2 responses. - BR #12357 - Filepicker dropzone size issue. - FR #12345 - More user friendly admin session handling (partly implemented). - FR #12349 - Swap tabs on System Maintenance page. - Browsing to the main admin page in a new browser tab during a running session won't redirect to login form anymore. - (Error) messages in OneEleven won't dismiss on click. - Fix to Admin redirection after login on Windows platform. - Fix to the module API redirection to support arrays in parameters. FileManager v1.6.12 - Dropzone improvement like core FilePicker. FilePicker v1.0.5 - BR #11673 - FilePicker will not show svg images, when in the Content Manager. - BR #12312 - Stored XSS vulnerability in File Picker. News v2.51.11 - Minor code fix to encoding title content. - BR #12322 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. - BR #12325 - Several XSS vulnerabilities. Design Manager v1.1.9 - Minor fixes for PHP warnings\notices; Module Manager v2.1.8 - BR #12291 - Reflected Cross site scripting. - BR #12324 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. - Increased the Download Chunk Size field size to 4. MicroTiny v2.2.5 - BR #12351 - Escaping translation strings in tinymce_config.js. Search v1.52 - FR #11886 - Include module and modulerecord fields for content pages. Phar Installer v1.3.13 - Fixes to the reload button: now prevents browser's caching. - BR #11591 - fixed: Phar installer doesn't work with OPCache enabled. Version 2.2.14 - T'Sou-ke ------------------------------- Core - General - BR #12280 - Add Shortcut from Shortcuts modal broken. - Fixes to the class.CmsAdminThemeBase.php regarding main sections title and breadcrumbs generation. - Explicitly add function_exists and getimagesize functions to the allowed functions in PHP secure mode. - Improved Error Console template. - Site Prefs, remove submit confirmation. - System Maintenance, remove confirmation update page hierarchy positions and routes. - cms_http_request PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". - Backend users, fixed the bulk actions. - BR #12172 - CronJobTrait undefined constants. - BR #12227 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. - BR #12272 - Internal page link - selecting destination page problem. AdminSearch v1.0.5 - Remove click thru warning. CMSContentManager v1.1.9 - Fix notices in edit content template. - Fix notice in default admin view. DesignManager v1.1.8 - BR #12225 - Reflected Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. FileManager v1.6.11 - Don’t disable advanced mode on upgrade. - Fix adding double // in site root link. - BR #12215 - FileManager 1.6.10 crashes when trying to rename a file. - BR #12224 - Reflected Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. News v2.51.9 - Minor code fix. - Alert on unapproved articles disabled by default. Enable at Settings >> Options tab. - BR #12207 - Can't display image in news when using upload field. - BR #12228 - Stored Cross-Site Scripting. Minor, because it can only be performed by a person that has access rights to the Admin panel. Phar Installer v1.3.9 - PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". - PHP 7.4 fix "Function get_magic_quotes_runtime() is deprecated". Search v1.51.8 - PHP 7.4 fix "Array and string offset access syntax with curly braces is deprecated". Version 2.2.13 - Moosomin ------------------------------- Core - General - Explicitly add a function or two to the allowed functions in PHP secure mode. DesignManager v1.1.7 - Fix a warning in PHP 7.3+. FileManager v1.6.10 - Fix minor XSS vulnerabilities in FileManager. News v2.51.8 - Fix a security issue in the default action with the idlist param. (This version was also separately released in the forge). Version 2.2.12 - Osoyoos ------------------------------- NOTICE: Due to the nature of the security issue fixed in FileManager after upgrading you should change your database password. Core - General - Fix warning in cms_html_entity_decode. FileManager v1.6.9.1 - Security fixes for view action. Version 2.2.11 - Vulcan ------------------------------- Core - General - Fix minor bug in copying content objects. - Minor fix to array indexes when filling params in ContentBase. - Fix to the {cms_filepicker} plugin. - Minor fix to the 'my account' form. - Fix error in cmsms_filepicker.js encountered in LISE. - PHP 7.3 fix to DataDictionary::RenameColumnSQL. CMSContentManager v1.1.8 - Fix an issue with copying non-core content objects. - Minor fixes for php 7.3. ModuleManager v2.1.7 - Minor exception handling improvements. - Minor improvement to dependency detection with modules that do not exist in ModuleRepository. - Minor fixes for php 7.3. News v2.51.6 - Minor improvements for CMSMS v2.3 compatibility. Phar Installer v1.3.8 - Minor change to use include() instead of include_once()... not sure why. FilePicker v1.0.4.1 - Fix type error. Search v1.51.7 - Minor fixes for php 7.3. Version 2.2.10 - Spuzzum ------------------------------- Core - General - Fix minor potential authenticated object insertion vulnerability in changegroupperm. - Fix minor potential uncleaned input vulnerability in siteprefs. - Minor improvement to get_real_ip(). - Fix to clearing cache in cms_filecache_driver. News v2.51.5 - Fix unauthenticated SQL injection vulnerability with the default action. ModuleManager v2.1.6 - Fix authenticated object insertion vulnerability in the installmodule action. - Improve ordering of the dependencies before installing or upgrading modules. - Adds more auditing, particularly in the cached request stuff. FilePicker v1.0.4 - Fix authenticated object insertion vulnerability. Version 2.2.9.1 ------------------------------- Core - General - fix to the CmsLayoutStylesheetQuery class. - fix an edge case in the Database\Connection::DbTimeStamp() method. MicroTiny v2.2.4 - Minor fix in error displays. Phar Installer v1.3.7 - Fix to edge case in step 3 where memory_limit is set to -1. Version 2.2.9 - Blow Me Down ------------------------------- Core - General - PHP 7.2+ fixes. - Now do not call Module::InitializeAdmin() or Module::InitializeFrontend() if the module loading is being forced (as is the case sometimes within ModuleManager); - Minor changes and fixes to prevent warnings/notices in CLI based scripts. - Improvements to the {browser_lang} plugin. - Fixes a bug in the CmsLayoutTemplateQuery class. - Fixes a bug with the name= parameter in the {cms_stylesheet} plugin. - Fixes a minor issue in system information (smarty compilecheck). - Fixes a minor issue with the tabIndex and accesskey fields in edit content. - Fixes issue in the CmsLayoutStylesheet class related to associating designs with new stylesheets. - Now check for an english language file first in module_custom/xxxxx/lang before a file for the current language. - Prevent false-positive hit for "multiple_webshells_0018" rule webserver virusscanner (https://github.com/Yara-Rules/rules/blob/master/Webshells/WShell_THOR_Webshells.yar#L4764). - Fixes a bug in ContentOperations::LoadAllContent() if the content list had a custom content type from a module that was unvavailable. - Fixes a bug in the Database\Connection::DbTimeStamp(). Search v1.51.6 - Minor fixes to help. MicroTiny v2.2.3 - More entropy in the mt_config.js filename to fix issues with js caching when switching users. - Fixes in the cms_linker plugin for when trying to change a link to a CMSMS page where the alias has changed. FileManager v1.6.8 - Fixes an upload issue. ModuleManager v2.1.5 - PHP 7.2+ fixes. CMSContentManager v1.1.7 - Fixes an issue with changing content type after copying a content page. DesignManager v1.1.5 - Fixes ownership issue on templates with importing a design. Phar Installer v1.3.7 - Minof fix to detect when PHP's memory limit is set to -1. Version 2.2.8 - Flin Flon ---------------------------------- Core - General - Re-introduce the host_whitelist config entry that got lost in some commit somewhere. - Minor fix to pagination in Admin log. - Change Finnish locale priorities so that UTF-8 is first. - Minor fix to calling hooks with a single associative array parameter. - Adds new HookManager::do_hook_first_result() method. - cangegroupperms now calls HookManager::do_hook_first_result. - Minor enhancement to moduleoperations::_load_module() to check if the class exists. - Minor enhancement to {cms_action_url} wrt. the page to link to if not specified. - Deprecate CMSModule::SetParameterType and CMSModule::CreateParameter methods. - Deprecate ModuleOperations::GetModuleParameters() method. - CMSModule::RestrictUnknownParameters() now does nothing. - No longer warn if a module is sent a parameter that is not registered. Note: modules should now be cleaning parameters directly (see filter_var) from $_POST and $_REQUEST ($_GET is automatically cleaned). Note: In the future, $params in module actions will only consist of parameters passed on the module tag. - PHP 7.2+ fixes. - Fix the inactive param in the page_attr plugin. FilePicker v1.0.3 - Minor fix to delete action. Search v1.51.5 - Now enforce utf-8 on preg_split. - Minor parameter check. - Removed deprecated each() function. CMSJobManager v0.1.3 - Notices fixed. - PHP 7.2+ fixes. FileManager v1.6.7 - Remove un-necessary files that may cause a security vulnerability. - prevent creating directories with leading or trailing whitespace in the name. Module Manager v2.1.4 - PHP 7.2+ fixes. Navigator v1.0.9 - Template fix simple_navigation.tpl. Output correct class for parent without active children. News v2.51.4 - Notices fixed. Version 2.2.7 - Skookumchuck ---------------------------------- Core - General - Change internal CSRF variable name. - Fix object insertion bug via deserialize in LoginOperations. - Fix issue where login cookie contents could be forged by determining the hashing salt. - Refactor the mechanism for generating and verifying admin account password reset codes. FileManager v1.6.6 - No longer allow uploading files with names that end in . FilePicker v1.0.2 - No longer allow uploading files with names that end in . Search v1.51.4 - Minor fix to microtime calls. Version 2.2.6 - Come by Chance ---------------------------------- Core - General - Fixes to AdminAlerts::load_by_name(). - SetMessage() and SetError() in the module API now use session variables. - Remove support for module_error and module_action request parameters in admin module actions. - Add call to check_login() in admin actions that were missing them. Search v1.51.3 - Fix notice in PHP 7.1: A non well formed numeric value encountered... Version 2.2.5 - Wawa ---------------------------------- Core - General - Fix minor security issue in the way login information was cached in cookies and the session. - Simplify rules around alias editing/generation in fillparams. If the alias field exists then we can adjust its value or recalculate an alias. Use basic properties, and ownership and permissions to determine if that field exists on the edit form. - Minor fixes to the CmsJobManager. Version 2.2.4 - Little Paradise ---------------------------------- Core - General - Improvements to the Hook class. - Minor fix to usertagoperations. - Changes to the hierarchy selector to disallow circular references. - Fix problems with additional editors causing page aliases to be regenerated. - Minor fixes to Admin log browser. - Minor fixes to Admin login. - Add missing call Core::LoginPre hook. - Modify myaccount.php to call Core::EditUserPre hook BEFORE the password is set. - Fix documentation to CallUserTag. - Fix to default handling for content_image block. - Improve the help for the {page_attr} plugin. - Fix a potential warning in the {anchor} tag. - Fix boolean comparison in LoginOperations. Installation Assistant v1.3.4 - Fixes endless recursion issue with setting a tmpdir. - Fix issue with requiring a database prefix on upgrade. FilePicker v1.0.2 - Now allow specifying a 'useprefix' boolean parameter to the action url which will use the current top directory. - Add a prefix on all returned strings. - Slight modification to the profile class. - Now sends the FileManager::OnFileUploaded hook the same way as FileManager does. - Adds an exception handler around the change working directory stuff. FileManager v1.6.5 - Change upload action to call FileManager::OnFileUploaded hook before creating the thumbnail to allow a hook to rename the uploaded file. - Now enable creation of thumbnails on install. MicroTiny v2.2.2 - Minor fix for the filepicker if using a default filepicker profile that specifies a top directory. - Re-adds the table plugin (went missing when we upgraded tinymce). ModuleManager v2.1.3 - Adds audit line displaying status if cannot connect to ModuleRepository. DesignManager v1.1.4 - Fixes problems with the cancel button not marking the form as 'clean' (not dirty). Version 2.2.3.1 - Happy Adventure ---------------------------------- Core - General - Fix an issue when parsing multiple content blocks. Version 2.2.3 - Happy Adventure ---------------------------------- Core - General - Fixed a redirect loop problem on mixed HTTP/HTTPS sites when the secure flag was set on some pages. - Fixed a problem with prefilters and postfilters not working if placed in /assets/plugins. - Now use our own derivative of Smarty Internal Template so that we can send hooks, etc. - Improved error message if there was an error parsing the template (or a duplicate content block). - Fixes content blocks, image blocks, module blocks containing whitespace in the name. - Minor fix to {cms_filepicker} plugin. - Improve the CmsModuleInfo class such that if the module class file is newer it will be loaded. - Now generate the moduleinfo.ini file automatically on install or upgrade of a module. - Increase the maxlength attribute for password input boxes in myaccount. - Adds a StartsWith JavaScript shiv for IE11. - Revert the protocol-less URI for root_url (more changes coming for 2.3). - Get rid of the smart_url config option. - Fix a problem when testing for duplicate aliases of the form string-### where the suffix integer was greater than 100. - More fixes to mact preprocessing if {content} was in the top of the template. - Minor fix to ExpandXMLPackage to not throw an exception in brief mode if module is not compatible with the current version of CMSMS. - adds new cms_entities_array function in misc to convert an array recursively to values. - Fixes transposed arguments in UserOperations::AddMemberGroup(). - Better detection of duplicate content blocks. - Revert template_stack change to Smarty_CMS from 2.2.2. - Improvements to HookManager. CmsJobManager v0.1.1 - Optimization of audit logging. - Change connection timeout to 1 second. - Change processing to be a little more friendly to some environments wrt. content-size header. - Prevent processing from the CLI when root_url is calculated. MicroTiny v2.2.1 - Minor fix for filepicker plugin. News v2.51.3 - For security, no longer urldecode the detailtemplate parameter in detail view. This may have some implications for people that are specifying the detailtemplate parameter (with a template with special characters) from within a WYSIWYG (which is not recommended behavior). - Convert title and dropdown options and text fields to entities before display. ModuleManager v2.1.2 - Now sort modules in the installed tab a bit better. - Now handle module 'not available' a bit better. FileManager v1.6.4 - Add a different icon for navigating up one level. - No longer allow uploading any php (or derivative) file. - No longer allow renaming any file to have a .php extension (or a derivative). - Fixes an issue when improper/invalid values for root path and uploads path are manually specified in the config.php FilePicker v1.0.1 - No longer allow overriding the filepicker type on the URL. - No longer allow uploading any .php files. CMSContentmanager v1.1.6 - Now double check that the 'default parent' for new pages actually exists. Navigator v1.0.8 - Minor english documentation correction. Installation Assistant v1.3.3 - Now look for lib/include.php before include.php in step 8 and step 9 when connecting to CMSMS. - Fixes to upgrade routine for 2.1.5 wrt. the 'Manage Stylesheets' permission (ignore an exception). Version 2.2.2 - Hearts Content ---------------------------------- Core - General - Additional security improvement in CMSModule::GetTemplateResource(). - Now Smarty_CMS is no longer derived from SmartyBC (uses our own wrapper class) which prevents all occurrences of {php} tags from running. - Adds an admin directory .htaccess file to explicitly disable browser caching of any resources. - Fixes a relative path vulnerability in module_file_tpl resource. - Fixes a path building issue in CmsModuleInfo. - Fixes to parsing and generating moduleinfo.ini files. - Disallow any resource specifications with a * or a /. * This also means that no file resource specifications with path information will be permitted. - Move mact preprocessing to AFTER the template_top has been processed. So order of processing (for module actions on the frontend is) a: template top b: mact preprocessing (if enabled, which is the default) c: template body d: template head - Fix sureGetNodeByAlias to check if the input is numeric. If it is, assume that it is a page id, not an alias. - Fix alias generation in the ContentBase class to check if the input page title is numeric... If it is, prepend a character to it to ensure that integer casting will return 0. - Fix listtags to show tags using smarty_nocache_ function name prefix. - Improvements to the {form_start} plugin. - Fix silly, old issue in recursive_delete function. - Clean up more parameters from the content tag before passing to module action. - Fix local file inclusion vulnerability in listtags. - Now call get_userid() in debug_to_log instead of check_login() AdminSearch v1.0.3 - Now search the metadata field of content pages. - Fixes for single quotes in search results. DesignManager v1.1.3 - Set title attribute tags for edit/create template, stylesheet, design. - Remove debug statements. MicroTiny v2.2 - Upgrade tinymce to v4.6.x. - Adds new tabfocus and hr plugins. News v2.51.2 - Fixes so that all cancel buttons work properly on new News articles. Navigator v1.0.7 - Adds a silly __get() method to the NavigatorNode class squash some notifications in the error logs. ModuleManager v2.1.1 - Now handlle remote module installs upgrades, and activates via a 2 request process to allow new module versions to be read into memory. Installation Assistant v1.3.2 - Correction to assets warning Search v1.51.2 - Now do an html entity decode on all content added to AddWords. Version 2.2.1 - Hearts Desire ---------------------------------- Core - General - Improve the Smarty plugin loading to handle non-cachable plugins in the /assets/plugins and /plugins directories. - Fixes to transaction functions in database abstraction library. - Fix CMSModule::GetTemplateResource to no longer accept eval or string resources. - Fix CMSSmartySecurityPolicy so that debug_to_log is no longer an allowed function. Many thanks to Daniel Le Gall from SCRT SA, Switzerland for reporting the vulnerabilities. Installation Assistant v1.3.1 - On upgrade to 2.2.1 move all files from /plugins to /assets/plugins (they should only be third party plugins at this point). - On upgrade chmod the config.php to 444. MicroTiny v2.1.1 - Fix temporary JS call URL. News v2.51.1 - Fix frontend pagination. Version 2.2 - Canada ---------------------------------- Core - General - Automatically turn on file locking for cached files to attempt to mitigate race conditions. NOTE: On systems using archaic filesystems such as FAT and FAT32 CMSMS may no longer operate. - cms_filecache_driver now caches for 2 hours by default and has an improved cooperative locking test - Implement new database abstraction library that is compatible with (functionality wise) but improves upon adodb-lite. - Implement protocol-less URL's in the config. - Page tabs are now focusable (you can tab through page tabs and use enter to select one). - Minor fix to the {form_start} plugin. - Minor change to the {admin_icon} plugin (default image class). - Cache more items that are queried from the database, to reduce mysql load. - Minor change to tree operations functionality to reduce memory usage. - Fixed problem with order of content blocks when using {content_module} stuff. - Adds get_usage_string and the concept of a type assistant to template types. - Minor change to auto-alias determination routine. - Detect module_custom enhancements in the CmsModuleInfo stuff. - Refactor Admin authentication. - More fixes to the cms_url class. - Optimize the include.php file. - Adds built-in asynchronous task processing system. - Adds the ability to reduce redundant mentions in the Admin log (runs asynchronously). - Refactor the Admin log page to allow for better filtering and pagination. - Admin log now uses cms_date_format and cleans output. - Notification functions in the CmsAdminThemeBase function are now just stubs and do nothing. Will be removed at a later date. - Removed the GetNotificationOutput() method from the module API. - Adds classes for creating Alerts. This is much more advanced than the old Notifications system. - Minor accessibility tweaks to the OneEleven theme. - Fix numerous minor problems with the OneEleven theme. - Refactored the OneEleven Admin theme to use new Alerts classes instead of old Notifications. - Refactor the OneEleven Admin theme to display an alert icon in the shortcut bar, instead of in the navigation area. - Fixed sidenav in the one OneEleven theme now works properly. If sidenav is larger than viewport then don't use fixed... easy. - In OneEleven Now revert to small sidebar navigation (still floating) if screen is too narrow. - Removed notification settings from MyAccount and Global Settings. - Removed pseudocron granularity preferences. - cms_alert() and the new cms_confirm() JavaScript functions now return promises. - Revises much code to use cms_alert and cms_confirm() instead of the standard, but browser specific functions. - Fixes to the cache clearing methodology. - No longer check for duplicate content blocks in templates... NEEDS TESTING - New core events: ContentPreRender, LostPassword, LostPasswordReset, StylesheetPostRender. - Fix problem with the default parameter to the {content} tag. - Fix problem with the use_smartycache thing in system information. - Fix notice in useroperations. - Fixes problems where all files (including dot files) had to be writable before creating a module XML file. - Fixes minor notice in user operations. - Fixes for namespaced modules. - Fixes an issue in CmsLayoutTemplate when creating a template from a type. - Fixes an issue where a 404 handler error page would not be rendered correctly if for some reason the route did not specify a page id to load. - More fixes to cms_url class. - Numerous minor optimizations. - Add to content types the ability to set basic attributes for properties from within the page type definition. - Fixes problems with pagelink and link content types not being properly editable by additional editors. - Adds more type and content cleaning into the content types FillParams method(s). - Pass an explicit cacheid in to createtemplate in index.php. - Fix an error message in the autorefresh JavaScript class. - Fix problems that could result in uid=1 becoming inactive, and not a member of other groups when edited by another user. - Fix query problem in CmsLayoutStylesheetQuery with Mysql 5.7. - The {content} tag now supports passing data attributes to the generated textarea, for use by syntax highlighter and WYSIWYG modules. i.e: {content data-foo="bar"}. - Refactoring of the Admin login code to be cleaner, more efficient, more secure. - No longer allow any modules to auto-upgrade on frontend requests. - Fix problem with cms_filecache_driver::clear(). - Introduces the new Hook mechanism to allow optimizing cms_stylesheet a bit further. All core SendEvent calls are now implemented as hooks. - changegroupperms can now localize permission names, and add an info string for each permission. (the listpermissions hook). - Adds add_headtext(), get_headtext(), add_footertext(), get_footertext() methods to the Admin theme class. - minor refactoring of admin/index.php, admin/header.php, admin/footer.php and admin/moduleinterface.php. - now use hooks so that loaded modules can now add text to the head area of any Admin page output. - Change the help for the basic attributes. - Adds new 'switch user' functionality for members of the Admin group. - Re-factor the content page selector ... now supports two modes (one for a simple list, and the previous dynamic one that is faster for large sites) the simple list mode is used for users with limited edit capabilities on pages. - Adds a new Smarty plugin {page_selector} to the Admin lib. - New arguments to the CreateHierarchyDropdown function (deprecated) and adjust documentation. - Content pages now have the ability to control whether or not the page wants any more children. - The TemplateType class now has a help callback to optionally allow retrieving help for templates of a particular type. - Permissions are now grouped logically by module/originator in ChangeGroupPermissions. - Now use HTTPS for the latest version check. - Adds the public_cache_url config entry, and make sure that the css_url uses that by default. - Adds many core hooks. - Enhance the {page_image} plugin to optionally output a full HTML img tag if there is a value for the respective property. - Improve the {content_image} plugin to output nothing if there is no value for the property, and to output any non-internal arguments as attributes to the HTML img tag. - Upgrade to an un-modified version of smarty v3.1.31. - Move plugins directory to lib/plugins since we now have the assets/plugins directory for custom plugins. Upgrading should preserve any custom plugins in the /plugins directory. - Add new plugins {thumbnail_url}, {file_url} and {cms_filepicker). - Add more intelligence to the tableoption handling for DataDictionary::CreateTableSQL. - Minor improvements to the asynchronous behaviour of the locking functionality. - #11295 - Cannot change the name of a UDT, always creates new UDT. - #11080 - Parameter $adding in GetContentBlockFieldInput always FALSE. - #11093 - Bad error message in jquery.cmsms_autorefresh.js. - #11133 - is_email() fails on domain check. - #11235 - munge_string_to_url leaves trailing dashes at the end of munged URL. - #11287 - Password reset form's password fields have different lengths. - Fix issue with module actions if 'content_en' block name was given on the default content block. - Better security when saving content pages. Most primary fields are cast to their appropriate data type (int, bool, etc). MenuText, and TitleAttribute can no longer contain html tags like foo. - Fixes issue with entities in redirecting links - The href/page argument to {cms_selflink} is now decoded before resolving to a page id. Navigator v1.0.5 - Minor optimizations. - Now use pageid in calculations of cacheid. - Now output template help to Navigator. Installation Assistant v1.3 - Only create dummy index.html files in subdirectories we created. - Clear cache after step 9. - Upgrade routine now asks for, and tests database credentials. - Upgrade routine now rewrites the config.php file (but keeps a backup). - Set a few more preferences to reasonable defaults on install. Specifically related to site cleanup and performance. - On installation, now insure that tmp/cache and tmp/templates_c directories are empty. - Now displays if files are going to be skipped. - Adds clear option for development purposes. - No longer ask to save database password. - On install now create the assets directory structure. - On upgrade (for 2.2) now create the assets directory structure and move tmp/configs, tmp/templates, module_custom, admin/custom, etc. within it. - When using the expanded installer allow changing the destination directory on step 1. - Check for existing files in the installation directory for new installations. - Added more notes to aide in diagnosing white screens - Modify package .zip files so that extracted files will usually have 644 permission (depends on the unzip routine used). CmsJobManager - New core module to handle queued asynchronous tasks. Content Manager - Minor tweak to bulk delete pages. - Minor fix to the active tab when changing a template or design. - Now listen to the 'default parent page' user preference. - Fix minor XSS problem in the Admin if some loser puts JavaScript into the title field or alias field or menu text field. - Now allow filtering pages by owner, editor, template, or design. Only for Administrators with Modify any page, or Manage all content permissions. - Fix problems with auto-refresh being too fast for some operations. - Now auto scroll to the first matched page in a find. - Additional editors of a page cannot change the content type. Only owners, or users with the Manage all Content permissions. - Fix a problem with the call to GetTabElements. DesignManager - Move the designs tab of the main interface into third position. - Implement sorting in edit design. - Remove option menus (for now) from templates, stylesheets, and designs tab. - Modify the template list functionality in edit-design to allow using keyboard control. Space or + to select an item on the left, and right arrow to move. - Modify the edit-design functionality to allow clicking on an attached template or stylesheet to edit it. - Generic templates now display a usage string. - When creating a new template, associate the new template with the default design. - Add reset buttons to the filter forms. - No longer check for default content block in a template. - Adds the ability to export a template to a file within the assets directory, and to import from the assets directory. - If a file exists in the assets/templates directory corresponding to a template name, do not allow in-browser editing. - Add bulk actions to allow importing and exporting multiple templates. - In the template list, if a file exists for a template... display it in the filename column. - Adds the ability to export a stylesheet to a file within the assets directory, and to import from the assets directory. - If a file exists in the assets/css directory corresponding to a stylesheet name, do not allow in-browser editing. - Add bulk actions to allow importing and exporting multiple stylesheets. - In the stylesheet list, if a file exists for a stylesheet display it in the filename column. News v2.51 - Minor fix to add category. - Removes GetNotificationOutput method. - Add a task that runs at least every 15 minutes to detect draft articles... create an alert for this. - Add an option to never create alerts about draft News articles. - Minor optimizations. - Adds postdate as parameters in events. - now output template help to Navigator. - Adds new 'linked file' type field that allows selecting a file using the filepicker. - Changes the default summary and detail templates to support the linked_file field type, and uses {thumbnail_url} and {file_url}. FileManager v1.6.3 - Move settings to it's own menu item under Site Admin. - Fix minor problem with moving a directory. - Minor fix to move file functionality. - Adds OnFileDeleted event. - Adds 'view raw file' icon in each viewable row. - Minor formatting changes in file list. - Now display clickable path entries for easier navigation. Search - Convert to store all data using the InnoDB engine. - Use transactions for the addwords and deletewords stuff for performance. - Fix problem with query and record expiry. AdminSearch v1.0.3 - Fixes problem with use of 'Use Admin Search' permission. - Now searches for matching strings within templates and stylesheets that are stored as files. - Now listens to the HasSearchableContent metod when searching content pages. ModuleManager - Now detect if module_custom directories exist and are populated and warn about this before upgrading a module. - Minor string changes. - Improvements to error handling in the new versions tab. - Write a confirmation form for uninstalling a module that displays the UninstallPreMessage or uses a default. - Now don't allow disabling / uninstalling myself. - Don't hide the upgrades tab when there are no upgrades, but show the number of upgrades in the tab title instead. - Now use HTTPS for requests to ModuleRepository. - Trigger a hook before exporting a module to XML. MicroTiny v2.1 - New version of the tinymce wysiwyg editor. - Adds a mailto plugin. - Now use the FilePicker module for a filepicker, required rewriting the cmsms_filepicker tinymce plugin. - Enable the title attribute on the image plugin. - Now uses PUBLIC_CACHE_LOCATION for cache files instead of hardcoding tmp/cache Version 2.1.6 - Spanish Wells ---------------------------------- Core - General - Now attempt to detect if a template name passed into CmsModule::GetTemplateResource() is already a resource string. - endswith is now an accepted function in Smarty templates (fixes typo in security policy). - Fixes for CmsNlsOperations when using a language detector. - Fixes warnings in useroperations. - Fixes problem with cms_selflink dir='up' since 2013. - Modifies the OneEleven theme to set the meta referrer attribute for security purposes. - Modifies the functionality of the CSRF tokens to be more secure (only set the cookie in one location, only set the session variable from the cookie). - Increase Admin users list limit. - Reduce time limit for daily version check to 3 seconds. - cleanValues in Admin log and List Content. - Minor fix to the relative_time plugin. - Admin menu item URLs can now be built from the remaining members of the object, if not specified. - {content_image} and {content_module} now preserve order properly and support the priority attribute. - #11198 - Fixes problem with cms_selflink with aliases that starts with a numeric sign. Content Manager v1.1.4 - Fix bulk set-non-cachable functionality. - Fix a bug wrt content blocks and the adding flag. Installation Assistant v1.0.4 - Adds recommended check for ZipArchive. - Improves method of determining a temp directory. ModuleManager v2.0.5 - Improves functionality if ModuleRepository is not available. News v2.50.6 - Minor fix to editing news articles from the Admin interface. Version 2.1.5 - High Rock ---------------------------------- Core - General - Fix fatal error if an extcss stylesheet was placed in the Admin theme. - Another minor fix to clearing cached files. - Fixes problems where all files (including dot files) had to be writable before creating a module XML file. - Fixes minor notice in user operations. - Fixes for namespaced modules. - Fixes an issue in CmsLayoutTemplate when creating a template from a type. - Fixes an issue where a 404 handler error page would not be rendered correctly if for some reason the route did not specify a page id to load. - More fixes to cms_url class. - Improve the way page aliases are munged when they are supplied. - Improve the error generated when a page alias cannot be generated. - Minor fixes to the form_start plugin. - Minor fixes to generation of moduleinfo.ini. - Fix an error message in the autorefresh JavaScript class. - Fix problems that could result in uid=1 becoming inactive, and not a member of other groups when edited by another user. - Fix query problem in CmsLayoutStylesheetQuery with Mysql 5.7. - #11080 - Parameter $adding in GetContentBlockFieldInput always FALSE. - #11093 - Bad error message in jquery.cmsms_autorefresh.js. Content Manager - Improve error handling in Edit Content. - Fix a problem with the call to GetTabElements. Design Manager - Fix problem with resetting a template back to factory defaults, or creating a new template from factory defaults. Module Manager - Improve the way modules with dependencies are installed and upgraded. (Got rid of the queue stuff). AdminSearch - Use 'Manage Stylesheets' permission, not 'Modify Stylesheets' when searching stylesheets. Phar Installer - Adds missing 'Manage Stylesheets' permission that would not be created on upgrade from 1.12. Version 2.1.4 - Freetown ---------------------------------- Core - General - Fix to the clear_cached_file() method which should fix problems with module installation. - Minor tweak to distributed sample htaccess.txt file. Phar Installer - Fixes issues with respect to hanging on step 7 when suhosin PHP addon was installed. - Minor PHP7 Fixes. Module Manager - Fixes problems where all files (including dot files) had to be writable before creating a module XML file. Version 2.1.3 - Black Point ---------------------------------- Core - General - Security fix to prevent HTTP_HOST attacks. Many thanks to I-TRACING (www.i-tracing.com) for reporting it!! - Remove stub .htaccess files from subdirectories. - Update the included sample htaccess.txt file for security. - Fix for endless loop when calculating a page alias in utf-8 environments. - Fix for endless loop when calculating a page alias and a page name/title ended with - - Fixes a notice on the login page. - Optimize LoadContentFromId() to be typesafe, and use default page, if the id passed in is invalid. - Fix error condition if there were no default default design, or default page template. - Fix problem with system verification. - #10825 - Admin-account settings don't remember startpage if you set one - #10874 - When creating a page and the title has specific characters, CMSMS stops responding - #10910 - content and content_module order incorrect Admin page - #10911 - 'Use Admin Search' permission not being used in 2.1.2 - #10921 - Content Field to Display in Name Column not used AdminSearch v1.0.1 - Minor fix to permissions checks. Navigator v1.0.3 - Improved exception handling on install News v2.50.5 - Fix error condition if no results were returned. Installation Assistant v1.0.3.1 - Tweaks to README files. - Improved error handling in some circumstances. - Fix some PHP7 issues. FileManager - #10871 - Filemanager moving folder Version 2.1.2 - Andros Town ---------------------------------- Core - General - Minor fix to missing language string stuff - Fixes to home page preferences - API documentation fixes (minor) - Fixes for ajax_content (the Ajax routine behind the parent selector in edit content) to handle ordering inconsistencies - Remove die statement in is_email - Minor fix to the relative_time modifier - Upgrade CMSMailer to 6.2.14 - Now do a check for E_ALL in the system info News v2.50.4 - Now all field definitions can be deleted - Minor fix to default action if no results were returned... ModuleManager v2.0.2 - Revamp module dependency calculations when installing a module - Minor fix for some notices in install and upgrade modules - Minor typo fixes - Minor fixes for PHP7 MenuManager v1.50.2 - make sure that uninstall cleans up properly MicroTiny v2.0.3 - minor template fix - fixes for stylesheet overrides Version 2.1.1 - Nicholls Town ---------------------------------- Core - General - Fix the template compiler so that content blocks can be placed within sub templates and detected with the {include} tag - Fix minor problem with checksum verification - Fix to the cms_cache_handler class - Minor fix to SetAllPageHierarchies() - Correct location where session was started in frontend displays - Fix the default option for {content_image} - Modify the locker to use a beacon if supported, when unlocking - Fix missing permissions when a 1.12 site was upgraded (installation assistant) CMSContentmanager v1.1 - Minor template changes in edit content wrt. locking - Adds ability to clear content locks (Admins can clear all locks, regular users can only clear their locks) - Enhancements to the action to bulk set designs to show only page templates by default, but to optionally show more DesignManager v1.1.1 - Minor template changes in edit content wrt. locking - Adds ability to clear template and CSS locks (Admins can clear all locks, regular users can only clear their locks) Version 2.1 - Bahamas ---------------------------------- Core - General - Minor performance tweaks to sample htaccess.txt - Minor fix to the ProcessTemplateFromDatabase module API method. - Improvements and re-factor the way headers are sent wrt caching - Add a new method to the ModuleOperations class to allow a module to be within a namespace. - Enhances the Group class. - Enhancements and fixes to the cms_url class. - Modified the $mod->smarty reference to be smarter... it is now deprecated. - Fixes issue with https requests (#10697) - Modifies The CmsLayoutTemplate class and CmsLayoutTemplateQuery to allow filtering on listable or non listable or setting a template as listable (default) or non listable - Fixes a problem with styling of the login form if tasks must be run AND a module needs upgrading. - Fixes to the cloning of templates in CmsLayoutTemplate - Fixes problem with SetAllHierarchyPositions that cleared the entire cache instead of only the necessary part of it. - Adds the unloadCancel handler to the lockManager jQuery plugin. - Moves version.php and include.php inside the lib directory so that they are easier to protect from unwanted direct access. - Fixes to page alias tests when manually entering a page alias. - Missing language strings are no longer output to Admin log, but to the debug log. - Requests for modules that are not installed/enabled, or for invalid actions will now result in 404 errors. - Fixed problem where restricted content editors could implicitly change the page alias. - Improvements to the system information page, particularly the bbcode output. - cms_init_editor, form_start, and cms_action_url plugins are no longer cachable. - Adds the 'adminonly' option to the {content}, {content_image}, and {content_module} tags to allow only members of the 'Admin' group to manipulate the values of that block. - Add a trivial check to the sitedown message to make sure that it is not empty. - Minor fixes for PHP 7 MicroTiny v2.0.2 - Now add page hierarchy to autocomplete text when using the linker. - Now use $smarty->CreateTemplate for clarity when compling the config template - Now explicitly assign urls so that they do not get caced by smarty. - Slightly tweak the default HTML content in the example tab. - Updated tinymce to the latest 4.2.7 version, included the 'paste' plugin, and turned on 'paste_as_text'. - Added the ability to enable the table plugin, now distribute the table plugin CMSContentManager v1.0.2 - Fix problem with pagedefault metadata. - Fixes for handling no listable templates for a design - More work with locking. With only one exception all locking and unlocking is initiated via javascript. - Minor fix to copycontent DesignManager v1.1 - Adds ability to toggle the listability of a template. - Fixes problems with lost changes if there is a syntax error in the template. - More work with locking. With only one exception all locking and unlocking is initiated via JavaScript. News v2.50.3 - Fixes minor issue with pagination in News Admin console. - Fix errors in the default form template. - Fixed URL to long issues on redirection after adding/editing article. Search v1.50.2 - Minor PHP7 fixes. ModuleManager 2.0.1 - Minor fix to which modules could be uninstalled and deactivated. Version 2.0.1.1 - Adelaide ---------------------------------- Fix to the $this->smarty magic method in the module class to resolve to the action template or the global Smarty. Version 2.0.1 - Adelaide ---------------------------------- Core - General - Improved optimization in ContentOperations::SetAllHierarchyPositions. - Fixed return type of ContentOperations::GetPageIdFromAlias(). - Help for the {cms_html_options} plugin. - Change the default page template to use {Navigator}. - Explicitly force $smarty->fetch() to create a new template, and therefore a new scope. Keep track of scopes in a stack. - Change prototype to CMSModule::DoActionBase to pass in the current template object. - SITENAME is now assigned as a Smarty global. (fixes some variable scope issues) - Fix problem with changing content types. - Fix problem with CmsLayoutTemplateQuery wrt the editable option, that generated an SQL error. (resolves problems where people have additional editor access to templates, but no other design manager permissions). - Fix minor JavaScript errors in plugin (error checking). - Fix problems where If assign was passed to a {content} tag, do not pass it to the module on a mact request. - Implements the completely forgotten 403 exception stuff and the IsPermitted content method. - Improve the cmsms_dirtyform jQuery plugin to support the unload handler and an onUnload callback. - Fixed the jQuery page selector plugin when the current value points to an invalid page, and fixes for asynchronous Ajax. - Adds a globally available cms_busy() JavaScript function for the Admin. - Fix problem with html entitites in email addresses in user settings. - Fix problem with {content cssname=string} and quotes. - Changed cmsms plugins to use $smarty->getTemplateVars() instead of $smarty->get_template_vars() because of scope issues. - Minor fix to {form_start} when not used in a module. - Improved error handling for cms_stylesheet. Now will generate a message in the Admin log, and an html comment on error. CMSContentManager v1.0.1 - Fixes for changing content types. - Adds a title for some contextual help if a template is not available for a content item. - Clear any locks if an exception occurred while submitting a content item. - Improvements to error handling with apply and preview. - Content list now refreshes every 30 seconds to display up-to-date lock information. DesignManager v1.0.1 - Clear the type_default flag when copying a template. - Clear any locks if an exception occurred while submitting a template. - Clear any locks if an exception occurred while submitting a stylesheet. - Template and stylesheet lists now refresh every 30 seconds to display up-to-date lock information. - Fixes for design exporting templates with protocol-less URLs in them. MenuManager v1.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). Navigator v1.0.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). - Minor change to the help ($node->children_exist) Search v1.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). News v2.50.1 - Changes to createSmartyTemplate calls (now use $smarty->get_template_parent()). - Fix problem with custom fields not being assigned in fesubmit. - Fix minor problem with html entities in the detail template parameter. FileManager v1.5.1 - Fix minor problem with Smarty scope in the drop zone. Version 2.0 - Australia ---------------------------------- +++ Initial Release +++ CMS Made Simple Version 2.2.16 ------------------------------ NOTE: Although all efforts have been made to make this release compatible with PHP8, you may experience issues in some server environments, so testing is highly recommended before switching PHP versions on a production site. NOTE: Most likely not all 3rd Party modules are compatible either so, if you find issues with theses modules, please file BR with the respective module developers. NOTE: We have dropped support to PHP 5.6 in this release. The minimum PHP version now supported is 7.0 although we strongly recommend 7.4+ for security and performance.MANIFEST GENERATED: 1774560244 MANIFEST FROM VERSION: 2.2.16 MANIFEST FROM NAME: FINAL OLD MANIFEST TO VERSION: 2.2.17 MANIFEST TO NAME: FINAL NEW MANIFEST GENERATOR: build/create_manifest.php CHANGED :: 70767053c518fcd9485e96e2d6abffa1 :: /doc/CHANGELOG.txt CHANGED :: 9d04503fe6d9257c1d3ee6e276a9c38a :: /lib/version.php CHANGED :: 18c52f88b60cdc1737eef119ef6a3415 :: /modules/Example.txt ADDED :: 6b14392745f21758df5420b8e71a85fa :: /modules/Added.txt final changelog new PKz\ӈmodules/Added.txtadded final file PKz\adoc/CHANGELOG.txtfinal changelog new PKz\ْA]lib/version.php/(Rq s SUP7334WFsuɺy9(;{:"`PKz\"mXmodules/Example.txtnew final content PK?z\ӈmodules/Added.txtPK?z\aAdoc/CHANGELOG.txtPK?z\ْA]lib/version.phpPK?z\"mXmodules/Example.txtPK7[[wSG~_8K J 3@5/ZUն,yI2 ׶Nؙ ٲR]z^>~go>xճ׏>{jR߽>{Oyv/}o:}wo|Yug?>|̓`$[cpRB*b1ܳsw]lJw^.ey\xZ_vx}!ruu\j'[^al+jư3Ak1֢KpYl GW\mnlΧbX-|F蒢 u8nb= ʼ^ Zs:zF[mbQcMTlfds}JxTLqeM$ v&V^$KqIWۨdGV=ZBK]ƚ~^Hڜ!|ήJX$4ږ_m92}ݯldӵ`@PkAC'ng}%NvޡhMIn#@! :zX4I7&HL A9LMjSGqHa?{зx)n}4/k|{H8)aS)$WM#IXѩ%-DH3wt &QVwr`٥4jc##N]4T%Q6 fF϶KSќ9dRPPO})?CzvZa-7G .$mga`k_$}'@%<B@s=ݮoUQV^b-$qXK5dONE3!ZpФ츫x0^os$ )e2x>R J\|6FAD6!o1 Vf7 iAXV-3}NNf&r %_m#<1 {XMS1Q*Vdk -Tö@ Ujڑ(I{sdLqMiB`œk)`G߻|dDʜE"id+G9wŏ?L{ң)al*"yNI! 5!q"]f4ݑeSW1($C"͊^w8cixxZvJ(狷OƀխA d/eAV6:vO^Ⱟk=jf)fד 9_bI1Y)!3Zr9d+ rD続@0;'LZ .64zF6f6}Bm%ǒ^3ڒb o[T${B}͋aZd ZaZCfb`gYO ;glS I])B|5BP Ҭ(n+K5(͍ǐNfbٷal,kGgZBA̠r`nI blte,#1)KҔmArjaT?XZCgip$me(AZNY~3W `/PCƑ6[";\"p\BAaLB2f*;!Edt~`s3JpAwVDlY-~T AW(XԨg|Se\M'|/4%+׼xtqs3o P&TIYh)wk3ǵqBO!QW2@ 7n 1|Z'0vW'm%Ml!;RQ P+فI,œGO![j 9Cb⇓H "&!g~8yiI!RBKȶ=,-ӲV8g!g(0SA[YP[x3 *wk$83%ɶ+z*ky6cNx锧RwDlq6jE -=5+H)Lry&jj *go iTl\gUnZ=Cxm@ `U5V7kCWe`! ,J+S.D1<8xpT9B 0{o^גa2)lz 5w5^0P&w2Ҡ̣G@ES]6xӠ3wW{\^?XfݗgSɧP_K-R0(b}qba bVAҸ0Ȥ =FV=<,}[\݃ZCa6%y<~77π 9:qQ=7'jz`V  Qew엛Occm]wA+oh-Ī5ѱxsC%b~Cֺ); z< vy~vMjI*4]ek[i_ \EV>mː2 @(S-/iMg=^b!y1cӬ ֆ@Y?ha; .g)3v7IkTUtccɓS?SD=-&n}h[kX露+vqv:=)b}-z$.m<ʓ34G (ִ:n9=tNw%{VMDWR ɡ p1 "0,v') 7<'l)U#N2HOh٫ RֳV341/ٔޜ&x [-ō?'U\ZmE6nP0a!c3{J( f,5VY{v kq]\헧VA-Tn8M/ޟ?BV<+-^NS% $1'w^7ۻW,NRhcO !#Wiw-W^-l4A| rIB^v2SKJ4N@ Mѱ9K2 ]XjoL.v}s 0C`=PUw|Q2$S*@%tZzԾ^`iED*|p!rȽ$Rb~ xR1)eFPآǣ{3]bq!ENо'84 a]8^nsSچ0,#80Zj#'ƗB1(Z@%xsH@-X$sXa~>0SCZͥLV6M' G貹D9r8F%Y:Nrkew rt3fZ#9HX".y@٩(Fgud5hdLJzSm#nǟO/p]vh/JJrc:A^GTn?rZ!Ud;AMC`*DqǶӧ8)Qh|Q5(']9~ ]#8d-(ê1<(%lx9a. [(#/*jĵ1`_S&(:6'y| !\;t)Ӱ:qQ kEwm=mP_İ0"/BcfN28Ce8 tw0,P[0, WXZswsqAVersion 2.2.2 - Hearts Content ---------------------------------- Core - General - Additional security improvement in CMSModule::GetTemplateResource(). - Now Smarty_CMS is no longer derived from SmartyBC (uses our own wrapper class) which prevents all occurrences of {php} tags from running. - Adds an admin directory .htaccess file to explicitly disable browser caching of any resources. - Fixes a relative path vulnerability in module_file_tpl resource. - Fixes a path building issue in CmsModuleInfo. - Fixes to parsing and generating moduleinfo.ini files. - Disallow any resource specifications with a * or a /. * This also means that no file resource specifications with path information will be permitted. - Move mact preprocessing to AFTER the template_top has been processed. So order of processing (for module actions on the frontend is) a: template top b: mact preprocessing (if enabled, which is the default) c: template body d: template head - Fix sureGetNodeByAlias to check if the input is numeric. If it is, assume that it is a page id, not an alias. - Fix alias generation in the ContentBase class to check if the input page title is numeric... If it is, prepend a character to it to ensure that integer casting will return 0. - Fix listtags to show tags using smarty_nocache_ function name prefix. - Improvements to the {form_start} plugin. - Fix silly, old issue in recursive_delete function. - Clean up more parameters from the content tag before passing to module action. - Fix local file inclusion vulnerability in listtags. - now call get_userid() in debug_to_log instead of check_login() AdminSearch v1.0.3 - Now search the metadata field of content pages. - Fixes for single quotes in search results. DesignManager v1.1.3 - Set title attribute tags for edit/create template, stylesheet, design. - Remove debug statements. MicroTiny v2.2 - Upgrade tinymce to v4.6.x. - Adds new tabfocus and hr plugins. News v2.51.2 - Fixes so that all cancel buttons work properly on new news articles. Navigator v1.0.7 - Adds a silly __get() method to the NavigatorNode class squash some notifications in the error logs. ModuleManager v2.1.1 - Now handlle remote module installs upgrades, and activates via a 2 request process to allow new module versions to be read into memory. Installation Assistant v1.3.2 - Correction to assets warning Search v1.51.2 - Now do an html entity decode on all content added to AddWords. Continuing with our commitment to quality code, we are announcing the release of 2.2.2 "Hearts Content", a security and stability release. This release fixes or blocks a couple of very important security issues, addresses a number of bugs that existed in the system, and generally improves stability and usability. Some important things to note are: a: The security issues addressed effect all previous versions of CMS Made Simple, not just the 2.x series. b: Due to the security fixes, Smarty resource specifications with paths or wildcard characters will no longer work. This will affect a few third party modules--notably JMFilePicker. The maintainers of affected modules should be able to address this issue without too much difficulty. Additionally, any and all occurrences of {php} tags that may have been able to function in old versions of CMSMS should now fail. c: We have once again changed the template processing order, specifically related to mact preprocessing. Now, mact-preprocessing occurs AFTER the top portion of the template, but before the body portion. This specifically addresses issues with multi-lang sites. As of now, the template processing order is: 1. The top portion of the page template 2. mact-preprocesing (if enabled) caches a module action intended for the {content} block 3. The body portion of the page template 4. The head portion of the page template. d: fixes to cms_selflink, to content pages and to various API functions such that entirely numeric page aliases are invalid. This is to prevent them from being confused with numeric page ids. When adding or editing a page, if the resulting page alias is entirely numeric (i.e: 12345 or 123-123) then a non-numeric character ('p') will be prepended to the alias. aliases such as 123-foo are not entirely numeric and therefore are valid. e: Upgraded MicroTiny to use TinyMce 4.6.x and added the tabfocus and hr plugins. As usual, a complete list of the items fixed and changed are available in the changelog that is displayed during the upgrade process and included with the release. Because this is a security release as well as a stability release we encourage everybody to upgrade their websites as soon as possible. Again we would like to thank Daniel Le Gall from SCRT SA, Switzerland for identifying these vulnerabilities, reporting them to us in a professional manner, and working with us to ensure that they were resolved. The CMSMS Dev Team now only officially supports CMSMS 2.2.2 and CMSMS 2.2.1. Therefore, it is to your advantage to upgrade as soon as possible. Thank you, and have fun with CMSMS. GetOne($sql,[ 'Manage Users'] ); if( $tmp < 1 ) { status_msg('Create missing "Manage Users" Permission'); $new_id = (int) $db->GenID(CMS_DB_PREFIX.'permissions_seq'); $sql = 'INSERT INTO '.CMS_DB_PREFIX.'permissions (permission_id,permission_name,permission_text,permission_source,create_date,modified_date) VALUES (?,?,?,?,NOW(),NOW())'; $db->Execute( $sql, [ $new_id, 'Manage Users', 'Manage Users', 'Core'] ); } MANIFEST GENERATED: 1774363425 MANIFEST FROM VERSION: 2.2.22 MANIFEST FROM NAME: Saskatoon MANIFEST TO VERSION: 2.2.22 MANIFEST TO NAME: Saskatoon MANIFEST GENERATOR: build/create_manifest.php CHANGED :: a0ab903c2898a5bc50c736b52dbcc048 :: /doc/CHANGELOG.txt CHANGED :: 238272e60b7688002223365f4c4e0949 :: /lib/classes/Async/class.ExternalHandlerJob.php CHANGED :: 04df720b997a67508085cd2a46db1b98 :: /lib/classes/class.FilePickerProfile.php CHANGED :: 90e1975e0ce210bd138538d228e30924 :: /lib/classes/class.FileTypeHelper.php CHANGED :: bb430cfe09b44bb080d94895ad44ca20 :: /lib/classes/class.cms_http_request.php CHANGED :: fe3a8f891811a4fb72d312f1b682e473 :: /lib/classes/internal/class.CMS_Fixed_Resource_Custom.php CHANGED :: a52762faec1bf58423f3e81e2df4fa5f :: /lib/classes/internal/class.LoginOperations.php CHANGED :: fd857186addf9df2a10103a5ca34e7b6 :: /lib/classes/internal/class.Smarty_CMS.php CHANGED :: 77bb3c0bc1b1b334d22815f72192c51c :: /lib/lang/tags/en_US.php CHANGED :: bad7d229261b94e4a8ac339439d70c80 :: /lib/plugins/function.cms_stylesheet.php CHANGED :: 7dfb8ab63e6cae856fe754d4797d43b4 :: /modules/CMSContentManager/action.admin_copycontent.php CHANGED :: cccce3db760f901e581a46f1502ae68a :: /modules/CMSContentManager/lang/en_US.php CHANGED :: 1b92cffef88f2fe1eb6ea6217fc3054e :: /modules/CMSContentManager/lib/class.ContentListBuilder.php CHANGED :: 1191eb06c15c28c915517f42aac46992 :: /modules/DesignManager/DesignManager.module.php CHANGED :: 0b74d2eb1c2ac91f782296a9a6f8d341 :: /modules/DesignManager/action.admin_export_design.php CHANGED :: 99c8ae2a05ec594735892ed5a2d2f5c5 :: /modules/DesignManager/action.admin_import_design.php CHANGED :: a04055f5191a2f86b81f15c14d1cd174 :: /modules/DesignManager/lib/class.dm_design_exporter.php CHANGED :: 8a5e1f174e7b599b3288bee6c03089a7 :: /modules/DesignManager/lib/class.dm_design_reader.php CHANGED :: f252fcef7a12c1140463937a1d32a1e0 :: /modules/DesignManager/lib/class.dm_reader_factory.php CHANGED :: fbc14d7d9a99ead418e583bd98a560bb :: /modules/DesignManager/lib/class.dm_theme_reader.php CHANGED :: 86184d40ccbd6457b15d919f76c99dea :: /modules/DesignManager/lib/class.dm_xml_reader.php CHANGED :: ffc3b53033140af1409dc0732919af93 :: /modules/FileManager/action.rotate.php CHANGED :: 130b4d265cf0abee34527f7e9317cda7 :: /modules/FileManager/easyarchives/EasyTar.class.php CHANGED :: e99a37adbdf936171dbc52c7085ec300 :: /modules/FileManager/lib/class.filemanager_utils.php CHANGED :: 64898b54612f918d438ef1c03612c860 :: /modules/FileManager/lib/class.jquery_upload_handler.php CHANGED :: 960cd0dfcf26ebca15bc6ac518e900de :: /modules/FilePicker/lib/class.Profile.php CHANGED :: 324680825d365350b3f39205ed951ee0 :: /modules/FilePicker/lib/class.jquery_upload_handler.php CHANGED :: e2832f492faff00d3052c6cdafdecfb9 :: /modules/News/lib/class.news_field.php CHANGED :: 1d628986a8add417fd768b2158975caa :: /modules/Search/Search.module.php CHANGED :: 9c9a0841b49ce2abe399f486c8e06f03 :: /modules/Search/action.dosearch.php CHANGED :: 81ba3b894327c25331b3d4db822db8d2 :: /modules/Search/changelog.inc CHANGED :: 99dbb6db7469b253c2b5b58992f8eba0 :: /modules/Search/search.tools.php  YrI}~;='yUsH*I3_?,3`UI큰}Y{/׫vWxfsX{]{Ϸo^o\q?{YYbZs="W837ͫ[vzq)MJEFOV\5ɚSh|XȰ;\?́[/%f(TzMSLD9> {N V[]Th޵2'M< yZMv2>Z]*\f1$Xk.yj.ɨQ]0XOκ$+1S2\셊R ?.o&D>͕ۤ&9DMKg[nh;fxL)uyM >ejEk`W0bDm>XV #<]m| ls{.>gQ<1'd'ʬ4EşT"z&X %yim|9,{$vh%8{TE9S`+ޯ'h޴,%ZznP)N;L5G;>OJv,)Icء6{m?L$"H6tB"! >X>v+XF8Zg?E尙!FL\Eu 1<[Zwk'D8In;rؑJsHk^Ř1PCeE)МsrBHqU %~i;4ScT ٵ첱xCCM+u)hѨŗ9U3᪤ߕ0LFx$K ݫR/ nE1D kt<5DhẽQ(bԧ: 5>5Խ3z?0bW H!;:4sY #%eI֢uR- j71gp'I.3PǻrTj~73r_RUϣڠ(+7vtl}cUz5a2Cؐ=\'Lܡ8|AV;&Z+8-Bv؅m%Xk]v8Зc5WEQg c2Ks0Tvfr Gbe(j`z@.>7ؿJt:ggE1dϸ! z~Nۭn?'+rr0bA+{-Vǻ8rMN pIZG3:$!?uI~M#h{1[>ɴwg+ÕzE=].u)zʹF IA`DkFʏ,ެnq~JwUi̭3k U%9r PtG|u6oX}!ͷ":ZGO}CO^XP5[&0Os Nz^JwRś'??s3dᒕME ,x,WxZ@^o3Sn=Zd+` .yJA?ʄ bJ4U V#i䚃/O]~f2G:t J9YGNH39P Wc])aI7R/*euQLN2k aɪy*EG 2< S.="ruVT5N+] w3vF6Ĩ7:o6xK]i)4̄Ig7Ev\17 NwopPp(O_aԍC|(6|}ܪv4eqpА-@y;(bh9LA$b#o̐Ê?Qe2sh27$Cb# vG-~:? T]RR~#Dg&$ s)HUIff{?|7~o~o>8%S?oo_뿼Kvy?ݟ?xX_%-۲niffo__$o]4T5 U߼ZiyoXv g]ǐj7>/{8w3AEѓֈnz,[L6gѭ ^m=*EҥZ{uI64_~LX WMmy۳ xFWHtƚU+Gk1❄֥hƔhȹJ7H3,-iosZA%)!?u&SlZ!R&373ADbƬ ߄^{Uj_o|*JVKO\DRYzmꉨދz[>My^)]^uQLt|@(_m}/oHQ:%gf!|H^osɹ.`_[Rׂ] r⫿$;Ku1*k+˫Wɻ]xڣNUigc ;E8w,U8SXjuZ{GbLjN#hYJ[2j:L~*zuw;Q2^m;MFvM驌̓y$JCš'+0~M;Xx"?!`"9K 7 G&5e>.v35Jg%h]uSzy?)mW%tk)z|iS+r>/Dժlzas!W2J9P 9 ¦(}Lӆ~c&,bA''sIi; 6'Xm[_V(hXr0.|͜LY 6ws &$jHdTCXffiہ ,KA j Oxt|$m{w93ts-lfƛJb?:ۋѽ M,@di+d.6k0"$hJ{y8?l6,LxYiy~SMB _٠l?~.$'*YZkl^>2^c݊G%ת?9>2\aGW@RN܀N> dlyEQa a"ÍyT~, UKQ*x``LHJ5①Zmod8|_tk5a$!CKu (Sы *(_\quEh n"Gvf˻"Gװ %C2+\ Bxr9DBe)Da(i"-tѺ8Z0V$|^tyc;>?|O>'I%-y7\qC1#D! S0J,a li$0 +# [GjZ|3IYH,!_2Ra q(-f&bUpVvAu{5p߮d5 x6 <{EF8JY|s~ Hڔjx/Xۂc◹$7J bhQ6C+PBh`z7 !KUxWهo+ H qo>vnL 4 p49'W>q^G18<*(`}+ ^ü9AHnnʦUP5 6XY ̛t;hs6Th׋o$p.K:8[m6w 6p P9$E;auVeP߰l`K.Xn_f&[;4PM(Ы,⻯TbӡbKZT ƒK,[fflH0IhI֡⻟V(]6#3`M5{|# ۩U.`xlOc_qdèaJyDj6c@q\a .ؘkF+`Y |I#I7[] Pf!@I RoFW|S)?Z͔ucIW.FD;nS<v=t{q.'դ.<)1bpn`- lji@>\ > VI?ο]*6`Wh*` ?S;iAb_B\k/CIOSA!R!#`\mmvOH3@w!By 3樧3AA|A 0opki݈WaL4=mVw` 5llkU6 (jD^ SF~_# `w>;k !!(6t繍yl.hvGPv[ XF$e0@"='D-&ߨ:\xWmp@@!#qLJWOWF61Hek =~=A/-ڤL*xl,ddŗOOo%E ia.U \6lnRW|]0 ER@m $X*Ղ YWũ |!Ç:HƣO+'doF3  5`C|.`Ϳ-ZL汿B^O3;К\xrn" ^sp:MG|lNSxruy,|=KI|&>p䀟=g*eu78pENbg;?ۼw7eU~{,Z |TT3xe`OvL,4w'S@0p ˪c.o#"xkeU.l 9&zx C45L.O"fBohjp% ì,֖Mje;,)y t?fy3? j\'HO1xC)/Me@^` Ij2XdQ{/sJ0+=zpA٦vpe5ܺ ~9V0ծ7,v4rE+ o3bVx%@u>3Oٶn1]Pxδ)]f|+0$rnj@7mt@!jjخ HJ۶t鶽z{`]p`yqu^_\=v\tA:z鞳}(s5`f!Ы$)BʻcByPiURoCPBz\A.* 7b/5Ն>]' ^J7p /ӷv 4^,<(l0w|xj3 2 3=fS,BAZw j+mC,5&avL P[/ oRz+x5ZP?GhE0wzECfEVkxʇk+ R*8Nx`\0ocJ\l׭ĆiՈGV7H i]IObc)=ܺB@؃17,?S OM?쓟+> PvOSUE?r3ye2#B%]=* [3vk=2\ݛ2?:Eߘ)@}o~bJ5d}s۾?f2X?sV#xû vHtl @5,?ٶJyϠdZxۺM5hXtֻcQbF|ByT?BN@P "~OE]}@_xS=D ^_fa<@>,_lV}Pv4Ɠ BS-9Bղ'G/|髌IAtX5Og^$@ITl)±Wh֚ [铀'anL w`,XL= @Js)/\yS67n8cD0`2AjiL2HV18^ :̓k%{IgR.BZp`rHGw~]ݕWbyKk@jP9%S@4B:АK ߫ڼ3T|TtDpjEHնf.T  院#>bsYym{:YQ]v;Ǣ l*.xm,):LoZ.j?B&C srڴz%^A1r)D^x]d\@$es?JOW7?--;& ïدtU୎;Wj~3U Hjk9*/#FpnfJp+.a֭ ~!d^A&OFJ竘_ ctP791АԹ_s˻Jb,e0N;aK6 f a |]a\Bh x@DDe943iT:|: ?WǮj+\H慚 b^*wܤ_kRw'`Rʊ/ūyn >a zj 8ocV6*Wה/"Ujɚ ;8f22 vY|v25]S +UY+x 4ہM!#:k 0|>_Ͷok>80^sH<\t)r%h @V&vW "Z gou3- 'rS™ϛZ#`P\]wj[̪|aIxX 7D>^̴R˴̭ 8*`l,@A( /%fbV>[zWB˝n}u5C.5ރ#dԪ2pU yP]6,_:Yag;=,aITX`D`^+@?;`c<4&L,D^7|d Ji)X)T@2x v좮cIܺ"y.shNg睽+ٮ'$x9AW,cdCݛ{xldD  º`s0MQZ cFsJ=<[nak 83ehlWVyrIzKo9X(?B6J6@j xOI|3PE-9retO'^jvUdvlUL/ YRd g8Ϫ7 L9 뤌gR ߤxTjiEU{Tx.u^lG;UƂհyuLVABmsAmLsO5;ir{it ͻleBYEU6gf5&  HH߱Hj_u[NK3%O#b4l5^kƠdBaiZ]On`%"kTr9%NaZKͼ<ҕJcŜ M"\f.ed<X_2?]&UӀ oyd h-5*j Jx}lhk&IM. I7wedN1'z /3G2.[uΣMl+ QjMo>dqh ގT8 n}@LN7#1$ox " %I8eWU}Wn6+X{H^5rO%ws$߃*f %,D:}Y"E BdcpL1X *Z9ݲQbړcs=๢EJ6ҘEbs}AaO|U`'Kȇ2"EYlGmg%j5>MώI] ,o8/5iHƘke: (oJ*cʞ(zY+?lu]=s=v4XJ8b ]pN4c{dUeW 蚪 #oLFDM6Kpoڌlc.UavR}s9e,!b(N0\iG)m\\ 2k?T賦O_3'x{Y(LVK&QKt{ʮ^n&qMLxZo@^6^RnAf[plLC6f1M7q ޲5r "}E͖؂vyTX O5ݱ[2vx\SJ/T7_I # X- ҀietA 3*גR=3ѹ9U PXRF-{%ovSFOnV՞+6`2/L DXr A@a`_mZZ+ݻLBZ`,bp+\^ODa!5UDV{EI3LȲ̿U25v8 :&fn/5~MKUH(oy왫Lد[[b.Bp;0! SKtw_ 6Q7c.Z͇F0d|+^T&.^mP= Pt@BHxƺk^&~p@[[)}'k|j[2NRe+g.Jd &(caWlz1:gLu*l %׬J]M3"|IfB:Ŧd!C]KEh *p bm g䋽T 2\yX={/P?{c3W w-,ki=jŅ, U?|uO5R1C1w&Gޭy>bC+OG5YW8y4syzK"9Wvz)X4l2 pYieLH>3Vl$bOo%f@;г0&_%H{g&"D2)Pʚ Xg;dҹ*@Fj$c#~-b0|=FqH2V 07Mc0cFB)GPڰSÎkuG)cbTcV!35fHxzASKz8i8Y8s!\]qVԛK]h`۸(- nm[ܬ9KadE7A E9[N9,)}ʸSbTp]ŮXKdv9[Weft88:٦E*$kTp4{if8LuǨV ޺%UT\ɛx,8%Gi;/X$ht9 3wڃiffS:s@+z1F? Orllp@綇 g?U|X6`dandd{TK&%6,:Xp+pܯ7Fsutgll\`MY~[7>'VKp5ÜB2N\ϴ ,F.]A*0:0e7de}orɂs,lɛ-pEj;Y [}:-֥貓4]+Mx\KkV855xl:O]fhG#N_K"4ψNJr:kr`7ݗY _iwK3{(SA9ٻ-pk$7p G=f3e { 97Wyυ53獾@Yrw51tkNT|+E1J56lOrQ^ |@.!Z⌱Tl>rB@ŅMpl_]M(XOzI0{P.f"z!Y-s2qrΈx?g<%g:GjOgqZ}2MM~l(|^kD lEq>'.?hr$toVW6m]@jŖ3IۮVQ0biR*}_O`_~yxLH2ъZ^ U0r_o|X%VcrNl`_%>fcX睇N7vHlf4hox$؟!jSWedMzu<_|R%Yd#B;6z6,JK SC" /Ay=۸ vSL%s߮䯻ѺhEa._C D@! j2 !Cq>3%2PQDHXp;j紙OOc dXL=({koڴϷiK6?(b[ 0N^r:IVs촷$YPE1I~֝Mcb)h5pԚv>줱wXs}VVmU өE>Lb@.(!59koqv09 #0 Dg0)-#i4Pehxgi9O޸<XDezf[G }FߺvDFL[y_q_vy~2^1z085s%'0!w7g_Ayq"i 0(䃼mNiJ%42lS.Ê]~ǧy^bЖ a=Qԧ˛9!ų] K t60M>"sycQVb呅5[|bIq 0K/ \j`} AG 1Պ1@ieҊI :QXu}4DХתBQ5kV7瘏ʽo5GMBQ\Ű^CW7}9M @5YgiK'+S/T![Vdb <̗ ɈC~fi5 UK Y@c<{9l &  z S lsT?(4̥ #i,h= sl9=".;Stј,(bJ1Uַ}#yK[l,x*[l v򎮂 *HE"X" mzDwYKIk ʶvpy(-Yhҙ(l2] o,O."V!GKr8T?,o˛1cVƦ`'4]e-{ˋ yX,vhd3&âBڦ. B9;8Pcod5- E?G S3O׊gnt}EPB$&B/1"\vKT9ήXvo#ㅟfuЂmΧ ݣZԹݙ.ȢːXI01R(yk`uDW&'meO cN,s'Kޭ?\]-N_L TJN9r[,/Ws|:CJLGVd0(`c}o[]<|Ws)7Jd/֨Sl[>`bh'EWC@ 8m5Va,= pj昽lH^[zMFD([Ld;r;38K|wК,oi9I 'h| 4ܙwKx"AW=7=w(YrbJ5DTp>tuNTVg#XW10#Kɿ7)!yw-CXӓw !(Ǵ (Q 5;4=HXQ⫿bݴ,xH8p OCmހ֘Up tL]mgSN୬Ȯ%9,cZ1&Nf."6U8t8ƞ'Q =])0c/荙BdJV9]MTA؋e7Wi! X.;CԴۖw6&c: 8lO b^eռn\~7 ~:} n:.Kd\\^^kZ^Z3Ka9 3钼ht0d73!g$eJ%R9{ .8~?*d yaϻ$gRo`-B1VcEDMX0DDW xâpxn(^X#fW%d-48,iFX4Ƴ0ilXG8&trsU#Vqh勉`Wۚ b)~11+s4~Xpoجde GF$>] K #2J%x=efc 5P}Tf,oSAߊ. GIjklW˼u6kxՙڌ{iKDNbgcp0W->(,FUVVXB>SuUTM= :#h&HƼ)sV?}vI/d.Z{Vhjli$y^ymt8v:y to[癱ak0J5`fO;XlX;8LV.> tRЮ混f\]``ILֺ!ozO#cl2uǶ]YQXh,9ٳA-]AŖGIc_ǜgt/1YRKYƧ+ҶcBo cֳ&P_Y%peÊ^aHy}±5m7y6aE ^[w7ׇQMpEm|0!}~9+ B^Tp*sHƜ ].nn7LEd(摨}tGzOFрd27[UrTp}b}DſmfՁ̔,LӉ_d`G~X/ 7W<͵JjM5,7Mm1w2H-N0ɂ\<pDŽ.⻯O*0i5]|Q4}RO8XDd{DvP|m%q@1r Ŵc&/~?թ%,;"1Z07) .tʗup]Hn#Bo?΅4 (wktNl#wLvI@,__@Y*??cX2Z=\kS7p/e>zi9 vf4\_t/nj}iT M8 ~s-={owEM6 W`I* 0$ jm[C9x10UcB׋ӈrfxdԒ\ }n D%$=?uH NH6,\ߗaH'^wl%k=~/PCgp*dXc>ۼEp0vJEgWa=¡uwホ/b`̵uq21)&i o7\[5{Cv<(()]vbې>acon XkS`Szw,Ƴ9xJr#l" iS^u<Io_ yrWdYkPA-ANlgwVSoh&H^ M&7 穓T]66 ed̎42-UEV{tT[3;*='6̓"eI-au~qtpL*iEV<#{*llcƶ10595ac')Ka:M ܣdcl)ah~8Jηm̊*iI*+l7ӁSCI{ 3ѦE*"[.wok]TQVOژ&gǼ,h}/ħ6φ 7gĢ٭0;nߜ+&h*6&IsP=B[DJMr!U 1P4q0`p҆'Lp2yi'=OژJ C@dsK5ad̾6$ _ʘ F }dWGx b 4Azp|zG06a328'=6QH XU%_ڐHCʄKXjku{|LژԝrS O Vlht\tteJ>,]ulſ8H nqvW^ r sMШw*._'m$x'gVqԈ*x. A^2浜VH60}1Fj'k}k ߗS`r {md'"rf7&M,j9 mm-!3xJ2+m k>iWS&L/ N Svxc^iC&-ߌdL0*jf:o !) Y]`=vElVAA>i{oX>dzRYDgal{cxn;%1x҆l;3Juu@Z? w4JK@2.Ͳ-5h@|^a2"m瑮D?7piSJt}W3ZA sjA4z<̱MlSImͨvTR3v NZU3f=wͰ]DL~˿:pOW] ާVwy(C1%Okj4z)e3AСĪBp> bKZT%1;9Ӏ̻ˌⶖp ⩘ t(uc 8ne8ԏ (TPlZj;;$`beOLu$ucl(ֺṘ__SūT4c !i4]={;λ <|d% {C?3ݑvW( peph`F_F&>ʚ{r&/։w V|)hLb.>K! sj&f%FӁu$XyF ILfx*fCr4J3c+VKFԅ$*XS1~p/FVRf;=idgb^rp^=0w]],p)oj+m-MUE;:~>KdݚLt f-pkd& Z@_!lQ$fBc_Yp j-E+xb.di9"L"6e#O0pu`Rx %]vܳp;HMB[Jq-$% ꇡps`slj/A/bfbvf噉xNxW|]mX8itR#}^M'5=F{ 1D LE@_p}=s=-aq{IIlEq6)ìopT\,Μ# gIfrAP#;!WhD^Zx6צW}W-#Dz Â+hǶ (h9+S ` p3R.ՑF._B !Vm5jh!<"$p2>F'HTғeeϑ>mn4fn!#f}UJ)!.iS2UsvS_Ώ:*9RIo:>Gjuu+@H_N`lvPxO BMncȕhMu%gW)aWdټbdb´869``q<M>Β>RlsNoBd @hs}Y{a5˃.wu/TrgoKd%ֻע;ΐϰkW T{Wg&ɩ{ 鿥=Hi#,~1QUm 'jp+UQNZ9m<`9_ &CDD!vy@L8Gu/7D&w{Va3H8BO0 >5,H }pj. h+Y,V5|b~p+8cr"oksـKcf3` VyӢ]k2s9W13]NEO=9Ċl?9SN /2yQ%(H [\ZnnB\&Yʩu'â7h΋ < XgZJ=,ZufLӯ*mB;&{QP(I~( $ՉN wdb&⣎{9q2g&c1@ER/e/?,XѨ` 4 Bxdmm{G>n?y`GLI%[; NiJIRo^bRe`*Q-ßms3`9ob2$AtꢎZ 1 ],WMpCnfáXEP qKDkkֶ)x RnM*0V2utRo!Z`ZZSS/!k"3Bq0Z_/Mgٳ>$l4B?{$r-5h0 , ^4@N@::6`܅ ;G}V{IWr,7ĕI'l( s&xj38l!i+=t Gе[*m6˾ʃ[yC%)[bVxD δP^Dpflg.sM4X^`=VFʟ"^~% [^YY=N_mk\;0uicCUɩs,Gyh+z:Ѧޟi;`VÃ66jJ]=ZṈuE!VK$.#ʤlO]V{zXKUtr!nPІҺZFx_x-Y+^pZvb U,rBl1cv &X ;xX1f\ $Efv;)'/r-/M+s*sEvbk@vp7mXzsnVdd݈$seTz ̣00M% zXl0uX2U̥EjxV& ϙgpu0BV%]C)YS-&KW/{ .+9|xsa~uZ/1@0p=9< 1|nW-{ ?eb!Md Ͼ͂a {Dó + D!E;5$vqJn/+hȗ%pecGBnt .@{tx/j^}o/΢; +!33{ ߼ٮbTgf&{a%a޿^=~O&xވnAk}.e ^( !Vjo*<:?jx{/Cݞ=xMXfI|B*v\>If;~4#Y@H)Vr<=,?{zLG , rb{ۖ>ͷ׈#.!k0;ߕWۭkKu Mmi6Z@u.lt2j7u lB(NnjQ&0mBe :g}=M8ͱcgt7QH(, ø`sMN ]@휦a;[ * iwBvl4lYN)F#65۶O0{5$x jn3rF[E+KaG$VNWl:A9g9 ƱF0J>*Ή= E qps9x]/o<̍p҂g%B&SaugrT X0`NZ1\V8J%I[S}le#oO_+5fúKW-2y]2OjsBKJ98nT9Pv#*;d@TmuzԾ&ûz%Or{qpʹQ+=X)ѫñ%m# 4b{c7dQ,n¨qsmeɋ␰ GXi8oCEF5zD~=lO׃[ @|N`=c-Af`dO4l` 1Chi,(=d |,f9 !G ip n|dn%Hg&ysL DdfHԜݧ#ml|ziz߈We6Cl8(" tfg_pZ{xP 'zڟ;j=AΑ ZV \ԱDHRqsy8,ڂlEؚTͼs:r1fPėhl){,I^jw Yt-G3(-E)l-dM"*j$xb+B+=.Q)m3+V<t:mɨK1hV79-,omO-}CfBlL<ϘtHզ rcm{\&Z83l)jZdeM2֚'f@%'/1ܬƓ;x.~!\!~4~ɛU%{,YƘ#rڷ{esDPudvԜGŞMH=Wp< ^.s;=ͼ@ٴnd4.e˔^ޟ{ںgIڲ&ٳ( T.;lR`M3}Ś:_*DwKy*{+$JkWu@-5@'@+±dB/PnoA1 bAx  ?/нn;&ϏyN`ڍ4.qK:{g/.@;WbI U~A*RV U 9֨\{=?"zjDGYU@ %~d˒gSkLY{^zp91Ew)<ߘ|mM;Ih6 biIL @Ftاa%}*{f( OѩEu1xʡ\fS3ѱJ8NÃ.C6 '|>j82 o |,qU]zH9O2l`i$Tyib{4qjфYn11d#]=J%cX8 m^?:_D`IX1Se1qdL[SMnl>f8[ |ɞê..>zm}Znئ 9"ipRyy˛$0*)DUIh:&JY0[YJol..U\>8痳rT%C9s,v-!7d 1sn Rm zgeAR]X9{ \NWW{ j'ƣ#[$# 2KtӁXZT+4@UP8_ /uW—4gDKuν{]ܬ@RM2L"c0r2_n kEx`iFr2J*@\m4Jfth]H@…%*Vu :¶j:N.2sN7ws=m@ P(=ME-^ȋVt/j 3r ^u *L r4fMv|A}?LYFŋMl׬~fl/bFDN֐4*L =t\u/1NvYM_s\Kvֱfߍg'4ρY̓!@Df/42Sޛ|AVv-" Ad" q>_>Av'*`9&W*kH_l!lk6 *X*e< f!S`$7{#0UD) fMǵ=)= AAwfg65X9t6/;,WmLrqʁOkA4JY}{]H+kXk<`hBW6Dw>kD Lj,)lq/V=HxYXYs4tQ&k/=[Z ?LDT/W'hJB<&nTE5(M8Kr{;Xr] ʜ({ݴV B7.Dzt vmc,PG Bg%b%\ds oui_.W{Ad%^Q&+ZҴ8I`uֻAa J|j 5Du')RޜGiU'mQ{^AȍR$Ck5DP4y!n 3Y^rߥ583SM'?(+Of@ޯ:PdEU9vtn/u#9TF` [Ghl 90l:Pob"mpyt#0(Y @ŝdo$;泸HSA/i;{g.]a.xujጺPϾ>n\#Z $V 5gA&/R3;NUX6Mr8ᛗ)Rc\`#>,Qh62]m mjQjvl`stT[=L~dcC(@3CB+-*-eq0W˩ɝWvn /5L> [j2s"&lṘ]X6-_BACW:p_#94T U-͠5 dbbOv`265MF:'4nXQKPϠH T(&0.%6A\1{x=%㳹4^{] f^tel`sv9`S()j6 yߩ۔ՠ_,&["(vI:A2v_Ug1ڔ3]κi&]m+pp-(+[ث;sY+Ml@#;L qa/sp.GE@ú Y&r(6U*YOR<>O (ړTO|(cYA4m7Q1TN!0z)rc`889n37^=X'8$DYtBˋA+LrJEW)Eóio-0@=xJlh%xhط@lm:I 8.om੭lN/p͞1F1M'WBIN_my%B앝&KeVeϼȑQVfcﯙ& K\,`m"Pa}7g~J\(QqJd})^yE7+G֬:<3[U8.~Y*#QW}[R6&\.9DŽ޼vLQ;>] <֯1]aNowQ:هwW_ۚ_\n6g]6`8Z -fνDkպdc6.` 9rfͻA@J`:D%l׋oh ,DFe 'wY}=H--ɗr)md~`w?`[; VrKl)jEmjyC:A⇿ z}9qB#*j>?2eVJobML%.xsn~[-Ѵ&5ck`nbw^/l `^Հu.x geeXMm?Av:9-Cx<#[r~[)c /f 8X@s8!Esα&":!-36 }i-g*9JSIe @qzx{{ >\m 15%/LId,e.L nw̄HҢ1E5vo9];(4Uɂp+;&fdVMnOY4ډ<=+<(%4i 0#ڸ{Ou!s|Hf9f'Uo5bc%NOaW߿j9O7@:v0&LsU%=OF5}|=7VNڂd3#ou;[&זlmt'˦]g[۰@(p;`ǽ>Xpg \dWNoUŷ ;eSh TCN7Dc׋v:e eud.8SL`@ h=c$ cլ dG09z޷e( ̓\㰩mayq. ny*_5 WS,nus]]mV 9!0$[va9V{+*xـu>"=Ϻ*' IO]Vw {ʹZ'[CEʀhvbE|k;ʁE r'|xM.̧}<;BWm+A8 {hOϲi ҮIy`IZp!?G,yܐȪd~REvDă>#KL#]_| ƧH[+8K{c6U#K3+=3[w+^HcBϚY#iZm-%dOs-sW`SxΝX$2 ?l05q`mu]pdfw/w+2s˨jDJA4U^!"[= =MUcu.Զ;E vlԡZoJrJŗr/CЮӝte9o~&\jI#fY ׫OTQIAgZ(dF[`_k|'4`<|Ӫu, ۊ>cgx7!Ta 8Un>*jA Q]Zf[O@ DZ 4D_k ,T-lXUU5MkQ<0>gde}PA mKE l/VbT5;6fUki:>W=E#K1UX -utoY0{kÛn}Rv!̋FsٶM`Q6o[8lbo׭o4!\EyEi{T,v_o}?%=>+-RCoX @nEFF95_V,O3:{y\zUڠ#c%90Ũ2_˦*/LZY=,$QduT+2AV]$N6LfX: y~?IiӋg+ '!O;͡?rӛ.*῭ug7u`d" Шu2=]$aKkp~$`]ڏ'j@~ZdtV;{a' g4鐊ÕMx@ߪu o}5]);n~&jU*aJOղ\x?j0'cGi(l\=SZp{cBT͙*íՉflB_ujaAlx)gLxʺSjguSmPYJQ-t]#5p P?;9`'(<[&%T`-nQvQlQȓ5|]Ϡ N`M@z!- 8`@^ɺmڞ¦ C"4 u'؛ NQs7 PUawt{rVlf9SF*u *Ŭgﰚc(itan X;NT2%Н oDux_xAp`Ig\EZmHp˞$iq.elۭsԫַsM tV6CJ5+<*u|a Jl"³K&Cd`bcg]; |&.ؘ5 ]{ +N<#90 r 6Kt-JuԽ1UxY<9EDǜLhYA6*p$!հͤ &U x3OdϏN1`J+&kWs:O+}w"nb,zS$O@~lJ`pwx5Vye:IDMJjbAjcS$O! !/6W,9wF*ZRbX-9'BGG#e[7`;Ad <bE2J8Q D6O*=#Q/{u\5UI=׳ni&9+vȖuES谥,#Ŝe'~O@<%&cpaUՊ$t̏kLp@] P# W~hmze6ՠd1itpSO8}U-5tK$ʞ*վgclpl Z̡U:rhעRxZ&>(׉衝 KFE2a<̬qf$RlX]V FVԟHg~ow9xWQx6Tsu|"A R4ijIL'Qg(t0\ y!XWw/W;'bf'ʱsEiȲߍEl^,XJb lsgzI6"tDcR;?EYۮm'q`Vnz2snvRJg8ڥ:?٪ e,s|]e)e9o}HU.-S=䮱l-X-Me\@$#zt19?za2F(eUE,8(5tR&ښ 3|-{JVLLuCiW7[qEX*jPEzz;{'EIV:dblE |m84AYd\{>OJ2j)/oK|^栯 `ް'c;3*0!n.|ʦ\p i{ƳV\{ 0{&^Y˖=LGS޳W>[OegAFs&W0Ag¶8ާ'̳6JpJ,/I:xAy"5O< XFs j%X?CmwmM!nlSڔ.28v݌vفg`VVIݏ, b\3E(rug} a=*zΩ'8a%1rg̾\6I>YL]vJ$ؚ;jw׃vk5$+jBlܦ`|NQZ/Ė>oP0{Iك=GDp1G0zjU^Ir@%w7Xr>g.$"rD6^y-md%7ŗ_ٝ|2<0/(lNڣ>"ЁO"l~Şҝ߸Xc%r!<obv v?]iEl 4@vVZ0fs:N#7>n?1-*'eJT l'NNCMp鞧U" ˽P#Fr70V49ysx@ګf^< ϞWQѰ{`%<%ffp[%wl|e3b g8+{y2׈D$2V{qx+ýTcGA!$ 8 -H"s|/PKr~}As-G7::ij~&);%9[ /9Fjo%ˏ )^Uy} Wg߭;GGyIP^A],p M6!6Vv q֊$lK * +O^znSt`ܥNx;Wr9sHOQ1: ~?iyXG$x)WiQTray<"dU̮(Bu))g <Mj^&9|R/t'\"~ _Ȓ ɜ4֥:`@Un fuL@OVDd"X^ėj\UNqFf4⚓/|Uc ?Nz沪Ǝ_oWW~pӳ\kE/ΣU6)@[ A|I3%{+tɵ pkLM`UuQ#P+RsCPȪЀY*Ÿؚ^V:ⲧJW9,d=>w\8w o(fC.VyMVω94XAX "}KOj8ʁKFRM`fligCT9!õ%4]L/ю9jPx Eml_qC3n}TLYj#VȔ楱jWbIJ~-'XWt0UV|Ζ:T@:m)0-ѕZ907z;8,›OrIS՗j jf.4d{w5mJټT *XHZ}}X[N;7YGX2{hC{~5Nl7*N]XtrB˗9KhT.p9˙SW4儆Rs[6> NZ.UY8ݱ v̤01mƩ"`c5n#.cEx)DQv^i[_RLYd`apGwNҬ R g__>pbIS37]҆Bsan;lEJp6؃-I}WP܋]_rtcQҲD6g4RnU_^\o#+*{i{ ܣRзB<0hWu$NIXz Esv!* 66PRs/ -D,,]'afΰ|ܫi[oJd;7R\2/o@}#%J*uzuׯlN;mgF(lw>T\%;va1N}!*_WՀxAB9,JdNulɱn 2x︙C" pZSCV/U8Up5eχKj`p>/4r8H];-Jjy)/mscccP|Ph0:p!gzuRc7;^OS'\x9CC6lD}<`]ֈ/8? Nwsh4H bMI"eO ;ʙ^xsWA'kB:,pi>UaOFyiBvpO8ӱ^C]m@s9^sn ڕ5F2۱nws跃ܲ\̽ɷo?n_>46qrpT&;pCq^]9рXMoҚc0_qplŖ5;+Sfcت*U53c^ՀFQ9 s"Ap|ƩggUiAWi|{XA;Ytv_:hA_:h5v_:hPꠝ׬i|ꠝ׬A;YA;Y4i|ꠝW)|ꠝ׬A*_:h5v_:h54buNkVM_:h5v_:h5&ZAWi|IV4fuЃWTjuNkVk|ꠝ׬4nuнWi|IVM_:h5v_:A+VTfuNkVk|{X4i|IVk|{Xt5buнWA_:h5v_:^+Vk|{Xt&\A;YQKjuN+VfuNkVk|ꠝ׬i|IkVM _:^+'[juNkV4fuNkVM_:^VtfuNkV4fuNkV4fuнWA;Y4i|ꠝ׬i|XSA;YA;Y4i|ꠝ׬A;X4)|I:(W`AzT[XEk}; m7ey5Kt `ЊAG]DE l\n58_\iExZ[$3J[* d)aP1-e{~^_4~2ޯOGzx:,q0mZw.d2}jپخ͆kչyiZf4XJ>ar`X+' _CY#:(VRZ-mճ^_&<z2lA6^pf@a=oXm0 MFD Sq&%:u7iz ϔY_LJp8z8шm+Sy0||CNB,!SsX4;.ޯWw7r֪$x G;/XV)p%IJ7߶/t]j+qPW"&}֋/ϙG8+yZ9-iylgX3^ouhxlNY|?a@mjK9 6*s=.1)0\O0O_3,A( ΋S^ZMk!K |UNX߶}7>`%As3; жoP<ˊS^ Q溺 TOߞ~ϑ|_(^Z r3۳zbroۙ(qmYllTgŷwYxL3A@@P`,|>aX/yeS ! dU`n2~ܻ_OצDXd\f|I~\.PKu#tK)'w﷬U$VnUNrOڦn kZ RRP&yrf+9ϕqW* &/~L. ,xH7c5Hh7W뛳-F(0K2&UNoW6g$)k%'.2g׺$ c'qB9.kgJ r׫O"'( ^F5 n|7@ cO%+VH!x7)1\6W]KJ>+Ͷjnx5>A9÷gl ݬ=_VM6"g:[wpԒIn7ww|wd$tHS>xr|Szn{,u\QJ,-cGwf#^*Ȯ$<.Z|/~yݶVfMMYwRvA-[Y278侗{wOr{ ִf2\L>H} `Ï%#xFg˛ޭvxe/0*t fۮo9NXXz3 bGꀰvļgpg%o[gX?V7s`Ӂ^";(P4A}m"̈vтTD@:.ӹ-~zPSstku dg5ʉҷMZ^䛎ީ 搚L'=m~I4YmݸՌ=.N۶)\ܢš8\͵HVTj$X,q`c`X; Ql̛#= kTdEVN v9`AB)B ĩzsv6ݬ $.:Em˛ƙh !z@>7) ;lݹ]k P]9bGB*잽n[!e b}2!z3.I~֦UYxݏz7;GP2=1NnG^r*M5}\:{=ؔ-2ئ,bXI5Ty0CJAf,pTPkͰ]&Cɒ$]RJXPm3MeٕSbL5Bc ^1q* G[ bdd3|Z(Bx& Tz0w]W¡7!9|NF3,:|([$fO9H`lj[NG_/sc ꚤx 0򅮻l5],>ۢaOU>$q(DKȣ!GPZx +TXƾȣ0p4 ߕbѰfT5d5E _N=p´ 8mǓb籄{$M7P!2+ѵ$UO .!LWϭ hQ'_b{'?NDEU\o/^ fbhaU=wBk-ƃŦ*5 "Ͱ'~|x`Cպ"$ђr#TG+!VJMH˭nƪcJc\g@ 6:Cﶿ N8@oj 3Kc+ZܛfzϠ*gݢ 6gO9N7Pd`M^i=AD˘2 lY0i_>2rzY BR:Tw-`_V9S,A#6j,QAT,8Vi+.YEs UN ̩Ü`_X2`1ΚlUR>=,rsMΔ/=Y bgB-ΟLCPsLLEͮvHe};o?Xp2[0hufP~/400MG[ፊV2HY{p@Lh*W3h"\ծ)HiPA${vPP4W6K0_E"w2( nIjɁZ  ]I&X_I#@8%u*Fs52c3h2չ(ANIz3Zܺ WcOW q5:%H8vX0E:)lK΂ _N<:MoptŜ+jj@SuHnv)'aFÕOTEh9y OP29N Qm*ۢŢU~&u^1'XCj^e|`SOqҺSY[T!=(5,WWK&:Od55zL͖]qopM*d֙ZtrIZZek(^5ƌ|SR))4)E U⨅Ct'5H݌ kᢙ[e'o<ʹ6,x}(npiU̟6;*E3G阽1r<ƗSR)>4N\R-Eoq#fR WYj@nI6POyz)>^@uIaSlqp̓K{VeEĦlwT!:1oUl=vTX'r}?kʙօc G{JL(B tQQ_o?zu+3l֓nثt 蓅EZkj6=-*k- _0=_QҚT4RV3]ؕ\U#7@=,:]._a$-[  xr1/V\J݂}z|ğ9={Tn䁸T^H`$kj,NK-7ws_Uqaȿv ^&y&?84d)' M)gsD*M-H?` 2"Y5nuVull#('>2J/_,P-{u 1Bȧ9wlG$5 `<b~-ȊH&iT+I??Tp^&/q.`7aIJڎtoȇQ*Q=`TQU.VYޒT j0`[GuH&  (6vV'Re t%PZ~Վ jxVPƢO f6 ,A*qU,Gx+|uL{EnrG%m㊜-`% V Cȕ ו]a%Ew7[l)xأrwn"sʚ丨LVi#_"mq)% &ySjcμN~ K7 ۇ neeWcuQ*Qݦ%WDZ?N AMpE]x>nw7FdE¼T(?YF OӽؚeYO{$xG JKa27xIj2F:Hs0`&_Yۍ`#l@\~jN8*:ٿN_vu6W0Fq۽.-eYi<آ)'ݳ E.ϑɵ3Dmrq-35_+W1V b ]Ru65R,@S|+J:tp)2R1Y,GTVɇoo}!ja/^q ZFxτo]x5{Y*:[Ƞc6pi us ۅK;,^,]Z{2Tb҉C}ɯdg;s5U 4 tF/1\smgM弇 hspQzM%7.*vVGĆ9`w馡8N35gus^489,kߣ¶3gbCFY8ㆉ[9ye&od;'5L4eaQz8\lr'r`ΨHkT sDl—Uu#gbUa QEL1Y854 Ca)n eӅ-X/FHXs}%t|Xm.Xssv4s8;e\0?Z{}򡽿fYf ۢD\bծ !{,I~(Dc^3'cY&`׍ B#}G#x8T B\o֫|ϕ@,&``8?3ٓUI&n(0칯r7/@,cwp*w.ԇNT-} ;ҭ rKcG[/k̩ YNuqME;`9!H\g\C Ǟv;E8>t̉%:jɡm[.I<6x%yqnIx)748j)އ\2L%fO? QqȈ;(G ָ.OkHUkZj:A :QKT8)h_-TnB fi7+9ސKx0rt:nz]Y0,aVOӱEi[BOa JŶav=vj݃wK5/L˕?>.SyP]HqPj4T]+7W=Z7b E^۞s=[:IpnHVpTveBmd!+~鮹Mv: ,j)}|߷kx\̐$?7*ữ)+P|sY{88SAF@AdYIUW׷olNY2)cCde/єG|l0:]>>14QuI@ׯ׸3xO΋ ZAò}7!F ngp{Wսv#Zޱw6g(1 n l|=) <8v\8[' a*-L3!΅at^q׫v΋۾ )9ǞcמaҟXFWb3:-㽌tk >&Z`3rȎ_Y!*;``K=E)j1&x!/R tV KyG]t oe^7F]ec-Q?3;.A~Eyt%i g4.e:oă~2xp݀6޵;SSɂ`omuVz*.tN8B)ev*LZV&%Jm,84х[ቑk/gfe^$klB )= .oOfb?v.gMc :W)emؾHd@g˸9<&i)VOhcH3-50ݛI`*.4!mzvg(ï~{j1/T׹1> I<̞EΩ#<ˁ3j>%Щw=D9r[J!:N̆4AI{>p]Z]% B]bZ ;"y>6-6X E{4U1{c%yQ9, w<:4κ~yW+s-+{gfV×$O;KzյdC\(sdf6.1 +K{>jgoy }a6}+HP=qD_ `RVE2I[y xZQYљ5+X v=މn0U0,{1Q+,ӎYL !wfA w;8:OL$2rppÝ=G̅g0 IQU&&uS'ޔJ·ƉƆgs7;P϶?X0[SAyw~{q9;' y0gIP؍ $ ł^Mw؏|nF$$ZGi0ܙ}E1G*-&;z!kHP(yp)+|i |-R=/]q`4@N2m/h[@ʫgIB-?6SY5oKJ8_PF@qIh9{Jp% [69M_ϔ<+aQ)v I%y[@z`XMPsdճn_J)z MuO83АXH y~X_6Ӊi,yWX>v8Q59ccz*_Iʼnt*1ǃt]`m%/08Şd6\VKHURj,/߿4CgTJ/%٬[u`k2 SݪH<#az|v֝^WWȓwj_@6S]3nBe".X؄޽p]AZdQV֘ekZUw џǻc?P[В܋`Ka[`Q> nfyy6y@A<vsGYK<%Ի~j5 h8m 7gowwG, ( &Uإơy5 %VQ Qnäce^mಀ IgcuET8SY@LƲ)*Bdz$5 {BΜwfg!X9=;1^X̮Ʌí|xQ`]`b;-L^B1+}w=YayG3UwP%{=25@Bǹ 5o>: º+]Pv.ZZN:WaL>)a9O7f6Q;4XsέoDž=G,s&ٸ[RLtRcb^39mdjU*88MO% *裒N@|u?<rxZ<2\Tr? S6}%r?bHR< wjσd;z: n RZ7Y߈r` abZ^v>oCER9zDώ)O}8?U޲Tu`SMg_}$!ni9yMcx f:%hR56}ȊbÈMkd0Vyۛef,T#D=U}xЛ󶺰LYt`Tq+9w#(Ub0؊}G1t̪͌/ _Z'|<-.m8{ڍ=9ǟ)mDZ ͑,B)|ad.Crr6u[6%wv`"n'wB4g*5ڑr"nJ=u_Avx.6/u2]lQ+X0^@mzոe#r0i(4j#jh־٘IJd*f K¤}y:+6Ād(.훍 5 'Z*GEvFaďWKpe8ODvӨ|Ե:徴S}8h9>5I$ ndְȝ2_(`@{֝ E(@%'\BN0a w(Ou#wrfg^#y5TVǻYbvЗ6-a8/o?$mF vqJMyf);$T;="cJܤ%>_|:vֳV5l/__? K?ϛ–l#mR`#|E|KB_/>v˔ޔT%R^ϓ]?digE)vNtzr쟟ߝ{ z7h?fkJ_"vA.Fj֕d?\d+NP 댶ȋ'^EΓt 84SAJ,ńL}j~_boZ]ҹJ㩶Ĥ@^[rֿg%N ҡ$+*x.%2_>=_ W!/$AFDt|._ hrGS 3)l#r=TR3V41j2JWBEcT0߶Vw؅fW[>"~auX^1dlAaS?eA̓d+=;3}'S74'YC\ueZ!^"(4x>$|:+)^>sr5rW8u&o_#Qm|u)iLj[R`WWVeKZ(~)ٛcQSK6];,V.*JւFcz߄.@lYb^fJ<>`#f\7B00>*uv;!ˍ<|0 [JT`.df3y h'mQ/d8"وZ*kZYe6?{1SKadK Q:dMc@YEJ~;pZYfG <Ϊx5lԏdtgnSdb_XNG6^q(6Dv$/`ǯěAƀ?ȻѰ'˪)qBG=p )ZMbO_O|YjS8 zUĨ@, w&v| #\pNQfB?RkŦSd/!(8’& GW"0z9-.Žbm-UJ`u @5;AW?=<."> :k4v^sJDv _$ bl&~%`ĵ9eEq&Xy_lulC1kg-sKVc2j ?xLۈA㵊c}^ُX^ES3XRpE'Q|dqJ_X(Y7<6VVOǦc)ٰ~DzlX?#UP@8rbAͺ;#6dU@g;%;10F9ø,~be 8#I@}hFV:j۬MN60 A8Zc8N抵c^v!~PYV!]YZdO `/Va3p1ƼoŽ I//:cH$ K`{ޭx0?sȸNGń +aHQ|lH璷e(~'=HӻW0( Q,efT۳w b!jh#w#>7*@~$STA38PnūFg`5&(]F C<Ȯ_EqrZU̴g~ڳw,k%vep,f:J'U@`ܳÂCB v$ H=q~(> ,*j7mO_.Wwk3d5WTJmU\YgieH6>i* Wu.V8ԝ;'):YNmj4v~iv`505EGc08.٫+DSjq`T{[F \'l!s7lUQ^8`G%Dsw8<٫@2W9eNXqUXRj~*HD2ǟL~xNt];v{"-w+*<<*Hx%iK@yaT`T*Zkզj\܄cKj -m[Ȧ{POZ$PQ٠ƛAk>)vڛ'[CQ͏n0%d2jwR{o7U3jڊYǫ@@-0A˰i Qqa9:5?LJaj9;SYj>V48龲9D*=o8SˎgOA Ula+Բ Y|G}wrէ,aMH,c, }@U ֯ւn Ya(W #>4R[T{WBҠT`أł\ Xӝdw׻px+{6HW& W0\j[+kSaH:;ohmMB阪z[)ؼ3Z!;͸ٓTh0wP3tK!y`?-JlQ +Z2 9-Sb_"GZK9bOC92R36,/@q-{kPCVU>"@$ùbwcE0վjw}k$y)X;ߍr'ŏۣ-#wƼL׵P3/|e0UG"S<5<7O]7 r9x$n6Rωr^* eAunUi=!C6g]LVJɜ;:Uh̞p}20G -NlǞO9=Shl/we&5GX*);3~nG=Z=*'ݻy31o0e@k9;B?6g`MX(Hb*1!K8'4S*P#߾o硏c1$#:?дo
    . - Fixes issue with entities in redirecting links - The href/page argument to {cms_selflink} is now decoded before resolving to a page id. Navigator v1.0.5 - Minor optimizations. - Now use pageid in calculations of cacheid. - Now output template help to Navigator. Installation Assistant v1.3 - Only create dummy index.html files in subdirectories we created. - Clear cache after step 9. - Upgrade routine now asks for, and tests database credentials. - Upgrade routine now rewrites the config.php file (but keeps a backup). - Set a few more preferences to reasonable defaults on install. Specifically related to site cleanup and performance. - On installation, now insure that tmp/cache and tmp/templates_c directories are empty. - Now displays if files are going to be skipped. - Adds clear option for development purposes. - No longer ask to save database password. - On install now create the assets directory structure. - On upgrade (for 2.2) now create the assets directory structure and move tmp/configs, tmp/templates, module_custom, admin/custom, etc. within it. - When using the expanded installer allow changing the destination directory on step 1. - Check for existing files in the installation directory for new installations. - Added more notes to aide in diagnosing white screens - Modify package .zip files so that extracted files will usually have 644 permission (depends on the unzip routine used). CmsJobManager - New core module to handle queued asynchronous tasks. Content Manager - Minor tweak to bulk delete pages. - Minor fix to the active tab when changing a template or design. - Now listen to the 'default parent page' user preference. - Fix minor XSS problem in the Admin if some loser puts JavaScript into the title field or alias field or menu text field. - Now allow filtering pages by owner, editor, template, or design. Only for Administrators with Modify any page, or Manage all content permissions. - Fix problems with auto-refresh being too fast for some operations. - Now auto scroll to the first matched page in a find. - Additional editors of a page cannot change the content type. Only owners, or users with the Manage all Content permissions. - Fix a problem with the call to GetTabElements. DesignManager - Move the designs tab of the main interface into third position. - Implement sorting in edit design. - Remove option menus (for now) from templates, stylesheets, and designs tab. - Modify the template list functionality in edit-design to allow using keyboard control. Space or + to select an item on the left, and right arrow to move. - Modify the edit-design functionality to allow clicking on an attached template or stylesheet to edit it. - Generic templates now display a usage string. - When creating a new template, associate the new template with the default design. - Add reset buttons to the filter forms. - No longer check for default content block in a template. - Adds the ability to export a template to a file within the assets directory, and to import from the assets directory. - If a file exists in the assets/templates directory corresponding to a template name, do not allow in-browser editing. - Add bulk actions to allow importing and exporting multiple templates. - In the template list, if a file exists for a template... display it in the filename column. - Adds the ability to export a stylesheet to a file within the assets directory, and to import from the assets directory. - If a file exists in the assets/css directory corresponding to a stylesheet name, do not allow in-browser editing. - Add bulk actions to allow importing and exporting multiple stylesheets. - In the stylesheet list, if a file exists for a stylesheet display it in the filename column. News v2.51 - Minor fix to add category. - Removes GetNotificationOutput method. - Add a task that runs at least every 15 minutes to detect draft articles... create an alert for this. - Add an option to never create alerts about draft News articles. - Minor optimizations. - Adds postdate as parameters in events. - now output template help to Navigator. - Adds new 'linked file' type field that allows selecting a file using the filepicker. - Changes the default summary and detail templates to support the linked_file field type, and uses {thumbnail_url} and {file_url}. FileManager v1.6.3 - Move settings to it's own menu item under Site Admin. - Fix minor problem with moving a directory. - Minor fix to move file functionality. - Adds OnFileDeleted event. - Adds 'view raw file' icon in each viewable row. - Minor formatting changes in file list. - Now display clickable path entries for easier navigation. Search - Convert to store all data using the InnoDB engine. - Use transactions for the addwords and deletewords stuff for performance. - Fix problem with query and record expiry. AdminSearch v1.0.3 - Fixes problem with use of 'Use Admin Search' permission. - Now searches for matching strings within templates and stylesheets that are stored as files. - Now listens to the HasSearchableContent metod when searching content pages. ModuleManager - Now detect if module_custom directories exist and are populated and warn about this before upgrading a module. - Minor string changes. - Improvements to error handling in the new versions tab. - Write a confirmation form for uninstalling a module that displays the UninstallPreMessage or uses a default. - Now don't allow disabling / uninstalling myself. - Don't hide the upgrades tab when there are no upgrades, but show the number of upgrades in the tab title instead. - Now use HTTPS for requests to ModuleRepository. - Trigger a hook before exporting a module to XML. MicroTiny v2.1 - New version of the tinymce wysiwyg editor. - Adds a mailto plugin. - Now use the FilePicker module for a filepicker, required rewriting the cmsms_filepicker tinymce plugin. - Enable the title attribute on the image plugin. - Now uses PUBLIC_CACHE_LOCATION for cache files instead of hardcoding tmp/cache get_destdir(); $relative_dir = trim($relative_dir); if( !$relative_dir ) return; $dir = $destdir.'/'.$relative_dir; if( !is_dir($dir) ) { @mkdir($dir,0777,true); } @touch($dir.'/index.html'); }; $move_directory_files = function($srcdir,$destdir) { $srcdir = trim($srcdir); $destdir = trim($destdir); if( !is_dir($srcdir) ) return; $files = glob($srcdir.'/*'); if( !count($files) ) return; foreach( $files as $src ) { $bn = basename($src); $dest = $destdir.'/'.$bn; rename($src,$dest); } @touch($dir.'/index.html'); }; //$gCms = cmsms(); $dbdict = NewDataDictionary($db); $taboptarray = array('mysql' => 'TYPE=MyISAM'); $sqlarray = $dbdict->AddColumnSQL(CMS_DB_PREFIX.CmsLayoutTemplateType::TABLENAME,'help_content_cb C(255), one_only I1'); $dbdict->ExecuteSQLArray($sqlarray); verbose_msg(ilang('upgrading_schema',202)); $query = 'UPDATE '.CMS_DB_PREFIX.'version SET version = 202'; $db->Execute($query); $type = \CmsLayoutTemplateType::load('__CORE__::page'); $type->set_help_callback('CmsTemplateResource::template_help_callback'); $type->save(); $type = \CmsLayoutTemplateType::load('__CORE__::generic'); $type->set_help_callback('CmsTemplateResource::template_help_callback'); $type->save(); // create the assets directory structure verbose_msg('Creating assets structure'); $create_private_dir('assets/templates'); $create_private_dir('assets/configs'); $create_private_dir('assets/module_custom'); $create_private_dir('assets/admin_custom'); $create_private_dir('assets/plugins'); $create_private_dir('assets/images'); $create_private_dir('assets/css'); $destdir = \__appbase\get_app()->get_destdir(); $srcdir = $destdir.'/module_custom'; if( is_dir($srcdir) ) { $move_directory_files($srcdir,$destdir.'/assets/module_custom'); } $srcdir = $destdir.'/admin/custom'; if( is_dir($srcdir) ) { $move_directory_files($srcdir,$destdir.'/assets/admin_custom'); } $srcdir = $destdir.'/tmp/configs'; if( is_dir($srcdir) ) { $move_directory_files($srcdir,$destdir.'/assets/configs'); } $srcdir = $destdir.'/tmp/templates'; if( is_dir($srcdir) ) { $move_directory_files($srcdir,$destdir.'/assets/templates'); } set_selected_language($lang); } if( isset($_POST['destdir']) ) { $app = \__appbase\get_app(); $app->set_destdir($_POST['destdir']); } $verbose = 0; if( isset($_POST['verbose']) ) $verbose = (int)$_POST['verbose']; $this->get_wizard()->set_data('verbose',$verbose); if( isset($_POST['next']) ) { // redirect to the next step. \__appbase\utils::redirect($this->get_wizard()->next_url()); } return TRUE; } private function get_valid_install_dirs() { $app = \__appbase\get_app(); $start = realpath($app->get_rootdir()); $parent = realpath(dirname($start)); $_is_valid_dir = function($dir) { // this routine attempts to exclude most cmsms core directories // from appearing in the dropdown for directory choosers $bn = basename($dir); switch( $bn ) { case 'lang': if( file_exists("$dir/en_US.php") ) return FALSE; break; case 'ext': if( file_exists("$dir/fr_FR.php") ) return FALSE; break; case 'plugins': if( file_exists("$dir/function.cms_selflink.php") ) return FALSE; break; case 'install': if( is_dir("$dir/schemas") ) return FALSE; break; case 'tmp': if( is_dir("$dir/cache") ) return FALSE; break; case 'phar_installer': case 'doc': case 'build': case 'admin': case 'module_custom': case 'out': return FALSE; case 'lib': if( is_dir("$dir/smarty") ) return FALSE; break; case 'app': if( file_exists("$dir/class.cms_install.php") ) return FALSE; break; case 'modules': if( is_dir("$dir/CMSMailer") || is_dir("$dir/AdminSearch") ) return FALSE; break; case 'data': if( file_exists("$dir/data.tar.gz") ) return FALSE; break; } return TRUE; }; $_get_annotation = function($dir) { if( !is_dir($dir) || !is_readable($dir) ) return; $bn = basename($dir); if( $bn != 'lib' ) { $version_file = utils::find_cms_version_file($dir); if( $version_file ) { $info = utils::read_cms_version_file($version_file); if( isset($info['version']) ) return 'CMSMS '.$info['version']; } } if( is_dir("$dir/app") && is_file("$dir/app/class.cms_install.php") ) { return "CMSMS installation assistant"; } }; $_find_dirs = function($start,$depth = 0) use( &$_find_dirs, &$_get_annotation, $_is_valid_dir ) { if( !is_readable( $start ) ) return; $dh = opendir($start); if( !$dh ) return; $out = array(); while( ($file = readdir($dh)) !== FALSE ) { if( $file == '.' || $file == '..' ) continue; if( \__appbase\startswith($file,'.') || \__appbase\startswith($file,'_') ) continue; $dn = $start.DIRECTORY_SEPARATOR.$file; // cuz windows blows, and windoze guys are whiners :) if( !@is_readable($dn) ) continue; if( !@is_dir($dn) ) continue; if( !$_is_valid_dir( $dn ) ) continue; $str = $dn; $ann = $_get_annotation( $dn ); if( $ann ) $str .= " ($ann)"; $out[$dn] = $str; if( $depth < 3 ) { $tmp = $_find_dirs($dn,$depth + 1); // recursion if( is_array($tmp) && count($tmp) ) $out = array_merge($out,$tmp); } } if( count($out) ) return $out; }; $out = array(); if( $_is_valid_dir($parent) ) $out[$parent] = $parent; $tmp = $_find_dirs($parent); if( count($tmp) ) $out = array_merge($out,$tmp); asort($out); return $out; } protected function display() { parent::display(); // get the list of directories we can install to. $smarty = \__appbase\smarty(); $app = \__appbase\get_app(); if( !$app->in_phar() ) { // get the list of directories we can install to $dirlist = $this->get_valid_install_dirs(); if( !$dirlist ) throw new \Exception('No possible installation directories found. This could be a permissions issue'); $smarty->assign('dirlist',$dirlist); $custom_destdir = $app->has_custom_destdir(); $smarty->assign('custom_destdir',$custom_destdir); $smarty->assign('destdir',$app->get_destdir()); } $smarty->assign('verbose',$this->get_wizard()->get_data('verbose',0)); $smarty->assign('languages',\__appbase\translator()->get_language_list(\__appbase\translator()->get_allowed_languages())); $smarty->assign('curlang',\__appbase\translator()->get_current_language()); $smarty->assign('yesno',array(0=>\__appbase\lang('no'),1=>\__appbase\lang('yes'))); $smarty->display('wizard_step1.tpl'); $this->finish(); } } // end of class ?> get_config(); if( !isset($app_config['min_upgrade_version']) ) throw new \Exception(\__appbase\lang('error_missingconfigvar','min_upgrade_version')); if( version_compare($info['version'],$app_config['min_upgrade_version']) < 0 ) $info['error_status'] = 'too_old'; if( version_compare($info['version'],$app->get_dest_version()) == 0 ) $info['error_status'] = 'same_ver'; if( version_compare($info['version'],$app->get_dest_version()) > 0 ) $info['error_status'] = 'too_new'; $fn = $dir.'/config.php'; include_once($fn); $info['config'] = $config; if( isset($config['admin_dir']) ) { if( $config['admin_dir'] != 'admin' ) throw new \Exception(\__appbase\lang('error_admindirrenamed')); } return $info; } protected function process() { if( isset($_REQUEST['install']) ) { $this->get_wizard()->set_data('action','install'); } else if( isset($_REQUEST['upgrade']) ) { $this->get_wizard()->set_data('action','upgrade'); } else if( isset($_REQUEST['freshen']) ) { $this->get_wizard()->set_data('action','freshen'); } else { throw new \Exception(\__appbase\lang('error_internal',200)); } \__appbase\utils::redirect($this->get_wizard()->next_url()); } protected function display() { // search for installs of CMSMS. parent::display(); $app = \__appbase\get_app(); $config = $app->get_config(); $rpwd = \__appbase\get_app()->get_destdir(); $info = $this->get_cmsms_info($rpwd); $wizard = $this->get_wizard(); $smarty = \__appbase\smarty(); $smarty->assign('pwd',$rpwd); $smarty->assign('nofiles',$config['nofiles']); if( $info ) { // its an upgrade $wizard->set_data('version_info',$info); $smarty->assign('cmsms_info',$info); if( !isset($info['error_status']) || $info['error_status'] != 'same_ver' ) { $versions = utils::get_upgrade_versions(); $out = array(); foreach( $versions as $version ) { if( version_compare($version,$info['version']) < 1 ) continue; $readme = utils::get_upgrade_readme($version); $changelog = utils::get_upgrade_changelog($version); if( $readme || $changelog ) $out[$version] = array('readme'=>$readme,'changelog'=>$changelog); } $smarty->assign('upgrade_info',$out); } } else { // looks like a new install // double check for the phar stuff. if( is_dir($rpwd.'/app') && is_file($rpwd.'/index.php') && is_dir($rpwd.'/lib') && is_file($rpwd.'/app/class.cms_install.php') ) { // should never happen except if you're working on this project. throw new \Exception(\__appbase\lang('error_invalid_directory')); } $is_dir_empty = function($dir,$phar_url) { if( !$dir ) return FALSE; if( !is_dir($dir) ) return FALSE; $files = glob($dir.'/*'); if( !count($files) ) return TRUE; if( count($files) > 3 ) return FALSE; // trivial check for index.html foreach( $files as $file ) { $bn = strtolower(basename($file)); if( fnmatch('index.htm*',$bn) ) continue; // this is okay if( fnmatch('readme*.txt',$bn) ) continue; // this is okay if( $phar_url ) { $phar_bn = basename( $phar_url ); if( fnmatch( $phar_bn, $bn ) ) continue; // this is okay } // found a not-okay file. return FALSE; } return TRUE; }; $list_files = function($dir,$n = 5) { $n = max(1,min(100,$n)); if( !$dir ) return; if( !is_dir($dir) ) return; $files = glob($dir.'/*'); $files = array_slice($files,0,$n); foreach( $files as &$file ) { $file = basename($file); } return $files; }; $empty_dir = $is_dir_empty($rpwd,$app->get_phar()); $existing_files = $list_files($rpwd); $smarty->assign('install_empty_dir',$empty_dir); $smarty->assign('existing_files',$existing_files); $wizard->clear_data('version_info'); } $smarty->assign('retry_url',$_SERVER['REQUEST_URI']); $smarty->display('wizard_step2.tpl'); $this->finish(); } } // end of class ?> get_wizard()->get_data('version_info'); $action = $this->get_wizard()->get_data('action'); $informational = array(); $tests = array(); // informational messages... $informational[] = new _tests_\informational_test('server_software',$_SERVER['SERVER_SOFTWARE'],'info_server_software'); $informational[] = new _tests_\informational_test('server_api',PHP_SAPI,'info_server_api'); $informational[] = new _tests_\informational_test('server_os',array(PHP_OS,php_uname('r'),php_uname('m'))); // required test for php version $obj = new _tests_\version_range_test('php_version',phpversion()); $obj->minimum = '5.4.11'; $obj->recommended = '5.5.2'; $obj->fail_msg = \__appbase\lang('pass_php_version',$obj->minimum,$obj->recommended,phpversion()); $obj->warn_msg = \__appbase\lang('msg_yourvalue',phpversion()); $obj->pass_msg = \__appbase\lang('msg_yourvalue',phpversion()); $obj->required = true; $tests[] = $obj; // required test... check if most files are writable. { $dirs = array('modules','lib','plugins','admin','uploads','doc','scripts','install','tmp','assets'); $failed = array(); $list = glob($app->get_destdir().'/*'); foreach( $list as $one ) { $basename = basename($one); if( is_file($one) ) { $relative = substr($one,strlen($app->get_destdir())+1); if( !is_writable($one) ) $failed[] = $relative; } else if( in_array($basename,$dirs) ) { $b = \__appbase\utils::is_directory_writable($one,TRUE); if( !$b ) { $tmp = \__appbase\utils::get_writable_error(); $failed = array_merge($failed,\__appbase\utils::get_writable_error()); } } } } // required test... tmpfile $fh = tmpfile(); $b = ($fh === FALSE)?FALSE:TRUE; $obj = new _tests_\boolean_test('tmpfile',$b); $obj->required = true; if( !$b ) $obj->fail_msg = \__appbase\lang('fail_tmpfile'); $tests[] = $obj; unset($fh); // its an upgrade if( $version_info ) { // config file must be writable. $obj = new _tests_\boolean_test('config_writable',is_writable($version_info['config_file'])); $obj->required = true; $obj->fail_key = 'fail_config_writable'; $tests[] = $obj; if( $action == 'upgrade' && version_compare($version_info['version'],'2.2') < 0 ) { $dir = $app->get_destdir().'/assets'; if( is_dir($dir) ) { $obj = new _tests_\boolean_test('assets_dir_exists',FALSE); $obj->fail_key = 'fail_assets_dir'; $obj->warn_key = 'fail_assets_dir'; $obj->required = 0; $tests[] = $obj; } } } else { $is_dir_empty = function($dir) { $dir = trim($dir); if( !$dir ) return FALSE; // fail on invalid dir if( !is_dir($dir) ) return TRUE; // pass on dir not existing yet $files = glob($dir.'/*' ); if( !count($files) ) return TRUE; // no files yet. if( count($files) > 1 ) return FALSE; // morre than one file // trivial check for index.html $bn = strtolower(basename($files[0])); if( fnmatch('index.htm*',$bn) ) return TRUE; return FALSE; }; $res = true; $dest = $app->get_destdir(); if( $res && !$is_dir_empty($dest.'/tmp/cache') ) $res = false; if( $res && !$is_dir_empty($dest.'/tmp/templates_c') ) $res = false; $obj = new _tests_\boolean_test('tmp_dirs_empty',$res); $obj->required = true; $obj->fail_key = 'fail_tmp_dirs_empty'; $tests[] = $obj; } // required test... gd version 2 $obj = new _tests_\version_range_test('gd_version',$this->_GDVersion()); $obj->minimum = 2; $obj->required = 1; $obj->fail_msg = \__appbase\lang('msg_yourvalue',$this->_GDVersion()); $tests[] = $obj; // required test ... tempnam function $obj = new _tests_\boolean_test('func_tempnam',function_exists('tempnam')); $obj->required = 1; $obj->fail_key = 'fail_func_tempnam'; $tests[] = $obj; // required test ... some sort of gzopen/gzopen64 combo $obj = new _tests_\boolean_test('func_gzopen',function_exists('gzopen') || function_exists('gzopen64')); $obj->required = true; $obj->fail_key = 'fail_func_gzopen'; $tests[] = $obj; // recommended test ... ZipArchive $obj = new _tests_\boolean_test('func_ziparchive',class_exists('ZipArchive')); $obj->required = false; $obj->fail_key = 'fail_func_ziparchive'; $tests[] = $obj; // only perform the check below PHP 7.0 (we'll be removing this check on 2.99+) if(version_compare(PHP_VERSION, '7.0.0') < 0) { // required test ... magic_quotes_runtime // TODO: remove on 2.99+ if not removed already as it was removed from PHP since v 5.4.0 (JM) $obj = new _tests_\boolean_test('magic_quotes_runtime',function_exists('get_magic_quotes_runtime') && !get_magic_quotes_runtime()); $obj->required = 1; $obj->fail_key = 'fail_magic_quotes_runtime'; $tests[] = $obj; } // required test ... multibyte extension $obj = new _tests_\boolean_test('multibyte_support',_tests_\test_extension_loaded('mbstring') && function_exists('mb_get_info')); $obj->required = 1; $obj->fail_key = 'fail_multibyte_support'; $tests[] = $obj; // recommended test ... intl extension $obj = new _tests_\boolean_test('intl_support',_tests_\test_extension_loaded('intl') && class_exists('IntlDateFormatter')); $obj->required = 0; $obj->fail_key = 'fail_intl_support'; $obj->warn_key = 'fail_intl_support'; $tests[] = $obj; // required test ... at least one supported database driver $obj = new _tests_\matchany_test('database_support'); $obj->required = 1; $t1 = new _tests_\boolean_test('mysql',_tests_\test_extension_loaded('mysql')); $obj->add_child($t1); $t1 = new _tests_\boolean_test('mysqli',_tests_\test_extension_loaded('mysqli')); $obj->add_child($t1); $obj->fail_key = 'fail_database_support'; $tests[] = $obj; // required test ... md5 function $obj = new _tests_\boolean_test('func_md5',function_exists('md5')); $obj->fail_key = 'fail_func_md5'; $obj->required = 1; $tests[] = $obj; // required test ... json function $obj = new _tests_\boolean_test('func_json',function_exists('json_decode')); $obj->fail_key = 'pass_func_json'; $obj->required = 1; $tests[] = $obj; // recommended test ... open basedir $obj = new _tests_\boolean_test('open_basedir',ini_get('open_basedir') == ''); $obj->warn_key = 'warn_open_basedir'; $obj->fail_key = 'fail_open_basedir'; $tests[] = $obj; // required test... sessions must use cookies $t0 = new _tests_\boolean_test('session_use_cookies',ini_get('session.use_cookies')); $t0->required = 1; $t0->fail_key = 'fail_session_use_cookies'; $tests[] = $t0; if( ini_get('session.save_handler') == 'files' ) { $open_basedir = ini_get('open_basedir'); if( $open_basedir ) { // open basedir restrictions are in effect, can't test if the session save path is writable // so just talk about it. // note: if we got here, sessions are probably working just fine. $t2 = new _tests_\boolean_test('open_basedir_session_save_path',0); $t2->warn_key = 'warn_open_basedir_session_savepath'; $t2->msg = \__appbase\lang('info_open_basedir_session_save_path'); $tests[] = $t2; } else { // test if the session save path is writable. $tmp = $this->_get_session_save_path(); if( $tmp ) { // session save path can be empty which should use the system temporary directory $t2 = new _tests_\boolean_test('session_save_path_exists',@is_dir($tmp)); $t2->required = 1; $t2->fail_key = 'fail_session_save_path_exists'; $tests[] = $t2; $t3 = new _tests_\boolean_test('session_save_path_writable',@is_writable($tmp)); $t3->required = 1; $t3->fail_key = 'fail_session_save_path_writable'; $tests[] = $t3; } } } // recommended test ... E_STRICT disabled $orig_error_level = $app->get_orig_error_level(); $obj = new _tests_\boolean_test('errorlevel_estrict',!($orig_error_level & E_STRICT)); $obj->warn_key = 'estrict_enabled'; $tests[] = $obj; // recommended test ... E_DEPRECATED disabled $obj = new _tests_\boolean_test('errorlevel_edeprecated',!($orig_error_level & E_DEPRECATED)); $obj->warn_key = 'edeprecated_enabled'; $tests[] = $obj; // required test ... MEMORY LIMIT $memory_limit = ini_get('memory_limit'); if( $memory_limit >= 0 ) { $obj = new _tests_\range_test('memory_limit',$memory_limit); $obj->minimum = '64M'; $obj->recommended = '128M'; $obj->pass_msg = ini_get('memory_limit'); $obj->fail_msg = \__appbase\lang('fail_memory_limit',ini_get('memory_limit'),$obj->minimum,$obj->recommended); $obj->warn_msg = \__appbase\lang('warn_memory_limit',ini_get('memory_limit'),$obj->minimum,$obj->recommended); $obj->required = 1; $tests[] = $obj; } else { $obj = new _tests_\boolean_test('memory_limit',true); $obj->pass_msg = \__appbase\lang('pass_memory_limit_nolimit'); $obj->required = 1; $tests[] = $obj; } // required test ... safe mode $obj = new _tests_\boolean_test('safe_mode',_tests_\test_is_false(ini_get('safe_mode'))); $obj->required = 1; $obj->fail_key = 'fail_safe_mode'; $tests[] = $obj; // required test ... file upload $obj = new _tests_\boolean_test('file_uploads',_tests_\test_is_true(ini_get('file_uploads'))); $obj->required = 1; $obj->fail_key = 'fail_file_uploads'; $tests[] = $obj; // upload max filesize $obj = new _tests_\range_test('upload_max_filesize',ini_get('upload_max_filesize')); $obj->minimum = '1M'; $obj->recommended = '10M'; $obj->required = 1; $obj->warn_msg = \__appbase\lang('warn_upload_max_filesize',ini_get('upload_max_filesize'),$obj->recommended); $tests[] = $obj; // xml extension $obj = new _tests_\boolean_test('xml_functions',_tests_\test_extension_loaded('xml')); $obj->required = 1; $obj->fail_key = 'fail_xml_functions'; $tests[] = $obj; // recommended test ... max_execution_time $v = (int) ini_get('max_execution_time'); if( $v !== 0 ) { $obj = new _tests_\range_test('max_execution_time',$v); $obj->minimum = 30; $obj->recommended = 60; $obj->required = 1; $obj->warn_msg = \__appbase\lang('warn_max_execution_time',ini_get('max_execution_time'),$obj->minimum,$obj->recommended);; $obj->fail_msg = \__appbase\lang('fail_max_execution_time',ini_get('max_execution_time'),$obj->minimum,$obj->recommended);; $tests[] = $obj; } // recommended test ... post_max_size $obj = new _tests_\range_test('post_max_size',ini_get('post_max_size')); $obj->minimum = '2M'; $obj->recommended = '10M'; $obj->warn_msg = \__appbase\lang('warn_post_max_size',ini_get('post_max_size'),$obj->minimum,$obj->recommended); $obj->fail_key = 'fail_post_max_size'; $tests[] = $obj; // recommended test (register globals) $obj = new _tests_\boolean_test('register_globals',!ini_get('register_globals')); $obj->required = 1; $obj->fail_key = 'fail_register_globals'; $tests[] = $obj; // recommended test ... output buffering $obj = new _tests_\boolean_test('output_buffering',ini_get('output_buffering')); $obj->fail_key = 'fail_output_buffering'; $tests[] = $obj; // recommended test .... disable functions $obj = new _tests_\boolean_test('disable_functions',ini_get('disable_functions') == ''); $obj->warn_msg = \__appbase\lang('warn_disable_functions',str_replace(',',', ',ini_get('disable_functions'))); $tests[] = $obj; // recommended test... remote_url $obj = new _tests_\boolean_test('remote_url',_tests_\test_remote_file('https://www.cmsmadesimple.org/latest_version.php',3,'cmsmadesimple')); $obj->fail_key = 'fail_remote_url'; $obj->warn_key = 'fail_remote_url'; $tests[] = $obj; // curl extension $obj = new _tests_\boolean_test('curl_extension',_tests_\test_extension_loaded('curl')); $obj->fail_key = 'fail_curl_extension'; $tests[] = $obj; // file get contents. $obj = new _tests_\boolean_test('file_get_contents',function_exists('file_get_contents')); $obj->required = 1; $obj->fail_key = 'fail_file_get_contents'; $tests[] = $obj; // test ini set { $val = (ini_get('log_errors_max_len')) ? ini_get('log_errors_max_len').'0':'99'; ini_set('log_errors_max_len',$val); $obj = new _tests_\boolean_test('ini_set',ini_get('log_errors_max_len') == $val); $obj->fail_key = 'fail_ini_set'; $tests[] = $obj; } // // now run the tests // if all tests pass // display warm fuzzy message // user can continue // else if a required test fails // display failed tests (or all tests for verbose mode) // user cant continue // otherwise // display failed tests (or all tests for verbose mode) // user can continue $can_continue = TRUE; $tests_failed = FALSE; $results = array(); for( $i = 0; $i < count($tests); $i++ ) { $res = $tests[$i]->run(); if( $res == $tests[$i]::TEST_FAIL ) { $tests_failed = TRUE; $results[] = $tests[$i]; if( $tests[$i]->required ) { $can_continue = FALSE; } else { $tests[$i]->status = $tests[$i]::TEST_WARN; } } } if( !$verbose ) $tests = $results; return array($tests_failed,$can_continue); } protected function display() { parent::display(); $verbose = $this->get_wizard()->get_data('verbose',0); $informational = ''; $tests = ''; list($tests_failed,$can_continue) = $this->perform_tests($verbose,$informational,$tests); $app = \__appbase\get_app(); $smarty = \__appbase\smarty(); $smarty->assign('tests_failed',$tests_failed); $smarty->assign('can_continue',$can_continue); $smarty->assign('verbose',$verbose); $smarty->assign('retry_url',$_SERVER['REQUEST_URI']); if( $verbose ) $smarty->assign('information',$informational); if( count($tests) ) $smarty->assign('tests',$tests); $url = $this->get_wizard()->next_url(); $smarty->assign('next_url',$url); // todo: urls for retry, and enable verbose mode. $smarty->display('wizard_step3.tpl'); $this->finish(); } private function _get_session_save_path() { $path = ini_get('session.save_path'); if( ($pos = strpos($path,';')) !== FALSE) $path = substr($path,$pos+1); if( $path ) return $path; } private function _GDVersion() { static $gd_version_number = null; if(is_null($gd_version_number)) { if(extension_loaded('gd')) { if(defined('GD_MAJOR_VERSION')) { $gd_version_number = GD_MAJOR_VERSION; return $gd_version_number; } $gdinfo = @gd_info(); if(preg_match('/\d+/', $gdinfo['GD Version'], $gdinfo)) { $gd_version_number = (int) $gdinfo[0]; } else { $gd_version_number = 1; } return $gd_version_number; } $gd_version_number = 0; } return $gd_version_number; } } // end of class ?> _config = array('dbtype'=>'','dbhost'=>'localhost','dbname'=>'','dbuser'=>'', 'dbpass'=>'','dbprefix'=>'cms_','dbport'=>'', 'samplecontent'=>TRUE,'install_profile'=>'default', 'optional_bundles'=>array(), 'query_var'=>'','timezone'=>$tz); // get saved date $tmp = $this->get_wizard()->get_data('config'); if( $tmp ) $this->_config = array_merge($this->_config,$tmp); if( !isset($this->_config['install_profile']) || !$this->_config['install_profile'] ) { $this->_config['install_profile'] = !empty($this->_config['samplecontent']) ? 'default' : 'minimal'; } $databases = array('mysqli'=>'MySQLi (4.1+)'); $this->_dbms_options = array(); foreach ($databases as $db => $lbl) { if( extension_loaded($db) ) $this->_dbms_options[$db] = $lbl; } if( !count($this->_dbms_options) ) throw new \Exception(\__appbase\lang('error_nodatabases')); $action = $this->get_wizard()->get_data('action'); if( $action == 'install' ) { $bundle_manager = new optional_bundle_manager(); if( !isset($this->_config['optional_bundles']) || !\is_array($this->_config['optional_bundles']) ) { $this->_config['optional_bundles'] = $bundle_manager->get_default_selected_module_ids(); } else { $this->_config['optional_bundles'] = $bundle_manager->normalize_selected_module_ids($this->_config['optional_bundles']); } } if( $action == 'freshen' || $action == 'upgrade' ) { // read config data from config.php for freshen action. $app = \__appbase\get_app(); $destdir = $app->get_destdir(); $config_file = $destdir.'/config.php'; include_once($config_file); $this->_config['dbtype'] = $config['dbms']; $this->_config['dbhost'] = $config['db_hostname']; $this->_config['dbuser'] = $config['db_username']; $this->_config['dbpass'] = $config['db_password']; $this->_config['dbname'] = $config['db_name']; $this->_config['dbprefix'] = $config['db_prefix']; if( isset($config['db_port']) ) $this->_config['dbport'] = $config['db_port']; if( isset($config['query_var']) ) $this->_config['query_var'] = $config['query_var']; if( isset($config['timezone']) ) $this->_config['timezone'] = $config['timezone']; } } private function validate($config) { $action = $this->get_wizard()->get_data('action'); if( !isset($config['dbtype']) || !$config['dbtype'] ) throw new \Exception(\__appbase\lang('error_nodbtype')); if( !isset($config['dbhost']) || !$config['dbhost'] ) throw new \Exception(\__appbase\lang('error_nodbhost')); if( !isset($config['dbname']) || !$config['dbname'] ) throw new \Exception(\__appbase\lang('error_nodbname')); if( !isset($config['dbuser']) || !$config['dbuser'] ) throw new \Exception(\__appbase\lang('error_nodbuser')); if( !isset($config['dbpass']) || !$config['dbpass'] ) throw new \Exception(\__appbase\lang('error_nodbpass')); if( $action == 'install' && ( !isset($config['dbprefix']) || !$config['dbprefix'] ) ) throw new \Exception(\__appbase\lang('error_nodbprefix')); if( !isset($config['timezone']) || !$config['timezone'] ) throw new \Exception(\__appbase\lang('error_notimezone')); if( $action == 'install' && ( !isset($config['install_profile']) || !$config['install_profile'] ) ) throw new \Exception(\__appbase\lang('error_noinstallprofile')); $re = '/^[a-zA-Z0-9_\.]*$/'; if( isset($config['query_var']) && $config['query_var'] && !preg_match($re,$config['query_var']) ) { throw new \Exception(\__appbase\lang('error_invalidqueryvar')); } $all_timezones = timezone_identifiers_list(); if( !in_array($config['timezone'],$all_timezones) ) throw new \Exception(\__appbase\lang('error_invalidtimezone')); if( $config['dbpass'] ) { if( strpos($config['dbpass'],"'") !== FALSE || strpos($config['dbpass'],'\\') !== FALSE ) { throw new \Exception(\__appbase\lang('error_invaliddbpassword')); } } if( $action == 'install' ) { $profile_manager = new install_profile_manager(); $profile_manager->get_profile($config['install_profile']); $bundle_manager = new optional_bundle_manager(); $config['optional_bundles'] = $bundle_manager->normalize_selected_module_ids(isset($config['optional_bundles']) ? $config['optional_bundles'] : array()); } // try a test connection $spec = new \CMSMS\Database\ConnectionSpec; $spec->type = $config['dbtype']; $spec->host = $config['dbhost']; $spec->username = $config['dbuser']; $spec->password = $config['dbpass']; $spec->dbname = $config['dbname']; $spec->port = isset($config['dbport']) ? $config['dbport'] : null; $spec->prefix = $config['dbprefix']; $db = \CMSMS\Database\Connection::initialize($spec); $db->Execute("SET NAMES 'utf8'"); // see if we can create and drop a table. try { $db->Execute('CREATE TABLE '.$config['dbprefix'].'_dummyinstall (i int)'); } catch( \Exception $e ) { throw new \Exception(\__appbase\lang('error_createtable')); } try { $db->Execute('DROP TABLE '.$config['dbprefix'].'_dummyinstall'); } catch( \Exception $e ) { throw new \Exception(\__appbase\lang('error_droptable')); } // see if a smattering of core tables exist if( $action == 'install' ) { try { $res = $db->GetOne('SELECT content_id FROM '.$config['dbprefix'].'content'); if( $res > 0 ) throw new \Exception(\__appbase\lang('error_cmstablesexist')); } catch( \CMSMS\Database\DatabaseException $e ) { // if this fails it's not a problem } try { $db->GetOne('SELECT module_name FROM '.$config['dbprefix'].'modules'); if( $res > 0 ) throw new \Exception(\__appbase\lang('error_cmstablesexist')); } catch( \CMSMS\Database\DatabaseException $e ) { // if this fails it's not a problem. } } } protected function process() { $tmp = array_keys($this->_dbms_options); $this->_config['dbtype'] = $tmp[0]; $this->_config['dbhost'] = trim(\__appbase\utils::clean_string($_POST['dbhost'])); $this->_config['dbname'] = trim(\__appbase\utils::clean_string($_POST['dbname'])); $this->_config['dbuser'] = trim(\__appbase\utils::clean_string($_POST['dbuser'])); $this->_config['dbpass'] = $_POST['dbpass']; $this->_config['timezone'] = trim(\__appbase\utils::clean_string($_POST['timezone'])); if( isset($_POST['dbtype']) ) $this->_config['dbtype'] = trim(\__appbase\utils::clean_string($_POST['dbtype'])); if( isset($_POST['dbport']) ) $this->_config['dbport'] = trim(\__appbase\utils::clean_string($_POST['dbport'])); if( isset($_POST['dbprefix']) ) $this->_config['dbprefix'] = trim(\__appbase\utils::clean_string($_POST['dbprefix'])); if( isset($_POST['query_var']) ) $this->_config['query_var'] = trim(\__appbase\utils::clean_string($_POST['query_var'])); if( isset($_POST['install_profile']) ) $this->_config['install_profile'] = trim(\__appbase\utils::clean_string($_POST['install_profile'])); if( isset($_POST['samplecontent']) ) $this->_config['samplecontent'] = (int)$_POST['samplecontent']; if( isset($this->_config['install_profile']) && $this->_config['install_profile'] ) { $this->_config['samplecontent'] = ( $this->_config['install_profile'] != 'minimal' ) ? 1 : 0; } if( isset($_POST['optional_bundles']) && \is_array($_POST['optional_bundles']) ) { $bundles = array(); foreach( $_POST['optional_bundles'] as $bundle_id ) { $bundle_id = trim(\__appbase\utils::clean_string($bundle_id)); if( $bundle_id ) $bundles[] = $bundle_id; } $bundle_manager = new optional_bundle_manager(); $this->_config['optional_bundles'] = $bundle_manager->normalize_selected_module_ids($bundles); } else { $this->_config['optional_bundles'] = array(); } $this->get_wizard()->set_data('config',$this->_config); try { $app = \__appbase\get_app(); $config = $app->get_config(); $this->validate($this->_config); $url = $this->get_wizard()->next_url(); $action = $this->get_wizard()->get_data('action'); if( $action == 'freshen' ) $url = $this->get_wizard()->step_url(6); if( $action == 'upgrade' ) { if( $config['nofiles'] ) { $url = $this->get_wizard()->step_url(8); } else { $url = $this->get_wizard()->step_url(7); } } \__appbase\utils::redirect($url); } catch( \Exception $e ) { $smarty = \__appbase\smarty(); $smarty->assign('error',$e->GetMessage()); } } protected function display() { parent::display(); $smarty = \__appbase\smarty(); $tmp = timezone_identifiers_list(); if( !is_array($tmp) ) throw new \Exception(\__appbase\lang('error_tzlist')); $tmp2 = array_combine(array_values($tmp),array_values($tmp)); $smarty->assign('timezones',array_merge(array(''=>\__appbase\lang('none')),$tmp2)); $smarty->assign('dbtypes',$this->_dbms_options); $smarty->assign('action',$this->get_wizard()->get_data('action')); $smarty->assign('verbose',$this->get_wizard()->get_data('verbose',0)); $smarty->assign('config',$this->_config); $smarty->assign('yesno',array('0'=>\__appbase\lang('no'),'1'=>\__appbase\lang('yes'))); if( $this->get_wizard()->get_data('action') == 'install' ) { $profile_manager = new install_profile_manager(); $smarty->assign('install_profiles',$profile_manager->get_profile_options()); $smarty->assign('install_profile_details',$profile_manager->get_profiles()); $bundle_manager = new optional_bundle_manager(); $smarty->assign('optional_module_bundles',$bundle_manager->get_module_bundle_options()); } $smarty->display('wizard_step4.tpl'); $this->finish(); } } // end of class _adminacct = array('username'=>'admin','emailaddr'=>'','password'=>'','repeatpw'=>'','saltpw'=>1,'emailaccountinfo'=>1); $tmp = $this->get_wizard()->get_data('adminaccount'); if( is_array($tmp) && count($tmp) ) $this->_adminacct = $tmp; } private function validate($acct) { if( !isset($acct['username']) || $acct['username'] == '' ) throw new \Exception(\__appbase\lang('error_adminacct_username')); if( !isset($acct['password']) || $acct['password'] == '' || strlen($acct['password']) < 6 ) { throw new \Exception(\__appbase\lang('error_adminacct_password')); } if( !isset($acct['repeatpw']) || $acct['repeatpw'] != $acct['password'] ) { throw new \Exception(\__appbase\lang('error_adminacct_repeatpw')); } if( isset($acct['emailaddr']) && $acct['emailaddr'] != '' && !\__appbase\utils::is_email($acct['emailaddr']) ) { throw new \Exception(\__appbase\lang('error_adminacct_emailaddr')); } if( (!isset($acct['emailaddr']) || $acct['emailaddr'] == '') && $acct['emailaccountinfo'] ) { throw new \Exception(\__appbase\lang('error_adminacct_emailaddrrequired')); } } protected function process() { $this->_adminacct['username'] = trim(\__appbase\utils::clean_string($_POST['username'])); $this->_adminacct['emailaddr'] = trim(\__appbase\utils::clean_string($_POST['emailaddr'])); $this->_adminacct['password'] = trim(\__appbase\utils::clean_string($_POST['password'])); $this->_adminacct['repeatpw'] = trim(\__appbase\utils::clean_string($_POST['repeatpw'])); if( isset($_POST['saltpw']) ) $this->_adminacct['saltpw'] = (int)$_POST['saltpw']; $this->_adminacct['emailaccountinfo'] = 1; if( isset($_POST['emailaccountinfo']) ) $this->_adminacct['emailaccountinfo'] = (int)$_POST['emailaccountinfo']; $this->get_wizard()->set_data('adminaccount',$this->_adminacct); try { $this->validate($this->_adminacct); $url = $this->get_wizard()->next_url(); \__appbase\utils::redirect($url); } catch( \Exception $e ) { $smarty = \__appbase\smarty(); $smarty->assign('error',$e->GetMessage()); } } protected function display() { parent::display(); $smarty = \__appbase\smarty(); $smarty->assign('verbose',$this->get_wizard()->get_data('verbose',0)); $smarty->assign('account',$this->_adminacct); $smarty->assign('yesno',array('0'=>\__appbase\lang('no'),'1'=>\__appbase\lang('yes'))); $smarty->display('wizard_step5.tpl'); $this->finish(); } } // end of class ?>_siteinfo = array( 'sitename'=>'','languages'=>[] ); $tmp = $this->get_wizard()->get_data('config'); if( $tmp ) $this->_siteinfo = array_merge($this->_siteinfo,$tmp); $lang = \__appbase\translator()->get_selected_language(); if( $lang != 'en_US' ) $this->_siteinfo['languages'] = [ $lang ]; $tmp = $this->get_wizard()->get_data('siteinfo'); if( is_array($tmp) && count($tmp) ) $this->_siteinfo = $tmp; return parent::run(); } private function validate($siteinfo) { $action = $this->get_wizard()->get_data('action'); if( $action !== 'freshen' ) { if( !isset($siteinfo['sitename']) || !$siteinfo['sitename'] ) throw new \Exception(\__appbase\lang('error_nositename')); } } protected function process() { $app = \__appbase\get_app(); $config = $app->get_config(); if( isset($_POST['sitename']) ) $this->_siteinfo['sitename'] = trim(\__appbase\utils::clean_string($_POST['sitename'])); if( isset($_POST['languages']) ) { $tmp = array(); foreach ( $_POST['languages'] as $lang ) { $tmp[] = \__appbase\utils::clean_string($lang); } $this->_siteinfo['languages'] = $tmp; } $this->get_wizard()->set_data('siteinfo',$this->_siteinfo); try { $this->validate($this->_siteinfo); $url = $this->get_wizard()->next_url(); if( $config['nofiles'] ) $url = $this->get_wizard()->step_url(8); \__appbase\utils::redirect($url); } catch( \Exception $e ) { $smarty = \__appbase\smarty(); $smarty->assign('error',$e->GetMessage()); } } protected function display() { parent::display(); $action = $this->get_wizard()->get_data('action'); $smarty = \__appbase\smarty(); $smarty->assign('action',$action); $smarty->assign('verbose',$this->get_wizard()->get_data('verbose',0)); $smarty->assign('siteinfo',$this->_siteinfo); $smarty->assign('yesno',array('0'=>\__appbase\lang('no'),'1'=>\__appbase\lang('yes'))); $languages = \__appbase\get_app()->get_language_list(); unset($languages['en_US']); $smarty->assign('language_list',$languages); $smarty->display('wizard_step6.tpl'); $this->finish(); } } // end of class ?> '; file_put_contents($filename,$str); } private function detect_languages() { $this->message(\__appbase\lang('install_detectlanguages')); $destdir = \__appbase\get_app()->get_destdir(); $nlsdir = "$destdir/lib/nls"; $pattern = "$nlsdir/*nls.php"; $files = glob($pattern); if( !is_array($files) || count($files) == 0 ) throw new \Exception(\__appbase\lang('error_internal',750)); foreach( $files as &$one ) { $fn = basename($one); $one = substr($fn,0,strlen($fn)-strlen('.nls.php')); } return $files; } private function do_index_html() { $this->message(\__appbase\lang('install_dummyindexhtml')); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',751)); $archive = \__appbase\get_app()->get_archive(); $phardata = new \PharData($archive); $archive = basename($archive); foreach( new \RecursiveIteratorIterator($phardata) as $file => $it ) { if( ($p = strpos($file,$archive)) === FALSE ) continue; $fn = substr($file,$p+strlen($archive)); $dn = $destdir.dirname($fn); if( $dn == $destdir || $dn == $destdir.'/' ) continue; if( $dn == "$destdir/admin" ) continue; $idxfile = $dn.'/index.html'; if( is_dir($dn) && !is_file($idxfile) ) $this->_createIndexHTML($idxfile); } } private function do_files($langlist = null) { $languages = array('en_US'); $siteinfo = $this->get_wizard()->get_data('siteinfo'); if(is_array($siteinfo) && is_array($siteinfo['languages']) && count($siteinfo['languages']) ) $languages = array_merge($languages,$siteinfo['languages']); if( is_array($langlist) && count($langlist) ) $languages = array_merge($languages,$langlist); $languages = array_unique($languages); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',601)); $archive = \__appbase\get_app()->get_archive(); $this->message(\__appbase\lang('install_extractfiles')); $phardata = new \PharData($archive); $archive = basename($archive); $filehandler = new \cms_autoinstaller\install_filehandler(); $filehandler->set_languages($languages); $filehandler->set_destdir($destdir); $filehandler->set_output_fn('\cms_autoinstaller\wizard_step6::verbose'); foreach( new \RecursiveIteratorIterator($phardata) as $file => $it ) { if( ($p = strpos($file,$archive)) === FALSE ) continue; $fn = substr($file,$p+strlen($archive)); $filehandler->handle_file($fn,$file,$it); } } private function do_manifests() { // get the list of all available versions that this upgrader knows about $app = \__appbase\get_app(); $app_config = $app->get_config(); $upgrade_dir = $app->get_upgrade_dir(); if( !is_dir($upgrade_dir) ) throw new \Exception(\__appbase\lang('error_internal',710)); $destdir = $app->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',711)); $version_info = $this->get_wizard()->get_data('version_info'); $versions = utils::get_upgrade_versions(); if( is_array($versions) && count($versions) ) { $this->message(\__appbase\lang('cleaning_files')); foreach( $versions as $one_version ) { if( version_compare($one_version, $version_info['version']) < 1 ) continue; // open the manifest // check the to version info $manifest = new manifest_reader("$upgrade_dir/$one_version"); if( $one_version != $manifest->to_version() ) { throw new \Exception(\__appbase\lang('error_internal',712)); } // delete all 'deleted' files // if they are supposed to be in the installation, the copy from the archive // will restore them. $deleted = $manifest->get_deleted(); $ndeleted = 0; $nfailed = 0; $nmissing = 0; if( is_array($deleted) && count($deleted) ) { foreach( $deleted as $rec ) { $fn = "{$destdir}{$rec['filename']}"; if( !file_exists($fn) ) { $this->verbose("file $fn does not exist... but we planned to delete it anyway"); $nmissing++; } else if( !is_writable($fn) ) { $this->error("$file $fn is not writable, could not delete it"); $nfailed++; } else { if( is_dir($fn) ) { if( is_file($fn.'/index.html') ) @unlink($fn.'/index.html'); $res = @rmdir($fn); if( !$res ) { $this->error('problem removing directory: '.$fn); $nfailed++; } else { $this->verbose('removed directory: '.$fn); $ndeleted++; } } else { $res = @unlink($fn); if( !$res ) { $this->error("problem deleting: $fn"); $nfailed++; } else { $this->verbose('removed file: '.$fn); $ndeleted++; } } } } } $this->message($ndeleted.' files/folders deleted for version '.$one_version.": ".$nmissing.' missing, '.$nfailed.' failed'); } } } protected function display() { // here, we do either the upgrade, or the install stuff. parent::display(); $action = $this->get_wizard()->get_data('action'); \__appbase\smarty()->assign('next_url',$this->get_wizard()->next_url()); if( $action == 'freshen' ) { \__appbase\smarty()->assign('next_url',$this->get_wizard()->step_url(9)); } echo \__appbase\smarty()->display('wizard_step7.tpl'); flush(); // create index.html files in directories. try { $action = $this->get_wizard()->get_data('action'); $tmp = $this->get_wizard()->get_data('version_info'); if( $action == 'upgrade' && is_array($tmp) && count($tmp) ) { $languages = $this->detect_languages(); $this->do_manifests(); $this->do_files($languages); } else if( $action == 'freshen' ) { $inst_languages = $this->detect_languages(); $this->do_files($inst_languages); } else if( $action == 'install' ) { $this->do_files(); } else { throw new \Exception(\__appbase\lang('error_internal',705)); } $this->do_index_html(); } catch( \Exception $e ) { $this->error($e->GetMessage()); } $this->finish(); } } // end of class get_destdir(); $fn = null; if( $destdir ) { $fn = $destdir.'/install-step8.trace.log'; } else { $tmpdir = function_exists('sys_get_temp_dir') ? sys_get_temp_dir() : null; if( $tmpdir ) $fn = rtrim($tmpdir,'\\/').'/cmsms-installer-flow.log'; } if( !$fn ) return; $line = '['.date('Y-m-d H:i:s').'] '.$message."\n"; @file_put_contents($fn,$line,FILE_APPEND); } private function &db_connect($destconfig) { $spec = new \CMSMS\Database\ConnectionSpec; if( isset($destconfig['dbms']) ) { $spec->type = $destconfig['dbms']; $spec->host = $destconfig['db_hostname']; $spec->username = $destconfig['db_username']; $spec->password = $destconfig['db_password']; $spec->dbname = $destconfig['db_name']; $spec->prefix = $destconfig['db_prefix']; } else { $spec->type = $destconfig['dbtype']; $spec->host = $destconfig['dbhost']; $spec->username = $destconfig['dbuser']; $spec->password = $destconfig['dbpass']; $spec->dbname = $destconfig['dbname']; $spec->port = isset($destconfig['dbport']) ? $destconfig['dbport'] : null; $spec->prefix = $destconfig['dbprefix']; } if( !defined('CMS_DB_PREFIX')) define('CMS_DB_PREFIX',$spec->prefix); $db = \CMSMS\Database\Connection::initialize($spec); $obj =& $this; $db->SetErrorHandler(function() { /* do nohing */ }); $db->Execute("SET NAMES 'utf8'"); \CMSMS\Database\compatibility::noop(); \CmsApp::get_instance()->_setDb($db); return $db; } private function connect_to_cmsms($destdir) { global $CMS_INSTALL_PAGE, $DONT_LOAD_DB, $DONT_LOAD_SMARTY, $CMS_VERSION, $CMS_PHAR_INSTALLER; $CMS_INSTALL_PAGE = 1; $DONT_LOAD_DB = 1; $DONT_LOAD_SMARTY = 1; $CMS_PHAR_INSTALLER = 1; $CMS_VERSION = $this->get_wizard()->get_data('destversion'); // setup and initialize the cmsms API's // note DONT_LOAD_DB and DONT_LOAD_SMARTY are used. if( is_file("$destdir/lib/include.php") ) { include_once("$destdir/lib/include.php"); } else { throw new \RuntimeException('Could not find include.php file in destination'); } } private function do_install() { $dir = \__appbase\get_app()->get_appdir().'/install'; $this->trace('do_install:start'); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',700)); $adminaccount = $this->get_wizard()->get_data('adminaccount'); if( !$adminaccount ) throw new \Exception(\__appbase\lang('error_internal',701)); $destconfig = $this->get_wizard()->get_data('config'); if( !$destconfig ) throw new \Exception(\__appbase\lang('error_internal',703)); $siteinfo = $this->get_wizard()->get_data('siteinfo'); if( !$siteinfo ) throw new \Exception(\__appbase\lang('error_internal',704)); $this->connect_to_cmsms($destdir); $this->trace('do_install:connect_to_cmsms:ok'); // connect to the database $db = $this->db_connect($destconfig); $this->trace('do_install:db_connect:ok'); include_once(__DIR__.'/msg_functions.php'); try { // create some variables that the sub functions need. if( !defined('CMS_ADODB_DT') ) define('CMS_ADODB_DT','DT'); $admin_user = null; $db_prefix = CMS_DB_PREFIX; // install the schema $this->message(\__appbase\lang('install_schema')); $fn = $dir.'/schema.php'; if( !file_exists($fn) ) throw new \Exception(\__appbase\lang('error_internal',705)); global $CMS_INSTALL_DROP_TABLES, $CMS_INSTALL_CREATE_TABLES; $CMS_INSTALL_DROP_TABLES=1; $CMS_INSTALL_CREATE_TABLES=1; include_once($fn); $this->trace('do_install:schema:ok'); $this->verbose(\__appbase\lang('install_setsequence')); include_once($dir.'/createseq.php'); $this->trace('do_install:createseq:ok'); if( $adminaccount['saltpw'] ) { $this->verbose(\__appbase\lang('install_passwordsalt')); $salt = substr(str_shuffle(md5($destdir).time()),0,16); \cms_siteprefs::set('sitemask',$salt); } // create tmp directories $this->verbose(\__appbase\lang('install_createtmpdirs')); @mkdir($destdir.'/tmp/cache',0777,TRUE); @mkdir($destdir.'/tmp/templates_c',0777,TRUE); include_once($dir.'/base.php'); $this->trace('do_install:base:ok'); $this->message(\__appbase\lang('install_defaultcontent')); $profile_id = isset($destconfig['install_profile']) ? trim((string) $destconfig['install_profile']) : ''; if( !$profile_id ) { $profile_id = !empty($destconfig['samplecontent']) ? 'default' : 'minimal'; } $profile_manager = new install_profile_manager(); $profile_manager->install($profile_id); $this->trace('do_install:content:ok'); $this->verbose(\__appbase\lang('install_setsitename')); \cms_siteprefs::set('sitename',$siteinfo['sitename']); $this->write_config(); $this->trace('do_install:write_config:ok'); // update all hierarchy positioss $this->message(\__appbase\lang('install_updatehierarchy')); $contentops = cmsms()->GetContentOperations(); $contentops->SetAllHierarchyPositions(); // todo: install default preferences set_site_preference('global_umask','022'); $this->trace('do_install:done'); } catch( \Throwable $e ) { $this->trace('do_install:error:'.get_class($e).': '.$e->getMessage()); $this->error($e->GetMessage()); } } private function do_upgrade($version_info) { global $CMS_INSTALL_PAGE, $DONT_LOAD_DB, $DONT_LOAD_SMARTY, $CMS_VERSION, $CMS_PHAR_INSTALLER; $CMS_INSTALL_PAGE = 1; $CMS_PHAR_INSTALLER = 1; $DONT_LOAD_DB = 1; $DONT_LOAD_SMARTY = 1; $CMS_VERSION = $this->get_wizard()->get_data('destversion'); // get the list of all available versions that this upgrader knows about $app = \__appbase\get_app(); $dir = $app->get_appdir().'/upgrade'; if( !is_dir($dir) ) throw new \Exception(\__appbase\lang('error_internal',710)); $destdir = $app->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',711)); $dh = opendir($dir); $versions = array(); if( !$dh ) throw new \Exception(\__appbase\lang('error_internal',712)); while( ($file = readdir($dh)) !== false ) { if( $file == '.' || $file == '..' ) continue; if( is_dir($dir.'/'.$file) && (is_file("$dir/$file/MANIFEST.DAT") || is_file("$dir/$file/MANIFEST.DAT.gz")) ) $versions[] = $file; } closedir($dh); if( count($versions) ) usort($versions,'version_compare'); $destconfig = $this->get_wizard()->get_data('config'); if( !$destconfig ) throw new \Exception(\__appbase\lang('error_internal',703)); // setup and initialize the cmsms API's if( is_file("$destdir/lib/include.php") ) { include_once("$destdir/lib/include.php"); } else if( is_file( "$destdir/include.php")) { include_once( "$destdir/lib/include.php" ); } else { throw new \RuntimeException('Could not find include.php file in destination'); } // setup database connection $db = $this->db_connect($destconfig); include_once(__DIR__.'/msg_functions.php'); try { // ready to do the upgrading now (in a loop) // only perform upgrades for the versions known by the installer that are greater than what is instaled. $current_version = $version_info['version']; foreach( $versions as $ver ) { $fn = "$dir/$ver/upgrade.php"; if( version_compare($current_version,$ver) < 0 && is_file($fn) ) { include_once($fn); } } $this->write_config(); $this->message(\__appbase\lang('done')); } catch( \Throwable $e ) { $this->error($e->GetMessage()); } } private function do_freshen() { try { $this->write_config(); } catch( \Throwable $e ) { $this->error($e->GetMessage()); } } private function write_config() { $destconfig = $this->get_wizard()->get_data('config'); if( !$destconfig ) throw new \Exception(\__appbase\lang('error_internal',703)); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',700)); // create new config file. // this step has to go here.... as config file has to exist in step9 // so that CMSMS can connect to the database. $fn = $destdir."/config.php"; if( is_file($fn) ) { $this->verbose(\__appbase\lang('install_backupconfig')); $destfn = $destdir.'/bak.config.php'; if( !copy($fn,$destfn) ) throw new \Exception(\__appbase\lang('error_backupconfig')); } $this->connect_to_cmsms($destdir); $this->message(\__appbase\lang('install_createconfig')); install_config_manager::ensure_config_file($destdir, $destconfig); $this->trace('write_config:validated'); } protected function display() { $this->trace('display:start'); parent::display(); \__appbase\smarty()->assign('next_url',$this->get_wizard()->next_url()); echo \__appbase\smarty()->display('wizard_step8.tpl'); // here, we do either the upgrade, or the install stuff. try { $action = $this->get_wizard()->get_data('action'); $tmp = $this->get_wizard()->get_data('version_info'); if( $action == 'upgrade' && is_array($tmp) && count($tmp) ) { $this->do_upgrade($tmp); } else if( $action == 'freshen' ) { $this->do_freshen(); } else if( $action == 'install' ) { $this->do_install(); } else { throw new \Exception(\__appbase\lang('error_internal',705)); } } catch( \Throwable $e ) { $this->error($e->GetMessage()); } $this->finish(); } } // end of class ?> GetFrom()); if( !$from ) { $from = 'noreply@localhost'; if( isset($adminacct['emailaddr']) && $adminacct['emailaddr'] ) { $from = trim((string) $adminacct['emailaddr']); } $mailer->SetFrom($from); } $from_name = trim((string) $mailer->GetFromName()); if( !$from_name ) { $mailer->SetFromName('CMS Administrator'); } $sender = trim((string) $mailer->GetSender()); if( !$sender ) { $mailer->SetSender($from); } } private function get_selected_optional_bundle_ids() { $config = $this->get_wizard()->get_data('config'); if( !\is_array($config) ) return array(); if( !isset($config['optional_bundles']) || !\is_array($config['optional_bundles']) ) return array(); return $config['optional_bundles']; } private function prepare_optional_bundles_for_install($destdir, $modops) { $bundle_manager = new optional_bundle_manager(); $selected = $bundle_manager->normalize_selected_module_ids($this->get_selected_optional_bundle_ids()); if( !\count($selected) ) return array(); $bundles = $bundle_manager->install_selected_module_bundles($selected, $destdir); $bundle_manager->queue_module_bundles($modops, $bundles); foreach( $bundles as $bundle ) { if( empty($bundle['name']) ) continue; $this->verbose('Installing optional bundle files: '.$bundle['name']); } return $bundles; } private function refresh_installed_optional_bundles($destdir) { $bundle_manager = new optional_bundle_manager(); $bundles = $bundle_manager->upgrade_installed_module_bundles($destdir); foreach( $bundles as $bundle ) { if( empty($bundle['name']) ) continue; $this->verbose('Refreshing optional bundle files: '.$bundle['name']); } return $bundles; } protected function process() { // nothing here } private function do_upgrade($version_info) { $app = \__appbase\get_app(); $destdir = $app->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',900)); $bundles = $this->refresh_installed_optional_bundles($destdir); $this->connect_to_cmsms(); // upgrade modules $this->message(\__appbase\lang('msg_upgrademodules')); $modops = \ModuleOperations::get_instance(); $bundle_manager = new optional_bundle_manager(); $bundle_manager->queue_module_bundles($modops, $bundles); $allmodules = $modops->FindAllModules(); foreach( $allmodules as $name ) { // we force all system modules to be loaded, if it's a system module // and needs upgrade, then it should automagically upgrade. // additionally, upgrade any specific modules specified by the upgrade routine. if( $modops->IsSystemModule($name) || $modops->IsQueuedForInstall($name) ) { $this->verbose(\__appbase\lang('msg_upgrade_module',$name)); $module = $modops->get_module_instance($name,'',TRUE); if( !is_object($module) ) { $this->error("FATAL ERROR: could not load module {$name} for upgrade"); } } } // clear the cache \cmsms()->clear_cached_files(); $this->message(\__appbase\lang('msg_clearedcache')); // write protect config.php @chmod("$destdir/config.php",0444); // todo: write history // set the finished message. $app = \__appbase\get_app(); if( $app->has_custom_destdir() || !$app->in_phar() ) { $this->set_block_html('bottom_nav',\__appbase\lang('finished_custom_upgrade_msg')); } else { $url = $app->get_root_url(); $admin_url = $url; if( !endswith($url,'/') ) $admin_url .= '/'; $admin_url .= 'admin'; $this->set_block_html('bottom_nav',\__appbase\lang('finished_upgrade_msg', $url, $admin_url)); } } public function do_install() { // create tmp directories $app = \__appbase\get_app(); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',901)); $this->message(\__appbase\lang('install_createtmpdirs')); @mkdir($destdir.'/tmp/cache',0777,TRUE); @mkdir($destdir.'/tmp/templates_c',0777,TRUE); $siteinfo = $this->get_wizard()->get_data('siteinfo'); if( !$siteinfo ) throw new \Exception(\__appbase\lang('error_internal',902)); // install modules $this->message(\__appbase\lang('install_modules')); $this->connect_to_cmsms(); $modops = \cmsms()->GetModuleOperations(); $this->prepare_optional_bundles_for_install($destdir, $modops); $allmodules = $modops->FindAllModules(); foreach( $allmodules as $name ) { // we force all system modules to be loaded, if it's a system module // and needs upgrade, then it should automagically upgrade. if( $modops->IsSystemModule($name) || $modops->IsQueuedForInstall($name) ) { $this->verbose(\__appbase\lang('install_module',$name)); $module = $modops->get_module_instance($name,'',TRUE); } } // write protect config.php @chmod("$destdir/config.php",0444); $adminacct = $this->get_wizard()->get_data('adminaccount'); $root_url = $app->get_root_url(); if( !endswith($root_url,'/') ) $root_url .= '/'; $admin_url = $root_url.'admin'; if( is_array($adminacct) && isset($adminacct['emailaccountinfo']) && $adminacct['emailaccountinfo'] && isset($adminacct['emailaddr']) && $adminacct['emailaddr'] ) { try { $this->message(\__appbase\lang('send_admin_email')); $mailer = new \cms_mailer(); $this->initialize_success_mailer($mailer, $adminacct); $mailer->AddAddress($adminacct['emailaddr']); $mailer->SetSubject(\__appbase\lang('email_accountinfo_subject')); $body = null; if( $app->in_phar() ) { $body = \__appbase\lang('email_accountinfo_message', $adminacct['username'],$adminacct['password'], $destdir, $root_url); } else { $body = \__appbase\lang('email_accountinfo_message_exp', $adminacct['username'],$adminacct['password'], $destdir); } $body = html_entity_decode($body, ENT_QUOTES); $mailer->SetBody($body); $mailer->Send(); } catch( \Exception $e ) { $this->error(\__appbase\lang('error_sendingmail').': '.$e->GetMessage()); } } // todo: set initial preferences. // todo: write history \cmsms()->clear_cached_files(); $this->message(\__appbase\lang('msg_clearedcache')); // set the finished message. if( !$root_url || !$app->in_phar() ) { // find the common part of the SCRIPT_FILENAME and the destdir // /var/www/phar_installer/index.php // /var/www/foo $this->set_block_html('bottom_nav',\__appbase\lang('finished_custom_install_msg')); } else { if( endswith($root_url,'/') ) $admin_url = $root_url.'admin'; $this->set_block_html('bottom_nav',\__appbase\lang('finished_install_msg',$root_url,$admin_url)); } } private function do_freshen() { // create tmp directories $app = \__appbase\get_app(); $destdir = \__appbase\get_app()->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',901)); $this->message(\__appbase\lang('install_createtmpdirs')); @mkdir($destdir.'/tmp/cache',0777,TRUE); @mkdir($destdir.'/tmp/templates_c',0777,TRUE); // write protect config.php @chmod("$destdir/config.php",0444); // clear the cache $this->refresh_installed_optional_bundles($destdir); $this->connect_to_cmsms(); \cmsms()->clear_cached_files(); $this->message(\__appbase\lang('msg_clearedcache')); // todo: write history // set the finished message. if( $app->has_custom_destdir() ) { $this->set_block_html('bottom_nav',\__appbase\lang('finished_custom_freshen_msg')); } else { $url = $app->get_root_url(); $admin_url = $url; if( !endswith($url,'/') ) $admin_url .= '/'; $admin_url .= 'admin'; $this->set_block_html('bottom_nav',\__appbase\lang('finished_freshen_msg', $url, $admin_url )); } } private function connect_to_cmsms() { // this loads the standard CMSMS stuff, except smarty cuz it's already done. // we do this here because both upgrade and install stuff needs it. global $CMS_INSTALL_PAGE, $DONT_LOAD_SMARTY, $CMS_VERSION, $CMS_PHAR_INSTALLER; $CMS_INSTALL_PAGE = 1; $CMS_PHAR_INSTALLER = 1; $DONT_LOAD_SMARTY = 1; $CMS_VERSION = $this->get_wizard()->get_data('destversion'); $app = \__appbase\get_app(); $destdir = $app->get_destdir(); if( is_file("$destdir/lib/include.php") ) { include_once($destdir.'/lib/include.php'); } else { // do not need to test /include.php as if it still exists, it is bad... and // and it should have been deleted by now. throw new \RuntimeException("Could not find $destdir/lib/include.php"); } $config = \cms_config::get_instance(); // we do this here, because the config.php class may not set the define when in an installer. if( !defined('CMS_DB_PREFIX')) define('CMS_DB_PREFIX',$config['db_prefix']); } protected function display() { $app = \__appbase\get_app(); $smarty = \__appbase\smarty(); // display the template right off the bat. parent::display(); $smarty->assign('back_url',$this->get_wizard()->prev_url()); $smarty->display('wizard_step9.tpl'); $destdir = $app->get_destdir(); if( !$destdir ) throw new \Exception(\__appbase\lang('error_internal',903)); // here, we do either the upgrade, or the install stuff. try { $action = $this->get_wizard()->get_data('action'); $tmp = $this->get_wizard()->get_data('version_info'); if( $action == 'upgrade' && is_array($tmp) && count($tmp) ) { $this->do_upgrade($tmp); } else if( $action == 'freshen' ) { $this->do_freshen(); } else if( $action == 'install' ) { $this->do_install(); } else { throw new \Exception(\__appbase\lang('error_internal',910)); } // clear the session. $sess = \__appbase\session::get(); $sess->clear(); $this->finish(); } catch( \Exception $e ) { $this->error($e->GetMessage()); } $app->cleanup(); } } // end of class ?> translate($args); } function verbose_msg($str) { $obj = \__appbase\wizard::get_instance()->get_step(); if( method_exists($obj,'verbose') ) return $obj->verbose($str); } function status_msg($str) { $obj = \__appbase\wizard::get_instance()->get_step(); if( method_exists($obj,'message') ) return $obj->message($str); } function error_msg($str) { $obj = \__appbase\wizard::get_instance()->get_step(); if( method_exists($obj,'error') ) return $obj->error($str); } ?> kwq 9EnH@H .y[,} vW7AH{^ٺ:Ggdٲ,{zdo޸efdVVw9/k 22+i_ykx4/go]v-\_֮_zk} &g܏I9NGh=w&.|փd9}vd7{|ovWW$'^M|&<:25ƋݼI1%GE?Y7xr||>`/ yB-{Gy G('(˒8zrRLN:HFY7/ǣ|2h)tWQ/ OA7%,g~㓇OOA6J{~/$N6(2~)`t+J;My1d90t&RRp1v{C}=IzlŇFMa>*0#<{d?K`&%}t/~{Ol?uPN{aPt0>;On݅߻o0ν;ɝGO{~<~ݝVf)!S&fӼW⠿YBz(}v*M:dW i|&z$br#",&v˹tZK=<X ֿ|yu)(`;IV֖.~$Owy /n$M֯}Cu^XЫ(K_ еo?x͵u$ebɚ J/_ޤa vi2e/ǛbݹypNh]ﻻ=aR 8mѬkRla˗^ $`u;i8 V"6h Aqg!Ac){"BXio }~[y}6-k+I.P6~[$,hO ;N \Pe"oPȻ '!,mMYt^.rc Ymh۔:KIA:@J P2!Wj;x G'lV{3i4`cេo@J8yhIQ5$T>o[rZ[L^jy 1xO_ W} dCT: ؃gw+mltn6nviG  7ϒ<8Ņ\L.poqL㼟+ ?8Ƽ@@= 'rvq稙<Ӝ\ʒ9-PF/'- i9m. Z12bxI[PB볈&Rr2@hւ-0#"BJOj:*Z+ä:!8*IUNɈY3զk,o!z(hsŵLHBD/%m45\悽Yio R QT֫nCfy4D^zt욏N*=9m,x¹`=ڷWj~:-\3>U&J67:ҴL"7v$=[XwsfFkki(t51R SZNQ"Vt @?ގoGk+w\w;7PIkf5MarqE0؇YB&A.B.|s9.o&MGyJZ HD-7IFTi%M,LAIt%I;1LVy&ao hhPwv-)YԔ^*(t,lcS++ YpNK,@e͘nHo0{Ũ[@0JC"$)XmA}1j!jA[x+ D-^ `f} S E2lò"ɥ{<"m jƋ 06Hn8ѫyF!X4Z;#Ju*}U!Fz5Mq_-2:YLj#n&0kM-E:\aK"fEVwfЎQ)7B.'_}.p{/WN>֥:x,;L{tsi:ͣ`.M[u"[:7+ `JAf$1blӛn̘Ӎ#ǠMיtV oWz+%w^Ã= S ۨeO5SR_iFgVYK?}h&]QlXۯ|m7:s튲6`8|9Es~?8@Ahub?*d nr)OK  Mgx]Ok-CL&,5MIJV+D(bN EAUaLێ TD : ͇h?DQ]py T6åK'i9$d;ҍoFi#4Ҳ lHsiweS^f0ޠMBFt,Sv8: Hqd?#O}l.Aos઼AoT+- ۑTDjw>kF=F'httΓýG 8>-bI,u'%P]L}nҼtsq!2(a)!֮XH JMHГbn`_yu&c#yn W)гxit)rKцW< ;@E)iaeF#RZԷʢ2VSy9'ɋ<;!pڨN + hl8sރ%sEm5Q<-i8\p W)Ř4Qn..o/RbJa܁H8n;(ƧgȞfhJ9IGTiK Rw&-T,04wp~^2|~cVF\J<B rb*!Q@DTTS+biIa0r2Rءbtj@|@Þ9vTGߵg(>_7֮nUc2E#=wF1iQT& `JvwܡbrɣB+%[ f[ʅ%%JLy(O h1Np"1=ӻp39?ntTu8T‚y2dLBKV 3{ 쉭Γ7nv]m/$Xs]Ώ=@ʂhaO(3wn=}FMUNƓt>[Ӷ ͔׷(Xzy?c~h/e|JoJ%*a`TYE>--,;{c;B3(eY;+c^m+N2y31H9c8^GiW@pgԿwongt8pSf9#InK^bNǁÔy7(YNAf|FG|hqfh64rhx:L!ո}wHޓ;fW ċ(^Nanr}rBm96cZ0[Yl;MUϾ7n^ۧjqC,2Z(ƇZ-Ҋۺц\|mYx9fbpi%9ݝ';(Ț]́4 'O,ٽՐ;mv1k6:c)bA %'R`Q>χ T7P.䘣p$NeHaeCQ < %a^ױg?v{ ܖED ,D6\zB-ZE|v].0:tlCfX͕( 1h|2/T--J%UƋop7hdѓY}aOE%Di ;"Hk&?pP:9lMo6zD rV jn³A\E7zEc}C-83lRx 9:(zmIp@vCœ1AKPH@dtfEr<8}mwݭ`T8  t-ol`oE<]MK^k3|y$rrujIN:BMB?I:`)c!J.W[rbdN}rfO]dA ] bDo \ߘ[ȤȚ/'WX @5rD6R#G0/\G`%BxU&i/k'MW~i8vĵ'|m=%U<JW5XĹ@Wep5h+^>x0yGawARpM8Πu˹Aᱮ+ʦ[P ^*[.ȯU$\Uӫ%i*ɯ [X8|  E\@ ̗v0( X}@<F _EWn6YvG7qe1߯T%V4eZnF w3P4gXq9^0p̟;8$]Ŋ`fr|E}vm=>}&_ 셥ֈӱ5sp8n(s.p|'I5o~L\|R}+ T}n8-! ˬj> ͬz&}U;~E%ΒHS`š:R%ZY?@s2~4 }K'?H_^6>嫗?>Z=.!~ u(?<'"HkI#|~%7:ipr+_+[5%I< NКolz- _?1*9LJb>AI= ֛צ MJNgQr%odOr$|dL{o'o_m³6 }L/HE&gT/>'G Gzab:HM"w.+A٫ Eۀ[og=0l{&>U0FHRSܸeށ " R12rAe 9 Xl5bi6[䇐bbƖR7mzCueyRB孽#40N&zn0`TCٿ{]+ۓ@HcT6ZYQ;Gn&K kzMQZ2SKN7t5`z1b6.pɨ(1z fz`LtE=[ 7d (fJʆ!% =V=29Fik@}eg[A!NapJe hMbdNPHUQKZ;yɱK> RKӺdoz[V@pni)s oB&9-AubB;mc+)#˹sB04ݴ|ZbtysZjcqFvFNƊjOKّˊԱ!Cg!԰! ]USTWyUA1,cex"T̸s&֮ Qd9;2y5fslE#ɸ5StZu#XB7o;9_|чW.`(Ȕ[t8P묋,#WYlck3wFS+C|oy kʑū}Vm'hnw˺=WNb::wީpv#rWp*MyZ]Yfnrl:d|%PW V%V$23y*g0I٦۴:MQѿ'jÓ?.;R㐣~IFn7!ud:SVՠЬ HP@QUD*؏d L)IN׭nBsY&`Ta9;,PtMaJ1)gYUM YˌD2vL/T<Ơb(WiddKN.ݫ) u4:uB ս9hLuR.( 3ѩ^̫F5V^rnClC<;F( bsf}ֹrsyTyz:L^P5!)2U#ٟաthF>@1\+{pLhOy8E1š kg8ð^ 1<~f[A-[ 4%"K9hDuRD&ze[<t:8dSr꯷gx\GEo#O2A"gK f ^&iapS G 0n|{:dԮhg*V,l?~J5sD=7<7<7|ϝt@0TQCNFcM?i<|ݹ84[۹ؚR1. YS,7R"0Y94hrlg/%jԠKr qYaEb;/EG{_NPGΰ7mQ|@+:ϿmjWw!8gt`kٸE.QoϊZ#KGh†& qcA/q pn/?s乗cʑbAt3Azj@Ju'%826Deb`ǁ˙ 'lz [n"GnDn d/ʼJL'%d0dX\J^[]d$*DAFQr9+Gsa5n6"4+.5yļ%Ŋ6_Ҙ@HfևfF{y@= @5w3(fj}yB. E+ͭFK~yhxtbK\t׼ pO𩨗g( tf S},eI$D qӱSa<4"4S4MQg~*oH^qxW #\t} ;\A`_A9qs{'t bX]#|?0ojpҔ1[ݢxxc~2V-{&ѤsdNtCχ.r }.i2XX-cGBMtļf)9,pqS,)9:Gf#TEmfG`'P6~FbWGRTw!}V wI uӌfIQ5ķ̈scJi'lڅ;Uj4$y)[\4n$ա3ICSgQom!'?k) IPoջ&3&TpI71vu-3QɃp?-伜g bF>27n/%AFQ.Pz<(A\AW˖2LD/ KI`^M n3P2r3^|~y?8gb"ЏD7VnVS+ )ႁX5ԫ!u 攜#(΁'|]@zRɒoXIςMyoz &y39T܆l`.ɽ\_hTwQ]= `tBPA(Q]̬ O'jIbVGM]arяxƴIZ9)^ʻ yL|s\ Y]71pfJa%ڋBBOpObP(+|f4JE:E_Gヸ(Qyn ҂rn4d#ء6\mi12",S-֦A6tlzSg; dFիWk;wwww&kkh?}qe^{_~V3 =1%?9vͼMX>h>MHDU@l {CeͰֆT6އ3r#F^[J՜SGxy8!*u^j'd<:UQġʲD+?5kLۙvlXofm*'F .("m6P)*Yfd6puFܹA&*O=zhO>@ih0iWaZ?]((5璇Q^b(0bO^gީ2OF9jيMҙ?C'!B^Qr>j9=iN3)3 LmgжxsT_>ݗ^b$f-*b5dZ]蔇A>*mv! F4ex8r i#)iW+Ͷx萇 *|`TfCKf[6 =:@AQqpQ O2'< :1*΂2ѼG01g|f]肁n<a }MdRg?S,,jmts @,.Uo66U鍛gj˸ml֓Z{n߹wn]24-V?K" 2=HkҹYz-} aK*wAڹR5YIHX#vM~*#ሁ|-xqU^EFarC[5*{wp`awalL/j/Ң :r{@{YύXufth IHl"<îHw}? !|S84<\R Ah4 NǥYkȗk8fȁyxi.N9:"P^%>B pϑQڏ *§5 OQo >8ג"1Mx BQI~Ӊ9E >hâW_w":tFA~TTmu ႖1 ̱>s9t(WO=S=x(RY[j$& wyyccy_DR}[1xSOq[L+%n]ЖXc]Кn)S?t. 5Uӵdk'ëʳw=8y 5&l9uQg3,+] 9!]KVN*QY[Tx=zM:(pD*M J@[+ʌhf=†7Yy ƊOMW#>Z$62DHY8 $_NrS^ywQ?u%J,bD]mXzxZzMlbImz6XdY}doօ^a]& {3oHAyB^ g^>؂ś1 e _|z`_=`?;> ;{#褦h#i$-c=ydf8WbU +~pXsEV|2d“cVpt]B9bG'7Qv[9q1Yjxj b'M{ݐqXEckGbMVO#FU?hKlZ^Q?4 Q vK 5 ah{[GwIWJU˩TRyolX봘:\"M!{u.<Ȭ8FUsU]sȌō1Oyr<1p@I@ۂd vCXj`i,$i~'K4.:1^)OU&$ @a&HX΁ `p%lH0ϵNR)t9/mقVZ@QUa ^e)I[& KH q-6(DŅKz@3iP8{k>}~~~o ;:]z7J <;嫵mpuhe xG^vv&^cXtF Z ArlgNPE?.zPz90c5fc7!uTWtN{@{W=NAxлy zT. 2HXY؁궻 ^@=v #Z +KyW}pcVjg_>];s~eei?M{5h8Q@RY\]t=2 12ZWVrNwBl11ߡcC>wT`y8<RޙI?}16֯^ y~out8hRͅo5^>o{s}5*A ّB6EᩉdKbS3"h9G1VZ3l~HQQs<}u9=W+?W/_;sP5[Gck˫W>jW7?isF龵ϛ&YFrHo`H O<͂b^EgJ:T9ѐ2:͐[/a{}J+Ɋ^C7rU™:W|a~X23McJg@ĩ'jb5)wS6•aЧvլ^6^@#pub^Ģ%^/*eɅ%=2}"iLsI忋aD|B1*;IѢ+z`};%1홏93QuIYS]V`63_cLRrF E,JPgc{YE2OL76]SNlK^R7u%gkgd\x7 D M&AHݑWW~KXx7ƌւ}i-r_mknw7+810lz&X+g鰿Ӈʉ r~cn~=B!)^l^&ËɢX?ݬ3+o!1e/bR2h7Xw.$V E8nAnAWl3)j;!YOLp։1DxfVrͿ\aV_gܘ6/qOATߠj M |@s,01 D~Nx#@/ŁkҊ fC3UoU<ص:o 76|ip5{^&61x`,{Y.9מYf]33R'a)F1TXKuTRM}wtYa ӄ4L{$}=+;@\BդxJU*LATQ mKc[xy ${יX8S~[-^_ @诚9 EMpzYcSHмD_%ٟl2{PL"C [JތJp03F?|[y W*. IJdAFSZAPFSHMxgŪV`&MK3o6YmTסGġ8цm|ڊNA@k ` ۸&G&WG@,&CECޜ5*_їO⿱nՌcN Y;#ݭ} ComK9? dEUbѾԑ&<gȣo}+QS|dҾ _nޔ ߉c KQYgl>#S jX0¬lI9qYܨgq4u!K$^o&<ƻHlm/px(._o[jBɌ<[0Cقk~Y9%*)0 [ :D r*4 ćE/\+2A._f'u\Ekim({[?f_^ZywLU_?Z^]_ӳzec}ucNoOwGŐ^^'NsPKJk #JZijk"kEkO1Rhx2zH`|gbT!ewNTW̒޶yЉ ^>s%;`N̿2oXf10nެ kMUt%ZAi'KW߻{w_IuԫsurNlM͑ 0tUʴqv$ x: i s*|*-[CNu^ΛqE;e*fdZ P \7wlk:M<.< 4S:K,= ֏ }x-xsj_~'oDU&oPёT4IOzy9?^Fʎ{4j{~Cfs^OpAjW z񼫛{Nk:~UzӠے>ʁ^՜>?T5o3d~P٘u50cb)D366/yN_Ѧ%0ě\;7 [v ?P'FJ.CEC#0YGV@5N2}C,jqA"88,6 3\mW?[f^k__;sL.߼?忨d^?i6񴮄1&qb2%i.|s9o&MG9à h+ Bs52^+il6g2H|dCDW%D4iŽOTJ)Y2*{D" PO~ 7>&*akHpHLdFo\6FJJy*$!Uu7cpC7w\ ~J|0AIEJY٣vA l@m8uyq/^C4.+ m4rl5KPEB)SpVDQVGWwj3Owx%e._!׀|,NQ[HKOљa>Myj'}o)Os80Iz~n{̬HӘ5ˌO|62_S TMހ>Qn?tZ Nxy7ggȧ"ʩiݝϪ|BOǼFO0N@z7p*`̣SzEM^ }iH gp7x)#U..퐎pf &s Ǽ3PKV([py #PaL|i5"aH$H2g.4N@RD&[m7P-/a)..h|Zlegldg'ՐiJJ X10(9igIrDRT?\2g9 d_otX#Vɸ7nV"H8r 8fd@ P8S**?7?o5N߂ ,W*_];zZ-*4{- _?1:믹b>כZ~덬 Φ|i_>k嵫Տ6֯e2*zkɥ oy\K7᮳@9 r al>1+K6yuby -G^V%lem Pl{jj CWD| kL1a3.dAzx.1Ffjxhln5K>@&.3B+uP "'-ԙ{ߞ4ݺbg ר]k3;O> 'j8w . %A+>1LމA2O+ٔ#E 6Z\)k~Zh-B1Vٌժka CCB3kN/).Wdz1 j{~qԋ V~PyO%Ŷ2W?L4/NɼCfsse-A<'t.վ`7|}^}mYd٬}@M3?FL龀ږdͭ/[WU@_f^ k?:Iwv~r  N_ o 'z'_Yf]OKPsCyM]BWCl)rq)|Pa (R@ټO&KE<+T8G}ğdzzDۜU-$PG*EiyG阩*Zz-M+vwG6lcԔɹfuT:=Ec;7`um`^W6(N 7)v0.BvQYHsU4 ég WkSRy\_[̤b?HVhkC sQ=y5ӆ#څ`+ğS 0AdI'ncuo4|m8+la¼JSuR@h4!r틨^&ٸG1Gc.01fBǬzFԉt#my)-óESvG;ݔ|5BE@es8mrTw2rG:fe-p˲Dڅhs1.j!G(;hMBCnDJ<2n# ;yG60U]Ul%H؀10[*ѥ^-k)uLk<:թ76\12>|ozdqkOi mPg}[4 ޵ĞIߐiǰ %5X z' ]nl]Y>dmMO0Bo ?LNwT7׫5ۧ e{Fso~n}U}th\&U=8@W8F9:H LKCm㳺پg?%r EQs``jRZ c'K>_MO{ϟܽ'Ow"T§9n:\,{8?vmP"]b[rE8KN2rx 88$аe7M6:*y55*OڽL^~xLg3Za.z,9ݥqMGqJv:W% Sk)"\ZKL;!6/V3-̺KGfAjT:ճ >f/ T.65g׭ , '1(e0.?dB4H֍qTivEx1wZiU֙tl9~SnL$ٱBAQ!؉śj]{T5XICF%n yL ifguabwA(Ę:hعlw襇̄/des LafeoLJa*Pw7ye;`V3xS=_gL6ژ]]_V_>6*r"|@JxCH"Ke*tnZ<:~4q3WVޔAģB -dtc~Ӄ1N^[շ g;?x#h*cz# v?#yhTz_ѧ,о2HK0D`9^{Xj,E!Rа.ǙCld\Y=<'5)_ 1{2LI;T q;nmZ۹{/F vFen'Gs4t|\!K>TS\3^s$ /`'>f/?yz.%˫GWk޸ɟ`ϋR0$L#mIa,{`&5 |k~eE!ٻwGC%VDtl0p;q;;O=h?ٹpOz5G3ydÑeK@4ܦi]~"8!^69OKTn-ʌSYNv`2VKC7ʝsF)[umXrd pG0-%%GNDkƌg7;ƘI' 0m@FԼIhf{ }ǧ:^h/pCUM83(191qp-6B =<p"~wa?cC)ӓk*kR_Wcn}#;uz)S5lvc˕lmSkkW{׿\OWV/Sŵq^ a1*!`65Ҵ\B{\^(} w\g'RH<;@Xx!)bin wX&F4Inx'E@^d+vps[qǛnW >Z,MQxj}gʽdv!AXգ[#mzMWⰳ}+A%p0ɫBI.m.r~p)J+jCBvg g)ǙI{訂VMELG{JwV<3z[E7\;BMfp6\d!yT /Ǣ]fʢEcb'gdeŘeA5dyw*e+Pu|߃6 (OqCv6Z8K,-O.5HŒҤ=, ۱W3 5m̞9%o5V5*ɽƽT.Xagzdse٠ؔzp߸_EAi)l=ϠTEuFW!a#0 ]34 $Q^ti6 ) tYʽnV$[WrírˠI~{8ŝJMWiNpѫ'Zd,x'%ވ@ zy2ZhDq nBb(1iv0G}J|S,l|K Ë2kq7Un2];+I7D;uUK`u~ Xg>;-8&10Xiqlfo.j7[Co f}J0?] yp/nqapvwBZ %K?$ K@*akw'0k} t\]R.#Wlo\Z[1v9'hՂe>0#[FRǰؘang@&.dc FG9\ o2C>!Lybզô,5jaj- є9:b!W{)ɣ4N[5 φ]0!D%Й!Lz0CdR_0e1ql9~o1G/ {MMR #s@oWS612pVd HD;FnvvāN| ~wWp-Av!Ø"#MeT"ݻr ΪM JEn1 gʳ^lRN+""O0Ro#@Ǡ_$!_؊ێJ_uC6=Dr?g8P;`CJLF0xps'9f!ERSu#.2',TZ+ Uu1A>ھE"r^Z`]SpsD$%58O{4#c|20A#D*}u^v[ _[Q)i;1VAq`JV6 X32BB3Yy`wHƈb?{5qu%mQVb1T'hN^+tGyhΣo{}y7w%||9U/T`jLeMl޻|WG%%Jq|hdCt ##Ene[MD k}La3k Ogwo j#Ya*Q* Eq( %-ղLdwޣpBXŞZv+&v9G!R %,LiLb7;x-ZFS4z0Af' lΉ&Hӄǥy+Phо$"Ye'":~}y{?P j, 1f V%keRES՞ypGXUoV@{4xxLD%SL6(؝1-yp%[ً(ΖԪ}B!haksy'VhWԵі%iڪEҍr<*[@"?kQN[וٜsD>wۖ7Yê$ f(Y~}&;Jgk;7=v=T+m]oVuavg;U70*+ϣ4ıl-E[ ޥ?'W3ro/:9xS * 4Pn n$_Cq% enu2>,`T7⅀;@A**;"{,vo'?{9Fhˣdvd$S1G:,bgŗQTGfhXhsŸ/zUơyK̻RfH*\35UA'vcҘM δ;Ѽb1UH1Dy bH Ivr&`3_BxDs-AFb+ʦoqp܈mld<^R#jO$S2J !UC3qa g:usU] )GpLF=u̼ H=b%iz*XCX:0W'Zx>TcD6梘Z< y o|}muףM'jI9nhHG7oK| ̘ fAQ,Lg"t\o‰="NGs(#|[J[_!Bt1|3귱\ջ?aZ-F.?a'ٰ峜K+Oj*гVґБG:RBev:zXm>51Ejx2CCxl JT8vp#v"88 eP]6Uhnݾ,rr2(&עkNt=^~Uj򀟹+aJUpy5F*=4J<ь Q]Y]U!ofh^ oK8a^=]<9ɻ L}ۣ1cOT}˶eX/>ĴON'(n)mLr *Wy՟X16FQlĐQ!Q@ƿC=)O>L62ɦT֞P Q\C6vJ7@s憩Vkr%0KW- E,Hnjݴ1/>_ߵmN|oPЁ ŎߧiS|<k L~&\>,Cznh  )qgߵ֙ 1?*튄$I\Rjl>nZ]EQk3 .USNiK*ߛa9%y 106YP_/"#fGZs^gժq8$wzޙ1wyAfjΧV= ֎O:JaYc zW-[J Nmn qr7\MDbz; 8_u+͚Aˬɽ1 zt:$E@:XVҶ@kH~NMz'a@{ mg*V gҕKwTJ^qRh!dbih1&&f[Iۺ}jEI7kLj){epPxARkE-r/#+ [HY=|H%LNҐ8NQmMIqFFC;4cf^ő_1(=upvXʧ* ዜ;YyoK'md=1k$f}]k^~ O~#>G/C' ʰFx9ﰽJnh{ TrzJ NBI&7`/U# VjQC$vKFyRF%v!IS1t$9$Թ/rJņ@0.jޮ|^Գ)7#g@ Y^Al~!7<拭_x_\ȧ (1 ^ԥ w\bؠ^i=)-AC`hB%!.~5sFI&h;Eײ;Kw>J1n1uUXIٌXjFx]0X"$hmg d&X\9%[AhW;''uiSګߴbNddK{ c)'q:jCVXVd=)rM&HD>W ա䐠;_Vx^UZwݚ8\rEYb0ݿvLq0K1 >g64)18k̴ס"hծIQY۪ev=͂W#TU,sk[ƞ1 e+\Ġ#}lAP*>h|n=|ht5ãIFQ>V>eLOlM(hqa*ѝc>U$':Q~,TA*V Cc)I \]:8tLQ'bfMV>{HY}+*f^{BuoAN"עr$FAR8RU!! *vcIXII%@lΊ0##wTpbTi;d,9,DKٗI(Ӗ 3bm]ij~J"֗ UcêW+bͪz .oU1GaE#k->%!;eHjd- a]seqs5vh.A8Z1Siٟ.Q$mt jLby6rd!рt:ghT@щyUn+ký%)şܓЪK& MXw *Q'kuG ȪƄ\$qXـ覐=d&c^@scuK7Ř@H★vex2r"Ǭ!=t=K|"7;}D# f_DIJVl}}[aL1^WkD/_[]MYo%6 fV66.p&K%b*A2'K䛗0t #DߓK&_:COG9ӎFEfo#xh&貗eE^ ~"5 7>2Y13Ydiy k R7\sE&ha3m㬠i…+ gdyI8ĺRDSo򂘊)Mg4"M~ښB* {Rc&ӰN-8`Jߺ]2 a^;*QbX{!(ֹ "u]WdeBy&zzgd_#j |'9{joIP{pHM6*Nftf+w@|Y ]|6fcam™/yE6gU}[lS lKuib8<֦0Sz]5}3Y-OQοi316xi꼭 o6fN:Β9J+3POk6u-z ??7Lg}MQK5nsD6s"AFEtOvFGOv*VH-Y:| o,K”-6]v*s![PfSl2sjPUhWTCUN-KVg]O/QXDmY \ORECqK==02liE%$rߧ^1^zB}fE6RI,Y2 AwʩUb3ieFCAZ|֤z:xC3n`QLKB.Ϥ_՘2΍1q:+ѳGf2m4e]Fg0u֙o0Sk@ϔAR8"T'LJ0цX +6( b(!)xdOʩ1s,mOC*;N^@ŗYgb]:LMal p'gجvy8M[S,L\V-/*y6]Kɰ7AmJNo{ɈGx/ǣtͶ=J)P=p5Y `ק^v;Y9xLW l2$$xCջέUw/F7ޭ=?̨$(Ot&^izwNGiWE@3S3 '960v53(UTfLsV+i2l:[НW gS>QhAacuQ1(;IK$_ )j,cU GQQ|JI0]Mc?D&/*})oiERr5=V%kQ+.rS#ШTbT}ng`>)?b<<#{)ʎFdƴ}q1@# fw6>MgJ+,RuTB% YJE9c5;UB^T`*SbY?tK- w 2/|P{+mjOӓ{Q fgM˄3v@9-S` 1 ߕCím 9ވgB imL xݰX@Vn.M鍲b9h5rʸ&IM?iE:ʁ'Y6~IMal-aG((L"C ^ t h1چa>xceb`yy Uu=Hr`i;Զg rPŞ4g+_*RLJrM vn}ERk,,7/чeRݯ6p>Ӆ癰&}1ŀ"'%Me"s(H3!Qdp3oR'r>IUTs_MØ0HKVUDʛc1H_䷀gx E vx)źa/r2~Fp/OenЇ=C}ܷI;Ռ4855.ݠa0ZGɵ{+dL( :4%(ˉo'( "zӯuoiNorԩ^C%n'*E2և&;/(]1f*#ʴU;~+qJ|:ڱ*J[\‘Ւ1D$HL/AFؤ(O҇`6odžDmcӄhAO P-h$;8 R*/LiKuCU8"五*,,=9LjueN.[ՆmW89e1 WxVK;x7p3ũ yx%&ެ ^ ձ{u/~U6;Ng/~ßsflT:&+pcorZTn}xܭ^|ަ6-X{rGpA'89뀗aCL71>|*Bي\NiOXJ gxF>`!<ˆ؇>rv,QYi\9qr aN,A"ˠ֨N1Z7G+;ʍr<*[qqcE~%߷Ʉ }49ear||~V1:\~|[g [d+k/zƉaxKD$ѴXroFl[m]7p~?U@Q)mgW7V6Jh!9D%v"lI$2^ٰG;h*eh`|-@Z)ꓼhȆ[\D)芶D*՘7aRKF%VޖHZxgI.LeC/7w.y _jeIn?9$MQ:(qH$BSzS`NnbDuY0VS 7nph!eeXOn޺wF;V&} Ѧ=?ĸNkJMN:c|0TO] V$y׼a'AP@.aIөL 7 TCEF;C-)+К:SYh"Œg"0B@kOWHg3.Ww~{]ox|ðӇ͂F]uLI=c)]8Iɝ4YI|n9o4ZIگbO2ݿ9ؒ⒗c0s؅ɸp ½4Iȗ衜89IBoV\TV?K y`F{csLЙ=Ȼ0&V*`I} a/ځ=Yqjדb|.\F% р&Л (J4mHR|ʼlڼ"'2cHUM[Z1$4*z ڞd8;kAI_>)å1ܩE/{,xv4 e3qL<ݽ϶FYZ('> Jqc ft\Rs]XHp.$ȑ*7ř0qҀ{tKE2#9K]A HKbp䇐ygꏽdM s9 Pu䐐A_CV4VB9#:v17B$Vƈa#= ;͋9wlVV\eT5|AA?L8$vIzn|veXv6lf*jU$J0h¼VR%Ԧ\ ?wL.V@Bo3d^Y ٨iף-h)*ZUo\=f$`'\kBX*(썏( Ȍ@Vz ;> AL" JɘF'(69U;.6Ki2S?$A/d .= &Odc's ȗm@^1#{l0)N;B/{sܑbq jN3ɒ@ wbZȺbrM-\!{ 0zk@[ {,2] ,Ý#f=`_Yb/ $F4|AB`:d HJng :(m's͐E4@яLMXp_3NigqsIKd<3JG6^M RyFptD.lGb~"W5b=T%,.ыQlɇC* B {MCHzrx4 A͞\L$~dcNHdršu٦tƹgo8(i^ #Kh$Q>9Ҳ IMrlۮ 7 r\Xk%/_lKfiܬ, Ϩ ,5ƒl*]2Pw3Lͺ-N2K־Zjkmuue TCuܕ$Kn-E$bS#a9[ܙ{Ǿ:1AC̖A"/% |/A:NvWDH#7̳Bbh8 ey,JNѵ  wE=~zm20QwqvaHDy:0%O2tȔTx4̘ n3`Y! N'[,~V&ݱ՟xgdR/Hu{^O9i*EA_LJ1lWMMMgϊS&sαۦw|J}x>+3~m*db~a"l$L!^? i 6om|PeE-f4:[{ۈK|g[EKf:T[e1h v=HK} NQ$+UrLBs"YFKܗ_~Sߠf`% -B+֑0Xlh봝*$Mu'1 T U ,"xgah.kZo^lT V GZ=@ ^YI% 2֒Ⱦb2"c`}EL!H0rgb@.Z*D=:qIA%TuPg MfCT ZMvI92.F  [4do,.ۏA KVjI(!1hZ)R[#Ґyz"S S6@cC6+M'x14m~1聳L%KD _4.4hެ/;bnߩЎؖ{۽ "HmUyI,0EôNH fhbi=ut3y36 Q( Bb^O[};*>(V06rо! 3)^grDʢAQЀ[lc\2ǝNa%ْa(~zkVé(9 wcwBhC/54zϺAsv=SvH.c >] , _(=Hg#:ϦSΏO_I % #Hy1 śB&(ZBFcʈTWM|oZPP2=ڂz!vJW2V׾YX4LS7{w<6Uw2JMm#%1,% ntfRdL#|COHt}eZ~l~60r!8>Bo{Bh~w[ 5hhbMeʹQ!w. NOao" C!RhH~Wz%Y7m& 4]*GW\wus'dC'n]g5hi ZދCc'ux2.}UE=尘%|si o͖jZ~! ԃeb9m48dMsB+W0Ɯ->_JR%OK"ǒ7n(ۉyxOlf0!8Lt2 GL^VD)3zR3<`k{o 7K&Hi50XT ?>Io}tjzE+\ Wo'ﰬԅӠ 1?Kw^/8/|#x2T6-η %e@6Te%,fR#ӷ*h<YBiʺuȖD.{3h(ߏI2p#F^al[M\pFdls.WV@?p}X49L +ÅX5o:a !N 5~w| AQ %L#f͜Z߼ + 1. Cy1ݐ 6"8vg E^W$A{G}:+ʪeg=ֵbzjηb~Zا bRj+ ;c>QI\(Peʽ .+PDkuu7r:+,-υJu@:Y;y[a/2E}yhw5f1J]a#3y Gh={Qm7ƌ "φ({.Ol?K*8 c">^ou'_[N $/@:D!/v ֍Jl+ae= S,%").@!)hcp8 _6fw뿞[b%(R ;cL%bx%(ndH-yMU*$g$ٮS4v=X y`N^?v(*@sY'L\:WVJ`H WQיJMvDOw]߷oòA(G2:Ɔ P\P,|(t/~8ݓ#aj}ױ'cMatKb`w(Y/[#^kX[nd@)?,[V&㭛q_:) XS󀤜 0BCO>lo=eɶ}л-F КV\maw? 7f`Eܨ燝}//m $.!qNrz5<:&ذʽCJ!(z`{cm y&зiܚ歕&ۢ}^5MEINɾބM? kGDe^% &DZ:.rsUTL{ZU徠Mr3LS**Wj i&/uyMX,֠C0?N\;W0B3(tR;q{٧ 3#?(ԨNJLFDaw D Mf܂11bz]o''mg; Tz9+q֚;ldDL J63H_4Y96-sަP뺍WϾ@-Uه0ĩ~+,!p{m-0p웠r:>:_%#L#E0нO{,,90$8gЄg1@d( zEK+egPhREy['7΢ $.*Z>4F*z`u !;u 2'Rڌ@vn0LKU] *!?[)2Z(ZEX ^*G38YU_cS,{nE>ACI=r\a1k3酑1ܮD3ԀѤFNU&>EphX(f gk ~}kwy Ph ѕb+"F-ɡt >tl|L!8#eLkcղZg1"2@U8r~ ]c=RB>.Vh{QruM lR]J(N ɨJ*' :qS?;X~\Xq_ƒ^CJa7q5ct0U<la7w=KȠ >@ؕ׽ rӟqRATqٖЍ86¿ť+? )ǿť+{')C(#0[nV~|?jJunP0 o**P)\ >ݵ6Й6*O"!A3CYav\lg0 m<K deżRںj6 CEݦhw%![2G'x6۽^N#6* j+AɌ~D>|N;Sq&Ĺ4ɄJ['.OQ?3 _T'3FR= }_B'm*bpǑxgǞi j3wU~*) m21V W;j*% OlƪM۹Sy9TIZiڼ kydz*w@(eEbͷhb*ъgVj^mrօQ u.`Y4GЯK*yqˆι*b.":T,hվk Od_Fq4o-*2 t1`ںѐԷ]8UѳG,fyL_1^Ri63@.8 ?clxɌD{(9dS\V>b@lVHw!wUFEA֓PA m':2 ߣo m쳝!MPS`CyjFĐ*MO`.{ffo7x o]..[ sManJ77Ѕ_iL5lkx 1#ER5|ݗz_*F~SS5R |Yӑ?]X`hJnIt؛8]x=hu8FWM$t`gx3BֻDk9ˋ*I78U7dwB#`^26 uCžF}4TsgHgJ[SOkIB#1wJ%pcYS }ӻVH[cM>0 `qO:^lU?>VJhWЏg G ۔4f1RɵHZbh7/Ud_v[p gd6Kb(GŔ/AHVW8DUiVJ bMA# [7Y*hBfA&$Z'J1MKbM<&e.[Ƀ0Q٩DKq&^GeJI8iÒ9~UDbU(A6BK Lǁlsɾ*wjfo2aYu2W4$bf0u v2/ãq1qL3 (5=bd ?ZT`A)9ZňAJ ږa 3VW8Pv0L@ g 5nJgg=Ua"nm6"Ombu17zGm&;ưh{Ƞy lWINih=_>håݠQD"C-W&jU6Zo~0Ŏfo:NY* ;U*T A! qpeFC<<FPfj<l_pзoW=>thJU'34IDç_YDY*˭`(CeGYEW $OSn9*ɷz!p!xZW2e>F*PwBj5>`rt:խh xRFtaYeZnfDŽ+7â tΊD^6Y;.=20z$^m ,8D)Iq=Ws#*f7;ZR`6;*p?@|:©S\(H 6dXp I[z*=SNH>f/ـ?qzX#āxn{cMyѡIHbpccE z߉s>bԨ)ȽWioU$-{nL$gX9 nlҰX<ˢJٸV'T Z<00TZcKXX*"Q*!?vUG@r,ZRӑ{ZBMO4m Cviϻ.1a30hoMc :g"q 93#at[0Dpk@wMj[wIp/QWpbc F:2s0o\D?.Wd 4lYD?2zX%m(!0Լiydm<\vj&ʜ?b8tLO1͓ #DKX@9ձѰ'mH\N5p* {O{=Ԍ4X(B41x3 fc}A 4 |٠777Yؓʢ-@Ŵp: Z3\{fFfk0QȬvI}[ңCa=Wk,A9lD೴ ؀-0wKc: O!uɤ?Py>g}<Lq5v {QA@+(Ipmdێ)OB,Up3yBbqɪ0RJ4S~0 Qc2c iDqҘsяaj9lN!g8lAHFL9ƺGF!sPy@]0P2QqDO|B V1\ e ;m?@epȹ)c,%}B&rvc_u(& c9_$@bm Jziw!pWU]fށwV=uGD1b@wT ]VP*Xƅ#EVN؁%W%.zOXxԯyvљW ۾KevSVfƢ37:[ۣl"~sSQqnx8J>Tx]ߦZ"0T=$(I>.ΰ+4EFG{)` AeðvE|7-*,ξxYmߠgEV_xB0L_WaPx&9Q z 7^5UBwχ=ɺ.GOC|z{Q.:eŝzu `ctF% j,%#TLMoVֶ#㳊C:7&]rhMO Umd|^uS"8Uqړ0HW.n /a,AY@3{Q%U`̅^&0ٖw^rԊG ̊>F5u8(5;_;#%؀ا F`=|@ɺ]u ~B?X]H,o&7%^oU^. @ypw0mm7`z*G{C]ү 2jQУUҘh'=dD}gm}-)eSx8.E .2'sӐ&Y+7!ԼR8\9" !2ChymwP/v5w(V&6|Qs3>Eq̌y=SY;'a}]0k /5G%]>QzlC*~$$S?v}[ 8.GԆKVq5B ?n*IE")3BJ5w[u!pXk5 ےa<>p&ǘ}B,!R01&NYrjXj)`X9"2+X:s65X92ceIQ %/v}aK/Bl' hZXcwQr,wOd7.}2c}vP+:E?om'ɟ௅ 0nIafXSVOHL0A.,h>!N$~dwY]]<7܄57k/L5(C_C9cuD A%U9>NKB60dؕ|T=1GZLP;}_i\ijA&n"? l k@d:e *! e(P҇d#m,͇h me",FN\S0S\VO&:tIED2}"qnu?3=\ˈf8NNo4{ ߇$i/؎2I(&oxmu)#FgL=U+ZźW|G El%m`td \uC{Fvb]"Fd%Cq0otί;lyAbKJ[;q3>k_Ow9ūI1/:~L;,]Df$<)SZ۽wlF!It\lYJgwgN8)kxe^ڌArQT-1D>'TT}ũv^G9v0?WLgk:$#\>Dr=pܵ 4lh =m-]I6(ʸX韨 g(a)nn*9\#щ?mVT=l:=S78g#"6:\YJg)b`3P5wrU 9>^yƥ)kLa9#t7& Vi۵& f! 7z&p.Ug)rE M&JO 4∙|p. *nn]/#M NJrr5<eڵk﫫W뗯^ՏGWճDݿ 7&E[7a0LYO8F^oi㉗VE[CtQyIXuGֶK?_P@Fp1g= gD~`l-*6zyaBDQ#E0Sl}>XDJG{캻8L.F~ITOr^-OXݵiR7D3eB Qu1)&fC\q{0~K4:97UF&%#qKF\2`T~X95OA!o`ؘcLaEf!eM+s-#RAj$)N9C-2Ba}吢m6n QD̶ ߸[7V[_pʖ>uc~IoiaTfOŊlaѶO }oLLa"z x~O[ߎLt#pju2e!c1۴U109S}Qؖ^o SV}Y&NY҅^߱N)sY amc?X7K` *% sAOq6C85#PuOұ0A<]4;V#Ws l.yU)_*ۧQrmj,*߮w?XL=g3 K((O1C ̗;2L!;+R:w4i ™ѹ3.pp>]-xܶnkbg{[Kˣ90xagQP<@'1%Wt41W:{>ޚ;tsT$BUmxcX)VH4T7=AKnB!0D=ḵkLhUR{%uônSd=MML|6]ৄ?ٗ{exI u SB)ׅa.A-6Fc79m[o0o> :f+ Q}*ANC!'z@Z2nxg}S$Wŋx3I>?$DA8 =1'⤷¦l"{ CKq1d apu%^|yo`cQUšmMѶwP˜shNRȘok"NS$rRkL9pV,W,dTdyA\.c gl4XI@m7IRRՙJqjĹ+=}Re0M @#L֗Oީ˫W*?k?ꕀ'i_~'_/}O?_q%O?q :5?O;BcPXWh$((ևaL}y/~_ԤD0IVx쿥G "X}?W ?"`~ʺm]W"uVa՟~5>vp[]?خ`Dʫ s9T7Pk/wIR}КU][n#~~hc95,Ṕ_EAEs[G8/SykZ=T/?0Ѥ͇MVHD^?LM2fA%2䩇Nu/|%3D,S/{2 -/hcvp0H/_~8~S7|$_@| ťyo0q?3&\25+T; 8 uKوgm9cg0[?Kؐ(Ҵn¬P6̗wE)1ST\[JEM@hخ?~C["W z> ,gY4# ' }%2ꞕw1`bYLoӄ7oh? ,5K~xϿA/^CB, nVѲ_2fEc`~x!C]ƓJ:̄'HTTMHm=~I~I)'HC + !G=_l9%ͣ逸jpM?6sANo5&5?K__q1X'EXV<7;n co\N A Z N'y9 "ʾ HhV7(=H'%m4 IZ+>>EL=(jY+5RN Z4U$[̌7^nE1aAvDX6;b^[_$z`*oo[YB8̝֯Z򑈑q I|.Ƃ3`ʲnn\imgϨ=S5Y>wί6WVPh@.)b}N9UcD`Ʈj_ả %#}:4aQ2R=Mt7 4( t5BU0[}%m=y1 o}hN"1i J\Zf1f (Pɫmr X8QUuݶ`fA'qL8+,p ~>K̻¼ Ϩ2vX+Q!Gc28 DAaGbUY1 cDP{+4"$ K+3U-CAٽ:T{Nw#+@5ZPYy0,ZC5,/ΚH`0DgǿWKznȟr(ĚtJd1V 4 Ď)l\w8_A!Q=k~ix_w1Τ`'Ͽ){x.Wem/0?0&vè!uL6}I U7c {*C=vO_a$Ҩ @fƑii6xn"k%*!Z1kbiEΈGcS zȬq ?ocG:?e.񏴛0s0}{1 &oqnGhqRxH'F?'fS^9}yPN/ Ke/yQ XwpZ~QwVH/\gP9I@?0Pf~XTyǨFBT0)E_y(O4(_~(cy(s$s)^">EeamSo*Je{4J)aVԒf"8~+0ua5̜]w4Mg=;cBΣ'߃9|=~ ѓϣ'8UyΣ'C8|= @|=}Nϣ'Aϣ'yѓϣ'GO>|=%k hi%?Ò~Xzvh8m2zTE0=ZWV5E>F nRe >*A6Tm+]D 2Z,ɏ Vjsx/YH.XH?4ZG#c\cD/15)Mi5g(3QzTRm7Kۿh멳:@lq'ztZ$/:qSyPKE52gIJV E&&dPؐ-jzo :yTWu-q9Hl,ӽ7 HE119?(8n">fa?/?3o "LQ[c\!)(|#Njb y%J,)UR1Yaٻ'8Lp/)p$Pr#w?ZC0s^6ABEy~LhRCa=.V⿲K&=Ҩ| Jȧ :S?zuIܤ8W|ְfA`F2G?"\@G6`2"fۆQL8R CuA*+cjeMa3Vq_D_ҷ>M9 q#d3{(߄oD:I< HI5YIn e/%ؼنyllI3QJ$26&MG7&B0*%I; ?ȃ&oYFS˙ WP`($QM Gl"t P!oSbthUM11>( Yq%"Ic>K9Jʝ >ҩ7'XٕNsJaա-: N/;$a3LQuiYlo Ò7LS9mD=1B-NSԒd]dVyxHLe7򅵇ih )/d0O K{ɇPZbi|=/9YOyU ϐeCQvjF9Mq9Qރ~bpGEn,R 纹?Z٢ٶ]0U^s k˗-r^0{ͬ, ϨOFx+J+m TcL>>n$\J:y)f2oeIڵoV[k+W09$In-e#?kf\rG_8J&\`F)dI S> ^FZeg/*넀@+o%PƯtO ;U㋆D/i w{JI8\OD1c%Fk>sQyN01<FPB4wT6k"wLN{(=סnmrf@xI\0`J[  sTR"=4觑6b/LֵD'ww!pt4g:#sMUE 'a{q k|ڠUOƶGo%aؒL ~Aj Ѵ?xv;&/ASD0 1++;GMK  u_jcUE\01xl3iՓeoʘsʖxWН'֠RYy9C ǎ:0sg IP#CiZvҰvbED‹oBfu>?wvg/D: >Q8b}9!Do_Ϋ^!HAz3N&o;NZ kU<$چ7V Iy\rR'AI&g鋔˞b8&swQ0UI$1y`]ΞOÖ1AIK-àh9G tfeAtRLC&ܙ1{j~X.ZmPb#˖N1 {T,!O#ZRܵ' HE*`?FJ} B=H_f90gV?4Y/޳&Aږ=ӘQw6RŖW*'9Q9"C-~KZZzf6PrT=ֳRbmXs|'|BE*wz, t5kL'& vX 7v>ɖg"'͟Cu<>"1x8`hiXB M\|rxg'!V Cg\;|Gt} P7~iMFǺhSh嶶'D]^̔ޅK*jR2*e,`t׫ۄ?G}Ǐ FV_ Upߏ&OT^M'3n jlbj\jOsTLX )_kf۲1ksٴò; b2U ȩr1L9{)Z=<[d]f*EvqƇH{ ٌg:HEWTPMtVvcOEIXX(/A$& ]hK+ ݘXA%6Iev)l h`!{.lzzJ=•-~:>Ck-(ϵbu(fiW,|_C%P4ϡ3>Gbg1?Z3~0.#fټʙ4I31>:[JHz)Cbn<-f2[wy&=ޒ,AQ\N\?$wWd|__^O@/o%qXGU,>'3;Cg=r4̚=gUEM•4G Vş&oR\b)C4l}bzLCjlR8!RsfBe+D}-K dzo)g+%*2c\"S=BH{])RPؙc_(`ܧ2w]ē6巨H*_;BO?h?E3W7`><,8ѫAl9_{}oM 1ԪUĉ -Ym<ͧ't~gIO*VT۠?DU#rVVuoSZ~MZmS-XҗŴ0uԯznEZzݻDBxb/+̜%jWKo+뭎\C6P'^{ͨ*H" 8yT,;pV,)klK+"IϪAZ[yM&u b5◱[֒(}%9:*~<\YBc5'5Ńܨ ;oZ2:C+87ɹ7^i؀_Ov+ źwgmC[)]XЂU{0B#0AZw]/HS +K:1Wzc'w6 Tzg>(a&Y3'`;DL;n_y ax[nmgCಝkd(8y8yO/z_zNxr]Y`Xμ mՕ>O>u׃oCavYֱ;?;o~?|j1 Ohlj?@f0|o|у^S |/?`1Ճ~ cԺ 6{}@=)X-fUʁhM7q 7JΑ /aHGOa9.WDOtVeH^޷Q'}D1w./E8": 0 }ppE9:pMh,:=y#N"QˀvX | Ac}> ; 4B _3@DȋB6Ъ v k n zd>*ĕa)/  u | ڋe{ȪxDwq, _.?vIve/;z\(Q#_G쪯Asbz̓ߺ;SY@l&laRtU- B,Ib 5xMw ͑?7jK֭#X^Ͽ|MUU7oqk yZ^go%X7\XbςG'Խn9OR18Kh}]_"bMjIg+c>]wĩ1|%>ju++EYM{uZg&_oՔ>O&ԯ~j"I60mfoO9J ~!x49"Ĕ(GzGcR?J강b̬nJpedڦ)Z#mb|,,P (-K:Ey3}Gvt {_\%lBJvfq"s.Fzeh ZmJ+d^ Eg1mφmzU=8R(h\C7zwaLsGҧu k4ilJVPhuaO*D:S9dpCʹYmWV$8Xȣx=?YWA${k0 Q%߱(p00?g@+4ӯϔNBs duτ%:He9&cgMߛϪ4e]A4u$0l!u I7MGFvd//u{ + >xHgm}XİDh7 wEgӜ;e-ws9hпݦ9ï*~0T9N[@1Z\1<7+#9ZCoY_Zm;-0ؕYe#y2"6n#xs}<#L[ CeSŹ7_{SE9F+&Wמ4˘.Y =Hёxx)#;nDYvkAG1? `@U?$ >,J6.@3VT{BbMKg#H`,A{ {H?rS5R\2?%# LQIbRUk* HKf|dWLϛCv6확D y}_U( :n'hGd@k #lM39H}XJi Л1yi|^XNj+`nh=mod@q +PgDsbK:-ycXㅺ %"t4c_6ÌGg%ZKJPpM,1%猍bo-QFk'6FՎw° p-AW&a81`kb;=ߛE4z}ĚGwOHIlZiZB*r8,q@B;$Gٯ*#%/GahMW¸r#yKw)VUҼ貾IYO鯗} .˕[K8߻%hI .˓tRV p5xlN9w/4^=/\I=k(PGK;{!ZLG^ėG;uݔ[M!u_׏[4SAMU!VuKD[2_]Bڕ8*}uגs5f,ywwAbo{s |5+Ҵ|tQ#e5#[~=Lrme`ve {8 ; v$i.&ECi?Y͔'n׳jɤX0?ĵÆ)/]RJ(tV^t*QLΥ Vq c~DXr^ F38_z!(_IDC7zrW7mM~#&ZN&‹9 w}w3 홨CвlLn_|T'S {Z=:֞@{\-ݢm9=S$ca9XQyzdpˆGG#ܶ_XpR>L3G%ww^XdG>vbqHm\m=ZӢw^43r|ڸrf]#+c2GLs'"}$KGM:v&~A9&Ulan >4]Vi8@*[\91wAZ4OϿY]2vrypl&L Կjs~X 1lBB*UAVv**E0j2’Av턿Kd|́ج7Х7Lyi8_O]mm UCXePaT3\VqTl8"\,2e Q'4WLfTK<6y1G% P1z ̸#ڿlAd$62ŇVVTp ,79BR(*Uv#{+?%肆wiܳг䪹ǭ1Q{zJyuIIW[|5IZRJr76Kx J.b"FRcD  Xg[4Â?s9Hr>iIK !?̑C5C([ m*NcFFͤ.O=)D̢SMP ÚYUi#:,N ̿YΫf΋}uK'{'?G$Џ0ItN"{$/4 j6+]qI-w;WڮX綠ԆϤ0W;mف 0_4VMPhQNzqJ0P;՜Ly*~̱kuSwLlN(yȦ5gb a噕ee^&[VmQl4oW,(7\0l^\\8Z0"V{ tW6AH9rDSւ1e"V%9j-tɐחV8G2]UjXe wJ˝V}Ke2Up2+f5>ڕBLq˝|ΖUmtZD4JָK5_5Y} 0ߡ aأ^wu^ Ɩ0r9%|JJUY<8FAUTkǮEe\mu`ȇѺb&e<C-:~ 0~h5rA:f(M]^yfq~cOO y4 w>e\hDxM/dPɩA]Vy [5 dA;УYwլ[Id:ʝ]԰kIߓǣJ\# ^V\+}jc2%{ocFy0U\ڙ\34HPD!AĸMn8q&,bGQa$rފg~[M.s`ʄ.HYrHT3GZ @P컫zif5 7=f!p9 NWFT_{~w8*%q#>luQ iJU=A?Hyq]T"n0ϛāZ4ݤ~` }3ߥ[}6D=C.jI+ɠ?%*,FL S"]Tc+?j6}q'2?[h22IE%FjZsAuW"3 _ u3Μ 5#`WzU 6Ehb<`>zO2#=OlShrf?qH'_- To¬5P+Of/nve/~m ~^o(բ° ZTSUwi;jHxKAÚ$z1cP/qgԏmG_kA "Hz}s?RSCro^жX9["K\O$CqZYł]ĈFB[2h 8ieAd"x״a U;+,d{ bHt4(-hp(٬2f Cƍņ X#SDTpHڂMɵ$^Qb#%yhH_T%(QM~a$#H0ږ7yHM;뛵(|W6,ړ sx^Vr}HW?Ѽ #t,oq@jp3v/ɟ泮&MWl;mnӭcJN\-rͫƦxnd \Kc{Y(ˇYsqo]s.{{;ĺm?%p6g:قE:gb0y=LxsebJZk@u3 6!ۥ+b$_O*~ )ZuW]wx+L[C[o^ u>i?&u.`'}'5ng/ţ_~=ҩ?8©^x_Ï'O8x ]p9=9'<{hMhI>G{}ϟxyQ&n}aKs,/ҙjņk[L}!iv_e2?S{Zj^˴@Kݛi{_O\wF\vhMTF2s{8<$ Qz M+;u6{ΛVI][ETU)4j9p7ұ>xc^[԰jIc,#Hgh,+9FgC\؈iuyTYw?7mў̈jGB-5ٹNfrao$MЛ-ż] 1ZȅWͿ,b2̴sqYgy_J7aMFYlP7o>;ͭ M"J- UE"K5ßq}5L9'e"|5LzaNs{B=cPֽ䃢sYL3p a2I ^Vw>5uwE٠NME6<|w/$%I#~3OgE[NdF8 "uHeSCEY->e\k$&gsI cN"|Hm{-GL' gjZ  &) ۙ[ԞqlYj;-GdK2a| %އ?qJq`Ce3g@G >*$iRӇ"ΧO[X8Χ  @u &ab) O C6t~͘J]u>-Ptj`e#X1 ]T6rg ~3tt仍O@Or .;*zvA Hp錬)g@N=l¬s%E?˅e0b0jwejl&a yWާR <:.o=BAA:&bQa!ȷ,V͚[-T:ӦlE7['ׄ+UDb%ٴ_/r 3H=ùeet`̣ d!ZT^SGWL.) T7o{vaypU=v6>r^$@G|ISDbM}T}%5q WJSڪs2 Qa:#9fT2#k)? I` 쵷h۔.0%^;3F )I+ݞަJH(#GrA(ψہ byK7wYAVN̯roO@?<=$9D}4v12Nfv#~/KO2zxsG'r{i>s]!sOW.fdۈ|8^ˡ%ްj=^z>s7% oJQdJnddKT NU\[؛n$gSj~X.v|—A"ڟ]hm2mSpށ@/m3)0RM29,IHdKYqt{@ށ ݠޤ*/3MɉJzUns} }삦y:8杰8>zD#b7ѳ&4SjQfnSړX]TXiAu<ӷ@>OFK,`U߄D}ϟ5-c #u"C _y`V7LS:kH!KC|Yw[L !`ΰm )$6>C6{=JɠL~쏪0i-uF8uo~VwB!gֺRUIG׺{#>|qވgrFkm~9am(64xGvWrR~~1W䈏#:\ۘOTryBEPOTP(YDBF dyTHR&@fL:*j4#",}B0q*AB7~;=ݗ"`rn3:[EкArd(s2/6)@~Ϻ3 !]9cJ =rfP?kc,nv>+ag6g:2(|jvMP.uI6⾧5F֞- Lx5sy6qê z浗 Q+ u+{+]iA\ aBLCvbaZ{rHt!&Nw)j$2F;ʒrN(.bkGIl!^r" DSE1,5Fҡa|K5 Ph+j5,P"n'qIJn8֦>F)6 VGAAx-B8[چ-GMIj1$o]܈& z3xiwHʙ@FH@J{ Tg!ػ[;iv{fv3N 8nÒ؀^,R1V,L{:*na1 k߹.Zp--"vUL<<=9$ Fh)rXK,QE%n\&')oį¨ey_<hm3\!6V'6nՕ7'Yb%t,7Gg暉bq'֣Cn'ѻ~+ ϑJ8rN#rU$}pak [_yR: zTwuC8kpz+(*BnHqSo|sJȄ0VZCb@p19sMq,2*=Cv!jEhuqu%&wƷwpS.GA׾G0 y݃Ӏ׮h@7y l@a,9>-~}t&7(7"l!dcߣ1Yqd$m#j#"t#چAF<}0F"Cx= ͠n "]D0`\U#}GMI2F,Qt0foLז:VEлUggF Iڟ|*E™~]gٛr_#|6N޴ֲ cBF!hHqP4ud얹*1^}9CH|=x*j!y SG _fq|aC01H^":Xk)ڟJ6;b1,6JU"J&g ܯM ty]bwrjd3_(/A4, ]"VZ…'&6 .+7UuvRHFoQgՆ.fgXa!B$^Ii:q E;=)eD0ru9O!?)Mw`P#W U4(:K+u2>+rLGZD$ڦUC)r-[j~'u4rIZʦbJ:/YJӪ|Hyt}FlN9cl6ͣ) vN¿j#N 10=s[ߎMyWQ/fk&s; k1;X;-Y~`LZSt?hMfn*l8=,eZ@|.uZ$b GqTϏ+T[.9`v)&rCBo9àl`mggmV$nimrZ)FԮ0'oec-N, + c\u-H;x\!$L|ob""ܔcay)HLD.p=J\;RDVQJQHHba8}xY#:@y9G0Iq,T íjJ rc,%yL\t\i߁% X O#%uy%~C'9)LF:Mǒ2uhԮrΦB`)4dõ ӹO ,D|)畝T̜+{?Dka;f~VKÿ{m?h@DzjKy_`Ӧp%*?2 2%lγKֲwz.iMR̖ksǧKِ0/gtKsL>%k?Ɨesd=X7B[(~sk(L@ί{}~>brhHD0FHhPnZ6iX{¥h|h9lq)fGL"b<9C, u6>ߢU]RR(&7%p?r*3!xrJJ,Ubт=+YL0rAB1лVctR(˲ʹt}#bFeJTdRğL֤c"2q*\{"#u\gB`UgQ9lP/N 8&5%^mSyHib 2,,X)fa^ *޺ooQu`̛ FM '\\xrj܀IC79;q8U AӎS+q&L'N;wXvHirٓ޽5O*3kSԣG C \j2!!ȼNxwůNN8sy/&Ko$<0VsKmY'tyXVŚ\{yԏb1lf]h &Z Όw^u3N&E3X vy ڔ~DoFM6mRhi6:V@'3痉ʛ=O9NˀUҪؒMIc96Ukot,6K˟1׵~KcR:ۚ4GY{*e=o5* )bbŢ Rr5Q IDMŮcKB6[Ճ XJF4شgkd("!RƑjBj)Vd*(CA{JSٹjN j6MV~i˞z0Rnnl`]?!TI-ׁ[k +4n 9{w}Z,@qYsEHC4{L.Rc-BͲqZh[4[tƩa +S uM|"Iൔg-Q=jˀ3luI>7r( w"yfԾ j1j/D[veq۩!5JAD8t h|Ll%}sy3Qmgi4WLOs>sܘP0!^_Hl7H\U& >+R4bK"Z3Ԣ@׋qZܡJ\Pʁ9O>0ŤIeTmu XNe&Emb%9Ms L.ǟ?SEh*9΁D%r8?G2s5;ae9ͳn } pxSFG%4 cM,6p֣EEv^ apT+"iC@jw-:DAtG-evaRMk'vBgLo^72)ndGN4h˘3r)<+=V/k Yg*J1U>c휱&|O.5Ʌ-Y*Ďz\x'/Q]kq凸3H$MDª;-AlGdde:O^w?+KƒW/ (̤HBQ?8B7ZU8k\e RUn멱z$ya}Z}K 欯KS\I @Ǒ ]@ n"ڙJҁb>XOƭqf ypqƩs?;|#2SZbÂ<*sNYXmyjĆ7 9E_ft@{P: rvk䟪IB&Ut3MIGlʝj{dryqQ[ 4Qb?fЃ!qw,xO^zj-&}xRsa%+[ޮ&fi?pPVз&Ǯ}/H}~3~7jO| mEMLqcѐ16>#g˴[WMB;k>M.^1d/ghWXdy65S(o>kKg$uzv6Iy D=C73xe+J~Mf>\SܞR>WzOePˋ`a2PCf2o<~Vƨ =7NEY Y*BBKۧ 8wk%85ߞ%=mJR>\ɰF:rj,9\U9H==`lfN5?D8, ܰ/Aڋ3Ei+ԺӪ|U{-} E,g>*0Z8I*I@S{$9nLr쭚[o^f𼬎{}#c$Z/A*{9zN\. TQ C4z>X+KՂ+J]-\=ZiתYߔeX%67rۣHR$ 5 3q$xWQx*7j=6QfUa(^6] =ٲݘ~gEL4e6x P7\5`[l^j m߆ۅx] jIy ~\3%>Zc N{D1.^½)JnՀ3Q3HjO0Q}.HZxV~6>XajL0& Vވae+g)2( Q.D74 a..%2>A;ܾ:ٝ\?<Nz;uC#/2 _hv{]L&[Uc4輰3DsN1|_j)'l"%8,Kl?Jt;䩖l#sR! _[O /e}SwNP3ZT p> yAZ]*:-(mErѱ }QBW)T](?qAoÁm)TGwnӳJa\ ޣaV }9{ї #Cӧt'TZFW24Q<ˎ~Pc}yQJ:e/%4 T{HDtYկ+b`s@UgҺ b*T{Ԅt1˂E;E$1/߲FFge؍]Xa}8oc;6Yә'Q(0t߶ZUTVyw1ΏOMSJ~dmS[ 4kҴͷ۳ KYhÆLxa@]Bn;a{1A*HZ/,uP)pM~:&8wprc[w9iS"U.E<Lj6j-9pev-װ{ngv" P9"yDeBḭOA1H@ANz Plg2[蜟>tSH+ }@ :ïfߜ:|9P9L|ΡC_Mm ƒvb@ӭ堭&ֆ"HŠ2z9tk8>AѤw&x2Crܨ UJb;`E Yu9koؐݽ*1l|)0?L[td̷M +S ChE} sx!8)QpQ 6kWH&`#0KQ5G-!|אIX`4I҅`|R@` |M#]p $_<*GesޫoP,9i-5o@̫1#_usΤw)=Rd2; Z@n7. ulB{kYtuR~hJCUٔC5 ɤi`,zoCgK sfc^A7ЎWAfZQM&)5 Y=`rt >jE䕣Zg8SAp? JruD_*P|PXX1)H8|)gtXY"LY uT|mSFN+3XD vPl|sy~25Dn,i[ZYd,ȍzw5,Qy/U>[QDaZH+b!uC8'Z@} VW?"QxE2۷"Bb@uq Fg|ekqrRKԐ]35`i5ΕJKɿÎv㱌}1}uz3fjTEgٌ;/}h=\t\2Wc|n4A PՀ$OzP 3H=DTI4 xK C" [ ]ɍ.oO䄾Z$$T?X/ADg Vc[m4}KC%;EaǍŧ{Kxc:A)W;\.@@tg~ 3JbLޖ }T@9̩WG.r̐,t08LO.ecć2B3i2GOd2GLRً6Ihrlb?Ir C*qZr(+B8p!B̞i8Ϟ{?Ph}.)YBa)8dPU/b60rV[4iVR$?%*|ޛN» z2{Y )m*Q%'xD y"^ֹq ТYeko'd qJ K'[ȷV+jkb-B>'Q.KwUht Ǭ쓡"10.%w MS-ƁxR[}.jzqrѧ?<8^pJ:XUsS*$떄-0R:Yj5lۤ~#nqn edԂzy_!U:nȸp\kژ@#`;h^lEW[l0-%t!rԂh"j&jRfoIN3 >:u,Yx=3)V+>+7(fvd6 Z~wg;I:Gٽ@RM 浺Q?vxtikb\Zsݳ)Q.XBY9Ã=7s3YZK?{ŧ?J)6VqAR&M9J# IFhBǾ!n9X;["aORe2"f6OT;eSӬ98 yfѠ93jx勺勦gE̅_( m 'D 4y{w ~!jOǡ^ bRMz!K"8KGŦA&]NJCd.O"͜j tm&Uă!U#V,qC`2`QE.L#3;| `XJ4sp1dAn8); wlذZ֑oߝYG}`,{vHF90ۻev朎/=5,G F׊e1(Wpr/9SUy.ߥĒ gcbh] j4L?Ƒ'i?kB?/ =HTV'D咉| d''L,yG2A"agLN:x6(׉ny;=>O{='S-P--|rؘ`\ 6CJO80= nH)\6[vnh7Ni3l*aGш^KL h  iEuM0- mi ;my JkT=\O:Irf&d6LǪנ)nԞHP_͵ :/wxo:KGuP?t S|OodfٝEn)_>2J>9ܷA)z``w(F:Cz<t?b Mq̥AVZ % D]}ςG`m&Ciԙ܂=w0/vb\q n;5{ WyIzɍt iweX`8- 8FbL y `q׼)| p*рUd΄~GG\=/ J5T#5o"9RS!KX:g i_Zō[K5f{P=)&cM_6bK %5[oxS[lB5G јnlYQX= )3?镥}B}C&d:GMD4hIB"HWc0V{u>aK?0Jw=?α>%_|Tlf b#ʀ$i!k h 'Cyw=rK0|`e[Az~#f"`N$bHKE֜PfRujVF2Ӟmcv89}\Thj^EN.[5+{SZZ7A*8_qz-yO .%흭Q"r*r!xp$C콺d^K?$n9joD'-1OЋNYc&KkV>urkf^)Njҧb D48z-8g-ՠ"ZKL94ރ`|mT7JzD&\Ϳhu wɲ\y,V5opԎn@!p.&hPkm^>0ƻJ1=i"g;Q X{$&B-YW`5 rhRŬN3r%8@ f2Y$%wJ W0<,,Բ,FDZ[:6@΃ZTzf5ԲLdSO'Q$_(Egv_|M=;mc4W it6I"EEg@e Dڦz[~\S8^QZOej2Y wմSF;mv&vkӌ7tcPQʨɣ>۬Gw3ʟ%]QF ?#Xi.3⌬з4yۨV,Fsj>cZC-^Sow0-mqVWCZ п?,1`;OKwSbz|GrQnpy6f ʻaG~),z: ;yK٣d 5"6T B! {}K2I>0[h)ċН٭[>k#1 k9ښ=f+'"eĦZh?~'q!.ݽ⮸7l1KzZΧ<}Cdo,u%2)<; 6Z! :mý3'QO\,Hb,s[#̼@PJu[͖,h3PaN(vpHA01mO> ap*R5› 4R`4A xDrxo9A$M'D#t,kJ쎮)P p/gΦO &++jJHk fTV5-o5Y࢐(F7"uT$mE^9Gb}&3ҵ 7u^m鮝Kw^xGzdi@|64XI"Z/k/ F#^> }}E9;Q׉އQ-rGX*5=gF&lr@aQ[ʂH ."sj&?ވaT~T!c̡> /X8Iz,y7]|$BeiKL%T\JM$U%HV%($c@4H )N($'XW~PyBN_$%<?8B&:lbY{ {s\5j uMOK޺8\"ꌭxac4K5S;+67;&GȖ*sۜ-TS4dH= Q5!Wvfy!I4 qQb2[s娡v$6dXօ@`q Ya+` \3E$hQ2zҳ|2X[,"nv'ra)ҖNTP" ;xW15%Je'UkED^,ʧ?B"q42Нv~IW8^%A '/kʍ+k(lÑ@$uQ=µ}HI=OPښH͋y1_ JS!OLc:Y4|і.JN <$ɯ ej$"j yY'{E`uAoةs u%P6n:=vMuSrI?*#n<鯁rtvw AwM|vwsڋcuIBL+ htpDD^VāmÉ&|l |3]DWFOqr>0 ҅f>r' D颫ױrBU mB}^A+^x\G0 jfBUs ZK|dLq7]Ck wFTM|cb'aS4v IQ8Sj6 p6:pkG8*.=,]3"\ɨ{ 2˵P7No#лf65ܺ cmV7bC<# Jҿ˥(qA4id1)9R(X:>L9z4^zo$2`*@ı9(N_ 8|Gqn,7r²$hӪa\h=q{0䘷z6 o,}=g[yfq viZZآwfgq'L?{ݤg<o,?{YH7MVÉOٺ խy3mkʰZ鄏t_c& gX?u{so3/ v &~KX̽K0PKPOpFm`X;c6<{}7f>ȯ Gx5="wyegW`w)!|yvl3+xlN=` \abnڀōXѧʐ7uGmz f;yI? w[Rb1ߢvI\{TO%bڸ}-x/~4\d5;:Df9+#Jr+k L9пe}t L_a!ԏ75t˿2 nlwXi58a3=:on JcW&mt^_LqXs%pXCnhaG(d%_>o{lp7AZA_åggO|=Ѻ*+QMv\:On*eZ?a|.=nX^ J#)}vQ畾eV:=K\S^ib_ ]87o1wǵD=BzuO`n-HnYn%f}yֆw[;bx$-CpXCM}=cD(ospt~re$o,N6\ԟrn66m֕Npo?81+T)/IF( g4[8&#]wX rs4/@'ʹIʅ\AS+[ Z?s߼x܍ Dܥ웄F͂`5o^:C6KÕ)ҙIs^'UQ[fsK:'pRNo֕n:Vmݛw44s`n*FϘk׈P /˛P9vM:՗Qj 5_3,,WJTM-vs0l RG Ŝ:oR.ZpfP:o68rk'X|ٌ96o[k^JU]I8ǒ%8im}]Aɼ3,̖}*^b)sYfqn|aL#rl[&;M-rr\^rF@9Q\:%z ~,LT#sHG̛r.*VLP*:% nwmwDMi cU(RD岆4e'$hbοbF[a.S.f"(mF_bٗQdkT @:H~>%g, rYk݊$ R;^'D1/:7['}A6lU뼦sv9bil)'4>Pj}^䘤V3:K:7'̸|Wv(egV=Iƙ\PHʢ7j kDBx,)p[pFƍoz;o&R%E/t-|EʻTxʔ\v5ͨ$ULW#Vv ].Xi MM@ NMzY?|߼VYrnqKxi<&& '\14yrHz?OK1O>ʰ.oXtdž̋i+s6:OvZ5TjdR6%#qwO|^uvv>:Y,Q) aP5K\&rXSvIzu&RpXs @P9%|DiMIa\(Qmxy<->Ͳ1\ W,nb=<Ӑ&İq)S߃j RYa#b#f.&n&TW"$u {Vݙ%):sXR)SRq!^H\T:-AWKJ}~C#jLZMmwg_Wk½(W! r}bmZ -ܚl͔ Tevi BI_}*%)-k$ue8tţ՛WM|R 2d|房A0:^\ SlxWYx̉%&kv!fGJHS«D uJIi&)un io T@ swG&D,2#՜a K"#[M]TH(GZ'X=0AcUܧ6*rmNK{I)ɘpBUa(\OdDŽ@(cK!^{%NXS,oH #0M}3%/5bf3wZn,jL IPJ~Bc'ֈ㥧GRo~HIafp4cb+Ֆ SSƕHl#`¦ .dޙW?k!X>f }'sxT_|-Vo *c~<,φAݹW^\5jA$&rмv{΄>=C<`DcszgYsK7Tq.48¢,4u~򉓽Ν;=d{;9FU1aRt8w󃃃wuʻXt2}k S׃$-.9a XIrONމ'vN=݆@?N堀{B!?\&B( 9É R`%QIm9鄨R$#(E_K1P>ZxPj 54ֶ:B Lc 1JDfQR{I:u|rsst[kW:+K"^VHs~oc~byr  D8{JJi&p li_ťD:h@!KNכ5]HJ3N{ƍuНD/M^1VW6\A Sa:$oFAc~ʺ\K+~55k9F\G$ >դJ+>`-bߘcptԗ&g~ҁhJ1;E,rNul-c7J7`,`lѰrg'eΗ4NLՙMfշO'F Tv|j7X w.ݝN?3Oyi]T+zǷJ v̵ZX;|[ӮmgB4`hB&ԬZuxn e=7CrcMlI6x]qa2Ag%Z==`OM1<2'[q@˹qbػj~dvQHg%VA]G|-TlOMM)V i簄6^5 ;Mx$Z[ul/x;4VaLC[u/*čSsN6 )65ʰd. rq7Syu-oq' |ت `4-5Ae&$?{8\4k˳C &嚃VvckzK}r{ɲdm0ܬƞ-Sē̓X^wɔUwE^{Qh {v ~oe̗5 cr硰!F,h+<=:6XK/t՗hTj0oa&޹\3%\.C::ޑBhiRB SFKۖn׬^eW5v ˥i{uYM񗂹D%#p 'if`T˞r|J?W=3P+_X"n]\cU ܼy9oy=vv^JXF$Ɛ >RfdwI? `ֹNhlqaTyX(fUO*m+k6s8RD&T8fa\>EY Df5^-7o=[{IŖcl {c'2J\]gi_^rMIeDUb/.!pbnM$]QeU^ɫ]uy4N=;0Ac=ΡonVE,g>ZoT! ؽrR+x<3Ud2CHrv; GascWCT 1:Dz,]|صw ^95S@^_e,lm3Hu8T9vv$[OG/5 t$ǺOCY?*'3j iyݒX~Ić#e|㑜7n[ [9sD-u&S7#x:#*m&+l;a|XE֋.= ?Yxj]pOM Zo;["i\ܦS]>U/4HiW5ZS}:*v KH>\.Fս"cۣ=*_d; KÕ&u J\(Z*H`eEI`1#,W1~mFXaM$!]) ȳ<+ GZlnKtX-:Hm EyK0ܳVoY u>ih ĉC! tUrtݷz*THohFbu[ 4`[Eϸ(0Q"^qYJ7'^}YXbȄ2R^i;u < #w}\ZC0<34f SQ2AZLUgT ~H{M >@t ܷNdM]x4)9}C~i߱VmguHo^ zgShFRUD74AR>H"/%۲?Y>jΣA9Xu:{w b"a#דj@uRZN*3ZLI ٥.۩:WyT>=RhLq'%^2^Xdr >`zr1؊>$$nP&1F'1'yV&@o[-vVBV?gzR޶/m;[*%mk#Vu쭭~`ivLvEv 6@C\x`؋bA1ШՅ}eUBl8L 8ILj~9 lmY 2PcVUVb iZnfnѼ{z+æro,Z0fVvG^XS*p̎{5? Ir0&)(aV}28x#gAOϾoo?̽}$WNkʸD|>9P:BLqOg/Ԇ_؇[f\r:ct_}YF+: |mI[jBf'7:xq}rg'3/H%* Ps;3A}KNz6 -ĻmiߑxiqQ)X}' Bz [`PA6^oJ$;wrYnQK|^ GCD䈭&Ym`p!$J ƭT]7%b;8*MVC*]=o~k3g ij"NDuG3sӝ"݇789/tc {Zэ@ۨN 5 WQ2 uK[Bݶ]1Lmjkɖd,-g2LKWfH CM SixԳ(w]8=1)Nރ1,3j^Wl>ЪF|mmp+\PW<˰{$צSV#@"[U @%<&Wg/T>l΢BH l>ͣ[vw6V[&6 7|PX햪~O2VwƌGFtx흿UL$|JghE^gIs֮7e9-Dm4?9_劎}s/ԯAZYkg+!Y|ߊUcs)@[\:+-t-JExQj: J>X^FbnR֫"ZPPuΜZI=<*hu ,6I]:hG=GCJ Zێ6u2mbHn#?&8DQ R'V[{^*k=niY s֫RNv6%90ڭB=@&^&8-ÆXm $nl3)l4`F&XNLLWOG'gϒzٿq줘gj(>d|Pb,|Qvc)Xl6w#c}Ιl~so^{Wp;_.I~1R 1[]|^]HpL\-D5Ad7Qv)zSX"A:Äh#wlho͌"%_†0AQ>&P.ϥI=%ՃB!PZJ1K=p&zAO: /1*%Ӿv69m[ *4qQ߱XjSFN -{T=HZzv):DQS+߮QK3jopVBbad)]ӜA9Ѭ"6"? 46o3{b&b ٌdZE^* u9-"&*9孈ΔAV-@B+a'M)FKTy @q| \Z+{h&,TK48ND'Vyy~Nbnyu™ѐe|T'ĨYU¸\ftsv$.pI =斉L'oqx.3%)v-5IFixJzGNl1*~^M*Z4搎˦k؞qQSދ'Yy$ݦ;@tbE ޵*19Bm%ٍXBQ>9;-(:jY{M uu9N%D=ֳWu#Z(#gvW*:ӳ~dT^:^K/_{s*k?Nکa6ɯ= h?̱;x;ٝfg/[Lr_|1S/҉ {ŗ^|'O8xm0b?g^6/ϵT@*Z[-w($ p#ݘ( }n-~gBL<9_ˊ TWKIO3J,kQdJ dYMN1޳kW LiED{RFڡ;h{i#?zM9y$N|wx8x-A9f^[/L4-;NkkRQ mj9bM2 רJI^\` eeYFg9G@W|%?R݌՚<)2yQ)!-3Co*~M'U3&*_ 9Dy3׸knxuYL/ҥ"OGPɮ=V.j7nE؜D2>j.b`ڹr8P%AWd\TLFB-''EY65F&rN%ᵖFp9/EU-g^撸\FB^YlQ,kcSYpڅ]>xz Áp R,|mE6<ܼ9;u6(&~NjhthaaӴH0>iz6@:& 6{LsJ69w=ע0#KUO7p=lv& i(GoT7mH*NYʼn}cvH?!'B/kpINgz{_ԍi(S?VOd9;A?l+q  39(c_@[1NlKil |e{A/ٽ{AZ6z9E!#r.TU,7Pm'^UdbG ^/@꽤DFGd:3$EMm. ROzKA@7m9JV0HND.MSzq1u#Fo^y/A$ C{A+FMCgwq$rl ݡN JִQ?o}MH:>%N b9g4tOe3SD.@tB=J+h-~@7AV-n:"nZ xzly/ $\s8^ S'P@8K԰1Odo9C?iHm 9"/ GqcPd bH?g*U#. Q%ycmtQԊ"(ǀ ltldV kF51 OZA1:֞5[agܵ?,ѽ$ۗ=kS@&hgNSFͥN*4k[ZQH\".}do9"#K0$PV|wU.G79pZ,~ٴ"Lɂpwf{ǒ KOk}`uӒ;5Ǜm Kz{p4UפoSƿ)<;hVܦO2:F=r!sT>*vg^ Q!ijM)o;P,`h3DP7 :?f9$b#Fc+9LLo E%^>^`rΙs%N*-g5ivP̞奒/ ]'Nd:[U$S%EEK+c9J4A_)`B"w-5qY$7fJ TCKI.m@;xӷEk$n'FJ J ]FV Dl9OM`_hQGG9g-X@/⛉oZ/y;'ӓX/, ûy!Z0eپ6À>38q3RĈ$'w(/Y2Qw5)P"{ !3ڧ+RS:WhhrLr([{I 7VHDs9Qd#+c1l3p(Nz[/^vko]F f} 6g& mGdVaODd`3H&;uƅmXdy| K/`#d" S޶ K y@F),?rt >lv[˰zJchlB'c[ 8i.6G%0 _oEAZ? E bX0X1lagNҮNͯ*`\T? Us-\pf56/;X!b_NԐ\{kFߵq;#hg@M@zXS$}!7PFqDfziH #(33 kjCL&VCOF'BjAdhrdezO>.tK[d:dMJa \=Om{CxHϚڹv ׷`d-T-KH Og(ܙϐx'2E1dc z&cz7Xy2W1*c[+#Qz7TFcܑNf ~uB "KJçD˫ s3rm$唜0)+`\ `lm5^? kU(&-Bp&3f:NU4bNΟR ҮO E*H{lZ/fZva2ɴkee탛YN;| 'YQT {@cլmzHgk;O!xz%<5P δ2,y* ්^Ğjkr0D`K"mPE<*`m{ΑMFͺr}˻ Hg 6Oy8~I|K5_vKl{xrq`E=^ܫʹcM^ ize8x6J=i~۶b sCz5ܐTPOP_Ǟs JύU' RJ.[QqAql#8F(x,('25p\?V,ȩZ}6Z:~l5_t;"YV󪶪DqGsKk7@\f|`eۂ^+[{ p5%': hNvWLs%_yq] ]Ez(`>io'/G8ƑZ\HQ([ ;[;sfZmK7 hAA{HBfN<"B`Sq0iTI7:ʃ߬4Ɵ=a Z4X SQ]p67ChF6ײ)*̕ß{ҁ#)F.`2S"_G> 4SZݱv#H躃KK/^[YMfaT3^{Kde,5JnwM#} 6Vv7.& CR9\"ϧʩIt9FϨ56ʷV m{dvpf^ܞ k% /t-a|9MfdjAϭQM,l[=& vC _֩s%gK+MGZ=m 4~>Zd6Op捊;:A3z4BAb' ߼Ez`™ܠXblݥyV eGT'ՐBc(7O T%n32iOqL z p6ğir'h3N  I$E-WS}z7zf < \MZ`@'vJkrdVx*vfW=/,@פXQg!9$įlv#4C1!=Ggh0qY'AlG'_t4e K`ݽ]S}K֩x^k{`(qFQ?syɱ [dy2,OlS{{a0nKn؃54/w^Ff`79$NcaQ0/hCVRG+D#Gvq*".9VʡCr!mF{O>Nr|x|u 6Aqؠ$dL] A1*v"M; 1@ ,˗vM\pSg?Fo YSVE8c_ XCEߔoQ3gl@""o* 2P<_ 0WX"jФʳ}. (CIJ @A!hGA52TE(ٛ$ na*,qO@ )Jl7.ٺPVid@tR|Obaj8?Ō5Y-( 7㓾:}L̬i%-fوCmZ,-{׃MQ™O!'% Z`LnF >|ϓ{ "2x|7 nγ0`m߁~ v2Biq'H*Dd8r6FP[,*nOrC w=wZbr&AEVQLG$oVܰ] .P zo#֙i]q5whH3Ɛ:u0:cG=|y>ẢunҠ݌c}A^3 q]%1UP}k7ͤVrrֿ/ɭc#-%OTm\7BaDo6#\w77Id7fG.m8i֢N=Z 92v7x6\Ն`.8]Nw RB 67CfC|sz:V bثl0kanӑe3vQ>TEet8}y^SJyZHTYMu^EwP4Q.W*>X2Nuch6np'Gcceĵ G5 {#/ة3`wP[p K.UطlX -@3Wd[m؛= P׹|.a6jKiVEY\2tcG:P\1_%J@ fCl.1U{#W9Sb=xٚY- >ՐW#s WapLuepz&:q* <Iqfz3,?{2:)`(vzVH |^clm{%h`Y3OCivHY݌J2>S d;N$p)`tKsE4G̒QiĄuq}^}wrZn`VmyuݤLS2NfSJ?%6CP%2Q!1kk!ov}炭^Nr5= ߮&*= 75 IT`E4X&bwĺkhNhӳ[<y\#SK<.EȅHтѧ#o]Fx|@07.Byw%@yTcM'Ban)Z6,95)yR)K#j 5u.G 7/ >>6J1/p"F?Wz\&v^iR*D#?lL4~Ǔ2 +_( kgs${tJs|W"jgx9۟csiqи/z4s2CsTV^fQ_dNMeJl3 1xQ;kOtC=FqNd:cF6Qٴ-_!JGU؇͋W1лu9`Gpa,Vs4kl>})ص3ĢS29=QD%҅鱽DBߴX,g_\Tά;hRLg99iXŬR8?W %n(v>2f&Wz>Ïd;w /Hٚ;ze OBG/ylN\:c$+ &"f1c%-נM6bfr1@^SLW.sѬn:d$;_T~;djWIeߌ$?^:*Nd`8rhIЫV;elڙɠu7}5?w+\ (z]x͋ݸxAuw?(K7/ FciIl^:3i_RR* <}aC͍uonp*xEޓMr3(pz>BF [-ʺREdL-F}.? TFUFRP>ւ 凬(3*%xZjІ1~(hƯ/ſl;6PQLׂ0MFoUACx l:t&e Z"ԥm5265r"K zqs.wӡ:M,j5_,@2YQ G2@נ4D ]D@'ث,d,lX)>+%inVlA&^~Y/+o*~)E R̓(o?J'CLAf0dR|~R{tgs;?¿d^hLW춻Hq'FgYIv)~mGJ+aοbtQ%ZTE$ ǣ IV5r~XW%|B=gc*RqZ}k~N!YCbttTkHMx[GȪp(B.>:a[kVZ1䯙z]Qk*/;,]Tٳ7pcd,r(_V'>%ˣ2Ia DD E Pѓ=NIɘ R \;d}n%BL+qޏ)pTa2s<n%} otɪ9dĝ ed*p^ oͤGLL"YHC`9فy9c`pgjk$0?lͬ!2hOT'[¤GnJs^(.,)IBhMe?Wć Q{Pi!{ ߶"U/"\'¦{əqWa4R?zXfdcXYQgLx1{߼pÉ.PWJU0J9 vK Kd\N~d ?E~,聕Nj-\^ClFţL]^r?S=Rܢ#HqQa[#ȍ?7qC(n-'B+ ߪr*USuZJLBG!?SYAcojjz}0*>HR, lfoOʴ{# 2l$*`L(z?ȴjĈ&(`G 5Bםd|ԴNMވ V J.z*h~ݮ L9꫖z8VW,{\3s |Ϊte?:kyT\ß/א)ĜZ7!0hK0KGh/:oKUmL:t\@V_ #zpO",#j8mBnwh_v⒗Z7)]&5spGF8MQ/[a=0Os2!'d1^k2'lT遤y<P&"D Ô-r&`5{8>UIqӉ*mtI( @3p+hlTەj6(0>FJ"yIn![̻~$mrejR"wVA㊫0/h1~m6^;S@` &UE68k" іE!!@^5ӷP< ͝Wn9;ê'Q7-n 1ŖN\gi}#d屽nGmtQ*çE[Z^o9վsR.[byZ}[[h3zf20 vI%6AFe=%{V1,G=DJd?A/5],_ /N'V&gs(0ev:gvm}2B5eS줔 5˂AXf%*=و+1 KUec#Qw/+gV7 JD(p;ˏWE2Qg^rf/ cV!+ڥB9rSb(Bb* '5/@@&ȫ=`zU.ᕇHuё\KEI{,n3ΊҢ9ɕ}Y/1ugU%*OFMn';z&Dg1u\Ut O5}i[۾f5B˩vͫ0tuBw y@U6^>X@ m&F6O uP`aO A ^|oo)>ehN|b!ɋ X9V`jt?HПA"D7g-Q>ESg>N C񳹉ip2s&"Vx?$;1\XX .aAQs%*2Dx&KQN0b"xAͽ&օZHG7ֳ ?GփKV,Vu)!dB[mr=is :b* Il]9FHggM0Mtܦny[;0'+Sda> "RČb@|FJS~A$7HIb5Pq4`|xz9ؑ,Gow51R|*v8=W4ذ=vppű%dF23$aCL(\$&BmŕW2(1+迏F ,5A0I8o1xSkxhF{bLqb-|Đ}vW*̾bn T+I󦳓ɒ3&:Ac &T*d갸$ݓTHELdm'r--3e80UC-qcD zFSr +Ʈr#PP?~9ՎR#[!d$lT [^\sN12p*P+Rh:o-@$(Ŋ$,cq!>Qypd.o_VJ$ o˱֘j4+>Ylae+҇ӓYew(~4CK_YSJ2ŶJW, "R o#ĞP/ s:!|QFV(S^pSf[Ԩ[qm[<9`kфa*NKΝ;=d{;9އˢu\:;ݻwl{5NQPQ1=@09trONމ'vN=]ȜeO3IY*>B,tf7cdXxȧ3|h{ #dQiY NFlBMՆda gM* g:屁 do#)O`P&:ޖ8Xq!cSZuK$ϚmevcLM^FtjoxWi@}lN,65v4 f 62D™i:y՘]0fNlHWn0uq#cnȈD;Viõ Y! dѰx.%I$"N5{= 1yS"ҔɅAhnSQ 7:mk]E|3g q$Z0!v2:3-o}׮;W23A 蜟\2qѴ#aß D@ݍ pY\c1 ւUYTb<:aF8F"7t?ݥD6ӠˢU振^_K뷴ٴN/3CU]ҁ] ̝m?l{M$3axpi P4܊ TZ:{n6eu?/YUg0/iOr8Wzb"bLڈ3?|'W%?roOVfl۠0CU=ͽ C \Pg e1|6v:eu 1a+K,JkeEpIgr+\G9;rgV2 }!oSk-5u/o'6?bVѾ-OgvJݪ֠NFEKzMuBNdfq[n%@&Vv]PC0`QnRf g}֙) ~稸EQC;hĶFX᭗. 2dQxCu֎3z]S^x N;XuŜ YپgM`W Ka3?{g  l 7z\}j99k22z!KUl^VY>M|דɒrH%,ri~? @痽++΍>_!<%o6k\e\+%o􈯹$ Sy.}0D~H|KZkncJ`X `ob.?|cZ:`)XNmyF0fekw5"{zb6 abrX&'@8ԉtiMkoz#9w6Yl|KZ4pdzSݏs(bыXmdONsT L3ZY7-qGLjSacPV H ؙj[3pf)D2}ca@ӾwY>}nի,EAn 960F/)\\s![ pp әI`-V xHEw. '~>t`1ۃ49w"V4c/lea9QB#R$O8WgU0%={+@o>◶Qdv[OM ~Oӎ^# 1z{4M';Tꍌc~hvH4S=bIBE(;G6FT9-#3tI<}@vӖEċB74_=T^FT O~vڧ3nP ( ? ޚ^KiT:+E:9nl:H2m 8^Z(K;ٮšWDISQ'0ȝ;[( P;^ǓA:̃8Bf-a!,z@ :ISf^4aGٳ6JG!Fp/DG~S9o)Pv?U%h xcϴG0^cId'yMu{/9o%$+c:^A(Gzx m9#Sqٻ}V1|zLk#$uUr2ՎdsEI!3k715Mw#Fj }QUhCnv.:t=n/k'?R 7]J "k T Z^_m=JKt@v}:|u=Kqv ({S (A..$L0{u}"zS*F4ck;QL+shld"hyG&Gb3^[HQ (30HdՁ-)0O(l&^U.7V($ZWq.sݮ.#ďA> _'GPzM,|M6>b:~JhrEkbg׺s),"i&Mr 2r*%&0X94R]c;RNf4O$7,:@pט̿xUvO%'P`~!x)+K9@)Avf[sjystG)/Gt,2o-Gph?g԰Oh䵨U sycjAuӢ*QvK[MW T9 U s4z-48pd-j$=Φˢ ׺A,~v8:ٓ 4X:hE[c~J#}FuGznHĐ7LY<%}ШDsS} {k39A4,{^aeQ gy5]_-RQ!a_+Gb=['W6M<wlQvEh8^՚X}.pXhY|թj\%^84zX*Nn͋._ލll@k|xG:fP-[_24{3C&upo\c`F̪J$ zK,t!EocX{uW(SzyZ_mz1YK‰jt; 8m Yrm <}rCB#"5EDgo=OnB8nz}TȮi7ho9Fsle61bC6[sG6VMp1QdX%e+P|ǔSvxE \F|եhɖc j$ L̂ϟx^`z?Nb{*'==Vt2 գ<>T l 1 i4S7ʝ_w4oN?ءXک0~%:W`׌ &k70 r085}FODn~мoQ.^i:X.^+ 3oA ."A $n)hRK3[()0vmV ZpH\+Zq23dFgh8MU~ȢvLf-LBLCXV"7L.Zm3朗C{Qk}b}\RztonNKxZ :u88o7RG]5* fj𠵓nT&X=8|nD6[BMo R;QR% X".9oSUPӠxFX empE^|u^70[TG 2攎&$U^#Ȝ92j%iwѦOt*IB1y.m+7oP/s})j#jH?5o ?%njx/"S+vo;Tש}C7\`0/aNKs?j;aW$0(*mXpm 18k[.usd.6[WN\A6nINO;f-ES߂La\0Cb8zd(a'jZ=풖rR=k=~ȯHϣh}3DjGi%^5Ua OI:VltV CQy|]13b ۻ HHTVݝgB.U8'KԪ?{eXc/P2ks-CptuR`Qh/87OgZ{zh_'I bxTY5S3ݭY$CuLI|rO,}+us(vrʦ*ΕĆb}iPr覾KEޙ PSoe=--q웆ZS҅t ufƔ;TuFyܶV\8;%/+ޭ."LmᩚF(B̮H^Ɩq˝a5Ѝ4dU yvyh+Do݈QP3􇓁cOiN+ZgE%kgbhrqd0Xr݀_dOmPsmN]2q q|s ߉Tsrw`BtLr/3һYLoV&"b( %[oV@-Kk+ÜH@4nM[HgʏO6=?@]$jr/ԑ c)~T͋/zd1g%t5zbxԍfPNSfik/a"Y9F;|I8(+uRhbzÎR|m({;*p}T>B8GDAmrV[uFCX2DQX {JꭹD݈F$̸=H]58XpF6n k@/HڎYTKAǍ\и[lp"ͦ €pmLZȪt1qb0ՈNׁLLtu2zn]l]\?ErSP o$jbp1T0F#67"cnp Ǩی60od<.%8̽# Qz3Iu/݈=wPQ /x2h𓔽VjTmT 䤟#Qd2Σ9WՌ-qD?Dg1@24|Գ][7oHSRG;ovU)&vv"s3r8@i'ЯU`\r,ae¿ 0fI#16Ϲnӣ^(x\§O/y(`hXpE43vQm7 xcXajJ9_v% qL R`, CLi]q`(7KqiEYZ>oP+Ѓp$ veĽ!NwVu.[+GrLƀŽ8s]Le*&PazֱJGGB\HifX0,({BOw\)Pںv >2 W v튩ƵZdkcrgIL(s"$hO$6v'k6}h6Rpf[^[ɔWE8Z2("<@oGaCO|ث'H(k ļ$E1; Ԡ8쐮ZCE]%I[H^G+E_*ik[Cjc^n>ĽAtgRa_ծԘ#J1=bEqn=5^՝*DX=l)^7TmVf7TNb(SLFInޱrP}]~*|'UnIzXiLw-º F^4-hE(I[~\REw)n4b"|gT`%\J{SDp%n Xr|d+&)x7US9ً!jz`0+~[/wY4-jD77$4(ulR#Io%zGr2wZytKӌw]y16]flI6K.aFy0`k 4q*'PIiVԶ 'K{^P <2sr v[) \iʷ{KGF-RAQSqf;P xgq;뗫.vV0&Xa[6ٛs?zy#;>5a ϢUdYVX^N(A U;9gK/2]SdF8\8N{>@To7gcʌlĩu0c4ؘsƌTqrb.vXNxmN+qHdWBO 8*6CI/M|{.&@@.:~lŹyD BN'Euʊ fAq?Eqkv.^~DZنrZ.s#G!jHaGL8<;( CV'4'*z΢^-O\>n>eK-g~)UE+䉍Iٖ5* L #Y7-I:Q(Sq sc"9YK%/-?>GT_}q>U YXcJm<$dF%l [d@.Rd8ՍEjxuж&1k~4W5Co`?C3VtC/YIWu8+zu7T`OQzJ`oʙWTeT"\eC&%qWPL^x9X0J%2&dc60:* PpjOC]sh>; ջ2Ԋ*v p| ^1JN:oFNM-udiK>LR}9;Z Qx*OJ.s"Z!N(ce %Mv9q]o{ܺ72]oYg7U}*c`ks ݷ,*>ymKv@7pL4,kG&XܥQdCɁHlLd8p-/\Gb6KdI/(Izh'lũju1[*0GP'P zߣ 8gQ9ALu_{Kdtu'ѳ\Ea ՆWR! 2G=f<"29j&sԴG?ʳ3tnQ<"zA$zz=m֨ K`wsC3յ7,%Vl#l렚xK,9>'1f֚l*m«L)  ZY6``+$7=U؝–8%AŨzmpxUen{MO3A/\r $;VAG)4̠\t /V:Q{C Aa=xog"fyI+:|!KZI"1hs>~M /IUzkkEi x5Z{dqנ-w!Idq;9.7}LgI~g~~٧y= >}٧Ss}Y`1 E p=uld)J!>;>u,2nh>@9;=%U<(#5UR;?% ྎri{&&Cԭ^t4`^DC-cI cIUmYxδtl 6H$'wѵั&'hu]{"zXXTteuk+t"zbr 8Kc79˾۽. :5NR'8yօzeVc:ͱ [ƪNZ!ې{W}Hߩ.]p;ݭ)VvT񺹥*{{ ^,+ H 7a3Y [\Hc"ƹUft2ˆ+W<8̈́ITƀ(Pژ2. 4~a{_Vt 8TͼrcQ/>kpcND2,H:1exsd]*S if΃X>spP]]U[]ӥڹN߬϶UAQrY]qxN}F7mѤo;-w "7d;kډY ` 2VďE$]tOv\N("}*J [.q9  ]^HB,tbSy/Er4) *ur{e7SQi.4Z>Ud *~.CnJM˂cm . ^⢫1|fڤ@rf FDÅ+;˱rZ8ae{[״AlpZ$'q(O-R]^H\Exf=Mr )a{v {5DF.开i~f0Eюp\=+o 0KAvX ;bcB4`,M\Qn攥[~vYSbgo:eeuiJt- .PEg%;w\_w@ {֏_3JZEHxCZef^ dq**&}Ghp>!!5L3mS0sW|dmZ=}2՝OЋnbE3?ǩG%bx1vOA\R0x-@[!0l]<m&J5ҟD̳f. '֋#ўі|/ 9\ .o~;nx% mq07h|:nk"[vWhCwLr,0k3W~mI&"k~$7զ70]ϖd%jٞ0VԋC1Bhv+NQenȈVʽXHQǧޜo߰d1Y1(leP/'M#0VW GM`a^9*OZ1PGN& nx2=Z7++qr $<mljK_Md>͌@U'@Ģ/n"|[5s" 8^QbpzP{@}ʽlG;?],-3\@N+`"O8.uy`E9;eCx + %>' {\։W7BiYHP_Xm"%2qefÑlo 5uw>EbQ8)gpv;z4?kHeAEE/ 5ޔpH"sKT2;wޙusЬI;# ]Q8"dR&rp(c5 ٝw> ŔX>'YDNNog`x`̗tAm: GXPf# ^irI~$ ;^*&S@SbrRMOt}ٽ6d, t> SvZ9(kpkfw% oCP_* MbUB }[u>K܈4dƯ``HΈpb(8/s+TAK+n~WWllWpEurK KNz5w3#$I=mI׀fs[m_6LκiZͬa/- Ak}Pwv.tqf<#қ!x|"x\ V]k!N#d B_#f1 J3:cNA"5d$6>=S7pGͼB /gjHy% 9.iiu+`рþwIuTigϒ:[ &'R]X+eb7_~y'[݆L̉_ôVq$Bb 3 SХb bf,,71@=򃵩W:qKs#p"oۻ͊ILM7/iestN9A*[RC~#ҿ,t/WǪ΅$=`zn ;!'{9e$ Xݻ'^߾~:N $=va/) 3nkIav|ߗtEtb( gi} VQE֚VBB !K$4r;;3GFu͖]F/my5: ;z!γ;˧4|si2@ֆ[ 謏 Α:F퀍f bjjoLh~]5*]8/Ԉ0O:!;!QDrڃBYe~N&]" K9jN<}SF MEpFEI6Pu cƊyB^ޙJ*wBL$EnĶ4Z#>WjrFMԯ'/MI|l Ƴc,;|5䟒ۺp(ovMHiP/f#zW_TW(KdH5gW5v quaH̱wTgt3ΐEx]C裗dxH`سjW+f'H4@2ܥfe8Gг}er9pW.f2F3fṚɷ0oXpФ-lrM7ҎDrz೨cS̈`/PXVe] 1Kt/"čըE~Zw#2)w{(i `P W.m7Ls3؝b0465@مˆvGҰġFRyٿ&`ϟ ks_`:{$n 8{m@{ӋtRL'B*=ϔaRm㦗Oaz2H"E[Os4 ŻfJF{γs?د;k8 `X3ώdtXVj(BW\ L ` \5_=hDEYT^E*2_I1fhtmrv} !3fThĔA~q ~1~VÏ16Ye=Ln4Bؽ*v)-w0W:%TJc}T yBԜ| = c/1'M-0zrm%l Uɓhج$؜'MM|&pOoD7ߴO7?bD`mH07.<Tt#%J/,G^MT1I/}>63(&0* ":LՄ˨ﴤc me%]"Zy>0h+"&$UqKVGabu 7 +/A<,k}S!Ll[Y BY?{BJ%'U|Q;mV(17W8ZX%XQg؎z'IBݾ:7+RQ`e3 h*L\@qb$يlРX6c5:XXٸ-=Su=69FѩWհ]9ﭤ-ȵFqOp5GGWWm$BǩFQYYk i12T*.?TGd“.Ef md-$ҢJB_ :t}cQ}u$25]ol q ˚A+ MgA.*_nP 32`1wu׈)I f2o=fF˔ch򂕳c3>8p&eM]|̦7DuOLs\f,vSJ t!6g"ZKqd/_-\E)>"ىh .$n{ξRb+qddMFV%3=aP%@W2!2kaW|/{A; 38q/:f LE:4y>9C[_)[ܤcuoГ"<׿Ha^?dtp(/RdgaE\Acb}gץG8e'Uû9zy%Lr}nUa$%Qqdd@}7z7>q!s>pYaᲹ=mR`B97;0's2xswɱ" Kb408~TP0F&wBO@<5̞w0K<eew=+ Gk~ݐŒt/h9t1i IR8_SxvvJgM1'ݨQ2^TUn/و-@iNV8tZ衻>]@ h*Ԑ )x4> JCܴ[ePFORrS+mە6cmr,j&_L>;Ayss3k9LH qآX<49)]\k.сDkuj@} \%;26Wi Xb!~qhBHu@;^e] jFq*XIQ2ρy:S 9.DAbF@`[׶^϶._oK˴; uxno o -l%ҨriR-'iO.Rp#((Y/wDeeaf8FUʻ^J*m~;΀ۅHqAGH 1[I7HY`/BNR9rGzl\5>ɒybȷ *rfǼ5yk\LHOְŒɘZK$D3PgVH'Q$2>]Qv7pG[I!$B^ 1F k+Bhr 1\K  _QR''[/nRAchC2.cWqbr#eiˉ7{DW>su&}j4y\d1,B㔘SqOK(KSelK@5(4HJ ;,`-C\ )@ |mv0)Q랏x.V4j[IS`eTbyL:_1ki"rtfk<vÅQ9n[[[HrE2Rv|ԗ4(nNኩ3foymP Nǀ $Ie/1Eτn"=Es!!eDo=%${qMyqeK{y`ֆ*Ukbiʾ `"VA_2{ֱ*\`VD%75M_cckdr 37N>uD.h-Y&BT6 Q3hKgr1l6у6[Yz `3.$_~C{wlFwᗿw:-U~` hEwQzzPꍆ@WlAkiOS,9rsPw|:RrIq\pk)[:#\~NÀ7Й)ӰlNes0av@(Bܮ(:^,?"s/x4c=R qԑWz=.7`Akk|eG՝5W&zV7G_IA/ajMΘ-FH27vc|R﫷W^cBh ZTi?E%r/ݺOqM P4K\_]xke#/ Q} \ܥW8סyGp"ע|5$[M0z . XE5룃av!(rz|`rh<9pS# #JJ|I kJ>}++LXZ PAq.=1|g)ozկ=p8Bx#u** l1ba%A5б&cej =jSآB_%NR$¹F- xQ 8p] Ǵ6($8+=:qV{>3Љ>:ڢ4;^RC?zZ٬> u;t2Q! 8.Y [Ȩ,GV[IRVr=M8rN R(9a2\dsN_g`?' uz|0k/S D2|Mrdޥ7#S8n[x[zG=<cw5NqKK2^#m#6ϾzG!8e@z^h)-#7e;!# lb]#3Wc]֑ߠMx֐ߠ-xw`楒|=MXzkc:|aFg3+lx`s!=b~2wڤYݛG~mb~wwV} b Dm݀YVm#!|avhkTߖ7CD(ޢI#C6KqPo'~oT@>N"_5v&nuZcxٺr.LK07xS?{'}Ʉ:ɮy%y$ |'t*ߖ(z׬7cc!uxVf퀝PWeҾX֣nLc W.oP Oy@TUo®a ҟE۸B @:yP4wƢNw ka*cw]N}άL}κ>[/sKmџ. :{A]NFؾ8ؾx_0ݯI;_t̿<PT&-5,S <x`QS *VoHFxa\&wޙTqjjk+Db`3z7}Snkܬ2z'$>7w `pZL /tkXJ-nUV[Yob<@6pmWഊJm߳ŝ+kp@~^aFa[k줃*}oo`GW'HczCal.WdT NFG7䉘~^a+Xۥ"CMh]/җkh\.}A?u_|܃Й;bh^|t>fM,=n‡! @jg 걜'蝾ҰɔniOؼ]k +S^lRŭgԍ)M}Ε{2ˈ%JJi7ڄϕd]ƈxSpF9@VEĹlŠTR8kӛbfX݆^;A591zAU;rpؖ{]0?ڹqq\vu h8^W#Y6)@ gET6*狅}檻VDZgs~y ߮ &y XZ~iWºW)!_9NCf['rϲ)o=38r rN.rEJgǨBkJϩ' Q{Eȹ u3 iTVYL!%RwLZ=)1}diJ Nq8Y E-'Af6 #'?k*},8^ B]Oz'J4; C=6X`=sP6TaRhڝ_~*ډ.7k%N WnP9E0?o4)YN%@oQ&XyR@NJw J]آ*Ad;GDSz.̆v5խM_8h[& ,`}%JapـS5u؆'}e73B;ӊx[?ob] O7}iBӄo3PETbC %f&&@tlc`[|ڂٰ2->ʡ+ ᵝ l<Ľ8(I[4"'W cFly)n &yLfnާo,rw3% r$D9By6B ]7U|.Uď8OGDJx@B01Ǯ@FaA^T}C"z"> (roW;AAљ`p{F(4p wtc̛3CHa h:@N߹ezM`+2}к̋pk;8 Ȱf"X;:}))<͌f:U{A-D168P3!6P VjBi/ -  / Q8ļWŚQ|7`}P y*шә5gXpNv7*b fy^H,RUoGnd{wP/wpo.m4NHHq4/{>SX D>֗buK| [eS h) ;4bu/fV)8f\Bkȁx]9u052dP@Ba&ܚpQlj lᮌYdj8zU`D"2z g}Y[Q¬fVR-Uƌ3ʼn}&}Yaka /A nte-+BeV1':*/waGWR.1NW(,ôM(Q&:!,)Rs^1D2 [ ֕ݴSZ-%+z;`-81P i&Y W|#JTN~ܷѣ`n}i=;LF3ƽ)vkC1rt#RV$<ǁ9 8)Y Fw C,|0{qN=iW_#sQܔpw9Mm6&ٰ˩ N-%:$=Xɍῗ]S7?9o޳P|1vy&I˧e%K>)[u L[ +0t=mݯxvBQoC*@p+4VkcKg:NiF,h(Q?k3ShLO`1RČ,Qؒw)pv狩udȁ5`<Ǭl|/v]% }hn]fJzuۋ!hEI>t4pʨ'Jr+=IՋ X{XݑIp]6z^OȄeͻ548(ŒV{l-2HstƱed3<(6Z[Rvs2 !6#|\irᜥ(_E5T{]D^'@$6.?՝N[fd!k(-&%CS `z|//k0:]@& ᴬIo!ڮ\zф[t==e,k93cZ G#6aX4>ꊁ\WJ0jLJpZ{k%/A"!fTўTfمz6_ 润)AqG~ZaM(mp'ٱc!ߢGB~ӊ*µR|UQ hir]AFdjӲmƓ.c{EDdIULff9WRrl95F-ӅH8QȚ=!@\ mqfS3rG@u ;RT>ZpIm.ۀV 'Dy Hfܢ7K8_b7t`CzC8|g׊=}T(L{nC)͊Pē7BGl0QYeL[4i#7b !7$egN'")e׌NINj0ni=o4M L 1M{I,̩9ѵOeCcBܢ%!gPLg4'< SX|M$2 *2M^Ĝ1YkJU8Ѳ:8:Y)H{/G&y뵫_}9q1Ft1w|QJKnBsi\4-3 L1X`]_TE_݄蚂tH `*Yb=n}|94МCWrb93f{qdlwm\iF£ rr@;2$X%N R>=2x^2h)pe.a1 Ɖ\LR*Ew +xia-]˘fy覦(uMH`#J{R炨2G ML* / k<;AqunH|sF,7on'Xq՞7nܺuO!F~'+foUQ,%旽Pzc2a;ڋe?yyjS'<}N};N)6.l,I߲9Yk_P'Xn" phؽh= V>XW5%Z.=Z!?P#Ť|45^c<~jvWE.5X_]X<[VEd&+ 2r.G:y"XvsB °η—Sr9T &\@sۓEuoMN)xSF'΋6zѕU9}*F񰮖,|\4ejGёBTNl dEh-Q"3S`?O\ScC)s)gYѓt<>*֠sJ"tqMO: l1 -92rwCL_MA'%ybK{S}LnApT @L(aGxM3[;Pч۞cb;ߴn,p.3/Ѩ;́U+;e( ӦVr WNt-:׾ڝ[\JCQqa(eKlM>66S<L *?5;S:nT m.&Ms61X)͐>K⧵E0N+Hy-,xt*ݔ + sU8v+6i}Bhd~c8)@R`F6Ȩi(8Õsq-aSa+ LdU]r0vҶ U ):ai.D䑌AB^nrm%{` # Tgz :&o{d%Kt?9] H, ;^xZf ^~7$kod\ %Wwa@yg6Bgg}n+z2Mw-Jh#g HN @ #ԨcYԣ kAz li%wЫ+g])MMXNe}}&,a- T{1ZE֯<SE& zEy]^WdYlvrj&Q-7+)xܦ 8Czz>Դ^ ߸ٸ u ZtIgDXyf{,S M=, c#!ӃTjhl}SK CS+ԾIo͇ok~QZ%MAIpb*g–نQfQiuNV i_`,0YaJyx(sg[uȷc^"'mP/xqPEQm8dI_@,1)Y:qs;O~-\ '[gC6ח*XASv*ϵ_9W0;MZ? ̅ K}AA$$S( No!7Nj?6Bg}8;["d59A qAj )IKΛc"{)} Z/ɕ]N|| ZesF u.$,>pјi$f&Ē#.`ZŽ=pgUc+zId*n^!I!w#ٸ#C)AM$sZl|xp^D]NN.+\AWl*Sl5 zb1Dz`yr;KlGƸu -fg|2{2 ].v]<X^l4ΖxhFן!JSޱ:gnxr>8Dp\iS}Yn#SB7Ђ/[ٻC=G#ݖ.%dE ɼrk!:Xzs5wFz47|ZIQ(Ʈl) VcR?F*_/Co.ہ6oILQF@d(g|SXXlDv3s6K^'%]ˆ9%wqv|@Em\L(UMw3U` "UͩC13*UQo5~lJ;~\xvb:+oq٥U)wzU]F@IiXܺ<߳:-+!QH9yv# jCT' <B%Zoq]E%EzZ?{?*fԲ *FJ a@<JSd\*B9on\43GeO=3qɦK8_طCuuqx]`*(sUOAWY10іNJחq%kuk #xňL]I^bEE!0Lq7k0\Ld >+D%oy6SnG93CBHp1% qEeaQvk;k)Oh.[Un5)ggQ+$vhh0-UȌֽmrN~n+9b(P Ě&lU>wQZJ*Q_Tֽl?D sFaU~?xb %qc5>xa@ kUTdcAoĬ$0UY~&[{bիv\j*rL iՍfjb-0StiɗMn K(UKl7PkMRJI\2l۸nbf"էE7^~,eYF[Lܼ;~ ]A8N[}C5@@r=NEd&V;'nxr46ۖ\;zl1G{x kblFgY_qkŬ$K:`I*>Q8>;lbmK5lf0Ơ)h媏VCPr݁$TSHd-w`j&I8:aJ*ѓy:F;X`qN(z [l&<9ׇ1V7yx|gχ c8[rr|;f͖]X *szӢgђUNwՠ/4\Huf#iBX@mH7hUx\ 4h<BbU b!xxp^1` "5X裐pX;cH]uQVU1RAUdLNT!dds+m0 T]&sρRR#+׌ikR{9p:7?@6@uu"U]BKD}x(4xhO:ѢubaȞ3a6j쭹ؼ-o/'w՝o>0aR=Nt9qln2m#*(y >u|-ww<^Y󅛴3IN@lwgQy߯N,aFFZ/mjo w`pKOljg Fxg?X2VЛcs )ej,e%饿N?\xgp @ gk\f:rz;c)Ikv4~ YA )ax?%*#8s9brmR+۷ Xتl讉Pcb78#`2f ?zx;6 1X}K^)lmjƕ_`ê@S2ƀC7. 7}Cf%* u1f/[l8Y&aES JO6S00#kmhK{GfRMtXDn/}sPq.t+rz'f}RC'}:4 )tCw'%5 P VނN,^c9bJ ,tk $ qn)U6j_ƙhlP_K,cL¶rƖnytN:OVp^1ӭ1PW>;l:36㉮t1lDC,wy+0Աޓ z/ uQ@eDN;w]R8XCh_?zft؁E9wBaKE+H|]gOC38^眔rwNhE8!cJc 9_uja?K:>P:fϋŒQ)"9y $f8ڲ1,atr)y44uyO* ?53ܗt7mp աb%VdoCgj'Jk7cAf릡6] EdIQNM'Dv)'}/J@/*Kփ8-a_: m̀H3]"6|ߊl8@UJO{%ZL87+ @d x &R@02W48zWղ@t8Ap쪛z] 0xf0 :Ci+3ߦ%%ޑC^ґ*~ǔi C׽{WU'ĉ)oncS҆gm.%͒nXS$hށ&oLiɅѐ̋ThA̎q9Na[xhs3 gmY<0ǒw-tY1RX}-C:t.w 0cN'LjI .c0lJɳK" Y= !W]0'ۧgEryϛV9=^ &3Y9HqL0aŌS8hOi,M}CyfTN0bnLcU[@ P :zG*k]u6]{!wܺ|VRq xߠ4OKb `o? 1u U3Cn86!7 @i/2$aUy\MY>$PsF7V'M} nu'9 Owv:,\ݖ*WbBJޣ]qzF109RDh*ˊ\iC2^!J:3ܼ5IO.TCv6d6J%ûuqX1r\fb[6ɺ/`{iD r@lS6Toh6h"t$I/\6"+wi̯?se1Vqdqھb\=lrl|.^l}pY?:_4ffƦ(|r:llIAA>Oѷ1Eh1Ỳ DxL9ӂ)ֹ,Ji61^9D2]f"JU\,fbp3qV:Yv*.8OU*oRÌ2aJKfD IAoW̢&ɯA# F$e_t_W]Z-)AD&e5AT+ l 0g*C#֢7[0x[c^ͩP*5 ePTNEg]=w̨}9WӭKPzԵQvSʿ)OH@T^{Rc>:v fKh`}_k )N~F$* P?,$w;(k#^O^mڭ+{^;V}c!^j |1֘[\;V["Uܰ0 d 5?TA ll1vdo76uUo-qa ,JY60Ňg`h#% \M'NgjfAvΣ߼^ؽNbU!~0tJlkڔՈ"Ȼ1csQyJ)ܶ!{+([2puME|b!͵ nP͑IC+yİ6 %2(k06e)MS'Vi2H{r3*,|Hp+P,(MylF+aQ3'aaXR`+mWerKJ+Rtr9 KW*ҹ">e7*zqQ`6b&& `lx`h$z©);該CwkRv{YoDaOHsAö<8VoΥ7 E |1K2 va&[ZBδscf;HUṱiً& .<}+L؀vnx :D| 3y,Rqh6A/<`68 S32'j\7uxG s:WD1-FDkG:!@MnK51>9S Lf'l8o79Oi O;'q1E G0- *'a2؍#Zo45xs뵫_}9c0|B32.Q2"m iTE-mCW9b!v\-^rq0v'MxY<%Olx+.&l]x:o/Ґ ^aˡƹ$<q) q—0b{R5(<UA8Mtj3sKps8 {\nqc-T(p0uE$07l3zjщOb+X úUYs}Etԗ}p`*.f/t I@pX;kE n,-Fb P9ygvI"Ikѐ 1@ںeJ/ Xs.sF7fݨ ۚp^/i0źpDA 5? aj>~Anw5wReғKQ&C3VxͻE*kc246͔d_ƕM6K@1笧uf~Mw|57΃ 5(a+:i)sMClٸ PO3l`ni)r/3!wI;5*з)o( ==*LΖS~- rrkAjK -\9 gʱ Pxڰ&*q1ؚ5q`bX;Ҍ"U5nr V7^%}Gk/QJ1EF=mgOq:(8oc!W/al,X!3> oliWP5z~_.;;;wL Sac,;TÉ:K`K_7l\& 5: )FR4`'g$$ 10-$jT3-GX>M/-WOS-Uv̠~Eih'T3!߮s'W ^εl~389#"v?1qo 8kb CnL'ڜOFy+O l<^6!\`͆3"2hgOwj1O Ws)!G$vBBcջ-84ŗj#@O@/aNIF0=>w%ULdF8~8y:Ltci)&ڋ0!ρmͨoLk/?\:?YN˯!~xc<3O~鳧O93>gӧO9zs<_XνmnSFϻ}[wo}޾Gٽ~pwoԩb -'_'w?zA%#{CUcQ? ɻ @ {߾W0{{Sgȼ zq悝>ewé8iz?y}a@A#hv &wݟCwqְ zɸa_ $lm4wIJq+翇OA_}#In ._Vx%  63{;I(lw-5$B(+B4[d4wf )YQW:0t I3m3W0gⅠėBqa[ux%!]0 ,:x) 7 /~L@>h$+Fn' ~s'c>a@t?Ǹ?4ƛl~@݀W}`Im.z3Źv3Z L82 6/ 0߆9ܒw @ >|h*:i9tz~QZLýfkڰN{j!!,mQD׷S U2h)<_'5uUNu'E%ڟQU΄>LqVG;knnL[]O fW |v+omzx-}3۸O 'n/?&x8+D!R5AUT=4tQ^O(e6AKI ‘`foR7S~Em}_>ۏQ'ۈ˜^Dl3 \zy>|aswp8_!E {vpK2lg%1 JHkwB7-?"{i/0@f ]K/{B=_p"rG5#kw>ݥ87lN1Yr-]WOU$o_>Gx{J,e]v/II.:ʗB9^֏ .{~ Ǟ;D Zj\-fCtх6+\rFݐ5X, \t2{C]68͋_L SM2SδJ{.Ia1E=7+.W<W}tۜ&[ûLwoiiP~(-&|Zj~ļ߷IR :#y|xY$F y{E?T#D)lel׏}ĉ!>ޔ\?윷EWF9v-m6< 3|-&^wY|ܔ ]0fC΅ߣJ^}]n/I?o8O`~NyA>yuM i} 4G>Qaf"vf?tRsiFz". |(]@IgȓH.y2Y\I0P7~13C]|jY7䡐$bYɲg} ^Ssp?sIڏH  GcﺚF>-F)&'e&,_X 9{'OK((H0!Ka'-b}#3 GGdx$t=_O AZ8/I:"cDOSKںBhnkB4 & ?h,,=O 9kB/yA-I'ًIVg[GSIڤݸMuݧPn> ts?h/;kwC"9XFF#]sz2Lyh? r]4/Tn̫mZYKB}3?a ~e0NW@ʬ)s3ڔq/L4<!g4E.H O mCftCE6k9]6k֏fhɻ$$ə>vH^QN;%?{S'Qa~}ϙC"U\([iیE"L?$$3z?7@DLҥsчKψGQr@c{I-{{/ [i<0cv1#laN㶧{hGa,#ƼTAmQ陯1:۩P~s׉)E4T5#D-*2 Y%?ANlzf m>cm4 1&W~Ezl6a ra7$V=jc6d.h.o:5<0ۄJĎayq6 "ɨ;6tP X!u\ Zw3B$RoѴQ 0C ?bZN2 Ž7ak3ˮ7^]a_5zI&jSKDy? Q댴7b5'_Fac#G+FOSnC>tVFrJGI4w@*;' (?Ԡ( ` 't>4ؓFpy-fUQ JЈE<:pk? q([aOO-Bm }y0./tJh4yC6@C7чDIm$r@9'j48c*g R2Io6y/a+~BN ZUhys-[acgwU״R$_t8S>wD,&E$:ދH?8 3c6L/"UQ=vhǰ-?jj焠?P6 [9 )<%M>Q]y+; ??sAl>3i' 1w7i k} ]3mg%&"”j}Q>T3+Lg%کxS2j|`^Թ|ݧ?8R;2M{oq(egdܑ#|")hsKwM@\B2 +^Tt3T}ܳ1oy\%V3H"A28s`Zvxrލ(=+֑`{O,ʇ1>3b~eOŬvOQ¤pJX yKy^֊XȞ~g>VtTF5iJT#̜@pׯj'p GbfOp9mwE=7g7.+=f/c7LoXcx9X’#J=$"G$p^*#;p[j{ZFmyK9#4{1,+3 O X7#61Ԭ[td4z΋pLy or }3'}rx1Phf0ĴG *fҧ|+Q t3̲k"o1|h wa&"]%RP"C@\V暿Gά9׷[590]٠R~¬-;l lG #ɔf%^,S+[umBzo|׹{J[Ӿ|ט}P7ԽGgQmm1T>&|V_[m0TӸWrgS15kQRP(1S#Oy'|&˼O4k]eOְW,fS̒ǂ,wyM4%YO"5m}kþ8K8F;_' [Cx>kl['12x+&I @`<,1K ט;EL 7 r7e-5Gh]55lV0tCw[J̷)?ouLŲƞ;є|'+Gf0R_O\S0_˹x1?޸7$ЃA Û=>dpB|IM=/LN|2q{<~On^9uyOb:PMA? `آ$N*"Hu-P8EuSM\C'YYk.!2, 9R u1G1 ܻyScRQ(G}< R5ì*2n(a@)ytny["=wSiy_e0[W5L_T獺|wU1[x$_oyՙM]ϼ&O :ߪ#w1sslqsn+K:WI38 zYerb$BcpөWY|`SHI0P$V DQ!IdR~r]ȇBl36s [sIsh;:^[RRn8x9*v" .dL_!=_GMSEJ-?r>/oRz,:t!'`y"D5g~C׸뵱ȋyMzy&«+ ud0X#xeXtE|^[sx<ru:?^?vhVz 'h(BrLy/?]drYB6++3*J~Z„11֬xG+kp{ݛPFQQHhҩڎJU8LKo=`<©,˂;osOwT%B{sN$_*n H~H!W:U_>wF]6ogrVsUITN{Np'3 笃NS67lDe/^%eS2J&aTeQL*|Qrã/8_yKRSWQ˥K |w{[R R%ÕQN.TA=F!e\-?=&˒S]̯Kӛ!x0; qϰr2N87;A9IQixsLR0{fO;!ھ=WoQ1~U3ɿyǤXݽ]~N\,+!}Aϖgm}L2դ!j/eo&̗/h2T&K|Ix4x%.4"궸e:TQ]y 'FkQ&]h:J6窉'XןV.zbneL ~.[Yt݇얖wұ8Sؕ+sDo$Ӝ#(;Lv;|\Sߖ&EMHEt!L?Qu+EѥB;hb yW">%ȧrl^6Sܒs k ߓFT:gY]!JMp?d@4 P"Xs=hM˶ό+~t%0M]4L- ,N$8 O:7Df\F*jwD>-r\K~N.i0e~I C>y%-sMNjT}'WM5>Җ>vsG R6Cop'r'CfǨ %-#SS|sL)4Tb#78?,f$nJD&|͖;uĵU{W|3oܙlI&tJjp<Ї&I=׿6CGCx3Ro`[[$E% bQN'eo5 g*ޖ?pW"W۲]"L ~!Ew@a?" u'}Zx")Dr\ '%Ä>A3G+`o1~Ir!BZ,"kʼXf+B3zlWTE¢X$K$C#'mvԖʍYmFH $(]+ںDžnKOff҈3Go_D%K4[`ؤ>hc;Ir~fKffc1{% bJ57GXYp0zɽ`{s1jJ$pќ [_-?D/QWS5ZZIq!vbF7)L/ 2_f6(S %ײW=ɉ}H 'awI-Qﲈ{D8۴]v$ ŻFܰ9y^&TO&i\/Vz}K77on66cM`l6@K3~?><<ܸu֟P'yVcw* Fr~1E)x ܌ K*E$XsrY׌v/ TV JE8mR9HHnIHV87(.G |hI D/#u]K⩴_ =>1<5G,"&`U1刟+'FuX;uIjNa@"L#OJ{R T|A))ՋHlʗ-*~c S0vYݵEwD8QA~]BwILʧ'Vc~%AZUc%s^9Խ^8o/nc;įjC>[Equ<hvY8<<*D>F PwݍAjYMP0l*+ֲZTȣgsX]DԞ(K*[P/gL8l%Rt[8>*ڰsNc_n&P^54@^TQ,Ysz@ e&Qn _2%ZӏlbFu oMItY  |Ic~Iǖ|W,U3s;wpS>ݲ]F֫3ϩ2BaMT/(ک)FeqNٰ՛O@؝ 8DٷHyvxfN)([31\EQ{.RM} RVI*~'Ģ#g2(An\͢faZ̒/_d^E1qQ`UN[PVS]χޔQ^P1{Br6PgV ;+jdlStMbvbtr7X,`2T=JlcW!Y/u 2$M|jՆW눞xPFQl'v"fr.) ױ8uU ԇjRk h5(t]UO̍X)>ŬnrVd6!ӔZYV&>i]{嚆\-0LGq+x_J'Un/ 5U_+ҏQ{7u%;%ҚU}W7 Y덌0s;.}.zk>N]ᔈHd ,P~q(3fe }ĒN UE|;·GSz5/8w(e',`nTѨg.4h>$c!AfDe7Ѿ4GEeXφ)Vx"߉YQQSU9o ~RoEL[69ۥv[Ї׎KX3..컢 yhG=ǣ7nWxx/T:,F2N{:Z˺Zsm J]D7]_k;"himttE}Bo($NUCkDZȯZpq9ObP?pP)O̔TKo߂@jFQ9lܓW.ӕ#&cx壉bEvב&XՃe `2eU=gQ>{H|YGK9@؍sWk *ZE"j#hM_8KC i)MvMfj>MT,Vܡ=bokzȧuY!Y(${\FޑЬܗko)#q&5zWzzYA1N5k\ ;PAW׃iXlp  h] i'{;(J zXoCvȕB?~D896f2bxG9`37%}I]S4J\cN=u[gb#1I_vDnBJʀCA#X~NS^UJ,_8Jl՜s'D.|Z5d @UQ;?jBIԋUzF[}?rj|_L=~4A?LF/_@^R0]UsX ??vX>j 5F|DzitG}atMAbԛ]XK7v^33XOvUYcVw~|M/O)NLkb>\uC/nǞKD+$ VΎYtB/y0N&v`(ZG)xoVRO&,Yf2jQ, ^ΞuS;x|Fqq?:/dx }m3QA5LHTWZ 8Xp *5 =g}ۊTPkt=oSS?U0T\.J8[h{+$ʯE8|:q'7 f0Ɓ&Cq}Mzz^G$tB zy Za\![W4Ŭ`8ܝeWxB$Dn]q*O%`1xS /D/+S -v9%a.M2~/_ZT֤o8>[_+"!Jc}3=zuװTFK.GK/*ʱMؓ;h۶n~hI PԸ!AKeUA||~_n[䍯|Ȟey)/D4XUjm+ӱmה`Z>w@bhPJd_vb0E8$IZU1d'ũ"Bn27V[]f^~"%{6t/™&z=w}nڹǹ[2/Ow^ݍ/#3=}Sf#c8[dz( 19"n/(Y~-"}J>ab2b|HtK#эⶐ$iƖpa"IwICeJGbߵtu;ۑݵ#/a!] (xs@j1 C4ϝ;)m2t` ŔwR3\Rdsx3?ҳ2#<$G2y~4EoA%hzh#T4l09Xf=t t=E N)ۈRX}cC/+,X7VAv4EFQKsq/ڒT%|1)ѩlu9=iJcҶ|K%ն^V썆f{wT_h3*H4y*?)EYZ'D꾭<QJ4雕VQ}{A~tS}JwL bCfr禒2q? \ϜShvP 7A,\g3lr&M3Y 5Y̆KBm}AӁ=9ypх>#Qg2Vf EB8N mY=FFkIr?QwD5ȑ ))?+d=(p bL,no$@R#iRoh@;zi$]hKѮbA(ڒ:G:=Zz*}(\@܋ sc~aT;{ XM%Wg?]r%!LذH' Hd{ܠ{iP'L_p{ɶ|o9 Φ֪\__d%Jo }f+]OeZ_BR&(W0t w$%/|+]9W2a 5u QZnfrasoG/=Sx{nhrAl`m&wM2!ȈY8wxК˼U2^ƄI*,P<:%-gO^,ku/@Jy(,=}!8u+S"?ڒ 3 <;.ZO)M`~6[4z-}W9hQ?jL>LxD~a"sqF$Jop}hcIVX%I]=If. !\ZR%>\\M?Ϫ :vs>=O: ny?ٯN}GҤѽD7'lg=TdgQ+fzꥫ/?w$K*}Dxku[,2g\Ŵ;(ąg6cvIұ<ٓ=l Ni)U8uh?e2b ʶ=2c#F EbE.[i%:N$RdaTkd7%Z4-fh31+K'&[e SshThae]Y1k a1_Q*QlZe$d'գϋ7_zcb4ʝG@U #HD6~Z40H))!^1 1nlLv59!bf?)UjԥɦmIUlSLF֬>)&b=\9CacgkIP=]IJMӚ jXG撨諝v9%q5`=>mY ~Q c`ߌx;Xi Az4RR M s!$nfẇ9)3<ԩN~;O?3O?{~?}٩9,y"z s8lҞ:u6R\ʒT7r IcX8*|ʶQvZR_ K!caJ6 46|c5f8D^1L8nK~EXL[bZ]wsm}%@kuͯVʪ_műӬ+裼(kJp3kVjgu$\NgZB2̱u.z~.u̞B"<=86 Md{(|퐪4h4SD)(.DuЖh H}Cؕ2ۅ-D+(/4_dpsK;|ZT2>,١Y*#!3P:T4jpfR㲞P9sdƴtw Bq~Hظ%&Ŏg]o#_5}Um^cRy]x)o+xCD69< qf.f(`mn @cr==[d DՙW7.F6]_ĠMNF/xY 0[hK`QqQJR6TG zI?}!QB8q'C40:!r쉗_ۺz=ۺ| Q1YS^)朥Tx#׬ŒX d W 0uV~pL@_~rk5;[Iin2]M I-$ y'E,Vl(m~~gvz q`X"T_:7y5~|$ ?.7MMzͯfk&0|9VH6)6f^˖g.&] ^k_~j~ցVM`yˏq/U[j'Eiv1sy(8`ZM#ܗ9wX甚sn+K:ץ{̕)o]dC?LhRﭦ x:ᨅc*Pksj-k7X0'w' Pr3,̵us|kW^r{9ߐEw5vLy|$Sx\nO9ZR-i&@KK{61KY'0r.aj'NY8ϗ q<eT_G^C'nk4^\Q#O$BV㼐U\-R#/"}V㹀e[M+u[F G4zFz= ׃T!^<.Z2^BՒ&oČյođ17߈U:'9tx>*ֻ7odRc<5HhҩڎJU8LKo=JX7%{Ӗ>Q {I>zsŤh8Wa5agx8fspS0#ߐ,Z b\1ϿՏG ?ċVLrNe+:rS'hAbG[B[ .'1\qZb60!{1R=%S^Bx\{U%EY ͡38:oR eer?MK>}}KId=Ms0!fD<(3/2b}a-uLbZUU y@j˯kCo2YM+Z<`oX;.C< ziH6+pe;32XK1=SF^ ڍ~Ƕ1$S5 o6'mىc:qeEl _9/n޼?Ȏ7145'ǥnܺuOk5xhUE=*j1" A|8vTD Yne?yyjS'<mûu_.JvNxp]tڷ`Mb¨&CIQOlZ~ Z 9dh{=n?գp[2 .]NJdZXXM\  Œi'73+;',Z}7Qc'/_yAT#%ȱNW1R8-*HGbW?+08!o uGwE$1KIΘOKVPl;]/~J^׊&@xwLrjT`0պ+Ggȶ?RZKZQka`p*y>7S~JllMCj٬s-uhT51Hڥ2hrPLOQ//LI1>qG*&ꊽ*sxq?,ۜ/F3u;V?nۊc5%*ҧYqdp%Ҩ)2Is"ށ>@ CM.aQi's?Dd3h O,W\F', !tdKq fb(:ܑ)foA;\{Zcr6,$56% N37wOJMP6v< ԃ׿g>s8ӧ~ ~O|\Wj}^bH`(7i 1_-`~מӍp_ ì"zr {<ٽ\QL7'1Bin؟$װͲ$8W>0GX@F&@"ON2FgJUYJ&5EZmc_}  Z#wbZ-/^r%5ɿN)= |ڶZ1(^ɃGi</x .V 1/4q]\k} üλlߪSk2UGLRB١[-_' =:O¸[vٷoZϞ(ӜkC[1oݴ(E7< ]9_'3Dzϯ̫̬aVZz7잨KE<#$Ao}ۺ/ {(ޣ_.d{NFz:s9]5ex;MojNkeAfM}Je.kaic3,<$-s#rT)`V,DP#i9{E>uMj<-ؿ"\ W .0&]boG TܔNv^77iu[%b\-("0 %og_ 23ky?{_'ѳpz[7LR)P>l6" ?BL>`ސ( namR_+n? ?H9$qS$F1ݔq5-G^Eˮu=.zLi)%3QAL?0%aHa) b#cvpq UjSѦ{DA}ܴr]7@׀X6! /+PU*a 3Dli'QP`@thI=Wp½ >8V^AԼs0$\*pQ-Xaܸ<9͒݀S rXYv iɳ)us J{n-@<\1I?Po t6^x 6ublžiJA:f)hgiDixLnLoi[`ȶ Y{Msd/:kiq/ao~clҪw>|Y%Q(1/-5̑ !jDﲙم|6,?n;lOH;W|LO[NJ-0}2+m-5ac>-GxU&ܕBy( |QP-|B` b6+{ x*0{|rr#K&̰iu{_MF˿](܉v ?5zT| 4M6“qI&An6xZ\ ![VZ/VP+&G"6wNs14oa*ULA:cnThCgـ ڰѝE 6E%40sD#,a ㈿`J( > ].0y& hQYrۿ*Ƥ[t5S6l:e&{MZm9]הEWX:]]یZx7"s7I { π'r֤|=cW609!f*:_'* V~#'4a@niנx^,s}y3eV*'5iQC*PVڪ\ 9-Ngf/xPJsxxT [~$~z'# 2+cntyZY>"n~EGZ,JoHp$yGh D E&0Y@bT2Ӛg娰 ]Q"^FB7ɪfxaƈō5 p`OI+рK7ԻҜ./9ppqYyE!^Q>Ïq$bˎp7јZtY ! mM jFkć]9DvO;"Qu DքEq Kٱ0ȝ|r. 4H+ Û"I N0NukP <8xԩ>9hKK2-Ku*y\ >q6{~ur bh1 #H_bj,3 d#j=N;kdGz`Cԁy/)K*]Ӛ\upfJ`V)|5:+" $8p 'nfZ@f/7l&>+@%M]k04nL(M &u/9f{+c3B(O -[@@,NF\jF|po6 B*ReW TcPsq6IL"iФ948 z&VNܦ[:)vY4y_~ū^ׯn}-[ f{?\ YnN* zjHJ\>lPO%Z%;ƽ;޾-PӭHXw[0d0\Zh7!QK=69m!/9!m9\0ZՐh?MГfщ^wY_pMfuI# NLx\lGb F!Wn(*Qjb9jY%T>Od흃]UH_H@ײYS%j]8!?@YznL$X &-%pe" \?hU旿/]$s\jHiʋg9k5b~74'dx=RX/2 $j/co_BQDq0C;X=3rGٵZ*5RLdfw Gi89NȭEt'JOvl cnF>c{"ٰWWe}bۛRعv% oE "\`w1vJ(t 6 MHZ#nfsUsWq`e k&$l<&yS#|@)-ʭ']7qe2 :l`"+O yJazMq.uu2_ɀDon $#^nuQ\ZEXEK˩U<aK=%NN#ön,0\afy0hS)o1^7 JCioT jؙ$^՞Ԉb]̊K{Pgt8 ^1b}TƘ|2_IB gw#{2%{T itu!o)Pخ|4g`Sf8MT%2븨8fYyg6ůg_O1~gߟ p [|ggJB8{J =4fh>g(N хnON}ֳaC7=Y̡S/g$ݼhq([k$Õ(JO)0.Hژ>2Eh;!c|'({HW99,]o_wzB{" ْx6^4*a wФp0 G.5CDy/&ZjɯnD=jcigMR`Srr|+Nuތ= }b411Q$!h䯼i [͸q,\DKhbOҌ~"H+{H4vuv[tQzlI}ЊKT,m)j1X-vifԟ ")JXV_G iT:Fb"\4xܣXDqVEf+Xz{Pc ![?QtХ}=IC@ǡYgZq dc񣊛LHzaD˹xj%_Z4 X~;QO|h]7P I|Fz= ֑O#HN`7:SF-NA9ȊfOD@& gdr-Ѷ4TάF7הXR9Zw̓\١ĬCYV*ވݢh/YOw| smqv$oSr(˶r=ȉ-aJ ̰ՉTNn0O 1;o!~E(>vXZYNU^Gթ0Dȉlc|7eJqk xdDކ^Spg_Ge\?Uz@/7M0z][-M2iї ׳,f/үѼ;$Of,-8,HD=瀍2?u?IJD42r4%¡\]df$Qj5If3[wA"Ke8[`h/5MJ wVA儷v`fr:r. DFa4 -d z'"636a7 zB}UT|/v'Q,"o;o k|vL3G{eS_wP -V3cq_kHg{`+A+}L&J$E2ˌvJN$(u0q@1O-Eݞ SґA<.\3d`|j|9E[,PVH `t$ꇟzz)BuiV @A59AxQ\uqۀir,ώT_?D,LJqq9|g\KX hG! ĵ/V- =#hUM.MU,Tiߢ.ѩI({:Ua.Xep+Fn?4JMQ"ưUڨ.M4FS8W)0=ORNs:Ԯ^o.BuޑN$=*E qIkPNS.zYmHx4ZȋS֎z(v0JłfX:з@7ݵw +֔ŸLz~meB97Ĥb>)Sc62]QrhyD>v/&*A%.!4#GHN]7 4Ε6r;~$OSPk[TK,/`1Cv<۹rZy| @aS2e+mּ榊Iq'w~s!nc*|VP2&1 Dw6cs >x[ r1՝s'hb֥eb7T]` YYIivli59a i4F>[7δ֩9TwVKZiJ(a;8я|ƈwT-( k`N_ۺz=ۺ|Hi~\ܱ)=91Y^Q|#9;. s|ncf*X,SHJTMhO+y4`I*Fߡâ6J yU:WIx"țqSGheMTu&Vxx7 #DmBq䏍5Zrt4l`@(9ú^bpTTW-S+:Zu?4BdJ?G+_}SKeH)OhY/9`jx>&[hM5P`[I_Ûvnxڶs'E 1PtWD"5JUwM-j)K0bj(q*3jAI"fxFvGEFc6V>%du"LTQ3,te}aY#"1ùaeӲ=4~Atkj瞳X̗|R7DPk\K9{xr1XW `a8D zFJ&f\ws?6 *Ӏ>sUi{+h3 K7M>u|;v f\r,Ny2Bbm9b(ma%'hqҤYI%#mtvjnHKeI](Ω]Jq ~,UEEKFvzKrL5`VB,7B6E6 *l&\1Kr<Ēx0سFtdG&󞉙Gd^G'A'D^tCMd+ׯ\F_!;dI YۈOD(OC*zà4]F{xٱW"du8H)<.al4~9UV26 Z\Hv &1 ;ӣM3zc]XTFIrkCKY5lҤa ZESՏF  Y)lR=]pj\'0R]%ܳ feksN9[7깗"zj<] !Fzs,BT /Y V2nw؛yxL8z[֟7D}KǮv9kO ?P9{Xoەaa8gugoQ7u1/];@bUxv^, 7 )V99u=poƚk1}jصY#c4pFiUg$Sި.= 7r~-rZ`n\ N8H[4aVf.@FyrOti;ȆŴ@jzx 2,vaF+7 :>ڿM^ɿ sM!ӹ.'Y/u›:ɗ*b (iکʯ+y(Kt(z_A <ڇԑfcrZyzVf~PXƵQ<^+XC0v^W_pRp@{4 }R{k5}ԓ^u/w9GL>㴀у%)n⡏&}c5.K4x'K].ք=F \z_é=鸚唒hqxkwa{.+p{[7#Ќb1-z64*M*2.NR5[ a" ߀$㢦ք-NxpsfjIr9 LF׾LHT|q>];6_%ERƥl1W=AiNdRyT~栛r\߳A3: :]pquZ%]/H/n_ [/nkwDBIϑK\҅>( ,5e a_‚.۴u_te?HR*lXecbw]e&͕gKOOmg1Q<@*7˽ZSy0b;^slSb sp"F!41xrq$C?~ګP`\6ͨ$VK_^asH3T1wc t b HJЀv@^ET$ s &f?_0uPt˵[sNķK۰Px#^ 㳸{^8ȽSd<^,=oJ^`U%)㻴ٺCck\#s B<ޗ4 K.$3 lǸyXT(/~fp,d^kIVN1>\6e,f] =1%mK_PɸjM7mԥ =s`Nui:$JP{tk U2 msAYw^X4D/s{f]`מt(GjMV XTEV ; 7|?`\cռ6Ŵ_+"}N}_lD0=(5fKDYa[곌SIvH11UZۗ=62Z>[FAUY鹿Tocx-x7]ݶcQn?bO09?ڣNŖW?,F pL{mv;uЩ  bTفk2$(q㊏Z="(pTs($yu Sl[WA{T̾V2MI4,(;;rw>i3UsFj@/[`↱}ߪB0 VoqUw~!rWnG#&AmH[y )Ġ ^m @`ؖbUUvW2yFc#<3?`9'* kyܶT6sHu+ʰR5 K5L%q(%*Wpv œLB^+70%KrJpkI~VwHS BNLib6՜W,r76j+6 \ BDNn 9Ѧv/<v3;,5DMBU.AN$˺pTY-Lח,' 4L@Oe'8WiaeZS"[s$B\}i%A}[,6 c.Wӫ2Cxk팟y98o~lfPQ@c4$˛%gbDДX<KV3MƊJ eGX(J3 r.4SQ"RT &(6~Oӽi{8 ^Z<$+ =^z HMkW8<IpKA4ܗ\(*c XtzYAp'jisZBԹ)<*Z\~fۂ.zqXqUnaU) ›RKF8hG\ĭT~AGqRp`[R?7*WS`ϑmy ZT:aLW3C .x~n^lS(MG]"us"'2D⨶Q|nZlV\5r5*Y]Ft$xu tn}EI\xld덠jjpkC#JO Ig3U]+-YZO7^ٻEIZj`f襔J;Z1U7]͞={/ɮܵqg0 sUzӝϟ kll۫*Z~$UhNjf1fEUb7eۻ~{݊lVb;\,_i*HՔLU~ӶNV59Cc@;<aXx)2XE=ڜ2kÈl*AtPc {\?> W0GzJreHC8OoU5MoelpY^O2 ׏hdDaz9~ڞ^.Usmy͍*5Nɑ]C_4g3BioAu 6KE5dUwZXRpZ{O/aݕ8|lլGe1g_--vFd2ϖKg|NќFouJýzYs7ݜxTOlܣ_Y:/֤Ԭ ]`pZ'Ge{2 D+d,cnbZ|"QZ/syK,'++#)ʧO"Kܷ-&}ԙ\mS?+]p 88k7z2k%.>1]TCka>f[[$rYb9in /TޡL?:\SvԱs[޻~G, 7զQq99zWB'`1C95V؅_n9VKvkAo*#{nmR¯jRGu.Wr4E ?2tP7~tCy0SL6jBd$NJaI~9) `*TJ_C;1ye15So1W<'VvEE(m!8bf'@*ITl9 ]&LLZ\e&"B50oDt=YͺلwzVc鴩O RkH,q1%la]h8=-^{2ԑݷ ˼SۭO) ̤.8n=WK-3%/ Wa Z{jKl#u$#|R׫$=GA_Qbz^Ejܢoڛ믽l]R)䬌|pMe!E_.Q(Dm v'L%7?A޹A+ ɟ5zfm+cg+G~w{O`=~20'M XZ6Gўv OCl9*l vlxU׀ w)`>P^r#lzh`i[JhyE] uV@AP"v"1nnCX%r0٩|(δB ܮ|ǓgQyp_Y:N'[O\<7j>d:%jg\6e!L1T0q;&P. CJڧ#fۦNYWiGjZ/,nw! Gn3|M']{'fT;N0ٕ  x$'>=ց›DݟIzNt}@КfS쳜Bɋ [?3&IUN^c-zL0fVa yO\۟!O0'h=˛%6Ni.c[xV,uLC3s [L;A ׂkU5-T>Sd*ZV!(:z"x32[ه~xup,.+dž]Rrla>ۡfZ?R֧S y4_Ig.kLqon=uw=!ɬjEI!s'qm]tɶ92kW{50}}*6_w% P-O>Av73V}뢥85@3);$ %ZőTi!ފYL'-.E;hL&/b 4q,mr ɍ<3{g?|M,A-N[_Nl4Dq%oP7Ȅ}{-ÌK@օZuU,vĎtpN'A=s&6GoTTSDdU#Ҋ B? gF*Q+-|Yl6.5a vgj=,`gg}.vHQ̩{aN#JG6g:U4x%HYnjb+@JQ4gyZ|wB_wfI۴ P}e)TalwzQ?7ĝs>U#M']=N'6֛{[;5qaibY>$eU=rO7h#jQ8x=TU)7 bm0 ]AHBѽg4:EI+n6g(2,PKq%[_k}K^RU@eKXߠ^~9>|q|6-lڕϟeg t[0 تgӍ`U-`'o>xmzm1rup^06Dh ?H ^;AxLI .Ml>-dix_8Dt߯BL|4%3,%m;c@O8V`#͸[q8)oK`1w2+6=='/qkې|9aot j]r b'=K&31 l((,4=u1_ ytG6]HFN̍ U_6^ d:q-x0Vאq 1<:QZ>¸ >E. >$ ]l" [YG3~AKXG)ڟ1L<DO@2Pn)1j1b`Fl2H 04n4!6LP𙂗4(!)d(ɻ&P0> $+\˼e})fN&b (qъif%Aseu{KTGq'uŊt}Շ `_=hOU pv~j8: kp,O&n؎QZXF=AՉD]zNRW˵fi|>=AcRvӃJz@Hc&M8[6ȣFrM 5lhz iճA(s/;__TUQfȆ}uHRأ%Щ5sN}XQ C>(  }й^Q7+}oJn\wuK\!N Y"TԵhj6/Q\nցKT4ɘ`mUHhX!{^Н]iaKg退8}"N8aB=>JpGh"{cڷdx#2Iآq7 0:B/+p{xW}5n3'iz6/&i;'+ Q2W6nCA޻|Ou_ctYA^cwC2З 26t|-񗍰SB18miT2Wn.@l4J|?roόROw*gpݴ@tiaGNS&;\ޟ.l]%wN k]{WMV!V}R|c7ːʵ9M %omqaǤJQ6 Yw]@zuyCŇ2RbYRq?&c̄MIzsuњJ(OOA8GEoLn21HO̳Eq(t՞;en`\ hh-:^" IB}@#n]Pي DĬdy{X?E ũN%Qv[xdAiI8khv)/7Jsq8_ 4GQ,bLŮIqWr*%9@Y9\ղ̈́ɝgE\C . !I4Y TE[%}ƉE{ɏ_Ͳ nӲLm)MMrG;:[gbaHY צp"kG;WM! U7"׎NN#͹h?aW 4)h ܑw9F{R`pqUYa2ԕn*@㙵l;FؗtEsX8ck^6]D}|(XOYD=$x:' T'!on *q&Mz:%K Dm}H .+[S/xxt=X[>e5_2|(I #!"cfsA`xU "}}A23r7vr;\:"`7\U7E0YDeuNqbrHNl:!ߑ Bmjoo^XfQjFNcv[gun4wN;=̦oh7l 'T#یbȾBB ts`!Eʌ Z ;Zնw`ncT,*UTOdu ˆqIC*65d;&^lh& 9oW+9+2jh))='Cz։t eD[rX&/ܭ[|s$S49{4N9j3*JHy"ou10_OLFDylOգ- ).o@Sȩ-s+O,׷̿DyP[QB )|ӾZVpm4QϢf쒇пLomnU D.wdi lUJkOM+n:LK7HjA?tJV ݇/:4§~uUv`݉3km&5RmcwL'1ze.fO?YĀN M6 vWATC: Gb W+cm+Q֔jdlR&Vy vtѭegnnXk3h \ڢG 2k4*83 / *Z(<:u9 $JwSiwb(ﲜ-'JVڔ`'!@Y+zJ}oN ojm@ [D#9#B]`u^V4 *V> = *˵ƺX'am截_[Krk3 kc7Gb 0q}Y]} LBE=%D9x̬xZ(h3brOe'M-F`wX̿}iAn޸jȷ٭[psb˓c<"BY@μ쥰;)F9\ 4Wv% {WwsT^P 4?zPli 17+ 䠍-M`D68װ ߶v=;l lݜ;g7Wt9ՋߠlHs*YOěJEf 81{1V|'R]̖.Md77Z7S#M55p 2S=QEA;;9 iԙ'yj}fx `lXP*%XQIw*BdmRqmM0(q 8C8(Ԭ},emV´ó~Eh0Ms^w9 :G.Ӣ3tʮ֦S h߫_9-ގB15:9ݦz2k[|} l깮.|';)+RZ?d|kK|;l #ف;4=[a,o%1k߸U4\*WIl;^T|V#A5AEUQuC 3$̝ĨԒ”t&xJu-4LŌ <nJF%9RgV`9'6}Z\3Y`Q,s10l5 3\Py)YRs  Cr`ɱ >YRd :OQ t,}S{NmAt)kn62LOC3,9ɍ"[Pe.X3塩կ˩cZl'^!U6 jAx*^Ѝucr҃9 +{r=5CdRn QCdw ):(^m=*>|) WUiGǸ**pGE%ҔR]x6RzT:L6В,Ziw5 ҈oo!fm7{^MC 2x$^߹;{oAeNb? C~c1}m^譇3ü߱Q*1̑s()D. bɶ 2?G_ wk/"p;dKL<("Y6GqƟH%tL9uus-;C? 1Rn/8 P^s `?f;̌tβf̶q5l۶̢,MDLY(pfʪ&A'ҌCoh8H_DO}ܔz*hY.G{N4z=ʓҏzdrkH7u|NjfLMS,U9Mp͎;t(K/8os<՜ur fv ̆ԄyޝuNFvH, rEw(< kD`~ HP,C`Ig̹V'el:VviQ],VFD*)p9 W uZDzQ7#d 劶KKMVZ#3arPCWX%s;Sx08,X!֎w"ςGD3 XЫ"{;0l9>7Dg{q P->$ϗ@ܔv`;:wTC%KRwqcm0pM`E4dkɏN^ɘ"no0:޻l/ "D!J};e+w)zr"O %Qs@E8tHiR=cMIZ LRڅG pCL_%**'E BblW TZc٪evB\6$ew}NR eu5hA!=))"o{JCk\u1ZNn$5P~ӥA\}lq#ZOs[sJM54g:\f _Z',ccxV MbGL@]Ҿ@C슴ռdYNG\$O#CF,Q9{S}`wq>T S<"|ӵ@ԿAS:HuIsD!_}So>`VuKcz]v~։"{-Nn]n "蘚yrV ș} T:Z@upF!M E<`S|4hwyZqws¨8W<ϊ#}<56`ߡʄ/ΝiX,~&|zn"A:h4yKͅ!͝iV:@{[ &W]r]>zKllFA{ 8*FX, <&uWer*H_+xݩ-fIح[`yH Q/ ]ː톰^y +۠ѨX5!cIl]4·0._qE: X> !{/qرBI}y# X+Ljz NKC|V W T,o; SĽ0DYGHVkp¸Y2Oɗ(wkz=&2%xWzSA2ѧmG=.+g-]"}2~8 =3tQ!yMXY.a[#:hXE4U~~ȜLNDTڂXqMV[nVpܤ:_ V2MJ_zO"T *pj~qh#B>5pSU,fAI =$nP{ٽ{_޾}V?D)n) prp =R;QTDJjH|R#b:q0 R2k-?rA %Ԇ_@!9[7Aa5Z<&8\ -1zy` @S@W'?y2pP`peΉPX5fFƹ$GYK^ Li_z@#*KBFIJ5 c2@",*C̱I׈7 A#O|['һ!5v͛LGV+5Af_g+,1K\fT&CJ"q@] sQzJzCZ{l`I$LqM]Z\Ȣ?aS`os J p18 ˻.QX^pNߥ 8Rt8YԎ׏t0Jvd'{r:2zNQl|C(5WXvl]iR+taGQq9L`B^;'#Q/#`qJD@\()x*/5⾎M1+SsҲM%,E,w:h`z~,2qw ek!$樍JQ!@d]GSsMn-ِ(9oaB/LLAlZS497R@ SNTpgVrY/:F-eK!{B|b. >c"U*$}@` _/M+x&QkZؠ}L`37A>sR74vt $ Qw[r{ aSW V/̈́7cݳwtr [kl{I 5y`Զ 泺#q#˦:y>QuЄ$jq*?9K{_@b,׍ ]5l;>u~&:;QwK~~.؀No 6abO[AW@]٨%*"3) y:7QɘֶïDIL:Q'Zduuam ;F+,` P:[Op7c;hWO"429H Wll}5Ntf@aa M֦=&V1(XD-0*K\< TX&Z[¨v#qnU'&BXi|sa( ~:Dv0[.̸ƪ5\Lva$'CoQ߼Pw$ĝ);\R.ֆ=Hϑ5e?ie`$ufaqybۏKXokbdYDہr7l7HM=8Go}e75θ[Ӹ׊@_(wYκrdl^F5r#?rZa_z3= 8(iަa<52JY֫C;7[ hU:;ѡyu@-*4~O8uaef7-=3[Z%Zpǚ7$AWݛOM2E=n1zr0Ogyf_غee@l}qXtXMr2j jS^zd[/凈S BWԎn0.3<իUpêok1͖ Z咴prRPlUMYC6sv71; [M5 uWnVʬȕ 2h݅ 7P>!m7@-7|w@7T99\*YW!Z˟g-"bWk}=YG"+pM(/|GOM >pMFjϘ3농ĕ?l7vt9ɉ?h w1a?o)4c8R!c.}Цο=Mv, h:!tEYԏLPK mVŻA=ϣR8P4^G, <`Nmb0[DxRbu. Nٍ!1g6`UhN7S7vv~UO"1q"5yaZhdAB@NGɲ)1ise ZW,82"濭;Q(جz!* Vmo#s^"iq ȮJ̑O-[Ӵ.)4<ㄫZzMRXe] ƊA}2$$Y }yd(\6M%J/\W2WV]K?5qXG))VhZZԦ׌ƻ_*JtdBCB?ٕϠ)5ˢ!y?ίc7Qu^sajR։!^;sVxuaH#IhfMQȈRQOᡠ3ƭp pb[)|N&6T#z΍7/ DJƤ*h评;-do1Bj䜍n%TlLn-E;& ޫBc1ȁ˼M4 $V`Muv>G8|j0 ̎Nߕ }L POQt,:z:Y/M|sGQ攭Hzb!FNJ T.@) ,s4Gy^`_Pѯ.TΠ8.,:!A81/6ӳIK(YiDKU QHU[qԗ8̄72p3JxlgD>]Yrff9G)]AҽulIj# O7{2G 偷ӏ\1X o[$pw5dyCt32=9A:*wAC/?b' G [`¼. uqr tX/Zi&Fz[rlÕ`FVw>[dj ~jc4N@)n~"DS//*Nc+ iZMW+Y h>3Z4Y /ҹuc$A<!$_V@#xe_G*-uv1h̢hlcYvI! oٮ焄P\uF c|i0D~<$wȭe[1SdLOr.I[f[=9}(E+X8^{/f~ osYNdH^adcD3!^٩Zhyj|Cb_jm:"ggwL#`7iQ8[L- EeJLM{as4rPq-zK7g̮Zul(3>hl]'CŽrEhY2C. 3{+cs<(/b9Ej:6yn mlb[A cl{枺u efμp!wi0*,D F9o;rԔHw!% K+¼c"`@xW6u!s=78!"O4{)y+D8zA$^aׇv>I dUCyȽ /T Jv|)Rz˙3x/o3yH~)El]e=&&gp.]]/t[|9^TqhL ~s}k.ǢrU~¸tk/+iwoo{Pv{s ?%wYb!J->^󶲑9IJ<=6Zg p 2UNúm,SS]f4X^yňԦV\2h]ˆv%Rb\pp#]l NU_Rg/8wżiyÞrs5h;MLn tlEnsE },fU}Ahv-)y6] vf IY;cYK#R{Y%UP8ߞ$L~ Ṑ7q9K87}Db, ļx. :ͩ+ t/dyWp][2:928 ./uE4yW]u+y^s -siO;CI1ۮh>fDŽK@ߴ>>0`&zI𗱼$$YٺP|~dpLڥ%,j.y D@GVj,0|*qUS ؤ˰:K8# ^+QWh~3b 1W1[qAU3ZK"҆z5'VڅIhjH 8}ż\N b6~.B9nZ#&ǵ ¸d֚K{}Kp{Q72Т͊ʮ RI8>{hWnIhթO/L˷{_*t[ۋ_KROYo߹QUe!Psi3Kî/i]6YM)ܢq6v$dyO \\DUڰRU<-CI^"q+c*O^|"yTߣDZ2M7 ='DW*̈̉mq1/*3LF'6 JNp1(wi?9#|J3V~?Y0X9w/HNW-C˫a7)Yab%-(}JyGƨyO %ʃސ2#WzVT Q-{#Affq1@y{`Q_?LN.}3E7"zM\SP>R&NG;CpCEN'M [U3˚ -?JTBN9mmc0ko͙Dm*#~7ڋZE13WVJ![T5hx\>%Ւ}nG& h7="M]=7W~JȃnFoq&w)e5Ck-Fb8&bY'֝Wife;uM#tQPhO $ԓۈpZ?j_vy0ndHjﮖ B3|G$N ɝ ҂'{LLTY0ðs4U?(Z|XDh<[圈wkwZ8XW]zf }"\17Íaa9C7J9¢[T{Tu~ޖ1Z`z:%p$Rh; d\GBȽ櫩`m[4? 0 ұuDs(S0(R@ZǓ@nG3|=&>d@YHuV8)}FΠ ԩyh)%X~OrggݞT%i8pa?OaZ @|2}U,.[^bь51g:]P<*1w-l'g8$bz1̄7AT*O eP7cx_HvC&>(QE_J~v qB",sZ7~8JhTe@7&%$l+!&iK.unQEǕ]!WqK==/`Ÿ{Xt=Õ%)3|(;IcaJ+ɡiŨE0>KGXĹY3G Ee-uUFP0!yGe-%W!vс6G[ qLpX`fx8 ءXZ\rSŠ ͳE^e]s*U~֑X']3\rvRt Tl!(;jlUdUK6Ųʝ C|[ĞRd7{Tt5Ĉv\{h;w]&T0"^/ u|̀M!ޒ6ܮ>RD%~ݗU 2lws/իSZ{MIH94]-[DVfs(#ńA aq);~'E0J`>ЋvVڳ 5}589+q̻9&[>%S h)]xWB9xƮV5BB Y;R؊j=Lj *k4K(A⩩R4 Q(eSG4[ک~”G,E($4wE@xķ>g`z +0:}.w3lE5q w@7 Pa8tl~*XeET̲EfE (mU=G. TyU,Ou HVЩɒp"xVipuLyգ ÅZo#!є$=Z!К%,"2ةG -.qӚ,t=|u~M06-VVFWYϙ$`uĵu) }Bb"S2&(od@C`vU2hcD<(]!EW7GIp eztUX~Ƕ@Cr;mޜ6{nLES\3 a q5Nu|ٳgve;;ٕ0?'vWJw|zz?Ny7WUԣ?a6y-f`b{vٽ{yK6+rdwׅQH+ ØjyՁh1#+ⷌ8Z6/ֺ9bdOIʉwj9b⺙u*5rD),RQnR $ ,`7neW,{DRsL[ ڠ%})rV%Eձk4EA~G-~$59n]Cny < ƁR !?d 5̖XQ(35(0e(u&e[ʮW]Pi{H+< 4CtiSEsbJF*u:eE{*f ӬX. Uiw&Ŀ~E*U6zuӱׄvd2'jP1HڥhzkKe<"^:(,(r?P.P|vdCEG@FXAP(UqI:))+w}~'S?u ңSEvn9v"M8yo)D&[ <1ynO%|i0zVM !? `z#k-W<&eo[ M\Uy61v8𲨎]2pCW43g_t%8ՅKo} / ~XZ81QGyX3l==ZwEW Pe]U&5+12}z[RMo (]O᳁Cb&T$3q?6Nb8R#ZcSc =[4)e8$SN(Bo "BfRb{Em6֪>,O>[55¢FNXMS[ BEX>~!Eyl/\] PqSUU,u\t#AeN1 Wz͍ f~8ݐW52zPAfՄ&dD!hw^y,#%OU={A MG8Zwk!-ɑdQh8l0hd|vGiKwF~'$_tf9!Pϻ2Gm3ў  񆀐3f;UrgԲf(3+1K @](G$dMcXHY_2 { &Ӗ\@"5-"b(.W\wܪZd)?9}G=u~laܫuv!j`I3jcn58*"\{YgaA4I#ܒp1vt[JP눾Mȏ㸥))Aϸv֡#ߡxi>3=997=X:͎Nʛ`QQ ! r٬b{y~";!K \cK)DMIpbztbB5h/:].ޮ$N"soڛ믽m4.j5gB-(*_aM FL~U `sYD[<1dOpm˜{2Glњ$On ۻSMm{N̋])ȸsn9u1G/X`M;NM+/[m*QֲTq|E0Xp= Lu8*Rc"R2ܮ!=Z7TOe'waхhnKSX4G輜wA@/ɣjh&`9,ެTS)(Xѝa@a3Y5_$2"`ϋou̪]>/ ܗ!QΞx!4.c攋lR"pڻA4NMpФb~cfcz2bf#7V;&[4Go,n}codݺ9;|oֶ&y*?zʔodD>z޽-{u8K.5vBljW mjQ ToQ$r#ۯ4?9&;1=Z0Nahl8?`@AJ+ՁǸx1G^=|51=`>sk,d5\O!A ؿS,z?\y0ᵁ^1$6DQTwp>h~?6n]RӫJL۹Z@E5)2{-QxH p^8:5/w9F9ѵQ*t xDoQr4A1Qʹ?lE%GC[V8 ATq7ˣp Ev@Tb\[x*AaaC icʶMVFf*R᛭*yX ډkt2/%+9 t;w7s#r}V?GN%iṭ$irѹB wUG0"-lP2}SO G +{-a1b zD |hfshi[XAH=A~r/yZc(eu3Iܺt0W]>?zCi%#0R30=`'}xWf XJ^2W)5پ8F벨_HST{N(.(ɲIaAB٪ש5KT͖̻QT2}x^CnfXQa+G&@Ê"8tbnm*Dg %"C@A@S&ۻ$Nj^֠KŔ|ϭ zۆv UEyNBqS,V(Vlsɴ/8eT3c5" R\?8:dO\]JLfiñɤs > ]q^pA\ |X)x8cTYg[-K BbpY`F/ 7Sx~ vN ~g'^B6O-Gb$ *  #caƏYUR~u+eb* |`ǹ `ANNKh6UPVH2YjPλ8IZ~ks$_&|C^;,.srV|7arx[VlxKN`iL*NZ=lu9~ cKǍFɇ|QN) Ƞ %Q.̴H}G9[tm A^6A|esy(N|t>{ήc6 [ooMoYW`(@.u#ipZ qk]ͿVmH2 ƈ䂻.]$-Ipس$ciPΊtIպhlfBb}SX><]}Z׌yn ձڡ[=-M9}>][#uGFQARE/%^0JxAϙR%?veSn7?TXc1n!La֌I  ;C.+X4u.ngD0lXq:%LJa'LmDtFj$\X>gFlp2"{{Tɬhf=<"כamn)IvJ+:Lr-d]AW'[UMDU%z>\ߔuU3l:l5 Y 9Bm@++c9(/A#$ӜGlxEBvY_LdW}LE( XJALIakxbfX+ Kb=~[źFZnew( ?$whU;o5pgW; GA408U_F5´FBGd+-42$ɫi 箅ϓB WsD eO 4h^OkX{.\F[7I0hHu!k3`lL?, ݜ_wD҆>2AX2c"DyjQQ1أҾ5{$% 'l;**z\b)M˴ gC$:y-(0h9QsJUOky@#7A{rbÔ 8HD`uj5]+Ο @cD\^rN9Đ֥[ڇ@K7;u$1{9 pvue0u!&R&pt# \8 =SР# eG@͘AoKpW aK-q2n>Cr2Y L{+%tN._?O(q2:6L 'L>Ԇ3`_h4(H'J1d)ULI:wO;G]$n۴,O`+!O#(kE # q>.Y OXL~.RiR #e⾃."PbґuzUiKLPn8 dFYP؏|x <넱rfc $4oiBTEVkI렪é̽ڎsSeiᾢ\)H(?#RY,%a['.聣DzS.B>;f&g 6֛W:y>.CܒS.c2swa2Enoc]r6n$Ny[[ d:3DUG18;cJSSKP:I YQff~LҕQEiʄQ#~Hz~2Eعϥ [Tfҝ@tzlPڹ0qUYW̄ъCvTbl*װK %ʨf%R*O7 V 宆-V7p U5Tm= 3 һQW_؏Lf,n: OUe'gEcb5rτp2+NCճ"#3݃cr凇"#@}l=bb GEn=d̀AZotFǦ>~@"S.ؘv"#W202XE$43?۔<º<\#Ss"eˡw Mv\kxaUOcnŃu@imr6rS'M>j72v-ßzeĎJyE%+'Dd:^L#s'c׭"v# ~ GFٕtWat\8ta5j}>w0kgH]m"R2l?1No귺oys5,~aoo-=)<Bs16{ ?WN94S;GfYÖE=|\iwΛ{= ! plXG_}M!޼5͛>є=z.h Q \u $ 91d|l[~8' x#, gpؤp+yr=l&sTG}xPc^e'9N=.݁Pkj"; ږ6|ZOv {_TOqt CyC 0GTYdfa +]?go`Qv_9'Zڒ `ѳ|KY 7ty4E%;ˆ쓀HaCᬱ, WK]b JˌաWLQAk9=A!xWS2sCYf5e\:xwn2z1pf @Մq/4ʫ^S@*:[qAA27CCb$vZ=@|ac5AFoY.\"WT[2%7RmTN~L:D  x^f; ߅ nڴ z!mpks#/{|>SSժLzX?Fqs ;t4u.+@ Px!,)+ ts:̍y&p= +vS>[A8DEk) Xd<;j%}Zxg_V"!ɗI>E n z\zCԉM) SZBr|܄[z%^VT,0a=7TG,  ^_ӛ >iE3";)t/Me_ݙ_f{K5.VY^pσm8^&%)@vmhd fr9ŲPdTj)&@Su'^i6cR|r7Z3`ĤC"(`dL@Kv2 #̸ IϮI%ayXyT' hYecfBoG.ͺ q4 n}""aYu10`m?>%<m9~Y氐+w P$>Ta]J" `u͝¢L@.+ٺI܀1^AB/l8Ŀ'T Cofܝ鰋sUCI@J?аAyQϞmQ t]A(ςF$gL:=_wF '#v]bKҀ7p$yG޹26IfdsclOi^U *|x⚢!`SW-+0G<{akNqM: l!sQmZ"?Oh3bu3Fd[Ծ ON۵TFM'@h)Pl#52SBFCN?Ǩ]XdE|4u$Ţ פOewqG[Y864RlǕ3YK>.p6 U2F`ťZ,aa\C~_ЪH9n`YԨ,2B!{q9gG9cqX0 g>|l@y>Ԕɟ5*OG/j=˞t6ጫ 8%=l:=%ޤ>cV19B{ۂ8cy,`-fxGЫ -]Ӝ|`'Lfj=0Aʊ@C<};)aH$Q9%9JGtŖCR=^V;#<ͭE$n9f);%BT0X"smCJca!2lT#}P9r.S* [̜]s |[OX)Ro _ꅮv ^ xMp=E}ƊnxG!"o| OT/2D |>>̷{4BO\1Κq SZCKLeL3i+ \*%K[yp5'o;ssO lxئo@(L1bc<h1\nJ4a#(%rpҧsGP4dr<>kf"k3(].6'"`z|E۷w-usƩ ~oU>|^)E#U5T.RB <+B Iq7U\ߒQ{so}n.޻ŅW6˛{o/恬ƿe;]Ap59lOs#)FC$G`[ #$6\`)hPϷ `8y.e~ _l+>JXhOe=K^b.ܖs-Ȏtn<#߸=o`9۶\+awL—LgE/gSu@\)ygѡ0EM.\9qclC5poRF |̖o/?\bd>=mҫZu*gx8Ub~ZgSҴvWBc#,Ɂav&1IU[] ú[^hdߺs`K'X/{Z֫vmMzy5uʑ1~K\}j)L6,pdԌJ yՕ%C/K3 <,\+@DY/쎹lWhjN؛fżFڇgH_Q}T8Bt~xSL_ljp:^u^$}JPsl̎c%׶L+N)0I|ﳳnQOo)fyo퍭L9m4w׽*kY]۫Oyqr\/h]>59P^D;;RRd{×FO&H z`Y>R0x5$OVPGfaiqtvTaeI|'q{Fi̪I9byMvZy$W^W94e+ˮ0{-`4ٕ/>#9^ ;Jߢ9U״Tզ#3^; H$9h8ȑgT[vq`g5L/YwhV"8ͣY⋣}I0  Qaٲa03 !Kg&}| 0X8#Lly꓋e>4itX4mg|?Zb+Z!5wb(/{;eh6Յ?=W:K"U[cV\ɤ8ю{!#b+a^IRP-b? 8G[5+Dl'^/]U3!۫}K*j2$Zv[0g/#`;W7Qg>3l'_uFHz Eٕ:%Jkq?¿mT sʵ3sԷv!| ◨fE%\I-[o־Х/0h3.&kί-r{^_kO!_Ȳaah}>5ʟ7" ٙV,f6LJѲm5;Ye˒Wn ٛeH '\ì@\~dO\-%`Kp';]*4VsC <T`U,iVՐ|f{އ8(t0XBH 4/;MWcBzPM?"Uc'Y 绔jVult*բdk&c0eMyԣMLaqKQNxS˺ 3k:/yH๡ 9yKrnqӤjNA-\S, ۲},9ۍGy w fMZVY";^(ޜ~LYl}/?$'Ĥ97>y>hjHcH1ATN].]q>YR$Ao]8*<Ɉ@&KGل6o]Zht%]8}qm<C=ꏊIx,c6hyjfve$}DqNoY[δ}P}C mCS _kOWCfU2pf#v*B؄MoڠqV|)Gpl t&LN@O-E-jˠuxոAQS!ՑL?E:İ'ڔ=brIvD=_&ՠ#r0M+)ŵ>Ty Ć {CX~W(uTAQ<(UՆJi4TS,]=U$ m t+U sR_nQݧ&RWȃ5E@7Tn; Bx9?*Id0w¦e{0<L * [r/AHPt5Fܤ` 㽣ww'֮D<1 /0Xq!++n=HG/5=}O)mɥ@xFt)*$IA9x`&;'49mH6Y\X%:oY9FǑ,ӓYl{I~]zYn<%.1(0Ri`ތ3F6Mh-+ܪdE<8]Uwv+,C*A'htKh({BT½2hF<='K:#.EN8B*M~\Ľahη](S`SjcB媌kJ~wϊRMnAumx^zˈ'lB]ӋUX0[- [2|TBc N7ٌm^17VW2 2;YM1-TZ3x(nWF2HA9vªk`r=գw9q/RJN B  4ЏX?rfwO d m-%.'BYvPÛ *VTcݮHsmeWiTbucRm!Qc^(m2̪VqdKK28B~ڬQ$3a]s2ģ- xٶ:Oc`~*VhA2G橦e#^ğ̳Eq(CuJ޲ G.4+RuOy A&"x6GwX &aϯKhކGZ_[ҙejtBU|{ۮy,z; "k&.idmrxZNhٞnbpZ4q[Ů'oCnȹmK}1OSfgW:nkgWץ+l(6*]jxzyFOBU;M'+gC6Dv◄'(guC]V@YsL 090vqO^$[ƪqn9VZ TǭDͨEi5wWsC,%춥2)Lf)ΞF+TynFH8,h,:!=ĂAcb_]/ X7LȞANp8\nFJ B 5`شZH֓^D@v6Dv v Eu^O噰hp{*ϺA{,!h)0]%WiT8>%䣝 $ G,4A c~ԪʖfqƺS~JEw w8;r`(EK_,#݇H=9٣"NZsnUt,/{ɧO}ŠL.&MPs'aY$& x|j 54e)\CТGRŚlf\s[L~0\ Ϥ|uF'9p +Xx#1V*~xbk4$\}NjZa'_\U19!H"E l'F:JF PY;ϋ^;4]/֗9> o߹;{oneNb?=p M pE{]ꟾ?}g?W_ܿbY&J)~'W?b7W?bR뿀Oc[h~/6PGsCzSMV7%J5:+ܾdwlj.HV3"j,.rVtgĴA3̔:uW_?s}_xS0#+ ޗˉⴿ˯, ~bpQ<<Zw?^ |Ƚ~ݩr^I}2M'q o$oRgڥ<{_nSί~`Vۮ>ډh&*e >9li4O5笄{ˉM¯',WD33)jrWL,"W?4`4}p}x_My`wy=Ӫ0LĆ|3W~2P,bs|3çwrQ]e:9x?K!bR勋wNmAһ{o?\< ho$K_F7Ʃ]Fn.Vl֎;VI!BgM4VIoߥ_gm vo/$}3ig. X!ci~N/tÀ $:YҵM-=Ǝ]W/!wsl8,2!8P9O^4x,?Fvvva[KB/¦ńIעWe]YH_Ip.Xrh'w*M7L1]Rb"tj3`Kq{Vҿ1vPŞjWe9 .s(π@@H`oAɫNke3RkSwa,Ugx\w@zaf{X[Yݯ O5̈́mmz0Qwe)E![|шd8*PD6?VEUN!?0JSc WBg@l_MãΪNdUUI [ G8Lۚ7r[nqxA!߷ؘuֽX`k-,342v@ 2^>9+{>r$ߎmreb^. M49W}!㜀ZQ -q Og*.KAw9q[Ueɷ*\]z\|jC Rz졑z?Zj\- {9 mXq.c]نRIe‹si3KsNWua !ö$<~,3SlH5Q׉#F_4}9w3tFɟPXgvд_r_П%yjs̝#T`ܭ+{1CNQt?F1=B99qT?SڏA"W0D\ƨ~E 1A^'R'@&;6MwgTӯhy)=mȱS O2'4POTe' L՜&†[]ր3\rEq&.~b}iproW4㪴-Ͷ%0K\ 6MpzԨ/iBl1\o}(%SaGC&miêbf!6i JbkrHZ>_ f۶{s?]P7!U՟0X ^bKO AX:R@{i%q_>~|xk RhtoZ"9a8t뿺o\/Y8>`9L#n$P+@-_(#@i 2u9/ ֘ωSݛܽ{wnܻ+(ր4grAI,<Ǣ,E)k%K&9N%JiAYN$+zQNM`uAEˑ}$;Kz~ ~7'Fp4x%A?a_,U#72 1dx H?q& ;G_5!Ds%'gZ5'Nᯄn:2 -W CW2&7B%/^,ؘ}24h u;E ~g1$ +-T[ӯG߉!怗o_MDKy.f` GX3Nb!LŽxGRH/OL],?v͹?MW\y`fl{QuD (P>&x1͟cB_7D~If?_ _ۻC.IÞ¤{[+f˳[m/}(^='ͼt(WW)EMf=HVkpL K';m<K[##_N1p:"!𭢐&׋HhY2bf믅NˤxK{6!/`5q*(~.cٳgJHUiNOOOw?'7$ӻ1zTeU s>+YF,+vYvٽ{yܗl2e~ZR"T%J Jd%vc [}5l-D2aǟ)uORWՅL{P%G?_ā V0$74 ߦJGc!gJ,-@32dlF1* rlx$)'+A_f? "̻efZcF U|Lb6PB:F _Z+idRiѝز:IJټ 5/ek?nC=/UI-FI$A)otcI:0 ͋Œ=QO⢾-mtޠJvg'uEi+bH匰` ["<1 E@9ߌJZ7$D(R0gIUZ uBdqr  3'msR N/93)hR2W `SI /^X^Dak!ݴF#Ǻnq2{̺3 'WY$w?@B4#3ZFv1=}khna>p~1>u&58U;r 4dedߏM%p 60[po%ݾ")2grmJ9` srrr :Xh3;[uo[aov]![w$w޶h-0ME*0< S٢v:w\h,?@7 T#{_BWh);"Ԋ)W? o0-rFO7YHa7˫88aئJEXƃ6%L4v*F3װ4^5Hcg+qH/Sbm9 2,03`̈́-3r߲sy @x @lZIUiB Z-8WUDĦ# HhC6Bzգ俵Uo>R\}KnUF[5fm4zVߺ%mk:Z艼K)ALVErgSn"^ gL~z'6jKfAgɷaAgqZ݄r u6O&>^ak+^beoVz}{ @$?گBɻg/CbjMK:  +Kب@x @l^Y8-5^\/Y" NΪu 0*AhpǠl9oH h~G A!%/*'Bз!m}+C_>.[T!߁yY5". A雩O췕"~[)%T N淵"~[+ⷵ"^Z}ZUhō"Ʌ*F~5#DmUn5!7׎*6%t ' ۩95$$Wڿ# ֑ùH% "Dj'!PQb33jJpΌTh] !gTO֖ ,WQ?Q_lqJfU/`sB)% rH<4W<ڄS&M8F9U'm;=]yN\'R=>q>*P`s֠9R7:4ꖕ(oQBV-l/\ƒ۾"sפ ˪1K*ξJ{ekMD;h79SЖBűQgVq9u*+Up-jUDjΪWnH ifsԭmJLDy]cD0lM2+4>m*X8ԴEU,V]^]wU>}75@h0 )?hV-j8X![7Gq}>*)fp=swjLb:+UF7?qo:Uc3,'fmW:=Yk0wr}Pv J r?xqЮAwS''T x-i,P[i'ySe]Qv1ÝH`>uBpM|S[$6\=w@ׇ=4aC.x{0A9-n0|nDlY4OMʛ:>}u&X`=21 EƗD zE'cԷReeQtuIU_|@f 9w3w;==4ԇ/r0q@iNj+mbu!w9V~_5G`rvp L3-i9N`*_a@we^.yj:ΆIޒ1N@wml}S7z䚬 G+IBY5Q ]P3ÙpBZs(Wu*ؿ+Gayz,5[bYS㓇WI'~2?ZҊ*Se}Mۣ HcFqBwnSEݰ8P\?X],u] &Em|U`舶F3Z3ᨌW<Δ2]}u rT [/~i%q+lu\CDծ>zi_۠Go+#vT66, sУ,%a֦L*I2%*\C}G-UY3aEbX_Z*,Ξn4[L24=I4<7am`&W.e̙i)\x:EѠَ} +֠LOv R9x :ftK lod(.cžCU#+y?m}iL0Ȓ/Iuy n1u_>( G׋(}1 ~z` Yu<-BCKH"Z˝ .P^z}lI~81ky"dR臦N(GGoct+7f+m,OdWv|Ubp>3犜W?PÐeA;UxWݬ ݩ_ҳa"vŪOq4;E (VVTڔ 1KY8 ~pueM0j{1i>;ϖ*1s/=BdYw&7þZm Wv +!42=Eb7{jb GeA%-[nI"Lͺ0g=戉C Sgiǣ8h@-Y+÷s jlH n* rϬ_bTp[8{>)ZF = F#ڛ*Y_oo0|pOxv'FE#cXD6 E^#U h"%T?z x@sg"ˉg i53G.z 4Q։=aR={¼J0J.K*H,5 'rzX\z -6<Wu92)V.}ORq06فD4i^${Mç72P0gu)FQ>QD|@7ZXBߋ(za N[¤hKQa F8p$fŢb jbpקI3 ;V 铰G`[mIp98&G4IQ.Я\81$]_hH#W@+@H2A86EsU~rX Q90y{N(^{CMscg; ]oo} z} v9$j?IA@6S9kMT l"UJ/QoUm4\J3Ԏ!V;(zn0B. E՛;W_$vt_]CSTKr~Ǐ|<#(iZl40Ces%3e;loY$:X.n&VLVR!$A߅!$Iѷ(t`!F\Fs y=e&)n+kp(X(wKC ? }3E=pev#),,S`@Nq s n lz(La,Q}OIDO<贯znc} #@w> ۺ; OI^}{[h4^7ۡ"ĕ}ΎI_TDd&Píȡ{XoEzՏYM?/?CGh"v'Yu* c t +9Em<k惰P G6F^AJ,cVp[3Sk[w%҆z9mW  ~{j8OڱCBH#ٕLf4.\huY.sL{̮ӝc1\r.;Mۤrk9 , 8E@RӆAJ2O6ZLu*ofR9`$LAOqdB S ?>i;}fbWsv [Rl[IUiL= f'&8mg<նUR帣+v 9G<.XPz uV=۹GfRh葱5 n=N=֪$&F{0# >նsTgayE7J_RYavA!ͧ m_ E./%U= &ZMBۦ F< đ[ϹPa}bV۶Tc G #I "#-BubS0ـa6YS͋h#W CSx)3{:XjiPȢ𬺞̫3(] Lfvӎʧ> '`tO0rju^~ G'5rZ!2~YǬxD ' 2r^х0ͬ'vh5Dԙ P;%V6贬o(Mo5J+ˉ!P_t3Cezvov~PxSﱹe rC{n Jt TPAUM9H[ɐ`P˃ja߲ $@F+˅3Ks/ȩuFntNbLDlʮxeN8.@fKmvUtO0=8"#O2rf@VFcM7dm4!ޔ%'"1 t2ִ`#-Ya9fA+$l \c7˓s63hrR{#C)E:L^\hf#Oy|EhN2xh'߉AndRێ~v%ݲ8ֳEQΓ^ehڢRui5Y^aNF`tA. BOŇb|*)Jl>f{|('*}г0O-f;'uMvmNʒl#].Gwe=/־`a6V..r VvEbuLђ:39 dn0^tΞ^ U ɳ&SqIKrgˆݱԵރ+1 <5cz(z!\ߌݍHf"@j=ha5@52fD1;>kGݓv ^A9dL7#݃:[c|Zө`Eİ\Щ8PZ#Vۨr tL&.Q)% @ues_LN@ Ga)(,,ǀLvg[iqs +* 0G+ &+ /y `(?xQ \ gڠ }&Kr$?\t=c~zFGX0vwdkKVZ1n~:Km !(ZA3A#rx}' # 45؈E;YF2lܝWP`"7ȍeW$%ǯ%lDx"㏽x7@ 졷{'kgalZw3%QЂc,>*r7ӏU7Zܟc| bAmjLI=#8I#FOŠfhg`p -m @޴%"΃5~]h0}V %AFĴBTdѯD FL)\H,XO8S p: ag!Vzg_z|d^6wjJA[Oz +ډmScj,%mJ,v""g n@a!P9`pcm&:f[O1q5ҶG=: l8&vdmt=:{M2PjCJzl:mTYm`iͫ"[9T1) E}T8b5{u:+t64.Cj}%XŜԏU7pJnѫ6XӍbށ1z0s,s'uMi4X*P7cN[vY̽;ݴ}dWm#8kѭv 7`΂YNBXaUndžAJWcEr{̡0j/u&ݛ{[vsޭ'\,oڛ{O/>Ojl'fa9rNnY3I۳z^ad h]8_z6{;SoNlxm}WfACo:dz lB< bv3`.>,϶yr[TZbmcrj[1ޟ5s\uUp&\lw+r;~68oxmy>z96ܰù4@jڬOi^dLgr32g:\&^ mJyjlܫs8k q!9XCdI[L _9\N1/Yܼ#Uy_񙚗}]n@h. tƱϽ@u1̕RsbG9m y:E+iuuoz!%Po\S6u ‹.l2<Э }ő;'Wi5TbFʁ߫s 7JWg:6z+]*Gp*_Sk؎] ?gr /im/^pHcެ'f؏ qc{{gT)_\i 7rx/J8no9^Ⱦ%}Ӭ#s#(69Ԥ3'b[zˆ]ZVI˵+\kv%/w# laJ9*<8Z0lT3>G7+/E\"U\[+ظ2F/N2(cΥ+fl9ȋpދEi,s۶H+ FcB~ӛ4dsBWy˰!RXMR0|L˱ ϩUrt(a_D ʠm9~_7EP94Dp .5Ӡ9I#Иx#bN* y *qQԙVuR𨸯oh.vSCKYvi~Ϻ\ ?Jt@ԧXȮG9;Qw\d̑K͵G—+*ݸPi^=> ;qEWåw m^R(hf_ƛӷAbMbe.*]wjYc6,  RR@H]O` K䭄K4q`oдou>&n-,գB4O7WD%W;f;=ccv9[^ 72CZO P`kSoqCu\YQ:m/%Z ۶AFʤJ:MuQIR357YW~-k S-B=OTѸOJz{ Kzs5נҨ]f&ʫZn<.,E "B-Vcn 6F4*\5_Xs><'ꛫhEyz7H()|2o4+ mɹtQiy竩`Y-)#~!jd;+%Na>20aiI 4)/(d2\œYHGAIΨrVISPlJOGim9xXB&ܠ} ,3R{xNfm;Ygo%mʗa 8F50=l+ao -hauسXpQUe e;e & <]"aP wuTzV9Zp+.myDܓ`*~IkRbnv_GȊ;BaSS13 6N@_9F|r?,5nBA5IW5H4"\X/-ٲ>BC斋Ȇ$@ F|O1*/x%nsjc4~k[M><+=-[޸e-2ȱElD#(1Hܱٕǒ7 V* \u. Waea{w6װ j7[߫Whؓ'Pp;o*ƻmD%x%]Vc(񾵧 |ʕ,\%34A15@"_u.[TRx ꊶSJhC18y7",;`:ev; :SSgrAt;L%BsP|QD8E9p-HsE] QsX[Hؽ*'fa4߾o}]Fp+Mn&{80n԰5*r3$n4I.}3(d . :I-i&A9X C|R%1Ćc͝DvctȌ /Vʆ7yeC 魀\2_U}P HhV.J+f3 !Yi]O[X/b+PY ;K NV!E[ Jgn1G߫jxsFWVZq@=3WFp?]^hGQ ~%*0Go˅AŜ?.Gekw:#;Q7[m z,ts(AH6V)0j#Ԥ4F4\ CT<l$djA< (u<~-H' Վ!G$lOFS{]""X;X0@лlI`Wio~*VuBqZV+ʒ%?}!*\8T2]Ym \a A7xѼ9Y~ڸ9&w=ޝ DZ.ŋ#S0Y#6emʧV=- `+zpH+-u)Vq莀D?TCM{o0o ȍ{ W VKnGaG6V_C.)h')d)eC"~Cor@'hP*fl6 / x`{q㍰WΥ2(NҤbX/qJ#P4*wTњ'3|=G 8 1לv< qm+<_v@ʯѰ{C $5ʗM Xe{[9#HOAذg~Wܔ`<m])JɫaaUqf㔱}hҬ7?u퍜@)ϑΦv#ˮ;?ݷw;LINvxj|ōԏy?,s__rO3tmoI%t T.,~O(GU45wom{ߥٗkª,ʹ>ރXZմY싻;|z)YޜXJZnї>cI`|7Yɗ˲.սC|"\[{^bs_Y')dlt)[㴜㺞LuF1((/a*%[w}Lwmbkom"Հ:Ɠ-PG^3I;VuZ6KXZp'`CE` S3Xg'{d15\21l^Ȑfìe b.ֳX撾c"#:nsU3և :}zp$@ *SӼhNLSɈ7խ r=|ΤS.Mn*D+D)X亶=u;DsK|\y֠UIjPA};B%Ms\"v FA<6\ɴ1|n>5A(1 %T\ ^GJy z X#>˒ h qh͒8ZyÙjÂ7oͱV+6nTe9hfUªgjNstf918dx)qd/vv^ho9rC-;@XO*۹L(gS˩sN9%z~dԘJJ;DQ(;-Gt9W{%OkW?!*Lo'Ͷ.S-Svq4uOc~S)ޏx >̺+?&+&²x7L\pfh{3R* rEJJQahEȥoEcn1O0;HbЀP>:LF\%+t"r‚5F\HyRD4ؼ|ɏ&:X3/m7t@]C#𜀷#f5+muʂ&Oa nTVPb~wȨ(+k +&yԴoγ%Ov*@>FZB`{9{CM;AGIl-\֬Bb9lx  5ٴKrj.&JvA ɖ:j%jpat@o6M7gee =8K)S̈zCP^0/PS[T[UPú$u=tx7VkYњw`+b2udӦ>ib1]cſPTs=[~1џ@ L2 0 X5D9l i=vwQݤ0ѱl#̒ t[^żЙO& ")-*4"vʛՍ*؎鄸!֐B FkЀ\*:G$ĥms{IS&~٢fks;.'05-ծ2j n[ 僺%Ͼ)^?~lm4Zh TxeOzFy1Z{ m2n8-[.ZZFm\htq1bg VS/)WM鴧b%XUIgYm~]vW ]ԝF;KU!E^}] R$N/ZO~p~izc)-qg *Ȟ)6zHW5u6DE($fb(/r>OmT! АwQ]J"?^=pH=!+5n7V}URNhjı-&l:'Gד9t ¥V'pϜ${Gj ӝ?N"bBwp{vC԰d S?j5>p/E:SѾSs2y?H|5wǻlĶ6,`ؿƪEY΅TթFw5t N8pR}n]?α_eG9͖uQ<5P $"rbӡz*w1Z•ʸNw<ŨSԀvgϲ1..lP?$}s#<##8G> Q>#q9ke_l. z8%#@J!094: q. 1Ij>^CqTD`wKt, 6fuszBG?x{g9[a a[>#;0n -v+ #W>Ē*| C_~?v U"A`EQvgZ?J%pQrzFGp`Xcc;;.p' $p}⮢3;Jఇ Z{0hԗW2r]lAaJ\.7{!Wn[gպ7=z<(W[0pvHqwKR ,I$+#/E~J+BHڹ7IS포xi 9t[MqA46pY/%|qxc;5`ivri"ձuy&)YJGw cHq;-P-8?*sl aNخt0S>MUZ{0$L{:ɹOd Ѓ W<a>+m;y'8["`@ be*DșɅsJ7=-K \kʀ\=򴛚7B4v @uFF9yrS UğUhaYlP54DtEg]͇޴ ٽ lÑ_:GIWO8W.:oNo97XP:k_6 }h:Egwƚក;譤RKiׂum_-ĘHuCž~A/ ZVvWd=_ɯɶʿ QU6:lIItFғC$4Cz5TOJc3RުBRXF3fì0e6W)4L2 ~J[θrQăˠ6\j`rb=&9F/n1~w(-~Xu0o/82r{P7hR7hCkuLTWF˵|V$mԴ|Z8Ww2V[ ֩l\~sϠNwTHrlIB(񴫫 }< :assq*Td2Xt'lOFIFX^nW .&~?t%߇?| #`^ӱ-D09X;DTqu؜E1zd<4$ݠ( ei[ff3[ q/aA n)o$ʶp} T%vZYF|o(xkeryuqlKnr-lI-ô >ӽMQP0=n:[Yy6yMQG;9ڲY=0D^`,*_r"H8DRQ@\~<7Y0NF+ .ȘD* -L5S!-ئ})8a" ҽ{k^ei ڰ%aО)f´j 3&30L_N L~~f$6"?&PsvTUSIu[A_TU F` rd0A+`Ū 5y<ﲤ޳Q3@8S7n2b"K_([qRXpe3IRl1N6g+PǬty`ybJu=#(`Uْ׺yBtުv}l/^fq h u cPPχAёbi"BAٜy$E1}b"fRp\[;aWmRzq~ ^,khzOwg~E4*y2vK@><"iQ {MvpaCޝYdN5.%y.bOIW :2Dj.E"))NU]Yp[xX AF xjoͫEE3G|g;GTR:Qt̃=O煄OЙb;_Ieԁm>9Mf # !gxJ]?e _jLFCnLT_TSC>Aw)]N|Eg0L޹dXjg|> $X{l_1>/өndtzh ncF^Щ@CC҃dJl>&ٗr,\D٢}b<dm|TH{B3}gF$pF7MeJIM5uP܉GcNDjGk/َxK`qmG tu(,ZFߺR8 0f<.8*”<Үsl sd ^ )CCF%)5hNj4:5%uM|!T[DVh#̣zGL2GX{E<> YH&τn[kwϝBH@٩I)*qUP!yE݈d` !#F6m0d4{ߕy&l0‹5ƽA]6U&Z8dc֓J8x<}E隋zuK$\j5>Ւ@Mj𴐡FmCM 0~Cϣ6nm,$ج7"IX@ƴVBo[g_YOe im!BK;Ej@:k#V$ n寵gvr(Vͅ7ӑĺr׹׬-:VK)C3a& Sm\E%^FżgAoT7 ] :C?{$Eۜy+Ȥ;> kw)lʩ@4S/Wshז2_J3\-_6.ۂ`<<*|lDYmIY`ƘTc%TX,\Z7F J]u+Lsݱ2'en=iui vT)~ coO rEM'$p 8%{H&.fVNQFհx 7;t༓rs+&͆*n%H>DGmVg[$XfnCm ] IYԅUSLЁt4sˋeQ*B t`͐-ry)O RrOןobF=G.}v;G]J}HNCr])Ʀ>JҨly(SCyrsqd;Q!Yo_=W4>ѡ—KUJ;VxnpndX.Ux<4& `XyZaw) ŕl!M߄Ao~eiA<)QƼEJP'W~YTfULx1gYu ?rY>!|ȼl0Rx+kq-׏oRB1Ijg0u5p+xk{N}cr'Cg!ty?zz|ׄpWZ1*Z$yB}c;P!h0ux79,KDB,S+"-JU$ݿsNx/A&'$[>q[~ɯ?7o~x3MNb?01;;a[z}ieDC胏m)$T|b\1&i݂ oR8$1)ZǙqeq-!E;+3xXG736zڭ#6ـ:0<{Ue30C{uߣW8iF%*8ƻ=:Ɵ6hD#ea`prT~zm(Hк.!קOnMc ۊ[~c )$}cZܥNƭjuWzWL̑ =`x9ZKtu\߯&uQD}H'w+i9Ph`KCe苠i.|-g09)<9,96< Xѓ"̄? AH"%l*vM^9! ??HuգY λ+.X7B~YyR~]2\Nn]ʼīGk6ODH\\ !f ZRǑCG}tV`Pv(O㣐B0ZɇTTӂ*A b.k }3mIϳw?j OOZDqItGcxysT[6kD3[,<=G"rђ(o6դY3TQbNw ?$`_ >FQ@NcI!CJ>0Y}"6ܕq~ T>`2+W0ټjZY8pk0F+ aU .`yrF;+QZ-)3oUAOD7pa6g5@ na$ lk|&;K`y ׬mA0_x`&$';oK^cu,?~?xW~z ~q̱lHȫ|X ¹ĸ<-b3#\Gp:^(i60_6 jbOy IEбZ!rEK SVylK&F2D w$&F4C/S3w-&B˿1i0Ri:>Gn uNO}ͻU}%3&xX \4 OMl'D-ƦhsMk4 ]{wlb -Ӭےn%@Z3#:F߷ ӺFkFOGIj]FAw9$ezD-$1"hX?&πi3QhK}O<L=xn+f}i h|Hͼ6К7Wxe5ljdrn5֑i>&FnIND+w}WyD̀j}Ľ~ݯ@Ωb)-=Lٙokem2cx_]jtG8UEiq+~u1/`!`-kh9`z;?FGEpȶv%0(?5=-WRz9-T8 L WTX_RoҐ0U !m/eZG_5A%ԙ/v 9)e",~F}Gy٭+#+LGJ#TGb T≶3E7lmP0F%}2+y.a8H7ax5`E %I9o}[&*GVl߾~͸ݍx2) ۻ3yX'9+d$@D;ˈ?_pJ&u#FC""kAt*ll>Tt5v ؔ<="BL+ϵPH C)g e/HD9y T=$p PMbtڔjOcoVӰ3qw%Lj='ȟE!$4 >}ٞYkjR8V(Py ,5̞R)CbvٲkXиOܴ^q xMY:0ղAdmQ ˁ/!Јc  LY~au$.EuCZ&"2;{q2%6X;>,dR8uL2î%d5.xUT[aPP!1iy=, Cllźp@Kn$ҭm3EZ1*XD˯7y!]eDV 7/  >5BfO5`V*~0ү mL1`|tF.m Y6O $l_AdeVNe!gZGoo^OdB=1r)Jg5;d|ƅlc-MHQE|>{ųo>~ŽqDQ#@ǭ٦'aB)IE: lhn:=xn + 3F"Mn"GgdMŠ=|Hp=;Yb̭l!䍺mnF)f;ae93j:ȶ!ҽ{͌MuCzUA/S# %{_s+nh aQ*aL ɟeI{=S?9G5?M]~#;fhG-ӷ}+g ۾r @:Ŏ}B6vA_0sKVl}Ie0lZxܠc$tn5#\ԣ"V \IZnOݕ+¼fZtm^;4ѩyl=)Y]1<&UFqvŚ_'$1*Vf 0kHT 5l,K׀uoxų̿Kjp P|6ΓȝO.5`WMA> 뇉FybRUng^JPW%Ewt9lZtXd^X)Āt3~*C͋Gl1F=oYo,WP13pr@ %S Q' g䖙*$ޡROM9&Il#7)c#S?Ua>˺vZ7p~Il7W_qr8=1w\Т7i*?lGXrfԅӒhȈjtdNlad?T .`153o_N-A9J\97m?RxAB>oڋ@Mco?ҿSˋGr 23LNrD: Kq>vxIdǠDsd,ER/aQ0VrumcHt`;E#TrsSD9^ v~ c lZuy z$Z4$\d  )ϐ95L%[_p%@kggɫn'mJF,tr=@]46lZUdžۡC7EE'}oقĔ6>%[ƹ" n('󋊮h@oڝ Ӑ/ ܋s 1J  b(i! F o2-bo.rb Ai~OIHCUYTCISYJqڀL@ ҃M vm$)34؊iRrz>efxhM+߇2>NQ?ϟ?߼eo4X͏QGGi~ >`'MM|$Yj)>준Z똏qt~]C ˮkMC.u)du~qHCg=MlZ&4CG37Vٛ%, Tհ:~M,wecYpݧ4^rXO_̫y´=ys;9Ѵ~םQGA^%4 33X$Y4,NA&1}{HK)EhnDT]K楀'&f>7(6E>&cY^WyޝN5>6hPȉbUjΤf^YW&jWc{XG>5s@РsLw8, uO'T8TPLv.x.)@Kbv`@t;~Fಢ}te Ѥs|^d S_w)$/_[O޳f<`|ml5N97'y&ahϞiWmZe.slRqaHSi?6p<lhKohU<{n#~x9*|l{3$qٲ%9#"C|91.6-=c@! a=BsߟS@ErjI"_U5z[Z Cv!Eɿ&PPsZ̃&&[WR:SEg㝡!lYVtPqMSHzq&/O^,׺qRw@ Dy0pbW0ԍ1}σGـSOq6FCAPF^RഄjGm0"qE;3.m 6îpɌcg蹋݁ȁ?cAM~eC[r_ݹDxr&]nh&"}S?Rn;pv PeHp{J}ƹ `"m38[ 3'oBSGL˦:8wbwdHɰ@ğv&(+Nmup[z*U Dg򹷥6r55"9!a}1Ε%JhGv [xU燁1>Q 6#.D0e3d?a{W)y S#=SgE#Ç}M&PLإtAD{i G3(6kC@](ޱ6X'gfp;rcdȥcVJ"׹Bf@wOKMhxf{Ì%HPYW- فT-y`QpEӮ-vΫ^;3&=ۓc`Y'\y1vz 5bT-lZn(x%ׅBѽ{aF NHBXI4pB(ojlv\c@.[򤲂θb.mգs8,{Bcl&Պ=[#{5l~04Ae=HG = Qs" `&; ..{_~s'VI|NJo7|bO &K`k7TSlZۂ7>+ KSCAHg8i+pJ%d{%#꽖;dBg_$I@A 9Gj\s~Ր i6M>8#v$rQĀbN'z6$%|@Gʦ)Y ҋ dyxJ`YF|e7J V $$ZFdGf0ߡIc(uI_l-0)%``eQ%!ɠ؅>eyٴ2ߙ]5nD+ 9yhwyz1t9K8 o `Ni:|I9޿T^&[< q πxF]B/rm $`8(b6 Qp9+[o]G%[@κ6 `qQz+Ջ'75\I{жq@K,+uQ%7yt"iLOJ9fautY^.J(ff9׊yA/IF߈pWy8"e3sW <V]}ͼr1|=ݍ뎲Nm:Pǎ8܃Ǻ6{`.Y7-o\Q+zc: PjSC;[me\-Bv} iKI86UPFى%H:a]rk#wѮtHoF0?He4:Ď/WO4J0Wmi=H󍋨V쿣VMYjeΠŗ$5h73>j+6p)& cWs?Wdb)z9ns.5êLs8z4Crܥ$p2a+STC,Lw-L< 7Ǝ`vc 2bFxcx[*Ŏ(gc{{IUmEnqL+D5z]PzV>t $6w^v~fvM1{#1R v:b"IzԸ'E?;aTK^`w *p*#vg࿳NUݯT>p*;Ⱦqi QeGw8+ZL~G0ȖiܼiPp)5 WB/^ 2+\c]͕_q`;_u/0L6f]UG{K8$w9<_ڌ[.v%_]\e˓~ENHl z9E7 n/GʸZל|Mj9Ͼ.(z;̶Vl[ mNvp $).Sv^|j%Mֿ4*hVJeT̚s%&ia_}xߦ ,zHlpN#Tyl[[->Dz'.U&5E39g9kB~8y7{$\ӦmvxG_[ 3G,oULJ}l%e;*L wֿ*&q~.|AzrjVq X7z>?aNщ,LG")'KtiRJ&j9{X-~nuz7kQ[QIjoq+ɪG: 'D}8t=Mge^`*6 " ]W󏡷DTA\f(Te6`(ltSN$o%-/L y X* &voGOCkU 3wP6􈰴d\s PTRޚ(W^: 0gm(h[؇%(_^}u%F¸n  n'",_ 0:M,'?Sߛ~rݢobh#9x*8̾msXEc*PZs~&jPOżS+/1򵜤ri_} L&PQS*5 .M'j%N߱Nsx*D9q4S#'^ʗTQM6\xޯ򍭕XTgītQ_t[Ju/_#jOEr |UR\ε*Wd&7%mN~ްus\ɡ`nW,gkPݤޕR rN]z.aOV+=,5Vc҈;9N+ mADTc'~z(*͐9DaY9:O$5]b:򿅩ȋGD;^0am7^SN">S,H5"\Su[Gf8[7ÓqTδ&uPqXrqm9z3lP/Z1@DNjLA-h]Ƌ4R =6sF߱e]lƜ Xy |6<"l]S\LDʎ1%<c CN9&t[V V;H+y O;үcR>1C&$ ׆\.Π#c$\!H@d39Oyw~Q=()mKǻ-x&b KN P휝 Ѷj}nZ]M} FDGD:W.\!:KǿJ.zNKTǶܣ]A{s{d-$e`D[cm变KM朒 ykw;7iyj{\=sW/^-P)Ԅl>j:.>,fkl|:u^V: ( W7[R|Eȗm|!z$L-( m*j{S[hS$KwF]s.aK{_KJnyJDg #YS[6c鵁rP7jkmJס>*?[43鲅/ !!ā~d| nbmPojʭ8XC»ԩgU"R;KN|X7[$2}-;4&np;al|T!\Z>w t*?N춠kP+11S'X H _e9˄H% ykት1S@%H m7^q^)lf٤%S.'S"?Is%b?[N%2!.8 *UՁl)=vᲒ\ NoA>ୣm_n}^0i)RtmNW7Z?k$%Kj⌤S130{i[O8f}^ Iqy@8m'Z$I{F^ݪx}˝!`^Y#*fĩX?m; `MQ{FeCFnc;gL;d7 ׌qxÑ8L \>vK 8z4EyȦ:@cGv,0à{I2Ud*m})IAt9chɋJ}8ZqAg+uҔ#쯴0:s=rF`4H:0&JQމ|+i : XtڏϷ)DT߱[0 j!9'.i:9#ZG,$9j{H20¯J_3a2'_E1tb?Oؑ>Amr6Jvg=NKت~޵o&&45)-5ٓ6/oZACYE8KꋉD薾&i.HATlDr )L^gM$ط eHJF}z{R;[-͒,.gm1m|J cF+W2K#ıL|qenv2\Ɋ9t‰bG<  mML/nR[5_*hNPOv5AP#^i?K/D0*ݥX+(nEj 0>7gD ub"B؁3~xZFpdt2;"?q_LR|pՌ~Da?yV)x6}eD7jo#ڸOf𧂽&y<.a_\fEJ@kd>g cR YYzq)U-U0!:v trs#✝K Oh v~ȵvD%u#g70L1ʭ.%>ٍmohH+!;%HyK) `8 yTӣ"Jg[[rŐyqHՓq }Ge)~ȼyircQ-l wӖΑ y #: ]Uüpx!~2z_Ts$* W~ [vNi ]f 7郈߱)(^|VzX?Za>'dۜŊdkT8$D>M'2'B֣lOAOnI+0-!"`h,7&@g"!޽F*[qEۢ<5Mm⠬cƫAZ!#wYcs\4r^ 3bMvڂ44ܷC65e9l\aGZI[Dimü;HZEk7*`DKt.ĵ3 l]1f~ll@UUz:]AEg[{{zLcnVJqmu˝KyJ"YG.{1{©nD(Qt3 A`/vq`b&$ Q,Haԛo7 sSCe@.2`TOn,U 5)wSqфςyby!+.AFOdRة`U*ҏ3pq&%XY )0DCj&o׻5eiR@qqS&ձ&O=o оTFMX{MT{Dp`['5lRl-4؋2cjKu٢a c>iŨ&edR-ٝqS i8*gmYY#U&LA"lƔ&/G`.}̦)%yYRtL^GgCR}QCP>_hJ&Ǝw^{*19Cw4^bFYh3jwOaܝc*.[bO6m2)K~@:Bg ܦy y7̘)S8ptKTGH/DqIx;&6>]=ČU4oՁoVlJə/{u/8iiAҢ2N 6Py]R.D^γN"6b1űh8h;М<7dUƪ/l?{֯1+rlvJX&yj|޹vDM'jwTe^n>F I/tJJAbt&cIYO(59~Uӈq((U3[N~OMd)/Bz mvE0<{eGch)_H )osX Uڲ',0Ѩ*ǑAo?5gL||"AnQFI1i0 K`MD[e!O8A8zL~MͲGAIak|'cjVn#o۸F P sORS`aៅm&FDZZ!8}38Hb-7M,6[N>@\D Tjf8Ec8GJHO}Qe* T.;߭ֆ;m =X?רо=@7i'z\OLgֵ0y0=sÚ1aN&Qi&0eXϔ$?v6`}YGaG魎CD r`[2.x9 X z2MU kJfx{Btl\W'6UQ8Lj$#a?ogsS1FDνAa6 zΕ$肼,}z:iogxÿzq^ q[?Li]f,Rr C1;VST:%y 7}yl"W9Gڤ%&K@$ɸv-3r+% ([~~V{>"xx@”Cz0?%5y4'/s0m}kU&ffx v+n0~*%il^S4N>|[6EoQ`NKe]*|\ޟPYvc)/zv0ُWjX%3ӷ?u?흧 ɮ˱ '\J M4\;v4p-mY?԰ԊjWbBr#AV%%cBE4D5Sf2M&wqlQS8coxZ OEz1In˛nX)yLمB9qpuQ/[F^d1`6Q?$%/F8>z=mVLF_QsW4/v(M9nPqSJ+%.sJ۲rhW-y1T~6`#aL.T^)ˈ7nŮ0ݿ$@*//`DPӒ,Ej2XzlضxL͡'JvO<8O_Юn<#aFWRJ=(\.?yG!Òf{ [_:N%1ozDk{@Gv&Gl0r[j{S3XryN_iAI%b?A ]([#8}}8~jWȯ D JQ0YrI 0u)]$'HetK<0讲 a*1Rƺ Q<'TEH4‘> z3TqQh^BeԠ`5 6\WT~&>UܑnS_DtWw5T; ~<..^rZm#b--O~Rh•HdM{YDyt-߉0ҒB m548ӗe=oDoSnjcf|ԧƺ NRk\Z.ͧԍDyZ: KJ/1f UZ]TK=j˗~W>AT2{}%M](h{ Uv3zܺP'>vw0a^_.E:b05UnXX;71 K2iSo!!13 ,)7xPсj"8{cM'Mt[\6S|ILݭMZ/?uB_BuAs4\ w,ȉHM 4t7Su'P6û.͐ O4𝤽EH"jPyOy9'k5Y0k7q]prKg=?ujNg''QqA,Џgy[ !k,7Կ2hF5p@*ي"iH9ĵ&Z2g7Xw֖+Sl` g[(,%MtIຣ_T/#xf׭mrU\mBϯ9&ڌQWzVd;2S=S٠й՗_xL17( [šD趄M\ge['M}Ut&T[g y`,خ"ʫuUc c$'DF^~6M"⟋[h̟cxlp 0 X:#!Ȧ/@ >@0lnxk3 YcEw?huvO^щXdszum P.=hfrI垞U8)pHr+5w Ϧď^F$ lGd68OQ4csV6m2Wn?*ql W [IT4XI+-(8ءWE7IDA?-T|f> `Y}`#s{1ˍF\ ^kC:Y];0fU *>4]}.-VΉ5>ݷ-E #jʑ݆]!}% w^ˢX&_1lyMb(N$@A[0iLd'B>*L':LA-ܛ'4-K4!DQzab>T9iN&N@V‚'ڇ[/5T/^ ~Z&_4䋖|,l0^gdn7-0!Wfaq9nxxu^egl(<{2QIPx'jr_[TPQx;> <[L^>֨lo9UJpۿ/ yo N=*Rɿ';}ҍ>B,74!SOxr1 9oe9>#:8ږ{:hQgrmfxϴ:F_(xiX$} L]ݣ1{pKgң6id > }u|6i o,nxN@I JfΫ㍌I IG s^v+$Qsٱ?2(ӓƙ ?,[=@AP%ѝ?`CTZpRVɰE:>d8Qg5;f7ҚHĆβ 0p*9s!ڥ1*C}$B3f{Suѓ&hUy,sh*E1s,AC6I*ZЁr[!j:c"hLDE_Qnrsa ub?}𑥢vXƙoК#~ ;bîgY |0yXPF;MD-m[uoKwgjŹ=.$d/ 4v̙jo[L^|s)__ulNLeSiAA)wHEбO ԉ[.Oѭ )1pjװuLX_L S<4Bfz1:AqFn .jی% V)%7ҝ[ .aSrx5Kϸ~u=J0cY*#"ΦyO[z1HZ.M8:RG&}W %48f>eucy2GLTGJrFIA;O%)!}e`[41q}uՔs{ל/sl**6+9َ ;%] RL8sø'6DngԖ (I";kWԱM]IuQMN&P:e{,m{wz4fnîqΈ gHs/$OˤWbk}-"s`Z i61X]+/h!+H}vsVV qH !l쉑r`q1W}ϘifKOۼvbQg$kf&Mby3&o{79`Zn$}'Xwh*k@kor'ݱ˽I˩9sU@^)~:9Ӊ"bATWq& s.>MnYL@c([ V | I:Yry s,lre, [^˓wn^?Pf{V vqI]d 3ĬP=g|ם */CIզr>2>ăG?f?{Oiu:eg~ww sfw~qp@(1o6 6s)fw\8ɨ;Fcj?UZde]BX ֭dl0#ZqCFZtUc̺]wyEzWⴂ1E2UwP_R#*իъ/:T'W5.Zmzd]>T˄|e^ F/r&E谭χql~FEs&3lt(X,m|0)$Jԍe@S*+.uؙ3$6k;2O`?/Y9nݽhwbP ڢv3$Ckrb(HPOx %El}m0nd ]Q68& /(ȤPYe4.g^L%x0MeRSx%19j !k6W+ i q')€(# w7ibmI&"nك瞩OPӠ1X8]`o9,IYJ_/MNH na+v-)#KAC]Kz.ǥ!e# I oOp)zWfHkx>,2 mp>a8oC3cA7Jrg^ nvm2FZWA'o 0v&5n(Ks OcWm15?8.眎 *cՔ8E dz*"'?ÜӋYJ Z@m*xUN/o^V@ I$/ɥyNn"IGH/ryEQTiBdDӰֶjwX.S@ ֎/˹xƖ~.Rʿ lgz[q{B:U@ 0c%eeM~bK4qhW}dT25k=}[YuEY=+&-W:m0U=LwC75N]y\έEd_WgA.59e hu f_[?5_9 [$oQ$+r9Nr^}35 p,kZ$*e`Q1h5<Ԍ:Sj:s=GJJ9O/1){f0Z#`Lv3k12 դƅKsߦx'噾eK tO)+n_״/kU5֑yjmX+>"wuFݝ...pA37ߨ='.9B=<_Mf2 [! IZxutKեFݗl2w;2ݡGhR#Daxo $ !ϕ0&15vh@O<\ƭ2I ua;'-J6j ߴM2gظn.eqKm9BqpuHDqQ[A:( 1A*W}mkZV|CD"|yѕ//i*ۋ*?|yRXÀGcwXz•$NqGRd2O*4+jcS|s`Nܳ}ilRx( lHy~aykrs|tKyXz{;SULw0*Νﳄ\3Q<0 ϋsRs(ԨɳS̟~݇ƍ;¢s(+JUc,u"NPc^TN޻6;p {=/p 8pQJd1+MI'\5Ͽ€~S't?Ѕdσr/4W;$s?1։?lq7g6MѕmYVt{Ŧ2UHk)ʳnA+^QlMgpƕ6+]Q&[8@@lO^iS67Fq LD`5n" ΅R(IQL|40IDTXK5نpI ܏4Tlec7}XJ!̢#=8 y)b@)h39Ӡ˕RoJQ-s8s t &NV4bmr)Aؿ !Bhں/oOUGeYeeD[K%_'f=;顏K6IBɿZK|ì-ȗU :Һ7^xSRsl~w ;g{ūu+VzJ){%./'7FD$eh|us/_BZn7R3ZDt HmWUWuGHg}cH|JJ="{ÅrTӡ^Q:Hzj&ӣ7V)eSҝ KvSvyɆsuWH=b̋ںϭ us ZͲ}7C+:.[~8 br&\n{ nӋb2q}1j&iլׁZf&*|>9(a܆wd5MQ=zoMd\ˈ̧c4Lzޝ FȹةV{GΏzXsha=(3LP4%;G l] j̅s ǵKzUE6ӡ( _Sj"îr~O}2)|jexg6gf2TY MfQbJ"#V#Y5ÞyB[Jƥ>I~_͏o}'_ ߄|}&'1s5?X|m1i9)kqW/0/yMWTx7l\k'/ 4oOk޷YQuAπbj^W^\=$ IP4+Ć `;2aY^UXܰL:l z1Dr-[{9/%a>z/^ X^D訐S#^w_u&XCꢇ;vNݞ;3& O흆WY006!l𱗧eAJuS_P l{KÐi{t랝:@⺠X' N?yzPvp)rXfWnH[~󿽸8;g-a4Q]SӬVSN)٬f aq;nÛo~ѭ/ _8ADvO%xft$|WWvϧMX ])awned5tt5OvЁXH ?NsjZzXgpsT+1am9u%%_2^?+sr+\PviAI|1U>/ǻ~wþڌs s{Y <ΏIǁ*&] tYZF>J/=SbJO#~7?d^Dfh\?ّ;N ]R\ՄC(eYUe E1wQ*}cBO-JgD(:nX{nƞЊ+P[5{<@ 0bz 4.@Uf{8Qѯ"鯞+4=;' TvIP &0 u-^ms4?p0WZ"ckA7!lCd"Gl]OmNOEHrx~J5ZuZ" }sGJ}*JodS3ޜS/o}/oo̸qPdkH(vd i/y™ͷx.0i*_@|h̠|a/2E#;w'YQ?o~o~???_?Ϗ>Ku hn}].ϨH~VI}@6wYC$Nb: yedúAU`R* #g7 j_D!_e]b2~XҰ[ʳ** %fLh]$T^L UIN"\I*g&64/as(ϊf/*YxM +b2ǴΗ9[k=s>]ULϳ;Nyc! `{s&[9ǀ izdCC^{azk-)F "`0H_,Y'V-f ]`n{,++S #ǰ@U^NߦoX{qSykm '6%7@ ȯ7g] r^qfqE|eOI[ Ϗ@ Z)atki'kUK&P}59P8=NCU|PZcrt:;%`+F'.(dK#dr~+&IyPbaa8C>3A{ -e YAl#,B Qk]dS؇+X7na̪'H&HR]v2ͼ> 0TK4~_fO_nOZt6.Qx`LHpmwgltsxy,POq̅|8bpub\G%ݧ=(Q h)uly`\$Kg)ۣ)|SLOQBn+-h+IsZnCkoiE4 \ډ)(9VWԟ7qtD]ݷ{x/JS]=1^57{?SóQ& U g`SRvH6`B8uVwg<,"X6\ Vb.`8 v<`"upͮ'.ZBDت^;zCjV}eylu> li &xM8luW=L s Yxc{_|6]"0"iRMq ۙak31*,Ok͟ISI iÊz|u@7o}@w VGz7c~:8c&|#{y?H~ O\ŃUD s> MDˎ|Dc 8#ɤ=;)( {CH"j=7ȡr4$.HS8ZMWh9YIaZETY~[4}GECv ~Mo"@Vlyw:mr|,eӛP> ~ u W3OeGgC7f](!+g?,d5Y6V>c66,JO{e_b/]}4X3b?%'luaRy':zju-xPIB1^"3J0=jrg9JjAo GCF^Fu%E 8H:ALx9RgAͤʹsü8n4S>+@eI1ygJ工 S*frXh|gցw %h{e3l &7[ ~4kJ uL Os"HXvR`/}':nuF Y;&ipLvI]_jU>˾_.G68?0'>uglLC @a] x8np#aX_1=7=PjO'±H_S;y !F)p 8#l[ eU]qiclН58nNT[4>3j*!p!S['BGs@b|,[PF EAEHd99=ח.j&&2U !ܺ!FeG>(e U)_s2 yǭ0a;& >"y$//V:r۸0E֒p5%9@/r g7w;Jf$Ѣ סN"L4lAEcU:L5𕥹`Pϑl}MdGcبwg w\ckIzͿ$'촊fD&߄jSlFDbesj37zjr0Hs ljF&eH^>qY?cy#W#vsH\8ŒFlk$^TiWElU Hj8CPoˮN˪F5kuJ%zLF-f'Γuj==!;\lDɟXuqa|t*K|KEZF1\aYoTZʔsՇ./.Q+,SWW=wsQA?|3Ug|Gv1jSpb׏Խ,{m_`}*/Cj0;.;V\wNE ^m+\ݙ:Qxgt?iS'0.m^\\JOovjZ/i<4 v71.ʋ kI3[5W\;g@VV]aAhɻ\~/bOAc׃>(Qb)R\{Mo}j.g[5K#;c"Oݸ+G=(]YOT֥J]M*:g;3>b[r|5b(4UupW xMV-22vy,@jXug,xw]&gy:7CwU|mp!j7qw%Wv-/1J۱z{S<77u#>WQu~+A_iŚ,]+#+|/߰棎Πn^A I 9<_Z2G}-Dn):ƩH..u+xIe p}%X 񳓼1Iԯ0{W> kYXlIaVYroV4@#h/'m̛aZ f$V;S]2ʽL$I G0 ,֣~ݺ*N7υp$3iZwPiӊ+z |̲ ]R bvʏs`\|t f9H2UbG8h~D/.E,-Idng.fӉJmSvllk~fO),ϑ)sxqqFgǺ"n얌\eUna~|LUUT2ꊮґyI!lĶ3aI}Eb–~<-f-_NAPE64’Q6TIsD&ْjq)Zjvчo}T9I\zl@DR {ۨ];S%:euN:?-r _Q8S[ ϛPwlbkě\X1({&.m7J}Vk& WY A+E])oodٽ.XdpfYfLntX$Vs5Tm~YX;!)pp-}Tɍ%u1Ku}D 'EEl`NimXd/);8oVoܱB6烺YnogXoVk,k.@X^_)| K*T Xw0 תjf\m? dS`)Yeg ׾Ӏ[DUŠ ptnR>+^K 񣟗@yu)~ᒳe'$%&F Ya?^⊨cSu4۪ip 4$>#7=o |.>>RcgZl#MÌ|B)+A591 bʮ(j?[4u~gRv~;Gl1f]6=3U!s}t<&<~t 54zƺSɂFbfdU &)SZxIك5Ro% BDԈ9"N-qie #gX2lZ^ exN5':JVϙm@sTx`2ecRzBl03A}8yԀӦsӞ64>hV䜾:)MEJ0U̫EεdDvV?5O]!.6a<'2X)9Qs%=z9#Χ ?sk415S cXt-0sj#x0D f2irjuB0nRߩRb:;l}CblJ3(*%5׶Qh<%z8lt8PWn iSO d }[&`3,OHulfZ9|559%xAF:VLE9APTURcxK,_@]enraeݞo> R,^4sRţ6P[+|8y7{)WԜ_OsAI1'='=m3_J!r¼gࢹsGEJ:ѯ̘_6y[F0ZE^׆Wgħx`VAK .띊֠rv)`_| `_))#8F%B`J_.yKE]ʅ )"WU\ 6VBqG^Jxyv6ANOr\[t]!wZ=c;Q@{䌻̦ c"ʖ !f]솠@]NQ-+0 yAKj /|" e*ewxgݥg'>k >A{蚠.%u:پezeL#AYX-m1%JQQ-5 i؀OٲàBxưfVCSx,Uw$Z)c)b)<(kB'B,i-$uχV|]ŋ޽#SEy^/ӡaq[[# ba诔Mط9 avV>B7lpYoɆɉ&Lϊ˗DrQ4ڒG}m`MB Eڟ,$@\NT! Dť઴˨a y(V6`"@9o{tUd%o~og}xd?N⬓sq 묨UWdwvh* qU[se& T2+9#ddisnx}h78ԙzY>1(g6;5^c]Q45G~Yj$+Ct/Q"5WRۤ\boE}:8@4NLeI$?Ma ŘNkفdHT,n([eHRDұ `FjjEL: R~cą2P圗A^5d=e≬*g|=_XM2-/RI VWvhyT`GoU&Y]r:8h.$gUS;kTe9@c D[>T~c,=ug ȻoNi|[;6/O #Fa=5 X3^?`6Lg1vt'Ej#Mʤdqd$)#R}B{cx [J6ڕ#h4?hw5xtژH T|f?Y+YﮆDG.ZN|8qI\l'L9 ,4s:MWBMeAn(w`R2^࿼2.(%-r!28`;[3N:W/a3D1YYm.;2bd6+#phݡ Y{g47TV1.^d=Gd%)P`x0@Q I¹鷜- { Bs苆DeFjB4%7~g2/2Ѹ k!zN[of:k fkҟ沘J[v<Ѱeϛ%09IE7V=U+n  NՍP]vSY?c>ZiJW 衆\ +O+i c`)+<ֺPRSm3&=5<1z j\S_ٽX?)dBpDV46R ^zRm8쟋Adǡͩ@ ://qhҘp7h@Xg cBS:=b5mCbBCǞSxC#7[)@4 B?D0|>cEu,΀擐'Nx>x%8o`C0Ur,_]*.a@uɕB~el*BH؟a5/s7Z97ǀRCqI1d56&NA)6u}򵗎#ڄq]D&Pu )L6?(4_&M lȞV[i@B.7J.r6|.c8q iҘp:cڢrk6afӗr3)8]ZH'5AeKyLx'㨨2٧oCKP7ɖK|]v'ͧqܱEQ6DԲ[?~v}}}%6d čmR#`tIpwt(1]X[zS33(2DG638DW|e^S{l8F>R'گs7b&owwJq9zuipr,ai6^\Պ6Hǿ4`)Uf>WnW2y! i`ȻAN)oOsjY\0؂/ͤ%,\l4qQ6!]tp"ǻQ7n%]&K@:~fiŘԫR}Ae^[zR#l>leM|Mlg6;+kgz^l$$4x9[:@D#N->ܡblca3GSJqNfLZQx DjszG+-uX77@Dj=$$\ys2w#ˉfz>tK 1JVO ZumF¦a7o|_g=+##Fl2 3w㰞bqZs܁eRi-48? ~`ѭn(lft{gQNm!ن(iŮ8ae>-UyULp6:9@0Pe,Xٴ1U!⒞,e"So稀 wBmKWkb6tQlY&@4ˠqGC eNhW|sRx1~\j60%?c1bT(rEEvťB4AgѤΘMx nVJE\0 7H^oKӓ;>weU_ԇʪiJdQ oKW^ $6(ጛ؞].wcLkT7QV7ο;r`mC14P5ڍF5 cTt/XzonA/lP: .Wa;'8 OedUwLXO3 "8qfĽ:#l wҽq [.+XwatmE5g86nrK+o^3^i FYsab_CIe5'w$kZ:x}S l;mAjM6rXIBz`9GyY T<̊vĪZ 0&/x`(V!i4Nr\h;pHi@s)Ph1t h9aPO.v%mUp|Qu<`tv{=FFWfa"eL?\Se|3ZlH{S UlͬYF&ȏd]:نMPf].(ma a aW{e* A5=LΤo8pibyL͜v<:a*£DZ{!lM̦uYh|jsQrqZ$m3S4tp˗]M1@2CŷnUNf0* ?IDV6Q!p4Iwډlj?K&4JOrLp]TdVݽD?+zC9 ؼ{'a)È{wnauQ,o#CQ6ڥG{pM[!F h!+%dq0@2a֤1{G&=N.mJ~^/ЕZE7Ю;Q0H=2`Zj &ya;1ұ;8־.eeF +Jw>ZsL8i4."77V#u(օaV REuM& IxjzENL4Z|v/G8HGoקO>$>?O~ǿ~y}&'1Tm01;;aeT dl*DI)}ូE\Ų9+={+,UcuuVIHskL0#S΃iAeqi۞&b*v1w'kh4F̖.&;!qsi Z,3 LL.\5 7BWMnsnbSnqj4}YK D[؎m~mU:g=x>*ͪ"~`A]DˢBU/r0@X ZX,.tbUZ\*f` nzJJ3 EJNöF:J;K6Tx#Xe_Z䰎ŧ?.5(u^YEݻ1: 903>-.kPT! 2z^yiz8r:!|#*hߟY$.[63O' +$KV -#^L/pSP0 &眂05}}aޢP7m: ꮊɖ-kJ nY1% [C&N)00D{lq(b(etaRbqᅢ74zjx;k:#jIbe)xi@v+*wܥ.zǯ{Jbvv[ !evnk1`<#9Cx)S9K#ћ Vu6 |OJpp3< w5)0y8baQƓ6I&x;mާm}jABHMaƽOBYqemufE1ۧ8<Ҥ&LP<Z9Zs@c}j=n9QfKUQ^ji>[^waWy g;I Zt483xjwlb]\h~@T]4yC4};8ک~UNs{/{GG /3{K3xˌFK k!忉&F|"׿|<~GO_!9>~8jۏxvw5p"u9~}j0!o[+!#wqY~iَw5Pp3bW(£ݤ99aYʥth4o.sXw95ج7w xwyѦvĊO +LܻaE5<Ȕ*I$6Q/`˞TS*οù֮ACc+eS^d;//;6ϳ[m?6aTfcuCy< EK!z#(xeӹ,Fx0o:\e U:1 ZnVnf}'[:L ) َ'h?3 ',C o5[6/*eZ6jP@A 7Yz_qr֧;u>/d>325>$7gٻx}mY CƣЯLN5#|!a-tȮC,yWr{ Q٪`bj®.C>oY:9 B(u2T)L$UFr@=FEv>¡5!yw۞}}pӝ`sayLA[F혂gl\J1sc?K@'G޲r 2˼%K+X*ғfSl2WcׅuܧkB꒝ک?V\" {0t,gK)sIPBno6NOZuOZOuN10YH % JD;_gؘfO:6`cP]1AjɐDA\^2oVupIՓ~Lv1rl_Zl}x"Ǘ>nl U\fr$]UtE`qBPXH#1i1eN(f{T V 82QYTiⵈiFy ˳j/g$92O[;\D j}XGF dg{3Q?T!ӄ9c?y ~񈛄"i3vt"N@b'[sƨ{'SK4-BmuNMLc#V"(/~g4ZM%MH>M0(\J.V j2xَǣ9V/Şކ<,,x+J/ ;omj1qƐ㭏ȓTO}k'5@*)$iuSQ51@ME=lyX LWNSۺ:bpBڎw,*_:cQi3~0ꥮ!B@wAp-awhQmjK.Q/G؉malncԓփ%qnu}:G.sw&眻.ZG9=Jr2ϪC`:;Rm}?1bC3^7.>ccX_'֒aLl[ }@F8{i1'K]g?Ar<+ +%M'fAF΀a#R( ļbE0:5E[)LZfAt4-0AY8榁BTs(mVK7#&ߡŸZ*$QwaLM|R0Q7 r)H8@x&7mn>R|Q~3^,*{:$Eܳ5b:zHXa#bP}20mCF岳%%V x }9#y is^sĐ{,lp>~{*Ib@sr`Z7 ;ؗlT1z}Z]繉Ʈa;>I5ʥvFFq*ӣf$*M(INQq;ws!4XuRנBl$P諀ؾ+GGDk+(~kt8ݼ.l/:-['2 ²YB{ 4yc @_IQ.AL ũ_UM[LH QHoEV2)ZYhz@̑\oqv4րps9MWM ZyC=K` W[)/hFT["K̗p\X3'i*|p&U13ӎ jXr0~X7@{84OodmF6aƚg4Pgc̸>b?UD/)⁁vR \e]ٞ2Õ[YUv./ /95pX,ι\*@z%%`e]X|U w&!)07FkXEo8Pv*>wLݡSsv _\~ɡk?KB[CF2,)n&݆˰# 0=W(cgP& !.py6ϏnVGxެEK# EHl|&CH1vjYG> eafaE_G=?q(> pr Sr~oiY\`! -.vf0o,-_!E,*ǎ(mz\ا>zHG_ṔBZH _6I!Wui`"*Tˆ4^`Дe>]?ؖ;s!ۨFbúΦ$}8NYʱsZX%v =vx7PzA UDGO~ʭwd`N^Bmڔ(Gn9>>']g?x[#p,#}Ɖ[b+;N.𯫭/xb,Wd>䳑DZ{.~(faAS๻DR ؼq[xS0geZ5xWTS`OW@=e8XI#kd!`!ͫGdX5Id"ú:R!X]"!y*jT`V36N,f$7ko>ih% dZ͟E#:$$ Q-iIڣkSζJa֑0[9ic6;b}'x5wd40NNqM|uL J~qD1CǓc6vz2?yx4nLw Q M|ଐ~_9r6t q+C0"[.j{u,h_鼟R(Zxלa jI¾jH:ڮlY@0FӋ 8ށ~htrCZȑ"f.&=4֥C͚6\g1mq[7`Ó^Tv`z!ǺΚp=(ٷ.)6k ղil6⩗0nr,.6O- `y$l#ohf/כ®~2xS|Koh;or%7M%eMe ~n7-[7|7s!dvr=I䷴v~Omo|#/2>S]^sS.Jvu^~(J؎b߆T"7<+N,ڙm8YnOhXLHU/h؈*z3/K5Z8GMbovUTWs#4\Ʉw\u Q |A`>Q;۝NͰˌf2 tLjww;}d v ?wU`eXF$?f7&2뛬?-`' &GogFmL3:ICU,TKh6 k`ur賓nʳf.aբGHEۀۀ˷{}OmtzƮuﴃ}V]G"_TVJ1muر '"-blVdڠkk:eo~-EO "m%z٤QRLUg]~>H7pj4bz m~5'K$貺y D,Н V%Uo~aSR16,mavskh_]7#NR"=S!?d`oE$O -L0?Svwpj7otU|vfo>Fѥ^tuxofχY!|%JMw+)LJuMBoL&xwѹ]ٗ]U:Hv亷k|ԛ?jK.z?mi-֛X[j%}I.k뮇w]nN㐲wFO^ysuF}=Gv w7L:&+X'~b]P{mWߦ}GĮw/G<*KɪYzy^ zl}z΃2sivbTءɧ}'3!oWeo#/s.]9cP7g*L gZ"D5dhF7lV814 ut}aqWCM' &Q1~[]qQ*t"[Pcum#Q*7FL_yUֹ9JVf2%X"h:Z0fE:+j\a<9fd-0LizD^+6&k,Uܶx:A@ǦX1qC]S[]3_$mvP%ܡ3288'\(p_`_e2}.{br)=m~g q~rj͠˭]n]>C3֦*NUuթ~ˢuwhk/H M $bAkK LE{\faoy"Wvm_>'(2RX) Rͮ:Wn0~tyj,5N>+a5- .;<4d/%K!G+DuF誼;a+92ؙ?ҋ[u(:ё[H6 6NBt"9GЦu{GQ)5(oZQe2;-J歪46OL-U]0BW5\7: 99*17S^t-|h|U:~bYU,.L^0%jeqL/\ l!4TQ{'}Ľh+rYf \vSrPӫ ?rHrCn5ilY,d{߼/\I画JR&ϱmoPbTe]nvD MIAPf^Fk7Kg↕Z?xo%J=Òg6tU<,ŧy_E4_B~U]l+y̔vܩ0O?Uh|S}&z٧*yePECWf]ph6XE@a1NQSnʬڌXWʺawː*}.٩4%W(,FOFu _\`P;<š\"j]/sg I.TT7i.,DŽwjj^|ncK bΤHOϠiɗهhABi0jBZ}s]q|zx%Pf E1Wrb`y~I+17mgↆ kZ㵔KKR'YBX"GS+DE *,RtdH97˲XkeS_T0"WwU_ `Й۴.@}Ef%+:͔kZBoTlcՅk aT% fIĒC@s>Y!- \—n\*;O4> S*嶤\tW(W }Y>*R\ ᮙss0?ګ+H]=A#XKRSEUщ> 3C2g4Ò͜s*䃱CZ* ') H\Ma;ܩdJb_w r]Kc_(\hU""qHGEيiqX5p p[vXA p]L0lNO9p1NbzKrpa ΰc~h-ԍUnTIm˼QÑ뺄exP %GQU1 {a>qB+NĕD*38V)qirݙFB7 ^?6 z}⚽,Ӯ~m(/K *gGceˎJWڨ=ƙ6qf/ek}u3CdZϦEU"/ T_U ⹷>R֌^ӆ{v_M{,%6-VG7궷W5 x{W/. ,B3 p%a^-wg_B1p-Z=JP(KTa-D ˨@YZ^ɲ"p3SJ^T}띢Lf dP 4u`h81TqFΦMw(Pҟ3\ג,ISfǗZ@Ft|5^fA5eALJCAħ5o^ūY5̙*8&vmWKKtCl# ~DV%}غAa4w(ĸoi1W٭QSc5k ]TdުƱbΰሊ7˴AwF.ŋcS%\9GMe2ӹSԋs$9xoKwK\d9ml;"nah̉kE =EY߃ѾFETUXDO0f9L&)Y3grqȝ,$ɴgDma+3͈gXZPlRy= .d0tp,qePWo aQuQ2+\e:ήMhd|I#7 1hTwʇK:$ nTvF_ќ8g=-^ooɰofcF r7GfC쵬):s9%99I'Vd3ocz1hӪ ;7qp>?#"lȄ瓱 p5Pؗ'.-QTTpe|}΋FXal&|fyLqtIHi"i\ct3yqcҩ2Kf +F^ z|.'ݘ x2#zbp:2Zh'F[@4`CoF֞#:e..Jd;tm2rҺ*qcXK^ ̖wEM&XgqE&s;τ%V) ua;qí -H\/1"XGG )Wd\L?9NOXҷC- ~tn:C@?E-I>}}ؼ<P>vnFF(eJO4{A#"R.ɃH[`Nay`ܛ T994|Ԓ]TEƬфTż>c\@h 2mlX;~Q)Sn /qYtvVLŸ=hAr*K lR؍,V -kk0 ;EF۲zDny6ŻHcjaS]-YVZEYu=g]آoD p*56b+m9 R:jTɗMapE68mk~ ' L!.|:pa0/^s;e99ESM]Pu?}sOS4Y9῍|+P>CwU֓v7n'9Gow6[/۲G551W*_?yL{MN3QQ0bѫ@X=(:i;!/d脆*>6c)D7ޛٯ~G=mFo8yJΘ4=ҕȣ8U6&$Zl "O 166 b,qJy,Ȼ1z޿-q\ hnB<"`TM@@$HO--23*+PT86p HFae<;g}%2Dlʹp_~_úrZo(4}2E,fqS`8f<ɤy$ 0e-I%d CZ/F0`IBLFkY$`" t_K]mWk\ (`Qԥj:$;*rxOL_q!] Z WAk(&(?qאtw[y,]QJ#megPSA5oal"EUFK.]>A:F 6D_} VF~?&¥ ,!" 6x!tɝBbcNU1ZB(d`-{M>XŞh{(BV5d 虬/,G#~s/|5tN2HN»pH-MJ!A擶u3n\~oA>@64MY!ICչjz,YyPIl!g~y{7XճX%NKd<ϼ~tO;E,J.߯JPMruM ! ;]2QWҼv]V+̡S(鐃gIC %bINK]oxgwHUT'wiV[v`b21) c$DPYʀ*McB1 ;2wN{'V9N3LDq,"jtT0"X`K^xEu= "%;d./'{Խn wt*[Ebg繯 (nU7jTF` flϑo /TmB>TB~vzw]^OD&R;Y/j4[Ll _ BAmt‡zioCZ@'fB/pa<\1BIsY%[ ْk)YLX;ip}lM]o`z|~J&nQ[5:oe:Zܮv2lƹ((~'XƸd-P!~V|wk~&wԺJY] .%`oYh8BgŸGNcy1_"?(uj >;qlĵDPDQA?[`z-p# ֢NȨxY҄]Ӻo ~K&T[a ロj}_Ѥl&p)7&Ȉbsb+偳ۖGf9:ܴbHj+V: /Cҧe墼hqr,MlvTٺOX\fRqYt8mjc.f[A 9 R XM[tAx*(TA>)^dl_HZ4qA "Mj%̼Wq/LA[K@´ރ:*ea  :0cmqz= ݤS8sֵRb)JkJ Dd7?ع"X-2śʪa1[5:>BHy$PbEj~9;szqjAΠm&!]E5 uz ~}k:{e[z 5ydOKK@R2};p.>J OɢQKY Xֵt+6Ӆ.qR%%kiֹL8-=YIN+kȿ6bv%\2MIL>nj-?ϰlhszRW .EwOV@aWﯝ]? 5>TxO"9jIØY[cyX4yqhmA'oFh[`-IiKfƠTyIHVx69aӨqȣƭz㴆ӿ @89WZ((Jj.|!{6;iϨض]"+ <4Mm+;ܭw1ژ 9#(o)pD5(0/0@\l[VBmrKY~3FCB2O`(pmHls:lmslns#&58+ hΩR$*)n`aHdhJ^O=Co),KkQ4^i=;8Peټ̊53I/(^{-@.@)׳v cnwa'ہ6]Z$9(UA9%~ɧd)Ƃ I뎆mz:~bz#22+XCRp^6ՐzlrƱ+wXʿϢۊ{t>vMqmrY0^y(TH?XJ>AzEQKXU*6gل`o2WC93sC49rO=/:pE CLgoT,?画k}ѭf3"tNЊiXSW;FŖUʢÄj);oNe>DDžt7s+: q~ oR@Hꦓlvf,)gx@D5]MG~@[_j7RE5u6ol.&Va<"Q)H]MXhh@<ŧdy6GR*:r%L4]FyMnc~Ӿ0)~lŞӏ%ㅟMT \drW_W+g{s?`.lQ7/>]UyD?tĂR@(.ɆR!MMa_vYo6q_a.7rO@*`#70s8+>IU"]I9NNqlE֍s8%5|LU7Ek^Mڲ:J' :}-ɴt]E(+FCϱ%$Z߳}cZmFv[ #5y ٝ>X+Z^mMz#J^0]rRSE9,f\rtE4i}*N~NT\C;|MDb:عk03*6<>~q'n\I)Zba^w6O0#8G'#eQiTz3Ui|K/;Uk:rW/_uɟ(jb xh*"U Ɯ1$<7og ʖ}쥦rp@RGHHy5' ѥP狧$/L΢oV= 3X_I|ݐzM)gŒܦA\r*K5e%oPlfDj)}wuz6l_Je5vFiTDL) 'sZc*ԯ I_}^FM vD딞qI(6TtzueFfP/a~_Q~ ~jkFG緹Vm’ez;O)` d]`6uq9 h큞*.#υ|úaLesҁ`DOCHI8o6;ivJh| *e@n)-F(&gդ EI_1b [~í^IZ/ CѯN7=SCWnTœҾ;-M39@u[uaQ[>D5^q+jacN>:aMAB!] OuAh~ku|ΈA\>KQ6e»ȧSܹЕuF{w,òm׳r&E2YXd9XSD֍ 1L~b%O,ȩqh+ a`'j]4:$#3%+CSnVBl7ʷ磴 񙶉@<i*sjW,Z:@(ƚO•|r Q̫rqeVm|+|esCpzRC֕TBOԟ"gk-n[eS ()qjc@Nevq&! @*2r&q7s߃j!ŋ3jv~Q{LUxo*i^VH! ^h9 X1ׯt/O$fʰ~XΝKѬ)qŔcgR'g4$̀t{FzLW#c&N&9,mø 6'.$=`ꀔICrE{!?)P8j=N/ ͡ 4@jcKR4COE12Bos%Zʽ5ks/_3g^G%ˬ]]Fe%ecPgIBg?"7@1дk aC-?AY#gFj1^_W&%rG:@.?6Q (gZse/ yhtދ>Oui? UF/Ptl,gez!R4w NJ IXtd~S>^m9YBqY,9^ ,[yKHאVwesd {HtKL؈ikT:NJ!^IBjEJByn'`hv~3=r6[ٍzێq!w61 W(ߦaY.{؝d RŹy y1%grFWy:Jz#Q [p7Yb=,~$ !7bhm `(>6vZޛNn n<cEeyJU[-}ڼE;G{a[Ii΂3z9fGA.сD)&2x[JCD2ô ` B:de{MaXwmRO}a3g~A7kY0; A]X m9An=FBӝ|Zh}QTM(F# A\ʼ |h|kBkv"|u)'!pà}tۺ5/436 ~/w.xvtψe$o6o'DKd7L9QqrM.>-ɰv@-W+ݱ, 33\f=|~؍:q#F_1.T̠*̚LVY3ou- *x 欂V/^a^Ny4z ZL6%-dτj7|?iռ7-R#(ox7X(cCal}:!-jI {V;k?V!sL^L3_K~ygGؽow>LC  z۩${}Gُ{@0AuTU$Z'=C$F${6V  Þdj тB %fԫSg_w:wU4ؽM45LZFKr3m/7,MY.jX斀=g1iIszi|_0}?~A iC}[+lȏvnP(ʳd1Bp2m)[ý&,L/Đ \: 8@V}Ap@4lY"0}®e fY(ux>5P3f0IO?EF^i'}_8lI,jp&y0}C:dgw'7AD$0XL_=ti!Y idȇnhr2gT;8$~+X0Ok pa`  >k\LR2".\7}Md="˿&3wBdhfvꋡj)hĀ 4OjTdYcD{M(]R'؈0"+cVC"i0LYq }L\=F9E` +;Ku_Y$ guM8ż_R"F#S]@y5^x(%gt.Xlbcz05g܍g2z+fov}FFbcïM@)T!YnDZh>x`ĭFrS`Nv~1v᱀q`|9%C.qL76\fխ1g0\ h-<yZ6F @Q[=E9 +yFH!by"8IR175j:Iv^ -}{8'cY<[xj#4rT}? LuLbx̡6' <ܓQ9<ǧ')9=juuZnZ1vuŁ6iB7^KQlb\1 \B<WC  VM0ۊAk7''_ŏy 1˝:"?u'qgH'gA=8.7_Jc^zơ*11gY~0p.Ģ+ -4QVf&y.0Cp6C˜( ~mx[?<݈vbO0:q,A c7ߛ8fMK?"|  w2S?|D2ZP .e YLsp~{N&%Z.ɒ+vԺ.7\z}6"n$ 3)k?>$4+a,),8/C1Лd7dD{v*ksxH7):)G>Mtl=Cڃѱ-iAKs9?D>?R_Hxݥ&R+YW1 VN^4sؑcH]*@u$^3'?ʊ1Mz=f(رC#1/dW˰؋Hcg~ XK7rȏ'A1Vmh#=^2*jnX鱴"VK|ޜ.ER{fZvd?j@9m20ݾM˖tz*{Hݲ(2#髳{ֲX*ӸoA_A³ǥΛ!!:gzj-NRR%–X\l33AMUM¬_OvVI5M:ϯuxmEث&q5d%3& 'n[J-I):Un>7; ያI`R}d&]7 Z k7~vɨsy)iU4>FTugJs3 0: zn立uChS1f2\H:nٴv?S} K0jo!d:ſ[y n(sYMƮb92LC[vYJ2-e/圎s!1tYا}R+-g%acgX/7sz$zH LT >8~9SѐݭA. _=hu'Z-"ϫKvƦ5¾ZhTU@s2kG@4\`7]S4u7xYPYNPYks,Ԡ{+wHnI>R4Z;z%-L7[#,LR ļ#ȩ]qÈLXcdkr/_)& 7eTI`q6`|ojW6]3Mߋyvfd(MDHƤW%jߖi_]^3>&,]a Ki~qhӈt@kr){~<5 6cQPvb]53ÖnXٞ{,s.%ZvFBm"RF,&E 5~mvXv{mj=f _N Ka.LuDaAoE*XMs@!P0_*}~rz~/' ۄ,⾗S`0[+&Mm15y1c.^GJ _+~̸et24aMT fXzN9' \ebG.&[DpHwĹnVHFKM0}"oU8ꙍBY H7%01ٷL}h>A^JvF#o_cbO~nsEf"ge+ sCoӵ+Ww.)udF{F Z{LVlrb{옫_ ?L2o5;6jA NUM` u vC¦bt]%ڪ.u᫰`!k7z[S.T5U kF hy+Gp!CtkU*KQ;\pUsl3+>2kUTW: ٿ)f]pү̆/8I})1i3HG3,p@o G[`7]1+Xؖe6E'{FN=,+NMϓysҠs@P-'Y-Eæ^z Ͻ|To.4z4tOMS0C4k R&eA K-F:b#RW#`5۽Ю17*UeuI&v57LWaSOaӰ042lYlCxX(ZXլc &XL]+ gj7)dÂ/H1 ^Ɏ9G6*U2{\DŽI$v /k6*r/28sРȮ0A"網]W֩ 8@vc۞1xSqۏ+{/LUѧ0j%lc4ݵMocb |>Tg>x|N\6RMZm ;8XZ*m?ւ؊|MSw9̈+ s~}=/۫Qȑ~ bBPjixacȠ7rIƤyՕ m E@HbƯoukV|+ݵuWiXř%;/ޛe5t$0OOr@$#V^)UPZ6D5ߡH4Ϳc(VX+VM{7٩<` TBl[xۡ''nHr + eI~a`Jl[HɉyqA&68"p'숪N"?I &*~QAO:6h1# ;SĴU9,X .(|=Dr&+T57$wE:#2csg^9ih!R_JvH]2g!hc@~vaª#;g'L:7/.Xw0{R@R9kvq7w˦ZXۮlq7QG }ݍ1̀襗KZ>$PΠXx=ȫ zUc:5FNj|v#Hx1ݛ㻱G]gcXn p%\~>MjH,XX1 7` &u5]'<FfLG_-K-g(!9YM\f)3lLr~d8;y!x6@F*щu 3mv\-_.w JkRpM9΅6 {} ofg{1ki{Wudgs>A;;Nsxwc)&IކQ13'ǿCn`jG2sp+.EWѡףbOHN^6E3^]m]r⟓ kww+&C]w~EAy@ z0Y&)I`}͒)!5`7^a5\ -ZZ S/7u&).sㅫ0DV>,ߔ&.,J :+smeL~>9l/"%}dw[,i}.z# YģD=,NνEl cC1ܝ=ak $*\pK_ǻwfn~uMv*7nكIn Ah9zNy+z3Z}]WoG>~KWW$[,[᝻c D[;rEޮE-fu-Iq)Us"nv^+x b N?`[b@!t@wZEpBGQDQ馄aT{f5!-qOf(sh`>cg+rfY\MH[ee6\C*:2}׋/W!|35es},GWW#ZY+j)Pr'bt|W=|OX7<e3 몊 Z5ZCm In+hHش4b :ap} 8zo/*f157^sa+VMds^ fh1ƧG?]\9vJC|+Ypyygg,jf{iMA˼|bdآ*9p= tTYWȘ:83}Jb.%bdD:DȟyǸ%:x:&)ՉwU& s+E$Uo$`R/2+  eSrޏ@wH0|O{L TswvnݴH}jpR+L#g2jFt?-\ռDקHx~] ?^WKFNRY*`ͼMpP 3ؒKK=$;Yި4s#`ʎ0)QMQoD=|6{3s` f.NڱĶAg>1ЏE ӈ߂H %1V IrjRͻKK|&5E`s=n 4< n(MnHz#4ֻhU hiM^9>^68Calj3F.#bݍNh.&ԉ%k41<֞,r(R]-CmZ-⮷kK4]i:%׵I  yE!B5b;C8O#~SͭWu'TU 4(*_;uƓì騖j֬CG&4Ƙm3g6WAKb(0gc@ӲIa80+R:d"80GBexaxR$ z*iwi8Hx ϵ(ROe"}]hYerD|MSh}Q &5Ͱ NnO&N8B",ԢVNȂ&f@6JC/,<^9^DHu[ݶJxjHEWkШFO9 P"l_)%jj\@`AMx~Ặ9-@BWou[j=hW Nd N6lupgX'ҟ@$U(^\'\ h,黓XC訡1in~ S4+F/d9J 7Wtr:"Gzٿ&3N_a *j` c$ANU[ܑa4Oa1Sle(DD#ǻ1نV8ʍ94ƥRNBGc'j`PSjJ,4T#7 gC9A sJGP^T!RA1h>lH%~}$33dwwޣ1 g %"hS`9HCK@Y\hVIsZ~7 DԀ<[AbNiq g`d.BS,&@&U堓pGJᡁGccFaٍ$2*BDŽDwuܭrllE9K* 3L6؁ñv]zرיIGWTP #x5ojО,ZĨ9kqg3d~L֦9Gg1ϖ܇%/\blx2)TE+]ddv|,>%Uݍ6>gʨ1%p(yT3",ffrGYZyi96粜T+93`r"@gD`L]`SZv-y|э# ~dktXˆ[lZfCB箎&q~'f;(uWNWV5?=..Sxlhצ(D"PV?XXT:g [SM}*` mRGMs@{¶|"% Ne @=mR A.h:lsJG{5[l?TLu#Ds{P+DALtrrF)#tasIVXֹؔFLJ]Q./ gdѻw0s©𿗨W>$`\:R u^>BGP2 X=fP.okRXhhZ2;;WKB[\u2ãT2<=\Brh^Vs>P#)v PNq]p CDAބĢړݰKɑX>тn#8u0~qs [ж~xP=KWwѪz̳jpt87_ WvROJ:F5-'l0r/$ 2^CVش;ݑk ±* yPkK*mˑFF_1J5yFu E k#~l%M΀痮,;wU`'D?c@ S+ gtxJdm%y(㺕z}ǜ’J5 5o=qj~7I˦df1&D<7 -^s!*$IʀχXq°kpjăYff%4 LQ8h7V v@% 8:#Grq mZA0gi91?hb[*neA\ȮєmyA!ڌp}`QV^n31{7})UC8 F,!Jfܖ H҇xQA7q^ G(eڐM:+fԘ̥ҫ(e=QOO(H0m# r{yV&f{EjGU ܲ@dP{ǓH ?.!fǭ isb8;=&4۽waKnR& gm$d] @Rp<ת91x;EIڅځє۰| fIuSbMՉRjr'4ȓ^HhT3/m6cA>,2rAmlmkOnlt% <3~&ncYl^\%y|k%*5u tE{A+B8t-~K2o7S{'ҶV~[. 0>U9rUY+xmR^!5waJD^ èf %71L U=詹+@u_vf\9!q:HtZ) u_»{)Śz5Kz$QSBE־BWKʪa.C@(!P g~6+Nq1St=%ɦT;OOCaS#,մ%(b*JcݶoglQњ4W [aE7&r*-7JU^yl +tjU*w_%EYT*NM1DPU#u\^Yy7ۓ xzLPjJwb-v]Q2GrjMsr W^6Tm5{y\ qA}hܨ C;)*3UgW5k+SN9(wHԤhd_KǤD.8|uu=tF _*랲S4% ӣcbYFH$J6.]Xm&drrLoՋ? foUp1bG5pqR`:U%4_ÊG4j Hyr8H>|^|AEE5n-#XTxAg 3ZY 3U|#_ݥ ѰzUDRkYsx֔S9F9:-ኙjrLSG,w$+/'k^|v6pa9r~rR,٨f.BVM/1O"6PPrd企O8jy XnȎP>]uAio9Ǧbc|'3zP4m:!+/|'ViN;x'5W/X[ \vl0sU 7E4=pp[-x<ՕlTmY]c vlĈ_c[́V#b% g`%! [ȅ%j+0)gL ]D&#;ĦZʟn1nܰj,V4Dl*\W[uPՇQz~#5@7MY&e:O3ׂMMHPe׳ <-b(Ch T9R1OցbGmT:,ڙb[|u[GSn)u mҍ}bn/c,%9;8Qg"k`+B}oh_WϙL|+>$M:e`rHzN?me w8Auszal"[E#\.zB t(q\Tg˪p,Wv%Ib1<弝I`M{MR0)!`ò5YM ڼrJ&qJ~C>X[tUȁ`;8g%0&f]R,.l,]upYHzL-A`l T}rf8IT4W9`غU&:H;LźбpdJ] ܷ#:eI *\N!wFJ ]zOB%|N1NOpݛAG1܎j >;TMr؆lZ~eM:63p9iYw3ɼ'R`招Qe>0=eTֆ*|ҡh7H1A'e.+GdkG"Y:XȢ3k1xl=],kSKɰe%VΘ]>(vٽbVp+~drt;[;[p']ntro,xꫯ&Ͽx:^yW_y5ܹs/,'18[#υ7m}ŗGx4 `&ڣ\,Gug_]+ѯx$_{Ӓ ucsS쯏QAƤ_]aE^ 7Bd5vmcYčr5vh RoSY%j_iEdl~̀%P54y냚f3~b::Vw 7F4]ą %?~6WXx FRz 'X}ԍU Q#yτCj shN}a'8|wJdԜ gQq/wP='0!w,K:E"䀯?.)ՋU*88C4a|K>v@ ŭ'"o r6Ϥ_(&-s2ѷ'هŌfp!rD,,s̐kÿ% {e}& -Kd16(jbfjw:ɣs\m'-`{֒jtX ZK5$džrۖ)/Ѹ%LzUzuռ-` Wz9q^@'`΄%>]ZNxcEjTXj{PKogƩix h"e~SW1DB"w-Ž]+߲jaOb5M';9E,L'YdpK]y(+va=6\FM_Ϯe߱CMlFd*B_8L3 ٹaQ8FRS9I~ҝ#q{ ߐSgsA!ndW\7$^ҿ:.=mD$NΘŌ>vեOOK>G?㯸0!(QKW@RH[ la(s]cؖy.@8,y5zImynI3ST:x9'B\niQY23,J3Ax;GsMru.!zKT2txu.\E ӜI#o, ?󺎌tB@쬷5,b!rnGdߠ~} EHss,-˜ -e]7 `n}яe%p,M@\:AN'BiGjףGaϑTW Us^0Y9jǰ􃄗-˿O@t/D[ "Jkc9~3'T@Au@8hdߚALS5kG[bn. .7e|5}OSsg7+k֍[4u7@d:m9YeS'kQyjè,#K2tjS.A !q-Mѧ2c ,r(4 ЭP grc1v?=gWuF΋' _U~Q6s b+FKy!b]_oKlیXdˈb-;/p~8: vkX }[5hπ'9h9ϒa Ro ~^c}!Y v$3CzWW|pހ,BGl6$CsU xNyyZCՊ-Ӭ`N܈7Hvrf_ Qz@իӾLd.#10s ɛ2jfoEt >B_iX/qA9 ٧i='19QRsP)f[1[)k5"( \vQWk3!&#!`8J~ێ_ӍGxE!GNξjft6snl rVoefa9!ҋE #x(T8NukdI1ӚEBai'7_{uYL[)Ф!j9B"WdNPAɦ;"1Ƅs=Y9J)ɟÝpsd1G.16Y*{cWK]~sr2X⌥|D@uFt;Vk!&XAdٵ(+5G}AN_}c^(F7jbhGrh#=gz\VvM~( .ehGk&Vh<}Q-Yl+lEpM佋g-XNzs:Jk1򼜐%u,`[oF.FFn[T .YL8Wyp .Oٰ̯0oY6+rq,fk{{%#PlW--n JX7= 3V K(BT\%笶91S`Ţrl}ǔ ʽMOTw Hϓ =jLM}?7} q΄+`D]blMpf]|+ dg"[#-ydX,G$uaϛaψFGze\PaCR;axe7sW Qm=O]ʞ)blD<\i%pS#~}x@QJ:6\ae&Қ;+0&[RzH]6 Rʂo0K%mYkDJi= f]qV$j$3UAZ2%&T yUk(Lg_l:K󵆌jb7GI%s7NF*O|X±O5[YӬx7/Vmlg%ʒ.)}῜kHc -< 7R@Uڎ`2aqHF]8*ڣ$v0ݖĒbٳؖ$K{`c,NfS*:5S=@^O F{Rն;ϸ;|vͅF@fF+Z>c!vmRcc [Y{y] !@=ӷ y ˣ] Ɏ =N@( w-o037Xk3 # ! A~`h dyʖҐ}ٶژR],%LlB2Ӑ2Vҟ+QYR p*BDIekIdUr"pʈs2oqD|l|cвiv N};ͼ3/*Zd5s(?2W{v%y/ex*^M|;w޸ܞO}}EȹWe)_zQb9.y555A9w+ /!!1ƾsŶծs^QFUXuɞp@m%Y3 rݩs," 0Iݑػz\-jiZf]Ui7捥 4U΅L(^lMGl~3ju ՞?FQ Gl30yVciUB?ҡ:h@v.,\ 7UyUDOoj)ȕPQ>R2~񖨻8۽q7ӈ]_TcW)nyД3Vp"N}Ě\36KYK*`W$.zb+@G''v+ 8OjxE /!S`:z10eg{#o~.MEcskvk åV[P-{4Ɇ 9100z|ezILG^3 nոŰ0xb d}$_Ǐ֮^}~yRx:iU/3 6 if os-*l>jH>oYo8A-1=CSK4/2Ck }PR9 UשZM 0Ƚr',"IalvToFnsOt+l1Sk 'hh~n~" n#BE^xSt VӲ>89eqm)7V\`lrutg OL({pM;g+`ULgWbcG˾ȥ|֒+و(} W u֘k- ]XshvM”zvh3) %rP /*/Q;9q<"J A҇RDZ.ڮbA)':yKqB,Ƀ֭` )(֍\@1)|!V, ``q)0Qam˥sc /tN M_`CJ=k"Aʁ]?ף Z)$EʓB%v K(x'N|>4g7 шhy*RL CC[%.6M+Q!-50)c@c^a1 cxކy)٠c5" e<{:OPc"Bo` Kk-%dz y"/oFFo9~_uAY=# BDщ̈(:(cD9ˑӁG[qi؁ep-he F! aƏx.rg[?P2<%qa;/zK1[rҊ*\O57,&6ť7ԣE"ĬcX Fʧf97vЅK"?̍Qw))(0Cޢӿr5A۷hd, ^^;E9EP@N䤮H@Z-yWWq+*]nΪ(Iq|Bh;^zVv2;ʜHG8m1!&c )VTrfBv_Ч.BUm4m}2.H(Y)RKռi9DS%1"r]U☞oUpDkC`mt'H.IUisTxV$NRzS[^x^l.EP!-E>hbA_]urb"$!"XɘL`~7S!0wcaoղs^[D!6c=Vv>)thlk c.bgpHI|b 6)mrcHfvK# } b\AM"Tp㍖xwmR'9eru3s7^Qz.+^}xECn,I57ڷF&{yQxQ"J^K;ɩGb/lE3@´{pRe4yg$K^V%wpDee>D3NBl<;|UABpXH,0N.M+S%biǁS] },} ݆~x'"ںi VdQ쒂Q |{=lSQHWn3PX_JcFgƼjAr-&⑞}8}k ǻb Re'['g`CC͊5xy(Dz@g}28KTX [)1P"3 tGSn1'CQI6&J~0O2001}M6D,/"aM/6} .-RDbܛf2N~" :scOA2yg8>Ö}Vijg_ K&L7PgcdϕΞg=ItW+Nx?Ť|Z|{3G= %P]jt cf~+ڄՒEd֘JcxJS*n5g<* Gtr?ɱH$]TPI]8_af~_dW=;7N 8{$z='?ZV1 UlF,Rk@eyfL`䙯ٛZw٘("$'wpp`ձE<{%T^(m]dֲzqm)!pU5!kK ,P"UK1Y x/f^&7!6).^*╄Ƴ2=I|Dz;oÑE't n3?:4ė!+猒b7_d=,qrLN}|Sa[Lz[A?˻@LՐ]pZ)6#&ab:š#*7qUK^t<Ϸ~5jbLciM :&_yCrsULXDə;K 4輌wz[?B\K_u8txi]\+Wo~x[WN_'pMbbNi<Ӡvn}x-:dF{#Q\¿7MfOU۝_OrLIjmeKi[؇|3yAwlٺq-" 00Um/kvEk[T`̇ x,:ݹKΩț*fTH;5~.0}tt*?yS+jG@.qVtT0N}ː|4=k+Y#hX6[L_ `u;!N>zkr[I\#6w#mŨoL&4]yN}-&F^GL2=qw:"MĨr9/ tsJKK+6BzqsDz3/} &.ӪD]%&3M66P_>b<}!pDVB(WIȫX:`sTm ~x _YD唼ixK]~EZUV/uL!< Mal2%Bk]aO1>Dqn 1[ ӑWT#S9+V#DWWxB p2TN u?kzrG˰=0X%>PMZEޚy kj *LaGxo lT8d[X:h#4e$ % ^ġi5i 5-5$[Frm%ozG&U'D>oy֪㊾%Odgh6>%UW7;5td O_emif{rsEx3z{E)u|U(9z*An[B{#pqZrx_SYex. wNCqf%@y.ճF :x씤,T F*5D\8pVk\`',s=F(eJn*] 4z{l[*sx섗vр)(Q=Z^/-q%!Qjڌ$@-3=ZW?Q.xN7P <,PmBXS+Wb$U2p K)}9MNumD&"ۈ#%;9b޶wQw *;WׯWm:s)l{/X֙"^2kұZÈj3YQc}kaQ&+Y*jWU0aްX6PJ JḌ3 e[*nLL<~U[[3'{6̰g)x+HU,\MEK7m[oG&e_YXRȂK5ar\6M_((]٭-&Q@:@J~Ve(+/4d26΂jda1< /US\U / '}睙\!^fgʖJ7 ̓Tt“BF]ȸ+F0!!d@#ũ**d=Tl₄2Ųc|BtT,Ϙ.A6XN'I 4 * $az&[V\h޺q^q34@X9)躕u)\HV p8W2`Q}sOo'S){t%QUѤ)֦;ţ+WzJ˅-D8Hs[ UFbE>2L( ѳT"&`[}9yc~H⮫hRassFd4We'x=!zzh+ے-BD(M, AX^*<' GWpXևU%Ha)]ͩ@*Udmn\X{\ x "L}l*s4DP_|6a_G&Qw]7LX$=C,ệ{lԚDAI9Ns =K_ޮX4ƌv؜[N*jVP#.jm#,W84a(..SpRbdjfdNɈN1fn=:#r&bM#noLZl#&૜Wdd5%Sʭuxn Mj>,QMҲRt#G'el L ZFp,DE/#n=PeTFIuXnp#6FA l;.+C4\i~ʷ)az~[cY٢K1'yˏy jvE6g>iJUwFW+y1L[: 85e!^Ekgϸ*4gew_A%AK ଻)2$- A4^Wy9yxuwfʸ+"!%Z~]ٷDE^VSq[F}HNDuR,}Htaml]- i8Ǔ] _ZL'ohFCO  zAXwa!vTZ Ƒwo"" r\b! bv6l~,XVtva;/TUx|NK弟\ٻA5Ox]7۞kvub~ T[m pgy.^Suí@\R̶/ݼvbDF X E}Ѭ%-"ӲX~63~gy7C{ιosIYb_Gp>y_ϛ7;a T*BMM],}<@3ٞh{ä^+~)jxWx4mDy>?<b%5lJV@]ʙI7:J$ WEvH8u0&LB-b6AkY=n@B>CG r2![,DnrN,]g53Qs-jdEknݴ"vr%&0twdCFgЊhHL39gNqk 哛w_N]ڹ|r=:ù6 j;HAry$B/)l!zgp튱S7EE؃Hp"A㊄mr9>ę9(`.՗G| _X`J AoKh+";u7GʦI6jj.,F|M9ƕZ9ᔱst Xx)2nLq3g硄AU ɜU*hV(G-v>73SxiJDȜcA2z#4"&Ce4QlV}8o.l@fy訛&Հ Rr2.0$.eaŻ!6{ !nԙ>QDt>k>s)8kq̅%ӠiS ^@eW\b1W6N '%b$`Q9_\GّEyI*fNV#@ƴG"gA҉1 1 MwnqQڔWM7OTt7Hm&h 2a D"P瀦LX~DH )u 3"xs{Ьiوc5[-CDGآ+Q<QFJ76>g("je- {&*%6"}Fژ뱟>9 Z *Kڠj")M6\1[I1'xsqŋ7s6KDngtO~ʋXsn[I;`0'Hj-~leiwtCffh\yٵri01- R5<ʊFrd `s҈%5 b꜓ `|䢴j;+\$<n1צ^,j0U"R&>JgnWN=~0 QVފMY4%zҋ8Kk!I5eq/5'KSa7U0Y܊1>[eEv{RPD}4f:d@@px;O 1+o3' yJ8p)tEW!a5aHKnQm^QrjR.s WPYiĕ8Z * zա{^};)֡jLK.3 J-s8_ /fWOZX^)EY%1v]w qW=%uWf0;%9Z-[Wdh${HX˜,@g"CL$?|!m ʸ)BJIY]*3 $3k_7$(EsMhk,x%10ǤEphT"i Rte;>r~&IvPP݆ܞ qi08s1(Ds-p4m OTy>Mz: c<%8rXQh.Zp~CHbE$ᦏ$K1NEL$JP6+({;3zaKL e(jY60S[#bįf;(D /}2+M  x.\/loxd& j^ăs5*l tf _sf6Ӂg-Z5DKW~^N):2PTx\uhbyY*sVmUw;tͬ=b s#`07LR?N&U7(.Ӵt!<oi?B3Avjc`,W0{qj:^|~5ըe\*>~ॶRE܉ ~ޕ:НV܉o9S9?99Wy T!ow>xߵ(:ͼ&E0:Lw7gzvv2&2~1,k JY `(cZXI~r(}K*ЎQY.ZA[w=z?j]@{_2t]O^.Sjx;[YL0hySgcŪpF.An)ULu;/^-|adnė;b쩭fX52 3SQe$^T(YAPws e]KR({nnٖ#43Ghzaj+Y*KEN/m<4brc}3l(ڇlL(&֢cLb-!c 7N=ߞ[GϤ}9@%Bة 5x(0~5lPH\<гER?OvĪ|]%p2laihl!z,gJJۏ9'^"bߟoC7=0hkƿҍ|XOjKKe;ilÆPBQao4 2l r ]tw0L=HȉA^>qw~^D$!3,WȼkBLUSgT0y=5E깋?f/J|f?O,~wm%OA'8٫/l +9V2k ɁJ_DӐE%{h96·35+:GMIAC6 +ןMBiڡ[$RJ `zlT-Dۤ+Su8_`HQ>n0X=@np}e! +ג#uo]PwkL,3v>Q(z*s`tT-y:5 n˿MAw8*P 3':0Px@lw~kG}YaN:WmxEW!U]L)^(3[7S?n"Jӹ9[>敉#ؘgTZ ,bq0p&5TQ"} Mk /CKh\6P!v:uF 3[~ݼ4G. k x c-Rd%2>vU&Ԟ^] UEĊ`'^e>Vuw>Z2ڮà,.ؐsl,7ZE2Ic#w:]Q2opkĶD~YP,Sm6NMok&3c$M,-㆏VtJq<ɽ+]GivU0+KT"afgأm\Xi{~-"q,eȳَ9Q|,4Gk67lߣ)Xh,;Ĕ_eVMوM:CU@el7C'P1ʻjn /{/+tss1%@cڑu8wNXf&Ƙ8/y0 )#X{DU?ߚq8ō)恂٣Fں&k-EfnrGl hX[W/܅2ћ :;f7KhMtq"piͶ-w%!K!MQh_qa2R4n۬*XUނt #f:l2jj7j8>N2z̊Х*TE1u)LKD"3?QF~l{CO*ƍ^Vu *G^7_ď 8ٖ&RL}ш. \,\1W MwrCN$AGoIZ` {uM7]%trjBX٨ JzPʆcxhVE]Ql]U^}~3yܭH+^“5sAW΍i{dEj=+ bLfꅟӧQW Orzv&!(X%p\jOqsd8)i@_3.l%M!%uRz ޚc%r@l! w;h E#Kŭz.\uvAo&I/?OWi%)#[1{~Ƀ!d5r̓Y;"D;d lFI)sƛ&gXS̬Ӟ3SY=em.}LNrpL1Uސvhv5AA/@T^hz#nnTdD #ރ~.׭|&n}S[ՠptV.:@ כM l {U_SY_\P M@BGom@[Qi<-bEoZ}ʫxM7'{T:ϭhj$M6t4+x{+~zI2mFk ؼ^ryɿ>X"?["MAdŘ9`nQrk\ϭ-j.55HhĢ獆3M>{t{赨&M íETu,r5цze`|`_fNuml'VdH}[4Lpo 3' ZO.#\:MuA򌝟"6K!iN>l[R90p5Ҍ561,?&;aJ 5655QuGI+. dppeWug஖9H95_\Al\BYS@b:AGؼVZ>bd<sR&) (7ROu*Rbܗ㬁i@d 7Wz>O<ZQbc'EEW#Ʉ+ha;'PYT1k$@\ay?C/d58zDQa+ZU-~f̖>99mSpZƩtWcvMaK2N_[PTe^%xhQH&ljZ?}C@^g‘aVm#׊Jb4nhx],{'yִR/mSI`~dIifk .AY,_zsv;4({T#Tmxe .vqA6`J!,kjozGܸu3z=])CZW̎h:9DW7b pƛ GQ%MՇ)I/ >]LXIjnXWP5t tv Bm^ #ϙci|{~ޒۙ9颿1q"#Y.@8;1ꀫcM{J8ޯ.:s1tˑ|b0##{Jq#)xFcU?} uk ?*Ob%V5PtB3Tq7'S$;g {4S~Yf* qBz;R0sY~n+9zUc33I~Ț:9G˫HL]=U+xHԔ -ny\{#aeC$m Gh+?I~1U zcLrֹw(fZCbcN57((|$g +;6PP4_HW2#)(\y"2@]㤼sԆ|DsNꢎd\wae*1#a hq.EOzB.zI“"2wXm9H!Dr͸zA1Yٺ%\p.(*dXv񹄤$su8`Ӆ5g\Nc$?e/ƕMrѶd5;pXN:p{=\f[eWkV d"/;% ﵣ#,1mhu:/3Ya rL98zá4iURsCncu5 R.tnmp.dDe:93S[J%bJWCˁ)A-.&  4̺M'ZN4-"U󦑷+8>g% TLt#?/5읦a rL/)_+<<@Em }FSFz%.?(ǥZZAΈ'n9k %3$rq?06?KA:PZTzHeC|]]ϭ{T0ugiԩѰ,YnJ(8[2*qߕ]5ʖF@<K_Q2J~F/ xMMC#yc*!mF2kÖԮc5\ Qt,A fo\v( ze.Ӽ2݆Ό2֗Cyܑet !{Ú:*Hwr(KdtR s)l/~ |YbTcf.jLICU܂:ؑYCivVNӣY{~FlEt8Y ։#o<"{'HZƥ1DgF4e`pxmD…D9X@kdh %$=hCS{9WM6W Fbz [JUZ<]d*QGNJ dbȅpOd1=u3mvzd_#ugwӦ_ ګstHz^6"JuyHc4S"_mڿ;&l4z-?eFσH®YMaYO%/Y)ޟk(Pm%;_[Gi/SU5wQ,"U&1ANG ?*a/b, "h;-OPr Ljn}Q10@wxWH^󋙚ԫ%Iڠ0V}AqD)ҭ[W_ <=1._.Ӂkz mQQaWb(e>a1:y9XKQrBJ$;<Vrz*%<.c1M㖔hXSi{k&5MERF1SܔES41Db<-Lr V33f㈠zLJl5?Ou>N"Fvfpè\zB1W) dQQc|\]nGص#]~+]=σ^M+ojb6TDVpal;ըܗkL lQ5ŋ7ϫ: `>AeJLnsMqIg҅UU>{]N~pvdvk|al2R~bCjAvGߜ*.N6_׺ozq<ɛhuѹ*?@'H4~^KrίX .4 FSkof\TW-,0t('S6q8~pDŽ\Qew%'/x5wNmIi,#ٸR#K͊QUs ݟ ϝg/Hڃr{D(u^3:Sr1β%4 5Zx\+1Wl\9@e/+hbCV٩D7L<6:bɪf>n-O~7iGo<\P>Gڜ4n O.Wb{" ϔr2 HIuRJ'JcOk.rKO8#{V0^/ fK]ch_]N >naCToS^jлIPΌǶu2x8ޒ"P,bZC)g|7>mv^\+i]m^vqE=T0N u$FXg>QW~>oӷD0+ YQYt+ws2##7Q|e=  )\[]MI}=>LYk7.zǝ`OKIq3ɁΥs[~/_>Wsv_z_ƣחοBPW_;^z_"?˯+ۿsއ_}헿x鵭s/kc):^~^>tahDšzþVpZ D}$J_Q`>{X·GO_MnM[uo çCF~?R=YDxa+Wkݢ>}IzwX;|mzCcQ至xl0EZP&cD+v(P$ sL`C /peCݗ<{!Q)WO=IGjٜ|z@q S3'k"Sk!ٸ(P)PL34WTu$Vven_|5ڶ2T1B(ffv:f˫i/S.|yiN32( pb<#jBBžR;s>R t?e›"CS })ENsi|GqFO!-}Q2l{[^KtK`_^{2 Z3~_2)KD.ɟa])M'|V8u!'@<8D:}bj(0۫y܄ojC~t m|熤LͺV ʁT;EiHEL8oȚZtkO7"UGMJҸ?$}҇$H8vmECaQxU2$#ZbJOԒYFc{>'3 _07-D+;BM㋅wYpǴ wO&u%2ޠ4xB/続pI4NMog-zoȌ%lsށ6 [> >k D8y<-{]p{xoc& iZp ]n:RМwQDd?dʿ&V#p5a a|Ja{p2쟨`H^V | x?"iO(#E:E\)Ro}훁>{ -i_ _y? &3%_t !]oDTu ~LROZܦsynj-)4UE;į$ $|[2KF|Gpl33C=5-ah+kR+Ii1)7 E@񘅌K73,6㥦dA') b[﷢I9Użgq{ccF|$ITo&@9,>\y''nIL8r._Ϥc gB|1~WF`iŸV!jq^OIB'D3Fob|3ct_}@B)2ց?a~XuwOdKa>PI?~1P"]#8?e|Fԡ5RZb ~s1}GGUSيLzX;ݻ۴Ǟ|-5|lPOJjkv?G쏃rzNό7Rf|t˥aq) ZPJghx+鰼lN3B{_%t:'$Z6hg7 JR" -R`/*Z$_F.L^X>{J8$Ok=}F9`Bǯzn@3tʂyӶ|cJUG q7OgƕRz_K9%)j2gu;ҏ n;B3Yo=a%Q'QOGT˶"-t~OCM4V~b~sS#H:Bӭ& ;$i4o5]uSb@,bf Tޕ\$_}4rm/'GOK"ROZZ FF\X4lȴ>逞Tw1^R9 9j@[w5pQKNYXS[b?8Og} 7a yN(<#ֆd$ʛjKM}ü2N{Zx"lW&-[24DC+xU֔-3QTfVuW/*=zC-)I8Fw'<>h.^Fcp' dcsF8 ;fHV{l}c3_c֤=H! H)~jHNS .%яTpݛN `@hF1k}(sltBelE*mDUOxVΕQ-y5_x#%nIc^r*cT'.\rHs*/;"^1Q L=Xbp l[z1馬^N T~'ES|+|=Ɖƫt/.$IE4'֨LУ$xvV;hOX@SSS1QHs7_Ȓ'cF#z ?.3|!?ѓQjX5^4L)/OY9&pvOf"<kLv7F&f~{Vf9-[(]Ո M@'D(G?XKdm篂w׺,(ej Z^!>lO9* n+X6maĞǟ YY$vxi3b h<|ua%OwF>bV3ZXfHx&tRJpdީ[{9|έ|Ki.dy]ty$kVtSb~e!iByv'|v%ׄ{j(>Ou\'޻1^Ui5". O i J|au \f)W|z)Q+s+~fkɖ$'297f]+XϺ M7*{ |7t1)op63g\  W$n% ΛY@Y b)=cs엞?ޚ-J!Jx ="g%uE.n+rJf}HGֿs1ㄆ>^a=}H }a*&a;dhm*KKlFsE@1c5(f4ƸRWNB^ݲϴ?·%²Bg[*`wF>@'_<[UdsĔ08j @:Pb!+6ȫk-h =CТ-/bGP@v?58O39(E?3z,;#xQ)j̵gUa Udl {'룳}Pȶr]{V4I!qBg*is?u聴E"ӄ}QN1?1@2;zbd9bsÓ58 !?|e10y5$9& wӔ"7#UkY{ߵQOr82x؉w`.v>RA!BKiJP?7lc%.9<쁨0(5+lplU4r{ַ}AwxfY6ap2 tcv6N{itPk!H}}P l4饠Pa$;3& )bV(vgoOWkw[bg4Geaat/6 o#R"}%xorj; 1CC,'aNؠP|6- ?b3'?f8h [ OɫfC\`+yS,N :CK=7ocSyChXlSy;!cl {b*7)TCtٚ/U|7 +)9 jt#t-V?j(~ ) zH+&-n1mqo}ʍLm=P}H@b^q'~p_;o#uks֟j9\}}^ڠK{lr\h,F.Zy%wdO:Zϰyc6$˪sU=~Լ]ьTp7L&vF3h|//t…]tޢŏu<\6@PM<0'&Q9[Î KU [$ds)ESVAnChpɾi+&cy 6k|_Oޖ#DŽn؋cG;ߊ7.05r|仴>KjBUtQfMđQF"oA~gGR:w:1r t,Ec'g')f}Ɔ&^lY"4i cܶiSc`23E"IXO+;c ˰]^EHj`A!nvGIM;/Q״̉eP|Gn[rBo FP{B:c,^OsxaiQHeh VOyw ŧ+ʈ\/vGHf |򉃠Pi Uh$=PfTy+guhṖan* D/we w$yƨ{ nq :ofvRݷ^aN!nc*)'dg˟K`V9a w>٫C ;ߑn޾SBI:0 IY=85r"}&r>!Z*>߻,z/b^ #k=OAң s-p_{#ǀV;s'R9nv w[|3\V*Fq]Oˋ@XFs^8M@s1Hv9_j`FX'AL6e?#> ?|Fp `8/9׶ak:~&Vq#f Peª/HyhjŔ :.܍ML>{* حlv/3MR>`m HP%ϻh1l8݇uc‡flWz ,/d$L6}0ж17v076]k ÛyfSp0:1Pc;dXkar#׀{qvю-r7 (O!p tCY[CX>˞e{8Yh9 ??p/ J3JnxVS!ˉ1mrWm󧴭D>cQ$}ABr0+T?&_#tGudL]QV|amDwޤ٪%-0ܻ$4:ma"VlPF0rc~Oo-̈g3]0ɾ[VOPgVlF8#X|x\^v&l^_;S&6:@d[_ Xq,<Ŕ`ri۬no]aV w@22~f٢Ј]leCFچ1t4UQ^9iU]-ʖ vf@ `ҶFkJ]M+n3`-R:uOmewR=*c]i4?7|P'x$>QU07LQOyv (x휯I&eEb jvQ_ؖ){.槚4^x*'J pq%)V4G[+d FZ5 6̆tu_+v#B:_/Q-" ~n% #}A^"F&"B/d@mC6yOfBar<x"ܧu"X{g=# Y@^ r{٢VF3XbGIUD&9:N O[׾ħUJW3?np}(ٛ] !_o0[ϲW r6cF^XkWܯ3 Ŀ"_>Jݏz0h ̽7j'֚u?F(7>3;g:Vvt~W>}ESܟkH{_#/?z, e8dgq+HIF@K*/ef.; Kd`7C=7M?M&&d@(QxH͌ʈoJm) &^$.ˋzfK #UWҘ8 vBLxn~=EIt%An\؆'WE[Bd@j wđY%52 wUn\vV@KP햇ԿdpzLpcZ(.q.X_Yl>aհM*kM8SX3ǴO=ߞΌ:/3"pi a09.g'Aq^X8JZΈ+Q8-H/dBlf0 E.OVvpxfBS)n|Aݠ,)?Od^E1qWL<"@-æ*gt؆B.pJ/>,sٲ䙈GϷf0z.Y9̖ā2-Cg۾ #l A7|BwZ5ZsS}Y^r/S (wk1Tfuy$2X0|˨+Bf_-Ńr=,ۍDU0z25~kOTo,`'U'37[)|+ or`(6^< Ю6wO'k+L@a~Q~צTw4WecP*xaO,Jز)Y,$ŵ3I *4Hixg wO+C-E":o~wO `Kfod*#fpeyz @`p` !gl&wz??d(l=?=cMN_?~j\) VO+-5ٔxQ7G#- ׷QtydۅD B_8{bcp+2ecC54Aଳa?EKk?S =-tUQ'iAч+e8pj`l [+鿮v!:u73jzNh7 @'p/LQ`wUjEyoS⤳l2+_ZqE7_ eЕl ռ՟;t>1̼DWzpKȢ&aNM`/^{ 7&E2?WQfE;3u*)9#o31 R KW80,`i{*G/3rʱ&q$J ڈp\L Wq`]3:rW%N&=_OOèNJrFO%F @mZ)G j) _b*C|lIutC8@2a8_UvLxC4e$S@7ul (f:*p>^NHh0$yQ(Р$HWoEwG~?ZBͬvye=a'V#zl~J[uΔ{닕LVҚ|S+ \>eRN$Ru_A֥+$-F@SvV+|-0Q(!S+7a643Vo_ 4;dDF.H(kqx$zh4\+qU~QH=+^$vJo:Bz6hPbHא؎v:Ap.56LJYtZ_qyΪ <B%rzJ>d@SGRuSd$Uu|H?=%!* d';QW8RYG O/l/O|BAZ˦|xN6hnb&4Sw󨈣&^q[7uڳ f xHCAHwvCNb_Vﲔٕ灷^760ЙeQ<\8l*--{o;T>1*9\ڱKw;ը1IצsC._ķ U Ҥǣ~nn8m87܌o;Z9"$!iZ ByҘGӇ%oE].q!>_lt|FϑSj@Uғ8P& PkH`[]ZEQaS^l}\=}ٖ-&T4$h%mVF{< ICٽ6&aA%STw t/6(RǤ)d#?{%Gu%?}IUxH$4_+WTeTV(3##"교0ml`|7n'Nde r/m2ϾoI jm1Š\/s2C)-U}q?hg*ƿԊkV47q s@n>[lDosXl+0Ca6cK(dhOFXSF=Yރ\"}]-j:ddg8mb#49,AiUX,BqI]7[iٳcjuiY#﵅ntZ#-ؤL}٘T4"<>ڤk]d&;VtV|(*_VoH.L rAcfN?L2^El?[M|L'ӟ?qTm[.pyv /*~VE:l`PJE(H(eUd(vj@Qށz[|u?Pћܫҟ~ :VZ)B5%Δe8drok㼤suĴ}o X"額40=~5Om:6XB?o1<:7 UYg S\L:`py cIr/q *%yIf@kڰoןYmYsF &X-ex|ϨljRGz Tcv 3*6 F >ޛ~Ŵ!W'dQ" Gs]̛Hە~M )92Z(єR:^?W,x`56pK\k:P-`=+F>@\ ?qt>W2"dkr.UvKQj|bLf= vY]lߥQ:+f"3W}1SMѡhdbS&-6U+==?dľgSzڤq0m!"v[{)lm*sS%JN٦sP8ݨdNʳf3^_1-[9M@= F>WeÇ,HT!2q? v߽:['_fCޟ<]K0^B?G#L %Zy@w<Gk U6d10B)-`o#C6E1su nE3v-U>i5|ujSl[Z{5e92t>qcA)v< ?]g 6[a`zfl.[)-ab'Y AeA> 7JlH Dq_ЂfNQo~7Fke>^ :UcF/0h$þT/+D?K{!E d1Ywgm\G(dLLtzckY D)TfG"/ΒO<&t+'-%hۋ)LV:vtk>Ewa/o9@6FZ l"`K~QV掱>j]-"@ZC2`ҵ*ӪhZr@ V~I~p7k`pP=ldK-<ĢNj `z-Uޒ62gZQ ϒ1V9VrsO\MenY $޺ʉ*A͹0 ܎vċR  p/f˧ָVe4,Bwgԑ6rW\6" cQvнcNm6!z-PH\~cx9& 3jqٛ'@W@F%~TO'dQ[#69tQ*..𬉽V՚8- a*/2Cf=8ZӔX 2\*} KthHߩ{XYIt8+s9Ly3D d-Ԩ}9,brKkRHЂZ q}P*}O $Op-u/u"h Yuqnw_d+i,m p\oy#ˇ uz/ c9'Ub,>F cRy!,<#_z WʜH_l]#Fz :Dv[2>|&{G>]<ˋgxϾu/Ňι[dݨ/?ȥF} 0KuܳϽvs,Pv.>z,2b}h? _ OLx7~l`x-~pᇱJD(/?a`4(W/}5֊ſyWhfh׷.}j:5fO4ȰͥG^|^z7>p`5"ʹJ6@Ň_!<sA?²mνx]< w}aڲ:2'/>Zܴz̿;E/zhCxф}g?zĻg w[9{Gv!Gu}>V C]|I8MW,ry_.h0*0uhm9}o|P'?&}7ܯ.˿-^@R5Nk~KOhѦ;D ሾ1GqS=.'__~zM05i}.W(;+81' swa =di YފdOWj`#{ouE0Jd6Ɗ 24ܾ.?,{o]z7A~/*Sz⹗gCOzC_Yz1{ GٶWQ 8syq##Db tW18;.?5ؕm{,&-}O*0F0^z'.}xE4Q);{U?lm pC<Cۗ|=[cx-8l"v q=5~I3,Ӏ.{WeW3aѷifg_=Ui =z9^G\J ^^W=YOHH`ʼnq=hE/U3rjWǚ[ݺéY~oC}7sH(Nj!p6߸M>&??@@!kG oţ ?K,sL١/<ȡx ^@,26E\/F@!#q }Le,.6G"oE4NbMuO0h^-m) ""XCP1#࿰08J}o_,CrnEr1jXSlx7GrdJZ!3Ȣϙ F*lpϾx[ x@շWK^M4s-~Bk/7ײ&Z0=*NlI//7.Nn|L*ѓ{HI)-k \:!\Oks$A^찏.ٔ tBVj!Y}I.9' z;8\]2Y)&d#"*O|k5,a }/>C.4>r˥wѯK󃯁ja mӦ/S_-7q^ے2M#2'gt%^Ň~x%:D倃%e?֓]JP7}dMikګM@]35% JݪVnW's !6Y9aɭUiۗvM^'hQΖ$D.u0:6_SI?,twJ(mk/=>G`h֥?<8=aqMy*m4EaR-;x;gkt.~bN~ZVVܞ\ú}VcWXN#C\ju{NM7Hhb#En9 7< KCABAvL?tO9 'P|u0k 91.{ah xvy.waxfuHMx[SWa'\#DRanC6׹=^|i8. Owdۥ.="c | 7)鍶ôݠ<.~*\+maȍb8-m P͢&mf>DhZ&qZ53tfNJx+4V,+'K񝧎'. ` X2bvUM+{v֡~bW=P Q.6C Ŧ>>J"xw wZxV\uYK6٩A~%{\h> ^]ى^NrGbzĤ+uHWȀwFOИw~3E.&#Ql&{b;g!CqU:nT*lD ?v{4Q>Knկ7_\g ^/Js<qbibξʧ 9WPnw4Xcc;.6"./tNݩ;89tɡ~ƍLvgg8G>1BO&/dHzC[Ɇ}pC'bWAmԟ*hLOss^ZST?ۻ7_z xXHͻٸ>#Sz.g!E5:f{2ݵ'yC>"[ڛfӚpIdڈFۊykb(&RNzU $*ŧc}ILazCszVaEOى:gs?i~MWU:K2hjăҲNr+YFe .]ZljFk%Xf6.ΪeT`RW~y?Iii#:W rLmLuWs ȼ &5;3ML|LsU|xx*M pЎ|f`; MjsQ*>~gStp,!KyS>X~mEriI<:&SVI4qI+">#1C%cgv*m׊&-oE'ri[:H>AS|Yvvg:;v`Un'N;Mfr8GKz"܊s')&e_aYDS֦Md<s_?c!e% a. eS c\1VWGZJjE~֯#?LnѮ)s*~9]eleM}KK|2iT0ĜH8tY^G9!Gi1g|?t+IP A-tAW;m H;A܋1l.Wk{*>4ƹ=-~| z6UN03HB2ywhU3$ 53_D>ХG|~jP6I/R^`.LWܥo]1 Q:9ljrRgܟ-> /a,+}#f2}唬/yD+M7G!Ng1}1:X[m|kFX+rW.Bq!6}| ȧsTyXlj깯 )q$,$t|zmr*i7,C&6Ihɟ!^FRj9g"x=)nf@iqB*mŝ86L ޠzF_yp\~uuAlɌx; vyc@-P:#+qnZʌUYB\F\+ IP=*ڋP[5cZoXBI)r'"i6_a,IRrW`d5$]0FRcU %0% @HVOnT%*la&Tc:[)f~9u$kn<1/@ ̵ǂg`T3gI +lĭ W\oʲA_Y9`\{7^Ƹ(j7܎3_nIrS.gAM;Skf8lTnά;Qc$ʹʳFp7j.23g|lJ5 j6s],_N]7ɳypldVܦƢ ҷ`?=iW,gt(| q+-C_oFGasSox~)iwhTzܬ7 jN؂"B6l? %`OPAŰ:\鷳LWaNS/k;9@!7_%qX҇RW4 I,~@(Wf~̋w4܏Aݪ}Qj9ǬxDx~SR$h:T&Xy^yWL뗑tfHWV <$Ԍ$Bڵj:6Iƥ|Y_-TN`cZg itZD:[o{!ppjAG/`u5\_.8~T[^J~-T"KMi?~ ǾOuWE&-v/~vYJ~7~ksQW>x~c{G ǘdHUhѓG3T%$ʘ LjϢ3ࣀm3dי[J?ƅbnxiAYklsԼU~JMNˡ!aAx BG=tvg}'lgI`KaCY+5H c(zLu;~,+"s`iQq9~GX8YNyT/tVˇ_EjIM i#`Ѣ~33g,%{&3@N5-|f{|F<04rQPŤ7a5o@Z2!*#%끥7}K[>p#4C9,%YNnzcn%_qJN%@0ֆ  *2%} khuQ}IM/d%q=}!"ՌNlG{&'Br\esErf6H1čtmv"(g) SI(+),)+dҍ'0*AeRS e3ejJH/ ^ASe18$e;آ4Rc7~ڣV?cר,5˅qe֧+l)^Q)B]ZVZ[?_ :胯3ED^],>"Wxͫc2c2y(zE;U!)+>3mԻ[.sL3H*sOCk_N7S6KdkTXJb7<л|, */  !)cĚ}SsO"}Ǎ}@ݎ+e$=gA75m6ڵ๱ķ"K  Ξӗ x"v,btj!HK*%UgEWe='5Oیǖ%R} F,]j5P9K*gSrx4Z?(.²M:D%.+k\6,\3 `9:|3IO0ڲjlVF"§ >|'icpaIYPϧ(llX=JeA3DW#_/<7{[ڻ9}jl"q!k&">[N) \]2S6Xa68ʇBֈKZkiO |mhpTpmo x z*ĮeҘ[>~泟qgو/ְNK{pAQ8ALl,qВ)6b3ON79N1AQeZ0H]@[ c1'c8=cVo܇ӳoPcy=ZJT)YN)X!FjZe%$l Rd<2›gHbEAۯk.3ߢNm>RFK5-x7ųߎ5MV?~/<ϞFW˺7NP'L7cT?tB_ vp]. D hR[.>: ȇ#GͰ5<ʥUÏ civ <7o\Z^ =wTi|7g ƞO˹WLfM;o~ݘP+ƆoH?ǿCv}g msݤn7]Sc޴j;O&+l˰>- \LLc /)n ܭPעp?,#ˌaƅ #nnfbO:a4uҞ RDl;71Ef6I39G W^OftU2цb?"χqR?Z.묀[ !\$yq [dUq{#CYW;r~:dx%V3RqFzfJ&{'6RӰY[5i]iUM̸(;y#B t7s_Zփ^W(j1|EԒԮ X _Q0Xo$3}NAO+zi/?uWRpKV!<CЙF SyF^laK=~G'^{dJPzSIx;áOtܛ7~<iI-A9s~=߷)[RuLl}N8Ï׻a_r^72txC9rl2y$m1 5 rd$t$13V." q6.SdS!s{Ne~ma9>mAS.3pﲹ_TNGh9 *N򦔬U0a:iH9Q8Py(MKnh:p=&z4̧pv4Yۈ)SQAYpK,E35%O$jrs&Bdw*T=u=7]oÙ1 ;z]ȿc&zDWոr-a5 3 GBr}\saUb{9L%izMYFie|ZOKS(#ڍMv@Z_Yb;|Thn 7W^h?gg7- ޷PmC+܉'#A-sʇO>KJCKBBUfR=tox>Sep%_\:hq:bc>DQIz-ZӶuv5ڎW. 1F}<Ȉ=9 |1=]0V%6?0b\Z1]"Ƥ[DMvZh-rzv4ŋTqR1c`2E#*, bm jRG [-+. vGC=SiŶ6lřLZ0al (1]9eմŁѲ.G洲O?5 :. Ol583Ft OxAc"iՔ/Lx~$|DMJ {N3t*ˬ%5|}6|KC`$S` :0ǯ=w{Tr f [Chf In*͇OՂÀ?};kް9-;z(xCE^RQ^{VZulU0soyy|/Wa5|C |~-,(EюV4EHFRDHˊ{Q|0<WSj'DuUB x=8m} ݈F'׽bǯP|sy,E>p鑯^v nOOeci^ $tDĐ$YX1q:++Q(}(N^kp,q@as\ڸLy>dL=vaZdtc$»W.>8af̠wW&Hzg7~&1}DEttzk\uk3BXVf*nJΞocSy~[{YѤg6dUMC oMK*/3@礪Q,Ĉ Mf=rȍZja)N /ֿ^9v)&cڏ]tưKoWl8)]7mC\trZpnN}zк2AhWXe=/9̖d3*~Lepn툖E$8({%`TDm.?dk=2:rN4h6OWZ|kB;\F̡4 3U J9;_6-K^Pe9j e g",/g:SLW+]\NqXSʓھG;d>u^ MTMMjM 2XtNNTdkht36* ?tkݎk.&rʹXBdagQ,U'i)G~6៟4Is:RbϾ3cgD4jI[m.׼ .̥'~,c^64.t!91O;I$ѮvpZY-gs Я$B]bkS[}^ ':`yE)r2&f&iq"a´#b"3=.9S@GSgĐOTڋטuV S%yP"4*V7 UCrz3it$ufIUn}NJ3qKU 1FC_9|NNWhi^2ʬ(GR4n?__צ#XF"爱Ij6F Kkñ2єRp2=b*^WH QDe#IQ*GUEm[0yFJLAsAO@V0`(yC1%"۽.ӉT D6E-;o=\4{wHfo9}7tjMn/|}o!w5D $9x+l9tF` $~-$χX9H:atD9o< F]#%ǓC]:Bٴvcu?LoNbmJ4 ?H11\A&.B$@9@65e]K§wƤnP`8JI-q]Ah.u]kzc[ x dzq;0TPi{806& _OpS7o[ގ/)<k%GMAɥʞ*wV0俠r$\Z 0S#G)%c¹ϮUB?Zl\1EZlhРMN0lE_AB*ʂ(1HE]t7R@WGڐ&a:i8[xʄ[78ܙl4)% F.)EZӴ50͠s{Jmq㞷-渣E[pP]\lğ\"՚[b`p=]Ƶ>sk(Օ.0nacܘuT<+M =p RJI[*ܢdbXft2E7Z:Y`Aϐt3cE»J JM~;9sB\o2ѝ :bFG?=qucg.'6#^f̣T{l 'pJXE}UgDtaUn.B/_S⻤F57%ƈ/:# @?i!<6f?߬i51Iz]g3u,&ulӟԶ\h*LSث?)kUǣ/PSؑk~ (<,YXdD:_k7j+oA wE`BmɟDŽsj:e|O7ZH7'&6d_oWj)ø*%|^ZdQ2;ا\hG\)/Hs6I ((=O1]է;3!ZJi>FЏS(TGLZtHN@ %o'z `Zha{b *_l2R4Hʹ32ωpPC= R =cq:6B89lhFU{3Vhlmny:U"~3.`AAPQGa8nq]QUrɱAU$ o]T. Q#X4 {eTI^qF-Տ p0&alD!5u&3y3 ?O]Wv̹W3%5/\G8 =)4A g9æzx~-?׶vxmJӫ/5R/5?Dߓ\xZi;IfެiJ53%DwZsFÿk \uX5~H/dK {ms\\WBxwWzg`G.Cϒ"(: Wgڪf>X)rv]5{VAU6m"i0UIIIeq[㍲?p9(]p{r^KmYMx1I*G4% o=i~ߣw'7컹}Áx71xO2J'O Kqx@nʪ9fd<0C-|qj o{(YT#ˣ/<h䝷fl82m_xi! WVch igB?Hw^OIuɦ2tzS(eU })@wjr:gNL'aGrmA&(IX頑'm!2`ZYgPeL(j8G !ṘUˋSɮS`n.yW63^xR26sT{l kx#uz. kiw q6,cuu~zZ `6^_xX xrQ5t &Zxiw~pkɰ V@KAFZET4cZMIs!]83OxqUZpESvE#Y}L,,ZNz.y6*7F(]_O>zP:f9Z1<.3:F69,*Ns)_A4 m,jm6jid#oa{yaev,@6=^l(X:T62m6)`pѪ#k<#ZM 6n|g ߁ S:9ɮu2myU;`TElǸ}|Dwy5MR-p H>ts[U\q k3EnĮ  a/{*w$Q$ĶYp& ?(Yn5=tkp̞y7\s,͇WFum*c>թWp03zV"*̏+R i9F̆a?r ]e)Y#FA42(ѤfHeo(W ؇]+{)98 q1lgjXe_~"lGt8Tpct}aL/OW$\jd}4 z:)#5dK]6FC޺[㛚i$sEDڀHœfjSIu  BnGWBcp}ZIɵr#7aaHʼn2)i<7/ 4ߪ琭 {pP N-c4?t6EhtRqz-\){Hf@)}S랎)G 4@.XndzFx _BKpdDU@ ňۅGPNwK.o)oc #*˾GwgW줝$V M`=#B$|0#yqdmv5+Vftoe ^3lnF!ty/+0pQv@iD)MU2e1"yխo=dհ#D̤CJq'B 6q6vrۈXkaFG`hnrD`^D ДDt[chY[ #19#joS˾DF,%I22'vAINB < )-{/3/+=QP3*H^O.T..Z_(4jo+RX%L|.isr[bQ) =6 eXѥW;\kiy.Q9D "+DžRdEu$"#L8RZQ c[PK,:5"K3 +d-͵pCv^Fm.jml$p!} +S 4쯜`>@_LJID=}o2OF3!Vl]gg#$ˊq`K $ux^f4X5mǼng7il Mn $zTk:/a)9@ Zjŗ5jp:4Rw4DWTe)ao(svEUn3ą'(O+۪hY!SPS>i 6uGN1ޞv܀awL5rSڙmkUpA !wX^tn 0sb0{41#&f$W쌒eGt&&D, UF+q7Hf[,|4m*p'kL=?ޞ?hʌV_/%,cpĎg]hĹ*U׫IANDaj,*lu4ƹ K B w*h4<$g( kM^iLǁXZe^[rN;- 9vֿ@ q"7JdZ(N8RWϙ ?ZKhA7KԀeOѽ 8VYh!pc.6agڏ=, C -ɕlR@3JMC;HCgh98ctO#$|OcqD;N֘NkpJY~ގ{ġ:ѶAHb9io͌* l-)QJ5 ʉ? t[{SAN=kB[ GwOl bǛ 2&;n"VIUJ 5.ʂ>ݘm|~gg˾ Bxxzm4N/vȾaj@6',g,5tyaޥXtG֝:ЪNlnVPTU]w&ZcTE(Ba}ͭ)]lt]+_u ySb`9)}zѓ]lQ q;Jc-y`GYhϦY|G83nv8Ǐ`RU袃>*Þ@c|wo;﫳pԼ5uUkZq_6(+d϶GҟfQך˕wkiǾy#~E3Z.磒E\ds$YѳR :t-AINW=BU30>cx^ᗮLb;ftu ^aFR6:eƘEy8vX7qḷ v'Z ;rYC{l*= Lov^8KmGGoFrIǴ:ёhoXrVa̿UeJVQӜWgY_|>B>-渷KS_ >R1Dt#<]Mmsx M -ݸ0jMuecxV_sc4+.%]^m|8ȩrR*J>X`_)t2E7Z:Y`Abv3VT_2DtMF;* WTi ;汯x&slWh}ͨi5*UW *WUM(8ꌨb^PuݯZЏ}_|qd_Y{Sb3c^p!ӟm_ni51ImLc{݄/_ }}oCklBKWaZ 1ɔ5~*L/Z;rOөCLxl?#]%]ԟ\=GV\Ѥ>g7tA wEӨ?PyLh>wc_+FZH7'&Kd_ Rj)ø*eCZd9EYm] twGe>;u `4YNq5{9g ((=O1m3%u> M3nT \-Rx%o4i UsӼLf㨧2Ƀ܂2dp˴H,joXv&[6tqg&#(XLmxθ-D~p]\Q&,"X1N({l5c՘w^q0$ z6Lg*O}JbSv$_:49}AorkB H<:z:3 2̐SOm-'f_ z@`{R) *@ ɒ]p~XeFe!JfԜT'7AKAZZ]jMs*T ٟsÂlh8^Slkqe˱G6Þq42ͷ[7M]aR0 RZMʷNsup"_5^!'z^PH党Pq`= 51ԀLVkRrTmqqCb[PTfʦ#嬪\BItD]YCyǖ/B%OOq0Sz]Dת \/(6SBj Y1K j'E d`.-W xU [zaXU-81bt\Y53?DjxtN =r(HnTlry\'%XL]'2S5c&1R4 XEY%\Z 0th.@>ڃtA[R2RFlNس%x]<=հNdnL>lu7Ĝu5ƜUY"Q̤iBHޯIʛ )SZny?%',/yof6օ88\]8fW C"S*F{5P╈W(w}']mbs&jG9SA$x|=KQ8H͓XI3_3&$F@}^)&5++bm Bx$ b:+J|k)S,<fzTٕ#u-OT{,jSA\*ߣUH'ik^bc(`rSɽ4'ՃPm&tۇ~QFb&dzI,B0fdiQw'G{GO= hB?fp8 [:Mϡ؞d *pJ2H* LuƕAFFf90UF^,Zo\VQʽpym>њzbJ+f6Iy ^׶ (w^||dAu-:yAhQ l^=Tpߧ)3$ܗV~#[wgQ )sjqAeo؃th9wIߡr}%8M>m۴ȇ))_!D,„L܂{e]05\ ~;d Q5PBaKԬbh2c[ )K#{yɽQ'e?8խ|vQq99µrΣz[tpZ>D:l4Io)%%W%j_JΜ9ݛ5N:idn6}9Afc(E"9jCpVZ^ /e$z`iei}=ȫ}IF@q{`v+"R$Qbia(Z ʫTNjjM!qWCz?R#%dJ:1s#H0Hc+vl:yҝUu#]f}lHtm q1yߊB2ٿt#L2 kiOU2=@䵩 2[y**bكp{bpȅ?r=\_͙*+ړBs % HJƩ'U[d5H~eisO1fKzllayX/= = %8&'SBC:"pYf O~gpFeAemzf='2*ޕjH̚U9yYdcor j*W0P,(xM{2K8yaټXXv[+v3.^pRɌgZʃP$ :^ڢВV>| 8'I6lpiaI"]N24V.נwR֋Z_;P߮n%7pcd [ܦ.Q{D[&irJs>j^Nm Ɔ}@ǿq6x(mmޮ݉rS ΃0@luQ>$Y#=!Ĵ'o,u64-M)r:FffS)t\_3k=F/U@pI x2"@(e&l)'"'+vQdt(d'e{= ; %7*C9NE0OJxaRry}]é)O38AV:KUf!W:vXtR7qc+[jo7R5k?GM'Y&&@_vF?7ѤQ YsTjs p'x_(Zb:}e݈S??Ԩ݅+)khua6`u,f=2 hGiHԀ(<ctGa7d' (34NF0g|j N7{TQn 7f!dde5Y' ycOo)3AgP;K#n#lj?[9rkڰ䊺NrO 7o1~Kk3O $͜r7miIMr=m je{g1׹{pnQ%g*E8O^3ӧ-8#R;aU#Lr4ɶ}Zë qVą!u\ tl3 e徸>S3?'x)<)V5[ȥYka|A"q֥X=4ewFz[zeb[ >wEk5e'p 5b`{ݬLf1VD#/ dTS\ey}i(tVjx *`.n=&]k>鷐`6"&d#sPDw k{Ij /αTyV])S76*r8HLt S ׃aWmH:`U|dc<7 {1HRlVItm;*ڷ~\W.=q/i9jfUTx&:+펁 M;0QVdV7i͸^cӵ ܬ=s.;%D7\ 5("= {47OTV@E"JbrQn>Ee\{R#CҐT -LJڨ$ &&tnT9_EEH:[Nl%=+ KTgV!K[=8w8ܚ5$sPd蝯C̠=q߽Ǵ/6^۲ÞH>`*-gQ+ $0l > aB Oݹ$Ѝ F؊3!BrRnAd|d_oى OV %޾Hyjow(uCS0k lD/Uu=o4gAV,LޅןFs`BNd B#L)R82BNdC{yaK-̽%ɓ u«[Bm'"-pd{r偞Uh1>xHIu7hxY>㕎'߭ QAg@j8>3N_&5pq``rpyPaiCiUːw^An?miUlyfQVNZq:%:Ǣ=jh2.'n;@dlJۧ\@&&$pP]C0y6ʼnH=}b)QO92S Oz,jlݝk:!2R!gF(S ƹ"uuƱT۝?4E0ΈW-.CB :y zǰ^]s(!>z"P ijRy˰3~jE} 0w-W i;,eؘqD O!y"EOw,Z _GL: o𕈫.uF %(#^TfNxI}N$uw @*g`rk\n TJzk1 <J`-d4EZE){SԺ;ƚ``р-wWJtJL e>.WƄxr ,$55*>VaE5tO {2Ж. m'̭h-$XWjWNi!;0LrHqytJ/KFÞFh"H!t  5%H0 O))HWWZAĔi98H w0BS5m.<衏K (d eNu.d5.naMg(g :8DZ ^rsgӶvKVYV4#tC!=5)$iv@qJ8DNpk˺6P洋Y҂iF0ը-~ԟi4|m{Ꮹ'3Uӂ`#i܇.\'' :|+ ^~ad#@Cݭja[nW^ z̹s ne4n m6_͚&gL?T4Y#z]-j8d < MֵPoQ~u۱E]3MY{5\!dE]7[T6NVN z uL0]ܴ`52rdsvO2tw4R$EBap|$겛)eAz|&: [T6&ʔdkyhY(U <9s704(cZU *_EN?P,-?0$+I3UDh88t2WMT]pjynCdJ2{DEE.܉0THo~2ZINgjPa2v85M* z=XzG$u۬31-D\k TuժadYv=K X{yT65.n#& ӟtMbBX иmT^NQT.mJ28# ۴,5emJ.^H;h2?2]tuo홮8؄߂h1鰞C~h F>rI UL zgBX= g'%bplz*8YX&/^ь9 Wb–?L{6WFe"Eȥy D{F}KqlULq*{4 6R4 `cվeihe(אʔNb\)?uҭ`m$0*3WYiU&Z f˂^m5CBM ,N6"G>=CWyJ4CҚkd(&on$AM7Cn3K9fN5h|;( El{[$e|b'qt$7hZcMT6"$sîRV6`*+4)}+[MXy3)#C m3 tZHz=|MmdV0m}0vQÛ1 kn} IR-ˑ@퇞JQ mij:f2֭XC'N(Nq3qu".AayrCL[ua9k12z5%}.6R;!$l1fvQ:xÙ\bCȤLj Y0ljۆ{  \-ڮ[ݴkYfN\/lx;|x,|xR&b؜X009HJ9:@L0!:0|3rE,KlDaWN[hll /jm[;W,jRh*CzPigͱU:X.J3 ]^r Ug t :xzgCp~?a(8ɜ6"){T#1/nctiR-fC0$b[[2_HS>Ӏ|yS9fOf]* ]N,g3 Kۿj=c)/тgԺAtڃJd</!!K DasO浟b:w\ҨP̋hbSژA^e9?UdUqn:󗿤^/c,dJo~VnpmHbTQ:I暴h\z=8I$~O?QX,T"Rn.z h~rCgD*@K %B|sm%`΋͗ٓeS}z(cƴB(@&0Ȟ[ E%مݒ#g;bfUJHNql@**8JuN̽ADsYƝX4wdcr5|7Wo:pM7dD?U'5[aU&wywL}5wu ~TFYj\70Q$1P TˑA'㸝~56 U@Ѧ$`mow5D!O'a2)l&Mr",-7m{N$981EA#ؒ6&h8MnϹ[K#0JiTi֤2梴X͆Ymݢ, qymS>䜬YQO)f̢Li??& 88"%M vP:G)38v Z$\)x_=}w_w=&V=UyUϋp_?/7k0:h/n\F4YN&  -= !<2_2%C_2l^N|iYɻ{x<xO[Txez_+ԓ%r9iۺxm ;.XxDxV\wt\t7 xyk™r i;I s$}iJ)3QwBoHԂF%s쵖94M[x= ݆ +M0y[Te \9VUuf 1Y}~[H U<ן'B^D$ag w'Qg2S"R)6eX !\N>\7 ɻ^(|-81ٲYSlY5EIf|.ò>іˆē.L")G|pX_#t`;ջQG%4Po,AE8yo+`^=YOUr8JьDd,BBpwW /(,+oz8tX7boDpXAZǪYW<bc ^#GHkԝN8+K:\O*do t"a@Yzs $SRXe|EaWϞ%z+k)<5kYTa{6pQ_GyEˉ]Bth|o}*^S"nsm`!`X~UNh28Hh0X(]~QN_bt:B78[-Q)+=q׉;bf\kU`<i kQ3c+)mb v4Ul=܌5hZY H47c!:`{:xPA@hmX#/# r}cbwOs ܰmw_??}7x\Eޟ~QlQŠH͍nh8j|x&i0EIW{=nqWQl"93=c3 :{]}:yp(>ٷoìBҒt `R΄*=57;1ݗD7P@` UaWG3 !Yd"Dz7d $Y_1 k4o|tx)*@td!ܴ[aOҪA#̠Մ4Zm<0ݽTd9˄_Vopx;} PK\7njQ#E;tBS֜6rf gsɨ zjTd>b/뙊"EZmf?1Gq  /oȵ5ޜ}Nޔ8Vԥ.6(,. 'T85sFaCI&M"I9@UTx߀n3D y88>.h+` v;f[ʵKE/apVN7a}pH5Y;GYyG2PK? }IGk6mk¶_LȇWV ǭ뼔<@2a{pZ]>w=EX|2M;RVua[.d8-'L 0SztJ eaLô`~^2j<*z"e0rL|A8~aHcxe!8%2F3@&e=߰|=[A9Rߌ/ D7b]EێCK AU]V#a < BDG%qMR6Ke^j$6GmaGgn5  1OgUOA Uvc=Bх5 x#t'oTS-#J7}մ2FiIa&lVq2ڬi+fj: ٤ N ;7sߛҚ!dWSfb €ɯvk uֳ=f*fW5uk"Kj}{ٙI^ɕ}~WnIPV䁞#Դ_gTیBò+_"oо&XiսsI䉳I]p'>wWo_z xO{UVK)7xxyҌ'^޺.l/i+Lp c'qUw#SzS 7R#2B6ct{#V&֖* M{ (^>ɫL6GPHޢB7$rC(nݭMDl@+ vMq)] |!WxΰpIﰒ47(/oF ( , ` /2ƏwF} $x^|//&/2T@RGH  }9Fy]ń6ωΆX6"D_,An"im-?b !g5J3 pF(HppD͏qGxmXONVH"fKRZQ M tP5&h6<~|m2rg#}6ʔ|| KDi0| {޷}g6GD*QɤsEX0߰ %ĎdJ2̖ ]\\/4 u/#L=-Ϸȓ#ʸP~PX4sψOi3x9!}V umP*6p+aUB N'-eA*΢MtM;PܝMj("X!ѩ_%:_姻E@)Q{V*_fԤ@?.oڿ/#GxCEe&'#kmSTL +g@2l*"W}'x0eY4Uk۳)k*mˆ E,ͨB=c49 ~#;zS_G87ӔmW۱(y0IV{Cx!|F,בSGSSq_qw@\F4`A>ӄV.!:r HP3EuO63K2+<y,*V&NOuM}ID\'Ễ\Mk[5ȕL(*fŚլPp]OP}bs-D8NE7#jC:#rcjYz%ˮ -ہTTƅAi,!> .%r^q*{za6jxZo?"4w[ʔWud4tϤ\r7 sW(:헄V~f86;MSm ~l^r'9 KڗowC379ucʛLN:w>#0cbiC"@`i+JU? }CmX QȈl( =08ٙ3MipNmh*@dNnMrR%A]eAG+ T]WuA^w:ur/,\%jm8+9t>E xjTo?q^X *p/Rz50=x&%E"gF_)564֢tpmOZhUҒ)!8{^fW:|oMEfm!HsgajT̩c}p?M4T4$XAa62Tks &xN{.)}Z#Z7_b` Xs/ZhT/Y"# WUFfs| 9X9c\ojDQcr_О6c&Cdܑux9(j" }{,Sfy{-^#f3XILƸ$M\|ɴem ˃u$&ѷg5=XG;Bn9FnUjV3fl߮ǔwVud^s h֫)ee8tLlHx%tt: DUz>Kw0;@"rC -VuT{9Ph/XE%9Fo4 k&@9?@KB8piPU1G@\RB-?.oјlyI%a/ 8pkCi7Z9nOD+o]֓iC2?o:vsKw?2 `^ IͺSK1ȡ)@G69biaWh>Z"#XInaNmz/r;H.Z]QiX?#!׆@.wO 9L0ȀjU 0OkZ(:#a??[D91hЬlVVk4h-c k|`5_@Y)p𴭡01 K ,.ͷ49܉eb6TXtdl}NVZ9ccy_ 'o($kY~ M 'VKM֢kIoiY&.KټaOQK1[+5yw>uϑ{|E׭5=ص.hPM9c3 ҕNRQ>qQO]H澲Mf7(QqUKKz/GA0 C>Qaxן"b]P9좔f椂[m3e% iHq4F8waL ;<(0ԸG4e.fxs\<)W'wQEUܧm<Be^aī(7)./`Eѧ(^wǽOJ;v "*aV@P9b1A2,EـqlΦ2 9Y{7C4(zC3di:A2˟QpeZ[dՑ`[2=ᘅ>7NJqnJ*T _yyR߽V#]OQ(nRfnR0[RdU?]JO/ iIL!.^)(=MYuD($Ppy,Ƌ[[Pq:0?`-ՒXGƨ"%O[a~ӆ8;!VļΤWLzӖ ZؠQJd7C{; O!Z%D%4*yY~Ka$B"o޲|Sچ(mŒNkL@k$c_1C&Vz^ndS[,|팎@ûVn>~$7ܼo_b݁ZY.π%~C{komJ:)ZBR5h$)L!|p51I{MDPZGo X񬞤kj>$u1ba\PNݖ';KP}H|0+ lZ.N=;ѝmP</@G,֘iGoB^C5Ԉ׀*w<+{P.9m#8;GqUFEn$~HLFr oTxh'UӅ? Awy<ɡ;wܬ]l{j19 )19s΀B^pt%ҼeH"\6D4HqYCtEw>7xK2=!eԹ1O*lA& yC y< ~r&a?w>um t4vO+rT)62H1 cD/0/6nC4(8_N۵Nia" EdCO!USƜ#HUpȆP,WR{r[)rshsWa7gsoF%k+-X\ViE~ciȶ2oEaעG@dѡsvcU[a]h u$)a^;I#,^+aev#R͑d=k6*3h**wܸI8298(?oǨ;1|7פWK` UpY\cReߋˀzX.yc!v(svFsMv\`E?aCm%VduZ|;FLv0v#Օjv4Ltʆ|#͝PS`X`tΎRTfF%n'y<4;BK-#KD;^VαG$ꞮnTRҜsLdasS˂ȯYC)&vfniϝTXd`qZ?.h>&J?"9 GWk8xwǃ DO{m||j ho?#G Gg]0vBw8 2y\8?˧$ǜ`>ա\{͵0W|Z8]kXsr.,>k5̈D|Y0Mݎ_8 n)c:>A]3Rԫ˵$uz][CX9W ?aF/c˘,#xm Lte4aI*m\)u.*~Ρ 0?Q> 2XAƂrl'Ӻdb.Gy{n?OcJ8k55(3lU>Nnxg.-Ƙyheg@)%o 8:-d+ $T ;@™,yֵu\d3՛*M4 1qi)'=NMDbq&h-Ye)baPoӃ3ld))~KPn'C@SUVAǕʽ nq{565/Nvӱ o5'~ p)gB\* Vg^?$6_Ntۇ,\{ғ(ˊH8543-UK6id*ZiN,)Fu;vfӱT$$ح' dv;Ԕ6A) V{9a_QUbF> qEfY"u]M_#{[e1syz*-TЛv^|MA*m,nQ|XdMto gw)'zUKSy<)S[wW4㎠8(s+&'GO%PպS7;hr/ 骯MmahU3y8wTU" vZ*MD4R }2Z9c7f0 mdXqeY+?a.Bj`2x^(4XgAtٰ,GMTo I( h5E|'ppH"ЛǢ?2fz}DMXk2Lj[h#DΎH݅[#t7T^Aa5#ea҄1.!},pQUD\vm؍3 ~bх/61>vH堲^=*pHehaF[-eK.9 I.M& rQPxL%p?p奎YK6tgZH]D\S^Ai\8ׄnh4\g\JZeR,-9`jFSzEۏI0XmQQؕ %}6# TÁͩX+sR^h} XTb}zu1EV k'wCxQ:!կ=76V'Wcf|ɛZUE]G:M77&׫. jrIz U\A(Fr@* )FJOI;^A6$G%q*O"C!J}Ҩ6ɝc2=|8L+9xmAG:@蟷?ZEfMlR?s9h ^\_ULMOE<݆<2T~ R^mgRRS#V,:^0`V*t"[y &rd`F 0y[@qF YCa3&slZqpeW59_$X-]8-&>x兩Ӷ2<=q Ug3қ+{*yQ _aN49<9BQ4a$-ZSlU0\^ڭLLv1mA&kJ<˃: +eebX2g8&K3qEEݦS܆sϱ&0mJڗK+Ofs[/o?ǶƁzپ?kҙm|j+]mۡbubY 0ĆýEv`%qL~Q뇊 ?D "xfi8l;&Eezv[߆" 1#n1~fV.zoniwx^Üu[*w7y! dЛ@"K&1u7lYgiբkw4je.p{6>TဥT:}p~&|ޕ1^|d4Y" W H e18t<\ayĠhL*[\4孭1PU/ț-7|]G}C\czp9=QTg)lJ;[(T%Γ5.8]x;L~74;; 2db0x@] hhi#ov]z0;]°:aH iES}Yq~gE߳ k7>U(-%t b פIEJTY%Yl9K{]{z9% <: W XW&WŧD>",ndΦ2 ˶;Z> q,--3qÚ' 4\ ݝ`(RnJќ#؟\BSҢ_Ikp).5F 85՛XNFfMW$`7KA6e E4 g+pY˽VRA(k^_RDls߾L+]jjYel3S aWF&epVMmЍNn*̀p$tZڽG#q)qWg) }2)O*li''¯N*[Mms݀R b{Boi$zf's-j-ݞ [Kz?;^:2[VT~#9Z3WUD(2 ։%;jK8? 03XX{]X VE@o ^[ߓǼ#_)ϨO[.xbIi96wɬj.*z$Yh RFRF<^ #wȬiJRIWBZah }*d}\q]X+lf)qF`>#;7¹"5.bu'=eYf\ Yo:t+kH2 z0eXe;%ٙ+b~0\끘z*xG] ȷ38E amڤXS8 4/uHl}9ZkqiG!UcL6s2qYH0.٥wARRXdYaDt|5<_eLb RVG(`*j~c-cDld^ѼBz6B^@x9;t-Zˡ燓! ~7E4Q#xK~y%7.Pscl3$Rca{n zBDko=oi#򓳔2GX:zo,*H"iGP@ WyL F~I C.Ag\WAH<»3~1i" ݐD61BmՐ*[S6|m[UOuTKTG^2{c鳟9"nJZv o'ӊtwċL E !rpaw ѐ=29ir GJN\@&LGP'үO:REg[|Ȅ8huoR'm=tpYE̋TU / z2xa]D_("V5SAvfm4g*eb#s.{WV_*> |bRddHЁcv0nh u"LtySIz$Ai)Iz`iei}S GD܎bivɐy^g6Y#Pȡ`Dd."#6]|l@wJdϕGm. a1(eb[hEԅf!SD y@;!۝/GDbStC$pO%ZP)BOI=uFǷNj8H Qm|V&G'okk|J*dx9(Hd- /3M}h9* 0Uks:4۰cMx$fD2Gs-lfuY[{iQ`p_KZ%LK/YI&;+$1-TB;{sVHXTT:NCB ,dzb pCȓV)|ۙAzIăcS0u"2>,lrF@n %+#Nva{G&τo"# q I$]8'VF<$oh@mdpPkLQZ@9AmS+iSVSi%Hdbk 9Dъ7PѢ(5yA32:f[hُ|1 [$ 'fa$83xӟP+T WEK( q+Kbh m@6ՉR#1 K|0{PbʺE f=zپs8SVɎ+C"ٿt#${^zWqtX(ZAvZ!m}#w1Sbzԁ $Ni'UHh 1שY L}R 1gY Hٓ=N6][nAzg,nk9W&9D3dFuAySk)9E6dO$K /c=DKE/gƧfX+ Yd0˭0 $G [5~lαLsI8|oJײpDĂ8?z`-1V3ĤF9‡*=Pبzw{=K68Ί6sg ,-o޻g~A EFs0.2ʷȬq{ G賹md)rN*3-_q:D~XYfʩA?Ѡ\r.gٺ{D5«!HAsTyq"&cY?cJ#1V b&3֚1=:nJc&Y+a‘U޵Z&tStS[%fr2XJ="L-R{xI}RAi;ISo݁doH+M~a>Pͭ!za7ks,mp#]_eVWm7%~)qHv]_V/+!p9 Q@~Rb!p-0i5+|c^OAh6d:|3'g?Ϙ1qv* =2~IkS k2o?یHL[WOWOgkr&hLrD|S`x`f2ׄ#kOB_˷Ӎn3T7=<=gE_Nۄww6Eؐ֬H ZHc6لE$'Uh7Z߭g:i61FffOz%a-}&ϋxd0sˍ %9OxZ9*[8Y73.oM!9Ԅjlb6 f^XVImeJb'Tp0F͙oTSk4'7 JBHm;zog"Kϼ knwLVq ФDۣ׆][L/޹V~NX˛/J+[k(l>!4FgܪD*qZDNp qˋhz)UjddBaK]xUzSku 3ڭ{;c/tXF]Oٻ4CavQIaqxީ .fk&U5(P\6.Y8P^H;O:զzI5Nyw[d=*i^5FOH{8l}s~Gg\q&ShΘ"W:7SQXP*㼬:rQ?gXB~[Y6tpu$yzjq&f_y=׃yDm4A1-TZD O_wǽOJ;v^x(vc+wSzb)Xue):=bU`7`2k+GO늳 + !ϊ2e-+:(0Jf5& ӭ"E?4`OGzh[{|}զFZ_oG#Cڰ4Jc-= yb>[G2B7K<&1mLd%l25*CzvC#۔t't :XL:oH$6gM~ /5BGNxTȲKnqWkm!^%‬]DwcWeM}H^XS3[=3D#Bs' yĦ%0(d-0I) sn+/hh N?Sƈ?'2Rgl%{2dHDKi8k`9hYV 2 '~C3|0Srh$f̃*aroCrl݄yuH+YJNzχx6'![1Sb6NWtB 1 :b io$-u۫KxHvO<%vs9]_$Vx7 m#]&W,tleՀ(7ddÔ,9CHy5p%"QIg˧ܯa6oFS?J{VrԱ^6y+CxK;O&ho_A5z]o a)apkԍ+W!aH+8[(阻,0¸qGmK0  o˸4F}bèǶ60vX:ؼ(-s(hU&JFkkp=ݳ\ah6,W TXf9mX4E2Z j}qmXOaIC;?kriFCWH @ Vwg@#(w=sAksĆZ^My2T H@No?7r]<,"X~7ɀG:}RWetRUo=Xj '*SչN BIw9яm4ۼJ-q_y%Nѡżq Qpa9zaȼA,Lil-T-v$MeDb I Æ>wk{n~ >n)m r\QA^uT))`lGhs;w>yQ`!_5HMN E |5@Vc4s,3:_8SVkC(Z.߫L;>K1 gt޶qp; .|3 )چo"Uhr=zX'q]=mW=lꦠLLݶ$r4;m==Sw$ar( yH6n 0 {;|{;V #wcOG8#|*Vk`KИWwx4ݮmi{Ze])]* /Ir&F$RFA9?r"9-P9FlAXRr§ŽgruY֟Ez~Gx+?ߺCwYNܙ~'8E+WodYv-90pWՁ.fD=Z?ku:RA,G{)o!n:5V>򃢫ٗrm7-np<0&'d`Ma@wNR[4F.p'!^#aklh|<ű97C~t/>ѻGLjnN=Jt\/+~DZ܏k`;v~MωKnj-g.h~2t9qi7g}r;}r𡺝8oq/_]6`c6^?z=ytNVWM;ҡiSpQWZ*H!e<'pK~V9lR5Z_޴XCs|a+4JQs/Y KkkT |N[a9u+i;g9I>'Mwegs56$tS|%Hi4NOdeSBo E -׀!T='aY[VwK}T3No2ZU,9R񚜃0tubkz>aGlESKz\vtE [\ ُ\;e+{Ig8$tx~s-4(OKNo| _'v™XlN;càBS2w/U|%/B%[:4}b)8a[CIl[6.nݔlu߁#R"] PMݍ]~RN {0u\:]PnV8:D_g\v.dL t)Ņ0'` .``&VTXQVv0=g(u0S @c8kdWxBr'wK C0PBl=svδ M\.ˊM]l|pIn>yW ̠`i U=/ t&=XS˜GkZ`=sҮdKh4)k4[ul78*cL3ӂ=tT+Fmf)r=FBHʚՓ9+?@^Z 9T" K  An|;/6̤>;HM녴I$TɡCI~>GƕO'#;T|R=,}q7R5u%7 .Y ֢ kd6EY)99FUS|*էFzV#AkeӀx<媧Y1gܔC̰WۈvS 74@@nyDŽo9|q,9~w.Th &I݊{[Me? O2ҥqUA^˔Iɬ#c.)6uɚ+Gr1y$tM1FN>KeK9-Z+u8Xo9QKݠB8P0) 0-ajfpci;8HxBa:\{FdZC Rߓayv2FU5:U, Y{#;X[57|0py2ȥq>%?y׃=6tO@> 2ɯI;;S򌼔 5ӎ &$P6f|ʭjUnF~Ėw(M.2vh1"2ǩ7}Pm]”J ۳;2,&g)p+ وеֹ c{8)usfNz3,Z)\6崑B"0 .ɝratsT-d3Z0 (Hjf0<~*G5*L^H/;3M QčVth94 7f gWO5mW e TEϡmm՚ +%^'̳v?X6Z0Ujɜ:%թ[ζA%ZddJJimt$ JMOEe)l@zTC̻ ' 6YՃ Qlw̜BoCJy ֙rgdkRVqa{7z*M7w9gFI2Pa-SqHЮ\qȂo'lu `'Riz=TqqސKЦ#8JW؊ku 7tMe?Tu$*G2RrN/q3О/YLdUEM`uu[ S$nJ "zanl x~m֜b;)7e9 s)f2 |֧FY6au9ɍ\ 0J8S/F﮶OXjaKއ!H}$<\!/ A&?BB Иtx bdr8{~dd7 <[}!uݷQPIS6f! %@$RˑPBF֖X0R cɊ`BSfx nշ\[E8Qmx~c"/(#X 5X*( CF)o3-Kh!Wha=, aKO+ aVNCe-lSR+1PpV!It5a4lM6I4l?ã5 nej.1cSh8YաjIh);q[4D8#\)- lXZǪ-xraTa>ZZǼl/9ɰAͳ.w-~,v KUk}8)VJjCZJ6qH+aGAn|k`]_;rH߈ʊ@HH7XqyS}4akQ#;63ksli]y$(.~\\KdBw{q^" Vz#-"BM&a\\1 ݋vJT!2)l H<7_CQ8K{'ϐ8Bw/ }x#E ac0KF_nY`. ؗ¤^[L¢1ta}ɜ~Q7L]ݱ) &2j. ӑUz>z muhq>2Hy/l5? iRڠKE֮{ͭ/|`b9;,މcKcs7Gwþ7_ 7o޷~ܐ컚g'5[aeq `Z-dx']؂>eҤȁ Ͳ4홠"#S-R\6\j)O jj -Ǟ H?{5`5?=ȶB Jq}*Y4wx 뒧M+r; 'ٺ9o´M d‡Ot rh. < ~twTe6j]2Qu3Y*uߑS!*=%IzбE[Dr 2"=]D/jON:Ilxނ`9`6WUifw{H۫^zԋ]0=d GW =$ܐuYjtCK(UdKP¦5%-hІ3Jj @^;ɿY#"Me;DНcB6`}LFhϣ, wR ؂PK??ah:tu.GpwY<pg1M;IߖքÔL&/i*"ܝ)fVX 2^p"arl*YSR /{T/_FəE6R nLQT>cf=d0Ulf9]CN,GaH p 8KG~%MzmcK{K 1==luiS4lmi QG (?t^E!$4@%C<@̺ 3*wiHVd{ԗ-( i9yzܽ||aPfk7cX@=3' P\9[/ u48כ0G+f:Y}w:޾zKJ+^f~2xixiD~I7d/F`N̞Q/Rx>1$?Yx:рqVKԇuXrO qi=pEo dHO{zK< ( jip x8Q%7|ϦCC` c?io;jGǖ- ti}&|dI`m>EG))Q~?)r.rDÔW>fr2A#.QX- ia0{į=><]TYSN dN" !/!FPLs|W]cv=2ҡ.L+"oKba@ *#6C#ASԤ?UAR!J(!Ҕ^z|˿ մzրdd>N`"hYWOn,W;~d|9Idʊ]BY~@,-U֜mULxh ,@wafTS\`;Ędu/`}Om:L{ԖL~vֺFach2nTv*{[lsڻ8 yfّ4]6uELK{Uevi}WL}(O* _?r&71LGR^%6 wJ~TLghCzGE8gl'@U{|= 7*YM],'UEȫ7I(IP<4'szj;ų*DDZ Io"up 6t˜)x,O?|ѳ/ճ$?hL?w\m||^4OF:#/f1! l×tyJVP~Pf̖@gf*bs*:㬰ӷ(<,pZ,H)6zGmHXN%{bB9I}F߲>p DoߚjxB^*/y67 8H,.>#.8jG]kZNʋ&,#ok igj2}Šd.9yH-(%/0I5Oަ_D#w(523 Hְ>d]& +OQX#*>[y&]ܦ#ђ$Uuad`2.RC6~HMXgGᡥY{!jii҃wjWC JtU(7bԋ4gg<_-̩"IZtCZ 0W]{zkR32O%_Ԯ#O;4|(RFzG(5.#U\6"sr.Pibz Dĥ=8?'!Ƥ?0iױ-fIF&ܥc>9*"VëC~M7v$a̿RUܼ7Q?vjaOaU7c7BN_RY…訬JȲƶvG 0!$HG+B>oFݹkBƾ~"'~׵q~,~чjZ܉N|MlsJW烓|uo.cJռn!Wz,MPfGg|Ē )&T1'aaޢL52ۏ ~b!r%&"6lLD,a:^c, 1If:HX#b5ϣ]]#o4ռ>_w\$Paj7nI[U4^ t`SF~v"Vs[8؍UOS{"9Uim=|vk]&f /-JAР[J"BEm}Æ/UWib 0@?$^9I2gN\[~C+v,k歏Y>I`qnva'aڱł&KV EI-^RT=itG;dbc6>ں4X> gю _npC_u:vn 7uH-S<_kDZ-}'eh)Y[vDN1s&*Q**_z}=Gt:P1C:`tY^dMI*ymڽÍ Hf]ъz*9f2X1_waZج709&薒MUq*둖˴iFG}uT!E @ )Xռ[Qi(6~f~Z%/*W{/si<Ъ xxkS~[ ؔPZд0iCxM/!U;;cko?8@zWi׎{ 鋣H5 k;XIf$E@0G~q?끍՝{xZcLLNFWypE8m}iߔH_[ Z\̓8*@sW(CiD! U`+vPED%T!%Ncu.YFig'p58Y52KCƯѢ,kyՓa?c7*"^N{3871(5 \øIm5 VXIFCB~t_΀3fc{wo:9q~5#(;x~z@M2eı8<3@|#֑MS^UL_&s8(ҏCeǏ&9y&xR^S%ݷa !u26!;!V@#29-NYߜa^ [/ʫ"Wqa ⡛3;%ͯO{ͮWX@ ՃsUg1A un0H.4V텳{!ױ3:Uu$?c>F=m =l K׃00M IvEc)jU퐪m L+#:Vn9յf@]P28cˊhk2ao"z@kAR>=s.v׿/-M&cL9os1tok{A8~J K|_M$y[LY-{1k1NWMfFj 0.a"vQE X;K "8':8Q8>.(;K/Aa[_dMK}W7r0jDbpQ6bľ4&k --@0F֢3Q=kUKOaX7NƜc1Vj z@ZE62vP*ifO8fJRs( 9X𒊈8B[nc1 } ʦNGi%W?{?y 4dbt\Ks 6BaHWme`mB8X'r 6#8\gUltJC.* @rF%z4[bJmlD=Nvqi&͆]n)rő\P㧧, Yaj8=6[1rS C=ga 3ܪq5yR1#O::pӞrWӌe*R0 ?N/ =I+)&ڝ\vh ;հ}EXT,6rZM_ (FR F;ňx(x1uZKI !ڤ8-aosD73&E0رH{: $+Nžr7<OjvĻKjՂ660PPy5;82]a%w+ri :rO8 YwX>CFw8B 72.>`)qg8(8!nd@&eJ4g$=FH7)@Uj:WlLkֈo&7hMd{"7:EC磼 ZQaz` nMw 1nF8VQ{`d6m3))kT|hze>ʕ{Q뇵k=ݶ#Ed=hA,S~GS:BRs拎mLJ6|fRϑ_(6ZjVo4 fFwU% <5MO :ƫT5F m45ׇdk4.r2 k_ۙ_~4YƆ)Mƿ9Һƺ9roNGxӹ^mWQDDUc^7W'_o.؈&XDR cCksA2R4;< _.r33%%-ID Dk,w3@l_C;֫~cK)`ܿaѡyMeOv7o rl01y7/'{  >c‡gp]’ÍW~C%>5V&"zU7]3#_cn.X9㦫Igpm=][sƒM,[۟ p8nzo( #owS/E 9=Yt#'fB?gBo@·G7汱uw7;nF̣oHGǾoFmF4>zCjSM던St825uoio'Z0>~G6z^cM7KLsI^z种X9ZX'ùN&\7P#"XthԪԻ{Xf۴ƽiRuz:@ [puE{k/ +Xޣ,R[.6?aD;˳ʆ Pzow9xAa>{#Tu]cqo#okk"+N%~.;1y/T]j!8͏줔OvOI7="߅ '[5ӼDj̍^oV;~_IroYV+R~J=`m&:(,涗81O\1OЧL'[hX#jsrx{l=?_İ~!Uɵr=자߬\Ûmy잙dR6'_7t,R {Y_Osӹބ |S"8q=u_`=x1?dFyݿ`"nA {ΰȰ*Q2m!Z a\h|߹uw}IVE𝘓;Leao6(f=[7) ֜6N@9@~wYIftͫ:49)zϝ9EqX/%`Z EU>\ n͗E]'+xu cC=wV0> [zu#nlJMĨGDɄ;ói4Ae\f5ӣכrd="bŲ[u_ *luɭ ;iC38aHkI-Wy DŽE{=^ivMms~p߮eO\LecwKA7d{T*i漥WJF:CFJ끫;fRw"ŀ;AûC  ?jkhz {$/$d1I9Bw~7|Pp? 7Tpk@f3_J4]r.K,>:YQL',GMɔ2O.a]\sd˶ZPiԜDؔ@VwS_s)̂mwmx2ɇJK`bnIfUj0Ź/\AV.MF}IherRPΫGue_7SIl3*؈E]Umͦs);R3܅ITo`\*Tz [e \T+I_a> 8$]ÁJi Y άw?4?) &[B 'ޭ2ҹ>hSw <  -ze ζ<7cA6n=HSV7g?7aƛl5RMk`[2ޗ]oy֭u6D5>Vs9ET Zp`(]G )+-O5 NLkAm+[u}_r%>KԈR\X'b207rONTo)2 ˳Ȧ^塯JM!JZ\<(}$2{%ݯߩg<-d/uqØ49h>Visb?P iT%Rz>S_w@x*%t_ S[3/h.M>2< r;!TCjJ&sK#"iapp.:5%&Fj/׬74՗r-+}95EҾQEm༾H.Ϸ}U9R*Cݮ5I}}z?M %?/ȿ JB`<899cUԔtdKe0R 0rM "X3IO'bpFrOo' Fs8R6Vdbad/ ν3彣~`EGN [ a{ 3@->F0r?kN wRaʼŜ*kƂqFd3&Mў5b4k1B{ODyI\&b5ܮ֪۳cIzϵȜL"Oa9+-nߤiyx%z Z JbqycKoIZRefh8;&A{T yi^6次jۨ&Z"r')h6E#( ơ_,洀C`L ] nayؠU^!8+\xRV]9x.TSS+";O25 +j}̾ڔyď9:97D 㤆!̕FCv\ uUբ'{ȝ 1υw߄d򓢽Lx2`x{%%AmzW$ H`tY7'X`j orFXdJQWwfBM u!Ev+.AR#]ŶjdN;U[=IaHMV(? NtY`MF  PO`JP.{a$TZ!v*r)jO.TĢe)O1_O“{@g>gmjSrˁ=[T,ᣦ 1T0e_YNfGb+ɠ!9մmePߎJx^Lwrr 02&"Rɓ]nɹLS`ݖ~@=W4r҉ޫT'lfLLW(BOҳD VmܪEk|$y\b>~.6bn:>,:I^JCȺlRpv-e> y)"5k@koThOǛJ㴼g)/}02,z~"w]FG{|b=-7ҿz٠| _3g:^k؈r#}}N#_FhgPq0P >Fw4k rGK$}kwAj!F&Uuڳn5+BevKa;|VBT߻ViQNXE\jKT E=^1=Xo8i=ɑSDFxH@L7OvLXb*$d#WKrF9+#R=y_G fǞ"7Ը}4ae1Eyj"ymÃW40muH徎ͽk+MҪHu(+R!I^%UNA bC[}idV+Ρ_}0"օPtYdpklSQ} \ԧHINcdixG_sxTr+KI2X4u 'vdB˕35&Al&n'ɓ"[!Wc ysBjZÎ'[ΛqGkMޕCXSOm=I4ZE!oꕩr䘨Blx\?LP$Д W- P!9 zbrm?'#l>_)#bQQДB Jõ:kъ7F3ag=gv1^LVEuHj` ڻMn"ky@)K?:ga !mrTO 1Ā/jg0Iՠζa(K2[!]]Y uIo"̨E!V!0.++.6\{ǹ# <6xK%4" yW |ĘZˋbuob|.ːs Եހ4 L=sD“ڬ,:Q[=c<|&1MԍC.̀\- ]EGw .8o>(bUMRKM͖YP'"!.4GoU(By [L)ުd6o^EF r(IJ m]3PWK Ny$LH[=4e ZhY$.f20# hR\i0lƹz݇澗VN8֚ǩ$p9foEF$r?':υ!;hɌ(&au%glC:e'JDaW[#i7^Z&}r'В r=}?gDpηء|5qBcPK/ 17X4lƚ>7i%y@b\x.͆LF(':lh\A΂*ytN['W+"%~I$?tzF50NT;9O4ah<14-aN-wE*zn[K"{1aW[E7b3 =ѨCk Aѯ6 )0A #4tt J1+6M^%HCFll 9׿:&(½Q Wܒ/ON ]Wv83. H+zչ`7XwnZuz>yyK!92꧀ϼ/ʆyX0pufAwHlH?ܣF|Q^0F:cU8:<F/  WURYydg*>ِEӈ6h0Be|esAh(\X,\UzHbLүxx%5`Rg&eS蛦Hv!zeY̗cF#-79\~8rr5SZUbǾ7.RNMtYPHղ ^O&[D$\h.ʫ+;arFpo-i}o_?SӘQo%-.%{3UHgIr?ݝ?N>ãCENgdA yQ8[E" yat$IYD7Ll9|뉔'M Iz& p͈̐'bv$gY' \uįS09ǬZhNy^ 92q9+ҲP9?a'_9N4GxJtC/qBq#lsK; ħ 6Ua䩨7ԯZ#1}"GC}oRl@6ɀͲMÄ^3Ws.1ti@fI7,sȸyo|飳s~PUv-IgSN/uv2\8b:ViV]mO! MM՟vɧERѥWǞH#g.O4Ğ:(N`7Œ46 4\FTb >s5Zf39~_׿XDuSL{UcƥPNA :x<"Y!7 DK~skNNϧ[mЧk¿Uq8AK:KL`e @,قR?˭G;i6AQ+#\,2g%0T. N۪Gi; i{%fҴ]aַ:^L|FגmtZZ=A6c2|=[v7̡.(. }ZVx߿UȜŜ_֠G!KMOŷ֊jF hxi0n !jvi`b)9@/)OYX&$yD\-#gi) eNO+'-Ȟw,7 7{fOCDNʫz.a@C0et֥ K`U%p({wXKNGeg>S/paZ!rf sUwemDBna5AD#i7K@OɁcyЕNuV^֧Z J[`q/ =Ne)W1ڑlU@_ SUUobU؋_$O Og@g}} &_p1^:SWv#4 onQڊ f[>zƒLιgU!^k@16 V2u$rl&CO@26_Wrtlib[L3'Ia:nw kgpbPkME#5AȚ QS^[8IiRNk,%l3d[9+3tAy. `lyxRK頀$\!g4@Qr l1۰Zy+[|#Hw4IZV.Zq-cb2ZJ|dcK)RI|emnnixLՔ| LO"{r$#T1%3wE :2 nS7Uij}7XE:r[;/)ql^]Kx%MYE`l^OyFFuZQuc0婼2.)MSqq#_%N2Nv(޸5j 媏$GR.L."gogJ0ˌz]F7)q"OwJA©|arXZGf\,o# gC+WԨ\MϘ(E WWXL>93I2^bGL6\t?%{sq_ƻxُٞ|3yՑĺPK1v}-cpg~ TQ.Ӳ톩Q@.\$84F@Lxw%4`j츂_ڍo/MN U6yߡgi7sLUWL8R-j'楹1k)7ƔAh꫍Ǔ # (3R'?_W]ԽNS7PJZ-P+ZN1&ivĦ,hz]=/ Y|$6&`Y%bKo5C^}C|{?r0s_dx48kWmOE}`cK1B:-y-KPKbTY~12 +Q3Ƌ™J\߁NIbCggGr:*AU*eK]'kn$6Uj^8@nE+#}JeJDD .ɋ?Vxb\AuX}a9_"A:>.v1[YbjF~4m5!wRm YBf%OVg\L0.I7YuQKD{bظWhu{(/St-/k(:1|P NnK5st][x4'INp)eu]KaZRߡ3[]*/ wנ>E]Vl=:&}ZaNwFZ.8r`*rO$b(9|Ypr9ѺLxjWU66uOѕfbK5s~{bGkH"oGj >ۯ@TuƷ1 61OR\׌ IRmDK%H줚-J&D7 dsQ J>XKl:Bz/&D =YfLFFD]Kz>c9]ʽAZ >R'69Ud&#;K>gG K~qO9i9q)>Jx/3[g\{sA؂LwGW鼨<^$}"?<9۷$}ۈJ#"PLI6XRimkq$cZD` I=u4ܱ-:f|`$6ߺM4SnY8.BePpwhҦFӃ3CI2z \I1SaqZ\$4Koq)2Iz6Šlz# s/ KQ/#}mE8ovo=lB l:+l.*#-Zz KE:4>6ks>O _ M?Z5^tZ[PݴUit쾡j CM*W澄6R}NjZujBn2ޠQ-"@\Tk5h}<G>7E67ܧsc[{G7aBPrƈǬӾ"gE/EgmRF;=b`A*lB1Kl\)5dɵuz PJH۰r GeÍF SWS B+!A& ]@VS^]vQ{wk-la/S,r=Ie<`m%I3LEmMuB[];^Ԥp,:Rj|"md/ƻ;?`&ʱ#wgmՃ5@V%)0'Z-n`ռFd֪Hk4bY1% iJ͵]#um zk3$yVOꡠ'|0ǥk&Pm*$,i.mEAm\qEYU-Д\_aK{x?z# E0Y" C6N!h nC~RAUD QSڗ˞FFZd.8s!9S]&mn 64^DwuP=Y:u1~׆roxj%!@ݳ4vc )׸Pt248=d{ܹt1/ƣKt|qT-zN̏akA a܃wPv䬣?Ff*@!jp%ps2Msn357ձ=2oYŁtb49/J&}VCJM iVy5>֖TYcs+/2_aFh ;{-~ %}gؾ4+`c;XGc܂jM=Z_c{vdοѽǟ}B1{'kuVmV^il0>hkbEJXoӨ=)#ˑmxy ?|X:s^*Bm0g_sYdʇ=_vom1Ӭy+r}'`p#Ѥ,t> c4E& ׺Qr#*.0cLX;4jbph&ߝ06wJDĄ3 ԶpƋ6t0Zry{ԑ@t$A^̌k"{1ޓC6nDп< (?hR^_&[IS[S٢]` RRq~4 v<{4"lTbR NRy4(O}rN<6~JL:koL2'yyl\L4Z dδ o6}}l@Oڪk,kU&%^!6Τ "a?u$w #vV]TBw_\1oN/ !:GfΖ6Ac]}$%݀V3|1/ lEVΈ{RX&%B$i$cr&:]_TWi$K2̼&9e1dt^"jPPj?ϧ4MtNT)}eYʩ@1:aA2dDU/WIDmzn䰑zX&4<)w{BVң* e^i_[0jhSo2..UͽM[ \`< +ΘW-Q"^q~2 C,ĊeJ* R* pb&(JbІ#9T'YMvf($IA\Qtq?k@oS M&6˦H 9l7L?'(/A6+߿|qp0-}rV*pgO\WJWUV p譛TC%T̳(e2:qVCgP^ [궢j.:6\NDYTҝ,`3J~;S/E_ .4)MQE+# l!zQ 9YlzF#lش3?l3Pα*!J=~&J{"|rb |&oQ^Pq^G nq"p6P)pUiعz4^g X4mNir`kO,k< tK)w؛1="=q YP%qR F\<$xN^etc}? G臜Re^A3lj-#g9Q5\ĘZG5 ْUk*u"s9n0=9I)fە׭UPC8X8m9_ ЊTo C1Mt0]AL7/ `6u/K[/"öa\AC`?i)2cιki]^_2ErK bƈC% MziJYO9sņρC\TJK7̻QԪQ%ePAR2 oFjNwpMK>!%.+_%3g̋5JM0G}(̀ٹbWgLۂ}Ρ!ץ2:_Հ$.pⱍ/$]jkC?_smU2PyTD,"[k[4S8 B͛n!^iDmQᴧzNS?gsÅs4~Wio_v+ӎ oeUM< j-LB 1pp=A^j["R;&Cd@]q JN䏨T6܍>z]9(uw;ǖBq:[t7Q]2 ;L/EIJ,}/II؅mƧJDDu\UJ-%]@NqAv7 74x|1M"}ydS+ >5U~&xCq9GȸaI E+MzJ s.-٬3+roĬD$NEwBs Rjפ xAL]_Gœl6駟F;|rO>ݧ~x~]ۜ: f!<Ͽyd~.~B ~Ǒ|u82]WXTtj" ~Tܔ z.th6p.t|KP;V=Vm{Qm".nZx}v@3*z~J+t|1?OO:!Ǻ1Nq]eɉD4_^nYV9nn}pr6M*v{M?_x sJ5ыVVYaS=1h&BDLSCsf÷',b WӮ>uNHSҳuEfWp_dտkq0esS">kWKL7ޱ%#Τe ?_mc]As*@/Cv~mWU꧛N2n[ gBN0qղ d$h9묁rzWCwHs4籆.߅*+6H#knbͺ/_9FHeqQ૱?/`1E@MEsO9bR7T_H+&4Z9n)adߵṕ:}]``#}个~+*:y[=-hw |V>(\ҥn;px%t.?'BدkU#யR"mpxj{UCxDRAQ`pA?ָ /h>صH󫍹]K}hQNj۟3B Y.^[H@©,-P)c2Zt= Rxe2K9k8?uї F)ah`mBnNۇ -Jˬ zl X^yWj@Ãs`NwC0 f<GGMîlnUm դX!'7g2U;H˽{σ3n=pck|›'MSVMw|a=0VoAsq{T0[1W ^ΘW+-ƃr_eLpVp5pytw}n[Xw#fdF8=zt kYu:J@מ)}SIȓ=K'p`xv_ J$bp-=p @hf{g@w2n& L7- 㲺 q`II%CC/:#d!8.)L":8+tլ8pEdh?\rv o:6B9\fEDˤ%1Nr*-8 cKM}qڃ1iؼW{kE^/_1M{??/clW5I IGB7ĩOUA쒾YϣW}ERzm6WČ `.y-;x_sb*!G|v p1 N8,g`4 /ؓbJ}N[mm\ʙ` h8J *`< NAB,Dy'xө %i]~ >\؄SR{3˯Hp'KJѴ"КI"R4Q D+yɁjV$諯6nH;2д`M-sB?_c\/yUwlQtuQp0e+c; ~> >~GƟc Icէcdj Wǀ㡯EN9_;|ﴟ ^$m-0u@渨i,}@8V0zɫ*$’/?ᄒ$3۔ 65׿eқߎGШճ]f <`Vpp%7c6)3I)\j}g!181e/]] P mg5 t//ɲ\aYWC tPt=eA"U9? ^Y1[Jmׄ&`If qXxPHCݓz,y +؍HN "lwQOgG!]'x,ޙQ~da+J.L/s̰yeh*n{wa~䷝!Oo~?D&=^.xaְWqjTI{^a+Kt~?+Ȩ8aj/_zpFES#[*-5aW]^H-鱸R%]5yoP')X{gu}(pj-20бK}F@"r fr v(6ωgs@u=bڿ3ðK ~X@xȍ#x#MxkJ_h-w0P^)}X&[EeҼXW_{4O$#.VZ*=}xK,Ô-Q1{LĞP1pSFH{TF6"s6Oպx=ʓ jaٜ_$/MkrK]C3ҧ* ^J84hw/f"-2-$u3BŞYX0hT.2ͰL^Oĩ>% )>‰ v@  50u5oA[hHVڪ ݮ)hӾjdCxv|̺ҿG @݈[j&lV$7T'U5g}^" A+^hCMU.)V1FOMí^SHS`نV >g((-*hH=\5,V~D. #yGK ~17N-^F\߰#uHkD^iOPK>k"2CL\v|>vJakmsPK]"wo^1<9qk T܁+ T+sLKэii]1jM߶ij}7J7k_t:CѠWN(w{ ;qC['Y؛;Ŗaތ%P 1Țp:7ݐOVuх\/>ZI6e576-J?w5ÁZl`:ِU )ܤU%0|K{@g[G:v.1da"?&-%>mH馒~%>%s{$Y;)0 ;w Lq/]LY$k U*m b#?M hɻ _:^ GdrB/V=P|n::s BؤİG\WW6%٦jP:t$鉊n# &掽ODc#8zu1Pr#gw@WEXeU_Y|HcT0Fn01AQqi+4A ߒ η' 3h>LBz$xw0vDynPd2 N& L cm$d`ppa.=)VON!' w  TdIJ9 sI NH)nWHoG?w*dqX ܰ0ÿXй?Heι:λJX4n(ж:nY3/Z8gߍ2</P]XR& y⩒\Vz>3PUX=蝨YB:P^ʱه` f8a;ޗw5;\\}RA2gO(77.s|w[@^cLSg]> B-Ş 5e+:;Wć6]3A 0mM<*E`l/m}o{QeE8ו.NrJi` Aa +րh|YUҢ*ؘIKma(8 rxR0h\\/i ɘ?zQe/5:o"=M=.~}RID <&/)䇰жْKq:INP?"ȹ^*DӸLޣ!X&՗=M9'O  Uaz)(8ԃâ61aaMc(qAJ0x" *M5\7U2'i$J}$ |扂]$'q΅_.05C;g˗?#2A~LoUX<==Œ Y|jv_ad `6ԸܖOS3Y~ \=EvrVu9{a>&7׆(ށ${ iM-&8 jH\#5v3\nG{nelPEjQDN-vLϮرn'4fm0ugcJY8;Ozg0d-xdn98N1 P>T0?J)nx >WƸۓ_gF;C~mTc\8u"?wb1ҿ̦{_ؤsanNX#9U!DX!w' zAub@{t!iS7;[ޮlU ؃}^xB"RJ89_u#Ui Zyo-g=}BvÍ"e2O0f! ѿG䦈S7mn3-U07 D6v'7בkF[7x~[3)c.ڸ6v'56ڍnYY{glO8l߾1~ؾcE֛,!fg}Vk}=븹Ƙ(=ILjOf3͡PbX_7i$52΀r@@to$Wj7vbV䚂H;7&ccͶ [{܍^iA7n5v(fK<ެ藱YSRP=%,'}=/л={Eo2l_(>("OY?#^^8;=1H%no1_1=e?dyt|н To2̀2b~NUfƛdٝ9mVgYO`Y-R結]Y:b &[9boTgL&q8 4ʇo&4>qv(Ơ FC<>tqQiۤ7&A3|綉%-O13Z~~Q-7E~ѧȁVTU#Z9QQ CHITn< YԾ:6}[\ZEvX+=h}kkdo7Lh݋[?|^OQ։Vbzln@{\R A"5h7hюWwF֦ڨ* rgK-ڨ`&E̊JUoIhQ"r ' lubIf(Xd Bjisv7h*et=inʲQ=zWE-o 7|A%jRM{äna*pUulrVURm|'nwgAg$/YeH6dj`Tc?]6)Eu_|MxWp[a_S RyA v1DX<0{b54|:pk^MV XreO~m:bnLܣmoAЍ}$s >x8l4`=q_URwޔ4?oR8(l~G,ᦱzMlM2Ճ/MhkUl /duT ,Z`ޖ+y hx0, ڪQ̄Q́JLwBy~7i$S+MoZLY,JgK/.v(h b~&R?=BaTqf@X~2)sOzAzLezN+b^yti,+SAlRIu[aiP15xL}*sO15]@nӅMh f_x yQA qbNnWAT7tU0.*y) '1 ?ܚ-cw5c;pcZ'q;*H}X+s}AL' '\*˂+I+SxS~̬fxd*k$ @8ñ$x"K>Zw& ,\@|f'qq#RhJLgZ囹'qp@@>+_n#t p>=^Y1%ڠ w#Ԫԓ٦hϤ:<M^ZLfaW}jZ@h ̅mKZǛřh@'RS,:2'MIa6iM$F3H|^TIL- I&oSjdF(mha{ =i2nCn1Ii 8 .G% YRqǙFρStN dQk_"kx,M54S@Z<`7Iɲ]^Tz,/C@edS%0czZXo޴h$M i*n44yZyZ%' MmSa,b&F9fS 7WEW, ! G|PK _2*:CWDVP|} Dj=2NgGmuln'\ /yzB{] H^6ab<D|EtʂJ@ $ pP!''Yܦ VUcP܆SƲ& 3=< ~gLC<=!F?JkĨ Ax \ыz{S_vbNmtSp :V>zRzʽ: k+os!Gd XQ>μ-.2W Dt==m,՝I-@|/̞ܒwu^]]3ur;N8*KQ~j4ms;K486N;ɇ;~xtc$h$%ޭ0(ǦJ ok#i.Rǁ803ҙ"p6p+o 7pl#֋nX( ' %X1wJP6"Ej<؉=Gފȯi;.n '({iХF?_mMiI2*HbJP NmMye턒N HWiV|kj45xE ~1MIߙדP%sfQҹl_3Ho ]QyJ;#i5V/_x |usVԛ.-/v/_ݿGHvq?7c5{v+T[+ ba,ߧ-(C~JxNN*ِUfq,5>l3|eC11c6Q@r"z\wWE}Eg׸Ӵ( U V풖XqvQQfXZ9ZRؠ<'Oqco :+ ZŞwdf?颮d[h0ILv?) oJVEھ9:C=L ݩ4'c aY5 en I0.+]+*dgx:++fw`\Tw|mLSL!m؜~h?"ȺK>qH!3/ DvOjm]5鸌SnCuZ5#K@rYiC6jQ|;o .$/E{>sd[gHYRlC֊I ~vы2oE9U?@,PgrᙤQr0|7 RGBߙ4i٭Pz~d?C@E HV=AY^}$6|֐,VEkL!KnM5YF}ff|&6vưփmt翥Q"t_x,bPlU]֭y9ƅ$ < F$Gipu9ǺW$pӰx4>PqWuf$6j-rڎ,O&+{c6nJ_bݫ_*I+yUmn)hњyN䶳c1\x.d8\#!w[ʖU {GvhWKU'l^KEp)Pl`jXE~6U sU+)b+ gUC ;Q8ƒ`2 U*ē⊜$Y=.k^Z -K% Rq^,lY]7zESwW8_׿)tz,7o׋6Ǭ^9A2b.N#m$â4لTkt=).S逴y_F$U4^M)xu[PxqH6=plʠu yE[yV%( =LaxoD(%2?aWU WVNWRW[qӿ4Z-ZsWbMAYYWL*UV?nv\N++wsu?c_[8(R%[hSjўȝgq!x Wx/zI"Aoa_n] HKusqխRHA+n0Or.cnV!,~Qo׭bW'S "U,ϊԯ?uHP *̾NE4/Iנu@R͈ND&QH]m*ӟ dw-Н+2D R=eif2T /FYp_1pnUk,Ru]k5)<;krDnAn[3ŇεӢwl-@Z1p¹T-IZ'ܤ%s *{^qcl :S9l[ HRJN#҇¥rܦB4/fU۩'# y ݣ0PP _ӀϺi2 S:?uEQሷGNak [>o6mg9iA䈋K#,ۉ0hZo!@_B*Qtf YV4RQ+iTћ+HX+ѿ -񴹓plR'ɖcby@Gh=Ų0Q?вȗvDUUW^ ߋ读c`ey"6 t~5dKV(H;ײj7u:W,f5ġʌD7sO%/egƗz3OOXx˔2V]Wak:G4#b8|~%n벙K٥.ٱ~W䤛ciLWҩ~o^pGfDЭq'^8yCh[5M7ъ& ?WMQ{=8:G0. ={jl Ӵ7ܙ % 8+Fkkt>: JUɈnP8@uvzA,ThDIRN5`lܐfT OƳb(enaw_ש K<\, Ĩ*rĕlPF\A$¥]?W͸x 2uKcayV,qv.qFof|e&hv^<07:I 8(=tٺ2$/ĉUzH?@Y% P T&S}&rz5SB愑'Sj(mpo+H-蕡2zlVc'")٢423 ~p=҃9}:+'^l)+6! E6߄TV0wSտEKo,~2>jLw7xH:ʹVkODT9x jHcOCBtބ[m}~';vk7"e [vsʧ| .n;J/E-]@ޯ&0"7Qg{g 0BED Ք㔍R0{G*=&~"⅏0EYAp|Yg.vA*5N~AI! eKx"ˇ&X,:yJ9(=+M<<]Mgb /4#2Mz~cN!-q-{:$%ŭqB {Uby%߄lZ-ju)JtjS}5*ط![k㩯Y`¢i4*"]9hV"pmVfeGHtK)J) i5+cZmY5dյ,F~{QzfĕN1KCFwU*2fR@+}X՞z\j4L ]}b|GlD^I6蹕 aLb@e)Rbw)w{*:\ߎg9nb ѭIAQ|:/y(o o3uWǢ,ٶn&] LQZ˭9(JtֆҠ < :RE}搆sdt1h?ə(OM^ >#VU!tU6Nqu߇Q0jSV[MeXd l$v77<#Cم^euĜ*|dDt&3h~h+[x2yInt,뭭2uBa~P&xn3HƐwz>Wע~4A{2]?9}=u@ xRT w* )=m4gbwWX$<րѼ5:KŊj$ҜL_~ .iɌkоꬬDn.ԃ#s{ppn2ǺlX7rSޙG~&待g?+<9SZ!12?/h4n[Fr5>NW)_5Bep1$0&۫/tvYtƒѱIO1`h_*UEf%-OUD@qA?uukB.ř^HN ً;MaQ.ɚB=a%X/"(VnܛaXI3b*|e/ΌXesE^_qDo K$'\_kߺc L{H;iP+| l6uo_rd,f8^HVcI"Tk,9QO;E?,l9T .gIK7ѣ(elAd 1`id#=䅯.tKӬMcK Y*@.:r̎%γi0yIaTaQeM=9jB,ܢ\UG잷kkDJ/4vT[ơ2l7:oMî0b"HCO[;O^ڜ@_.nZ敤 +.rgcas99îe$PFh^d16c [G:@*y [ӝ׶v6QHgHjudt*ʗax&? 6x ])nOM̸zcl] HXyo<H)leVŕEP ÕK3}P3ˊ猤# `O ÷Fa w-Cuַ D<]:aV|ʱKݛW+2;X -Ly^VX/OZ{}YGm*ao4ʵɎd\-jwXj^,cuĘz{A:}cG=y_z;w[[!ƑiՑ+|#ٴ 6O%8`X,x H)LwWm*9O٫ AkdԏA}opr0Uőњ*U:7)8 '!9sI6Ct1ͧg~M*_5,mZ(o n1u(Y)ԂuMЗ}N,7^#i7ZB5+ 3h e~WRq~]n*+:GC $x+ZtP"h#EMNkLv^֤AccZR4PiSɳ2Dd̒$# ~-(h1}m|/pnQ=Z/A6駟F'w?Oޅܹsnۜ!ۼ''1Y3ie$Aq g'@#|^%9+݊= tȊ?&q{_BQ`b)1e{V` 0E5zJt҂I%sֽCoK(PfB?cSmo岚(b%yKRsMsXp ࢉDڪ|Q gS4JUɷEb^U&z=Hӝ^!Y2T. _+.rUQAi^]?χs8Πƥ*L"Gl+1oi3 7M`a: &HM6cT/1BSqR 2%T+DGl>im3{ye< gK=){Ὓe!b 8l$[=e]碩MNȼ|}֛Q/KYM(irR)PXh6g:7%8l\t@IfB3e/2g0|?]bk1a^`q0UO(޻F֢|Zf\3,K ]5uRGD `,NQkx )[YQ{lr=#ɛL5i%h0@ 2m2']mX; (ҠKNeZ1"ćLQv +8 jԆ\ rEڈCQ4b7Uc+r|@%C,1BR6 !u#0٨ԫq^/]R#kwܥt f@xѮ=c! ?7Pua۷ղx*l8m(xiipAPpO6%W7vP Z!ѽ.o‡3H.}sf!ɑ" E-4'ޚ&Iagp .Sp:n3jHRAEqA/dEi J24v>bt:g)RP#h})6EӻΑ-y/-9>u;=- +sVa@`SU r\VO@&{ ܰ|_&}igvA"w"#pSU4ao/ڲ}e`?<~iD:k28}}|# i[ۺeAě.V[FѢ%c4-w0?OB9kC&r߮V}񗂜B aBN2.ØT(m#ʊfӽu2zA͏(x$E(-3FgܐH4Zs3SCJ½r;UI:BчƊzCe%GhҝOqT\E1*./%xڠhi\h6ϒtۧFxIA[ENRZ{fjtn7N& wpJw [.<1euryYۯu:9֗gǰ(]t)DIvvP0D&I$JveP"LI*j|X1pCVu |sJE)wѨj4gMf>5uӳV"b̩sq+u$ ~MqM,3l~W/ƪZ GO_wf] >e\ÛӦ42Hi\:M+ȆJ.&X6Tm}5ZH{dVs)V5\Od%_%,< 8rͪ'OuiCKC;nڠxmkMBiyHFSiNL/⮎R l$1uCh{ȪI+1gS5-3<R碪Ltg›۶8E!-댋|W[h=*p$* 'Do,;?ׄAE+CLq%XT5;#C|(}b='óJLqXF # M\^dt4f[|꾁kbk6q 5ҽ Hgb A!@J 4?NtEc(O<UZ4jm:ښtV,0!ӯ4E{גŎ!/6 <ȸ~(&RkG%R¦֐j^|yI͛F5~f}8+piZ U%IB'!WzND;I߼;@e-&>d?ߙIʠ6vЪ1k_2l~ ܝ\?,yB]˓$a50oGC s ` 62#j vßLLuIn1ik`AHB4_2 F Byy?)/}kA.KN mfq?3ТጋFB첖a Е xW_&V,XTM¬0i&:NWz/2aہwClFRVH;-6@T%x@ZRBpCZӯ7pܴ%E`3/=;N WHwFn}4' E 3XPx618Pma<|ӢXl~*yV5ڂJ j p)yT 2$ H)uvӋAXƿ}ЪcCW"k9\ LcO1Yv;$Fvܫ?t82f3 U /< Z2 )%娧CZg+Ζ 3QqRC8VRad''˱Ûm\r8|}6]D7@j&`\q<0h$c0Ƭ4XBa1N׳/ b Gbb aL79UGBle(eX()%F|7/oFGjS $")hu`]*}th9t\uG]cq-Vp-N !1p tSt?{َ iB|=M ;j{ÆkLmne0*@='b !9$@k䞽Ȥ0@PLcBΑVEWȢ Gؖ}j j4Eg=EދXU9o9Wmտ :]&fE 2exK4c)Etm͖๴Ns9y;o#/ԥn 5\6Ze髇)uvD(Ӵ`$,d}>o92Bܟ?{EmJӒMM rHZ5D!b ѦVQgMo~ rVq+Eb؜rqBza*##8h#@T\K[\Vc_v2RÐEPy_ҝpPa6")%QX/y9@P9Hf s|X2 <2k_^Np5{/%%ZRt*Ud1-w扭)/rY-/ `~l <}'JL(6osZ.Yl! W %>6HY$% }Yrz垴MN-L0a$QD ]l)9\@n@l fE&7ɂ~]Kpɦhp:,.KK!(,Rx#Y?GѨ`7J?F]Lʹ\XqpZ i?( ;zT}i:X '"hmWi)IdEcDUl~ɜ+ޕU2ZYumg^w層o8TZ\GS d8R8J~ݝ:|mc(a4.d@]Wx- &;Og[i/p+moRd]X̸U_ဎ"clƿ-8H8f28(c]bh0Q :"/1m\2W})уEĿtX.@Q'[ /<P?@2*`O+k"ᄅVS[[yXxzz, EZow Ɋ3ǔĴ\JaqeIA l(c&ܕkA-(艢yNmQ. %n{g5ZT3䢶(uN-\m9!)VUxk``V|^u (Y.Natl87`XѫȅƎ߀Dy4̅ˠdSZdVA k753ՒBWf+(Oαn:|ctA%h 9- +S*Vsì] l „ m @+ yGL&NS? B߰!}xΚSWTKWhB_$k-C,[7- L\lV I1(TX# @uȫ ,Qܳ{Ca<ɠ"7%i]jWVRwKA%uNjpy[ H.,>AFuZL(.Ye=1[ 9j1)$'a=eUS8Yj9Wd듻EBlب PllOrF{p^^g*?e9 ;|"&l;rOuȉACkY^tC0E|a8C@Zlx ϩ / g9!ZL`1g%2q8AZ='Sb᭏i׵ҘJ5%Us,Ӷ;!`;c N ~Ԫūi1:m ⇩l_ʤb@P9\=#Z#jIbex#qn(=H)êT4) զ,:M|0n5<( V~dn{6" %KX5_ hMif^RbEZ蟝k'VEߓHO~Rҿj4eM֓T \~ WH;kf8B߱"û+fḙiFyAt 20̭gBS3v9E%Uk\4NHFXFC$|& W7ע`^.rv`i/sAj`_.cB`hOr9DŽꗁ6ǀ dlqZE{ꃜ㴨/TDJA"4&yG",*ʉ7P~u_Re%0_& q`9+Y]2/6& b@" #MUE@A V$ێ^cTAaT,\s9Ɣ ݤ0P0EFMDTw TXeL\6TÌY L@v/.5><8hěj#o)&eA4S>H ^Y {;"Qd[1ĩ|t Vޞ%+bfH\ a2uuJ)hL7q0%[@J0r|q Gvc8yxx)eL Ԅ؋ 60d%o`ZP(Z^RU_kAiNH?-QͪWSQO%Uc܂^OhUo=`bHo"dXgraDQ^c\YZ7lI73I7?+@_H{欞qM77wU LMr1t]Z.{v]_o1ڊW[t)} z4B/+4#EqN]UlнA聒RhXjQ>#\1Fbrq!_V]6EԖ̊9٥^3ψ N)N гI`vF=)qƾnz0<3N$8 L1laA{xxÂ<$FMx*1ryy_Tt}*:)c X a.?2|†bh>5 VꞍx\K7rm8%l?V2->'m;3mc^Z9I%.]%C=jD=3`ѬD7A=}2u֮:<x>";RJAE \ Jͅ'%N3+4~;xnOC}FQ*۾uMq/ᖐp*itڲz ƤAc)zPgVbdrs"?=}4 v7]0+Y>61ģ)P[9xT(1DܳO `F )yUeI GK6d@26vs fUVL%Ef k֓pr;i&PP*XQ`J5f⢆K-S0XO62I%|ݨ`|x!׀L*b7>M ByrsUa֡'Ɠ``jt, 5ȢNiBOEv>CnvdM4{ "t9ɁRD$t-ʞoxעCF?vKbI" zڮ1!:yܴ;c7i@*g>%gfO m$bOg/1d~d ZGmv(O,cwWcgaJ@}wMzcD{o7?5/CfasLp^.,reD!&$AxFҴ('P$W:_g"315tJw~]Ν;I>|OϽ/ Ï=69<_xdz+V*MO*A:Mҿ#Aܲ<)/-~p^sh%2*ѮH暹عec'[|īp"] ^8UY5= tB&;Ӂ%Lؤ6 ;zM'ߒC qدi>`㸋m$cp;,HtuM2[7]&c^3| N#A258v_ -9p܌G&Ff"JC}!z?`./~F=i.z 塇UD-w_*_!<2>ӇrL+)pGszєEK.~єjj"<=EG#2oz)[ϗyZ= If6خI$ bL<~VBz/FߛeFR{J3~/W n2\!'.wD=~?`lngU͖ymX SWOYb4HGK}zD8!VH=T8K,$9Ff{NGZSl+[uM;C%)FeVvR9(ܑ -ޒsV(Px1%(9<JK b1y|<"ZK@H.7VM}[ƒs[եum ^( Ye# Y#iٌy4ˆ0mh+F7V\)jHvKN'l"ai/x}wt D :"&r*+cQAk*$-r(*<)/0Ha*"}wׇ>@ax+[` $?ăC}sA"|p1kbj}Yق6/%YV`j`*ےQ$o(k*qJ^յվ[0mR>13fhZFyV"bK(CuY54B!j?(uЀ+7LIR)ҔN8Ĵ/$1b{9 Q[qnCsRZ0z`)pcHL[bL@.vKfhVi60l$tNM%I,B yح$$φc| $٭ e'=m7EweqԌL9NIz ftVjOUUO]Y6- ع^-_9\=L`Xۈ^Lê>U3ObPXHᱲ,8{Y)?MwZ1i=)޶OWKD$JM30ZXeDIJnb6##%G7YXv78pPYfaQ 2OsZ Δj鬾H?+|~j  }åKv'57c9-EְEd0 (L kPC&nNIo8k5IX-_^SLbtVHErA*ec.ȘuqGxnc}WUI:%ԝ"ItNщ>WYgn^f1^+aATNaJDYD<F a8_ r@',Mz@3M ӗt9,YrH)WiP>S/=X1E_]g">=F=!rDL5?u=;׾Jx>J_q5"orB2#)YfF{l:j<6}8|kP gΨ^kϙtYBMIM%r/ik-D=1O(8)}PGGs|}Z(zg/R jIs+ gVBsB[ckx}tjvt;](r\cJ"bxmhhGCyIaļ38d ٭CZkry=T):$'f] ;Uށ4w@'FT/j$I!v,it(F) L6ap%dFm Bڤ=BV)ѨTrZ4&nnܹxt}]yrn"|< "Q G!|d&ч>:3dwsU~XRznq [惓9็y=0%싡btPPӌ''^Kʖ`P@dPp0 #UrV -ȓKe?E~N4XAiЬUzP(0kps o綋_LHM+p!]LQX{8(啁ߐ1c'⠎^?CHF7Cя9A#?K|Xgգ\o IEy٬Jky6.-e7F0X6 \pi0mS)_$ѫCP~pvF+xpj#lKkjVO/=Rϗ8?K@#C8Z ZG;[^|´/im=&oVqU7\}Li_m&0?OJxFjx_(-{p.r{'$'sY;tVy=LY u\>1VnkL>̬(pW/~-HzXҞAr} ]8 KA4ܭNMs#@j;iH2({<=*8C:ȏv_V18o; χPg 4 U=O*G_գ6whN#c* zǻ+"I ^%kIA*q,#`2" Tr!&i)7bͰG9,Pã0UfZ6K7#;:]{gCoav@#V\C eNA*$j_OfX6|5QCaghy`!%@f$ub`=C5^霈TA}sݠq\-r5@|DҌOQԬ]ޝ;>Ʃ{8[01zBjGvI&K5j|2P"|A)GYV1>vmbwE#:޿*8 0Y+uY_Q#7R_Ut5ئpp dh8T1l1 aNzZIĵ9V=:tjvaEa_S̻14l5d } \ᕬ|E=\αe u WB 90 Ag%>'Uag캤?݄Ђ\|4@!m~Z-Ub7+t0^|Oި96-28@DW›PZ"x TQ lufE(oW@p{>1 rÛ |ӏXrk%LM(> S LA7vʦ1BwE̡q ;+{-f<4C1K4Wh F$<X԰6CPp7h0tJg/'OD ÄIv#]@\{L# )Y"qFOZ{uPMFTS7Z-&F>%ĺ٢<6: Up{3 dgl ܳK> ɋvI5<#FxX'wP [\G!A(2^GBbxS X& Wp1|B7؊"8EmkqPË9|_XB LS.. ;MAV)Ǝb\di$4GS7v}@̊)zILl%^%J@C:L~;޺Mk!Ē$vN}sOYsϰ&MexmudD 7?*!e[;RڸC2'1:k>l&cmEM$cyFX:.4]dX+ ZcXJ9428uar{G#|>{1X0&/+s)cZ)Tq%b}u OFc/P5H=w]gn8~;߬4\s ! unT ˕m\lsoOA5ܽ?N.{?g%=q^gxmV:Oۮm',jAWtlb&^+Z F[޶ 7~ 3?c:uC}jC{(&)!_^f~)9̩;.XVܣ;&]^=qsd衇vGsyޞ{X`+[)ok?5FsrHA sF'2x~]o?J#n+k*oeP1\{m6pREn%_NגPu#󹞑`=oS0&}u/& Y;eُ 7죱c7r[氷[Q_N+ߏ"_C9Bk׾onr݇{`k1][0NЇG~'co7o7ܞ ϴ<ؼ oMà፦1,G2[32mm.5aN.u\VabH  @hPQjw&jj1)Y$Zk%Zox"u& ь@+'>2sUՍEi33W~X;[J!1ka ߗ"aWN,N\|GHQп0n*q ~ۖ~C|Ϧ:͝<=1r$s㽊g n RTHd^J3Ǔ+7j4VHxzK c$56sm/fE \ս% #]_CC ї2hWMۋIRe TOtn#ZhU.0/6=[47;YoG5r>ey`S#GB!mC!q%DC>,FS(K,y"RƠۤF( N'^BltQ[gۗ^%㒭EiۥХII%0;myQY-N}WxhY rtr*B@$SGkXk3gux}2syӃ-iK )26Yl N|ER" 8kA㜗O-մB[Щ9XƍŐlיj.H ׫NB<. &G~7posu 9P%ʱ^Gx:@y" ;u]M]өPSn\%c_$n9&f,e]|f%;Tf" )cQw#CP PPnCm6;! jɼom (l"17C}us³v\-Q\> tdHJ\/85Dhc؂"] *춲7@*O/\t(^ *V(mB*/ϾZPĬ2y^\Nψ+J݃37POg2ڿI)'L%x4a~KLf+Lz4.ȶ-ȩx>0+w~N_XHOzn]'[9ڪ[e#5aMõ>{@\g`f.M) M_ϐLQ$|Ȇ"N`ڡtsCis+cwovjO. eǡ}9+@0PeaDN" g9\ +~MP ] Waѡ^$> Ou[6w7u8-_nM+^.*S܊m<`(x C(k$_e2®̍r+ǒ5 ;_)fU;µ#RՖ* $ bA:Rsm~^ʇ=#w vum\ʡ}j۸EvXpJ"?‡QXD~}JS)OtZ/hT莜wL!T۱( TEg? ev=,7/_A5joD ̿CYؠY+m+ʍ-s` fflvL~i{5FMb>cX (8I[߀=t-!oXnF2"TDded+^֐aGOm89vwPqwպ'dP֙f^?|SnoE shAmyּp68kI8ZZ#i k;# E4C<0o20sjhibwvq08^^wCuQ~řC#;4Zܠ4li ; ‹/PF:s]wdֽrU`+q[6iNꑝux':c]Dp.t=pR:N0(^>#xQ5gk?Wwb ME8!X"2[Ew|;tUuSUí\ώ$!%ӱ!YշIMTz=>bA]mQ1~DrU3߱Tbz ! iW. SZAk=2?f8g-eT3IkFD2ͮB uG,p^l#Ƃ(j]!&dP W}^` 8מiml6ja$+>F>5E3]ِ!qr'ybF}ˑ?ƨU{fྍqϺ_36br4=v]oNL[x9F҄ f]4XQސpKJX)]D·j`A˦e ܮ~sRO HV3p) 3YM8Bg:ز nߗd-}#6Gohzlƺ5süf"jzֶiW14IN=:rDPwdx=/!A?h/eQE*,مa~NsKWjmHXh.N!GUh ̮.h; 33Ec`lYҎw2Ou%4 O3yTS\u<< hRWx9Q4"?30(T 8!{I@ku{а\2n!&E_{3s p2x/W0gz=<ŀes 7eGCFw'$j z6j*p"}՛5p .TKV@L,O%]amX0`CJG Y+;LF SdO =ia/E}wHħ囲qYGQEaHo- c7dyR|^[k@R6^च.i؞4gJKMK/t2Gf9n*d0(SA+fvInb&H=0OBj+ v J7 uC$1&\oT^T`USfkyD<-sQ&|mc^I|M=k7/~+x#)u v0S0Â[놓bT JaP;8G"1`G zfiQɮQ-RyռTJ "&d\jŧMv4Q9S O.:ȵU7` x1j#~/e[3_ LL;8 %'-zLp;oݓ+ޢdmsfG٪L6t U[ͷr`".979>\ky Y`i7 XN^Fix*0c𧋾ՂxYlH=0b'iF<o"(\WsɼVC|{6\]x#Jeѳ #$ʰ )Vf)K R~!0_9oV'2ͭ,Z-NCw-o Pk0f_m2S䋆yݣ@UDYCdrMpC8O]>D^Q24SXǁcYؿ J&֑3tyON^ &QBI$!q>\FSta_yg/oaAiÂX8#Ǡ=IME UCS@}:uehE[-ytwqPv(5ѾJ \ oNRq1.D@Om&xxÃw: lNI ̀r/%A-Nz鸟;֫%J[V臰 )ם.|#NMOz&q yězA!}Fl%m.m`B >r6F=OoȽh ݄=.rVɨ%[ahiU9E~A-ށs-ilbZ!īX;b;uE4r*XgiNN*@ZADK~'{}+썣gxe7@h C vb26-ם' Hv W6| ͋7t:THqMZMً@Q}kޅP5وHFWڼB. -{M|s}$L-IsoFV +juz^nrL^- 0>|Wu$f&0lh˻ ܠUFv$7J vmC> TQqWܫhy.a񊌕7pnB\:HLosZ>Wzm9dP=*LaY#^߹zOΏvm)F!4'=2C2JtyYiVm[03g!2).k*|(,`cWXb+HA m8a^P6CBT|"HfrF!Wjyם'l] Zj~ʮ9;qUVYzCO(ٱkiI9H3*%_W3< k`~QRoˌ쒿#M/y3CE8ma?ry 0r]56GQy l'$h0'0V٢4Wx5'|%mҫ Dpnꮬcn gv`T)3*[\ȨJlFq3OVH mO7e˲%n 3! +x8JF[߰WK'ih'-+hJU)z:x?8D8cq}p5rsZI\Q*PrK']?$eRNr†&b[ y8φ::4uI&wvԾO2Q%~J j [IMe|$N20#@j 8|u\pɍwW!hq-63 PjG p%Xyw22 LMV:' pfuk2($p! ?F~,ې)x[9auAⶍwDn*Ɯ0n^4AtF@pfm` 9!Z*#@Ύ|Նa2 26   ]42ZRj@VwUV{!˭hHlQ* fo̐K+aځ#RR!gF}ET[s0AZZ} K./ծ|Z)"$wI[;vDY]k096ҋ(O`]%I}<]f۽6t+HⓔuZ,VCRD%x {F `@a2>";&U(N%kamDATw/.eA*32m]BeݷW8͖%UFv}2h{ʏj 91OŰEɸwJ޴Gw:*e6>)\rr ƌgs¼yd.ֻmJR0Y.]EU~CHdp{A$v&|57#lkljUJ|i(Ț PS)e;aXzf7`8-RǺ=D V%R˄F4 C)+nNq-Fn6L0[F ՚b&NMם4&ݠ"m}[V]3W<@!T RbCiˋ6PFX:厼?wwk$ǻs_+"~&A6$>w(a/H=YdGG]D{ Vzϯ]Ȯ{Aq/5guEKPĜuҜ[XٜAXz*7uc<9{u vA:z)I_}6ڜ:0N68^C L!9-: Jiw1Ž#t#KVW[Z†Z)%^K}Dt9FðFИZXϘ),Ҵ%OMsƇAٻMJN*A8t;ŰamOxԪyOwhTf?˼l&"$֪ m+#g"STTYh.bCIEh%##%w4 W"@ Ԕ>t;xYT~iQ~t3lBi*kr~S9׬2s U@){}~;''ԈN.iF)T`aP˾vHk'mz½{3thƩ>g!D'{]a+[Ϗ5^Zu'VO͗ŗ:g왳g_|ξG/љo^֋緞{7su//zBlǴ5b6C@hT>F/@'ae|zmqXϿ j|{0zؽxs|c̙3Ͻ=wh)͐_X_;9l{]_x%lHdlɿc69;VWa`/?{C&xet@1mmvHԟQ-Y]ڲaii15oR]7O"@\A cI7G-CFgY7/:diQdp+Þ? \]&Fڴql>z5r5+3v9e\f%HhlfGxt l2٘Xc.lI6%HԈ؏|<l(r~,8}2[. |5lVħA0n <rkŲ7>/Ϧ) i nWM %]`Y^6[R{]䞠ژ.Y;^i&c҅u5~|kQ 5>[mے ت.Լè^ x吪ɍ4!{ 3!mvh$4]G"O1]$|rXьX![{?_ZW ~l6`5+-ĿـnQ,Q.k I[ <ݓ3u 1CV5hMu\$﷈vl@lD zֶ{bd@2Xr:xRorOP2 t>9^i dM?Id+Z,5RKd3R +V\[j `/?'D6.\27!<]T cŬnX*"b( u::M4rFgѠ8 րŽ;jĤ>^ϙ}fB܆-i +xٺ4.N,sShf)oJ˯+/o#m6@6ݬk'TmCuTs&s5-&Ns]@.߲&^DUw=](g١ވEA+=Ke2%MYTKgXo+5e`Ժ,(@~PtA1AF Uj$̀(5s^q9aEqDQO >&!3(~y#SlFf@$Ve5/쌑ݜ;[{߯L)D4L.(Q043%= LJ{m`y}D" zT SMa/%c|[r<;'zOlq.X5oCf*1x˼bG;ĕVKHPO٤r߽ē;? {æ '},Pb̀k,|lOUr$c Z$K`!-;yl.]Wthd\L7B&s0^|ywt^T]G?兇U"j.-(a'T^EU^|-(a3jNJ#5:촟 k_FUCBAakYCHAqhc!iIM@aoB Aͅs6W`2,pbq閽1)Wm緱I6Gz%񖔼Wj{ݤ\ݱI4LCwOe.Ĺ'Kb*_*JJDP~kޫT"oOVOd}{#BzP/0&|9G!uʭsX4/CӸ:\(K_) W펞[ÑAIE1`0g_!ֽ{ͩ'B0Cvկ~a= W|6ɺ(F845A<JQB]LH*rHKr.nm 3m@Š.Հ*U+϶r~ [~͊![F *46 `P/6lCNK-!T#N2 l17W e{1,y’;dҜÙ :zs=a(e`^3FںKجlZuV֘CnOʌ" +P] 39k`(8 *;܌bm0u;n]mwL~"vU adž.>)p7 j.$4=9SB]3xMi~ |b1aε8Y8L1EWyTLT9t|CA?x)ΖQ0 Pe3d΃G;U2xp0ugij=*[%fفdPnȣ`EZ}E7q("4~fyN^L`i7׿vݽ{#:vr7잜gu?>u޽NyVC|4{ @ YʉAfU2YvsYv[g;g^s3=w PH}Bx .&2o~RDBY[v-Į¨\]Pg<@p >G#MLpA߁Hcn#Rf޻m$,B36k(F| 1 (cB%&SS":o鼐)-c QC. eN#WNA{3gCO2ceӓZ NrPמ̓p((O"lk d T g9WjH .ovxL`ǥR۪Th:x)ck%-56L?w]kN3bAk׵]\]YzكR58/qbF1sb1[9m3O!X>)+?sFl pVZd,,)l{҇aAP/d|fڀzw[M݃/XIqwt6 < kB2d)+ ԉg g2pÄ \tSzkl~Bhp#0Du9M"3`=YGʉWkbI`~G g_yŀź䜤:rE!r+v:..#w l`st fXׅԺF|DuWMAq _?!L hd| *h07OH?4f+1GmBnψzD>ig&a+oB4)3ˤ+/5 d0q^i dJJwtȩ_rWmN^OX8_yʹPhЯ۱o麋(_l)؏=֊>~5W@M+_ї,X]M$IeGKllOvؼ9HG`v'J3c<;(7bl/ȯ ߍ乞cR`ޢO@T*QNQ@] V+ H:m3oiE3÷ C^p|fn&tR K@ V0T⍰,*վS:1Q?$Æ{@n!0QqǦMV؝T!Wو keY~)XM9fu7Hv0gQoQnGO%02&\ϡiF"o(ZCqL0DJ)F!L_2 o^7PjZ#q<֑4[Ap^,f18 D'b >q@eqhz"$d@XhϑhFTF͐ QWI%0U+xep= Ǩ7Z`&!TX@Z(N6\Pyf_lB ,7rM>N JN^MeKuM{lE 4 }/k*7u1qNdo} [@M*MІT巢.6c@m;.g ϖ\4y< Xndvwѻ1Xg.V/tǶA $ܴy@U*s/n#ll)ڕH0$ҍ2_< \c)nXp `0B5M~]0m ZSb&qQ0,:vP9fKtެF%bf[qVq<+jg/)kqYa)-VUyMUC23֓^\HI1eHT5KkhMʡ!6++WQ{iBiȬWϣ:TH X=7K ;ÆWrTĽE.1[sO'_u՚`e$iP>gש1 ?p&,cܲa&]G5KUۼ W/?RS 5+&?"oN(.դmpDaYrH 簓j[=S"-se?ln)px5ۖU)K$hE̾9rz8E4W+3StDɡ3m*ȌP~Njξn'E1']z퇪u9% y IBÃV\elKT%cC`‚ +y2 +S)pפ&JS?0u)Yo$3 e STrR+˖څ)R/ccPgߴzTyCZ\M6$~QyE~Tߴ ,&܄QSHzPf1nMm򊡷TЎV4z@\ʣ(mϻ0A&5E5;sơ?G]k]7k^F֭uu잭|:?GC :С~%ywP6tV֎*XE0l]ܨ<4?P6e$Wps|90ІNLJ7k bt%lVTJ&JŽ ś_}T:햒qr})sU9k&. ] Zl"}@;{ɠܲ!R *}'7] FtqE63j&XL4\2V{ KPLVa#wSE |ܖ{+VOwOU_j=gO??} @cj+oPpѿd+Wnܼr+IcГѐ{3|](WOT+[7^%*ۢ@%J,JFBk:*OmYjsiut#u( 7Ki٦\fbn̹tXzs޵諪v"9nTn[Ts"zpfvBб-P/p[pP\?8eP'[m5hzʬ-Q_FY 8e>x=i )\ɜY,XqQr5AiQ$묫,b{d~j}n*+/[;\hRME,T`Ǚ(θrq7Vf,,; 'Q~1.՘$4b%Tc˔zeMsk &L&yo3&9"F|nif-nSc'q$zuRDA++c*Tf+6V s*PCfuCvaV@2_f%@y۶ȡR[(W8eaBe6KopzvRʇI]㋖#kPžkε.׬C0/`69+ φj\\t'm.A/Fz2ɴ7V vm:Pe1 $oޔK Ѻܰ" jSDWuKx#Ư+[ JdlcڞTa;w ?@@y4DN} y<0¯X.ǖ82ONY # U@9Si'9V{(50c ʻ.dݑ>֍{(PXx.mr:H6ͫҒYhWᷲ \#g7*y굫[WKofo]y+}otW7rb5X?=1Xm9_:\=fs֘@ bE6tIMN_* ViH6Ɛv V4b @tn.78Xe n͂a%" >Ndc3d`6Jqn}8JVgsk.J~8EW'3Lcw2Kb !xic4VmԸA0.㜞L՜Z5%F(N^b~+͕9d%9VR<4÷ hvBk +ފe8%yi6x8;pڞSG $ cNƛ $סx8y*ǁyT5d2҃fEiod` S@u( \t GW'3EB 67bTAV'N_k.x7TЎ}<`.|…bUٛ7t q4JB!ƀVkw}ɋyMc 1%}ܫzplg;cS`op6gF E lv QlqDf)'F곶hzuY.W/37vAw'gD2e b5J ,M;QVn*]A ikM!h_yS_9(=^F?J9'k!yiI c^ߔ9jLjmCbW6Oz98` zF&-y1HȧU5`E6`B+3DYDML V.)*86V@-jN?ԅbBjw >Za6C>RZ$:nUͧh#r6dh{C5/7/?}}!y]${^Ex|Od;q&^idp}bMch.#"6Rxߎѱ8IQQ{u\l(d,svžoXG[Kj*GB[{Mj^D)c{?EŤ'3q{fs@or ^NԶbyך*˻`qơl"tN?'nxN$qppNhp:Uv)"3Ϭ !I>[BeWY؊>vTmr.^mИdBY5CMH7antBmԮrDybæQ3H0LJDNZ.j?=tv˴OQ{qw(-EJp3jvlJ ]&ض~,{H[X mGT\Il[+[J WQe,7>v*ۦ .oS?^< 9zGY-"OoZdP€!A_4"/W#6yCrvgxUGH /Ȓ#@cxuC`v[O 79i]TsQrHG)Cյ<<$Mddz`ٻq FU7 X!CdD!ޝ_F֑ dQ'[͝iv6fL"U_RK|p|/&Yzb!F^0:Jg2֠=aS#l<ژ}G5#p\C֟8Χ L؊@2rG'KrZ P#웗oQr|9"Pb`AS7[ɦ(ʢ3s fvU) HEfsgkƜ>~bBk.,5A[rEM 0ocCRcLpri }G}䔲&{a_rܩ2Za`,tIBݥe% ԇU0IW,=u ,堓},fa^!5D"0Y*]U2`kvoZW:륹t%!w4|˶i aӝb-8|"M@n1XqrmYMO&Tf"{=H6^]KJzʡ\ 8-¬4Q:?h:~as=KFfh8εo!%eRpbxK8E ̒LbS ؞J|ɜCa_!@#Ydwj@3#p6E3E7qE˧(7cPj<' j`X:p96`0( np j]6( AoIiR9:3nBJZ!.d Oҋx!;LX.i9V ԵC-#W 4MpO˰yLEȦy: hʭ bR-y^{oh [FksyFYl$ɧBB'&{ϛX󑋙ȭږȑeN 0H+cJW<Y\ 5P/IPZCge;#.JVb RJz/ wME{"74TT33Y+usf*= ~$5 ^BY(KFL'f|=0%Nh>7h:z0c Q*`̮MѲ@*<<7R ;e" )gm4nH%-!UD0X6N8\{ XڏN9?lO7t0VM#7ٽ2X1n[q!j !=ЦC Ԫ#5èTn I՛ 2m,@*%lfjcp W^-.[Mr -]Hk#{ OyHR*dpqqڣgCP3掂58S+` 75 1T_,Ἱ@l|mada湛xi@ɳ?jniSʼs+J|f~ţ W5D,qKZj,Ga`x)95ņB)k#(umҐ+s˵h2}[mn\X,SAVY,ظ=-oDnÞ u.?44$eM¬NOwn]`5tJ O;;(@u@F:/QZ]/J L(=h2-K;xmS3 [\&ކ9OăI. E80`t!Z9'taQ}0,?T[>dߏčYR<p9:Q$N?v"eAG\lbbEc8s؉.@ElrtYڔ+,lHv qlFYv4 # v^e.vf`Ʊ}˗.1<0bnbܣ0Xث//uC %h sQƼi Ed_d9-|B6,pEa/\ϟ64?N߃(+o٩- hXŵǮނX` -Ȃ]Z^2%hgH`UeI@TBXwy|͡N'\>^Bb8Gnĭ.E|xn%dSa/ 704k~=E$5wmjE+g[m(Q`L( V˕F2 nڐAX9U4bPyjӣaܦw'ڙ%6$ewr.)d10hyɎ<.JYЂ[sAŅ?Ͻ%$Oxph+ ;*G]CH{'o  ˧048 n3pîB ΝodW\7q.DOPR|+c26-#oՁB12<Ǵ'aA\Fۡ,cBǰ/-D;E 8e=]Ag#:%FtqJh?"6SQzO-DEYkm.I}sE=%r9qbiO&=ڏwcAo>b.iM]W}!9= "rnj_!꺈[Xfe?+ [JYq\!˪h-86ڗtȶo YXʾ"T-Z\Y4j)<Ѷ T$]>]W0->KPj/gV]qaϣCi>ʌcCOi]6 Vls,䜠a.=ųMB8* n&c53ѷuW( jS> }P2: <"e*iʊAcb<6W% L}NAgpT>fWCv&hy٠--|JÀj?C%T11Qr5G8]mq&s}+*٪{xÌs"F7M(&4T#6aKNKidTڠWxi\UW.# OrP PAl.3ӌ  [ &k]^RW2 !5 T@%ҙmD*'aX(gfE7]Wq:̦~j6TM8eZ mL3V%^Y(l4 Y|jE2qdQxPڍࢃgRGֶ}I>EQsy %q\49ັ7 Lt6!dS}MaknA|K q/^_^d|J_I)@tP:)o5gG UT+i /]abFzӇ ΐnWҶ{=6zk%Qϕ.r2k-pS[s~>~^kEbdР[Qjj!eЧr lnE !/јa&zrM~=va ^<=.m+ڟd]gZ*_UU^t,պA:иEش52@*™^Ke[JRՒ jxV)uL\lRZ ')a*Xa;[K -X؂8|@/BINO˦߉lø㭩%4]ҍY!dxڠb b!Y\Xȩ'`u Z⁏+1OtI|{Fa  ~ζUf(UN_ң@kefCn0${jH#L5+(q͉ 'yC5D!O9켁G?4V``QDzYlRfTP_OdXea O#ɱd^ƃq)22n8l 'PXf#C=YK@IRU%]mvEE<>q2wU~~S_XNaqixbX0.Hw _ə8|WD 3ybPj|9 `gP|XE*Z F?zz1PVp8;?o8ƶҸDVPll'2#PK@-, +ۥ[7r8;dK>d"39ka ʚw99&ke!)Y{y3mիNyo׎j.GXƦC H,^BaG -d&D,Xz:ʥYSaMqb /͕fnäfbR$6 kDEܘIiKy'|Q,JhSBZ s0e.WX_lqNEQGQ V]c+UQwrG \5x* $5'uuW쌈FHӱe: h:9rk؂O\]+~W G^Ms~j  [Q̓#av$*RWw/=̱%4B}{ʍW.]uHL;v@vJL2 d(24g\RA,&E|ADiX1ĖU̱ 5?oTTG:;`tcozȑ}T7rt܃e@>(0/5,12/kXfjnͫnu2WoRPjN)&EPuѲ48r/]:j/Vˊ `w#N'H5n'Ud*ͮSe/jďf\Y 5' *4*AIYIl4 w1o-] 7R3\u$J%k,Ɣ8A9p%Hp9It%E̖W)>]-QJ r;٪ԏ+aLBgh J#kC;./EV2+^(|Ru:lj%Ҫ NX0&#_N"|L9Zl79mP'U`0rP#<1b3c1nJ(y!4*ƀcC0ܿ9&)JߢN-jLװ\t:!fP]qq j3(Q;a;%M/]űs~>} `b d rXP Gq}kg:ݻw;?٩S N+gu?>u޽NM,6|>hF_UIʦWq'3˲3:9uyg_0P7\ktAt2Y冤 =C|s!g9ׅkbMAEsE`gdiZHl3%@ 6LDCEbU@D-oj:PCvh/&M?_ /!b$LH5!%2ȅȆI;˹'F2E71$MFRV/q[ڛ+VܖXԊ̦qrֱD<t6zk *\#@wPKFKV~->QD[M/*Is }c6ÆLG*Dr~BRBs_3׿z5% @Y8i[JC= @N'ycH/]S^ L. i~7i7酷!փQɸ>_I, RKA RX3E٩tIKh܎KnF`Xf,M5zP'i&9c_ZHq#tJ"匈a5u.^M,z͜! ø Tb-[{,p/]*RS.~lCN kt&'\`G!p@Pר&*\C7bÛhܵ%S9 T|u/cEN>P]kOq#%'kU_.A*%#K)n- gG?UvS̼N_yHqFA7"v6pQ.)/-KTnaxŒ":/Vr8{yv5G}F1#ao;fDQ%M is܅%QcIh(ѧQ5c$PA+-!N7.^H+.mo4a@lroF;9ZP '21e3(4OtaM0K'WMlTneժ7oBS ^$H9tj㜑I3ݰ"A-gfDfúe-PQ`|Bۑ $V iG|$: |q l^5*&$\R -B :~՜6B=Kj<q-^5 d#! \.sow*$i(>.?9iN1= aHɤ`|bB_3*neouF;8sIRCflX5]6tZ >ݰqT=[CV+Ty6] zNPj/''|9Ftצ]v(l;,3bk(`2aI':_c 3kIկ UhIߪ nH?g6" O50T1> ܺ_µݪ )6x%(]j\\'b|<ղN AȄrQfR)h9d}TјƦc[iQaV0UP7-UN!Lő|C7 $ j&9B>K"{M4A/j70xxCGu#\~#x6$InL@^%~(ee(bP^S4(]G[uwkS KiMn:)t@ C@c4"͊'삉?ڵLH&A vef[;W@.@> ŶFVԧQ=B3aW՝T]}څgO]AR@^< FwoK%+x%ř׋X|Uw/2O ?}ܰC]),B}`W`萳`@IJ5pUK!pQ2]H0DQmȖ]*>džwy1lj45ednP &9mcq ~?H|N00βO*yt Gl awMH niʬnS qB8l|yc5vd`"$N Wrґ1AP/iNXwaF]1_,E1{7!">k 9ZBLwwq51&5L ^  ])TNDH)r"},˔^В$R)C)5FVv6ǨaWO0L#M޸)ô#J)9T/cܐϭT  dVP5` r|>QD]NmI ڋ.;)hu`ܤnha8 Rv`,?b3שBvqh-IGI6œm)/׹Hxs.ݸ/QZge_oT#LvVejV-mj}r'Sm|P@Asj졗* %S'pMyp)nL*[ d!8?}^|#PA 5T¤2g9Ȉ"nv+#AzL0_lAje3 V>j4"O-m]GIDW8Afb#ӍA+HN`|52zT+ 9ݜ!\%}^1lZ^nbhBb!g˔ WoQ4 &$`C'"̮`L]eڀ[W^uVMceqƎ$>?R.Zc n͉sFe9n/Qbk˶d%a!ʦӹuRp% h|+Ӳ'({heу].B,C2P&SOHjOW92B%S]Pt ؐ4֤ >$g{`+N9!Pu7}iuզ!&zb*1M\e| t*e)6Vc:eIȣidmrcs`cq=2k#SD]/:LJ @ M{CR!eʲ3(jw'*}d1o& 9q."9&VsJ|6FI 6? ِf&F0+>%*' |P!/9XVG/x6zkL̠ &`WEӋE_m\vggV!̈Ya#8O;kmԏkvnU~\\yKe rNve888I`I-8Bo1fs j;<]GӱO(H)sf>g9L$Pz|S0E4 SjR*@OhtۜLƝ`*ӶҀdV:꓿CB `J|)Pp#y nj:Mfk̰w&h jBʭu5`Vc8[%E8 jKA9ШCﳿ;`w5Ιy2$#ݝtӂ=rKRFXllNk#nR{wZΊy5:Oreּ~"`h*GjcfdiS=ߪA8#@P -'nZQS90#i[DegR8'yZ2y,Ȫ(P;J̹({MM5tt{d=p!=v4a(j;!XmH}!K@H>}'ڧ [-F~"a-%% *5(ŝ.meM0&lĞf( *s&L)~l|Ց?gYzQgoSt(FN^a72]3ڊnVcP"Vu2: k`S VW8 K龭\=J ,4˜S]@ 8$ HPJ!UWM9utDGd ;XoCщf+gxS#;E'^7_{/{h| 1=ਣXHM 6pqPͯdρY~_$0P =f65.*ei0{X4yÄL)CH< /}P\Մ|&xT&>6qsNӠeIwOدGv.nʳ3X[ wuZ6&%z/6rYtKw(N]B}H=L oMyjp\o"CBÛ¾lt f(9 >ic6!Z Z>g4p.\0ew $gSD~XFJUTf+e84H, 7slGIz =(:n*%(p?.Sn7EV@PB-ʓqC ђ&d6ڸ/.")(2vha>';.%/ !晦[Rz9Jg?Mm\zkFz]˪}:8IaFJϩ?KEJspxWV/G8t\X#a*x3^"rBub4k7pyՏJ)p0C8T3T})ml Ű81?r?,NCFR8]O77^3/&_s/3<7_|{~̙˞;I4Xf/c@/<gg?xQ=ۙ=l7}bi~>{ Ͻ꾓?vvfv/!ρ􏌠264~ M-f#na kD7G혶Lg?1oc죃fe׏Lg8 \SiB֩Hf̾,靰5M:y{p_wWHdf,SѪ,&+&ݔ#]myc ~('8 3a'ۇ^@u \L?gpgh5"͆oWwkRB۳ЖYxh<΁[?/&eeكDA^POO?7Lڥ˼.%Rψ34 s-zJ3Mw#;1Q1`S踎~ #p@LȢhH"b(q_hp8 qN%FqWn= EFxG.m'|m$!QhF>7\fNO *y`i*r 8p)3}$g'Hι xs/bA& 羍xy6uA5]@ NӠUKC=ޅ2 x|< ^B)=T*h*U<  GgpK']g| ;ji3&@Ȋ9T0I^_!x mFl|N%nO7íy'C|]RveGe-oc|!rdFh + G |"Nr 7OL;~ d GtV.LoAܸo,Ž'Dkka@~pv0itÉb\|n Uћ\%@c8Eֶ 3G+~[Fn8YlCOt}K_Zc l|'V a>Ty<|(^@۪f u95ڳk$d(%ux.1W!2ݯca;kAp_T yq<2\:B5ـ田NZ VP/c5|[A7w>a&mΉXة˙l*8ɨNIHFeKuN/cuP%jv){ZRi/uC/r.t4_xYkyS<ӑu?k*`A4([5`8֬1*,W>oL&c͔Oо7!gmB@itH}A00G(_ ci<j4QOq &G~OouV;E^Zp|Xȴrנ{TU [7nw Gd>#f´u0ڟg#!ئ[sp!KC|W? D&r!ymyETlsL=p܂Ԑ0sQ~+D? ^ݱOuqҠC"eVH7Ál YƬ I"lP14+~zJPXބq.yB4M1O@tJ iߡSc m>M $ ky<7k9B_0j_ Ognx,${X `[,6$1nXȧp+ tQ ΫT`3kqsVZͻR{^nC{8B2`VD;w38ayNkE1GVf\H{]BO^漮2T9fU5^̎n&:(\(OD76XD@Ħ:tc5SGȔٜ NBN)EC,f"f>XB >w|^ XhؓG⑙qӺe+f75cEk8&" {W{8Odzhu(HHv"9}̊OFqYݽ"O*+~#jg̏ L4R_ǂ nX!6 &zmP(X`lr9\0>=*s*%yvi&# (V򘍚 Lٺ9<(Nb.T|y}7%RC^Tk('6!{&k袚a_7-w$H EJ15=Jo^ &ZTh-ǵfT !Bހg ?e3{<*#,?,zұS`<4#yHg"%vuXJCA l )ʘt}#v$?|60,5M{P}' '7.yoz7_X3MY2G LNކ-uV,B0lSyٓ$nYfvo]npm?kb"ŠڕOPh\8 .wu}=r%.05fi!P~Ĝ.ϟL #K*VяVxo#5n &(w7~2OӘGp*bAL96rE~\L7 #a$7Qc[lxj~̡X>nuBy6|ͯd\ lOA%= !IyXSV'!WML6o37.̏ܥq~$e}ic<ҼM(VYpC^ MY$ KDD}kUUǾ=tZ]I !'ےX1x C2_h$TO=?;N8sO A["Z}avn[>Fqbz @M~!SɧK>F<.]΁Іvu=F1x߅#[PJiSӲY@[")%ɼ0 ފeiU%E9Q^8'ji8Rvv`U>O?[RTM}7mx=Ymc onߊ>VAPJ C䷃R3l{NLi?ALJWY Rs!L kIZL CӊF=dǟ-E@}5g+'8 )%s TqV;b_eOfj2 ؔa zCQ_?Kyq#Nl }6s@'Xz(gszoPXN5A2J& mr޵;Ād;t_FdvctĞV22&ǺNG0w; zd [s/ uo}RGGVpE4% U5ݿY}P nFL&G VHa]ۥޥy"CoDL2]@vwn;g巻Lp9=yېPG~؁ؒK?VAzV6 u Lv5h###\:E.A fdxv.n AHA9 >ýݖ+\{w]uo7)>n}RPU`j(B#M>CG Gk ,ՁÛkm|[4Nzo[*{p7Ha@ogz>ޑ)5#(02)؈K &ji^S& TP9%;A"McP}f^֦t%;[Cp3ϵ7KxYɬRl+kYٱ&h$qJ3K%c )@KRY?Dh#F.C7\Nu/uu@ mSO2$z ΃ hw3hfskC?L\;P?Rč!@yW]BU@52U)a 6ڿW'Eбinɾ]3D2c.𩒽p۬@(cJM&~+^䏤C"^ψ68/ǻ8I_ G*Ji0w>v"MrQcq© (R.WyF>}f>'d1xE K KΡ;O. 7{T (D1dߢD'ܹFȹޏMs ; 1nYڳy?j qEVEFDX]Kn d ^Rhϼ+ yh.㭧ha|f_s-\"!D@HVԽPǸLGBX{'JX#֣q6!VEo۩,QMQ|$:UHwȆHEݳp #(&RAu"5V;;*vْ$\oFgZ"{2~ڊGqb` L^r3T8,Lln7H!`E|ywHl>r~D?c E[Ug<}gu /5'svR9hyXjMu!dd5wI8qJ['-"(1x(1ͳz-C|vZ fktf;ET>2HI(u_BA5&#Tg"P~q)+hF#_΢,FP:+2Mk$=Ģ^ZI!~"1Ot%*eC|× HgY 'FY˄-7\&#"Tu+SiOE>H${vČ=-"v:Pv<+|ѽKWnG2)G\nG eDR[O(Cq8E"T*2CQUh˔>e  ,M۽8e|π}kSI"3aaTF,o۶?wP A4PTN^q6HZЯROW˟ .S8H0{K)y.0@va-'?MJxkYf ELJ!GpgU>D) "`Tw uRki,,! U" u?E?/C?I@ǧ;'oQdEVn{ ܦ-@u8|bEq:YYh3!1ʏP^@mM60{)_NH5g*L Oh!V%xr.T-@۰nrat p${Hp [$u|( gT'Û212rr y)]tn1}RbpFSK0g"M:Z+6`]͎MQ + 1RB$g80m#X-?Tn)dq|@"n5gd9Lw~_" ݆oE/åSo\?4LIJ$10~OJ3ĽTPd$(=q)]4 YaV*)$Y;뵛_]v|̽+f̔%7/iȤ7pA،h[EofM0'Hְ>4̚7B XTb+{@YdwaΜ]K)*#mO\`vف *ՙ$8TYQקR$\FxC&f~C~0-uc:G[>Sw,Ckۂ1JfeY΍b,cV EƊ`lsHt%4j@rZ3 {StJ(1Mp LFJɇE7opIRp Y4bv BΎP<رď8rncɕ” G EDsI`Wl`q{ E9L3 <(iNe*g j | *iE$c\WkŶ#(L`aj3i~ޅ7bA@:rE ՖLUx1`<]SEr2͐ͭ0cڰ7)c\ bZ峔>g#|\HOlg\0r],5ܧO401/floD=Aw<1bi`zBVTd?r]-OvOR4(mS<1#1yK&pٞe s]bNGH7kC}Jo0Ie 36puKl~l# vrn*m&ML'*1wBm;\T%Gq\Ƹ (șx*<<|!ܲ9{H>K%X7nr' xe"'q`RPRƶĤ{6Պ148b\NQ] wAs.>?m~O濳g/ kd.Uav=ڷq^%ΕN9*s {ڌ`V8G9y1aҮznц] 6pT[Gt˹z;`rKP9bG)kM֏p ?ecvywwv_bSJm9I.!=:<5;xm9 u!2ژ%"zGYГ_`(x)Wr: un8þ_Rh$D~7`NГ\ mMT;Ūۗ m?p=̮0kQX{Mzh%na7{-t(ņeCN~Ex-Վ6EMߤJn0_Aut͉4Os0xW%{=֛#{61fDc|j{X~?qc[53u1ڣ"WFbifЙ`yauxΧvO2Kǐ>Tt(4OejY ӵ=ж0l ͋=Q|Ǻv԰ٯ)8|{ j;``?_,?_5l)q:>ݼBOz8~{EK1Lb;ڼm; vH/3c`3Q%"GUg;!&r'jhʟDlap,vI7~R s۞'w8{6g_~G686iHw[%ʙ-/%ܿc]jΈU[AmS? ȭM2Y'.R{2HO5`wZ/n)|g򭺁C xBi)aI<47͗iqֹu(!{0'I]6Nb!ybw=EH0'Eϡ>2 :T ':[GoɄt0Q{.Ld=Gg͏C%c29öDRv1TrmŐ")1@im5n,bx^2NSsslׅkBJ~JbgP}g + _6o5e5jZѶ Se-f{+VGU(u~;t0c"@<Ã8x t/^F |vQA(_99Q1xʍW.]u岅A@^4`ͫnYc :H&/o"z-6sW@yw@B(&Pr6qiw*j?`]X[PUy*v]F{(BtŨ;za>7Aw,#owx~8 J%@F1q@}/kHtq' ;xR9Μ՛7T@& ZN~{vj+8IsxP'dEeց5AMm!AƓkۤfUOjPbdx+IX̿'7^Z1K[ \\Aji°Gնk#A?Jb ؝;s^]]>X]}g$ #b?\*]ٰLZ ُwS<ˢa12pЭw ^.سa&fp,l [`~E] jAHh~[szq㰘|sc;EUNysɍ(/[5M_vd JbsHh Μv>3h@'z"&3=Jϐ mxK>ݠR҂^?ˆtm ښ'0,52֢[ӼQ5c?h^ŒC)t37t'ї:d+e'x^ u_x0$-$ 7U3_C$\$,Y%nR }T._K|Y1{#Ho*Cϐ?0|H;lďq6t2ЉHJMx,aS k=mQKKpP6x!^ٳh)$1:Hy'v(3"R8-$n?M~OBG|a?=@| Yb@B!yge߳.<;>;d)|&RD6ݼ+v#O0uWs =D擄R$Ȃ6)2 2>Al!v5ֲ'BK%tZfRn fN!&Tb!&1{&b -Q̬MVT덠?>a,HJ>&NNW.Apx~T;nttxfZ7 xp,,9$ѥ2=H">@cs6ah`90QE9+{jxC txx5oG&ܢh2B(t* >@?#OOM& lv.>vi%x@F1m3WLL+v&NG*SrCݞI'p`) :)v2T|t #i(f愤x(FBIҊs%oԲ~:@R~0=@)04ۑB[#5F~̏j=g::7=͘^-1)jFp^کU8̱5*$md<ZVj[ׯxE\e/%4wx(=<ܬ\d_(o+4K.B xXKXS}GD9DEJ^AV8c#O+"LbaV")mJemiwҾb:m:1<| 0(儅yo:*[ii,CzNHx׀)B (?r=PkTڤ&ke; 'dy$} k~$q|#h;a1N3T﹍cboEZ]3UeV.ÞރU&,MAt6$|nJm5Bۮ ~mae=-< w[edzg0U> =1d,w;>NLƈ1҈%+Jt:egϪs!%0 =^Ҭ^OˮBNosE" TRw|cmnTΪ[OԀU/f9S>f޾1wدPڜp Hr-o߮n$1Tĵ%JigӵGӾV$=6%A6Eo*=1Y:l'ƚ!p3&/LA+'̤qnS<[nzSuWUl?EN,zq'ZIES=x7s>2{tީ>b%܃i>?5_W=X찟Sƾvp5$?-yeX|;t.-GD{JdG<ڣE ݳOBOϝvNΐ{(ޖxD GYu1RL)%Eć<jU"V@rb[\Ԥ~8q>Q'+)BrY k0ӑ/}Q@J!>'U vRNEe42,-$,CF{sa5sC.CS%X~gR/0FZIA,"cmj313!w$;Ɓ3l8edNF~ohc-+EA|΍S(%`LGof* |e]6HL#nVzt[NQ,6}D~H|;}-?2ȱ\4Xu/֗k`aa).wu=fP+, r\qRl[豒'#UUNDʜ>Z|>S)ZtRILY]Lj]2S;DRR5CE;,CL-{mQ8/;, 7,[u7S=vMºMe}s=9Ql"(2u@]6'ƄyoANF<q{3S1qHXNιQI/ hcƎEE]e$ #\xCDEc{wogޟwQ!7":-!Bh['DߚZ֗22)8go.> o7tP!#ng79Aw ŗHi+Iqzvb9l 2!`NJHC{BڡR)qfC^z>(( AD o!*ر3>zJ԰isqE~go͐bSttΜ#"#jjvٹ1:pUgm?gin!)˺ Gu! mQ aN>s#0W/S6P IEqB6C.C9=0%;R~ڇD-A^2_ ֑y,E+& vq 8X BZG-P̐l;f|F)ʺ 2I:nR g@zX &{/hbk|*5%U%4~xKDK# +Z1/P[ѢH`ќ/z&|Sd-)vOJFj mNc)b.N򜠪Go' PGS>B, :eR: iJE;H&u&}(pq@>tpC@)&Es#*{G<aC!-NĔ2]({sǜ> xxi`mL7T.c6oiW4L(Ŧc]Ux_wtNɻ,DÂO|-'nT JJSPAjit vU"P/*=cƸA&;RvӬdCfTX$ U> rj5B3Y Gbꀭ[x3rhWč+΀CCWR{ag_R-RٙI: ƶxLK/=p̐״= i# QqQH*"!釴 y9 9Ϝǜ3_<9,kR~6"F)1B 0#JʊGd# `:E AjSt=;$.ZwpT僢!(.IK `Y}XRvZKƁ%1@'ND8/vyy?Gb"hidЙ{=RbtiE_e3:R?^ݵAqP}qaQT{j% ?&kAknΖp-4g>VYZ)}A¬*7>쀒|n̪ r BcXc6 ްM̳suNxv$O YiJDp-@"fvFTix#*ޓ88/դ'ƊS}XEW>$lZ,=P!JɪEڊӆ lG}`8-)4yINQ&IaE{_EZOĤ0ҏ>LcWG]yy["(dɐ7ͽ+:x%95!3;@=!>kAѓdÙ=fs"Kkyxț<{%P*WIk{%tg@vnSN~uGڋ]; q ;tlYr݅g .S]Ds,~lQ3^qKE쭨hiߵNCSP ЦAP >ڀd FVX7K茤["9b?Vd>9P?њX<$o D"#5 »&Ng:ݻw;?PwUR->IaւE+ƿ'. a~E@$&p2R:u،c=[tKGk=e 2B%8)mS"M$emA_mzp=z@g4@n2;SB=K(1 tvQw`E>Bk!NɾqԠyj[3C*IÑV}Nr S1c XbbSl &P7Gcڟ=Op?10C-'mЋ_t"EìN"dUrf?,ю/u"c9Y1$߰mM郮0%z1ސF < MzIqzͶܫ`*,)77 2vss9j@2I?}_j`'u(lmiv1LR"Fv_ P >|/d[j$}`+쾶!bNoBwVrGllq2ľӲ`?|\Vw/i@T,΃~qAst@̚aۅ~͉꡴$ l4jU*'eeQ7wJW]O%@uU$A%! /lN$|#HU0mwYuKu;9Z!ǐ|6s{rvPU0,zɚ@ ;wUVV[uvK2hw"?õq,nґQ8Ag萏r;s駬Qh ét^85.,G*P ipMI$ I[6 X d.pp/faAkǓN`dZ%,+U Q72$7Q4P9, إa\0<ޭ]> =zVM 9lD| R㌃쯬oN:dW]4Rx=9F$!CH*Womm [%;Y:qZcHJ^ @\ḱ׬^16K!9D%Ǔל[ j8;tY~'MA?MhHͨ|B[9*Ut$KJǫoO}D7W߽oPlV7jNA.\?8!жr4D.OjfmL裪lWS;_9#9+K'hEA9*n9umS>ӧ*ٮ;S)уMHջݭh4x|]+H@&OȵEFSڻ|Rm%!Q65SẋƵWf<"g{jwaO56{sV:;iDžw#dQSw){sBeQ٫epB+ƒG0<0o9R::rԯ4ٸOǢ`vb%ϟd&9>ݼQsBL{NիXWn^\_=R.BԩwD{6޷)z`.A\ʉgj x,9e(+~>bCG*\&l ]mnX HRh2,33)M>̜ܯ_ >kmi{ڹgE@r$c7$kzJFu‹%q[Eן?EppZ\a ׅhZC57Ɯapa{(+ڕ[?x?_>R'd=deۖ!EC`QÚ=Q B8ȟRuշINj&dRgF<1.г! :>}2V<.k8i8Ock.RpxA7j0/&$ Zg&٬lzՠeg]duY9+D'fiolPȟNfw)O:=MEj<$'Lpff>a<Gx>"xL>8}CnXώwEiH kV>: cEȇzS4\T|q9z鱧+l+dJ ;tѪ ߜd㠅H3[퓆4. '( Mn=_Ϝ>Hm(a벛Iyd5Ï_ ұ{hN,. Rafֽf1iKyv"hV3c5I9p:*o?}~ L & It<ꉓ[aäVppNwάir B,". /AaUow尴/$Orv~;7dSCnp<_&\dTRo ږQ99MY^x%lķl,R&l"ƽ_ Ȯؓ*.?sՁR$D \ GnFʂ 6Rz\s)3ȓ/ b 9ȰE؟Ye=ӄE8Sэ™1"D]Ed., Ex%c簨U `vѽ[6A~v,w+#y2xv+tjb[-C$0KI=^{RwT>M 'PQ5SQ3dC9vG:p>]Zs1)4kM\ʞt{lgXP6JԞ:"`qQ. S[w L8gىަ쥗^:pa&rj)/]7j#T3[rC KWE8ʲ7Ƭ1}^ջ 3%ETCEΛұ Vn^x] ;SF\p^l E8HTE2K/|>G^9wB;ϝ&馥U :Qb:{>HG~}WJuwP6t׫B6ᵛ_]vMff똶ޣ8;/wG2ʧR-aa؜6lsDseDzevkrԉo_ @w:.{V-(`Ir!EPZǛ.xX0gqʭ^~v4[f6L0'|rϣQw8!HqHc *i1o0l-;h<@5.}j$ر.>rdķ^> <cnog2j" 'OXo#MLϝcvǻ ov=_ $NCܗJ%cgi* '-%~9q4ɝ.kj( "Ccy6N^2|fP?t2,士a&2+8oPC`rwаϻi3<%!0URjSiIG'}TbPfJXˢѰNH0$vfQ@PN1#_L@95Rp5nGj ;^_[3jDoD!9De/-j8D5UKwRu7Q࣡e dis`PPw˅*Ha8.z)/γ}_(bfzHDvEn|Tuצ @I9Q2$P F* nqf5ba/ {>O5yO6^Wq\l ?@NDkܐk󟑏PǮ@ B?'j ry5#Ay_B?D?y*;LKYՓV'TvYPc.bVܷ1(|v(1$&յV_^FFڟ9S@n;"1:hmݵdGno| OW tUbZu%,H:?v/xʶ Ƞ%M Ϗ[7O3V@}j{EVa%Aƴh} 9)BbK..ͭ:gk';]h8Dt"ڧ>ăǵfj%0.;=۳h J4N1? z@,mF|wYl+LD_k F̦9m+Rdת jO}45رŲÎVثE/%=鸟{|A^eV=(GM zu|Hfu3wkBRRnS{'c{1\}$̓f;n{ziw~7/yFutšt'mNOlX'[H3Vt s&#M D;o:7VުLEV։Smdа/QO Sx/͉@E ZYI!?P$^ ד'M$s <r#H84Q%)iNFx\QVnaΕmOR-e&E/wJ);ZӮ6aKpb4Juk[pR-6)22_$4Eb"Cw|UŗVJY\Sp4 vӮ&) ˡP{eI͚npǚq "VB|T&hl,l+!IZ4%?0 CB <8[lDu@lwԭֻF: Jg^wf- BOBi°aKA8?^x݋q] N}^.m?3ߗE, Ft5}wU8 J97T2j.֓'N4a:{I9P M8r@gmVUڳy0p99k]|Ū0K"2DL`)zѾX(ɲ8 KbZkHF;*g;pow/*Od|XDuo/9lkkK{5,;tn }:]u]dN0F=EkIp/iXe7"缦 !|M4y\ Àgs_#7Zaͫ,.o7Mpn7Ih۾ 2Dzj[wT"%,3W&N}:~Gx p Q>R»A8 aPV$xs(]NN*lt\Ucq o|?+a>1wv { F@+IF2dY1:LAF8jxk.vyݦ7'FðNe@ߑuH LߚlXj͟[=Y;!M}̓WLj~>NB2kAt xzsIOeUSEupx@2_QxmrMǨ&cTFC6pZ, V?șB5' j ~u;-A* HϢ-Re]uVfKԜ]ʧ6-d0{O `:,)$ ȍŪg~$KU9cTh?[Ԡ$Nbt,"/_Rh)<:^zC$eđ(k]Tj >GQ8X[f]Z  3ńʰu6 bvLf l |KTVL9*z.\>JZwjY($?ȷ^]4c{Ao3#v'́*;s:~5s=,VMZuJhң' VlK>][9aa)WT#+1M*(W&T.֦I 1zOc8a#A{j=ݵ5w\T{JQ ~ӿ$ S!7zi{> ә5 '~ iP?$-PCz'Qf~F]#!.rRՓapPj1|=CP k0CR-f=}Z3k ڵ’*vz9lV@1V5faL!F.WW𩺗%uC岃rKW䝞;J%x㪊ח"_DβDe+:xu]L}VyHd=fd%^4&8oeUBKD_˲&VSdv| D`vXٺZ`,p u0;&/*~=l@NR&질|:4pǿ.A(1꼌/(EL6UA(d0T)|)(^N tW|s{ _9 6[5gM,خC#O]:)dR}[7ZmV@#9  .hd7iiGW_2W?wwjيxv >}<<uYEQ:LK`,ûɤiˢ{־h8*c@? GOV&Nr}@v\k.\Ȓâc\џދ֭+9"EgHD=@"*ӿ$A5{(&ɸ'3["k\.3.d9.Q*NT[fi)")=bi,εuT*Т:'7@>S)Ա|:,qdٞ.a@B~$j"S /aX$ KBlO;*}%8Xb/;/S5'P:5Y$ †w']U1qY]&})<',k֦+=ԧ~ VWg~v<zf[TۣI~w&hRM'm=gQ%v٪.y0/Y襼Klq*P/C|sDX4]#K( G*, `Quh%`zB{\XG (+x9+߳QzTYh1q}&G݃wdա'OBK/(r>8Cx6x)!7Ψ;O[>!sn_/8}LN#a,FGeQa[Sil=Ƨo;/F19w}S'~(IQsL)SA ;@Fw2np i|qjK*Rr&rxswKw.R)ޡl?F R>s_Z%W8/}sA*7T/u-}vNKdНĥ$` դ!. v4qjc a qA)gu/$:hLV9'&iV߱ rfxq,"]T3N{RJrR{ƒ3 - IGTç0;}He^ ԧE-b޳ .52<}ƴ+5V[2~BWn#2e-Z, l&^q2PɢxS->d+ 2iJ C?Xd'ʘ68x{D<9'}D%o0tw1 *싄Ru@,s]\œ΀m5TUx - r uҟg j[ĐX '4Prٯ9.$4$Ξ{]1EGppaqݽ=kb]?\eTm}u}d˛Q[J+%BlpB\2I~nxԛwǥ3In"$K-+OtU~Eu(g/y--rHc Q,I>6y5XQZ#LBd1_l^q!KPDwBLO0SW9Hkj L).]Q1 LZvQM.Rs%י9V(gMl o+]cTȦy[9I9U >:\QJײ=]f݁% (OuH畧&Lb{]eQ"D~FJ $t7 pt햄ݽS;G3O[};4(hO qXsUwW{'BvN{<`ܧ'yK`s;DZs5Z]%J gV@ޙnB=˳3sYjEy:8QGK m4^|0DPDhAh"tUS:hczvܽŒ˸%؜o]_S]@EHj.~zR\CfRѷQIWȗ6o`v=_ܠrKzʑͦK}o'3:$԰a[˒c>H' |7mH*rp'X#&Lw;?e_! 1{?wfX{f)=kD O_PK?OAXy)#*} ²ӛ^?c~vxGnSSV5&Q3  ,a~CZCu΅v92+%Ā[(P_&父wߦ9DP7Un?WT0e2%ad,$v2T/\JgT--\L[i aʛq1֮ϒ5@2k2KH3ÁIJmry_tGjx{jT~oFP^шdnc`vU{77%0{ !/=+eRv =o=f^e[o~fِ{e\1ҨuK/_w_o~5LQD6!"r eѯKҝ.a9-_v9H)^(}NNMH]mkhm}rtgtY$V`^(NSd(S+jM x4ruه` @fmkgJ\fkp^o3ATq~ p"g|ų?ɟ'+'W$V!b3}Ũ'9҆ xv5&ΜBq)OTg Uqhr?"fgҔ0ֶK:D8=cM%)-_Wz6k/ytFۻLʖe=k/JF#CW87KzjG٩u2FgntKp.xa?(SR@37V̯|1XA@%t hA@νxiZ_eîƇ俒$(3QlFKHHMß_Alt^ADqh*Æ==ii^N<_M? Llpz1EO\q˨=u\$_&v+A&cdm%pi: )O*x|N*%? A9F962%ܔzO )g%Kh k951s|pLٶm",w3I]MTeYEJy/{$)q1 h2zb׌p8'3Rqѻ& r;qVGj]8 JoBp($֡:hb\I/U~ Vj[;L 5og\Þ9}/X]nO3X8tV}OI^OGu½ٟb槌,KWIB*[{#S]:Tp"@R.gǖV_1Ea߆(Nh|sYJ4Nmn~|궈9W|!h;b;1+*1lqa6+֘$Y =r}=;γ?b'=]UwTE~QDEMx8]sVZ^EQah75Kt_s'tL{@~ _TXa,Üi(1#VLkٴTiEտ2/Uy(Dɳ#},{Q@c;u֪ x%L2L,z]Kgy{F6S֠:]LN9+DLTɃk l`S(H;zoU_' Pdu)2^Tz{W`oWǹ&A/I)g&;ɳ>٘#o\zcOc2/'spټxVYe55S,4M-l/}4FC`V+=+aMu~iܜM Bظ$ƍ9N&K-//-xsKP?bjȪlvA2+ii1:r2MK'Y3E h©Tsq7glL ӑu~)s#Qty1K3-R@2"Putf/8N·;s\U *&LfQ[ȿ}V,[IEMh`yc9ŋJ>=ݮwG#iG+ݪ*Ci5֖˃ں 6^:B 2ʢtD~,O<[}oCd( {{tei `g] bU?>dZ- %8%ln:e\YN*ne*ʳL-$6 1[yafZ FF@\Φ,+F)$Ql]rH2* ,-ȩooIuĖa>Ūj˪WN9e+uߧOtv.͑ ;}j >A(OE %+{w;fg?k`}aV*` *>K=MAȨjÇ5HF!-v?.[W c"2`F'zai+\ٟsO)3=Zg s Saq 'y _sY8x ੎ 68|yQg>1x1μuB-ɨVռRF[=,fH. \saxyNNegK:f 4i4Ϗ\Tw[voL3=&?3 LJ6f1+6쾢jD sdYmOY𶟛ݾy}1*+,sGP ^ 쾭_k;\k6~0$~4$1*1)e0˯i+(\b t4p vko8#*12h5q5>@BOwI;$}EfKDTt4ӿlL0)

    e;^e32E$!Yu| Ct?n"|f y>M&níifa] /ձ\a`:]VAbDKdHd>i9AOO.:U,YQFh>BE!-:4Sp0F%$&4Ծi,4!~3"ZDƞT&3Z< 7b7F@@y^qcI8:jA.BqHGljŨ~TE><X䨣^~vPW h߮AX^is~Q3@s2b mD;H.µι1\>\cN` z%' |phimr`м9RBz`sdS stbV#`?튠WS?5H5+8F<!08EZe=u~'R0"r5-ʢJ[#VL8btR1\b?NRܾ(2nR}*NS7]tSH9 +f u~B)4!e5=@Mi/uѴHyӊ%tQe 'Z& A;> ?rtowUTʼx@g_Hr#cHr1qUH rehO*f!@4몐z)pxm_0WUf7V TkqV0Kh " 6lٱX6ÿ ӽXDSL69^ksz;rObf>N)~LVa<._] S1$G?F줳i"@e55;G}H'5@NhHZ9.]ӧpQ["uU%HٰDN,ГP- 9 tdьD0bˎtۙzLΟWiC'.??ˇQ*kLT(0:,M v*gqtrϠ!PJ@[O 3%m0>LFI?ROw-5$,nNujXa^}DHU:5$Vt?4ݼMMgt_OW{19t|i5ݻ ~g+m,o1Tx<@IFjxG NtB]M\\ygr@ ^m]ᔵ41!tV+͌vl-]xϺ2R&  <~]}LZz{b 8<VzE?] 7вAe1!8N>!o-YYC 8Ӳ8P]LJs< mut49/#Ѝ {¬އZ9S%I$}\o'[fw/|[R Tؑ y#peN.Uft$]D =M,r~Ar~Uv7Hi8繾@! ؇w3h}3 ]OI S–~^&{Kls ~HӞ~^q`痳[[]o`m <[MʒDauT8<L/Ȳ$ mC3aOџAB @'^w7/2f'=n)$}f mi44k"=:ԉ< ;̋rfypLݭڿT3uE͋S ;`ϷB< ,[xS|Xjf t]pW|~ ?~QF/_>W)miW/ ޲ .Lo !R#z:4c!zcjT7~MQ hq}zb[J}zI(5{A[!)YJ[Kt;vXcκɱOfb UYL콠^|*!V;f!/8) AqgYFi*!ulE/BFNNڙPiWNiH؅MFP=3_o GA>*saͿФk:8tVAb YO 80S+SOc? k %7@r^p gݒ]. GԎrx r4wN#\ɗ[ܥ2e)< HRXN+,%!}ۓ$HWc;7e(͔4Ho x?T? E םo/ʧgHr}Ď"؀Nq䰸)dbg ; yd:ᰶee!&vJ@`! ۡh1v`_gҿ{ߺi^M:䊕}0)uGA@bw_-qb[pqcJ3O/ymd߄ʗ ;8o6ٺ9wG=?W[mrb*26ɷ(XUiqۈuݣ9$ HLH$Hcmӧ=2(ނpwFȩk?~ $,`*%av e}YM͜!ArdF&f~jWBs70 Mݶ  ǮpYX߿aMnl$[iLװ~Y83ړ=R} F<-} F ڑ3 59hcYQJ R<ǫӟ xWj@]!.ʖN9 NP#)&(+&ZzLI}q[9ݛsK}vgX*oE<pzLip,[!{Zdn9,r.jձZvAPag#Y9 ޭ1p.4޹-"r# @*R~TQyB%t6pd>Iɨi1_oôΈ&Ap 8Hގ_u 0G\aNpO2#|G@y"E UԐY~沺c6dMd/mLezNp@WX]| =D1illQ{l{^)nEѽ;?'y^Ê{ɻ.$к8y'^~Ow^Jiw ƅ9B)͙cK=0/<;MqNK;`SIcڮ"a P3n*}d](΋?[z4Boe7;=ߊD=1(&! I1K"s$@BuY(`3lhFW$7-GӃluYVu?YlH@|p 2d %-9^9 |zd.;r|Bt;,tp'LUi2 g`r 5/gLҙ)YKm, S釭X9Ny#yw>a:·!C?y7؜s`јTR~刷 Su\FyJ]p2XbgȻqV)nar|H삪W*dqlby6y1;0]vv0`-wˁ>+vf VkyvcZ󉘡g~1\UdA&lg_6a_P.V&ɛ\w ~ cqm m=YϤi* .ϠoCn`_@.1d#DljŎ_p]o}hS&mcqW.[6&F*5 =Rg Xp#TέlvvzvܶhE4֕a@Njc߱,mμp*uGyfɹ}zqj'5L@f=zsBn;(GGx#R>qr81$ )7nB/¿~7ws,>/n-{R  8Ӫqp2]>fZ\Us+&p8c ?~2bxLy9ԯf0nh=W׸ 4팊[gݞx{_/|5}=){8t |/M1qʭ\mUp*wȧ /`8N9 m.lRA!>vj|?.[Rpm=J17yո YᔠHOW>Y̶.Ƨ_>=ϕ\\ݡUѭ>~߿=s_` <\!8 ؑzxݏi`apu&㽛I@0K-걙W8%tN(iF)0"gio?TJ~U Ѱ:y!|[׺䌶I i|ɮ:]2YQ 3_ڌ% &ǧON(6~y.2ΰ_I Tp:Dtt}$o8liSMQbc(3Lލf49ΥbXbJvnMy;pMO_L\^5** aQR<"fP) hp"OPu-ױ:M$dZ.sWTq[g1cK;^V.ڔӟ餋{ yc^>?y:mi]&'볭dpJJv//~|ͪ VϷ|ԵoU|}ݥ$geSgw}:e@&m MU']sc Y8 \\9ftBei ~hښYGe^cMb2l3N6 SCL}T;j+V:h2EV}KJ6WuY]*OOCG2洯QLm)c/?P9ď^|T-st{g5'Q3lZHz^cjjN\cnz{OxR. D&[ޕ"1;QjsBuoU5;%xt;<5.`lj+ټQSԯw7p$C}ݍ "J06T𡚙^0SB@B ùbVpi>* 6$h"' ÞG*s}TMכl)\f2ɛfC~p+s0?KB-l&]GCQMl(K}g\D2m[@5tq9M5Q[ӿU©#bFC|A| a' ~"1пrT".'QB_dڿB7@,Ra;daJxi1߂Dz"0c(6u2a5e{ra}"o=p_!5yWSE*nT?pjiI7KuَfӟLI$>A~ꉢD2 Ml^U< gӟ{հ5ŜxDrϾe[Dx %VrJ _/0ȕk&uT46Ò+<g\NpYc!:wWܫY.WXb[؏p'Gk){Y 3к(N'>ͧטp圦rVstH\ժ7IQ0! dL s\$;~}^2..d lB9 q̂lS˸yɋE "RP*SK9juLlM-Z洦G53BLUH3V)D-ѕYghXyԫn٪\L0.vA Q.XG 8\Uc.Mie'O~QRS%P", Ձ; i(7-b3'NqDs|NB,[I# N|Uj_N: ೱĽVOu0Navq^md8>˱b;<0Tާ8џ`ՆE <&)n1igcyX8XV=Oj|phQZ.=[6g,dSɅB8+ݒZw=W`c"mo= PfgotʹN޸|yL tt/VO sD3oShg"jZ _aU[SܤމbcT7|C"l(^@<-xney^>3yTaHnvb(1ֹP*o$^PGX7EgrѫOt VFvU\ H"*oE ڤ3\\9ոխ})agfkqzܲ^mXYv [z6`3{zdMn-, q2O DSu(R+T$C2BJ}p]qdtFqQN }qݚz78pϾ[KWXZ}_шRq"q*%" @3Hy/LQJw*H<6Cߔ-x=F#7sẬtlJz>j*k=j~X:ty (a&R;9U $?`-I5Ш݈ {\(яdc$V켞/ni/~Zc&bI5HGNs^x,C(ʥK_@{UytZ̵'&/󒘴&;]^xѣGLaU}t[k7 7^hn0a5Ns\vdAԬT`Ea=y 9jd@CnJk}95_-G{k8e-wVf_W_WEjIB,T40vXV=TVo@_:_)X]sBv0kx jPȀ#i\٬K: G6.:oq<\{PPff:nZ#KϒHq5ljk=/L[D _VoU毳mPUcu>iH?1AHڙK9VgX6^;ϰdd.5I8=rd[c15zgVI`U̮?4e@_nwvf\5<ݕFHν*_lU @*ьkݾ}+ʬڢ~uƚ]_p'U/g$&y7oD& V*>]2m-6UՔJkýq{|Ϻ|Ov ;̟̹_<@f.=TBCtŖ^k'/Xx;IIA <~~k(PjHǓ3H{3-IN:8RCgɬW%T>gî4V=:wT7kOwAKV[㦔b!{2g[nx"0en8/z{IN9ǂXǞv[^6Ld6ٴ~)1#K~L{E< <[@K S2eǕ[҉Hψ%5{_Al}vo+zC9ʕ gi;.]Z^2> s _k\gIAbWy[Ŝfh‰,3At0 @(/BXA3z:RYa}蜊D>Ɇ&BR4#>e||s!_2o `w(O tv:+,..Z:3.E6*4.%+E]5 %ỄiN:UHń+\.)ǩtUȐVJ8 JĮa֨BzdJ( !zP6A_ė6 e!SS$ET'pXc~kb,&F͉"Lr&<4^`䩋[T+'ܒ&J Uzr[֏Ћnf(oE.@ts ~:_#|@!E@GMjk¤SH +::JBYgK:Re߰^eYo^ypO *#Ot}eFmBK% X)@#Y'UbY[iVX`a9c8niXBuBc=ĂZ|Aa x8p4p+=@fc*wZ%3ebLVIISqt 1z)*Ѕ_Rc\_e%FZ$/Mfr cSiz=j#@ҳbym=Ll8KWDzn0OEX5k7^!!CYm-<&69X v%g_KYe7(FhCS7<(H2djtiѕa;'sb»$Ej◽ߣAƴx1fєU^DubQX)x8!",Ƈ B|2Ekz}Í؅I%JCuUMI~}rsk9/zl1b? joeI=JwhہlG"(C3Gl/e~gK.^yc*vL92ϵ@BA:}'#ѕâzNE􊟰@*x ]ω2=Vh<6KIP.s5,X@Ak`w )b>ٕt; :0eGYdhe~zV˵oOS`(a&m69oH>؃b &:Q չ -j!Aա;beMCgB':7L9xѳ}>>$9x?1WHDQJ'7u :'g}w#+ow[VC>r4NSRej.BҬ$gSpe)ihч'R!50!r\x|IOpO;4K]cf s E#cټ{^g.;݅i BevqtF'VBbEAjJӸxcCJiU9~*9wEG{w}Cι}kk8U U:j?꜎E~V-FlDbIgIu]WS EZfܴ򒱪 z+Sy3*NH¢iV` _qj2CؒYI+;oE8|v:aYTL\K1֭~'ё0aL{1]7Jv.$GceG'p[56S`F/4Ȭ^oqvOp; sTLF?* P;kƿҶ~ߣ4d֓@Ǒ ~lKyyB<"K\(x=B8ܱ1*ξP 'IndR30+'`o[{?ILN 9R&ΩRd qOq^b۾Pg;=D͑zL&qײ{ƧS ./_A)4oDr erJdqBMR)":UͲ$nDh礴96:%gT%Mn A&8`'i˜-nd3D*z8 dT(S;ܷ"M5XbG',dlh>zd ^@YT ~l~=E4ۼÔc@V S۬ :ͬ6l=|k d]ZpY|*UAnL=qp3In d xAdaw)<."H}C%8OP֭U?x"/ɾ{`oa:5, SV*/Ymn|&-f­{o!QtLt3N"7lCvgl  IcZCy}\np?ͭ{+ݒEF@=Et:qAo]ā̋'3|4@k?MI<t#Y+At 6&?Ge߿zAm;6m}9V1t6,U)"f# :E**ad-)b8{'ˌ96r,é P.^Pܡק1'IKu'@ς`uXPYo3r7ZbFg|7ղw]QLXOOKM>IE5+%?4gT<3#f ~kzdlsskv֤53cy'qyBcLrWjő kc&BPԗłTdg?:p?[{?l_ZP#\_B<%]Fh4)||D(}8GE9DSXIٿ@X^VMTwɏ4PV}l4- =`9 `ԛ_=l==*V6g5+l>6qŲ*R@)1w7JB+}uل*G+PXk/+&"HEb|崀h+{w '= V Ae *_@Q[ؔED'FFCe9Z]x}zFl 5?`M)bC29HC%mB5Sw@'ghg5 :z[1Y\H'`3#~LLY:oAl )%6[},VZ>g#x-RPOF9 ?#4pS ە/([&Q uԧFިTP0D&ҎlzYh(Î=k?nOdTp*uxC[iA˥a$Dm46;8dO1~ʾ#vVnXiQNQA-E±G ֮5ӵr{8@S՜•CZئ ) NMYÓ!êqy2+w]HKod 4Zx)=Sz=cw"qDpƎ+u!}TRd 9H{G[ɒ' 3#<ٚG!'ӫZI ~`u>f!)\LhÁ[vK[['򫈻)1hRԓDZ]iOw/R!kJIޱ_l鐙_#ݿ `;CE?m1YjT P͹hUQvqe-ڴaDyхL#˒xtׅ OI1\.|k 85=(T*mul[9NŖG"] g:B'Į7s쫙8Y#ops;9&%1ؔ:LM JZYs91S& B`F#`'2 S/ g%ϥ$@%\ cDVH`|wu^G]Nג|uŲ)jFt0] wf:`'fB{ &08M6V&2YMjhFAh~4unc26p- ` t ggpUgwr4`[g2[𗒛n?CHXwD?hm8pxӪuB)4QA~Gjl~EKpZRr5)07A [=x%|ƥ7oa 2 

    I(䰱U~%;0iUTljh<T#u–[x-WDBl5JZ~Oga>W`VvmA i3Qs$ K,òڵt 6»l ۊH9f z1ꁠcyE$/yץyBlBT*%]D9ٜ H<ɩ֪O넙\ˣlho>Ӱ"K<7yVP˭)^$VvaX]2EN 5=zql lte!ƃ6ykIR=R \DMYcQ̕ƮS|C GM#-@HdhgC S;M}d8N?SoT\ֻl ߃K:vvFnJb.ݛ9uYfBzEksˇO;3m۷sY֩ou<)Ѿ:{{û[UvAKP$TaJY$1H hCZD%deAMyN%딯cvFE_oރCښbjni}l>GBn?"}֧9;]Ͽ;#+Kmԙ{,l$J$APLu3P&S(6X̼nK8Ugg\&=ix\Y$5K oesix\a'ACН8dOl syc8$ZεOƽԣPg gVrWo56>|bΤVtUqxۺSgaB"BfK='ĨT's%9|x\b06,$L v0+..2-YG%/qU&˩dR*ٸGo'? J5R"8]ʾSŕ9yT@=w墉%8+պVu?cHq4OB~Kg,g=է,ND7@r;Ӑx TFk;hkO|jXW, áRg@&WFzXHxc|{۟gl="QL4(Uf\ YP t)6"^-ǂ@QBByiH(ih _ȹ:J8|P?#>.R{#gswg?KS0J]+E ,:2#Ob0tk``kʧ*.Iu0J><df#WC:="s_hD;¥nZtn)=z6_ϲĭ <#FA˘TsXLj(9n-cVmEBr5JĻZtpIڪ\qѴu~J/LT)\&F6פL(65V*"[E_ŸtӮ8G}Б8SijZ?y xgfCTɴ.e߅~fФTgUwl㝰A PڗHmg_./1C Myk,6iМ*BTRrp2'8pth |Lcb8݌ ĝ`W ֥MKK)&> ;SԉӄFjXSZO\Fb7~}ʹ^ KQg+G&=be=BPî2R'.j N gŲi8'\feMz^҂R ~-,Cɕ 2eX[]SxLUZYÞpeM{8 #@ (?.N I.N8'E'&P`!̈E@a8 8C"A!aZ9ސ<^jﶪ1J*j=u >y*4r.H&h$0ﯗϰZU^>%qT&Nĥ{73yU\!Vծ}m#hX صJuyiG>Ky:ϡ[[N;i&gm͌^|2k]݆ʋPV [TS|&ylԘGH_DH dm^22Qf!kQwFGg.ufJa ݚsHΧ^1xpFpS=ȤŽ;ڦE9TY`U2|µ28.<.$}g0`أX)EX./p6ϏXA|佒qKf+ c紦2/Oat Z`sJw@($z@l _7=VL^ṝ sFH&bj`ZV8aP-N\{`Q䞣^U/Yl*c)e>WXZj=]NSW9sX}}zvBw!q[Wyx`lK`}oxmfBX*Rc M̚q}l_`5?ӿsh94B,"n^*NJ`HEM[%v[Jn#5W7ZJ(o_BwuMHN 6,FȦ FAN\X;?^ViXB/xuZ%J o6˥YhdUqA+MtÏ(iad8[coP 08GrS[I7:t_1Di9KlMr!8g /:4]VW`\[T[.)^d\D 4 $w12NБSm鬧0P'g}K.˄ Iixb ķh2쑬v`Ӑ jwY3#2[ Ǯ2j $PT&-ŋ. Ar"b'4{JK֋KT'B& T ,QUG|je4ޜ_]T+f<;+کndFYq6Gկ?!y9.rEPuHs kI oЋ !g)%*9 UK`/ ^/Z4@PHm˓1P=1.)Qy6 hD]̕ T$c/4vb_GN# :g[vbL}Cn#;K{< ,wF=SL{LC񄬽Ř}5d"Kӟ㼄att%fydBb1֓_gƹCSvfH5-_Q# Ӯ`qToPmK;jWE7f#l$ܾĜX a2F>_^+dOGl*xL>I$/Dc<)X{ {=f|4af"KB.FnG+ tCjr!:<^1.z\t߸敫o[o]z~ y;*'1C`_X\۾7.RSfۚ䴓7}We3mޱd@~P~KqmoY@3JCK/s9ڎ.Sw}90.("j6\'"hrED+ئSFWmEw}.6{7{kKy0ǰ%liBzҠ z ;~*Ego*%]2b0%=eoF,B*XZ5jK>+\Ԧ(54vi >;ߎJf,v&Δ ʺ zHu6.Ŏilng돮,U4GMQ\_˞dKœ\mPjn$^6/DQ{ 6zJ%5؆UVoT@QjȖ]Vg |i}J[ngKwzDit)0˿" y<% #1t'ن8/DJqʎI)dz)05'--n< ;RDJm|BS#QFu{[{A6Y]¶8Cu]f2c4!C'+; I܆m} .̋+d'Cn~j!jѝb2rFVwp!&$(gAJK'DrpqƙC|/vX$lϚW 2 \j[\\4'vDZjBVMv` VN=88CYclbSi4vNpXhR-r\>GK݀pYf!5s<`'6s~R~v@a 3gbQAϣ[V7&Qfez-`],/2979;XB< !DdႡkf6 lY7[`g9TfUo,e&h(nO;_eҴ԰ #dm|g?cc9]d)M$",LE_^* 0tWN=MÊPNO[L٧芤~_4#a-:Hֵ8]tL3 uUY4̷OGL)4ZDk?/S=m5BUAňCmw$=mY  |goM舟e5UCmO~߆~7@-wmlƽ ƍ}"JYUd0\kh&`HQ]``0N6֢`JF_щ1l}l"C<('շ +1TG# Ԫ.-ӎqڨqh-PgsekLMw{~⊁}WaZB=A:OڦBC3 !ˮ ,*#LFy 9dt~N{Eݮ|Xc}KP,v qZIIj'5\%KaہMt")'CA, 2vK0$j`lfFGm,Iᘵʆ%f緌ڠ5zTIaMc{`\oM Su8-,>H菃0X x^kNB}=j3Q;ak[@ 첺EmWE;phm ]C(j<>_F7DZڪ)U:vfй6Icr5R>`h0aNT;ߊzƭ$ز嚙$D4's_JG (WxnoOۡp>,J˴++XXJe~Uw϶WW1[{c;JLؘt[D'Ȥz#w0HgctXw9*9MWh!&Ί~ 6BX`06!j-^V*R Ա>svw8Vf bT6 Km͔`tT: x,2=Yobص,tGB9F/MZ:=ӥ4ۺȩqCgsϓ5U6>'=7GpЀgjqeiAøs gf+S!J) *AWx}r}41_?X! ewlk<$~z4 )ZbqP; @*P|"twB!MtN?C byJY8!8g>H )GboY+tzŪ <|\݆z*π}݁P]r&:Y6m fC? j}@‘VsDΔʘz]Fj\A` }R(R[-yK#F1HHW^ D5N)_-~?rTcvYYN<{`G}@D DO5kM(7bb=VEQiYd XC>n+WKMdQrEm-R+0!~i\H&PՄCI=SXZ  HlOK¤oDFҰO"i"B4IEc#;oT/%?/enqM/,nI?@nvF .Dq˻Z,ɱ/8 TKr?{'{F;5/qp҃n†[nA yE}H@Pg ӑxָk/Hu!8@m!% .@)y9e]&1}T'.n$ Tɲ: E@nĬbdeb r~Y!p7#+jGa/e!-m'<# LZ4ZdCVI&{+ ("F<..y~vB3Xot@#x\o)D* ;QbCj^.^̼O:>jl\|Y3 krtC>6'DndJj7 nY0~(?jpaJ"596/)%9FZ13_ ռ` 5{mLvNܘݝi]Z#Pa+TK8`H#ࠆGȦ Al{.!ǃFf'pP+ʛ~ײD1Ԡ7$pv(5 lh0Ch`(lޝ9m:@D8r)cz\蔪Xa1R$O L4 9oUFmڈŻ=iBgsO̕1 ̉{}\ [t[amN/ %B8IgyO#<H'\}i}을qFP9p|@֌gT" ɼ1e3v_N W R峉YTTj5ˊTKod$zuccq3Mx3"N9s~ڴ0/=2G;tiFRh&wYtvYs ;&fV x`쁟T/-ȯq8~n;"ILoR#;MNKmOBebb8sN_ nmh[hvC:?9.LM]k+D?z{Nw[yj3Pr`!rg,oYT!bz֍K2l  ~ L绍4@c:\݁m{w/n+u_Y); ڹ؜Ϥj~v;>Lv9^3V4dz"ysbwjI$6^܃zٞq+Hp<B^dgB=7Kp 0nGm`3`L =Wle2^*@]tP5q.v3U] 3T|5 kEn3)8atV0]?)Xl͓\b 3nA3K1!H.EO1Fl¦NJSm AjAӄOd+WtaAhG(HD{7 T i&/obyO0#D,ro7n wO΋Ǡ(?5OvzlNZ4ndaW9b")b]e4K{۱|3wS[ <F{ٵl9_|Tl\*H/-M_CZbֵ8n^~qۮ~c;ۿ|

    zgkU4; kN8j}OvfY]+8GszݮolD#>|ϐlkaHUN/=7sgq?jZ2~ 5|$ 8*Rzف| W0125;z͝=ҙ׋K 34oI󪴧⚸)(K$U:zLVl'GH;??2)@n4e>տЃsx|߸'FC>Ȥh;z&8@,!#Ϊ\w)Qj:S1F:cI 52<PW˰`/D+^lՀOJqJj\UɅzY}Uu bAn1" qY IgKl40Adj\Q\%$QЋ"ՃH*ősR| Rs2YK UyeL5a V!̻G̴u1''.Gmli{%j{uK۫-+]r|OFrI5wʥ%v3)BrU*J$~VVc3u5fss ʗ:ƫM i^]"KL66Py{^2Bߗ^z?$5z 50&OrnkO|K^F{lF^|nԢjuF[ʔQzN ;w=9p?媳U@:WVr45\u}z@rW1o&V@X:x&RL^Sh 'αZ_1gb&שv\ʴwK%LW\׾ B.~Ub:4OEL@Jo ؁u>ҿs9ݡhzeլ՗>#^KN&5c01ѕ=jIՍU(43&G:aÉ ~\h{x` Ś`b4rC5O6'b3Ɖ3Rmņ9Sͣu7 ,yrlE~$s-36:ܖkD؋g#V^/$TO;_ܴ9 LߒnSzjާϏcvA״P(Q]t0c3pa][R_>j4ps6QTrsag! $Pf|qVH#-[ Q-8MJ0]'HsS,НKє07X0ÉVȊ5>6Hƥ7 nRX<,f1u@เ3]-  gcRaxI;Ij3,RW 6%@-'pכ%Q!}biȭKwSP`~ DmV58&waòm̽/,HjeMnj!|[ GM)uЦ cI]H85ȌdrwJsu>G\}[ӑ ;ؽpv"+O*:Tⴺ~K!U] k5SE ZRIiۮC͛]#·%*:GTr8x2L9QWg7!WcVT-L;@.؊_!p8 e%3-BH82qLzETJ'QhCThKd;%x;@quzc{h!rc؛H@`x2D*fL MUlFjD|\2(|7(,зLA3hZ?)OK"a?PNӣn1ήw7Ptµ̥Uubwzg-Jiaeq;dTǂRZ0 !q L)OK)U .(WXZRے8GE{iuW\+ͫ(gˀJ&1ɋS33'f'ͫptC*C4㊙[plQ'H$ڎ+/9zlt*!Lplj*͆|܈ˤ]6UڊTV_ nVJDA~#}H\CU-cxSV 8tģ6%V ]3 3CMrɟ7Lϲ$8H%ydr,"/>D,fSRB5Lx`'q“+P\Fx|[/[%hjY^rx<>>mQjG~>$M{ z< ͼJf8KÇgZz8bҪcTLrҽ,$0%)3M yC@N~&ojZ[*\rUDXqBfWEOM}Ǖ #g{ArID_?y-g;DPiH $-p_z}[K= &]8/VFN`xYpLE3g x_*٩ 秭XY%&X(bB ,ǰG\^\bYG4K[pY`,;)с PZR5`5*{8F oQT$ڗ'D$9#2sQQy$=y pqC{ O "#R)\x3Y5+Xn5j!peAWVDZ模[Ƽ< _:s1#|ƾˆAr<6l ֠t+)NӚjZ؞r"}IoPt{v֡%~k #g9UCF2Eˮ 1qs_k"wX:`dlFE>5Tb:!= ٪OrﬤBf)Phy=Y]#ugHtZ^$aU{'jn3{~sXq#)E)QJټa']"' HHh-T _!#X:Iw<&ЦbmP4)ē"bcr&މN&?5sN*;aۨ6^j=^^2`B몓Akk@|䵏jqw{C)B7!/S`Ekk+p}K{AǕWL8C?Z.ں'mWρX]jJve9W57Ly>x.'Bdl{ |$e\+MjI{ktx5>(>rv,Y3We%ء>7QE4Ʋހhmvv>q_y|*gD2 1a!@M'[e=IodЭM0R/&A;Ɂ;x>FMLN/?* T[{&R{#7τA\":!f +MAvz5of=iXEsys>65oQQb'^M.nT mbTn y5EXYrYNIG:,_);Pa6 -7UUB#N`E! A[ a4? P 8ލ9~=1K䦑oI,*\\νޜwF;v᮶p#qk!gxvb̆Pr %Jʮ<-cN#k78YܧE+3׭*OӨ5a+ث ]+Ȕ#tc5'j<榣Xb<z ꒤mYb2Bbh9aeox}=BÝG̘_V'l@98|!Ur(<*`*lS,+p SϜq9BO`ݽ@6X:i Z^s{;q ; dX]F]w?y TGh\k=!q>'"jȫU]f-ћRDO- :_,6t  C5L)$F>pN2^ 1a/x(h_?슚oMD_UqR?:4qRX-MeQP0;o :3jXQ?PRifjI#Z"_L0na6,!u=Sb=bD/dX䂔*ѲFLI!~ϧ4z@c| wW?[[iei_gɅ߷ylˋN{c@Q^ ?vA)eocj{ o^#]TF HfdhD)r !=XDqƟySYꢵQAw_s|F@1J\F1\}dƅqc>#>B`1ռt#B/6] ZB@Mvnr fovhZ DIΨ)qH:' RXNN{'Fe ֲ8rS79-#k$P1ⶨV3;a8[r~BnuIhƴ0>%nb}%G6g~âi[]1e0t s~7yTӊ̅Awô{guڜDO֏kE+#uj42r2BKLB> LZE5̧@t⡻I@^#S"cGDXQCse$ IY֬tnI4ne:߼Zb0yx#+fM3zd- 󲚻 `&q^u0cb&tiQVUƖU) LA&YBEnaAaֹMÈw[a˹˖SVG+'SAHCiBI4(;. W r(̩wt-)NFVbex;Xn UcfVS~j*pI&r K_;Xrnr/q{$ұ k+E>xJw!F|ਭF_*>O_߀m)wgmv0=&NEx6K q{i(L3ٙHBBPY}®lM(}a8?^>dmMjqbH}YGԚy46[Nߒ-_B=OV qN[~l(Y+\j4GjZ*4%#4/9ӾΘ_2HaW~BBtgLc^lQPYs\;oT4D4G|4qp# >ì@ǹ /JM.qp>ׁ68EU"w&z-Y#PtD=Ί_;FƈxE*<QJaěfK-qXb0]$]F V^%w]%L i Ms7 %fs9wig2F`\&ڙzO]a9L( qH\…l#yhLʡҋe\ؔ;d!y[7 f +]>\dv'N{P] YB&*t!oksjCTE9>'MmE(82e38/g(ʆ&Cl. znjJ\t ÊӀios~fYۛ6;wx҇vklJٺ%ql ᣗQ=׶k4qmHf갫\"b68Lj`H8Ϸ ~IQgCْE?ub@(|kg ~mp7NNkM媨g]KU` nɹL"GvH \/@ʎP\7e!=z""V;.OnbEf ln8(pȸ5EJrsG}S|5- ?ܘ Te~k#(}24EYh,ZUt8f 8%W7:KG> 42ɱ|KjX͢N+eIi܂ 6@qy(ꚫO¦۫Ȱ:o)dmmuCVq0=yj1̚{5)< Va0_t>gje?7ip}CE_zNc$;,o'X1bBhÐ!"71Z(,w}ȥAah58Tr 7HzCX?Mۺ䛚~p>'n9hr-Ԧ"Q%ʥf@.lvǜe$SqY`qZ b96aLtD< AT $<6}@䐊7سx)zn^NQc6sENT'/H'yxA5?I% EØee) E2hHvZ7 #_P=Z|7З}~Mtme .htc$t ZøxCUr\>n8?N2@?'"6c/V/J`+&Q{M Xi$9|˩kPV!Ӓ#:꾛@@,m+AmaNL aBt9f~GɼC5V~QX߳8%(|jwJ8 0ƩT*bqg9(ٮ:pOU*1:hX: xvcaS|)$ €(?ÒE7)6כ,A ʇ ,>S`12(m_rΝHq7HL[ 2&?_[|)#C#R&VaTegc4=EJ*9-ůOuuN4߾sj+|P,>i2l=bin̺,M2N_^tON8$In} b-W1PV7 CCI Q !4^O#uٚ (Eq\oQMdf t$u`g țcM>]U3tiqy`ʓ|ѵݘQADXKY"bca1]S<%-!1'η[C{T2]53rT.;_:^bx>9x۾ U+ Վ#ntAm.>I 4~/Z/J@]lps{+&BM\;*M~&Q8fs$j\fs$#ڮ.s5lF[noXl9E8X],q3'oYK~F9b AsmȞMbp8[a/\,iqbpCMNH}pGHX憏 0}>~lL$JF6CMa=_$@]1cmh σA6ZOT6*JuɁz5U *̫䜔2!RIecCqiA*%GICD3؅[Yw t dݑ QbTDLp_0cyum*ESjV fQq*63Q-W-"pɬEZԵ߉>gw${*#ѝ|f^sjH%"VQеoT9Isd,wG7 $m~{=Nn;V~CèHrSpd=PDb"voG6zHޝ>aчT6 3撑ԎVR̔kcUVۆTbլdz"C(p7ӾRC a ],=]p% R@I]~' fYd9tO{| /lYhxc;p%x =46ʯnR>6?jCTLٌx"/d*iY;E~ww]pm7ndZ < PQj~Z 3Ƿ? 3c6[|<.Qr>ǪAݛ=vJ {U2L+u/9-)`f3KvC1okbZ*^<$YI ;a*tNR92wEe#/QW#MBaOL®ꈒ'º!=|kE>j B(zMQa< utVn??0f)JG,L&6;qZ%IQK}abwI $@ym ]siSfT[ЉjJ6TS_{fI^7(VM<ŤAsZdu]3IېL8Q$€&UYc؇ w&7q?8΅S:&c|l)Ě ۨ~bGb=F&CUP4ͪ23% ӾwmTDQw$gOSHP0IQg6gwDUudYͦ83kyPD|lZ-avЪ;nCJiYl)V4|i)ˣ^ͧ%gk3ad*.q 3G%^H`#g?:XF0>81:1sMz}޾}JЯu2MO,UILbe<)YLy7pa8._{T|!nCi9|:vfV D3`'~pP ϋ&a?pج)SD1j$fg@e`Rm|L:ѝ}7/iJˎV'oW .]ElGx'納T?fA-a<ol/qA];y<\}:{(@u]n/١V#eSr޹ b CLżR#b;~.Kb(HFvBM}Ƞ iBG>cÌUqunۏ`S7}o 1DӺfE88VpfZG/%hܽPKiXo^6Hkxx1(,FqV\< ^)Ɍa35 #XA*C]buOu`VWA1<I4l9=8A|:' wcb S_%$0hop'X/oР!1 >npJvÉefop%"c772({c%cIC1`ɱ+OEf 29 Ԯn DS/2hcfcm[ <F{ٵl9_XNd۩6/}U^n [N㛾n9sǮ;̛Fx9ooܜYSN;MUDɀ0Az 7tlEܬ'Bxj#A̫GMC%mӫޝ!ZRMˊH lBd ;'d}G,&yvA+}.օ[^+|}qNzy t00! -FI}eje54Zh1%O4vd(u {2lECn8 ̉>' ]r}#]BPB5h4*mM?Rw\W>G8K#rp3AL& - i!CJm_ ُ:QC92c,D5^3g6x&]V%՞RX )FfB<"$_ͧ÷l[eC c)g?G@ 8# DFA]<\`Ŷ?1CcTRB)t 6do,;1xOvLa\&OW x8\*0։ƷPߠ-`oc4esc F!Eq/f(FcSόi`ܺ)0FŘb<.N w@>̖zfNW(B^d glkvw8P.Qt8*BC>5i 妬Qfg“е"yy%c2;\0 2Cw8+nIn|?7ySWuY_YNW;3 r0x K)L>RGUb́{TZٜ\٪0GغEd.s+ {xky&3 #jA5QF$a81T8JT6)u }Kzo]uq鍀CɤDRaෞEP2ޘ ?qf4rI6u8Y5nu1y4qa+h^>rR\s-6n܌270&/ⶶoysLGF𻥇;f$,]vX1\AxI 2 Rjtʧ`22'5ShS&4XSNa'eߙ<*2)D"ZwK3݋Ld.G'UG0XuQgvjػ^t)uӡ :,QJe*ܡaVWLT5ÒUIuCrnƫKr]Йl鵥앾T.$<#PfjrQT"^nqgPPRRS:9 ~Z`4!+i-!QWE 6\q&$A)Uc[7Uly۴\gxY]j6̙5-a3V,ajlg/1Ɏ.Ot W*bضY&Z=mT3q@+Lni:lwWyt]h7/X,]in:5@90x>v71~Ota8WoI IסYͰ4ͳSafqCЦee >O0]IN|NCL#zhFJqH#b-I0R/B3L(;=zOjJ1+?K 5gC7S-GCJ\QO(f鼖=3htM@1-Y:tU5W{іSdJpM˪u|ę\M`Vנ-}KBER9Z~x l09Oxl1# 8ZK vb3(YiNu֟MɻiUk6Nd~^7X$/t*S%Kd!Kծ`6Cu(jf)A:^ "Loi5XkdE6)D\E?LF1/]IRL HHK 㮵HNBtqX,U$:aY+%+9imz#ϟtJz\έYzZDB!t6+J#fyX6L\Q:5w @ZǍb1+AS+ @n17?›vJWF5m 'iN(p&AҘ3{ ;.8Eȱw~US\ڵǕ훀S & # X+Ev A"/ekhh+7bQDצ6T3QrkTVit ,P]Қf6rjiC+7sUp-bEPu 9cx~ǘ2:1$Ꜳ:;.?V4䐽것9oH36M1/HfU`teҨ I&iH?@k0iE`.$LUN}COX,2h~?^Ŗy]T3(,MC {(hD}#6]~\ZX{ w8Q ,wDyB%Ni*͸ Sjq %v=T߇/x.S^.ec3J;l)}/^L8̓b~ GA%ܘ&#g#М l"Jek̀mjFFnlΥ!; LJ 7[`!x9VXD xDzlVWBcPg~i"cc.LckNMv'n?w޽81fCTQ-VC 5QfJEnNPB2B.uL)ԻwR- Zw9t)aQ=3vš(Ң?9iVvS+Gpj\"0]zA~v*4ۿ$`x5mMƥ6BLz>þ_ӍGÇT.V YjAo|CZF!׋s"!hbekzz?3D0+} UQ6z+uS.k^VTQ0<e=,?Om#S Yբ Gf5 $h\j Dizݗ0߻uO7,E3~$:i@pP(pK.Dqxݞ3N8sM`TmbAA3£\7,<ٱX$Q)i+OrlYG&ŕȺV,.U0U R`D߉.okCosi!T:_$,hnS̲8 B6Ś.bM #;ϷP[;EuVֿqlX+9w) ;;BvddO3@VP[x<r &s2!7[|{{|dp⮇Qֈ}]ƚk$Ʊes;(%?X@0鮲^I7MӽjՖ ^@ IۊjJr&a|RYʇTuB޶^PvgY HpTfX$2g|B;T9["N_ۚpPb4UcǺ'9İ֊Uه нn6gD|߷D;Z@|?ax/rR:iGO>M]fү*{71%}(݆JA> gzU{D#Td KS;T:\)TpAsj?;CֱIk'"1Ywic>wX6}'r2 <9Piһ}y,$F <'WiG.e(U& cݣ˻!|16Цػ({fDa۫vv{uO>'pJ6{Npg߂L}wcfKm;Y ݻ,PyPdؖ5 +#"!eƿpJQEpD<Hr2VH kB@ڼG%wOǰ۸塪!b1SXcN2=7akaT"m ]t^t 8 \]30!dd-CE ׋ʡ>$<]+/@?f#j'یvP ݸڼq[] 4ݔ.71j %.;b<wʨXceMs>G-I.䳂=%crj B־pn> 5=QA3.cdDFJ= ·&쓏?@ߦ։J92YHj Q|$ J9ھl%x-lBz߾enkO2nF.I CVcPk(n1.M9UY[/T"$òXZ.moDqsj/VR“; ?@Z\:vJBo`lvءg|X7I*LR$cWLp#%)6al,1pb"j'"ni;T;%(d]VGX/Ⱥ=&]xZ29+;ՕuiǕ#G3WwXT[\Rnw =,jKyYJg.3Z}STz(O绅\8;MLJ{Hv9֛~; IKE3辧e6? q4|+|QK؛OK6l}ɞΡM (kY9nPC=a s/} T<%j7&Ut(hDs ζfgJޡng-ZDeCq:8P/txلpmS!`uo?hu"hx/w oq@͋w PsqcIaԬqbV uur~ .1G֑u*6pEoZ2L~ʪ}XuVry( A*|~/Gߛ:hqȗmfsvF~%T9oPd- :n |8<yqUț%&Mt(y fSՁVsz+7"MF]|hM#ϲZqwtH/V/5"ᣧ/~܌3PWަ"dð &tb 3_Z ,WLI)`yG t"p'vö\ 5?[z{nRl#@և:Ķ̓cQ tAYz2A6an nvvn 3\`y2C[U-8n0n,!QwIm3-?u_Ybn#h(gb3i-\V ID)1l3mF]=I"B;) ||qD l8x n};X9@Y&6VS|(&>ޟQ !A]= s˄+a|Fot(syQ'dS[U6Gjrd,zZTXx #хoO.M40)S7Eⶀ:D Zֵ 焙(?C)Sx氼 Kx {7$]<,pbɂ"@h7/նtZCR4OK<;jt,Lrvo G_kyy0+Sk-楎䐯'v*69QJ$OTleOx|UZ pqqR '[Hj5;@X`.]ֻga$!l $OawUOk/0v(sVLR^&}swȖfYGAވ8e{qQ9h4Zk<*!U:ʵ6(lж,ysxjsAS4TH&a$$RxdoAFx&4YKJUMTb=/0* [T (4y27Iy\O@3Ki~wXs@c;.}@1cXgS~ǶFC;vI27{R\~\=P܅8Z).AE'--Jv pqywƾ.K(0̊2*˗FH$ΖSj=f_a.fTKSѦZ(:=BxOJvB^4 fn7WuD?(sj4'~'I?NQ";*2R[CoK·7c# J'/蒺F HYLrbe 81X ER M5Awfy!2YF7e瀟'>Ӛ"koF6yu0\9{ h@q\4E R*ṭHVjgzMAw$esp&'RRBj2ּP ʁyY'Fl+[V[rŐa&t"$-Lƍ]u q^8YqU9ϒ_te}WߺtI\އ<~pqn ,Xg4t'̚7"@{Aszr(L7{iY /H2@+?3٣s }TfH4y- QoB>E@aTT#uk#2y*iPY҃ {+񪦣܇S2ՔyU'\ w^m2 iu'"Rtc!! ۠%QU]r. tuDjsFk4T\_{$k|$^K$uIYJig9bN-wȅ ,:-2i{f cr/yscH??*&EaVh=FO pf{%R7rU{U`Tub8A.!@bEZD^M6 \еiBU;IОXH- YpEQre-) ڔދ`\~v7^-#e492bq!S0p&3>BuʯBQGʽˌwKp=^ sӘZ=zuYU>\6u4>iZ5;6I:bt'c[)a4%U sCw=qMvw0ZȡS##q pEs)C!vKdiUZ#]RgeǯkQ1WfcR9Ku^c'0 OЩ\NY>9z}cl4Uybo8/֜B!WShbvX%b BNcSH }" E,*[E ;q1-tj+jZ̲v`#p=N7#-Z-a-E.5[hX&hG1ۑ|?AGEasJǞrHH8>2Rky]! >p*uа (q$v7H#f*ІqwT>X] kֻ~Lx1s> /ZQS^yq>jofU$\l%\T_ۂK(BcͲv"f]%h99"G5jjr3׌;섆iQɁ[h\tJS[7%^N)Sg]!MKd60Fc.VUښҀ{Iz2Ӷ1{A/g6?hI$gԈ,i49ͯ\TX̲O>U::e> +(3#}2ÆϜ15\C@fH~NEx뚏_,R`zŸ4k`C3Gq6QMpE{_,Cԑ~&#8Or ̯BokݦD \0U߫> Ǎ=вjBљ GR`om |΋jhW"Qc 4͞9ʋDPA1D\ LMx@!LMIRZ'I7y(FJ9qSQ/K;CUyAbeI;-?E k6BR0,)pVA97gJh5:&)*5'sz*S"-u'cPf'$-R5,鴜z6b).st0]dMu(65ILj\Lt&y:'cxAB޺Or=W*RZ{^7k\Q(Drt+v 1V4e2M`os^wyN%+QtN0L]FunS9*T0 >Rn1Z3dmg&wf JR]#{)eg;UmnwBXabtBM濐iYD3%YD5A?s.swɷ:2/ N" ʘl]R\,ģBu;!R%d"i1:PQ$^<1]> y3)O^SGhH)ч` u)DJfKIod(J*5%;K2H["6;& 96%^qfi!^7q6@i[$iL`:7:9k^=+Z(oxR08eP[ 륨x })DI)i(_i1d|VQʘ[3.7to8J-0U 9,ۘ~z p~3x1ZGVk@ņ@4J)Sp9ÌV~IJj+G6MP/MmIfoMeμaVG3(-z]*.5m+b&(c8n UUՍ]*( ˭$N&eK㷪kU1 SL թtcHıQg)5vrzlSM{/]G"Q0zK>Qڰ! ͦ2&$8WwnIOE#v{nfVy50s4YoG]?aT_ȧ E܆@To(WD u$ 8j/e#&E|Q<*3Q,"aؖaufd5:4歛WXٖ1G} giFl2.cbvie^lb#6v6fv,(?=Fy<+M>=5h!QH0 6w8'8 Fbݣ9YZy?J)Řdf!aQS90:ݲ \~6򥇓iel+˞썣'hIn`5F8ͪ5[kM6Q8*HKDj2wRM*dÀ[CGAX$Kz>dtn +A)Ŗ%]=a} ӗyO5"~ swx)I_Y &Ф爨JY`hr- i ! |!"ۄ6c(Ki0zm0 HMJiZ6 W2.ӝJstI۔Pif-e6șXV'$Ce.9]nV]CA޳6[⌽ursAe5< Yi `Z24pidd\GA"|/4$n;!UEУʅ#5V֪2A6kiLxn2,pSڮ ,rZLRY1;**'0(ʟ 6*CfCNG-P^Y LlN# DC"V6z8_\Yo󒓧9/ԑ맻=%Q JzCG,ι?P/[" 0(Q69PpnPym.lo-bMѓ|'vAڼQuGRZ|&z*ߥ ǜDhnlU2#["1@76Snar;U'0ߝEY=$׭Mj@;Ug *Kpnc EB B\Bk7mjN>[ũ52!: xiE%vs~yBSP20hbv$jY&Rh  4"rc &E^]<&3*6m$h|kKεӛhvh41NU-aKRd'*U)]\+Xrn|nNU/P&:Sp ؀Lx#ո+.&FljthUjVo #/]>h\OT?.tu:.F%q\ir`h{6r;+Wd]o;YMS~TvTjc6hH(d\6=r=9]l[/!9jq&i\CO+`-Xzr #gI 7)1UI(KJL#Yc e\mAzӃC:MѫSjcvAbs8:$n I|k3akg$X$cO֦5ICrq[nG^1k`5rP$@2빂>fԯeQ8Ϥ䘣mNn.VB5)*ϵZc-).Uȵ4|@=*R^ Rst̝!ۊ>9Ѱ;1[, W[+D6en-5/=4ָ,tN"Tv[,f.ng'9`e -Gi%+ٚUa0p{vUҮH07 $jopCR$Ew՘ZMaK~?joBT3c/F9`o9܃J37 e7介Ϗ蹲MG:fRcka|nI o/ӷWל|,We!#V8PJV;nIxTi 3\-v$+%̐ $䨼Vp4i>nZlž^3GR B^Q[K=wO6sN>Vh0 ͻq֔%M-~-S4y=hB~]pn']scwS򐌯 n3]mq^X Ӧ?f࣬Pg9_<j 1rn:@̧M+8Oe3eGݢe{ ;e1 +bHΛhwjqn-Ќ"R`rrSǢ=^hq\=ׯӿ.]zZhAiS`׿vj5{_rDB-'1U[vvvN5bݝ]LZQP-apŏ'$&J^'trN:'WO8x 3N3j{w"j"!o{WB7wԾRW:=Ȝ|/F][\9K[[*sD\5Tiy{T5Xĸ4n ao0`"Bx;Cs@B,kB&3nLkūe<ǥzސB vW͕Ї /oV^/>,6ȀWCuײ~g :;<-+jx;(0̫;iU|yWhe#RP՞6Y&C{R>=yF)'5ULAtFqȺJlpVA|a-DBF^uh^JYq&UAO!F1Mܐd9}v=VlT6"T ’F ry0\/i9p%\kpdsZZTez^Ajwomp3JL favBrp UVLPEKH_OJbVyBPEt$K,)@G;Ph99!1Q\' B<&_ uq4t]ÒfZ+Z "k̠4 d&iz w"3;Wv')h7C/H$& iM\;MT3<,ڲ+^ F;8<}kOo=z+#YKY3px2܎}57eBdcR[g#c[e3uC2ZJ0wjnj%(mͭiud= !QV5&X0pt+ >4uҮ[PM Ȁ6Ń>dDXfBP/JV1JoV@bRwNeҷMEEn2/x%tbAZ >LM99zf%4 K:u@qA"ȅuטoH0tnE9b 8"JR(CQ0>i$CE9`S7 D rD8Kivnz.Z7JR I k5ZR]կ6+X%-_0 A tQt}}T \;k\7,@źϦpo^9XgX 0Y \[%!ne5*7o=skU5 I#:!@N7 ő(ЅqoELlf`k}.\Zl %֦?Tbd_a*/qaQxLy8i.#jhtK<1vdGxU7m^'TsimEs[1hxgS-9;ڨDYۋWvٴ_ԃM*Dz11l'X do.i\usho>h_[0ƭܕ3FkiV4̵WK DNr [ds?L+ s:Dc C4k2F,m$e{Y1FQ\h)Y8D9 8E29 4GvjΚ]/*p6SB+u~nEky.Eܩ'r~_Β|fsEln:+ :TT~IZQRAf;־?tgk*U8 1 n ex/ `.;aQɉJT2m}(w;9ă_dhIs,AS'[럏7z.$/潉8˘J 15u*ƆP,ۺ; JL1U)шz6b 80g!^ZDxkh,1:dSqz3.kľ(mzbJ=Dl'=، cDxS9t,O9vӭ[( < TbAǚ╜őlןI%&r{`~=M ]I)9Bc1Y%VnrP~lr*- z,"Uf& ^?EDq^<&/*=^MDm~KN`AFšILlTę;'KG ceoڔfldئ.{7PG5fZs^g-(gLXov vhhfAEPثD0'F\_Gb21HxfM& ," ;)i!Dlza@tz@'4aeQCG}G^ Ggi+Jp#c 'vZIJ 8qDENgM7Xf=>Ҋōg6H+,B B>h3$Ȉ] R7D5̨@i@#Ck[(ニ~'x(A#Cr;&(h5GP:pIx *= V"m&E+"ܨbEF9 0'~NOMK ʢf#(yp3@%R6}REpϞ|Vm_x?y`的4%bԃ)]ZҒwUVl/:lRCߩ`ϰ!Fy]EȈː_^(%E^8 q~NǼK,OJu-xWwTr5);d\q9(F,>:pH ߫j}g71K@A(:kYtF:#W8] Ԟ#cEKAL]NdAlUѵ/O&4WhGǾklY[(inٙj AO NUȬ#UD|E@8/Z]rcN>UUKm8C%x U e>+1g| I6*x @$WuVAq ZNT#u~C0EQf S y#N-RW ( /<~u"WV+=(!,5^a詰Sh"<#؅t2ӹ;Y,K,_]b}6+G 9# 3hSK瑰;-3܊r:Rs !V+4]S*_eԸsӋ9\H*ڹ6f[T L6 ?%79=EȓEQ+c;$%oNujuJ'W"5y~;VxcƓ-#[S4X~n-PP+[s Jg_gCLa]PnGG`q@1:D5MJ ӤefcSq.m6˵ʻnQ`Ct\ZR7@w uɆ*ܘg "%CѪC%ư欝( dqTҿnҰܳfwY#W&˱S1%l +ǙH>Y0壗0K ^ߔsz=ΰj9 I=Aݴ+'U _ʥos/ $HӬ4PBRw2${S˪>8UUJuKD,9aܝt ~dN6'd>u1 5; _x XH5)@z!&X?b>xԕuٴ_nZuSk˽ fJpG+W ‚b#74+Y|D?}96Q+eRb`/%yb!y:W&ɼ&S%T9|qD,hԍ ykUL9 n}d58sH4yyJ 6:I9 <بqP!2 4A:R]..UY8U~ #/1wKFU c:lJJ`-FXŽ9G(-vqE麤CMN9!$ʼn`ŘA$FLFTvi+9-X:0ƛizh4xҖc F"J=uYLkɒgsCgq..^qK6.]$/0j /m8ʐ#xM4x-+OI1[ؕEET w"$:]C>z@ P=a8uz8B<81 O~a ȼSuOG2ɸNW'_,ۭ9]k} 38hER[ʛQc~aéKk}2+}ot%@Mi2i*wR~z@qsep:.n{F跜P -(UHe! u^[:CS8}1I]o2V;6+B'Kjt|mehtQ,GmUr]?TݵCg̋ap2S볼NV%Wfl12ɵY!$0Q>q;D8v&,jkʕFH+C1G&YcMBFclޜ[,y49Ԭ BQ>ұO+hFQYLsDEE92T/z"sHJ~ Ġoi1hHvjDG?-+itqH4fRF$W3a2 IkӀp)-㺝. wlRS($bHy2T:Kۤ5/t"*@(ֵ F%j:'A|u˒")Z,?4( H;Ofr@_Yˋa3J:QA~o#^.gխ#棞*ojF.E)cèjH # $k?f`T}Q/t*Rm{C.nD@so5[lK86ڎ,g&%霐VYqH ;znTk}qQszib]DnE{}c8ġm\Uf{Sf UkX]HrpC( j ">bFC -DNjk1aaiβ´I O0=-G)5_-6J~DHa`2xcFcۄӊ["P+B$Z Vx8q ա`I>i(s4#pG"[ !Zs dZ U"f( 6)5%GG'j<]?umByϟ4zs՞7"sc_S$1)3n{=$a`di0 rJjԘZt!딛5|@Ql$Ћ<8[7K#F(QZ/o^?bjz|$M|7 pO5+SlEԫ?dBGSE*92xmyX&6nI]0AXd<'im]9Ҟnz)\TQz ʵ*<#wd%;K۱~DzP JnTn3bOKMA N#< SB|^(,esx* Sϝӳo={,~ԩ3LN i/"z9l>Ϟ<X^naefgO>r CzFj7M*94i7kMdR^o&nJBau\'L'88P(>.{Ơ dpd+ղޯ/RH}s_֓\^F6L ~i({&wVj8~!3Y)Dĉұm@EBw}-/i f{T ' ҆IeNY9{kvO-2}X̝mt T2B[s;t1;vXq\#Y`E#KX2!pjM~٫5@A}E5<5En|&MWvJas;auh@i+IpIowY''ZPFj* ?J>@mT6]VM^m _>D"5{ )#S§o@̍`wBi*UgTaĒgeɳJN ôz$!@\$(+Rqm:цĢ^9|T\~ ,5s]m_pN97?6dDϽ+e g5~ד ޜ2ཊk-6]o1nBO'XΪ1b*T4aވ~_gqrM8D[U\ƫ(<eH@&;Ok22`計 aaetvSYCG$օ>غ a!Hxc7ΏZ7m𦊣O56l’︥ҁw#+L/S烞q&îwC0{%dk6n*5CP, nۮ!/¶Nt΂r#1 Ȩ%Cn_lWNf/ t%V|VM\Q"Αb5=-b5 ^=`emFyt%{&ŖX*~S黆s!i%#eߧ{ܞpb5d.%ܬq> l(< 2T- Ĥ!}q%}&2i(({#-RP=$JT7ۊǥ&C)|ٽ'OҦd1e97/0v+]xkYm _/^1jnAh?I$R ō"2F~20mpQ3}D=c'x F/.3#6`zOZF%t'K8M82&gv/Wu^ :E:+<*>H:X6Do= UP ־sXnJLC'v:Ke7b'񶾐6ɁF$_SR,MEWuQ@Ft:`Nq@Cr#qsY-uRrB-z>akJ=m&-X[]f|bVdac Fگ zi^WphGpZ4{*<P1>ѱQPLXO{](]Mr[[/\*܍9hPӭf E ?mNxo$/Ï#ni)/tE)Me|'Dl7>5d)f۫R QUi@ f|éj-PC.ҭ9!`Z٭+WM8.~# m Н-TrF΃U4&{)Ҵ{qy7أbKrw b&X:mUƣ[\ot֭o51˲:n.i:UpU+[J˜̩T"_"-*O]*﬈j*v=F}GY?aqm\Rc}oE4$}gxNPgZ3A?s|M"5"tIYL]:0kT#t F̱>AH19H𝗨OUEj(㊥ 0 2<ۑY7QGGώtlDOqRI* Ӄj[9ќ&mɅT ƭ㦡tc)Z7I)aM J\@܄qLN6QǛ65rzjJw4ǠԩG^?(eoaVWx8vQ.\dwQ|_CJJ O(prT%EEK.찦*`xug7im>Q9էK6+qYgM98s)j! w 5쯧&siHՙ?uh;C"jٰfS N#k 5o.WJ% <6 ed@&qѮ· ܟ/ܸ]VB$VE =W7xc,`pٜ0H7q~p6xwT;.XtہM MYJzx4WP\̚1A[`Ra^?;MpPj(z_:9^4"sA"- ])(jZUh-Ez6LHwԅuzϟjm%YAդNw%GϽE*UyVe7#<xQY岾E8d-u)P^Բ|ҷFO"_/RL5.n_PS2*a iQU {+ӔO+SuHEH5~Q%E^UY˅T'}҅mߵQ~I;Yt{07t?CS7^s"ŐT8 K9l]\)mۧv0sFK0tt~PT8;'4˱Ix8Cg=OW~n\ @U1eCfO]B.p FJN|L5Q7ae1%w^Nt;.*F5ט;H{lSjq NJե(E}AaCuWH\AK:]c1B (w5W䈗E^1HnHcrODC#@pnu$¦ $(Bԍ@^cHʱyR/l&f5ޝn?ҋ4ڢӎڞf̩:pMNBxu;l!^#+Ĺe>~ &\hoB*D 9B(?"{xԌLH x*Bfdjb͓강o}/ ;;EihyUӒ}Y8V+xq[~L4*&U# }Oޡa }Jj:KP!<33KOrµ•+OwL{bY څEyzj:w>c?: c541 "YR&ߤ,z=axmV+IO0O%1>0Hݞ1Jn>-B2=u]e2N밚OC{hp, ubg`papn@(r2VG[Wh=ʳmacKPH Qa+1IV5ɭlZ?}ˑ%}SvCF'nT$ 0vH &N'!a6j [dF}.\Vҁ}9B5c#V1hBQSB-YX}kr/Z6U-{_PhY/5-xcץ_JrV"L@JAet >NFyD5q)NXctXgUKvp?Gwt̓Dz.1LY猹˫W6.2:!&R3lqn/ IQ yq:G =1 fquV0k,*DG6HgJ0P4ٺ:wD,@@W/kQ%;oJ˒/sB+:mjwn8A9A ۰(HRΚ:H6k;2tnUyQͦ:}/=M)gYq\/y'bw?]/sWTy؇psˏ|a~a5EX3Ygx9FrGWy-R+ 2BE PD=aNj=\R̡YbT+҅+,s_ZE_xQ(NޖQ},@tN̡Qx@`z"M >ï%M`)6#XXʋ܌0ȴ8A\USߨ%b6!+KvRQmfEVjugK@`eX̫v϶|9Xx]wmspi]GS箞[m={e= {nJo9Sq Kҡ6YXx1-\s"'{˨X{x"T.~-: ʘ#ܩǣp#mQl 5)*&;n\TD:i>o ;|ڑE{§3EgpA'v:@`4+q񓲂:CzSd4dFGX&nt}/kQw 6LaӎQ8y8_T"0ˌb 瑷/%B] 9=)mf`H6f3HE٠ՐEĺY1b.џ OL[+oWȆ=DrP6DL!=];Č}e":Rx.B|97u;A*o:mT)=N *x+x[R7/taÇpMC̤YptK_ڐ/ IY߫pܶ7Ӊ?ʤQU? YDL6Ӣ` u٢w "RSIlgmOrr>8%AvQ3CI8eyCӁ^KMRj؆" nvJ My1:ߵDl}$YLT7X'>ux9،Lk)x &ev-eJʓ~t~n'I+zq;U.9͙g*ƭW9UNAg@z J(lw'Mh)ߑME`$Vz8\Lٽ4DىI.DBޯA"\&. |n BxGKELVV2$L)7լ@E tS(9҄0ï(:!LU6I!2@ELxY1H:8+!ٮpSBvxnAt+J@3툌~c'8KB+ -oAFC7+d t+gy&)윅s2͹ ZZuU}(86Ť*nWNZa]?z$n_RrKA ~:fE pӬ++# D3;yfkѷyoz5,.b{% Ӥ  Q0e+ 4Td*kH5z%1Gf(V)4dK}̯س>D\w*05f_%EiUҏd^_|nC]ӞWoC?31%%HI5= -⌰\)ʺEZdEADmd'N "dL6^Z_GJMkkɌǑz('9 O{'GfPWT8b8zXFJPLǓ1Ʊ Nεb1붮OmZ_|'3-]6;wl2vu#mP)B1m bJօ[ZS.xLJ,M 3V.ɛ-UOL'Ex\GMPs;)2 y)a& F6 O |ٝzݩ<\)0WoHu+[{lפ0fTk]G`c38ݔ/@>{"y%}ʁUhUp8Se.0,u6k+EaH;׹k+ .XZJgv7$/dvrI~f63CnoaOBRbrqeyR[.zS&Jߔӆ7 ҍ&/{V;S]xq+vͳr Ӄq NwN ^ ?a./:ZRɅmحw~' J3C[q8@Vsz8@A)(7lHy0+50a3aDHZhlkkz) by,bTὢ@ZS@7pl&GJWE8xV#U-eAldA^Iӛ!oP48zeG Y]c")߶ě]Rn} $Vu5D`5 78R e:7/ÐIn|iJ@v2m't43'x; p1]%+IBP 5OYX Neɝ-.i٢|RT[1R l\Z;O`>H  Q<& qđ SůjrUĉd% dr^ci_kdpXW:VT~+fϛx|P& f'ɩ?;z쟮\=ugz9%LIN^;5Fd6Ekgݦ˧grt vdo%[-R8kieEJuIxT mhNoLyrA:rtmMì*7I&q>4bVfJ$%Xe$Z-3Ĵ_S1 O,- NX@l+EO6XKߠ $¨ohl<@VU:Gϩg1}_gW76n8qպlDt56CMD,Pza:d5se S :B'=OR$H66hJd ٜ"4"XgRԝSb I!N6M=!ē%FgPO($QȾ!R)\qW*/_Qͪ 茳 Q[5**23ta)9_ZRhd)}6n*70B-t+픕VnކLWcvM2CYR$6% ڜv!/mˈ{Ku+TtJP?n))II\׼^^DԧURO&2a ;Ȕ%ZsdK c.=tTrw35刳pʕyMf[L(K(e3{kG>WN'_ZcKe99V` \VϞ),nNGĭy1DpVZ:IiyI˨)Vy]Z)=4]zxY+t F~m`cl/eųMR p0 , mkd^oZ[5cHsf)DkUV.*^`e &5pȠ@͒ jFtpxq,s l31i+tYɠRmf]V9)]hמMk3&/)(eyfuZ0;\!uF w-\;xyV$ޜzD8lm4ߴ%Lw_ PGYvz]NOSKlAe{9ERdCN ؐ]q ԃt Le*$"9cl\*y76ւˬA3ז]۪`:Ŭ,oY+vzy*)9j6³k|z.4;(a?Qil9z{IT{qLQtQI„DF|`S B? (B ͼEU]ͧqyunaF+׫J9`_@}G@hmMYaLL aZ>~\"NoOsvMj=QnzU;Crpd0DB N _;_)oJ^וH3~Bn1ӊ?jMJkJ<1Ayeh=fKLF~$-oFNHFsU7?}\G 0/7W(ڮM_W>tzVܠn8 H:&'߲wN&1f%"D8[ v3oS^ &H exVwͱH /Wg!GN]gQf5,զu )S;9!Ǭ 6c8e?8n"v0<*%u@R?L~c2aOqNV[P=7y,8&Y 62 +,V[U"%*`SǒS_9.m0NB[RVHRshO `]Q$$z.2&2^_BaTa.QjW';&Klj5pMQ/U,ۜt_x -ytnPb"E %RdOP`1ʂ(5jb`妾XrFdZZ7&-bHl]sUeC]G~^pŝ.7`=(mI<ݿRyMdXIg޽tD/Kedw#9IUNn|GxLaV)9CQCWQ!uwM~!iP4y fdLQ~@V2c:y:jj,ܫ*w%I٤m>]k7n~x/(A bsߪI`N}v&Td_aBn[N6IRȉdV^4<+1`EVJT3jVUy)iQE5:G1$Sq²F)/acᶔfJ*t)0qjŭIZp4\yCQה=>7T 矆W>)u hO]6yt-q޲({v2]1eU>hjLTOe.6ՃDϡ}тZlDcMt덭oXЁ ねh[7$vZUs,"zAd{0_fIWBMٔJV<f&k

    ug=GaZY7\6AXE[Rd S(q*v Fwf0D)5 ) FSwȊ:QV4fl׿f˃߷u_fBy|X݁vfŚ218Q48h*`NPAJw+U a$!Zpkf_, sC(px hm5^.mՁY^Z3zHC=4육RccQE[l/hü)"Ehd4΄C fc`Q⧍ Ʉ6uBeSZ^Q Fu,N=~d*و1i kg&GxHA(o2ӷEClx])ޒQz,k|?E/OM[G \G:yt dt3|w$;p|lٖBNg2Í3'oJIM|[Osw\u6f-߼HWHvjZ~kKDao@Ah{eSY^:|~mЪa~HK.຺r|zfYL͎Tt?sLgtLz6ꑵ}4\-?Z_wċ$x~谩,\o1f'ցk-mky ,U xuniĭi)fY6c2 d%^([E@jt{n^cj'V7lgztT)O$䅙eliŸ*NQ{XBV%jOZ,஡}j{EK,Eb #`yc  =H${ޣ|McddSwVEZ::$z^Df-%aJCE`␔_ڙBlD& 蜃G<^~)yrYu:gR}` hܐ%{=Z4@ 9;(?,nb\J7mqtkiWo?DО_89zDu`fu-}'yWnoY`WǍ遇;܆:.Ml%ɓ}/'kN=j؅ >DOf?ԡf.˥W^~ڮ7ۅS~\ߺ/OȏZLy.9hhhb~ZHO\DpkTL|9 440c쪙""19}`š&G<8EOWLMWTה6QB&a041ZA $ĉRhT\[VRwt{z[}O#s]ĉ>j+vNNNbs%va%6^`%-b$Ѩ7萷8Y>W_$oQ[,|e53 l+L6M.*Xy6]eI}qCo޼qomhmK3kGuL`BRRtBbpr6/7@!QC]5Л/= S:m,eؤA޺PI;Q4M)VO @@X,^  q"Q;jB< 2(8ȡKL#hA1K$?ZZ/I0!22D$>@%H'Eb̟f?$i6ba1PC4vL3}5K&J_~OgF{bE]w Sv'Fd\޸pgfm{ͯTj|iyN Yiy];<11!_^% ?2*$Z^g^ˠX9yh-AT5 ܇\N04Hy)2Ʌ@DlҜb0X !Ssv$w*}/;_ ͏WQh8\X^Q ~n~;Q׿N W`E]YDezap K #kkpkh{Ұ^ʨf8RϤt&ɒOZ/_c XgAC},ɐ%*V~s}qiղqg+W#}fIOz5ݚV;.滭~v`[ݘ_BQVcΛ]b獓r}#Jk?ܻV%m$4xIHu6"Lpo$|yQhY9A' (..u;%!(#&[5%v}|j6f[Tw۩kf)a |:Du $32>'\Ozh4~7QGK+umcgcc`\e{{\NNNU7ϗk.+++ +Uv 饥C-/76DggǵSO>`.svVnRXxzp!4%H޳ٌԼ%wcoy0T]U6֗sbv]-u⅋4{l ON\lKzMJzz{FF";Wqy.ʕO?̯l0 @@pP< &!ረbbD>Daq 0NMfMJ*ZrڍA(vC8=<a""a4ÇmloAX~M7u&(|T.K4@LS .]}fZ8ʗ) 7~HNV?6CGY &=7~a+i 5=Vj2?2mLfB^#vY w[Jvۗ/Qgu.lzfBEuFFn''jF,7u2_:;.HlG5rA5<9G{WC?IC|P#VBp@x@?$NjEѻтpNMHF> Dft,#ȭ΅ͭ#EB"IAh |-M  NBJ9q.\gϞqwq u5~+7___hs~~HRr@lj Wz{8Uyv|:;;}O㫄-Ļ ̻ c[F_M>Wl*~Ҭy5!93grmVO?03)h0ژ[~'T%`hdmcrӠ -cG@Iv#y$oBk"؄(lT(BVVϻ[XUCWC)EA"e8A8Ag.'-).! O?:?1R+yNxL”l'R-x^'SdEVLt![eg  (AjTx|yǙ-S_?8I=jJU=n(Ls,.fBBw?}z=U b|c3-ۓ?و|3UsD?ǂى/0|Ntz#kLJQHS:]Hrs hҼ{.ݢC>w,*V'ja -7rg}g>~+;#;;}<{^Tnת [oP!XZ0WwcC |5;q]2?bVxy` -gFsp]9 sOk#_GGW;u~|uu D?{ٌ'3ŝS^Z&=ϡwLsyr$}֌QG+OO,|oO%7 ͿnY(a뿵OOа1\6\Mۑ^scT,fBzmd[Ͳ% _4 8羸Q/)~K-J`xd\ -s@ؒSd wHN[d.('Q eVET]#HBWp#!bzڜh8QK5aXȕ+.^s ']V󶳳S>O /;RyQA6+  궾ǩ):XoKl:N!Pfڽ]kv#P]dh!4W$$L@[PKSS+1I@]_Y b||RzRGيat2 \^) F)$}d 7+N'NW$~_[_XVe竪rss߿>99<,FDD9sʕ+qiiϗhh޹sh!LL/j˵qphSRz۬=YWk1:GzjuydE2]Tо]Dhs̈́Qkg͈ i)`$ J ᇺ@80/Ep n6 wIh0W<`\04s=yo it Ņ7=q{io+y}͍522DVUԫv:!e iSD딂qV r&6F_ANGd2/s%Jxvi}F#qEmg#Ԅ??z+>=^ub3휶+e;VS/0r0ȹB~s7wف[up5}zӤSQCSwJvtﶫ*a{=!$ +?TPOFk0ϴdQ5=h nUVNcVck#Oc3\+ 6(|ϾyV$GﰨӴBdӒrW;&b>:*zHGQ [ to=mK:噄7omKIUE2oXԘz)?}[1,UdĽa="U{͹hH)NxS$Ļ{ޘEFv  9+16ti>=16CdrNvKWMh-IVU_5hs&iϩ 5篩gr<}ssGt:tG4K}O{<8?-**.'6⦦*Дg+++1//rccaiWwKK۶o?B|ܥ{|{gdrj\z\mP??bH`*'đhS)\N:6ŽжJɻHE1knW"Jt+~ia#+ '(!,) +`8 8Ne8wq% pYT)`h] ̫{Ċ2/w?\gʹo!JfOYfߒDrAIDQ"6bi-HL#ySY-vX8*Gxa;%h+(EP1Q?A_??, `e?KXgqjh(YTgvYBPpE®.Ԏm|.,>b K#X/蘺: DXO~ (I -A!uŸ\bHY)Ll9$y JQ݀Л T >"LPU\\&?W#4??]._Z&sO,kydl/c"IB@$)§gOd?Z5MK=֥`ܻnfA6X+u 9mdj."۬gwG_X .�Xhu^)y0uCXۊvڠfoLm w(1b\ ,2$67 9nnݏB\0UiĉaEe𼷸RB19oz+j_766 _rrP&Xċ dYܼԆԴ”쌻qYi{X՚Mklg!#/9=<9YVtiҢʆG'#=#[>lABH9̾h0Xx;HVTO0r~ .A~TOq*L efOr o.,-0ؽŽB C0BSS'+ld[jBِH ui ЁI/7eoN?g!NYWa}S:ߘ)KX?<ɫvԎBCOYIo=<$iZ*iZ,aR`$+q33}@۷aoY|zeeѶ)3vʏAx}-j.MFVa<7vz*677?g=zҹc_~5&`]5$|9 `i`2 ϺL>ȹ4\eS 92g *`D u۸[XZWTT,:~Pݟ[WS[`\ ,b7w9 إxFlOL cO(aQ<<]@R ̽_f;;y3ߟR+ =M/V:kj&<|cbnovqs{FEsڛ{?d9fE("N QlٕV)$(ܘbVYxp` S#pcJb+-2vVw12Oy=}KFFF6z=_w8L|uSCW颁uҡwN *zvQ+_49}zJrڮWvS^f!H~G rW,hkWXv㥧/"޽`yB'A=UOjo-rY9j.'#iu_v'\+Zü@AP}*7VXXoorP:tKJY.;⩻rRQRtT>ht[O5VNԮ(J H]3{tظJd8YR~58zu/gQJe܉-[I4z粫JG-[$x+[ )i#<M eS_Ͼ GoiRaS W>%} =${VV<~N ,eŶ9 X/qQkG])LD? p(X:xlmfmkql ?N Cu~:s( \Q@Gs+ #[Mn#9p #d$ĝlGj1R>B|D?/h.Sy/666Y4992UN(d޵CL8dMӭ6@P, 1@rDD@8] '!Sng$C`XTe`+i]q1pT ',e U$ td=*GGdO?ԉ?/G~nnm``d||reV6=VEgI*-o0sxhng\ƶeI,9qm.Ujڳ篻 _ZR׹߯ҥ.@w7[pWyoEgjdZW˰sM=¾oMuF=~пa?}?K*J'*%//*#Qj< ( 6JBJ\\2pi,'N%˻Mu !Hm>FX!@AgbbgV ?7'҅P!NuYOش&؈N]LP0# M*h 5#S)܁,a@xCw?C* UbXXZ Q!y2R4yAʿ?X %l(X/Ap)NFm : L`k~/ zuS+۝GPuY7\|v*lw[Ρ+Z5 V;_ nq ^D:]Q;2'8sHv$3%oڴ4at$ڇy?|e?īW#z涝]y1poL֠U+LUۇt{˘XT9=98º9{<4?~-iL+cܞړ7^Dg-e.6H(?ޥqn<;[9T6zqco"E6*n: Xo]w͠f룕c_eě75o߼|7[(Sd^eq#Đ>3vmM:_95U(ywU2:3A[o\rqirJWϟZHiI)ޘj|:ҔaH{DuXջ'C0zMcy։0 4X߮xYx(]C{e]*>eL JM=;\5N{.׀[1{Iߟ'R?jjs_X#ď%i,Mp%i, eIڋ5mK,=c IY3XŒ@mwMgd,9I|xi%ܟF/_|gh]a@ 9xɒS)m/{Db$K_=n:1p%]װT%,zj%j[Xziqfհ%,4t??kX?'A Q"pG9UEDԱH0* %ɡ,_8^c^ qǧhhTЅ ¶"D!90W8|1$]۔:~1\Ϥ\2`$CmA# Nǔu3hpdA s0j[(0*HDǖfd B8mx&7 ./DVUReu]:: KXIT&&SՖR@ir_WYGד?Oğ?x{)~sYdEkuŝS o Ii3 y-,9H+kd8Oг7.rՠ%E!0!n݁{,`I,zM,(q,>|_ b4O {?2HFVк4pU' 4N ろpi..[1pGf`|"#wWHND wE?xD](1~^xOy={r?}+.{x݅GA{ṙΰ$,dbnOᙪ[G'ڮ?/8Ж<̳sB?gƙxtj!aڻ=raXGI̡OK>+Ri /}NMMMdWh|1e"h/tr{1i'/wFLvPğT00(#D$No:h'y#S@ #]s  ደA` v“`1l9U6I%E[:yD }_~/gy,?98?>qӣs˫uS"Ag.cY'OVëjVKn0;?^gս~Ɖ#quV_Z}beBiwW,vNwɘd9ȻY.)r^j3;qsKۖkɵdb{oLdE<(Ɜs{&YzSUC*Y=j&Vͽ77uӿ򇲁#ؠlpp\|݆;NlŹs љP.û|Ga%%,x;Q~ 挤6?7nZm.(SȋHTj̩N GA %Q&} hNN̟b'H` Y4Yߔ5Q(my*S#*ǀN,wi?mݻӞ++w`ぶ咒䎎˗/76iwꎎ <5jkF_^]Sˇny2cjSh߼GU<}U`nGHػcߜyD%Rd"p7ȫˇ 2abAv+OEqI$T>U#ظp`E(4䄲ah,TJaxGL%iRQ(KB%0H ( -'jCD]l%dzw:{UO?ߟW77U ['X%Q\0 nq(Z8[&W'o|3A+W0_zU7#9c15]|I9,L7 p*]ذ}@؆oۓϤtx6|K\j_Ţ^讔alqo%czW#}>Hjlx=110c.7_?*Q'";P"Tξ7Ԇytg2.4za;&/ )lGԌsؑlJ,FB43x8t$O ?пyL?5>o?4!e`Cs99[aK3wcXsQu.<} 2_`%[ Vp]D: [e.0*:bbzߜ?dTFFMXll߾|,v7XK,-;[p8VtФcn/)uX\kWJ,v`n;FFmMuׯG[[?,/h45$i|| [v\rtl%ʅddbtA l-3$H4rcYLSRhf%$swckb8Gzc_,Si+BK B5ok15$ wbPz]Bl${]=*%HAEZF^^FZEd#mtujv'WZ DFζ{󍦽u;.zl/U^nFlՈFYᡡ!ӜzQ[:u {#$4_]}='R(׳ekġj %}I)ܽRFO=ָNFɻJfhvro^ޖҭ5wk2Tw%8Y\j`f{3I U+) C L1H4 PB%a٤81&+C*b4!\D !#+rH_R] TVVb? O^j??5?~},;77ť]&644<qp:gW::?~?"00hƔ{ąیOlS4%&&o?]Vp}GrouC ]7rq(jܛRNo(K9 7qo_>)cJ_OIj6MGίWDey<-S,-5^T}V,6?99yꮸBR{ Zx>-+{;}%Lx4c>ǧ8FVh{0 -:xƃƴW7^-;եwn~piʭ]%wDܗM%IO ^B#8~c # =7!y%ڬ)>mPMh`]E_޴>Wڷc|HCC4̤62o"tM #$2 l6F1 %^ph8,6EZsr{fV[./3Ad XVGԒF$b@$JӾ-ˡt+foQ^ΚqKS1Gb|0. IfAPX@k*2uvgOm l˝L`g'@22v>(,nEa]#3w\h_+0GAIVT"l0Ĥ af}ž$0B('@lj&zEd H{:]B hm1֢+0%f؂Rph俌@O_߻DL؝8/͚`ȳhd9j)q{c{bGZVή/=! ~X-$ڻPEDi]bSZBSkl[y^QĚѣ̩zB}a0ޗ]l]U(;ƓŇ_I``~_K-$pBXŗj4˘ J*8Hɖ;, %yBf޷Oއ-hu/( "{NNnNkA}nQd4@:o|KaQ{_`CV?<$ʻ,e,1`:e,"J7#&<6C@&;wJ=j7S1=!Zon=,HpP}Rjcz߱/omݿ\GNݛ<@⺺&yj{ߨL"[ebn3 *iycgޜ DXXY4rwWnim ~iprvكREʓ3&JTnx+f 0rgA"S. JR%|^x|}X/xez9.leq9[o-ŭOoz8^s-h?g\nnp5ŋJSo nR^:e4tt\zi{H+S}<~7VΣÝJ_OeR مoim%p){9{QXsŶ" R2G׷+smk}U߾#OX7,k,6Lq]7 1I1=7MZe&K/2gw1 ]_CmD{YS|jE=w}5:q^٪z_T۽[Ua^c 75ˊv.dDYYkZnIK:P?r [wԽ{AcJї,<\yKu.gTPD7?[rhthfYWMjjjg[, WhYH3^-0ٶ%o}q)ye*cJ㒋k \y9k13zoSS^μ1mqd4 Y׫0$Ysqu23;0E׶fv9O8''_vk:COq "ȒJ8z!ϖv8ָ_W;QG c27O-q/|3~<?}{CBvp9'!Qx1V/˻k l&'s~ӧ/V~Է'6\cÐEֻ,evȎ|-.=b }+a=hYxO)֔Q'k̟c@";p$3a! W6Е瀬rULƘ#+oly9HU²EkAZ/Xǣ-Tb0"(sej jÇi`qhw$B[p4и;wHd֜kϾά9s>X ;P/_GME^5FdZd;cO*CJea% s1E U  {n s ~'wollaN"3*+@XO?'v ny}Y*ۋKLϨ399oc(N,ܰW"|zd{VJ|#W~/cHDhjըRJbKYZZ5(O쩝Ř>c⧞Q$8ƗmCU'W"F<JB75KMM7ц&KJ$zjo(($#4>5xm+Ɛ45Ypϓ5Xw1f >]pP~~ZZBFFPbs8x(8hx(*g'::G X8l8J"%!22p0XXM- (hW44ʨP}h<&oUЦPQQa)߿gCA#[!'WBOz"bԐGd|`0W#*#}q@`]D"ALJgPTq#)Qa_И%@_hq,S0lshNOD<8~$hrtq 9!`1,Ư)G5ц )Y:S,ȹb/yKp壨eda"a2k]/>')MI4}}ffa|qcR.{xq*l^dw!֘D $A[H+)BU"'Zxn{o"X WRb~oK$:"03mw3W, aR'jxx U $:b%ynm_|D8BC)Xl1p455q"W!? )%҂ [KRcu'Ȅ'Lc"@O.. #_RMQVV\P_ysBǫl' p_RYV|d *MŘGiS֙`-`Y ґL@֨g^Ga3g0h1n!\@(o^o(&<,,r+oDϝ|ϏEtC˝bhAׂ`VIG|Lf[;+&l-dYe ,f[5]1s/lYwG!}V!u2s47޻ՄEFS^SAgW8JLVKqwzH!v> _CM>~z9%JP/ TZ;n)ۤW:vbwON@qݍW`. wha)Î`wI÷czY?souȊ&l+t"{>m-q3 n߿c!Ѻ lDH.. dE.y\z[G)e+s[;ʑG^i+> P3euzZJ^hqB{awXYɡ4,,`4hëwfޏb ͬS xT};[ iNWj ŭ%vncѮb: G2nj*G7Ӟ!Y j^X?\#c&o i*J :yw>GSa܋u&ICMݡUٗZLڄg>]c_BWPl%O)͇vsk.'}bӏĬ~_:ǧk:E fzdX)=n Ŷ90}Mc16=AKx^'K򎝩G{oi!%G^a^\Bl+nZmXeStV뎱ley6ԏFE_6V+? '/_ Chb (q }+h }>>#B&"{zyy`ӓcðcѐQ0`a0QP QQPXY JQP IIiQhhPiIH0qpة<0>'Qc crQElSqdQeQ^@]] "&@!C+6:%g2Q?__?߸Oo0EH¹an C__ְ__E"_ez,|M|.x,zPЖ0Wqւ`CQ#֣7677"06"17| CpN?=ag,N=><WLWŴO"22쪚u.""t|-v/y3$sVzVvv$/s.(.)v/ 7b..!BY88 !(WE4ɸWe Oẑ2઎KEE(u=;S{hs 78߆EW+0s=5mlU3 )M|J.B4}ˌ3GEm7NQ:{ k%M%^ tFbv][T5c 7:(Os74^w)hRVL(Dw[tS/ Ƌ˜E&g%L?m̬`WߊWWW///{zzjkkgffچ[k%%%KKK?|,)GIIK=]hߒNƾxNGO_Z$Y tttj[{oS3ۛHHHpՅ}{ZY-w5AQИGB23ȸsn#euMMQJ^hz]ڟsjFi!}#BYs=Y*J½` *xHIIĘx@MhX*z$ٚp5HDІ^d iDQF!"EcQG @FB[ZF'@YH9Qp6 BV{\Z.*@|Fzzu/:Oga\T]6'BB?NTFHf9( grޢfr>ܦ9cfT >_sf4! %9L`@Ka`\%H/ t}aA63Vd){C 71ŦJ ; yJi֥Co_f7CZ~N&,L E}2C Rf`` [bmycZx!w-~R& ?%bPwVT]o(Jə;m۟ G]ǫqŌm5V2&,H9MS@uBV"-c> <'9=;;$A/..Xkmm}OۇǷZ.SoOD/iÌ1(Svڨ_a߂.I vj;š,󚥵py9Hթ0'W07,%<  &2S2b$W 6`:WVUcJ `?|[?n_?1CNN|"y?֞j${iiiO|fdd<Ư_>1'Y>Ol=q[[Ornﷷwvv8>NJJzdcccO|JJJff}jjD- z:}PC1I]O>e? E#C!Ȫu#mR`Ij^ŭ ^>V"1J+q栖s`}dG^HyKK24d%%!&?rc@/mނOn`@ a, az]]UziX-" *Kp~G8w ; f<t%7Z)A!X]\ϖ 4qHՌpY⼙OtQ^*yw+#kKK#;?87O? 퀁{ODpX4m=򝰰pww䨑3+ )=˘$;SoQOF4S};`HF^ӿ}H')><@LL\$}IsU#뵧d&gbWێ[~};QtF8pYvDrf9t-VBX) Z$HŮWѱ99Iq(HXhhYH(pIٰ1h1*0ij٘ ;:{{ TPSSTťe8/@]$&22JS B% 01lA,bzʬ`ho7;g8\(zտ8Zi@ѬkO4,2gʓ k% >o_߽o>=<6...ޓ!""" !!VSS{|A>6??3333 ]'t綴>?QQQ111qqq222yyyeeeJJ7o˓aƹpjHYYYZJ_{R!!!gaMC4:[$DDv|B{f艂|cyX ߨ+w, lF4 Y<<+镟qOےGu>{j=ށ2tOI~7"v卫K޷48ؚ%((1!%AoV #H? Ɯph [S߾NP{h@f.H@ĺuQ}r>7ZJ[mmE)'ۯ,ݘ5#f> {RV鿷 Y#Ѯ+e?o@^vL@20yxٗQ D7aRNܐ t"v*/+B// N{YˬEˆR..",NtZ_Wcmn ь CMPԴ^XB=:y62~6h&BgCo!=c 'u@tX;,\9דMO." TȖ "+d]CPu:ĸ!MXBUc 0h,' sj+$eUZC*{a3ZMʯQnHM~5hi*s5_}c%S=+C #?93O2:࢚2I<μ{b}v~uX0ҔrSn4۲Yw9OU`nY/ېA_QA,~1/弗K]u+GGz_\Jo _tx0Ĵ^`pyjSR>Tp>geFFVB!$BGGȼđ-FƦWFF %D@F`B@ Ef䃅[Džc/B}T\+ݝ `O%c LL!FgfAϕ|6<8T֡"}c0Ygpo^KGgȄ"@^ٲP@/ )9Ļ@|z` ⒱ S )iLu?Q/?o?D/_I[S9wmƆ"ςhPsk G='ŐX @&AVP7b+;c79ݽ>P<6=gM\MϯDwߗW%v|An\4?n;D,i9C<][KQ |FX\hjٔ^MK9,$'qky>c?[zf2!dǩy_WnO<\r12bAD Q[lOh1ڮ5nɈVx!_ؾ~c㨗d*(c%8}y9%qXvn\If~=:&)iCȗ}tn\܈T3+:%Bx˾'tVvRR2h, ͭ"\qɾ}{.M{ TS-uNv9QE(we^(^ 9`d"~\_6Sz]ЙKl;X= 2.r_6^%L *#GI8UyW܇Gy44>ưJC6y@c}W5oƥ#lgM`9" ܪ=(ōc#&,~<NQ]D0w&s@"z҃"E',ԕ@`cOס`Y8B#69ejV -],e2V%$/ 9_/=lfy9ΜX 4sAM4Pc" XHERY.Tn bpv.5*s [I:k~mD2m \+c[)I?K4YDe=Ng} ї{r;$.[>* " :RDr$EV93IHjDx |3vL wz}VmȲK8e(!}xwo!h.\:Ų K.xJR], 6@f=!XR Qg|BC~PE9ȫ ˗P]#8yϓcZ`[/^XtNE9Id}oU"Pg.|;%X(J|D-Ñ 0Pd6Ǡtg'>җϨG-2cM*s޽_l0yAQ pIAJDH$|i zCG6[Z?Um b*z^5jjhz$h!^ `Q,p<^;:::]%p.OO,-K5Se~`54ΞGŭhhШQqFָn kl46gq8fXFB%*7-I2뺸_0"mt_"&s\8ͦ_>-GG!y\>q^<|LfiGwJ1`deo C?ߟ1O* *l^hՔ2 67oӞ&Fa;:nnkleiD}T9-vZ粀]p##Q|7(N ߲ . D&`_]?+?+iL3ߑYqu}S[*^>V7$*%"+_v1]SC LЏ32z{X6SE[n?Q]<.ԍdžႣ &Mx$!?oB5zFLo6IN[X|+V-l?k`8-+夰!`K_hJ>Qx۟,&|Q7hAC^}rǒ0`ir{_Ϗ11*F'EewD!U"_ UT=|^b> s7`hYVtOZ޷r 3=| hxqDf~.zG2cK(qhr' :.AzaD]z\,%|^u-E]5t<1ꫩS͊ptixM=n+Әx4=-! 1iEor4$,FbS j8$*DiU.?ntZi"hXdiP\9Q0Z ``\S3n{D4thQ*h||'pdp4&&r^_{rta㧁ti48%\A F\۽W!r7=a HR'ln΋(t4<:t?J\B-GGOُJZ_Y@%NQl; qas32 v-7R2~#Y(iA3 Qv*]#P=Y3@x}_Å]/o9f Җ\1$oṢg>AuAqbPM&xg5y J i;p![Ƚ!jJ,.X̎vٓԎSRe?WR.٨&>Aƪ6gt\ď%-OsKX{x;?$wɓFv*a} A~4 ̍aj~}Ѧ- `+kΓf=%NYw/G:?V"izDӰ چUtcx)P.Ft@gQ r!"ԬQA@KX+,:eq"ʔ "py)0;0nc;JF@{NGhI=s~#f :ճIm9NPK5R+_NF)BbpJntwo^$n+u5 #8LG0+]Z׌RJN@e R$fn0FqI8uu<@PS .vϥCyGeԕb{HדJHgrlY׉ V%^P$JF"=ȱiOh)f ڪdlISOɩ4,UxU}շtP@6:'o@­I ۰n i^fO˃S_1O76t'wJ60,V('0L7zpUԣ:wad"~Qrב,e 3zy # G1IEԃVv+[jJ+ӜcFqj]>߫䠍.d+@W@^<n"NKEN uH-f]Z(KI|1 wk ,Oui|㍎&a& lzy(:+麗4^;3_Л{qV8xY۟r>jA3NEbʦhYR@<[Vށ@8NW&{w|{)js!sYcmV͐큷vnJL DK+[Ξւ24V寴^VZ31 Q-an? : 2J'tz.Fx~w-G)O֭}ROP/?1t!$(kɛ/[@Kl5b/x;TKyd[0\1do(֬d~<=kkZNs&U扚bQɷNk^Z q EQ+F "&)%uc\wQv87. MFZ0[-r\|,K'_s*\R?|Gb-ѓ]/֗~smu!F3ett8Q}t_A=r](5h+2zWzs`^zS ΪmCz ̛/68Oh;ٖF{IƱRsRZŠرD{=i^mJ7SaSg݈tBP@\Ky/7$|`G$d=?nUZd>P n)p1d,Ļ؇w:ipzOQJ]zcUr"ͼxuvu1>i2/u{(I>u(2u<܀cZJ(cԭ״g(b̠l)_ Y#I^4tۑn EG*lkO|q~x1x*C䙳jFI_B,l#"1py26*Ds$%Dl%7[%=`b`B%5<=8kr0 1SSEAkhۉhS+܅UH7oc';H렻S8gbΓ2A ^Kjk/.? #9;8HS|FP%M[yiarr NNJ*(/`d&E'%j\ke&.))~*/? 6v36AŎmzW&ƵS聻 ' Mrn j6w^>P^jRr2^-"^&>#~3Kybl*η>mϦ>}JE'5aX|~SaI8\7$.!ƫ6jt Qe]+N%V-Խ!mYj4=>>9FㅁfdSf@sLHAM-w29dQ̅P6Hʌ¢d~y^y%r/(DvC;ھ{-W>Ch隻9)=[: a\zL4+r'bXm/`i.֮倏kÓ t*ٺA'%@oC 8J+4ڐGY9IVD^H:R3!xD fh[4}KPЍ3P1 Wp'E&e& 4$+z:3nTlnk(ʧ|A{PRͤ>koXqP9J! :%G9͛$7Px:Q(xk%[_~w3ϯ?ߋ?$Mm,,P?\ }/M(8B<\h|䟞_e.9;qH9}UUݠiLU:!EJU`bqEЉ/\ VDfdmGi ~X[I㬜[^ knnBҷ ?ʈêýehOѳ؇.zb eZ9ͧytV{"oN/1<s#v}q'B3ۥBZbk|*+|cNcsqwɦV7*dn$wٜBk~5[c$1e'is{zxwh4nԻs*~]¶FWD1ө2hƝ lV(%ֹu;ͺ)Jɕ=xhA:?-jXW;;ɚ[o$,v8m6gedk@ȺTB $7XkReaT DIGǟĢIxIBΨl юKv㕙h062ڸ*0!Oם1)'3Pҿn1 dzi2B|E-9ѣk%eE%"`*%хtCl UC"ga8 57ރAZ k³g^Bjd+$`xdr(x$)R9^zWƿy3nP3;%{?ʩX!Cux̼,A/-a` %chiN뱰 mׁQLF;a@Kt:3DZ2iZ*lj2֪Q$ W؁CaO4bǑr2ujq["?|CW_ZNp8d=zrq 3.XQS6Y^Ya(3{Tӧ|{8,!_ (=#{{ѻ X*1qeIy<3(i+dͻ&%JW 9boH[Z|3N2U'z|Z_xYh؎ uʨɇ0#1-%D?eGqɏ>ln(T@wڙ3u̗I3{o 137'tX^jM`ZRc|dX0 1Ix,(33n 4롧$hѓ":,~ہ{a4wgmަ8̇@/_]LMN:u|SrY쬪,zSiӃia~fڎiM\[ +s~2oHIIeSt7BQ↺Hafn엡 =U q̲ '/>? 9;(E܊,he=wig~bފߒNQ2#=k7  WØIiH5S~HͶ\KXsFܞ#vKr*Z`>+4W?2wx=#SZi =CI0A?S3"hORj}V):c4qFC0IS6!ЖVװo~0ݏboC!˿XW56`M3e4 ,Ւg8ֲ@%gg(Ux>p]GH)bN+Nd!2zֈ $f9t"}gSǶ~M}=!=;0 z=qxT$Y usD `rH嚺83P{vJՈRpėqYscc{} i>$ۜ(ٔ{;vE ?ߡPS$h~H(}əR!i/cg~Ee]YE@n%6)becT;y7dܪgf0<">Bbl$EtI.GϬ؂SF<,7QTE}Cc )#%;wTfyr}D NX ٹJ=+ƹU?#JQI]ls$[SvW`$n@gP2k-qQ*RYD(D4#ns:jч3Z2H5FٳYBq|A/=8YGk 2o $}L ]' 'ork]cRJ0}/; h8"'eW&Qe݀x> 'zV= jF<[. J$:JM]Jag4-f1 HFS˦KڊU@5ONUWU c qy'Y[9xg?gggWWW6Z[[fwvvwVrqlÎvV1\{zzig좨rFhNZw u;R ߔ-,]TT%&9hA9]w ѽE) jz!Ti=G91h=Qeyi ;XԙwgCVۇT-snaLc饋M=p!Sٌ1u&y͈EOcs{'em"q(]y3[mI\.ᰁ՜q>MM'<7iB'ͽ;Bua!Ebx:_=^^p@@HDBE`ᠠH1 8lH ) G"\( BNjN Rfa1y FGRwiQs{րdmW缯7\%89S p? 䑴 8)jp~з>ёP1J`E,Le\>.4 XLL/(tQlhlDNhN*;=^l ڭEpπ ^υjԗ݅P:][^+'`bޠa%eߓ1Zӽ</GC@_)!`ĤGH?)9Ҟ3U뿹8y~`M)'?VR/](OJlr2,~QKxEU =@9Hڐ@#WW@ݳje4u"1G|14ܞ VM}=#WWD((hh<]i!!6kmmeb\r@7似Gh<.444.?x4{㥤h7L `}||"A(!B222aL3KK99Qg̸`tD: $DZQqH#o;,+Xϰ|`m>CEh;y]]o/ZQi6tL7UU333t/-OOC'*:aW$c1pӒCGd&9L8{'\w]MEg_~e%FnVK|d^= 0kHz&HL񫭥#fHV[,XuowxT0] m\a%] KDH[~$:\ _XBuGSo+BP Ot錔9hD{!1{l}. "wXth*³꒼-é9h玭\i݀)=J[-gq3؝/l}Se:)p;ӿG~ Zݎ7?Ff!]8WG.s0(آQ3>#Kr7)Upk8ڐ/, ^6z5_ە*\Gţkdhvn1R ٴk%֤݃4^H܅R&p,[>H nFh$'Kt>334~;[SH»9[LpU}q ^۱zS4do~'s_hn"0%T5aj267'6wISF]0}Q8EHCߨ Nm0qteaK:F+yr-\F,ڳ;k4NHز{LNOBDW~@CB_Mxr.+\l3"J/1WOfFm 0hEEj78XXYJ`6YR.Qes_UUW˓kyeeeq:oO8SNBo618,j}X9|k'_<DX&Gghs Q XAA ѩKKa]}pU̫iD KBQ\}sEg;cCG1$szx7J2= xʍ̂hC#P[Va'Ǹj"ck]lgQA9ز}Zfԁ!!ȩ+'iozL:A{]-iO/0 T6 \f }CUH<~pL,V֖ʺ_.'zIZD*3>fJ旌#p(T<440nH*gPQQĮbXbNVX Y~ߐhNHL 1.d\U$(~=teeagk48dI"|E-|kC#y \) XcSKN<pp%Wϟ_?~+2+y~?~+Wϯ_?T o\ZZZQSSܼwvvvsuE%uqz!nee0XcG6wqtڑ+ySٵ͓o돏٣:S[MýGlbe֫־Ӿfx3{,ƏFӹ&ӫu'iuLѺ D0`ҁ ن%B՝ f(u/þoMk S uN=#;W#g1F߾lcXDo-;˕,aF٦pQUl W%NOl m!s-Pzuٵ]rUR>Oҷu 9aGOҪVrB> ' J #›H[F%G:>1XZ4M%5t!FoZ랫5Hdc{q35kenX*2:@h @.d"A '峐 , Q)L7EK*Ru* C-Q"q$輊jGF' FCa\ DYI}@]a栮wތ{) .72LN)'l0DJƏM%}VVexrlX;aeI5L~ky.tXHj}/}ϟr.!1v"MlNJTXP=k4cvg/N&69 e*kZG=q\Z)Ө'3vyQp-lu;KQ3,CЉiq_Ox] gOE7}hrg͂-2t]-65qY6.JY|&mj7 L}]KXӮ|7Ŕq6 -+_F]R,,~B GH|::ݨbis)خUB(X򘊏2P`⣐`d/TV -flߴᚌw^vP+/ͰX1iG6ȦBmEM<;@CqTh\y JUf9 j#>LхY.QWo }]0wlk-_t6nw!H UmF/)Y J/Α%!9ʫ+Mq&W଻:c tC!!8){%^(*i!a MMO6aQoUѡCP"|(u΋btԴ $ FQY 20l0- TP^^<ͅ*#vHa<$Kl'@?vWO|"SKhwҽԺ;x˝4w74ܒd3HWn2!H#(`eiQ7W vOXFovjS -]'uqK Z%1M2]RFҐog@5 yC,{7LUpc<1uװ w48$`AOu qMFlZ+_.IÂT%,[iœ)Om,3ᜬN_]Z npx wb]IjOh?*t5~ <-(Oܮҍt?0یVZ2R/SsX;ÿ~ }WGa #0id-{R}9DwIFz'J+?&'gb[Y mG䆇77V774yJ XRCuĎO*tVir' Ch ggz;4 h0Cf(3B꺼_0dD4%zk:dng~RxÛbcIFSm+ .H q~ͮLyǰAh{c4ǼO0k~|%#8^)UthNowQ?b_>>x~A~< ZB}Hpq82}(bz"ccUTTتXDnXF8* "",AWȣ8,\0K|(_ $ĔCdca2,DW{CUl `)3$yF $n {_nw7ߟ8ȮJܷ6<$;.>L/IT4*&uBbj,cRNPj {hٓ[cJnI.hqn`gkSjDqka}aȗpX#ӟ)^NݝyCs%'M~NJAՂ†#ȶ83czƩIƤ>5-➀^wL} ֎Xg (7UυuuR7rra5 uqkŽ{۫gvQ!Ɣgr{^;^Uwb imzNZO΅P4қ0 Cy)LM vB͟F`)R)dkdFp%Z`Xw$=v=Njd191/s4ςv3qhUh*0>W]ZVy^\6(B!Yz(""-~)X<)tZ(V3.e=!x|.ZEZOଋ2nkr(trXJPhJq2ӷ,M3 sX"`z6o ۦHkG];ׂt&p:ɱmߟrO!s<(؅zKX"i`4kz`azEBQ)(8VpUI ɬk r*}XO ,*b*-EYYY163c|YL\nĜx8?za̾Ii}IE9=7WQ\t||?6&klL[%y}TC`FISQplT-iddPPPLz`#_Ć<8=p_1^Ym V!w|zz5))i",fK#Z[#]{.JS|̮og`pyEZF陙RQ$אZHYΩBM(Cg׎i?l7B7*C(Ty3; ꖶpdt,bcH`ΐjU O+DSovhtirR[@8֙RI@+N:K^Ve!  Q]*y`K%`c_e)v+VE_Iu 3tk`=a)%*t(kh'3ٌ×T &aZRL1t7zax3??WWWwvv6{zzvONN۪K/NVݓ"k &[[[gV ~L*,3_޲og8E%}c[#Sio(m r+e bs? 0R$u$(o1&SlZjT e[%+w=^~uIxQPg~C;^$@ZIRmEՀέ+dSZ S.hH!mjblۙ+Y/.ieJA+v‹meUܘX16o|dVtH@w&wGj*wAJnvc}F٫RȊb]@VBA ҕBU}'ZQeÈ0;\)> 4q&U5uDE&_0 !oSCq~P% be ^IrZ4K`Bƽr6RuLO l8yF*|qd(?]t4:X{eH䧋@8MbG(286y! HH+9_J.^?$z^ +$>vx?srgS IJ&~n!%UYuI߳hs+O%k576y()y^@bbW!! Ά΍W?ao=KN53A>NBZCAZr)SG!dºØy]z}ȷVm#еE{9,aIEܸac.p ݥkL):NYvt\9|QQPB%ؠ샛sX/`4o`1;Nﱝl?2oc0>U]!=5i/ n.C/Ppi(c#q"3̀*%k fV$ow,&;-b+™sb5Z%{f薎0{Kdwu g2B# +o~ˋɂyrHX/s 6/!BV+RRow!1|% #ƖS߶smQvrI|$':ΚgS5f|e]mZih$XE-rлA<1kw8P=dzP9Q\K٫EFfD4[f~O]|>z/?l)T^7#u4R<ݾખyx(RJf܄33Fd/0Ι,?1IfQ0.jN~w1YdXԟG_?g?[[[ٙӅ 0+gثhR"\:6ZݹV=oC;u^ðBv2N7_^$~GM@ܹp3rm'ld"i;[|r\8HeBlx,nj^Ti!aNzNnc^GnN&DZ2qQwAN߽7ߦDPB0Oc0!}k:~g<)}}($ɂ"hii#1013(ysr#1)idrE0ż%zQQ{9Q7lnH`O`H`/qw}PlH B@R!ejY N. Տ')B/ž%ወF" .Y'hP1+\W?Kӷs}widhmabI4HBJ΃UuC,kj O=C$g-ѯcn[)!fy_5kk$[Tm*?/?U..Yt t@mڳ% 7`|>]EH([muKn?71͇{<,o7>ErD,;V[{Lؤq?Y޾~*9PI+"^lp-9 ްi؜P4bqU^c=:)@ bO(AT,& -/ƏS6_;/{vzB,i:g`1ruIn$`:n^W(ݛ^h{R O ZP¹eT.z-0,s AASps/t`ddcmCdÅ dN?OUEn_%V'u/b' )Z/yzhg)*q{ol@'(~=;w()6K}ߏ ?֛ 8 } QgG!V@':Fޱ|}w-) l 4<֪xp$>]^ &C{3=Տ̘9Gz h@mԺ =>)ZmOb.7 _A1~* yFM0xM1t~(s:7B ~Ixǵz jgRFK6$ Tm>PV'|jqR7䦥i>LƥZ/+ z@z$ T!Jլ1\ZU6ͬBW#vy%MRk 2,PCͳ5n O;Hх,E /׾̨~)~530_Ʌ-AcxB%,8/[Z- ֫˸J+)`=֝ftC[#_ݑr ` C McOejN:`GF ;_GS9oL}:^=ه}|C$Z3ßɮ0ҘIjXV$cA_]$ՁĞcZZqFz2\|t)IHuz#ܲ8Ąt T pAƇ/ީ3>N4['>CJڠ \}* *_vUc%8~? znn+`j}uw%<@x c62s`xx,>"n*~wz o6]c3~yYM4r^hдEY.)KFHj$MQLKqC u2M1G*0.5̑Ex)%GR߾WQ=q%b-se&C*'Gw}v20WfAGQPX8CcQ0tS*]DڦBc)4 !jsM:\։D@&CöOM\_cK F>g?fBF^ÿsÉOK5%2aPUmQ}.|8Z* 3p.L h./psve _{tsz; l\9CiD$\3,Hv\Fu FgeB@LG.XqGds㰓Ec!wQPE"6:i 'p%)Ԓ^ lZ%@Т Vv@(8>z8`@/.Y=kB0 7•~.rz0D'$qZ3שО^b!QPP~/;; !t([. HT=ۧ io&4\({X;G%O_O?Af$}ߟZ =(tU٨)/= ,gń!ȴ f|IcJir J ݜ%][UJj΁pɶ aV$ilh]]a-׊t& {|2q+Q|#z(B?v98:NLME{sCn%o )ZW '" /Rt{ V&.RNN wp#5qKܽkfEÂ!`tdC-R=Qx|}^@n3:܅X&”2>Q vBo$1iId>[uIDă}MR' y|}˜8_oMFEEov؂n{yY>U>`[3BH|Yc]/78R^oނXrź3/㍝df~oU;`ĸyzc/C@~]kit$?H stH`$R< Ƈb;P T< {"_׋[]Bs]yMfffSܶ4ݻ/%:>oEA$؇BD5v2?҆Vc j\+YB1`6P GR$$̚U>}$s">Y"`e;A zrC`L 8EMc>ik sWnQqm!Cd7=JItV=(TBzcܧ}b#\٭b9|]G\@xyز2g6‘"dT9C )`,ܨW:MAeN  ߤR#^TyN5葳rr!VK1-4]}x*BIt9-(V)u˰:.4ύ bXOx2εN>H"ڳ[R7.U߽UUWd4@f$)TBՕ|E}Z܅mN|Z?w/,b؝@"%M&"c0c&8UmySn)}INe 7  NTq,h2,d}G<A]"Z<:<ȲV,O!z>%M'H7-1'۫VAJ,E;\ϵb0KE'h0{:1"ܰg+ ˳ 5(Y㖖D6i!;k(yqDVϵ~i0w[+ܢ y3/K:^% )MX8m@te-qBxX<% QDYVۡDcĕc$K!z Q2+bPƼ4ӊ#򱫑.neV[]yw!%n:S\͑TV^~0/]V Dt;2N)V_h\'z3UXژ4SxpfenΟF=vwcTY~!(1FWS>ghkA~ш Xt0ƹn~:6q徛ɢ-Hͭյn-6%fz2Wz7|yfn~ws~*f1 ݟ}y ll"H*CQBˏꥱ^i0׍|-m7sޜd+wuu~&lX;e%3aT}mgO3 gmha[?;qߟNOO///{zz~:<<\ZZZ[[n^53_ :ZZ yEG=?bp'J!HԈn*rhx/ gyJp1|I\|F;E3=L&|çl;?YzXsd2A4p7u@pRu}%~G/J7XSJS  g꿏OcWϟQwz(< ?'277$Kwww$connZZZ666677Dѓ?889:::99yW_~t]]x? j"R j!݃0fO/e5i[ZuQ'76)2.Ecb!/<@[Lx+>w"bdWv~Dx[yaoȡh.h^o4Vc<^/Wru{ڋu;fwrF|kuw&0v~^9~?߯g' Iw$Ў;Y`zg5XS}㞱ocC<@7|C:o<-[8S|_y\K Sn|9d*%;adIwKOFEEKO'qzz `'$/;Ts.11qb*kf~\\\`z57߾]]1C׶vK7iV7k>>'{qK#'uzƜE! C[Ǒdk%.1333b% m XTbffYeee[ܞ흹zzw}tUdfdf9q'M{V}o*ziUo[Xq%.l2vl\}>u‹m=CXcbYaRRɡrrS3?8B(ޅbn~&&&0F>777wOBBB"""bbb3>SpBRtFVuEWsx[/H_GZdz8zHT+E}ЌoKhOK6;WyfgtP 0|Xw1t1qqX )'O 95\ZZZ~I`ǹBsAwpt||z96)Ql,+FO0y3y,q2gIʽlhAqᮢW²`|01#eȨ0z t%KSݾ:M'$ NsSקHξpAAЮ<~ IⰐevD(EY6a&})$P;m2m:yv$xj_5 ~cnn"}HJc~L$s, \RH3څ;a k@ٴ(i]+Ku,9~ ^u3"t`LF!u+Qw1Rx$9adbbOC+% +2, . ~$"olKf晪p<0ΣnR:c.cqnYd%S9S~`EZ cZDQax֩EqV*۬ J̆SYw~l8oc*>7jպq4NpE5ͩf5~,aQPQ*wr֨EW2t[:4cUS3mTʑZVfǷ?}13@C<0"_'O1*I/];) P!'P ԟY  ۋՁA:6L@A8(&FR^w+wXH) s rjd!a)qDE0`M AcQ-@:R0. K:s &4p2$ h}tܒ*9}A2:+lwhJ{MI'HhrH ?3w9~ +u AD*4򥤿QN?y:8}-r7Z[`Tw/oekΨlgHgn(Mw^OOkX{JcpA:|η$ezvX{)zX\o[+MhE[JK|{ڗ΅H >8tIgh^D(D'N ]n7|a=qo濾Sʽm6c#4,Qd3}4ߔW9N >*s{NHp%wCvG^\L1 %;Dh#zKUkMw2j ,ȡ`F*w@r;d8E hL|! ,d;뒌mȭo)_S緽&aGCvK:H+E7(ټ 2Mqw}uMHDMm ]\DcEj@"jr}GPxO2P_/-g`x?:}|v+-Ukwdx56 9U#gd ?ӞȠa dxגHqx/(-A%E`ȭ#Qab:oM%n)HQBW1:͠p5SpO1=\t!}XKo&<@E_uBC{Zlڣ@X|ca8d;c$)o_нw1!ʤD>^l;bq;7S9*^+2P`04#y& !y^ M.ٍ<.? Eh=ELnnCyk9a.*x[oAqXJXE\^$J"q }z]@ԓz# HLz^9C*RK=;Bٯ2TѻO78cO/&txF&:ly/ngaD,̕7RզdD?Ԙ ѷkO?keጌ.D9L:!L)Dְ_OAC\j.}`?BiFgD^%QOؒg=Kͅh]<=jR19DW=cC04Fh̅Zum+I{[b . M7DP l.N1T*Z׭ScM fvMC lb5MYfU :uf.Ք;tieI+SeݸH,d\¯_]$ tXda sB y`FBn,#ݱvyhqm rd 6Ctj77rVһb:3JE5r8hqA214˩bؒG@*IRJl,,-p>+eL$1 8tU"|i#CJJ3+tc_VMpDܲL̋nzIJ`e9>*}hE}8,"yA!r k ̲9Lڅ7j?q*5!ѽ`ˋS_67>Z8jȯF2Hݾ~*: G88vސy@e[QD# MP?/~_/ƿesAs+K/K۟?_ccc 헗[` n'Tw{b: EiUݕ/%WTTv'Wg ,mdLlbrZh|+:WНs[> /+xG[{w X? vD AD6dRv6gi;(PB~ NePUfREBC}NOE"IQpPi`m&/ $23 2V};yrhn21Ý+HiTX`Żw뙰]]PxЅ_!ՔS| Co^/'ޟ?ǯ .o*$kb 2kvz51lXWl'_̛:Y;3G$H7WpdZ䓑INkmJbBٵ\żl^{/pvCݝDžС݆3I`OpOO4l6>9rջ. /%ߑqL`)z{Nj΄%z&c'jɝ@n').WwhڱI\ZRUPG+7CkN}!߸)|3Wm9:TN>D,1+FěG#m#1BfE>+V>R3rq/"e﨩3c =} ¬S=9.w=牁As> ^, dc¹:~S݅tʌ '#rE+rAS{[5d>4f/!ҽC 1xM`~Px6^|G|jٮY֯*#,s*r(rV':mMBSڶڵi\uKsU:a:qǶmQMWT:3#{J vMyl~]V6YTVoPsv#+$*+:WB{vB} beFEKk+5AAcgm  oF' ?68N\y-m m/eiyC*Jܬ3yyIYAi>q?|k T1 o]޼1:D fp Klih.:]iOzᥳs?|b0I777Ze l--qYش̉\aW+*F0o|8_â4[1\TQ]`b  W%f6tF&3=tL;} v2֌WGx>Yo Zi,--d0^xy74ߴ.-~f3D;hGJKKs:Y`w@p-HȐ z$2FFyO%K/!IT1ˊ+*OqY@抖R!fQ>/d.0V!8};[Iu3),i^PLu@{P+"W 8#޹%k;j(&nD%pY ܂ObNT4BY{H(]? rmg:MGĤ9C룰T՘a UwqEt O Yli`A>uT~{$"S108%4$'aBsUuuKWwZ.>UR~dlm%ێin6D+*jÊׇOɔϣR+̩mKjREU__l1Xv='mbkz|;e\DkE  a)@? 5T8gQ҇TEFR4YA,<dz&-G@RoP| Y555sCǕK{F6;SbppJ+4 mmQL0zZkɇSAnRz=)HJ[K.'1jsOmo}jqt_VеD5-51jcw5Eϴ 2Op$V4]tpE$x;n2pĆㅗPc堍g Q]s.탯&;Gsss^@O`i700pz|ЩѨ&_A\XX|do"P$H'n*(\rճ"D #IӃwnza LXYKҰ+wD,uwq*4-wPx{P9Б3wS\ƳtXrι>]mELIz9f`P~}Zͫ-(KPk`GP2~ Bz\sc*u$=QbqS/&'w>A9ѹ_U9U챥5 l ƄO$SL F,œ<~v }CI ";fUZYŠ_R9GqE/ZD;qjG=; YWy5moX$ոT&C-]8[j8ysfӳRGvxaU#ń➮탄s5W\,,*jߺr x70>9x-,Q6N9uvTԹ'yXHqrrfXZ_KHEh=1ȧ}f2YUr}WӨI8oiS7eOZ$<HxH5xb!"+ Ȭ%tx6sxv.3L>.h2P:~/<W. 7VA%-|5DB'Go fGd#䬿csRAy>u&& "D'wA O߮--cȂVX֝"MO"CS/ tW'14&+ f0Fe@ñ: A @T?z?.ߏsWm,]FcxpYyN $'Uh;FI@yFT<`B9yBjw )}& xmug'c Qb?L|>o:/qG:x6^kt4Ok]%{㮴Ռ<зUɲ"])k:߰0 {#+k( N*>`DI-~]f®`M4%2&f׃L4GZAY N_&^cGAG(.վWIZx£ٞ'PQqu-^OO }YԜTMZY)5بgzنW1*Px~|dTjG f[$CWv1&~H\BR0Bj(~iL:eey|epW[RQQ$zԜD{4yo>RXGjP*~=fl/jg;[ iSTPEsП.z$U`X}}oW;YJ~@gï5IÉc)rdd a0^5 h63d͋e勶dzl>04>ZJ;dzE }e\6LZ pˍ|qQ+ܖ2 8®~m20 نt OB>0~%T] p# x eKHzi'&tJh5.ѷG)pBw߱፼3'wncEq7k=q:FWF E8UF+*[֡dKyYA. zD'qia \]ًG C쎄)&\,cD܀{=B_y܆|U;a3$;ٕZ~XeR/f?n:V;Uf&m'%g{8½6^f{IGUP@|8l^=5OH4H؜ )E2%9)A Qm,I8hbxD3=Z@#!/nz6\$΋%}ҘX^$HԠ`N4+ *}4K"Լt,W' l)o+iw`tQn#]cݱ)l=liՁO c̳ARPV!Ye9Re%v3s*8*yx|Qz¶#OokD|1$3HTacg.|fIIO^Z8l^cSzۦNd=~Lo& M%`>;O#?r__ 1a~q -4"pw~t@WtQxEPQ }$m4EVK?P^UUUnD_~Ix$LTpuP'(tr<+;)* Ul\'''ggg?͂3!1D߲w;{ /n&g1o"߲v%O)2Gbڰum%n~x _Zo{bwFCΡ|@F%r|e|"e7EW#ؾz*Dm]ThQ B|a2] 8!#1"ϴ @u#D"0ĹP"i%RCfʦбН Ii QMIW! ҏ3I|J:tZFͷG2dS $U'vgLE>~Z[+(҈ij/Hɏp7쿓ɟcd9_v_/?USSzzz tvRΫ־t}|W:y/>ޞ|lugxw0qʜZg`S}Pww!_Ukݹ>ޑ$y5p[Wl/qP7EI'bQ_We/&?咬mlWuzyܷq]-]m8;:H޿zlpF=)d_<s!GU^aqmLLLoCi"H$'=ȗ׶Àߗ+K[`srr nES{=|:;/Rw  P0Q1Y10^+bK3[psPL"<4HpѻtX]4y_BѪ11!J=sA$ RԣD@fW"Y2#,C*擕$RC&D?caPHHE4=`@}ܸ,cG5*~Pj0ltNd6j  iu? @TX#Zc*^*(d݈!us2V X mIXkn8lGDK4jJ"@_Ŀm ?ni~TxE먅bלR*h}IXw)|w+ESSENRjBNwv4,qAoS݈`ͱB]fӓ[ų;!Q|'vxȠB^PCSym59@"Zǯߚ/=og鬧k?3*2 ݵ߽%Ց׻蔔.f3%ms'>Y=tAjGvTr!EX# ikXˉ1S)ԁOx%$uɖY5*z^'# ~"1ۀ+Rz9L"F{<\hJ0)W a'y\Tz4|r& p,ʳl_;mu:J_C5a^)}h&cO&bJBv@(gI'WOS|i¡ڨW`+el> 1XFE;ߙ zrArf(Aխ8gJP!mʷ_=z'HIc^SQSo|7%9wɒ֔bܹ MFήU k GMM~|=.)}d=HYǸZ61$RV_'֢T5%w gq`^5ەNIhj"Hq)oMmb~Ճck)+vN jPv,=GZMO;A (t!½j=+zdϞޝKʆMU*˞#K/b\={zBόUkHm9i2$00yB'UuUi bH sSӴPV&9FO{[W/ο8/#~ɲ[Sn~»kҏ%KDd|VeyEl%|rA-Ocls,U3/R u/X6~^&ךi+ C՝|%%%|߽vt"3ѭX EmuK?-m`f  !=GYc IECCZ{x{63ˣXhJ9 궼=.o> =zA"nw0BIAiii. !ueB"}*06 _R:t qwxwhHOHh]k#=&ԍ2CL~<ӥTv"k͡`~{sݣSRW"[{ &+qo6V'ߍ}f 5H9Ų }b]HVqrm{=B[)AZ7PQbJ3jVst i0 43w'ORX^ ruK%}1+RmzwixoDDD_V<2瑕r0 kE'kt|+B 7;wHHr muJu)'yK n5(]k`!Wi':)K_qhI}ߞT[nS:֏ca1<a VMM󤈜%S*?N|=g|-,,|A-ReD?g儸cӻLrMq~Ν7ϐ8(.pmllV`$ydbBtr>wu ;iOX-`_UHu jHhϢJRuss O)e0oQj oc/G·p;/N0!waRe.@psvȑ2_GuZ=J`100_ Vx)W3{Mg)~C) [:_o=_ H5ښ~>TX#CL1AL6;(VwA*2)qZ,J)#a˷,(:+ß ,(RԌڽON X /֨<:3{"N%% SIşyxpq;jb`}ix&|A@K&G*irΑgQ8K==>[E M*%%%}&wEV(yP6{8HֳNުT3Ʉg;V4)Dp01{U84M_F]?[1>O^Ƒ\V7<77EX)l꠳n^haIӈ+K.nxUZ:>hW0R͒$g>aGMz59z7TzTNR,B<֢b<[QBa:Kc1`(Cvk(4 OA$|^[r BPh{h툶1ݧ{/iHP,NIz$g?B0o?*4Lխ, 9(vtU*Qq rS*yɀ($R1n#2IiZ0i9KW/"Yg^e8o=zo6fz7Sdp| |u'{{I ͛rHRR!^|Me#qOqCԺ)N=ķO8ĶG6۔+=1 ]%‰_>Y_:yʝD5J_&MN xSSM w7N3N0X;0 -džzB̼c#zrGwHyP罅|{ I)3tTɋ)WU$sKx (M2TtOC9[ξtg u= Jg6|̭+Z-HUZ70W_oU6tD_8rSҒ%bWXfj9tGxvO-lfI͹!5~^>( ٲ^p+ӡH:ՇtYYuq^{bb+8]ŠD|1ѓy$^du\Ywpum e!U1+)rR6i7Hq}V|mj6R*[MDS1L*A"߇pj5҂htױ*bn4n3W$vfThY0m)+.}i (M@P14Kh%Jr׹Q4}uqʿ󧪦L=\fK6\8QBEͷ]mt8fˮ4>뽱-~Ze;w-_^+_ tgs1X? ح1nJXURZvMAo%>. Fó͑#G&&f>kRb)iQh.f@"6ALq$dnooosYGIsMAg^$>RX~Mi:k$oXYT>5A$% m3OQWa~`PwPfoos$z"t"P~zi@  L^J2`D﫫Vҋ7s4_D}Chՙ!]-#-$Hm OYV-9Q_59SFńcrK0QtR)5= Kt2+*ns33599SOK{GN_qrr,iq; 3Mnys"9te!CFY1A8)nzIXXhG#ާPu8b&:ufa@rF J.;coWXt7$%I2:(&Çng":W5T44j66}x7h>\PeKI7ަQMC q]*7ܭE D@Ю6k"t+f]ÿnnjR(s4n|u-Z5\>81eˣjkk)=Fi!+\ϩY9|٥,ɐ,:匂t1m8~gg/ڼJMr ht+٫#&+ehR;s7fzN΂2LGGKYs8=u85448rrrZ3IHH2%$1)PE kVTTli?(((`3̙FJOx)C>Ջ-Lt{y]uww7&!Hc'@@ fBGNJbN# ! M d @F/`/ê#fMe ECga`dA]\$ga$bB|Rj2 ᳸E'ʅ .7|7*)E&j7 h +%b T%P< F&⬚/E.)I%t8T_ ʰ7X~gTg1[xw$K6zYJH3, B61=$įΞU?s?6Z/#_LL l1eee뤪}+}a^R@@@PPPXX|vqqq)))888`v$Z#''%""bƍkmmn&ECJJ*$$D@@@NMAAAI  ) ---4===##" 2؁[./;;;>> QI;88zxxEGG0$%%jRi(_fkjU\V|qӧE"CȘؔԜ̂솫8j9뜸6k.Ho8=Oϧɿ:77d ]]a4+B!B'09wxlk%_?P8bkQאPE.'9J~=ѵ}֗oQ -gDϗ/^ ~v$?\P%2h>Ը"ѭa[' .`&mУo}6'_[ݦI' ]vBOq l8f4*ᬗ$F*lL=DgXk3B{ᰥ!ٰdEބ]*2,A,UùQ"cτc_垞S훨ᡌ XVMww755Xڂ䤪W߽{ggg`r||W|&ww}200:nu7o؀˗/ ,m233uttӧO777`077`Vpnnn`222r{{{ww[믶θ <<<{||466&!!;`;;;z5X}Noo/XeeeXЁE.XQQQ,X-~үLLL"n{{_H0-\o(<9$ʝ-moC ,TvrB]Z7$N"QB^ehoP?S{h@g"ajm*@u –Ϭ,oOlCc`BtgcmU{>L=:F(-#| 6p F8j+KģT=|1ײK{̥}SFL׻}n8Tfo1%3ݺ^}Ԗk\1u=^|U; TD\E}V1V t,:J*EfylZn6){`x" -F*hղ,]KTCC[.׾a;BM EwVOI=X~dT珕Y`Qת('K8#*[.>GS4@(}}>Bh ޘ"B{nVXM B pott^Q=2ۢÇ02;|q}9cBd_dppR;PGCZ}wP a0: Kd.0I&ZKcAʄ*煱{7;goԂ Qe1I?H#"'VUVSY|?4Mq 6 QwqRB3SY޼xfP[n2G>ylBafK>J]u~5J=N)dn?29|U)aqoyn :LU]b#!C}9YJ̬zD@p;fKYRoԢ;32@a6Rjy= )|.~>yЂ@ Q]r.\ @|=6񽢶AaT2x A4sO_W_&-?V;s0 5556V~0ӆ%r0O=̵y;V.:{vNQZj66zƜ(+gZd^P@fUbb}-H9cL`쓁N<7݌>=CBѵ24%eQ3GltteE9ot .^(DӘsP&KjɜQ ,)>ɕgKOgx&ȨКϋ5lO |ĺ$i9}7niH@3F6*aR匁Tͫv!Y_JR&jԤ UQ4T.ey.фxޔ(ѷ.t < NUMl;%[6a7(`ucW#tS*Q(M oN%-bW)9&܁f;m)m\}Y*xySʒ29MQ"CfmX%ւ1>n5™DLZ펊Y% h/@$B!ȄVowaCd@@˨v`mI E(_ytuݍ§d !p~?uuv,qH?&:HEjP G<H4 ܰt`ZOƁ} $ek $ DBc xkA2ؿ;6 ˝3xI83@x\=re8CED¥""zKϕ8"(ʵԧ @KO pغ@<€gfۂ ,`M(07BaMy@!`I2금3|D?ڠRع챯GԎ.ݸԹ波8@ 54 %f*($P`~-a'' 6BvA ٤v 0 [ {Sp}x8a;r' J-;ABlqwjc#d/_Oܜ6Y;c#A) <}.큌nR,1J7o>#hzMyߩ"85`3˯5o,#[1|^$9ђzz6<מG)ٵ,bnn---x3~۽!&-o_@V j* '2Zݪ*Y?YLI,5X6ڮҐd9)Zni E ~`h9@g B0@0ჹeLzD4>o2(lkљ8ap>x #سٰ]w_(ԜCtuz{gXx `= pslIy)mc3QՓ<)s]j2>[ɗ &c$PB5BW@Nx*d}@qX ִ'o+Z?ݟ}UJeI6ڰ*>G۰A| \;yu?+XghOPx&oS,^J5n:Uk8ʎ镚ưTLDe^MȡmǍ~_nޯ|DBo]`(AՉ^:;,Fԧ9۱ڵߋxR% B(b'q0<i{6GKFan/ȣw1cjXW$Jc*m #oI 8ӵs{ R b \INyRlXʆJ` ݣVtK%8n^ETr-9o-+P3)|A[hTrd|_fQ~.^ހB =TqȐFH}E7?[ $sFq=0RL^(v1~Uh-|>}u+|^"Kr^<-R R/ULNCh*b0TgI^X͟8K" v}4muJHLG4 VR"2V_UȑFjNT.u <z$ А0.J lZtkڼȁJ}^юbt~PkS,5R2 " Ô)1q7"/EBЯU_GxЂ.2#.׵%^\:a\qz"GXNH+Ո 1 Mk gRuq\A&blH0oAv'baPV: }JL?.ÉHk !j-~vSŒ. A v{P\>JY-Eb@kMiG=0LJkhHH%ĻẀC?4%MbY ig(o QtI=#t *rB;sNU LW=g CM( Яky]xݾĜ_C6 sP AHY/| ^b #ҙ-RӼd}h_hQkJ~jC!(1dTnEW "ː /35d33>(l_UDR: C]tY=P *cIBRZ"t}/Ȧ'u@ڤl g`"{j.Zt R2W=Duw@IQcSNPo{E(^}X30G]SJMŠM 1y/)yUm5@Hu xh:FtYk/1h d%["fA?hkK塈#n3,zVuqPYFkƘ/RL&X.d.$DLj0Tڲ%wBXFa(bh\bsVAM|֡`g2g7|ptۿ@ &JrK Uc/7=(׶\rD?ʦ.-WQZPVE4$`O͓+UwFz †;sw9%{mF0en} TO$CfKzכply=ig&+oxٽկ;"?ytB/`[_縘A dJc$#7P3d\yuN'yu-OKvw +^Р)"4>-LE}mjⲡXCWvZ?HTqы9!a؄PBpN1DWR;݁@Y zTGNJ;g\0W4:>fQ:{QIrAlBqE5tmIaBHR]|>'m!?&)٦>䥂$^7vz Z2c9b .ofps8g z% KY2$T+FҩA#lP7 &፧yxe&__/C/7U5w(6Ǹ}作#|LMiPv|nPzDer͉KyHJBKj VUglBiv*RcH!Pb筃vְ#Uᔓq['sÕU#)]Vk5\9 IA%@CŅBJOFHA GGLAHFEW#(%YCA[,Ā<#$< O ؄@Ca I π0߾3 ]tQ1r8qAT\q$<HוJm.#u:\_XAϗڎ̵4:;QFdRdec?khdqƮ:ť!M$*.]=RL\q׷l8LM0Uk~9:j|%9:hCkg>1(WUpxټZ )]Eե[)]~OԗmAvz4 #gԶٳ׳UQ!&( gqnu2<Ǒjh=Ke9hx?)r-E-gX;0WZ&&IJjV=;¾"n U,b?U^awKfmUo]2|v{@a}7ma??gA\_rs1b59o;@g잧7Ds_q; #?m'X˛Ӊ_2b4$";{','\G~NO~sٜRɺ- ]\"n*@y`P23^,bun7 ڤm {^V]ŤV&q#r8dqbN%S.G3. jtc]Lc}62zuyqt)gi,w&wO3dC04zWВ V'kdSRmaa˩ӆjG ++SgjӢ9(88֬ Ζ0`$h?_tiˉyWS[g>ڋ#x2@?;A|:nc2 o4ݨQ |{):رrʬy;7ڀi+E^}eLE-zA^ϭXӴJ{,qC%M[F /t'>!E9ݳ}B{kAfI$4螲z yň3v+R.B3-z5a\F6AO^^O2S"2מO6҆w_Yl^y%J(ȶ6o:xe<(b/yOGFv.vFv&Z7G+566sWBCCC{{?ц1ߓR]QI<O1lHf`JГ@lhPAddYv.Zvtttuu-DOOOoo/f }֟?3G˃O >?sO[[[_\=~V;MMMͬ˒dyyyMMWIOMMM[WTT>)^~|-ۅ`fpի$;;*??lb6x}}߿kll_]EEEKKCiii^^ׯ_}VWW7::vCxG\$>@7AF#*/(8&9\ |wد~Fe; O{Y+/긒eEܻxRЫk䶘~547:1)7ed'5$.ɑi>Y6Rnpt+"?2*!-Ml:S^V4w/OhZ=.?AYH%i.[ Rk]o--ĊQIE-E Be  d `up2۔K#àzZRܮ[wIHhy$ݨK10gXl~y7 BZXyA 9UMѣlB1c$SZCt,ڱ@} rfVc7ž[ْ5FL-ju>sh1}-_ C^a> (o x>v-uv_YJ>E 59Ytne,IN*e##Cˑ}o5 q? 2PWS&XЇ=4@z_]_Ň*Pm8=9}`` (I&G!i,>ZK@B8sTZ!̥m3kdorP^Μܿ4Vp ؃ᘔ;Mi\EBXٸ0ZtW0;^A^ B : ٩kE񌼽 [`m;f|=\RUB jSX?/s\+뿃r |?T!u]_8ڿ<' + .9H]V=6U;8> dLj-' qC#Nn#LhFzR܅C&)fOQLfE|>10 >0?2}e::iBi;D'I*L)L)J#ZG2p˨oCzЖОؑ3iBz3ȻhM|K:K{,+ʺJg-kP4)$LAhh6n`DA6`i?n?XXo3V76c66bR}r}sAy8I8n88~99x^xYx<,"'/ -%#@YM] VI`!S)$҅$3*Y'!e`MGૠ7¿ BU"E [ZLUF>x/Ο-)z%48 ]ykО[+M!)fOKE(`,Ǘэ& q@ >Fg(ԯԐ?<% ċkT)ZBBr *JGeVHob4*䕬=1~:ƨs?*il3E4=^46#A8ܘ96ooLgKl-65qG|NLj:xuЊ$ X)_ U^w 3$,aLy{p-wҷgo =_&AWe@"\+:Ai4<IKD |o`5@uoM< "fB!{ߊtʴsa@,xԔh}}ΤE Tk<0]$PzOG׸;}H24-XhTEwhL@ ѷxY2c:b5ѐLZ&B*Thu)"{C WdMPL(ݯ'TMp <]Aed[M8tϯ^o<4=Z<1F F*&'-I˿wQ\_{>;˿Ἃۄ5<ف؄%&ڱU((("6533dz0Tk.`Xiin%7>Y_-v4N;6ޫ)X1g<(;ګ̦~=0n,~>5\YYѝa.4~c_˨,.“zs0z59]@ @@B@@„BAA'$AB%@@Ƅ!2B` Cŀ2!`sr"R`'a ƠĐc8Xt@B#&)>V5ofR;`$ &u}`  @#cM(a ӟaI"edbH SóDp|b(K+sbb|hyo $bGĿg?+N6Su2?sV_ lN[ k օ`Ey` ւ?~şJ? ,>n~hh215RSǝ7 P&&rɦ9Dzz% ='||?Ę(ʤδ6)X`]];4d`'TFQTT\Ka/skwzD[6  !EtMMM{}3Xs777+((,x n0A~$~??R(p͔<#܀;Rr%ń.sAa-+E]1E nq.~~[!uiNf1pߺ2y/S&BA!!b`3 ]]C3{'wOO؄Դ²ʚc3Kg׸81-K^U;3)^4ûsc$X4s5L]Wͩ}Sĵel(*jZHD69Kd(;%hd Z \ƊEO"k,)AB^URUs\n3:L 9<テ8\v+ĎBHi yȷ[IInpģ%j e?ɅԷlItHWw!q2aס %1z8 VU>!GF-ފ5j r&V<: -fO%u/6coͤy2Z+I1 ߥfzU9oPI*R1;wued)8Dcua|׆jL"F[cI^>soK>wJLOr 5}2i3[D4`ӛkx+D2J:J!ns;~+~Wu yhU$f0/l:oBwYJj+յ?pB4P#w,h_&i6;$Ly}2-N:t5E"=j5,8PxҼ_ #/vDu5!JObۘGaմU] *dޛ&@a! wEx>qøH|ݧq|;Ul䑡 &IqW:"%6{V̾9Beڒ^~O7ΦNNo(s1_fa|z GX&3bm!'Qd]&e]# Ħ޻j"OūRۣL zݸ٥Zf膷O 2oY  &|,߫HRI] Ecwvnm6.ˑ)Rz1j<(&)ݯRw,.\0;gZ=*S"y3>ӹ([E"[!aQC>aqVרᱧ*wTOqOYIucsE =fƵ4boµJ:=znv'EC/f+±X\ů Z \R2B3j#pQ?XeI뿷l2|n9ǏK%&LJeoDD{0qEBxץ.C%4r_b0MZ+>(B ݴ:)0 o: f<1ƚC^v'ΐ Ze:<%܊)}j Jdx1\J0ch%=9 V)9C C)dn% $W0T U@ 1Vv/R-#T=!ednb Z$Vo 1HE=!*7dx e/z0@@d$b2(Sq&BH?~گ~}% +2,1""H)i+Kfɒۨ 'Ӻc<*>v,-3bx1vEV2u3V ;FEd/x֩EqV*۬ Jscl |W?]c6ƮCxCVQ[AG[T؜jVr!Elůz'gJh@YtU,CC3V=e=`aTʑZVf_}_~aƉSJ "KNB$,$T AGa+EBjnA"!"!`u`P#w / v6W,h(@]F Ņsy=3V$vt #\C1?ܩhXJ"iQh( XSNT?̩  r6\G I!E&Z_lENS|C@5Gjϻu\I}݀P?ݩQ'o *HI/?zĈgK"4 dl%0#9yȑ3עa0چK2.O"_o|~}XOjBBٙ. D=Xd4Mh5_5!6-tqQMBlC=@E~\{AÏKyۭVݑx6V{ޮb=*H#GO{"-|]_K"iMr8 !DՋ뼅6 u G m^}`b6rL=lpmӅ%c-i}Vԙ e-kiaPY`dڎd:*}b@ẎP*KWxrNڳI\N,O`x@}TvЌ rz_s3Qx)$ 6C4f7D|ld(mL~T52bB 5SKNkOO[)pm"SnKq?bY<)彨^2W>k`KE,V PcD߮a<ȮE329|20Y~=b]p񪹬ma {D=bKϞ|,Y''7uhWJpWw#]hvWs ¤ӈY3"hׁrS& m-24ݰA8QP=h^.ߺOm?tluJ6r5 '6V4gU͂tTS{Vײ wwww xKpw !8+{nw>wb2fyլzk*.1h|!jkut3o(]ˆWg 1\VFI5WI;`:#^ٔb26I+[ %Xy%uC|;.GK4Mxźb%Gɉͺ[rJ{Zq =A|K)W4ʰ$e9:%zwMyȇY؄y.s@F8Is'1h')oƘ2H׬<{[PNwm:XboAΩ~bIGy?qmHz-8pv(I] qFrꥋ%?~_o?VP_2B0.APPsuno ։a'iDnE*5U b,C1CW E_NŞn;$M*;p˩m|e)j!#S=RRH'Yण "!“P׋=$GC79֬h͵Ddpu<]=Q0:4tmx4U\}**BF 1Ǜ_|}hh+q R±M~(rmeLGֳ/(v1}BQ7MAfH]⳨NsKL!툰T!CUǧblIw4.DN}X߬Te0nՕ D-&nK*ymip[quE\3ߪOpdQDsѹ4ge= ,p lLGɉQP3rcY%˸tA$ OZ93VCZ.}<{3'Th :+27cF۱Dk7!Qe֥&ndRX1k&a3}d*t<60QF99"":^M}q*$!Cb }R^=biroM͋8~];vz -*]]UyEh4y?'iGKi.}b4>g{ʠjη\A2E񝥥97|7Iεe0R6ߎ~-τ1&vHO6m쉼N44*8YB>'̳BS$b:ibCX S.r5fj#\;/ O~#B,  0Qbs 3 3gZoc.dᶛ5 :kx8EaǝUopfwvhĄH(?5Zj)lqCBǁp_R3"pgiOb79׷8hĽH(۱4|0*$77]OuqY&YҖ<$쉄'ZC 3#>ñ=(uf)dܼBɱ: }# >qd2A7oZlmA;mי::Bf4S1D>sp6-=]ht&wڎI{H֔? ]򹀼=/݆U]ZiZC1ܹ15y6B.\lIS#.lݳ(|ȡY#eKCp>̏)'i.z D$j>ZLde%tB&%ؐl q vmYì:0ЧyO#adxKyzfU%toY1RJ8_!woOiaa3ZHq8a-!mٳ[\xV9#}NjxhJ~yGNYGj=[A4m]vQrC,D E R^/9˙LqǩᾬΙ<\ߝ &+TpҬYS"bܻ}OXԘ fe ˟?;aPS9Íp-ޢ@JjK|_Ǧk0Mp&tT vjڙ@V0rű!5ܗ `ٳèY\!P5!9z{A? 5YQtCeO%}9 iwl_w՜/y$z\}KQٌ 4(?Q|k; рÊ5/Fj$|@$ dI`."x+ if:,Ik-@.ɰ}V]i]sia_LƯXDDn2D>M+??7 ?_q_444llleeeҼ;;;uuu---JJJ@'''xxxnnn333###adf} nhIZSjyX/ǯZ~qC6,5y\Q&sM=kl1q.q*|9#(,jY((çNJfɠ Y#|Ab~w((ȌH(CjkJhnAmiBX\Z^D6݃FFG:;>Co2~+('o[[b9"9"﯀eΡ7KY.ZƫVL4Hc݅Pvk vyo? l0H4JbiA';ڕI4}TˆPͪW2 >pT V7Vw!Z"{3L1[䑝InOAztOz^.خb i^9vQ?,̭4 $#4)``u b^Dq[ ӟ*xu 'IF%Af;l%x1"_A#*W\kQ92[VB 2[+$,?e!w63rq0/?W_7c+[~"[n>9Ʊc%%xǞǧQL8 mDmUʊ%`o@SADt555QKKKZ-LFdCe+E9&;˳0حWNYyw}_qbLl6?$c:%iۀ9'*rMrE{H,7BBxX` d䒏d{^G8z|ϙ'@duMBb0`zڔ[.@_ *wDWWߧ*6+P! Y\M/X(6 U2x Ҝ>44X;V+/( p%k0H.\,=^™0g0]K"0dRʻ1f/C30hXDAlnJkJ\4~׉ʞ3JBDvӣ;8.H՟O📙O߱/pL(+[++A}#lX0RWA*EpJOD+$"`h99I% BB$4j?vmU2L=9>z5:Y#!Mb|9E}r%v  : ,*n:ͤoУ>z#.X3|TO?}ނs;}"G _L,h|P82q=a!MxIB u/pA D"[i>sۚt %| | ;j@w oV 죭\-/cm mG@'Y]]:o\ӥ McW[Ɏ<g&d[>ɎU|J2=Y`L+nI;w)b0 '{;'uqɊ斲|ddh ۆ5o?rc*(`5*ӵګvu>{ǩSc$|7T;+w7% ZE݁9w^^J"'8K{gxA8wDw~;`\rR}B w2k͇*4_Ȓo]n_h=@71&Ye] uXR'%@UWmh9%e&zʫ"n5NJOX&I {D* 9C2{2!|F)U"Zf9iVK[u(a5Icc]7޵ζh>9R٪- 2wn;*3OLN{g(qߴz*+zSoezݹζI#`v453_>ȶyB~z gQZ:sm성VJO$حvv<#MAd Wj`ӜEY_s_.{t8+',/.:Gjeg%1)5,}i5`vLeyZRU5ڈTq-kLԳ {[A;oUS"ɔ4;z iIb %sc`țw(ِ+uðhp^4)Qo&FԛQM~XS F@lEEg뿉Nʀj&O9l5) 5\b( HՇGЊzq/%rױlmUˎ2&h뇇[MX+kkLݞՖkel_ * UAW6~'^9Q$}I$80 C<♅tMl3V,!|!Yw_eWּ76Ny{kvy5X1CS-` 7wLtޢdF;rϿZz},\ 34HG0h|Ҫht-Unr;I.nX?E5t==} GpDD9]&)J6rga _51+Bcvjml̽c"։.%B؜ϴiP[}x'՗"[eJfwr1T',hxyS $c)U?y5Qgudg}o80%Ե8c\2cG,hKBAEkwd;x5p[rḨKFDrsX]&JҰe:md[{,,7O[ im]ky՘c ̩#PPPA{͖oej#t߲%nSbk$am%Xlu(>V#\RWWw{/._WiG$2&VfZR.7U`XjMye m/4 ޞncgg 6̿[||ݤw4h~tiHk a;^l|E:¶qPZ8mRE BYg<1Z.S&4 \yݜB{!h}(_{H+^-C2p.n(vwdvcn-.ֽR0}t|5Y9VR^9(uߗW%+}cLc%$MtfIjKEˀHe $gD|y||"'sY1}%b`Av{db7)q 'Pq]"~r8m"XȺ(!B `P zq$>@(X6 ]@X֚IM_H!\)5[NiB{9)z0xrR"2P9>v_a Pb>*uOwwR!o|M;Mt=Abh[Gzٌ O пs0soٹw<`tDGԊO΃ﶪI GJl.6Ik:w9var*?Lӊ|EHҹxګ#W2vK(pCbf+:^LJ S).*t[&@}]ۘڤXc"9.Z%veh~?jm\Y*薊S `U{qɐ c'M${ Lö;g H S-D .Bɪ迶\~ `B0Ѡm:E|:|)Y $'u Iu=aXg' zjbb:ʐjKNGw/c=FFFNNSSqA`x[Òl+S/z vVkL폀|莯k&=uʻw3,fc1Sr&-|sAOn :_6ڔ4:ErRhk6u.o$wFk" r]P_*ֿufF-7}y@ڼ}\\a~7t^O6O8E䃑ا MQgRyS$U8'O޼%~Z#Ԡ!bǽHN &VqˤUZ:R8g58*TӑBoܺJg.QQ6Z]mOOgrM$~gI 8G }.eK>#Kak69ٻLxݎw2F{`/l4!jS@.Nea ڝ4 js9HL'+(2zu1H0@_qSǓJ#YL 6 ^;sd9W~V y8H3"#i75﵃˴OnȜ)ng8n '>WkT `Xp0<sF/ѷ&5%h<#DoYgDgR8SU_"M}z?Sz&hvt,cƺrw/!<[pwDB<#9**zI rp3q/z-Ez#JjA,Ŋ}?Va5= Jxou`E"q J|}R$naJ; ;cbY$Dy{ [w,U@+Av|C7 ok 4iRQNK, EQd1m)T]|ȶi(O+9 4$#|O.&SsɅbdv 78;eʳ\N"XfcݳMW˚!B(py梮Պ62˅Wdw-O],d^_eY\#Ή.nt~Co%Be`lSCw6bai jVWP:D Z;Bё ԗY JR`+fIjbv.,@n+E;džS\RAʯ :f/5N+峓`}ٳVYBCqݯx?y-P|%; U #GOӒ mke4矊iv2:}PVk|1[9Hd.{g22hM(gǂ&8Bh!^vysj̡w] wͻ7ΒEq>:T2wŘ+_3F)3&.- L~܉^C(H뷖hhpZ+UߢSӋ0pGϊP6N>Q WU0mEd<Sp1J1Ȃ!z-^! A, n+amAH&7ʦ#vYF;]9悧RrSl-1d~!K|܊vĝӭ7J.h)%A$V390fI.^_Yǀ|I!gWpD@ut:u?=n+\Im b&'lc{IDOnYmtntuYj&B1YmQ+->Q_*>ȃ oƯolQ^h; ܖ]jCFyԪF Nɭ Ұ*IpW|Yhv{YBdWOUw"xlOr'OWPU F(7O>=@7(vB "ADǏh|:_|2#TZֆ S ~ՠ= zZ4ū5Oko@t3FA\w6Ѻ!K>Ť.zֹ_<ɂ ߨ?>|=8\W"^wBFBBiY.'KY ·~ ΖYp-6 $"yޯӳSNKUߠ͎,#߮;X2rG+aEtf9B)"ҡ6dCs1ee:jK FIU!&K3}:cU(851pzAS&y @p{~0&%6W^$η@ŠƮ'w QǦ]u{2cIh/2yjYrGbHSG'j@=_O:}!,o0Ked*KL1z,=;/ҚXr!x~z$gAC*[X/e 0Qqql.xp=ՄR; > @PjEI^4u;Q$@}bR۳sH}f!.!G. t`clωs?_N?+?:ÈyaT[KK\\77o@+###444فTTTԔ߿sttRVV07zVPP:Gw 5UUU |||ʴ>$%%$'twwvtSSS_Ouѱ쬬/_/,,,..y%jEPuUUMMM]]'&&"##ccc.[ZZYYY[[KįsaXظxĤt l<|BR2M-=<#c}--[Z^^[d7STƱR@c9fT'U njyC#Zla] 35aU5I!HJᡷg2!@Fꁤ_)bS tO<<1ZQ9,'yb"#iͬ}4 V3vq|x>u t@`*_dCIw(u`HS-luM`;ITI3NA%UWNҟϮ忄'G /ߜlW߃?f󄂂[ M 6/bc㬭}===^?eNNvAA>ФUPPo!dff2@' 99y֯HYYYK|<(.nH\\|,,***/bee+ǧSQ ##cCAAr1ASBGGBO ,T"@ ށ( {َ߿O211599w[fhhzgg`zz*'sddᡭ!~[oshIIVwXvVDKKKΧO#W 󷷷UUuyS˝?@zɍ<~|QX1.Xb>h^< <0DzH9HK֦k~72ȯBnt{ſ` [}{[gb Oք[iYTMeׯB (MgIB@O:@%ٺ@ )/֫LZ" A\@@(\K7)~809:i׬5{̙}H6F @R5 +( `^DW{mH"BIR_4ņNoG+_ \_w5/;S>|b2A+Kgt跷؟ eΡ}I~ք -m ,鿿?;˟?wAYI2A7"kJYithhLgDV6~CwsB:|lþ/Jg‰~Щgc%<G Cg ON/W_[َIbvᯆFͩ/9Zt}Vq%{>S,"pMƝ$]{ pΔxi,!\f~,tJȮ%Bo0 ^P,PQ'Z#@ > UK6Qrkn;M"AKDdCЊ!5'DP ٹ>ff"DG:4r $ZDیMv3 w,b"Xu{JR81">(Xa{Ⱎ Ļ'WDXt=t i6k(,-p&}W8pq(u w-d,qn-stT9m:m Si2# zf6LOX lơocED?^C^'瘡 {5RGdsFؖEFa/%* '>'.;.BTdw[Lp7eVJ kfB~/FZ[IT?릤&|n}\@7~ĔLĖ!2nx),r&O]z-"l8hy!̽ m'sdo.vXf6y}Ԝb, nb;lt$O^ZƳLmp:/b.mQbKP 蛂T" $QLn(%|=ݦӅX\]HS7Vt Cv|+QBkTvo4cf3@Q0^Q8V۵kNw}",oXU(5 >a`Ic1 &DiP eW O͏nKOcԳo|d '/аUjt"!7'& ;xFz\|1cw3? Ighc`gh_~ ;_??j K#$~]<ΈpΥEI<}ڙO=RE &$ + ۊ\qmJl?1:Y+[MBC7kk5v:?r76W35 /ȕOqaf0y )ܼ eEgߣnV#YD0{dmK: rS ]imv(ţWǧndkqsU۷3߸Lk2@wBTw]7FEEavǂ`/oC| onf ב@d-}7n&֩r."Cyo|p|EAf<) .~p5P]3k%QI?S3"f(mj$Zj4ݯtNͪξ@.Q\7-zKu#qIj/-l'{jILNlv~nO&y[/= VyGeD2-TJ2QwS uYd\jcݡ/}Q~*N^s*M=Dެ< l&|+cNB; K?0H`t @@m䒿,_+[.RwS%羔ǁ﮶zsR L.++0s[lcR0z{(0Co2H;GͶ^9 չTK#vѫ "oJ?HpRbN&owdF(zxAHzcEuk G_a+B BUJV(9|` )[7 4ž\\O߇Ă1}QXaTUJ{w(H\&Iɳ+o^*)A}^QHzב"N!M?/YCp8SwJw[h`hT8i'G^P:ݱxVƱj*~0jO#TRHĭ|BH߆׺Te|O`)ق h޺q_E |E?hrE31lAUBF }!:EWS#ZYO'LM}&{^%# ct͙hPeڻ\|-诜zk A 6tu2V.aZHsBR>pE۫ P6 νY66<͜RX3ʎ]x`CO.LDgZ} "β%a/C`a~@'B!BhtnDa҉y;`gT UҞ/Ptw +Z3Z* h g)ׄ;QZ֤IK_] ?BMNW:۽`q 9gNնPsvjn B=Z{!;{C7ž*3z %u 8Zpcuve~%DxąƫX"xuy uSv uf˴Vx0tw:㥂MYԨ6]Ld$U>*ۜ&*f.+Ws/br{?\t0ޙ<spb{ 1~kOjSPKֹi[2lC,#i9 <@,Bw@T':zd\r._39rO Tyjj䆡ҩgwQ ȁSBէ R\}P:?g@A"uZ 5tVBS 44бyxWyY_y-.7*=kѹ#q=-3ۺn-*Xb0}i~) iX]iNb(Ab_({r}fZ',B~*aZclV_ig1`&=4qSNj ]?,=u.I,.@Lop@UCXRP7MW"]GcNߌ~Y^d)dJ>i;}PԣwGbQY(Y|nj󆱮(ga>??mVS]ozRC2!GT ,O-jK}m魫 vthpͤ@TrAPi.*Aiuu7,ŚB6hRZkX uSgFloogh`o`hlfhd`h+_q/}<DƆtϟ^ɁOZZ:**jƟVl@YspRQS 姛^90z2RPPᑊ9)#. Ä))L130_rG,gcg#ߘO$X,@/XֿQ %,gj(&D Tl}#̶3^ȯYXnuAY˥3&OT{h|\hqt1t4Јۚmg-1N;(8c3jTb]K}8 w]Fr5 xM*Dz VI`%U`#T$lS'p[zAnܸzbC o@HHTߋh Hk#x ]ڲgNgb)4j5۸<L݃B]u7Fw)9 k"߅6F @$o?.N?+?l/ǿ&"7L:::]dggqtttxx |f_󥸸4|߯uyGmmm]CCCSSsaaQڽ?۷oCc%%KKKy0y`\eeEEŝ]SSSӿ㞏_wھ*/fMېP0p(X8$oD̲kj&&gfx:~۲>n!x 2SL啕珁ں<kk$l0T"Q܎ 1$aRނh2U;RKB<M-} f XbL#2B $Oc MŦ9]J6Aqcka,孓nbˍ `ߵ !lzXa%'߇@ĆA3s[dgaS#(@475vQKss[k+[[Z]]@lok;vwwvwvt Dv 7eg^&%6!DS"nQF籴|^:ȩ|E @`@%' ߦm#? ?olkl\:wRR迶;9X@wC-/- #3_VȑX iK)̲FfF - x I]y]l],x]ߐ 4f"% O b5YbQ{#bFffNfbNF6v...zbVࠂw"foh̫$&{\7gŅхބg @ n֎z d Aƚ绞>!%Klee?,-++vpT22];(1)98UTןᕷ7~=K1'+#kG)7NNflb<""l,,b"""⬬¢"¢,b =M ~y8XXUTEYT\BGUL/~M/~_/_>-{fֆ6.?47s62"UfA""<\b<,,,,<@(b7pq1So*_5'Gh-$^Or 06=%@'A`_~YIh`: ECyTW@48$ OCO* P`@Kpd`7 L$488$/0p JA4 sR5)ȊE#O&NQ  +@'AYD}∹#/2 ;/41vS(@~}iTm*;KuSv EW9 }?؆¿&p?xXK AHJ LbҐSC}Eq SHDŖ;JeF@&´UKNIx Kћ92Lg¹/ _3iv)`?},,`dnOaqlBXnrϭ+wU <ιz%Wm*ճHZJ5.9¾6x^m⅕g7TY.. EaU+XHd%""\rIV1c XzC?vX4h>V ^'6,*| 7e|lXw7'wu\˲{q„89E2tC6/> QkE6V @SBt쩥qZCyBs(hާxDi6Opy7jlsS,esv. d Z9m6s(oYi9 nj]5jAOUV~X d;N%5Lr Y,IOۄ@_~ݕi*>hZ =]0y$̐>QEaX%HI5սd!]Ҧm}CX傃BP> kQf`_}C :WBگsPS8Je( 0vu8[| )cm@n|tCc&agiyN9GzOGiʛm@%5˞r&`0rYVUJO|'B\%)ּ",bUirtO&+<T_K_y54XÒchV^w/_}OnFϓ]z7Oq~ ʪf"D f^^X~onRQ.H.7)=$M-2d393VlªضRm$N6%}iٗ4B Ac, מ~eT'sy8J<[_[覺T%[Fcp~B~!{kR_Uv3ƫZ-a=TYPYMw;aQ*DMMΩ,'Q 1b0 \n N=t 7a%W2k\wWnvWq࣋'}% To;A"Ns156󻢤LW+ iM<:1z\COkUR+1ㄉ@s|.?Sվ6xN檱Z6F%4Bf _%zgF&&.P9ڌB/nJNYW,9@uON[́s_OXꇸč];;Ber+}WUDzŭ8$;Nb`4&^;K2op#sjb Q`_ʶWJgz0KGP+Ai_uJ},\qKmo ~,-B񋁰m;=>bEmFLL~:),],EK`-dS z|MW*%M"3SIc toCY6 \j ?ȧʒxiR|sgŪ[%! n% 7wZ/[i1.*gRhӏDmѠ#:]([?Y@Nz!)CJ9!ݍiݺ O8܇g k %|uL{unAmm/%H?6Z623ǖD*$L;*w\z"ՁIΘ$!ʞuD ӓg zKBCrw@z,u| *p|CMاBWNHҙ !,LfE9IXaPhF,܂l khOޙy;ƛ.p5޵Zkptt7"dne|G4D޴7v Tj1\Ǒ:#*HBr┊^v-|]8U>|x1 (PϾ!4𐈕2$sjsh+[h>ĝYKjC4Vfc 1BXk[J%(YNDc4|qbkCT2Kgvw|JPK0տ&IuYӲ9vI)x^8uģPC WNS+@ÍJxn+@ (MWZ'2쵚{<}KAI² ƭ,nm̄ToTm(-_ DV8TǓpXiOQ,7}i9yxmIR|1KK΅B*x|(XL^aI A_g(Q])iiDCt^(1U b8ᬫ6Oq$H_1̎{ &P^0lW̒+ۭbwbč :Gk6k%-GXHM 7._+aSa#%ξU5i?-7oQ8al, k%8 Dk Tb˂xQ9gPW;Z(tS#m멑Am֌y}Jr.x R ~|z_ >h8oD>XZ>a|C}98W(U\q-|_ "&v d'wֽDM#8ʟl4TIw9E:_< E;H@z75d>oe5g``rkTӮFot5r³Q3$xgWfG;Dڤ)eO1_Krxg E#d!Okē*X2œv49Hb6siK&;譺ޥ.Jj9|W;lOCZ؛C3++ _ NJñ͏ݡmųY7ļZYuV\ݬBn "N͆"Zئ6d-$V{a?n30U ,rZAF-d-ꚫ2VƎ:Z E{VXEtYϊHPdA-=@3TFp'Օ׵[dqV[h~Ut5YXJ4b@bI.[cva,fF BYߞ["Ï܄4?1Nu S) e.3fa*5O,08Kitl[ I݅4-QD߼ŀ֎ ZK,KV.e5f7:WNp )>K7b㜭:T K#ݸW FV&205@l|8/qFq8 7oMSkDknPWwi S3ƥIi`ي8u>Rkn˟Dc<6n#QsWʛQT^52fceJ6-f^0͛@Y%[_GHU+^}d?P4A^j4kL{L]+aJ>C-Wwۀ _*g@Y)r6uh2#<.OW 3.ދ+4.'ȅX^T[aաlLW08 yi+=O]E8hHB[>>VQ7iMpÏxރ6L"ូ$y_WhX`"X7lp yRqmծBCLj(cX9&0µQaZ`[]֪]^[Vo)CZE{` ?JO]L_I 6n5}КS׮6,J , mc9g#V-a^tT֦;7.U3l7@Z <Ʃ+c M-y${߂L2W;lᴻlɺʨo~BlkZ Qze߭6+V# hq!<`K똩4 :ϩuF]nUM-my|}!>~|ҳjk٬׺Q`o#[wcT-W 7d -ѩ Z2DQh[Vs;rd܌7XhIHD%dUm*b %!]Kb#YGYqK֊*1~CKWVv?u֨ܯ.d5fzIZ%ݭ鄻id'[Άriq 2l/>5_ubs'VCrV!PA_Dq0@_ڝtNC\[$o8 rpp.Bl3-ez/6Hf9s_aF主x23;tB~yqwv-I OfW[?Zə//ehWNT޹%b]|?.qhicbf.L ".AP5~;rҗ:zQo #>G3BC0hTǒTh7,Aވľ . %]e6 :7tRv?vFtКdVruְyI\6\rc(-&P_5R+z :n?n; a~vǁr"_!Y'KHIa.)*YkәE7j[wSw_WFfuט3V84nlN 0nM3T;hTG !SF~q(P-H<ԙxa*aH2L!52JlcvK[+zdZ#EFp=Gh}0qWgc 0noU0DHUVqג3-!Q} @,q]SXj[_[J X8# =Cs 3m4;V41*,w„3B.n;؛ZpF:P=AeF!&eN.>*5g݇g^OUtW+'~D bs1*ryrNdEIdX4XVw(4=WH)9$ѽ/gOO]Ei>Fvn~Fm} 47s%qʯԹ%]d+!h@}zK Q(d*ocvƦ&D;=ky1iFԁ:jJϔJ;VKnnuL[ɇs\cL ]<0aͶ~$4SdB&~En)h,RbB\Ngru(-ӹ j*fCA"q񇅰>@5vlY-5 4"`Dmi v)8W'㙜nlcnƈ`T@kaQ)R;֬*$[ גəsːF"Vd? ̛ uu xuYM[)p'PaG?/;) JxrNJYvX*`m&dDBgS0_([9ˋ&["eM&LH|O鰩kYhDvհU3 ]툂T|m=m|}X^|gYRP¨_/ o0%0pzIMՓ(Sv .M:[=wPƳ&2+Y-&#kJf ̌~:VVJ)@<,4y=ّy{O?w/{djI[׍mm^}*7zP [].caIlN!IQvwpztO H_f}Ebh+㺣0QOUnxƂtg]P([2ty=6Zp/\(v9]ChD1prlg|p@A\ X`,lœi+l}a3\kœTe _+~VeRt^B9=/+Jb 'xHÎHN'G5k,vQӼ4B혧^FzV2Nǖq澆Tu=cj SSXT÷wȆOycv輏i^oY ahL-9F$8@Q"As+l9+) qJEfLpزz1 \F +%tg;WLbd"!!qMZ gdvwAC.@^aaEU.1dTu+{ kŷ] Eec+fg;95u58ܥS?v%&9ZxȻ-ܖ ZmieJyQWI"Pc{8ꑶS'M99 b*̦,. Q85ڐ>p`7ؘR}VԻ1h/xZ~$'m[C@e5+^ |׏87^$tB4&Q]2n(lfy;LҍƱl(Hn.eonF`r!L QGx(-_Ǿ[vD ہxWX*{pgOۺ\􉔐:7#R.Ǿ7җX?jY^xm6`i! d!UIÃcU-͎ F@9s2;\ \!՞-_;JOVm[C4]ڂC~i&u$TWvTߘz-[Ot̺0H$P=$6fR\,OIA61[#j3|p2j K+̘ GP'|Q7oma]@F(qhĞtCvGf|H6dq5|=-fː,C`>*IR5r".FRݒ 4c6{R'a1.df5b"{僱x=}LEA?E@E=DnǾAju'Oo!r#|ctds^I4'T/ u2C67%z2&jegs"A/;>Zb9rBplrcP xcBf+*!~8-@x~P%=0a֌WښI6A)/ )%Kbx@2T]8o\T&Q䔥~8gwMUB(R=o.k y!E'weto6 W(sDf[SBo|R(tKMߟQw˶@M\!UM# ;񓦊8V-C5sؾS&BEPϙ*B/<_>8Q)G&0)Mm{مV r0_fcrTC- %.iӴ<» Z}y4k kD4ŸIdx%/h p!P([ڥ_'[}fwbabp/T%P].p9zp /Zrհ@?r԰T4FzT;+c̀zֻ5k=%3KYp42JPxe_aCcXKlzVMr`OV׿+(]F{oY*eS Hv}e9KD ^,lTA\/^-ɫ.6fx5Z\z_myv_*p#@$tմoh* b@+R0,5^㵼~7ȑ.&ou >q vBqPꙢJayɹ3Ξ GGErVh&<=.uIIݱ5X]1^xxh,4fU%5^!XcHˀ~0$DDcً6o)PƗ/|YpT>)/ݖ?G="ЊDHU4 6ƂwdM"j.z966TU )bUIv֧r]+瀽T"H=ش${Wfx4tmq $} d,) m):_l "(O2gj: ճD&)0 RڹQs 3ڡPڵij?N| SU\ 5i-@ NZ! ~VIu0۴ymyLz#"͉z }R#f;>TA' 4&_m&^75bq r&K~@rC:4vq`N0 c0EO֜΃k9 KOR6E#?@='?/iZ"{e]@7@/BzW;}"ڒ /HȄ}9[ lH9w,0j9,;S|mVa*5*1vWA斅*'ѯ]H\=u&.vbiF Ç85ϩ?u@?{?L?Iب_d!!!?SUUpuuutt655::::;999;;;??MzuuU{{VEEŷo:::z{{;;;WWW BsPAb]oڲs] ȁdbv߇鬾΄w:X8Ay]crg{ի8Ӂb |o@!"Y Rq٨JUypm" cӔe$|cnƖFm8?9Kݷq%xN`o0 E~~6l?w0_A?ۿ7+W ׇ##cPTXԀ@gB&&@+1KK 4ZI_O9@>}qr" wnnNWoovή^^__^7nN/n^^fww#rr6.._^;:67UuwWn^^=>>>=ww]?>}6̏sO_nsw/ pLv=@l PS{|6G&%it7of0`..X+Y? oq;E8 /vUwS(|x1$\fcv|ڸk/B=s1sРUfEJ WiS Q?H1> W6Znk#Іql!z$uۀk"^KTF#642x*l>hEQ $VrSwje;@4>X3Ϗ ]odgf`f߃}o\Wh _Ob'K`zqC}tv|Fc3I;JPЈȐȂȊ#Fq%C5K)ykk4ф 3wN]cyސa! 9 $tMw&q|GI>E>W*\Lpfu" AOB+ϭh;,K5fwc*+c '6AKiFm|"#I37"LjynJw-S1R9i` Y86G s¿u*lO@ɿXYTb0caewퟓ/s*-qMC'zPBRt*tØu5@G邖T* +,Ea>CBJީ87ΡZnu)`-kur"‚xFWTͬC#.v߲Vy=O~ҭX,pV.{$ FFs^yP@rŬU C7؈>WaL3? ( u"@o: R")5!1r os)$֭vf>Cdf!r(c2?:+e4 .}ItDhH4с>*bZ)uӢ#RE6`=ʽJd4./W؛Uj'MXBbʐ>dFs {npIѦ4N BOmͽ g_/$!Dm;T_&栍xɼ &+dš.~־n;8w?5🍅OV?W3W}A[[RC]jjb̔߿ȰV;88:;;pOOO ojj tcbb4nee1$8ܡ/ WSSS]]XXXFksONN`Ȋ װШϟ?DFF啐̔[|\GfffZjj\FDD$&&Ǘ\VVBBB<ZלdcYEY[ %X\Bpwܝ!@pr~}#߬zz{fMk@x$`Bx au@`jj`jt```>5?0:b020C0P10%h5 } r[k/iFk2Ӹm)L=Z\ǫ)V;N}tr'g'\?B;Fތ+pbퟨ ¦5 1=UeoVxf(r`ma..3]}@#eLL)h漵= .edB^qxE_f"<:f,^9[ܟ 1=w'J69_4=qtX݇|51v1{bi?w=7' ?霗Ђطɨ;ѭ0|w(wwFսKz'[HDW5WQAe+#[ xN56dY/vW*-46*4x b@ KKSsΜh*>X57CLeV_Kw0 Fngt-ܒ{Ӕ~ a26#mO~`L"lz||Mݛ/,,loo -..'2{ǥ%K`CehE`eTB\!G`:##-atF-`AKk]sXq_k+X}#>!"äGUMN~&n} Qnʅ찡c& i_Rm#Ϥ:zŝ:589gn ǥ=.Zy}Ġ蠎=UI5iKB;JUD"}4l{6Q;V/yuI="AY02ٷOz/~t6ɠ@)Rȴ(yivA^r SJSoof/e+<9Ek7rF%k&&sj72 VM 7M qƸp`eQ{Z1EAӴ pZzjhf|ŗ|}'{͍aDtm2]=ZvߧLjth$qrVg9Lh(O`ޝPR 1BLb찂3rSTT7VMH% / MKp8:aLacP&%Q}HbqtA8(킄$gdV1k=hzt/?E>VnIwTx;W[>/LO=>< [5$3P ϶qGegg?s#>'fxqJ7ݬ#-3_\L BfK 'X6St54%C:YPa6cRq:vV5ds/.ktz(N`%}=[IBJɺe㗮j>.Tm2@k:TK{Z˭UndWTEX4&G1bJإd5=:?#' SCw507lDE{+iH2"kT‡;-iJx}pG97>];-+-?L|͜#񹹿?O-xG /e{_[aawPP[RZ .HK[744<"2***Cl\^^~~A755uu&f_|61199 333./`gbhdrrtr)..yocYUUupHG}}CSS3Ha;;=&;/7wFO~x8Z{qͼNù59}f̘i gA6+)qyGI)F,RMO\JOFZFOtBBim & [DrLvq 6lHΣ̔'ToEQ3%:o%>SYL^y8wCƖF#2AoO_N%1g KMO6IS`ĩ,81H+*QI:.ts.k`_&_0ꮴBL>O푹ɟy?a{ Ǻ }Y~>*f0_2?DFK=94 +9X zJb$´H-G C0̓f&u`ȣaF8|A %KKlƋGņd?>9@@߅d gfOò/|xɾ3K%fOԜE ?.ܥl\mN,lM,k{yVFU`ps'8)s4u~Ҩj ^R>z߱_y1Lnsn߰_s/ ?L?_Afo壣%$$tbb0600'0OOOҿ 总`&X*J;;;_VV655yyy555`nooyvvhsNLLzoookkoyyJ9/ߐvf6MDuU? vVloK»\Z=`߭X܏/R5JF7el[`NI|o1/Zv?ghSD Je:G=HyB NC7 xQpsWU lA^o3 2/Vӿn&s c cG#fBӷKM8*3:+ _6.l,~s!H N8^y1s5s3|x{Rw)3ʚFx{s؏/nn2 ]޲j~ /77+ Gɐ +pׅo<}/(,*h`dbbfiicgWTo`lX|Sdd1Z8rDk9lb>/@)O?|?WVa7p[H-PP휻~qO6|nOd΍J3^`pmv+i7a~SLmѩ^X{HBN|͝Sd#fc] XΜ_-?TR& W~GQĿ#,abz{9jh{bxi! ^ g<8 +wq$->_Hcx0˼RyӍZr)R`~<ծ޺Jc S #ƪ1wi8,tMZ%6H\wq#OSbFM o>J ZŎ^gT]bڒ;P}[14w{t?=QZԢRdfrG.|ZuQfpx 3CkjH!}JF^&[|#Ali"V IS@>.#>}Mϟ'(%rX@zZ{1e8$HY;JvK0=fRqΊʜAS[̠8ɇ(O $.&ʉG2*4y+ð6|:x$M/Q`&Byj yZjˆ5*r~B9Τk] :kQC_4਑ּ5hh?\UFK^5^EvMnjI/Y.3}d>f휦ӈ!3nBnB?I!XWP03[I6D$I=@$ߘR@"cA+n 6- 6JVU!y~m*vXW"V}38g"}^,Sb4F)njЛ)R5*1Skڻ^_"HPsAJy[U4hoQrĤ,~G^>#yY#}˺W'xfޤ^]. =;bL|~&Ιiau%Jy2 ~Dִm`NUpO ,JT٧p|_ƅSP[*SYL,4$疬j"' t{RK*'СaV*e]/_`<˞w2В&ƀmSS$4*n)H؜Κ/5϶Cl;럹7s,> zNyp2lnH˷p> uu9U,%>1gh!,‹tI`í2[a3VhQgg5Қn f7Xǥ[[Լׂ1|i,v?2;A9lY"{NgL >iFiM(@h F=6dfHjˆusZ!yU=DŹ:k7}+$ VS_Bm(]ܼfB6׶Dy#}-mX Sv=sw6xjbPT)!m|QS)g4uN<}N"}鵟4XT$b5DJ j*xTD-e:Lf6PnO`eC}QᑹY>A"쬇AOjn#2SɮIvKTkZ -Bc[DՎ#1"wP9cʉ+,wBUW^ݼQzl~낵x&.zŴaۧRh*:"Xf N43Tk3 |_r즼hs"I7 =wE6|R3-dI{_5eg(2DCKj}0svXJCB`.8蒀be6EVFQGU̍nFvWv H|53pjkEɃ4Hl]?f13WBZHšm$y TfWErsϣ^kUMb.V/'w3-)L{q_|/Ŀ4SH~BR9^n"M&)6,Rm+d~ o:KŅ(Ps/ØK/[o>)Lr @^w+AhAtm}Bg~~ חMμmK/=+րnO|ؕ-wd 7>=:;m) 7WSޗB~蒙H}(ׇN e׆HJ4KeY%JuATGn oZrG9t,u|RLNAa  5JO⿕]çBL,BBCZ^^ӧd?_332rss ?~Uծ޽cc _mx6"м,lpS"OȿͿ}_ANo$J4ˆonsdo /}^xr[vIuBpW~w&tQ26OL***&C\QD}*c}f6OYϿ<?`{_Af%4_6SS@^^^0m``k uu}}777EEEmm{ziii;;;www3XW `oors33hy , mlhM֖޿W}jnj\@j:::@4{@c)664x}9  O) oHhxxL|RrjjZFFfNNAȨg`d/DU do xc 숩#|$q"JrM.NɗgID̞mSn4m،PB}_(F6iλ.ÿ"u*o63Ojڏ| `?\jq F:b ozq[Ӓ(2w"V8<#eY~;d?Mb㯠?( gBUt Au`0tK(0e[ua-W*U LxsA |8X,)+yAP`-,, n$ޒ|-)))!dUt`2B`ډn)rPd sW;c}V`AхDBT vW@'?3ﶄvEU^}z1U0iqvvPq]p3{k.`xj}w2JƠٚJ~?˱RW60Wˁ* Қ(>ָ s-5,\,y:p REZKJ! #0<4Df~e_Fl`cΓI{׼ Ag@QM%\ k}Z'mT a&WO{-6_qeؙ=F=h;Kz#>"g/ z #Kw8aC| fh4iz1sγjGq,5?ǯ?ؙ+~rADiPzDrAxT S 6q*bm8acYRw> nc!fcq.dl۵!Xd:`ԌxHeӟ cß%M9ݟ wvvvuuZzmhh6?. "˜Efgm=>[:6Ola?c=㯠b#:!o!3ȿ'(((999MMM{{{kkkm ~m WHq222ڏNNN @4B*ӧOU-vt{O H~wW~=&rYY9~ffaEE%% Y AՏhn;6'IsL   _@8-링o7`+jn{bCwwHtR{?R48#1J'S‹}xy xŦaF|ڰO˩1[k:#Vǁ**r ƅNF$]` %FA(B܆Q)V<*oIxiXdm\]Uݞ'/DQtO,#=)7зѷCG?3?&~899nff: `eZZZG-,,\]\\]]~X$}'耇"##JJJllAAA|||U>}WSC]]__׼u;:UG&]nV/mOIx,K<Бz7Kz-Tzǻ}tӒիר4i 5m 3ojxvYu:p9q}}^nۺwsiy OڢS]}0 &` xCZ)@ȟJLr:8@ :~8ҷ4^=߸~6V^p}GlygL%2):a* F]I D(n{0*GrlߢJ3gK^/: V/"Yf(}/'^4[EPEga4{H$>~0PC06]G$tZ!J^_l^{^Ό+{}Iz yцf ^ O3/]" )U 6`ӧ8eۚ3qbgx'Wحa4ߋُy8; bZ &c[:-CQB? E13۝V gQʴ$IA 9eF98.M Ƚ֛:O'esyBot$4߂C{@e-@f^k%(uͼ*Nևf"j1y./P~D@ؒ%y>8qa6uj3,Uz\S탎kDoHVad-a o)%/KGtꨉݫN-Sw?,v}BĿC=W5\F+J%bdTOêˆ,ˑN%]ǻAm@f-IxPp\+lnGLVrԆ#-*Etx] —;j>c!N%m;Qv:OQѾ\6rR\PPmp8JwZmV=(ARqxkr1Lm<ȅ?`LU)ފѸP!VEu:J41KJEDh@H X. P`#/)`d׳zyq2# "A04uHjJE>Jè=?΂If ;M0>"]Ѿ G:*#QB6ijģݬ-U-U/oY ;W^C]"VOq8QS1hY}GЇ ɖ8N:L4Nm8>۴ *LWtG gq ϗK_a>}x\59#su |&u-[̀7ӌgfhFo@KRg̏N+8ɜ]돬éj,\eZ (nRwl8_s`>?l@81zezI벍6ۼ*]1%ʛlU3*˲)̕;UvFo*$2؆cտS5(ɱxyVY~zxK~uv!]Mq/[YkKOaY2>n߉V[ R X@G7-}Ę[+Pe$ Z`kם-+b;%t#9@:]P?H{u | J`lDzTT ]_ՇQQsov!A}߁CxiyA~kd,\>((ue]o W(-:`%H\hl(^W]eXZ5 Fn@*Dsղw˹|ݷ Df;Gܒ*J/}6e99 {Wus[pD'\q6otI ίwQgRȽ_ h[ߊ b+k+;z_%!mO3[3FSOp@1~Ff[͎2\9#C_0a%3.&7oM@'$z=@c, ҭM{M^8+Pu:93wJJ_\;CDZ(yݽĬ]X\]RmzUu@&nj ..ŵdy7lI10?|UixDEߗY$>Ibi7ԑ2vW3n%&p 6;bRNV-ݐKc0&f<#|.lW}6@e [dv*)+,CwdE$O E4kձ}85m_% J[y\ؖ ťPݳ|H;SdV.sZ o4ʥͱlaj|AՠoIn`- %F-}wn[Ap.`sȩxcщe <_]}1Fԫ(@(똚@@ޒLjX ӲhF1w9chHh8"xi;` ]3>? $>ci_Ӥ#(ZftvG\ OhE޴׾yqHd `gz.몢W}?LzN}XiR`7_*[nk⢜g\P$4fHN2-ҵYܸ<;wMp1Fn3/vsYE-ZF Z,d^OsoCK:b;r{N!C/J8DxhBZԍȋZ}H(qcH0X2=  !uI7;˸4tܣ'[1s>?85u>+dBexAEe/`u3n> =N >Ag]kcia%h-!r󂌌L<(]Ay-;qm}n=ᣃ3?XZЋrޖ,XH  z2]TTd&]*()xU};QrRA`<4"*`HDM7W^'WL᳙`wx[̠vX@wѬ;6 Z)I LRZZĺ:.H}3bph([CCٸ($"1i7V/ӗ;kK2[- 51 Bs-锦~JM`t4q~0ӘsA(BHOl,.6 *{^]ls'OtѼ"?uc < 8ۙ$47o_P.%%++¥_'##CܡVKL=CyuYq*2甗6eeeaķ_a1h%J~3΍cVfeXV%懑iEi$Lۢ? b2?rO>SˈL|Qh' "1p]Y~5*PҞ/?\+إvp,6ʔٴ|{y2dђ2?RzoTcX6b[`T\R'&X>Ef2** "I ,6d 7<;"v66p^W v!aBآƾ}WC!dG~O^i`0ɓ'e \60Gx@꺂'bbq7zh38m6m&a_20c&3~ '62\RPT+ZR%Iקw$=0{u˖^i53T޼G7'Pdi,Wd5J#I=9/ wkߢ_~P1L'őkg4ȶ05 v ?ADu =G ##efFڼ3 !Lľ_2ˬ: }0K U`[ht\x`ۋ oq] nAVD#~ ;n*q"{TІ`Fw#XjX5(SRq)(M᧶p_2͗&g Px&΋mpwcFWOFHF86&VLW$z&+x/gB6qmz^$\uw^l8Y  Q"_~K~ 1U*cQ@:ɾ,E2YCss,3o&$19 JhjτDɷ bh3Gƚm1s 1 7]>33~IKU@/>z".GDdC~q>{tAg6vT$徽[mQEqL-Dn\$ki( *'pCZQVтC$v:oTU.NwA%5r|zgl+!8 YljDH잤xח'O T K8|V&NLQ ;q.#kEyl#7Bjݍ<KPu0:LNB xؒBw+؛fMV`pݺ"yxOp9*tӅyo7b<^nاY=Fo ^ k%ơ{=$`3BwJl8BD*U1wē[I6.R٢WI 3*]C6n%+#%lE8oB*9+6#QCIDWXxZ U͔EOWE];gWO|SRsJLL 7em|dZd|m XXgrsDw6Ġ$"_*]2iٞ=j!e9@4̈́F󘨴qpDNqZF<Cd^Nׅ]Y*7Vw;o .C+ ëFDJ^m^}㡥̭w;;D-6wrsIarTM h;)esFGNWm1^Yl܀M'zG@ȸNc-ɟ<ٕq Ptǰ|9Q1ǜ0a{BL q;kllL-۴QAg1SE<66 wK6@eU5C6a-K?(#xt_bEl$BBSV6A(7ZBl[DdB1QHԸЊ8 J3C)3kbj%^zZqQmP˃P$ӤUIn_ ev7Ƞ};NBA^~{Bu[X!waTö́<eAX5AꤳO5VEqa^Bw(QE[Mht})y$p}5L r%DGPʎAbI/¶"ُ#/|^jkf~$tqlKNn;Q+RyX5[stj$!|YP`aUTB?x`g:u)lܧ*ZUKYz5G}M,ͧ?N3544Z_A߼yq؅%{˼6q.Xd%%%uꠙ}:VR{"!5!azDt4!zس]F] v@]1٬q~h$O %V-pqAP!&uk=дWݍdnnnɽx3 =&_=w2F,8ԇ0M{ù4¡ YX<vgxuM<9\LLHN+ .l2Dzv  ((s</Vϼv{j:yg3-M7I.^] NCO!@-.R.@T&,[l}(x 4!D렙+.>\p@4wgwwxO=7_ǒuVIr<)z"8";#qh,MZDD^| ѺrhZL>/)G!.7(M~cQ U|Akjcrs Wo.W7~6>u>N?c>oygRκ ~\"@BCpj!.A~0&OqC-jq4Д,FhY6FaЕIb'cc_Gb!.}k𺵛,ER"ea(3h7P2t\?l xU!x<+S{w9K6>|xp4̟Fkt W1 (q_t01Щ{B FKu6w}ٻxJ :ݴUzW # <0\d+lRTca;8N}ޤrs˧" 2se^F9xu*UreֈX6tHN~{M T@ &&C)3(;h.6(lX /Hl-9ǚ|-#-aDP3UʻB>W<-QI%BI&'=FGMހtŬ[hJr!ͩ&Sf6ޙM.'o>l@4dtI"|]Xy[P?rU4<2: I:TBo6iчvw=\mIQ\\\ԢI|`T!E<;վAy2BED.,%o6y7?f' ZHGɅ !kwTW3йz1<үȍ Gk"\NV"dެ}QJV31gP,LL`s'N4p :6CQ~ x鲏@>UP HbCE[WqU\?>>UxdG06 Ϻyڻ mK,]T[q-(RGI z)h@aQQۦݗM&hih*KF%'da<$&vܕ*-O{SֳMPPb`b=13z=a? ХTC]{o@mu5{FisdA9Mc^󃘥GO]j) YYYG333!E92UURRz_v]]]\[Ꟍ3iXAAME)*,TB17ǀm&Uk>L׷˴a6mkrANPdf[v9SjzRra ̅45'ێ7 !$HWUb<ǟ?؝o><=KtzHI3krMLIT5g0 &'@`͊]|ۤ/]ICpզ3O fӵélo8iH"!{}~234Bn`~m5l! #_./r>UiJެ(W&!B87 dv0<9{k !-=@1s١n-D*}nf,"tLE$y$Sȱǀym@{g?%6,P-t/l|x|yLEU0[ I,1̔_\t ?-33 xn_KaUPz;~Hܭo9TSS"\},Foc<9ej8s$!ã 5a>jyBK4"t\"D1. yV|^n!Պ fuw{sWmu%q4On(Fz0JAAQI٢&! `3,y%̩ yNiZ?Qx[7VRIGVT҆%e;硂3iĺ!dX>4_DC.iL?*M l=*GQ`R?5r R0rj/fFIFO_KSMЏ6oE:K1/[Z֪W'ۆA"IsCM_O4۔b3Y.;a?]6c7b^JNB?RPyş<jrY 'jW 0>kT|8x&+((8z;C?\@|5')5Pc e?*0y[88l6K5d7 DsnRlf7xB%[\6Eo7u L*]R'K~QjL$:~ 6i*`ӈIG>l 8 XEt`ސC:P-_Ayr{.6I `Y؁'$V@sGV 8|Rn^Sw@-EOrG||!% 3˚gRgMBENQ P*M  x8+pbRrX@\ fnq<).xUmpgBi׏locX>ܢM궩PuxD#6CM-Dbʞ7Gr_> Pu;8W ArPMfDj޳jS4e7'^mSO ywO ~bpW")L~l%yb##5U{/~wUC:nڊ<**/RuW PMDU_O Uwڈ(h @G@N8 FW.(JˡIMHI`8k3F/eU5+m^`,Np*L/=5>TL H-%@l5Ze%wm̫NT2_(X'S13szԂGwDSe& ZePϡӔև"ԂPj偱.? ʼnGS6f|f\rkE,D!C(Vʨ2J]hTw?,QQQy"RIRmdj˓+xa!Rz$ =Psx\u7tiL,{teMŗE;Y/.mLO,ĈNE$7+{H/,ax+I#Kɛ--IMqUUMY$~ y,D\*vگ!$❡/:R=77OxL[yN R墳.>/1Y\Kwh?SBj"zYgHiG^z=ACrr# "~uWFOyD>dKwm[Xս۝;n*5FOfUeYu3@[ˋRmITևz}Ȍx,ggcDpؾdy6?E'`AKbDKkd6t h=?YחwH|HQ=:Phg \p8MIv;E=p}|ոr`}I$ʥ 99r..A>=-W-CSM>56rt%[Muov-5JM.ɓA2<Z%-Ji>7yb +r-U2>^4(&QjK pGISHhBd {+Zz/6&Ì50DHZ\1}L=z]瑴]OA VDf~-چ73㶨% Ω[|ƙ @$8Vvk&.8lP1 '%6 h>qrruOK!gԿ#h5^R>3fPh&>3:>0KQӧx⽍?WjsvB;F=+h ȫ2(vT*!g*YBrUi_lړPQ@JTE]r-|'.FQ^KDW"r֥JɃ,G]eO+V!}d^[>OC8r\F> h/D,^{+hD޳.պe(.؞^:%> NU[m!Ϳd7*H#.0Do\}Zb]xI0[bp1labV'ӭp 6bEs5Lu?\!}ZY_,H*OU\] UibTX,8JWi{i"6:OґYXp$5g,GL9 peY\?:s_P!V>s/ߢvg7 m}l董3|-s3t>0.ⵙ5U SU>WӪcC4.ӥw@+ mI\_n巻 #S渽lYD%rIaeKɉi[(wD65Cͥkfe<խ^c" C:Ԡ]sluՆq~$ԲG'/;΁O rl)zwtLQҖjåoh}"#` J=qBAJچh/0XPt N!$lY}fWr{6FM#.>CO`"jϲ"4?OUFdx"$?*Ŝ!I]`?!*zP蕘>^~۷Õ[qiOXZ ߪ٭[Wv\?|p*so#0FGSF&v8+tw?W.򘀾rAۚtgʶ17 Ҁ%:P Hf|ӳǏςNOvpq̳8<_86O? &ZqN=qrFQ{% Eg 1~\/nKUDxwŷZ-\\\96":QM+nPuri[:[Ke>&䗵4u=dTQ/vܟefnS/絨! r sXU%ҭC甑ZBY~U;7E}G|鰨QwJ{{D-& Ok#wyNrA 3r:b,Tv3g}i^oI~io{%v F+]丫ЅRP-WRdWG'KƬ8lffA\4q7éMtUhg7Fm3}#CVYp7n)@LP.4)޻#&ǘL@OhY;Bq bL uBY>Wڠ@J䦱lΚ^ɛ.Ly555RN"zzmQ1Iݐ ̹K? 4u@"Ә #.!&&Q'Vj_mLBdqjWjqf@;KɺѫU$^s+#R]vy5tټuS|q!5%%wp95&42",qGM'v뮀Eawe"0Öl6khןÙ@K`8MiKvtf:Pk5[bH1@Gz8mËNVdٸN (pC4^ zߢZS:B*:e[ŃZк_D|䗴6ؑd-==tR0R<Fy,}a$סAٸӵD6. Q/@Cyb)o.2`˨^t{zl|Ǹ7XITT!0lKˤUljyf4Vہhc~y_HCC&S4TN5{{hGK+ŲM?~[z~Nݪ -*JJ[\}{*M.y}6ek~ǩNUK l0,˷Sׅ!#YCGnJ? _]OfY VbNԗvho2Z,M:GCʒ򌰧JHds,3kQW[f"tI3CԹex,I0nf_\*Pef.z ZQ2+t+#;3.8=K`z Wt>qH+: ?Z}!w~`ꄩjĤSJ¾~*Wr\B O Dz"&<N~p!KKiˆOh쥁tQ{ޮQz`k*߹ض)*eqYa|e_?CciR*Zmrx"q!pwSaRaM<3**)SfQ م-@ZNg 8٢_k2|$\rC>𤼨n[k_Pp@Xص =J㯇A5ۇiъ zSj%#tiL˛|δ1R&,xE4'OU\gC_+RnGȶ8*Q.g2va;x5[KbL- ^>$d~^ I-| A\ʢr#wG!uD>yh4r}IUkEY]GsQp(ˋ~X@$0s`z yxoKdMMtb6!twS7N*tHu AX1W?xxg-ބlūe>bU=svf9:xCz{+?>Bٴ~9r~~?}gli'g?_MNg4oSĄrb;nx oV=Fxq ˤ˛w)j{NJ^NQ}X} 4Qca^C" INWy ,J~;*]\Hf~rwT{CNhWΑMeި "XzKvNhE8f7. yxu!|<ǴM]}vl|Lշ~CU% n*R e.Je TB(43J5Nd~cO`#JdB_RN-)&;22c~;!u,NCZ-6bzkH-%Mj}rBb׾Vbh9chm6q0KvJPXł ygХSichPJiO2cl"mw#j0D:DY1D΅bF`eZ\0yJ3iv xft{-3ecm[qj~E&yYh q5H p }>qbR7,>x o" _ځee5BI|,֢Yv"*S>ƀ]v6K]&ٟ."gHEћ.~fܟaG/Z´ݿ3#3;<88??]?W4cc?ݷ2kM&{euROU|9"Ef)PB֕d\~A;*3odo~f`_ANo8onEoJo%o*nS|R)S(wS=mm\'<7UjI̷|72wT-|uI]4ů ֳ }uB3a*TqEcy#Z$E!<&8QDoOJtt;Ӿ=#gec{߿ f_{nn ?"U WzEpf5N(~X8 `_K(za ~X-kB+x6h)ileyBKfVtnX?[?ykcibiO?gI9+运P=h?-?@_ {tFϴ-)R `ɽ#ыGV L Ε%ZH@[0CMxOoe DU^ccz{de+(*|:"1#cLx݌䧬?CJmm ~?_k运O R_‚ߛ~D5?%FA]S0. T=x(0xqy2 &=qUeWB 8B9)L1گ̆Dkhevbs{œl9\s\G_ ]\z]z#0]z\_`GPŲg65HAXW1l)`|KrqhN".>=t@7˰׮@j^١nk)@HqL ̫Tw/kHy`< E`[v9;u>o7V+5:B c9ak1F=ΐ&~AK;@++Aqؕj >űt45\l&J%BHw W8d*2~nlՃq=ieZwDIcR;}oehy1 -5 П)/G/̿7gZFJJJ/^_1J\\[[[KKHSSSXHHZZ PUUy< @P@9X9777oϟ?9rs`sIII|||`,eiikآ x\]]KKK LMM|쿖&X<=== `7BC.Qu¯_VWW񣾾4ӧjjOIIXZ\LMM;ԔUS]?::Zx: MMM V@WT=ž󁤼+9*jӃz߻ۿ0_:u)|({^G}~x]_V2+0 *Fp-RϿSɓ @+)I*~P#!"}ŀdSVO3i`VWHla %@P" !!edYQUxT  鄕a$$h[s|+G)sϛ9*G+񽽂y+X?$zr~Ԏ!C „ouz8hbur53/87g/?-ODGdϰP22%Dz)) (`y$,94VY KZh`PDa|Ƞ!|H`u70q|tА( |lh01FIqJrpИżr$-S"xrk0nhfh9'JKJ:P`7Wlvl m)" qbX?qb壾ni?@۔胖~mQ V+O(z PʃȧAIBKD>tcPpVSyonn_Ze}[>i\ߙGrO)Mϊj_ycO[Zj==$g`p܁<x лthRAL]|,Wkxt TZ‡w@2 6VU4 `?[༵'T1HOeD?5m\6hZ', bn%_k@k>ݡnC#"aBXHn_ڍ|WЗـ>? *!2"&=A!糐0 GX3fˇm._ ߙu ` ^gJ_hUl4~Z^j%c^O& f8Mؼ_\)wԱ00?˳?2;_A~uq9rڱNY4m3+5Cꭲj< H)(M'@HD @D I2dwgM!DEQػ"  vPD=;sgKsIvέ^,hiXVyu\NN2oٳ}}]֮e)OO6[w|^_67|3u+Xk}{_rJW,^i?|1[v98Xj7żC͢oiG~q%'y/']4OXX5!;(Zն8/<ޟG^hU~&,޸?*ֻոfͺ~~kf}oI[kMǙ+b?}e:>S nݽjƧ\ܧ^}>z_{_NO }3nܽg̲?~wV:oDg~fOlUt>[aIR[+nu)W(m-sm>9yuiw}iMË:Oi9nwŶ3'MsvOծjyU?u엾+{ּU#ٚ|caii2)횴 S?`}W>VT:ʩ3߱Co|֧IU_xcG-ѡw_ri-P<=PQ >-rjcNo;6[[yLx{~8oVxnUdw]1v] l)s/,_g=¨^ot ;ݩ7Qsl~luͦ3/?_ytvX1꼉so`sL޹\K'{RQ̜?,c>h[ZzM}Wv]˺i+k1io~}A/6ukLeE}waιM>z֦׎27E߼wOxe;3~gQ{-dI]9>t`C4-.K4!.nx${ۓ~ԧnޏH9 <;n^EIѦ}^琚RñkvtzѸ\pkǫR47DٓG>ןli=螉>ҢgfS7/=?[_ukkb_U̦yO<+Ї:p9嘒V57SzqUv>y'W\ϒK:\(8GO~rĊ1#^dd>-b5xʣvOrhnD@JRGRҿpsW^iizݻwjjy睗ݧOԴ%5>};OEG潏k0uNf{M|vSSsnZ\Ғ?ܾ͍m?uej;_*?M?%=_,٦f~7u>}#nxW=?vr薤Ï_Ǟpϑrss|ѡ?y?v>rFy%eϻ>#v?~#-^ؙU)55k[#Κ͖nI 7y̑zùُO6/m/}k˥}uӐwkB ?yŧAm[@Iq#/v=ٲKϜ}6H=uK-u1ǯblı5ͯL}su~iq'+z˼7tA˨Hssil]{/2dcvɝ ovk5?:>{-[h':zF2e޸nCF٠yqퟎ2ǻkUEn~J #^Y[ӡ{v<_ϢwNi޵/+ϴ7b;V{ Ye]^|6mZ  }v[Oݺ./owSjkc0kЧm;5 dl =0/wNjuio>w^/95gUMg\4U{г|J>gu٧ICۜ;cr}orSi7_xMZқG;W^[MgsɣK;^ &Y{^]xꪊύ~ceY5-OڎlٿJ*.io쯟{ꓧOXT2./q#-Z?ֻj8󧽷2k˷,zd{ɫ?;uy͞--ӶlCF誹g/q8z/}~䮆[Z|;t#?L؞$DQm+yZmKsGyђ5oG~=op'H+p޾ޮΓb]-յ m=v+v].7Urd|lكؼ[|{}+mWti\M3@)8o]L{~lo"H}+K?Uss/t}6?{cccz窳kWLlAɫK]5r}ϥ~=پʮ>{?зwfjȞ†m_:s7lYm?i_:rk[aK%23v{xO{m۸i揭yeFۯ.S,˞#6wyezmI㯘z[cgϵݖN?^}Z.شq6pyŨגɵ"ZEbۯGdetg_}ҾnZ{Ĺw|2N׽^?c]}WcoS3|=f>q].ynlyVܹJ]Q<Ȃ:÷<~mC[?2;|mҭ?sй/wG-,L;?ݽ|M-nxo+6qkw \`ջf~2ju#pM"G.uگ[z#jb ֞R}s֥|L^Կ\5@aë=<;-n5?. ]cܽ_ _No#9坕7k-xCͭcvOǽgʞnRf;s^%/rWfzښϋyk~[%slxӢ]&w_`mi/lq]NmiwsW),9t˄]ksG')<\\>w :n'&L.?ڿQOu/qbn{\^կMbЙI/ʃ}z{W?q7GuN3U~6{zNqKKhye3zpS&=prI}QweUK9W>ۖIiU{}mɽGtuoؼvDZcRޮk^O/%viy޺VufߴXi;<⁓}]rû̸{M>ߖHeMg}Oomg怓'_Yy̻Zs)Nkqdo6/¡;m{ du+[6bՇ=ϙRx`./G>Y vZ>y7ۘo}yf8<#{KK }L+g*_->xY顑_ݰ^êI}rygž?m=yڇ[ǯ̆_9=Ҥ;.zEϿzI"i]ߺwz^~C?|CY?)ǟo$^Go8o _'ܩe)ߔ|tF:r̒W/~ϥq';8uӭ{, n:1`>=po?ia/>8+ >q6oq_l.l0V|e[]*}/f;Nk?dr8~;:!smB]~ے#y,[9sLx7%{~r6򬇷|1yK~O>uw*/wUO/}/|{A0s_r'lvkg>9xNӗuwlҧ|H$9{bvPoէ9vjoWjUov޼'|wr}.DN>y 'vхɳwez YNy˿:0m=v=˿#xْ_>UΨWM۳s=yٹ_Xsg8xʠ{ns{Ϩ|gߴ]z΄K7-eN\n4<7/~;]~E nLs^;|g~p_6QKo8af%#Kk+_x콣W~n#3!s^?8U~E۴/as{R߱T/pҲf}}gu,'ubi]}ixt o^Є:ԽMRsם+?Xpȯ_ikO>C\rC:][}Ȥwzn,o)Xv$ջ\iQ3ͮg|Gﬨ;ҙwLoGW.zŶ{ۮ%#ʱ#e7^Z<%uw0sa7,Ow.;xm瞳oɳ ~֙m{Q_|І;Fw*9 =xwC8nM+hfCG~/,a-[/X1w]xmbM͞lwɷ+g|ÞK[_>]r[&N~ YP6euX{V}qw.iC}jΖWC埻W2 pqK=vC1w˾_ycsY*Ic=fv{~ןSoqGH.OKvɝd?]1a*6k+$xWO{z4_o9{^;n6Z~Ѵ[3Gݴ,9Ϟ×=ț{qۋU,=ՋQ:f/g`mȷmk:m!dHv\<Ǝ_y{Ӌ>pҬ$]- kCruM?v:=JJ|fXД;bCo_dGf=EUg=3)Ou.;EkFC~_}W:go;_W}^suC%lqڋ=޽ͻ$-'y,iösCoO7kk/iΊoDӸ^>/'(e,/.7߬L\yʸ;8rww'Oֻ+=f9M0oiy#/6q=;~ϸsw^t^om[sJ6obFO:v|Zuყ<񤡶\{ӯxi͸ܳ?g"WW^3}zfG:\5Q>?]{g]|Go9|t[uh]g?W:s_U+{拓vH+/w>){㢼'ጄ T`=/\{g`tZ+_ȯq]*Ɯmy.mL]/,I:˄a#X'ҟT]_^皱llXgo5_;Ӷ>_n';_}˦Ykwuܓ:K~tnvY輿ۢM'ouDLVusex:w;?=휅kZ-b{P[ak:ߕq'e;<7O oWIh3ǖ?>xS]7M߼ҵj"_N:vz3νK\f뛷﹄i+}϶Oz}^fկyWůү+9P8yo}=JO!n'M.޷0Kos績U=}|twmٻ:\G8jo+mQ^1ƭˁS_\woWvwkrZ{=DB#~t}´ \wduOg~O_z3AX)v-G;lOϿ-J2Ԗ#z/g<@>ާzh$w!V^/zq/7?kO?痏.G7>wZYh[Jĺ;|/w.zVm(O2ܱv~ڲKn9L+{vvҿ饯^p {V?H?^w~Mo}]S}AѭtaŎ$禯N{7^Xv k.~K]^>=6+ gNggz噖=5_9Jyϝq %r#OorO/~]ƸUvv󽿨3p!\R1&=U ?wՓWg8'}9lyA)׺<^~GӰ7G%˚#Өm?\9>b~+~a^v}GnJa{ۭF}ग़{FϛxI;Kf`s/–9#:wy{omoQSq&w)=>vE)_]W|ϫu? qy_g?0Nt|7wuQ朗+We[<\kÓ7钲❹.K:>6k&%^ӎ}F/]|O+-3K|R{[c1ozOxXp9___tc ;{<8 :gޟmK7?8>]= Eic_\udsOz{J<;׼;UK8wFpv̥o0{ч [xcՓJ$ѯ^eɤqٙ7H=(|s_wʽWM=+oY;5;r9toVKyTǩ7ܯSvW|1K&]cM9}bbbοҕ>zM]6U\V/@gL{?hy 2GKc;imS/*qܟ\:yIWczu~3;FҺz~pݣBǔ.sj:2x#FT~ٻwoxyݣN"p'SlWMLDŪ_-Qzt{O]^z8ۊC7~Y]cG?Il?*g 5UkZ-޶bᲾ7ZK{eW9|//y 9?nMyvy#G<7=m;&G &d䐗{zSzecwk?{{羷hGW:-7z#}ʷ]٥Os?z;_lSovу?|>/Y [דnͺ?rC=zT^Gg|{R͛{orwָ] 鋟xuU=\ǿs.sf9?Zh̍Wi>)zmg=|BkU{Iʄ#s+_sOo;^=m6nrQnnp56rWv9P8ώ㚬sdlY.Mz|e2v_hMڌo Gq#C~q]#w>O<ꈯ;9sn>k2%m7uI+[޲OG]鲵__M~WZ}Ǿy$?0}}MO]z+KѧL1[׬ ~_S:Ehڻ? +Hݵ]+҆75t{gKk6+]u25ݯ\vpiGhk/}?f8ZvUԳW>qeUqi6]tsi3vmky;T }勏s]̟Wv]`]͇lJ{am?:`=,!_sܽpxTeZҖm7lYQp)--;kA _uӮkxK^}^X镆{fڞ;|<~m P1Ϋرߎ~7I_|^w^lOY2mߗOW_3ˬ w.|j禵ourrvGvpzνvCwm#.rv\󾯻}qdE lՄy<ϴNRJ0aikXЫŊn?GZ=;bС~O-yt[N}iˁ =?QRyf-_?)S-jz=k/9xCٝ@#^LҰi6aǰүKϿjUܥ+̟WpߊOw߰S/>ϼxۯmt #|I<6{ vxoD¹z;{L.^.vM c_/z~{6f.qY_W%,mÖKWqš:k}y}{㨮,ܹ޵-T+u@w].=:ɫ_~w`[pzGMuyJiA¥]'6Ӛ?L^Y<,/vӛ޷nYN]zp2^ڻ{σ޴=ڎGo_kͯz]|h>S3)5hnZ|Ҍ y.ovO\꤃7=.yG~XkWҹs9u*Pk{9%^|y4qI]3bDkgDO;4W֖D~.Y=y>r lCG7K s=:wN]Q3+;UpM9$?{{-O'M|wLtt~c͌V><|aoD|X?<WIMP|uvU}~"c4.I}1pR.u*Ty?j:ZQbRrbRtKwI1_u5SKrţ+N)q*>TXP"4h$Yπ*~oFBBMM]ZP욯"7K[ z6~.!!.A%<y*.N]%NҼL꣢$IH8g/YӦRJ.I+~ _Q˥Wp+nw) -%I}H~ꩈbYYR$lK0>l6dlJ_8c̙2trYgOf̐'pGqcO-#뼊V -j'9:88<(5RWbbYzɆ~{+Vꇽdž2[uM)@Ss22qhNe؂\<%Nld˲ŅM\# fg{%|+KAe#+ j`kJrb86[@m@Wkre?o\/W(K/W- +i_9O8d7[V=]msu)} ['ۧj'fegrke:.{[roF\-/Ȁ'98Gh1*}@LϞa~R_덱 θd ),_lY1.4o-X29:>fRd@'4'50/>ʘ"ԫ!-;O j%D-ճ.BAH#3fo&ժ}YJ5t"oIe"sLOԆ Mh%-RìI n2"CFC P`(, ~֟G65QDd8Zf VMea@#>6dAliWYaiGЯi$:8f mAPSߥU?M'K* dc>EvW7ah:D#L^)W|A[/nMy916lA8Px_%E8T>{ yb#;v]4ׁ;W=k/J'&b"%TO&ըV^'5>O֪\161md A$*stFm2R;er:Y7'K ޥrէ ,pM85sOMKLM?HMO7?It@Qaqad$ cH6C n7i,,nK?5gWj>i=RR)RTyꨌw?NYl| M!*Ɛb*\Z슓@ MCTݥzD&(3Cahm_#KF6&t0Dco ~zGЈP<:^."I#~V>*1hs(>?1Ϗ_ f:JϦNn/XSNC#d6 L9F[\~qţG]SbȒbo#-Җr7ìm{>!d"OG p ON$;b d*B"owJ[2t64p",i["0EHWEDHpW[8>0,#}-=G`7=I.?xÉ%2FqI&ʇ! nnLdm4ӏ K nЅQ'^X]'̧%:AO&+ܨj^ &'Ce]uHTy\nح.lZ!'G%ah2IEޖB|9=m_nҌ&#W2;)̩6RQ|2LA/*KJ8}꜡Uj#ߚsPGcfi.oQO6cm<MMĞ0LJNqy4d f(UFQqь:w*{f (>E1kJzfלr9N#hhdPPPGq&aC@QLa XLM}o ł^:t^(ז@"Mk-%bܞ ` -{+m / fJNȵކW^)v̏vczccx"7%#\w8h f21YV۔:x6=1{܀ 0kUPIU\Ni@i'v\'t!, xyPoCB<dcsvG^0mp晃X( 9Vlɥnη7PeGbpv8o/N|\v-Z3](Gf;vo@1p.1Et! vRB}-k^SxHczǕzc 4I vk{HROAaz2'H7)d&dthiBB~p1U$sLFMeoߺ*\W`%QxdjZtbxWB5YӗY0\뀻e>:!d$[/Emp5pmaQ>%S݅Fuv/Q j9V:Nn/x%ŇnA ^LS2+yxktvfrEWQV-Cko3C \BKa ;Pv(s7QUPl"m ˩HAql x "8bE2Pq5)Yeȑ 1vH06,Ćo`5qQO x4aLNcZlP68t\ "*ז"iZ$d9@]'I칍F Wwg5[Cwo6W0i(&MU z Nl0!Q6SNg-QɊ`F0z.|eh=QvB:w2/NfTXc[5N8DDaMgt)[&/\1 ؒp P/R_?bA|M!7"P^cMapǿc^Yxj9_UA$A e, PA5Q.F_2g#:ܪ?` F#>ƫ*[:ۅ+iD[a,"P0FFw>KGY$kfoղ+$e,O'gd3M\qxߓui*=D^<5]af/4$oRɍv\THRp A7K.-6tt %2aj*>)T:$w ls:{"lñڳE|,[O8znr _%%hs q/S)('QѱyV H a oљȒijԴRNrؗ_fV1_/Pϱa saN<_ЩcHOyu)kēS ΐljD1F:1߷لwf-2WUy"'H 홽33yDGVO 2hḦ́~%@3HhaѱL`m;I <h~rC!u_vDAP(ѯJt @ ]g<-֣^"\fq?K_5C@6BfF_Yi5sI⤂5q#o<8c'.z|GѶӣ64#uRjGqrCMSoވt?lϒ`sJE%oˌ9k x},}$d2C)$hhtq M>W# ZW$4:63(n8T\_2)0ɕ#&5Yp]f73KJ32éV _TeVz?+t@ !1;3& ^/ .ժ6ǘ.sj+}qT+ \d^F[Civ:~am]j^/"5O~)w B3M|CRMwN-(/=~L(]d||;n!hd<jptx csQfXk/9o'?KNLoiii'>Q&NaizZdYFbA#Ay&Y0Cx@Y!wDn+b!%VCCX0T7r(ea%3"&&QS~3hI6f N P=O뙕&OLS4czp4M0'aq28<N%Хu>\zrhAyrfzlP$nY႘ }SOG8Rp:pBPo4XIjc44laNmX#m6(*b'S;)0 Ѥ]o 1e!W971BeXGzb?fVGEE#@Y6'[--tc 4_xt|3qd[(KyC\LFk@lLR5ttegD m8Z{< h`ZCP`dY&I$iHΘHdv"=\t$MF֋q)V*.(.+\-&3N07w:[k Y~ + xL- X$l[\ kȖb3!/6^(և %d`},ƣxSrŘeCpT_bA!*t'A_?:u_ahH#GMLGY@sa0ίyGX \JfƬFAOŋ5oMDP L[jͲ6"ek7kgYPm 2ZelMy:SjiDg.ibV ԰tkzF&DMHsf2->Er=}JJbAo3YM G`1?F,$E?XcL@>cN=a6CP)D9`!Ζ9E™3 e:Fnr֛%09BUXp@?T/#0#ƼCS~[n?": >9a='#dl(9{F\N~EzCq?N'/ 1E=ȗcH9BHxNhR]Kaf̄߂YaӸ].Yq`i,aƌn$pN# ccH!3fD1m|#Rua-GĜ:_/?-.p}>6P])e=A^ n ᘮƝ[)ߤL, iU3+iPd/)+%S59X-C,Z1q*v"VI:g| `hH2߽@XB|B |.$1 R8 .SuCBf ]Wu/i"5jnm קU@1'aIDNQIuZ (ˋ.!![suygZb̯:>j4\!SvIE28ّB OJL_`l0tjAb#IJc$RLK}:|,n",-VC SiNqj9/5^[ℾ {'fRLV pKDn/'ZseCj0x7:;wÃv.?8:;S*]0"%C f*hζ|L3 ! *K,ME׈βS<[ vօle'^HrէCiXOP&~Nl$'@ sQz QMk' l.{&i B`lC}:{hũ-h"-m y 6Q 6çI_iDZ:Qԏ}Zbr0dM&=jIufEkJ)-"kDO8]&Ai.\h͐RcjҍU/zp+`Ro7sJpD,Fg..LD30+/HzTt -U$m:g AqMЅyXX'4A.#2{--+4^Px'klꨄ`:?p\'imbq/ՃfFfm@EI5EtNs K&EBj|2PPTEmZqƧi~ݲw,G+\.&[O@x32yID-ת[x RY-\אZRq9Tt CJ4{0/Ez%#Ǽэrh%$jj7;Ou.ET?XPx T Ho4 JHᧁґJ^i.Ujjh}By}޻b:|2yV WŘhsPE+bp,I{*4kd{2#Q)!;l1 AC  <`>/ |79iY EڀPA*x]Ax@%ހBV) ٽhl$FY)B:Y9|!8yr-m&3auDŽvO"^#'lnh5ZtDӈfFK&d4OEvL=Wi G]\Wh=i` hخ:Li Ƚv vPr=1͜&6 b4WUO2߷C$/ʊj.$srUr #gmSOuސg) }i6m>g-\?vChשּmhOڔs&4Yxobw[I#2_DuʰvIfd H^3*Qь Z4#MFa%EGG?<)n^0,F1)pԒ,$ئd9X/焃/F>X$-VbI͆o1.Ty΄KyFvbOCS{(W@qͩMڅV4#l8~Ȯv,`Jw"26ևmc a{#{1>0"tMtO=#vO}f@!߅iDn\"^Fz b!,Tt͓Dk &&uyhuw83&fE迢Ҩ3lc˜lOuLփ_4( _bA` OJLH%#X1h:@x}c84I5!.;E YQGk+b5MXh8PfOM䴤!?=_ÝDI u>39LqT"ϣ2 dO4w+:. ?g[-eZm^);5;AyN2&i0?zGa|j: h1]?Ob~X,tb?6sKq'*1O|B}f @B;!@pai+'cP5:D,WȊ |F&/1-Υ~B7ӌacK#ٚ#@\b\X06`KQR |hϊfPcl67 &A#o?YfB][-V޳NSK̿sǤ ٣uo6QLv1g$d6+5[үe^%E%AKp;ɨnml~鿘X&HS;5_Xe  AWn{EI7wpr'/uY`pBmR?Q3pZ|"eKI A=5V1R2bi% ҆jqo#Dz_6tXJԁ4̥]%n1jEcxφ1|pS5yNڋקj>,T+*m F Sh>ނN\P DeM~VΩQטB$a9NѬ0%OWfI 䍱Db:X}ap_A4# gl >36ckYI8oa1gl(*QOP 5?:#)8 =P`udM@##Sʔ{}8̖tX?M4?IiH'>AS[H%pQ [ *?Jo 7TEYx|Em}or(O%. +e,j|+GFLSW#GQV/ր<~؛UctY`^ᜮV k>HDW `*${R=1UEW=,DŽ XJ8)!uܘ/>)|~b~FU?pgOKyNl0vDxDNdmJ=Ēhut.QP,0"l4"?'/T\2n0xq#)8HYvp4cuNoGIgi\SJo%u5b0r1љ; fG=3 AX1Yk&YOQ^Ambyi<vci_$$,S}rb`x{C y5VYneȰ&c2TowH )r6d.+!᎝0S9y"kAJg?Dz@}׬]wちx+,3~F3!2~6J)~0}/qgsgn>BP0Xt7.8gfhqXS%eV}UybAnvA€-#F!*ʊ!1)ENѡ)hۙJ0#1jr6E@BqE TO4$xy.Z(RO\(td]7'l4&2al"5&xc8qA' =77l%eK3,?%%֟e+9y`7 Yhq ]D ؂ө¥%:0u<K-N0!SYrYdrAn+8#nq!+ 3+94FݳzpB= aFW3Faɜg>mT=dlw3S(GQ[@;ӌKnG|rZ?\]d蔸QqǕ&/O"|6=ne JٟӀ?N"((kT$ʁCTuX}ZC-$y42VpW?ר_Ot_r39cq샭'1@U[l̯}e`t̓nG w]&pIݝ#K̍;3`ă`_2*/5 '>!yB1]4 9ԵZ[C|%X zcͦDG5Fv{}b}K:啪AD4>%ZYk!YcZ<)Zr ;!(2aؼs8عzy^6*e8l.I*D׹>g/3l4:!ƐK6]faiYM='K\?u FyW̛3oFw~4cDG %(PӨ"۲@cF lJMDQ1:;tD!Ժ.K(ٓl̴qP@Jgjy߆kfY"15v0;gc~b1m\HA1c V.Oц& 9JF[l#c4,<=9GhK*>]*Fu ^hxiDŲ;_Q r j_|R^e. ϔB1ͦwSuPB̩^&˶4Ar5MRje,q]u`}H&ѡP_m arVl'I[@)/)0F&{ul]/\. |Ol*W2|[nG  5:mG!Wz}75;> %_%S//AI#WRN%"5xd@AsB5g!@pd# sn!ғCkU>E,a|W] v͓! Erv?T5Di(CT J Bu  TB[˃ ^Ebe[X;g#ܰ(Cp Z9DKdR L*c yQedX/Xv:igaNypPw߃xC"0] OM.%'7y۫^TD<5G\j~Bd(%ݕf\:Rh‡)~8d(ylwL)v=. \0pA++ňPZxZo4e?V !AS%7ҫ*Ae"ˆϧay".=Rv! enNH&IcU#.Z]} FDYb.r*~]WNxCx,/]ƴ\6Hhx1J}_WU#T#?4\0Ź`֕Nuk]$$3ڧMwN{@#to%"%MRdbxJ tV&z%^*5=C%ro:b>U#K>rHk*p4$n$NQ%OOu 7>lJ6po#4 ̞UWGxIhOvxb9W3|rUl"t\F`.v~g(Z-! MYxж4W q>ͺ4ƣطqv7> 0څ*y4"LsS 'OH PUc7k{aQ iF{ȞrO9zq^{Llw;;Ȳøwd>e:8ARx/z uD+Ѓ"0(:>Uq2FІȊG @DsvNϯx+-[@=O(bVº8+I4(.4I> n҆^¢Tޫ*¦ȵIF T\TxTzOUDx"c(5r7h9KʯQ !ITODh 2@E%+3* 'y8c3uU{8p[l</eΡ%;UQ7ꐓ"-SkWziKtX҈_I,HYWVRN%F+#E.+E7bJm\Ǚ>SHE#0 U vn%.\U7'WVv7w*vTza Me? TtB*4}R2+]h(W,*/Q{A RnY#הt)P&tPIRڅE7LUN¨v.܍ q 1@yvB 1eX' 1wD=^hswZR nc'r5T2{b. j( r+XL#rHEm_*T_4Ha\Z\`!D+QӀo:35<! @ĤĔJg<)ԅLN '@lc) DŽQ&H :ub@;VA+Lj^J5 Vf@G!0I%誸 a䰂D bA8X!F㧓`L|#LH#ƒm+,J۾1]Uⅷ+_V";r:xJbљd9S΄yH5miNǍZfGp ť9'`F\ZF6OZKƄFIIq?O*48TF|ұ=W'o"X s`IaC5)+HsJ-d ";㪋ē7d1vU,bկG_5h 1PZEq.BvԡGUtdᅄȓx+@_=)ٞ8_8BIvilSOPmG*wi5׀j\' 8q3pPpxdt9NRh@$nuk+XI^ s_I:b !tH&N.6~#J"\8Z Ku͡!*26N2qJ'%SKyxĹе h5«*Ȉ,ϩ^:5,B8T]Zݡ18 ".p&d x]Lztn$P.w J즃vUbPHGuQs.0 @LG/P Cpm9 Iք'O2.%|FiӼn]Eq|Lh*J.N:̳P%=:*|/Bν; 6Ldpy.',;pg WI6`f!Xw:J rJu5Qnaqa1#${ZZ~ٯpDA7[-coTEzO#"uWK:Vꕔ>~CxZNCRRq50s2?iu0@eH1 s|ed]IIH{X5RV0$liqΨKKD S04DCCQl$d,+&W5xz:A5X1_`$\f*#N$X>bv2\J\r0-$%Кǩ?mn3x2AΔH9?&, 0W!h!ԁxFȐxqy% ӝt!!DDG.@% J)Bؾr)ΠN9 T`yQR8tUPA 8YXAp^^ ro?|Z k`[=͞F=vFH2#@/`g)M.@FqZ(XizN O%{^x܂v劣r. B;(G*M .oWY;֤gj0' 6H,4IϦD. ڪ&`a!HvC p nW4{KE'{L`sd(T\F} $PXثG8ppMrrjd>6RQ*_ w'il~N^a>p4m1F&hU_!:PT2:;:,abS8k ?kMP?vP)H!t bKqwq/|q$ Ct8&Ց@D3Wy2! @2#YA3#k#&]^yu٭:|X4Y(HVD$ˑ$"ʯ(Dq/x)t BR @7~ZddǂsiuXt "dCe: Z@0Ԡ> %A6,Br16_Ilnҡ?t`ȒUh`_:ć-nCd*R%+ubV I'PU cd5Mn} BҸa(r틎 f"#\fJ6%wapO *`D=7#˸O$tpCY">x3 b &-0v4LeCr{)eN%:%μ0s@S}6i Dd2D&!eaqmзEucǡr5%KOH'OxIAM;~t^i.':㦘|tᢇic Y(.pMY_NAb븺(r+99TцA & T!2jg܀bX9Be"Y zKv'ۓ$Ńk+PN.% 3ذAR(oR}U'JٽI.xO3vZ<4p &k WujRC] a؞¥̎ )Cӌiʐ kp \9Yj}j34+IxՃN 94<\;K1Ci ;G#RC(T !QbC|;,NJIKfi0đj๺ .o\rZ"\K@;iZiz=ɢ/N2m S_E5ѕ~ngmn \(t<@2)C~(W*<..\89&8_G}/ H TXqjb>м/]s, ex*5LT`(tmlnY? i)GD~8pXY * Rl(94KHYs+HZ* GeT7@YezX]D$X|FE$`RƔVF[ZVgm@*tȿc3-Zm+3Ǟ܏ź]SNP5eςzl8LnP ff1|u4i,RCtd:),)]Y p@`i1dM; SSXޤh(%MAZ'0AT#ge"!dpPNp pQGS+x+ ߣP!(MP &;h(mw,LM2 uIT Z`.y xFaedPNZ5OUIAEV(N[;JC-L1$k348r"DFhO~Pe 찎^GK)%$FB1):}*Tu ՐN`Ҥb{aqTp!!UpnPgpЇ&<<P\ ndkkDHrө$tK%eJ8ڹeI5tT?[e M}5_Jԁy % h:" 8dka`認|; j);ST`GP`4Θ3'#|!r.0Y)V xRҫ+(@\fksdxt)T 3]M$Ɓp3"TP198n=a\^L3~gx~S fAj5ᫎ&!tY8A2!ǍBE"J*pދNR+KBR\qk٪,:)/\V9+|GeD}1-xYgE230S$/XʰNՃ9d!& П=juܕiczy8AŦ\G>Yx4d u>m:w4)m 3* j58cڊG6\:TBJlZ |c樆)(|HrmfWPgluBXz(CtGCE#)N\lfqH0MC1?DSL?mb,է#pzU@ȡۋ&)Vx;2.Rf%5XH@:hut%F[SSHqiS[GIŚ%{fJBH#(Ç"Q4_ˆ68,bV&))[n:erauoc<6`x-&-㮩Vi:`vpB(ŌGңpM6(MkFͦ(Qs.. 2j%RT±aG$;%L pjx!!m('lCL 'UDqWǘkB]8 [)0zy\ p =DVT-:vٙ 1;[eX.nGb:5Cw#qgil)@(#!` |:XG S`߳G=UMxHWf,s#p]01̀Pa)h|PաʹiY=x~ 5HEv[~;,"rC뙪@˜wK.9X7<Axüɲ2`rE\Ƥ]b'0@$`] n}Lȴ2I (:<2C" 'ucb=222Jw[(Yr8dj0 ="-ni EWW 90ЇEć+P3R n-(b7 =A#ss`5t]d?c K@Oc`.ed)p4`v31"SV9W)r#;W'Zܑˣŷ \k6%S|m:  Z8bŘ2X]QjR" Pc qrWU&Eqj22]K/MLL-CZt bx @SD c[h: o))5d_S*cg,#q/+cRZs.vvב1੖eȷivez̅)Ox&A6oڈPqVzA/S }t~!,-w@cLMbS@V /\l3dxer"ЃOz SmY\2-H4qB&W^6*fSM) ᐍ"KDA8:1HBlKCX^,9-FQE/8UqT4&_) 71V vu y,`uN+AKiyCӖE0,P<`2 Eo6Krdx&qD = Af:aȁ%e~߆󙑅qʊ y̯M!]"Ce=qƲq*r;4 QF8ppjYȴYtj}8#Rh lpJ,9 bt+V˾XJz..]:6̸|-w5]c0(mަ"$shgsJ %b|2(XR[b\a82|fLc$E-:x򪀿0{*%"jx}OKO$`dD2%$N$$Oyك8F!kUձ*@7aJ$ۃ%cK'C]:g %dҾG(u@G0j`U"F\^xGs.T6u٥?hXCoPb5 x`Mj&hί":vTMg!HWIS9>x0'o# ! `UU*s%zL(X)F*8=:Xƌ$ xTB 4V)1UxX-UwpnpF-RwE7}GmY B!@v˃u$.-x%D+$ QFz+8%HO &M#euub\HXYyNB3et YZKRc+ m@A ^+1/LM)2.*fGyOA32 LPԱP`YB`b\#dzRYԮTM(j#g4(,HE;lL6<J8H''hh!dt4HKt@=8őp P M~oJ"|$3 IÜ-T~nm8E=OX+-ienwFR$UΡP/bFF4ud-xzxtd^Ojؐi %#`~4))( ~Nr1bLd哥@S?l|}2DEmag#%s\#tSbp8#Jm:UT-Ae,N4=TpՒ_ kpxGuӧf Rl?EEHs TX43*:PA6𖡬  ƜY|5Sy)wl~lYyPD]`l @y'2r+dPq0Q@x;{UZ1㨯V3 /RMϞ2̅|a-A߰a-ªH-(J@-%X/-nK6TSؤh@_i+G#dX#@eL1.F63XSS arJkFnIP#U˽Ȯ d YF8Tʊq| 5t ~@2SNL(8 '|I\PMFZY/N6NR+tZKl0e'8<-5b@6[U㏓M1~9Ւ0u;N,ZJwعNDe9aW~Jʨ`8&…bU)aٳbt-bᚵ.Sl%6BǞ2ٮLNbR1D^ϗe$-٠{+OJ2js:+ٕqc -x˃[Anw?/0$4=e%Kxv*4!tkY )߫W/Iχ_i$sT<{D)&7톐zrYv,Q Ml"Aq;/,YDsZ4b T2D~)8tq'_2!D\ Y-uG4űDMlxjp|lbI`>0X"@%4ep 6C2 ~!<у mzo1B0K;E0"ؖڒ ̩t;2[0l0o&%ֶj@o7)jէy(h a #?xM3 *5J Li\$hhČdd;:2HŻ@ǜ=i_*3Ɣz0Y>M<҄&'d$~O|;gF%4ite̅ƥFmO#7Y}I8RaP)b ~)*ʂN PR\h)\ "!6-Q1YXc}".'P$K1_2cC+Q|iOV⃨JV>- ЬLlxPW9*'_ q>B |Ǝ<ݵ5nXs =)2 au^cL:1CDJtxpP1;,L5,zDq!e,AI=k>[%chR QOʲ25,D'֓C SӈWY x#Oy^ues5IƇ83 W y/Nݲbnau7ot4d08Z؄[\(ı1cI2F<F{õYl4LB359-MUt+S@]A[Cb:d*gX4z,[!=.#L00,CdpBX!v[9s=~C.(F A+S[QR$n]7㑨E:hp5j2 "F(VBG]lr[M)3!!SF5R9eC<4d/T)IK=^1e#ԛF#xЖbdHE["IńSNn1Mw17la6) !RcycH3CmBl+U 6b"0G[s a,5L1p-bj @:+*Z ^K*!T T9;2$\ ĸvH-Uco+AI` ʃ)IFp4! B~;BSY (Lh>3\w.ycm`%rZKTnrhY1scpV%a]jZVujβxDƆ}A[E2qJH@ 0Ɂ2WY/ЬZ)KK=@ŕK!i"RhD=ibVYk0`Q \Am+ʸc~BSY4'Uڭ$tDw0j1: f`d1b1/2x>G K1=^a`"wi}ky4~(g5fk1܋m׬.87XeRA%Qq@:@ eJ)C";r8XdM_h0.6xi܂Ly̝W*".nh[oPM>ʲ#I4eL@.C4l L+4$3<Cu9!`}6ų倐:q7#+m:A x6B 0xZN1-@Y ǒ^Є =rl35vBqC#3!Kv0(Yե2gM"xp@lPΛ$h'@͢&p1 L*,m֗au`wh.)J `BZV,J\A hVN/xDL nQ4jfQ.aAp2tAxu%?遲p2[!'łIe$F G6ܭB0@5|w?)Qk |D*dqHM1뷱'Dȏ51XAjXDJnnD eJ,=VLi+_zIO5N" pHx[Z&EƺOJ ʆ)45̜5ѭ!(01 "ÔyF.j,jrE4C OFJm(& q*d`gGV$GP2Bze63+ RR7Kh+)(aw6e_M3+8oQvQݬU鹑U̱s2"R88V %T+*I_Ak兣 I+,prMˊ&?!Yh ,I@ڔr(ԅ7֌yL,3/=@KFpd+I tC%3GK DShء2 %d.ME\v-A @!AW\ IT먨J*JEb VD7, r $6$d//>+`&$@qQ⥻BzUDã=i fÖ:.w+LɜCy6-H݂&nDQ!3^fD['G2 *a4"t8 觳(p^9fL8 P}fG쒹biZ'U>i`3^^3 /Kn :-Ry~k`nMWj/N}cDe0*?$hZCq[-si m 6%Xg紃sp{`?^dGQD*XF˄W#"X$"T^yߨd5Ab#un*7gdM)+ m7PFRuð[R$oNFS!g=A zv>IfL#*l =u)D؄V(!@ox?(櫇*W K'BYMC~5ttX тo áAm!̉86q &<SgS `MKY{  g^8|eT-#D}˪X6Ӑ&F у ni޻/xy-(U1,-82Ep%М]65{j/9A|0V>{%%%c`VLaRE^Qq()4K n荙>W#tXH#%5t5b٠|1x;r-H{?)WRC>i԰f`;1L`iZ'^dЂ55.KWF/gA*l>6Ds.ˎ ^Mxp<ϏTx554G*,XWnC-[Я1o(TșR@Ӽo:PC T!PH7l 0iqowfA5!fꋁ &Oʢ†5n0WdRᇾ' ;JC!;OSaD 0P麯SgWY7-iXu:!8>λT9 ղ PAˆ;Z Z힠Ҽ4 > aS[UԂRgQe b-Af F*A>ttYN#yV1Y8ޮȧLtBW[J~i :-ZRu$4$ҔyZVI3Xh؃[2穮 kSԈUI!#"j8K2KeɅ4eV3иښ:]`Bȋ u@B6ʥ*az|(*1`h0F#tP Y[;"tܜѣ(2Cfx W9ѡQkhcݒ0:!z(HuAo0#LT$:j(.quL'ECѲBT=,Sf.& au^ƒ3; [fbl3+|yuc6ϸEPh-1trbR( vgަ#!gkhI/hݪ=mZbDQ y XiCMNMy|Q喕2>Pnnfw8ozIRO%S_B%RR:dm7Rpw"^(z~C Yo!IYʩf-u Rp͒fT15FMW)lfij /ITfG]ēUI(A7=ɌZ,T#=KF,rH}r "I[kyuۚɒ ;N(Fs~9݀i/+=J:;@%8`+XA(,$m  Q .l9#9,y4vJG`M0VE%csr FA5 HiC|tNne9*"E(Y-AY/Po tXRL}ݡ“>>-ꀨoa8m5i;8#8im2D.7M!B`4ČNS#a,*# PDBEӴ.ؙo9dI<*jh28q@ryD8CDLrR^VYzjz`L G10Fp [!7QH }$'If 0j! +5zQE;+uQ(*b!K W3L$5 gK5) H[$:*"FkxC87tk-?" $*(aB.\s9]0OFt䄉}H)Nʨ:LfRA ZI$*yZ@)LkFn*Ġkvjrm)PCe X :4{9VpDφa$ v;#;c䃦ܳPyf9RgQPi{1H:e#சT?X0˦3dF6GILWΆ|yǟ5YeVCX5}˨G t@.A0&[BPaC9^CbiB|MIG˻S pGYrcƄ wqRg2ha0fA&U+8L|0 ۘsFRr*B`X@~ #t\,a0`67`/ +!B@'fzCNM)^-YalQ*RH$1_Ju1y#\l m1t1%3 LE bZSABnS*0Z^ qh;h- v:{q-l".Snq߼wAUQ[>AS-_#` #S%E4Cj؆]?S 2&g?/i)Fz^,(36eS_n :1P/m,a7i؁RK(N*hqAB#&u0n?PEYP۠ 䃵;ޔgd !mcdž#sֈ6 OZu+` Rljޣsyޮ:Xqo/QKտN.&sI%w:Gtq Yl ^YT?NZ*륰6]1Dp%HP+.0CTp|gxq:(wĚ-RF-VΒ#Qv.IXxc9ΦCaB,TZфla독cq~),Mf9]-ipX ;:b$w4;ܤK9QG /Q-el7|UFu`B 3P ^I 㛍t2L@ y.E0'SqPS7 _bjkש.[X"ӱ8ĊX$h(z:R/-@  q9V~,1ǂ!>IrzZB^<o$U֊,p:'|Xr 3!B!O&#tiȘ š0"4P!̤Cd @x Up('إ  $C(xN0,ND5L0 ޑT IbAI|u+ސ2#-0eT8cvc#ߒmIbQ=R')b(gziu&I 30s)b!\&hbQ*8:`&%` yB|&}L1ҒvՈ`!HwqNuף`^!Cjb@|h8SEVq¡!TzYGEOCD 6(<#?-ޥ%g$;י1eY:7.eQEP c#)i\Qj) u3f}. ` SXꙩ cu:(4K=iA;8IIB% [_aK}5Iت(YMە)E#a@FR6,n CJiKQ)Pj0%"wd xXnvPZXmH11n3,a~z//Z.Uep6$&"ڨ|1*L7Axڜ#_~-oXZ1}m{.b.KBΪ.˻u$*tU"*"uq/Nʨg vT*S =J$&DY S+٥c< pa— ۣ9l̶JcCM)?P>FӲ6\Ei 8Z+ ?c\}a44]:3TN-q~I(c ȳQqjE F dD߿牉)SR%%OOOLIIRd6Ap[dbOv}qQcsFg/Tq~(ڂ| '(RI)KX *&7<00DxX+׀b[qJ>i)W"pऑ' % s$)19)))>)%1]琷SR%&mnԨ9p̓ʼjZXYYDF*U7vA9?ki!QQ:b,?%#*Ch22΍j"̠!j$[D &56!O;>>+ pȊBԽ.aQI|r2x4$ h@M&yVj% tpV԰v2C5c?|/xZ73t[>F8!V&TF``|<3Fgc|6qL'giAb$M(*N ](#'ew(dR "$A`vLDj ^5^g  $dyԇ-,)l&>jӘM!Y:<Z̷W;Y)2RiǃḐlz))Sb pgЮPa\ D>I]dM }2d\Q䙂kžhg঎z0ɠ8&l(28^9CThunˤ' M*TNTJ  ]Vٴk/ g@iJD{rp3[,d: :F!8"J8a5FKRLR,.JIO`CTLr,Frt`tѥT/FQg9kk|D6ř(f|9hVwAs]XNQ7ĨfA"Ug$p ED CHQХ+,!=1DfB :@F1#UabZVyU*_3 (AVoRѿ2DCJ˶PF`.jMZcaHhda{oPWXqժie^(Z~쇖 ΰ)~F0w73n5hlTZ%suyv4aޗ6vܔDRV{DkkwE|&YvE헕=iN@)74-w ,G8C[-%P@ ( $$3]nRjA{s|37|geRY ,dYҥj7w1<6C$܊׹эMOg1Мwz1fCXprz<7ˑx"Ipg%fCv"}piMحϯ$GKc8c{pIRGϥdO C l $5:6aѠlIn,, [{Eh\G6 \X;iţ7mKn 8ᴫ%mX"Z%M$h $U B;)Q(TR3ctw#A*/v q )GdfWo4 ٽ3PiM^ =K"cT (j`v-LhjQQU1t|:K pZ :3m}1'48y͛d|YĎ!02FL[)XDKj%۔@ +y;P<:S60MP#b.լbtӽ7|gH<5FHX.Xl!a؁QAp8ծNʄ0M Fl{֨!s#Ӓqn,-/|ܙ`WD3X ;O+1k)d%_]$ !c㎤mbEttVH"-\zxSR~#䘙i1,JIKSPOcjOaœLGxWq F %3ݪ9JUa \*%ABӠf  > 8&~MD³9||Q07B]•PbD 7mq)]bB2j $;PE)XC r+rn<BI Mz&G31&Tfj(,ӆ5I6ط:`tpj1X^RhR D_')5(bOHT+a(}@‹)U&Hh*+fXK,gxHFJPz#I\Ӑ},sz=ɔCԀ|?VZ*A PiD2?Qu7 h4V ¸,^"L Q[5p@U٩Hd\T8J?!庉3d+0"`!wO #oD[֍xƳO6HG=xP<]1`j7T4dy.-IΠ#J!LBf%ͺ邺`I.O,c\1:LiJHR- {Y\,9 2>K rTMjg6NBiElEK)-.u^)@ak.n_t17|B98qܰ)._('.Y$IeT cDx e8YeB6w3"f$Ò`kc$(Poe3Hf]4_TQOPSBp܇ZsaG@P3_ `B’Y2 i\U 9Clb +8XBӠZ"_"[[7޼L5{񼗾9HJvxWь8CbQ^E)1J Hbm1qo#F=i%2VBDD$Y*P_aVHtg"qPB&x<+2ӑ7I57xg5KgtgK b0kZb{ŗZqv: 72$+)26528U,µ/ =" :ΗڂB@wc$jˣc!#ǫ[p) v]>ኅH!($ޛ]f^m耳O ^BJUP2x.}\,D^4*UIKc~[-:<AA j`+$714/seR(}pu-iRԳ|WH*.ԖrDq 5#a(HѪNzP4L c+GLm A!OY.-fj 1-!3|*/C .q%HB@ 08FrH(NJ&K%8ȜoHK|,v-[<̅yLy3x4[>OI՞_',x}rXNFtd<0j>om ,4{iAi#XGeJ9Lm.Ds4Nfs*[D9cxf{h̤gs.w\9۸,?} gƓF&K-e.LFvāq2jMLM``pinG8,LT.';N zo67t;0qˠDZY]lapbv/9V-C#1Z.r∍DOc$*13{3c쥰P:;0>I02cqz149\=Iga{vf0y6sTJ`+}w8o, J IuA5?(AU^p5g'b@%\dz_f:&Icn&3/|%p5hHò%Dwi܇ swM.mwOf`ho>X;;/;E+ L;;;.wM7806z$Sm.$T0{b &>hؓbKH#h̊yMqaT%9]~Jӝ9AŘ1Z8;Kp JBq. ګ%pMGO|9wwlhKx;a-BW@QrQB*TUk)tS7-yTjXf.R2P !LNHv(tewa|1sEh̀Y]i25¶T ЍO8CGm5ꢱ6YAxL)ݔ{bGW蜣k˂A8+Yrc^wh 1 ]P4*ۭ6YaYof]8a7Y svFsU^&\U7~'\w*jt-+y4fIa! y|r5I92Z;JTdб isa>g|MW^UWAZ _scݴ4LЭgn!䈃6V(qЭXPH䙌l W0*a#')^ؓx,mtJ'Ng](s^G.0~I&=n_MFeppOq r]}DYƎ8&hpLnXAII󚥕IZK U_tJxnw ZCRecV Lz$мB>\ F`- GIT;H^4-V3 eF _ ޱWb\ P֢~ŬSsP Pf%K)WA;4n/G*2CncR Ut+vijʝGM\h ;#sM c#Gؠ"Jc{qJd=2GE)89ar+hn) 8&AOK]jM%E J~#TWI_kDH JWiT2Yr(;YheX0;e ҺԄAU5/SL)t~/(}B-$Dz&`'Nw??si?o܈t>cpɛDø9Kd!jԆ0,FC-1HEIGb[;& T8e*<1 ~K +< <%ǖMx<#Z‚V4<=0xh&UGVR^OɗYZ <3|3L]="섘p7 HP4DLc׳s#g+3(%8JLGF,p֦#a"젊`hb,Xٸ~;p5*sX#%so(2ġ[C KKL=J juf .Ilvc*tɈSYRj9Ds(!,d)%.eJYLeJ^-7:-Il 3 iaǷjWDFiڂp/wLnDbĪ4+$v,nuj sX,T)YW9,x@WYJx0g@dw 0r.[ݍJLmeqz)85s0b}\Dz#;y  "pO "h>D/\fQLQA%?\p,bΦzf#:n/Fe28J\Y$S1jPH S?0JefQ9*8r8P9Fw[Rs+ zy,>5k` $  oNQBGS:h.pCiF7wm'f1i{u'IZ2ahU=_e>i^fK ,+kԺmpFn)*8 .';GqMmHʛUQ>4X.WZeuK_Q H2eO Ϙ kP՘f'(c ޅJRO&z \&FzC̥a"ve@@< ,Ax))meS(s fs%eM;/iIY& yz_.R[rwa2.%#_WJݴjiv2ym9>8ڗCTcUrO tг꩘ HӅHG!{!I(177UJ)>fNF~2\0z-erE ț]*Mza/ݳrAfnۍ&k5I#ǙJ 'D1d%e%CdG,ojAWRW| ǀ'_NKmFǎ|{q:1,#x>7w|o6/߳?tyG"o;ɰ.|} @hoyɿN{syƤ8;^uG|7>39ɨϝw<}򚿾ko{=w\/[qwhodw}wDև98/uۓX?-/?oOwa'yw^'Py0W?tɋҝ6YKyurww~7uq'~꛹] }߸LX~mww.ʛ~s߾z}^Owywv;"_sWۓcupe+ٳ??<ߺ_dw"82 `.>a>?^ vl'FΈ.*;=^} ;үv]Oa oYg}gIY>=O)'OFɟ>Z(?0ykJfeƌlucc>*Ubh7Ƌ c;43?0Y2.nkkxNϗ~bLUU')꼹*> ocɮ}r\#pٲN-[ûeKg-[†jז-زTZҩez8l95w-kwf|Yȕe1MzѮؐnXmaԗ*|웙X]W(ĈQu +f#F|Y%@Nc*iPXBxbwyL[Vj/S`X.{QP<>Æ(6 :ɓ%έJ϶PɣqfPLfcGƹ~`}AQル?'0F8AȜ)2xv6OH$"[aUAXu:;nF'Eم1YZ k 8,ǓPh###pa<4Ǧyu0`ưqBN0*&gc4A͡{eS1:`dݻGwtwjAm>~ `ݵ92IY[q+vՠ4#mhAE0_d M^@|V8ZmhTXajPh2驖9\1顜sM'/Kz%ўbk\'wt`{߸wT&q"*z;y47enDh60?9b-R1%Ԩ6e|mF~?8d6_XSFo)sVfv`Sp{ BxVH5Kʐ鼹>↘w?נyaK{ 1-hdnPP,ü1GrTr*G<&Ao艈E*X*Ů׻q5=$3uf+5G*Y WVwtG\HUpDkhQmc]ݢ֭Ι \T'2JgK@/gf3f3g2^^jQ36OQ'N8q Fv}{v 3f9c)'D@"b щ5tG*V'Σr}D=M$( ^>RpA<{)lkvoԜ9'#F h` &G֝wciqoQFq#FvW{ɷx:r$?@NǐP ,a` (IGǷaYseZZoaV6-+{共ML& ;L#7Ns 8'_zE*/9ђGT=}[:텟Q?ʨ5ol˦jDEB@+.EFdčL]2pO\yBt Kbu٠cZe5UJ'':h'PƯ ~%Sw`jʎ|kLMT$:]j 6K;B[dz 6F5*CH<},ʣm\jPL%Uo=y'CJܘ%~(Ba _ N"/x H}?{C9nV*͝&>n萄L}1.aX?T@|9q nL.;ɏL"ϝd|xm,TaԇJv~ ~af!ش9u݇ I`bȨq1Ar뙘z; !.q(7GۡyPFrȒQ_Ob'Fq %oNpTj jv%sobE؜CN pƱS9d*W N*e;X}dsv-bGFOq_)S"x!"9x  ]q'^fj/Cq,Nc#U\ 1AD ΰ( *9!J籅x(ZӠz ִX.NW)Ȯzi_iƱfG3N]zGw؅)*iM!y]W'g|aW@LecT~abO UtXK S nł̺Lɘ)-D"AJEM!`-Գ 6=pyȃ\UO6a^VfVC{DyPTq/K|T⟤!, W+r! B(RuMX6X% 6{.77S0@Ҟu,>GZniEU9Cp>{|z,wp&cMN3Ldnj޾l&o<7oS}}Q!е&kJu)#9#F*D !Jet.5CV toCxQZhcv< ą! `J8ǡX^kA!q_QvBBq/PB_1R6%!,V+dq*A]Y8(;<5%1Ҵ3$( R cҞk:]y3&li eB$⤻I$'d&zDg؍"qnH0Nah]KXD́@8sѝ U3.2QC;^е -Y8H7]Q@CFwcm<1Lilw_AUu"y~jA'4# \B2BETGh/A^tZ0ɘ"N%C{YB?kd.oH%{4,\9sYg=/;9/G|ȵ ϙ>7~#t'~ >2w˧<žO|5OZ>?g33_>ogcZJm_۞yOzEzE/rs-?K^}~qK[n-_U~ʖ ɖo>'C+ O^o/nYg=ҍw c۟_8uy͇˫?yϽ^owx+~g^gϾqh_K=?p_acåonzmۺ~?}K'?^Hu{Wqo]ycF;O?qOx]O{^z~7}=?O_|vnxϚzsc/6G U߼}+?]~excos[/6mTs; _xOxo+{zgSn~M'~sg㇟ȓuw;y`Oqu}͹n~5{ľ2_| OUϺj;1~w -9wgg/#/^s/m{}Sw=ۏ:+ƿxz =owG%^=οݹ[w'kto}`rmo/z\jW>y߼oNs^'O7򀯽sW~o~ϙx]ۮ=pk7xW'7YO`i7:}k_R8]9|[}ozv{W˞\+? +is?/_ճox3{־'g77=/]^={w_wS/}#8U:~/)wtߝg®tWk/LJ_1'w~{O䉝;gy'pu_͹_|G^wlMw=^_k? ?G7_]_<}i{^5`QϿ9˱#↿z׿}ppjt-?ը_rŵv3>Gm^[Z:\/|? Ɨ>\-~}__'?]?n>17}ObaWѮy=/4~~ws{_b~;wW5|UKYb}y/}/}v79i1Iay5[zٽsxؿOŋśK{_<뛏x/:oyX?/ɛ'.E}|_>nG_K7~O>z}-x_rn7۷gmM;/?v=ˑ[l%{v5+|nϮ~<|/ԛsP9󖻿#{ ^㞗/>>g-/IvEw?+?_/&G|557M/ŏ~}<w\ll~`Gڅ oR[~uArⳟ5{Kc>?~\˛7?|ߴmϿm_G?ʙoù?KemCo{զWd/xߦn?ڳ疝}zK_{zʋymYsG k/]?nA+ol 2^͞G=ӺK?׎&>|⾇^k㉯^y;>_x/^K9c;^}ň{;yN>r%'/~oz߯V~s9<ڣUݟEyg97U|C7r]~q?z}c_&uh{b̯v/yɓ}S{>{'w^~a+91G/I?oWoήuoC[w|x+4g}З.z~؟>zG~tt~fU'&櫏ŏ֓/_?~mw)':ͷ\v&'_}?/v^[>W)^pAO|M_l){͛nvwz?x<}# N OOnlӾ_>~o~>?|CN<>xt{ o?}{Ry?K1?7gjh3n{|l+L>?=Og%Ou#AI_o<<߹UPnuُ^zY}#0}ˡ]W__;듟?p䝯7_9-=?oϟO}/,Ԇ _tu?lnٟ<ؾ{['}һ'o󦿜Oj=ڟWZ?_x~/qÏ9}{oo~d7e?w~w˞h~x[{3QyWVٻ'w]o\mG>k'_>W7^;W\3x^u}Go>O͛ O_y޸;W߶?6swW?m,}M?;_7U]v˛ yNF3=m/8s>[\{_p۶?_|w=yw|7|eGg+%~,$ ɏ> yۮ?N~GM_r5}ˎ}z__}w&~{%[?/yG↧>sM7?۴r^G?Mg~ˎ<ۖ?}s/|r?i>t]rŇ,e?z~V:rn흏=O>o{9_?#ͿxWu//8mLn?~G_ƳofčnϾG}2o<ӵ~o}/y\vo|-qϼ`$v߯f>ϙ|7#Κ}ם?|߿|_}\33Y;dK{[xbiY[|rg?zԺx[^r7.}oGs,?7|{ށu`to~^go{썯8n=u֧~:ïc^G5ɏU~ɯ-w}{0/럺 n?]7ǯ> ?{ڽZ].:|WY9kJ٧~"AH[d^km?۷?;7򿜑KvRV(IZa%]1Wl,miXQ BVLЂJ}rצM"G9iPu$ ߱Md{ ~TV4d\_;>LOޅB* Nk,e>dl܆gw,C@j j٠l{Pnz4)Ҋ"7n:kZ̍\y*YŠz)jμB%p .wx/`0YN<83FT`lBW1xol--c8 7_a=T*'.p6 rˡvXt#+zmU ^`x}PݘTwwxRzJ#݂ Xkd}U#'0ʶ}nZe_cP%Jf_Odɱ=_Gq5Ҕ>{ADbYŌ[SyHyfBP6cWX FhКoڽ48viU V,,7ES`Dm3_NL'L ɝ%߹ڂtkKZE#l9K+a|',`DזK-cQ2B QKo kKז]صe="vm9帅0_z! Z®-kjvm9P][N!Paז5)bB\l co`tISDK]k@Ypf--c-CeĎ"v^ YO=xDA  ߋPFQӐ.p4~Pwp]6?ħ#o`6a. HtN-9n;b 1A11#)L2UˣP X\*R"37ƾ gԞ硖1VMxP^l ۬(% jV=îA^b2E(1\FAMIxd.B< 4$,i]oJ7Pf9fUB |Î&MCa`  g?HY8'u/!QP" "S"@`"GHLd+ !K&L09vHcci{ɬYp{LuAøiNM6Pi"@%xJsz%P~dP0fͧ8L VvMjzhJ1V.t5,T-4˘\ Tmy#ӄ6Iuf"QhT?@n&a>J P.Jn^I7~/8 Fh%ɢt 69*Yz8 iJ#)_#Aq'}ْI /1QcEMRQr9]üɧ7M2e2flZQBD$ ?%mJa%1ffӳpgǰe%')2쨩5Ʀ!M}x&'/rHcJe'~+xڄa<":4YC\[xLv"sDCyf$]RKrr-j=jV89/س [ $G7S^ؘ ҵxJhI܊y!v)8L@7)`KCE3 L04C` IfFD ڝN8]bfdF =Fw0W@_Hez(SBDn#gbB@`sLDAp=v`)\*z*ј@OЖ6 iQ0M _.!S '$6"5H#\WDȌghG.CpȢ67R㚿 w[]|pĻ{fV@,mPnYsrN76.쓻-6J)_Wn= Oy"}d¹P̈́{Xɉޗxw47k%ώ%6(7afK{+jG$om{Pғ x,D0&,V]Dz;Fx"^1wuBMcmFP52h' c Ypk_X3o!}ىbPh΂Y,>[d-WcN2'tqmM['aE*ɅQ7ݜRޭ~l{u/ՠ. @}]%<8((˅Ck͈Gpʩxkp LA@ӭ˜BfaE}AOcMJU[ᩔ(qS` qÊ<Mmq: pOW νRt*ZL؄ Y* yvƝ#t|'%eDkYr{W wal?-@hc)Bh\sH[|Q0Bkͤ6IBfBOjZ4k XFqLqf@Ecw^OFWW+5S85+AM>Δ N'Qk-MRkTb4Xэ|ox4j+Fva WCިYhەXӑu"OȱxLvHH^;޵ɟS+R 76vKʻ**Jdsr#eto~rE:FuTI}WVvV;[m!QkdKȨRbD$}g{2#"/wtt\ʔ~W2RJ=02;pnxI> S7)]C RURy3{{% ,Kh'osCg p x[eH%LM,vy拥;O#hGZ!8\бjաYy 3]MqV=Q6ep{jq x%DgwFB<88Y0mo@6?Y[  7-ACWD (d7UJ5Z;a?e[ƌOt F+&EAWщ T 5w@a6dT&5 m AKOP8nt\DڡBpHyUreIa (u.:-RelQLn/pw"EkoB9U+6?wm۰> {om0K]na.IXi8}᝙Q;)x1)0M.#3p,5fcyELJHGو7T9,auSQcd2Ԉ<`qZZNN6;1݆5a&J5gupqrF*CQκP8vR[F"&ռP[dfs0[CQfIe?oJSbdZnj7`=Gn;Pb{f%ՐklI'L@ID( QKp0|92~ZsB)Ȏ`Z6mw;nć$&B8᎒ڹ^e.e55Ǧ1:IpS) W'GW |1uOAJMVpMhݍ+۞B3d4tc`ٿGX'7d0Ų=/cv%%> u 1wJ S@3!xb\2#^7qI)}0zz(V*D{*jQD, EȰ&L=&FdP(TtX7(|D}:8sf5Įb$NM佰"kB$\3#j{R#H݊K [!'ʢ$gDޱ6Dӿki4somme5dBq{EADcэ bMJ!_|هү"`Yd* y<^ǎU y<՞_?wllz&>cOf_v*?Leקk4df̸>4K:5zɬ`1&谱zCc?((#ZXVZ웙HIΊI*TJgq$eR*PkgJNA3Э( SŸ dRio)܊n9>*WUZ,(5 2|1 A 8bߪ[IVY EU4dSS+ j28%&c͎M_5?NjGIC談&-VHQ_RKJy *|חHeՑ4a)D\J)"%CJsLI Oںx1/8@+0rj QI2=Pf2N$|okVV'iewWukq oN4[ˣ@p~i*,~|*_!HW9̅܉r[(&./RQtؑ`d{x_M\m o߾n7 ݰvYR%)r+yr{,&[=Y@jZsA11:II^4+54F앥E:6'j63v`6?5=fHP0b'2HWm5 @Nt&murG.wp;֫ˁ}sk#CXn`XXI=?8f'r9(X^Y^V;(Wu?_>HKi~zH;m;ʴZuz} Y~T[6ͣ,XtEONJ]m,rrz*_) C'FCSU9nܱ!9 Ϻ tC!ِl6?BDPz ⒴S'؍+qES%* j-%V[\H\Vժ4@n;5 $5Wg3h4O4/WqφmB@aexm21cVڱ,=eCrfa$:ZObA\Y(GFс5i0WGRwE_P#F ILJql;QB[uv^;*<;SqNֺ1Ժȶ6v+0߶D6mdm F'6v+0ж)26[ ?Ad_D#K,pܮͼ㧯gGy^̧nj 0D,6J1ŴMpu FAXd0{2v_0v-@0\\JFSC19=M^fXV)fC)aݑJy*ڳL'`T7N33Qa!`~Tb9X{\RHwӢ(_8t)1?!; ߺ tC!ېm6 FY0GZJ(0ifLx.bJ:K e..~6XR@t0.K  M#$Xi"ݼ*DV˛rvW-&W'.ƜhyN?=NuavKX1W/JC$Q-Ѣ;)(WXC;#ǏYv E O\4>:th0(]1XIj3n8\Th1-źhkXS!}EU2K齤b%j[/dt ye< {_Ogb্m~]kaܵ-=me<lHl6$6 b)Ze񵜓bVEYlsVRj9qqt<T7)w۵ҏ^^i4yJltUU @0-M""!/c 0j3 E%)П\$H\ASA dW$ T2#0v3"ZNC&^/GX2.g ykJi13z0x#S7/ʨ `v9oV?pCJpM̭Q_!Q"CwTaWV)?0O'.|d __L j]u q!^]-ZVl,s*\QhHwC3>P`y!5vY| ^\vz*W,&'R . ɽ;E t1@-J h|,w.)`(,<܎CF1 ɸBdgЛNĵ2kЂF&;gFFu|^9\(u= <5C)uDiA")&ՃU4qA1e)^B?/w-DrdPb|~2|Y>.udF|k@L|\]"!qbj\&Eq-e@;eaΎWmG*)hJIBiǷ ޶ ]U=ۺYY(>G 0e0k.w#a_ڻAl۫1MaQñN֜Jz-FNL(v>TF!ކI&EH+d8H݋Ո9Ԑ;HqOK=TDI]tD,< U0v_d,LJI_YV'{UyV%ufHmwJ^nb8/2 u { =H?WF{1!E NT2P%ra굪%fVKZ*Ӎ W>-]]P~Cw>g^' 5pC Pn#7C ׀H}Ii(uUÔEJ1!`Ia9I<AYu:ž.)}wUjTz_z#U=6i@"KŸ&{-37.rJeʗ8Wz >IFg+DI4HB"wx>8bL5hzL.TmY^$n>IM>Br>~ď:^$1Ε|4`"hmf'\Fhm-4S*S uI%פ$(i}^烩g*ԅQS(J6`Ȧ+Dp;h)0-R̀T m#{TS#@K$ym< M+">Kz1zRO=#Mq~\#%=Nd`fVF)p縕͟.d>oS3Ѽ@E?tA i;^$y9 f&+(,',l{ @L|6?@7Ĉb 1qCx#FpM+X1%b6qpߢH0zq.>mehl(<6X +iVИ^K_`hbB zUSpeCG־+S-LpX5&)&oW7K>̜D>w 0 %>S #Q7&[7bl؃vc9iCO%$pvRäA0uRRe_btn&^O)I"( 87V@ڋazA Ӏ,菹 ռ,y",H[kxf=П ]pOA7>GȫL.(j-9+$gC>ud7J#Dc zv@&Zm^'aum^qAb%ڼ^"#ڼ^Bk E*BOY0T%CW)ڼͧ&ڼ~ҡ ZҥI6wmFYh[3\*,>l/q  Pqhe~Ԓ9̸m X:&?¯YƐ<6Jvi>_*Nj,tLgh\{~\V‘p[ @5,5 (NNI͆]ABG@TJaQ4_v]x u\+<`HI9vkU4Y&=ȝW,vpE< ȹS,綪dst e(lL}%|̂:F8c 9(-9 ZrQ.Wnn |o;P-rŷpJ~}fWР?d~ = 9M3˽6<.z[}!`;l~lzj*3#3HDa@ [WR؁YfщUz.=NO!: U7Υdzx;@=8!ȍk7ׯ|q~]7ѿnmZ$ ;td]u` bV͊> #/<EX`F# R{nst[\5K&$R*B:`^U2vcfY01PV' Zı~J5Z4:QIfE0coI U5pjG~To7>q {'Z "f$,YxcD[)85̪RI{LrÈ䁮x!@<>W:ݩeHUC*@1IND ( ^3KVCd x99m_\0"-_}\6O"^6YZPAu6@MLHNȖ̱ZB׳ZHjXv̎`hv,Q9Th!ڕ\;!G܉#og1aFMUx"ut?|# wK wu\VdiȳF(SXe xJH"ofW7׺LoLZLFM_A<9QG!Dj!@lPv\(2΋&M{;mLl$`1$1`OZ*n&?wm3Ͷ;Z{ ;~/X$>j;]*J89}Mb-LalRlͅqsN㢇s'T_t]$~Ղg9)8 Ӫ:(#.2WarX`}>;UAS]e5O.7'\5LGHWyjd硍86ԆWعhVrE$Z-l~Ca;SFG9MH)-[kghE>v-CoՀ7R$Ke~QKuYVa\Jx5R r'/5T-WZprGYisfZTH>q )guH(9tBk.BD\;/:w/[1kUwip¸PJncȈņC+𵮩6jo߾s`ǎ;B3&Mi@wxxX5j}=8l9yθzO0kz8]2 cIw|8Y:DGCǑ`c@ֿ\Lzo\0T"Yyh1e&U9u#mcf: [!#o0BBݗ| rT<~TX!B {AAAYƆ ]h or'Zc?DHh#M2v.|"֭=Vx:.ٰ$%:W9npyx)xiZ_=Ug7x2ڞS.O: 3eIG?GQ,:䪳c>#m o: Ka ώ!%i\0nidD B;Xr9j;FKBҴoJPz bc4P(Qil08=srkNL]KvSEE.TMlV#4nYADke#f;#BVwJc;JيES+d7բAcIjC'76J-6H'&&#M>U~Q1O1]c9Ky{* ",%j),j&i DaF\./폄I08MhiL Bޜ^2uFƃi ÉckCa0A:BR\CP'jH;i3PO75ΪaA%Vqߛ)F{5+@P1]&*Z.\5%e1VvD1 [zis{Ǎ!ǶR m۵]я5(\ߍ븗mNK{q!%d˜C|Q5FiM'j h-5{E2ʯVEM~˩`~Sq5K8f ۟;"YBo.1TAV3~K8%gy lv1*e1n(4`[ha= ybhaJzA\M#*x,ѳ`5uMhFu\[Adet}謉vP0+pݛH)H2ex/TSiw)Pg/5 "R4 ͅV 8F3ty%ergaow:zMZ;?~˗zcؼ*$LQF,7%4BSpӜk̋FP;jfN M pT:'Rsu-=](͎MDh*T+Ma8]u)SQZLӴ h `pk|9)=SK<^jC6w|OawqV"FY4ZܜdEpl'eaџ^kð$[^p=r^*۵`7߰)Vq]TwqI:X.H+@2w|j P8J@RC֐LvڲUlF޶> T$@<ӿK@>E(] /DC{djޑ`LG)QKT"PI 9|Cݒ GtșFVʞR-(f˺Z5qa#bINV#X]'u=G>_^+zX-">v&H$t&uqS\B9ǡ@[˂kϮ&GfC=*U14kڹ4;mڞ5_U/ L[}-/N[AqNȼ 03@%㜐?>O (A`S[;RqYI62ɤع˃:a1kpf 6Ι 7􅈉hwe(abRAPbA8vQ<9%hN Kఋً.?|}Chd4O N-w>Xm%u8 +8)dMZ_WSH_}]L3#bV쒏S}N/~aĂ6cLLzDK_0p"K^N}(l f+Jbp¶ -֭!AN01}Aݑr+`L%`.Qx̯Hknj&Kጰ84"ӧTn%9ܓ 8)RVzNC_lۼ8rjMWPQ2 nMC8]'.!Oz!JBO  #wx?CkR!-J5=ٻVYxrbDldTbA2K 99&WL=k!'ƫ֥vT?# -{Rb7`"{r0S)y-ejQWS"\.D:!H(2xawha5٩Ч#1a=iwcʥP2 05rC>gҬ%]3;Z<ќZߠ*EFYZH[]"3A1y$ b^Oho(SXW"#RUk#}pt r{맅at?;wm1 ؐ='9>t2˛& qPl6A q8wxAn  ~۵kᚆhtE]lry*.~@f߇p'j\Kz63Y]B7 k6K#W>b&!ZO i5 A!Z Ζy N/J,!-#[\6)Fܚ0X{&{Q~{uGwm/'ŽY(/t{DxOo]'̍Q^1<=pT 2XM2*O BZCԬe/x0`v:t7v㞀ݖ)M൦Q9-G0vO>jV3˧zc4=5pzоp[ڲ4I^z xK<;$j钌cឨZ$¸ ' 4М1qbnMAPLj Tz2 1rӫU(h1~ZXMMKvjӎǸk2 p"JvqSx=̨ <(ڎh|gvMŊk';m3%_(*Aw@qݸ]&r _"5zz*r&ɛ:B:mlG%r0*=$mw `Lp_,sv M 㕪\0CG<>gZ2`P[^ӵԩObbc ]hS6 7hHkBt,5 'F&@nDz!% Kܙ*s-ڌ_6Rva))BpcJuV+P CK86b`*Ĥ6:Z8="I?V]YK7HOLT[Sҭ Qc``A,҈*^HVCU\OmM\C1:9zD0n#8 `m, "R@`xf9w)-;a ^iS8w2bG wY6d\TRyE v-f M1\#mDa|#T}'W[pZkVSqɪ6ME'Ez#?, C2HLEO좬G17<$̃'>ٞgpjxB2ybGǹ Q⌠&uH1)$1ӧ5W~Ѩ$7(U"RaߞU,paL &ƺ=fhUX!#RݬW17gk/3ښV7qstL+1RiJ:b"DrXmH}fU 7zȻ_\%#{9/$ {l67X=  P;Zb=IdTc# V;.وK H*} }6U[؃LyQ*8+腠y9ZZT/EUkP@ g8T" =SaO[kqz{S4b ȕHiN%i\(Og^903CX/A|B?A0&1FF=.B1yL.ɳP(FbeŔXPοm88b.qttiH ݯT7'B괾ن2pX:IZDvܿHJagMH̙DTuXAV&X#.PǹPDQcֹ2m :z g\tLXF `/mRLBAI#%$c#JJU-aR[NcYdXLoVӉ<_ j{B#ՅxR{ [@j"O&59ByM:5%Ѥ8m8KaD5DXxM,"fSR(bA 6e2fyɕ" yBKVmZ_dcq驹l:;k 96,!*9(=kF9BkEv8|* `ϴY6 J\*%6%{x,;”/Y+^_y:I2zj8`j1ñE9eB7ȤyoNA!>4Gs5ګ 4OS%/[sHhjՈ;R`a-؞ E( a5`_UPņ4DqG]pPW:Z."Aŵ=ˁ8KBHmVյzE/`~J*, o5r)Y`X)C}}롕d, ,seY4iq*04oĞ0Egwki*8C%@q"JOG w0 [_'tMiSC ^OK!ր,qj 3BXP$z$}{*(G78Ӫt0&NH?u@ J}ڄbQA^A+o/Z|MG17?1٥FC5bs٧etWuAUTa,髩ƨ1@y71meD nʳ;M4'Q@~rg+\Ph#vf8Mjd7 /KR1UoswQT 4%/a# `ݬa1KBgmE/uM$ GKQMd "՜6 ߕd٘DoD+IAl/ 2"pZ\8נ B8Ј͖lG\DfJ8]- !"8jI'9o95Q7d\EQntAXG[c>0hK p,i _I;cnxJ1wӉ] 2AgA! AMۿ{( n(UAXPt/2_` =]zW[}9nIםICE&*&~5J" xvKmCan#՝|VjCZv^Ca0a4Do' i$7ПZȃwθ5M@h4)ec 0iYt4PG,L0MN҈:g\-v-zgXW;EQ1O)BdϯMmi5NR͢h)thrkV\$j.6ttj=!z(>DKDv +vT+_D rK$[*h"x-ªSUP*9d:zSnPj![! :ZE12A+"&aKf(2a^ qgX Q.pUqF!9,2ep<6>>1 Y#em#gs2Zzh3ṫ aJ)aN_F:階>-h߸nJC'=H$xbc^!tH& ƔTБdK!v!~A K^gPQ Qs-rA1^UTHU9Ҟz|rs"gKBUOyli@y)7ۆ+>b;_ژVr^'ahz+;%VThKX(c ȫVΤBk5C 84nhޛЎ/X{8ҵ0Oe&6+"^mfo4)RrȄZ hRacz( "H`DPr|\#$Y#$) %L^YSEε]NQ$ww(i1'ǬY9q?qF3nN Obݚ8F,&tCH%K 䌲\$ܞR!] \(ZՓQ̽貌}O)XK [+Jt|J\~3ޫWƚ`+ێ0#K\ ΝL-s/8dZFFӚlߵ+w;:J~6=כu4]}Y Z䍄Hw#FߑWL7F$P+Hx#tNaUMr>a++xs"ñI*=IBՆ9 z E;K_>)j"R҈kD |rq,T6:0 h0 Or R{)H["5d1O+CcPB@dE$!%tZ)V s<ኅ,!* &G &(=1:glZ4pH+o~ohk &_8jd$̠f _rB) 囄 4.*h*NInGI:t-$"p7,x8"7RvC6mFJ˝j I?)ڤhwىd4p5Hd6^!UzP=An*d( 6@OUtXd7>V;Ȩ$Fx}dU"HToϲ@@=qY@ o^4Evd]VD _K&Rup8Sk`6M=Fp pܘH'\[_'tN0:$aLС'=PulGDP&S3yC4*g'l"%L(-))a!'So uZ>d %q& xؙȂH3B{qa|nkگQ,r\`JC޼`Z\Z'elDѠpV a[3qâG+9rĈ4B <5:S[o,)<;7)::^lQ遢%]̆oCP('Tg':+vϵAdFFC (KhAN3Sںu SOaVu8nzhp8szm C@Qw½A$ci@rgQ _8Yi>6{pj-[ c, 8XN-h&ΏڢM~cő1\S%-,ު+ZN9Bz,jTB˿^د,# {*lR5@ K8dT̨)J; |Q,h>8xp oPrH ħd^vF~eSn^pz7p7pI&>ܵyD KP|_ރV>l9Jh\oY_e,UC x1ɞ]F)&/j%{HqJaV}` |qSs>Δl^5ս%M>څ \_bcf1:Lf)IFư "^6+7s9 i^TC_9tGT:)M/xcǠmhjVe?v?"|پ9T̞%Pze(DxbG0DT!/n"3gĚcPVżڮԌRC`aɡ|W=ַлcĐez TI*6):p/ T'chUض?SŪW:E%42g70#D8甆,źb$I-I<\P!`^ &㴋csKA1[:9DL㇆\`9~8Nf=n*84dW&V&9Un/`P.1|e6>)a4DIވ(T&Vg# + KS݊ORm=M'>6l5l:IC1Etb$W?`'᱊Ն0|(F*T@(⒘)Z ܤ%>`LD-Huڽv]PD+G.X~cy(&$|᫶]G^_Hgc'bmu/uhphR=2c, ʘnG|#z=db E? r;% ۓຂ -*`r[˸-:fel.{+ہ0&tawQ@y- Z.s:\}J"֑t )7(Z;w +|4, p8Bӎm/36g0$#ShJK #1 6H9K!|ȮD`.Ҿib̮ٞ)lByS Cp#)>8S%۬Q]G`yc5_:y˶jcdgr.!$&Ե$%aO鐤e4ھ -.!OZYUUhM=S>UY˞)4N.[&${qÍks昦7/i1V a6)qd( zNe*A ̋*j>`-1F1fRRĉS&dǢN,%ItjML@ ]M9X16{MݥHtd^;db>4;qPӷ&úIb/cH sjO6%1Vp;஀ǎ]7g#F 3* wuWJeذU7ꅪSfR©vyd(- rS(7=1F#~O䄏VL$|>ȴI&N쎓pX[IʚuƕUǎp Vwvd\sF|%lffz6fr\nY%В\!6MW*Rd[)MF3!))]XлP. 2|5GOppooxJMWIxwPfvvzLerIZU;y !b#m9R݇"0`vr48|c?87B{W:pN-؂x,^u-'oUΕL"3&AQiaf-%t;0{G jaO (Z^Xγ~;ZuPz1p 4@[i-`*S?HN0H Rt(,ţGЮTUձS,L,HACjf0uEW`Ԁ SSL,wȌ|X#+b9ΉW.LA0'=0"0Lq_y/A𒝯`"$jqJ#C~$Vk.,eQ^%XefɰE q|ߍ{֠` 􎈑y,8.1s%<,lXa}.|:FArKͦcTxOdֆKٸGlwE fD9e[.Fѫz^p4tuNfFo鉉=鱋MkWX{#d))%s鉉RkdWv"S&31 }YnBRuQɞYk4k>+GBiɆy+CiLu_|( O-wG;@dM`*hJF("ZzpXxej_hʝ(G2j D!\|Q(:bu.y Hdf<{` ? ǹPL2njCXc*eH%cv"țţIfrM:ޗ _*>A^i>D5hF[b .3gms'dKfƀNBKx;i]oi 3\vzEQZ\BG"XToJ]brz*s}2e7.݁a^堀N"LoftAV=a Eڗos df/mdε8סHk~JGnn^CZVЮqݑCE.m_FbݑRxvS1P 4*ti%WBn\dLWC=# 28~ɡf?Ⱥ(AYpux\B9]+LwDu!!]3?^ؔ0z; T 6 2~SD.2f7]/ .Hq$ܔhsRP9cBvлYъ_Z?0 '` 'd J_J1_P7{Y &rE8\7#[ۥ&F3SF^uT8Qe-:n𱄁РДzl48 Z f-8Zb\B8HR%Ѭ3K̘@qqMAfM1 KЩήo aO&W0C.6fN` hEV{f#2,T?} 'P*1j ebEܔ.kus1O0㱾vλ" Ӈ3P%b5Xݐ" dIް(y=BJq@R=x>Rt*vcW@a p,FG%kj +t-_Hje=ya$\X{rdA#Y;fVX cm'c-VR,DCJPݪ.e_霁#{ET63{&r*N]@n:Lf<(N,2ʆgvti:+;7:nrPP `;8a2.c5]UnԤvo?cJ+e?dJ%VNF> EIv!#g .x&la‘>+)H,eCP cs"csbWķr c+X (92W[܊g&cRu6hi#zr(fA QTH-5BΓi;2?9{c PS4@j?G0nBwbPcsfq PJ6ks5P6_&GĿb5uyٞJkm9@fJHZh9wUBEd&;Gr^OQrK84F-"%,]sB3IQN@4A2Nb +FGdɆ0#~J6cnaюhGx+wPQGUhJ;eyx;LۣiIܷ A$H8`*O+9jy CaưP:BsPth WrBٱ\kKz} OcL,K&mvֆa*y\\lXq*黙 ,f&6*ja4&^w1wrfɸYeYZ R˱8-p52P_r*Pm@PSۋ1Po\Bca֍͒b&9!k~.Y + <΄"L ԁ:ѢԘԄU4p+8|r(504"sc/r<9MlPv!Kڈv]X&)kNe$\4U::`yDR$0ww6JTT֡G= QǜY*;Ag&@a-,--ǂ~jș<04r1n: TЎ#JYj0UnX*%pߴk:Am s,'L tY6@HO4.KΦrWɦ(v>(T+08 F0KNdsqfsS9c,l.;v`"=k͙.E ] <(+eʊtiCik+7bQن{jCa6 r@g@mw$ Ǝ "1vIcmO{l`dֿ80ղU5=4iDJWf%Ԩޮ3LRW $u1 2oz.E{a&fP^᷌3lXZƅah6M/s, G-t0۱ Ɖ_&쉺5vkbP5U+4:3' 9D0ߧk@y"ߚj^VHBQD @&R78p !8m"yyZN_4D!'ؼN3|߀tvioѿc@_g#pvb;,kafCü3H{1BV2HG\hG][z!M0^kzwo ?O3ܣ acT^#|@9ĊW2,ە-iѨ\% ΛM|̂Xs'\l5VHğlԟ~mTMlX/+XtfT f-8,{`*JüL+y$s=i%Ų=' t.V "YAvh adNAVyEʖN,bl:p,f̹A+p!s?q_{Lcz%Iܮ΋2Ϯ@GEZbSTBE#VtP\nujW2κ׽QdH! W,EJ_6hMmQ=ZylOnX f|EFlpda `8fLȏoa:uضtZadr٩Lz_&L٩\zbBe+x¤3syQ!6ċ~.ԁ2IixUt!JOaTGW OiEP0S +}:+H}Džmn-lf m HL +эx"jeWa>iR4͞>-8ʺkͧ/Lb[虣 .Sضj&F=>]._Հ[Rl[:BTϳ*f^AB'BI{A=9:9+W' !ό:I6ەg{c)ϏggdLNL,c54k5myw%A8YHϩN^`;$0?6AF` L̬`f;Ȅl9x33Ow8GƟ;ql^֏zΔv>s5xⅺF9ZhO4&с=8b)KM+zXɼiz*~uvP,z =ܧklԚ oijKfK'#.DK)MD7ͳZLE9 SΊ =,.}s |+堔 oɁ :=[BXR0L3M @3W:FY Kܢ K#zBtՍfm^(^A(4ݺa6PԤ`$8Q#KMOÇcXJ/ [2v5dՁ]?#85o0eBF̼c"ry xNOWz'f$@+dN3lp39N Bf3R9-1"iwW:9buŢqSbP2߬cGR>}*xZCp NnKTrAK9ښ&]cC$nQ E0ܐ˅b)vl5)sI5kG*WB w|szhΖk#*ׄ giUZD;B}RY6q>`ESp`/bV xz=n^A*D1*1^h ue2\vj_r,P@j\wZu%x/ŢzUB)]f믴$BBez<yI]VJRRkS23`:@xԾQWrpRY-Dl Kf4j4 t4H7w*4Uۡa-w2W_aw ߀&RgvU)B/F0^XZ(u,i= ]`6kutjh#Ҝ1vkL5[twUGf4ݞZc7Kuŭ : {GwMChBb$8ŝMT , ibg`ۢmGD5[mzN%a4 FΕ`G,G0t#i ,X1G@wǥ^C|pR,yRNZ*І_DY"y,* drlRkEdc)qe,/U&u rSjUfTvʵ!Ȓʾ?$#uDj|ŕUC)K4ցbT#ڀFZU {״be0dug4#:Yt/WdB{f?vw}PZvwr1>ʌU W5-2>s,\D EZz,g($T'S@6 HdjU::GV"7#D]2EpӅ\RjX np|%f(32_i MxhZ|1BԑziQK=_zh6ΎLDVZ<ǡrҐZX$ʅmf^ޚmmۖER~a.DoO9`wp9P+&Q.Wn>kNn x-LF?X} {'(YqLMOeZ F^\R: q p1$Ս,.],^$ K%+@cdd$uM.1pjϑ8ZM`*`Mݢ$P(;Dt3W(y6ˆB-0%@ʾ„cx8E"qYqkb(jv2m,oȟPCb?+|{Qp*4V/a6k*/H}o8&kԄZW7#iY"&`{[ZDr7jMdtLXI wM9Ea sw~k3iM穢_K.[4 ݲma)yMlWOp۝EfHIpAYPP.`Q8w./-2ǗL OD[]+e)RRwEL݌%I^!|9Rvr^71IZ"^}9 ױriUhe,02a=.BRQ) ,kr8^.?3=f.9%lܡ%w7}:\3U?E$9,WU*_Ӻ@Jz]nHi*vX׳SI]z)Ѥ ^a 7ΎhzK*6PDȄ$eheRTAsE'FE'2ݤVbȯ=$$B£e}'댖RKfohR'zNb):C>"lyPmsym#8<!%TG嫟f`lbljo-GGm.lu4G CIFB StP_U P*gx09`:ڒgnPw&d3XHk&i& _߸QQ ?D V`z}~Q!pBz BNST fd]d4;IAU#9F.*jz42$NgGmA^evegk">U`L(;EYts)3ŽTwO'A0V y^gX!\UڳZGCPBAgzvR 59l&"񻣽453PΥq_ 'Z>ik_jgeL2xI_fCp&m ˲F٠L( LJP `0na25]GEݡmC?>mLl[ews^%NBMYoz2ěU)V?Y5VHn>s 3m:6(V مS!Agra,e^ӜCX5oY[šwtߟq?7FZO5{N-c+"3DBDyiG7A4t!cs,s:dq$7vhJub@A_xHkv=kS'NSq K +NMLhf T48Fs&X:TݱGb1yBRT1*a'/yɹfցCz:âxǡ"Þ@@:a*U;cw5XNq =e>QjP7㜈(_]s>5Wr ѡ^KAc;jŬݶӻ'Όޫ|eV9b5c6(@1[vD0#T*p,VtpᗪEhmSyu t;N0GWP;ϢKAEQ a1_nhbݛ׿5 KQ{sޙ͵ ; QLH\hep)7XK,ȓly;`J2J k|/uSc<g &?\Z*iujVÃցѴD> [p ?{Ki[\O&YQu1)\* A]*/Buv %j]SMP@ %DUl# N@U, Y:Jxe,![t'd>9.>P|$3γtTzo P"q^DŽ Y&)SsOɧj*ÒmQ+FԀqˋ8^ tLvGR}6m{k]MsDJ7Uw[`EXojW_/GC^zPNұ_7Nx:y_]sZfG5bu[qE&Z "xYtQc9!rz@Y1J5$mpNbg3BT8גQ to JcNZCC|L'x%~Řz6a0D48W\`5wYLg3n#=˸֢ Y6h\OtWY )k 0.w=M\: ^f g qf!u ;$x8,`& /_)iAO IbpC;;vFڭwsg,+ ( sQh|ǺO:dLJLLQS_K$mjlF#Af)U4e])S Jѿpzf˿E3rמ(IpsmD`Lb.L犩 )PozK4Vwuyiv8S6%LhnL1*"6떎aLЭF"@;eotcTwF.yA -!$v-3zYCϪ`/D5o2-ooaA HʨR̦= K<0'f xb1f,DzTAmGw@n쪗WX$]T:ܘ*Ő7=X_PZWil0~a[>Ī9@AD@92" EZJ8Gxi~eG~Ai&D*:cuf f{n/X+^cjn-/4Yy[h ]=n65.$nR&H6Qb82.ay6j>Ogg~@<;Y .(P='V N+knڈ A7N )rﶶ6Qj"&6\\(QLvJt*vAF$I]2Q,*D *{ʶr|ϲJBgsNHGhMf׿c2ݍkZΆFrĿ:}-"N(]'GݧjQ¾֫?ž,~ Zwn#knȂl0ԍJ+ Į%'Y-G0Օjp Xj+nאc+[s,}g^\Nm_Ͽr9?.50*Ƴo`?s7Y+r_FvoϿ|~TWɠ99}9~s9[|=W`?s7ZU|6J_NW}/ϗ Z۳wd+| קY:ڌ.}liݯϽӯަ_?ך~=7iUWsr5!RwEQ{B!cU SȋaY_Z{XjKY[/&byϋ`km|mg7qQx!W=W5~Oy s\薯%6S_gW}ům: >B@59nWvA2W#@")CLw٥Yh8bpqol/c#()> 3*j`d&{J뇋Y#얁XNZW%,D.I=1{'f=C_>{`rt:RկKj^ݫ&ôo>k i>L9HlH8I0ў1c/°.d’3M8/6s+!6QZL0d:z䣄i-Ydz;YYZ! v3WXi1AT7~ZbVCg\L#vI ! ,4Veѧ\Io}$*6XS%kWZߢL CC9)MdL@KR.9|MZҗ#<恻֍rm"&˫zO[6AqH/(uݑ4gWb_b.)[Z)OմTi&)1缛9qIhFjsٛ\D2A,iI 2tF邗 ˆڔ=)3U }xL; rJVaQK@cZ!Fu~d(x}޵(~B3]􆴽mRHt?bi: |7i7QtZTqC}`HQ͙9fnb Q{+QRRU<;T-!t'ɺݎbd!6  1ƛI1lܢjgp0c$s K2 "RK?BWL_N'jX!Ёd PB8愩d E_&Čr,p?~*KH {2}ЀfyTQukg׏),жP 6Aa4DQIE u?/\Y jҾr0ũk\/: ȦTsGe>bXF{ãck$Q4eh56ӳ e.% EkXj`qB[ZLmsj(coW5u6lP^g) tWBow* c ?kv P?0~C2/&.3vF%׳|XPyBT=[TZNfqmJAK~P aIem| Ԁ;+˼57oZ`ZoUQw|0,*8`}-՚W%RDz6bgM Q_wB/C ć~ʢeO* yemYo^Ygo1i,Uj[|Lu'^z }ܿe}r&­]m]pGZ6|aEi:.Ug9 Еtף2EWe竲SAeh IJAt_K;;$čqw;&x"hߺ[S'O0OVoĢǺBpԍ >ǎw Jҙ0qRp~dÍS塑0→GXb+u\ uR4QQ/gyPXWOЄ%S"X~1Бɨ~N=vl5-X2aCYp2"j_g"y!}!dyvL-6__bb71LZQf[u1E -t̶mMvŐ6)A0>iNp?|츍1E))iMq7EVle7[ݭ0ۧS Ux6mn kxX(Z[T+EAuњ?K3=9Z'mRs.mF 鸘QZѡeBž'Y??C_0G^YD5գ/'OyQaTW;=s?ct\Mh-Ag% ytkpkڵ[!Pd~͉/[.˽`YN$nf)e mJotkm|߂ሀPK5+v|/flAmxM?kXa9oYJ&`r`Y}%r ɦ &$.%Ru)/RdhaCNl@OCVy PIp1j㻧k'i칲e1 ] |=r&|i1W[!4\$Qh/ .I5,<6bTE{6?Ӹa M,^Pެ<-Pu$`{o>ϰQh+.4Dmd~_“YE1p0Ks?OOۏ<+:HjcRP2!Zk~1|N9f򯪁G mA` b~IT:UiwK:&E4)Tc5ŭLK\R@hps1$̭][K5}fb}Y'2',EL 2aNv\Uh m0[molgrRz>A;+uSUA7J{o)xo>.uՒ|k[J^=WB->'?k)f=Pz,\xkpNd Ɍ{ƺ߮VzssNS!3 VMVf70Cbkss]huCUYO^o^D[_B&C%]xWQ?sօ=3AdCy)MYC3n2-`PjVI3k6FsLw);{ѳj8-WLi(6o@-iaZkvZ|tC"8K|Ǟ@ܢ&x<i>u\Y u})v3@.Q yd10U-pRP f|jł-%>GEj}`|+wZq&o'=3ϒ~Ѳ{3*)䈘1DN]+} DtW3:rQiynْ8e1pďcƘUFg7RB*4괻`#E${}amnSiGPX GՉ͛d Xuʫ4P<:lkיE|2oŌƛӕ Smb]l"*9w5x?PњkoK{Y"V%XG)\lp]&ϵ3n(_͈+z߮?t{S%ZO+l w*H^~6DؙBmЕ獵7=h"rF{6u=P*8SpJV?ΦŐ9 ,#6t ]áPj\Y/6WR,8EX$[Y_`4OFD1!mSg-OW2 6wi<)=f)>fϲtdO鼫$pSF }`V]HPG.;ޙۥPv5n0vݲe%y6/rUj;q_Q-tV)Zᾖ^@P\uώ MM$LпCOzVexl/=6+&@m]x. cҪ9ǃC64[ QkH uh %^/ˎ>(i&+̤`h~pyQ5UJ4TIW) 4__.,#D4Z_3-a՜u}z ;nP35 GmD*P>^:/&^4=w jyF!h&*` )ߛ2CKʋPz!jp]u Ќ6qX_03yV֯^5>;R_e8G2gYPI8%h:䳤nk:l:aP1*uTc7?Uj42/U'usxנdN[/rc)Vqe!|pT( 2W>ȖD{@[Mw A*/uV?#Jp*C leFSt%Q|qnKlhm]u!+|O e@ubMo$5@š׌&[H1Zn(I8")BQ2MXU1VE2xnKc-w"K%jp7P/gɛ: :TAE+Q6Uc_wڵ?V#Hҕ"V8i%QR`=W}n'xjOtimnWkpS/"K.@^w'^tJKm(K 'z$.@VٴC~`*{\y"2IlWpr3BS%HՇl ; E*}ȑk V]o{| ͪIQʴZRm=e)J^.?t;({w r WVV664vj0rexS:lii:]Rذ5t>qְh q-Ta?(ZMDTƝxTϼy0ކns< `H<FiK'Ajrha/1-Y;;`]c2*T/7|8I#8lҔ;qWA#ܸ;MDwHNdr(񤩣'_\5.C% [S|I6/R _&~@t3Gq{VQIAojP.h1:p5.PP |OhDR$BrV0.$IKwXU}5G $Th{7;Upis^'9O>rw0lU+U 4hTKC!.޼%([W_k؏r^dg%7̦8򛸥˧.37{;MN֒Ɖ&]%V@ =;fo0>g@EtvJ2\A{g 51 K5zVEXf|}K^Ba('l/+GOMwE]cⶤJG#{V])ҼNI.j^&CN0ia,$v&PdBJe;Ud#3Tlo,BW&a0qIG0 ġ(O  X`s\ $A8;Kj5TeHuȱŃbB>b!&bzAdуC$:*]^$\%esª/Q'X9]d`glzocYE`ʉ?~QҖ!{3_AX cR֒n11 q+ΜuvJ <gz<V >ԛ~|-/'S>/Y`73:Zb`U:OjChmÃd2Z-`!g/+sIjF܃*J!|vPK[ OKi1}X{u;!6psr:Aˏ|89dgew, `N մWͶLM%8iz%i*Unۍ,/ѳC0MK;J::CF-ŀ_RD6ۋc@3(/F0LJ*gF tI)74̦9}ŠIM*@qXtJk%ezG#=fv7} ?CTutxϵZvc͑SvnUd?[ɑ̏pGȾ|& 'AW,0Q% Sqާ&:}xϦ:$|N^ ^?/ TT;8O)̍9}<\c{OgoJk³D.Ʀw^wc~]|{%o.|T7G0AUu3T^_TT#k>$mOS|nyg5U/yϒb>MΊQql'9&;Q9J}[ߪopO)f'*![R\'_@|Bw_^{~}| =1܃\=Ȳ0ݽ6&ۛd{{gwO`S$f92};$P3w a6 ~ W8J$E1\GX_`X2wW׉>++d++ mƶI~0!$'6&PP:cJks,L1L#eLU!bw]w'g6\'F[5ǽ:Wq{Nb"LMt[-^tētz*A Qu`14?ɦË?_&nQT!dX&WOmX-Gɺ{ OԿ?>?J)~Z}%~{w7CBo^9Pj&ʿb:VF8A 1=#3c}tCS 4C&*݁:e$Iw3N +Zi|jv+v=SkF;Dh7Md)x !iDB@v.Ȱj+|AߑdR<+J]JxEe&2'mTP`zoZ5ќJ3wl^ҐPj9ANptv(=xBOOy.eШN}04+A𕾯k:6 \tb X__|^åB P<1џ-Bl%// jp}E/ON2o8MbQ+կ ?PuKTjѠ >V,zJ.GN Ovv AJGRGr;IBj<)|!m㞍HHLB5 #껷`? 7ORaMBqr0<_Xwn Y95RW͋z-0F2 s(3(5vCZ=HqV :+h9 .l> fc:?;}D1Y?Y+fQV(NQKi\ K^VjLY VQŻhBx1bAA@C+ U`suP!|W q_L?83a"1^ޯtNr 2r1y X N5o2 bTNձd5L01od 4726_Rbv$v~Pl}zǩZݓ@#үѓ%&aMu7+`xC.hzߏE}P}aռmsS?#• ߭[/ߛaoW[7/aX{eU-W_{ v+}?յ?ngn=^nnݮQ n²ܳ@µacv֓L΢>>_0{Qy(Rհ, <ᛒ+FF)vP וj4U!#_7dRe6Z]GWׄ8T~VΏ+o~[+ +tJ}I~֢OVlRpĊj)i؋|tܨ8B66U6)Tɧ]tphRg}M/nrtC"~TB7( G#]O|kY/ǃeigqa\bf㲖xB'|m9FT'9 m*~K_xj,tT/hMp1@[Y1aVxtVp6#-f4ln(S;)pkB8h{{MѫG=~{_d~վo~zӂi^:T\W7j5 K 9هɰdm5}*/v!h|4yHAQ|=15z_H+QV0)JK5V] i@EH6Z!0(]17E:y0&6b6].ϘCXv!!+e柶nBig1O*p{o!XCPMߥڴ1Z#Fz Of4x{^DJkQJѕЖ$pTFz)÷: :: S(9IN T%_ȳ Y`p粁7 ymΧi6b?m[;C N^=Ooiie?4XiX=bv'XU5pOhO6P VexQ' %~Sgؽg(ה0%kYthfԍ~mIwom{>n--T;ʼVF}Kߚ18)UtVCcdz^8~t nFKҲqk2EN=w %>:po9%Ns!Uyߕ=-yt_P@ @1sF4ъrˌ=S8 0줠p2U*X1Fhb:4a>'?64|әgc㘥 ;, bYn5֢ߤ>UXͪe}hd*W|l=SnJ&xJսf+kɽz ! ש\i+tt0t@m䴘t"Њb=E`׆9 TTls`TrpQoln`anzܤ#s>FtxF= \L>ՅՙԣUE I-~?BM6- `x=DXp!k˫cY*$C~6b|/[^V:n/Gjc%N}9I?3d.U?_hEfDhu#,'#rymgB\i ʈ(ƴQ-v~D|Fz:NF<|c|>|2Tuũ X:))BjfVXYc3eWqMDdp8JӀB,:-aWA&t5m9*W`Y/t2\ُFm|w:>~zdqC]́5qQzI?L5kÈ`"8lEs\3%Zfw5N\spedcEgRC a'܉"zJw[CS%`.7i~rcv$( v:¢iPTz2f-obI/lr|kӒ f+IQyr[a?Gs\!,׼y, b#4fdRrxT A*{!yh,\V'oW68FMj)bYKOkgCƵ*˕>iS5j{'-_YN:gRcjÁ^mwIp @u4" 舸PBX@3gx4Pk own y`m L}ǃf_jV%=;ݻpU|")G+6MbnCf`ښ1Er~Wba_=CM]ϭ)I۴l'6^whtJ ;Vmk9#tj^TM΢aq0(1;bK̎^ڲpmš *9G[vP*g!tu@!{jMοO,nUӶkcY3 #Y*򱘊񳊈w!"VECz]EE!hl*}*j b"j*~'`DUQ^ڦcDױ$JjMF.2ٚK7M`tyl*:_5v` 7A΢ Yk(쪪dˊ)a8 Y _c ٌۨ&e 7d1wX؆V*(%ZLՙaTGO4)yhD#?y5TI)d%}HtuN;ΗdҕXzZ&be ZR-E_QeҗovlwqEvj\| Vc<׍h& W   wxsE6 NWl*f_]ە`ǔ-Tl*3ٟZӴK:M"Q*6RNJ6* cc?b6Psh" Eû)w7b.̻9BH826P3 Ua<:;x{UhaPz'vDC@_ >P_ 7DI+9k# 0_A,!VG+tUԕ+ o(J&r .y,&O}65j%]SMd)aesٓ87$N/$0 kᮥVes)kAkXlM㢍Eo;d.C_b_--ޔL%ˉ;Zfq=`yd܍fkX4p?WC 7Wq۝~ۄ w&*Sf@u5ʫT7UHGADogk&x~104@JTm[E7Hz4KU>̏o3<ѓzS 5AHQ0+ 01=t"@~._!7o8H$k&Ϸp](TL|:X?YWY=؃Z;L!`-ŤIP7bPвO'!!9WkA΋p2( 6C(bMt[՝ߘ&lُHzVlJgldN&U_ j8qCW &u~]݈(@xlepuDh9L3U-$B*fDq"kaJ ʩ'ܫWN cZ+oc6sKlaFؗd;®__?Z5kEf% Q݉^jid49@Y`Q`L: õlQK+*iv2x-DKwG4nf-ڂWikiVXTΊa8(jTw@M~y0tQone5=.sH8àH`,AZab%=M؆(U J>a$G=h+wO檒N<î;.qFgsjO&<[꬘u,\g^"o;oINY4^X!} F\ðfG驾R9_7l 0F:|4e` $WMے b؄pz%dMK@GOHMY2zR>Gc8mE![Z e<Kq dH%vΠk/b||+A` VK,) BA[It]_7ܚ#)ʬ)c2;̡ IXO녦Gx>0 u0"c F ]@fD* ak@+=> ̼&PIto2*7J Hk{$5f2$eWݲfA"~lCZ#4rh?I4L:Kb`&PqV]glUj0D-UI8EG򜐢 )W Or +1l:Q_)44RNEepNUD%gS* 7Js&" 0(:vffSi\͝~8?40.C|!=G{-hFZ~퍇.`qğ! o{b聻\&2cQD5>ڠq=pY8^s&D\#j !OmY_Nٵ`>SHP ]@%s#(.ݜFUUm[oL a>6F1>ufsحhQ& b_^#'p̧ (@5f%VWQ:ACa̻ ?$́ډi%ݤRHbV ފ9Ud/w)mLF5͜C~fH=1$pؾ2:m{jYꬎfgg9dS'>CE<᨞qB:LRa cF cZGh IC~o3׬sYOA'O -B,L7kJtfхNѡo <8|]d%(}]rAe{\7N&ܜrT&4yF,_2ⲈNۊecxz: ;mbL7ʹԇ|4%wdjD՚ lDiQ@Ƅ'EG[4Rb"T' P4HbL-ZҩmbL 8N&GN;9۲}.ae To()㠛Jךe1IicWR*|^Z;GE{CCGd nTwԁ;DM>{gf.>I^zJ$y˒) W" 5敖{K ͌Rg>ˇ-u(`§Zjpһmz-@CWnuttlHby+RE)L8\d5Z]OO)Zň&O#sCp:U3$ۉ,:'TCH1"L}5A0Զ42@bJό֋5%nkZO;N[ca4'SsY$OFwXgt֟9%&N?LhT%2^Vo ח5iMtk J{4*&h~QݜXcOtM9AO7XsJd/9:z (rq}\9ѳbcyD{өNهnD 6 GSEj9Cu=,q"Q.s".eY4}RJK&-kk\|^L8+ï|TA0zddaZEG\_{˜Y,blh(9͇u*h$7i]TTs^'kc#?^b} U"P5EX q ?A ܚh"[omJJLF%/\`l raaZ&Sؗ9ٻq}Nn`u{=)w_ ,P'so, v'Vs w$ ڶ.R6J-X+&ARg?a.wvoU.li>~'yJX_S[K^hUj )LR.򄞢YN~!$pi?-TL}S$*&Eǿb+|8ȧgn\J{K3WOl@DS:crn wُH :ГnQCT˷ʴ{)fԃV4⮿gp4=ƛ3]\ێ! &崿{[O]^[±2H+Z|Ţ% ~u>A |UI烍-C+_0!cPvK@ei1-=OLJɟ=~$Y@M+ZqŤM1C2BeTؤ QJN?ctD,qk>%>~avtAI\Ea"JX1W@F+y2m=zzC-Jrʢɭ6J "$syn x 㰁8;SGA^"-}6e|&^UO#mO{&$W'R@'M)]VehEO^k49WkKjPA==|Q&kɆ>t3bQ\z%GM\R0fhePf az F \&/4GOp>5&Cpx 40.6riA(^Qd9lՉ̥$;Ȱ9uBRh}g `#&O/kRfjH~f#lF%Ύ*nTi-6BM;iiX)5iT-mOڳ`ϘK&Nwz}NݾfJ|[aԘq1Ab\oqL݅Sg.- :,1o"FNz9 1fT`9R1& Vu s%|#Ny}zz  ? /2ؠ C+~1`Fu1LL'"wc# Pߌz#W~r>gj|A<V0|[ˬa ̯|Kkլ a_ᒡ%}1uUrMsVj|Ԇ?膪MrC+$UNW&za;ÖzhT}-w=ca{Fl{LaB{mkkmy|+ mBNYlBd<? ܦxsuOd] WEk# ; "LHCz{Eb!we Z_"p*:` Q!GR=U: @BYةzדڕMmS:LYM+BQr $7CTAcGY~|B*1[Dϥ 7Hm&8mgs3p+SD/ HG҂.d@}tY:X=1Aq#JF|! wGQtL+_>2H]'> ZYUneC-{Ͻ^ԋ]`]9eq.RSXHŁ0| s!Q <Щh >J 5;Eb ^?Lx.s Ɔ9h, hyg鈉OɡW_zz*D=?ԦAQ>zR Ocro}# ^JK2HK9)W2<›+ ;,#xQ{q nj&pj04$ބVC A؍-k@֩4+=>^md`OZ )_}7,T"RBwu.F*9}<;DbgG K  ESʅ9]З >ՕՉ Ok_Y=E C(g݄G)U"0;fG`_+{RJJ 9+=R/Ňom@j=k![-VWֆt Ati)q'XEN)NFgڎNg5Ӻ,u]/qLRlG#륨HyD}SY> )0eZ Dnj PEtmx8wS[įMk]oTxvҾatn_Mzn?? *m'A/)+5Syua{[U qq&?wvDVsއX%-1w#GP{OkkU%nuo*1 G {FbQ'4fBVVU_6|)h[IP*(b=x3L_넀>e&ğ ︪U_+'E`&:I>`!sx`\[Ⱦ4kb`[ٵ0S߅Ŵ,`c[2p8ʲx&n-(@q)`)鄷 X=ޅE9 |m.5qD H;P%yj BʳY$ gi;-\}.KZ81(zDqxƸ˼ Nܕ&n,%FŎi}=yRkh!oO҆8bnmD5'eVxY[D8\`Lk8er@0j9Z[ Ljf>}r' y]ǣ/ bl]%6LOUB KK EԋH"(C优#`ٳ ^ww0MGMq]tJ~9z+44kF[!t${" 5,8y-X : ` TGhnl'I \"_X#G+pa%Gdb=%\2mXIwo֦ 4ٙvos0C^n;˴o+t?>+Ź %o%Ndeǀ]MZ6Twe?j'&kX08N/A9^q5k67n9%-^<.ЍШ yQK쪣k 9=v_48>H qAeafH"iR-+o2˜;JҸ_d1U+g-Wt\BJ0/?ԑD5Z^uPoZulٰC IȨ+Tc$Y(nTK@%Z`!acZU-r޺fp8"Huh/d=zv.fc%~$&L*M*lj(oYr˹~Q//GTPuz:*8~L|\5`YK4)KI=p=Ng~c 3<6Vz%…&zB8HDKd{doן $lVҿ]WƦw^c~֝;w&Wn$Mѯ`}rp|0yR^::xޫW/_wxഀ_ Hn}D6bƏ:*U{瓋SutXJ-8x[;`v?(F%ҝ;w6;O:īds{kkk}Ipn`C;RuΈyǾýw͝-%U>"Je 3L2l]n`k-gYj!O˪X}3k1^U^޸E'W]^K+]2ljy̝xWC<)f&;\QѥaR-!:)6 oXh^?Iwom'}89y+&mֵh^Ci;|v}gG{5N" V^{p=3pƛàGjU eI:LHEJ1"A1@g93` }j5z) f3Xm&|xS %+ .6AQpR+]B'k@.B6BO%SLź{^!Eb&_0QTbrnq#ŀ/7\,if9 ]>qG=Ht ,bɄ=񎍷To{?N0IJ6_dx H%Aaj^CĺƗΧÒV޺ P9So/cF#  IA#k~ D_Z).1fsN=2 S?['&4] }{mKl|N֩9: gvBd*G}HXM V߶.6ݡO;z$" 6T"pq̗0|7|M.</ v/r TLaz-2Ēm1ghҀl&@ kx=R) .d \O\kz Wqs$*"(aN\\RdPz0No|ؐ?!x1Z<ɔѣԠT"L!~9$L[b4"UM{/mAU_~d#?{Wf~_=5]L)ydH߿,=5 ݎ5tZ;IsUaBhXuNxCIWWTޛr7ot\\gȫB&-׿Yn\ЧLBgoL|:NS̘NEv.Ip6BebЁ7 й%\JHkCp)-^.?A-y$n^KxɊ||>i;Z SonwMo}w_7C|jm׃_?w~ {*?YjYZ^$ ,jSu~Z xPh"Am?! UW VF֦&/}NWӫhSfn~`2ICtq |@Giykj 2?;xh?ñl\mz2Kn`nў2r9G:t\) ]K5PweHG>?eEm</ y)K9;FvBO՟:7ZJFȝMFqy2K6nmeTf'=*I?#$9S֝'14Zm8Dvӧ cݪ!؋[)wRׂ6C=3ӴpA;+v*T}x['*4t k7D^v7+7=hJc7x~q$'94d|K'Vy&\ 5'hx-ȇa|t^_Jσ\kSD<IK*@N" F;1 w&ō!^k u D\U I?e^lZ]=|3W&kGO(Y1 ǁLXSp~l?td'^HgP֤ɠ#cjBjrI%D* d7fttUr *N]GQJgh~W[>0V.ˉ&W\T?<1Vo.h0*+DVUh}VB$"pKu=ho*煽g1Iut̠kƹ|bdN j+0jbc8aꚻ%w<ǼrXg_-ņ\Y^[;q [SHcbsxakkol Ƕ冧EZ`Q N xG3C3{_<ɎW3p;cx,\蕀"]YNDf@`&gafA/׮Ү:khhh'Uu\>j?@krBbvHCx$;{1<':8^5P0%p˜/{{Nuȗ#gD|J;;;E{ar1-÷YFiV9:G~|M]!TA šC4۽9Ny>#_+xӏtܯs_@XX~[4A?ܮVtSe]vS5,5$2^kOHVMIT7nwK#2NEM3h、pGoTEmFm yJ~b3M=lWR9+wZ} ycvFq6bXwl5s?jc!Db>A5%x*oxo/P@7Cɠ1_= %|K yw_ I-c;w);ftƺ[B# 'AOaQdŻ0Ħޥˣة.)}\l|kK@ G  %5CE3M6-EsRPb4_xp]!$'@'&s|:(%+]'y NXDzYM\gjǎOŐNYqBO$ jQ/=m{\(]'@k=mGoQgϏ`tV Yzi Z;zh/G{G/U]>+~'7,/_Ȳeg@jiu7Iio` ͘1#l?&ަNpzz #ay%b1DzB&iZ~W/ŔWYvc^1@~϶1# w}?ײ'媣8x=?'m'J>;">@Q$_K<6^3_q=peϳb%6pZ^(̣EהHU *ⱚ#GĢK,[$gpCJତ 0D.@축.(_t_x :c_Xm^kq> ~1&'yx +k;8R)q?V~|l."(\.kO+|>Ƴٍ5+-v #] ߵ\eM A^ 42cK„cZ*V&`qrY:PEH\ݥށGh:.p jXGzi̮Eb3跿5j%t/cލ3-&@59 JW^B/]ιF,bIMgŢ2SQFO$d|J7Psz[`[uǁCqC6C,h_Yc) p&X6~]vړIL'yNTZ+AKx)p6ե-v*GOGd]T4lT0.3]rt@ۺF@KB7-51/~7犓OStl]~L=\ϊ@^'GMHi§@x3 h>CѭE<: t%GhzG^eRÑE'S54Jy5𺇐5u a/!}bWTUuOꀀ~aT;#si@^J.D B}OÌC):/}= 6Y VjBKR |T t:sN[=>~7,i_'H~Iz̨Wټ|wwyTtd`' Aik,<.t:lS,1'/iix"s;>֨(Q3i,m`z#᜙xh0 U^=i݇wwSk h`0Ai^MMi\ Gx_S?)U_/6[R9}U=:˕OMtQ"oo/5lإZ£d8 mzk|맄qƖ90[jNJчR}!Jyd|FNa4GgP*7(u`DIE |s!>T}N y_9R/IϽ} ?Q(D^?wn/-?7o+W׊'[@=ۘL"&$,#SDM.=CΫBWTvИ;\&! i!'>j@Ón |o@صe) -'2.z V?Ahf*['ƱHVyhX^].~ߡb^N aJ,wPjTBiu}Zޔ*e~]C#,*sԌ |Eآ33^3`tïjnA*/zcgjsv %#FLdĬMFʅ(F悿tz-pVČnajB"3>NZG0Y蒩_Z9~?#0)cY ȅTMmQ~VH1{q+is|.#v?Hڣf%x[1pAfblfN3<{:#;:͆7qauVQK>A6 ']LϊsՇk6dեsON'ЉO@!&Hd2)ݿ_PY6BZ֫j=%/>3>M? Q!}d{6<2uAeT:}_0iz9X m|'gtq4d>rXz3uC"yiAF˒U;BO2i6c606Q򚳖([8Nf /3K"F W[w60e"Ḙ +V-R\BaԸ)aɖK 8  8V;+Xw{`ΫcX\J`:mf@*9j!@iCh1HV.x CR@)UPQHn9_W|CG+c|Xq( ==xpַ䧤_Ke zkoabE4X)%mɰuqPBi8wݻ<z@W8ՉpO=]=ixRCNB шg/HSŻWUd _{R] hCn)U(0*6oYF+C!ې~e0+xFF~c(S-ϐ\ա!GCF\kiHԐ\ګA85OCbJ7 $sdxh/K b| w+?6Txa''<}n iC :qi!օ*:@p tBlːb'+U}A] )i{;wKt]%nn"aqa/Ukjofj7BblgǹWth;=}70jDB~Y k7EẄ\̞Հ"Jٟ &vPQRz@ kQ|Dt|:]]v@GX{PS!,nFz=.ѡ^SroF* ޾|ͬװ\TUlCBXTCϥe>6NiXˆJН3)*~8Ċ{GYFu=zvpxxH " *NZ'EIi%5|Ρz͝T(tMOSF ;R! +cv-8=^ݿ]@M/`(3K k1v6  'fإ6  O p~S@)/.`ϋ7aТ~NvU=kn!Szc# &Ru{`&}q.4WaZFz%Rǀ?_fއ؅C'OI15 w7<"N)r5bCZ@RNv|B ج$qTGˊFZ{GKɠNlj$8fr/k-ׇ$=}7=9.wSKn5hQd2?!&#p|kaE[*ms'` <.(w0U°n 6ho)KZهXF=&=!wjg[N!Z\s4|hи Fy|[ So; eU-Q~jub%ۘWE#m0A`r$AN'5gÌlkVõ' ~pIQs%NJ}rIt!9Y O8;s,UadvfXML^s:YXEMGر};˕\{[-ט,lhMv2oxyA4USk+-ۭ"ȯۺo"e7q^']K|l ֿUu!3}ԎoG4E+i9M3)m)VnwlM( 7to~D!ge!pdb!adžH5=+pjG]>1*J;D( <]N!NEd](Gp$WpjsN!8Ri 2 z1&3ʨP@~k%S<[!xjWC6ym:5ܟݺK$wȰ`?vߑ3th1D j%n>% E|wn,/VW[)$A#^l]0Y%0:Q,+<j,{`Ni? 6,>4=H:7? 23 Wn -T4_% ;l*]v&?eC qIV_́$?aʍJN>fSsoiߒ,`T3 :zt[5Jœʓ IA>FF$a@^jeOYai2!fA޼mRdc#Ip?<ۼ%ԴDrLʤn(t:7LJ/o?+mۿ};&7yVM -)ъI>`nwb3"7nLP]t!k'v_F Sե];Vi (7Juݽ`ob 6FPkĜehmRLf W`t**ߒ "],Ds%\ d,E6Qaޯ*W՝g&{B~gyٸO3iҳ)]A`G:!H~ x9;z&>xAI2!|B dfهY֟ *(gj"25Ԥ[>]Fyb($l]'j&`櫓]M⽑ȷ,VW@ F64Ec oǰÆ[vģEr{ :'2de/P|Ьf TcO8g׮"#mӣIT׉ThReW>=`YtMI ;st*]36k'][4$Ęb ;IWPJhj!c?P3q:!@xnD%A!QI~VkHb|ԜXtv!ud-Q&Nj 1m6S3 X=hL,Saqr6 TV_i> ĴXܝ3ddSU¬ɤŰ8j&@"Ѹ;o`ޮ[d T ci,^V,rQaOifm0^T7MR9cA &f9ĦXueVPѲ/X&eZ p b Y<*nj>;YO[XI=Kq1K%6~5kUQd;Α<B=DzHhǀtC)†#!Kh&00vC1kv˖tZU EA ̏XTn$GT;˄YZY* /˳eQ5kQ6]h)1ݑ5D'z-2pI2:T?u4ɺܺ odEۭހ>HQ.}S\_R m&޷%^uO0hek8v6/EIg#-zgskui:+p$ڐmGw_mf@Q&xqah̚T`vRC75aZ@VCʲhifyt/?96FD<%$-^_G+gsjhV{C"F`IɆy ge +SEfE(>Ҩl[. uI؎$nqsU\C4ի.>K EuPQ@qy(-@/j1F/c&+|; b=bT 1q̀.1b¦=n\v*y$qk*;Fl~uBBON:*N"oWKwCn/6n4`S3]TDZ([3讣؋(ߴ|'xGg>#zz$t.$d+*ɵҝUݏ^®ڒ=[ZQe5>Υk,6NOQcWD  (0ODD+ƛ8EOQNJ8w磾 /ac R;}5ښi?wfA@"H~qQaoآvp!L5/5i &~.Rɕ~ˏn{kM\6+a܂u'q6[kد `j6OmFY|* Kf]-1 ݝTd=wrV'|֠0jU@#H;g8/) K@_ǗdjYMdW8jãsݍUV8Z/j͠k~Qnvۖ_Q|n*4Geyޫ@3ҭ%zŹWz؀q ^\cM`p E:AАg֊)T]QLFD9CQ0Q{Ԩ k7oP[oU[$qA7bٷы)5'9P78/_LJ0䩄e҄ >D[T0vwbk+^mJnmt̂AP tޫ/z/~0-2 ruЪfXɘT5V[죥Ĵ* lp9z6`a.ӌ:tݺ *Jz)P3Cimv]>В,rrm<fVӫ]2}2e3[W'|l''O%\,k.!0q ur eX̪;TH\[Ƕzeid\ڪz Ye(=r*»JUD/{lԴtp^;1yyo>Z}sU)͚y {}!AxJ$ܖ} gDjՕm VI8lW2&=uzA9Yq-$ /)$X z$ѨD"Z$Rbmys?~(aqή̞rgZ&tG{Oz5(jWLEB}HtgybGk~ 3a& <BPqi6!f7tY e\aL dfVEUN|]W]h*oGqT@3bCٓ{>MSW|̚guhoz/F B`0új g ό(ԆO7D3VU62H1-O"Jnvxcz^@ج9!=yNWȬOKJP!%Dd>=!&,N4&Ի 32. x WUa=ᙇ3,T1/075VfxvaẖJv~`9xAx~ ~\v멾@ n%]ZݤuIZeI B FV+[ÆoG-%hx":em[M}].<6Qa46`Il%&Rhơ>縔*8י;kƤo=ɪ(|{GlfjxǮ"bDN۴Ma9%YPWmlߠ3 *p4a29[}>r^g Aak z#>zœxT}0=@?7ߡw~_?^w.R<<_ia6^y9,FN/`pfBD9hFnLv$X'栻wh lxLLmpPf}CȞ z+l-*]yzD옘$e9YÅZAd|(Y aY44?4hP($,>SܖM+7.fET'FV8$`$4|0j~d u 5:kr?ڿf!~R;Be?-P_տ%]juz߽{sR3Rʈ | TjkeWHfz"(F/JxU}=dbFG7)e1F.u5YruV&| ~;u衛߯UG2?{q鸬 XC< qiUpAhcUp"]4-녋40dGKr/M@4=YDd8lEM>|1^>$X:Δ,cásc}Zm>!x+ ;2Da_vP^ t˥at0M>aNߕm j(a܈RWVAј]zܥ7ycF7R;$/{lOm#e4韥pOG`7o;!9mB@&_f 7y+BPfDuv ;܄Sğ6f'X5D+ 7/-îW8#Bjx. (BcUi`*KPᚸ ^.4NYGK}yM,HDHCIxf0]}Ȟ_qRF90x~\f5# ,w3"0q |e5gSFxy܇n[QյĐ5cEA#Rj$? USOƘ'nYw(w^9;}eŽd_M%f>q&$5S[BeH~.ݡMahV]yZ0JJl|PvEsA>S,lLjUsb0, r` nEqd̗>(9}dϲyo0()f &?}dVJgDjC"{N)T37mh-Ҁ4V5@j=ӊ'6T?JUnpn *\Wgr ǢMѨUMՌGyե%NtR_cW0{έ-)$;?Άe̵ e.>,i/>,a@GLovm:j(2JuQayx ףJׁBfhЏTM8 ѽgS+ά[blhbhz^FO?7B)JjAC6 Pw* X=^Nʃoxz _HR /VLruR;/C#=Qi>x:X]3ڸU=pɂ \mBm(@r< m`@I̶RgvW\w#Knu+q.l>.&:3{oMb-f5iVrEb%2:ee梛:pS% poeu7 b3}_%g/]aef.;|_w\k_?L?vdTO?-SNv^ڏ[;d􏟻!tb-{`7˿!wv<+O1Q=Uc"N뗏Q"DJ r kYªuQ [LȱGU]aٍNeP^1@._K{/տIT|j>ZrZ:\kG5dܪY{-d&]TӶ} UV:]C턶]MVyA> *mwmE _)im*I2y6d:c8S #\Ʒ_t eJTc8@C3*wu)L ׍FJ[at#=cL*$C KAQR(լԶ)p>.RGƈm˂L1QE_6ftIoPeY_}E>O7k2=;s7q5T [ªWײ8䨧;u>pa}Çd5#pv_XD ^06-+\'$G4b#1-4ެ~1GӮWU3+ uAL}8w::{(j.=Mx0_jcFP3`\(YPbh]S~Nk{SCVWU >,݈NT& 6ؓS`ˣ!^~ImKkɋW_%?XTb܋l%"|~kDhHzsMn(GBlڍ ]l!"46؞,LfxoTGe:$+Zg=蚿 @o ӂu ;}BgZYjjj.T1ԁњDkv$6oWOal{sm]Q;D4}TtR$L, &Qrv 6]ud~mz/N6 ~<;%: z?p KqWVΝ![J٦9 ɘI!I@Y>d;p紒X(0l8qER6r$B i_TTYH{u.݆Ě4WYWn,PHoCtDTͮe<=KsÖqgXFEB=f5I4t J*IIf <4KH,ye ,>NPg+B+gg~1 \XuAZZ>i$D,dEXEa"W9|n/ȼZLU=Tn> 73\?H671lEڱb?wn##ahn7VV~ES]@|@3it]PT/OhcK1i\[~j-'}W?C{/ 8{OG_1bDňnHcSFϋ܎;唳rD,4L$Z!\tBOC 0SmC=hDw}(NEk8dh ؝hr]hhS^5&K| DkN #`;aarL~Xc2r'ORc~ζI #ܖ"XzeikY14hs]a4`G sJf.d5u'LvВr i >g$tP*f5! a;:h<,ǻdCoẄ́=l#L;.  $ Yn\R fK/\8\W`_ z"v4 97/zh}V<.Z0kd.e%Dz̄Փ{9j.&UXDtO9+Q3|( -c:D;e(ԹLiB_ֻi9a,ÒI66x-^Q- y4vf!3uY fD=LڱێƿkkV_wMuк*vr N0Pպ2g VZ[K5asRֽ.fIw\,^X 8)YjdBHcUtB ʢx!WB/wDkڷU~D( |YfEW `7]>jm<~A995W@FӋE (pR ȍQaERb9%K0 - ֦ NKmґ2F.?.@rG9y#0 Z"%Gty](RѪ@LҰʹzLsw$b颾+QQӀ1hh. 㔰+ RBZz?\ KYN(t_ECCmP4f`@8үӅymV',HAr^ea S"\1flM./`LqHtWy>6,OAn}_WMކqr\ڭzMc@GHvjwѬÃlBKK+A6  qkޡPdP7-wTʍ?'b$9Bn.[rw1c dž0-oE-ݕ'[Qmno$ @˚ >l7J@n{>Y>8"ξUj*cp<Q{-rVR뚼i2jȾDKֱ\J]J`Gz?m |]:4E|9 haZa83\J G x20i1rS5牬e E<wvH<%Oh3 72bW/ t2ׄS-LT<Ѱ>$MtI5qj,_R !ׯ/Ќô7׎knbWk]>2Fny1H)7? W;>J G6+{;L/N V$I;_cWQvaXoĮU#ꄯ`v/ gfݽ+0w]+2 U|"=\6*ȑKtqcoȥ-„wbUG}H8(jq5h`X ZY;!%k:(|÷+~N3+#a'ʯ̅8;*½IK9ea¤!R8cVGSMȚ)R`u4fwqBsաbA0f}NhJ#kBUFߗrn$5_?|ju|i 5[@sTwv& .zȰ͘2ظƆFP`EUᖂPX{ {1ɦQ2Vߑ*vꊯF*@`7 LGoFލEs.i[)i@kS")[ `1 D^oU9"l^Ԑl ą'pC6/"1756·`:ɧ}p"UߜRr(cb$&$xiR#Pݎ@[JER PTx@=^;)ϞuVM 9ݥGPyǸԘSʜbSZ,Wv@=_c|aEB`ie3:!}3TMJ~ K+J]mo ++ai#_9Vv-eǶQXgH (C:̍ 28 #43wJpQmQ:S#९9uo9!S"8'*v0fx|g/hC,J~,ctYEWIU_E2D#{-K "oe>=zB}V.66VXv2{XVo~=A<93tDBIVIJM?X%&'T &j3utQ2V A)?`X*Bk:?B )eJf!'*HG($IRb}ke&Y$eaY3"Pjs]޻t->t[+7Ғ)ce:!MR;6Bwy.RiM'ǐ&r[,LX$>5ԫ}U2zt`D!9@՛~ $_+~ N@Kؘ[ p̳.QGO!"O؈&|4 K:M$0:Nϻ$ 1 ^jZڝ3mE(4űwq+`Va>nu: *d‘B-W!y$EA-3]8 p3E~(Upg#%"SQT|),mh|{9D7]$?U `/ɐxjFi7+z0mu' R0oB+qoB/5Y[o;rNR.@{ҴeG]jDx|ttX盲ą+fiA]> P}?wݹ5 \w}ۧanagM FM Bʐ/4$&u#RY0f7IF1?nQ19tʛ^w!LG#$(nqr6=f˙: uuk7I11#z`Sg'J0$`y[,ׇBbp|r9̹1#DYD/xwb:SeQ9(?&H*"U򘳍TP64CXK{:h:UC8Ia!BnutvFS4s̻">Nv{sLoZ?]{>=yޫ=L /, #aK䠅ғ{}ɖ8֡oeV졝8 YpCһ1[]3*df1BR_tFh-n"0V*V=^$ )]tVew[ǯ_]V2@QrZS _%F):$y L^O}fMjPAԲQNZ஭,cHf\#{/x&) k1Tv;Ӟt\Gg2W<ۤ7[Uȭs:hOZg*(y-MN&0ά&x#rˤ$VLÀϚnD3^@%; LrܙN~-9͍QrAca-\\Fb̋0K֤5?6P6 ?N+œNU1TuK#Z* %> 8$00 V@JG08: 0~,CAƇ%0~^!xR]ٶ**f ,"p>lճГsi'ȋ=BaZ-lpbٟ_qLD6J8 f91n'A$.8 ȧ[jEtX[-iQ-y5062}u5^~į% <@)P_W NFNK'692[aTE!M' kK?Ed".ybj\'w☥XSC=qDG,EǛ]p+'Z,Zmxq}W }F/G]L()GD:b6{~j⮍(7oA}zא 1H/8"R F@]SZ+C=gu0t3/Jfco'/yt%xnUvB"ɝJYf 7?X nzC0q6l} FY$$(--AI1Ogto-z*Inh35wCkaՁ1/Ǯ7yY:Z b#TӖJc1 +#ت޾iqo3C3jkeaqSF=B'R=?Cf:+llm%lmǚ;zzG!Pkjcr2e\b g7)*$_;(iP40 .}z+ÁdpB^ʬC{j m3 pu/ ]D-Ƣ|0( 3KDz摾,& *:C,*F[m7z4Gvow`$*:TVJ׵jbM3e|;\O^0&]-uyt9Cp z4ծ{ⅾ]Y,3*Jpө]|)Kq 3ݼl׸"ct}¯~d$J"$!pyCn.MxU-[&RWzX5VyIrp>-)-l@-~Do *6iFZlMG̱h;TO,$:iKxZbJ8''# ڳ<}r^e!]ozl #_1YX.,TL-u{EltMơc'{+A:((V?+T8(ra0J{=^3{1iq$k(0#LEhrRRqv"s̢}6Ź9Bjۗ>vYiIiT\P5ktR LH9oy{Ξ7We!Zf,t?슓in6C>-gɄhA1ըѺ[-0Sx?7NW:O-ijZlgK8{ @B?/o b'Յ_08dm; ] >x T",.VMOpaXMZD}613lY$n=WvRy͐YfȌ4E $tb8l78rE5q| dtSyU@,<|=rR:!dcUrM_m8 0N8YH)}Ԋctز_wE){ 'E83MH T2\e*l{}WjI`/(9=."<`M]{`FtKm]ֿ:5.!;F۾+ 39v\$+SZykV}Uk5/ (ReHA~hU5]'/$zE-OVUp_iڮ֯/ 37baxS;}WXѺRx rN%@ךӔ?`Ы&QRCT1JѣUCE^d0?նv%OũQ|ҧ,OH8O`Bg12 m>Fmu.!ySǽI `-Y[o;&DluzެʠKh.?KK!O yWwwD^1uܺoOԿ_go4g% v;9\Ms޽ͭغ}߼o~k+ټК̕&o/jVo}4d=>S'[߶kۛ߭#%k>$m%(^(-kK^34ul{v:IfF;V)FYFmg]rG8;UEQ{^=?>FoU(& 7%A|g>ѯ`Wxrp|0yR^::xޫW/_w0H[Pe FYK5_$gV:Yi-a`rxn} 4}pPNr>gԙ[Y$~g0;wlvr%%֝L`8N]tLpD-;͝흻?Ŗw[l1yD 3n_H>u,< P8`u5?|z t TQ\J0AΟ :h31g.lܒZ8_PEgۥM }MV3A*Hhsh&`^HVH,b:ȉ$b~\O$(T=Pzn$Ci6R*BJB# -{M^gh!/3~7n"UeXKf8hq"7p|H ^PG*<*ۚqߒY|"`*6hK.c`h iDK`Wn Lf1fu|BR<`v#*8w.~-by{ yqmO@8qBVЋJ\j`i k".ȍ(ж}ai~QK*Jv7_`1Q_o%ЭvMp2`f!K/ rJ LX ^k~>lPǚl ;RΤURP6EY}^^ ? z)nn^C#[s|Eqe.Pq$UjT1!!KpAS@?m@] JlYM_:I9^MOuE%ejWFt Z_J ] S44'Yuc]yi>3aPg sT6b\!Z%J|#Vö؁3XUږW?OI =i:)Go5Th *PTU&?P/Ʒ4M"~ ǩj˃,> `8T:FFPDyڃ؉xqt&}'Uj:Rou~H$0S'p/uerl2?FC6xҲ|V\WY' iwkl[%@WGg 3=}{ǽW/z݅,`8Lc- A*LQun5Dm\_.\hᣇK%_NVUƶf-Z;-9||Y-3U`M " vZ-I?Rh4M 6bfUvܠ7FKhуZΤԙo7pjjՕJS;[HgqjET?-2bsJjҋ%x´arO+6{P>?xC[(̜H6B=P,d'٪͇b)|mX.'fTP/` `VP<(CVKNA#V.xUuǸϪ?ެݿZ(Pcp4PN F);;;:bl7áN}ӸNbKaW] $o֪{ӧ-l"{e>ញۗ݀zGo^3/aPA"N2:r%YOeX#PY)'% KUkRYbܚ%#8YG=8 Y„[tfQ*==k4g,]ᗌm&rs[ڡs2ӾDW譒nξmLEÝ-G{GmW 8K:fFUOGk{Y@ Uv$dO2z㵎Ƞt@\ri'/^%juS)ZaEu J(V .tÏ-b&2h-7"3PA2/\2%p~Y1K~(JkHpq5kg&Y[ շ+ 't!뱪a,x.\/\IB<7CV=LHwr~ƆH[5sW%Q_w-"kcQ@9f{0EwWF'Øߡtx{zhoׯGIg`>v* 5p7=Vō},-?qsuÊźrG#ڼ˝E.sݨ5Fuz =wK%zЁn0?hF;)ix^{ԫŸ/ PBSfܕMN)\uLcrU'^ulqsL1criOG~ɋ)aNpqȤ${`l4WH?l6(Ԉ  &źRKk5 'i 6(aQR&vп2}fCDVYÈsыWo^#V="ڪoB1&Src6VPJ]T3# {z% %3ÀQW-G 9"z>Lm<;GC16xlOy6 /[G mCmGÁѺj_HaᲄO y{X\uEOASaT߱mxsxX3D"]A8,sIa0_.׀aVOf$7?Mb^ƍࣅh޽#[=Ɯp`8l m4R=dd|?wu%ۚjժUyoYMp$t) 'rļq ̆Av t] Ԫ/]dݤE:Ϡ(y1, ֌pK=\x~ˑOJ{YqPMO$ E<~k8aufмvYxb6$$ (7Mm`)b`{Ԉu[Dq@KQ$s2^ފ%,\UbqakiҸ8訅|\,Tv`'hptq,sO8}6$|( " iK~O,'EJT#[# $bEEH^ djֲIX +c# P<e4,;&alXaA0hgv]1fb.0L{>W V@zfPw3:P(ݑNe/+|]w!]0yWs @.J`#"y% 2ܼ3S-|72H*LgO㰥fǯqZ :5Z!{I=%ۻ=-frƭ5ɞAAiBdkֽ2`:/--W/ViY1 x /QRc{EDaبÛhV]rx5=gA(tezӮ:# 2Qi^rlݦ\BDD-?̌mPh,)] QG2ܺEO(dB)-x?&_)|7KnkFb1z i}Bɠ#K2xTzceͶ^.,8ݮ*PNGzUpQҥt|-]lg79k)5l_o=5L2V4p3{Zcf@@hVZ3K{O͊PaH\0lH@܀fg(.Rx5."\,0xvs}݇k:(vSq 3G hTQHy(z9QY%axubLhيs1e"NЊ∯d㺬FMOxYJXJ.q bt:r XA`UBϨ7̭.4w$U)|kS766]WfVRO~TݡoK!g21j+^6{ϔ$YoDSf*'p[:zKi\Ľ^{*r`fT_?v 6}eLTWeff~ؕF.l3k-1te S( u<^^pk8%P-~~ó)'׾;2FaOZYP\/hKųrYNFtb}[!V}aCR˖}7[ՙXRXBBoe$Aki!t?iE_7_.A}j|̷K@ŚohªRUGqCs\J'ل?-dXE1%t]KtP*14$J6jh` .zcj4w M)fvQbrȈr/79L*^^is%RvL(RS&{Gf>igſ[+l.r %L (ט: VqVO:eC̐Zȣ^sPy;,!9Ji F|܊w'`aTHfx]ɭ)2c)LUlߴmgTb]4VPkI@9MQ2NZ!0L>a5-P!,|%5kI% Q^f M3Ɋ3%{ y*qؾ7,>ө0N#)O±EnqUVc<n\eJz: YC)aw@h-Eyİl3p~ 94g뤋q\0[YѣkO0&Z\juvUo+F\\oXtDة Q֣]*#gћ_^Ҟ~u4,Wf}G m-%CZP Ÿ7`d>5tW @/(Ywj5V{,6G6%UI14f^uY5dMG"q:.De ܲ)WVͽkK 0\u!MmUIVtFx5&(> a/456@rdQfN8tsR&i{юm s-!U7VPȊG gca@fk9ap |q)v9v:!tZj6XR3`oLY!h%ᢩ`GjbW :,Tq|dxC`ZO, cQIH]4z炳(J\@X\Ma(g[fFcYmhB^n/R)Y䄢~gB?,Sjrܗx8\c9)ĴZFBX V+m"cWMH.-aIMrJ&tj|IfLDxd7{~w<8omHhk&gh) o/7>36⿈_{~,aF-E{N^ߍnw l)k<[JCށ,VЅ%(dWz*#.B3 "Y><4hc cCI: ͵eEP MaM8Yǥ.C΅! uuxr\3{KVV\-vQ G!a'BEzxb}Ax/e\>CU^};(Hjc'1I_~wkJ Fuh X-/kLଈeGKUL1 ե;mbJJA\tgyp!&-Tq ;Qe@]Q3St8ܳz]ƫK*ٝO[|p3S؀9^z>;)ԣ;H󑀐R""ty1>e;tyy9>?k +\uC$E.T\CY1륂Qct$~'hGt%nSh&ƬکN[WUP~~`dt$ m$f%$w5~q}Bb}[ +_tA7R}`SbâӻOT 5͈"/'Jڌ4YwU ֥_ѓSE4',y6쌒U,N:/wϞC^Oxd8m ^YIk ɬ-o߮ykm)] w8#xx_4K\Bu_fNP 4ڨZR~ ,6Z(/G܎Xr =q)LW1I^=d|"`ݎi4%v^Yධ !)gcHF.| W{KVg{Khwh*|%wZ%ov[2 hi{c]jKN)M zH-ru/lxeG=G__e[.-9RocS|'?Bs7H04.z'p=ܤ{j.U7)mR 9HpaGu cC^ŗCy i <7nUAI8OߔY9uaF3l(W/`g,rk!{B= ma;hdP*0uE>o`dwmZ1;;o/=Yv-P=ܴmut"&m(*lu*uO!(hQE% 홏Jl76fxR KLӒ1[a 1O{;,6*~ Bݧ/:/w6gGg܂u}PBO1*86Vq{=Kn4o̙5X@"] ߐ"mq#3# $*y䀭d 恷(jOЀ*Vek!dʧAo]#Ui *w1km*Y ?{d=y͛3n}DPKdr 6t:J*㵀Q_d$m^5' @)@VBpÌERXu^*|5K Ie֩ վ7v22Vn2 Ӵ[/&9P^ x'V: ۝LQs,HVWɖ jPYn!Felwz,9,Z71%,Mq煢Jb}h3&@Z-tZRY3 t8WX[onXX{' UMi8`4SZu]^M-Z"kᚦX>stE_SifAmNTj+Gf=XByTJ˜kzd) GIDn oeT9d`g1ٹ4,-j+`yvNO~?y??;{y9=8c͜pfV m_gT$!cGFx|l'77Gv6޴_o,nA-B(o]XmA^onQ往gh%n_/#.0uMEpbqm`*^U}oirRa_3t7VP. hTVm/?bu^?9 ']1ϐ1g2ktŋ\&IZę(egAU$6(6jy/.sW+i>Tp}:ҳ6\L.ɋAv Z'dtb?捴8`ư-).J݃PJEsyQpzR _D:[Ds9H^ۂ%*34fQnݎbFmz,O}N^!׃P 62D_조&J?|?' ]R,5[̂ TXE!_R*uLlH!h#ꟷx7m;cA@f2(X,3nRSSr#ZtNU6ِOyiekt4ޱ(笻I9.ՓZ Ǽ`)ʮ-we. BG 8:e͵+ëu$~~ == Gߋ;/R["ۀ<w` &g^@hiq qCX:TIm>[vYDZU47nM=ahdC2a1dZ!JƇL`<_4tշA`5' H$Nj8x|U.[ ( ,ytyr&8wprﲭׇl`zQRO(L]&pUWwu)gu'ײ&#" G7aшl Lq(" ={ƃ/So;%Ũ?v$r v&Ͽln=_N|n%&:Sx#EL_étr4/1VyfYE?.ڂ7{rK0%/k j,y]&ܧ +.v$NDg./1Ʉ!2%>$it XSӢA;[FSL`ma~u-P.34*;HПMESf ЏܥXnΏ hڭ\]AtVL!H~6)ZzSa& M̔,}Hbтp*DQá!(cb(Z* ^P~ !ѥ} hoS࠹no%(C֞<&f}`XԈyjD0t\4t}<͎`!{74oxq/S''d.VrOGx(=T  o0%>wl-(|&Ŋv bӑ@%z YBg` R͎ͭnΎnϮBۀB;Pf.vNPiF;: Pf iφE.SD-ԗ6%RGOQ_4q "qvgC[8JYN.UD]/p=6sQn#tc8R|c&ڦAPj[38!fRmU.^3'l% jP2ÊИnF⺱Eҷ/.toVe|B1٩c?&>kq6c(33}{@0be(0j(׌Q|.[; "釦&= 7%ה(0UCrЏgcȺZ+1iI} {MIA ePT el`]O.zM %z)qUV%ٞ56N_E+'KYU[܎ ofF.L7ןjXj_ӮRx"0`:Oc )_1w2 H?m) ‰9-|0- a=[5BUq sͱ08(st528 ]CYA^þQ2Lcm Q_~Hu%FR!qx99LRb01D;>gE&\pAh $/2 wM.V!rlxX6E~ϜS^.:IQĔD$tAA<,ŘJ6U)quNy 96B]ielvSW@.q623+Q?x![riC%I?ݝHwdM|&` 滒"e,7(؎6ߵԂEw/vqC8XEϡ%Q:^e|0y C: AyCD`pZ9StPu?(, s'sۈ֣ZR,2{_>Nn*-Mxk^ҽZ-f iw:Y m-:9U[E^ (c&C,\E CRaC&ńDn`h;tQ=pгiSDV m}-%]}*s]edHAiYѴKyUT:<m~S =\/W:e<%CKS3CЎNSP,]LRLå9# -5K݆o \ DeYuEޖg?659KhDh0B('~tt54"qT tbs;Ox6f[xFR&ڴXUy[[F_JPx YPt܏[:5XɆWf"qaz қ}ݮ ڸCT/^Q`&V^Yu 셙U4jeHTdʬ*|d}{efU9N6Ug^ZuĭTB(*_Uut *K:\Ȁ̌*c ^HfG3L8?{լbJN=.k!+S B%6'jO98ILUUlaܖoK9 /BwSzPxGP9GV\:z^SU (Y@-̘"Qp7kR2mXv'J> -eh!.S3<$f1K9iASO'O~~1*dҬEEAAh3HCY =mX6gxW˸xZȰrlYnmDp4&Cl;4L%=g} 95 'ZZ;+vq )D4ae- KN[^tUzN7Rw@ڦ"*IbHSAѽg+ A.:'|GVI1哚2O/Ayvw3_(_e=M]Y[S UFȳ+XKVE- "=[BE(rѣ]m 1 ns%_g`1u2e>Z0dl3OLiP uHĬA,HF6݈o8OmBSjg!CNODs 5+2 ìhRI9K#^2h\(q{1^ڪꉺGn`X\ިY*I)J]R VMe&po9Lr%ߗ,t64YaT$I;%)F֎B~F1 r%26Z]Zz0M=QQ {ju$*>T,i?O!Ы\CfUR*$ 8Y &_UH.T4bIj]J$&| ˿]"sόE&+Zo߇f@sN {TmzI{|ZRetuAoYK!SXz &U]8ˎJ&WL*GJ`mMT1\\{Tʠ=3RuRoxkI x-09rPa]j4Sj~i$Hf!fa{%Qm )jrTJNMZXiUڬFJʠ+<4SE֐V4d0˰E`LcI>$^ " .:leH2$aX%TiBnMBTxRҋ1 gEN 6ta3.?lIN\ M^i3iS߷ZYX..@/7FdqZӆG8"&ʯ H>ȵdhm _FmS&xX62f%ti&_sZ:Ą.~0̚|s t*rfF iݪ]P)hм`J;5xGp;(KNVlP^~͆p$eDL{>! i'b( Wy' +0z9@r9hKTk"*Pi A8!HU9%6#]X{P8jEFxPy]*AsJ3rѹV95݄FʥiGt7\>.>Eu['e߰ErA \^TqDbwv+#pnl5 ,=(TB*Tu+D0zS%+ѬSxD~+vR[)OdPoK7)IĴt/p2sM_ +;e [1PIA&G} 3`^6\gƒeGA 7Z:}`p @gEgCLH^cGqNM-TMP>0&C~ɽRiM,E b{=N3y>IsTՌ OPfp.= :Ie<c{zTL|SV;=0FF{d`Jm7JYx-4lBw\+˦P󤐚ˆSttS q-kKE3z`λƇFROv@7~~֗W2Gyy(LFӝ\'79p3C||l)i4S(o! .oY83ɵ^ ܾv gqTPs_N12`,CrDA{qtS"!]̥7ij'p3;C+Jx^fyS\`ILA!aSwO냋}p jؗ:ЋFɱak`IDK63Zd3/֘ksH.`l)LK,{ 6bև`+LamfCX8qA{lV"gL# ]NSh^YV}'z)WHW)9 juפao)O:N@)AU kQvetKiDF5txv:bŝV^w_ǁp*lV)m/hn:mkscՈ3JmMɏmF3Y_$Y/@n&W+FDv=]hj$sq*QaVֶV䝝F-ޘ%"[w >B `L\QEZN!K?`#mh\kXoq*nWw^o 0m%eɭeu&#dN.8/q GI^TZ?uxصܰXǟ*|:_} os'5Ȗ<8{hpmnlDT%` }baް2t]7$&*oR-ۘ2u1ͺY1 )B,DgSɝ[%kbV~51 S+,u6eE3VƖIV RRe=.J)Ydݗ z 41eb3Dt\rW@|*++pqVyWǢ֑ Z-KNs1fd$]LnB)a1tt ԣ PR"uA&_ŧtxN$7rJw&ؗB&2 R/ $,03FX+”^xtJ1hx2]P2)xgYp 'D;ۼ3=ˆh֨["i z0<~"$ӅLЈW_rR$2ś1F9o1>Tdbr< \[_q-k`t5'}{Y]KWxz~W@'XblW35⃣5ୠjKMoZRFf_v_F'-L#ztl 3u 8"{"y{X9d!ֶ;94~v6*(dx%{H};V^lwHH> L,B΂eӽToSBv, 313MibPUUyQW2YV6ІsځͣP aHCjUTJAg:WHvd뤇N AmL!ZJBPclruVkmYD6p*:,u̺R]{ES ,|sA_B2F Lm )7AƣT7M -GG0_:ݐ$b%ׁ憗|]ָI`*g!al_!}ih0yB7"WP{ךeP5 |qb|>YE$e-% B9²Mre1bNc"< iZ2M_?!4 J^"qj+ЩnD30bT+ 0WJr(*U(jH GS{p\~4Xi%ӕDYW_X[^2# )q4weͺ5b@uk%Q `Wqڪ{nެUV5Y!QZUW. zc.> Vo,VM"Z>b9LWZY)mgΘq)rilKly Vu`J*Z¶*VMʮ`+;Vмc3z(fReMC,ԧYYNd,xEujҙoY#k5#x5_G 2z V7`*ccŒ0b(ϹDaZz)Jdf(l DrDۤJ4.̢Lpʹ% U< 1)%7 RH e`VsDjnūLQ6#2ɱbqËj Hwr)S(R6Oܮ2vE?Z˫lQʯ%Ҡ?@~얺gӜ9s AKK k`.ÚerDFBkFX[loΕ݈q--z%d>^GJk :qQJ7 |z9Mi#;(!&PfAmm[0uNNI1VO?*LfjVsbRjҘl0WL!OmpP/sJV+hJi_Zʿ1N2oД9| n 7$v2с?m lw8m6X(`y-pnP8L'1XXQ3" `o9hRyORnIfZ/Eт6Pr {}XF=t O8qܮP)7thS_a+6.~#$f܊7f{ĝ׹WX)1`bY}MI~62RМD]_jHs 7~Z |\v ̊X?yh%^;Z6(aRL#Z/T7}rdUFIWaRʀmȦjJP`vt\Df/ڒGƎ.k%!si%mAϠь1oer:e~-sΊrc֬wEmBߺ/ofmΌDfpt"ks6g$js֐9dhϋMqʋ `)U!4g=]gkJ3ղ\ֿqSuϗi'g1Ys:ZcMOFǚMq2e4bѿ8Bq,JRa FP}ģgXG@-1$4Ĕ4a ex[.e"Re!D <\a!B_zъ #hzn;5\Uw(@沀dkB2Hn-Y¨y[迻Hg!ȃSv EKmu!]ߎ<?I_vye@ qԎ:ÃNV\C|Dܑ oc,(X3,lL"oTYJ>MEBiau])\я ?;LXW\Y6)K:V1EoU]G`MrQf"4K]xțR:HQ RbYfC2rJ SN?FkH^܌x{iRSask22zj{[U扞Ϸ0t߻|0f57@,Qh l68LGF35Hi8(CB<A9_n)X;Ƶ$<~x|#j<3s.R<?ӽcLV{qQd0 /2(jU v!DC/tCEl鹊hAui7Q(B4컵Cf`^q mwb0=+cۖps55HcpS ba4,A=cl]mIS7+@+ ij`PeE6yBg)UgVEqDaʰ,?X>FP<2 ci FjFiԯcY[Ug"NƸa8$rl9=@2,R}d +l_ D5Wم`Q-{nʲZS0Z>=cD!@#ؿo)YA:'-~z 1Vنtcm];xvU[> ~7<6AL{J=E0R6hivzƠ^{;DBaip +10+ɛᛍ76" brRKtFWɸhaGntYe?>p$"#2͝={(IW(@gފ +|iMlqiaU9W*[[N4R(P̚ڟi? 3B9%mhmο%5#}`:%1WqȘ]l¢6/^*|i:ïerGpFrI%Q{vk#CSiqL𥕹 .ݾ8.1J=AFka(<0D3#dai'PR"/@ٱ !&ރ1-jk 叠BUm8C`0@'ysy-̟`Yy4x>-5.;\P&7j-̿"N?m-%<_^wr5OǺ_o%PNjEzJ$f{ 1+rঀFāT3P 3ˊKHFp+C7fPEߎ޲k@V1ܣfP`׶},)T',O tl}-'ptSRf5MC "=u9GI@5i Ldtzn [T*K(<"(RNٛ0}Аi2=VC6S푓-O-BIXftPC-=RƧhL"+}L,GFH`{e0ch1^Z3ܘdZb"`Al ~g/C`TkwIAB[21ZpTR !8 NΡ)9BR-Xz ;c߉)XYT9,,(n\ I9#إHGR\0#{҉T~#jJ2Bb,4^vfGjY)Mc ed"Arp_K̘E̷D!H .Y6}:Ǭݡ' ~\bIlL|$223\ȥ\~re1Pj&f.>䌒DX(kV\h1dї=^4! A5yD3 PN5܉qOr+@qPk\.k J ep 2wInB]}9ᎸG$`<^jЍU3;'쑚ފQs~^ xA"Q/(v-R"^PJY X~g-22rVJUV|k?m[JM }CyMv(F (i|Q e:hI՞\ PCxe0[yLGWa5E$#[E XOƭO@Lj6ӊdҨ y h!?_lL ;T=:~~ hh|J:y~ȽGW0'ر\v' D*fԦ^z%'*a 7?l:YD]E ΃a눺 DVux-n+꽌xE*fQyO0(~%-,:~hY)3T @n;E5d~6 [l s:%%CRN/M?(!@r%R XDXwm(Ew3T]RXhM[6+(OnO"Q6`Iɵ=-*"H&5V>a"xUrcdBasu; *vD{YXoO#`ARڱGcp&JO; "=lflj,Py}4NJJ04Е3%vCOL 8*F!t=ʨd0$ Z&F,| ^Vt,P5nÃԟE np>$s:#. k v>&l+ wmD뎒J2Rb,uBRnؐ^p'`d,#Mg&KABu[^-iσI3beg _2҄sJ|V1AEA〚ٹ~/#TTGZX۬jjҗۈqI^%xqAG3O VX@*@)\dLV@h˰GGS-- o:tqVNS܌`DYqNLz)&̬'e !u/Z^`ft)9  T݌nt~ɹ@ϊg9h(ְdH;}}鴗ƩfR9<4O$&b.|1^a Ԍ;] WAC\̊IIoU_%njut-ByFJF-Hd,\3GWAR{c'H:  + #ukc^868^>BFxgH8noVqf;q]xLwL1Zlt;Q]ߖ UCP,ʳaC5ưm;ᘈ_ &x!Z,33m˳Tf?I=Lwõ6}ZPq%$]@[0cr$~C!`t]#c7 j'z4 wPr` o=wLԃq׫[NɜLb}HXTKWBJŐ\KH|Z8J֋)p:6_+4!-PL~9udEAM mCb; 59>C_Dȼ%}%9~z$ʧA'ǖKF Pr a0Psyawo x3Rυ2mH/!*u𰵈Ѹ<\+,nȸd:pՙz%KDxIhJ[gRNӋeř4B&金r:t"xo77LXq W{˯\uFqcbJ{]6dT (ZUu0'zrdn< nJ ?t2Ҳ70G9AEt s<o\V߰=:OIXmPCZzj&'&!a6H :ОS"h*R-&]p !:'9!JIW0F!kmeFtQpʇ2h=?{q{ajdX۔*|=۠+@\:B&e'>PEFAE*ԔtkD Ί1`}oՀf?c=X\T2cDZfrgee.La|zJ[~vE%YV"p:ҝ=8孾ga>I=MNKpuh%mx}+Fw͖QLֆ:SZd,`_SyDCu{!]8ҵtYex*)'5 EL’%hRzT ~ƹVNT:p'&Jc5eЁۈ_&W7ӉCulv8aUnWt :ɇMdWpc}s}\G 95@ ʺB* RxJًgk-(2.H˧43%o@_Ɣ/]ݗ,6a{@U-86  0yR ECF83D 9Ց,̑K!Ļ!5@h"͸31dg8UQe,uI$ƒVh~.fB3s%wI~K%b%aQ9X#SԖ.0 ^gA3Ma8{dRZE|5}N7 3>cM!CfpR S(ǔ/K4֬OR|5F u~): _2AB)VC"'+ P.O'=P\2q%VoBj/~иt}V;ctll=4; 쩎IMhrU<5Բ\P3J?C.MDcÛD'}2y ~ܘXe5c$;vR|˦,bTzO{ 9քo,gRuY@"81Ċ GU@Z,y6@ea`%@%ـBd[yQepY+3 OSAC5Z~('Fm6b( L =j*0e6w~+!4R¯&i<4qm5YDCVh_ \{\оp T&jh2N)2}FI? wTwFl6(4z} FHMEӱa.(LҶiމ.krkkkBGT豌äVvιe;;1H3S S{Lf J\j ];eg-]_S}M4zu~R tk߶5z5(ԖL `1 5#9RWqAHSVҔ&Rp<" F8 ,kTn݃RVGRk7$! _yhqq¬s9X΄bGqzPgdɥ129"0-a' 7Ç Cȑ`@8h3ܶXdYIWoZ0KTci NB樰`Ғx(0m^6fb0 v~ |mU +PJ,-L`kN9hDMj"맣LPp/![촟ሐvMxPƦݿ~E(HH+2/Ql=1~u Gcj0=#~1%rI2ʞ%3v:=yӗ=ةGek4l]f1p^* >Օ}rxK 7LӔk6NE4͟qaa^̻_͖!;2 =WUNEͺq9S?9U/V/dU<$U}bWsP]kƨtQ5v%4:/Js;)ט՘1kŮNtv9 8٨Cp: uUaYf ]5êbt$OXVE;l H 4%@b,d5/Pe\L9Q˝AT&~)' M*a)-In (߂|U[@U[n-[[ ~p ~0 j>AI acRWFJB-(VR_5ѐC 5fnPXY~ij2pfOAThV}=D &K;QŅreYl5 wn&f2}*!4('t \T\iT6F,G0g0M9ũ$^2#{`z'gu1-o{=ZFwdž|~|?pCz]G/x0CA+|?OY>} D y J-7vfv'g{wON^4ŀ[+JYR6I2w7 /i7nf/=&a_ly?8*a݊U`3atڝN觼@Q`(zu Kz&2>wdFN~H6m5#/neteg r"bB,w:95Bt)_'ܢe2Gテ'v2ˎ [EU ${~~y=Jb!ɉߵU+&s*;Վ1j3n!7vA5p0,::xrRh[Me'*u Qr/JtS9|lMU)/A69I*ЅSk/Ƚ&9z YCK|] lf=UЛ5xL?F22 Ǡ6"'FSXdpuptrx5*^C ;ypKKuw:{`wZ2*e8 ɍh W@;g*$6brod l j a#I?xޫ!ZaK:} hcGporˤiswmҸl b&:qREhQHmpxWNRqs!iB!3y $s  8 inp1B=Kiv_3%#"!J%t"rO(9à}$AȀn D1 ZsB#2Pn7ENe:wi !i1Kcgh$Fspxt4Slj饫IeQV\_KCkzSlr}A9 { OX"fwrhϭS!L|2eG7l|\CGO|:&E'l*G~PŎmeg$ T¯uvj07Д? @&F|Dy#3zKlW~1+P]apM猸u6N#ݬSZA\4,xQMKe]yaL(N滤Kh5AM#cזs86tZPkL!UL$xQ=:Dh@IͣZQc(;O_4l6B:T)q[諥8 ▉rP p>vOȞq =;'^g股`T3{vE+lh&̚?[$ת:&QMI]!a oAY r&H6R2P'<@2!^24Z\@؞DHb :$K Gs^:my0/)-hGnunSedm^E#h<us{S-@E5뷓sr[Q#ӻLFcdA1oCo qhI\p T!ŘM$ܘגo\KtT"%zq_eG VTwI`*D\YIwJ:LŽN K2ЌvOfT.ڣRz؅R YHÀ6P0 L6e2flK(7-F:'s] u+ vxhS -iuw.n[Wl, ̪ }>{OpfcA B%_)xPW $F[}_]iCq;)& 30SFfb_MM9n$_|{_bwYdak^6#e|=i8 FՊ^d[\o-m/ouFP8oyքgL-:=yEʺV5.3&ȚPY'9b#2LGJ_%RHMS!]vW.s\HTПX@wF/ ;¡k:j[\ ߉%ř 3LMK.o/Z<2Taa<.bކB6 CikP p)7;T0Q\B6'*uĕX' : tOvKиe$%VYt*y'#-&ef.[hTÊr/, KnKݥUrW6Jt0칬L Um$b;.x!3 Ns7Y`eʌמk v:aPY$/Qas͇_?|쬍N$,dfRl ѕ$i/uГ5751$Yɠ t0b~AKv+q&::O12\E>d6Hޓ^ҖQ>`JHi+i!@98@AF4f2HG 3JjgX` }QM34 eͳ+4޺LPkpJ4GqIK|]3<2l ~ /^w^Z&"i/5"^ Z'0Ad*>Ns1h/я乜l 7ysF[-#V.#ʤ+R|}ZV>6u$Dw^!8op:Z2Fb&fY4%vֳI:0f0"Th^GqoTޮ2 Adc H:fi2. `BK;bAUeGdxHQHqh# 6\TH4B/^GPWQ(2ՙ#ψդ@,+md^)ԣ]&K֗{4jḤg?waxm̜?F;֣Z:" 2]UF3w~kAMZLqBs~2/@5X~oYZ,Zn]~aue$$ EAjRJU E"8UaU4*vdz`e("ӢVl >2wL+މM͉ NlӀ>QQY]G{vy,n1{*!l4Zl,b<ݯQӃBO^?:1ԙofEag5T#-#7) ݸXìJ2n|nH+›G 꽃mB잾T;neUdӌ}nÒnt4,)#uu.aw/bwЯ Aϛ?8BW<,Cli"7x0K朔#oDS>Od׼}TEp=Jw:EߢBqOf@l~-ݬĴ)٧Jߔc$G!١$̡c)T+S5t^?o˅ Bjb$pDyOֈtr^hi[uw~p[" [cJ_QԊZC"NB}tA D{gegrXr!}=z %O,Mރ!hٜ/&0o ˆw _7|?wTOd{ldΰT]r-q !-|D M#-2zqwa1Q? A[ДѼbYHh4bH)~_Q6JpV`h)|eCrG{Xp:)CTL'ӦAFqHz:(pB=`]$+ϥ{ImCsE)q06EɆhkSձF?l] e$W54sϒTDݤDMM2į(/'q;n~,%rp⒎ۚL15`XJ GzW@Mpq\5<:c,jX@]uNzsͱc*>̮!N7gyEcC BE9]gy)(5@ߟ`Ve*rsh9 8/԰p@~JHa|aʂO\=0)H: ׿lRKCyEh(CG;En6 Yq;q)_Ej!HMbg",3 !=TP; ș`E5 l#As^RMmAWi48?x(v䜥 thESSv]?§\|U α$gĠ072?Ab@?`+'Q|xČkŷ~9cy5Uͅ賄8z;`*QJ ?5N~>/C:r1h1JPԉs F.^؇4uzw ,T%,GC3K"oG)EX_Uo^:8bEdm4:8G7j~!ԁʳ̰{ızZ8` ".׫؊v+zWhZ?xъ~ʋ |E6~WtmWL4)Z_5csm+&`ѪLۓJPԶM29olWKidVL[e^#9Vso(+(|r1냶S*Ðun\&?* G`M\*D[(VF,xwsV@j-ISUoaf'6qfv*ɼlP鐚X'' t5Ȇ%m/^9]PrN#EE*eEK ",E\^dou%ű}Բ(Hr&at%#Bq`{ 颟~JUɝK(9QN"Q08dL{6g%g5'5 /J%wv>x]^EjM4"PuDơYF]"':yc#VA_[С8ia cʶE7#M܈;>AtFI ڮQbT{,} DAS6-z'_JK^z.*ۿXNrBqφi麚FJ0 HwtPH)eDk^S4 "9FŶtՁPr'){ԛr d0ydL즔 vTX=bpӉXptL Ps^N(\JLA!+nq%:# B' 5Ko 2mlt|-tOu ,(x +Z\ey(XR:H<:g1#eO$A QF혠p`PkM Uvɡ*c΀*#j8:u# PC[ S2Ds yNy}dш!MjOLM(+pS( #%? I%2f6>H3Q:QGif\0=L-l(K5u -hGwxYUCVAJQ[&dA@cSS41 -kc j>SiF+-My5s|!n1Z=7~*4V-.Q]cAy VܷZGʗz5*y(c-vL>RN#t /ab6_EuV CH,'E 7DGު|i .u1nӻL++t67D}nan>9kw;+3(+Op"WkPkV]TOǮ>q& x { V9;fUp/ݚǒM|sbdN:,hFKAJ<6x}5{8x}u7^_݁W|SKӫ3J.-;V^_ݡ-h6_~m`{[WbD_-~W_!ػ+)=I$!'7;++ I6KJk@ֿZ%s ʿOd+gHgâ%b}SGhkGF~-e< UP sa%Jg!cHE?,Ɗ4#IJѮڼ `6vh@  F@+R*^0U.{G)jo{ Vw{owJzu3dc}Dbߜ+>.`7X}cT-nud/ǐì=NE"NQ2I.^ bsC|*rV.ƠVNd")bnBݦ=LJV^/lʂv@729m(*H{#1܎@Ѐ>PA%y>}Fhjh>t~܊,N#E8 /O^wĆ}9}ߎwx~zzp|ʼ:?oo}biRբɖjqij|}+~-6nTáz4^Q *F%-8q!g7Yx8FPvL ӖIw2,<2-Sd$m΢<֫xq uh4Vx%T<|U#lR|S rDLˈ&$ $Nhm#1,+ȝ^Y~ٕ_D.wsyғŋ\˽\ވ?6dhRHR9ˠ(˛]{-i:Gȸ"Gb-g'/6`ӟ:/Og{ _GZJ$:>yFdՠqx j:W Vm`1ίzY:^׍|⢐ @ЕS ױ,~ӥ;T\F77>U!?[W ɨ=UB"A̻MWJhɤ5m*"mBLЁhihpjK|m )phK6>-ۨdEk4_Z˗|i^_KcR7OvPĺuŒߊ+-LJ+Dwpr˜ǽKR"Zl; )WkOJWOVAZ?vt$>uwMHͨ}yp$xk/0/OƓ9ߦtf׊LlXi4G~neMv{TI$_P(XK@̇UmI:jZj?*T{l,;?3YF-J?H5S^Xa2J#A'&5auP-x2 BK(R J0,]N|҄b+wa8x<|E>>WQ,(sRL"ՈEOFaO#-<bo,O^d:k1T-{Ya/eV͙UPO|=?&t;WiKQxvaZloa8{?vSΓ9p>A0#Sw7VXjd.ɍȾ²O|#(+d[9:\(v}{(n؟ZNWEPZ+l蛖K!Sܿ^pI`ChLWl_E1٘GޜTZJ5%gozə_j8JW)b` v Єwv嚺WCoe&Ҍ%;++xQ*Bܔ6#2ӻxS1U!V܉[T)C7U?RWUT-qtKqn5iǏ ,w;q]z[P:{Y6̊+}j8@lBsZ?%ϩxxş)@v"'q[_LH"wc̭j+,+~W3,Zo#snǐOY Zp5<HSHUgTbY"Sugr GiToͮMٵSRj?(y_M1,7[Nb" 5)Hނe|wF}BhI^/i0e&6O9V(:6 Q| %Ɲ  OvA%.ċ͒^ahqz]PVA*n;Ͱ~˗p>8/_zo#Afی9+VOOJ4i!xa˄~.'4Mdm}-أ-w81IM.E8wdQlsq*31DYK8V٢bz}iGX:)j8fDjb-QͥRt9vaO3f)9w"UQ葁{N)㹁 4OTAvT6Uet\UhHVAV*m vVC 0hp hҾ Al~Dj:FE(v24KIv)|! \&iC9==>}!ї?79 LG Jdh:Vv Q ZV#`+X}U;{z2 nw; [R ŋ0 QaQ Z %M#ywdiP!v1,;97׺1YE6 Џ1՛SkYCAy=^w C* ؐ-ȁ@}Dedd&ߦldi5\V"0;H'$pחي~V~?4[N9#Teet:{vX2r`s&݉Vh Z??ࢋo ~zTu"(~Ri'QqϑGc8f !)B{Q9Z"<0aiI/ bĭBW,(;T8272pVcE]jDWa.qhɆ8Gh:BmEjM=_0.CIB@Ks$_&{(Yi# Ef,}SV(,Ls#*2k\Uoe"tvn l=?{qb2`6QQ4]ܢeD{+q{4_;xS#VOz ѧc- dﭪoae@ o>FRo>oyWMe2w:#6T~m_F ;zNtL-<2 [~GDkzHde=ܩVFہjMBE 1A&%w_<jH xTZZ OjYrPڅWw~ؖPNw NTR>3!$Wo /ev"ctJ_.bWмxM_kKTy":W" `%*], ?F\a)p[wH;=q[JǷW̰~kˋ_&ZIY[}\0&+0/<@ϮnnnnnnTH7`pD̹cRGMt˿[Ѱc1>rOGl4ȫLی6j)ZQn_5IKGc`۪0f_fٙ g$VTbמ)L gW9?۳=OZ=1yz,R~M@f[lb{(SIwO_&{`w[?x/CiKec40J8x-&MF`p#yn }O t͛%[\1skSg/^vvwva@%z ˢɔG *o=U[ae4\%t9hŢl@4Z0]p4N/Hшň-k{VXZXLCYb&6cL#F!7N8)@bkB_"dRRLw*|Qn}'֦~\Uޤ`܇4 TyՐyX̅lP~-bl,+:} l;qO}g'.-dvMP+]~r *q:G8VdHLlvZH[A%a8, R4 xdʼaXl'l-(rb<`?g͠ccekڇr]kMROJ]ړXSxZ8OS2еXW8F!IhJ4^`0%$*- GQ441o{[,!2]P&CM#Y3ƨa71pI @ X?m8t$>g!kIlK)Ϲ,jL$ljl2Q\% *$o@ag]wpX{D{8?f,olts.oxN11 +k]0rC1.snpOix1G0/X_+'_B F j2]HEd~\4PKA沟lW[D!!(ۨ_ɔ?K]"E ;KP[?lc?=iVR31<;0;iutk˘.f>;Q̝|Z|;HZdԤkiM0tcj* <RMqTऩD]HqoD7\~_mlz""c zflPrszvrp3-88:U:>>ש<;LfHT~܌ҢfYTD,OL9WQ^Te\(:H>d逶tyFĆg5=ER1v&OA-oQ"L4 +'5CQf;Uk/~9@@#4c6jU-$7,u)i GwK!?mb`71wwFV3xR?u]r~G-&rYSޚGb3SbvUΕ8PiD:~~v 4w5_'& m߻K$~(/*sDxB6x `3`P$-+g \#U6!Iu us1'OW7͆qT@ /V> ݵEl~=6=t69@A.zA,)dܽ@Bn1Ac\L`6 T|+FbnS%vINZ2v{qEVEI-E88lh:o4WZ4sĀՁ&ysMuh`brA_ +[2rK*ͻĂ;EM_^N: jZ"nCQq{beH@I-0nAcIQw e >e<:}4}cUN F5G-*?z^ǽA!NJd%a\*JPm@۶q6m08dvU8>;ɜFQ518(mXn.@Ep(\0-inbm#g.e,YmD$sz-]?apםd*LZ: JFFp(@5[ ()d*@q'YU.L螇@ T܂hsqM s 8J:=$P slVv:,)w^ FIRx^ >u1 'І"Rm,Gix( 6vs< Hާ 8Sv$c(D:+qsan1L5IͨHtц05g?wjoXƪl#T¼gn+)'o*:MI0Ou<ѫ0Lo7ũF:Y=zajqq▶Ȇf(p JKpqMR/#z,A/bN iBn.ƖȖ / :a iZruo2_v>zˮN^, `ՎL N3"TXzD bE/Jtgoj3drgl;e"8E5*$ :zPvdPY\k_#BEΌmWhۮ,!% u:{L%]ףa~rGؒX] bBZۨ ų ng='ٕ<1&ndyVZpmq? YWi)\`٣A ͓F(8L|Ã,a*,)O4ƩIOgp椐76 kLJNZV;Ƴ/wO;{3q2nכZ^= Pz[)I aF^9Z uU 6rOx<4C,h $7G,BU<1=sZeFYJ w ?I J9^0rrZaGv+"SEg'7kۊ!SSeHkQ3Bl_;7Uq_׿|r ]7E/Pgs=U`U2LߖNgv$2]%^WPž崘 LrbKđ%i,8q Ȳ2b?B^H_ r+r,lȹUAkFj'wbV` Q}EutvFW p@)I;,pn\Z$;I/6B.촷;S(⍍ 4}uaMN.cti:8-!+@8㐗S1~ G"[8U[]~J EGԶJҧܔe=`.0HIދM. 5%rػ& Bbv8=09l Y7QugVo;{T(X)0U*]No 2WW*>AR3F/]qJF(؎J"ʞ>Ae-aFhN:-sub "&˃- imzyoMZ3o IHqhuX@e({NSSC抝ӃNm5q'A,zHOt-a:2Aqoarg!syqU7]cQ^p'Q >.{J5KFʦLŞ;;>M`ݓ]&$VTX?Q2/FN3^8$jj#bЊяa2\@~e(˜PH%Z+VňPP.7n͢<]CzIP ?e2I d rl,3J-J f%[L-(ל9UQȟjr>Ra(`K͖lلܣפlю0kԴ0v!H*hb53-(b΂S=+ X1g鵇!Rhk|(AVa3&mO߳{M0lJė%Ujm~z3_R ;4$WC3Q,9-Yld_XNuF6mXnb7Tnɓ*V10Ç?=G4_aͬ+mZ[|{; .5妤!dvn5l2diXp}oFoW/ GֳN"H~ o Ŧ$Ĩ@;"< (3ZXc < *`@pPh*f6IqnT*"9 y 3A+Q*_E>|۴F*A/܊9(#@X{D"^'㞩21,X֮!, ګ2,!*zw1%vB˻kk`pW.~3dz"`kdi7sùPͷ$X[썲~҇GP0PhF^"A-||my2z>؀(|~A_cL2rO !. %O262b ]Jv$Kos#T!@m04_|60OI_WZ+[(5,ؓg~20JNKk%?AߙS[^~3|>}W9( 7nZE;fU{c'~%_?I%P=b^wmy" _3wvh:_辜l@4EsF dλ*ŗ3Dae/-AezNMKSg"Qxm}% 5"3Z6+X}gz c9 l%Y4Ԡ5rf*Ϩ;aI†933J,d_B H!i^94 /{Z4D=eJ:QZ 5a 6jbC?R+&W] a(@XtbCaF8@!O kQ+ 2BͣL\O!ĔTvQ}4\`bMgF?"~ glDh%# g}04sT3fIrm2r \h뷽-̸jlى0SnDBlܱ=Rq'+r6&aYᬌ,4{vt(J1L;Iȴ$\PqU>y"|Y=C/qZ% ,lGH؈Z5n bxenv%.jqB۱di%ne5 4_nDB񮂙)_ÇxJds3S3sL(ʝ9.Y_yfz(+1n/ٹZL ̇X#yk E Tp}9ZQy 3n`l4;O͉y/t|Am!nMt fzD5ٗhܬ٢ƽnyWEg˾4/憗GVX^e#f83o׆;(1矓 J885<nGG[/o3uw 2vgc1>1HuΣec1 ),/WWyV:CЉ ^`((q EP|$g1f'X K۷<-?ͧ?omj][_?߱?[6Ϧ6b_1/f_13GC|6L(2 RfbyDX}gjھ1j6ЄcM[ļV2ǡ/nz)"E2qhu_@; d9/,+PZR孇BPi9+w5Cҗ1:rhi\.}>SSj)2ډ8$n9T!%_|g Dt)%߭BeK(90nUh`I쑀) r1g*0a' W]Z"wsk녑rAvZ2ҳt`bHZK +4bf6l5C}8A`/US2Z{Ɔ/'.*OX - F: xF6`3|>I뢕9>0xci`xa9S[泋""""""S j%ԞKҹeZ{ )&@ [F-=e\@TyBN(Y1]:Aa" B\h 5S(M Rr~ ),N!C'RV{Zl}3b:(׍sT<ىVi'gԀ~ 0zCⶓÃ;IjGbh] }'kg\4O0on1XcOB.>&7*XqcmY5R{?"[Rn7i0 AXfBUڀc)P}5xKC|djKQ*5 {9S =RTiKǭ/`ƙVlAA>_ܴZڙ,i]RH[lE8Vq2-NZ;AZ6 E d-ՍOUi:8>·K\*lƣwr8s KsNޘ¸vp.{ oF2߆ۆ|RdCۀ#ys4fdt89rDa TzT{p /c Dtk>{eRըXV7vqx"W PCFmԔT)AycH;;YN11!alPR$T]هߦp{~PJc958j;jghJ8\(^[b9UL,82V!hi`0_6hXXS.m- vu{tt:mns//!@-s<>: *O.Hȳw :5:)2aLrqMLScK Ft.m|}&[v/9TGB__`\jR51PHw/Oz7D!1z>?p"X/&V` {=ןiOS'gM=ܝl@Q^9g9_7i؊qK6/Ũlu}7&s'(ξ +v /KVQ7jd k8R3VV@",p d,ńVfJzHobr+pIYp9u3`ԏ0JIMC;9]an`Bo|*N)g<ڜq{<hsO2@ V}&&|6k߄E[o%jޞFZrx]I l eXɗkeD;W15d|D, lb"JwL>a --͘!Z 2zI U|ƹ+7PlɦvXm9DO;FPYC:a64=چŌƀ::T訕4LzV{ _UJKNT WULA5D) tGSzh"[)H@myAOJ @.2 ;l8U3yTm#ilEm#?'l =ҽxwkcgW_Wf>-ʠBgg/Ug}C1O  rMrm }ϯTdL2|006:9#B0pUf1bRtܕM]*ɸ3Pc+Nn+ C'c0v_@<*P+:?=k[ -Y=jf~bP+6gsbg(Rfbvҏvq+A{t.cb r@םt p6[dqɧ7+S$|>yIWlUW֕hco:φ8Hc$U֟+pGp49Owb^]h. wf myjeQs@F^HldVwh.;,I}5| p$KP\ޝu=gw}NdC0q$ ;79 "dAgTfG BBlCpQgPBF_$t`|Pݪ,DE':WeKvF> y[dI`GH0k HKϠ,y{> ( /BMO`}quF܈XUL rl*rq 1p[نbt,CVc'Z6& S1%t. Ywo)T^| @(Ŕx Dd*ӣE-u2T{fW i6h{#8W?9@4w7z݉c)$O2x /xu\ZMe6D%>i7ѕykc} ^Vg>6 $q $ Td3qg}]L][\Uˀơ^Z"pnoUExϨ"&ץHKy  *&'jf9)Uc/*G85 Z"LD#^)+׉hH|Sl= 4#Y-GBJtDTqO coom)xz"AEUS[/܀! 5.:Jf/ 6Yވ 0.EE=::7Eph~{ffs}j㇭ѳ R}Xjo3CF>|`M]E".af,a龫 RW(lg(}l2+}^rh6ql ͬ)JgL6 _b-c JnU3eYK0 5XsZJT meIĿ!BU4N\CP8X:) <崬n`ZmP %w>gn9>iiw ݗJ5WC8GU)GM!Q51KB*A{384du@cO\9;" [) ^/HM5_TVO[T#BL!n UI;\99y: %xWlAQ+yn.|ݳ$zwQ "TŀqoE;Lu·'!U\Iu\T&?y@KYi|Wd^ZVsw [P H\V̵Zj;0T<KmWw=5@4L dn 𢴥*-jb v)'i.*xKŔw{9ȁ\#5jY /2 u CXeYk,6-ϕT@Z p.{\y _q:eZDM6Z9>]ku<}CSg1!%4%/npa;n" 8v1,5)&zmɭHP͙9A?+zڐV@%Mޡ@&Vr[̓@G6\pBw6;=)vt0Ao8rp p.$eqBfx͙r{Uy0ڷYVխYN55`YZE3>zbCSGRlfO؝ )ѣhEg6‹[*M8^)|q -4'jRvN;J{]p<}b`-ڠcI$05&+1P 垮qKK2λ₇ %ߜj91b MU+? i೟W :1C ^_88W&z9hEi Bq7D#r uYL0)tlꃬsLt&j&"vdEkYɋ i}SUو˷iǹ531cB5sb<itzz9L-AMOvтղfQ=޲p+}6 ~H>-6WFI F,3|]5b}>});/MDTk*&A<3/Xs!:~[K3#"(Ym?~u-U'3+<Ҭvtf#2E$\ÖYй8cP}lD.m dkp/uMOǧ|!ط{!p췗0nvAzĚ?;><oYIFV:x'ONNm1`4-Hq0^W'Gg'GTD(~f\! VqάWdAc 6HNRJ:J77Coznmr`X=4d* mD? A"n18 Uhn;כtZ,@i(*JB2iZNŒb2E 2jdi医\Zh 6,@OQA_H9!6_ X~TYiQx?ɖwkJ C`6j3[[A?K2pdHB-ݎbL 4QC?Ȇi3m ZH/MiZ@J5gjI&7#Oz͕,B;)lG+7ۛ+-z-[NL_;)1-UdO1XAmq =a⮗5ʶLg3_uDW5eg@x@:Y_E_X"mf,_]Ҿ3=\>qY눃p!f+n4G{X>= dl#{\xI\L'H RAY^UYJ6P3[d*&$v昌R>a#a-671lQ ė6`2g۰LpCGIRqpJQLT@Da>\^MR޽XjMɰx+PErs.k\zy\ξD. UG_rq9|B.C W|uSBeevDw=*İ9F)90fVњQɘg|%l5s ewj Pa.R!-޽3 ^ڵ :!bAx{JMݓHjgٽ{3;55G dLRއ1[%s̥ Ӎ勡AC "ٝK'ݙ$ΒnZoI8~.,8u UZŸ+.wUȬ%FVX1X{E7ԝ>8Q;j9ެXoouf"OMMzG[pҢNgy5X3.$?bx{Mw8g9[.ONvHL9_Y6Tpix+ʶfFm`_k}?Pr,)'◿p $*6C\2 YtsDvt oBTp-!iHcok`hF"ldD\AYI׺̊6X;0Vc@IAEe\ij5j, N@7%lW޹Vv!S;{w 6mjV7LrNO͐̚zrBcE*c{F XwsUM8j ^qB @iO/\~IQ2RSۙ`'[p$S+;+EoLý,v0sQQHq*FaL m٬ ((++^xmP|9 T12q'7^DM!ɸWUM>Z)Aم+ @eo RJ[PmZ֬nmZ4V޲X6h/~CNt'S" V"p] F#W $Q/P 1>ӘEugen°e-)ar%Eh{FA3}olu\l"؎ H Z&wx6 {1 T$əRd@;qk.]ޭr('hZpZ.dim&4FAQѡ_w#zW_1 tx 6OKx s DuPU0F ޓ$XiCǒA6Xhܧ3 ~D4Vzh0 Ɛ愓u*M8C2"O$>pԡĻB}Y{ClJQav㗔OF+0 :9 _P kEWa֫\ˀWYT~׬ʄgEVGdۮ[yu5:-}EFa&ΔU 6Uɰ'CM؉ Df7=ʂ8Y%a?3.b^5{>vDԀM ˴N)LaAr.DpYOa굯Á˯(8;h46*s:m-^Pw@(3DC kw3M igG?)8BR. TaMIvh9]dpגwqƍ9r^xK8?zχ\krfo 4,ti n\?]oHK=L@-&Mi9T{|$(Ph w_lVf@Ҳ{hT _3G3ʺ3}!+J="Q fEM89bH#˨%|K`9d= r"E>đXÌ)>F+bB;X5W> t5;0amt(;%(-]GTTE+>وuK,eH-ᆡN^PƔ!7Eep&QE}Ƭ0ʈƳ$бԘ2) F.HMI8C3䑲P@wynSXsx73h%CamSqIb ol-wWB.y|If춤6Ջ5g'8eg7hH[w޲ |m(4v!# mp`.s`~qWGՏne14gl._aM5D))qEqk@u%6g׎HJv?wc wɷt\d[d#o ;^i;3||}ѣGkk7Í}mOny-{K|nsEޟ MJKxlY/),M.&=z B6dq IvvrI!I~izr~;QTt;_a0^E;+hP8 I"+/ {fy8 ι$M@̹7$ՋN OAWW$Q9H=OIEQB[J<1wF֫xG\)+ʊǗo{5Gs~daQp|u`g8CA рL74#3~Cu!Ѥ %BcQ0@of'8s3A,c 8Evt6hC P6yWo$?IZO |ۊwGwEE,EW$;iFZsHށV0wS-`HwqbҌKKIlU/?WCAhԐsuoHx$̅ 8/T`+ g#Xc8) +aG@f' Ѓ;6tREJ.`(ļm"}KJ8k؟z4^nDitwT\~0ftmu]mԠ,Zco-ʝF19YmG4TR-VG[5Irhp+*bt^v둇l>>|qZʵ/LF!b(1lvs*zc*jFJRl|s%fVhvAf# *v|虎IШ~j4ҕ|`A3 h^WPW#ޑ`kERUzJH[EƙvGTYLfCr %|kIU :SܦcFq3OZ,jl Qb.'[o#MW;tgO| +&I $]F'I2+=Q?Ԁ=P׃& R:ǖֿbNrg%Uͬ3(u NoW+XYNl7&_69~f?|m±x,c8DKot{eJ{IkŻcMA;ip|kD<>h꬘hU?t *XA"f:Qv03 l<)HbsĦj 5CJؒ s,p:F=?Z> 6FE?<'6*'} lU@;# &1&Di6=X&dJv$cL"Nc-Q{cA:\E9HI?2 H'?u_ŒQNwfG*#<3]~:z\*BmhLO$_8R,ք-fcc 84084u8aAwos4"e/TU^P:XQj77Җ:q\DT9ZD\֦[rLG]DEYєk/Ыk"4K`pVN ؞*x=(CJqYL!l>N{O^e)jjT(" ciEiz>̳n2pTޢBzUgrpXeF|!Hqw*ƫtE'+ѠpiIU),M4ʸH\cWIJ] }Ee7I7?gv zoێ' |a.yp54M9k!O1WŌ^8Ʀ;}DqsJwی={ʣZY]}ыUTZAȑ_ zX,,Zi(jOڣBhTKR #CP?7~ ;)2"8j= =NХ_vU>,ib \ Η""(%?=Q)2XF4 \AA^)p;.p a)@(n8RqDӣh-^!,Ժ@PNnMUIJ&I@7f"t8^җd]HHc&=%4$wA9Rz'2Ē,&禛i笓,c~uI>x72'Y4z>{ | P! zYLH:($QSLw/c8`.Epsૹt<ǚ3P.L,K|i2":Kr" ws?QoY_up#z&PR,L܎]@e [더{ 1dQF5oڲqph.哹2KB) #pphR\.DbtZsh3 Muqi3D,L je)<;<F3q|b(lKE/r B326|%FC?"qE6b`-`CN.uW!|i)@[=SG׀m?SзuX^L1gaѕE0HP.@Xoqt^Oж͘mNʗFA%d`ie{xd_> U"(#BM=Ķ4\,f?姽{3*!pG *fU9 W>I«eGf4m|fCi.z=5 '3iEJLEǑsH8<*hi~N^s}-In*x.utkK?hM򑧬O5y;Eq;Bbˌ u3]h >v 9"3{;pNS!>d-]*q_p.Wjp`_`H|ޖDeTL`SöFTEL}좃BrAZr!kCuML) 1PR w \JZ[㞄/}+zN48z%UjT%3:]܇AMKMS(BSz Xy%*W,7w40quI[cIL I>ߎ>[6؍׻72(2] ` (F{$R<xDq00BR6Sbءbb `4;w< ?֭[ {fǎW _ OKm̂`Ļ)ٓٓ^@\eA pRwLAQ;m$Uc:mn%~*A|Te!4Wɘ z`:&h{ÿ 0/"-Q"nn|CN>4{JPUz5H% ylY/ͭ| vxL/-{ z,1K'8{{Sl{4:@@O>{F@EA/Bߡ/E\#BtQcbYʴ:c&ֶEsI!G m'>5htvɊP9qA5}HDϰвR= [2s!8Lle@ȟf;Uh~>FKjn4Rɹr:TVx/Y>j>ӿMT3$GIOPoϦyL P'~ѱONR^'=T!`Al)zrtEOIٞy@j767ln-^q9>%M 5P9m|dU7Vk(T-"ٍyF4H{RCAu̪: OԠ%M('-Al(,:g,3_Yc(>gBj2V=!r9) '7C,ґcAgU\֙Ӓy"bs"!`bK(24'I[u!@m6 ɨ~6I[DS"'5g'&x8_F{x*Фe7Ȋ:;%CRtlAsp]dŨ zgCZl`n)avhv^>4ՌTQ^3m3G|A=H>-ԓEBݹEmcsLZILtGk5W89Oa >LHڶhVY$1,1S+C!K҆:ʾJgc_A:?EY(p.q&{|Ifv~Z 㵂dG{e^LqڡoXsuX2z``,{|" (\}APh^Z5{N4)0ն+F|1D aޫgۦS% G=y$)YMEX0>[c[c[c[ccAVm "*m6$>>q2xB@ Pt" I/I$oUݓᘙB]3V[j+,&x/6ױ2gѷwl{7 9j;ƿtb{9 c%f _BdnEP*^t05wiU=X@Rz'ShA~+VJR)j܆j|i lLҳS#jqiEਠ;pI nz.ih]'xkweCmeI8= 7@e>* D5ۦJ܏ CDGP*wK h&i-Cj,e1U׋nX 3B|^a;! !ҪqcA45} ʫEL[MIJiR-jw)E p7.73(!8V\-{X?7[-B Л`\bPn g  aGK~8;LӤ9+ft !M J(k{Lq]t@cL`+ۓnxBb3͏%$hW-],n%ŭn2!Ap9bXxK[*v7&Ѣl"IXerbTHe*E-ڌS/n⠭3U}qj*0^M\2 9:YPXlj JPXodf&|x˅&:oSbʧ"i>i|sj,g2hksP !qp }8R p,q_ϠǠHC[W?(Κ-T;4Ц"Ef03Ff=M)xx]csB: VO_(. p"FoD_pӁj46u-a/?ԥ6OEзSGpKa6>OeorAI;XR gKP$Ms[_v (% әKs$giiPq->|bKbb9$\bf0Ox֓EMfb| PBu@<+f6g%,*Kb:K)XѹN}8Xrz9NlpwhWNJs+doJ½=`(EcJ{b騘R߳fD6' JxY ?̊*Y^w_Ȟ'C m[:GUDF[2ưl4Yo8-hXF3C\P^B k$87eBb l$j9`K?UI)aǪCg &Lm%L g_ֻq\Y(.Fش݆5c[6Rj"M)샃)aLCsӶma&KOG.m׽ 6cX\<`iέ;Mk`iYY4[Ҿ;0i#-5V,r:ыݝݟ_Ye蠷[6wVLoT^GG0jL a9wy'HŵmSm`÷ڭД͓ڃ{L4edZߌ͘߀yMkF_.fыYE߀QllmDQWL;=<2yA{k/1dd[6Xᙚ.ۏ9Xpdnx*cnub(xkO XLײF#IؐXOq5Q$8)*61+يCi6-Ӑ8z.󛒫A}>[Uf!\w#!9Dzuli6^5Gп8D衔CZ(l.R[dB+N&YZ5-QHĐ A J.Bc;KFOsh͚fzcWAns;#{J-X͈ZѸZs붅:oT>JP}.C8"95grڅo*Ŭ7f kí$oPN$c{` z45¸6-K܍D?16ǚcbfo^?E]z=蹝[& sG ]_x"ZモC v `8 ӫf~8T.ԶkBYӜ,Kj:)5Z{zh uX۲ Go-EfaC}'@g's|j@[q9׮62;⓹ q6m0`xgKF6'AOQmWw^[GBXmjM#]$dMٰ"_ 3Fp4.*$;;:+Wj%:ίvbKKnx t4ݺSwV-{r 8wW+]7`%ar"葝<a3r,*-]aPcfǍ8`chuebU,+bJT0$3lQN`D.c]STIQ}AOV(gNlxvE:ːR K&<4r&6VbAdĿT"E(YFg-)\#(SUMCV3&pd&i!KB[iJ#z%+UF+;jZ.+ V@Ve i;<5~BMjԏAm}(&Vl;C޷w?Vt#cG`oAo{͖^0JU]]%2*=V!29ǶM%;$b̂A5!  I|bڄg8j31i=& ɏҩmciMr=7Jն"L lҊ}D%w+ȖN,3wO&)̥Y~( SrҢFyl<}XhՏ\ӷcwNHVдB3\aF\X嬮G.@|۽tX.>8\>48BU1[+j|&>_Թ⿃!ﰉ2ޱYum35IwO?t[^D^:?ĦJsS.NGʇrEe^6*QxJOLT兏_&upS xVnIǏt$Omm'/+É0NO;-]ihiW$64YtcCF5]! !+"> `)ЀW4ata|Άp;Y ]"х D9GV ՜QFgR}[& NH-J+F|SZ4Ӝ8$J3;)%6]mbԘVmMt17+t՜[tb ҳs ZfT&.V1fv=u0[m?Jp$1n3d@l &kYx @p;tѷn7܊B]Tю lbA/|j rL)rR GֺOkwkT}w׃Gncn?n?n?n?n?~Gq4KZqx[_.yJ^ERgW Dg(A'AYJOɖlJENU."'J[7=DC,~VޘTUu.3 BQ8Nm`x2mXry܅scbGZ@=Q9plo5eH{`)E5O@XW/eÁ8J!bk S7Vڀ T{$Ә'OGGa;9tzҩoDn 8概UM@~7L<>Lڑj)LrЅ4-1W`Xp+6Ÿ\*_`9߁Ib VCYg10m8o͍3ZcWK\g,Z4:_gUW4#oq+Vr]{V[Xq{q՝GyqqvQ4ފťΥ޷ TMmSpe&; 9|}_i,=$ZTLx9FPBrWͶDН`S 3ŶHuPE5?!nUѸu|m8Uh+FU\ 5:VLY~ofJ,lm껴vVQG5$*84}5V>꥿iUXQ' JuKHixP9F >_GWsWu2/uѓsj /7($Fe*9WΗZƻNPq ZI&g&ș2ҚiGb]5hdA@)Ϩ.I+ %l06i[>J0v5*`HU*ؔapO?)&T @ħ-p!eqI>9tWطQ4<Ƅ,x47N[n`P$tP@'dS["_ޮ 4i;'+ Ez4$ä46W? m@"Du*OU&Mze7kC4G*9M` !vGcJL\EkPᕓW `%uۣzbF,#C[kSߔ^ 8_y6OK{z9ߣ_s6m).ybƸI[ R 9:'0OASi1'AFjESSkW~ߚi+9+(#[iZxyfiWe+(hwd^~>[Fhv'S(% Cr؉}WM=y([Wj{"nI>Jh,.W~A&b^'~^&Cr";WŁB9G7I ;WJ؅*JSX ꒍\U1[ e2qarSI w\@+URDy3x5ЫcSы0V`3!ndJ_DO w7*HTgʹ0@:# 8Cu\0fx_ _U;_wFY0"hS -o R})=N"ljIOcguazZ0a$C}ɡ@M IT-d.Qkc`/ggƣ65(:QA$yV)%cg*iM8ԕR@tV2LU['߭Cr^8下$k&+Rŕ+Wl{RުZv]?.q5?PfpXå4\z%m ~"W~o\tvHa0WmsiH涙NrҮvn[_);Itg>i+- gY |P2:W2cIPȏ[9UuvӅZ1idFMAhxo ,g鴰C%_kGbRοXžpB,ϣW楯9TP $a;0|^gR+1,5Poěv3=P}%3eD֊\hҥ}"EגX(Udߜ _SW?ۨLqbfAUa,/uߦ7z̤3a(P"<oDn=TT :x9Vgʡi:i=IW=CϨ5-RB{gYM }ob6fv@z%@DEM\+L^`9jei Қ2#'Ѽ< ! )@kS\t[6V5>²syG`z[ZkZr*]Ŗ|7 .+8/ }Y -m,Sw~VJwI>Q9(d0h_V{O{>h{uUyj7Dan@fH&r;ygZrܺHw'j=˹wFDbollўfgʍTE % ~2cљWQQ=ަמ2p=Ni\LS jН٠0_$JXs{|$EPm|9>9mH{!"Qt@>ZP܂ 3)3yT#F yQ5jX\4nAlX?bU =ᶯORAfD(@1+f}hJvu*4l-xSXXj$UT/.捭ڢ_5v̆"LD es$sCI?HV6U̅` h)uiP ek!.M8xѻı9PH^9B,ܿ'`̲[Gw?ܿ qww5L7 [+Dx Nܽn(׌qw`wo k{ x W+wEAlt@Iu q0맊/f /UVr2+5,b[131`_dzױ-s1Y{׻ܵTZ՛ǙU5`8Y.iQfPGޘCXn~1J*Q31 2ƒW߰gt/!űj\qvHcPW\m o+nЖ]Y%B*v]/xz_ȟTAq ځ 9L M1SpcʗݖJox78ySQl6,Qi~R}(R:m䰛Om;yۜ7℥+~I3Xesغiޕ!QKg^~o5 VK&{Uˆm8$-&W L仹sY S%(KlMOBYi7t w"VFq}QRf } ZbAϿ،4D落k&G#<'aybNϴZlX8"qK-A@vɅJ7 S'WwVhziާqJ=ðKQlHH/6JkSwܑm*yuC 1aH&CΊ5YMDkyp]Qƽ[ 5RA[:(A3 fj~C14o6$[ F9V aҊ oݽ$ Jr_'G426G)h~B>JeɻD%ϗ@iBU%Wc㳅mAfiNlBYn҉x5hD 4Qupi#z*?1y(8?Bm#gBc6#Vg)/\R+_Z$?>< )b3` F2w_=ŁĿs+Mf4`m TsW&݆8P{YAL5>#l+c5N7\‡AL(Q $ .-yg<%j4v!Ŷ); ::"(YX_“a[ DhqRZ Nc#%4΋"CAs&kpҞ̅Pe=:'$O\9@ZLԮi1zhյF-@02gػ#.֡\B#,Fht&{'m|GfȊ ,;9wV~(LFC(Q_jWMr 2/؞E)+לTIilife\` >+ ݖbIӪzdC.Fim)$$,%i"f8ϕi1oQɌybJUagh46Y%yQ$Rt#ujP*C$L_ [1ĝn'.IwtS+C=I_F3>j>{$ /dxU+X.LgS0Cb;k6UmE/=|ղu X1 I'g ŽXR͠bH%  79P a +ޤOv6]2P <䳳sLT;g|ҰѸ=cΉqZ$Hu%i߽@mxʇlq.ݧnjLC POpr>R #SX3` 3˨|rS1|BqFCqވ0!̬WɌ ^N@Zڦy9P ٔW!Q U}vt,9|P &Y:.q ] h-fu&Ծ 3Ḫ 5a %Гs_vf!]Wnzp,X+lM*`5 s>aڧ2 lY]A7]z0HR,̪ȢkY\|"[ݸJw2.u'zGh&|CK,!ʙ zGRb .b6a{ 6+,q4A}rtt:!NPݯ| xN9Gh-': \{s>jdӀ:,zZzPԭ$"(PWQ+TѼ{Sk vDimxT^ӨK wU|CtݬwX%}.OB _Vv VoU/^UF^cqG߬Z]{>9{VD)|hX%=&+tYͳ 8qbH%†1Km<*:F͜uNQ4VUe=D0 uƪu5BQX*_e>|sw_t(c[D?XzOBv{>?M90S# L[~i<h7XDkІ*åau8Y[(DrXA/w~2|-V0lp'7: Z.͊ :N-28\\+kFKnyeX~CtG#uVbqm>{}qȢ_[;"J8G%Ni A1 *ˍ }7*l-]:t]eMӛLI+ ci`g#:@w9=XiiEpo;L;!f4(K7U:RSd} R^L:"{qΌO4V047} 񾽮(dDCxd,h'G@v=;j%d RUi̲YWΗ=:Aws`8o O otDT4'CȖs&JhDMy (NXG`wj:G ҦYA* 3n dW/H%E_lU2:sઈul}&i3ug0(Jtpww4 E0_v'a2W, v.v]cvHGbe69T7zQb B]D7W“J= 1?I=2Xw7l "Sq*LѢ!wZNe`6 FGVRMx</[``VN+O3y\ۆeD?]1xV7 z9Kp!\vf;1]2iɢ^x1Ⱄl- i~̤\HRd.AZi{5QODk@v⿒&s"E\8WA]=W #3b AUCMͦY#LjURlH1ܴi^uބŕ= jPQZB a8~XWjPm Ļ1dLB5B{B %j'5'ǥG5*5I#cO pbScK 5 #RS]͏ĸ~i:rv u Žki$Yp5$,hIo&/pv^ˇIj!&[@EfQlIcbEe?eNτи\#1t0p |l$v?ܙ)kB`Whf\K| QZ5 >4mƧX=zdͺhC5 Ipx4dy,_k\f\>%al蹊uqݰ|4 -+pjbp(oR @M;40X{ S&Fh%@j8CƄgv{x2k/JK|:%䄑⬔R4-Ji. - Ԫ8E ;_=kڌƹ= +]RYP%PiZeq|1#&>zAI JTdT .lW'ddD 4 2<ɘB\-2cOzrC 9[I; !(esGmfER`:聲# uoz9 ])oTw;Jh{4M Na}B*Frrbdt / eAP-YbSڴ_-R{kccY˞퍹UR c 2^oAGfa'8{q" mТ艩Y;2W#TQ=,A|PMKe#*I-9QNxd)rCٟ:l%1gCEZ%+ ݤ@,I*ES*5Q(#Hr B;D|:o$ ,6ls<9+U`FI6%ح!qY'%+z =XHUASf+<7>˜^{_\I!Jo,WSwnϝݕk4P!ft5ъ!h1!ki<(^[єޢ`XG6Q]`N[( c>9ċhr*n[mZy{<;=M'͆b3u}l.Bû>Gǰ1I-9(ĝM3l6P)aڤ2{m dg 7.Dѻ. U+`83d=!KBʆή$fyVi351ʵËju+Ta0V>qDiC,ad"QL;8F!Arn VdR|@\ {`  QrBr'bTJlq/bׄSaƯ,#GtJ~'' '&#鱲?$˼!!N1zBb&!RQ# 0D|f~"tRH%(2Ζb&i QOAJe C&9m/[x*UuᬭPWT/*PR"|le-,1pgI (!d.eVʵϨ)dpd&[)Ncr-AetL.wȫATj:P ~%~Y~f}A۟ RQ|> \>VĴ2=Y|9{Smz \T`HI7McA(UE4JMSTտW^8EIko`Κ,^m;R%;ezn6!u`D  ~m8l7/>*v(cZB;x S lSNcop֦[=[熖 I6v{{㕦!Yi6^vZU(H vxg刢d[ vgKsc1f8bCN\W+cYs;șn #b¡Fu,S>9&myy&ĤըTǘ),ҎY8#m/c AWb %Y -D]<4+ay .r4l+kjG795oF*tD ^l 'ͯ8%1=7P[kX,`C4|ʁ}:_{V#J^Nxཐ_7:-L5T|j((7,EE<);wOQlTxL8]KYdn)iAx_lq}$(`coUYu*FLľz0< OAfV8]'kX0i$@Km{zl T"89dph'bw] &M5Oy~ء*6-IHqZ<΀Aywyw6̈́Y vXjEŬ;4B@=RcgE9znKf#\f/퉞)q4K&L"Zt䵟堤иL2[P+u,#و O/7-mE(qk H/Ӱ>ptdU4;);Xuz't?c׳x\( O_LTK ` M6zl'JD8Cpf}%b̑o"[>Vp^ȃҖ㫧BK)PP.>یFuo2v:s'srZ[cQEN;#1I6Q)UJ~%:3 1z`.rཁ㮶r:h检م=NEL$K帩s;P Pt $9h)YbkW\l '?t.y`bY K aEjQ77պ5+[WED`}MWbOy/Θ.]de:b)(5L$hJ7~V/l<θOа$9c\cVNQ>6n>P:C Jvu[z%&9XP©zVwŰ[H?KIɬB-J[3k;u@ng3Z[2+E M>9MJ (ii ꓚ KeβQU ucV1>@S~X#pFvWܡZҮ\ d_I;8W&J߼әq6^dQ$;1{Ԉ?$^n'?X?cM3u"[yA45O:σ\y6T}WsbU Vٹr>#3[NZwW;6v997tw54S)n;mfhU>J.,) 4aLx[6a3_$b`,Li t %rʩ%9[ֺUO\R,<*Ɓme.'"jǒ< irUHM7tZ5?"5I~Ftա@Qtz{ ~((+ۘcԆedĿJѮG{`b1 Ǘo@497H^35y#t;*خ8] Vx#8$t6Vf䈨6Th ^"X»j!RNu&(1⧳AZ? +/I~98yy)#U$E)ݟ~AgG/1 ;Go$~uIÔ<~pOU>~:9AV8'/򔘤'i ,//;$. -$iGT|ńf9>v/D)`;9a!/XNm[]9%\o&oBGP 8Jr Z惚$t #;bWc~{V: s kdy~}kX]̠D[=W:PʐeJ`V7&1{wdI:q2g);imAtw݀Q[lDY Nɶa4H Э1DWhժԟ8tͷ}s!,Ʀoe8j{NAn괍4.م]ssȦUh4?aφ`T0e&@K8d/svQ5Gs6KuSQZ[_(>K4\Z8Rn+znB+pqtؔCrCeLbBY,M ȞFtθM-Bp&]r>^'oB-Lotil'/_l9Ʒ utT7jz:YtJ=T-m0OzK<Ǔ㡧DQ|(s4gI" ;]K)l3^_mt$ @%rƎdG@ApQq?ӭCý7Z'62y g:*ak _\oɲGX<r(Ã7݇X`U!0Hm%Bb%f5׊aYn[6Go3j}my8Ufz`\7V, etD6ԅa,#vJr@K7BۧhL4y>{ 7Q8Ö{.l[mwSIFKD'O{ꄎZƗgUMX9Np;[/)9M^T>X[o>)Q ]x 7{K7D]dūou=mpKX_N~908v;aN)엖|'٥*ԢG6 94\%I$J*O hFGhh7.mkVōt>L1J ܠֻ@ FϲAZ~S/?/u2(z$?Fv7v8<!q?RW^8']=Q]@n5ّscߌS.r^}qy]<޸@Fչ2BltWWᕓZno:O3YS|5I }yuOᆭ?]Auβ|+i?w|WGI .ӐgK&:hG;E=I[qېI>$~ .믗:BsN8Dƣ*A:\;`?wS')ۆJq_,Y^P+4z쟩D`o `~p@ِr%[\)e𔂫5&7 4o0E10ٙZ5ߜ=FqozޔF6&y>G}_ؤF[^/mCrIIa(%04 tD1^, |Xʢ-"HPـ\R"[OUwKsGe,myMk;m XCSL{1$kNBWꡛOFDE"LKۉ%b>'pI&qFZL'&)crvvUŐ ;˲o%XZU8PM< 7b(:'rOUS%i.a:4EjE[MH 0t2 yn$fM=^0%g,w^`tP;vhkOlB.$O85q:˫:([n7.@FlBvVvػrY&jG0U.mxͬFcx#SSZ(M E:¬`5э}BЋzFRmikF_gC 6aFyfMFn>hH4DoO'G&b1NJ0|JIOp zT|J1P9Hh?&&5ap{~7y Z2S>8;e)4OuMƣO4#QGmp}(`s M8R<;92nodK6Ӊ9·?PDD%;tA+Zs| 55| LNU `8uS),W.hI훆 }ck`i'ߨƯeffpaFU-OV(lǽ{ # G=P;*5d͡:1/sZ(nsnlyoY|"F3S#]\N;Vj{#~4Lr[qޟ/֗'n' IJVrzluVdtL$L l~lx|d,6>@JDžFrڨ=`N3Uж^]Lzif`{B`MV݃G?ߋ\b$/)~{:>ݝ^9LWTK._q{ HOoGSEٳCٌrx.ssZ|K*=ҒS[|u_oe;A քNˍjmi'q85o1L awx.#Wrp##uӈ|{yrozG/ގySbjv(ֆp^s~"SXKyrl .NW8]5@̊*6-(tZ QTW2Bzm\U132_эdS?]BmgIo4 Hilʥ9o!3o1S %*-b9V7qz1ghr(7^  irfv}|,}U :W9 kbaJ@ zGI,`HT'}.cqjhWQq,)d&6}b ؂X JYm n|#e`C)hvuH:r!&,e7{~z<;NOADkmiu)ApΠhl?r N$6Zq#Zh9ц _Tk[P;!,6B@#ltFeV-uYUg] &@M2I7<2?[xJtc5 ?}7<@%=%k6uZj7|_ٝ\D7 nɋfdYѧy tX+ܤBմGG@YѦt1@[RJS!kWMVpI0?~i_P?wC톾c5dj~ ZWfk{himumciÝRVhXQ-~JGQz[x7jdvo@kx"W?ҿ%cT6cߨǽEN55T}>K%Ulz ^>[FZ`RݓAڛp,>M4٥]]1JYZ)?H~=jln aH&̜$ѼYNRfm&Fnؑy1}&>{t(rgyM!mbm񴇺} )^CfpcN̳(\GSh.X$ {!7%f]SPo hj:t?Fk>xt3$ex:zȁ^QhG)ī(o mqEo/eH1X!:R(zu}sS.f縈KS 8;W6(Jh(_m?eٍ4n2\ Xeк9êt-:AYZG?5+,Ew?|wusHI,/?S[c,T..ǡUӼ* hr ,rgE|Q@K(t9axIV):XadDǤH&(*!'E( s&_*V9(CK˰#<Ls'9C*DAAE܆C.{QFN :]/^UalLURIȱr:2|eSYo7+1G{8Ӵ V%ҥ kRk2D2v_CVV8R[.- !C)Egvyjv_ 2] *s Xq7"YDm.ڤE]M<\6EyXSLjG--Deru:D@aRI2cPp.Ӡ<DžQrrݨ#%Eg?Q면l_f/\^w$+YT0qoDy?w2Migqi~g,?'árHG㶉7CW5U)繙TLŝ@eExL1vIUޱg&ř)5+%@Vg3YT?N}|`I6g ?(r@H%ZaĔd/҃JHEYp=;DԂ&Uo:NPdejvJQ3-Ռ+4i[sٮssWOa%\knxS6esLJݟ^X^eBf6>`ASR`?GuPXƀw DWQ5GViΚ|AI7jvElߩY"jc9?bǖKy9mي%vFNV 8{FƂ ? aWp\&zmPjQ2Æ`d ehˬ[GFeX삮mXc5rAV{>9sCX5Ubtj_Yk!A%el~\`uGh'Q"2zʛj=d 1Tv$.WFrN,/iCYY !HY3nz݊bBCzu\ȥ75VeDˈ{ 聥{`F$ pу7%C M71[pP#!f\:J‹1G*(B0߄ȕwJ-"MM^x+fcF{n>e݁S%|eS7uMnWB0#+ZXi_AEl )G|&#|=IOgeM_Ru[OJibYaBn5:+njԄ ۸Tt2̦S QL5ُazp< ڱlI]5؟|UG$;ã5 /ǩP=`G-L`=CŬByP#& +6't<bsS~и)JMZ]QsD+f9sMpij@ =fPiExc(')81Q;1 qct.H[:?| XCA=)=?YW,fc66hJOK}S3TuXCs HKn-ωSu|?A Ӡ[n,#gNǫt8b](Au,CJtZS9ƙ&wQHDMh -tZB= 3=Wی,ƕ,Zb5fxW֦h|yj]"ɯ' JsD}־Ck,*eYb7 I Mi2N=zG,(T{7m '9ΔUVbs2S2yT(xHj/\k08#>])Icw6T7Qm~B9Z 7eebU6U:*6BTgG}䦮fvh5.1d~GԊg)ش| *MQgv+Ε?m:a flۨQ jBt8,=&xI-jcC5i2ϛT {\9-\%.-">nړK*&g'5܏Mc avfN6W GѼj XlG}\xH{MtT%@U,z 2Fxjx{;KU+OrSقU$ |]wŸ1T@Oɴ@07G+Qa9PrgI~m .q[jS&K9>Vz"5E #KG@5]02݇ ⑽{ ^]lkhZSkx[ l*E"q%dt̅m2NL.yl]+ǨPtyѨG{@⎏E>P=zbFl/_zg}g7.&A~ p|jˮ J*.Z؁U+(+>]1e-DۅQ1IOSNDt3VhpbM'$`S^?iߡmeBAr[gdJMM]2K(o܃6UyCcg\WeE6(`9&Ld[0Wr^z萉wEcŶ% qY{["M24a( &ѲQΪtMʹ~7:2U+m`Q/! ^h mLur?LBFeBM'$ fr;W_^gūoJm[GH`XZgk;놦hmD@I2qng%F )OF Vr)NZ?r/?NX$v  TjJY_|N[~Rbli7RE:O=įq{R/);G?TMG!m~({ -]]h%5N>|cy 5 jհJlt6ciNc_;vYЋh3iSvȶ Un`oUWcUw2s8y+g[+:oJ~ۿFIdlmU3+ P(b˳M̵2ow`4U,aZ  I( tlɿQ zͱ@qJr-)bX]9G15Ga8d/k%޴L7LΧj ԀH:O3dFo/T*"ð|N.&T[9 r;N% i] ߿N~ȋ)|$k}$owx ῕fR%k6?|hs}%OVdOۙH~z2n|  ?~Vv4릑(.CXN"<,LHl!1˾yY(K`oהos߽ÓG8ܽ+Ng泄-}47EF! 5VXLVT\ ֋|O^/a!nPj4SqPE '/Kq[{F6!lN}A,ܦX N zgnu~_Q1U2@<ia.4#^FqoL[^j_;0U lÈVoo.Vἴop]JKKK"͐ *fĐ%ɸ*["ܩ7 CC~6{7_SJ17&X=N&X6 ,˄$>_ xrC@" M]݇Ktb]clah1M,hG)=dOAzم%bD)*bg;-U5lW7 "d[FKQGMN<`v0nBf 뵷B!KqBxI"݇jb#hYm|ք i*A9w.mwj~%/| {zdG㪖ehBsTpg6ڗ KVTBxDr^]5 .+)]Q߄&Zw->VoPˣu݃6&k eߗ*aJWaf1Klvs<$fIy5i<_.w\~tPy cKbM!j߁Djb zSa5Э Zb43tl1,U^XL~بrl!.+}y?`}6V/]s"z.^Qb+"e s}EP [ts@gh۽Z24[K K'˒&)(s`>VO"͆ǸN].OOϦ5Hg£"12dYvVZkUcuDEy^ m, Qp94%hk TkHyTdWR] 9* &׮I$p3/뫃{!,c\sJ1)q zش@Vԯ{^=K ]קY:JpG)Qm3;%pBKoR3q Y%SB.*%.lV#P3qi^J%WA[qI+~N{q7#CyѨncY*j i'IfrU KITgQR%-w$eNUVlj(Ȕ[D srz_m+N]h 6>[N՗tdQ+ی)BCnp !UIJ{E7J\439Lj oczS[j?Ձĥ%Q⽾K~sR~D?kzyl5HX#Ql Qqk.ętꪖ|W"TK VR+">]JrZPLT+Vbl hʌ҃K! T^q\Os"jQon9/u]w_AT)ڄ@/pЍ&ŨXpS('%|.:xkm]k0<*|kRPGx˧dýYAQL6J'k4=`U)A^Y-S8r3B{Pxr8e}uQkᘲ)>LhlMnЮ (p<"9ԵSv:qЙiJ"t X[!|ȾPj~5c#"}lg}!E0s=?׆X̵D_eJtʋTFu8G[cNEo_-yw߃<\LZL,[h9cF 3|#^an8e/gĶrꐆν3pVL/-#Z)YIغDj';ݠ pÍ|߇nf`0M><oysa͹cGB\) 5wa|1 .4{= Gߜ.J=߇5'VʲD[sfHxLsM/VZs`Hj6:HihҲ]"l@]қGwsEX]8p3W/ dM3=IyЮHvwnwaV5['?U&ƃ4\+~vPEK<=uf% [)*өuJWZ mj{iXi^`h{7jPV<> w1ΐ b 4᚟]K+/DᨐLMXvVʡ%K20. :p]꿬ς%UKYdS/-k&T(1SKAמ?tPأ} ZA- Tˍ'!BM",4aI†H3# N_@L/CQ vubk@s2r+œ{t!l_+lk0&~WG;G?u˪3'd_bՔ}b ~_*:N1;±*v%{!`&DI:~[Tއ.6=x|K+ìhƶ[ -Um{R-ӅS{VJ o A,y0V)+0!ldH1}z&Vp1 KAsqJi} #g"&7zӋf9rLEuEA;t9'_'l, 7qZQlz}F8橆HR}]=<3vpha 0+z۞ r\& (EJ:%JM_E?sҺUN{дEb~.=Q1 Bh3+Ac")h:W2ڔ8r'f'(ї-ػ{ î] )'F5s2H{7Ġc. Z*ɑ< ( {˚ޖsxDɜ=Ayiӭ"6f|/~n+z9p=oʗ86xփt8JjnakWri='BT@mG >28b-Y0 юEɖ+PSɮhzĔ.Ф9\O8@ܦ.+6SV'T(S@/ep'ȏsC.2 *_zٲZH{5f +dzqCK<Z&&~dG|@ dxI*[z`bal_]NJ53q-0gJkrfglG v)ӚF&.4@B<=@N˘9vVJxHIZ^fY֯Xb-+ƼkFұ4@=Uhq.irHA .Hb:~K<&'W, F鎭V qkiz9㷏K?<ظ[[[f~c>&{xo;C͍6z1)Tj󾕴TGbpTov y}=1Bk V R%ؘPY{Ɠ 8K$`AM+C"g fKj")[cBe$ɇxG¨u(":- S45PF"&#(fIF}s+ %#^ؓ|v/{"{eg_klR/[ѡ\uyz&z8+|E..#5>ŐqEF/8E6:RNm#/_Evqy&CoA(jq"O JHii6`6}hCfw1ko,\`h&l7V~ߝ_+n,V<aۊa)oSSبYzY>4Ŕ<R& hknNӟ(qJzL gJ&sℌp*I !enm] ?׆C֘{d4ǧ:hb`6IkTF_ŕA5t7[ïtG7*,4iV?<~#h0x>x/X'|Z@e]]o+vCJʔ&pE `aSP cqW]:#~ ",?D Oa#5UXX2WviսDMz`xޤ T+QYٖwꉆS}}}L{4݋~aZɱI#D8cĤcdlְԗV^M4;)?w:6LkԽ(no;!C&~G{/?<6=TR \0F m{FSmLʲ;JmiVY7Ss\LJ6yI$$v7QS{pN̖5e†nUp̞dF - g3^A鸩Vh OMC)0k㐖N+ L?e4 !--@qe(4}Dl;:4/JQքYb+[IiQdCvF$LHG(fô ^Hs_ȄWѰ9]JqD`C[N 0$ʷHq6vK4Ew r$ r0j,닸KOAh%rW̧=zL>16O-+hAj+OEH t:ct.3j(& 5%'[\lM;2JvscfN\2dJvTbgER{X!h2ֶ`ֽc >L'=K'L'ioԒq%׼[K;5Xm&oQoECn٧u3)1~AO~N٘qK4kT&Sv}e &,%]lY=vxȷ ;*~Nz̖ u;b 0zO#ȴְ:vUmXQtCl^˶VW߿֭H,6~/ПT0v)FnOPm7B@-j{CCu{Ed^+wvdRi jJ)L 2|cs91- 0l\x!np.nmqdS 1NWvsEO #ҲxSW ܐOF+ZcL3Z|˸HFx*V ]R,DlpQ-iy=!Ũj`¯:yo59zr~.=УoD~Z$M%6^PīQ5(C:z#'jh `i+mowEw^=g3_"?6B!f( 85,F>zs/[_@8b½"b_q7'_ a:kmMCPMӻzs819UIq6YXwdN'd]M2V7a-m|8s&28BXF>x| rH>7*W$liS;\4ZC)EmCQi d,ȚuؚNc3H%cQ5[YC<߁r^XSk+t.P%⊣|3f;|'}E*>Υ?SsI\nQr&t5mԗ/ vOho=9TR~V\v]iTmMtD,bAV?$c@$MCQ5* _$t<`K@ 775!︦\.6~ a6GͿm%khdf_N2Z_Ok5N)mily ŢapC#zE[ .҈6Py>V`UЍ {lznl+퍇KO:wiZC2m"s?L7N ]+ =Ut)_csVxB]=2#sC oIĔ 0Ц*5pZNI*qL8iMLǢ5cFda,'XR/Nc9ћ_JgmHs>0w1Y iJaE_tt#k9ߒLJф=S.emünY}}lղ ]zu}-q27-A’L`,i>i:ZAv~TlsFM5ПrTW;m42>:T Hn6=),>GaW|}yes\g,mF"%CDQeAƚy.kjZgNU "{}lqNy?])9Ulݣj[dK;aT44cgGD<;,sa6٭nQ(li=NqZ(!MdݱæQa`Y[ M4sR_g#j)cj>ƻ͂{ߖNw2^y^ 4iPW~;͠6";mQ ' 3 F}?60}Ԟ`Npk Um>.fL9{?OJ"aT6KU"M? f}5L{4 tγ-7/yi[˫<^E4'YHҲvp>?Ҩ.q٤mVeV1ȡP6ٍw\1sB= U15dYB^zq8ǟq˩@|ȿ7-n'W]D W7Z'ڦrhkb>>k}ǣYvh7mdR&Hptbc[N8Z06sՆw\^ۣ(/JNcL0ii)ANc_}rϮٴZ؅mDl$j `;M,(\Jp?7dK<}շ_3_~qxYLk0]=B+ʖגjQ {uOi?H"RDڛA?ff u{8 3߯,(w\זu]D$szTǔ)ڦ`'FGrnBpJuʃ eR oI` OnIW疆ۢۚJb\6D'曄%jd?2RSF- ,mh(uEORc uf^tK/O&%eKc^ {iӜO=4-{]ڸ+wսFfFxd]s?[hN[dwF 8>NV%%Jx 1;cގBkfcʋ2bc]*LFjH[ͦƑG?#RNltRL* eŰh^S5ԝN7*t;0S|nQw(nt) zRFɚPOtn6q`vš  qbDT/R(M@3/eU Ejx%IBYOxEɌTV2cGiM'ɠ5c,= 1nnwO="4[M,BFbr*1mh fŽց4u!lAJ_J\ADxVNnSȵF%VʼnMT"n P܁ [/ ی`r3 6 -`xo7ט[@^bo),?Ģ0* %ݿomnmmЩM`i3bs ۣZ;1KT JM-mol!] 6M4jB⚐ZDKY֊ʄo'{ nųU#;NtnM \qcwypHM^_Zx6ɇOy\>6l|ɆV`lD2Cp2-S`]vR@WtOlЛ\O1.wdRф׃]K UyZ&Z;v&Up^|_b`!b=@Efۨq (-IsG52" NS[_o#c8ծ*;G,"JhC+Ձ%ce \LhR.tZ 94t 'tua><DYձ6[ǎˡ8ge6!k%#KtGb? p~VD~~OT{~J{tr=%{>|v[[[ R/؃{km9ٸhFlvX:J}ob+V G92l862jI? 7`yz x> a6i90 tHq1gu+Ǯ-q4󂽚WqE1*xL.>Eo$rA6,GyXsn:v]hW|Z}5uB@io͒s S Qzƕ--oͱ3Ҡ8*&b&J29J#"˔1x k| WnR*[sͽ_S!`_S\o~9[/n[?bNFw*G,zJ+!$D3Teq:@`]Jc y2 C9)ǽo!Ť_ Kb^WJ{&PUhn)7h(Q< ΠOBF_mAdGtvAz=GuC@̑|AI`V[[[?G Ԭi%||㏱3 4 Nd  |CI4M;L.}4*(VJ-"'@@_XEѳ;dFnݹĊ~չZgV{>b3U){dLc+fc6 ȴ `RG*Pos'f $/bgWôlSae4*Qf34\/fX́M`.ǷF3&9Rl."Da &0Dt[ <,U'7RPC0G`ÀAH\p(X"O{ґ3;Ê<ƨN@p*ɕg up?k*MAJLJƒ)єt/?kJf]]_(?nD= !aml?ZEM^dŘ/v*Wa++xf@&A~Nno8>NhrcJ6:7-Cq _;Y DR'ŒQDH3XK1NOSq:0(X57PN&u _k$I Jp4t9GadaҦ`@b/ˌfg٨SehG5o88(ndzlSZS4\Kj7O;*FTʴ{h>%h?m2:H|6YgsAڃ[ |j7\/HcQ:*o `2Q^ -џG{kPP{D"$e$7-25a ՉEAaA=A`7W;2|R+!MBq)jLB\Xho=UY4FA/ϲOi^uwɇ"#O)aNS'v_񳸨x\vD1 O,Nq@9GTĠE-"&`ϗOGGW;k8_S^6 UpڛΊ?r@F-30l1%PoD ~ؔ^!REͲ{z˷n)׺lpo>v_mgʂ`ڸ :bt:t` A ;NR\^}Ud[}^]n'$ ɛ da^+I5A V@@2A? YX XgSOMe :Cuce=8/ZG_VnM{~;kO,*i/& m) Ò$wktqfO)ܹb'Ǘ{<;=AF՘6:>? V==v% ~>^[v%Z>{{0o&W cE+mL%Kio0P.DwIj 0EcXTS&ވ6o{|7{b-](j~q7'Iw@$e$ 402[PD|,a.< P!ѪKJ#z>M5\cbUmVrGЙnX6=rfvF\)l:=]i(P*TO|0w/!ly1!Mm%iA kmV 5:!zu}s꣨ٺn^ 7t%piB 8B~vRH BUGD[ax{K/~Cb:џ:>@kKk?_կ'9*7orv^{78B .eT1vv DBԊ,)[TXOiUhy,`} I]@kjk+PeetZ:DPcĨBԝq[%Ԁ߰082&bMBzaqV3M+fs,$ Cٔ>Bުwez<2#jyd|?9Sc›}Qx(L#(JC|'vsd>لxX}bU*W5$ ~3.L -'p±:kkDZ1&I-pWK_@!RLL;m6N)/MZK5?E7am !QxB#وAtoXly:tq 3 %L<Ȓ 8DI|#Tz3B3\Pga6Pڪnaŵ~;HeFE|7CjI,45 "pꩊdwm|ъqZSum>uk0PN.Wβ  IM>PRwR5T4>Sn>һzLPy'3sF4yDm{d7|R C@w׵?f=55gzͳ=^#L}M䜃zjWcj.V\* VC+xh]FKn}RB#yNê_j #틁PBSAzB֓lb3:ڊF1'Z4tcb+@?* E3ܹwFs) 0IO"\raʹcuLz06+6}ҠG:*ϸxckږ^|,m JTy1r@Y<{zkC+zJ7Xج ?JT"\ .4wxť /o Ms 1&N {0HŤ>~9\onqAwl&c0x@ /Q]0|d8VsHJ]oSUc%]E?UJ?d:q&y7?1+fګFi_6 t)=7 ]?# /ۡՓӅv*^oZj=rz3((_Z l2p\ⁱa (Rr$lh`E$Q*6(t $lJ(+ U`sjdnU9JWEuL0Ur7Zy':ȵh (*S%QTK[UyJe>- kt:8Y1=8jhpf{l46Qx=ـίl'hҝ 4o>!. >HoK/EJ쒙]̽Bh{v~)٣3d6UaR7Dڞ_+{0TOF{l`e[zωg =*J ̀ k^if]aTlnf}A͜Q$t1Y 3{?Ε6 ef0 ? <Дj# V_䩤 UupE'"Q_vzjs$Qc-k'n/Bgg@v?Uh>3`SR@Iq]wx4۶[iut9xGn+<6.;e7:_j0^{͋pme[/r6%`b'X NLE?XZ,-wN34|\JeWU*nj*Z ]ޔX]2 _ozC6`'c-x1xT[jFNj3+B~Wdf_P+3΋gD"]HD ' -2'Q)XJ16އDfkQ* /g0-ʱ]BTYe%'b:޳j=뤛7-(lZE4I 6iT?lZ-fF[CO(տan @Gnj38FFV{XbwQQ0H>g`2!V,0Þj8.l(=Ԧ+̆+9ga6i {sԡuQM+C+uFW c%E]3o,Nw3^QX,ѸbV?2 {zbFch6Ww@ƀ?xP>zxK|DO" D4/'WQ SWP+@//H~ūj/X$KLP&hUKUY{({kkUt:|b?A)P$A mb,id1T+' s3*CI(:bGYWI]ƒ [2EjI\[XN3I#G1ANrCg^C]t✪}4UJs (i:4mPL)$/ 2S ($Ucqwx4lj:sdG`jНYiڷ7l*Apt+ HW$P 6)$ H:!(M=3OnpĥNꋔx6b?{Ƒ4[C] w"%d~MIHnR: P$Q(ڭݜ7Wr,,$%v@Uf eQ>&);W>sM 9}x}2d& TcNJMM8^p GϽlD:8=×81I DQ Ñ6^uq3#$:!kU@#efgJ8_C?Q% z3I 2w=m/"q<xFUs/MlB.wGQ'xOҰRV׷p/Q4NNHr\ιŧVі?~<6u 'd}CIgXUsBq(c/޳ܪ ]7סQ1Dzt3.sq#j4*T~.M0Fj^Ѿ'/%Rnӄk0+UxsRh7;b)C son!8XxPN|7Y \necu\5zEkޜyl;vH L ʞPa0W=If{*_ 7f*+JY=vUUm%"v8=G^b)j8lE:?tL9<ټD̫֨GG<}+|Z Yfw.ѤA@8(֋D+VZ?T 78Zm|IgC^&'G ib]ֆ*hbTRM OJ8Ϲ4SF $ ]چ%f `1(O^GQb :mo x'&8Ț"u4~ l0ƶKےFy!*>l81CSу1ECBP2fF{[-cҼp5jTxPɀE[G5a;PF; K'm;meRQ]}E:9SH0=XZpIB⬓X c$?yw˝$)=?6 h{+% *߉Olm/| kaqi )g/z'@ j9|5T5"\cGBZUx/hC%|^Ċ?TGKÄm mKB-&t9oCť]ɽMMf!V^- }_vJ{󢹹Y*WOV{zVI=\;\m6Mƞq;\c\oRS߫M p3F*x 1kK4*R19Wc]esPcb^_N‘0A.?.rT+[-.peϪ> YW=FQy\'qX> [y]=^Uϲ-e $\ER 1Bue/K8 "Om uHn*eF 7HU3}Ҏuɬ [:?DɀJVe:]Ԕ:ڌOAsdd~~ i9yAJ,#^ $N],!if`>-ޏ5\Fa4#a|)I?IfHZu@|UK^ܫx1nބ/+h")F⿼llSYL _.zwʩIʡɹ 0چDzu?){FedŊۊxh2lSYs  )[ `yĄ '~YuI~?"RKK91$J]e;JF 28*07qP[B $yFQJ"5)E#r/+)8ʴ$^Hu$ #8:_XQE&Y(h/mUhN iWaaM/`j=VU(O5U*6S8"NV?^}pK|g(>m.,S@eTN%(؄NJ )G Q$٫RـyjH%ǥ.Z3-J¬u(i<%͋F<5(Zv&blTL{kvW0cNC?mnw`R V\<- ݘO9pќ\]㏮J'"(` -XC:I>3i=n}"~Ƙd N`(TbQW@ɉ_L% G$C&^ȃAxd0FÒL2ď Jz]Q?9R+K5FvCzQt'Gc\HXюR:o k.dmwF VN.K; k6@Ųc`zzX7[ަ>=@i]RxW^6`h5; p!i\DQ[Գ񌈂 '(wMʅm;Ƿ@_ҡ[O͎mʱxTҕ K|}|iB1_v{wA :FPN^YZөfC5 :#~O%`.X^Ԥ(@2pB;AD~.!E5n flSTRK(#Gr{.! X7ARs I+5 [id?#SS`<;< ^If_n ztTgM%}jՏ;q^q1mi!=kA#PXW4-d6DJK'Q xfrWWW>.Yyz'/[r?]vj iZ /FW%kvrvcI(H}z| 'TrxxzzdM,"C) ;` {^Ҽ9\r<亂_tIۇ0T[*|9^uX/.^Ĵz%Z UFy_t8O6~҂O޼9J~Rs dpEMp9 4gH.XAd= (-^3t.Acd%XdlÝx,dow|&p?\1>G a%=ĉ3ƌm7W'Xx#/(q:p YHDx8S.VmrMJd~g]ۍKr\,-CNԳn6_L>P#;S :#-Xc*=5_Ղ>Mʫj aHʝgd/JJUΪOͰ̦L[P3+L-]xpe:pDː1 t<'fl&/0 8-FA4hcA =G~ogEW0(D-: $ +僩lN:QltM]R XxQ 6jd(3] p}pIj$UøsLC u4T\E]0ɨp lZ /TU(wa=_+z0 ӧӧD^{:H| Zwl'a\;!ah0KllqK׵(GeY5akb'ҨŴǵa7\< 3 CtqkM]Ueg*Xǽ+α:(I!xʎγl~4r}%!T }rO #"!&moUܱpz[ OcOڝ嚥nqq1yNaThOu#!twh&R/(&=dH{ Zf4d"IEe"-};al6ok.}LT2o>oCR$/?܌'D m4Fz]<&v>m_Gzhێ(-tT)Ervދ.Өðç=r$89pO5e8Sm/kS.ɡ?7/|s`Mh,-$u%3? uߢJ061W|D3/m: ͈YYYsMP|Hk-6W.U,XiG'%@.R=LH'qCgȶEw]܂&'>6"f#s(dG}MV=νκGSOK>BݨjA51tqE~\.K97*1k:ss!@pl  ŵpEt~?±hN7 s6}LN8zNtoo/?Z[*{DZ uGx "ꈑWlwlU:Je Wr7qWZN߆>^$laOk,#5v蛏!Æ)A^o"QU,YI{q˜2ŢpuA 7] 2ig 5@Z=f]Pi!Jπjj?i'{uulCV@3ύ!Wzt7{w/mC5=Lu {AET ݪ.:(6ۈaۮQ ֈL~Z8,B՝=dmy1'ޜaiy8k]]P6D榚YI9Ќ3 }%',.RwذS٣);b5|J_L=A{f8pSJo̒s:_ɏ^}9Y`]M,O^Qt5 *xJX.hCl,p-3-P`kU\nPسuNfHAfh hXKsC^V%=_S&XHrR+j/:+m&o}3F]~Г?? ~.)aqFoexm&N T@" GHR t>^VEy#RO-Fų,I+߲mpdu>'9XP)D|sgqOA$qd6Қ$R4ڤqYo]*v!`A>K;JQ_ =z$|a}kkHUd TA_(z`'*yʎ2PWɻyg7G YȢ l7qC1Sy7p;cz 릖W 6PzJlm&I*X3(F kJ$/vv.Y=[k8TX`r>lFr| L+LYVWчFe-&-y7C2zU"uӅX8S2:nCW_@1ǫJq%Tu)RQGKCWC.\R]8JdSg~rjDYnA(Zמʏ,YJdQBIP}? κِZu6ےQ>UGM% 1<0wȍ]4ٝ~DY%8c`;~TA`*7ܔOcRAP+~ ~p}UNh=C+$Xf|}Hc)цO"_K>EѲ?O0 e׬hchyɾ Ӄ׿#=1g9Pie} bީ M$ϳ#\hX^<{\\=+8&pv cK#BQHv8tS7ϓ~?XW./uEi8k䰗ӞWCqNdp:`^=^[XLU%!A_i$<+bwůŕ?qDak8<֠UDS+$[Z[k ] 5{0EL(:> %#=M똒ObTɄzn,̓"b`y:?c?O`@Ýr!YI;ᕋ\nl ȖvVwi*Jԟ + w0U1C} Nݑ7o -2X%xRB/PS~ Y6pJrwX5.˭a2Q: ]8AYISïH'2s$=`f1,:{>Ghua?蟣tpllew]V`j3t$HiQU9nׂ}^L|"-07{10∄u5\Dg<,9 e .2.Dvh1R{ %p[|nA Ւd|IqG:EuQ뤗.XN/ע1Ԛ 6+Sܟsy%^# WLK Fv#l'IBh[?V l)p|R:pZߓy|QqM|}nZ`f7YgMpheWi0QXy~Q:gKzX 5ugڳHO%ЄkûPaM3hޛlgC-FQg@nbt[0/0kg}YřRuH:Ant4ekHwvexlVA|Wvv3Cd\&M!3ASPj l/Vc7)o(;/+ED'jӗl+o-?Ye_ȓHYdt`%@gv_yyquӴ%r O+ZhKuO78RէX.5i4J jaJɡ+~#x]|wvE\' s#%gO])4/29}Pс{ӾY5R`m+CM 9Gԛg4wrGX~ĞI@YAS O lF (>&D8 1+D789vu:EqENt+)i>kf>?C Tŕ+ITE/RU5D *yg%)* Ҡ؄oJW~AƹEsDܵ9Ɲ+z@ vI tl]LczLFC6ᅙ0Q#9WVbOT"A&D}3R:ToA7+jBG^d?.4^%V@;VjHÅ4i.xSYcڦxPTD*z8Xǒ?뢊͛#8c~S<vv; ,bhoB6jי Lt[Zm.,! $ $CNUgzx{;8EsLՀjkD'Ih3,-VIM8ϊq *LN}҇V#pzMx/ 9Q8p֧Gb /(((B@w'|Hgu\ۊrb`NH<$5Hc|e8ƐB,J$ij9:dVlymM&q7lY)7j,:I %bkH\4߈a. jՐ($8A*^& I".[4GT2 ǵ.١aDZ&p:S=XQ{ 8_5Td\WSl D7"sw9kt֒ʮ>mĞ/z-_"@xHKRrr Vߙ"j)Ƙof`Ϣ ,ıbHmJ҈vғG+6l(5_FCL5f("c |FY6Zt`  # "PPB!XQ3=hL,F\ޠ,#`3AMdooVB[B9Jl%jdF ?:r6" Ak<`z{L6qT[Ã!(p fOhJЎ,{vPDp*Mp:L?oM-oMCLNCPt>?>EF< ⛈ "JMV9kd EYhF)z-BoSGtt0>l\?Щ ʞyVb>b$5K*]*dgDjrP+k:7z,۔o p4=uKZ ӊHCaE0AmͰ̲yp̳GvF柌r5*ètK+}9> yr\>+F@qjr8H+U%~kH 8S세Z۾e 7vv3b9T%*9ǰu =`a '"c!N~X ?g2&C$} I-"aX,h?6'W*Ғʀ]%`6nBe0iY+ n~GcArcD- ceˁ,Att/+""DaNf =:+"zUZG5 nJ2 eǦ*1=!CqBb +vdiO%t~TgA9!&hQyH[ 4)7{{Tz.vr >k#Ɛ=eot2 +ӺpgZW,S3_s\I\RSZd~)kLGװIvUSd%EAF`oZ*ǍBn(X|ۃ]Ԫ~HQ^v^~o1#*M*{ CA"%C3HN2qOa4E(cX+A¯C2PB^b)txb!NpGb l`*;f-MW䤬WoT͇t@ %`^&Wsp8Z%B,Z*i]Ru@i4`Ȝ8Ad<&[[I~?DP6*!E368w+~'xE%\< |Q;{Flm!s݋A\.Qn/Ȭ'*ZsEŹp:$6pυR3eonsv'|#I0LJZaZ%rKKxywH\V /{xB]F=eኆ!m;I ܋Q4% ):bk{K* H->) fקEգf\E׶L:T舜M(lݙQڽ!{ mgEu-VgvqvyxHIGmNثfE=-zI못Ҩ5|%l2[v];̉I D7l¬`-_:K_B]M"յTGE)+ɵYǭNǖH5emwza>E+iھٱRˌvu~@eWtT⫊Nf/h,58eG:o1Ŀ_מ=l: "f9miTBL뱰8S1g4C>h*cCWb3 ^ ;)CQpɯs;U/IХV)7V F<٨<'Eh&Ғźq6Gɮ-IwiκiIG߃_!oHS* VYWXt[b"Y[j8a.|pmQ@`*e(pg3HbGRk:re)8pU&q^t0>JRc;S-%Co֭KN)X%uT:^?6RAxWsW/R!e4$WQb]9 $ɈDS{Z%-IB(ig (Kq%zD i\kk$/ T;/<\YPqk:@Fv@A7 /c*ִ/Ob>+VT#1qaJRN9xk[ ES%JISɩη6VI kӼ<^}lIL@/4-Dm.P-=qy1*~yDrimt_`,*řNy8G@WWv5Z)j.U.| Hp ba*s᫭__޾}}y;h[8 ]Yh&4i<ïſ"StFsyX61ٰ֏ɀCk?eoDykȼf:mt6ۣVJV{xycⱷW۽^{t~F{ݖV62j3OѪJ6nj%FvQIцVvP݃S̽ɰl(qToZdT`Iq`, xj0Wx ?<zlU9>Y:ϻ7Z5eW`wdEY#QmLTJ`|SJ+ <ʃN' AyצFEёG6M714aeIc񢹘pkx39'zI?W~X~{u]/y.XOK5Y/?++0J}eTon+0mF-^Z+5n0$ n2Ӌ*f*W͍9\dF*JuE+ o8z ;Eܲ3qxM~ܯ0UeSDC(f |Xwd[4HJ.М 4CVХ5b-Цujf:2GoD_ܜ2w:? ZN͕o ^m'&PCl+-nZl9EFME}T F01su&jflLNEhrPgJ؝Ndr)Xp *FT#̮ׄLbJ T+ ٞ+d{o0Ij=1m9/Qd9=58Gcλqmxv583RW^]W|kU |N^ >PnhM.p7uoQ\'׹:]t[>x=[كٻ =:ӭQٛq{ |;ϙዒhPO] fk/h83]~F^$OI ey\s.o\`>g-j iF lp^SnaUC2#.^sq"]*lr>^/\=tfv3RP]rlΚ/5ez XYo/:ZO*ڊwV{=_- @߻݆ Q7i $'+tO$nt*5IH$4\goAAP23wW<|h8{3I@S&4' ;MiiբFS׸D]Dba]H׷ j5ڱM:TM~K41$}U!I G>2y:y}sZ+lt"wE Z銱 p*:EK^3W[vȂBFR-NND?۶T^PlWĢg4Y#O: u֌L) M*Wz%.!Voܸ\J$X.<\VMJ*혃'Gf\UÝwポ}sx=؍1, n%/w닃bre3Fq.MlZdy=*5ZJ5u'8ђzO/ԐtCV,XfOf4k#47}#:VCiGk T]cY5HQIs1>>5ƦiJQS ;}{=څWl5BEj|-b| no][XlKX 'V+tleh"f;y)Cjgj{I#"gZZءgZ=Tr"Ff5wo]".@`-܂VQ`ge6aX6I 欍 o7nPyNj 3#)+*s_IJJb:B 1pwAť!OCњ=2l{r)N;g:l*?|KŪ,ІAj%'[˞:br qŔUiO:eU 磦gղЙ 92MI%U'x 渡2Z[1V7{n A+^n$`XKQ]pG`=9+6lb9mu{jV}ՊH* V}=OtXBMރqu]~n5[#U qG0n^D0y̯CX_xq[y?y]?PLmAwLj )ђh /kA>3N#n-Qո̂ 0_(ݾYk G k.^}K;a`-W|8lA8&LI]63Pk:y%b6UB,ι`Gdx:kK}ӚleatT`r v\eJ)P"Ys؃lLLC`8k!풞<,lVT]|vb U ÿ[^_5#XkŒE!kRإ-NSTQqKk|y?(Tfvjq{vIL#ZѰ|MXI *If@ΨOm}_pa/r:Ƌ0X(`ev8oi\LyݲݟX6a]x{gW>;3;3;3;3;3qw& 3,N{ؑI^{3\šjoЫ>p` orj;a{ B$ʭq(8BhЎ0X~MJV*F/@PG҂Y:HQCBcmS9k!mLDtLJYSh JՂGz Q}<,?fޖRctKVV9E !cbtAg@h,DVUEc{LgQXp=T?4G%Nj5 H#8ҟ&wkk gYbLjO;UDDvzK&Z@Sbg{(3LrEձ*^U[a>J茡hbǫ//cq!͢ S}FyM5pLκ%qؒqZTiEqp"Xvcq:B׹+n `"k_&tLxyk?W{votjE?-/4@{t`7("ےwʵ~YޘAciSPt(65t^caZdQ$kGN L]FV(j7#&^@U吓mclLeBBŖ׻Nja<͆0?~90lㅩ)yc{MINRӍ:Ŋ0XEB̮8k 7ȅJ(;S)}MRۃښ ֞CEN1w xɵfYL]z8z'>bX 5:2},"\$f@J oB'9JL* {Mr-p* ]e(= Ҫ%/ٹrj3x0ܻjXh/qlĜNrbcl?p<&ˤ5* ǁW{E(#F Pļ ( +) 4^!s^lBLhCV0]~Lz`);VOd|X\ J 7jcV`$P͞xl"cC H3#1zpWا}FBiGkg*Y1Yf%:i+F%i FZsq CU ̛eBAoU%#eDGV"ob9JWh5>tJ~f2g#dEY$cP<(F]_ >daj+ I4Peȍpkp"KR"5Y Y}̄~Ip?D /vŔI]NDXEE'` G)0'2|6n#DKih5r܆`6uƲs }Q.<׺da/7 &m^s̄(xӶ+/E-[TSZ[W[$BݠnIydh7VDˊ`?Hǫ;/+AZMf?.M^feHlfÜCWrT%Vxpa(78 QA~8۵+cm:PoDY0d5Ӡj2'+Ǥiو0;)̈PϬβ`?W1PpM Q}q A}"】Mݔ4c Zbj%kXP1`9y| _;Ss@Xj{Pqᰠk >E?S; DVc?e͋+m^ª\t7 яW-o A`tD5NH.j[]S7TT.]CSw7m?Vh _FjZ\⾛T#tD5* V#m7Y=Պ 1yBd!ZuYB|^x*TPlgcy]cD6)4b2 T:j#H5qSaq|va3ϟtVA"kyupq ]7;0ul#64V5E_m^f-Wqq=,wS=2Ҵ`wW=T:WgMܧ β㘬*~mMpqۃ،WW;npc,p /BgUUVflDA+ '&kSQ}bC\<]wNYIܵ3vG9/.f37n7͖UEt ZR,xEEs? d'K@6=+ !X4bix]};6Ƙ+kZC%\>p}DЃyDnwEsF/ŠP9*<8Wyi:}n}ŷfLZJ&NJ_Yg\  Q !.bJڋh-_žG^7~/6; &֡?IT×mXuJEK/[޽^15+ƋmJu-+,_˺^XK/:p_:ԥ:Kˏ3=ٴtaDJqjD'wzڣϠ8h{w64;{;#rF;l{3?-\7n(_M^j6\Eb dY\NM:v?} xkLkѠμ^6~56Җ mptɦsͥ( %A綑Z7en+4#M9uĨ}K*(an͛t*ՏA9WxWjX>/ӥjh^Κ7x$V$_ k9#Zڌ}᳙)F*yg"iflԡ:K*gQyɓ]b13 q3Ƽ]!6x.:n+3mQu;%_;2Ka<5>V. P˃hY+ޕ>a_2z]zUP]׿ ]⨂*o*gvjKyibܰec| ưex6ww7<)7V"wQU '43LmPy|L$so~3j>oE/;}ޗƵSL*ot!rIA'y<SV=ݘWP> m)T^AgYv0yup}rp`_{~3z/Q[i tp2nRφ {0,jA53UVYc*5jf| p;ڽ|LԾu(ѥ-:F;nmel !n$pHnƠt04+ E? nb8nw t(}\9 zgJ2E%C#R*ڎҘwo?bB~?Nsx(cz> :R$:|,Πbx]O Shj:?elppOizuR$~Ұ<_mxSނzNɅ_N!K]3oQ=@v^Z>z" iljuq\J/UwEpa"-p~^lue#Е *VFD#Tlxr.Ylђt{Ԅ~b!@FFp+Eg^ y?qX;$6**Dςo)< 7bSZCkp" vX^k Y͠ty 8V8LAO V'NO!ֹp 0d2Ő)ap+aM8r. rR2(9&/`=JvÝi2ѷh Ad]#`QΚ$f xx:X&yzYVʀ+UMZRW'ts6-PTAp V=awLnưB'śsBkB Ob=qc{6l= o6:XV1jIs{a6n+<[{7:,c̹!b-+077U&D,I$#`t" ș1ˋN5709]Ǿ5SEf稍k0qp oUuEe,vv ˤ/q-: F1_d:VMzWus~*6؍BUsS'Tr}֜94Z#5 vOܽS{Dʝ6Y ,fҲ_;> 7[1 1XcŁ^|$0/4 *&,^j{bZÿ"5ly͘;|9 9jFm5>#yEOʒ r=9@.,Xt#A#.zPitjYw:w e\Ui髵#.|j]q "g wNSO[ l̫i(Ki\3W6~yi.#ٮ&Dʤ|bͪ/E:&BLdM S ;i)QVYz߆R*` *.ga:fcZaa"%U9;+k0vOܪU5+d<97.Ӄo~KۊJz -1&\JJބN4?.udVEؙ -0x]6l_x68YTA_W%]Lϔg㕕bw.]?%̴ntSLy9?[`a [T-JPhss\"ӟ:s.øZ_QoUkܸ8hnQG߶_oχ >+lJ=B;?sj@, ;jTy\QLumJ̃T,Խif<&9ȸiW(j(X EhK| rVڇ'i53zO5p-Ĝ׮KV؅aėNQd=Ckҁȫ]q}PG)*K''KDfIa Rp&%s0ȆГ1sr8pJuh)$lVT%)(† H*({Zc,J"4oMG d ;? h&J! 藒G-4 ^.`XUE xی ͧ׷r.l.Rr)9A6 6opJ\G(:vfrOY^)kep2AWp)ʯ=~)@_^m)/]ikJd~9όYadN@xB tBIRFAEjCgT,-҇B֙ w,-T/BYni 9QBnGW;pJM /5tb מ]V=*b=X, VWbo`Yxlv^+{sUX[p`.P9غ2whSZUݫ32 P.%=(]\z6({:MX NN ru}y|ʂ=,auk.s9Ev%~@]Tq`޳E3'캻L)OruǏ_s'wg q(wAB"}BtSF`vt#Ý#,91d`²&\`"z9xsL~us/ ͝N w&I|SZLX\^dJƪ?7/3rL*UDZ3je^>Eb-M-/b%lS.hC bDH´zib-6qk{D`b4E"x}+EۉXol0~^fO$.jvF\}7E:l^.YջyzT F4kε0]]fvtHr&./޼J O5G|x8ltJ<\TEדhEׇ;G7SQŚZmYXVF~VF5_\FUͩfZ?:ڙbFw"S}A a;}s] a:qf7Vqd֗Hüӑyf&̃F%$ѥ+L ; X'0\G%Z}f>?kR>{NCQp.Ypd^q*B8xkh4y(- 﫺U !}Iw' vK J,n P{0ֶ}2y6JoF7&haէ>;Gv; J| kEQ5b`C@b֢+GㄾL^wD3_.{a8 }h i(+xe$x /ZR=-e6{3`ACvʓ 3NRj{@]\w$yc¢){+GB8+>%7(t\iM>S,}*J# MӘ>:hú~p-wg?<?Y~qlջpe?hܻ\JOW"+W<^[]Y[~w Zx>ZrYWGܶoZ(*:z6ɡt?Q#W^tQøZ%S|uqq) gB!ЁvOQq>? Y_L)P酌0Z膹Vzu֎,7x8ȇTUޢUz'phCzi♘ã0`Q+MX6jn+@pW76Yz   ~eE$]CHqÀg Dh"RLƗH"v MV O5vHQ4E{j!`/  58gM KATALS}%bYgR4IXDG6 PTK*m DCiAc@unuO]0KgŰ}eai:L( 3AtddƃT(h*H47%3γ.O2zkT׬wo1.? O+ɏ'j\ooo~p]#z rqH迸 yq <~F'y:lWVы?AS{ 2Ug'cay<,hl8_qt㥄euё/C; dK3v 2R9pRWd6&kD#=܈^۫EOU:T-!Ǜ 턷 2sM#F+xgg ob|z:H?dd֩#hYC !j\ZwD`oi8li S?6XOWlם^xfHPBVa4Oyڴ*/SogM;|qáb$}sZ-1+Ϲ=)yqSYVD)tt__ [Fs R .xw7* 5= 4>0q̠G2Wq \k4zGk+ 6-*x> xTpJWQ}EШO7_q&OoB8A\ojZ\'եGK%sfugS띒!=5d1Tyvݎݘ߯v}5;/q,CxR9UeZF :R.nrEA]@7c{ԙT%}.;HKiW늻24y;望s4c#5֤->Z0́n2'"_CeU~[tAP߫1cy%VI~qw#]K롽HMVS5[^ZէY6ȇ)P WPfŵKf㗸j/5zUʦv:W{m,{ApZa`W˰|F bQjmWzs^9ᇿĥr@}r..o ]x]Ȝ.CqU*I *#4bJW\߱dkZI}j蛾U@g-R?A)!ϝJkU [ܢX07LôP:+ã1Kd[s!;K_v_ȮY,Mqc׭ſ.RimhyD#h4\jp~o%)C?.{6mfᄌtzW= oyRww{tf JMuG T)-P(utqg R5,fgҼȃJOP7~~xUIKd^ӎKTp\HEZ]Vy![<*tQ: 6"ݾR#J"RJUWc q X8/X WhK@[t7z e宠\O? ꟑt;gהPE|yJIS( 8`̌^:P.fv}~?,]׺R)zNG5̘Ձ=@LOa1 q\W+'ib'K}thXvM) FJig,vcu KXH9>40/.$hwSaf~.dN >ԪH OmИeuuzGgJ#)wJr%@ " TNj?,.9Zy,a @+l*&:5=SSр|Q\3YG<+/ge2^8)ˋaopH4>4 LYr,_8{8Fv>2@nOOӒe5iD2-5׸ܚjD N^v^.-mQN(DP}h:[sk+P@)ft;v(y{[>n}cX ;: F# R`J3Wz L>hn9[][Hl*kuhN`jf4 5I͞R3ỤG'_ 6P骿"|*aT/yJRpTNVX?!HFK> & z>Hs3w%59WP{ b6 s!L ttGZg ű0zTb#nT`Nkx瓹*&U$ wv"Ϻ1QLM[_\Db#1@[eS`Y.fc 3W7q*o4TaT@9P Y7d:P-3涳.t-mίZy҈8Zjd~p2] 3J{>2)ߞ,56ǀQ@ڝNW[V~ jO8D=$[(W1б{2'غiާeP?Œ-¤J}NT$E[lXI$ؚ$ҧҧI9t&C'%((.`ۡv MKSEaH=,s`pLTϲU_9rWQPa=X1TCc%隲DˁlPF[ΎHҾ5:ꡃcC\ضjpK"J+F%F>5BT+ Q P'PV뫎>韦vhuA=,kt~%c {P"=yPI:p{ P .8I֭9caMJ,<`p@( NqUow,yTL]T#F=Z<+hs]iRHg'^=&C{9 iT>KN‰a~92_\.zh%gY`jA5pV5HUCWē_!<03&үb/b lP]*15cv= &S(߷ovkz6)z|lH*l9vp66ym6?/"?XD`y[J\L˼~: $ycU BfuBu>l|j< gAҼv~aC0/n}v?9 Y|]\]ʗWaIm,a[  D<;a$ QmR kt|N}zQ_/7Ɏ%`, 2iѨIZ`Uq׵/Gf/J͉{厗Q /]R3*h-X450< X(}xJ^d*cv{ M{b_&2 WV;gռ^ )W.Bύd# +;Rn ס4Fޤkz5 0Q  fu֬U U E- "kуZJ]l.Qd#:%kHd;O 5$CCP hӼL \[ 'ݓI)YTt͆E gV[jZ:fO5w[C JFF]߹Ww<(IkӧyL=Yjٷ OZͩLLLmZd\`eQ{xխ:xA_{k_kYU]c'ӕ0H^bCoK^N~ ,yIϡpQ]_uI. %Ku,4R]3n`zQ&UR:NݒU$@}0Flݠ3+l>tW\_0" 3T6d9BÚ1yB) vd&H*>C;;*zdUcȕa@(I TUo!{1-@G¸e EKF_)&?pK6}R[,9ϗ[(Gm*7f\ym%Muiw I#ѻ "tt οUxn6|} kq3(  ^T5.(F(68%\cpQ `S8M͒ 6w:*eK]Vƣ^WI8*qUl}͏ԝd>pMb $T䪫3!~ƼҤY6#O/FaM<^^AhT'S@o͝uR!9폀 (5!B%KJMX陲ڻuzv:B[rzFda&Ώo_h".{eclZlUbAJ~r\s6if)Ǎqȳ&ױ5aUԙ㔩S^z{|g̗:#Hj!bk4^|Yߧ,0h!dC: j*љ浬[yr $؟EBw6 46/tcʆ/hL 'цM8@dpf02廃L9,0POw6#S!0 E EλKh{~:~*J 6P kzV:bet{S2j1Fe]I9%Λzx,p)SE3 ~J>i=Rd;˧ID)Z-Rn>r{[\笜B$g4$?D k[9b,;f?re՞4̋N jhHXyUy/"M9o R*1`o~L"7d@89<`.vU֡ 3*(utjtb3g&(T~Z8jE\hi{B}WEdg}]emk@ֽz- Clb̼J8I2ڥلs WڌWV醳H3-_.F4#x[zI9k>6&.5vXX̺蕁i1b)Q*bʶC{Z$jBQxv4P0>*w4ȳ]4dA0 C`.Sm LKƝ8+_Ӭk,/ӎKplf£XG-n*J>YK@9:"zÎI\F`t@1+ڨ7WXUnk1jf}}>܆uPKfQQjdT$/sWQ,WT9*V;ŭh-'hU|*HV8 Їp!=^mvS6"lYJy^-jc"vy/0=r(x$iuͱGi:jgLhX SCU YQ̹ݧ r<*m7Զ6QDbغ AXnQ]h]X{ :v:b=ܫB+zh {%'Xu. T:ZzM6>GXj^2Ew@^0i$5f(8? h2{D׀Y AoԚWml=ᛚ#D![6[^E@l9#P[+) r/a*9W ;=n Q1]>H5]NMi|zShm*%Y\{a":ďo5|9w/|V-A0o}Wz'lq~ g]qt:P:gvҮL&*kL|f,G=#s{痲ů0ID m˒fGΡǿy fDk(GPTFVChqTbzAp5@s897G8m 'Q] g=,?{3pO!D҉67=N$ZȻԍ:MWyǵӨb^"#$8HR#RE]ة+s 3j]58,}9cYd$i9){G W ~JW3N8(^LITu%۬( 4C1"t6EMxq6l1KaX\]pD%o牷T!w kV̶YQVx/XG~-< yxY.,s`\;ñf:%`)&8;O<X@DqkkvQdӘQ氁s[i,L񒖐N@j$ȋ,%J}fX~J9N | U`{D,ZJ*KARPZYRe6g%9yܐc6ld9_YzV_:6іsaVp,A٪cq;˜~?Ec\çJȳdGT/K㼁FSAdj1 5 BZVyE*66{hAC!Sv&7=0\bsMZ2?纗/o3IB6ljŻP KVP% #RzAhm]POħ']RB8V ǠAF~a6؉l6kuS@ .6}'/P؆ W@:;Oi4:VW.U@ CKIOI$:i[+v:uuNt-Fnl^C=7w2*v38ËC}!u97UutR&d+yIJ EUEd|WӋolFm+hytvG<~bDۓߘTe-eDy{dhZq_-зgDĸ/|V0ݹR )Dq1k&c/Fi^ *P)m) Z(.*IcFJͰ#O$mr~`p7SyCs,Gjq~2l 6dRp̽ɷK8!K'gK'[%+hcݑ ǭxC?"9hJ:$}y/ԗGvz:\F\s;VryI>(b-aƉ`d 8CڝM r39}Aje4w{t4ȆWVΨ0yX!_x@E'},ub1 {b 8jyw//de{[NSd`nZ 7qx##1X$R9DQv&>w_'OfT?9qzGU&<݉Sb>YyJ;' l[S>ъܟU}&=a:לV|NDjI⁎sW Kxvu+R,.;3;J?_X @]>u²5T34+"],H.SY:靝銜~ 1 1sX}>zuysoc=SUߛ Cy< E-(VPydjͦV0TPO3UP .+Hk|rPw 2?L\w,vzE=H:B+*Y L?K7 lQ7EʆZ/R]"sI]YjݹLV{nt?|DXYan:2vY.]QLAljatK"Gef5uP ')0'Wu۠kfﻠ_IC%n!f['zTF\3(BKq В$' ᜄ|A*В4+V]*_6)ޝW@'yUU+K a4IhY*=DM~WNA9 j"Լ2(Θp9YBRuD U;ޠ12N{ e4FG[Zw .NCEw6ѳ2rT*fi.xӀ^sJ+~{ q;&Zc0k1R᲻h'.%X9=B'6p]`0æF TIQ|Ŗ?~[Ww2c9 _]]-Р=OCK.ꢥiJf7t^v-.z->H+ڮ!zַgJ.(p tiS8W{.Yp9;6Y_h`)AY[I<e53ЯP@tA #X,AhUV浒 aFSt0 N?i7`E=EgZsKJrRM[u.*;˶^$b>e+[ xc09~?x?x\ѓg-z hBDVs&ҙfhE[\@߻*2|زDF@)#݃YOaVxdPWf"z NB9t,뱬 Y?T*SJY%Gy lSiCstKAY ^r9(}rvQ{zrwN T}Q 9ns9̜^7,\>͐<7lVhlFNP.R8}4δnMo vXX<@>M\6[ږ .FdD=:4wACs3bidmuZhzΚ T~#)Kp_z`BE*L \"9u졌n*TA󭣝d^ws+xęB7z惁ٕ}A];W }7X3QR16+R[+(ͳtHj#NE֠R5eG,*aޚA;.a {0Seyy{/;81[UD4M1T>*5ԕX?R[AU|g*k@8(1'ZI_˲# u@rdlgf?IK%~:V2۹1R/^> XvE2:,iV\~*z`RD+3!|۴r> )1 _7sNR&~tp\@rA =[LJ+O( ښHcq.잴ujU\4F|$46Jx.P xQoM9(xS=%^r3RfT%HG`dK$M8H_ ٬@z/tȤA͟&ϸ٘!‹4|k-'^);5\ʚ3&C0  5uq'N&6qxDX\btܰyi-^k9:m8G 6Ɏ76c4^זh|z: ;=[͗O~Ձ7L2GnL `1P -2D:굦Re8% e Ϋ*d ˥hrg. ܃Þi[u6BarLE 7hA ø#(`wq,(e2F͋\ J  D}.P0>Pce2(ن;p>s,69馒W!2 uUYi k56}/ܛX5v( J:>-bI[ Ymu&0gtC,{ad#T͐Njq{ @:`PS›BGdCWJ,闙  {N7+ʥt3~J!{uRi&zNQDr~9fSRzv(bniwP5@iVU:۬,8{ͶUN#R`Q[6)oklD:%ɨ)<(\2|OѦ yƼ:mPp>c`)=56:}w2~q?*0;s$aQ' @Tպ"b#;Cza_ .!`ZRCjmM,`:AIY[Z_FQ AFvb[̗k#øKWϚI{WTVQ'gvOA{5 KPijXex1]Rғy;+[l~6CF)otJ1\֠y/=?;v(ysӛ炜/wH_mI&侱goUrICOڞFDIHp4AUҸF# (]kvl!9"V^{ d W~+SCh *qǝ0ר2 ckE"Z}qnџQw[!睆_.π%_QyQ%s{xA,`S0u+˵B9Kpxى@M*b?U(=贝5kCZ|_Da^ZJA:22N< x$wDc8(W e1ÚU4p/S ? %cAq-rӄ]p⚶xWa* Jm-'`"h[kxI~Ch#HTcx ˻j45>:mk79vVoΠ,nZ u{Qe2/_Ǎ_VWk?-t]z*O)DQL[%S+Ϭv!73*P"W`U1Җ^"`v8oP!Hx7ٲ\fU9YqgeW|1 ߰?&^#ʖddpw-Vesq?wP͎اȵCyyqh?<_yhMOpKB_?S2ThW@0No4Wa+)/v?\f3z~ఽ91]:)rKKRVBl*GAyBzɳecGWys2@d`zή <2.Kh0Ev@o  Vx=8D/PyCQ&^- p5™U /f=eXI!F//Q xsqwox{śh+:8~u=sS 3g<t66r_)t -siL[W `4 Y5xu{ÚS,&6Yvz-zg@n2VGmX-:aY|E˫++++[ (D=#(Օk+?=+@h>w> #8$sr1Ph匬,Ѐ^Er7%ðnjrL5ZzړuRXjRJ%R{Q( jI(?Azy } nWap?0 7qfn3z+g9NzXNϹ;KBxɍ$" k&,MɌ= i}Z)W'C({t-1m6zh]\)IDHhN3zvZtWq[df\s_=w!SDYt{&qZM9i}~lmg,\h%4%/Fuv޷KD:QRz3 (rDkorBWc kD n(;t2Aqf=rGumtw9΄Tr;vD^Q; la9U5.+ m9յ:HJ(EtGJ}f̋(?h `(\g!V.U-RUM8ZpHB\_h|?,q~u ҅#Mi,QbEڭЅco8>~X~!ˋ["6DL a%u $’XtNLhYZ =J C]A DK|6mʋXwgI7bsJV=?êi2n0N3Yݦ2>Ā%?蒸 { ׏ZPAaz2ϡ* 1u$LF֥$pAZz=.]c ǮP014ǤF9`>H{6aǮζ̳;`8R_8S6](A&jj&3 Ҵ& p_jx݈3QV@"y#ѨBUEFNG[tcr UaEn\M)915S]49GQ(;-, HUCA_RIx"f% P6?8ٳ d>%<:x.=("@d̸jGlEvpQϷs߹:E7zZ7TJG˵Ѳe$[Б:>v*!e[*'spHݫ#pGPjw-7.bm-yȘ5vA} \QMwLv^-iÜ*l2: 4:_MPP~˥=ೣӚjlyqscar\clREFǠaMOϻњ6>wс Hp *B?Lrwc A#,=pQLt& ;bN0C.vb`Tt/k^Ue.:@NgRW84vg"H~3*Ya430qxV|OV[ׂYգ G@P5G״$W17f;XaE]kqKl9'l.(қŘ&a\D/ˍ5r˫<:W ũrFR-U@g{RU;{˕W_ui17ZYc4JتU΍ۓ&Òһϣ E\}^Q9iRŧV޴ Oz`+%KH4{QW!Y7m%n8*Y] Ha@#G8\=Ty`4#+1PLjGY`"6 e;/0-j=ˆlLe|`v~hpEI7E!=0:#Xn1>6"Ra)2 Jۻ۵foAv<+2~i vbG*U^>yfXВz%R)>Ѱ>yF\fq+2.CGUg\X65U4kŶg2SXFk<Ǧ̹^[SY S++{fzdm?V'ZbSSp%!rDOm1nT$yuo?91̲f|)7ŬlԨOtld] )$Q\1dm#~Mn\٥aM` p's>ף$%u%҆-6Lj`WjS,((p%1҂|^ns`#NOXD+Ra. T0AM;Ipoqijj^bH￷:Pje3Z17e3W 4zˮD]Ccг4ދ]]Sl2lĔC:'Koy=.ol^5v2??yӚ4?1@?״lAlEgƹhjxXj %2ӫ]3~z/"xF;*o'ʿ22,(ʂDj pA,"rCP \ $Ea?Ri VE Ӎv^Wb%5zx^HdժۤUBZPf[ !8SpjFSd>Z4|^_,2 [ "ۼq<(z7/tlq 6#}jFEz,qO&4U}aeKHY.|J$A)>T&@x NE*P؛os+)4Y'K&v5db2+Tpa!vt@@M4 d*; `|mJ7@KB3;-c1L Ja $ABOrcsMp 3) hjjIhA(+M1"a|P~;eO0`tq'#+g~Qܥag(V΁P0Ѭ\SX!8B 'ԲkkKZRE03,ɨP{6RؘWhc\sc!_,ւojg/8rтAV?L6 dG?~dwQ&tnXsIU-)mp>Ąinw*J9݊ivb,U. lWE߁nu*skYp Cc_<T8~^NH7v^%I!k95{V7mbHA/=˼]rF"4}v>IYg >@6v+q)l@: ~F~Mb3XsE_zI)azkܢS&lI:v[RH ̭>G~U0 ~QBxnOii6Ì;|pHLnSq&eЁ*+t!0+0ۣ8Y;p|Nxk;iǬ&67y%gמ;Weu +0. d5MV oډ\ZK{jѴ!j'aNpVlq6C ?@POtZ5 Xp.|#/)l6KCrly&%vF1;ʓ75)O T eDv7"@kE,ߌAqZu<3nj6rğM*:N".%D]4Dg54J'G.FQHY] , al+ jLE6}= M Wàsʸ]-V"w)<qEǙbI&:\701p1OG*7I}r~2m})l-$e*_΁KO7Vb)} .c: 2̒}B@K7e 4;ꐵB(rarbK|:3Њ?3LJ:d"23 +ˑaj/WH*Ea(fTY E=᱿VB5vE49<:K)k}c|(ddD5vy38F:``jh#U|5`b%e]P=x(:K _;hPR4QTj$AvAc;(pI\E.sqb"/seY'7(gpIA@ 5}};?o'-*gh3Fi--DQ[KG?2z"lpG6l{!ؒ +'tҳU[Ў{ hW>~^gݵ}ޛe8a/{RO쮱p}|_ϯN'Fm/f@e>ރqU!,lD#*ͶPhU[=OjcM[d\kLϑ;κG_}w~c류?%mbU+orcVgrV6I: hRUTUvol7b~UkaHΨC |t@N@RYz y:V^cAVt!YRߛ6$Bc3q,}WCa!5S}!VV*@8p\WvWV;IJŋ8ige <5Kʲʨ#DNЮȟ"GuXey*kW~m|x [Zi9?ORP  Ž98W6 Q]ޛ4¢Ǻc P. ET߱s.WvpAVmrGs|#@iEBp$̗[+]jT,fHMz_l;RE40\E=Zsoк;튜s8T7gox\ ^NV6dщM(*Oŧ{sx⠿<(gdN•8<*̦vc&t: ic9-}O/E3 cXhЅ[Q~Ằliᴴ(+m+Z8uvF":,J`>r*l8G_i |@]LjSnNSHWlpȸ@c" DQ|2H7^lGmcQ4F|W=4w\Rd}٣p~{hl b$Ӱvtb R qU(fUu ~x勠tE{,xͺHX 鸽Vyo ֽl)j&$(Ϣ.҄4d(t|nN&c{ dIwOB$Qy*N;o}u">,JK{I".x1zW5F=`No5=Uwf[;59֭$C6V7Y_N׏ O^!uK50Е+6c~CȐEt[ 0ڼt bΗVL V.謹j[ؔ%D<'Hi4#㧼fRďzB #U"+3r=P#/_ҩ >xby%n:&j)%S)W=Cm D<-s<;Ӵ'E`,_IbsNNaWGmjQDWٌ~IF.sO-n߬OM~h~}u^H "kDz]4uɣnLWfޜW_8d1!Q"j[UDwY4'Ojxٻj)~h~a%7&Ɠn1IW+D3(wON{kwK].=9Y2-jXSu754@WJDQ6揗 ˳?=f1}3@ 10СeXXس}Ko?,؂L9WSv1ʔv.T)[j2Ujt΀:;UYuĘʒ} 59$Ňm[C Ɏ$fONqw<*ǫٓNG%\|G6MYG?4Vq%ƞ-+PE1zӇlUzS}Afg77YeRZ.SZ[q9΁ /4erD; u1|\U aTfEq-ph( = +@5;ҫXi \I%\d Ӭ) tʅ\7g{YI|N뢢KIU-Q }@V(6eQoh-ihKfF |1RZUWBJytuVDYVbSn)PagOD*)_Dn&*RlMXHnPDlN|5Qj[sLЙ]U+ߡEŞ̢jqY‚Oh0CJq! #O@zNrdIJo?)] 4zvܡsYv0UZeŜ gnC jl}l)e3S,"A}= ٰO=1#_'~!-O}z1JPWmZsycZKp&|Q7bE'/QVXX0i֒P [N-A)F0IZ@ʤVUƌ2u"n6*wAMCp6·lw1ֶsYɵMvv$ܙeߙ ,ںƷրKk ՝5رP{M^Bm7,vR595Wb׈w8; &n=9iL tw6…ͻ̓'nuӼu87r42S_v FZ9v/޵c9$RXSp3i4r4p$غÁ-M4Dk6L}0194d,mLO~mCJP4WrPQoㆪlg4]U2X&*d@E3W|R1s)Z"E3Z"S6 S8/uɱs c*> R0rݜ!@f菅ť}Hp[ٸ.6EN?Ƒ&<9c̭L[lZ u#\]l1VKx; YKQlf/SΦF2pHJ}{bNzwM>`6$\\!Xux |7ѝlXlr+Ԏ(~Sp'U _Eãt;YK^ap#|nwus}OZ}\~1ƅS+=괲a{>⨳CcV B`X"T?*4>Wg9DBvj?i'{u5hiUPk"YzQeG5سgӂ ~s;7~r Nuñ%zs%A1]ZJ\Y8lyO9mWٺײs^KUozg#f֢ŇU}IfrW;Go~Iw0|sM0r`a}o?T<;^sJGUkOZ494&y6 wY6ԏHm;(@UYf*'lk w!8% gۍn}abeT*nf;^m=&+~$fKBv2^ >z@{/d.XC$FB,1WR:/ D -kHNT n;m#ot)XGqSQ$DQdZdkWKĘY a1j?ʯrL*rV˳h׿aHmʋι((njs6ksxz_ZJ?z縒y6[CϦiWiEW hxZxGޥЀO6dIti)lG+7Th4n㈷饄mZ|uQN1E;@{ ]muNOޖ'迊&?ӛVVWϔ%*t8ӵKn–a=Ÿ|*BX qX}Zc!Vc!V6 ;@Z_^~QLF4`)*/MAq4ң`SC)|4M@hWz、\0x2vQo rձXՃ^a}b\oB\CHV1R31//mHcIP NJWf@ܞiFPrF+ p5"\,"@l|],MZD^Q<+Ibwo'IjjAGPR{Ź7>F4 ChiZR9/h4&1 Ml?t?5$1y0sŮM4Z*[`溮N{I+hr 4Dg ௤' Z#\-VB}>eYh?.Ne}4VVh9?c۾Z=Wr2||3Sȱ:JO.pQLP臋 4ij:b9 UXf9rLPn~J΂jw|)|~CȴrU$x@nu#/}= ĂF%aœAgc f!'Xr Eט@ b%t%M2I/}zji-P*4gQF(y4/i7LUA[Q Zi`=R #J/ &1[ows/ۃ=}=3 |@t"5h]ھaZ^W7^hNQVcxEOQUSsRjMssx8|7;n {|ԣ>"*g/P?C ǤnmC`J@̿9;짣;+mq5CX5PcDעm<ձ)_)i;]8`"F'hW$cQ=XYiYI´ɕ.uwq=]U/'gf 5zLua~>ZvB8ēƼlQĘCv'52bUr/+iП.zȨ;,Z3U&c6P3#wVLA|A4W7}^nuuoȩg zM:hCu)M*D"g)\Hh&+.T9Ȭ%\Sۙn2dLY*recӸX`Y0zyNxII|5y,JNǪ«qNɓĔĕ [j.Oz#4̕NH,dvKH'c2c`MIlh=Ǎt٪TʋN"ק3 n<>|VYϩY՜͜yqyXw`)c 8G>*ѩ+}dC]^+3^:5mU{hFqNnD~eG]F-ZЀwo^ctC:Y47,@x)g'4oj:̘@R Z^jDŽ_aE}oT(4VnVw7fL0[º > ,s H2MDٖ}yU{ :i=m;K?+w$qx3no\3L7 Cw*PʛFfFDnoK;@m @U(9{\b=1KOEiɡr(M!G ܢ,y& 4z 3b&,knU~ol~a 1{ˬyjۉz݃ D) q{d`%09fg)TJ[kahUWs==]s~'j9aÂ"E?j [*Q@(ȏli->9Yr~zvF!YӸQlxUT.ZZ4KNuU$ RW,)KD]56;ʻehHXB>+V\̞S.r⇮{<98Hv_&155IJ<p|HIuvJkd FPr*퉳L:@FWuE Х1jaA}e-ףrG}C+v4R_vAh5͕BԙHW ") gd/TlYIP2Qx(IEU ϥާW)I%0AjD*2(̾ _>/d;%P eلX 4RT1WJIu}:iFBpv9r-]8 ce&1 vxWʣG|:gaM~'OauC$W@ʢCfuuyjtz/v?\f3 z7VY h]:iOp-B˺Y Ρw!G9yJQ;^6ztEv[Enk7:=`P <u[@)0xm2Gm8&E>>/`t+J2vzfLNx7k ۃjUUԬnF؊.Aa8xۨ8?kF=ۣh/_^e͕~HN{/Qe^Aퟠ֏{G^śh+"۽hÝz)D1{F3J̡_Vtª65{K00v8hhMzaZDM YXLmvZπ܈>E#r-䫭(Z^]YYY\yC=%\mE3~.>\\~`9Z]Y[yߣ齂=-|u+dfBn2[FW62/3KNs0ޠ10󀚃E5Grg2WkE(L}%TU%qtȲ{ƷL5g5*8aY. *i9zjWz*XrV Ov]KƭC5T*>|u7n&4I_VddeO-, dajƐn,i?BJd^U$0 FԈ~` Y]Wv$NS~e-롰A4^O `wR s-FUACӍ9\D*Q)Z]izFt)YYVLCS&Wcp>B%G3X?bj<5}z/4#LtozF^% dF>kqJ qJO}9R DzsxqέOn5j\pE,&1v(AcڄLiQW"$M-pJQDl)BJ HBnEņX! ]"" P9'Hw㽚33;;3;;;˰Ih \:&&.@x[!:)ɇѠp󴙬FE' )H(e;C$"DNY!YgT{d0#*] XG2hbx-@RAfy P2%v 8`VY _d)wtu$&fp@d`CEP{/Rb [M&BL=ΓG#1Xcz9ZÚ '#Xq)`p`vm Ӝg2MMuAS`12K0B "] x(Cp0 SE"4t{N!FYVn'E!bp/Т"J7dHA$xA\z` J̕&b5M_ALp EEӥT"i\0{I@e݉~aԏ.hp=?O˚t5x$׉Ak`4˘ƈjKiTVxh2f.Kp ] tƷ@hЛ$*̈H$-V0JP0DcȁI9CphNhi>PGPCQ.0$ =lE Ćf1(=5?--#a32|'|!H r4io5QxA$isc 0LJLQPB4xlEX:eHKƐpx0rڹ0Bʃ r`4)`3Ert$&h2O[5@N +)VֶH+0֠`,ÄS0!к-lR=qO.i%|Fd@ thM4cH0Z3QB%\A?'Ĵ֟Ce>SgWrՃp0X--=z]̓3(:p!aN"B0*ҿBDw+LFg#UC>LՠN hNz*[DGф8{@=GE4 F.-BA{@} RLF#nwpmǠvC` Ʊe3L00@ att ;^Zfc EOgݚT aAd6Lf)pVY'8eXaH@Ď60DO)(8eWsѡXvQy?ф3uu`rlC5vSևi5&)8tBG0hØDц$\l89A_nkJ G6,0$D;Q1Nݘ\lʩ.4{yKс c'ζ Pޒh;W%*lNcqa*Op)- [^Xk m`p O>k޼ê뀎ds4̖(x<'P}8([^>b=$f.8}!P,;Nya`. GOix~44Ġ .=ӐED"k 8v#cJˉHp2]#u"5pIM"a z W1[)r @\g.[I1̅;Hrr`N 8E"`>&ptD9:n6ql圡K6ݘ, Y dMu'P x֑pl~F#$O250 r!'WDNX G (|"B0Ypa9p%k'Nd2cx<af4a6Օ}N}ٮlǎ<91ŀlB!;n98$0TP \NԙP/┑0Jf+pvOc0HB0SVA2, nHfYܟ)ҟ̲4˂WfYp,m̀$p| &naDvb3Ip m#᧞z$gS/8Ch+'(0vc=q nAa$O{1u?# :v&Y0v ;.m|n, Bsd;P8pl#3SFde")C1e;srt&;c7|,Nqfk,hvS2x|2 !P0 LՙR`~=Lw"u[I671* :͙ ԉ pMwS8S0Ô{ONsj] (kuKx 0 Owx:ў-(ܬL0D>b;!ד6|O8xsq7i|ov5\؁mG umL hM?$c~*Z}EzB(;e@%t{N~dfF;JA+ט+xȄu_m}'~8GiN8E=|YeӞ2 \S׃àSUkl  .{=pUbfjbb^o _J 7N>X~P5K\,ٸD cلHH%Xɭg1TqQf4ޙh`4 &VDtŽ.S+*e<L^NyڍYM8LJ`6Vv6Vn*Nf7kAs5&8dncfdld4OnDiZof v>z+[*覄c@J2eAb4)#Ց Nl>H*`끯 I&C3oOh\hxlx`? &D`E76@ۃ7+( 'Bj{;/߄lh <Zj͎(4gbDPoe6UA@ RRiqX$Ѕ@IH777#x/S !P<@p:Bw3݂F&JAKjZӡy Z6r  4, fDUfU=ΐ $$ ^jDйz,PG2ՕjIES?ge `"G Ay24b;Z&J T2bt\+р/W^Ƈ^~f" AAŢNiPD~Ki/j @SSu~HEEچ .Eʧ?N!9=dP?v`rK`@l<&Cl@5CBi+DI`lƠ|(bhM5GLAsj ǃZyX-/2d IX(aWBpmL#SQvDbxˤ撠İ{a!h 5;oVh"++8۵ms8d|'f瀠h #%`0%ؗp~ɺe$t,-*U6%%5$ LLi-R ӄt|H, tKGE-fސ =*/GwJ̡OKvi+i)j(s9D (2͏R"bTqc/0PLƥ A,&A@0'Ή4Jm%@CRW46MZ^bcୡ0Pv$X40bi9MiL~㸛<<(@ @=8P-0,hJ4GBA~(0vCX3,uE2%8 Cn@kTSD iyA# Q5l4\Q=pZB@xk-^2/B~?-7HJ)D"_2i$0n݀Px^z X`C}!KqK5 YbTE2@?M(¥ecyYyr)>A@ }90~) ";&HRQcyP>0-4|$18hՐSc'P: kd;۴x}VhQs]Om68JJ rb6V]8hC}̓^#"B~ ct?'itub9MཋOt_(<NEfK+cA`l=Dh:DULLA8?󈘘6.m 9 t$!F(ʓr{iM=7U[Qw$)Hu (2)W%< Pd|Oj:e+r@`&^ M xO2p' mz:`%,ҝv/xve-cVH" k RH%VH,7=rf6<.Gaѩ0T , %? '#h { 0 \ZiwE{9p4u$IGXt3(艴At@ !<f;DWsMC:Ē+)1VFpg7)D:TIQ \KQǂWh$(DݑJ12tU:6 r=ЮOm:Y0Ղ.%р7F vA[ `ǥ~"cFט2lRAж 2Q!X2b V*Cs"461~)RՖNX-ꦶ{q-JB!UJZ }_*…JnLR읯趧3/Bml̴NJQ\ZpsR43zykk@]C!z!`_{R_KKG_>, jyjAݗj%nKs>> /%ݭep3R#Az&)BoG_~#/Vw H4w&܇/ >VEv!{^#]֢&t lf]O>80GX ՋT5A55d"_&#?AO"q?JKgzc~q b/NͳM'\ pMyo*ߌY>霽W97.̮Rk>*$[,Zq^⩔-u}F^&IbZ@LMr\*OS;?Ԣ`|V8~Qͻ %%':k[cn[?2ҷY2wf[;9۱eU՞Kw͒Dloݜ{nKjV?P=NJ=ƠQve_FKWOy?=_FRqvfؑ^89|٪dۺJ7äm5st4b\nckT+5 B6hh .wN\]O*﹅^yÅɊ% 7FR0׼ Mm6Zl`=eMs];,rvcpHR~<֍_6)u3ml#]aD9!yͻT̼auL`AuSWm~y!Maǒ6Z]K^X>PgA-n֌}2EsnhlCTc%3̌V|y-,2W<@&:)U=6_8A`{3̻Rų7nUjv~R #Ůxgi^|jDt| %Ws-* ʥ{܁,tXИ o>](]vtxK*tvn ubQ ~c-M% کt]{ՐKdYZt{-/ah/4%L !P婚peIU=L͟Z`v)۾Fb)>L[&BO7~Za?;xT>[z뗀f M\MYq|3n8S$ \opoڐ7fw twጜ+"MG| KtcyI\I+ϔV;G'RkASuJ*m]Ђ0:SV$w)5Ez'Т|ZnU#|N"%ՔD͵_+_#PPsmQ^(#d~qX6XLJӐO,G=6WB:d)ZbiKn;cQna~'n&b@}nwD=E s_4򾼕k4aV09yc~Xw3uLw@1nigfsӒgRz;NW7Sͭ^u-ӎɉ=]yaϙ^c):"oTxϨ/?}^mRV/6ÑjSXGқG#lEBCwhxbΌG%E5uN*lx|`K[+Υ+_wcZnݼ֏jf$})e=gr5=_}4hw­7,ey#UٔY\w#pâ*iHN{Ѿ\qn!;IVrHkRֶ oʞ ϓdK\T$5:Y˭qFo^vpj&sm2'ܶ;4jxzJV6'7x1aUMfˊI*Ťl-6∾E {) $jؽqzaݵع;WUE~ Ysqy򆨿`\zf/Ufs~PұL{gᭀYdUo+ 0KX2LQ'm?'*5npcdK_iV0Ⴚ]NJvS>Ii$wdJs5FUG|:EwOqeeV-UV۽8rY9uQj)HͶ]_|xOA۱.95/[sbI+ ~;59H :oN9r~\Iҳ}d>xcRCFޟZ"c[e}ʣ wxb ő|å@K?rIy\{n/bAsjVd=]YgGܡ9F7?A*||v};S6.G迴S˪W^ckh56>6]1s[k옦%z~3cG+/t}T6B.V>/'1)q}S*ܕ(@#<?RNL֨M!=FE#GT7>XaTHUPۺӾ3_\\zgo*g|Q;weVru{LFT3P.wnڬwZ{m_NkƋb1jӫ}yr3Z]u]Lق݄~qfAu0zU/FH6 Jͼ=bevn7=ڞ'hfKm˸>}kqm[cSr ^+xm>GQΜ5uw7ذwekJW_W/yaXadd|zЕNbui|XlGwո^5^ mxfnSQa@GnIFDڝ+|8W;&cYDߕ_k;q a#P><^X6c办]/rXpVD^<fViZk"%u~Q&>Ӣkeݫ}<^<8!1}`MV; B~g𸜿$Kw}}o-NJlz};u4[(+u-7mmF&Dgo {^8#,kӫ;ϔiO/]b5^tf>ϭ@!@ǹeo\..vJa;SF;y 8o"hy)}moClkbԻ)e oS{7qRa_@^%zujfoFn't=IǽX4*NsF;nW +;UNj١'zުRc],н>جsC~OD/p!f5.#U&^cQ;>>9]ɣWddqvX~?u'5QN1{x~/vuQo0+Лf9rriW(k=Tu7Ue>9 Z-3/z9ۇoEYj}>9X oXԚaK]g21ݞQe{ hS 5}<|Y7sn;\0h7<>;hpy3"y#y"brrcs9%(ET-֓#~u}UK'#5J_N pUY5+~:9oUi}Wßfx-Y#>#DkC7^eQѱ\Ыjt?] QӼlx7tbe'#N@j^]a ­Mn1\Ay?˛U0U8_$!\)N }Io燧W 0\f\կ3Sn]zߐ׫/K뤘 2<$|ٌlm ߚQΧ&MG~p bob} ֘K9罼y by%QJ+>0݆4ׯپiN'4;7hǿ+Vd^>Z HhM6U~פ$X᳴})OW9m^z9QFERMz#RFzy{8vW+^ņ~=X H &## eI[RX0T͹g]7Sg{D-BpWUz6P'%c\w ISoV^9ФŮ'dLG qUz->M/-/SS5ՈWV|t~Q?Że} VN%RrakwU/qwi{˽욢Rfm.Y]swW%˫$T.\x~&n'6&8J-hqdcc78 N㝐@>}ķg>YtuiWW 7{\fzOr mW>ȏ*c䫴s徺wTr:kl UĿ_.,Ki%0x.?S0:ewۻ>XJL7:#R>|;eIֈc.9 sP i]jZvS[C[e'u3\%qy,i1лYsq)=s=\)i{^m!(T׍BL]6sd}ϣZ`sQjOoS=O) \@}s&t;5p=y}Jg橷wOn!6?ȐtȨl>ٶg/"yIthESj v,r*~-zܵAkނ{_z={>ߍ))x˓_:W001_2c"X/jP(]#mm#MumV9jb.ko8\~"EڃnXtp|T \ۊ/!! (}_<߭ˇ3\=l׏-(nڼ\+א2 'U'"k"ii瀔^HQ]uNzj w l_H,xr뙂2G"͓u,h∎0fĔaC߀B ;w?!LۥY5vgzrv]u?U4agqDXߗ\"ӽHD٭qhUIj,BIh֬Y;>]nTŝ-f7 ,UE%Rt.Bq0a6cnCY;R?T ܿkn˅w\S#v:1''c@,U'0Nd69). Y55PowWzZCQ=;m 7?4E|[K L]5{^մa1ھ|{.e>_ܺɩ* ^aUjޭOrf=N4]"h56xicĿ! ,纕=k,WE P_OJ4F|yagp窺!Um3>ӗ6Rي*5mM+ |7P6J1b"~HVY߫qN6[N{iDa޹ko.%<7dulӡkW->"SdKe ϛT?jy3o ZbKMļ[9t]o'oQEv#{.T_4gE_b^/FzKWy[]<'uŒ |)Rj&L+.%_\8D*~\FGcOLJp9h(U$NՆU*\vnJ$Za-Hc;~Sq[T%]7Ɂ?PPhpO_b'F,-OjQG^Wf'V>L9ĿKpFPAhVmj'Ml x8>?XдK߼Ӧz)ӽuFs+u1J m+ۆDW]*X^Zl<7(u뒺D TXeɼ>b"U-/8l{_D,ww]T!=bR>mھ8b|9U{6;'o}%A:j1QENwq[`!떁C'PؘԦG%ͬ6}2HTkH /x}}Ov9٪yre;[{|vb-ʤeO輻~d~Ԋ+GN=|<7b^xa柘m N['ϑr,62/ё\ܖ&>@i ړcӅӦrq8}]}|U2Q5y^ޏqz$Rkm_p-O}%ǯ^Kwd?oljK>} ۦUG?dMWJYBtVddrg<ެ Έk+QD _7z[MM Tr{O~R`y$bY~v҃C-Riaj^w@\LTbMޜ#fuoumuT=P$L2opHRDT t Ug5534WLw\PfU;9r h55I&]\n XIFtI־Շ/:W3zhgݹ w[}GV}c! >5}7,s&kr"s +u%E;狇t/^pRlAJ;p\ɛ_sIR;GukJ1?ïjG/y|(n;5#zۗ5E=*ά?H#9w ïKu~K,ٱ㖿6\4UG^%x"lZko+MORvR.M8+ᾴ[DÇ_v-gkru rR%:e;:?Q! e֥=od 5K[im,m/9r=;FMFgF]",SN2U׊9>[7::o]gPdʡ}.>c.mEuW=7Έěs墮_:4 2 iD719_C֬nHb#+WT*?  U ^eEB$壧j|rT>!syOn>\wϑxmTƛ٤-_o9G,Wߺ"_/7Ia^Zbgj%gNo|, ^+. D4^I:lʚOښKZ ycOA]2OUwق\n)iUJotK2on_|.P?w"?)v%9*Q>B>XTr")w_Eg+P 4]Z68MLċ<а8o{ˣ&*rC}H}3"4"h韇7Dnr[x]kpTY8'Y+k?:K4>zmq/!fF7DJ_%x}S4]mؕo< VfzlӐ$̾8zVW ݎN=Mzz?4#?V*f8-ˍ qn.%Qt?p /nli^F|[bGdj/t{姀wy_~y0-oty.kk+_\r@ϕg&|{,bc݂[=?vݹRtN/oیUy%8QsG"cpSvE>0шR =Gj*=ImJ⪶ 4&s@p3*k/uTN7ߋfilW3yt{~Ўe쾭܉{?}ֶ뗕'r4thinIu66͹\Tյ#a~.Cm $]Q>7G96ձ܏9mNt~Ld*[^aEs =Q%i5~+'%uuH,cexE; Yms7ZSE-UM/?kjK=_˛U7f|]<#{eoζ>ѐX=ڶ(0bC9Q֫1-5rkGEV~kAV}qh}^7'H}kldxJpjÌDL_jSLc 3m{}XUItW9̼œkvtl[[*11k%EuݿF8-6+#?oǤM|I{F[IK롤{Ei*^g?<{ÇsI_gM}:ռyOo[ .Tm9] *t?]I44=O|M^5x2Gg76/SR'gӳb͟ v.tUKBk3yݖK|.Y*t콖+xy>"G.aCÁa쁗 }#n&WO/Wn$fݎs4^mն6DmvݵG $[)Eu8kiԻGE0蠋?ul}ZϴG'vvF?,VǕ&e G㭭{x_+pW$䙟(&D{Aw 3eV*Hp?ݢd#djBħ'+=9T:ז_\rWVvUH=L|^v%t^שdY%?#ag`nQsŔnUt|Q gaufz›7e SYh+Qaт#e'kSJ+tn!DW;Kg2fSZ}RL7Z%pU?3wc  Ģfqc [NepmjĴ4TZ!6m xmlkF?muZء婲E{<4c=iDž^Ԏ)õ7I>1*?tH4 Hg1su~PDžH6݆N~(үYp:!2~BdfS7 w 4ro "o|B(J$6?:7ܞȂ!#6 ߊbju7T&bbcy|*UD;}vmSzZ9vT:wQ@vwCMnB֗> \(Q C!2+R ׬S=dLF[09otɌ[^{SD")gV_u$w=);V4!$'iύ9Sq52ɁǢ!?O!t[hU?nvgHoՍwm[Q`20[m3 ?ɴ\RR3fH e!V#2IŤN +*)i҄_ \WKR(mu2Zj>jI߷Uk7?S*_Q]Hj.[c"M5ndvF^%JUЊRb_iQ->|gɞz{/-qUtdzg=$bZe~h>v6z=Fٔ3s I;.k|?=j}G%|ʃak;Pu=ajeovݵdS># U얻nci(?%#cqn>Xўj됙-WgN EOݏ/(qs^r>͎V VR^:%?3̞}ࠑ/il%w5'β,+8ge!"_o'Zyn4ZzԺf&v!Ãe;* -ma1ײL#v12vIwϮ_{yyt6GG=ցF.MiBDͻrC˫U+n7jjv'B*hOcIH}ф}:Hwn6o)lxclvxK&q.7ZmzvKv"wk1uuig_RwKIk B<^;Kb^ZRuXEߙ]!MfQa# }<EG*u\>9#끡Wn.ގh7|SM-)zsϥ48C-!_l :mE>8,w}2XUQW"9L#Bm} rs翮<6Xڑ\#Y´/|D|Pl? $9 n?syHf;IXn#<’vg/y)%{iEgVzc4S{1&3_->S94MjYJo)'uߘ4+숲ڇujGsȔc&Y6nHS}@׹8 n4"1 ޜ]/\ԐoY4mKåcuDwV;hЕsݝ}ZV(@n-rxtM wO7UR:dOn+##}vU5^ ERMv^U+jѴl탯acΊ_R"֋%rK'z;VHŮ>,'#Sf#VX ~[-}kQπPie; Ͼ$pwRYyKַf ەEvRmWl?k_WRV)i(SS%F%ש_ b)u ,o/ؕjZ%>ܳͧ [qͫXT+#dB'rޟv{hC&#}W/75}7(|/_oRu򞘿|$;-/WRo+\mQ~^A!{nWwsE?; %$+<?qYv F^NWo37ʼyaqLU/[vs RWzKsi5OJ?QbXM.:FJphDKjwIkfWnNͧ_eĒMoz-M^<˧m\pzW#h>36jOs%MR$|[ArG= wj+2Zez2)|:>h, &L,uf];vͻ}k }kGp*Bb^}&dEem:w1BKqO*#K^ko tIW/9<^Je Ej(?TiiHEn܋c4[WVAY!8_'{@+ 9sN,ysp*wyWS?5GT-]fxq[T,3欧qW ,f=|x>wOmzbNgyܜ +8C At'E]3GIT6;:uRŤmsCt̟Zq:yF_'o8(Ŀ FR.^f5L0\vzsCwgFo/Isfu7ϹlZ<[ձ=fWM|4J>oo윯[sq[3*jNs0lGvu+W5cnn2ձ\JqHTvfߴ6HPgW]y$?!LtyzAnEQ/u|Jwz:uo那ν>7gže]J;)gfT.YbkjYfUoNֆ;%+ *k~_sv O;O UgW |^'Ejϧ~:nwOPT{ziMmwSUJuǂ\H>>+o2136+ oL6~,)$Q/[&  9⯖=9 <@2P0 ݕ,,{Y4A/c7]f&~tĘ,"dDeOv|x}͕m>?a:b ϧ\_=}ksWv4,EYl_|Ȟ;Z_ grUşó"ęӑÄyR:갛GLcdR, 5k7'坦i.ZO=;nuK.n%Z#6G>:ȉfqz J1ryAxpȱIGTPY<nVVw"O[_=]ʵ9SFte[к|y3"Ig@d"|mUm(O0t75/8.}C9UJ6޼k~H /Ƨ2?Kg=)Njf.\!G1G=&]J30vbr ZR"߮.ߨ7r2Ax5WS ְYi _-i?# >p`fMŻLjܨc".\Xxg}c"^~~aueMͷ 7lLYc9}+L`L$ρ3SP%Nqc*BAʩ -B.[,udOiI}ϵɞ'LĹyyK?1؃۠pp2PƍT_!L͋u+c>+,7Y!~Rn|"Hy3-w#O-||NCS_K3{6;3pя-ԺǪٿdEޱלlr]"aJKϜpK]ftzuߞ;Ŕg޹Sm'qȶ8mgྨT# ^mxZՁ!uu_+kW=rxM'89T+0mTB?ڱd:^ϞwX QM4ߐ!p~o~Z̅RBh|.*:y)R"5Yf|oזU%6vW.*aWd쮳˕܎Vhe]`zu"a`i{O ;j+lѳJTXMɺȭy\7Pŭwb.|P*QPf]O>CϺJd~PyΥ5oљz?9I',TEX۳M͗UV+IWEؤKi}g&;dZ ~9g!\+ el%:$i6hɼܥʽ&gK9K:G>+)k[mWQ?{7_/FgˍW݁ew.H#dte(' X|D\+vbk_'*+}-3TV,M]utyz)j߆_ TG$!L2Ql>~V+W󷷐([:1y'4]6s;٭z~}UWB/}Q%-< w]1C_8m=Z=r\lk鉞ebHgm$ej&|:EԵ_qxٯO0йO{WGFwMj#>/?zɝeΜ^[ǥ]ZPo>)OosY'YI<#w̫'A _^У|YYO L+h3ga. qGj7O?df8&R[xCBEJ%U#1UHP@ %|E3CLh+N/}2&7S[u-k+ 0&(h>pw}}9{N{78- $N%7_ >&o8(COڳ9 rZdRU3'R)Wض8s>jōVDˮľķ&ws}0WΨtT꣹$Ob%c\ڵ峦5mvݏS \^\o3?%IM$2Z&#%+峷=ժ~?}jV1s/lHV׭#q 5ǃ*s.'4s!WfJ̈>_6|o1R;R[$- گZ~Thɕ2S˼o 2lҁ/T~A$x $o4kEwq漡aPZW}%WڬKPY\Pkfș쎑:*us<½DZ㎆'NFy9fشF*z:l)kƛ_tl{֚GO t+\stėwPZGӱA~Gɝ35B2s]\שs;~\id]_6c";#D K "%W3t. 37xMD}IAMpusQދHлwLwtC:؎JCFMg%ŀȚ"׸+nʬ?y鹨p霸Zk_ZpUx@avf^_ւ/ |y/ZmzyUփwEN<iAb~Ak0Hpu]݃_?riɨgz,u? Lk@9JLtZ]~S./\ 9nmÅg羯n4ku3Oߣ6\/2[+v"zGyT[;{x}dü5hɟռ { K猪=V[6E8XNIwn߄W%on3PDUf޺ۗ4ҏt |kWKr7ijr2qeB a[U^rU E]^MI~'qjken}2. j%T!?elfM,+PV?t[ IםsǨLu~.x;*&[yWؒ{a-۹ : v.8/!h aN)AA ;muN;$=;7g[y^nDx]s8J7 L%xL%ذA{{D~JQxRv. O J:6Km3 :w/W0]KyDMEA #"M'f'fm3'e:B^Ֆ훬r>կө6֡UKe8BnsD~|ex$Dj>BEu!F>|zsޮzr[F=ި.B'REZ gR*2ͭʓm?ܥX5o굕Y>,~{s7xScthRѶ?\V9jȏe * -U{^t\(aqrաYE/<} Iݴ;nxQD'^IF3`U(|G 'RČ{*=u'v_tSCR]RaȧGB'HYoǥd_wtg]YүrYSc~ru 8raV< pP+PL;RйJz+!s^2sf -wʥ$7g~V+lz[eөB^5:74k2zdֳqxGSeB/枾䦪 EYbpJp1x3ی`do+~/xt7=u# ZR߯ru(qbIpگ+¯_ќ3kXŧMw]8)7`FNlbjJSw 'qtHA5h?ﻤ %cq/}vHnPG-ҍ)N >˘2~U.ϋa}2" Ι8{ݤ Wz_`HM k{SYަ|@˚Lި j~2tu]f#E?VOj:/Q_([*6R!k?Zmvq^^;p9>WkO !>Y޼}bJ\(HH <yɛ3i7W||5x-sYi OGZm,yd`\)ݎXꝼ mbKm]kW٘d5]>'AŒ/<yۂc ߶XPQpHP*KWkJ_p}u;ネ'[~PvVXLn3`Ǜ~VTl9g%@dU|Ee{EJ=+gxa\+hSgf]h zY-J kF˼ژMosvVQZ7w,w+_T]*1pϭv"Mo>& [7l|×N+T׬? 2n_xWXy×\bhB)r8' 9y=-iڍ\_[w}*T)u:Qi.-qicbT$﵄Nt8Ns>Ѻ73̽sok˿wN'ל~w*&,&ILoX{jզRjז<ۻp<@ppvSDK,Sq]kUcN%u.Bd% }t/Q:gWE!p3vԲ}|?N\>TJܔ' ՞}.m%ͤED-rQXqEAϞ>K_<}($KW\CF}*Y\l㴭[;Mb&_/ǗR sjf C]H#-x#X{3&eS䐀Y'I'$CTV*FZ}%=ٳW-}v) ,Ij욯w:!K!k*d{ք8ͳ,;.eh:~~u,;{Dr Z4'`GoFҾwDo s6.NN\b3,C˪~lY]W {4sZU+V!>xYl[3 geF0c(g\ھU=g"_U*x;5ɵs\| o|72sr`"AR Z"+f  ?oR0dWog4wUDWD[.ת8x{Єg fI3\*[Ne`Ŀb^/B7׳Ru  'Z687 UT5D%,a$3$0Ͻ6(9YmO%>\\p_(u[Z~>5o.H1'UUsƣ2on詚S ܢ1o!]0L#9eXJ fH!K;-<*›tx_7<{ <8<~O*]i<,ryk>=Q(ǭQEIY\|NߕOmh_c -sAI敺Uy^2pʏ^7m5]4dxݘwaky2||BX?'>^P|D7߿o7߿oo6QE45Q:h2# ?=}mI?MGc,r H5d o򩦥/FDid"!FO |t0lPސ|2=#aɸ d,zqD¤"Pz$KML. ǒ&ЉO#"IP $"d<.x2ir$@h+y3"OENzZ0ڃachB0jA0 8 >ҀHD<K0 ƆS/,)M@/ֲ <% d52 Q4^!L6Bin`\4T'2N!(Ԋ'ۄ%bG&aipaxJkkPH4GA*%1SCC Q$hi5"(X4W׀^SF&VbsZ-\kAGɰjA A }ƫAN=b `4W@}>+g 觖&#,-0\ vR7O.BV:!h'O{ ]LCB X3ް.05A^0ixC9^%H2 hbtrU aՠ>Ud{J+!<:JFԂ@?FiHOH{ H  & $_I6]MMB 4RjwԵDh`SwOˇT;è5.L;z=&}jÊ֋JiˢV0C H tĘ!&84Sex; ^u2Ho.UDqNax54"͡ъ@8F#+$LUjT!743? I1?@CSV> S)P xOZMKBaL`'HD@Ke9fᒀNɤJBeFp(q,LIH苖֍Gpr95m5L&l ,b Gfzl&6%@cBAOY3tcx Rc ϡ q|HF}wLԵ' ZqZMV⢪d)3c,"8a=c  Q bz̦p Ib~b%d_$.WpV@%źTBzI愥O.k,8jx4z`Vs"&Iը5(ݬI3)5̪+IX 6fi&J @m+d ACTT _.>L /! ˾tdlUCؒ*EWJ  8ǧ`!c r+Ց ܊q+N1$iB0p%#Q^@e'c?H2| DTj1h|4#40z9a7 0  6謜2lSm+ABa6QX/j3w4>ÖBApzeh.%zfW ev~Qdk75] *!^a T̏HѝNch9c"ĬxsI2L( Up9yTӃ< nҟb)Q#c&;LQQx$ibSJ9!l˘3ٓfl&`sވvE:Ģ:~y2cK9}]5TPW=&aQſXCXٌ n@` {nQHHtuuG.tPq&RFfW-6-bQpv=,Tȩ~ frS@`MDž4V&lriNUY4#&A P@=3IT:lbLk"B9F/h;iTl9 d!&F"2(g@s-P v hDh"'1GHӞL"M>41a*I[{m2̤nͣvMFYK46q b6YP,I=g(t,OuByJk,v!28 Ibso2  c!@OH>-S13uAa95 uq]K$T;ÒEJC`@Mr*%$ǷV×飔E)PzܝQ)m]ֵUf"ǢbSyv6c06B/jFZik挴,&ik4'ߜ<7qy`kEQO?+iw7ЙhvTO-_,orqIU £ ,CCWFq5M5Kzewg^ǀ <(X(l 4^SesŲZjXvuԙfX!U3nfƩcqth'`I8@ÛR.#N!$pb Q8Xp (ł '`Q Xp6L, 6XXk<£ǖZ@7o>;)HiȎ'4<6bnji M f^9<Ί qr9'rV>Sk ')ՐTujdGZ92g՜~NYIY hl 3GLvx=%6G Ǩ= Mk MC 9}i3%o%My9U5yDGeV}v\Ra'(&PN f`|XQOk9'a#âCBl8LB8&C$&ՐEXT=co5Y g>̮ X`# )Xwk N!)lN!8t`rZ/@bvCm'G(4;3p 1=hF%Mmz,;)=MB(ADbxFif*F`m`LBN9۫ 4 F9"&t-ds=Lc#7dbL4M!i3=ZK$F d b4;ar2M°n=VmFB[ }VŲl6Lòn.Ll]4E~¤#` -f!P38 veIEә{iO8ph\gPiLgR/m*Oo` 3U!A%$V`{3]j?"L=kũA*Ny'T ,>!UxٜAP/|f|$(B&yh\;`ʥmKTq70L}_kw~ikA7}+}pKK_5/-]>LPT(#P(]U6W7۪P <ِhL  G FrH,1*UP`B^}A64Eӗâʲ(ep!J ʔ0BH&%9Z+Hبh0"XcJ)lL]DE('A+mdž`9Yzuf T-AS?`S xO MQ FFTC/бJ0ӄ$Ui:P504%J"F#kj87vj)\ZG8 &I`K@$N-J"jjJ>h~8(օ5g&cM#(Da Ti1« SH Hz*'BCaFAgW 0)7=5E@H :jH$K BL PRVEK:q ܯlJGNO%bј0#PA%R{-ɪIF*#raDLH|X(=>(D@L5g<7},0aAD"&P50ba4b**ʪ,lhbb:lKWrbR(`NMMqP)㖆J(%,$ee^HUF= 55ŀSPKuţq*(*RtR\6_`O13ӂM7Q".(t r#P!WqBSI%eeuã1X% _kJ)ЕF(UpL'Bh{FPr9#ƁΨDI+{۩6\b8NaX2&` MD$%cu P4>64'&]hu1 ?(x@3+D1=SfzÌ0>ԩp /) ΰpub,0ʓ؀d!HItJ7йALI`zW3$2IO|p4~|6tO BmbB-V~t qdL PV[AG`G)h:UgEn\?#U U :XT"1`ƀ?a1pC,(a7EnCMA `,cf5O\>Xx*)`LIX&n?IFU y zh`lʪ&M߂hF.E& 2"qJ(`̭c,A{0$M`KXrBQ\0 kX}@+g  8)S!o(C/$MI[Nx`zT%t\Le1ơKCC3( 0,AO ;e֫Izmm$˾(|>CKV1e]IȲ,c c*Є$Fo/2Jks{󼽖Q Y9FFD+c|]ME ojOmew Eh=f=nzB%jS.@$ypMN0#&z=1$_d}ճ@hXWtY&ڣu:MG#rni&Fwts=F+63o^zkqB r!&/}8: B!9gV9;rprAιp.p3I$#x`w uJ-jڵŕBLR'uob̎fOܙ@u{{݁;tG.bĝ3s~HĽ-rON@<䧼g}oe3zW 9ǫ5Tbμdԟid] oޛ:#ٶvNG\s*͕ MоqǏɏ?s2o}N.k߼bAq 9?~;2,U_^zR,~}}IΜ=zsUˏCfL߯:;Odi..N+2;_r?icH$qPY]})<5|ҕz}u}?+t5EOE=]:p;eў%0랦}~ wV>[hTKW)KQ!ՋMAu9յB@Μe6u hG5Fp HlEOFy=2;p^{z# 0S pz4q*2ִ"ظ:YBܫzޡ1Ɉ&@7;["nu,SE}Mu=6W\Ko=O*X?L_8"w_RdSдd~_r8am]q yoZZg}Q2D{p+RZyO띝ךaEo[E9ۓѠ':3|>9zonm;6O`x}jvf݇s^sθ>RQsQj6 h)[$0&dTzz2DH;.u鈗~νg6D=uA6K>$zFT"CAY!ET}9"HznGϮT)ǫ+sfk/_UDj?Ne]+Ox]Y4f55z"Iijvi<3bźwm`|[kgZ~8;,9p{&KV8gmk$ʼYەkY4wٟz=}2?G^D4#"tEIE@0LP~[u`}.VC/^8n%Zvt޿ W;VWG-947gO,:JM?*< x|"J6}K8+FjԴ]UŽL,P:r|ai3i}âڊ8_v{Y&K,9^xK7 lĘ t!AHXinn<{++>z`ȎU FbNBvAi*NndFkݧytA4*Q[b~!{h'fFu:="]O?J)-! pMO"n##') MBٲM5gDAMyƔFjUjRp}AݤS/GzE'b9(KJB}xtv :b;v J?|M'2ti *<^@B$8o}o}"3>U+F[t>N j4ӵ,a#/UyUoȟ`Y;W y /ܱDY+ZUg{YD).>b{Dh|LxPm Ű@Sg-INO2 sٺ8-kBy8t,fԊ!<=(%E2$LuKm)[ȨߌA2dy .<%)tTW]R[R씶X\$F.>KqkRYz卢^{>iOBXSm8L&TBhfI;$4[t1+Y`<|-1Ie^(ڤI!R)Qy;v~'|1\S<ېt!O(mܪ_A2 ,/XVɲX-Qw#j>URb:3u\xIM+ԤɶdN4'ċMLH#T!PZ6R[Fȣ!F_NA[WKweqM8`!,ĶWh]A'qѲaH:C{ScǍϧ+ DmsCkL%WVi KL2z8aɻʓ Xcp-.}cɺFA[3LJfHeYìdBt1$ƨ?u^>>]A.8>t;+!u^P\Ƿ8r7wEplV^_l-xj> n~g]"&sVRAzx®[@Jϕ Wņ}fwW-'ll/ q*z]ܿ`|JO`l6t~]H&Uѵ(n1nTwf(KKRR˶cÈV.5\)b輎!Ƃ˕ DS ˲ 6|؇|Њ'[Od6¦EՉ KG5. qle~"| emmL ?JK ?9 ܡLA>obn4^Z:3/a63Uů?Ӂl˩RlB`Uf.Jft+cM%Mv]a^b=#|gc{}:^m a`2|$4/$A‹$ Ga1jǜjT_89_f#ҡɂEEc.!!'ݰ4QXSSX9czYd60rkx687,5%Qf-l!Nr i %6E,ZjN౲bs`sOzҏQfCѱN6g N6~NNJOk1g8o?_0-b}ӤJ~wi}Xhu51'ũw)^[zzgf^y72WK`z KF`wzI';H<غpL^[F1 3\^4jja ,VƣqvɁr*';e\슃=p=@u=;wL/v-B\it)ӗtbɨ> 5/9d?وd;-=-9,n:AMX- ARlu^;x2j@(j森AGʳ1.aµJYf4ag}ۦ 3ZٖМ+glj6[?*_Q L^*}X;kNu\I]llj攝yy>[RX dipO.LtU=&5 Yς~eB8C I"zmIσ<%b\PQڴKm~Z}|_Jg3}][cBgWWJTr?B8"ơ'B=60kb#x7Z2юWpsz z,*r'QJR^ە٬iXJa4qS=zbpXL/7ط{:}f=wxs#1u#҄LgfL5`D$tWUCy7*w6VWe86U1(mK"DşZ4 F +ka7=j;Qn D{qBHgZgS|wB˲GZ^S  8U3c1HYt|N8a:K|)'滙mp*6.TF/RyGzd ,Vf:SUFo5?){^it l[[]޶bQKͼeq"W\ȥg}lX јJ̅&-1RFdB\rX8 `JZiod@Ko la9 ]'Nˁ btW6SJK th2?Fu<*CFF""~ ` 3:z,ch$KKv4Bݵ/+mvhxcޝxa@-.qES7QvEIZK>C\<ʻL}QW}VW,Dô\pT镱I7.e *ڍ@%;K/>v1?nv(tQR8:&EՍV/[Nt0ȾKbH5B3gļm6y ie PDhJ"^z9+W{ TB_]d.v{=!9`QOU^C[JSuѧdz#/%yF݄la=t|Ipo-Ձ K OomK,&,8ΓHZﭮUŸIyj)@SlFcO~iG򞵲i^7,jfA&a gӡDӔԌF2Fl8J]VcFИ4{FF^+%F5]ݯhY}Қ#?ƍpDS=`,ˊ3ۺ%C@nλ>pz,smPŁ9ڥܑq@euB뚐˄:=O7?^MUΉ)ciIQOPLc26:fAa_^[Klemh$%^a r@S4{BvZj6>Fep/V'=lqrW޲XK4x64ç (b/&Wkx鍘zYN:lYݝ !kcx/%/՘wA3Qϋ 3Wg Ry]1eJ܄\΍Qƥf|ymoIH TѺr?y=d*w`EYvagrWFyOٞAjy;";iWQ7:_!1rL,w0%pLvZ\ЗrsڼFO]4VV^YԚg|-$ K /Xlw\?DDdy$eC\yTb5!Fbz~kͺ\CHHL i,1JҤN-@{Dbiם8vߌ[/'"[y^$υLs ~}^蓄ZX YL8>g ײZ5a A oAGDHPȁ,FOu-g3N% g #re_ *ǎ( ?z_qcݽxF,¸Jh(`*0:J~X沍[J< :ԓaT)IJC'U4 MI'{oSz+z&,Na8"V3t" a# Wi[X/K,BAtzF^+l'aA`,T磵#1ٯOM%;H(48b*B%?)`Ku"z/=8!N"M~+&r+Ot-Tkw*αgHr~nfgugE\Z])|{(1d=d8q">{/*K)y& r*ZBt#KOJ3"8|x655j. EQqY^ŕ>Ȓla!fs`A䣃`sƉ#9|wx!ptȵ|&K76GK<`eȭ-($ND~&аS- BdTl ]<ٵV Q9N!8q[miE6"ܛI"yyZ";{pqd(3SgR)l,[H=\j~=/vFf@1M[zi.D|} MҌPn!y X'3=ݞ gn ,*ՖkLPmgڍPY3 .SBZ>-}X8wvd,M6bmSQq0J w*jTHL{r>`Ofcu!He{{"wp a?vL" Qf& WKG*5Ab"uvw"UJWXd{h+ 0VoI x- @g=$GN (|56aipar/;1 (NUTldygpdYFuelJ'@fCC@|/XPq$ Q=t4TX+#Yx(X@z`+Pľz۫ĭu!5(N 0 Y@\m0.=XCQ$jޒ}2Wnb$o]|rfFHEU1 .' UHښeYP$|XFtMqonf•&*}I=<"jӉT48046Ern'\~vb̃w|>Ě_^\nH@uDDN Z:|?qURezY|.-22/M8!xnrYva aRԃ+%/_bYk!O3.A<.F {HSu}5ɨg-/B0&j(:F ֜Fm >=e _Ѡ 4e>CU"̕5n6gH>}Rs k?>qE̕wÄv(-8L&Yg_ȷt1Fw>")8MAfnW%*ߌ;s|US{zN#@8jȄVB yGBK.V}Ot?= Oz ?hDkݝhD-us .m_WJ{k|^{vիW;;;6?2JԼͷMЗs{ySw  V{˚G*_:|_JM0D Zֶ cw3J=K,m1k[ZmTӨ'Ӕy,:~:&P`F],fZ0JiF,KD"r]e꥟/[{ohF>x_DTVV$#_LIpwӝs~e"wBZucHC2>FWSA'Q\.VkY3&Of#ѱio6[nr;\a% o0? c1噕 , ̝S+N؂jY/8CMU(^eI練w,YuyGX Q@lt#$l$h⪅> {M5[j \R _֣U.NVy7J_eյ7Z2˩ioh<^γ*{;ǣ:Goy4t(sw )BKz iŲWK+7O4%4׊xa ƽhuٟ.uJ uC\VS &&\ 9[`AKebO,[\zR/9DBe\k\VAIկ1 DEpYz!CY)~rOQIS¹=cU 5}VzM?LJ( Eŋ?? 6%DD;;],9˯D:'a^g,.VɸDj;Ѥ9ʳ@T<п 8p!ZEr%`J Mw\R!2L%-)cJC'x}O3yJ#\DLDŽT'̑-zEBwu d }e}xGzfCDɌ^ -*JdJWgWڷ%!_` Z˅|Oa#s%QD>DZ7D#:\S hM /Iu,&v)2JEj99UdTr0F7 1W4ܛSTTPL/3a"rk%$g9]Xv8c8[C~l%|HF `=?;QO&BƱܾuI(N8QLרz^HȷM3>HEvky .<- ˺tzM{S9HRe6}L=Pr6m"b .Np#uR?C^pZ/-s@as ?xbȻF&`w!TEڇ8Aw~|tFT W;t)\zC=g2Ÿ4rG4EZ%-W-dN}Z,%s*gKbV^g Px ql*Mq͘"WIU%A7|HyAy$ۓ^r$[gݾy CmԛgfNzdUʖE LC"e/%S7K Ի Իu(<$>PqH zi;/0' _qv6 cCʎ7$]$ Hg]o/1 t9r}g݀}fRrr^tDϰ?VfO L+#mԟa,SIx.c\9KKh /b[}K*9*tZ}YԨXj8 (ܞ Ŷ6i/uP#(z {m3+|z}DFշ.ƹ?T{Vk#V;%f֧'&0'5f%gwuYͱ~b?Q5/*n]k i<붸t^6,H"'pq~iHcϨKVGiCze{ZƂZ؃J?K= 1Gx0A.t'$潩xVز]%P|>vՊrc]?%;d#ADd86:-y_U%7OC9dcD]nF<T|W22n/E|P #vxF]5oKKd#_=_d&2Yccm W*y, }SAU&RMK#iH-!a]8]$KQm 4N>]PmSahE<lDv>cy$|KmP/ 9-G63o>IIx,=ihTy![ʖ5)rkjr/R7p& Pp??f›Gu-|@'yǪ>DuZVs8={6&Q_5E񴱲>oe2 Ur!h9U z!9 싓[W knevÍ}XG׏aVZO3H>Yxug;oӼKm6teEZȹILbXmG>xɪ*{&N;U "rnWyXq,hQDP&,8 =R=& TJ\lF&tdH@'AOdVG83_Je/[ԇ kcCj|8.v;tjzOXbQ˝%\EE -vv$Kmd +6cV??AMf6&Y%a$Tb>mK i 2m}Fquvec6qBϨ܋@dg/Bgp~&}~/ Iaߢ*RK_z9DpX0^ECK1N^ |"yi^4Yĕ軮+/ƗĪNZ%Xд{4-ًd4PKBl9߳&{bNh]W?<$PX bwSsuLװ00,(e Ū WWʙs#lfפ|c =%~x4NTTqɬ ٖI=$oEF ;96 )ҀW~ͱv*l 0ӹ9mȺ(yJ~.0t怩T\Wn)\_!oM1}^bsFuڱ(v6HY@HJrT4aV!dφ6I fq*M`EH摅l_lŐ${ A(i I՞ A߲oH<bp,&dHbO?Hs_\Hޢ{>;,Mq)$'M1@NOG%U`XM\j;ܫJo;埿8 fRppM`֏H?UXU\F}_4J5II*.,p؋.Y H):&yWTYfYq屍t ef6\Sd۾tb#FEAd[ G ZX^2fʲcbL,dA9^#I٥)u) _(oГ;.cmI z Nr# =9-䨚)Fʷ s֝rc5]j+ʒ VnDtJIRqsޮ A(q7+dF,т,j!tsi /1Vu*LR_XV!v8VO({UF'zIN*>! S9~Ld ܟoěޜ8[:;1\ן۽N#0_Ly{4bZ;v5j>пiÆګg>0̀J>YH1nG+9"МnFmwrQs?~L7_8r8U׏in[acy־9\[ɼ7lHpDENglKTlW| v7܁[x6GCzVG_,˻{t׹؈GoyHPԟk?V W:.8e_\Nd.] /谟/~,2l΅K4݋-:L|wK?׸p1JpלJ ޫKz=)ow.Kʚ0+_;-jo~IF^(o'ؾJ=xrGPaMr|:"5(-rL ޥ|LJkxϳ/m&H<>χ+pJX- Z.N @ryK-Gd *E,^ib[+MܶKCf2oGwBC/\$c3sw TkH}iR9#,pd}YPm+7j %|rՇ6]O4+#8HkKlprJnU`@徐i4Z\v(hMBs`Iz /H춎`Hl~ vEfZZ[m'bηʒ{WڨYL]le?T$\gIb n2'WZQ?i<0l %B$+IϨUĕ}-tEں=iЌ3ڠy7X Sqɑԑ@S[d9 JDS$[)Md&2ݮ=6z6m`8 DZ୨Eln]A[-^]pz]3 Ξ St qo>2 OonkS2ȉɽ(LYtEt5Br޹pS{ΫvqЗc/؝v%^v93uynV 8(Yۂ[6”q~j&Fc$qNM:|ܥK#5a:8Bx@%|$n"h%鰬'CbJ"Bzt 5ǪFsEhwV/43X3Kճg|ܒ7eKQ}2]AxٙetE 1m#͠dKGCh{9 n,*Tgҏ4B< R$yFmMfe(y'%pwE_< ݼٳ6o4]ꈛd 6ĎE#12b@0AG47La_ 6dב8)lRTCχ³LgK Gm'?ћī]_ )Ɋ#L#UFgELefY A:J:/a!idQ+ebDq 51eGJat3T];ֶ,lIZ3N Ij' ӐHT>}O-@/p7!$%%Dfަ)P;?u<=T)eXHDڪ!5VB@ %*CB'4V)ZAXfmF.iedb*Ⱥۊ+~"PF^-OLC]'Ӫd^}R7γ:T7fWa"[9O5l7/YZ֢a_sx2XOp /&*&Gx,[Tp0;*Ϣ8j{ '3q:AF:&{͈S8Ȯ#,~˽pۊAJ;C>mӟWMV h8W<vb3L2V⸖ 7E5Xd (4daO<}TFȕi5~.צ K?-lq@8pnD+KlVSȚPn]/^{O$Dku-d LtgA[mj| `ibJz c ިg Ƹ#z ֳԦ2zĚF,zm& _"c+ U|8U,`ihqbGUA7tf?$/ 4@r\IܠΚ ~CN8'͘w:3*jBq+a<-D۽Zv _N1LxBh%K8{J>;i$eXl-ݯM{/B-?]{c ɿ n^IeXP~}ҡjlq p?&3qr͜Ws^~S l->h5/i"jȱ>'~3&Q ^ ("N~ڤ3&O H"-tHQZYՙæe#Vۛ=w82MGx#W k{cϱs'Mʱ1^-}H8I<?`OG兇88DK|Z²f2a>R1٢v'c|Kve@^(]#04Wn&xeǎ2gz_,/J_"9VZ,etg0:-f#"Ь X";snOiI5p} s_u-({NrT"Uf9ީb@hBQBbh,p W)[\}~sM]~rk%T&3iM[Ϧb)IrOsp[Gią\-wr꡴5-.Z*'}bC%rj}S0-"}WaOQ_tPՈM4*,7Q܀NH#Ł|,1g"^ͬrDE3prCd֡ݒD0ժ"R1plB ab}&=wA!@b'3m{'!zJ%ÖגdOxQd֕AdN77"VWY}1'wr3L]cdDXoL-1m^h{t闾旿0jFZ0%w Gt/qB{o\,f-p$z猓猉9^DłϳZ,$89┶TI+{OS8.z+a̝1ajo_#L:SDL>'P]'}ybʷpޡ3#ͷԝ8:^=Bw[+tXe𺮆K]ɵ~w}kk8:$Bu:9Y@t0]w!²lO|pOM"Sic)\'LfT4fl"$j.ڍrZ ckkAc."C c T =^ntCMY^f^& _duzBwTaE/LY`/\ ʚ(ıa|̎Y%. ڑf^tic7Z]6{Lh\;ajIJgGkknw]5d.wOL;dPbwD224>6n|ݺ>”<{&Ceњ|[2j(\Zas"?B~+Ea|hW!a:ꠍ8Vlka+k АLQ-ډxzY_ǵ5~u񔵂<3c|.dNy˯59^xY@cXފ}䚦M6fvox^sN# SKeǻbOtQ6kq4,H8NSsR A0Aɺ<ms3MVu-54\oj]|/B>ZtzPXd(^y.  Z ?d(hkG?Q6|A"*etG/ۂ@~qc-y h dE@JH2 C壾\Yim]lgBg!"a/}x\jaOM&`fV=遪xB̈́ux wxvßx8Ky)d@VkBvmOh{=r}Z.y53q.mY4痴޼ lkV vȟ)r`OֻLzW v7ibg+O<^98C{ѴBLMLBhƕ8UL&RdjH.B 뉎Q/C0hf^E"5=>A1T(Shl?,cފ괸L.a?fxjo+ڢt$U YvIԳ&t톜.ۦHsǷ:+>!'>=WÚ? "SP5 uDݖ VOZ: Ƽm%wLXUNxOWj!fb |9ĩ=  ^wnM~,~Lyb z/ͦ[)HK6H j-4dOƧ -9 5ęwe[hI~=2f{Q],h]U\_K>)Ny\q$uɽp =[`RM_ڇEb&ˊEa\fV$>UOo*G,(jcVnjb) >?xrE wH蓤,ar%y1ijʣC#LB[d88ް7B F}]{ێ-_%+UN6bѣ]|r ݛEOt* ku{~L0`r091/`eV=JshyLG5Te`j#9f  !;+^lA0ɲr&\6nDA8J]>/褟_+wXٹ]QLEr[VL~ՐI+9xQX2anf @&6UNx> > {>!2\hq-Z⿪ Gi׃z&  k ә6? ~ŮI$pKTb3uBiD]ed}ɧB5vdGzt,:~IJ>'g/%JU!}/ƥEH#WMY]Θ)IVյr:`e؟$. #h^oOg-0ZW?,IP+,I%PuPX6qe Y..-(gwF-YaߟNYC~#o:xލE8$϶q[ La+iM )fX jC$;WCu{'.FϽݝC]Ƀ+>o`[>l1O'BXe;]ׂ~``e: ZS"f'Bt%B*3 VØg șY@8 }XlŸ 颥,x\(qn5GTVҩhUq(瘸 MCk}Лgy1HB/LB*VW*~ )[WCr}f*lq^@wgqs[7(fɅ Oı.&óA^ނ$^I$vLL#-׍MR*1aF,oz|8 QoC@ZGZޥl{:'> 915ոzqI)qd\Frg1GB9-=ճNjt#CM1 |=7ϡއNNXZ;/MB&jK $S2xc3Tkᆥg@H)YP¬5I{oKĠ"0`_SM,A|^ 7&r=nz2KGdw)߂G /{zIffzR}d\fA|O Gϕ&1pƢ}-bOv. b!Zq*,01.Eg -b 5Ud:iSeIN4S9GIzKblkzklM^Ֆ_(k!1EYu>l]"c/a#"{rƛ2x\Nu%єXKx9cNao[X0QLD6#rinfB\QLsq2h}x 3Ա $0WGf0 ucQ6"$bZIy%el&\g: ln{:=*v94R9d^sr̎oq1o)dA!@,TAs QbȘ>ѫ!?4tew|U4aWDP dgI%4HѦC#tK0 a틴FPmʯa\c60d}[< bˬ:vO`Nv/{v<~zl[eR|#?lӚ`GMyr-65 nBH.^E/S{\9[/3k'VRlk2o\Hx"kʾ޲4ϊZma ꜤM>⍔')*ieZ$e3Z2V,T$@%8f\^7E!$Yl4sI:oUHlm˼/' {/yKĕA<_#rǀGhCJ+3 ~~=a`rImۻ| 7mbȦMwt3{hJ ӾaW/ZA_.#:[X~yI劝Ջ fZ3ZO*vaӛ`ЛP/B/h2f~FHƱ$2b^yߔU/ͥSمJ]/Җ#fqLxtfIv|Lro,0lm*w3|+M~1Tw^"?~@Usߗ@܆PýcEfqýߌg~";wWɝ|ޜhkڇ/ӗj>!m׊VG+Yw庣;)O̓/}<2O_)g"[2g+􂼋t0W汴>oMKP1[DJ{m%rEs8c,KlSz=/` 0bWcA 8}`0WkRgy0u.d24Q xWo8/)Qn*>ڳufYO`fTEYg -wI1@o'8qma*YI7ه} m-3W/yZxV YXY_]pF@I‡t6h[BE9]ECѪV=[?ccí;"Wm/~lM{E +zQ~ǐ}冣]*971f`Uպ4<.1{i]Cdi QwOWSc(N ag>44Z_cފk'Q(.f5NNl]LI -Y]:>}z=oh;HicfDQa"a+ñ` Gh@}rus—y{>//J]j_g 2vdݞQ[ۅ1cFaup%ʷKfԷzϔ}ckXZLDK%OB<vbNI~|`mfp2!޺LTpAo(iPoi,:kǒ],O5S҇sq$ &ϞYNv7xD%/Um[h* ESiilD}3= vG%C- .f+2ո#(pjaޯi Y_Sv>_Saw8{yIc"d]EѩO &j>~k*=% Hb lJ2C@:k5ƀ6/IVLx<-Ka{ptl sJE}zZpGӁ7IE6e+\kJf%Z̺Թ^"rɒ01a8]:~2z!Kȇ6 4وg)Y& p\B`'+Az6]N?jAAS `f>{6) tC)I븽g:=%}y.\Ɇ&Ǔ7R 1Q[ܸ_[c5jr,Ԅ#XX{븒CWt KV+0{CGr t{O4/ =^N*OTKWʞtߩuސ҆Ԅ7XforT#gLJj1 /0R^Z7z-d01"W螣>8yFaaC'=úzjv N*%qD+wYκ<_[YQ7vjp2dwTvt[}]0z1 GafGfZjPr(~fDxN'lSz?YvtN%lEO>BtB1*غx 7OVXOܧRֲ,TS Mt0[肉Vs<Ն"VbkEXjcGMzx6^s (gYs]֤ UVj/RYn,U 7$~(쭮l8fQK݊pttN|M^e۸CiJ2Bh>ll*`}ͺo2O4ď&dDBY$y7W%?1[r+1r%D)9l\0# 9o76Q"aB9\]ZNX n ]N͈ If*q_WD.f]:fnM q]9@#9@$s֟*2[_&?Q K Ky;XtViN6Fr#M&)9/Mj34rdck K&O܊2޺WYO&Q; fwƥc:SaB^y矲>qb=oiA 'm9Lm@dn=]0hLY Mp,˃^;e;muԌC?q5q'N,wp~YC9V0$zNܩ{޹^/L<ͼ-'pi0wڈCt=I+"v.ڤoon3j{azp[ ^fb&["XLiBwːwG/{|62',<{xl;R{7 " o?NGӲ2eԻw^g!աE*xSo 5} [1VQO5JD2&E0cDE\)Iݤ3ܗEołpW>2S˓W7Fd4z S+kkpz6k) bgL;duBeMs.򍚃 Nn0a#,3-1CL+.),T|nhak2`|WB$ըr I7;75&׍1٢VZQL9:k/+d"0E y# <$1fSa:&aۍWKT]ImL\]YdbI{1;ݷ Hv]^;*Ob?F9Gj.Ql?D)6W&[92,qLtq?Hzf 0Xrfdu9˂1~[ 9YIlGxNh}Tm;3SoY7ov!zDGO?3"E&LjI֊tU-Bszsks onnCz|b{V:҉͠my/ͩN4nb[Z+_aDVG(6[$ \[9wNKbDtιpHLF|NV[@ͩh2A4:N&5*["SC`^6O-MUQQ!>ǶMheEmM(l ȎnW_Yl$emWلppch3VFEF^87oKV9铉{6K0Hpw]P(9Pj"e.u%aT˨HVKO^aض1Xoq 7 /vΌ}l1SS*l6~2v|(bBlQ%?y tij7+ڤeCЁ%EEAN*d3]=a;R\X̌RҬzLΙm3"\9K3|&?C)}*wXDi4&5=ڏl":bkIi68Ru@4L3ιxG\eOٹ,\/(枅 5V|[@Jn%T'sVNKEKriј zI;LwI1QCf+t+WWiygn31+QkyƖ=?fcBEND@^)DN-b ?!=$C|xU8hr!%A:Y  :}`^q&LFcJ" P.x1E{VQ.K>Lϔ\s.!3_o_" Vomm{z[' 67 6_=]r7QyחhpH(,h)N |Ji2 OT6r粲İ-Wvt:YШyTzXH腟y7 jи9Íz[U2jDU>88S|x5k0 FGQv-| MU9Q`]bG{0/i>H0.G, 1%ӊX+K[!քՐ|ty͐f{%|%*T[ͯ Po G<3!äVbҪw ;yF(fGGqc7X6.8ҒX+s;J`9|sMTx6`1vY*u2q)[z E"1jJyI(gix qЅÿ1>Q2 ~*ZOLfK$b~nlq]HVRYz8U\;`Iگbr-r,&}DhMO丈~>J܉M֒(a /9ajRƭ#1Ustv]ke BҲjKR,e̸F2b ̺V#k>7Z V9w 7JT]G6&(sQ,)-Z6ˢ-4Lj]7M:1K7]Aa)pR%5F=i|D=cf˜Q#BOt7yUBFtPC|Nt&CbJ0Ɣ*;@&` Z--\ )Gބ 0=--T9| eb ʖB!ě_ 8E8٤ƜbEIIBLs&Y+;I[R'(.G ^3tǬ]ыT.U;w[ٚÖKBoyiќFKp'vFR͕?%b3{qk U+^,"3Ϳew[ZpGTlaV.rB3S 7-9Z[ 5rbT3GE Ӹ 5D p:s=ryicr\ UES >&BDQCU8me!UԒ&(P#%4Ώ^pF73<%oK/kz < !gXtq;љ! jGiEn#w'0d Y fwĝ. RHōgjW67Mpm[-5٧ hE$P?l5~[X 2nJe5L85D buGL^rI׿ 5UF613o#;Py#Qu76׃'Ws50?~/ܸz> (oI~zW[v^o_ol7[ (@͹Lt .TONy%gqXA"`~8c%"G$!~4qmKN)pq B3tuk[ O$XBf˔DFR f#qz㘎nh.TCf keL&0fr紇h` 1Biw}.lBcjh6C4oǢsqNgՇ6RojR3Ha1E7~anEE*C$ƪd(w!~BX Ů>&:Wf$9XRyLl"'2Vqbn,j9 -GV )4AXFY#Vpii vj641/4E/fZ"VQS~7,S+x,٧VXTj3džz`(k߻Boc`V7}ve(Wp<6Kz?.7PM&7Ct WRu}aW2! /KRߪ4㍿")t5 !~جl V&Uf54cb5⫣C3B"Q Pf$_OsJ4Rk^ߣ?ϥf~K5ޏGY=;Ԑ8Si9q+3  ٺTŌ/ijnm]{7Ԟ.1 z>kU3}` F7c~7!0H7KHC%XK鉱"q4㊕9z l "^o餎{_ĽgGD]3D*DUA1jvp ɕuzPiqV,L#PxsVKM(a k56G Tq\Na'(kPhQ1F%LSQUSȳ>Dt=w)a}VPFx t)B. z(yy^qO'ѽr^yrbƚܱ4OSN… kc%hrOQ[]!>H93fjav5 a yoLCCѾ[@0}X򳯹>G8BW+ ӶxO+  |ڍ2Õ*m]/:y)şa;@DV;;Spkp6 RZ $cCgȎoѭ/a53L)B:Wե_f1ղs"SL}%3SU߉Ə2Vlm [&qpTyZ]M+a|}` G"<ֳc ;2^؛YPO nKÇi~λ_ i2Ф7mj\tG{.6S{H$$x PDN)nThʉ:Bvb4N C8VT0ځe,W')|W)Wt4Eê'9! 1$Gu` #۶X#H*4D-PriO~6UB"<$nFȎ&: +]pBh%xC{& «5a9uյ/l WjڨDl^giG͹fgTbGM~僛q }=󉴪RZYH<]Y ק>.Z.NHE;ΰSG @@Mtej9܇uTօFMѨŗ iDe/>O%lL0˭Ѳت5H#u1 &Np ²С&ʘca%[bƷn\]M#]zVpXfAf4c3Q|R5SI%S@(|EZyJ2/]Fu8Tj70HHNTnZaH@"I7}8๐"@ӠHh?/fn`+v'T;i1]%cZ`1p/BZۘ쉰&&"!BtU įMخ,ㅖC S&X{귣R AJ|!9{bRd.9Z|L-+*JҤX:K{EAXZX {Kk!\H`>1 b^WћJL/P񵣩 KcUBˡ*oPJ}gPzG-¡j^݋'9p_޴>D:ŨzoU845M! C!ח\$u@U] &NR=J&4/ 0`0%ۓUlbdQg,,c (!(nQEЁઢ]H^5bNrl@ t˒xݖboKJS-/@<`G3$RN*2+mB]LgIV!"} n~ahN&!;DТƒʁpþ=>Z,;YvLPș'-;ׅ6]LGBnߟ l,LR%%GmlqAB,lYVO=Mj* }nN007JyS|7fग़NqfD8ܙ'^umICplWFcsd#jXW7uES>(y"یeJ ";xotf"FTn~yQ­2"9djy2)p%L*Dn{4)>pWmWj2F5eÕNK lZexwҝj\U.##I >~CZME?g iKf fK򇊣(E7h8ɩU8StBu;7חg:u}9D9Uӄ! ,T+"zOz[D d~ֲ~`t=D q$RN> XňA.Kl7` "=9K<1.lݞBb?YڱxQ1m鲱`hmCPB Ow_LO"TVN )DIIx(cVv$m­Oh F7͍OQu9N4Ḵm:vQaokn31&_E:Dt@ooZi2-AFDj" Б_m@Ń$wwL-Q(~dJH [Ɗ|wdרkLfgjW"Έ0:^Q'ˢ5]H0ld[ }%G {H5[*>pM{–dn! Q I_{'J~* #6b35FVjzLڅ$Sj:PfQ${:G}OBNIxNHT4 1p@-b;\&Lm A5ǤJ} 6Ra1΁h1,R*"tуJ\[ј.SSO#u(#R o е&ɗ ၹb!X ѧ*DN̨Ewo} +^zH~C8яeFeХIIeفhxV9#b ]?¯RF&.Bl$#74:, x?c)߈ِr;ghCR8g뽼(.Majڼr0`luVj>mL݊RF˜'=q:t%=gIv q舺ږV7@Te[9DS`PqĎv%P`Rz#OjĊZhEV 3t;یjJ/cfFkD D u(;pU*ysNeMDԑ B9Vkl|P"6zpi6]x`fI), %˧MS1ЯVdsjiT&#)98LгA+quG[ 4a}um Vݖ+#R!E#2^ xTXMG#DU9E`Jp~NHHܜ:E1X˕ I"+'-d'T Vte q۽HPlNE3QeD1YGVErD W#-^T$~+-$wۗY4*ޚTt KbYZ_wc:a"R`Ǜ%;LJ&n& ~?R!YrQ-  Os7րZBeJx$Z@!_hI5b~?/vSe0bm nVftRraŭ S.yo7r=,*GN+e4!\Qyzv{\۠^EVTqhm_Mw;WTY= Jo^qKROe G/O%/rEO>D`~Bg}Qm }J%:L;Q)\ ^ʸ|//r'{~*ϸJ ֕xoQW[\ Du~=y{YW#L;].װCu1-[TqqX+w1)JREcG6|Iߠ-))Z+Q1BM`zCV:'g<TǪMN%͓ 0u\>{,L9Cn}}<ȦѷHߪ _j|΀q 0#oTIr>i|C'θ v>*Êkrj5ATCԴ~٩W:#|{ՄkGė d0{#U|)tYƦTAށ-{\ǩUS ؐft 2C W5RyW TG]׾8Xk!,YWw&$rBpaz6#j;ܬf/0\jq_.dzJ_q]lQfQb?3dJ&]?;Bcר2F gffFD |oy m e|/~BVMą9x[ZKRE-pN*@\N`j>U8]9l8#X>xƮCrTwO[;)t>rr `@*8y A*U:D\SgJPC!rѭ(My'k˧b5T&5k5ϗo^@޵vc>W1o?ayiG~ fE\H+>٪|R#/:|;[UmjQ M˶V*`Ĵ!ډl8'pCl, 7i#b:rred)+ؓR+ ;0Na4 ecIHc>cL_ Tq`^‰T3Wz)ɧ/jj6n4r6dw1 Yq5&%N:ʌ̤,5H :v|%x>7Q yv2@#%+"Z9ᘙ{_LЧs?2/r&tߴ:1'W Ml!+r4WkB@^pKj %}[epSM =J"53\;pX2fmjBTJܑz6lz}o­ӛ*ev{,N-A_UYN!a ;@"#aہof5p!ʱYv'Q >\p6k[k Qԟ){ lƸ%Nb^z*(i}e迺 uT݇R*wYlE:D;`Q?KZR2]bR7۫MCo:0! <]1*l)]u( \oP.JϚ2fr?up*W)kIM]r9*)2`PX4 ^tT_တwq1ʸ/1Oy@pSU٨9^Őw{#)R\Rtt> DB=-U;kͨ au$2PwZx9|(k%[UMyBj~55e [eFU0d8>TNS[|,٤8QIƭh?&>l6SL%v,D 0;dU߮'| 1UU6[a@3+RsA^W*ᧆ4UGMj=cBpv>-]58A UBxVI}ʇ/9kNXI\4tDNkPK>xp `eL$bN^| m=JZ:~U~ +2rhgXTEk+5ѶS卺^8D-5i^-}>7^!{w"ƞ hzUH|{CYQ}bcu&lX00YD+ӃGq-;Rz>"v,CS3ڴ+%+e. ;au9OXGY|w*؛`xbk|KMk0+B~;ۚ1$ⅺ@Fb@}SĹtX&"0ZȥHIlaw05M1}<>BYQĚV,R1S`4/ԫ:2QW.R̢ƍFm@qR1ӬiWL@8nD8ȡ_ Eh.l`7P YĀy-tI$wc=n5`鲶]y UrWPB(ovC@JSYE)̥v E6JfЀ-´q%2- j"J_RN%/=Xn5KgC q1 :&;*锁|U G.˯xP'&W7c~Тfګ-vID 2'c|ݪ؀Z쐦+ 1lbZ{݁,Hĝ"JUُ|<5{x{BB4oT:j[EW @,g'(&dנ1al3llhVn3%`ke|Fxq(VnV(I:N6"$u&b;75Y#ܯ؉Ymؕ/C}ّi\mpϚm岬 T)|VeNH&νIBprt˲o$oWԀ7:7݂%Ix_~+{麩JmTƥ*?S釅J <+r+pb!Ϭ{ȘeS\Xb,dy^*&Wek &ճe8PpK/15]o2۽K5În106ifrzVTHbN-uұA,E&ZFvV9|4A59cY>1cBb~omѤY /˝/ɱ4x(oC)_{'-'"^ƧvaPS0ÌJ˅)zvlrx/ɏN51gw1:*G{u>*GrK0OQ=ک,t+|Fd$w8LQb%gt<|Q KWD-g"z@5,W6h8J!(xaTnU(*WB:\xSK21Y 6o@ʙ߾hFaݶ>DAX{$f"`&ܕmMs3ضJS Ͻz|W:RǍOFUo[I%.cT!lpDUYE3xXtow ?fk*>o"ðY^9 l='FU\ZFxsXW{B؋H׫Wa^rfb5\klr^c۠J_}}UDs%k{ypo El,? JY"M]`7 kXM1{Y;z1F՗ iGjyU(,aۖ2O-=\x fv$w_m5H~׷]ULK["܀&|s[ʟb_>_}i vĒ؃X$J}WnI bTз@e>-4a:u(PD9,Km1D~Q21?"]2lZ%WU%Z50ك;Yc9 DPQHC fn# X:1<vX}@nZUQJ1/UuJ0A*sŪhbq/,D)eDbl׭Zu{)-"}YR}DU%J 'F/cwpCvYc菊+)6v ?:-#4[nE ߻62L>Z*H'يGo*^u$Λ `MQICX+H\v,a%2Zp ԪWrZoad_l6͇羣sLJYXLNkA6wZ0f),aTReVIs 8->7g;Df+""` ' dE#ثBvnVJWx'"'H廆+A|@,OJWe.Z>|Ŗ=Bx)ҧXEQѫ–d-@bdFexMy8+Kg;"{s(OP+'q b-{ >u&*M%5)OjBPqZSZu~A3F+tm}_ꦭpY}\A~ӘhŤLN4b^*0U?,:Im\1/xlÎb,hǨwBcma !_ ^}6]?'Eҙhžu6hE!ZYzd2eQ}c3?|q Gs"C O =Kk wZ\AAl%j kجVn "> ;_ۧtvJOrYqX({8q[_ }jyfkE)Z'}sv̴7 x{O&:oAPVďJ;e-oEǪa0E/rld17ME(pvuUˠ)}{D3";lR׏MUL J BpEWG~+'9D5[4miNDvEڛu݋AGt8$d3Y5ť#4^"9 81Va'?T>i@<;%ey_c6Y=#G!4MDhv t_pZhI 0w }w V|0髪9m*Z*4ܔu/WRQf#mŲlJj]ّ `ifF- g<ï 8đW2ٻ:ԃg(U;n-J6b};lȄ,|,C S11Ϛ;(5 kJןMA8}hQVwX}\75avmo=a3,aS-Zr浌諲۾l&=HR*a!ce(/UC54ُIɑ$bӉ2C0Լ'㉹HL-Cw+o˻#Gy#-i5k۽.jWi<|MSUpDG<&yK{}‰oo8 HTHD/Nkۻ#]~=_ /ǀhZ8&U$Zܱ`ZwbWP cբ"X JmoxED{.Kj% |թ,*w`i˂FA֊M!գgf{SK XU @Fuv+"2XqQ{"u_'}!JxTd=ؖϊ$>jPk1jX^|aY~R5;RG9> |GྶU ])'BZeX_h]L-+x}|!g-6h&c䢱N~+RڴwDt-i 6ⲾN!H% #dne@gNuS-ݩn|*n 5(U%SMb&빬\,\NJTc}KgI}R17^9S{W@4 tQ@1Oxhu$d:TV“i_ D<KnO )/+VR7Ɗ#t_r')ߖNb\2;09*ED8I[RG `O^IZ_2 װ^(H]ӠuNx7h;rSIAY>ےXjRY rA, [kw-?vMݾa4._vPV IEm&|b~ii \n s{ARj%L/h "(4s^ u~KoD$dz_}M~ iD]mD&!)anTdb$KsKDrOť;ʨqJ]e]5N(~jYVy+=8;4 0FObߎWAUvAXb(ȶ)Q\bxg8Y yxD|#"E)W63%Ά E)x1 &#A"[9EDREr0@Iu:FK9KǚRHPyr*^[>0/jHء#al^iz"SNY{&AjAOUFf qp') {@{6>^|n1عf:qkIxUx{h A1AF?Z6JZ;CP ky=VxD0)Y=!C뺜+|-LqNp* RsHK`{D5<[ ^4+@oʃ.JiQr0ҰonJjT NN,zw O8|%ㄥ' .?vwՓnCV5_՝s;Z &]ˋ\j8{ame-cI7U (b|`Ƨf0ł(Em_nTT Bko@QoW^;E  މaS#ZhGE2PUm);qER՛/pz0pĪ@*Įoh->^EggYASgz H&%U4㲸O`a*z#̖?&`Wạ+J ֘*<(8IӐw˸!bvUdiUqna\;Iͱձ<+z_m?u$jXW\G~f"q6RW֕6MߖVɳQa@{ ĉQz! '*[usΑ*m"=rhM8OsEk2b܊qةLe}v)Jr;3@^kٻ5cd~/yP+3^5k4JX1 m*&>Q *0s%yЕD&"Yg D1 Ea,7,@ Ld"o-rD=P-LQRG ?=?G}zrG![ʱEFkne%2A^ժ?FKgG"$oJm3 AU{+v4;@D Y.w@`Y 3|mI$7M̌MLOE~ [>8Q^%E|N΁",p;vB7/>[e9:@J@7WɫDul  F֜Eϫkqo*힣wņs(7Ok"$*1Fn& 46>{8>uXZ}w5kXT!Œ~L'pG@垄j|T'.H\A1&nl5DzAվmV /HvHk%U|v*m["1$ x)nL`m1#˗4J:ŲCs_@:}0mT@ې9}-DL"p٘qo" _bv&RfQ)-{ J{oTx=쿋: m&">D97φ,Սz&!B^* `Px։TW_a1ԷBg aė+v8 ! ,o>5>QTrd̪XIo" |#Yz2hC=r&" d :R\ntpYh2ވcr Jb`[BRk *Kb!R(˒1>Vie^5OElqPP*X68j0!q zvz$Irޕ#sҋ/r^ Hm>bLνWʹv}p:q~`S>s:n4'.bN',JIWY5q6gb¬r[^]2&*t;w [1 CAt#ށ9GI :~4 rտ2!}q"8_)') &ƽTHÈpcv ܈aj@d}! ey%jl.'oخOeUј35E4=>#a{pkmA 9=PWB`}Tfg֛Cu "bDRT-y+.V:(e/{FtO^$,IzSH ztrgm=شV3K:@Pև{tJJ QGGxlX#bdHKͫXfkGm(Lѥs -V?b >\il/o% xej@\ g,TT<3X/kG՘}qv`7 ]z r#ؔWe# 1$E4DR#JvT@O >d^aϹgy;n"V+ Y*꾽X \5߽VJ{~SU E geQN?}WrGz 4yb$߲ć9aI0e$r&vK-U@NcʙKeZb.kg!KAL-"h"NUBN26A.Mٷ-u*RdUfP'LŦ F5ǑnڂҤqHI֎6k1s'&VLA!$V m04hQY]yTݖ5u{ȫP?+mȨx$T")HLο7|PN8\mZ ,ӸjH%JC;g,  R{<3 gZ$O͉x;WlTHT;GX)lT<<VI.G]z2}!*ѵ?s :U.~NsY.* <tЃ&vl[Qc+ o%D>/"vu)\zM )–%ItdA}'UZb (P,+8I͠iAÇt_Wr@8ra{bxsT'vϣ/g T?ɟi)|S:71-L U o!Q"IA_s!RПaKߦo 1pDO*]u`\#ȟTHHbj`:S!O1Yl־[)"|s&:x"+TC pz_s߅Kmsh*_} / A ǁ8z7u(J>0Gn:M1oak&޵ *MRa6(+wjZb\,Pd%{YLQƣ_*D]D_Y7f"hh^x$fTs&L0QJ`A;o8~yb*5ʄ=bqUMقAJ6cI*yd*t@صmD u5|t/lĦ dv*k`KW|b V(T^s*Lo~=\s*T:s?KJ d*wvy 2%9>hjX}mWr = S-tU4Jwev%kJaTWn$ OZE zkL< i7dʷk_wxvB|9GjElTryclZ]1?O!NG$ِ4rHkt#>J Z#!ic:T*?K墪yۘ~&= DЀ0) %#x[ujڧ.U TKC@5'~H Q ,.%#3ʫpJ؄__`tStHW)ywOO4 ,E& ?lmh|4z|+nWw8T8&(- ~L’/+-l[}Ѥ!HJKos۵ReJp' -r!tdjd?{W"˲/z>۳\DTm;Di{xX<~3Y@܏swgKUVVVfdd<q 㜺\$ceVG9NKop[N m*[O%+Bj'u[0˨]Nl]kI 2bd_H"Q KЗ$AC?动4OeUhvS 8AQ9n\vgza+Wz1l,܀Ðb]`+єzl a((֍בasr,k0s}IP WiZNKOY>$12!NF6~ r/[~ш彂N3DfsdC"Qs{&ffdž?kJyR~, ]~ [uWj=Ť!ZJP9#d!덒YڻRgj$UW k9\ܐnj1fwҘS@a\8 j `n 3!2{0)58S_f"_ZWOtűx+7ᘌqJ}$@YnLf G`o˸.|@/{(89vg/#n< |%&ΆFAa^)l/.48 h=< t>LMC1 u rh;5TXwS&,a,/Rf5:WqKXyXlf2g00Xsǟ)0|UK䶾aJT$+M=GcL?Q|%ZktɖLs.WlC׆v.&:D6PP#o&9Ỹj>L0~v8ߙ0-nt uNk>zx}T3rԡ:+"ކsubOPB 5ÆrP)Ptr76sX0ه-.bˆXEa|^'v3[I)tb> " (7e:⦋.'@BAl1Sʽ8IXXA5{|U 9pitax$l7bWpv֫PUׄϋǹ 4>2f}z[tB?@56dVfuXӚOiuV݂2YW279›ε? Z@JimO6p#XMe<{!5úx k24AR>5z'Λ~7xEJ^('͇3ϾL- 8&UFF֒HiC<䐻6}tH)f%7}E:_Ip5Dt^1REa` rؖ`=3=R .'IOil_(m M!. p:}~klV .fLђ ~Yunw∕k3 $Ք'=w}3\Xk%x)f0³[.\\ɷMEXd<^GwʒS>-D22Qd`EKO+K4PtI(_#KhWNwHh3;5/ SUĩt|$ =!45>`a3SQߪ&Zjva )E&na|_Hl7) ӔE( , /w Mzdn`_)2Gq~ ydY,j2X _=j|xbxb97O "13~,lo7!pP \(OL!)$O:`IMAs>K`SzHpzGĜs|b~>[Q˥ X. 9`} 1ˋ?|56c`PېSaų:xfpB~ZR@ YxJ2xk>8/Ey4dWqF}9  ͭ\ps}-5\\T듹44$R`.(Bn xXTkSRid$ڀfLn80p9 %#bؿoVX?!-IǦ] ~0y%=|KJ{=Ѣg <86QNfL}zh:ϑװ{o˻%G>{ 6$Ϳ;JUmmwNXeHE0l@>x*RV%IaEHdqC5HCxl :R$1LSD%ENzQ=*gs 4R;\g8hCC(<{ s?%|KmΘKvI,5e{Jpc=  t }#" b 6dipE^ B+Nv P> (f#ghw^Ec_M$ʪ5ĕLt$ T[FOφ]gToaR-Vo?<^B+z`~k}wss˷+ڛN3|9 1zRU˓@uXY77)s~}7q*,d0qc^ u#;@URAVxE:F3bFR̯Z{`^8"sq0eTX2'9J8d[̇$Yx<!>w֖B080|2[l-}J!13uNlyl-yn3XB@Qz83iX $EBdkMJBGp[4|^DHDy$"vɌay4浧I&/adKQgԮϬQS^ {J`FefһZ[NIdj"^4/nj aX~p<$ef}^e}[/mب$fVj i  όXރEšx=JLvS"$l-Ld&7MƁ0oR9)ѱ&cA`G/k@0|hˊd3#ӗB W'qT/Җ?Fׅ*02`;Ksmg.2BƑH,`[q)K*Ч-‰D"3)#H++b57,GeH@1)yt By2RJ1F|751)Úۿȓ"b9W||{ܞ2V?ͻEURժr{s!tȐY:) [t/qoRK,`I vR0XQ@Z{lGXF/)YYn)(4d ck"J?Dy^0=|8 uқ5+K?CL$&pN69+,#e?}sJq{ԗ9bP)߯pk@w! Ej~u64{Gh1(nB{g(BBMe@a Ahs~Dy>]J0AF!,DL lNy$5-%gDb"D~a0,_6ldXBJe9!7CQ HDĊpKDuLI嫌 sv@zPZN؀bceWQ5őOZ{e񜝇sKG2GY=4ryIPWW؇iEP3M}9̱pL-5WJ@ ;:H/f}}5JKX'h_3X{aj/1!jp aaVPLct> Ҹ&:t̳~Z\q(aAg hffv\q Ԉ*Mn+9!/s&* 7ϗсc">..JC&Vm{ QzzmaBb(0HQz%¿̎0Tm,MNqōcgpR4edK.S̆is#OHY+5JX]$+u6ٵápp_rNq;C)Uq%R92n"2+Vg5¨֔i"}Ȑys5XkI6'Zv\KL U׀[ @GK58Ѷmr2&"Tn[$Wtv_YEf BFdg\Adw`mJ pP8(6%$~ RJ[C25?Iӗ)UG(ya%N!1Lw+/R3re}ˆͰ \fGćKrJW 498*E @L<%SPN:`\6K1`f5y`RcÈ{6QGB9rm5[feH 8#5h恱5=m`0:d* !Bp,~C3vl(l'S]A?:V \^&!\WV w\_ i'i~@v>u=B< 83\(@AW)y!]PP:}/,+8H]Wmsj4Tf+CSB N|a_ w,g@@;ҚH2j:4W8 ļ9B&' eb֢$ _LB;݇sbz/v1*+cKp'[7ѥ11Sc!6(:CD>`Kf.SJK"zaŹ&alBİ."TaE/G5Dژ9e9- 3|Mъ!`o@lgGށ\:*0}XOmM@D =ӻ pV#ۄo^y6liIaFPg3)Oen21pp4 m3Vtn/Zc鿴7yXxeil0Fc ` S(W<+mbK-95P 0PX&edPPfz4$%MyQUm:w_z;8r!Z S}-hE8s1q5b@WGSxԻx6mP smnPw]l>6{A` yaa7d~9Y)fbzT { ϭ0͋,`xL.Y# &K(R-Ni f>p3LfUy E d}##̔^wjb\"iŔpz)g l?biȗM*IQ=Ӕz-SyUՌ'RjcEaVP¹n> XRb@ gl9) [w&N)B҂ˏjUG4zS|G 1z#v>.kC TA S+)\,#ENK}5`ZkHµ*2 ! oữVGE aØS J͓I0y2P_6 ^62^yhrYGƾbB\KZ7G2&Ai~~Ɓ=dfXgAq2WE &6[ & < Lڦot!++\j 3WuAItwe&)¹jbD'¯[os܀_ٿm]Wh7v`.mcPР܎M ,Ccr&xȧV|`l՞i65[d&m[uD$sl(aAAa+RDcS1~BKm 2fׯBG)yv' C/CJpf͕&:R`GNAPxUHZ AR1_J܅gezdD}֡A-8A540SИs!2I&&@{;1R-A$>QLݺIn;2}9Ij<GiL%I~TAjF:m^ԷՊ hl 'g5Wks{WE|'0u-G149:4WJ(񟐼]JVs(Rڎ.ڂHEe+>+S.R-s4AL5 .0IAVaMuDlO򤲄sn2fWN:ڛ& sd F142\[=by[˾qcg L];;u; aӼ*ǟn=.cMYRǞ=>TȒcfc(G_EY|*5\U-"JP*AV+ =Lmdo?ckf C:'7ga WΈ%ѵcI(SƜ"c M#,rt6ٕi6Hz!"0r!e]# fT"K2E-J"Y-q$\))hcKV;n GNl{֝蹇BiFjΰc)Q局,Ox:-x_*%ڎkx1RL~7%6|&6ud ln# Tg .-0!"5 Tu1 W/dx]w>A'H$ETEY SP^b=Yy]^Ce6Lx0s:c.\9 b\eV]sƖnA9t>XH(@AGĊ-g y%O?e /1TĔY"Hd.nπכ%5$RB 7`BfځA$>l! ߼'IV+nO5&<%p7w  G.p֟6EM`@- 3qir?HZK' F|E9 :tB->ƂnS&{ JH ex*Ҕ όT7`|ha,Ae%҈=ڼݓ$ |0T_:崰O1L;2,v8BqzWE=s-zN3ÜE,Z}uʒi1y-$b)b(ZQ‹+Q/[t$ `l*g2^,Za3:E$ {vQ ~L[ E#_z9[ G}(R$=~0D22ze4;h8Jn_Z"e il|-5_%R CAwE0p9#)xN-3yaM-sܖ`/%OoXTD6)/˕bu$b'V.zˆGʟ!%YR_Qb#L4z&:Zs q.RJ;#H#(FJ]l!WIXxOAyY1HǽK Exu̻7ӠiIeɂH@Fa8nfI8)Rd7Lla*>e!ٕ.)Q9548c*G.'23z}җ3DNZ+eO_3hk#[+:̧LeBv>L8a[\耧<1H@y൨(!qf0ȿ(k 47st @ȔȵۖXig W`TE򜤲RPļaޘ1)Ju"(S&n6Of~ԌHf$VuB !D5/ÌJ)>> ^z)Z#</R0g.n^yrKL@='{ykwx֟fœ41]t k/ᜫ,9H0I]q3v p\:HYc*nnc۶K+ml<a ag +{N 'OW޾YWitJ9CЮ.āHDsM/ZB8([ .G@bf$2߾y =ps 9 _F/RqITsFW==WTLO7,Aη$ƾᄦ =U*jpMlYht)nor"DДP,e둆51 q2_732b8TSPr| 5@PǼV<!"Q\r&2;1!u90zքLiɺ´j22)vy/*"/2UezsEQI%na}鯯Gt,߳ņ%E楼?9*cqc!s>nېg ^C&Y(w(P֝y7OYf\^*Itp &)P!&pł<!5ID2Yܾ6Z[j"*E$;P#\xW FJZ] srҒtRVruf~5 tyuT{х"9惔yg sZ9*̍[MC;եV5bl 1"<46CsP"Aa`Goa֔MsC^u.*q -"2^Y[B0lwL/"y:Xyb) q,5W9hz/3dcO=DtFd,k)eaRB6bwbD&Blq@ |A;A-neDya!l,_̅DE}:A!E2> Niiӷ07{|Wo G|fc*?/psH'_*spʆ2''oKe?{)Б6ZŻED "4c\@s +(,NfYKXĊ= 2.`}QQ36+'Ei֬DJg!؊~:ڑɭ3p<`)e>۽rd(TbIZbqBSQթ2."o-<:UP-#mWMp p6`g*iѳXJЈsb/qO#qʸV 5t2/ To5^+A e̖JN+rCVo[ྑnh@~n/By<3ɔxYlWrKE K+_9)P?+vR/peAcTաƈaqW-jQ߶3{̠C9SZ-]jZR@*lmഒGSFXqÔd*"qR## ;t1326 4)䕉0膚冺k=#blVV14_u"8?\&AGwDn#g&Dfn%1Yvn&!BvL8X; IY&z'dq4`/1_yWTodg֑|I#= `"QQA(9CŞHjfK)ӯJ =vd "{VS{SbyȓIT9p u ffq7:bn U"^k \rJp*HH )QR 铴SdD^ʔ1ZYRRk9qyIg DZGko/y:@!+K/Y(q[$ųx!zy pזUj Q BUnK~-:,汅dM#v'q+i/HqRB-Lm39g,+I@\.]!ȧlX;`kM_BbkWR.^)sQ W%87Q̔ȣ㋬%轺yf}WHK`YѴ07Ž$Rxfj5Ԭ$V5+gU%RW膕gR }^SN%9k̹e#)dTzx=M mKB*$Y~^ e{RAt9f!]w )gac`xc=*[*ͨmU|ɅZU*LJL7mcqPb5Ch]TY"~tIJ=x&A a ݔ(Q7僞'ɔQ`aI?ZtRf[n&TG #z%kz эyC+K嫞6&719OL .jZ^gUӐ+1CԺC jt Y^0 9_/K s8`$6ؐkbՌX񖁱;q ]vovn`W YμE"K%%qҥDA͌"sj'CW) \?dhƶ'FJ% 8-m Z)й2V;xG1yVx"&-sﰜ=5SƫZ RFؿӋc1 5pχ ε4Ci@ZGȾD/SoVHCC=@Cp!.:Zԕ= ")傻ByWs oʣ"%o(:5w(^[DyDX61D ՚n-.+hbb8qX:a/eDgo4<&x`a_"WQp&_%0 rPF6}_K1֧ޤJuEotB0Gi4)/^wl{4Dch \v7wzкdB uj߷h@da i=0)Рpz0j:4!|KM;lɞVN?_L%ko\:B ҇/~F)5FMk S\0Pj7vOF=Yj lgx?CRof$_@Y6mX"1em9I| YCP{ߓqYwvʄwك 3^:C/dFfDu-2YR I3~G6]0yD33M_W#jdu|!RCtYL?2:U v}$r+q/IPd' l\"FeM^/"! )TL W"sSNLU^wǑ3ϭxkrvM/Y4ȑ9G1BB,3Dϼ5aMz-\cjlߐ4oaod,:㉎bZ!6xUڜkJ)[`젥985JqzR 8*Hxw܂bBD]JKeN$$ͫ0fԂAb]'OUPaN+)bë;>,}M &OAoP}cm>kzfd'1Eu7"td%Pbv%LNePѲOg|VCp J΋Uv'ݜwP *jآ"b{$ŖSkP IjAeK?lZH]v.mĖ8ru^tu;0k)Z,bAiQYtT7 i;E盦sT;VF yʃ+tlδٯǟ%wzD')VD K..&pԀWJ4Z{]0B阀$m}9A&U]YLWpq|ih6DS%F.̴tJ`E%0d_ʹVt@ Z;%˼C@^?X+ h f0MSs-k@llz n(JUٕ,h==>}]}3 enDfD fOK4)?-l}btܲoft%4ɀz+Ds2;ec^BTyFq+F2_Iq#6 ;c:`CqxL$eA,ihҸ_fE+)qV cuw:ҹ#6 C{G!%7|X&oU/Cj+??!ŁZI`h.))T9fe%[E2%_)SRQ8̉e6zD6uLX8sĢq i/P&9O@kY0]9QA!6\٬y H$s䃼1= s UOFޗ& WNR6^Z ~p/f=@oiV88j@}Ȳ:::-zLVLp޾~~:` X![/=^RUd:G YWl4ˡvu;=kn \%V~2Bh,FH*T\ZەKk0:$ؖ9V梾~C~fZnB'k- wɼj$Gc "HߺBLs~Dg;ElsrdﯰD9s6BLWX74f`1 }[PV=d`{Ԗ+(I{GJ3 yq߿ \[]!6_rGAI&<+AzdfޘUX$#zP(WG"de$T_pFAejG2Q(%8ai }Єffr5[ 4ffeœXs \Jc$g5Z3rI}ȧ+Ԯ5R{\%-0g0sTf"?X or( ;$;= G,`< %Y r`fڜ3:=jdUN,:qhK~$B )N/tds\cIȧyzZ4#YIGj $: &,qQLfgNe,5X|*I1Ȯ`_o=gQBVҲ[Gd/cYYD7b~1<62 қ"kC 0\jڮ)IbvY*Q(d,11wqnL ]hTʲ$,K!+c~ L!/P1%N/*2*jh3ejgA+X[>Ks$+Rϰ/Z?L 0{(U0H/ "핶 "i23%}5l, I<*PHz% D9N ,nVT͈Ar!sl>w RrʬTa3*IiŁ` R)X\3qe _ñUNM?\}*wH %'_b\e].CQi_C %n /,t9O[ #ϖο9sM'[lHV)Q!aQCo%~=S9*BB$ *fK?mQ$)Sgv%V%Jkz~OC1 `JB9Cy.c y9U[>` 9MTOHtYR$ɩ\8l ֎hTg'菉Z"2>yMK ,mMzDn@:]XtGK,,'z!aIɰ^PZ ŐN2Gp7f/5PC9?_ };~FšEYb^bǡrnxfE%JC|^p˥+p\^)0Iɠ0DT^[K[X" DӪ #\9m riÊ[>5fEIi Xh/̭n`e’x{#߁% o$bŻϑix|zvH((ud:1vQސvdVV$}f+㉏*p)XEL?p$"WlSs#U= D״1 ZcfH8#=gw7'g_LBb؍N9|LZ]U<]a4E>jVuX1w+!8ЖպC{j`>OEY_ Id@<28c:#8?a=DE+#% xeׄgʅ"^'}%և́֯cK U,Սj2Qw rٌA.w9ú J:"RoVlb14x l.8, WؑeŁE⼵u 0OTQ.Gk,bZUw8 Z! Lb~PfY:O Մ`$(C2bk-KNttK!K~/䲋óXBNj6}]bo!0 ؇†F&PMZ 8goa Zq[r.yܲ+Uiq,v(EU]TT-V ehg̮8L E˳ J2, Q_6ˤRuYtںyuFn>Z⑑-=_ }5C]=%-3[478}ᾆ]kkW4(LK788"x+CFJ8X*N~mSqJI7;ZFO0m /B;߻b⨴q4HM4C[٭g!jK᧵V:/>hDws.\aQʡukhn á(4 Dg)٪7{P0szƢxba@HOse?!>y~ .WGd5և68)c$$ٿhN望5I0.<ȥT>AY7Ahg?]"EB?..C RqU& 'wcЈ8lϏ}:sq$QКT3ˍ3Xjbu'Z0(֚C/OV3MXnoj>)QlH,e LE i32;0kEEd)W$zr4:ёR{*HzJCͻ4rO!G9eߴ1 %`b~4;K1|Nkm=FxtŲ{'[D(wC FY`s<\&u*Q B啩ϵTc-oamU|ЯT1!@'EmA J=4\$5ZB3w 4-ݴsU#> /8IK$e@&WfassQ̲;yBIp}{F,=6#JP3^iҝWI7Vb~%KGr$!Si?n:pc= %+[GߠJ4:sRHOB2HLrSF[b5KpªŒYO9"tN<)DrN:p(L!7!FEZ;<Dg%FqjN~ROE`(fJusWP0))3^!G@5t5 )iH 1 ,:0L+w!&ӝziB ,‘k91=70_4qJ &a~`]OQ9 $iLTn2jRR\QI1Jq 'jl8EG&c{oho՛ k/k½ˁ9BGEf_<*iU:sjںtX='`U ~8#[8RLizR8LC* n Ŷq-uxxĂ_SFA^o=E:H=rLHE=\ukFXr˳mp)[)sɣ1U#Q@!jj$E> mk6[rvf)jxX&)C^ fCә̜W,e8"bB.Q!7,O/qߛr\!m3/֪8DZ]\T`N]*(קGUZL:d7U,|ͱJ8ÕjTE|) ZǗ>uFTZ/!'` ?VC[j%ŷRޟh"P:kE3,%`B EfGiyu2c 1&"{}D6.XX'EBfDNjJOJ<ɏט@0RYB-VlqZg2[ۉyG_@Fk;yZփ1i o[ y)ESAvPqsYo\3w"(M1a(D #HI=. 9pT 7,!|'UִfGH[csɨY `Wt@fJ6nLSTX~- C$cy,dq| ¯23 yw^J4!䡋DF.(9>W ZoR ,oܩfMIOEBe7ŕo# f xמ.n$k kt8밉O8K Zbڐ,9LB#ǩ f~9os ր DmQIZ)ZBIq<.C~r)yC%`WV||+ZfGk{4!_b&iv9T CGѐۇΈSs -5ʉu1!n(:TO@ [rP]{@fQ B 1DI9aƜߔÃ}ڌ\ka60ݴHOA:Oٕ! z4۹Zǽ R{pB1, a Hʧ*gE]'זlQcuWlvZ72ҎFxͧ`7T'%dG12E2d./|z=+,oLu681K5]ǚ։8!,hLJ<@jU ibH,2jJd pSf87 JA1r=f |^~-2Z2-MZ2Q7G9|Y<*%d]o<_-8xp #=!&#(X]na|VԆ &0Sl[ Ғz>/Z/~ $/s苀Joy8RUJN >٫o7~BIV6{Erdu]Jdڀ.->=2c싐m߲ VQ|9k~ۆG*Ed&H8>sh44.|5ü-qMȮژ2TU",B0EZaBD({F#5!WU&9Z1C⳨B\b pgr఍bKsЊ'e:9YOrt4f|V.z!Q7Ged7i<.i!/] b(8}Kɐ%(ߞՏQRhUV̼;C*PZ! Fs*uPRM A ̛֩Vpcpj՝N92g7 ErzO p E8jy9b=Pmi+S( WXٰ\r dn-uLsjjŊHB1775gE+2u|fUcF6%%0%j/Y<#|?ݳ&˦U ,~yāb|7SIU}ޜԞy_Z&$䟇Z(3t-V@_WV9t- g-0Վ]0ԝ74;"9О ̈́| ,DJ}f Q}.Q I9PC+0i?EU0 ʖj''uY1kCj,\LoXV7:q|2A'pCۢ-s*p~SoE1X'rh,~Ia^q4sOizyzרbBKE&lbHNK "7Ԓ[-oZtwj +fa"G#gh'bS~M: 0,Q2nb_W)ڸ֜^9s.E7sfpA 314v sMY.kE.P],d}AN{@e诲3pHa-0qp62JӒV$JF#X"))o X؞ 4by}R,-lsoeYnZ% N]Vdz|֤L) +%9ͧ Yd[ɔ!,>slq$ԟ]$ 88+L[/$_#Nk [ZB+s΂ 4>h6KKA"#\?BA"Nm aaIa-JOxg.i}'.+%! ASH0!wA-*B E%OIcHP`Og  |OQ,)3b{˅[715d0>X'zp P7_qIK䈳"}|璯}iOE6)%%^=U Z%bjpv,F Yi9eN&EƜBE"]ocd4 >)U0lyl,]2ky]`.p?dJZ@y~4<􌼁[O>(kT\#[LCJ0f 'Y:pKH0Se,h)w+0Y,O,:+ge1 G=R!I(#8 ɡ98Gʐ483cb0e^JV2Ջ1tG<@y= d\,w]T >h^s3A^8F,2ԗ7OƜP ]k _OԞ&qDU;jM_d;SYT.T[eS/.^0UdѤ9qi p3!έ$kۑX@ſ\\F 7>)Ue=Qc"̣s慩%>A+e2!.,H9n(n7s٫CalנRdF ex68h5+<3Kf~lRu8ਖaކ$}4 4Li}:ڵ܏Jᡪ|$jI'2+%YG;Άp ~N+v @%=st?JDN2衰 վπï)q47b)H/ҙzQ#TOGu6Wp!&nfv^jl5}t+2%)Ymq%%*S1σY ĀH)WZJUDԦ~n,otKtL 'טf_j¯kQ-bn v%/Ɩgcc(Xl^ልtE djRt!o5aPN[Dύ@r{ (U&p'㞩thLm,QFPLcaªx5 Z<7T&AH1N{GiQLzƹ]!ʢJεB&{iK#J˪,D7S4 pEURl0 d\sMW#/'W9QgCÒIչڈ֯_<8;$G_f,dJ a=Af6Ms?#Kآ&OxN Z5f`'i.z$qX&epDs Ixs0'(qv=KÑJ>L*W1~3o7l$;?ȑs#xU?"tuK# j.\&7-of)I\=~/s2P= PZf+~CB@p`nQ1k5r>{Э~YWH ڀWM9 >[8+gvND߂43KK+k! P0Z@b"nTl4xf%&3q95:Ba#RGXX5Ӽփ&,-v-n#/?!-{H(ΎV9|,ͳ8hC(;$Ѫ&u<)uh2V})3jLEA'֌j2j"d0!ѮtېlLL&L2/:O`F;6`a:effexDYhc0pnw$ůE:& 5j%LE ؕ(mV(nZyrbиBPep+TH_1h clg)q$ҡd*>:3Ղ]OGr/ F.ˆy瓌tkrm ,=JR4wu fI *,l{ƫOWuksl.![ٖY#9K;R!0鎈 z / L%eQ *NvHrqlAP>5|edE(c&I ,*A#~:DidG@mj?*|z\Q;s>/SL.>pUF #c $92omS׌3@0&沍TNRM zȇ0؁cӊ=u|g\(}35_\|ȔNy[Պ=M欯,R2]qC­8ͳ A"JC,(W3'0J[B#O]kJ=6-,\jғi9ObĄ4%怏cm!;V:nW g5L,2VQZRD9+SPjdP)aU+ W+ZY+;<3/AymgL)qS3*{x{WHR%`E$*nk9qVl27iY %Z7p΄ *4ihYH|n0}N{dr1*u4(9d[#nHچ5+Yl2Ӟ ov/j]%ת*~'"e fGSr;9$vD˘b ut&%O!=PM 7MTcRi>Z1- XUY&;6A94' ,_ͩ5!9Xmccp3 =&&B^w bs,vՓua[nzot:e?RAD~v nCgWWFK }^C) ge̝J$PrdfTg1${yC%F|YՈIX(>(|/Lb,=z2es75u5G⒆agePƴ/ǻyEؕ [\_H*K5hrq\E@ŇBs8( 9oHV>qdgHꓠ4Or%SCWJ1n5w@+Dpg(h{#1RسiS S|R^K4S2eanz}(c(4i$]نO{aqe =@IBFU,qkj4EڎN? fEi O@K輻痻8tˁKXZQQ)ْHp%C#Ӕ[Ad rdd3OmSź}I'ZN?\UkApT0?aWb ك5̠Jd:Cb2 RpkjWr$%>*c袎83ǰy6me?sdo_lj(~P!&~Z`&MG~.~\m 1؏^F ?1y/DOnD[0:3ؽ:~c9 2pUkf~nJm~ + iܷSxt Ӌ:EeK*=oZuI\Y)8u,\m+vPT cD@s9N uT:ľn8{+@Q%.xߵp k0" {ņ 霖pk({3o<.LA,y=_+[ŅknNpQm #( qMCCW8#Qc IK'QM-W&YkKl;ѹט| EF@zoYƀ ~\`bodz}HSjQ^`F`iJKh49Zpg'$9ymɋ#/\3|p*d?Z +~]ϣٌ YHF<W3c=ZQWJ 3%Z?HU zW MW o\[hRE.`ߪBي `}##YI3QHPeݒ y35\ ΫJY -z W3@ht7he`D'|F8는ri}4b%545oXPw6MkFqqbkPkp(QJ&%zlx`[:\\cxoUyOsQf82p!C5?[< R[!ki\!tR-e* pVF_*lsrIj 'WR١W*76d;\)D\ek{|_VriKbӭH]!ot 929ʎufFp^6\lm G,{u04JF>Lh]䈜;W :*N}E* fc$eu_-hCWϩ*݇%6τs#.(O< O9{%XT7xx协K+](~78u6!j9g`,gΐ"c9 FoI""x"y@g86ճ&]36Vn2?ȶppL]&>pdu^C;`nV/#e{%1*/= $Fxm,5qׇcväS9],ӌzm;uݦDU 0H`QU" C>iQ8c4o S"LYC% 2:B{8lSJL$`8_~N8˟TQ 3ĨAV)LۓNr$sW:W 3 /-'RZ@ xn ;-qċʕʱǦ.(3V*|L$Rr9:C]ݘ=I?ގc "| u.glɬ'"j@&iv]~3;Lҹyce]#!K"1q%3mg) |%թ5@|vJ7l9eYX"q F?3NuQYfԭ{Y艂!I~e-V=<@*\v(Ľj-Hr7[,Sܳ4vlwF>T .#}_$!RA ѕ`m73?ǽp,:i 3&EFϣ]qia0}al@XJpCE&8'6'Cc{3| d8/aA<lu*]/{JP|(<)]ڎ4`7o)RJ8Ex)_C{R"R.8(v *N#4K_R$:) V:wDu`xH8<sL^ !ly`R1{5)ʭL9փfP+n{qaˆeĆY/ivzOX^Blu=3QD t]%JrRf.;Fgi_om<}D&L7s%\=y` Ǖ:ŏrspr+؂ V Xʖ KC=FTaP`g P\CF䏌{;;<OQ]FIzi+'-īQ(_$:_H3>JXm  M0K"kfuz}g;p9Ny8t3z}22iwQmS͜]1usd ) !Gp?ac|'5zm5%nÖ5Z.Zxd"W"Z(@3 dK9q4Kl.z5eƎE{?G;BX j3MB*}-XbB}-Xw8ISG0xBZ3MآC3l]]cX[aNL R~S-kΒ&0u8E#'_ 'KbgH˿g>-3/8hoF8<|dDIT@FPz6q5-@ϐpF*vOHQ{6PtM-DvdmmJ5.P#<gc4ܦ\w!Pkp{zEkAb 1?7DZ&]]Jd4eo 袋1v![W319ar$#P.3bM{āBLE H{"vk}9϶Z+gY}6Xf8}IAY89vŁaj?) qB27H a?x^v}pB{F.BRZH"JrM RMQF^Oc /S(~)PQqS8v=VX/ H[=t8 "6AH)c3i;ր}J'&9hPs8#PO@ wD-6V_vC7iq\m7z(sx_5>t`t=Y%aܛ!z&;ƽt }Yp7`Y}4L1QeYcG Z6:.YFԑbSyAQ!U Ё P_+]Z#$'řmJIee /^\I#γ8n76{]k94&L_٦`F3Gi8 ItjN=c8*2Mh2=]9F+qr!wUfK!-`&QG-$ˆ"3)Q@MHe'""L}F4Tq!QKJHPM M1.%{,(Y0!8q-|wЛ #b9@ foGz1It;bU:'̝:|Gϲ(wZf@bh g%!l16ljC( B[zDM!%:xz;Ԣ]/3AIAY #;fe]! nu\ysnP<꺳Hx :_~A5;5w93"iKLJ [4uTD)\$3&ocD>υAS#;bl"*Fot9=  uYG<4]ٶ|2b-oXJFN_\fY9!MïxK_=s7> ۘ?${CMHnH$'O#u=yOKM W]/zZw%9/wȻD"SMti5ȉ+8ͽw n4w͑3utN󠦽ۉfۙ3?͞Xi6mGv]?v}gN^ێMcNU {:S7.uwNg7MB]KHpcwR*oɻzkw6m`c7؝1;6wvsj?N92uumm]Phwfna>rföӞxݹHm~3s~6fwwgՆ;S'M}ǍI==>ޒ:k?Cyٓw 5y{g}]Hd]iO> Ly ! Ng=Mf ǍzAkT0RiԢݑM猦pVknaO*3OQGi{wmg0R?aA٪bO>f׍6[9xD?ĺ)m=۱!YÝ/3o߿3W{SD][i[S"ҝ[6ӔE {r=h%!)jOvSMzd .[Bmru4SpHvӡwxPIH؞ǿx:mWM-}i{9}xTM i%\;֎Į'w͆Cuwڮ;rCHQ+DS*Iwj6"fDzsyh9v%VR%"vA u2NemLGlL'<,"~(jgܧbwr*1& ݨbf wۍpzmvݑ:~W"H\,]usv'/oNvݖ[OܝV{Y~9S=[޹KoeKxpGI=~K~'n t!J)sܮӘ۝"=lG-J$%Pb'8S{&R<S'{cõE\NJ{ǿ L{4=EmO_l/M5 n}vZ_Ĉ(̜n>9e:NTOWw#|;Bt eD{7m8MbJ z2@mD" d}0յ8UZǩn5U~KZdũ&'?v+&: ~p~(%+p"xVlsx꽒wsb _^tiF!^~ݑ:oYn!O//$97XOM5js͹#8,{w{y6"kJ'X`Nn[4vs`: b9wW5m׺z1h6^^4RfRKC]nNIC菗$%IlkJsS<~$vڻ-3{:wꒆQLD]"YzBN斳E D//=H9`biTMzDMӧwG:gޟN[&#'hvg:,BvPOHlF*5hϷ= *(ZW^5#dLv-YV$2rHdDߒ}ZQof'2-_X߻܎ cW c5Uےly0 Q)idmaЃf=ӛvZwwuDѝ[Q:N˿&U/=c[OkvwMqGgӓ QS!FxҞF0qX#pQ7}0oj4M'݋؎ߒTKJ&- Us%"4o6L0tЕ3ڏc0>?L~MܦDOeO$-+b;K6y'3.ьD+ήͪ͝.}3";wh6PMgU'XJPewɫ~>>=DX]Ynr]Ӭ6yo»s,D]n9۲wDl[' J z?_&ðCۑ߇@4%+N$"uPXf{{{/י-o4܏`@sfE*,I5 17TV(~lS%6߷ϏtMScCcm~wLKT2=}MjFC%׈dXT-C)~{(cQT10Йb|}E iRj1E `dgP(D*Xŗ_v~$sE?&$n)A8nzb~̉D%b֦ga=Z^c?HT{l)%I(M -z 40kX=^?[(5ZD>vO/VK&t4?<:?Jm9i_j>$?uI\cfWT]-8L'wܶXn)uj"KkƣMlmrKrn\[퉽rgֶ#wFS}Lks1mg>/HiCc%Ҷ6mٸp~i4"# la@2[#u(χS|5~Rc;+ڝ@+6 &%jvvVgp&Hj#KC]iJwWzW*Rp {<[$Œbh+vϘ[qv'Agqq:ss1uG*myS+r(=|S_5>;FtND)ӱG"I%zs-B' Gb^F쟊C|t#gY+x4bz 'ޑz=2 X}OȇOv#OZna;f(Ms2݅;FHtϯXE/~M9M,s(&$_uS3*' A3%(#?_[4Y@5SDx =_g !Q~9vws@ˎ&??mr3m%'W݉jPxG`w#?jglx-^Q70_$ծu}*_XTEq}w$>cX;AvNv~b~"RSz5϶\}y~⭳L^y @4|K}W܈CLD Y,;Jʴx~=l<GbSh!dw|:~O;={nnM,v/к|;;6VjnÜ&$(P=_P MIJ +FnC_j lEmJ/msq>_|mv4Vj FZ {DwB̟V]D率4q37ʷ K_~zѬb…Htg-ky$ײp| {&`ta/8-La@~Ӗmu[sH$gx4>Ia`1/Ey![bx 9`.?9UOUV#8{8٥?O.w"gψ#D-GQLG;Ļic9vrPTq5E"?~RkbЈM4b=l qޮHdsG@x|hm谏Tm7y?c#d[Ë*iR&|no0;*uy~n@47?mN2ml$WxBaJ=ݦgn2kv l;E;ywJrM`S;{'wv`YWR]'?wDv ȗ&?ۃI^ڍ. .C-qÐKS#k][{${; +ۆ?toI8|hS"z6Ί`]Kzja-{mr'0ڊ/>M ȿayOA$du VX۔uN$]#헗&/~*o۬OQ6{F*щٺ Fn$Hk^^Tϲm6IE4?w(q:k%Gk<6SHOT]/>>鮤 {lg-7bQܦF' @Џ^ɞ>N@k*3C2cxE`; CK- y~˛l'ǧf8[o,?ԴG@X¢iaN?1Jy,nD?EݧA&P'oDk@  w"5iĆ4܃oJE[<qӗtÄ8(F@VOvKqNV_wtG O,8;jWy6f^m(0ؽ?LxHB!rΙSC3đD2?:A8Mk沵@I4{p<}"bΞ=U#2rA=Lxx$ąkkwCo7~j4kھUf'c+]]jZھ|]ڴP+ەBɜgۂEKiW)]0ٺ{n}#_7ȧe(f 5zSd:̶r"m6Q8$-&JJ䟻ȿd"qB풡vי-1{ySR[xBmL]VuF9PA"#IL(II?OH퀯NO{ϋRwO}"ȇtΚ;DK$N ,] b{0N%Gѩ9J!6.%źqKM(/G5O"87ƿ+ՊkۿZߣugH--{d*/%f!]}jk[xϐ}];w1!a0j?Ot.GLf:1^~)u ">SSihZ5EAA RvjU|w""D:}:eBl <`77THu|ҭ⌈8 H@QD6vL+}@\yZN2M'Ma< Dk||#$0hb=Md| nߨ~mWxJ6[?X@9} <C>ĎgO&1Omo-vc3s(*Ȯb;na&gfND-4M4[S Vkfw+3@5ub:?c &-ȵW#g$>Mΰ'ęnrChOvJ>w~~}kG)ukNujR3Q͜h+Nu_J}ٳD gz:uB&T{@ Dw(5tE|3xnayxIP 5y)BI%pkJ"烫7h~Q-S?Ng$:tL>|+ΜZЭęIᴫ{%W^D4$M%6~@spQdOd|;O(n(c'/SP<-Ɍ+l w,oggU1 %FomNB =mv? Ա$2ll M(5<$#m?$aBA:rS3uZѱ1M| ԯ~$93oL^dw)2,o7+M4W[妽|;kR֐fr6" j@빭 $T'e'i;[ TNP! w0(Cjo;&;[51l1%nmOhF[_Z^mKz@)Uہa"=}3YqKS?|0A+fö̓g(b7Xf};]F-GEs˩F1U? r$sa^^Hxy AC,!8!sOQ~"8  sioq"[ohQR"{֣&߅BQݟxwMz盚 ^ԋf{2\~| 7xp)^PR%a:g #*"\cwQe / UR"ȭIG̼6FK/SXHL055_d]uqƶ7 -Z>!=U,b`+ViB`2)΢"{[ {xLQY~xI}}W_eNS6o˭{%#_5ZDF~kxB{jf"&vZUB%6@!6\1[mi!0IC(` 6kE nP% qf<轷v)&w7vܟRJ$jh=/`/'dPJ y_?s'?sKI[| {:_m/Rd wOڮki&=V)t։>,Mkox&nee kv'dCb Ru@})-D'K F(dK3'\Il$ %8ٽrm3┄'%x&O (K2$mw corR,oD:\hdJ1Dնok1?9ճF1}묅) !9[?2xdnk~-nϱjDNv@Ɗª)P= =_ƥkN2%:Io%jTjZY}ׯł' -v'yNuW8k{mnBD,M=UX^pbx`*8X>jܶΉǼ5|>%WDï {4(mO +)ZpjӠ e&>nPtq'0гHlw[Naf'eWlV}*GۚCÑj#{Wan :^' 5 *++kc kE\[QoԾHS\FzBV l=aᡄ옡(/ Kѯ*xůqV:^ֹ1 4h.v-ؚb8l Gג+ߦg")CQ%!d#x&p7d>Yj?ym_G/h܀eP F:9ϩ1/VI[BT27g`7׆>0T,[>:LjD.x8 7f{:'|i)^m.ϑ_@э\(jA.ky_Pz@ȶ9 8ݮd$̛*نqk ?G+wh#|gC)vOH7w 9&tM6cI}Ӑ>K|HRwH$t|d]ȵ2k^Ϣ)Y9aHdVWg`Da|X7ÛYD'߶yp sm\s:ly4WxA1!/m"MzsmQC>q|}mG3"$bla2|ͷM;rv|G7Ķ$8> esGqDb= aIarwD\]9&C "q??O6*jϜWsm3ͧUhXCbb'ޅ>qw'&OLl;ukk˴}Zϫ4#rztO_Ug x/zFlcMC6r'P>lڛ6jϕbSM=Hvp=:}HMnd `I F3&]NE1@A5in! Pl7~L֢:Ֆ"EF(Ύ቏8* fx,~4q7P=͸PPᇆ?Q VkG*[C] ݎ5|4 {{5q_gOsu]29w{oW ̜aރk"k/ ĶH۸l&Ig?" jaوE6?ʏh6c`~L&-q`itEw__)y>4gǦT *R k$33KLo~vPk6Z'm7 "F0gHl^Y5NˁB&ȫ~nou`K]鵽Η&ؤv~`T~D[۾pݷ){H۟ N~؛r^9Ӏ4?j+11K?) ˳nO'K`c!D_'wyh|<(0tHơN7oa5ŃF Zgqt4h_!sZM)׋}A8x<(x%~Kgt@ qo@G:(ůG~xSc!{O+1gOu`$4]އo)7Ha}liݡt.A!D"q!Bc!!mQoȚTNuڿ7fzgpb/^6lvtQ}kI lQslw7ƹqpm|^tկ&zClv@뻖Ql{P\R`]3iv6qO!d:N9n H@s@RqRÜk0Uv(]J6vgӘ[̊8l6Mխֺ[?'@'owy| PK20w% 7ia4kRV/W$-K+?[/~-ǫILTұ9j跑b u~7|dK7?jƱ6̃T:d{#-z# ׺ͮI=~m#vbnxe5=3:XYtgc#q=m1ymުnÅM?)8h</!QlӓSp cu\70BZL=М#]1)(]̉Q=:NhW׈oBd癞09 zydwٌ~Mz3kK 'PRH0':N hؖtn72%U-{ kU3h7ЌF҄ 1W]X:h4bkPʊT&p!y˻Ow@SmdfGW lvK[V\ VtB5 Wls(p@m!`׶  )@<LYXo-|'cJSs*5?|nml6'p&> }94j (M_G6jjoĘ8 @%6CaH+$̡W'Ekbw+h{Jlnk'c%!:ȳWYVuD IЧv/9Ѱ mNṘzʝ܌ {J NoP*'(BjobezQy곇{{m{:N_5(b9hTgaix bN6UJWlL;tDi?ZN~:i#es >DoW][m0GJ42#޿֭ۈbGknYY?w[*-(GӘN:oiG//o_^F1Ԋ|Do Y_|}N} {^=!1Fʓn;EsotJ1>yeNH&>66sm||8[(- z,Qt;Rӵ"?6bQvfwӟ܌S.hۉĂO("JN{zT+ӃX;̰a_ۦno"+C*JXjYE&E6"ƥ-i k|87dz/Zi,%&lUN_I!R2{DXhMF88,QT}*X=24Ww+6, ڲ:df@ tȉ{(Mq^5//H7p:uIKa|,qwmʏ@ w@38 {j0Z{8S7V%7;]oo2ԍ?rY߂o;SZɍB[MM#M 1NMAuv-+olҠ߱lo)[Q'WpHku|~4&Ȇp@8w&\WT.[ .Ŵdreھ7ԒMGvk~;lAΟc"n K]q&S /[I&nJ;c"nz &^7 3_Չc? {w/;4;:I!xO_NQkJI S㓺{ ,3 plgXgeFMuΓxjY/3M_&_a'n{…۠`uv{vvC0DWj 6S6_oۺFo)(4H9 qLgbgVVu PKT|w]3/;^o[9=P,)WODp̴ 6y܂wUx;F4;kȸ8f(;+3n̈:9207;-zI@=*]wF!`rj (tzqM1 V0q,Y:Pc\q1Xk }:Cؒ8M wPvp[[Ek([fel6ت˞ڋ4#dlcJu J"va0 ;][ v.bRNughdoD(ݯ^ƻ"w÷ֹH]Wdk@kXȮ:uk_29:wE8|O4d^ܟs4GP3:;}@zކ]H[ϢuM[5mߖo Ll]}Imߕez*C7Q4 y'G?1^ ҝs6*0oڝǝD)ª^,ўJ0/iՉaE5ιtˏJ+pB^Rp6:*(%; ACLm17$%EE|tlkE3K 6D*kkƯ$Vt̳7yW'&LdYH[{rrl)Qg)C͗,l$4V6 IPKA^VJo81M|qɟdƯv?wTOthޥR<'ưW~JK$e'5I&MN+tY~'= m7򨸝7#*EWRbeCWM>RA>V9qOjRL پ8%ń l*H ITomڨO J9- ^BA!Z1yP45*V %Y(e8]e\3Ԝt@(G\,v'uu}&+EHZooʜsPG%+; e$CXM02F Q-٬#4aOZ1l-(7ݟ h$N*L%/8%}l}koBT郉k˞2;Ķߪ)kV9gO+wS'B#'MR5]4<:scE!}JиU'ln *AYGA)v2ӛT3[~%CxTtEZ"frii8"P'plىlYйֺZREVEIk-EghERƼc\E:dF y7L!h*H ݔV7ġtr[QQ@Gu#mbT9, kllG'vtVsfͬcf%1;ݑ@Ib0E-n.`) :/g%J""4K`rL`OT`XB@3)òCe$%QU$Q-*Zu܍\mud4o¢[$PF Hפ@Mt3*<Ԍ(tG\C8ٶX}`[nV]hkRou;]E(ۘYgt&m'h%Au*+rSXv Bo;#P!vjwYTo%3+*dLC4fE[ pM7VOV}JJZΆ(>Q Us#Ԭ)J'8.("<*Ho!(c/n)UgF Jq",)Xt*fөXX>M\F7d1Sڊb:"w (@z("k`-G$I]|nu-(q?HW uԟI.#Y dD/H1;(v$ui"Z+w2CNm:d͌qknYݤ Vk[ 'r5ECߨP9wh}֙nW̆*[贒J=̘23:ľ xrKkւ1kQ0|2 L] ׮Z4;^F!ln#xEӵB6AභC+XS1Q4>J)*@OX{}b/[-1(}Bk\[eu&3"!U ˕;e͑o%?TfS^e8rK4RPV&hPBB( <Ҍ@xcX fiEFߩ.+=_wozz#nsC)&1"<~R6;|p҄ MwO7CKXd=ej>PT#RocSU>BeGHsT mT(34dR2qĭ6VBzh 0Xm^;f~@J\9u*X2gIULp&33}rW`<ѕYˊtPP0Wq3?O$=y@WsAuV黵w)r~MPzIsX`+2$\=CM;Bǽŀn;xܗeic ;>A]m,:%C2;f[eqf7y_(Hk!O{ں}yA f ê5&-႒3OOoHהx(H3"z^.#𷴟%0VR/҆_'iǰ:1)u6пO攧0NVmȮ_~K|7wԷ໣mI_*&؂t%PO8YYj~  ( -OF;v .r/V@sDVEGɾ a`W="ep%0H?pl 蚓 bBѤ@,8;E):Yֺ382PRX(9(C&k{&€LȠ7!_' H5KgJ=YV(v "-dWc(j!&ɖ3 (Lā}ƺe1Pt$ {@E}(5&޽TSjaY㵷ewddޅHe-_S :Wt>lVtuQ?M Y|&7եK|(yspbaݸN7Ȝq._/ Н^. &.[^Y\%Ug'fr7& b9ӓGt_ M,a*ZnǵdgƄ}cG_ŋ"j=˿_f|Q-l7"~g %~AL^,X+>s̝IМJIy%#'Eb4ƇlN͌·5`TM*-@R`nؤ0JuLv!SyYvm ?UG>%0?p"aŜ29K[!c=0*X6ݠP0kkmLUpdݍu:x06( |kaSǪF$% st6FVuuk!Ib.!(pJ3x$*:}"Q3&jQ]1#T3Dd߸IHBsNCt|Oay>da?(QFy3F\l$5L1ec+ %+I,m mc>/ gVQدS C( :I^7m-t:<6ka%atlW*K9F55fF x_ AFI/7EYߕnBdf?9ަ\ďw5 xv'62pܽ`:; }S'CkwN-3@1_f9VAӵP@_I}A c k rud J.|Ow%7]ޥwȁk0"3ioһh4i·poWoax rϑjZ9ӧ]t/5,αK5 {|kJPj[6oLB}:W&^1 N ߬ ͵ \Ijw~i*B;fʙ$b^<(wRttLRf.HP.1oܪ .b ߗuLmGxCm\9:F*G`v2eۋq%p%5& [Q&J.R86V4FL{JE^jT;O Y(sn#_\^x RoQTsGF%s0q q0! u ;%bRáHPZb'Y-W%$J2`RX1k+l42 "$/T/\7^gx▾WQb oX'3ZiU6bK0Sae;i:8ݼ[;nɻiJs6{ZDJ++HGb%Zp\#wfSv{bZޑzT'Pۉ Z-'k2ʭm[F8M{8w4h QNJjV) |]dKúzFfqH)! S Er5ka׷iӫ/(Gɧ?C<`JÂGg눼D"-( wY4knhe-+tfQX4IO j9a4mpmhvU㜷rWPY|^yvr6A@} 4([IuiשOm(B3{jqvu GxZMdaA4 ̩Fa,ǂ9b$NF&j}kx{JdZX-@XbQW=Qn 0xMO2gkh]nav23tJUvzgER =`b@ RN/byZq'iyfZ| %Ƿ䐉{lQ )ZNT$)R4u^p@LKJ?Jf\AɣwsPQZ[ NoTˈP6fkr[Ebs4UĆI.<@:hwvJGh^Ae6'Z;Q m҄ޮ0Lڬ&ED8!$/} 0[Ԅqz2)Q>gK$ݤ `1o>^xπ sݕB(ҹG+4Ҿ* CD%UViTQyPE]ʷtT+bYK#"FEX,_)E X5݅aYRpd-='~*եvSF,LY5c[4Eg\t:^+Ń_]p{c)ԧo5)ؗZodnBYK5|bEAB+ Gu0` e%97L\j2^Z]2;YGc7hx. oC$ͼiaYRHhs_Hi~o=cOVmV[&cJ5z7M+Jrvxml}PSf2wcJp#di@9nTyf8=#|RUegƶX VD)ޯ`ֺWHur(YO9n $~;vG*}\W/6M]AV2dh[ΕJ ⦭2cv/|0FPb;luۣAyR5WVp֐!!<ݓfvni_}Hr>OTu[(ea mpӺD7Lv%Ea[w#NzoH9;\\nG8,]öymMDrk5!ïyךA~ %bಋ?dK~Cc{tO0.i4 ,nB?L#1x 2n۞ rjXZ%_ru ,'(揾Br(;c xGxK3+va.8š+E}vRxR&@aX\ }SeȱR5 `ML i )~` by7LzJs (Z3m1dqݳ ʡdm3 :E;Z?[@8ScI5yE珞\q HL, LY,r?ꢸ3ʓqg֫ 0 9boF7<@f|"@nL Y#%MQ'&iTiF`e~/"_^Ǹp4(zٹɿ?O$uiR,JTN)#s3ù+1J/%a@;UmbEFRBqm`+C0zqCWN>'qJ_9jBȍ;˅ =uaF|p`+l/{TZA$[6Q$eP p*R`ےo @~N JHػ :IAM-TjE,s V.H֠nm4Bd;)$n~m!H{62p[]$BD ]x@@&]Wzjf(?M soŒE\okQ EstRRz9kQ( *M^Ĵ]1]r#AJQٖPOgAҭޖΙtoB)9տbN- ;xO2Y-8a!:9J@*_DBЈA+"T_~ҞJQV4e8B#<}nW V),JRIuZ$]B8Egfig,葈<5o r$4WII;ax+n2DUAij#13sW1~7gQ$st/+RmPPٛtr2~Kh?[vCv ]W % YSh:c˙M ,E.fC_l!b&Yu*U8;}l."y04x[I޴Gv$Vy?)1^arr4 Q8@4ԳW oYWV;*Jܱ~mXC{cڡ[iVD 'mxqb\nO.1"^|YMsx2SHlQ t4=MF5:\6~{d85IcH_pJ#jeUD鉌00D^`e<[75z_u# ĨS'ozjaW4, aC3r$rғZ?.O(D'(' _ +#lɟ͢noiCc%k.EN7Ӡ3OQSnxaQ~@e mC۞J r|_9,pbR+r¢oXSR;f@NZj")|ځRi'j&z-[hׅI `q CXW 胩DkE2kdT)$JyܵIJj4rܬ}dP#K?Ai75f򔐃:OYR",t㙇2EͲm!d adnēy7:}Dy n1l-i2e%hL4NɾyEt_Wm;(Qb jаgVS4n?gϽl(-Lla[5˛' c>U;kf4tfZDFuHD hR3)x'tARn՗L 4/ϋyP -1 VCHf}P-*%,xpoˆ } RC)BR)Q%Sf2u GAu9dvsQRxb@(F 1-^y$rānM^ϲ2J;}g8<:}=x}fFarU~ ef{ޭ<1@mt|glusgs<4Ng%( srSV?5cU=ޚ_ X[?O@ekc1iw/{K'ަ{U/+=AuRWfo *@tCd4jtjAP3 N(g(bQ/řj]:^Ŧi\]QUc?AU.;uV9w]?ma2F]VR5 J7;q^c욬15Y(WY>$•)6hC[X: }DіO*&J| ֬ǵOb^ xRw.M&lɦUbYf^¶Q")}8!޷5HV>k]{y7x'ZpQ(~U4\[` 2B{u u͟~t t\` ^eCb0<֒/|,(Lk%ŷ@-ɟ{9:JZM;+/+~x1GVfr9#2[/N,!-+T!Om+ш#!B^hhU,Hb-~>g31\KzƷ*ǛMa^+y/fMſIO<3\7?rf#wȽq?7-^eHWǫM^y)ZlOݢKsżXK? p \ݨ(UZTP/2OhudiG{!dE7`zp_1 }_n./wIHkK 쁏$g%y!Tr>UK@Či8Ϯ\G9Q߳*H#:It~\UMYA֏ [`6Y<jj5m% 6͖B/h 1{}i$eVύ[1);Y/ 5<=C,3 {(v0*q-|9Ǎ c.5tՠ fn f'u>oŏ m']Vp!Y-+JL+ BVPȲΈmx人3m^":nʑ5^(4(ϯ8+;(7xR3PE*xq1m)!]~]`Q]k\ JT@S6,LLh F}SI1yбa4=:?rvl~}ZlRWI:5SO`2"bK4po ZV7i[Z.LTNo\g_ːk QPOsc:H ];8&-|)+ `L0aG +LǰhmQ6,n\*F6bOK d2FHAkx0\jm\ D/n&`KÇGI :f?q|1` 9,bׯ?+͛bI>NL(yS}1GMĚVJ <I!olrffL Dؒ gax}5B.OC%B %_\Iَ$387g&^H -x6Xt?4u_H@/6)_tMfزP J#Ϡ󴚊8AdHgQr&ҧbDp%0)@fܘqe\T͂~_xM >S34_h,e}#"!jWGV@BFh׳DB#0]TzHjzxH&GCP۵acGeL-WPnG>JH184ak@4n??۠1W3̊yq`A9BH䂚N„RzMx<1Qd hHxQX4GODjI'ߛ#ʯrL'ްŴKʶ|ӥ6 ??x9 a 4;yۑh@`VSڜpgA?,.iiп%UMHt_x{hw^]B_U7J9.Oo)w@Y_мybnꝋe5E"yi8qKg"^x%*jV.qخPf G_cP8ehn#"쫓L&۪yʭ:Y&o Zܢ8duk`\$(r̚j j@aRxjsZi55VV^_Cacgה?^C~bh2^vooU!Kf1 5]{V;CB8vQY8`e2UxL%8c= ioKFVGzܱW혵?3A+k n]=2݈(֨ص!=,;*%oP,EpDB=7RP[RpiLd)vE`'#*Q7S10 g6|_ |x[<YJ>>KFʃ`hv~Lq# 3@VGZ'J!!%fr.\v_7d`إE1܀{|Wf4Dl v6K CxxKCƠ} !y2LFb]]GWLC`"++_a9FUZ fhIі2˥i6rq+:1CxFDPvX}-cZx(K7Ք0,R$&3L3j2Ew;,@(ӞS@%pB=:mO*jKD[kHw%ͥ~)B8(Xhv:x'kٞQ]J=O5^.=ϒPuya*_^Hg ŞV&eK @'tuyCLBD >V71+(r]n! ޹*﫺BGw//aHbZ&##V+r}TFn>'o|ޢ7I{\Zy>\ Nt wKz:p,PRFw3_Cpk]BS _̂d=:%iQ{xِzRX㖲o 2 aI$QcwZ疹XOts6=PM+s'vQcHtA1߳p3UN,ucB02(3-dIN!*$j4ZDD}:5 TT nBGw%K%Z~QL X(f1w344^0q*Ĭ@[@6%6{q`QHd^``;AǮf^i&${Y\""MI$f`D]cFm/_xU6h88wQB'6' ToI+keb}APML!2"ii8lXD+\oIi=U ^r&@V"Yp|V ԕCDwɣH A<̃AjjU6 zXYHf1+)b騰&}V_S4tި\zLK\64A!U:? &Ƈ7 ;Bi&"F躡l=K{aoa@9KTT +e_;VX^h`dՒVOHTJ .?+jDm~:;,{/z42]b tP`BU4RhpNMnӶ}lNj&tEbno$D(w]U Ѯ׿07鄄MWR OEAS'XuAq/:޿.YdmT"'80*kOhgeNtJk[ fV()EA| ~lw] 43c#hGTk@m3US\gPYs5ؒv7M!"F+P ǿO(mN p&,=$Z~"gof},XCv{jԸE ,Bi @3L+ *]]X)SFKSn9"Z1JIC+굈I)m.+DFbZ$9R 4NҦl v Tq'>ݬM<,|2bKAޢ\ `?XUl|MJ"P@54а%!uWݐD|M؍=U1Kb$0hP=Ǥ'W.A8mNF|~e0nkJ#,fSh\t /U3y$8]\Vu"/lEt??mP gB[ElU+=e+f,@`B)f JxVxQKuf6tKT*H_LI(>ߣ{BtG̹;wL+Q'n!-T|V^|9 {d.6ĵg#YRK̿z}EǞxe)TGqz~3)GʖPzs"Wl Y0˚dzA&G>u1R %6~kCUƲlbbZ&岎{ze1y Or FT4!~VSrbi SX~3 RJhן4[c-?XRb%^.6~n$H.fjp EQ$[߭aulm׬ߒ=v&*'%^n"92{ z/ɛi-Ki Vh},_寃__ۯHW}\bv (eQAXoax`Mр1ECQt4?u=#^o 0F0L7vU$Aw:;ڔtP=l%^j)£3_N/.ԟ?/e;py=#)/ I9'雈A6pY,QZ2{(1q(jLFvv i\}oWPylǯ^<D~p}=σɋ$xz{9~߉VKgO%0W/_=~}g'sl&'?}~1oPMxY40ތ8,2gx@!2&۩4&w ޛ(wk.adFVxRRDSa>!(@kȾ@H6x7ڤ8dPFD '$xc9K )Gx]95 IW\\9zz˾:Q>PiO"c2R  U\MX&0F`GtV#(GC9v/Js r 7toN1%xtB4P$AΝDS5p7>4 [קsjy*aE2IwC I(45| u:Ö1u՘2ԛ34oNNPo P !7R.>4_Ꮑ>LQ. >ee)`_&]Zg}Zo"m\Y^5nRHS:4oۀn3GSmFy#蘴~#6=gd6w$oh:o #ckt$m<ljGB|Y9uOFWi*rґ 3k?P̄ #k+L+LۖM0*!N`nyi+(]#V ds2BgGѴդI*DJY m? ݤGilz:ۧoo}~ 0vm[mk #2y+DEx<¬F^(((kA[c$UI0AD[dI{"L&oE]J\&Aپ! Uu~@16tR$P{*ZVurSzS=<岨Kmt=_]QL 3:O1*Fs.)x`Zࠡ'pͰ/3ľ ,TZpPz[FkdvhAiĒe,`u] q/`qLR&Xs@;46ѺJ##mzurwYO1)IX쩈5%e|m<~ůW?oO{IqP7&ལ[k'=]]%ig2r48l۝ߝ&eP&@v-4G`?et~0Km8oR}Uit71Oq0#f8VtqcI?yfIL,o86bx̃&ـywͺZeIi[CSm JYVr >y<7EwVL|b PzHj{#@I GXϖ9f~i!qRjDJ(; ?!qaZ#l,>dz ߵڰw7r~s~\^WЍ ldir-CJ mWՆ7}oRʘڿzdk,[j]Tyof E}q"=ȌW:vzEDGu1c>h1b)8$ܽ& ʩf`ɶ1`oqX]nON$GhRYRflaz*\ /OOOFOFd"d܁r \L N |٬-~.y5 =3۱laYl`dr`U^￈E$l{H+}3^Rw%c";ؚ✿lЛo B xX-tSZuWF_ *89u [2 ?FNM,rzL^&/m,(e< F=_O|/q !{B /¯Nm8 ᶣVӆ_E{H61]ǃono~&oo'_l:c ~ Tx59Z VuȻ__j`|m@p!'),9QxPgmwf=u{wh$0 (=<,_@aBJ*_寔͚Mn{X<fEk4Kho~D"#@Ѐ3bOG/1nN%i=xIuZ%b 643=:ޚjtiPhG ;I,/TLu6L#. +WXK?}.<`t,0KDt< g,b;~ٽcXÖ*pv*?n ղu3Rb4gZ6g-{]mM?6mmԆk{1py2,>VƑ2FeK"TDnh m@`C C|C\eC }i񨣃bs`cEUvrb.67r.!WygpyЕNQFS~ױk_QWq)'l2(ʐ:+_}-둟kRV'Q®;z=+~~ -ލqĶsW.K:!X7\N:hvfu \;9HFuwu:Lѿ̨Qu[ -), ˽<95XAEY4E,)bF)'mȉBi4bY+P+U,qzڇ5<[.C\z٣#~%|d?=8Mpr}"ќipōo3Eb1XC7V7O[삿f~v\*v@9C Kc5,\`?&_&a߰ҴNF/a1( ".JCQoŏm\7 !=',o\9XInD*ccڞ S:=ICe)ys 竂+<:"hIXJyCIMr1Kz2UAnH YWۢ,*4e, `\ lЂBAsnNXPO9of~?Ιl2)?QY/Cn6$׹u ȿ2ÓNodf,I6J;_e蛱R%w Sbq^Mza謺"4g Tof~>*"Wl28F^ {wQA ɮ(4 ZL'XZmZԥ Yq]d:3_*PŅ~_[[8Qxֵ/Ce!K)mK(SFœ-x(f] 5{Uap AGΚv Аz\Zr5T- lIM|d5yDy$OB'AgmXx[<ԉj׌<ޚ6 T ʪZŜ^O> HX+a\#3X;p8P@nL$yQ,EA`0S 9vË5t"(=6V>3d&Wc4/A.Wժ'y4 } ͟ SUH05=ɥs\9(i4lMI6O..|U; LA>uJ!غ3Le HMhkZ+10ׂFC-l vDyk_m֩]XNX߯'kWѥ$/yvXqWawF_;o285[ ,N-'V"FDLQB[\|I(/9ٶ\i##33!ˆo$ @_ XK)rE}N̍H@d Z,M$J5DO#Y&KɳƹT̢K[X]pl)ˀ0.&!:A1 YlG=ԭЛ8Pͨ(j14?K3aK^Cΐsb5 u@s.,5ݶqI`SDa+yQ`n؅z֛y]b I)X6- $bs ZeӼ-ҳ9;û HBA4imo*%φ.)V`` th/u@)"@LƄ81B&ٸ% v 80DGse&М|/۶xHNjc /r)ckۥ)Yىȭ,4-bjyO-зHj֥}co7llmĈON-3Ԯ(_CE9!4Vj\Ɗ 6QF+P rC ]ӋK|',Qbts\+B%gk0eQV^oɞ2щQ#`.|9p/J~>ClfqsNFAwim&k( ht%dLtMQ{:!7lXqTpü6 y]I@%+I2ƢTd&= [J1o"{CG~ZbiI3@ID1_i v(GD]Sh ^~5<[wiee9hgBӵK!wL=mQ~yR].ch4tэ+Shyw:Ggbx-oDHFDf0-?C/SrU@xL 1+;rHt)'ϐ6FO~k?1'yOI/AO4c=~N(?WI-Z;[뉖Egf'{7co O a6{ \P)' sVh66eh6u ƃW2q^ZwW Z߀$_ZV&Ӿ"Ms(|cr{)] uߺv PZmV. qI 1M*9}ZU1gag;1oYN&[.uz6w3hZh,uĬG*0aӪp;C}F̠JO_WC㻪|WRmЍ_}ԪşY=]%Wwٟ}`E'l$(?~"dT2ddZ(_M#%uuʰi i6|E 4J,-Y~eyl9f#=,FO((nmzeM,}GPZEq] ?HWI_N Hnl GndGQtmD]ԙHZ'Srjݔ"vx$GXV8*U`U ȟI\aE%zWoN 3ƱCi%esYIP&|Dofk*Vh'a$"yi,iPqmq"FlW؄GkWD;NE /PC8Kde;cjCNdx4#pfhhSxθ"E5濃(pZRnX-E\TܞϙX\0:qД#z'}ȸ;v3Wӊ41`td=+꿊bNymSD3tP=9![u#s)6ewJ84H"%tjv]Vy}NX&;J` G'8b٪[,!^aNŚĎ9oKb e/zǏzYe8Rs'5ր^U+RWVFM{]\H>&K+a**o_-ZarN/O*S]US=:B0:mF]T:\s0 FpPD[61";XSșp]tm[-T:Қ9d6;,>^^MY.–ve阦oF'= Y,,f +ݹPH)&Ǖ;,ocڂT۵|1|Ycq2q;7cwZD-; Hnis4+B?3 \͇a=Cgz܄ R2.-dC#*X@װFQS,gD;xe[ؐOLh(u(T7Oap46q4R#8jDΧM?.)"tMTg ~PP2Z?Q4i/=Slڃ))tl m·s7]vOPl褰zPn[ZD iF"ጂVɱeJ־޹˓oWzQ\ˠKj $mԭ0Uz]AvZt/ $:l|W#V{yNC'$-S':k:{Gb'‹8s E(@g(NEѯQЬ3e*;-č1ր<݂_ <F;h}&!)db5VUG-[՜ӷz8 <Ք!kچ$:V7fvt hF!B 2BLkV5V~H&Ҥ-p"'hKu;S؈0Oۓ)l 'TK QCL d_QkU7JDP,LL -oVÄ'FLNC t,Ż|f?}OamY <Ѓ|vta k!* v"NQ$)KB{㠥u;Ά kq>~6/XV6yj?X@$GL$\RM}gxTό[xlcD70QP YJ<5# ^5U1C|2Vd&A:m}wZ4y J-Yފ TAZìyggĘ`lIԯ٥[y"B n&V11iG\x^6뙸o*# rX 'O-\15aElG,%Q+ʭ]fp.'/EgOEcHYȿrk1]*_1~%#_GF7E^6@MO  iMS(~[#%[Ť;"y yZ5Mu vw,asPv{+BAkBρ Ykٗ1P 2NGe ̂PUjR3Dۚww"?+y* .):Y:9Ϭv̺l]46^XbƯ)EOP0i/Dx ћk " 41Lzӎw0 m{A.F/{lK^VeO*5c_ɓ \߁VYD\SvQ`#iIq{[b~5t37;`p;&Y4XE R*Gƀ%͋@bM^$RQ(}wCݛ0m{ WmFL2n22:^r,@: d.n)nAK%1e1 ưp'U_uJKiag|bnrP72>m%&netx_ >Kiui[q7vAob?IϥAh'-WOfsthYJ9}޳d\JL U(o"oXm4`]^.wrs,nm;UQ (WoV3bEXT^'i `\0طbtU5 [&lYHi!`꯫5PpIB˂p%Ӏаûn\Qz0 n%7%M7DLES7~To8nnZ囹l G-wmӕXEJ #Jj!y i5pU1~"}. F9Iڨu%M' YķJ/1ϙm/&f$>yʄ:v[^3\>Dη<_&P9*@X0 t 6ݷ8^۝>zƺ ȓu+hov0U#%Qa=tHye*flw:bHȳl}L6Ğ$jrg0T~ma:s5,mu hbI@r@ެ,Vw8#}h,cjѵTn[Aw;&+pt7Kfc mCIT:[̥Q (ƣehV+ YR˚^9V4%% LNH:ˋe8vFOF%aWPR#TNg]EkdX, Y(JFgSZr 24TV@@Ƅԙę\zkYPsGݏu5 Q@CumVgV? wGp#{a|ɦ-m[6F|ڔzLV6&l"pӲOj0~g;";VD  ͦV]ia,ގ&w\hf7u#X=WU/rE*2+dnHC3E#BS;ih0J6mE4- p岪ְOw4ꏿ#Jplu #;eƑ693^Ay &8V׋K-fm$fa 2q(%b35vܯGEƅMh>45l<,Ě<{ 9M ]Oǔ@G*s҈4msv} yF.%,~ S D&2:)ՠw98eH"]is&%uv|܆SsX?x#w`.\fТzD؏v;LnVV|Ix)wf.mt#kew9vT29BA""Ai¸ 8y;)BB~7sRbpˍ^VٲkeTn"JU@bQ}"@$68q:px*q ^El!&jC\P2uȤ.f<ȧ%'.98;qNw!S=T4 rKWKB&:*:IӴv ) ?1{ȝ^߄ =]-97IH 1靇QhS̜ dz_n ``Ī2݂2~`ۏ?< P$QT$p貚݀Ɩ%8K~7|ɑ.j*l%c2Eɢd@1߄2KqԄx#I,K '~<!#s3_4W>+ac#W1%*^foz'ebn=wOvoY9[TYww i))65I\m|hlI@ʐA3AC>2mψ﹖L1 6࡜$4ZKͱKL8/?d\@a]:$#So,{< (׸L5zAUo.( -lcqg0>"JP^HLP\ u1zs;@-8m29=%hCnfm;Aj @Gƃ"z*iMm-ifMB -e҆SXe8^fp-4<ˎ,GEg;MƽYdei0i%fdo`;:tQRrV׵ nD_7= nFJeҙuS©{JػݻR,p|kRKx[6%@'5qG4#ei,ҭt!4Jnyk"҆򣈙,v[KqoZiv֦(+8Ȗ uYtu)?y bY$v)u6%x⎇A$}YмE&+=& d DxM<-0VEpIZ'c:, ;.z $q@OB"JOB,/5]=t1vKPMRˤƌб0Xp\.3ܫS(j:6D\_ҩ&ES3Abx(|L Q{so#$_̤Oij(pF길7U\IƓiV l%5d$ -,dC@)"$HL4xraGBVA:@V)LXEd""L]bkW&9c (ts Xui9>ijeikUऎYrv<5I}לd) Ԍ.E=WJ\ Ülji ("_0T\^pD<wY3Pm$7)9V E#/$ а$b22bECQ0ַRB?7uTzS>ݹ怉G][4\R u+? p%DXb0>CYELDjY4ɷ2 pB3tT q֊34d$neL[wFE 6 чG*>PT5x$b9esf)ӧ(Y+m߶#[ƹpcbUweIyܗ%1DURE#e2p=#Sn\씮i}6}pQd30)iIChbG&4HȜ:z^^C[L$|as=J$# ?^+z۠*G˄=+tffij28>e6+_HNHWN ɷ4'1N.S fLM+FE 0S`lQ `:GuBѦH<0 ,ÝtshdNXsm*I4)JZPe3[5Tѻw`0 URTB$^UQE}5pʫ:S>l"_ac5g*ȗS$=eB53V-3֫Rwχ] 0(hVW) Jttƣx_쩀|Tq볩; ^נDEj&mj$zbNsGRKnD-i Ѫ}Iߓ-@ `iI 2@ҪYɼ0O+!+H.h;LU3Fx1$El]lޤZq< =L/2", ~* Mx%Ŗ$$= M?8< )w [Toɼޓ[IZvd&[=} T|Fc.0qCN/vL$k |Aki; M^!_[Z+tBsMZ*z@Dn)V]=xա \C-νH= dn0VOjm-L[hE mB?)IXt+ ZN9Z\gKKuDvȒ+A[ |!MqD~4ɨFX_E0Od^8kiX?6#ec9kte.}!uWL mfg1N&LpIVVp`es2obro ˚gu!ԯwxfX4`3Јm@mf taYqIJ 輋A4m<&Xt;V6\\z{1&{,y):=8Z17ǂ!j^&k!I}02/-lecV,otjɶx,[& PG鰘<,18@(]+6[z..E)^# _9/jٍkM|u0G@ry6jUM#`QXb*6 _7,7 *[זݩgq= r;,HG63 =?I*qQ&8?Ca~)a"#n`1rT,Aީ/΢ }B {pς8k !'[r .hz7ز8ƪv`3f~Asb|]˻ 2Fy^`6(ţ"rsgmX85 !#v!C\0E$B{3Ug!(0 Uk!М[I8s[wR_(4TshH~N9"vҲ<| AsLjHۖRwQ*d1ZOeX6+V,{1jڏIa$"ۮEwVmӌy9gCvS[y7 w \ o9/&KuhFɩ Yz#V zi$`hTS"Zo}Ήm**wQ?%;B>kАDUdF/=dIH+=㰤; f^mADau6@"H$wyمK!XF Pğsc _$*3$d=hx&빔uYX!&mY0޴|bĸ.^>yWecfU}_eX M:"VP@kNiz . H:^cwL.8VNmy2=RZ`P -sa[bwQXg7[۽%!MM nR.\h$E~D?褙;Qjx H"&'Yt.)gFGa'' Ectv `lHp%YN @cq& ~<[_O*h|0 OIVE1TUtYY36\P oXr]S88|ca>hE2>9~zG֗ϫ 4ZY=պgf5|_61_V8\?l9jYe\Os@d}uZduQӛ6A,J_atx +rO_f?F;9&~B?DxWlt 1ӳ38hfG0ůclp9MÎT:gqȍo[o"߯};Go cQ/;6763I={@x4"H?haHG$u+AKBR ;Yh F5Oy Q\o`_srdñgZ^by(k}agHl%"2k'U{ۤ7urCW gXLnx.GbYia WDN؎2ec,tQWh"aEA< +:W4':"9wwWMcĜ@ɱt%H$O13-F~vnY8 (>51~doD `:ʕK_5զ=>|]O#azTb̉ Ȭ?><0ZݺjP / UlbI+5A pv%h^7-c9^ UK-܅@nJRt44xil榦HVb=`Fƅ3@ Q||d%iJy AMIH(7jeGD V۸vq@Alq ֙zNɎVұ%9aҖF[ܵ|H,R@l㿀:/7E]`K~sH0B4@u.l]} /7EXB ~^m֫e.cIq.d>M-EXhr*ϳ{/[0 1qY,R7JĢH ߖP EsUo; 1eu44$Q**z pW{!SuRH[A%9bSW%iP%YD^=l@G YE͘:dJ"*LaB36 \9;szD Pv{HyIƱPt\9CSh#_%XAHQAh~cAu!0(2Fj2_23EsBqSL_ 'ycc{H0KW{AdRTEp6!_&Z[Xnz;#U`|YȬj,_ 4hD2QhX,:&ە |4C6׶yK#tl1bjINۭn!A Tck2֡@U0E^pA p,,c0 uMKi}nP&s؎F#ct95&iO>:r9ϳ64`D66[Q=l|ន'b1^Crs0\{`tK_ VA-U̳Ҹр&N({唖&rVX}O^ cDݽݭ6`.WO-#~̊5~)1 7i07[17P8ĹH(Dt!Gj|{ڭw"0Y>rר΅6ϔz./5zZ'DÙCQ顈`Đر|¨C\2rQ٫M`4KIPXZ-gl".3[fgKbΏY'M2>rៃBF) cyHbgN13A!"u<" d;'cQU3y, uJk0wBt-S3x@6 uRlDޫxXg@cY`' IC=P0uždSxSI` GV:Xn"4 dnɾ9<@nCX 1K[]crtP-Ab)>1JwM[Och_ݹ CGHS7"=!`kOPv&md"H/cNp.!8ULv%eKyKkdP̅"9H`s%+ӡ js('K51ǫes+8iexS10 lRY"%WcOO6p o}ջUe@r,iUW AVn^ڄ6PYUC#?)ֳpb2Ndyaؠ1FnH g2ofM3{$̟NB ! pAGI3 Ģ1Zx>?z =jvjZ 2>_4޻sݖ+ ?;iEx st` 2Xva=ڬn1-h_"^.uOΗGbڹ/խHO5E rKYZ Dm_cp˘|E&E:`Jc^i轺ATK|I:h&Ul܃J2$D놺N0%=K++3&j1BR02-1scWHUsk(V@^W䒾%?(~/֥_Ua%vN:P$,&K1xݯWhIG$!c#,;V{X- R r}xJ2{v6Jm< YFM:Z4{ʽc^Y2׷8~ꇳ]Zut "GcC7*6윛e/JPvQ>jIDuIr.V٬h(}vP0]'9<̓Lׇjs9zD,}s@v,A~Z J7`?G *F3hm~d^I+Io+FJJ}i0Ha4sԳKj `d~t쓅N5P?e>VZ'qDyhgFnڷ=]>uRR4xd^R&´:0`o/.ɗg@WA e3p.AI^. %/no%TUT= J6lU*[ְU8ڰŝ-$](zi,#Q4@2BThdB ֶ ,mpb'N>QѼŋ~1OtP'hyT|F6m\; HinDvچSKu+CN²y8N|c R,١pBo%Z2"%*Y^O `iʯQHd^/=|MeMQ]ʎ?It=(5p.9C:K=Pi*D6):R!õ 怗巟Dp #極M4' {2#ް5EhD*u6W pU_fa'%dKC+ (@QUj" vD)|4እ$K.I `a5l#kFGdm5ZDžh`!q6|g5M/L[2mci IQռLc4_zv :gl&'d^!_ E d2Mz=D~L7NXwxeJtP!oy"aBSqk8+" k),pI-yz9]'KuH& bW)Hʋ{nS94Uz@a 48 #qXήׁV  X;T狿Z(~܎ݑD+5JS91 4aWr_wD D=bGa|sIlp4I I&bk`_T(cwrA\5 ]A'6uMϷխ]Ϭ}'} Ɗ]'иƅwvk`=UOt[,b2 |)YP} d&TAĂ-, nWwh^EL&[]a#_6|wm qЍDmSռViiGˤބPC[/_*1YEǺ|+#J㇋v3tLڵ]ܕYFsd*D4GH|<}cʷ>TK:pe*U|)Q2nצyrEgWfCmU9:6޷iVpol9['WeW[}Qp+w!(]loһu>BaϦTGANlvv1<"yeD-2Bᮩgj|sxD-\@CJ?KoF\4X󅸠jrXA~2&*͌Us أ顡,+ph J-lg(1Ec+e893;NM:[ fwTsm?߯,.8Pϵ5](?׿A4?>G}ϾGo6aGqa_#3b n2T^*y6{/ FC8"V ֽEuWIo4۷Pzj}%կ5]WWlOzMou7l+^VΏuS\vF\EރkU~9L-{o.} UY 7".5Ck$ Nzy=Ѡw, ƽjMk58u3D0=`ta,8^T+LMe"mr (٫o^~z{ n*sSZ{>|Uٷ^&٫zz{?ճ'?~?_ {9``_.2&+5NWU 6yo٪́eެZ{簑lYW4G #Wq+.{eĽ U=z[޳r6{*G}^qxhT%?Fx0~4clÏkǡZV2}na{p&Ŀ?a_60G Űo%?AX `eUzB7[PT@0R65Go~kuwN@khlUs櫒~eՕu\KhܯJ˿n_lkfB5*x0 +&NpѺt@dP"|[ -F4X}Bnr0Ͳ]O*ut{Q.$m.z*UNx s%^I"0,u!($Ɵ}~!0.(qhHF7k=>OC%9"Yd%'Gln&AuhnsLQ`pPѤ{I\)3'({/k bJňfFɬpֻ |mdev[FW ]B[+uӵ4 K\qk`4 b4UJ=Fq Kފ v1uh3%zFÇ%KE(q-L+nޗ~:g$zTVRh;%f=:nmw%n;D8UslmB t|Ȩw-``C:@1C>4Qn0]EReH>9{r3u wZ`slTA'Bv)|CXxeDOWWaJEzڭPdV߹B+c|kt fz yz݋k!"(gwb ׇѰ\\B7 L1: .$탇(3Oʼnx\MsJI2<;ESe#_bh\bpB)FT N)?5$8 ˀJfC8X@9w*'xެ_, a#n ;.ރ9q-ɝt5[jˬ:_b.XY lY~c{Q^!G/od߽}n'1Ү)h"M )\3 jJ$ dA#tFiȺgYf=zo4٧jJ䲎C`_\eV:Wm[YP\Uz]yb [*CYЃ7xwc|'}S]FQl.BfzsLe5[e;x-WEDY K(хUnH%:?lբ}߳\6"  u290)]@ak_HA!$ @2eeY5 ^pNCB4ּzHӢɢ`V ] CCZxG+Nϻƿ %dKvեpU(k8U`8W_}}[%Vw!5P~]* tJÅ`k-Iƈ0 vx~@y@IB *9ڡ$lނ4%Q$c*x zŜ1?vKyQ@([Vcxasw j4z ?qp ׏c"dh\8n{Xlkf8Q..e +^M, ,LT$.sH4g* Wt+$m$@d(<=x'p:|~>J&_'ׯy}zgU ^d91J-0͐No'R7 e9寻Nz+g{-NP!S1}75$GL!q_W(Kޖ-n G2`N(ȸV)jMVS~gsI3%Dxȡ}kp%pE3T#K}>a[*??2͝#h3t)cgyp22>R5f*Crl@˛UO9pYm qqj·.B0}33 !9l7 Ñ$РEC 桽>>tyO"./ʹ+RrME U$ <3ʢ(iQ(4[-`%GQ4\}H}sYʻbIl.i!NY"unOs]aALRITҲVi1Sb$5qapVȗwm!m )wq0 A"+K@ րU;758pY oAb4l?Bjкb Z : ,\dB3]&X<9 3/ߗ3wx~By5yl~_!&&k6@SW5"v@DXe^:gH2ě;!P"KλwmwϴfE05)MT;']džcH;GFfxY~3j ?4#|[̯VA7'XKdc] HG*1 EFf Ҁ72EC\YkքY\Ų6CVr2K-t]$7h+zk1ye\ [5qt.X5 Jוۿ28Up" Ҁw\l4$WKFE!$l^ ?m`OҜQ6w=;GaYKF=<5hG/g';t#5R _og\Tr4*m-He^՞<Օmw4od$Q@}N `Z\<7{`dthqKX:`)fĝBL%xP%H9 yX:F\5l݃17S\X dnc]'v 7h=m1I%wxD áJCX{ ߊZ:RѼ9XKZx F4IK;8O7ҚđcG|ONF0LblѰğTw?^.:uqt{uj$q[{K>{>ru2 wD4oӾ`lѵ`++m @]{ ~N 7;_﮽T>ԁA2,Om${fSW] OOvb:|B mm_WoDži}")'M3)G<+İ֍0bduWoj/'.Ph M÷ Nj\2[jT>qSҌRjUk"N#E+nZ"(2;+^V-!uD ϥEGC"2$(՛()xX\ڤeql\EP0|y*88>AqC5ضQ 8EkN chOa(׃ Hi$2.*s̈́vh'=@B"1ЏyD];82mH=wb:9 _%ޅ+,tsXxP՚;=wn@Es6Ԥc6O^"o1ʦ褒-,ɰ00!.܃wM}9Sw(x-{!|0^e0AL8+ض(lbN(^,$p!6 65) ֌򢭱b87RB7BG>؜GR.^W4k@ hfR\2RFͮ꺨5 r Ncڽ dDç%r3]jCA5 b״UwͲ2+qĂG,㊹=N $7OácȭzjS'@/6SV^4 #G:[iNE)r"aQgTBum@C4'$5)7PURѡ6SՈTcwF3%ۨ}7l̊a"Mj@+p؅2TUv_.Ou -% *4''nAAA [>GAju0Vxs<XjWㇰw@}Ѕ'M3\N\^|0 nyyM Urr{Sp6=|.jӘat?1<4:_o<~K&h~}H{n0R%ů;O?̍/o!g$J ~`0 GIM$Y/D^ M+\朕k6`[|$cfW&W7gCa-!u$ʛÒ-^/I4hB;|Lk&hE)m3:7F֛I磑l\Tcțy^B]tO,Sd0"f(^jIN[^9wݯ!\?!õMdDO \xx7bMoe@,C*{'iTK-r,^BElm gEl r.JEg!!"|h.%d墠P,A`q%A*N޿'=pĥ=>yFWeV[G\^^˞$|95p]j<-|ꝰUr90F4=0 `݈9"ym`H{y-#OI0,G[櫯fg s A7nOBiu] +Zw@g"£iyhD\{}LOD209~v|T˩9BGd5Ej؏>bo΀Wnn0ܡIyIIaঐQxK]#6\4-ܘrh0=]E<u!\($V< 5k _tTP [D_;ynޣѯpţG>IK7 `"+}g݁񝢫 O??6U~.P$^]eYڼGlo'SVw dT8\hL+_uY_UAw*wB cZ_Η'wMPe~}"C|y_w K-]>рzE8྅q]_TQF1D2.E@:@ {!H~mrJ΁L~ͨ*PK$U,jzs:lNIgpI\I(s2XcÏJ̜ScDzO^1 0A]W( Cs*.E`SER`S0R炻!YMkY_ ?"J:xO _  \dV)halAhH KSVl;,}hC1y-|VgVR~qt{c(My/g, K+B g!6b$95/ӯ}gl-/83~Ռ3XPxciy|Sc$J= U5NAӀ#ooEbK-ϧ_% ̈L8)>LB]5`<z3 +Nv-T\۫rQ0ΧU#1 @i 4u] {7\ּnܷnD8,!$026afl9?d{<5JvgMY r P$wu.oymEB4R ?aK=3MF 1d|+ T \du1HFI|`(8ޡb}{i5mQ0==\WU)ϗE}#P"'-Jԛ%{12 -*4<z(ù`6]j yְkZYqbD$gA3mMv[d{It ykoo{=oQ ayAhP&MA+![ %&|vgv NK4;H W oKԖr8\P`FJ;+ E+p R{O{]/8h™u wkWz(ms q;e5!g0HyC"S"/-o1<͖K eΡcQkc$P9Ӭ&Gʆ/_e Y<^I ʧ}φNm:$<:0Ƭ3_COEB!\%qyl$+|qQ7iGӧlfaZ) "ZUTHѮp {Mu7$`t'БDV7imGLU뻉8eT{ÏI|ÀLjTMd)?i+&c{iɜw>85%@$ I- }b!C&E$ZP:qړ}`QԹ4uv=YU>ũ5+j`v,RPa;΍6|Z_;ߠB 7A*3$?Kii ?rH͎| W|DkP"YUGfOPbf4(;"PC!{iP`V@2~^:Ե۩o@qح$0|KG[ AANm]"Kw1Y)^M(yَbn᫛.YD1fRV}JS.mUl}ߴfKFS쒯lϪ-o\9w%]c]l3̯EmL*lcG3ͳvP{y?1;n#o9po;oKj:^VؗTb4Ο$T t-Ye daBH!XFklVby͏P#gQA181f4B=cå UBj&` *$Ⰸ ~S3/ōU T2U+qv}2USثTsGIn¥Pcx ?.;keK #S\L>}Sys_p2>.?&Hl>U~|hm0NyPxۀu̯skS~ NlUX\bEԠtyP:jmv\1)Bʔ@'_̶$BQ >dI=w7Ee7lNu<[|dj -(da׵{\^zbT/nװ5;HiL !tXIW J-9Pwކ^yK IqfĐ`H2ȫñ;C>~?t0ퟄo__h[oҡa^\Nڢ;n=)pI~RC d{rև~*z"$␁ ՚G^< g}+uInB>p r=Rc#uG+dS:k+(9=MDFG90|1xv}|1VY$ bѼ] ? -K;h*_tY]Wq{{Y+e?c'%m=}<ݱ#=3)zCxc{܅# })nq [S.ks23uk(m)4Rp Q`\܀셭U_)94MMQ +:!A20sm+ً0\"a3 5ap@9ªl5ZX-Z/QSdwxoGXbB |< A Wm2';ՓoF1#N;4e5f*{A UYzr`ou'?z ~'"D/1yb97Z5KH/nUdCKJԆFttxoD]9MXxnkD@õaS:4#7,J@LÝd:01J꺘(!_Eˑ*)/%J,7י$cPJ'x[ﰋ\=Gy6 8*CBiMvsT^."w!PQ+b/BK.(ۈnkI'tUkALkin'vGF~ ??+0sݭOgW]3<'>fh O4nL_a?[ 6KnaRHW޴ncX> ?@j]gd3?FZ W`4r;X5wh+]1K ]1ˍ53xѾY8!}ѢF& OΙ&}M2S:v8F*XS,/ :H%afb-$cl)7T@3osqB;X0?:@Ȁf2}ӪTKkJ_D.&lZHٚ ՟NcM^NaU@ne%9.&$(O4 dN<:Rb*?f5E,9ne+-awV np0?H̥ ՞g\؁6o\lr,{jE!^Ќ/"ZB+B{S;IQȧ:R!NH}zEwUx#jtظ67AأFfs2J '1ak;Ҩ\)GVkx[nTٺ$F͉Gw>|#X䋅z!߯x{/9[idK4%z9Ѷu(d|._-}$*L {) 8K})x`m~H\LB2S\C>Z/~|~+Tp- ]wH̗PtfFW5d IIAb݃lFNoAzW9n|Ȓ8tuBb#ۣl-Rϲ2YgϷuYl Ђ"ۊz]Ul' _>DCP,@iBs=577k7K@=Nͯ.}O6~}Go6Iozڍῃ_ _#_+v ?~L#d*X)sнY՜)PB߾V{ko ٍym\50^؞_3[?n~&U=8_$7}f75d}'|Uk~ t&^(OZM4@T(.ü^ǰn0P hKK_}zZ βr}ULeU/>¿S S&?Pb9,7o_~Ak^oL_+WV~e<,!Y=;w @~ ZP6doU&-mW:]P{{헗 o BüSUQ9uVvy뿦7e=髓o>~_͏[eo}2)Ut? 0T^=پX뿦PpܺH`xN_߽ig}?w뭷#K hat@+Sݠ0wjwe:{с$/KUu<8^<E'hp-f8]6GGE,#/}Oꛟ]  fݯ'o_~ï'?[~*Wo ~.':Ugֈjlfp}]nҀt-^_74FI\0A>9δOrC"]#23f q Tڻ,S>md_q4]e N^"!S}r Hf%q}%lQ*w| ̟N)Ͽ`n69(+ʇ#J՝+٤z>|BǞ㗏p?LvolmӦYlIirRPe Gfh̬-a &~8s@rynmɃ,K,9qV԰x#,0?TofChvA7|e\j_K' ma7贑 dc9ȟf7`h7|C4P H`pO;dѾ ϳA/?)+Ayr'cxM9 oPsgeW1]MrB.al1j: L8;2.ym6 ~p"O/6O(\YU}Fk\`ѥi#؂X+~@yT$iq/ KrՒxk&s[W@bO{23!x/sXdmXb 9pw^YLxrRǼ1Y`Bţ=|P@E%#*}hZU[|kRޞh53;^FBA%OQ2 !pKg$H"rԜt5c>|{m:??TOjEk;DzCVVH;\0ic  a$>Gz7PsF9E|*mcg*f@ޓ>/9q>dKu@ڎz?}S*86{7b*\d;y7Is)\Bu:67tKYkTCr V( 캒 q+OJv5[!yO5ɠ11 +3~OI(:"5ykq{mnb ,W Cݾx-Z{)'57m4jc}H PFx W+ǎؗKư+g@9vi}ɑrPU^0RF/A">c⏯ڑ",YcYrZ_$eQZO+hB>.7aq䭷doH ν+k,97C+3J s lL8 U 4sC֠&#ˆ oVu\ME 9ɲE}MrZX&<#lO!NoB %y@&f-'\O/Sjp;?.O;~=)3zÑxұtwvnNgf5qkQ{: $l{\D2Opr10O@qv \?}'HPB5oƿy]dzC֐ͥ.ެl1b@ }#LS2ځ̍(m6akPeAVC%[5+Oᕡ# ~P@ j˱%E՗c8Wc-yiPgy3~7 =`RGdH|Ud{9#*X q @/hO?1cs U6V ԢVx\'fUbAe*)]Qtʨ|GU9W[€*-ǐnL{ޠmzvla4иVz٢OlQ4>5}6+k៣ [hFK:o}r&>XR|4-!V¶憓*=lvbZ2VR;h|(17=N\^Rig"|frF<-{;A{Wr!aב|ϔq_uy ?wâ4iEG60VPA~A;oϽ}vPvd#VPkab!Y} r?J$S OH?GhDo)N +agGTVyyW_6ecN(cJFHKu G?~k47s)&2Ҹ\Wߠ'd5|CbyW 7qK?n/#h <2\}Y7ZN+f)?^/YIJ?/AFo9LU1ݚc׭Du):uZ VAE XvL}~.2?+c-a)nOКKMouJzm rlycɽ!皣~]z:R97Mrk^ 2Pnxev;;y KC8yO:xKҰVnyA!NnS'aCgɎB/|}e9Cٵ@&PZD+]u͍dfs\{^ G#e*6`ۉ۞O擀go(o}*uL} ~ z]4ȝ$C-6^qzY/ILv2{%Izsd?ƢMaah1A >Q*!'M:п߅aƝ^I4nIQЯ%hA޵nu}0VMOp_[+ev>8{/Va B~+N$z 663p0Q`<ן7~BOuMt8Ŗ%:,zI.g|Kg _Ѐ:$ 8>GUߵ¦7+SS j^L'6:]N.yB%&QAŴDW~]< aigު l;F^cMy;-Ӵ>J1"i>+F_^au~Tr$I#,2(%?ޓ>Nȝ #R$K GE)?JhKjQR/XxĽQ~͕x?%[Srsݻy~s_Pqɟ|kfc%~5ΚVVOWMV/rG˦5ҧת?udyX^/z]Meh7D@U;uǑ׊ᵚQHQ{$cG-۞oerDѩ.$-xZPl]O^I4W8oY#R~u^_` v4Kɘ L"9,/ࣼ4X\FM)hm. [HsAD Ҧ zs n*.afimƬ|y=j@\s dc@|yw7{__(x(+6`U?sޏЅ{{($2!:~;fi+&0ڰ\.ꋂsec`>&UL €w$ȵ|i Reӛf+WMTyQG#1L/BjPN2YbC@Ҽ%kVIeZRйvz=BސkM_t/}iȿnml^ٻrm~ۻٽc#rG@>|_׾^?d<-eҷR8IWqx}e:HÕk;;2\_^_G`{WvW{CGY6-"~# ZIV,!SG?pnq: kwGVRC<$=W:*~Vʪʏ1dR+fͺi=."[oݹuu{w߽v5:{շv_w\:9O*/TK!i?;{?p__EY[(A7琀|vw퇻+WvZdǝü&?OϊvセgH>YQVlgNι{W]G}woU=v'_Sׇ^\C}_j?E+o\su~DywkwPƯ^ݹ{k{{׮WDv$[_Mup=A>aޅa [}mkwkΆS~4Ċ{U+g ~V{ٌRfٴYqn Wg+ߓmՊ-Wvm]Y 3QzWw;kY#7˿jp_o/]7+Wn-Ws}W] w5ҙ'00c_57Uy5^y}DPڣ^ߺrn_O_w^g5dZ6Ü [Vi8d{{vvmȿ{uo}y׮] ؿ¿5f R5gwW_;V}(>;[Wѫ?A[f믌&g{#g?؃~7AbT/nVO忇?xvǯ?_#tytժPg|s+{;W],_1n>9G^uk{{ۨ7l3aöeGVAcHan~:NUeUFy>^8f?Ow]AE=wFϿ][ׯ^vmxuWxf 7f;K@MNfNzvi_p+߹@.?]i`d ~V_?uR&**8kN2|r}māo_{YVnhCthQY-TfS.`*0i3uTP'Cz_Q:Ki<|g><%d?*dYq^=^ I:B^x{ SQ,_ ~Eb׶z-!-oTs\5]+O#ЧϚÏ__y{?+ndg"Wiyv>ܹ~}ogwul~~zK^O_oe=n%Xe?2Yqg"{-/H_A(gܿ|wd5{ {[׮ZpW5u8 m]۽`+{W!ٿǦ>E_o8UE49ʕ4n(:֘M6&ѭz+׆9f:X|6m0jlwT9|Uw: ~.s|Ri'la.woa(y~;}tǪ7vݿ~M}eڵWHVe{-ٿ͗GmߏýYWc۷_\V/2έY@Wv&Q~m yWtn@ `f 7Jw}<\W_W_?W7o?ۿտ_$_{z_}xg.1ve:^+y_7_~}rxjnw^'3y~>&޳sNߔ+}q?+ow^o*ŷsz2FP>oW2v4COENP@;ٽdܽz~ru=uwk:([/n_y6W3m}.䴗?n6d9^ lml~vx{(ÃWSVU㼾*;~+&5~uu}B׮5*_k;=?=? qWyoӆ d?nC`oGe_֧xqv'uzvR(*x'ݫ׶(ogj⳻wm+<ׇϻ5_] S\ݿ]Vch?q~'_gu叓Ͽ?W o_¤ݽlJìJPEPRT/_QYyӿ/ӿ?_US|:+;(a}kD _Qя&E+ƿnGN fK?+-ϒm*Z#.WrqȪy^֭[>}; 8|g2ϋ{,yPN٭Mx[gˣYI}V7<)"gL1L;qVIS&43m2auV|7g<< W|L#Y$GbLM=X" %H-`GqYeɸP`%ϼ̙qאV6r95|zAr:SlstEe$`9#=M:@n3`c7sDmdI" -0_8G 0QV+Ii/+n&'2Ws8;w49 OlV.p˰U?Ө*\ɴY3& B&+8K0>:J_[ $ӧIBt|b@!ؿZGx:|x%aSJYc`.5 0)qBlD~- {/+&4>#:kx >%\ ;7ø%<//I9D@x6z "Ur (5Zv.' Q zF|@:|$-HJE#L 2p֒1gD} u?++dٟ#¯딸[#Ww8sv9uP2itF<+U@JD,0hS,r HiqV];B4)SSQ .KBZovY2F 9Ғ v<+ǂ-rQ e_DΔu{ 6܇&D"hb|Qh#}|b F$aE 7e ZA42I)TVu:2Uyv$p9KAHhA:D ?̆zm x5+\$=kA(;!Z̗*\@LY6F}BD\&sFor"͛kUKz"|قsF5եCQd@gq>8ƪL E =2QY 3bd^Ӵ{yWU' P %Ԍ$Z06*6L6Ae9O#iC>@: kh0h:EʰIyѰ#Q,bQ|=%3U2dFC7S($~ 4*w2aEv:734z県RSY1Z|D#ω2+k o/,)u*n"Ŧ}![/Y8 M٬h! =zZ5/ @;A@*!D|;h9gDj <]c  +FtY 6Y(X)TzYq0CDř"] w,$tO)Ƈ<6cf!ƴ}-Bn[z74yI>m ^rd$zue5 t@9l2#'WjC D+K`פ{du&8UD<`WVlA0[ʝ.^Bt?8X}y穭8~$N&{|a@F[ol ^\3gm}SA0 t$$\?[+A,%RL )~8韶p6"edl$~HQ,ox}qwc<&*`"+E-Zl 5GlT~邴XL04Dc(Ev/&2VUoMjǀі>§LY{ 6{ΐ\-if#$Ԏla$Xh&@*̮mɁ0L Hf@qC:xo96*1dT>tp?aBtAfH4Z{!faLg_m|Җ`b823|X%|Z8"7r$w@G&}:Fߦ!% = ̬0x{EG0x}L {V]4&&s,n 5&y!;FgbaX؝yDr.ݽ}QԍWg^2Ox<ꘂx)00% C0bhT ʡ*P("n3q ZW0u!1sp2Fٕ<|VeSse( "š7<6dq]u5T0ZQ1K+tN ҒWfva&]haanc3&)QfLp佹H83dXZǍ8Z\fbf7J[Ռb75p<-]y ="4Z4/7UIA'D.8Ϗ8NQBxQTI]uD=d8@_'tH`./A FR@B3ဵ @1EG g1tY%! |eqaxn/|#OFwB压.!=vŊ!#A T\7L9CLxcRqʄ84%8z:D jAC9^.V:}oF-G .G&+Fc 1vJ2,Ƴ|Av[[0}, 9gT1q:[f - S 29AEB~4񰻈Kz7K=C$p ,Fϝ/-gt:8<8Q!z k"ۜX~ o9ƓQIWkD^M>JI\"eDC,' >0s!:afE3bV/QA"6}²߲)%Z9IU.HТ5!iWC{g^DnN]|9U)߰!xtdlbt ` ֝)iwiV6ØIR+xFȑP ب?AO=[dZXK^fab#u9o6Ƕls (wѪ=˲PI#*Q#a!E۸A0qvg>32GX/T9{F3 cWm;XJ)1dC?r#$gY [VYf}dV&.S"ʱPP1 Phkz[A!ző!"3(-@PoBv0clՋZ(_ӓ4G0Ae,ib/ C( |;PyvZ:qg6 ⵛ g&C4}'YYs~ˊuř3Ƌ/.[W\Ǻ,q&(5~˰ P_^H_gyn@;AJod;Clf)k 5ZAPaGM:t(MS1y) y7nC !}Cxa_pJ_S.>[0Yb* +ۨ*jc>P!Xb+Z[ksʟą($v!|₦Ǩ 3eFf$cN.;h,l)\vTX䞟i+E^~E]";&ƌOGS ֽPk1w8Eoh4D:o v4ȋ<C#L2ؗqk1R\9jh$yW.] 7t <VkC mѣG֟G7DEgzA̦d`r-bd%G1_JR}44b S,±\p(988JH6ǵX`UHo)!K$&XKV8+Ւt|1~  _?rx{KO8{W}qj%Sk6 z(Йc-'..ؙD1Tt gI'+ٙ,0Fw~=w7.H^jBV?c[(…PYv89#1,gú)ZJpOtDtZ 6J@3w|'ͨHQBZQ.7?Q L.Ma BTqZUGXsbV0 aZ#נ*lfC+"GQ͢'V"Mg!\p-{2PGܷr:{w\BStl4^#1V,DJ\׸xTJx\"6q2݀iה JeypV *eLQa$FbyF'DSu_>gAPJ1 .A*Zmț]hG|ZEoh^0$68&4\gg\C4ߐ.b#(s3" Kc,WtwSjE"Kz:hS\A/`p=LDq(c fٺ'U9I H!h2B9뾋7Ly bc=T5K@ؚt;+O<\V#TJ`vN{=|tbi Z:"W9p"wV)NYkD CH6<ڦUE\ީaƯsWQzHd1EmTͣiy u\DNk|}ІkE$06|CM3ob#j g4=[ixr͋:$uwLsAE>ʉEG*[_IaocͮXC&Dvv/Z?P%v(JXmNTX7hDfyI#RJwתx)Į-#JG T)hv2 WO:lVREq*@IhWvw!"sNYnJe1#nJPWa*{m%vp1;]puʅ*Oy_J,rq(Gg,i@o/?Z5n(Ӻ&,c%TIRul̥DDTb"sV!4(ds$b&ܙUccƅܩA8IҒ[:E"ĐTWNtnt1`#/ydfsB(@(H=p^snu+E:pz~(˲w? )(&C6T'\ 5|^͞f$ubְv}bP+DҢ'7rs~%'դntYl`v4+Mg~Fa`Uz_=T~&LqECe4)8ǛUl:z6Q/p:> H`CV*5}ꘛx\1h>މ6K)F%3(>I"n3P`oOlEzW%U.q~A,qz"HخmM(vӻ(C_dɫP}F")E/ Wylf .ۗČOlh8Aܭ;].Q)4.c^cze'h.Ëkkmeq.HF'|Ԙ\}q>BSOJm]@*iQ2˙MeSln+Vk2KWXo'Z];Biu W;c(J:դ'K2 z LYNdL1 qc@R;S*E.ݹQc"e+1H3_0ؑpYZםOSjJ2?syu vh|$NPah6B T.AT? iF=k` ZY\ƳlU#҅71 {lyzSl|̙D,~l> oВ(gzar>*|f|UEʼ|߻ؑ}sT(%[T`'T] Ufsde]l|.[6?(։NP4U'zsX rvɺy`hJ4Gkge3W#3pIsI*x!w-^/xcj @;] [&hKi"U I'[`L<y9pn Y6Ow֌ L.V$a rITA u4h%86zX(awQ==\l$jw1aYKƑkv|NooW&ND~H`gO*$}7LzƲ4+ <"ưiO|G7|3Wk~퐅)z}NnݺR.7$SYhY@I45b$@I6;gY OCs\$b&ً.G58c.U z_8𷅾*b`PqjWLQ\p[ uv(z^nNm(W7Èbb fAR7ClH#4pܮ۫ڪn)@-0-{Obi mtu+ZUKSI+[<0F&ZhG?K.l#mrN(jӒFFfrMoT\%a@eTD g6`p.l;Ůa7nN7spgk 3}{\%Fs%:FIDR05}_Q,kTАK,]& _JXo]k>lW8 W0}DlݩAͧsgJIT:W}}XFܰ43Q: { yثYC!(rRm Db0j+ ~4q2.]? $;Yy3Zz!J!|JBF›m>>I9I%d*m˩D%igkDCWp$&,J6cZҢǍ~7 l?㻻\%V'-$5"#DKeku25+޴{!b*v} ;]<}ВFVĤt4~j݌V7Q-zN-2 [%-u3~'ei9!!ceeVSj/0*{#VI5 E8yY`wY1Bd(vX˞Z|٪7 2Ir~)CJs:5Ca]vi W&iĊ 녣*5a15R= a3HDk ޻w9brT㡷Vg]Bem5X'ӟچ2lXm)E/ҴNc",w=!]L9pHmM&au#êʡm[ 6:+ LZfevok:{8tr2,r9%dh{k趦LR5n`Z* v]V/{Uù3fZʍ:eLY$3RQRjMS* kT'f%.Ék@C GDMR茗 IU/2{vatPrk 7ZQ,*nފEjTNΨpĪXsZ1 9W2\%s v.'ڥs\Ude+=@'7-ѡ>WW-VHfpQ¾X $6u(AwKFfhpT?A턼[o9NqۂNU鳭%\C}5(g~rSrϫi}KkS4̰! !q@ײץFXZ{żֆkEkj 8IוdUbE5,\b'ſDjcylׄ9Yi G/vAsyMKiΩ-JNw9o7s%g` %h2{B6`BzZ;Iy/< d'V6(UQZ8>#$A${a\9J[ aI*=v(.>>΁~'ھ YEE#aI-$xaj3țJmaHą s V3R =.̟LdaeyWi|ƦE8V-ad׊&` 7DZd@F*N\p>1svRmܭ.5=/>8l  j>&^:SZZST`lѠM+.A=$ Dsלē?n9b5b[%ap< nժLϹzZ^{P# s^5L.E0D %ncX.6ǚe&&Vl ' w.EDސtBCEc7.2M~sФ퍣#Wi*7 tq paŐ?*ɷ5eb]IҗʦJ!^*tI01 {h ].\v!bdztERM#P-`RP#_6Xܩ#[WB y+mX%<رGrjUppgKFY">>?Lh$q>'fc|ۋuIyDF>I>Uǰi=;sQЕ"R;qP9vΜX/9. :ϵk(^<)T%LU[TA5!j |FSUjҽyE,'+?Ξv&{ Y4fD s7 rAJz٪I$rz8,$e9Ch0rgU `SI+5MmBK{vD$u!TWCtd?bVR:JIzUCCP~&@tsH--1:پ|Nr{k:#ЮN=":q!D.WG"AZ$EW~Cbpla/Op$*ͤ&4ȻxD"2-S[Jbujx?WU؎E%G l1(~wH ;>q#QQu3q'rĵV4q91}"UQ`8~FQ?p} 55uH,_Wاvm"RN4V[?rFa TiT':U=<^6qvd4no:B7!8H$a񏵛v@PvLj zlw=M): 3hޥʙ(7&F!gZOHh8 T4 R!*Brm6LKz>iز'>VJ8Mk:n+4@-QٍuhG(AdŽBɄntҴi767^5t #0g.%нۗYu)6/`#'omx-,ߡ6/氍xa+L jmr?f X5dnSv,}-ǰ&9@GU5UVdB{HV۵љQ?Ȁ[.==.R ӧl"afxkB9p*til)ZtL\{]!sxGDx]$)"}'S䵷^Qh﹮er/q쑇c^֍^AWHX$;#;ػ mr\ҳιwdBDYWB+ǀ(erlZ'nqﺦ|R1AUA1:Dy0ΫruƢ}9`J %ʇ}Vv55J'ZK{ wҫk:p&h:JXOݑ_#tMh;Y|}]:p3o!ƭ* QD>+t`(&so_rPa 4l$E:4اQH;ʫeKw"oI/ȭ+]UTkRX9R YKÊ]^w%Ӽ3RRkXPIP~%9WP:A=W)A>GkSX.T bO)`˞2I!ȏse?ǒ @eSM (t3OH3@  8^!+l^p!q<(=ªHX۝HG +J{e>2#57K ̵ug/p0~T뢴*iyDaVDEٱsN TP*, ˒u0kD+=P ɼB#aX:juZժE}sgAMzV ,pe½/ҍ'|9O9%)& a˴,atC#ػ<ÆLhEo3:q?h fܢ\UT0^lr=1kQ _+p#ӿ[:xU;B] 4&f@nQ X]F9㖬ˢPAv:, -p sR- -p%Y$ 3/:`Sǁ"nH4 =o{:Shÿ< 2LCr6ǚH(ӒPPY9yib{t92_ ɨW—OxH0h`.`R|pz%hH@ BJc0B [W;3J'":9KTo!t=XTHs!z5H[u_pVMI gM!=>Du1Em437h'q* PLСZk[ѽ5Lh tx6q-r!eDbxP>(*ĜH(+:_qN{oomosw\ggRK^6}L(ֆhL adX8rVV l >UZ9E7Ԏ<\! `v]j|rKYav}qj9>̞,md@bn2 :m9~K2v5 ^g< ́c;Yւʹ,CfԷS>k¹ ft:e5[ AM AK^1a /@ChrkDB9ـ&R{7kD$u3t{ 2uY`T.s>U'QxC-\7V2LP2;Mt dbT*-R&L8~AH;xfR1͎BCu BdƩ-|8p 9v'DΧ]=jPm( tKqlJӂ l:<@{ +7v"鱏ȴNHâ62nꮉzrMr]^)nE.GHƥ'#,:e(,[=Νb=FiXZ-k2%"3&efY^Q{E)7 Q+ ˑBlWXqֱ0_L!'<Lg717X>ۘ Gf.^;(7>cՊqu@b>+YX+>,KAgzi둗:\ރ vBG_,Sd +r7p|+u  ]Dn̠?{B!i+!$ZVy&3c*;ね*6e<CT&ɲL$ ^a֭;xAom.![U c0zZ`&VVNSybQ- {BqH8%M`.1pʱxu ;&ԸOPfCHnt$ |s]gaG1r < M%|VKTo#pVa'iH d:ptKc܏m8upmY!Cf-fc^aM@a=Ա B|fm#>JV#7D&b` ZUe-9H5l>4P20I'H< Ѣ 2^Cgq|XA ,Oe;9.Q:]1B#;DA6C=d%AqS SݼrǙac^IȏJF{-bbLvVSSϗ!~5pC"a]끫6`( ƋR3)LhmN|?+| Kq"d#s`6>%6|JtIȯs5Le8D#z( 4 {R|F'Y+yI^ r[dtTɴ"Ԁ=2@uV@\ty7蘞PJUzd.t)d*YdRʂ]ΜoJI@C-{{נ3NI_PHC"HQE-k5}}&5K#I)IcG[QސE,-RU-%hwġju-gM5kYj@`4c ob3A1R. KZ?Ībqs5nvU |$,; ba3<#4uB eI;[bi$Rk^Ivܪp"uҽۅIvfF$Qv޶x[Z M LѲ_L \ۗYE8˪-ZR@##Ya#ID&,ۡ =# ՙB^P2TتZuP9WHj/fg8vLOTRe.'٬QyбB"כM.NTgBcf|EPqS~ t=,\BIV }elH B%!m/3#aK?ߕNɆxLMEH@W4Pi,Tw ?|h% 6oNû꿴9ʕ+o\;W^ݺoo]N^ VKH+U#.tP*CSL cFZb͊ar7G~ $n0c2=4?>r{&O xpY1viH WtY?]žA$Vb")A`)Exj-y4 jM$jwr}pXwb OR^,8ʧ Vz :C>=h&ոػU4i11HN@P<]~<%C2.TL ?&zդ.Dr7hwIZ39et=țc@{Pu pw [h'z\ᩛf\ pQcjTYi ~UFX#!/ "yxm%  X#kƒYQ<âM^}&F{9"r^MNe~`$'_rF2.D xe |r{ V ,S"EM@1#HMM'>GdRzX.z7= oNWVK|{[W'b] \a|zNa5/Y`8!qhN ef0 wFRFATrU4psgG{$Dyr- 7+D>tI;JUiS,Xٗ83u8Z3NF'?~[t',2POe=j6 U{I|ןf3618Cb .gȸGhV0- TgBhA|S`ҪRgyRE LU6|LEb s|6>qoG&دjAN0˧'b(,ԏjF5i?%w-AƃN6*6~pHFOOGV#$XS[:- =sKhpqƂ5Ѫ,sn;zG TMm.G(})y.܂>|u/a R{*oC=)_>Cb|vdD(G!6Qm--HHc@I`e'QBL'~材΢?=! ^*!\EW2>Fzbtr xt+HxҚS,z:`&ng|JJ#DJ0,z bY~~nKu}|Pu =aj@l6I. ܃a($ +z)|2-1!Z |>J$,(Grm־(M#feOL{2qk('vk>'7T邸rҊJnd>O@]*DT.ϑdhm̿D3Ҫ]_NǩCАN 4"%_0GV#Z^(3<ei #׌BtO'tK2W1n"S !Jqy p XT>.%šK6*`=O#v- .; +43wNh@J+c785Q\zbpLo7}$@Hxp`#(^',Fx箖w@/ zk#wak"HI&B"[]_[jWMq'% v6b`蒤Z͌䷧vtÆԢͳ`E3ۈ ۢo]Nׅs\+d,i'xTKAGMJ6FuRXC_ejۂ,+TR`=@لt+ qM4,ĝt٨w~ZrM"=4鬖}:2_Ù'fF>.%S8fiR*r f @ ZP鿢"THݢ?3Ug+̡o.dcUՖ\^y+9IJ1@8!+"^g<2!tY`D Uo`SA`uA!@$vrB"D5*o.-T>!HDh ݈4Kei5"ٵ%R[~Kz-<@jaiu«=_Q)", 5aA0G\ pK,+gC:B钱j=CX.w?˅B~3_D̒{eqeC҅;XS1)H wXg5Xx~I{ee (Kgf+! p j7' $P= ҫ'\Qw{ALL4t |d4k\-! EΉvpXI'_$IZ icƎ  KA_uCn'F>2;d=B8.;Yݱ?UV5E0Vrq#OlR]2ׂ>.6:[^ sa4PzITu=d`SEB DY$} awV[ ۘX"$eR/n,v1_:y%tA;X:/MNz*=9fAtRSsoAe V# gd̝ nZCe"u[P9Gc|D>,k 2^ E}e7%c^7Q\6̓(oc!6$OH$hBxsc KOarf7գ {<S9xDYiXzJL4;a5jo:ϬVP܋\yt @Qwnp6sCw524' N21 5'ѢXFQ!&p0b {JCH2)Xf%F}]z2#`Ɗ۝8Ntӝ\3-^O9Y< -KSdr'gy?^.p"P>d&q ϛe rWY8z>_ƝRDYa)L ''0U༬+ƲI:Dع瓼֪Kɼ*9?cXyLƞu1Bt\TXBoE8 T5< _jOE'jԇ*ӌ"ggBI 7ihB.~v 9u|8Dš9XFd+@Нpjpucú\FcI$|K m0GG²:-)V>aF#CeKzXʧvV ?]H/&"S``:sV lYM*yFfڋw'g0mt^ Il/]"6GIEV"Md㌭ɃLFPQW/@@J ihC;tZzS66$=.{ C%.[.yd7Yf<"1@ޡ1AİS+ZD8h:&:K(ktơ9P:TX܇DWDD`Qg ]߈혝a^VmӁ0ݩO_(SD$ڈwxLdo=@aX~:L Qx:#ԫ箒͞my !!LD@7v'Ql=ֱhO䋅s\:X*G;e Hp 5{Bo;»T_Sљ5ETro d +~k)Se\]@F`E*,)JQ܈ {CVz68tcd)aQ>;XBH0;Nr bM/#79~p >U8eXEwP2dWxH i0 T|?IL&RScOʵ{y* HI;u[ABu<Q*d+bWu*eծ&RܾK4"g]nHO MgFϊ08\MǤ-1V#`"Pl6:nd)$wc#U7|dON@#K z`,aNΨ苝 "nϿ)G3tZ=n5V\DjF0JHޞJI=V?]g$t~SI&g"6z5rDyH.r֛5)Ui'yXZaܸaVs$. Z ϊ>72ԷXE(9eNRyNj `&eDD"HJDr0Py:_1+Wi %e\&r鸼{VB%QN2OܑJ_fp.zcJˬ9m}L?]tX%Z#[`cmRVg /ڕ2TOi=2qE {LNv-T%СCV>@LqT˓fYI:8sLZi>k4wuOL/-·#VmaZJBL GƜ1vo|U~5HN lޚkޘ4V7=s9 X2;Mc(]bR^<(Y bd4{wyNqp B<W2DЭwY(I9ʊ8}ə?Hp 9?vlD[FqWk$Y)E"b=M˾ L]7ɊpPRj2jgt׻so70;k@VS8B!Xǃؾ9jVypүO Ly*E:;Vipј+^[ZDoY#͢jJ_&z".z44h0#$c5{OAIN |, RcY.-\Ո8H$E Yv氭YTAHD.FiqɳMBݡ€L y?UCM)u5BZJ(u!'s4Y6+_ WX*qNy8]}X+h腖)/<ٳ߂suK B5c>8L"WgࢪE ՜  ơ{xeQ$0NBde酎7e[l3}F1=ի$]H4N%`UaPLɫcJq@ ${!R sP(/p-U\+D{W,U8f)iRsB&$ѸhIhsC{zFSHlٝ%'-P|qA5IF:SgXxPϨ0H;Ӓ0 Ĝ%m#Bk/*uNVb;UZ7r*`62)1>>bol"C#,##wfj8af-ɻҙ$VY/t!Jt)ը#8eqI<\\f\U=͖ZK> %uqY2Drl%?zmj"S`QEIR\5>l0YT NZ^r&()\\ |󰢁FX~4?/+B. lP`X@",;;90pƖ(O&I {XMyRRHL:^\| J J y)[l2V`E+[%Hc )FGF*tx+p6Y%9Fh|%B(m?4`{Nϱ.N|m@L~Ԓ.Q/l 8P5}nﱾ Q1cFTa@+P~VOq.dҰf&z xph&I[ ,coٸ[/4>Wnw,Ч~5MO2 Ĭch)椢”A;I5QΨ @d.F8|[d{WWZoGw wZae- VeLop)+cwN[5&f#io i $57ۓ+L8Yv׮:I+7R}*(߹mKGҊwsp[(3 W,BݬM;}[B@g{ NtLҧcF9&Y.O")=`FaN'} ʎӁFUx-:8Ѥ68Z`Ym,%ʇL.PU9ؗFZW`^j|t#u4 $ j4! f~-=\FCjQ׹cZ,jՖd][SUeZ]z 7?0u$r 6r\G4np|!FfVR$RQ[4t&rA(j!$g ?Uؼ[~x&|?~,?*ÖAT}{B}m˺u3ɐ˦в3YRVG ݷtw6?/G9 Sn,79;$ _B\*yؖx 2w5ϷSz8s\n3/@]]U4R]~;fP];BhS`yC* fZ$,%e$zL cia/CJMfg+HKKrA> 9 ,&L& W1 $\D] q"uG.E(rmcԴb謇[&@I84Vkf5OɌ%+`{jכb/ ^]f09dVnyϙdtgaѺ >:Oc82tcjA1jYU ⎵hT%em,.jI{U 8F"Yy}՞x5'JHռ?% Q Ne6NKH$f"f5]Vˎ9[)] bHVfv9)$7-Zִ9z`4es' ojԨUPsҒ-= sxgu$C) <}#`ɘ+&[tw9}aԡ\$e djgbnR׮Z$-!bFL%[/#r ]l̽!M~LI|Վ(^Ju萦d;bEn( :h VG6:_ hEi#*M#ObħF6ZŝLKA~b'OJ&>*r7) C;EF;|; SS|:=OMJk8cw7?(\bMUt 7Sgbga #. kw܃+$o(տеp=;qK/Sz)]W V cCotAkĪOUܼ35لRp}S :f Vױ;NJꍭ/S((^@eD. i/"-ˉYn2-*#fK˄ֶV\afs4kIu/Cjo9ɰg¶;lj-/Xp'JIxr磔JPVqx[*ˏ3kVP``^ ڃMDvw]1g}DbcX"DO+\&d#Gh>ÓKC]NRh`$CP%8%:Ҷ(J&KG3>Սb"hsqgsBz[C r7)ȇMbkR25LaЙ  /‚(4mGӋҤx}}hE Jn6S/?(HxQ\r4z n֔0  ڠ,/~ϖg~m]W\ܻn}qQ_?ΆVi"-C-w1Ri?+ 7 ` tCY8̢e%4 0fҾ?n& W+u{sZcʍ${k8.(?A`Br!ǘkI:Kσp|u'>X7BQZ?:-l03xM[X#K(%%fYm?0!$ ȗn0/FhU$)vnw0^&^Xz'}?-l69k!Bdd'h*8#s[fQqQNZ$h?MSdp ihEJQƌ'.NtYhLK_K:Dapĝ4XHUce]Xv;Gtġ{Ai2>-ε@6dH?!Gb:U؎iIWFt_OW⠣/=PΫWj.u tʣI2%fJ`Xwp?K[!9RʯC^xPcBA ^u32܁Ep fu:of>1:#Nm +8*T Rsr븪-aӸ J5 L#Fmd{1+I:׭ `#j;t%#P"S^l+4"6a4ȅՀ FzZ(rA 4Z'LrA:fU7EG(8cK9-fU9n9L.+_.0ja:^,b1t4;}+ :`ȸ}ݯESwMQ5> tP1zd 6)S'ǵV _/AoE9=wfUo}LLT*K2-gG$N#%s&+1QGZk]BO:7"m KM)hsRX{mgHC s*`I >*ГCS4/u*fi^T9[,EOzlmحV`A'悡0A [v{m&}AIv Be9^nTX|XO3l mܮcah2 3\`ͻh4B8˞)7O+0UF/t9 ۃao:qjOۍ`HP73.øv͟bWkl8dsΒ!~Mr;Y%_JRwê$,J?3LfιyN7G%#\w. &i&S#t.{=XMDI, u} \HUzwZAOMHΉa;X<{<(vՓ Q(2p=̾,0Z7hE[og=f`H@dRx zQN\e$A0Jk]ߖja uِP˞, u.Oy+5Zp"eBp,)-gv^ĎHv4kE{r(/LӃ7q&t';@o e1&9?RCS|ʰ6޻e y~K)I]3c W)#YRF K76NL  nGڍҺo4qf"AyϚM1Q'RnFa U Z5y3F{!k(ɇa ] tj53pԷ@ 8ap7s#c8stalK,+,0KSAE(uqIO o /ƍFkS",%-̉P%$촾q`9z,$].Eic{8&m]Le19"w-`x:tnbzHB S+M d _)PL3bQ\с ќL<jGE<.?m_7j/S #HughmLLb.0uuvIL]mJ$@Ƚb0Jp,_ E0ڈ%PB9~:lW(Gf'M0ꯠ7=h㥠R𤷑?>iG8K-2ѽ5~|sMyYi{H6] qQtEEtZ,*iL0ebca# wVya*փ[P,Xz6i2 $`I7U(JDf9ǘBFIjdf Gk մ]>DlIuo mi9'IOb'D{hcUF8;_:YQʭ.B))\*vpGJ\3=2(Vz<4܀0\*.0*8\̆SWDkn-ndiU\ 2%7lMAaE)<uaiOiϑS!nݮuרp?Y eZY-MàZ[C⌜}ctpZ(].{꣜lkXfot18{MA "$F{Km7ˉ4 Áv,̦R&g;Dnz 2|z${Ay`nw[`ajً:o|Mhs6a }Ji_\ڂ=v< TdUlOOe\x.վ]4Y`yK|kt54nD/6gh͊O9ĸU}pCcN^Xo@»C۹=7}Ea$j$[TcLU46}n3[酉k/ôf/6j) Q"s`@4e;G*IUu擓AbhbkQ%[*ǫ_Qxn6dOõ4j!YO% 5lVvB+s480 N"%Ze ok 6ty5p5$y0/L/R4]䉝(㘫0Xx5DiM>:xZö.uF _Y|{¥^4LxHg2~\ϵ}nGRwmhixgnQ5{^`ȟW(BO^ ~ 0b7W-Vak2c<,jjhɍlV ޿]s`i;g*Fdo–^fr~q.3=,IX)rY6QYΚ|A7^E$N/{5p1=QT P,,|=2r;H/͹b Wv_w#GOOƴPN>(Xƙ>GӽrhF1t@0\/Q=[hԂ{ArˊzLCe Y*]k3i7b(Cݴu%o2؄SFW_m)鐸n[Q*7Ph;H"bh0;buh:'J縫eبȮ-Oda[Јz#rz?V J.}>6XxfHwx&28 N$Ņ8 &VFŹpt}{k+5]KT)]2%nUy;21HPz,ȇ]T+"kux[vedvvD>;"$@F0N2PÊD":5`7 ]q!SpWAbx>˨BdP5v tmsZ(x$6i~;G# wzC7N#h9+TV뼡&kEm|CƿΡQVYKhaQr{"GsC. Zs:WLi.Uh> yNyx)or-0 {>?jXg2c4Z>.8R=Iy)BhgLE[q&$u빜]^l3=As9#d7Vi\LY߱#$K}!yD)h&mG-[q£(E-?~HBKp} )XF3hpAHN}i3Nq[/:KM5+?"|Դ\/E{KSk_2V%!9(YEp>h]clw8\YSrulȽv[e̕s8߫A+k<&ڂnayK ,H};+uϱɋ"}_טM/):/a6_6IfRx(_k$|&=m+ڛjXI]/3B_,rT4YU~Wx N}v18\#,VJbб'˷q,<7WdH[!aac2a=&=dnQ#)'P a*b+QY<5UM: ܨcjXmfEln>O1/4(~a`8ΌOdoV䭏LV)˾X U Jdm@p *'3nGet q1 B ]O`O-eמǶxoEVmb =$-]mhn,]?ڿ1~40 &2pP7w&eNqU**XAg "=eZP~KX~+ {Q}- ٹV:&ki _ ^/HYrh29#0ȵo*'RT=^h@|<9M ,ܝ{ UԚ"+4q h_]/$45ܟ'Q aD72lrp"M]ʽl~@F ]{ȯq5BڋC1^R2 p&oQ&ჿt.PO"{[ h2R~'TѳْIK&܊h^ʶ+m) ;0P=F'="J?ϻ/e$ΌY>w9oRB)ݪkj ^ݤՉDNΪO0#E$;Emw cyhRddh4bLgjQ *d8pnMTG #c&'#opJFƴvh'A P^EA07^d'…HrH&)zΥU2kI\M_BƉwyq(!E\r_TX~%ЂƌA( 6H-(JM)Ǡ 0cV͞r,n|-te~̇}@!~?g\\ zEK9Ɉ Gk:iw_bbxح>b.ǥ듐y\ w≄1.^ߜEg zKBXI5Mr+MkӦY\LC7iLgY uZD ᙯz-cm@ z:g }~8o۷6w-,N6A=2N[MKt6-)Oh,@%*Z'5(= L43EֶXW㨓ߔĢSOf456ߡ|HiUCy'Sn r8 M3m2h&Jj \ET$ 0{w8+_k%,KqҘvpȴ\Fփ+Oɀ'S߸3..Inq(eρBr& OB0(fC;,=/HP"cd>QBH9c8e|2ز`bȹȬ[8L I,h&7vHkl3+ Tr{QPJ/.x otnz<>WRzMQZր7}4d3}C:ԊI%oa)ଅ Z6Q0 vuo plr(ӚL^C?<8rD²LϹR\db> 2=bYX^'ZS™wA PWV:2{[[o]NU0hF7ɬU1 kF Ok9'pA<alD\6B" -O峿`9F p%Ud,iWܿԒNVtViZuOSAMfYV8 sK5kpA(y:#23&sڸF4~+]ݝf`h*<*%>[%/t8/~hQ_xӳA" 45fԮ䉭I>=ӳP8j5lx 챉mJK n_R%;ѨJ@8WP򿜂r "K3pI;n /*ƥ!GeU#v 8Rp9[ߤ=_` uw{ JJx S©-Yg Wl̚LJ(Cm2}2ǍOrN#wU{/qq3! Įulٔ[J"-lA ׈~e9he1`U 8\b_U2d b\̣L9PG|U̟_b|/)ԧ+[Cgo|F؉{x#I+q=kwAuN[O~O|4Ǣ*]\c2XEjfb,5OQ3dMgב`,hgYov38+vOO?5:'@&c>4& 9ZK!J+G͈p1,lg2*=h"#mH{m+Xxqy6hwu[,/=C",.t@_P`g DwѶM(`BEi[g#Lf8˘$۞1Jp!)w9m[~Aϲ ?[VV=':M9h[E&`y|[Gˎ@M?/]NlQ!&YQx&Ԛf .Akdq>]Td:Љ251e{mw1F9=Hi‫Kgv06t&d .N]975eL8+wd"% 8a"AZR]Cy'`_W_Fߝ_R2f4tr1x[K'ٔn˨XeE^ `S,yTm-#P 9̭JEGЛ(=CN3JGh="κ\?F6EBJ]'Ɗ&-)qf|';^3 [5|l i7xB'bh6k*8:#[GlcSxHi!huVi Z҂Q5ίeC[- Xc㎸e^ժ]. c>2h ;q=N!|_bt/fe:xxN"s/+<HX*  }҂ Γiy=.ިA7,1J>0hXYF>L~ChZf^^S 3ϱ$M8q}erPD Z5̈́~ޓz I1X~D{@@l 4߬_hcF4Ib sqi@rdw6X Vpڨ+Ӂ-Ff$;M÷`&_/9tx;XƙC\B#0L`"<;j4CQ."c %3Gȋhapwh7)M=xB@+L lD3g!2og qB /UhʙI\y12%*uo:bHr!;by!&XXZ`bK(#'o'X^lW',aɪVT{ #(a>ZM]M)v.6[N4G~:'Y.+@E&&ŀ^%%,UtL (roȌߤWb,w'PBfupVM,LN&$b}$qcBG@"9wӥ%HotYL'Kg\ /3bl#UWJ0i>*vqX1}p,:3&}L:ԣŊ891m,e#dAweeʍ\`d[DCT[7/I/gIJ|VEVRp^#D?^{u0%\0Ӻ+Ue*(=*pd9je7lAeƠrF4Oa(c&t^#3\LCJjӞXBB֋p:&J"p7^+p]6Kjpe0P{QI `+;C`뛐d?:kU XL&XRڕXA!=7I9XBDO#$ s3:aELJ|>hl Ab-s4-z pXb2cE0ƒ>^! хN@b`{13*vHeK.L{i$j>ߢ1~>Ғl=d?D%ۅ%HXdeɌKcO6gR,oF*;&haߠ搂 #=aˢWK'?8GgZ"ڐh l\,pQ+eKKS@f YD9~E*G.I%HJzGPG}4}b 鄆&P'F 9Y )S~n7.P6Lx^S,ۈ!.d@m]i ކ_wE($Q-a1@1ys22Q? zxg A8e/g[Wt,Ƹ)'-Uq(E~1.ۗ9]xqnB#?}u_fOƳ%1}xR9,po_jjv.oXy/bxsx=p+gr?F qP#ҺSRB7n3Qaȃ?Wq-yzgLp*\ 'i`r7X5щ9E^}DfNٔY.hYiOT M<'+ a]U+ 0#`T$`\# M<M$4" `/x>-Ed֨9=Zu=,\\4VיI؋r%<9n Wz (B~  ה.z#|9:)h1a?9ldw3 zV8..K1rh)Pu7 2~ 860nM0V%t$5YL^^zu'M:;%N0 f.Ac'F6)u.a˧iąj CmCG*ԧݲdV+݁ #x?KiN'l9X1kh0_@*H<|.{įEZa@kߦO602EX [,(q YρXVz}[ [2F نN&T10Z!x0]cWa%ĕ1Gt7հN20Bڳyb\M9Tb&^6o?]RT2q!X&+[xQt+rMM-~@;V v<Ai(e(ZdSt |I,^iu8HwsGOsO\-o'Q#iRWTaI )@5%0BI3q~åQ}uR4+`')҂KN]vT:2,Eٵ<>щ\qPOٲ%-|; ~p)t)F%~v5$m8Ư@|RBQЏJ,HcP%0[JI?UB0v2 < (AΒHi>fR} e=0%p"x^mJ|V7jW:$b&D*8F8qBqrO+ j4Yܷu"]XjM:Kt{EFn_]Bfø;a_o5Npl7_BL,c% juHbkjF]":RP>BD| ~KO;Ɋs0easKIBv=nN ;i. 49 ޫH\"y?)g=tR 9۩ddQdV&2AU"ԡzK+mĕiw|FarAfIp ɗȉC{("^ZԚ^VOĦ?B;:?JqeژIצv&D k\{kϏk^ &M Qug(=9ʕ+o\;W^ݺoß;K[%6)_\?Ÿ[Ir8\dy-W_&: ra?}M9^25T9Zyu].u+h= K]8_({OV`߄3B#qnHH9^&oAEUr|և gϟe 'St0kVl 0ɘo,s}g#*>4.AMx$rwAC2PE{a"FP0i*Z9]=2aM^ɱQAvPyHDN@ plw2̃"`({l1Ъ4" 3U _)혃 ܅g#+R=9@-Q {H$㚙!G(%+ qg#Xc[pyZT"uLBV :Ϙ+.Ҙ x*MJGDwrْI$3?"楃gCzDJi<1TArB 5!rl{T!}0fsI &Í%.tXOlXI71tAy #%}W:b{\m4+nP8YfU%bf.8hJ+[:vm%{f jFco }=u @YEVWe<{g:B])ae}X~#F.rS/]ZSu%MQD P܎OKnd~PLKKSB[c֍WA˸4 PHug3m?\{ eAJN;&[,î#y!j-Zʇe7` sEOTK E@$\wag#uOZU̲+xgRS"|`bLzvSgs<(eS bx=8)PnwQ̮Ԝ-"_)FlF*DڃbR:-l:7A@!Msq_v\LX_4sAVu oPc'ha{zw!z`AW[,ˁgK:.3wv7=T/EO. Lfo 2 38x5,Db&6yk$$@b#Xﯙyqj!3=3g{@,@sE::V;#]P 8+]I-eB.؊i@XgK9/O2fe\m*zUHGpCDgD ukغ`~`@,#mT"l,]49+uv!.rrƇ\[z~cGሓɓ pJA\22h7$+8#*FV'M!jSQIghCO!0[jy$iDrC>a"v]u>`zCPeCya4uy?8jPƂσlm}OJHFrC)8ؙM]ʳF!e@үAVs;6X.d{h7v=@NItX({z)/+<o$)G1ʂ#|`rF Qq=enjr4,>FK蘌ۿ-N5/kq.B5w5ip)j;Y .\iKQirҫyl+H&mԪR)Y{Ye%DY%7!Y..]7g_NTLp| mH%nPb4UUkB9w_W-@9 X߬:pxors\zǗԱ/)$=t3:beT`‰!S)}-/FՆ~4[({NC"kյǡ(D_%pvz:Eѵm'nbR43q $6fkGz]K8x_0)$FzRĭo%5t;;ιa 4Oe&=ND9*F=;;R եXxF@m0 bA% ]f*d>+ZǑM9&jU/]-ɥ\A%Xߋ̾/i]L; 48бJ6N~®iQL"~,z%]:t7QhTlD0k9mŝm$/-ԇ-E\ \JJ5q;V?` "A zݬ,,rIcl.#e 29MjH8$3JjXB< R;}WdײDԂ°DK ^&ϳyLlӮ^hgV6 s*5%,zf_˅&|=X)1$d=A#gh*w*i/\2Un.y.Kfձ>+~3)5”6֕G%d i #h1f"+c)쮞<. >e7$ f,{L] ^;%JGrU@r|~z- `|]n!~ѝeo{@'|hk.K)HGY$gsvdC;h L;GjrzUd`JIB[a`/M?IjKP.VHGXJ1fܤ:;zxKCxZW \(KY1.=c TyQ\NQ$eM[ >dw{ԡ1o6ZN8i# vRBv 3Hأ& }OKDZH/]d&=i(W'9sÿ`ɽ'wѧ_O㿞a׷e7R1RCTy5ZDg1z 1̈́]ɝv͔&me$BP4I[@vIfO."d48َ Ժ ƤwղW% >D $B9غϦnQIyFe4-yv[tj>#> :m tֽmWO\.M6\7*c);lmĨn=iU~I<8 U[4A5C˪5$AKs/~ y\eu5Bw#Ͱ,XZӖYsSj[Cm9>yWlwx(!MYvO%yXťȖbt ikhtz &m*,ENi&C3vX~%jk\oU59ؿO@3f33<7)p^F-Jn\BqBO/NR@o.ȏ% '֖ȶrO7-,3B^-WeWR4RStBtYgv0eY, LQ եly} Rd=_UYأV 5!`QJ_6Il*(`D/j*zHXĪ4{@]siwT"l6DLrF%9 clYAUfuu'YW'KA[KLI͛Dp;wU qV.֞p<[ YxΑc"y8;"|GˑBzbp3i!((ɲR۵~M.1<=3TP*J =2;hZ K8w3QĒM6_r<½ m:ro7o'tjr]F]֢Fcrӂ! {=8oqI7tjX!a{g߱=鳖`^n'nk_&Aκ(r>]0mJhf& W@,'|nW3L մцuB6ѝIT^bQn4QCHE7suq[-'-|R9 4Ve|N3U}IT'3#z$*E3ޡu,o%?XNTK8*Gj V5Mw3mt/`wCdL"t['-DI+X-5ʴx'lEE̓Vyp9!f8&@}*Խ?pHZtkђ-#G WY;eF c7;9O2,{Q DYa{&vwP$l R'yսA+SHfԶGV,vbioue%nR:Ş-VKmYjKluw9Ss"*ـ%@)7#XѰߘ,-eIKXj,Rۤ{}vBpփ`8r o(͑2h}ȱ1)^|%L W,rC!(!_? !3 2n6vzM^ l.⠤U K}gh/'BB9mmT<AQb rP.yCP]lמF B8+;9FWW3q++ȞR#$5; D|[L(\_x^H/~PGiv IkF?Z{?XbA~kb~avǐlUQ%[+߹}[WYyG %/6Zё)~ƍ7.3U.8j6)؀3!@شhCN\RaB&=֭WJxyCȡ֥P+&rBw͊7'1UZWWkMjY7I走:bIbH'(ܷ\K/L bo LM9P4]зP.ce53]g& 1 `I{PӖri_9$y-N Js6r_M' /G_Pdan*-مi[l~" rS2O:qKu[R*{"2Ywtzo_ȫ>nf6rVuO؅FS+J$ 8hWBC!{~ue>LW;,B7X3si$s>u&'b"n[<.&G9L~ C#c,Q՗#k|sHX] &a]#}` \g9UxNJmW֬:@=ݽF 6T6u.q!ě&*)N]CS<5֙ _'Yj!InBsd/ LVn1^@0oº3+PZoƖ`}5 [ lm|Ĩ%32dz?zD1L@znHWf Hsg8~ez)YA#ݐ?uG8%`E3%-sɺ_&E?i.sn?fYRrTh^oR h_ n 4y0FQ<ODP Зl˫;jȇ}[mPc[QR<M/u6`ߔ2LѫcCc M .뿂J#jdzepB͠'Pt7d43Gʹ " Hec#QBƁZFT~ m[FYoH \Wb鸡?oΧ3BST L%=%' N|K M! b %;M|^=C1O)v[fWy i;77 MF[ݚv2dVL=Z SʄWL|o܃5cLGqƢ."Mб~^}(I-[FQy'W:qfz" FvŠeLf%"Cf]*}ɴؾy`P:%;^ ixբBuid5;P(~z=?4Gz3m0fqM jJ^yBwݣpdi_cY&;Yk5Z&':Qkp҄9P5U1dkU#ⳝ|28 7' |Sn%k] ?žnavvJSXpwNhɪvasLk6>%#mb1H2P1|,[|4qLj0JX(\8&nkyF:ePwOż^v|,c\woRꣲN U))Uc| ܧ0ϡf7=ңׇܤ'k쾓& v bL] .$U{1PQJ*n6YN[R3Sʅcjh;O; Miypi1sv# nO8Vj'#N8Qũ& e5iZ)ô?:Fް=7z%8&K1-Z~b"u3/LK^'l[zY03.B.vI_%D6Unp2OK KBD^/nZ+i\>ˣ6dnr mIi@ IaCZٹ.0 hD]HO;F !g(fW<[JoNNq{ۉܝ|E9,z"7 8 %;?KO%ׂ//U;P@m39@<$d4\RKgk[qY ǃ4wV5#ʯ =1iֹ`tbQ1´ 蒣|i'YE¸G"op7k]#hnO%9?AFij`xϥ \{(P_q,ے\碏#=Ml-t0a3{h Z2%3ݭұj1Wd/E6WCEW #&tPסW#\'1erA +XlY2ɸ~%V}ֺx$ +xv/糎)\VuW#/d]Ix964aӇz#JD&`l7OD1sm*)U;/uX-m"clVlьoqBFn4F 2kڵ[jzە׋;-{MnίZ `h:• m+ 來0=յ{$$pߎZk{f }%PFVz➅]f=g922IrJl'ѹoMPӡ4(~{9ծUJGeN Bɝ>,?m4}C91~3V2Z痌aK^3͙"gX伣^ya$"[@{ 7A#@JҝzEqQɯ#nnC5 غvMQ٠ݢ/LbQ'$1g3;#26&+Hh%oR&lv@>RU#~t._֖7bmrR)>aKups֠0lcGzr/ qMݱQ!% e'_h,3{aaf}*(BjV;*(rl//m~мEw8} |`#8ܴ%Mu ؎;|gt$@Ba[¡gA(aۿ GE ppRU(>F6pLܱ plf ΃%5N$,jH&&!`42+o0")mfR[d]6nClgh p{;I͕`qAi[2SLt#E_(uN8GYĄK~R,>.9/3p#(8:Tӱq0\*bH$>nOݣ"8 OKT6)q׃rZkM­1LQ\.ՋFF\$tGuM6{cZd$4_qpD|.L2<5*-qΦrCBNl9:vM*8*p k4"Ŝ562PrO/᪖%i/)-d f(C΋j'{wb&,QT(P)ۅN&'\X?3Ҟ] $]I@.2TZlПYY%w),x4fѼ^5=#A03t[`ps@ q$ |MAޒ~5hd؅Ʌ$yj\Xew*]齲 tFRATX>Z/i@b^lj#fwKiG_ſK'+b4DqUrC~grS~/N6o% pXҲ8D=0+75_"bvhN3fK΍j`@d{,Wwvai2:w֮ehOaz`\K ~U *=諰{75J{U~׈'}X[㈱ԢgN$dk*Dttm]*79 gEftFݞ:uUk܊y=m͔󌋔y7e`Ba"$&/lưY-pBi(܎}-K9׃?3a7KpQtiyч4xu07vr:eEbϭgN%֢l8VP,4+S[.W0bs>Js?wûskXcJ퀶 yn/K|I:x4kִ]Np`$|em* 3ih1eAJ?n2q6̓["-VpJX`(q8>IY<ǽkQ٢ls<=w} :39곜ŻZ9US!tMzCHC<35tڣ^ebJqF(՛.BجbwU8Ai$Kx:;z~|٥ܼɑ6!Swe,Eg NkU%%rZ&Д0XGy%#[ȻB%9m(o/:OqI~~Ԡt$3ҤbFBx0IX(M*sdti)^c}KS()|rm XM2޹ѯƊ1Rgh3Bg F?XC?$׎>W_43ljFTUvGt+PEK̅wszo[HJIظDK" 1Tt9Cʛar]K([-_\)t6W_th̒x@F f6қY6r[P4w$֗'w(MfN틽mpsrfJ;Ӆ<4׫KaW)7W9*T!54c2csD\Ers;6><[WBj6>x0SME~43feuԫ'Sg#%)MֶŕnTn&b7q:+I>S"'k"}3 4iK㉁iaգ- |1v}Qa>X3D?w 1ii*riWli@しPVY 7=ъY'Y!5V0^}0szh$-u.pir[F3]7A`ScÝ8GlM<#ǜ.I.yCd\ZǥF2wlU\?wɸ8MD{ȅ$:4Xa%Mʥwh e Rk_ 0Coc鹟;r67ۻ 7a,(5sFp=<%ݟtjoO\_bX gY3},iCp' dIH$:wCJ=*.M[~/l: t D hM`8Zo J؈LmpA#[p*Om’ߚ:N37^905~+o5 ڄ\4}ˮ񣭝-A! xBR`7c2BVxdMyKuVpD_] Y%8uM5!sję6=([h>OCއI:r.Fk޺qͬ1]8GGzw?<{}xҎҾX.\bG[.I9^#_W(t J{zD+Gtm}"o6"o3AjH>j(WC!@ڠϴH|0K"{BQ٤pqkkufHOʵu q*i F+;qoh8^5˒*DiPm<:)K~Z$@XЃ?3ٓTŰ:ii=BbLL#wK Kᐷ`.~C"le~m5C6Yw eAc;^լJtqȢ8kH8C [Vrs\1U!x3JH*H1R4urB"WK6\ɱFkUU}P@ [`q;,*sϋ 1e~w4w##c 247R>$ÒkE:V4&tֳks~I({ ݀pA05$)B(Pqգ+9Z<30Ao/4'!S+yH온훳;mUE+TZ`0+W=3#嘬oBco>3^ǟ_=@ψLh`HFdeAbk6 eGorh˟G@[ߛ¦OocW,}F!N  ![ːu-~Y46_$^a$Bj7rQIfSP#tBC }vC?ic.9K]QGX#cdFN_Hɫ):ރq!#rihիD)S:SպR)emVIU ~7= i *= SueJ@ En DL)j[k"s3Z'%B~4acޓ,UYmv2/Gf89LC$.IrHfL"/e3 i`Q=AHT{sc :uI6dcGTc۲Y;6g 3᭹jHFb |eMLiy\98~Gt["f߯pkx>.ooLpT30SpZtMi&G',v&x%YVGxcQkr՛wR}+z"hqA` GTd#!mj,f?"]8X:/cd 8ݥ2DRY8Ǯs8 Kvkr(TۧVj{2$N'-Ջ@rEg堽/L&Mn 2\"' SR&SN= O0|n8,sxKUB.IS,:17oLDSb}HZͺYz촡Gϳj;K=;bc"%lX,tl-_ۈ. 튛CG8`3\6T`)L\yhmPg)yb;6 E>2 u}j$F<$/.W~8(6oOHM- or2"Uh+؂ xE7¯8 l{% d肷kb$WwMabRxD*1f/v2GHK+RVBD쩖[9kFk{j 3Z8:C t6[@ydSAA|~rYOsTgV8,w gW^8Ϡutdř\9;މ[j &q8:S5m Rlcw杆q=-xJ+t{lG5# !J3>r1\ v?m#f2נTbG_48$|eqCoJf䄈h9Eiܳ6q. _֝q". gQp;XmWvql·JMMVU?&ĽT?K6/ 2ւ*<2`$F|^QuWcڒMW'<6/=thwEԘ,iVuݕ (8pl\Ӽ;39\N[\kZbG˿s)WP-FK"7FR˾P8|Q,*\Re -, #mg-緍g="3S~c?g:b>,Wl0r/:zȃc ^ʅk=pԃ8R8KM8+]h@ j6ްUshFf[-z?e<شAױU]SEϔr?zC^{.I}cARQ.;٘w9*f@f懈.w//.ҋ\% 1$(j=+3mlF#vHG-z${Alߨ_S7ygk4Q[i|a'{z O Cz a/Ш_c󶪥"+rZR\bx67㤶M"2}` ]dw"2c< )H:>X\E% VSs5\ljYRBrvm$.Hyy p-|I<"ݫڱ\4\R\UvB6=սDi˱Ĝq{YL~мzh.h>lD%}^J L&Qk<}|og/e?A:QZ @-_,5dJV#]Rj*MP9Ғ5uȥoj}IP٫p-_)~u.#B_-Fjnk_Q'^Q}];%᫣rt=#6jgcV9yq5'Ga h-J({]?  eIF,}@ϓƤX–'4}+)&0qA&Qos}[X+u} ~ԝ_VCD6mB#BڱuHKv[|N,rg@th8\,6JDGڂ, 6>M%;L.x,P`'ɹs&N$ "P㟠ӺPP' ( fyuTU^T[o%1bvT.=Nsϟǿ ,ׇcȉr bg'.yEt`XVvdz298)Z~ ^rvTd2uS׸eb"Z`uge> Ž !E/$hâLLn'҉QHҗK,(N1/^`6AЅ n˕]|e|MF̉liӦj2k6f¸[-KcR+ŠISp__ϭc^$LCbCDj3/k>-{y`:7oz˺ Iۙ)(3&X'A_1ey){ ̔$S +pI^LcNQZ++^(="}z{B;}-c:W.)%Wˮ#t$gK0ԉks"KUWiGzӳ?62 _Ch[ NU,)tg}Ւ,ٽl:eSʬzI؊H)W4Gz޺q[*K~'gz ĻtQs`\4B39;w섕kHuF e!uӒɲS{Y~+mp')/ROhb{\N ӤR]{ar59=x: OXt][Sk:터:. zIC")U*pgYK=eʤ`a־*m׃A'S]Yy1zە{=Y:#gLˢvw،59 \rK}B۠)vg^C#哔JnU>n{;UFSZ'pgL k7IZfO/D% ӎR9k?XeK{Gd !)0- 1a j郿+\3J:\ Yܐme߄ 1'!-r$; ~hhW1-MR$1}Ib(RnH1=ƴ!*=62>s5AS 4:I㟤VSQ?#?t$-8>vfQ^rwe#(h~nܱ|$>2PlڦPp҈i~ttvܒNAf(+%#Ine84E!pab$':zQ[fb O fH 8Ayw?<ۛ`GIg8,J"nz]"^`Oˤ_{\d4J Y?ڨ`6I5i0x{B :CZ7Mk*[i?=lJ;Z\Iod;'}Vѻ 01PxShPKfK`4Ml 4ֱe@3B?gs/MDQDcIo蓿o}覓NdGM>}۵.VP \ٛ0q]_}dkRT3C]/ousʫOb9ie5q.xIJn,:a{X,?Z""ju0–JVs,i8ƆT3DQ[vVs{*0oA++UY<`ޅk `QbMTuo֜Qu6`Azǿ]4YX-/??k #lwV&njȮwevԐR͂ťW)mۼ׹ My:({/8 PA2&$B-ꃿoeP<-v(j{&?K!tv[g½.h}j|sB 8I A+qGM7BS8hGk8 ",B"?J =>{q3Bh a7b /p&"`u2OoϞCT#"7'wN[W8rսEyg |XS!U*Vci Y-|6?cU"1Z.Ef2L?he$%̺m"(kvK(@"LڳrIjE\.Ioep5#C@Ro˹l| ;nI w)3oK78niK] Ty?:QǛr&:rK~8a&NeM!7//d~cč۱E32'tqHy$ɉ_ OɸPrK cR.Q=2s żns '{AȐw^ ^ L 4GoT| u!>p$E),C%Hg/E ^N-+E0MqE]ĸb#N'qυNCp(`т`W\7RuEg BzuԒ'G$@ X&,:[;ЇjH(`qxں>`R:<NB%Wpxr.zp޵ Hlxه.A %%nv.k~ 1*«NZZYXBs=QU^>~f&*OЗtߣ(n"B a1lD-Xt39 ;8 { ljs+" baylv˥yfGX h ]BddVI82Ef^m02Fspb;/~ -ZuD9 /A@a{5F™kAiKEs7)Lp!ѧk)2nRfA ZV'Lۢ;kŎWx MH)L]bB JI\(8ys6e:=+/j 2[B1_dXs^&?egȢƁy+/7A)&2 << (Ao:mgY0cd<cmlB{0hjR 燇9Sݬ'-E+5#m$}*(GM.@o//!.ab5% [%gbW BOnw.`P$zeřly)_;~iVle|+e%fO5w7bF/9J闚Ff&ot]fsD::  .D& :V( ±Gb7M*kyuue`]J(_v)+oQc,P5:"b.rL$#bKJ3_Zh Deyϳ2L3#bD^U.}Fm8ɖZ q B JPöZͶ2 w\kfa< ~~6;\{WIK#fOSQMqF; z9TAVR:p(݌P|7Μk|aƏ[z9 6f5QTI#uѹmv.Rlw+Bq6c a;Y ř"7En!B] O VG?2<OY77D}%S|a+6!(X)48AnVXA4p? :kNa_R$Uk4Ƴ[5oa.,Ic"|S֮zET@/&!'5F)n=O$,&Ew8 tO1i{w D^9A0!(OjYj%(} .wUTEGA:PnV|cOc%(GJ JSvO =GF;J][cYAM/vsjZ &kNtGiHeBʴ>=),oQ'xdɞdqZ0%7H n S#`~-q҃uOU='dpTlYّy8cy{OΔF.ڃŬE]>W(u*nȰ][~f}5p–N˄_pG giq/ PZ\M14_pS̠zfqvӇoY8zO(FHT}mЌTC<9gHcE>Zc3)M<E,b8~n|dyк*-%YEJξ B;$nQ7gr;D\]Gh?TG3L^JHzD3a> t\TQݞ뼸I5=+{"* ꔾ-~,|]08T[F$/Hh->~7 [V2^R{&.l)~ҭ#W˫?)@,I,,C$k,$ӗf& IA\2t{ę!&&kJ!| ?v36Q& W,HN4Fr55?ֵ&wL4Ezm쾔hOxkQA=؁xKhJ9+6Âkyxo{" R 0W1$COjꇰspT-xb%k@E*>HwxF{- "sA rz*>$JZ13{E\|'M{%nĜ[mLb>(Fwe>1Ur@\p|[]b%`B"_?!͎+#xcP83h4`W Nߺ{ .E";t9\Bj>T"f!EA -%"ˆc{7l-s-O<^_2[8.3V5*\yҀ=%X4)x%JKThgXfnCx}z^mT\hn?JtۖwNFSl,ttyw!|H-~t(uHWn#]:]>I)`,e(LV%= erY,gĆGS/[K(ЎL9)5 kmJ=1eC=n0rS%.1t"P˰ njRϴ_"MQ!rW7r| 6I*"s)Ub (t"PU} -yM 6It}!5_bPXcGxF ^׮ǼJ}kr+XO#З?<b(W@0T!۠!c̢-:%NJ^vv^pL8FH<]Y7{K^aE&hQKDXP~\d nq}I*2D*U%V/ IW QNߖ7v%?EE`Eݩu-m*T/оos\[H'3䫢kB*G!0}p_>¾ Z Bwb߮VlIʡ| ˖Q5Hꎏ0Nٱ:?Nv bΌ~ ~%8ot>Xf'[,\ᇚ! U%'A I!JrݲDΕSjȿ!XBԠ+=ڮ^3NoIp #ZDn`zg-#z~ ֝>s4Ml-Z,IFÅӷ"`h al_Bշ/)Y p޸7"EV1qBƲgǪZ◌cCSݺxu},7RvK!&—74ZexVOڑ$bʚE)_ܿ />v+ͯnC}NcW#cI6ny(*d |u^xyqo L;!RNo3E;EXav )ŹD# 9wB֢s4@ʛ&|4-GgFpEs&yn9Sj>|N HOOR߱DS`̌,x'ܗC"0視Tu$3o 69 jOR5d+sa#>wLZp|0bY$ t=CS;nMn9ײC :1~;9g%[RʳYZ)]#B XX$Un##f.4 (aڀr-k9[cw;d9.ɔl83˪߉CZrbKJ6 hra N62 ZFGdhwHoz Iz֒#+vjVTǫ=h@ zĖB7"TrF+vƊ$gD楘j%kò'є]z2&̠tr֣|j015O5QX& ̀\uVh$0ޖ}-//ښ|˒șY a{M߂+"eV ҵ,ѱ?)f햑kTY3ޝvz+@$.&mf(^(̎`4x&E{JI _sPK5[9*.Vz&׼* \%%:>]%w9Qo-U"-"Djmnq{H@#=vxW! S zR] Ow5CN,nMo2xҽlՋ g$3v@_ogަt> MJmFc=/c|yܠk86sϨH芷^z# 3e|z:>k١rn`#%NE/gmes&š}!o `G0*⿔Mʼh9#VQ:{PqyVbVPg0DNɩ Q6Kskaj鿉Oi"M_% Y_GV 򹠖 5EsGWJR,">ON}FDȫwVnՉ"Θiy%{aKyhD%#s+&N=;gVoZ/ԔT,&O*Iy=-)sN0{B:.$bu挈K2|v}4ơ;E1l&m1͠&ƈ:ozuP2.K2hѵm{aY|o{{#6]T@ `UjB&,V|D0b s0Aiº16OFbo}Q)4|c_-Y=C^FFExsD!Q?*M*49*a\I*B:8q \hV \ꡯN׶;_qh?lAfzdpɾD~ɒ=pN}!$xXEͺc I&Gf,\w݈ڬOpN~:X(q° ?y=;~oX;slwꫢ@69Y%NP=v>jeiqEy#Wޢ,C;x#-?SZ4>x0%Q$9_!x%^lVJa0My LS`db9|3YȜRcbnhHPs3"_]Mõ~Ƕ)YJB񸇄C RAN{WUPF 1*#aV[4c-5q ;-4B(5RwܖC|JXW 7PO@\Z2||{ӳ=~[ey?.ۯxc{nOW?n86o;>(Dϭ|EJ oJFlcВb0bW8?}ЬO0GGDF N\ÒG9UG*/b.fYŏe~n{‡NwjxWJ-̉2^.iQwO4OrHi씾K1fVNb F{pYȟif$7Ѕ>==jriG梊{?AE4 =$׭eV'v#4Yp=0M oA4T /yWH?-I֕<7rdnY<\h3]U03ZPy6 7jY,*随sݐ!Vɚ}SjOkWhch?\w@ AV#i!Lqdݝ'K0~GSdgu^.Z$AhO T99m XV%+S8;Ql_NJѡNsD89{"{N J Kj+LE]x"}{^eI5qvXhN%|bMEݎ.y+7;Nz֧[x{#Xt>>G@Ѳۗۀ8n#f夨͏KI$8" |s>;w&SEQ}6&;+R|HJV$reL8pfƅaÆNѻyS@v׺m,HVU/K{hA:ݭf*X)OD'6@ReerĢ:kY /_tэ`!d 4~p\$Fj e؂4U8 lSՈX\A#X{e!Gk&[`=ZUPdWjP5(ޡg8 $L7ҪeՍ1DG߁T{eV=9sxT!@hтAmA{/A  r F4ؽ|n=d T,`%(g6DŽ>,E]j/^+|v'uY! B!_|o- ŐKkyS VS]|e[$|~xWV$ 8Qtt@ b Ca=` &rUH#HP`Ee:revKTr̗*@`9qQ˦bsbX;~'';PH)+1H[7nBRO4;H(δ%wN%[)䒜(Y-VdD~@*ϫeuh u3T,)E[& _ZǛ%3j{E-þ6I/OnDbUŻ8!D[$lWT"A`1H?,$$&_1f1R]WalP2"HvIJtDr@SmSHaDKфT@"3E AU|m[0OPlIP_2H&X  ~\E*VP Yad H[}uW$R.d_ Aςd ;*( "ժjrrQ._"ᇤ46F5AӁ:x" dc&X2NVFBD2!>tP ! ](FXt@:.V@W/pJ_e)0I$TS-v8Q4%bQ*-eZ VNlYaB0$+E@ieԡC7:(If-3 c q[aH Bh@vxZdQ[:Y&t.Ne]\w lN>K Bd! P Z5B}uM@6;h*Px4jy"lUlt.ҷ,Wb/ :N瞫$㉞oC\skc[7JZ}CU0Ud<39YUVJdak]6yq8˗G|m@/Eb%Z/%xs!FJc㷟;o.^x#}x#܋\rVsEo˅h|anGhTzw*>#ɛJFp2k/ɋN9.FYz \4 K! )`/Ϯ՚#gOQKFɬ \)QxJ, TpIg%t~׏}!}Ռ/ 3VER=³ n|BB }}G)Ƌߍ 2EU׬l5N5] Z==:)k! v>2*Y9 ^|f P9<_.HDc) ilX@i!4MP;1i*I_ِ϶Lf"e~Ԉ< 4hnɀ!+y>`Bzh1zI~`aiɠ:P|@:x"DQ-'Mh&B lItVoN+-'q)GTWg ͢â1z/kkw*繓t=h(ӋYrW\bda"YE@ŀzr齧&([ |Lǃ;ZJ(\^ unc+ɑ?)m^.qK#FŽ)L2 0i1`3V W*3фY%ăo?#n`&X{irzM0 =\eHgRs%,z)=L$ p|U:)شY>yYuKX85ס %fE^J\(|XxLdNW!BX* .uӕGy|{q76M`aV"nM{$0~TL"Dq"z Zќ\˾$ھ~fɢ@r  =@&O=VM ~Y9>Yri!v7`_Yks8WAЕAWiaB|I>NPiٿ5 O9w2`-_^ܜiJq*uiT p%H^Ֆ}K9!P%LdHC4pse\ :SsgrQcWg(Us/{~])xd{cߥjeK2)E4㈟zI;IG^iԉJP`=֭j#`.qXs3Q ێH\BxhHq`~ O !Kz5=KDr`q.x]Yb)rI@ivd''>e$TWLQE=K^ʎY ,K>r[vJ.N.GFbžDqߟ^f4r̳S[s8rcf0 bJ&fotijhQ)!Ebو5(@B@M $j6zfzކ_"H@L9.YʌUQ%mAh}7U|IC)= Zq8ڶ0 IK*q3'J {M=bكV1ĺ,Æ:u<ZpL,;t7\ڐFJ'V3 a ՝G錥WAH蕖 ]2%!84@q0܂[ ["X;3T r2J⊶Dk[HtD?r=4x~,i\Cbf#.ưRmC]Mw5\c,6Yۭ+mg~EHlh`4im8~& |mDjaNJ $[bFҿJ(=\ai@=i5Vժ,!~-#ĠÕiBy 7!JO&ҷQub0U F%'`BB}B%Î!l%\ `; ת!$r?rg>5B\uZd~Z$4x ޹oal JA+K70e}6@,P“ in ѯY Ey+N+Ii1CScPS;EU%5PH/DH:_j,YNgQ%Exˬ ~#!;dcW깓{Ӻ-5̉kq$iJ:uUaEMBo3~&>/[*%.]do):+k:j\U;^oDΈ1r>aa^{2ѳa1 :},Юv$7D{ZrwM ޓ;S_ڳ=;J>Mb}o);gy=*jU!44ۇ@a6.b{d<[ vMrDǬMě J* ATpj1"І]FICSDXmhON+Du!V^pKrw}yk-%6&7\Zk ʫ8@HtMDa O⤊)$ QԚ$kĹ~]IyIaAq}#űN>h^rY]E%j#C`_ZZXQlw 4_wya7Ʉ#f2Of+Hg]uISvsiYbF88|Ѧs^m`9_y1[Br#}xtXk yVnDj'(lb+GT2hH ߎ`oCf퍋>iNX rGd(S%./,@Ғwp^X̰sxX#*wA#w =ǭ"z\NM+z[HN8 T&)>&%#)jJyp6vE'H;CeUp<Fn(x "WQۥ<oNͮ Ye߈k6UuTV~~:Yq%̶OI{߀4m.g+8g8_K"hV#V #6ʨt$+V ^945ꬤڄZ O5ijq.Ge!},fT89JWgif=<"oP)oOŇ2^Eٱǂ#*-h-V;쎮]E!J8Q |üα/H:~BIiJ-^\Q6'r(&y^QݔjZ_:rKsaw |O ,s`B_IZ ֘\53/u5cVP|ر$Ш qs`4x;Pk-LPk} hM((9AҙL>uC.0HH{(m}>ʙNJռ'`a-Ŏ¬Ӧq(, mscn-R$ڽkܯ'!Z{'f.Ikڣceqlof$;3Ũ8tBJ[Gb=P4xMb,9h\0%aN1t^4ZmU9m.v.9ۨމ#`Yö;gl=4.,İ4ʗW^qW bѰ;6Ur#uΞJ2XukAH~"A).M)jȎt+5 kKj*ʴ/U:2As7{6*|GzmD5㐀GlɅvnJi\UNJp4zrO$2mvytb}ĉ'!g<ky}yؽbBMQZ ST m !ފU<=ίҞ_8-&O/N(Zo6 *T~-qM!M9+iUMһxиF8rt=^#(D_޼amsBiQDդ d8,cuKY9wa

    jr$C|W@wECTq&Wl/2,]=K`Nv}14zCɵ"( .c3Sxt 2￑[:.ae'Cv-} t˞p{-;@cݷ/ȠäH*~  }} d];tZW&bplj)57{<s!MU)Ie/_g+/_ J viUNGYZd.\d^kݒT73YmP,#]6&ƨ^5"Q`l;j VT R}e=;1)A1f` 䢦zƨ5k*Q%IK Π}$xe}\Jg`sP ѹFӗ[۞^[/Š"/caofbU* ]sr_#ң&Wbf.$$U*i;d!22hl.7 JR:ĵvo X x̍Wt*ڂ#f# q',UnRU:Өe]!3u&33v(H R$s<6ѐ:$NQKt *5GG)1S>nitnFTy7ѼXWtOHrBUVQn0{+?Np2V,/w%tؔŦ5JI_dD8N}3QhA$iV˖򰚈ȉݐ؈9GUM񬑺B{ JǓFuxfP!lt%FoJ3u=|<6+F 粔ɨc:. u9VD\qj4^>G6c U?+m$GOF(*1*e=$"R1n0*a!Q߉JO^wxwKNЫgoz#IDZ+m@KYKܹ ߿a3EK- fl{Rԁ9Ļ>bZ醫ᓖBThe~~3놙Xiš5H`E-9j M~?`BR¨ȫpq$veڇ lm."nm><,fR&vct v#k ~9Vףt_Z+JJB9aY77% lDf8|l ژ_g`, E$(,՜rQt첨c|\e.֜F]ůZ*Gc^*x}j`&Լy>_Jkb,#ѹIʷy]o1Lq #Yn% P5^9٠ r;Rb#֑زZha_3X5c Ricua} %k[%kA^jSҼy63~/yw#ݯvK^5|+cWgݼFt"T `[^R,_8洖E5,t< .C4Y))ԍ*I: rPѮfSh=%ҽHB ڞV~[O5;P4Q4>K\R+s" ;\kmSSE/B|/, Řsή ?D \pRb~- +e_a,!СoY{ w"f.5U0y$YmnX\Ր~8G_r[͒;g Kp!i9ظ50/+Dec(4eDz-p3z%Rl,Yھ< p7!fZہPF꫃`q&^CUeCq jHϳ2*.)!RnaəHe!IWt1V 8uk̼nH)\wm4s˂& =qMʥfOXƊwdXϱ>+D9.򅺹i5_s h e  !,-+A&o LBkJDIX҈$P;\#PEfCRƖIxzҖ:BV> 0j1\[v] ɝL~x9Ԅ@:Lz% 5IntGP>Ag2o _?˼:'_?.omm4fut>YTl} ;Pix'_ B4gbr"O˫ϫXOsPtp{\ĺ%YS+ӗQ;>=$(\)ZKN3v6SSX,s7%vD<"9IRR9vf)|ןqæA&0a 3wq3J(=it!`9臾Բ&“ɓ:*dH12!̓58%U7/ugEI.X SҢWrz;B%ن j!ݺlO(v(k^hςۉi# E#JMߵLY&W.y$-5:GpC/Y%>B4vr"v%i`>Vޙú)0o]v{X {64 &|AXŲ& DY]yzz+ٱ8Per^_1:\ 5na.2:eً$4]{3-*W8{^vk">BrќuN:D+lqGb#faXtR$Fv<<'G+XPc(r# zZИLIuo*k/34KQl/kfwr׊G-SwNnE,PEe KC$ :MR \WA*ҢW@Ƥ:="H~Dr,n> Nr[zڈ&Y(Zp]Hf,D{SI$]=OxZ}Ώy|I@t'ٷ#AR'W΁I>HW@s|Ǚ )ݑ3fۛ!^y۪JY ?Y}f-`'RͲУX+:2eGPl : ϣ2֟!ab;`2U%s{ BTq[7hSQF-LCdB=ڐty=(:31(Ӆfٚ^e:.Y)ѭ}Vּdt~κwl Crְ]`h;P3-R@ĤE[`PdKR֭u|W(KQJuBbOa;A2D]/;KMRRh՚:E{ߺsQa] k<|CnAA@edMLnj(->Ũ@`5Ye=Vm[> w܃s|v:sH;)BNWJth5 Ɲe2ZjXi mƮE{iXܔiq-F%YTV鐴mXY)͆<Zdy~hpYQlV㻺!XT]K4Q|]6I.q1?U{-1t eiuAběsSJZm@BT>zjي[ _Sc@%zyin>.&*L5{~ AD_ȁ՜G8+XkXt Uu}KRK2S5Iͳ;u$K'pg cbX 2DJ Ϊx7=v{ +4Y3#3!1v} KlQ69~?xsP1纵;ϳe2BWm.ke)xϸ8Y-wr } ݈ʍrˆ@[}=Q/3q.zi)+uUUS/Vл B8%lD눨gh_G,k^6b❠ LĒ&42>BY^.`j~JM1^wCL}0b>z]͒DfD.tK1 1Bƃn~\|]B%yyNc(e,UWQj3k|ʵvTg:6!0C0g!j>Dxvj&>#|0u2и(1([ƊTh%Zx_GyizJAFNACy$-SYjwÂ8ܖoYr^2")ܨ9S0JT=@T) u߿&*H\J<'5E](P@`BܗFPtTo>XťB!8{ O$cE)7RX4A#J/<0&=wH3fba~np3H|l(0~y]#Vß4TbfOs4]<n&qn9v ]s[n?qb;.Z7T/͛j{c>.Wod߀kW C'WݝnխC;\^>l2^Ӂ&|9&<pJ1F\Q/޺E4qB_ykJYσߜkoXn jVM8 At`H%wu31 MI_SOUka!2#<u#f5x_O/E0}6zn$W&u9 uÚM |NV P5Mx/LWXN6F:KV\PU<T[e| +l~OM}/g9>#E(vi@ЪqQgDV5u/ a+ՂD1!(wnX&KC$otY׀$Nd%+衭RЎW\`|q])\r{a?AIKK "l/ ˚ͧc.e Ap][el&%=Iyp$ިz 9/aO\N$M\J^V Wb8MKs3V1ŵVReW[m$Vn;7V]0v1Abz#tu4ߪxZݜS yZ7L4\a'3QT1v(KFTy #>_̰X[1jvЎ|1D-P>6ine+kh6){;D:g:lfQ^OB0O"wPx2 yDyYzt,[VUCCqT76baFܲiA|HѠ&Iqnln~Oj;7~+>W,Օa7xμ5wU*u鲬jV%ݴ9^̪D:]90>Z&q& ,(PBmBc`_U~]{yNuV4\@bj7OT'4zǾ94viE-z {ZC,o籔BUM yFp]R,%=[/vT)E`bmnW+$/D>ytP3DGP^. ?'8K x%f 6\ca x G@SW5Fi)<꺁 M*F2O O]$̵{$KYjij E| Q#b;8+qkb."pb&D_UZԵ)j}Z ShS[X-ě,?QC\%CuquosiIGC> pe]zpC8{0-Wb)#oVc :tIrGP y9w)Mah^ci'MQkOҗKp:$YWk67}yv)#iA#Yؑ SŗѬwN ýȓ3O8n,tgysN'9׭[]횋^B-ت0"{>ώiWߜw}L[nD:_վYC{t\[@̲7g$ 匴)j:{|~[WG/FtBM%]n/'=ƤdfՅnPti8.;ZDzuTXPZZԉnj˷z=ml>l }uT O3Ń{p\؅=TEء_֟ qT,nJJ FЙdW.=ZtUL21r-{vOk>E fGK4wD^0cIsA+rPʊD#BBׅpLrb>*+$Rje 3 BєO5/'=ȍw j{ +C&rL[%'N+&$`vHGdmc2.\ѺHtnA!!OuǩƎjc;ҀkqƐc2%` (%r,sn&5kuY؀͍2m)mk:}ҾFBx!LmU!Wsc^x/2,C[ΘGi-՜D?Rtu襼\U#_[ԅـ%'_=ў?)h%Wjb2^+ntLfa8&. cA[ Ȫ<ނH70{S <W+6H[?y􀔦e%ظ7bԤ\Ϡ`a.!2W!E~>Gh,Vwjg^:uƣ$dtJm-d4}󣼬/dr }SF=0Oy4q w.Ma7+R iЎBl4zeOG9,0ɝ9o;GW6rElVtf/_pa_7777 @u2fQTE+en[-7]Փ beaL2eyX1)4bpU~,awc$r,+eE2he7{4}QrTs6 _nO9chٛ!fը[/lRueJ7W\ i-0XW\nrR*ZEjI#Q؄}|Y<79't-%kn,~EkָW8nnJ.Kcml? )}/}oe04Y@)+OpW  7E2bZ[[!&-ɞ~31c- ` SkD,(ع?:ƒg2 s}Γ5FքO}w_QKLs2H"J9[a= .B;و▉!}ةW!VńCRyMәB2Àt)|(0{2l26%E8$ ͣ q(Ai~(Joz}GԛwI-[CHkd4e{7dQQ+1es~n:\-zQC|gɴ,@OUx33s:;?ᜆ;sә]8(:5̐eN)l+I \elr]6;G~۳adɾ<҈vEtBFWw;R\1( r&hC8P;ySMpq--x#J:|TȨmw .veFa<tBƮ}t&7WҺ%3w|)ܳ{O=1V3ȑ?<ĞB LGI檀)/tF/{vE.#EvIuQBU8$U{'#B مn49hOel`n+ A##P,A8T!N"zq>+@G rP{?8ŽB_q Sr[`T&xƮCa!o,ʂs]BB{,89xcT0 N:>>KQ3ZH 8.`1DNnB9-{94%$UZS:^ۯ*zqo#jut84;~g 7dOjYI%D|,Gkg2d牐&rZ&L|ɠ@Y/zHQ9Ɓ%ױs`;49QAFw<)OQW7GE |)R+1&aK(x'W1pdVr!(3'摭DXu.HnrT/82HBOޜ"tA4AIUr Ǝ.Is+*6QT=adʈ"H6g[t\V1L9n2|';lfE$ p-ҀG{ u:#~ kjIZ+ 6t׭n7( ztNIw{7sQnv7~Ucj31 aYlwSM;solaGE_%zW"99XV傀I@,O6MIbDFj0Ϋtbn^dv`NHuKBNrT9NSNK$Vyh:u3,7̪;E{Թ[dKuxXÑhQ |Sqc-'^Sy0_ǝgVkInD oH/z-r%)V6hSᇋ{!`02/d3WH99JړRG] 9ɟ2І6VSUFpL@q{= Â>Ox}|M`װ!I%y@=fD~c0% ^b=۟d*#w㟌{جLgmp2$30eX)\]LYŪlppSj먠|M#S8FQL\V'aJ:7=3?odͺ}H$cZC?X+֏dZJ;|9|2-P=%%2x`jG8Zl>#kftՓuƪuj7F} پ ok8k t\U*Q{怕w؟Ϣa^aQ;{H?dp!4FĔYv$ǪV7oC#? lQ۽]娯DCFs~.w/>~C?7_Ӈ o\Uٝ_lBq0ˈH\P&{6_2GZ=M-%%5FSWU@u k0`1!qPU-hh˽8F E@!{$ZzAsD\q66`QDM ؊P𚺙m*<~*AfKǍJeAb`<$I1r}}4 r.jKWSNKJg#bGKb  gD JrM2; twTL]9W4UR (a{kEU آb}Ls2;Z˙SS+/~۪_jp.)(Ӑu6 /[7nƭES+]y/HRNJR,U0H?>jj1A`6^9u>OTwEҴ1xZX>U*FRG]!W'!Ǧ]45-:AB9˵O[RHC xY֓6(hXiU_7֮Yi5ᎆ lba2Tahڇ&؀V+1IO qN<;/ 9pv`ٓ; WQAk[ZTtBM92<"Y6|~ҧ/Z/Mc8LɊzqLA\^N p4.|GBz<jy~9͍:J^-ymi G-+BIsp &l^ zfMmO.5hSff:umwl+=bH6 y@\ta$ʻz*tFM 9Sto)}-}R:5ԋeWFyV>&luۆRM̴ ®%R3KdlUq (/4_QOY39ifca$>(O& Ç6vSxϜe&z*y: ԢXx3|)mi*[ epaw\Bw^l`q^,˃}>Q(oo-'?=xg~gz~x O>SmC8o蓿o}覓$GM>}T5?_f{~{?-{i z^1~EG'y /wO~ٟ}ѯeo]ZÏC <״K=xz_㻼Fe+Ï>7>33g|~qﳟb?>c֧?_ЖKX'2hП>c}k2v_aI`îE!hYGg >1=G]._Xx_?s{|*:2 og0mד|li@\|U`?~I .՛e$k4rb u}@AOIܡ_u9=9_؋8^{0qQZg;F?? T>Ơvo.l >f|J!i8fg縣6NGTvg>H~/Ҍ_šާ Hce&,pi'?a|O7MО)Wβv#w#\~ ~l ;~; ڻv͈Qبb8 =#{$&I13?{!Ɖ x+mu᧯ wt0~&sIpdH~ٓJ M"1Ϥ|Ϙ|lwƮYF}u080ֻ2~ęD/I"&~&s}xy)F|tx%gK6?>6418'Y`GTBu`#;u_"?կ{ҟgcۻ'޷scde{1,aٟN ^~*~Œau8X㽑#lr.}P3Ƿ'ؾT&DLH]h)%yb({Z A%Bg2%>GejjGkF$0M߻yWT"Q)\c"!)4@fPS~mn+~DH3|¤ِz0M{<ŝ3f7'|C}[u?RwK| %Z)짂1?sG(鏿dn}{}iG( Dŏ`?+C 'rօ2O>1?b+q-*կSNY_h}ZƨbJDI5V쏽~!v!T|9zǯ>FOom\3/y՟zO19?0}!D?ITv`LUqTڑَEe k) Ko=Q= wV]{CRGJv 矂ۇ=*gʻ%G|?8M]+?gla?v`}Cs:^PڼoߺsF1=p;=(3 &t݇wm%3^U#cBhO;Ob3M#>sG@a4X9=#(ۍy~b\Wl3I >v+&34T/<[چALp"ĂNC+6Dzg>I,+ З7TH|d@ fX|JglR9ZT7 +ΧbmBf*WGVP=1S`p[:u&܏6][Ξu;vS,}Oc&Wؼ*7o[7}QMԽ/"pOن؛Fe&aDjzYBӰGHnjRbsר8Uդ < 4?W 2CoKTǟ!޳e0zJʠp}0z5~JG F 4ƧR8`+!d>DU=gQٯ=m9B#%ٟiǧq{T F4{B̶aʘ/wFŮd&! :9j3$021ąWc lͭܶC'?hbS/%t[ hK]^-c;ɏe".MtFV`MW f%bEH&0AvbznA[ ;T^2ר^MCw]]ǮEH[fk>KOm1Œ%i9AY٩;Ύ̋rR\vLiRc<N,uT_ ُ/TBH N]0'M[;Bm?K<ƛGm# !O$c g$ƲF0bC!x6R9Z/$x;$ HZ7W,VV̦ئEfjD{CS8مoLsdkOH;j8$}=쉼'aytޛ+ gL?7:oűڈ9mO%i$s`$.PsVw1P2р|Oy}~M%(s$Z"TD@OY DöG]+$mZτ;[N].B:vJIاr9%vODPY(#E+;f&Q]RևAoO|bh3cdދ&᱇hOى6W$@*\ 'JpƢRkFKl g!US&]}12</pЧAՈ`)5}cJ3}?7|{_ܡNVB/]Q#@?d/e2?yL -T3?eau~q-RRo3}?Ú5PgUg=!mḢmYf97PSvR2`J{u 53V#xoG$7֎.iS7d>SD-emr8#pq\ቘ3 >lLOR2U%HiSR3[۫q{}/夰Oj&K9=h#UQA}!/:np Sدa{rLSx \*;r2~p|1*嗚{I*\WFVǘ)hVE\e= M;vO|t_dQ">MX?>;d1Y^zj%p`'‚Nu>?Rdآ;˖R͈ F;hj@?Tʼ#CQ_bfgL6 LV;⇙Y9ŽUs<nOdoY<#qDC8,enN$S)ڸDT`;9kF,C2p~tc i.|vVl9Vu$s|rݛE)ԧi/Ab  2(>~t>__{X'Q¾re{&$G탑tH}[䡖z[WA97HH{wst]²-~rM9XlI4s6H1m5'mOi~ 7Я/ g} 7ݏ}ѵIO*~UzJc4ȓm Tf}d@~#Դ3xy5r?xҿ F^_M56""}oEC}{K)a3@'>bA{H~%2{H IH}PpY5= |{^ݳ qYL[Oa;QD%f1ML?؜9?_si[Jkb+BHyͅ(>j&+rJc<@E9W:찜 Dv }{ jzUהҲTV?m=n9s[s+]CPah@Ch.N `T18͜tA$ "Z-sr_NrSd`'51{V7PG)l| W 4SI:V2E}d84]Щo);|_P_[h iIx1*fBKW9KSj"i۲~)uU/舴~?g Vb$F0DI}&:fye8y#i&?W(o-ijFJpE؉JQu5'o,* dgY05Ҩ9Pޣ$8&??qO>S񿨦4EQNfF2vFwzMUPf4X_qI 諾qڛBBg.'ArМ H}krhp푒MIu Yb2 y:)L; orC¿4>VΚGjw/aЭ4qǂʟB^ދ}Ԯ ~.ƛnAxkc"5' q'3g^uFS{Z֔qqt[R!O@6FugoկbL2wO0R9pƿ7h&ы$nm=V&VyqHc 3(L+XO$3#ih%Dm7-^,>(}맧߉> qmh6GR`FCE#B;XlޕuD @oJͤ/Jy̧zκY+bK`ٱ= K<7D/Wِ-љ<2I/ezX8:4::l{~ahNk0RMEд 2WNj)l4dُG!4r(5P )3]I%ELDLrymw/u:T!I)1q [c4&D÷hc4{4'!8L$1e:^?r'BsUY/,V1R<&6\XHę&FT@Q~djҏt "g j`Ull{FhɚLvGǨyxuyҏ%9EˋR%u1`' *̴IYh+OdP RaD05g ҋIۏiobuI[jG:/A07ː~W^v $]NmVʧrMw޺q;|G>MN?7MvA)KO3zuZ. .k۞CpHYl2< c}E]u3=|Dsg}ZjHIE/.Q l ])@Z#*;Rf #!q'>> kN$J" #{|Te5$e1BWU~z1E`4wu HQ{ǒgcPZz8bw8J>z8n<TTP`\=W 06e^L()C~CHh>Ka9Wt'b`͜XD[0?]FF~_{؂zq^2(b g6&Ǵ1jF`+)ƎQZl 3ZV=J[*9 ?RnDFiNf4;06pHJeQM uo $pB 9#]i`u_LS=ZO Ʒ$;=|43qM++i#[> LB5 Aj XEDlCkri1[nMQ&1vz*ʩ j O Gl*iYO{i-7WbuyzۮmlTSE|q{FIiXFƿj ɧZ9Y?luF^!pڌv;ty'w1vL{u~Z^/o0MdI'<Ӫdq(;b7jLPi>UNW >7GpW_\/ӢsCjj\a^Uq܋ v50nMhԎ^8;Ktz?M%WUR%9{TO`I2G,M(?TDvgV0e+.`XWcUT\ " S!IO(s80Cn5|ik/ެ1dIYtxTON1HiTXUtg NPtյSqf0ER.oh#j%w\ϹcqTkSښLD661%NOU E Vi`r1Q̧->Fµ"R/|k:@d=JG@[9af<cqz^p(Yg[ aR~bz}Q.|fDNMW}d?7~!")՚fFo}X|M9 _7]E.xLƂs[*6n X: }'ޗH&Wuu1r튬@hi. ve6 |Ͳ)KpqycMi]sX7C[OG& %wMō62VbHV 'QNǝ<{HA?Um fA:~"Qű˕~^6Pбߏʝ"˧ ,'/~D9Jz TNJ_2c#/?ʄˉk(Ny{oÐ_I[WWyhꡧ./}֩Q).?,Wkf˴^-}hH=bLpxD8 }"r)'74S ѯ?\pg'O;/f,Ƿ{DX`:)4K.Zzb\C(<`J ;%'>: #A2e?C떐dWV%_/@s%"V2$ygɃ<3G}$=_wvP,F qݞ /A@67\]T_ʫg4vg:Q*C/E !s\Eپ$)%̮rB}5t$9k2s7~u?l喅2Z.&8h #dMǧʑ$\Bʛx%mJt=Erߊ`)ڊKDî,}K,t34s(C&&s:0ןB/K8#؇E/؝b#4i Bd~"_cJw7fp7|eYNߤ*8 >Xii?^%׀ȝjGCwb,'芮 7r)t CA~9J.~91Oyn@n_aŷFi9ͫ&2 i}qvm2JA^N-<>Brv>QȁaMˢCzzdyQ;gQ3XߪdCŦ^Ku_$Im1JNo;L} g BZ0^kiJSCO{481 /` ȇR +9|`Fо4.@i{5@I(;*%TO(uKNdOH^ Рn2uTj|`5,gX~@l9#4ʏ3G>g,c߶Kpx M[WI^󢧐"ʲ<:KC.2CF\GotI*,?w2 N0Ynꏒ/mȫ!!&a3 [k0X'bnPG'fo,:%Ѳ)MG_JTRQ w%~}?Yߧx5DreƂo!?~IElk&?E}>$HFW,j~A[h](g&ߢB^F!+aQnVFΫɆ#O]m-S󾪢!kh@#O?&U7,Mqn]HlQmoVȊFYCod׸Ӽ6$~R١w2Ti1ǔY[Q;?AߚMNRy簱䨇`SD f>@nc>Iro *K/b$]}_t@`R?h_#qC])FިvQm,Um$h*9O-TOuB $f:N E>Qp}D?I#u\ܱ`RNp~,}A_$_], ,M뗁 !y>wk4m5 i/ q3qЉGĢ'<4![ H:Lά~,A-tq?[,ݐl"ߧkI9 2!gPd#F[C0~*q^_Kh>b?t!\ZM}6mZĩr1IYe!0#b~fHo>ߝpu”,Pa5;;Q3ٳ"~[r*`2֔q?W5q&:_6L.9TƵ,5:2+[՚Zb6Uemz[8mnI QEH=XGulsAC*ߺD:DZ.H''{L'F> ~GͪK^VG & ,JzUɘȒtH!g/;.䀿z,\ Z9JNh1h (8Obwm uvA|qwCd.ODd [ |$ZF]Uve$SR xH ~JNd|~4Z/ٕ9mUG?$)jH2G ;Y`T9xz#ڔε l0OH@@=%TBN?  g(bX<ޣoNޡֺnqt3Kg2*H )ۍOFijdw @̰jvWa?買-jwT쪶ˌLWe(_u0Y cF]s_vA;Q|HNmp&KB_cٕ>{C*Ȭ AecjBQ_o2}]8s7r!*_]UTzAU< kPwYM[Ag$ ,.;kOע.? N "^J_K<6°+^dz,}/͎(rTˇO=z!}mJCZc:mnfe&nkTҩC_ݾ5ú qN"ym+(Qo\[ yKBf 땐WBWqc9JR F2P8E[h|%hsKs qm?א/6Uݲ:#4FzLH%z0gEWBI,1Փ7I/d٨:;}s妲Y0m8uiaQ pǠqzarLS> ?Dj/vq9*[j""?*@EDȇ\5Vb3ITwT_,P^z\fi_GT3J(i\zpQ D̾љqUPA9d5F0 BߋK[R•$NRΧ\Q2wik`S+bMnOٳ!p'-G#+C?KG$LC8ֽ:hWkhJˡw^fQ1dkx~a ZVR`~q-lcV[')ON_:PYbZErI|XvS8(s بhZ "Ewe84{ Vtl3 h3:6h0 >d 3([*^rX(}R5.aHT}9'|'ÑÅPWvC׉<1b5E8#OI/?7Sv݉zaQZ4hY -V>j/'ц@u~{Kպ2g#1wf+JJ~=z*|(hV^?⣺DBKPx>Qj|g/I$ka%F[V4m5E׫H,yD0l;k{f_/FeQb??)w;rO!֍φ39^`nKFiQeQJQ\dm=t[>% 5@S:d$hMk1E1 ;͇ƙF8JG`FΈ Q-f.d.'OI:ld۟=sGc|O+\T%;1R_̽FɀrIA%(6NِBYc6qD -LeЋyr%{}j^%U~{8\Ө)A&FEvݗ-dV #!aV˒=Y$ cmM~([MAuQ!@U-!V94a:< 9yPح~y5D8;[ % CTW cmԮk鱚/ѐl!]_Kl^SKٙgӲ|`?2NJ#|?tA_ƞnh%!n:ЩO1̙ѨR>M2""ZzhE^D ƥr?ePFİQW-Vp%;,;?mV>Ī@ ~jKa]]~y DB񌳗ITJ UCBIQۑ pvOTߐ;c-yg>Q*ث YIp{ſI;T˲=z8)u{p/~cWIA99#<(Zl  |:-(fLcZg0),$ h@׮^czlBCZ*t LYG<ӻ?Z5S|%E_1l]-*x.'(ğV(^.5YKn> CEjEnrY_<š~Jo 0Y82B,?߰xb@tT͛}Ɇn6: ty4Pa-9Am:ܘɵ=g]IIjHbcN_e?tv+UKּ,ʽ4rwMՠTCq.+!ƳUn2{uy_ 5"F7Ŋ'(q^&=TAR׺$ -&lϝ2l>J:f_~ʵ/, # jEhi q){ &mJD"dѡ,o-65(✓vRF1 oto{7m/'H2ݕm>!ž`^'ٔq厔ga~Brakk{#Yy~0޳x}5DrT"bTe|*)6) .Wh!pZ0xĵi d-G|,2-ɹӰcn8}08}}9W!9 L 6QJ'%2΋ ?~m佬CWn͸xXu-K`¼@i\v9Z=j!.ns^:xFݧ}šJ%d?'&U5{ s^"U+KFSˆaÂBlYwW7/vF(v. kq+~(Ro: rBCf Í@FL6bɜƛ%l/,Tٷ++⵹z. lP}o:D%2P"|'1r[ghӵqIHq_A@a|c)H?/}_NhKr{8BPΉUs+pa0˒żIݖXP0~AF7r6Ы<0K\>bD_ j` ||F"e7_GeW2<āH6TOD'4q;Gshkϱ AɁECD.11}>f_˅&cEJH)e=>Գ 0PBMbyH@P?c0 4vg\i o c+&A  59j>"&8p )fĒH/*Ka {Xt_ѰQNJy͋] $5ϫS)LqB9YYC{λK`L|܂I)p! ma_z?v$,9*MR> ҭZ}-Ȣc+V-7s[% ?*hz*HJiHJ'7Ӫ'FF0i'1z4ᡛp%[_&4ĥ0ޛwoә9Qk;R|׈΅jEqmZk4VbJ۴֭je)Fqˣ/W#u!տ-ldHл45x]%4G1IAZF]x7]r6hYTt@#p|-o'.10/GUS/?!'MˆWvݺܗc>k @MVXyGFݻ"7qQaePćO_?dp; p~E/noLF.4Uk5ڟaYD%GpEEZ1&>eeKDhmx̦Jx:i6}XlQk?N].$ltnwyD{E fQ9屆OޘSlÁϭD-TjZĐk\HY~0 _M~iL9m7eπO vZMVwJjvˉT-h4VA`I2G,6Ki`]f57:lđaBlǒX"bYVsX&~ʑO(\=x| jdz'M1~Y:*֠Ӫ""MXV*(%M~!B{4qbgß:[w4`qѝX g%eɃadOdT #5xWI{V>x1;L҃Ö)999[rξvwӽ-[ok(=>_|/x̙9ug^W_܆OmcEXi9`I*b12'YΝg>xfi }|,Ƞ \S<cx(q4ˣx<Ώ" $Es?ʋ(߄+l2"jW(Eq#6^uo ㎱n~Fa0t<T"E0<"ɆJ9aggu^Er^Dhx{vɦ~MDd?g@xvWL@sGq8H.eۇ10'thf7Kt퐁lwx8HHS2 =$|,9 ƽlx7iHj3@l2ͧo> GI?+?u)pcUT L^9;̾H:( } hgiph#H:̈́WԨl0:2Ā7o+~lA*">vdt~G[X#!wY S,3б;@t| U"ᴗޜfpDX2%s/Y@d7 W0\a4;Okd+{7ԯ8K QH=Oj4"~ i$Z n¿%]6칽Iz;QK)1X$KY`0kq2 6}U8VS^|aq)ҩݢ O\OgU^Nhe}annG:nǘQ?ޥC^k4k/hF  ?\f1E{;y%-m3d9 6Kb~`.Gm_MF|R}~4V;|l{xf6{"fCV֭lx -㶶;l!t%CQ TA7ሪyS 1n)uObmAtyODd9;rW hPZ&Cx6KlB̸YRyYu<e܈H8ݰ xJS2GAzLXZĻ=$gM<{>#':x/@H/@i$YLd7"Xz5瓄V\|BoE  o)wNo:ӧϾӧת=[xV طdY:Y5ՈC"WZNDZID^ū/x  !Q 2=HGɞp:9l.v;KnϾW\xm qwocL(CE$ &r2uS"+H .}h^E|_ppj~cl?wtN4\Pk[os<%~c(`;<B:;-Cr;|fp o}ޕAT4/{"'\_z7"x0xx?#L9 OoʲgQBH7 Cd}2f#?ޟ>7 UxsT* _Kfg:\ƀqh/g>UVROc/ I>H+KR> X"" 9w$+|Qɶ9|ڢqKT90K6`erYzL^'>:|8FcOș"볠p08Q@FpWW$|2YUNo-I\w˥5+MAM(A"9EWJs͈ &Q>DN_5/i[ xޙ&1j{ߡwM33K(׊Le:JEx38KqI\ ا] 1\rƶ2Q4a2 Im͑=|N?`稢 /3}Wu_=ρiGYG3}z;XoQ.ma|:JŦ w.do oߩux!v6+ąNMc ( l34(7N- >͗ez?! H H#MRPfQZ2Jgx$ f֝ fOXxWcq]uyp8"::̉ ݱ_D<%b?&8hYtE@݁큷StQ"%!9@TK Ǡ-;]2xݓ!'XڒL?3 '\htfy EŐ?PXTӑQ0hȠY*cӬ۪W&áͳvn`y'o9@ >-d]KG:)Ѹo'vE dͲ)fӃknWnRB:y XyH":*m0?i'd|tdSW5P7M$T;ɘ#5yf*tJ!w)X`4sqit䨔wPVq,V1I F^>gIttR;3"UrW-~)[4,:xs)ڄQF$N~ϲGNM@vЎ_ q"sZBaǴZv5L@LSup@|ihVhqxn0}+$shjS|`rW=rx.˧h4e6A+_Y9cN)޴=)+vl*7bINs txL^34ΧEpF{x=;U;OlHT9^(2RF8<a>O2I7AÄft _U>!Z&C %ϳtBe:»`EL yG9> 8N<jjI l-ht)FT@IFJʙ 4zM2QWe^!T^3ґҌbI1K.q́ 0p Nq#?FݎCt {Vu`RUR,J!aJgnH9CF8H@:GݮDq0y`ޟN,ŜaĄyp_T:+Iw+L"9 zފ!Ďbh(|z1} )M&]* !MP0WhrJH!ܡ`V \D+Ùe!A?s+ ֥R!Ip4CBDk&Ȳ(M.j k@t᭘9u{A"wV~=N27;q N\U66-kF8: Ql:{4 Jꂫ,,AzaJ'Ԓj ܷeUKd">C%nu/뻆n5Р!(oM{Da|VI>G甇y1c6a%Rü(dagirLUS*ݏJ1XUD@~7n&W*|{%Ze0Ɂ6~( Wݘ2-h5Ho%EFI5_k|^ e쒈BfE\f+}Wɯ-M['뎴;IqrIfG(-ۑ>FO{!_oܔ&"?:ݓN=1i,EΠLpt*ҏ$nztlb:#y; {K{ZAJLݘ*3h} CHT)9lx=Z>*,]O7Wd\n1YC77$xdd50%X|lI5,($I2f齻5xC-ց8?V$)i{`,EQt[~*4F8WqvN0԰<(N+ݢ,$% R8{hP#DizsϊY0q "5#A5Q pE@YuɰxvlE+"ԫ|ڔ 7cj @/|ڙAaB=)g`f^EosW͝"`l:"ͱ *&qb&ӽs40e wZn[@;̅!K&k]1$ *Y*_@S)X~7wfzDz,9L˥CIWq2Wq1 Y <(.da@~. ;(%_:VxOXSp>\\'S,Ѯ/R ,h dᧉ& K"='Kd_uA0bbd4hL!ȌXQ4$THꥏ)B=A22SVM`mRF/_!fŞY a:ٮ #CIzG{DJo[f / 6:VqyNExg/p=Pց1Ζ&^.]S( >qf$4Ty[Lz(R3X6 }鰜XMW!]~L֤=B-Oo>a wl݆>[MWhZ@k|W.->nXڕ% EP2<ks -øgܤ*1=,1\yA ZH`pt h{ "OĮ&EVVEr75Һ48,RmEkj{;RSs/+OH%iՖČR .5|*57u,G! d,bWH6}&%1 ir=&{g③p+뷀67k*MJdgFFDo9jtIJ -+; ACSa밨EDaR9Lw<h܄0QJ)w}4f.8ڤcLęE; g-'a`~G>٪E1y0m5cN.l>*x|hb.6qvf8[3A`+t04nl0^ .VحFގud"'lnm>LU}ĭV$ST3Q{ݲ#} x#H1QjDԔQvzCus]ޱ/j$,"D\̏kj!zO8$&UVkԂu2 im?j̚ ^, m^em<$6:V$p^\ 9BJB,AGC;ј 3:$FT~c(p2 J S86A-p  .$WG `QH)%,2ru2<.ϨZ4:kL݆HB?v4g 1)U9Qy"I2d-O3J&e +)v/P:I^<5$@?!e0P mmAk#T^2u$'B0*Ɠ{|+Z]\Ŷ4N_M5L! "XXx1PFKD,Oo]wq,JK o0܃J+QubAOك̞mPˏ-ցB(#xa.hf^;_:R8P/=cwzWzhl' VBKi_lgEJqMP]Pv$gr,ୣ3ؕiؐߘof$:DMh CuVR^Hi}p]Zr Dg Icye]gJY4kLYgvy:Y |rngf؎ܴ)&xQZId>1k&hN릀oOo$9[!/V|:굛Ԉ2 MY.I}C,-RlR졳Jx(  zJ0ZҞ!D&kN̹.3_R5ۘ(SKU*f4Zæ@i&EXx0% вчS%B;[&'!63Ev1)Q p^:ҖoXQLg~eCv+f7Xh\ECXʬ*0T;L=kѵM4=6la5F"r c [x6 >=!YH6|(+X]IIoYo.72v2R 1,R_o)Ű1]N'It$Y,/4Nq.Rj6fS͋NT`hA$ˬ0CK6 q _.z͍~XjFuKKj4g G^:IǷ$(5*I'zJpHwב4ZطX_5 |C/{ / ־> 4‰`dT]г:(h9i^^#es?w B\4ci(SbVAUB0+ܺ^XvAg*J虜]MBhI!*9 ٝrD>|腸)/\8?9}FY "`FTDeL`4€\o@I%D;&_%X8ġ-.< rpiLvY~ K`b ,K'#҉/| |f Ҫ!۩~tz{U3?ZHE0-C}B6|}zoZVh1)=Cj3ϴu2Mn]O'RKq%ӵ"vs!;= >Odltww#m=цb9̇Xюɔ(.tXEg#J *|wYѹL·#8;\;R$Xٗ)0^ e' ,}Ж$90=&cCA+G2|W4;kA:~=K=G>X4EMMC㫧^̫iUHevƇQֺ[Bٌ klý5/sc'3w(HeJ?0q*{ln٧ O"Ե;!m9JTSu&IX`}ddld*ɺ2.U9<  nb RLFFU܍CdBj<Rcְ<=l`q>#i60-yݭ:.ԫCͽ9tؕdvrB}pXCljΦ-%/"tJhPqt|V҉ @Y;rjNlJlS0>rҋdNg5ٰ)cHwAKf 㦠X-8dhT(drc[2M4Gi7?K?%̺g͖.!T@ƒg4;UC\:tu@RIơ/k] hOe>7EÕnd~OcqThPTsw {9@7q6oKg :o 6Ա׸r 1e^3fۥ].vS~@I *T.^$Ies,pWr)_kR)FDAr-rnzⳅI(Bco)*eZ.:v?JQp((A1PW+@#Ql*Ca8cSӃ1n(1H#c՝I1ki^0BɹØ{0c7.8c.L ||JԆi"{6xE.M4q`vVĨ s.Dó(,3YKLޱϥ7(NoW^/=g{qzUV,߁>л>dLE"q|o'3dS=.eQtA 8rZ4Y&#K-w=Jwȭk(%.D14DY8D 眛9>st\Gvj5Oc3֐赴ؚʊᥓdekڴul?,p`!Iͽ(h,Z2-*ZY?d̢z8 { ;+K˒ץ6"QO[52Fe XyW۠y˓1-ֆL} iøϵ3Rehm>WcS ET|<:?Iԭ Ejh$wX2;KWWml8ݰ"q8@!J5 twN6 ޱ gPT9ۃۯbAmhf=%ESaaNjtH~X!=9Z@u'2WYbX $#[/eU++5p}Qa5 KPqѵkW\p4oeV+q ^clvrԉl{Kg (oK!w BƊ.R#nPfc6jsJH\Y{~b9 fMPkCGoX%}`.9JpwS?Ŀ^ 3_H9[&;|ygwNm^9*IՇM٦Ԇ;CX p cY3#ʓK̚ xPA/KKxZ\74|o%y 5I\Ktv %bEߴ, ܛfyklh=E)'E/1^Y >.^o Jc蝗dS1Q|D[}2#j4 CY^8]<7a\qGZ>~oB=Yk0H%J܂ ,ƙ*dvOAaOΧ3N2h eZ:)R=]> ╯WtѓY nGд~}*nRU2Bl՜()':k`>Yi "Lw**]JZdy^cլ.;&Yy'偩$e)ac䳸=//)Kv.џa>CWp M_>p'utcݼZ9J~Z(QD|1#"ݯbAZf R#A4UŔ+-'9ٮݻ}g"9b*`jWqkQG̨4-rtkyQY8[(>~Z4TJhFOWʈ癌ĖWJHԶP)+7|.;#FAAf" '&jd0c`ߊq@ZgEJ@N=ڰ|);g$P.5epsBЈ> h_P}d* |4q&aD%"ʖ8Gir ыX*xbE^ܝM%zl@K#(QcJ.WTR0 |5' s3nM34US5/en֭`Y CL"'Tty7 1ZQB!D4c;o+Onżm'ϥւ/n$WP\A\'ɶ3vzz/G*zUH2.aPL>#6k fY5p {mIuɴBh.keY6a+ӑ|~\xq)Ht='a  }} 'MJيհ !dَy\6 =e(9dժf, /DiPM1Q7}\ lo'eNx8fRj5T(g#W d,D?`QEQJ ь)ܮSڽ ,pbR35|1CJX .T!{,Q}jxm;O> 1zZgcA:/R-3.]Gђl֧y&-S,W"DJ-uFrtǗBGdtzf{&y0hFZOPFsc'K3wօƁ6*l29,rqتMGZ=⺭+G޹3_kfSAiS*YлX8s*?jX{jm>eSP  sIs@WPm㨲&҅שˆ;!4|Muk7ytS[H1V(ve:X6@;+|.Ct3ER CHrA2JվVWo/.ZtNs%\􌔳uHH6%dE>FhgԆǜDjuV42)kpX_4֝L} I5{ugX'`Vx9;%Eatm)t|/ ~u^Z:=/6yjFE}i̳;ϙ{Ϫ12.j[UOFH[%RYr dQO 1q|Q+0E.mM]養#M'XE mBpƕ$9/3yƀ1,Zjؖ;v%?e/.@슔8"$-,YbU:(-8 P/&P&}Фn",< 8F$pR"]mU!Ehe4i@z*[-{W6|s"TLX[h6< |C[&66/+zcwDZE3"`㑋.ܣ@jaVC"Ik] ŀGAu3IKU 敉f9A>3:Zʀrk LA7t W3jj0XHnʃEu l>n)Ϋ* IħAeb򆷄M!vՖhXeXiIkj' 4n'&J>We\&Ѿ2*v Q)j.i$ڬ njWjtYt\ifY#STХ%^I r^118 pBd$yKMY~'2jWxFˁ 8Un(0 S[Yו;X=)LR NY4pPڊEъr6//"W#*B7 セgpA:ȋgZA]?+oOvM|\{Od֐[ltoVzTM7niC ~{Ǐa; Dӽ".R[٢j ݟh65:0'2s&5isQQl&E[k_dr+M^Oo-mcwX;<'$\JE$fPVT)(m k 5~7-4-W}l|epZ> p#-{'g@zS[n5`hM 8=u<<=x\MOx 7N`pt Mr]E_6߼cFqMO&X*\ 5{3*VM&e4@RR_ WWyOhFrQ\ҷ~l|O44XaM7-%!I8n<'Jg&|MgfX{dwo^^ _LPP^KfGMw%T+O~pe9n31I&1V uV \ic}sdFӼ!L0x0.=9q:0nh1R07 J 7a@/n >L.^( LXMRF>fLfwų"i)mY0!40FKŠLT$NI0c);Lr˘Lʧ6坬H3G/J}<|,*et_pjy k7@={׫vcqNyt^ Ό e'咖ræ ‘VLh( ^َT6S^N*QE]xVop+~|}[}`iܿ=Gp}DmMJfΑ-ƯԱK<ɝ1LCP\f;Y zXc\#xv8eq:^XfC\rH\Z =W$ZzBdx͹„Nx)HBթbMI8W*S,PdG.Z9<5W%A[,aVjV?ˆhG@5n d݀viP"\m]5<z: ͆1DZ td#x.Ge"Gmi`~$8q؀K [WieV իK-w _c@!!bEtI%z' .IED||48)K(5 f, B.F͸<F0.sO'Z*ߢhzc1UDʷݶ\[Co%ceQĊ<{Ysт|j@`ْA(UzAd"bw8c$"xjB\8iag): ~#z+dCJML82a}VP*LU4x>vg-2!b^싚$v}V'f;ag9H-ZG[j@dKj#/7hP'd{hP /UfQi"ՆȰK rHg-1icZOq+-SO6umiF|iKN_>{lj fK"P :Ml{ɚS |l =9EZw;Uesů^Nzk@J鷆eMМy N!޲h{c&4 r8;( &U6OZiN쪋] !(q^MbNMA4^^ q;W``!&|E|l x٘wo&[>;H̢WYY.55K.Ҹ!A5eCk8OY)Ut䊋/kBU',^zN.aS,U(zI瀛@gP9i3.q)ڌ|MkgGޏUε$CkeX3JR rbG=zA Zo|~8f[޳O#YOBlq8ljI8 >ܕp`|[Z8tӛ=~S*Y4iUK2JG*oArYixfTy95((:khlZ)IiܶUu n^9HNkgеȏShy@1 w׻r6z.LANm/ſ`pKhh!O< ";ccB!Րv'qF B3":̀cZ6]J\]iIlCJrN-ӔJhǸu`9ԒnؔCT6TEU0 H*cpN5m&phF̠(nSV.b1s`Z639{O`7{a#|MMP+'P_WwS# e šLEL7@lj&4Vن˰Tkoy^*PLOC"2qU.ZO!Tzr?և=F†Jd\U?;0'Ͷ0ua^4N[ߋ/~ԙϟy+_~q?uh`sΠ˧s_nvPRy$~ %o!(Mp f$. {bΛk&3H4_% -ͳ~4`+хyy"2rD37%U!̣<8 ">R$z X6^@km>=g.x sA|8ĿK 7"?73v+B_]'xpGhǺEtOSJHp1у](enɚ wmݿDص ,)Wm1ɀ6g]-uDh(NH3؅_:4\tnrStnC,y+`<|Tcq'1UwAOtmm}/a~=h/)eKbş#8 `p~4;be'2I=p6 B*lz tWM81X M 7MDi~+9f4@(D%o^2o V(%htMH}Z]hˢ밬clMR ,Ef*̞˦;ok;4淒1\ ++Ǝe ȨecA\w.$oh9B^)̊Qly(%Fke"l uV@XpcDC1wR:EORҶAt,!Cgv6rhgs&!`?qq{ֺSҐ.neN5%^5jΐ%\ǻ$Păؼ f,!LhX0lv}ŒXxu*.9%:NdLkcɞSلHOA%\*c"f 2k DURqZZb]WVkSة-sgKp)Ndp}w(~gkD7vXf~o}{q^Wr}X-~{Ϳ|Rjo)p}V_,G޼`E˻Zh` ^B!}AT_䧰st(OX8(]/6ߝdȦ?0a P^b mpn^++d|RƤ)e™f5.WAt pgwft`>~#ݿ@|#Cbٴ<D S#r}2#s^e'^FC織:Olu RjWdM.5=*6.[J~d%‹v 9?@`ź|wK]i'h78qf8i2f5><~iX $M9̓`*ߩg0[<(*;ڿvz7O>}Ξ>Xt3mj'9Fwt_[Ht9cj,Q},vjPrj9"eÓ)w1tBaT8D;r)'g"Pz&x]UF9_OnǣqГi/x+єvbOd܋jݮQ #^!c8 Q7F.m^7/gGqI: $,F v*?2G7.#JZtt.7 ^J͡EAֳުTD󳌣"э9o哉(ekFˣh< B2GIM_`wQ9ݏ~LT8s'>JI kw* -qR}F-%$܂=3 j Ds4Q0I/h"n,L@7i;MX9aO |,1%$h/9!Ό,>gby8XrS;{:H0M<1V9=:qiUю)Bꢪ#3rA YͲ݅ٸ2.ՆD`;VOgDsvqL/Q"\jt[:/4PW\L_C;27ߣ;J}`qt̵,v\?88UKc=[?1[p`x5ɔrhWla {2DA ~vM?Q׮74/~FA7SG.[D3(bK7Awx{ 3۹Xp RF V81wLqH`v12?--d8fm--~vo1[NnjcލouqAc ,oj/e9)Rjr dkHz< 4Q+v MU<"ݿagrXyMTL]k(/Bkfb//ܔ?}vXz໕b\(pi!) D=h]m^b*/pgEC\OV&1w@KI1rDqJh+$0k[d y$ˬ MBpյynJKDW7"WV5E'] fH/;݂?1/V=+s|Qx)m$+AtU)5gEvw -*!FXБۃn.jw*FLl723 -Pe=0+' 2>@@)Lz%ff_zߟ {w^9{lDN6|swQΎ׏*p;Jv7lk.7kJP!7M G4w蝼Ir_?$,.>p9qرd<|$nWx*x "hc#[!Qƻ$DCݳ\dgpas`7傍9cd|tor1l2Af8A.戈HAoa 6y19Wץl'W! C+ F~t&ɩ/ txy4,p`!1 'jd'T?Coc:;`5XGhm@^]at~zG3..x.E]$ʞ 5D$P KٱU5$Ofh-QC C5.\UFr*[-|}Ъ ')KU7b 7n E 3o(cdʓs{zh6,9-sy]8T]ݵQ끤a筴u_ԛ'N\̷M5SCA&2ѐM6Y[VFKFőDxnFS5K0^l8I4M1@4@B'f$8pW(2ҊBXPUq/o TH AJJ2?F ebH*יc2bZuzu(8Q_< RH3[n(V!=WVO_e \UMpVd]Q}Ns^ݺs~圙a?ZL`[8(RQ&r))d:t ҕ.!Rh^5E>F'zujjUoIj/z)ַ xV<l+NI ()E|fKfH6, >̃ZX *(8C@F4Q5|7c"h|R@CXw+w@ĵsf;9½Nyb)a06~ vPWJ Z4(#j9Qujp ʵ:VD[)Ir,=EǸ2F8ȼgdq$;IZ*i+%墾.JroSRvK%Ht ^&N"(h*$՝1T;H&ϺG3 U8cO ?'g0cģ̂fN.#/@;G aAܾ;jfl0ZM&=Ig@cx~3e-HַOjLMX=f_,22Q8)vG Be+H &I"33pb[  WN&^o W^՘FM_E5e-e 3=_󗏬sw>eIg Y:lVx8p/=\ Q8s31 {U<:)/"j64pmhO%;BcGoXMA~ $[ 2u|mɏ ⡾@ Q*!:1\RBy !ARFf/Yz&/ǕՕt P=[b:QV mn@wa"UXv'\UdslHqKmE? UoRD͌N _ H^^$$cJ qg"ŲЫ}|o¬\8B6켖@y$LL&BJb ._<lJL\pD&=4q~O E]ZBz"Ҩ9=,!͋[pKi( ޢ\#lh 3xi:&AV퍒~ч'eO$^γ/ b]9R-v[x9|zOfu]!9pb+f 늌HKyCOtG1K톚ZjZ_!N/n" ,^{isv 4lh ӧ%d=5 kQB~88?!olA֕;sؓ![KKxm*KN ]+y06ȫ!v<05̇-Td\6E ߄)@ְlӬ`cO:hgL'~`ԀMoFJ$BѵoV=YS5G51-O vhD5,zen$)F5mm:pt?'ǽ Bn{/1XK;(jbC$6_!Ø]yЯ |#5C. *%vp[{eLL‹yJgdePz!b?]e!LU|Z;OPJG\$ߞ]](F3$46-Ҽ tGZgF-_ nfo3N*t76DEǼ$u$ap0IfTSb tJw}{g /\šp|4d 1gZ.ñ@8Y_`[2F[hmQA\J@lVR)P㽁CP2 va‰f3/&H:@9A#?fÇ#V9\:ɘl n(0ez 3^5L̢qB9Båt]2ih"J5n7D(Ɏc=H0w #C$5v2#!SUm0=t_sP,t8L!6у'Hws əY['$tBRguqÓ/vu)-xNMArq-'2yI,ҹn=aޯT{$ $|4xˮKAe%of>+G1z}2b9:(,)8Ds YOs)"㢘E.'l6}te=:e9FgO撝[8+fhsSBPi=E"Z4*%FS^̹#'2:8~OTV#Ó$nY3fA҆%0XBFl%U*gD$4^qƑZFކ2{F4LCYP &#+dtVsz4~lOG#\ղ9s{ $wCD E ߅MW6rn:țEWd?/jF*]5ĕcIJنT'rP)Ѣt#w2b zeG?)/ .ݽA,cbokkjygo:I.$8ƚTk?޾;y|4H"/`@ˋF޹bHC5~(c}GT.SeF\jWU.NFJi;s{߰uj(%= 5eC-xL]"Igدho]M7;TJ4t܆h(@k.Ѕ\+\kl/O9"g#Ⱥ|:QN0O`o ]^38?(4Svυ5I׽v,r)G.^fX[re]81fJXq⪿5I5y#q5AVtX{] uG g )-Rn]: &m^@E\A:s|thk 倅H< nԁ2{)}W`eQ +SƋ=y,0U~6sN|0~8AQ«f)ݬTqfXH\UNM3jօF;PVx~ h<ۭm3:~}QΈ JWaYAD)Cl؆O2xAZi'HBOg88Ny|+HQSWMZ‚ DhuQ2,GTs EQٓŠ5Xg&ťXkv'1d uޫ_M`FLHhΏ2lL 4G?/&ab}c?Q#,jr۽Թ9pg^Fл'2pU:tmOzޫR}xvcw`?Bأ S9LG*㵞s[N8,PEbN_f"q<NBdK @3ܱ|#.:Oձx| - x0'_,h{)j\ :Dcy-cwDE ݣO_&ZIȮZ4+@>&F`)QXU4ТJ1ӛ|)%R&i[B!j8{kh57j- ;c kboMH3 GK$h70oQ? \T-a=7l9P*?' H#ɓ&Y7Iԃ|@ăG>:s~Y5^8I8!،NTeOnC`'i sPAB]7bze52&ġ-YoYI_ , A\< "a)#¬:GZ$|<$RR=WBvf<ђ71 CK,F?]vTi^bU.  /Y9g(dAi.<ײȅnM|e ~׎i[pˊ)e)1Ba\QȁTE"x%9'^rVք 4ҥ2=IΨ#]>`x9LvKZ]ڝ#ۣ! - 3+tH3O6-8eMdx1ؤ6HlUrs^pǻ~ TY/M0 U. ,mac!;V,яeDDht2l#{z(%żٸ1Cn$-\6!msA⿖r- 0E.~f0I~fɬki[{щ>p<5Hu'D3 Lju7,Rوǻ'Rgա2[)"܈␙33X}kU+zMB6DƝ0`o]h +yUhG 7UZ -TmFbo РGs6;B/Ж d52H_j9I]rItK_64nzۮXr6g~t"&%c$3^EL{"LˇdhH/t(gb[sʣ5,:^C!#x;?1qj:9m ԉ0>Y~7w$9p`wA(^].z&-ȢmO{J90F|x $A6?BE_A>Ed% ӗ ʞ*Oe6$8d?WYcuD$D'IT/bER ~ BFQG@YMjc, soJw#~n/yW͘f! @?U5\T\F՘kFV!}N`0i^SdoڥzTY4K9u8,nt!rFWQ{ ߛ^hfhpȠN1Ɏ b7-2Q:9&-|aN6zPgPv~Pk0OqCa\:F^9,rpA}"f"$OR!]]wLO>f1^ݦ6Ow.+A tE=T^m-!\8(tvo!Z+?m+F{wE"Ѭxz7_CD5Ə;_x<ޙ^ `) gli8w0EPo>s5S7̤Shʷ {d8!^Mc$Q%]O!ѫyk17Noʭlk}(]=>_|/>9ug^W_܆O:vF9dt4wk Tn] 0aVH"|c-<"<g^d)>EŃ@Z—co@@Kq~[k$ KFc# 0Is OE>-?M?It;Gu/7ˇ7J{~ ' 2΢1afż;1Xrօ-c<'$زA;2BPɃI9Z"E#hkLpzԈ،$ 7LpcN1oQ@&lG[.G6kH@tn`ipaEݦ]!<Xo%<|b]qYqaŢlQ 5 v#Q Nn!KqcHd-AciHT7^,څl{E;;oX帱sKi+ֿF4Mr#w6JZV7^k/շѢq>izo+hnzmx^7ϿϪ= Q6EA!XX^Dd(}]X65%aêrz?}9EtbmT6E^J' Ecy7^V!SB͵lgXHSQC9}!$>=}Ξ>}cmcxIJؚdv=8uu7lL:Ҏc4^Ě'@s&*)lk< e~:ȈǮ7:~ԋntc{u֯ufhg91A „6SG zȴ(%7)!!YRm -a+hS*hv1gXQ[ACߞ3%Ec)cT`cxHȇʠo3#x7Y!k"~3O NowYlb(xf;ިO y }|^dShoGRH>J FJƷbC['T$C%GcJHf\yYc.Y9}hW!Ηɉ޷a7hrY_<LSyWF,|%rS}u Fl >{amNr^R?2*Ϸ-5yoxE>"ۼ׏޼ ̅%F r{^5.kp2yYn 'e^T#_H0/Y|c*pp80|>F[n2Bw0Jb?sXD&ns2|"41h- F;iY -QBU`)Kƥ#c=r-w-&)ď;WPD Fyv0';|J 홺SXjm\ԛ䳲x)]d*7׳e7DolNK:C+gx/etf;98Z~w2E텻lMguB6 ء#n©@Tpc05rL:|A쐔z|gLaO"81 ;EɺYq9&&u6HnX8 ޑI<MLC*Pz!Gi:hR K4-M vLKXI'0N^+o@{/W*CQ/]o\4ѰtҀ/v;5Z17RYL[а,OZG a~J6XX0ϜKZV߉Ij_ "Yd9BtWk5wO1?A[J'()n6Np&UH6q.N}o%EzFc/`uzT»197q`@ ~69KUL9l x3اVps_]iu9,Y;pN P\&½ړhDDU^=u)e0 nGC{orjW8/%XvO0eS=ZCЊ_9T;m+kTgv1'KM,'F%y,ȩEߊd~`;8ѮKT{N8 HpHEBfj AϘar^v tjTŝג# Z[Rv^&+Aw(؈r^G= 7bRʷƜpK@ cpmlGEq&!Yѽ/8z?Mt΄c E*l &?s=>C /'͇K<,{?*SoyV`*LME9pD;0\`-nKq44J1]iM !pg:b¿[VT/r'S"$IwK4![kQ$x&ʊ[d2p:>fǓ14 =TG nd0a2PC%6|<`v&""iH1[08ngØ+4T[h521gO2BP{>;*uJwngLhW" ~w02tmGݳ`đ`1"Nr2n'.'0d<|YsoR7ˎȂPs]6s o&E~[w#>Xi'Jb u'/$FEMfNaڥx{̳>v&,N M҈=:Tr2 K7:ELk \Dz L&pBb#|yɪ¿o%wDl&A3n0Swb*aNAt)+TewGYr̷o`ቚkq(Pr r[u3 Rb_wAMfÍ}i݈bQ{4LYCU͸B>f1ǶV/jf8\C@ep0xt%[U!MHh,eu BR5.oUy  .("#=zMB}%.aJEqW>q$-(_Ge<Og^S|$\+Pz)t{*nW{G`3}'RJGIELSozMeDbF\/#6(|,Azs.H.zaΙH(c < SDܙ#."BZnF14qbКCC̲zp!Lkt)U}ӓhN,elZ!y6Nj|nIs0jF`qԹJ ~oF6E\>cmgטdw$7?38VpWFк-bMgq P=aR@cVoqhulJۧ\6f~O^˳1H H)-|%",:<8QFXz[MVodl#Y)bᯥ*LtSsi`{XDm>Pu6uTV=r}XF.KnDl]ϰ$I`ux "*[k jҔZ$Ww[]=7ּ&9}wn=-"ȅ{w{my;y kr{hRhA`,b3ry|ޥR:^V4肤InG }mƘ0/1b&'av+>4j~:ۀ64+DG jlx){%s/g}/0Q6hfJ_8,pQ@h1{pQ =[5^+c5KK̶Iq|q9"d2%.))dv!kYH48mt&q N AK^齎YIOhbToFLWn::b9Q j xʵZ" n#9ڸ k5hƁUߐ]bcyɪgiI@jC^CR4PsYf6гo+ʥlf<2wv-xuAO1\F"F9EXquIZ wW ^j!BWoD[0tq/Q11,e7E4%`8w; /<(L9xE[CI)vJҔNy5Yw'.TqBKf ;h:*|$|H^=MB# =]dMjUv,^+ 58!x'rRj uⱵO-&JE$u@mRW`ᇔp`))r`,m=>CxaтxcOt0Jk™%o-0bV(5aM?LƚHb8% ;E]N+b/e(G#V}OԮ4$Ae[vlh :FT"%+ f0tMy:%ZrDe8BT0㯧xRFH>ii) ;/+1\B,C뛜7hG2HbM:Hƅ9"':T(wXV Mcy'LH+vzDMLHyDr%h]mM(ӠT$9L ZmdO\euDpV/Vsiv\e̓%C=*UK#a%zS M&}·qIi6,ǘ\1D9SIcz[ܼ0n %B .ؠQ+(3Rq!H&` 8/4хHf͆@ywO¼P-rqjqۖ{b#[:H.$qu;;7#k+& CQͪAMP[EV%ׯ& SMS/@\,Kh^mѸy3Y\s/EES8haIֳr cHC1rjPw,m[8Gko -m3*=+::~h%W9GVN2@bV)DZS/7/ըx6 fNYͥ-sRU~38@9RhJ11jGLTO#+4X8>aЀ +-fHIa z<1@U[_֭wW4i퓁+A5.pgC댖70qǑePj497/ۚ;u],M6[ݮ=; `DxoaP bgJPwG)5"0 ")l]dJؠ "y͎ZAqysm&m#T®`M! tm3XZG?UGDm=}suRt&O`$#>BPg]p> ~/#͇Nwot &pv[U|Pu*#{;{k2 Wk&0s7 l:>.m/'20$.6$ T lɆS 9yK]UJHWBoAWXitQVЀ4f[qң4eגsWwGRנlU)?d5dJ~aEL2b}ݷiB%Δ3pXhےo4ŒpJȡZ#3Z*Db5ȞG`q9hN .NT9':v6e`8 ܎K4 [W.WMhGdgVw?/=wzzћAM!Dk0fBBpy9p(Χ8JeA@gGIg㷝ۏQd_7*0U)Rm)RV-^Nɬ@,c1\3ԑ]Me>v3(MxL;LvKZW?is|Ic{Z ~{ =NnQtϯ/ɜYro]~2& ]HC0Ļі+tܰ0V*GTnaP>ɗE>alб咲h e+p_n_$_~b;pȓ+S^1/UF%Uyq" @X/峾͖>J.\ZhGo-RRFi -=U,.[Iʡ[|u-#]1)s>.`s8oG$S'RђxF!4$KXպrYU\P: *n j`Hg\*\Yli`:a%j"[{&ݔM:"L[A ;2kpp I'pcԦ^Y*YxlURZqcȲIj%ʠ'dŪ@f<hCl8^MJݳ rr wtԖ䌤CLZ{xm&Aٚi-Jz{E쐍awI( 0е ĢlM)D6;X P23%Ѧ!|Yj{m쇂G@]ͼ\mK-CC$d c?ξƶai?k-? wD=⧞7Eg,2#[g~TV(atĚf'p:=S6܄o)?>Ħ1& /AstL?VXL04o]e ~^m"y.|fCцrCu1 hm=U "MB %f!&eitxBK .g`>Ht%/;= *W{&lcu-g#`J2gт~Uc'9ܸvװr;~ɱ7~tz{kOKg3%}B6|}zo$14eu=M" 5mJ%zd㜋"a٭t%-} ;J|0= ӛ0= VDLqrIP|xrCSrɱF&r8Vvx&KNr|΍0 &VaIÑx $Ô90Vr'Ϭ˯ t9)}8jKZ淫X\<@ ߠB>|Y>׏rt = "bI 4ڳ4 Y9 p绲o(}zy(NBBZ4q!WlpSOx (6ѨF5ۉ?"ȭ\NϗkI3sjF#4 a)J|,IhKH#RD\(4S$A{~GJj+b ]h"`c2`n>ju;Y:eNѷ\][I8r~Rtmk_֐rrAj 5dHiF!8Ebm~ؕS;'g|f ;Q=m?IhobxnkmnF ,h\BS EgK.b{Dx%ٲV3^g&_߆:D*XQH'Ys糹@ζpÇ-5fќd g0! .hbK}1SNn5d]1ÄƵՈPfA~e%~'l4f}BOnx*(5+!7V9. JbxH4W6Dp|E_0|q69@Gsx́0lيo'վv&e8պYնx[! D/ROLf}7" ?"`R;K>0zAyilHlrIw|׿ }|)8EҽJM uQ5`V40e[-ܠ/iud)([U$6{@ZS9c}[o9$~U?.|0f@N=N4\u"=f'!jqXcF ֤BԍFë`g' . r+%4р uRXo#kO0W2[ 2aC3qc 8g82Ėe!AOoCetAagjoTm"cZ=\ctU\C%V2y%g*D<껄VNxVz+Y41X7 FjA\BEP~nW:2=:>3ȰESbγNOP4tt@5QlPY[#LJ,]^u c}YzoV VpΘv .d*V}clHY@U]\o5Fa NFƳniaҕ0>ZV(Q= ?v ;yG<[]{pCwT༩պ٤Qէda'h%׶:x4WrE"4Z fDg6DE>%c)[Nb5cUbSl4*Ss A ^ 9o*3 H5!!=%(ڵ+J0xi N=#IjTw"Q R?! vw h|*E2MUx)%m勃 TJTmWT>a'VkN8Z%|PxrO8r!hQ6^s6[o8H~d u|;bhm`IA,aQKK@_JON@28؁8W4 qj5%xXzz>H ʹwh۽Gp̈́i^˙AF4Hxxݢu`j\./#sdOnb4 Zǿ]\ɏ歗1D97lc3(;֘=Jo H2tQpLۑkdpef/Q?;qu#n&)mtQ0ճ2IeR(ΐu d$}Cy 2c8ڒ(F ->1JЂd NaV&KQh!$%h.^{g⭉)-Af&)"p ~cVR ti`Z‘LIR S11H AD qÅ)}RtG壐+u$ë\x&n8[qm\ Ή(贓?! A1Dryq}((w]9m ևf@)phBg 6dpO&x+'x,l(CO ib¾bON:djΒv$POKY<6*FiUIcؒ5\~Et 9}mK]8t x@;N5|ء9yW \RQ7??2p3<*w5bt3>5@$A$Zps5j1j5ZM:2kѯatʶ\H9UJN&?iCoܲk 4 apTe"n+f& TXe_9TUR,$a,[N!sEg0/HPg&$^J&аRڠ=!No;xwzpbk<7~m@:!cê+rl4+L׾}8Ml%(s`uC{R#Ǯ{zJܳCشI' v7/|8,z,EaUoyPLR33FvԘ.B7Cp hpCHD9g׍bkDKWgg1h m+s7VLZb-@` cADo%{5o*D`.=DXHM{I3 '(&kZqɟ6RPiIzO<p-8b<@qw}gB;0 !,*9<L'] kU,]vpAzAgC+{J4H#:¿gx$Qoc0"081#.ʇ6_#hJj#ѕkg[[SYWtqxEb- f"ݓվ-gCȿPzFcYjJ"S񑋔DB%[2aR} B&ǂ:$TD!Vp#Z;jMz+WZ; .*G8$] =o&/S|1 v5k%M7=QbzJfS"<*Be^ɌWO.#; >HRZ痯^0kA]Hyy`yBb*#i<[d /1]nE0u_o-0$AL lROuLbdJW|aA6O(">~RvƘLЕtb|XxbC¬?q3f)|ȃXfX-A6GR%2I#K)c@"J$ٚ>D}핶9u_~^sRa@Y| n8X*A6'rIrh1e4d6<FQH Ns-LC7P.31)I6hs"F ga.; z_z>`xO)sC;pt0XؒN,*)ŷki70jxO@ա㞆4 &vplF֤NzM[XZ &eW=/`aq]w-x~WfC6 d`͙!jB49Fl>=>鄙Y2z$*+͸}sԾ`b z.\_YIBaB|j[@oُu}#K1 PA~2ZX:z}x+Ha=w?%m#޳ o cn=kaL@8xf4_p֬?I@Vs p9pI! rgoV?RbIh&#FgZpuŕ@FE(BA TC-A7,3gթ#j+W/׌=zoq7T9L9% is3aWrKK>e :`]"xwwoPW@EYK#rxsMqI:4Z{(x)axuKE1^҄`t ` =,5V:T@rBcPFO D@ ȳ%Jt?яK0:OC ѹ7ꎳ'  ˜`1G'+lm%6&D.ddލIyuzucD iӄPη&aSYu"ݱA܊K<=IہQr6[M|BP]}j~S.;Bn[Id*]h:ٞZ*܇ ^ueyAR֒`^لlN0z'1Io W"EV/x4/3glsC1o!aTwzG< :)KX+aV bl+'^Խ+Gq rwֈQUef[ a.VmgU xV6mTwLǯ >|\3F{d5WWl4/%hue@G6Yüh^SM)_zkB V 7`O<Z<pyk&l_(‰j ́1!KNJ0%p"?#^YK1Nv}hvgvzϙO{0~G@!ȧѼy x2~Yw8)weD+צZDv웃Ȭ*f| ό %2wEIO.g󤈀V^?•6Em)IVz^\r=? 2YR)>t7O8To" KR еgwzC7/}zsg@%c[(ښOu#!%\q'':.gM, 29dHtq;t-ծ= *Le8%gX/YKHq+NrŶ~(BkPx-*:?NA49=8#^]Hܨ6Zd!/P@JRǐiց#Do>%6$C:tD@>Vs^w:tT)bX:m_]2/fPwݤvvGv=gLo{!@ؙpv[b8ٟm6Q ޠSZ̲Yt'5ԗ+Pā316j:l*7|E2WHӣj㎇)5ƩX#d]Zop-Eggx"vAAy'T(t1e]rd'*?t'Gg^s_A \!W{hNJF+h=/8 +=z=|8`J;>}v/¯}9C5r.AtU?p1,IY%{r*K;e0M32ICႵ EXpq0ztk7]xM&j0( Jv:f\C?ӱ$s46e` # z*Y3'~@*SפAq7 hS5. /vbK*|ZD;f̳tig>`_QYFTu%YIȭFFyez]: lƑL/Qk-<3H~i"{p׿骗Q_K6& nQ0 :p V7B|B꫔da[_"tPN6jKw22Ŝ!=ŝ:AރФE2cdO}qِU|+O]v " <b2a.alEE`NA#h:fp(N)6&}A!ˆRk sZ:5䕪 Lu}swb<ʚ+\)Z,\(\`H< ;Db_(G5%QUbq4yvǮ(E0Ik,=HѪQ:E_8V/{*A!# jOH̥Pn #@R,ДmɏoɃ5,HF@9:[VEؔ=R__~#IU f/'$ 3ERֈ2Eq̮9#6䖼3\]jտ?IXׇz2t5>arFip},ĭ-B˒tĤ\OQD0ޥ K\]rٜ҅hh-Z!:˷"(!pYP_Df)ϷwwWNzՑaj#V41E /Ґ*g_>jZL3TlJV0To#;5'Ink"z;&,߉t+5~)R]VA tCu՘bq&<#&ybkPg._n?ޣ~sCqIIVpTɈcPލ2`/:嬌qH"x ob5 F%i7,W5(|+F!j ASt1tHcs\YGD[ ojd07)˰py-R@R`0!õ 2Y]x]̏Wq0U_\#qn ֞|tgqH0P;IBh[}EuX-8I@J*\}1r[HmO'8z -Cf,W`ݗ[jiպ4g`:B1vsJ :IVL]|xVNvfQWtHWD.O/,IJgL 15"3fAyTbP_s%gĐox~da:o& |BD.P`6W褫Fc>V:ި 0_.H8rDk"UpV2%AD Gzqʼe#5$#w .J[, ׃9ѓ stEo JSdN [R'fg|%K!At"-VѾ V3'M4 aHq҇>_^Ph [ h|h8|p<)\K-$^lr+M^OoaZfYl V t>+IpOnpKPzvQQDJ8mAiH{b+acA?[$vߡϕ Nr hC|rMP:wc!6O?YWKvbLtW0_&!*KOo^n5ü5,!'A2$1FGp^wO5sֱy9N.[i}h1k\a/_ {e8W'ɜƚ۴E $өceNAl?iJ5Bp)WLYdVzBU@ o URx=E[k(/nAEh U^A8:$z ɺq"Z6rOv<5w'IHlL46.0?ۼA^{%հ&=õkWpL𪆍)~v6cHݽZ/74d"q Kh(JdovW«P=4q#Rk0'+{ߠzmXkz%~=R-M(|TIߥN{7mYzip+aODz,ȞǎmiӯBRբgEb6h'W%DRE "{\'P0rB+2ɖl {ݜ['52I6.u6e<&+0V&<\'z?n.b\|{t ֈz3*xΛMM9VbUl² vgi8+Ms[Ѕ3潛diK2<`{"su/ kR"P/0 LɺY%+&TB5f&f= UhY"8JŹ8'1DDTUd<|;~r^}==HIGfu|Ur=7TՖQ[ъ- H$.Mh`{*ށ}nZ"g(ri L.zf cO&Zbd@n i3t(u>{͸EJy,>aS(*O2 خ2 9L;4:PFJa QdୖǽPI A:n6i#>m3D6!"@7LRE{RP9^.DB1<1&BYFLFbUߙMPUVooDdVy{Ҕf0$ۂƠp|nAJTSʸvLp$`w6BtvyeRzy/=yRɊ !i6D3X,c*OthqmlDA҉D =H&Kg2$qR Jm3Մh=Z@fCNFRff~:M@Vok&℺`U%1шy}>C,.ߣt|ۨX{<6ql:;uwi k>ȣd)0ix^q+V6nNtwtHFLy pRTgy3 Ԗ nj zoudϛA_6i\~wc Xi{ Tא G/\xdUL҉q>Q 5+yA'.+ΗF4NM{x>-~q)ZoPia`f FYzSsaiD% #1B?2P.,B'Phb}xZ«xX?Q -d5E9F(!'ms Ҥ-͑Ī,B Ud(Fj|b[ .ag7+ɨ,+]]E1l#1|/?3Ȅo@glB/ t:)msn/VenȨri^-Q7I iÆȔQ˯4wŵVuh2kŰq6tOtnL",5~gЎ ج~G]E0&ymCZ`H*N#$=f(|]%U88=F]'#Vv(HnVmHLuԑ; g2j7[&®p]%1)]FcOϝgDr]u8lQ~F>l]F+@Å?=;6KL6fZ!pАq_PaJ`-ʚQBaq*k . tTno{r'P8SRҪ]&I$ǟ|(j(d,ƊR ^b0)l9r <6)F،EoGL.^SIU}wR=}ٽ PԠ\<$_+P^t};ˆ# XLe3<~7W@(zZ/UPNdЃ|<Vp‰ճN<*‰ 'pf?'_Op WJ{6m/_7&ͪ7' tG$F ^lWή8F'1FpWzꅂM*Dx g4+*Cx jQ fh ]L`-([8:h#xN4o^60lPA6sFd[Iۋ]%4"Iw`Ep'S'=d\Rd$Fp "TFo3Z'1F1;yT:"d-JӰ*@XAE#`nfDō9&Bq𭰃_q-[,E#A7S5ŐX#{DB/;48E 'fg3KKg.p{Lf``a?:Gt|[#,2Ea!+ xDbX@F,H<i&{7(ŜW&#*ZH0eH)AO x:)Mpsthُ? PbDDʸ'3uv8jBzQq }p[*9ЖΞ~1@B{bļMN<;!VD[$/y:[K: :i qj,E'..0D幀f6_M\q4M{ ] 9*(Nw:DSt`X&\VC24 nN >XIwz5 lb,ʂYVCLR:uiA63efgB%z DD ,YLzva$NgH"X`%Δնh-ĂۃJ#>>_-d/y:Lj\oO 4Um vܪٰx^kDlv5vUZB[(PSIuwN#b=D$&!Bƣb:2YB#|ʫXV֊s8Np}EMkR=3Y :MWIKAdҹ-:Ce!I#65mǝA12AfΈ pV,F葋itdP<|{վقBÿ/@0X>e+LJbnKY&S*@εxLa2  +[ iҭQ]DRtҒwYufϴXF9Iyg`ld}YAָꮵH+Q4.PN& eTilm0wEPC󤽒)l"ZFwea QHAj^>7_x:"\j=r!-]e-p82[3%i 4*A=cT׬x>CVWG\ ȄfYC5C24A21H//HjWҳWQE^zۍ"Vgy?VN?܃G^#Yq}"Cy ӉfhDPnG UVÎ_m&` @ٞQrhD xޠ'xp;1{ȒS:`vt|-lΛ ClmtrA4xG>E[,$sD̫*=qτ۰}1/pyYl#' VBtx cm2s%xNW|};I sA,Āg8N[[&Q!0dNI[R*FF6!0IA6Tyi9 X)ve]P:2z[XhEϦ|&|$?jx'`01`Y!X8gWLgQ^AG:(yܖw!Eq'xhDgU"Im~^5k>C1bF iMVzQhJi#v YM>B]_*u_Wl H^D&$!7N r$PfhtI LLp+l D8AmAzqO,Az GFR8Tc":GIjFaω -;" ]ZHdt7:h6>C 8`?[0N'*K0^C4 m2&[sdCb@rV`;gXwH/A2,g֖z2rX­K&xENKqؠߧM,XIPtx^B8AYcmOܻb[ GqŞ;n4Ӻ+{bzvщZ;X( 卪 sK#ݷVk.6VwM:y}ʈPJsƶbX?)Vl`1U |S [ɤLmEdK@Ѣtͩ!bOTB!ݢ0:3iF@L[.)>,a~ !5vqC1)f_hL|s~tŮDjAk<: H[D x$=RB`sX,69 vDh:XX~!m!KJ"qS$]A F-ݕ:1\@Ӡ6QH&$h7|ERPEكӅK+&!)5KB&CG+6g҈q ̆|k|s LZipRa(/ zrӊ^WӪ(-9n%C,O'J+ +U?_wS1@k3ʵh%1-C439l3")-ڟ vr~ ǂD9w՝hY#A8ڊ~|X7Tm1o1(v*^ëh< Xb8 Daamh,'-PKxS', #He,3`"Ӥ3 ZH=!ܧRͬjXxnJᕕbPw *22~XȩoQ4 }}&wE9L,T 7$Q5B[A~dSƭ5Wذ[.4 |'ʄmy@[pQ;Tފ@/L$e3UG-];i P\7ؒC SsNp:no%DAPyE[@3 0EmK\k0oz֣U>iuA۸eޑA! ۬蓶.D %fST=í !YkGt |Th\hdԄ1z)X΍qJ` ;6Ԇ$ lB<Yi6 #3P&='PtHOwZJ擛k ^0xK0t Բz~_1#ȩҷ:qM$+Y$nC-JAӯT,w 9LvI"ioZ" ǝXCv-ճ*o =Mbŏ?2C 逸d0zn3pF< QtCwRUǸ;i|UhLABLT 43|O8~zFTu%1ða%g#Oy4ކ%oi1Yˌ% ~4۱,A=_KfS8VkD89Ov3N'Á; Gd3wAz' }uXBivw=YfV]xf5xf~O`.Hd#I0?$ؑ*H^eZXK{cz@}mXitM'dl)ı5nuzޛm\jhga3X,"%!.e$_@%ʂK΍as.h4F,FW͠CXsSuJ1>79RnYW93qq/0'R,k  Nb7nҋ2Jx.ȌvIUs d&D ~f*XIR P-AfY :WHIϵX ){/[P{‰+Μ$MSWLbbj4 w< MC9ۉCx[ 1鶱0S1aGEba, "pV02eRǀ2і D[TKQN̡, bnd2kՂzq+Q@9.L1KWjS+0N\3ǰ c6l3MX)60%ŤqGj:hܧ!DH5XW!cq&T o(Mo7!\8yɅ+G" _<6(E[1E89"̐Γ;}ta DM]S֤dͤqYV9cıW붧c+pDmZ9"@lQ%bh*5 _=x@܆6%*KéqMD,K-|7[2ce i˄ϧ^!+7]hلaRŝee_ht,11. ;+JoqSs Sgkp;;tI5>s}Juô7HX) .e(:iWʓ}x5POLF)Ts1ewk$ƅq{6CHAO< DC,c҈QbfD-Jbe.?I Whb1#A,TlmdQnV&[L5Z1!^6{kKC.u}2GLf |(B`4jϰK:U}$H϶IANf#nj9 H>'C-;:l-@xb[vj>B!;'$W+[0Ô֏cZOKbH-$PR[04$3KTg"mBdl [''5</5dnot ٿsa:[-`5h[9,BGfΐMF WTU; Hc,BW$>q&Q9FjrfSqKJ(i[qpI ԇKyMoQo:&/Z)U_ j`LW q >_{{o];6_>$[xҨ*垣MltY.QBQnXk2Z,5yepQ/됷EҁD7x]J,Pv.IF.PhU-o;.͐1a+elk8O$[Bh(d2XȜ:H{BubǠIi3Hpybp(CҌyMp s!krQ^#( B3P` =i۸¬-6$)63S$Spq"DY:%Nm GE.(%tK{,ߵmυ^\3D7Td"Ѻv>0S؍Vʧ2zLy!KlQXykO|~\IxĜ𒶉ҡ.,PʩZᏘAX˽=`,hCSF#!k! _̳(,B ^Z/g!-e*&\yј=kҕ gLAE2o``L.iǶ($L(M(E*|$R{ h$b8 0mb}F::bLM~#5;3ƙ3`@d峠Qf8|)L*Y2-g$50CpGf{!HVIU@m ĆC& `+F[@Y1qB_B!1ӆD RǼ乹MTVo+: W6f/qi}TvәoDJV"4M$H7:F0)d2#hQ{?#S ;ܐ(f6SAF')sd.hYR.Dn A-l Q,͡]|rE#^at>j`C!o1kEVqtvK3,:. 7|pBtLZb}Z'"O^E ^smv-.\ PH\@~ dYF:4pO$)V%FUbWYU .e8~C^ I ^1H$V+{M2OO$& }}@\UJ+,4hh$/8Խkcxmyv$a+;k ޡdz BrByZn).f!FFf~ۏbQ[ة!.7`DԷ6Uc* CIN1,Z"d_ND/i8?!Eۣxo= YtMqty>+)|kJ (W-*^:~F%6)a[dh=}Td@)c ȈQ:eH& ⶂxyi~t" 6I풶Ѩ70 M\QRkKjcoѶRw ?DG ~7H7-ě݁+e@qGrQ̚2.s]\ִ^la$tXkm}GM9FJ"`у@ o<x𾁷?_C*~[kҮ5] ZѪx8`N3Ʊ.kaNNM,h72FZFj _ m{Sɑ\2,R@R)BpĿaHqdQd0Zؿ[ Y I/, !]#W๜br@qK`|{o,. Ule%טP S^P I'Cu!VxLF<ӷTڎ^qA{ ! &ȧ.BK/t9V\oi&bm,O{.@ !dWsfE 0:ZH"Aܖi1I" |J]%Awu R̷̰6,- 6m f#- c0Gוk F w@ [C:IzDTÁ3/uM . :UN~,Bp繋y?e&摳 j=L |Ery3 װЖd_ղx&gl.XXos4% S_A0~~3ĭ @v[~?ł "cCp]Nn.1qM|#l\;0(UkcQlPrtGxTEn -" $QְC!%a̓gQ9blW29ˆhf1|IS0@ %zMZeZ9: |dFu!DGz4^OlCXL0LJnLKӢ쫩z< \|@h8l2P)Z0scTf'qHek#e!yŃ*!R,+i'?m̱kdTݘT S8Zʱ/4 Ϭ.H"ᣣE^-=$yUP~m 51&Q&~j6)q0dn.(-Z#rWC(T""#,2iqg#D([~1U6a G7:Ud7BaW?[,u-eW/:\qAL!vi=-y?+#PpДю)3kCA|4َ'\SfxM`埙:1Xk+f%ҍ 's\b,:4H;IcjCxִ62dECmMKBY"yhI7cPFo#FV2V{Ω`vA&|އv P^P/ ThT!Iq6Pzk (' <X|ܞ Q86=x-(?b O(sJEP+~ tE?lB.# [,aMhR!*,ҭe 踵MJ k٤Y_8ٝ}`$F{Y1MQFpcbO9^F#(\KF@e%-Ŀ<"-DqJ(++o1/V*b021=r7bMxU%T Lfpȑ&PJ닳YrsΊQh/dE]ٷ+(g^TH ]h&3p=4q9JK┝JG {֮wYtXU!beDE&Ű7gdanni)#:-X~W ښWw&|Kx5$3^t@?aSetILUBt`SH0 {fvV<T8+NJM+N{t1z+m %KdV ĭc"oFQn4m<:UqVaCg8p}M J'0CYCSnOsKaTC4ROPjGh \XWy>\ً<=Os+6 j ߄͆y_Z'<D^p٣֐.f`P3㊋rWj9/o<ƒg 0N-+i>,9bZM#OK=;qƱ*6H$h+%q@V[#G-] jcAC }ṲQ2^ 8ÀGJ5@rlX 8a5<`2%ǙqX I1I(2h&>XnФ8E P!$PY+U@*{>&5p(IaYuu_ɫӱPb wb3yc( p( b>oR=n gVe*p/˩$9`c31oyH34HKǸSqX 8>p D5fF24H ˌ !I yV&My|Ye_e.39gTbX|WOƮ˕|]=3kS{ ʇHV, ?|}ƝfwҮTFᯁkfekQ .J0{hoB1AP?= va%0mni ^,[?a֘&.#V8后vho=,%T5b^8q'c2dEMW=}(lr,^ h}cR`"—sZ0.fg{|KX\(3(r$m(.hgԴqfQ)PKhӵ*0W U/p&XyN' P)ϲF{yxqmZ۰D|3*|ЂLuW{⬢Zk"~>Dau]&u< 5X TҁBu28 'I?$DqQ{tZN٭_0UϯgTi*mR5oު#1nZ,I T@y| B>*1 }Ji31A*>wz7B@GgѪHֵ;qFf/bP7 UjϬ䖰BLS\&:*H4*eJ $N4F\Ox +w'LF'YP|q= ŔDni=Лʹ ;zTd 5<\tAm4ljZLXmT) JBr*3Vb20z؎1A7~tſ\+7qXңxZǥs-q VBOGEʰf8"j Lu"|XKǃKp^gAjؗ#q&l)5_DKpj 8޷!Ն#!l杜a9H<: _Td%" |'(1zUs,,Â5MW>qfCJKT, >71t bŴ,!ePz¹$C80rE\ioAu3(C"~ӑoX-Zrn Y`_p6Rh0lcX#/fdH +]Y+4"_]bRi+Q)w-~g\:)aiJf8{Dݙvo, C@L{VPLVtsF'ceT֖ ľ- Y< c9C3YeَkU i;{F 8?6:f8TR b5(7%'!ZSVͪ%X&H|R  x/k:J@<?w| 'M -/`ʙPHcτBe¨?fWo#I=Mʻp`n MXbҋ:q/"|U;UO \X TB霭5Aeu&I3dFtܷ1!i>~ A4w@βC^s3Iap\+X9\ՉKlOР"3 -wp!x+33 .,̭,-33m)ŰYg`Rt sJ/7"&T3_5A)~ @CA`)m4MTMnQ]+5疓؍{6(&cJ橛=0+_u~v Y$șCUh k49Azy0?;'I;犖0PVta_.6̀#~f8PԮi]g\S"$uF E8jV*7!E7Pk-yziύ0XMBg [NϦimVXɚ5'33n&F;}9xT!q1AX``?Pk)qw:dA_L&jݰ!Ȧ"Ahzqjwc.< `1gR||5~p\aNHqpFܥQOP`Jdajؿ`Q+ , 03WmU=%`7E5qۦb;e7`#և\FI`΃hb %$xCLg""Ц z A7CRH0ȪU l_~=rWjTQ1Ƚ'8|b'ԇ^|O1vxrhn^;c052BCk ^CөA3*ԗu2I+aDOB$TG P$yP>KP"b:'/2Wuݕ3B_3m!5MDZY,l 0miO0$dQ=$Iu2mm) s1JS::1?F*12B8&FFTEl-bT&*nR#њ?6^Ks it)Cb Bp[kY6kXW2d.t|b5=VZK3ì{-ioE2CSĊ\=3ٗc"@az!tssBSήdC@Ŕv6S,aӵ2gdfcjX>{1uD:RR0YΕ&Mbg5÷q`qued> m= +N`Ĭ+cE@m>c,7>?Ȉ@ZzvFkGvw\sW V/WL1:&DBa1yhR@<;h?"5 .h`: R bçqcH:ӲY!1+REc˒I"PVR$K6ik A;Tldq܊:Vc^g y kF^,9{RrQOV%Fc hk˜#/iw[ !M;q&5K`*wzf:kp2ǯNl%f"4317'~o=yqy!hꃿ3(n1Ul9#/*\A^8a<{>_6`Rj)k!mu .bGLqSlXC…P8x,s- ~C`1թZQk],2r%e Ҧ**5;@E6(2Ͳ*0 0A2g0++ڥV72$ʛi(@h` aU63dX۵J n%F+USn#$‚7qћUT jRd{0LH 5x7jyM6!D͊ړ~2-Dx2`8Ie(eX3~ʸPAĮGrKsU$ !i€u7Q<-T4wFz⎞2ȺVibv>l+s'7(85b溡1miRgsiVxK!mg !Ըaqc홻eإ*i3 :fm3.LKjVhǂ$B&HQ@ ܢY ~i)zxgZ<[Š:~ыM?з3X|`-!cS>h' {_l6V6"Z֚Y:gcuPxx.0\c5 " 2^BNNy&yx1|A~L,avq4VĨp.O5g"[k'i$Es MVfhٻJvAemSx/ %DWf{-zI[焢 _tv-cyD_ʗǀ! +Sn7  _=eZSmjI\ t8 3rjʄr=2v#k=?*~Ja"noi&cx23vW%N= ~G9UHhDd*ƌ }L1:rhw}VCm̢{O5aUC"((#΀;08CZ/3E=N9HH(HDQGrA!97#jʀdK$Ҥmb*mˮ/_&@2C :8I!o̱xʕ;p$a j9ToB I_' 3+ #  @с. [,RY{/]]fC7j1[$ @۟+iljfCkb%4Sb/"K^VdnI3L\g56-m0s~߀ۜi)Zͣ&d\@Y\l " 1{<ŕn\hThM@7X%|iDFӊq,Q:hKq:^OX6RiOD7PNkdZ\kq8b3J ;[v !l2G΀ޱEI@)'RC%Wiz:p2;ǯ,`e6^2K8W 'Lkv"* $=_, \9t{aܩeos:#iF5 #hFN10h]S9x*9@&-,MB[xUHCfΒ;17{&|,D0 9hZCY =H"97;ÞYeڪJC5Vkʕw:zES3\39,TT$Y6sDb&/q,]"Rah'\)|*}L +q}EY \lf=q$ @:ʥ .bb}?v}cX|#*|`U% @VH0ʁtzk ?v'`۳nE{-lcYՍ5XD}ad7``D2ѫ|rgiҥgQTG1.&i`֙,2 Va0V cLYL !@{'3!U $E߂b>N:!pcOWf@haq+Gf\ 6咥X[@8v>IjتSIv:xSCQf :92GLFnc& =7Rf@P!Xc}~VHd=߲Ո{B[w-j 2׻*$}glHH9pЃbjS_7bJm͖4sm +6D9;71S4.^>~Q2jc\peĥ_U"I3$`KV!TAIHpULKeӍ(V㘲8`dM<>6N4ǀJ9[z@]Fu1ǭ *霋DˢaSCxb;`1i3[j$-M͈K$1% =VaV%rd u]=x:o )r9AeoQƁ]ފyOT=T߁"w TJ>1X(( ajoFlI^dgbM~.-Ȁlc=*n^fO]6Da3{GJ Pj< 󘡴Ņt](-V@ftw:ãr:C> #eEYrT.d2ƭՉ|0`$*%|T4lI,CSW7\<o@Ki<(JY`C2Hg6Bmļ{R@ LIRclЏxIF+zxnqMO_*3\cyUŨVHZgȪ/.?3N$!"@YjNR|YGpt j^aA4:O'ʾ!]Y ד!5l3 ⼥ !Ќd L3N`'L N4`]j^Ӭlw Գ{|lPhR$"RAJdo bTH m lS|pt^mA!*Ϗc}DžP+ ,fA7G=6= Lݰmc˚f-i?|eYhcٯ8-@YHDkϞo7GmZ̉giie7WN[// m?D/ÿ+v/<fԊ;=! ] 61yH\ྃ)1 IcJ@biDfPq3jA(8slB<%gPzdz"p4j@IRMS4!Uv# fb3=5HqrWPOy0 B${(Cy#M ӝ ԅ5# 5D,쫦Ē7n?y9"aDI /bm_VvV%,=QGC]#p=t+siLhSfץ4g`Lڨ!5;*Z;ErzLB[4 ufOn.P@hu'g,.$x*b]pδa | ;MDwa>0 91LjD,̈IguOoAY!8^kcB+`{ľǁ 2'.+Z&C$2I68- 0*qM֊3= S: # v%jl -$@5]cĀZh4SN#%G͚Fɗ\&gߪzuwCzm~ybťSSӧNjtZ|lFNK)JӰ32|b"~Wg(L G֪l8_־ܽO,\)+s{cv"5`n?:x;8x}7|ox'8W?׆on_ۃWÏ`x77|=?z+]|W?~0.+A/\ ?o oa|{צM#zWv"ڹs?' _nCk@៉?)}G  ̠T.[MF'GH2u?9ѕ@e~`E/7\Z-X7w d NqFN}6uܒE|dFV {oxĿ*߆5u7 I.n L w}z1~77?G$.ڃ$5NȦ?Ex@zMk:?nMh pw6H,f?x͝iq9Inƣ [b"ӫ :z9!-`[kn ql%{O8ӂk 0&&8@o_dJ'*I}3vȟi0,bu\[<LG=$D? É7}*/=a j0LAoL#ϋ egod zSqsw'b_  4o:6]- /lq(75An;0]A[ln᝾~V9HľB o[ki~' % ;c )6stF,!>,u|t'{[ Ӧ7xh_,H{}{в+nF=_32?wϝ\ t'ɤJYDxv߆(y0ہ |&?1&`ޚrݖqg!5'C>;j*L FIw̞|O[# 7iО}  x[-18AL^Qۥ%m:,O'- ;NAӼn$I}J5/}QA hYI#m,+6z/gϿx.X={uH:~+A<l`cy'x+M>gnl^x\7DV֪z}#LyS=z󏆹C?@hNYwIXovPcP*-7c׭4)#5]vA+b `$}&(J& p62[xf73 )Ӧ֍7H e^V =\+Y-?W>(F+嶐]є ^83/;3J"fRN,/-,, g3 'ܱ]T(kcW *3(Y{$[f\R|p(t},"7O Hq7UpidEjΐ͡a,j&,'*a<#JPa {%=˯J~C e"0[֡#̷$ ̺jAZ7p]TiRox˚,?geo8o).RV,g4dz, O[29[ 3Ħ ̫]+TA)pRn*$4 HUi\3b484Y"g=2kh WC\To^p6J⋷oN p)-wjVr`v}◤NQ@ڨOzna@^ˀ__(c%Tꪺ\)MO|3v"FLUYUEF+|p+{J[w ]Ox@F&l8&n0FdUp%AgVrO0#uM&$݈Q A|cAjAю7o&rT )?̮7ЧlMYpV9Vh;L:J!@;1ݮSÑy䮝8hlwq磪MܺkCM;(VI$rMڣо;C[r(hϴ㇜r{ֱ58jpDԊsNN:[qU2a .+}ڹȯEWMiVAo=֥" I}vFj7v$ bW` tR+P7\ _4CŌv*qщQī`H4{k6-}x { (w3fOE1cN(Ij1l&ƑW񬾫ipY 9cOY})+Q$COcc.{3XNiS;x:`\5[l,U\7Y}YKuDJ)J6Wd+SG&øYIvrs )e˷ă7ԝ_S־o4^F)M_o^>7?5t_Gqnyٯ|IzxD!sʣp'975q`O;!{C>8Ȣq^cÏ4-15Iţ"ș%*!XE-Y.D w-v\uacgT<&_ӕr7LuLv*S}|\I?0kW6ZbjQ<6dё(J,:,#Lߎ򂚋wMV2T d PkfKf6Ko*ZC5<)?voHsg<"Ձq8ъG('qH }+3\VDv#Ho [#ckzGȹt 'Clj :]=DqzW2C5། ݯ@B) p>ظ;`|,a3l=<Uq(_a8\^6'Oh.ñ3 ?OF)^yM愞quK 1&zf 9G3U)8#-}MrOөFv(2wV}$ɀ?-X':N#CPN|2(۞ϻCl?}qSM)(rޮ _g(/˨ig,>)e>? w^4atpfS̎^J}a5c/"=!ʨ?6QK\_q`clH;Pq5חmPWoYEAwO1*Ъ:2b{k:*v(ߺIz;i]BLuZkRTbʫP$1q/ sH\7̩օ$Y 1pA(#>cui@X2{ x20[Έ}Հ6jѦIVo'QZKɽLQO&5_;{Et}dw4 #р0$è vUzg qB3~+O2=V7%O6Gx|}Ķ/*dep>KE[KVOxȁ+SXj s4 ~@tٍsҠ@1j1 "Qh|G[$آO޾ce"BlaZ1u/іb2\G{k=BYWH|#Aͬ:&"В3-Ҕ>k 7-F\O!q|䕻 8 έpDrqh}~ZG9u3upuDuuޢ=HK/㮝SP((8]y_ۻV&h9]H>fC.׭34A=g25NAJ7[Bh>t ]`Y4RfsuEAWa+h/[L繺! nT{t:r:]~@2s4N49uʼnT6eMbyp-x=ɼi;K }&ԗq}r1 S`p"p{؆ݴEWߡ*Q+uIUYpO KWX`޿So8L^\2q\աAceaP}>$*9X#M! @hmi4eWـ2+nVU$ka(4{"1 _mru<À. B](aq$nXo7Ai zubfjX¼քxge!kԇa JyLJ5,}=Lסo.H_v4!vZ"%X31#7Y ;6s}(AfnZ Qtdi)I`|DR4* BeŅܔW! L`~ 8Jz=f)L{~3I税a. R!|#E?>ĵl\!nHCpwm[ ٓ׼5'VЎº"hUn!K[7iwPeT1X]*"B[WT @G*\܋H(pPRx$rXz\[^dzlo\y˄ωՀ IBL1؝=SqSN?x!($)ݴQ$w)i(CIeqS[[B> I j!s#9+nvTҖ.#T AF+q;Q;MJ{i} ZPi~ Okg"hr,U?E\ ݕePd@N44uݍFhQv˃|,<\p)AKN5g4ucIAS1?GB0^V20sNcce[I`2)֊T>ѕd!#t3 2(1P]d9*O(Wh"-E&`؅]7 3T&wh$:@u66Ϛvq=166f ձ>3ě9jz D/I.py qr5@uBG@&47k;8ZJ=΢ױ}'6m3<¼FB݄6}eU̪\fԬ×o*vg_A̛SZ[PN 5ոKg2/Lr*M}he8 I2RAhXYR& T]:݇:ɇNXx5,dfgH:7i̦vg oـ4c·7P} -_EohFosX"uzژ޺KNTeDx[O@{呙{ͭ-C4o8? ﬙` ZcSq3L ^'s/e6>F 48TN; Ӛ"]6WVzkF;Lly޸,ėHv)Gp!dþxpn)B՞pAd: BIMzoҠ̹錾P 8rIJ~yE (H_Ʈ 7Y cfe9YXY+}Ԅvh5N!6מ;>t8etM$n5j%׍7c؊ތFnih=e^IX ]<r0e`d 3 N @`qYAP3k i¢`X!ʕ۫%ul|R퐅 tY|O| B>,p Ȇ2;=58Ї/Ƈ%V *A}6,%TIC΃*A x݅J2EHD[}؉wVK#F3;eu͡g:onBa:H#4Ir^x>2-)[*aa&F}9ͭ6ffדxfNٸ ʚ~J'M?~0G|R* ?vhrVi)) K^߇eÿØ uѨ!x-cUqLF ٛТ5$Ҏ(L2#^^p~Wowx~"H>{yr`8W*կ8 a J=NFT)b7KV|ʈ14GL;;!}Y6*^\UF<gd uKUPG$H3I O'b(?)e96:'1ܕ3)f%DQoʠ.5:-~.t}a'3ϔ*kZBue?i$4GD )L?&1͓kf\нrnUkt]p }1A]55=Xi>(;'u8R/J\gW=kHWHĐKK~AĢu gAwGSgRdot8u^2.Y¡\(msm.Cj,\+u4R{;5C>C ̧,U-q\H_oꂒjUI>:  c JGpWE"+D ~EI@^,uELc ymy`D'4Շ2'q#ef-N#X\C!Ȧڿ?&+`,X+1O ry*[5bˍeL)8v5נ*ذaYl@aܡA-fp-J P t-^[7'G F!wYљ)aD<!S8) !_&דe[5G@ -\;~XN59*ƖN`LרQ~þ%[3f]@T33{q2f}dJ~;_O84 $+4h F)btMiCSj_?7nXUz1lC"{ڊl-/k-gw_& GC>a,{5A4ڞ)K.72Rlu4$)]pE&+ĤϪm"HA+{qF1ʆCt#G+2 # H@mYƙ6'|[Mfhau;Gt ?^$7 o7\ۅAT:Z9nGgVJZul?R7;wC\PVL,֏ EŬ+Uj2*]e"A3Ww-eFw q"b>,Q$}b.ǔχzB2=b2S3_,<*gLc? iPr""73R,m ;](Ō2/ȇE5Tsf/HPᏌs[p.$s=`,Y-+/V ‘@k s >RU@RL4i! ԏt'NpXf@wz|e8*H'^R}tX GA.xCO/`nrF*^P$tk\ #;WmMȓ כxNIJ"+> =d*J4*  `ꮅ?$O+NmB-j} U@F4+%cFKm?`eƛ}hg\F!Rw#LBq˙?4m 4$NsO9 ެkAx{#r#uf"2PGZ/^eY Eh9.}݊T%_ep O])%j83Nf= ٣h#~Q%-+GA$ Vh`ˊP,ңW%re,SGQ2iեe=&+ Hf#Kukp>d 7\X& ΐa EUP;ѥ,ӮZY q䐆rPHRmReɡ!jgCnIql3X'IohA^`)m4LP3 "4јi)i6  hc$^'Ub5*}zDҩbHW3(~`Gq`+ ̮bsͼ}VtyVVAAkG|sܵ+6&L_5݌f>B@^h._LDN (Ő\!]p7h]Bޅ[Ays _ h~N(pmXCZf豳`ǝ`' [q0~TD+$(|NtSWDIJk7,qGhkYi_gP~pܨHIq D闹{^q@k? pk*J U. oLTP*w`ri*v4KuBI4{Dmgj}!D<D`og|J.C0j?<\ <ɂZ<~}x8˵ס -.[N(\(g ' A|5_=|?9q?ŋ2JB?8ꬤN=J{g XkѐPPִg=iJ+3F/g/LQΏC%N)óY NW%CGcmpkkqu3i]5Ѱ ʵ%XЂ'P}zX *0dqٛ~bch2J$ҩ 6DQ9^Qnݴ:eZ-ClCpE<Z\cuHe>TP$VwG#_n"PD[_H:3]-Cvɇ +TsT1kt Qz4M؏_Mәxs 3f#;>Z0˵ns Qޫ<.p ٠5K|E(@34bx^)S^ .⪝Pc\A_VmӻկF*hWEKRY|K"SŌw%a+7 R{wrQ.GE~xjAڢ#Uv;q# ?$q D;cB{.I8Ot2ppZZ"~<-EUA _﮺Dx@LYo%q)۳cŒ֦K.5h9ͤ;ZӀsQb]f iulWQM#7\ȷ RM=m۳\W\22(b ju(_Szm* OkQ&ϡ!A&ꅊ-Dn͋:`h+Y%/~SCgReYw3IؚpA14we.DSnp%^ Ӟ8G~Yfzwz>z'frZ(iO63v`Etm}Grјg,(yX׼$~dF+hGR* J,$+辎%l(Gd2vu` {V&wiiD;Izϑ?cnQL"Y.ɂ6=.4j(=H!rw Ù x)sΨ/J.mT0ÒjYp";Et@W؀kacR6=ڵ|5F 5VK.crop`Bra{T8U߹R6q\3ႥF\Ui R(=q^%z?`@Ai78Lo5L8YV@z6ս;աܪ^7cKKs<5♦5bxZD4d6'4lOYܒa5w)^7'$W s͆) 47_iw;eĘJL27thC*RCL:Xc~ߦѪR2Yh7-Oxq,.j<Tޢ-!lϓ`S_|zq(p(#@~F9_ಾ+2UwʤV5%~?.EF^V3|](4rɟ~uϳ5sc%ZT(VGvػ%ҭ<r|^G zby(Yzu\^F?gSeK &EgT0-.Zoð[)6# 44(L1IV7/.&m(5 x/Ŋ؊cwCHΐqk\lD' >$5`w0dxd9Y p`* J!8xK)l+ V 9֥[c110pd mH|ޒt KP 2]-MRy<->gx o;|U}HSH%DsHPqn0ı`2́]jYW׆ERTtv 6a)yvdUQfYuqdBӇ_Z'^/buqW0(?j%[fK`CޑI[}{(ԝg׌\zP*ۙpÈ#~Sʴ4喉J3N.0(]1a|&seoxKnMvewkayhmN4G_.!zUT@|rWvڛ:(cYjՐ%ALb(GgUx덚%I7NuumzfՑÐ`MTGI;bhoU@̓{F C(:6<\KoV#)&ڌW}d6YO>7Ȟ\fB[UXˤj/}R*7ѣ-E/Zq~|rTB|{u_A cTI@O };GUmCr.$snvpp<ÙOIp<`3x;|0srF7v)9nKBmӀ>\̑J^ˍXf$ړ~}ɪa|RWg,,;E/us9XGqH(1xG'*:uTj"*TWLCx cG?=4*T @_P@I1(zZoa'}>T( 4y^4[)"M; Ir^ؘiS.+C[CvH0 4U0ˍ%BSs smb^Y[2K.M-n-8)s%IkE/SPsfٌ3d`g0B8VY.`6l mX8dSzF!h)ӥEg;@KxrR @s>slN1qٓ,Y7~EQ/d@Z_6`Yd1t`-+?([LH؇%5F]o܂)")2-CHjVvlU 6bfcJWx cYѼgGZh3,z@پpUh訠Z!t2t(WL #G6snp W \΀cAmYTC٣29:jѦ]hCζµ,ľC tFs}J!:Q rZhY`!+7nte I`2u`/^[Vr~ l1=m:٥oaãb}\0J d͑&a qٮ)dW~"\[>p`I箓reeCJ #A:)3K{V( YqOVLweY1_e5{U}jXStc7\\װ1ԉ,}ip|j_eK`X1sxWNϪHR_4o]s 0J-a\3}^T#t*z6UL ѽc!Wi`#j ](40aq9 *EQ\b9k Zn۠qxkqgҍHj`tFm-6[1roɓgv+Ѷn^4~/ᣞ0CBeU@=^Mu%UBg腛nSz8ۅ|Gɞ6 #XV]6۶KAAτw@Sns.kjN`r=^ :S vN"PfOowq:rv 1~Moh$rnN@Z4BuxfhyW*Nصdӧ=Vܗi-R%) Rιp[N1)+RVϛߊ0Ț(؆#ޕ)X9.Eŭ͈kf aڜ  S%*ak)Үhؔl}7$yȓO`ߠ)S(1hdm#{H;W%4.6 S\簰:q_ŏTuu Hc2#c14  N,؞i- ʔ~2\,t{n1c=&S[!)Yn<1жFx#u!X(6P;gA Uv.0=OpZLuZhJC'Jwϊ-0]v+::8Z%قG{=\Bʻ /LىYa1hyBIvV&;H17Ś&Og%1*[oq ;NX2]."bwrrH-(=7-MD=./c:UI%gqٖ6baEE#O?}ou; hci?Ѕscq |+ ͦHxp;ny!v՝'/R64 ?#_Ol!AhLgZ0N~X 3.@Qu&NXr:dyT빳Jk vi㸠[^uq۴u/,ݴkFdYJ/ 擂K2Zp+b POoaeVc-+ݚk|`T[^r6T2AlB}XxєmH Y/,48:+Ts$#Cshhq>AW?>dhU~ۋÂ؄*4sx[%8Y6jwc4t:ߞ{*x ^Jҭ$rQF||,3Q~)jfbzQuFQyy.z؃A'ݵ4IwOPֲ˛ުIaH=cv64h%PP gx!8KEa7Z0g2Kb>MC'97 钸BAGjҒ8$pMIi/ϫf^2'^ #nԍq*GP4vv} nĝ7ih,e*}}ȇw,{e~4TeDyPRFz ?Id)6[mu.n7j&6q v}$;eRX+wqf.DdqH.RCV:`ݐ)y Z ݝvrե]:N)d£v0]zKTv-Bl7 ='n$!_ˈ׸@< \wKLoSl.iAgsgʎ!6O uY#M"fa=YU0vGp+lW)} uMv[ͫ Uz?& EӬsb$@GX ^wLK^`.2@|Otp6_4drԔR:=r.q􏰼%!"@=rJMB5D+RZYY.Rf qukQ=4yU9/~֥嵷 GC&{N31>Zq2dpng4]MisS(|aoGEP/ $m 59/q j[(YέihDdRe:H$\wa6(Ӓk6H Vjq8Bkچ%;ǎCW䛃z/;-zpr;]+qU߂2ɳksH/k,Pmf`.W!Vce}ArC,+TErTɒ1X\{]R0®+[uX+e; (lDžq9А>OKe| #VWTZڑl լp``4f1 Woƽvb ~=_հ vA8twϙI)0O4s<G}q|>g' c o"A벐$EֱZ'+"'|  0RӼ">2#vI^)Fj,qad?*}V R atTeU%bRBSp P~I]X#CT[:\ubF>%N;5̛{u_I(2_k,zuHaf23rBG(؂S0 ._h󯄫^o҇DgΩPsmaD *Fv1nn}!;羴0͢Os̊&"R,,2sޮ߬(S4 FpcCm(V][7NpF.o=:C Z tp4-Z僴Wg尚^{%,+2%=E kxzWP  "fwFzYޑ"1]B"wXh8Lr:{`TdtĽXk1 {0VL ʶY|KGqTR㤩7^=v\bk$lQz2D]pn:NkFv݀sVSqU?rĄ|\ U%ZŶC}b c]hbb6b MR0. } VƝ';擆.{ ⍡Mi-HrY 1%C[]Cq*"Z7OّqI`PsJ\E%=Ҽq`j!?ٕx#,ʃXkGyC=7u%k̕˳r~4C}=U6F=5t?R-[vP7t`vLMM#]6f<yr0) \I!L$O+HMS:!\?gO[ 4L$Ӯ@ 0!e9a>θd@9Lt_orN6-HZC^~/Y{`9ƴ ܜ X4mng{ W+(|-\O3W%KrjߧQhrSěj0!M5Μ  qOȖ(fjp{esJWGF8{ p'gr+\bUfZX`R/ͶxF^H&HUUo[e-Wl1߀؁ e#j!wCbj>]C}}~oḬշ"Z K+͇)"LCLX:3 'CI*ҩMY;)BG/GN*W .Cd<"Ü"P5D}0^,kt=Ք{$$m%KGIg6LɺCjG O_W_OZ <+{6 Tyv[f?+++g~7WN[//-s6({;?O֞{EOϯ?ο7$kd 2KI |gr?HCYBA~Ŧod$ 2[|RD@ v#׆/~ٯ w"j׬d^kmtrD%AF=HoM BVyhCA;:C~V5uH4zȚbj4y՚ 12r c{1rsNa\ՒܘAT6, v'ršfH}fDmUL=5HAj̮c{T2dTШ|E}L䬰9"C5APU@:K''oLGr}g(Wm)Kg}})z&]^i_ōR;0}0^Y6}veA)+7G꒑1!HUbI&?ɏ?0qGaSYBD`QK?r7 Y>iՇM9Ĝ}9aOLhwZ- $5d%gD <ժw9E3yK-U*nhpZ 9kzX2dϿHNpkqںpb 2l? 6(~ WJ|"6&7`¹nU[Y굧VK$ﻫvU ԍ>i cXQ^c#ځ6NF;pQT.sG$Q!O~ )oϮ-R7;tq; ;{7H!2EDžy-m:0¢= *vL'%hPQ 5[GQ(Oq\o^lFY7&X5{4w=ѕh25K{sؖDrR]AIckSYp"j9 '8>o/wہrmRjk$ tW!7 ك 36MX`l{.e7+ G9)o1# r )- S8gZJL]ms>+ª#KxZ6Tc r ̜C0vQE>WGVlFHd≷L?TŮL,p1M[-U^f(PU*t'ZK1n$$Áᐊ u)|ā_;X:mͭAJЫV; j~Zv쮇 EG7ݥnUDk11pC 'h͇'k朸b4Hh^>7(K& t+#5+^!MdD%2x1KKKx׷6q)? QIp_2pWp; _7w K}Ͱ iqi M;";ybeg`ɨ$A+8=/aȱ&8++r~rOϮӟ~O)_g~ga kk#|U4yCG~\OУE<}6x UMk0̃礚'\}?~|}b!^ J ?e.ڧ/^'| ?Cs>><-> ᧊9B~x8KKgO^8=U VSg e )P!f?17-Xg7<FPGOx-PsG%trX="DpG`8q!*$a'Jzq{>{GC<&{Pu:qNL&h3341 qlDXw@V`ul4qOU`i[Q*Fg Z7+v%0 ,6ɿ6UVbZB6-hm/nS s[\>)DS8X%Y)4Ua k$i|uv˔7| [(^`2vʚ`ۂW>>lGf94ɓɦV@ϊ2`\_\atn(Z}[n_pIoz(Σތx@ ze RF3~4z^T`gmvbY7; 6 얢T RX<&zŚ'6(Pl.d?ߎҗ`xټ۟%c@\ oG5Kd;I { nv=C w#'O/DOZ{݌qǘ$,ݝ;ڣt/X?9ww/~gnC)#ŝъ|sP1hӹj%܃q'Q܉9 b~}C3!6wi){ ,i{^aЋ7OZb f,iKP|Om(]UťS\4pY_GqXqs{i?>=~1 #?=?.VJ4 D(2w<8l !O~$S*籐 KF 7x);)،eu3zd5cDa !>y ^RKZE[Qq(#wXGf-X7\F+a]8T酠]aIА >r!$3Ҷ"}q4:B~Г.n&-qa{+[bnCFY|e1hqԩ+ ]X9ujn\ٯ#ukgyWN.g .Z( x5yL5bԚBOzAzoV8K [\$!~Y(Zr -hk7OFsAa`}M GI 5!'f #Jog[ڌx:_r@YŽKMR#N[!,W*mCV}zV|&zn lnbDžEyQyq2 r<؜NwNЯK++_xx?=qFE>?}⏟?>}b^o/׃Ͼ'y˚(fhgCk7>y nq?tw!*o~w?{>٧ gg?#rK'-̚#[o@l?oC廟h,t:?\Ƨd 9)6gb_wk:[Z[<Frp֝<9[ZhLuynaqj__9uBmW_irQlfQak#-<-KyrN0S'x?>=Խ<9y߃?5$n,.5OޛO1ӂ-ψ9,̉~N/N0gLKt@?>=qO<_=(D|' lq7 ^ 5.&@S4F~B.f>[p & oQ7^^E# BDa,aC\9Zb'?n‰O9eӴ$Πm{h-nZƭF،P Ʊ77c!FܨWVN"8<7/SS ڔN--̓fF07?2\^7sID*Eb{{qSi7h#ګ~]-_L׾~o Ϙ/ũ8_ _7N0Z_Via 6Imєf[qpSH$clA}aIK/~è4 =%+ċrvqdahT3哋NbJ啥%2ܜ>4?,_MO- >9cN.;uqZ\ (wť'gN//W?wO ^/)KRFlӚ1eVVe\A{'I3)Q2V3KIc:L䔺v*bk=TzQ/((,=Dz,]#lQme]>H'u%褼/.QS+ \}-^XZ:yj+O@/#z-\"`q< ekSqkޏ? ai>nko"h= AE vx</^+s0*?? ug[j24796x2l"Uf{ůEfŝ @ M: " ٩^}=u>^`u΂ Z| 1lvPv`D*@dcJʓU`-&+$E1 1r8)؎Mkpu.oJe aNv[=㱳 ɕ![ KqTK^\}\=vدrdG83q_\8yz$u^¯X\n,RKG5叇_ ~{]*{S^Ow~uO~꛿_^WWW'oć?U;ߟWkq}vK^_]_]W?յho~?AWlUZ?_]ٯ^o~w?B̨xw2OOZ<}jzQq>jyI\˧O3>=w?&t䏇wo[pߋ1gC ;1Yԋ^<Ȅ 0MZ;BAM_11wy# .`t;a`ŵZ: mvsj&/FpAw|=_Y,O.?c í॰Q;Y9΃M[IlGb , Ͽ_A$D'xnNma^ԟx+\J9`=oo'I mjR a/oˡJ&Px2R<7iZ:[. b0l<ѥ!^`ڷIT;E/_s3:Anf(=g7lڽ/2y2NQ8oKs+旖ԩŕ_GF'$0OWVO.Шœs />;kS?w8? Fb?뗽D[i?cNKa6hO' PUvi^:YŸ.H!4_jKb$I뗯eα/E4^n?oj?MZ;V8gt8ҵ- e@w\bO,K4_[8 P?P->AH'+?`[[>yjiqeա#jWIߓs{sc 6Ug? `;ݠ2)!$2h?i!CIOxP6IP dq^e`x=s;h& [PuO;1vy98"'b[SAa$SE-:RoK'O\Y ~i'ROh酹yH?xraINtOv=~^??D-rs>A_a;oF33ÂSTNg'7i5,0)Y=.!}\A+)M_돌O_Oί3=lkE/,5[gy@Nͯ,N Uby޿vIq$yZwenUQ $Dk)Hܖ*tSqRΜCqHB-$KKs svߨ}4*7hH֜ %3#23HtFwssssyw' ׂ 1vdOO'ȿ%3f M];2ž͸b$݂(f?x6$؟pId0{u) ɣL]ހQ4.ƒ_PHGs:gǛˊ_=~9&S bGnEfOa"]ßWto n@ )0I498ZnW >MM-><kmzNrz"{> )u3u#Jpx ІfZ~ 7aޞ:1uwbz:?lz N]5uvzxw}6unz&5uNLo\wLeSצû,~_ȈS٩+)Fl-O.m@]&>LwEנcͩS@ 2A.d)x􁏝XB DRרsߥB5'gaIcԟVlhN?bE!`QŴ1J|LӤa1)H~VkH N`cL] MmآOvuwvw=S> ;㞮cgOS_Mž>@29չN[{t\ GX;Wveuo{DW_I`KQl82͸y-[`q\od*^F7'UpCsF11)#Nܰr@7QyuF & X[) Pҁ$g+^t>2V_ CSᛓ:Foc} bb89Z0Q=$+>?Y֨ qioW9г,m8(,1~,6F+kCM=l~kף5&fZgPhMWQ!L~S&V=ڣJ_# se7Ǘ3R|DWOVu"zI q=x獜j'H9Mu$yi`H;"CF17A\(9Pb0@ >'Mp1:ɓyPhϓOv=>wuWz[ t/LBnv?} KM$S Z?qŰF̆9x463,}m`p#G8,kFG Z( |@.g UPֳPJ^)GԜ,eVj Wj\ͧ@]eK~!y~[sKy_M!G 0 7uoWpW~o܌+fv|Z_rOضP<+L[2ZƐO@#+m "4 =2-N5H%O[ŬmqqC idgiT4n)}̰!~pDƍ"E+,"ްx< #2V"ˆbI Rl0O.x멨z􊔾]议!N2&3~ka^:9.<ܩF9PH~@bmshwog'Zbט'Onkx)x3;.:K"4vVvD(U 7Nښb88JNaYf: eϰ ǵs~o?_ςzq7DWp&/]?)zQu腵\[͸bo/oO2=o/]e/V{do/o/_7,:>o6^Xap[$!nE^Ā %׫z٦%;AunիgYKCWLODBn/MIķ_V/dhhpEcwc Pߞ's`A5HB3R=!bك,5B_<-VP‡uԝK CHIGU~j|2AbPe\eU/u=+d ?&^1{G}w=#?ùm?Nw[サ#;}?WviMp~u?wܝuwUqwʓ4J e;^++QW!@51V޻ {޹w{;E"w &Tǝ[Ată?n?W&x{~.Rk̙?…orSoo:)J_H=O>}`_hu͚ c_=H/~ 6"wO=nkgenh"(Ab;ZSLacq갆;tnυ/Q11<)"y** @U9$21P_044y  ϯ yrFJ.xb ʘ9 gdzk7gNBSl1lMX]`䀭0iUxob] ~nI&JMmd)#~ Shs1.'Î -{quYڗ؋}6|iHkg xKcR߰l%[jlŪlź 0j}֯`l#S!U;Lc≍6 V%hM R,>j8K̒FPɀO OO3uLR Vјo6JOvާ@Q'zMIB#8-5,Sc ?6@m6g-VW04SIRpNs8%;wKF9L_ AdRyʸj&\ÇG=D8~HB=PਃƸT 3-Y~=]Ocg.g[[ŨMA'AhÜ9xkř3n6CC?%$+T@x ROW&Փ$jxfZ)Ƃ:Ҏz%T$M>{K(6VCR /e1壄(>kEij>ࡔH(F#rXſ44ۄ6A KDzh鳏w-OgakG3ooD-ub^xJ' >x$d$H9U{kS)*LDZ*r£H’% 65D{om^;]qr .wp[X!m]P#ݝO oZZZZZ c(zx^mbF0k$)d*rإ?҉FS- "WgP15;P`"nVc nD(Kp</i@m@ԢEBvX$*(_"eBeBB5_o&\k5_EY OpSbj*s5xe#n1Gr?!H_nV5{Hl'3grT1%$F}@i6o[6CX?P9$⪵׽8t:Izec~4+ ݽ޷ۨ5_ c~k߀io}xS _M?Ob8.W&=rНCER"rft"ʊT0)*G;:&)kin{1lHmBC˹S̬7VJ;VY*J8U%W3Vy-d?;+–o՚iZ?͟YrVlgX9S70w$)۶#+j= 0݃O,ئFVrd U6%4!; (Ǭn⸘կ+Ъ{K_mKڄ̆ğBcg&6V汀F>.smGga/ZW  سP2eUÆF*&[li{d #m>D͍].1.yK}K/t;OwY%?(OG $BZu*~RT*εf x~.ɟ(ߵs5q +#FL?D8EDEJ4 !Q8M֙,u\HTݽſbVUֿMwBQVfX2Zbr͡l7dGo 7jo6ڠ"ԊZ<P`#\F*q HMV51R$Y65P%~_t/|},&n[\}>b~/kЏi!;(ne̡P:Wkokokokjb+=?oߍد!Cz:xq-ץS+QŶћiÌĨ^"٤K<*d-mV2i:^\vu֕c-gM@ӻmw,u6Ɛ _`%~hIi݆%j-!nghƟMZ[[qC0ktA1ѿ1/7 !ڣHs\WOg(G^迌6Q@m{/п'65]arW1vk_.WSC?W   W)C+}~R%X -֛*0 р7Cr3eL:5h42!6J<~eBjJ+q$A^X' m%n{UORmІF$sGCrJ@D\$|/[CUjoYJr&5QfA1aRMݰJn,lLGSoX,V'*ޘ !(ߣH $yV3Wiכ'^* y_`{yZ5qHm2iM<]HЪس,UT5h*D az}{RM$ݶ x/vV¿Zc!LIN_.Q[t|DW  sJ^9V6aAUW)8`BtMμqil޻}Gi]  <$DbD߸ezʁ:l=NVOO%6Aw l.9&-w#6W mȇ㩞@=U\gq%C#ؽ0/li--=&TWƕl& %۳" UH6]gEɥib@EYm%M]۲~c@QqѲ5-S%1h+6\C.zoAkw3.4Ƥ%V팪7OG㒴vQ>jC Wap5t YapS5鲧,uL+^^` O#m{/ z9eme:ͅqǀq?k@i!ȵzbhG+lOf\-i0~mnn# fslfߞSy.g\ ]Ѝ_id>le6 UĄ?An TH3Mve+L[:&.m{/6ݷqP͓nגCx40c\gFڔq@9=FHyy_Z}]8]--;arWښp%A6OOL6vwAʦjbx-GƔGXn%uw{Cܶ$o Ć^*ADl1Ӻ/ ToaޞkRP(Cr??. }P#֑y?y&[oT^54TdsAGN<6[S7P '-K‹2/ Ul I\NSDŽ* /ŭy&l"?2 Rg\@(<.FJJ%Z؆e^ PBG #-iؿ?{h#:kaw_ 5maN2ΖʸqJm2%j[qH]_CC,Ph;f uU-[U<̖FЏi#O]<`[j@6OD̗[CL/I\_FB}f}ރwk՞ohZ!KQZe4u a@I%ATt_q݇eHVR.R͔elЀz}d}bߊYHW#d"I|K]B³}K~зſbׯnZMѨ^b?kU{XC\rA$ІG'doՊߊߊߊ wգƊO#7'-!Kʝq D7`A2fH UHh}h)$CQ6]gcGnD ŭc5ksbH4zp0y|Z뼱^w6l|T[r-hmhݰmp,a_搲exBn<73fT~>?g߯]7ؿ|# \xQ>q+@dZLS{ƮKV+` z H7 : 8 3鉩KS.F̈́2Hş7V̴)TN_C1'6$xYTN g P(i3Wpy_XtoZZZZZ#p豗x9~*V-vtwNg-A=nF͠/`eE?]c `ˣHL\=M_P=Ccॎ꧜6Q Vcڼr]ࣁ?~*~y|4\k#= Cli՚o[?AR4 1Xbfy|0( y[N r޶H2-nٚ)plvSuд,e)M'(mRCӁop|;pSg= 0.?pTqw oh] 3“lG՚nM&[@_iS>4iSW'wN]:5:֑XMPt꯽k*}s4PSmc"~+"En;Q$Ͻ,^!,v9gFq~-qzв?=ӊ׌ZЯzL`~)_}OׂO;A7ogW}ꩮ hXh}Yȩ6b߸L+?'t,mLhݶ [=w^t"u= b <-O8mR8CWxgA\8.\FEJ+X|QZīZZj=x= ?ĠxkV/yx W?1/UӽeC?ymcޅp+">uL;-jOf_0_Bܜlݚ5|eYW࿅M]-3lw,3r9F tut>R>:& ݺœp3Y^Ss BQltao%%^2G:`s{'<5q.0A]T=sf2 E$0@SX!{Piڌ&Tz=tLNUɦ-8],Dq6BSXK6`,y6,nU'V׵~m r%  +&0kdl@"nbsD[hpq"A9xVժjR*Q4Dך7&St='" #(El߁$$G_<T,br#I@=UP*TkؖGjIdS.cP[OpO V:BHVDfj QҰjZХTHD)rǂ]Rh  rEKb*mO=D& u+vAޏ.l26j|`HAPu2Wp*VR2`SZ眼Lr؉X9U'tc=><[jUu;e{ne5 9)sG\W} jTnhP\J+A f{J!Z2as[5Ey+o6C!K Rua \Ifh#\(“V^*T5 `91d9 KM0 A0'3䴐3QZbFBtP8&"3>!5Oz".)I%%t7DּDRys;~vصuU_0j\F  ;p-|h]*0͎@wwok QIY,_Ym"]SMEq[ISvk(6hZ0 1/x[pJB,MEfN W;߽(&lXi+ME%TpUГpH**IK[TVfeF܈^Bqpƕ]JiHkԳZy˜D+ weN lh'42Q!9n7Wj3brÆJjo 8aڌskd =M8sj)6>ʌeϯoȘe&&ET B%i,BΤ`::kj7t̓OCϪJ'n1&b;d#yI3-=$Uձ9}~\I=2YA+Uၱ9/fRzZwgW74Wwgwg(*vRBH_Rъt)]S%udqegZwJZ{2+*gJj WH"$YI$Ts$$g9Ue1ůԑ3[%1HfOMeUmj.Vqa~bg1Lyc3avtf~e D~rh'8} eJ,ޜ:"ɣT|+ <| U`9i?PͶh0zl՘k.54#[m$Bڸi:.V0+,RG_I|E*G/a?VJ) lbHiOaVO([[lLc&}k(U2qOOd5Y nw.SYTaC>P&pyȚ*m)\PGb7/j),eg~ +Eyjut0GJY)DCXQL&%¹sR$Qy^*0,*b;p'ʞg=Gٿ~Ko\vtW3O,FF@ss,~5+sPřgeb4%q4+Qg'œ .E.ӟ)S,x iO)Q4 =,)ISi$ 6`&+rrsZsW'RJamWId3 5d?P yZ UF$U"s*H2r9[&nbs-;Otg"AV?!gl3(̉`ЇЩЪhWkq¯l\̭MeeyaB)Xs|ƄLSyVi.}Tc4x 0syiDZ6\ "LIœ>o9uH]R"ʆ>Q⏨lX TTy޼Ublgu\SKv;mh_$K$ Xk,_\ x.L! A 賟I]lad}r=;U *IDP'nQ 3+W׆YNV,05] 7*1E^+ LlMfEe4J e~ l|i+<vM9L.9D?W:|)5&@<42R'~,iz ~{]~뎦(asJzۅd{@+y%dt}O(dv~`t9Ҝ]|_bJwNCX *ļ4NcZSB_JЈ|hL/1m#+OF˩1L*_Ў݂W1 >"5꿸Bqi八31ݦyMI[ US6Zp\nR3C9V ;%<sd WF5h*%2b^+K8E%x&U  o:1岁 +bzWOUd-=;;d&{:T< Eg}W!VYgm8$+LH4[Cj_'dH"gΨ m }ڥh6` GҙKQh]UT?G| 2Go炅MJ jV0Dr~ɑKô"Hlw=j1pdݷju}kf &hLe ]q~N vA9UtCBԤ HxFM5ʐnx6O ҥT1KvTQHj4pa:Pu0RVVkj:(9q'm/f@bY01 Ҁ2-#qT{Tp$.m( x%[+FBqiFnw\DF -MBz~GB9pbDme5ְg-U~-(P߰\~iT4R‡+_glH|F3 V =OMۡR~q0 GX Myt&)?%aX6\;6v|+P 9u 3'Ҙ3WZMM0Kq$xJl8QTqܐP4\Ѕ-j\ 5xCS6FL(uBҏzj]r_W+GS2g* 5-xJ(P Fha-zgIư+!ƙc3g>k[[g[vk˭W̑O浙l୭?D* 8xfуcm#&,+ GCVQm3 g1Wf OΜ٭ trR< ? xmN2 5zܭWnM,.l[;fΒdEp Fe K@GfJԨ OCw-D]RECE~zkık#>qTswizB19Tu \-f\e@AY5Qt3YdsC7k>'n}`#فc\}7>|ܻ|?>'1!= '. "rp+THHv.>F%"ٻsk*'}o5Ny">Avv{?.SBvC%Rno pyp{pE2&sb8UǹHiU݂aW C//zב_w%ەuOb^ik)!Z՝!~JP*s!kq./ ? JpԽ?AA{֊l"8<^;&%n/eRs*ñxȅ2P qO6p930tWj4*fBQGp8$#hM?؊u"j72^Ǵq\4$,@Q?7:ZNޮ_ @[{td{xJrsOAM^.K)Y\9xTs+JXdrsoI3uNuWd)\4EkSC6J@8QH9˖Y(5Tz®Ě͠@R'uWt`)vBk"P[?JeE'N(,{okKg8If){,z*A5^'SJ*:B2A($jIDFb4q"7E1+U\J58FцBS`Ԣ;̛-{wՇ]!{Z W)[jX @_?VYhl1DOYߜLY+?5:#dDU>5uVL;7L % AhA^! HTZrU8=|l0J޼`h'p7qE 1n,Ǡ\ ɸDtys+&O%"P4 ,2l'@r }\LXBϰG ӧ. ])hL m"#e/)/K%E:Ơk@&PEILC@wVހw@U-PQE Swh)pB]c]M~uϜb$íJ455kqX_~iWA^zGa0-ڡQuy szwL1uuz[<~߉  :uvΩXԟ'7Cߩw mÏbMS_Fr!]N ,No!zצ BSgl(,eSAFzb:@6'h.a[O*m(uZ}( =8E;N}_A`d[ẺeN菤I@׉:>Q U3"R΅]ڿ$t=̍K8EsFheCw 7 ^xUѠq]ԖjL_"/$TFUgdQ;ҳ!c du+X'+xxH5 9vZNwT=;he#azW\]VJςGP%"tۓSP,@DŽMv]퐩dӚ}:af\ehS ר v 9U }: &1vEd`Md`o pl$3wA0Ty -9> ֘5 Y9!qI 1\VW.ḃB. 7O]LNAkHFנ'_1{w;8\kApf"K4_ PF|6C%.# 6u~Bў>CS͐u$3O{ynSn02Lms5P<؅/Ů< i@mX A.JlϺS)OCLwJ:Bs%÷ IphowejZ&-/66U" &;D=҂X~AIQkNFK=7>y2~ełCSNOx>|ׅFHOihyMu\;C7*0,>~ۿlgeۿx;n_f7[ K;7mqr7+}D`7rso tK,-}}]l&A˻豵mCnOJ]umX}DnX,)ޯuH ݼ ߻^*)~}!G?p{?jw.R~:Ixd{^ kֻ{B˯;D>oOPD妼km~"`.Vm{}(C>нq1vvKkq/ @>P}Qt^wrv=Pj@@;ko.}_rU2pv}>6|rT]6TLS!|p<wv{gw}} ds稓R:ZcwnQׁ@ț2_$b#Ը- oc:W]{g8 o@+zsx{E-?fIcx!F[]!/T nDZ=7%%N >{#qS}?ɇ'tgkO3eij[<om'YC>h䢙=却cN"Sh?(+&ƯEjJ6H~9L (WpjFAܲ㡖[3]e|$Tui''5Fc;|G_T:Ӡue֡POH<Dv0v-ʑje5!]K҃SQY~XѠSI:B'??֓Ei ɡf[+h<(THBLC*!׊:8̱ U]`l䖭53|\4(v~ Ҵjc4$Q!1Td yideWe&,2)ABh'޽t):Ì3sAHkUy2;mYPMn\Ir0WZjL(kmr89rsx7s6R;E,xoQGwL<Rz0o|l<F q7pO 1T46#y\ (Eihc2rsj acc"J҂F*`Rfy'܍`pwA5@"_ {9YG}Ip `28l$☾*\0) ~*+3^93:XOg]J6M pӐv5B^,H5k6eтr߁ D zŨ?O==!󿝭qg9f|W >lXWi0V2A1SAAGyH#~ƝX0\=+ p%-cD qȠ"ſ%۾J(@L<|C\'88(! 666[ǭc d̪(/,6a0' e>/+@^<7<LJD)ĆԳill`IBJ B Duj7.<`xE ݌`<AQ2|XFQ8))%h=qR=4O/r9D4pq;"hu 5د| ܲT=j "E,U0sGvh8f.\U@GC5ܨQB36`^ 8@g1WY(/L,b7ǸjQ"[0 5*&ٟ?_\'״/̟}q8n6[tۣ KdwڿuJFFhzCQ'͎}aa̕~_h=qHxqŠCFy(8iwm9FZzr 3 C-_Up}8( |oa ZlTsD%,E2G#> D/z^J2u:zr U"A/> }¡iq?CEeAB5ʢ0/ 7 2IQ.uS~Ԯ7_?͹J~+6o*hfI)7Ҏf9YjBj;#g gm%ex;IT~сl_h 񁦍ax<2`zj~1 kqx-h$\ͼ!"M<$Go/d.cHfcXF,Ս}þpjoz[8eL5Qnp q8q} XaOyAM+0UsS(u c'sPLI7Pt,lRg_} 6h2,"%SR  Fl%S5Ṉ3)=뙃3GgN¿حv|s94s͜iukۭ[P#3gg 3'X9nY\4,/8:~k޴v<vOˉƜ鱙3 n]C3 gNGnE*N/ |VD2q:9s<.` =uEbűUoM`@+(z-:gCb#/4|"TtU ,X7qm=A'PlGڡ-1W U,= 6 o]Ci +XPF#h$Ď3HP[ov~}y8?)ۂȄ}}*^\4 LҾe -TFYn#K*X i̹qq)RZ}t(>#nRJMd7s(8љK(dLۃq411sP\u=N>߮!;[W)_MZ0 y*: 4-[W⾑>z8/3ď$Bmkjc GIDt1=\T];JdIzF(Y}3.lk!Ng>ݽa_2)@#{`쌪3&Whk<8g^1%3`ȓ6E9S6\^% O7IMɉr,b".`{ gċ9a7A+Nfx^|$1s 5q 2e sWUxZ/Fd.9$\ 0m[2K^V4<>yonUVǚ6*~7b-ƈS}__ͯHվ>jWƒކ{$cb>M}nW{pWo}uLV'ǯ> =A(ØS6f㞯 #@-a"竷#a$ʄ`Y+l:cF>d(ŸxSj/Tj : hH5nH?>ŸoA%]`w\YB=X5L' *ǨCań%ms8;7)07>Rߪx4H쾡mA5"0U G/.p I?-Ǣtu : jG Eƿs_=M🊫^R r8gvd}Y |r3,">pb@깟D2N?q{/gG}n;F~ onۍ]cx^n}q~3{\Lnj2|,?.Pt?.ٿ=XY>uɣLSuEE1gI@Ps ma,uvIX[C^q!CFypb #m( +7,ZqBe.HgPc~)@MdA!qp,%Lo[*]"3/Yz*[ש݂aW{Sû$7!rVvSJY KZUST%)|H`QCR P'"R{Z:H _ ևBۉOtP׸}3@Q8M,*6*jޜ3y*Qmv 5e;y$B3l@Vq?ɕ3Q bR ^ڔ}u)h V+Zi`(˪L}Ț\w@@&tq'~4jR|Ëq _m92S9K tGpD=3`g(8Y6ԬÛh3!DWX֎!ehpڀbb´#a8J`[+E] 6 (H:0_`^[q}s4%)#9վ1ȗQ`qQ]3FOk~-6\Ѩ-V< o?Ґ"n:zA#^φHOgu .)-Y.Yxwg JZEvKo5 rdqR/{W0 ࿅q>3Ǜ}JS)YSMfA`IB9/?c_^藓_~}ypw _ڗm_^¿m/93xp,=F`c풏ÃK#@D)7!z#в@,C!!'kz ^Cfy.&r=t6/?eRd* /CwDc\29~yرi|u>7q*a&P^'1eƄh0;( 쓂.6/#5`+~!!Z f?ixJt߶ u"#Uxbt?v8*+NΪmf0rRC>.FR u2ї/ oHZ cu8,.>ɗOU9ص2vHÃcAgSQ$)Qzk #wcE/E?F+G %aɳ.S[]50vhӼSέ&{8 XTT`#/~FdDSMKN`{+l1f[ɉ'x[d]dTSJ3Dzڐ "vqfYN=8\^rq B :_eaPKC, },cvT2e'ujq{Y[@u,e˗",MhܸܗR_u+LԄ}Pv*!2fe5(@\^.Ed oi Oy<>5/ b;&9/SP]9k+ $UF1t~_z?v=-ׄ ` VA[F SQO-Q1UOuv l@[pg=}/yJOwhR1c(^~3Q,`9.@\勚<$.èh:f x:mC}n@ 25UIձc ʒS5478ha*AEPAѤ\cD)o"jUoCMd?TU6)'.,utL"U1Ѹ`) FjgȗeY6= g,* \ݱʸ;;Me0HTHT="1EW!?^%(TN"z =ox(;?AImyw|UJph~ޏ@iwlc?0XZl\Pcrp-ql`_lFMwv-ç?1T_CxEUe0=wwCA3s-_uq 3}6ͭլPS㜁cV[욾l1 =Svˡo#n[>vnys<~- =-}zx2~Ͼ>ݿE/R4u n}Lw%=.߇]eƷH}@>t6=%'d1bT" >&T0s"I#&X}dD'Oo\?@=|@Dog+cQ䘤ȾIIUG(TND)OE+:u@$(ۇAetěTn ILI~YOI'o0h>rP5>Er R˭@وv|Ӂ2 -Uag˔!VDǸ,zƱ 7"cOprmuO.񁧖q&WLB:wJzOd l5ҁqyyߵ:%,z 2WI;Wo}v=!bҭ8?3o.Ug<aZ?4*7LEˮ7/F炮޾q৏.t1i{w_鵳y}_^׈Rޅ^]7O+o]N 7-/o3Ŀr⃟vo?g?~U/*?mtOJ8{[6 yp\7;Ν?}t[_M#ԝqi6?h+LED OdI镟^ eq?iGΎ5c!`/PSn=y;LI_\˛*ĞG_~Ny=Wss?s/B?d~O[&~=OӟޔEKI:3?9W)?Z^ p4`z9+E]?{O yoSu@ԩU9r뾟> ~:/ڏAӟc=N0^Wsº9;unS(.r~,9>n ~-b^f̑[;fzeAo^9ݺ6sf׻gΜ9f}}x79[;}=]*q{HXy+bS%瀳0;,~a:+l5f] >8zV _ò [ke#.XX9;/d`cHvnNxCUx8|-WrCmex7~Hp!tv8I@XYܼ;L҂&RyVUv5FCh `XM`<x r8r)qA@#<$voOTyEǬ:mU 柄NJMbѮuL#U1 lm,ײi0P}KywsR9KBnGnWsWPr40* KU>) ٛM9dDt͋;]iN7P_yKO32أM)G1S[%z>ա6 n\>6LuƄ|xޘ=k]k9V<)f1QpV+10oLT<%Hr8Ayލ ;`ۦ~r$tܛct~Ņ%lzSF !:'0!X,}cQ<ϫ>K?%_x50I=a$XW (Ov-?@W*)2y,"65ҕK:xTaܫSryLT7\8oRCaM15( J@GBdL2Ia԰ .T";5dsg CRN2sQeTuB4ኳ:P高h *UFVdSht tqU` aQx^xɨH6e06b4d$j { JUhAђN?}-jlU @͎dLM9uyԉLퟺN¿ŵslz;?3=^:UBg2xvz)wzSk'.+'bBʺ_NM_Mp U3M}PEKx1u9.zr]L>u ӯL1y4;W!ojiaPS'P5V"6{U kp= {Ŗ*T]X-Ј[,"!besBm@KӯP1H.c dcb2U{ k `_Ue욨42ioz- *NO sUzY4HJEe.x-f'x (\C^*MPSO}(2x=vqlD^5B$.L#zsjsU@k`KN #Oh`ҶBj"EOiI*_`Wo`YWÓ6`:= #fIb ?No=qU}ZeLSsJNTXKL7@5쐓4n4@L/ $CJNE g\qg}Uo=uX'x66:n=yuǛ5/2XWnPNIlE#5U,ZߕPpwcvd!#n@:McE҈6ڈ45 \ jB Z[HW#K?$ )^\OqTi%(XB֎Z4R%Y*ގbZ \Wh1]J3`$[Q'}]eGޒR8%= TaQF$`l2-&ڲ6E*8NDg[Ba Vl&NҍdT|-sIFG \ ^ԍv-Q}KxQ N%ʑHzE}rxDbIF{ð* ] Zւ0k_2p厝ԁah2 mC>l86w:8Y;tB$@Hy 9, 2( <|Eoi[xGaN.8M%30wu9eG f6H05+s\̌N hc2C#Շ1ePK1,܆6+R)l:Ha`muE1߮a]5[@WEU*U&JX6-) A\9}T\xl`󮈠 G ԯfrO4W#8BPm#4mp>6#BT0 "+$$jyAD2$Sט;l7iθ豏ː~E <c=uz.D*77vv1蜩ͣ1] ~*q)F}fʖmOfsG>D N1A@miY 译O4 pװp_<WGzVÑL| p"ȴXC)ADĞc>"0Pou7"k[}>Du6#mz\rw 7* oʤ RZ+:0)qv*`tV跺7# Yr︂X.6 T8gycHAX55R71UI⃤6`Λ@6%Ǚ؃] Vf3C s6q` $cGkNB~q%k;0;#T˔!zS5#|@X8,S K Zd8\@I@\6_tVF@9FD9s;y a5 ^@(J`(0`eDwzTB5D6HwÿHtL1mхt%}s3{64EWӱ<8o*"EoRF(AN+`R >HNS>W17HVP/l_j$j@#ձўKa.QOI,uJtD-ב4\aA@9*ݜ \;kq׿IڄBEG}l% f[. ]8OO/*ix>Qṕ!z!g jV Goo{/U4*LI;lNcvSQ`/\k1Ctp'! - EPlZ,Bq1>f9 }AVSX_sѧ9\X_-\^M)V[@ @jcKƙ>6LoEK`<14I2R2|0y,G~qo=S%b(_-Ә'Z7lP%*Br8(%UdxLB  8VH}BzPaEѾ_3 nT?W 5#Wjt"u@2Ϩ`iGmhSǚ ,@|R"qREFP~CO!uqGΌ `@e`[֏KIO=n`ELXRC'D]x,3T"Ve X3< 4`S`pQa0Bʑ3Vi9{} -@vOԴѐJ8X r9&)7nyׯJ5qID}rvH*CUi::2hsՋf.@?= +oUvDh"_8`zWrTF?0y|9.;3ܫbg5O,7MrK_hkj>@'/~* ̰+(+\)1, wDg@@x#[fpŋDGCo1c=N 0T;+Lv2C} |U39SF?;s' Y<'( 55\jMY!r/d6'ye0Dz{>9hc4[=U/"' BJGU~?/>Ga 7%FGF*A\>5ܝCz9rZ;#\/rbs!#.jiTW =yXtnOܜyb@IQʲ`?fi-d;"@v/l<%+vr4i#F::7%0$0 aB1jaYJ[O5Jq9=*Ū<Ԕ^`!.f_L۳!8Ԩ3) Elu~V8z:苤,؎ \v | n-:4)%R*zcFIjw4GIZ0M_:H(ܤD@&O8*d[ 4$ sNgy[fVBz $b\G)y Mdus::6uv uqEnvIjx3~}v4vRG[HՔGԉjf\e߱OS`2NNl1؊$)䂣?˨]OK`3McȀ1Nj|jIYfyğwL]:9u~u,B1ȇl&B362(ӯGS;A$ ^gfa DR:Kt.M]=(G1a~s .;DJ#HLR NIQŇ! VAn?N䚨 M=̕d  r&X/.p %ÁhCFB8C\~%I]: =5iJU:]:Utf F>$| r}*59:Ŀ*/Jr6t| 8i' n7C[cgi ױ]''$Ss([R#HZnٱ;jjxyKMQۮ]x{ץ^5C'b RS4>}X* ӯh'YӐ(x$ $(o1(]t.^WPiy4xcIyG$g7Pۄ֬G-Tl΁>)A-`W];Hf =?Ggz9ϐP!ؓ@(x.bb%& q;CBwWE y;uׄG $dl!NBn )!K_HL]N:Ӑw;6B tDsКr^C"u vʱ0T,sC M(e&6aX>1W%($U@L7oҔP ]W@yt][lVt.-bo}Mow>wp)k|tR>w!ǦcϽ}ܹ>}}?~{n 2e WP)k Ĝ-&?~F%s*M"Y,[w0J$"h̎ Y>/ ɣܥYdj qW]6!'6"JZO'>~:sk&( /ABʙTd#ʇv%{"Ъ<0ض5ԶYe /.ij+6.Md1'By[ݣn/x.ǽ}"~oTmݎ%evA6V +[ DhɂT'ҩ3:mBm*UȋJ3C{BÄw>*7aR?H&-RkX;@[Đ 6]c s5dz @9*nmF\>7PhSX@ܙEAm9t> iRY9 F=ț ;AxZF}hԼ}5%H_^ 7Y<\rηˇ&s]wQx]VY> iى7!<TLDP G%qPCˢCQG(9z!.gnij[(˵S'%A!#ӣvj\uهyk=]- WJ5Q46Y Bl{r=LMMfW|W,g꺟]dHp'-^a5[LkKkxsZ0psq^< GUe\CPPKk0-/Nb{,SeySQx.z899*is4<]gTd*kcy8, /%@aH Iqx!E WR0haІyoU8iSgx)upJFp]^#r/9MU9)i$cv]%%7RtyP6'(0x"Bª6q^+]:Z^eY<(`&E54L՘|c`ZLe . :cţ#< ߢV7Kե51uR&<&,FKFS, o\+mX&B4LN4C΢h`2Dw9S52ūiߜ,5xz\u⿇;[~ihUԯ?:tnN*&ţBng7?Ws.GV$\)7Ny-NhTyNl! taVIC Ύh-.9)Bigz 5iѼ*6U 2Y8:néObPQ lOqA}57)AfSxՌ<A'UmDq(7rťEL#E jXaюޙưyFh7 iUچ`\qE0uKy-89V|\aXZ F9Ç(-o6A@FM qwc3ٺ3OxB#Uy0lFx-tߑ9Yq5PnV1P4I&hmj ţ7 RjX-GxDzTv穿p[E(QP$P.v`Q*A/K3h4[~$.P+yFw'V+~4 Ss: HJZ񜄀|G1^wG)yDސ;`݉4,5gA]ERF iP`DF{/5ESqmO=*{$_K˸8D`;Qu?;h?#Va Q9<(Y16X)^oL#z^-}_#e\@6~ҷPC%|mD|:ƃ?_;_[ߛqx~_sM)WO4S'p=l;%ſ䐃4rs3+rGk}$:M w]/[8,dP1e+k8;-~,N4t Ћ?\+}8M1ѓZ[TpomN70wuuSniUx Q]sFjU׋Mx.'^Bo c= 1kV5Y931ſTFCXLqArŀdk30RFAu>fՈX, l\яF_4Yq ce CnW4[\>ER]+pRF-QJ1iXq(Y[M@֨p<E#>hq]\q?>F`9`V wO 1wJXv\W𸰔o:Z>?n;kG(GKfh0yshkg$hP'aI4N47lh4]/f|e:io 3=NW}~{[͸J XRH?PtYd~$<$':[!x ޷RS8ːĚ|}\jY%k< 1}4Ad12T tZǜ{QF́L:τ@*G4܄qѡ+1RQe,6XН˭KOU`WUOG»z9u+8qV~4*fBw[M.jh)/& 3}FbLTqKFQ['O60<&脱IS:y 19Zp]u⿇7]Mcf<ׯ:+3εe`_qR)%_xy&e)5ոWs/<$x]xEJֹ1u"vL0P 0*u#<_?f+9xeLl !a;Pg( a:34<'y%TeuumWvt~^X5gng@?BZ!p^yQaEo,hQy]}0@of:~W] *7wS'^_ 7:+fq3wͫs4-%?=?ZW7SN3;54 ;Ge-|f}96sr̡ov.b3Gff3'oifHrv7o7𥠤@vIIvۭWfNaĭWAw@m.D fח_?EطAK3om#:lA, ?xk+@)4[[m ~[;|}< dA}>`ߚ h4i6ۢx#*Dh[;aVIx~899U95DŅZsm7 CJ -4FݚF9sQ]hϰH`>JS*%6s֙XTZ*]d~|d]2 On]sz)hVP!uA &+䛝QԘ/a%y Um9EPi1h !V`4r"}:`t35-v; /D0DOS E;hJ܂^чyo [qTnJTt]Oóo/o>8_ª}:ڞX巕dTiOը#XwU93|x*fg\Ld̙HYo/\q 9C,b1x_O|{$pihDH/YOO#{Tr`?eidzo/gbo%y22X_ݫhܩfM$g6PU= hAAC=>6IM!y|EfX*J/h 6KqN3> oIUӧ*/Em SPһ c~X 2o/} ;IGm(ml=v4Z/E#`*۳x\jȍ-P"x`YP 7LwjĮĖF+c|{|Fʗj9ִpowwx]|5(?~=4[~wmK%{\ E =NP<(3}wyj$BVT~w#{i'~ɣ ~ wߺrwgm~14\{MپVp7Tjl\t݅7}ޮ3sPO=ɽxhm?~ޮ7O=w6]$[cԓwwf։FkBߟg  MnJ{@\wB4Báwo;?n8h\9'.a-M~v+oy\⿡dk -nf\e\^SU¿b\X2lxRbu-%ܻgG5?m>#!mg>!ɇ]u̟`[~wǯ̽s;M޻킲p{}?{Oރ,??w{o|׿ww6Xww~`SVnqӫ?N^\@$Yٛ}`{DZw@G`0\uP@-5Ή2p݅#\{ [5LuPI"T3GKP7Uk_=&1ޏwE\ԷmO};@c)t}oX x֣!llנq".*a?zI?Rݜl[ᗔL[>viTlʫ:^Z۳)W)~;!;\+ir=%P>D,)!a< !-8g[KvI cjtLғ5t,Pu 3PГӘ4 -a:sbOXP'L{NI\*3F47gէ lG,9h e<~.Z.q,Oe8fo渻R51n+cjZas)KEfݝ]Vݝ=e2LI !}Iu+uΧtOTij`$VVHNTi|k3TCKn2vNcϮV&:7f$2P9w0ǃB-HJm ISMN1Ugറ JQll E'>hPW \q}طaC vfF:1 fk7,[ Zj%fbbm\l l w'ҀxwO{}5AGb<15IQkz6 uuO гx$N-6IdI*a:W^':Th#@5HIu|n%y[XT"e %_ѳchJ 4(TO_K4zp&^̣y 2䯭_1ѴW/ɀdRh7:#_4-*Zfܧ,!+[BY攴ۜ@QkHbCkJ5kt?/dJRz"IZE;Rem+E T3Ł9R^~J^終L6UNډpj6ءBDDbnsUD,mN0?OEdE$\**eXѠRaX'bnK-`z`gD2gW( *+wG 4LEROut( C}c`l`]QA tƉBhuE v*T-c]~ORݢًJ^PE)ϨڧtE٧CHZ\O&; S"t[l!_X5jwXaw{֖҅X:LaJ6:qE",P-UB.b֧֬ix`LY66maܳ"PДs+޷I*oubhp(7к&ۛQC%8)$t>8T6:*vz˓(_^ /\n xB[#CbT{.h>zJRv}W /۸h +k eU@gZSp^.gd{C $тc*3ӯ KZ$Τ)gYpwn]k6K6*z"L:Js{Hd(,oUѩJz(ĦEt5ՓUzb5QUQu*R,/XT-sE~دaQk`'O>DmWt'XQ(TȱV‘ȷ8dوfW0xWQM] L`8W?WD CUhD&^)Ȥ)chUkp>s%}`[r-F / dspjiTJW^oxou. 'E/JXB9nHVJLRs ۸a;|1u?.؄jv*'?X0YpZHq>?DDlxs'C\(84P68\:A@|BC/o@Lj9{WsAg'Bic K'9! O hW4fqR Wtb \`ם-3BEP-ya AQz_mb$NWƯ@_݌++|l}+e=%KLkﹴ3ex*B۶:\`D w %XJQ4"'S$ً:jIUђŤ$86ֿvphٺ5?ӏkV f-'-Nl3g@@r_Slǫkaߵ`~okoA A40AJ!e.ͳXo6apx3FOG'^/Kh>hvuH 7vGa35mL30iw{J`n/ܩA(MLZ^"Ua9\ +ckD {de)!T I˕p%%PP@9!@Y1b*y˹@StL&\yb܇BTyHʬSy੣hZߦcD3U8(eKP1P>UPPiUX=;Bfu,Þdt%Oۅg=0 Fz2@fxRU5- &6`?f-f3;@M{ϲ OhGxETg_vjc]d- x 4{U꟨;?1.PUkhȫלϧrd ` c0-ZB~.NQT@̤ZW21(S7sgj (8Gphih˜1oXmۃʒ9,SKnuQ=*̦O诇"abi-Ni :dk ̛DTCL.{= jkY*?W>l :suh*%eKf}3QfoZlϬ*D!YК}E |g~͸ZXk5? U[ECrs(^'[rf%HGLHHcѢP:S1ByKջ8|J8Zɧ,d5 SY- ""90MBP kj%4Wr= NE@+XbK"z{gZur\n~ՃPcVoX7~̛s4[+=O(v~娇ΚUпBN}ɻu`ynkTk[jC ".LvI^'e'#S,i_jھ /Q*Hm\5ZaZ$9`R|+R˓OKyP-*P5`▃0-L~իVbRytC/ po9"Lo~SqWw6溍XamdVZQ$3M='w(-8.lI3Y h끻)Z{l&/yUnZ'nPƬa/G_3 ' !X.S,iy׆-*YbHv˅ 5m)#b7t=Q*UI"f$3%YK LYՒG@ŵ FH(TҨayj,tuvHFl(VH;C"E9sqKmnаw7LVv\sq)Bn'c<9[HӉE*ϝVelm6Xdw7ZP"٢EˇPV}vpenCg2S Z= Xp)m@Vq9+Q-bTs\*k+|99>ϋ& (⣡|,o8l؊P~k`_`l,*2b ϊԃUUB[K8u9v*(夗I 'ĺkP¨-2,i(xl\r_hF+-7d[ٿz]YKDtөm3ˆUa"$i&14п -[ӏq09c>{. Kkf:.ep/b%1FY E}V[G8D stw`ԔXx˽/!HS(1%9~XM-2yfYb`LioOt,O̟WO}VB~0<"ïC/ɷMp*9V6=l;#)݊Cv}R ZW2*̢>~ЈԤS\Ss*nBBQ>NÜM)EB: 9XZR_e,œ.esxGCU]e~X4>>5:{Ƒ ͫv%]`ccs 8N 0kiFHlyWԥ# ;YKuwuUuշ;XjﯗZqâgVw3Y0RQ;P <&B`!룷1+X72 ܴhHA(gs0ӵphN3m!;J14<Ghp*!!tb]XkolAlcsX~r ٨ Y-"7(uQw2PkMuG,3iX0m 1\^ՇՎ^mmmոtCu"tst%CA$Ty `g6k=}u-7@:Q%\F\k϶w7.RnM2 ZUc(QZJS /ń]%y(nS]fg'2m6q@k$K?ywab: ¾E=HHF/1vkE'zŶvw%V$`y6['~fqMѰ?) $I׻}vqli맟_74bhwY"^!n"LenpDoU&6⢙ Yk5E7e\e2!tkEDa17G߸#6ک5C~痪IhT12/!*VBRStȡM2@op/M^bo̓.1eSai][ĵ@(RJ$<(|dbeI!y%'ziy=_t[|LC Q_j"ճţCR1#gIѭZdؙa/T/@m:%AuoAX]jbT5* u~8NSndGCޭlw3RTMO-0p_ʎ;TQ9c2hgnUhartX* ECm:fT~ԵYhC2a X]PYzA^(ÜdRMPJB/4:] ߐ H f*b?W8F U < YIzIwI5d%hH1 Hi\׵ ]@n7<0P0rP(d{Z6/gl4k?!zG /zG( ^FsY_Xb$*$ݯ/@80:3= md{OP͟'Y:tuX!ecP"}O`;ۛ^ns?9V3m wdD&ϰ@ ? eN倄M Na8վ^tc*Čoev1WuO(6Wtys:B~" n+"vķf4%v͸`ݦKly7{Dv b= AA.yhR4R_D("sRN|s"eƭY͉{B"'pE#jZFcwC.hd$jͧt#dvo`ןݷ&H*Lٷȥs@ёBx¬%=$;$+ Q_"G@xU3nPR˺}%vZtdRe`V9#o+/gx<0ߴG) 9YCk*rns^ߺX^OYR}P⤰i`s==4. %MT( <_pU?F(^T5Qw,lFhA] nJICwa堁PctlSD @ @IBS ȼ#C+BS9׶ )E!˘ sԕf@snHHQ#ų5nr=&3 ,yw0,γ69q< W23190J!Du?ࢱ݉IbNej^l0M$.1ŇxN Xa%qZ=vQ) &'Vms&جI 8uK*XARvZ ￾Qݵq^`׷B&y@"v?S{gi5x>[dؿi3hk;v39qNO.p0iAzu?΃slC:Z\a:GNؔ2!5) &M60,tAm楾 ?Uѯ ,pͬ% j;~py6Bi?üUmkvfET]^E9eXD?}y*٢s%uzG ;&x4IeA 4gaI@eIek[ g+]NHɸ=Ow9~Ahr™5QKg~HMmah-SY !mBԄ3}HPgeg6mx c! Y+P-Giͱh`ZG-,}zҏN7mC^nopzrfb/92u-A55)jyiY,)t9$z9kk!b;[+e_x!y8ouֲ u4̀}\ шv6IZ4|H-I>Lܛ~]p:Pw䣧 7]Ru(I E>HFT#9]FsRdqݿA%o[n%f͘͟YG-rqݹS 6:$@jtuXeW+Y!3UԌ|P\< hroTIͳ O7(Ʃy!׉:9oOUU:jKM1.H`'s/ v E_WXsc`*lYE"rLZ}eDtO/Vi.YRe{'B-[}2B[G/*⋤>M+Ӹ/F4x{$]ȕ$"ba`Fx%e=~  */5`CI Ddt{eᵴ}{Zeąq^UJwp2NhĄSU^ D^*T Q,yߣhQPoJ T|V#h`OlmX ٦g5^%~s\=4R:81:O[b uX0Kiv.q68XIGoъ0 $;ž RfZ(};F-TUgGWI 3hsy&ı#qk\EhS!"`#Z7kKJm7Q>._=Ωt^UFl!,((WUZ`i^Va\3_7<>D:qX D0u}7vMt;ѷJk*PiCtZe-͊ WO\E_rL)N)a 8kNrҾ ̲uv˨#tŢ>FqTcNݟ1y 7OZyp# @8ڈc!l[+f\rb*1@[uu.)ЈNj*}HkImu([~(M(`+l)_uzD}Fۿ0ApXC! >Gxd޵;XGuWCY=C z'k2;1\7p~] & V\ACY5MS?Qr;XZWٷm\5R=AT/>?:~<yu#23hD^(>J2znoS,r888LJ@|85ق W"J_f/z5N ~2GЉɖ$^x'CdZ&$PB;e K"# C<|{:vDq%o[/͵1p6%x([ xn47Q TXT|g$G%ba&P<'# 8C|M{.dsO/ cn*-D9fcĸ>shqk֯pBAͲJ^TJm~O.xO5_+..HߛjsӢt`ұ4EE-71af*׻(*УWlƮJ@*~ӽhudxaf&AgFT-hӱe:x:>Lt/S!看L5?"W)>oZ$睛̤˵bcD|iҍ1Ag|wch{*b|p&' */k@/ (,nƤ$8P 1"~^01/e[h B'QTA-AiGS? gg!b\ w Ul|i°+Rļjl5`0DeweR%gtHC( l[]6s 0 tëS5.^n7) 5=dla :4O r.\DETk^s#l5Lukk-OPkLUu{ V^U԰gû!YڮP[^K.K mi!tc#WjI)jv^^oD'ujn |Ё: ZF]8*o,b2Ѕsvx@.2CT 󾌷,>cI\v:ƦG[Τ`̓#UwJҚk WV_zMާR{oj:"uY}0?b3&G[^i3H}G);0*_Pk5 p͑VB>OYA7ƨobqFD&q1v΀EЎD)M,qAvB|sy"l}syO& 2A _󑁊.Kr`ޘ`tfu«&@BE aPESDBlЋT' ]t IaFp(=קR*& ݡ4 p %~ $ .<')b.ggGC1cA˸z|ʔ}VGL,J_ccSv%۱^I_xrFzgP,e˙m!"hTi5#uR<Cߜ]7ݝsWj:EsZhî0TP\D~|f1'HTB PhCA(xA-[0SGHb4t3̧w^nh2ZUʼnI~!M UJ (!P@Qr&7iRՎ/G FDŽH΋urFHif&S b*D;B4$Cc#1 o|t`QB(ҍ 1!PE aœ@n8i/JPQD$;X PS3OT|]|J(TZyXoS\'CJ+WzeͤX,װaaТV+v#F)bp?Ύ#Pi@A8x2GpAt=J1^jAy +ym?/{Ǜ?7[L55SƳt/?Dcr{Nk?j g jF! pH[M9<|_I}y4-*8 & b A(~"Y `^{yyup}XWK1֝'P̚U|^n)^18P#CxKS0ӆ|1w4z`/آMRta J_3tPX]<_2t$+ 5O5+GX3xGp4Ym=Qǩ`;!uI:d 3{!>j֐ ux]BT4}=MDp1w`6dhnv"B QWy薹a9iaXU[VI Y^ ]2 Sq%s1=2l-H,Xޠrš ̫X8DŴW"%GJ|gUs\}{oI۞LtXR KwhlmOS{]uknMPLFB^鬛S- 'qh5im!:Ul0t:Mi)٣.{xj%0Yý#uBf*wk&)E*x]3آQg*,ymGh*zи.6赀顕.lwhf4G,Y?|*X~6|U7N+x]1|KP}&&M.uM'1a%2'&RC6n.7fs" S"lzfeƉU&@e3q;IEoFIȮkR8 s@f>dczXfG #y gMR<(0J=UCLƻ&Dkb;[p!Lwuaq*&bAQ'cDq(kԝ 7a9'XQ/ a*{[$|?f~u=k-kJ~؆|Րbtef*0_{rd)n?LOzLQ#j8.eҌ2gr4}1er屪Q~Ms\y. Zz"?܉ _߿d/o">'>}/cB$XWHmܟ"9cP͘upD9ziع+'3STȆY6r1 GHӒL\!nOPpS4j0Z,ʑhN/bTǖ.K]d zT ?mODNs ;(=No8X>ɩ;n(r tPs(^0dOՕ5vJ˄~`zk1Gw5^;J+:U+𜍅 &ȩ2#L`AHTC#x(厫yQ9r ` j;&, AK Q{ZKKh{.qhy¨6r; :u88( xAյk~ޏ ^k } z?zGPd>}nAB'ׇVw݅1ƔH VBKjpFJj?xe}a E& oQ)gkO5j./ie9z K.NᤸK#_DHGI/E|@U= n ɘɆ&۷b]X#yN;^OOן,-<_NOOO=pυ3jei{f*zJT<T_v~\zrr:Ζ_үwJ]zT?7W+/4?o m7Okw'g8~YYt>__>Tv7XOͳo?,No’.{eͳߥ[7g+Yrp`+?~8=?Yh㊖/Vwc>1jkuG{~zvw kYndz9{l6nq}&aE; hֱ'{'{gVݳ| mb'+P ÊCkNψxwS2h{3dž@/J:N DsV^l:a[` C/)f囤I)(&:67\ĵ?0aYxG?"__`W"'맭iUYo,YlBUY;Q4<,5tl>]22Rz9>IF>t-514( m"yP$E za9)3<9Bv2a(@f-Oǭ,c$zsVc'4[JĈ>cVn]2bZ9:h_ϒ"m8DtGG/@>Q*G[tQDre^ʑL>xa!6/Cf\~]cq2^a)mEX"o%NgPq2BufH7dWѹ!8]h7E:3 apbb焫,%o %3ߐJcWid"(k4уB] 4Ab2"@GqlFP2G@70F(ɴ[SRhTvzҺl酆T/6\\ԮtVG ^Й EʼnRG i4&7AZ[*h`*Ml$oi 2ZS2J/n0"|ݽސX>nkZSx69kq_~JWEXQ膾 #?8[)8ET^&/8@(>Qbr? S{ I"1ndKUx"2)mSu0Z+7DQ`n6d' xO8ۿ%Uw=}bGy}0H>t({mNPo]"c?cND ɽuλL._e`-].A7 dH>(@@NB~˕jK_J`ɗ@d&Zd+A`b J،f6<9BdԅD$.JqJ$@O*o*70CԙcP@s[CE)JW~BQKp6a2.Hלz ~No2NcRиPT-9y-GzcXu7aB!ɘnAm꧘Ma=ވ[Ne#'_(J`J6c]o5IH1ȌY!hFE#Gi*{%PXVusZf6F; 5MS2p2`{4DzQ3HP-qنnH$z@ VI4웶7B* LUo%<Oᣕ[J8g[1 &XZ\f8kKAR#FazpogGkJ+8^lQ?GIKQP8Of,qǤ=r!am#ԏ3Oϩ~M֤*Ng!¬G;lu1;e:>ў L8De ;c~A8RkRQa5e 4 tV8 K&PՊ6~d0 A]$P;l4F}P7S R{M>nbemS"gycT`=.Y ,a Q?F$$$0_~J<'O9=Ykb<)并)Uj&S⨈;JRu:3 00;H^bDR: Il#GmE:&>\:sR:0BkuN $ÖV+&#ͫՐgcsgI,e>K_hF3Ѭ4Î{fV_欖&bJ/$?3k3wlP :;"LEndL7~Jcu֥f(uArOH$cNcX\ AFZ ~u+F.Ш%gryU-K)Ç${P$5Ԙ*]DKx5SPSyt6[*~r/|bMXo-0D ?z'}xUYԸ2O5yy|$n12us,r|eĊ*b.㲰B?zunνQHeFQrٲ{|\űaMR/#suf\ت7Dj Ub8BSnjЙ}ΒUΕ_ )xI7rcġ${!5TOxųѤܢg+6hhqD7͋7hÒy%9ڞa69Io;:|71jA9mrnCU*{mC&Øk@"o,{fN/O1u2_k|q'djy= ػ.ޖ\R2X.>}Bme˅+V7W{8P_8XZ %E7dl eʭY,iqtGER*˪13&xмkQ|yJUDqjn a$qYbKhgVREp Q\$#sDjf# `1b .[CJcx&v`o:4XzܘP!{5~Kb{Dw1č<VƦJn{ɬ!wK;+sg!pVGFJ6UwS_ܶlEX28P?.,F[cOӀvMLwwkIa4ڵp=`OqR[rf ^Y8lHO6ѳ\zщby3z~#iIhjsJF4${0)Ea-Ӆp2EB4k-UəoU;9QiZ57e<[n);W(aͲv oSUG Sm&@SiM3ӆV|(%wRQ@w$+@vH2O0C֊G!`:|t=GFѿ6!ojW{WMD~3%&8\c_9TzקxXxSG22kw00CUĴ̰lYD8[@Ȇ u!P_R.5VQ}`ׄREkqr+^")v=3^ eѠ蘁}٪a)NkWuFM(\ 1m&LanfI{:K.%m.4ѬWt@P1.n(b eh ` Am_w}bWX^(CB|V_:>2r4y6d̐%BWLEbb&ުg3J{"aM3$v+e 6e 1b[px1z01MNC3 P8|"\NlsD:ջH-D800jݝcEy n(ڔ#O',KL,=> RTE(*jQ=M-";?oQ'O"!܀IV]Eٗ @pѫf\A6YBy)) M7`ԋD#C.0ոs`=?و )&Os.o%& λp9"ef06/?*I팺qdc߶8܏"`nB<'Y4}+1vUJK+'\>DAM KnKs'*;Xd||$ Ԏ2W jn Mx^Bmp*qXb­Y٧uo!sv!39Q"rCuhfҥJ*Q8s׋]=noYS:4mTe54L闣|2R驀(< JF=~'g^M L}W+$$ImvyvkT)E@iqd눚J;F/wzPFgQ 7+x/L"%@\uqO| gf%Ը豴iYZr00X}(*SY0r)'lgl$fוY{sX¼n3t:!U!_ʯ "C??R5=to1SPXװId~_ƚgy;y% si"gjPPu<ѓE[kz CPxw1 ?Sf ۻtxg-N;Bt֣83L+)m! EO+M-ՙ Mbq!u725T f(mع*\/njB䍡H k6gu@gsH1`Wy tpS*,&0z` 'Hg腽 }; 5 z髊JFú:=:0CÊRhlIQE^(LT#5Ua|3C-cf13Ws+E8dw^:)V?>L}E0Kғz'Kudzvib; pKmh`pI<5:歡|"SЏYU9z]9KD@Y4q):4}|m^C>_hKY?3༄H4*a|)s}q\a_4R G7;يD,l"*՘]U29#7f;P.C&I8#;a.j'@=Y7)]1m̪]a,E1-B GfT:t7w,ۏ0S*,Ez| 7 Ul!ФA_o=(8bMўG.8caõ3NnXMPKnjD}1 qgW1\X?L2$$><U"=x~kO ҃T-.ȇ2_CAR@fX"VQvy)(8ׇ9A) Y-{` $OIbdF%Aڍ 8k ݆7 AZtDES)#Ģzk_ ܖ_GkMb~99ά'plbnfxT#W n%vuHT)+zCdir 善tv-i/ BpY ؀G)˞=%›^*9-ȃYf[^3=Ўv.U,GAqbɧ鈬Sx̥MznSKJe[2"e D:OVNdr@kO$cl>V\V~,Di2w:v;^_mln¯x$EŚH@Qjȣ [ٹ%k|:<o[w˻BM_CYr^LoMNxg\J8ҡ9rwYXF_e(a,2a]j"[ w pRcB,Tp1E٩{r u۱TO;v>(}.TzTv$m2a)<([G]ү<+$)~lzgVa24S ¯hC{ !.;tApTSst[s6ݘ,*il%1m?&v֘(z'  ͑"~olJvumI=W\$ 4'WCJ&w||;MFA'Rv(AD%$_g}=c+zK=⑁gv/[Zó~.E/BGݫ]Ri6ǚQ5b_{طT^M8XOKszrZ3`ۥiqgON[.yr0KdJ1`!ۈ;Njop]H26)2u[H 8iS&VVB sLJ78B vFI$,-c$gHh ׯӯ+ĉ{kP!.EPp^(t*4>]oȨ IUy)V$]|J6Y[,KHu]QhDw(i7 X")[zĤf!+`Ek E&A]m& ܶGMuӵ|LqJ2*OUH01Z㧉(@9\M.NizƆ1]YbcØ"ֆ4.LyAe9Wu9=h8ow./^_=ʷ6ޔC[I0G #HSݡgןsOOϟs/ϰ+fW]iHoɝqeRs枢.;'`X gMu( ~3`sũhF&肕 E#3#{}mpDVHGo8K|.xV;'erqeL&ҙd5Aee* =E)ڴOnq4@EWP@I+5d=ordS'M /ܕzr ~vP&[:l-km+WfBRM5"8X<|@خV&4juӈ7Z`)i*[rĵUQQWBD78w_%#gCo0_e#% ڀ_0>} 0|EP)Cd&7W2Ehz0xҒ#kW򉔺MUe5I.|"z ZSu>CY]ta%뙃*U9# !-2V'k(T8+R$׊y| hDO^Ƌ uq5ɹIƥn4/ V`-450b?ZB2 {Oa%p*iŲȥ0||jV= Ng8B!qj$r`Gk-3B|Y5v3X˴z]~_vZi{?;o~6Ͼ*/Y~/@ͧWSዕ yzT%Ttgai)#V=0CwƉc܄b3 x,x(>hvҫ]HG(?x7$K$iO')U~rsnQ),qvtWsS[U5&m2^I?ڟ$]w5ʪEsIa^Pls/ǘ.q]3 a gd/lQ1>J[c ΪT:ܭVQ5# V-(n暈;/?1R~\  ;%%2bp)`+ϤWjV+mmZQ\Im8^;<ٸtƭ2f;ryjx`sy B6&DWduWǢ#,LaSY>#i_'"Mý㝟4 1#woDSع qZ4~qMS3?nc 7vv΅9@NjDF[+6 (WG RW'!h͓qthؤG_1^< KFЧO?~98;|}1;̴DϺ*vBkS6pq O%j ѭwgg2UDSUT(Q$ /i3  $Q93Zh+ZXpZ{;ƭŬYxFTj#IxZWlFVذuIl/vͿ"'||~kh@#)6UA[)ퟏ;2pnTm d8\^mߊ92wn)뷺bB\cڵw>" ~n~Νkr;ݸF`!.b*πѱ ~ˆu䳑rӠȸf+r4P}]|?dA(bzM/͸S@ ig|%4Q=@$, ʩr{~*9ϑ/lj@ggZ_`qݙ<>qws |Q[f^|2`G,rbkok_$fO|M _WؕF}DSB/Dop*_\78ePrm&{#D9k.1dL)fdgne笒/'"?~5<ӂ2`cDz ɧ5ʒkj"2B#(twQWh<5ҡN Q굃o= :>&'4n>]G@,ԋwz]kŨC M(BUPdT0J0Np:GaVvnrY`VI۸sc4 %4K÷APhL e2vxcHqw5ø(*ÓYj/]Y˳ͭ*^3Ϝ3,wpH &qS@6O[@W W@ȑL+mdzn Mi4a:iv-ǣxnh QkV)aDUx Vو;IҞK@eFzB~f, @2"t 8cr%IΓь2z'vЍ;~;홬04|bx1 FrY,c詎1H,ց'pCuau T 5:3؝2i蛘5iuQ+N ]VA|UV ˏZ}o)*௅I:f> y8tF0YbHysQҡLi.2 >J}u i|2^D>"1k aǰ.TAwJ H{Zhweѻ4an@|=e@4X)iHV|aFi/)JF}f\&i:",n["?ml_a5uيޤ&oFNDKp紾~i!#P`)=#fkqhQsmxٰ%Lɖ-ѥRdxDW%TKω93:fӂ6Kܧʌ WCО5|eDbdGAO.rεV%>אB+uH#5MϫkB]ŠLE%($wII"z\PBTN}tqS9H0ݨJzb7__Y/3j'ɘ rlXwt5:N#́(-gg|2C6/ȒgQY6 <;?]s`#qJ.}-{!{< 9. 9s@Ia C|*lp,u467ϛbG6!)/X2e|ed+gKbZ* BU7+</g -q@]AQ0|p|e\-!  1Q߉lO0T,Đln&7-ZT/^6%RFxYQ1VMVgb[psxͿ+d˼y ͒9aoy@bJ9H(oq((c-v&9.L%R(`c7zEw.eTr~#j⌃~Q7e%&0nkf*?<~HO2ru[Ds߆z 3aԜ* /2-t'(C;:ݷ@.>if2`-8rD M"s䧓h$߭FwGaAV(Kn>ۚǧ"A-wЫ$^)VpUt}H^{?.TlPbf9+VpB@EQ\oh4!9e/c?Vtĕ5eN@U^i!9x( :6syLV&۳e+IQՕL?]XΪۣ\Oq&:S𶉄aѤyl5J Zʰʗd4 Uh&<ٕL>57Bcr=e TIb0s*YyE[H_cQqdT،jR{T(O,{~qB@Y]?ɥD+1tt.1$EO6/}w&5MkTO4D@ Frjz5E=6TwW~p"4^2w7Axac `c[mqOO ]_+Wܕh/uޑ-݉ZJb~qʳa-^_L~>2G_|!_t4>o}U}M]G 1P,qkË m*VSMIt=6Ч(At11Xڸh[!pn]!aK.R>kFԔq#v{7Kbߋ aEz0][0ER–( x<Х㼪Pltm&tZ ?Fy:5߸IF~/-\̫A.MlQbLj%h'L#0"B.[}FY h>' vDGw-;Zk.2F`\?jz|pԝj\$2^OX K?$o~P+"!ԍ&l1{sWW[`7U S)߈6iP+l+m=tŰׄ>}_(<85놅ogmC7n\΅y8irT"|Tm b\(iJ.]:} 8I@?pq4o.//7U`"4CujNH-o+FX-KJJ:fAJV҅~K\"VZ{8V^ńJ@Ow0P撊3D)v6I>GeOw$ }7SR>t~_"2GuX*b7Ȓx(l2zn"Q4s7)'"J@/G1N"jT?JG9hk5ykМQ]UIQ!ɫZxZUHMT.F UG OxgFq썍#qoJ?E@&m85 PXN }l2:Y|?_dȶ7g&2 H# !.zh}`7rD6OL" ͙WaVQ>l4ל2tl91%nSSh 8ˆYO ]Ep,<ol>;K5k aGqlk*[e ̕|'+!AG?s'o}䳧VŮڱ lx^<9 /Z- D81 kg9#hx>z[vR6BĔF2+~&~^;kjs9 !@^tEˏd/8%N+~`⠘ ʮo3pQ|X,!L+=FWЃP6 uciPV9([i R/GCxZd@Rö:.Ĺ5A/#Z tCTPw UK;z7ѽN{5;I#騖-Z;C2aZf;:9^l̥8Yot}9 3/ 7>xoyYKaT0di(xS&u~2(Z`+ip~ly-3K,]=kD^FD/"S~4(*/%-p ^yf[yW1b[e.&TҼږXiADh%oZ?;'JepEâȉ꙯P%;rkz[^ K3ǵL5'.E-贠qz]T ,kyQԛ뫄]81T!^ Xm T;w9od^[p@*/ Mfeمty+XR#z{ |ݝg۝? ϐ;_| , -69! vսݢ*'w y^i4 o2 E..REjKOnŭj&P$0GdĈa&N څ]ЩGLN~ڝ'ғ24:Y9$,{u;l ',%.C|x~=I- Q.V{ų!@FO^"$D߉ tB$)%Gw0Ġ=O"O,U)o_ szkOR9W47`Ω:|݋8F ȡ 1]&Bn 5NJNF#ICqOsInM'kY_ɒbCK#<K©r:@5G2 -zڜI1%XIQp 2_M[|V]oMZyG`o^ArY~:lm %BKKp@\{ǫk߯FGѪo΄;(VeӮįj8qOL ɿ_)er,tRWlO]ȂQ#YDzYW?rF5XNBKo~B{@|EK- }=m%-LKN^>mHyeԼPAp0r[-5ҜAHժ`5nB#hxxI\*pW"ZNgyv3Y]ykENR-z:?iI9*h@yhTmZ% ꐿ<-qwV'/~BǙǽW81kU'j 1*1KzRnשNyFE!gUS+i)_`jE֫1%=?o-~O*YVj-J%*)CdmrGizR>mӂTyˢ-EZIP&[ 71#8OfVc>ُf훖z O]ZY5 ˁ4P,U<rɻnam:!l!»4-] ri,p3VJWTMߠ ZγeofYɨC?Qf Dtņ}УNڏu>tx,ESosFf2P;P' JS`oVVU/^yyO~ e"o%U.YT[ޔF~ؐ 9XJ/o^:dw§J~ԿqfbS۱ĹiDS3U7zęlYXUgi3"[dMOsOAߡ>^hb'zJ38U/k`s~],qtU]Y)1,\kiӲ)G鰃 ꥌx+^' K'||vqΓGӕ"U~ةRVcv;GSCPl$WNba>U.1`ؒoIMZbXB!Y{߯f3mڿ w1OSկ⃸N ~ߏE8H<[#GvGP@Sꡥm=nc;NƘ(9^IsO{¿{aXxX\ E2g|y|Yy-_ũXʛJ9 t1tYnC5C b;\/ am.˹>:qAs,WiyuG O+~< ߕDq쭙/j+&kx^7;alZD8i[VҸg|L3L.5" &GWSD(x?jY [% &qdmbZ5,W*9X6ϼei6 wPlv*P,! qg, &Ĕ=h0M;C0;?|Y?m-~퓥K\7. ecP XzCREcUPS\{5'n-֢Z/vk:lrADg;عQӺQí@kGM甆W _Sz"exUcwvRS8)=vK-uz|oƔ 8թ(_IT\QS 1@]2:1r]¼ ~J(Mha-dWIq Cl%!E f^*Dƒ5D9Jߦ/ǰ:GǛǻGK C0ONźNCJp|:스3HQ'X2T !,!  |qcJU!C.yӏ 76cڐLcY6ţ/"Ak@Y$p:"9K9cUߡ\'dbhiVI%@PtQ;' ΄cvc@JpwjohynuH4a8RMulC@zU;~a=K]%:tiܔ)A[IO>1ҕfdue\lUf=?URg b.z8V8&]Җ^~bw P4g_f2<O?D}'.Up$|}b7 E:q)ښe,:WPq2B(% `(aߝF;sK3QZKl2K QbnpwCh&Kw血!OsO~ÿ>(TaF9۸ '@2\Xeӑu e3!ocs`vw XtSƢ}RD%#ߢc:$`Pa$Cli7] q*X*/[6임K]7tG%K}< pd́iRd B<zYMahStNmxF5z77\p/?#*+ttrח߯D6t-~͙4OyT󉯋w܀N@|#C(mpȶ $U)ݙjf .mx5=@p2Y:Cdئn  oL0|(oZ Z#qԯv:Ӄ{!}[z .FLJ`aP]{+ejҴ̎tcR7_!Z7JV5x q2,>ߺ>Zݖ'pYNܿo;"ƪ(G=2&QҨ7ktm&tZ]ѻ&nVg5WUJo3M6EîWDϚ{Kkߖ*rH(>º9:܎N \CotHiK>qomuK$iޜD7F3&֥fsjpFA#ݓ@yQ1g}NU# kL:.ENDAkQaMsCXd+#!*i6W]ʕ|1IBqaeH ӺK-(:1,X)r 7$ej2=~LUD*~uzn+39b>`Χ`n`r&$k^Ђ%K$@4 X껂"K1r6)P-LqDwh썌?:6Sh,vc&ґ܍ϓ~XkIyRX}"KtӝaattRrlD"W0njM΅Icr%>Y_'YC/RV4JC5}C[Qi_):k `HÌ;ȉ(4Ԉ4\YBѵg#a 8~?{R{\"Wzq)_if%8BCJKKyjƄ %24&'D ~[hJw gV16.68a ueا1+̋?͇Ty䦺@fD6ӬțY "VL$,Hl rK_^94*Wٖ֋ޗHs%-0;sT]5,jPfqm?VRhxU.J4r6q^Ohyb; #5:I%C2T,2P#Qq!:Ӭ$yE&7 mEUd{ ;_'kp[ΐϸCǏP(\y5 ]GIn}T-4?GMAP}'YUyg,|sKZ=ͬT ][4c͊sVy<\x'Nw>Mk5Uua5i.x{*O]9)`ڋ;02p<ۃ^${cc_DvKդ6ߨb,tk;,sޛ7mI屡3g7w'BS-}=pO6= 6pE=|nSXy=]_uqu1Kuu);&;hkk:)uJw,<7j0͖RFi5>lN [pR߼KOn6ٟ׹thK-ˊH{ɷZX=K˜3Ԉ.L )$dǙpy&0.W>~.5W[+?QR0s@W(v:V,pᗛ?[m$Kt6>.2,D/hbzt\oRt;t_xP\29f,DDөxw sob3%p-8Г ӓӳ'gmsїOGHL"}uK¡|shmU" ꞧ r@&뭀f*4FOeP 6%D 짙Mz_Û >UbJM0㼦_S&aK@T 7}g"J<[tPqC,|R|S66%E8=?5۽=Txڝ BC=so Y!ߞ&UaGQ ?5i`0^LCL8~QPV/CKntxj$Rvtxh5V޽|K.F׼hP*cA5VILMudesAZ ޷mQ6qoNW$;.#"Z+v1e1 -v (}-; bp<5,RˁPIzս_?ŧUv1B {_^^[^Y^_+V`|-.?&GO0WQT&Mpѣ吡-LD?Wtu{ mՂ4L/&ȝ py;)w֏n(ow:MGjAPAKch5yTN/Ӥ_MK+žz7(yUGCu>zl@=%nZ\=)F_䓌c%jԄ% [K喿GdNr&dfOv5aFJGޫhpNGdwj'C#}mV% "瓱67_^ [R9a w_:j7~^onP9~Rpd6a(,dcR_nnOwvwV|xo(zmF;[v7WG۸_}UTSCCf/o|=U{nT+KLiҢ11mZ>GPեhdӃs0crSm ?uB- ̄A\h *̃hZ C!ݢ\2\-*B'WF 8QH+s/x l[.16:=BAnBE ^IcXIeז"4t|$CeB”RWmx[dh牦X1 uBILNApNJ8/L$#b0O[4ke0̈́'kSQ쵩{rG;8[0EY/zKn ʏ5#68QH[,XińD}[YI<?.B5Q~ke]|ISh)U ̳盯v;rL4Ym8;5OSƮaBhN0AgM_=bp(HVl;ϟG{x;Xh&`(2h܆1`M[;{p>ob/065oʂCSsW)duF@.GY%XDLXء|R pWܯ$H&"_+r\,d0zŕofxfuc9dMFНU;G$U zŒ8mL&8.Q0EsL*P I9[r'/9u_Xc$w/"WnEz`Zx=XeʹH<{CiX=:k" G@r4@! \O2CX'J^#Ɨ= V뼼uӤmHaN>$w 8ըb(2zE]Xt n b\҅TAAiYS zx50%=lCu\}X.g, C>-QC;L$9 NUX~s.-Duc 6m*ʜY!n)DKdiIg󆥉)Q:Njnϭf_'dm*! =b'bH՝}K[ASy T ɾ-T+*=y9\MGgG46R7;?ɮ><&xDv_mgtt-sb5`V ۃj׈UBe]aԪ6jú娮\(z'"MAf1" ٣2y.\# &鍵eSZaY^ $bqMb~j[8og|ȺIANa)eS:fԖyX%s)%X*THlgi0< ͭMF?',aNZ:*92V8w9b{(NWI hEDu1#&B߻l?Jɺf# O1FGGkTg^+l5Բ֑_룒Ke*UfoXHo=JLCXY1 j"KgL3,'n~IѦi-_]8׈~)HYQuv7cmf@:f칛ǔzmoJJ tCFE?J}eMILz/:>^0BYvX678<:D  Zk?8MLLAܑ@KG] ޸k,H%Jl-xޕNnvk)5|!l2kyq ;f7ExD qs1\ (ZP~i oxP`]}H2 -vw'(1 G[1.C$)/?h Uh2u)܅L_.K`cpvG\,0YvD.3(Q'l.3nu#ZYΓT1 xHt+cz/aʓtvVypie7R!/,Q|M9+䡀)[u) ;%xq%/EU~=[拧';^>2(;;\UPK-*o<`D<B;hn~ʤWk-'^ZKԠ% w J2‘6龜0#^#X[s$NO$l [R%40ñc}<Ѝ:(eHº7b qGQ򸄭Rf%x)qMWc4.X!ɫJ{`luv+X؝)?_B} )h-##/ 2k7}G$Ee#EqG/ {q;Q嶮F@Û8d`6LPĠμ~v*pqT MϹ TpDG9b^wjh{.xL`K pI?z\Ѽ2e 60T }ww#`iAa\ /AjT7Uvdqvy;ݟp,W~Shc_{~gcfk6.Ps3g)*E7o0@˴i5l?{b߬*OmbNoV7ɑ@5o֠^4p2EPn~)#$v@(/!E3Q1ot&y4k:.]4Y3^F)V,Vn,A<:=~Vzy ΑR?TsՊfC"X 4Ke }ŎS0Ƹk! biR#2z+ri o齹^7oޠ )Z,a1m.6lݘȊ`-=`kÏJL!͘Ep;H %cBpyoS)9i.PMJe:PbKmV9?Ip «Z/rtIv5G~-}tY<nCӷ${O1ma'v[ CP,/T 6 r泗۬*d9mBCA`Q{!wM91;l^RۗJ>{^ieE~1Me%e-Xlu?B2 QA72GGu.?ҞS[1e2pHIf}kyR۸*zZOO%/7oVQd ;MFYlkJҔ$lt}y$L:~1T\{`0UĎtG[{/UxٳC6$yޥ?/϶eiXY3Y3P1aY2Cm%>*8E }& va?3$rez>]y2 -%phF!N "ik%AW̝4W,b<^R񨓼84y XBƌPGќ/W| +XJJV.5rsg , NOIVu8ĉ/pY (K&mK^D'_qJt{$낮ڤK b <%|a[$sv"0;=@_mcwߋ55 yn1ljrol,VLn!Ė7Z9ha} 5ǎ!z/6əKP[^u5wcva6>2!Ƈkl#oD",f}T})@8$T2hb9@>.FOwz mOSZvzX&] 0L)z,}T 6۪!P8$LMJ[/ɳ.O{tIz$폛Մs\6zF_܎NFtRS:KPlŸdi9٪2<FlxZc(wu)YGhӫwP(AAʨ?vc̏HFb~h= H=9/v@ =~KPCȷpn/Dk4^b=]/jK /܈O+M :Jrik[R 5Pǫ#ګj3Z6zfҚ *2|Tޓ}L[NGf:i1?w.djhfFNI>Qp6Lшt~3];Q[R[!z=UTl +g=ymϱPv.QAoD;(Oĩ$.Ϝ<4zMc;%ajyDm;iFA `52Q>OXgm8(nx2OƧj]L 3 YQ/V?:,w::'uOf]Xğ ?uu礝)ė`ҏ`}0}BZ[R si=  64X  %GȚ+S X#Ъ2H䰎֣HKe쿃VEL) +)G,}.tuN%B:gD.ޟq;fZy^ ѦquIG.7b)y< 3ִ)yH[+;*cJm+%;JdidDF46 p?cM 8 }%5ף<3jǬ2cе:+&cN޽%5K S1kM  }iltX0`^RQc'˖` ^WhNȯYMQ3JUrL@Rt2B0(mƐU0[4^}X^驊?D;x"Xy$Zn-G9Q 9 M:6cp̉w8̞٬a|!;gMPzMB=AM.5DQImo5ǰ<]F^pEը]D2ć!0,R:VT[ÐyGێ@J/Γ͗iP2;OX-pc0yvHt0Ev|0@ ,L9A ҂4퐋چ ?M4*Cy kN\L?K$74Fmbg^e1~)72HؿiёGGݠnMVU`yVM]]DO^ښHf>Y-f *u L8TNcx嗀ѪC.@$ä@zD16lm4÷V\p~gCjbxփ,vH/// ɪ+U?Y}PJ넅EO5Slóaˋ\B&Sضj:b>2&޲s P;LSK%W {L2A-n 8@vKU aWBFUjB! ƅ#sSZ ďY;,q:-q)$^\ 7=Fw#?oof]ꗋ-wXiP0$sO[m6g}A٫ݢP>7= jde KRlJCU׵7en Y. ݼv7]~RԹZdO`:>q]os `GWwWW.<+WVtH˃Y%p~KBݠP˜ dG2t+mG {!n|79w;L2kɯ}յ{gǵϴ4>[~.ϰϹ؃-TО=g:=kgIp@Ltd ,/>/9W@##8 { =sN~O~ۉ]T{f Aܭ)@&#,R M;FPxV2} %6D(@ئl2D\\ A(B˻b%}]ouwA_wGۼP77VNtKEBxQjW:-~6;j=Jc6QTDD%FSܠ ">6( "0Ζ퀙Fy|Qr/D$ \vB'[a]>}5D|6_-BoV3ۡM+wy&)rZ<<2o`F%.Ķ܉I@bLk0*Mfᤠt(0s/>c=X3% ^T26@^ᆳ^܁遊-(øGr4,͗S(iCA<7[o߸׵xPɍZsyN˜e[.U/%ف@…2:|%罐@JQ6WZ/\xA:HJ죀}t5'$ cF>wq?k|bSLޣBwף瘺qz~¦O 5hPĦ8gP,eqP:Р#mݧLq0gƫ-k<}) 81L_fW6Z"H\!umaAMtw^ourgZkrLR N H\Qo2)BAAHL(HBW^^(בGFyv+IH`P_\vB~*XKʻIJؔ6KIyN.ȥDPYH"S"l3FnT(ѣ6-st^UaWNXT)Aƻ !/4 /{@z ccN#J2i# D{˒.ZCixy{NA 0n7Ёk]. L0o$Qo]CiPo+^u -:i|bac!PLB;IxhNqlXfpmg\HN] >:h֐b(g|1g&!Z1Šw+[!ƃ%hm? crBTFl% iVlNO\r{ϑf1\\uD 9_½;_y|M{(J efJh~02[ B{ -mN NAEgq-z6[-pdlQ)LaцPv Zum=Cŧ̘(Aec<3#\=\tȒdS|U8/^HΪ$4 OoCm(R?Law@S"IodjGGG|cc<RÛ%m0v΁7<}n-]=aF =.GUQ^xA+il$}cLw>ܴP6:J;<}x"Buwua^^c(͚TK$e"-M9iZ%)H:50?q))4TO@#)4 KG:/K+~V/.ܒk~dSHkA_uhWr{6{ ӃFbًxl:G_ǣKZttWķe%ԉkgc*7tw%w *2d?ɨxruFN$TO8#~T .]" Qhjчex:<4 7VT4 Np h_ZXa̰9ƸE+t`4_D0ƹI1'3i^@eZb8nr_~coXǍ߸ ښD:gKW\L䴳h=;7 OoSsN 1ėq*.j$pva|[A:MN!s yJ$Wʟc}ȗ1M7VT(!;}de43HK8?!m\" 4T .֐=B{H>Dm%AMgIJ}MK+0J^դ)Y/pّUvŨk!@z>}"oCOq UERÞϋBߣ9l/Edqj( =DK'Qd>Zo+ՏKғ1le[T<]_;Y)YCE^D,)2<*~嫫hKrkIRXD `aB*dYXN ߨLQ<\[ɿ5@čLwL8zuoSRq:*hEDΜ'4.菦~UW6i!l/{C-I^] yAؿ@\Ak rh5sWL1 Sp."?mv\ٝSMaɣm$;(,3M lG/?󭆸|;n52a;~!=5HHLF-NKY'U-iv+f0:N/p bQ;IrO l]]!bd*\Szk3`yC9 |pLI|i͢0V\ii@Nt7 CN+3eNE p6U8ԄB (0fL0ݤM㞮W cX晤Fc_U0בN: FYh]t 5õg?(}dEarYLDkȦ8Q~AdZay 6TE!w# /Xޔ96"GN~@SiSv6c\5D lW1R5F7%@YM#o[h-,"'.X[dbi- wj o*,ƠCgPmGdUΈjbZy?®i\=6V(T U8ZLi sǖZѾDUϑ{qQڜ=Uѱ?3 D.~{L(>ABAt´.Ys?P1?%oѩAz*H}#F{9Eh\™!8S` ӑ=h oѹ#)GO9agMpm Us$}d)vSG-f~F jD}T*IHp*P"(Hך}qf, #)sTI^gJF児OO(T,MF"W| 7o4&t;;E"8v:O_b.Wђv/#bNR>dKm5!ޒd@R )j> %B؈?ӌYCѝnO/U?LS52^%uð?^IS6Q_@mE՚|Օ i("\\p4(<q9>ET]2Yw{- (j 2e? +ꇬk"`<rf qtєHB ЉHfRx Ñ 5$io'Q#! a-쇼A8LGƒ! t3l3:8ߡԱ:O .X"*9?h"}\ep2 `8?$˯5^5z"rIA!>VgM!c!TsL\!r;cH*8^Qܲ_&YIC,Y8fJܣTİ1. KPW)NZ>MWXDpAoCXY-t,V!> AUOUv0|*4Hq7++z+o֕}|2"[RS,ssu{fgwSbrVzmK`:Y-k7A=,~j)bI⮜"2dvQ g^Mu˨?CŠ.4Rr}@ՇrN(/-%%,|(Jpļ gX>U#4Ayh1R>B,sENW3Oݮ WTS%Z¬{!*j7(ɽL** Uvd\D)R^u@PXY,Ea8f_5aspNZ#.aȃ6K#8ʠpXfh`FY@ nI<8:Tfe6L_CwT[iߚ¸.ůeܫE%L:rILz?^>Dp%jbOirg%wƄr_<1 hJlg ^oδsppiƜecƇ0 CN:O^"NlN;v?MqUf[a8^ e7[? Эetɑ4= !0{on tfyPmd).C+ L WUQYƓߊo$I#wE`ˢ U!Huy'.$mn)lbbY٦\WW~y{؟R,sqj}6s}Y{[]w{k{gi}g8֟ Wl<e J9M|EcؒQ:-n~0Vq 槴MOFp!eu7_}CA "F $u1GC€A B 1cy#^o&YO TF!x{7ɾ_}cG9b:Pa ]DDu1y$Ջ-ߨz2U>xВbo| 9~8%zyxwC.8Pٮ"&@ xa/hwxs}t=?6㝭WÃV!_}SA F׾|9(N% Ti=A9N- I=h'ѽa9S`7 ܈$%_nFJsemA:+R2EB2,3EFҍAg2ʬ݂p2:=GI/hIBp[ Z)l{ܨ8k]qOjTi p"EZ\U[qU+U%ziT%UW%#jqjf|e"\*6elU3m'#4ɹj>n}UbaN@&E:x0|XkܹSk`!^da4x|5J({ _b@Qwq<ꞔlB_8y{7v{=R{`(n6#&(,u Z6-e:Q{GY`Nh}lK^c(ʹjڱR2n2+)dtKDZA! hDAD|xv)+F&sS?念w|EQƕQSR7 qڣb @ ,4%_~!֣o..Ȫ [!Scɓ#PK Y\U+^ݶP9+GumkALDI:IxrBP % Ӝ$ˤ.&RTPosvP 3ː42 xvdAgskkำ|i~ƺ]^L&`-<7we޷E|feFk`b4Sޞ?ypPmO+l%xENG3+EjU2Uf%*+wI̠؉ܿlmfPnP'8 ~<>ޜ a~V<c``;ufyo㇏_Q-[WPmH1fѤˣ~5H$Y]i} OX˱=Okkv|fVP+zV~Q'( 6# ݸ:(\6GEpA,H΂7e!` ܔp3<жW14& {PHyY8hKBoӶX?sgYM]Yd0 T6v6E9kSPϘ=B}ځ[},~+wh +ㅱTVͲj.PfRev*6#6^[.Ί!; 4nbzuA z4#bƣ泗;{ОH1&^TW37g<sZta(K)M;t< S]bD*(5gP7g啹;U~C45bEé[ߣhQ"srJ-c2%VQNZZg<-Mss5d;ur=x Z4Ĩ|5 A0{ zC a2jT5wS7$s(ʘ*"9U-G4{wwueU(, t -kBň9H/ǯ"M|Q'x_}==Xe:}#>__/#,4l)%U8\N Tc"f-W!QКԫhT(+-`_٥=ݗ!ch=f]⫩uH6U¬K|BL Z+ǃn`%ta+׀3V0"#ثC{6lڷA}eU5qͱxGʿi$5lH\e!^\HT r6w-FVC)+a|6P_w%k/ek׿ǗPT= @ &a8 6'/`裺[÷_h051%ZE Qk,+\F(3:(Us c@ѽ)}( }D>f}?)OJMn/Gxcgj?OP\Xi>|wrwl;_[q{_/}P3p^xBl{n۔ީ29yyvqSk%Ur9V(Y.>èuKAc9u9К\aQ› M13iT-} ?r3{{G|_/g9 8}}6}cbY@yP^,ct'#ڌSME1>/mKJcf ك|xd4BC鵇~@YDoT\LwcuHHij=G0XHn* uqCQKV/$}C߯( гe[.GDc{Jo}뾥 ɞCU3wRW㒪Y>&/~I/X֊ VuXuǀ悥89gf,5A7h<Ŵr}<jPڄ)Ⱦ+,,!f%iZM G̢"Z -6 KG2jcA@ŹA,x˯764k!RZQ1|_ԩS Y^dS"y볣Q?&O{յ/?GOlmmMs}@5S E(BQf[@BUJFiSoFCQ{R% Jb>p )d|Ž>1J.j$I@nfb.mJu4/n}A'>}UUE~S F́V=cB`JIQ,{=xMB A|eвE*f=Uax-PeibcŵmY/"fģ  *L zP瓴?f-ԱwQͭVGWGXW-[f}:$:rmք#{81y6xe6ANs K Q6u3uV|C|_q޿# 7}ZiJ,[v=Jt:qVN+v,;hIԐTO}#{W(qX$P(BPIkg#((ԤzA9zq@?Nz-t507ꓐJW _`5QQPGn/"HLN9@RgkC''l˾*Ǎi::E+42'Bg~)Q} UQ!HG/ST_` qʅ/RT? zo4 af DQ`2`HXFA?7}`hx8?^G3(1_N|bjյs [Q謗x' @-z6+BS $RFGEE[& "K InV5TӊײMc$2/=,Y.s-]9CZ*7Tu8s dFqȖG#_}=H4n > b|g_ʼnYN}䏍- 5mK m)C USHŃZzMVC1LK & ~_c%Jٯ{?5,-h3]x1PfKor;o>>7\}st[4]z2J1O\6ҘfSߏhp/31ʻ9X`Nr+,N$6ňqDg8a0BLT Srn1 ȹmf+MshK$EXb}L#6'/QԚS;~_[FlΌ?ta_v:e-ʲtVXrKǥ05@㣦̦Rf8D#H.or& ͦ*~% O*]vzڬ㪿dgM{dH R1ft vY#8T tbdhPHJ[G6K΂Mac :QDrϰq* 7:]f(j2$E #Ij\-8;NQ:M1!}oX5ƾ5u]h$4fMzH(GݔEir֠$7)e9K0h<7Zx/oQAK¶CWhyMkM[,%b+^T|)}PS&Z@)KףM:ɘjaE(@Gi xrijPcgt  (tH7 Q:@}C+x/2E xMU ^fv+SOдDf*W#EkHCBã0ݪE6;Z]SntJ-Tz5i3KR`\(0j VO+PjjM3++<<'Ӄ\B2X = `d&-ЂAR00`2x6%NLdxA)Fl a!kEhB߆+l{~֩[X\rS~OA2D{ $C~CNmڗ/s K1߄l ""'hWtz'ۇ/Y: C<a6EbaI?rZDWP餴wVTo8%wdN}IHLje!XE!hqtDɯ}*'%%N?"#Dգ)?Ѵr\^/=;tnS8 nsjy oy~gey k/cEޔKi7}IDwl/c^ZkxV[daC-f  Qp]N)h7NF FcW|Ao{#Dg78cZ42p;w\n~hb fsQK[6,3h= ,qyJL8f#!OgHO/w?^t.&~x).$qMtͥj`9p:Cɀ5 Q99ҩ*4I-r.'tY:l'm@2 'T+^Z"7(kv[dVc[%/Z(!̃-ey~6+|`NU=J2 /oci-WV'B[oG1԰t6RO(Ec?JeAꝻs6!XGќ ;EMU]?\?}n޾8g:4]'P QUA:p/ChDo߇C=plUy(V| S\茒Absuf9)tmϖHS!DtIΦ~lF H{ĉ7V粯?pmuMf RŒJra}6(*3ܣry@&880i\Jtl~kBMA!)Z..WRe*PҶJ~]OX&<n|<{TB LwѪ l|tM{8:Uk#2$ e%e4!S;Ї6YZ>o*M7 YɏGgqúΏa*V7FOtws41jڨKF?5ߛV:fmcJQJ2'a0KFzgR7Dtnb{ 5y\< 4MCA]nIfjra2m<қ<1e]=EZ -[J+Sq-K,%4  XŖ.ٹ3жd$pBһ6/꜡mCVr*`gb 0 NdoU+ o*IX j3/mRW!vJya%S1UvTV5Wçsuܭ*\N--}^Tauy4J,$=^c7 2>ljahy.eSOff@bb)f_TxG0Dd{nzI+z0xζmR~ʑ N]{qiUl? U N y,)q$A)9r2_\>p/t{A/@FCLjQ,'C7W[?r뵖Sd?׋-aHӡ? \BA#4`Ȝ8|,MCP>0 Axv3jn,\L-}nJ l$ 8 d'9R+?)ٷVVixsm-4?0' 묭I%O⼏VdQz #pЬҏp %IΜ98Y$1Xlo//ށk 1}e35nmiI@CNKo/|wUUAke9Yn,$9MTKǚ("lb)E檖53"ʺ3qZū>LXݍyWV7Q}w4$#>t-+./W0 hvuȢ= s̏l, Z3m*ݛ ١RSEȹA\i`B!G'_g5TE |=+iMLÀ[(;'ƚt&a]Go?>&xi;GC̖Fta7Ƈnv? 6ڷy{祶? B釣0*"a'I7DteBj>G!nOwr|;u܁ x.AChO|ΰW$׺(yHOțq: @\1qm[ByGkA/n,eo䲃 f`p2_SuL f:ӗfFlKbiğVFb((J>X7ܢ:ZRa rv B nJ[  R&0{)hdY!ZnȆx DAjmapkt>?`^`s搣2kRfFЈ9Y\ 5O똄Ʈԟ[ Z&Ug\`Y~[I:v#ꛗܘ.wM/]YRKn<tZ&U;NuC@eb :`|;@%#0 Y褝 (,k}R "kF.ȩ䖭 OH(#ZlvNT<#g#O.,K$ZZl[BDHK/vpt04o_цLe<хO}C6ZDwXl.{''>&EM?Z9ajy=NQ8P~NWY-5G:'6o)Q6( qk`6/xW' Md} K۵f鬏[sjcr&!9PC5bWVfԌ+H74#gӐ1N3HrVG OLsɘVP5~K[(1(Eӝ#+duƙ'潵Z~<e{stFI+ÇZb3?4ރywi}t0%iz6a8?d6m TQ'5%ƙS4σP*VԺnt$U0Az ?DEw76[??Xgj %9fA?aj*t9t"ϼ\sI}aQ|ۙvHE8,4ƄX;S8(s'0nI\0sE,bρԌMq|؆ zs7rz_os{փ*u<K2у&uދ7~wcw7ޯυO  "[؟f_2T$ B+.^/ӽe|{wWu<*"^?y[AXV yq =H۰YX,`ׯ XIwN{CFV`8- (!LWOǓ2NֽOW߮Q->Mg;fNB_U11"]zi'}D'kj%"CFG'[ÏWTŐG~f|[lǑk/Un0v3^^+@/-Հy= \cNgЃuomnm+Ia%)\qL{L{V+߉T<+g3 14 o9-an;Ia {!Zz^ݧo S vE= !1lܻDJlh]"yd^FӒhr*7 Zvj¢%DN# r~E"&\ zCSil4>5:D&Luu5S{^BO^/_,>rY&NlS C(|d_ĆXu3 ),{byʿZd}YO>4Sh4jH\S!Ym(Gv^>p0q/uG۠O=bV0J@b$Uſ){/K Bqn[M'$qm^ `/_.Nu^K5ܻ͐c*&x]|#SxOΖù`[~gp>$ccd&[X]]g? ,[y]1⩪-uRdܪ$Z^r!0:wMk:]QkeIg=;y N|N{1\B_o~g8TF앻(P޷9Q$ /- D]Όud $e+YNiw8;]3еʵ77:A} dUw&h˽]Ml>91`PB*?c7? %TC}$ ʺ('QU/1/#`f\Ν0"Y0Ƒ- a^p3Wp,ܸaGfg6-'(Yf mJ0ڼ` hDtY=جk1cr5(֍#WU] \k<2˃֗&M^1;nBl^ሚ<{w3@ E? ѐs]ΞZL@tUh;|Aq"3 G>aR!ᐠui;w%Y*Oh#SdtslϞVC(E TԫrG`ywcSOk3 !>Pظ26T%ӏ+N@*5i–tad ÚQx ow,O sXzwrڔ52U|T_Ze^+\jv9F?\ypeYV?j\།w ͕dZjZI`V'uokkY_1/x'P}^?%Rtz(j *AڼY@p9!IzdF_)0[‡192%~Lfďx=\?=y'N/H}dЙXG($7Vs.3J.~AJ@>=6mOSժ`pǰv5yniWU3ε5MwǝW%C1iCow@fN/j`XC}8N~_G7Y$ʕ`m"꼆W?4Y(Pf?>,H}x(zfs޿{x^!ϲ[1 5Thn!gz7Zt _"zE1,jM^zQm)hRȧVXE1``JALQx +@oRVg*91"/!pQj+PS~Ӷb(Pro`St]C5-p7n5ec&Q±*ka 9Q,XXl9hb.(/}LqFzEyN_Z@9vso}7mqbCxSK џp:$% ImL *_v:w;Κm?ZLdrt^ٖVWX'}?]`΃m\_6NxuX1<#ԎQ}o>)ǰ9Ϧ^{ y`hp xPi2lR}CAͅpj!=زDJ+SX0ItДQ0eTj _&K}`px6Ot8PFR'}:55dև\-:CGG9>0,YGzd2/ Ιi0o(LbCʖvg#s#BQC}0"DǸq29(41n\|x54D,󤗄gO09ꙌvUMU ָ!FsuL@R]:'ˆC waRj8vIJ#|S{Gf%K(z\U] #Ib:N\Wڹb uNA1HQ]Sٻ"*F7inTŸͅ7W[g2*%|B$w1Mc7*pRS+w,LG=76)>%9WaS:yHesr?q.Oy[J]/J =v%A.ZJ\MFpOG=S &"б.x*7x1!Dc|# d17AX/,pQO|zOtÉOA]Trd jH! a} |hibq^yq;*Ь!fU.Z0^0z6Si I{D-*s7k:KNtg{{{uо՗/^[B~A|X{ڎ, DqB5vO/RsZ5dZ=gn _$yqayboQuO8dQ]v%lFVoOf=cjg ?s̥hXLFHwXs$ SJ&.Q=x A|GƅIy`r2b3H 7Rug|, ]K t@Cg̳7yTaEكSZ{"Hkt E(w M2P|3}wk~1A+KGr-qwN^~k9)";?=*lJDTk@#{fLyxlsF*CMD#*;ZMU ՜IM[ZʰHcL|E0 6S]];_:MD5dc%9c@;jR< M-=1XH /h XMVq [l|1cHD~@SNF4[Ocv v7<+%:,p1*qkL|rq_]>C|~WfMSPy*gD*esE\)(n*z(q 2NŻ^ }z{lQ{cc".̝-Nj4>-ُ>GZvj¢H&lϤ[Exkrof//JJ$Cn?U6Rc̦2SH 88FȸZg%俕gDr1>"wnö(o*KRs+|"Tv7n!1 q=!yʾlv$dhZHMǚl%M LljJ \~s:Nj?f[d=/Ikkgacv'S\(=uZHUja8RW(6HU5`ދON&=*"+`ru]Uكs2cO$f<0`^" Qzxc<}kBaEڸES!^40!PQLB{«\L_|,A!eH^̂G`B\f1:yڢ',G 6ͣ׺Y/-vj4ɒ8*yޣkuٴfsǣ3jַv` %[I6_AZ$]ƘRAe޳c?l:,:Tj5fr^?sMяi&\IW >M޴sqa,2L'rd1G}tG{NX]E@h|Lm"!#1Ug:ݗ q#г#v( rR>15G.G,ǎ? (0ñO?pv!rn;߽yw_w&oup[^8~3 &&PgRGSe?q M( o=}7Ǹts=u^xb0lZ)1~x@ʹS®H /S`UC}3:n[4?_'f&3<8JiSx .'LPǵ|.b1}R]^?PUP>;?yBHRe>q0`"v "h%βќh0tdȦ)@-8*1x+U[j4l!8<-ysxvǰhZ!Q>%:L Zs >P0ɷC PJ*s+Sio*=rbdGmO{ C3#R}QuzKkJ%} L6ΐ rGm :q'#h9~-iE@tdP7ZFU;?Яc)G~…y7vт>1=.6,1D*(|ӫseo,Ͼ 甾:y K{ډ&Xĵ ߝELa{)f 7 By̖mG#1I"`aL,V&ij8щJjL#-BˋjoT;UG<GH [`'g1F~aW= _vx9 zi\6G DUtzC Z` 9Gyx8varqIVb:J)38_0Qȩrv2$ȑ+r 'SyM,L(96҅@Ӷ ߧQ8ϾW]r<-wY{p?UƥPD4vk;D YW4asv<W=.c1/0C.YW'IcdSf,xIHj}398coD)Tx高+t%+SpG5midiy ۬H&T4 "n1s*iի̥ ZùǺ0=vCߛUxxu5c&(f~>4WZzMXW=ĂZׄrM]:?@''PB5\.l<8T[2g-#i6Qi!VYGڎ"V/p8(W'3u|ހS9jߤKNDb)2J~j2=ˇsx<rB~b8/ b-hҧ"y K&Dhfm|ەtBȰYX}Ma+KR>W7Cfv'9wis8k?l}gu_W cLEyILfs 2NWוQoړ4п.P -s hg1sl8~B)'Cqo<{\.,{1q7OcbdG(H?nX꒥8jo#':<_/S8P/Q.,Yp R/n,m5Y:ndZWcK x뺊ޔqQ~Jrg_&]~}SM}WnpD3m.XKm\X_;..8Usk;èFGxesx|bcQ u c' G^x; n%~;O?89xlI8x:u ՙ/3ؓ@yg$_P)3:S#L?sރ qJzgɎw-קmdv:aY&Nv8ʼ lAa?Dhv#`\R賭w'2'"+2HQZ cBdK.lvo~1rg6.52(L屗j$>^l;ANwtB6T-_BTk-:coy17 ل~ao|hf,/wHo0t y 8\"FV 6(m)gAwᱚ/?: Wz!=Jme`U ӒGXV^wjЁ/$t/AŶe 9c63 l=$ע]Y}?gE _~~l8r7&.uwbhxOEz)m4\'DYtfkxDWM(i{snۧUg>)_F*|HYƂ(P E"Q̫W!gɆ6Li>ȩ0[dS'I wTFgp9Zoj@kAӹYT,.NY1i.Y%2ͧRe"1^BזrbWƉܤൾmF[t#~?7_3ש7 qC8/a]{@zz, U_>^FWꯩoc"Reߩ_T_Ge~ceJ__O%ihr~QeO4HVdvj-צU;ã?;շ9 j%-_we jhӷk㵁_VWc>? }, A7vve 7uc灬F~OQ~|MT[2QQJPu+В`Ls"O$g<\jc[l#ԆC-I jio{oZP $i '  d߂ <7{pBrb qЏBnaݟt_fkp +kuyX;z3Jߍ˜R{O=?:6t%MGrNƒ-~RDo"ĕ^$h"58"P]cL]Xǰa8$@ qfo Di4ᓧc5CgAU2n?9dTw2 PT _Ti0q~ߙ.;Gc5'/YuM1{ lKa˰mdw:Nͦ(.ָhcۘ`E)meK jիWe5rfJ۹f`2!2,fm.pY/V#XX> 6u8n#/ǍJs|ȤFf|Kk:P nNmJK0XTB8e#Ix:qx2<FEFMq.=IX߼ut=J؎XI@H=vZB`Va["Ve05 yzBxUWGh۰"UڳWv Vŷ 3}ay_9f]++gaՓWnye{S^L'/7 "C"0f!hcN4FN?ޑÏx[i?!)R-&2jk;00r8¶+c5cbxlR3HL/:P9N%DV \b`p?V/T'_~y_"νUxkS7-ܤ&\̲3ف+/ci&+cFFB,+x'GhR[ϔq9%_sX~Ly#1Oo!^Flk;LZp;%9OnG0V~CHV5[3)7lÝ: Z-3(lt'%:ݳ뀭PS6MΚJ!`X bf`;Az֪ъ>~lލ`q̠C Hێ ؉Rǽ?8{-g-FpŲ~8:V/xvq>B=`nn¸<vͩڴx'}CMr˕@;C(=7(ΨSd>{P>\Ẏ'H!: Z==c -UŰ|Fk#%uh"q\%{R0 ܰݷ8%c0qY]Vu6kxVJ[U?=88W&z0e^0ث(K=ܮ(`֔`Ķ/8;NIR/w#sF|X?[?!nOaػ=U-t)wܕ!4;?h(E1&ԪkXyu- Of˒&?Բ4Vp5? gC,0q(M\ /Q!K녫($~wtМ^xT4RH"*r!EG_7_y-J[+?J{&+./ :aO{ ZR0L1fG Kkx%"bZYvYMl@z;QX\pd?zŬ?2l~gwYsJfN4RW l#s{X}E_w_}{o^^yl{s)NӡzPeE5[tR>~[.{~;+@7lRe?iΏg۬FV (0L@ ek=!uF[]?8"syEIA,Ƽׇ LYNuT7۔PJ0( Y%Ks ==NOʎJEV" d9(m&Rᄔ|*@AD'nS4<Ą '=ࡩ6 |l4lȩ:˿ }:䐹9ByK%vJ ՀM&%LVedMjgU0 qaeE0zOAdFK #fь0vO¹8ɾoۅ֓7:Ʌv87^KJpF=I?3ndUY;^:rh`ړcITpu;@bmNqc`"5;-!j >)t=,㞹5e[TZRB;wbiNP{/z-GӲrh'̬ϕ_׏|0EXnSCe Dp)(* ijNp> p\(dזA\f6VV1*9[~HX1émo `qņ,RAaC V#)*mL`)]/}/ȥQzt:6rwW翷Q.tdp(.mrZLg)@db}WD?#V;>p(IzآRް*; 1uEnDRK ŀ kv5@"뢜r]7 s׶룚G]Sy`V\i0K8|9G#oQHB,..Rk$ OFIΦ1(̥rd0Lk*#'ƠwF50O\^z |4X Ѡp00"GW_ y4p' l0,IWF/}wx3xSXv}Z0ٿE78B5mƳ^IC*e UZ?h=#唐!Q"r=~,FL햳ygHa,:~/[VcP/]Mv0JP<b]:$N|J_n~//Lxm;[E}C<&X{_Ay1t{WQ34ɕ{g:u,8ȓtӲb}po $b'zgXS.hBo^}r鯻OS#S>F);T^f͊G`%+tga2&YTʎrXېx>oɹ?RݮDțorrxVO޽x],%q~l_8oJJֈJYh[K=]wza1"[Wox,/lʫvZ;Y3N(x2 @= ١IM;U՝qpĕ gWQYww4u #ò ZIIЏHSՠ~5K[}w{FǎK\/ެ㽿u,Fl(>P}}}"Jʑ}dͻWOLtSXBi&(0R ~Lg.H^G|쇢{߀emOJ;M7AB*M,|Cln5:A&6,'!o hyE-l0rIe)kf0̦i .x#=S0qt;EqIkYpA@9hOPԶau{DQ E z 3yO=ngtJR\ e1J-WGkET#ըsE< *%D7sh 5-d6`5} Qgl](Z/ڸ`u\#UۦjNj\ ?:ij#\~Z>K-:2|#.*o|YH}A4U&jg BR%T8R p#Ջ%v9[N{G, 7#ԟEBext_r?N֔{2VR+irnj[ZI0TRo"zɊ61Ʃ85pbed`8ԎO!E8y^2.T{8i,g*SjV\cQY鹙ZC 9֢'"ye­t8M'F☡^+ No$|x1 w wc: X,[T#1RTZ 32k(U춣No".LB  Ig2z%V&=4V eul8xb|B5'V]eZc<)*A+ڄ,p\eqNç.M`P6&9g1ϗN^KUvYEQ{VbCbeZRL!}\0ų6?#+*$⑁PS?NEH/Դ]>졜 u%+I)m?8*0Vd x:,?JEX:`0S''pP`z-PS³] KO>$}b"a>A<^)NQ* C.̉S/k&X#<@8F;2]D2)]k,ߚ_5tk3hyk||k~2]=]Q&]b.m]:^ .dD9Rs^%e}7լFvz5Pzd<*ٱ0 s*Ы7F"J~DrL*.XX:2u&l4Qz(i͒}9Q"ؓVzv6[xU=YDo{t?#}Ԭm#;j'q:|g.}{]imN8N8$QP5XDL홆M[EKQ4x*o)w$-j|`"蓠_LRXQYhHhSE8D[4:fq[Z PWU³VDgIVm )zayOqFh &p H7+@(b$e^DžiD: B]MVx['|`1Vn0pWB}q,`GS~ԉM_סbo&Q JB׫:5;]I]d1mT- F wQ1 ~5Cep/y7/mBb$:-j;rȶ-1#s~!>Tۏk+v HYa'ԗc,>VJH ݮ3h8G{ u(Vzoo_w8w/^?ykȘj:z _[Ғ;S:*dB&񖎚iFO$j~)}2Ť0Tf* #񔣧ѨA|vX*$2 d(@D0Gk |`qtP`oiEAq>Os5* m:誯9qQ&$V>i;/+L5X}uZ7WQv 1OX8&+ MB9ǘ* ~V`Q10KģѠ?ЪAQ9*VfrW1kG0oEIBm 5`kk%q:s;cf3QXiɘF$-Zbũ# 7)"R~٦~~ "Х)%tƙO.6߳\צ&UnYuF 9%jtN%AE\svJJ d.cTWuFҫzlHI=?zY d0/~2^DzW.QZ=Lzg(4Z9[UN}.3b3YORB:MCaی$8$_ F^4m<h",k;zق=@+Bl>NV mFfAM2 ƶD|6VZ .dm{X),O.W*.r:9sʪ QVQ<~x5~x6 ~cZxIu.W}LӜ }¦@VJ:QkO ڎJ{t__]]!@0b??IL&EXir^zEm@nMS$.PPۨ-j~v>DbR3[uiD|2g0dbfd+hHF!(7iIQ.B[@x 2,ɹGrgtb$&IW逭h+qA&k-ӨɪR7ZD N9BaF#۾r*9 1槯nE ^~n*EcM`\ڀdZ%%PtlmHx N H[^Z`^(]JrԲ3{.ݯf]7,ZM#:*4 +^jeG?doZۦA`NTva2'"n kKSVfXN;`/joEshdQ~|mSl\c Pӹa;ohCcԳm[:Y;Z`Y>z{Dv{]:ك W+]>gǍ`v d=©ᰉFU1y^UZkGߟT b4 WOFm`[PDF9Ic(uv6<<ċN/"fYܬ@~Ƥsoi<tա{p__6ϵw)+_6[݃u," 77,hn6f#u/%G׷Jp ~߮~/ݡKY7c3 :y Zth&^g5;]v3 zxd8l$.AQ0c؁-5:A1-G6`0mkGDS_6XAߋS{\DAx8;p 7[l=π뵎h?iz| n9;Ά^ҘAM7ػqItm7?8Zd$KQ٥q8!j1mڴjھl|*z>fGϠdèWplT2nH#f+Vyg.TW(Ыh+N$@('ߙcŗ -73FZes̐X/?:ΔWJM#<vJ4dkmLGFt߻]w[kx)lz{*]k3IrN!|:hJ?țlIMm|G ;bqo:Kə/6݌frZΰۄm; }Xp{`؛ky) ȠP lhK@_OIL??NFb#3X:"o&xB |ڒ7mh?PU&u7w-MG#2Gp/``BXw;؞Օ'[̡,e.YK)ءP?h^[_ P]Lp ),lki4}~,br c:A"i}  $ظU^n02Ѽr#3EF%:bD?)u'p? FF8ycY>=!IE_)6&£$*!Џ54oZeWr?ε V֣ɫLq^YmRpX\ičeMo }Y 95Yz*S=B:R"3(}}sSRנQ8d؍G@]yV TFY\qE6oҨE 7~_ؼ(}c'/'W䃌NgK@#zg~\|ڃ? mF}늲ku~)˜G;W,{[6Vkx.rw'Xd?4Q\tZS( _˷z߿~7O>Sw߲FAC/n ٰ) JǞ6O'{O_pF(8 oMIWe:UltOTFӷy dwOO֣:e2ր,S*H.~s2v̟f}u`5DfWsqW*i.UQK8iJCd9cpΔLJmH)7WP\#vϗ^y_w'$Fr?bJSiY>qJr1Jв|4?/ɯKE2:wkk_crHvyߡiD\(I#D[K e:ణv$ K "3~C^BogS ?=>p7vꝱ`A.>bߴiMvmY=ZQ+Ȁ CQ$;ic/@",#2 QsK=ƙfjъ,qj:#3-=½GyL0PbͧmfĜd:^P2T&0['sCzAM)aMóqRXW5 #rDr9C=r&kL7K0C_wDGcsRNJCYGA/ sKѭU.-w8]+Њ!!FкGƹFC;d)؎ s*{Jf0#lNhapqOOa\[GFb9f<ԩUga v-ŋaral;č7߲,1uQj:/oi4ٻZ6]۵|dbʸg>Q0FbixLSs)NqQFndsh::R>UqPnɄ%'11:mF49lkTOGx,S aK_Ȁ[T<8'V릛2fvn`q o4<>Ӹ`hp C4w@[с-&W@@ *%m6J1;ϻy߹h)~ޫ7^<k ͯ oY  tZ$3C}TeR1& fڸr>n?k b OZ4=Q_-$-mi[ܬFՒepbۘ-c7~s LbbX\]\*@#r<4O1YI2aЛ.ݼjħA6N}ss_n1ZV|sXɫ&6VE:e[, jҖ[4ZJ+{OѬ|:U)(jki ]?q27ZkD|/?Ġ!1wH+]cs9FG*NVr`~)d:\.uƐ|X.$s0)1HG |EnU9(<9]R? G#^euË7caZ4LpYgOYq^?<]ʖpT\"D?.p.׹T/lBdfGɏK|4BoɢqTWzdQ3hx}(js3r~ؚ#SUpP$'7TK6>h"7ڜ^Cj<墺`/W\<絶z׆d8;;OO+?w߰?XṞ?ͤT!cɋQG:rzt913<waV5%uzCO/*4oj;P2S'48a(Yiχ R KDnS[];|FD?YAL#TD7.+-7YE2hp*FaERėa,- f6a )iO D͉Zr`6&iJ4tRgQbYؖ 06Ȏ XC?]-E#GoQ0gf|(cr@ղ2 M ;P6RkAt ظ;AN(&TfѨ޸0=Ab[}s=O dp~"n>A0C2c*)u<ޱ~ {S",AIK7ߝFG}2"؏(_m հN-6~m xcJR``P{p, ,2ĆUW f.+Z(Z75fq^kR1n ˴;r1!c_\-GT]H l`\*?2םTVK㫜T-[)|؜C<-Phڟ-*(݄DX\?g!PE UOqĸ$jE_E>4>P=Z{(l`ÝӾsS$  gBHL[+} y|ȓCѥVd&#*V~-Z-tN_9ylXO2L7j Wt[xϛa'yo4Y? Qʧu}nj+_q[[ƪ(\$Ʉ2]Bzg)9F8HlZK-rI &ٗv,۔vzo mV,J㩍CL1 12j-I8 kU!jDtI -ewya۩9]7ЋfAtk԰:υh퓜4;+t+gXZ*ڕd5,r-RlWp5)LL&5f0⤴FyRgQ$^mjZ*8݋:eX9umQ8VROinϟ`HF\JW~Q}hjFqh!J{Kw7r2}7k7i͚fd @iU\S:2jg D U+d{oDD s-"8$>ٙ*Zi %Qt,mwJIt&iVQvV商UQ3-K?.rT|Xr{rol_\s=dybMA|Ȁq2UMټ~776L;)&yK NVVׂLm $T&|nq]qF.wEv]Q`ӌ%.5E-A)%8 (V#Y08k@ve7rɊFH"?S]{L*kLOHˌǠfE! [xڤ&Y7t,B ^\0<-H/hahd-<䅺e#srodZhr^/ hκ˩^Mѧ*Um5l|njl"]GVz :Lj1ysNRSm:bu OAcF֨`h{J, 򓧤8Ux ZPxEd: l_`cA:ACܱZ`QUZLA22+b˧ڲ/#|cF7?xh!_j@i1D*Ԅ$Q H oO޽~\f=QE + kmJaA.mRNgFN+/=`#/íY`hVwX,&7[x>S7B(_TdX#} 7玄[E_c6oX#)mMNnQ~?+T _`+3A" &7e'!4ZIXITJaT)Rcgy]IuXc<'1~C[O8h nl8C?8&ۛ[;6:$5:>50h8_`UEâ" 41+ktJp, z+@ l ñ=p?Rl}'(}FMpγ7O߿}{;b 5{ J)x5citϦ]NEcvoWܞh(8igߜU[bSxgF^NG-n1'婽gǙ7^KƢ=8&u݁\A,*R/ݾmF@jٳ"٬_^#U—#۽BWQ.n*ǧE aο2nVIS6jz9XH"{TWҥhݳX$_ye2M0zp"Bf~ؘtFaͤOb$t hfTpSbrbr~19)|p,qBTɐ ©4Lx ~ Au‡h8;^vلӓtr҂?7tSB=o;?RCgZS`"%[$DIR] lxs8"PtY/~ZaYFTv -m_>\L<'p&dI|==`(_{+`,XڧQNgcq^7 08' 0]v[M;> 98L_c ^h +(Hљh>ont:mbIͶ`sY/mXG 8$zu'K𴶚"Q8 mK逋wBmjE'= !$\Ngk%H񱐘Ur"|*V?sEn?v:kxG̤oGk@Tjxwğ8 Ǧo:qzN' xϦQP!_Y6%(r̍H z\<̃oh:BW8k+ĹL/;otyw{`tEXƢ$rWvɭ<-27F(CY&>Ld%@)K 2@X6 (qwr/eUʓɿO=VʍW+o󕷹x% 7,WOj\<ɺ*rzsZqˎdOb59[9%-F[w^Jl(dͰ׫8yrr/h!]pD/܆אGcK:V ݠr 2ssM0A]fݦm@yYf˔%ب0YcyG5q?lAg@%1}PLwNeHSi6 $34*]CS"߭ß]N-@fp3rF(3Q&qM*"kFFfp~Dě4HJ@Ȳel}#*a>d= "?pg⏁m(JK[i^-bBi,S%J+6'#nJgQOmz BBC5,b`>u:#cs' <Vd_66(8ZNr6mLo;τ&e4TN,Tvky;bg2V u|⾋] p@ z1^Ћ(u~y:Ƞ:)ିdvd=+Y4f :< yq/A^ GI0) /ȃ"yG x:_ZmxT xoF|,<)/^"U >q},g>i 2KQ2)5ԏ|\3CzbtC<(QK>рo_}xǍ% 8>qR^KknlrLiX[G#1GfiT록 USs) (*ȝxpF(ݽ񁵓Fa%XGonJx1Oik/(#?%~G|Ytq63AgN= Š}< l\WZɯnM~6bM:5 )}2I$q>7={NwቒIȷǘ}=^(uP-%uvɶHBm6^SV#h5he*1K}d&FT@8|p`nʹzNMG+PPs3)T,Ve3><̐J-J[ʞEQJ31>4MB@*2݈/ G?U:0nLx|2&Rꗮ_+b ҴRp:0ȺI]]JMD:voqxZ0 N~1Z&)&rH;Td1)ߔ .A"/2{:JE36.;Rb=^$[ ï**-kr:fΊ3bMUo&)3> "—Ч܎v/3e(5?2g86+{ V@#WV5o̍-oqC$?p:@CbFV lfR*r,կ̇-'NI(džMJ`O<S۵5`G'DW¢qg;ƹ֮z7pS\3gF>##GYr -+9¯|8 eRy?0Yp31ĂJ6!XYeRy6xv )B3(l aB$ jD#[yMs)2cc,*l`6k9O(ae.aJl-gu6! ٮ0*uB(/I!KUhQPn9Sy[$PJyd 3~t#AETUN D4wmPP^q. %AjN&NZ,|Kt)V͋n6[/i`;%vJmƴ41 :`qDi/SYl(ux1ܥ!oǾR#TY1ZZĐDj!;9]Pj)w9rNZ/4 {sT:\zE0fNտTY\ډR9c2by{jvW ¸(xlDd)6rY'WѥW\sZr<|sHKaPk >u6igrܱUב" "+Xpu?W1Ef@SdS;\-Q:& [^\v!oBi++eպi |%Qm1/0uhȔ:߬+XJBOL ¸w0i103aF 3V{`\. _o,b[}/K8W>t6ʖoV˖*YL9v59s )xo 25{ Rt/K F6Ԥh R6zY 2-Xn]jzjn6o`\Z,A) gy ˵ܢd7Ȍff- UW Kɟk4:2)oXJΐ+R%9shr3W{4*.eҍF2GL1m2 ol5 *]?s9&F.G3<Ιgv9"GtT&$"KkV>tyhb!;}Y"zQ7zgo#rInPbtT3zZxT udN5gSD$:;r~8U9N`l<[sGҤ8Sh.٢ky\:K%E`pQf-go1 ;4E(WVuA֬ހ_a\Ǣ 7GYJ;- ?.iD( p|64SCZ Ϊ6Oגp(Lp,0갆a3$E"L[.X4%34N>ORkbA=W 4)5܍j|QDhu\QַXʹ֎NUmG(UQXj% :%Z2s8} Ty1̮ sO/B)Gy04:ΥdV;w+# (OxH ?W QZG1hWĞ%5_[#-PQ<}(_OxGT o=`5Zof퉱T-C:c PScP<| 2(dK8jy)BHRS̗Zlp k^DX޶P^M!QJL@%x/^/+,v/D`$>~jLpPmhf U];AL4;]3eb*Jßѹ" 4Ԏ&~0j荮Smx-fS|UJJDXLw~'C۵Eo|p1sjHXw>,Mh J uٟs{סXiJG,-aΫ<]L QM"IdФf}YIhD h9xFEQ[Fsl 3EJ7T,N]v l!Ύa~V*; WPxCL S[bPKɄg$Sdjc *Nt6Ӡ+SsاL9=" 2QLJ,YyaQj 2NMoB\i 3VK2Dut5F[B`_սF : /gy?ܻ_s=IK9ozoc$j7D~;SÉhQKVF3ǟ茱Cmۍ?h @iLS~-SKsDߛ6ŮJv@0QI$>yq? 0RB4! EYb>ء9x8Ӏ`&W3dos Pߋ`aN ~ߪ=*xXb(Ӿ|%)m`>7\ !j[O- ;E#jB*x=Oy5VLHki67­tFmc3qOM+kեX{GN! n:BQZi#8o!&  E:G41&E ~ڧQل.uPv[޿KS ¿WF=FСt D E3`@s2P3`m7hn67Zju*q!};p6-WgR`70GLѸGgjFY>crIT6OF}Ool{<{b2Y ՄQUkSUfť7}F:v_q vj?|˃=}o{LJV yR/fWԶ`&kb"XUWZ?SOw6r[;VkxJ0OQR. ˽%HKwz0&OP#5%QS[|*0@ꋦHK*S!&OhR צ}Ey*d&ְbEIvIUrj2-Ka 䲺Uf M(T\<-H"}%`cg\\sL?NJS1<-#dP8|.֋0¯%TZwNDI!1+4[Z7SU׉HijwxkO֞oÝ瓵~~pvxMN}r#&;~kc7o(Rjo4ܶe g !tӼ}j6oP\5vKqN}]gμ}$N`4OE{}LON9IVNX>C?ةA $J^X1I4a5&Yh;3uL iaHP20cΑsq S:FH (IЋ )p4"'N&_zqk(鉓 D*6F֢)AebD9g[jL_ _s*&E!PɷaSY)4:gy,䓷N5n .n|O E?@('PKocIRuýyাez׎ga(79rkʸ9Rfr%on`SK*!¨jWKRN1&@Z>sO>T/jGXh&|9[S3%%[*d21n(!5jbdﭰk;gERMV)aSJGM3eZ6sq,y.O_cZ&J|]E;a4HQϫy7ݕ˳~%EN$GN.vwдimSǫA= v~j|):O狸>sRV=(-죈W?EOнegPvsS;+H9WdPA{̬'h$IcϝͭB7e=#'M J94 _[n#&} Qfx^ͪՠ4/V߅ H#تQ36* Z: RAd| e#J%?0PY4Ni?Il: j"f:)Gp`ԙJ{'{/wmQ"O,].w%n<govVEM*|,L6Pe0(LRfMۜ^/iz+\.2h4)y9,v8ΜS H> QN )4<>w$#Hk!:p<>TM8Z+._I^N8_:;νV&|v'QxϽ՝l’RL'sibV,(ISZʣ߾EsQ<7pm^uޥ}ev%/?s0ޒ:TΗ`Zl?WyGGюQaŌ_Ť|IvQ3e輘Lg4a--tS8\w` `]G.$Lco#YPFY$:&z#"<#vITc3ZQpc+񖀍7f[͠ѸԎ6 0~@HRҏծ-)?NB!L0>H Җ;pʛ(1w6[%7PѨst!ΌkHQ͑B n@L%2Q޸dPC9aے`GްDHꬶӧlx*[腤9M}Vg_s-6, @wy!8 8ƝuNW̪r pz B (R D jKiප@5|'}~q4TSNLMUio9 Bp%.x.F s_?bkGhґDE”)#atmSzE²էS%Ƴ'o޽zoo+INz!/$V}Q6\-b!;PQ"Js1 (Wk%OE}ޫ'{//^xέ}ȣN1\)y5da[~xarˎ\v}65mT.[,kSf,4]i ҌFHkսeX_gH:_~{ٛ OI<4m^eY.[Cۉmd}6wn~xa/άmWvÉ~ս{U֞skj+|BK~ehӍl.VI9* >tN|/)Fv0e.l7W jR3EF?=Mhÿ}%sokdB?;'87s#ן$_H 0)Jα=?hvңوfKd76Wx. gNN~&UxQ*A *6?gS<>sx6``^!n8z NB"*dNZ? E$3~1}tLr3,k13$IR+j3~կ(a˜0  t0sw%{a$Rj*RO(BK{b!@ѯDJdw&O0V>=$ؙuv ?GG;OKzeSL.2 &XB#DjX3HzI$eP,(Gю҇LⶳAd$jZ`K"ANΜ "%5ZΝ;w:,\dmƙAez&UO{3a$Bb-7 GK\:@L3:h;%`8bxy.V1F,}m98k8/eQ8Zbon m_̽zg|D5c3ͲS/U2(*] UuAaa+zȡ*[7s`GKSgO]![#Qo< ;[ok\pG5gg!zI6D5\8)M8MbYsm <6o8\sNў=cVǬtpk Ysx2XglqN(.6wr1}ɤO+T˜X 5MLW{W0ҦL,ÌBVYS80y7wtϵDZF5M&qA؏i[!\;q pq.fd+LU}&"9t[I%3'&k0ćωLorνdiUa+uEF2M!JQ+h7zȷ1/6m۲U3imJn3{ r.˦DzJ:";$QME;I黝B6K0MH[SHVMJ o)k?\|ɜ.Њ:n& Tc{TDr.FYT0fvn=a09IWi s 1s1 [d C_)j}Gmxan5?yOӽ]DTIs 1?@$z1'lQ1ep'a: xsu˻CWfzR "+[bshԳi[t]xtSgEgbc^fSt'튎$ČMQ1 U&6*ZLL|XN|JgjKΟߧ$ hZKW׵ Ud"k ZK_s-zK_6|-Un$_qvEmavU4߶:"5oW` c1ç(r7K6v058`jEP^ C#5h}t^P-j`(>F'( p0|D;ٯZk]\[(EX\Xh/-n(kbdwV%-rxX?]YQz>J݋ȝɔ@!U 90Tj^r:2˯%fX T>ZE|i :gѐY3!2QZ ߤ5 pio_<ݵE_%֧3ezֽz]Պ*<p<cwtv˭)0$adjtwN}l>U{%σZ,ZF&)ґ  7MX`XSAJyQYe A$7i0@7H((S'dU&dv{ W6 N&ay 9^?r@2CKc$!ZΤlTHf|'G͔ա<@V&VLE m:G`øys- 0k'{~so|J-JT߫'C>@ӆ9a=1^nh3f|*4.\-! )ČVvĀڒipڕw1o6_HӦsͮU~!_lثߩF6791nnݛ?frv `l0Y{gϙ-B8q3wG`lM ]Bmb:$UK{^[)FMD;e&:/Z."SRz}jo }AWR5hD]0COrƸadN~qK;`Ȟ}xY_O%kOς#nu6r\טI˜ 998 bo2MY`H( y$r{eQPa]4Ac]h8EvM+aA˴j64wACUZ[VL42+Ϻ֒m[yo:kio0?|/0@!Mߋ,Smma]Ye#_>Hp8°\ضq cTSR:"C'5Q>9?߻lv$EcKf\L(:?*Kքt % y3e<>q>dz,աj&4RBJj7j͂(),Q eG)'o!)5:Zq47cW"?jԃ_NYء0msN7|D&zFCk ؾ\ϼ{{V5<$]@|19Ow9UUƫ&ݥr]Nq ZTq)akUI#&C$M%z*efR?bͶVYۖԧgWWx UMW:tD35{T75R& ߐZ^6tqd]tvFtu'6? 6 ^S:?Sz+-Tc}}!Z`J0y?`>0o_]s-_Ne6Y%DhkB&q~җPbdĬ)oNM|u*hc*؞D4>orX$ H%meH$=T(5C3[E1|!IDMTvQe# ƶeJZ 9nM8hM+,8ia%Ѕ}Um bk`6P7 *sS<[w74KE {c5=nB bK1)S!4OHugYҌ=}nI?JcoY -` \d^4̘V:3Y'_>VҔM' 'M^Qi"W67bpWb)A#3Wӹ܃JbXlj?r6ﶜ͍-\rք rFpd-(S:|oq/.$;>EvѠqc7`HNW{}46)H%6n@ V|Q~O%f=Mf0߿ ?\s?3 2029W[j"AL[̳ _\ҩ)➲QSTCw񇲓6n#ndCF{񴹠2CjC{۰_I3ġ WVIM77sV?iy˜.sƅ 0»É]A?xÝQ!UtVDž~d2 ?r?H˳b>O[~柶g [ ?F? n91x1[{+7h<81tmla߾֛ߗE<jW)|Z`>V?m.|/D]2W̟6N| 7 ؟N_d?_c F4&F!8/.FZ ȴ\pepj};8Qhb4rJYp>BI%V%.>pU_O;fQْZ4E +𩇱ÒF0[k-޸uNii89ˏ|["NUvC4[!rv'Vabk%[ PfmHǢ5m (~8;Դ75(}ƠDG:&_*/b'vrYI.#=!32eԋcme@Mt}{S;;_ ZNyJ`^ax3wқGTY#D8`^:Ka46.f1m(Y]R 2X<-|+ԩϲ1u֢{LPE70=c-?o6V\GHh`:hɑDהRVM"t8W;iŸ{_::A?"Lk7S9R ib 5_z{֩Yyt[B{7p؊_ÉP#^Ɩ0 `.&bbYr{΄a·&Z$1 :.s^1 G) }mxUG'4 « j ' ԣM$d0|%$V̾'ͣzwvVxZřTO=S__$[0x^<$-qUݍbg*? /g_->^st"-#M1p^\ c'*Hhߎ/T2q_s*ul9 6HX{tK` >}g #!8$v&4!^qσÇOe ~ {\Zz$S$8 (7K&v?{Ʒ;ҁy{*V[\}"ɊVp@؀Fx_e o&ޢ컡bbd-p`$$&t3nC[Cm[d3<x,i8>_`2Lh8B|O%!&;&|Oϗ+FA$ex w2Ȱ=y FݳwJ }1p/F 䧈RDXwWs]fA$L8 uDPXU x10pbuk@w-3`(_Xhk$') i:_ 8a^K2VQ:7#|ؖWI J_cz+\5U:h>\c1dG` IH.{,Jc?ZҟqXO q?f'^s <9 .Y2d>g 8u1F˚@e2 I/V EBF*C1snǘ;6 8i,?U[Ղf駢 u8>pv>YCM*Chd~ΩYiɇʿ>qFtcfX r,JWsCg?5:zyFj@BE5M|nuEgnBv7c~gc}yKC0h+j ";(ʽ俷D|Z0@3ROqnekJ -<;?luOKq:٠z~@F8a!3ۯdJggF<<Ǖ'%1=1 :QbSbJPy}vkx]I?]RkFItg\_[3OoNN&v0!Y1@$ :_2v]aMƤDZ 9y/W?6Al鿙tqpn.%F10=7U#Bje5Ԏ핃tЛ+p[%xֹ߃v.@c.bhބh=,w0x8:Nq[m< YrYu9ͨO:bdlĥ!IwqJJ.ԁz݀3rixmu|.@>x;XFAU3@R\ ɬG4MXI? K1i-wbEQN2}F1DXW /Xt})O (7Nd4|>M:9œOD>s3 r.OAX,-M=d4~ A9令1 Ndxmp'<\ۙ! ࣰ $4aÐw2H]uU.H:`[X0N\k \^^ x:=`w<ʇ^CbOcB 3>=,Ģ13RR"xe^|fOgXrN|zmc/ewFq?"Z4{sg9!ݼNgO63X;r2> -w@Y 1Ii{8zB{DZی! b}Jy8>Fz4Xh.'q?KG_zxI|(J\MX h8ODKHlOQ3t9>#pVfm3l*}k&Dj+$&H. {b(M H<LT8qY,=a#z/=b"EJƔ︦`y6$ialIe^juc׉N2B=į>VNvKGfBSzxll?s ?V|ތq$w3v vʰb6 :`Oq?ƣt1[aĘIItjQ2FQV ,5')_EOQ<)d|%;y`͙=q_;՞WtrB{!s' "& hF};́9.^Pu :娋n' B}x:"xeIaH{ՅrtLހ݉I_ސKYC74m>OC݀ũg=Rd>b=?Ap󙾣M1=P׸ˆ>c沸h!vr:'d;QMNiqIP'nϑk: Z2kQpv76D0=d lT F `\ X`n{yvlNwm}xcmc~{ Ϸyxdq!qPUTtlѝԑ ]Z̓O,:Jz꜒[@: xW }9Zh^).u\^2Q35UNx J/(w 6-8:@ѓ:Ή^g|mbV"_r|W/bg'ŠJUV@~Ch7aT_A֨|7i3_^YX}Dt#r;j*q.4F<8?<|R8uByaV2; >۝tݝ30¬0aғ ~Y҂ w4j7iSa#ϸï܊]є`!jj~mgVnT[ kM y3Ys[6ҨKr7.A< u͡7S|i.MR )gmE z>灯 (Z]\eH; F}2o묂*ٚ"{Sofa_^0Q$&2Skoڸ=i:Yا5Ucƌ U+9ArX0ٶ6l ujdqO]/FlJ88ᄰԍj;~uG~ziۢ[r Mqr ͣI'n䢒quCRET6%ڭ);h}^rٞ}%|GJ?a;Y U(y޶ѹT9gcsn Iw,B  ۦWXt)/\} bӒor}zBb5ZȰU%VlorH]ޢXES9к d2SS̠0s[[hDZ 2>Bug_T)aKozd6m*T.S|~݅D2t8OK6V_DT 8.-$_*Jxw~FPw@ޱ`; L'mYb_gg/,:^/GiED <8 KfIp?PavNT0SN|+%-LO Ϗ&8u@?76fϵ6{??yEA[|Ac8M 60%&NiFwEEd (x@C &֮PU[l>MD'U~0[cgT,C) )W"ds=QzNhYʞ|Z Y``tG1;6 GB|AiS4<\ \_ڄi;?_Jw=p| kĠ/{erˏX~%Jbt㋢1cڏ!cg9uI=.\L&.+,yTٌ!'0 b%TA4w`Ϩ/=̻P<>癹,kY4!Vo k.Uμ0.atx+A2N7,BMQҤ9!c4{v*I"3Jbƽ6*6*h"=JTmIJ5ﴜf\a7ךkV -Dؾ900ѬMV_hVf|ʜYߦ" b9ZZ ߹9V%r]U3Rv8dBY R QĘ!=kӰ!\,؏E,eH|t7HAq~,k Gf:Yd+چD!$;,(CPnHԾڴV*)M$%'' Ew/*m^6*ov(1[(>K?lVv&dAۊa8Mzr˺.U/Kt*<=>dp62B9Ѻ,%5|fLc&CkۯN0{]=qrn٧Y A-I`^:p8\ZՀMSTnl]]wgəL' %7C|G=-E"i d^\.\ "#fn~bBB}qy_4("#)J!aS_K/*Fп}Su2mG-8?Ax9b{}CrM-]LGycSr8B{@_xW1tQu:T~]pT9.Pp\*@YLJÈLGI2466d !b TaW z&%h#\[?2/X,1S-ՑE); Vq}H9tS\cw}~[twW>h]m-ekL?0p-AESh:H ur3i+G,u#Xq1bqCf}ng+og+"<-VVNXyޟ)W{"XQVҷJROsSs:r~8+Ͷ9f qgsSv(_X}eE`3\}P}R"D%u?>{Jeޣ~_XpBjLM/~׀̈́w}!_hVYZ5_vJ46P2,c`tZV5·ѥ)) (Dj-v_\]S&s_ʌn'H"#4 r3TmR-NqȼCk>|.#&%_)>nStt4Td4#vD$HMl櫂^N>d64 z-QO羾w4j)Dymu\@l}L KqÂEv<ˍyb䫷Ʒa))t%sVTXl.CxOcI :+W y _Ru+!ez cd?E,+\VM܌''CPp&bO@UşkIA 4ޑ6q]'SJ`- -ڒÄi GI2+ϋ i[QMT]%/om6Q}Dnl5Pa`2h>V6VSzMS8ZC*wBKG>GQ'6򊗻U D 5ڑ_3nG]'No !'a;ЬMyTRխ-AE>U}`-tM ̶0&m`!…`Kk6ėU{~Rc'apz0L|op{~y2ށU<: 4*2n}#;[s}VbY;)Vw~7Y—ɟ<(I\2٫9Wv{O!'l;;H=j?^g0_pqtB\XeXL|?Sgf~_^DcVhb.VO% ?utMGT۸LuQ\g`]=Mfagsowpd8!?_iʥwf5~#OY]H^5q5DEvB88\:K5psΤ<[ 0.Dmģn,8JS}Y)L'Y,G%e⠸}S-~YOrjpRa A8+Kq܆H @"5&^ىWG|I?#PXb,X /;lD uWTPY+I@4ǏoW-<}BD V*l`a[q=$ڹb8MDi=M{_ )0)r64)PW8-e@'F`ţq6E _'M{fyH1&)'TL %U{:Y<5YKO&YaiboggTm:Vv#h :qeV''E2j4Mj1l]mh9RU+ O|/>HXEJ͊-׆Sf f kk6U7ԁNi}Ǖ-WܐuNgocX7wJC79 /koE+rkP|*ժ8ӆ5M߰Ӧ9Ȅa; %H~5MyDL5 HTZY $"Ͽ;0V}8sex$YnXmAASuqkP W) 9 }Q3(xqw0m&Ay}c`/ݷoрv|H)Y8wӸwuǖvy1I{j|텤6;Mx"ݔ lϭ##[phETCʎ CC#L\(aB?=&vO؄( vG1 Jw܉I޲?mp&0w+0uBXGî Jc*kA*ȡď`Ċ^qB}&ꅃao1:D*G4 ,׍\Y3nae1`flfpk-cJiCW1AA~edӧ<{ֵE~eEnW/3:lMӧysx$@,7ҌNL}Nif"}f5ǐ|Rڞt=/fR2GdXwcc6J"?id;ͅ[?P E!Vb,y>.Y,˒ϋO }\4֤htO8_f3 /Ռ+0$c=rbaK-. R T8~ 촔Bñ|::Bq0 P1'hǘ ^&ɍ= &A` K)7* ;xW&؜]%F\Gh[. psΛndi&e9dDA*3.FՖȔkA̘NGj{uuSDoK?`lOEtܶ@E`Vv pAJ)dq\=xr.se8)Ҏ-b$-1AԻƋVϻ;dm';hX[[{߾z+Q.7-o?{__~ԞUûW="2{l1>q@D$Ł8P _PO.`f7-2jPE]lts0ENa*B y.+e%i,Ru0rKxi "J`#+'@v<a ePMfp09 ep } =bR%y- .9]f*od/*`wۑ=k R@2A\Ť.|(-9,vC,[*7KaN&hvalHaWМ:Ѝd@0]Y\IlIBt0X  /`Q!3WT%]~U[gT{Wͅ>@UǧOJI@5h߭]~}ztq`۫/>h/4]K6*\9nx1JNNȅALp !S x|JsjΛh F+d5 8 rUſ4\ 49_NEIm'4|Ei > PwOF4a3Ǡ{$;:e]{T yԩHr dh9 =d=8x\7q6fq/T ۬GNX4|fK{G 9c 聯x&' U`LX^c<¢Lt)=<`A8GתL#O2! ;r8E)T2J+DJ~̂pD+shK!oe&8W. b~Yh&f~"T'=QƦ~?, &ӗٝ+yLiV S'zaӓ_YK!zݰ[V%PefAG x% 6B yo MrsX a_Y1er4LS^->}NB57A?WcPEkqE)&/@s :]cŠW)Z@eGbޖ; "@1sk4Yk)l0T: 1K[ų6|x9+(l^V`5qgᗒD7P*<̔g5X$+;-=ꀢ}lޞW}1!֘Eh!zɮ6 -*éWݻA,khՀ3nb<dYiX)<T ,@O62ATvs@'`&ϊ͊V|%ZIڋocn[ʴ]c+SJP<0"IAѵ{c=4R-浔%”nw"H_[Wn0g fyaRxchn?n}`P'ea,e'8M#HشڦyON @oW-5?D/cڪcn9VvE;_ciiX,,Ny<`2) 8^}FѻΘm9ܦu[dE~ V-*ފ~]vjOU:H@r -=V}ikkucz2 /uEKb2Ś羚+~[#C2V1SVQo ͭT uҝKsr|?QnRJD[q[:F763\`D&l[@qQ%&*Ι/n+LBlxpGt$zpb ZA)ta;O[Q? &g(VRqWs!}Q !n *ՂLYv)%4?3hyi`*kq U0H / S8"v@' }bSF]}CDYmh5;Eiםx8ۍ\9˛TYSg<\F F\DVr4PG_Jy*\zyٿ=f=XV67m\,< U7~YgJq{a409sҝfP?8H VʅqEGFG,-;c;M.M__5-`My3S\}}Kg,vV89 ,WE2A . [.GX A8}X#T4jvSDͦ[WS8>tA(T4PGysp?=V#rz^7RD ),2-1M%%cZĤ⹞W fHvs&mE*Wh*\@jle]v}eM>$,i`0hԏ?x Z ];MB"%n SdqFTogǴυB܏/ĝ"gI. nX[ 7Eƪ܊mUwgEAbY| 46K+bAG)#heT[y&%0j%g1٤O&^8gJ8F'är5k{2#b25eFVEm41-ţX9]2W_>7DpGal!0p:??.!|[rHM4+{ElR=*y*ɇ$B$=8mfugPț^GSوԚ(SulYP:0!X~]ؿO=J)?Vtd %XcVxMV,-:Tb|lDB6iK 0.`}-Q| [@`ǫb3y|gdt2ѝf0Gt-}^ CxQYiE?Șxib=O.Kz},8Cl +߉Ts`*EN SkȝD(6*1휹4SEBgaV@^xwl7WJfWd3pX}ZI&4|Gi%wC&H#w ]0A}K%>&dU}Fn֡4'jl!-+bfȖxxEfs)!I5FHoRkXsDseHpkΙ>Y ,w!в5=ٴ/={@Ţc'֊Wo.{iwC:53P!oiC{Cݭf/ux)\xU)G!?wԾL=^{dny WrL>/5nlߑI(Gѐ>pM8>~x2Ba 8bh4\]|8tt2p0d70v̫.W@o0{/] e9pxA"i8`QVA;P G^2ohIoǧ9q?1XL3Ts\9zaA>JӾ !PqPX+y 7PnKd5B G*'7zt%k}_*!լQ"z^'gbE\c4b:jm P Tew^ϾvIg/N>~=W"F&圚\j 0 _4){>&2^B)Q^qny([+{ P' 4ڄɉj䃤{@6A)Ygby<Cg v>" $OuR2'S53[2p]([mKggڞ_*%G(.}! :fٺօͫoYX4IUQf :(Aizxt7uNR$RGF:\-=AbR`E. uHA>p3<{b<קm>)NkN Gisv-z!]; ֚e=b!LD*t0ȸB0-7LpMf~d[;CNhrQeK/ Abڃ^+DvBkjVAZp@[з$UҐJ<۪r+T_Aw Vtf77_jWɠd|7 Q`<EWj?xv@Ӈ$YU 6@Y^O/u_ni٧n] OνXpxxB;;i_i\-"0|Q>}^=U?$,*oJ|U 8}Vz\'-[)%9}$#iJbrmYR;6􀠐{ ԼLcǟ1#?<U5>S ޳y',D;5~%=jsK7޹|iڣy]r"F(0m.VmbAxU>*$ ~u01ҕlюO{mrg-ݺ![PDF1FWzFfjefy"0[7f l7;f[2`zըi7,o<~lol>>|H\xT$D$J{ʐ?ۂePgsaɰ/}1+N@X}=q1軓x40Z<5(;_/ M^:v^c(]B3qk\ojl5:{~6S5 4+(&ݴfB: QǽPY13N5]Ήwj -&ĪE㨚B@M ü`Ux8hERZ4y2Veu5!$=5$2,=aS·)ο[q:@8f42=92%>"rŎ0džL 8!1c~[n(ĖBoSVHTtd'`D$l)]k-iΨi%p(6;CBi5:.J<}n%pV1 ~#1 -S nApq)XEIGp/%qz9P!ev"xgׯǩ5 cg81``dW-_<`nLRw\sFh,laśG7lVYz GIτ r!]|mgBІ9M8]bT`S gx}myBX_οB7#NVzM`׃' MV-b?}B!=(`Or@N1qYh^(DB{;'_;Wló%9/+߯\{~(;tDC&:LC,IODO5ZVޘmh Cd{c͝I!ɘ e^3YN]u >ebɰ84\ BVJ^ NWn7OcPQJn)"oxrp]pJc`=mB݂DcЩ) ON,æg%ESl٬ؔY}}YJDPјkٿ._.rniƘۈ(5rqa=/h7C#]x̙*E>g^4|;ztk凄}uiupm^Kzk )&NZ^@QNkM<(4+Ww{<ҥ7bj\Q ?<4ށpXThH2_6fWˠ,Rcl CFVCkgNzz )k|-׾zC{ԳLH[f4??oc{l[~&WWwf{|sYzzyr0umnܘZ&2x'C;5S`Kv,Or~=dOգhfp*(swep旅^,1ɣd@K5 PiСϯ5SN:ȱxgvk.rη*rLd;3z3޾}:WݹѰ;W0T0ss[%0 ᖇul\HUZR0l=G3)7)|#̅P&zDnv߂D$`sÎ;(v.:ԧ3 \03 nN6u3ݽ͔gyZ S&_r*۾%loN '3ˊTà]e=j"6t->[ : [łseܬ=Eu>.ZVVAA38(BᲡpjJ$T u}E3 7SuݜuJ9ѫ-:`Tc1@>|h'cM@+N@+I soi3'x77V7?Բw~&݅p8`S\!>NM e/zQ&q@pz/oy~t}HsCg5g6o{ 15w\dD {<(zeFSaw&LQeD{Nݳ;o>XC O۟~ևwv{`uO_B+O)Uȷ",F $=UL~yY_cP$R9_-a^~Y0䝓+: acC DohzApl4-w:teu:l>e_h>l^66mDhʛRvq|1ApA9a8= ?-O'C3;аQ66/#Skx0.38*QOq  ҥm !|6Wų/5}{i WH u`eF4*Gowsd!iCnAޱ+iC78Ԇ-^vČ!tNFYAQiz3wU KE`ӻ_jRS5!ktƇ[M((am̙P$%Dy+y @ W 0|_2~,*/[PDφL5Gɍr'Qz-%LT<8I{B BͰ,=u)}WH(drDŶo,椳{؂O-V*EфF*{6$m9MKP]aP{{(@ɠ_A,6D:RCivlY`]]D1j@V @lߏQ[ Xi="Ġ9=V##:rd"b 6 C1q4iޑI__߃nE\F?9 C*Z p*+t PKt=x9lNRKZZ ޼%ɀVy¶Q,85i RZ\-@dP+(3eB+inˀbo? ¥%yo_' 4DgG$dR?9i/ў™“ P`j;/la!` ZA\lEED 珫uǵ?8Ud^NLSD $zMBe/0|/C}P ݮ^4`UIe{U_ed.tb< }+2A6f;0\)F$~rPojyhUZa4o9#rqK 鯤l;;~i82U(0O4~dvșܽ3Q~#۴&?QRUEdI*9*>E28ck_i2ȳ?V6if mIx=j Gū \*rmA4C*X7غ55fzl=~8Bv(;%j+JD_ 6r$mKhLy  #&F M>R+ކ#̀4 OʚDۭqudO6i'(e{>?1!Ik`A9x%3枪5rBsIP`a:l؄YJ~L!vX3Uxܚ{+ ՠpcl%㘿k4&Ly!AQZܶAL 84,]$gvmi31p0Sf`VV_Q;>ě+廪&{L 9T.Iݙkykjꎼ:plWSj(~ cZ~r݄9dj+0P+zAf'Ewc=˓(J]0#h1d{dVPZudƌ0p ˘u #R2-vOGk@fᢾ;XvOd6+tZ AdT3u-i*Cpl !kPqjmM;)<~8pcTa3/r/p!I͈"f/1tiIԕTxt#LEzT){s^R(su&/-ŽE+'HtE;D\hMm`pC-蹾Pz䯴 b^*+h?Lˤfa~r$ piGn BN<~= xI KO"~L*y^Έ=%. úCШ0T88Hjq׾dElQcP}{i\NuD ^i08/gh\7Dw{}sun߷wo۟j ݰ1߽ta_r_;U7N]pk A[Ζe(7eRhF:s]rcR$ۉygd8W|wA.T=9jYb ǎ:J\,k&1Lc^cOQnBH'Z]f:ܭ%l LFm|70=͂舁$\%k>$hs&ꏥ1]RSuj*m\@؛c8܃E| &Si%R Dt;XO#ؤ }t;}%@%f6x&f3e^0"c\-JV 'wz5f i1#p!j/:UCN|iD &uz|.vWR8Cy؇+!^ytv={ą rP:<1C"U hg'8/ ևqU"R|#(wbjaGL_2ڂ1~=.oAO :&V\}x}}fQOcaPyz8MuvFÃƏ DȞGq#,;NsMa|uBǴj C&%l -u1iS` RɕB1O)s+߶ )`UKl5jXh'P:Twu}>d#xj,Fa;1W}Tψxr6յugusm~s OWa\7w۟emʨSt qGu-VцlB IwM({v+Of'"İo\?՞z?hT (9V~h~S  Pqxƛ^Rgxa 1EW¢$gWG.*7Q` CN뇄Yx px2n_EY,i3}X Xz[ 51RGt,KT6V.0uY~̙̻~Y?|JS~x x?°BGvR0*E$#|8H 1ATZ@<53=[}:SB|~M S&"tzWh5ҽ{9_^fuYʶH?b̰&U*nl[ۑw̟*O=?g|^}}x£x w{JQn3X[mo9ɏ(1(bQCn<6cgPV0ddX7{;XdRV"`<\RT !'?7Ā&I!j'N~~əy~{EL|[檴19Ҩ0/@w9i|hD.? Jۏ7L:;n'RqwB"4e |:^qǟ .FJjUUN'޸`kkZ#2X)~TЃ٦yqo)©l)'O:S) <奌,m6)<; V7ϹhyKT\iUEXor3ՀA~fçE9rGы`&M :*S[ B P!f>|AcIY>dSd_yl&W &"/OwxvQ2(Qi}h:ry˅,Eֽjb4:_쏃 A{ѱf0Gq믜py?i c:CtFhȝ>q4FM&as`4ݞӇV Lm]/hq@A{kcEG(F '%E/y}LQbW=c r;b'҂6n=bPh1T >魸\ji[ţ̑G8Q8K{q:?_hc+嘆i6y Z)E֠yܨk2ɷ.iOա-mсP|n sZeiB$3!G Vު,P(҅~'T~]VOe3LVo:` "k\9snk_Z_Zck{"1>)#+C)yALC#3H^CzrK58'l0SHky,!;}4Iw`[;!.DF 1TѳzVqabol6@9 T'js 71|5Jv{: n)T6Ay zma:aXDSngQ%jA5L*D%;Qp %:kqթqju9cPL1{揵h>as9N!ʨe$p*RP|ul`3 /H|^zҋƑ,5'B ӵxm?rmv)H#!/GtN4^^tV+ #;I͞ k;m۷'+أ-R. rx5JY2%9q&PЍ&(#: $yD g h]:# zj8~H@~֥܀nwqd_DH6U<5^!߼IJ1[ǁ #j)v`r(P\ꁡD6o2kӯQ 9++0M|Y,oSvsKaq72sŵm&m=\|W.W1] 2|`[>5{2[#ϢasO|!z'Q?8O`v+ߐP1 uf ^^_[nd$0u ,a@x(uuşL7{uz/rRB\irS[ñUV 6[Į r 2cN<Vkoyo2WޓE} 6+`kݫ_ݗ;l~A)]OƘW}B_g#/KM=A ),YVϔUoNy96{pS[ks,oSRƇF/RZ,ٓ߾~jV}wUCkX˄VvV(#z! @%_-#Є@0;)CNh͖;/Y2(>K?x2l{95%YPr}8 +/$^(5N$R.b>켨 ! x4J$]RGG)דx^:pf(ӥ_ rwNF(={ArJRi͸\sjjUϊ[9(dtOiQ_ǫ貺І\oΥ'xTfu&#,nkk](*ꤦ҆Ou2T aueIZHqwPVA]F HT&%Q-T36[sG y;rׁ[OPBuY.7t?t"08zJ6ohncWx) .[E$%\\;+*<9ny~mY(WZےh_"<ǜY*@s Wr/|a>W TS$@Ij I\h~G?>:KO~zJGkګ)iNpi_sg{`<3g0Pj{8EZ}%۝;ұYtb/ש+o.3oPy.%0 8iQ>[cQk8:]oXX0~]dMZft?QֺLPeu%?~4o#Uvk &bӄ0hJIm`d n^=vEuqPq?:QIp-8(¬Q V>Ru~ 5NE^?a(|>ǩC?UYgPwhe9&c;'RhlTp BMHԞbvFY?RÇUMpC D7TPd6 4eۉ*GQU5m=>s?LKоF<`l3 dY7ªc@M+XFἻl45k(j;o>tǯo?A`9zqֹ<{S\.tX3_0xٳʆ }o>Niȸf_S8M\u*]VI3P=B||o17jkkL}IMJ7R[;F\qU'i4ڒz N^ǖy,OVrv硲<0¯cD~P/1E"~!!` wY a蕸xq/m5$)cO)sy8qBߘO?E+5óJ)yʼ?h01t (3QЦFڋU:7ԃBz(U͢ -ЈҶ&sSI2.MshcӺ}4\G `"U.`0n8\ne5…5Ls700}-=?=-9r\7ϯ>jվc-?NuetZ]9"p͐J$QX(+%o^9KSbC-< O62\(}S5:/%3TCd C8<jpTT1maZ5Sa[[RZM0!$qn01WkawAk( A]BnB ?Zr(9`uxH |,C÷\ Y"8_[\inlnR+.w{7 !F7>u_<͍v'Lencܴk-Argp\rd/w u_}: 2+.'^ɘLzٻCiQ͠VS-XTF.baU+F͝B4?DXV\w}}h\G.v;EB#i@4}m?sC}R?qFyK]SdiX`, ȯj(n/Nc87VWБʷ `)XkN҂q,猽n4tӵ^¯\ cA!sxt$&ME7vϾH㕰 HM79|n#iYlE-3iWB.v`t|7 y+8^D(# p,tQ6((o&~]/>Pqx4Kv8եv9el§n4dNȄhƅg z?gz6<'&I7AW6VQhRgBDUHp㳚8+|] ì`Y:u'gOdH,R@ Ru&{2Ńq+qb^um7)q @xQ v S:.\TIr;r=0m\T϶KZm^XPҭh|㳘d=52yIp8>2?(uI1 oɚjU%Wʦ s싗kZxk䬄yя nt.M9-_Z[/'O!-+ʜi V.=7i(,Sۡ49UOyF/ K cmt/Sb~j j[=_+tϺ N.txeN{hz*F%?2jMYa<yY_-qMc^Ͱ`T@FN*]@=jchnOضGRJ!"?0v7;DU]_,\.PjD黟Ѿ3.cc'kз=>㟧9ӰݒcpʶwBë@4V7܅`9WZ mV[ί>~I/ YD˟?6.WF;6mCF_u3ȕE?2 (FF4$JG}Qhp> `)SSoPY59wϣ3$>JӾ =w+y߻v̖rN0 y?|[\ }9eM7hM/P:W}}r9],~*W,FWa>k+Ңe'!u?7 _ٽ>/Q/Ԅ!mMe4-O[4.|7!p10FZfk*L*8-;81*C.FuU[zpP#8=8i9}83zL' g "d6d,GfU u,s)zU $ɠTK U,S7h0)SJwTNB﫰VˢPoe푘+˕~t̓S rJUYoLn]mq(6 0n*5ce\cB__#f)V?¥7 x_l׵;Zp䱲ϗqeS0U-ԩ| OB16(bй!DcgmSlg7pP]f^Y3^0^x g8I8;Baɜ\r"-K*۝6 x]Wevtd)US8U彩\=| \bOf\sH)sXzFapdf=mްrb)F;Sa^[?9F5Ҫe^ ݰ[^} *m^x͟\gmKуv$BFQaaJհN?q+ؠ M*MCB"c ]<{Vlû<RA_Tkl,o- l=:LnvX۠RfI}fZNy\mϼ⻻L&Q,!U6snځkk,ɽR^%qClFgC6(롓^۫@mtcf[tB!rYaFڏ8$|t<طOgh}-!tȱgSwnaӱ G֢rǙ.w"aXը計%wkOݦļן˳j0a^IU⎾Y$` 2zԮK*66hEXYuh 'Bgdi!ُi{lc?Қ~Xm o-Za`8S)ҩR4Og(RxD[#]ߪ(%Ȟm YX1j< 棘ˡqsnBэ~1irs~׍[+%LfDGC ^q5͛"(.DD>! !U' 8)i d;Hh\~(lHk$%-$B!R a=}85(#bCtL㠩ZuTh}TF4(6]N*g^gS ]10D[w_qurK*k\64NcQg^Fv^$~b{G?*XM}uZ]fL^΄U!\sV:GZّTfָC2 zm]byE#"^{E@hr "v[."Zw?m@n˜NHhuj\ U~$q_D@O[6rY!ޕ%(@%wȐ1YPWM$'4X\`P,Xĵ崼+ƧVEjG;фۍE M{Al(.`sraZiES'9hNJ)>,<rf;X5Wc$hkAjkRCG `:Ͻ 2XO\^R˨G|S+T )mHW.t*H=b}?g)9hN$UE j΢S5+$^0~çOSQϹIM;c'3*ނ?z{BΗ"d }4 AUP _jxc@١bxN+qj Oݎ8ߏ,7μ~T$l%1Ay{o{Q-}л+:7*7%`5Sp_cYYԍ4>NNkګOԋWߝY"ǝ'g&>aci`)t~:0:jxUcD]X3ڥ//;Imx+s^'H9_UҙD0/:Ly,6k"v;Z$yпswΖ˧=%c_6:aw9I/,8W^W{b*$0߈q BKL^a"+/ ;c*댌4F3'b*zym~l[t4ʈK?>2w|HX'#F[V]0z/{z)t+5"8w #D裊_)Hk Haow#f2IN6։ {-QdfOY?[V=DÑŎa G~YG4`(-M-opcj>vdNwrʫΡ nek-}_MuBj ,n:ɍw.532j9L}ra[|×J3h5<fnԪZMVxZȀV[Sio>zf?P޺ 5hi@I@Ay1Qt,:bD8ꎃs}X=CKvdc2:(1?TWGxlE] -DR khp6I1%KCe":38*à\ƒē~,.4ฏg5̀wx<h2jCabZȼE [Q=@K'C,0u0؛2[[##\CBvѿ#Vwb[j!|@{=Ȇq,GAN;OePD]PrQ͛1ꌫ)4zᰟ@^TͰg2SՋ Gi7FMc!]Zm{C9vfE"!5e =׻B(gTD@{c(B&%lD&D )hj&{t 5Z-N>Zra \`gXR[$OmK>=.66 ٧pa+Tg dF27D|)e?TNWkl`J>9kw~N++E"b˚Ó[}*, ]q0H+QnKCi,h[^yWBMH EFjy%N)F/ڐ) lfsmRtuQ"ilфXs5Y2/QxtS2p,~&OVzEu<[NEIDq*[ڛ],0tFsQ&Flð6a7=xѤ?7l !wvhMUh9"ߏoja)KV>OgEn`U4/Q{I=c|/GA7E7PW&XIF*@Y5$Qd8x rH逍ln0g&T3EI7=FkDZ60 #>^}s%P/Y;qIw%2O[% ZKhCX8X7n'G_|j6n&pu]p*.{w+2_Ӧ+2u`L8վSNۏf?N%ʂs>OO:C7MmBI!Kk}}4WTY7g/@ߟ4lu%gQʆ1[g׍Mޢybυ8KOӋK"'Uuq[h!UP(B|zeW''.FߍGZ{mc~{O_X%+xdU3jdzShkzF5nyJͯdPn.VRi`:rڬkW8Ԃšɣ.ȈApы8n_qZ!_ ־XP{AqLoU2S7mku&;*P8sA~2ݫޱrΙt5k?rPQ<@9%q[Y:ucO>^4Mq p<ѸjA6v7̾&c6lCwh$4{J|KI6dEѡ۞3ˢ8C-:\X1XHz k8L/ˆtԍxZ'sh 'Q܃``"eF0.&n6b<%ބZU$l '[pULp}Oȏ+M\ = NŠ]_ȈcǕ6)ktq ;'wɸr0XYOQ6/B37=CG~)W!й>vtıZ>MR>dy|SC PPF.&5Ӝ!g V:qRgѿQ SbP9ʸXބˊвdDjuv_o߈PpsY_>bp!Im%/\`ZKZ̵fpN7%׌S o$LvC[pv ەdjq'烴S-PGMֹJ8XFٞSO>!SoHtd# A~^3tJ9{s{neG*Pb>ĝ PtW6t\-]GGToL\HM%~{ĚZͳ}x*%}z L^Kl%X޽KJ󆭈(7wqZv!s'qb}-snfh` #t. E z/VzՂU nV-SJONRݏj nkzl% *zȆ[jl5'wF.4Qs^p*`s ""%c%JܪuA*g?></AAt&{a |) cm̒,0Mk=6%1.,R)xK_LL7WZh#oMlݮzeFrōO[++xyhv.h$TQ5/!R\0vtEt;[6u)2ǽ=$w ^8)K]ٷ& [K_R=Zb6gcJ6gf&7"B#:$ܿSO+ȫm85aQ| <Zȱ ;N"s C_y=8`|0:|HnuχGKyߝÃAv\I >KGLUdnM$ v %:&gɻ#g`U~{DA>a|y5⽴,G/ Ǯ.14tm+Ԋ1WeX:-׃JV2&:˪V܂0v;60aa.rL"Gzu7+Fe$ ^EğctPA [mקm{(&< =uF">a+;6OPP1-[xa}y 3>f2Zi "FO0{Tk`˾\>; 6昘M#&.0?KNx'YW/ [%&E,C}sсNjlՄ@+N^Kw [[=R/^Λ+@/v@>{vo m̦Wf/mipf37;fBg }0#|rŬ{*xk.,??Qi s}X/߇d-ě \<>||eYh<6G6W#N]ˣsyt.3GzC%3sv3ghz Y1|g͋ ;*#pqi0IDRg(l0j0V_;o_y݇_XSޏ[$fj~l;e'.)@/񘃾AT(M^ZZV'M)]W|V6a3 gȶ =~<7+eVK2If$I?I A0uP9,C1 spC; $eD=, ?|>I9B2 >GAw2,5_!=cR @(%@42(?|%ϸKwIC[6FY5Uq@QF$V -ʪ^pS޸_'D6|_+/zo%y_G/u߬I~ W\fE@0_/6/flC6o#|E"/B9X[f]1!i[1))J7Tژ|~o?oO0gѐ|JyGq֍qց#kxpbTBfB6Q}ęN*.&]0o8mn^a7޴ggdhvPY ,dv2%Y"G(\8>[Ѩ;9G=<3tgp"!S ?L!*2>쾀"?,N $n5͠bNLgʂ씞XmL\dc&9t)(B9;1*ಱ$Ŏ]'Bs^T}{73q#\i`&ֻlKmn΋Wj&S<(cEL71LYׂc%ь _c# 838}l)p)(]jӰ 6]p¾n3v̠XÀ³x0b8Y]{%}!Bn֏8k5}ʦt2p!7M,κ1i6C*eLG-̦y`?᎓M)%9O|M=MYW]{M%]Pu_hL|ȏ8Xğ.<+UGYC*&h @7?À"1Zt%L>(|;#(oSw ){$Nļ.[1Lw k.m]:yS5¡-=!kC'h/ۄm6SJ:v%XɕHG|]Z( lK݉߅F@c*~\W-&J&YM6鈮x5x۞Ck#ԉ/-e :@״Y- iiZr9p U`7A`FGdX .J,BB:#B鮘R1椲?o=m_-]->b*Ycy BB}<kc'^SkEvn2^HL;E 6BEqn40mּNPcʔO%T9,bb50LUmv1nYR qK(i=^`^.hǗbcd.iQ*9훱fU6V]h ?ɸa>,Nʌ7T2̶Z),oѪEB:J_^8T7PQ!⼆ⵁ+@qJP-KZł5F i5:P9&|aJi^x#T?<@xC !o x`SږN2u nה)`S);\N۟hSިƌǧΏu02ֿүx0Z,B3oajt ٣:I)Y'PM33my3y\"> oi1tpt3 `mY6?N#YBn8m/뺄|0[Z=T ;( vRt0^O\M㮣x]'FzBLˆƫS^8Le2CD)yD͖9#Ƅr h .)J/Yە%ɭzQ*3ɞ$(q'>zU^\IR&DΒ15nIJ[".=ö6ixddJZ(e[Y^`5è|!d1hl::M(S@!. ;Zk0[iO?זa_)mC,4{Q@¦rײK'Ɵă^zLyL=nf-!P?e \VbP)D(K<|[瀜IsMOPRᔨ1J>YssAlX{%=ܒ> rT&[Zd1WAm| -5{UuP,s7׭ߒA!٨,b&/Q$r?7.]qyhxD鱍wHS.ḇ AXts-yICc}g|sLz#HD=htߔLQL`1όd|:\Sr`k[|b-C8Y}n^Iu}=oj`!w- fFYwV#\[|{~^kd F>?=eeZȭCt^ՇV # "D Q(ʒnG7g4eh1φ} VAR.۰DcF̱- H|фO~=o>2(sNn(8OƧ8Ӏ@xb7Hn%'><#M"i@L'}KAі.~4#d;?邑m2n-;9b,0c3k=4sb! ?%\bCclZYzb'͵-q+`G;6Izɿ" i]eo̰5&|U2[޳,KN juqG#ɒ'HA^ʄ1Q=X! ;6 ?ʈA) 3 OŒklۿ^: Y9bnPeWa-,N?>GCE7d)I(YX Sͅ*+RoFuƧBA?!'JU="rV޲i@"ʶ n7>u4i`(vMbtnpЯ١wǼD?R5>() p¸K e{YnqhyQl鱪eFfHY0Z +ơQ d+^KqꞰwN_bE[ylo<-O1{z@k¼6=B;w-@}@5+`' Y.GG(+Az>.fWO7\ԣKF8脭d"O=߁"`(u t_+%%1UQ*G @???ڏ?ndߟblh3pÊ^p2Ɔ'Ş,Ǖ ,d?E;];^Khy(lxaߚ7#^:J2]'I/ʻ{)xz]SkA/ F. {~r^l=7̮C|#&rNT}`o .)ܶrA"~-Ȓ;ųG%[bN(oѴV}EwDF9-H)0YKј1cGq 4磶Gst*&ECl_Bv$P89:,RS͵c+;l|3@鑎TT&1Ѱ:x31@C=1l-ve٠>vr˾$BϷAŷ:'!@RbEah@<BzYaeZAoFrԘ3QO+ۢ8 S`_'K'.9 Ĉq0k8"`m6!٨>! 3>__ AvxlsĨem_g/o[" *ԸOk3#̾M O oЕ ͬʈ>]03J׮%>zװ+0F3+&QKJ+ PH˫5Qf1xvȪQz;!FGݝ!ncܢnL` ͣNˢOqoZT 2S /=1T yz(N;NFy|P *=;O)cQety׈imܫQ u€M!ay:Q-sbi^$Fn}%d$À:^|G'yr[ɠ$a4:;P ,/{< 'aG% YQSgE#c VaU=<[G)kBoYTu;bh^/w*(Cd0%ZI,G@7o츺E'Yј<{*.;7o?>Kbd1@-[;[2.Y!%u8zB=3Bk >H PX<@Zas㤬tua98_Ak'_v;;(Fb ]vFf2U Bv HH@aGq#TP;7K~6ZKArc-{Ncxr6ti^߈'P@CyTWڙxUuFgfVo 0Ei:YLTzȅSGoK8GJ3"0/.)^yiMJYEx<94+#.M,z!Q lix:jfi\\bq!<-,KRSP( nք YkEmOF(vBip6[(;H_J?cDvCp~Q<h<%Gq̣dH"z[娲YvQrmϓAx " 4ڃ@Lc@hk,ަUlI]7ގxUf:a\jyɽM{.St':/SOkwcZZ2!Dθ,(UP1.VN13̤K_G}X ]#ڬ\羽H KTu8? x#␯WO; ಢ+=ՠɍ(E<$Țlu,ȓ 5[c^<袦X\?ߙ*%N_e]tLQ&-ն3S%H5 :f}-9fc;SؙŖhAcX `gkz-57{.E^2r vhQu3R˞t >i=Xs:7:Mg?~yއog$]pr[hI%DÔe<u>Iks;$1hW,~,8xdqVaMӏI^?{;?װer;V5 ;^~dSq܆@>4N⩧:ۿ S/?))7)33d3Ї~o*w? 8ϣQ/Ck~&%ys0A3vf}eVb S|YF60S*Q8DBLXD(⟌v0h:bВa@>;; 6Y=27!ԏ`zqt1,5=auEAS0M_чɠgB]Sm).gvsL|"+śDAǀ0AL2F#BSRgFEJA&CE FϣP"#%̢>ǰv124  *_۠CԣP%HE4Jng/ʳ;ͽ]-nJ!W b΍<&dr{SHw0Q%';>@V!28"qz[`v:= wr((G )B]_A5QA[p%SXFTSAcj [VgP m .;@YVn\l ʗ2 XqaD)b;J%~?еG#ل!1@QPx !ޓalN(2}/LY&#p:lFʗ͏ U<`"KlY^Sq q\9 6t$ p)^!Q8u(5 * t=\}x*di@e?mGksm /"6Q2&W\㛍b kH,ﶇ8xI0aG9{ݠz\h14+R}O+s}`ܪfF~,8@Ǫ݆05ؾt>9@yxYv0ryl7C6G|o_ƛ؋,t$&rJ2M޸?`~_PpӾEX;N8;rS}S (^h d<ٯ7wĐ}A'F0؀UOY?'v^9p9Yw(V4a)^/L!7ρ1؏49Dh"mq|tB!Gd)Z= .24 Hjo53YiV@MSL?JXky+2(}"[J+3թ:+^ϴ+GsfUB] 枺?wj)%Z{7-<%ie f,x-/,"G+/O`΄tO޸*=8vŇ<P$Ӝi(y%gj^Z*|x$y{G19o>^?tz?ZTron<2 O/Nq Ց7\T(x$ͫ*$Y84,\!P߾xH[;#+4\7EstwÝ6RO?%#&큲=/=Ql l^Y] CTw6v BRX4p"D/|:5iř$gj!AP+/uCߛ#.y wi^!I15w)俣Q|\G,7jux}.S. _u[/w. |8XEbX"he.a܊(7(7#9;!AOrzJA'1 °j@SrIܖ22){7*)JB0h,rcH)ULGhڂf؝8֖c\e5o)~~pw, F֬__? .k*dAέ erP{]C 2wh0\IԱ;rMtbҷ?k U~o> Bb#7SU_|ټ)v_6 )BD)˞rV$z<?˝IrF; LoAx8qb[9Xk>xCr^cp<@M,ts],>=RlQHLzl,ɬkݐ&%h"c>Ȋa3b=idOl#6^=Д|V]"#FĜmuF`RxNݼy~''Ya$>ewxw?c?Y;?C3-EXh+ad|lg}ۗ/:zS[5)vTh t,qR)ъ'UY؜$MRX- Ns/v ǸO/nDKO~ i ӏ'SHc8 DN鍯Q /ͱ,6h$A9Uʨ -}{*mn,{?a`?e:[rLQ3t28.|H.(K>;vx]H]~4hc١퇝;Xj32sӻ_OuE܅hA#KU| ѶeՋ{Jy%:–wC3 e֐JQ|l [xI'3S7A,5Bi'դ_I $Eӱ(G~Q1LL9 0Eܜsl|qikKM2[F{1l0Y &HۼJbKOUI~AlM՜yd$ /yXw4uT>7ju[L!mN$Qժ+v7b#VeƬcnjU=¿InQ4~9 +:BF3X# RK0&,<c OҀ~OE1K\*&!CHE<ytuOcRgxXM$CY~%\4'_fX 'ƒ9)Z\X`(蜁h[MlVWe:D(rK_Ξi ?ۏ-<`ݷ>z;q 2&wB;b@xm xvWW·j0_ =lz*6ncO?JȒFYb3U6[zV(Vs O!/!`|˓,o^^PGB-vENeI!eI3dc{AI|dyyȎC& }7Ei ܌puAĄH8>w0˻/k-}~WLkba)C>'"D=7\( 9䚿e@R{niuE)XlW7,yxJY^T-CC'pՎ e'vrqN| LyrT]QZƃ:i+H-!dIr69c݉f}AzvIƙSvc%h=U**l{1ZsvB {';q]y)'o WV<&PHe`+ɁU 4,p@A>5L.%l[A kLHA }{VuOG.9 B~~30~Ɂw? Zm]YiP0fi]p{I2ZmfzgHx9pYfGwO``B \ZZBLw3IvœEYet.=0J1ȆХQ k nutK|CՕ972.*3ryE P|ad2f,[_NMӍ΂B&4yZD^6H8N='{-jxwͣbW \0e`E1,$G vnncXJ12![w4EG[MQC"oM/ȕY7rqh<~~?8 Y\@*儀/NpB4Pc_k`YA{ !dUr!^4u0;Wb6\ZrA@Y^2oeĹOtg,%% ;`F\z [dƨ92W9PSG-#1;aUZ;SRs,=.pܽ`y0W:įJY#V^MX_.?GY\_l*p mY={|'Z btzrfh|3DL7> xp#/-/hg'݈݋)< aJ!݆sM騴\E%E yrL]@ Ag:¡!*Fq#\ 3 ( J Ti[t,tEBʩ5ްm_Sr[>pܖS1=tSz4*s^ ;Fpv.VMΘm ƿ.w+SS&n7m<%ސyR !S!rqZ^GJ.Y!ѡ,(OC6U8׽އ>+մӾx4sO)~-u%0Ӄ. ),!|:'Idc:(8ـ]w$3Kɥo,ks O +.MzrWbckjkhbeVk<Q=0k\d]-uU^DL"-H ՜zTCk{]OeV?c@tO%=>ޏ70}O_J="36W]c3]TU̕n?O.~^D!|qSSa?ڜUޱ"KCV ̕#& kVPWW&>wzq?9o9S銚_QrrgOHzWz$lha1n1/y IŘc}?VUBq\"#####cqzzǨ Č x 9GDX sˣn|L[r%׌.|~jĆCIPJF+ޕ\V]XpF2,5O=^#p`&$o?.O 粂fx_soZg,~!^⁵E(5%^•x|BV.siZzhų)!* ǔWo(B'+Od6Ņ7{hB0vΠ"0&{juB脳-=RgGK1x NGD=mR) xc%~8ZK JmMx.3y-g 1 (8qNTnT5u͚Q+0}oz 3 x2Jv GJ`xoa5?*PoӨK.џ4 0! L`O0p%0ǝblui}k >|QZG au8[or YJIAB&lF睎+ ި;С褳c޵d+ţChk(o1gb>?e#l>R(Ɓ H4=tX;X3}vxL.Suk/%w*'dZZ{"ՋEΰDB {$(NAk| u4stPN;c#&gwFoP6x:gJ 9FfsS@LhxZ7M k 2c{3Rs7үMpYeg 188\0aJz&%4 pxb/2Q>JR{IYiawBAZ>kɓ0;l ixC6^#厂t 4vț.4@VuΙnZT"ΒN ֟bXbWh\E#$L3 &1鋹02u{o_tt.N ^qW#!~%z`8m&˞].3 'L4z,;.vBcʵzkW)a4.[ z,rjx{o@}PyVKyל0c+]e Ʉ^,-J*}a@H$k6GLǖyLviWl)B-9\?g"}j#eιVqZm$cg]_qsC,Bu4X4w ,UaarE^)TѼȜg~ъa=#oaB$^כzbjir'JS1kqx55G#~ ћn4#)WqpVL}ك*zjF[FhqB/ T_`36Zuª]5RʓvBOKeNMN抯6<Q SDӳWW=A'^>?wq^%Z>һ6%Gccof{xێxlq>L 0X9pIG"=s=ace (}nZ7"\<~:5\\% r=©>Yݰ1n`?g@̢KdRMqj/"_ЊNu{seM,0Us(شe*!q2rbs z+o8eH7{+Ob(P1;~~opGeE9O4\TL'Ĥ,0jmWRhFg" mW,X<`ڪS]<ɣ@ZʂpwfuʛogHLĸuiu7$@#'#K0C "lGä̭; @6͔Z󉭊a5 9@cT{6񛫴%wzUdT' W?*_ p NN}#*qIým.r[nE5ٜ|fS=4tvՃf}t )3Xr!̑88o*2@uAY3?/>YuRwO?#0,bO[Alo HO;ʕqaPNyHR fzH)3>xpk\@Xsڃ}<0o&KH;)e |A9^elM6F \6;Zj96sd& =\|3 L\VqIDlc SPh)74k bq_bYyE(HsWJf = eXu\p"#<*P`9b5ay2u}BoBL^YH3?Evz6lu'WmZɐ_t˖W7!?̀̅k% 򏣦1/;_\pg.b>;Cp(@,& %dцooKlMV p? v碓SV4~LFLo 0K|]nZkBqgy/orr`= LECor9㛚<o`D,;fu ޺ROQ^S%OOߑ&qk˾Vcq6 UmR/q{'vѼ?cTd-aN /cs((ZѝyqsK[\CED91ܠp Fc/x&s}B4 r50( F Q k_Y>MMQ*7 z 1Ce6}Jw}gw m~DȻc86Cfcw`vϔ!@W}<mC Ȋ+EӪwv, {^# tz,>.WXƁA=>S"f w=ǓoFXNJ{( .v"A#J?DgO`FG@L'P gPfja'6>?M0wu Ho%^/Ya 6Dr/(_wʃ}<̫6wH@Ģ|нuF~]PBgO}''~O_8ƒ}<ۿr|oN0Pp=tS |&Jqo{lTsaTȀaMv@bqp$ ~;EIÏ"=m8g7Uteə 3OA~27Uұ:f+F|@"n"(C` "Ǧs !ec)5lf3PV3UhȑẂ,M>p&%Sp88,.[%fib?8=+YS}-^[4o__u}eA''v{a/]1bԷIN$Ǖ&!PCw &i!s%6a-Θ:'~rXqd_' o}V/a. <&gX=zѠ'$opDUp>r3ɼc)lCJlʙq_섌pz  )tr>}SϚ`%aα&@}nXAp^irsH-`6%䥅Gn|i:]"cshb!1TS y\QTL\kYߨE;.cn3y;նbaD:`/ʥϣREGwj)(~ku`}_'%Ǥ?Nb b/1sFJ|~EOùLJ^5]P}깒 ~B/Ky)VTϤ.ArlSc'=9Sb55Y=0Js qYl[s:݌&sojق~MJXHEF[ &dz(j47Ēa1m7 rJ~ҙ&b$ylżkY@oeo}VuKɒRRU_]P,͗!s~C"&a/[rm>_M&؆ޤC&PոԷPy݊d5'ܭ]{^ ;Ǎ-)unIU_KR)Du3#Ql2}l Ji\&͙4iҴlu~4K.֨)#:O[d GÝs5jnՇ/܏7Ei=߇Ù"И˫"=3{bؤ 5]7H|龶4sENz>{?CL7ePp{63PEi|nJ}kUlJL݉GUYnBI%o/* :o2V\jnl/}/}]R]#{y}HmOpnZMṤspA8ry(+Hmé%gA (,hU>jРb%x㴋4q{F&=? 00Ȯ؅s`;KyǮ=W53vTԯzK}j' {sxycxF716K׬ҩC4a+]t 6ŬNc.KE/nV^sd:_~^R9 z{Ka{9dZzx~қ ht0SF,xkPrIMd~nZzT%s>Pl^xNooA|Qm@Gء> i2g7X{# 'H `%X,E?<(]۱ph¡4 xZL dwzM^sC8>3:򡸑 pz BsAsһ!ߨ=96cZ>;ʖ~fusy-{y us@~أ^v{ArMn@G8"pl[^EC8JuZcͱ[6{x_/ ~E14ZDOۄKFW CYA'ao8hBay+xQp eCk.Zl ^X 1 ՑP~of1ܜ֋11 =hfvN5|[jMV4*lI_nͬ?Wv/O;bڣ欿?{s^]jCu'^QA|epݤQF|dv>ʋ26Npcò 16QvDsr6J1Asdz'< Q #p CB#{] ׉J cS}⯄+ 4츳XSW|J"O0@ Wjc U--e/OL qv 0K#18c^SL,,O@oeG'gQ{ɰ_/DC|G a?eNĚ Ȑ";u)m6hQT3Eq?f8&$بX^C\$Az޹hAAUzYP%)mdry#Vw~=*Jdͫ&2jr؁KuGm== b>u :8=FfT+DAv614|6H_W`T'3]*kSa_ s'*=ĴFxKۺ!0'DN=(ha,ﱖ055E_E6pp4I !e4d/!uGqK(b l7Hߚ ٶ#brqҽa?)3ښmJS /`I#|& iίZu os{x>ngh3阧h)[JV\?)q|5 ~:O.r`n8/ ^{H[l]tQ#%VgY^ie<'Kx4"/ZaNN~'!5Gݲ&t/ $ZU4!LuFaͱ3dACvHI/I<' Y659ozL52﨔m>L4Gf-$-*%Q BfH?$t (04GtKWBzmbۖl;C*G_/^duxjgLV3#HA;"<Zx 8Ls#5֛Q{8_{A lRn$SѶ׆vETP#G3~_"l鳚oߛMkik449~ S&/Rꌨ)=}\li͋YhS5t ĽkX VKwl%o3"*=0BDŒvtvc=a$Nt`,eMقkF Mpn[F*#'a o`ʚ{ ng|_]pO!ϫ"\]áBsO02Ur)Y|Rw{WuYv#TR$|:`gȸ]@Q]{Ϩ5C Ӷ ;M$1Bv@bvICf{V !\>Qu!0_ z!&<S@9#D'[j96]e_ߜd1>Ừ짠zA!޵ )+ :$襤xt/X]XZ)/CN vRszL |w c\!va FӼcpv$:sn.XV@3ֻ9_a)}K9#f% 3TL1 [a)8X_L Ch$[iM&ONps_.E `UyPqp_~K!Cv'\qtR\͇ό yƶOqs\rq'ONNKO%+y%@^"I͎A0:\HJbԪ:X-Zk]>+zѝ2/FoUZMVJkЧXrU%CX\Ȕ 5[gu:윋qzi8~v@\6 _ </Ƽ&[Ș魺y∀fP20 +vaqܷ7?C8[Ek;E{*k0B+50MjbȤ`T|Qcz/x ,^zRqYD줮͐FF B uJ७wEhf8^պp~ir~JMR}A&/$tzuN=&qm|*ﳺkMSV̂y 3RTVǓ+b} +1թ3nd!e qm^Ͼ3LLK&= cp{&;ɠy{c(u\_ۅjDCk` Ѐ:=%f OXB{c~ eK][ ɱҗMqjZ^۬bQ̑nM9(:%uY"NuZч+oxţ[gl$>/_Vvck\hj) $/{ ^NeqeV@.N-5|uM?-@,=Umt f#ާco}*bu ƣnGߨ=|H`o  i"•, >$yU&b3/#Yݐ)H;D%[Yb6Xc`ʹV85RȼJbyVH:~0Πn)h1Cwpn).ɘ015N0h|Re̒x9&ɾֹyi5LeA ppy"GIӈOWLGf$%?'' '_12*:uzjӌ5AKǖ̑[=Fi뺠 (CXm}<q1؇<1~P߁Y}j<6AeK˼o_@x>N/ -;| v3y H"RqFֽ+]]\w34@#ith@+oelNuvƔaTrqVY(HWܼHGD/мdLHid{\ l gEڿJr%2!e#`I(1n/~{qz[ B(Tnf*!}|}p&{G͗{ۿmr9@^|ݸp3 ͖ ^&29wGv޽f=,7)'4g^)ftQ&κZ.$M,'x^r/ lCz~՗93O3rǂΈ\:z!}<_eLqλik(Ig~ ( fdNw&RtwEU(a t~-%O3`\QO#.t]L6qrc^Ui:n[Xe:9&Nm!*Q+ϫvqRh]`a%>!4,omPI;G?9rT6KZ )VCj\ 4o4vowQJZX&(( ƤP5 HuV}S/,%c!;S'e-=Hܴn?ێG©gŖ\iRػv$Ѻ4 ɩrlp&[j̬p;AsXoKXCOֳ˜bD1s6 )8q}T0i N1e2%{ok{{f`xF%/ݚ*06He1u#7\;ROx>zW-M;2F *m0 `y%$M1 XR qkXxڇc(b':f+$3->;QA;:,:cHn?V5`WuJ^l;8< .1Exuъ>T!4`ڄPY]q\Cߜ!͔M<[l=dށ;#6B /a ¢kI.]p8g-#X/6Ab2 rR0atR&k+YB,U?;{,*ɉ` x!65 ==h˵%ٕx\0cYqsOm=.5_m'Zэ<p7؅Bq\,XrFeI~7 vo+aՖo䗀$ n5W֌җ'P(eg(y$Tl :b?V}R.dp rf͸ oeO\;4'zv\TUKRiŞl=qчžpI~G $z_z&' ֧v; kNGHSB;JFR@P3s,N&~t(ۿbX'H$nMPQ3:PWgr~(RTfKsٓ@4Jom-gSJê+7A'RAZ;*P44/9K|{o"|D}p\k4itYe'Gsah%9Rɪ!R41 a&zKZZ_zp{ ?y6Crg5bfb9E]¸t]Ei9˕521SN b]F&0oYA,Ex3imaQ.Cb1eDqhrűR^Ek__8mQcp؏n0.)B$1@E쾟},Nc#Qf !Q5 1g]2>gɇ-biX(Eо'!c܀+%eu|9zdD,[K)^O?;KZn;9W=]nGp"\څ}EnOA_^0KR]U V%amd NI(BBN ;)pܫ\V;^UŻYLf CC#sURvh,з7w B!$%^Mф'Ӵ.‘Bl]nn \ھ/f #M< "d"ITvETbfhucy@ A$rڠw–>CX% T:0BZ8hnFUJ jteHzo:Rԏmk*k'Śedâh³Ef}HIݫ橉рE,ONϣ _2/fI7WGEjo׋m [о8AH+eu&p)'*ɠCZj ksF<ھq(PIjf6O.n'JM=tʡ VY(G 3}sZ)ɶ?%$|3hw }]|4EedY8,Pf_oC݅`*OuOHى˅gL' aQphL1X1.y:jI5e]R0Ax'\[\,z VEFZu2GbڨȘiݸod_N MvtkƦ+ض]+nwR\2ã\H47اd9էdשGu4%8YINa>uO>3^5̨F67 |鉙4vO160+ߚCx\ZA" XX| INHVa hbv>x[#1w4Qy]5L1(4d"BmmSGXo5{-Z2KC%U"5^X%R1_#Cwz1Ï\b;.; 1Cpvs9DLJݗSRr7ILo*I~zA`hp3mR GPFhE&w2[}Lz+[Ύsj^=nRHX(e"-i e' KDM~=Q~/LB}zaV6It._/Mh.,YJ?_[)!>?=aؔ`Ʒݔ3`s}6L $F lODl y<)0@)@B( ;ܳV?{1@jrT [õY]A*ʇb+˩ybAkFUS8~vكL?BSWw/vvKq VBo~&/xWmVW_ZS $*+ 1ĤW%^N)^O(ˁi" S|HX.Ӑ`T)o1c{im>S_z[:E ǃU)mܗX0x՝@uyDh'6 +#<00h!64r@i$Hd>V#HP#f g'z/(M'Y'̝SMcB[:K쓵ڠjů(`tE\+W8 vk?ZÑ1oڴ^FI\t8AJ@QN< @t\jJH^faG}P]ɈB{#B$HVM}>nnقĀ,8\SN+ǰ"d&Ax ]΅ފ<_eJW1gkA59Zܸ*ĊmRN>6ŖbF!9n0JF.밂.ރhDmV̞,{%9weD@lٚƢ-[Ox| +ݑ[fr u0dݥ^ YGFğKt5g=g-ZV|GʉU*-NdChǓq+eS0"a)HNI/Ajyeyd_m^\]A(FGҦN%b>kahn3Wy0H $S;*G/2 ~Epaz –!oK nr2`Jp)Sr6Aj nz`m0B_5yT;7n:>` S :~[q\ =fya @S4S~tLχUkZcc.l@^琊j 4&]_~Ƽ.I+02 kl"fp'{橏PKK-e["J+pK*AA88mQ7x2[{(m%TpxA4zKwy$^H:ǩʁwJ[7м Yr*De?|k-hO-gwZM֨Z!}<>/> FuW̳;p`q0 7?ν`0p$&ocEp)?؝&1߰Kaa(erDOp2PfAivn"hې(5v0|a<21RgwǾOx{C)G QmMkLqRbgԍmzc+''GXG_N"ULa@B0¢)~~ool;(B @3jRhppX4Y]D-5,%/vw+I`rO=|FC&E9Ffc‡TxcD%7N~nC7ޏ0~%U &B 0]F(+0 !~ye#kя||z3qc59^[ݏJ ?! Txj̤?%:3 6=CJCHFx_U5A{5;<r,2\S㬶+҃CwL T&DRHx]8ypS_㤲FHbb|Y/78pߴ6 ]̻f?ƌ\4禖b*I38gU Z"d?"L+R r }ٱO&<=HGխrB*?~ n"(jU.Do6WH1"K;4٩4]Cub\Mʣ}b,D=/ջ~ <+bs\ X0+1Ur$%N0MȓH7v)XeAS#[-z(UwIڤ{92h؜;3,&ֳ ;`I!/ѕ 2Gל_ xf)p*R;M Zo~^x6e )C\/ve"dL c271\*F?pL,\b񬆚oereވ>@6:tߝOyvF.pK-v: uنz>K 缾 £uY2)yS@Fx_"[KBjMaos @4ZKAf)h6e\pf.sVMg$#,%Ӯ̀yuo#7]vLIg< pt-\{N6I |>tcz$trV/ ! hqӖ)-SC/*3^TVuj=l1C&;>&/@Ҩ2|F݅ox Wm$t>r罜_j2P"W8`co2P2ٗ q8@m*4d{e+%i?I$O/E@Z\!|:m 0רN^2тzc=:rZ.'1;v`x'bgvؙD@B|=)]:@ڈTLN |q Ж" q C)<;s|giwF6+;O;ENcs;ͥl9L,Iv}օqθ 7[F DfalOBm=*G,\'ؖIwX3ͷzggUX79eb15pvr Dju"#"A3fvV!200vfhЅRۖOU>"Mkr.H^00iOG{kl:8=ӔICVۮoP4~hg?SN"W~Y=c|'c@0~|o >+E#xR E&OIPUvzx1@;}>%[}'8OjN2l/lP+rG[ {Cl6YgMO/b'{C0On,=a"!jXYL> }ń#.nHfT#}WJq+˖{Dmm4NiD_!? jlܸ#x]}˔̛nʾJGx6ONc%^+ؤ́] Jüi/Ccrҭynb0(K6Aa3ŧ@poE \A] IQd bo) :d'8'Ozw$ !fIύy5£*KAclQJQHWk_=򿖂ԍώ{B_=D~3=-0b = OsE!gqtE hx ^q[˼ʨ[(>[ƹEȠF%de5d*mT- il3Np R J۫c6#7T06UL-Ay1=.ɢaQVAyH,ڏ}uGVI\fվemw8pd9QC_%ύEWQ%{[}mȭ=yC0aԗky ޻=:+.Feܴ /ӱF+NdMfg{.[ r- >$Xц9eU xI~O7ťiv&LiHVay(=3+f8OrtڴMyHF bCSiV* />}nr;QwFt dhwps'' g_'Ó d-heʣmv 'ηLESTxj3VJ&;Z5d%3ت].^By& Awh R-Ͽ9:vѓnw9aRI  %ctÇ̓֬I[Я[8t5ځ#:}Ho*Vtʥd P`V}+-RIx4em)h#>A`M^) bMvؾGk'/XaSzȣk2@,8 Qi`n}C*sXwK1n?@+xbG$U2r+' }TWNj^~bjl}WzKttE͸u92|N8]FiQK((}ch4P? #q& frُ-UدoTGLT.Övgs^tzUůg '2uGفjЖ\<~$~ w;U{?XO9`4ڇX9J}ɸ%O:c% 7%̫Rc ]]&gre7&W,0g*H6.m]Xij*a֍+'ԧb9oZx0>F1KJn*50hѼzYJcgRMI!!=`!"~wKL%:Nf,-Nڐ#{g335N$q8(BhrlҾ;5?I.#w˳1=yw;њH32Sԣqz 6 ANdHY iCiE{‰BGGt=;4i"jdF'x=GTN%| ɌMs7:fwVtpwy'.v!HkŒ=޹ݣsEy(nU  $`)+<-37}++{bõ[4oEy ^b >fVdrMV0^f8Oa\±x%UQ hwlv[NH9y|ng+pZBC)}ڜGO L Odo=<:A3[ednvLᏓ2o#@3;i-RA뽃EL Uu(I4+sB-X4 [A:7WO3RvٴYgk(=U"l/7 F_q/Ap6NSo|t@VQ}$G*L'+lqGLo|L2›~{+  \KxJ*f|}g27Guכ,IXpp3Bp&\ݹ EF|X%>d1@l.6-"ENq.䂣+HRiVe7ZKČ w2DɨK<8VS(rw oEre z˒S fK>"xV C exPRPO8(,|ឧ:B[ypM6͇>j˖(3ڔ&|ɓc])A) dVlCxH?F%^AJTɻC=[݊Z2ڡ;t_®'W/! 3Q,1^R3 c_Kh&TC8Y{VYk'HgCō6xO"-y+ B!xu+G+[pvo}vo q* {NBoXAB+FBP%:Ѝhk.ڽx'h=r;al+N_Ӯ1Jj<6&#Kt ?V}^[IL @Aa/de}}]%zgBj hg<AZPDp]jSȢy 186ځutP}iR~z\0{%` mL 3~ !~v0dORr`wߚdo9K_Q+o9uiK7qɍb>Y !YC8E/׼igW7 "qNxd Y7,$Nwa eQ42ϫ_wzOZ] ܽd"W/UD}(/;k;W5a: wem@xa(8CQI&kX˵"N^rylxlt za?޾|#HamlwL&K_8ܜq;E?d􁭠pD{<*Lp.,΁`"l=p{*q`+kvUW!T DukĸC5mR!4~ =fO<%^K &Æݛ<w Aͳ6 Z=/#Rn).SrhCb;Py :l{`nq b9r ,}yn?sI .-QgNy*bFujRc kM'ꐁ F0n}` ϗ#[ELwPCЃz]n Ӟ6r@Pb}3։@Of%2t=ϴ-=tu<9”͝ 3À2s`cc%"z/nAޡ[0 ;^$8g5@{r;Y9[3MKNz+-o,]KcrMYlN5F`7,c=g Zhz|XJ&:>尰@2ÝRʹfZx׀d>C6VACS2t? Qep[s-s[Xhᡄ0AkM3Zkeno`LpO|쫎#>`) Ex]HἣFp? )N<3mx町 &I8u.Cw J%Y9e{KD/ZwFьޟw7`ɰh!y t~@X0}{q<;Z_k#bm5@Eblua+yhoή>VgAC|8/HBd1ے{XB3;P|f[,򙛅0$d$6JEk#4D.Jp.6= =%{Qdtǭ.ƴHձW|J:Hܺ02hr: Ǜ339j!y:d6t 6}J? RqUj8"J8 SnuwYb4WThW`1IotչsO`EڟuAEh,lk ȮϨs6 5W+K0$yQsb/c+| }'_6j^?ɣ{T*(I{b~AL~N+TsNOZ7@B(}Ll~F]ҬyjFdC.j޾lEJ  nF]K yn5u{sKUT$R,.hǤo1RO!YC&[@6%/lleW-vFVB7hC0]1(&k :X3a7J3qy8A6 _L8'CHa !6ۿ0&C#<v [VZQo% 񠭤|5~t[5f"SM@ L8Y+>BU|0U:` 78W$U ^!/0r e\ɣBwa`˸A~{tA3.TD[m-\t{0ctZg"Kh$_:-r!.&;;QN|vFo5"X1ac_2$D1.2A.3Q583a_r&NlA'ūIӵX1Oo-^$.|%kT7 ,&cv>n(FDn0M&<xoHXg47pg|Q-J͸Cl[v)1=(^sa %;zj^Xbtzߘ@F)<&uK6>Mn$E\elF\Ph_O]t-jAqbOFpԆ_@Vq"p0q"ljS%&-BFuS.kX %6՜,xٯ2# n:uH2S8 [wҎA&=pJP}w98_xTPasBq9(7QiMر n*R4$L  baV1reeg!=OOPSl ,yñ4vg.hg3᯹efHbzxZa(Gʹ(R UԠLa01#rWd`7&k`6'̈ أ3T, <2i5~dGC\R@su~K>iR04'g;z4,3jqb %2Vظ?i@X{?ϝf&߱nV)'eHhwzޛwEne#Z`lgeK*qfS] z9իz0MO5Wd$m6؃,I/xibֈ)iS˻Cy1#HDLz*l&NYz5O5GQṿpCeLS'Z2s981v D*KǩoK( Nro:w8T CUfG,f+ M~r,0[%|RC)!%Z-DmiLY,wuyL~ ɍ B@/6kǤ|%,q:E46ܵ4kx 9LC87 d {ͥ{zԑPL9p^S/d.ֶ턜2c} 1ַ,*_|TǴy؏Ž2.S:pG˰ux ڛ@<Qӳ%)D䩙˭@{>RЙqf3[&"i}0-K4`{<)HҼ1{%塴|^5a8("kn%VYߞ'!fr.+U+Y(e2%5#*"\Q񛬊32&g`YS'Q`4J#`cU7[x}*EHԀb=iI>r#蟓Ome4IEzCr,C#~qpҡ`d(rk^㏀xG;wC1CXς%(0 E0 t=8{BG8]*5);AR.*fxj!tGq}N*-36r93aݾ8Ou?2!U @v4 N4.UU0n.4;z%[) %82*]<ءC 9mo | n*fnc4*{C750p`\ŕfEYy [v!D?w.zi I!yNy*FDw@C ~1zlBZ`Fg!ZqY=0}; p`zqTH_({F-tb])/. pߍFn U6]v;҆X]zjܕ rZvN07yL21C#"g˸漛zTccr[K\ܦa%4҈/% 5Ѱ ~tw$0IAHEwXEF 4”Tij=Bwa.'SQ#DςChpdcڒ9zR7@J$jRyaMg4i<)INJ*z)sbV|lZf <q</n[rax6H0+ҶI #ڥZ';1#/83 @$tvmFe{F@ F# n=fL /jdY$[F &7?2!%t<{$5f8OlvK-[Rɯ6y4y#(Tx1{X"e7u1͢Jgfe/nUְɺ+j;] w">6-FE5/f3 j-cQ7R[Tu۵afW} GEMNp9u^  j# ? U`tx۫*g";8,y$ȸWucq;UFTy kqSw Mdu > ;&7W(/~=0ٛOy''7񘙺nH;a9FCmHWfJ[d;f9oJG;zOM?n F*M0sV]،_ sӣ<lCy  D`}z!: Ӓ9y c_@ZEG *'ٿel0bm%<. @DXLKs3f2U|@%?sq- ^,ҧĘ\Ӭj78ubiSϘdi9gXFID܀I99&~؄E 4MA#NX ˖-@?D׌ 'rI7XhwΆ [|`NȐ܏g/yPs$bsLKHNE+t[|3- b^ ' yoY'%3C*`꽉+Y ,[4#;P`3lb4)?y4{); pl \6BVt`eKKDs! N#e5/\*GNR Z9'BQiOV w˅7WʗgSx@յzUxa&O;-)OE=+`eQSOM &YG5Ԗ@IfO" >Kr-l?ָIN}TĘ*뒴Фd a 0bi5XKV8a5n]rvat"K5D1<\j&gR6xYΩ!_-6<>/z#_OlΔQe^f4E>Pߛa`y+rd̨2Caѳ o !:/{K )TIvLW|tD eiBM-[q#;`.X;OD']gGT)6U9(<w`媚6hٸ:ȷf Xvnxۖr\ؐC3r!s~C+H|pnm|ry"O\=L1}者Rlkƃrw϶b8P&oGX2q 2|$y^*EyLպ-%dad Ƥ`z?7p$" Vp "/^sކw؛x6t@;h :jΊmDo!>ͫ"tX3oڙӖWFasߚ)5=`ILJɎ{zuP<(MѲO65sjSYEz}Jjya[Yl,q,=wCa(OBY3 @ɌD{A@„hXجmfzSdoK~'N scx>s`_DN -?(D*>0[+[|Wh&=hdFO*EM1N6A.vD}cUyU/B?a6%8z`Cte̪f)@o<NLP-Dp gƃ|{ r!7p -U`f|fB_ɾs8cRb"DοÂN<16j+5؟jkԎ1BVhFbw],)HM(r{nD߄\ՄOfpи I( @u{:}C[h4TNj)ʲI_:GA[BT.qs1qKp U7vOJvZKP4%OHhhJdi91k,j^D>/v:'qݏ%qINa见4>x'аA+RkՌfemo,Ԛ #K~@k=!@c^/B\ TLbZ ׂ,Nm-zQ3nmo%ËGX׎}fwȥQ~^pzZ%B_%sYMXykiPli+L- U%,I7Wd˚sdTA %2 X>*l3yo0cxD{ .֯1#1Yp &C[5b)B/~w/^0IZ<5oN%8I J R F:/՗bߣ6>BPTQt=v|Ruځ%"d "i788{6!`` ~03ʰFӭkƽ|{|}rAy%tdH@! =qLzQS" vW"} ^wz*C"P^ Z*'BO4lI JCL8nb IǦ?0xZoRpR<N`/~2.ZB%!8Y"53P>Z)]qkoɧSfeq|!o/'KO.<_vO5Ud`r߼naJ W7 qyP nW9s~ XdYC 4`MZTlunkvC!=&k~)kMq:!(/@{_#K[kpCTu6ŧMPdGY˸NzTA 5"Їȫ '@c?/~Y_,|)c" ^Ÿ:mq 7_]52掙w;Gv/^;x{ +,)g {I#B1qfWx0`: *(T/rfo s`&f=;j~@ SN*vl!.!q`g;?2Q_Dȹtǝ8MJnJ@"/#s/}4VNV'[jQ)ޜTZ\f/Id8/nhChbT<#f [%'a[0ϝ>~1I'%㤴^ydd+.??E"gb5kl?={O<%_ĄM-՝#N͸n"~clt!e۩E)ݷ,%s=K*ݲ;; yCZ!0CBq5h@RO4e@h e9MN);1ChlyuQv[ b U5Y3 ΰ".j9͆|`zgr[ûު0*a|7D 6!Cy_K5V}iR5zs\Ț\_z☔4 KԲ@@@XxgɿruqZ+KՎgNFH'(vQ.^L#cƑa ަǷ+"D :,cFJ#2O)om*#xWy 7&BPveřT-s$JbXiLsp͌]8-b[PS&3У߈߀g@5>gsT)n3Ia$#QǮeҦFAgCw]7$YƳi3%3z=^в@ܤz D8+N E]jry%vgHEj^JB#mK3I{i 'ӯ.@v£,<]ؔ3TV 2XK}JY3` d\}+Shcvjeq1 ZvOD.0BW'<܁C9Z]'G#~οK^ /iܯKcG(/)s۩q}2jblTK19";6[JVk_şU!7k/kwx g;|I>]%Ia? Ė|0FҬ7KkY o HqPd#A\SeѾr13y4`LF/[frllh [aZ-fa?glY7zF-L95J{Kvs|H6SzfΚiβ 0 E7`,HÉf^&/'`do=nS^"W,yhIϯIi?ɓs'fן~YurZgʅQu#cfͅ5'o2Gq$䫨I'ms (-B+ӛ>N]93ENNҊ%|jՈ`pЎ[:N9y2\,]ZǦIim>~4'7N86% *5Ȁ!mz@n1m'3h^ϟzHn}/'"xNt,-YW~d aP4#Bc1YzFNc2%$L">0.&Ct9LIQb, iу d`ޤFڴ97"uSpk%]"4l^`'<:PBUXi>~p] ЊnobXX׀6v^<%%[2p#CN'Ma缬5kVŀzacy io&8F>>"Јpb"d?#Aaux֊:<6-b.d[?S m^Hy[ otiDϳcA7VaS9on!VsnlA:Sy0Sɰgb/yrg1pn宙iV蚴o5 pD2YL-N~ԼR1Ȝ Jfzl&#nvLlMio-< JswzΆƸ(-8c|'l= $x[@^`ESbVq@! 0&PN}IL3v7%NM-z~+*=+'-h#sҶel4am,9/8$+woyl2P¯1sR7W+̿ȉ?25Ty)Px#Uu y($}񈸭x?yrn90|`'"<.[ZQ,Q̃Tx[B*mNۯhivt;aG'=#Nqޯ2]T"";$DSKe DI ;EՋSzE 9Mm]^N]ÎfP6as~~s>9=f?57uĔt[D6zIB{8Jb݄LlQ6 ֓P:T=s1f(Zsk;< A)3a@D\ϯ=YbFjG& *҂]sac={|u܂lS?-}aE%*;Ұe0-^ſ-4EɄj0\9h8ƶ9 s_RMe>v6AX<'о)$0)*Ius8`q;qO䒄1xwx($0 vug=CsL:&ֽ E86 % ,~aϱɲ'GԀ,JN%vZ3Yۘcoʉ ^vTUw%T)fƎcY(:ҳ#MIZ7H-0j8Ʃn{횐Mgqp| iWm$`1ʰUc|,=&r0?= >$WNL'%l[ͮ'ȫ[yvHoO F#vrgEZhˈ5UOR-d )P@'ymtJ n^e OGvÇɳ)ڍCh&: nT֞^yofB/+m;ҍZZ#/3 q/ǟ,PqS-ܕrTzB&/fzWi&ػ]CoLKKwTGKq\bM:zV )?.&`'ulʆ*%OX]@F{XoyjX0yor?qer*bB?L?rLσNARuz ^g443<Dƒr f?k&qW+x@ѻ&}]5 ^*s7T"XWtJ;-tA=U^ї9qe2M"']ܫ3G>DM^d kWPw21dXɌ9m{obң~﨎nFaQw*te-bfdXds;Z(d"XNLuxGG<]Xmy8'l ⷚhW[ziʚ5lgxm3[&=HFt^_?Ϗt;g˴RG#uRS^KA>Vس}R]Y]j^kj2!&=|0Oˏ/1}m1]4qvT"󅤶R]MߤQz3_w=-vzvvBS%c0vg=pܡa ['~ 1vFfhha:&͹}g, MN&loJl%Lnҥ1/e7nuKlx/c rd0s]7cZ od$[r >b5ͫ |z\ bPsu:n" >OGɇcUə!O1{2fP)m%U]27ۤfn,.qw=񯭑7ټl;9f,m}{{_Pc["SǺn5e`"7W8*뮯??8Xeawi ų]xr~qhJF?c߿{7_lfWw}<<:{˪.;[$ & Ey?3`xyJo/eQrGM}/æhd] 42-$O ɯ$S4t`wl@+[ӴHQ} +h۽7GdKOJ28EScljyF7 t;:cB|i }%ȳiօh@@9p򦰑iZx)}hw}<Fn$}ףD#=E#{pd/suݹLL_T4Ͷ475y1M3{/-+aOJz[Lkv^}}zw4?//-}/Чl4*M&L#Ŷ)`4Кhxg2OQoEg3unډx;C4ښK،@аy 뇭qezw=tEϒV>c9^λ/!Bri/غGvyG(^:wY#3sD9F_|! u(QYVt#2SvgO^5x۝M5~}}a7= rgZ7R/i+5Uy=s5o<jٔy畂_lKgN&0ɍε742^OjS욡0' "ƹr\ixTI\Q<*4Y-Xh'K]#5.JZ|'sb=iPY'}ƨ d4%&l./S9{SrGlAgWћW?!#uJJ5koPڦ@K@ $&7K&VƁޟw/r]KҘjir<C &T&TA>v1ak"M?*%'=;'Medӓ1&1&ۋ 76le s Kie_6yjh4Ҿrt M./=zYViDoJ89=1rSOO''ӅpλcU'B󟡾ZwoyZ{YHֿH:==aG{Qkg qT̓-OGh!J_`TVFj]d(E(/i2,/}9-adB8t NGS{{T NZdNDU6 `Dꩅ~V ] H<5Ł#QҞ},1&}~:҆5_o~WOіlO料٧eQʿN_-[H[?իݣ݊%Tg.IOkE'&R&%)]w ,؟Ky.F/ \E4_K~gxie 211@JOnOAbUۿg=OAyPWl8K-Fd{.؄?䋅%*O_uFoO*'9?Glڌ&ziB|hxsR_K?9\HT9Ǘ^//)7¿~K~.P ^_p|Ģg*)E|wr2.c^tvQV._H{k on Y8^8G5k^tlg,2Lն|/`]MiT+%0M'3+ssBAIQEyy؅C/@ܾ/|^~r:rA/iجXx{ fTi}~/\vŋWYt.V 1ҿ޺~[?y[ ȧ[dܥ]g> 1hVO1C/7Z?_X+K>s8q΢ÜFq.ow3>Gy; s"hWy6q6P3YGE)קex*o3ηYSfcݝܝ΄a׼=΄Q<؜]gB@=6o3ayj6o3azGyLvg>0mg^)hl.g^y ݼ}dE1ձ5f2< o3Y6oiF.(I Vḳ,127"Z'O\PrI縦QCn; ذH- ?4<1ZD̊ڢ4X?p /x%p.% GmY0ܔ@nj΋yX(+/޿vd?'s&NSW.V=IʫG凣QQeѬOͫww(.@YF,gl Aq c =",0pfr4i+X,V}9w# O L 5HfsMRt;gd|< No4;b0cc0KA>Vس}R_oVOuV_][_5}mhgF|0O?w[hB۟>+R8.?N.JV955~hd#AJT1?RdVZie}Ĕ(A0*^MnP(1&+HۯL~(=WҒXb5cuαDd2dt,ɼyo /d}glfqd|9қQ&]r_vVt޿~;Q2ةէLv oZ0= ; W)vZ.B$)RON;n&m󼵲Zmuͨ)ODZѤ;e2ezM~1_QT/fםOi8)]XN 6z, 2֙8 2h-z&׶/e޸h>K$44M&n^&q\G$v?YMjՓ5g J+_tk\zzz~LO,jZXEt/ W4dKM $0:ժe{D>H:;*A=kDur(>.owP #?-)ooXɫ7ir`Lߏ>L&8=>[Z38 Kq᜔=LYO_Yj!Oͦھ'jF}ي{TʵRߜJr[/nEf"^%3R`(sKAv6IXom9sRxw6"`:^'i߿찒e, s[Ak7G3 ѕ.EA6nc^3V8^WKmIFM)YX]{7)|YېHRJ4^[Y˅@8$Zń()b`]ߐa Ru5@uN6 b>5@ԊD`RU+N!3+ * * (JXJ 'u}JoKV94jx \!w@86@VI⌯ZdqN@U4FLt& K GL 5 rtUMچ af1P'Yf*(9$װXADZh* Vu!"qz-&S@Z2 0Rq @0Bh]`E"f"' AO5r:I2D$в[OPŃS5{tD.TDKLJ8j` u|%j̈9шGh O0ouw Ku5MT{ّS$]h׿VWjDpAё%+mDt4ІN5N? њВT7k94NudPS:hGoO|^z_װJ'JbĴTkZN mBE{ւop3$=bڿmGڡ6A\,ךGNkhWb 6qib$(+: uBkjKouX5kلy$ ! 36Y"Z!{u7F5&}ӱڰVi{1 fUZOzu<` M7Ni+ا2mӀ 9W9jl}SL7Zmq U)م@6"\Q]cϚ]|籣ei+jc/;B`{ShBCXmsY+3뫪/c~s͵Yjݨ`&=e\(^0O y$P5eqǺ}'\cRK\d9+.ѱ{G&2w7ꃃ׈]7c;皲FBTF#%Sh0?o8ؤ+.B;\=n !&܆UTnNɛzԹ  vr^&:( mYM\n3ZPcPg٪.e\P{pqkZ F(ohT@ Mb9\S<I|s5"!&#ШNH $K[7|i 6 Qo kj.e&-@r.!]k|m(ls 5@ÛTG+H!P9U1ω@NuZum#(pƗ|]G\{0'" Diܢ[[k#:@Z뚕5A ꗳu#oפU8)V!4<}EjM /a|&QA xmIMD?OYea#WWkXB[STNڿ5V+Bb}5USa/" Ys٠@W ͊*F4Ft!yR1bݩQ9^=*Kȝ.'Π a!pUD"5/o0R[;mb-@}%l:5 k"wk ST{oX9X"[[S mxz_:1cީN%S=HbSý8SM齯i"1чTTigʼR6++t tj&ijhMxƮKz.{ 8Zkh{кcYkK^!6\ xuDېOӆXĿ[0iz';lbH?%!93.BUHo(+A 4b-IK;U%ueH +bͿ%!ueRo d_2k!8 dj *C\Nl@$lItݜ2[7"l^μ;qtv(6 MY`y`|c7U.sof*˒7 VYd<";S挽ؔa=M3v̈́Utj}1;S&rN^=ǾB2L I2#ƞ=e-4eμ$p9eyFc^|ʂc Aŧ@])#9ŧ~%S挽؉Xfbe)#y/4e50 6ا.L3bSS2,``ŧ`ŧ,qt?س{1ݱ; h sNYk OYk g6Tӎ(Pʄ8\uwUn 8ה5āT(onc:kct)|":W2wZ`E=*s^l;?w$r_0)=sMY |cf0j[x}]BGVY<`Ǫԭ*uU_ ϬW7:rnfF_`MOk ΅]Zu` \.؅P6W7qPkȄzt ęUѹABjCñ,lwt*Wkƈ"*[;vz)_SUĆ4dy^]q8*|&t-a*9Jsb~Q'ʲ1`e8}QnGVh&ElZ d:fU2|2Fx/g_P_ H͊V`񩧘ߪ4d#dWㄊGzƹݫU2P]d}+6J#hFg&d<밟WE}uX 6aW& 7xnXU5UBugWйFQпQ4e`jW]'E)l(wTWjZo9w_hWh-۠dw->m VW$Rl)է6>E{a _4+oVK 6@;-Vܿ--t`+ԾRCKLQ(L MD$Zu!hPJ 2] U*WQb]E*wCR ,-9L,hXJChKWW7ƉEi*vuݗwv b㩿 1LۓԳEPdU5"{-]6pȺغEFu8_cLTљIh+j <+Ȫ\U^`UPŨU̽QET#>lo޶q{eOR))V@PU`u{T׀@EVWo8Tq2ш5@CyڠH ȿhyMu XsPv LdC`E L6dw*@.DNz"nܖWvŹS`/focj9w*n DQ){cUMՑ%P$ sI@~еixEuGq~щ ,Q<@b~2 ZE ׉bk5MQ[e/CzF[r柦ijvSC4%(R~íMSg_a l[٫lUKP])__m~+} EyvZLǔ.&qKcU 5I=MƭUgV/= @S?y?Ƅ!^ .W. x0*I馴 T闳yg@ԧNӳ,?NzSҿH:퍓NHQet8{)ZЈȋo7ep{]{'.y@=;/wwTۥwzG}c]1/oS}h7m9=b yP2/zzVV pݛ7:(w~lnw"4ݑ9CG>oKV'lLowvYd׌>mEz}+ZzfW)~>F̯.b~Cxw:-7ȑUa[Nӥ탃AV lG{;%Jznj qz=)Fq:luiw,_T5kvܺ?['zcNcXRJa*}l1-XUD(9κVw8I? t $~sIq_# -&5`4X3vprOV` ج & ^Ϡ%zHv8m7o:&="KTtᇎl?1PL uO!UC|g&m#6ΡGG?5fɎ,8/"(:4dss+Q'mڠvU6p}OO"O\X_@ -X|b#](LA-, p9cBҌ[ErGe/KɟXE(+31Dg/ˎ;[osh`>J:+j!aTDMkdDTޫhGžFa*9JLK}iX}QtFh~r]6&5@UD=*}5}EЋ4+#zN@lb 8.QQ85xWi[VQfOs AXI T;8 "^YNN]{>j~[]0ᜥp(l1Q'`qs̒m*^OgQ![|'En#Mu@j7.8p?U]#%xmQ9*" {ǷZUel53W:br?jߨsAwdB/XhN<@ivWmIgL%M_F|ϰ<(ϞQ3']Q+NP>UU(+_ś4y`0݌rBJjjR:(!9Gg݉|)3+Ap#Qu0B.A`dt}f˜eSJrt3 ).]5Sni[W`~-}4U _hЬ`qqk!Z/l坘'VK{p_Yk,L(:%5#˸4T^*={B:t:ލ#%S4鑮l]CopaU*/R0WXc9깯5u?!.ŐUD} IX w_, Uud$t,?`q;v}u_r|u =T  p9T:τIKca R?nVI}Mh'^Re˶rgtd57=毾9>4qXnOX˻uڸt~Ȣf 0COTO W9lMbXޥ0 A~4ZByLWz=ߪގ2ti̢" )?%=xq3SOQ !-%`,>,>lj;Mv;-ЀpNoH݋IQ%$+C"_jFdQӡ_֔%&3PPW#tFa:Ot8Gޒ嫓e:nsϱT౪DNjcjQ(+ pxWUP')3R/ Ć5 m5Jˆ hRL_u>3k[Ơ &$lĻ=sqDI/'K𲼜P7y\復ppP +_6Й..'Ț~r=a[0= G#܃acmv*@kgO.;d2FڤDŽ$Av ~(z2D '] )0ŋ3 0]eӧ@#QD<= ٜ3lF,(+\*Vrd.C5Kx/Y0"0Aܸ rd_qVS-4B<_|{DqUhQ#{`B+aoL11&{&q?1iCLoqG8P9 7zζz;϶. {zE[(؎fƹe3TL'p`P')'`76 eACa3?6ci{8^<>ś?ʹaKtd*֮_4WbՓqd|7"&}}Bb;;}QnGwA9}^a yՁ3B6ɗ/P> mʾYG mAяOFEa~nVC T;g#D"5g0KжEƻ* Wp]n°4zvUl4ߘ晆& Iǧ3@ Wks;H};Xlf>*`BTźj`<)蒟Gs~51;ˆ7"Rk)i(N 4dG[|kx5r|O|[N_,wV|is=G=74R/BK~AlD܈В6eoӎ!Vo?-^֧ę;75-l=_7z܈ݾy\CXFط/w֫F!idFdg ߴM-o?Wo37#\|chDۈF\|4!y䧑s0}VWVX C}M},DGՕZ Z=yy DW Nii;Ij)5-nViioՕV>Fkzg8" eEU٪^DVUΏߣY1e/޴f#xM-5Ĥ]GX2>{ٲXkj/֋ƪbzjU6l86l866O*O*O^myc_]{jYoA֯\D׍M6UMU*vj]E`:ƀhU_j156k{M뽆״k{M'콦^kZ5콦^ZuZu Ⱞ\GuAXGuA@ B4xOC07LKX64Ն`n `^EW5WoԴjZu_9y= Lj~x[x[ko$}-AV Mk4׈Ij՜7k׈'hFG5?zO7$Fj𬓲I}YkZYGkXGZB⼩oĽW8u6 hCh>"qCSPoSSa9 Wy{οW| C{GL{EG cg!/M0_֫;v}o<÷cᛏGu;+UIaTlwwkw}6V*mdU}'VV*DmpU}?ֹmiU}Oy{quUnWwU c '^jÐe0Ui_Uis[$UJQ%GGxѷ*m?EHvaTia,6R}o$Uw\3$U_}˩Ҟc=n$o*UU~ FԯMЦPwF㙶TiԤ[bSmA+JylM˰7&`5זo4f\Enh?;4Bny|+APzKt5q *Е駱kkm=agSn#Wy4oVR*'as:i*ڛtn\&9$, ,vX0˙ \5ZWP1ˮ끮5)麟޻FrÆ@s!$; ^q[;-|E٘cVsڝYJ !p N$_K |Q|)yos@8ÿT(t&yf_3F5k4En 1Pt]_9l_Wڝ \Q<2tJ!zbxw.5i G{ˆbTH6T /o%᯸0h`& 9TdjQnIj,oY)1rg-3+{Gbƨƈns*0݋ .{YQ)hbDtʽFXCsJ?%{ ,xk6ay2抹TTHќ+>ޗ"ibyުUNu-8z-; bc 6f󉪯8t2%ц 9##I,U4VfXu*zν@E5W#[{-a CUj jBE22*#証TN[>TJ#TXgMEIoq=5taȶQb̠j0֥=,ê1bguveg33 Zd&;"qZ'g7FҭqΤ'zڡ q-X0:cS8l`O-m]'~ҭO^ :ܩ-'N>.aec {fKiRʪeHlR]2WuJֽ7|aK`~H!l=_kSz!n%4@7X7ĕ{Xd5뿈laɝ&g عaP!R#CS:(}ݡh Rio#uO=S'H+PsaYg'W`ޞ h[b3c8М2CACokoUZ$UnW.{Nm=]gt _St8SwH5%֮H.&f4lk30tӂnvFO 5{%ͽf;`.w2xAi떡UBV{&֓ z%7'Y5h0>KXK+6?_`-`3Ek'J;Uvu@{e˓%VCV7ÜRm` $ v3\渾&֩n lp:a5 SqK9Y'ZCIb֡o[ΐS{A:s&] !'uk> c^(݂~ko=[WlnGwke+1Bo囤aȰ|bR;3OO:ŀ ɪqGdko][lsG#3MlQh󨷩cӥTfCv[oG$MSa,oc:RCkD=vAo]:1,`z~aOmme̽E/{zeǶFlK[d Q4[ݼ9NJYIh?&^6c[Hidu ;֮Oj5;d3_Fz*gp[nnt<s^ 䖞ieBlASpv4=eu-}]xX]}& lGYz!421eUIjVW/{f{0{_z*c]g{o7n.XRdzrvk|2-;#{7dޫȸvڧJ|PcRl餾_=5/$٣\Lt(k.۸(lSse6EَnjZY2+lvظ+x+(EW4&eneξ"ypTe?Ӆ1kJnM;/j75ΧMFhl0 LsfE|F R}:?Af3ޞJgseދ#Cb3|[o Jϫ7tu8;%܅@BV]>ei( bti؄ۦ#~TE^62<ˣʞ]gR8慪yajsPGd_'b]6%"h.tQw)4=emKss3fZ}Sy`wӬ M"4Of^4wV#Mav1?i:#66Pu De3ɩ,ULEe –Z͚ 0 j5ͺ \k5M4AfOp2aL;˫-3M߄! 9 "̢ɩ=c3{#V_H]i3bV 1Gs8-[{`f"w/mҤ7="0}04():С]v籣DQ5_VβNH--^.=ۯ,,XTvTNcJL:aVݚ*+QtpO=C\ =դlg׮ Fzn{{ΪD\Z[OSQow҅tx8aڀfbw*Rb 6`7d6`oxy-pڇ *к zwu(cdG:zm Aqli衔D0XҠt'R㿳0+oh{sAoS>&AoAYu`cj9A>øKѹFl * Pt{KԼiS!95A#;C{kvAFʆ {7NSOAF鐄Itbk8-U[5R5Tؚ.Pj =#5*=(c$U"գ[kkdn=1x2D?.\c\o#RǢ+_u_uW.CpP^,AjpO7:]cT`TD8Б[i.QݡDk&ao b;A^JL1񩩡v1h= xW#|u@kV\=bih'$O0aWݎlA'l[o[Wt :5)b'n8=tMPZ'2k̘1>48[d\.y"taVpkϗX&ڥ ,3`zܢ[gḨzzѸ}Qf H͙=ݰZmJ{>n=jWcC2۝.jz[5Xe/ۧ@;SXZ[Yv+"]zbMf)Fd`LC[ۊ'ǔvdbV52|{ȐLG4LYH8,`LVQц#IIÜ0b*b% =@&՜bșW< emzk gwx‡vߛh )KTyIaWD XªTOɕ)CXVTQ`ʰ|=osm.ݚ4; <Jlv,3YnZ]&BT A6?p|j;^ڱi'TmxB TVQ @y(1޿ax-t'dE^ "DBxuhbe`dRKh/603՘F zV4cz02{o^M"ˮRz4<[;tIZ}Ǜ/s1 eWյbg4ͽ22)6`9[cӸ<<[\Ȁ(w֬4Ӥd Ȥ 4魬L"hK}iBžD3@ޫ#G7]YL ϲmsmt omiNut=뭯4_E'=K8.K(:lG)v3*l-ӦfLjkveog.{qoqdžDAԡFCm1JвQ1od \賎B*TN#5JW.TOsܑA53ulWe(Lϊ]DP3I,|b}o`@CiU99*-%0S|6(McxD Q? τ8\ cgb4(uwPۢhsFHT[Q"Є8d 9 Mu -3; dyeP0gmޠIh_()E Whl#CHXDQ4GR@,rԑjtӮ8-?Pv HhkyۉEf.a`Vx&-|EQh5>U2>5uhj6G+IrK扆YJ?hKg 㢝w\W!U33q`V KROxŠAd"aPlHU;Rhyih@t\tV]]٦|LiΣ86juzuW3uOiעhMp=`IwLz=X)NY@F^>m8`喍&{iKdJ1FG=C͔* jxp LvQA|GF s.=hԟn~#6a9tFfGqYy0lM6#ֈ.mS3"? v5חNBxf:TZUbgP;"sWϵ1+[v"\j<F:X5mS YO5+ ۨj!gYZ1谍Axmۦ}?8}mg mٺm-#~hm[`/:iAZ$|h߆睷'{d30|3)n0վQ5qRm=fy З urv6oj߸f9U,j;] Ր'X)%SfSh[HTǦp1+x١[d j 偺2]LL@HK|єG 6ZɮȨyW6"1prlF~ C뗔\fMl`1O&x |.}'xiot$vSP]0:2DOYm=;mDJB!CG{);6ȗfך_\*OڂuGwoӾ{GSnG,1eU95ӲФ2-TH)z ٦6oGC"˩1Me8 td:\hG"y"Z\l:G;0QABG6K1Ig"i j"xQe?PMr:Lve4W_ٍtiVȖ,Vb* qؽ}ZH1S ÿCخ!X8j19ul|MSb;g`dϸ ^i|w%jXVXmeS`\%˧ɖ$=I Ό& =t 7B;Tg+ʸeJĚ%'gGV@J3 )NLJxbsYERX40£Z$xt8 ?'F" T,І qy^'އ"t'i ~ޛ}7 gs4ۨy?<E8fGIp(ΘW}OfLÐ!F|R:cz@La/{0= ovM¬Z̹j?aE1`]/:8qQ9sd5J3 S'q:e`ҩ/j#m|~]|J鐃O׸O=qIhO.מj=L=dz9VC*եwp筆X3 Xvhqxe}N<x'~| }cJԒsu%S.'"oKۥkx0;tuWR8Ӯ.K++q ԞF9H3advtel~5"ϵ:ZߓM5#@j Qq[S:yg0.6}`ljUӓ_:qpw{~9y*F&Zw6W2O>˱@WNGٵhG 4!wTnSoC 2 d =3֜B6ف逳@9n[&hJPX^VB@3 X@KyHn6@^΁-T>TYMn6V(5!KI8΁VVe@'*|\ӦL>R:u yJm{~Nt_0`U\@Y ȷI­Cq)R4Ďl+uX0Es2~?՗aɍF~DL! #" ?@"e2 U ,n%*LZ @_8$("erm;[&҉ecv<ɽ+kZq2 &se;7&W2!%Nm8븍G[_ta9=t0U|`y*(_ 8%} .vl6#lHL!^˛{BѿT͇][nY'+xԲfTq W5 AŊG_)L鞾F< l aZ"fԠՌ*a`?햐4khUL'}(,H$e*X"gP0>{)ngZĨn)5l`jgҲBq!=YCe/x50g4QmMoưnٖ]7%2C^޲n:@1OD1rר0O6V`ES"(y6k 4v_C; [U5O'SVF7<<2%jmٲn7%]]4zd}7jM9Duڶ.1@XRBkD/9S4 G*# ئ 2yOU+MvӨf; 4FX9(u7kHdW5 H(ج{0&,I셍5I쏄[ Z\*2htFChA))mshGIwzs0m\8LK9 7l j`rF۟=z a˅Qm&ҺE[4N_ وT\4) 7027Jl~}֦J DJѼJ@ 6Q Ĥ(7vLO0~2. r$ATַ## sMb<wQZ:^&%n%v#,O@AGwu&)l 0V [ Nw{zIj{)R$xjjz䚵QE'O r\̏ K`!sVJ[ʝ\?*7IϦхk)ľ\|ݤo9U+7dԐ'6v(ddns"6%ŕhc7`UIl8TAV#`i'FiCwX#t.<޲_F'rb N!]yt@onD"ab;H^=|xt5wc/7N\X::p©#膻(t7<"#lH5yp[p! j&`Q휪0il'$N Z?\ $aل,b ^[U`-iIN,fTa"h#Ƚt\v8po;sV|G6{J+,/tԿ1:RxW4op7>?vFġ"f3dhNBjQ־ uIi&,~WtΘB]0G cpE%Exy !ꐀ\1׆!ײ͹26>jHvPcTww`79]*oms)|ɿex#R.&މ=3*MOMOxK֓mY 0 C˶<]H_!2IG,l%Y!'ˬUYfD&IaY}ndGG1;GvΚcO-DQkD֝G Kx42t2I+WB=괳FNg=xP<Jv'!H8liN5$YoqRv̗f.,`&KVyR82X.R$&Fy۔R^yH0 w҄{Z O`HRep%\[I&ǚ8 mWꝤ'/zH}n_0 ǰ6o6|zxt2D =_@4}!4d$Ў]snh6<x$ ˢFq oX.~9[ w`YOJg>̺1*T1xGln^gdc/ѥ0;!i4!W4?~} kJPڷ\ܪQ2 ivsژgՂܢC?1O˓]($TU&1L[PN0t'?M>m-i)( h `o&L NtdI =[e2N(/P}D@ZAsE5 @u*j%֋\#L+B"atKK"+1iW,UmFo7#Cz,Fz:m?-ck0"w]p&A,]-BY"K_GSF?uP>~Ul$)w]U1AkuY F++<+"@&>Q2nucb8'xAKɂxI,U7뭢tuxp,m_FgjZpIjZV¾bNdc1rFSΜJ%U0VoUpO7 ;8n_9 fƀcRqRt.y?FG)g_ cU˪[_ W%e(e(qWtthUd3G%oXP[VO8\V9o P?`;O>xhQBMpʀpy m3:,bW~B7ehә0dF6#*Z2rQ~<#7A J9rt fmԭrOX8jr<_JC$յknINAza]B3xv?(Lwk`Mlyض]j*> T~I1~舊^D₹05,{A4 D;PEvUZM]Dݎ' 7'4FY>:_LӬUX3=SƆSnfAH6$4]p% ?1ǀ1a7:T\EJLLfE l6s `I6I]UB!{::죛FS>9xi n8PxW`p.\ш. 3@VBuÁP\ Lq^b%*BbX#pү*ͮn`Š*`N^6/u 壑qcCX8:[v; B=Ep7:i:sK櫢nm\ rB.Y8TPkJ Y kó̤3nAQ81,˗;VVRVN)gN >ٺE?ke< EI^T'nPD'ct: 9?5)}5įK- %Q["WvXBi3:IO8(9 I)k4':kjF4B6"%FT^>2D9l{Qha ȎЗ] o]$q|}aЪUPBc&ϩO),嘓Z)] {<{ҼCSkxlOLP ϵH¼O$;rD)FƪԷ=܉Nmcs6ʆY=ƙ9|2py*0^ 3gjG3DTQ[21 aLV_~ ¹MA|\{N0Q֜B;C%K~7#1d=(\|NnJ)NͩC^zo_+,im LYBa@H,[di/ڧ"!Q'`Z]tt-S:F2ߤ ː͔(-QtOHkmnN'$f[S&ePI.y s۵lJi6(&9厊,^#Ecձ '?G^ ^Njz&ږ`3{ObgVEvMҴ*.&~Vtv<4vY  \L3ӌiK M9>v/- .\h(xsHGH~ߵ"/3@\Ak  Qgl2(|2Ȩ^!: ̍w`m&TSÞt&X9!׾f6[))V>b-RJ`o;ܬ*g؀~nr)}F^阒HRPD f륌 }tj?" #"X 3*IXC/*Ԑ(/JH8v (EF^W#JKS`SEv e>kkzdՍy_fAey@cnZ~R5Lah9MMN9S7_w١陃cOmOLCykw}tMhp%Yxâ?kyEY`ͮS7pt._nnl-ªU0rbmYmIhL6*JaDY3:v;2̙Q5𘿊xKkő kTx=r.L0?;*Ɇb@ ͛ytR 妠NnFE AS;mT̖tU<)9sjPyύۚ*01 O *ZM7|KHFfAb0 okb lT](Ki_׾ VbX]Qƍ,f).yA5 0a֠K|p֜2ȧRZR>̔ hԬ`,'@Xs0s#5sJtxtlVi D%&A/WOM=J ? $H9G³ؑ"?\A(\>3] Mdo($ZfϘu[D 85=^{ ٔ2z&ODYf!c?tJh*kWXZ6+cHxMD~ɹV-]!j3ۚVaP Xeծ5Njl N4ωcS/W$#Kܣ9, l%x}"gm:@ =TzBt]`,bbK5 "Kb 1XOגFpY0?a~(WIĤhߏ)Lc?J$8mƉAlbf" MNwan=d@+J^G=r_\)1:YrM(29߀Z4}f]'=#dwN7aQ/îUPn n) PVﶍ^/{H)dr Mhbz A(k/#9~ wjeWQ~@jb"˾ sy?SE$D*,Qbc@ʪp")pELI8Ԭ9#2,1Hל;=6tVsMemERz5_g*|R` Kb#m`p 0iZBWn0PSms:y_+ZS )IDYp#ױuᦧ'iy2s wWmX. ۑ eBR鍡\(ɡ'})ƏzAaGN0C5Xy*Dܾ5rN's M\UjzrK'NNL>0K*С9m<:\FG;͍N+,N&B>pE("]KqD/,c}QhH;|Xx?ΏDƝ{b.!.Ģ$P鳝-OMS_CfBi!SB8NKbζUg ӣ[ʉ['UƧ^ sP{b ̥~A"H;&/K޿6],MѼd(] ZiNgl;7E ;v+HA*gpOUI2@|9_*! )BJvϥo}8 I]6 &-37`9R/jS)(`TN*&%?5I!3粉O80^sxjj/ F:k#Luϭ&7hO"s |[5jF' LBv?KΤ#6sT$?mXDM]>ß8k ^,u!#ew6hWM{CKQ3F{Mm~i@?J[ ңs9Ͳ9+@DquUYŭR^Y&etd<]Hzȶ۶?2j0',R ʌL͖C@mrd,eleG@ p-.PuBO/^x҆yY*߲K$OP)ۃ>Ȅ]A9v?Me=%.#>q!#0IMUIId ?>tO鲞QnvXsӂdhaaIzAV䕈oǑF#Aұ7bRue]L}'ciB@ޖEsEl^rIDAFs< E$lYOd ;]O%񖈶 W |YL= I rQ(4@蝇QKd,@iުTL/"&av~[qRƖlKd)1o8nj&Ȉzm&DX~%$3Der)F0YSUC\12(Y0l"}12]2UB2 &*^c2p2b[ @tܕeecdV[A0u&Mq4ExO4r+ c2:|');/{i44?>"wP=ʂ ZD2B]C,Vۨϝr谓MÑz iI&I)(Kܑئ&L|_0`\N!TQ3#ƑqدiPQ]m5r~%Fex "NO%yn=)ޥ@:5Vq\p8jyfQq.p6ڑɰM\ Y0 F!;=^6F I[SXv mXL,A|"M ϼ'+$Ư+j@],wM唎&EJۧ;Oz6d/⟊Bw]E? ."h$r l3w5T5CܞهYL7C'm= -gcc%~YRbгV'b[<"ZWL˶3ϸ?Rp!W,P;iy%X<1yPN2$ƕƨKs:T7:ĺKv-lknNi0_Mt=fHҖMQ јYntng> `b@X)oW'"S[8c>@ D |<}@M[-BYT{֯u֏cՖR6;ٓӶZ3!ҮגK=ҋt]YXڹD;r v]f`Za%q$PDDO#MW#i2]DfN5k]ErD C_b8D|3 '!ߜNZ _K:ƃq9Y{K_E60c.CT冬7)'lGPRb?r梨ر JOGtVƖ07d PCb/rE'2DR0" S)^K{2ƥK["$ hY3jt~0'.,8vpTc#GݣۜK"kBgJ)wDa| Pv).A܈`F fMtEQnF+ٖNUe4V u<isn # C m.DmLEr>r?qnQՊexgܷ1t3p('xc}]e)v>d0:7 D(*i?-r noڶ_'}\WCv}\j9`UMdHqa-#]BRh ~LJ, vHc%c%MbY1NBsXxܓ*W%߶u(*l߾e]$q%@j.$9GU{ARZI_2 +dQ;H$>:_x:;®p#끱xka/3~9%' mPF'nI/{u:z /D9 (kUHbϪz}!Fk'#o+cwU{7S-L<үvk4/7LR#[c?ZG'G $x@A$d<1=Np9jḦ!W7]4 qY`urUE%gX73 rdl 6H,lUA E,kMsrZ.AQR.i(0oXh/}i'Pr4vM >q|ePӐ|Zv=&%߄-i{!u$P J(8qfkm$qMۓyU$kxM_صeE̞l$L{'FlX @J ~W,ztW y̫H-̵`t\91s١3lUʱ3WpP Kx sTdbUh훘98>=bclrljfbcSl"c&G7B9&yUsW 5Ҽeٴ%Xn?T10XVh@xJ|iq9(0@^ȝҘV,KÒ1J߆  u@0l`&Ymփlо <g fR=5hy"Fhx7.qГ@0t`Oݝ2/š# cǦg_6xizbf|rj||rYnh{\6wKPhybnQWw QsDIFaП.B{\ 7-Af2ޟ\s4ru_)rz&"4(IĕȠ>KbFӜsGG1؀zRCy ]l^?=v{U!xfHPAtAPUPyg4V#"JWǘ -mgwE'1&c-EYSo< ޶`b&hiP{,*^T@.z2 hp'oA 5餛IS$R qeb1)l)™ca2BWi߱F$ V$D)n>+bTHcuI8B#0?*wZ^~h0U.~;oyY\^:$(($D0؇(GF&`x w&ga -B:6$$ZoJxhPtFzXIvXD˒Dc.N0v1&DI011Z \!i eGhսnZ]zDf6I`ԜjB@ ZGCcߛ(g&D@j(N1OUABb-qK6[B߬VB{+x1tPIlUmZwqKUt9)vSO]<*xCo O^0fAMQ7-dNߐ(Rc!Zdշ F0f.Iel %<ܚIӶ,%FS#(988U* ZD i>Q9z^?E6Kםb4(DtT.TlHqz>3qeAe C9ڱ(p:39"sA \~7&6[M>5LϽ;gO*dY'EEƦgo*\ӈ]e瓿IYW Q"u!dB? BhR^)\y+p FLߡ[)7jf'̨ Lf;ِv2tʅ_ԵJ Ӭ%4 fEف 矯+N8EYc6X,bs8jD9v&2&ekZ˝Nԍmm,|!d&ͦi4{fZc63)vU=B $'jL -݌F0k«2jrZō~fí-}, (NftR]GAo +l Kx{[zY4'<}|V澵SydȰ7}uZ<"@ DHvt]s`Q/d1zO4gWȒ*|c\RP_5}zR裛;\GVe7ӡIsM.p~n^,P7d"0 |_- S ~L Lѱ&N{FiYDg[ü%z&n pH(pAW3`W s>qa9 6)J*U:Iɀs,. AQCGH0x(΍ U` b9˜9 eeMm=!~UٽS _Gʉȓ!*ۋvenCp?BZjf}#Y_?\:WY(Q"Ij?- r;mM wm«67 vnnC rES̋_FD5 w+TE <I;]Y:G1 >+}RPFp)cx,~],E3o *8 ]#+߱iGVriz1DWXU}|C#ML#9a #8<+sLlX vUvx] H`O]Jm=MG pAڱeSπnknyE]PwT ~$#R)ӯC7wA{;%nfvFRw4dHʩDZsseFn'͓Gia~&?45x?uϺ3^݄+uQxo3eK`[ԽtU^=PԺfP3Plzrjqn Ýr -Z}/0'Bjw#R`, bx* IjRh:bd]C5;gwa>NԽd3c3C@{vRo.|de|6+-ȭY貺l:gFD>נgՍ*/VUn?2<[ sľ .4_߯~K7~[ 7ۇnx-o~hbbϩkycs~ko}/^6tjݛ⛓/]߾Doup^w+|O _7~7^'?7|3_ooNOO~^O]wG7|W~?U{w97#{؟}߾??koʫ>y⧾r/lMWsosZ?w^Wn}?{*۷_}=o|_>ϯ^yӞ-׶?gX ]]u޲.yK pe{࿃g({ӿzMə#9pC;x׽gnr9ޗW/m`y/=+tg_;om5ƿؗ+ ^w毬ݥ~ {Í~[=gٸ73\g_O8旼yþ{n|͋n%w=g俺?{n%n>SUj~|ybxv |~o}n}/w7^kg;j}ˏoڏo=_/=~/~{o_g>߷Yw)5{u/}/_=+շMW}ϝןsqƫ_?kE+_>}C9/ѧu?r{kO9m_{~w_we_g|if[n7~K{ k_l߽k_5+>ϟz׾_W^-W;_>أʏ zt/gsyCWK)|W}U>?K|~W~eg7پ/+&'/~ګ3G?w|97_S@zW ~~gvwGc?woz~g|#~=cÿm}-qˋGՕ>k/u/9^9_Цs9S_:_W^W߽ظ?sm&{Cyoo[{C>_xc>G^ ?S3^o'>ċŧ?[~{Ϟk7MWq=ǾY:w_|K~,9GO߾b#ܻƗ<3-3[o>WΏ?{9?kǯ\|o}w<gM_!~O߻ݿxQ ?{ _sx?C>}?3޵/G/{2<0dG___bOU8oO?o_}/;W6<>G~}//=_oE'}My߫.?3{ ~??^w޷l+5nx/GK?oOŻ?{+ϪLJG~jo_#Y|ۦ7}Ϲ __~ƭ}#wbMm9r"7h|ƹѯ?o|//矿7M'x6_gBS?yKw}w={蜳aY#G?b~7]Ջv}ɛK?|+|?mӝ3t}/x7^{s_|cO+/z/ܽeMg{+KM׿kzW/\K^[bпO_8o)Wy9mp?fo黟/7WCϾnN?ƟwG?rw1/Ϟ鿻gt];=/<]wxݹ;m֛{^\{¿=F#£tcKr7o|O7|N=qݗ?{-b-7o.|>^zK7|{Η?CCo~o_yZ6>o}g^G7b͏?ͯOvp{ywڛc7vC۸t藾#|W?R獕檏̝ ֍?7~է/}9?6ޯ=3|?[GY?7ƅEۚu/g[]WEK|goS/m/ګox?ygxזvC}y;qY9~l>+_6~m;Uӟ~sgj?/޻?vhyow/>O31~p.y O!}t?^zٴK{mFZm6a<y&C-d$c0c֜Uf݌SLZ& %LQ-F~Ϩf[6l/eqPo'AMx#t픸H4d(S2Cn>kk̲+uqׯ3OB}3S E'c#&WW]MJ_M[L6XjΝf6}%Vm3Vvnv6vƭnL9U^-CsKGϐ 7#0!v+x; Ā9M&JnMx8*-~.$&.B)o |PHêۘ<;l~g@4͚tX ګlɜK;77b47%"r.1JL,#1j1 TLY^a>#x Ɓ 5;7P q/lʢ.qe } "\Ep7mᖾAȊmo`3"o5D@^Gr c3Nʣ_q J#찢citϼ.P I.<,b*AwؒTXm׺fȐ$N)oXD5Ӛg{ƧEAXaWlJ3#Jw[Mlh0śJ051Z8\= 3XyIY?Ύ2 ϙ (M1WZri6%HKBp/bQ+ЗMa4; F9(>(,. V_'W恡̦d]<dyj U\TQ +9byզ gKi !5t$g*f#*<b0(20 )I.j"dF B pM?e]ʼnz,*.|%=5)!KRAa_!Z`եŏ݄ 框 ؔNFU 8'O6WWjlZ?׏?l̜&1םt@TC%bdx3ә^peP΂fi `Q lh @JLy]ȗI~Z0y({[h-`jWi p$:O>$؜[kA=?Am.\ qҡw$—]9KΌDCw ;V-It[f$K4|JL)zMD~'gC*~GdXnZy:T |x0)Vm-S0.w<|Y,;Mw?^1,O{P0xG璼&&F˟wąd$Z(Z 5a[9 G{Fjƈsk͚BZKs2L kX曨u4d$!sFЊi.x+gU l!(\M0\y?l"̈́YGuiE6z٪΂QG,cSQ qvX^FHL`HCBu;PQޤ@.ep>sZ qq Zoиgt?`%ݴmT <( 2 7[Y 0f4P2 p,0x`CLbainĝga/-fm(Pm&go-5o,]_ͅ.S&t:$cW1ժ` sS?O,?o[gZ.D~ eX?. Vf{l+VL_&e78/yxtqͭ<$z2Um %MyĠ=cKn+(h01,Jt~S'`66<6`gXpq&*1(8c~s6' w+F՜kф)Oز&j* '!p ilΝnXfed`hfݨFŚu@^(PQ@}bS.D &5 .P FԬܺjAqf j5כ5!L4~ifUhjWh\fy UCX RK?Ej9d{怬ȱ.T+FsNL kF;Q桁%Đu+z-S B)$@v:5E.rq"77m&njBVڦ:GZU由a]1+'Vs`GE6VmYUsϟ3Mnigm2%ۺc-oƩ81\D喍&Z;o1~poыBhRl*Q81ȲE>'y A`>#*Ǧ&c@f 6QZ5ބ +W̊!̤x]k`hܨpϫA8ydoli0=C/ETV>ހ[T8>_ja@xɧElV΢aš+4,^@-3ZUIV3U(@4b>5A`9ʃYHyi'r> Vx2RN:mU/@Xzcs*6ël %l $`I,"bdʸX WÎQPk [N̕;uMdQko;Hn(pZEAL3`J#vm & }J8])u>|cbdG6o9)BE0l4dARڌˏ1"r'bnT g6 hJ޳1B;lv,@08X,gSL۲Fdri91 - r; ]^XȽr K=Gs8Sb|)0%ۦ՝f4Z'8J@$e\&zy<# vAҜ "P#갂zJeyy88|܎ݡqN&}8<*k~;Oݹ,6*# `@ ;QM⛨1ǐYשd0̀w%کN+J6yPN⼳f3G4YkaԖ2h!8T-} @H7BYBLs b8D!13 b1I:@Eb& ]C kB~s^+iި7Q[ypM,'2dqװ0$ȯ}.VuǣC3jf?137Vnܗ/T$$~ âtV )q(faipu +q#^dq94 l c9p"y_Kj;@dHj¦8a5(#d;mHg mĝ#wz 4H*HZ9X [";nɱA Uw:Iaq .nF*?4|-<4a)Ot^Dc 7y,E@$עSf)r# p- N>(.)Dgh4Z_V:,fΓ,60]kNY։F ^q3>s sQ RT6BZ%EV:g#'LM{)lu?%U Bi*gXh*M X\D X*Q `"ii@܎";fQE ud?9aQf k%rԩb&BPn:DXOzdvҹwp5@r"4Dd._zV?4۸J@"mQV:$W X9!Kua]ڵm4M%*C#dy4F}aWI%wv4{L ޢSdi5IQr;5 NcxE6fIy3Sw6W!hnd͑dhŧVS`jHY`Nt, .`"ȭ9kUJ{xwx=Z p,,5S:mՌ Hp[ e-#Y13%Mun!:ζyv䣫!*|Uݤиk(cNJySJ>et&f&wZ< -S6u^,7JBYdz٦ifؔ,{~jX[b,x{qII!b*45ARI͘zfkqx;-S4|YtWN<ԢGUР"[yظsgmg6}lLS`Zx؟94.H(eMRPbvlbTk*uߒ%#T@E GjN0amXLwh30[hnЛg sŤ @ŝ4(hZ"7J6`HFcv7GNFژUP΄2cQ5P`f\}NeS0 nؠH ' rgFS)1!e3X20(sZ)Pn9<g1 Բ?ǣ1S &Q^HAnBpȀHZa5NwlgOAl{|^co{:U(.I\S5eΣ#Z1`s"mI0AFcE0BVRxDԓTs8!6H3Ӛ"3R n=NY>Td 1LF^D( /:e39p8iO&Wqm| "YN]dࣹ`.GxIjkm48 rT bIHj ,H:Cfk_!S{V@rI6MC Yg 2fF8^*՛VFGs#lYƫ2q:lx MO% ffRw'AP"2Zn"lsqd2[\ Kqgj[0t 49[ H́%feA %>[#-U;BՐ8O(>J%\[nˉii+ RYOt!nO dݕ]) ܌26 ㍔';D6[NֈѴND0P 2-q/q(*9Uۊ-Z#3Y[qJM':ӿm$jǁ m-M;KӸ) ,  КbͷڄF I-~L5E(ZuIй5ZOT=[:x5?[ktF!7r *snq;OSf s ٮYCIIJ]G*gp)U]f)0I Dz(t_s9hˆ1\7´ t6#4iVwWnC/i\ߋ= 9A$e_f)s/efU` C@mb afUR\M[=kg [kQ2ӵ̚0ULh#&_*Jlcrl8SzE9nyMCv!&ׇշa &0h"bЄaaDa auoEYpS-uH\FAFm4m Z0)oRJM$ǎ_)ǻiɫ-v̎7ey-5.[+?dM4m-xo2Njyߤx{ 1)/}հ>0Fs U;6mpMriAG]:)KC^),k>" ߪg+XLH(# JxRceKKqQ ;#CX+ABAײZr0NX0U@rA|%^WERb-RT_Bޖ,fVcWx lYhAMsoY7$ DPN$y&ywȟ"qu_SCUdQqPT8 8JAH?.(3!%Bp' ݍq!ݘ55&`d<ɬ'LIqYi#@%Ő7M5 FTM5 Z-ᚚ55rMMW`ue3q ]<'aew>(ak L8.Zv. 5G L9UMB@5+젪 v4-~Q`d0P%>Ť[Ku =o}DLe@l,#:l[`1`u \ʙ9 L EiqPEFI` IV`-{ȴ.Bn 8~5!xcDS4aL+7jE"n1jtUAI<)x}@؇8ɖaB'BhpX+[^dB5h#;"wd1lme+'~.̉`nemYɴ% M0T@Eo>Nܐ%@X.W[j- |ւݴOfMzE 3DwUsacOJyJn>“&@ c/( F10lS6Wj@KqJ.Pjヷ60}f=;Ǭw/jegq3ciZUμD<R*1a -f=nҺgI4[g< >[vU&9NošjH Iwhe~½?>m~;|4Dx9#u֠L_*D,h#i*TA;0bAG7A7w>拘jRN`{a\_7= 0#82S|b07"@{P>䑻#_Ɨw ; +3Y`+N,;3Ί:jѼ 3_OE'6#-_g$J##QyA$V[W溇G B~Aw(l@~x߇XsP)23`ۼÂUp d!@wm>e&8^) +>Jn>qxzix%d;iSк_YSi=?Y4s蠝{"@Q@9|N ;me.>vnfYB܈$%DF4y7Ҕ&&qBE#F\{8r~X=XY!BM^6?~*FAߡqq Seb{BF.N|:4rX!2pP&:4w)s~9 ~bBkk`D0I+$oAR>{ XO|plt}~' c#gPI8y˧('B@N?# A,2 0[Y.vY'@_e$1%Sp 0[UdI$hơӃm"D(2PimBj;P<&z8"&ه!sY$V#YCV&FnU6gK\=LgKD|-!2X`ʪj{07nYfHA6ٹ2ܑ?Hu"ϭy; TwaŃі@;i_ !'J vCu\`k̻m j*Bd)+aݾCt[Tywdx\?Ήd\M/YD\Q)y?%@XFpBwoo~-wTC/8hI!~} 6CE*!RW`/0Gߢh#MCvś2PF-5Pe{ۅCG9ٗ9>*e&($LBšȑ.-na%eeܚVjyC\>D`𠯐D!o%~ w9ÉOp+:m]uGW'X'mAQ=0hM)| y u _Y @d@=h X*6 #yD,#+7& G?ZjǛZ VZET 66T.mݾm[/:R64/Ypn2\cChܲhؖr\z喲`sl ]m⟡Iti ^(>(D} VZ6G [2u ZcF͜ ̲v04i~6Y.[x?0M 䣖auP™M8;ڊYf"F@D=xc"Iŕ[铷XvKQ}jSREͶÜYMlFXl|^PE >BL$zs.2T9?}!W^ɺiC>yH"sTL:^м$\Dɉ/8V*  Ə>Y#qgt``1rqc FY">dPbȉ p*x>ãv0gQzlf'oY`灓f&QA-5w*?:|q^zx(B=q*.L@SGݕ";4P3,av 4THp= Wr ƧJJ,(x4M 43,%0u q׽(t#`MHABk,`2Md_8א,~R9(l·v F0&q+i#par]VͬS2b3:|EJwϙXP`6!.޾y?}45ÕrT&VOg)<: rTDXf/ a"FfZAsgYHIө(9W./th0BH &d#ЪG }*XD-$iLU(!\dR[\Z|y֦oqjd $b-C lpJ\DI>^uGܚYI;14PJ(qaawa#iW@xzp\/£wX5JKI~e/BnS%Dbˎ ɮc6H΂퀶o@!͸)0m ;f"=GE0Y哷EeUt @k:UmOoyAZQH8zu8xݢ΢MkB!c[e2(ԨB -t:#pr);nh:~tkLi};wZVSxۍIopyشh}mUcwi|}«N(AqTxHȳbI/7^zN8W!`$y$ ߇T  `OwZ[A7e&,P&OY'?G n+ m"Thd(+ j iirk VmںmC#Fb]Xphx֭#-}q$d TPi<XkU1:%ouCmBޮ mum^%PX\>9ek?k$yb ]`%9QNR&C;"(mfw]sɲ/#w~Ү~Q(>Wn LL`vhm;h .Ze3KDqgآ[kyFjO 12گGTê2l_FU @̫ek]  ~k;u][ڰ^?ʶD'Yln&3J~GЭ(K}l Ň5oyX4xAC=Ѽf]l!#m6&&Hϒ$7!S1dspuͣd@[BOʘ+pC7Ƅ ~ 4tii>6[!"_[g`,18 :Ȑ,`+6AWKUANYDlrPjD-DO 9,YƯ Wq^43u?XZţ.3l/[IXP=tJ˲͚UmK߉m+]HӎZ]lݙ$Ɩf-Y]b|=;W~)&'Rktx o2_m^k$ǯ6+@<{[tLE_goԤLOg)k/ԁw`7V/N|C[2o RflÓ܈@^tzg`)E!e7d!~y+N>2^񎨢p>썢D9 (5ޠ&b\qNGi89^/Y8:uޭL|<|2\Sn aJ܊+ERX%cT4OEBO@ yS^G ST|)r'f@t9!$T$zƋP M}h|2=L9l3B]D- 1~Eǽ"i*Y|.2ܓZ`*xHEab#1P#-] ;xGzĚy*2+B:ͭS_BߏHq04rުLaߊFl$TQC}ϯrFGd 7s|-}W~2/̸tw)d`>˻BqMQaB9|"ߡ:%}_^ *- 'hE&Ļ30E5p7kv3mȘ-wn߶m[F[\E2?? (P3-06̵l7Pk%Qk60[mwڤ޴;w>??'7JFl*;65VwmjUtӌ5՗ϝ#p0'{XB}w睥|YCJ Fmw£.,&fUR|r~ ϝkϺ&r ܌_wexPZ՚j MR߮M(ؚܱbmP;\zWul7d߼iXHS=ݹUO%6 I)Faڕ< 4Y?s9r<>WŦIX~y_kN=rѣ6W ,wh߹lfw.ҩ%鱊jߨTёǣgb%Z(\ƘbH/.5^ljmg-%E-7D f% XVPO*L\!W͝v6rVg0 y7oY xܭj$[ J@J< @ M!γTQ[)f\S@슆59\9 1}e9Y \!WeE8:)(ҿH6%C|)a3C|%,qF9(l ‹M\ۂ<"QDhCA )B0lNtFd;4' 9xԱ~CAApɪ$P͆o۴<4Ǎ|^ӼY3!j"`nCB Fwnvmm2k鈨r,"ˋ1Pd%_lW06m F ش\P;vܠ?iOe脑x&g"j́!֛R!yD 'N@9x?ga4΢9)CT&2o{p*s*5s*0#֤2(w/jG*!?5k_D\Qy81V6[l63j\AgAKЗ | 4~@60F*OQl2\wK-ϪXb>W)Húv5 t"FCLɤRl-բrͦ!JE:{L0lj6;ǰa#JSK!|ۣ2 6YUw)?OQe»&؆cWe0Z%5fsM2&y8TMQtPA0Z=#tg ai@,Z1!Ia,MeފgR!P Zx=cRc~բi79^ͱdO_5"~;ޤKsҥ(yA5 Pv_jz{gCRR4@SP3%8`aEj/т?.U1p ڹe6=3lA!1M:rEPi%ɩ}/+ʙŮl|jX1tIdDh: Wp:6Il!}L8F >~I؇nJZmP2TB / û\OwViׯf)\dU r暋0N5ܚ+F|mxuQ*1QFд#{zϑ}K;43YE=,ip7߈ݐO?q-M bf̕rO~ C+$]ɫ%"aK2!4'4v@!pHȠ;FsL"oo ~MmV{ͻ$9\`GP1[W]WUSհpYYW.%]BFIrh[ DmY5VřRUxxi2)^(2k! kKxp"Mr0B*K FlKs:X*ڏ̪jSL6G]զl aHkB+{` +N nBGMx ]0aC(Rk3 &Ӯ}O;"R=:{:s3&wЖ-k$ r=b=?Aɴ3R+y8a׀ $0 ]7-,O:(0qS?TL(tjQ(wxỈaRS㾱`, L撚\tN O݇klxx+\K*b&Ę#ၛc FTkVNّ`ask jMf;'숲ca6]pGɺ6]sVU҅ CG`鐏X}*FT^xEҢYj|(܎䚎bj@m[ₔ(JsdUu,bC|M Z*Qaa#{v*S4j~~G_ŸED1IHHc.N/ꞚDEGᕂTԫP;ɭ1{GbzCP# ;&1'RX ERې&(A1j5p*JϽl'Eh%6;4w|]rޣn\ŋǩiOcu\|^O|ahkdtwH+{]NrIKP5Ǩf[5hh|,J $20h(6bAFW.|ڹM]'.sn Y'OwI~I E㿇lYOn۸Ag%:u$ sA\na6%X  )HһZIiiS,F (YTAVe J  CFg ڍF&fcO!#~5|GJܱSlt1O\'-uI1x5DZ/9I7;7;4z#\HD- 9e$Kh'nvlCF#c*{%@hWFӨǽHQYJ/H$zV^v{Ŭe̔&aƷ!1R$e`EZ.u+WGo _v  ;r,j`GIe! GrY}AUGJ": <|: 4XU9[7m.10OMr6oh╋`BsEJ{?1-cGk-hIh2~P3J"FPfK; @" !m  E$:?d2FR&IaP]X򜚳d695 u>wusY(?`Y27UFR6]0>n,< j"]dʳTsܞC͌7wAi*qޱ#B4 '&"ޡ5}"S/}G?o][_G;OPv jk+l 5j\~*ړ"8~#Op z x(95ή"'jRwŢ_pw2G֏gOў%(zqߑ'sxG_rTg:XMHTtOh@Ot<9"\C}P$=icmj8qt'R//AO&L2WU!ѻWf(R[&s XƹG8wRH$NiRӪ!lJgr'U Z@qmȯ#{ohV-[8/\?oTy+L޺U;2Z]%Ϩ#B .ԷTJ=epۖm#_kw-а'oᚳlb|$A?'iI8qoP-Nqk82m.mß2p[~Vţ,{ɧEsfF"<1(Mc{$hZx(@'u}]bOi4dntvhF_gwKR`AQqIOqfRXD^{Gedbx.&CixʱbnsWIpK԰)(Z<sUstm7C{>yQA:lVrjMR$a JFT3oLEnƝT[S>6~G"wj|BOhЖm5x9z6Ĩ#`ly` (/9( f.'8F3,-n8}$P4 ~5M(yKFԱa*W,Wbd+&6 kbh.=x]J&Joaj!%Rz`}-^! |oE+s6, i!M\F&5=:X#xi/B,М&0תeWN\v ;xrljjU;,vj.^h%T_ 㨎O j]2b*훘9+  /6f&?6&OM/26mvFzx,*LbiMkqG `5ǮRU6;X$6P;z!6$),KÒvvxz j2Ʊk sc7/--v4koQ_\:Ywt{(r2`y! w8MV֥S芆 >Tv6xuM۳$@ifpW` !#vwt?{G}RNW6[Z6M #l:{TAa8X ]߀Bg@ղiҵuX\ pqh+|'1gߣ@m,Mgf;RQ-UJ;]73ƽT f0 .3Ѐ]˳>iLm]gs.k8<1o07,gY{J]Վ{Xx!X1d_ x $qr>rg)|ęS߬Pot'.hgE ?EC1B= 0r<q9.FQvPQ(//.F#TAw%灡d٠ʋ,8CBqnd <ftS#'ٕNpAx?|]} L:s @:(jgTq)+tGY\%x?< Ej Z: X=Y;਱ J[ r%; w10T#tP A-veeU%W(Jai8g2>˽$J} DMoZObG.VYsJA A.!JKx'x~ Ĝ^X̩S0> V8h+Ϝ_F yz ]C/,#{ q/1}zQ<,_Xx"w*;aI.en0ci ᪺5s^ r#cz rǁ^ EJ7RB գo<[8`Wm% OWoSQ;[$)O/8 8ow)~Y? QK;'zѳvtl}#h;hhCWCLS T5#U\SK})s/^ndC|>N>|"a؍dXDiK̛hWVQGsKWIL%%+ ~]P֔X 3bcouѸ^%`A\gp/.зS~6ga8y՞d~Y{G_DA80H6|/#PJ͕.Ch!m8k4 =9 ЍNVY\Ŕ@z0MNUvK3ص;@>t0f6Y0Ϊc E#=~~0~Hk;'ַ̤IVm):I9?CA /E<2L 0b9BsYRf[X\]\9JvYbف@numpeXG]K mhm&mf{v3ߌ;h`4sJ ٹ[<3I׋Ӂgf-z㝵;zÂ|[vIʎ a\J_ cuQ(^bi4v#NQ5SڅG?z:Lمs -`7@wkHܠg wULM ĉԶuf߇Ip=؏H  J;:]C}1WIۃ@}˓0P8͕Z uhJxڡ+wlT/Zjf*\k rf;> b-hوwISi?PMu];A|E^mOUT3 râgZ6X\q"[ <&#yLFVgFVe4`Ifa;m9oo-ƁZ.ٹj`=I`WxYJxnngFhCp9Kp]p  T4$˼Ib-r݈3=>*a\s`w|@=pB3c feч;J`{ͼ/ح#Dz* DJϸU7+NJ=~={Cg/<[;{~on憿onfbROI)R=P^AdUBѴ6̏H!㽔_/S9;Ҡu bsiOl!A\v 8߁~廵{.I)c{_h{_1ڧbˏr/{d6"KbHƒASXP؏.Q# 3fom+{JFjs֏pScAlXWs  Ǡ#_eI\WL A7\(<¢>eSGjN$E@YdbNq%k_/eyQd6B6fd,wTq=⹷puDʠKb'kI q\HNEbr.7:RTIķ{`I`?sq(|W9|ԛdA5>Y g}a9{~4~NgngnycMS+;׿O."Zr6 Tz[0[ ^K9wlS$t `d?8US]Eb-T^yyz`z" k#_A1\ =4'ElF'hqY ^=8BGx`qP1fl4#WC 6WEg)┶𓝫Q]^MIBNm-9_/ U1) dLS9(9UP`bڥ\$ApJDs,ġ |Y s h䓋]nEb?[>߼X2?eHg"YolMi'ȟ?O4zs+wG `d\l 8WO*¦܎5ܿ\Sg 'nv񋖜Z4"<Ķ@ 坌qP踱g±\UItO`sG}s l+j,5”F\}{=a={agX2[# 0h3L#&Bd: 㛯Th^3v1΋F?2ِ25Y bW1yPEK%at Z.(#,TOM@Uݜt޺zv+6B;J$)%ip!\=fPTLjKqJ? iQ@!=kl*UInV\\zDu pD'ySgioJMJS։UI>aژjnAѕ`fj[[PWmONToMQŭ@;u7q5iFM5JJy%k!]ZEӪUt+ ؏pI+4`S4e5V=Zto=PW~d{cخ{FO $Hi6Y]% oj8}%\/ WȡozJ5rnb+'.>W wH'i6cg = {.;ζn5>Ww9Ti*Saɐ* 8DVVŻ,UqS/ajPZz:1> > {Q:{y4'^5=  !U-Qʥ1H[t[/ea~ryt^m_koRffInTsվN뚜?'c㳧aj'Q)9fdDb&'k˜pzzSM Aq"ƿYck)"\Ƹr8#]fu9Q60^(7yw녁*9,IX)˩nQst DC-yg`o}`'Y)%u^10q(t>tiK>mce?~0Ia/[ͫ_qW*Co .kwaA۶•x6_y.hbV-Lc/+%j1 3U_}=96t%hf3vA8%N/>ߟ;<=]+<_Zk}Qq`vZ,Uk;5t]e" Dѿ fX\.=ܳSyO7\+/"-^aSvweYL5Bg$іBnqk5=U| 7o߼b&kWwn^K=A@.m\:H~{=Nj{?}ehP!tD@ "9° b0N NoWh(q1Jl/dQ>pgH*vS[:(Chh-}u~ff>S;ϧkes\&0Xn|3= ր:DmHEZNҢ:J- nO22WO9KNyK'ԏpXF!9# "mI3v;kM#]=}0+~=B?Qg$ +C8cz3${V@`'S !/RĕX y'J[؍_Nr 9Lzn*^򻅟;#Fq^{dTmO$7KoU  .8tH.zU\uXm™rۚZ6Pߘpx<2\!GKBA(MHt[<ϳj4UNWIaH֐ޢ<裴KHF^bjO+gApT(HΝ訨<1>VKm͉&"%g?ki!$n-@Lrw#t:Dl yۇ ;}ϯ!!|Ue\Br2 8a\hfpU=yꪏ%s}Zqg&)K ni+:N,-zkXK ]F -m&:4AuRwY,m99Dĭ$a#-5D9sj^\[qmu6`oFO󶚶^拶FOsjحZEy[ͺT}ٺMii kwZjpٹ(2cܳor]߾sc7m "r:' r$&p Gn1>9?5P(Re4*"wGֈd7N^QP*Zd 0 *,uh5wjWy㨉0;\k2%A2z7qr .8z:VwD!J] 5^ЦQ TR@E 1)<[F=dp!EMF9rٟ5vw1 ]FCkfaQUn-2oBUZùqMyq+!&@Z] d u%.6- Eýd3 ΡS.VyEw&$t-*@\zCu$Բ[m齭 r8[}2I=s&h>ejNRV8 Ӈ3Z_WNPΰK, Lj6ә457z[<y @(s>p r*(}I!/BHGK\`L_GZ`ؓ;\ɤhmt{ Շjw\Dxٳ NqerPӁ(gã%RRq 4D=9 I$KϊpYA~tzoMzc{[w6Ϯ1rv9tf>è1|.V)6;m.v5@(|OnL`eNF-V=Lo|3N F?mqapP8"]Lm"t4&)E!aR,5iP.]zuV׌q}JKw:HnDHX#p'$g#܀CH'Gou֢ic!M}s?iǶFzS}=FHFvݠ)J c2ۏY}cGTCa[u=qK'r5#{ F쑚\pUDLmlЎj0|sPɩ(AYP/Ɨ1Uv*('O䀃Eqt˸L_)E@`]a :h\{?CM]j8A 35ל^_[3WWMaf_7GգKzDaϫ+Z},R'uѲ$gxQ,1|_c6.a)PAy.͇3Aٴ~mt)J$a*݋5jw7zpۮ"bxHF;V 7[J)KwO.YV҇zL1E==sP$ݺ~oc[/XKQ`n Z2@? MO?k cXԬQlܞP?ΓDeCUjK)|'omFyDȃj\lYCXiZNvPj/f8\ ~*B\`0i&8 zIr딛dΞ&wSN '05Er7=*m*Ⰼ*TwR#Ŏ,_(7oٸnW"fZA5 R7][eR#_JM3H7)t*un;T ǐVHQQ8hzlɺ֮͂v ~en~'d4'~3c!xo.^4~'<{=g}ϳSY߳d'lI S52mOAdǙUwt GlGvJv^iӀ'G)Htⅳ mMڃlb:tM |=/_ Dhvʇ!myɴ#*<'MP_mn\<5+??ϝ[O=%ks =s;[i>ID_ KQu _O!\ DJ]$qu5nsgF~sϞo?7{J\OHs.zt֫O@MzMF%Rگ/2jݣU6nѳv:4"xvGzq`zG%>8c4t?y;5ٳz:ŖX1㇕K@{F=5,.RLȦ<]X70 ;rbء"oU$3Q\CA+&+y}.ScB%V&D*tG_w΂^`mˁX2g͘_ p=\pPE7/b %YE +\G|=%lwG*4d>{A#n *3wf ϶'`6^3 Sm't{>g4[0g?O?P;˱s2L 32)XYoͭ:jz"[߭EKg3p:s7s{7~)z7&xԵ! _$lAp<_E\ r*s)!~mQSFt N)y rL-[ .m,H/pט (cYv}gD"Yb|QD*@ZTA12a'o_,[̾BZ؍ẻiP@ (S}?vM;n~I֧8s敗W /|q"Rvve'.()z#J~f/*Dw8v l^r~@hx!iQ4Cp y Bv2.5#/Mc* =[_ sZҁ!:YuܾBЯq588HR E8)ۛZOo@8 d}h-+Fy_{qfjwk^2Wl-,MQOFO)4%n0 |i3{hiEgʆ٢PLq_kwփ\,7:X;7 lb!} ܚ+թ5쟾z4-b)g QgΕЬyӻsx++FF]?hyx#P"W :IeM c% [3~JI]l=vA&0ulzd:>,LO|mC×2aaպWN4"! # +v$ų}L\9*]Q25HVn #3* [̗.QZTo,Ic |@v\/Ɨ/{ -)6c;q9+#G&L~[.F/\Y9=w+.vWҟY,+<[Zmܠ2hb] _ڔZr B2&Bޑ 9ΨQh]Fc6 ZKOg|Gfi3cV;NފӲwl{CKZa+~ۼkx DQ6lI׶3k>.j6:Cc1|O,֒{fđ9أ&Ȉt|PSon.o$>1Tϊ*d#;N?X~qٖK`jC-U_ %>B:hh+4p=|-&gZ i(>h_TqŎ}{_&ir/0s=X+YYm׫`c]y?Gϱy4@4<<֯mܹnN;}&h^ڦ"v3>>[h7lljۼfgudHP6 ̌f3;t1mfDylGFnfGFy Dـn vx7oЦZhA_|rOI {hn>T7>byb$86D@3G&o3:=hU.0Û$ uNi5ͽ*^hRiy1>Pf L{a~ܼv=W^z1xW^b K~{u3uZp-=A>|J# xs|{eFϵ:o3Z^AFVJ ysGG8 n+8@I(+.#;cAܔ K8|R܏͐eJa(Q^L3YGH+sڊ^9rijoN<,~tPF2A LL 4pud\E*, 8>CU;jivV\0(? Bx!bbE&N׀: ߖq SbF{kG^/ť >Z`X@߽YZ\s˰"1`P]s05;]tX=EWXޢ_ ӑihxFQ;qwifvzb;1N;t';Y}# 3aw1`Tp }ohcH#ÛGctnو-x0r WFEs*ӜFpçGZH0no´ANWde8!LC d1NL5|(Ivº'DTT@8ޡ @xBIE͢V?m1fafClC=a4;6dS3Y %f%b!ij4s%6L&)S*<'^O, :3v$̩fNҢ֕2X/0R"'QYn.ڜ%tªMbɾ6d<S=<^ǎ-ABinTUdч|\e7K˲<.$ ec/Q1u8EZQDS B j[l)p(G( ÒǨJK.. E:,/n,: ueMCZWܼp*:h Edmٷ]<ge\/L!=(= =Z qh{ۦa dF)fqҢd9+ ;R$Uh0Y4zJ)pm؊4>QNAiw tYvlV.݂1o bYˢ#]6eU,n.4{1:M y>-4| υYqaD`A},\k}63G9͡yuJ\hcI":ϴLhȐd)s?FZ"H#(c/Qb00sr6K$; 5"Y2 {@.|{e+^Y ǭJL 1O$tːܘf,`J6On`{r:<*C +蕍[7-QqZK6,èW>g Ƌ*b(R>Ye_Ca"Wpy%>K4(1!n5 Tk2! é: /<3T[AL#,s=kOy֩Q 1>HЃ3 }  1j,QܕH`(|".&]MqLepje1efz5&ޅun567n-KMLir(32 tZAg, 5 K^&.wh;V]EAWhB'=E'g3= \‚3N &bqmni{tx@}'60ĵb#WP Q%s2BCh %ۉd|vרζ7U61s"):b6j^Q)/{e^ꇗ22zRGRq.u$$C *o`"o;Aq>uO}SyಲVsJTlG26z_B7[Xh98 2R2,]r [8դgD("G$E*(Y@>^s !/%g"4jL(Iʖ09MdR*GqAƂrwu0{-jNG7&T Qb'L\FEI5`j"~ҳxk#%$Җi K Szjljfm,;lg\W^x8"w0wPԞ''t-dWReaqcOu #*>DqՀd9f2Jm =!2ס!wN@V9[r(N,tWӀe^rPB+[4 ' iil6$Q(sH ay8ƒ#fE`Zٰ"m !:&Atˌ/6m+;RȈB'miPxuF} -%Z:EQgc2yF_cP#NL$&f("Trm#R]RN\ڿ]lj6XmUL_4>zvTb5^]dIvbu(#u$ &HduiNQY呖K;ASʒ׼鎰IGvjQɔ؏lú~v0m֖t-^.64c%B풒)ޑ}j4)I,y;+N{:6vA;n߼Ö[zTԛzaք:evsJGّѕ ʊ3k^ܚ쒦R5X i AxyS!J<~Dw2z{r[J|M*l}bAb$p$7n b3'!ˉйpb[_# c[E1o+yN ƟQ mvWyVA!H FxAk@ |18 Yuпɢ(!#:y:XjY a]]4&'ݑPA=az2QTQu<^%Ap# P"e l.#3&(#BӢ^(0%8?I@i}^&+!BۤT82ԃ`"1ӕgc2rB馤2)<]n:]\zWꀉ?̕mmF|C#de;.xuPֽ;vr/NrkhVo2n[0*8[B(m  5p6G6KVW%na`buaՀMG2&lAbE8Qr#ְkr) Oaݵ) ޣ 33LԖeV-ܹp,,6J2B"ڦXR{MUk!o:"\x@g0գMFw4ѡ$$@t1 R(=v9ԞP/,ɺE%pg"a=Q& 4:=n0$ɂP31ʜDۢu.C-Oka繞y5m^Tp%`mbnctoa3!&f'3u)dv@ u1$@HuRu=47eF@u~*JB1lRn'%s%iDU-,,%rm١א. Gz)#G# sMc˰aZSR3 @PtE0a%_Sx"ŅU5sJ@h J(\0S"a+ZaVP Ȑ~{ER$ἣ1#j`@6"/B(;2L5PVdU.Et{L.0Rm0][%w]|=Ю,Y E Cve0gCjvK $ztیVIBi;"ZsjLIՠQaͥ3}.hrncdK< ܄@ӭiY>]6z\>\t0hZ{^ߎD|pZqAqq\C6S+)iM;l]"{(t ?^i|hUQ }:(}Gֿ1.!¨_挶Z#]J9\E &e9I&q5 9[4CɚO"x!B1L)5,7ԡ^%+ :Cv2rj>nZf$ج92u%gy6ECcC^FiW^"_spCײ@_ _SiӒkzUUpV&[eW,*vE,{4!Ȥ=q^fLַ}!Y icZPy2m91UlH.X?nAeTe(Bf(cʱ񾈿׎`cJ$̝D%\v"fi5\G8,J6Ð`CVW,qFZ9p\XϫhuS2&g:)Kʟ] j͢o#PI}Rʧ6AځcoN,Q,B8{ˌ>6l#{ƈ6'̘^;N09Ns$?E M%>SJ|ԥaClf&Cea?&IJVVz-k R:f xEreW.X#C8y5$J#ʌA䱟`vVGw5KQW_X. [`(:$-$7] JWrK F ƋɐvZ 숯tG8x&䄮qx488Bi}U@80_J 6f]iY12'QvP.%SgN n&t,q\LоCm^bx/tB8(őC<ӡk}D,z4BDz8Rpl jZG'k sX}$[f/ڏeә&W'C 2@bFcSLK` 6-"c9SMTVj[?c}[,ea6R[ MC) ~Hpv!ð;Ò`ba8ּǂO!'07 .)]C;(FZ! ,JKid - EmZ"K0Y@=>k%@R'7$ aҝ? b밮K*-sQ╷ª :dhfZի77Y|d.Ӟvы{y6W(~0ojON֖vwE{ hY?܅~PƠk Lg7wIюm3Uםm"Y(/0 "[CE?{}AMʐ)C-uv b6 |bPϭ L_ú#Š~_vd ?Zn|yig!eNM>f]jEaJX|9e\wURvﰋ1*]}{*cC\pT9b$cpVz엃t ?TqV?w{-4Fs%1"D;Bue3BOu7ܘt<i23HOZr!_1$Gsds.5'>Q]n [}^T:ВO3-Tg dGn- M\tJ8(l.t IJKW7׻_VrQ&(c.}%^K|%( WV ,QGr4OjX@ eu*viH iSA>FS/4.n.?6oo~~ggW_>_?~/ѕ?_k}?7˿Ϗ~7?_ޅ?4??/?pw??o\*y|2o>{;׿` ;?;~e~};;~?x_{7~~ӃW_}vc1ŏMu?wcogߺs/^G~'?j[+^>7oun/~\CW?wo~uş?So Km߲^vqKK?}>쭿q73? ?k?m?+:7W—w?g|WVO?Ώ~+{g>Hq o]_5X?? ӽ3Qswg9 ?l<9ITD]Dg"h_+ԁn),R~E_%;2QߗBphaؚVZe8&}eƿcP s|J=7rsngn8eC}R/XD]? ^sr|'@Zv"*%OF GˁҔ1ج6&0mj]:Ϭ4G$n+|>xn ?|*?]EY2Pd)c?۷wNyf!m#-V&Mdǔf66WO5E"4 &krnZeXL c=8Iz9FboQh^]AӾN\zl?VДRf+n-TnM)b$ʿ{mb$ ǒ;x| ]:yv\ƾ5^U*m?8 ŕe@LUurh|9T[{'2)K3F(WTʈV/6{kϢF@FrAgr\f$^G0Hu ]6":DʍVIzg=v3<8]Z(j8h,a\Eq(7xF\zhOjr02 $X+I ?V)Xsڰ 73~%`dHt`Ctf7m}:̵֔ yL(;p38X}&e* @9GlQJWo{$FV%dDZP_/,"_hf){ M\)/Bzv4Ak0jLU6-57:')|4Yt]ɝj^(+9O˳=( 46-SWɏduT[Gx019i ;øKLH2<6!hy|tգ0ge ]%ԱEj`=-HdGi[2>[< n M3z^'wDY:HF\}(2zx)."#hHԖ,:o4 o7LS[vw=I9O7${\L\NtEO:R[F.ecb4t)JzzƜF&('b`+N7dYMRʼntzEU$9MJo 35,Kh\+l,}C)f6QZ]~gQTjudH .(ѻ;BűNI&^0ӹ!g la1dʷ° 8c;^'| '? _H%v՟/=3U8; [ZW}ƆT Z|MUk 5|6 E!3}OG3fc"fi,p*olŷY+3~Icrh̛{wI/"#vRmqȹm+(c,ý"x>]YJgsk@fK<7>tW A~Qr7ޫ􀸽QrF K"т^gIX+|5h]\oilntcXh\F|ֆn*ce(c%mCG+}_}qB܀^ I;KeH%NEr$*M{3IME5g9L)u:h|FyG6Bx~[}bM+х33G0n/"4#X~cϥ+r<[i(H.bi01}y;׾B}Rf[v_dqdRHIQf_ܜiw^ggR_L]bs:H`V_ߜaXi'TE¢ PC2 ;|ZٽWvCn Zu۫{l{g ДzzNPUl\ Wk}|M OhX/&Dx ]=&e&4԰;;L}FmGɽ%ť)qXU׶(u\ik& ώ=PH)zԩ;JOq 4 BUY/-dHLoor,@vh-p_`{2]*cMǔ/l56ZI7sln9 ~6Sgr]lDng6:_RMߛElU%Χ,:hZ l71ڮУټT8ifZ2`ҎSny]Eri wmUO,Rh\˯;6[."v;Y9EW6mQߋϗ(A5xe!p#`i(c['M0i_C杤>T(2R62]j[;s~7z ?$Z~Arx 9jSdoO[!,!۵QA>y[z;|6JhH.Z [cw4 6ąڊf<|izLň? qRXۣiR>~(xMLX, Zĸ]fyj9[- O㷛3H} & |{.hh n7ӃFN6~c#RR,W;?;?A9V t914^ˆN%eO 8${ sbfP` \EXc4l|vyAl6 'Y5.QO{`}iulh<z_PQse.j2T]x17Ba |jt]CI2BSngkS xOࠧ@ S)`FT)OrL>J&T1+} F/q=uij.p!xF){_C^8Z5#ȏYC`+YH#֐Pi0g?Y (rWJIR fDEsӱAr"n\cy32 R6 )AǁդaoYF_lިg9ސ)*U+ Ȏya#[vt"=%x:wLLFo9WKGnA G4aWQWA$CDgŐ2WߛA8̣"tTuҵHpj,+A1!Atv[q<4JR䛆 Ŀ  `Stw @c~FDoBwcڸ^00A >VY?r`xf9aj, , .eMMt2A+u` :JP[>0/DF "]JL ˼&yjp>lwy d}m՝*.TA}D#Jb0Y|;ML);)jYhhJةe٬Jۭҽ>00tGzP[ {W KbgA+ 7^u 靟 .φtzg0LБ1ӟS3pB{%|\ZլX3mu$m9pZ0Sk/zuat82*aƘUpwK+~ȈJtM|$KDU|  :7GP(DQzt[A5Ds`- 7߲_`5E0Zg)5{aCREiѣzu8 KatW> ELpx7:&/ؔP^n_i|&VY}9능{ Ojh(rqc۠jR[>2D^"ۆ;J2&=>@9DaL>*I\=ip}dF(L-5Wc!XCj%-rdVD-ܛ̾=X(Uur,~"¾ᒑǰiG}+k 6]B{Vh(_B(XYe5vgaG&WEY.l""JR F={ 0\Ff1lmAmh6 A\)^ējp\ѷY RGᚮ'E F(P4ϰ1law`pV(  gڌKPFQQ+9(1U<()2.a"(8Y$~EEo+؛f7tlQIH}i BpwxAK1!Jۯl}r@J# !6|p/̥J%!vrQv gÃ;_f %P[d^o_4*3Ini/Ja .wKu[Bl(1Ynd׶= P{ʣ:r@OxsY^@8R:y:=LN~r섚8~G!FU >{BE DXᐇ] MhгxMowh&}PWA1j?Y[Ň(nfL"Em(_B u^4<\Hh!dmF*#2jr"P)Yze24*:*YXŔÅ1IRG+ HQư;=EQ*M+g! A0*͈UԤnuG^]G-}K=c`ZP6M=[[F.53V}+?aW%1x)SpedۦhO4X(ސ`c8 ~J". !ym]lSY萯BEwC!H0`_,]9d988*pf ڈL i`4': /xtD Q%_- C;;; '@U_":˰AwI{z $}@UBaD:Y3zҝ"H JBH"hV-` }N퐕ey!B) |[Q_cORGiĖKǃMF)lJ % 3P0HkԱҫũ$Ys1wf]pB1xּdm]Oda[ucܭj#KdB]sjP2Qvzjr#ŅSi;egz=އuC,M40|٤ ܁V7^kˊ0us޺ -*eD{Ӳe'&zixu^&6I8 +u0pҎAwM&9U;ѹu{sV/_P5Ƚ;d^URMx)ϷU<^  cRRK{~]22@1e{Cf;_bQlчASgދk# zNd6-d/C Ghgd[loy'lOI,eU$F/LAsRe$p ,3p9I  mj+{|;{s+G< y VY%sᕏ~#V>r#G/|g{ /kgas&ʅM s3N~d,DT~)?8uJ p?(pBdž~x 2CmW{c#L\p7*XHCqPuOp 8m:|nn?? nfҸmvoZTQ1+X BhhiQ&G]㫧c|S!Hty" {[]FEy:yEH{Pd`,靧8icω=pQ`V1Ab1v'[cԸP.%,IȺǢLk~Ä#To) 0;CU^{%~/ :00O#zxZ7uB)䬜p(O=g@]O&ckӅýPZ>Sصȑo` %^1;hԵ:+cGw 1IT3oFyE,AeQmp<3 m+Gvs Nw/[G>$Hه?ۤ+%.vO`PYWF6e%"<=S|P+/|HB"d*Rmd y/bR {.lR:=l_M 6g#9bN9bJ܍,0n2rEqq5Rtt]Qsڔ):f>o۴D(97mXc`re" ;q"V8ٸ'.rAЪQ)RN^ת?uDPK#be8_biH,A(W0G򩑌nPAv*(ᤩZ8dr7Ix|(5aX^T"p,_!$Gza"uFn/QFvؠ5V1JYU]g=y#iRH,|R @+X/ۥe9e/4iIm#qQ51ϷT' *CfdclLb Zh/gDR7,h=r,bJ ,udeI`/KP"'͛CAA` 4Q*NC6 UdN]D GQ~iyҊf iia9#_!BRy/.רUqf5O#Snsd-$o;Cm0a>`#MBik[NG[^pR.*l/wJGߺZ| 4z;\~eXlVj)]Uyd ,v Sϸlo 3$kpK[*R^0ZC6n6e`fVܕhS[Uz1ӥ ˂Zxϲkum Kw?Ӝͱ߆ {߇QB'^{P| ,4O R ANb;d~97JDH&O^xF2RMv$G4 L@ve=Lʘu0OV:rp&mZKYRl\mh ]i@5(7h(rb>UqXĵ RϝsO'cYOjcp \X-/}Z춽P;G_߶ SD4tE\Tt Z PщLmkdd/.x]e) .,5*70k9>rtBo]Zoc$Gd~]_z e},#UAJ"q ٶ5:|VGkڅE<74fbӱap GUҩ(A]e]g7FO0R%#Jlm`rA( yRr9݆ 2 FuoԪyoS6N.p I pv35m%]eN+GM!fVGu/-@N;omCvڍbop+BNs|ațƮacW|2C$HaaW%'҉Y'IgF&y~Ff}6hv8hQzTͲMr $QrdTlʨlt;9]?Mei;߄SL&rdƍr(!GwNBZBՉ= abkևp\t I=yH^̡dx^98vM`+ g}ށ2bmktf" Όsܠ/D19إ\7Oņ$D3邹D ül0pҲjƅs,oεw<|uvn~&mEÕ q=Ҟ} Yju(1[ !vq:^F43KZU>oi.ށIݠ 蜲PpW̉g@;mv^-5T%ǻ%24ۛ~ +_?zHFNW<Wݜt6dlS 7ݍ7>< 9>5nG{yG`XLy *9Z!x$t)aIJ$+Lѵl#vYS3|,w}L[u40?dv 2=훛]vg:T_"ʬ{&"83iaOXH%~)Rθ\)(.9l^$jnG,dVW6;K;T mz:iI}7> mWi` _Jʓ9tπ4/K3t9k{ QixK@v x(e]f5 cP NEEH((<>?hNliYصFהTo1QhNANQolۘNCEh+fViX\3K= N2MV!Cbg!~JIriKLWrJS!.IFh+ށ`G/$F(Lt6c.Ҽ}$)U:q75fOʵŕXD6E"ԷN;l{ΟY#kL)8*ԋ wV48^IasზQQ'g,Ն[dU:DKCzc8ߤl=-6PDYU+DgRąfJrŰ( Z?&,7DY.4A>-%J 6q '-eӷ:BĐz6m 'BJEJNG[ %wj!U!܋~F[5YFRS`lM Ȇ$n'r_t~ {blf2麡A6F-zAp)@ػOZ=@fT@_8fPmђ?N[H4YyxĤ8%~UckmH ͙O5/LXkZP ǩk2}lP:lKwئ%61^=oa# wAH ab IU=9m&%>:d9tdlV $_ذdt@\@KM-*UuvP۝Ilǹ}A(QP8*7ij9by Z"dZ"lhj( Rj碷T#m"aDD+(ߠAՂ:l=DVGq(JGrb`~xHvނ{!a?E:bm3!q@PW'jb?֚94 :/xeԢE6p& mt}0E_<·cCs<<~r*bp֝)? (y`%m7mzCRʰ}*']@ .@fNDG<@~ؕM>Fcgb*>'{xJ?(ix/[S'Di{CBr2D9{O bGn4 }1XOYȁF7Q\ qjF02ŊZ*MsGx^˧_0IÇc VT"X#K~XrqdApнO wL51(PÕd@4h ͕om"qnq` #MJ_&s^:uҴdl"օmղ2%L˔pX慢CԋOKQF;Iݶ݇CQ=Eg! w,l:+MYsojV_*HV*CP-vp=a-# }`/vT(^ FHlyjz:Fk\ar5.'ږߧggX$8ZWfB~3Ν#z($vp[uXobBB O:6_"ȯ,Zox#L TzzX[r7aqQ(kAM6D хRoAHg.,(PŮ1uk=/XJ[%J8EPblƺڼ["wc،/ݺvs;Xz<ʖS,V+vJnCYn;&1O0\[g%3h[UFC~@ORi}Ɗǁ5Y Kt%P6|CD-MSXF}ur5ZZu,/m#ѕ^]Yـ;q,K-ԙx.rD -bIh6yRNji+)y4N*ۅG:ڐDF*7b! ubIka--z l4]N/CWāU 2Ֆ^{1ٳJme⌼?(w&$ә2/m j 5^]|"5 ȗLF> sfLA K0,-$.kVS_T֬:I{RMM8Z^.$6ўHWSg0j!˲KNiQ68̊q|d;V _%Q. {xnZ'G|_K%'R_aF'zX~)DzaSv%JdFQ6$0} Z?h9qY|gHD-Ԉe(96g5Ef]JH4 PPU1jdUba%v'WgzX 9\Eˤll7@z3ɒC̐d8Epn ܛx4JYXaע~ v;)! <u]u2 e ) 5! =1nlضmiqzې0̘oWW8s+ ì%~X vUllŋ G1%:;.P{(?Э(B@ZPԕSY SB, 6 n,9CVʏv'C_,|pX4؉ 1Fkdi!˭YGIRyѦ'L# 8tԩ ηS[qҪH7nΣIYq&"$XCa {Jyi?]1SsGkċ%v!-j8E6Nl_ z6r# 7pg a B@S*PzO%59Od74oe=T.JW# EhAc8osvTVs\cN$ޖ{" ]G[Sf6͐xk%k4<~4H #OjkF˪iC8|JC.޵ɤn8ZO[ [䷩hx P=/VHEk%*8SC`촗5vt{9mהUM=2(뜄.aJ rmf{ul]Mj 71gIxffl_=F(wyΈ{"d=RkQwlq]FLjM`qQ`i$am#BkM=@ gDrRX7:~^7* NMhŗX9`lc7AfrzHp^=Gu>lLỊqOf/Km$~L1$%-td0 ;|}, ccu)H:{Z=jaqh|Srh8Ts0=F=6#jYacV:ʹggrmVpF*F$kQ ӗhbbyOdXwVF܎O8nswq.dYUr[UQX @q@oc ĻbD keNa:#E*2zEctvcMпa?-?=X'ES9~ >- 4t?bT{o^d]~ٿl$~ף|MBP/Ɨ.k 8nVr[YE#ԭ&Toq y ZyB._ RX΃)o!zye5?gm?*|T 9Of4^\Qpz/))|iW#zSɟJX,;BQ4@pƘUP$2"L"erJ{k3-k.yg\O}Ń7` {1Xf7؄q;l Y%b'C>)6T@DJx4ZO,=RP:$n^6gM)GNpXw >84֗ujA .CA 91`hAqI8gpyc`H4D6 j i~ n?4 "H \he[ H7]]]J U;|$A* ,t\!Q[ڔ]5eqiHzQ쳸ԅhw/~뮹)L9Lt [XVˋԨ/Qk Pĉ]DGbʅs9GZe\œ9LdAo˜jmd7٦ 3#I9ӱG0:Vҁ*o2"8Ff8`L% h~HYL&vNDlz>tN2!Y+y&n&]{7ӳb*$, \nEaPݘ+W2)f*$U WT%L˶:|EavF&Eox\ym5qC ^rVb?dV< 5iY&~BDLʙ weK!L3ģ5YPpC;Cz >RWU-Ee5Z;I旱ALT7=Hq{}Z񹂼cwfh&LJb5̵̈GWZR`5Bqe wt8A!`e wvڲXfAzYe*y*EL%bW>L4$ !#$$3e`K~DdH$=Ok)2>FC]FxɳYG Y"iP{%+(HȦ{R{A{b88$Qgt7J9b7Ø3v_èyG8G"L#2>E.&4nd$T`EW]Rx(M/V`md2KLgD}d96q=dy"3 d[mcGjǒqNUQ)Q9|6? QBu[ xz< xXJAm@Hq^ Pn( mc,fV9bb @RgD|N+W|K½C "w⫩i0&ST`hC ٨BOJkoJJhW5F`c?dK#0m܂֊o|6EV&?-k'i@|k.)NltPEܫK YHȀ؅c4K &kрErjd̋oP!'GalRpMϠ# s *aF,(A٠I@93A"%I೾0|VY<6#o-R"IR%92&>%V?mE_߁Tisui&Vr~l_y}܆X.0閃H nk朧%F㜌"wZWl r>K-v}ohMP4 5L(obJ?ێl;]؊зD[4`B.]R$`4wnFw0rς-ъ)jR=Tֺ RhkJz'2&V jCaN&怵bn^# GRK 4V[YR &%^N3o971'q7- tVpIEyZ坼2i$^*+{zZ7MCJifIڪsdOV ,seMhL-i-4Q;U(洚tF^-a6c{t:]eDpG#8pHf) 9GZlO  Flp1?Sm9Au0hYPuD _m=x&E bj' }*,T߶Un v'/t`=|k|\ OX?,LfJyno[zNlyشnv*e%g-I: ΰG٠>F!sg k>S܈vfqzDv"-DEB06M-*Ck[5h)ք5kY<ȟ5)Kױ?IП {k.8k~hf@@m]BYa~kCwA#(ƠՄk (RJq`jdKX܍|kD݆\[-csWq?(ұџJt=I*/cm*} _NN\0MU z^|Q1S4Mb]3~*]@9ɃR ($ca[?a h.?4b+8NT`QKe_F# tŒ%5 _ھ^WBcެTt5.w6{{&_d׽J`3< ًFRtal3 A׋ ؂oժx^ƨh¾nӔ!` t_)ǓFGِ_ LyԶPm[MUݟ4 >TR"Bk?L`A&6_<_wδEJ(ڇZN?+ q4 C_ 2\ Ӑ$(7}=ta[_}㰰^C|=FsXx8aXiNP.:n !՞񌨆ꚥ(6BI0cpDw4mK^@ յ= N:(<9lu0|g@5|Q"FbY zN7f fROzFmHu&dx#fo%]k}I ӡ jfE'YˊXv?vYB& FcaU&;Y)Ȯe=!Voq<*4>3f^q'0)o0 #6ji0HYO sR>07\x6]z1"u-S\< Íф\fjLⴏI{U~pZ)Ȯ0>y3Srɟ '3blW\PaI9U{^Lt eP;"[8Û\TڐdZP^aml7H)y_6Ы+)K68~nOQQDjUfʹ(eT,yFX|_3C%<)p<`Csyy "ScL)`B1FOWZ:HRZ/k\יYۄMv{D,T $E@B«Qj$Qq+VEeMX>DjIGE[lM p 7&b'b cWY 9Gxڞ]8 -*<|,mKWf®܂de+jQ|o`2f(G)nI*S I%JQRO`)a] OV߂qmYP%&q;vo\;Zn=ŴS7mʶA1_§b6 >PQJL>)E\Z0@WH:t\^滴+G@mV`t G?iH 3dpZX;e1$~;I'ᮅz?93+JAڈ{ _\Udi %Xd!Cu"i4H<` >\POګ}X~aE3]R->$VډS.\tg**nu~Pf5 ̞["qJ2 qti=gMI}g* zB @L\M2+)(Xg 20fn,OHHVh wG[P='ZRMmP݄g OCxn.Op^Qa (rKQ 3h&;&3a8}OnkTfT 뫅J,ZIYFu:&b8+hQMn@Y VGBBj*XLYk   r:BMaH%bć;_zSD~nTIw=?18;o9ꩆoYt-?eU^SM YNCHgbjs\Q8MX *oJM.oj:`3I]imB3˵,yuSXdqSBuN zp`)F[I1 X:CD"E"zzS2K@ә,q''pmFqj%[vdظf*uĖfMNA,cyuL4Q;S"jM,jæAIKT~ DO;%E]s&B7lU kOa0 ;V@ӀIc/ Sulr "'If*V4xxUbqYhUԦk084D؟9PM VJ1uG&KG0R!Gwe 01[v>m&+1@u2:i 2CwUۭu}DAIz[F/dA?Y5<Ɉ/tJGPL v2"H.(rQ:%Kin[M4/<I;\K€P0%-+$&|d"l$%Jh\ez3GzSCm^9 Oq9i"f/`t%-MB5RUW̤ה j:}.: I9pa}NgS U"R/t_ ^!1 nG=BÅ](:Ab e$aečDf'ҝ_d! TGMa4%EhDE?5Q9p}*‡47jmUȈw}C|%Q z"֒ Z08P5`*vW1j·BW5h|Mi)QSPtSzfVUM22u>myN}S_Ε5==ԘFmAҼNή<#NYjyts&{3u+J`*ظc3ꄦ3hȖh̸6|Whř/S]?_Rut͝Ruचmw@˗j]xzJ ^KZ8uPH7IL] !-FY4=mNh6HQy0YwѰU߳S3e(Xz4ܮ܄P3[wTꎺͺK;NQ>h 1JegP!nWXe⣩[(\uMLzr]&h"ZQW(r n5IV{j䁉s%QraXJ=7 {Hc\ c*Bw$'T8 boCz U.Eg)Yr,q8sA\(mmy v$sDcwAw]ТpgxPMP͍u*Ⴀ=:OuyCQ Ξq2GeSE~WTӡ0R^܎vB]) `T'O#45gty,ftXf]϶H|A?]\'\9=_h (O-(rXB8BS^}Bׇf8zK"R3N\HlD l<UpҘIdͶ0/tټ* OWkB禴FI t5JDffZ<ưC]D=qG3jɓiܦz7*]Js^[%TNͿ=( E`?H;_({x*J?UA4wK*hnY9z%IE/:@n>*fC·N~ Qnޔڟ2$q/a=& k˸q(mL.>FE=P^_YKU Rɩ~ŷi5K$n`B V'Wqv(3A'Ӿ *w|_ӽLJ5gDq(G)w+3ĝ$}^ zq᧑qy#!YӷrUsҟi=ؘCq|f?ބ{,7VrO2;jnm4(^FeN^6MQ$M0-8}[[thjm!Vdyvڎ{-&iYzucd |jv{K}[1d\kECVqowiI*,+A?] :VrlïiSV$=7፺.k7b(:h.i_:DI-&xK7Mk@ T1_,V,o,xZ,/ W?03ɞ%Z8.o A%g{lY맃r a indntuTߐhlG[r4Nc.x9m ͺ/pg9i%j r\[0Uc¸z)~kwZ.%̼֖pBYr~gTC%ZAjR>ӕ:˘Zz`"TD5|,ofXna 󔮊C1#ԡC` "A؃+ӝ,}'l9MÇ[[MTW$.w .OA¼jڊ<-v9anJ(j,s%&s)EqmJtK]s*)Qdui4 0jۨAS%ja" 0e;j\zhLʎ3Yz4 dEr(O/_[.طL  -xLsrzR Dl&R_zp&IR>0 x^u '0|l\j>ʅ M va{Q RTuqB0$r4WH>t^b#a`e+8tz7,Bl"B-M8jЈuz'f9iUnWʢafY˰`K/5ˠt%#΢m\QiM:={~Kk-=*I3tRMX[R=Kc%hc]xJl};q3@%zhL:CoLt()T+Յ8Wz1XE=]>[λ  hZ2f6IAmZM 8 mvG:?]So { -Uǀ ճ nB:1C:5=qp0 (/r{R7z' 3O=`A9AHf']XUuޣ L#[>iWjꥪdh[x3doS+(&pNh3-f\K⛚L(8YRHnQ=br ]Fx݁J $Nt,HI@p^5dU Q$-K Tn=!(-YO߫%~A5)8(7[z8|֖o[6w$Y@%p@(WPgb$Mh(ZxA {Mr@,t )x@Zd7Wq%᧟>Ӫb7n& M:ɫ늛#F(TOc[i1 FX"wx ew q8.)%O5Bϝi +Q~MrU[BaJP\o/i aǗ 25U<-.g-e۷zRѥFf j'-/TЄ>MPˬ/i-iR$eA&VOz$ˆ2zthxC-27Wa}61@=t9C.b>NHvj6 ,FF&8ĮtY@CdKޭeKbbz2k*qi 0Q1[Q{4P!=µrk%+h-:N/O [}0(a6ܥIC2~.PJ0Z.3L 0@M,WmbÃE)@5\4|8ccEZL!ѽD߉2 DTx/C$jfXDv=-WvԈJdDd=vbb@k[-7?,s8A%D:w1j ^AͥS/`mKj[Xmqa)KEaj )-3 %B<äN<ZQvSk,XRcJ\޿DyFIE!"ldѷ'>o~Ahi p]r ]!g/TbѲ;B-( \l/eVlg" 8fY09:&m}%ЦDXld3YwK}uM Gъ[L;tD4B$S‡%#lNO~Ḑ.P';66e^4䂮vD[jKMhM]˖sP,x:Ɋ= oؽ2p_գۄmnnvźtn&7wϰok]-gH4ƾ=1V, &oWB/ަVɭic3xo(Tc /Ѿp=Dz@mhw9Yj# (Ƅ2h]c] y箠zִ}]bW8Ƣ#\ ( Nn +BYtE` lВ|9dU,w{F "W'˨d\ V.T*ATv5v[.tYl@%W@}WP4g?yǂKj\UMj:7\;κ꼱UR5f#I [nՒ@]ͿWbNiXN#BVFhi4*H' ױk8ooxo) eI** pK0 ;VÌppF}Z׵Lc1}H[mYn@vY@銇c5-W̹zވ G:r(wn99;C8R4q2\58Mw]K/'˾!PvF.B}]V攼..LjR2R Ex!F;/R`eלԧQOWդneWmv7ymU&ڟ&ݣ(e#KĈ=jy&K('S֩:%04Ў&djn2:Y] g#R0 $q\T쁤u4=b\Zʇf=dOq0=P p -؊wEGqq;Zj 7VdC F%tzSk{$KI K{E'R{vE أV+OeO>*R풆4ZҲ:1*TT͛y/R+ӎ[9%z"ٴJ՞z3(IZ 8§V#(v G9pbJў̪pԍfGf!@;Nq- c;S/*=x Q zi4 1߀˜1j|6Fǒ%JFGZoN1))v8g>5y \X(CJ,+v=FmwRZ _/+thj>WEg\wa O؆h_1M?}y |-&^Sg/?qk寮_/\~b W_؄(0 WzF; s] m\g`.?zF~sLﭾLoNGo]/,0WuF Xc*&xz&I`U ؍WO^~{i0rs=itL?]O Bja2A7` buq0ﹶ ]·ة-}KO~ $E \~8-M4޺\Hq˗ZhBטXAv('/?!Fq 7t "@}ʘ y6OY9 4Rlkzf}/^~L€p6RĂ~g@? 93"#Os8+0g͵z2]@z#ݰtD󴲧Eg=Ӛ~)\ՓГo-{'n{/47WqZ[k&>\59:+hO|i1*!GLS qz Q͏"jG`I#:G蓨!#Ζ%&4.V8M/2\pwȕy7pjzf/gk2AA(?[=s@daJPRC1H3;cD<ҒXƂ -ԯ ߯ A!nCg3:3~ޟ0ɂc .)zPYTɻ*Rgs9#\=iw(<$h}P{#`,D%pb<Ƈ乞o_&pO)}Yzc'h9^[17ia9FRXU:h-/ &qSbgt"t?DD7D<1k:x\9'x/Rz7J3Ip~ias,E,#f@;qX~+ЃS"-Ldˠ3#8pG~՜R7["o]،*&c>nI _ ӀIDQb J7yc]&Ҏ ܣd 1gzP""_w*zx0CvxQ0Tg/=/I.t lkPS = +] Wژ~E7]VbkS1̣{,KH/ _ғ}ԾNcE}_-p.s4ZSG̺[ w!w?j5HAi>=<.d@Fw3rҊo~9fȤ( vZY-luyfO2 :r} ݻʞ._I,xCl46<I7#{y=E 9P|\U%2Ԑd5 jDwJ"AC^`s-Yb(O;#^'>?Vk@[^QʏdJ?FJA?ϓ) z/4cZ,$%qTg A@; K@ȗݖ#wyNvL<*MݛGD',C!5Vd~8Gٟ(y+1^'=:Bo`!2^UO+<8h|BNwP1z$rz@NFwA8gs+Zhⰵf>9vq*< @,Elp:h\klz3*Z=kd8CigR~F2YCYaȝ.)vHhfVRm-[?ކEa<madQp8=RL~Z/>"x[ȱϙqF5/vm/߈]о std=hKU6jVN$UgD9Jy)9+,2L^~KX`/*Z-{,&MEU # ))U/tVT LqFJuJ~n R'Ł3},$b ڕKLp VG/?K-fTHQ$\JV^p.Sb eBƎCbډ0g.DV~^el{Fdj׌Zm8cB\]bH !ZXqyO)!Oib JooR#=GяON+-'[UIaMVg%Dnʍr9#0:EÓy,g2+j~GDJ0F]-87I΋SҴrO]<(i튦_&z'e K.<$cwFh6Ӆkjfϙ*o$R6w%(j%?ɬ GF~CC3\&RG4]Ճ޾ܨ}ZM!70r Mjٌ4'ʮ%̦>ʀoCIE#_\^^`=R{1ǧO.=LW`O|`om?hg9-JHKu0n]*#8{N@FY>k<(k-,<QHLO=ksVX_3GȠcX+yjDʋH@DHds Y9?#&f+Ow-2cqVNŮ U\SV:4B&^:! dRH`2yMs9_؁u݁} ׶"=:[XZH Lr1v6; ݼtkWۂ@NK.En~;R4RXeٮ! /%؃iX4l-D,*IF\ Od+WY#gVM.Yli|ڿ EȩMtV J2:N@OH|"aWs3mjO otd|F>a8^>-KgٿO hE\B%>&VfY)q@iiډ0IϚHnV6g4^*GF))Džd8ap=q'KJM@\C˩,Ί\n[KRk俊%<c-+Mt! v=.=EnDUmC̤W`: (J,ܺ\^`Hɷخf V!3B-[FʁۆJ?.G$X%~,\e S%k2/8ȍkI0b: N+{mUp; JsЀUm6JVyz.W$g3PpW9?̛K2/9FxT=N$jdjG?C(]sUӫsXdz_13k~3OmmWm޶U:by JS>čMiM7뾀{_7x ͥ%ѽ Z]sp4z,rL*k R1U _΢cB." y57k&X3_t) 5ۆυ,Q kWBBCOXCq3+9Z}N+1%N[`Ӑ<݌b-Zcһ{9 ]rL+u[Nպuɹw}*q9AE:h$i^^ujgb-*!fcbċ$_Lz 9zrCQ`Ld 5#C< yiS Av*w+&6n{7rOvW!HI~Dn=e^Ƒ"&%뷆7$TW9g+ZYon|쪼j;øYWi?~p /a4 ّ`"{C톭<+ЭGS|kH .Y* *EƯqƩ6 >Նr_FۨlN+~ XC-$̛"|"`+ :A/™ukO'ejUHZܿ`VG4E;m^Zk,,\|+=ȈV?X _*xAA SΓ@YV.x14kTA7ӯj$ ۼցLhbo1RFd|^+E b,sn=W V(ObPid.'Bn_߳ \.H)ɡ=x_?զli|*{-T'Uݷ [!nu+J|RO Pp2'ת-]8CWj$WE^nYmA}<_q7F`GX !G^գъ&-`xH07B"&9Eqr8qz,^[>č.,v'eG?kb'(JdZ 'r6*|Kp zZ]i]=e{ȹ`EMtV00jݩ 3t2kR!EC8/ǩ;C/JCu6azakiV܇tqN")cȵ@HH#p}}/]?S“"lp$U qU+_@5_.}Z+kd*qgv [j15frUݧHw"򲜎UUP &k:zBZ^&M7Mڴ<~Omذ~ |xnܴqϻ7z&yVw_ Q6׎snw_ʿtM/eΥWK] $\l\z9fJ+[.G͸~g$;e`Pk\ze)zVYRk=Gfkb.0`>iw:%ǚ;_O=i1x`g>@5=iDq kl \+>FhZ?{ Cǝe~kgFtDKy׀#M֊OIJEXqf)bҡ3ܰXxn҉ Q!|L~"IǸs\'C.h,u]ഇ7gWJ})>TL 4+,j*6 wQ{ݹr=z@?5/[h?g)k0S'Ӓ9׬Q|$Z5RqWoxZrVChzB-/ɫY=[n/ejJHǀ."}a'i Ce#pE3gި猗0]鞉ȡn_(%s_+?E$R9sLVYiz&`ͰJS!nh3O:gL!)FM5w)5 wj;ZɻY-mg`NdlmXNJ9@ǀ[.Tk0s@hv_:0Htk>}Pu1pWJB+_i io7> 9GS_7%t#_|l)YC"H;ɑY8Yʊ]DϬ sUhH<PmX855JcK̊͠#P0S@mvBhs<iNItb2fqhTYB*)B8-%@5=S2(KrQ[k^: gh\GE/R̕5N"= &Zq+}0;&lRw)~N$MX=OynS5 = *HUPbK`ڢwK2fc9K .(GhJXi&1p 4pvKRԎ |, 3y9h+juYɌj5 #"PVPF=㶙-|ܖLXW,x9ʖ,XǕg KIgIv{'|38i6)MK#: X62jy3qwLح.^xO} BB6ď?v#Y(ۉ#xSt}Vm̃jq28;dWeTN{h*Et8i1 w/jpt\C{̀ŕj/ӽt* iՑwy/ˍ ޏV s\TJ9d[d]0k3j <6v{ >D4{ٱ?E~[uR6 ȩ$J`>["} `cҞ? $XXǂ _jҐHH7T( >ε?f@{ 6j)/A$fnBdR!o@-hϮ#W u l޽W36r{'\rGKNT^~NTw_v䘼,TɽЛ6Bx-K?`q“欸*6V D}U3$eR>z]zzR>V.56 _R:s-G7S ᢚ|H(xniU: # z4@~ej[.X<{&b3|=vS8ctB%4rwisx;1AM^n ֪3EG r&i;_G%RnXYJ1Xw{(ht@0T\([Rt w.1@WQ<=W:˗Nء[])-4_ x< F|dҏ'.2vvWZIW?&a.R$}:h1DI] Kl ZgdѶcXy`/} e]+̤h*^(J#ke_H @v2kq7Gl`xFR #(ܑJA$j@16H\^i6Ȳxe  A.">*G%`b><ԜBg pYBL C ۍT<Ҧ9ȃ c@X lC::(Wt{bXI;1).Em[/ɔKU`+? <,"DzT dф[z26#͇lG_>Z­0T>M;=NHEuZ P29kfj֬5[AКkrANB%\%x?y`;k+=g3O+(tpk)S[ϗ Z(+iA,@1B%dXfJ]DO sPJ/֪>$prDz"jxPsB-klYa{[%5KՄ_xpA<'d*0)P2 &w'3%ï4? zàSoS7w,:V;KS̩by.73 . @/[e@i 4.ѭ mAR:v\voҒ9K@=i-'p\c1--LIh^n- -A4E2Q@$lARFX.^ MѦJ:u,KфE݌ 7䖃]i3'*cj^IFuџۄu2(_KiINRYlw_7m2]cQ}[28,qrҀWP;; pJJZ(qS]͸# 8!K;D"K5e^"&CWKk0`` :ӽ.tb㳒FG0YNZ;x74 b Rut#q(FSTg`oJLc#o 9h䓱$$_^ԜZ[4+Guɱ,[%:++s<N_LH1mI]2031 - ^pN76.%r$aR8VE㮺RRNDsE'ApZ'TIvЩ MBsk;:jT`E "̜]:n&0b $0bbj_s8;Q=qڛ?.Iēh'#(G11P,AZ|%P7db6oA$x BY- $9(Gqer9~0x٧;\'s[: Bw6k_jp8)*4pUXxFWQ1 Zs)=j '-6 TP|J(1| ;Zˠo;IY+&'Q2<=5G/[ PbKH\ L(j^`~R\ qnnsX}mԵKDRF^'Eȃ5f QՅ/;Ԝ&ںaQDϢ3ѕUTsU^hFy[d\RmAj@ N*wLyR*f,x$FXx`zi k'KFu(TLoq{MF'Q|eQ鶛YK[b*; cP @]a{}d~iTE3XO7S{A}lٳEh1t:%_+y*&nAaL'9Ńo=_?/ݔwNؠuB~K٪~ GA7nFSJ/@kEGω`ω=7{nt딎^:Wh ]I  u [F>YTy̺=H5OJ'+>ZνJҒUS8p-o7ӯu4e`INyt\.e⾺y|y659]׆,Y8Vӗ_:M鯦Y8i~2T{9Ǘm0e +Kd Լ:iQfD~#OsO~9J1-ym~wZ^>. cPT*t{*L¾ [iC6l0J[{S%!{zs"mW|ƌW;P]FuĎ6.xX^dǵVpFZ,ΣJ/=q1=]YE~s`@dzyDLhLuwGlS Ta}9%Ʈ5kNҩ&CL)D#zy,M¤vd)")E{B`/I`G&(O0)3a#iN?N3;iTq: թ7Ow6}M)ҏNZEN@#YRM/ibe| MqM⍦e^sb#tG[vI28'd[mץkGJjm{H[z ጨK֊Vlk[оٮu)i{v6=VΘ5=r۰%xUǾ/`!A 4":9Z@\Ӫ}OǥH]1ҏVԼ/#.XqTIͨ>lR-]}-~sc\f(vخ+;L TL,vq|z-K_Bxzv0}pF/W~:+$K2!;ٙCoS(?J{K?IZR4TKBfK[G73q5x.-_{[Qӹ4ڕbU+Lajݗz'%Y\V=a>87NXɩ(9ΫQz')B8Suy K8+q-vZV;^y՚yʂjM6NA@6`}X-/@N]pK<ꑋ0Ei)l6Vz}-ݪՉmuNHw9C;N}.t?حU2M yqlu{aijܓiѺ?iS`V\ӗ/uYE} R<3YօErr xJ=ثXw-G ơpC@bM<4L,1szi9,ޮvã.Hi[;(7}TW8i4 hy_+=3 7aDp gT7J[&X4UMkv'%yr%nVXd. 52#\:_ĉѣY}QשE@oy_}Yڥ,uWGZ|oD'wŻi(Aɡ܇&5O7mfT X#ˏF&MA2!,\4uWn>ԟ>ݥÓ=m)~^ŗ-GW3ݧV_~|gD㗟j1;o|gD=ÕRx0l0s k%2%ܷīg҂균 >X=AOpxָ'"q-H4.+'B"}kzCt!RFwEѽwFL3Us`I$`7]`o/F!LĘ^V!+Q소V_7aq=E2T<7O[V7h3{Ez #Ըbߥ|HcW/О\gD~ _S+'.7fr}0{ #O<û5fy@gq%gs{jdH> އէ̙@tnƮH<+]qm~՜.zn.q9Rh+z!姐Mh.nxշ=Pz#,9Ϯ~9\ZwM(}?'&*|]fInXj!RI3_݅f+GZRizy6&ƏسtZ}_Iw;s'izIJ gzxJS=R>XF].5l=[tvB+R]ms[_mo=&P%z@ט#!^g\_!:i /p@H8ܨ`-_~ CtאcҢym>`?XD)By(눣|OGiJkHkN<m](sUof+uL>TNzhi\3a۳pz(-b lsѰ H iπZ]ώC), u(aLo ;aɮuml*"EB'yE!hT"`@4IσZ0C ?$\2U('i JWzdE]Q=cRxt02*۴?/}(a3SN}=:k?~ط) QξgŽ2bkڔDx@R> wzM=Go]uM6c#얔mLܕ}7ԸUZ'Fu tt{zXeR aP_C6hn({1D<=![ X;PlEdu,bN hLKU!(MxCɿsD_l } d-&_QMO9-߆hxQ!0ᗡ3z<@OW~"iL`9衇7q5I.-AՅ*k$$|T\4+U&FQ疂 [~cZIB 7rj$plQ@zd`& aοpz}Ak8"#I)EƓlJJgX8̢4)~g=OV\!=*x\x+$\DK}OpSlQq6hzp]6A$wQ)ܤs~ƿNH '㋽JSLK}S*?%:.}זR)IFz-*.,B1k]Hb "f=h}4C?(1>% $ !DaJf8Yc#qY. ǚϵY &, }< ^F%iN'|)4.9*0Ut=^,+VRDAW0 w5"Gs#BN#bRbgݾ" GDHQ22\8 B|ŎXoP6Z'"tϛ&|,_/{InJNN\. Y ']Ґz¡zeګ,1N$KeΧUGS7-V=M$rE^/PN NFԠS^L!2^1TJ{ە|9d/0|+fzsGقyf v&q-G_YmaHcEa7a0:t"[hN=OB;)1kСceb֠8^ d[;qgF3n<-=ټEw8'/e7V_@i/o~Ӆ\p+5ȳM!ImWT5V"BX}yB6θ(8`l9=a>)B:ykK&ydNy4CRfפeD8E|]xо~G\dC^ c6$GgW.1YâW1 ud|a9ka/4 S:H \Fa.Jt_\l 9MNQfYѬ ?my^EՉdnBt| ~zɼ"@Յw'@OV5:es#d0)=k{MӡDzwH ˷ܴ^ƶ\:@ǟs#']3Ǔ6A'HnJ]s SZj<$).('v۹MԴmTt硹p.Ui~g]0pzQR-o sa.r̖Di:6W2qfx"&oQ+҄ݬTuV2JIIiV#qW/f r(4-l8L{f~a^qP6^󎳅[o &LAX{JJj좱x[ :QJqXM.%[P6zdͥn Bo zH6wg[։޻p(Ф\F T}_Y0@*5LJxBg)urZ*y5JO-cs@)vCvFCv ~Uf{rGмw=0)]gɰjiQmBN˫7bm([0qA2cWiBA#FϹBjo Ɗ/%Sm0 2u߬E]#ϰE&)Zͥ8Yٚ*5 /J _H!߼F7Y|&oyX1s C5Dˏ ײa|6{$^*l+B70=P^\o*/`a"tVDF!SF>4V$ v!Uy|puH)P@iX4-l--9%a R yP@i.>˓xcŖ;o2C@OדhTM9+m|~@m)HyzVt {K'JjVUpoDffyJs4OʔR@ ^ګ4 :S?G,OB>NdY᪱NR7#IOJ<;V?Il0VهK@o.Noۇ?zox$(-׹["e"#qџ^)?+ )#8u[(X[o RE0rey *b?',LbX;k'sS朡I'D=<'KdqLKLUܦ<=w+Mo95qH8%N^y.#㦭~C$^PRAE{t3Am_Ƌ:x=U9W$걭SNvڨ{xWBO \wݙ#Z2. -2hwnkuC %65áX ?j k/X pnMMωLNshP57m 1hWmHeO GLT08ܽ(}{gUIk ]o)s1DS,yE#O31h -AQeqB57LD=\ :95K/4ƝaJt :j0DIMHæSdp-\468zZTx<`暕QphIQ grk1[{^BAC\+!rC5aށVW+?8g3&r̼Ԛg8ޑ_>qInH5L> RQͮ ٫Ҽ&]E2- ^,L(.φ<_@j( 74^aZZ18<2b nA'Y7zJa,WC$дA iȉ+VY/6I`0n84<{;|oX8hZMͼE[٤/kEJQr` #:OtغhϢ 6oOgQeD;M_zMZ~M0EIv J_0T/޵Y=4QV<ܰǬ^\kqܲ7vbнJfẵJ @zB6 .Siz1XdqAF΂oy[n|Xv-6mV)O;cTf9͙p 5g`4DCJ'ʪZtQ%ԍ 0fBڃќ .wS?VZy^2 RnHzηh'>&O.QqĆ9 )hG*rsJ' 4,b|k7^iKvҝ'}yU1_YZ?xNwdR{j#bA5&L$+Ѹ@7Lյ?zVR <_r%_e΄%R!e^_) \V.*5M.W"x#S9-TOOV!ڜJXRP̑RX7­d%1;Eۤ^_7&xg?{b~q|qǛSO^^y'W~55~?Ϳr^v|\~c?nynx幟W^N`ygsN_ǯ{jw<|V+g<_}wgM'X3߸z[w 0ׯ+W韟M??~%"φ}q'2fNc N/h瞿3wӄ|$a|ʷ˳]+|'1}pޠc}Wy7=W~_y滀! `OcO8>~ (TV{~W^?=ޙo\W}ӹ>8+?Miatt6f̑7dV ggO?S"Lx屯ʼKdׁ%=WWyw|4oɻykO]ƟW~|W{/W%BPxlOr= c腟^9?u?|Yr{?yW6_WOy֓7|;sх+ϜQzh#}ol1wǕ|xwWOO\yᙫ9_ӻ<- V; ׯA^<w~K@'@j@H4 Nɯ_})?t[w~yG9Kn$'~_tG21F:W=wKp(gknz@ շ߼Ÿa! hFriu: }GO\ @>x?8w^}׾ }• ~Wx^cz&S|~:@3'9 2˷^҅_CB&“W~gߺ?u:GcPЅOվ}w|7FG'_A('^yb{HP?xW{g5?~xG]㷯~:^ʕ~$ 6(zHc坻_J~y;L0/Ͼ;5C)4Vv Il*% 96Wxd;|XExT_"8p>ЦxuZ,aI(jX[^9cأhZ?{'}!ua-cs0 JI pɸ~+}6{=:FyLz<0}׮GsbuTLC(t_PxZ" =hE W/<ܓ`ewܕD>C#;o7a0H /|P M4san7}<7yg'Ɨv|EM|xz UB%GPgX#br1ȍknchr}<-|Ԡ}s"F}̗@x߽򳯼½e1 oz|vs)<t !KM1kYWZJ;[t6f[f*cϺ9ε)v/ uyoA!~%eWf냢 RH Mz~WΞo㲒o}S1N˂t糏Q Dastޞ=XutxRHSie]w.0(K%Bq.ȟg۩+˳?=Ǽbvs.`=ɹ!ݫ?;N&rE0 4, ulW|i\[\y_-UВiД좩`Y{r佺_X'+}bn^`'*WY jo?(h=0eA)ۭθ܎EF)~Df:Jo¥2.hײU&롏 ΍U;mÝ?#Gwo ?ީݻg5wި5wF¶DEÕhbhn%:%N37Z ɟJ\[讌Vޮ8'嬵0 '#h>kEt ET")k QXh;ou$3Z3>W+xԄNu[bVOŝ-b26vѲ/!ZqW1Jfq+dݨBJXl'w ю u6[$z;c6:؝hoZImX-̌]s8 v؍L KV(IVyM)x(kqnE+Փh"?;y%#ͤ#E?Gbєc CT*&z[4R6J]cXbjL5.U6[ jiδQM+([NnցuRc *\(,v:fۀDaKEyGբq2߭`h}vD?}vС3Jf-uZq@$Ly?w=3C|3jz:}0f HE a!pk-A1A)E{r))CDkqhf7lX_lo2Z?1>>>:a$tUܘQK]D(mKyS t{]JDD~Wa"GS_Lv]PVR Ѕj6 h57@yNY;Pͧ3&UմZhm6P=-9Ң_.rd$~4Jc%GH ͧj.H[H2]F1m0oE5GGFLؠau?Bbں#şuf tPZmZQ-d+hwfeK-ϭPMa |eC[ wd58@xjs\GڟuM).F,aj ~ ࢫqpA8ŕ x0<=hVW}Wt}P)P4쟡j˯O_?b݆j7ȋҷ~ y-M}?&k]sPS)MEns%ƻ7]Ys y:܎v3(S`[qi5 UL24o@>' 6Jtr 㗇|p QkTl S9mxhD63FnYŪoG4wh]l(; YleG ڝr dj sH<5;(E 7WX 񗬒pz7lM6oϯ}8@t-pX- n8wy\hyCUάhxP(m^D'ACSv!"Ih_ le行ث~ǁS˝fMnGk G ?{ xj`76߽3~~E[[-WBR>J&iJ8{kJnnv ?usT{v<Ԯ=3o53ə)l'555،F*w`VfK㯝H떒>Oj1b+~g U0R2DI[qJCZ;?;T__J{ j r4rC{;L)3-fEzµٝ{'gg"(@Oir\>=`4+SXj'-[rjR؄I$VL]f@yV0%cBĊL0MGٿ{wPL0 >Lp#db ' fyvtг8XƳ"_`5Aܩ?_c0 cOn!ZPIjrr.@콟Y*1Į \:b{it%?LnZb$Y4R^`FpDja3Q5N։ku3q_9< 3ᑡbvPŬJ&I<0jX1U \;+X^T_ C#%;ӤVm?8!M>XchM8<@t],s Qf\tUuXgTgGēa_q>HrKR%+*|: B֌Gsvv$Kpl2+J-髇vDrlNf-@|W69ST`dȡcpfo7!Z-#NF)^/N#M۵' 8.d-ԬyW'9wH{hxHP>n[bD Q _3oL)L dxUZG .N,xPtCI=lDnYgv-a#NW$F|Pғ)KӪɟKJ` qY1:)&Vf~!}h6"?Nډw_V{v;m f-Z*)eh|d}qk pYmgL'bK)h`뉋u=l:D?i KEJ\ʃ3»m;,&7J= S:`kG E_ZY Я+"Þ;gxh!4h#!:(BG@8A4@E^H*E}#XF7pxkO?M҇y61讻爁zZC/:}Qhm5s?bu5>Xuu9r,1a?gk%XU'([J hzd-:Pi/tY-c\Ч޾ŭJBցn!`R%_cLٳpLm}j75D.`$"(uUoQ~'chs„…7S!DB6geeǬNjJ6eq2wTB{v846  LQ.O`Ռ1M4)% >>"Y ٶFu 6ll? L8 3Augw,h/&h 9fH9ocKޮ%5l>3bԞNR?hdc(1ݗ͸Κ.w;բzn݈ma=('5x7<­9,:6{_C#s2sG GXtK&$ha}Q교upNA@hjHf#fŸi(P%l{b8AliQu5GwFڷ|]bRlk Y/2GYܭlڙ7lMaгX ʤ|hZDУF#k$qhUd }0|Zd0UF4Y%NIsD"oHQ0߇+EC)Z6ĎQI9bփT"] fkfge,bYr}1VFĸ^1%\x K&2K%Zҟ<-Q6q%qK(Jv 3JxoGT6*Mqid9jm;%X z"D1}$E9s|#^rZ)H­!$}! ~=N3gbݳ$IK=ɚE]X`ٵ4i\H2.p>յ ʟ]Ӯ/kŸӡK3Xϰ gϴ;C:v@"Cv>A WLjUY'z7eQfX_, >lYduhG:O!q(} Ed(:?LYb諈G#(1u9b*>arPS6FMYs^A jdb遺,~ a~ܜZfVQk"{zoX"5ZO:CѠU6bqUD7<Ӫh:K,xs(SBi`U 5Bk^BU=.E {*TA'D`'p|O*rvWEWCiIJQ7f߄$rC=/Qk̭i},CD/֋:'F5r ߠwjqE| jcf-k ݬ*Cnbj|1*?^{ukqkIEcboqW}L2kqؘ-$A +jgDn_7@PJ M:h2}LZRo;/ڤQׄxҠctª&Iܝ fF|2KGLLMݢk~eӪ\k&I::"T`)$}_N8اR;vݯ`t S@ʒ1-,6[  u8[-,Nd4,PT] Fl*Y4qaRoG40Jt׿6&!f;c}ȎFTiUNEYX[IN]|GY#Q|2%]-$>.'Һ9=ݷv2|63.>h HxbA.=rӜ4O'x;J9,-4=cLEcɜpJ\tk|DKL(wgK6DK8nk:zBU1 0zډꢿ=p㺼U%?[]|H$u&1D6'Uq)VN9]t'J92$/j'фJi=a f}mc]DK);ּĤg5'&RՐFvG!ݜŞmEpevRfd<(0%Fz\r_+rUQѹvAyRT%ч4 vSʒS^zn|$-sm sGÚHXӮ` Ҭ&".K/GL`(?d9Z,EOȡc[8d)dk Il6L2?nwFnUXONaZ}|}bߞSK}/<ԛ~A6u dqZ=˙?e PK{0@L7q:/P6ٛ9MSYD:{gX̎ ${bOh̞vz\<`i? pu)XW[|gG4V-vu{)1B_GWtܯ]я-3YڐN3g8-txՋB׆xK:53HPUwϻ6 'ws4zy!=>ߜ%.hPqh6G侹*wy`5v)ܝ(A1,P? (/Kn1B2Jƨ)FwL }-: LxcS>𡽃 "e/]=+.J1SMmU!tijŒG$ThOl?cc6<5.GY=&2چm %nAKvjS[U\׸9-F|g7v23 SR\ļN.1GڧvHW pRM{K] lܞ)A]ވ#N⸦k (M)bjI^pFZu ^ tcAKPq ;ĭb*m,s/!csTE.22no: @流3$sYgCet(3\O*VZ6>#ǿ|x ½AiۇIusY.Ϸ <|O6FH ᠺQS.SgstSp]S(O+VTfc70<ⵯ"&RTE*p!!So6ƅE a$FJg,I)&Pꉌ2@rYe"_cܕwT@[ȖFb. s9 6Yo(~\l<5 *΀q*Vu_y6s͝ԁߏp~؄n9OQҹ1~P_NجeΨ1,bAa`ZPXi.Hf+<|y;TkZĭ evgstź"H $祡^(MkXTK^^̚G?G滵mhrN:4s[iVLL6e5:$"zL޻g!v?5=>pC3{v;y(:xSC ]tK&8֊t$];zz$Z,UT*EX8i蝟RQ)M$@jqf7lX_lo2B;>:a$tXO`J .V;ڝ@7KMߥzHhh*tk>Mjն?4$,Ȏ$yLЩG૝X-̡sώU xkL&jA}a M7oZK ?7QGK뿥oi>f^Y#N/^UJڋC lx԰@oR/C[aݶqͷ ok0,!}0xo#|&G>N\ Z?Ѹ\qZ|ln,GG-ʟ~X>?VHJC.wq'&6ow:7gr:?w*Gqv{hmcx͚GArO k:kUevm_M|]cmۺ5GEF.Q4m%j84VKw ? z|$ȵGےn6mńfHpmc,Ħ _c[-;տk -Nm֨@tFMn'mã}t]Lz8,=,8ma봷SF?g˲Eq \+|m@k/\3uVFJYK(b\F8]vskP}"i5l6B&4خk؇vwv<+_E`wZy+sڙ?Qο?_O?y&[|oS(s`~;M^z+$-+)1&Bc+yXq-3~(8QXZ_7\*]L{)KxeXLuCwb%t24RʒݎI3< E*1rB0)Q GV#m,X?Ix}[԰y#}PVqejܪٸTV|#m])Z[-5!Erу -ܘbȀ6<}R %ֳ40 3((:q.>:6Sv0[j_EeӿyBtPbf<1qK ?h593`Oep9nEՌb*vJzBT>O칩 6>>(ޥ<88؎Ei#]Kē c&u;.nh5J\䏋b9l_4m#K\PA1aʬxcz׫'W]0qtFm -Don1bEG*6<+:4Ť]rv8t\;kS(^"%Sˇ$qflPCd cice)*ٕi#N+]4/bbxS@}J_FuXm|xԓ-3 VQ) {A.'e|Q!.T u5l5;X|$~HͬM.w{v[w/uD3@;8uI;YpS (OAh&b)$s|>JR$iOlORe&Ƶ2&f{Ѣk´N4naJ!(m"*P] ^:)&I`J4:HdDHS]~LkRq!HsI0i++];(:#%&l_=[ϑpGz[ 88x`zFErCB}la BdG"M$NϼG7<%%4&}nlDal$4۰7@npYԝg\~ kD?L5N!o)= :b}80OՁoDC^Vn˭"ݩN+TE_5ʉ,)%s$eM(k5o|<'ZQ6ҚcY16fA$p!Mc"":9cz8rˣ 6!j~lg?׸רw.;`B ?eT6+Vz"mQ9aLa/%tM0-sRt·5j5Ł!;" grPwXf- *rQT)f= p !gzitwSzlo-a"#|Ca>1v'p/pUoo  Imvh@j[q_Rڜ,Vn )-iHόȑx8J>':\= BuU|42KbQta5޵7vO!B@|ZZ֚G%XDfqRw8:˅e*Wy1sqZzsHAQW46*b:;t@WYC١W2cJ^Ό}jmD/Y=FAɔVx(@F>6`WV@ BGfU^"a x3MPQzVVSTעtZA|v UEF?׺(mwj}PF^`~gt)>>xRv:ba1sG9LeLn&tT;ׅ T ܸv"%Ħ4qD:c `>a.P%kUtvA^ț=a]z & 7i/G8FVB'hWS7a4`I&[(D[Ʒ?7W`>-=Z R O0Y=7K يYCLkFAD5P+ڝ"{bKcn}aȝׯߪQ6%"jX;N7׶1ޢ[ӡڵ]ÍR|]ZI>CBS= rjJ1tڨ?@׍ǭȪ Vg1nonL܊On7xqOX-RLDS0sF 'z.Ecj;+:)sWJU_#v@S^|Ӧ M {'yǎ FިOj W] yW#́ /,j ~{=;k婂0^ˎX#gwZS`wV>7э JŦ #lI,_ߟ_[uamƭv2JnN{vnn?WLQ+ϩCs,k姪!!+_'?Fsb2rљ =A5",|ָH8sӐrC7nt쿻7ߪs3~gJ+Z~_ndO>vDe:PMZ_^Vs6.yCi`wc+̙vw;lo6ԇ)m;" _{QyǘuZwZ6K0~z\eRXyn+2ٽ0(ٷH ,fywr;t[/7ǢW(VS=F,8 ·_pUT"[+ L_?1B#l`]k=poaXj+ݽC+JTÁC޳3ᯆ-P?'g Ȫg_\Ygά"в? L$o90'ѺN)Z<%8Ib U Sks}(FwѠ{%zMjiHa4wB(7 G=_zbӦꩡeML\'Fo&oF~n?2(_?`կ 7lwmxVv4c<1PZiu*s=n-N}H~o| $-D D+r((aTYW频z^y2u&SCCdv>a y+M?y7q-ِ "mď>\Hx_qka1@9;m E_țh;pmhq|딴YXc}E*pБ62Z搳qm˛7؈ڭ^ W| = Jtףn:*oG*[%k5(wdT,20rJA{Z1ѩ38nJN3J5pLϳ nsmcADoY4ZšIPH7S)UK`$KDoFI+Qwm҉bqkO%/VáBVq %>}?bL/4–UՓ6o0j*qQ?`,,'iۇDYv"gCřf5mYX*J7$ 43G(hL~icȪãZ4H/}&W¹4cyԎ| [a Pc+BٸE88nٱy-}!N[^R oQF?c|AV2A_o0MnlRy(=u6+pj0@I< 0cErk<~fpv'kS[=`EC̭~:YMڨxY=B/T5r2|$K:LANh]J ,_l%傴s  KLe:5&ڤ3kpÐS'1`΋`"Z8|CyM_H xP^Z#+Hu#dt:+E{6[2`0#5 MTww]mzDO +OU CF4SynEDsC2vY7$5m73 t{:t[ˢ}m]" /iM脖W #94fū|+M Aѿ,$;03jqH!(ԌY5ۢ=4OR~PkQ0s+#}S|hbqѠ6/kRܛ=<l` |$+E܌Z2'D\j! \<0 \eHwĊDn/E3.V|H `҃IxHŎlFyf" Xj/}Q|Fj.j#`eGÚ~;UoARVkl2mu6htq>eY-rTkQ V_ni}.,Խ1ll֍!{c2ϽM_?,҉[ IgٹZXuØ+˅ /x3?J\,k"[:+BQ SeoP0Jz`qN?bTJt*kSyJgA]f-,4zneepV`: L5^SO86/k 6AǣncYDbWT@\Kn먷b'+Q 5o';})~}NK[*q|H֓r`!-VO T%1u :0g*};] FHYcJFG{DY͙? SRZY[>tXa|GPYL4k~V䲲2N,uST|Xmz"EPmm|߁/@;G2eg`V,A  @,{cE7W8PxŶ\V]TnKVV*5 0/?kyd_>uy?}B:;r\&]2$k+u++D?Cwt.QT&6ҡ|MQe*ף ^iRW,XVuU)f5׭-ɴ1h N(WG΢$p@4%Օx p}w|KƷ<7W^-?H- 7sqO?%_8ߛ"p?OL'7ntMGѓ>U,W8>; bFA!~9eлS|'67㇔%"z=_vǃ;wML>F{̝jY\=ܪ R):{FF(%w;!~/BwgAnAs;%j2E%xk^vq=&7uT344b`wl r\B~iIbsA(axDR'P~Lyxr8 T赃aQE?|-S3ӯIۏfU`QQƻFڮ5gW&_cy#Y:ba}<:C ;o,8C&ev[;* Sd}to9˖M `y}GCn :%Y;8;xʖh-٫Q'k.1^eWVgm+v[t.,uӑ(c㱱h!K\\Y r9=)RBO09e WXTVPyBK\b ,}L[Gׇier藋 yYk/v<ַ?=0 ,J i=J۪J+fPq3RzQ B{+4h(\` wѠ!wLW ݩ9yFJJJI Nd;!UP'-߮D<- zԣJP\֊­ ;kսZ%ev3TيӁz=KmD#%4>bYd e(xMYh|z+~&OJ\ *@G` \8s@. Mj!>ҙ#GDZ2V`UGA*r D x)9q°gG0ǵt' 떭Z FvM#6+G(uL]5PM?XF΃H͑Em$5jT͢b\4* PY'ZBE*Yl!+Or1u*Hd\lQAѣ HZ *!S]E3ВTA$p\nǼG}RgF ?m~lIo] h8-w^]:CpiSHa\M`~(뀪H1|V)Pab+IH>P:+h SvAA> i\4UH'BNaAM$b^Ю=ݳku$1ehfj3SV+uN;Sfl2k 6MX=^peqVbZMWJ]a i&nahU0!-8ж.CECw_/1DߟpŢM}>=*p/߳/ڧ~oO[Kq?K(K؁GK7Bo2L?h-5y14˦D^.?A/+0& U-龂Ra-*sOk Ci=k$cc?y"a͚TIMRef#ZT{kjy kZj=['NiىYoCȇ=ouzTr`\Hx}RRp4D(MXkA=zُ҇iFS '4jTCCC]F#8:k-raEa}tkK+8˭#o/.#&щ.ms\I9^(S_m9qI^a:FX I&_tL D`yO`/ >0,;A;҅*3.BXlЩk $n"YPk0>thy޳ 86ɷ2:h2#{M 6?]sYsgfK)⨝):ڊM(&Qש { i)iyCy|}):́Mǵh[+NRYdruQmYkaǚ;o rWhAOpe$X~S4̀mn Mۋ+l`vډn+Z 1jin;zhv@P@-:b$Q;5ZɺYSv``H6cY+l+0 | OZ|bPZt;WK+޴40fOڋ9;Fn$mL фBW2$ḃ`HATY<_`5J4bք,€)P\1d`h}vD?}vС3g:|~ w0aMY4Ly?w=3H=3EC3{v;y(:xS(NvvH:pڰsmV%W lj%I*Lh1#eZ3uJpN"n=Jm:Bkqp7l#~o`} 7G'aWqcF-m$YhtJם{cOyO=…H4%k֐Ъ 15kee6\/\r7yc~ @JgK5\;ֳ1Dr[ɽSy>𾤳XtԈ!Vewv'xH/9"1F{}i#wxSkxZ3"> m e#-tWA)LF[Y.| >{;-={fgGCc1e Qq}]HLlD V$:{%cDEԚ©QkW^q33 Zœβ &3 x^ j㴊Mhrsg񱕽Y\ݢ=:l*;X=H0$ENݷg4ypO4=sfρ7nSó n~zAnX=ʴe]Nhim$j y?_?u;Oש_|/?_bOccc[o7\~㇫?oO-ow>s;'7{'ѯg{}oGo?_/'ng?{'/>~?7|ܯ__n7Zcw~=w_?z?Ϳ__o_ۓ<9m24fO_z߼~µ6muo?hs0]Y36/RPl[ܰ?݅u?(+g|f[S=̔LP`V.UYeSֈRaI):F`AWLt=Y ACMZ1LJ#%% ]m];% ظ TKr*خ à4(,y%M $lURGQJQC}nX4XNj&v{`0<#̊H)`L y8^ Zu R5axlDSL@BHY8셎"hZU` >ۊA QѤ2NkҊ ƨ%8-բ`<)N$<]?k*8Lv20}6y|T <(A=}BI}t>mԲ):-$t]"S>G]L~=mS *Ğ`}!8ܞP(Lj@sU] i=2abN9BLINg*ϫ;kbmI}0c1iXN,h (WrZ0J4m-BVSDƪדVsܯݟMk[Kp   2UӭcJyM;[8ڝcz|gzZ[)=mr{^]]\81mw!)xѐa`U(d'kSx"6&1hݺ{Eز\j`tL7KQ,l$bieȪIt`{tU p:J_ZU,,Efh31xЏ"It ۘɗ- >(mc oY(aqִܭZ ND; ?wgNuV{ޒJ)̞ N%=ށ_ &G7Dpv4 Klk`i\۰ 48E9oZ߷JnfyEr7iXQ`{.t%Wg("rD띔- *o׾q(MB։yyRwLjOb&Gk>0q\%-G1j&8$sO06T~?H\Z+ 'Fe,y}?G:cqkvЍ510aícqRrVS̵ݗlu;g[w]w𩭊#[o]qJzЈ2߶q? qGh# 3r=+ c.n72n__ӜVNלIY~^'-<̺}ԬBA/L* E-{IlՄӴ 0r?ZU>Ԓ<7.3a^gU\Bݴ-6=Ӫ->k*^//U8leqWC9\(eP3tQ&WڂB\6V@>;PqFW1FN s_I]TH2zYL=2z@Lr`lp~_5s}xfy9G0` ^1\/>{{d|9I*ԟeAҾ NWWù_2䯞@QFV`F 'da,0 恙3ZA* r\"  GBXo=[a a$>Hc3䬑v&!Z"ɫ -_GOaN'0Ü?O)c'_"~yG)q*~eX=;>4?xvԀi&7oV?{oq?;9ln4 7D"mn&A>8BUZ59vWoċzNxAxALƼ5^Pۢ/xAxAxAxAx|9k j j j j j *F5^P5^P /8a=!a=li܉6yu ߁jT-x 䉒YQ+>afk"Wg *=h{v\ stܬ3yvW&۬ Zbb"_ (Affv,vBZZ ^9p\}pWcϛ}|u'IƟ~hQXBWk-)|aЪ[8! hIi*>OE?K7'y^_(8=Y&lDDf?^cSҽ^p{'8Z6^H^}hA]h.5DE h 0hqjв IdsJ?5,j,lo`,yOAyU}7찟C!Z}\'c_7=O?[ AmhK= Puy, CNN~,}()*!!!!X(jb:`\C5DQC5DQC5DQC5DQC5DQC5DQC5DQC5DQC!y(~F!Z̃,N9>o1-IRe);(˃[uF0,:g]#HEI61b m1~&!.~lBQ1I۵@s cf7e[ZQ[OIN|&>8gZ!ՂnD8,M$zL/26:=t绵0 eCJ;ND`2lntBX3Tc!?@9nhx-O=,.kj4ȁ< 'S)KWj9KEM[^f8.mZM'iд/|[1s3-"gM:![DZ6x@8y5(1t3XItP| ^;mœ!qg|L ?0W(?&p!(49b>NBh ѷ<a$`-q^Nا9͚/aԥ=C~8AAds0BĉZ6ogPŐBEtGvzI%2_A\ F*_=]Ĩ' @]ui@ˎj991@(r?Ah_V *KʼnL
    3a pyN xIUa  .h5DÌi*@. 4]t *=1'#iL LWg(&o2[ds׍ڊ[DSukNC̾jCh4-E6?Y.*GrQ}p934 63HhC̥6?~tFF1VjF5@f^>su&rSgY)Du Js(Mm u bZ==m6\L$lOc UL. YtQg5g3BHťfldUc!z4G#2fi&=2KU\2Қ:^@FPPMu@JB\sr>jtZ3e%l zJ#peMr|JdH{6`Z˵Af\csFc~Ms֒E9  _ߐ>mYeIAf(2 1*ߨ<mAӢʴ&E:p_!l Zz]mZM#vϜ6Tq9_xP6H1G鵼\i63'.jH۴J2<2gfp;Xo[F "ýpA0.pp'7rpdE% ADĀ׃9ɬNTs;^!b
    |/ߣAy&sC eğ*2ԇo}x*3 6C߼5)xty sy+u xloa0 z/`=gϱ/u`?Ȯ ·û{dckMԟ{ɳo[Gqm=tq'Zfx6,;A.ICfpȡ#B! -n]cY)koQΰWP${bq?=5k[2N_,qʻ(zjDluNLjC'b o(_]h ݮ1܅/3猠6b5>!DW=~|)E:ru ۅdi/^tnsl][QiXe~b2LS.+FlEOD("V2E9VQ䒿~n_$0s.ClWH43x,ZMʭVGҋK'[2x&9 sq[.vVp"G43Td | *-{J=iDN,xœa«CSt7O\VyRiiL|Dzog5r{s@ IVJxQ>oNDhȪef9 I-Vdtǔ˥U$dwϣƍfqCB͓4/N(8?5wϖWKdfA\>n":wu.T5ֹu.4V\9n& ^܅V1wau˭f^^_ۅ]q7n3n:θkq;|vmީkݎq,ۼL‡ý 5_.Zxqǔ[0yФ6[t-9y:!.[P!5AJ s`yfaN/Ӧs7\×X/ 9Kr9 07D|I&:fX `ٰ`DxR9Ӡ U@! "`k(ͻʆ&,.y^k߼u,M>n8io0z<?fyW'Xں|<94 7a !f@+d^``;8F3p27ھn; 0o]NjWQh>ֱr*y*1058w@pS7 B,@:A u\4;Caf7<#EXmBтEr*1_2zU DQSLY)@FCxS&w5-z1"zsF0떬) sp"!'m6zc\S@R|ʤwsWx8IZ5Q5Q5Q5Q5Q5Q Y(Gr(Gr(Gr(Gr(Gr(Gr5K5qP̢}v?]@G bjH Tټ7,Uulvi'Xh/K}ueHb- |ѶQc60B ;glbRJj- bO#bhj7 xy挙kqQ[O.7?~OY+A /i`">~ z~:>y?Ed3 ?C߳_o@}|?~.* Q"+bH~:Qx+ e|w~/+T <.C㭏5&ULe&߄בſ><ʋ^=Y}Xy9m}j P"*Ҁg 9{M.I0?#2 51 p4(=:o><=5C@a֢oÿWz)rDZl3D" M:<֘!(<+IUBۦW ̬,rJv OC{ʾWjxWjxWjxWw74R+5R+5R+52u 5R`**VaeI\t,,Kޜ^Ee][ Xe>{=<4R/5R/2j .^N12OR2uӅK \&sS B0Y) <f Տ߈#u.+(UÐth11OOW8VMc`x%5!CMAYAҍTP`#ih1N+k_DsMq4ѰU76Z>[kÈI9eaaNBLJ/#}#Uup1\(iV%MQCdzЀÔv"J?q]0ŅӱJ藐˳"p"J+ v:\/U44Nt|iȧ(l g2:w 9W 4s'CB-Se2{#=mX/yӨފq 8P6i9a:V|jRu[c1(5l*R%0}`Ԉi(D40+j+UU:s!ac*BOɢDkJ3C*7$Wʁ\a1f Υ'U*"[kLjrl:n|t  X4, ' ).H.@U&k-՜tk͛xf[ЯVr1 63vS5nL|H6XWk lPYqE%fl$6 kA=m N~YYeH6 gbjS-kSEO 6QYn3o[Mv; ق̦JwU4SQN^S("25V$|2y Sһy1ːS]&Y}vet-/B@n(6o7ML{%0yL^~m,3_iN\v-V 3]$c(܈"'ٰ#p$I`s9"L7@ H`tk0ax<<\Go^t1y[Y,D*u&=̳$80q칸Q-.1#J^ur_aK=ˈYKCf|J`]sqMCXKIqsr*fz`JkvAWv))E>ע~ NVC(2)avS(2aێ]71I زL&hD)i=梂q{,Fk9xl MbSf0Őy8`HPvQ{|=.ixQX uS<%@ϓ1`!lW{ KJg|RA*I\W z'.:R^ӛE!7QbS{[ZBJJ\bu5p_ߚ 6{<0 샸2"N qШ280p"3'B J.VT0̧!\=9Bx ,x$\ÿixDfGzrdL&A=؛ >[&7J J1雂4leK= 7J4LB|TYo}ぅ!Hd KtLtMt;7_%eXB>6MF ɄWwn^̄(ֽu%;s`-FWMؼ}]L>+ ŴIä0qۅc}FSg5m0>W)P`Qx H ntm]esclxNT5;N=q}@Ƚ!-FK0\J&aŤ{zt/B— r6Rt vp^QU3rQJ 6ZYdsLBI#ƱJJc`'l6}nٓ~<4k*G o R Rc U'H RuT 53 5O U'Hǡ:Aj:ANfiNZ(K U'H RuT U'H RuT U'H?㋮/=~//sw]_xs8>RN"^i}˸#]&+˳SH{ ױwڎYaIiћZ~}g06X9|́k۶mm\Sw~ j j j`F[4PP5P0_(((((/g @A @A @A @A @A @Aeh j ]o5<1?m9퍎Q|s'S/g-~_Μ:1fO~c/a{$ 6>̟XbцngV.gM&mfK IVO]32ɾ|%a>tdwG|&im_2gQ b+=- O ye<;sVcྵmڏŧopEuD` 'W [#5_{@???KcX#4O#4O#4O#4O#X#4/v"l8 j/pozwW)滉[K%;;WȻw6.fT7]Y3]EXJNԯuqd]~LDutm m+ ¾@LϨB!ګ ղAc5@=s6탃 ZFHZ(t5$Sq1DVhA]6Z@ ,unàb]5IFgwg.mC8pg"{he.8P`t-\;Hxki”EM6BX0p>4B!dKfBr=CɐE2eKsǵ"?fɕzK5(SĈo]gZΩXA";clSV#/?Z JS^ Lk,1?SQH4 X3r(dڥf, h DlIp=ZMK"= .*Pt h C+򋠥Il%uN3F#OՋ\4jJ \sPMxZDoQ*m0m Ny6HGYFFЗˮ~5kOo&ŽIĬh3j.b<-20LVֻGNba~E~Іŋ!a|ʙ_k?4kpE}N 0cՓl=nF$ 1iw%A3\ܾ0aPS{]`'؞|;SeV9A{|*3L PGnmICHlDX> o4EK WD mij"KE`;|Cng$ )y8k7F-q #up"b1V%/>_StȀ:382B< wWD æeABUƙL8'uDP8[a3"2&[v=C(XÄ!aA/d&<([}#Jv8r2jNR\ ߝOCkslK[k|J?Ϗ~ѿ?חԟ+JiU~ό"'gQe ?S7"tUCꄟ:N~ꄟ:N3鄟IvuOsYhQS',d[' ?utpMYIi,INόCAmUUI!ݻsTVi=uZO3wwzVNꙝsRzd =ytJ癟s͓y̿?G/}SD7?}W~Cz_$B~eKx;xGaяJ^ RJWܫV3(*z%!tG_&~t^AލH_$kd|ؚh!{'wʘ5oMo5n]խ n]H+.~C:?u[^u{?kOnֹgn{^A:}soօ7o]έ ߁\g:[n:[S?rW?}?xl?>3IT!9.1#Rc?Wޝ7\جyխo]M<|Ώ/Oz +G÷?gpo/?O쩧qh:]` ϢP|ǷCֹb[:>g0 Cڧ~,0 @W2d:.[b6#+e(/W^ܷcrVǨQߺ pUЕP@XzegUq7/#uely}گ>3#uwG~79w .\H%NcUw~w^gM$&1v2^ ?1c?o]`=rH(}\*V16Q{ jǟ:^ REJ1(f{l8  +~=2¿u4;7+ dL򐨋 V+L3p}ݛmuMпF:U{ry.Fџʲ\ ̫AeGtNhػ.Ta#K17k{' }e\`d&rʐgWo!,2I)H/rv1UWhyH2QGr&_{_`օ 'a$cJ <(;Fo:[rsGk%DI<٫ȡ!u)۬BDeAy V";;Qܧ?-y&xa}˓n~+u|LIKAvFp˿=﷯\hOPRі"}2t\KXᒨ˰L<02j62lpUZLӪx+_P4J&^`̂hJ:sEpuA43ʞ H`(4% i:JS]~q,EXLěTU0 "7*(! DX \f^c_޷D~!y'W"C _%l}i҃S.m: Fqx80wyV081dLk_ -Z=<% ~'2Qj&3*RS!\dé*1KVE$!a`ssBFWU=w|η_$iAunέs/6MֹW=ӿ5L&miRWr'&-I0"uB}ב1%$+ĜUSNr|r史GE_UiϿyXWy:&/' }~uM-PJ,D?~?N'B:v2)ީg;iHh'y.S{`gSBGSB5;/_"M{u:~@V}΋?흟o @^PU2#M{㼁1[^wP~m L(PlGk2Vw?[B H`%Ѻ$#DK/ԝKJI-^yp4H-h ˞y/|-8ӟ!1Ɍa:3\; .&v ȱC}5ăǤ(0 Vo!71&AC^>ߟ~I>Ϲ~{0O$5'Wqx_s. ">"~,{ߞ+ ;Kjq9Lla=6CS%?xߝwm k8c8F@jǫÄzLgϾ%[]+d IJ6 HzQ!*DCw!Ybh+ oZ*8D+F+{֭l3[?i|rgrv׏{:NT ;-[ߙ;R|@}׉%@qĒ4ub0ub~tbe'ubIXR'ԉ%ubTubIXR'ԉ%X׉%ububɼkW5^* ( oW%eau˭ަ\^_䕅]q7XS[Ԗ:Nm #-s Nr`'\kW'dėtqe Lv_{~F!Rd-+H2,nN]'A!D⃌.,O[FKWX fǯ?=MOO{)rj;M"|@VkW7\O-(sQu Ie6U9"r]CrhqѻS`ٙ#GetK:Z|rzOtYoZW`n1aR~`=' ۇń 8+v4h30jl|,f/{~)Fx]۞n`=&ߟuv GX >^@}9ٱp6r%eWjZD i"zo z!Q崏Ms\PsNM,HnmLǃ%saqHBglHaZ#r,,{V ^6+oyfkBA NjQ`m5aAH'lq>s/^Y^G lcnrڳF ㋈W[>.SCfFKT OA kDo% ^yAW;D.L:k3` `u na`r0 Y1h|ŨI,#UFR^-0RmEUvZ5H u,9L u[ ~4. Va <S@s?h@NHMR)U.(jѷZ_ $i4@n(Yfrެ) DłՀ͙'B)G,p#9]D/ڤOBy)f.<B)Lmg0\D-a-2e&qH@?1#U61d4>!XDV 0!.c&0D:#rh6\=| i j*7m*@ ӝ$W_1 7b*Y BK_U }0E0Ah.Ɣ̂&):b2dˀQ3_ ݳjqv`lNˇJn>@z܏{1|AزZZThuX|Z@@RhZ !` 9(@L .r:D%eݛ-IOnvЀ7m)@b9H$ʧyf4pӰ6#H7ept⌽}'מ9rh-۶n5pM+tFpzPXhӲM,nϴPIY?]yu3]x.D!@„y8@j# >ódS? fqi>7sO##+@yfkd *i8tJiDm 2L-g )̚83#QlpM5oz41`z?1M%ϑqRH&)?aUnt\u>OD4}4}:MN{4}1u>O+it>OK_|Z4| cVz/poݥ^\zbRu<>O tw-}^iy!?3te\ [4yeu:=^.e[=]zGйBmac=G~@*H? H K9.WahGYg1wi704f sn#7dsu3eX og?}ݯ oWc5VPc5VPc5VPc xXALgXck j j jW_`` b)4&Qc5&sIW~nJ_}_黺&:S;BJmDe4 4ilV+0 zn Y1Hhhgu lgg?k y">Ϲi0O9s7lw*!0'"Jωuk-N!ZyF<ol~6}Z|b?ۭq}קq}קq}קq}קq}חi\קq}ʣq}קq}rָ>Ӹ>Ӹ>Ӹ>Ӹ>Ӹ>Si\i\ -ulj _cjq>_k[F&iƈ=ЄmLGr?c?c?c?cyxQbi`-P)NJ4"-iEЃ&[yP4f]7Kfѡ|YC<yZ\_ tԥL~[V:"G$2m̀oF=}+zHYvPD$jhV_)q7 "mᄻ@RnS]XG"hM)c,3Otac>i@ऩK "$6}fǓ )D ̄L@Y4!m *D2ӄkRC`F'N4Z7Bb<_5B짰 ҧ\Uj*5syp8jjsʱT \38-yU :]I5ESi OVJ&. ʴ#1@P9m^-b8ZH$76?݇CTd'ƙ sv)OFESB ZbR3D.NHŠ4J`4\uP¥PDǧC:xu0\«Y3xUxWXUupp@t).˭aj HҖ`FK@WZJ%t u5!BvV#h* qC5hlg>5]$0tˮlʭJU=C+5mhlcjpwfs? YK \#N[ڗofP q5olei[u…e!y,/КȜi͠S@&* A:@#ko:Qӥ)QY!8W~୆ F#4l`^v7Q8!aehLk:e\I-Ai tku,_{څ!CZIIVg6Z~AYqKfe=h-hi%dY[*@ؔUoS0>SvqbƩ wvaV `{1-JGJ!ZʏF CC ZGߠH9́2釙ߤ7h[Vcf#= v6TDc|4;43BVch}sq tAutSy`5mۼ]c[5o >%._`K_?XE_oǻҳo+oŷuߍ7w{҃L7Ac,C-^]zZbz QԸ\5T.fp:48t%,8]IX+UU 嚮\;rY8tEMΆNSE ԩ"?7" |^96FS.Οb-nlFՋ?Zz~ A`ȾsS|BDrk)'`/giҋKi@oo/c߇??N-^[z1;'oSD5X&dv`>.+C+<,Ao +K-^ag+s86]i7J%Kjl\$C~/l[z QtyBGpn8GXkgz M*VFd QZ{LoLJ_ 80(xoC+b HR(f ȁT7,'*ԅ >;ZGC1SNW2ӕhrv0GZuc( }+\ g $w]X2{G4Z a1CR/ ZDZԨ$*{$0*ًX rՋ!pvKTe 7dUh9Eye2 gR$;6W~⣍\lbHm23F7 Pf7zz։͈PY}Z]^r⹄:^Gc(J.t`)P8A˧7ChpAKv(۷2H]I&SG>։q3O;ȴG_|SEYq#~^fAҷ@vZ03u [(+|t* }{Jޣ~>* Ʋ/\#0sB_CUj9 -):B'fN|m-nݲy$8 {0hF6J|'מ9qp-[۶k|b? ӰWWC4tOC4tOC4tOC4tg нt5t/i螆i螆i螆i螆i螆i螆i螆%(j螆}AC4t[]'@z_X;6ŝbNi[ "UֲX3gSUgTd)123+i:g[-,`-0T.F{gL_p+&f64kJ^O3pxކ}H@{38m7k)ǸV f'@üv<3NiɀX-3`vXq-7A#F5zm+6Zk8OZMë:~'>0sK2kat%`$7 5 L21g4J@̈_b#"v?3gB-a!>eN 󋜂mj0A]0(37}A+ ;\L84[L 7R/[[Ipg` =a*a0tYqʧGAJ{*nYG8c< hד AT>a9`G,mMPˀc-Rq8Ġp7!kY#Z=;!01S+*(amD,"1&:9zX:WxEWxEWxEWQ5^Q3X5^1UWxEWxEWxEWxEWxEWxEWx(e3ՆWgf' ›Y0`Y*0٘;gўibLya5.6ښkr/|ׇ5s8O_xxxxxxxijk2ِ@ 37K(/Nr0]8W3h-˫$J/RS/[=N38-tjzcXaH+'I) )JgKK'XK%q2),Bt LMgLNGJ+n vLtlOWV& Zwz>DMF]@\Pq0u:b^" }Y Ss@UYՀS1)Q$v@GU; zZ=@5gFS3HVVCi񪡨FPeX䂧A+IfeҡIkF”! F71MBhT2!ҍ5(#ۋ+Kϗ9ZzKK, gb~2L(+!=0o#jd!tԕt ޻Pl].=ETӳPeZV߀Y(oꛟ+,FVs *!ūɍLx7D)cpPH_GmckutK4s >E_R۟\}K|kw."=ߞW|r]E;{|rg??}xӗ^;\~߿}[Oڅ~^g>;sn?'W_V gWoӈ¥7-`Kk /<}珿n{ I ٿo'xSzSE_x ;OAɝ߻o^ߞ}1+޲;K,Q (󷗟YO<55~ryh%= |?By7nx᳧.'W_K{^{JϢx^xpgoͿO>՝sDŽt}ƕWj\^4LN:q8uVUj-UܕUKjթZsթZueաSr̡{'\#Y b:ņl6R' )]a,81h 'w*p[7t-yױcYaAm?3 qjF9 p͆P7EMt{@Ú[2( $p#܏Dxd]| r'b?a;Ͳ AƐ#.[tW-;]оV;0?*P챃SbG8~|7v"̞)a_6hk>Bݙ<1C[nN>Ze" K`FG'&QoEA8v۲a*f`ȾмXsC‡iYf|w[w~L `2p_ L( kpHzLź'ס;CG~xƿ[ʗ'qd_Etx /s?il}̀Ɠ2Õ6^Lp&Lf*5z\%VoF]4Y:x>X8Bixac &Ɣx8>ʺ}TTXMHH>:.IAB6ێqӗ|մ[4}[<ؔ*Vg>=Krɖ`~rlFEz #CrodӇU|nr-{0 %+*Óq(*ؗ% |jfQ A +t,yl3s;vH'߇bBMǂ3]˽;a@EgH䍰ٝ|pw@#?i!tTۘJ?JP] ;qzf7 _o~xٴ/=5Z v'; ~z`&7>4T|1щjM`hb V;V}J Zʀ%UXiNωjp KW\GtvF?BC"qeI*RPj7]Ӌ&1QnjٶȮL,"qvY㤐 }h z^H6)xWd4-Q5 l3|¬cV\~sF3AzE#lVĖ =aa"3f=:5slb@MJ\; m/Dk&_~!88x!Ko1 yDW1aʓbفRrX#{pK`m}AWCCp#{X<=9wSvr+?Q>sUߘq\WNL;KǏZ7WC {IFMJEaȵ![eߔKxqpqva_Sg+iߝfLwfo/TjTbLHA95FZ'EKjD[D6c\M/$pY1/E ;Q@5N"4ǧ@Г!:FU'#xW%xd7JV٣NN`C_7\I41Je^)&bJ.T) I| yW@a '?j@DgKZZQGRTGw̄A+JLo⹕x>duƂ܄3|;ʚ&692GCC|8O715'&mDӁ7.&.%NjzHnm/!crwSN ē`6,jVd+Hp:~*IY=; N|ҮKpǡVk+-*%d95aLJ`d%bJ)NW 014[xJ$ȒxuYIÙ:",[OTցFs#Jg!(^H QޤJbα@̊LH}&2oP#WTcb}yi:~p0{gg<P6_iu7ßPt23SV.UjsV,we]}&+yG4\i8;4,? \$nղl4MLBp"74Y؛wN˝JAc&GeSPx0v%Z MPn܀U@3 P==2e*)̂N9mC(`(.Qݲe i*CPCi9B8c:UX5|:ML GJtp0J˖|#LDaQ*"AQmM=3L$ie[ ._VH 7RvC^ehxzAKpTJ5&>eo)pXKc, | wəǏO)8*7z?GF(KߙS-߬qoQ?PBE\qqƛsڞ3/SQ>eoٺ]f? "r,XzξQ䆱2Ö0V΄)bSR$~B-?f `tVL:ņ@z^ -p2N&$ٰ=K %Ucb@B9D.|LA80`}qů3ج JRi$p#=I/fFwKX5w,?tKo80R3*X*Trmut'f#td49*Š\̕t!,!_Mp8ziH% *٘1(J Chp  [f+Z|Xr-0j[QOlr>!So˄Ge ؏C4ŶU:(>۔vaֳrE1* 3u0J7Ƿo5?81B,W1x[P@I34NHc ZbO߼M#?:PM9,Sł<ſG߉T9l}ۘ\1Ң5xܚ^(9'ot 8rRUk~J6t):Pz6&X6} G9y.Q~hbTJ(rFtTQ7ٰY_&mf);u;Y ˳%Ŕ7Ex l|M[ `tt7lXDrUvpNt6 `Vs>8=hƜxk4l.]̲.Yv|KkxJ O\ 9NL>2H['2E4w:g %&ln|ɐY` ]H5pF3e LVχ<(#"!>"Ǵx7Ylk֬buVʍfˤ88Mqsfv b ^JmŶ'*˨{>5USD zH_*=,!VVY}#Q|IIs+Jڵk]fH:O|/)/FF5v dqrtze4(6`0QYaFGYlS0I]Lw,CxRnCu)TUt}]$aRP/@Ea/^.R P;A'zdp]"P*-PėPh <އ<2"SDޏzkQUw!*pJ e \j mY?׋F%Ǫ;.<gZnBOg=;wmH^F|=GP? Mǣ!b_f7aIoi(U SD1ٶ`xIw*f<54GLڧîo;Gf2`gY;AB8uUJazrSEXCɔycHAW&AK;2 OJCL$!ɄQug%6L|HfBvNj{4TKٗN#c(0{pn^+bI*'kȞّ[>;F] &-ĄDqUR %/7=b.č)d,\՘+Z %wzh9Z >#0q{Fǂ.N0d[Ahy@KE!sJ晒l2oJ#C:а sb[>S@ .T壵Pa+{}>y'M cfmc?czw->`|@Seqoօ͜n?̶-\ϝ2]ЁZ7v%!,?I;WrMŃ) `,(ӂ[1-C":D!r-mm}D ݮ՜Wo7W^`l0zR}"RԳpuAF,l h=k}.o)+ Pz$ήx 4HocݛeN;YtcP)1xXUg o^9@-)CǁL:, -Aodѥ\hM#R+ :y74|qk-#s#LA7TF͐oyZhM>_lqm@&^L7/֔jمxWF3ȼ_Xg"Q !,䳱5erx:Xy3SB4ͶO LdGe1;؄jF)4բAG sS8ȁy$'ȩPu|=RqG%<r4̬YµL 7a0䀐JD6d}nX2aY \ۑ-<M jXgthA6~n 4搥ȬѨ!0on=1FӵfuLj"wBj+xoђ6;T)J_<Ӑ&h RC(*;k@yȞ%ET0m-JpqQ\6pPcA(;ք %Mo@#?u*(tio':#0A. 3aQXtЀBIAΚJFuBAG'7/繉&N@] D%|&kఈP{TZ^]TDXg:/G33)M smL6~_@!!hͩ4a ;5Vd% F"987=8ďjѐ)ww>3Xsmo:8 ;l%.G_5dhfܖ?uE'IdlNKEn4A&EPܯ![U@"PB&bmcͷiBT*hC/)܄]αcy (Z"PA|}A|ԆE$FЊ9p 3n+1 EY ۶XDvJt2 S;ysW6 \?jM 9Ep %.P"*1lȁ `vj;rG@ QL{,>od 3 -nDHfLgisIpVC q@QtZZ4u1ۜpWJg0.?>@<|Q,*.L%P4HKq=։;rܺf7aZA u4$L AT#*KVOS\dDd>BZܚBF von"쇘eF@w6YZ<#~¥DSF;@lhmgQObkl۹ UBd49 P`c5xG\yI}&?NQ4>6N<( &Θ45vt3m s*JaNb7sm>1 97V(DkƀlG ^h Ũ&C ; Rl[:j!a,S0" z ~FN)}x[|aC&2vX,%h!4g:V o 3op &6`"ͦO+)a3h*Ɗ'K!o)":0_CE'Ԯ5)S/}~\-qÇ4X LC ˆ*J4E`9Rh~2Rf5&DkÀM毓t W͌&d^4^43V Ftqŧxܺ15?ɼ 3f%ETIsҚ s6:&xħО7pv7`,1Ss=l7]YTcC,4a .HL.x }e}}l)ma6&.pEm<4='@Cp(άwɠ\XoDswo``0:)w>;Ԫ.ZIVITO5NfxNu.n P48]U/hpʅ_":cG"[Iz+?'mUj><ɭ&>+a)͹3߸۾l5y_f_vYy]櫈ܞF;l} ]ܼHp 0Ls,ީ Ӆ ~ѿOC! 9./Mь"J Μb7/f^<ضG8#^X^ئp҅nH aN)1 KrxxH1F~ 210T=0tL7Uc͙hWaKklQ}j|9:`@dS@u.ax 3=5\mOXBI4æ)d5h.QM`a 8?oҜ$"|v m'O`o^u{OLZVf|.$vDw(=($gě\3h!xhᬓtk!<8F8^]dʾ7-*<S\KN#Ş|&48:IrqnpNR0 jT?a=p;dA0Hke@#p7I1҃|Vhz v'@nsbh&R+N-2='hR7`-3o~|&w$1ocВnJc Aɸ*X(݈<d~CwY!&3~wdؐFR0ɜ ,As_,T/ՕƊ1LnGrѬ4.&ǃROq=ςvL/\Hn{HQcrv1y*&*9 8U6Zh*V.VU5" ĥF匪3\<q鈪mPafuXYqmi ff"`\SamEΌ uixk?{??˟98uG| ?99韬eХ]l^`^=9YN505aF:ZA]+/wfDkt"7+N&2Ħ¤Iy&XȞS 'E1r%))KT&$u*7Fj<^d4zJ $Mhr~f'v*-5G0Nh |>zSzm L 43+ †x B3@|'tBͶ:eE9#! ) H;:IM^h:H(4#N<X/.7T=pɛ~%Fڰa ~Wp nc" !j2٭*=ihHe_4>ac:i52P"z'$|o.8xЬn97_05+9wTeҎRH̼IW irU񬇶]2L"`9urpN,-ra.0m a6 z 7J4Y w7RGcrMzL%' 'LKuO0!M ` MBOaN7$6 Omֱݶ6m[iQ=;sMe_kɎMJ@]y$^Q/5y2[Wd7zF a/}`dswEKs?[LDvxFFI&QOn& Sj%Q.73Hd@ jӨ'Jf?#G9?łT &REu41O4ƚ0 f:P'Z4Spjxv1 y~fe#1d`g7jZ|o,S.=xe /~пxuŷ/[z-~xcŷ~]x{$WePYx)(F4o,=7ߤwZ痞FB=7_f_,^&]<|tF⯀灛O{cK2xHV2ʅuDt.j$_|/~=s6_|uG?@x,^9y9bK׉ D_CߡQ[^ʈ[pΣ\:5h3$ x8E&-!aCFyi[#LPQUҳt1Bm|QPo o.]>$^** oWe=J>Lڞjm4sp ˑ`6(  #,]Z/! EU@P#پv!Wz++7P@KS +*,Y4rYAW~G/nB}VB^S 27ȉ YPS:''H|*yWI`zx 7ń-8\V678llXT!S}\s ,V, v-h I쇲oeh"^TMHLXxL&ط2\Yw@4pHPsYAű2GrYK/9AWp fOcRwh?ȮDNJWC);&4Tߧ_$@M&QT|A}A.^ʽc%G4RLK?\:7|iE٢}=i(hB~M$)_FG.v 0Rq55p䒔n%I+XaX'w8&^.eyWR,'4kCA /RCLrA5 2|ϼH ڏ$_c94wNKuLyҐ* 1~lu.ƈ(>/{5/=6:ҷ 6;2)!ޮ;PP-M.*<":fYd$=PE~$Wcɦ{;vηh,8 M pnP82),&+/p e Q+G{Ë<]El/e|kb&?&#&f$^h F꛶X_Ӡ*t)1="܍2K|R焩hLC!o& ߹N>8zG DD*F-\(aTy1KWK,ީ{/ߗ[d d\~_F>MM/`iTGΆJ+c]̐FŸoJѼ%ՙYM٧# T>3J_"uY:2HLC{ԇ4eK' G]LQ;諫V(?ГH=y=٤w|>;!tBn`L׷K(Ku1C"@N85Aߏ Б1/'˧L|J>U e>YYO#׿oEeX,!86bd^^9%oK9\!#&'p1М^K޳d a&dm?mm47 9wQdK_hca7T<'ބ$>)>8U5GQ*6ݳɹz;Yt:tJS&ݿZC?JIR)U`#ht.QrbeT7nA@ww_9К99q?[7oK9Mk/7xo{Pe~2G{%2V ?`i"$ՑX%C& XI•oҦ qo2%:(+y P.OW^"Oe(ZB 7dL?l .oK>}r1=!Ăsp-QI$y~A..\þ ) buK(˴7ո}zPY H`O|}!qJ3K/ P;Rp(Fȭw f"^[\\.h !`'c`[J&Q9˄() /_z)m!DࠩvY,N~ Fa:ݲ'ݜԑom@eP)@xn-io֢Bu.j[0||t.rCϦt.t#HUc/Rt/hN輤֔/Pֿk^ҕd f'uFznӶK&={eIQprL?#>e!41l >5K/WT= >'#U+G/ ܰ%16b2}N꧈Dm",~/1WR 9I!2K_e.]shC^\Ů4KoqyۻdI/"+T8jKU2WvPv HKrZJL$8ƨ?"͓mV<*04˿h ӵ_҈-:YN '$EU阄 v]HyC5b%w!Q7As9!Fq }/˷~R})d !82{\\ޓɄn 9Ry_;iVȫ  H"DEy229# oXAʤ&0?v'˧yxˑ% g8"9MCZexJ$}\XiIRh!ЇF8N&Pl'9_V@ɄNsMH@d'_J (S{ks؀kg$Y?$&/Fz5HX5suK 4 F5~i/p թHB/LlR FhU9!h b6CܝF 2?Ik[ 5u5+&EHܣr lhs!v]y?+ؼfC3HL".#O (&_ 1FΥ\؇ƾYHS._ǬQKEy),SIDIJ黪g#,vytUhħF6E*h8!;.%'KsCN|1Qމ 6Y'UM8 eֿ>G5 :,_澥"x)_!D U|h PU*\FGL :?Kn}]֩/P"Tmr:cD VP$Bx '%(!<-apDA2`nTJ(*Y8  bW'cǚToW_\Pc汾uϵuoF݌[Y6f0Fe`R=Z=çB͙}AfO]NjmNW3);4L8MxS@{nx''wR|nИGvZ9rA o~jl4Dmu,}ѝl&@45nüy'h7m"a{& QDx 7/4™V{M{ɓ&NLìRNlAx p;0y|<kX͐WRξe#z԰Yl8Y;u6PI>tYnxoX@ E Ptd_gcm֠홮e3U 7ڄGx8(R7g(ΌAEԙF&ۗy}5WoDQ]g%,;io[ [3^sNL>xV@6AQc;WVLG2$vz_ؔl ¹cz4,RVb:Pzϟ Zi'-S.(^gڲV#^ Uo;3k42ܖ\Ij얁n _ . } a !K $FeHl|=yu8Yu -mJ C@Fgl4ŹU>7ƭOrn4^Ң৤U*[~HVU?CÜ 33vC33'731c+N+GW`.閤X)Tw WaguqZ5y{(N=}_=p}!vd'a鄮]Hӭ;x Ujxs6(h($f=M_\#Th`&Ԅʇu0 Ĩ~6fFȷ(U4Ѣ^ }?Su{}lۢ?ka8d O(!cAܭI%.X߱#VF#Qq羚`a(]ɺa4m&F&Bca/]wvݽVQRnkZ|G!M3m,E.lXe}˸3)êl:H4%ih/l$.RO WtжBh/m|G@4/_`E\P!*+3$6m/Ҥ}äTw cC5Cq$J1{7=~G&3ߏZǫ۠g36L>EBQoUNhG,JDۨ5_f\b%fakPܚKq2(]|6ǖx>/9sny6ϥ9,rin[ͱƏ-&wP޼e0MN~-p<؀bϲ5>zd@*HZ:m]o4ζ$Vqo@,NlOrGє6T7k]8ŞbXwLi[h_:5p_lz? ގrX凌1,G$NnS82W>|EkKqߒׄ5N-4lTxS Y.I[,xi2c/<1qWV >7YІ,k7pUw&&NNeGN9yP5b{6o:LNDA2;lبR#sVWs|Pyn4IX3p =*#_mJ mS(rGk{UfֱGuw->?g8sn)cPrK8P4ii'Shyߪ盼E`ib z# FRa ƠfǠwf~6tDzB}smOߴ3 H5P͹4{-'}&mjsF/j~:mi5w1)g0pAfhS*XeVo[VT ٫u]'}\¨{v*gN;nK ¿߮M=jX=#{v'9a7 ݵ "OZsӈ_ c ({B[bh[M{1,PLl o_N$=`Ⱥy{¥|X|]J@ d9Xi(SUXLL)JӪcרEw!F|w?4O 6E,=j/2V$`=ݍDѮOh^п#R9uBvW\X\9^mScb/cUk,*:_\L3i_-=Qߖ6 5 Ѧ]^װh;m\s}"QűK˅i |QM\QRwB"jAB1biIr!*Pi.7d6GD_ڦ ƾWFh_zRϑchhePJ91KL(MM46~a|I-#}&hUe,=6:oݲe0Zuxxl) \h4[pNj D/:Y^5G Շѱx3kotgMO {>9&݇_a66  #L\vcӟ @] t\9s#GNG f8 DpM<2~ v2ӂ]&"e^9. m9]`x]`(Zjˣ6yK' ט5YsA ,{ԁ'đo&82P֟=}\%OcuT{<)ÞFGLH,Bx^xVlGhTdÖmuX;3 10ƠYe ci\PjqLi[բ(߀I^˳^|70SkĂ'L0Rl`~st͕BA%vW-js|(؁ia!tf`P;C7! ]f7v҇Od9A#TIX}@ex?)GaRgp$G$XLSSL#|` ;Ț-TZ t.}$xL*(S z.ݬ9h'7 &LgxaAj}JeQd4- eҢT6Nfk5 eR^*TIQM HLM_Һؗ±>O#p+:'Dhɫj;G0Pb̜Tj2Dx61rNKy  fIVړ*.1*]uZIOZT= j&$)Ez]HWeB^8a/]"!b] "hF=H(:$Z ]M'^=$tCx̉NfԱ9s|''OLMfڸ3Xݻa >iݞ_A[?ag0RX|F>BEP6mѣ;yә |%g0k:::;ˏ LQr?DY1m)Tŗr ?1ݦ)_0o5UFUPhX ZEL6Dk&1=`G<# 8c9Uާ E(Zfa iѯ V#-sK0(@g8X@UV\tgJ=Oi\4MhAJ;6h3%VqOp?"RwVe noA}=$e@qcK-䫨z@d 8Wm?aǀMHq& k5\Goa5քwqA|ր:$1}K[a?PO[=Pqlm7o?ky`I>0qWtlt^b{uWn,`"k4֮fTxby^zwa KW퐿NaX%K*q.swIq9ijC ϒ+U80[:$!PQEsϖT#ŧ%aAr+h\"b+i&N 8x56kɩIìRef3ǎO??k;v:k3`M*'W8t@UHD᭮ ^lhhoIB MA: }%UV$[GC&T͒rN),g_2TiU-Ľdg92?Lwѱ>VEky`oЌц@+? SӯjtG( r7_ҿc-.fӂ: ܦ3{MD;]~Oy;5剘.)ʫS=U.tSQeviHh, El`º6>Uuwn|s|)N=EP]oh0ie]7闿, loE}A9vxy*E@@~2(K.⺡RDAt\}@_sQYO]<3ml}Z|OO Fr٧0q1ԣCʙ3@LM6~jOcu{)-lP!(`|5yopkW"9:*yӰQwsiAXvFV~u!CCBΗ'I(ɤ/ly Wٯ>Ztw[j2O6a]$c+<Vq.=ʜ.c`A(5nKɦ54f<2qṱD'QB!rr!ʣrW 3*?5yTzk/t܅XlHyҏ~+Nh "VA,;1G+]O(RC["q9*h:U`S;)xs]AiY`ْ=3tOk:ֺ2 Ţ(Q~ᄱHW0W߯!:,,&~+QN; wB>(do|g-5q@o<*T}f;Uv5:~ o'Y!܇(>0./&>uL86gL}kVѱ(0PK³ईF >NKi&![*(4hQǩ[0 ;}.ц['UK,YmŒl7vAxn0D6fȌs~ %<.@m;of#,R&2+Fee݈5D؏)_J*xk?=NQBE8,9Z=Tu"l0k p{[7 1gu9}Nx peh7Tæ# ؉йE2 SHYPѬe[-uTdшk],hAgۖۓ훷k)U9yU|<"G/r7qgԩl/m8ɽ}Qv;q bβ:0MtF 1.CֺdF9Lzb)t*PJ^}P&TϦjs-/ڐՃ?T ' O t>7ƥ*>pNAN ~-_'x˟r+uƭ[m%ζ׺smδc(-n^P xnkU/t?Ou_nkZ|__ F=;u/ysၴk|^MA0O+WBtZ<X\ IEWw7((uxBi+gQ]eYkZ DP rs`f'm_d ; ]cl|Ѥuk_/3x)R&XPU?WX2kD!v|Sw;kixO5YהHjx5 ɋnp1+l`0,$69Da* 8{|'gO,qQC6r{|qi*`lS2Z/=Bu8QZ:8X>ݚf<Ł<t}@ Ȇ($fS̯V|,_5Z^͋"@\6:،K޷*t{ʺ˙ =VES[#e{ؤ]z6 ,GUƭXDYB>fXXdic?r/B]{^g6s%cc&H7[Q6UZduڤOL7P/#GT+i"; m/&Ŷ=mMf^[x+[+q,ڸJZ+a*Z2Y!>Q `1iX:oǷ[chVIĩYfIi?g?;w_{s(\\\\Lx՟/iscԧĔosg0\ ~KrfĈL#EH8UMFNgs~~FgT| ZGfSY<$jexllQG):]cUd!3yM-D u 9*}|ޔ%D2pӕX|vS˵x\w8AJ%QgA~#t]??!???! !<.)rh@ٌx}h=|<-D;Jj&|QW]ҧ^ɇ@At] L+;U%I:Ǵ9*mqNo[yiqut#O @wS'{YT9ǚǝyG}ҌPO#"},S׶nFc lLAM'念~c-Q0f7"Œ+^g'[K|a5eُ_[?;{D i85dz5Vkgwvo/~w`^ip1-Gw{hmuZ[tU"3B8M$`c欥E ^2tzҾ:xQoav_Խ7pﮈq<£f-Aٸy&KM}6$Fb㈊&\pxx /+cz"_/9j&m@G$B4 !cC[ MwE’pE7 c̗Gٱ ~r B\%rLhBi|3%[Ń2}Ȗgb"DTC `w+&' \OJK 2'+ ɷ,{RyG{MU %ͶUwsm3((’> #MeeG"hSp) glbFbqG|cSN]؁J~idG,Mp@Q,6in8M,BŒyp()K2cʑ {D7 )μƁCVH;mLpP!bDvSqS qXzm,~W4Ϻ &N~BZRp{yx=\u-קr \rNh1ݰsj;1sm-ͺ~g'!&31-kmT5'avAį8V/E{gVՔݪ)x*//M>Cő;~8y 0!o,ҏܔ =<-%/0| PCo:j@%A)/A>{4'k@")r4 ]ϷHn-d˹foCNFiu^)Yѩ *E3˞]{ZРãCv{D} `'6yGHK@?/ &q}*瑬Vi&yQ.B[>Uzˎ6$5bhUB74]{bEo9Uݪs|I,o{^nuZ"0abԥH?02M0KK%?&<2l8H8,ʗk[*~۝w۶} /X7lqRȧiTU @Ejܸ?j F34yt o$73y׶Vvd/ݻmnй׾}sYR>1GA[u8wFw>Ǫh˟2W/;wyz~[139tBs8!/MhY!ǧ kF w_Uu; ܫO[KVN@~;J(-^%#ov&8lWxӧnE;gw;sw/عkO'qzmpv}O6}`0h605dxzJ.&ڿZw:}hC) =~G86O˱ydžܱ-!Yn| M/v(xM)(x="`wW챗qCp)Hw$s1ak-:^[>I`4{{jTwֆY=8L!#:A?ܩv+/Np'N.L}|KZ!.؄o]:ledG> >SHG+J{ӍO{IObg3w{##qI2]q~Zlp\pR/5)b=TIN(:$-չ9V.(7U !}ʹs܀M}Y!gu." d4nif؉%#YTx  X̯K|VvgtW8@!q @zm#㐱M`,Ω*-jX!~9hлqlGt(eiCF ıQAx묝lss"i.Lgl+B,&棿L^/T~.///'OϣQybŀ+Z+Ҏy`P Q61Muk/1n~`"; ɑ)FFCdGe i5b{9- 8F8lxX^T+刋]1WX 3gV'cᦗB}G'@QR1c }:$q^G4ßEb{ݩ o4HBy$N"wm6|S:iQ6֡Dne (bC4=Bl 5K"%i5Ho$&B/ q>·`'\\'ggy&U[נ G^VK' mMW=}hͲـچ1zQdmÏ >V(u cSmH:kw^K%w;6=6pt2Wߌq@ c;wf"6s3w^U*ؖUrq3{fuR|5n V^{L?e ?]3%QI-f '}z(0eR 10x.XVT(S2P6h!;? (k&Zˮqa3uY,vƨSwyX l5pE2S3~6t$@xwVweZ[%Hro^#^ûunS-*K|-#29U;ٮ.,/eպ1z\'uR5u֯pD EM01x5vwoê{x+oFi[ؼ/FM٤}i-B%E,zcGӞk4~.\qc«~ddHjIh,r!o?=1.o v>V /ܤP"μsR'XD]H1TfcՇL1ջT|n8$Ð I{v-e8^i ܼD:RSʨjj*'2&Um#2WPM( z n;|'5b8>g/b/I,*vCQ⑂$3"T@ę]>&qWU0q¡W+1 O\Ҩj2nK}hӵ̚˃Z;Ϊɤy;vE Z{mۗ ziy,S~O5 v?`oޅ4G;9C=pmhS[P:Z.z|Z031< ;8Qn+~ms6`#c޶Sbb-:m8Tssl7urc/s4wǷ +sL7+Uk/;7*ݍnhĶJGX4SmbwFjQ vp!8f|gyųAt0 NӲ ӀoQS bY n&A$AEucqkPj:F5M-q@-ltL#hlnK8$? h plBC9.fG0AGJZQޠ:My0|vO˅ܨz-+h'r ݾ~^с^|>R~ VQ)j/3/W"}tB0[pA7m>Wq *!A,tY^ʾy8#:(Eܑ-XdJ?KLtf~?Sc^}sLzv^kw]hr3&}e\|߮~e=Y_o )wSg~zNO&.\ϸϺͣw믻~we}꫿ǿ7U?pqyW积w\v {I3qok_w%hL:˿͗Vz?ݷ~gܛcz/ e}\BƽbP~wT1?tϥOO(~>/첗|>sic__|~[^妯?4sU?͟y` 'G۵k}I{4~e_z__v0U/yk6ë'~Ο\{+w{ߏC`#y[|ћO}w?'Goh^]??vَ^ś:y~緞և~%O{?|o~췷_/==?x^So{;^]?7x_{-;};ޔOr+ug~{_?mowү~={o37'>?|ꇿo=+{㫾W垧>pCyˇn/G2|.; .s^җeNWK_^/͗_~sO]oz5=__-_E_w]vc9_?x=Ɵܧ>f˖=Nywվ#ݵst3w$gzғ+k~nӮmඟ寧?~Ͼ?9y/O~vv^\KJ?=9&yy'nb˗ꊣ݉ze=qG8{=yj+~?-o~Яr?9W|z'򷿽>z7׿-{|cߏ9o^o~yw__}ooO#~O^S_[˿'_9???rmo_̩?ۧ|s|pk޸7'|r?|s/:O}?yW}m|W~s;_EWzoY~ޯ5p=ooǾ[:|]W?{>ŷ<_M�/zo}S*Οkponק^зū[?y]o]_Vo})W<|{yyrk~_o}W}v+?o}ˮ|-'?q/~ϿXo=>\图%ziW/~O{S_]oʧܳſmOwOޟ8~oӣ'}端~կ?E/q_|^guw>ړ'uw;Oy/}wvʯwMz 7}W͡O}O>K~w]wow+~4zhsuvw5J^%7yc?v?Ï_Gov';?%gg;p' |ُ]q+E_~/䧿_O>_wS}ޡ{|}'v+.wέ?>׿~+_ϟ_z䫖wqs{x/zK7yy̫^̯o=w\_yS_wFe.iu/Ox?/˿֫_~o7Oox?˿^W~o=lyݏ}S>}og}_y~l5O替쯿o?{yϿs-OO~;9˭S?y^~oS_<*Է{_翲q7''w_~>}nys~'}/퟾3ᓻ+~ݯ7?Я~?~x6鉟ݿ7Ͼ%}mů~y|{w^D'כ%Fub? [ϊ;F73۵5/}4~Sl /M;9{} [T<9,ߠ uiFoe^ΊN^ է{4Mu'Pn&8a?2NZ-2e6ӟNԛUO;Y?k8|ayB`8z ?տ7Y`߶m#^tnUƍūDz_VFԃjX8ֶ ;II1d(]L[t:.n|6?Uv6-JUyJĕ`I΍i?Ӿʢ~}߼o$aw.'ߗCy0拤1΂+Є*WXlFSX&9AԌ*sIҺ: ڎDvM7mX p`iGZKz7}եyVqC^(or=j8El6?ȟ%m2q~PU)8 %^bVH"PgUI_,z Nf8#-0o:].h]a8JZ$v3tEv0Es( b1T:شsx351A/9d%J*dLĹat/]8 Ay 9/ ;]*Emp2@.vrOK}zB"ᦠ!r_P'3 zfBdQ M SI)))1 br({<7;u,%ůK!pk)Jg#`a#zU\JVnYa¹TYKS įT]YS!oK=U O#^O $zEHdϰ75B )6"tD_9\5&?*z{a>0 Y #`9/;.?aZ;XEr, \kqRNa) #̴{ Dl*@/&PHWl ӰBhkB2j6\o7"3Dbt/u3M8:%QL%)fBպWr[J-H?j }>yj˾=gNLhʛǜA!/ ?R' %ra0 5i##+3 ,sQn xH̝͖D=ڨ"H!|J#E,<8d& |S991ڴ}4NءhrHO29 ʥnT'82_jaUiLYE4P ZRn r&a)J2NB5g?~]5ڗ 'zhw<|l6,v#aU~!*CiU^6Bvz) ZZkX@}XlWJ[̩' ,W; .kA1vݘerɘ&`V1$R*Lb4*|\4* =hEhSϢ#]{e#\$u+.}G$PQUjߐpbP&%dS,U/!3XA ćü%pȴh|$̙LCaO0&|U)PZR рʟI"@^o 9O•k4UVU>_*q8q#E}_^nL:IQT!IZ{kXkmPb!s8AFi3v#>V*!S9bgh ~f&PJ)Ut-J/hP v, l`R";8[,A艁Ȱ7heuU:j9/RPFqfU}>ܠ M+rdXԐ"('Rz6d68Ռ^žRiܸmF-{_=G#oyk,Zc"9ԺIQCXv'b&gIS,Gpʏ {oGiI&0qK eTӀ=1sRqh{+B,ws!a`YE6 e#m,jS nSb`E͗>pK`Wd\d w|KE#H"hlJ?Տ?P(ë=3 R.!tY ޻qۊB; "cҷy*Nڤ)cEcJ>.50p d?nxa(!w\aUt9SܙV$,ҸEIax-olMv]7ee<K|BpWAfd<cOH23#$|Ȭ@lYJVe}9H*X_$2ߦŖfFIglŀJMj3VdHTZ5+'fOT ,NLn-bt' BA'/܋xъ;ry 5BHca*<ľz\8ƭe&KQvw=s{7oks/ o X^@X,_9~5:4h]U{WA\5DR`=ĠKTF~Aj@DD7*B 􌑾#+،.vUD効1 vpM3ʘ$%0' Sn#Y3229e $PhSNC=E0RYq(6aeo":yT jݟW5+Ä})EL7pQ ;D[*Z @zbb!s>a Am6}Kd ymᕥÅQ B!f6(a0訜grfz~+}]8-U; ;Y"bn%E.Ho'ÑG~M1m<錔^]qF5RաiSrBEbC  \ c|=r%Lo˙5I"xrVnbх|W>Q'k6>^)9LDljKFA0 z:Ydi g ["yJ>:m50FѪDlÝ : [pOzO ь'OްL m1λ9Z@ ؋5|WB*oֲ>y㰎ty8a\ :X)6ul:a@7} )f>/+Gfm626Z5 $@.gYtCAF*=gFe!>lHE7]5Q8'u%g>."H7-e*g 2ֈe-,uMdn^1?~Y7ZXDB1L}̽;3Yld{ $-Vk>,~U,NU-#N:}i;c=B/4:U2 6Vzn?~ ;͖#٤خ6{ wE,D,z% 7${YXvJ,[J=rvSֳ ۘO*5a.ֶd/Zbn0w:`Tf!Η6#]-̉d~Vk׮u3Ϋر4NVޙh: kyv1sH _0 'ui>VU6\sB rXv.zOήkY`EdJG}8&͟K H5͠[ԕLoDhYv6v~&Am9 'v;PJ"!Bp aA,ze% l~%}9ֈ8/dI_v'Z'}c6ͷ$YN-:͆{dREQ3Vۘ4-qB+8cc9!qz0A S5Uwu8ؖͶڛ ?RV-}V\C?Wa3Ǵ=h)V< A9tGdVr j UwdH;ĿpO{zzv\It]Xg8%k܍A%d(Ao,ƆbhX+Sd.U-OaEu!O1v#wV;$\F fIw7}vU @K!&҉EŐW}{!Y_Mm<g7jǙ WqiJk /ny2:(ؓ؏G^&Zy8_h]mbɔlLcA Bh1^۵% Kw#M+[AZk__[Kuo˹WxW噋VQS2`X$Юb=Pq3m~do1@N0 Z,gc.YoXfqʰJ+P4SOe@<-6]x@P?;IvY?ZQHMϒ=r/IOp1R€y=⩌q [,A +^%Wmvꆚ-⃴ dRg.KvKhr֕{fnP'g|\aq׭ S3KSd *ͧ$+{~l \뎁/k2pIfJ2sF{ƾRt$bLT^n60ͳ~Ɛ*Yӂ)rRtNZ9mɝL#~CvJb;Krqqr؃rApZ0r3Lci$&q9ŞC }TnvOɐa z4sJHĚ:nxF4Vd@$b-# ,Lo{*/᠖Ja";: iEL0=b9 ?o\ٲ @,md˔>^LhsEP)VUA8,ej0 X-@<U"ܭ GٯSe/;IvA:PUm؁$VTnNpnwY$2$xm^7){ʂkX6m)e}o֏:HM]cuBl,&A.S2 & w3+ơvXa;]YFJbĴ5*ۖV)'ſmUA*4үkRuJa+7ZR|*혝HoxqE)"gmǫ3vv%4yggk8,'] A 8ԊSDw$b&;xc 2gt &T*L?Gz[-qeGm.30,Lu\cd/urh޴g Of::kEs ]- '!jeWtSNɸ2?Y:y FY9H]v8XLʹ"2T p/p2%pj# v !tޟLR1Dzh&í^ʼnϩx$6.'r/^EHCԺb8rPr鄥&`xJE}/9 $-ڝAbסcX>&DA¤㩮hC`R7BJl#;vF>k-1{<"hS\5#:Rnt[P0qa ŴҢ +b*rO1eV(rNm,-/,1=,Y.!< )?nk{;0'|WRW%0[yS/؛( d /`K@+RDmQ_LKQȶ5ew]R,)ˇOAYL` T}L;]W-O}mcj(8,:*DB5BŒXD]R1G̈',gUDX!L#0Gwpw*ܺgXuc!oFm=fjUgqM;зRvQ&kٲc͖SrXlT@_+@bM4HnF%Cѝt,fMo&e}]vr@INQ?]'てaP2_;g?3zᢊu+è/\f=s!谹lxEk)JHc{U`U8>u`"%YT)gu%$VؗO}5SR*\-+\WeEt"I^AF٨~͞dDq`3qi2rdj=3"LgA_[296rf:vK~ANXga;E\o_FڟN`wߕtD|[D! )",Λ?vnߊG Y=kΪyG{ج fY;fʋ'Zb[Dh!NpGݮA>8V(e =g\;] ͰA&!Xؗ\(JfH^_q=k(Jy!_dmM OŪ-RK7/DvP-}M iJ9&_P K& ڈHح&İH#04C!Mhydb䞲ݳJ ӣݟibʝcfڈ~mWs֤'{Dk湜[G۷yMjJ7E-X[@+~ѢU%ٶ݊_S~o:"C`vp|Kw/Nnh5w,m;;rFk0: Q2uy9sܮ΁|AFȭDWam7 /S2Z-0)OhcjϡQ 2sPڪfE*wq~H} ̎d}ńRľnS<7D}1UM-"tïXr\N'ASE9>n] %UfqF Ȳ!ߡ ˁ ;j&DAP~QeTEpxЇ0#- }ic1TsRqaO:@Ù,^tk7cPz4ŞkѠP1vZr""ACD qq=o1#i>Z7c%0'8C$ݘUo@UkӘQ`,d7-HG6ps!`hE'_8 Yku+JM[`c3״܁v=a֏L JbifwV<+&^f R2SL#8HT*ej5SFOǞDDQlitXJ3f}ജ(qFQ1jKp[zE|ԻU2K=Gr@O,c'KQdnJ%-úF&NXe,TyAXyCz(#B?QA?7!ꚜڸRWQN:%P[Y8ځ&<#6!rikKViL'](SK\ΜDÒ8O]-W*7< 'o<~c QBe#udZ*'1 ? QRQ&v"IؚιsYl;&yA5i٣fFmR166P-rיx_*\(BP˼,t"$^i[rVѾ4f^ѹĿm~3=uoRQS: `Qǫ\,@?'M#xU>d[|-Rf#&"ؗDb \eD4H 9n5Z&\.jHY.s=)FhsAn^ klaENSZD=um)ga?_-REp]AϽRy9>;]xjٷUN>gb~BEN|M_KۭR#pC%-:2MezŸQ/Z}7py\_cގ~G9JI%kXΤ3֯RY XXAt>0e5r.e)jZ8C˪(`۔̐>՞ hE9 J: e,礢ٸ5#L؇D >-R啹1Cﶆ>SgYZx ]Лa:֦u/|p)pRLY@0vwi}4=@D&[MFѺ)9Px5pE&<ƛ5~@ȇ3`"p?EcYQ|yq9\Qh].!ȇ3*i(Ѥ 5X< Kݺa# VD` `@ԛaS@o]4sO0f<~u|ׇs (L;&%AK3Lw)&R|Oը ;oM \Bj..YF=vu[6 hǶB70uNcUPB/+ϘϾ`^JX Jg0g6X O⪏ErFUB01]Իd:~Shhs0vLMK"ўݢ=ɏ=:4fXop&cҡƩE+kMҴAL5k/.r1SnQj|t*t -x2J R(a,ZYK#[x::[kZIz[{1h>J4"Q ᕍ6!Lབ{VXvG|# T [:~ŭ^ Zq`YU"ǻ.E?XtyTϵ)w 0;|{HE|T>SYr쎩 % Ҹ*_˖z_6Uqљc|ahn_OdZ֩ `5`6*X(|JR[!%wD:y];r&\ Xe":'dȟH2"}JtlGs(8dAexYv%d wo5FA-aݔ3 1eg"bRZ`9LCgZEm)ae6q,po]/ap.TS6AC.6lPM> M+ $`ʑy0/^X?4aZO`qyz5̃<)=zꕏz}LEQ;T,MثSUDVHiK"DNr46 Fz0xDnU Eaw!ӑS?"IH^!OLS,`S$ETuy72G߭I9###Ke! dPZ7F6,#f 3B]UyճJc=nY݊td^IǃKhSR5*8/>RNv1j(7r";ՌVk"uTJ 3}3jl.SWf(QvDZ#ޅWHo;6Z#S ]z$W,g7"bpXPr.3,6fI Z-Q)k@&fZJ+Kb)@T%[GȻm.ܣ-:lKj ւ6NS؄9*r&yY#L[1+߂[.8]ZT=gݩVgS a\.ɏwޒQyddHP:; l+­젇fdP+k.nH0@Y_!|J7ghj8FҪ&<;W&)G6%H P2yEf{oTR#})yɺ }DM&GDFKY\EgJ*2t=.ϙk&^lG,7 }o.>n+p}$T+XMB}FjH*쑄z#+'k:$rMn @`!INyjת/-Ji;rؒ ;b"NE&P]M z0Eu zĔ(C(|FASk q.]j1gee c%&#\$~Ŕ&w-"iBJH{,;rdO&쩉]9UBGcK_#luR a)&#؀Q@ƏLd}iQ*UdzYFKĵz#͆簚Eԭ@=VX,K%JBH!q]ri zJ i5$pftfG3bM*eEJLpޡ[N9rteRx!ZQ>i]3+;b -+줍)G% j# -Y쐢0Kfgjf Ȍh e|H0YmqQSaM@gy9~@V,d.ٚcG"k}/s+杺)6޶ h|#X\ў:GDjSE /n +RYJX zZ Rr\۷T%uUج37 BQxtJA>;xTb>H(YsPZW]"`s] pyȃa2."jDSረeԎlT86Nrh2 `8Ly:aN2С Tu d؝\-2H~:b V,I^*MA F}] YT=V6e>Ht] &`1p+@ixllxt¤dM!΢Bm{or )]5`BCfF;0 FP"mnF ѷX|Qvɼ'OɄ׋^>17߮Ӷ0;Q Gx%:%1$ Sdk1xUq"9x%r"" /FSxabp8n3L !Z~JSU 'iݿ9-Iȁ{]57K1΍Jf"N,)XwJ ˩:cxQJcTpg|6;<}ǓkGY,|*meJQ5'!}Yż%0_6X*MHV lc ^ȊPQרx4WKLfp 8*S UhC8/`fMke'@EKOmcp e)6Oރj?yD>p4@EkNA^WC##Ru`dt 2EHVs{E>ݾؘYNĂ@+]IEi U/vqexиnL'/jPyX@E:c4b^2܏ 79*Csu#1f,w[%ymQ'LxK~+Yxe9 MU舂&IBF=j(:WEVDQk@wvcVi9^zS$~VG ,Yck}ΪG>tḯ&\$ GQCsрĝA|"vީan׵v\xAybzTL9mǨ4'w! @Q8 lז[}wMVh i'0ˠq/fZoaS/ A^r\'.9l[*9]etth] HMgK6kI|U6םGun:RUFIkr\վ=ik,*Mq#L0JkvD@hΟ"g;{\rr@!zlI2YHgS3eEyTIc7y\b:RLi{?GE|;n"TBu NXp$H,hϋSSYZ>Q+ Q|8 yv;co鮜@+:)Q7N'ee 0ʛmw^KJ[w2Z7~AC㡵 2Fv*;m h5)y8@E/{;yj95*'Y¬\8  @84Po1:dfik"cg照5Efh;!n 03N/qZl'Xv1Nm`f*̀ה6)>5[bL+fHcd-~(Wi ˤ9,}(,ܹ\ʙMLεZȏcG(^"/N'pB܄ \6*1V 9QevT=+dm*+~Uq *XB^靍+H*̝kVb^fVILsV4qi7Ʊ;pHa u9j"Eg-WapܘaM8Z 7P=g%7B9t<**#19J{-:@XK4iVE>+.&GM`zV֎Βni*BJ-b2`p/\[D,&0~HX !#Nf< %_*GT;,!ȥTyDGA8X7 փ1aG>|hDAL+$IWٹ7^Ƭ~ 4&+?b9yN1Kyx7j^YㆸYRRa"4;7DGH@0_@aV%z+wMpZRaG\KRy!;>̤B %*B{iY*OѰ+ / Hfv}yם?}v,v -ųK1[ġ$&9i]$4ϩvF}Qp16WٳU,}ZD[7M{?fVriDp8b)-V ?_6n0e7"[Kk2dy;\MY0q15/`Q= ND q; 5c.YX^L4}VX?׾0oVKY2o y39۟7'yCFۻ K9xKJ>f{aX9XFpi>)rԩOGޢ2i= x.fx07cio-0nM[γ'@!wLyg~ʼh=82ړR/[JWi/3̖nӛKtI"x=! @{pѠ! +GNm1Iak?ߟs̰"iW [L\M<teO5 65%Cԗ1;B4]y;0B(ӳƓ24uU taG 'wÁ/ZRS##MeURhh Ѭ~26:FK&|}D d|v>tnS\Vulz?y pѦnFAh־"Yt[ŞOI-(؇~]A3ėȷ-*|IGvz>9aVn-IUw |1xt)*lVζ_[\-D-GO/z7A>wUR#yԑPٴ^%M!G72l5?j qMj–WWфI&g%;(e>(dliȭr2}$^ְCur=g6[fۣ^mϳJ"C&lUm=V1Mkmpͳ^A ?IzD ߛ'ЋNN,,:u4 dһm O ߭_X:}oݬR*YizPv$m5z|IwH!r~Di>PωQ 0m$\е҅ЩXA{ JӭH"I/l{qrD _ wGk*vYXT{r؁B4;Zmi\,G'FOSlcO ; uxCgaά,p\4Y$;}&+z MXpbt%/2w޺OI懛YD2CtIrj rrjèEd~۝;,yx+ZEs[pyv#!Vx(^3F(d.J)6t{ Dz,M3F^ &G"S+KCɑȪ ȖV/j3+*bK '+.{iET`s貂&B|Vt0Cq:ndˡxFeq<KeTמ*﹂vj&+EFT ?/ے./N]8D>0gC8n"essaKmzI70/\oi`;N!z>ʺ8)&.J=e=*;W tĹ`Dlgj',_aVF -Uh}̴͛gYyb ?I!5eȋDX/IYL8I6Ks\+.GNUٽK,>]P)`ho~e1l1fnl[-D רE.k%L؂ 咤J-]n-TyieR˲X\̭j3 L}&yLmejM!/(ޝ륰+ c1ݬDgfx1Yb'`WK&}ށ}S#1pXEskEdʢ<eucAʖC \a0 { E]WL  p Jל]> In[,{q3e(8 Eǹ7TL3ׂũF@:F;7Zj"5XZZ[l~qвZЕ2>Η4钔_ٗ |"P1)mr8+M*h`ݦD|ԉ>R TaMJ7a~$3FCΝøN qLr7.-<bځϐɽg)8CΣJ%'YEلdp@Cqq5L;BmV)/sSa,)GRdMXT4ؓ bMXj#{_%P!/%Fˣa8q" &c57ARxMF},$ArtڍurN c7!ZFdYC \VR?ӽy0J!#K"^OڦAk="yNp33LnJfpM5ni-$_լB2T2ܨ HzOD2*)GXU lDOj9qQh)F-n6|-3A?w{x; fXB1)sAg;ᐪ[ Y49l$y^G,ybhԓHby+LR :gsiseԤwǶԚ'+)c3YjKjFӔ 6zRmt4esm7U ^3%49PߎubfQJxXL1:юrq2 B~jCKDC9>)E{s0# t㕨5N(tkhP{IjMr^ѰU zQFvn]\2vX<;ޓ@V"z4@[m2<HM EkGAg9*ܠs!J* R)&UVθ"Qp'OL Vh0:}I̪dŽpw< rI;I*L;T[]_̪`:qq_ˆ¯fnaȠ f[leN礅L7&K-@8zUТn3হM}{|fn[B?bTGkj\q,ƀK 閣Ng!,^.L{ga6k=@/!_teiG-NNw z~)=}}i(A[i`z>*̺wHO7 4z D Q?dv7KwTGNtܚcH8PhZNjZGc:@!(;S]Z#bs7f0" b]L;;ǫY/%ld|zJ4h&3(!|^I*E04=HD bX2iu0t2YpiDMÕ:_NKމye4Y j(H)z`lV %Q ;lL,OK}(c7/:I$u~T`Yf# /{4tYPe@ zlȸ(cxĈaYJc97J_wAz -6 SߢPT1TJ=DRGTPlXNN`=YRj`pt"Rsq ʐ9w!7kҪ4"{GyϒٙrD2h\X39dyi'D5e0 n.KA9 #_&uJ*s bH|ʹv|0ʀ'uynDK1$`]߸uiNAy<Ob>+;r='0\'ʳzk67n]\Yݺ?9@ԓYsVͧ}Wl9x|͘t\,`3N|WɧLS Y / H1O tܝV&~QalC"49:wY c_E?[Ήޢ%mX^LQU P4 DN keElijSfߐdT`%APBoRGf[ȓ'GV4;E,p (s{LEKN(v!df5z ~ t>W^k~P#y]6<ו=:\GmBVըCʖu;ϢuQ]H$I*hۻVaڑoœxTA^D*YY`dh+JiKyҖrRT,"DPKD x8^s qBH:D5Z$Ln7q,~49aݲ$)6m,e*G\Z&aY 瑐0m @r"GY?/'\6BLv䒖J2uG[Rvt¾Ҿhv)پq:Ӳ i!mV%Y^n蹡hID,qf̃3DQxn4ɱTk`4Lƴqu*;:=Kϲʸʟߏ:H8'N&: Q]R` ce˨+̧tlq,: 19|b6i˹HvBkß$tLTSClU\eF-sV3jG&`lC1dh((w3urz0#Pt^/Q"9F#{Pg߰,+g-ȷv/h=YF5\ʥ0EKιCLKCrduI 󓈽hs4smXAǣnS9K'4 kbAXC4R**=)#ש8D-@] *:F٘^;k:lh\[Lᄘ'v-6}׎̍&Yh@SP``SwK0M ǟe텎'$$tKf{)i|oWSF I~$X4 QԺQ;<<=T[աv\+/qMܪߊ$u_2)D\'#L ֐rDpdѨmZ)'=1|\HKp=ݑ*`ybYQDnK}~xSAEG7"B!.j hknXqqco Aiذq+~6+Yؙ .rj=gFWhZD*OAdHi8 :עKߪg!By*9ΰ U5Ex#U|6sҶg0z%S%Ģ4۫vkh0,P2a;j^ĸ yCIJ uT6EBec [JE&}ɖTq,'qҍ3+}P&έ%Fj 4F7FgUb`Ɣ}l: 48B57i8u_O}׊iRPjI HD3g+9[jLTogX,*rDX?$ i\]iFfEg6[9%`8ohiSڿMA'=lGXS69v'ܜ8M.X:2Dfg+E'f-ݸXo@t].r>p6#Ut }@Oٶ𣭱|k[i#|z*r,26nMhHh#4&їN}k<\ux UGbeSKpƏJX.1oh12Pcq-2=ĽR#6~d`M2fKF6<@ԱlRb  o_D XUIX 2e mwNiМ cNq/"tz rqW2 A>nVw;#@ l^ q1eѩ褙=eôvVRP{4J]-dc)G YVE9&˺aR_A='e(!bA$QXÃME[P9S@@O8<9c}T6@u;O?F[2#v 4C qOd|`I3MFA=AWd-9lOc>&CUr('gF؈ٴWъDw7vJæc,[^Q%}L%8z_7cg$^8,逕VtUpo yiZɬVǝrT MrzfkꮠQ #;!{m0T;X!-dahOjft⎈"p ; gƱ1S(?6^GR VY-AtLY(z+* _U۞M؁ An(NJCJfurp Q$dz5qkv0\9@3`AbhaD k9IJ W,mTIzM 9i1˧z4 {d{Ϲ>K}\,v.;L?EhSV,oʡW;ebAESX$U5`~;eTPOw,uY,ECV5|G4SHJstpz譵tHw1pzV4'!g?ZيoZT0z̉r`}l0qBvs: _sRA ؉\-_Qvir@"h8b)sqQqlR,=Bv0?=VVQNxA^Ʃ$ٚjm:Cdh/". Sh^ o+%Mar@fhz˘U7Oohx.Ϙ)\u=׵=-q`Ichκeyhٗpu| P~j`"oO'Zgm{ZOc>7l+?FQ5m:^䯶ƔlQM8epkMJ}l?ym5|7g]Ffhc4BNVFˮ(IY(8n樫N[W(寖ƅ81h'iv 2O4eˣ"}c{c> aXm O1Jv0|QQEuۖ3C'T?:@Ir6nޯ-{kkdGJ[A[*[`ucdduifV:O4R̙7L3z45f|wv6KKQZ,&ldI&VZ˳ B?7+nd M/&N{/vjHP-*(|ʵv;Rs B1C=ZҌxF_b,Xk5CPb }.pb#r<@r9ɋaR7-`']P.⍲ICzC:yj_X\c%Wp? 1QZGKn?&qL} Y`&Uj}-JJJ.a=[cktj\ Y8 NM"סqSG̈ݚn&(QsYf-Dhr)jvb8q{Ph Nft "xqBOrnk/T/Oe3b1+)-+Pa&XyUsEqH\9gu҅Y(z.f;TǍm8xFK {!RIϸ*6a0M$Vv咃n)YB4{L(VlG[ K H-I>Uj/d4&XkNd#thx/p0xi0<ZzZx۱2xdW5ϋ!s}gx\h2 LGk)#"Ebd ͹ 4Ɖ"_kOMq@N:L Uک {ڹ0jQF|Ǟ&Wlg &*%ElY痱MPJōm=w%o%wە&#;!//,*|LLψ;E7a "<'I7r&F+oOHqs J{X BvEoDBNHۍmT g:E \V@\0, Lz1SKYu)J٩%$`Zi0lIp93\إfʈ e-jLO(Q>e n1IӚ8JrFiGI&a-e WQV1]q/q"_rc,+9'UG?qwX]bbmj,5# drzbLoCDZjE za9*Gڨ*PNtaq80Ϫ\QmL㕅[{g+)䲝猈UY5DnOr]Yz͐o=01x>o ;뮋~s=v]{ϵ]믅w]{5·3?I+ј3gMp G0^>*cW$wi'~=r+J`I)"PloG^AXE'Χxȱ-SF{Rc(:*"=!w% xqCaΖI=R3ZM9*+ft[SŅ`o̩*rܥ#kXKgH;ݜI6$K)dYxQEVb& 4(2/,'[ϓowscϧXNfi!iͨY۬훔8`:X;pt8~KށA`e`s2N18`5{RzF 8S%FpY]cvHGm}D̘.\dngBN3ڏe:/^c/y\@Lo"tN3S%U/y & 迦p@3f;2ZS׼I`Xe F#ES耴4`AasVgJKob[1 JL|y>RS2M?lO6Mt%A8%wRA Ak++EtzM!hl6<1_5A7?f>=IWi:Oq`Ncw~aW"NQupU|>$VAf!cbHs/%ʪypjzX}IST֛H+#gyQ.c}'YbR!rshNj|Vwzd*gǹY;iΖt!քǂMد[y![2-yqe=aTIb%ANJU(cw=快I *wX*zZ@JE3e’6yqy}zx"X/l-%r h0Ӆۓ}AѠWz}ThjއAW5 l!7 ≓\o׮KT߽/uf'ɤx,Ub]tb'P[@NbPB:t}5k  ZVwV1qXCL{f<@dR߅.|\ۍ[ |ә`\.@me=pu0 }ϚM55_E'j)ߕbnmZGpa0\ԝ>v+ShmuRjJ@ rQu9@ ȧŠM-Ρ ͢&% ȚɎc!ex<5n$V;iJ%Κ1{Xdo ">b9.lSUD94;'k>Ȫ|@SU4(]Uc!Vmb(1 $7YEuU)2d< 3!q eڥ"Y\n`e%G yfd&%UҀ h`9s#4TV1QX#;G{{+pdxDp' *~(Qb[Q.X"\7pN D.6 YMIaTIP:cϦRl p ٜjCHcKBx{M2˜^$NQw U-5Qe卷V5@Hְ HsɝXO GHMk^ OVVZ,#"uMQsxt(Mk#6o5psgs vT/Y ل['-vYʀ֬_!>oҀ>s!|bǍSq[ 1naXu5]M8_?Qd1S4*:\;YxkiXI4E\vnO[!P'+F`:WO5;ꪧSm6neq>y6f {~4ϾJ2(gxK)Yʫ̰X.Qˋ,&K_II[ o jD>Q%)|HiTji&?Z2$teiyVIųlp[vV.1WWXf _&G YŘ^dn@˜AuV6tӪG9Y&%OtU^Gzw@)MEa>QD,1t*,z%+b7h(#h.Xhgf-kw:a;HO]w"/6׀yt˪q^ T\r0- *3WOh <.\<#r iS3%~.5reur8hNH:iP{},Vc^kӛU*A,q-9t󤸎/۫=;K4[V pT67$NկF͖ SH&4G=[l = pYwQSp*rW6Hgo)$dْ#/\(=VⲴhNEsXìW4c6+)m$>cS+DT(o [YZi {'5dZ/Wq\{#N9{+tSP*" Cl .I542'eu1PGq5Dh~ٸWEh24&̦gu50$0^%{o(:L"KA<'mWx*aB-\)pᷡަno`FNW ֤}2YmZW32>k"$~LA3Wn@rqec2ʶ"Y\ū"KʒzSXAJB"RU sھhR2fcQFVZjJEukR6C0!\TMnzOZLە[)ߺL%BP{ݸR4h16z`㶴h, L%) /8#CbRi؇G~Z4\d!pR]I22ʶGK;iyk&*S Z_]Eٚ $BHX$PB´hnI<RTQN܎Q0b74NG6^qTBaJI*{퉜&M-k(^B&-&Vv@I52V}<>7 WbD1Wi̓&(؄F  NZI꿍wl*򎻙6%&j$]BTҠ[#`c>5,CcfIC{E!17ܐ\Fۊ4K>HED&Y Z50'6r5R)ݦLEߗL%;؎-{r}rO^ KE_T"ճ Ir$mV[jYaˬlCL5be4g΋ ߍL!dδCQ#ʉe"sڪ5[G?b͈Z 򵂂TΔ޵p f>ɮ}n'^<T$8y%\o0V GDqj{x̘#LjJ:5V*헎kGxS?Fs  (d.9f\8-lgccZ|a _e=3 EYfh60.BqG[ ΠအN!mHtVf]ě ޙOe,KTlFuh[Dl)ҥ̬C;wp\ 5 PA<,MM 8)58 qQ5CFD<Y|ãXpDm:Bl}'ZCkNh- 3ȉEi,}V]^3߂+PR905ER+ukڗH[ ,c'-$gjTL(dtrM}'E [u3R0; Бt_6?3G֓f%ǘ|÷JQK^)YO8'}#al@X0mOCn2큩AzɮqwXtti'\9)o4 l&"1jwP$|A4eNAK̷̖@fJ_{uJzly*Iv0 )8ZZVyg[RxbŏL$㣠-U~ec1VqclbA͒닍z'9;Qa::_LwH˃ c$-am#Zږue5;#AL6ٷe(K 8*m V'e!eMoS:F{^сZ&fsvUmi;"nU0S֩0B3Dz[1tE]N8IMdu`sy)(`3Cjuft6 t_k Rd8Į1ѐk] pt`n1Ris+V ěϐ-J[\R `H>:&:,&N,ײxK40D1q5Uy&[Ң߫ `T 5k:x5. Å([H?]DÞ`P(|:@a$wtCQ(9y(:*VKcWΈ7=5ZGD~,6W ;._(aL/S}ރ/2VǶ/䱰d9oшV\B6Ga;h8M*P =N1gt*cKG g*yzX#y@P݅1&0y$H 3-1{0ׇ_VN źrmk5|-[q"sMZp[k`q L7T]%ecF\ODE{Kӎ * b6a : -"mmLd\ lžeKzEdQjUށ U JwK?DlFIMAN#wj8*>$I2Qш-K`f;;y6tafCN}eR00I!ڐ新_@׍d " 8n $G[X<xy^dM{1dM*֞ئ62n3M6ȔOQn Qhh+ qlObQwRqƸ+@,<<͛E7`8дZ"`RN ЊM*vW0 Gyx[#-➇hI~hE/N0 `ղ_MeM `f`4͈ j{+Fedsvܔ"y FgE u+a;*#fb Ae[#n~N8}݌ uKZ\ߵ\ y3wYv*< nҀfv9x_(xlZdf$~/ПdI'/(Z,E/(6Qu{Ir#iMTfUu0&?;v0STUt]X|$?T7 u0>6P;I.ҳû0-Jt mu(H;Y!Dn&}CnؒwaBM%'9xqN;MfEe$1ND^mW`jv+&Gh%u)@SL;D޷C#g15+ؚU>Ll:n#~ÄZvuV-+Jn:2 wB9dĢwg3G&vT],J _4/<ی;%}6!V86wf6 'ɘfRbTbW,ŏiFXpMCd7'PlshxTtJ;lG{9ы3g2@.Kl|v.̨i 璄Ohu&]靁&)H˘C82_9)˦'}&AZGV8.u| E{Tb],LcL=UI2l0ytxGmJHBPhP$ǫ͸Gh9Ui1FrQf.P;EJ;\u@2BW15Z[l*J.?3pK0L. #q$\y܀5,dY? X̺&>콘qnK4v~L]Y\]a?^qa7gZՄ31 Ām54gi +xdŧRD2jIXͯi#cqVrh-MUd]m٨ i߻sHݗ? ?S>|s[4ZODZުIXgQ*!a}Z*lC #==n;? YRb|ƶ:Npql~F ֐Af$xdjEXT5TH1#Lq s'|js^튙ܬ<6pX2_Mf([;w2+*Pm3s:D<09]ܴe`GeG#p]=hNHWHsu\:d~‰zB@bR tD"% S@GϜNZ߸ޙ48(mc;Txuv5ZIft7W0=1+DPAIryt)jz ]{F"XE$JEXAXѣVA"g4 b0 8`,%Xjt%p9MR);#A֤b-yb",nĜJhae*Bҳz: rޱvO. Nʖc nIIL-YD'@Z}z݉"~L~TZ(~-Qk.ZXjvZp &2a<Lw8:1aَɩe17PaYw[&8Ń,DV$<ؐf0OMH_C orbnR3ֵ CѠ!oj-7~8s2\ w#m:>Ee1bcfb6›3 #5bEZUp\Nlrl7@fԢ l (C 穷Fiv/:Qt|i؊(Tfa1qBn1bjZa_#!inQ$Km-x3; 1-ke9 ꆶ*hF(," c%7rW9 d19G6BBmwyd3/Tr:C`Fl67+wxʇ1?Oq~Q05"v7=7%el `Fwv]]B5.~xg?|ࡗ<W?^{?w>^Ы̛,~?4|AcW[͔o{x|C}]8eP{/-g`8Ű"y~0~|ݨ?RKFyCЫOņeYmvw//>ƍi)Ƶ޲q{Q bK$0{"pF}yɃNz|SкTqV=wt0}w"(`a*]8ȟ;/0?PM o`xCFQ -Vw@eWGd!'Iv̫AG4} 3ͽ  (t@# +@œK 9(wԟZHo,s<"@:LE ,H'$1ynLC#~g>K!}C-wDX MR\I.,ܰ8oЂ,0p?N xḊ _s،#.f;R!89E"|wa/|/frZOҭt1~|3#DZٽI8!RHO`"?G Ƀ>습_,n,:q"}Hd`~3nªE~䃗ܲ N NmJ_I0baHx!,$]d[Oi9F~7.{iq^W v3)1"u8 O9DܹExw{vғƍ8yu<8 x>B3Ur~95I5Ba?TQ- p."λvUE(/q?OA(u&Z 2>$ ɛORqLI BW8l6cyIȝ v0ڧxӽljZ `E<N ^Jm@B^-D0$8$yQ U:H!x@]W$ јI@~8!AJ!%0Qr Pq/i>AW 6}`76Ksf]` ̃f?iÑuֻ'AVFOJx(g vZ 5.+~lH68 RGx}$ B4;=PhSV[,H!5I|oą+’>7LD' ۖ^C #Ų'2JZqZwE`W{PI}7.ρH y#2}!?ֈCPÍ΁䑔<h,-s8Nk6}=C?x)CE2-x2hoN@܌ 0~W \[a'#Opy{V@+pwr9)Q:ĬhՔľ{v#z܁BU1/;J{d{?x錛ڴ1&KtI7=C Z*0ι3 vWs@ ECrPЮ3Tj@F4>^[Azx(VCS̺ (]ѦD} Hrx |Ĩ:1E@cSlmd?3V!SbZZ(V"FL[6O fvngVRDJ?\\Q<+y(L޺>L+mՁLH nypޔ4x?$Wx&}򥹛P{e`P4l,! v\3GDjI 6hadcf{,O=I*~ԫmh<'[-0fK-$UZބCm;h3n .Rvc`$=ϴ!m LHmYwRW ]{>[{4 +{T(_c`MֹV޵w5*\m!,W䣨ڌGJ??շcEagY0q<`7ʘ="b;v}Ƶϥv|"OmQ MoqFil%O1 ,EIрG};܋F6;T0%>iI'hB\c?V`lj[ທ(L9l8hٲX Gz'?$={]NЗC4jAƫT}O(A3\5 @" 0D=O3-PxWC.=chޓ}_#H/1.xF[5uc^.d儡HAܺX,*9 #ޝӲcrI"@}AC x\(;e/3qD~ 1jn 8ndg>C)vCY"gj ohࢉ}+ѠYG<#%~D]B(eC%._>m$A(!rIh O,'1,[j2H0d?О SAVHnUE9H&v,"}N꾇Dkg[ Xߌ3[N8?*({PW%z}sOS({gj .k%]f-0zGg|"IoM_VDF/h_vSP!{"$0}cite9fs=…[:|͹ 9~MYȜ {X>/#1 *ǣ Ht':|ƐV$тŻ)X ccI":DfCah(EJ lwj'gO3"P*yJ@IHې(w`u>`(M 䣦ua$ZD. ʺy_2ԌCu:i_ \tU&^Bjr2(h<1jV_pMg/F #. G,~PGأ ZdPڬB}MċV8*AF Ҕlt~W&s.qػd~hyH#y;1H} F|(R"\ G<[ 32t}]9dH1Wg[`Nal  mj a%J:~`]ʳ"e7MC5 wm = lEr2( }8 IS*J;O\ء3G>R{á龛n!KtZ$5`,/klosF*eX-G[t-$7֟ ůʿM`{+cH`[/N-(w{BD֕4ߒٰۘc5Ĩґ> ( *#T# 7~а>O/i>2U쎳.$A9yB{@Dq =S^O]n! JBԾ~5msp]0$wҟQ]W;!0 w.\GսzQ'Wg1V>)/SL}5؜:NȓjRK-.]l"Q﨎# JGKfiQR0Ѻ2%Dheԓ<: Mi#,>╘c)Wiy}Igg ഴĝ`7|>R4wo(.b=ZF_[fJ{I*)曍0t"R'qYr~ Y{F.{p ;|0ܑ4a^O$)|r,.n'蛸[ 9bk9 yoI0颗*&DT9a s#;kM,Ǘ[C:>@~@.O&4(QQQKK[X&P?H`ǃf,O6uA҃AFi;T;@Y`EV; w")oc1:h'XEh41 N,=e&L:^8Ek9@r5 ֢˞Lи[X1̓ȱ}e<E~aCҭ+R-]E@vW)QW1g~i^shM~nܓ6v $}errѰY;NʼnŕkBi/4l21bpO?f,ґnט$ĹQBUTpFdANl(eIGdUO|. b6t8'f3elŽRxOdP/d/TѵM l /ĵ1BZO΋,;A_|or62_v/zZ#tMD+FZ>q"5C zLVl-g0<-v2GJ-+mW[k_+}sUlN"CHI⩸zs D Unr` A Sh 1Fgd2͆)vW҂꟔$%P)4 Q*j1 ݈8,r٩z`L,s)>,??jXLpkhyH- A?t'&BY,Ue!D09po(i,׽F{R'w2p׵R|k|)`֑x[k-opuMh'5/bsEX;rUVhs9>Jdܬm.ɓ6`:m(SS vq:FZWLDOZ~G녑/3[_PJ$5-KHpB(65Š9Aıؗ20݄JX\GLd(mUj)5o(rKұɐs3b6<^ EJ[-9Y3x2{ũ B޸䌍TZWCw`H2K{gDuqʶP$s*4 7Q:N))(-3 \'X~ U.3CF8'#~h` }f@lw"g?=ͩCLqe#n3p:MFW L'=XO Qb1\ "ګ.~pٳ1G\F\c-ܻ*O{1oqX-lzON;.We z\EGN߮gaIy-LY1[=bAûjGR5;gu';DUx{|ϊGۭ ΑFgpŸز8՟h$LJ*?E#]@-'o?w6/ 7u~   Zy 'a%+ȩ:vt]eNW?CUS'hBG#@9g!&D8dæk} V0,C}Rђ]ϸ|P VJȿU$dR(,UHq% 9 3x7k`ƉeSwM)ek麹i|ϭR2~wr2wq&s`'á Vr{?Ml(cQry&|&J!~G^ t^ _1PHyEx৽38ZxG/1z;:LNyS&ްyJ{`^}.:W%y4u?T.m jw]:c @TTN&/ZH q,/z*gk̉ "k_a!_ cfeQx}=B~qRQS.Tɠz_C>ћ9ЊE R܁fu)]_Uu H2l7JDLwa0'GKV' -wƷv|txEaυܙf!ubOgazvl}hoJ>/CN^_7=vąe%@O+ 0gF)?B^o@ ^g꥞7*:o*cN/1 ȐEE^q_q@RSAlws2M5<loTIJ.z,@BW|-g՘ J]ƿ%CR鄃~S,vϽ,Ŭ#z{6v:rT~|ļ^]3]>sؔ^KÌhUT_Q 7eh,c-BEMObj QOTKu+ 0dDIҚnEU f2mY9,,۫mo ]1_«ApyT^awlBcCw1'0{A[lˋoobs}G3{Jcv5hS'(۟]R+K _Wӻc]l93F;,}/z3 @ ݞ.`/뚔  †0}ka !A`{g2C> REPƃϹ;> yx7-Ar 7;íU[km9ǝ*/hu>4<HM?T2u`LqVqSlf0gm굙Bkngp2"0f/2$^Ya0a'xϕw7 c<` *-& n+݊-~2x=ZQ&W'{eh*刏/SQc76 :7S.Eny-=YpU;UW5ScV&M6b`0RC>Nb0ypt\Hq~&x 2{8ݷ#qU,  D-h,!~Nu l=n4XuTG\0F,O"f"jr+cu" )wI`a-ռ/*=~X1\K  is˫[yЖpHcG UY#([vHkgkQLve UVM84ֹrދ (/3weU{x9W(ˮHZW,Fs I,NH%j*0W f)LCj16)Ph]LW5@PF1CYҩTZvqܷٝϙb|{wT _C&1ꡕbԣ3YSØ`F7y)W } Ї)ItW$gU'y̴l2h*&554[G cR*JXle֛0P)l'L2\sm jo]~~ սc~f7-YV3 _Q}XViDuN~4D'׈I%(r5HS z%*6yB L é><e=K0 qωԉxn4"*ʿPEyPd-BI)`(D̈& iDZNԫ29Fp+'I#96z^<P$لO˃yǻOX`=V\`L{W7#S&*2@W;pٞY ^N ZA_Y#s݌)}2%6BIlxʘ~OtB]z|hgYO)m۬jY cy"#]h,Ud^J#t:, ]\"JާPa9:a+7ECm.Y#|y9N,/ E1ьLS^SLbISZ'#JMdªC>zyi18ry('s!'D*IL]2ed~48P(~[ʂ73o5 shx?U Tɠ[̻g>\j.<}/NSK 8t|A4~ܿx:~{$vNy}>5V\jlg9uTwY\8q_,\:~KOO,_L3h(b}Y,ګ:^juV.$on:0 ҢQe[@~3et'fj?sK`mpi; otG Gi~?f| Vy򑟀ANg)= fI#acaaPxm"|v_}YdV?& ݫ+Frj). .7ld鵵,m[mYRQ|?LB۶\.CR3a22>#iL7v_g80fXzvβRG9Lq7Ls=s}i8`zlqzU*j`&GԌ 61~e0>M9UH #JeZ/HM!PK6'eoOĻQT&V}R,)g kC/FG0ʒv}ه0SMk}2IۏB;*5pAucU(! 9ꛡlqdȷ3KYmϣ>v`b9?w_c׋Eka{ɚS{%c0U<)NvvA3pj!ZNS(a:~S,,b%sMi뤠_H=?I` mUXf3+2>K o<7#AVvU=xJP{@$X( Y(<+4qE}DU`bԺ<7 by1H?hCܵ\ee$7c]^ nx!j.f1ٞ,W}Z$[ ߓE䜱v=o{)z?&Txv(>EhǧE#xǹeRI!7ك3rې+8JÎ0 #t?Sdz Pg kB:tSXwniP0'p;ԗ4—`j{rlS7s*3n,=#w!uL7W7/j)ves$n3~ٗ:j h3TN5<N@pt--/]f+1|ݻVվT%T8*{J=Y ,@q]<-p3Voz[=wqb;aKkP9zplx~E0t}jjZc<졛ՎX\SAZ ` XR5W=.%w!v-bf PBS؟½nЫGoAJQ7b #{BP@&BП50 p e1THh寥o2ݒ]Ql[ =.NKHR³P_i8WAI*T&7(P )g%t*탋 rB/8{%V"CBB4=aI*Y. & r<B5kΏ>kfZ[X{dhadIb)3XR'?PF OJS+NX&%#vgdCCHkˆٶ_'eAeF`ǟ(O:Jq ^7^ ֔@x3VbfYviU{;Akt?YQ{9??lл>Laک3Ұ 8zleXILHo)|aD^ ю1,'7 ?m PnK͇{zw-Q&.sW ?pNPCjtO8Ēp"g=-*?VxoڇVRAw1W2:8ĥġu"aV ĞZm UU%3i.?GCHtP>3sQs#rrl%y<`݊&׹7hyƹPǂ)-]-=(-'I$I#̣H-|)ż*a)a,[yә9+4U/M:֓>Xk>W>(wc?{k*, rb[Ulv1K:Q4Ae+<;ķ‰E\@qrSs*Nɲr 3x]}= `ŧj1$N\1V]xQ}"x~>s[~鲆 3uA.cueה/ JJ[ƝJ5LTz`Ɣ#_Aɻrߗe/ 鐉D#CWş,UBdռk6ՔOBt cVD7$7xUuwַ3mHJk>{yCR%;x3XJ9GUD z}}XOy7LCPL"!-ؠ$$2ĕߵ=%&eo7I RJ 1`ExI1ր<^r b ]J% iP:(K M&?V<'2(%qdq|tz55lU|#W>Җ8n}J@ /c'Ta.v}[:o XEx)g[ Xl ;|;v;頹~m57gbY_ů:iV9:5KI/9;:wv~ٵf/'J?a. -|ąXgIM$WJή鹚MLgckv ,o@/\Q0ب<'7JFmq:&|$u!gHVz?03Y,Pj(pPW]W~ !NI=fk}ԴD׍& n$fd4ܠrv%\ oMq3ǣ~߀HwF_ BU"h3f$I`8|_ra;bEy)b/i}xX-γ/'ΘQ%*ɭNL ~$^=4w3ZZ]4i^TRuGO!(kUbf5en [e<,2q_E^]xuyXQ#~2m{&\Ϫk݅yT9BlJEYbXJgvQwu.Yi#1Jf]x=ċaUfcmKZH /T/(r 5yB)ji4\iWw(rW/ k~ ]0y 䅤8χ^nt& d *k~܁%s)(O25 wcS!Au% aW%ǫy1ժ3NJ2p#w "m3lQw1ײ(:Vi9+c*1")کc,y:-v0`&1]@9Y}V̵Or.jTZCIҭ30n ΋=4WC_>Əۓ8@ּ0 >#w`.B(Z# Z+DqMW!/=(K5^N3rmOBoڮgtę5P]glפ=5}$xn raHxvƔݘ`S35FD3 L6w]Pp:*+%8৥gJyQ*{1YA]#PR]_QGѪiI{RBk%jP̲[G;L'=,FLn>D=.3ґ@gdmh,yRѕfE0}b``y7ɣ&UAf֪c t55U?6NwLnNV1FeMg3!؉=vC ݖ1*M-\cU9Ԇ! S=X7RϹT;H7Uvq>plDҎ8{ Os8{"&X-*bA]SaSl=tdY!+4'.;uh{ opV0Ӛ+SbZv#1^t%gs5_`lz}X?;/3 6oMo͢p(g[/C}Uf["K>+]ᬠ+y,YpiXjk?ҹ:,*xgv&?r>tC' 'zDŽ/OL;W~c^_mK~)#&^O*~V:^\MELT1EâGH:r,~A; ]1%ڄ Igl,6JY,O$h%TcR k2ߐhF<"jP7}]7O{s!˔veYFW[i@Na=:Ym6NJ  :/aK7{ܳXL5=" n w?/`kOlsQzhGJ0eO=B{ cgX&c;;ᵪ-hiJBT)<~@83s}$Mޮ::ƃ; U١XOLܼ=N#579//]uΓ5InxjQɎ !ui!΀ Ja-dC'fziɏmNpp8}xn HH֚Hm#% ၌_D}.vQhR $6a}vt: 6^:]MC"aug!;(%hGVvKTr:LΙcg*<B?;]_5iI4!1/t8W|/|Wq_ͮ9,eu 6a6lf[܇>NWw wDp+9K*Xpv,=3}@gߎtW~=\i ve]-h$6'p#лA[ZX(Tw xY :U{<}]e%{5 +)7BדJ^*J]q^wAgȥ`Ź纟KyL3T̋ssf܏6tua0Zh9@!(#ɬM;;Reϭ)s"G/:w 2-DL ݢZo]!)p}G\r^rR 7Blx{g!z@@_)q' z*vPRۨl xr 9"+nf_j!(ZO1rJ@cng=e4G t3ΨCV$e^X)RzR[#:EZ1Ju᲏v؜_΁,X+ɴۥs"t1di8~'ONڢ2CgM#FTG x-|tNC#]A5lnVJ2J[c-; 蕬#Vͭ΀1$sU^N9o:eKټ c1U xoye_PgVkkQΟ<˓T#!j % n,d;{!#AAiSEd4v`°|!GDo/XB`;vD5(_XגmS3AwIJ0g^-A>N HQ4X7h/ҿ&a74A8d)_o8 0p41 QGcTR GLz'" *?|?4"7YPT7֐)ڙYH3WZk_LI)WƷsNE\g&X}A>!;/_g(4{_+֝8 逼wPlGz F>sߏ6[r*Dgt\{ PIl{ Vm%yvT/K' aHoTNϤI<~kq )?^&)Lfg:ײ+Rc876Yhjʼ?(,)TJd^~b" E08nE-MFkF%R`VT"Ɓ1hLt[Fg+\1b܁mNxJj;P$I1ӃѥquĿ!E:bcjIy(lL ]{py$ϩ,22.x0Rҫ$ d N.؞ NvcvAh Umn\_@MY(t@Zkliޣp?tY gΰ. zklh~_(Ճ9VK%V"~;RϿh Gb_~gH ݦHLN$Il=7ɡ1b6a8*r])=6TlL@5r;y|l %imxs{X_`rutAѢFj,DV9Ac d*@FR4Rgdb=:>5cIf>Xޞ*#1ƌ'bBfȐs \Ke,O17p!=cֺ&jݓ=6;u&fHt3'"B4I4D'' ~ns"c%*ϯպH30l? 1TRrLKŀ!TKF>7֞U`y} ɤU (G,HWW"g`!l'@.O2AHM׍E2̂ct_)V4써jNB'XmA7y/Y1'm6"{if#ʯY(@F^kr) px /=;fb\/70DmLdanlwƍF,eVVԇ@/!)M\(/3`Rj˻`D3~#@8V^@R=SCn(;L$V{2󉟽+f\4O tkG3'{-*Uy* wzIsŪPR9 0AZ2F6[PsW^^]h^5q7yUƋvvltUH;M͢ J?~U.be!N%UA( a1 EMeJ86=ߣ9!C ϯyHD#E-ĕyg/7;N1<h^,3եuP2ح=wah*ۑ'(ae nR؊ M?dy+! X5 yWj,Y֍V˼q|pkV:D>r6tfM_N4giG` `l%9%>mYiɩgG?_91ZF:4:`$dcEM)-t?Ho!{ 0|zk8+ sԩ9/O.?y''/& g [1a ~ξ,W7I_>`? {1togN|,5L|o?[5 /???_~>y9z/~<9n+˚m\2A?u|Ԣ{O/-ǵN3$; Yh!.\_$l 'SoqSNj˭uV6 j;xMt^& m1ٳg/qez•y1!$W+g/~fMc3 P奆_l/YBI7/|36L=k`Mjwۍ!ĥuְ:UJt&o8\".] f bCd &LOtmyhA0ڤظ4m3Qz/kq&Ԋs;Z1ꡏD 0BkZ~K aw|$|HF-y#U$AYX^6%3khsuEzz$ _ua Q.63o&&L_zb3ډl93XoMIN0&&h4$2%N *.vvgo፸Z9j$ mXcOP$5y=Ƀ#sZ"4e߽8Sڙ@ׯ9йl XOVwz;Vo^8;W_{+Fb ]Conl,>}q[e{5,A6Kqo7/ ~MI=:۵`պy"BlOnwMJݛv,⪮B~u6 5%J&+9-@@\cI=DM+4؉l;"f8!pyj%,`sJՠ,$ѰlLۚZO[vgXVU[[osAGσ{nb]P`:NE40& g WQPUbЛkײfYUh{ۄZp:VkVv{;ZϞQ5T;*a`tlVqgy$#eHtu黝^H@׫V;M.w Wn"EZK8b-'yJi@'х9wrwm'p}#+(VAp([_^74uvI>W~h}UXoR ?Lf^hLҍtBz> sqͪ}+v_ΛxA՛os {|uj&Y8•]8.}zݎ'6d.21@|h-P<1Wf5x$իysUٞ&U6с+P.kyrbhQbqY>wJ64(`($#)8~]%~TzZ?yw۫tw ^ ؍1!o?+8pgB-1vSGF:dJb|X=Eu 1JC/3AwvYpǙFV̿"b"t {4NwQ"ujDC| L( ! =>T#n !; PhTJ; bNoZ6T—\Q` Uxfkd2-A;=iY8fG8\w_p/@; gG]`YRsjԵaENV\ 4*MYW&;W?5״w8BK. `z0b&89AnAuXp=?|_&5RM]Vkn5ħ2%rAV^vR~g[ښyakɵks毿Tm;DBY!98V\68t7Ecyke&L]~ɏĚ[kR܂#="Yƒ+pA V/kwKΏÁȎa0m ܭ þ?7zkFnO2խ~6 #­- /XhF h?~r#^!2YSctH6u>;Ɋ/^uRbh@U ,59;Ҩ."ܷrP )ĭH*``WLF@8B)^/\A.o7W箿rAQѩ\[]4^&F|صkEPq&qJ"e։ϝH:bD̬bALt&QP`}AF3&tzJ *jf#g~~rYC}d:+*׵$Ϙ }rT#2 dw `8pEpS#ErRr[p CL6-d7H !Nt.Y}s) *$Qb|5W}s]@%:jA%FoZTX{"Fb:CT׻^^ܹL 0@/qP~8NoPÕsAކGf2mW?==a)>$qi5@ i*"aXC'vyP];?YZ:rfGaHt355AGyC?Nnyl|6ꌾ2o)afO!`js{:2S,gR.6I/TV tKkx5fzW^u(E b*N"rap"eYs8+us'nqNJAjvL,XDGJ`˞EEi"7{Q)iqfC77A}-kR 852]vTn?mj0!݀UoQ/?U[LƷˀJk;|A[jrӳ خ qzVji-5}F U} 6`\"8!ZZܯm |>h[4 {R;|RǵH=ЎwX3YAӯ#^M E=UjN׊J ,9 p>[rZ%ꮳA{C ǽ>LTܐ›7ã[cThOl`ھiyc&Lt_et|o/W| zwN$=QP2F׾\3tsdq'u^o5DqG..Mq U:K[=e"ǂkLlT`wS1[cyg4Ϯ2X63T36Rmt ^=@7P-oV; DpXN4 RNn_8˺ Aۺٔm=gc[כٱ#*1l"' Q-c<<8' Q2'*e瘧Q6Tfj 2M<a;Ɵ']R!C{TrvƤr@X1LX:+xP;c5Twf;t4 QE&`i6,*s` :^*w٤)BB ϓ֍ {BSL-dTHzG"s:e{-O49 G#% ['$(&"{A߫Þ&);{&g)_`8Z\r:z]%&WL lcJg˹K!IfL\:}ojrxsḌ,L.i[i )Sϙynf5!Z/BaVP#'˧{c|]ȭ,n)+<SbDX,6* JT^_o-V^b/rl"PT~4ky-qujc(Sڸտxo|7]RK3c`}R ~VvpF$1!LegV"]{1h|bwҞ`\<4Y0CtAe>̼0BrWĿ/yk>S$՟?X8yt|a?:p!| sR:nR\r>!F2 cgпi%bpStW['K KR- 흵Mήۋb}]`Bfy !6mȴ1Hk )=Ѝd;vm$ q[t#~|v̓[ %>&oZg= W- %+Njޙ$`U}iI !ka؃/k@q@~`;-}Ӎ͎ GY16D!ׯ^o]I{_tw| _~H'zp.^|W| z/_N^yot ovR[|f\NT \=t3*m`$mv>Z~o%.CƬol$֛7ԥɛH._!||8x|t7({,}97olnFF357_-0SU Io AUP8et!'NoDʺ f5mm Q{e@F5=#GW?yWOo~؝^d5PwPGI`)Cqzzדݢ hJI=W1opR.guIC(8H7vGñ=N5+_(7\<Ժ;|%C~)ë^G\r/ZB*`͇`N_X"vM`/(led[Xl)CYn*^5˵ln?kzװїeҠ?LsU0T P(@}f@=R,dI[y,EeU8]xo8.#l~kţ]y5$-!ԧ3<{S.˸\Vkm`6!85 e#Kˡ놳@]Vيmnu4m/ML"^:c-.0տYݼ! iעS4{j3:< Ӝ5U<&IQ/n;{l$"/@[n |{:<}#S|v"^mw|KFM/ej͊^eOۣ&A:S 7VhJ*ȍv WAm&Ŵ i7߁ӧO7رR)T )?gk B/V@-$GmeT*D;¯]Y6|'z) \eWb6-k<yIqAO17Vp'ti0o/+Κhtd:ְSBM+ސC` g&67Ӷ}`:Xfݎ tG吣I uJR+2s$^/o+oɯ%]n%_W-zY/o& :aC;yuI1g\}k+v2x߉(L5#.ehX7 Gƨ۽]W=[49d I@b{2}-IFx $8<ɝ@$aݯ'&q{&J_ pd(>W20xoW(X/y ݊WYWׯ+x{{q=TB\gA4-MsN1EL$76ee?P5e fny][UfzLr`&92CD=!v bbnCVVQ nHr=CvwK/\h.mluuc知Z ţIӀ ݼ+fbyMɄ6U:|]^@~mu6؄*n+5zST]f> £ᲂOG.c;{t {אhƒsT^!zKRPѫƌh\6ωK6hX'zƖ Lj)$^U żh ls2eƴmg>narL9?o[Hl*Gt&-["*;beA<ƥۉ'y&NG ^6bºrboXfoU( ߎRH˞R" $GQ'O.x?N?qG?(83-iZ&:H<߇RG~5gLQ 9oaWO/,kX"#wPmķ@lA{H\4x#f 8ZNgY3|fC׻6Bw/B/&RA"QCS`O6ߔɶPku lF`k$ڨ@՞1Oay`AŅ@4xY r榹j4H4h qLgבZ|]mg?(Y%a N)*j)y`{ӛ~Yc"2 m Vj7O ' Hv;Z([ 0>亐*3+1+Gv:l(L\SFV&;Jm V$VX;EWLCܙɆ` FR0v&oE| @[!htI2sclboI&U'vYhܰ#mVYم6qq8QAwfC9޼vD!3rj0rϕ1@gJ%eVhhCcnD -V`ب JؘesB4w>.sgXYYZ Y-ABRb{/;[-/ZϠU=|C&C7=gζ+lֳuCFYrnŃ%KB5s/tTjULc 4?O[Ώ}6ZH'PN8N>}9ϑHs9d{=叼,OPU#nfF4wyկ#S  1ƲTpC䱭zu륽"~|[0y*?7`y ݙ6 $$p560&Z-< <60ZXZP70FW_g$bſƅ+{bn,hGoJr3,+TxŠ2;uHJ^f;pdx1b=L5Nln 9mrfomFYLkV/-ڷRHIYwx̫签 ;N'KԱkLOd<8qb?G6m0Panzr:|j փڿz5ο_hSIF.|lnMwe=c *)eeޙ0cߗH}?Vb~僢GXGrDCA[u>5Nv|fN&`R]C OUA1;EUa1T*7H/c(9ѧ<UUuL(w]. fӼB{y*_7\ -,[z2MԪ/-SINFZt e %>:_#N{%<'[t8ɩf|bY:~b~speN8<9 ^rO#AyΔcȟyk<6y!ڢG0:>}l'ҁg5cL< ٷGŒJ_&RReX`irt;Mn(J6SM2QCfkP;lykCA6LbN,L(1+6ǚN{LLGoj-FRX.7/ͮb E~#/StzbvW@VW^fK]_[]^Uf~⻂T#5gGU1|UI;wl||5|bô|,>zP& 5O5p$xNI9q2l_X6$guWN+k:[ l ( XKh7v@H#롷ΧIo̝;/Gz]9j,2 J/eOQœ''N((((TN;0/Z}f~'!uvMY4Wv*%$t"ڙ>6UGR)(I"&x,2;[#N_`)U3F35ɺ4MUjiW#˪~vgJEEuس&|IWKS7).& OKKG!|#? Ndn'x-LŽxĥ*U;=oYa&sR&"NTcŒ* )͊~_i/v@Q`ҁ֪֨Ն-[-2-xː) ܎BhVϮ U.4|;\PvuVg=s8d}(--gݰ-U5Znd7vպNsf &KgW.`u9^ oKҵ5̢%h͝öfIs]!+hO,;hi$BDnoSc`6aZYgm0AǃrdNgL)DE:x De_G1>a M]u@[Z:8qQGߑw$j)P=:C!Irq *T4lX\GZCT8aqv/a|9G+|o E)?p*-Uof3*-6 skj.'$@Vps-2xǡ۝헚t[߿ FV{ӳ6ڦ_6Q<k;CtH?q;N?y[aY\N}x43s p'dw,f!mJ&s3IrVHF6|_HM*~ j{giWa,4:j2Eyk$lgkmvG`Fj+YS%%Gipv90kߥptL@eL:{_Mμ~fGs_`5ܙlE~V)Á`wZleV}EV+2Nn*@pݹ]HBLجkِkⲈ>ꋋ`ۿYܱ6XzkX9wv~' +giTb%(ko+;4N{W5)+ֲ3g ݛ=W UTru爯CY`-k%D;t(p9h.I΂ėCΚfֶ;<9Ok&L@_u膻gKccDZC|/#5LuX(l'GI1oCAEVK9bSĦzv` q#a|KCQ4#h +r Κ n)vg6:eqک8Jf=ZNN|kgq=tӍu` t p$7VeM'q'6U#H0$YɅJݺM{-SSuWuoRua8F(>)j%}}L8[vW6H0P K0oR/~gL&@]^ jS\ɋ)m- ^=+r)d10\ $8{.HosQ߲@\ Nǘ inO}F1&e&i.`hS%ltXh8/2@166QzXuyNMd%k#Hb8|5??y0HA'-k*Nr?K'N:Rₓ0vF~Tu Pt5^Sfk3 #$P71g JUMjsAw9Jvj,"MvlSm╍V7K&ʤlCdXύr-g;}8\mev:Nj/ESnYCgj&$e x.du(PFCdXpmCZV%4[;;laj ~Z/s5Z/pg^wӑ٥ҬYc振|)mI)wJM̺b|K5h*rko6ټBq6.qvboLAIټ @NW}L֚SYsj.K8;F],Kx B h x-@H*QnZ&~7[;rаN )C-Ǭ\8dQ5*dgD"_yCɴ.M%yKJlnw2An/'k0{&YT6ۃy(O+}&d>Ik? .=E)6rIDX?ݙcg[(T50PS ;îF4U b24\gJBJ鯽nRfgJDk ;1 y:Ԍk o0(Le@M){JʌaÔ{JǴ1(yt0+%@;7?K_l>VVN(t\SX<5;jD4sjO t[k^r5JdQBݹ`ǰuskTxDg&A]_\T6>B˝F ϊǃND˲avv#--\俓'sr`/Rw W)Y/v:|2He!˳lg0muWgUHֺYck!&Dp& io%߬[OhܩaO(K&vk0oJF,]w"h;HQH1 `$ ĵqȂz1t@&gs;Y̢Z0-j-cD3)Ͼӧ r?} Db:|(8O|&MphI _\8^<8.R D{mݮ1C"-G%^-5h q Í WJsU2R^bLbl{=Ȅ vV09r H{WG<+' :=Mp贺M9&# @r!<[\giުq K0r Gde|ݠ, B?_+fP~/z<$z<(&@վ3(! xTqR0Z{zYr\'5gAn::[mc! [)vy24zDQIk+mD-t:{>)W|S%(K!>$v_7buxbJTM4Fl) .adM@P^`'^"gn3 ۋ՗tC| 0CeRL= y*3 㑬"CznWX6"bF]grJ4"{PD73c1+O+%QEȚsЖSRVπ HaARxTjaG*aC(nArfRtg͆4>הTdF*uAx+L5$]:_;QۓyЖ3Eg9De@ުNT5 $`1Uj3h"Q){ &ɞP})ß@`=㟱@QӋwGa|b=xWj]S2$((fQדan2 |u8~Z&V$DEM[.ܕDc ݽ+eR㰎Nz0FuzQp".籅Rm,xyg~YzWX%² ](;O[VRYs%=V,Xؼ0w3 R=GI?Ovܺ ²NcF;|&Wg!rh*"mYsи_ӌa?[*b6iwb@ց]B3Mh3RK/"U,ֻ׷|pbtLQڢLAʨ!cWq嘤pEyxR?R\Ĵ?K'\'N8C^re+ &ˏc)ɇ2komKd<@ȗwgbKd`聻= 1}XDo Ǒ` \&PUJJ!4ZO 3F룏~-oGetA]ӭ~ nŊD3;`JV C`^zȜŞ7E'+/sWʎ9;˹dU,?_:pGOo0ԴɇW#<)9,^A5d 4]$bo^cHu0`xb%7) ^䙨UG=L`R#^Sszc7jJ:N+w,|y&4\5>Zf(ffҘ-(-zk/Y 2;%6Px;j]H oR칛!T_6/Uv ~9ˍL Qkf)4F^ZudiƤM_1<˩묧&pi%p @ѫpήx]웍V;}c4)-2EFjJ2;UJo&"@ڰH^htoeQ*CӜ329"sv%p(jk%Pζgp]fCm[(Xq LF"9n\XlVY6۶܃8/Zr ]E$N)čSnI FnT?okJ3%(SNuPfL47ReK'|"0^*+YsI1[!Z='W~_.?rb5KҴTa2_^\EV @pp#p~0hݶm*S 2&o7; 3+qr][YJ6[$*r 0VA܆Z!#D $H>]zrS j^μ#[w+ gxsW$ބj]w'(@Zs_7x^mQȒ8 ^Sb0k#-~CCvsaE?1Pb< 76be -o+ g&^ƛxD 77&1"wLDaC>Q: eY:DR@I`߼ -,Cj\:pDP^Bť-3&,OT{'=ک ی9Tn^9snE%&RQ$#:g̪p)BG`g ܨw-4eKvA[Ar[Em F Ve zC fŇ"vE`"&ÒHvZle|gy:oF ->isYnb Nls3+w%۝ctMg?0R)F6> ÃJ";PI`xa3.wʱV//5LL[4sp^#u+^C [kd,HU|'Ф397+ k 1EH67 7ƻ&tCqnXB:ioE76B)T0;HHk%8芈TuPm0Z~'bn%t:ƚ)bN?~ֺN*[+S=!Yoxɩ`i| bԎ➩cvw ;u>NKotVmS!Ki==#˲, 1d2!O3V)dyuNۄĴJe< ]8{uqUǨB`pHB!`r [4F7S4lE5:u 69q)|)y^-.8W2m=BCf[ScK^n5qgP%.0yp1i΢!&O.\|'u Vf%a[@٣- ;z:\M#H1cꛖCM~䛀\aǩEŸ9sX{kW1Z:-ːS.x$E:@Lmgařɏnm?.X;g;0Z}fW\|~0[aϩKţ:]-E#[r}ZS-͟;$%lS Qh)zP4xxҚ[5 G1+1DK/ ' R[w B+Ob-ziL3K~9GS2XXok@)ql&Y`1/y3ϰXư~̢D^*[iRJx2A ۲śnh3&fT>#ܡ,08.';a9R* "٧HsZsR[кB ;6eneNdYrWW)(pfFyA]9yw` Smغ2- ).rЌV4Dsۿ|*JEzb&<^AwYv\vY+7:4w^daY"N,JtͰLh/浞yVOOZkAk/,8^dЩkj筤5{ % AK;qKtڼ'yʁٍ͌-ӬF̙_sx6:XfcłX]W7Fx&Aksw0.\9M7bNoUwJ݅bg/9*w}9XRvo<UH]=2;/ꂎD݀koGUߛ2,zhINoTӴ0$;y-VR,t`-nlOu#y*^:W}KV!T$rÅ MRtc]:5%u 0c2di )c[0`‡XfiMxd$pׁgMAl=fmUkJm:Lky{Swia{v]ZuS\ujt3[ݬ>njk^{9f77lemP nfkϮT%/gg26oP@ƒȳZ,V7 n.&7--yZ1#oO4;yĴKI b۬{gJWZ^=ܢXcǎYSu3|@fb1y]ȸ8ZGZ`}j‰|-L<5}8[pp7e@7M, rV{K0K!Ӗf0p t P*鴅4&d`h3@dInl_RϿX$pijg2u͝;'cЋMrT_?zl&.j*hrUkvTQYkWuLB SF\Si vwoV l&f 5,N;_{՜D UcKeT=8(ER@`-eU*CND}`c% .;[jS?I]ub˔6-'-BI Z4O 9\wOXُ T? t{+Q:aDAF23Xq@y|_4k4v.oBzgIzϘƬGRx>Xu7nF)@S(aNw]a?f&u9E JԀ8JíT|/DHc֨f#(t@<:8g'l vJ @[i0&+)wU,|4Ke±y@F/9 å FҕSdb*ލ/8FUܡ")XPѫ_;SAAT*+..~PUvr'ckrJS+\TQ[U-#nuca z:PŷxRk".я.eGByw著38iG7"v3;(Zj@mDn{dWr[KZ~%L1E wK; FW=֦Gm`حqo_}cv OdjdjFoR`[W/CGmLS#(|q!Ztg kR<ژP=M"@|=="*$B~7eN,կJ; "KId\Լ11b Y9 Ϙ _Lֳa< \bpUNVh Ub&y/%>yʈϡ#}jgaiqґ>)0XB*D %"薗$|Ч-?" =u3,"[:W TDZiHls ,7ܧ&6ga=@NWRz_L{Q*xXR/ Q^fOR!/SIA FщՖ+W9^pw w3{,FMA!wZ1sc0&'g|;t# sb^*o% IT/Qh6n~tqE=HIU+v$s[A?( ll`SsEUe ۦ+àMmxR! Km}xo$ov:*Q$~"``-ׁ<fgBQ5KZY2ɳH&D*t]`y_L sN+Z9 kz:&VBMu|!"K]Mm$nX Ӿ|XĔąd-vI4l(b,)6N;NWO"t V{eomwvk 0^):gJ!h.7sx/.g!ցhC=*풻\vviu+]I@80gy7 HvDH% `:3#'Q6$=eϱIN"BccEݦB…23l˒bCU es׶21b&)@49esj$gU'0m\::N1 lǓP.X#C| J%&}x| -AZ8i |ZcEfOio&IQ$ a︗G!|r]ARaQ6KT즛∇s=(4L!S@ײ:CyڒgPcL{eت{qKn= :&xh5}Ch@z#f$hV@njY|B09;Y2+T!ukXhfӧ|ţ9BB^+Jp$*|jN;uAGN6FVaN,vn)(A?xĬBUQ )u^2 -2ٻd`6MYқ!.wNQ=!K@]k#K8mjQ4e) Lv130g>f [5`yҤDC z/ꮤ!m % !Qb(-~lSJ 1iLC Cs۹ÒQ] 3ZPkݨY?6sbDFX{#6ꊉ;ȩC)JeW+ q"I$Zj`# Rw F% ې+7|1OlB^&G)Їٷ215|҆FE , Q8̊90Ita8/p eV~EgQɡ&׌3NDF^q1;Uo 28bW̘sK5l:C+:BEAG m2|qjUZY5I)p촓c.\y<⾱_SVNc>r˖p0a,|r|["ԔeVd {ՍJ_L~d̳jAvY+`FR'e4:4P!x'q`ޱ1.DLxc+9ogs̅qeޭsF ]9~rKtgƪI'B 2CL12dtkljTEhCpJuXUt^&. iq:\j,Nn&L`FYS)\֗e̕GpKI6lZ%GVw,"V~-McMeAnƬ z2Ap W]nFaWG[á*=1[>6UY"^L={nGAD2lS4H`];tlZjQ\! jwaܭI8N3AIy#Z+⎆.>nc2rUʞ^?۶m U{po%gɉq!D*CD=$BEbpz AU@?+æ*_z [Eo$ݽ+Me1!zg2BƢd`9sr fl7R)SlZC 0~YGצS!簿=ѻT *(Bf\Js/\vUvfOU63Uj?X%PtOjhpkUQ/x,Z~4 9Q,*yj/ۮ#Sѡd!*]uYM~]5JF4ҔQ% LZXlϱ۪#F-cBs=m?4LX5}dlyZ_M9>c-=m+m?T`=/-cĸu)Vkqڞ9*Rۄ=I7 Zc b190|+![ce<~*cW 4^]nBW8; " mVWwpU|a[7mmUO[lWp}bK|`嬵r@ȇÔԖMFm|m^-n)TTCpUIb"ԋ+,s+x[MܒX2\ޗt~W=vR-21ɕ(f<-S1FA.&m=5c+ee\vneT bסix \IE(G1,0^zmH2WncJmF1l*QaM|j@MKW97h!1Wgriг!W=VOrlP9ѸXgÂȍ^\rYEp t?j\NkS4H3Ǵx혺% dZPIwlbV{kPpLMsZB^9_.ӳ+%8F~Z+cuDcƛ͚EPnnQ" Bs.UEQmp0;SIoCL^c? u묤/zam532L&n$*pwy*RsUaÞ4g@y~,ӱj>[5*&-6•< =tͱBc4Oy 6xܙ}-本 3Im_ -Ω\Fw%)ƥI="AB&"6]FmLlsêƒ$`bZ&#B-9C]Ci[eW -';{J9;,_{ی_^ zJo7}:BtNⶐ3r1YIa'BY!E}>$٦E5ou™BꜗR?ԧkN&R҂eqq>Sl_)+Q痀Q *QmT_0V Vlz!HoH`gH͝AzC-5Hq~t$l{ʩMgNjl@#S~4[ݛY"5)v ٠ɜ73Ve{PO[GjB}s"P ,;F 5+Pv7FV6RffJrWM2!ѧ`"Z>C<'\N6%* e}5HWm) lzÇ?^?Iϛ;[;-g_K;B<9tG. _N𿯋 .,n*޸ʱ%z$xnq)Y.d촗 ƿC7s3/̼Wt&:]w޿ ѷvm&f :ä?$[n ;7oDPfq/7栵4MPvzP2<41/g^zpRqa|o%2њTרD/j μ_/W[d$iG<ɒAv/$F.ݢ_lfm&NBC[H/?1iƨۘyA4M+y+~/.I@k&#@wG+&4h3/~҅嫯z{`y+߽xrĖ{+^x7ߺ/6r m \v:lu"fn;odiPVT3/sK wgqFrs~- fɫf#9ߥɛֺX#xFl-_?$ KB[o0֗XԆZudn*n7 z{b6}:6p(Z7պd.\+Vq;dn\'d%͉s;?/A{/OX\`'zM[Յ`4+NhMUź1͢pSUhIm j634 p`=pkJ34Zp&>|" R/ VVUqzsF@ҭ9,UZڪ MDuPbӯN :&1- \ӧO]^'<+D-ff"͋oΑ3}UPmXQT&9vPL}P'؇AT*g)'_ON,,MJԌ}B eS&▐2h7-nfYnrn@mрvykXgJWRK >{} p(%WmymB޾s_Uz]VNpza[ gX$7~/RB>h8Ef"Sitmf`U Qݤ4eâ-uekkuuzԐw,V3U9Nl7[R= ]ulyC:VU;Ȋk+!@Kj.zi(#?7 L+ 5 ~ʑXl&Oz(ZOTPZ\ H&=FXC$ B'r F{luy cT%4΂ s^. =V]D705!8^*%I#GϦuWӪ K4;mW0󜠜9<[^=OrWe R/FnO!!aH#$; ՗D&N&.o0\7ؘ\ .Ģ6CjݼʠF&C4~m*UZ0J Cb/Ü{UA b/óȸDM GzTL @[8~PR@і 3kMYN:Kj[ oп)lؾ,EvKr h2;eCΝü^kRZT>n 3 =v'*aх0- s%"Tpj*nz @0!R`c fVN$PkZIòw"M-upްQIVbFF/ z"Ր]Xy"hdf7(C g)?05l6-l^M hl)GXحM=LL{2lMÒRX谑c*衑> 4p0W ;d+sJcT%J{=t*8{Lt?WʄQ% F;ECdA-GhﭯhoT u` mf!8"ڪ*A2vfG-PSz@' TjSҙCixkȖ[?z,Sw`~,w'2˹ήYF<<ƦˬL&: sE{^0R {K "!VG;x{suDgVX'f-%#Nuڎz~1SWA#5׋VT[YcI:*WE4:W 0|3>kL^뒖'uo;=t4ȣn 9 i9#4'!n)[fOFBj7@-707(_i. 'V˿IKl׺[ Sm>B 0 iX6rOrn*JgroN4xʀ9 5E9q:ovؤs3/{bt>zq`^ߓ'NCKY}/'qM*DM2} [wR6USo8LKNJrfL ו@z(G!ܺLǰ*"./ ;+86+P:_%nNd^B^ ?UURVЛb .{Z_z<+A$J͒]6! nޢV_9{>N>yjT AgƑlFScc^m'&[Gx?OZ|?uz|0>Sa(%+ |7V/_W/]^?u/^ߪڲWХVWQ噤){?I 3Z΍ؔ(,쬆P#&a#%1z8*l{Y0QC2,oδ(Z*nKdr3/O^\SC<{,pBV)XHc!~Ojh_%A AԋGrI F5h\Fv:2W$:`K'|!|[c,?$~udCy #CR)Ae$ļCbT2(JaNoS\wsP{8`,)0fm'E-҂O&lAS#e.RAtvp s.2W_Sd\s%~,lR!P$lEy4q$vOxc+<7eq 幙f\qbɟ9H5?0ހ.KR+ p禣%wN ݾu-s!.w['C a$i^j;oCG=p@Weз S5ǩl$U7OPqcz:eyPSe+XV7՗=O)?~#>ς_x,(mAɞV4UHOn@6n֨ _6 Dd򷕕 J$v}cԜhJݙ}M$ĐPN~JMXG0懕pJ0ݞigmg LN1XŞ8A_MB ty>*2j1Ic¸kzq'"=T āT2r0Xxqx흜KBU/,r#dЋqAG-ȍBQh(@HULHwXSȨ&&6j-dPJEBAHw{a#zTƛjuOvY<.:U2(v˦s&48~) ' Kޮt ČOh2}wt;*^eI XϤaCYbɡn/oobc[(RRUG&L^ (a5C~6D_Nƀ/ W”)vB \ B%$48*?8SL99HN GCLl-_)ab0HIeDx?!1$a8l(LR9FGO mͽ^Fe$4_gR3+Wc ; ? I]aٕ-TI7.^mj%s_ !ZHꭶZD. Œ< x9 qhSe%t 34ʭpFL7 k!.Z*c(:.HeYvI:$NX`vhUc*.)>d42GdVO \eB.Lg 2dezXhD.몎<ODސ &P겖y0e`_MTjƺ vl4M`!wLMڸtw{'JϢDXX3;H rP%&k-Yd|Ds ~ӬV\/ K'<KG!|/7 tM yZD1^PmmOfɒĸ[3EfyQdL`ﰨ@9-n~j5|Upfj UMcy2ыS輸RoV-F8{ dn#vh&bݳ3C TgNn`\:>BKMq˶f n>FԭTeP0cppA@YDaiB1,d`6ioQCo# L]$ +8$NiGe={ 9߆m#Ysoo`Ҏ*VJo., =J8W3vξ ܙ Rfh\4_/_Nl,D-w[^~~ ֮Y3~xZTƋTA)0轷Qvh:g>+;3uCR쏩XE6yɓ ?\Z?O,?|)"{N+W\}Kz{E:JTQx;A^EYc)XxBTY1^UFujkPT ]nnƋM km[:P+V^ b1{ Xޡ%xaOnnqaD?:Ej`9B6S%,8=fj.8LjC$#eB诞 VmJ삐\]ԪVv(nXۦs!Ep9dWlRwTϞ,)ZVMATaw3Yv:Iy@v7gWnj+-L4 -n"gME~5:#C䄩'ؼdҸvBVVJ-fAf *Zy taL)h4T獪 {[63A+Wg6ɑ>``wrqQLkb s:G\KqP Ulř9CFX!G,݄^ ˊ?73O= BڟSFCd路W TRSrYO uաW^63>NJ=LT'WCKU@UXBȊz"6)dɆJw`<,zAbJh2Lҫ7EUrNX!JD!b+p@'"EP{\q߯xHeD`Iov4i!O&`A?QLP!?=>o,! ƇNZ(+RtOj: RJIMPZYiVәDpo]=az\X6`uJcJ /gLy(BVWf\]5.UV;a)yEA>* `AJ`Rërxpxv21~д  9 =TP !`a9@mJ51Kf ϑnhe`必 w(a|ưYʜU\n^iSs1i?ӑ|A&2'SOU:R$I_6䙧'm:tOc$C*'`ř0@c93dNɷx%gFnaP8QiR!M W$[XC7.&.& $AcC8!z -xQ`(YQk<7Y&)ӢOn{=9BM C^¾'13g7 ~nz曚ػy0e5r(ő U0ת}rR_y{fr_˟Tn|e5 iwȗ sI뫞I E&fi5>%?9?cE:u0>_B_^HIsX3eJ%ic[Y ̅  .ftte|sjR0\"Wyqu[hs9LIUAlMNc)%P/,MRk ,8a`LDһawƒ&x?鸌y 6_G 6'nT夒4XNn-,faW8n($p_"Y?I~chv *[-xe/TU709*鳮S̙ˎJ(}Q=~a|: 1 LO5 oO[$ NnzטN|lJ]5lu%` J%X:Y .cwkZYmM/)ФWQ${R%JѶQ^wR__>+F@U쇪"C({ $`6ss?JE|ٝQx,y(0LX^?2&9J=TPrkCQNPxa% E fT׬y w Xo \0L c 2dE[:ZuDLl"MMl!Pc0 7 |?0[d PdBvd2`匹V&\{;[3%q !D&`T=icA B0$ w"}OD/ ~ 6vzIw0^SIȚE +) ?;UKqU@9MDEMUUUQU]EA:76f>HM?e7=Dsl¼A=c$-p.ذ({=eu{]@uooIn&.g "`}dUDQ-o3hg*֝7 8>.Ư4E+S[mr,À \Jx/VA8u+Jb)pov <:Z~#g, [% ?us:NuKj~D` ˗cз3CUuTЫ@y)xV*Y- 0'0!4S "X i,Ľ)Ẹ^_ ђ*A&45RUfփ{dzLx7@9Ԥq^:Hu"< ߁dR K"@R* ͢)!j 2~$ -N r]E av;73Ohy6 sUg ֣!*8\eBV]\0W({.eeV)$E._ c$cތgPmh jg;8D Qkck_oxRib`Ɲt-X$(^⹹Y]_f&xw24rʪ(\06`Tzt5FC`Acq{ ˹rГ}-e V!>z:G_r,ÞJp z=R<*B{K [XgϹ֨+:KZhQ0E-Z2'DT%˽d2X~x#*fV`KF==/lGGx;_-Z˖ ݲe]*N+hO-f `mabBwbʸ~ƞ{z._~4l σR\Wc !^$(mHPYQYhEBo53wV,3WVLa"ϟ24،D-Fe>v=27Ln&p2eب(21 M?|H4 ܇/Ш{jr{P,ߟ_ GWrYؿ-Fo׽`?͗@l_[BoF&MvCk%x~ d6 x{uu=(.Ya?|OH S8,0_ pg"y(qLre5OFFU"lqo X*4~}AQ@ýY>GW>(#+E@iVǍDT0T&ϾQ>7EVԲh`$\%̄jW*H٩7 UN֎J#"Ew7zi1 BT.*{ {)i֣̍Fhi a("E[U4'{VLaJFmd/2pJ9"Mm-mm 3SQuY9 -PîVvP\0;"'`f?Il\3Gk3G [S~ُ yڔv* [~.4Accyxp~Tr Im1vʪJ&M%bC DpTqdRpG]C_ ?9=pLN !*=qeQ4"6.P# 2~44Yġ)R("'cKad*-?vr5ndz[a9ơD`4f` .0 NtCqsך28 n+=@W Nix @ua!֓ŝUˀ!,?2 A㥐 j( 6S-> Lv%S@RP ,L4 O el+11rWhR "Bq85P6dKq؊>&#ha 3$_ I0L,y1;L68\qR]Pvhh].h],xH FU]^WVIĊ-ROv1h9к|Q2",C싪_;"0`r/n 2氱!!h`f6e\{gP * P"ЪzFCMm@X.@A9-mؗ$nd\^p$U-DV G{;S+8?` '``,3@r'3ظ; * Ti:*Y'J٣4KcS?n:8Pz-3řg`5~MC7`[XT#h@ |\x.?bV ;8ܸBgg*HReb u~ _gL%ᮠ gF?,͚^ӟPPz(Aꩻ~GyE^T}EzU`YÑCW220eѯ.}k%ѷW"w^4{|+|k,(cݵ(׋V7aQWAS_)0 .ڏJq5{ leXS;gkMO埃esdq2.PV5fkf;vKu^\E\b>}0v$Lc0Ϳ3 pTH I4F-<#x)K[9ji5sK`;ه Kܰa [Jř3ԣlh`@ƾ5T(=a䀙ªwO(]E(S6@z[N U=Pr%XN|wN{/‘*۪^(H̖Xz`%[)d1Ŝ'+O)̽G͹,jm*!K!fsxrxSJJJL+(ӡ'̱W)qkV_BY]qBNCaQn^a] `ǪpF纬` /~i%i/^/"3Њ񟨈%0v (0:#UD5(` dA'[F%{ UTTd1HFyzx='φFe0@N&Rr /E&0f+^r/t aʣ  P}ܜ3g03mQjI#@X?,<B%b(a'<V0@ߩcJ[qCo8ˡٞnq?=p= MLY+7~3fڊct_hOkXν.O]s63??S@}S|iDY5YC%Qdx{Eq%鎉F(l 'Fg͜1'm~)S^gצ>9gg{vcP'mYzZ?_e \DZ/J)v¿cۑ=۠(D*h[[d<+'Pg}pz.[Is:Kb ݨ6E]I _pj# l*'24Fw3<#6 dZŵ|x,%-ٽM< oq'whԏZGäҫ SE  q$o0Hq3QZ]5LMW}~7 Nncz5(a*b/Y=22xnw\t8ay13`,& >KCAHF1_ 7>8`\.yVHkQ!W6aZ fG|+%DRHcDتgH%(3Hګ(Kl7 _x:6)@bKXV3 h3P`ܤq)N 1c0$%'0#f0#i2AZs (8@E^AE⥟O!huѧ%(Β8¹fѓ˜ *˜#vfY9x @?SHZ3bLb l zia! (+iP#J՝aaFM;WD0 0o@,J8^FG"2,鐍qfUVX7YZσ]( hR.GzG''2; >$9Y%eYxa2U Pt% U/'R]OW be`0,H (3A2.+bdpP~PWeeq~sa[3"+P-&̋84ɢU ʢu@WW+ {e`crcrcWbqrcrc{ *2! "E2FDR܁@4Q ;IC6{5I*!!Ҝ{f= + wV 'f4Y"TTY TAT8GL|b` 1;H*C$,`ACS2aEV؞>d1 vh+4oJqf V1S  0Fy'4 yL**pq0X#L-,mfں-p4qaD&;!ų/(h!b{dȡE^f2և̯)t%"-f!: 3>k/,64Ɯcb~e 3+&0?GCS2BF5~b @EtpbqVIAYcEa .opzdTtZ M*n'2pEXN?p~r+Z3!,1R5A$B9 M$|f$ ?3?`#*nqײX|D @ d J-ö/2F9iONaw rp\laYdXvoWN oԿLtWz%ȶĄ̢d50RqFc ̽{7 ˢuq_KS]?!_DoeatCCEV<X3݌ιL6svԋ9ssynȮv" Ne 0w_,/LVBnӔˋ@F0yI2V֮ge+=9-AieT6¼ ;yej!sRd8=#3i v~a36^>- ,~:4SYT$_N &0%ިiL`ay̏ѭC*?ν_OO]H\c!_hP)" ՄMC$_ol[r_<}H}l^9f #yҿN3mJ}j7='&J{?0@=)!?Qa\.p |^kD>SدчjOM_LK~_΋@C1e;Mُ诡 _5:Ĉn pC^t.Y쬜=E?+Ba;|ľ҄Dzye!͠WڏN[dQ]->+_cO&=@fb.(ns)B)vkefmТd j^,o'3s3o)frgzr{rrv*0a!uz[?" 0Npߞ}VX0;ܟG' qK9D89$'pND#sVB@`KWVh|HFbE† /BcȃwTTb*yd HθQGloqSŶ{QiX C8r?]pW{e~k >M*ښ<4㞱JJq4犞mPEl^c5}4pRt)@)k i|ޣEH QtX߽l߃@ g6111<܃Z RU՘˕f~%;"QC: :}j F+k$`!A8JIBQCaᯩS1Rɬg*hՃ XN0K3ˈ J c7e!80@ 3X_}v @CPw"o4Z Zh%':k; / Ta鏊{qWŠCNql11C !5Fј@~J-8 G] chEϫ1ob[x%5!͆X -NT,kša hPF1/。b mWg&-ak,sVhfi۬"h-uDXYaʐVQfo"}bD8ս/Fi%L̢-TWM)i94q)+P:wvumd쌆PIjW EEN,V{EpvP$32M8m. U.E r&o1K,`iiC j ٟDrS<\bˍ1@LMA 2rJ:Oq'njspd}D(Ǫ`.i.L bB+() NT P #*@uj( B FTCf\@0"sP \Y8ƐqgeOVhq%klIl\ ) ldq4*XuŃm~G9UiR'XFF_yXr<}HwP|+2w>x*sn8h`8@1;jk3K) ިOSo_=?U?e~~5Ǟ؜z{ї+Ǣxb[/ݾe[,E W܅pN.B x4 G|)Vll8bsfd#c.`絸g8)6oX8м Q~(㽞:˯ sr0C9`z30 +*˹"Ċl"cVD㗚k.<SXuug؛8ɣ7fp~=,լuK HgNԇ+cȞ,wо-Ca^,E-?DV?1caN6, 3kd ߖ~`$=MlL#Gd8MWLs`(yd $ ?P` 7z>?mmunOM[?HJGV@cϬpЯp8>NrBUN9HafU XCxnBmRx ê/!DfNFYXx͙[aDP#:"yQJja4hEh8&LbybpZR)&W/ 7Pp>郝eb.gaJ2]87zi3zR( &e(;P1 ZKcFP[8`>3.=`>b3Y`B[|4O*lZ醽f ` @%|s"$tLP]+!ʆ`1^˗i ffdUU 3YWC_Ͳ3gRG_ٰ@_9g+r0eB_McF_9ZΜ)oC{YtX(*ŗ{ixkg^ީ{:=:/vxX_A[a5U [k9Öֻf a6>s2p;9}lqG{6,1'NQ>0W/xM5x6䕸 0@ EMЄ›kQbiN٩I{ |0X3E9Ypɡ/9Gg ؠ3)M뀶 |^2-*(`Y1(n8q$ݶ^-H)(qc+4ʼnbqM#SQc>Sbg@1:ʺ,lݳf4)ԎqOW0@2 KQ0n=4O8Tz]6ȱaCg4/iDٓҀInѢl*Cch-0X^C>2:IUzt-`{TP8Jk 78 1>#$}@v!Qi^G S/$)M)Fpc ((%B]WMKWE e D]A&ܩdtYI`0ccM\ӯG(s5ELQ tӓF K<@ʝ:mf3g88)uP)@KXK NT=A'C#2?DӔSJo|}U-_m-~3(N'o#+&J:O4!,$㠈hL֛;f*iˉR '(;Ӱ##l7U3V64^+d^x@-Kͭf17Kgi gţn^~GOzl ؒHG5EnNujӽ;mso7[J=3!i/w|r!!ꑻ3=ܧ'|=Nx3'='O荷='>m>~8^ iY_:i2I^܊;o_~=KWڊʿ}ܕWE^emCaM5Nz[\G'Jm3^^HlH76s&z>Cm?&zUNMojwJ:^ ۺd ~ӿ$I2 ,Ңm Q(e2tθ 6o䝻kmT4AL`Ctp`piuC LjόsHqUqdG)ڎ=aQTd݄c"Vrv_,%I\jt!W)WLF|i ׇ ı_B&V&/5k/ P;wq/4~oeG_^oV u~}.AripB [!K=N=tuSV=+IRgǘ,zL =ƓN!Yt'SIEճ1tuO:],N<u@N `An,Ϭ,,{ƨǨ@A@g A=@ OcFVPl"3HꞞ8ZN Z>z g%M.A{!Fv@4N끉f $< r'L@N:t( ` &]"&"P0 o=)*Lx3h :o~7ꉊa3 ;2kkZkS[۟q YhtjKMO!VbKBn{ =mfWWV؇'1zyo7_2ng8yIZNMtJ5ni|g;n|, ~~o4sW_^( t^#Wђ*ŗ:fm]yU{.~N=8Z0NjsF^]8=&CݑBH콈~{v.-vXesmIs#oS o`{w1}}%ihwú(Nqz$R#Wi\ kO\+-\JXg^{4u:ǶG4NܴI!7Et>zXqrRͦу6 xbKu۰Zn+nlf>x㩻wR2)di='rtIlbrb_ psx)Rjv='&]mUJ8Lc`U#NXT 5Ov 3FF7*YfW _=Xܨ=t*A~΁cxr͞uJ^4@۴ťkMF1⋜͕{c^_Dh/_SUW DXeߥ v4}7OD;}ҹ/qcʥ= [o^?qu獛o'_{֝kn}~W|Gq8Vus/y_ վ^\YV_UAcno'ԣG&죧L8Y9@p=S !g 3Č.0d$;hdC:9g^riʪZ!*J^?WG_?*TԴ6٘9YZAZ`zrc ;+G32Qs$VsAnY٢Dѡ3 ˚n WѶ_nv;T06zO¦g{/weAΧWyWܐW^Vr{gWcs0coj@<6ϯ! ~hm45q| uDy䆼YW2.=T:YoY#awnDV}F*oCuKlhfġHӹC_D|qtRórC/L7~\55iߚ4$$% k)<=5j uo|~&2rD)x&RN'_%Wi%?q!C8)0p< T M֩5 $^ob:o|ŇS>NkLйWfnBD'y(VD1xg ޡd䚝. -^txZLj÷7OkWէg*.qi<6>a\HDK3QO"6'~EUVFoXKz0YC&xp9w@%` ~^ 'XpCwWב$fܛwa)GT2Zn}  mNH"マgO_U|_Q/ߚޕԼ<.5&yV[B>NwWQF |PGݶiv=W>~r`s5[x9[}(Ƕ2TymdX% *Zp6%zƱo\@ޭ:Baڹ^_6贉ħl_oϕ[HsȾ'W?ݧ"W^&%y<#r{6/AP 0KeiԊ!K7S~iパ!z7 4[Mjq Szqk=҄g~psi-d!Cw~ Y`"V\aJ T#qmyƆt Fx5t!W_}Oi/sO_+GG-;|;@9m$:-^3yL[޷\hg]JR6L>̀_O8|hWMyqQ/.ozsǣsqW?Thڬ Ƿ*}{fFwx o?|\X]TͲhZ%H1wr 7IUĭ<>(LNEܮzz׮ÕX]1P bZ($vLPȃtc*o]yΚvlw'\w:5l9y׆SnnXmGˣ4V*o]5仏o\g0d=٩ ݨ;|ydrt-6ɩSƼ>/;'Ltq{|MȂ=: 5-MJ)3sbŤ"W&~=BQVx%RzkK/'G-_axl]y-dW@MnA#\yB_˼dSyd'/ٸ} /VH,_(usV>ͳ[͆MG.g12Ek 6Y|}|1武Ů ].æ!u.It?R)S0&:<8ƞ2IF̜-3s&~d}*dD uef뗌)iI3پEDӲJO)y' HiP:@>ύiChx^kK9;Nl}j=^[iZaKUģ#Z?.o#[d).T|p؍Q'7 \0dfl'^-kxSiSZ=.Zl}+XݰM|]|ݵKuk2 E^&m-j3pdfmEYw'EhBnVhh+)S3f޼yd27o^f};8s̕+odK/x`edW.wUo?ycYҚϟ?R|Ɔut7LB胤Q*DȚτY&̫: 1.H-ӬK_&1I W >i׍;:2@ܳ`T¨-7D_ g*g4w($DKjtt-uow4l䝺{ȄNRlF11hEm-8:΃w.or`gi݇GLL?TS}Um͎'' 9{nXXK{LkLTIUX^IKV_4g蚊/MC<;Ei*_x~Ko.zd^Uw?J^hC&qFY׌]/}Pq8ߧ?&p迪J? EnϱQ7@|n`IgO9 6Kϙ+W?0tpΖ瓞m~Mi| ;um_Z;/91 7֔g`F]fިW1y:!3:utƸCWc[qvr1^Jgl(03bqޮ:"]|b6=9A]"8)=egʸ5-}nW?;`y K̛Fpen<ψ+N֜)+rȆoiuSdPT zKlM7/}v+"cq]G7e[8xoV kX $dfE6Sf]i ͭeu_Kr{aB?ݾ(d9R3TmnFb[6)=7lrϢ\ 7旺ڦ#/ʾ$b+!\'*щrlI!>ch]Üî$X̑ 84(`c_>#ewr5OnY%ҴlWn8.*,r+Z*DCy'DhkHE{<+ yl"8+8~Bĵ~v~/cU~7ү5%E9ɉʣG,bflhgm"#CKUV/F;<3ʜK2[m]4=#] xen tX;`/Q#ݟq{^)b1,K,಼i؝oEGP+|lξ{}Puڼb_RF,k*|q j=Z;lo}U4)#VWڕ~K"}ޣ,GuG(Q7nxeUKGٜsΖޜ.b!qR̥MQ# FDH^Nx6r-BAлeH$ug-BSyx89G1|ǚys'^r0/‚*E5杚؅A 9/;uKSHkq[au˪$>X6{ZdSEJmHOߦߦnD?F5z߿~3ƌ#2z2ʓeNU;MIx xDPg YosƳszq'Oݛwf%7JxV xG޽{ 01w2[kA44V}.8r4waX|v`tΊ-K s^iz_hoOnЪ(cE{Fl]QMHBv)8t R?Q %Nbvۘmъ廉;%7o1>%qp|\ LMh.H`cOu,sS|B^uHofw29jBTW7{8e kc{onɏF=qI]ukw_ W!=;QH\QTC˝,{jo Q%  EE4>˫3(4.;͜).xnl/Tyag57 0(s;<#zղgk7Ts9~i͑/Zmی$ZbR+.=]z{-JREϷJ^KnЋeTt * עnW?߫ >͟ĕ1[m|x{h^dZOxi{‹VZ}<͆ ^aGض/ _V 6SԊnqHg6iwY/vJ6 17ߧd? 7ү@\=1ͣeyNVxW~uQ5Kj_gŷ/j' mumM,oϖNgw7*Тf;Gy$x|rvCYwk' gӻ!1ӡԖUM鷝ފآphj\5v[#ht1hԾF~FrvB>!ǟ Y&R!L(9®^/'qnT1;T NvY&Szm9YʼcRv&L͝P[[Y!k19v@˝M9۫ɱ [ g,}#S^SwχNhy*]؛ <,Bܮ0~çoi=(T l狟웩v}9u:1w&oT3ph(&a$Y))|Dߒ~_^% ёJ eo<_v϶BwBC?!@89o.J"-?HeWQ'oذĞ8}Ν׮?|}Sؾ@UU*7455&$?21X~HQ*͞_杏KJ3F" Mӗ=G:S[ w&lj#,҈'EUvGj"ȁzSz#s)]4+ ,&":=ʹ''tt Y}!Uzw/h!|$١3~n9!vQрmKeo'1?\%!lΖuiwo؜{SJwftm>/ܻJӴ%GekK՝ϟ;4rߗCq~NK4 lm:"BR0O\~VxSъHɊoQF- qIO_^?55~eWGU1Cvy>^q!iƀA{\? صcsaϼsyFby~Et7M/°h_k[Z;`٢ф>(V@%!% `~>Jt%8]U!Ǎ6־0h4a"h#+S\&x4'|x78?'sBHACIS*v-$s K'ڔ']i3jl%>>߶: 0Fr|WQW&ޙ^WѲP,N?fc-񎖈ڧEyXd٦N-J5a`/M W/˗VtB"@S[){v]4ë{wХg[&~3~yF)TiJ/mfeOX=_uY#rSv>A:.:'i,tt3Ҏ1ګ][Kmz&qBtIףnӗj6?jn'믤~OnmNtV??[oVWx)ۡb#KM?%n.v,+W*46}ċ3:8Dc\^h1 @ſ~u͌-I<oГ_o9YY[74hǺ>2?zgϝ-G!n~b^Fxvnbw6UubQW"[$(8eI$vKW#ӆw=vt[i/.2″|U>/HET+oLܖtg<1 h[Sfmo5l'|'2+#g^T tv4/ H,;8(W0—G|.2%6<` ۰.hHg }75{]+t?oM_8M/L|GÌMXF۸{+ږ$ΓW!Z+6D|a&{1֛/݅Xߧ^LW_IB-\i4hu& ˂,]#4*&8u߰]gԃSn_yk_r`ٯ}~n.P]RDzYԙY>1#ϗQHb̂f/:iy&}8G5-rˇ}3k ?lz] =];{N_ Y-w JcC(wkY% g^7,pxΠc~k~ݿyURu7›UtcIn ]?sȯ!S>Wtu?D~r?~S?%@6\_Ev~EğN гԹN<~I^SS9o* a練 Ϙqy}纞Q[8:zfO#Y+Je̪M>;y?_,p'Q˪y\H9>\`H5G|ܘڙ-E4_ŁoxVWU;'\kvN2qD;f o4|heC[c*}SQmÖL[y $>oMvU=̺?ItU%̤!)yY94[>ɚ}[PӨҍr*ǒȻ|$>qy' 'LlYcDs|(jL 7ү *rJkk}KT2 b~p >;ؗ͛q+Q3kv޽e@5=ԕ.g>dDBC({|zk`Sj/wY0 tMɛ~iAףD޴;,rf.y-[gNN˪+.H>Z).|J _|&fT7i8)oNmJY'H4J_y`uLw%F_S9}<$Pzs+b)Q2_ r}VIx/x uP4a"wZf8>ᩱp7d!{dH92TH`asyoe l' I.I8t&>@B`QTirFxQI7kFuU ^/|Kml[Ml#uBv:n4[%JzC6~ />OU5Fu3z@c? D@L/D@gUMsŷ&LojU%!u2Q:bǙcYZtwӕ;E14SYAʻ"$ >̶:c#؎#:ËӌrѬ53*k:P3@l@d)ve+ l{#uA.<*k<ŠW̭OjBA ]ۛ=_D'>3^YJuLy={/HԾ̌\f0jjs^jpaʝ%'M%PA|7aJCna?sпjwo?IE[?j/_߼yO3ݛ"j\|/]_vE#Z:豁ͰƮ^qESAysU>+tAC[b"5KGe W<6wZI>X $R!xI¤[><:8gqY|F̍ߏ4~ =הj%fd轜;wsn7]BݜTsa(7'zl\Z!XnkwL!8?CJٿJ_OOOLtILBe\Po9X@W=TB> u(V0ֵ5nR .MtK2{u.odxq4ҺTnSkV. _Y_.:vw{ci+ v{M-wH\͸W5Xun[O Kt>•$ ߛYmq0xd詃sRW%xp̥fí>֛l[:wiڑeB ţ,GIˊ* }Ywiòk]v/3WUNXs`-wh l~9_M_M |$Ut"K6l=0=0~gt^Cv;\VVʆWWW'[gjcWYațυ7 [^;_E0S σ>tխ̅w[x=44k{iє3:* \+Ѩ'o=--~үraJ:FpS[;YOݢk7[nwmny%k鑥~iUKVSCV~ lŊײWG1v >~{[U|G`hҏ^'A3?&.`g<>{YnTO,4bA1 BDaAFٞ:%[[e`QlCL5Ъ +k|k¢@6y B2>0e,?gF9S1sѷg~#zڵE+uWMT8qYɫn{Jjs[Yzpԙ]-\K2r>%k$ je6XekEc$ge n\I4PՕDAd5&/_aNA+ ^5@r:}vEgU4-+>6+TA]P83IMs$~rV6Sy2ܾt>wREbOB}E^3m'hw ]d{4X! &W l :|GS~ǡ V˽hNr)&}rx>#e~ߜVɻ̊,6iH1\<ˮ .Hb5QU|-.jl쪯﨨knnmnnoijll蠷uvuAN)YY;iaU $Ф'%N;Hb5Z fs{;}SWYHʶz{GW}CZίNn˻m]SkY,j[sPl y}<ٶ6MM6{\lk^Ɲ0X~7 y.ޑ*{GJ[gu';G%ge]ENijjhkjoZxv߼x]|BrgdNIv{J-j2Tw+Q)M[76Ƞo]?xУ[E2zgzvWUyW%x~iCz;Zz?}ӯ|W_6!n6Uw:SEŊLwWB])n=~HBwy,ZmTRڣY4bcљ{9VK5Kkm|r@"][<(4)*߃CfΡG{\lOjo‰^sS7K [FWbzxjo_X z&].&qAS׸:eQ6W&Sb°?~}VX]Vq;GHMXCߟa-9XM:aS-]R[kh{\o$֣~Bƚ sUCˆXt'rigot=P9bӓ1 W#m[:9`eYW &ǜs^q%Fމ)Ғ\X\Ztrue/,7>vƧ9t󕷎v mrpzݔs};-nFOq}g.P<>C@hxe㕲F v xun_(Nꫤ@G+;`l?:>cT{U+i+D]\~[wܹoC11Gر'O?w.ҥ+W_r}@?zgϞ|3 H X?C|~%Aŷ}atAVsk]=5g5Tz0=%gu˥QMg;Bok *jܖv ^^s؀k훮xK@XpW1Ϫvf&*S-tMLJ[Xۈ nU'Vxn6unM{i›swIڱWēTQv]yexλ+a^n3VnTStIU}mu^;EQm"axr(7'^mkbI ;?rTŽXVa񌞾m'F幞y ݺn[s-4E SqorĀZi%k$%JWw?MxIʄ6Av'|=3!yIukJwLKdXldۥ7/Sji=ldGkdLg& ^i-dZ6psTr92'K$~ ZrvʠusQO9:9cGxմ8X7|ɵ藇;%7(< `Ye9a|YA;(0mf,r~ūO2RlEh!9 ] -PWq7!bڗk^^%fZ)())||EI)BcϖKikM+[o8wZ>7)u3ʸYjSL:(rm V%^Z1ͪn: ?qY“ 9/ՕI\ rJы.JyE\Vjih^E!ݝ1Ɲ[ws;;vW:vlա؛;p0oo_y([w4G7t{vvI9Swj./OB?{ܙŷ/^_nݬǏ+ėi뷛nߦ߸YNu~vYmޥyP -?7Y_27gf3>3>xIz]KKzvn黂ڂOҟC+> TW}xWײJE%e%*V4~P^kS]MS}}[]][}M{}Mkc}GCCGcFowvлQT:Ā+e{\2pB : !<,G 2.[9Y_YZe]U]97|yV)]u%@?xCQeZg.kev|U+<޳H?9eYb*%X6%xI\M\at\Q͇EͶ1Tu5ϭC;5]""Eˠw5ͦ܏L1AV؜ܒޏ:)E׺YMPjxPr/O2JT\,y.ZO;NΥqto(Ooxd;Qjjnn*+ 4,*JpQ}PEB$] "~W(W>љ4 ɫ ܠgZmCIuFW, ('}q?XjgH-x⋊˃M+lw;]P|eY4Qg jfr][+] =>uɨAK\5g3|l~cЀ$]?KrRE OpJL2({^*i@U6B>In?mՓ|bV~-g+ױ${V^C3.5l)݋<XXuwӧ(2HQ#GW .51U+VITؿPݪ7n1IFѥ@ߦ?3g' VT^ȈhQN,i 7*DXaC>(Bi-wڝ;=wp)HŽ9AzȃyIZ8n_2rQfkZ릋γ8/áTL׃ތ\ܙzJ:=B9EbBZ #:ݏ]0jyYx׆/گ>FL}Mއǯ0tm3_/63$/u*tEJbi^Ш4;]pXyz$KLfϝѱƥZ!bq"'euL28F;$|ho:(g$]tSҹ%.[:Y ofnM_qӫ/4(v{Y|afa㥹kZ̳/=P掮cqzӎ=pkp\JNE/nhutB*Wg]*nŵsUvy0spiZf6mC{(韓ս}D{AOٲ$PXIR 嶤/A hնv.=:Za6M;;Iyo'hu#B=*"quu%ufWVcd{7/ko|rw%S-izF4Mhp:D~:_~{6g__E[C?ǿ) "[GO ׍wRN)gw~nW޺_h.# eunMolim 8NĄ%>\?w #&9hI$]ږԶN5@PMCS1ݿ$t%җ<_UKpDӼ"c >,|,J*;#ޝ 4 +v(,|@3!饦`j"'O.X&6*#A`U摣'#W51)|3c>| ZT޳2<:*2k{aճ{k ]-%R`4o_Y: +s: N7d?QXƮ;@杣3#`/h~~ WuX- Mm@)-Mco`v8l /⃃]ÊZV\+O~JH vg2v7ϨE|+lVc_E=\I Rzg{]EB8;Z"Zk&=ce::+aה†$6 t+\,_NZe& Mm'ZupO2otфAMorkw^P)ǿ=)by"\r!@.?l BAq; ȼ+'=g2#XwYiLޥXcPp3o*#f~"uWSIw+'$?*r|AUٮto[m\/d.V?sW |jڥ *9B0qZr$c~(J,_dћT5;Y5{.mkZ_wDF"lȮ4C^u>`?o4/:ZqlW٢Wzt[&Ԍl[?x]3kr mrEND`߱;nO@?~o_QWޥ6$GMp>=vҡ|l-/&xwf^\2oo>ْ}9+ ,SZ]@НƼU OYcqO <>ssTDŦ樫~)Z&/n;rYm 3[pOn~9]mR~sI^ּA ~lV}g|]؃s[I4Dm pePaDyڤ-[DCHvv dfgzemjKR?`[!j1(́ V*st&ݹiP_吘Eʮ z5Gcsϳjr(WVZ(\aܦQFֆX&NZX\ Avdf:|jd64) ء7e}QZKkq]/Ddk"믮?aQWdނf N$ ^GVN|w1B5(YU5okׁZwU/W-ėr1OV-^mSP9]]ƯZ_dri^B[VM=<:4B@aբʴ̈́ ;ѽTecˍR0?xcF'M+ZG/TV B'U%=(X9q ş͖dޞ`x𛽤ytf\SUO|]u$s ^6Z-w&eQ2ط9ZT4!b+^ o:A= [A7ط߹ + \[}#; 鮷`8;ἨT\)of˨nD51 4jUUe+ otU~_s tMˊJ8}2zp{BqyI  :Μ(=⹙-C-%l]Y5cw/։^=yk#LJ9n'&3zOcSGN<{iҮNFuSfY7(uJʼnO;蹼^S5keNGU/q^ԕ~SΦ"PˏOx u5=)z6nq#M q'rKcUGdkz]_0+P}S[;^\ }P@]W"Q~]{MEw_!.5,TD׼8:V|Zs|͎I%ɢ|k|֫9_\\BYE-9H 8|)a@E絯).I`&,y΃v_ٲt_np|׋{oIIIU?MJaٹۀd?})TUمھ63υV|mll]}f4iuk-GS݋by}3>uy]8oФ7B5w"DEɭ9Ymk.~'ћ3He(rMT|ҕ򮧎^rajH( ζn=.xclZ۸Xǣ&K}?$얾bM@dUoYav'] sҘod:86gwvR@|[v=_?1$@ ;P4/1)|y̒RTT-eZ`^tmM 1eV"xNC/J'K)-:$^EȲ/cW4`C0瀫ӮH 0lzxº& &̎ۦPb% 2^zZ|DU&4tX+~6RRtx1ԧ}cT} 2It6"wάwPYTiA~SBiAsYNnYkq;wO,SRxuW+[V=wLQ",LPmGYG%ZL u԰=d Yx0aQBBt"Gf6簹5b94޷ӷsxr#n\nns ϹL"\䃱\QnzK+mc# <'ౘ# {$ i'܎q1о:AwIf)Ӄe#>@Rɹ$f3sum*i.N+`tX$&?@Zy T69=u(+TH0h=J]1+g6\:1^5Ӟ48 x\L.PpzҞ<SuC9X/K㟷+*ؗ3ye5sB~V6Q[غ{3slŵݣ~yyyz~qzrx-|QE[Bp l^ff!{$γ>~z׃Ob[=ېv qf Gu/+6j\é'E ҩ*œi{mٙmCq,|eei5.Xlмi{e*%tzr29%q\ N=rSB}^O2j7u:~Ć&.DSHu*k P-GV35|i06IOR&5 4CYӌN ]ΕE.ܠHN._=Fx[o`?0o~H𰔈4ԈT%a9(ٯ@WG\L<WS48n,z9 겓%jN#<}֖(2qgptqmoo3~0XP mPBp ## SfqX- y4}?=OCXm*|uh/p:!X0GՊT(e !x?VTUзCJŃCT<"}cP R^S%b{&@T\)GGg@\@R%?2U|# o tp T3axB>w&wm.N(QLO\q/ד(T'OZ;5\tT\sC,'O*!YD}4Ȟ%I24ݑ '@ ~g_> .f20+{[wsTn]P?o{n~@e__X[esM7_bAe @T b@*0Lu_ %fZn615tx|{;|Wl)ZA|2󧺀:SRcHO*pU| fŗ0p95zP.K_; U5!mbPbX3uxK0(UU,/KC&{Ui]ګt<$— !cAW3^)gFSA/SMZKE]2B4bI<],dПb9cNWSٲ;vZH'}MyS+`"~z/~/W }Q^]pV nm FF &\$3\&-YYmIv^,cѵYxVT|x_|5q1wiA#-n]oV>§?CQGC1|?p=ʅ] VK]{[i?쒓 fAn3ƝW5-G\''6|/,ghXOƪ $e@Jo"  DxhU{8p|S.- v0b-fV=g5@ZadtE%e Wm*=tm' ]zrd?[RfWD.2pr$TJ3qIǴL,u`3`)z jP]FLc= ӰGCgABI>n XNuV/;@I~:DR%5;3m<=2}< 6BSSuYռIpk_` wX]:| ^:7; `?-o翱ϛm+=|4BYHĐ^!Sؼm`EʐLP瓌NӲU3'gCF_8ؗ:T4:9em~-=[\kkx`bqM g! ~ όĒ+,ˆM9@{ ZfRgSdW fz炭YXD*Fu"P&MatI 8ڌ(^ GAkyTV" |lh(\' bmZ#O>ب h&,X_ {\qy&xkY^A#?h!q;re"IaʄG G`2 VG G[gr Ǹ5YȫsO H5"%TA"Ҝ<شk<%ILl Ʌsb9.4/nKw|#Dzk)5q3-S30BJЦ7gq02}e+t{{{{{K_?((($$$ ..5_zejjvꊊwVLX[G{'ao_nx7+2 !&%&CǦ,`gv4lߍi+`̳9)f_zni3fd-&wP*kҀsg,d3. 7m>DݟI"b۝*͹Š Gc2uU @gKbÄİq 1Iu-Vh7IЕCw&8e/φ ^xM=dH}$| /MʁtO&SOqAĘ[o <HB(4A}(ް4ש9?L97EfLkS G ۰@IsbEvn 1s_*DWyp&)R[i^U8RqBVҙ]sTtmgcXgX%(UU.޵-H"d<$0DWD7'NO ,t_[aio}<6f>.^Y (LkGMxӛ]V4Q?ilgfo{^~4y<652ھp2|0s~~ bwi %>OV/fI(4Ҧ%ўtXv4>>=4Xz[y|,N.).%ny J\WF_5#hID^PJ( 6}J\t͛cu %LRnBЕjUlMa{Aq X >RёKm 8-AD]NGwДUuv/8(ƜWUu7`e) xx*;`yTX#3eܸ{g@Sr0+NƑL>1GWy#v` &T ]G%XSlFd5@X !vX"w k -sgA$n8^Ik7ȋbt50^?#Wm+\! w8DqeQ>Vbh=ֱzetm /-EU<t ~H8!94I(9/%2^&(Vz=wyexYQY-1`$#榠2>,8tŹ٩"tjũeCL 6Ĥ93'Ϩ>]"YY"h{,§_NL'&pv<6YM 'pNQv-;Z";Lg{' =i.&&tb %OZGO5?yu댮G!RI}* x<6&޻oNOY%3&Ӳ1'n c`%AO!-+ v|ҶF~;d9= mdrdkڢ&x>5z/" >QR`]}/ 6F`R;s_D3j6n S\Rk$޽҅..7 5eeZ29ӟڃv(:<;{~_JswHzѕ0HfZE#sDvOĥ,+AéVԛ;iqc<o^>x1aFL ~V&AC!1S;+z]_S#{Oiȸ(u)fX_B066҂z,b{ V9XۘגwPD53,?C(/i nIiL E$y  !awoh΀sFH68 vOJs-¢Lyt)1K$KFUVfv,Z2˅03\r ˒)AcZF\e6 蓌c@]4KL|+$FڂX$a2U=V{F/8\W炸GvFttxg~ W!DtՊ&x%eNK/8{V#x)A;L\`"w]Pack3nM"|W !Hwࠡm0`:n[E>wc瓇6&WM4=]/ΰiaueQ_i… $uP9[E9LedRq m_aߙU|X=3AOrў0Cujj܉LqI#Gug 62rE}ᲾQ(I4ܥ59,$V14E{}ا ז]JVTqH ߥCkHMOy.[&<*3'>KPk4~836"ԭxpC1FE؝jr[QY[:",s=ǐ?Df si8~s bYlK:#vHt?% CD]}~Uy\13-y.s\AO2?#9Dk?01`7hum Q:G%m$Q=pVG#Ce& @?%*߳PʹgguP1fwf ^OVEBDp@ eC( 3aף_cJUAr Hݠ 41=:eMJ0[F$z^K>g:4A=:i2p!E⼫ ͙oh^ {w[zŦz =O^7ٸc _!m4LL͓ rQKM!^UQ; 'EjREoorqh3q^Z s:81{(AOo^ThZ=ΤR@u:ă^~p/H S$`/"&B0Ƅ;8yqkNF\tA=' o D}}9FΆ~VVRo൪HXu;O?=Wo?~jH|WPːkEDxFfz'efe%gWVg5N\csSCo࿴<|3,he \[', fx_;Օy[ʟ?."^&2nƥ vҏ$tQr҇"UgLidʨa[)A wN=)K~cYӥ@w]Nb5P\0t#@^mMNFkoG"?4G#Wyo<Ho ҧbM<qN7o~%߉?*k.>| <00`4;8U'G[_iQ;ɜq<0 Y0G?d |Q0(D9h D'WFZᬲHd&<-'@sSp {zdAMQRh58и1kFrIK;c,LnE\ țso+?D ?8Yx^D>,Mo uGl[Wۖw{7M/ߙkK|P_5G,+`FE!"kBA~15{7XPb&6qdE)%Fx (9d]B2ݰ]cW-YFpFl ?(FM΋NGTVvv@RfE~|Fr'λMN(/[9BBw H/Q5Ci/f 0afbYVFQ qk|LPm~uU.UWV@5uخreQD'b[zn ч~A]U&7d%s5MF}ōc`ߕnNA&[EU]%@E}cCSc1zN`MJmYD j%2o԰p/KF`<#p2sxu=~7'n7o__yc*ZFhy12 ϳL~1oSɟW~ 򦬊Ԃڞk75>-W@L'+_i DVf"H*G(үF.3B3g0zr۱jLt:/X4D}2k#HA0h(.7L+#cT1ƒ!IA)o}mw?DuI7?򍅳Eb)s@ 2˸uBзY0[ ^_0&ғI@嬅쩶[fl)^L#qځ0rE&Ou7:߅*Ԑ_ N v>oE4][#CAs>s+NK$'-WybWD rW8J}*֒>'I(bMV/;yBwq?WmQ>RX91?J2tyW ΓJ]gV:C u՟_<*}׻ T=& } +];.<3p:yz>{U"rlEnyt_}O8:zXxj"* Si8x!pI J^Y5`} (.k`V}2J(,0P\J ,,NN'sM>U3nmt9H]WPO%? կج*t.P#S]6v^;]~-r|ҨԌyϱv|‰ߍ,^֚Tgj f1dPT?83ac?]*CD=M}qW Dv  hQ[) ER^\>a䑶RO@Y̐`[JOlS@4^ hEUnvi߄SsU]'5#~tW i8*3:YWi[;uD+Y3 3-VW^3Jx>Zssn!V?30{|zN~NJLOT mXLVa&UfKWX^~wrF}NAaiyŻQI#9WKYyhxd?ggg;{K#%XBӃU2^&ѭԹt ռ\^X W,V @H@ 5w¸ZL|aJ~&:'\3.LS& 1D^j\lKcrHڃʽ i -9dZ4 Dtb&-t.PBVF!%pJG ЎmE=" XZX2}f۫4Ʉ0ah&ټGCj=BLE q#o `F?]15CIyWGFr͸ï 5L6het>2[V#wNy_`<ux{hp·:w'$M7C̣;h!%8$h/%E LH] k{lVAmM 3lQQ8S]C*R$ޜ[Wi ?B pq4v ~G?,9&3 4,).]ZŒʒw%3-Mcc#}}-毅źjtjVdo2)G'PzJ5:~zd ~cye -5ah:(`'َCԞTodzVYl$3$|HFTI5O!Z:pCz ]2v*v q!Yǒƻv?0+|(vP*oOb̢o|~2ԯ(q<*Z'~8eؕM8s xB]qgclꑊ7;i s 2z8Kr2a- BS3zg/%}_LѣTjOdоc>LGؔe,t"q5i۬2s n):,y01,L.CAǓ:^Q"8R_L_s"j .k+,.f'Yw8c391 תs(?k?B?VfyW #TK/ h9~ 9v ?؄?*v3?ϯɅŵ?T #ė < IJpO~ue]T?rMca!-$CWVA_$*ZD*c\v^VExQ8ϊw& |y5K&1l~gh xԴm)iNQ͊u/%7m(Ǒ0I־XPD2E:#OR}zX ?G=d:C6$C5;piK=TYT]YTqo$~x}T_)E(S4ICm|OWo}8H]wAojZ^XrpHUkp 'pe%{n1I6uh%7cv Nk̽!9J 8mn, X@UdAɹOr }rRA_k8 w#0n~ݻ͞8feOk#  S8`DJ6px"7ki?_0,qlp] ʉrKVƖ餴*|.lo{h6 }^~TR?7Q ??܇OJ^r Mˆ߾2!k}46HFf( w4)!E%yF|Ŕ99IUZѰ;/wI4MJPO,Gb!C4Wz. _Bo!9$ B>rio8CȂSxOrչ5Nd۰JpCs.*48Xb!G M:041 6Ƴ֜dD!yhs+1N4$3];SewjD'iŇ>ږ~_t/4ڪZ⮀)n.Xj9S3쬻Zh _Cx0^)>R]e^Hho)bEp8#'rY=NFK2μmHVC}~Ke qq0]E-R8jϜ_5.]ߜ[i?d/:ؾE(%oKk[e?1KԻkԇGDž+?|5{]__SC KQIxS~]4 >шݭ?ٟ&3¯ 0*XDKB06"Naگ_2(k5Iɧx% >Zp]ZzIN] we#cK^*TNRkHޓT)G;7PR9JǓ|:Xxq=ϴTN{Ź6qrr|E'l5َ$$vYsw| ~E&5J-]8k*w< lV =A?A8Z!2%2D"g94(kP@U/6/:}e3M|]_֝#RN[It4M,Mp9f~'gm>2e Rqk~٭f&U1#N-H`Nwh_8*j@,9Aݜ[ooaoo}O WO+h*ny_ږ_Pgom`}pcxѵkzLn OoNmlmnML-έ|Z>\:ع{wf\^^]Ned2\޷jDP/y /+Yiq6d@3xgR+Ejv}+&w.+ˠ\bO_Ξ(־=߂z>hA݁ɛP-7֧@ X,Rƒq垶Fia <"pĊ{dʊ>61OS4rZwvHF^Z@qdPWW nГЋ8 Ix'Enjdv S60þn 19UCIewi[9 0!cD_HnN-cy蘀%gS\cb3QR00ȫ ((mKi[,ɫr +(KN.olv֞ၑΝ05atj~:_^;]YY{tm??6ӋkG??]o2Hd`)?Z2UVW:NņÖ`gy9=x\' v7,iLF<١*[TŰA28#3 z@[ lɠCPqHBSc>Y݂ wt tII^gu@1`+"iu0fȊv>s@| u3P$i #j0 p癛6 Yi|,ɍ"j߽a{/,Ewa"/ArYG8txzg4n.C1C9u.<X ]{&Ƈ`!Z^i ܜ[G[?ݟvKG}i3"Y!ek2zkkr1Fpgq.7~(dȹ\ͯ\.RڷQ?[KG2z?2F?~CtJj ›r!DPf[dD_L|uE2]v N8]LݾwbWd&rq (.EQJ  X5Pȝv"8/Scpkܼ)J)\.CGv//:A[HtPY0J金<O ]C2AvP{gr ~BV%5É;wsn9C!E+x7/xmӟm]|dzq[7:=;<濾g[;T q+zT祵g:E&< p4zJ3񚥦! 1NONK8j\O-PvtPY4*Wԯw3"E@ѻvߧ/>`AAgӂ]&e^䀆w$A3 F}j/1af Dڐ AgP[Y@4\JTDMbfׁ}PcǠUbN4T }%E6-a O' ,@ w<p@ ,š<~c3'PxJ>6/gjpeİs,!lQ]s  [9tL_6s?L ̵辄7 -jÈ|\2Yg60-_9 ɿx_[ѳk9b`9=mtpr4wrqme6?ݼ6(X k~ 5tDBIyݣ߾1Q9yRզ'P3XTN0ūV'o %2;$6r b.?ݴ;EaCp>V7;>E8[(Ի f~OY[޳s #G]3u(u{"0q6GI&J`;A hFZhvb(#S${*pd'ͭy2"&- B{2*ĐӋ84iD~̘ ǧFEv/ћPµveaiq ayR! 6'ϴf5{!=8SmmxsnnyO@?@?B w$iџ߇2$v@{qFeFJZ]!O?*E dtZ_AQVGгRΎӽ頛\~ֶ8g/?bCz<*ˬ:zp:a^ր,tn 6|%3ds<;,sI#$R=՚MJ҂{$?sO[EN sr8S$m,  aB7b"fp EL.Q x|!3=cO3@ub4 Z%(B0O! MS,*1.] ?hXXT硃hQOk:3jptbze&u'J NdTx8v=)rpNTnKkҦXNcOQ"y=}`bbS5E8WXnЧoHC" {llf[޾v 859$%NPrITkk&pTݺÿ~&? _M yps?GoMM򧹕Ok{{Kk[;GNζ?^|.<Vog /ȧ@0a 'TB*@[AjH[mJUræjޑ]wDM0x4T)zC6ROtOru7TgVN8{x,lG-`;κ%s|Ɍss1=77r|>x3ʅٝI?):쬶!yra !Jk{DMY{zL-zقrV= GZA`m͙YqQ ̧hR~:pe4SF ц-,8Sc'yTwcF r)[=.GsGvZ؏bE4HfX H2$2|% < ?G O]M6,fJ@wj3%\[{я/_sWx[+=`g~tQ,o"O>IufZMTOR;mP97v &PP^ffVaaaEEEbJXI~ofbOk#hkk￶նn Z\ZX|)wxrzxmL*oCwX m?% P%2wdW8&lGGE!Z혅aF[<3܇V|^3OВY=?D|CZ&dz%"pg>jΚ5l  V'7KOlmui.R̉@OK.~*B$+$GΪ;cIhZמ7ʘƄ(DW.:GZG^^ѹs|nCBȈK`ZM'mL KF{K1dq,qAn橮rt*>ڒGDn>]+⣠}1f41-[L_En;:{{f:txm}iCE#C)k &[{.ׄ/[4|_,!$n)͉%WWXF st-ͤF@a V3[7 $T\ ӍDZ/LХN'>p )%PXSs 6!^El'PN31޵F}Q/ L:Xh9ǝA :ȹ?*650Mr@T;N*G~*C 349v D0+pu  dF}^C- avIAqkW^=kDEJD9ayi5p@K?.i0ڣz @!{btpw uCaUd3MMAu>2",,W-l@#Č-n&6dy?,b{ą+9 $t½ Cl`JDg\Fb3.XHT`t@tۮ'q|1S3x\2S5MХzS/=gb3t4Q bW^TEw7i_? mϯ-o\ 43{/@A 1 6,,<ȵh*> |NnYV.W*(1^͸aϵ)dfDDt4|vߖ<Nnmk!a[.F Y7s%D)Bk:1~º5w̶(O[VLĚ탁Lrɜ8FՑj W5ׇ Ɇ _VA=dcѩ8Aa䕎q 2UsXh~,$6vi\tY#V)56B";"$I nSa^zckf+v"1{y=й FLNҡ*DA giܩQ/|Gf4B!ŸkMej)"pҼ@EA 0R~P|v=p9Nsg+6 D{B  Yu?8~^W{QYAޅ6274$dp ) .N+[{7n oCѳyZfd}omXZY_ ̾~M YYލi yq;.(oSwc{%?iX[c-Y͕'G΋ODXBJ ǭT^tC{<gv~o{ uX.VM1 Zm]g,*jWr\`YŞoZEml%2Yt;|4t9mRƄ ԝ^%y=k A, euP`Sf 3rtJ)p FJBE` 9;@:'y4k,9WH]Kj:@ZP6L@7rN\eP2EZp#E\o4{ nࡻC.@{Q3?vEީi<Ye 2Q^\ wxsnG8M~Zc-'ז}|M{mMe "c@ 4Q?rdnf E;W7EI>g;!s1geaemל?~qcg=lT6Ͳ!ׅCa]ci'W;UNwzWZ&a}",ϐ+*ߛ$ѸgVkL ±:ɰ.k6PXn9~2\ f1|^I>`Y-ї/ ~ .OMM[cț1)$@O`u~RQo#6OxIiԠj),m;V:bNBYϼkWqxxVFؑ 9[[o׿E^ߏ_~{n~oVLn􍯏|wawmpe:tefYr3Ƅec,sfꪁm == fetL7ǯ .px@g]j>|}{u5t9 ?6uCdN I#P URn|Pe \mХ{'`rCTk6^ЀNcuWѨZKʲCo43=PZyo E=_n .=ѝ]ѩrB?F }ƾyԐpCX]I儿vC@dylV8*R KV.1# %|_h i9hFSC`>l(H0!>ߜ[okct_ῢҵ+c-`[5o?O}}&=_7K>y?w>8o cv.B2=q2ׄȁmяNesf PQb:aL8(b~h,Nߵ‚ߚ%ނ95}9Av>u s<)3pK>A5'8ޫҷ|"\ OH,49h/(FDKvG ߮`E>d@- 6K; 7߸x_|oBߓ}‚YY dpM~P\ZrހF:xY;\ӶLF.w4 QAٹ9)owG}.?ggkmJ]&Kw˿G y"AGoOěkd=4\-(^]!D?O;Y.,5癢ysz 17l8.&n9DPMfE U6HeB\2_/(q-uU#􃁽$χ\5KI5^ Bn ۀ5elPw"VK%Sb'sl*((8ZhwH4wi}][4)*gVN"+,AQyLDҘfVI /d2g 5-Uuofω Z7a yu ]ô"_-czCEߍtYz oN;^E;^@ #bHi? ւ}]%g"{ EC{IrrjyuV8Oq9.DkH`V176q/t c``322k hkk䂵;"##o"¬adULUrջwWyyWHj``rchj:R踺w?n߳szʗ_7_ޔ%$ˁ*mG\]m /3TgoBV6wxVlm[ZOFzupYwj~me͋Մ-3}nL= RhU-&Eν5d3J):S0>_t{Β`{%;ά`#wֱT!E>;mB!⣷y׃T4JbcSbQGԖ:tXe|7Y5ɮa ҫ(jiq4B5cz\ 4 7ZC0Iv.3َ1T) ۮ _L?ӟO[hK]@KGQ?֌H&YYw1lZlPʸt>)aPRS]56\ݟS1+ciw󏛿[:02 2Q|[{SAO lo?0?$f]ěQuYE,nUquԌ;<'P8Mwx鎷MeM仼Y0TGPuǼJ~T -h?~rȳs ,֝"D@_9Gh+L+;zQ3 Sueaz; p3&*wL[#4ӟXlolǮHh)-B8^rh@=o*'vUE!{[>bD.K(K/E?#V`ys @>ܱy큁4p0`|]mnZVr#XcRVHYx^F7i@6+\! o;#D]4b:Vc:S7C٭۽?àE:zPCoA v,:8_ܢԮUx ՒvL>2I 9D *h BOaܩuiz좱29Su3ϖR%ә,`Cd=$D{5I+7ۆ[./5" 5e"͟ϑ- AN_e]f<'$oo\z<.>(Є >m%i3W+v[Q-ͶPYGBˤ4mS"\Ze+ i#7@JTX k6/TCpYtS2gz$:yfua\Þy'kTZ&BJ:GyM;"l:lYLۥ%c!bj&*2ĔIɁ41pxMטN/F $?!'H}p[onÕH'"vb@ U]1^Q5%ڀl.gc[&y'D {R nNQo?Vq;{ OEŞJIKk˙^;K}9ZI]:*bBLa~yi}cI׮ѓ_^P~׳,Zy1Hb-te JI屍88GPU^]5)Yv:[X.1/siUWK?ZZ~vdTa{! Kў;Y}AG3ru^<]?--y(P&jra||+:#ISP`Yٷ*NiND?L%>w脇J}8J+<ܻc(yq-[D%- fVa#rgS:<@xy:(Afjv<e3eGG˯)F;Ea2sByP W 0k 6?-tA:],+}jhg< ɯ\tUUUAXdvpqON:DK$\ևn ?Y9cW?͟7+ }OݻD((ﳱs<~SUMMMcckSX9ijt9|||#""ɟW斑k#in[}F Kׯ7łۿoCT!  (,¨ĆDt4Lʇxg'骳+؊%@ _KS}ol9eYF@;F~c&0'07#GRVǓ:nC[gddoPTXt5ߕUed/n.i604vMڶŶ3b+_ی?V^h gf/$yP6^V#+g|Ofc)=ԇ-nۛC^2O띵9'Wv湞 AEir dˠIR:T;o̎:Sт#hl]A 1\qHRٌT &ƴ0U FR/l.ezN4W_~uic 8n^vI&PKa?ga(wtYԞiIwXzxyB  t-Mo&:3 L`!aT,(Բ<^SjsÎr2<qimIp o:nm_N?_3:HDJ5-l+@ǕWxMEPl|rJjFVnqqi~CǾϡ 6[31?_nm?>Lݡ_"CU(Faxg+xjQ;Lx>tYv_.7^y奔;|!Հ:)> >DjU‘WWUʯ+{֙Nt"i-'`Qeb#.%[7'qLL_TV|&=glh^o;C(3kL)9&=?5Jn9*K|SZ? =۳:_2&|_?rM壭~~E9wWfOPWud VBargGpP9h016AۼMNmt>Zח?,7YJ -*G_اڱFNMQ;I ғ1edp*BɃ,ݷſ H}OgV=,[]}ޗih/ pCWSsL&>DBrVϜS@ ݚQhxsD=qFj_ˤR 89VefD(1={ M TX춬,3zyx7]0õSbqM[m3[?7+K=g1yABj.gmB<xt5Z4} -z} ޏC9G t.|<'wwA>-"}FW7GoL!4T~ 6#w=D1\^FTm՜r)vZ!ӶwWI<;&<IiʰLWN+4uw^ZŐao%@>;!!~Dnc~a(K^Td;Lxf8ZLN(U7O n-%t `YFJnfF>;rt9jfIM!QwedFfzQ$1'ЇqpRB\SsiP:sbQ Rۍ ଡ଼aހ.RGg9q @FcgcDxK}kSjv /&-Wwq)T]..ASto5ױ_?mW~z?+vJQ aM=ځ}m+_l*ϰ;~5N C% ;:5?Ѻt?<|tLc375Zqsë"w/!ݰѲ7W`\-yVȯ놐1gO)FDʉ,cucݿ?m/UU6K*mդfga'2]P;KY5?%]G)}Q]K\֪$9TI0 G\>;0% Ұ'o=Zv~Z>̥VmujWf.枦i ~yuƓ ,LΚN։?E@v4?4@|!#As asq2r<=jC=}]E+OhZkbM-ewW Od Տ'@3 }ߊ<#x4֞w9OoVM*n-pSd{z6ogffsMͨӣ?82XG7>sr_tYrUl3'yPޒBڎ NG⣑@Ͷ;9wSslux}>W˵ O0uv>oqQeq}O{'H 8Yj(|&8k*'8@si- # ^6ԍj|?/@?遷P6[/F Qq?~n~?>7m~u5qh D@ƅn 02QvM4(ټ|ƠͺÕcjxf.|ڐ4#\Cq]M }pS~ e(e#v2/1ǀ f֨fMoߍA>!x`@XJJQt3\vݪu-)~>Xp*} .CQ4ʹ2aˢywlUbYE.Ypw8 gL킡mXθwAGiTC-dY'[2%7&9{s&t}snø886+='3]JзL0oh31 a;uu!msvQGdURin޵ML \;u,=ҿoQS3j9>=h30"IyDvҨWK{~kGsi'/&h4ߣ8}$Ez jF|,"1C>1d!8Y\ hҀk^B:cc!z{B~!8{C. tIȇvYt>^kmO&̱ʕwIP'̠— rpa y W&!%aCu@smCJB\u_TUwvԍ;Ol|#tSDz?;dn?f, ]xa D*v Yr* ;ݚUO\n5@R4H58kXጹ_Pf8hTkd#3]_zE6Vd ;ڼ|SbBr\sS T'Pwg 'X:C x9ÎC@i8 q}2#˂)e3jADŽ΄8:)idJCSƜNBnCՑ-Ny #OcD̘$ky"Z)V;yn A3j9;6@ | ;"m jx|BN6wEͿ:)Z*Qզ([0jk v d9]%\8cxk87y?mW{RRR k򫫫HB6˸;PƸ|?"[j>Vm])j\7_ɢk׵YDDoŗu/iOnZ;??󴲱73}5ဿo`J)9lLro/Vޑ BGv/)<\Tj=OcJvm`ʔߩpV $w4ң3҆۸dpoAzϞ\ c jK*_`t@䕸 x,T0͢=rTֶLp\ 擰)дB0:@zr: ;OQv(07y|8ݬ.`x8~AAc)z Z(IE7&vxmw/EMTOܶMC$dR\n<TZ\`q5z95#"6%$ݜ[Ho_?_[qo%|_ؘ@ 4+<* 6 mm|XBYB2 LMM5$PRgvJn&伯)?>),o֦־/7y.vF ;Σp/^ H'~-@9qմF<`0C%0Ko=C(kC!iZT]*u;P>/N`|x}T_-6Gƶ,7M){:WkLoc$҉%fltOk餫&<`5m u Q`4/;>~ы+U/YVfm!Ebǵ#,eOQwD]$D۩;t`~\5cˁtPش~`=[Q ~XNe|P@-HOW$N5B.Pk_B*h1lBb 1ݜ[WϛD@,! mѬpЮQoefkn憉iOcs= 4'/3[o}c-cJ(\PNaOvNn-:+b"  }L Ej+3 ZP!U~WVA1Z!G2gSy.rjp%y./##pд 6hiȊP]y+An ]JF"CNi!:# P(^D{sXno濝~%s{K="иH'}_X ZƜP$u @kCX "@Š/b1ynL,(sSGT5k <>Yc! $r4G!c yE"ĞL^a84m ރpw x1@=ɌlUWD+G+дw<9% 4=E0[Nn"itYWͬ Rni/^rKwc6o~0kO&m'XX4nJ9z>\@Szw$$q{ur[V~bdIG&vvwc7gQmׂkE m[f̞3L/֍ȁP9`"N;ApHh&8gVJ{P^چ) |nKEüvS->Sg$eK@{eٹ}響oBh S0,kԃaA|Κ"B )a*T -ׁo8.ePjOkb{oRJss?[o&O,^t@{8udxz=4(=(PF=䷮`YP;9LwUuTm3_9'&Qvgݷ$N;}_/txz jHN`b%S,C(d[e?jZ;(̒Wtuuܼi/1 g qnbRmo\H@<JW98G$P3N+"3 ׄOEsB1hs`a`3.1+[tDb~1jn< pU3yȜwˇ){3:|SH3ZIOCl36T1݂̊;-xQgW++s0b*.}N8کwTɤ-pmlnϭy|%K3=𮅄n _ Y7s%D)Bk:1~º5w̶(O[VLĚ탁Lrɜ8FՑj W5ׇ Ɇ _VA=dcѩ8Aa䕎q 2UsXh~,$6vi\tY#V)56B";"$I nSa^zckf+v"1{y=й FLNҡ*DA giܩQ/|Gf4B!ŸkMej)"pҼ@EA 0R~P|v=p9Nsg+6 D{B  Y~y7_ϯ??Cr$%9e[C&\T^#N7U"ݤS?ʦ#t.'<:479y1-> .}eM3*J'rv:Rm/V̷e}nmo~~sA G^k:(on)=ZD5|XzuU,pV[=X+:W0:\i*OqCy.SoZ3-nnns7iL_ }Oݻrrrzzz`bbbggvmK? |1?F@{rlyC888U7.e㸙1_3E|HcAO_ . erhq7Y{+cr) CC- mCo(ϑG@W I&k@c-=p~+Lzqf~ERW!Z5/;h%i_|HtSKkW!eg)CE3ND[>p7o6?\+wzĪ+:n7L 8YBϹme<E6 3ֲف1|>UٷDYrAl&K:4Y:k_anI1AnK+R :+ə3R%HYe^n }i%nn ^=|0fHb)\z"K3]lGa%>~NxͫAnn1)٥~FPs`b}|lqmwc, 4"" s!DT" i zBRu~׾ F_^s+n$GηvuE>PCz grGh+vn{M#:sN1'Y6bh=pD BtSgTVoYX5϶@"bep=տTepyq#m"Gm:FMA hkq<[6|W8hv붠Iv:/)a@]ZG,"P.(NAԇGJ:PhhyfR$&+=Gg\afU@Mޔ8a;bD3ok |[/6 xb8hN'\)Q Qȣ{/R4\a={*>ڍ]jÞ;ׂ S>}tغ!q[ݟ[}Pܣa@%-)&~m:/55xXD-c8Yg)>9̗ZP=h[oo?ր/_ƾw{}j LSwD7o.!5Ht&*'ia6h<9ATKzrTjڈH4t lexkdV\ bv׎x^F,/N$Jg6*f U<AYt/JxxÑ5U7;_,~,bņ&zi7/36H+*aOcd,P<>N5#q3y]n@TQ /}DJ#/Q/clyz.:ؠUQ:OMNЙٝ.3p|u_x4vm+LԷaZn'[݄00A4L caǞ[ZUoeaA! "~L)-+}kP9/k(,*ʉKJz?Qbq(k ǻ{,hZR36{rm ~,6ť900Uyޯ!`I~JlπNsM!ћ%f[\f9ְ6e>uG2b1s ȶ"pU2TpYA7;8H~sgX(iA+ȼN4hP}rZgϲysng[oyw6VF򬸗h߽Z*6nn8@RFB/Ƀϥ}sT+EϿZ1ӵE%9 X),i/6p*??br~QJy˯v3m:+%*88{ 6&-'.w}!ndGZ*J%gnd/ !A߁ ؇LXI['ܲ?QVy'[/M}-ff 5'7F76Ggn"_[y/[ ׷nVy^~gtfߪ=O/~+y_ar C%xy_U,X aYXJ0y%FPF- ݩ9,O.Irr:^؂<;9S2'jlCZcEN~+czT)M\ijЀzl6Kys|W5CȋJ`:A!cXa *hӪ3VO[p%GU< @rIȐkR=KoBⱬC`y܃!J]ȓ^ܝZI}s82f,} b>h{7׳س@58cY:~ď8뵫@㽰Y7Gn#sA]:#hTEy!L%"&;^K>.xk/+~TT4?o?## ) /$ <Ћo lllIɕI2yUc#M,#6~~Z9YIEoï$&1(''& O~ nR@G'ye]9,_aKWJ4>lӁ:|g@IWFM v`aE_8[%a`\ܧ4{D+Ipnq9ܽZC{Fa,=F/X9Ne:.w&`^UCpō1&q"RXqqHQjX[g{u0*c dgtW7g9K͌Y)y= JDRmTASM(-ɾ}`I)_X[qd">IFJ*,`5&*@^f]§@ * )G 0Kgww`cxw;3Oh_!m82&|cZ a|i&[wMHиhODjN-]jVv8Za@ jD#} nNѭ3?0?CiY{v?2r/]|4tMuMm\#\S<<# RܐYQXёV^8tw})Y5km\NN- [Yv_F9FR4K.>&lr\>f%1MD8f1R;ťTqOo:mÖ_?4]}5]8ʶܙQ+)u9Mԃh(y^(V hK9NQb}0|u  MKABź=A5茘rѴ9ƅ&Dx~X HCAJEtlSٮBS=%bY4WbFx>0_[A%<psJ9{,u 8H8~P} 5!l>E˷8gW מp3-5Z glmxfs!_*gfv8?&2s_n=ȕwG/0JO2؉kVF3:X: H|*e;6odҨE7ق $ ՅGkpN"a"TtkW# ;rq*12)Ϡ+(ҋ,߂#7k,~'lQ az̃_= υa o-o& vaS?,:rڛ+FC'Hx|~uWeq󷒤yQsKN? }+55k Յn|7EZ$YD(MGK&V^Ou|uWL=Bsc,-==NvdY=ӆ Ub5`*iF*q7'9𷎐)|k.s &jΏ~hLwf II׀XT)x8͋8\JVBɃZ#'Z9ҁ˖m Hx~~[s(X"wmV u|.:֐90{f'P@;]x3+=cF~#>:ϻZFP% tW$+kVݯ .{ :5(o`م(]xwn#<}?~ov} o㿟o4_ ]G~oO}ol~ O4@'|% HkEM5*WՈPu܌b˗U1=@^}#NP4T]vD粘1h39-9ut;<싇21{Ō";> #hNf"e-X+!A#b< [{쫏0˴SɾfHX%/4a!sEl<^v~D}n` U}mh`O4p~; ׷Yh444:orγX<Υ}0`PU@_U[9q}r5[nZ2>] \Kcm&XY=^]+=0(@jax C4XŮ r1m1PQXGG$6t/ RP6fJtV9|Kn_O m-سu{Χ!o);>\ܹ%Gkv hwcNzPuMb Qq(?GKbۧ2FPPz__ysxY'PAנN]{]Ww~&fVr ]܀#-A|041il޴]>{@.W 36(F-&OmpƳ ڦk! LÈm%^:s!SKsY()V3?Zd "Pg92Gipε4w0G1{v MO: _iǯo.?qG%9@oƕl8Uw[$POm1$%gDQ&ks;(jK[g |b3iT&gS#<*G1!Z ʫ]`ֽ^=Dܟ?{t!F vTCbEN4u ޖy`1:2p8 Mho%kzlbcNGq7睃a='DγllFϜ7ņr.dF +xX1ݽtzv(5;ysn %O@u3BX.n⎏;;'OVVGF76N&'W>}Zۻ=>]Xؚۘ]?8;_Y=::9::;><88=?^\^ޤtZZG;;.iK76R`_:GepO2חљ*D+_շ-, 2`f=OJSLOwoepl:.wc-PvhޗBesE  iwE+RkҿJK( IR0Nc=[Բvz<;?|jEޠn'e7mpu|\!z3G1s:^Ť:<>"!]Q窱guC{1q<$B6%BRO;χgwL{(\ןX 0y% @dzƕn֥Ji>& @+Ww=zAO@2^( 8-ZR&Fk,OǾ܌c8OEn0O s9væB,X|8\ҹ\Oʖy], A[ Ād lPO($X; H3¿ZlwMJB$mbv$;үU!^L\>}Du*VwA8=|l@Nko3CHj(}`rn6^o?,KG'm-2Zrr͐H"l^y0 DFDE$;:PMg=(j]%ogXc<[H^tFwY%moKrzo ~ |jakzkqﶃ-7ugX[0<9--t$)m"׽ܚAYkm;֣TkDɼ|y'υL*sUR+Љ4U—Y5ʊȷEM1~T??(T. eOYV\f&z+ =^%0QOb"^'Y;2&.y[o?C#cn6eZk_9ئ+7,^C#pI+7UB`u]pA]ô˫KkVÒC[)'GG"}6OوYr`\pV=0p ;ɖzOv4R'+ ޺ B9 Oi}RzxIr[l00(A ;t5W7$x=fX F~PPV=;S!R|J!80-(B5 c8wY`ggE:Y(I 34d)q#+@=]UȑǯF@^`ivxyr@QZ+g#uGs|z`Ad-NLX(1ĴӓUQg[u'axVJˢt`-Q#uyNT@ qk~з@C H0`h࠸pO]tdv  zv.|Yck`2fjqg|n{vyowe{G7u~_A7y*F1^2Ap{7e\:(.aBV󅟘͹yλ\]L|=%$CaΣH-Ðh j*p9vpjQE;[5Lz" (ؑA8- o ̝ZM3 X 6! B9m=$bwĴ!˪m,Ҙ(<xzvq?U Ɩ,4IR|$lԙ2BL[Ϟ.p=9|8)-)#l_x^DtYXt@Fb%O뗫"{/OyfeT t$$R-7e$嶤厤_J+J%>Z$Ne%TvT+lrr*@%I}u =3m+Mt K]EZEtha IX;9^;G}]=*ÁNΙ qk>~^WnN@W+w79ii~@7yYYoOCrsςkQuiQ1Ga1а`Dn\luiiSظֲt`BrGevvrG`ZUzjg]ly0#0' y;-uÊ `IHG XQ1Z?yZSV65 k':uͫm棎`Kyս>ܷ:2^_Wf&#cs[ӧ Ź奭元9pmd{dgpwpotwtolo`|`wx~wztpqwqyxxy|pqrturtqvzyvvuv<;]/΁W+R4Lȏ !1`e8ԛ/@d4kE >N/eǖ5N#aX&xe뗾5M_ vǗs^5.(EXŋc D>M| DU5-IkNԸ*;̲ѡG3O6[r99HQ/4uFW߱9]h\aȄ D+앦G+[`6qB"AS[[ (t*ΰwڀBF VVVO@8wy\' {窘&0jʻVad^Oy4$ F8xi:Q/*Ǯf˖,ۑʐU띖N &D\ym\(4G0aK& 9w,!JpU  sꯃv0q?On }ߋ/_#4i[fq?v'9. pf.[}6)&`Aܤ%5-qHW~y{'JQDzto1 T /7S0v\W[ez0^|YDj͊MX0^78w&怵Kz+so<4=.kJ}^n/c)pAd ByxA,VIIe #I@Q9f\٪ye`qղ%Ӆr*@l=FzջZI #~xm;Q]OM|a]WPoxV4w/@RVe& ~U1! $Qϭ)Jl:6m_Q"T.B;qʊo˔ߜW}?o*j?vkGTdTPp5߇$&$dee䗗gE|+.kK/k8;lhh6/X463tؾ \YY__??<;: p0>1'))!7 ~忯i%&KNsӃ,^ACj^Bbjv9`%7oDH]Q?.i4gZm'1w-/ńG?$-1_^eY|Lo?^[Um>;c YniMsw]TA@O h{xZL8K$ pq4ηԲrqG &}q6\${Q җnyQ1 Q32FE3g>{Ψ'1=ߨW6;@CpXnk;Qi&4J<}@a1Ch {% wPKTCJ'ﰌsƆ5տ7ڟ }: KgCᝓzIi翵Ə'?Է~ص(Ҧ66w? w*,#/=+5CTlvQkQgWwlx]M{TC+$Cvk!+uf+>22P?{2^VCpnbt)|è5vY=Xpr$,F-Cgre+$p㦏B+ZD>jtm )z LŠ@Ԃ`rb (=Ud: +& J!x,#h?{+|Bt-|DGSe^k_B8VQ+V ǩPˌͭB09O..xWr%*/6&ƹ{)h8A?C?2nv}rCc52KdZdFS<a9Ai)=>-c16}9{DϘ0G|Z`}ӕ2%bA<k[%Yڔ12t<ݻ;(ڳ[l!Ww!?i>PYH>B Z ~RY-,\hn@llɱUI]W8Pݺ¿F?.#o`f攽O &-xL=RjMN3];ko.쌈&Df_zmKsgO[GS3_F}IC{S {3rW>"Rq_GoF_ȼ@]QMՐ>&R]5%[y=Zx"S6Y~BJa.MhE [^\:mC ZGq,#nJxh)4>RkyfH\KerC1'LÖsڱa8Tm9-ٺjHZtbT&!,2O%DŔ*261 и\p)#d{ 0nƤH!eE nns~fIlivʂFta7ĻOʸ:;Exn,S)V41B/%d[W~ 4r{;g[ \vA|YP 1BGosZiZ U˫׎5IWhϿDE矑XX񁒞I#Ƹ"D9ɶ-(з0=}m9_ZG v @ yݞ[9?<Q!yBۆD|4Uq)$_I49&-[D\NjdM pW 3Z=fgPE\4!E;춢N^ z^N4p<`q3h@кcPozAJ` 9!(%=ͷAp_g 6p!(+'֦Xj6#;73wkQ޿{G 0JC@?@i~c"ڝHH2Ps`lz4wP-F| v?rt67Iin?KǁYkT4^Sp9qbˆ]{DM2D6wtɥ|~snnko| }Kǝ{$ cP ?gxT 9IjV^|2&A®o}ۮ74CĻk;HM- avy:.\Idw`u;d_&c%pOge[S:7Low9X [O%GJa_~B&pa*T2 ?ߡC2䤓3VD%$z=xDd|O9)@^lg=BPaD;:n8!(k+ D:!fXǭa勉*SBz C|@kv8E0# I/^xZ^79@{paQVJ);;f8+F_eٻ v 8%iKt. wW 8ZxsXny翹_O} }KBVȚ\8Z:ϲ~.51C||Di{:uӨaw]9K:MIHyב;4u*'կ;;o+7+[מ_UZj醏+ާVϨS D=r-0:&RfPU&Z:ɮ}B2X)jih bj l4¼Dl6s6Gָm|2F8-76860LߊY^ US+~JHHpݟȥ#s"_WfSXGQx!۠Իnb"F׃rFU? TY&Puq-1ܥ>&0TI(qUﻴXƶNw R>~ < ,Gwj8fZӽ_F}iT&;e[ o7畴 4.W\Aw~_ׯ>%/tq[_B_[e,|0uPE" U yW4wPΣvzΦOy_^X>`RԊ +`ؕI]LUR!$|! ~J%_nyxy¢Oz04ʋH@uG@Ԯ^S*z|ٱI8Dx{ۤzߣA= 3MDtͲMtv3+3+MD~/JZ;ʫg9Mca3DzO }\$UIM]J1=m dxvQA M6q)vXN]}ɼߝB&ZWTmda{Z'1b7 rW?΃X9c}-~6J}ЋRy9:2|GyJӛxV9濮_]_W5oU_2:1~0d|b_*$(A#kAf Lbt|DQVI[PlLOpEV5ckȟv]~d`G{#v@I#/ ~#|w% ia=7۱(A Օ5z0g8j rӄ+D|է22+QH˫䥰&kuDcl Ē G0!'8p=߰A y%[ehCO:-ZŒar7>_&fJJNʬAَPlJE .R+A{dF}tK Ι)VPU*tqhd$nCDYxg06ؼT$v3dslЪXTc:;ت.M67rg--.ކ@?VY9GԿOI-o߫_Oз Gu76砧W;w.죽q2C3{pMYR}cR|~Q[ci5.z^~ :>:;:mIQy _C{HmHzdO(hHU5J/?Z?3ǻI+Ω(r,{@ޝ"Ѝy5>Be#gB7F =ks&t($jaˑ-&nIYi:v F5b (O &A|t r?TPD60\B!&`nܕdsIm{I _O&AT88miWvEԂStc >eֵ;,~ ~? YYo HW|4:x YfQL%)쒳 fQHhYnyOjܖg|֢ɜS3ZM~P~`L)n ?`T'26v"eU;I}J\A}3rkRQ"IW:bD١[$LI ZxqOu]mFtC d(?^Jp,BH >a6ߎdWeVK*#Htᙡcn YO&w#M¨?tڡU_71y_oWFp(*E^I__m߼'F?n? ?Oߒ'^,$6_;NpL0hl6 ﺄҺzMJWRWϩυM`0?upt#drJۿ|-=_\;kkdpbq8M_!ѯ?)\IwҚˁ@ M9@ ucGSD@i2X ֆLH QETZC(c4PGz,rq$/Gה>i1y0SZ@aEcFN6ODks iF;ս;A94`a.W)b}&*P{e,=_t&ŒXHYWQ1,f LU3,FbIsgMa zwSR0?Urv.'hąFmZ`4;Ll Ȟ+nU-=ު~G9Nk;,g`R&7g~R~տKMIBBB ""bcc_744iiiUUUY%moiiY2U/70óӿexuW_ox73< &@M|J55@9mݞϤ 3 P8zyni7bس}&9Dʚ gk=!;}>Pi)ac#VnT~CAJ/>z@?ZT%$QMFIj(a: J `7|l2ruU+ZUVY.RW) 8rĆ*2G,{etg+x>r#^~:Z~tCr'Tƴ<x`6ԧ2 n; ˨("B"*RH`7 qɰd׻}<~K *=TȻOx_(lY;x#{sQC'د\MujCOS.7֏Loys*i)g-/}9z _B~ٜN Fzz;jUקB"rpJ)+ufalւ+y-=z R ra,}nj.V3!cFp Ic_-R= LRM2ϨA@_~R豲g<Z[1r!@¥x¾(5&S ?l -зt"Ib *n!!v|nɬiiҿZɛqkPUKjX-wc~;x$;p/^GGo(,5I{v|X+ Vv^I3\(}~/˚TK?K}0w6At49E8=s^1Aɠ[rDZ2|L /EEjW4';W$yr?v~s por ^`RQ%#, vvfe9F< 5 "d&^4ՒSf0:ΜYh8*R$2o-V WM~ۓ7~8"4 ? e{kwfN8m#bĽ:2K):9H-p9c  8/2T.6ȑ& =y/ژCgQJ)>er杉>!AٺxяikM. uAHj`x !1pBՍcWN)&]4Z`sB> ~d-\;yY9WI8|P@Q%\+d F ry<ѿ?0P }) \[O.F#0 0 zk똘[!5=;1-<8#gތoj=g~ xmI87??үAT>R2W^Ҡs0Wq}{(\((4< I/&$J>5o<ɖ.$ VȄОkn)s @уuzVܫg%# qz|B8L-A#0179vɺ%SVǛEx.A*-k_ATtIN&$6 PCu%݋HrM&@PO}]u$b'|c6+o#&ESKL|a &/|Z[WTc3AO.9"k; rzb%NEhK:#?6_ҷ%E@YMGxyRNO2?Cv9G~OZpbcwnձh; D 2qn vCs%j. y$qY@{|%:luPNKK'ЈLzOD0T|н0*y:[u)z"uD5݄TB:¤B0= /&؞uH8S n"OV@*l܍q׌jXHlh-,8-$;j .+dnKXiΠ~Alˮ(bAyb!s96yƓS(jh)c(D^,BHkǡ;069X8^>9( cPgbǽ4SCRcTD9@~'uHZ螟둌ǯAH2p ^Ì$qE6;f>n%q0^oEb:03xV/zty^ "ļbs:fݨ Cޫx[7 7afϟK j^/~ N~hxwP?9<9Mb^FffbjZYEERAYFisq]ۗ`l_ʄ~zaA+_\ڒFI_?Ϥ7GQ Oc2FePov~`SԎ1ZEx!fXͱ 1s0sEV}KB &8x{Ha#6y;Z.ڌ+Gb%&(EV' 4rHf6Ĉ|!/̩MDA(0m/IHIFc/'Ilm> {T]\șŸ$t `^^ZU)g%vdhC2x_8nY+RdtZB:Qf#|3paCƖڑm<{4Mvi#(?M:x%3%,&0mAÜɺ͗Gy3~|L!WVOJ@eVOysׂa{ v:N;s EeR1Z4G 59i53M>W/!OfMU8Dc}B$n[4rC\[:nPWE.軪 =FyxGo!Sn:'oOI'3?"QXR';ҧ<4cУ2>2?U'g{YavdN?\N$V$W[H _J8Q^ݫ ?j8tgH(4>GCDC jfL$]֊;R_qI\/kb6֩9pYf0bp6FfǤ݉%7UJ#ΣPDžu]Tu@p<:~}rU3jt ς wEg hwQ'?v] ^kb?cAK'o CE OFC\PR\LCR{M~&FzmI a{w.ٔ|#E E%&(`a pzF=sm va_V]Sǯu@1:FP-+kw+>SOVW$FQn,ua챭 kYM6D,qB)UI==׹L#ҭx߬,|!P-SY>~^3Yf=b|ҰĔe߱f|™˝,a/TWr+zX|?sE?g+:1˕q|i5j"H < $4H|QZH5 irp^22\>xQ+@.aXEݟxp&Φ4LA0S@/lDi4^2Ѡb ̪9]5~t*vN\MuW9w4![lKg85n29Cj=.]ՐS 1(ڲ1Cow ]}?ihvзԬX\/ed5$4lg$,%w5?cqXCb#WmbWvno¢>x_>'<=+;2!c#; GFO|sgi7=55K[&R¿wu}43:t ~#OPL]!.3C!]xx-BKZgc21 h~r'\%T!0*c)9Rhӊ\+l[(sI5/a3R 3B PB^X뮋B\ʏšAb9+߱a^|q?EȊ1a’ r6}McJt3A_9z$yڥ/t\f8v1[2dg Ux֎!Lym]:'gut47̔- jXN!Ť@{Ģ 3줬|Ä%ITFJQ,rj}V'/Hnͷ$cbF;\&Xuh̗83 pƏqiy{ePy_oUBn~~ }wz1c ', rʋS}*UXO{+\xXu-%:+ $4!&0=%qAZeEqzAsKӧO]]bm}#jW?~“K!e>Bd>α8 f;0:^Z|{ŽdP}X`;BsfR*P2 r/ `hxןq7=S&bfjVzQy"f?ލHAEʿ#~2kӿټ1+Bʎ=#Sɤz !vrtvڄ3"a,="*sSӬJN4rZJ^[Vb X ~uYf&:d#Zb'y|CWC?VO$?jȣ{#ƺ:_$&MToF!H; ZJmbr]Rn| q-{q |Uxy,Ӫn:tr7ͮ9+Ih1<4oN]s~dD\R0b#y@:C|L>LdC VAh)z"0)Ї#c~`TG7Z4ld2  \>w$˅i43AutiSf1ԶKT[ڣYf,:y "9s(X͟ }{O,@' mGi/Q,2Ru+?~A_&v~.ˮSIza ԭP&<M k)R!s)("S/z/".sOB/+!f{:mv3"/ϷuD*$'R9mcTfKْE6㨤L {g&(.H(;BBb{m>GZjӁJ|W]uń{d$B)zNL;Ef =qypҏfݙub>~_W%Nҧ λb,%ʬGI~9\gqVԚop.ML ?0-5BLj0j?:d7Xtva'왛DrL>BTXUrBZNaĶ!6F ): eh/P"| ݃t mrBi a=j^@(_nPVhٓOglFQe 7rAp87?c4C{gclR]skxHnYg60IX^XaEDJ3(%<7{6=&x"s{ ސY#|޼DAJXdY8@r+V"<Թh|Q>grU“.;SᎥ}UÙ()dEFڪfm|>V= $m.TFW)y_?,{'wf<*x:F kͪq9mvBƘ\3/w>*j%Kot& WBlj l(e;߆d4 ߿9TZfEx3}PsC@)0bv€Qz8,tT_տVCMO[D} 2 :Wr vVqq[u~?>+@h~/?E)U=e=M Wl* †gWFQ"c@R4s@u\KZw*nC#/ ~O BS>hdP'HK!a8#~gz4(eG5ae5_qAtbA8Ζ-:*;h* gӴ:6tFQ mQClK: H!'9qk&T1Tqbz!U5Oc{eDmbTlj\ jDmbc[(zw)׸M%2YcNFFi31 bpNh bDZrgÄүb,Ԧ醤hY2GhHda]Y1j='}M;y,Zw/cBKXm|'P0خrLNXXD @JD_"YUd_WF:!bݭas. S3*Ē3IeƪjkϟOE}[7^c<%9%cEǗBŖց厡Α/C{֮=812949:5>=6513;}uswsxgdtfյ\]}""Hc}_tDP)~ʋ. QHw8Q%&d@$=xWBIrv]=A+ˊ2a;;-N[Zrm)X88P90x2ƑC m$Z|g塦jIA<" cw+'qI Hnn+|/|oBA1=$5p7,VKh v`T5Q=P]zxiѣ{Y|( %pRg\X9 oc;[ 昔tf >_Foܦ' q ]]E0y1A[^კEe=׮];28:9ҵskoƦ槮嵳՛vpk#89>J󅀯GO)ΑH? ,XwT:RFk|ԞZʹ`l܉ȓ=5lRonlÂxuҕ7^ cw+ΉLPTB?eC:_ҫB䑮hR @j~eLlbk1ݷZ4 k|-mB@ hWbPS$#X[9JFMθEU”rxP0QeWp,րwR1_fB8m|,$q}Hpn>iZG7:D/A:Y=ʽG psEGhi ޯ1@ɇ1jA"&\Vr{ :i&z]VFP|q6r>?T~Sy%t m>"K+w}A)1!T8 ߼ΨY~]Vhqp[>:uD󝓧xUS%&W]x״NGR-&75y[)NlwSP2ɗٓ6&6^3ŖMzpoq'9wN>{V轰cC'fOP?oZ fq?sG?㩊/"+}Ozz?LM7`2nZaɪYX"ASzZLS,'mdnO,7Wv[ۏ1qDIpx.sOaZNlղzlX0cj[#a'%oWK.5`;V_[v`)?],n6Vw=jXv\}ss?[>_i^M!VkC'-ڳtSs{zyeݗ񟓴ӻm#9MY4"\?ޱ鶨b. J3G]!t|1`‚;ݮukd{3zU+_Fj򾴓9;i#z{lLا,|:g[U{৑I9ejI?۷?T31zi33rذ D {y:wu" [48jg1dY~yy/^1p]g&O+x]ڂBL +@b/ST#oqS^s!/aVG?k5k4| mM-qC3.w-ڲc+g[Ҏ=Rgl@Q,|¤>#:-!NQw;huK1Kmo%|3yuoS _pexeoBSn/uZ5nP-t=Zxb~ӯ].ɚǿI>{҆A~@z׾$L7d~n 0e${`#sj{G;>z jkڢ_ 4bN,T/b^}<{fP>ˆ-ooVb#UTk@z ߵц7 c[âs7✭7;8cEWvץrޭ_^pg}A'qk˧emY&#So~9QϦiGR/OMY_̬WKߚ꩟7Sexd|>3޶[z\N{;cWjktͮ{N2z>7+/DU|aN-vrJ&}9nqR1gkoXv1BVneY.^ե P@p䁷Ό_|ná%Mp<-`mB~}S|b6/gzMB"'/מc*Xwi۷S1s[dy5g\1[sC7%^V{md1{_yiy{{_>g s37vz=G7=Ο;#zkl /&8|n΀÷욶ޤ_^@9Mlj9.-L?>UH|r̅_s Y#;󓉤]P*b9QRVT^I#<&Ӧ5}vu>WѾS/lީ]|XG}q?Ԕ-<` 󹿾i1í719SO6kl5u=ھgt/S=gEA Dx뾶G1}2,}3KHsvrykTʀI[Zv'_.fx۴~*^Cǝ z59});V'ofz.p7݀i?阰o)Uwo\C;rΖ^Ok=={-]{GJ'6[2z zC9m|i,&=o{/=$]fzӆNkr!?[zf'><[8Y00>Eۿ0ow=GQszF5Ѳը2 b4`rec5'xh.7x"n1s_ػBe?6(^sߜ,a'sAԒIZy/Z{7:v:a~EH>6g]?>1AӱͿ ؖF:^ m6yuoa;? #ۺ m6fnHHVݎ 0_֋]7ne o.tNϨ?3̺Mvߓeߒ.{fJw9K_shqtF:drcAᰵݖmyXfF߲Fٻƛx9ɵ/>$K HOl<{!YvwK,mRwp]/x 8̡s;1ֺ /a7J!y[2>ωѷ{JB-Q}OJ rg>7q78XOP<=4? 3{.Vp3Gmd35<kνZjzp8ۊs4ыY Om/{hפ4v5{ׂOZ=5?o52< T&:nОyz'fOm51u7sٺoyfߎcnp=wvk?[^W\Eц cr?Od#(CCdn-`uuJX]Ɯoux܏4QA8c1A_^\2a~L}ӥCa[XŇ8h& cO.8ahj|SFW'fѷobt|J;7+ExY^BYӯdyf#Wˉߣ(q|˩lz|:6X o}}~՟ZIOqcq5;e߲svכ8WGf<90YR٫hj<8, +~@Ѝ!S$y56zy[;=y2nZw8' CZX]ndN>O\h|Pwks%},%џn>JR?T?x; p0H.?kEϑz{V3_}eEȷK_NE~?|l¸3sm[v.~{һ |{K{go{Oo/O|l~AVUvSؒ´JZ;v5ε^_ˏ;w,v^cךV5'u_/F:_kYK;fYa|-1o}7'7Ω5g֍f,m.jX6~_ɺa^ҡa2?ZzϣUcna^WÚ;wy5פN$0Z)ގg~m.9zd5?nKuZ0F ɆC[MmڪgQb:?7u"b!seAgN+>x6+0rjoj٩jiaEb֒s[o"N`t>ї=gtuḘc[Z$@+?߹= g͓gcW-]H+x/|ΗO5sU TI:~d)v'9U5ӈ㶘8e0,):6=ݮŮ >:;u~x)ƅ G-Ls'ΞxɁ{RKeo7޷håߏ8laKg5@^e!ǫ>>YЮÃk2MF;ʵ0Liy[_[]D|,i}~*yBy=M?7F92i* 2'/ ߒe>b}a ^y@mF3t|jqhsGղ_m_[$G?K"nroz5\nv/5G݋t^֥藬[ySFf S Y$ύ?WtGzO7hr^߂EhP#Cq릿Y/)4Mv 9/׾| qY}mr <}g|tܞY~  j(4d"SY-|jg pSrK3wW/ ǘ8ƭv w6\ '?X,oSo(_7nnp6w):?ĩaҥmׅ/26wwv[ \-ߴa]e٬ Y.]N^}%2B|ӧ WK2NH\Fb\;9'*j*`ϢcXˇ7X}ȏgaaS)saۥƪeƠ!Kі9gޘ7z]Jقy 7 @Y|%ڽg3*ADWƺ{v_1D?9jDom {u5̳D[nvN;rn}̝^s(IoՓ F]nvd#t˥Μ^QXuї9R؀:?ܞ|m:&@TW^:5]hyvaCnxė'ԞzeŨ-Ic mIA KqW>4ctd-3=xI:;w ^璃uҚG?&۾Ҽde@Ǿ=.4?yb)ޣ"iɢ#pz9cƬxc݁ӧfn~l vty{]-Z澒͛ݰGo?_ 3]2-0@'G=EZcK>D$l}1fEO4S||ط5Qk'N ~:eVru[ϗ=2͝1^?xm c;n2eM~i׺QKkZeF+^Z9dRǮ;&]nnU|3nu[Rk.Z:pilBOMw7a iWvZ6w+o ?kH /ƈj=q?IɸNќCB4_K6kjB DNi!}] KZSҽ}2kg_NhIj_׆qzu:kQi7.<bW),kLH\S;wiӸO;nTGw2rO{nvFdD={|Sc~CKhWBh>{XM;dٻE)`p盟,4ܭw 9h^ˡ[c<,'_[‹P??[8zj+jږE9Z 6>%<֑Iuy M4<{wGⱧ54=$rys;om$2|[Z+гÎC_A'?to?ew/蜦y#E},{?i?wSyZjկ_QF6-Xz4hPP('Ppq^36ǽHJKK̜2w\7mڴlٲU:thǎp[ApWs`<}Lg0Xc hvO_rdT caQ]iqH.c]>;2V5[^1Gq{kޠG3&>kђ24kv|}k= <;OYٿQe 75Jk2n&]3%;o&.=6J~XOCzgxʜ /3ZR+B4f7-q/\e,9ha'W^ʓz?pߜ'˽=虙hft֧{;5;`-+4Ҹ8n=&MX?tҨr#ɯe4$]ܧG:M 8;R&{7dY!3!c%LoӁwS_zu#Cujeͭq&uÇի7Ďq-J3.,d'͛7ou\i]vN:wwʳsמc9bn>^凷(G y5oΗ0*D[ƦV^֧g|@ޅ~,:ϲJ7̫E;JL]2/4$`}5a│SPQMM<゙918+d AI6ws~twEl6uY ;_Oo^j㖫:Fm oxG ̜9?]+5x/ǰ@T5ϑC{mU:,S}Ϫ?usﮬ9߼lIɾ>7piD:~G9ӷm h~4[sG`PTj͓xsIZ֛= K4ٻi>,hˉoTn=m:?:tiG wuqlFE `Fz 'K.W >9lnΔ&+g،q-Oo} P_RkٷTӮС]*AjcW0NzMd؛$?ǡrV:%h1xӤ7;L[Ww׆Jjs4K0|H&kڗ'&(v3 1jՐE18p՛KMoF`&vWxsO'۰b>y^ӰW}w?|(o7}~ \ SEO5XO]f7rX?fؚB']~tlۯEܾ㭏?<~b~^ro5JfTn;!uj b2!%i&.7Guo;`LSۗd'hw[V߈8\7fUcϝSl_|b݂ɾ⦮ǥ'53^vIg;QÚKc`;+WQϫmʭ>7-ܗ%<%uۂ'tj;];T& ϒ,Hye9YKzղ4f S\ZwU$F;+ ć{e "[-rY雰wvz}QmO7n[;7^{Y7fN0+^Rф~ ܿSa_InȨwoՍWuLw~T2NQ٢FGOf_Aֱc2.5^?gӒ Ϭ??f8bae2W?Kl]ci=lo}ޠkEaEK:,hIQʆc8ؾPx]_ x<9?5g*i ܸFzg7t6D 1+zA~~𲄈" f:iyʗeC)_]肗n<]{Oz|P Oٷjz3*Ô'|9[&qwYK")u\f13w˂JȞ4ꗙR[{s~.[>貥_~J NkԭK;Um;q'>\8R2։9_6>eF<{Uv-{&Rso>$c+Ou~ڛt$3|ӕ ?Fߛ;%7ŹOO[\duo\s+j1G]*r9ai5Ok|BjGO)xJǐiv&uZRԡoeFQ η:xgO`Pq[{on<{59볟Jz5}j{=F#tZ?>9O;M7Z ?$$}fe|c[J׶Xɵ^riEOΏ}νר\jFl@E ,Οv뒽ro_ۺq'R@;è Hi*j"w`uK躵Z0񧗗`~D>w~&m-n`Z){ͫqើwyJ m^j,GX0BƋ.jduӛzY vڝ=0z1퀙]?TX}޸~i2\d˲},r&=Ϝ[5z&FeGo:. iu5O^ĆI}\ٳT8 MIֶjz[\[V["Y+pz&p 7jǥM5Y|켭vR ]uq}IL^34]8 gϼMMtAN.]i{Z߮?}~W:o;;7\ʹk,;;̜9ئ1cp3+-,f4سG:~`A#Ə3^tWVcI Μ{G4Z's4#ys?K;fݿ !F=krSdԫf]}SݼJW6޼O7NyUجyN(nߝ$yI{_vM3270xaSu xG]GE 3og¶sMjq09WÜp9&?pII~קdǏb͌Y~QGw1[7tG/}S?m%f5X2?{BʖD$? n,f|g^gkeKvplo75)΁w؀/G< ?ԠڔS蟐_O]<:a͌/Yϴ0r:߷90]C.teqͱYl} kԅV.Yкyy=(vېh9Ƹ w^o4Ptа{^]o6 !սw~Uccscm|^0^9kLe>07O%QmNj[-"qZΐv-Ȝ|mgٱ`%˚_]lq˧?hپwg](9vrҥ,燓̎KJ=_ L=a9aNꙒ61=fCƤg:ݻbԵd^}YzMLdlߕkܲus\G_j kX֨Q]?mk{;k[\I׬Q-ӇE) {C3?cSqgu߶Êz1,6OY%.n:mGtW/JJJ?rmy هڵkc8v`ߧ\/8tG\,**:yyy殴LS'rd-TJ?dBݸyQW9QaWhgZmh=/4~Ѽ5^Zgc&Y+wטsa-7zL]ascdEXƝ{dlX{<ջRiv>k6}נ\V6q<g0z FF1ҘəSdg7m;ekΛWŵ/o\#uoЪi;5egi׽_=6ԹOk۲j]qݶ[s7eu*6kߥCbO?57QntF|ri#J samO40L`zm[q:Х+`oT͙9μsYI) W٫{y[65eZeuk`\KMK0lCn]*TwT8:0}+qw/]gZ0XvI%-g/]>LKS.>e&zxliJr\3mq>?m=1k|V~D~_J]zlkΩVƫͼ@g$18i]>}7tGnn^܅jry~;t8th&n>ܹ]߻^3I`[0n=s֏k,ozϞ>M0,mdƍ^fM5yALa;8kͫWM^&|zlp}Kfq3?v6ٸiՋ/X`˹/JuKQ/jO>x\50A/+q| ?/)CwsB~kGfYGd͞;3eO]_E\2P]7ws=wɷ>FKŭ:N޾ggo:q{%fnk-3nO=V3PyFݝ $s?2?h1 41 uTH\>_ao8ekC'wiߡMǩ95s8LHhrQpٞօ%27'p>NŃpL+cQĢhB۝u7<H@a܎Mrbp܎f}:DNU*)qa`D2O \K!3[ ߏ)3A nTT<㳙 93V,1 p \aG' JLB"K2氞21&(c4 MP`c0ъ(\6-9x#) = ۧ' 029^Y91TMſ*;06"PdIB)X/B!듽zBAApUF&4= Hr1| 7ﱂH|^Jkx,dJJH0ƱLA X2&74?BL`P&[.|&wX r8&\) Q pP)7i XJpdr+DcX(KT& cR/E2bRT!'Yl0YvHR܎ I,Qu (p@硰`* TV)U8 g"* ʸ1JUܘ-Yp{65B)T9T&BS#5 Ю@/ hiqai2(`s| `zP77J8 .4xUIF:p T #\&/ t up./B:u9`8"a@rE280Z!.*2P8vC!¾&x@1Cz&5 1lR0T _#~%B-LPE~D3PM`wRL Gj$Rȯy<6 $< CV)C bځA6PT L*1޺:@|H5)ETEhaoekT?HeB*gF $`@@SI;AŁjDTNZ [V@}ɴѐh!jEP@IX&z*l7 q2-DHKL,YkJ_`}hU_LK*^h*Y82Q@Z@U[+!.O,)Rq2ndSh0EXŪăDImCm0|X3" i| , ؘp͑/B!Y. 6l'*rh!GD,'\7#al|p_A#_W @& :@PO 0J ƙRY81ĤAHrqRY8}M;dgYQP_Y3$h1,ck4&R* 8a"X891Ei=wBXT*dCޓXa bлČG T <`fF KW |D@:4FC䆂NAq:pܤ"SqhJUPC}3ps+"4^.:rGCo)G°xBŭH8t4dK}AYb % W v` Eabf4&w2V5D8@hE۩HDiG2 '4 {l0#q*+B (dՊv0grAO&4z.tq1py6ȞfD=O]xXX0&KG3iɁ(Ŧ ƇDh*nnhvv,M,4ҼOx#Rђ{EeSؔc `ج3`p$Ј%r ֐h.'e*3F92R0օ(6)SFp P 0re&2clLL˄UА^ )4I9;o\Y'o8 B;:~yްTN~cň#1G&#qT;)^C w{).]r+ >!LUQs0Pm -tDA,U aM:`-@ ҄FQ|J@2L TОǷ (؂%鋖JQ!(p%_@6ݨ-ǜbu[p:?\brGsTWP%,m[B΃uP QQ9 GxA'0f`4qAF6,{|!:T4Q 4yrH \êC`1vmɘ C5:alρj+'fUh:P[q(Q[J Vw֞jkUdYl80b`fgoMvxv.!2b+`iXi@yRLF-V4nhL6V~ٴUQwHq:6R+`U 'P1g ^Z*ټ6O.|p*  GTNj,k *U$r8JU@TITp۷W!a hcB¥kS8P6BaGUJe*@N,4rbIei_5lE4lCըҔbU**mDhڧC}D&C~ϔVzb5*U$[a ۮl#kU]QdTkeY?xʲ j7D"vў$Ž\iA$ڣfNIr*fj$F w1h"H/B~Сby_c %c`0%84EDGbPSxDȚZ/)3 -t[0b nT7ibR 3EO";FQUD3GKssUY:q9(pbpDX{f&7d ޞ.COwMۓLk v% (w ,9m:S=OwaX1zI_VA̋5 $dgt#uh왭,ggg s7zUCGI|GR ez$6V1›?s$w"(cnO& ѵ$@4._-FSPUPzIVɢPw)k4ߒ#agu8-mV fX/1JGp04QK8, Bq0zn?n&wEcvMrt4&%5Y(>Fu`$B+ pPy.jQ>2`]mv4*K(t4]H' scBlA34@(q F 0BW-&V_G:)6ց,E2AUUREd(Ҵ`9\YX?iuÇ/@*@a-:LotJXY1N@.$iS];J&G@CU}* XfEA^  ׮Wa2 )- K#8aQbE(P<" JIxG4 3*"3p1 PRھcPPEJ\@FOp4* -PUU/jvA R->RO?"RExEiNf?h WVQ@AIX SUl`z z , xqǤj<qܔ*ɩe`(7T2`iF0dcT_"::r x]ip[@ڍ+{S*j*vA`E'UPJ{tIO ={#[W*TJVn\. 82ڈv0:.GZ Wy*#  P*9Te( Sq-Ur:k ɝ&Ģ( ph3 H*8z#G7n*K$, PdՂ94">0R dbptCJL`[.Zvc־D=7ډPj $u(D.NзE&S!|Q(wSVծD@rPe#FT *-/l 쵑!$WT"*} xc e68aȆ4FRʢ) V.fkjԇ#JZ;[7 Vڪ CIQxNl4fEgZr;|AGݥ`!(nci1*묛3늙EBFh?tU.)Z [ljuWu9-+ėZ@X'LYɄ"@y+XlD뢔B᣾#P!]u'P+#O?Q ~S 6 B*Jo- W(?<6xtNe%%Ph'Jf+WUr>RraB+*Y0Hk6VM+`7;k1aw`~@j@y4ԫpM!*hІj^>hbr>kF)H Bw1֨CYjNH:~BԓZs&4ג&j~ x&~Ĕ@zu0|&$(vFVDu[yiPJBr,{,^,DV.IC:AӇ^?H?J[5ifl pne"笠t5ePxhabQwZuGG?BVEmQv~::ԨBA`jglŪڈ8oYgU+Lx#L0S QSp54}tCd5 ܬ2H tLSMZFU[jiu+_:;MZ(} 6<FzAJIMqdeū##]hh*Pȟ$LUQIETUH[##=X:P;KхZj *ABZD`OaDhT[S‡hSb.E-Q EղQHګA%1a<[e8驥cM`*z J$bTGÌ@3Q~.#j9X(#濧|VEWy$(2'XKl&hh\[3ꕕQ&9&SJphQnī )RmNʀn76:Uu3!dTxӑʲU(U] 35!tC~iYJ81 d*gS4-8F@z(&dY0L땅ă%@T& 2)Fgebk:ty &_dE#;##QNBV{GGt:!K!Њ`"#/M+u p- T2M+t kOI @$Zj2U=tF1W\Q [p8Aj) T8:B;Akk>JdB j݊bო0 _[:yG07./\(C #tU"A ]jZF9 sF5~f Y='3P!.pkzk;-& B}UB\0aBniճ' *%sx# խ Q}LR> V't*:qЦlDJ3 1X -CҎ'eI#fM:%RG$ƫ0pM]\h{#<Lx脁ӥHE%*t eޒP1ZatEC\8kNKPÆar21npm@Ph~'Ę)aorA4W*Tcf@ E%d(Sh\(̥i2eZ2h+J :D%MQnm 7bFfzAt9꽡~Mo'͕PhV^j 0,KD> xR 4R(!{tiɢa*7P+*BO#CFW+ojm6,IShwI|1iO`& ‡Ztt|%J:LUe.]*2,R%_VYBDSgFpqЙAٚ_m\T+i.y%~/j^*e}^M@TwhȭA!CKIk &]M3KUNv곦wNF)4C#}CUϕ5 T?e[ ˠ V̇ɡ_:$mcz!c.h@cRˀg+ fr@(6 U(~5.7K9܈YL@84zH'6L}HwAB%??%'ي Q±ސGqBf;4T@ 1jv8LE?DSzIfDB!E k )Y#Ԗزĵ8kVe8~K&`FCEd(g鰽!ehp;|A )PJqM6I{hj5W4ɀ5i]VF(c(Q< AZB5[AP\bz" #˲nËJB\)mAj Y mh.F&8tF7nŦ!@u{h3[ BD4~=}*tcg$;{4|n삖 :tRfWd54- yJcIrU $5 (:h\݊BG$7XT*UD+D!P%f2 >/t #eI^iHg-uȹp ^D-9BfJG82j[Qk`J H'>aa(i=ӎ'xeV@8F֓4OJuֽGUhh_F'h^i#,+TJx#.$zA*?h/ѷLQ5[Z2QӚ+2T_ 6mCCR2\=ʰʥwx6ႝ %*OȍO& h_t3v}p4J4:HeKЎ+QmCy^DkDP2:/RL8BPl gvѭ*cUh):ZM4Rq]T_tT*Ɖ]ԦUhoZY6rĩ(`iґ(|&;ѹ|af03s$b>О]x~ -&Mhc|)X*o.PH찴Yxtv <:Hg:i=)Pn҉Tr:TʰT@D z! ۧ=RJTR qRr{{UfGi]N7((Nntx7  4=uQ9S:I1 rNCmh"UՈih¾i.lVET(5y %vmc~T8":L c}Ѹ>{kU|X;^ϹC+xQ7|Nl<l, *w_DD_Ҽy1*tˏN^Ɂݮ2d0\ ݏwn㊈|%8`qFQ"DU jpUU;/-w| nҪUQ 05-6%On--# K9_x<գ+8Yx|LFNԛȢ\5x"|^{Ip9[kV2UZ'm f ~X2K|*2ShGK)?/ĪeU 8ONK/eff|9HU[a*1S(T! >px$xW*Rn9YX3Tz@LwCsC;ֿJuD:KTyNRdMlW4P$ohG(q E (Fa h1_( \7\ u-sL>GH5"à({k0R3ZVQС{g6m;0\ڃ;tضC;K6L? 47ڜٚ9z[[f1L(E8P]8a\"ssr " %NGHE%tK9 9HʕɅ@ '*\G$y4' `Fa݈ʠnll,Ps[BʃNx)J:;-ŒB"dF"q@Z6bD|q,XbC W4< ݺ<9ό`b_r c8h= pIa.G2wLl* +[vAl&Z&cݦ:xU6l @扔!hIys(`iA[A-hbI0B)KV^@r&np+Dr+$*a#VNW _&vai C(q,x 9<Lŝrm dh<˩@c߉â&NS0zS9ffܦ{VqVb9s| sXUV OejI^A}.'HW e bS6+@xPfAEL:X2\-G^ ]?p30WGrQs -s>6^p5kY?F`x sR)eZI*94gUP(> mwC&6"J$q8$L쒟2͌GGqQ$HX \L%`{nZPAkP~$b2K slA("mk\Ld'̃U"D 1qƓFf6|b"@h%W4n ۇ h[x e6/㟵|AE^8^&QGrÆKߦ,:,*K8t\!*./|%[6t:uT?]::k//9ו ή+- mTuh۱׾c_xzv:33Tcl╯U~HeWd®% {}?7 ,%kɦ KNf}99řWC#úZ?Aݼ}B780ܝso¡8?Ak3?f c;<] }rhw`C1/mAM0HYpihIw_ɋIɉc'O6iZ)ٳ⍍-hSgg]z 7n\fM;vڡw}#GOo>qn3G_ɿsv"{GJ̻~y#]k0._h->rٽ{q)xZMrL+wy_5s/|􊣖!s7-fOO,%-/#wb>9Yt˝ YT@TbfN6=kb ZTb!*^yj2Q9θ?nsC>4?ݦdLg6m9˚?y׌EIk3c6!9$qiY]2Ӧ3UD}loʏ蜺|qs|zo&Okgf5CmyfVdhݙs4J]}m -:~Ӌ3/%DI)ɚ6g̙f/nDY#E޷kD/08m!Ov7逹|b{nGgeYwv6w0qŭ,76!@oԉYfZkCŷ+ȶEG8 ZLYzřoK>o "ZY3 6 "v)"ٵij[Ot&+cbjsxhU?$ܨQkn>+m0oe[Z3 6 "δy}е" "wX4h'Nf,Ng2ww{2F5MSs6cm05+ۂz1{4K3u|OtQN4}ꌎxH/okSSMwx͞Sm{|#Ԫ/>/9BX*kv[fپI>Z~mڽؙ^'%DIiɩ9Y^hphfi8 qc7vvEj*yxZ.M8SLr >}KMMj$˝3nucyяV~OIMJ8ybVpdt#3!ѶhҙM+E]ĄdIS3&fL6YV4'34l 9IZH?FWYooZbxD/I =ҳxw~y:K33LI薙:#{N3ca#ڻZXiEW o̜-iLٯx"ܸҁ p4&Ѱy?eu.Z,2w/]hב5&YS_oMY^gh;7ءpx|ҳLϙ1^Ľme䴏Wj\6׻hIRcbW &[mՄ8,%3KKO VL_]Me.[۰ }dd=:ð]esƠGK*8EGLDrXE]SFRV)!^Z$51Ê^tQǂd=mdI5X1l#FFEjЯiom!`-N8KNvN3uDrp֦ęv#RY/,o_؜ޱ@:{sIەOc|BX"Fr\yDŽ3 7]YHW7`vF+!*1K?eFnNvZ ?oL|*oD|Iݭh۾cv=ѡm_xT cc\8.ΜhIіhުܤ0`HJ;+`Ձ%'FoΕ9X@m|#]' yЧ!CϤКlɦܿ17 &sf3C`$Qw삚9% B ) 53Yxo ,( w0a*wj433kdsI,cl`mw)25ȅH@ra:hnH%y9$sI!ntҁEmkTc!5tQlT(#"Raa9Mŕ%7Rm"0q:58%y%U BsIcq|Ѥ ~ī$`TjrC!gf ~(@ʌ1a+1s#(z%MS)[w&uT^(We?,/3W, @c fmS/K k=Z%9YdXo1(!YFP)dUP3f]^ JC"=%Z|ʼRɆLU Ϛ,1mdpD%B@9׆ W.DK丕ƴlH[IFMK~f\]_hl"1PyZAJIB aʬ JPO/dD:Tjj}LKJ=$VaF2P_pK7wƯV2)L0 jID[ɴncsqd#mN{g{"HTi D7t;t̵vB~w"_e,B5A6 e}0 K03B&GE\M8gDj=( !c4G^?[^L:A~"fSExMz :aO~7?JpTQ 0m}S'V&XOtX%!/dS@Ea:>)01O!'$1ഌ]Qvw6߾j+;tfteuꜣA,[|5oUtj%#NSgOiv1KCEjX@J-vShŧ@bHUF*8@.P Q7%GlظF=F{ʢQ2P):EbD 77Fh}*[7VlPCSm_, O0S6 ǙTqR$ו,Bm%GUG ="w^N'fnHh t|7 Xb)0\}wR"QyN{ݘpt?ހΥF[-B-B SvWnvm<Q)- (,U %KT$RnS 0 m3&&eWw/49 L% Wk `5#ׇrĪKWM_*b@Nʋ)RN 3t_9b*ƾ$?'=8v\=Lf\04VA noBcjkRP@1@ٓA{n0sٙVhAh388LjOlWlTb G ^n*Y`&؋$V7SI#F Kq>b jj-#$@nD=G'<6y W;h*ڇp&Gt!22`U.kzҲMnMnT7/mۯL{a ^]BRE3UF̀օh% IN%Hlf5$P 2!555iTK3*p1O˖/[6e %v`?R֚im 41#M&E]T#YդꐑD6B#e!~+d+l3BU fvUP$,M-hFʘ?ؓ;?{hPDo9`%נW‚`j 1JdOW.BtD_`]. TCW:4(w^`Kt3zD3Te Uӫ4y걄!h|jwZ$S+G+<,;OC)v:{A%{H~#RF!7*fPK9`pUVj2sh.^ #`R$/#܀_χ)WI 2s,,!Q$p'`TP_KNʏ: zA MC^(Q4fn jP+9A0XÙ U ?l;LK(mDc||c  ٍi D G0u2}lG/,K DyH5.<+)@ DQ򰲸aMpݨLH 9U:DfϞ]lI'sg.Je'pq znDw<&: AOV\ڄ'6HT!@F&lU c삃_i#Eu.Q+s\<dqBtVW^KXp]qIG oUTWeq"kne%-˞fg܏RHut a Jȏ/ǚd@X1D`P~y:ۻ+uaqoR =)(](Q kg8گơl0eM|-Ɔ,_A,ϓwto̓pKlІAğ4M*?B' ' A"gkkAguW7.XXyDښ!85ΜJm*XiRɞ$Tr<ɂ(QT\WBoiP`A/I}A"'#:{$t= q\94 ud=:DEo"0S"{a~AI1HҷƲқk̀_W9Hl xjEg rm1 =mUJ(?mwåbRdYU|%PJ 0f~ X ;,ȡ4.6V ^2HHQqֹT-@G d n lUW7{uL4C($IsWSpT+;\e`Wl(:*6Z<*ٓo6*u);Zr[S9PmO uPAU{UZT RU}\fC=YR/?\YJlg{BXc=v! ^O0|7T*]U>+FCTUf(ƣݜ⪎F]* vB OWzVF]V y S 1Qא'LᓳsVQV jF& I tth SSK@]͜A3I:7Y ͱP[[kmz%0^{o2ä vB5Y.έ ,g [jLIKbXs~VQ)&,e<)+_kjabkkf2j=[aU?´&ǎ B$\\iUg*B]=Kѓ۪mg &э_!i㠄boCQ'BUz’LPY2[tJ*9fAelm_Q]TQEMPK(=(GuX`u o6WOjayR Έ& rӨZT, `PF@ GPA7F()Q.i i}uփxΝǏ/^SN]|۷7n8vʖ.]:{l{502?(LCG! r&s_8b%yø%JJzr[ryצ[nmqihz+dᶱ}x=o4WMĸƦťGff*&˲7NN1J6/g yH( ~zV77^h.|hf<'OrБ,:{Ov!`1ulCc3jkXV32Yv?~~e5If㜬S&xJ=~'.?а4qնG=3)6)9M>3f%Ց>½o^@n^1-:?CgFKn愼M-Ǐ==NKYLpPQ$Swö0W)\*̈=͵?|)V 3Lw]>BBo 5Nm?'s12Uܓ{ro5֙q}۩3=7Ŷ5òeF6{c^~燊&UhhķC]6e4%g~Gx>NrKzZھ '4r.{~W6l=պx7٥1>U \c?y?}K4k1TqMIGg&$fLp8mvFbrԄ I)QӌƤnʞ"r-fMJ8ը~xFW F\,ŝ{_~QVig.K_XND7Ј8lh0tW/ز % ݼyȅңmM;44NH9ȼ*|3Ʌ۟\ZayQgVwv|&mjMnցqIɕ\˭K7roӪ~}vۇZ.s.̋oyg}b4c~ eg _lCX->6 j)acˈ5Sډ#IUr%!J;Z8/'LFZ%܃IkqG l~^gK=Æ76O9,)LPhQv~1b⍳cQWd#.wJȸi#rqTi\!Z|o?eVs{[LogiݐkR5W_Ք+m2Fafv'ͯ?6wJVvaYĽBw7<(ڱ/ovs 7>9~9IsXIay=; ]5%laLS[8!ըR LGmi`7*i}Qm"oDnSB"wp}]wn-v՝:eunhfzzJ7 ٺq'>ago3YZ5vCwδ~gKo;Y+*Io]uf him+ 9,fBW7X1M}4jw-IhXMkmb֙y˷c~oemjzy %wj鴻vƗC{Hfnt{nѣێe$? -T_4)M3ע8X9Ok6{qo[Osys|W?.&L;D|Lz"ۺoq{<{ijl`8Q$'NH0}thńqsg,N'h4yqԂ勖,HX$rftf5CLjlbde~9`r# kM/\8͌#.G]+'~pNF㧥E¯J^do˫5c s2BB LހoxQYB2դ^;l[=쇰~<&|ǟ8eƍ4I骋}{__sci6ZoX^w}s}zO~m#d>0u#^\])&}c=<ʵWi304)k+Xs8r6$nIFzfVyd=-OU6[{Ig~=㾀_<(S=&?CiJ~ bɄMv~P6{-RNԳi55(|[;vhF<ӇrfڷAf?/+Lk~4[7mr]WNu:7sH].noȼS'h9lR܎- kE.2=1,Ie5c|a$nc-O+|(>01'8>fެ%Ӎ[GHg+ɠγSv^s?ݷlp{mʌ^ynˍi1&bba9eJ.ɻOlo5uz";f$X|efha+fs0Ƿߧͨ +zm5!F6xw}X-_XxC{mwflgl?0>]cW.I4wNv+j\nʖW}ℝwfWgްÒ}z)O?i]OZw.bK9W]-*u=kn.`qOϥw,ەݬ .ry Pγr!| ?3\k/ g^/n[59_ޭf\å=w[GYzv=bĒKlvĒwlV{[[69Xj-7Lam*mYkە;?7?}ciw=rw_Ѱmj 2vi/μ}jZ}; ̝֤Ż z _InVݚKwOgvX5'-f|]AuItM ӷx#}?xcO޷]=y'_j]A8A;vɒO6~q/Ïj۫o8plxmYo5޼ ޺^7Gw.{^t/r>rkxS{V Wtꀋiog_wv_sB-kZ^ߗxm~ןeo|SCx[}e;Cw-G7w;?!G~随G]ׂܟ ?gS9p#KCwORFYNJ-Or=;O7]S>],.Zu >ei+Wq9A'Z-vޒ3/n߮a@`Iv{':pO]KFO^yD6̭}Ԗת n7d*u_= _uk4QwӗU٪|>;Wnx{w2I~[affȀ_ϝ揬8upctY!;6<#vk9{q3y|so|3ݏw4> N z߾|Nto[;^u][3|{?ܯ}\3x֛Ko~QjOvR)gy.gN3qg~3Nza=f^/~~Щᬝv#~k͏7zC6K3dY=X\i9{߾7޻߿?xGL_O?=0wP #OY}n-. o~{GǝW_sёxߚh/,]Tm1zM|{w͂;\_N~pϯz}7w.l˙}_A;`sϞ'jƷgO^xKkx%M ϺcWnv97O~''f/pg[V>zל^}ǒ[S:>~Y{ :}pKotmK?wܭ:}_-\Yר/NflŖ_vҋ}ҝ Ÿ*7j}-]Ϳ6G”[Z8Oo?k_={r.ӿ7r൯w+_97Nʗ'7?} hKݿtN?硡^yxhC؏t-?w|كO;gЙg]| _]O+sI_ڵ u/hI'g\Hvk<ֻ>>/=OϽwssn =?tm]GWՌ9o7|6K`2V( oy{ȻSv KG̹ ;?l*uWG^[gӬOn|g2qo_pջ_v޵;~wk|7_;/帛޼Gi/w^F^ߺ'SPg[4o 9ˋ /C~t۝uCT_[?gkxxG^99_u働sr |7㮹굏 a}޶n/oٹtıo='Yw=oz2jw?r AGuKOkLa9 ZWW8;Z:޼ffǍ0N';fYߚY^K>p>saxq_]}ɋ޿zk/獳~+w?Ov3rEE7awo?gۯ\z|_neq7YdgNWz\s[u\lp_[.?kܟt{7u}~If,>d}=>qC|;+[Iݿtcsc/\+W|~%3dݿ>u?<'8|nő#V6]ydаt~ =s>(pY]%Vݓ_d/k%׷t^?Ŀ}ʣ-wzGNo:꧿8,?̏,=s܎.}>z?k* _yWn\axGz_vԵ/<}~o_ƻƾ3·-tݧyyw>!:27c)k4_FPNHCLqv^WrǾfv]N*R]l{We.ଋzv;E݃O⩋ιKϸ+p檋^qήGZuWm{vt~K?a+K~Q[?W?x~s t-z[7~Py惷֗FXc`|7=6ܽmooA9~Y{Ossc W|Ɠ7f?:뚯7yݙg?umv{3pwx9`{|3_;X6' A:wո;w|xu}mq='\~5\u{!mwsw}ꏯy~e{qx蕧\}tXGwEGlրco%{>߬Ҋa{줟l{ٶG-\|ĕ]7na6t]^O?8Օ}~׬xZ̪]ߝ5;u%}gzt׾s[zt_zm3FsJ/lj?XfÒܝ_>nҭw?u[wS=gVw]~WhV9vfkuח/8nXǻ4qЕ?.ڶO߷)^s!/?u7҈s>ƙwUz {-'}+>[WW|:'>MZ=bosJa,ÅuO\N>+q#rOr/yYN3/'>H%;ϫݼȣ֭jµOZ~(Ɂjݗ*OkZAy_7x?kk1Պo}c K7{sۑ[_Ct J,+M'/}k:|.8eޟ ꮋI].]gEb8xʊS.h3r\Խ>3NtE^s[sN t9mvSO? /n{v )ң;l}gotβ3i\g~[GO#7XWA]>lqq~畞u9i)8w!'w~j9nڜq{I vN㥻L=bͶ}3'.Y;VbY?_ VJ׀w6;-]#qG?Tܪh,xpY+t_/.0l]0>}b[UR,Ky|v[{7?uQomaC{y=:l>ڿ/{yt%K~X;|*%?jxz?Xj>ӹdhᶻif'xd׮/[n|Sy[r-2g>gsGewH]~mղcns%k|x􈎳)KN{aHng`w~vvw>vN7]qy|-7Q~l.pYq;vo輥z_g||m3ͫ4>w/}n+n8+m7]wۖ?zVۇ~t磞y~?=so;pW/mts[~`gVUS𘆣?Ye~p#|׿Uǝ~VqȲғ!_k\6qŻZn {=~6{|䱝O^?y#S/;ؾY vtGzM[g.>^0mH8'gory=uʵG7p۝tùd.9힛e}w?]ʏsq7ӧ[^˞7}kz [}/7xi̯swyny_[>f;^N҃.諷6q{{{餱wff?m_}w{IѯN~c{o_k'ݺ_я,w޾={͊?=ٱ-.GM A{[ԝxYLʞVȵQ;pٱ-?&;ܲdqы[]ҽ~ W_1w{ӗ\82:}k_;W]n;?, ~%ޞ<Ӗ\Jo0vώ޲ѳr}bw֏ܶݻvot۶s|u;g_x͘?;~іO]o~ {³{|Tln3qevɮ/3ȇh8vֱ>do/_?r7lY͗{߾x;O>AwtkQH̬lOzN쑷i~zMpV~GlD /ގuϏAunޒJ/7ZޒvˋoUp :퍷_ ~u?_9p7;'Ӑw].lmv6S8+;/|z'|~ӽ[r޶Gy;hk{?w+]w?{Ң9rI䞽˝Gly}#=9RvKG`~ֽ_+ᄊK]`iz;_㏗U;Wړ^3 gy oW|b}ډ;Gu/6,ȆаN{X^|6uxt7{¥N'_wѻwvǷ}1~|M_u￈b[|~YlͿ/=Ҏ#葯,7od=2mk-ncU>?sOvß_:`ؠ3;Ownj'I>yIgϺnkw;aβl_>V󯱏>ѭ[斧v.{]<V87dZr@/xEy.nuOu.cZt/n x1;~v=O?_mZy7ս;[,85'Xq?:C+Mråz'ϼjע%=N;/S#N/Z׋O'=1gu-otI~Wf`~z觛5DɌ;M|﯑C7l"l҆Uʰ߸X#FDѣ6'/m͖lo矃dV}$|ـ/wWvӯ.:lmE{λ0曨j^oLĿGG5k[Fl /NSq߇crVdy6<9x?R S9cqgN3f7mx9Z`lбjWߌpx+9HEF#W`?tpMfm ?qbrRs,B:bj>=Uv4_]ثSѠ`7;)xFu 0:W-.:Oc9.èlϤ ((hnF^`q(-~}%|':_|-f9bReuKT!OdGX(ˇԫC[ÛlP7|xtC'}6a?epJ\\,&gPKQJ{GjFqFE 5FŠ/2*-$82QEXoUm7dHE/V1 @ay zIu >LJ@I4lX,|f,<z=\YfĒN~i8 ;9ve4}oUw$cBrvbtQǤf^&Nجiγe攆$7H2Jd=nd'[P9 a)Lu. uڥ\hc.Vf,&NKhFiV@46Lh7ѯ qԯOdWKj FμMS4>h6KK H&N҈.*1$ kEvG7WD5Z?0A1NV',UYj*0,Z*b e:1gM?ޓޢ?<2T 6 !4t:h6D+t"m*7iJJ:a|޿E܁?C[px0K~4}757bm^Yɚ4'ݿ9w9gШ?.K2*Jmd9J'h BRЈ+&Va$ED)Oep~}H*$UdejkIE6V[}#, f/6Ga-䆙ب3B7:<׌iJNCrSB A,D3FC-;><2lV+Z,7$7YE?mKL:0󈸫T0hS>䘸ϱWጉfFkLb3 N,<Vi:5W1X iphJ{FVa*uXc2^(OV3*u['TQKn@Q5Iݰ}`:Ht*K0lɽތ%FL=Zu_>RG2~Ijp &*Ehҥ5zշt;B >sYojЬiM3"\'kqlECV4+>vs=[ѧ~8#_bcN6 i}Mzkl(dv|;/HONg鰖Q `78~1ۢ"ntKpFă=;u\p% TIۥH3:&JsPgq~#LJ @u2)N?g׈< ~6M'[FRk۠ιKe e߽x>f1I=GͫaWH,߸Qjn@_kl?vuɌ)6hBF&W,|8L;f:/d@;EzgHʆj$JjjF.jzJbCoB!c!m r1o4ʁpRp%X~cQ|ZY& q7gRw &gvxr0N4X:x v4047CuM _3`ˑo^xx#;nLݰ:{-asQ Q ꓂ucr᰺75X |fˌ'w!UYsjaR}'__Mixx$ zLYuEc@-R@]_Yl.`c\./9'c<@mw,2UW*үh‚'4Rsjq\K{-DBáڈX| ǘKPv72gM&34]AP51+Ssn }{uttfW̜m[<u9f;=2ƲaȀYt{#IL<5 v1t kxP󔉣q9QkrgT\mO~K%)4[Nۼ9M??FmH9b&7p!{S7z(uÿ 'u,,NbM'0<~5='S [ej:9+i* 4+n74 &V0l=pEn2O3}}U h+HfotX؍2.Yune`(ZźD<ߨ_Xװg~ 6,\0aMƼ WiJ k3u2*ޖs]PoO!o ':iA]{7Nog?U؎}hڌg#K"+lpKxM5WeWRO CJK ~}M,Ԟn\tȝzwv),^`Dw@žg}6F*q6 .w2>u@+sΤOw=PiT'a";'fLik#j_m/ 3Ym˄?{d"N0Qkb[e_Ei)9EocG@Ĩ}|-Z iVM[ӆ`OX& bR"TOTn  :^zB;9 Po t }z-I6 leU>{e$Ľ4pm_?f4_VDs?=V1N=0N'IfCJ#(DVblT&X>UT5t?Ҁm:aԐ6x7_Z RR|[ȝ8XJ{Zow5wj@zAy4+d4ѼK]:+n +W-)c50(^}l'M]*? x>/\Z6iFG{<;1XYYC$/h1)gƿej-`dܘEzX6<~ć#(PPy>&(xze3`-棍cc|F2)-By(ڑK3r װ S)A qSD./~6̪*И?Ԁ9џJfH惑bI%Smj M۠mJ`$!6ٕjC_QCn`@7ݰa(83 +0+&?~yxP~.Ra:!g,UI.s[3Ln|³&EKTY ܇)p[ʑ]> Ӓ zDI:(̴7Rߑןtø0 :s@ $$ŮjS.)Z{}GO~xOJG(aۺZeƐ݃?Y-)LCvl&3`,>ٕ4rvh> &088{m N ]u#=/``0*ѰҊdhJ TtkD0Gؘ#As(Rch1o$lh<ҧ`ijOēa_Yhk0kbФ%i[v!eԜ"1E]3)$shØY7XEĀj3O;HEm`^5fbDvbKtbmrE1܎nЊxy7ô3` DFq,(|=!tT!r9ӏ`-X2&Q$Ur,XgO|K^v741ѡ/Fз,S]Y[S)RċzA.&HAyaK9 bg8 E4w1C tX@}jY;I  ӨA r4?[qU@Y!>Acn,}Thr,qDiyA4mw/2PB*S81@ "FNJ1јA(9H! ̢*Z4i9a/Qe;5a\S3)RBgjLq|Xgi0FKl/frcK䍄S^7Kv՘fف|,Aao}鲥H,00A-Ö)ⵎ>h(\%ySJLi _lq2Hڟ">+AM(IP¡:)KX1q14,ɘ+h `lCd֜YLVP"DaPw1NHs)*C~d?L5wڎm<+C>LMyD1!cDOQbLa,ЀewvP@(#c(/-3:E<{xqf u9SE#$RGU~0Y8u l^8 ͏fd4@B<ةY73A#Lj\6Z-XkI*DEnl\FaG.Ij/m uF.֘guޱQexG2fϸYb>!et\e+o_\G 1 LR F<8!0O1QM#U/rvv!U"͂%;g%)F<@I&L0 g55-3$xdW'sB:E Mc0EN48q3=7. ZYngRSѦ_\3nF<k6cxTGxpF= Y8lOvtJD  IZ$Bmy+5ɣȋ>O cT I`C ='D*#'3Āl)a `9Ql'qe ,rIm/ ]a'Pܛ:8ћeJH K_CݨYt"l"]}]X!j`\W m&F񘛆y&_yjY" ) :.!8t8qk'V`1(\#1^9y:DIኈ-XjDJǒS  "$])6S4vy\̩1zdwI[9›%㊓Mb9aWzaxlaccwub r6 [cɉ&fCHJ( Tڑe6@IֽñLUfMH5 PF(\jO8r)D.Vug #J?S~?SZuʭ$4w_$O -I"sژLED91~i-0pڨGSS (iUHS0%c5a`HH)I*.6EqlX<(PsD?sQOѣNE':$"~S$FPZf0VjaPg{բ^;?2R}EHb%r"J+n(e> $XUH)&52ńoV#9Y^р~盧3I/,`~X!>V{Ȁ' ]c5#,['+6'^؈K]`$qBy:lىI,܌{kq[hϥ| G p+b?w2K)6eB"QWw1gjO"?ܾ¾1d~іA% Q@y9(U+LL~^n} <].fں; Nko;e8d` F2&ϝ>UlD﹋ +Lu`'+ƚGZC8,w+a ]U"%ު.bު9|+GWCya7eY4^[>L8hA/x/J5KKYXre̼$,-<e`׈0 eX0YƢQѯd_~:%/Wk"bv|Aɫl\c;S-ɔoD)7dZ߸7{jco8)<5"0u1_3¶31:.+1T@%v;`*t\]k;MM/"T[ꦰ-Hƨ*!v- c ;Cl[l&MM쿒A^ #1tHl-utṉڂiiL퍲 -U6uN GKOas01};4n+qfgˇjjDU\,9$ jjg:2AEjԷڋ#T,ϲe G}ohiP",Y vPˏPFA햺v^fjnoa0ef+By;J1~⛡UdfeSx F$StI^zen#pbv`2B; 0;,e!9;h(CTk&|2ކTAf^"a"mX( [a]/ɶ3TS )`<`xf`4`VmT&wlUMA`kL6̐~X܁ŞO.O <(ymN}&ۈ0ʆ+c96ĺ1l:Ⲓ)6w [r:5L ;hb ox%o{-ynΖ Y2~E(TeM%p{]<,HТC;:bY&s'/u[n!C j\+6);>ZeמP;O*,[L=Qs N)* zj9Ucĥ'`@»$g⾓>QB-ݳ#ureeA=zv ϟRn@wX|%nZu\Xdj4z23Nw|{]r/\RTCsu%i0EĨ8,w{E\O. hvL_d ]Ӱ3 cW:T̹UʽU-l~ޑtс.;.ӣdHNj Ns90VS%ߔ6Ǯ\ =8Rk.F 3u0g'7j>Dw_v4s(c7@Mr*x0Y~uQ%0},}xnO; ʀ=E{GqR{X aSs[=ysvdŀ.IC(G$Q40(2N"^FR֭"4vZq(P3lOVJd(rAK(Xx-Ե+ @cA9\n+T]Xkvk*IPq/JNLFUѿ黐1eIN݁H"S[3aAzzb*!z"NE9Y(FɤPY`XA&9uQ&S<&U7MJ^x0Ekmq^d60MuY.sfr :r2 2B$+Ǯ%o&/ɾ l䬡 = ) jDZ;(ɼNWc;U@ Zq@@Y3B~,$or۔CF~; w9̷DBH]e#  Y!c`%l,i} %5ct8׭& r 5T2 s9fsCH.Qوr( E Ty<VDJS= G-'P*.1{QjЅbuݝ%^&Gyxg {PD$e/qNV+WQ ;f57 ,Y=6rk3w~4Wl0Bb$"]2=lQU=s풎 ]fm>&Ł>L\۞(gok! h=V2Nr^saŖucW1 tj\s%ƅ"Ms莦 },"]znyxUcƪ!GeKj\>&UdQj UQz =1Y+prD&~~HH|ұ2 (>£EYtE>~?@O?3NKn$f\U~ڷ9[1-a* "A,HL@ vUZ7UСBQi )cvS\dMMN8;=! YSbAuGu9x+8PYnCw BxB}Bdٹ1 TGF=@5lG&nD*6#|$&HPDܳ|ѨШAvRqϖՌ n4DR>~fX'ΝL؝AŴsh'%ɨ'WX͋̀AUnO|tQ0YLJL)}Nvڔ̾\BJE'uNM*R$rC[iTv.Dґd9üW(wUC+]HgUgAۑ~o])vx\#$ߩVD e[a|  `UL,-"0] Kӝ:,![ ;&rK8܀GrA lb+Y1-& V9e5d1q|i)$H #dix8!cy#Fza 5XyB$u}fUN0^uYJʅRz2g(WO6ISS"voof珝k{GNHLdv1QMII7-BSFҸYH Ŕjc8M8-$\D*ct رnU ,+d)\G!:F9wQ-7s(XI=Q[¡y~_BB;Ojizk%k.v:9a`[nVV&(X%`Uj+=e\CI%`fGt@A#Gn>y`AQ5fۄG9`>?}0p=? s6|/._ä,圅EhqPgk٥8?K7di&bcV f#,t`rh*+8rOͩfG>)AY=r Dz݂0 o;Ŭn%\ 8rr)g^FϜ݁AVWD\Q aVػ{;)AP4F?Y}LՅAU36*7bBW,upΎWDy6lRF{AGW ?X@jptFjh,.ǩ.uq,Qr,  -^#),NpYtm:,<"# |LS@Nƨɓm2fX )Bt"iT+~EL6Hx IXi)s@+9bLAA)|:&o=e$DY{#"Q:J2 ǐ` !7z)%m jPvx,F)Iƌm0dlX-هpOKlFcY^`^Tjl3hҔDX=RDЛaj[K̬D˸wrLܿ`Bk- JlG)0~,5`(DB 0z< 7OM DN:EQy a(~01:&”CYfS E@Z$zH'q-??>4Z^D+ma8)AB KFkǥ,8~##C %^MDŽ5v-=;"hbWFq i6~tHo~V5_R"%Cb[>~Q?obe$P9OԂMP ?ݏeb3 WtWa-$c&x'p,L&C!"vl>^1^X@3 Iw,кQX[DL#*'sfNd0k:ƶ{͇cS#56(+7@ܴ ΢~@ޛ &-h}#]DqY3]CE}d(QQazbw#x#zf~] %j]C" $fa]L暴ii҃LВ ~0L!90 9Yu=Oh4Ϙ{H͠Icp €-e͐{3c"l.{7z(3vt%`y /tr x1P=:35yW\aMlcH^2YkD@,Ɗ&b4P_S_I? eJqy[uZS>ߒy|L|̄K~;sRWQ0L+J+8kk3"&UKb WQ)GkgwP-&wHAHax TTPP,(U^] ,|af(9#:!~ns+9M,WL}a%ZT򀣗2"mtYf=TFg Χb;z{1vu B;N#(F UF`*Zz; %Ê {+ uXPCڼ*^ 4wC/g v FX|Qd#Ir&+gbqH_T+<ʰ>/ T7UMf`HY-8|s.;4өOw|x! IkhJ49aY&ܡeˏ:6ɐ%K4J+% TşOH7fkbc{R`tgu,#Ψ/:- qz"a~1eN@EH[ WzV1[Vn(p.bˈYovG+-Y Db{osq0cv5hbDlzEj?yyOZKs0l1(ڀNCDc 2IȰg]RWHo'\͎a|晾f1','wt|k9Ö7}|+0bRk_>.y_mԍUFPmu'JjEueq k{FѫТ@ j+s!ZQ8n\a zkTaV?.tV<j\jzEDOҽ\dJW%`Q*FoT"+|r\w4A\U}#~1$>bJ6T87',%?+Wr}>yM;֮Si{ڶX8Iڤ;"Iڬ].mVLiA L$400IWR K&z 7VHNJg,٭v0U0j9ԘԅB$3 ~qV ?iC(\k, %NVE1cVJ*a;D7 AObӉW!Hy=(+(hV!|kTWۣA 6 Lͳ:$X@2$ȕ#ֈKZX i(q5'^(@+1'%L3DHYuT)V4mS.?g=W&Dkd)+AW)q23fjiנޔq@ݔq z!.yH"0?S~+,%5m =]Cc3 K7nК:CYkC#;Sl~\ɞz *H.k*m#[V+WKTa;0hE4"e!PBRoZ %P`xV;3Ec$Дq]/ۣgH:svmw8)_1%S?LeFNE8F&:e!Q+I)cb34Au9e, 2W:mDn))ؠ:NGWRcPxlR-a{<P䌷zoE{ǵ0`\':Xpl/X힋j狘 B20'4 {F׏BY3Ge'W#8@B\.ehmoDz'! Ui{o@Rg!.IoYqzSC30R,5!.uX 9(/} b~Z{C'ߨT3P0ۙűB訍oqzWZ(Tg3>EW,Ĉ(BjQ$خj sІ$S~|Xi`HPc4}_Ja Q6Db&ɚ7w4$ɨH$v2 \LU1HLptq4]lZnHl:8/Ē. r7ssn;SJv1^$5JGլnzg.NtèwQ_ 76N_g嘉48N >Rc~S0¬3cZBH#BوBjf@-Apkkl*,65%Fz248 "^j0wF-2L5xyD:etL&c"{ea r6r"GP`(MqH`-(@t21$}&le%5alJs4&fwشEҡU@3$Y{B"$ـ K)!^h6'Zb>d5ԁ %mbJeceÈ.T@M:AdBc 3rY>_~j#VV5。}F=-6Uy;;V:HjF48F|et)8 [b#ba,r'##c yY Dd"N/Վ1&X%Eʗ1'j.t^6"I)팡~g-9z^YC:"W:`ej§1; M'FfT mč B8ANE$CdrΩX=v]dweOL䕁1h_6feJɛ?jGAX φ_?F$7eR9S ! c}Zf@Z"3w)M?*p$% -t[o)]JR:, j v>"SDB% J1',Gԏ#ǡ1- Sa4"Df{ X􄨠pb1$tU/- 1$M[a<Y@s%ZxLuZ"נPrSf&A) e5#K" j%sIU#z^'2dz>6"ygyIv=Pbu24&Y秙Y_tt:o|- }Yq=p"{4,PiN<2|!`P w(.#߁gFr0^&f:j9 v"M"IY(fxCkD|*bQ"4KȂtBZ>8,B8V'qrħ߳b@!eIhʔdE)tybTse eGrb@\\6Ep($\W\djYL^fk %W g=0~~=MƸ&5z(lomj4h8 & aF1 HMTE 8\$4*zӉk[4 wx, VcLt%Cȋ F Bᒅ|E6 I˶`M4ZtV41p4Qr&&amn ˯0vbla^GA;,J|0Nʎ> &P?y8n0|W pJ<Fp?C\FBvx l$%pCQYLF17Pת c21JH8dfJkV` {-{$6D |5b-})( w%/vkT5%*-rcOFƴ?233F<ȡXir3LFa$~CB2)@;̿0=I-G#ILiD1'FAjClmTDac.'0 'ҝ7+X"arihr2`:>o Ӕd }YLӭ@}Df'";l< 52J;_Ae^K{Vv3Hj$~Vb/{&e#Az+&vv6q)ɀEd['9-'1'YD.%Ke#A(ip0R)cmQj'YXpMAdrN?$$["?Svd ;R3wG0 a4k&Cr4ʍ%K pe0x}d.WŠub8A ͓FƈqYe5SX8K>aC(/ ^1XC㒰vfIU4Bݦ4pVIE㓡 Le/XڕhZ#CM^y4-l3ISۚew}U =&iu"H+Aojџ<%0|FҗE3AQ-q'fHW_ 4]ꢥ2}b>%X5PİiJ3#ds?፥9|Dȩ'N%w >b-xzӗmV6ZJDCD|jFj &x7Ivb\"M=Luulr Лi(d#=:X)YMvI8qM+;8b2Ae89d9fH\aEEMBltRA z |\;(Nyh%S& iIHj*1j&7f!IzJՑ;;MSGN++NS#=:hP V}N2S1vR!@H &X.qWh 25ap3$$3|ׁ'tIs(>::[L`R4IMYz?є'ۙ4&Jvd7`:k$Y 2egM_Nݯb4>NIf7MBlǨHu0^y|9߸iAI&z'kɭ!S:Y~ i,ΌH:xWVUL7r!%.TAX%%gins$Ղ,7E"ӪH )Pb:&i9o Q|)O{~ԯ7Zy։~3*JVHF92)#G۾(;N}J\8Ԋ|KI * !)r2SDJ&!InBST.']z)7,u1d:dͧR24¯GJm"4¯&"L!0Db3 <7# (pǩonm2ZH mz Uf/8Jܵ%-"Cr mim;.QԘ{Q%d]Urc7_F]98|tcy.Z%aN̞p wpGf4E AJ·;U *Db>$8ICuBʀI`6(:)KJK"ML[U\:$&YSإoJO;RXQhaZiuM)QP)vO[J;: J LŘGuzG 2Oo&MO@8:.P/e揑` T(6r+<˞XΑYt{F4afjcv(K9aHk}[%#gd5I2oNJ}8M"(EvuP2>gRcd~T=ڦ_ynR&r_W|Y&E:N#Cȩপ 8)t/rߠ`lL[dD7Hq.HrN[+zϘv|n1fIα`,D4v/ ]^\^N#35̌} D_71 z>;/f&qڭ ̏nQW~X 'ƧIHCHx06DY$]KPi$8ᇤV,vrcvFx,AǗ䅇 F̘8yi@8ϒ`W+!jaa{=$g:Kd9Ӊ]v6IIUjzƥRsvdg |d_?6wt?ڔ?OifFDk,RI!B j4sl`I`EnW фjVKvNvF<Іa'np(˴vrPJ#khƍr~n<&ZpY?Q `ㆨy4q4bN K@eX] )QwFX59 oce_;my`|#oQ 3ƝbxE~^^j@pbuFV#D=8ja Mz{ދs£;M`.6yW g0bҪ%}SȒ:,SR])H 9dp4P2_t*XʞB&F7j"m°lЃBlxH/|* 3},W%i JF ;h$:NIN'ņǁͤP}lRLd1K̐"hjչq`:)vet Ț7o6qο1zԁI?M?/#_K\Fq.o Mv(Fo0B~. r8dX@AXR``.'Y9Robw+)@GFD9.%"\n?W0Lb41 y ЕK6v2}Ko (ӿFà4􁑹X#J =v ! Xsciф@Hn|+5_ k* >#@caҖȁrLJm)_A3 8DUi*Fr<k5)t/L6Z) .l)sZ(Mܒï jo ǦDmApnc ulěLˢ (wApv8t$$XrʽY&2ZS!awVfKo#FElQV&/\YnZhyd7˦(S su t}YvPp x Ym2m%6Vz JvN@ W -(xTi6@{S@ёxCcPĢq( l޸3r;ȎyyeBwҕaPp>ihWaZ1TZa[Ė9bn=lKv@Du,x-IK}ZRn%=3/P*Zu5bQׂC$DW`E@/5k|SE MDdc3R9| HmXxn pȐ'< 1ھ,slf l#بj0+ua@ďOq EW"M\K]9̓Z;TVgM<>ftzKR;i#KE|+)UṮ"?j#!Έf,zz-nGAz"f2)M(^,~ynρqc='6)?sÆHq)[2ӯ>ZÜ^oQ`Bі ke?܈jXIᙹt8>15ZHHj QAd-usͲDɩiGV5JѲ*a [0j6 "S$f^)EHBZ]xʴJ&D7f( IPUkeq!H\$,rɐΥX]2 |-㍘I@n.!݂~0 Ivy3*p8WeՋr$=!9@ @^!`l_Q&Y:1Ũ$]Er _LZ lGhI/ڱK #R 14@q1-{}TNbyۯ Ay/M/qȴeFVZ,rQqufeVPqw+9yǦlZ$ G A7ɞ-2gcl Ll,_P|+.t_1u0,.6{˘| ЭȌY-F2 r2WPͤ^ 2Tԝ $",ޜӖɱC_ds,oh~GZ"#gTRv%f5a-Ѝh]# {1Z'"gNWԌs./ң:{@'IlJQ--ʟt!Э"(-q[j`x2^=7!6v+)T"s',Bn:Zt&ҨrdhPDzQϑ'|d@RZC J>&"["kDH3P׸DMy.(|M'R,'ZU 03ئ\)ngTySnj$La6SO3ЗD&)v9Df'6+LHV D62gL'=nDvF"GyN7}8!%0gY\-VيPJrt6t{F+*E{b1x/_4*%aiK9+{6y:eHZn ב`I9&"QAjI0)oVi?\rΜ*jLz!4}LXa[ +hLF82vϦ##Ї*< m1!P 4NLR{l }aD} nh QD<;jr~.l/}*S=D0ZI&#(GRDH1|"Mf9:~o>12y!@&B}@º*pf߶ЏRjֽh].4THɫ 8+@205 @eU-~U!oCcʋWZ䂨LHd D@k#-vÏ ,m %e-j1 5Xm Ah-ﰟX;-]TDڲbi <&sBdcWA” CGTߤZh0 %; ,Uh!?:c./n92*&Q~ TЖ~O2/$j[vN~xEӀ Y8>Łٴ'+n91m YEvX R]_ot2XťDe8iMEż7^Ns]ebrV+)8?:!wݮ4/)C1:LD|,HgD<%#tr 1K+̈́IE]4%Z3fg.&OיHD%@%ì⹩1`F2v9β1p-ΆY5(e}E|0/AQbrbUFen]4NdR"PI3j"rf(,| xȼa0PP~ Q V.$9X(֓;A=lh؈1;$L B%#Bw%Lm `+e5JV UF@aR <‰)7B2xɗz#4O4s_m %PDx, H-4^B"AcpA ȑV cKB42n AK Og }0jfX$FX5 ~,2v;ޢKбXŬu-)!3Ҍm2{ ѷ٭ (Nx)<"O] x}hvUBЉ1p@6`1 FB YjWs&ØjY%P@hZ:&ҷ tpI?) ?2OR.S:ԡԱ|MpS(z#ZI8dC(S7qc e`#5|cnH5Mȿڥd+Js^P/keJ,cpK L!jƀՓc"% ٙ7@T $ ) ˭Z[a b~|#e"+ b%UGut*M #: t15$˖dvM2 RTɤ_(D!"ZsL ].R|4V͠U `bi{+G ظƦdUgj **4w|6?fG6q#7eX'uʴdD6,]߼aŰENסXY5Z|ykv++7,75߼c4`%oǿa雠;߅mذ|7iwx gƏxCmlDqm0et:+ y hP$/+aOp憥o83K6Pp ض[hG|T;a;ed &t+E^ltK$Ē;:qtA;_ƌ]S9&g#S2fq ~ڰԠE'ދ3fǩjlXဋ5Rώqɽj|ˆeN[43W"E댔_Dj ,=a++S`*oř@O-'3 cݎDl( ym'H" GaJ|N&6q08)>HfR5&gOog8>:67D8Mj ~ ;kvtw yd 0.I G2F Z#=;5$w4#[ӽea棒ZjCˀC>c{d^.kcj"a%! kн߇ߑ)ppEP=8}y˫h rව/_`n{ İSRR r+ן\jB56;iWra6Y!5܃?cԐfdG(8k"mmsE(t=DE*50VRCsqZ#>Bʿ@ʸ&6h2|3Z$+N{|s=1JzLEd.q1p-Y<׳j(& U:,p%j87SK2 \:܉sf2FZA UVh:at`$Ipjr7rr3] r81cAG\G !4c]?,-ZLkM`jDP?--%ղ=]_lqM}[y"UK U:4Q3MMD$`qSRM#FdǪ@}7r~4&%vEqh6/qnv>FԊhU" N>HTIkn lZJ ,ƜO4L >`}lQwG W7/bzjPTIK +% A]s{m^\m@p/%LS$\K32HuRId_aV5kho愍1LNRUI7KE4̐"u3|;羰DtAC~&lb I1'ܛU9j=èi]"(ZyV,՝N t|S Sf/G_m6iʿ?jU1.I9x.'M.?5V+$Ex(T 4`*ZVoɨ\m+*kv iaVM9L2Y Fo0ی\Istϲ0̪gjyiEPhE ٞ-u:Phk@B"hv[@?Tb9bN|T’4%)RrCʙSyL.g뻘۟Z)x y\}jJń(Дg; Eq*Y ʀS> m{^ܹݬGY0ᒛŝEBZd`z'oKi$NV@#ձbbŪXE5c0СYAj C Դ3N:%/ OӮDaReyZh~Dݝ<Z1,ftY!egIa?'KN?kȇK_dQYʨ^5K q0b`9Eld<4f ,Z)K}O ̄Yd}MHbJi7'x+?@9-^4uH̢Wo bFS Vʨ? }bJ LulbGL ShqXBs숩ȡyDM*J@mLZR3w h8vQ+n"R 1SAKwHG]ֹV?zvwgꑞn z'"PAQr͔e6q@r-¡rIϫ.ltd.$IȞ`XVN˞NQ:@?o!6S@\D_R1arOdZ4٬R>d摆"_4(҃ ''SĴ%\66e;UXDEZ t_73#=7)ӧ-GJ݃< ,WQe5ʖ_%]!e,0u\ǘ* `XTAdRϤ{x$Su njoOE!#~kul˿ W;`liH+wROKΔR' ZO8틝hGZL͓WhXqFiuƬ0[T|MJaQj;QQKL&EF!kTB(QJӨ쭔Db? B T~,`2< lgj*˭ruɧ//,(A9PPvf, iu2 6F S$gTowgĝo<ÜTI*#wO +^)^єLK$<ݳO=Ʌ"kʐIuc, 7=}F dEh `Z%%}[k4\kڜjfozDQn@%e_(c5|Ѱ1xM/d&b%7%e$G(2ɁGWO}f"iX> _<vrbm%2b1? [d%D6JO+&u괰G&Pk2igei< b,@4d[]H?H3-rҔUIHQrM(bM~G"mT= #]ʋ\ܢ]v;G6)cbYIb 2]31k$KY75 ȔG{VYJ&C}Gd/BRz` f ;Y64Ϟ!N";m?̖l3V: XB|#諂>"Lχ 4gRH30. h5h(UJOз%띉5KM/N2d=KhVU^?x ^_mҿjT{Ц_Ũ?| )gp@+A@0zWzWcNWա @+#F&c p`3_k̝9oЛzo)[v2J 15Ӈ'(o~.M -PL. ^_0Ń:hFº=Msj._37'%;dӘki[1 6,#Y0Q?]v|u |F}Π|196i-r"HQm>-`EX0 +t&=6 KȚM%#v5L@wX,=2xlV0 DP|(1)26$"ٳ:jeƓ(VU\5Kw#޳Ic=An)51Sxkif_g՗cQ=ak{bx-)AbR 2?bnubSUHc ÿ<+F܃3+=p"' iq-$֣N3]̪ QԾI>3063gƒ!Za⽢/c9 Nc H{[)9g{؞N86a YUB4*V\γr`fx:x!ge2umDgu?+nN,-:3@ dgB?ˆ*h&'e=>DA: P XwaIsAJC-ϙZYXjb +tBWAC0ԉӀ<0 O0dlX-ه$|OX]`l30h(!A ]=ZhK ^yc2BSO̠۸EYMƌ૾GRGѢko.7mLSI]t042@g(SS)vg\e*M=v4)(ݕ!KxxMLBޙØ nC7aK ֜g"Ub>2+U)p ?1&5+pX+C8cc[.cWH\T )y@6W9N+qk+s@<Ja “s3DېNQh@R.h}1B+P`Rn VAL=C.]Fx$x `_\ڼ;pPYjRdh#'jL 'l&h7)uis4=k.Ml9 0g/obfj@OORnІ5=jkP%~dD`v7* &Qqm'9ƞ+PM1!Qf6+_}r<˙>9nb,C!6c\qΚ{Fa:MeΊT|ycH4@)_sP Ȧ"]]07-Z;[hA1GÇh!u@` Ɨp("-$1JG',\>4DɷhRSO#&2+4DC0-zŋz$yy :IaQY8Qvº$+3݈=D*!fflcC&cJ`>˫@A3 J6o TdY)golih,6C,HOQf," ` zfKH`'TMCZm#-1<`KYᴣ#VUE`EN }&},dxB17 Tgh s\[C?EQ)WP6qΨp=d1lL-wd9 e Z{32W]^<"U3&rh@N B)AE WgHk4njˠ+Ǘt! !#a')&YbƏymf>W]uF()FMF2Z}Q (>(.lxeć3z"7eԿ#7ɜMa2(."5ɴjPͳ4ӯdHBJ%XiʥUV080rh/GJYXԴN\=bFLc7!.:-.r">U^ YeV%.u-㕩?5x?KU*4{o ʚnIne0(/hMHyx",En?C@Pɏ$Xw%Me U2l"9r]}MJ- &R`08zԵ_Q^ 3VꥮcYq#߭E<͈v 5JGf2t?#P` |MZ B0m&)3ѝjaRZv5CrR:+y$c)CrQ/#J r^Rb r Z&e,e$:p@q%y gV[Aƴ7'sdz g , d /FF};mvF(8rPeMؙׯb+8Ij}J!.=|ǁ7i+S6N܍`o%#7osAQ42Cx)x&u9*Q>!5:0}k42}#a:_vHԘ:$u:ZpupP嶉.x7. `zy{7Z3&=qR7=T2M%ĭ# ߬j30cqORYS& ycKM*7shXNeRPZEx6)2DYsHΒ<(-խ=9$"Mzv WP8lIVLJRd44B,i$Ñl+M?>E@FLa+:=5?6Drf dy+3g˶g9s!av+cO66e;Dv+Ixؙ&´D'^F9J@v6(%Gr)" ,DZaW10%FI'-W\6'lLt] cHh}c"S-b7%YT`y5E H_ɲ=6?L'Q`>g**L2Wf|^d} \*,'~qrAF=V 6TWhSCF8qe'ŚwEW{b@G"\bqHHR?ž#e%$i3ܥO!DHVQ)b޲b[~/^8HhI9&HYz(0ۈkcGDE@R zБ'5Gq> Hh%~綗x ַhmcA!gn!ʗ3saJm9u+*6b'Y䍍aICZ'[;(1"fYD%-cL".n_PhwF~ 81OM8D}TPl&+2|eC~ X&yx#.yccӌz}9a)g{i6I+j>eN,~K-eirX(+\ur5#87o{cқͣ<6eѦReAd% =i{R=oܵK@.r~νjv~_DAF=BC)(2#pm9Nj<Pk0>N(wZw\):W҃?eқ"z sՖIq D8wF/)7^mmN8 4Y㠘عq/v],կ}tMYE[Fvv`U݂  * #3ߖmM'I)e!Bl⤫oDq>j^OJRWn7J &'=RNRA=f 6qQomE9YZ 7o/߆Rmx]Ᏸ=z!=XBCPiQ?V , qbˤLcֈ+eL߱@3sHhRSʴ`xhYhU(I&9ʀ3sSRh[ⵒ`N{}A @A!HZy%1"CGB$Zq># }bI+CZ)81 SRAUUihS@<&+WA#YAXPU/C-DnM~,UBB _r=i9e[S\C(@c¼Qdwbp9RΠ8WvKvs5&W#$ *"mvtfvƎl PEE䢺+-ZFw Ub*Zd%!} YUaѷOmfGEGSV*1[JZeHeAb"QCgl1:&yjP,sZPU2Uy)"QG!_ 7PҪYqF&vIGDT C "FLZऔ"! *QB`uz@q-3}#dM!œ`$(" J$)+pQDJ7k]6B`Uɕqh&Uar3Jr ^]bߤAZjEPX蛴@]"(W9Y21^4 lqtT76:ˊ IE&9$։r3ݻD5c?"v^q=Pc:cI\4#L8 3jV>p06AeB2a9kRs58Lhy+Z@ĊeV |jEw.V%DMC$IvD4{k+J<zm9pmUi\`批B8񛛹.ӥ ۜEic>+e5 oj dF/ݖ)9Jd,< _􀩦 '6'vUe>Gnl~McsVV0BJʾ ùp%>/ `n( rP=6#h_$bxiLl2ZHd]ti P `g1Y<ϓ/2fm)OxtHI?6$eI1E%;MGUurMIs*Yo'Z%>S tm7s҇)CO-͹T-DoS!M5:SٷįRQ Y_~RsXrKU\&O6Ī@6B7yJU;d U]rJ)"IRGg꺁HB.L.b*zaĐi ՂsoM%= 1f6ZU5,I\܏y$QUO]F5lתIЁ;D#~R.=I"/oΖM ic_m{ϨF}?0̅uh%4}UbCcYV02тFdb.L^E@L[-%?|#P)0{iMZ]3(!C4A pczc-JW܉Z?;a)aCW H$@*7W,QRITP5aBQM.#2sް-r54] Q : bO_+E9jӯQjtm,<#u3-h MڸnYr N5?׷7,d[ l*)CjS+h~7AuRj?*TV&H@_dTk-L1#<"Ib"A1Nw5:+`GOD D"][vbb= xO(LB˒̴wA`kG_eR?E&S´2' ʀ`/k[( >S^t0u;kVbJNزF{9 }k3!^z eb kn~ZtSl@#a O!b{`11+˹)VE|w0Wtv$(tGi4{4ab,.>53pmŚex$+u[==|]Y2W R"Τ΢)׎=lv#%B92Fl73hFR(BFGF-NAf݅q(nO$7j-:wX ɨ^dzՉ@b]!*]ZVXtI=0bڔv83WLIR(PRA@%UjF&vөoWJ؞in'#rBhDY-EIT,Ĩ/[:_y;0XzJk|Q8XƢivVPb|XUFGԋZ DU- hzf-wũ'jp U+QfL,6q)85:3@)¸Ɗ7JFSǒzW$.=)zQAʹ-4m4H|)T5R$:gu=sz meêؚ)kEn'K5#i6~F<`LXn}\%dLѐ{z(JSږQO&: 3"A3W9FgqNWJ@ARU8zȏAs2z6b#SRz*q Ȗ8qH9S8r:i+cSjVK"OLm9ה(3}i>I5Gإ>3xxJPfkT%33*3 fK+t]jL?1B7+5"V敬",Eyi =NHˡCƾ[(+\?+nL~‚=MdHxS>E?Izb^̕hK[ z*G+R+C7Uy=v\"TuYe %`f4uXt}:.͍+h-v$JF6F.Zԍ'g ĒfMGzj*Qiya}IWo4`݅ʓx#M s8>>liwБ-';Yn~ψYZ֙ RoQ@1dDd&FYIJplоfn˲B>> VɃUl"eсOH?V3bٮfN*~`"# &JtV 5(g}F}A$m,f*z(xjʻntTc|r-1*6odTMNlS+FyŠ2KZ֌b93d pSUjsV +MxjkHF>Gm>8Ϳ&1TtK⨦P٨))"I(\[c-fgqL5ɂ)J<%B jdvِ`J5 T<ozvUvY,ÓJG|SS}c;;ÖS(oV^REW-EǛv[أY]H]yyk(`bVQiUJM)l;P HWj4fW %~YB̕1լ\rC/cPm+^Tw8:1}@ LL%ѣ@KIj feXXKsiR)r."Xgfq -VRT_eg2D OT#)r"l(X@TR;%KԢyA-6u섴!4[d܆ŧKJϊKoZn2dMo(4=Z]Fl2|l3yۙ*:N.5Ji"M/EPEw%r屮MʙlaS%nTO/3!&^r*8Q,^smxfxE WIqZSѤq̡I̓P$IxtFQ$U@k"3X8S%Q()!Su4hAyaT} <{f CƆ%ߒ}؞jOрe+VQnbHjs X TާqbS ^yQ؏'D*2ώd5TCU`&H1+-MY)ѧ)}/G5'(tMS-h,$ɈEu3ib @)ڟ'ʐq'aX7:M4X]pvQE k]h N`W$e Hn EJҿXϑ7EkneoڸA kST nxH6籮vXP0*)\ <+!9j0ԨM4k: O8ϊV9+!sݮtHх c^VG?TbSǐLJ}!"2> +Ld'zLtjKL"ϒk5(յbef{zL}(Ŗ&&~`t6 6-M6^84a@.xU#em"A](.`e?fRJ[bUɄZT;T(: mf6JUnBr!A`)|q>8C\eA=V/:,D \K~b':97#4iHrҦR&W-|F. X<@+ SǼ cŇ 260ybȊ-Z HBnS4=jo4)$O,YCkcH-ҘQЛATV֏P,a?R)Ъr9K Жar2^0VL{AaOn1VS~F6uIŴ-!%c|p<9b_7G,!ib='4G&&V$e\I@di;Zyf8 dhG >v`T\C#lٔLIr6Lm/ܕt.pf@fNqV)Ƨq6S' ǃ{'Nj'2QIҧ=~O<*-V͓w p,Rr-x6^#7An jێ'lKQ6*[`b$%EaºCZc֘'Ujg1 Hۚ`yc AMJ):l6ȯcjV`L\ -=k2f2"t) 2f{V4$4nm-&cq*s梔p$DN&"aLfQ]ET}yB%!*)qLd@9}K:c71u v$I Od̋7.ޒaMc!j\`1I'7%>URC%Dk8RV Vč!y:6dG\svD>UAWu (糊V>!T[ hGR>' bWsVTf+`фŤPi?GHs6rEI%c5Q mЁ)Dp|ŽmYNs3]{Rq0&pɛs ޚ)P1bq6~@@n޿}Q\Ytkh ~H3ݕݝ]j=g$c67ccǶ!4·/;.Ug~swUEfOqyj'$)]v+g X+"˘{.ȡi`Hb$p F,WK}u6RIDv+_=~ܕY Jf rʗCpMd ϣh1QbRisl>;1yZn.b`.D"G5&DDŽ81:آ>'6ԁ^eÞ Abt֤F`}ĵ[#3p4K;*ipED(m]_!_j/YrNP4"F\Xr)X*:|pݠȂNX0}'aBR. v%B$pvNMMB<rZ'Rdhǐ_t0/N4ƌ&4br(>{yݧ fg^lmDODjV@F " t(Az21Kk;[tOtો#j.4 HNJDL&+VStƱMA$^}pI1֙G_wt2[pl<4Z~-I۪ , A %՞Ow' [-8lp"Nnl)NzAwH5ZaM3vk4]99z0* NG]$kot} ߍԄqÐ%<4n3ݥ:E8#UD_))I顯3gsޘ]x赥 !kL4:7E raSn$GRFaI)@;" teA]|m~$DMz'-H4'KKY^8/2W/4"3PDjD?Ѐ%z%Ck9&nT# %BfWf@mdXLpM D奼GO:IG. ҥf$%67h/t]4q|Ϳn|5@CQ.i?d#iƵӀ!.ͳ7;[[M໪/&qRݢ4#Ek '#$KT6h'Ό p_@RlJ?W%k M\,gWˬZ@F5^ʳ7[$'lmg>8ƺoޙsu$ 0NC_zz3Z'U 6 ]|Grk`_:^ЄffھI /$  Ű8j4nLq´֭i?ꊥVi Grk28Jm" tA,fiquihYvI%v5F<[k,1 $PjvC&kyVWH ME`ڹisUo F(ZD[t 2nHDZlGWTZ;̴1:3XbVe Ðܻ` `m v / 䊱7 b^4*O9s~ =zwnn;{k9ŽU2DuzD6x@z.[n KTWu2Ba #-vIӞvsX@~ȜarNLegm<(M"$]Mj`)˜XϬ:`xM>f)R'gV L$dY(^XrQ2DM`55IB-%4a,b;",LS z#]u]"N.S%YZQGRܹ}߹~lv o7nd竮m7l ]⣗?z棗DJG~ G/~3hǏ^WW>G/(<|4~"@z_io{$=2kjF3jF2Cɺ^GT_׏ <ߞ8y&<- 4`g`Qqq3 WGO{s^A`vC4p{0sxگA}|pEa s:ԁ|= p| o|k8X?z?? },[ mˑUOÏ $aGG}Oo|9y6Ѕy-c^y ?z]ttD?W3ṏ#L9hX0:%y{u$r7_A썞.Y;7h^RO{@GS=( qP C;aunbk1Ol#Ny3R5]~2yK&1/!|JHm s11:WvgZڹL89:_عyb{1/VE^q``"RȃKv[o>WtkpH+_jت+A(k|:R Rq+":P=:+eWYJZӈDc /S>\S 4= kyVބmT?O~_9l@rr\wGR=@z#HIT7u`jb2Ȝ](Q]8I VJo@wN1ܟ{I[\ _FhRi /@">$!j$zNe:_vfpOٰgx_@"%pk0~Tgyyvy|81_zƮuNYI 3,b EbdiG&+QaS}Z!--%E&*z f;>/iz\6և/O}$"н'jd+'|y7i #FO8`Zc5 rKw \=r \~54EYeCSQgY!tx8 Lz_*- jB/~Q7Or2$ydD{(]fVPަA[˕ZYlkr35"!Σ$͢2dM63r,H^ W#IQVAȃ~^ۈt@GS O5=Gw1Dc't`Ozk^#/mH<jt7bۙAS:ƋIw4OIV"^1mi19n֤F,>Ge2̧.M_-"U*fp$2* =' ^)'8(F DQ`IQ L ;pUKMt]j_xVh]7{`RlxčUM6ĈPxBJ @+#ao^l ڠ&(|Z=EȆ|Nڿdvܸ#u!B;>>Gw>>ފN||g}c#>>珏:~|G?>Gȏ>>q#vwU-/?>&GN_?>GK?~KkGi8CGq}|쑏F'G?>Gb@&3y!׈ K?BXG[8azϿt465t}r?>=O=ɹ>>~|'=_ɥxV;&?{KOՌ<]z䥟=Xx5՞ǽj'ɣvGg̥wOң?~\xc#؝_|)gw6X/{o}nݥ=2o|||LH/g?}r]^E=wi?ٱsxO>~>>$ͭOν .?州qF?K;'сr" _^zulyO_~?zzp#s-C>'= C㞣^^x}FUq*ޣ#?E,̷>ң1;;*G# uo]z5߭v?#P\PHp^~g@jtX2ϟ = .?{\sq`Z=J~c-jS,?NQ ֜cm-?r3lh0} fg_/yoF:צLhsݰw_󿰀T6a | NEu`XB _.Ӏ#|Ux}d tM7r mt\x&7lçqN'nJYB{`wK/K (3J6W5h4vv%IQD f _uW;\?dW;Ȇ&ZouVݎؕR9ǐgQR,/v| @W_6_MR<,AN)vXZnΚe(7lmJUP5\ ]Jgˏo}pO0pzd+!epHަD.HVDðYCpbK-7]khApI=r5gٰWB0[ M)@rO [UЪ^~Zj~9P¼/PEi)QLbQE,#V=Zܼ=39]{pl-*NZ}kFVء0(%&/ioLYb2@\I| )S 4Q?5n]D TRK[GuE0]?+F aoC!RhJ{~2~-5 {IsUHړRF.cRp:!\3W41H7g1mMB{=M|gqj/\A[C^^\Bw;e-?!1gJ*OJ8b^@n< Afj%f`+: $>n`:_+_r&DΔ<rx}!2\2kL1[Q0+}]`L+>3ln8B!H=wXeo Pi\s4H~}qX-u*> fP0#ɣnX#܉r5CKO chVUZoO/񾼵20~MԤ^Z:$rVPW\n:K@8kmduy"o]'|@ex ZUEtv@T,Ec6}Z%}Y&XI|x%5v~QE_'罀y( !zmQǦābUL H4!jK {a4F="Eo9 KkJ$+@yxzל÷ݡ* 5÷JDʨ[}Z6w27temN2F6RLjXQõn^*V{ nޚ/ybh& FpI4:Mq`.Ő-F_o~nᆵw믋_ÿVV5@'?KʰZ'tkY:]@<: PZZ td-R<:XCaZNkٓC4dX蹔~C1Y$t=U4‡%:l)UeS&?L:453u[վ~5ʃ*Y/e9C%=.y1 FOW͗䗶 Ts?CMETf&^*E&9HeӂZZI+MT욪 gK˩7W4}yTzȖS?YRsnUonq+W hkMXyt/fZrݾr͹/V4OvnB:jq%-yO?ҋE`BNWᯨAr(e^|GqِE41x뺏x]"JCyzn{-{?}GWYd3yM5CbjMyhY+E v@*6?g=ty*\^:0nIN2zoeTpHŮ:B#{KK(权A{?HL{*ni|K#{˱ʉTvDVRŐ>Grɂcv})r)&zG.Xraa`1 _n6謵aSQ9[R<h$0XMAKzj9A)0 0_+ *a ӒW Wˍ'l  \6;xҖ{|AX?䢚bҎ2NG ## l)\A;!\,ƨ7rP# ¹"E9Sj-wjw;Q#=Gy'6œ  ]@uSyzcNsw PcMxpQ̄ه&u#-y.x  |&?:4ehPKUtcKBy~A9^f&oz.>DL>`܍d K5D^ VRgkϦ-SwU,Jq!<|`L%z i] sKkd@P(ǶPĴ7set u߷|qO IL , x+UCZVܒ@b4PWz6FG?b>4vV.,Iăaw16D韖~E)BbPVs%{e DZ}nmI;ϑWY\alJ5!*kVz>S! U#sގN&1 k3w/FFw&b2 ԡZ&@TAPT|~>z4 FN >yWy-(f;AF/ڷz N]=G{]KJ!XjHS+bNF!q*#BqyQS[w:bPa `X,$bT@bi CP;i&+[-󅚹fp {K>:(Z(Y$ho%DG ӈ1KKDԀک4_\JݩS*KEp3Ȕ ")\!2P19\H<<\gϴ ǒW 0A,YϬUo5(ufM,TH:#h`Q\a@dR~P@P]E-nz݂EyF_FE)-~W)hǍOր0ay4MJޒ6g#f;PcV"_ D%NTЮҵ80ҰOf~>j!{PR.e7O7|72@eE yW Qrŵ4_ݻf1v0ThR\Le/6;t oa@ˌd?B/J!9λ?Fq]ZZRR F̯b޷|JXX޴;Π|K^b>ZH&T'gCM Z96LΧp5PG@络Z%X A Y!p2 ly [gi%/Zg@ק+Ň&|KhQ'Dk.^dӈ[u@Cs/OuFp A6MLOA@=*bsRmMLbМ vYYOd TvZ H^DUԦ- ^1xnɼvjBs)(P%(F?h7uMD, BZih:7J`Lz;#xwZG}ݎ틄zOޢK:QHa C}rW(6a-C`9Lm[V\kCN (F;62x S`o1fj@fi["8; %Tİ 2,ܐ?W[2(P231w+5"9r`b=aS6C$a{r˓)MFIKmH9BW+9} :J}mNw4&lﻁLϑ*N՞>AW&pejDkň8Q=2:-۴$ [i#iCIM6̅xaHIgR&IR=ELDJs"ko;( s *j^@T{Nb}<|B#Rlfy4lY6[ ;;a`͚f-氷Ĩ26Iћ@l}d0'GRc@\(umFbzz:Q et`ߓbzB1NRs8]Moh;jn0|.hT˹@\ {؄Z_4_0 "Ű]k쎾^O`ynq鑏gm"hcD\LG::QZօ/Mb5dAKl9[ >-˟m}pnq#s \o`jFN }$>'ʯwutWduw-YVa[ u~'m O\r'a}g6ҥ٦t UoP;oh]w_ Z@L Ķ ~mް;>bgdDZI ~i?a ぴ"5b: @9:V4֝۞Y5䔳! dtb:wݏʃa&)@ԧ֢iOOS&,:mz b : 8k׮k_j`G+9<~^Zȵ9kLPT-}aZ1݌j(dV4|l_GWVI "S89zē7;Cڗz)ܰzQ$울-!w lRgMAݬ4r4vXF:Tfetʔd1{q0þt'GSu5ɤKM]=y<^I^Dd/cCzt%$ ^k7_k/U !u"h P)z`Z\ f|R R;Aos/mkT}=^;g1cqDNf 1]Z^ňj1!ilR  &Ÿ2g9#!Ƀ+K,diaHA2p 1\9f45d q1x|X;Z ڕ0xĦAUp"k&(.!4)Ac%IEZwх ~*ÝuLZV‡Ė<ݼTZg[Vڽ5%ffOZ5e< ĨW%8%gĘt `!Dl، hpYP8\5g,7.vOщR2dНD4,[)R74Z^DD0z31F{C;_Yo9jhW-=wQ?-ѡLrӺLuD;U} +;3[66gf,S.X!R:_mg詊0ıRQUVibM@̮VF)Unq6k첯V03g b" ,,ʢ]YoSgHI:iZ<c ȍSd!t^)V%n,e;xT\NRb*E*~L^ COLt*57ʞE. 5j PguT?9TGYN;Ӛ'ur*Ip)2ŘQ6xMwR~vnxIFɂ໚@ "c!x@mM7uVty"*-.($[t)Eۢފn#qeŠmv!d|/6W%V'aZwQ]!0Y5UX5G蕋J4z*^a}M)mG1}s8W15Z\E7L{[` 3$ݳ`T7U`%NJtnkcZ@֍~'ڏJZE46PF^kLe7s6x Ūvn-CPūN-`/ncfdx\`ݔŒ>o2֬{Nj VX>mjR]Uw$uI) PҶrM7_`qH.6vaY<9l&m) zkRmg!$ӤT1,?y4oXHC{`n)K⢙S#0e'Űuֶz4o2Y`G"5QA̘|.@$ `Y TK2A9ᯅBNݤ$[8DRo , C|r*Î D<3 =Dy)kLD )c;3gū謡ڰ+]b=ȶ jٔ-X'tgX̩yqj˪p7'.)&I,%.9t.convqhzzzTz3),(xI+FDDAq2w0.v@rc)0 SyTFp2qDx3٘S'$0?`Q:/׽D Pw }izy1qtliWkJD]Z:.q|2.9g:d*vp@s=ټ"=LSšX(\ekE 0M*^L4p\Z;t<A=?O,BCD]֨F úY 7`T2,cg*WU9 KA3j6Nr"M,F#1D/}؄qډNT[f% 5)dX'_>9g! tˬXB`N]J~Ia.vԆ-=m>L>Йcwr}ݶ&q9эBo F6h*9:ʭ5 1 o,`0ޖx:9 4!pz&;y'U*/5dw`ůTT+PiciT牎M> ե!g3>rF Kbh4^Lz{yzq0y,& R]"Lj"5zAʃOHu+Qko9]qb, Jr(Чݠzs nlQq9i1B]YܘdIJVi~? K~ 0뭕9Ѳk60o?ߒXUdKθRh.U)`Q#zÕhJecWA(IZKba&daP(Bݝ0<4J4r7x_IXTܓ Vv^ܐ1i7pvP&% ލ:[$ ѕfU-wa,2E(< iH׽DcS#1-&R* lx]|UDC?$&,F2J8$" I6ZI7$gfzLLjHN`Ϡ9$!=WlE^"ILpC4sY/=1ߙlaF?}wW1Wi7fAOdaE\+7scv`Jp}mN.<|W-$Mr]}}M, ÜA 惯2c%X<NvXRJ~5u|Ryߣ_?\19;A_8Yav⟻YᏀa1CPuB[Cu؍a'? z{gy A +{evU^/Z@Sp7g'StL`Ѽى׀=@en@d,`<&kJO00f*%Ң-Pk0D ϗk0ىxN5ll!g'Sg-6K[8:I}޷aҁ a:M)|o[ QiÀ. @7_+[rawm79ja+ϻk@DzQ Zyr,&/&8|DTRrI!L]yߌΨ"P$aUe%>e)EV׵Ӄ._x$Lg.b -t?ߚx_XD ( T+p+5.&#Q©&~ jVr"O5/B1V@*>W$uC`! uP*Hf'nsY^0S_SU Їbna+i3u_ C6"N/K^n" k`2PMB1 nPts}eYד~62 z䢄\x͞%E60HAH 2GG(H9=T$DjZxCtu$Ê'u4> @ÿ 5_hv١k[yWaQ7jヒ6z O>V[M` iL zbeL6 x_歎-m+٤myvGdLa|s#*ʯk+C.qT?oɿ mue Y2C< KݏM[rGg[SS)|%m h \̴Q7N@1Ež ",$ZkgZ#[$Ys3f^g)YIA@IJPcKE- %Gf7lu3[y{(E*Rj<ߔ&ׄA`w% Mt q! tZVǛp@[/T6{yY^ͤYq__IqfJ p.Y;y_ފ>9fsIypg!}ez\Cc*&txjҏr֯𲑃/*߸q; c4dYc!d{Ĩ&HWr AUȳ !JT0vP^Pw5NY]3Xy1A@ ?SƈV5EUj,i8{hb kӨu@:il6tu, -ipP+/noq 1u_pHN+|M^bAe.ZT%Dzx9ǘq|-JrJ{>+NE;Oh_~W6k҅XYao_lZOF;G¿%:j&*{ɴ݋$oj,0eKe N,B|sێHAƆٚ[ư(N,AnVC©[u =R] `y~T>_Xm5_YiHxN:+1H+ 퐧R:jjM,dU/FZX3es}F8^s#N_oL?_k 6= VDVMUܨnוk-Q򻣌E@-d=17ЃN$y(*.e3Ԅ﮿Ʈf,,?b HyfaC\ ޤ@v?ԥ4KdAӯ2~m4FSxttQ_sܰ`PVq˷J ($ak3VYx[{Y8& Dz9NDB^[OpJڿ<^9˧F?9_S!u 6rkxQ ]c;܌֌Q^&G]x3WnW`zgNt<p&{M+huoƋ4GCay{x kRWāː'FX( eJS(ϕjr+0'?r_A;/~v*㞩>XWM^{U 9LI%ӬV, ͭ[>zn} 1={VF4HX&"l@UqXYV5y%;"&@`3 Pa. A"G;D%-={H7HtNXy&ey%-uZwn.a&Z]0:1 yUTJ£ʌ,Itbg6ysV' zז~>\[W}7܃)59tJn5$ĄC@QJZj,GeA4ĺ<qh Ro~D4˰5_NB3+: J`3-E<<^Pđ-9@AZD&*u+FnPSnʈWH(BN [ꑀC@otdto SXa*+fRZl{SxbBVWY5M;ynbX7T6)#ޢAIl~80X1^]qBgp[S4ZWS-#E[]S%{$ȩ߽ 1ԿPѳA˽-U=9&oTF'yA`|J™M mw޼#(L9Ķ |eDZaKCwةӑ꛼*&b[ǰ;UUQĩޚY] C[e(;@)8 if{djN2"8j]4x`PI7peP~ ՘WT.$cX>Ji]aL*ʦZlYv#A"pMRH h @ m i\˩ąV=9`8|/5߇TG, ]Pv9E[~eh(QeDԛ,/P=Wz!~@@ޘ|G2& !v̻!Kڱ䎈:ähB8" | :2Rv#7\v%H _X]P*azj^~r½9V||a)^ƞ|\J:M j%a3*?LW? m#0"$) gH% oZ54'8V{'"%'rƃ Yր9Vda( SqGU|2!6޿4'WUta:`tĨYcNG;ڻ]V~ ~si\ߞc 3DpPR)p&z$&n2Za$2ٲzu4'q7QnPA󕚴Zـ^3Ҹ\I-c]^@>FopűeK&^5&Ij3:7^ @|UȊΠH691ƃ}dX mDDqq 8lI{ 즅xf2;pQ' R?2&Eumh4@S:$hCax-X(JaGB+KS] PPwƲ4E4-O\}9֨mb%H2{k+}?\Eߍ:Ųt2_ e1I?hd΀Nsm.c%)do)[!rZ t6/"g(uAfe=fC"m. 3w7< YwmO5 PG?>ڋ 0|"s?af1$LGpVHPQT CQ.Ar籂±b="Bd& "f<'p9$,9Fz\zQX~I4{@[9sݦiI Y;{,  lsnS4&z̥5Hʤ܀d=ذjxm$4½SA֜<3TB(rR]κ1f4ȪU|yӋk|)L+~YǬiGE u:r#zݡBG}s#D#C/ғ&u=]DM"LÜVM=Idl1ׁ #Be6HJU>9q#[3ݙv:MKxհfE voɉ˺4 !ڔXB\h>Y@!J5<[#M'E,\9"~!0t{zWWA4 Xu⚫ݰaNLH!RâOŜ2! T$~kdC>~7NDqA*beTį$:c* c$"ɏ$ȢFU|O6:0]I8+thdB/U'ثAJNjT#UA^(J9]- /p`:WL$^8Ip$A—cT4! z~2 = }t : 0f՜pO2 >Xqh_6T+Q,+qEhVx,#.gV-c)6ַпB`:2eG8(7Lޑe %B%1HR0 2 K hk8&yqP ;aHa׉v>0Fw#kqp SEj)C.ް:Bs,@Ѹ\1v%<2S\lPRJc-UѦˆ|c8,XAe& sQYӟGby %oJ ޠv/"\fM2<5e0'ߌl}Y]c3䮄/8q'N2S$ZЯ!'"š*I%("íJy.6Υ$Ycp ײXH*a㽊sZ)Qbx:K^4I! ?j<:ۮf4&5ћn&y ~uRV#)afe&߭aJ|с8i&|ƩSj6m7ND|ih. }@>Yf/wpɍSG|NnGh0j㌺#0]X%NmI'78`cyl#|0Z'GйUur'I⾞xom>G8#_qQŇl9mOCNZSK5j7Fo]|vh [@ _{uh--巄hg56\|M}Xnli+q:-\TЏo>F L5z$V Wo 7g4͹Ox,@N]bssGvsc|X]B l:x*+uLD=q0HtY⍡šBʭ8|,+_k|<p'OQ)Mw.52ةJp8GKl[71jc:ԷZFiHAbV8ܗ:8& f0pFR"0`ԉhtAhVrXn;ܫIЛDCtW=h3!1pc ??ES{RU:Ő^z,Cq/4X`*#'/tAіgSaX`aEHvs<* }"/Իp}-df'pb0JF{z%OM)偩8}L~;h3|_9+h')ljA۔բMZjp$A |9B0l)Wb:'t> O>zɟ^׌S Hp)EE6n/X;/AuF:F)-~?+IeE/~bTɏ!R}>gOѦiey[cNa30OALuzX8 lt}=(|fvf'I8ņlqvE^HleJC`T38?20("8ǫq!Ei;H< N%eHKzʘAK8Rp&UH;EȈǪXp 5䒍Sz~ň^]\vU&2܋"5_+X8gi.>6V%k2G0 q0Ne1ӓ$Y0-9396J'6)eYn(m>/]__82SU;FfIT?6wvb>阒:9H5{~U)O3 7؊xo9<҃ ƭrIOǀDn$rAȢ27c*9#aXa\M8 6-A}mB* EIkywi4dzjvAu 7}{ 䌑h Mms>wYD zqX H Ճ=. +텗[#Te&@ќYzqEOp{_ D&ɯP!cg\.D xp I\PG[3&dnnn?q|MtjKGG!XeFH-F/7v:+G)쾩5ꊼXC8ءR!YdKt"+Ίߝjkp!UG*A="}dUѭ$ocjYtd'H6bORkljʜȧ)QmvJMe[1B KePyo֍_ұՊq{H/HPNOzf>Gvc,pIQ4P"]4"ȆNv3G̤F"[vJJњTf4t aHO#"VAbWV1}Wbyv+k#]'MyB̈́M۩ 3< iښSξ+ 7Fy0)V`n$ ᠠ_eO`3pNhKAuID cLdq-r<Χ@e/3ϣjoblHט2騍f* OS;#XMa@q\۷.>r0|2SØa3+$`4̓VeDȧu " U Z]ͭ !㘦]]in 5jE JӶ!}r& *R d9 šR;5l-M޵6yTyIzd&'% Ie96SJSUgג6P$IzU4hG'ț7=s9(4F֭Uǩ{o{9N-%dFDVkB#e1ONM_[#,aYtF6{HƓ?E)4s$2zn+= :V'&ÊlN>s:c{f$&Ƕ҉`&yZ,LpGg&@Q" NUIƗZBw66,H hwӊ+oK8 d:瓾+hHVǚ*̈Oλ"o<)h5Bچp^xD^ :Tzuo5[ƃ*27v:Dj6 @<9)*"ǯu+oᅧ܋I#0ѴOnpCSyWCꌸ;(k-y7hU/Q_8L iJzLKaH px%t#xm VԬ ]}޶|W[]b# +ǖh!"^ڈ^cC~z\{:PFdma9 H&jSw1puV TX_=8hcQn5kIt!4/;&DLk]! (92QΜ|Z h:B{HəS!7M c+io".`S c^]4Nfz&65=Sn{W$5zXk5Y|UdnIћ3 ٨O/["qsl8 MOOGebIBĩ8: ^Q9hʂYW 2:΋1(@iRG<-}U(lO k6~y#jȉ4@fBG0qZoR$?(YѢŚT7Qfv 0?mBjNj0IfGn pǙr6#=DI%_o#/ס.m6'pBOtFUGI[7 :*zv¡wbv\? x Nf ~[q_jS;nr!88|=MNxF:>EaO9nxH/lx30 aFm34r24.0r~Ӵ܆Z͖̞V$fŧXyp\y^h)FidgMlJ]M;Z ZSTAռAԭ[ɅѶi#u@tsE7S2US1aGjzG{b+2vL:48ߜq,H`Zr|YнUnrq6&!Z˰{%%\wm̬vAq aoޏ& Njc7{_?r\Ziy^]9+6D!n wuunazYhtkG_m;мeɢ>O };[_GYI  \Zx}&haVr8u%4Լ3ew=@}S$EٔvrX Jc_X=s(=cMPdݪFGūFiAFH |ErxX8A+^Dr5솛=2i"Lv3 ]-%ǎ t9N8A .U fȲ ):['6P з <%^+ XG9‡T̮<+`70 / E1KU)1n(m!-;Ќp ЕN딞񽣺7r9"p&p:U\obL}C:LFA!݀ t3WNI|X"%UVV^ߡ>[zվǛ|@ V`}g'y7ſNrmIp 8>'>$H@davƉuEμڣLG}Ň= *Tw-V\︴ {I;?c@YJ;O_;o o~xm=!Ϡ=w;nm~_?5{7׬% 2S]ى}AY\p^J J:|VdAN,m`Xۇ{J$~u؟k2D U[-lVYvy͐[Ә1zY'-Pp̔|'ia0\3ىzf9 !^OڶUһ&KZ%i7Y{ ;3^/f]m^1.nV'3jz|,oaŨ=zmMFՙ?U{~~Q7?WGtˡy Od-t;)WWy;%~>%>eG|d.AEٮywڇY {Oͺzj^ji7S45RTD|ei/Mq/R⿛0r)VBۨ7,JNlQOlO=shZ΋d9D;M`OZr [rTII<M,ϾYuv3(4 'D$trK, <8խO,&o̅'_oG#}:fvvbf<5Se DPްt/NbX&*軝L)h(/-[5SHLLK]je؀V23h:L"OpqKi)VSpSńte#)KTatJȒV{6܇Au_*8ab$cYo@H>9ZdӧԪP k#`F1-g.S =MR_BxklQ̗IN{Jb%zy~yApCP3zQ Mn?~5jx2 lA*4 P̎j5? [8bPىehPDoz(,v MMvvMKgdb`1j Kel“ e7K]/Iw$VMT7 @[Ze1f [#f'ZӪ;~j~:bv6q]Slsbc19] ^oGЙKtPx۝_c[9ysHH}^!poh^UT^6&XavYY\ ?dsG&Rݬ߳ojruCBLsg j2ĩ v=v%[:Hʅw d5 8I14~C}aG 69wM3P3 c( jQfHY5rGj+.UZ}xD0tlYO1r AN JE!) D z+}wGρL[S |Z1UnP\[0306},<[7nު@8s)D*nNܾ^hSoi m/0{ PC,wy$|`˻R8a6l8pO!2/,˱PE5`\T&XhWJ K$/\F0#"UhI]\al6TdA kwfb .rg@1$ϻB>;C[cmUVOK"YZӃuD#~"OJ@)9yR&DRv4̪mg {I'+A|&oK\bƥuk$0L%-"I[{@SB( }N#߲)!9wLr` g"/zFRO8 yB`hI96iRIe&hʐپMȒ "-yTDTkkmwoUbPY/ffByZk5B&Ҟs%47q$M]/B3\N|6~U1$7L=@D9 ][*s.2@;AIpcrQCɩ6̞VTVCo#D:d=FPR/MpoۢH!<K5] YϵdqTuP_.jK.ekٹ ItCA;TF#s?os-ɤbv :Z֥B ֕CZU̾$fNR s% Jb(EeC;זái4ט"\eIx`h7a\ucIXs 6'TTSAE!*"֙na86^ nn#1W&&G{;gkn.Ra@b'cM.@f:ʸeaծ9D s V-ij!y )z^ӄ]VNJ#T$N߃f Z+DciU!Gk{Rqj^ńNrºVZң%LCéVe֤QV Euى>(.>5 1ҨJT#r3"8թf'Ïё38ߔt %C? =]e#A)7 za>6ESdOn2gkP&EyebVށޫ-5VPSIPUw.MQn4t0ƺ)DcR JijШ HӠ-v}yS,zWG\eξ rrhqGOg7/%Upʊ ;bVUq~ں*w >^;k)g@5i]f|DUfVL]pd9A砟uug t;x9uڭt$-BYGl+vݵLfoQGHȬ݀*> wN#٩a!p廓s?DlӀQ6 &&v;,tHd} rRg'p|X:&w+@U?L3 [wLNa$t>P+;`]NMh)/F W'bLA_Kƃ|^IЍe&YuvXGtI%6cQʃtR G ;Mgƒ15U`7\anlU[igm*JO,y1e6v?nn:1䆌=uc0GKc8v1g#(2XS=u%2SIGf!c~5ep; TpEiygq38w*CL8Pu{`M@$koOԡ)2N]eZqv]I D;]`~f'YJz hY6I/p9L3U_UJm&O\xB$&g`3HgL*3B5q,M6.p{vMi ?o(d'ɖ dPy0Zُ r'trpk/=PH[  ;x'A' Y,gcNĕfkqt9^8,/!a0Vߍ~[qp;+G;Vt5^N۸rM@eD_0"N'#ףL311cNeMW ;uv/s,jR?yy܊Ղ"^95|~ ukz ~f8PK2<%_x nqZ6wCmx;p|Z%եsM_-L̀|q2ߠ"CC‘_R LXܧU4ghwV}wD6ut|v Q#w/i.{/6^+z   s e+JɊOIࣵ1c\#+y">ul'Pe +^~ߚcY6+h8kUe[MQv?ev[YGR[eEv(]aYLx 5eIGEdښc`{(ˋ83j/6.lם+^neOǀF{'ܞAb SHQtAeϼ 8)ZUyravJVv$])-7hEj9L+WɃ9|\jh7֭r():k}e=K$[La2b[#v[U&dHS&UUO'k5L4bLnL1c&1hډE-ZD m˴7in)( 8Y\RXnLuAݍA%^H泮`FR1w'K,[ɦUS49}R[qJ $yD҅SY|^Ά[#&5*%~NkԨ$VL[xCB#.#\Na'D"3{Rk$/]_[)G$I{xkԠ ׏b.0 1&BKaJJNĸ&xޜ+c+a T @8/ܱu#3dm'b?#SEkϒdVhrZȾլc0ȚB3WOV!Ur !@5l|!Zj>96jK$B\!$ˀ sKrq d =VB+w P 6vS8h^_Ic#sB*fU$AޒԙɊr8]6r8!x)~} c1ts0r47ʹrl9@Q 1OZ*%9ZD,k9V~]0YG/Jyx&YVE+NxaLzA8@" =q+6˚MrVKQ*VFY:?_~g4OT:EMB.e8*ڹ!H}kĀ I̺R j>m^7+-`c6P| LtМx&(Zocx=G{Rc@)P(PQ Y' A9QX\.6p'b.3!~1=f|w*3]!wnZT u؉M 'J;?PQ: ca7 {Q}uE9l= M>ՇU˰qP,LN ӮK&H*e01P ١.:[ H5乐Mk&cڍ d v4]찶h gǺkDزNY&+w+y7e*a'aX2l|K]Ƙob !;U5M%˶1 b~Mߡj+CpwسT MZ#9, 6/|/O,9Bg-\.'+p ̣{ZhIo,eٶk}w7s4aV0|0 ޕm)2Q$]Tb9%YRPp,,eX]dzZIU݇@/ N SL/$]Ib^To:dXM+j!| )W ~ ޏQKaqF޳aĴ:"hYU=cFeAt n@4%%H`ry!»(ct)Q!W8QH:̛C"ÄӇ84 \ع(Ժ }s0}̺m筱@: i} :鱝n~ذc;H*`xEXHu+55F+haB*'Rfaæ#I?}<`],.w]LA Ip0+1c,8NCy$]ݛ^̺S /<oip*ݔq8;@X҂A4or!,-'{|HZf<3rs+O<&jz4- 5v:j4'0DZbJne34Q18}J 1fC#BYK.:\L>+b {mAI)s%#9ɪg ld3vFtvfCa?8KFpz`OۀX(`B'AUn)f3 5Rfc=ѳ@5zo爺Ռ{1e D2w ^ΌFC-4pokwIL YRNԼ7%u]= VX:Ai~5N{ɅWCKڵʀWQ(N>=ܷJ5b@;qI xKQp7AzYfl ._WgSԪM/&ڱF ClxEw^ k8!Ց5΄TUXʮdW["lxŰ_\m}$s-'sB>ͱb">Z\'b A 7(3/:K@h9-qZ|f(a[(+r A.Y)Q؄,tx6v]]hO1t\bթc#lT0k/|IcpZ|;fNuG GۛMq̻|u ~:OC 4a'`I^$_ՠUbՋh?X$EGɺm I;yHaPr6;˿lטP?``E0!'O0m83Zv8홭 9]ϻ[P UL;E&qyT\d+.lnF[_Hp([c|k3bƐT1c\H sYTDy!{f~ ZGNz-!潥[eLTMeFq ZB5u .Au{h6?V 2^dM,!dH NBH;Y _LfMFRCjQVNmMDՄS{6I$D$#g>iӑmȾd!7PZqy)$w ! R,J &w&9_Ū vQ'cKE?RTNF >x\?l.*-]> BSL#Ǎ$)o .Nm6`fqM¡A tG$Qy&db & @a aƅאqeuy/Zlq" cYMʴJ_QI(:%nlRGX$z>2a୦<茶 ]`-3WTM5!L xO aއо|ќg?1Ulؼn"dG'fԨr5- -_4{I v SЈ%)[Nd|}ȗ z'y19G^L(,>kX=AWJޜ=HkJهjpTF~,  2_2[Ͷlw=1>"lDO[X?rӌ+z2ӃrhĿX"7d y"C1 e~!ZkNte84\GD}"AK7=T0Шs /j'{kUy+΢ep_bVonA 7u_SX.v@JDs5IMn"lI- v}Թ;XFTI/]4+0X*_:e( +mmT~'iMEVkr|4CsBa40LDS4YmTOTͥe5s^a uGٓw=k]­C,iͽtZvoCǵVi'fћ\Ի [zR9 lcϋ9q& }tq3Tx˄enHi䩐96i{)b66Oh_+-|_ZfcLuɻq Xy:67 θK*V5ѻiy_;7;-ڝ ۘ vMYx3gч[UA(*4 iG jB-C3B`P{ߧnL42R饬=j&$:.Zq/o ĒA~:HCQdXLk暝GF:XCa$=Mxb@ĆpۙuǮ1ic4whݮ]CFHIGL}H<(d<{5|ͯTR59SکO[XC*buQLzRԅWKJv-6GH`uYc8p}8 waȤ;k@|u!rJӟ9ny9A{$`@y'_}u?%'dkAωi@cgxA=1g e]Ce=-?!P+N-uhgf2 WNicwU?QVج,Z {s>dҐQne5&ʠu 5[ҏe ]p)2(SmϋxPy}/A[z*2Lq.[Ϧ:JPk-G|M=5Sk)n`H) %uq55ӯ)n:b[C9/"gPxU(5 cIJAr' ]L-|/2h Μs&ӭ)lQ ?3mBD#@N^Rd٘C谅6ۃ2(44=Ewq>ApV!`e6 G,`=5h\_޴;EN4PyRŁ@S2Q001 p560S-6 f]nics>t\E0pX1ׁ&4hr@VHv`Ҟa-ܚ .1F$Sa_z|`bI] V8k@њ/M.`t&ajӯa/mlT0"'[`㈩R!_[[uՌ"kta,q+nkw]3"~#Zac[Gns=qRZhEqeHyOlnK:2ebMX&b:NG+"cPEx,H^>|FG N7-}+`l=U :)V0Sݾ.w~9Wlk_b+5%LB@s|Z7!>Y5 {C A I8Mg'c :\/O>| O泮 ikp YkF[B5k+`߻ծl=E%EDD6qHra#-9 [ ޢ.uMupq``캾"Mꃳ$N\v (']Cuj\ Y#/JLhpTYtw;A2 5 ZމD_I5># f= >Zܳd}dLOuP6KX%-U6{i-P;ג' '}$ ܎$aR>r*^ ?EU{T@!7кɚZ7M%)r$ˍ> ;@U>xg$c\mBn4mKC<2i֞av%pv@6ia!@]2Dr"}֦3"KC4ߙLbApRW!馠UW y?d8Ss(5D"Z,rEP8u,Mj,k+в &b `$x$Ol!/z.dPlD!UKڋᨪdܖu\*Ǎv:VU;/.Ϧ hh~l.]ו=d&C+'n Y9v\WI<5p&>1 33"+XՒ$ټw:iGk%ЮNB-F!#)NTDፊK 3jEcxkC/h ܊ŭQp=-ƭ g$t}pYRV܋(000cjcVm[yucV}XrGdk15'+?i{p̯t YJTįba 6cN];qĥc Ig I(P(mO?]O6l՚^ =Iun>|:H'eGLMKm% lUAp@ p!QcBI)!U -5:od͡dQ͆ꍴco<4%nD(qL Yp|)],&Biu٪Fyܓmi`3{|3!~dHUTq6b9p&[# aZuvf0?GjyA`a3$"#Pմ}| QªҢ g2dQT4#JEFD -x$S>{:TI?a.[v] JW?c`Z+-_\˛{VQpLS].@P;C3PW' ue]Y23w v}LwÍ <[h{ZѠ|c=X $+"'Z>x8<5iy 8qTu,/PcUw3h.. LsxLm`/>>dY0-[)ߦ.><bw\x@1\6f^+'i=t !}OPJ2I`2+?ߜ);N=uQ2 ?QTGtp6E$xכh)~"bpQ}/`A{ >3ePE~NJcx,"M52gXhw8YDpkFw^R N`v06iGs;sYhpDAL:eB;g,1_])l'D4:4>YE88;@";!E̺3$?N,^$ 'h}:ǰIG<A+Ol$#"RU㉩/o:UMȍ΍;;g p 'fsdo?`ɩG7-]kE ZVpvjT"V2lj(".H D ('t'kd *QHet ytT I[qOFP Pqy"8k^aۗ +9>z!$klm=뷐)!N>1QϠ[wNﴰh[ѽ#fulH2IV9!~H$[eƊiJZ *6MഔBZu+aO31?T &* '_90ia`HD861ʁc4$Ɍm&30'a5Ԙ6cUڬ٫&& fՌq3Qr,6^&C^ &ӸQKC$* n^#1&}Sd2v/`qGT}:lGEQj'·*3gB$Tz]^mƱ t݃Rh߂Ӄч`<@Pغ qqo__?4gN 8[7^~)Tcd(1SvVDZ)='`s}MJ=P苏=1CKZ$GgGżS3<^^t' &Q #ƖV1{&,Y Lj-;$=' _4wlSb֠97q)F)O1<šE^Z 1fj^Vh2coKUDjX,vm">$F0/}9 LǢ|Z!v(Te &hx2<GY;%8cPSSb2 ?o$za3uXS9z91lް&n *Q&"F'$2W'2W<ҋ=Q#;jmX䏸xW؏II)m0J&SKB'A"Yg&Z";q(I[8AK'mtl j,W/ VݩA`FwLbW}= л<ҰXye='8+seC5nѡ%8uhc1H)&Al.(;Zת@M#34U9d3K0GZwo/H(jTіmj/pCģUF՚Q7@ԼM?~4-|-IAdDdmI:wO{e=[MawuëjMz_%Y _p^ W%u:JAl< ,XH%>FBu1z#>09>Pa#IJޕU;sƣsIkAE "5)z|3N 8wL}N,G2VΠN!#vEҥ0_xɎMǛ|n j 0v [1 ] LIBoMv}.~8 4ZT]k-d*~ڜv$V$s}Lm GrҰAoMlGƂdgưxѫQedde•%$s[`BuX)eiܔ_N4XC[iΘK:NA!R6꺊Uqdmaq~50Ї@b vxMҫ6۠}v@iD7ɁIՒ_zsF]̫gogz1#zE=UEl Ahi>jޙ'MZNþ0Z9؅P+:tȝM'#S79xG)O1<15'&L*z- &a^H:pij.B4Kgd2lVnpkd@E95P~b2HV\;O,NyRS8*x}<\0FsҒ-p}BSDZDekEQsgIΣMqf#BoqqTOQAj%RTqЉ&j Z" *l |˲6C{ߴ*Y,W.r rSKh6~S{Ȕw!t s8D jx{oqp3~B],DC05zVȳ竚GML{QLj9Bu]7>S{ҟyg/?sC-t7G?}OO_g|/jG/_^?C5`,Ϟ7?9K?|g?=W|/̥??_yy'ѷpo?}B^}㇎~Qt55.[ .z|gŸxO^~?3玖-?{OQ?XwUrKy>n>?rՏ3t7'.?{z^:Y ৯_]~'}_YWG>yKξpuy>a v?<`&_gݹKzU/n mWG+sO_{ȅhT~E^ha/?"Un%o`h3գ *F.SM/ٱsp?>6~g?ۗr k' &Q1̯pL:xt$G}k|gK/48PCVƐW;'>})d2Tv./ HGty:@. ˏ?pk+q3H==bն5Y?~K?x"8w*FMlЫ$hD|*V3/}?t_^:O^zg"{E#Vup9U 9VU)SA?]?PeN9|j2-2 X{PTk1YfzT]ֺ /r_xt\zң?~u0ӧ߼YF"O `n -ﳷpTfchw^J^xO;|1vO>N8|&;bG)(ҋgQjb27gpT#k*g;v̕$KǽZa}O %jJwM˗-¢zĿӟK2SU#xϜWP-[/Up??9cgDs\ C7k>9b@#xЀ]:'DQx/zz vAd.짯E1Y?LA|ǘ[Dz_?9(Upga{Ofg7-j2*[y$_O/j h|D t?{"PNޭ[I_DXnT+M{r/tY݆1W@{WvH^#]qokN'q@rCޔ?TM(9_/?y? UpDo >~!>əDHK{Y ȃ2V,Yf1E1X:aȠx>NS P럪62Z? 2x. 6;Ib ?@G11?ygtOVuߋD&4'EJDA u"-f * e^Y鯳6tjOӞ9yI*l0Ot6G\~O{~k/EhoX5r◶#E3Xoi L_~&8QUeC_Pp,;@T>{?As_8tE44#'|!6y$X4/@$ۿOWo~ܓ>S :4R`$WϠՎ:~D1WXhY 쩺h1!MqZYV/9„;z  %͗D(>%~bDA(Ǟ1P5?,NL >""5g|^c~~8-ӗ~{A~E6z<06=HckvDfR˥u4{.?sg}'w3{ t8r{v/=ȧ'#o}Pp/A= 53Nù[k~+ֲس:)6  =)U +7^]i !O(y'?ctGq,t`ZZK_~?v~gHź[VdK˥\آ#޺;j~M݋z^Oχ-]>΋[߬ u w;}5y8,}o8R4=X+@6J w>L]%Mj,7>|x{@q` JpQ,v 2tby8)қZ>T  8@gP[߄o= ahUT"}sNw<0|uO@+u߀Ղ^Ml@@'ٜoViQ2Եf nJWR S- NRVcRpvt=g> |qؙT}Pݷs MQ~( nwpaAE+`W|~ty۞{]ݱ;(}~=;So:-vt(z"n4C}0Q}TW|3%ZznV٢{J7fuSjOoazJ]]@g "ޔ:0;vlR2-ݩԶko߾um7*uptW,f=d+ 0~ѫZ}$7_Am-RMjnҲ.[Կn[a`,s?y5w lqRjXڢ8ZݱovР3-J贘DC`;RCZJ F;0kYÙ"["1N,`e$iXX.&+@[-[u&EC" Vޟ_Ksݤ\XCCšпk[zC;CW֡84yhˡ;硫M͇Ù)}럛1CjM7-x""`)|ni)j(>MN9!:U`v[zgZN_Nzm#V@)=*/kzN$ FKu[1wSwe3жA Xg.m<48/|W'xirVЪ: 8E)4pm]Xqҋ 7y;pQt1vʹUn ll`[b/7'V\)oYq}y.De d%zgiѼlXK-HwHAy_~jKpdj+A,̌;< țR:ك.: f rzNGFbE/tZ$6mΖ΀1+Adht(Kz+ (>҄ bځ{_oK;Ԥ1)ŮD4`#,q-Ȉwo)ER$j^/kYoc* im8-o>ȼcrB^:1Ÿ->f{"ν`vefF^; 7K0]JqX#5cs͍0_ҡS m:ԓ2ͲGP/X8?jP5-&Jܩ?JPpX|\U/=v?v?9q{VYu8/H*_&Ϥg-b{_0x6aUL<6sP`}ԥ'QCqNwO{na*)9^M앓t h- jlvmũ;7WhqY#.\o[շpZ YO^6&\m@J(vՐJkUUab?}`0ۦ# 6$ $ssvyNsam7ax\\lG:a@c1BKIMSØt*jtkL5<*0 X=-h0voH&I9=Y9Bo/[ & AԈ·F2(#j۔gBؕAgvا̤%SlJ{_5q8&P e0/E աl [g:,_\ 4Y@A}uymN[B'Ks^[@fޔEuA9iȉw%>oFbNjq6S@E:<1uoG{)(Up2(ȢtYiXQԦ)mF[=fA$xΕC=~5i Y|x aMYhB$n&ȑS=4pL}3K@^g 3aD u.]7cin4awWk"ۦn޳C "yDq(Wc}w30X 0b~u8 {0 g@V1?֓dH OD/"ZTVթ ?"*!;/8pdTZ&?rikBaXPӠJM B>UOMLL[Ƽ,]ڕoj ^CAl36SLT }hZ \*(`LãbRPHˡYD ;/Zӳ~5'9JNQgPݙuxqztuﴅꑻe$9ĸA;D1h߬aR`+ YhU W7U4i;7y{gvN4TEO#*bbϳpc4N#S|gj,U'DW4q_8׎I0̒EQVdž('u! OF jN: WN^L]= )Nn|)j6V\ſ_5u8Xʓ)]Isɿ@jz*l5i(l$H#hs0~=:]: {$-4ừ~?S8UHcp׸0 ydvM6,zB/qک)hI{Gy+k nq삿aLbG  51pWV 4jI㌵ 3q lǢuh_`Тd Sӹޭr_5ej@ԡX.hk=)$4c=cܽ{=wwG+ʌ24ۏ=bWQ%`ˎ'V\P(UkW)iV g.6;ѱޟqk׌rp5{+@zSeW4O1b@x-?4\~ ̬$ ?]+E5=4_br>[;`bg{f4~Tx] O };ޒlJ !Z'mn.k~UݾlkZf lkMw"LiLXfls}qV퀏nBեM4'hZzu $@wIVS&:A Pd_B2v$l9క3tkߡGRzKlYu Wζϧ5dmeYkEЧyIE$r^X&Smd eZn#MUMS;|SXat/t!t8*4p ɕ&*TlU<T7.8+)V嚮ZXkI+EEQɫWN$ aco2`4Dત_frsϭBwɰտ{lF+Oꞷ[؝KoUŸ8TS4Œ[M.ƔpEcbi⦐f U۷]{͑>/Ч>Q4ocddEg Э 'j1c|hnKlT':Oҍ ≱3}F"sgMn4l„J( ~7GإG T=BQ-!r mE::<ޕlXn+m)8@ Wk#]tY ZA.xVp^U{Ib+qX}y/nn…=r=[Sh¨3=)T&ҍ}A!:L1f+ (1:ZJRJ)/<}R@Q3‰aYq.՘o|)]Z6g@4sjb7Ȯ)Us՗r1jdi b4CnN:e<^Dy5Ũ)&Hku*݉&yԵ_/ RY$1y 9{6/ %f&cñk@ZE:D*6t|Xϸ8wFlt(j9qLI ڻjTЉ{v\J۳54V6vЫr5ohn LgUUU:~NÛqW#0YqBՌy뚗#=U.3f7ci2;@F՗K]_Iʼ⧯}]_o]u fg\s&?cWIɆi?ԑ&a 7p߀yFw3I7ĪgvT;('s%Gik}ni#:y9MmkѧnV݂3嶰=7j4B5b6l7 jV}/nFmq3@`QA:.D\a{&ܻE?w;`WI}/w0k9@;M2.5_S:hӲ6VMveoČUj 3qH'%x<Cq60CŚ6_"8܃ۃ:%heIAV{Q/ػ7+l#7,dKZp0%m>/˼eS G0l%_5A9Y-lHքc3SIԣ8 tR Ee 7o)- N%vg]o5xpM'x5DaA9Qin 3e.z{n|kT s/^]d2':|5Gllkp% ]aSFlJ}̳*J-u$rAYmiU{>=!B"btDm6 ƁqroHL1Fbo|5U{=Įr@|+k/X7m2:k9Wɚsۢc<`_]Ḙ/mqS #Or3_4Ehc)i',}nS#涸:c  EL;6O ޕ9Fɳ`kܟz2/^PɃ62L2oRS|l!m$߬jX+L4΍љp)FkF۽ץ)_wafWd^:._%׌ <޲ȩGd2D{彭a>+ IњK3ۚ3#mU"N[*Yjtk5{^"˿`_~J#iv7&u܁=0` ӥ uL7uo>3'GPGݵAs{w޻Fkh&wGnS@jjmq&kZndVooz S4V\d$%^9!qÁȈe\PhyL,aY^Q}S5W&4`ƻB\f%{[\gOv}}sLn^Ϭy$w[д=F}OmcTw-T*jdq.+ҬV P2^֯D hC{Mj>sV Q^. %^ܵ}e0zklU8KAǛ[bc;p]o/q1M_:gCޒ ZxT4픙Uq*PE)JLjգ`C*U4r!_5#p~E)7# Aan5yf~|clBos|y b. r 9WYoN?A¡'F9epb(zY /$ Jgft.]gY-E.u5O1ϜtHzSs;(eosb{!{9 *Y酡EHjhlt(U/w}ˮҢXqhEnHa]P [Ic+諼@_yv6y}/KdU."A\ߖAJQ-Z eI$BJ!~Bh3 sF]@k@JT-IvޫkmǾdh`ߔ_iMHGB?&' əI krN- G4XOGj%0M/\4 oY<Ha_ QCq3 d_z7`:@WT0woߺ)5Ku^l ~~Ml|b[kN0244zzVwsQpeSƀʍwB&V){0łh1Rui-fhu9̀ .:[ P:ť0=(2S|ͮWO%_Dt%sMO~u4쏂|dm&#t~#0|juD,8yimFSd J}lcߞ1^o^}/F_dRLh} :8 _|}ZL'^!AmجF5ڌmLe9W)Nc8H^T6U{XYB~ҕQ*hqW{|||sVI%?l"A7%<>_N%Ay[ġ˼A2g޹譯l7 7 o~\ْ*(gޖ`Y[RM6ZHьO?kfuKcfs4[ɺN{ˋXMfthiHAڛ?cu}Z;Hol޼?5^ak9_A*q `=a駽N S$ЋVʉ,)EzjnWTBmgNA&4}2;7)+x-uo&{? ɻ^p߻%M?U:˿wFHkB0p,]4+L %bRtkott#sM{}gwD(3$N0] ưõqӾ[gꄭ4wT]jvYYZ'2z#FON0~!g&?C{8,>X~)QcKp䱋'T'.k7n*2k8ԣt'P=GA^Su= G c8K xE ĵ4^? ;\̙k`myYf5R0,X0j!y;9 9Cy rj){Mԣϔc2qJ Di&O;Q+Y6uFbTe9VqO4 åNZƝ2hafQCp&s54uY~(H6R(H}W\FGYe-V2q@Z 3v븆q ȣ?N#lQ|OeEZ=J7F2$ */].!b^+]k>(+ ‹ 0y{a εqD!~ vMO=MTJmPٱtU"QcDrΧaxa.AOw%Q|5yCǫ?,N7,XTARXb]R+C{k?H o*E^]Oިihii/5qčZD&4+[F%!N Ǡ Naɡ՗I+d|vJC /":O1)fo.L2'\;'x]SNskqӚB)lVH'.bAEIhL -rq`$р&}5$TWCyD1AA\MА.Vt8Z̫F1km( \"y^@ ~4Z0o 2EgonogCIda[U^zOǮ}&@ N/)Ga.6 |4s @0 /ncf;"'"{,@K:b׎fk')=D4t8`Sqwo(x0ܝڱyT_YOΑ YA.^4:1q(>̈@4vDI2[3QgQtфh7y6s>1|ܬZ`bNmg#qva8~ڵ*>l '(kF1'^`ʕ1p+7?Ջ6<ן R ,IӋCgէ>׭nUazs(LZ/n|nub0 |̛]_2Mkigo7,o乢W 7'at~Po޾S7xRF>$Jn㯄ǡ{_|ޘK,$oɊm{Rcj?**(fIpn&nn/7ׯ'x~Ux0 N7o㌼;P}apǍ6nSS7o?7'xVn1F:;rp~\k?JX_ɚ2(ZaW`lnGAL3ѽ_7gGupFu{Yݛ``V2'+U_?gaGy8~'~8:Sw@ؕIZc?a- F۫Ó,B}8)Ș#8ASpb(-$A+ԟcB;ʭL $;^ټuk_F?gKyOˈ _ iOeGM5i@>?=(Pgٸst\?S:T3=F=pH 2JG$ș:wKQ˨%"×ɇ ؈y"!K#[|<0+Q3"$/Q+-mQSCx3w + `&W]/] ^ ; ~$ sy!32;Q-XGpN_R/eEHG֗,8vz(Sr`z^>(\wvGoq!; 矩R p%o?OVzALm ҂0=aԜRxv:=L[귮SY-Qi}S@r  D7PC aZs`X' ."^gˎ ~_DD'{0 St2@m,K9J;ϭbjvKbZG|okU㊔tC {G}r&GAznѷ_0L̲"+CP~voLE-)جM:[T9!.pM).6(v.$qw lg*@VcUkKh>ו_V-WI3oJe={}QJ;,}Ap Ʒ*~[#TL0EߞW˨ʊ߃"+=U.8"zWv~U8Q{M Q}0 +_ډN8 0du*WWDjosf+<Ÿ:(%a–[xr54N/a5DkȆV@ ڋK80kil]}ÝTT )ˀ{ GoЌV_2dZ5gmyIaoV:<"}f]}ht陵3H)J(J+_>״-yЂ2|F&6M øQ~2moSC"]”|}S=]nt?Ѭj;%M=v#O&FQFîz׆o+Tk$@[x|4g[EXĨt']wQK7%R/[e݇@# Zp*uK+T9AgG<@k<"cHݚPOqjM'N?ċhF#<9EkFK.ҩ|Τ ꁴX̑𒪲Ҵm]Gt+$xǡE{]ob.*Ħ"R ug 76`눹WTϟy绁4Aa.c@.yzI|oB˟7ʙzHrSVs-ҬCʍuV "(o֦+pSȨ-&Z# SZ̵ݒi]BJ@1z?N Va EΝ U.'L|gv 4*$cpi7dwĬⵌw,xtPZˍ jy,~ Gwu=}N-z|_d6߸YLyڸ"x)+\x_ʨи;Zf뜱,-*{Z!PĦm,)t0L`l@ j&' $-yDN2G"™u`bc )(:#mS/gޛܴÑ%;l_3MO"Le[ЉIH_'D.llb'Qr>3ҭPj MkpF(qZs>VT4P$ ]3,7M"DtPΑ핍?~8QlanV6kf:f-.0B>[0\lg!Tٝj nIΦX.gO"-i˦Zrh 4D[ 2 weXj\xD#FZ/lүŬ*d_YO|fZlN!0nұZ.d~?<ނGSl \}~0 KWm4K0ZoVR^Gv_BԩY|"E;gbO%x'i h$AyT9_lQx{8 ,Gy E +ey#ũ,vm>9dX`l`HjQ*"dWb5-sdճR9^˄r yA;YDaf[Dx7:NW!qFAl;J@gL !Қxث㪈vRCIh ^S"J,) {.P(ubhUN g1:YFQݱ򴹗8+r]%"b{B.!+bTnWnoD :a62$>ejW>QJ"П`qX"b;ӌm,:gÊ9_ɑA$-Dl&J-v5Rޢb)(QQB餒 5ƻg"uC̋#ohmGy޽/' omB0 E'@TYK h|b2rQLf*1`NJkxR! P-L9i3/}d†,#p5Tc+=qO/[^`q402tEӺ/;yŅ֠o k[E& ?S7CBR8{/v~x@d;vl\GSFSz;> M _ U[m?g;93L=ILA"9x`nӡ'`I^>6~D[wJW?S~u!Ε//H-ou[û /ŲxukcUD^: GdSl[zaxҰ޽Wz؉RqozE⃣!d2YRa>g֑$>@>3Y]ib~'WF&9|]4D .Q\PJwB͓b؄ G&cBsoth8nsS^+ &-5< kYx!TO]{]j䭂_r?3D?wj" +րUy:"6D;gBD^QA+3*ð_lHb1'e[_A >n!js0 ađ |/Y̷ȠB 6Vm7noZ?ObZz7kG~S Q;b7| =V'B\ `jKvQljK].).OWcQ/+L< .ϝ%Ε'yJO.gmuGMJ@3'KPgx#_yfq߼y.Q C8yGt{w8EuG/;Xl-m$2İ(m4urBKs z>m0C$Bx`zW8 Fc%5֛7n/V|w1,] ~\EL-Zgl4-ΦZ1 IvO^_Z"8+M;NIS zZם80 ! djm EDpD1\%iY8n[aI ^89ʈ}ge# (639jEumzVqe&̸6ד*xMg 9unQ ٻh_8߾o\5wO { jGњےY>6^S%p=i=yW'Ogg~㒝]myxe箼>mtho巂'MgZ2O%; w'ӣq3Z""ٖ0dä@{{/EC;-8?Q  Cj:pZBԺ-DSbЩk@K r@K 5tR9%tR:a6 r QhgQ%%`4[Fԏ,-J,#5$v»o3hʥfoׯ( Cu.y_[->ՌG~\OWO&YtI"6_ '"xKJ_׈!i*7Bڞ2mFbJ[Ν+x<>;  R).WuQq{Еps$YM=]RK͍Zn^n~1b g!t,.7[XJj |iU% Urhvij#XR="| .׳@yW\jҥhP+-!Uq tY%K~O@]圜tz4󂉘GAKnfi; z$ 63N1骟JCx51"nyk-A4|ף"LEK#lA!<T"Q o iMg2N/K7/cXyN噲eLYzEzئyo{\V g~J51{˾gh-/eL`jkŘ#Fޤr¢(/oOi֍ڜh.t,hD.嚬jD6ŀƃ:Zj8 (13'|~D[lzI`Q_EY˦u*ý$wS&7k-r|MU-m4Z#t^E$~OoYI卖7ߵM*ں -~>m_L&-fo.[8ebi5": iFG$Y/T]ABOz#ϋfC?Q{2Blha9|V(tƀPHʫF+Sda'j(ڡ |YѨ"\Z[+% &]]˗=y5TI0(%^R1E~&a,+O9Oy^5 콇# `@ɍ;o{r=4^B^LSd_yJ<Ƅ$ d;:bcc s$k? ws/7nnGXl{ɮOF>3 !1x<_sfGZJD\$)Ev! 9`pfZB-\HO _?7,6+7*֤LL c ]%␕װ'Rh1 (6j08uL?Gswh8eGj =OvmW׉TNAWg`{wܿ2+}K>(y+Q8)y34CIMe3sU2i7EMcQG9 cX:~y#T|v7XS8L,ѱ$4?CIpr,h<˗Աn4ASJ)PN`e] :?6"&?KZ{EWOZk/w{-gv^>ރ';{{{foK~{= |/AAo@K 66Fo a{+.w$y傢\`)\w$a/y_m+XElS!0U pSzq_̂0cCx\U&+/#5*4p4 B{]SOg״kb]ګj2zOݎSZ2W5xK2 [ˋ@J[ܭޭkj7ӿRՀE{s@Qm-"\1UVs[,Loz_:]Ku@vVX7[ G`z IXb'Ez d! yBNrjνiAF:v̺1529xRVf@e3)[*O quVtS{$ .1g":d@# zS~Z 0$JDZVe CGphR?9VVӓ03:kCKog% QC֮Ɔ|R UԴZ<T eUj`gpb:-urN^V'ٲ{9-!*L=S.1eqV!O`lLGNp̲OL֎| H9vTX X\Dv<w۪߸0f%7}+a& 6Fyb\+NUPU XF WqypA]CI&yJ|-@BQ9GZq:6\A?i$f>"a* 0 T"]- ׬p='lQYdUI:aTA8x0žZ1N5h+xWn͛7fM7o7߼sC=gqުNeaNXiH_bdd[u8ݸQ7^E<~{PeryNʩ<GS3l,c0'ٚ c1S Z3iWۆgŞԊj &t=j] ҮTj9@:yv{zj]kq嘽E(CzaS ozOh7a{MփHQumY4d9U-iRʅ\3_ps`IMImc 뷁 ܛ_uATU8x(/j:VbY<*cC[uLzchOQhPl~Dbq^Ne Elh幥ma`=!wHJB e_:4H(m4_A[U?uA]7k9j**d4 5WRUrh)VtP|]3 QGrZ^X t+1 @+ݢ]2_ #l:7o7$T撢 @o8#ϙ ‚1"a*KfN?,]X)Z I} چCR& 'ǖP]q:5e5m؅PRabH[y/jJrΕc ~[K{@jP_dm7ƣ0ly080XJIי'aYgΤmIvYa:{?E£kEVUE ѵvSvBM4']FF *H͂.HiI'lnnlcLeײacGώÌ6nŬ+Sh:C/A0g+qn,g]`ET4#Z/o7ۭ[QS m5naN~=IY+٨ԭJnlEu:)tVlBmEzZ:rwMrtPǀyx|+8|), pI ~X .fR_W1XMu!ب*׷8>!9]VR7/PbD?nZ< YzuZ$QEJfer<3=PX)j2X!m*I\ȫc/Z֝R-k \4.}o]k &u<. J::ܮcv)==μ?T3Vr{CamTԴiҕ$>9,O ^M[M`@ȣVŷ7EJmϨ:PRBϳ#C},y8Wzz+0Hma`y(a})H)^+`}ycI*DɢT^nΔDHۚlE8ݾ5F;nlw(൤biU3<? }k$y|DU6R9X4N97Jb4٦>_a6 mQ Ғg* Pğ%yoOoj,QD+-_:}FЩNTqkA +5 Z?b,x7c Hwx\rd!uHd9.pUJͨ=j\( NVq,Y= Crxx)gFɝi3P6${[]V6.JETgyŃ[4UgF3gP\WZSt$mckv]E<"6;Gv%Ǐ"S@Pcx$"GU<:xh9dι7 j\ՠRrq\m;n_0&}Rgj%5C̒cۆ8csS:$ⷴ@%ЌBejƣp|!*-j:h@IՕpZ"cF/WqtW80cckHqV(G3r GZc(4q8y =D@g;ZW$3Cq ,Kqx]8/"Z8 Ar#,g`tk }Z`pi;ƒ 0-b!X[ eToggLiug!M]szkH ": `o/_q ~|l_m.tn =`>4t nPj'a:vB `ov0" D|A$}M.LF~mjt|G?_#8?{\@ })ͫ:Lz,֖we~W{3̶ow{v/q c ?2v? z22p,a?NVj&%cڛ<ދ`'!)gʁ3v#ÞsХݻ^uh) v3y"Rv`*n9R6|43< a =^`Ʊ/=(xg~yr_1Dvy1E"5B'te0x/|Uv}_a ޣvG_xrWOv^z/^||oy{ *<5 kM+izHC8l'Ax)za#>^?99egwQ%Y&ЕV=wOhϻqc} l0|onllmX 'F h?塧Jw/\}f&G78S`qqek$;ZyQ 7\_IpGà}p˃^ 7蓟HO4p9I-aŽ$Β$DQ->^e(z0h┪I|fU%.Kì-2i6hRzn8&{̥KC%=[| ӷ38A#L:펧%xP_!'{J8I4ԭ6&~3WO`1蒫y=GW_Ce3U tvUC" :.Ȥ2|ZzG75vr<3=.$PFv#]~D<؜HغGINVǢ:wUDA-qSZ`m/(hJ4F@9WΕ;eҷk |TX [k  Ɋ-\q640q>&~BAvAPj,ʳ,`#2Y>=*&Iv&rd" l ca¿2[osm`>tFnQEHq((# Vꡩ)YW1 :mP:un[[hpE߽lA+sÖhaC Yd>W[ض $9o*_ xp3l=Җ-iX*:,ҴP#WXUVjv2JK&W|hk>/vRl݃Ow-_)hS?:gʈ!{y/Fa|yㇻ*/2\h`_>"M/^=}!<·ȗ.gՆ`Kh%\3u}ݗvxY ճ?-v>o9/bތq*\H[o> 9>PʬF̋RY9bpJ-v^ bM]P{(ؠ*8z`Krp4C簝wZ=d0>9n>op@Eٻh#}bX:98jѸ&喝smr[@ïKs:1ˣUwD6ΡbD&|8۠Tf,*d7Q1"S|aY*w/JHpTtmzM =xp&QD&x2aV s[nP"[#;5>gSJ,(P K =| 9{9w6j;7n\}{T ^{6Y+2}Giܽvhp؞IHMRMհuLq [YιQ3As1] pEbsTEҨz-$ٺ ;0祊_cDHڼjlTڕ!)Ԣ-kNk`e\hV 'w7xvK5`1>:|3ȤiZ=O @0w^tFENkY+.vs*(t"\f9",,EX Z'|87yQG/Xۓ,.^n I (Ҁ nu[Vl+dъ֞sm㱭ѮS$0xN[hrz`$hW(i3/\ar>t*TI^^bݫA_9>uW.vz6wA)R/sv髾!$˷D@XeʯI^U`Γ7V$YW2Pr mTBZ|V|I0wlmQhpbtZvoKLQ$KZ3$H?-tb@1y/ÈѬ]W=3x Ӊ&Q@ʣ Mѹ_u)v^PY=ʙkj{jZQb[vPZOe3AHL"Li?KJ DxI A{ POvM;yt޷W&JO5[#1(ƛ&U!}u=/2e8mFt^E:Z>P" ! tOP]8z[\Pm XEҸN(tJs]O &iпcg0?cx"^4N.H&`c`6!?cϿgx2]Q45ߠFoRs~b3DǢ!j- A"hLPa?^Ym@X#jkkqaE9FRoRU֖զoFmOC՚RT ,I0@[5@)l "|?9D!Y`v&zPY"x zO-D\ a#[tU8U-*1!P_nQd-㳤TS #rkdQi UQQ-ƋB򦊜I% -p(Na.Tt&AK ؉$o5"؁h@0dlDu7=b]sQVtHb—n`ƢjZT@70 g2[!6PJANIFǝjh\%G[-mʭKL~^ &EݙRz~&'+t^>7o \ 13 ?$)Ίi+]oo韧߮B5b?9y~ h^VQ?O7@C8NB/PReհf1Y5=ؾG'5 ' oVExnuK^t>[\JDPpELMl#߷WzfFQ2좬WLx"Q"|kEpHoF'NϹ9_'-I,_GJ P 'C?1PC\Vf<)ƤOşFh )|^-#J9_QBH35Of>TS8΄23v͓+gP<%p3 i?GDF gDƶfPIS-)kwb5V!Tv'D,Bx)rtᰨDbv1b 3 sƓDwO8W/vIVn08*qAGZ[țWy\:)U'!{2"WఄU1>*wyh?UTZjGt; )pzuxS-]<{[E66>_N#bg>/ YX #FO_B6+cs'2U*qx JiStW L&!ԡ}_XХL<7UTs] f1ĕ1O68l)[7|G^˿y˟y0yӹĦ[t͝KyI7>/g$^=/zsɫqb=/%\=]̆l|ӐDw 3?zR}_S3~@/q⮤^Fhruy,nmZټy*?  s*#L0_z?NypW~wa$xw8*{ Zm]5 +4G(-7 $hB9˪Qؚ~ V$?6*>O:z}lmKgioQME}~>+$ȄO 1@fr6ɠE"(g}݂diC`?5DAU>oٜN}sE) ER}l*oݹu%}os^$q^qi,E ,Š7gtKVdr+P<f ar `hf!p^]X/ 2Q[Z#~x˖,R8a`r;P\t0_C/a21ci ,\I o@cCwtKU6;,8.Rr6zZzlTB2?s1Gqt:wJ:oi[CKϲR%v=9qWln'xl=GAA<ѿ-qit:9Hc &I fHkFc|>aR4YzwO.lD@#0$0@՞AXXL{z" 1I.bt!P߫}r,ɳxo!fJH.EWIfqȇs˙ rf u~Ӹ91[74lSF[f<@ $ T9c8J r&A&["єƉF\7\*36ږgL` DFhI*";(SŶ(, ȉS+&^)d}Qߩ7W} T`w R^}[\hņ*0q&Q3&!*ECٰ']<G# Ks蝌0ءt<rvFc6!҂IthY/ZNmy9EiwlټlDL.Woqۼ[*pVzs[bm"?*;0L{~ WkTlnNU#U*-dndl$-_Cѽ{۞Q|!kW_B:ڬ;.\;<9q$^>i ox[U\0 m]i㴉tR|HK0a)Se)og#:^DQ4$rHSA)E,mNf"MR")ؔkYܝBI1VaAr gėte+wmZڅqZ+ʥjUhOa1f]@EfwWݗw-۔2m11ѽ(MQ28hJ"+DVÌ G١x۾Z9 շ_&8 1Y\a)l@ƿ H5% ~}qVS܃B:VJ/ *gz>mQ:Ԛm>@Y@`39 1ACb+k/B[.%PEv r ۓp eM~I'oM;>ǁ gDibOw3ë57^9CM[TccrIK#F4p#QH\lSH-B.eu"Eҭcؔ9_91fB!tn-wH4O&CgCdy_\Ya[N-GjڑyUjE6 QEti Hcn s} }凟Mv# %RTD慏m/qCZ^̃Wfy7k[&,L"[|̗i!7 pH(b_gym#0ٟ291'1I˥l~9bوJI ]%]_ڕNS&_pZFIzPѢ>/`i4$Cf3B'+̀GsP.%˜ޜ\/jLu=QO$qiBQOUUGHJ9:n)|L\bY\@K@X7=9ѐjZИnSl!<'8v1gyN9BFV,.TjUeZvFU].9S)ܚ9w1Tͳ8F-k>J`e(vd[?+׸<6iNA.b{h^ nu| @Y͟u㕹ts`h8]//vf~A[P䣒zz#qMpN{caS:0Y {=(bxfφʒ\ NFܕn[.tA Cct]Qkt-|̼$ċKӝs78#JH/6^دwãYY[K~fǝ@/kU+{pC߮XOrt"7Kvo 'TL?Y'>o"Q:V7Xd "<ފj|J*3ZYfOvCĭi1ZnVdlq qq9`ytY 1?: \CpA1PlD[BT@Ѽ=#@j?5{(7KGrW)^ap'mW:]j5슩s'vEz _.+F|!Fk0$۫Lw@ x߻9dĂlMDk `0L 9kAˢCeLzŸkz΁q݋\pP~`ư[V  GeՑK)Xn=O:|Y,5m#b8])f;  @`rDEE_>=?@/E5 1FB[]y?LD)Ո.ϻL]]F4&55qedhړde³Aib:PK82FmaSWz0/2Q9 I5sO4Joeh LC{UHͧ*xMcW8i˥GXhjDWd |xKj0&g ԗH/K;$K>ydCm C=h;8"(,&R8UxUL p h4ૅ0-r-oK iN==FUeNaar@1+u˷vLK6+lpaϖ^k Zaq[&Ђ!>eE[`6!]q1m2+9EԊ,8K;Xw ΄[KJ>wPظAۨ^@1eiS49_뷝KAvj1lgT=coy:Jrk_eW6Q~%q E|> [?wT75SM\ހ8K苕P6MY0?w)i Z'.r|G:`^3^"τHxyEI ~ b#R(8UqHfz4/٩R(kŅB9odPuWH xl{Z-dF׏+o{DCa*_"ƚ() 7-}g\C>X.Ǘ""H(Gb/umX MvVi 6vIQ:lo}7k0j1n$|:ΜŹӴ\W#_:_muWS|È "_/ KT#-q{U<|R3yst\7?g1J=EAR 2.2±9FQ0A99ҥyP[ȅa˴8]c1$;`ɥZr}%ϝIH''j&~:sL np(}TKb oLp#gKJuK%j5S}SQu ŎFOXWTţiXw}hVTC{&97ty9f+T`˛-WEǽWC`[.!1B `3ڶs!j7nllll\>B81FD WIl668Coɔh-xf1 _%A\귘 Uޙu`G1QIN)m[~z>FyXzMLZ^=Vx3j#$o00D1*7BϢGx.A"MUU/c!k/v6p tw/ *I\7DU4Lnej5JrɒHE[颢3/ފ~['<yZvSqPx}R' ]hvf>>k!NYe{#x=gK7EL wE$0dDtrfr#<m)C)8C A,T/V{Bub\ !XfOSeE2$I译- Aur @v{úyR~E*P1% k9}Mb*cE}R? b_C,O0뷊uyZh[ 9"ʖ\ᔖe :#$d@v1JD-BO[It@Q#iN<8J(VS>Z ĚV 3Vd0/Ʌr@+kUuV>ˁX>Y1CdYbFNڼDccj7I>@7 D謁CP3n'Y;$'޶LLF:jγ.k.Sv^6_ CiPXܱsdc(#M56Th+Gugި)Th?JP&n|[!>aKahnsq+o>c( OCD\7ZF3<'/O=?υUu7u'bcHul,,;ve{..ey}nl n*J H*%7oS8h5γ U演|#r+H)ʲ?hF=8>uc qGd籓VuUa7ge2x+H,ͣ΅K LF&ƂB@y\oߦ.+FYIs?G0Fdž@oHE{9YΜ*4vg!L' )蛽Gn 2t9> G WXIn8fGnKֹc7Ŭx^X܎W?ZUkV{'AtjOrnO bF+Q뷳-.msC U;FshV5TN\ A<~{WB,U/M8&G*ЄC!K4,uQW t/Gϥg9jkiy "Vv7 S~k/mct|k[$d-UH eUH+ٙ.lqEO,vDI]i~~|7^do>N5oV O;Pb(2uzyo,.[FGO<'BZ1$b2|RFamU$$JߖozL!),`e': wtuy(=v5&4--Hz0pm/^>_$.m8ڭ-i%$'Q$ @mޖӬ0N ADƷ62Z}rsQ'D^ŏw@#61cۥ;]RwO5Sj_6,m!kf/qkemgyao`+dg&0#kE+EY]nӗ0δrU׷oLI< ydn\*T 5 «Nj"Chը0Z;o=QrQ^ b, ~았6"B vz]Eщ }٠E\m:iLkiݕ5 n`t͛rFXd] xqeĜY](nҵZI#3Xm[$'X eur2rbZ1u.݀.3Ӱh*Ք붨S.әmm o7f+K7KpmFҘ\ޫ͈T3d!|lM|C.Ƹj4hkY\_EZymg8)wEd㘑WLJlKì^o8 hBhbV#"J^iK0BP5-1 N8yYW`s÷+V[g{_P䌟ؗGΔN Yfs2⏋ ˤb:`W #ICiy҄ŒlUl: pw6 U: X:֥Ww.?^ۋ4~DcHK&@/*cu吋9Շ^miHm"˺mP2KQो$(8je"2CzfU-yGLd( Kj !2'C,}.yێ^7LҶF%Cќj*7=إ0[?!JqysFU_f_KN=Ђ&'fzhj-)wZ O^kԝYKQW ?Cz2U4Cǜ+M70džXTjiA)'L1.fr,5;#S\4bxmΙst)sl|WR*0-OqcڈڥLu=JZ&+iG2Bs CnIHW%Ɇ /ORK.P ]Ke; +p)f/ ?T%vZ+՘+gPj'aAe+0CZ6+ڤ]SK~b:{_\#"5գb[,(g3eȔI@IF&y<ovEc>$< rVwSNP7b,-nyTqgo7I*u z΍:DH2 aNƪfZ5BlyipKG-MKNh͔|d>۶,jQ!RAT{sBtH2Au ̹-6~cHgvH>eQb.?L?k,676Kl޼s<?T0Ư?G?[.=A$J̾.O}͛i*A;䞒{H_.UƳ6䙧ŝm:;`#rN(EQZl>@='w$)[t$zE>%IqAQ?j{Ei}K\1A'M `ǏڱNQǻx1F+Bc2 ]ͣ%.c;saE Pk>_A+ ʺkvȥ@“p(K}.#<2ȝl lNEh:B7x;l0_gIC$Մ`Lh z MXlJ\lԛxK^4sŠ*ܱ$iN]ES6\ǭv@ί=n GK;`Doq3bEj/rѪwc[ CT-aW$XU t㳍5㒫#c$,S>? O )JDR678-XGЫQ7VD0"1i.dחT 9Z%3 !RH!0m x2֏W9Ӻ{?tZ}Y|Y}lM8skqqh92~_Qᥱ?^ŒYirTp-7,v 0RO;П?t ExbVYUѡ*6'>b{^Y!D,4G-jO8NPFWmҖdӊHn`ewp)s)6QCġd%&h!)z&r =n 'ZR5* n9b;#Հv] J$Ž)/&uaUŚ+\lhk5oWJl6w[s} i@aۢu!ЗpcJ4MtaHhQ mJڠḐ< ndI_%!apȦq=8 ӊ.MtE7y5Kڨ!_tZj( @d&S>[/q(OQ^4F^CQ+i&> op2a5^JnZ ^|I=U!#kx"ycR=AӤaDh|w.(".懡dXn<oy66KSث@>D|7LS1/VD` c),7,z$*T}tEmS=P]5UMIUKg9*˒.PU(%L&1!]["1c%`FGndGuqDvMú ȧ&%i E'}/})_ƒUQl^ZѦtI3R>kdz[  |7ix闕֩"Z,O&N4Dm,_u t9Kj2ֻ,1`]lG8`\ʓxkR:X$x'2$;<0@n(2JqZ AP EFVߊ7Sᆉf|rt(Q A)i:څ =^L=Lϋp|*%%Df4e͈KҘH5o:#i#߀ѠϷ5k7%!FzQaU)aRŔ%JZ(wwAUSŮv sD1530̉t2Nۢ-Msv:t̞˼[69EvEhM3…s(,0,]q[-*AK"hj u H%BK e$ ):C_J#P9^D]ِM.($^?ޢH=]nY$`mCzv=B(_Zg-ٖ ntZ_JKΜ  R #4LԹ~_8JƜ;!fP"FjmB 됇H؉hHg`tmK]>N4D=(jedJ=fCyoK zI|9{]E~'԰ٱmcG9^PG1ߧ$FM}WfBSv[K477-XлcU2R42 1ARBNP՛NfNUp6_O ʭfS`JȡPiB։Pް XJE‹*E(#HrS+gmiT*x4E< +R dB & ĩb{"Sn0I-ac1R% |%p5ؠȓe VK-ROƫdqoHcm 7>ϖ(RoX?'. mHL3XL@WɂxTB'`ljup|*Jhb<*Th8"`pQhHpvB]ҥk,X~_M"0W]&C-14ppE*eK˙`k"+5pAaXe@z"?j[ƭ/51p<}hҐ-#iZCfx2xxp)RxiԪ[Ҳ-)Wi8"sL:m@q9 cqN8hfxR* GhTcvͱe6UkNUPץ:U^-}ZxV1sZ=W<F$ЅcMtjƄ!NOE-PI͋JݕthQO7maٿd,Ci]yeTe;idYΖ2AkBelmb(>xxo]%|"-.۝F n(0XDLJ {&= k0I6yw$k:h:W^z}4. @?*J XBu ZҤf&-`ِ6E;F[钅>5lduN|dQ6;&HQ*e!%,)\1PbmUÔߥ!,g}/U?, hmkqخneBHIV9TVo,4BlDQ}jELۏ3HlC KiUC1ثÚ siƊbJ0u &χ'1mFϖ,0DsUfkF5(j:e hYUycZByH) #orpCJ1|@ڈGl:qVZ'Y5^%2hv[?fAfI,`T\PVAZ2V 8֮ƹi_EүܩkXI[>ZK\i.&^#o7ˑ;6囄D(# B\k{؅Ք½>+]R*}a?J>gyLRST}/՟ew M)?g ᎏ})0CqEXJ7nuKvJ-/FWhUjUF{_Zq0:C3ǂFmv0{Oqu| ˢn4RlB~&"+mbcT9ۚP>*r8tA"iDc9!zx7~;ܦR &HeLSaB}< '==k&/_N1s"0P)X"2<e۽3>y෨q9qˀԅEO]I2ͯLGt.PGp#ED4=Uu ?Q_Dd܍.Xӄb8@q21yPYV1TQ/y!HvQBAJ] T]תB,WvzR W4gƵX[ޘֈk o#zoͩEN(Ivu /S-N3--"[AWQ584eҍED,AD"kC.SsοF?mL+Y,) N[+/3¦#nDmn+Iռ956"tZ__W{ 'Aoxzo {o6YE~U8Kc hD;.UF8-sʖe9[&q򯘧OG`A7"߀dO|qίS{""PlyZ(j%ꣽ̟[֭!8dE@`di!/AJw.ir {0> bt*)#Krϵm6_ō#mM88KDatB+p0߶9Wօ3' 껰bߥ5 g7&Qĉ;40$D'-f*rca?=ȫ? \k]dTh7gC$t\4w!!|Ǵ1"~/0!1li+S6_:%߶4tKwD֑fq|&IԤ>ulT}zS׷+^|ƍ5H.׶XZ5Q$~ ǂ"R{ Yy@T"8bŏ*F`m+|Z2Re)]B25w,ݽz,=f^[ؚqR˲CRw5T7/ȭ[)k HyauS-uN(dKmY%J ǐSM~vj:S{u׾5tQ"\bX'l&%)K3W0_P߾vpe-g$LN WNvL_M9~kMg;پ ^fV[Mk`b`K(X41 T?6Ի9-ᄠ 7v=Xj1g6ig"΢Яm:o#t;NW:/wղͅbZ;UꚁA.#zHE;uo YҍCdqDOAb/ WߖW*8Aň pKTQBK XZl,#UC*] qkIrz-pU) t2d1yw4O:\, c["7 ވHe,Gݧ`#*j.%09¼\YW8.ô>5o8P%i7+G*#AǙc+: Y݋3@SKpʍwSvs'EvA\oaĚxћ+Z%r9eΨPTJ: X5>%ԩ)c2.%?QwUkt_j8Gu*s(ɼ4%Lq{SRMn) K_ky뻶>z"#q+ *W+1F'C\zۏ{_P?[ wQUER]FVD8UIVW=+?CiQ:lFI,AA&BWfG”( dxWIy|,g@%{h.~-ᆶ#nr)bqK<]CC*>Em#u^0.n_p0D{8e)fq)LBV[M^yl ! KL :4rS5LLe<_~|̰4-3\sLM%У5T?tx0҂3@oI7cIGY\@1e(%<|VNCZ&3kIbQfhm˲aە~uf$K[fQ*GlC; Eezɷ2wo4@نQuG H*yXdK:vd[=rdeeD:tD&0i$,j?$O\%G-UO~BR O17aUǔ+xgJFƣBˆjr-Yv|(%2d2TnzKl],!\&blR@USJC՝Rjt8dNEuWO譔r{*X!0'Ejg{MW(|Ae zj 5kC^Nc8!44 ,]Ve2$M!F0| z@i"s- 1ksG2pKvE*3B*Q]zwoi픲fB!6n]Ӓ!јpKKϺo2B>V쮲6&Mu1Ib^uQp!8ҳAo}g5R GBe:PA=;T)b?.9Us+ؙV>lñ3ofGvե<>A_!*{*T+ άԊNU\]&!ʯwŧߧt簩k*n5JA-)D)T6-GT'5n(U: t< .,$lUB9}\Pz浡u-#\@͌ (-J@+[ @o*w32-%A%;j7egnT0/lhtGE4 aDܳP8鐜XobqaN><>27"Ғ8[nedTT5k%m+SGBh+e=CKrY*~?EO< *&}+Yݰ1?ސhP(jI*gC1KαO**6jwFh[+LC@[SS<'CfKQ([?u~ N ( |\܄ ,Z(P óү5-& ]ݡr ׷}k3ܡak.nx#bsY8̆jb#Uy!`4`ঌ r>=l"8yڜZ,PfMvݶ^ePAT ZJz_nҮ}SW@j0oIbq27ݪ T6 fc+,FEoҒb"-$8*~D28t bGan-Bduѡ$_̢A Gh&XаӬ官3&_ь,a#+}s_ y%8rḨN $j7iaC5ݒAGMq{ ^Lz@5´==V QrN»0/\5:@873&B? ;ݺWz?M GLkDoLCDLcBӝG+b; ,8NVA%w!!=Ȁl0pvUԜI0ޯQCGzF(Nj8 f#Cs0 fvs1b3sGaP._`R7w '.h!*c#TqEn[/-HoZ˗<3_tqj? ٛ3Phd KjM*'E(PR4W]tvZ-B+$:7vKW!(:sYY2U`'G~/"0a ˍs㖵6є2 ȇm-inX,GZc4z4p">,R#gW6j'\sl~J#8)A3) @#q@őVhd067S ͈T4h­XEd>Q^_%nW[`j_eA9ӱPlt7RKh&kK#|T8:eřk9ї)DNaTM(O V\RT berY2~&(0.vRZ.XUUGBxQE,"̰Tl[+s){V(5-gHٳе*Ah߄")[QYi-,oQq̞dƠ4LD06[>翊9M+j9 ?j}(&ÑIln@Y nd) pc9"ۜUN|o(*{XMSŌyd2aW J5'R{2 1'teogbGNf*.iJYE*HP#3f\9 5v{_yb3r$aÆρɸ(yF$n 9y7Sb˦UPeXF9R;T{dTTa,&D}Frt[H"oKZX6B$pέIՃ}pqU?뵭lu a[m=NnBR1eD*3Vo MfS6*Z-qt?~4dVmh/εX\f4N_Cu)&ӬD( &1EpȽ_YE=3}XA(ʼnUĪd>Ғ"I]V)wFjEʚievo9E ~ ,.GF%kECL`,K{&,9 ձLGcݱ"' h.{NDǧӌSO*6?AG-ΟHݟEb j]Ud${)~2ItvS~V(0\s/\T} C;Je㹽t(m6tiPea‰jǻaY*-s j=-{g;" dS^uBF'}Z96*\RJDZ A)ӹIFA(!hqލ< ,Ox|/k!Qp0r4`(m7s(8zVDBC0bEU0e$k峖[q#mUD9Fmw_iOu Zggqc|Wb-T$l`M ylm͍}֠Sge^,kY޹V5%zVyyoRn;凭iCQ>˄F}5aqE2<7FI-tvqbOqqy.‡醱2O ɴ)͹Sмo_gfhi VbANRjd_|gs#foc}-jko4 v:{3UQ'tT,~Ȝn1bLŪBק0%^H2t~DktY5-< 1u[D^k?Oջ{ 7:W Sa&h0bDž}|rܪNESp~Mc+.kwT=ZEih6,|f1bad5rʒUHMGE쨰%^7+)0HFWl{b."N?} F(.I.J`*>^qrtTt7- H'$e8C`R9dz[ FQ$Nr a0 "(dH)ýP4$YЛ-^> uN(qf: boX$hl0EP+W3vhiçT+r,S.s q9snI}"|xC.eȰUFD`R4IQ9nc|`H#6Mع6>ҁ|\oOԚqDΕd߈˥-)4)BUiuI>n2O9#s1UEd*F.r1uaD xe~4k]& BF^|M XLR6;킁|Ij&܍Ճr5=G-ï,4 eD6({QөnCm.gRclX_\=0g͋px$MAtj7?_Bܾ}~}}[e[ܹ~ol;o} }{_)ʿF){-ԫ8 j_wYXt-dS @Vxv4 wʭTy!Ñ0d^U-%Zk:KdfN( x&s!nhM L0Q>UF,R7x(y߅oqš, oҲ@\蘒Z{q$YQ ށm]d%lD4i ̇!%pg=!{IvdQ෷/"8X&CjcdpO(8LC<6Qw iN$|&IEtbHbI0T_< J)@sNJd,,ǁ'>x$/Cb9ݣ/Ϥq8 lk'd1WJ5&I8U:Sԣ .Y,nlhWp1eHrlܾ .|j#ɗr" Hh=~hiFl v^EPlTuB rBYoGk Z,%@M9c- QNJ3 9څE#9'/ݿ<#:wkoE`XׇxH5RN ` A8 3`3mv FG Py3tǽ`?Dr#@y -Hǿ=A` '7i< I!+_*lᰞT0*v>bA~ Ͼ,ҀiL3}</"ʤGC8b}Xi| PAPdОr>L,8] 4Nw?/ QXZjp3L 2L`c(<%šGBS*ݕH(LS3h2?MaFԠŸw;]_q2^Jtc}}ҩ %ǀ6"b4-=vnre~7=/f?zl%lw^y/OĿRy^$UH"yCai{G`ƭ%ߍa|Q/:GiMRmwJS/*GFP،Uքo(c)s߳4͌9Yl7ZxixzchgQ,00hV;O>=%J+UuWHEk}GS8꒮Ct SVRQ7Pq:C0Ox1XƄۂvRFpDXG 0 (}8kxW2) p`n:`䙲y ‚@=yg 'ECQq Pѥ p!f/ZQ1އD/MVP$Acq%٦mX0ܷ&MidyOtRix;Ȱ#X-ov&7 O%b9)Q3Û xݟoȏF=QxYyϐQILJQp{,n90_xGYݖco,`,X~&O-FjG@Ra lPsZ PAC̓vZ23o631ƼV9#Ah |LN{r([ @sC:Թ+u^}@ykP<:t@4GD.a`|(,rX3׀+q?`F-J+U hLƳV-!Rp +uTN\(Z0.d]JzILr1J֙w4Wvڮ ,ѱN8U>u8U?:!N@-8@L, K@8˘ S 5K\'U -,(0-d%kQ}f?y /(E{V"x"3WUd-X4@z ot6ǢY~GAk89z9o]fX>ҹp{ յL!qtTYNeb)5R4Uޜ&7d罬Gƴ0$Ҵ#f 4NTZdH8 A–Qޑ̃%Qƞ5gHԟfɟqGC@| z U4xR?ev"ōI=%EOR8DY )%oU'4T9 Gk@b)3)n4fb&Ek)kG1^mS@BJ6VF9gƢ!.a1K[HrGtG$6bNzhJD/Hd N^ Ƥ;ÐD $Nbu>g4wLtoJu]^|"=M6B|h{BɄ>U\ l:b`pw1^Sz^:^y*%^ -F˦ۆ>70?L `\@V XNu${YpXAkea&\RZ,&nEobé_[_Tsmg jϳ`H'wF?/ @O>t.#@ABv/j_5j?A8<*uֶ,%Mֲw F qh7tvTb4U贓0><&A P WU ! Oz޶Ֆ"R᲎Vh09v^0D:#Òy $mW4SKBV.0ܐcuhЀ,6ѕom;R{?:P/M&H쵒m,NRTB P&kT#ǬEߕ1Emp xR,lN6X?_k" +q…yȄ}(ʏ 6>7h5ԋO#> Kkc[δGF(j0nnPhd{AEP*lm;qoJlNʩ ~T Wݞ#nY*Zܨ2h:tK4QQ'KNS0-᰷o)ވӺxB8WGih9QOu9qJ60̝(7 <,WqE}s5z]hU7٭uj/U|ă C ؏ HuI8~\qqẜՀ#4G(yt+%d{$8($$<jgϦ/WNmpy0GlXH7҄˗P2 SQB(v}9J7 7pBGPzRyTZ@y;Y7l%c  V6 +SH.8.s2%qUĩ&zu 6pB)i4 ߦ,,<a KtHiUиS’̏r>އ6aW2KRCsZ&j:]@$<0櫦SG9\k[,PHa.O#}0daAk!DDўҼ(& jzF:+5w|b/עKBe|f V?/,D&#tF}O`ugdq jO"#Sŋ_^ݑ}0(&,8D-I ];0_0(NSWxهL?\PUk hyxj?#.8Jqy0e#KSv6/q0λ7 $вa. -[ QEy*~I'E s$ǰ]KϼQt}PpjеEgEډ+_$(? (?}u"T̀kx‹iroZZ\CgB(iϘ;{BB1LBtc1JPF#At!-OkQ`9*ax˸]R.9Ű#)^* z+"8YZ t/J88D/vuONTn{$ݒkA 643W$H >{LEb@\\?,TR%{5!έ ׹<עV(&X3֣;=ɳw)?X$A-lkD0PE[H>r $K]FnG#hiOURȌtDM;o0q^̀9I %WLH9>u0\)f~ f8deHPE&]Tpb)Ed@-)fE; db,8I;=/(L1/LzO?dQa" f%Fn)XM1HoQdnq&ⶢĒgL`r6'jS*jo`"9G*Tc%@(σ Oϟ@wօA"IC[sym1w'+MYHEFiFțpרrp{؄%Uq>FuaCAYܫNJ*H@eEs߭ލH71x8ʼ$IԫdC:J>  0nqWF*{RfDdt <%M"Y&OŒI +P8"W*r 0a%sF 9 UYgxQxq"Ɯ:F%<XL?bq.63n򇨻mO|SLfi< Dc+OA Ȳ&Y`A%tɮM0]v" s8-3x-,>8pNxst7SqY HxQH(|K+[OaoUf?cWO'pMB/c7JOZ!$\3bBBjߨ RFMeoEp "@-i‚V]$|bV1j^"944VH"DcvO Ʃ&ٟ˂MΈX= A| F .4XZӲ詐RC`^0b(@vM&{'!K\f<"hJ8"2yG]יBO.!Vz- AϙI6 B ¸@ELJL:!EJjEWr2SB|67kLIpjsV.4Bf1 PB+ Ǚ&6RAh$6? 3@93IӹA\Xa\'=0Q-"-P7ڴ[ui>@R }*żu:yXi Ym10ryHP^|C99wrH 8LTknfj1=>s`# e:Zj~,6%}-YOΦEqN&r"G#pzQo&SW2j@(S%M|}!.Y{)ƴrx^TرnNɌLDGҖr5e575Y ^USc)aOEB-p(UJ` E(rF\S 6?QN A<|0,mx)P Aȥ\P ߑ{tZwD^E؅1L [}9 cj|xIlHM4%4G6OU{ :-RM650jRZwד,IeSVgʿiITjbVAҎ vIO25OA[FGoR|mUcTI@>A3,2Bm 3yJ(D/Ԗ9<.۶.=X,ka@}@--+%kV\a~8fW ln{qeMk;te=$-%,6g!t'ȚRvjff:%mFg?A;7oW_?S}L&yw-D9I2#-_}?yM@Xƅ*:y1#%v'C)rK8ҫj/Su B9nHuy9>R"NH7䪉T([ h)4yf;@3Jv%Qc]pz?ȜOp&@/U_[صJtpvײS@>Eנ"Gh Y\Wsk&i"}ha-1 !_b;D1#rJFjTQkKQuVGnY ^ìA kvCJReG(JQ#kJBNGyBRl<!z9 슳:g:vKs'(H3twIv6aVlfe\rg'^;CH+(g1NdnBm rfV]{-OPQ>&|{Gq5,`Y'ݩKlXKqJ5n$Ɖ$BH% @"H; !Bl;t ̛7o޼6ofq`[vU~ZeT\AZcSgpsT 9SJ`EkItMHZNH*KyGPup94 OkИtBw&vt^`,oq׆x֩o]B*3(Kz\8Ee>eI0hڹ(E`<$A \Y0Z0؀$`@Ľ>}ip|nabۿ^QF|WwBZ倲%H󘠹h6d,D݂d6RK1# -shs+' v$b0 DFcKW bI &ƫ0GeTJ.f Y4#juE ۺF1@Y\b-cO/rӒL+@m$I-߄Q[p^>q(rGG2ΰ\&oF(d&LRQiD=@:ls;>pJc?.ܜ[v\̐qWaVnp(-;>&_;6 cB쉾+^2"4$Fzd[dsz/Ϫ [$0eCl%`d\v@b+^l TE]Qv,_Br0#g+Br=˘8gWb8mܫersccHۘ^jG@R_ç r/ƗRP۫G7 ō)`G ZYW 7J &_@x% ѝ`o ~1?NL&9?6 ?p;j:XRFePxR ΢&?f#슊zS:"@,|WF V@_[~2a&l.ŕ`! !Xs.e-lْ֯)Ħ *wD =SDs"z9/?nҙg/tvd0hsip}RO=\TuY1_9l"EMM6 > Bww30<̓a`)0=qKぱPGȏOSc+ѮيGѿpB.\~_] 1:J<]kl<ޡ%Ab/E6I"#c),~כ0%vgn"&ǗQ71q>DLx}Rz7x$=q(oaPs"+}5ob [ ipƑP1A-c 1m;l1̓(GPⳉ @#f+-l ckkm!g_"f%7&Q 'Û Lhܼ]Xp9$OZI 40&*V[_4VȂYW7TB@+ߞ#_>q3 MdYx "DCagC~hnA.DlNM)p8'4`" /q$D\imCsc [ UɿCwy%3naFP 65uһ *C,Ջ.=$) MnNZ3iq:sOB-"MhAf"BܴNigQ-*K/AP0ʕKJ[X`W(*%'rۯ2y hCK[֖-MцֆmM%K?|oϞś6>N2:VV:Gʩ> 0҆5E_n/L:9#lpf!VO-;gGK^ѭ%{3zM۪Һ$EQW^9^O#F;5S_޶Ĉ+ŷs/ٺ^ݷc'\oҭ&"ݣUq Fϸ[n9{wZR-\3pցi5P/|=/`Ɇ y"~AoDx0w}[qOي5z:'7j{g mKRH )5rD\ 9źS>ay{!1>eS4"D@[ĺȍ&RMP,{4 9Er/>jjUpOߗy)hl>y{;R}? . +;.sp}[" (yzS~ǥX9 ':%ҽ]YHM}R0ІD ̙6}nAB'<%Cؾ ]ܥv|-E7g` QylɓW1tESz ]|H 2'1Rn`ar.vBo'JxB"شB{r޷HVp6?0eq1/.-4ߡͯ)0w %I$AbIOC";biR]ϗt+ Sf}_"e}_6yK0A]K-&hCrϞ:>z4֣1;znSv4r/!v/KiXOἍ/+o4V ~$W]-azVA;1;.5܍v e/t^uPO(R*m%vR[R"líR6lqe0{Gih?rō2xSAƶ0wfn&biLZ-<;&E4)6Cox{APWKFgm)ErNo) Û턱׏" a's@$sds7@4o'L94.۶_RҗHDo+R<bGFHMwӼKqq3Q84'P܃J9@!r)ev)CEKWnnf!]jwO=^VYM WhTi[m"h_/DmV6 ExYsm0T]"O3g_FbS+OvA݂ϛٮWA±7~XÐĵOqE?)z;BRC<۵R˄.Yg+r5 "掤K–@O*%&[&PMr4O8fΝ2(M#Nlsw M19fpBdڌy'aٞ2_}҇&b h݀,'t̝~mJĖ }mH;6̆Fa=wx%8;>;\Lh-%th@of6fL m S,Ɏ/B?OɅ ObOb|V涂Ndb4ٟœoEȌ;p֗fg,j)AW6?F[hS|-p^WT4ػء}ts٠dZjA+2Y-Qf4 >ărwň;ҁ^#l#@#%ۧUv-`%oo <1[wW"ƞPMYhIO0K$'tl|7c@ Ѵ`iwQ4yi{?rfcp ru]"_Ef c5.c.S_>O5*d -g4:[5nK͊R2SPQSOj;WmY;g.t1XЂ3(FnE^koOKֲJ- >ζcX\9+ՖR@vX0cEKO7E02vK!G_4,V $n/e2^2+!*1x]l~0+D u'ʼn;%KVͭc{Sk)9BO {4 ]'*I Xy +rB^1w-J`ܙJ8L05@R;B1QaQf i}V:8R fqrnS,A",~tmFzsL~0Beh HXXi0i쳧?E?;Ic4yijuo|ppo-(8;zD0ޝ!4bƨiwZ4I+d%rM塺 BmF;\-H ps]H1^6v,G8瓃=g9vTb^@NHNu!2wP9gHo5DxE[jNZZR9]9j*Qjae)K)1۹bh7!ε!T`tX*C>k-O(|vL_9%THs 4R#KYTy'!=Afxe^c Yzp(q*jǡ& #0v 8pOTB? X)Z<z]T.A&rPaڈP JKqhha +--? m W3V wq D*R/ɪj;7 >L 3 3xka!,6Wi7l'_skx+KrΡ`M2EI\j" ?Igw_v#!Pl27iq\AeH q?: l e'&P Z5/ݹrUա==+z?̦hwag˗t.]9oىdXkg3LWRa-|h^-%n't^؛_5t/#Zjx󊬪&)3G UR^-V}e=o$U44GTY Lz`oyK%awsf_|%knnRTz$u|I^v+V>wyRxB`:ɽҵO rr BB qMԮT,fAb_LRn|(0xa&wTT-PАJPv-80qvw^*9VxQ nX.D{(-6puuh5ms ??ė6?E( :Bbl {TYT^9(`GʜF<@ ;:cSi5}Q.  \0`2ҩUdkR"gj !c]0^SYL<:#~[ؑA Ϗsrgjw M^C])EU,9`{ı{  r<5++TJFf2`S,zG'L11,c$}(1;c:{@ yF#37 ˩ Bs)51ФHh6L-&lT3/ed8 l Sp-$-J35lkvXMWZ"R$8L06l2+/?Ơx.,G{2eu| QeSL]HRv3jv< 9gS[  K$RL**:BuGT̊Vkuz T?oR5kPM%Cqg:"Ra?h +aeM:0 &mf$8#2[MI2N?}NLw-y+|cۨO%eA>y9dr"ko٩xtHA8Hl1լ׬==\0+p/(/^W1ĐRys$?ȑp&1O3]U6}wϞXsP \c JnX+3Zj}K?2)=3P"Sp=?֑X[| 9"EjQ6d= j]w8bਔ㤪"qR.{\]f'YS:{JsxԞj at[v|?`FXE9f,&`;WW'TœY vKY`!-2}AsNpWѭNo㖒R#;ltXzNp:+k SxW0/P`څ_yқmql%6.'7G)' ΃a9,c5Xsp)Z:g8nZ#Zf&t%tvK)wG&UɃ,d^x1GGzس!p8ԠQů0.z&E}.˟լ5&o93moMFz@j r0# $ |zN[ScdLPL(L.SLĶH 4mYH| Mb4ވLAvlRdq_).qc W`X;Śmqv,n 0D@ s.v 7a8 SS7ZRZەy8. dPV JK [RkN%$̷v<6gW +N;VΑn-y ta,_> >bV_3r)UwpڿD&?6c4Q$b.9Sd6@bs'.yP`F(w&j1ƱKO_à|Ph|.ѽul^}&WNz T~b}B3ΧjBhV0ZMQ3UuXbJMHKǴDBKDpာ0D8`nߨegu~*):D)mzl)Mzqrմ3#U\ *EzZ)StOxxЮL$J'3݊ys{l; Ԝ['F(%j?1)&SؕT'Wbn>v xOI$x &QuR<}QFûi~X |EgC<-KKp u3x6>}!( c*Q$/F58| UZk) 5 X*iRg/YGxOL{,?Bua%Uc+Jg_d⥴>bY攖Y̬e$0Yf:"gtsUL3% HixOF?۩|a9kO3~9hK;YfnՆ"Qk˚-H obKX4 V-13C̦3gFi1Xk\ef2Ig9}Oì2s7>[3 @RAڛ -ӦlNpqo9[0ljKve(3ㅼBڞQlqYr<kas1[ew 0'(>B ʌS:EJ=`J?rm Zv hWzIqvf5㐨 L2 On.U +)i56lfkvVSbY/颕xG&NgY'τ\>ۯ'~ [Nt)ެ`d̨L:0!l>I8*,G|-'Gs#0R9dx `SVFsODYlZVP+΄+5K QE^4kC~Y2NH٦@v j㼲A!,–`A)dj_֤LTȿ3#'&ֲ5[äLUfQe-oyrg,;Ήr48*تeZ+t?܂)vLvZ&GL.ZL'#&˟x\PbLHo-(Iz}7zdb T{]0,ŵ+$qJbUI;.;.kx 'im N5Uo~rB I:p%#V8UGB,_KF)/z(RO0q0yDPwB`+zt+ ab.+Ie8"RV<z]j3l´pS f*Ukᘥ6lsU$ڦwӞraۧiyUhJ,Y_BwĤ۸+OQlj0Llmh8J{T†It>l A!AfnMQXf. 3N߭ޯ/ e6HHI{"1>y"fgKRc\c<[߹O[X\6Ah#Cc؞1xRO%jDhL%zzDb>:$p"KFmF ΌzP4J͘4E3و &3Z"m\y֢B[-XI=)oWZZ텏kNRU^{>;dT}wl.ٚė.lIOc]ZkAr3eɻvdY6 MX}_948ȻH:RMRV->;ҭ~=T΂ΝS΂3\$HRR.)gf75]{c;r`:&bOrZFOwQwsk^K|?0gW`ѱyiViX^%o_vFΤ b/HrnHvJX$${@WܻA68;qSmo^d-vwn) ho&*g|ų}hXP[> 5+(W !ٝto k[D1玍M`7ӳǵG֒mlXל)V۳LJ3ԩio!:I[wt];1Ԋsqdã#bc)#y7x;ow#3fIF C .Y^!Tgh<|e3vrxjgƛh%.)XN>[hs9ԓWúlCϤQI l3Bڄ8n-*m<QSၪV6Ir+)#7e4 hܵaD߽Y%6BLnq*1o`v} \; v\\ F+>r۸=A{=RC)7yFa#lVPB{<(-%^JsIH"PoLP6)\aR|yLw7)&A= WR&t)%*xe)A9|I\ۉAY%_"j' KcNҞ#&e{"yZBpGM;&n`-gb>Ƣi,w.q2DRG ~{ KNub4 ܉66Է6[[C+*V*ƻތx]]gN "^Hي =YYUW*RjEU + (ehEom*&T/k<ߙ{ߪ_} }~F᾵?[x"^WQ1y.:VsZhi oMƒX Nu#`;أ}~ ~+xIWNIϡb„obߊ_+xr;_M& {s+*;ho]1w"~A;J}bbLy젷x-V >G޷a8xs m8yx2 ǡG77*4 ֊kj<}įᷣ9c=c9?Yovp8>xQ8:j\ӧG8_M>Q:x%9 . T∊ڊgW\\**;p8c`,`wn3Pϸ4|?o~q7/) N/ϛq=T|q}{èGziJѱr䐣޸9?C8kf_&7+X 3ƫάRqp9tʑSlkjbC𦣏zոϙwMܹW*&|{g`D.)GW4#> okLBӎaqEFq';71zqw}&Ğ~7 w|UoVEF9~N<.ViikvЌ!&'d8r9xB5[.TVpꮃ+8`xq{SZ[GTTtyqŷ@Wo0Z x89<{2Ggk{2>%}{(G_iQ.˛:KL8Xd]~bܼyIៃ7OYM"/qc;nwp?Q_/׾Q0 xV&̅p}?!(u$KA` }(6gʡg ;Ӿr 7ߜ?~7玛ͻCAer*7*oz?7݄`;OLȩO3D^S#rt(婣觔2G+O5eaţƜ9X, G8a׍ۏb sƅǵ"F;l~?{*eYy*lI~F+]e3K` o9`>/?K9H1 Sv%G(va*=h~;b}2ET{QSW5._9<%x7breQ@V~G~ރgXqu?Lf%Iy \pG>_>'1 s>A=I^o'F'^EX^AѬsP9`v g8k[}{H}"14}>*w .w<5F_=8'Q,BPEI씤9{y)IǽhM.Wˎ&ٟdt2=3ltGϦbP`K۠pƆf}VYݭ +" mYA7 ) %7Ǯȵ66H Gs '4Jf3a` {E/߳&a`wx7m@gpzksPq3?a?f `<fK4=6q#nk\P$~2h8ޜj iF`B_po(J_zx"3/Ps99Qa맰#FȼVp乚U?j 60Q[SbUi581AѠ^ObMb)˄qVhֳp8I(xIo-L|c?m=cSEziՒ&+V "Lid""4#r=}FsޱӴX-S\Գ {or %Ƌ;^rUhtUgRAz;dE~ofRX O-^:v 3}‹;ޚIZ@VMl5;w`kc0ʱ(œ/s 8k"ȍ?IA<75"NjZ+NZ;I˺8}hD1Fщ;׉= 6+w(λ1d7,Ch02xY-I̊w/CV:nD]xOhaM=aT(3c6|̵^ljlO1|=XymNz=/Z1Lǧͭ( [S&#M1 `郭MPdSSN˖f.(]}_OC~d 5m?VP|)h.foG- x#Uz`\IX(hAßGu8VDSe*6 0ӅAD E1Jj _s[sXo/|NZ4}z$L.x7hzׯhyK&MzM|˛޼ >/^9+_?WvL0/ˍ/}+Z^˛_W^xMO~Vė/ҿ믾xiqK+Z_c[W=}I?'n4jO/kx- Ác=>.IX|U?:oiY<.xU}wwĿ@mjځ+7}CwĥĶ?bpهr=L8{71*z9ps}n}|>G=3c\tWg?9M+B+747ۿ9S?QI}|ߕ6'w|k򗾲Ms3~U[1mm =K}Joji[x[o7[ _߄/O ook/xٷ^>+K^~敗G^{^~՗x^{/+/>zŇ_{/ϗ_/y^_}W<}綿}/?󛗟KO|'^yWO>O=Sg_z?gן_֧yãOxG~잗ӏn}<}o=ɇo[O?tͳ^߾ۿ7=;~c˿?}?}=O=r7ӷW=+GqwɃ;>>ק7dUG~5/W>52/;~K}q=#?]~{?O>н_O>ןн߫=tϒ9?yFVϪt??{˟~wGO ~m~~o膑?:o_~ln>| =il~jpC<6pSgoo εቻ5''~mouUžiՏ|>t⥏/G^O6diF * *7οj>?>rV?1{V?_C| r vә7b-W̟8Å%~pkTŸHgU_ɟ;ֿo,:am㗎S]9[7yKw禋9Orw|/N: Q?.,~/[=wl__'~1ط}l:i~}ޙ}䖅?ĭæ/x3>C~;a_ kߋ?|vȀZ6Jjo{qbT2ٴiW|ASJBRuXv[f>c^C3M=o**' yR}Jb&uc&{fLUhyx\]jgEtSKZ^?'um7ffX٨TD9"J?U9h*cyr.kS}oMm\> #T梉l`F$V8R(@2epa"PR˨dTARaG̼ߏСh<j4BXN/a< Jc,E &CAN/&0,u3XY %ZIZ4 1j}j!e okq3 kf:!C CrH1d4b(~F#~qpWSMKf3 ry,3 1%;GUBUkB A5yN#UPVy@}LKEu&Ԯgr /1TS5V?CΚ@駱BV'7/رv^&Fl2gv"Hkbr mbb?,1k젶 axQ A򧈝KHBp)QmP7 j*5 -bdF(H\, 2 B$ Q'*dPڕZ/xePƆ(ŁȨ(㨹sı$0SUHT/+*_6 K`z$';V?@z(5VjXh~ƲO6_pHl M)3c,a??\rx?1L OD'{`i"XYJC58V ҥ=5kW.EX&|-c2g>ЅZpv|Jab6 Q0%=MPO5Y`Ls e }qj5z%8pDC`NFdvAsL P|fEp ˴6yf\gsntƲ{k|Wy?Չ;yI#kZ ì"Z ǐin81t!eӉ^x{w:'=ǡoWBkl&Bf[_SD_ePݲOfL.&l=6C ;m4~W I풴d10ºh<`Բ S[J5 4wi1̞ʢ8ha=ZNfueHV-)̚jJ9 7ԗDhPCSË:.dw A9'wP.^JMaY`Nfԅ' xeB5`$JR)dfR'0SVY'mtS󧈺f1ڧT\QʪuTBî|g}x0nS5 FXncdSZ4 @ x O ӐNzG9u!M6AEj&RT8=M|1iHOI@F-YbX4j#t޶{hgR'qk\^OaēY~T氤$]N2JM 4ũ c@S*. +Gs>Q.MPŘDer KIϾ)_vJ1JLJp$ 3u)a}bW,Ss=33l=cE>3{3'WNNDZGd0<6LaxOd6JJK- QGp6:Y`@ ԔV6L&c u &[fPy,WVZ:oiɝ+* j@*˖,;e-EQ>,=`no.9O"%.u&2{AӱCKjlʵdO"N5he@u <"՚U..yЄ XٹQѫ'ՇJ0j!j%tʲR(AnJfɚuq-UW $Zd6K1ݯzo?!<SKonlg141`s8A^ta>+i[~A Ve?zDzF m?mhg55v(U6#TM7D3ZaKsU- ?I9zQ_#IqBM@̋ž$?&*08 KeQ36JG:ߥ?>g%A%YU,^5RQ6ό5 l0ܲyV Y-511e0a4^&H92s\!IhtTqnPM ~lR(xGiC% }UWaf񼞓[)Fl|U51HKelQ5j|C ^5v%n oS7с~*y\"ea& mPm cm f{d5ӏIDʐpJbq{cm:F8h6KvاOQ`5oji-c앏,1Fl RFY$ 1CPa_;nb&1ʶU7bx&JCI( eTG( ,<(Q)ReV 3y,r=蠉fYf~/g;2 7˱4rJ浔͕W 28d T͞;Y~Js{ f~LB6$ 5_v#\5T>? dC|P>;C &ܭDh"2[O@9 QÓf TmT0q2`F5#4b{ 6:^31BTFCRV[<)rX3B|br%>$ @)Ybhܲ."Z(P>ÁEwXHDVJOn(u8qM %*f`o|>= :.-pm~DIVٔS3"T͞}ˁK&+0HNX9h\qQP~U裡'ўZUpd铉|K(UgAɕbsl;'_/X|_*;M֜eQK&H]ȃ x`=E9TW r#)2{Jiku kōmJ#WHx :bbj^hfﴭ> LgFoXإQٶ 4r,DݙeI+rʀ6Z _W`p`(U=`rCQ.] жLUjCTz)71lLJ.|&Bܮ1YHnj͠`g&927g%itLcFCnP6: ~ԆbbO[jO0rإm)j/꧰NMm6`KSijf|_AmVrubT^(:;M[JIZF|IޕAi*ӄ^J>{̬1-7~.x%ms{3kJ" 0 l6xGAwJxX ƪٕfQ)iTxs"/2~Ih4;:]J |-)0 u$SP۬I/YКaxc0wRj}{" ?(]}ڀ8 %ITDPErp2`LeJzg4Q2tܞ(9iVN|4 [}bDHx1$;n#$."f»:ÆC V v_6~f$VVKVgVؾv-h8nŚlJ܊U n! OY_6@Lh/H:FrRp I!߃xG e+M^b?;錩Xy$C|>V҅1Y"X]NؔPMTǟgmaɡGEt<'Mѧʣ;Hlm|8Y4eb]G Y@f!9$o6bJ-$XX #ha(z='y?,čY9~ħ?ry-O.Wi2~*}!ɯ咺‸*?I|!̲\b#p5=n?fLfsZƭJ-J3mô(YhQ'oW2ٌ6"D*|D%ܭ9xO~ Q\i ",^Db`q󍝡bW`}RgaۆI6UB&lshLe؀2IΕvQB2OܶX6pY! (/ M>Jm|\žU޵F@]Β8ܡd!M24֘/K W1CvgU4'-q4'"~WVf qS:Z۬:7ER=a[KTho7>t[Tߓ*kaǒ9r* y42,~Yʩ=ҡI;{VqV]>s HV-^ʩvV]:lrhڪmUN݅c*![)[x ]%)  ٠ IbV17ʊu-]re ^qMo/Pgy v-c9Vc$nzjJl,B3~9::v'bhsFm U~0ZZ_Or=+O/eH jyu뇗xtFR= itCPnZ&k\JR5-C hK(x07h C,\<:BX2`U;'G4՟cQX@q%~Wq0z,x#Kio'Kcy}@/XV :3{ Vuǵ#3Z] ӺN=D&Mm1x(|t+wJ1]օŝ4o^jX&E fqpMu60T3lƸ֭dX6JX jֻtSt莞rMmkZ0P YǕUc;7|?s]LOxwoX^c?e ^͙pgؗmB`WQcnV Pw\ӅoKVV꥝5\CfzR!\ g(gvPO}d e pjEV;p HDbv[Q&T zw'# E:& ŁR IECS'׆d[F~"Y–85xˉE,pxMw'ǥ+`0][(e44xe 1GmsSԲgVo*ۯgj[il&5 Bz\YYlh dLU>GNs c1F'OF֗yx^Smx}c,_ÂCϙv7\^z/M--mc^6TC`juʻ>]%cKoik{3cnX+rļz!Z_TiTD*HOk닮cwL‰/0v@ mIyK{k:j$NX-T;!_ĊhwiTMjh=i.\uN=|{Cc[KG76v3kJ-E:?pnjJ_OtwgѤ;{!*G?vJ5f7FTd3ŽQfGX8f:y1f̦C`zβV+m0,O4Q=\jS!xYMVf6 韊QkAL?,L:np )QE;⃗BQV*)?hg3}zd6YMPq/Yr["0(&̑֍^"V|>wH0O*ғP4T{B b;RP./XejB* u@hb;"tv=įtm {:jVwEK7*fdqAO #7WB a&z+ZcKh=$0ךS-V4@jUCsV۴jMX`?kyg8&0C;(Ga@+5d1fMHPF*l>t-F6XCL k OpkF_/1K -yٛoح.bZ| ƴ]e 5\ b M.eoZc$OgD(ő2JOw(KP]'{뎯Tsx{a@9 שy5OXOT`?t#ioS:5M&9GJS6**O]AL촭b}jӴֶ[b(B7A>_KMrn)3fW'EeSa`Ml5Vʥ&j,=%TDxX%qi[ϰ,j<荷Vu[ⰌcĤjGvݞb&ͺ ^̌Grn1Cs׌ڄVY& ; /dz3]qH( FcpL \>B苕XREQA(]H&q:CbN8C ]&/\Q`u[ցb=iX#̍j<'TL?W)Mͨ +UUH:/ kJ=#$,ޡЉ5uPMC}csfF`*פra 'ubZg$a8س-/׌Ɯ{p,Jͯ@߭ZOSBj&Dmdi참a;F .uy-145 r-8i5x6C&( +쐂CeeLjmXw"AM%N8"7=zIȿZLD~Hx6[H{ˢ?nEv!\bom7>cw{,)׵;oPU%^"YKn5`#~[{Ӫ9 3 dqx9ޖŲ#}ps(&`,pL}`iX: S,! /F.1`售WF/,YePؿe1W1ޛf{&? TpƠ3ݘ0kl%?Z쿽1otR_wW?}o7J7y[ZgL1¸6mkhC:n? /{/ @/SB˲2lwpXk_BbZV UU l$vs@Qj)2rl!Hf!!\ ot6p36JV&[:v\bى+߇C/\ '¿Iv-׳#٧ ϙ"S[8#=<Of^}[__vs_y™ޱTgO21{KO= 7~}GMG O.{wOqC^~.vn߫y's'z qgrÛn7:ߜq纇9<Ӷ+^w]o<6-.Ϸޏg9ţ=tgm]3gˇxv|q%w[_̧fv}բc6m~ǯu0͡_f~W\6g?8uozG?kcs:jԯǝ-?l~\se?;B6o|z_ݯ5EJtٯ_}&Sڱm=7֯p'S#+:W_}{ x\y3C_t7۳g6t}{>/>_.e|ϗ .mÒ|MV> _wRͳ63w}ݷcKyk>{y 3G{'._8yzAw>KNc>vu>|j3cߚ1DŽOse*bz#a]g?}Oš}ʯw?wwM]Y?9=?})ٽS׮ ?u睳?Mꉏl}k?Ǿk0[ù?ǥ}}W<{{J_go/M9#|ߟs>_+ ߃݆79 8ilnMyǍǦ0^U|hig^g&~OtW%Μacp6s/zo==xz.GOz7|/|ݾGV}U7|wN#p7{9#n>^~3V ^y}w9o?W۲-Ul_~uặ>򳝏~=nGO<1cAՀW~/}~d·xsz|'rCwjG&~l^f~aQ#~ԧuf}p5>ŧ;?pɟ&>Y[//9_O=>:>vݱ˯ǜӣY?;TЋG|h͚|CxyܓOF}^?9RՓnpkxލOlavnjo|/~#w/ti9jkܪ/y?\_F_o|}ߜk7~Pyc̹?K5lsz˩-w>s8K?Q]?je˿t9ۿ%-=vξ~N\|̓_􁏄,y-zu|?D/ٿN6;'e{.\s䖁{NaOce7-=7}ܱ%zregT|[*5g_/\6)s+O߰-|_>Y O0OK֯ƿN|N<}_wgW"aEzO,X J}.MLxK; ne J[tok(FN}O0H&7(|6Rbu"zUh ,]6j9"8lR#B1- h ŞRGcGQB~%QSU!bQtV,ͮ\ aI!tB/9T"I:Gl~8#)vZ:ҕv>*#˷KOroeL(ÈXa;n/U&kC2,΋!d9W0:Gݼ%lJ1"QoH0ý O7dA]b *(`xP(6l@zņygbIMOr^̾ϴq }E $;U##8;Eeu;F5ޕ7s>q~v'@T )1p-%d0OJuc,þc?jBz(@\oΈ;:MN6+DMi\U4A\8X3Hf@Ƅُ+ʩl]( B3#/ynaLp;$3ЂZ1)l[4~rju#)#9S'3Y9{#qSĶ%Un pU.$\ 3[rERJ6: zȟ f 7$ۯ"P$B$Ly5|)2J56PL8ˇ<,QjmLalRBܔNXF  E 1aZN $4pFO0;Ĥ% 9M*_P BMA7L˾ t _#sc->LjxHU 03H0F!y,)a,? G`fy382>l3ʐ !G$'1[5(PTZE)I;Q<4DIl<$_5„JkGpYS:-MklAIa"d a:q3 Y+J6v  Y0iHrڲgHrRB"ɃRss˺.g"=16:6l1Be >!*J)&͆e{mwTRl>/*ea!eX 3r`]eCcuذ#‚^lQ|:]i R H.jnvl/rN^:ØKF]qzX?_ɤ ;hFGtZbE %llޟDkANKX)i"hA1;,X֧S(9hj$VZ7K3}pp;eeV`P`d$Jp LR VqfgӚ٬:aQ[DLO (Đnh) j4$a6uįVRq[+RGt8;$xHK4(a!BLjRxOJnKSǮzJ8<8z2N%Me1Sdp!{#7+)[< T:}VS8Ll,4Gjk.O"klZ!G!* _"BFPzPC,0J{(kHĪbVi1B ^2o64a#3S%*/RZ00Cɹ'Nj3lTIpøOʹ2FҘֵ\qNdiѢG|',ƜiS2Uė\fp1{EH8Nj7aNG؝M=oy^3H 5Eq,u  |;BtL6CgÄ1*'X "2s"9\pjCjX"5aDF #[Ѕdl.$u_bQ!ik0&g^$@+T&,e} #fFRAn%*;ifr],&mu>yΆ_Bf"4Ƽ6qP%ucCbFԮPhv7 X:͚0J}EKdU5 lT6>f%m0WfjѼz)+&9HcZ:x`άؕ6:X`B]HUc#btJۮ̪$H̞׮`M" 4&l)јeٻMkm&s$XhKLBXy%b! Gx35X [^Q+VI\sB'%8VN7{3 W ęb4'*.QTn?:_"O& p<7ojצ\J`E,)d^+v ;"ǐQ"_g4e,Onp_7]N+2nⶋ<^e *i#G&:D,RIo;L Y _ Yc %(+;ZۭIEIKV/fY OG wRY3ąR5tYA):D}3ly)# Fع[N5ԣ$8~Q]ݓ N(>G]%rMEZb,L:yYdjQjTa2#ڳ9@ 7N jya_c!(0>JIHi [ƖJ y[4,f m+Hí s-=C*),'Cpyzg0µ*dzPi`(4u;{yZT^~pUi!FXxI.I2%?CEo:[z:@lˈqWU zƯc0sVHJqOa[Ҧ.gQGV_b"@+-b+,#Q deGJ&:l~(eqy2k5Na> 1 _8޵XZ.#0^^ᶒ7I4ͨ%'XKӄ ,ё?\OO6STv. 5||KOIg-rSC3B{s 3Xn_3g3,.>Xi)jNex 1\hD|R2 r^B*ͣdyREƺf+!N 4Xȏ2a-*CQu jU(=]C,gvQkt;fQu.w o'ȦpF]6 K~!K-sIV]tiE٭vQP_`)fOKZ S)>= Rh̜;Bz-l7B{&匦C0 vx `׺19L#QVsI0.XD-]t>a_ܧ#5ј剞OBv6\p&JzS[P(38t  2J,P>/_DGMlPzPǵ3LS (eb)ɓ Y6z}W+Sefn:yWy$BςMO؈ݽ@i-ȲY3XHCJWg Z8Qq93@Rz:\e$DZ$C&&RӪ˾24)y#$v&W d10q+2@uqem!.>dY :DxJ_Nǩ#tߵ:-}}w}ߥυ2(Fohw{!xFrrPD>fS&{cϽ_68V5Y)AWjfje-`*{30PAfTvP\̲[6 QeŽ_Af4D;3r-He@?f!Z9\0̗59c ?l\ l'v^N=]Ea H%6Tւ$B`t,~ZKlUEY l `f{sX#W-AȫZZh@JM>ƪmr91CMj`j` +J+RvZ]gr02Ҡ+W}lǎŒ1r½w\j{VR4s`lNB"jݪWfק;X3 zT=-yV`N>901Tp!F6нWn+ _QJRVAnIHa΃6=(v"%Sz F Mk &VA兼FũS!UY?r5 kql\ 2K^OeF) ZEkiށُ 9`{ p<3|.PbaqZW I4 qMfu,Zh+V-lLpM;ܝ*jb-DU֫949,#W*QP@⥧\l\dcZZzC>{g|'-66m2DHۆʐu ,NPQV4o (b PɑhdB0 Iɨs2giTrkE @Z*}eʳh3lw$u]_k֦-mۢ ӛ665KeEF+0cƆM+8yj“|xc߽q`|t;`nKz~:0G[?le$;N6e2xyQ6o懥ؖl>^\W2a=8BTȖ L{w=U>F\48L5: Шh o?u"wjwкv`N͛. 9_X|V/^7?0V]^ߘ6aqQ=8\SVN*彑2nYXPT>IFI)6NFCRNmP3;3nx.sM&^A5/9=A,Oi8"=?ڛ|򌺎%oQ->I3*~qVJUT9r3{ =w=UC-}Q]ǂ{;Z<ʮ_# <>8_SʑVMJVeVvI}҃^簓g;Fٞ& EҌȖ|TS\F5]R~N꧃5L:"]9jF|6 f&ۈ!Z s|J.3X c@M[y?myE53{<|O_6p>G򯢤|>ռ#; mepNjDaG;vŊkUO7AEgF/D1<[5TA7l^瀇Utz|*]H,8  El-zH5bk 9 '/C@OQm~:jR_Τh<@7L"M% բc.|k{\#)ԨWL@;8EYeRzAy@GR@2GyY{N/yj+2((bRNQ)0A=?@pq"L]~R9_S m +B08zvZ-c?O9?95OL\uG\ I%-Po[ISҠ>pNYy,pBCIh]A0yף>b}!5GFؑnM7K Pה~ ;ݑnyf* iyR `.H@45gփ7ߌ*GtWl(@~ 1j}ʄ!\P^cTn$Ǔ'_[t(P02K+1+7@/ݚnBC®<И \Y<4j7<#[Rx򄩲vF9]í48x$X$zF#@9f{|`לcx2RDs*FR'%1p\۩nЦ!MDZ3#BuFȂrF@ [vG]`HP+0K@ӧ%e3{ĶԡM`E-TЙ?1>w/C CjR>(# j :}AewzO@ɨd&jUDu4l\'9?a6q"VVT"|gF;%79IhIV@E2]Mj *@7Er$ayj!k57PZ+]Z>=rk?&NZ@#|e% e|xC@kPjv=iReAHQIr4&su%NpZF-&/u3^xnM LOǍ*jOSqg *REZnO.ys͂K|+YPЙ*{3y`($Ux =Ԙ+,oq9o]}@9c" ~|?fL3kcX6*oc^Ǹ bIER*,`Ga<6`eH"s-d [Et\],df[)YyNͿGm&qv2P֪%yCMun;͇?=,}t)89\Eb} YÔ/s'!>"\V8Ҷ7Ӓhr` jΚ"xHR3^BIfihϳX~BJ'!8ym `' H}.8q }!_s"ZdS$Z ӘTXm̳(f#=!JSM\sVȩ-Lь9^gK}3Db4 S+h SqLOzuC k$Xup[{<'=&͢IgXwlX),BzJ<"W$7LUTcdjtBf?1*6|.Ïgo!pVI@ac^y+/LZtQI6r%(M&q31A-fd>SS0 1!ha`FEw 4I'AHMlf+H@mH#g&dG`GV4"m"ǝ B0=N0c> 0 -V~]#kfwX X 5m'[T=L}[d][Bv;fi5,T7rg1\t^$( OQwgXjQAdjȪp;>&6"/.V|yx?B&J%WV6xSJ!c%P$-٣l~6zG TK5u@yLӸa?O\Q5?kx4Djs}8aa}ΨY8OŴ~P,g՘WS 2YX; mxHSs:D|D~ Te HZqIMZD($ /0 >ZQ '8a%7`KF7O6HZC0Mu$xsO˥&3n9*3xAN`H(Gl#B G%O#y+m1d |kJG`L[|<^e ZXC,%m~x:Ԗb]X3+ԕWxf>(go,4>lj"bpټ'Uʊ7UIhL4.Gc aK,6Hk]ٌmj9K2M45_Ӕe] (R#[̒iېPLP XD:9 aWt(i{^pTgH01Gs'(:+N dn1Ȗ4ϫ}H$ n Q}rE"f(5?@ .BxE&AT2 z)"rHǴJ&xW8%wהCҲ[xpS*\V_M^ZMBZt/9E1aYN< 4Jvd[TX ŤjDZجu,Fe(*+ah$kc*0#^en"(l4_1|NFf? 60q̈́^$!Uy.'q™i.Z]A=efLFA :`PN&g1ȝ!ǸUZ>𩠍9;SGp=%|J6"[$)iFr-F Xd|r>Ь(mR$j|f"13H&  Z9!q(n#-cww"p"=lǞZBZ^b^r9HzC Y>cIyxUJ9s"ؿ|Rϸ3S(d & Jvڎ!q[(7?{_րE%\&?cWʬ.Vxgy+ })\AΦVȷ>Jz VԒ3N+/ҮZ]B86L{/ <2\a i^aM2s6OTo<}A EC"0)eOmB-ţȣ6G̝r9>d~LU/{>,ZJ#w< 84hT=pΠ) S'3 Grص&Z&k 4oS.cǑeBuʝwl:%[/'IZ(X)2# U^_L 6bG͐GUЗM3ҋi좰YrLu, ֢QT+]R@W@" CC=SBx¨㹈utȲYS =14#xlDlR9Zh RqRQ,9_@}hybP%y^"%ۄ4r9YGaS,RA3D h$_LCW8QL DL}=<+h$vL$%AR抏cBEҕfE`` ]><(r2?<;ݚ7 Dl%Vz{"n[Tǚ ~zc"-~GK~pKU4 Y$J26U+*3*3*##՗<` 4\`Ɔ46}yab+{l> 81dV bhU7VUĉ3Ϟ>jY$)r-˳v W DA9YmXT"qOeI%hLXK3"JHM!e2IRB(*qtLځPƅ-wIM6g*ף8\ÈnC"Bq;0vn-OiɋS(sT&UyZ.Y5JoD_~JIDv8l=eMu@Q *t&)x,%XK59eÖh#v)qNPS_ҌQky Bl^Í<+Ay|dtG>\D~3z0ݠ+zܼbo2dqȺg :֨>:GZ$JTfeK`L$m׌.!TBH⍒Ec3#Y/I$ddIcӏ;YλbeHddmvQ)۷Q^Rd Q^rLGnsf<˭jT|ety5]-T٫)>Y`X6{qMbm^e}YZ٫ j~M ZB1Dg7kW墲 )ʢõ nH&M7i45 ) wBrŜ~cVR|dIb kKjX_UA35AǪq]¤m oVߔ-eoMMuV~ݲ]y߷s[4JqnT=NWRR!;4ӿeAN9MED,P6Lj,#krJ-%k뺜# U末I J勺<ʜHJ|+^ǘT!w6t;SoXmUd1V ULOF'` '[M.XWLʇZ䂞!TCOHfWğl5VE:dXBJs{gZºd!]?#zc{ػ=?ޢHStCߦY&zGw^ wW;%"ܾ2I4t6;9(Z;=oyߞ;;An , ڞ#㳥خU $l=yz:H~Pq$YZ_.!CZ{Lv7p0`ZS1smSW6ۖ~[zJg͌:ZAwޢA8i@{Ӣ ]mwVi'0U;P^18D;(7pA<0˩{v~ ac=&ŻojF8tJ >݉]u5=<,N͚z"4 C58A g mf9oOVeae 30yQfq|7FqiG5WqώojY—մ~ :%P*cB;nQƸ٠M_l  VI#!ZNM:@G9U9DL>>Yrώf[# ;AS)"@h!-nԠ!WL FcT.*/NȹdsG$59)Gpc:drE6NB.U )ʜ9 ,!UX:,N'$( tq %ZQl}g~Q7rp7{vVD3 6 O$.M9gRP4S: 7i0^jLhῑv.Vj|M㜗kN>Gc ar }4jD2G!ccx:*MSz%Jh~@9*VYz2|b+oZu0H./j[Cfk2$a\D|1pJ0K<&:Lh]t gbpDz.? W'&p3r-%1ݪ3! wv#:!-˶;s7?J)d+P僧"%$,B"懃{2J$fL]kf*dL.zɸE8 1.Q 84l@ubmf3l"pX3?/D]+_(?Y_߁mq!tywF"IMʓ└~`a{C%:f7,4LnܝOp,_pOR5xp>xE{!I \pE|: HnuSWߑ췢QKOץmGiL4Y^`ņK -M쑌z+9 ]x&E#!S&͏8$oCo%8F2R=E{Y'4ЬuN+z8'`I)`[_@78`\R6EI$Z ^\&쁐 _`2н7qHyьmS);r_HNqK -(H.z#IY멪"эa'4UZ3*^(圎NFr/2N_͵k+ {IREk;f u5si]nߞB%.:ujśD)0^:Gt` %oF[*:&G)wD(|Ns嚞&|ĵ75;rEfMU ƊO:4yxnI*B13:|5|%73=$W7IΐY;g T8ӡ?BFG`nlNp(bC2*Tx$H(OP L2bܐ.|~̡Lrq=BV)B>2wt޸q~&pK+B^vN 'mLbq!quG7-]AhKakz,@bg PKt%kaD&(Q(RW[AM)-+ ^sc6^h+I=?1u|FaPNxmوhD Nu<@uifB':Dجh"! if1 akbqՄ/qWxĈE<{Bnˍ\+op""6#c [8h͵%E;b; ȚIn\9[ ^[N.[6ۻSW.6j;A-ַ݀lwdt8Izd-&++D'P$S^,Ȕk6hI^;"( d|'k"4Pգ[(TN!W-Y?C" ]vo63 rB@v4 $B:f\i}`>oϾG{؃J樗9cfxdBkI\:2CWheI{wgEwFB +ǃY9(忱Cj7tl4ia\q>ZC%Gƥ&fZHSkIZ3x57u,iץVS;].?]߃5}IRO1efb~'+iFbU]#ߦ.DuZ&K=XP!Sa82~̥au7(rXF9 ã2+Ap<2/#hG`#1Dda孺j`'> =Avƈ߫J1HՌd( ! 7 iry+.ň{RD8]iݑ]܂o rL:oUr"> Z0&M)Ќ (:y,x%$Ue AM71fdv%@)FQܥcD9Wi U Z`REcڏN3׈."w,SE؈ L.৥ z xR: ̰qSK'Q,:8tCb\]?^˘Tc "*ۆ|5#=Frs٬2Ai ]'y-8BRPɬCGmBԣ}f>k8kQD)W̑/Ltl?ދD`_y8u:k?~ijxD? *~DSO;+ϰꞸ=h-Lk/JёN UP?g_?ǽ;4{ʧ<}FO^?yE Jx꽟ȰbseP$ic޻B[l="ZcL`gݲ>=>e3u̮,D21I yi`?sRE?;sW+ݕw忻]g; 5ߞ$vGfnEd0"3w uHBZ.\"== WUBL].P`=Di*?[J` bRZMD9={ 1jSFO!~ͣZ2L.dr>)rr Aբ3Dl#֑TGp̀ Dˆ+)O!pДq.R_<.ЧϤK򐸆D5<7f8( VWv9t*z '#% ׺q9"yeYJR! +cxr&u Osܧny<_띄30w#O32nN5U9xOTO Cs{AŴ(\(jx'tT0 ͷ}S d"=D&!k`LGi}RS1#7#4%xih {y V Jij $'@ţD@zu)q{i5ꌤ8D_8Pq;qCuT\;\:C[ܿTg/{8!|j|=1h_)ZM$}KCbmte]S։0tHTڅ0H4!\t: DgWgXv 8qeq悀:CGCT}*i>i]hG2г Rpx3tT-T)XŦ4 +.%es+/ E&DH}X݇c1p̾P/ݧ2JH2jN4)չH R4d%գb`?0(~Lq%Nn'Jlפ9LOd/)Y tt8t)7X@Op2di<:1z+΄ne,:C}|(5PZ(xP,l-T}zcz<-o)$$B,Ρ=[Yֵ Fڞy„85uhR=}-,[CÆ)DZp+raX6#bsLD7*k<jT3YK=񚚐?E Q^N!wtZ'& pC4V>e"A]?ꠗNȹ5R2 ed,Q$Уyqe5GDx53iB 7ej .$RSWA2!6f!~fU6'PДubןv0 Nd^ -á"iwx?:ks z_Ⱥ3S6e@ZI`.!^²0!J7ܞ4i0AiESpH+]"A)\sR @ W`5}dPhx%G+C&9]•Dh[&h, F)f/X%-} @޶@oҲ,x[=U[<_8H t7Q-"<<1fچlY24s.yEvcNxf&lqn  fQ|O,BwppG?R$<O:znV a@ͱy3B߁:M"6buu|1ez$@sWf$"9Ke?~L$8nAvc彖;i)MnZ5ĤCm *1@iY%Z]ܢU_syiphj0 _φ\6oނ5N.,,ĄܘZïhmI/@(cQJ dW@RVH4962dӈmo*C/0-eU+NB^__]@ޥbё ?J2W ƠTZfOX qm` R0. `ʸ>n\\ '1H}2J@$͕P ])Zh`eRF~c2IKGɲeƼs+׆ ^ămt9摏Cw}dn~Kwm֛$R.:ς%a\՜eAR΋SwZ&f9DT/V![R4$~!tgȠ31+ 6> v_ ihA+^^7O+Z}fL[-Q,@j췅`c1 i4Ԡ#Ē`$ff!r1z@.K-!ehyya,'Mi605dͪ7 cpf/Y&q1]xO?4m[:4֘N9!&}1iEFv#<&Kf Z[:)=6ڬMQFL*I&Zb[_Pd> z XVhM4h{@塠t[s)@olqQOKD:O7LKH,U' |-茌^LeT GbEڢ  E,e@ᐣHh{#T2qtQЪcMޘ2 I7WĄ,b߫'4,yb4A>1 " 'v*0帛B.|7,`.* !;cZ}{*rG"Բ d4MtUN"GH?zz s7&l:fkoX4ea^\-P+g8`yw [Xy1,F3F|nԘH-ʓxf+f ~qZ̝ #Leڲ:\`lW<UxϳͬZNUCJ^<}q&PciMIxQ]Nٜ)8Z #ĈQ/Pgj`5UJh* ?l/2@ JLhidzjޥ.w<|g.(68mBN30}'7nӤ,L~ў^ȽyQf2wFIx$rKHP4\Kg2r |Ai)kn-}OZGk5Ho<h?=4)mjWAlCƇCҪAEfRY5U*NU^5$_j[Т\(M9 ,p|-NS^F1 ¾Grh)=xvlLP>>h7r#!ux/ OId%=7==\\+j V_)Lʱ,:;g؂wEW<EO‚ 1 &FKf:#| 擦f=~XQ@ͽ JX?-_5u?aS_ W9gkP 5}(*9r&<(ԁVZX)%%TWKEZجWVgTC)y$jm*DbrdiUMEl gsغiUuFR`ъ.Y꘸YDBM _g:LchK^JU! \֛́lMQ&zNț4qH~sI_^OEZ6R&ТRZ}ޮnQu@bsÇ r)!Yͭ`X3F9JyBY*dw;TKZ-6l /*mHfgnRaԧssʋ=|VuWmou۾s\k"Ŗn ҹײ6D`ERG~+rfL2C- Sα< 0K,X"Wr@w XKgZsm/۹7gٲ[N v&KZ&qNwpowg;.iᴷӓb/6o{-g0^y¾&1o}kn(O|Ԍl;]Mըd+wZm |;}NVB4 .,Pn@huP{%!+2_ކ*s"_V%Qw\rNmrG11_ sZMUI6K4$]fFnyo1u׿ݔ4}ۏDrM|.7(XwKs^حeJ,ͥ%eYǚM)g6qPOyKnVIHY3j!Ouv:Q6[ 0CôPd0ʘk"ĴGppsߥ(.{#s")q I1V3qrM}7KFw*3;BۃR5r KzoBSsbE=߈ #g5 7u[/(>7-F(N>~y;Fqd !>uŸo?'zR9qcDm,mP$Q#? :M>I4j5I4,Jҗ#>ͯ΄*V֏IRAvXm}}qTg9"<8|=,sL"#u .9ot7K}Rc݇T;; .}TrS_t""O:c1s }A|fQV| B,'ugVD -\4Ɂc"yV%aMnBGB.* LqAr֗)|pz5..5j^n+|oV|.)WD$WHt,t)UIC=F>XZ\۹Gp' Ӌ>&~^H7w^w;U;ɤab_茗/;Pݻ5ICSׅ8^'c)iټ-p*67]F0жZӠ|65JlZS,cs>ȷ1&Z2ف>rN! u\Qvd,҉R!O&_JSQ`5p۪Sq)gf3 KVZXH؛XO7j8sM$*IDz ZbtVn?lvԐE밊'+FR4g$eA*`OI*˃NV3)%?ȩG,I\`4ZPJ Ԡc;eGs5<4ˋ+FBZdVN yp&D6Aa*̵p`0>/p;AEH ] `o(G,gઋZDP 6 Z&YcmG%RW>QQ.)*&BoMRuWX2csF>h7t V-١Džp6B3Ϻ`ݬ 8R_,]>?j]5ԺhNc=~Rq>(+$7r;0#3- h1$T<Z͋j54jC_CLaD8RP! 9PhK4P?' m^!(eXn#Qyņ7 HzVn<4D؋Q,tk*SnvLy0#M2m8gSOelHpӁ$fm'7&n^ay4NZYMd4. sWszB/b(;@]wwgwǻ_u|w_t1w;~ݯ/~y~ʻvߢ/In}UǏ..~L~˷<?7cK~ =b\}w9EDm__zc}?~áG/#K+4Ȼ_L/A~LEi]wnv;q;vo$V݋Bm}һ_"Ζkw([B;߯?1>%/xA1sH؎F׎ABA-4„zR3CGCՠLj5QNO tT~6*с}Y21,54?ѯ?\K"s2Y(FafN/|#z&w_re<̘W>5} w%U\#ş7O7Ri4B U<wW~' }uZw^}W},s4?# ]>y'8XSm"xuǩ{㋾PU&v.ٶ\i}*+3࿜ul}͏""akv]9CǕ]Okкzgݷ z7NB3YgR?,NObN/ _% k0y"ZA;ͺ!X΍9)=_4zxJF=7Yy}%ZZ7^Է/=)ʐ;K}2R¾u| u7/SsQs% דF ttǮϮAMn<5LOYv ;NvEJRwd"zn:BADdulɷ)̨OI6  SucCǏHMSÄE&]?" K 9!NfkYz-OuAr0vY)K7QEw f6W! d;]$ Q!nwcǬA_]#ڛtȲh> o|=vADFy.jTe-jC̥}5ѺYu\UwvgJ'z5a"}#(dT1~pYy7e; o&I#u0S avM0lL3윬$5JVghsPXf%iTr8?v +g蒥gBΪk|#nc rj&qN8Z3Fڬd ,BfJGeB4 )Aj2@N%Q奬z^ fYp-r`9 xk 0`b3W<|Q}/ (d!c;x&N[wvzX[S2s59e0kԤPW5zZ"CnbM;^Rߙ@j9[(Pު'Z%3M-?_&(_iѨU 쭾VO 0X-S`7}7Dڷ&J1sJxFMZm c4p "*mؖll'v˜`C%ֱh@)1&2;l:gl4$̒N&luK9-ϬWA)3 @D PgP%մfR)졕n_;m@Hlێ -s>(J0l}\xOEG g_Bm1l[6MBU3m+OL5AB )09Λ:.ȉlTv8^Σ(FN\4w w4+Vl:JC@Sw>ӟy'Έy'#x%ȼ}Vio?0EfT^.G& UρhF:3UT:P9}Mvb؄iEl~T9PJ bK7"'rU'mi3tzF({Ϋ) @xK!~B4-Q) @'uv@mR a7cZn= ,4u,=ۧ=.\+|(Vjq-CM&l!Yy_vm)I0)Clpar{} a}Te՛ÖR_A&U$MA;Ԇ d0쒊ĎĨ]Zka@ugW#zwInXWHN52圴fl VjUKZ]*ogypR=k+Fï5G]?_Uܠ=}]#WOօsMڒO]ټӏoQ0}LQحaa9k>+q٠>,B#G0fQ}r:f$G`ö9 H iZko0w]#V[{l')s`AW;xs~Qm>tz.2;$M{ӍoO:l> 11w]ⴺLr^8 nBeik+7J|dpM;{7 pJ=(tCȆ ɆpqX |MNO7qvZ6 XsY.kŕPV %i*I^Jd+_zk559Q/غ N¾IYtA1ߧ?$# ΓtI%{vz&.!E꜠C."Pꘘ^' ` ڥX] e‡MTE6aO @6aMԍfvʋ9U{ uMLhlsSGcJNC4"h)> tmZ6]UN'WPɈm3NԼf싏 7^V҃1'rqAkd6ݰ|vʵe~E1AAt}hq=!_mBmD؍VY.ZmAЀHVZtP-W=u0Fx|T3mdmS&[L..aV+{s ːsbݕC$DNn# U`CDb&ԴQe[ ! ߙop mO60faxmՖ)=bĘ2%YuSZ5ܔ1#&QPDj!O' OU".AP*e΂jv$yP*9 A|rN4tSY˷?u\{b,@T-aaNBmBM<.'@8ȴ+$23V jcQDf:N@uq&sDӠ$  P+KYG+fs\>YTNz*;a˭9KYV=&~(''@"+vQD-Eeߥ3-("~Xٛb$ʧU)/5rR/yotgs.bD5CE 7/"H'](ȱN5N̐s nzq <#b& ġ 2@p$FW nbމ0M嘔p.XE!VzN7.ocqXT..< oKA,FanJ9nF%M+Md(i I?±A'f U(lX rLpL%_"XfjSIgjjjHijzC-B=} a($Ϣ`)<&(;uHa _B' 2vf`Im%P ۵(]G@wiiW]A#eXP@1CD6,IiNzwYpў:ezEZ%brIO =0weQx4ljRo&6BaܓRP@Xu \#IWRCN5ru\^GJD'UɊ5VQr0@F j5 uW׼ Db eUeqd BaV ׂG+C0SnyGʵq8Y9"M`s(\jb*>dWi1GV 42K묆Ս1#{# c3i@$B /n43 fE%*gcO&5̳Ȕ7]o?`}1!(՜B]kWrLpf6h3*W̞AqUbګY)TRthBv#%hnF6lD*[R4B#9,x~Y)˖Y]e&Blu k IJH.ePI)lU(( v_XaS+m,b ŅJeyuT~coǐ۽ @+o#>$Q]p+k RcQF0{vY3B4<+AsLOP mYWDK7Ei#EfYLA MiuuQ7IQ4WNV-/ODv2|uĦ> _!i0)C+ėDľFhrzӊ[N\='n.}n\9[NaU '] wkȓ:$i/Kn|/=CU+qZ/Br 'Q ߜdTr|xɤ:+omI3h y gz-eI11~Sհm'Y* :{d}r$O*C6OZ'&M:A{%N9Ocru/'cؙ6$ͨ,e˼:tdQy0UC)\Ɏʻ|ԑG5*ɑ1;VYmi߁OcG*6> a?VHqJe@1)JK dvJ)OO5D>fH H$z.[Y*cvuNM=;SK%mN>?L]n5j dVc2PGJӄH>V9\bHI٠YE>iuzYMP&:/yG=?SEZqjsbb%uyY}Q!> }-//ryY}.5rM=;IAX(nw^ jAR/;U;GO;}̜Gκ!w%+dIO+38">l쩩>a )[&xE\IlHC:a憴jDlm \EdlhmR%7a_؜,%S_9ߑCS,[EcfW"9"ʉ,krTe?Je(h챨 ҷ.xeR~DVW{QմwYd'BUd ~5@DF+@giDZtrTiXFoĥ ul6VZXMꋂPYo;ᓒ&ҠT!͢RFW!-ʄ>! yC|a0h7iukhzmSam;muFȪPEbsv2ȒYZt=duؚZK⓰koU[ߴ~rS$_lZT'$PiBғʻw{Ud&R_VBϵņ:`nP¥r\mQ3<]-IڋNVQV&QTJVQUy Յ;=UI\v.ՕBeN7~o-Pj9ink|2C{a;"Dj՟Q?'o_wwg;?J#%%S /xYRgNGf׭j}.Mtn\ |G9>`?-dovk8CV~Gqu6]n*4&Ũ |'{Yxںk>kR c1vz|EQmFK6pj"+.t<_Fh w[Lp vHI̋z!G_sߨj|u58]C?TwWܠ;nxhzHXw Pӌ8ű)YG|iNd'rCR,a#.;s[ަ}4ь]{cή^,(5m`쯭/ Z?66H|T)U9՘uPvK*^W'M6AQ;c207xq?//W-T@h#@i"ylYԜ%E]ORz}[my!ڠo:uqaBU;1L(!Bm{,\C-ܔ>,l#k;"-XQPDdРQK[Ť#@eCƊ=Gu h0TTj3 ܴ=ȸ F!y,aD<]heٺ꧜|{s 2etٔ٦sWdIUqېsפs3},\B)=m0nHp3^rTv I7RйJ3fBJM Y a^J0OcS.=;<:#kf3;9Jz&Df{ C1)A -gD4]{]fVau0(@=\Xĺ~: G8!P&b"7$CY(,-ތ2*)N!'wT@Aڄ#z;nQƒ5; ݊-\×wF_ʋ`BLnR61fM}OŃlj*1-7hB:[ߡ %N=)%Lq,!x~TQnB#Gua('l}r*|BiF}OcV/38<W*k[>ԚYMqӨx>P8.Y |9\%`>@-(wBXv4҃zDR }^6ĉzܒn=ųD^3TPvSZ|d9?i9r[YhƁ8̇:|Q[$$h.ϥlTq%Qp2ۙ:uq2;DZąf'Q>Ua|^Z I1`ކaTm`/:I k5OM,r|ku9#'׭Zaa!r9- _vE5qN ʃf-'6\aikHT뵞k^k&>LB{U1) 9~Bt9RU=ZW4*^XRܔuam-炷‚o-/ G4x?إgXC5+=󣜳ڎ{'ӻw޻;fs3b vEƠs\sIL؛֎`K)߀}6,fBsnnq'ܑOPg>#zMFws-pѥOTom&&N:b䞏6M#ˏa&g!62)R>nsYad =>9u)iu&R'Xt|qfkI ?~wT@_:?U@Ż\6^.rU.B3 "ߔë-UU1TB@mA%zBJB+Ҥ8t, q n4"V1 SB]v.°^ ʴ/(I|)&ճJeT,0]Tjufꑪ6_3HգTVIU % 6Ԕ7Akr@Jr֐:^Bb"Cv-|1DM;i4Ӽps-S{/"4KVoFO׷Mhdm~bd.LrŦ>E< ,%U΄!&S+m+N n?EH@G0ZtT(.;TpyԒ$Qt?پ,;Ι>)'Ikܠo5!3k!`V7s#^Ĵ o? X#[ _۲l $A]2a{ :(I aD&hls2*Ys Wɹ!drY%|ɴ"m(fFW2X+{x6o_wP#Hט#`W;Aj Do_lO'-?A& j{rC<5**̀r#*J3:5`4̲1zy1)(<8kvQ.B8\BѶ1殙 Ҹ60Q.(|vWc])ˢG(0=7DM0F&S )0GDilݍC 4d0E}_& 5$4j_3gh Yp]L+F l =3N޹||mnoBH㷴rF&Ml: * I~Dۅ/sY#$~E)._@C H]%5ʸ"o?)߶P[v5{+L{Q屳sz_\(hK6ZKL۲FF񩸝P1FE7!v]V> "wt x]p T]s.2kyI3k[#r$E0ig=z2ڀpf}qnm.O^j\i Cxd+Ȭ#b{Pxi+3 ek39:Mg7A:5j9{.^¸=BBX@0oo2|X[+ jhH<6fTiOf"+3"M$0Ĝ=tmzZQnL@1X_α K}|n搃jHܶ"V\bv66fBʰGI OXTSCAV g-%zEh3*c5ցd.XQ6n14 rV&WeI}q29"n\TF 7ByB⾛u E$$Cdڤ@lDenB곓rUm^\ӊ 4j%0^JSDBi:Y ȉYO';h] J.xqTP|]A^ٙ;x򶫯 O%ʣP)Mp}Ga_ZX 1 j%yO<^sY؆z^Ӱ}⿝sO9KTFa96 XX kT G*[խCG\!#BGH<"3VǍ2>Q+aQ tzq?vzC㵏o9Rll8H23ԺLQ;DŽn6)L$5z]ȟ1R~DƖdCYfs;^1?dDu _(x"PVK4[;h'E1Ua޹2{;oˈ6O> U8%#UyNtѧul[Z F_5ʭ2)[P|-7ZMsR+݆feUveQrS1SXֽMQQi ,z>H1 :0A; Y$$Do#<ܕ:3 Nbp4Iwkg>oH+߹8Z>Osp5w?wggQֽ65C2"ER Ruڸ1B=;5 *@J q c NŭsiOf߶YK\|CgPW[n54M+PNz\K7! HMQdAպKD4&H. (As [k#%'a$#.ifgMyD,cݪO'V2$#`~ݤ,k"eç&4C2̦8eQ|O/>QrN_6*#J n-ͷ !a21Q-)wj3Q '/-eJ|l'Gg }iR {(XE!r%p 3$)$h}XH8fIOŒtUN|g_$)D6]]WxF%6aّH#1k5ZnWMP g3I5)8XPG8e 17nI: r ٓi3lZr}9M˾73ynL/Kc{Kka@ކۇmMaFOn $BSK:+ĞG+#zBlID#д՚+${HSI\c.m׼f:SFU[EUnb6nc+ϴΊQ-1=?xO4᧢:il{/ڌ:*Y q*,yJSEΰh3&f1F-:Gʯ=3j4zBEVJU4l;|3f2Mg H\aH$J T&(e!K(!KHvA L}}I3iz ;$!OT=q4 cgf<_m]u?3J˖_۳@U;pw~Q?oo]~K{͹;O|ݹsk|^^;7o^W|5z;OS'o^6ehPQk4x'-*U`P&M;OTI,ǹ}j<|懾i̖gyfKmˤ3Ly֡?^:&%+͗+7|K+7Eo yРק_#N8!=FWOhP0<3o^Y?-;\JaėiiXӴ IZ@XUs vu){>/ѷW]4<ϚeLͫzi-͘Wx[~?^ ?緄Sۙ>*|zܘwaE[ɐŲ40+ey3R5==;,\yr0G?҆<}nk1(=Ba$-Pwȫx0~b\OqZJSyb|L5>|&GVAp+u`~!<zEa՗ B_U8STZ@-BPRmtu ZYb-r5b}yUrh/^qF”@S+xX ˞\^:Fu&g3|ƿ`u75BǕ4ab<0W}?G=?sʘ$ Ч?ыruYR &ѧ2yƘS,RdaMGI9lQicl"滆z ( ʌ<'֦C6ucyV|P8 rG\Q ^:(;]pPSl;˖E(i69F`2Wt_Ơk)}=ĄoExKnWA֕ߔPf͆<2ŇFdE?+$2u]̦#nb CDN$so 5^@p^'.`>'Kʥ71n Ǖ^B--.@dP(.[gr9lg 0J Y8[}o zP,ly,*P_`jJAQaG7MY:lĒ_B0QnK<3Xi#[ V>NOPL/j +8&BJǩ*I")A2_^ (#Ϋ`^æYfdT*CN{γrD>8C@y^Y"YfNZfa(2hH),dϐyը)$qkӒa-ϵ6kcJeA3Wl&ǾRJkrx&kv[m 5^4P E;x{,iu4l֫D׊gƒ,.2Y78C)k K!tFQҤ +ݠ$y^WjoWRs.-yl"UH@'Hyy|^-k8vFRkB)| mQ*:VjPN "^`$+be*]۞D2ŘVIsT#5BqiV-~2TR! H|ePT8rŠgP+ Y9ۚ aޗjj ᑯ)(Df$'WQep5̂&M/rm 2Ю/0l(JbPWiƶ׭P >g̏F>-r46D_C(΋6U V`Zn4A:@z4Fҡ+T"8N/6hAW6B9Lh-VQ*C $H Byaf쓪hJuNȖrY\) cPd[/] R'0J9gK>MʱG|dQPŴ IpLbύӼH1*H6ꇮ̣|a"U;CMOVSY p8F8H^{URHrnD)h <6LQ4o'l!}G $Z 㼏I>*Z8YHV*1:S*)NʟVe*tz^6>V)w.¦ky"m(Jji󌲦qw_ʽk\-Xcԋ"58) &s!IX'cï+dAcaJaWYŤjU)d,1LZ>:KƔiE kgEӴ ǧͧ굾zu:%Fv-qZh9Wiq<8ٍ_W0=%YGzƜ!+o )GzE(NG$4*7ŵ-?+m5*'zx~ xS~JZ4W\=+Q7,1`t;F!^ AD%Œ8G׌. &|7$zU앒z.3Zr ǩVUBV3ebV{& W&m5Y3|<>q:E e8e5橛T 2-2\9C9d2Wg4T_Wފ!N9Rvs?;jP v’ƦF`n2$l \e@*x3UgN^#-ѷH߹2P$hUdkv y ʢR):pB?ĸ(p~V *qHނ EӘ^QC)-avq Jb5jy@Д_z!̙E3#rZ& ſ5Yc Y(lQ_:CGȡTnH޸HJecq&tnA_Ֆ4o[vx*xڼ3ңr0֫E.BAU t;%JA6t( U4-مydMkuUČ_/e%>j!2E5r􉁙-}iପ$ [[~$uECNyC24"d?3*D8fh\m#:v*s!!dn0)hkޏxƜ:C$N)L~#g-U @`?aճhX(i\,aS tL*]QURs3vכGP n%Ua믇>jIJ1PQ^KJ4x1*%)* #D[ow.ehl'hH=<)^~,/?3r^o]pU(ćm]O 7I{KTW4H+sg;UOf"xRXJ{SBnq%ה|VLhRaexlrh^%8Tp:ҟG;Q"yd3WsN ciVCSwYL&" ͭ5#)HEKa:X_W_/ ihPB7UkQBº:rLBS9DrCL}|eT>iHӦ!un<7$OVVdX٩݊r𗰷oV9A\ˍ^C|Ey![j'Yn5Aek2y%PR",MMJ("f] }5e[- u6fHM{jFTْ& w()傷vkl\Tp|P%9<1x%70+\qsGJ>`%nx!) h֋5Y9du,oiɯ2!Z#hQHt=;Z j7޼LVpI+mǬ>%I.VLpo] $@m4SuYPer_’Pb٬!\V ec&EMhFŲZy9b&}eH!}v^L]v91)1=7n(M!gA';{eWk7nXzԃfuԹCN0}:[*Vz!kЛ7r!\[P-{-]]Qvi◨tݼCEHդjMz ^ wlXlCӴcm6ȷbyj1LfBeȾ[vE%/0BXK#}󬄡ϩ@93}I%JGCq*c}mEq X7MO J_YFjy~TJ)ug NH \6q<%. okyR3EK&; P-2coӅ+:EUW-D^()uR[50kB ^w"l=ϻj%3% G,XvoY\a;Q {KO9C˪y:qCc^0pij堹,*9[JG(`H1{e?˃eeB;F(rJ_VNd,ƛ^x"n+Ng^tr-_QI::lu!(6kW'MU)LFeyv!Uk)j7L, V϶GO}k16X.d]G U%e\_/_vѵ=\0Jab]eB-NL5 RQVcoUq7GՄ*X,F-'+ɨcZgC+ybB@A|bۛ2–Tt.TՆNRr20ٴ l=Ȍ[+v<{^(R_Hd#)KvULe%Ri'O|*5n+f^BC$0I uL.9h;f|q|_,PM Oxl)on[ueQSdaUb7B߲Mp5:[ak66Rԉ:쿨w>X/ tLUxy x7 ,8Ɔ S\q_aZQ7^?-޸񕛯侔$Jmw-Xja.'W%++ k&Jy\g=e I \Bâ0:zʩ:"aBIb" L}0ŇBՕӨ] O1%Zm D: xPl_ͭoz*61^%f[Gy ^Wk90 BrZsY2:ѸR EoF]9 AQʎ)-+Du=F˜`Ti TR5FO͗E.|?2toE2>0&S6a(}{V-56;Q|l06TW`NQO; ;Ma>+;5\R-Ɔč-[{!;z)*I5QƤ]cV ?mvDɍSr59<]ZI!{6>m9#+d 7Y7kC;YWFw:ևVgpV,HֵQ~V,{7L&)P<ė뮱+Nj6jgw ب}mX4|_Q*߶򫏱n'T(B;Yy*3yG 2.Q54ey jI2g+p[Dqge.w1{_-ekt9AvX\d)5u岑nj5u\1⣩)eY$x;wъ1LG0% vT/Jnѩ۱(CnTn!mhu;*,6'J㍽S|>pcO}`={p=wO3ߤȟ=f& *ޔC4? Ec8 Gw.Jӝ3O׭u(טҙIvf(ά"94 9唿y}㋾UR#{M36#5wJ1E?7I'V7U)0]4vn|J[MtiԏjD"s7ԇ]ԗN0$ QMQӏ$@>{[-LeOL'iv̆Tt{㋮cIJҐk+j0Jk6y^5Ciڭ1$u'a۬>2nx+eP\JuoWݑ8ݖ2nJ#tPWE] p)$vS$uOܙٍ~:>:סx]?J?L _z6}ԯ6Iq mTfFjF'(?XDv,ּ9-ҏV%hW.DOGDDavJһNbg N^* h>M^?B.:k͒tH¥x+n7EuᤳDiR. /^{vɣ~<7(qUAJЎ < (;/$X٭I$DtyDHc~#r~ܠG#ЇD$#d~C(køpԝ$yJ"\)BL"γ]"Fw _uH41<7p7{v0#{Lҡrf2O˄:@hSާHߧL]DeE6U&nNJ'e+[Q\i[>9JX [hnۇJn 8'KWZg蓔Ѝ5|*}E?αQZ1?#K[aV SZ]'}$'q{Q; ߆N~EO]w2YAwF bg*Z{%ZI:.'a6^;X~m͚]f$ bMІ"A v/+>ChwZuD?]wi=)5% JF)g +EuI.iL0a >ߓ`9PQ#jv;n)N ?x w@p/p $js$Y wOb7ڶ=:+\zme NF_4L I\]G32FW:d7#ɵ1n+~6ʦEuff7$],y##h% IvZjC[o l=+> )=-9 _x64GB) 0.::[S- u##Gmw4YZ& }yyH<_{&ꁗY{v,ҚiIr԰zq0+6}uy.!”WVMR-əbw/.r'tfe.Ivஇ4\x:جy90&:]@BTg0A#)_. Q('^{9Kb&wvPU#1,|lZMX鹧]jo9-wx1h&^)K\uBoPy6]KU1hN+I(.n\bCFu7İF:܆q6Q7ں`jdiƄQJ֔w+x,Kp_n΃Oj֯ r@Te4d!gPVT]*MB_2s#Ay:4+a 5L£EIK,N J@8/*D Dp VYJ5 4@>4cGDaO)lk5`fDsҚ3yGr3 3= CҪHzɷR =ml|(]21D@I+pdGs)$~^G= -29 @K]f#ļB!ҤՒܑeN VZAAۍ%$  N9'}/$29IaQAC謻1iC3юI @#n\od82>sa#%׷kBč3 YB\t\K挓鬸]FۈQZp"IE l l9 Z~;us:^ڶty$.k4Oa! ]r(3_t8D<• Gnv% D]Ut)"`upwƻowRlnIPp*r[Fm͙q@Y4vKZ㭮IpxOA׻JLu畗7$,TZC64ڨp~,lo5eQv9\xX Rο]%җnQ#:Ghտ: Q6 2Qx]-YBM#sa_%j$D eIϊ )i'paF ^PH]355e3&cP2C//{{FwW?ۈh8}KV*ҧ=~@gpӪ\rXKDCe?M[ʐݍ}ֻ⍗/B5I*(5:} ?1{|b9ㅎvT_OȲ=շtnzŗc5/tj`+\̪G{^xvgg^( ]j-{;EcR˒YNhGh?BlSw]t{3ZY)ڗȩ*ںv0чЬfaMOp%"j76f ,dXL:PeB)Hz ##j(RV=}B:AKBj!RAEK=D'A71 t,=|Q}/&1شˁ+ 1+"#6XхI5acXK`2ap: fk&K 認z~)',)nꌙ~GcJ}1 > ]z6VTC h5峁؏2}2pB )*/֣0OۘՑ1;deOT&Pd_ʤy![9E& <L>":q? 3r. ChC9dM`qF$DaM֐ڻ"*Oy n[ZKN<0wryP݈:ڭwx}Vi?dq0wtM4/wjE}aaMЧ.#1U[ qS!\ѹNܘ:+1OP.k6/E\"2Gf\ȡH5*=,bO N-bL?TqK-ʪ(r89a Pѻ<%G :cBj]*\wH$ۦn{k #$TZ2d۟v4R9ކtr)MiER^St)>TDOݖ84[cBSBR5.h>;~Kҷ? m;.PDU/8|wФXe+'<"7#eVndHjtSZ~V3 ꀓK]tY|jxjrۼI(C#ۖ ?*s s_į!"܋4 Bp7vFu: *4Um*gbˑusP]UՆT|Y j;V[Sy班9}4:{{ Pi #5'a]/}k?#fQۭktI͛;NWBw7o~9:l7~o|vLyKr'oC7o3 ;=.4UA4RMyMy>| `3!3N[;3g[:A6EuW'[2_vv@$p/z[)BY%o>H+7y˰0NH~w߼(4߼RX|GS?χͰ۶o3̹ 6vTk豓yEa_34ZkBHX>ց~s;}99/ƜSYޞM]-eesPUkg/BD^Øٶwyr5+9 (mGe{jx(4׆|_& lfNa.4ǔI=ʖ) 4Bj~|X ΠՈ^j+Z $g8G7J` 8匥0eZZqY'G/nboNA4`TtB *dzy"gIʜVbjBp%mE{Oo5|nBn-TkV&xɶugxo|مݵI߁ңwwwgѿ_٭^qۭg/ǿzk?uK x߽[g۷?n=;/~Wn=Cy^n-2%d?|sGZyi¿n4_[Wtx[l`+?fO>^??x zW|~s?|Kg'>xؿ!i]~o]ÿ~c~]{~O]y?GXUﭫ <>OZ*gHl ZȵdqH%eϼ?뿽z/?_٭|o+o5(͞^}s)>o?r;EyE<1xM?/Z?Yj_3jx/OY_ܭkߕ_DNpsϼr' OYo}Θ_(̬# r-[tK(;owWH0L'?|3Sb֭>CO.n||ʓ|6vD^M[MBѾ7i[6mz~[t?<'R~c/<~~kU&:f*__fT:2C8@=w?b!6ʆiı;h4!{+`z[/w=]LF&q8hϤmS@rʤ*; k)h֟q($'i? ͵=B3IP?&!R?b*:\9Y 2[ :ehi5ӉU0 ] Rnٹ,L߻Lk)otIlQuRsh|ivj}|Gm4{d7˂,*͗F'y:2==&LYl̨?PDsڿn23b vxxp^ MJi?OFmi6+ʿDa` ib_Α#%Unc=iC8Z>-'^î&^zrK4>k7g ֬c~]-Z^5pS> HrhyG?bfmЧAl(XQ'*zzۘ8O D*jEJrc/Db³(NEq{S~R(P˫TNa!%61OڭX !yj~ę,Ogj^lmcP˷ Й*$ )0UG4A-p'R$GZ}<2(XpD7)^(diBR?H#N+#:xw}{Y}|Crڎ&sK?ɂ>.m~u+anwނ,v:Qc?-niTOȵ!^ᚇtÍ쟇K9Z_Rp41@_u>?h!?+B%'IQw'yQ,kܧGPKM PX8͇Sug:Qߓ?=Y0>>@˅%q1K6Mx랊[%p0мwwj 1pra1HtN/.:Μw '睳Ο=8?8oTWy[p];{ jH^!=:ͨ?zvgEޤ;N:;z:n;wqYSF [F3|IgRS !w<8u_ Gv8JC?~"Vuqrqae@cI󉏐S{*RudNTL".9 >K{8 ʿ/z'<:GtG2f^ U?&Fα>FaOS-"@;q"$wDmŭ̒''rDAO WB%>ߵk C5l~(a6%#.MLeVzRh r}*ZXeIO $-@h?,{W|Atّ{1JڟRT?S o"(3Hһ#x^%ҖxP]ݯES.+ j\^!~:tc '痏?szi.{O[{-3Vc@ޫ{dՔw5Mq[ ׭Dz=у]N>_򶨯:{`yCYך #@ SVhKLs0WQƭOop`*NG"Y[~?ɏ1 0&EnSd t'2 i:^t xc-G *ʁB'dW4AQߩ%.,`A6hH2=h̕W}r.yZ#vj;d<19eidO= 0~hG!hm)FР$(t w"H򢃚GI5阓#cSj2B,Q.#ytFLpj-;д~Ԭ 7,'n,/-_^J< !H6e)sȫjj~VU7^[ZS!8ݿH™ӟ$oG3P Mk֗=qɅgfK$e|:8@P$ѽlr5d.1Fɓ4~U0Dv?A:z{g-lQxFE! 6i@3i>i>iAyWuS:0"4a.Ԋp"pL=t^ y1}{cQQ.laTN,I[2-"Vl2Ntns/hGPXVc$q fU|Vq"-r Qv0.[@u qj(Aᢟ#t7PyO `A,)V>礁=rVXjQ4\A1:*) ƼpV/wKr&EZ/>4nx|r|$05~o- sڮ m©""X-kFUlժD$HY@R:?&e[oĸ r/SC,IPx1ɛQb$-E*AD(l=D; f{4lu^^#|M5F״ZI@%VwyD[?;6>YޗgeU>BP(xOD pn)ʀg_վX Vʓ)/gbőX~o2vrk个0rуn1EKDc궣Ge* JROnkpџ#IJfU@2EdBqUj -$N2 {&$. zBsmvlSTe$c=6%70'ybԙ]#Y!+nh( ~8*WY!0CTHK2}7l0L&fI3P.hh7Α#GyѿϞ'j~H춇`݋ScⲦ\f%Bl ag F˙W 5{ fQGwE{LQDAr^ֱ1aqT#GL d>Q)qdc2x(q$xC3Rݷ>g1Ozg;?C⿒d:Wۿ?x7N^%ZµbXV=?rK+.4>IM HBĸ Om۝A`agx0r@/t0n#AHaLl4s@hl,=~ݙ>ǎN\Ĺ Ә?>+(Xx|ߥ].y,Bߧw]>Nߧzh9xؙi4g}=w7K_J;4:i9u63IsJ{w,}و\{ÙsXwwE?N Um,98S9zpQ33_1Cf7N?27}qO[+o1; <)ZMO禧W?29 DNLOo4ΖcgΩg4̤63O K^k;Ns̥ My|ams܆ڞ4~n,7;w|l;:3ѳs6s#>O+wϜ әƹSL`cn#99~lqj=93 Axߠٹ&9v0q;K{0 ^ ߏx\#cncc >?GIfhg:l,-|X>1܇O503X}6>`j)G<Oε؇_Hwciq:]hìLlcf.`ҍ 1v#ƍS/o[KnAm4}8vvq[xlo4 GϚ\8.3k׋_paz?Atn<^`n=F}>8E/N'Gf͇klwb:qy"py3ćk5h%??Otjx_:>;Vh/Eӿn>䥅t3dPl?X\x책?ٜ9מ3ߚ~ƅOZ_&o˅?>|qlT{,0 /]j,N5i?A ΝO83wGN_:ufܞ3's\k/OQW~>:KFnm9 ft3KֻhǎLLgN4?u%l#+L@r }tou7ӥ9$};ϴ=ѝ'ZD ɟIޟ{çzƹm0WD+ sl\hvg$ӡX=7xXo̝oyӳ#Vyw>w#yO&}mC~Ae}LÞ;z&y?,w Y_N=hpbgīdӉyVl8hsNO?qܹKfw]oe,<+dF /.㪳cEV}?`1(—Ss}#Sڴ΍㍜Nl4 oDL7vc s 1n 8sC|x -1 1?ҋnLGD>>9ǨOpTys`unss/ѱsg<~LD1t#;Tr 9pv%w[vΓXm׺cֆyK@l.ih<^8;t)839w\hB@#nϔxo o1V>.^ KϞ3xo=[鿏y{5ZFsc&m88yn8%q& x6sx4'68Kz1{~۷wsgM:; `̒ YlGb Ћjve)J{}n l4+,Y&%If3 !@_BY ];:ܷt$muߥn-9uԿNݸyRnqv$,犽cZYbkαAƃ)3ȍ-M%<7ZRdJ!pj7y7M%I>!*I}Ux> S%R?06e|ibxcr (Н`lj~ f.-3;I853#fqݳS&'ΗETluەs|0Ԝ(]ݾ-,.l-?Xw,tϦvMbpb_'=#qx?Lws~д955 /Y+I:kvfbז/͌.wlI?8|rȁ#wj'A;ߑݻAc&OOw{Gơ}NO/=]J'[kBo;!hS$wVLۼpщ1iľy4=I9Azhtis-in8k17Hqҟ>o66P.iML/N@{צ@Jkb ʝ:@f56htittr1W]jE}tlAzl1 Qf/cdl˜~26- [^4:;/,KS#x1Qҍûnib%GvOWNLΔƏT.;gnL ڲaeoö!+-Ft’h!{!LL'i[2 rmax!6͸Kup{~-vl2;4;480?&4llϑ/g<ܥ[S#wd^viX߲txzjZ>sy{et. ^=%vM˵}. nVWZ9 rqwdh>4ۋn{%{fʌ7}4U,.X!]h㧗gKĶ|#1He׉#LGT܅ [&v-l)ݸ]q~.{4؝`''І?~^GOWf&f*; 7V F=H[bt6*[w.=|<㋲wgyzz<{31ز}dGSo'衝 io 违`όMc'OoO:yd3Mtii?l-;f@?7yy;(']oF7 A< șWi: yLr(/q耟9=ͭ)n2vn!@޹iRuؿDy-o[0N|(gf(hO6V]y{hǂ(c/{+ik.RGDʦm]~ <*4gS1 c%\6871֧}E{9=|e? G9Y!|s?jkx)y,IgL*  LJi{[ %4Ktl칧tm[۬e!=1Q,`bgIsfcDy;g–;r<ʻľBgʁw9T 4oG+4vxo %-gG]ʎH6_x.wrUvǴs,K[hҍrv;Fg߽te۞-),K;*A^)Zw --瓋ߑƞ /(pp,D/\ڱ-L&_u}llzߑ1or]stL= -* шrw]N$mRHQc q۶`7A>mFξO5dz7;-{PyDp~ ci}v'2'kQ{QVsO*teimVuσH\Y%}D:Cܞ.f]9QTpu͠{aP_I򟞱79.N1]:fpȮC~N/Ϝll=ALM" $0aiRœ$ְ09AѬZR"6UsZkcSSrD˙tEs_'6t4S TF\?0!E VA-zj"i'؃" 88$ת7Hi*} MVOW>me'}jئOeuG.-̄HkAmOf7XXb6ES/MGZj*Z+SՖg}8a'(׫8&!&5\kr]sP7, Y˽i6JB-z% EG=&D .rq_ʌL/ϸ>9D\WӺ]uyvY3,;z.FIs[c!NBl=GC36?"*,'X:# +* @ڴ.a:t`- ǢH(۹M'Q#' J-7ݪծm4V86hd {]_Dy9_jON.XQ#$m2ZvhI4=x0略ۘD1,1<: [&!oI'4QdWWcKI"HbwΆ:t*[vSP}jRWڃICB(/-6jn*4rhVR֓/!ZoUZ5RZ me.]m7N|HٰZQm?5 !j8?ͪeу]x ƜΣ>)JEMl/jߝ 2Aâ)3:rE Y]6P }kdÙp@T=!KSؕ(\c#?_H+\s ¡!iW_94T_۱ 'Jv&J(u%AUqײWu/ǻj!JW3ݑ+#AmL7fe=0xj(ֺbvv.%l c+1d\,V3纛Tr;$):V'Yw+Ȗ]vhB=xIOTF䙶BW<ʊ]{^ա1ڑԤIk*`.5*gaC(yJFkD)U_rbJD:7a4z) KS{}wx_=/4Kԑ {7B6Bnݻw#tFލнc{7Bnݻw#tFލнOg#tF'oލQ{7nD݈vFO7nD݈ڻw#jFލQ{7>U߈ڻFލFޱQ{{ rk4ޘ>snC1WBi4')҈ػ8nT0kvoASyZij[WM QD]5UJIeUg,q\53WM?ӫrՄ#8WM8bMT2(SS^Zkۛ.KK"-#˱r# Z#P^#"؊PV \+v4`mߏo- -v5zdڛ$)ّ̑}b#訍,ˀwjMWnH]u J`ӨJ"UƣHS[Sp%) r8Z5 kKբZrqCi$B]u)uǢXӛxfoE-k,*AP u^RIAzU+X:}FDz6 Ï"ɬF|zi=2Q> (zȕXp!3oRcH{zb]4gw"MmD&9woB})Ig|an5Bٿ)$MgBALhxO^1fY#bYM? /ƥ`h"l-\ iS4D–Qt- ĩOySh(/ iڶv{l E Z6 ]䤅κICdVzM7 *%ۦmHM8p3iBl_ȑja< fp LU頚qAJ?})Әi#hj3QÚ!RՉ(b-wYWC+xT .8۔#:SBՆm$7,n4 wjEgD`j^{6En[MRI$P<܈w~Õ}}sOԷY{M~Mn_1str}7W}^_ JpU4Wb_ ޹ɳ Kok_x.뻹mɁk3x'չ[C/ iPm/|( 7n$VRof_C ‹7?i-T'{mEpJPfGpk@;i@խxG_߄zӴltw_?T'SFWe_×mߦ@nXwҹgM}#Ҿx9_ďx}pBM=< 3FϞoz$ǫ}3T袋 >m61v2 /o>|7_pᦏ\ 6_]UWx7/y7'@\@/^LM+VS%px/~rE]龋/t/ 5.^rpo}@E.%]L_5&`0H` E]]aM]?9kҰu@# P" 'OBgofR Φ7$x\ׯzuH0(F:^_>ϸ>hkդ2qn_M >Wf+_y嫯nq͛^߳>S9񪧿}yV_.)}zvy]4be@y?f6OoyRϟ{S_}\x Յ.ʾ/];++&4[ o!~}!\ϯa닠y~})yʅ<5˓]<5˓]ZL&F0YLƓUmOO>8wXCerOU9 KEs!C0Pʌ 4G)_ҩ6HӚAf VϾ9(J\N W$[MvҦEaCJdzTQQўjJ>y2.͚$ݓgA;?I{U٫nO}RҬNns/ajYp"YWA9[vCjyNqyN 1KYH6l]+gW^QQQTER3&C S{arb0Imj B>)2ޢַC$/E!VI^I.H+t;'FhN.$ Ge!el&kf^sj\+q t (<'-hc0?J IesH'3Qr^% EfȁOFGqpݘC&0IQxã[񶬝$S&K)[GP6ϖP=6L$)?&\4,Eiѩb2!sb)eNo^(awV(K2VL'llA d +M'YFYw*`4.;lF HBLG '*!@V០E@(9|OٺL鏞H2ُDW`k|*6 Lot!ʤM@bMC%:IN*\HsPEz)-NB`C 6F"Vz^j8ͬ IhLpvb\DeiDg V'xS8I@\"TÎ0곿BYӥYZaO~sWMd(5zg8>R'GmD.Tb;}7"Ls6 9/ISS#CNx#$QѩPP8y@휎Sm2XaZ+#'F`EYyYf&ױCL3KdأPZYTqgܲჴ|DA#LmdU%h?FZSH.q MamZT*֛eF$r&r%մ@sˢai&lAd:, bTdF|L==]I0PT4gAFk n,QА'T:Š}򔫵nk>'ֵq+9*hwȶ3>bzɦO-f$Ji{i:y a/ٱF|ZYa& 4 0wH L*cℲݒ 7 b=JrM\k$ 2.QsFjm p/{OOf2T6_G79|}}hɷ GyY|瞳w}rc}ʾ˿#dU=-?GM,79ӧ,&xo=M:7'mkk|?Y1aMx2|>|:x'|AA^=0p1y>ȍ} 7Anrc>ȍ}+x|k|}WuMWn>u\v_􊍽{:?=[(CDjȌ6?giߎ~@癿khL3cɿ|WDFOć|GWFߕ4Vߕd8a!;">#x'^DGo Y5B|HWWE}W#"x?;>g~yt]xa\0& e͏>Ÿy|Jxq+G?O<~=g=}ߚý_|^~J[ۇWJ_)+M~eȯ!k!Fɯ1kFMws}=q]ދ\G/dҧ=m?vgbݏ&^9׿ q7>_1;n[VnYͯsw-kw[7ݷց{y]ooyo7߿2oVN Wμ+y]wuo΁ӷ|7e-+oܺ+NeWMvm7 W߰r[n{රt}+_-}wV^WsZ9u3љݧ?Op֫|fVǜNcשֱNV2*+μ}VWNg.38}Y6}=wuǝ/qwz%_G}^ݤNq~mP/$7u]RO\d4T_5;t_{K/JsW&bWOJ/,׽nu{ͭPGHu [߾`EEx~Wm7_8ZLjT|?K_>ucPh֯q+g_wyww < iFo΁;7ӐށTA7U>@ oe[nd[m+m?po+o[宛W^7@^)v> 2~wq+_λk.FG!+ mLY>0y'Ox?z÷}K.֢*K7=#}WP걇ҏ=[\rəw~c(?+(y~_p߹?-2{[ӧ_~GчF_ ~'ͩG9}m/OZWW>y桡&?:CyϮ~_o=~r70/ݷ&·=c|c~{ҿ=oO>P/=`G~/:w?zg;w|_Է5޻>=4Χ?}w}ߞ{}'r>O7/?|˞yمC|x(_9vxckx0?9_x]?zg[~kC3fNw?|?%?>A' ?g?;DW?|߻ {P:=ҿ >?=}{g?ao~k^rͯ6=y@wf? }_s_~_<Swsmwr2e߸W~n9v {VVnիo}EK/x>k_sMtc~rl'j_KM Ο??w^uɛro?~ O{n~e97⾲?kO(Fs#+NA'{3p'??Ϝ~̷ѷ~3?=3~뇧أ?<N?|W~<;>}}G~`xѷ󷧿GGϏ~oߜ~{䟾?=ȗ#y䛟o~7>o|_o}=?y7_׿?ʗ>ÿ֗_¿?O}_ܟg˷?W_߾?~|{?/?3۟wx|?wo3O͟؝__}ݟ+}_Gs__޷~˟{g?=gzggr}/f>~?է'b|:??/_>4:Gߋy#o}ߺwz}ѯ7??r4?W,7 _/_yo~?~S}}٩}Wy|Ӈ_TM<ٌ2_11_ }swݯ~/=_|0y嫿 sG>v ej?~K~Կ|5s?+Էg<:]뷔?qUx?߯uoP|=ix?L}\~ o=h?¿oN<&??w'u-~c/(E/BRƷL/L˦dbw^|_>u˕`v~0ac$6s##͛ds \h+g{?O{/?C]_z޷OO|.ĝ'njNnh'ݏ]75Ẓj-U94l?3 ?'?tbzݵt5578V]zN~t|TzUu>xEiK*9*)2[)/[o%md*b1 ͤH?(]$BEeDL}0[nMd9b[乼=C}_wcr)M􊍢^o kU*}9A=h̭.e6Uzu/ӭ)T*^=9nd724Ћ&t5WJNgfѫAI@NnKOY`+5YL٩\m)Ns:TH+\J4C|@k_-zy׭:ulB=hh{iN-( $#jzAD7HWmU~%c|u'$Dl]v8YQOyiZY\F6,kk81b@q UuHNtn\˾mnJ'w^3_o1vv#r9Uo^A259XԒ\)`n8ߤ^[v,= MBӡ4;~éKS+l:06C g/iWy08}2hfP,҃|١NP(le#ߔBZj[&Rrՙ#KDAsEPzNjBǫEcweg4&ъA7@r<&fRg­<*u*.#_XfTaU^"'e5hP[v\?B\W26,ACGq5@sy& D N\I%Hx>pj%&#\xRe— fy-xD֥ *O8nOzldOX_A6;ON(7*t"`Vn>O uD'_ӓ(m; 4WOBᤘEB#:ҀC*'ss>&5tt$[-r 9j.< ID<0p+H1 ʼzk2чyi4 }Vh3 2 6 K0ak;/~sXm'A\X(B}Y4I+kPƍ:_(۰[#;ݚ:XT}Ya)&泜ʴ7î4 rÄL*~>귇:NB:]l :q')NcBBKĺNM79AHZF`]#C1D$Yܨ ؗIkSЮ|DWC֍^Y{:$Yd/c5gȚ6S,i%5f5OhS,ѭQ}ϓ u(#BғY׈^<J"qb5[4ys*E*A2R[@Ϟ@tRU +R.&LZGd-$5̧"hòY6u)IC͘ҒZ\o%TX*8H C K砞E%D$X1PAcK=3D튱ٔ"&D.D1 kFmZ"0.9/FYv(VN$˔iJ6ݔߴkNc )Fˆ^b hf b`5g+&l:ŴJ%L,'*'JDκ D4-B}C1LH'"6Vg2 ^.aF'aAF(1Ti&\#CT>ȃyhXԖ(S}!4h cu- ],%"[#I(!R {˜^^**3uWYvQ1du[+ֽ(&;w@d CL ٜ|41U klx狾NQY*ZfbB6 SD(IŜE$M.7Ai&M!ac`Ta$J8⇄L%ƺk`+^35ͼ7 .9U\-E{]yF9kFςZl<ˑ~!Tw,i$ExHƃ@&}60B`nT14?"O6XJweKtm\l l0B@B d<][^.RsӬljsƌI8"FSTdp?tc}¨fL|w^ 8Ad)N #5P0*k9u<6rs],5e)_)< [v:[ oCtѷ%;Y!V~m/bmT}xJ\@>,P Kf"i(ni&AxȻrsnָNF6ۘ2aroD߅q 2oJ1(fQ)`]k[~DQBk#&}x )8b"2v3qJ~DETv$Cj% Ur9)h[J`mN Ʋ6-ӟN W=UF`*ƶ qG -|ϳYXI'DEJ*ꢲ*o7Gm(зIT.noI nCms32 Ձe^C;>_"gHRb㦇a fGN%i1蒅wpO7ߖ=u:L Br!>Onv>(" ΢ Ҫ;%QMd4!$"6AbvɹZ jGcag=.S]iq!^+^KԓG6R1&ZMU}lJS\"ݷi"$@[տH"-Drv2lzu;hڋ|x"ݲlHπY-%A>xUˇI8>ڣ (fFWNe4pY7;w`f. %hRlڠB) 1Og͍Ei$8\e퍸STǵ)d-Ne4(&{U}!7J( 1t:z׷=)ͭ$s+$3ƴUll~ڶMtYYJʜQ25̰g+H?-Os jXi(H4[S:{?Pfд((ZQ ]Eר 鸨f c YDj辗z6ا>$djFQCdgU"e\2 ˴j TŇePK -1Z s o.rH˘?s)P (JW+ ^9}ddQmS;!-Y@qܔ)ĒH0 wٖxg}xBt/F$HPcÅ=ڐEI3Ai kϽZC(;.־I8 ~$#tѱ_oDʄB`# iD控4"E8#osxqcm^A;/cge-Q{2Ek2QErUD>p5r-/hA."Z!*v(+ntyٳxt͉2hssJY[j!9)LYCBOIW}Ͳ|tYdϙpf#91㿝v&3ʁ_48DP&Rf6#y 6P:E +^eQeJ'*ίgy\g,T'ϩdKQvPaNP 7V[Uge\*l*MUmJlgKyU']~x-f02; KTXc_' S!vPϗ1Cv<8:kW@+f& iKW+>FLxF+=Ee!Hrz}U :g=EtVgCi=0)k-D%{YciX"$0M4˛*ud-ґIJH[1M!ʲ9 ˆjqº٨idMYH2!ӏ;QWN+[̝Bpy>ʣat=.a={"8P X cgHKDrMT6*\S-vİ;W± ,Xa .ȩ >pb$!{c΂"a M~/֌>3Vn:'ydYDa8(Nt_/dY^j z@[$ ]ō!6PYQ¤h_v*#K{y!+",a YwA̶weJ7@`eQf" !)eF%hP/ɋ/&Am>:'%b2U2 bz#cT`~:Y6obUW>h"aVםEŸ[mPǜD,aChst,(ٲs騒 /H-<Íؘ~eȵnL-^ڇX|::A^b!c;O n0=G4~"8=#ӈ\ kz䤤2Gkc2<`.L7v*fNg.;5O?Ǿo,*rVkWe[qN1Q8.jI3#'2bw 5(tǶl-q"2;S(*- LǪ/ϟX٢h{<7,Ve]{FV癪vG4bۺFϦHrV$%}֚fu'N#IF.~>/eQ,De @&-*+HblU$ܯ-\U%j#r2)ն k0 Tf]QHJN۪Vk`l۩g]%>p.u>k8CgkP Jؚpf8} $3!?)ۋuQ8m8ONu刕cطiQmG4l:9] Y-dFDŽq%UPmezLTsR@ >wƑ12Z`ܔnV؇uX"/C6[ߋ^GL mU.Ū0 ['YᮣI!sǰU'6WUǰ&e m'f=NsnA?ӛn_'|e7"ء4ǎoӶ$E-Rw>SH %Η<[hоz! K`_j,֟qM*eOTCI6ovfBcZtb3TC37>$FYm|cAroi*HU`A5\ݪ+엙dY vJOO+xYZpuS,+IO[JDz>Q_iSh,YH}kJghJ=Ћbhr I+.khGgv"w ZDBBd13RiKNU1[.*>K';*^%`& X4$.WD(P&R5Wo!S NTSuJZ8d-n".NuD>{lძDoNdrL.vHf .^pTdjX8cvn! 4t&Fe[y"9On2[ ӥp$ٳ9LЧ g^C+x|~-]spqʕ6tgr`9O1d/;p2=l.Ӱ2[=^ueiCp%VPrq?5OhXL9ڢlQ"c=ױF04Lx.`z̽.Y3pgsc࿳vw:Avi tlKayM;9a3¡G)tMLyw=|QxH4@bN Jf4E!JI;R%w6|Dx!jX\v Q@if!%S22Ng]Nðc9G(?2bU Dc&k1&hPXV.a(>r0yDmeq` ;zYt&!XpFux`Fc|38ѓ9+#/"X1 CK2L ,\ie}=־KA,=ה* Q 1 сBM 0 'M4JZn8ѸhR@Qԁ2I_w2jYa >E1/ʲۜi c ǶI츞/w]3*PNs6g xƥئ$nyJ<$P珞lb*v`2ꭣ7jL'ѻMZHx>b#co.v˭F!jx?Ov<\`4v Q^3@~AvR4}6[%npBM15D e)J<ӾV&ԮuŇ,VFsA@OU xPq}yu@ja8^Cc0`0aSAS1l쉈A?Tip$#-f]փ-#TD` m=h4ث.GPm().0èz}b(U_3g0SS)Nd&,%xX qФXdˢ"t3<&uu-FD:Pp#q}9P#h|>HkAe/G= 5U;:Kέ^8˷JESWx?ēxpKXJT@͐Xّ5K"% %t76y: U${Q(FU4fVc;dؐof;䐒=hC𨟈}(V@%XQsbUTVI  bx[P#.Ҭ0?%Ul@Lvq+x?fN[ƞNf,}lV=uFxHsJ0*iWYؐ-U!@,uM%Ii֭'ᮋ&ik QbzI*Nd yRǯ !6*@bǰb8̥vppKUh0&+: pnjQk~@;iI p`+Rsh3ҢetPIh)Ĺ J0i[%}TaQ-c^WJ襶uagJɁ'<~U\0=Je&yx^Rە̱aUNC5k2ِIbDcLg'.Ntu~S; i>S*~0iiuJfy#1t+Py]$#H^F/CXhwi\]+uԃ0w|Ջp3WI$=l)QOi#;6c+#DaսPtUg#j?L.H*!g7F,[zZk'-*22~, !iLy-'P"4"rӝޯxiX;{3(?oE[D@hڂW ^hQ"`q+FC{+ o "-ʰ"qK质ϋ@'}X|(͕n#f#\QG/#A5yf*88Ђ|' ˈ5hS4\OO񿋯Zm񿇒!37ض~6kIO!勡2Wѵkf݆I[֍tȞS xx:FZOUɹUlQwv}6a ׯ`06o Q8ʘ&/uphY^ϰ4*ڿA4B]?M3佘5Q eֺ ZBg.?)C MAK8T ,تP e# BGQ23dr̍3f>t識XݥH Ź(u\ J L#f}*Z5)Dm%?4 >\".q12g__n_]m"s{MÃe|+<S`)"C4i[+_(.-הC,VAv,38zXeэxa0>"63ׄ^t̀`;d0#̠^>ܘZ9NcwCglH`zDOuB5uhėE2n9U#+O_qDQ!nȂSL >C&P87_"XxUR?&a3o3aؒ$ Q!̛hEkwh ~c,J]P: ^@Ἀ>4CC3,]tT&VP ^O{.xɜ2Rg *bd^ԉ$/DsLBĆ5FUV< }NEYF[.;rd e;!ab2V).=xtwamՖ߰*k%$َٞrN~.ptXYָdY؀)rV*͹. 0tvlo/n=PvzȌᾈFZA3f9h13pql ^aeռODp_6gi!6zFo)ZYjWncnƉ+t7i 8R^/m+2  &bTQ>C!z+:(~9j&6IsVDitVڪ$Z;G⼦v,*]w:[@>*jQxξY5OtP2jcN{JUaˑ<ш#yָEG]҃4N؍RC'.)2n,G$ eS#E޳ƙ7ӓaVqG}{(I}o]8.;1#,Fʳ(u9pvLjyԛ~(')6VKh?|pPo)+S2:2|o ' yhYܹqYYaCMaj0p[vR:adخqg0tmc=xT:).:YOm8o?9wu:'OS?q>kiX?\|AUWsn TBv.a3!SxuƳ,f#ѝ!!딯BieGd ߡoqrP8 ۊ9@#} >o:y9m(3O@PqBĴL,lIv8d΅0(W4|wI.!&jO8n>%_@[}L?c_G`̐ ,7ϭ8L`6zU$ݺpU)GK):(lѷ .G! AIF" f+7,t Id )ja;)26deF^+~5|r[gL7j18VQ%AF g78<+~ 4K mYT^Q0}1aV/Rdw♩3:-l[$ >7Z>e\y dS݁rF;-eynuNBM޸_@G%҆sEcn ڇ=aIV W ,W#CP+Yv|(4s#y{)s]x#k@uuM @c4Ŕ^祐T- 92 chyΞ(F~2& cЎ KɝULcF[{eŢX3-бX̫rifd!5 Ŗ׺& RrZ2(y 89DOTы({ e3W,XynI9W[N%n(hV C"kD2=$@$OVhW+i6>.3l%gihr5D"QHN} S#:{ lBg"f 71!zNo2~YSJ=qL I_"C;rls,>7ǔV3DxJf`-Z) hA^zQb[b, Wpjܵ. SQbİR U-ndp B_fj<K\^cpuFSr,#kkK^}EbQ'hl!඘l_$j; peqD(t3>q(L#[i gv^d(^e)ÐG" Otq2Qz3:Uz-ܾAWj^ouIjg_v a1ht[J r˙-R\m؄B]gq=@^2! SB o[]%~MchC"2$=2RzU"j1l*į#%F*j*]lW+v$E=Φ$"nVB P҄r*YVՙ܂>Xsl& ! T)ZrK+! 0)n-=d XС~jU?DaM#}۶" yC[.{' _W75%6t|u%~r~p Ycf[/fFc X: D }] hd9ӥ&RzI&0):69] SbC'H7:ےȖSt`g ۔ٴaob0v&/7՛g_/}EΙ=d=ڳ4q"zF^xȜ_kQ[?z̛%;7&0݊} mV/Z0Q%7Qa#BV tN:3zi ͣ8B%pBbrh5U!|2~(#5/#hSVa:.ZMCrĞ嶦F;R"tV+pOGC9C+er-d:C PǴ)BQKX4df&l &sGAղ,JA?|V;oX6v"u29Aź {a]r'7* -dft L;xAh6K n$pH$PJGf`bKx+X>w] Ӽ-4'* Y8{dr(isc3|B1 +gpL %ȠMd#nD&^-C]Zٔ<e(.W6 FnjiX&< M,z&FS%KAȹƲ8A4_xuq$RCkCo0/9qxy26yp'W0˭MgVwTB2c~4D3ǫ\k#~ @ l(7G)&*{Ch!Ne)!z1*jh~ `PMPIr̵d( o-^}jP/5-5qm4xѾ|]ٰWB4鬡vuQIh~x #潲_Fal41ވW]-&cgQ fW \4bʦ*@F O%f*%hw~: fNԵMeêCn7\fe&a`aesN5`YZ8zE@kFoOElNIvI` \FJ +6gQ]wKZ$#l)HCN14([N 4PUi3HT /lfب,=ZʥZk-4_i<9 Uy;WU@q!Byde 5# <:nLk<F,.[Pbp߃& y(n*{YENy-[YnálI#ě >bu[PH8M#V ׾, {>jp*2EjuR1p\GA?1RE]t1]umse;d-K׸[_^N:J^-hx%o MH@ ( DIOUC* 0døh2 }%*`^9,ZIC{` %nMn:lȲ|@^A$ĉ _3*)Dtܗ;-;PE!ٔ/X`R=#Y&x0*p2EbÎ96iF aCnDfb04` N}y)i/XK23[mA)3 Əi"Q!3/9ж$}0s( f.%ۗ#k&C2I* =^Erb + LB<Yv(B|,'++!TaKT{4\ݭ6QXS~ŮDFUq.^QQg~$@T%B4C^ a}`)(J +!(UGV|vͻ!DaS0B2O>Wea "rZ8~U$H4LNj.VZE8 OnfZGx qxiѠ1UŎ:akV^쮱A %hZXH%E29>ϳ%ϊQí "!j|Pf2lEP!Di`+XmZW.P1k0z9<[XC5\HRشFе9f vHew^ Y]ɆS"2Hj]Al{݅-PBZFg|[6^4IcD]`:,RqWr v&5>{KMɊ+:k"̣ET7jeס0,[vf=–lohp+4[蛲݄ݘg1\TxSL 0ʡ: Kp$ XKQHvՂ|v+%G]9#BU*XulUdn72Q9YTs}y&i[t< @4B=_q~Puq,/rMQBn);`rAre'!Sy9 㝢/Y^ao 8ۗKC~^ ?Y [D3a5BqGxт o ZYEyHs5 )0ML+@0!YL xNa-6[`!rLW 8>"R{Q>OɭA͂dlk߫&)p J)/Im=lC@}0^ p'Wo`bؼEuӈ \@ z 㛏u^]]C~bh[l6bڲMHPx`T@o ~Bb@0U7`@0t t=@`E;k@BᲞR@ <:P@:`,$W&PC<ڀK=RS /)aAM jj)VXn<) :)|6r:/uÐ)F:),֌_4JeV%&SupnG@(;J[$1aQZ%ʼn"cOT+1Pfs~L2uXUw)obċ \^r+ϯ6=mtcPA2f Jf/#7tߴTe8ʌ]7P6A1(YYa/ܪ61UQb bfʞj0k$sDea pL %FEU:΄ CП̤B.4 躠h|P,9C\*5T![cы ZL!s0H~P# `  * r(+:,lpD-.R( @P2| ^C9AgQ6Ѓ˗򔼅Vd/ csir8W\N 'g-7YnuȠ|S2pz3-Watܖi{uEuaT_&^|bN@KΠ_&hMΞp˕VA e,_\ M'(#LЖhzǴyLpzAB9\.#* AضbP^.+*pf,q BvR5B5`1MgZ򪠉cɧuHis8o ?r xcb~*OF00K3 Api; [@fR 44d١.F=Xڵ2\(a[RBG\l~kf rPnPw! VZX ϋA. 2X@>[C@aA8L0Ѥ| -`ԘD-C[ae/k\(S՞0 d+3(am9PET|PFHjT3}T.>(,P\U 0%ƂTCȻ F\(򹊊O2[G28$ԗ<L>#:!I"zD|2ESSy rV0+ "H}բڙRg"䃁,)tUC%+%J&;P H!߹ mX$\$ V&XK0jZ,,%}$a'[d\/Ew;ʎ%RNXU(5WtZ;`l+x$a F R' *_duW qQcSD> ŢPcd3'[[D".@&e| #v _i&l2³P2DDr;(/c[SpL wZJ_`cL9K:LeBmuiXz f[kؔ)faΆI!fi&4ZR,H䄾Ɵpb-e&ΝSwf~Vv%u6Yr4P+R)!wU4Xei9Km +_3_1vt5ek__ GMyw>7-Ɔ4'01($]}rVlgeL~QuUE4`a;ٗ*c'›> =:F 'A0\xjC CXSI#Wg.<.T!8./ڧ2&}r(؆@=(($Ks ʉq4,fq~L\)޶h: nI&ȓk'q'Wp'n@%062ICJ8 {P&uW/]ffb0SFHv|Aob}@WBRsDWkp9ZUUv-0)~!06a=ŌP%P 0"2%f#"ok< K0iEɑ?ضlٙҲI:C-P'*2V | `]$ 0b(燌4avgVqIFĎK0O`DPJE `\Yʼn^do#ism2aAnP8%#EP"i? 91y?v0BǾEPå_h@jX,[b{+FȺJ-D&"CWQ^ud%:d֣Q*L"E'N1]ͳp2CjGD+Y.c ;5׽-fgYn />s90xPu^A@Nx?5xX!Y <\$@,֖`,%^Bvcݗ)0JYh5LVDbo[U~ыmӰoTXc#!0Wn318dV-y<USA@4!j^S{B2`CDI˂1<ĦB $s'B%E1TDW-"OgE7:t AZq"~+5[P =`ڢ31do9muT!H-E'&YTq%ШG-K(݋n $MQGf@mL(C -D H|3`$6vꇕ| $R/EPT4BACՈJQ)B=ru )"m2ЫH&I()z'HL׉4H:gtEΛRJ@KDӔ.TDN!t G# _/WZ2[E9CKqslA 4W12.) .VgL…GApϨ7@2H°Ulm$`jfYj3&+A^*d#ʢ%tgT&p灉tj%.FBh6*DE >Ԅ^z|窄KBbM(S2ALvU%Ď1@&Kt 2 @&0:+Q/A„ !&Kn=2痳$XA\2[r̖Pȳ0G".—bӁb2V1g; dfh.יnCLOG`a/!\m &죀Y=w* QF]M&s0nAq h.BVa'e6I{HuՖ~Upl[Nle/: f˼# tWX)Gc5)ƒF"&3^ L # 631ĥ]t K|wG B(KF`LRG1`lacbQ0MDIkf[3&HqV$b mRvЊr\t`)!dE];Y8Vwmcء+Fk+aB4pLZ+ݑzڌ+PF fؒۡLnij ai, mC8ˡ< :q4˔Wa:;0VIIVYUB3&x Ѳ#Kru0,YPt0[ $%܍Fů;ըL8wD[M0$-`)*ͲK:_ G1#˕ 2'5U)@,hQ\u.F3'8%|͝s˰Q' PsC1/4v bC^v2eުո崤Q€zxV*Eޱhؗ :b&%@9 ;AC_pmᡧ_vC,&r)/DWbZ]! f蒩h.88NBzE80ü]tpcH'Bp&\ȰHK!Ha~c*L #cFT$jͻ-H9B$-Dʌ:LfQPdBr^ aʌUȄr-26L'BfX@3*-fT_)Rbfjfď6pk3{xj3PN* E9Bgq=Eb4Rz &q >ID iT2/S JP^@5N?&ˠbk OՐr[TH;z)CD3`&g-G3Ҋ[r_>ճ_, f7049nY$ɡH m?0chgjtY- F ^;!&bBrS0='mCRuf s. 2 ̭θOEL dzHbN_1qǗ<̈A0!JuY:(~Y9 q$O#F>R2t8<ّIO}Tۆr-4l/WTlA=7/m⵼379)jBk| N =bd,5OġZd(!NzU*w ARѦ 2NH/=IYaRƲ y )Y2q2٪d'I7 !v:x@kr2/Q/td"'/c, 10'/G=*壂`Imw]APc:f: d[E0"czDXrC=f|c|J4s 3E%[aq%ع>֪;wQZ=w{*av9rWqZ9.g9{ALp(Q)Fqu{jq}̡TbRq° !↊Wlי[kG kK||E S%@5*Jun'Xg=I 9U`rfn۫M(u!-OІ HOy9sΓ3x;< TY#Pe(C zl[#Qg|d8yuj-B'ZYCTN֎yB1g%ћaj=B -C KLŢ:p\ ̒aN@YZ"wz3<,ّuvCAx-zE u̫k ʼ砻PD;J4պtYjxKfG {Y:zƲ˶@t 6bt< USMA}Wr>Y?\WlNY dgմ)<֔"O4^`[=9Uֆ mQ7Jn$X`D'EBq*(Fg8#n"QEg2t1H<:^I(}Hz]lP &5ا6?d9:089Yj(G̊/qRVQm`]FG\M!G4I: tK`#6ܡ7ak*PGI u9_;~$ BbXf]ݐ!E2%@ 1$dv,9HzS4U!MڗU<ޢ#w5hKb #d0!& lJtѲQ HbD+!ߪFb(,-$gY(I`EF.יUJ!<μm`%Eqsx%NZ+f"<4]b5pnڬJ4jHfht{"&rTQP' `xH>3Im@ت5)*Gt0N+tV#Dt]ceU(!/Rۃ+,l&c℆` XL`'2yğ g4HrYO7E)qqM.*=)^|0\G6Y[HR 8KVQ9ڈ~B@J kOOOWͭO W: z:없"0/٪2Ô02Te"ET"`UX *z\-_+*Q7.fq+-b7hmG`i5%: ]NɌtaә ݡm_~CzCU'[YIR 3\E ]0/ȚCыl*@de/Rz]{6"{1 g(CSIٕ9ˈ?*n+-kiv]FDC]i۱Z <91FaΆJuE_S"^c(;傦.ҼrZ#9s(5@Gtnvy=TDsڬ ~dヨȂ!CTyI:ؑvL#:3 +fX$QJG-CeQb,-kU V%qsq*1kuWs  ?5 R!Luæ#0|^s򲳴:ϐ, ͑=lA\!puZR&fNKvgn eeeZ{P4RZ8F+FTஉA @!R0*H2/=DmW!) DJğ1ÊP>=c}BD.Y!o5ا((jkCQŴz4䩝X?h2ȏe2\%3b

    R}k"[gkA<&CRk 1# 'bNvS3t Xy$#9\1vyf itV':0L1Ogx3dMw ftKdY}8+ cfb[gS]DY:,dN fnU9/%JC>Xdeԍf+$*fZZj4 Pω;+Z!tet+;Zʨf!anU܁J5!QmotV<ĤJRl']z:c+aL7L>\@+w"`2+*?Mk .QAb5i6=mb[S&p=*pϣQe;PʨvhE$nWIm"zw0, nm97 "Vɣb8 NRT_8ߢ`Ɋw(xϋV'o뤇6YԺL־?NZne ݈MW+d52F:#nF_~AjX[mvwpuijlKޕbm@'sǨV$8ZZXGw#ڦl]@:bI[6w#&;jչr;k᩠YUA.P~C"S"oc^D`f6JYF,w@|[Q%qB,:6$x+4ͰA5c*Յl0i4Nޛ:#ij/eL < Qh7FS9:Ff.Ɠ(Hs9,NT/.Pqea$|J n9:EuSrǑ؄(p_R:ӹT`8j}kxS! 9\DR@?lT3xvGZ*v(klrdеٲ , t ja&mxb 3đ- m&IW=Wv`5_| F*9,8=( BkRT(: %Vխ`Fo=$ 7V6%.. gksɌzQ1Ryy&GH9uXPԝ9=;v37\c?2/"6bln*% ! <"݅!B4HE1l%T@#'we*i\(13JpHH:6$ڋxWfId Ӧ2m^ʢZmuPUP#Eu9r/A4lCa\{W̲0Q5ћr9 T4MDU /) kEise2$>|F@jc(1 )ㄭkk41 8l|’S)lAz %~$ W;  WXM3aPڿv{E fö ԈxEwi;Z#̜ΐ\QLsDVP-z>*meכՐvOTg98ej!fiF!y3l;0kM_ý8gUX.ڎO78Q[^DCc*Dw;-u!2 G߸H&ɲAK9XuS{aAk? T^GՕnN\vlYueѾ5J 6V TG](ʌaED*+V *Uh6L^3$ҨkψdKn}XMQ(kc`fkג#\FID_ ƴ'hSsB\3{]AQ0tM7WQa4 T)ƛ`0BpHl!G EncQTRUt[hƕV)\Rvf KӠfX՚03)'8-k {ZkzȣmpDۨtj8w8:GK7dOS=oLk0WfPVؕfbCxma. !Z -8F?tP7QZ֡f"ZD26?B :S}E?*s:uau oV\,3R,#j,eɧpl@֘GQsΙCđF_{,(]t+Ct<=و|.~^Y_*G>-߮f]L)K 5,5:to9ѩQ:QbfΥu}xi~(D1T*G'PzH#NQHmQ@|fAS)ɰD$>(GPɟ-vM <)R!͉Z];JQSJH I߸)BM5zr2z-npy#[5o[ "8vl7n%l=:hz"AL'dj(ւJǣC,iʞ{6"rԁ8! cIqԪԌѝrӈE{[OT?2ʎↅ^Sa0I n2dLk8%qPej_TژSN܉lC 2OvRm6rI"`cC8bWm' 9Y'j-B!X\(?~4?8cm:YzoCAG\eJzaQL2W[׊cӛ;Xxz([2^&4 wzif>s^89."OaDc]V+j?$b@gX$l,R0Q^ @X*8Yl[U0C{5/^RuQr|κCmӅ(e!(}jD:$q`{1"}vw|m=I6^QYO4? C" #lx5Ʀ Z$* -aw0sQd&+E`g a3T^R /Deɭ;JQמtPY%?GK}b{Xu9Mu8O`\R6Sv@Ev)`eghЩ)O=r,WjG$5T&CK2W GQT1ċ.iH42x%D(SǻB=2!y|@q9>>D@H3+ +ݹIlzr' (39Ӯ؋V" {cE9V@.,Uu10_[1Ch1Osyv`]$`&2mLOPXYZƕ-Q-܁N`ob*Zϳ`Lp d(WnyPJ=2>@ tgX가vEZt{ltT9aqlxWY9Yv _c 8s(?X#COġ\HE( 5nfrԀ@,X6DE)g ׮ôs$4@D|#ssD9؈C8.qnJ^VbوHEx-/* ZSX.8`]&]n v"'.hr& ˟1y$CJ^.FFVDĈ!J٩P:!SJ*!-4E8BSo~3t"n=T@Y-hPZXлSR#C(_WQ!6*˫":g@zJ<`C+d3t΀C4 N!Vf E 5[Z.fLZƒiCTe:LK%QV&re<ͣt%'TDn1^[TF 7Z]GyNTN6xIWn%~=NBIޛC$!^jIW;Btu|כ9T$S} .bmN~P h^Zx.uq"hgmJqMO z5X$tsj)C%*77A+9*uƋ:SB?% WYy7Q\).Rԓ%VAVS;L iE#l6Q) 6KܬܯZw.ˏGGآ6`<2jz8JBفQ }~-tF\xW6)"O/xdb_ׄ0bgSoe~|C4 5\U?B0Z ,v|( G(P Qt娱vYNX.QV1%0Tm5nZX˒1P\, !$dnT=tZM"N(s0-AŰ[@9Ό-w& Ͷm;W9b3sܵ:I֣D V wz*--I>Ӽn堊Ԉ(~ ̟^n1íY8I/;$E izA [Π#6܊a$Eȱ݁_mRڧF";YiP( Kj>aAtXQ>a0-N=BqgY`},CyiGVpUvܕ"o&͊ Rr*GYX vZ.xdU#Q;7%b,Iz&@q"gtީ f6| !~ r\A6GeeDu?UWLl.ei:k4jC53L_;TFëGhbwBj=fcP8~cw [e;lfN"dѻ96n:6#Z3"83bX"Yaֳ0V-<]sU6z:Fi{k۩$;!=dqѧ" JE0Pw OE葑$޴Ò<՚!jT8 奞x!0*;n95$tHfmOh01"f=,=x5jdQQ̌c2: O2mEmfd 1^R |nY=,rZm&D?tQG-q4:nѓaڲr@ _8!U8 ˱Q^ ߘU@QsUtPDV$. >ai% [K$%!u6Jl{2x29z7]|K茐<9A?[ H ItbhscAzBĴ=ML=#8K1yk{E y.bA6|3OPc.fܯ>iML ^ǬAG1%)eL8bj:󫘌N,1#:!̍g1=8iML^do771~dm7&iӿ1"_ }L T^Ǵ&E71khQL ^} sZ^L |+ob8~-)ie GW1 ]]ocFT|ÁOUL d*.cFQ|CULcFO|3"uۘYeɳQR(*&ҿ1ڐ_DInD9Eȳ;aLbmꃘL\1vXJS-˘oVZoc@Ƴ)G]4o%ocNtHߘW~wjdb&̇ Øt@v~n4, }tv Wc!V n1b&\o> Vc%MDa3etg1e1ث<9fViY|W~&&kFW1 {*ob*4ـړitaYk@-BlH_`e +-K6Q%@qN;1}a*(@ (,g$>T y'09;̿90:P YC % hh $0=&0؂+_ 0 ˖Ң+yZ8S3ɌZQ,y QP M`H xDyP|-x^rOA6^iİ@Dٯ-CV5<HUaTU2E,Rv#7[&94}(T1U4B-e xOy0NJ|.N|m;d3e A˖AJsVF$^tu 8B L1f>!̎蕬42O"JE73 amUWVGՑ)EBŋz5$ ۪W fo!X1! 1d-ƒ9鐅S~<~|PX(vzMf!B>Q+.w t-uIʠΫ>Px} >@P*<{ Ϭ0 x>`ioˋ`ox 7%u>j<&'$?Cn.%f4_w@Ω5 ؙǶ,r~9XSvͱ{ a> nq# 31> Wg|&x="нǙ~/ЗVVǡQ.dB'#7F4D+^YؙpU~7{q;^ga[yX _}+sY)Z?VJzf$0)Y -ۃC?RwK)5/IҾru%(b|[^]?hOZՇ[>N9.s`Y֗}y~CP޶ϙUxUj">5`Yβ)l&9P6‘˅(-ݓYH=Ǖ9Z"eR\ d n6$mF:J%\_N``Ɇ%ĒWk^:XU$eD/ r}AEﱂ*x<0p:S?)WiUjV`ke}"{DVseݫ1嘥3umkOg7LD"W܃E{ΑrkʉUkPuH bYwPgu}*aIcԥ}n5ЎRSuF6?F02P ~W0_mۈNɢ+Wv'$P2d3A+ީ0>v\'8x#2J#g[l$S@bpvf\ IU"VO*6U``o;)@=yP 'm@QU +Hh0`] tY4@[(bL.@2 G'}yl80 =`k,\m4./0F;".ㅄtQ#Yy?CKi2 "hHfc%0tUVQ м!P u}aZєXZXpkQfs07[ t!Mn]ÜD9'(&RRZ@#dl`mR}x YuNi LlA R &ZH ! Vy@F2cs+tke=29$'6 AXE8B)MI 1`bˇ Ii\4AYA h ~⭓uZȃAʜDyn0;1{UJևj5@Iy2#KZMT(e 7ѪPvyM9 QΆO8^UhA~6^wҥqe'΢Pm4m#@y&=aI9204L(5bBkABeՀ &͖,Ye{ 1hY>C-D `ߥkTHِnq̄Z-ki[h)W@B` pyki^[ "1l Q",r>C\-uAxAza[Oxh&W.00<Qu0|GUX`zJ VG& f{J?+KJ \u/pSΟ9 E:@$]胞@0 x܄vso$a֧3Nbq#Q3kǯnUwj!!PkX"+Ey2+b|&ڊ*/OmQ69ڌAgrLi!"?tQY~iPZb3쥳w#x,901{)#0g:_H#[$[ Rex 1cI_&'~"|*Te" @tI鸢_ Ф^>#B` "0s;dzP+K-^|^1Ն`Ax<~4E>V Ʋ/ d0eefjE 0,bIfNVZ*eCP.)(0LxZƧ<+@{AiEh q-s>kLA ލ2}+gCn˛^:om8t>Ήww֓{/?w/ k,襂 bb(>O|R*$|puD.9F\]>'v.E<"|&~Fq|_9 Xupr\߉F{ zvnH؉_[ђz'\hޒ 34^7uA1$vC2XLړBVB23 S1ĹlKQCh'ء%ci<0C&d7RPa}!.*>g8O8M|+rX+FHRYLI mEc#D?X 6谫VڐDFf' "D;y [@DMD3[v)}\}F#ڝ rc~k6="RVd)P S'F506x2F<ȮfF~?-"ъwG硍L/ ![Al{$?Bޔ }?YM7j>T;sa556-NPBt't+qv~`y'phkoK`J{P&!"sSg"r;0D4rˬMQi" PE +hSHw in R-3<Ee4QtfjWq(%#iG+ՙM}5 LDQ \EZeGc!G af+@!Hz'曂v`" sE!X4_!fOztё? ?2ߛ$FQYjBv#rQu˩`Hi& ̦W ҡ׬sWoAMONvz_ijRb ]H6u"ɆV1w͔Yi*5 ֔[[o͵q)x礟̵@Ж&;mTZζfAJ蹪җBD33Ckj;;mD5ͬ$V6uh"h8{Ra;]+YWLkS7&AeW*|'A_>#qEKTY|3z>l,Y\bdz -0u˛rG7fj;ÈVGQrn+R:dS ÔdJ?﷌`޹?HзB}.D)uMZ쯦w 5P>pВYzޖt zD’Z(df #/mĶ*1=kҤ/q^n(X$ Z63kn7ނv<#Q/ͽ=hL>_Ģ@?oʹZed.rWZ(R Cu2$ޗre扐?YmVP9أ*>G]{ Nԓʜ}n7jlfiС|D 3:)ƶ A޺jRCh.OW' >Y/9)a;y5'Eco>]MNf4ruS 7oa~O,_ L6dٮf֑ɀޒ,o{NmQ\ovlwK[CLoX"ۑ󀂨bޘpf[6.bIUn@=hǼ^eUz?׳C0([2OFς:P stwWBK蒇 ᓭ,t>tЌb`m UMc.OYP |iGA!?&;HPׂyw:ϕ+Y_mJ8v^a1?4`s^VƷ_"3}nOIP,TpeB%|seAh "0QdC0Xp?և<&?F ]e{y'0xY8} Dz'+sϭ! ]SJ҅+o hYs c/[a!-椷(lG =ov!27sY7NzIk,%vc@;eep)p)1Ї_w"Hx4 ttd\JrB=¾[9Jș{b:(rcwM=#qL[VVqMpH<7@;omٯ[(t˲Lғ1VQz}Y:puc1`q<|x|HsZjSS*F2( 'z(6a# 3!gvL8aD˙ͯ\lzSFq6o% Vjݒ!sMVBn8G gR?ӆ7#ܢ6Wb涙Z?c+wp@|l'g/_kBc9]d}Y\1.fv^#/c|Z8Lv<ƹ.6n#;mw gR_??cW!@$޹ߵP w0{gM >ڳϓo #`x0^ 4ߌ4 z3Zْi;Ogu.wȍ2aU ˳ȳ>7r^m"c ¯ԫ^4)R$Ay"N B˴5D!h~eLvAgajZ|fȋ\= ^oj@a"vt:|:F0C H}0XWhxgcKaj}a:^#G/;^ sbSc+jƇHsZ5I ē:ՏhEX?ȝ"4w`C5.aҸ ݭx:ֲ g:$aV}yy` G8|'"HiK9pY^6<IlF"4ch坶.ϜDg*KR $ $ qúl9< 2(ZeQςw*y.E9qLrdg=\8V[`:8ED[Cp!;gfψzC9FKW@ !Up+qk ޭأe)ք5s{DЫ;/w#suS!+0g2nr2D^eY0?Gp J,ńbK<ѰA?B8q$8*US1烖Xa:lg9 *p &[G9xRk2,x,O0_p $QD0a]k9lgT6Nzw2dB<?q*l ,ǃBcv:!iӫNϼ0?b86NA㞶ni Ez.>l,b '6?YCLiwu<1R\W<1򈽁x1q)*h?ѴXOVZOVZ2ϓl7IO]\4($ٳY w :$e3<< yfWz{pJ FcD9a&: eVܑ-fOAN3N`vSp GP9P-3y^8yjhw$xVm a(7wtr1Z8 >xcB9@:u}2P:`6cp|J^TgIIҬ[\x/Ә0ڔUVmY$XuqD˻CLkZNstdY%ZD@DL0-@OES,] qf[IcUW֠LI5lM&%A8ȌK⤌ݝ{j;iˤ?$vP8'zzߒU?Yl(~(fR=*͉ٟ!>~`C^;%XmGTF!w@HҸJC9jE O,cXph=~s\'5gAyL+Z(xT>92'R~#.Mo9X3|@~Fo#{9h۬0rH+ 𜌱RCl YUp8s`>nUT)0R04S/wnL]0viFG8 eFA=Cj]!ه=q ڷ !щk8h-JQOCC2PM*=/.J\]+}fBP%V8a)#$:ks卶z R&f\q p;uf qz(u}@<# ľinTU L2Ǖ7@vD$Z (zlq(mI {*RgarFh5{ Yv_1A~@{ɘs}ťD ˒SZWhY09ѕ2@U[hwC"lJ(a%Uj2yDVmzW] n5:,-k[d-%nǺ34.m궊Vicޣdr׈G ʴ$p8)zMgi@3~ ;޳ uԧV<j)5|ʳ8GdaKv. Ԟ $&LE]洁1ZAI!fȨ*}BlzHk$RmQzv'x =w+zTyKBt 67c;-EZF5Nf?d3WdjC_jb Tϝ0?wT IVa~)ex4p7l,JWWGCU*=n;m`#W*g&fkմM5>( &93feAS-X*L~y/?]`/G.\$!.ףq?,9i±8sˎC>/=hVAbk72OgX#kݳuao[L/4ueZm~ge3׍qknmݟ":`A#YJ~]6Ry{ެ哽}?Me|%E{y2\!.n+z <@Zb1󟓨𗢹id6΀!?n4|,fu&-R MWfQn׳Ԗy/d<3vqIm)RnHj[6br\nۋK/PӒFр@qpQ٥wfҶ1WW}tNJ%oR_(\h )E}X\(wf.\ #[Rstɋ5āe.|* r?knepẄ́ }rZ7ɸՌsu 812nL]"/ ](*^)ԩVMxAui/g|pq]C%Qe/\4ޥln7aOj=ze.¦.AB#zHXJSy۔of3жVf罹hgT`I&a_{VQ^2x .\iW5Lf=_я*{Ev{˒*%*ѬM2<+_O{ ``q ȽFbLs20s9o%?m9ۖ)ݽn>;@$w󻦘mɼ-+^jw 7~ca!$i~:K\x`-Ow^[h-ɢ$#cGEњ,%)⋅\ڃ71 /,:u_S}z-¨#ka3ǂ?|w_mkpF3aBT澢MvQ'z̈́3 sv*O\Ӷb{݅M27nj&=N]g;)y~x5Q{ zpՑAܽ۽` B溱ЁWUY{f2Nn ssD]eȭ?<${c#>*;WuFmCjlmSVD'H%r( e7b{Bòr )W b6 G7rAi~MXc}&0w̓ZpO1W- 3G㏎r!s4R$0vsU!8oιsvAw ҩلq$6&wc3R li >!s-z<Ǘ/9"8=j#mFc^@]^YnKQrX8 ,o_<n0 )>oW!_]9l=3%jc([@LH-ۻ% ?\;gDrڮLTzAzxE& 7zDKȮ_\0L W,Tx)90"y\-@ΖXq 8_JZ- \,Ka@q|r%ŝ1+Tt:O͝Qn=6cT_zB,V'sU={)Q )lXζ]nkh7[[y;?TllSM@TN죿q֭w!'EgSI)=C7c Ya(֫y=hm;毡+ͳ,u1'`qc2? 5~h(pw[h7vh?lj$RIx_VB7^@0}W}qA.`4 GbW҄v-[rXѵF 3/(?{2}o@,=m5 ǴTL TJbvJK? .G(vD^2pA GC4 lQsy'ӾKٱ_-ϬͷcK5#~NMǿ[@ޏ&:w_b4}>72{M\omN܎dܟgaCݖh >-Z6^!tEG|{k׻= (*xo6']&"<؈: 7NAB1/ ovJтdXTbܖlQ0MթU!rb`Fל ;'mEe򹶗E?ږ9*+l:UU1C4JQ*Pv36:kiO+f'0,xn^mFȎ+B]>vȨ6 }LS='iduZ1;ݺv9Bۗ c8>q5]q!l|3l 2Ɣ>=bBߕ׸coKÑAԫmq|W&Ě޽sȹ?6zTe1Y(Ֆf^b rLY h%xjCAtZ<J@ agw0lPt5cb2GAqz /dD;sP?$wpykΚK05~)i4f:MhpCzt"ñlƒ4)?MaaM9`;>Z`;~".⌍hWsZKYlm7p U冻s9P]A΋Gx~RN`R&91ְ XKڞAbڈ Q̉…L,B)x;jKqluϖ֔w?I2.>q5?# zx?? 0[jaw\X4~42@+0 $^9+нa/~2_.b7VtEIY˙j\2jʌi&،/D Vnl+v5R[RF{TAM~C|W@e<]0 u4VcwI#N`.EzE0$ ]o`,Fd\Ӑ*ͦ.~bDFFކpzǴ#e\!~38TMxoܮɃK۽wps6hx92*ALYG.:.' ]WS-Y|FY2:Kg[ qoOM|5?5m/d "F!C^r\ynN9{ߔ*9frfr4ImlXST :ܨ? F4o΀2Ё&9;nt$:P"f=JruXԈtZ k î;ƴ/<;4 ñm-aR[mFXf %i XawB #8^}jLKk܂߸6cP(؆ Tv6T:[_咉i}O1~d01:$9҅V2.߼ڀ tS0̟չ_$2IG@9-kOt:c5.V?DNW:Nqr+ ~ퟳɡ}a?ӿaV! RqzGa@>lG濶un6Sǥ1n4]S qSTm4f$4-5kw W?dgLa^rHeCL%.GaYTVUXnr;qIrdPS `;/k6TFfn Z ͆B pO2%_T%970pȃY:xmޱZJ9LWhq f"q9 Ǐ[E+|ɤ} T}0&zwX7JF O7t_I1J?J9[\qᰟk q͗+iq ܘB7Omy& T0)]In.jryb2 aMjxGL1ٮ ҆kȥe/bm̈́EÚ94;~'Zf\~KjIk5MH?n6nC)r\-; H8c!\?p1&՝<~)gO7.fI֜srAfb"J!p]um?Wd&Bppcd",2Ey.o,97,_hv~ _?2 f_QKA-^RePk&ч5';#ށ0ߖ4<]ْ /%lVX q̓ 0,o| פܞ7~?no،υqeSW8Rh*xPժuJ)1~6{' .Zc@6$Yh,7~1MXA1"gAę5ؒ\7uANXx d#Kf8cՑm(i *a a0[hLC]Uzl6zI!˪#<0 0c;+Z/vP|׬5|x?('d1o7"UB֕^# 'MIpHş<}g:^L nu97yW?T73Ig(?1 ꨆE,GIM6| sAq aw}&߂h3i 7=?E2o)@u@!W~ [;|æqn;xZ5n^Zҵ5"3'oB<,n I2lrb D=& PѤ~YKa6Po欚Əw05\x2z\1 t'Pqvh,su4֯4j6 90ǵa1K^,I:8;6 /d1%ɪ[\ݓ]"ۥMӸ>2d %@ vi䬽FnnRDE< 8g:(HJx\IpA`soƦc!96t؍7Ek3FkdFŋUfuwϰ kݮ#kC61[KStMVom s˦GC7~ɍVF) A BSi é ?|;xOKQ ( <Ā ɃXgBe̥. >Ok+WBUڐz%yO6!W ڼ&d@eӠ:D>}Ch>|G3vRǠп0 p łH.?7C;~?aS?T˶0E}B~|3GZ RGaxc= #Nj30Sh'Pj4o!6I\Qml³0 d6Fb=a}R,!U5".MgxI U-Mz$LZ5hri4_!o:3=.?^IhM^NWeY#eN4;ݘa>C vOY ?/ԾOjωKCeGʼ?)/ʼ<3x_X@ɗɷdNy8TX?cr Q˵a0qa&Oyo Es*-6TlD xxKo~ աzj/M?H3wm'\/4hrT> SH4/8_pĖ +xvrjOFsnG365%_5t+C ۃZSڨ payso"k J`؁荙[u$)&x##ʸ0nfD96_R 6Ji)J5A5QrF [y1]ȴ;-o<ɹ2s73X.6&\ ڝLIQlω335P! * j1OE%Kq#2 QI&Ⲗ˸TYX) f(x_[du;NH-lᢱx!WՈ-$2eN!yU4ġrRcn< \uhS?M˙TPTN;N֎Lumt(z%. DT4` =)ml͹G<>@Td^,=h$$OS⯗7R0x#㶠.F%)'m\9՛yd<[Vsghb"fe *P}kesSňǷMyCRrٻvQُz;-G>&4}ұd cgG~n,LJ^o8+3^y鹻%;t}%,ͅtㆯߍdWq]C":+}d)ꓘ55%SS3 &@~"G:DOj([e)_DLfW.rP 1f1o|;"dǷox j+˂+%5yFz"9jx ҔԠ4i'}_=R_䠫Pq/7)d[H%W)moMjn PgYO+4([b՘)dN7X&9 Ʒ{~qctdZ/ wMSy_[Q1H`K#/Tafv(vڒf6InSDJd/3cW; ye7^4} ޒVB׋%~ n)8CAK 0!`Tk<=O!/mR0^L CJ Gk'F% ut /r 9Da3vu ʝ/)pIӴ%-fawL&吅eTaS94=*2h]3Dfb5039xÈh r(G@I(|8 OQl0S=b"-PVLbp *1$ԷjkŤ_,SRJڀzdꭹ('iu A&@[9C3u ڙ*?|1cA^حRӜNY=v SPG ofeb34eO;C8D WF,`iaK!2;]-hdڑ8tЄȀĭɧRh"IXMbuksQNI7J 漹A7,Aݖ2A!:#g6v( axf7[&9!.nB1)g(f0϶7eaGR<V\H@ޫdb-@Zc?K" #761r3qE^0|zmQ}Q,֑7 T)$ϬYY>D3eʫ!ɟ#ErSoqrh":`~Z!rHF7]P=eE6.%ʻf}3;#;eĽ^6b1~{<@⮅_8 Kӊi^aN/\+ sȬFu)2 "kfFkLvk٫-°$"aYF.UvuCF5bl2feZ\4Va]Z4^cւǜ es]I09ʥDf[n 9&T t ocwH34݃7 aȞy1'SؕWX+-FUVMf!cfjῳ8&;G :+W9ԙzTz#7uqTDm֦&3-l;K(W^CZ,V >Kqgгri͜-Aiѿ&>_DCtޑ#g.z. M,Fyo/•]"NNPi, Y/_L즀B)WSV]VC@k>y x xaN~ rzaI5K۬ȒVW4{cߔ,8W{k4&" ;aw 7Y'scJ#$So}<?oRpخovO;aP@.iFge H9*'& "6= {?t<Z4h4+ŵO7ؕr!Ȋճh!R /QFDΧ?N[ƃN0k iO::zTx 8Nb{+68M1dM 4ÿ` zAG֥#agV|amb~V';Hox S# CkjkOGCڶ㏓S_XAyD2 }y(ƇO^XpѰ1`ZZ=nkLKRv&4BZF)t{1"8$PY6m[RSg)rјڞʩG54!rƍ(JVӵ‰V:}8kw=We*L\,Ot%dݧvfu%0daȞB1*/DN%1alM鳧ۈ{ )iTʄ-+;WBδe6!L<'>nܦ;y8l4&v;9LQAp:pG.4LHk1xT=2Lka@878Ȯҏ.)o ƺNX h~|suyd4w&*i3nj|TY17| b8[K,yB?nbsm}T=$vhs4N8Æ'˕Ywϼ‰` j,Yp(~w#WfAϻGNN*d6w~g9M֚T޷ Wu*1s8p< X9 /*EH#OH¢LwsIɀl{7B  SӬDB HIP^E;{łAޜİn=uƿKX2xD2kKW_|}ԒGuXmk!^L8|h"Hx׭5LgѶzP"f\Jpz )b@(Vժ6('"Gȝ5!Q([UǢM^l1-.౳ `\y0 N*ȱ rN`oPai-Tnة^t&D 3ȄXV8* z<̏_S kI,qSMZ]Qe-PZFn8%Ğ64 *8 :k5HBKFaԒRlwK`ŝ.ˋ<)'GRW_&p28um X6_ M~:(MF@K\ S3vҧsG4%MxPz ޷NP6 gyV)sh? :n/YEpE:# EhAe?qc*0ֵ`.:vIR?Ɓ>}k.%V;2yr ?=jϺEh}:Ex+^{ N”ee`>Afj+Hn"`d:SE!sfEVɺX2$(;}!("s l=1=K>E`TwRNe &o>>%S`rg ^RiFv_粀eJ3+xJ`y z77-vqs8 ޸xZVWqdA.5S[U  4ɜ֡gX;L ~ZrZTfX~́ܗ֛QJ\)^,&b/[z@nbI'&*ëQaT(DmEjFgtIjk׸a \tNa]` >ck.zS^p׮"+yJS.o@)a%Nbe% O>9m7GXEpڕ:nv`GTߠ.7Sb^ԠaևIz6\5Uài;hNcr2tJE=C݁@'@þ)yI5 (1c#b%70:̡D\ȭ?DSn_+`q (i^Ra!&#U (;zv*wS#$Łd%qlGBMR= tN )k,rRS8螱>N.y1w (qPu0 U'X6XN} 84%|"O@lP#KﴷL ;jcZj'~+XDf$/dDɒL6J2qFHcT;=?r&щN+D`YΑ(l =x[ɈtrF%I*w}S.jpՕ5x4U9L@#ҪMU`Q-UiLEңiqA410Vb|)"Meļtdhn9rP ('c- oSü@"+ZT!ƇaI֤Kz`"IKJ g xaQ%Vf2969pgQ7i])WWtDq*(i@xq3|N(q2PEo@av{$I&e+\t /te጖z/9-XisQ]AґL-4KUANTE,pȵ/UYD굖,舶,لm*UEIOg_Pť}vo䪸F'V@5 1˽NjYirѵt>'vVCRr%؉wQGLoau};:q# e`v7aP FԕiC놕TcΚ0;{QfO U?V@&q :3;vC#m{>l/ ֥؆lqKNREtůUe,dh!!~A&5ut&9Qã~QVI N HnU Gt Ebfm禊^[ᜬACLazO ^qЩ2IimgESdR,J&bI}' 'k3<NtD ӽkkK)#Mm;̹J{V`VU&9t:;x.Ƥ c:N:SLhƴ#dp=8QܹдRMG52HSD`*DM&5JM) B͕׷#yVҌi>LI K1 /@7DnlWǔIjh M_SȔ@L,$;t 5y·,JS%`5ܧegdCmC0|Rzjk_lU9Za7+ gu<_r=[ާO-k P7Z4bAQZ?ݔClv^;d]ΚX,O`)փt(gͧή/ź_U}D}"cq_yk~Q~2'KĚL-b_u^׶T}QU(W%N SN {Im{3~VzԋO`m; ܻF2 i)5}_}T>Me%3ʰHJ^mVbMDk[ۤjQ 8]-\:Lg4b954S |g ɓ&U -D S5j>dTY\n揂h2U=buud^ÏŒVke}q#IZ sR(. >"i*\͉MOJTQOe(ʦX-+#ORtyY\^~tOcڠwŴ\&2 Ũf=}- F})JqXaiFZ_Xw^I(hiζ-vՅ|-9+vyGSwvzUcH[ΗLUӥ)~-geqRsX|ɉDr+L-K@T¶ 5ޮ7lpujik7qDU3_SQ;7t̗6c7$'Yf3j*C1z'PwM&f6en {K-SOU=2 4'9v( uJʂxYǪ&.'o{bZۆ0Qzz~,b@Ok˩běyT"⪩VK&QϮ a04ZvvnW@=O 㽘c'źٮHu{$F6ϚUʦ$kڌ)>@C"/ CGrYh$Sw4孜[LCA) c~c^oȠ~ƕ)M3T\uZb;!d+,i^WO*,pe ' ə+>&uA;o?פ`r~i1a\gcof%XрE&`eE󰺲(YkuDNꯩ⸚|5oq%Ky8DwAOX'.8ةEkg+iY*^p,"@툙xOdϬVHE>]i0afvBsȬ~;}peԻ-3ߺ'o%}e-?NZ>2 |gy߯s Gu<.&|4h)>$b8{,9 ce ,v9>p)|X%OG%%Pbz4IL2Kc"cǬYo5=Uvwߓġ IYau|hr!1"lI_Y!s.Xv5x29"u2]Qe,ܕ%?9k}8Y>dD_H/I*IWb[Oe%/'p58i;g`~{Y#HӖt,{HƏ4Oln[ןUY?LVzZ跚aTtM|DzskטzGmNS7{n"Kv0tV<(}FO{eTsy _~ܩ!G c /Ef @S-V p"ܨ ~95V͹\YA{lsAŤH j7RڎJ:dH̒mwcq.CE/=;^,a)Nn ۟m`egxN%@}P=O1DZ81!^M=6\"a 氊JwgvRe%,@ۧpY$ `#՝R lܩCa]&_#g9BhYytVy]+M~q1XO4/C ܲFUkTO4=y_û>W"ea;s")F=zWC`6͚D#yԼ?R+yŶ q댿]dA/!>Vp$Q>כY(nȄ__I+4)4;zeV\?.)J=Q3.6Vv&ʼn XXՈWi[#dhxWGǯVw۵YgLJ&6E r4ZN)jem_$Mܚa/yS덱[vA&WnU3ۍ`MZdU}kt]  I9 ?LS[NȬ#4 Wu15Q:wAH ^2(B#E UnθqSU)?33YDsQaP*u'K0`@FO SdQ+"2ri@H²YKB@˫zZ?V yjP/gn'~h&*^=oQ$p6 и5 wR JLx_`/Ȍɰ 7z1yX?ow k_)\r, ܡ ġ-LKbd3Y}}RuՍen("-Qԏ:-x{٤KHW4Wմq|4W$k.4U9KFc#b+VX̆z^Cp~J;nia }_9׳S6,K9+& ]IJ"҉-a“~czS)8~3P$QE+0KK ] CqacK3[)5=*TKv C5|~<])|-6\[`.V9}3Ag|A_gtYr# șWܬJ<([)X3vkY*s(`_." |UηRLcI{by}Cs-JBvUYm5<1ZIǼ }}B [L.oGe^͠~ba\!ʵ^ܳEq5UX,+p^#/}.w{aa7\Hum uPPTz+G364 /vi$}ø(f3`RV3I$OKr)~NYkI'nʛf',zdc{.Fx(]?pQt}2o}l,hC 5!5׽ Ǝ-t4fF,MuKxѶkv㲂Q3{ #N=(U4-dWFkK0e.*gE b.IZK|X".fR~o9|v܃l<5-#W-yuLk^bWܖEX|8[޽nxc+w%  ɭq~Sg2HZEmMF{nb E2r#7V<߫ r#gs" FOt޳g@IWlј+{P%vux ).@EQ$i4 (AL\q#^qLKI>i,4cS78ٳґAfh. C2{IσnxͯU^˚B zG֊S=kHi#S]9_D?΁ܥqU EXMw쬎9+Qep̋nm=k_&d04Ft[*t#3_`h:Ѱ-g2壗Y$%P6#wW$`$>rrmnH՛NKCZJMX)˛%뻰#fJ3i )AzEuv1{ q^ւ jh ?e0pia ?JbѴ`1 b1m֐Lиˢ39x f(Fi X)=%!ܘnδW6jDɉKWׂo7쮒 7/ .|^536Wu;vYg;/LsU ak"~F8FmC*ѓ?Zޠ|ڢgsS(txj;푠Aφo)\)Ԏ-=~c mUӳ YZ:Vڐ :'d+ja-I?^M<׾LK^¢${ 괟 <7f1|QTب$}L95-Gt+b wAVd5|5 )|:³ H#]`ҵrv0h)PamSHYSX u@ w7^X> - W˭6 4x: NB9G},>$9& .satՠtth `<1.|Ž [a nARaE & T\48da&?߈ i$HCU:0CI}<#C؁}bc^?u7:R6A8N4I%83} =r',Ašc5%=$4~S'In;X}<s4UI;J`t@Lh)9[$5aCY*K8L>1Z wyQM04{s~8u 3$J M7$<: B4̬0^"Q)udŝ wCk8[eBGiM_D8e7;u(#Mi0ۂ1=Ar :fy株)BvPn g,md?kpVҟRLBnv(q=[ _&w+u&C-RIzX$R$ _'Nvh$>oH3m$":IIz'uXߎ<&Ԑi`GΔDj;[Ajr=[.!5O:6yNP mo>Vmtml8ٕx v I~EDVZvN[<^.2ژөsOg 1t*Q 9ٷT~qgAp;-,V" tSPu(}v!:s89~Psȭ?9Q˖+ NU \CX!4̚CȲfm4+Xr݄IsR2)"kۑSO%=`B84\' d= )^ f*H"L?&TT*R,OZ\x9E`&)4G /WP=v",MSR&=#Wf(iQn>sGp_o̗s62 *Q,_Q+YRy{2x1ߵt 5 ڂ_k;U^qESU9d38c_OB w +l:}EAHG*SZ$N]Ⱦ3tgdd}4bUax.Z(txe)0:Ui$Ӝh+^m,?WrR@R&ycœ>sZ>T1<9&D]QUPpIA2SXV[E|YF=z LMH)*3'e>3jLz82U&⊙Wd31U!]lW K%8,eRS}^ʂ3Oz2Qлa(\ASDy" PMbf.O,7ZkЗ'i)&z 2@8G3_\MظsH*ӽPvzIsFVF޽N:'Hrz L2A|kj#2mZТ19ZOδ_ :/ST=*ZJZ t2g~(ilvz}s68vŸ!Gf&V;2@ksIyט#4WwCAJKI6Ci.Z\8pA|3Ru/hYG|c6gh1u|HUc5ΰ5\O+VQgX;Aȧ]Tḥg]aPh`M]"VSU̶hIR@R81GGeSH'ΒqLB^3z(zќ0].:YfׁT*>TT=V9|S+vGl ƳKL0V-J(@~Ya+7t;uR?禟H/Xy\~@$)k4Xjҝv:#:ya=uo~m"]pƕ 6&OmVK0HUm*^ܔ_o[bz/MK.EU2wl׋j;^͟SU3+o墸.J_mUK$ |_UW/j욫՗zѬ_MY,ʅRcR cn*u9EP|y$UҷkPofm4U-_ @"qq!g2ZhĴ*!S>-hKy]w|?qgUD<U# ̎PO-J]#B5=:y62IMy i_L*fʾ]qF=ca5.FJ< m]Kh>U9+离MŨ)z]b(Z7wS)xݧo.*;#KaPgn~w^P ԥooY.myaߝgDޟt93\nZFዷ臘P]reBW4+VfQ hyGfK.zf^r~eWߛ0!Vx$_P'o.X8d4-cbqz[#ZЗpMc(U֤g kxִxy|L5OV7٥ݚON/f?jQ<:xklq {&6VUtLr*`(_E֙,JW:uϺbl ~\LIRl4am $Xpw}8=QW'+~mt(ݍ ¡?[+x]W3IpCW$jVYگ\yk=89>{\Kf}XY&uO}cpl}9 ܥ^W,~EO5 0:$֛S9/ͥ@vÿkv.T0)NT~)[㧭*o?;Ě|`~XhFj_'R\}Cj4(˟e>ȜP5Y#dʞD2c?; nˋN)tQkEqD "'d,p Wt@)s;ym#=u찞&Ӂ'kyN+J,2,.Hܲ֔DFB)^-4Qlh7΍.s<%_vz]gEF$QHZ8DɏR⠿oen8K^;՟h'-IW4%xdi!wfN:[qd^⍻1Wևdy9몼+!.rd*gbcv5o7vFGJLڀ< [I&TY+ ǧ2l_Vܛ+qg#bzaeq {tH1fO0i5\ʆeW^] mG$`swM|17MQ.umHӥH?7"^JqD ~K;[NIb郌U tgkj 0Gl]y׬T(X<,0Dc;D!dʧ~+qRY|N9#>m?di•98奬i#άC$^qpxS[ RhwDIh6?`-K|h)"N3{|Y^S4{n Svnu :t[$[ ʈ9Kx@ %@?# "_ }j r51͢]uy]#V]|X*1)Dɵsw6GxetQ CP `%,5ٖI2 fٓcZ(BS_R'ff2 `;jO6)޻\p[LIy^_Kh7WO޽3dw/5+[Wz7OfŷoNp7XN(\Xv4˾'M5Ƴ r7Fߖ}kb0`ˮ6rD}9*e⼞[~rƚL>q[aV n 99x';$O oVͧrf%|^O -ܾ>X/At3I6fH*?P\T?a9f\4<ww\zc=T?-ՌFٵrnrBk78 w}B͙/aѢLVchmhqwgݓ 3[f?{E"fv'<Mm˃bUxJmnָp;qQN5gVO٬٬`~S~iLǯTѻf2O[/Maަyj =l_IrҀ;9[NѸDdȳr΋rNbܖу.&\gш !ଃ2D}"W ]"AL70.z,a^ꆂ{ؔ㏰)ƬV} k%M~4f4wC桿`.O-6y17$2{&ZWص^-hŶI;WM=iDQ? n v>w ϭōLhnKjMkăwtڱobdҧi9.W' C2 {Q}3D'GtB7k;A k~E:aNq`߸ )|S>A?iS]aIɱb 4 "eِlBR@A,L 0 *N9(} kB,i3[E8s,jopk_XMfyWOE I"-0.Q,03H5擵f~oX;H<U+ZY} ,gsRm_l.9;J'C#Fx+XK"*dRzz:4Ú ,lNPJS(\-X,KCYxŋ59iݻOF 01_c9&D_˝7Cs>+l3ee:|r+59F82HOny&NÎ,hXy*oz3F'f?9$ z2la|EdX@!m~Ⱦk(zU̶5?F9dݵ}` J/Z^Q~xd/#,U3=Z-7S<\\5φI"4iA?_J; QԂwЋXC?|M$,͝R71jJ2v"/5 [ŒtC00y[ỒW7oݺHcΌ#Gh4/&Ű߳WbJo9b!^S-V(;%5>xMɠ( meNք.s7 .,l.rbGV_w;)*vµPJ<~ vp$& B y*9pW1es|u@^k1f$ A#III~1 o-;ƐDbJzF. sGue tRɕYdFC1+9&Lji=@Stz٧et:&׀4iVkbů[٩)}B!aV{Sfyk$3`ZYI.dhPY9':!.-UI_mɀ¾kOӂI'5 ~ӈ/ 1W.+(<ц ϳ$7%4- )dbgǸ`CbuY~@4Zw8lØ?j:t_ΌG\II17mY۰񿖶_9ڥׅr2t,ߢġ׫pv)gf֤7dv7mrz-w`cvjfqywg6_zcRޛXlK!ծ )dU5Uby!yfAhQHOcOÒrH$tɹ7]aCo.Úe,*L"'LCd|L \z3/+ ۅmĹ6gc]Ֆ-0wFDUXڨy͕=l+pbܜ1!SƱ!%qv.oLQ02~q5 KXTRo?xa]h傅c ?z YBɒ%'2dk!T^!֩+1a8 f_q{\\ @+}<`F@oOUYjє'T׫5Yl-iN=>Ox72^1)ƵsZb[AX~]<^D.ofA׃-L0q_!p+k٤i-BL=߹258fGcS~ >+O~Gq+\+ {07Fx}Y<9j~w/= <ǧnO{?yIՐ?;#!n/GHהdwNR\:7ߎw2H3s=`b󯹽Fk[_KydZ .ü*k5海ayJOw&gHۣN{&CCl{fvjOvzv$U1hd۩WK9uo&9SZvnPwx2̠aad2h =0jfSAg^3Y*%@i ?K*af!h<5tYFD:v~⠬ 9ä{ʼe{A9槡Yaqxf'=Ee-N a7)4r~IwL=t&Aw)(ȏ,pÆ w*  O*dz؏LoQeBULWD6E(}D3A}vusjѲ%#v 40TR0J` |hl8T&jdw>[b -3(pz+jnG=nǃ4.F H'3^e['?0ӝSNOO1PڐPIZi}7AOY!+g}s>; 5k0(EGK S z (+x GNg1ӎi\'y:Qt,pxLE{tZ, TkkDfņ>+I,6Rs8Ii1hѳ2'%cΈLb<[3Kba ~QF]\Su,\ӏfwjdľ걠{\[j5{aTsT.@o:dr-jrYMy]G]谛%7:F]TB4Jb< B|nYӍo7N3!OW {;NT$.^ى2A]q LfMƧ9ZS吆qO- b&R *Nož~0s]/f svORUv #EkoZN/L49j7W#g=Cɩw٫JXIH\ |d02N!+ -Hv tbܰC$:GY&-P̼6Nֵig2"B4Gˎ* 57%O*ٞN~kѝ.uc'Pζlӌ\*IApvE -@ `ڵ`5M -b=Q00g< U+cbLE/*:T5Q睎 ?4\gF.mWiE}i3d>bjru=+FNݮgó %HZN;cI]R1b뱟Jϝv U Fem$c L{CO;F㱾\uboe}srlpfHE,3,-y7 eÃSӯGQ6Oƕ1[bO$o5z ?kk6$̉K fl~@G`΍N X&2\.ufx_~8%e7Iu{GbE'ۯ'pԳ䊎3:gσ LËذ\Ԛ`=2mJupYg8I`,®nJT){Fs[ 6q);_pTp"Cp-^κ_7L =_v(wd̿5w8Xʰ,|6yGy~cnlFCuZ?]Rq~ܣk-@ lg=Pm0sl{uM{@:ttV$;fKx3Y&M^>Ӌ ϪV٥U?'oҒG>*DCe2%O?8}׵>^h81T~^K9Eޯ%W{Ajz7ދ *cDH'0?\SFl Lysr$D_g;,f h)ڨ9j󔕻Gr9_fҩz7r;7Ǥd(%( xq^%=h}l"5*.[$#dG#}O868 ٻU /ul~mZb65aN‚XcݜG{pOr:7P&྆ё2s|\ 60$KN_knoXƿfv6In̅z2Q|RxD &4UǸ#FC Iz:mJt3v #خ_%'#v9Z=<߱ \bY߳DAGǢ6>$`qdbxT@3t*9A|ݽhU€E"oeN%ӑK(2r<IYQvE=;qoP$\ &4~fbc**pv)BQ8/?.2\t 0m>Py`'Kr* ;$Y+?5.Lf9~yRbvBRc6TIno~Q4{ QQn,-\,Vk}Ƕ'l v&s5] "z3x$C6v J쐷0/)(J6<$:]e"1IJD\h,7L}m)W{ۙt11cGd,|hON.z=4zΣ`Xʨ^Nӭ4pHrKSQ=Ow,8Q(~*B)/JMd*}hU03Y,/Aڦjc ^l=z:qrB N GZFoV3*ՌcX:s҈.V'TQj]$42'tlqɟ7Jw:in6UPkx;ҴHaIinN1["~zkE>WEFK%=w:)IѥW[ńXNZX֝ߖ+':ywPse| Z*ɝd"%fO"5dArSwG"ȭl9,;]/nһ23 ts;'J-ua{n-%Q L2X n8.Zf16vJֹA*\];9^!u/` vL&{Ζ(‡a :#n}$-Uv%@aӜôԮ$ <#3UJL)_m̯k "2A*UFi s2kĿکB5 QmڪZg7(u@'/L u[Y|k\IP:GT9W\݄D[ ϤlF@\(|b>$G}+;=4uuH8b۹P/qJu]ie$҅rkje)#H֦GU\eH ~^K- zDt舽]u-T9]:a>kxQ#J4(`艣" Uz:qPK`$n7xJk@jYS2bK~?*9f'AxAp)T&J=sV;տnR93/S{տ~.(ս,Lݗg߶&7$?'Qe~JP2顚+4U ;Ypk$śtz>汞Q\ur`\|Xlm`uGveJJLɠueXE@Bt!oLuݫfΓ.׍iMu9 ]%bӪ^S҆c`~`쨞gﴮVUqz4kff%ƑΊ䫬&ߝĥNjE \?NtQ+JT`Ά"Zu?0u*M%< qM9_jz`8h =3瓨2&sbZogI8fKQ2Ig$*xxIW\ëz>@YB ʧPC7Qebe?O|?Ȓy=BYt?1syXЪ/g?$͆rvi̹%Ϡ-WE.g9mt }=*o^[oZ弪6b?t֛) lEYwbNoOZ-]5}FD-D31WvCYL4R#~K\7&u+&5y+LxѶcs XD'qqIk7+ZT}!7XcɊV2V\3UdsiiryS-4k ٶҙ+Hx<1״?MHuL~W]_V–2#ddv2PArQY@.;5t?ެfzNr8h)O.W1îܤ|E ehF|u2H{pOt$TdJ3~Wa'-%̓(qKJ"Cxci qʏX '?6NGC@Wr•;O)+CS\._o}z0QIߗkr)y%Q߷Scs{O9]5kkeH3_bfΫf#tؤ_}rr=)f[ ?Ŀ3 rI3\gPly _û~au_<@lQFt,?9nJrQY"7=E1`F<3OOVM@X Y=qN$=eYۏϟK'-P +T7dQHxxjG/u=&'} %bK<ܙ)K?HsԏVz:c{街?VEb4VEU/. 9fMa]S81^SϹmosbpӒd>sfu>9@Opc /vD}0 !!*I,n2.yސF[d%}RBΝ?60jW% n\*&ߚRiqQ nORLTLL82rtm5몔 Ư1ڛ)+ #@x ݿ۠A݃0KXN9PM Yb94X8B.'C@*eT !?b N )D A70/tcI^w|C3)1S`IY=5­n UaVA Cd3䲯~̑7gɸq6;^V;u4qǟ]׷"),#>`dQ^_f/IJu'u(HNmd=~boIt-oH7͌?NRԐDC~]Hq;ҟ&"+/4Q'EHa[X25:A`9ȥ$\ B8J-l̈́+N @VHbY-?lӷwg_?՗w&3蟛#yRtAYc3ƒ Z~9? 0Bo?OïCog UchC`o_A~( (к]k;_7pu1ƃt 0 n$ޒ(x62e>,Mwn{cI&AV[}K&a 2]K#tSbU _Eza"$k .o4(;&6؇Ԑ840#`ˮ nLO}&3d~wwI QU0. tPˊkAHF)E>G~cZlgp.}hU bUŬ d)˱PG %4͠[m_6۷WCxlje2f8hœ3zKmMNYX\Fp-/E7N G;t[uO3.NR*^O0WrG@0!t)m9h)/~GxkBU-1No;qs;ݕ̶YA"VmV`>_Wnqq ,~hQ](ޙOxvu"uht^_% [W]ӭ)Sn ҄ iڑ@)q *W*kRbQ#ҫ1W-I?ܽ+$X)M9N_擻w鰡[ցQP0vѱC~: Y;|y< \_q1CYP''G z5BSE@?bum%H00L#Jdc/ڦjNlo{l>KyD_floRKxcLPkai[Z yY19 ,R;Fg|׽K?_,ƴkm3qF.MdF>)lGd{HT:aҎZئ$dyF8tSt~Jo;m7G킠I<}E:½+p<q$sϵPˈW2ѽ9G6J/u=Ծt[>Oͯ|wƶ۝@znlOq3Z(EJZ[xǎz8{F* Nq;`MOi\?Oһ&\+A~-,:萉.{<nP񙝶Co&uS|[A+ g~M.s7<.pJq},ϩŧI|ErZ4\ǕIvl^@7mRˤ2Opg.plVR-D[eA6uW1vH꫘It%C ){0 `5H cA}$K8e:\Lw9e ?36xm>^Q.RvTz*S 3uZCq)&8~ >cݙC ;04w-1`f\gSbQGi\3 X,8*d9l()ƁWuMɇw݈| $r*hڛbv@X(ʶ pKW(gWYmƑ,{:Z|hƔGW-ǛEhO ={0uw]'Y\:1<{~};أ^W΅0Tܭo1O>'Yn\Vi2*=N߰듬<4+ݰoSV]L iu=Srnt8|Jߞ7#=E|{-hoJaOId&MfzNn[:tsIcenJ+ =ç߰|PW+\p/V ?RռݶS5/=N^^k/'n]dtP坫!bC[csZϸyy -9$SfS{Ń:`cku۩z?FwdU;?{v~Rw0_Z׬.=;GCyb\H ~݃U{1/Qo\׍Fh?_8gu:#ߌK==Ӈ'uhӽ{Q:\e$}7B9%Kw71S9^"x1 l#3*jpʜ|wDAeiI_E}u<`~$ g%&;U/x"(7`bg~g@3hd* ݎj SKȵ&S@n%{Øդ'܎lۊ; ]$|8wrxN4IlۤeBED '"nQH&FÝÄSj[d{H<Ks,HʥL]s)hѝĪuhDkk=[?:~=G2`Nh\Q_MZiu ,|JjbZ{4WnwonNylvJKs95rO+Y(~"Tޥda`6:K&#WB8Wn W۶VvLHT޲3J XUV n`(aF[Uv6 Ue< |{7 ŷhA=s0 +EѨEvT}jTw̖VKpFGx7v*Zg." Xhc~4=ԅZB!NyB1 |`xzwɲ+e-8aa2fԄv4n0&as -)enE*.`6+<9K"K07pգ@CU>Fa Q@Jdr0*gWt0#DUK-6ä\%lRE$gE(Գk;! yT~j={ j %ui1IJ9i1YRKw8o-4<("Hr 8yJX䳰h_qCil~aJ(o;g4`G!XSM1wf5M`1|R™Xiq|D_H V-|bM"ڃq:{.۾F7^yzb<*߃ {kӬD+i\voh&HiНL?Ih_oX@~ZKlT` 41"=Xpm_kR7V[C`#@AEoV)䷍vUXSaaQfˊP A9 AT19ԥJ z8^5fM-k}\,PGyw6B_ P; JmA1Vak =. v bwNZM(ݛV'|*Oɡc\QdI::n3ĵw1O&Db ::*g2 $UUB.q"; =jz kv[4+$<-3-صP۞T^]*{XK})wۑXlaLA,ʕ5~ZN-ә C.$hq誢0q>plC Tfl;S@QI_cP)9VmfBz]4Է=E[ DI>yT[ keu43dR)b*XyU(l85 ]b=#| D%8w| 4e/z0V?CqrU}F Qs6m{\qu^4O ,ʮ~:Z$'$B1VO:^ 8?ٝ«~d)lf36k:.=fC#C3C90"lrK!:EX %,v+pa^(|!TSK[ZAxk$s)1`jF%F7d(z pɑ=v<=^ t.FK]ξ՛pHd,݀U)L kOʗbmhR{K LW g`\BQnq1AW1a I?KpL$"U~[uFOBWopyHӔI>[ zAb )ötE`dl7Jkn4BpG ҰBrpfh/-{sqlucH]ڔtxoTNyж*4u ݶ3m%}rHyuG7F˜T"'g`?G%hRRգ+ev'w$? `(f9)x#AƝܤ>]S:J]7<*%77u\U80g4σj\ļw60:5xX^ϧ42>h{#Ҏyhԫ/㪤U}LǮv^./샄X,Ԍth~Uіʨima'Mg~H*uZN6_{L3НFgw;d9ω<%L@T_ ϭ%z#ӻ{f=IMH)4~eo,Sk4􃢐URbruv\q|1ժSU d:I)Q5+r~jJS#^U=3x㪶+2U<*c\ رaIYР!Xƭ:ef3:3Rlܥ0Z Ħ)GR鉌Ucy0Y( ^R)^73Po,(i7N frU,b ?OCUok5iIrU>SO'XMMBAQ0xpzQIOـ=[=Y#*[)t~hlbsVݣ}HΤŲw:&aFFԜ@K!2-Im\?HveXrp> '5Z{a]X:[;9߮ӵ2޸.P9ҞMݰ,@ץ񓪞Ds{DPf5U[02Pnj|QuÌhF]wPJƿgs=GFi ȍBpy$`2m=':NWCK3Zp! 2\=8.aCjEԖqg |9>O;0ۚw O1u^=ӡt/IJnr0S賱mg3̯5u`b{?c҅L7(гf-'|wNڎmsjTܖ.$B͹IuWwrwt6hIŇqP͎OgےY eo 7=qY6đ?’1fΊ?bg6[ AfUR}S s8u TTĠm$,*=9O5&:{fSh9Z0uzROrSKF6Ӎ"Qƈkv1F2qChl]KH%qЊ9äcQ{O{b }7.$ *!>%&3 ztuMEVx,]f:#cĂ=SYa Ʌ2 T˜:pyq85u@GafN O( OӣR{t2PC%LOnj3Y$rżA٢qmp.sCX}g`A6eǻ*H;aeˠ+$Gl@^ )"f\F&R,O!괶{hN :$FTdҚ_+/,a -P[)Gggܢ\$F5<`ި#:NQv%Dώ波ZحDh g"Ms.΢ZTn"0uۊ 3"zǖ1{tqu-Ө{j~vwb4IH]+5Ɯ}ѰQ lHl)²ދLߺX5̾zקdB!&Kr'Ip_lDnX6[>yUlbwp ~k8y#y{emZLj_lhU{!ԅ*BLi̙mUi# wUϹGy "dyk6Yb!P=1Z5][qI Xώ}m %pgsfEsq6T??R 6]'mi_C;0ޚkaȉ %/I|1cD8jn-XqЁ̫rv_#1E i A. hͨIc$Ű 0'{n#fXM.ٖ[vK.ﴗ`ɸ[ $mCڳ&Z9Oq||*v؅;-J}[}Քynk MfAU SuKA &QHi#!*C]gѽSj!ۇmƅ܏t#M ։)-h@;?p텟ERoLI1/i(2 !{YyG뽞6+R>9qQ*a9^޷Dv ޮ+g b\ə)זOu3ۺ|]{oPPfyUOIxu# ײrު]my,͊%(ս.WFkL#5$O|U5AdaD31]hU܈ߢr/zT*`9#iYE+E?A؄en #~.9E=B~n*.sn*!>q/ٕ(QvFՈs-ȸxR8՚7RKLz+1.F_E3m$TaJ\gg٠rd4*CDLqf +xw͉<5I_ZиK6SkdpOh.:8 f*^MKRpo!)W9lusrw}lGpy@z+PLI.9F@YJZ5h=-ϏCJ?[y_q\[ېG-Efn~b9[-ěW4yTsA &}n68,Wjj BYDNixbAyJ)> oiXAmr&Fnڬ 5&O/(.U6Yp8' 6x9,gX|&j˛&t[L MM5L֐twpۥ֐Ƨe5̷M@C2ٜQ/_;1:mU."wgohֳPNRW K_ xC u`6[`0,)[W%!FX(Ro 7V=maNw5o@ܬL,H3ƺkjƖeY=nOɃ|( Xi\8z!%~kn;_`ojU} v< +b3)N$,Ԩq]D}.+%}] a5+zW uЯO{ jɷЊr9]`x{Ґ7^؂YM"ԗb+וiܕӒYݎ'\sgҲEܚ] `#]no Od`KnoObc&n,ky8SxhCoisHc<]H_Jub@vdPа<]U _>7T,V-̸LD2#ly!Ṣ`eӨdb=>_:TE7O%7EJ}ͦbGl}grăr&Yj K&h22+UMQ A}O?f' ?.^ &S/5% +9\p8y!E+0LS DR .&l^Uh[5?$K9΂1?_3 㯕㻘 @ J)# )Yh> uE=Q R@p]{Q5ɡ\<1ZȂj9"]\o!ڟ\?-:,r3d"~|[))1H}T4ȣ'ȁ+~aħ&0!C[ esSv9k* (GxV| 1bS\Ugr|qwN4=r\}.q %f2)?'EȄ豫Tdj,G.V@Ξƚ4VYi?DH7::e1^i7ֳȹ([!.+R[ +JVH q|ыO((~s:T݇j K% |,ߒ 1Rg] VѺF ,/;gPO-6o1bFe;": ٔSI?hӘx ' nH{!eQUZ X: gUnC*$*.i SE'b+2 +L 0֜yBC?וd@e5C"8CpԀ߳$Q-V1kN^И11)1zmqؕjzY- #3`rW艳 0A,zXnчt0RLѪ.c׭+/$V~Yf 3;a|'{{"+<6쏃[l;/^ﰛz=K] ڿ#ln%Hb~Eۥo:c[_ 턱xT})1 ))^7LR=&F2w4}ۇiExH(C(q2JYn(S*:5ן Dž_KÌ5<#m}xP^`+:2q`KY&!˫{ 2NJ rylh4;T$;+Wr?g+Q#xj?P="koC5XfZ)Pʧ5s;w3C^t.aXWHP/btU9ƅˎZf́^pbqZ, 5-S{-̶Ɛ(5ȥ;Jw1Q SZq_z8qt|OoCӺҚYק^Q"?S5΃̊v(#dQz(&K^ZV ܘ4V~ oAU e+PsL8f[nrO3oy 3rkӭ]DC5JJk?iy 9%% ("L6'iPPʝQkN;AJhz )rw] ˌlexMQO4hJ޳4nӞl͹J6O.wx5<ĔQ>)lY?L; ;_#957ݢ2ч%l{M2はtʤ'44sgPFP0hcӅWXzeY>ȤKaǕ[v |3B/ j5Hȥqj!ni/2Yϰzs%kT&C8}ўPTxheԙN;j;nӄ'nֳ,F5a+w;$+*1VuW!_5W /[UU~hP:`b40s}f$fh zihuFPGOU JS9vHUKahG4F:𲮓[KSRS9i@5IlԿtwүri3IdFEjۍ+D[k8۫NXjE'ݖG%q2;$4fLH) Rެ6<ЭE'\M*ڝ(6wUJZ5L밤d:l__/E+MϋMz 0fdN}߾iz ]-9t3/Zlk|C鴢ΧQN0)Nz5XLr3-&X0z~5/դBF~i/~-i*E*Sa=iFG%`jP~ :}W锵)?_'k9d.:_Vϧx0 /՗ b7.+J\e P'@DB)2$5oՒݒ\x[^:ZKx (ŭI),~9(v勀1W%e~R狳]v3 \-VQ_ h`IKZ yض@{岚"Hj>5;jo4 "^yrA lKl$Wf W]+ˬz+TyYl\\hHn)D_I&)&3G PbSk"jEM к fx8ѥ3Iq fX3XA߂oѦkʠQbZ7SJ>Խe|/C%t+BU<_y9\X<K)W/BTghjFl2߬H(v .i:Vx2: -Lىְ_A{,^u*L|j^z$re3Ւ^*9,@{G ~`UfvF֓q s2K|8Gͻ9;*0Gv6r̴Q1u硉trϱ qxBMrD*|#hkʡA7-E,-/503BulTM5 %q(@>bUuv\"ȟApg`w]S@=ٿF ]͙*>1s]SC />Vg$Vho.O؃5.2X{jnx\TcBGy VH3=d9: rc>>DO:1Zʳ7>/#4$'=fu>mĎXJƧuVX>eɝ.7L1#[qhOQQ]g(+}\TЯy֟( 'ɜ}uZ/Sd%= 3GG+PNsѽ{ ~x+9s|rwѱR ~\b^XI):IK7/;aqZT/BVܛqI1'6p{Cuu&9 `+ Z:=>:EOן\fuM}Y__U !}./ ұ,GvR|0[qmVΓ7jΚh.p߳Wmfb:eH嫺*3= )@0]9:ҏ0|$ 散Ao*f}䡎+l)ւVc.]^;C"%}s6.]@gv0(Y?ka ;ᎻrX, :tke7 2!ې9f @\0 4P,=u|VfR!rȀN{YcdK V=l)8#%2Dl 5s舟@јᦁ#ZSh,z i&Pŏ9]U!VўYS+8wmh Z.S'WN>ئ]*7uAD> afFNg, h2HGf6࠸UŬw!g~O3K4 Tv.W/Q\Sf-zTt`})Roz\Sk7+GAW`US~M}.xץ@Zb|@-fËjJYh7,7hZܴw6IqN+x?LĹX;fEag 4|sk :cRm71<` x(N1`>XsށB C0ޜv00}ţ]7 x#%z @ v3$ )_? &΂/>`@JpM3 ǁ] Y9V,rbJ { hAB]QxG-]s<*2gj27Yo T8%>f.=n 1Bd.@+{&q Qu[jnߴ>mWW1|b>WAF!(~Ӛ^ge1  z"/DH^{e9{rnȆx$I޲ ,j&3he $a@/ݠ: "hI=8V-h;*sF`W5.7f o uL2QR2\C&~//K2*shbV(_ =,b0>h4[p2#dVѣ$|+t)|9nO0x\ox5acO? *I1l l)HX,1bŶ S|h<-sFXRŗE8H]-~B&;Ec(R{|uYPz^C(-7grB~ $Tb - KYa(s۞,s x2T`4о9A)NJ4S\GV!*{X NB) u7b+>XWb"koPH8 |~jx"X1~׶bs X`B[;_*DIη;1P%0>@ fKpa$ řAy+KKٙg1)X:|5ou@L.f8|8lM;`)8GdaLYG!A:gW.X_1Z7<^LU~e8LI0OQ@Ia6{dI|ZhC U4J:xCh8b ȁc.Mࢧ ztٙ6Vb,( oF-tn^T98Bm8€F 1X1R@1jX̍0h?!7<]4G$F ~+{@A6 WStLE?wTÛI|,kgA7PTv膧Lj9|Sq!n9O`P2[?Axk˽~PdH Hu{6n`- u- vkX uSaqbSg=m֋YqNpm  ա3-K97?xx5VC.F٬'nO`˯@eƔCvDԣX:UPy/Ō7YJ8AE9 YfKCE|^l"&k,85@F^Mr.Gv;v Әl?`0|<0@ͪf$אBUJWM=0{pYB,)u#JޡeyL6rVMHL98ɏE(M(: (?ơ1|6tKo M6gŧdC ū waD3-8(5f*zu@ Xl WlA6uNUQWHa):1F@&c`ȏj\ x2S#j?ٲd Z|ٌ`M.[f" d 73>lyVB1-ZZSH<l\OB=H0-H%4ZCH,z,S7Fx<{  Cˎ"/ ?+:b1߂Y d  Q``r}fSQ&rGB#sзxQ^..mŕ1Ө:O<?R4g  vGER #;IjPg W[f!`\$/MQбfaDM3ǻb,}qAxLJe(poYUFH'3gEPVd ϖ E Sboa;Kf+@{g{=z)EqAݡVͰ*5`"8,^~b䌭 8(]+#8qct5];dwk?UsւQ%;O ~﫳p4`K@M ):Z!(!r B90Q.'Etɀp/}[E ;vMuM7[%?yGQ"6h}KS"-` d'@$h%z3,$O<F".)GtX5$A c8L)%mx y%䠏`n0Nj3?dt\M-VÃcY.k!TFYz0;vL}E΃|@R`txz,B=( 9@0)d%ehkG5F@C 'DS}Ń,$nڃ+&D$]G*82e0gSQe"т{YM;OѤސ9H" yƋH #[CWWX)fĭf ԕ!_y8"c| t, bzAdȈC hG茌2x|+$FH%)-8ɏq>EMx+,BZPC00V@<yӆC ed"|.)dkkV.!(^ 9'd\5-B08r0j)yxp$Dxmi9 MqcEN?yfg+ LL9ƠFV%jbR"Rh `Ϥ*[qэ]ҮP#t&j{7{W)fѴbnPHh,? `bW;eWk/*P9_C۝^}ÿqnr=g.OAjtı_i]]_P [8+`hxd.$uk)aB ;ɳX9A R"{Vy"I40Dv:G8@8姖s>%rxuɃ"<*9ZkXʻلZ^(h1aFfv1_X3|Bjp`Ðf0q$UW#JwB@,gŪ$%i1٩=xRx0g0/ `: wߐҊVŗ %6Xr^šW|K9]W_/<-Q> 1N'd^^i>:/W2I*oaU ɶ{X! W2S DsU2%4|7~Co*Yo['8 1C,63c bɎ69Kb0v7` }Ԟ {L{"/_jn154j+~<Jp ԰?&#X'Atj*-k!,yz  ZHJu1/[{#{3DR<һZu5y^tM}c4ci~M"rT#>ZL~D=J,w.M_~V(wx) WZCUr) '>2H`_%aw=ܠKqAX/V'j,+p: CZO.\A P?b 3ZӰ.WVT$ʝ݌^\ Rg zX/x @E,˕&;Kmn)" i9SHmF h+y .@WUMu_<.p Zgnuf^)JT\,L."aLi <<-0VyqV(rT[HjQjaU@w~\;BX5[% q1ͩAh9, K_ĕO|K DeB?O' X /\93[T< _-jrA2q90F0Yᖘ#G+qIaS|(PJ>zZ//+A R%Yx'&f!#Oӥ >Y]y[A]FMEy5kP[iK+v 嬼5~Y;GWenMl䩝Щ\%([r)Ӡ"zeGѥy~3bKvGTVj5*lWDF f/r5ų5ĬE 1x Ylq18XaV'·_Z p>YOFU^@neTJMOi4=+,+/}j/'WI1+bkj"}Mg>`LR.ίgTIv-4}vzwINhBZ)7b[1'᎛x,b^RN -=A\ΨRd+4Ĩ;aT'!]̇3-Wh z | <ͿJ.z2X4%ōaRwIlNb$OsQ __ڷ k9t 0V7``Jʻ&yT*?ɘܽwO'zur%ҳKJuKFE $)3X8&~P1ثk7OVNπTա&֓fb C}BG*Xk"j3z2 :S ѵgЯdx #d7 $-VTm&,q IbnJFQ,cɖh| î%CޣkI?Mw֑-uAS1sk|!'7ţI]k<GƠ"^xhm(~3L655:+x`$qW*y5}%*0hT`jw}a)Ԇ4zwd-F%*5ZKJ/|QO մk< ^W*E#Գ@Ht $dRB2m4I0UxhbNYaJR K5388ԋؓcIi CDQeJ-U\jӠTMLM)WZHTp'cݠZRW_a4JI&q )zK(D.ƛ[hhQ[5jG([JK%H9AYX%x;c{w887_9DoJ'A3s^zG!gA+Ť~"Xv&xXU( RRUj 0ubRY***Y)WWx `R(ڭ~+?/yA?*dž?268O`HŦ f'7jmKim7! ,q'{*J8Pڸ , %;aM@}8-႘d8#Zb!4_.EA 9W܈_TDI"$-z]~  yL.`Boϛ+ eA<$8!͵B/1T~hEYtM8 #SSQy#\1 7V ~8:J}큇doXB J!^  mlTDn)!J_,%};4Qf,~-AWK'@~~8ɭ; ڷhw>B!e.!H>ȯDoNtA5't]41H1e:̏L8`?AUeS鷴3PM3|ށAm7! E4i?!6j J2ScdWyCh>Ki]s͆`A0/3-VyP~\I\z[&|?>^ 4&^ W(yݔ`X&y˻-]:x.5.IuX]%Ǽ{!~O T5-ׅ-37, 9 wQ{1J?OJjTߺ>bA봏 ke_l0[[Sͬ#P pn1߸147ӇAo9N0pO[\6w1v")"WW yEvϓQ MAӤ=K C|M*]-Fy7 9{QWY\ ,=-0".`]^'CѥJ<B[{bF@dK#xi3[L\ .r[e 0]񬕩$i`~gB,Sv|1nM3)=o,-tPWi뇁gPZĬ|}_̪ qY7cדB ߧ,Uܜ1(AR`&(_ +! )ӒeePX=~Qu\סDy U9dxr]Xu$"0"t9+҅ Pb:=0&@+ ؚz[:Suz'qI\ Zق$-r QH7aGze5Lx]<^QNvS,Mz݃b'ff5,!FrwluPȹo'XFxX5X&{=m]E%rZ*;E%xa&Ps+K\y'M^$I{\2QdE f 0WA3 Ո㖽n{-dV)ȋ}6I^w %Bfoѓ& Z\BhT׳>S%tȢ*hwߝ\R R-} t :͊-/]=5pX{ôFZ -x)pL!hRf՛d ަ&+9;i9U"\V9w ClI5s bUn0ŞD㵰q,jS[PU߂_W0Hu+t+"·9ԖY5O`is'hOg7c=_vB &KeuJ'zVGz6`/C!D00ZX? [ a+ 8t1c*F*Y szeH…91ŅƷb~AC"JEcm6Lap/; "AiPc+Pqc$`܏$߄Y8iēq4Z([ɤ)S.g}̤Eeqf6! '>2EvV"KnF_MIJ@3:쎲)x3~_My\<9/]PgİiwfyM^B#ˮ&~YFej0o)ksga(nw_/m4 DQ{o ۧ=ozy"+F ]ߊw>w2]oF "G[Q*zW~t_c5߾jXBXzP5}R^[1u\Ռ^2^PU}5]`kI T'񠺭"L1⷇̦Fy2*D*g[0)RgSgX5 #KAQ2KvHIR ^l11 hU+FYv/YgOpKh.LLOM 3S+ &a ]3k`C4fAy SztCMʁo"S:ODHQOl^[;jFk^eQPl6Տ[ڑ>~)5qx i5Ҡu;񄍓 ʩqj@fj]AWΡթRC}z)#n]90PK|vnyMP,d?!knwؙ][: < 4Mt33:V I$bu5k/L'wf&,׊HsT):jC)qJ`*=%'VK['>Bjl)U$ѱ h!uxSskSigQ̆6:P=N%x,h&=Q ~t_PQɄ4X5$qlw$ҽ6H45Cklʔ:cMXE!2$-9LVgphr@cE&Jg^vt\P,|[&;ҌQwuzxi0Fc̳vЭEǍ[6xϨ ȸu9MHj/表(k!*c+i\h8ddU­1r6tc+0?K;M#٣,i!\ռx Dv4$9k_״ bVuYaO2CmnMJc]1n܈J o*IZw2 YW!eKG1Oǵrz_̙zcQ"=xl鬃γ2{N+^hn̍ ( 2s gR|KRc`j۩KLUME`YN; h7alr3q¢#$ $X 9XUcj63ScTFײ2tӠlx KmP}}ZWBiXuuh\:{󀵸+8JI10չPhw-#?ЪL]ݽV{DTS6H̒+X[FT5+O+N:BVp1oMhWwRp@V EhuM}]kA|v6in *U 7Vθ~-Ii>F%ĭ˼q}qj6T 1e*?m:ah"S`iض0D6O4iM4rTj zfC5+NjJ 5+Q r7*Jro޷iC˳F{$֑ߤ6qЌm‡LUz%HTgU:=S{eJ4ҐFZZɲ‚g[%jk% J7UV˕qD[K^QL ֝<PpIYJys+ײ}}F^Xgk#[iN%$:a0+]Tаjzg;n?:?ITxxHk}h*:Ri|JkߴGyզy6)G4֨W a,CoVkajQ|z CK :rQXMzznFa:[Ls } !,{pγ-Vwur3zqQ\(,{\\̅eyp(y]5SdYT7UEɅL9=~?l@JW%uϑxra_AB}^+V^|].kZ_TWOl)z_,YhVY]tJE}Q +PU|^Pvț\ 6S.GE)uV(:EZg괾]j1T]}1YXR#m4t$Ă xYkFEOT|TjÔ͑0*!kL ) ̋P^ѕ@q2`*N|~?/FW̫QaPFr0ÄGE/jT2~G\Ք~66d&C5~7#VUFfq=hZ/wpK WMt0/ 0X|?V^Jzɝ}Yk|$x9$[Qy 뉯hKkN0kJ#r_9V+ o@"~ If2[Aj{0" NU~ʟe.˅w uH>AtœHGgҵՒ'FW^9C~)-lDLk;DK΋)m.njyjy]N"S1!}>q޳17|x\ "qZ% WРTn'{IMy3J0_AfTKCl*W*o֎ݜ 0`Z>pj~Xns?IZVi`뛆j$mLUֈت \1]Jz|\VWut>"S# #p2qm)"lЀ,["QQ c'Fr9/ \jp#/lފ-s- #SJ%`%=/)hYw_Ah9WPHT(F=cLHؾY&kaw rb衈qȬε&@wQG+0`r$oág~ÇA,*az{R'_;B)8D1U.Wacʏ NtadqI3:нuݣ}Gw{^z釳Rh"\B{M1{(Ŭ$͇F&$/ ~OÞ>G7xo.ŭ/XHMQ|HDxX&eOւ % \%=\DD^/J )~ۿn'i!';_&9i(t祀Qyɛ͜VUz+q"i =^I#8pyNdCD / 1`h CZ G#< 'xNxs2oRoicAp.98Wey9Uvƭg8Z$W;o¯> h>9Ї Tr_ æq]_$^wR3v1EG[_D+9:i9O >@-X_4)uۀ`bd{q̣ pq6l8V֓-k%-$bjX B'-0L x18K0EqU%}64\H3-aSWh2|y@KOo[x`\A#yMXMo"^\4&JJ"8 wpwE5RJ@x Ä^hAxYZah/bdK?wJ|Ź҃e Xt͠.BB},$eeuΩ[8yD a2"ȼ)8/V?θo\ޛѬsѓe%ã.2:4Rq8M) /EU ̙-,vK-!~`f\\UEhYC`'0yl@ϽL'C~rq: d:G.'&`Z^q+eq~. L{*vkf &'| q ` @oӷ {{qVmya 0TÔPuYk1t0n Cۉ}mIF; w{ D ca6b$56 ۪nd~ x24#2)d{Z./H7#+V*6 C\*Alip>U+\d|i::=FM,W$pd4nd^Qf0:ou$P @OXdN9T]·𠵽L92mzS I8"Ō >%}-a;~@oб N7<`[5k#45mB 6͋ҭ[/d5YU?|KDOS i9ә59;<`9R@C+F) 49SLղ3A"`b9q \&c<+UZVE*0b%àN"kuAz,5*$Scڳ `\ KH`5ػ~4A@˼8cC!2ِLj^\ 8C X njFsآvZW[1JB}AI :B)|=,F$OvLo1/5uJAǠQ]l\@cޗ PZIGن=bZ]JQ1rMo7.:,ɾY%GY4or8[p͹Lva Spl!֣aNqٗWY>x0aVD[0WXCB3]jcH[ 0r]q,,79 Uvt`ެŹW9(LVKO1ŕb>pWU%C҅fsO5@ D1)(fQhpm t4( @LU%Y[Y j\TWWie!fy-}Qin-XRg3 Ww-V)rcDwA~8Zj<"y l`o+3AtY]h0:Z:+,EDcLLrJ0-75  K- !LW3Ăj"l#A$"\ m ~z/k44gӍga +,Q'WY gdF#9̋rB} Њ1o s, rdzJZTY.G* .`Mly)AwpMyp-3xKA …eRĒ ЖU=EX\=ו Bbr) s7LZd[7r2q1٧LǏHxȆK8]cBFS]Q]<,oԎ90B`v|<؁WaKQ /q%=1s8 |ۭCleJu[ 0׍$W* jJ*S*V,:K/d9R=*~!Vp=h q.'s5Xad*<_902+ r8Tn\lIk*Ꮓb>H+ FQ ŧ_*WRqa*sp[F|,Wyl$Λ Vb|wؕ7ũ8BH,y x ,1YM')Ǐ[,_Sn꿴mj=?_yY;Q 6`)D瓹vŕG_'+|kUtqk;S`1 97w`9Kx_: 4;tWpc?-"4xHk›^:&4UsԹ.&%Y2MoC`\ E.-Hk8Yg*r[9P!.בl`GS$hY!i-&r9T/1@ƗA(g؟3^ V9L|6qhM g^/h{yQLNkj}"C3 .a O"j-Z0r5(s1Uc@b] z">԰޲hB-p=)b>qKphbI]U1wŨZ"*Bbxr1X^'(~!X׆|:PyB=JVNK  Peí#LϨ/c jRi)`1.Wɾ41P($oN8G-6rpZ: (꧜1CB̧RJŹ1&96tS[:OS c-r]9tM! (v X*]O \ъA ڂa[eXUsRRV;$Wؑ x\Yd|`UxJ\|ŤaO}^IIÊBi1^Ͼ 5$qL8S3y.Vn)9a&iQ&/aM`Dw ,\ O\/#pȃ_S-ןˣMVhf`#k& Loa`KɌQmBQӼ }^@xUTiJU8yZ:Q^G^zZ27y si:Yc SN u}rd` uvJ䴚XZ}Z$ P_RCNNx&*n|E?LZXʫ/j})5k@(ȏ`E(b-ZɻcWl /.PPrs7a Šk(L"d(ײ`aɑy2¢|@{߳_uJGy aĈESFcd1ހ8 p8~OZAP7G 08UJװT єΑ?-źEWyE 4TH?Tm'gF+W[Wrdp+Oc 3dgn~E+Ů`TXW }r# dy95 X)VrP %A00ZrQ~D-y,˹܆ &lS_yrY쳃<Ʊt ) O2bUʢEuMfkoºB(:u>թ(sI;a:dlyrmFp '<3WN6 }/m񣅸.FRnl2@Nƈ0p:./\*CULp.2)o&k.OAt巆dnh?Hh qG5PJG/zCa\8H1.?-$e-vhYyt,L-"k|_ #b3J3ݲ̊A@ǞT%z9Z~%'Bi?d-b,"Ye0:e]}.YHX,h 6ːH^7-yV*¿,Oԟ%I6 43H yA3HY9_aX~EtjZeoVVsi˓yZ0-h( gh9Pίc,#:BBP|;eyf+g;#Ņ,wyIsr8-}(hrn~ݯ/OWE-S꙰=`oV2c+ z:zqǺ`;<=ܦf^-{@go0 Ӫs#PcP9G60WtcV+k٘v5[(Un(Y:XG$RK=Ԭn7HhI3['e$.-eXOLbl{ێNi3爣[[C.㩸0atQq?Ͻ}#xzsXs8y&Ty2 H]\80 f/S4Oh&olfϟ y<5NM=3&0Bm;Էoc,qBxhdӷ6ᝮa̪*Ք:T,QL֔Eri{{2.ct)U{e#m֜Ƥr:ǒfWүxuiS#sj0JGӰxi,IuMDӫ`M{mS+bm,m,iz0VQU0kkH ݤ"$yk}n2[?q{XUo2꠯ّe<"XҼY/V Xpz-KJIAUD}{6RXrʙ;Icwe!i=ux{"ZVOqN81b'ȑ4'G2Çn܇ɔ4ϥlaSD:l 9\3Z-hB+! !rX]5L Gu*6L/>XJ/TEOo)޼|3&}z"ɜ04]Djjix=L&)-d::.w=;j u|4j#崰?n8QR J)j.&0QҭY1S!O&M[Ʌ .nֈPTo~L/WQ Ẳ75*HtN.XӠIa B?R碦}6Z*L xj9k!ar+hۓ\*/CX$3 kU˅8BC1QQgZ{*Q#ݳ5nܩ4_bVaX qsjzL[CގUK\AcL_'jc XW悿s7dkfB]E6GlEuxUUK=D˷TdM̄;aUKQ= .5b ^%dU[17}^U$?[kn)WR$R'u͠| *"r D~6^Ų}5\wU jM4 =5_f!j&q7l[ /kQe=fsm]R/xiBz(ޞn[,tQwI@k Ähj=9kEmbk0N#5sQ k}r~Jjt> oU%9EZhZW?IQ xn5QH\SXߜ,qy<"OT+f;rEno@l9 3'k3Țu.EfiCǮ`̕܌UP` QҼ:52H)z(Dg^z-x[`'iǁ+R^{"az?E,(Gu;у֋66Xo)qfå Fi}U;Q$K2*ͩdh/*4pzLLB+FԌ)p`+0.HQȠ^~31){ۺݴ@)coR<|FuK8(cB:92{v0&隦 B_f8%7]tb)7%%tU*~6,院˞]j:oJO}dK}׏Md+Tmn.3LGY> =n޹N_rVߜm`kvk(+[Gs7 LIip`slKMxQkzMd^j1"-Y=I08SKN.R:Uu vQC_)~ Y|j1WB<=_'8 {Ȏ9Ja+RQQP{y,bo+lqtM=L%iߙb^V:W/7P,u޵ήb q[S'6rw8KE*j'́ `-1÷}m7|wliwB= _^n'?|e~ ?ڝX?\pĞRpDhIɄY B^W@nش2NW@<\pD + P+ ,W@V p=p+H݈+ xbӊ 5}p} =\pD) 5p6W@ Vp5zz0 + v b[(Kx-++ b1}"W@PLI\>\x6~" W@( }+ ܇+ r Cl!+ 0W@kB]7=\ȷpw'W@yS6W@cH~\p+ + n}x8I,p&[&ӜTHp]^Jч+ ʥPW@<\W@;W@\pDVpև+ =\gᗻwmwUŦsE3tЗz-ܥceje|:zj;dvRͱ> ϴa$hj{o:mE2DL?[m5}; aO1t#p; gxTzFf9I&U0^;4U蘉pgɽUaBpis^pfE&YbuyPK30w$PO Z5j3a:WTcXDɼGʑ]H7,> t -S~/^b* ?­i2wXE&\ djDhl߀9sW\Zr:V.*&L(dَ3{r~f]f%xekHl66 7 F U{ɨ\~n?0(8-ߌPkƗ2H)Bڎ|{O7NXGiֶ"n˜(հM8>/jkϢUg'R9(ប FxG㸦:ח or*oU}}SD ϴ#KbG9u(NOo`"1PقihK}!О)ߔLߪ~N 40CcmNœMꄙw4+6wʎ8q;NI,? Co[DϪż Q0AJga 3rR缘8Ҥdݻaܘ)zo_on%ïwՃp=5\7Cnz^[If6_.q6Zob8yM!!vM?`[}0%ǧ!JvҧDzu=zg"5Dm8^MFV{:ɬMz&ֵпPi^# Z@S$P2nSJkuݤޝ5_folA'բF5æ,C.2^g^YkL tj9rNg(K̙G=6ϡޓκќ^UܩiN%ϣ*ke3΀HR+ ~"*8Y[/MQ6VcNhhI0db鰴.I'TvSkݔ(j8P]qpuiNf2> ReyL<*>n䵣BMtᗖʵTdQt5aSou@ڲ.;֗ՊSxQU(Đ2Wv]K e2jlMl̒kPV/]gsrP")[T aQiW"j<9 -Els8KQL,8%;&KL'P2BiZ̍KK=NBoXCo^Qp- ?&YSDGsWR¹$0Uɤ.1z%:T$TqpSY4ˤҺFK+5BM} R' {*t0ױGaϖ%0׵+Lv10łZsD4eH԰ZiY%T54S6j̪uutcʝqߟοI5Ku^;SzkP7I2y8j'x޿jUuEmw9Y[TuJ"TϞVHxL׮>հ.KQ_lsAFӒQ\4"uH\[HQGmϨ~S h:C=sϒCUg3=#BHr]2],5:&6.sXV©PR'}BXwu3_ꮓzT Id2EZw&kpnǫ{t\C@RB5s+He+0w}o} &왡\Z2fJbC˙3Qͮժa֕G\ LR2;|!k4Smֻ|zRFִj< I{˶/Dj?5eGsƫ@Cq%Fy*ӈԆnVR*Tɚ3mš,CYER9u&W%Q; R.|Ga2U<ߖܿک&%)M J{c`ET!z[ls!t4oWSXzܥ UZ W)͹3^^'`2E90ǑPǛ D-8u c(tz$n"_4uƸf5 ό+ilV5}f۲5>]V\F6q-wpVM8JejM(F$Ĥra# (݄ڳ䖭`ݷ5mEfJhlՔϿTAj<͝8/djIS*4rYjRqFK2fO󴨪["aZ1- P=7 a!@.;i߸EMhvasz%g8֦&nM'Dם9~j'Ec4 T/]qi 9lM?.[UiV=K?.uǗDе۞u'i\H98/_aG r6j:& txWs7O8O4YyqYSn}U^.fri,nnX%஢yr(~j,ku5_p2(d&3 lo\Y'WtI]2=hA\]Lf.åfw,U?sOY%mmuj Qϙ2lp^e*W-|Z|M;ֳ HQjrvZ1sEu'NfZ_,0fŐ{UuŞTwlX2bSy_]lŽ>gҸKǬsQ E a֛ZKWΪ̾>V~ZU25(h(.C  c3e^#>.nU٤r,%|G icfXӺ.?3סe~))kqf ŋW#J ar̆W{QiU-KnXTNT %9_ٗPe6FX.W΢rDx`4Y_?y9ƥL-*󔛸[ď~ZE#;kZU>z:0PgA'ϟm6yY^dv6%=w3,7.?,/ M9؟=3Y_[{%F wEOq+^MQ٬ш l0)U)dME1弢 ?T]5QՊ4K?Q퉟eW]5]VHՂKR0JoE `y*B$rsʀ|ؤᏺ|“y"̍EWI;?9F+v P<P̒` ?l]zKr:`a~nm;l]?U9%9/-kp Lx +{-0Ռ;,עp%C%.\|_Ϝ1V-]& [1*6DF5tɝ})d<}bޞH=s+*9rCq֧偵-.@3l꒤.sbSSea$QأzXʫG\$ ˰bԝED`N1% s? &1eƌ= QM|gRK:՝o| #ˌҭ>GyB1RqSdbyCd/⪣{MH=W۩jGåsp1v_㎅PggM!ؗs=pfHSL(,:8G3Xի؅'co _*Esb "9xZ'lɚbZb(7!a2,fN ?FnnSGj$IFNj}6z Lecd=iw/o['uç$+e; wsijq 39tӉkr1h:9@Y Dh bvYmSz*h,`\O'j: _Tň=\/ ~w b;OMT v599͓|g+_r SL,P*Np !ڡt VKdPL,̠Μ:Є@c7ESy$fdadRF(쑺?C!eՖʑU@6];$Xǟ-. x5 &D9YNK+F9'[ոlՀN2`63}YfA`:u+m)Gӥi%,%X3| #;w^_ģ47qq{fszü)ģ+@62#dz/  GeL?hx<41̆X@]<}Fs1Pjԓjo+wahp&6}pd>qLw /%'3(\T"^ vV&]Nx{פ1 v2d^uǻ~S; ,‚pjBV RɅk?΋2:4.P3h@] ?/8a܊&}iL\"^DIQFGnS⥄uY|bs',BC=DC;>v(ň<؂ K.J7%nÛ9. XKEg\"%6˲xCB~?p%bHD4 -0b3"/@96w)Yc'NнJeD1 ݅e]<ohjN6fL5@ /9:?nsZqq:)cq_ܣ K[|~mm=n~Gdž뷺vk= osTpʔRn9 Gy?>=/е к]zG/P^g |QQT{ۂ {rTSCud%qH6trGѲ țGU >1WJDOPRIK|1ZnOF?z,xCd=."ż!鱅G}M0&^TM0z̈́{O*JxcTW/ܺȼwwbڹ^=0 ɧu(X6>J*^y~r(-%AWjBd1D7S8Ek%?yXe5JECᾊjJF3fOF3 UwkxqL:0ȸ@q|/6 8rq`Q|3% ='z &@s?w"7 A+VSDL ]<:lR7D/5г"-Z /wrniθ84w-kPnJ~8 \XvSXxiAHӯZ?Nt174TB$C>S1iLU]'Y0xVUAkZt3S^mqLau<kFv".bT\ƆS[oYpjxSØƣI^cì+"܊ޡ-%FȥK3vO%RNZio 'IܗډLބi `Ii#*{qS"b{ܞφA!މZf_Zj?0z_?bb;ꐈUJ"*dCIT(0 T⾏٬b㊘* c ZSńyEfOIҥ^ALJV= ;7xZAFGUGO(g~8:ӓ0h;wMpHD+Q &` xmtN,TNoy)#&sȅ@IrNlK?,mDR;.ܺk+h0*r2~29O5L2 5jsQq&fB$ |Z4cdj^Y`RywFz[QfԸfj ã:EǟaFLLMzlq4TH9_ܔn\j JS8֯g iƎw>w=L:q)dk2n^5ZFzRD<;gP7T(@kzo![+Ki{baW4iE{M4؎ཅF-2 Bno W<#&J]jVoktKˤv7)̡8 9yW%>jKd]5-)nkiZU&^S>ݛ%kٛ˘ܥlQ#/:_|BT%%tIHQpع+Vwޡ]k0r;/MfGqM8k+()2=`mE<ՅrniFOR6;˂}/FF=L nN<ԛ[Z T8N(~uV sYtRM0fPS h0ݽG 1:=_l/iQ؛cjk :1 ()?t=+?:}/P]ZC{zCIcڪm޼Pn,|HY5YY0JtN;2YgZZ9N^\]Cѫ<_VVYDL֡—8]9G!ptZƏ*jڣdt4UsTqsR-9LS[ ,STFv'#$գ74GN(7jhuv8͕Is/"u?NePؗ%}[@rAhq9x(z"eŴнReD2LO)hj0\&=q7M")YK}*%zmI :МGj@9.B6۝l^y(eOI1^GMjZ=9hWWko*F%IqRkyE׌*TiWհ9sSfM\\6-#=O5 ce@*{j"h^'\uzjF#Z/7|qқ>z͆nJb&xFGҤw δGV,MUPusTK VI$*v8(E^լ(=*pQOtgB ^UfH{:}S>>-"ZNČ$$P"%xұ%%DHlLy VuYTj[.@ɴh7"ȍa#0=T`OW u4DQo¡NguOqf A)l_|81=-ijcVeE[>ӲƑі] -(|\٬k,:auM۵I^eŰW!^:Au.qo,y&MPWhK=Jtn^84Ֆ3:?VmwIO;|P$/f7HTPZnx rDa=MQĤ{|L)S.TuԌ]rPR^-miuC%2y$6rDnuu2_+`@Nl 3S@ BàR4sR:֭jD؉91Ic$3&Mڊ­"ƽv/yOꪠ3y[lP ]Qݙ\gklŀ#mRi \,s.^l33znR(-w7 mp)HA,ܱ;q5Ul0 ZW9ԑ6n7}قTՔNk϶^r`61Ay&ZxMC^ 3}(H"bs֭c,YcPtI3MJtukZ-$ű]>vlkr5-Jq۩ww͂tԔO*ØkN\`sF:-'gg]߇ `fHIC1]\2zh :CiE.j/0`}\Qoa{mO֨ i[J^@иWIC{+pH =k]ۓVm2 {'@ kܩGm+[PJ]3IS=-dLH<0k+IH&r[cٽןr &3u+ԿR9:D\szuz2nG'͊ZNNrScܤuL~ꐫ<ԾO—{zZKRZU_J:Lf'g62V9m 6dPHN^v7P  &tH-&@j㸑޷*yԄu zC'SXֈvawUg_M7s\::ԉrZgAQvD$7ڽoZ ;l}X;ʾ}'P?k%'h*L0}7߲tq3:׉7i*z3"v^T,PW߿~Q*ҭGyJڐ(&5@sC~ÛiӞxZ h]m f6g(B׮lq'E(uPgvǩkC[;ֿ0C{Vc,hKMo<ۇ*I`7ʨ;ߨo^QOZ_]WASj@}QPNywߛ[j^fs$/G5\ޔW'`B8Լ 0rퟧ*8RDs"S}Zgw֞襣O>+$} T&:λJFu%+)Tj_ȑF ֧|AU׃ٟZ^3@lj7qi)*`c^Zc^cQ oɨS FHk?d{mwWؾZ}J8eS򒊻:;ʘRL$^-YǬ߲BV|>rsۻVU7ҠUàxbbͫooS[2/cVoeҰeiP[I8=3,~;>(uo\fqYEbV{͊D j8_"}LVCy~/M{kε c-%߰~|?HuȱOjV%\Cmwi Mݬe:ž" =gYjQvn4^?Z|uiqOJ7װ?~Jÿ;Ӧ]a @*7蠴a;^7aIc?%\$Pŀܞܸsߍ‡%Røͤ{'bD7C=,dA!f~_ܹsל`UMָ Gոzɾ~ z ~1yxVD;qy]l@z[@ /٦8#=[A[x4Lmuc+YϼJ#]{K.)R+ɤ -Y--@'lgDhVK]贻eQ%feA,>n 'i2ԨxsldIxDʹm-W,xdlՀ ֠l9$a?ON<2KSsk`͒m,fCk$R%'b~^׸ίqGbY=%y?%ƺu#n3pl.vjNt5*йFlz* 1Ŀa0VSϭ6?.^+g#8p2 "OD(B=>K<,vZ 9~|r)3EU7g\XmoW^i5VL%k&圵 j5<}F:92*Q7kVX :N/bD&^bGIGGF߳+>_"V]DIZQTIק"U:4ICGllǡ/;c2g煪 W:Jl u{0py07+) =yJ$fh=vN"/9'B'P/U)Ɠf^@l$XSk/z?Sߡ4֣a9+%jƥ #*I‡r?V[(Nњyaz*L oyUC T<'yeM C2bQf ߷1߈'REPoBgBV3_nO;agZ`C  ?ջQ6~'TW{iö8)TPԝ{Dndy!rVS ÕO>|fR nL%ʊrp.FW5C#^1Jmի{TW:DO|%6Фܚm.E͂wi~Rj#W%qJkC`=?BZ*`X]|]8 W|k#C<GE+.r ͘MH kI6b5[+YV/իj,Wk Ӎ+KvZ5pTW 3yA~S䎋EWrrʨoj*7rsj!15tlI0CO֞.R ta(ե}HC!x>EFk 1R$T ? 0O'gq<"R7CұֆZ`N_hąi~N6T;sᖆ^3W"$FZ*Ƴl]ũ" I†O?TɪܽVR񉚙K8 ˣJ#'?fʡr?7?>'pTgYɟLA/3$f{l)i3|t4I?!3wr=6o =$ sci3zrFeem[ٓC&ܹۣ.A^`j7pĊ=ǑP8Mqb欭|j +6ЂONVJmç_y[$l. oo@<P q 3Q׹5} %އ3y;%Ufg^q%L.;p_Gfdd:AyWh7amk?;.5w^8x`aq̧&ո<{s<~7E1.ZXs]'2?ƿ㟟v0n~߇%oi#fy(QYJ9w>m[G6'' \M6!91LW@1,ax0'Ҥ_5gG2~sj!hp<ƾMDA ~U:oxjxs\l).M{V`AfwÜ:~!hU0>o\tHGHohGLwj)F|c#G-7~)k,}=nP-NO{Jq}< y^9CFq m)/5C>iNucLE8l7<+{-E'FtT!uYTHz:$8:Q`Fh6IDتGK>+`GR7A@ ]a`plTƭFh['֧ Ghh Ҧ";N7$ 6Wy#aX8Hq23rro_`(6xxYl='0~->׿vgbh~SNM(p}Dm}=DFMo!SgPzA%*^F'}؀=0}segZٰD:Gd3ǎz$. 2HQ{juHe;kovJbV+y'Gv8ˢBZD7UQk+{'}4ꠛF 8%W(#\s\NܯpY*{IǑvPyb_5Ǭ\|roGxMDa{s!*8 QA|KnH<IyGcp@{Rh|F Rn _noѕ?Qأ(yW}1F5ád% d`Z!0^\|Wr w|Uef%-q*c౓1PO{50m/w[jo!z8;HN)enUxԂbXw]mp]A Jaݫã/8C+8!%pSaKBv0QؼJS~os]Azg"qpOЧ缷|xKDI@Z;unCt='ws P?E-4.Y \sG}uh[3P`9pPé# tDZ..9M軺GGeHqoX6RsBs/qKkǬQQrrI&);$Gof ".v*7qIfu[G.a͢bissXsӧ{Z8¢'EGhDGd i0@z:8?WKa݌^I 78Vĺ%H|(Òowstx?L.\6{(sʙre} J{8@c+*,P#$r%4CrUs FX8)ޑﴑ1 z9&>@Ԥh$3tP\]{|ł~NoOiX/#}Fb^ȣр做N|ȈõD\q< E}nQ}qk ByɊ]Oɳ.ℜ T9X@Bv-:IyE¢coBL^^ ٫ e}*6}f%e.:>i85JVXt(uF >7l\>LjKy-BvV;Nˬ׷爩 d)R2G=Lq+~jcT]T 3[۴MmcqkH~8Rq*!M}u][ȚbD\:hJ6 SeZg aGhng{qg"GrsXX2P9D[,wWq? .Q?-h|4Jm!#aNq`mLkL@ (Wo/vۺo;{{$9yN,̓[P&OޑD wPhW5 <zX Y)ޓCJ>5Pަ .':B}nEz3Lۂuu]p'C8)j{;y=@'-KRc@'Sͨs;ps&`>%n8[R4[ )NkĠ^6P\ X)\"hﱦoV)&i.E]tyml`6Kٴaz0k@9Fb ; ݶJga[5C?^3=l7Ia9ߥN͏ټ4f2lf:_xiIL,S*ܮ=vh;јĻvܪzLI/( 8ƘLrhDg7BaRb7.b$d!)>ɽ1{6ma0ǜ;V`@`f L{=ly$BJfr8k#/ F_sqD23,O):ZPJNcXfvi-8xu͆,^yHM_Agb;Hӣ6yg OP$&!z 5Sjyh~@:ÆGn:6<9 %O{~{ϲM7,r7FG >9OCG|n)O~~B'6DG}jn&)_3J آ#HD5뢐+r#2?Cv'P{?0l)i6.q_uuo(t5ba_r29](P2ݓN0_ P:葮Mrқ`1wOxW1 -= t30V@S*hD:(9:nvBǭ7?C%P5kBDݎH hjQ a-DԏH.揆jS2- v-IhO29pTpD 8ʸ)3<~GCkUtAEQZ · =>*q٫>;:;+wGAfF5jNkqXe:y:m|WAP\N5= ru\~j=<*n}H!GRUGz>5; 5Z-J*(Z(kD{'NQ]8΀0 Y(gmD"QcUNN''ʿ25'K=N~=:A P!-[v(jUO(zr{\;[Q3.5'nu輡㓓Cғ(zf@Qv=p kCGT+a^JӹPsOj){P&MRswN> AB&%&АG]6z\RtJ]Nqh 5* A3!9wv+[ᝋFpR>h+Y9NH?y8)plm 'EEΨ6K:q):U*QTŸ| =/x;+"듻eăO_tatȂFf0<,%,K|b&u>8|{G: K9Rbt dnj:WÓS1S,5YH.@Lb(6 4/D>{&aLCRE!>(ig+85H&` U-)x[{1PV*0gcʂ*MhH Ipn+`S9?&Yl!6!Cz\|;0Wף@Bڡitg 6LPF5*5lyVSH:4cz/_#hp$/M55Ub"jIcPR줋02jQ}HtUq:1dq/.q+B*ɒ2EOG"T{cʞfX BK1G1BUؤJ9qR?T=nHS]TB 4vO'"8NIjQu#'6&nsz?<]qC߉YJ*(>>nyJFģ{XOJZľ:=`b&3U٪y`a\xu؎<i=?_A~~[|W=yU _Q}݆AS5Xn 6+'''Pο볿 Tb?Ab>|r>M5<'b<(.b>)Vn}Z^. [~6Y#g1G6 6`#4 ^à yr%!?z/afcXUU+prʨ=*/V0ɧ0?';]MͣW{l`yĝ[$tF{x GJ =S5QN\=fj80Kf<,jqV=Z1av)T+ }Nj< v_?y ' Gh?Gr._f>9)7 |?Ck>ž@;c*N z;ҏ'r Mͬ\R Hw:i8mLwryUNQ@̺OH3J"/a@7]%\?tJ˰rIYUwK4]@d'uE/aN_ i~i6<&k*>#2iDG 0PW0DElo2ZTG4Y#LÊj^)ʂ/ tS`2z 旌٤=bЩ9qI#~1iUF=d/Fx+QTħ"4hɁۉ/*cf00 FqgU qGA~+a9hl#AL6k*O~!E>  =j׶g pWi9{DЊ4A?'TD%*q%$nk+' @mxvHј77xB$ zeihQ4$^5[:/Wl2b +.#w3ʼncc6xMe;?s8|6a]k(P 33ZA\%ZC~y'avyF/pBA qpOXtPwMZ1 xQg QEF|#TFif0@=U>»>ҏ"xy1޸+={Q)!c;B!d+T%4\ &K:K]ȝdF懱r /' }냢ikBz=Q di>KXtn% *]g ghՏZGM?{.&TÒÑGxK#隿3 :˭nu+uG=H%'WՈ4tY^J\lK>G|"1b2&Vlr4Z=~cI.M*x`>D߱yn:JX:7SkKHQ.d9e RbW"N=+*HQ@Lh3n嬼~'J8=Q^eW)2d>zeiYMm~ijzx8jV~)Wbt6UH)! 'e~U_OQZ#gr_@Uw7s (oe1N΀<,_|ႚSk͘ipzssYPb'jk)W*}RvS̪f8+'g4Ӫ:GL%_ht{P;^U9XIn(4plKG?KB[X/WtŁUێ.R2狝o͚ld"zҀ:M$M-ypI,#oxJ'S>R$WLm)ڏw{߆YU@f?rj{l50lMQG~] PA0EͰ0*@ !“Hӹ=AZjʅ+xP8Sq XO:v!3%ZmS-E_ a7.wL' eylfxL30A'r#H9ǁjX| YT5bffO\> %JjUX?ڶuHAM Il˲h9ҡA6iVgMa 6M;N$x ji t3,FH$tܖъ+P'a(.>yQDh`>EN$En;~_);A*1S 8WjV,OVۼɺ(wةVjCREyq^mJqZH%Wt$nc9c! J^~Q62MkYb)6>/ <"x@p[{d },!yEߛLjdB;AOge+RAPlY0&Gl/g.< ܮ`:1g…%Y*.6kخ;zrs9j[_@]QRO9N׺@IhnpäG!i2) ;ٌz1r2712n46=Ų OqCsZR\-Մ^HWnk̝ŪP;mʢc5iGD{>?A &dME@L=$ i Blqפ4ndk+dˉis..G:[)W"1\('` $K~iVprIC F`IJ;ČQGe< b3+t̮Qn;:h6TI[;z6"i[jXD.]\|GMɭ0Tq^aH;2a?Iރ2Qi&}yAB<'s$qF.0C}=2 |)ӂ7b rig }QO"&[o7h)Pͥ7m5?0 b]ž&Ca)P fTƞܘĤK'D)tCwW@gt-"ba!!uD9]+s|[C6C͞~876IQ&| "c"\ȗ$[h5eɠ8hf1l H2G;doduzo66؉budQJ &3#%D:jVBXi]-LGȏ%G O#+@ bO7N(P4<3⛛ QXJK|Tk^" wRiGf[)' V1e>(Ty7z`K!k[vLπ2"*)W  iQiCGSK MẌ́YNN&dt"6Fu[h4gET % |+kpK S~I^2#ĦR @7CR6g0;N`2L6Vbzv=wq ,K\ C­KN3oƋtYE%Q\{īeR970jU:(VM 2 0=&t~4$ (_0DQ|P jOڄ֕KRئ r<ߐel ;qCR3-y$f蕙Pl/_-oHyoT`y3k^fD+$x`Ď"LIᠵP4NJC.#h,ӐSn(^h`) )0S"Gtb$")gS*,Ot{rYfo/u1߂0hܯ'5iGG'zfPZ6lL'bUW)t۰4lYcZ&5M,[7$JCyau>vވp lne1r_%ġJJs}skMajV87y."Iryd=6FnQvUcgh{'6JJp-NfM?flLQFre8`NN#V$WHs-TVtt2m曺(w"ֻ[ &8;Af@0̱Ras[~˰+̄TBz\!(Dɴ|d$ia39_*ocj o ~}=bBGzI$_"Z+Ey~z Ɏk䬨w4y4VbvK6iI:θ٩ɪ\\G-̴0dnCbCcJ:! 鬵%4;#afJLyn  }Nw0[]-3=0l N_$a'p ߰OUZĺ7ǣ&oᜄ40-`+Od}}z˛p!es>Q' :qڏ:L$90-/qUqеU&y'AF ~h ˴1V`etV#o(jz#k1QWy$Zdie!8I.]ޜzu ">̹7ӮzN0{շkYs絙Wr΃鮞.7TL޺~uʹg_μM_Oɧ{kܕڛ]ߜ\>g/io^>{*o\}ګ/=wt]C+WϞ]zYsנ^~>طKo6{G;7K{UtrV^K38K?@ ._ҡceV/ w P%: 9?{TAC7Z>ƅ=W޸zsB`^{Mq}i \('l4]oYӠ@Ξ;n ]H \{6׮]]:7\]1;Cpܕ٫FzK|ᚨ' 7.HП&eL Y{ļ9 5L@1o].N3q `45 ҃Stv+I@@Us2ڕs3z0y=3a"BiN,MKa풀/K}:]Fݍ]|iZ gAꞫ.xry*,-L95ހ6{M -٫gs~zW#5_!" ֌ vuXm|ϵ7f^峇*LřslYZyX f@QFmCsQNj.j@ۈy b+cx K qf;x2]Z+̈#wd '򸗐bBH gîe8T3*P^`\5 ޤ J=Yig#=pWxT~\ _Mϡ{Q$"H#KCMּ|/7A60fo T2snSq茈 l\&A6wy7T0OR~6$fhKŊXil-2G9&,Eej" vkݝ" &3e&Pc?xR^Ac]yHDr_\*AB8e2bm*t%^"wt ]ơ6z°eK|aX̃Y)]^+Ј +b̚^sKo4XX#wW',0âx콻TTݺuTlvWN3;5< v} XyiңFW%ƏtExzp |Sφ===|[\Z/.UDzm$SET[Bm ?`O??>;+4KyX0\N;=a .y2WWa,m>9ٙEt@h;'̊X]`5.Ix ܕ0PL.:rG`h*4aQ=u6k|́l I:/H8mo=11,ޙv.]zcbRSaqIC>Aִ(fEsJ֜ʕ&t3]۱--,x/K9KxTLWE /4.}`KD2V͆HwfXPJy䒑0upXX(dfp^kzZv$Tb LDeDg?ӓPiZ5a%H:VT6tfoyZp5I׶Ѭ3rngJ饻D@-}mSq;զJfߣ!`9JS)+fNWeU]/9};dq/-+B1/yh;P !߮z\yduhٜ/m:ʗ>'mt$``a;r KwA!Kߗ^H?hϴi-7e0H,~Z^rn4ѪZ_oSv\7vՋ1e'7IlH&  05PqDTJlm[Ĝ:o%Ц(rD[nkRV]wE%#j nHOCFQrI.d^.'V^⚢c}. DHn0A.qL;_c,;wB6>e[XE]N9:BmOX"w7'ߣh}z 65dVP|٪ULHښ`hDAQt1&ArC$MIj|MJR"蘉&x@+i)eR97q(oxI(霰23H4(2#׹mc93L 0CfvOgODc}Q:׈{=c9 c9Zg,G9Zz 92|%alqXсU9AW{rZ88oQȜ\cİ|7?Z7_1dݼ7Aнts2_sDӒUkL,VżƜc0MaB6*jQgeㄷqT^Q) R9@iokV_Y{$,ͦ6}(9wcn!hhʦUBYnRv(UL##R #=R֖V(s۹-^>vM̄Y;G6-avќ2&d[QƘ n%N͹MJ΋äVu1Rq 4m,v[X"QMԷ N15e 7!>օ73'GЁۙxlZ̛:$42hLr51 -҅otf9sޘ$ Pm`5SnƑ>Ѓ9VvK⯥^{ ;&k!0@+-VkAX-dZZLj)be"[tAo6za#[ţMh &pݣoF%̹sŤd-o/E6`܋ħzYn/]ؖ&&ɛ ɴ^flӹ~k8asCVFżn< kgVvz=2wu;]iɤ[hah޳]؇۱|冯6uem63X5Sn`[>;Ig-#}s l@ePXn|lbSaKǕa ;=e`7[D&%{H6k/Je=:JkiLTah*i5{(vq &FT-vM钆)]KsdNC2}JzN Z}J<(fbVL_)! d;۰u$z] ?{dKuSsY71㦶z#fӴa7l5zD},hYK6etO:l˟jfQskD[[s5ieZzKiQYNnnghN62ML1%$ 50Uk4d2t?&Q`fNӔ2=f` CFsهaڎ cZcr -["][vBس__ױOms`ئw)sfk?4qɇ=kRwLCr7=z^bm۲t%)~I6[zv[rP?l̰>aHR|{T%Jηj!5V1ԴCl[]0Vs6lAZV'T,LUZ}jVdlec `mr>ڒH3 ml,A|atLq~s F!aΒ&ߍ5$푅[w f[[t9Jd=9Eu0$ߠΘJ455'/5HK"?M3iH]^2D%G32̈́L<# V'gt'˷ah V~*70r62=F:L^oc1yi!L,L;LHr͹[?dθ!9_[!kvazxȚ C6 J>A'[__'șOf훇<8 ˑqxR+|ׁVAf5̻&$ I륤]|tnpS2[Z9BaE#ϑk"Ws- )'##%.Gf*8Og w2j@t ֚R^( Hf=۩ by5?-\]܉a +TkZp*Ճ:3O%A? Ҫc҇UtKזK, &{t=~|_#n>o9JoO7ҥ(e%7<ޡ%KDfM@@k&͊(SSNR$-$d $Eˌр>$E(r̭`nZvb 6 ɬL y8qKnŧi n { H'v[ndĠa潚(y%].&J/E^ n2'LXk50!@Vtų :4+N"IP MBn2&"_1'hrn%%ZtH63Bl1 @#䂑p7%ZB~2`ӾJ~HXVӞ&`e si̮hNܼeՐ+ Z; :i+jcw\ӧEW(M?TxBR`&򮜑97LC,I4">s3wˍXwvg`HЄD,hhh([tԍDtv8|3 ?^x8$ =^ap5 dRx$b:8Q*KQ6CD3g%"=ېN]Ay)O{8)+(%T$g"|XA+7U͵AOjV)&"s9,2:f؅lZ#tl BQҪ̻>bq!“lZFFP1R}R'a* TVݗ֣ިwLA{,9hFFңX˖K~ fեy{*"& z($OgT>VDK'&Qb"9 Tv5(LY_8 l  PYJ7dk<`QPП׍8B@x ?!ZQL5Q<(3*4 Yׂ{b7uW_..Zs5, W$](]xE漹]ȱ.̙Pc]ȣ:;`]_wU]<$yzJEOٳzjUHsr=@f޷~aԕ*QDtv+_| %27n6~jO.PNVPY)#%~pz-y; (>*J#\σ]o[ɽtrdc$ѓ;Qȼ,<@2ܞdqbt"JDtraDr"p$}I&ɟ em׽du\FDg(;@ McrMR2-j,(;,wfҏ%<{H׼YDZdV:]dBlˬwK5+oݞ0E5`@T6Uld\5Q !# d@AHQ`^beT!y_j BMC킇X@}@"` E`LPԩ]oU LSc1r[,nK5L#-eEJsI̟6;g4ҌLH\eTL#40Bs).q“[Z>T$ )6C q.J|=g&Sr?7eixWVu^qI״Vu5c"K S&HJ=@!3}k?!4[Kd`Jp{IVl#*(Kyn֨@/6@kgpJ2-4W⤆c窩fN2 gP`4k:va _|\@LLY*lGl6pX<o!+J Dv" D{I ~MK$5-'diAFwY&=w "yɜDtT A[$zWyeI"j2 # ^!yZZ6Q5ꗀN\IO߳t<<h^lbFbZLZ?B' i5  9ms y`sD f 6#wŒ7ilb't6% NOI G?9  7-,l672GAΜ{t^3:X&i͛fVBE 2Ol\$u.ZpIkw4y9Pe>{Y"$E`e daJn.ii`\O@>X-L`hqr)E8ETj!Y㹚G5)%^3 z~ʦ_dWXA{5zYNWykhs\M\-4a hzyӃHj4{xSUBbiͷc%8 [P$v/rƆZ[+}efzt8g*`G9aw* س2`qV*9ff.Dz+CYgk5,ւL*kbJxػ:ݚ@]$ͼ{=GE^saPZ~e,E~Լ^?_(ڧr@ ~u9 c4|3t)cyzqJz &) G`M ӵR>]I̭s7LԚ2,'-ݼ.h ʕ,ȦKL:KlIcj$d`C wvs hGDTsl:8w s/x1H },sɞ#% !;F.#0gh;KB,19'cf ǔX*X4 _9d1C200ew HצOxR,p(GmQX+'5Ӵ8Lc^jC 9( W0!1OCllڲhhK^HGtDFS!Lwn&$$l@G9;-_6PZdr:'8yvM,Yŭz=+nϪɢQZz \/'0W,FhAhI7E= IDbUx`cؑZ%$,*n &F.ܖd2/#B)ZgeyNV&8{ 鍓IqZ߸H&`=(kԣxƦb2#I-*d۵Y庣hFSV%ت"=-^&s?y7p=j P5pטQDMǚ݂2"l(Ŗ1LpЪlK5"G¥[/TK \XFl_IrLP_n$5GȵK B4C "hEDDzhF+)%i<BG`>Ey^* QC7N+Y>.Mrǹh>~rڴ4j#O{e&M*s=̔ٻ 8uG7y-:Z?z!ϕЇLš_Y\z%<.eA%eMJRjRM%YYL?xPL/4 c; jQn[٩hC eޱXlhk:s@B%:`A~!&>M*H,Q^xJB>{4m/o qQ.Zak $;.t~qЇĈ!G2cD_eMUT%5BnUHzkϷbԵe(a[py0uœܚw Dk9תݾro x;oIf* 4:8h[E̠]iu-z@1pkMR:4.ek6i&l PDҖqiw ;,cRoe& 14#H5K.)gHY..U@ݺY|fa5 deb-DҒ\nˆ8L{Y\ ޳$ˢi܍\ޒm_64fXmcUϲ*Y}nCȎ?T8s\6yv6v8k :hIyd_*Uƒʏ]Cb20,xpCpD spM;rshJd/ߋ6'W³MddʤY,-ɠL4c)}Т+7]Yz]FEBzäFRE4ǰKwk}9ł2$@\sYXZBhh\gT:pWLjmn|9nY(j׭ny]eȺVL'qV!71P0Y߬V 7M\}sLk5S5Kgto 0hd3W^{irޖ̜ ,)4kFXyį kT+mƉ/Ȥ8noM,ms xֵd6CF 禘vͼL&, qnMxYN $B}+ɇd ,o γv7ѼZiY#,VμBor>+>]ZnCä_XhsN[5sc5#naܧ ⬩7:s"W{3࣓3G.0G/fM\MbZ>ƶL5NYE>fys4#Q5N]踰 4 T:[(W&3`Vج8J񠡈&ѫ%]M WRde>DJD&:fN7E6/[ Sr&><)be͛bLX%oPaH˩߰}/[48Z<ސxF7-\'qzu,kn=Mrq-sT,9j Dt([ٛy ӜI" ,[bB{_$7 jo0#}ZqL7Y[ ѣGOMė-/e5!`YytCt 芹0[ʗ]pƹ d^ g v+ݚpg[ Lo>i %B1Ν"_.=1qW`R27z׳̠#]hgɳ辕DמQ𢧄n\r/#a3tFF;j :6[D>.{t KQ9)nng6왦] ; }IY*o8̛%2W2c,iݬCW}x=rOH I 5W~+{s##s>ȟQ1aΤ3NGY3ȓݍ>>beq\Q̹:IlƢ:E(欣k7|5CFM~1*Q9g r M"rvd䌋\xzOG.l0},xaie9=pL@Ɲ7܌ӱG2Ienv:O7vxޝO>d"+0SͿΌ UKl'];7Zd1!`^&bG| x€^a@風OK/ ya z8ͳ_OR`\d(uQT ďIHH._i/#գ9$@tYTkh9hL4B\7'xhEz)} cd$ (guĥozJXУYn >t_*[3Ym-d`kݫBb5 =̛ d]G:_'/08NL9&J!;3YHh,/^[w{Upffaɶ&)u{&,x}ĔӍMiqKQk .t1O"*@ &\B^MXM[{Vރq4yO\rU'ADet` 7pP7՗9Py^ Av;5eOcswT΂=wM4" {nj-1~kF-)u5Xgt(|ݼ0 vUf"tmD"+e~HRbBŏ)0+RrDitTb]m$rfD)G I$ r dlxnZ!k!Wrd*S4k"Z(X[V35@ψI5XKrsכ'5Vs4pIbM,꼁vt@~V\B|5!f͸/x9?;p8g>7mKh,_ If{U@O}G̽PԳ.t{DSM^p-YyrZcNB1zTrkt3hji1Hx)He<&xܧet$h,,4(h[9jiXRӋtڝjh=7yxKv1%GOiim1;tQn>[䁑5XTi3B;d-*=(29/!Iq !Y@]KfR@n9e$s9oޣKd5"]66߶e^~ik[47ohuѤv[e|G!, ě.6~fMB1L{ނBnb(+DY24ݓSnrQN& 餮u^HO-+au5!w!=Ǹ`tufdwfMO5o{'xU3֚5M>"k cZ #'NR$tqJf>z,~M D YVWȆF^C>OIM Ů5)v9b!;?sP@,=w?I'N7&+k.[px Sx%/ݽƲSpx˪[q% S =Ac9lTɏˮ1Gs=5s{5/?x_sO bL\Bwug9lO[yIyK3ΡEVgݍ6nB٧%`|A;th"-kss)9'/&K-k 51SJXR- ( &O$^뇗DQ񷄦YBbW&My˵v3g1{dA`1*=9$M*G`wsM!=QGcʟ0Jͼn͹Qo d-GXzrJ[;`n.gmdڭE3_7"*B3LEZv,c_F QҬaiGF73SI㜂CWfGF \NYl\cMf$te](g}R+R9p%:Q{xb[(`l<%3˭,hrtnO (9W*6]Ka20r\0' :@ P)Z!zbKѕܜwi;QDTI]r,fe"a5NˤUMN{ӄ֨J(pI3.lqMx8FiSC!4 ֳ"wRȊvSj Ph: 6Гoɀ:Zc@`d_&;H槮=-MҖs<M4%nY$@XZ*m3ߜnEwE IJSǘ4ʾh?jĺ8Lzkv'_{15Ϻ+3h*:Y\,/M/2޹y{W3SY]8<^hE?A.A  y>9TXe+rk̯;ȑtk?Z@خ,B rFFJ W5IT 6p [k&EٕNErt.^6bh19.pMq=*|GJ|Lk9cc_GR3i@eʉqO:OsIۀnI=GfaJ>tU&Qܤcԕ!i+c&Q1L7A9ư NPM=m$JN`.%DMǁ6mA$*H1XZ>]7O{q&"#] ť~ gV=z(˶YɘeC5f!:d>3< 9"!qٔkUVip0;-Y[Gi:BN $!B&m +n}>ozB\#-+᭑9r^)IO4 kJ1b+/֒LVE8'䓣XDi &3,gQlCNj- E{_IiFLu2Yӡ*capG98=h 2$=I89n9GRrz'ך| 2@gQS&DG8@nCS{ZaV@D- W@%IFﭤvҏԏ$y/viu ˵7%,E-4|e5M|#m`/I&~52߆Ä4C!i2i r,p[˒F[ bFx4.9h x\cBqq{}3V7 j -6ekb(ڌ'lds +X T!kJ!xٷ*$!۹dxQ\FY/98k3L6& m;Z w$*l|oUWr 6U1c[x 6 lnwooٛ,O $vZš#"u*4?;ؕ89՛[ͥp_Iy QI'losbvvXFMFDkT청SJlJrJ\9aZRѱkTJV&sdG]\ ƺc@J%PtuPfK%w~iAAYw`l'Է?l2 Dh4 os;0ƎwE!LD2Z57kR-[ś֙xiѬ"LZgXÒ:'›* 7Rjk')2%ʳ+ t1) 75SKCyduci` }oZGUꃯoV<0V{벏,W ߬z8KHhU Y P9`u:Ⲡ0BgF1HCdQPĦy|db`q![ݞ  \M4}{)ZdW([TyNnvЖOa{'qasYp1 Dm.̣+?@! |(|_͗fs` AVGO$g%?$@ϖ,ufƳ%s;rp-%W!pݸn$kk uːL'OѪ ]yXέձl|6V*fcX.jXfp"jm~FM/@$Dcp(`(ߧ>V A'G%S/Zh> _{}'U&MJ VQΦK^vO[N,ī&2%21 Υ4,ݷX~JҀYR9]c *g'ǀJy0Z\FY M?y†FR)c,o8֖ԈN&\Za/1&/Q'=!K Bs4:akR1!iVct$Q]ԛd)Pt P~T7q `@` =WW.-_>3=;93}^/3>{t̽>W_Om!{|4G;T:[(7-+l_VU j-Á(έ%̋Ff 5doFi\Ҁ]0ZB#džCkXGk`D9N8NGw.Zrs8477טXs\\C2H_B>@p[GAf(hR*K1!rA ڛ,3gά?H:NJp `zL 橱Li%?QX[K9R/. FaX کO̓6.UDq筄Lst6U>9h6Ut3hL!=T$2sXE+lLPe7;#-h(@ B6'h 'tv#_ɥw_eߝ󥵹WNxOQ^@]}y_ڃ߱ G _=Q{ eeV8^wm)߼/ PoxRvbQqW 5w*۰fWBju9(ߴJ^7}R*s دRS:+4)\U'''oڟ=}DyrI~_HaRbb㪘u`/uHrB)psб`0QCC޸Ooh7<2D)zC,URן<}plldpls#P76R#G67WMٸbdlF)߯ןn U922rbۨolC7mж2tSAK]'ԁ eڇگ};X poGzz;?~jzmGG"xA6KY61v.XonǖzZ3eCMeY˨`c)M 5ռ%ЗW;)(" 8E ꈳ[ݫP]#;`^Ea`fcg'L^u1P#bH8 /w ux9{~nf}}d}}1gl!cjCzllj;ݷ;OCwG ݻM;,yPUO(7*|:w9{cgϑ}t?ۿ䁝Gzvv=1ecS**/ǎgZj`wH`Nq$)<9񞾾=Oԍz}ЅM7 `!:2շgSWM֟)X*oB-A!mCҟT;]kOmS8u8AߧNq"|_t\Fvڹ.n@}Gbr9s\3>@D߭GO;lC'++Xo=@Bu˯F^ЀOTl3wk 0CwR&Ro'u.W?v=n1)P Ul ֱ(Eh볚w:6 oc5>|>z&R?9\ $U}\;H(P P_~9ĭL*׀6pkF/;9"Q ÍǞcz"D#s'F/]?q2ĹKg:F^ݽs_+?Q<}W%>_O7ng }9:u\"-6E.ޑ_"pKgKؤ*Px#.3:w))"/}9 4x W 'Ob >}>_ |Ee\BXTfזe#/tT02CN]]5d~֭/{~"JLy_{}qrrS#6^yga\w^&^{f`͕3^'w 9 e$շQ28ĸ.La:XQW.SA郌|C)6DH^3/O[WEԅt{g]v{~=l).!F=_~9g4$~RQ&F: A$ɪhT'8!EX'7u/j7Z{u;`}T= z@frv9{1I}cF4zVlP}ޡGc( JF\ި&z^E 2BщjUű㢠a׏~[ubEaS9rcf}w懟9DEQndNJR$5-aca`ګ mCpr;8m*blʇ {ON^},| XusWJRf 9ivP;NDE5JXE塰cS868jSO>0TAD ҖBu,F &#"r>U(+}کg4}}!A}?ݿ~mMٯ=}߆ϛIo'&BEgO#@ ]C$< \(vI{gΖ 7^`<ҮK jhXwDL(y! Gx#Cس+Gʽ> ǎn y݃y0/ Ob+{| 2zo\YE8 XtT{&DC1wd\BF@:MKSָaKM"au|}gV;@o^SR$@Z1d.P5 m!E! C]N ׯG 5f1@xN9C)Oh||ڑ#ow5>~qr&GG)&}D/M'Gmg p5iK/͌x\rԄmFߧNeW*_'gOaf*RguhvNź>!؈UR0ϏK#/w#a2%X|=buX*R/>{Iy_ݫիjMoS :g:2ڎ3;uk|wVwGwNs3=dgו]_޵v}=ܞ7o򛸏ˇW|>T؅ 0g_(<Fm?#_=  ):!İgox%ܩRy?= c4͍|n>smdW+tlͼK5m>r3f%rZ\6C%GJ2PBye"|0OaV1/{bW]oWG{?l8/~,U  Fd)Ƌcj3߾rN֮q;{v+Jcc.94GV[Nݿw?+W^ lu aB4\-Р,TM6HHx&8s:,]Ac[V(WzӹUt&<1 Vw9_yAc< 7o4W Cӊjqi;_Z[.4)H(A5@ٮE<;4aQM)EhFP Ca?,x#A|za_ ޸(>A^o,Y|X8k[HA,>Q# 70{1k` ë `?o &_ x!b1L{1O 0߽YQ/E Ԡ,bbW(eGY?K˓r ?ˊWac4 hrp㜼f ^k"<#~_, p|q0f08;1HX C#Qo?kD[ Lf.Ø4r$G E6RmrZEcAlw:A/q_ ]+xX@fA_<Zja91_F P<`a #ty 4GA/0H& 9% QAYFT)`Lu0pmA `̭JxTA"-팄(Y q GBp'8Dp㥀?dcxf_#4Q:/jA(5$`A MX`JmdJJj7̋%Vj5aJãY/o&55F/F/Z3)j gY Ys5B^M*.XZ†3̇R;jڸf@Ě#jRpAoi4jzDcMkCoL(rKgc *ƸUjHBEBI,[%FnXeӻ Mi 4 OڦAf =o6@SLmi(::mf5PfmZF8O^c(ڦM1K+GþP|: 4%+ DiR4@T" x.Qp#sG$B|4d3RR3Nߥ /d!އ9%!"sj{j}!}'8`2ob~@ ˠ7􅀰,f E$CBuj %POuGyOx1'>h/Դ EwFGYgDyo#!_8lsYC~0?  : ]qzQ,C6ڐ" ?<[ .~_j#H5bnQP; 0|!diN!j=a{XcUib&*X^X qBB#'F? |X40@r H"WpF^{ N|oؔ,T4ȿ!z6<6#Ip 7,#AơFD1?H848 Y)YKL3Q`|48/k( (OH~YHc둦;o-x<3̅tq2p s-xެTQ^2 PԀ J糲a"oe#>f>2V5x>%CUDIU 73q szD¢܈]UKm bfRj痀z vYY^mhv-%n)myF>Vʂ_ $q ?B$B$FLC !_X#`5##"o 1tzIAuxHC' 06#EV+ '!3 6Z1XsȈhC Ac.W`qCV_T?EM#.F Y118N6L8|BG(< f`mt0eFK:4?h@yiazfc66LZ@lBF^pA>vlNbTJM;H &RyM ,V>^ӤlVq+`D{j+]0LPqpk̸ 0 094F`.^X*Q\q--4Aih!_,Jx Fհ ~)QmCPJ)Y(t($kX.Rӄu/r_6ӬP F[;a|A^yxA&q?jMȃ?.чؠq[pL-ȅ&c0ζ PԠL)B2{ºZ FL,FsVvXj^Pwj@=5KZ )h4EMy0`br`rjG:.u>Ay ӍCA$e{,jb4 ~ȫ5~"Us sf;j)od] -h¸pC^YFi'msXM2;9RB,Cvq]h.ՇƁ4#͠o X0hCXoI#<7.J%s+v˂lOz-v S8nna]e&v8*EaHϰJq-qET ,H,-'HCY*x޶ 9ZgFNܦ2QlMLFoRuj ZԅQ- Ť* wdیՒ/-a.x$:0" #\|wm&Ihh8Ze0`cC}i~zh`q 0,Jf(G(cFF~W0h)V9lqL׎q{p?32YDaa pl)*8)EӂaQx *#QfՒEe 5p+d 8=8BZB b5dj,oPDeFvʬM(J#[ZXV=a7Ihd72s 4& g[ V@!b4) acSW?02h,QFv-SFO*saHZ&gyJ2DH_ 0י^0'$a-:C4Db,%=_8 hPU4'JH tGhO#d`(,7D~0[e-(yii4J^w/$/ RKe5lY͎f#;h1Q 9$Ԇ48%Ljr}(1{eFY Šq"k3ȗ)`ůBX\Qi3nGqqY!f -=ČHJ0>});CJ̈)a!0h!ikN%,ʪX'2;_stXnk~cn}Q(y܂hڷS #HB\bfI\mL@j?T/WFŴaDp78?ڳIk#D.r64wCN;M+B0"> 4¼ېC&1Օ|ڏX$'#ALh_6{ f!wZ$Z0R;UB$RKB<5:gdqV^{ R^^5I9]׉YbƑV"F 5x+ XT)DiQ,ĵªj47IѭZjب ܜ -D@Qi40j]D \w"W4+;KfوRR) m Ų|/[VjѢstX37Z gV´C\5AzOUzx9p]Y3* cfV61- 4Z]A!9`טtN؞:ϴ, }hCD> +,,^-])3e]FLntup WW3u&'D[h["he ]Ɓ㿈A 2n * 'iJ~:$q~XP=KYV"òjRۺҁK\Ϻꅑi/qWHI|%) @H\9YHqC3x;Ov,Dư#ڵ;hQ2\s> #LU $#BU7%PO:~Ae[$ȺJ%Λȅ9? )Q{5ikpx_5veB8@% % JiB^ Mڻm6@ITIn'-ҼA-@4 =m!D^0̔%Qˆ>?2BmS.VRsC1NYl8mX.#g-{T6)bqˆ }o-E0Nlpc:' sITMHi[>KIqkCq4 !5#>/Dc !@A>/hB_DA4G l$3 _NQST%.`s85no1 "hkR1,^K I%gqY!H!L'!]VR._"1ք 3fK!fjyoN6btJ?k)J%:oE7C]:y+-OSa0RUxĈ]yU m>Alӆy]ZZx7_+T+$#K.?yx(}gX/!t40t6h8HR<{E]14W򀽢-Gv,q'' O58S )ܠ(`&K0ZPԐ&6!.dh3( xz_ٞ8Õ KdX7B nN FG Sl6¨bSMFQ1lmEcD(Lv.6P9cmOlvF?e-F|5{E `W>_zMA ? v>D -}|Bh~bc!.ȕ^cKcc/jGCL?XG8<ވ6<RPj|bu%]Bet}pŽ"} һ$+#PH◨HҪ#.*0}oE4IM{C 'k%>^9jD]lyy 1k2`JPENTBܑ0L? wUx$[$D%V18# qZHK\F`! yiS..$f SJ0npfM7+MaĠZ0ky$69SaB&IamFتTQ+f/)^ 5+8LjEθzWJ\"3iR<G4=A:"玊)kNn4T ubz4%@:Sċm-rx؄QEEQ9\ 5qaĭ$}XrURQn3#a cU%",t{B"4,#WMed5Np4& Y&!uՑ1}2i^5*>^#kz+|UaE^j5cO'(l7*Η,`ݝ' ĔKܩ +2Rƒi6xĸjzqYNrv$@ U,F1O!ye$Zg3X)6Lfh{M5M:1QtG !,'Tf1_8*VŃfJIRXfUQ)(L眠3,oJ cdj%ˈ/F~I"dhB$ebtVESq^9iriPL3OZʘC*Sby?^'E{rG6׮H??h7b/_ ;`? !_ϝbzW($:tu~'w'sݯQȧs]}y_ڃ߱ GR9 ~kʬUEq r6{r9xnPs ki{%v[|Nwnu|3ݸѷAScJrb?$$MϞ(ON= k]2B}RMQb㪘}' ::A^uK)rS*O?866h{28᥂x+^JٸbdlF)߯ןn{gm?}w^>֧Yw5CjK͵_ā#wGvGV8ptצ>%{ώ?}lfmzVQR8ޮwǜ]>uLI]{}j?^}5ösRRXhC 6F??0ڷqϷѪH,Wn+݌tv[&S#{2ecX iSj-CM5oE4r Jd.g?8ս 505;Kxi,:fD;bMr Tfݿc|اCZT6؞Mv`_owuj5}}ljG7<tع_u`1uϫ㥻bFo8_3'zt9ω;ξOyggǁ3;&]~5d2 ZT7ݒJ>RK%`٭"R]?3S6_UOTmCҟ[lվC}WKA[~wĩS'ĩ >u7~i_>F0Q~:y3_OT`=}xԟtG02}*߮E:~)KЍ=Q6&O0;mGzFlֵ˸w(bnfu*V*x6 Ԍ0Le+eF&u|DF 6ɘEH$!&)t_2%k"NZ]j aM·Ow9W=]3c{v벵b95ǯyN߭-#(P''w.[If}>uGu+z;~[Pqn52W=4S'+'.Oۛo:|W:p1!_YT4_VcΑJe}*!1YzJTvbkJ"nk*{5:(xx;}?#wtCOlڦקOXKQv+G{T wh6C@{ {zos02Da70QgRXJ`wGTH,2t:ںZPpG>gRXo|"4{YM;z{~M}1P>sJQoR{Ƕ: tub I{](|v1G# dCsP/Yjw ^;1zĀs&]=e4\ş"~O/y~:9psh?dhLttٯk/)r)\rC 9= ab L!M/a| 4Be<Oŋ={1o{o߸<~IۨfFF2ՍsƓ`y4>^ 9?~sgN~NxdaGnᩑCw><4'gn'gN_'NH':wup_Y^</,@Wǀe8CO@ٻ'H>޽ĿI_~ux/NRo|/uvI2 v>@a 0S,rf%֋_B]++Vc'!΄2lϖɮxހ=CAFRxm$2SԧOv+_uLK+SڲL.TuVFa #ؠ Bl:;|/ܺwq@D)Kc/NN.>wj1+,<+w^koϬ rk}=L6J%),[\+ ej7h"}~(ŦcH<kE b藺#n̵k3nϏ\-5@]2Ш/_$O ^6H砡48Y#qJ$'D㑂Ѿqq##uEm&[kY}`QG@@Ȍ].g3>ol>ިY_FrŠm ;{AɈD˴(!\F5:qrQ186v\2]O]}b nU#lʁ#G@"Bvݬ378x8MԑII _%Cr,@{dxm(nCnM\MA`)TBՉW٫{qj\I*ӌ2# .jFR #<4|l ǗǣB-t)*h!P^Ra%H0@zDD` eO; o/>h?د)yߣ6BߤV8C 6c(k ' .54iRb[g+4'_uiϽ@ HGnqt^MT]MxbHz 86FHD:S۽Cɫ'滚2;8yZ ՃǾO׎]| /)ǐqo{ Bx*Dh=3{ !my;`81rPĽCQ'oC1?t; ȭ.[n'T |>Q!c-!ڀ"^-i淆(4{oH:I^jm~˦7jigzlhܑc/|^UuÏR|\‹ M_dPY  6(t\Ae 4/%T6QXS-x,ČL[22y#SL) >Lj SuH@ @DMoK P>X?0:ktd! %t%*{WEu L66cد1Zz_'`(ѶAvD~2kkI`8q;'Ǜw%>DsH6~dc{t|hP7g;OC!qӍ3{0QweyOAP +4HG*~|od{HQ(F㎌@(b09Qi)cJ;l)PI$ۊֱ~k[]H+F-;Da )d}~,)3_]4g(% O;r䵻Ǐ9n[nh?ѤLA>]y饙/rK4` h{Pk3ɳ:Z46Hş!;>xb#vVIgx??.=oZ˸Kccyuyc|KOC%}uW56O3_pttj;츳;{ץݝ?[;ݟZϕ]]Wv}y3t_==W.Z^Pc 6v?MN~?\5膐#ÞmPg;;srH ?&&%eMYTJء*<maӓ_D>@5 wh#ax/6};g? BؿD;A {2JmfPQcCh7aABT5!*=3|m!o ~О?#+ [/l _%|aK–- [ [/l _%|aK–- [/l _%xaK–- [/l _%T^%|aK–ϗ/׶__  },|EjE(+<ӡX^ CQ\J"([P > mnQ RӟA]cGzeGaῳaxhg(h!g D/\? P G(+sB(@N^fWoU?z?N} A/|?<0["~So qcP?2 2~R]<2~$~فf8= <Ojhj HnAxdb4je7@4MRt! 7hzVyr1lb(LP9wa1NWnBZٶqYu=m#$di}Gvĉ!ݐi/b>TtcG&ey\^]XoUb:-[n~'mSDcEş3ʏ)09&QPD#H:JW< CH|m!-;1idz20|h:a}:H \׆\.kK8ڛ|v޻]޽sGvwsÑ0| ziûvBxޗvO?݇Ͼz0*sᙒr$?:thΜe]CBOzvaIRɻv##XHCjUﮞ~i.J:Qq P+Dhm,-:HXS}{ Yh*X J@6$e D 7- on hF%<;$c̦:fJs\Y~ {x2Td_?~hC_[7Tz5UOJE<$ڠ%[l$sq/rJEյUƂfHf;뢒=7LmUl(RCHkJ'1G]Wb#?l2 9d`2_R;-@h~&m)\cMu@O(lc~UIxw<`m`pdcS[FоD/^l}t$?SsyοW.Gl||dxcۯ}{6;ŋb'N!ӮT@#; 2ژo &v|.0$\Fjjszz~7eW=_9glOwwٹk?҉/|ف'_8chZ/mGʜ{*sڷg){:f V|Ӷs\_~ {O AԹњWg'Z{n2 +.m>T Tfkb̼CPPzjS4eOލv;jmWS tVL axأUBnahXUDqV̭ 7_ pm I<Vj}{'Äwy m vHmW.$h0f0%`KaDX=+=~/{O?ڕS!  y?nO#_Nl mnuTX 22nZAfB/䊂Oi7YLt"#v",!0 |dS,Dvy<.iLwĝ6ߍ>bfxͿ|do'ۀė{:6lq7A_Vfj S%`d'lmOȲdz#?47R'4١mCCo<z Da.onS+NvH$}jǶa"HIv9u(zGuC.:4>=wz|}ִߎ}7^u3 ugRR|Wi{l~\^_B8 E3 `Σ-a y4,|߈yܐ*a;c~>p-:;%Am `=M~ŶS2LAOSu)$A#Cezl{lm0@WOln܉ w~1X=2oz{yʟ3W&o[_VxŰ)]{M}7!e %1+~[.nQݦX0iٕ6mRP_VϔHꙃ]77]\MV-[L7ApaNqZq20D0:=cv} &^PH(\>H2n&h`/-NdzU X X򩯗U __{޾Oy4| ϣ-|W@'aenVp!2恸?vqF[kfhOѱje *w\) g0@=n6)U; >p/Ӑ8m —:YEEqd8YL)3ʫWAnvK⽟mOT,D^4ll# G:HL6 2h> ã?Eok|&ٿ~(;_!өоȰ&-m c&#_)hРlѣWihDUРO>?T;+8}2qRTM ?EzFw% aV@Co48zج5{QvjǾyGPo98|$2P V |aMuhۿG"~Ͻ{drRr>&=D2'OL$|B8|;Sca^OHk9hGfu༺5-eMmu i[UUT?ݹp[S:~cw]QXLP"L=}~,4{ 8q1:nC˲s$G/}8LJսhKd~zex{:_>}Sjgݽ>wMvŏ ս?ʩ~{]-q5p@șÇό?R+'Y^}>Oy`Bgx!}w ]F Av]IJo/Vh!:6 FAFS__4:0zEonsOGai|S}O?+-~lTGXOY}Tm] :'ο^77{l%S8E:>0GBY+gN&L,&q ^ בuyLe(tYƧ;ΛVg Umډ^Pzsgj?Tpw~7x '+sY4&RzdlSn.k7yqP>Pi:` _SjJx'u4)ڄѴ%}]Tgp6z_ @Ws A։~ Wo'8u ESL/ v6{BϔqUB+jR{R?y1UО;VWlp/R)?6HVCEsBQV Hs ꩍ'ǎ\ǎo[=lH؇<#RavZQ퀻YtRil.Mf;;ІA{n] CYAz76S߷ؼjCw>{=uvfn^PI v}xA>:&<&%C\ZC}\%D&Zw3}{U|bx| =oN4Ls$))`DS\t "K(BLU (!f9/ѡ=[_8jh0zGΎ޳Twnm͋?Wn̟I,?[?Bt[Mqa |F sal|Fd-ē}g'BWۋ{n۠h} ziSޟ\0D(i# @ "u4f4f(I@ 23vbgG'8^qб3k;Nqf;ٱO9>o{U4>6_tWUիwy*~z"c%MPlэa?S`ܨ"v7U: 7j{:a}Z%yvݳls{gX؊ߺ#,kCҼb'_xs#;wy)p I d/Kʷnp?s;!fHx=?|t;sk]zHH0ivxnܐ$\ܷcA>lQl.Ѿ-q}yWpHMDԧ]ܵbst@Xt8zgN?m+wt\}xEKz4%I}淮}ǟz|c<˔#OBOQx܀X0^5hmذv3ŝRԆK'O^ڰiǎMnϒHN^traǦEL$ܴ[\dۙ.5$fOoQ:yinݤ:t3-Mdq$Y ua^|z(4r;Ȃͤ͜g}$h4~!fv6[Vl:Ҡ6{ &yY\==mW;[ L'ې܁:|29۝5q;o^8Ohs1]F*- 픈Nj ĵW(\5ze<[ctZ vkVݺͣ[.< ]QB[O'<6(J $ 0N<- ?__x5/tߊߗo< 9īqX/.Ϥ-^ ._Ɩ'۴ZYwT ^Nfz<!(nc 6Np;v1&*/(}ȥ7s7 RRJq?~g)/x>βSް|ؼȊ]mڞ^)ܻGWqͫί[VZ՟Y35ϯuݲZ\mݩuYvW66l 츷lOw|f㶍G6nF >*"?q?h' Dc0\,3@G2@ϔ*e--W#V9t#O:,Ä˧=W|56D#B5 %H$`ɩDR9SX0:H&spHwKCXI&݀(Mۈa[aO*qףzX~cU2Ԇ;&mlP<|P=0?q8jH0lA$T@*Ch\jS <µ\B`,CR@-6 {Hf-0RP3he+–;#@|CN{KT[;5 0)8tLf(oU(47æ;cJD'©K"ω '&# '$nAArh2LÌ;1L g)j±RIpaK8*T3GCe#9PM  )@sIw)0,Y6 /5';BN*4KTshDB*+A6DEG> LF<# S'`CMX C#;IGh? p+qp0 A(zX++Q0$JÑ~hGIMǩa&fXe+7TThZ!edLakFA6F#JЭhJQE[rsI8Յ4 vAHu΄; l$!DA ¸G[s ! sj(B(D+T;F)aEN3@`"}8bI. P`CDø\vBM,eU,J e v3 .ig!CSR k'Rj@g#CL< aD0eWhjPզJJT@E{XxBuHMia bke"Iq"a&pr`Q#ְ<,SN! = 'S 4;|1K!a0@r( Ӱ}q XݱQCBNp'ƚ!108B'cd k&z" }26NJbR i0 W],LqB %UX7[EC$O P# BOY#]Z!me*I5LAI<͌k6&IdBcQ [DgEx2K-*tGO`6+ܶBb9p\hnGYI =A" ]"(AZ.PIR촣T]4],D$^ %%  B$w f ;Ԩ)T&*%1L ^U/>3 /6@.Ln;1SR(⫨)V1pUdВQdQ1ɅN0!}39ad6P4uԠUˠcAG̣9ߴ’qL AM)j.`'<+(;@> lwRGU'>Cd0;FWN$O˷uT,_;DhU1ț^!vP w)03B5:EQ?)JUTU/;T"ʞ\;K o&Z2Eg*SB F1$RC K* =0IeV=˓Y^II:ZeQ9-ˬ&-Y%GYR)=a:q6I( բLjV  :-F$X(]SIP,*(C%T"V 7Z1R1Rjb"ZYHQY[* [Lav3T8K  u4]TA7p$HrI9͠62 wAÑ̿YszHk&#iY`d@G6 5eVs2P3&73}|oseIƚe1 *2 0I[l2"PD- R Zis2H&^w&DZ\;B)*Eɒ+qj0-]X>a^$f%U d13-Lb5q-=//^U( lȶrzdQPDBV!YUVjPl-1x!"H0UH$,]§~` ">T3VXynУ$ T('G&`gi#d rMI%) ".I ph<&0eSt/{w. B]VUL*:0(-q x0FQinѨКOryUL?՘BZ3sTQ" FxsX9(1X*ԇQU(FVE6/4GD]H]p3I`"薔:?Q \I Q`a?7RoD'3KK 8"w I&9$~aׁ~3L"G$AW,BJDΕ< P^(GFw G%t H %C:M<2\[qH(% SHE] ^BQ)ˊyr2mDp0H 2PS@g12쐤EPIBE|FWADDr(RhBhT8 K5lx--8vJUUJBF"flFܥ@ʁ_m@fJlHw)U)R ,T,t戧,ř۝lI3gʍNtv6BdK(IJC1tY*37غVY չ$p4y;QXi?{CA?2ߢ"AUhL=hPub2,JˑD"M2 Dg:g8ړUoJ=`[ _GC$iRZOw,PZ7aot+] jYa*sM$Lč}6 ȼ0 IU s -9\n%BMqa<1? z,I@`;St/L$^uQv$s`wkװKYCF`DR$EH<T ` @/>n 4/)cœ:ˆ"3e#8@gEٙ$Ȋ$sQM`kMjNª~PEdQ~X;S[񌕬57*IR?&Gꑥ;CIKb$a>zbDV`[>jSZ+h`+nt2^Z꜆z'ϔ1X)fEGV3m,uN}b'C487]\ƣQ<^6z0:Y$Ou4qpCZ GԕpMG<̑C!F\hMpaо]lL.2w%T~|.C^$Q &QjjA%D?ZD KdƶP"&!D-ne8©`pl‹)P,6ZZ^jjF0@|M_46n' !z( \($)Pixq(_9b^r@Ÿ)r5Vbk(zPUEAQ#=AH(aCEA c`vReAcS{lOPQso"J G۹I%iS,&ۄtbjN-UJy!b5X 䢌(fL;(Q v2F?Irq9NJl*OJv)H&l+ '6)5`8*6S*[<0BOhvb%,-b48pqTիTyy} v=^)sF'V|HZ}\|*6Dʯr^eu$F!IB9I_4%tNȣdr7׃k|+ 2] ;QsjZL&0 {C&qKk=y2a4̠9@eT4(_DO zxQ$Ŭ z(RNOd*0PDRk7knNr)J![A,"4uBPbd^&d55 2GlX/)s2@-7)\V\a١=w^'3q;cpd7цliQ~QD /K@W64zF<520 Vp^,)ؒ]:SMgJY oFRN݊jNj^iKvTwQ⻴ح[:pީ^j*yq 0c.vԮvU Jβ:HX̙0O G~Έ4KTj2i@Hm s:6%t^H+ؕ^i&>#eM16E+{6lOcJ4TnH3Ni4{},qXgO2/4mhNka0CvyR}c$d& ت!'[\L!E'WlKpI)@3&ѤZ݅yV%Ta) WkQQ&A1B\e3}0][;Xʨ!6 (  bMoH 4@(|#q\<rj*gcq(bzp]d/s>bm͌߉Je aO@>16 fޅ-!oQ+o4gYYa3m4d2߶'cJ=S͡R\@HmIOb/V朆+i9$ Ը1 p"xaD ur4A5>hKGT8P(\4 QY㝨9NjUOGCqQHvǍgl:CM5]6*Bj)6NaD8PGӀ=3=Q_ n6");l)DTQA\!P(J>q(z3 kFa(b֭?mxB!s[q֩шfx5/4Fvaa@<@Q aaG4L00vJ8[61l; 'qԊ1J+9Ϊ̰$hόm4wDц-cb21}bTTuPqpxvh ]4(ZkBM=zxl5QNa@9wew c~<g9F)U,@el ݑXSQaCN3 aɤv$|@XS4c7Ym:Sd.Вc0STmIɡWmMi{vV""V(9匥e3\\Y$V;?E/ïY-"|f72z Zuhia·G$?oqLp6{8;!n: =AN.Y:x,a bAkKD,9A)& Y{Ԑ.#mVdw\>f> &Chppp= ,y:4.v\`1JZ8 <>! S±W ;GwPc4#rt ptp$h(fj @.Ԧ9 C~en'hԦJS&A⾙j zKU\EݖBgHh4d0cL_ %x%(aj}f h7gNpڏX) CR =)xB O|b{4S%]5mpV+s Z&oy3;Fdn6rq^LsrMlP.WGn +qղov] )IX ͥb UdY. UZ<R%-)AlHm<9f?,DRĭ3Qc Z"&#lУ | Ɛ&DD1A,JɨePǝnu脨`@\4" 8(VET)fh{c QPdpaWdB. t9HHئ1SO+M h]1&惆6 *öQ4f"wyɐ M% &\]E#ei10!@EC#$# eDj s/S2ԯ(:z%%K:Bܓ󰬪${muL&p-%iA[Up-ȖPJL^HOKX)t xbߋP1BIq{@3XCFg68z3cX* *WzFhOX!GGs?ȃE_`*UvVުZUX1YE :C9-CKaa-Iq">-E5SF7p!ssGG0&AOHzY(kQXi)Q[ ,N#|TQ-/fb >Nq "x{=1$ݙ+Xa$!hij1@ņ->JЋWd_|Fն9%_LXNH6,(( 5ˊ6>"!< IkS#DqF"k6T|A)_6囎jH9ӵzc/JbM9X{h)naz0ưĀjH &-l3V kzmЇ;<4A!/M``:m#sbG"35;M,C 9AЛ{Cx2AE^T ((@U:'Xup~B&. *s.^$8 <_W"&ٽ*49VO#,Хej N֣h^[jD _"IAp5WLb<"x3Gdp0(tWSct߯` oBwa0!Q#J8Y(V;[)F `tz#ӦIl) &kS c|$i `T _a)<Rߡk^JE7AU9vߥ/R ,)h1 q9-|ܧ8&]|I45'X6r+$򃱳T.]fp!K'Kf+=3xO7L&شR͜tC ZIܥ0U0ؚmPeb$$ƅ,$$1Pf*Zi,3sD-݅Zx6Q܈zeV6g&!'Z8s;6T'f#y %ECNډ)֩j e0e ڒCb0$GIܙne '?Vl$+ƭ"n[zr &kpTQs먑L ;h{Nq<h jI7Ka㉘o?wEl.;70@{x:=I6|Q|*DoBbH1TGXFSFg-t&Ck|i" g;B:ƣ2c! v^ΞЋ}[vcQRW3 ; )#7o$"xKk\TTl7&eqϋяHOtReZfMt@4b9GeIy@'IluznhhA_EA1mq5QījwRDMDb_YǒV!7k^cb ﲋƒAfLэ,:(׬焿a8k u-aW [){7> \e nvq3s͌ƈfK%K`mz8P}{x ~j3\?J~O@WK`'s`b\ĉB}J}sm\P(/W8HĢ*G`soVTF[$qͻ<Ӄ"|>s7&2)HrOJX^s- g\o3ku\ j~eLȽpoa~oݛ~Te>}k^i2sez[\IqMꗞO;x]Ks.wӐSW߮> \ųkԳw 'ӷv@Pe=-w!M}ҋ+_\bNj]/|/_bo_y-ݿo2k枯{zEulzqNj}TGԋ#P{8i[-/=Rےvn9}CvǺ@@ڮ+6|o:oƧ7.#^$ˮ.W"%,m~y:ZZ|z:_.p̿4̵蚟oFݣ= /)ѝx"ڽ.wto{sRaowNy.jJ!2L)EPSWgO0}K.y5~<05}cUMx- ش\4/*\|%}s:j&uE\wvs_%K6wwzWG#*Ly{f~/>@x ˰ڴ"8 ( EIg%(}ķs-#?/=MG7˾ӽ>om^_i<9ڞkli_uڝk׮\|ņ5kݲݿuw<>Rl]۾e͚(mߺfkˡmYL/F{G7or9wӯ]u^T[kDXz뺵[׮dނ0|nwWWco}yWqjՓ萒R8 x[3M"VyF;6u,-,܂evk=c]趾mP΅6FGFGoi Q . 6vf1`GEM 'xXYF%||KW/_rמ=Ю=gϭgk=~( 聾¶b=n}uC;:q8*`]XǼLE #hrm,hw =  /Fo}+2ƽE,5J8@s6Lr13d&?'/0XnRul FIurG>w[>y֗{{W:rFUVntk+{#ni0BO Jm].uvw/+Abɿ>rrުY \;$|E;ҋUR]'uieW}œGO|gio_X󟥶G]Uch} AdyD{P"="1"EZ/tDfcg2*oϨ1it]]ZoYz;WoYn˪UVsՖu+׷ oݕ~g0N5=+zK6 zTru oh[  VуZzg J޹g:߽ѸnԻW$\Eפku5Pa9l [#ߵţ QX QTKLoF ʳċ ia8x<ķٱJq w"2r?O KD:][ٞP&)%K'}$~n$$/A۷\,=x. &Q?{ݰ$tGQ4/gPE&b׭Q@T-ű{zWu!yԆ{GO9s1ףa2:+{ں]zp-9 u'{;/ @_->-6mVw:SܶiJuOך5938sgX`'3CkJtG=hgW:0$.\#Ņ nzv`wJ=q'{|gBcy\7Oxi^ܡd!\P]Z;oHnjtk^MJ@ ,],oOnrB3[+~z? lomX0wUOo[?Dwx6N|582}ᜩ|G>"1-X^dm:݂-[tE.;gӃnxЃ0 b ^=ǎ͟O}88;ߑG|tu߫ɉ቟uD]#(铇d%X@%\$}$audۭ 7A/\R-DuHK݀ e׽Pzu3 m!s/Яg^xXK1R'L]?C9_ ;;ڞ{oI}d_RGԝ]4v8';H7FqozqӏGoq;cvCx->(J7Jvoپ}KwryZ;|NB&4Qm9𝽘02>X>HNvw{{xb1q(c'QOHJ?8͎KEZ{u7o2$/Q"`/3ΗXƞ x.NnL_w/oH@c`ܵi_VAJiC`qSaFQ~ӯdJiyF!4/hƼ[+z,pD(uyIn/޸h~]}zq~3 Ȑj5h>"}M&!yKQBerϯkGa_v.t/Hر(| W}3ׇ_ufwrPL?%[ͧt aae坫=;S{ÏŔ>cR?_ 0)+8b}q 'C'a;)!uRnD]\.ܓF?4$c C9eٕ=|#-g-{H˗X۱]!okOOxO8޻[#/<.塇G6ز@_,˨tǮ= e+=aR2 S½+JFz{pXsrF?Dw'm_o9x~޹mNsgiܟp(;(}n=4c+'=Þݞ}OH(3 ː[y]F A֞.b~^inKYz?/C]nFahԛ-/`ZÙ][c& 񲱲q"lK||. 2qCV{:,cF?> [ Qct<klxړC6hwͰŏZw?ڣn!3д= Q-8y:!LDo=瞓Fy>jSIrah'X)U3H60 K4: ב-' +Lf(t|g¢Z﷙JJ&ԗ􈼟dm%WKs;G$S .[jJ沠ڴLU)h}=26V_f[%)7kkum ֵe|q g~Ɖo;q'c/Xͣ=9 ֿ::6t߆ŎSAE>V?fiiwUwW[|ywl?_ԝb_ǩ=xQxY}])B'6/<@=itOnT !Ut]'c뢷Fgzwj  mz埗IVYGE|(dlD;v|;vo7j+PH>|$M=sǎ%uϨq@ whBڭk%QۇЌ? Bz#%vw+,OV߽c=~G_n{ׯڼiU׮ݶzպM:yt .r~zǖ_e ^{:׮_bM &6F)iQc =/y~ 0nHU J:jinjq_/~`@G6ϯ􈻶Cҷ?I:xk~j /9ha:zUp]?z)@_nq6{y2nݽvd3" >}\']$ݤRsrX!강^R糟|OJ~-zh_ƽ8pf([fSgg]scGǎU; C[v=s۷{H6u %L_yP9*IzF_;x6|kۦ6]ݶ}@ֶj]{Y۲ֶՇC'6t3_/mw.={44DnuEk+ʥne:J?ӑ`FZ/$Q}~},;Z:lqxYg[߾nԗ?w(p.+> DTuye~52jwtw׽@-~+Q7vh^iŹϜ~1zn7Ox;qwĽ'CB/|sw3(kڈ`ܤ|~}f]׸[ϳL9d(E %^ֆ k7Q)Omtr v{,)mЍdK'vlZMM;Eyj 2ZCaFq4OUS[nR]:陇FXŖN^Q_x`ᜡnkPdffγ>փyf?n`yrʣ%3H߲X.[;Xw?jʼnv b!%cgOVF"`2q(<߀2^X`}0:IQ+e7I(ouo㏷߿}۲[O w c Rdօ6w~kײmܦGWb.{xN/pmD.!ݓ18 p'#£.︧]n?v}n'^Xr,Atl=m?ŸoooX7{_KX -N{64[zi{<.X{r8"lN/vq\U׳7Œig{VH14KdwoԶ;(j[_Tx@^  6nv<¤w(~S:;;7v;o=ksO@FCrY󝔶ZSOϼj.ёQޟ[&U;|'}ŎY}&Zy 6ywQa3Qi|8?w<{W<%zg~b3oYp%{2/:IM+]#b522| ݑqyK ''%◞z'k l]@G +PwM$S\V#SĵW(\5Ii1]["%~tVkw[݅'+*[z탑i޺SAnL&2J yJ[r!~^~￸0W:o7__҃W2ZǞs@ ;V'疙n.8~~1ߥvM[zMdv/x|x;Mv;xXfqݡ1>Vy~F3F.}W6z?z))e׸vճ<|g٩eeoXwwWl^qdŏǶ mOW]+߸W~sUW-O~Ϭ]׺nYw}~?۶ԺH^oz+\ W6ֆovq;>q#g7ouM6mzkKWWy{ej--<Z[m6߶Nm{j[i޳ 7lnmo8cf};|OYkǮ\oBɂ>N$Id<Vz_㉒.~׫vvanNep=˯6c^ծ]<*ʮIؼǴjX)`Kݼ( ®+ct)SF5贫ʸ%TuyB+kL]٫\DROmס L=CZj]Ǡ|lm/+KY*K8k⋷_.x~o}[կ~s{{{ƍ_=y /&ԩSǧ7>cw ‘#G|;w_$ 5~G!m?,+. uцH6]3轻>{;_K;O+?t' }j<=񃿰}63׻.yhueՏi_zݽu[kW?ccfjW:vƙ/vW[̨':}W/ԗ ։>smkguw6OXrs7~[<ص>9رeX[_n SeF}]7& ?z>zgc.yסltacǕe=~X/ܵ׺vW|k' oDn'mЖCW^|hӗ?ߐ{Ͽ:w~m}7>qT6so)xw-dw[T$_:?qܶ;?-ozӶO\x ￴h^/xc_Ϯ ~cOvw}4];dxP@,{Gr8AV`~}7ɵO=_虓N̯sj{v?~J?ӟYbצ RF=Կ[ss_vo:ܽFzqk-J+,?Z=+~+J?~cOgoѦS_c+6/?[ڵo>1m?3܍Ÿcgr Ν;?ND߃m_>vsڏC}k?o._65O\wo=V|ǽ67(ʯv]]lykd${lyvk.;Z8kUmGil@lչ~_Tn+Z{W6|uyW>_]\?}c{X|{3GVf+xŽoO/|{W9pdc7_{K^ؖ+#2_ ?#7콡ͫ9Υ=gGm_n{RsO{a;9_'&r>zYmk)UabŃ~k홍?VXvk׌Վ_;nO~O<_W'WT7Ɂ '_(|鯾\xϾ‰gO>WxǪ7>}`#wR͕̽Yvz׊?˟w'xn;f}0Xbw ޿z--nx]?+* Z}D_T+Z}k###J~[n/~S??|ַ h4"dbe?cr}',O{N?s?"?j+7ckc?_/-pL

    t^W3m/hG"wᏭ6{N$lDgC%?'ᓫn?% Bw_XULU[yK\Ohuȩj5~}2S(BS|XlתpQ.Ѫb.SR2Mzej8]V!S2U\kWJ^UzR*WpRTzw(b>4aڴ bAJMs5m(š2ex˩JHmz@e0za(3] 4\ rXwN.W3Sùj :Z,rY^,֕zfJ)6H \NfJ-Ie6OV)j$&M*8R:<#T+oScǦ5=dK94̦Rd3*ix&]<WWYb3`8^q2FtQ, YgbX6rOqrRg3tTj%RjZ،/ ,;Cb>CנOy 3jNjW0,X~RP-`VX*eeKE;Qy&[JCIN]aJ`dG#GNj:@O\ӵlz  W=dGI!SΗ2j/ejڐvt.hx 0*D6 _0 1@fZB &Ux@L]MIPP2=R yZi0޼ō!ҵdSџ Wr5|ЎK%%E?'&\APƳj8 _ӀgꚩŌu4Ni0?022}7YNK4-Q]3(%]3s`!!C?!pJl1T^f,󶜭&aUHJk~RpLW e+-uzC ٌF!WSYZ/6 )}Fݍ9{ {)[c>sݺ"d(j( C$Ѫx%Nء laS|S-N8t;u|پ ;.y;O؆I GCz~i3Z= \b!jՔ=UV5'WF&C9!K BҷVF \ id3@dRBPLhCՒ?g~pláѓJ3lNJNJ}߿_W N]z|&O=xҡcO>Dlr3GS:2>=sz\?##ԙ\3G(=yбڵ̙O/TRK )Og_S|<ʅSTxrc.gt|гW)$0~eg€T+S(x֔dTZ?ӌhрB "K4M25G>C-d"{[Zc[nBƴ&E7V :jEnkl5ޜ>:ks iMZk1IKk\]a9] F)M2>*@VeK!Hٺ$4$ИI"@SV˒pQ\N8ԒD._8 "r'vjppe"m$HKOhWxl2hLL? to\t蚩2QlsIx&Ԡllb֛Ve֙'ZknrlWlxL)#]$쏃 4P}e؂ofm( y>Y;x:2$*mci`]m"Db75 Vy:YU)< 4da TYcb|I96ƛic݀d7B\&&snUIMVRQ5z4`+22q{!ELj(ZWW7 Zt%%Kt*E^A-vlv@^1 5{uy`~X஄u]3oI*6vgO60V wTEײ{7L;RjC j\VM+͚0r"bo~-:Qhӵ+lDS\3[+(KЎ5ɂE3[P(ZhZ7 H>%nzvӧxyڑ XKNdo`+fh24Yj ݔL 3uQdCILr!1WsbfkS)G УryX3bqq%t׫'-*n7udҊ43xUaS[0.ٱg7 lM(IϘyT9hfsD\ /MD>&Qݢqfk6Nܶ &۪QJa h4:'~j" t& 7a+x1GΦ=.%+z+ 1qLv8XDMrPm޼rC=y˩O*I$RprZ:~ƓZVxF RD?7#J(djXo~*#o⪚W'+.%ǛB4vA; ZY dtmUf,:-WP䀍:'֤ӀK|M:D #íߔdVe-߬:_-dFG-C(4%[_+@4,QsG0%IbHzv۬u 饪OlP@Z6oqud'$]P&'EQUd` < Hgcu"b⌳aj*Ƶov"!Z$O(==d^ c4[񖹅 Z#]9*|JęIߊ=rb?{N@~?gPS-Z<*F'嶧,a9F.Oi:_^2g `#qƒ'4g]xxkT UQe~nqK͎G?-ތE?Ix<˪Ml#;sUИ4xL|c}$jkNC}d:`FDH in~Խ:Wcږz`TT49kPdoG^{h+*6§XCT g3-Ғ,A=^`hq c(c#IѨUykE%F25,dLi=Gޚw`u6t.j`R_\A]D{MKTdd (Q~T)fis6er&8dpk.d=ޚ %X-ԆBlv 6 )̯7@$ؐ5Vg}LV+94j6|rY7Uy1 ):omj9/j} f7\wsB{r<5]o[41g=iwjoHB q MPTc_L! \v=21MMk"P +vΖ54t{`P^:ʧUS)Z=M4 _$"P,JƣK>E sQ<S&JnlP δtFhUnq;QiFP[|"4HLc4D1Ǭ3q`}.MeY+NR+s+M1Ufe[ȹY-SJ! x*Li귓\%Fa « H'[k&fuhMT?WF4j-1Vsuf.jq5evFy;_KȞ_.dTXQ" E¼* u{7#*|GDgZ!SX fDD(4vj8cjoe{6zΔM=߱VCxhgO(y4chMYZo/QnUUUT3ab8S7xY9)5g/j|M3ԿUR񟵐cL3~e~̮M'Bh[p,z4(x콢NV\aөS,nIn|9< ;1XKt)˯;9$j,=SIfqKc)0rV!rx2+ə_Ǣզ\8\N3Ҫ-J(+d]يX=б\4 E10xcAa?+XLGF SI5Ax#MhTcijuW3t>b`(T99ʚ ;MX@ZZ"~zXbm:SB\paVREKui3ѿzɩD4d"S;X4l% HV.ל L;J VAML&i+ld „/>w(%řtD|u*+56^*N8vZ s2PQtZYPőFUr'3fԹNs!kf3mg&e&W3LH.o)G$lq/*ڵ?GcIĭ( 82DfriSWM 2ۦ6D@ U;Kes@[ ;AE51ThRNPU&{=+H#7'RNOXZ4iHF'H|ykE/M'LS&fe4]9g!SAh#(ȡ|@ dU67ɱ)<9h+`'OpB#aYo7bl48LL_ NM /36~Κg:럃ǃJκ=t=3Uκ jk aD:f Й7;y^[.\;N PD(. z6x? =\\/7;$P*zB|@"$UYR"$嬥..FF(zWd(WUӢ_R(z7A>>p,[MAf<01(1>Wቁ? x:CŵsP]>@+}}p50.𔫘w yȻ:}.Tq_&xE2J/D]~s6h\u`a5U /`N8da1?Dfg'vxhG@  ..J@9P>]LcgJiыɴh= TҼTg7Wi))e?`.^N*@:89M@EB^N%RMgB˺~P&Le2.`,Wġ s/J8sd! sEQ*XY#rRGE9/4#51/ s--f(d@vYf/0hL=˜y5aD*hB43#!c%T6;5|y'^" qjpƼtcrRbL0Ț3KgSY",1gl9jD0(f8@kb/0]ߖbӀ5]i7s}1QoN$i&8I*'Z$aMX`kPR2&Q#5 Bvx\$H=RdTN-phirrsc=p~61gciLqq:gM eq_sgrqzG0Lǘw t| t;#z뺨ql0}ة^Hh.0gdSdV8.l:XmPZ>! {4uEoʮ[ m{.%٩faKyrfL0j*V[-Pw!C[b!raBc}LY / j~@M<}1 <wEXYQa &g}P*+7sӔkέr؊) MKxi)y"4.u'}[[_ Ethr!0.&i8]'2TDk O _Ҫ@*wtp*L`rǵźL =O>vxp( RU "y`?#^ +Z t*HQO¾H^OZ Â6UgX^V2S+} ę?z{HԠP7;R`jcsE'29V ܃L~xP)k~かiJuPnabI{ؖG~| A&c3 Qnr}x~7Oȱdh ]-Q%~XNlO}zUi|P42.{gg%dKǣ1AQ B;Ћdb!m2T?yz06$\y)`r ?] y!rf\fj <*=yTg?0>Rc޿? Q)I܄6ӄV?M*X0c1A/OG*bNByp(8t1ӎa<4=}IȞv)S2 y^]ē=%h`2d 9UJ k'3{7gHh-gk|:ҘĴC[gr*,;@uWm1lo!b^hujQh:YCϙ bbT8/J`=5kS2=Ϫ HprGK/g{S$0:fK`kaI*C&ؔ*]t*!QpLY)?BTM 3=pk5`2L!޼y7a*0<׫AmjU, !JgL ?ڟkR#)Kto(cƚ 4P6fl$j|2k}lĞ& x5=(O xZQGgoΔuJN=9ҐBMжU:@8鞐ަKhѸS }G N?Q0BJpM ejr=CHNI_JMko`e ̛W]C-H &)zNj/)ٱV{n__0hHpW&`)yZ}fE(@+T5rmES#OhV6Ś9RZk:vuȫ}LagSj2Q{_$4`G]T_?n`FN8/o8e &,n7Xf1ۓcY25}}cpsٙlb?r@ёwbL3tX@FFNK!3saA3Ғ\ ko%;`J5E#~`+ xFECr˂т-5M$O׽_$ja!kcT@WP{pV.-+!,'ȬBEuabC5{i^AuKݷv# 6 JHf}Pu*"t&k(|M\ey,f M= Av'<7^t FMES!,fItYrO]}cg\ժgpa)N/9ӐO@PY/bl0t<;$grg>xBxo*n߬]G<5Tz:0Hˎ4@qv`^nvUJ`&}})H1Ja猟~Z !ǮӖ5aDt7Q KGƃE =㰎cb>7dIklYQbh p,rNˍI@y% {C1m-yՈ.,U^ Zj{qrz2}`#%A م'Z`Bb*R*$utHT1G e޳g(Z ʨo9E p%EԮ1*t0o%~@nJ@ІQOq{le%xiZ^=28)nm/z} wNW2'``5YV$ex@j \A{X(EFOeϥLLn;H;qE,ݎp.7_A7;v==@&Tz;;wƓfnfzѐe%fP]eYק-(Q__زjneӎfv1{uƞ6l/F0`l 'qfya%OHxH 7q=˄MW#Ky'i9q`09R{g6-M+oi 9 tj>$8tߛH81^&Ρx9,j< s#64G QFϸ+_h0ك| gѻfO܌&o*lrqj`pƽVpOðJ ۘw}#',ULpʋ鱓q'+vzV_g~ CNT'?΢XU8..K/(/&̴2bATX{DbYC[C^R1 ˡ; ˔`QBѝ*,Hxj]TM|C ;:߂@o &=I=9^w& p/4TGRI&x]HOȋh mS1Mq}􅱋XUg1 C 6]ppu{uuVA=\C#sj4>>0cF\8rMOI#:9ڑ:\ C ^L!3V-p&(;`z$泳,al̓>'q i':s2 @/J_Lc&])9pE@VŇ. 9XW+-+I_w0nXXŸ75BTz*3`mYJ!V%P>jJhZdio=VP"tw\PUP Pߪ`zb|/rVb ,sq^7u"LD$p=VސXkdD.A:]֡1|`iKzD14A"n$ \ \     88?@D[+^VҼ>w$`)<+0}Gl'54zy \Ѵɠx,޻7<LJ\F-V_ A\{"}&8U <0K{ūVF Keu/4}d< +Vw\ I{Yl8?]-f12/B C}FZ)fȬ;NkR25K1J,FtEu<ٳW"ggVϞ-=;~Cod,geSP2R;:4(u, xys"elSH/F}FOo9Y=szgEYQٳqhٳ>Ϋs|~s B|`"CW|ާXBxN= %%|c^};QxZ/]93b?Pjhz/̤;4d`?}ښ #7 nyc{aGyxָ]:uNs;GC>qf-z?Jsˡ.c2C+TVyűu,zbgMxsD0@K-R)k"ท)kZv# l].NظaFwBsS0{y7 S€YY9;X T`lz^?[sv䳗x1$rcl P] `p\<;h"gsu ed$y:hQ ?txT5X&r$;,:[T3!}¡xߑ8nܗb6RDNu ^I>/Bw+)0ox7YIKYϒ64@Of4г1kV5`V3+L}Ed k*GFuJz[f(xE@b>}"cR}'ĶF|\9v"dٌZLyټ 1Sjȑܹsss!Z՗./3@B'nD>pS>Clfͯ8k}Y,`aYW@vFۑۙYgdXҏy&47y!q+vs14fs&"p&>>r}i5 &3x8~1Siu~kjN@pH{2DV,|}eue!%Q K 4cꞂgԤsi2Yb`k]1ꚝu!Y5muYV1\DfH1V4>= e"N'9F_ 4r iI-{CW K<҆8ut٣Ab-k5[""uʦ0˄;T<}? `܀q?VAlcIp,}Ly>ƭ鳸Ow*s\&h]da+nyDnlx.H:׸dLeUU0RO>)=fY6N 74hwG  }0=T:P7툏ʍ4²4K΃D eYlRнA0rS_h(֗ÚN(P5ct[LeΡS(!htxSXdMVŁ e' . !5@ۼavΏ0#ksC؃ :< h#s@P9xܑŃwZ$?F 4x]0ʁr <0:GY9ΈOfu 䳪$4F0u:BG%GӒetjXmV's̵q"sɀlD<2 0!d,Ji^=K{c6b:$k"@xWWd*^r񚖗+SUVC7U;!v'b`ى$Z@Et,̡iU Ls yNUur&GC#Fg/ve;˘\2¶K'º \f`|D7 Ł00#)[K`S#VLUPk0&ܩe_g5j-lApmՑ5D:eH9HC-}t7`{jt2 ) 4>GWf{yuCfw oWvȇ=|T[}uB C"wѕls 3= |w j+}u#\b9`0'"- tDMQ/z3,5=ß,/U(EfuJ>/l=87K6RR[s”lz2:@Tc#L[Х 0XM'@/  Ba2#,$DJ2f9$? L!?/L%s``ʓw;935V}zǎϙNRsCscPWb=*zc-:TVn<Kl53`8"tEAOVgLGA<0j/4{9irQqݛhħ yssS6^)~=ܭ<- =0C)s~ a8E.gzR9XI4 5S#:Hл6?1z vb 2r:Ð?L;ɏ\gːohBPG``?o8YIDž,m,WR0~Cbwx,dWG6v"WeAgpb[,ܙ`1RRRwQ=IY վ9M!϶Y㚨iO-TWCB&Kgy0~#8B@Av q#|yx3jt;%d2e eqLN0*&W-UޖS$ѷ NA9UA@P TTy%}e:%Δ"ye5PU61lN+H!os\`NO暴cY%EKw,74 uCpn g6 Fv[<^}(zG9aQKR208VBA.I0)r|+C\٫E')/Wyf/77jMg'5 T58E#~Tft|T}1pѱrQCMe/ b C~x,t*of#ғ^HgъF.4',s.B+Pق?]ǡF?S Q)Q5q60ý0q>@q`V3&hVx&0X< pFWHKc"CZ3ErFtea_\ZYl $HlLrq7bOW!_φ4q5 Bk5FJul:cr?ٯlӍ-K DdBGV/H!M O4jKFL;7G%պ39gzIJث6 ?/&ތ=~ d IUh90 Dcv1N:o4X!AaPJ;3ZLap1j4x82x̟G4f-um4Pc.sa,bIߗ' S(' `6ݤOAm'tOϡa?`;[8otyBTFF8ߋ.P}ހqgc1[B;HDI/vk,mwa Hw{ށ>DJ>"r:.1= ιr϶h#3A*Ad (~iLg o'MB)UD",x\B^]G,Z @OO2\sZ]KYELagN&׌B#֋~ !$B+CDRV.荒W6l0uk^ƳpM]U%KR_cČـ||0R=U3ābk槶o"'TE!aۘMq[\~j|.lko!*30Zc-nq˔NX[rl?s vrs%Y ܽǾ-RС,C@#p S7}9r1%HrhOB_pb 3:s 8Mn~I0CQ;8.W_ƥ1 z0 ܺl@ <Ƴzujp7 GV8 b_7 TVX&8r#ܒ zQhÁ'|0;b|瓵Na\RXSK؏.wF0!O\πT$٪l Mok]yHR-[YP&|f0H\9AwbR*:٩+4ҫBl8و[X#-.p8]}wFD &|(0Clܢ@_h7q_et-Kո'rlھf/7|“ hQ5q/jy>bQ]Gr]{+M)-qO#«aFJ!duG?+⭶-pၯl+paHgy6ߖK`lA {NC@Ƕl*wF[H, Z|u,ֲ#rӱ z5&3IN}<᤮ZDԽcb)3냦_n@bj3:0![d\ Av$#{I1C։<9jwg3LT  A+7I q(D]-kb/Zf۶hg6k\WE٧YP|-e ~źf-E0+3+Ȧ7Eӵ [Z^V8lϲ/L[읔۹mZtszj aQGj=4{P-p\\6X_˖!.e5p)NEcM\e  $"fQ86?!~|k6s>sاUGL{LqY&8PC GLpᩖ<>Ÿh1 k渃^X,9FD'rw}`:f؇ټQRBxtV!S4gMJ.X]w Rq| {)IU#ȭb5b倹l w (QRH8xmp3^jsAH9xOgt#Jt#NɌ~jgH8(~Z0@W[Ƿ>63fbUQt Y]v92)J2 9ֲHn蝓qJ"*98#1T6ԟ b1Ƨr*e{9>rjU5n'tnڰYn"kd-ի/~y5ߠe ~oP/܀mgۺvN $o!&TQPB!R:s\h)!\}VùD} ~f P`h$feSPCgCC^+%dͅbC\"r@aAhHDpWAźU5Te>T~{Gw{b|YQ[.`oݚ硊!l_@3MGFn:6,^s-M.wԁL{+ ۰7=\)B"\']"c$1 |$νO|˥Ƣ/5MyUm*8fC{Y+f&#zh>/K?9~ r .En}=ðcm\I81ǧ'@՚#/ N܁P ǔ1=o?~$ Nփr0j#JtkHǕ2,C7On27tNN/wer.kqdk^}bU!Z~*?e#ĂBLM%fxr }=$K-©V'lZ&Eќhޡ2HF{@s/"e16x Ncуh>,$->QT8Gb#a¥]>,O'S R0TsOY$EJG>DɴiHW){>7VY<}4ȱU i1G !Ml"*("٠#ɍט̝џSσcFF@N{9)b>&Wt/3Q$]^yoYPd:=G.֔N#Z%Ir"\S'"KI싡$j.}A:Y9JyY@Xv}}XeNLքm/Y}6xxtuol\@o6AӁgi~>\@Z_*X'IB{~y ;>W>fo7DeEQBC1hnʾX7D HE\] 2۰R}5֓ i.$ѳ)-FwopZm~1;"4Ij|Tчnzk4m֛VsKrl+i`g7MeʆTJN. C$Suڍ(dG 9-Y+H4wFwww J@ϥy}6nn=Os׍+秵MstDda6ӂ%p,;&CקFKVAcݎį/#g4gܰg$bY#^ʴ~My$<͕x iZ4D< tK ֽj"*^K-h*`%س ksujv۬դQywtHWՍ NJѦcr'*i4_$֑$؅H};M­4XT~)D<8WD#| 8&#~B+{t3]!S%+|ܻu_Awٽ(9J tK7K/GwrG)rW^<=r\=/w9#<_˽#r޻#/ 誻@p]uC2;]t=H;w Tp_ו2tG1w1;rmz<1;Gq\yيszx~1'?wNx8$W;JrHn*PL|ėx4f˹UU9wT wDO &T/@eOYPSGj=_T10P35Nyu?We+rDyb$ͩ!:Rz9+\g{W?Wi^XM|AM HH)%Q0G>LZHjH=u%OšR'rgET4zW\=R= c~p_=Qg=Pi9d=-/kE0+տh}RoywZuoZU!>wz7HS=N*CwVgjcXC*M]g*C VsUa ucX-SVK5Ԕ~3IGj^uW-h ;44Zߕ'V4}=X?Ps!]t~L5b4the&F>G2-=>Pr5 O)yKdRB|̤fG}b{d]O3oX {ttGS!h'\=􀿥/hj135-~'죣Z iƅ7?~%ViQ9dD{aνBkFw>ӻ!uz7jTNIYl؅iU&72o <`u3f9! ?d2v,gX&0$ Hxb$^\I@7ub/^q˦k4x*U'qy|?pe¶Bߑ\)&>U46fg/̟>E^^ʻl } fbsb}MWd"VnuJ3"z.DC\!JcdbĞ s%W92MMM=ޝFq|B|6eY$zU+ Oaϛ G+3Sfa;kbo=.|\B(Py*zp& UGI{Я|3HLHQ|IYup`/3גn?{ؘc2B~}S uxz};aڰ.*xu\x6j <7xV8DtB܈c,b-íKgB\-܈8atFe˙t3:m\&v>EF]@3;P ,;`3X[Hlllp{nzh W%Ow5wwG~1]cGd+9ww~^2_:H(cOO vrOIq<@H8vnݤ:\09MF/qý=v2Ia7nnvv[rUj oyKvwϼ.UY&]_gIsyyr99G$a%t$K-=nֹ,pa=929 >~xű&#(7>C[ i>?79I# zv{NSjVm_Io͗ Sxx?B,S4"D*?Vv~cyfʱWݘ'+Tvv#g/-G⯖Y1ZQs§J$M(6e2ME\W: 5K#`mĦBCSC4jgֳ58"霛gP6Οg~Ng? h LW).I_̍UBɊ;E QgomH}!`YO]ev{&s]9NN7v˞_X̗SMcM]ȴ$d@C#]śη`}l<@6.< GUhl-yRzRSD=o(L W[f $^ifp^ z[ś=H/Mhn@3-z?3$xxl#Cd,>e? <fIo^?`%-AM"C Q.$zx"@l 9 ?-´l' 3m(.- 7 w[l˚ިa{GR ::rB2A3! J7<-.2/@im{Dp\lo M6v\ B]qyʗt`/ZΛfYIBn`5Z.;"T#5mX{_8iCipt6Cl[l:~ [>._];>GTJUIۚE{Fj //co/%qeK;ăB8dBl=Stu8f"n)m߁g ڸ խZr0IhyXU_^V=V):นq`ˢf}fp:CņtE(P@oEׂ:0PIGVUlƢϘ BaYo,` Iqƀm(]Lz Ìܭ!⼹ޭ8X-5+]JgJgJgBIJn\G.5)Wy.xf,ن vzB[OM %$Am(BQi+x.|m|4H}1zeGFĸӳ1P# /b6G@g@jWDt jXqN}iel ; 8aW7~rhb]a '0yh/ROε@ FLjTՊ|n+_IfV<wi8v݃֏m#Nfx8 gpzap(B$cA Ma@*m͏sj2J S9G,2TӓSNv%eEW-:4CBp2iEG 5:µGԧ;mk7oN 8Vt9f3ㅘ>b wɰ^..M?>`F{c}gEuш(]x.+tW/Zl@5:Os9(KC qo+B'-stK[GΎޗ3މÀN}ZwU9~/%yNJf\ ˻4:㐺?7DCbYɗ?7{.JhKc%x7RboQ&Ԏk_(]m-j3o}$L Yy0rͼhڬ}X|[:cW7߀4%y*_Z&^fs ΁ I"\1jO !8S09?mց/8^ueK:?!:G߷ЋJ/E\L o9r f=/|(W%5%t*C5)gka5wYBhIcѦiB@tfq,2 ս_PpF=C3! @RxQJ<z!+9|Zo8Bϡ.{n9tMT7@ZSU9rͱ+@з2 j t0 1~B.Zۼ/ }+MD:w`%o_6Bȁ+UqxrtjO[6B S.*ȕO!Mf%KsrQ-Y%w#-rȕa|]M۔M8'ZmӖuץ1mm_z]ґ'c%YJVlXF'4`JzwJw+dogsM$e7*ظ!Bıl`kFmˇtÒ0 k3-nڔ (#i{vS.atjL(~v*%Wk++Za-h φcVNÓ Q'0j _,]_2]L@qopPtMDjGAj:)#49krYVӡuk gjDԃ'5 !ڎ`oqfV/b 2QY$K[<׻pcW0~đ3G(5^iobЉ?sa}Te l{.eڣO~} ousɪ5 I!oB)]\8hxq}݇9zPŔ/NT 1wf#VJU~Z{Uj| -a*e1ꏨg7:9z8),~E F7EAݣ~P4#LxΪh_ʮ4Skpa@ -a˝͜NU1^,buUWN6hSRObT帠&Q3uF;ѢChݙ;|MPq@4ˈsdŬj8vr)4 !qG|wP9 GFx:' Oӹ,;t2dQ,'Dvt BlYXgoL vL_ 4YD"ݽ`'^td|U8X!BQUڡ8wVtƦF@'9IOÊ+φ45M%HrA3OAExҙASUjt0ѓtJeJD|-iP79~ yzsI,b}:Ft!fi<^S82@&E#;Y5L 35qvM$/{rD$$ygx:c`Y#ĸkϓsBLByȣ'yVÊ4: 0h 70i FlBA#m&3[ԈΛ`.9i L;xTځwMraV>0ށaҴa|[JR%3|w@Q9W(eiN%fB 5Jw0K;J#z:,;3 `rl0'SJ` !~ R':DK{J8JI"<~>gt&͊t34aQɄzbFT*׽oqJI'ySy]uQD>- Q:/;߲epJY_X_n,ˊ1 GNgMKW88 F4%1>O&UZVѭtR!X.KwKVLvj_("xjtJ` af,tN74.6j2 0S-1ͅF7*ƹ%tV۞2{cZpfG3<^5 w4ct&NleB>GJN =qN]*粇;G30syUݚL#Kv xDaޜ̂J*Ĭ^T`hS [^c+t56fFHC3#L@'r&":Z󍺈k*nmY,%|O995Ù'Ae<'Jsq!cK^Ly@ S(XZ2I9p17H5*" 'axG74%:U3a`o&+hJɦfvJPU]z ;|cvJxvL8'`٘ͲѱA'$3qc&o*O Z(#RKHw8YV.Ehw EJdjGԑt2 $PdhAiR(.-FT—.1ˁs(jz|.Pt'SDD8#LB':L NYS-+=A䓃ܸUFM6A 88$p{jDĕe" BU 䐝&صQ*/;Waxn5~o u_{wnp3cjJ_LK)Y}Iwsrx!ࡼ}N/:#)w.#O.~I'?D\Yrwz(2] U`=:G6G}LZ^É/|#2jJ{&-XQy`_ QDp$Gj迫`" o;6;m~F%Yj%"򬣋iv>Ep0I$NTpDZ]q=Cfc–3x.S2)a-f1UYCsyMI["R}J~ۙytEv&9tc`#t%M`IKFt Ddlt?҄,~.Hnbb.":‰:娢QYm1XzՕ\T r-T'r@Έ ػ\1h󼳲W3#sDW[w}CLD{"^%xϔC%F:5ƩP-پlL .2#-Kky_8y0%K=HW[2_Djܟt_gSHd}W8ŏ+| {wd^qqKο"'kWbj#^#1AȩJVYJ޸o0 إtz߈du`:(p 3 'Ts F%˃&[&N%gʙSsJkOv?D<.rtw p5Hik,YLbq 2kC šDBpiڧ/MS[0lX_gd^\Rr|wuQqtrSF?kn@>ir ۫񲛍L69ٲ"Gv}P1K~#o>!*ُEpJFLAEH6-23oèb#_x0O[R-Fl:jޞʝ8ϥ+تo4P 6ಚ&]ˠ AA>[`*~65e Hz<3^Ɯ!x}RaF)gUqƮ6Oy^!{B(^}b?ErY&l* =ȣ"Ȓ> V-[GRiSZ Y..L= '>)/@|ábac C(sGӂA-^JQV*77È5|܀g#.{EtYä @yaFg,@W^QF# 40\uij1v(5WnlQdAۖ/W1#s+lFSMDωw{.Op!I/@E-Eokr|bP&uqe 8)ނ?kJz9bgLo7 'єSN!qa*dhÞqLj z`pCdx'40\?+I{iFș 5Phn/7>8Q8h'\V3\+_|B~#3L-c$ƛ6ZRَ4L~|7=xd^~pIFrD fMyj bgۿvuYG19ד6&&Yg7;95HOr-5Ӎ˸IۈrSPs`fH/B,Nۗv$5vKڣ,͏L$-SߓẐ.i 9`_&/uH( Eǚb}ǵs4q#Xz!IkpthxAhvLцWٽ_;Xokɷ|[dQ{ܡ_A r\G8n{/8PN@C \AӢ Me`DqR;Rx ӆ#f?KkPX` _QLZXq⃮!ABCu1o`ő6=O"{Lkejwg3,J7(3S%xvaB^_#Mb5Qo[(^zȷ&04mi~35%`cjXO~HQ؏P9dOح= /"%еU͍-{^< ${iÓSXgu ~o< {1g4e t)mJVJD\H{Q9$?r6C_NT U6yY6b?ITFPm}{x:ɩ}ݿQz+^&nj[w]旀 7[ykl& ^0XB^|O J}Q+Bbh6 $\5`1d P1r?Qқ2V߁*s(^S"`A_jax}ĕ^ƍ͸5v)/޿*TĹ1rrɥ̽4BVxrp%sVb%6͒6_xE` `NMp?B<=s-b{cEz8V?'s6#s|3eMWlV=hl319ؗ&)X͆ñ|棊5Fpwd2rKNU1#Ԕ"E|۠Љ'R'}(Dhvوceod*q7;}jh4>8"diu.-CHZ>0Wko9KIS+ V Ã<~bQ:bon=Ig d rB$; c!~d:h Pt# fN8 x9'Ņs!"fcfx槛$^3S=&΄p=cFzB:ur\a ʘY0 ;n/E*`$yx4K 'H܍*J@.e^pfgѶMΥW7k}+S-B Rr]H.v]:d0/ƅ;\W̏ ԝ+؎kݍ$ FVx'-Sq-S햩햩LvRՍ| I݀#` 8:83F bрΏ[iΝeO^koN_#M9S(Bl9k:w;;bJ3' søS3qG; L . 6<}qG%ee#\nfعVVjg&:}W/>#f 9oʬͩo\0 ?e-Xu{PEUl\缉ԓ^2>?Ip==/tpX{ݨF^ Z?o 1i%( |U{hFj%!gF̹Roj_&75)Y丘2\?NDKIZԲcfCc8cH$zzdƎ %e_jv:{lUtulN]bC5ֺZ#J (0[$*.;9t%y pb~vww>iZ*j.!.VWO% 3ϟ$]#͏cY+Q= PDlx+n(ݳ_5>ի$z-qm~+;cՔGr;vwx11brGQcaЦjȘU.6p;Ǒѩ =p}=|zt}VFōw% Ǒd5Ultlp퓂|-6f⚍خ0r^#Y'`ZWiewy:T5lu`{ӨF|J%İeR4BjtA9mR^i!ߠݡ<%fYECh-Z(ɥTn !(`C eAe} !倗 t>H.ER(Tq5hq9! S1I}!ޔ(aeLа=(2ܖ<ˀ4ڀXv؈)SlL~bsgd{%L BP~tߪQв '5|LU𧵨(-zY쾧Fpa:Hzi|CY-%%hZy2sQ-H5j1~3"t[Q5-`}<WF$^P畯6: ڑD/ҡTC6Sǚ_Z5`R'sFr5} g@#i jG'$; ~enW}p+7C"9Jm-c=a ?]R ARʖ cV F.TcvRLL,x)[lsK7ťNs ѱ)^?04ŝ]Rz/ڂaD TmUqM1͗~8φK8լCYb2m6FIq|i1f6.q#hx\Rٱb#؜ !^$9(kP1BQDBw@iER%HA 5  u-h(ߊKN& )KMcip1s^!T{|x( Uo?+n @4s^Vՠ*VXsUmzXMIK-<0"c"ܩ{Df|d ;;͈W\/I[|W9e UGFumqv)"92،c~Oky zZA-J:xt\<ɬDz,ڸRqhֿDoP/ar&^)Y̜߼e-Ahl}J5z2tgP^C.RIeMsoyEk iIv0b8 rhd}]A >#|z35Q1B6NE()Up4,Ql.;-e U0x8G'1H7RzPPLlU y7{JUeAF_|.Ntñq\6b0dWpQev ] `#6=".6t|bDĆh梩i`Z$f#y 64)`;s/pڟv3%CZ-ƫ٠9GMK+cbD(؎vlD'58"VPҠ{! ‣1:yoF)'ʿv ii`AUϏjcB\g>ۖ9 ]8H~ms VP"Xzu xag<,lc4[>}fA=f4Ӳ*M8BO ,ɴJ˞s^Zomc%*. >W_FE:aWdUI#UJ*)bYZL#-~Ä;1C\y5Ƹ``Cչ )*{Z㭞kgOf{N'wrߕ{3]l Wi^F)"g6pW:>wd/X C[cC;ؕt#2Iǎ$O Su75A^.TW?HuS̞; 2Ո'Vl=uqT6x;Ƃ_eQa,DυX  bҠn7\18I$]xL"S%H8#?"Q\I\u5#"kWBw۪V Aا4IԨ_;g j5jI jy#Wɿ3oVI9Pqv5QvqGq6KԲ3,ՊH l/N#TiSwKCB7.m+$,\N*nE0 <s_Y@C.|Y=I'y b7BT q腃}vDrb P?nLn:@Sp'Q|shݮr/ ZHS nbO&6^^3V;P\t1)|^&/Wi;)t)Tjt= /Ϣ=Ƹxi&s76o56ba:n`Ǹ'64xkBdV9E@Bǔl3Rl ʬ`.LQL돉:e!I\3r).a?oxKS0T pWZk~YV-ugAdjL S,#45$ҪE@oMG hM&jH𥣆$ؔg%i@; 5lR)nL,{} T{Mؾ/|ѦX)2 NĝB,1\}ް 80fA+Ț-d/e@M&>j?=<!~.@Xcj>' *9?x}2O<3)SEmSjQ%R.Y#ݐHZӹuhێPhG ~x}ӻk2fŌI&zkf6k6g'8kuJb =jPLEb.m6dO=gem>RDHMUrKkcn+´ JϜƎN䊶? fJuZ'iR|qeadÌr(5c#;Z0_w^ {8!-f9#yHݛ Mw L}w25и-9nmV+遵[1& V1_3ym4VY} 6e*65Ërm! [ªLE֝ZI݁ۂZ9G!ӄ$܍8t sM#mӱRãHCH87;K;5N3`g?9O|+en|Q'G#w ,m#cEnB~]ƃtQ3X 5k<,2m)n]BGw飵f1$cz~J#˙(.DŻhPȫKz @L[݌ݎfXZwCe蕴t+Tݪ_Hj 4Z,Hխ}]i!y\Jk:θ;,咜'UgG+Ajۖbf*](l:7ܨ8no|QnPYߟr'*}?΁%CjWQDwVѓ?Ъ ;VwP\Pj0mq|$xS]p(9Ȅ ]tAPr }FYcBg}r2k`PkPo˨ThgfZ#L"{g8۬g#uhˈc?.\-qcqH2rnTD rT`.b|g~$A:[ ڗtͰevf]-NcA> ;Ө9xEa؋O{'?=ݣ7/'G5~>9BSpª3-5[1HaF#?èp  k#}iyʙ3,L@ R!*ٹ T 0U۟?aw}KҐ0twIn6+̫ۧsk%L$ju9;;vۻ'֊7 ۏdh%Ò߁uݷ$kM O*h=kt?Y} JR8 _e0&7ƗCZ/8!󅌥J^X/)8eyѯyƧi0!TFBuܰgG|=ы4 =/5rD7~Ɉ,JrYp{c}s y$'ƿQ y>^wѰfXQM5uLqk2p7tKTyZ~Ro_z+G;b7zxON?$]_9q=* Mei~VSB\2dl)'aOY$s=Ea :x,pg?쟜\^qIg_)|ÿ߽r˗B9rrpm鹙SSgi&k3v? j~kN~'awwQRhN״g*DC\iCtb ='R4'K*E=:8VIzCՖ|Wy!y)R ~Y, ~Yx~M6Y͏%KpԋrOwO(=;?89?8/ fi,]WofOMTPM9$Z_ΏKZ {~[=eV71!Ϳۋ Vdcx p璐gY':-} Pi>O>_6F <=HPj"g<_.xnxSgg}|q^z2Ѳ+/Y W׳ENYfr5hI_39K^#yͷBB" [W D<`/>Јe{|hkॐ/ Y3slH[8)О %EXT&_#%yWo~spL'1#:=I~}]M:6 ϓeH kC'ۗ-\(ً;Y$4 mCDlwg`Ʋ_ %I'U+`]LB-ъld˦T'Dqm~7uV@ c% Q|5%p=x{0hk]V|vr,\|Wt6{iSc&}@ߍyc|\[Fz~CdruHkv X,2-L!v=ۘz="z<+<~^(>De}=V>c!6\Q-ܱ.P987糏 Oָ߬NHj8"8hͤ")a{V\Z!*2^U5.KXJKb] '# U,%q$ Bh6$Zj*DK1 < lAև9 t^D82dDCG}UTA ۉֆZݭٓ4hVF*}CD:ףcQ̩2;x<$ r;A^R,W>7%'D<9 Mb&jdmBa88j&lr2ܑ SY8PlTv ;[^>TEy 5EtDw ߩon+:Do4RXso( b{4^27';{Jm,* TDCӹ,  eRF;yfŗD-#CzrDzg瘅<3uȨg lb$$PYb$F 1OFԦ!ZZ (u05q ¡gHfpCDxHrv48pZ3?U@ޞ7=h7_xX 1ߍhCɷ&гc?zqxZ h iZ ]W~cȼt=Nc OF&l n5ְ__wsP+yYtVJ|{y|}\ [( ?'Ե R␘y"W6s7Zl--QzgFe.Dݭle\Ŷm==,=ѹ25>s.V2}Q;~niq'bjsoVMi]噤_+ Ir 9q0PĎf1lFX;E?!M$]Lh-KŃSLtB䪄V8)W)BϥZ%[)ӿ1oH[N7"q_`q={Cܲ _oz_W{~PsO)2_FmU4㭒S,wK?= ٵ .kV?)Z˾jWJе8rg."Lvv2e>"вv޳}dZN=r6#sʤ͚pM"#h%^sZPuTWâaE y7e)y!˳j^*;"՘ʠ[3¹r[bf*xsTFS*dFZEψ,ggl^3TچHxN|כE_H ۧCnv1"=8EI>DBkxy\V-ݦ7rWDU&58P_y$o(-GCr(8AU' sW~}_ VX^j]ߙԺ6ҫº8:v/7epÿ;RcHK֚N*8ڨ.؄^"[l&ᯄP P(IVoi vliϱM/1aw?_Ofsrju>/aLg+ >|؇gc͛h$Gڐp3dPcPj~D5Q?iNd]VYjV0w- &ND-*tZoLṋq"l.RDm_xs@HZ7kJ+R~P*8E%ZBE%C!",HG DЩ$q t& ҪϰB7ejEi7ZL /JÑnzNj\#P'! )<ӊARGEf m#4ewq択~SXF~@U" ؟Xe%-A [óQ랳<]`:HߢY5ZokiP$ MUIv84J=,ZaCtP~DߏDDfiTi Y #?Kv(4*]EjxNs"ĤmUBJ06"ev8gaqF}GQGGC8b&1=q0Mf Z1+DX>s"I2P78d C-%-tӜk\K~?YL 9gHo``x)p_p| BT 2C]|:]N!ϒvlS(Z nJ&<{r~|F1MxvjKt%w$Vjx,d^ݧ$x{i+d@[xc;C~Dͬfff\cz),ئvsGӧD]`s iDֳY{Z*Q'gȢVbJŸ7{7xJn,7q" 7C((b 1a݁&hF9eP~99#|5SR\#cF*(.PDzu|͡1KP^܌]6bA > GFظr1}hhYRl< dTv'3LL'6' X8 ?CBuo{δvA&WUT1 c*Cr0WzR+5"^w$~]hIN4!%nÊ9e 0]?sLvydt>c^yGLF+r39UtOmBn`ɛ.m6n{g$M=3Z!4t$iG>Μ-wkMNDޘw{6sǜ>˿1pBE3Y˷l+aGݼ< =_Ow2q~ !''^}(:6 ?U0əf, X^,k~FD'{Q&6!v 4:gaJ|1UcAxX b&==q(q ]W^Ԏbܤv&K6jpUE}hųYQ<\8#OC&K6 mz7RD4?R:>uȽKeV]v 1Q+2PZ*YɁ77 7H!*:b8h[n-֖JYLU-FJ3_ ͣjc[>To7Nz =V*l5]a[ r> \M?w^.h5R>r1nD1;Zg Wˬm‘ҶaKMȠdYCE˫奌vQ\Jsɶ֫5޺^&,̴K^eE }B}ao}$M.7m@tz0,u щ'eXF{t2޹œ̄2 %ZIMLBڦ7 =cHIVZX!09uuQEt2z!=F=zxS/-'?QJ]Nk "GDu/ tBX"!ջ2M$7|1R}Cz7MdwhM- dY+TF$Ӳܼ߀Yp(*[~ov ;ɦ P:Q*xzk1gKKF. ]6rܳ:[YFqkK410i U( ߅Jőm}loϓqХQt^abz5=wZ+ fq$aPb_;>>@-ǹ}֧򉵜6h:Ltz1S.߈s|!x%T\RǍP#ۆqP,*-p*Jn{J`h 1VѬhw7jFKq5DBb/9OxY87d {Bh%zǭZP,)~`&(]@g"SLcuC- Bc:(!կCqdj~0[3DEd5MeNB|gbVf!+ձH3p^ K!s -rhΤRV`sra͖z\2CLg?f u2SNg[ޥsg`@PPAr{.S`k:~('sx~" g~7b،d?!yz޿{UH|{˷5w^oq݇7?Dy]|'9},}!ZsT V+iW~Lǒ(UJos?  9gݝLofo`sAj67[U1Rj8˪X8"5*mynbik?2ʎtG Bd D!.(_I_ 'ԅm:e Ӣ*6Uz)ȮS#v3iB\viζ;Oc;hOMWL5BЭ--ɳSRaD>ilDkq"ƴU^6~7>&Lцn&^I[͟+dZ26ׇuXT0Uƥj)O=0Qe<D,c)7׿m."Lf ўvH6q1 ne Aݟ`z^׿YaNlhעVɸF5% lX]v5Y5+yy= 5Yc>o#e/ RFhi kL}y%ӿ{$i[Lu<&9F1[0)Ag0Isy_ȫCӽDGKāP/k =ytvWqǝ` D|z]|ݭ۠h"P fO<'ߛO^Uw o&E=Ġ*h3?a]uRtZWip.‹t3PjldYG[iǑNϭ-Jy<Կlg\_O`6؜{0JwjTF){1z'Y)('Fh?{C6.RM |pI}xPz}= fD Ih&ў AxI')!#Lc\tqTÝrOvk 1ת7gZ+gS_l5k55('@<Ľ/{Q[Wol\w1 "0GѶv6BeFw4/e>ӬDm_ԄfʶףΓضo݅`|߉qHqPrzI{.w^x-JVv xEŤHm=Gɏ!'}۰X9sw%fhe`=yp_Stl"B'cy9a&9g4a?:3So_ŀpv[N^;x`K5RwGuGz`~K+<_~g CA^Cas\ѱY 6s(ؐk ("2rY\B Ti#OsX_i '@!M$Ю"4H3,@!zi  }8 Qn,V#?pA`CoN76R;Gn[ucϨϓr/M/@5ҌOZYWMgS^ġgO{%'ݮˑ8\jzԑ*L˸ߥWy[^8'>11 cMm+:YHQQMbs5ׁuz68A:t;D;,9;q9ǂ:矏5?yQp}S=Gt4.:W^u-|l=};Wj\ o H+? u`4?:d6t9*M#.J]^ĝbH54_GW'H䍹a-^EZTeܹKKq>۹ۑc#)3 1I5e:]u 2u;Tg= 1fc,Ҥt>P E){×DBմr59BҐ TEˆ~rP6c?jy/V{1!.؜/pOnĽ2:X56 3;~{}57?f>e==|)DŽU-"BZ'F4Oɲ1%ۭP`|lxD a.ZK^^ɟ9k$gm6V%ϛj ͮpMQ7X֬.^/Q#8w/=}(/7]=0jfa<ܥG]ˣ;}yyȿ \k/ |(v7LPURTLg7y_A_ ・!rC!*ÿǿX>@cE}ex?~o/h~{G}~{㸓cw ʸGwvO-&=}S4}{Rq/9@<> |FNQ>.;`3I/U>d6I(J4iʇ){/i//h?wQ3MqΔ߇KyPosV9M7NdX!juK3tӟ~ {0)?SkN$+ 𦬞UyO<ȭoӐHY>9I!|IW7Mɪszh?6K{ݔwGfnz0w8&b{*Jb7T6HfcCA^8P#םN\%9q݉=ggKa 'D\ㆳTG%q8']ի00Oo{"['-HS8Ybo26@j@492?g/{lmXi35i$E-U,qהc5K]e {ov[Y[]H RGswmؾ/3WSr:!yk [L~b XdVPYc/V/(o%.as@p ʾ63L3(czg]vwsN2`nءqnVs,ʃ&tKn\jjYp3(~LVxi6ZF[Cq#뒇Ʋ?>_u"w@xr`1L,Z$mP}հᶊTCN%<5Bx(ǥ,I -hKψNrc=km̺59Uԙ\\e vNkVju8k‹"]jvwɩ\ St,BaORtC~F"/_zv<4l/c{NNYlr<5Zڥ!8ĀkŴ #Ճ _> Y)lzy՞2_Zُvd q:V럩%q$:݋h1gu- TEM`\8X^' SU)Ge 8A7Čr8&%'lC]vQ- LX^2Od٢\ƟJ #n'Lne`6X펷D|5JΡWCY*B嘍%;A#0cin;#V Z۽&mb`yhK͌{i@k'SsTM4A}-0)Za25z̓_ۿN(/P)9+/t娴=*ם%(Nٻn͈e/3k ̒벾z< lz8!܎h&FAUǽsV]@Wbbs@~"9ȉ+]p?F୉Y!TWGw#T +7YmD*=ąEp|D#2>lؿxEnDրY:x mܐ#˕MHa?/1x٠A ّV{dl,k,u~+ȰwIp+s#wd`U 7Sݒ\_Z{rx_k%*po}9/.=G) eZk1EĂNiFИ7XLT>ؿ\E$19LW0o^Ob])8te@%y [uqP:w}}qW ѮG~vڧx8jEZK4+ARI߳ߎ+]4v" [}QNyA>O__拺)X]@a71ナZfcGbSqqbЂ#zt Si(."P΂ h9S-[Cv뀢x/qc{^ Gi}aCi``Te9p כ%~RޞԧZX=A<1ә5& @?MT}9[??}:Wq tzsWBXZ4]@(}Cy-%>7rZщ$7Ȃ֋m%`ˀ:cg.%'^xn8"qɆ3pSf]Mޣ;M-4_k;3"v hZht5֐+2ꂉGn ]eO{԰KE9Qfqcs ߶YҳX pE$p\)I~DM1G\eOCԗpDO&g$ɅL޶iݶ>"`'|4?%g͎"ʆ3BԐὢe*H}J&0kFU"xpTJkrQ{Sdۏ_"{< "M5_ijD7? Kp8%|t\>,Cj? tWFER/Qm6zA!c-GvO[UۆԅW~@7n@ohesh,hL m{VkYN0 jjs: rE}B9:ZXu hžV-Jdk- H{NtU'Vcb u2La9Tu񲪝{w{"SA`o9;R,c1` <6@To_˫_?||oo^z#l~xW/?>wEe^c _<6fczi¬QNBS;16,p gTvceU6 ԋ_ד\:~ %b"[l : Z?:nfd* UX) 5IfHab=hCʏh@nF Nx'ڷ~|eJ%uqtC `KFHO(#rjs>ZOϧ˩5Ig|дF2+xU KD` ^*@O8{K-U\\E9њ}:HqzspA+x2paW( z88nN eٺGPlglBXbLo2dz/+z.Oy3@ CIi]g\hW=ɥQ'1IpN0RK鈓82+_~azٴXr0\Mן ޾@lL-.EY>2pW [[Q=>3A@/,P 2XpZg% B[b5eyBQ#^`T2'lڜv2P|'v-lnmmqg=6Q6k[ɜ.XZfԨ~wsusCts8tG]5ŠWi8UgfDW[|Y\IGP{Fsխ"F)fZd,M`%q0D&64M`=L{$/מ̸!7֡ɲ*)2,>ŭh"ܠHn͜행})€aJ m?n:Sl8;e&/li%nϛezPLQh63]m;,V`]6֛# uˌuz4?eׯODx]v>orF٩ZR~Ku+ -BVn3֕X6Ur鳺H[O2aY8Kځ@4~v4wq1W!ь!W[`ԙvl6+]Rg;'LU1n:g8S#_~Dc'}~j&{g9yd9|M~0?XSO HãBga=u:POx6t=rRM{N`/5Įha>rm.!7ɕ>(wuT FgWor-;Ŭ\E(Tv<vpuJNٜmnoBak]Ul/lmߛED^ zb$9_utIJVdjhM|f-sɑJ)c~]ǗT8R}ۛxQHW/pS/;9scÿ߽Guߞș]W>ׇz޿oK#5͇WūN_~xٺw̎{TɆh Pj3uں˵d+XgϮz}W.77/,g,TG3K0,&d=ldfc;twtAm=7u",'Gq|lVZGd=sj- }u͗PIC,u-̩;dz:kLdTl sW`i}ąY Ғi2_\3g1X<[{Ѹ 2# ˸fC8MYxLm$2 M&>To*7QĄ̗ \Ƒů8QHrU:`?צ3_o2sQkҺ.ݭjih|¡{~0l"\;դjYwdKmZ|Jp^N9.`b5`kXy{uYM?ǙM!>paFQnV!$Лj"wssKx$O*t&!>Tת;."U8{J"Ltd\rӤԆ2V}1ɨ/|ٛM(M%lL{0>{w?"c$Ξ}'1f9D؋);ϑoUJU2:B5C/^Cua`xkZ_CKwWtMNuNyDkFiAw޴iGk{u)7C GGΛJ=Wc+z0TIB @O\{etxذM/ox=ci{:~&O29N8yrtsFpڥ1HIjVfsϣH6kQD}ق4Jsс3G1%C{V=i-7Pt@,mL'R, 0q Tg‚*O(y?)TUJ[Ð5Qʵ3Cmӓ77f4h̔399t+1tя5/6l;76Ɖ2OY ^ksq\xcoccM0n]#Wx/i"@!^Da dN{ѝ{kDv|)?I;耶psbb݈Ifʑ49ϘlDݳ_Yo̔AʮK!p8uo3Y^k9)ŦZφc|wN},}%YM$ `)yt-iÖY8T/}X'xڜL9H\ƅ"D5" #ǠD`Fھ*_-X?4;/Co nX ~7zWyj,]ff,vGl8pWJTU$هɠ_:1n4xifyFgv5vڼU [,<;гa%$h~4w.~$0ů1xgl{8:Wc9llz K1ƤNTŸYni-aQo.%T e5[q_ܭr|\ L/K %F֑{ %&$>S_OUp]3oG`CMZT{➥>wwtN )dlCf.lFHR,o"W\h.;Œ楳 yPޙDD 0BE[hȸv#ϥguŷ6_Kl`OF2wI³>̦H䑓7{\Aw5\;w_pע7]DS+7#<pte} (>1po/uf:@Lf:b6vd|跚 :Yc:>9d'g4Pl~Խ#ΥESqPD@=ꧧ U-ph?k5/KZ嗥jD 4JM^N/ s/"0{v@XԥpoZk<(/Ղ =Q\$C.{(%t>S(:SoMM:\ƿ?^f}jQUaTq4](qgDK%miK#T +7ڽLE'ȁyi1XJ!O==Q;"Tf 3?UjEmٓ!|)^&:Xzjfy^*cCsD0楙|6@9;}ZoH2m/r5y`OtZ;DrkQ\iKV怛ŃFU8*Mw1jW Zqhm0l- +[K']u~h͋=3G#X&tCjTPFh1y| i"\Hf/8YUt<h֏ 2ad_-U8UIUFpp"N7鞑ѧTOT\ݚy>"Dtp 9Zª^T'D^L}~a/3?s 8f/&{\:z`۞"BqyEy٧+}E5m0x;+@6o7>FI ZHm /#<(D [==BԜ<4rt&m32n5Rbӎ+m q@t+Yk{TyWp10ZHry7@7خ{jSЪ UhG|OpHugprDuWL=di#kyibƺ"|]Iub A9RUP^a؀[V<M|kabU?8A.Φ'- đ^H'3+-ɪiԈȞCx&m`zO6nq[y'f8CdqwXQ+[Z`j2G.K#u }9n:p<3< 1f9Q6nz'8.b'\ߴl;:([-z Z tH[vkjrڃʓk=L$ۀ-^2`pvK&yCa!zmwwDi9pEޔxQf\%fؕ8[`8'sW䞨".qMYm~v S3EdizZE,{y\)*>Cof^]Z}҇ۆ")8r}d2'Us;&i>G{ݯdn5{XHS ~S\qs6k%޸ZϓDĨr5N+T4zJuW4b^?fNsȈ33Z5Ag|\Ւ?s ZLuCzR/^:DsI=NQ9Wfknu1k :5`aƀ@^yܥS ,1豤# 3MCH+d@W#bo/JũoG [uq stZA13mOk]AGl2h}j鑣OV׻pֈ֍X{됫q5XZhƉWsɣw 5 y; lh,Ue"E/חrvnls#v - 8 OMHhkm)T7z׊FT0nj-ee[a@뭓'ap@ jѶ5Ӭ5[V}o~Ag~>)s61/ ;bk@sL>O6>Їv?'om=ɇS뉋@Px-^76 :zf򶝦 UVÑMi]py[DùO oiv-ny5HB '̻GtZc/82R-*ڥ@a pSt8!-ۓ-mzkX232, gNfgӼ\f 5QZc6yZ!|x^h씢f0CX7[x fa?$/6Zj1c,G^__'x.B5IWy /66AҌBȕ⏶Yy`1: HtK/q5^HVbxHs:a9ǃH8wTxd v4V`bqf][l4 @o` ZfdؤtPpl ӠP 8y" :⃸5G.9x,NW:ة~dK۽ UC HnPA2;vh0p=\\ D7/8j^ ovg ?-4=ҽDǐE؏s~Զ\{*IF2_purS˜V\{n蚴1tdggG=!ؖOUi?~Um|9=%,8nF\i'4P @\HT:3*"nv+sPs:% NW{iX_DT+:W+1Is"n6 Aҡl6Lo֦f~`jƱv8wErV]YR$6wz^7WW\/832 Ҋ85O̒K)o[8|0qÅ!aaDڜdV1:fmGh dLS*ec# |O3 N5T:Db/b7 SՒn1A-׼Qzmys"/.QLMកK'J#'HPmf=.*pi!MlǷgl'89#q̡՚wʞʱll,Ƶ6z\rf.Bp$;>zZ/zqS_Ւy+^Z<~\Xmuޛ .*o*U[U4˃A6wi|2w8q\7 ڍ̮μD|yVaT~fj7ͱǙE s b͛%Xyد,p_*r|qc.n# B 0d(P BijfBww5\ ȁq(=s:1Qo)Ҳ^&R28Uվݦvw-iYoGP sWje8 Z6~?)epPg}Kd?-zEh$yjDL3>ic8&|q+SKLpg`Y CkFmWj`4-"EtQ. q`ͨYŇx|K2S689REsMĆ0Oy{ :`qnRkݞ{.g:m=1gcmKz5BG R7{iSO}:GO6าjLhu#^-.}#p&e{ҕwj X U+`BvجwGNS #:ҍ|ϱkIW2ij% OxP5"챳ӍɣW} רvmR;#<#`oTe:Եmw9>6e" f{%MÆ#Tv`ue,6}vaeOI_b ϰ.79ۡG%5Ynd7~zmm>ڍ[r{gF4v;'8cW|Kh)OF_oztwJq5i `<Dq s9"]WyךA \h&'p o_gW~ ֠L2P\G^Ym=hyΰV5N w))+Nҝ'O\?G[[0|B%L|wOtع2'ȳf{1~8mtJ}^0캰}mVYxU5&@ jXhQ<ʚͥOHWgt2.=wgYmdIsSYFy;>"jj\}}*ߖِ϶̺w蝚r&Noh4xԭ"GxRWA?y'q7,bٖ- dwvoP! j_GȕH2u&PLTUrH-F;7g^ɀM]c941塞Ξt{ziQ@"r n ~u &t8%,ŖMXQJ7O_8Uό9'4.S }೧icn#ݲ'2Z/ǥ؞?ӤoڹT};2ޱ.Cp WMŭt98c^h;:2Gxo\9W2h%7I*L)*UUr~l$o%Z0A;A!"V Kz!rflÀ6 uÙX" &q(ոmJT \3Mp}-خntJ}zE i8J} MVx^\U8*g5I[$q'z؋_NN˓ӽ:<NNd}wgZ]Uq![*RHctOf3\F8k ؇ZYtj SN/g-8XՊ7åp0iC SH`L3qt@Q0:9dԿsj8rZ@Sl sԊ|61֩EAT4}M?O#d.<ijzdvh},iF n568\gpKϊoor҆{Km!_  (&A\'wt.q)#{KҜ}WO8B[A:>E#;/|`Vy+b!rqFPÚoZ٢(͟EZTeg^A[XbvI+:\ƝhF`bQEP$3/2 a&|JT,Hb'Mᐆz? 7/tRc22Zך˥d;ҁA{9.[}iYsw.Ҥfl9s$sS;DƸn򳟮?3ħ̨Л_~X3")Zl^9-uw+4讫ex߮feP Gg|Eת3䥯9S%e'UQ?Q\ 85dj65H+S-.NI ❮e.|0ohu &pvr.QͩuU{jt_(Z-j=V 30jzPܓUMGZ AfTҎ4fN6y-38T9o_\BpyiHH ƗXi->әs5kTrMJ4VNDCLRq%^KFK/cK˗[:Q~Ns#F?;n#IxdLRMW ڒ[^ZC:ت dmE$M~7\%nD"%2' ]U܌ƟuImGVz[$7gBjF+lOiêϖ(\cZ]_$aNY~ǜ掶8]?L9&oq]#;nAQcѯ6X֋M7z݇-ÕWEKKpIڝlsYŽ2#V^\ QT<j?YB%qKUzyx;&3K@<#̵ NJ{wu9XBmRĺeQ?{~FKYYu/T9U#O&u/;Iݏ}myj:m_=e0|җ;zE Ky7}V5{UyT;FI9r‚?@m\yUי*Bڮ7kE@`W M˪Hy맬&lYN տSmKNY/C׸wJ3apdIZVe3iw6x[ܲCoM}lOqcm[WW|6{_6YS+w=ZOǓ`DfD h\e}Ƈ$}A9o2 "Bq洅y61>ڶ 7*3KdA=M~O\8Lj_UUr=2xm[6JPvY3 FJ|%UBŧ5奩cqkx稠<V@`jKM,8Ce4Sw7 :4>8jiB=$$ƻx6-iU.vjd1~+ǜ3őf3Ws_FN:A$t+oORJD|-Yt~n|qlzQk !x8)A*PttmX_4b6C(‚-E @SGS,/~jڌ(uu/a0~0Q{݃CQw2.9D dG<Uum ݁gҭb.Obnn.c71&dU`T6 |LZ†K)ؙ:Tc23*u>޻ z{pxm-`=kwWux[xnO_ʴ5tfXM-x}r0:a6] WV 0~L8Q"F3#y@]a~a(EB DAsV Wk@5T U: e##gxG,Cv;>|>0K\sba0 blG #ž\ʧ|YsM;O;*O܁;ӇvOeQaO1#Uhlix N(̹4HRͺc&jex%aV#x%Wv8ɜq&c*vN 0^щY$8wUq?|\>OAC >~@~pM;,S˶ /3\2UZ/9wiŬvp>?onB/l7>M&~2dZxA | n^7ե OSv~mւP*'̮)Sjiu]:RN]iP|Ć8aK糛*"g~jyB 6@Bp}#Kœ mb),Ԝʦ65l=}-#kVt~4ݭŜ90O =踃Oǖ&;: hs@q)v=Ɵ?b郱GuCk *e9yFJP}>40w1] Bߢ"G' 0lHcOt! h4i-i ``KRi;wslU1gC%h@?5ځ|apL}9!jFN1,JC>Lz?Pshvlx=\L5^#Ss\Om11XSscbRMcd>՝x|"=_vP\&ڑ?uô>wNiBnhӫ,fqVYdʮCw2X0lN,6Σ-k_l=VjVY@B' Pp0֪"$7"= Q>8א .-}z֙ i.ҐafX >- 1 `I tPԞpHH/",@3)#.<A\FyiJZ+ZIAb$x §y@̈A+ FK?2-ZJ@+}բ3 \}.`ޡy.6D}E#jhwvT):zⰕ ⒆ŖxX*Cx\]F,T8sjhKht dh-8RbQ*XWq33)쉆XamRRQBVXf{0[/+.Z&>c5[ .mИwc"錱Ѿe2EmHFўpsI sJq&Lns۪0I^a PfZ´=)B+nb?O#EwkxlW+MBdAA;?ey_Y20LWK)'k`(#+adJ6\\"c)u <u /T@#?]@4H!EZ/A~(s89.N`a@_4~~~~vwӈC a6]N ~0.ߏN}ݧ(> E@7L Ui68!C@6#5&p<%.ل2X>:Co_pv8`aUBƏmY 6x=$iƀqrmqnF" 8iG!@H}ү ߹7#2Ss(@pI4~.C~`S+iXTy2{YbU CAw &'QCb9bWg /CSţ!J$rsSv;uWa)J9WXGꯃ1ah.܎fYߊ#?yȤj,69ʮ[5:ҽ9K #2ޟ=8䖃&bp31k̴Rh#_uDkAxIr45b'< qM]cduݻ|t]U9ms0qk.DﴱACõrTlA$ N2xBeF/Zy:_ ʏo4^𜤞sxvUb:},{Μ3y?k֓-_WW*埃Uϯ_2ݬ:?~8{ŋtÁ|A᭐\㲢J*v$zsP"`_um:{mɴYL'LXc8c#8yFir! {KS;oy Bi%zfeFamVzz\v|)' yZivb4>OwKM56i5YvQcٻcZ;xj~hjOH_:$sRDsK{kT}xҢ{̒u9=?փ4c{ ~vScj@' WsT)U$6ӜJL&ԴiI̦#e#'qV U CN¹oD_fa2Ծ~$}Suj8%Q7쏱2XVʷc$ԋ+Efb4(uWplṽ4!9c\/ }O#wƀD몤h meXIzKY;@Zx (oWV?4XC6טUq`Q1E~1X:j}/AK;kLtV_]v3L?4U|O#JGWBO(6gdPVVtTaPaQSDʣ[8j Ձ)@?|\]%Wd.2H&I+`x0SҖumuSoNR$*V`4-YvuL6Ѧ|_)d8~և$Pu%pig d*`D:ޤjpU m,-΍`WIB55l᳿w>zpMY`RO-NȋMg!ۊ@`Q$sHptl9m]^ԧk6j?t!@(jno(Fػ)UaWNY.%kǵ?֗ j[qNnJ[ 2̖^ `4%"lufS^fFm.2|P}n#-}kG[;Tx~h=!Efx.~= \6J&LcNOIzD?d*J~~sx̓fX '{FÉ5S GinѡUħmFqLkeb1ٶg H!SG1 Se2t\͗EeQ@Ź2"N)0Y:kTnd$4j]Xe~6&iZkKퟶOY7 oF7Srigp+Y [hJSNLiϝN"8@v.ONn<0aVb_hX$S :%,2qDYʪO?p$U3j0뫦nӇc _s[Bo8[9Pe*ߌ QNKfawN5t,IdcP~Oxh>:0u^ a}$6ŷT4$u]VW ;t՘#-ICpt˴1!aY+(_;9qgB0 -&٬۰3mU AFVvԍA7nae) 2f+/ Cc:é%Bk4ˀ@klGI D& V3Up2Ot1~f=A`W4еG5fD.̀:>YF,DjWf7'_'YXF87^˚!I%$#F^f?O jw91vby%0j͚nEdG4sk-ղի573{V-{Ju%_OɤTY(cc~3)+gJ#9N4%[If$ӄOI6b G`MX"u Oޞ oM:q_ !;:ПT~om",b_>$6a+2X+*~zooIY'`7%lO}%Δ6٣ܪXJb//hL ;,҉|=?-M‡MCc]aďz#jE|=ajIYGj]4Z1㵻̡2EM55{"Ϟ~yP~z;&aԄ훱Gѹ68,v#sj>Oh7ې~n֊G{Ra/ 3UYeS&L^(o7{_,雱1Y/R?:簙߂}Jtx"$c:ч C 68;R4 E(L-б{anDr$-BcyJ^ϖ:%ctHw;[C4$>iM9]f<_4JdA4Vc* ݎԫŲ^WSh#6S#]fÇ2V"Iuv5lȽh|E[^!P=xkTT_v܎`)ro[2> ޖ҇$1f!a<㡧·f5Co5?^rZ1& `ΏɠNb yEHϑzHԵ.aցLUB^ƈQ{9{ͤrKnl Cv Yͬl!/[^WITRT)=>Ըs`,L>?:'3XRh%'} Ҽ$׳!`$e|d ˯1ZTk; hdD3;t8[-^?l:7/s%c)վdy81eU8O3wi~ 2I>zSӢzS-))YedqUOi} H}Xe7S2bVsߖu"rI R 1үwo0\}W|-(^al,b7@>>ܒByltnOdgIjPk%Sc 'M񰂷Zʉ;34GpA%`75p:GV3dhs\66 :fd9%'@{,r$MlYOx<=B"=v ~ơ=agviwոRg5kSy;< po[9F6zL707,>λ:Zh{ Ί>=Vj OBE{W_߲mL4h҄#-¿́g@1+];=*oojG,7MrEv֪jE'hq hvPlVÆzaI;Btn#D9kbώ'c|>mⶲN!t^QR|=sљS0nosAocLn 3_ʞPl4\`uȾ WQ~> s3q>4zk2̶̚ p ?:tĒ@q|6TmkZU@2],Ch9 3(hc)茇Xy߇sI/uusObУx{]ե5}6RIows0~ YwF$oĘ ȒD'@ ){gΡ0mW+?Z }syeb*Vk6bL԰=:ET20jugt{*m:S Ek^cVO`ٹ֑UNA$h Ȍ-0bH[VgɊ==/L}d~L3aɅ뿱sN#Attns{Cw4t7m@| V oX]3t*Ǿ#qr=N4wtYm+u*1!V[gqTJ54I{\u??|Tlv]Gl?`nYc{*9u2v!D#boh̰w՝QW$i5"d;!h68lM3Bn?LN3r{MҽH73utH)ZPHa}eyJ ϤлQ;Nq,Ԁqw<$= BHL?jSy&pb9R]M*CQxK]Ws;? Wc!poi>) E`ç{ӆjg.xD$L8/k$o?xV‡t-a1#M%ߑ^v"8۽>)i2cO/˷˛=ls̫f hl#\epB(>]/HrLB.]C3?s>xi<ԑ`"y^D:Oo6#F+ g$pJn2eV ;U|-GPld*`!H(MkfGA4 {p \zO4sAO=[qB#0p[.6Yj/F?Wjޓ1h~Y٘C/?8ofƏ ASh}v{}L&;=<0x=bjwTK[h'! ԻR0J[8NJIS"? db~f !j_)-˴UGxL1wRՓthfeMY|=_Gb8"[+t<Ɋ3+x,pB9gVzI =j6Vr=c3@ߎ!WnLT01בֿySa4_Il4}s:psmğxa =L݃qvuh-7{GYl4-kCA!s4EL]6{pb)[=R+Jg حri5r X׾%BѩPJ'l+ɛjӜLzݓ ύ!~uΞa{ڼqK{O9 -ezIm]е嶦G1.VTcEn>ؠרGu.ӏo*S le|eU̦?EO|ErZQ%jOPKɮ?ޔ*WYEU-zyUB% 0dOb>c9t%ub>nXǗ3KbiϬ\xWF4*$Ĩ{;}x%xI^̧=>y'i|-Llfq<})99_wZ Ӻ`jW6iQw۞%|5u-v՚5N-g8ζl CiN'Ө}K3:p*P!45ƹJ=mW5+C\zEkbbȡ"0< 9 2Fi}:AE*we̢SsK Pe08'pбXܣޞ{c6pC5FLnofzDjK_z+љ89PۮHr:L)1#V](W| 'cQ|gk5g]M ^.}3D`]NG,K~jR"Ɵ sB]]p|Q xeKܢvFzIM:t!j ypg"g /92R<*2q/lc~ݦ xgixV81h0oOb㵢ןj$ta ( G^X֫+䅦hHqC5_:|eC 1S4_'E[VHYL (mqh>=q= Z3@*(Qs-}I:lVi]`۬?WͪoН}kڑ7%;C `xU{Z#(X9v2,d3oA$'kGA$J]Yu2eyWj[_iz<-Z Hƽ'>(HǑNܪk {rqdۓ2@ #]๨&w;z'OKytS6ZRwNkfvhJX Og_R`%z& nKy KcaA %7.( ~IWlاZ1BN6-sS]vPSV7rD!J8PbHj+iUWs{^\ zG0@?^5U#w`x3}l,:X%w6&9?!=} NZd_ t}'6ENP]Jy>xt٩+ӱ?9,`({8ɪP칦qp]wnt-'CdKC?1uC,W;uǕ݊8GTf۲ST{jNmݶrtɶ.VƙCAʽ#"|q0/o&JBWȑ֜sܭ]}?ri1՚8`8JQoH͢ =\_u3ֽ5jp+ 74 әs3Q<әyk:kix<2}Y<:sж6FlO^,P/ :"S/[ZɰsΜaHO|0 Wi;ƕ-;!NQ6t 4踸-fu1r˻'^ѦiriiіA9uʭ,Gՙ%]m)şjOHpѽYVUackWzGKzx0~/ ^[جSem#FTO>Oۏ s{vj'ͨw`/* YEAeY y:k;bz:|. Y(z8_mu^zՖ1nݟYK;Yb$ r0gH51w@fJ#r/:ey/NeJd&s!gbRщrXzy^(؁\ DA^%N*eLʳ:# :Vcyn;:?g2NicR)#x(:Fjoqܝr"CgDwq1_.m^u~m+9h$(,~DuJFqP `w~k^P5Lj19ݲ@վWޣʿ gp*j^V,_ ̜fn &1O 5VT:7&mөZ+C@w<T 6ڷc=[gYp۞qaM'p1;OmHRr1M(,$ #6P8K= O/Sֳ2qMeޜЈM[l8/C܎4 K~Z7z65%pˮ(C+B8WUyid/tF&sQɓ#ȬA /g o=UGIE:BDv ?ӽ?= ݽ=µtO>={GLD wezlJT>Kjd22^ tz> H诳u홁gI h] p\_a~%,e'Yye"e۠'냖'FɪBS<oݡB]lk*Ѥ'o@'Dkퟓvw;XxQ&s hztuno?[V6qC9.kWO] nGpkBcNRsZcu;;6s ]ԧ~n3|ٖ,f y}6h4J0歠_f6~oö~^n7 +a+XFT!ᛜ(q>ʏq4.6wk;"e©D(6-E3A=z, G*ۻ6 ɮYl:bEp l|]" _B(8s늭^~IʪJ7,tάDQA=jaWAc' T?>La#-C.+MBo&'z:[g+5߬@ cwf^0LMVYt~6hJE,S!:m=ˢ¹ W$C4kF^o\rз[]>UL\bA>̖ͬuڕ㭩ZKLފƤb}XH'UFp; ;E˳Ӓ֊aۅӞ@@mm{@6(sh[E 2fxFME;#QYiBXA9g.hl{LqƓz~=jzrED 䰾9ju>gNUS)(qg]p!z}..]|hJ$mE~z-1lsׇͣmz~䠹*= |ێh/'/c6F9 ZlE.c:BT:ȧ|ف0xr%p&k9kg<NU04 [4>YvR9I[Llz2ͺYK$6CV>f3Դ=Dr1#n<qdS|7CuТ܃^cN:fb=,W]w~]b4L(cMFFF_cî~ %p}}}?"16i84ЯgdžebH3i9g>!X_n^wr?ϷiSh nx&9 {;қ{.vꕢ %gFkUekuHMHE)[YE{T[Ij@$! 3*ȤBoe%/pu`o;zʣ_5#G-pb<] GTS*IbJl4H^/.#q8 :ݜ6.2ҍh3qmDs2iLo|nʢH>P uy +m]Y8_pxDBDz:|@B!w[pSP/ ,ԭy Du&~ \(ٜkn;=z6TWj"^yIЗZWQ@<8b]žn X&3pi;SJR4YѺY&hU [y}3=phx]7l|w"Ҟ7s5x^Ȧb'adH):6s ^>yܻ5~]-[\v8]%}E#^etFͷA Gq ߛEv`[!/OPey*/C6,5 ζ}?saXIUR? GLcd SF&F&s\.١09_P ͲD1avxsbd >ik^"[귴tg[hjoW+)TyHP+g}OnKzqt:_@~f A[':[A籗掣|.ߚg)o;ζd_FcrՓwB\|{q!ʶQ0Y 9 3};/5U5=v,keSfpUuJ7D@yiìt#o qV>%"f"B Eô}j.8?xѢ ,qճ 3KS'?S\APÃ$y€<疞\>&=δROüG  ;Ѩj.~bݴ|nlUruJUonVn|I2 +Q |'gS5(+cxJcO=UsBUL {EBsBdaq>|b2(TX t*BӺ0Ct61SvLg"jv2^ F6{v}I}$eԓ{FLԏ*9_2NjƚPW74t'e,=K/ψ'f7I/Icgi=.&G6 JxC29<|/$~;exS~ؕ$=Ge4HvV+; ϥ0Gۏ/(E+IMҀ`KDJ>׼8F HeE+dIݶ׷E,}봍f$.̴#ꉒ@p)2~N"fVU ń$. =߇GDnJ~ IPK]'Ǵ寳rXMnI5gAɛjA[tB0!^|`4aQ+Lm^}zf(h8L^xH%&=d2b!2|ncL y6]?X,D-@V"^eY5sZ 9\Ύ3{{ޗo){8ۆK?K6A40mtI $`ke#/$n=(47bvTj{AB߹Elːٖ]Ϙb1_tO}ǻ>ɬGvcϸ93ܥ>ik=r% -uPlWMo[ рcDz _POG#Fײ۞/ O_š*:'9_o-+]CBʷ;z3@vͧ9W720 8 OJ]{[靫ֶ-Um1`t[yW5.ٗT6[6|YS%y_G|W=Vh#"MF 3ܲDsYGw$(JFO7ktRz-RI[*y:1zz%s,YaNBPR82&m,'j5rvy'+jP)&"g`mv6<]/'{? 쬠-6q*+"O3lO(GF{i]kq2<_Ёtr"ˈ7$5Uρn1V+(rPI2ez(++  -ߑhc?8Z- DH}J$eYN OMĨx g 2w:[WcMu~J=e-zP,0n_Fjoya&'ɭ/#ʽ=x|n,%g/nG *;Xk-7띺^\v׸nyMYxCD3k5m_ae]*!^Yo'aSe?O_~Ӌvl?~͌(Cx{ž`Gt]fv{ǧ$~YT|fۊzfJ77/4IT&I'K(jgqMt7 a#Cd8@<&2h˓A/z0 |'Ct5j\ڊbKMPp`WēĠ\Ƈ !C~Χ{Pi+z\{EY&J*Ie_Η*Ol&UȆeDpܹ(򷅨?er'.hLؒ۷ΧU*ˀ}<Ɗ6H>65[ *GQhο?8'aq)d6rG>d:Z .EV%}.ζbEήw*ssqMqxæ܍c}UAbf9JyC&np:?c= Ǻ–BG ڤ?/wIV$y' -I]+ӆ˷hp,3[vQ';$G[!@ju<ُLG3b-4Zؖ?˄?;|&O-qi[څ{UgƇ߻y?{O45D'N==M$;zcu!"kq]'RaU"}GʤSk!. Aq ȡ/i=rځREz $<@_J"h;f]h Q֠N_AUcrH})tXy ~5JOe \2VNa;~~d(\?MHչon~տ7L]\ΩTP}/N8cw<y|B j^/IP紲c.}7xq}]L\y>_.+aNx]pJqk"7ܧaWI|L_%= A<擸ok{|tB[XVSA/ϓ$~ԝ{S ƌ~~l% 3E^/~_FTp; ?_ܥ7_x5mIm{n؍V x! = ?FSX1K>`Na.R7f c~L*4uvvaaF瀆rrQ?2>? [q;C@hn7vs4tIڝݏ ~Ѻ;=kҽPr74*{xqظ`TN QR7 JD²!hjdd2J36+XTy.f@j E`p0QF4.V\0=$v̆i=_x{z9 X>J0Qr71?a>Ҋ] ~x>HʘL^Z8dQ=?EC]DGIX_$ofY4gagѢc[~ 8~]vdQ O 04~O8l߅H3f}ًT܀q,kG/wD`X'hˎ1VLC-i)@G cnyGS'}O' `s`afϓ4'zB\C'S _d1o' RJ,^qrBSS\\ExK f2Tr}鯶[T*[xVF%YR bU*5G:PmƸϥc405VF9N꠼V 3*Jt~ W wDYl.Ic:(vj$8`ibS ",C/LC)?ɜQX^jtq~ҙNJ?鮷=,V& d'[!-|u_/Z}s_!0ULzϒ3OOTd^l$1M֠qLKN 2r!"͕iĹlOlPbunJ]iŸ:[ m;ViZcRDX3<,p0T GУƷ"ߟc I1< lĺCޭTs?j::[WwQg}@wv/K>/Lsh1tiIGt\'b0Ή:X77p 3#$vL?*o 4;~qđ[;dC?i4|+sqS1^/fk0:/Aޑ 45_\XוCtP~NڼWNK{vzu=[pLf\f#6/{#b*7ˊD.v?hiƦ\ МwY 0~g=c?y(0;$O#VۅC`?pV^yVw|V0arz9,E†14㉚e'E@g!? -~\Xt^D/Z /1#c)"]!Ε'D)! <2t-v fj>k}G$U{!#׬;j/c&*wELI7[uYsTm. M,Ko8N^aR2r:6% {ɨG|pk/ԤYe@eP̡;rz%8Yr~Ytp#"H>}gƽы[X`NY0+MD[&Q0:waCY=)_Շ FY1Dr3 מsu^#>? ?ay[Yzk+D( vƯzo3 "t WerbrS%Gd1Psb^ a7#B9amED6_4UuHe5u rzBl<\io0^@- VbJ(9 1ٺZYsE\/]5%_ڙUR^/ .%e };}+o;H @jqV4VB'~yzh}b(]ew]xɞ({t-ρR'4On/>ckZ(a6/NLF~$[?pr/韯F/?>QΣbI_}?1ܼ_޼%_=L.GVy_tRVֿ"!^olca_ZvJVE:ճǷ܊W,ݳtNk>;!Z;iSuz<>cz9kbZT^w:Թ.H#1ƳtW1ºU C˙"j@¡RDYȨ3$::FR-2G?Ԁ'q~b1ĆO'5 80r62x.a,fV'h=1PtO:p9^cOfp3#\I=8f177[7![yWwϮ|^^q+fZO?wzƻ*ۦWk::P7qm=UvLOy6*yΫC*zM06y+T2"gY,म9L+"r⃉1o{{zd4j֜ɽ TuHRm } 4m-JZ{rI.7wpB$Swe"ZV% im@V3U! by9-zy&cA9~;g'G8FzsϛN.lolCЯ-x!Ĺ@)v$o`Oc 0 b'9r yv?TY=e'tU+5[1mEBVa)8"/+Nʉ QHim| 󧷷Kzh#rlU6QKB|mUto]#T7żE) ^l咊yH~ !͠ r.9pt-Nc<@ 4f2 ^ǣtKs~ ';LqmΓ/R@g%P[Jka?q1[XD#iZO~]L1Nj;@r;kH̫M\u:SeQUca xz&ΙA:ϛ 5Ob(}z {Ck"(GIoz<9hl91ڳ(:ު'Jz$2܊mkfi4yN/9ԂӿG|^먝5kEa@ C1=X'Ko,kx`o29 t$lL<Do[ 9SSCWUʳe4x?xC5>%^` 84LܵVpȱ>GjT-nb$fV~>cstH40{ӄ>k(@& uƧ~0u޽j7 : EJ@slFT8 6ոQi4ƇK,V>L^~ĭ~dt|`4RԪQEpH[5tn̙4G;` OjP0Ҟ2mu,Hr~U6 08r.6IOt2u˛5P!, :rblSi`Nz%Qfͅf|4$\Er+gvr3K~HC%x "Y`Zˌ6|fw~j%e/ -0i^_fa]я+j+$?^ΕNH^0/{\\&?읢qS$띡 ݳ8 81hVTD_[Kګ wQfs %=X>s?ɪJj|`ퟴPϗD.]@>ɻEWT )[Tref U蛴~CIej^!CeEeb^JK/^JK/k%TIKrGˁtNGu}j`~=r)߫0fQ6{٬{ >f\tR^µAGW ?/~sXb&RS+5BViTMV."֎~cr4JTx%ަ2z<{5t-T{^w:©i2.%% *K,P{DmFLOCeP=2ԐeF$.2U U,y׍1Pд0ً)׻zWՐ .%r?Ě`Ƨi>wA]1?7ύG10xpLԜ,xd3pK6'fh#(" Ρ:)ZNsmu{L~}6l2uMWA:F5z2.\$~EC9WM:5@ÃFD8G13'gb:zu\,RiRǝ1g1ʷdPy[. <+$v'xŴD$b Lsya$pHڬ%VOgcÓ*۶QYgA-kF-" pU%5wQ>YY6C0m7@!3"7Yяgaғ{O$J{E9eRPYLI:oӝDby:&`LzlyN@@ <몏ӆPKQZM&b]5ѦfԽ-{ 0Ƨb ϔmkNKӠ=SPMUxZỶc#Jv{:6}J-\# 8O{UskhqAr@iRo%D  SvΣī !Ƹ p7ⓑ:7oQ[`==Nxe,;H=vXj ZnIϲAC(+ŭQmH&n|PF5*=Z`hI0C94i'>S|w5 %y(鰻J%$s4zQ3Nm(D8Wq29eޢچ\ "b'N+ul}5aN: FHKl([0LΑYb G~R!ptE T@ W^y{(;u~4c.YsP9{hb}*LTk]!,q+~t?LzQa A7?د? sxۄx1ia/i H >YgD Rvl|ZAAit=г<&vO6qk&ypSH'Yep;PøIԅaI%|'##,1@b.kAw'U{a", Ng-p4w ܹkSw@iF䃘ne(xIJ(e -$`9+fRDc'aXȦ~U_JWXv9c;a$߇w:ˁ%v򆛸 ix1;h“Y04bFghrFԄN P@iiR7`Ѥ&yN˯~wpQ"I{c}O|h;b\Ce{u M-p3ZeQM&7I ˻K*ibG_Wb\: ~&e%c.״GfìˎQ~D/q"p[^a*:#iSz5;"Xl<;ڎf/%<@ѳbaFλ<[rh$[]6y}V]" \F/D?:ZZȱ}Sy'7Ya Ȼf\B:*m5q'2Lf\QՅPnSP^ ӻczp$E -gإ77 لScIpl R:f4uA'Y"k_ …?p~sȅA{P{%G:Ώ5a_C rG#fV}Ԇy:̑0P+Emdn !s2ɟ}~sƝ;<B3Ɨ ~{.c| hY QrmTR} 0[5qnٻg"pFlΆ6ظ^@ɪ]$tL!tJ%ro$+i'=SE~C6[Z$R9k)C/LH /lb,si4?>Ks~嬃oBEU|-˟"#q(ë R q'WiQnD1xܡAYpUC?m {M"T"wVAC~9K^tRuץ+-0m3vxK'qV׿-yYˌy6/bZ}sv-{L,Լw-E8`fĹ)Q>aPܲyV=1pSR䎮4h^nj{Amk;mrv\vM.&;ODq!5t( ov *:ŧ=G9Xg̋] 8땩P^~p+uA^1;U`y 3[f &it-8AZ:ݬ{|A%]$|J8~_E3}HFeA f݊[?l j ^ 1S˵)L&W`cQN(T`BD m+K *% *-"SmivG7j"SVb.qU"NBfڑ,Q/ܿߢ0apzH!g8NH2;My6msKbyK`"%L?Uѿ&Rji4cP|@߿yzXd-MjNQt :aLh4^ϡUБ[z,L#=8o^YQzG7J^ޛ< h]ˮ.S̻YxywNDn[ua*3l Lxfc:֬TNem40ru&dQfFNcr30Rxq#A_J.Qh&BMjƵ Urdxprx>h kPjViZP%,l [ud}> BZoD?OI*=5l,JHh ŭu+H!B+"(8O|5T}?svBt:OW?^doHtlWIX45:\Ws}GwL>'dido+#hBJE&,=`#|7.u_FԿ`y`GvZgiK+nT}|+/dOhN/}$3c:xKW{=Ls#A/@dl H]<`&$۳ġR_Ť!/ CNRlf;N\KSRM2 |$Kݻ7KխtzG఼uӽ8>}b\=D>?JįV^P]\cU" Sz\!vԦC%3 :i T?|ңïzs#`b YhO)=8H6ك)NqBM>Gw-  kÓ}2?6i>KgQ Cj- w$-Lz(e~6?agVQrN}%h9,fK)lOx7|s]%l'4vX"j`I@Uza".`?hƁI[Efh?i3i>u~"a3qu4.%FKWD?h=%tBEK):X􌊊 @'$yƫp&{Nټ5cjy͜1xjp}X]j5ZLb$ҳ.;`IRNŦ7|)͂`rtp 8A7:xX!ytp%eWTD/6B&r= Uݹ OnմL +^,nиr(Hb+L=W>j!j`x]S{p1ړR]̼p:e{#ئ~t"( F].,']LTDDN8V> x+jHsz1BzF*xЄYϪۆ5ڄnvq8]Xeg6FyMʞOSQ nTV;OS!XՆJk"4ޘY8~>Lnn 7GwFWE^>(rLltpȕF@c=a{|0pxrpPp4|,9ol;FδLn?,0wl|WBk=̂GrapN 5KFuv!NI֫1^ 3؏ͩ]Y E[r='wU4@q2Nāfy$DK@hc 8[c88Fӑ]M @u8 Ut@dz^ksw "@߻Wm7 Ʉïes0I]%+JꄦLR\R۰~R%W`9U\UR J/$90W=OUNuwsHXi f$:Q6_z| xxOPa9%baLrHapfW۵.ԑ0O&<}Q2Jl`JW|# ZΥCg詾n꙽dfnĿTHg&"-?Jz#AAgicKwD1e!:u~]^V3g5j%1=rϳ2s& 0[ bmh90ޏ[Y!}_6ilx /.JS * L騯ԭ4X Mz.WK+DF8%]H,u25JZ/mVE]ҡH}:ZM5X|к{ˋ0QSI,$Ạ!XwKF Jl'k݆p~-33Rͅ+3hj>"9ypn4r2|ƽIUWunun'WpݰhJmGqd{q]79I&Ϭ~6>qSp/KPzR̭+tpGŷΓt/ ruNrΙpb+L=LcJyqhKWm_t.n6qwXmօ1;{zQ;[Oyf? /ظw`gYg:RgAyF.g:\۷N~\,C 6ZER9;d (A稐FVVg]MzUd*=:8TΒ/2f=L2,LUΎ9GB8>-iN57𲭶Nŏ;RKNTzrNBh\e%$Ȕâvݷ ITgteT٠͒Fh:}~k2>*JӓЌEd"f!/uJC=8a(i' [cO>ē̃тoze/.ъ.9776o!?~ȩy\q ](G,p =/zWDkw51fL!93YH}XJ+%DGm)?S4l2nFuwg£<*GT X_r0H]#̺wyGFD;hkܽcKTvE!5 e#{|wъ t!#n|h =Qk{G*ԣř;Yt̙e=fTic L 5_ -A2IתC^1+CIQ~\xYLt\.fALL}YvX,CF MeiVK|d3I|F9#l-q%8-o`t֨  4T8>?bj}V A^:jkD<V?YbeGa(2cC85 Ty|+Ic2NDF`p }gLY/PDiv]զj/- q‹{iE_c:3ؘ`vP-P-Wc9:XMLa#Q8FgLZ;u ko^ &q&)WCVn5qtֲYbZZMhT M΃L@LonymA/W_(Q֠(G {+l28b ZNeAԬҴ ,ۉ7#u: ZmYe̅`j@;@p׳rl; آ84 P):c,1/~ӫ֪+} #jgl+`ocy>:Ez=_Ͳ0ps{sjLiy֜GWiWi?1ӥ3yUa7\rN@d;k[BpUA~hTf:Ds3qi?P0&Hk5A,޽qZƖTǶVѐI>h#a!haEl :y(eJآ T!P#GSc9S"@N::C])ĕ$ @!fe\c ?.o.VΊ)WÖtcxP!6OU. |b1H]43S ։Ͷl%֝|Ng݇ԡҧCZ@5[kVEhKӥ=hk-V} %J0ݘMl~n2c vxmyv,MA]9ubƥEh$roWSqb}vfM7AIabf1`"B_䦿w^trIҴ OլuiVU9\;8L]u77nſ:t!Rj+pr0LbOyN1)^2!jΊma Y@DB-1ݮhMjk:8N*ʽ0 Y>5xʼ@n=T־bA\n{r}ӧ~MWHǹ2 *$'ܔ-?.,xotIު@] s ċ̴jsui>rt-Cbj)?mkPV!1?ggKO#pR)6.vzN}CfTO|;¿Cө)zhl?2>ga-0-b>ѵ@vT#PœTpKؠ~!NxHb*xtp2;+b?zqml=U2{V$o+Yd,\岔Gg;g#b`?p\[eNP\w=<'jX$/wxo4 #j|?Od/?aaz|ٞkx%w?l9SaXI--a+D|fe@o-&!6t?01$`HFxN) ԽI/U;%{}0[LޖJBqly;g8W@RnE,[R!:`aڎXx|Lg-{Brxz㈥gIjD!?&q됈JQęr%:OtfDL ˞$TN8"A1aLa:G >e . Qἥcr@~>8sOpdĀ&O78GYU`^ŭx-}4xEdq>([)(ty[JY%Kްf9uF1}404}YKV;VW֫H%\Rl+SxD+r(SɪO~DD3tŊgWUA:DNB(g1NI 7ژi2|P]rZ#']b^cb{IGXd}C}gPV]L6#롸բ‡f9Ht^UġĆ/.Y )'Qu_Qhne5an+X~3ba<_Q:OIQ L!;{j#!C:?@:_Mi*W iؔg4>Rjߪw;{+UŇWFyS뒖L|&*'\s h+,ьj!ZOpT+޺.Ҙ~U_֣͒'VsGܚ/ɆkWԘ~`3G)/~ux0tJbt]"#h8yzC̓rqf9&4@lq,nz yU `s_C#ʋ{98񱨪D긑e,sazFzDUjtР\v|ZIIVq} ,# a VE_#D µٷJF_4"l,~·1yqOqm' jJ{'?oC4P9a@4 `wZ*9CR!eLNCM9#xdQ)Tڜ2Xqn>Y.!odh7 ϒfGotV죋0 dyC鴺8qus9?=Vzx#=GG:s^.+u6YIXsEeWhCQ0U_1d"^ 3Qn8i'7; A kG6BPoԍ橩 s1RCOQJ̞NG/߽eG6z/RDjJq ylUgЈڡ!J.qEl/q+^x;C).&q16g"`ǔǒA(H* , $IGX,5ǣe!q#S ~!0kr(/Y-dDOn}E8Ӄi< iīP~]wkeR A$ @2 2O]vOq]5pҿHlhP/9H msm AS4f}ȐkYb.Xv-w ;$/G{Nmbu\l(0w9U}8Wvf2o YeQΪwYUzg1s%uP%[)!aO9{ j a=} oFm}&GS<|+Eti6#uG1M|A~Z7$ALĀNuI|S/rDfUAկAtNm[9(aֈ35"&)SAl|+aۮT2 %t'XAL !y'57YgFϱv侤X9W0Hq|Dux ˨ȣsec2t2H*׊Ni0y$odZ!Z#6>p'#w5bLT?4V _1xQbmMhbt{ iGx7Ӵ I Z;`\O"? ae 0 ?f*<'6]2 c;D@1(zFq`~&o|~ ɖS@6[8>=&q?Uv8S;m}e.҂ߨY<dlm'sv(CVa; _w?˷_I)Ps8;8u〙ـ8?[_b/#Y~fV~O ,r@Yd|?* *1#j6E͒Q=kJ3JYh#>;#j$\/h̓X J^XLcɗa-6N]}skhr#v;4;RC"稿ڡzQ?]# s.=ljGri$@ zIsXn)#j/:*-HHK"_>ׅ.SZ찕7Pc?Ȃ;-$jVZA&773+YҼ4܄ w>f$^gn XLPkzmwq$# g1҂n1 E )d@k.|0M/sE!1z2VLY֣wͮrg4Wojw&YdzF+c2%.^cr0a|tA̔ XȔ ń1йN;Eg f,>`}3'$dY#u>PpBT sͅ"c SIHZfk;ͥ=  m>֬v> ^QYp ~9 6 ʋrWHdcMQ\ҹk9O{);JZA$ >a=R"VK{U@5b̰nX H^ 1 pJAS2kdC[ҳ7Cg[ʧ);88P5KHyjF5SřȞЮdTֻtaYmVs=ZA#rȳ0=mCF\)h?F &{,vZ(ut9\ϗf{˩ eFFvHԛ5ɖ͒bFHfkrZ0?53E213Œo$a?ӯ Wȓ؅Nvuɐv+8Kg<νcNLACK>(A´.hv?h'9Ghu97_5߭]cY T6[@>Hj DwUL*YpاW& 9uDZ)Sߣ$?u#ČR/ s* 4KEvTe.%vfpMjZ)RVZ&+).B>GH* װw h> ^LVWll fc=6Xu^$>eoU1lQW9Xdev$]/n#Q.C0 |Gk>w%#Ldulp՘'YQvY. ͫ<|L[1-u:W무˝^"wZ35O>|8qE,((*g,]p 8eb:ԆGtZ^"KGlt Kr-IRQᵢ]dʥG\#/ܹ亐DK1y;**(VJfi853PJD`A HP#yG$_6r%:[7[1NS([/ϴ1[cL$!F3`K368 q"5m"-kXJ ̨0AϠleA9*<]С|ʷdvt޼nU(m*:ܥZ@!aAGo<3s5>5͜b ۣ)ޭ+S.^bz$<:o=1(+y̬o :3';_)k~scCX?퇤8"mY3!f?$ dm#1Ù6DܧNvnղcJ~[$*sheH||.O/榼U^p/јts5V@ A Л `ӫ9*[1ڴHCb:wVny2IL4K$>$e}o>= 咎AH4Am҂jx~Wοcc~LAoBW xw{빦z_SܢCpj6#)z#S]+|5^ dp7Ʋ5p}cz~D纘nx Dޤ碫aFOުCKޥ4+IX_@HaN/p_2p ib8MDkxqYPޖ- 5w~ OwsTGyj6qQ}^ "!*VP pKxv@ͣa0k̓a+v7ƔMPUא2R"'N5pJ$]1f}zɉN%j {tv4oǐÛ'uM'o/Y㝶nF"3O5k8_+GaN}+G AtW0Ć`OX7^w24cj"1zh^RW'I>ʮx ܾ\L+*vqWy=PM#IT%iy<:ukN1~!hZ⚑kx&?(r:Ygŏ'dolf gl ."=EB`~O whB/nhaX4Qi.k4!]J; LS\x`N-%k{<>iBiu]{!_̬Gu B}hNC3]吮X`-gfNo^;vG2[U{EW֯uQV}A [_^z(1 "{.ӳtۑoBM D_m]:TbOgjhhwv|Ò5!m3*\gY3y`tӿf4ft{PYQ=c/k:I<{|0|t}?;w>zpjwٟ ;?kڴY θ;C^۽2Aw5PXKi3 B+Վ&M:Pzxt%޽7qw Pd"X3{wn޽yw~) ='fIAj͋S  zYiN #־M7/~~}֗Uyd'9N%1ήj(/Y%>K;yľ!‰:[`_fJKss!P]" vJkY+֩/s]J.Ut~^q3f(JJ^1A+F mwki"Il`TIQX÷hWB eJ rco^ Un!j tNvvɚ*E̩@/xcY8IOFY\)VxdN,ݒEupY/ޯN,aD GȒwT{'~<<;c48Σw'z«4)XkOD(ZuyWS ~Z#2Xw946`tW$r fa'kWp]߆µcKt[7-8(v4 S Xx^C w_@vT(_F.}jUtiaY2հؚW3A-;qks gaU݄|G+G:T}t%X/;:lI"TVԫN46$Lw2m35jȝ=SqJQʃ{NIUW'H낤.iU|Ե}} ;8O2T>ě}f݊x> z/{xمmrBl#4gOy$I/ZYnnNlcR{B6Tm!; 3y)q ^9"]H2DJIB dE\\hc5C׽{0̂Ff!y;[O2FTÎ?l@cujހ0|Q{~O[وQ OgmY-:aEJnWq?OxK8vCb=`q3#? [=owi oa$~ׯl%?+:cGk[{iē*3I z#wO]S̈́Domo.)d;\z"NU !OKo&R;BkAiJno[si׼MN^OԚ|'|D!<!Mc3|){5$:~{,12|Ac@a/M(4Rʼn>~ˢs4WQ֤^%Z3(y[n3(H]̑~,7V$N Pp21+S{&)5h_i1t%w3;-1bˋt_iwESSxF-.N099\\ o6^%5mGSc6iۗ^=vPO>_՘_ӷwQUMM\,]$53Vؼ _Dwap8D"{|} C1V)hlgO |Jαlk.b4 Izl&F!P3?m=A~rg650!jO8)Hiwiq<~'vTn炫wAMϿceqqqL[Gx p^Fuya+/ӴBsoժ nJGъ48 ҅'Z{Ϟ0.=IF'ׁtb.kkVƓr;~ N3Oe3]JbѽZ 0>$8it\͗u_R8G݊C4$ltXteQTBm]ȄBؙ~^lqɢa|ٻ.V38"x@ 8?Ѭiu ze/[Sl<~|V[z5i~i6 {SVj=4Cac%8){4cfa"=hɮ+&xEi.Ƃ::BGMʷeUN 餝KOM]ap$D~1`[/&9-)ѿ:ٝO\l  v"ΏȊbcn"+h !M+p{̶iUټe=M-QW?+$$ĩ.xcJ~w;b CP%g|J;Q*>lge{Hmz[1||6b7&"֫T{brqHe#` g,C.k $77H}!VD J?Sw1Q ƝƭtKާ܀Hܩ?-'BU ć?eC6 $>z"p{T# [†臻 ]|7_{tAl>4GkjG򽽔FVœ'KC7M8D>;vR#S+^3W7Mr+WAڷ>=6m'r"գ4@'Q@;3U`1+^~wZ83Sg`#\WJ'Hl;ÏQ+nW8%җ[:sd=zxy8NZUdMSZUQqZ"ՙ3̬`:3>]jW ;D hhgРG JP)$Hq1+I| $紶^MAkrGIm.$1q([d_C zεQ7>ܐGa2 rmemukqۙgUR eeݬ}4[r>܉M?o#9֏M=Mt-,"C0Nnŭ8h k<^(GCV|4WzT&~?+ǧ/ը#$ -Hq]s =8 \ڞ֡{ YaOI 6 Y^SԒt-TǛshyhshNl=>e6ڷH5z̛VlpBh>L^ge]ۀo=J~P#2G括Wor8# G˲Z2ǡ҇ɡk|(mgV/j/>;)Fq?dlL`6^CTMnZţq~(S|4d^s24iRdbI--\F'~ux0E *)i糦]$ZnCN>'Ҥ|x֕I|#SPjhù*ՋȌ}-N\sv; SOW<N0Ĵ6f"AIeٲ/g&pgcQ7dK7'0!?=toTtEE Z.j4K|N'PJgmmK:־S |TTl[_dgE@k~0xIa;h1g>)JToorYmգCw4mkp;tJc NknP%@Z]H>bx|`ȓxܚ6Pj_7Ƿ$f#ː4-j#9 ]UGK sXܻwJ58ECh)c,r3]L=i+^aB-ڦ-SC}RdS~uKPqnH&v bv2J\r@c q)n`5Mdf.0Z<*ͪKB_36׷?[:mHQk1L?ʏQz!?$72^rEP!282X5j6Q{d_jްaz5Ը#M6P\YQb`F|*:-Lr4Gr>e^1 8;]}1PRnn[ǮEHi}|"Qɸ^OK!Go2\,%m^f;6Be80̩G`Y{Oʠf{j*2(xIH]]5Xe"i{ >;@@fŧo߂=1(;fU]| F6b,S3ݬHҘHNW"$4H0,f9oPٌYY+ +⤏F݂ d!$ jJ7L'e" %G+{M`?/"ta:M &I~(8Zp,T5{zmثI:oPƱ1=3;/EQm9Uvd?d68]@333eZ_umx.4y)m}Uo^ JtPxw eɮf_|zX!3xCY=,-\W8Pe%@P.VSs:N|)Lk¤mnlXB ׫Bw_L ep=Ϙb])x+,g]p_@=Oty)F@TU(澆ҡ=p^o8&pDvDt{5NԚ-W7}(i@G h-Q"i["E+fd,@i% MYclQUavdz1rhôj*eq=cЩ4TF*qSNJTZyG%TdH- 6eozۆ)jWgiN)_%`ĩόWgof*73mHpB`Qpyމu&<AԹ(F ¹-eDWMax !g[[ndGTܑ煓mZ]>jeՄS.dm,WRvl\# [yHB/P;>/n[tK<3o`x%F}|0ٞB.Ce ,b[Mq:} ͵'wzy!jy_k3d )e.vsz)Z{qNK*aA[c*jΨ'q!M K'!\s[:)G I`oqEq83+޻^F7g"c/fuu炤!)PrRmP.w9L>,wC7+TMof5X":֣̏fJ{4Mwow/pƇB5K{-`[Xe Hr[ h&ٮϠߣ,ht`Bbo?[L Ҡk56 -Ьs7Tdewt[]!f 5遟3'[~i?]'Cv"K~" {菬\vӜUW`W!.Le=/f91 2AyA<޶I;bOMS.c/Vҷ| ?X(RyK4w}Y}F_~Vq.ՋlYKWlt$om()(LLDJ,{&N<3ْ+ 7eG~Uݍn̜=:;YF߻ m`Vؼd_O5v~ 4^>?,k)/Dyhu`.vL.^`rſ=(Vџf[LMyMpuiY%1tRۈ#Q=qG$L4'-K-o?>Enހhlz-TIqT`mdQak:]Ae5ȫfPa:A˱{:T-w\>١ e892s@;?HȎk|' JE8eaSZv-wTRmnMoZc9QxcƄ17 ;ش/S9gntjTPݭ.;#m3) X$0fZm) l9!EMi8kzZo$Zvn&gJٸN@Kc [7qaִp1hBnoawML}7ҍC`nId٠ Gs|?{MGJF#Ǻx]Rve j[AlBJ/Ò6kεJHbY\¸raL<'2bCiHq\`MVj+%6 a-*J\_MTVXk 9rxk7~d,7mpoBBm%rZ|^%b'DS]+חqoޓ^eW*fMd-i9+_5S ffZc-, <%$fg6 h&qѾxXC'rZP7YKþf0;FVRF+DƟ2"Ë-Θ|T1B*>hF?(j5&f"ThaN,C%؎> i}l;7xC۾!rp6M0pdA;pn6VV6nSϴȰt`p: h 'eQ+[&$CEͮދf(h`XUhJO i*ҽGJz mbJ(pDlfFSsm{SIV :h q%})x8qŲvJZ}gD:k]DDa4M60v&;,,%7zKٸ9liRFKVk5XiJ`3ncm,Tv}VE]u-ao$vHFnb :÷]a|,\VVPV֬ $T] uç C҇D Ꞙ3:$%qז5w]:uU9Lߠ8W_̰r_zn|[OGu+qh"DT=~y{-t"9tAXٲN(mo//_tzJUlċ `ms`D oF(S VP >uD8Uo0Wn|(k &ꕈ Q*2=h  ^OG(;G*ȯCn5fz5SC%R:rOw*ibjk⁳b7w C{%{5 Zr KNv;ci眵fFJ gw@ sc2,Z%:II2hqB-ۯܣ1zߜ1[p͑ǟNB)0Gh9U;. ]i/g+u#`]$9ESEW_PWcY81Ԋߏҹ@H|3qٞ|$ҏw*?"Ic¸|Q^9ȑUOަ@yע(o_e5D;C]~š K4ẬeA(^ (eYmX(+Vg~,-H󛛨4sQA6 H]kp,h |>!FxA]UN{?܍G;e;Ilb]eEv_pMm3W\m\BW>ǭx^iPvtq5 {uh14F6]zQ+l&;m Qz%T|3aQ˻Vm^;*&`Fխ7\*e(;mfSY-FL6𮀉cşȅЇ5F01*K&8 _%<u4HYpx7p эSGvѕ*bWVx @Xb9B$Myd:T>S~YT8ҁСqa_5-֞ΟƚEEkύA{^[ۯ'ݮ㗾_mfPW=vRm||kv~fIh<تW^-{?^g+'|VxpO(]XRo {r?VԚӦTIX!β%"pueF:uWY|QlІreX#Hޙa klSxRTZV3^Eb!%cm0%8>BĹdH.v?>Z?..3 \! 5a#t/?bO/_,Χ74etW'z|7*e.A׌Ct8Rk~Fcus#~b5kQb1(صÃ@Ś~`*{][9q/h7/K8dF.0r+:=e.#R0(fUI8(Iy*m2 Bap7%26ӐTczӌ1XYO?".dq$SD 9Z!H#[K.fAa+3u "BF(̢Bn_i3=e .ߎf@ 2BT#b?  { A п$gl!&U9ب;l !?IFb > -ds?믯YN{vT~ +v}ޞ8Dy%cq|\{1~!eJ  ؜ֻT`,lcY0دiail6!o"VIS#rAt LBU A_gqV;׸=M4|1+Ia[i%mCkU)ٺUIdz8JUGD#9?xKPS2W΅癙fj r eUG@D?f#CEp0_t˿j %E yjaN%2lT٥Dw)9 7Zf kZsOJiy^]~0a(m\w)a 7WNdix- &$Hԕס!0}7K-6R]"15kڨ*W0 "x4]})VY FSA~kaۿ 0Z&ydl"R s\y\9-ԇ~&|~Vp ~-`~ͫRܓeYߟʧg%[ EpE%,}B/,I`{IZŔOF$L_RD㛛ktOwfբXeTs/,)S1ĵ9mыM„W9JKZW-%JW(ImSzD&PӰ|De_QJ BʠZ8y״8} lqJ0\5Zadlo%e)]]c=N/J!](h; mf{z)N g)H؟Y6?c\.gSxa]n2߻F3v0"y"Ǭ2&K_9]X**t}Y5 = by d==`6}wzC&Ȑe1-HBh% . sT>1`\QQJXWf?GΞ#[좟gQ'wXy6Ss,N<32i؄6HPf"zX\HONGf;6,o'`/$J (:]-uخFϣ0*,IlHXmZ)DzۅQ4=jʲa"ۏ=[a:\s!\843﨣 4̾]̒5[ǧ?nnOas9tͣx8}|?:ٝ?HT> %~?N@.lc <3Q)ʟ6ץ y;k_*%XBo[M;-K+sjQ$Ho Mq僢yJTJݮ#S~|#/՚MSM6IwE,byX 38尘*pe3Kt?ͮ;kn;aJvBfOCF+D鍮%7P6ИSB~Y-u]ٛ$b}ajZ')wȦIAxub15Lo륿m`%^߉.1 1 #lqvY2(6 ZJ4̡LL -onKsdon< GDՒZmwp3)g3ߎ;';3em|kz}\:M7 c(dշ36)pDf`~yT{"@:F6^E/gⱜ+:Gb$5t\Vo5$`ȡ ߱jAڌ2W 5lyM8Y~7s =3v[l")3`<uYm+{hDc£ =  `+öVxJ7Sg}5f4}{>-᷷ieXhUS;[j5ogDX| y~ p2^6Z3m# ,߀ 0W'tΓ K7-&JD"5h9sP!3UY]z"LW1Ѱp%1g"-g?&^kcfѫ{*pPlhkefQǏvQqnLiK0H[O%2\8Kù$jX5.s dԀ?vpNXɏ/6i@MIv8}5hagI(e̡F_݌ءSDp^D;1|&,5,+SRw~1z\JF ZaaPaBp}Kh~ϊ) IN9DL(=vo*jTI+MlE, /84mL[t \JI| N+\vݙ5$VX|y{\$t˜3w%m?f&I c:/2f\/&"ƪ\̀oveyN!{ ;SG8HOE? ,"w 4.z8F4:lmч4_u|HjE>ponlj`;h A%Q[^Ów/ܼ/v sir@М(Ww'Q#*Z q#`[5 C!P=k ;PKVh_ZM׸*jbTx|G:cM J ;?~sӬ@1SUů!}}Ҏ{W af*$d-nC"WvckilTE;|A|D0&&qV&1ҕ;DUM=c,MvX±1"Z31e r*ob)QG;ή3Vd-YEmP]R&^uzƋ~ÔXd!LZGոa0àYbxxH}1b*]d8%R s õ·Vwq6[*?oNU/BV4}ƙ5{odL^OJ] 4HU!ri]D4#gNsYƨ9H,{ uG;!tTM3K* }s0!X+yksÌF:.4 QJʒaj.l{_8B'Bw%İ1ŧ"~ ץP%.Y_*{3UsJ53Z9~sL(RN{Con5f (2+Iي2.0&{ql(`\%}ƃ5^op~[TtYeHqtǨcX(>hjAR))qASV_#VPLU"DL>AmIx/uٖd%^@R9TdWfw\B J˹l/QZr#lVW.es V6==ҋ}>*YQ4X', .|2F Wloy{,ԗB$8JP`t{UZ>RLLWc er luiQ~tr:/E_5yhXfY"*~کn`&qsTz'(qܲyd*sI& ۤ6skN8"ECu|Fj&LGzQޛtaf_ۗc~rtl6f c \Єz&hqԄ[Zb(|_1=}P{UXѼR8:e8ɎVq6 רBl}UUAZ ;'W E<@v)Bf2Kij5 \*g|Ï4㛛$`vpI`4 YB60^ᴽXAGk=Vu6rʴ00,G9S'ivr{Onw6PF>sj`_G˻ t"W&6t_n5vߌiǃ}Gi~Z BuB73ph{m  MW3 6[ǿ标|edhn)Y!k(;H.4ďs[9'6sgpkkxihTRE$q!22Edծge.*&;&Ζ2'Wv9~)Of񪘇gcn~/v3975]Qّ&;U/d~+c~?惈<:N8eZ k{6{PGkuW]{0Fzއ'OO, GG1*v=o_~G<=wdt\ ⋬$@ּ=_-%]h oc @8̬xbb`ߗ(;ڞQqclU8YɓV7,8')m$!#y@%2?P4('U<I|4~>,ϔY9pթ9n5@Հe9|S &ƎCuIz}:'>0=2]g\a)׳UY2RK<8khxny(<0bL$JYc,T-ܯ[QBoo[c0Ȯu搪hKJV:\|[f`fsᨦO uj\6}' MPM*lb6-AL9* fdkKȈr״>rmh!)Bύ!?w8;lSg7q6J@{-ZAi^*;c`藋qiخ]\qMm);K{[6 b{ODߐڹ83~s40z0G\ QS|JEa] ؒgbr!ŠM .} ͞XFRdLXڧH\">}ItR:3L|%h3 EP`"f~Oi:pse|Ujbxܭ'K\_12mᵞQ|m5 .>"tܮ:w]<L>{k-8S_ϪԡT`4UCDx벒8qU⶷?jGmSACJ_XFw^ĥq\Nle'Q2;N3 Ж= ]ysJa~8R5 ^J|JV}վ,hspxޥRJ*\VV%T\ک@a2#Rox(~4 +YA=Ԡr)mJ5~qz&*YI'Mv&]}$ tcy:>8 a*S /k7k8U^~s-2/gj%w|ņ`ѴV3W*EP)zXq\].J7cr6AiFһ.JNC.xp0~%p?B ^iУzlՋaSK?vXlclDΒf/(|z\^Vl"۹$(~VP~isD kSߊ=Gno ubV p'KC,ZOL߷? #ͮO!m9skRfB Jp lW0FPVi4~NZʑJc6w(a577"qŚZU뺼вKϕaU 2) Ղ_sRW7;`,b֖N5u5bҙ*\B o[^֞[ǒ~r0І1N2Zߝ/Xt"/_ Szrw_0ЛMfO3#}^d޽:XCcV ;mem' u's&*`iMT9MNKaͱ;L,lΦwIYcg`8jYXWUҜ>]5M VbŲ`$"]((2V"{'YE].0) g/!t{:]LŅ[2/Q,i]jyipg)l"&-VX eo*jFmjA)o<fe?srFZ&g/ЮQUA{U U,_^k lm% D6:=y5͔"Tg{qޢv.mI[)a2Unoa;gŲRe/>.=rNGVZGjtS)+ˏm kcQ̭ BhRyyx= lӵ<[(ђ 12[Sn]>n~mEgt͢/ԆQaJ%b ` a3k yq%=HT. PhRPRN4{}:f)D7GSt=Pyϳd` 4dzUW#pO.2a 3D-ka^m}P5˂V黢˿pw0Ybeme9MY:`ɓgA\Q aAbrXfkfrlpQ2bk3i$۳\+|lYW3o(N~(1Z-8_HSXVt6_zc/4t1q7ܴ=,7- ?]e5v6w к͹8ג(;V/e ~o+Nda'娾*w8D?ŒI1w?8#P3o}axw|@Wtj𪑰z0pA CSB})}!`2h=;A]rfo!o)=|@Yf'fZTǾ#)$5X|G )6yl "vT{5ShLџp;+u{NۿJ]9bڻq3{j*albm1]Oi'? 3z@{p,}CUX?f6GBN԰&9g‚ JoI!iAhuX$UzheK#t<".)-Ċlm&d{6uW8g} _al|+ihY ~uy=sO3/I+:q}HHgٲ1KoFYCo|]6k4^7ƄT5f KuecLce=^]0 廴ݗ4mg `\Ԥ@=ZANpDt4WBRI}}RFK2b|j¨&)[٪1ˁwy]B⏟*_SR^Pf\(bj+\[Ҭ r8[z=~_γeάO弛^ՇDj 2YYx)m5/%OZTGOU+Gh.hf iќ;R^jtI)Ψ"qW5!B9AVZI@&<{IrCIY8nѵ%XIX3̚C8@jBs􂘭HlFcsx~wtkUʩV·JMcM`<>/qȕ1pس8eUb KGSVw: uv1LR*7o#DHɬ]rDXܐLȰņ)~/:Cy+*uJ4ƪW$6 FzvmE6u\ՠAUf$e # -׵׋h˺EY/BAqHW͈]y"?U4fkXp=Rh[` -X+e{'J+r SjXt]keHv|>uYX __ `ʖvd) Dm'x0̱V`¹c`Hz1Û<5<0&w<,,-`= Cv;\XA [Qpc{0O=ʕ*?(G!߫Q1Κ~+KRrEZSY8'1[.R~~ OFpdBlݵhKpaꪒB<~Oh^VUe@1ڔVMӧ(T+Tp_$pMd%9zۉ `YLalvbIN4_P[WZ;iC5c7BQ֦ZkF utV?piFN9mjҦŭ L.b9WOtW9/Tx~+g$\L20"Uz%Ea6jKyXi,yдr3TcE913_d*ՙɖƥМ1PQE^kc3Q}TZ엲.P 4#C&0!#5luj%b^&5~MJV=?Ë8fP?FASw`͝8֡E-WUDzN[n®Į{ =.8_]v0⭏WTOH^!Szj9jgVai\&*s_+z^#-6چC~\kú*N飴`MZE|˱Z0hxh>~|O8+g9~ xvCvSīg=O8 uGRv*l<" +㰣F%/Z!_}]s?ќ}_k*at\$s,MnGFT),;Pf~C{,«m4;̘f,Kq>+VmM{a +Q.˞UQ*%5_AW|8 ;,V)E7AT6As=3Di DIc W!(Ey9 iɆ6ta #[AY=d& 2_T橫S.A3!,U"թV7jЅu]5*Cec&t4X'ͺyv{4:6TWꕋVS8 L`mՑz5rpS.„vdjmP)npPs.΋0s/<܋0.anO{a-oP?*Cy6 ޿JH}PA$.BEVC(CDV4C-cFX F-.Qq H.t:m*ρ*7TyN[feYZҫ\h;!fq u@90kTXzѡfqd~s ra,deol|B#=p63|CzA8i/u~?YSU, (xe*Z4JN]ľĚoj`Wş* eo;ߴfkSUrG nqpOD 4(=sע$A+퉂pUTk,` H:q(O~YtP5c/w4:Te'M[sLRװ(i釚nui1*Q>-[.RuoZi|0ܾsꫢe M,4UL~W~wՇ. \.߭׀@3VvL G)cq;X F ŽmźD oOn`ˑ.ùÉgU+íҜ4RvrR蜰#Q謵`Rpm_\}g8\i}ar5樑h [F +nnGᑸpggkys WiIK hVS36&IzH %г۷P ˺4߫pȖ!%(@@R@L= m;^LfnN*fv}QY') ?xTOU˔ )$_.$R<W(_0N_xOfU||u_ -aO6 !R빦rщȇ憝ŌB0T( y.^M{׆[劝geu S0~!l:+SYMsҩodfے.J60pC.ĦvT7kO|,_`U^RJ|Y,@$.PTO"{uWP=@=r5V'F*TDocu{m_s ֱ ^f󯽡=di:h^jyzpkL Q'kda|nJƋZbV5uWCVSuWU{44ujRA A}/ٗ "+| ?q7pB-0\l/}5o6S*V?`F&R ^ #lceE2tDKŐ?Q奓M(FIU5\+,2-AMw[Gys4W%[.a˥P5y? XcEul+BihUC3)eW'cyTeqVbXҿ3K(r,[LgSA,0PEl9Q ErT\ξY_ -K&a<>-ͺ00TPހgEP[zwx|Pb\q&db1Z~Ġ}O}WݕQQΡ;XXixq̄!1-l348#9Qo"BpJʍ?8&ᲸWi#,xIќ:)?5,ru~.KjVXH=k,LSR 40+{\-m SO AHѷrU"ە ٷu,^}Dm\gԴY3l[.ۋjYTKnhA-yo.\YeOpUPѶWD aUio!5`N9Ӟ;-vG3yf2 ;0 *:oϬ|5Q@cz4,J>!QZӟ}{UkyЉFͲ5/ 3Jb5\Vaz: lp*LA{c >ށ#<[&l >jUtQPpFD{ R jqRB+pt^՟˜:@&c`OGdOќV"v#Jx}Q3Q4~b 3FlՖLIqpϽ4nXY?w"σkZS6v%_[y-"U^c%zbEѭ/cU&֡+!TI1 8,Ct9|n;BW%aY]ՅS1sc?epЩѓuzAA,b q&KlAXQB)|_~`gdLFh ??h8s;nNXWkS3J[fb(_ o147Gtefcf::sG /}f%z@VJHb`Wa 6lbwe^q~/As[jݪYzD5)3Dc,%۬aS  "Qb>յ+ޭ}:c݇3CMʒP^lнulvhh9#xqci3}aۨh֙=!JIluLv&Ѽ++ >}S"UMwi``t7#>. >׵hn5o/5]Ya::'{>yq(o>88[;phS<ݕQ(E:r+#w/|IxtέR1* y JݺnmźZV* ;;-*[[ <^tQ_{1=dj>u!R{m=3; ߚQK1oڼr޸?fkcI9;rNk=uy?[C/Pfg\iGv9]|՜4GTc֫pYdK50z 2$s QʽdH: `ai`#=ǧhFEY)01k'cfA]Ư U¼~ϔrUv@8@|qO  Σ`RNpn@\=$rEX%g\G ~SJ|v5:j =zץjtCk^^Og&ݠ0K0o"xAPiwѲL予)Ҧ4U-!&cbKXэRUk]GU&Zc֖gCzrv@f C$fRf0|SWǵ@f'LM邶8<&Pzmϻ^LE_.F4N9kLx99N\^Hgϸiq`5Z۠N GA艁bZnhB]@ $Sͥtz|Yn-[/,D Pqoc2y昣.ܨD L3:%nY84`8hy+;8enպ`u]nP6攃LNkVJaNO֯ c "df|.8 W*zEz F~-q0Nl#92`JbC1}M1Qσ#}:K`d~/,Cf_!Sh 5 Kz:c>._)ҜJ3Qk;amUbs^h m?mf#FIZ_"X2\/i,x^?_?o tָ wesg]rg]w<ˠML;gxs͂nz=+/@|+f%Ia/ғ7.=Sխt+3'u* 0_zvxf/3 'GTyDz4q >ӏgp OCQ硗fUDI/BO寡JWGq~Pr?(*J|c3JWݫ_^ʽVuBۯx/y?zLdƏX#hv총?Gp^" .Ҫ4L 7& ry8-7p`vwpa#ڼhퟄvLd'}|1;r V~7Jx|E__ <_GK*Lr=L'TExE:~yۦw$JW.sY*(C]@TFH(no NWxBOkS,C3M%f%sfr9h|z"_.WE5t0Vn^)?iDGK1 n^R2m lh@Bncmn]w8eQm; E+ J> i)pFtӻ 2 >E֝ Pm˝QpTIT[ciϒ ɕwoSg^F1 (3<[|[Ge- ||r;DAɲ™x3ca{$c\wY5Q45Gޞ&f2Rw lP-F?U+vǟ)0lwJzIw伌& &UNr_[ޮL$ObH5WBCfge#Bp.4/3sVᴪpDĖ% cz)΅p>@'KT%eLVc_Dlm j +`u+6陓IZ!#>VٳwI a??m^0ܭЀƑK-2kx*sȤeUiɉ\wDeSg 9I4;=_yȔl\QYH9p\Se=scyVCJj,"hMV}` Rҧ<_N^~/+]*ړY4_'/ s?boȵP[m盐ʱ>ch@ $rZ؈xD])Һ-9-6(o~?WLBchNkA.;T/=;ce[[PIg*ܼh䴩oqK~+V&jlƓ4_48lof\Vt6S X^F'Mq0iRH GM3qu% U޹j(K"7Ny"ئT67mnEtgZnGR]>4xCN_W>7+Ҍ5PCFEۓ5001UawrP-#ZC 9NfX LAIi3ً{`p$AV*=ݱy6KHufh簍2#Z_` ~ݪ(aL$F6{^+UJZ%?ϱą_U}߻Ft8;D+?d/T)υ![0hUXZ5\JUÿu5oԊ5= >  +wj=TSix &[EPېI6$ƿk4\VeLONc3Sl}=q3+*)z8=gzku-g:Rږjݳ'[rqV@h}Qm*J3xPEs .ʔ䱍P:/蜃fWkhWlv{8˼m{l)*V6'-R**LԆ]~}_7n#\4ֿE_\0yO1e/홗po^ pt؇Is}NlSsmgvJv7 )DK#kCʒH^|R֚((ٛ1MޓiƛtF{B<,h S*(XFe]Kq\HFvEtU|BiDBiѺ)l6){}iclv(E#tbXDPV{CZPU?v/?D$ W'c>dI1I]oؓdK *+~k~Wcd0e+B36̦'d4F'[S,fTx~JҿߣyϘ!H9ƾ+q\;Bځe0rEz$h.BA71߆ ^n<~֙˄ 33'*Li6űeb]mF aw%P"H3 N栗Oq|TTUa?~ǭB{Gr&3y'rcUT lLO[: w=碕x8_KǓ3?0צ3d0?/ ;=VZ`vh^Z_QU0Ln яVsBPSQEޤk-ݵH[j6/DWwz\ ?#}_!]M)EEJ^W-]ރ\Ww>_W jtWV9c/;~ZP;9şa!TcBvH\c=&~O q^['Daj˘*LOv_;k\`&ك =U,Ɇ!(/mwg9s:a|ϫ+}9K8 >A|`1Zݽ^OYYȰ- UKI/"4 }u5FhHY YyYoiߚs?akIZ hgpZ:HA5768uoUd&|.|ԘC#6W3"aΣOb ݻ'iz/I*Bt]nhW` uves+=;٠)͏kӞX4 BӚc1Kj5[xZi>Ӂ5 RϪMR$+tM!{y$rYF׀voob~}֛\1j*>B'ֽc cBγ1SypKr8` X/Mu\utQT-(z(nD+!Z*?;ID)6F•H8f'^z&Ύ#yA@X#~cc%n0QcTNx/CĠr3ooy#eVE5zo?V^0r14)[=L$@d^FՅzF2U\ؑ Bp{S7px&yeώ%t% ]M=}kg^૲.jl#/ ;-^5ɪYMBG3zZA{T5qe]9\H]5%a-}!*Hw p,c`He_ C3e9vVN}nT .61o$,SQM2Mm73$ QlMAP5[3Asƭ.$RL~]B8Us851S;fB""XJKո#Fr .@UͺYSׄ[\)D@&y݌h4^~h b*0Z\ f)`C{#z8ۑH6r# 4sA>->ːRK@,P@otB#j]mGkm36Љh6#LӑYWO\UxǶq'<|O43-@&Vĝ-Iٺ_rsF"'RuQo;znDmTfKʄ`]KM[-NsR%aPVUTݚoZ(O[wڰCYwXRkAן`Y+ݠݽ[Q^fփ\֕O\ޙAPNDRp{1zoKLaerfQ(*B'(U>vE+I YT-74axGa=`r {mO|{7ئ7vg49(D6>F9Nz:0W7*)Ru|Mr`{:0W"ƹ[U[ºvʜפ&<#bs庪֖kzneh@TOiGD >Fzt*QcQF^o3릵r%"hCA9>.,=qţz4uD;.AJ7_Ae1NB=hKT٨AU/de/c>(dakq'O,mF *8@ %wS;Yk"9bG7zlca:* n$k NWIsc) ZOW5@\߲N^-{ԇMDPZEV۞чtE\oN?~Tzvi|ʱ_Ǎi Y1JxW[߾m7'''!m;uPN} _|7xâ"죶&IqUL-&_; 9Q<ŏ-Ogny5S~Ak"A[_y`'B$A~Mh?4=5bw"/.=lДB2 &$/4V֬^|{dAcE!*H!i66aMf{C7{DZͲ7'}UXL(er9Tor+쑖Ev cO Okʕո^DkDc6¦(SIKJ77qBAl>m<6HY֡WKʰQ%](;7(. dAӢYc$A=ԮNS"xIw)4M2βzAF Gei&XMn+"ZbYEP]Y>1h1h$䰖|'Mc't{'~%gjs*kLhq`:ق^ᩭv!T&09X:"F;rD BWh {ԛ`DVi=؛Z~;)A[lZTtaV+cO҇GjW: @ Z:}  r>"ЦiX &Q10sȨ}&A纗tf/Z#wU,R5!:9#LSR[ Vd fHAGty"M\F{ D"/aSK2$-L%jQ4mn$4Ԗˡ ʆtNp]7!& Y{h;dԊȭM0xc .pzf"B| S-Pq3f"XI XOQNʸvx{amѕnvgl/ub{Ѯ.PNomsFKd \_J[e 4kTIRq^,$4?]:ܘ1t%4(/eRvuRؠ]ZXIT)FI,c6n U-VMH7pϮY&!7\g(:)Uʄmm08?NPJׄ\bs/ Xt Tj2z_.m_p9LRL =K3ɩ/Ѯxl{|-gL=^9e]1GXpJz @\d_E H;i@h,Z_0}g,, =y ̆Objj쨣Ő~Z Y%v;!D(虙DUkg#lN2~ loTNY:b+o1ٰ Re$00v]FmW4^ѣbjq"J`٢@r٧@o>(ҽ}r٢ LH>#DWi'Ȃ+ a77D>Ӡ͸M;)ޅLq}7';s[gtEjj.w &LQ*yQ /U k.O\΋>K꽿6}0r8)u^?4G.a/:PkJF̠Vc2rO^sa̒(? BfqdGjZ@uO&d)kU[jI`A#q͍bfҢyk YȉֻGSuf(D9eTٺ3us7f w;|%/vuz7]6h/i%~ 92`ޟUt*l7-V6=hG$ϮL<,l//Pw㸼'n4{r"$&z'Qg2]Q,{ Ub?Pƨu>̟ݞ--JWnP"xQ 2-TX6մz:Rhi_8E[KDm%DR8N\6yS;W 5ΦQ{*F[ IMO|%c⠐MG06H+6$qmwz3E"[3H5&5 :2W3kyFg'l=qe3CEuk#2W-(&m; )l *H~qc͎r.wF6Ojڨ0mV*0i]bA?贺<6ѷd*WE~1Z'R~bԥو _vXtgYHL!17w/oa1tw4-̇(^7!V[*:e .Kt_'OY-w9PZPH^T!$at^jRRI},%9N5Zjs$nT2kf *cVV7ųfh"YR)+n-4YߵhoJ΃6xqy3̀K&q9-Ρ73frΘOrd6`kV[JbYj茲(]"hkYqXFuD8u}`q.*HKԔHkJM;f=z^: +]u/F5:J)冏ZuS#M($i]1j *o+]Oy;Ƭ ܌#AUtku]ݮ5:!4~=¸mWE)חv!\qHH{VӾx,hpK׭q|y77Hl-HtCQB}=SMY-_: gr9{=>oAﳴHQ[ .. QՔE2W\FT(rWxt\nFQA|7:a&'SM;< f"eb ؞hılc;Ul9'a}?2X.鐆ȅc t Eh6f5łqCHd*J4O&z<OQV11(DxvD.Lٙ"c?ZJ%2UYUXfF13#n/W߂7O}!%Gk_gADL9 *'(;q Hw<g>}2tK׳A Zu㝓]N?}x|V+Y qF8)[;S g#}!TO];gE(`eX_Y_fc뻺09J4S}g")T I^K^0K//9&έy\iN{3$%/ܡM)cgYRL qSlSҲ3> n4y1.1X?VEnltv֏ﶲ(Ɩμ3ߖz0+gAӊ೻NxcR>''k9oBƒ?skzNz1Kpqfj$8}5y&3ݍnJO_m}+c3ڦcg(ROvk$NsY.m ߹xzR"}fԭTK{N9eSRe\wNgNH< 껩c7 Ll!|HtU;dN7e\AE~FSD i`=u6?@73.f˸q+RƝ+72.dǸq2]71.bøq qXCXCXCXC}S]nuѯ.:EϺZ}s]"[}WDl9hwp%9bH<#o\N{1-T B~KjMqPr2%߬ل.u\# ;l+Ȳ_1CsX(~aկ/#,|rΓ4y&{Ք]33TDO"S[h-R-i:}i(؍ʩ$CX9? MX5p7mNM.MŅ/NUKܐoSNB$ZS[8 k/^-Z02b99 T8*C#ӗW*FbLkvmU9Ç%_VaC˞MT\.M+?9_e 8|gIM7-ߚeڏ$#T%_}/4Jeg $)ӠM m:k16 ܉&)+kU12IjƤAM|b2K/٭>L|&t5ه.!cً}%5[MԸ(<{B?U D7B\V߲Q?O@=`G>$0KJ!;ѐnaH_9f=uʓm;m$di4';x/</ג~ TON.F5*t'Q姳F1γiBwܴ4)es#XݪOx%O{iғnoe( :-`=Oj_ySemUؙ ;3̖O`4 9{ډ =) vI&7@/0Lcty7 \TYl)+kzaa.ju4pE'ڿ|I}9=G#9%]~K/Y_Lsg?C~>g$)GqELqR>|G]~re{`/|$q~]:A./>=>r3~x>S.L͹+yO$=v{t?<1  OΑruI{y}>}<OÃ?y2<<<⤇C^qƜPN07S*4Bw"s:lԉf#Fż1'>5~#N0ż=y9'K=zfF\Ut∋FR!<1'2΄Ǚt8?&h"Mxp .%J)1ȖQJC~J4ޗ\W‡8MP8\u~?y'X.2Tt鸴'93 z"УwxH%=9@8P8Hr8@sO^y$/ 'K$?6S~sO^)9hݗJvwǺzIuP9%Ч@&֛sOr徼Ln|7G#v%=Q,I݇.%bZ`twr?h_?3~b1onHeO?(&yI_peӓgJio2yy]rY rn~sK\vV~SyrF.y(/ ?1\Op~" fq5SrRn&ZKc\hu.[ ~b}~$x*!?)_Iv/pL-vyeuykuq\ϐ/kJG Œ}y9&EX^#˸ϩ| P:}Fˑp5ĜKN9$HN9䤜J ^$h9s?'M9>O~8ܳ}'tN7с(G]yxE/"tb~ =cyApг| z'Q}y9yҵxqG1?'wekK !>g&1(6{//h fJP^0+9]a@H^X"9K>`3*X΍џLs Ɣ\xH^~fx}~!9#FBS[y&Oͧp/3&l}~rm ALMI x#/»#g H? SI9'49IN/'Dvd{Ow`tN&BG>@}{i> }>'@W%YpSs7xb1UKuf"z;mPCy6t(Da=H80IN9DKN9ĜHN9$JN;PY."QuDĻG]b݇ .هr=DHn_k^F`wc:ʖH ډ?"9܃(:Ĺ!-aBQrҢfWPAE=yz|>:{c,J.>O}gSRg|G ?c~9!̦8숟Bghq΃}w xq-{+m|PG]'qށӻL.G7ҷHdPFyaY:q"Vݒ[%ta9=)hV|_C~r6OY|(T1ļbf,npΑcjI}&?}~M}%-&q=p:U"C`]A qk\RӘ FBF.ebZ2Ƽ]>;sgcγܢ\8gt+HD.$.ӓTl,n'3aB'̏({"bv2{i&DIc_pғC! djjz J;#Ǵ 8Q\7~terr%@;m_[Θ8: SgO=@_QIO"|OFғܰM`3 W@f{?2>0[>g;rvskbF@RГRӸ!kSr9c9&VE4 >ӘY/}3ln.4&>A} 85tjLw@xů?}rKS[W}r1<=ҿX!5& F|S?`P?rL$ fwp(աI0/e0~$#?ت]AClz2Q.y``y9 \dZ<`ʐ׍B#yI|tH~y" O` 9y9S0c`_^<=`ot:G5=H !#{(`=dCc>9U S,zI#'rx59~rN0'LXA>!y_r>O9~+z VG 3~ t,3N9;ezLKEqFj  yag~X D3fZ8 +zK$TB ON0>ʙK36.-SUO~|ËwN~yC.~=gwǗ~xQwo|= Ó=IQn@{^Q}(`[%'K(_IT JjRvW*F%QnJj+=.vo8h]2-;S{*D(ZD iZ$ٲ_|xKo~^C/ ӳ5[lX5eP͡;|^->v)[j4/ T1&.ݡ@JH_x's٬A_^[tR7쾕LKool% ,CU̶ԋc{"| yfD̞Y[񁩃%^fssmVYR6X~cOf۫VU{F},7VzPwV"U/WH_"~O~/[R`EJ]89M'eXE%S,HQwNz=}_>| ɻOnQ"wV"%e5N2iDTŐna*Tc@lSvdl,,qYh(KOʮ% >ȸۈfwڲdN=ĝ{؈Aoʾ ᅚ4p= /JigB˨ׁJ ` ~ϓڑEݥi[e.99f=LT jڱ vXi IAprx!2A|^ġZQXmZ*m -XcO 5-0K.f>+7{-o䳓A}<Dگ >* ײ8[QWpߕwmܴp'&K,w\NiI_m!O黌@H)ݛ =[ڲ 6_, 6 7hL041dB+!zJ@F Iڂx9=>©'w>[S]`DD%L9|rs3wjV>Z#|"z) _QB5R#j(L"1ZmoG=R/Nꩯn_רy 0ofknVo?ǸyxAtjc[t[>[S!gɹtIH|J to{Cx\ p|؇qxc{S MԝC ró"MX/}sQ7Ln]+̓r"t825-ljp_Z:JtrN# ;Z@΍[Q(Xz DT>~\Kf?c".lskv|ZA&.;B>g}=Uњ8Nw]yeo Q;7ib(aψ(g//8:tu`dq;krxa=eY3 _NcGVs1j%v~Cܯ;S= :~/ ~[37M@M_`_*כYkn8SPyv\O+?E;E 93רLG8# (qڀ:%em υkpxG= kA[%`߸Nx*`].l_X"'z;5 HK~!nh NfVf|,* ¤vP;{XC`V;W8P(?g &vz1c*v|JU q#}IZ[FxE,c*GBLz>wg^ҹ#VeX^b?ikEgB -* D[⮭Nݷc fTBZ>u(|${ӈHm}{!Ϧx3j"ŚQAs_Fm_45D6申yz{?D~'W:_.۬=W5'^33i/M*뵾*V#|5zop5$EU8 T~{sl]XQ֘^Nxt׊bdqieM? Vroz3Z%٩&!eU酞+Ndi;p rHq]p _̈́fk:zA~ R5eb>a% B򎇧~Q{AR֤|ԇ<"z!oA4IKmlmU,Ce1W=:CZ%C;+ lb^_OWU3Cв^kÖ) U1=΋\ԚZr+XwdX;%.xleGe2.E22ź ]8T3 vd`lDqCqMYZ Y\Өx6Z[Ҧ-a^:SDOH_Y1zwO''''''d䷓NnNwwr6J wQD)ݼi+Ӿ^^IG 哰`%HET_D? YIE<܎5-4'r*g>ܐj`g`s>Zs_hm>e},vX LD֐3o,ʜ&re5sU*NZNZv4ԏTV1--ӲVZn'ݼD5|(2HD>~ 4B.gLA;˷Z98ؓf1(Ebiyoo9ʹ N$P& fSexP>?X`4GP+L(v&u@{Bm3/no˵.JGV?BG[dNV۾8wKoRzm_kECG7URo:}nvi#=j4ǞcS.f+r2-HPL[260*@i]N iM1܈nOtmTqƯfk>Vn՗)L(;YPK"~'0xpFa( 6Sa{;6#mzMOOәiYdŠط TPBf8'PI1^Zنș*%G:hۖBٮ kO \TN8bp{ uML$M ]do9]U,1Б45˴5D篡<9ci"(ytǻN;9=m>%b7 eqKZ3lk܀u<歘P)o'˓?B~d {t[R`1h|%x^[zh % sYƖPȔFzT‚; itJy0**/ t3|uCFLЖ7L8MX6h?I561ypds}N-GuV=jbt[Ԡn[,Vjl7tjͬHu$4sr<ح`$&,O3x[a  `" "*U$(PY%MUTڲi^)Nvq!WLO^p2@SUXo+O\i|d,ψ.=tv7vɲurX[ _qwO)xyekBӪƢIOHyZB^+!ʗ]tLhd䌏21ZR2[c_^%;2zGLmP04'@T;K]_c^1$cd% ܶ'S^Jh?J跸{Nռ=}ۜXqsr>y;==>:Ov[/-BamVOdݝo`x36lϊ/."&|nnF+ivQ16wmld({c1%XYnt)!6B4fl>\1kpuCu~'+'ق:Zu;3 R09<%bUp7@JՑB鹂KNVg$ YHТӉ(:+VV}a!.Bnk(@ 0Bti< &ͰɖmCy(3Ild k>ڄ6k&,;M"0(RqjV|.l2Gj6o @Z/zM}K= joߵU跠rt]eRQՋ d> MH{}AW !㱦CmD7hz-o/hKh1ʊh ]RktnWgQWc/KV-tӭ?8<8?'lwQh!tOLS]*hII,yhόJgl9 mgL'G~o:}Q !_Nyqi~Ӫ?g陖8<3" ZJ&3hXv!#نua ӒoZbD+=ʀx(̤RfNXG\ ę|C|lNÄ^e'p51wK"͘]gVo4<-Rl1?Wy[77|ϒŇE4]Lع!U;ף}[kna!CP[L KYPEX0ϡ㒒/3QXXM2V @ɭ.[Tʡ%>bzs|WkOZh8R/i5os^l ?#wpMѓ%/~d{%=m"{#г YE3Otij5iMǖDv7ڍ]»%O;KOYᐛf}ynL_i,BrV,M @WPBAk ;${̮IqOʏkgڽ[8A`r{DE޾`eU>Pca;o8N{ggla_hQ%gwݾ᳚:Slbv,-ى[ÛMkpWgtMmB1nZM6Vj1nc$m(x6&a dCh&LLwʽvV;݊>; '-DoOx!1ҁc4/B{90x%Eƻ?Œ+gR\ɾLZPUPgADr@Ʒ_欮/4WDF2WOQۜE)+G3s($Zi{]kVZ}}툋#(}P$CaRKܼt`X#4X L/1͂U3o=+u-j^QT@4TD:޷R M|Sf]@m uu6e!"2A 5^e O+X%cqŝs#4z ./[ww|/,iEVja- |23Z#҂wJ廆wks;2J$-&X Q+ j gպ VH#,0Yg\"nܪm(#= /bbC ^8z'?x򂿆`q_o45mf9#V 9.pߘH ^R_WI=HhK!<Q M*]"w¸ʲdED`YRQ|^kcT6a5֓Xk_.6ZlyEٍ=?>?a"LPiC!mdz3Xi:OT"z.ˏo@Hc?-h\^j'IZ㓝|͙V:~=3O.X~>"roN?Hj;Z9B#ȟ'GzN.̭iFF㴵 @ BSgS `%5@Ĥx1AxDs>o|ngOP%R*J)S]w\e #LQ˭u]]@+fJ?5y6.V'nݴf}Yp\4V1].V`Hiワ5$ʘSvwF`t(v~s% fat>*_)l"78yc14ܘd/v}}srE]Xh_5g^ibv`&[>xj6ih| ?UB|lffj~q3 ;飱q#L(;k,հcۙE3UCr vv31;Mήxǰۇ{˪p~=Ե >ۭlFYJ>˭f x>0ԡLq?DUZ*+p9Y^z/6y4ܥѠztOa!5rvX9P) mW|s/GE{]xLhgjU EkJh'l<x; \P( ]$h &hYk*be +^϶2mgS.qmߚ Azz>DaݬDvрSA}MXuیgtucgNtʤ\E;TuiYhq*eRjT9 UaNRrr* =(Y\P c2ͦDh=?EWȖfan̴&q8Űu ,Uq[Z،ԇP>8YɈ Ïlnk[u#320 <~|L_t5Q$v=s'5i^! t+ŎsU^j̯֭Gt]H<lw$ʘRk&7bL,}[55kv)|+qo⡆Gc3Ъ{3*N^ݡS6li>>dqr2=m Vk_3$T0Qp|< ݭA%mN-}{GĆ,ctzZe8}eV0򜅍-RUJV%Ί\} B!PhBK&0*1]#1j(l>T# 5c&t'X*ӷ9'bl5NQlZ "pm)O2XH%j* .cNX8GT^p !Q${z~ k={xFi~odŮqib۶]Ne8_l̆CcR#mycWᦾ5iXɰ\mviX6+(IPAc6m\13ѺI.IevXqy6fs:٪ȋ5\bbKIL4(Clh ͧVg,Beh:Q(f^M^=mvsN9srMԛ|X&;svX0S]Uf.@fchʏlИPYbJߜf7φdI[t5qb6aTcM*_x!P+xX*̊S XChyV5;*P,r #GIq0yU/!E"Kv凕oAcLS$$n{{mRXJ hP5k RPW GbHT j?8@kd逹whфUXcKNc}qX UR; .ZRJ9b %];,;*[u7Jgvʿ[ _G@Smw&w%>N<':v-Z޷}Wn۾] tE*Ϯ|8Kc}xRQe-뻄5j#b\*|&dAѹ"gJ.D.=,Ў`*ɥ *X4e_ټ[%@3T |xt"8LbhAwEZ0 ѝv",[f6K$~ w2*DZ~v,x^ҡ+`HziE3XݳJn?^+{6Uf$3"qeUhk{;r{ Ȯj{=̧~h$# & rO dVҩ俽#g a<G$9]Q OrTL<^Qtʬ9;2nNxBfoɢ%:#Qpx<E 5-bd EԁMM5~t()!rhR.V̆yc-}NZ /ʖI4\Ր ~|nFժX+2A%X(^gs;Y.[ڛ"Zj -Ɋ#>G,;@[IvGYXc/@qPF9ҽ1QqgʀD&&9J+S|:_-R+6X[NRj&p,҈uvF?a+EH+ؐCMMH+T1{Z?K'.A@d ;",NL#?(+vA!qD:\mdAm X:#D))PݔCq(H'cQ~a~=T̀G+ICWtCiBuf6_)VJzC:\$ٞjHgZ떓DVDGn)ձ.Ѣ{vR˛),NQCF]\K]5"]fIG#Yu+#qoȂ[v278>'8?`?y1uu&ǒiJ%ws{{k(u"՝ҁS +liK%&6P!zT>m4< yi1p(tv|cpe4K{zxmMwf jvpa9fӷXmȗrB4ǾwCu[:bZkm^fwY[wXQo <ˣQh5aaڙ+ORP LW/FԋwjQ6$O@keujtq{/\'x_֏ivم7kgvtvo>vvSuVC7JlRRmi W3}Y-V/dpzpx| _:,7Z욼߽!ѻ ,"zѭmP-i7.mX|{jx[fpQ fq=]p5V3Q+ZkB)O_340܏!~"΃.c AkrNC>\Y[E2sv'ũ܈ [ RKI(P] pT5i, f3 ]Wi?‹(C7xObԌsxwO}ǔFmH7CBV jZon2#M zʔnnMi 0I W.pQ_9Ztګ@zw+þ\⑹[{$itCǃ!'N nqLLh9mpD痏Z>kq*RG~yn<^{>_p۷oc!-v[cS8p#e5XR}Chc*zZ+jhwHx'Trig]ױGM? 1pd3?.<"=h-Jc8Wy嘭tkF9tOF,a$uk)RhH-SZq}xtL"θ"6Xux(-cTɓVzOyBci5C׃҄Mvi\4j)ץ,١{!1 x"m,.2=KX^yc%]Wd6d+A}Seh߶ e=F}a.zI,c7g%u\ق+wVra37J93%!7s j mBnH$д iwf#@V9\[ ua0Le8zK`"dOaPY>qyĀS'=u&RMIw~J{7ͽM?2rBĻBCgf)LK l q+ n\/W涳6}uOMs{JLWWa9 kl=BffB: j\fBnBHT$=Ek;ҾɻkY_I4+Bsфh h_ {NbŨ4NԒ(QHu8䆨Ŷ y |$:.<@dʟtOv f0A[mE!z K9@FēU'ALg@J]qS R\j!VC`ԴN:ex l-c<4"65 _]C_ U2L `>g{P]+ތ}/:C_n?Nf6snP8S%H:\Fb?&v~L?\HN>ow~IZ ŁNo^C()ial.W?9dd'ۋEV,*El;sw b,Kqvd?ʏ7iQpO3i>Og4QO.Ty9>X| Ā6QHA/İ*8M{@KI1@۪lVQSBa׶p55F\4QVfct LP{]$ׅ_M:enuvJ Fq XS2CgҵNB"6w1bө2T,q8aiS9>oS;'yJ*~}@Α4hVOT 9PHnAӅ'a:s5c9Z|WMph;2 A %g`9p-m,#D!`p:@hO:@ :I(ʋw|#){9 F3P@ ɗGIuXWrr?ʞbx1ΣSwn*ሴ ;|\gzbrO.>XW9gyϔ-+Lf9seY] K+=}֭b0P)廾Uy#բ4_4iۗ(ꦛ)iU7q1+Q?05rح6[g8OuX$LzX0~R@de٬eiBe~R,%Dzt>7G@:, ֊ՠ xHZ9 srYY^6WUv_cv74.63+1VKkށ([;z[i- ԮĪ"ckR2X`|l3{Y=w4F>/)Ȇ[J9nuoW3A:h7p-0PK-{*r2timYa(SIA!)UO Z%]>>QnWK:.%xÓ;mOPsaT<בM+)V%AlS ds3^(dP7w*e,܎lꁵ.'?X9zpS?@&"mnBo~lc&tSrDI:>Zd 0-ފٯ S}7p~CXjOΎ'\]TVS'L"คqtgA| 1ibP,'5o _r[(eQR`{1aIȹiğl`{/)|w \G0~ݖ;A[er±BY!KrWYܡ-$[nIƠ1FYk^Uw*a 2>7udsRӀg]ң:?{Zn]_=^r&5ThH:y iWa@D_Db$!U# A'EAtH{ӝw>Jc>6C -s%vXhSy` =VEvUFH]M;x%ѾP6"Uߣ'=c^ZU!OّqDtѢs@:Dnkվ,o8"#"!]yi^8]kk^2xa+m~֥ OW|Z>'_:5\u ,"8. x'Sc ܱ-]:\΄R͐B{'0Τ7qrFkA$u Blvjqt+'F-&㶢S*3"Bf4z̝X7K!PofH=x59*#)AD2GvR1z ˒]vW&gqW9k"IX|8?%^t>WV< S3<&H7WikR [b#\ 'F)h\d7coT;U!R4_6 QtB?iwOji\A޺}P*a&ɸRX< 08_ա )\֊M\$ʔ,eI B䚀w_ysS`lj G}ZhsҔkFJڄry?I$!n_ݿw6]/u(؝"C.s%o.;8 SV⼋N00sB,rߪ70$!CStj-2Z t&_=r6ݲG je 8ʁ̾KEh]d`HMq)G7"m0fsz*Р&#a\= (Q*:QVk: 򭍿? lVVLjگ|2T?T0'gyU_hvQdҿP¡a^Q~|"2B[wW! (/b|L!~L$&HbRB .~b1LpL`))u(]xFi߼"F)m_=|3E\𩽾NQ2lfIEC- ~YYIDLd81'Α1B'%9y,C%>s &JHW١_AziD Mł[ ,X5̹@J|TbѮz;5UWli/-RqⲹVl@ eЂ;{ j^U"&&(E~E`!-7!>wyjv]Oߩ.zM$H0Ԍ6SQ0N2nSZ(TV,rM ^ty T2XF@GBW;y2ӟj :KLCI5$WH8hd / gR^ I>ͽ1EK1_c3&:S?ý2wg=QAhՌwZt2 Ueoj ^oM@ /+_C6Lޕ5RwO;f-FJRVJ%[񛼤D: }P48H3{4{7L`"HϜAۮ*F5^ NS암OD}IQWZs'5R/k'klVL!9ck{fE8*bzLH^ ?m Sa[[ci*ʝȑgDPue$/tn}QBA 8W[^, f%&m h HLT6DH멃[]4HcBLY+]=x߶λsZh6v76EŲ'sƓx4au]U"Ґ~]䞘' cۧ'X墊Lj{mQ<UrǤHб@}?Th39A@-Fz== lblrdLF!o>_Ul+p)NM()䪶&Շϭ4/QE$$!%Xv9 -еFg! oksCz.mM4J0rYL?62`d^?ڄjJޝ[[LDo>aU555dg֚Q * &ٮ Lbf!GQ2wPPLˉY}j)X/@Ub~uZ%cDmD-R2@4̞ঊWP3Pdwܝ3X~"ׯ5M=-COQ_Y8 Lcf^ʄZd% E;j0Z귯Me3q2R( njr.sB+N+2X-}/_;{K- nGОT5FöZrr~ݲ<ĸ3Ѱ. V&:n1 ~*:=tgjR6(?#/OgQ~E#@gb-bML o-V.;l].wc+|c+|c+L7*wVx{U] 0ŤgxSP)\jO `@v@h㗫X*o%"CaGq<Ć'EhW$.RLE牢[anqJS?yﱈ~A9z$߂02+tܐov[l;n뗎<9e)?!]WfN}K}+A< EHQuSq)ہWƎ)?eyWGv_AE)h 4]kbZ{jHΤ$pqId yn$c.b//$$U.UOR##صJˡUNQ`&>&5wvk,=c6Ŗp8!k~5ϘANl݁/5#PK}:y6m7mHD"z?eMi냏"FA,X<>LȲaRpf!C=|bm*ؠ.D6*#־Do͞dSjЌrjp8$ DSGJ6!16 K}}уtxyI$abIV @+8mH+0p Ո&-PЩ{L$U*!_-,( zîް!jZqE.Ɗ@ɫVaT`1_¦8J}E08!?Z3^!lɐ?'l=bd,BWFO:YHs#.&lIj{O~U%yMtfb8v9&@_$tFӬ dkG,zFx&7FƔRڌbI0 eh7lt7lTJް}4CAdH {q}=Gk܏})2x]Ͳ N˔!- yDMrcN@Fʛ':pd! ZTo@GB[Ӑ_`c$e+"#;n=T$]4(!rQt:95rVCPRRstM:}>,|+9T-݌ 5aգ|'L孏vHy؇\!9ظ3ٌ7;ڝ1Ơh |ˣ|7+_^o'tR{&:]-NN9KϯPM=}c=C]ҹ`T>5וf0"|aEδ%PF;cDfyOiZ5М+bE )P%0Py5v]gL38g$5ʧt8+΃Ig2M};譙򧑐o;sshԏOXw| yرNs'+ kϭ l/9.ŵ0)KLb Ba{:<|`3P>8m0)( -yMWONsKiPZ2r I i tC}c񛍊p] C AyW<``bx8 M 7AddٞcH!БF-?^b-}L [Mpn{wcrPޏ[CńbkSGBzL;8 2!%j'@h<=\r_ɥܺm.A#.JBFbxKÿ-U⣋ ]i MFhźMT(>I=!M/k>Y):. #=>Gk\ y<$}M'2% c/y=#>&IJm(7*M 5+ؙ@{^wQRP.WGcx0K)SSB5?mj-rF"zIM(rerT~ +]Y}PI[m-"eҢLCb+ ve%YP&{b HNg鈷nПI:Bbʦ+>h/:CmFD> }Atc*0Q& t>mxE6c}$o mKz|i-d<*GjcV&#T5Y? gW^ g"\5 NaLkW`4B.K=hR'3`UYVQv6nŠAaS6glX=y\_AD9Ʃmjbmz ֵd9&I&pE2kۚ<̃ȼަ`6?H ,?,f]fX/g5MS)g˵" Ocַv}QoVnTEټԖnlYo-Hf-h IYX Vj4YK:AC KvS xA2U~vNY#;ClhyPG>9>xpp]؇NHB/ < !ca}CI8Ia`\Ta?}p &y85~]V1R}F x:epMy^z}!M}36-  [R$̧@i峍o9&62ߖ3y] i[{/2Q Ie^{+}VK3 8 UEcpbK,o*I&D\g|K@>Bi nv~H y1҂8r|^ګ> $ ]i3U^ާDDž՘4``e]"颽wiM~ƅ 9z -a8&X8F .<]\ =áoWh[Lɐ+h<3M^ܗ"<+a~&=nW,ľ" 1DrS\'8 xt\ilQwMa:ͻ6Qsȶiz/ȳJoE7A7|tMW+w<_!$f<'^'Jc$*]հ5w{w>=1zD2-[yf;yV?So+cK4< |0ϕS?G?zR~#wtwDu(/,o+JNWΐj*]Xz )z!-bN]N.ƸfwˋRϝ!0Ro۷w|s7bg1'rweSGb؉Oc%cC99?w KE{tf*s_ʔϓk5at: 76}12 $%Q+Lk^ %5<ԼҲnX'%+.Q{;޺"9î)`}C)"sa8bÇ}{0clx7R[i&kQ{ # }9&oP/hC1Hɷ~F$1 1wjJ/jۮyhD`wJWsDfŶUa\U/;gG2;(.[r!r fld6x4;M !/ ߛѮy ءj]^Ѷ11(sD1i&$uAOc wvMдEO^ qֻ!n$ՈZRh:_Γ4q%P G4N1üɖLO}h5<[oi>ptƳ!)p>YI7 GDŽl,)RuJ\GE []O8dRhA Ç|C8>ϤC| &+مj`xZb(\2Y.NX#)@ ,gE9,o-pd HG&"0 2%{ģߊZ#L=@\TNoduDE/qZ=1;c,dÚ͡ڐ}8:])B- z$[ hpİG35_:n 1jC^ݰeۊ_~.+Io~DZRAK%(_5C-u€)G9}.&T'Q$Okql#2rxKot}谀1[a! U)EYC#0 6˦yW%$cJ)JT8myn2F\}/8Y #z®D`fSai%MIbal!ðB|;Lju8"P>E- p\-MqHݐX뚭a`*oOTX2A%@a1Ft[Ip}@a}:3)" c=УDch%9dJb ʘ76H! "г.eїc.D~NB(c_i<=jfC5ԡ3Tī.-΀պ+*l94[8\ıo=;"BU3Rn}eNn" LF= \pt[}-B:WID$aVmD: N"3o|?G$T٩qcrD4C r4'|MϘv(L$^C9grNPUgӦU*89{fƘN[}gCy-r[@w;w;"978_i,Ç~g|.6~۴MC[p!K$mCljAź54(Cxjw]b$P$eҼW 'z hV:W?i$zNis2+f w|(kQ:BEY/|ANOZ6`;w`}Ǣ^ߺ2[+ W\6n(ploAV*fRjxZ@;`,"]LWȏZ!˩JQZquiQ?驡X/VLF0k)1x@G6‹P" ,aw x8(fW *.@e1mɖJ:퐂2S/M3BޖtkG|2 #[\(4j%6d`! iUEyTF1!l9 0 Y>7dN5Zi qy]+gvvI-Cnq+];8@ 턨 }#"~j9Sܘo:Z هʯR$"ɦǹ9 hףL |O<ސ,HOǏƍP7aӗ_SXՍ/|_!cd?,҂uxjc^UW41Յ;Yc,AضayBҒ=3ʽKƵˌ;EO81R Fs,@1s %jmȒ$ j {* j\1'T+[h ŵOY=WvϟtKD|f&0sh &)M2E..n F|D)`y> ~C `-R>[Uw e/h~9.秗xvQ|y2r^\pt.'e_N˸')Tɜ̳]eʽQbtO1`)G-(0wVsoií2kwͶ0u;]`8Q؂pVm/>v h1qXKjBG\ 6l6 $UBMEemWrML'Tz Vٕ~>*-k*նOCDzi7"/ُaMJ\j4p[ꓥPBϓ}U>Jҁfꗲ#EivznO ̷Rv1'zb54eEYi5Xż%²|eMƹMʃXjû''EBkҲ ]O=Ũ#2㆔MG4' #!ZrHtO[[שїʓsVOL+d(YVlQpU2!F˗s4?c"_KǭU#*`m 3K t=?S1B }k)fy&7TM뗙ƨǛW1PdEn)v(NP{\'g>$F , ]%e:k$%bI\|KE*ey$,+@ŔJ@+L,6m(l.`ur'QW~Q#5J}f {!50֦6xO0gvYMt+F06я޼>]l 32UDSkK xv5ߪ= z@ہ+x[<+[WL,oCIN^uˣ?+ɀխBq06*mEx q+dpcQ6ad:Щs 3Az$s(M{ģ0aw1E+a/֭f}K;x=K5<6 d{{CcUj>-v9S0>0kԚIeQbf>E2jOaݚa;|Y0_5aJ|GХOcP Zڛ60>U5Yt<9 : ($! ɊP ܾ}f.Ѳ'7"a[->-JϥuZ۷?ZobyXωnR\˞LO> 玻O W,)t5A\4$U3KP֦MPn .ZPhm7qEىhx L7ɧ_OGV=q fInd2S6%A#U/BS 9˦֯ l^gssw6{sUZ3ͳYF'1Sy,.H!ƞ$j\@K_Q:aG#=$\Ei+k6jϗ)Hƥpb}LƝ@$ƉA2jsDO$z|n}Hα"I^/r5C&*ē5Zeyv7Bh߱O4At7=>Jr>W-N2nU<\SR@@fce :?U[CZA|tYDCtHCS{2}Ҕ 9Vu,ፕ^Zև( _E 낓k3lmж@EG|QtUe8C&ܘwd]}ޟeAĬQf gkD:5VlC t8RtDdӊP#aJ=;4D-ʗn $r żC-sQ?a/G= Pw>n!j,DS^vXVՕ˚s "6[THcA1ᦶ׬&P9@1Vl?.?~o%|?c_71 FqRh"ʿ aQl_uanq'"OnTx7#(g|Vptv%IbDpv5!%sڬiS`8@e[7{֚l#j21X\J\s-mϊ,D; aSG;f$gZힱn\Zq:3HHQYVļ=`ԾvV#B]gM7!(( "tM@ *\kEʡVֵފuMp_WTZ_C'Zb=H 1飒^kꐮ^(98Qk*(% [`6jR*"!HPd y,oEz|k턗ksakmS,-NʎשfڻM#NMd ,0F;G u_24Zzo;v[UhklRʗ"^&ᚾ*Y ̒a.P`Uc֤adt%!uFۯivQ (Ă(Rw)*% 165[, 4Oy V:MѦ%[؎lYt |w{CZWMz[lm""ܹC @pyz%`b 1Yև-d -{7d&(`-21#Pr4>Iq2G.oݦtPEA "苒\Zg̔ e&GX2E V]v0 boDw λ;b!eKj>q9rہ &rj_^"&DE.RWUgŲ;侭h[.dp'~\'n21[ya//c>ʦ2@*rṅ~z5~gö//o5uc'[Ge%yuWjESe2є݆^$XW< ـy% ~DuF7dW?&j%VZh "J2 ;s81zl-xQ.A0<@Wt5 r1 $lҜ`c;ZnKOD`뛄a(L 7Im޹ӦEdfcT7Ksy¸"gLhz[LГjPfhTSCz9L߶SrhJ"(ac{=bđ0=V.h൪y5׿y9 xu#~wUbt+hy}pGX#]*i@ED.iڤ*{NDiJ"oY+$G)7&f6AB -*f/Q֯U0MQn' $JN,AY>lO)_(97aqرx- 7@c?(]ĂjTסW7KE2CR O#u5FwIud&F'v}rܺP n\&T?,WݵW@hfG Aԕj#ߴuB>:= Gb.">XԺ ((XT2wj&M!eF:_pܷY`{5R!FYGbC"1P繥B.k6F ZKD4uhK'εneFl0NTr@zմ}n[Ezhny?''d'gA\П2P&r)~<) ğAB݀XVUƖm4V"I{EHO*+ - cH9/Pv[-aBrd.W3% 8Lj~q h܅5R҆LڈJ+WF0B@\_:dr_?1ۮAm ej F*wvՌNQkIHH3} &r*wP"]pXsƮ;iUt8^2., cS}'Ѹnobܽ}V9tUTD~zA`( U!W8<ÈnAÞ xzѾJyHntY[@~ϕ (WA4?2ڽZ,ɴn[NVnkܐv/{iJ JmURK9jZd_]uuJiI3+n+/K8^“Kx)NNl|yH6peHoVu SX=>GQl梪+0 -LXef f#SCf 7 PE[jO4 }idyY\eIrAVFy Jn4&!DhlB]]aԋ./_ݒX݈1Q3Kqݪk??Tj5o\0 c w(qLК )$h#=9\4OHOgq>.l@?x ^A J3DD'>⼀޶A,3seS2ׁ^xh+vfm&G~Q6Elh&w)ϋx0OƟy{/~{f;P0bn@0<.`܍?󃣟1ﳃ޳Wo=ޛ'o^}~croi T,(.-`?" 2O#oa0N`H\T?i6ܼ/xl{9yg^e2{{{}m$w7}a{uw=܃k|O9k"r AV@"k( Z=X}ճ޼zy򩿖I 9ޭ5ixyޚ-Pe?g礘(CI?֍P:p/{v{i9=}q PAA's *5N}F_O~3  o>7s@x [-)pY[kzha <5D[-_ۺix 72h<1Hk[ާɅtG+^5 l֍C.<y< /R U2 ygXZP~jzL}\soޮ7߯y5Fhn:x܇G}N|kE<ѯ1||?>xC1qQjw^?.P7Kb xe)Q?}q L"y@#gC֧zg Z R3_?7+|> %VݵU{'Cգ xh*6s|LxDIeY{(Jުf Ćafj8؋dG=,/joiKuڶr3!nW]u/=wpb_oȂt*p/Zz*~*DY=ž*8*?s%L%P W(Ozj8ީ`#eB>s-uB7kg@p qd4_nTm:T:¥(fjM'=fE!)WWmFtj¢rXrtb+/\uGל#{V&OU7=Vjl,K4It| kLk[75>t6Q3^$IoNգGxy[4X@_ f 6lmu`S CQ䩟rK|EY lcD4)BmɬyRxL*d{ Uc/,M0ͣdŀ8'Ňy<{|t4 y:ʤsxE0M4<أ|R~f8t?Ycgy`CΚ4)h^`2 MG44c0>ps|a%Qao)fiTwC<{44OnEYqhɰ׌'?ADl2Rȋxkgoc̳^S"@cMOim>0‚wQsn*3HPж냩B,ኩ> H,ee֓$V%8,S% \1ZKXUck(6cq٣ lE͓b]倳:"I+x(D@ 0%Ng#jNci s`*81acr`-Zl:&*GEZm{^yp_^#a!(ͪ򅫏9_}h٫_(\it5-:Xuh9/  X8[60.``U0 F5I +:[Ȃ#㓳xT\Ҩ[FT78.`pyL>ъVBLϥWR|Ҵvb<W!2{F L>}CbJxgkMܹhwDw k J; efT2^: y&z?O19$j>Vլu1^TP¢],܀¹g:^yca-` wpKK\:`捒 Z6sՆh/i؁(3v ‘ $GoW?m%줈ʃ>a+8&q] 0Nb 9n-2jҖ*L98|Z[icϊacr|:DOw 5"y:'{n?OkE뜾p@䷀O© qK:) 6AlQ|fbKS5J v|jh@7Lɠz9k5,,S4;ShkZ f5%XjjbͪId0hZɡڿl0U [Hm3}omJ=K/IבA4`rp M?Ⱥ _A -MH,n1!D{Hܭ/6PBGFJfGѓ8['>=.)ަ?Og<OpObGYNIM?Ny01 =^nDa "k`&ڔYxqT^,RR `JAG=moX;'EŕΒg?eڦ0zq~B8ztAHs3` ?[}2 +տھ_r7yDVՓxxH Re:jЂRjtB)h;g:ʡaYEA'"eq kEX3.`FVT 0$2dNJ8PVӖ(R@* S{@ ]؇I +V~+36P`ZkǮ9-\wR%)TQ x|FyJ^%!1LJ(Il]]ݚՊ;(-TxK[QX=ԗj0@ {Kcq8qXiPW@ep>_6 xVWA:[&[q0U)b19YfQ졎PPO<+m`ϰcxfə>Z$'UcUk2#:t{P#8}a)0> K,cc7t1niѼ .Ycft|Iq=I>f "ujn?_lhpaNP71ۘJ laћjHS[{A]#"MJ&- XK #Wjגi$Fܺ]dLotI<#-;y̙) ʔI\/?O#.F-Ɲ-zMƵ1a9#M-!߼R$XlSdS)$;hp<ֹp^YCIՇytֺZR2G&#Fٹĩv[-!, 槎ShxgI w UخHrѪ>̘ ?|,N;"2Jiq5B]Ż2efnu h0ME8 UT.w`=Dz֖AYk E^fR l2V@+l=XxvN]>-TàGA㮙㹀*6e h8 2TR`7/| k#kq4 8ϻ:C*`J{hak{핚fMe ZBX΂$UJ˾~t:jv!~$En ᫟ ˳sɸ8ai:̃{7ͅöNj/ޭ1_{OV_ќ UdTR.1y;C#2_?|Q}7ٴ( 2Us29eAgACG]l<%`#(HB'k>-m-X&3Z4mݲ`Qs'??dn6VGOџ-ng,O/`{]9՚|eJ9KFv2CKHP8x]$^2\r!\Y| È,>sw7|#j,>_̈́bmYi)GR$c;oe᪁S_W+wӳ؋,FEP` N=׮)4:*>DeT^dS~C#oksӁo=|3/b`+Lz5P[˅xiT @Z6[62|kXFS-8·'F™iYGsc8HizX̙PC 9&UBCwDk?S@hJ~bA|5 1P'h6 Nzx  aA%kP{آۏ'< gY}&0A k-_,Öڿhmڸg5Sc.a&/!U7=ς>ukvm&! ސDz*lP5 eq:?ܬ_ \ ݪmeTt WXwJ&\k׉Uq0b©~vi ?X!]XmM cղ@oNV ӫ6V[ndMb=Ȕ]m:0g?Og 7lzܩp<];6-1˓qz ({^{G^c9NSw$鱠o=Wޣ~N}TŽ( !x+`s<q*D+40H8#DYv0,4@(IT1kgmOh2g$d(OƲ7Wp#(;[[m2yslZb -J17*Gk} `eY[C 3͇Uʬ>uj˾[h"5+1- J_2ZYk+>7_|kˀx59p'cx2.^EybrPjQ4 ECfe\E@C F:,;>#Qv<-ٰ<>a5{9oj ‘6ɯ '1^JۦV3\*ؼ1|j\jӤ6Yl*vgmz0t:Ěl%tTOl^˘_TR >űzd;E{@Mf1P"j Dxrjhe'썏:ym(A,p_@jc S_ gfHL4Ƣq ׶ABP2K  ;9=ֻhu쯅бh\M ġ1i=V/͂Ŭ/O$Q__gBb#`cȬaULEr苬s0Hke@-eb7W+ު~pC}ϿRP}/wSbKT!9cOЍL(Y ߈+ӯGď}Oymk~sv>+3gdԋk3%Ggt58ʖ:@B*}Q:MO H"zm'MYk|+洺kIKVTuG|Vn?U?ܽ_cEbB/3)> ዶKKbsMb1:-&ۜF{͏ږ rVҠVOn_H#w\Ɔ7gNe^//؉2EMȸ WlLmkKoa5 kSVFX5f9Pzscp rB/apM?)pLMl?0t׹0$ekU 6'9VRZkPxÔ?g [W{[7ŹWg) 4iF'_`d>_[Y/zWu/6+ J_9@e@l-tj/@VbP! }}LOZ#-1&gf㴘a(9fKAt]ߪQiɂ;$ݨtǨ/rbhf>@K#N4a½.)bx:c}۝*L ~\pʖ>:* hJ`jeK]UϪ\&aiZUG=,X}]/\>ɕռRV`<Β=ЕIP-lb%5uy>|KOٽkVٟkG[}cF`k|F6 ϡP7ow%1W "Yᤗ_(j14Y)ZE\ F>5ȩ|0HBb9輜qM XU'Y̮?#{ 6?@u$.$Q5?? Cl6-a4`?@EhAMmƼR?ޕ$Y|< NO ._+5h@ir[*B)Tq"Ɩ^QeMM}j-ͦXk W (.29zc^֜^(Q!Gt JŞ% 2R%5o#,Ԫgkm|)hM hv;SOSa i籬  HmUWi+o&x)Pm.p$t*@(aoߞOm&zQC% FNDIέ/V1B<>Wo~z|' kF0f?6sKԲH\ƮC);pfEM1} [6Khyߞ3jƂ9o2Xml` `8LyyB.1\ۚub0O*LUnQNF`Oԩ`y}|:lڲUDjͪ-;͌ѽn7hP j }ok|n^~x*őqʚelE7LUkePp3.d_Js  [k\Xꡫny0+Z8ͦ19yӄYq+w)ƚn83m`e#[oJX>#bM (=Gɩ F?RS'FbfL5lMR;rxn_ӢCڲK\q[:Y K {]GVɢ( OTgU*\^=H܊.uJ5q;Wj2)sa}'_,,6z˿>[o-ݿǫ[/=^h;OF]qH m|F{M/d8y'mz=ˁj<3`c0чw0 ;#nl U>nx^ARfxY* /97Pe /x64I {}{ "dʊNctH.RGO(>=WDpӈx0ӣQ(`T(νoyՉ*g̫;͑ aT÷h:PP<0+ ,bZ"ĤxA1kg^45rJ(V Ɇp CCcz1)#uW9C 6 o^@K08[Jbƒ9ièpK0۠"y Y  5;A߿(1Z ̿)d턟F;@LΏn6@N`N9is>_Auw~6 fWk Y'`e|^K;l٘VΓbuD3Y 퍀GHym#st[i 1AN7eciP   WQX4(nD) h>Qq0|C7axg"R *ފH h$+a5qW\VFa؀L jBM8:: ,L8c'c9Bd@HB"(b9+jOSRλ<,DY qKF"G5~xB23"pᡠl#Vp`QAcg:ԥM 渺zs4}IĻJVnJ*:{q6s6"U! hFJJ4ނS|xݜ`Ua4H#TBa`h Q33y>ʼncLӦ QF3t4ϲm<%&͹z!CBnXp+b`5/:B)0%e F BA*󂻵$X4 \28""q8 GH1X yq|=yXx pTyd1M&Oi})B*\e q}&ip.xIjZ` 4Gũ7 }9£UJЙa0` b&\M(Ք qѤ%i #`8/$G` ۬W24cc@)ΙO$`JL|4>._ ua_ PuB,q!S%, h5˗XS@ Q|Q' bv)ƞ 3h ೦"Ndp&OYlyj!t@ V6aVO_s@FF)'l]@n&ېwJ&\P"o8O!0k4i؟Udx Iz÷H'gSfeOpjASMm l#& P(8'K21KE–Bڃ{nF"wf[9w%R&v@R2 ΃ߪlYt _lLg ѱimcC <0dk6ZzX0ΠpiڄY&{Ԛ|; V6dQ}}w+­lLƲ[AT;R@F\x ɿNO]e-b%C@Ta3o !"0ňUHt3`a~VC1S^uЂeN** %Fp@MYES 9!㒭 "Faxh' fa4@Ypyq~X.h% .x#qgO8WlFhc˧ 6̆v,g9_cD㠓m6)M%P2o6C! K,d xf40ld5'x}4Ra KCv\ażՙSͮq%Y1./H %TV{7n":'$/ OeTv%S֭cC_!4*o􈏫&Eqp&)kLZI0FTz@70 47 Ԗo)~ rw>QL,([I" hch: upe4ٯDyAgJ$G1 HLgW|>Iqm2l[\0Ϋ'tY6lVݿpA` -xĴEC“,KfždcYC'BJ6 0 _2gXGfsJubq5J|AMګO4Dءa1')\K#HcQB00srz!JD; ;(dkr#( Qz` g=֟АQ>2sR"}֍1bIfCL Hi`d أ6)PNGf-ut8f(܇6#`kImozO >Tx ^dHڪ"'I9aW.<@@dEg Fl~wHfsE&Da8Ud3B50kGZS5GBQ)jp&dD3+.28Um6BqV!1ґI\M|>SyahULChzhXGej $[2RypH\JL& (aIz4=)RFw6FPvfK];8⊡;`U0phB%\4Pȓ30).(QjV @ eqen;4!`,zʔ4, = ᾚd/#V{Qh}B1N3DzcBCooG[^uB Qi;Jѩ$%wBqCjiXQsŢ-심M+K`vSj+ȋ\G A2`;C+!Ev$Fqu eVCE* WH# =)@b ) FHѰtE5'lI,Wb!Ҋ̆ùȊ".%A`tddy,][ވi {ШC3$nԗ%y lt"x)Aø bA:< KŭZ썄7X iTRy2Rb.ϋhz;U @SϬV*^v6"_r.rO2!-;ŽMM, |,0ԴKCa+ȉNZ)+" prB OR}!Ub&7ƨYDK}dEY|r}Y", CШMH hR+_FP"T&e,C8e<я% HDe2# luGZziZGM=ݧTCwwK V:}.u%5c}22ǰ"zcwp^DY4 ǺRJt" ۆh5R. ̋iUf}`(czQ_򑩕9T `1[О@yj9`#>a*30x^"rZEOm5C"2YB =t"L nqҰ!%L2E2- #:jѯ<WRgl R#)'W}"/e41/MӮBdc*ݏ$w,,XIc b(8vuK{ĢZ~ 3ZЦMY"/B XPaPe(QD[Qreۄ~|ãH +AE ~_1:μF~̐viJVfףͤ%CHU_Q"Atr0P1X{7H!ru"!q۪J7=3@@R}BֈB ΠQ6Β|BxT_#P#NH$:fl("XTbRmcb]}>`"ZDTP-UH_8>zU@i kl,j=7JLՕubd`KGjYXV[w&ľjBӥ TU+tGXǍ+ʷPI؏m茡 \HD[KzH&rZO2V[t F|"g0V !waҞk67 w:3ͫmmdMj4JMSf7Xz]ihCϧ(BfЙ5F!"/[QuEx!"xRQB!Ӂ6PqYPt[7c>#YQ<(%P͖h8Xaݐh,9 I g=k{&Qe-aZ΁ J6Ë e9]w9V~@mF{b>A)Q@)iv=9@i=a4LoptEpϊ={T Nbvcu[Q?9 蚔ĔHl3NnfvmAc}YIJZMԎoenj{3u7BXm *RIv_hTCx/ 5,4aaUi N#tb.Sߍg3qQB4GT3h-%<%53v/eP8Yǹ`һ64  E_t"!Ivw>TH[kaz.#y(7GcTF fzK@gs1!GSt>-RD)+x*IM* o΋dEDh2gVCm'd<1v7%%?חqϬrf/ep Իbadm+5"WO'Aгz)dfFk7)r`Xa2̭ٳ2|q F bV΂9Pax daqd\!U d8 M_XO.<(naDe nUf'F^< gR(AOa; cVgfb0QK&Y sLk)/2MO!"˵Mñ1:P\dv1HY@{0+MFwך"ohSP"oprQ~tDFd$L6g'P{k̒ [d0AruI%_C7Y eevmqlmϺ.)ݙ[Jy۟֊jFݨo#bL vߖQp̭ z o@mpX(6`|2 Pq| :PҎjTiAu~A%&6.RUpz Ҡ~!%<¶ 41bbAVNi x@LT5ZH07L#O(.̪e5 N-`xzP eW%,( t䠭-}`Zq&p1#YjG2"/0nh""&0+i-xUMƀ =wma|c[%7pt Dge 8(fN(JÐlzQ5c-xی8!ĆDkN)4$.4+00HrlIƱ/75i>m>Qq:`4j޵T3<(o+gh91}P+9"LBoh8i{EH"bf/|񥙎Y;*oYzwMu 9 !FE}{%ef CɈU@acd&!̀Mu!Id-DT\_< Q7ax0x!y; P*Űz6@FL'5?A'6sp:*%{,Iq:2+]!As!1EJyO|RD9h _ MP% N1_+Wܮ O[/53#8˪p곘*/Y)E2Zօf4clo5Q̓45BZ&Cr1 {Cu- Y1QmcC9v/okCbښxى;+fa6`K4n߀u-lXyQEAz$3). 9K~ uv]0&$gd?+&?}ǃ\Uf԰PҼ}\'EB†ݿ9]7.T4eeB[f,q,taM G33ޯ XKO>R:GQ φoX6;2Zo%@+l5F xLM"a?IJ:kR1˛D2] aKΉD$76xr:~d9B(&F{:!qJ`86EKy܀'h>j7FK)7 B!r`u"eR_=MH-h8@M.፪9H\>Ң+oTFB.)(XPRgΥo> [J2\|Y,moưBW%(;OcȮ"t{{E$0aFUKcuw7=ECZ]tvSG܄}KH]&hc Ky7# +>5I2\(H"b{2cq@&ϬT&tOL-)N[:D\%Jœ9)Y\\Ž=氶MZ 70udJuU_0ʼְ٩:+aT`2 >   cS`T~ѵ.Imʦ/i2dNCc(L_؂Pёsc!31 e RDxIVKBp0:rY1RcT5#UFjM#2o͢jɌhRtpŠDIdQo3͓3d.<0vl5 mꑠ;'\3l-E)ڐyYL64'&/5{Lq fwC ҹⵠp~u&u!" l.&th!eǦ.Vh\U?Spӓ]B7xIQaV2+nL 4:{e@WM?'tdyօc=YCl/E}aں0AL S2Oԋ1ArQs!*_ *j`J@ˠRt 5#RHr2hLNcsʌBAzpRHh%_ l/h6f iQ2&QrPWܒSF\O<i#Z1i\B}#-^P͗*!`&k}Du&=vp"igk(Rpl1" Ԡv,uarh7RoA9Ӕ}(Qe-Ԡ`r\LuAFH<8q0p&tٶbw[ө&*;P1~-k+Ɗ~+cE$qʼ)ݜ"ð:â`۞XC,_uQrPxbZ6nǐA!/2 o\ˊdhquf u7J"XFi~%fI0uQshF[w;hmLKd,=j"er* CdT6r2O}jmZĝiabJ 7T񶑾 u ]6]+oh] `,X8{W~İ0c;RI<`Z-[%Y.I-0cjڋ29CuRC-U>4MD{բzsd#BGIJ9t8 u1MLj{l82*0u\Ub2򫡍TQڄ+]%X5JjX Su0ؒdwgAaAaCAGv:aM0N 'v]*Ro2c(SZ ɟuVv ΰo )gl&p_ckS\/Wjd|X2zu1HuUC5T[zաLlk,7ֹ ߲dN P(K,Y Q5;A\@86 3a;wp|ˣg W}^:yhύׯ<|'̜_O_y?{tpaOo^oQWϟ U;U^9:?qxt;a7~xH4O}ooa >lP8-+0t_}6$ɶr_=GT/a@`ܜppTg`[:xwшXK'O޾%-8_:o6!}l7升=bm< 9GgX8J?0 ̎Z8{"CÊ}yE1X0u61A>dc'0;pdao,<#w)6n It!\gUZ ΅gpLa'(:| EeZ"K'34zrkd& f I X¸;b~Qba]k>/id 48͹ixbUPX$CJ$hHdCs,D2/JhF0BýIԵŒYMD(p̪Zxc$l|4DhW:)ex@r"pĺX-Ȉ2|-AH3nPbjD{o45MDfY"4# *z`cR*[Mes=BpR}͚ZADt?OjPHHQY'mF{ =Pr{IVe,wWw9)~PT7TQ\J%_bWlLE`(庛Mf:w Iqa99*-\Dl;گ#hP[Ji])/"3a̜ W* fU(GZ[6urV,2KfaC=fyg8w|=6Àtn&Dq'ɿ98żG9_M0j hs/ʩ͇uj [|TrF)+M106rS;`/GOberhf=Кrz ؠ2uLslq`9f% ;vw=>JFS7Yh ?tv.wzޫ"Zmp1%HݑoLcI@k}ljI2ٚ%ù.ТA& mB[#F@`ji:;FX9?i{p8V)4| \>ܘyiCʒ%F|H^65yՋrbyzXz]%N< FdY#AA6qEU41̑ƕ<ѹE8LݭV ,_$C+8j5RcQ<l#z%z7ślāigDO^;l}K}tSSt `A< Ar~a/R[{sJ * .ΒzO + }+)Z?jZ@H?s11|"OEf]U;%-sfЮpB3y:qaE3fH(rw(fXqŹQA%خѮ6,XQ6=<9Mp3Xj)z瓂fi7:z +]Λ}_$$\&C["U#dmth(5L[{w8ϳpxH(߮ȡCAκ1ml.4>JmQP‚_]ALB?!eZ(Y^u:yɿ#9‰n!Al<>=ڳvycمbp J.V>BA{)~ns,j{g9Fq/1D 3~٫*0Ђ*82*EnE:6?c2pV{_!j.1 2o{cJ7{]SI&1c rNw&#ZG)hh½x @1EhDfq@>GǯR!\vۈ`@ǚVǝ#[MKqȡa _'zd}@-r3ɤ*PS(*nGł Z6hP9<acAkr ,X)XaX =Ih--(bk[G %12yt#h8L!:x[[YRS*}b,) (N%d3l|)~e*QE2`.bڲKΏUN'l֘ΓCh^qٌIO-E h t$H#\44 BEÆ}ʝ^{vI|HX.T{tNN˻sEޓ4Gr 0tZI/mӵ#h($z9]|/.Kwaڛ89@K>0+޾y.j 6j&ͅJ ulx%1gị&$,jOFT?0+wP KR qjȩ ;Lm^R`]BS-]oW:0{a%BK1|X6RƦk4ҭ[DT%eQoh6*O>1𖧖M-ƂJ:|} G0j{s*r1|@Vx1Lj7{E5z/RK$T:j bm˵p%P H"."(w.H?ofvw\ԟwS߼y}ސ:] QԶ?^07ՃpW lQ!z]$$;-b :?$4xX 8jG驞'>͠$n!,lHX4Ejn9q B>,cKDC#'AVƈ0(MRn=|$c j#Ph b̾jiH Jt2[h8 diA!zj0#%'Q!/8g%3vfW a Aꄝd?8@N :?8?2PJpw8,n15:`a8ģ ”5X.8||Ɋu[H{msv1$kMЇQ{F2B*\W W`lđ$zN]md, x [-XQ ihPIHp5FkSbqVi! ($B8q9}IDb|}$wt"NH KUlo]9їP`=P_8fKC*-`"M?Do肑1qD 1  b ?ȳ X7;NќtfMjB $JJ:rA:W) ''H_3 3˩='bl> 8_*siefF"/+ PA1|&%PB!4ЊA[ib@qɎnDrќ*  fɯ G'\TIK,p HU-Wn}QppYsEkh ѹU`ۤf<9s{͟$g(*UVVE1ǻ#IB}޾PT*hv4mjtJpŇ j%=cO: UX*%ғOh!E9RtXѢ^q:%i]26CC!/:W2?1FNy<@:8qFf츑)V":@P""M5I@LBXI7R A 5 ^.d-@Ǘ7}S}|8D> 5Gjˍ6O0/'_^=$$nPNf/ڡ2#/odL=_fub=&r&òyOr14G$8f[NPCtA%7m zs@7S8 eY [)!$h[(3*Ϋ_Au4*@( mO3h%#tX:_\( ?FhB FA:+/2&ڐ :K*'wWpK}' SN צ,ޡQ1} KO(/f͘Eiю뱏6QZDDѫ]{ƴx{": i$ ;VQnө%!cQa;:ń%G:"4gTJ@==+4Jљ]&NQF77GJxpv(rv_(QI[%Z8Wǧz)~ycfݜnbrXj HEDtR@}(ZRL^^ 5W=j* 򞑒%@mcN^w,ZDÀJZ@%r vCQDp$I+t`NB2"Qׇ֙&1 a V6ʴ@M%9w)a: M,%<+O N$^CăDI %i7LL0'K2np!T;ܯ_+~mEEk_'~~]uï_/~}" (FqyzyQҹb|U4,b*Pl‡+̊ Q"E\ ,Hxy7K挆PO?NaO*z衞ɈT3 ֦H傃$CfkBӆɃ.Δ`${Mk׏oZxgzf6 M!6 M0N\,ow3GSHPO(6'ouvBx@e~VwWRu|y(1mH8YX} Ja ah}EРBuS1 \dxTo3B H0&=l;J5ċO[z݇`h5m`wp&Ek)J_S !l%Љ+& MgF9DMg>2M6rh 4fl3fwfԴz3%jĘ)afƵ"EZ?o1'SS$;Sisb"C[Z9X\01U4¸ U+1ۮi2E7GGF+;+ht=>Ԏ׊S ju).-3w[eE^6rhEDXwEf(lH]@_ GwR' m*D"$){Hh7,*¹"_tI;G>v#Z?m6܇I!d7[')1qvr"Mם+[ ~=eTc9rOU%w{ھ%Hm*WN̽c o KԽwZN-\Ko F8 w4">'Pj&Ɵ]rCt QOޟ1t0{_SJU[(spi4EN# o\(yZG UN8xWY [NtPll̩"Z<"d8JCT>e.|fJK0*V qn )]́(`4l1>͍ mֿ?K.Mv_`~@ -8e۸R]Ӡ]KP$\t0i1HIdiM̻(M70Ho%s(,mv) eRx @Zh[Χ ql(* ;Ͽpٝc980gK9c[8 p-F'8& nUf K0)vX!,hDmpڑjძJVؙ|Sh eX  v Z 2ӂ#Ŝwn'=B\u@Fi z*AdA:XɎF1QA3s*.'8[ᇲuؒ?ԃbr@^'uhfžZd26}LJWq{v)o lOSʋtR^/T3iKṖUxǘO9mxG*s7x]vr?pNs7'&>N;zE` P7dx39q>ٝuTVGۭd8 OGK7$sխI?sMsM*pZi0=_i*Ǐ?7 洞0#ϤdT޺\%0mJ8F ?~{N?ܿo]b8a`=a+|r#>9g+1Po>)޽qZVbg !nHP o*(SfdMSZi`2 QS[=-'}Pbs)s*(o`^z)G^/4^p[yLɗO`=ZI;6ou_(R$L7R5znm5h¾#0j'\+SGOd$*ed6lHogBt%V%"#OyCOb/u*9F%Tַ\&;b ks,.{yw*7~8#~Tڵ |wDs ~/Imzd"/]>ebf Ǐm騷¾Qa ̯NƃY&>gʹSS.l9yޘiϿPꊟ쑧{ un_0y%p״=·4;+|ڷ2\4LOlo[6X9w\hh'k.s GUkc=[ϵ:_ءSE}7c#?msWƓ+}֮}CΗr# gL\٭j8Y֣շӻbzw77=fiVyggϲ?}^;ٰ'#;FԜ2*pfˇ7ۥNMoz媉֬bUƊZv4r/VxS/lh~p -qby/h?L<~ϟq}o{dѯ@aKw8!\~e1lawgO|vфnyV|rqyAtÎvZ9aŪ'fO;=qΛ?Y+~YWO`!ǖ?>?W]MMSbE^p5V t%?IO nIigԆnIsunri&݋jfgGا{\Mw~ͱ]UZloVAF4M~= m5?_ɕ~T9~VZ'7vz%O/gQ;|)z\ IhSau> 7/)iiŒN*kwbdr'$ŷ{͚rF!b˻<-_/^6=Q"om3YÇJYѥF~WMxS$mw:}Űż{j ܹ{:}o<=>ry_%119IɛS:O}"-םO7[{N>}:gΑ+/zӣۭMRO.e\_Ԉ #Owo?=F䭻͛ne˯e/|ij7 ұًnSKE<^.J.ժ;qW觿0na#OQ/팵^ bw2v/>Fl-zd a|n?yJ.s\+w#kכ=7ZS&%_}>}w|th;&̝wcڍ?Vkر>8:xž// GVTK~!TjԵjk;t7|ڂ:q*W :kPW3oZ唷wM 2شj|ص uݚu7ձA)VlA-_͟+[8/Zs?k]M<nШ#'<{˷ _[DǺ<7ghّkۥan~z[Wju˾z =v>;,^;=ϨxwթmU[M[%J}pK|ᳱ#<eVZ|.qݛ6_{GV.Ztc & jyjO[ld<:ŌRXG5j4c\afKءÒ+j9QnB+h>-:tf,*a%:߯/^GO.v}xgͬfC~_zE jXc.{GXw˂W7][T#yst]dŤO+i,q)meÌ!O^}ǽ2cfl5oA;oM%|yĤO+fugk$ouxSsŧw>zJ\\^C)O*1]MO} ¶f~FΥwюJ?7Uaq\LzE]htvt7E8 {G1-~[|~-S\9P5*,O_4{r~:Uwg3y%ص;+ʬ9Tإ;C6zWRmk#gNXtKyCם=Z1)fo6ao^^mrj/tgNNwy[۝5nV[3tZV*\Xb <R{m[Z_4pxZlӗ^{SǬ?M-?wOݤVTI/|lݕ kP:n? ~3ryla)Ab=/{{[~)5ee,xQpK}-i]=.3jǛG鵡ul0߲ŰM}-8`E)|OO}UmjuzgR.j:[r)q{EP]݂6mԴ^FM?XVS+mD*83OQ;Ek9`?]lt njO|4T8VxRѣ ?y.<<.Э5*p[rKd<6,X… Ӯ^N$.lǎwKIJzpH}/]tժ+W_^bժg+V<]%O_|LJ.VL[޼Qfo޼3g"o޼&NleȐ! ?~#PYfM8qyO7lP@ݻw-Z4ׯ?uTŊK*7_xbҥ ,xgϾ[nm۶mС6m*V|e&~k޼zt4 g|CBZ)#Տ.+w£MoXlׯ~Օz%~݂A?_Ph!*^ * sKa+3PVwŀ_C㞽z#<=ղ7Y )իQ_._z  zG^v%C>l붙f,-l teҽ O,@P޶o^z2rh/nDEGF|TQof%]tQ~kʟ/=uzmeO~Q>I'J~>O[.kRzL<ɞJ:[_w;7U.EL1fAS6}#ˎݱ咶o_y{O(Q XڭͲo[Wjܜ/Jխw(xhIgT5_܁94ȃ:q,;̻;,"Cwo VڻK'=ny2}iKKޙVOz?N9GtǰK9zᣊN~θ/9)5i#egv>svĨq%=KB!fӣӼ+~o7ҬӮ?+*UL\缇4T?8ȿnnu6ۤi"f{hKClM%>mZyB-9Hg= 0ZM8]2`'̻۬"p"OG9A W!#5^uOۨ6*xTݻ}e=#QqFW c{ s_н;ZA˺E~?gSW/<sm,PIc sy5 E%tk|lVrķI,l I(j ,%{Q}ӻ:`bB궫Xl}_kРpwk2|}_7?{՞xd8ޟezmG|#[ѵ.g.x[eF¯RЀI/3;Jq?s.93ѽs{3wΖk=bwcV)бR J\ D иĔѣq0ґr #:qJg xZҌ ujjXf=<¹ŃLٲdໞmML{cK77a /aŏk8ݕ;z .k/*r)U#y]ji?`lW4׿%'4]&z+&X[cʈy< f5pNl8O.4>|_tG]׭=ݜQE4뿿0"g5mّݙ]JM `Jm><2VONwbW\l>P ǧ#3N{޹r!Wku~?s]}͎UfwO;;r>иMūu{&߿8USϭ kuYVU?5{`6a 57>,!G,>z%;h3[.fgQ|_]6}ǏecVd]|G5|E&|\FX^q⮑_[L֡|eVߌI,~cPO暟qY)˃x{uWk~׫wuHO =zq?ڻ'g^Utnm]_W}{N/-/왖0、!>pwcTG>G7<SfIa_UX95sFeg8Un۵nkSsF^}*z4H'.\8uMfoV{og-'$l[44:\=A[#ތ>vMC un{>wh#._q| ?2|Ғ?D^_8]׋l-GRoѩ]SR]Q菷}1+_%"37^3ʓtuS;l_d^i3& ףVo^< ꕕ8['J9?MSys˟x׳|Z[@WGmԘ3>FW׳<7zm).cRO?x-k E޳>t:c!4ϞB2}wҌUgO>`_nڴ6W[ǔ?ybZv1^ܒSztyxjט;Rd};W<0Ÿ~kN-!}g`Z?7[)r6c瞁%ƞ-l͍Ew/a>n$S<Ӯjwav< ><v\՚e*h^櫽nXKL*r˒58퇮y^ g(YS-#/tR3n츽Y~i i5f_5;^= S=kxUWԕ 'x<^ؿݙ6^3Vbx_gnUfk=ÎOjoQGvLI.M969,0 u}S9ԏ:Vh݉ x{=fg>o=Uڗ0݄6[.+~Pp}R- 8L_'ӎ4KCm+[-fU _7u>58c gxhw_]fy9oNƾRax$tzƬo{#ͶM*QsIezբEO ݽM/mi]{=#w@[Ey[Y_1](_O_+-=rX_ѿ7?<oʼ3눭[r?ɲ*?sӚ>][GxZVū>v̚|:OڵL+?w@ז_(F^nq{ >O'{݇o3x75GѹO۷fb| ~\˗'{L]O>G_˗on'/*K[Nѯl}k6M;|Ǐ/_̎AHZ6PԍMþ3oOkDYq"PVV36ɲ#1-m.'RCϬi] ̪tIוO({P7o^ǧ3L֬xeͦѺ_tM~ÃZ>wߤ༑yF}^9bG#}g/7nҏ}U+τ! Nu;7BnΘ%! ol Rx$}ҹAX[[ϼg͌͛OF2t[>2-ບmnݕWv;K=|yw^6Huǿ,80p£wB ڮM'z/8_ˏ.w) ƤX#Ns]M9wYX 'k-o~㶦ܩxy҈yš_R5swE(_>iC) WmoygOII|],=OC ,mO|K{ dzpK OܤޕZ&oxO}-c۬,\@|^N].`ޛͿƝlYu|sAy~SO ]}]/U ׸w駭\KK<~, M׮]k v6W?pҦ%"? 9N;:T*">5?b܏Y27pʕMy>ԥݢOm2.xlqFnZ!n'Mls~wfkQ{fGiYҧҀëM*2E^Kqܿ^tL'~nl䯿fTgp=]ͷE߆|ahKu[l곿ɍ|ezKw^گ5qDG,tpŔ}e7y".ˮ <܆<v jܴAp`ӫX=!L v$ w> F(8_yҰ͈jժU^]Uzj\Ꞿ^^^гg :⫚WV-ߚ5=9ejxy{y5 8Tų£OMB5x|jըQ'*S'N*_קgOj^^5sZ>5kza/^duTYQ#xVW wFRw P-ZzPNH[P^LG3U2Q#884UͻJԦw uׯ_=$*^ zSa ou\W/ Cks4TCWM5z` xUVMN-4wOTf]˫jǷV-/sՂZB`SN-<°ʞD5y"Xp5h[VM&sxR/5_տ>3Ly>9^yذjQåsچ'ٶm7<3N?PGzYaǣG=u`v'_z&l]/>OkP&_2ӂ>m!AO0廒3 *^nG<|y_y ]xhr}> zrS'ދ祂gβ>!~3gБa_}vWk;?Z6ٓ^w[貱ǝ K*j{р&EL~rl=5ϱ}>8iOG'lsY=unS|tPͰ1׾hsv?<"XG i̎1CݝG/~M~ЪԪ%+4.\aK[^ˬT`{jOԼz~].9c ֯[Vzo,V=qّy]Slmg_۷yFGn̕zͼ|{&\]u3=O>;ע^LT?܀u{\B8~3L ^L[$ԙޚ.muߘO^άu픪!Sj>5V֝M+7 `o_-!S듏*5s6%wo&;S薥k.W _m~o.~j-U+7մGO9Œz.Z%Q}]WCR,x`xW['SyzˍK8W/7~x~z;+عC߱o8ձ1}%O;ppΖaG~ԿI&VOxcS)rkVxAփ_:j_Ջ/+&#c?VɓզoۅIow_f>:uTEFbT7OPEϺ=틟dO٥?glGd>/E#ql~!AGr#ASVKˍt.0sOYp@zeUepOBjEtHdĞi=?:pgJK]x/|ӞROێ:[{QbzǩaI-6gbW0#JTnǬb# ć^6dң=V5T9ߢbk hS'KaZ1Ú׹*z T|Ӣ|jZ4³ K{6=ZB> :0BU+OJ>oYRKB<ڜFql>n<^%~#T$Un wyS׼5̘V`t ÒYúW=,|oN3W-O%toǑ<]_z3a-ܬ]N,eVf#h؍[>:UܹUrf0}#tX`-8Oa۸Lu͝w ޷FsR\Fs]y%C\(cø|rm[b\];N[yA{{ϑi{C .ym)pVnuц%+ ^5ZL\Fgl_6UZ>Sy{L_x9u?++O}#>O?K;k]glײ D~ݱxKo]t:3JWn_şz몲Ǿ^?!k,un͹2vz#N;QƢJ#M}wS۞y.3nHng.xN±g$5,ռJ5Gna(0*{8F렃3 2?=wv_㪌UsW {x)F̈́$*B;aFhr>89Y(ѫ.SG]\X妫z̧] >dG+VXG7:pM.B߹qO>-=7 >.շ}:h]g9/>6a=C/X]"/8{rW4jruCǦgm|&ёM(]Hyi5.֟?va $obWMxRkPq57EyzRtmEhgq=w7C?.vtV0gT}ᳮfm=dȐx:ډ ?_s`_Ʒ4*n溹׶ͩt}غh%m=M%sܠUn* ͛7[ֻӤ ;S>c!k0.;rk˔c|Y(jCkԴ^~{2ݠƴȶ^e~lMJUqW{gݘ:w{⎡|߼~Wsw{t?;*Lh/e&苟ؑ]絏E?8t-j۲Rx|nsETZ״URzןz{Λ-N.rR*^k񋊷/nBz Gr_} _sq۽)ϼT^\gy$o^<޺N({5w\;睎19ndz1-'٦OR)_\ ,\yI 9誏j?Ѧ^%d,Uv57-ZC?3d>{ijs:z[σYr;5'mey2X\(;dשi}u}M{|} (s*};'w :/^y}ԍ#6]6r=ӿx ->5;hWc5WMeҾY(znm(sg_4"nIF~͊ה޿?=W4tͣ '|%/h7$|VwwM^3C-OOY滕?Z`71mi|GjY-uңeb"H;q|a;?/Ѹ䚨-G/(U˙^Z(߯U+T3` V.uth{\r_>-o-;u{eznKz ~p)Ю+I|SÙgve|.}n[Mo42j?};y F<73;' Tŭ}/:ؠfMڡr'gMn?wFK= {^~Vbۜa>fpOナ<֥[UXsnkE6p_٣Un癒'p7{)5+&b-;/ܳmXQZgBK't߆Ygz_\m',:c7-]FVZK3͎Hu䃄3C^ڽ0?>h!yI_[a/=uB\| Z{^UP*m=="7f~Oo㦟m z)O>?Mu|FJ|s}7;5|72[9ue]nP/ժa  bmb`XʫSc? a[~sٶSQUkcݳXdGfC<=_CÈ%5tلFwh±_~2rgE;&\7Q_= ~?Uث}}y[԰ϊ _7oºO׿$^xj.-_or?v0>ݧv 029S#|ouj\>c5C ]㓙Sl-tiK/Psi2]ղKGmQ/o;Wzߎ~:ZʣGѽՂk\蕟F5qw~ȓa &/^6)ݺ^p/%LqKE&.s:+ofk I=ox[p.pQmJD>ĥ\vmn X !MyI%T{UKpD xld&pza÷i3 #&a}GbeUHe /LQ-6WvVתc ZI-f6.nK1s3gB 98[<"^3.%"|+5&C67fG ֍8 nv2rxu\(9\vͅFEdIlNq)ձ%qu<6 9ф=١(o4X=ω%yCs%L Ļ~xK v;owқ^6:mG["ɣ?Voץf|;j#s7:ӸPJ[Zh-ћB[/ξ4|:/ņF/6 G)z 7Ze?.lx 0@{gT2uRT03<Rcqz]ɕ dG+\oG~nL?[]R%| %׌[]UeLro%6[bd+=})ݪ%ڜ\P^֎AdWH^NhSt"rLa ?5 4neXoy=YiKH6hu%dDHtd' 8CDCF (C8]ivH|sy!>Dm#p3s]vsbuAITM CEPXRC{d3<(hOi"\}7ۏ| B\gj,\o9X[QBӧ&T @;!Mar"D1`u$m6nt!ʠԛ&B^wwI0Y 7o3U1QQxs >%9꺄ytVlpmք:; M\7 X>*#@:kZ "Ћ 6F8fZt\opu1N9V 06q.3s?1C/UD}E[&*dRv P%K-F6C f#&ρ5+YR0u ؚީm𶭹][MȸE3?fşf" Zл5<d6Xj/7-_MD8lT')#- ؒ`aP5-!L)ϴeXp,[#"wH>qd bSD%D́@JHN`/pHn]gE8X(|HrVo?.iAe!Ŋh;XHV t0f2OՊFcɄ('DoHODdJcv7T 9"0KL8,8 ^;6jGk(k*»xP%Ԑ10l@҃ Gv^JjЧt)9AIK @zf`K"XFj-@?g .$LQhJ[1 K%iǰ:SZ8$ﴧ-Q:z vkaIMDlI~a# ~#PJÔ+ @4JN2-a9*qAF)dɒG%J'piAjZ\!FQ\e$%#0f`~{ˉ:@1'7 cc8=ZN]sd@"MF2"1  2>N(n)u "hdf Q`9x!8P}W[\ȱPHٖ ƌH{;b:b߶Y BeF-H!#ZY Nz0] SBs7K-ezh33kNm.~H )\1A|cTlWx-`5H8:㒸Xa#]ntb 9c.'H~hG"4 L GsQؠ唀Zmfɶ!}ONy 5HB=a-CҲ,!'ƽh Q} !oE-FK[J" # h -mM+c`}҉FH6>[SFj6"I evPD "_µ䝺@1W}iDbлi^x@蟌8F5Q6j5nY)j6ZN&֛Rx/[ 4p?5Yp.Xǀ^3\Dl fMڣA# 6vΎI ߑDkޥv3X, 4(! ]:cPOdo]үBdcNO&NSe$͛״hE@ nJz d~Dnu0|h#V7:- "eF:xQw!8h8ZْSƄD'OROV jv+58((kriAik*jhs<Úi@:.,Џ.trg`C-.BBf*'Ln.X@ % i1@ k۩;ң7``X-O*ZHS9ޒLn4jo(ICh\4 ߉F 6h PK 9OvTS^ 6@#JʔǰED؆ w&8`M؏٫̮D:{+VX^Y9b]̋L&M椗XǑ޼|"HYb;K^` g01y&FɻcƾҬK|6sPКjW&T^X#<ԮÅώB)2y\$lBOdZgj2hx1&HUBNAZ _cb%5BHE!)\jݍ'#GR-ΨySBAnNɇ>%MXm2hFF>ϓ8wu aG1NT]E ݌lH}W PxCğN'+V;( < ʝ,aeH[w B_dq@:͆JP-[Y -F7aEp.UpYI#0 X5䭊nN|/F-tkaH1 c[;v5o#]$.ӕ>z"th¦-6ee4 ; փx;ŐDzBQIH,6Ai.Ly*MH'A! ] q TfϨ#P]IlQ[evp)*V>جB^aCKgHUAZX1VPk &9k&·,zu_7 8(d:TeFuZ|\ Զ#h%kwY^Z` 326,ljjC[GjV߁ t IE~x]*a (1;3N-!nUMqKQB`F. aYbpQj!2Jv'S9=;hp&ѨR,|s^phĜ-F+fO]8xE[|P:*DM  `Hp]&"@yklVWBd$8/Rk+LR%X\I4+Y}ԟpvٓԊ  JEsI8F!\հKfp,? \ęUe7A<3fͻcu+un #}GX1Vj(;SGrʑ8P 򃍨n$< Jp$wtJ>>R`)5U{ڹttHhu@G$eTlZYTy\fCke`[- uh uNyJ զXW!\0?5-sK9et 6>q=%!qnvH2)Hs[*[Ib2&aԴQTd-Y!,ƄBW;U*19TN_Dhhv" F">~)OORuAHxFV b-bxs,ˡ4? V@aIQZo؟;de.ve5Y!4G~/_kXQdSpkQ~MGKhLFVS!9z,esNrƨ(IA+Z-rΉq:A5#VpfAV+؀ h >\uY!]`H^e_OxM"v}hH' QJuaðɑB!O232Vd)55m,(2;C6V3$/#P(#%I+pJQES*I32hCp!HϧBRE/$Qᰘ܊q4VС5,rr0}8-Ca%K;uiP~]|p{5Wsׂ!bv;Dڡ޵:Tr ˫-76M7ś馔3t&4DŽ45ij$D3=%:2O.*# Qks"QIqV GSy8eL3K&VƂ؂ $mE]s қMe7z0@[&Rk&P!*aӵy^`vĉGuq*9fdB$T (Q˒o HQ9-wH40%p8vP (l #s[qXt c D_eɖNͤ҈}w'dg@rbˆF'jmfRD9ZT MTnaCO/=URQ!Xqz7sfUkόVUkUgF^3c.P1#3uȤAn8'aB䠁0{`J]). ň Ԙ4᤾M)Ѐ4_4am '/N/\/FO|x'RlzzG|%-c\N>b۬|IKq8젂B׍zw[Qq# 8}[ˆXb P:?x `-3ۏꖫPG5$جZ6KnάhiƤ* B!4&߄8X(2Wo*^ʳGj\cI!.B3%$tXO\eq .#&d9q]͏[$.*J@;"=Դ^VbC(.1mʸ, +%س+օEA&-?5#u-JG8 mqfuخ [Q T]RByܹ8 5./^#}Ǜ*<:HLԮ#Yx'MHi}ѥ49M[]m[ZELmM)EADwG&$*1HYRiE꤀J='\#О$sqz'oma@:ə<mRZHqȁ^ 4o0AuC|aDHÅ6t C8&*Eh#M=R)%T 0KD@8CJe3ƚtxBqH,cb׈`(D)b:GkdF6)]ʊ֌ثY%_Kڿ-i9ZĜHMr^ # D*kzF[YԢHNC`#*ڢ"4ڠT],B—FDɬ2ZW\Ԛ-zYjdbFY(BQ82˓7cA2Y:0 tDt4%y*f'dn%ǑLjA(hQO(1z ^\|Q!8x:5FMl[un H 9[Cz+Y I ʫ3J|٥:T$P'J.4#DwW>NCŤadISY`x|$Akk[;DQ[|C>H΁a.c]4 >gAXDshCEJ XH96]2țRbp(Ohti"L=hRzwwqDN| CϥfXP 4ur_ONGl>YO 7Pի?M6NƜ9lpj[c5s-4(&ٞ(% 3-&ܕ;_NoNZӕ̥L2Y){đ̵Α-Пu<4MH@+%NpzgCmXUմNլ:5st%eCPHA}rBPqH@茼$]S/#7u!O#1# &qoh&^MK㹔4C"3òNXf߷V`)>B\Iu~#@!=> +hVfƥmN. }ODpF %IYl:o@upȹt)jԕbKZCz{'qI:dC./@.+3Ҹ"ږbClR\Kޏd"쨄Jo)h?Y3WV*{EѯҹN|MYQ5̠]oj-J=43sѾ9RqQsB;BWihDA,9J{hOq6Wj1Έ~mHdіg!3݂ν .Fbpؕh.WN"b%D]ˀ!B?f>O&e$>s[3ēr[!Lœ'3%^eϬ6qQQPBYiYɒ2Q Ȱ-z2JfqIh L9/6Ҡ_[9qBms!EƈhqؐB$(BijԮ;\=V%6VNIp2߷]3bDE#6= %e'*s :~@r.m7FIHfb"l̕-#CdځAo]AS4i6]^Eјhu&D[2RlIr!hAaB˃`\uEoHԓD1EFidL=悩3P58xL^: h(A(h:`r&ݾo : m-xF1t0dd` BhXpL"I;lD,a'%i [e(;=&t} ()eZ&;EJ77"n'[IMBxӒw -BfM%kKK5s$(읗ǃ'n{*[kMA1.1UOwN`*k䓹Yd`#ƃ8s@|k:| ldҦ.CBFR" &L1B ffG rhV Tu;eӺ.O\ZA:ؙ"L$2qTU胀"(Hhgf9@RDor^aiC[M#zB< yv)ld  6;d- :'E$y A;]\7 Qڽhp ǁ[d̠d~q&Co>EDe"ȏjHC[ F@!e ^hqBI`OE2 ˴th `"ģD@UmB EӔ4: 9b!`Q9o0qhB f@ۛ Gմ@8߮4`Sbj3 :Cns 1H*$aXԑOK'/7brcVjtݹ= F avg==ug337JGCnVbq$0&b<O])i^E}k) }dT qXbz3H\2 +bS2P*lxո_\a1䌈6ApcFLReɕj.V.3v XR\D-Xo# U$#R0L`=@;. G'"')߂>% @7f QH{ գ9<Ø"lna/3ѲEmΦS1Ner0aJ":I'$~"LEflUW{I RAm$QRxGȨݨS+{eTY aǎ7ju՚ӂgZ~uGx{ZJ+q4@ޒj hC\!*FX*FeB(diItlNE\N=MPY2'$=\u/߶fl,0 纵> {.Хh5޿ Sj`pޘD5x(@,^FbLTtKr⍊^6 bw^L<݉Rԑ+5藍5 au $3FYD{%hR+<9@EezӊtKMȃ)uʑ% ײc :-3Q:\)y95Z4ҍRƩA ]C=e 9ЂJN2sPPE?:·þh*n;!tbH&qQ$b]&A&5+5kCCO5σSn~$5ٜ$rcVA6ڷD lkJچFTWGŝOSAS0%RRCt5+yV- Rf-L<`Q-UͭyTr$w ExLv[tw3i#l)`" ٓ73 $W GbS'^|N ]AMʂSN'\ꘆSlN܏HNǙ1k)^iOPe]j:DX 6W SjflԛfsNQ!—fujj#1۞Ձh<q8k0PҘ.ɬ3֔jMM1DˍXɶIɒL$rs\`0ªouwoR[-w }vuӾ\+x~6?qĺ!C _#g ¼& + m~z{$, i ]]hW͝HRisbt{4P(̹E] EmVRJrhmYCZd"e~L|#|t@lFo1D q3|F)F\b "Fj])*ykѪnƩ RљV6 ucOG ii# ɀϢH'aH|"ނHKƖ:Y3xCY\4φ,m8.r+w t̆TLAD 0$zf*o1ie&{ā!?E]`'|, רwѳ. `YdKgґ⶞FF,AD Y/F~28釜0M8(v'D&'p+$\(l0gR:R8,zI F sod%$1%MxQc *q:fٹcښњ<"tk"p2CHlZH%S ̫&dAzdHih0vZsToٞ0LJ%Tq)9xnDlY'Qǖkĺڪ4/IsYHIX|ty2R"XЏ&,xWѦd |fatfXS**Τ frNN+$@1"΃DWKpd,Q&v!#s5lΰ@;BTnY:e,3L:Ʌ*N)ۜ0y;/H+ -M!e؂HET1 r9!l`@)5jmqy8(x ~ 5 nܠQF oܰnÓ%S]_.68opF4 7?!ELrΛj@d"D*1UI)Q7ܐpe N$؜RX"FY;ܥE"V2jS]]KPVʠ8 ܵ՜,oJ*۶"vxj@oe  oDLkܚH98[39vy˸x GlWw~í cC$9L:3R&'QvFx+D3&GBW D}9):d+K\ѼG %or`.ӞjЃWǎ%#i% NOfZaQD;l?5.^98 Nc0ΤIGhphdM%L\!6*cM5Q{̼64Oi&!Y3 m"foG##: p6\`!M~z_ 9sP-ٜCFN RﺒѲpI;٩u~nZ *HI~QA=4r- CAFTmj^*rHG^eZ TF3U)cLx~Љ<-[UH$Oú;2C7(1h|5D$nshe @v1 }E^U+kh촆9/c_wY]f.Hu*ǔ:HP9duAJ0(;f1iXJPH=s#B+AͤdM4ԡ$7n~+DdF2;MGHL&¬uh7d.E;ːb4a'% p2Y,H.f"$Ǒy,r330U|&.aǭ# u {BG7.;4(y6L'&e.3'P)|A4o% &&!qNQ$ 4:+qXp98uѼ'SB;h_X 5"`60CK-1knR +"x>)fn 0,s4+( u :OF©IIEJ)KhfA2f Py`8? d)}0dtbץVGTvR(PAAٚ<_p$f ȔÔjva] Jy0TDBіGƷwf.;0yAR&fH E;>GF+g9LZw8lKv `rbx3 w^=@@fFTu5 @؜p;DJ o0O$hYUT' d{u3GM pf.53:qDNIL)΀! /~$zf̭켌sk9LI.,q2[Fڜp#dY^؎ﰌiUrc_vɶM Qv)5I 76h򗐎-&Wb"D!fL$v5F4(ȮDIB2IV]`WDؽ/C+ q/Ai֖xX5!(FJ "5"AM1;`CYAob (Lm&HȜdrc.@<8$ÕBx3YD(*ڦ[4Ew!Yg6j1Uu @t%P+* ٻ`| !3Av3x!-e`F`ml}=gZ}1eF3/nR""NȴDtqȴ첚@,2e}MRHpKEb_&ivic a-L Gqh( Z +^0;b~;"%l,z&CdJp |pL$!RB1`dfEi[e26 ( {SaމGg #QQA.p"Q^e'gԷs-g%v]Ö2(E4$B-&I[&F"(*OŞs[sΓ!RoMPmHgGcI\tvd`H'ER6Z|üm[Vo1p$p)PS;0L )ɋ? ,"`@K=1RR3p8q& {PE&nl (+X +.N6Q4GA͖&7TDw!"~ݧt9@@M(K (vN\XI b#941v4BYeI~kfSSD^y𣧐mT= a%ŋnML lk Z &k;4f"UyrZ'ҕebE+*g/iY-٢*=wb $ᓔ*?XSvcPNo%siw;C`U9~8X!1&b7X H' DI^;/[x2dj%c&画sΖ]f_ر$ݠ~Qf|3lXg n0_y_0p1%T)Y%)a tMŶJ+c*SXUZy#䘤p;O;#f%o МVz^'31SO;)otH>5*'/YH 1$F  %btƹ*IÙ ފBbe { f~7M,f_ZiRXOi_cC ^97>jܻBH!/y.cuH=x$*]pOYNw,vnY?Gc%B`}Q4k൱`v¾r}*`!xǦ%Aҡ|ēv w;mv#ki0Jn)dG3'Z$uvjې([XLDh|6 xWD~ |ʆGiH6~4N-yH]XqK6-"'7WR֐ܶ``T DY&m6 )$@MN\B?91'yDKŽ~ޜ LR)^PU;C-ɐ 84sd*]wReE>\͖A?6&GR)b4)>Ne+d-dldy [ƟC[ +  rA/$AU:=`F!e7ZIekmd_jVwI.m6ԂǪr`+mQA Ɩcj]ے!F`RM7 ki"K^+wh@H?7k#(-SDȉœB1NeTdаŴ ̷^8,2 |MUX#V?:Dc#ZgkXF׆ |9_4]N_Pq9}KU`å@4!{1. !%Z*K ;e^q%؍@ X#M̝y.*Q{@eyL)7e7М[FIՄRsׄHH~X+i;x1 :hdٍq@k6$AJW)d)WȋHqOnJ] \…,`hfPqE.0O2S]Xxq`]j~3w2Nłjٝ v\L#4p~ˢ(U`1Ÿ T7Z9}ڠNrqh~ @KFތsڜxr;s8z  HosB-Sa%` 9D,)!]">GB;L4 فGQ,U  Jƴ,ܡaR"s+SўC (*"`q9@C#\Rg`&fnF%3u瘞40mMQh5~ X-TP3w9TTdehJRzh+y"`ԫPk?0"g40YIm}0ّhcpRWū: GY-Ֆ}. W%R*x0t$ۉBDLG!G*HK: l2)9IzLw:Szi$Ԫ5ŝ9CɢI+E4"H8{0% .&%, zjmSfq/ψ&l6|߹ɡ,Lىȉ YmS(\ؑkV>tvkb" ͚UNIJYAIJ@j.;}DFu̎:DlԺӞJw`ד >WauA`2Evx!KFN: /mC=@ l%A-'d78yBf yl<#iO4Wv.VhljR;[|=rYTnt`s ,,\_Ŋ" я%Zy1 A"bH] ' B&L"dt`AEaҽ&cwCj3I#)'sTƘIH3 'jH1H0Zj0)&c 4AfjLe+"lZb:<T7wk; ar6"50 b~e:z+p"J@ʬhC[* Jn8KR6O(!Sh64LE,G8 /VuCaaU#SF0rj ,JxF;;E\oUKi kݷ sWIMIGCB 7)'ZaE/Bp{[jkQzmXڎucFk&V IK'% .+= Q I'H aUY"eJ}w!PaȔhmD|o<%i~BIB3نfcO:VDyVD TN%jHIEDJ5IȂ~L6p * J8ҫݭYCkY*dWe!AHX-f+h$YcY6"\=rl0:~6: *FP֔c$8kG5UўYI%$筒22v,ZF%)6kt_E+Okl5XKLu"]9^h:)6xf|\G# 8 Nɱ?q!=4\,ji(@/FHg)2Ѫ2܆~P<kQӼ@hA ʣʤv5R7bӎT@[J&⑨Snub[Pem #hUi&ji'_+b'qˬGA7nR-2N`'EJ(dgPv7̂9Şl-W` vI@SM͑kC OCB( ;Q2`f܍=l'2̖͢T=}K(hNM%V}+qrphJ%U&ǎDmi27Y{R[d"?hepԈsU&U*MtP=Eͼ9)Ip|m#)į'C". ^#<}6Hi6mU 6JDKӮt$j) :=AW\TS Ac@x)ŠNȖX ~/C$oj00 3ee]$4oGbHx?CYs14Ž#'́cc04pk鰇2q ɑ<&#;+Ѐ=rbJM}03v貯ĩ!(xmIEvs)s tw7Ƕ=\núu=|c.;kqYږ=k_QiGҳ6dmud*?ِI?2Ȥ#ڀeڑAQ.kdž#Svၢں##9φ##eƕP}d)k}VZmDOvw8ct5:kKV^dd?a3 ێ(y r.57 h؅EmBm͵n Z'bdXH/[QۣзG F@ulZ:ۢh2AnLXuL~/A0r~ k4}o@`;"$:'ˠzRG.>(-k#{:)B #L*.D7!x6.ʀ%'6ߣJp1R5K0uIޏB8 }a@#L@v݌Cd4uD-AȗIl.j1:l`B\:M@0B; 5QȆ;݈*|`"X)v[W0`n4@D WL IB[ `#` ١„0`I6!CZR>ҙ'n-%ܛa( 'Ϭ%%x`0Dc=n;2P̋,c6n%D%/e{=rd2Ww_XGn#{y c&Ck/L+0\F^d=4 RX CpehGj|fŻ hk~p82ٙZC_u=n{ otpy!x|;ޅ9:4u8lF]b.3$ER$F+Y n\˜y8@|AN+[E4ҁhVz;C*_P<\GB.tI͠Ň Qp;}X6+j:d[ީ*~0L756cƫ!VW/j  LF& 2а`sc6 |2`9MXI82.Ap:6@&ɖV ,c"`M6D{r,Izf(9ւVcCu&: "lc=6[IH2 V\undtr8hOIA$ƝBr@cȂ j0KMQJкqPZ:OW-ݩ}/J<[Uݘh /@])A ^ lc-t-o֑,]"Z\e rTmONklYP m,!:#4lki,<;(*CO<X1 "F,:b f0'Wg߭WW_ygU lfvGUy:n+.1@A!ZoЛb0iY[g?WrZYdBRUUrIWv$Pqg/f? :Y .b%G-lߵsҳw%Ҵ_ܡ›N;- „ 9VYkdS5_%(VA|l19f9h&vMzN1OHMP:3q)$At]w(0 HkdESv5t>yމnjY5½uiJ:?NR2P'ʀ*Ia!gyv\`kV&J0jFRSdg񔤷(g[lI(o0),ͭx榦B\T/>.[<:ld5ʱ+OhC YUl4]c!$+tN4[zMI]t<8iiԎr >%5JD =H ?e+U!u,j$OQAQ4;^!Gbu+l-8P&Ss"̅rF<" @yc(O8O+;). zǥUY׉2=x-77e SՂiƏiMTlH*[g&o}*0ԑp$}Hm\ZȡqP1yZ5l Vo`o9??\܇Sh!yp44NJz@ts0!P}ڧ%۸-ٍ*)7Ho 0)CHϤ=f'>Z~o>mOR|Wכ4Ȫ.OY29(ݤgTmLrRz)lpΫܹ+r]GГ*T(fNVQK\X2@LkTZ\YI[4% 0Zm{q3LLNgˋ줰7k"0%FLLl[w:]?}곟 NNQirKğŎ_pHP-<@ĕV#N3x!dpS Zڝ<{uq"J$NZLH3rnS1FL%A"sPf=]^U[)f]{|Dn7p yZL_˼RQd z19Ңxzh WjrӸfKm.bBXlTe+ ^h3\`W>VBoikczOw\W3GN#եʎ7 o8:UM2/=CLpQLxQ| >OZ Zq+9%Xl19L 1x8䬪TJk ب7Ѧ۷z,c͔ӻagA&삖P,/=]'Ԁe53a(d)z;T/J#-Lc`ZuR$6ҁʕ{ر;r}lG= 5JGv䆒c.YgesLjҦʹ>"6RAa xMb~]OD=UoDO&֙bvlО`ΜyΝ@A/t. <`/I|AX$=d8^6XrL\8ЪHL>L~Y%i_F09*ÓFMZֳqlHL] =ZľsŦ4#w fw %3$brҗf diMJՙGF GqA1"/ f6)\C cL=obպKL~H%g 6&Ȁ I:oI3Z G ؀~hP[ ܘ5&f*O/U/_J@ٖ@IAn; _XP;BmG9+Y˫ ݇Ό?*EIJ+;ƮC2w1M3EÄ5o4%+/9yau31ˁ9{{ʄ ]DgOE;M;1i)Q,D'K~BjY7‚ZÎ͟fߤHq饯1WY#nT|Oi?tbXψdֆNu:޿d'V<)t'!#ym:c!<޿+UgjˤALp|a1>~(5 Gj/F;[ZjA'H CZ]A3.,6uׁSQ`S-RJ-p#Ew:Fqt?6=0pX\! B1p9kQ$1sSN=OZ3"r׾A[M`{q+ZF9GƦKq:2qg 4}BaM3 a]f "cܗY,m}u#u.%S,br_!%?Ylڀ㶜!ȑXN Q%)) 5ѷm}3%3ύwJvפvsƶ7!GUg3-i\Uwwǫ-9SC nt(\B}:u|*OCWCݯ!n ͳ̜bl_{c/!׾(M:#,|ͫhN<}Sުk@_|LNo$M;y=!1?fl2ɓT7d6>'w<0Q8-p4z2:u65-h'Y )Wv|&7ʓͦingM2:%Aj'}-xEqRڰsyy@ t|X#:Œ0~Hga3B;uNjWtVa, I0 {TіZVkI眤 x4nda"OnKIvn('e%:,&G2du@WҔ5]rh ,|G-e4Qt |c1v2NL'X-炚+eV$#c̔ƒ$Y`H"z΍;5'C{ӛ5~z!X!K=4iw zr1INdI]Nh ul|-&Ձ2̴Dc~wBgt=KZm _5+G:A/ qђOhDBi5*vRpSUF{k&zi1GQ8|HRJhVйX>ĈM*Q4ǀI׫%T S@w%F{|X]bf1}yyzg_9{.2n ز `_vF1͕f}oғs+= 6}70Y/&JL-;6p:AiROL)eLt 6:1='ut_rtߩ2H|ǀ ʜ-LT$wd.s{7T_(WA4KYGzd#ܤJ͓״lro/dcJthoԞcNf2!7A[D4[nd7C@fljc3Sk-& ȂD߹8{ !P(SGrB77?ᄸ6Mjs9 G/!Sl!UN;!:ڤ/Ә׊Nhc;Ǒz9a(]Êr)/).AfogDe%,0|$ʣ%;aZ 4$ eLC37V͉}vg>n?b>L;;\~Z$W;yo$>$~;WkR;?w.w.l$eQk; M{_W} M 1DB ;?{J8V ҫ3/%˴kfApz;? NW030iWiů@yoD2.5Bc>NbD:|?| UL+8~kXOW46R}WxA^y DFdO`+K&630?`ػW_I^ _YѪ=COy Xؕt n1TX` ЉNW7?3 G~Mq/k{0liQ?d2ly} w=2Q~BCX oY+_e'-?!D%`;ChɄ^qHoXdޠU]_`i|g9mҬ_* JqH١s;4ڷ_'ypL۲+>E>Yo!g1wo6Lj?b*| 5Ot|ab @P:yF8>v OS~ G&ƴ&K Fb}T̥d\73Kѓ!. HDzuë|PP7~C%jAa,ٻ_$_aC%=Lט/9zlW5 U׿E>^Do<` ^L;k0C{M0V X̛‎8l$ <+ Xq ^<"G|{.J~ kW@Pxeh(nڑB>q݉cnmѾ*ݝ"vFƟ (pb['Qy]WBE଍qcS2=vÚ}VZ}qzGnuR[rJ5*T7ʴu;ׇWŊ0d\Q`K5?>:{&:e.۲oY:}FdlFٛ{qH Ë2ǡguғfiL'{)9V48؂ALl@zCGpTF>8'} 4pyi'eD~9$塝7^ bߞ8{pVf9pur7 ((ebߏ GC .w^?c m3NV-,J͗ĬF&a*lgb..dio۷&˛M  ip(F%8FƜUM׉=_b-|DuIyzf_bifx '0%%<_U;f,^gT`K"YݸUg>H`N_@c~{.P ( v\~cyEً}'rg>ٻZ3أN"BZ qY:}J`ױtw~@9{IzE/W!Ďku~-BnN[$&KWlP (v r:]('M5k 䋠P. Zh27uG?c;$/4eC@N;P/*jZ{AMWjuV^NhMYl/u^g~Cqm}{>[')aq&7%1WS8kY3'{zROh7tRJӍ~ɘLQfjܔ^EtҲE%)JSĝ`RG52:q&kӓIdWpܶ\}VSzAܢײn$ښhǥL󃌯"zjRӔ(=. ~k4=7H͢w iѣ0o/Xr(D K%}T&ӴF,4+*5ޢklޡ4XQ4 N>ln \E}7󵷑ad ; \LZ|jAjaFz{C mL8ןF]fz%j :"> WeM zuYvGLgu5]l_ɨ(R7RNG(j*p"m!P 40wNNsTү&1Z[@nZ<Дd5<.z>;ѮuEvz!I֠W$ujU}M #avJәnu' V4grQ@'уE㮄l´p,&LM$(3c-yb QdHiFѯM5iK ~A屏6`l㋌*qd=N%4O%XNSZrkF#_Fd_HF?Q猄AS sӪ¥Lp8Mh륝r/LA"  |} 0D .Jha43b'qɭy yNDh`[0 VҤ)d9a.[ 3F|+ju0'%Sd d;-{Ӗ u6{3`F5+]9ёdH<'6NjBO̗(5 渖-9ʍv8&{584/ 87.ZכgU9`z9hJ1ˆTb YuS'R=NI#*N$1?1µ&KV[R[MI'3#{Ou. 3ՎSH阗@W{ZkOsbN;4M;jCQk ׷RrNƸ%ޤ]*O \zAX|,ĩޔC p)'.>n\x|wm-ty6Kt;]6Wt7c\{ں̧pA*Aj(%.S9X:}o!ZNgL{]3"8mid8kޱ ;Y~/%FDgGD06;˛}h}'q>) Zڛv2N2qAZHoǕ&W5)>oGv7ff@} D/>᥅o(b^%&a EZPZa͕7HVˉ)_dH$4m1w'=m'׵Sd{=*.wE/1B4i)5Q9:ܪfjv AH\.۫1Eаwհ):q:Io^&wU?~3wm%]׿,&ɰ%^Eد,w3,}Ɇ<`p XܵE Vq*4p31${JՄndny֙#gXlw'BuK)y-W+nfbLK|dukPr~FfXl>MKD.WʂKi|n|<Abׯp[|Ӳa `VYRk[:1W>4JW7wR]a#ƮiV.f0Qe`',[L>NH>Q(K5ĎC`$Xӎm0oqzMx<0gL;~ FJH*Ο*t>yU]zIBM]譒Endi9b+\Z[Y|}fёLM@\ugjN`,*:s\r~)r@:Nc8XXr1T2ǔ8J!FsΖr S=OπSAf=m{YBCj>/ti&{ry?WQkJ\6Vj2/zũ 1)"78u3 18/:Mk-Vjz|!YеٞUBz45"U@uۓ]+I仕|J"1n`g15"Nvt*+FUr-+K]秛|"x^ xhQw_B)Mh mBD^ Eo1~!Ϲ)R `&$tJv\Oc.R\dЮ4%vdh"|Y{RKf@uo -y+V|(U'ajq†Zap)Ⱥe Є\:wt_@e@TqS$HbHCG/POM_C*2_kD|gΒ_O=0r2%6Ū2v4C0#XY>s5uN (,&di a@¨t,p@`쩥w:X&(?QFMԔT z+x)15sXih_bF]ۊ-o2"+Mʞ؏қM6׎;'<$S0zG#xӴDt*yv"1:{/LٕJB5_}]e +`RDЁǹQۜRɉuʓ\YfWsvbN-bT`p32 LPWj7roIiSakU[Ϸ&ĜEj M(*Dp6&.^Qg8&˂ $TLʭJe:׍xRSppU \wNX|*xV=A0D Ҋ ڿP̉?QAvG1BW_O;߄vԢLtY#QyCHz=̏7u݆DCz'N!Cs|L[y>SWu#|+\ $ MӔI&t Q8Z=[ *sdu:eG`;iIsӼ=X ,T%FxRjg-Ǯ L͈Pc'.ܼ};4t2"Xl1]krt XF$Ŕ)sW4]N!UR2u;uߓq<_w+_pg;]PIcHdVpvm-asz7{T{pn:3v% |T\k-]^w sքV$6rK;Aa7{q4q4n$n.9.>P9$D7Vlf+2ОA7f!^۞uDDԺMr3JNd[`tk!uξ D1'2eȂV}sD]J,&pⶓ|'o0"ެL;+P`׸՗PLܚ ħvYxhѰpH\!X!D\S7E^TUie_aq=_0RO4S1EؔcIȩ8p"!?gNRy:5Zq֩}mc:l'ãweWzZH"$8(9]$ Nΐfů]wF5le#(b9ںFzF6`UyLK*=d =©Q$2VF-QJ=n˭.:ѭp4qJ"Ay#;ࢧN9`M/ [+GßmyD䯸ncf9 A'ՠ oRQh+/Ȥ4nח/TL}*M 9q \5vʯ%"^U%wG jHթ㼔TG ե5H*,NBWݎ$!*0|*F5~Dvu\Nhg#'E' yQ&Uul%t̝4{2؎x'\%:^*f:Y;nӒ8F>A䬴 W@=S&&:&ˆD!I%n``w)UܙW|yNgu Ifrh$GrYrmS#ET.H?JՂ4L/(2fX}8LjkM[kbECߖ'Yy%,欠*V6GV @%f:PR qtxX{ȕA)"VmN-곌dy?/vr.Blf )QuINt[fT ⁴I uҽnYjZmB-B0h߭+0i,rRh3Ca2'l]JdI[T(,|`±:YN+^']ҷ̷ [3_ޜMIpIw8`݆R'aґב 939G$?#FKw>Rݕ$C +-A 9_-URP;Ij?L*-f㌜:0tw.I*6ڃPa NBݍ8$Bn~ъ>y?ɣNU $#i [ĻH.X*dU-1ņ閩"ܑiir*«({ZJY{r4ɂ /vG*]0*oe't{šC"MkU^ubJYg:ŵ=m,&Hk`;=A†A1%|p5Gnb8TSn~OgLR.UZͶV=Ei6/OT/޲ӪA2\Vˆ/kjUu6 |\_51^B:umȰhk qx;˟g)ȊDrH'Ie&1HPVj[ $꼡M+ipl1'돨J JYHy*H}#N- syȟU:T>JW|o#`RT~>ݱPptFlzs0ނwn TKQ# k׃ڴF;g^3R`=6ӓrgNuslօIm9ZN A+C ^0,stZ\0~LEFf6>`OD\ٟh|UY6HO]趠kH&6q}UFnԃ+uۯ"86{68AL NS+-Pmv5 N6my !k5} fh3V¿oqSגo<><;3Oo\Wy̻N<ѹF{Fz|B?un_LoMn.3+Y-wcxOxG߻qƳ"޵oR% s;s.9?sʟx2|M==ߵƿ_vm! "?U;Qݙx^Л/l"0&.oL_0hgȝ8V\1Z곘P g/F 4'䕽 87~M]`x?\..&j%}.K'vX ,ߖGG\@|-W/ϳ8݅o.h7Q0E`yߣoqcrzcz! ipUb^C,QgoNs4֩87yU{92@8YlG!Q|78BOމO?o^02}q) B! yypGt90@b$ fhrccf,ٔ}0$-~|2@3}eNKkg^4\`&$0'#7"7 b'V}INaP^6`+@5 K84˘ϲDkLjj! _do|g ̸ &efB?9e@a@z=pͧrWl{ޫ+a=@<疂meǷ@]O{fWj͆yenylzB&]aB}`Y)n_z9[lFJ. 'dWC$\Q;">Im  M^%F8]g}^(2{SMn'm137-YU9LeO$ ,!XGi~Y*Bǂc*H+/>vc;׵:t@(͓fș]IC84' !OޯE_ {_)a<:/~E>Lw&X">F3P*`!FMw^} R̅.\ gXSJfFNE gX;N_`6BþJєbC] %#̾I xU4 Pd?F@[Ptwp^K Ӑ&Z$x"#1np`*W-^kI.Ӭh`|VK2(«pPB:AY5{t7>όlE#ל3uvư0cjmwנ'J%r3&ib؉3EDzX-tΎѭ&7 w]1R3f"5ǚγ+Bӱ>'xJwxƷDVϽ U. ;zB\xItP㻅gwl7|_Z 1]6GkBvA|U΢VY*sU |V猋cinx'uXr.h7%f_$pDUK%Pz\ϭVod8_M>}6"`φ֖ ..`|7˽ :~~{+{E:mCS3?Ԝ&=8b^݅YQ8w`zEDsCam{u?@h#f&X*Y|SIsd1-?2e;Αkȕ@n`[:E) "v/+N+}{<#a8!n[tK"?-t,>rÇ~9iVʌbl+Ek.b14yoNw&9ׂvkn Ύf﫰ް> fS3~h$u=_o^-OZL4F1QmuuFM-.:*MlY[p^N%r?k>RYcԘ'm=R./kS:qڄG.tq$;(gwsuv3vҐq.*8#ϹvoE I~H(gD/>>?+9~xM٥vڅ%%Out;\fx/M]3wRe{s+l (>HgIJ8r\dlVMc΍с"L2K,;IMT}/&QЙ;A#gE@`bHֈAfoPƄ gQmrܳԪ ͺzjVm%;%a"^›s 9}R˱"SAyIlSDzns.`UY1C z[֌1+ޗhbN%֢up\d3< ~]%S :%V+^4s')j`-͍+yo tRU8&CқY+Nt+pVvS&J`])ȉ)[ϭF놭>&=Z7Uq\  l/8pOk/_KKZs|1/eԬJ)^BW0 ? xt.ݺmfx0n^u+(i#dSF+8O|m8|>j~3R\jWiۻoHgk7Tf.+S5g{)ۻ+Q+G2507 XX`LPo=ƥe9U Ŗpq,3Wxb9mJ˹۹+BcŪ)tD*}wR`B~an#J{R%&yI^1)z}wݐ&/nLϋ_MK VkBPZ׋2*A깎"+ +hrYl$v[gz {/DpVg< ߌc[ʹ&ni-%]l_OU5\[~ߍdU,7-3ۛꕛ:صbV `Q/z܃3)dgѹrl⦶AYTNzIHs=,RbhXv/'Pƈ:sc!SqS[Yz[PĀvw6 G:tAѬϞL8@L >=heԃ+6Rכ&τ/_p T]Bd?g6G goF{VI@\]T|1q.[[s Gr}ƿ7\I׉H~GGs^fQyknͷ=|f+DXºL6@7R}czgCR =G\E4IɃr;\抐*yuIRi(V}4wu+vs 8rsclguU$ht6hz!IIXwžo&$PZS>j:F0_ t[_w\h;7uD]ֿWOow'oW׽:&7z:7uDvӮ'p9_ˊH9ɧ_Uy%;AZŝsk ^_EZc!Ңx)izBKf{M˪w̾NH%sYӹ oIl%[)q5h\-#kr4vNR*.1&N`׉ll&jX'MI&-ed˟+fW#ݤEP6IOࡽ IV d}JNP|-q}rID :OWu9謻 HO@ȦiR{o㓀s]'h"O5A:.論T%mRCvZ6q* ]fIJ 3yit5l#QԎ_VwRҜwOا;8Tr,4eJ+l7wmk)'9ZPX=84HdGuEh6@q@ DrYښ}\]׽U}~,x ?.vf`w͙m++? V㬷CBuwZe+cց9^mR/#L: ^brn}ǓM;&7wmVAN|=RQV‘0\7Ԣ" Y4mY>yW`b\VHoJ`hY9HQ!yp苫i(Įwqc=K`hbyaׂ iS䲍<;%i1d Y:O'Aϳ O\iyXoIs$`XBlܣ~H1D8t|!]!#8|YMXZ :4'$L6?r[PƂ!D˳I d";hݐZKlqYy9ԥAyC+-=S;:bOIMWxR+i+'-o| dQ?®m!=0{t|zJt)EBVZٔ18Ppi"̅r\hLHSCZYH8O+cy\iPu@ -ѣHO" vG INiMԽiِTJC & L(9Tc5p!qu.rW7k#A5jYP^ˁXNHq_w+m|uҜ59s7 ;TQ8 cz"&i>*gwU>Zm.=*ĶNvvkҷlw?橓 ZP/ts'YMk2"џKޣ$e OpMQ6@)l%bO4i*~ŬINWOPD+ ۥ~it⹤&98R<z!&+}Iգ){tTaG?[GC;Xh';6(lu4XbPf_- YqY\AD8zec$BJy;LkF}$Ve]E̸J棉iBN=I>7ֲbzoOMezI^éٸ2$R]M$=^]nkZwK\wBuJ[t2(Vvfb^kҢ C (AMw~u#1xS0)ܢp὎,w&FQPytΛ6)eA&mU]ٴRMS=nԧoL$[¿ѝY:hNbW#Qdڙ+JAl6jHlk\L`~Ϧ ڪo-QI6*iHÓET@2 _VF(ܸk%ھ0WdoQg$;v:s\B7@ ٴ6FbIJbʀIeAn61Ǿ5oK,7_]k~\~ܤ?Zs0S-B6y]^kf[14A5SCm 6Ih6OYoސM*'^v$dIHVJFޢ 'Vv}4HX>N7ղ1}gؙ_M>^Lº#$$y@]#`S+`v[/6ܢ _G\$#2SN Q$jUOPl!Os%5f3AN=`̠,l8wel:gvFb5"`j_\ y:"c!]ߴ.M”|߁_: ȶ,p F7:iE8v$<"]!XpN[ŐvNTK}ns5,%zdI폛sft}P$_Z2GDQ}6V"8"+ C:,9jgްdO$IҘ5d%r)[g~^WD3[Mtio6Κ侔l+DS?rVa.al5f\E`˙ܰ b Z\.f \Ap6T'ȴKJq+b'Z[+q/|ӓrʗ/q+_VKx"fN^4ٓ znO "eOǫћ߈wK/YìP'cf?fc#0S9ɓ= vvdocW[ӆPqfiL eȝr2Jn|idFy%d(ka/Ibဃ@ed7 Fcgxʕ͓Ԏobum( q{Ci]L:xl=Y9w), 5}Ge3`q'jC#`D"Ld|>*Ͳ.{ [rA,ƈڐO!vpJE{vs ,-&i܎lƝէrstbwS}={trvRbQT#ww03-}m ]Geγ16mrϺQw;L2m6gW>vГ)SQjJ;GV9SsܣX,-$q|lcyJ_an lޔKz?;$2Ǚmy< Br#)>O]$-6sKnoJGJܙ$dGੋ17ϑ&WHe'Xmox h(* D op:ʕl`YWCǣ\e=dUA!ps(lCI>b٢4N UAU?u2mRl? -l*bV~hXj2,Yb,TjMeeaZZX&NNpX9kGVYR8"LZyA= {WʛSN~_?n_ICX"f+zxYݗ"e2$ryT<\{h}Nݗ}xɔ. %;yhI[ .ٻOKV5agkВ4ȫQ#&4l͉D^T4>;!9L6 ^2wJԼ8uWrO Ny@%*iPGoqqE['-sly 49scC"2Ql,YML#qviځ^ޙ8?74]I7%d}21 ፤DLv~:\1TzPleش% ȓv?~f<#8?)O$ ¤~6-!+Q-%53! =gt iYp@+y׽wV2|r!&m+y5= xÇXvv!meBj=8jV _,I~R +D2#~EӜep.F[6X!]&Ho8sbl0 hq9#Ș= @9 9I,KI%b%_nT&#p|Үӈ%2:D.sKʐODžI\|19ZK!MC4ͮ3=b *g7Za ( P Bb#w؟>ʘs<ނEc4b'Ky ix'(OA[[לJP!K~ |l ,((nuqZ!>+aZN3æ)#;&R(#*[etG3,[^$r LrqB}[0" X|UnF"L:-Uhf4 Qݴn/uD?S@+?zUO K&YY&jQQ)o;qcG&>>txP,K&J{IDJqƢsI˭9q'Uoğ<\۔RbE+H1:Nep!OZShY uR*f -JkRt@ 9N~MKO!NȔh0.˂g%iϙ^m#B}褊{2* ۷'”V!4e[ f;DmV) p@FQot!xBI M @dT_(:EdaPBwnN2}oumŢ ֒`\X'oVlj.! 6иoB L*.!-h[f3MH !UXrhA7mۚ+w+)̃I5ŤKY+cQAp 8#WxhoN[ KH}~D#t QQibBYҎz"HJ'Qe6ӛp]@9_gF$40BYgYSL$lfs]{>+{qpUiD6e8jy#KAf"W[0 xVYBcK]WXk *d=겙%txb b-㩩؃fmʏyB20_:%;AHrǸ?7cr]KM8w%{(H*v#J(ҙbDEiٌs+nR7mzziw!nݔE\3 h:XZ&ݱidIzVe IQZ)ÊN1Y :hupܲ1oBؠ9*SB&kz0 f'$ KK̽ ,&ВLLULu[dJq؅"C$Ie׊ Z2yeGWR,u%CNvX 6RVpZ$d,vԆ_ IQCXw^?#Xn-Ai.CW3K\ExK'O<=78(ٙmmv7br\LF\v [RJvMT\9(8e6R$~TW`/J9xţZ9w|ṃ":6*VP`q/&%ڌpF\4]cH#+u_|NNiϕwvWc_%WG )ibOl-KZG̓j?DX>ͭ_wF X>;$h;4Y㉆4}әوWA>rjmk0fcRRSC8UdBfa!/0lD;Z)E/jB؃O33xJl:! 0Ou#:9%'H뤬JS^Hӡi),c򊍦즢ѝ'! > ,$Cs㟮]~eCJp#i\O ,7Qnl9W`"#ErK̐2>.ڴH> Y&)T c$ZcC tP^zEʋAUr@Շ%<עuc:[‰2qDc_]L/\;2WX HZHK6c*^:~[Au'fCSlaF \7VO0tkঙVu4O)q Cs0\:JTsueZ/24V?Dc ŃM#uz2mH!\:'h}uz,uobI7'PJt#oɶ, Y)!AgĖu!4U.Mp1w"^|1VqsZFԄy˃s̭XbNf 9 $i& ^nd(CN#ҿd&r)¨0qUzX85qS^y%bWw31驜OD4|-i?tSq]0A8&4䝥Pۈ JdI짮N YL))5'bw$Qqjv29Z+WmF vwHq,հt+ed$x#\a fC?%Z78!D_dC#tE$sUm0EݧNZF`XdهtݻP'zGF>p#u䀁M&x\=ɧmM8Gu62>>tex8Hu[?!O#u1L%1|AzuO-'7x$}aN>k.tw yYxyJ=Yu+A$:k#e"/genf2H^'j&y"&{|&,Vrʝ.(cZa,%.@ S9M"߻"( ^g:^h:64!0A澚'OA{{V8y4KN]rS#!q]-՜YR]m5Q*Mtumok'Ir$ m]$W ٦,ꨮHo(#O^:a t[אpSIZ$nltoQ6[9ZWZ]L)+sԤv319$eɞ9"I ʴtzC)Okpt50l2dr*jZM"#AǍW*{{ G C^x]^ R"UD1e]>I<597XRYNrUǡ'9}|}(B8w/Gp\J=!vX VBH '2N6>G];KF փ6\76m3rݎ |̸ߠDjHJNRgPa6D  )we2x855 nn=& @`"N9U$ S0bun?Ug* W׸dq  .J;st@!C@fvcyr ""ע4Ph)pxlN3Uu2D@k_sNdMtRcjArU 1e'n`+)" Q_٩m}s٣` k_բѪ D9e`bU-!n0 ^yaǪHqwLEE6) cY #ٖdXN}RnM,*hW,͖A fNA;Bɀ8\SH9&u `q8 EHVS.jLR֫\;m@C i'$PH'O%(2XXmyhFFWnV U)x`wj Y 5!}ݷiEsd|qeIqXI PL'h'Ty]n-reh ؍o= 4uX~45R1(30-(:#e\J1әp5ծIՈ 2<WὐEsę9̇p= }) UB*lcRZ&t3vd<Pyv8'[}C㇞m6; MEuJz׈Lz6N=z]DC9#ll'~/Uܓrvbzu[H9Y*E!"Tbn1J\lyK4pBE1rNЬcIYTLc&E`|@;j7_w_lnTVd{T fXnALGWpۇm{ˉ$H5YV}$$hW:'/3휝o93n,=yTzn1綜wܮgؔ#fI$FPVPo-%! *)Lyxkp};. Y;-h2VHv?-c$ÖS#l31 mCr+d*UW☇ PTC< $.^Ҷ]{TX]箹{[Ӥ~ߖV_صnyVMxL׾/m𲖜r" AEڪϛWJ&&Y^e69 ⻌DBbA>BSWE:N ƕ*z:t7ʹ RTB?sRFS&vf1q+:\wE{/F @Dq^ hgu\*9s.جi=v`h+DH㶅wKvvGv8RȜzX$ZVs%y9HuV_1OM89d&un:uXimI$m IbQϥhsztҞvUh!zEFWe}óާ2dŇ^J]D <p ?$`C4s:TЗz7 HMUGM3I86MMG#@}l,td{-=?ߟO~Sꎳ}_w޿3;{g~ޙ_7>}G.w={<#/3=zGޣ/{^~џw?\?Fo}G^ĻRy}LWϾyi=)wcDCW#gKwo9߀:3obw~^Swϻ(bA:&P7f{zK=L#?/s#Tpa{p+qbc.>GyGB4j04UbHvXHg9G҄0 xҬ'^ ~,6e1/kNNt^A5L/X(֗k_L{L]>G7ĵ~y ?}PIJl!~z9(x"p6MZ>Ǘ`B^3zGxq"k@3gqhB}[E/7OwxO=>yI|V$ ]\}]~]-aYb*1i/3"B1vI|y#l&$I3Oez{p#bGV`A)?2%cN"tĴ#k9wϼ_>7nzRG?^^[gXwK'!Pu ) `8]c=g)g#-ͳJGK?̌ #QRd dz:?|yyo<ڿ'@Ϗzq -.o ? -Btc+zx+n g *44Ͽի+Q և,gcEz웚͆L6jCUW.vkubUȑXQ/O)xuݣ*έҷ-)snvK*|PF~ǗM#Ypre 24q|67;_$} rCκS9CCCg7ֽ[58:{W7=O:i|cXeO|\8|O[7"~~T>F*͓J~0F͗mI[u˼sib2Ra=mgZ~ }1J'>cyNso'eܿvR9P/?#8y {1NHk ;*.5u^s ko'yes'W3.ʆ*Vu/7YMz9rlLz!I 4UaL^ %8C7/hhdr&lVӆ+0`+Xi .I'r/&&hm iR2µaX!O1lWp+IȌ0#mt\e`Us9u5tPc1aSdK\V ~iqF$9D3~R@*H sBhА^͊$oӠZuk@w R]ȫI={$/Lꔺ)+%]'  Lp $9z`Įz䕼 L:^g q,3*5Uk `8 @r̭*I<)^U ]z&)WfJHZ_zb*ʚQI"gjg߹]mQT\&m^UBZofYN$d D; 7=+yZߧ?voԧo S\'ql#EscYVIb"kd &۞td>O$lMFzYQLYZ6Zkɘ \ͻ3!$$oHi 1&2HMd%FlB Ϊ=j .噪 ߖQPj`_<qsMV\wd5V4YY˪b\3ϵ+;e"K(YzFOZ Ds_Cqwrt AN aޤ$1kP[Gzݑ$'Y'v@7;G!#Oc8#ݰJrՐO@DZV Ǽu‰SMyJ0 1`^'(6ݣɓІThbMOrք$'j霋v~t?TiTLuIy=CUu>c Qg 0. eFy N(Mjc{n_bK c^Dd: M"A0d@ CMq^tЬE:XqW&+lk@`%fP8/_&d`1M 7^ZVހckm2ԵaY0 UWYFrӭ `?}oê!͍߄ΜZurv^2E䨃oXhb48N!Čb,e#>ZMvQn;}].Z *S:9 ;a\t7Ryq:1XoXHÑFY嫈>Q2ġCVB w{,*cV]ߤ;1lgsFgXE2sS ܑ܃$:GxFȅhFӖ ڴcU}WwD kw R(:LFr<јn~dOw)4_C(YaxAef# I!E6Hg}7gvɕVIez!]Q %F]pUHc|ubr*K世JY[I嚔a6 ".%iL{(Jfy:*'s2}1*ҕ{(ܤl=G趩 Ek*Yl=g'$c,mf1YC Ќ0bPu}t/xp7t[r&CJ[7>n auAGe+}Ǔ u7WؿSOa0n"'~gW;ԫI>)TFw9ZvLόH;6 ńVN-e+Y:qCr9`_&p@;z},r, 4*D+X3_4Ǐ=7&j&2x'!dJr0ΡEMVsZxQrnO",*'_ W!h4JdA@KƫJDzUPhȀt&Y(" ^?XpVSjp4uϕe~sn>n=ޥ@v`ҡZ^{B9o L:$/.ًH .?@{Uke>~}i2Zc)O:4n ޡ/5m ,6a/$ZnQVhY6Fs i5/uQVc+{/69kV F:"Q)y&/&64oDSU Z6RpxA2~Їׂ[[$FsH]gG֦ ,E6`b0_j'(z`ӧn:Ӟ4@ϟf_Kld u!qv${? J;TLconM3 $iՂ($k"?BMކ]Ckb8i֜&,))D{yG{+MCbqYג"o4w. =+N# >BD9#c3ਰ <\9(ra#tZ٬yT<AB1kFb8nD8%U8:ŒTbr|, EGAJ Oٷ&Uc H r ?LnrxW7*ܥ\a4n])(+Ixv*rljħXKf1V A\T ʙ"j U8eJszp!(\Fw _<ݻ;[, TH`!,@Dk]*؅#*85*Ayj?MxwhkA<;N0E& 6i[G8YE=nx-+ASsL][=)h";S48 J"?wdxOlcq0%wHb#iҊrS˴1_ɠR@wNC:MgnDx'!>Rj+/]V^T^-/ťWTDAQn0uA!IUXmN㔽 & mo -푼h}:"Vj"޼ɲ#>Wl&/HAO>\yIx,3@^!Z{N93ztjNSs/Ќ $@z525͂ |~Z'>qj}/ o 9kbQi[B^{g aaT,>w2_G1q;rQJ@|@-~CދY#QdjÞ9YMBkE~|)ᄞ$x\U/'uB>$ƽĒLI"d\U9CрSa`}9f8ENq /=>KYBG.o07n8y#j H0dWk߶DW4PNo#ZNשMx i*%+QZd\hw^9N2XUTD僡I)v[eFɵt_tO)i\2I*zY\:VՖjI+`/BW[iip/xJIY ! ď:0I Ѕ\(VDIF1\&r-(,ujqSQ;QNBL9.rZ ՈֳIU"/?"+tIGa:,۠XVRThT,AiYWw>DQލCʽQ1+V*|kmp;J$I9װ-vˍԤHuVVߐ3 tPSҦ'jqܣr8i9l43wfʈ$uL,1l&Qt g+amx$I[xYL֧Lgb8\'?tc7sO2T'nL B1t3X)Mݫ̔)_:wۊÚ3du+IGM\v<=6$}wx<q:ϷؙY՜:1 pܛmV\nv8Uu޸NٸX%`19TYfMp!$s\]:H;Z0/c&+xNq࡟]Sӆ۸Apj q>gih3'&I Fs$epLl42)uپPD͖ 򥳕az1xi[%oʞSo?TΰRJUH+֔`.ƶhnw]˒H`1I f0(5e / 4nuXgI{A,&@ j9oZ$8{zu螉@K G`Jw3' t<2|1]b٠>GE{G{4vKߊGkG>dOe>iz4`)7Ԗn$cA\y|u Jv%Ҟpڎ{.֫A0תɐ$Fm-F^Mtm>iCpUu_.g^rQ{r4Q} oKm$'d@zIb=*Oj9k6+ɗbԜSs믣z4ʬøceš.ĝ.E4J2 E}:Jy޶asP;ϟ,֔ɴ<'!;b( P`iʌ5Yt?F~}z\D4;]o HyI&p2~6._O|ҷ@ZR[MwXא*}mz@ةa=E=Uy'dɉ(vC5w|2Z0WӦ<~3fOu8t:}R GCrj4 2.beʣy9Q9N/O*sc8fz*ЃR2SS|.lMQS  GV7ZREfTNG`΁] n--?wi\{a慣R:9uGo>Oߺ_ߜo{X ?O|Vޯ؋t-3:NgCbr7'"Di0=ܨ񬦯k:/FS̋_Q?ӻRbZh=n]װjԐJ2 `l%8nXnX-k/%Ԋ `2d;P$hΣ#)O8 ]{1rf"8oJ  gl%Yk6NJ)z{V+ތ3j 6d'H : orcK}Rv'I¢bw%SJ`[<۪a_4LYmcVVs=Tzg4&oMn͆Wc1C}$˕}D?XCohwƍb}H5JdJLۮ3˲eX>osZ;-aqN0 - D_=δ6^\\_s?k׆LOߊg#%4 &B rRQ;H4HUo3lt5ˇ-KpwqYdö$3d>$ -&K&E%R\b|cV[J-0WZ"l!Z,9ҴӟicBn^ utwH1sQVYzƀ$ dYfF?``׎D'1wڶޑb< KbO|Mkr^qÒA41,a"aÉk[(r7RԷSs>ۺ1ЪQyV g$OPsCyGz"/g,j>43S}ɻtżM>m4U r&L:{]'Rz^[Ԯљ75p?5rPq7%ԉukMU/$JXBx/ӖѠX?/\xQĭ:PZX"ke U_6Kюfړ@ T7xh{=U3!Ebt40n&*m ]fW̰ۏ}˷ɍECtIJ\nB>ӨA!N?ʢY$l%n \=]% ɻeR7\ue^Xk/Ȭ!X˺mzݞeVD[w(QŬEYc <欬 Kܸh6#\ZJ|[fw71ߞrb%лěq48FmdMXHC֎#FzB<2 yW2Ng,L T31LEbaA \P4/E9aNMdjɎ2Sr1j՞5 ;fPP"AX2\e $mܔ$cp*Nh @8gf}hOG :F.t"AWt{v_=Vl5YqASCuزo4/scA hy^U5*¯x;pc]m](i+]6;?VJUୄӹMt&rzY56 Z[D-ݢ aOhs2P圣՚*׶hIVI7\.7`Ȏ?Q*c:I(̌pQCezW#]j%bOpBɧb("jxq`4<Ń|Pڕ?C1":crTV)'vjqAGy[[+f[w@.Ãy?h)d[ t4.U7&k%ӎˎz26m Rber~a-6#}zmՈ% 8S0j3vaw>E:P tti;mt4 m 9&6A"!$jd#=6tH+3ШCjߔYBΊX*N٭ +JAAX@T;9mfviv+G>pcDO ЃkD1DCPUy*ݹ#E3z/Ǣ}Ldqs߽)V;䋵F>G}!e?޸fгFR>mGP\m:u}gOcxk݄RQ& e^?=ՃKOՉFE_tm̝EzZ7wzzt9:ɛ ?msfaߏ֗!&|::Dvslp[N`9:NOp9qb,ql;T@Ar欤']_+ ށn)+M>@b1 q͟%JqV^LIwrլQU;Ў4*J"uviK[SN?R6g/] :y˝~:=[O"K֮hږ2hwnLXlj#bCfr}C@H︞t+Z(]NeJrBfRza1[aId ˑ$`1gOnr6(LCƩZo?_(-SN̷D}ɈoEVn5UwԮ٤Uibcm+m\V)RK"V/j(K-ql8\;u0vHqz(_['1x0*cAݼg"${9kt& ĸ]^%-8VFokXj([7`<ÙpX7f[/io;Nrfnu.'pqV;d~шvs!5{;E.p:C''9@{Lŭ(ʡ=3eBV"=G܀F>R+3{9:aiH5"m5[aW^m'R" Sz۞lNk8L6|6=9 atsWAԌ(kE7U ޙ)o&D-Qݔ΃&HF]DŽЁa߮h2$ZPY T;͸/E֭naLI9gq*5g™AsDޤ=W% Iz:^2K{$^i'ܵ%'Y$:bP=]9g~sje6v'w셿DLۚSn2Žrd $s:jzmlc1Ri;0yUc Vk6e[kGN'WpP~!x+QB7AXS":^Jg#lj3J^^t*>.%X9| D{9e:y"(~CwFˡs5td;Oxa*{n*qjtsܢ63坪"\AǍVN^r>jUAڷ1_-$#DL. C5c;3VMtDWQD(. qBu _t%kX8djCJ;ޓ*%\|9buRLk?\Ldd+p"lΆ"X5HfuCVrNV3.U)C;JŹ)W=iJ3;vdBAW]6UwnuDP尃Yᤐh߶NJ5BUBaސ2JUlfb)nW{`dS]F:kՌ_L+OE`ogm=4WhS|+$8c"2NU4aڢ+DXuyH1+6:+$ͺ$Ou&fMfsIVm,-u()lTj4~~uZ'Vu-^'Z봬s8e|QJ6^ke8 C -bU7˸{ƴa -< =غQ2UbKZm>oO{r;}ON[ 8}crͶׁn~wq=J1'\LNW᛿LB/tfjDSـRy^-" n/;h׌lNxy5vX:rDpQX_=cR-[^ Nފ&-dǺPy17ЮKPl!!-`ԅ*-JlL!T8آ][:S:^bEsIJiZ,vvTYrO"'y:Z "'n7isڎ}%"^/1M;e8Pc Pl{);]bSmY,R+>hViD:@YCTO/oh>_jB4Lñ܎hޡ*z=:-ߓ{t1c =k%: ;!oBw- q z }>AGۓӄaS*IM|0a~/۷Q|Zz; r* AH :8%ǥfSmb hT $XфoI JN hl =KeDuLz<G/ܡWw߫K.I Mޙix\7M6IoXsHO$NgV7yך 'ugtt _Hh nY. !4P?A$&yI(˯WYy9ԥAgC.*nT7e\VU8K=A,AQ9ӽr9$'Ti8 [ L+ϢZIB,B|39ed~/!P`= CHT&!xd#IqFTe]'f(=G_ri\C=s bxՆ3RpOřIB7F !]P Ws}uV0r:o|bt%W,/4 `Y:!yjn{b3P^k@S J7Td02Řhl3^gwU>Zm.=*ygr'?dn~ꓟ$J2Jєw؟ղD;>w>|D'N*/B?w!%\I":FO^hJmX\mD{>G3&32>F]kvS2ԏ?Xqln]=זP1y) VmuNWl&%KYmPB5qR|܎](;1uH1 EB2NG^z}\r|yd+jFԑȔW (e^,YDg!֭u:Ӣt_u<$ְu5S tem\mVPvI,1 qZ~ z:%>r(C_4kLjjxs7P'=Prfo>FtƵ%qlu&:~ ]z9k]T Opw97iAQI<]sfͭcBZ+'|jk8lm"(g v-r9H=.|5xyq8{|6fᘾ]Lj܁-o!ŭZ)nՏb̥`h_BVbzs aRn7H $l`Qn5ʵ,"N/n˛p$`DŽMwx R}u#.Crk;s`bj^97Kk }$ \ lv2M0VXJL/Y-qz)ۏrAMk6ufrLʓj,+_" /L+#SҡeZrp$E܅/fS4EXJ4VB;晴F8hsksݝtZ\kV!d?i=Dg +\R#|Ty>}4ņ?[?5(+ h Ò $iRTv"$[b2y)@Z${W<'h99@wS%RlCvQOw{K&i\+Erb-PqS3z¥$5SѳA;sn#tn~vͼ92wTx,i$l;b('H#EJ9S`Qݙ3g n&rB\&I^˥3j쉮\ 2ѭ{/"(vΟ'e46$+oNBgud2vxZH}e*Y^PkG5zj1a:GXmTua06Nn hϚ`Up 3tDimR3΃cBZ2c &ՙUevK5܍&Ad/޵vH3%~AC6I> /h IlkgrhFYM^Ů \u)$sFX)<1t UaD, Z%,%#(%ޖ(3 93rJT%b5'~!C5ʸ&b(Ac_v/=lVsQanLҦDG:8.- wAig/]Dxb k(VVξm,Ĭ)ܿOڃD'#|TLFvA8JIUrai048|"$ʐ@$l)uI\>J=zx󩇝ܿ{w;G$6+GV⿟E_cL;kB?7kQ@~jWK7%Kbv^H$'F>^ rq\9 Pmm鑱gˇh):N Z&kG(گvuw;~}7;lJɌQD"K F#~r$b#+/K*D.0MvZ%u] l߸e(PI6<(7GG9TBCؓ%b2,4,ٜ[-\' 잍aD` (z3<<2Q.e)'uО gj1{ž(Ε9MRJ=>+HY^K漏?ԃA>L'{ IErfqYö$.eńL "(cޒUjqXjN'iz0Dbw[Z—:9Em$vbXN/qܫa$8]=zf)g*uXz^"$:m,⿜Q+&qB;+H \;6>ii4wRM`L ㉜' JR=93V9Ae2׹đFh!nZ :WGA@8q#Jva%ov:?SNYy‹2R>t"g_&Ņjٽ6,0@ڊs\ Ȟ!RHXE-顥fb wY3Pg[9u9$A#Y!3Ug?t$'*49{+7}}v(r;҃jr͉xmsZM |#6)$uN_5U>e_.S N2t-VΊm8dcɞȸX!f{Z iQfk2 ^g+>FI&‚or.ũ{n3"yRBk& 7t Hf/:IIm3q#93/1'66׳R-eh;~I5MNxJB%Uhg_GN%D3<mB)ɜJAѫ:aoB u:-j%.@/$ktr Պt1(*/qt VT јgC!hh+e O2Jɪ$4wdRd&O 'L3{UT ]Z9qI\V_@^TX[[3SmX>eY[:'وJx!ԋvb58"7;}snM{Λ&m$.`\<.H'-7#UI?1C9%0۫'/I?3'b}uT^HbeU.Czm>L YҪu0Np~\gYA/& 9JqarB,R#r--*gD4QľS.<n*vߧKbhq^c'=(/$u#spA v=4/tfV v,6U_>NL8f4~TLسQV\sAo}Mɲ!CxQT߃؟LFowzWhȶw&(YglFtWt\a=:bi:|`Dss XsnMt^trN5goH!.UI]{$KOKtvtz~mer2jdS1opG4$zѻWSiF ,1q8^T\ȌJAڤ^TIZzfVj<ɯ}L2g*mp4ÂP|mvZ!VvF|F;9."øٝ&׍fmQփ֡ӸKh -u%:M;PsfJMTiQNQ#7/=uiͧ#n5uN1_+Iz>yoko?֯;oFOozG>gO'7}g~gx_3IJ/?I֏9oz#y' /ѷ~^~} ֏~K+zM+{ϒoc㙩M#1YD/@^Wff:EyGe|'z~u =7to;gzY$aIޕuo)z2și A1 T4ǼF3xO&o&~ΐ{:dcW<+DOP$ L&u},ƹ$!X'h[ߜ'h4Yڳ`X}u?ObD|ߟș'&Zo?ڻHy}Ij?csE̊Qn$M BiQ9nH]7*Omm&a~١UunN$NOXL* *z „VD:VϤ[5Œ~7A" KhQ}4 aݚ37wOု[uJ s  v!;9/ϾYUqSs$RUsd>T"[Wۏ91R<-CbEwPֶ ;]WDR{9ЪD2)AV ~C;,}+pDi$0LR.xLz ֳ%syЗ**4dQ>(oقÄ1qA%8wC߳:Rsl{?!6sn":pKZ7\;ƭl!4qB/m{Β)-;偳(lflኅXR8c_@(*={u _Pʌ߻4կx Z_ Y/`~⎋7\(a_"ꄶHaQ4շپ!R@cx@!af񤼃˗DU] .+2f8aba`&.Mq"#N{ y8n5a"v:X!..&THG( ޤϠ׫lS0 _]&c/LVԇ)evVShbpJG42j4Z8U8eX':bY{%nSr<{x]$D}pL%oXh'f2 NC_nnSb8d+%Oȩqc+^{[% XG4c+ty+ӄЉ~ͰJ/F!^~ϭm@ Ϧ t}N r $irQȈ6gaJZƋ LN͉.^:0*x;GkI0Wj:,Bv'J8J|bLQ6 9X sj/GmwaFf*5)Ij bRhEYcS0ZC/T"Qjs?kwy|$Mu2΀bLp$σ61Q1 BaX#^p*9P \bԱ7/W%As-b% ҿRUR/C&i)w†.;gPx鳽miA,taIl?]9B:29a0r`Ji,M5VL- d9³qro) t<>" B#"W%ȊfKAcZ^8AtEA QjŁPoRg[2MDm !?\\d9c4/TdVPKBJ\uvru0d >i?'X:a?!bSqqB{=͒G&ZؾW!(Bf4y_ >XyA(`Vcx/e!d %ְ23h-i255a""|$ nm1۬Nkp5NxrnY Toh˳Pcli(!I#D0/+.|)>[5sF|v?T /V j$C=Q*XOnrWQ{@NEP!Pd?n \;ZeDZkHZU <+?3)Y:G]uJ8#lbw;PuP.y,dzf[|0g['0]ـ^ajFn+&>H[Y!ey Y]&#G/M!bge!.j XDʥ;/O4.r6i)8QkN∊xkN挥~ⵯ_Gi/>|(Ê]qI$8/Ɣ>0T)FPJ-ΊJ$_>(6$>7pd9v)JLtxBd5砲 ϰQ 7ո̎ rH I:?|9)]]:%S`ݠ,&H71Xh{UHgXES&ea:3`?̀>AS:ـ+fDEUdvGXʿuWXzVKlK^445G7;9)ʁtl P! 5K.Ǻv`c 1D1`H@4X^&;c9޷va)8i\1xL kQItvX uyfkd 3?_K+ڄO;dTi 8Ri7x)^;$:Sغ<W.<9G5^lKgE eq]IzMY+.8,F+2""uE݌vwص-J!xz(?3 [tQ-klͱT;sA3kΥ2r[tV<;ou֔5/lw%#zEL-N3Gh ,LfA<͗d2iV/Voa3ȸgKvFN9"He+dlTݾOD~w{Y&-~ͬ3MR\.֎pQ h+fe-3+%Mіȝ}`.ެٱ5=i#G^X̅ҸMgi.F@nP͸o Pø蕾#]/#rU"tgqCDQ8a770\V`Oq)qHNShtuc!M h UQ',b|T>'l}qpa 6Ec-سP n#pP3vmQېyLujp߼j4Ҍ>rWI dF8SI6^B_ iIO6>-]hͷpScE+/D- ONqYOzV 03"Zlz?=/ïD9j=W}i'J|sCED Ԥ{˂(Jd ^HQAAs(sfFKu⧻2gC[t3F.IyAĨV6Jώ1)W(]-&R'ueB#X%vϙu\#AԨE=M\* v15Rϧ)F)ܨ}4w[R9yנKM=c})*vRGY}ihoV6ku4Ov 7C}@;Qe8^cv#!Bٺ.b1ciL\۰&~s{]́Go*SVZOո$*IUIneٙ;l*:䁺eBDң )6$f쳴˭9|%ֽfֻ̰)_ȆzRK0 ,?-`'ƐK.#~KxO2goNN<7(/ "YM]:%]^ 'i%zMrM wѝq;*Ň]yhC+Z7Jn3t7>]дf-ZإK1pY;˅GFjfhž{V:VN1Z>O.^o]T';{$,&0;yT|cߋZQ)HV@脁d H…0 *り%L⻸!nX)\ nh. gw}evD2VUJ| )C.e=#t@ =R\LHFDVdnWųra1(lvv`Y_N`bx@6 Ma]u : PPj0'UYwԙ2 ZveF8i)RoXߢ|v@Z!/g7 -Nb(^Q_7Tt]YaYbƩҦy Jug-b2=ˡi ysͤ _|5s {%6:$987w킍p< p>oZ'c 8|UkB*}RJlod¾"TsOOڏ ˍEB~87,hwi¯|Ihɥsb\0w$6÷_`t*q.IKI-%l.7<WE8ιʃ.M}KH-aIcU֋tt &'5k8(8難 DW3_L~~AKdDIڳ_oچKL/l'Yf'aQհ a`P O6tNg@Nn:I?tvFm4^aՂtTNB`K'CKiFlG")"K7&bDΰ QEF83ڮ=Cͮ] >$ t7WkovW`rڥ^ 3bS.+6`)5=yHZfQM7qi¢fcegrAX=mV\$ 0~X6zr( ڏ"'q_ipf*_> ex5j `U+ BC폖DjA4}2qtn&y=K8|/B:œ9Za`z  GY;Bw!f  f У } Bj0hR%A6lq9tM},ʫ4?ưaB#JtҼ`gW>-¼ }A{C4l$WaŅ#F㦶}0ghE2 AtLxa=9=j(9&5O4/شZgZý!G@WL$wڗT k 7&"NP%]I 1 R6 `Z )ef'eAukT ,WpIAx8'_ .kx#hō%->Jl -G~(;OaxǑ}:G>lY Ɂ;3&Q..dd%"52g4P@SD:B .~L .mKhOɠ8E ѻC$P#Zx(= fQp0,:uͨԃ ~ [- gAzPK&HU [#AL݆ܪ Dw70HQ '<6=:W+B#:#^1[dgsq"a؉F$dIK 8QGhLL5fsXr܂o jE-E:Cf||mz"&E!M-6z]*NUPȳTCP(J@pB)\ 5`P. v4-@J&c87ć( 59f( Ş({Bd\~Wp:1Zh&`W LW(%EkCG :O;+x~!'<4U5݅@ԣ[+غ~!cwɂ}][2uqcy,3D$X05=u/>q7 h& a#pF49;3X$+8qK LK7м6}1`UnøifmN(EX1IUW+ٺkDAV\{ϙMkACDko/Oʳ5#¶'gÏ+~/{y$cAv +t |kNQ(jGycNi_"Z]ɛ"> +T;rM1" 0ENmAPDY2i)Iҥ R;sȖ)ńqK P lM~|+&=^«;Y Cr1~&l,q+i=k )[{K0>pNiãɏ߼vWxy_7c+/NJ"/WH^hD:Oh1S3P*ŴbK1v*>-Kq+ B>]> AJ8Lӎ9[AY;r6p)|D{.IņS\Ўas]/:ZX`>,׸-!P*r6ܯ{Oա".8*۵GxWoNѫ`VB vV9@9VCN6M1 cc`q_co3k]&࿦18#c`Ӵ RD-w(yNkr CײFMxJ-6J״ !&Bⴲs\`n2 ,YHu.RHxՂW!w"!_4G` x!,_Mqc'n1Fa)bFĚa ,4Z ^K)|YRgz4g߿Bu (K ?c¦KzytE9e 괵j3+Ƌ.Ftu員2G 2I ^\ (gviFUabC_k,3֔ ](FtD&h`sKI0pi5ו.NjaYتMǁ^`9:oz,mXr$! {y\Ћw³sE O;a@8FOã jH󠜢PZ@i &v8|Ç 01_؉ѶX ]fLtR UBnG:ZlxA<,;шːjJ\V:b!L;JGn)L%(chR h+Ȥ̣ϖPVAǰr$ TeQ \n *4c  -bL mڦ6V$ bڡ N΃1X#)͖z*!dXa~% N͇R5L<]e-тickmI*; ,iDy2P]l,#r%e;b1c8bVB=@˩?` EH/R/Lb*NwY})&pJc4ɆN ȫ{M딕RUd02WTnVlO|m*j,2ZX戕Te7jp厒@NZpI.ßR`/%Xrמ ;i LYMo8kondƟmLníDkq- H̓R$Mw`i%t Ogkq Pq.[Q|{k]2JGoo(Evp9 kT .]}X(Do։gz$ixvEǃ^4ܙNQ( 8#qh.֜4E%V ;j+0Q sJ wQS1JTacUax2im=P<̓ 7 ֥ȩPyWq\ F\єc%2nI&[9 *HF+"PM-aZcml , bLjTP$.bntpـ^f4A`RnoFBTmYM(0a}hLՎ~c"Qe~9c#GѪcЅ"mt*bUE)\kpQ@g$0]x%? r>5J$FM䞉r 2St\Ci?J^ v\>z4Βm9-7(zp_dփţM?kWrAc*B]#ů8R?A/oߟDɢ ST,,gQ݂Ysp4[G""JOc.Mf@L~>F%i[IFg0i*QEf9M a":U9,yct28 Vy?0y 1N D: .;0K EAW8m$n1L EjRuܖ`c8 }(Mtna> IqXJ08!+=Jd֢A:/,CxѫxT,hɌ an/Nggh#NK6o)x%h+v(֘-OH]t eNPd }/"oP)Q 1(^nΦG{l/Džf>>nj8t65#tZAMՖ灙N4LވiJ(R& 6l>FĈV|yj <` /z|U"N]?)H%& ) rڵM68T8Sۃ42,q4~3}6w호ݵc{~l/"WghxD>&]050Im`v e!i!=9$cJ!6gcI[| cW qvn- =pE5ʏ^-/kIT||檠uإ;Č rvMOGi( /4UPRk+EuF9fԃ8i._Ŀ?1$ݸNWs;6I;h`~ɐK@D`!2t)S̷\'.Nj2>pHt۔&9^COvɃQ T4 Yn^jx,ؘ$ n LH6x8/X P/&=l9v-*K}Y Ve#)f `zRku0r㬖'?Lq/H@gD:qvs (zh* l'h!')zc;B=tx`Sa"ޅkqMiYi 1F 1Z DB D2U\h xn,B>-Kq.uX*G0ROY9r>D2C2Qڐ\U04}[DE+ET KQ'C\^̋yŸ)bpPX,j2.iB(ݽ=("a:pk%zMٻjU eEHUNN™ ö>,Id+$l\ZNBcfQXr|`n_PgD |ԍRnyӇ: tpb þqv)nDM %M GKdoEtFܞ5{rp]r.ayʃSS@xEB2Eއ;i,>,J[B3>cO 2fc@=Aof>#u'}p.ƽ7.,&Lh m\N2HXH9!hιHfQGK {Wȹ-,QiteRp^:/2h<,åDBH|7&/6JRFIƴ/dE{螛 {x?Aъ=jZ#O^ ׂ|x5 (#␠]Yg4?Bޞ|H8HLV eǥ=uE򠽵e'SX|^3D TK%]9"c:dN1]efT0 7q_r鱸&6ཧ\H:,ѥ7 cwktNiUtG`Wbw9dJ 6a[޻ r-7sn\я^,nyFþmI8$>zGKxLYpZ bˍ⒲1T 8J jg1Bs E0u8:T)gΔrXoLv^ k(Ѡ3A$JS8 kC/vr#i ^5olG)a3jlxPFOMS f yܾ]4(qڽ^ rMv(R2RzC*ɟ#<-׺`uUY ȇpD=a a1E/ Ug4rvlެn%͹~-H7/7%RċZNzİ ]fXR(2(q@zTQMÚDǿC---:'tx㩄sh^Mx#b LR`PXpq_@Y3%R fuvCN^Q_SȨcp<kLC E >JF(zyܮ  QW6ipͲ@*x/C}:C)lɢ dA^ gOCաąKPlkȂۊx[-2s[P4[3x.RpWZ-/ōAHaԱWz-;'7]~(B=a@`K/b>wvӖmn~o{1b{;<-9py@|X >y}iWQAv_gַ M/o\lb箿5}Ď7sbG}bm9k|rW׉~>ipZ>Ha̴6b<[oC?̱=7w$7oUk/`[ךu0ͻH_ &Vko0%C,V7-IhNh9v.c l`{_ͨ'~u@N4y$o٤`M6 REu35g7ߗ1L%L F|ˣVh>] QrI(xQ]*@0NyX›߀9~3z-5Hv3P#$ 7%Y3 Ɏԏ?C7'_@i*d ά 3 ^ vn̬~#P CX_{+g;"@B"Rԅ!>S 'YA p.KMV[d v ?G1@yF*Ä"z  ϰqpM7lkmң큱XjX9FCȈo.FgPT'PHE =D\V0"OAo-@L՘K!/,^{G[@ dUZZ"+=+bLGbnp|o)ѣD&jRƆ4uPy^_' {'6 k6=D ^-w؝=M€)2pMUkKMK!>%E-]w,lBJ f)Ҍ>EjQN76q&c:xA~{Glx>|-~A=,X+h MTr(fX:!\rzNLq)2KX/()Fd% 5o*Ǎ%RXW;1hvNR"k8)j·Z01eot]|V TK+4)æ32'I^#0I\c1q~[mLKI#3y9_nZkE76H{-TH͸=C5 ie6O@y#70f |/_s%7 }J\|Dz6sU˱0bi8*? O}&y&Y4Yya4*`9l0!Jx}3Jh®$=d.2H#Tqk `_-ƶYwO~=8L )mt$}t%i+6L0'nLm"ZEZ(@5 |wGQfXd\YWB ~+bCDyF)ra^</:1͋ <EHB!;0 89bHV i], jF)4噀zdGMzl)7!!ἇHFNv At. aO Uyb*mnQ4:m%^l$W<wdd'M'r[| ovAɄgYE^sN qko#b䩊؜c:@0A 9HdB}Pˮuݨa%0ĮM[&I0|0Z,[ 0bN1Ȁj<yCh1 h.B1vfNuVV2J =7GtCI^?@샨;kf4.(U=R RƀZ|q@¨UUGp>6Bii =2X)D㎔00)(j1ztTJDsOK\JQJGdV!"4`m9ؖ j `ш*Tb( ޲OL$<>vt{W 9mɽ$xGs`tV3m;[k)\层|*<ƝOBP(Ppv^`Kv"yhی|<S>'N[[tM@AiKmiGubh ~0b"W"X)qM<Ȳ| iߗ4iIE 4r4^6e~ |.S\Ӑh`)2PM] ,$i[a݂:!rE /QVnBB΁xowӚ>k1?6aVWZFVh40lŀkaJ>:Nt?}oi}w߻kbgO\wৈ73W˫WW]~hy[|+`3WVS_/ǹVCg#gF[__>V/pUVzן? VBs_Xp'Ϯ^Z=SCbX3ן[=Wg7;Ư?61B[\/bVC?ׅ6Ĩ3H_\ jȫLK 4_:.]Ĥ~HS}u]wqK"Uh $S1 h^FVN@h(nzdipٷ</FuGOKܧV/-QJp5orz1ťRVP.Ǟ)|# J/~eba[y塞ȡI@xu*i--Ds'%A6D3'" ,s@%{%j"=<8 09|X"I:,!czCޅpj?D^ pRe_EqcЉΐɟ3̛ Y&[$?; 54bpg0sݹAia ?|b&خЎÖ{lF@>b%4j/0]ֵ@OrM[[ʝ\Hh=3KdmZ"-K罰=99VEz셟@YBqhdt1^Ӽ8;Cpc~ɇ^DƦ("t/-khq{-ܸ,9-%,OI#CBszXVWXx3iG<vGQbрd#}Yn3l]P9 p^q!Z~@8Fy'+^7UIyyYXB:5 m* [blĘJk`Ua-p²BʦbzKȨ™a3e j4w}0 kކ+Qs1/FV FrDŽu*"и{x ;KfJr܅P2.;YzcXsi/sC 㠭Ќi\^R`ΩmIT?1%'(5S 4a^S[Q&3|.@&A b 1\$1gX8e))T 0 (h<7BML!RypQ*7"n !CTF.2{c?'j@˱|pA;3y}6ݞ!#&֦o rLA '[^"uJDA tW:}ۄdY~HW䏀^}[PCwq 3c6w@2m[My^&_yp,b g:%bY]ds,u#Iwѹ|CՔuy/MI ٴ2iOvVkhHYfب*{;fwoW +{mNI3A $o|WOB A曰{bvnV"e/W{7ʀSֿ֬jvۮc7mJ$@~AB],ikGIQQqr' _wFchXp2~ M䋏x) mJ~Qm.HZQ>/1ugvS.!2,On ԿVr**6"4h6?>i9<3QB8.YQ+\ ЇiUPO{N\W߭N"99ppzNT gJΙڐؙẌ|#|5V@{֟縲a9zAsqkMq n˕` 3Xa?[k+[^3ˢ!L9ڢ.j JcqXg蠩H,/>8i](yax rݤBq TXˈ<)q*`94\n4E'=c'a4{)GoT-n{d妾-֨3 %MGj-vU)+^ 1mD11>QTi/ |6ƁasO5 {Y2!ρȾˢi e;}4rIV<(?PѴ0XaLpmgfc1ϻcOiT^`H󑌕 uMFAdLQ!4?C6cUtQlZ\Gx+C?{G;^u6+)iF)(1ms!0ZMZ r5R AeLyX{KVhe ZNPK/q b"1c3sUںw:.UytB엀NSj%<7l_bM2ƃ"[nOn[\ySXöh hGX|b2XtVer2\NLtMؾ {ѠJDZ[Na*[@ =9@+G@Cru'U GQT{qOGF ?@Y9zfO1r=4*Xw0֬39RV0)FWX(0)BQpkPwPF}_R'kgf^eզ {C8l%w-`Ct_V/𦙼^lgHi.c}7$F;Bj{!*7~d`nPR8[ڔMfm^mEP'61eaPfENuuq۵t;6Z˵O˅a^xA EAM}Zg$Fin^3C |x8U[^`ռ)߹nf 0W3|PAqC 2DǮ8=#㹵'R!AI, Əs[ snȪY,P|u`ysJ: }MV/kRY;}2{#$ƅo`82v69x9ɜTM$|`H\z`_N+-_2:\ς '1+:uwME1 8_FvnِVϏP:Jr*vVHk_0^wqLOFC1ugE* 9[]$;rcKY`_PPq*6P !e&Z?$xgxzٝʌu3s+ Ao瘛Pp~UM۲*5+OaBpxb;sbcهjF+Iͧt@e?81]3FV5: 5 R#NVI5o* #/ѮLd/a uғqM.[U`rX*Yt2 5(46SD@'k(>@Id.UH 36WRղQf|B9t&e;/:,nCW<(k 82VY&YtYؑ^Cv"I9FTM.+F8`3r^~HP /ȶF6~2<O Jl!_`&qq#WٮE'J(8# izv4?%F}#UHxIce\Ek^:p/,/=/Z) jFL#)ԠqABzgk8kz@W ZK*dK 9AY$TZnjx='gF0D\@Z!se\_ܬ _Bq_?F*Sgp8Ѹ"+8`L׉P^tZgdTWRmF0I"ΰS5 .s:w^@dZyWCi ,V}e'?; ĮdJy4 IZHymm2URM!ˊ8MHL ua_ih3+>V֊͓w+=o$33" X-A-?UI2l/bTi(GiJwEeC݊ucqfR#7 F0Sy:?/TF4<1K_޺m8[ (6%)00WK/g9T^Zm,% ?o 3 # 5 bI辝OW[o#-_ SVd_޲Ofz<5T˜ 򘁹ْiI)NNJ8E8(>si˳Q7M $erxbW_}{6U#}p[zj嗕B+k/&@MW*gX 7h'ߍ҈`{2)/ypg5eO7McaEy6&.RwxC3e2  {8ɷH\9 g],<=QVv!w}̿d*_cxi؊z1ϴ8z]dS햱)")3 El3ȏG11 3ǿS,tnqٵk]wl_;'u;vN;&wnoAzQCw/Ϟ`r꦳J54= 4Fmzrǟn'\~?{?ylC顛? g?}o7~zaj˟n\}zx?Oy7nšmg~a*<;ϟOO._Wo0OǍDp@Ǎ ၔZʇ߸hBO7^y|r|n2o0ӳW?Kɧ~? ߸~k tm {d׍K7/_7_?=g MW' KQ?xU_zR|O~+/aT滿ӟ\>~,2_|G? 3/H~O/t㹟{f ϳTYK2G ==s9MP%$PSCƿKgDW?h?==޼>.K pVvUgӗ_UBuw)U]ݿywﳓB|?o7O1^'$BDP_?ulos?KSn/^?;aS0/;ӧ~wxn7nCǛ`^j(e'_\S*@߭ܘ Ϟr YJogor}L[sQ+[Y3Pt?2oO΍Y?A.gNU/㢹`j2͗G>O+«ZxEOݗ S1++̍3?w߁BL\ p͸ v< ,b n J4)[Q,LB.܅f!̃L~Y 6kA4{ ,Bh@^z9ϟ9 r37,oyvg~/Lj!?4U(?M뺵 (v1#iJN.e C\ܟFYp|X?O4Z4siSēP6 8Z0((iǍf a Ih,NZLv6F49:3w6FBbLbYayy?AegDKZXf{C*¨~#eh|`گo뿣og[|8?8?۟>w铋`Y LguR6%sʜs 7}yLϟ^(x9@#N239]o|.ׯqe0cM}r 8H/~'"g&,Hny˶{?'ZviLHJ9A;ནY}K/KX|?͆?%U?_V>+T͗~|IST.󟿥 cP/_XW }cIb3r?7~yWs3ܶL{^UjyOvI_8Y˛ xu9aWD+ =6 wsŦM2 t? 0{ ⓑEv=()-/R*.g l`MN&쏯r{%]?&H@Nt[߹kW3`=|0/ldQW(%[$73 8~e_OKnq#؆'os/u`:pexWw6H%C#eKJx#ꈕ;+ߊ!׆<5.%HPDF3IB^#&UmCr0?_GXcy+M]&ߴ& Ƃ pp8Kg#^VhKJ0 6;["!?OT0ܜU5>/)|$~&cxn8؆a7)=|k3ehp ğmy%Ȓ7Qs{Bʄ]מ`HSButt3j:ΡkF WF]D3$y(qyFRYyOotĭ a2=7heQ{6‹ʙuU"25vn7fa~#ƖXI)זK> a_6݄bL1W: Cڸ2VTtZdTL^dZ|d/ayU&nW4!(mfX!+aaLR;4[L#l5zx⊭:Mr/B\Ah<ۀ3"-❣t,DQ=RPQC=ܗ48Q)'E^uôi^auP.v0~a .Yn)G(nNÉ4V}z)3 KIwBR1"7w\n',e r[Wݽ/3Kz.5iSq褤S_ M h!uݢ5 czF8m- "՚,]uJ~k@~瘰Q [-4n  U -Omvwc aKLp`G{p836lہf΄2Kª,a?+^׺ _.#lRR- -`Ua 8@[C҈ HcU]LS#{VK 㹸 +Wuӧa} "q{$oD "H]"ev@_Z+504䏣Ehq9 b6"qcӮn/>Bh1wEy펜( 4>wV ikctC|`xH}_&RS޳Y&'I}{7߉߹8 [,W )>]w!í$WQ?On$֦~ၸq_h jZ5c*ms ny<|>4&7T/4PίfBK0w5=5z9!l(^@oOk:[;R<z!sxF;q+3Bm4Zld'3:A f4txh"!|]7۱iO O.Gm1-#-(.L 49 Б6aiO#jOI6CXC9etiǙnӹh>D`4~=Ќ&8#\yNfӄ^rB3k$\Wx#dP84޸FaTK[G(OL8m!"")a]4 Q6^qh)b٢TYE5\CN5)&1dWY(}ظ8WG^Ҋ%di )C8Cs @F=ՆN V܉n\[VIJH"kҌڲ²|,V`:BCsw1ބd_ t QfKj񚞈PĝfDܡDuGQcð=\?8d8Q')%$*x;N(Xtau'0oQތ4hEat΀j`5u$~~oW0\u@_.QwC'' nw?._N|-[fQݩ-Uڞ0B- oF8z?[7':{ L3b"[z\]M`7d8 z'b])naiakIF/ >R} n18,6Cti4}K[xJJ~fo̎Q7QΣ/'yVK^$A0 GOVV40ŧ/LxfeUo!j?}R݉[xܨjK{{&V[E ,`3Pn@FC9Vcv<ĕ֢GW h^NCiӌP Sy3CWV|Qg<%muK 9pe{8p:7MD$u lָPU XPimPE7MaĔtoDQ$#&*R'ެmQ}V9Ra^5La o.6-aveu'nk)Q`F"|j1o {|>;  1" ZS5 'Ә_Cu1?tO\yNm_gb2 ߉_X.T)CΤ'`0':}n9CO݇}p?"06GF{}}e6Z D~^b/B>m?ʗy }k#\2T=ۧ}w1=h9B}$Xi dkjGyj a<&grTgiX6Gdi"PhKST}l"K7Rhk-*͊ lWuYuhP:!b"6 n+P`|Ȑj.F|\2w|o"kS#V䷫\SiζGK RIqک޹WcvBrkSJja k@^GqZ 1cyOwf^l4V4K$ } dX>y<_ڕvX]0Fes+Nvn G6]Odmuݹ!woN XÇ}36qP;w/<Ï[-@! M5w+Ԏ<.z}v%6^6-*bMuǤ*QWe0s`9Wue]Aj_C;#6(\~ic_A6KDxk!RN YUvРTrF"̅`;r$ {a7LH d|ÒFK屾 /S΍[GWʭ0T|0;-1`҇E b{DPNj#DH!iF"}x IՌOZFr8 AG= fY ťjR<]ltt|ʖY!!(_ͅT .jX1t2ׄF6r_osV7<ӝ܋ߟ۽$nV%J-Р h] mx^X8;1Q=N<Ѧ[<} ?@G~9 Njo4]uF@$K,֗"ތ8|sBgQ\zjC3`6:0_k96؁>!&zDnM7Z|͟ [—-~*7-X]EPPUbOc,lӠ9%ě(`]koUܿiIa}4 /!*MGu<QcpznG1ܷf1 @щk1#WKnmqչ^Ggfj| l],)8ϭz,;.ec#^}qտ*?*j .ȶ#orG2q 0EN bp;6˰0!G(j}P/wcޭ: _곛(˃C~1O7`a:eN@b`H(r /uގp5Su'APdrMU,\v3Yif|I ~lm׶'$={ohq V}?G 7_ 9yG"J'|gi7]a]̐ /K3aT!印=g_HZňִŃcA1GF0=Бǎ݉-rzq -q~__By(3!\qyuF<Ԫ.j^of,Kq@Y 04Al`qvP5͑OMXE׷ /!7ۅ2 U{TtAm62 7b&j^ԄV^%r({w,yL^v""bQ|׺cswY K3wUF>VۧE7PZlӛ WɄJrV)-4A#a R^&RuNy+q~JcY SYJFjG~L"mX'=[|we*bGLFl>9Ż̕D=:9"X۸0o|= %/vm82ytc)}._z֜۟gO-xRa wp,X(o}GwSf/KMlloNd\S:,CdzT)T߳l*ﳟ b-zcʞǗg}+Z.lܻԲVIx"_ `w\/5k|r{kw/0'Tֵih^c AƬ-[~͉/D~S@ڈ:.hΣI**4э;_S^^USw x)GMeT7O @<8V@,EC#~nNGaLݙ}"~Y4V2%42}~2&wD^:\V_JUN]C|-O蟤&/JXFK5č0`-5hڟOHDe-oۖDԜ yo'B9| yl/ۨO\>wݖv y>D~Juh7Œ@ F*4yr2}Al!=14 zhr#b-J^c2ܫ;.V[OXVzvj04S}xZ47)n  B}d7?X1ppyI/'fy-> ZYJz8A6PmχFDYT4~BH^sl&WK9 4U1R;xTk5 tGUd 4ADt(e8ݗl# N, fGZnyPT&ן(*AQ y#aKd7}'!z-H\kbwnEe(t,DfAlϫ?l@@)/OBe,E@<,HsƹG)}]| "XB"vҳ4dz JDa4O{|0AG! B.%)0qc5tLٚ8{jCo~shm,t*:=oե>6jr>T:c,)躸:^" r㗫q|x#{Vf[Wf39r禷1SptapGf؁ f$=L<[bhEE-㕨%)7tI{5TosJx!BvS^I+VU5ōhlzq-2h ü4lw=Jv-{ZU{-)=㪔ӏz0Z=Z5A AD3𶒈Kîxyҳ??6ϗ~HBx[ 3o #`bǎqG DiTNjߋł=*>L 9VA6j]JE>U"o(O9giL*uhWOk_ޭ?Sm%6%š=U\gk fn60JඝRU'V@NUp x{{/d:nmYSAQ8eFe;nX[;*)^XVP-Ͼw=<g7G="8w7NѠ̘s<ǂ̙!Ky&eHqJM*f**\x߀a")U*K G>|qP=z}=phʺxAh58xj3XŇ?Ё}LJ緓Fq.i Co6'mG~wָC?*C-~Uw餈=Ӊ㖣( l+ }-jЀP3+XFf07Z2@v~}a?c1U\< ?FU$&B5:u[ VD }8CFTʧ[(_?'vm;T^~GdxHΠ:\ ;'aQgL1VS=}FkUDM5u,,3b,Dh'k[Qj MF%ʅ 0=4k =p6QvjLTǮk[]-AG TM7H*h>X@UW8TLjq7})j8`URa}Ʈ va*7_P/پ];#:C3ǿ~-)L0 &'&ٕh:uݙZ-#ak2bܗaG.  1*KV+=bt&Q;ͣ i7jbCb!Ԃ8:AGM/DmƘzFG2Z8'̾ȾQ3v OŠQx3i,sT؉'1  q]N7nqs( t.[2=pl/12P<͠[4 za"OzУQuVpU0cw0[vb3X ^4㻃(wNjRv!ګCadw\u0fFPz"!:uHTwQD#\A6inHzH= l+g/f {nMje*Kۥpur k0'M )EZ#pr2 l E"*^6s~1YV -ZH;8WOzXsx FYPZ).jn0p7`jeri-J-84`7Ai c=}x-V jJ>/>~o}.6qbR<`,4(:-eBnrJjtYv6c̭W7A5qo9 [9`5f i죡ۖ/^qOet׹z\Lot_ۘs3>MQ|R*ηGG  E Hl˗v(<"VP}ۨ v ,EX Vv͇l؀{f_!'XoyiϷYti֌ė+?eדjnؓ%7M_>Kzݖبφ?ʹfxic4H~ZUG QI&lg{iÖaŬkDjjӚF|/vg) l܂ذes%gT>dAZңېw6d}W,=l'pɡ嶴4zɒ1?-]f6sWj`b|rSaG-' 饇d6,mÉvQT1@G^/Tu^H],UL/Ռ1OK=XvH3wm۾=8 HzSLTptXZmZzqNn5/3a>0fE4dbɪhi1YzG|2}f;T޽b=1O9(领<&qm߻3QF̱UKDl] ߹ĊB1h?,>vtFGϻ-my36zbjk# s%P²Aoٲw+O *-sWʶG Z֭>fMU|ǫ4kEMJߗ*x֔)_A”3%z\ޖէn%ݶgW9PwnԬ9[c;'WZ-i8v{TN|7nrlTG6V {y::Z5eS`b|ؙ &vu?Н%b$M(qe8iz'l6)uѭj(<ٴی@`144xf}`;xaciz*gnnnɷVDf+oSsɻa"}:>5-MPIBA0Ot"x>19bVM$L \NR6q<[Xh+njq$z"n S.Nb^j{OFc>cB<2V+dLt¿=bSq30Ø`o~v}eTP5^,+s!T!MԷ{ vQ0ٍ+E>>~0`.7' ']mΝb%'٥8vT6v \.i͢1 VWHIps-\D q%siFK)DQdi tzU㝰 b8%u_):ab.YYFvGCM9`#*z_PO ƕHφhO~Ǯ;M6 Mj2r9ΚϳhbH %>Lk6[M޻@k}r䗅V>H7ǿ`Ɩ9y t3n+"ϧb moݻi)faZ|>6+sQ.;*~j]`td~Y`H Cf2 zPzz,;c&f> hnzDg' 5:M=T[nL xh? }ek]4a_V'&W| N=c@%pm@m C<30Q{̍?1ZmT5|nA+wWPКd upz=ߑ b$E"<0s`=m9ԇ%:fu+AgڋiNɬ]'&n HY2aOi'lx}n"bE {%$؈1 1=MO]\wvέeˋRᡊ{1[IOf.|v+@WJ"]J;FAU׈;3y8}?Lr2IR ~Y k˝Jˈ|ˠeE+qK=w$*Es>>ne&M }u6w =5%0 L-sQ#? ^~vvƃax2R;<ri`ᡒ-T}4x؉N41ɟqLO[)C8Gsj;)f`//$Qw;{vy8Qh_k0Ms3[H[SZ@M~6s< KƞfqNۛ:Ɔ&4 :x#Y[Ƥ|2ފ|A%Q1𴄭N(8-w*v8PfĬLuH' a|~gadB+`=nE4]s|1#px}ԁZ!Bv^@ 5 K僘q蔮yW:iUX UPOĝȞ[28`JPEH); -YʿcC6Od8 .s⦻uV8P|z^w.}[kU<ԁ3G0"/b. RMmUS8-`Tob8EƸyJ x- .7zy ?S_Rr2{Oh(j཰~s_㹡Sek/d>~{V]]yW39_ػg c~Pn#C&Z]A,)A`9:ܩxOUbdɬR(Z!a[ Q?I** j7 ('Nz&z !۪K0"^4 CFE3O7VWD 35/RyWmSf5f xb:)c|$n⁄|B6rU[`1GF7F4Wm@s,X]i1lۻxUE3H{6UnTK09bx Nϔ12~ǧ-$q|؍ػ[;Ҋ~}IC|7[IHR)I w tGYq{3n[l1"|ُ-a_Đ|ݮ-dӏ?z2A&wiDMig'pI< d4jz+bcS4ǟNֈ?\^%Nၢj[s]jW8PfWog@Q>yf2ރ]?4m%_VT.}{OK0}PSB͉=k\:$5J 6eap%wkK֨x\5^܂IBA2j5VYDNl0"uSnǔ'=>|,.K6`o1N`ui, P1VLq7`jWnm4s=h{0q|T"$աٔ:t&0fnh5NV!)/Cy >0/v}_\ªv` 4>5S-A츁;Q}I*®4 M?5u,`cxXǖ1eP{7l:l|A [_Z4P&`hb0?I(.bsOKBO(k4Dq,`0}N֤5Nb&`&]Eu\sq#32܎7#\tTP'?%2]qU_ [C²@t@7| |fXNMoIM >$qL/?np5w|׽߻k&:]^q qujo9_yoÕ}YhEAqAF>C <]Ҟ?%4S* ҭ,b̀ch U< L4C\Yۃyf)W&{N ƔUĠ)v 30 "xKuzsŀE֠.f-Hzcη=KiWDͮMWOfӧ~omBX'n6i!نH^j EBXti[ Ż8<)6k ܧ2saF;[Ly@5[rlx3f(V{o]DdjuUN[tܐb])z(k͸5omY__Oy |Π5i2;ǰ:?(TB3ܥtw)0]kc?JPvVnY؋$H o̴)rEN) 'b=@;D656h&uNe]AvՓ;j]tV;жguY%8=h@k8V_ERwTMpݸ箬>\e\f-ZW%,Z@;tT rqEeNoA Z.S,c.h k%dm~$Ph45* 勂a Dß~O]1lG0. *J`ڼۓLF4jׂqjCF?^T(jsTD.0tF dv"LsGy0c܎-Q^:Ko6w)ߌNE KrPBa6pڽPYO"gCmzЈ Yڝ1mMviFae"m5|.ۭ9K_0 y.}$^V7zF-CJZ~elG_YS#SB3Pm=4;MIa>ɿEJ@dyiFX*ÍHH9ubE|dT}ýuߪ[<0Egds!AN)Չ9v,t!QH^:h3[9깾inܦfcR7RحK[2YU8*NƠF=|lÁanx_G< ߻ޝߎߝو|8D=(7yZCu|HFi|x?_w;AѺQzíh"[e&f FAsyg3$l}[*0Us8˒BPC jpХOJ?9R'W5"j\P+=陦>NiX 82u9]I 6[`qi,V٩_F@V&ϛxU,qqvֽ* Leǧ$n5;*~B c"gvJ,jE 0('ReIp#QszU]62(WĀL+n6fk=;cL>&ʚ_([3}`d"N\716;v.:tgG_L,u[bΗSr cxp`}sd7A@@SNo!14jr; =cy6}x9?YLq6 C2v??"?H|A}?;\?܉GRq)@>W^ԋd9N!-Cz&eVdU0Y ?n\h#',( xDeqr'4Wρ"&bdRZKay8b;u@}<i)-?U??ICGOl/w욼wS߁|pGs𾨁E顡@,hU}TOߟ~_}^wON;\w La&>j2wK]KFAM{trRGrIQyVh П-ЁkhEawve;1#GI#Dȧ-L qH!GF i֒u) +NB5Z%/c%}YN9l%=mRZ(3Y+/J2 (F6C8"أ^N{'$3`6rŒI2&s䭓A /2sҵ ܃_Y &TUa >zP[#%B|d}Bq˕=%yA1dG iS!>r]A\gP nڈb(}oӿ#fv:ud03I_AsGFneO;7ݙ[_1ԵB)Eb,qI%T(mlmN 罛?wǶL̷laP/c&S3b̢(uJ1 |Ha77cꚈ]<5A]tYlXe^oQ% "b@LW[QO_T7d`6&[5P{?e/znm"/k@uzL׷|]Mq2 TBvȊ;T./EpXNX7e$>!~suq璨j__;ȊWN׷ LoT zԊoi g .#>Y8ٵk? 6΋xED,+fBS m%*Ȋ圳l^6fM)Pӹz97e$X7R~6, ZWSl!2i:_X:;wM];wneW:M$@KO1 kڠn_h F-V^W,"Rz2w:39h'j!\59孼c:˟>@α5 ֛4+ggcr})'l&]2&J꿨`#Lh6%$U5EypO3gH_ȴ'ފ~/ѫA63ȳ!nC-5Xy e lxz3W֩J4_1+fDϤ3#fD63tf mfvS??.avouaw:G?shܵi߁=n[xȯ?tرG}}Gч hp7@pbRX:i>tgBnrJzv Mt"3 T( d~915Ҿ-[y}a_,nb<'w0 nyc_:Ŀ݊7$w"Cp؎` Z# :hnRѿv BU-Irj˖8aq5kˏ`A2>@Cx̑}]B%F!pKWу#H[q/ӭK5ԋ% -6s0; l_:+(n2 3k>ch'& k3}&o~X :!r`@)#K[:5VZ a:'W.\4JǏ>zB@CTo[CQ2象ѱCVucJAZuFoC/%31$| 7.>033RkPV:_λ&qC|2S9_TF nd)IO$GBnܱ("YtaJ C3ǎ=xA%x2R:>P^fh&YWuO^Le567fV0 Ƃ(\6DD2?hh\.Q.M 'xOf7Jҹ8,ZO=:Yj((k'V!?~jAWEٕGSZ"-ʷtb.9REM`;6% XAUyJqo9*^Oف7͚(h "- U$MJTiq\1 ҞoKCz4JUc_Zo;@8ۚ]fV}m.3b+jv Եpyf=FB2jح+(qq)Oe],*Vcљw̌.&U<'r x$#Ƅa/Pv[Pa@)MM3aE1Mpg3"1H0:0TN}K58ia 5  G_a84xwnz"HǍ2*8!i"Ã#Q~,$0Y?+۸ h*:q٣ LN8 &'/#P }J6Ѫ@U P5Q8j2{7s7оVS_ʱ*JmpY^ər?w/ͧnkeqEG1~a11KƗP 7t[Pc?< _||%,:wc1RJ <u*T@]a[7OŦњܸgTTBQQu'gX*[M?%eʇaSø_~9 :bYV71z? j3lQަ k$?1hdD5my<14OWx˨SFϤY=;+ , 2Oaz_%hJ"0ՊC9 OBۃ9GOf?+*[،ud!)IzH(39ce4c*iC @Y7G 0v'=xRu)^(F3Gә vV7 }<%xK@!2icD1-GaEgNf$q xq\ZO9, @3Fk atY琂pX`e:fd((Ѓ]`XBZFӤ>hxĪM5)tf FQ7Rh%Cȏ[Y/y!6 rjMP?zao?bNG<͇ RR  膰sٔrnviǷD'y\5} g=8|ЗjQڈCD fY0ת1!8r="70 )flS`U@y*J9Y{4W{-<:N֟+cCugxp7w6EV7p2)hc5m xE>%X9|TK[jn8Q&6o5׳Qɪ'oUo_qBI}t@ %N Ւ~M@bУSUc:eB0coߵ?__EBmnK9oQ7֍OW2dᄾ+z~FG\^ݜk_n{0)6 _\)~F6^!`&'vӋb7M/vӋb7/kac*J}Me=Ȁ>LPWR{H֥4Ξ={>N4>68 3ޔB{T% Q2'lñcvB1񠭊H+<IߕQ7e=aơ}/C;5I ܴ0#AD+̔#"8&%Ib gn[DR 0ãHTY?Bī\WO+q5 M}*rD^ Y(UB)=9o9ؐާV=;UH`PF)zt`tj: .1\ ?-@`vx W8AjHqȱz`Lڨ*)6Xp`NNp+OB#Nӎz+Äz=X¼<%bp#Ӯx3\ 04@y-(v:`#e/TO(4صpiGx_lroA Fb,$\F`Y `>θMkثߢmmalE*6O j.2o*ꋝ#X`slc+WFZײXxAkA^}vhFK"ufת a:8NqbA3gVip`nП z'hʰѷb1'bLrD /Y'." /TQYH0T77rO8klQ}mm#>(a\ڢ4(FnT] S%oi;C8lAR&3#>G? {b xq@+B Fy+eM9+oIƀj,3jq=[JfQzp\Ǣ- t*xF{rXxG_sAG>fJQsnа_+ZG⁧*R7pH4}қ5~q@Bh:o㤒3˷7u]5=)A$-/B'R6lw2nCT2GLO3W/k| ƷYgD .9 _A%;4A1zx fL;Vt+pS^ V;BjxoOIgPqU/~Y8||H1#?F#dZ4h!:x>pltDm} Ț¶۪br`G$@~,%s@Ί}b+ڎ؜a0Q2 x}A HF|NzJ6x=d3Ze"V=Oq4Xc%x78bNEg,۟Σ#+Jѹ>:3J!|q!"!p l!b"sII_= NH<LO eRIp# ~۠#srpdDmb 1ע|V\)N+CnȖyPyRzggr# z$Q[B E%Ke @}I`"ApBF-`^eI;Z/FF/>LēG + {;5r#ăDwIf|TG'SXsq1״hltK]k'A!=uk#,"k( 0 ^ꐉ;==@A/GMXs^bRZ/LM㑦w^]175HH؄ .b [ @9ų|$og帚܅Sf]JA[[{r#[9[9ߖ{n8.fa>|`UT ?bƣ3f9 |t=m;[ߕ5Ö,7S|*k3}ܱ}ܾ];2#輁S%/$37pq Un3L;~PGV$.6amA#Zk6Ũ V)XIBpl0\W@u"cKy[/洱#i>HkEK`x>hϖB O'-q+!G|\xHAEDflЋ1ZkPE:J,-`-]$::i >L㸈=hO  |< 㐶* Uws,!'8xij{Ms2298kCWN˜9fwڽV< yfg'rpN,eKZb`XK -!0 E,h_ (.xi =%XA(EVf f^56(J۵&MqTiQḑ&4u,F(R:gsď38hvwXn)E.4jd͜HߗCPsҼ Y[K,HXy$\TElZaD\1}8A<<k "PʐLAJAtfd9%@apP)a(_!y hݙ uݵxҾD\Q0!V#9"'Z-<^qgDL bF hyD稩Q3 )R\/Y SˌWl bXJ~ci%)g\֠tj g[xk)N,[t@\@5b . ӗN@j(89^BvB? 3n(=X}ϻ 2tvrѧ:t hd-[J]4PI<0"*‘, vyfaW褦jYA,qA(<Q0 -M@B!@Q}v(z-C+kR ΂aT0GaK:UM )#v ̂B:/57(Y3 Ek:]Zf)^@)lak7B-ٕ&M#*\9$LGaJ#B csr+ܯ(ԟl~}rQV:<6Wfh~N`P 9fv-!1X/n;6M,KԦH'5,;0vb,G{!;Tyws4l+oD$/Q>hDámak2KBHcyb$-#Bǝ V9)0`iZ.ڹ{-&zrMj\-*}`dƅ!cz} aY(j4/ bةyFv܊ " 6Q7a<=wgsb-.Q[9s)ŰMM$> oeBjs9'nAv@bHYMDXfҧv_R #'B~7eѕ$7 -gYbQn@ |b{n>,1BXM-VYQà 7cE|&EGٽ}pl T%pya EJFˑ5B B +v(C$avhBΖH@أp aAQ~8諉n`AS&xvK Qg|2ָ>VMB'@My:`ZMFyp"g.Lcu>Y2kd39w7g׌`\Hsf:8rZǠl3M,@2XA81GXC:NC"%7c{hLB It:ԬW NaR {|3.l0Vc:;YgYQaP xޅ6#. (-[ :PyY/YC =_e1yd#h+ Ty,hR!Í~FM 5: >ݽ{`zaHk25P'jSf;=M~ >XF1XOUXo%9A_zUx-mFmqY ND]В^78/^{ ݽ81ޛuUÁB!KRZ((ؖŖ[6Ty5-`p l@IJh۱c'(iiՑP,_Y~hr{3m%MbI]=s9sˌ] 3-6`}wA-kbZBfvbV n0F vp'y.y*#[XSPXLaΧ{E,aX%r9"K Kvat̴p2fv,m)1Pވq(tZWOuh\pm=jD hQ~n?9\e,[bq/]2k6>mw ~eOÓ[eKUe)(%["FY>fMލg?DMCcq)*"RO /S|~r<(]7]1zř?gXa@ا)zTCC7|F1K$Aq#AhWFA"܋rS}ꀎVmLza8u—2U[> _He$PmH% b8t:y?Y 1W i:lp[DAiTǁb;)`ߒ) ].V YjD 0g{z&Ik{;^6vaqRBFbZ^%A[BV<ע7zr]\1 Rq$d$)i!YrqCHifS#_9 xXvq2=CưT"1%Oga*$}JLC8M-F l :!"y.|F/$J\A>E;G> )(#J ]C“)Id%*}*̷=dsh LLy0#Y dc6wmr҆ %Qr jœMh*g-Jua{;%\Y Kqu(#.dz߄9xh[U 7nE/`[0;ab]Do̜kqK"{n:QiuJ :|T?b\OE䰥k,}k1^oXM XKa$8JUE}W/ !Sy廹grNO@x)4ـђђgӈk*I,a`Xat D(+dCDGYVTgkd-_mpxZ欍K.Gf0?l v}s :e먺 mW 6NJJ {*b CVC'4DyĦϴ kͮlE?f N+TH Iv+| ;Z`lW %r7%>Ŕ8moqLiJׅya`IJi=m~mK J*P^ %4-T,ƌ]U%9.v2Fix]U0rQ:~2CeuքbU902gec{*.bhՠ PsD!jٮH.=䃓HyaըĹtՒ2}G}V`AaJa&?5&Ƀ D96xơ:挫x3y5!>ttf>¡!eˊ?qpgL/$\ %m"E5QRFclѢÀ 63wi,(ChEl`$\B z )(/%(0 +wQ-"iFG6GP]CkJq{ruxO \>eFEMƙr8%%m|b!ш $6kX!%lbx"cE6܋7ѣ] !%0L!nLr뎎Lݘ%@9k0ttO6٦#1$#%JlEn d $A> ڞ"&)i:hHwC"/,ź0jHW(bGN2Zcs3 u6H"nLbs#q,d蔣+Mn ȅMa%s1ԋ@w~-"8Ozb olFd0Uѥ"gAM+bÍbiXOI)tDDHo 3YRR 0('tYGQdfPpL^rIP(dC;< "eq t *POr D@,uKz'&& N Xc`F-ifl7EPl!j%5,qPWN~ɭ8y"t|0QyCCdFLaoUEJŽi@oۅ$ektVo"WA&goI m2A!o]$z/J5pI'! xV9"@7lt2A81jvkyt`bx]u}K.\LUӣd?^= :LLû&Rϩg;9L< Ă-0#Հ j@FY]'C1ɫ԰3'[5L ֎4|Eq=.Bz$SOSJ5#:¦,A.*&Ѫ^ d@0M`-V"DrWs/aƫaN>[a_H=V,puڸ1HvJ 3CRDFpFe:8-ue4*Cl8('cO# br`tؕOâ ۻt ^94!(4i^ݒ!Ě\OPAS^ sӵ-XrcuhRG)&a`\]5Ǭtd’bT#F~*ťㄶ0;QmLK@ X.vZQ4L u@Pց)9t4+]qPN@\viߴEhԩ\ b $zp xavu֝n0D7c\_Z9(>CAcH;teftsJWcѰIkQ%[L!iX0²èu1ǡ=!ceB{yȬB.ip3*ukr%97;: $^kǪ˅ V=!)=GlfDGhk5Dcb5o. w_ [[ N;pTǿY on2}KV0KFi:NE들>[h3튭n3[!DC>z!~%!呂qŁ)xu~4A4lI;^rx[5&yRE;ۊ1]WpMЫûdM.ċg%g%q}D.o*|P:fiIP9 y3kmSeB*NTZDj գieuMOseؚ|]kK/aƲ 2f I2Adk`[lEQ 6wQ?e!$  T4+aSMf:eY8 {!P4AbNY&M"FV"L5+$ɧf)*WHA,Waܾ|R B9lh$Lv䫫pLEf1sv3w&LoӊK&Ȉ+vhٟۚY U _DlED` ^L#U:2Kp>S@Zhqk,GVAO"{ʨQfHkxY l0 Ku+.Άϑ sNGq pD3#5>(m-mLu0Ja.\頭z!OY0ӛ8LQV{&l-Mv_5ɁZVQӏꝊi ?NEEF>#nMڥG`T!;TX`ʢu/. ,:5#XX(n;X  U):#誘B"F1v'0֝lXžq)cQN\J""l6!ɆA>cc=+[!rC 2o0dLD1 TW7 I/B_:tzRqMnxVAY&u™OtA^uS}F-܈(E|HX8@ق߱98A $ U*đB-RR# b0આ@s( C>jVAefEwhjS. 9N\ǢA 1fϚ훘XP0.1.KC}-幺h$b8/+>&LL0Nة847|=D)|+=h.i-,%lS׿Eֈ9v/V P%Oe& N G1&&)- g "ѧD\MBnoМɥsqe2u EdB%ˎ D(شU 8M9"hb T"<FX"m0DZE V*!0?"*$Ԍ 0]&CK>-xC"r@ؠ^.z帯- 6]|+@ RbyNpFhY /p y=THuY?A!)!80+lQ/8><1݀Dtli1a( 7̈;pV!*1PY^䬮htti"Js,Jl HaDNT ݄rsW >9Vy,.^hy\r&K6)ݎa1A9 aM˺rrMMWe\wWH)i(;J7٧9A)g *O8q9 RQSR؊Ke^1k;8 AčgEu3dp>$t%2r ;NA1Hyb 0^3C5*~1YΔ!r(cPP.%N_GwOD>a Gd9wagȯ$dlT1%lˆ L2G%%{/5g>*`>+&Ì3ՉTz]1f;Uݒ0(%Ⓔh%5Pjt3lO\O&Q NF9vء0ıAuop(W@tdXLa 2@JI|F@د$ܒC-fih"@%ͤ7%9 T.kX(d`F8wDf dÜnh$t $} ҶGt@ؑn¼'eE15tkFaqAC7$8K ]+?f/7 Epa3-"(cOѼ"v3_uDAhfB#yX)4NMP9Ne![ب5y/M$/hlfVsb)+ǮPl?Fo68 @Lɪl󋰶H%O0o7HHQ̀ D3efI̼lPu aS5LHm7T8OЩ,|ξu.J"V̒RKfHxAT K:Đwo! w> fAq^|^J@ QW^F7rwkGlh+ .?&).(VGִ[j'ݧ3K$-PhQ[ʓ ԝW"5 svLr'Kf"Y[ð2 Ha`.5UpP:g$aiOt_ԙ Gѭ rOދ6mw,_UJܩ.0U(', ҃ ‚4krG:[Wnh?"0y{O*% <9g\P4h!-i 1̪}X3t6R)6 ጴ[0hp0Z.hcVyhqỉTz R`@c4nҊDucDhpP`rVQRTc@כU2rWi]FQ夭rjG4!|Ay%/H1|YF\|;E^0AAi46h Ȳ9dqK_`ΪҜŎ;NӃB['ƈZquLǧ* x&A1젃׳Ph%G0cY(.9- ݑJfATQ6hfݔ$ި>j-8n鴀| YP!D#ع123# Fia*".Q0q 90!|Pb@:kI+Lb+ "AiuQ@Eg6J(,'i@ _9Mх 1> 9m"w6a$$L%u16}kda)y&A{"'38"`RJZd*@T,vb!TS!%/)Fۨ^+mfN' 'n,[%8˶m3I"NVX`n'=cJ3aw+}>BCz[X`'k\dzp%0294$3I<;bØ29vzҪ>+3H[gn!QoΌrK+2ycPt+c{T%5-NFf嶙;n?\IĊ5έxO f1dat'hA\!Ąf N*kY*Wrâ QY[~ ob#[܁A$TҔ+FHD%78v1<[˙->,j5` /#@BRb( Xv<PbV'KzS1]4d@hٸmqUzoyNhNf̡֙KHE`m5[J*rW\G1Ó>++)#ձFl)lwŬ-F & 9heHmm¾22 ,>U* xV DSբcKkciz=7}?xh35swVTmҲ'WX:Z]K-)-⮋VԵ䢮+.Y4HK-%?(RX:vZǛtJݭxGmg^Wg Q-_yYI|f}sֿnvE]tn'wS{ګM:>uMSOz:tƩ֩#S_Pĩ=PF46uDzb#SC46uz/M{z+;BE bS`!xdxPw@nM}tX!ۦ wzz6tj/ʜ |!uw`S{;1Jp5xqCS;}SaI :/3AxAt~@Aip G58z;/+yCTaIMey'kSII9JکShMCjZpo{>B=c )YxzΤh?*Htw ZRC8 t oB&}0O{x.fb2h02Hfx u 7L(l֟"-#qD +:8kH05sGG4M|f"ޣ8uLvӬ ~~5`e Ebf^P5h1Sg8̹It)v3RD>(Beu\P87uW!hZiރkh #M4M/bEIQ#V%uZ:a>0 0`rႸG"Ou%-†>FObGl#b/ovsNEM2#zѺiyfqCZdoI*_Ƿ"=(B@H(K)){6瀋D-SpD}o #u"DrߎRu'ceDm+XD#u#<bxRËmv턑x": ĥ1(eD^kU"DZ^6_cGމL @mo 1dWJlz(HD7n@&xF⚀u4u0>{WO:Q CG)<,qP _Y OXLB A26J0!Pp#IrDM t3\l!j<>1b^pmF U+5(f=P 㬉H]%PqEH+(dA\ѦdOϏL2@BA)B>N!D ܭM ڣWͨbuNLad :UD}V_6o$Vvva}w#Y{>Λ}M ԮJSKb"xڄ+rOM;"{Bv< 5!̣R 9g/yV_u:+'SG]K2<3 ӳNY֭h95׶#ԏClD@n;\}p% l1f.Xjhe3BHFxdbr>L1V_,c¾]٘W ӄKe Mb#x %[i y( .EXYϦnc!;樲(xF +IX@u 0ipm)~7yPmf!2: =.gL0G:iA5X#l[JX l$V[a8tLXbQ߆.J"`t]&r) SHWŮ)lzyر]/9&R<#BUGPi:,(KM728y|Y1B bcI<&>2Q" UnMٓ96lxc41+iO'\.&xCK\##cҤJSlPiR l Z~|H`U}Q9~JxI[OI[6h#B7QrF"%Eh>{E"k3Av8qn}Ot엦Ltk ebTʹFٕFtwV/tCq.tIaV$E[DK-*[r>YKt[jsU.?|9H!'5#D00x,ԽA~E&;nEM=b PZյlE%勖u-Z|eJYZrђ-YX|gjkeSi+@{—滋OnzRdu iPȿac~Q̍;*¦Yй5|ҖaZa&Spbu p1(&C@(+␱tO@ܥ6^} T~j;4E+!T; 賠i]k 3:R_7y{ u0 &{ sGpR&/(̇ Sf΃+*`݆U]*ka=# /l :1BrUmL A!?n0j!N0żrt[*FmkO'1=L,=05 W*(Ҋa%`QXSF]1ƴT5lc>9݀F\&"ȫ]Qpvw쪃!I|1Ѩ1.[Rba׀v1СΨ{D*s SfH.E4-scMAށkTP+ !ƍkem#rpNh ǖ26OַNwYE ,x%4fY0{ lHAYi("SҮ6c#~BXEM'J=X7xoLCֶOM#,ڋ% "2]f$34{捈DbŬވxUl QJK|m+|i1Mo;l k#^c.@6ͪz[qCQtricz͇I/8C(j N2ֿi+>IJ![<{-dKf a^Kq\ZHmDY3%PA64X[ Mx}{Gߡ`,dՈ彋EkbĽF-t.4KiJh5^L՚&끒O Q0@:&ZZJZLsmJ% Xem*ghf[Q}2ʮB EAJO =fR(q)WEIM7k([He7d^^1 Y )ha> ~SHƽ~98EP2:@IdIHsSXXhWҡA 4? l)YrtmaB:8P6v]ԃD> #8 fBHꆢ䂂9IPHfxdn x6(.qd6Fznk/*nDG0xhޡ-Gj7L,ڇznиKO&T@I#[ {#VAUM`z f`3zr5z6?9sE,I%si>p ipҫby^Tc_N݉q1LD a;P }>8\Ԙ+BCnSd}IN݉-螘pa'nxx'«82{IAYhoh *;43 9._m30a  {gSPwݣpxzEnV¬+ãj™S~~R $br3b8,G@ &@]F' êb w 74MrGU7@S7ʮ_נTy&q Ey:l,{u!O x!lV֭;:8`PfŒ阂*t0'h(|9'Z/.GFbAX/ AZQN":H&CA:-W1l0M:b2**DP@+o/AyYߺ3]J5oS,+eE:- GxļDĎ~ y"xsHH?J9n)V[ټVSgl+"Ѵώ9>V D#tL윮V)(QVEʀeGm06GQomg8H>#'i#g"cNW*#0a5EU6W&:'&b.Ύs^H pq[T@C@mkHML8('iIaeC#ja2" hgL eFP)M !53,Y ,t#&4ð%}DxppSwxdUT Ds'_['7 r݄i ˱ӥy a}j:E" Dpp$W Q n;24iJ @jfi :iFhz>uggɏ kEm01-B=MdmU:novaEAt=!Ia_B"UEj(9 ۃwj92;b9Ŝ:e  C,F8g_Ԉ8)^!" pҷN348$ :v``AXѰA[8(jNx-~- pX㔙xQxxH\Z σprā#E=$t u"-0't68mj\Cq"rSbMѐGMgv-τB ئхm9yI㸓Ce>]nM"'D\t/CDoj MACc 8i8?#4ܺzdL}"Mã~K qqA!i|,NlajxcA'!56EqS#R|n÷y:(03GX DGPMhÅɄ28׸W \_FĒiMUq mms,zN/0pG)#40(pDԋIDLLov!D>+HGSdϷrO"C2DwH/ӒrM1f܂4Gx eH``` jTFH9 U̓9)Fp/%MJW"Aл`"UȺ,'E,Q*ZJ\{A01!iB&3bȕ׉|/CEqV\A ߀E"%c1%:䟌4{_ Xj1A:Ql_Vs$82M rE_!|SdˬDyYGMr vzJfJ<$QHOTVQ.(Eeu)`/uLxɒxPo&P -O;A zVɠE5[OPKhU-"_} =&7 .[@ةK3!Mm]/O0*ϐIS jH7@Aո7qqՈ2.NO91Ao6݋ɖp*peC3#Hp9)SP{v vV4%JB!#f, 9K 2) 4-Ooh f=Ь|T>q#iq Ӟ:'Y)- Psr'G(1Zʚ5a3Doi\KL!ٹOJ#X5XR:H_p6L˭jj pQ %wEɒ޶VɦĒ-ǒE^f3[?F^=V,NYx,|b~ɲrًoOw}>R]}Ϭ^+qw)|[en[?;3w5V* m1x.ㅝzQ6j5(/?^'D.ݺ^53d;XǒW6dj( b"W{Qy!#( LW|2V]ZatG&x隞@FAޯRʅ Kjgx06SQХƁïk*t1k3xL 94 1*HySf\޿Mմ~fV fŰ\-Oh+Gzڥ\&y+Me=imtot|%Q jMhWUD05؉{o\yC/%Vb)rQv@P;F#P] lh t oq[L tBEcOմ>`+5Cwj|. ,rЎkTBoMr!!0XF^t1JD^2ψЙR& "WmbӶZO5=[ofUpo'//"w+Fe}^Z߷w`@[i֣mٲo =[۶l4Ћ r}9d;D qf]ua85] HE5;M 6w$]F JQ*bCDk:F%eHJn-ZhmZڄw֧mLˈaGN @gI 7}Umq$.턁,?V.Zٵ q_myC('G Dy7c.Ƀ /vU68XsWn=tF®*]*b "ZFpmlQh/xUra5,@Wp [ P/^,`5/qC/5^;ML yoKc Fmh +r_&b;N,V[BˀdQZO~eix~0:7I9[[8p w,m}φpt%K8i.n/ođ$= stӞ3ɢW|P/%#&LuEYj9L8k8Xra ԑ°t /Y(GݚgDc$UTO.D|ݹ:P +ZUG'oz?gU]bxU-ܶeCzFZ^iLWnγkxiV -Vzfzu:6WZq+bx5VPrz%x+u,jkwuy/UA?c͘ȽW^эn=jDIfݎ8K ;n9%"rEo%EGc|*|.p]v'I߹(i%ң7f# ;׀U,O zpݬH&:~5FAi* `#EvCdoHy6(N{O 鍴wt'PT(B"C?J0dڼz^.,[}p|\N~ki MwF#HKw> *q#~=mBt=r9rĩHLN]H _V3H(Tek*>ˢP-ﰻ N~rDʖkXR~%d=sӥm?9[/~ҷftq2^,$A'N<+H5V[ ;hRL@Y(. )؎*uOBOΣ Yŕ]hD |^>~kr%8SD &"%i aZq5Y<Z"`h(X1ŝ6N}lLKi"TK鑯< $Mc s{7">'y_7Z"X6 /]4g3w?w;o8'AU[5o|h!Ÿ::x(ā=[{ r,ZT1Ӑ鸴d?3!KIp}ePAm/ lUV5`;i zxY?fC5op*r2Y=1uYڕ"ą#e5RŨ~|GuiK'ɠpHn E`' 5?R0$`ډ6 뗾U?} AXWEk/7p]@N@_5B{{1N6>"8X.ۑkm˕}R$^ ^c_>Μ;=ZOosƔl)@s@C8\a `3; :ċo/t\(y8!^ -uukRY-@ZxX9elOFJVa0ҤHmÏ+`p ) 50-B̫GN&1 fHQ|?&Q9o}ɷdev)&<_^ؚє饇sayzbZCvɴ3GW,OEKY\}<<Bywu3G1MΨ< +},.u.])^!U~LcI@j_{6>%+-fsZ]ϛw޼p5ڽ}f鶷C^U{=ݜs(ЊQ [-͗Mo@PuƅEv߰7N蘼!4.@XׂFx\R a6I1Ʊ񋠵!rRJ]!&A#Vy-ZPOaڅ]%ޏ8P} JD9?[vd㩲paJ{j‚x ?h<;OAl3$,=ء;aJ1`ti5BD֭{j[kn0ɨ\W/)*ߎ(BpQtYOC8*YeIOk\2}GŅkO_o1t'LYzvp=oS&`#E ]p436Q3Gz\- rZH{^tYQr\Ԯݨ2D6Án)>sӒ1/^(XkNI 3Tꟗ)!eyR^S!d&"^>QAqK:.;>xJiK#'NGLLrDei)EA6߀ՅkS=WjSvb[5c.7U \"re銮ӗ\l%L6K)NG͗h['%tIbr#<_|M^[^OsDgFvM%8=R9}fZHP ^kR+ Dֹ꣙ߵtIwɊ_,ӂ +>"2&z KNA} Ytj%|U@PށiٯD # Odu:6lq|)hfk&6_>q`JMT"wN4ouC 1>荆ᴭ =m8&uGP[|f Y}0wUuh (BpϬr~'zCըPnLryg{Prֵ;۩.mx B鑊7 %Kh;bGkD)}G|gҷ50Gtx˔U._z0/S7r:= VU2ӍvuŮ bh%1Y2B[][ o0-K3;.\4CNJ|-k;כ.ېYtߝX|%i=`D[,(*BZNR[$It\2Ц*mIe@h)?KWۤ;:a`i>c;e-f$Dg?c&}4/I]dќ?PY'zC6ۢxٴ@s*dE{žy+HDŒn氅3/c|[o0M[۝ָh;[f:CRV P۵;0 Y3"Xj:\I#V4H3*䨬q2z24M-bZÈʴ<Csam()|I%NH-~pG2 RظoHrXU+uhÞƩIdet>"g'RbkgBAyfM eE."H[3uUvQk|Tc>,yZ ʙ_g9V%)3\ZU 2 ![AxeJ^rڎIJ ' ֞2R/SQe&BT3q?DƗnuH4JP> J9(X{w/p}{UlC9s3gG?]ْs6>hiN}~803y%1JRH;!i UUu^j52Ay V7BU)0:&PMΟS`G!7ͷ卋lPRuH乢@'i*jgip~<ʔ"M(K "9c"P5Xi]S D&fHD o@׎9{ѡjE*j3Ic&NXGff2z|Ԅ"3e s,|p0s~<%#i_5+wJdOt0Ci\fL.贏ɘk3r3qF򻹳@Y4ʱL C?)}f$ 0S"*?X,qkl|8'.^H/ڍ x[ &-֮0&`XP}w8s7 4jo3&SܭaEɅbmb2`&+BHajzmvLo^ \ָZ{Ԡ efJQÕnkWOp,f\ywq"jJ0vdY {\3tweHݻ$u#m1oxD6vr$rjF\-O)x)4B' . ķll0j޼:ͨG ^1{r<.YymR1Z[A߹7.Y}n]ě~o}U%[EA5; 8G(JDd䒰\M<'F]-+ⲊaRwiH _+ vͰD9mu8-BL胥l#_y< jt*+ZiV .iV . FJhwih]3^$.\mOӓSavvQ`ɻ'818V(#@kGE;nHTÐ LeN;N<s.%Ͱ\h6m0 ~.bFz 珅Teyw UՌj-  qB^sA[Qd fIGɘ!k1F 8:Y ]bƸC%-EG(0v7J>Bz34o<PC~-@^^;42pu˵v9.Z2 W >aUm6k*U_+kYL+VkaMX3kW& >y'i+νnMZ-dlz""ċʘܱS^a)_IN}|;l'+-H+YW%j/fogGZT]Ӕ'׋c7?^Z*:,v}ef2QHINcBpҗ :d2ma1E}]֟ Fؙ{]c]O˚=LÄ36jbvL&6nj&Չ2]̕Q6AmC|趧ns.V_@ZE?C6@~LNcej3O9CR-̘XMPLpMwefzC纬?Efrr>:ƾd67,VxG6+g|-f(W,/eTF9]H9!q46tW;5kGgbA/=;rgr%t͒h-DbrҏZwDjgܛ9]zZM_ysTjݙk̀rNݘyөV=zd)AHF_cXUt3a,6~e>g:"Ų#R,){FhA<պηYL&SûD43|zh< -[<4-٧5cc1ԙ?(|k` #U|ы\t}ҶwݣR8pUMwљ\Xآ|͋^>Hx9$vV3t+-`}oMSʈQ)O^: gN$7M EMPń8uzs5˯ X/t`uÈI,v-٫G U3(  nu|C@d2Vw[M3=D,j)GŻ(E\7V<t֩Ij!ζT ("Q9_Dx \@>281w';.1N2TA*x0o/\ 3Z&l涝I. (QX ]%5Qt7⡄PIJT.n"=_]*D"dMѝ FbTWW֬[#"sEcY_w_zq5׹]rb1.&JDa5Z'\9)ҁXtn,C7BG(0Z45c"³AlQyMVl^nOy, ]u]Gk{-Vvi.w`Η\Q/fWe5fS[v䖳R[ ׯUB@)Kr)kr]ӎ<麮 ](죭jmȡ`Z)>ikQBzuQ{5y怜dfoi  سͯtQ>IB핥s$RS=2 Nvjg*ӿ&?XxEs?f?.XqdXQY}Jbǫ[v_khqw -C%:]pm6b '{+5H֡mmE]0pa6; H{(kȊʾgBa`W͡yߪ3+i޳8Y6=OYZѿ*y+ 12he"RttB` ARڨC`aY{_+λ\ݷM۶Fg˖׬"uنƘPu&^ =[^z.зmփУmٲo =[۶l4[֠D.*] "Cͅ^P6oJtcTͻ@١) *a3+j !G&q,>R*j.rQV+j>V_lÒ{4 xSWWgגE+4m@NJwAtOrYܵrYʮ%ohhZ1bBj:m]=8BAk?׿=A͵o}mt?ɎٹM"@ZŵF47ca$`͆[[j'NNt'+WFʄض#nhBbY*і!TRj_VHi2GdBJ>;2N7&6@H0E2-zWYzuj׏P3TYXm"^U ~n @ki12j]@ w iւ1^|;Ҳex5XOU硔[V2ٸ]V[vJ{>l]t @h0jnXڳMqEk"G.ZoH]J/MHy 8 ̥]kpwyH:I Bukp B(NaZw5lG\PiG4=-SCL$' cXҖcތʤ[ݴjۉ#DBJ(ґ$5`#FBh R-5)dVsH xFMj)m*Zi*FT)J,1ٍ*Z/M/&^u.޵Ѓ^av:jQ56j>AQV#]^[\@DgJ |qRHhM2x4 aLYRᦼ+qr 5V0 #dtk7lyrz\|K彯 ;KJ.v[!/nEkME[Wek3kZ &n=1yCERUiUdZu$ߘV.^`f[?P mϨD~Xr«׶6 \ʉDx5lЈAiu aH} A~ 5aې˜X[L"qf\`fmiu}gͰeFZPY ߫e{gvLRm"Y[unJtelK -y|~e0$5bV̵<7^{ n.iG`@W_zu玲V,YsvLۭ-޷U1讱^ 1RΚx\H<>_IȺAv&(MLn{J[TR?(ؚwO qc~uGF\# ۚir`{0ulxڎu4]MM/5]^QP }t/ xcTh4jU:ńJm ׾1qv]EmV@{%aQuĶv4ED0vFiPy6% zajдy8_ ]:sDCCCbi3VĆ eH4`jcX(Ze͗ 40!@L~vv_G!Wjlӭo۰4F3DEHeEg5N7?]ZV;MJZWX5;h-lKk7 lp}/ -D#Mjl?f0V=x;` l8(0+|/a\ɿ1}XTmךaᔍY"곖ijzm/MRnCPDd^U|9A3k'0ϒ=&XXcwF Zj𫔯u4z!B>s um5&tы58 cI FLn\mJΊGku =")P@J%"|&EweVrGf4ѻu~J&Īy|̀pmw]piJ9f=* g|aW kJ9-PSX.qFW(SO'b{Euz]w&BvEw{bK9>rWe68yOVF6r\T.+SRo5Y&Qa] J$NH>bH:Ehh5} @/)G_6$-pqrY`o=]NdJv3qP+upq  1U 1*r:PUlM qN$DQb/詙[H9`Ibs[qǾuɍ?)@Wm b:ZHn|sPDmN R KW\@1^=ظj+T jW\Fdj#0^?;s6HZMow-#"[각R_ݕ ד IMvg7Je-*-*08gVo/OinXX}h?8Hk?< TGL8Jp$O‘_[T@*Gem#8 '<\%^yMgjYFZTX!<#?:zBX=Ѷ5,C.Ly: g  z/;[a&:"'*ŋ2I 2/&t>{Jo 2UIk7 ;0\QY~k!`AxK|HM q*|ԡ)A"VjN5IVŧO3J<3F-9l*މG[ޒǭtqDLB rU|ݳ'\m6_!SBQcB^ͧH"rIk_{3B,V1?XȝEDʽ Qnщ4ً:$A 2ϴ.\:v?]]˖']ƧIi' R,[*uˇrQO{|#4\=D⹂?+Im~WV?<(9 Dʀ*55̲Gb7`hnګ߲ic,>P=BI $Άxwڭڅámڲwv5&ށlɴaD{>@ۤ5kI)ؐ۶@eo^wm;NQuէ woRUzZDܦ`Zu2{tV | |,;T4ۖ;  ʊ2nw@)]cqE q+E \IFU [G)ZHN'nD"l}>f1YTQMtATVQS'r+`Z^G y.H)^vE [x>GIh5@[PKt0k^;$gYq㖀EG1[@ ZWҴtȧK mEVz!șUL{CIp.^%or 90(ScE)EPhE6m 3ٿZR\pv; dI'(Iz&8ӻa'16ٮ DGWU`d m7a L0aFvi=o"<b HȚ29sZ6ED16ICPrnϹ%k dpC)|l:$4'?e6cp6r{ni=vđ?舤6j@ްvKQy@VH *4#R"іh3XnSb!]lji,e3@`uà$BP% u@m;?%vvuJ}؅avlK͏m"{:%"H۲*Umvl AUHل3QΒOC 8<3`M-]lI gK>kZ "q(WL |lU!:/NX,Tg0PMCtjR\ӥ9`|=9da4+sύPtt-4!^{qIo[*>nW.WeB 'yaʌ]u-RCC>`;)b2zq~9u!![Ͽ(lTZ]uvi+#(v+|wXE-?{nt@v{ϛl|} q]~*=8Q9ųGL9ЏY:؞:$n(Np螑f}Fu9:*v}!u0f,Ztٲ]+.YpB #1!+9CU`lU#cdk7mܳؾm΋31KDa7 [4nr.]hipD,fűYC̓uV2_@&WWbqj#IW9,8{(:43P\A%yA:S+-cȬ *(Q3$z(C 7+)NۤD J.P8yMyyLɿhZ4;Kk60dfWfժ1ؒ&u44ܞ&3NmPqZ7m#!ɺzHI<+Mƒ>N/[8oԓiR`L&g6%2窜iN.__V.0MG rDq~7J7BFXaY8զ7A΢NP&q\^g|uL-j  n0gUa$!w5P:N.\o/)SjL;Dյ-(z.s@ЙdJ1 1ln"kGhLHn%=zH huHN]MubTlr؟P7rN\JJjk]Wʼn']-#Re 4MFl={glCK4q~dId9Ҙ0*я'"䙱rЂo&P7oڸ6l[Um͵/;EW/ܨlΜ&qwت Qjn4HoR5͘\ ЅO÷}0d^,<]B%"6䈑]Aj'HZ #$%ې c$@ɦ۾p{4*wl//4)E6w |{`lxh7N,N妞B_"Æ(/?RR7rAy*TN+CHwș`r*h:l[(sX'vtjXլԶe$nk3q\e!6; N8E 8"=({aX$Y 'nS[F/{B3=^9|7" -]ԵdIWwɢ%sja e:y W[E)l4rҮȑ u2l.n>\덲Ypqq3! ߐ(1a=ZGJ8"$sqo-oi?U\m|e Ak 5vBSf0~9C~ 7f4̪.W| P$#0`:XbmT"w $li[i:gf 7#>Z/ #O(kb5a" k;3|Zl֐)<7Hu#O9β SEEIK`!ay`DxMV(d&1^RYL/3JBȨ4l>,NYd9? _ts^vsO/~ӟ׿+;7{[;~ =/ ,fhhh+K׍?Ց<\pA#_iS^z׿_jWO5+<+=gq''s {~|||/}}ۃ_7zw_U``^~;q]ް\.8+o؊?%>_o}/|5O}ﻷ{N۶>K{¹%#o~c\|'?y'\cz [8wywn?xفL^ܧN/?͇\]?ϟ߭Mվv>~5[UOL}wOc?Z㿼|-Ϟx˾8Kom_|m`cK7s-o3/*|]7_m/MǑwa:_y=տl<~Oo?Nu_=_yMйO~oO^][ olݺ٫^_k_{cW#M/o}wW=߷;?_俆_ӯK׬#/;tes^Ͻ_7/7':7p~sW|o[x^Ϋ~w?Šw[WiS.}[~K։.~ons^ >-?~c?_:EGu_G?_~7~Ꮦ_5o{&^s~{?y޶f+.zO~]uG9|'Gjnm?{M?y+z:o98ָ׿4K?~ˊ}w_s3olϟk~,_|Nn#+Ý_8CO={?wo=OVǏ~e4u~_MWy莫G7w]o}?>/>"z/]z߽Uŷ_kz~ԗ>}K~mu{?x_uK:{wG. -N}#|=?O߸ 4?9[}|ؿ{mܶswx?}I{צzlZΫ޲b‹>B/\e+ vwWZ_zWe펇.8o|?7_^r.z_rys/~ї{olU+W?ƗГ+}~gj7o׾KGqO-zG?矯~7mw7ȷ~w.eO'=h [oU_W,~Ցxi'C;~GϏmxX{?jwyšKƾ}]ǯ==+nE/_|?R[+o檩;4ڱr[?ݝ_)cض[\n]zҥ0qYG%_G翺~k]?~M[}_͇tҟG(s`7Ж׾vރwCS?m|o׮.?Yo^\;'.x%q|/~?{G^s]7uw޲Uǎ|l[~'ҟ8T/]7~|ѣG\~_|tv߯/UO_>i?}u/rQ_eo ROLB6prI+,J]?a…yqEf3׾\IږXchtc\<2n }вzI Q6LLl]8b?F6A : nU]h;zߘNXE+6kun;%MctSH\zE&f mj{qR$O1򔅋N ok}Mcw"wC."P7Pwkh>x2HNx(i$Ǎȥ-@#աJg`8^n$*Gy6p%ECGWj9 @R23j-LN'-A4c5zs1({RCoI>/ؕ}ӸqG ׂbnP[+;? MH>D%ak`Fa 8$uM:f{F0ga2I5!.0P5o X+~};; {V/@:keݙJ/l0cN3o t,+O+i{ ọFV2PN #DcD#w4pHe#pX.ɷRA8da`}i#&s0s~Y:vۊ;<=?dӔ 0̗D-6.ḛω!cM=r-^ BpoRUz HefR#b,1ox Zeݢ46FaTffĮ2Fb} w6 kGvdW C(#פ"#d!uW؅N#X< UbK,J 5tI1T'_U/3"Bo%a|)wOkMJrm߳wpsϖWv6\Z?쇅p1( ˷ŇfA \dNZ$1!cRPC2}WËI'/xTLGlmƏ3y b@\FIʀ=f9*!9; pTDܑmi"+n _1\M[q8:X(% **ѿuِoni=asxYZ?y(3C}čS 3>^d[L!އFxY.%d\C'4sV1S !:&$r SS$1!>n5)ĩyTۙD%ifU t6=S}و!ͫBL3A?\rݼgT/@QY}JSM#Hua@3#mS;%ڔRJ"hmÈ]KT^pdx:"uX90 m۲%ZkybJ9-XNw+Y`0?ӰG9<*Ezn؇m55~WDG0"yp%AԻL [e0Ŷb<~ZQ06YKM.ep‹6 k^k$mZaaN}iUMuyR`*ղ.W~11P|Chkɒ?;uzEK.^=kL:CSyRΣ'tyRN`KRy|7,gLp,U1[Kp%<3:ɡy-8Lnz :> >;:w_|f>;o`18;k ID ynϖ3-9Ӱi<SgTB4z_uo5F8 bh*5=aU ɮ.'K=NRKP2e]nX%kiv'Ss{̎kqR[1ws6>Ow/>C_/~crdNf!toG}҄KU!c1b!7qⲊZ9.?ۛ)P(ľ;8wjg^jUz(}̆O^}Eͻǧ >isw-_dÃ]>;+'-5+g"3g<-2rng]դeʹstJ8CکiSǦM:tj!F>uNGUʩN8֩#SG/>=~S{S1u@:Ϟ NRz=!u(+;E2]"_Sܶ黡#P wN >NCo˩G#)͆Y"4FC8u8YCkcwǧu{oVSP Jl0c4 1 GoUlHb66j?'1=Sqtp'`nP=O݆~3 5V2x||걩զ"@[ƏbԵjY\Yu-M蚓g=_WM]ⲟ}SǪVk"}YO~X&nEwlkQ m1: ݾ~vC6o࿑Q]V?&9Cc|#ôLsi~t^!6]ɾ1Cqa~NgFjFb"9Du,onKͩjS1:Ѥ [6ߦ gB'p& SdUKbc Fmz16XwYzܚ=!m ~% . cm (.*y~Ctm^-A}Apvť4"!#kSDWCi㩇#;z6/_ V@&KW = `ڀ)*WpްBj*lE+-nӋr8R-yhWu M# sgE-BR"U/.٤:i='Gػ21 t t^\-aʎ:p? $Q"i0vFWHe}_aLӆQXzodl$X`SˎKmcPAn@ǚlGEy)E{qk 1.ɉ0'? ^֒t0WMaKe٭8"ҦWaި$tej irEě ૦䌸ĨF&D"mAcNP@P:209B2-9\\ʃVmMN`6$ÅF 'sV oΘO CcBtӬv o*V?4iDavd'܊]/'QwLB-5oDG=X.e )gbW@q=THR*NM#?V $;o=k(`Bm3@Yc 'oL۔HF7t|d1Y:뮜.4_׀O)횣 h{h7[iYƧu*0*dǪ5s"Pj\6'4h}c'ﳆt;GQ2ҰaYF}hZh^J(ӨfEFF:MzTd}2?"lu Q~0ϑ,aJɑ,Q0O1ΛWA.R'uAQ%(wZy v1 1s/Ռ1"6A4ojR"uT'p!2T50f:69TpCI" ` !G7 eJ?O nWpta˚ h;-~?8 c6&bSrtyh,R~ MGX }q JNk`p\0LEP!?jeG0W;y42ׄ`װpPz<[=]o;Rrg\z`QȓQmK,yha?S8m4]"GUYJvGdUarH)2`v{XKU5qEa?s 4xW qK!WFpLax1 8 )%O֨&wwxC4YWA Um@_Z(M}܉P^ĈVR)d!MX%mO"=xaQ2WSrQ"x A) 7,xezVxDo_6Կ+x֝B摝. }m>.+&-\hلu2gJ$_A:+ Hd'yuP2D0ێY"|kL{A-W&<wU& xxʨuzPkbZq[j=>l$i)ThX"Z vLnD@4BZk{n` C%KSa84l+HAjSFSУ3d%s$(6:BCjFO26ҧ%-Al MмwR'Ή $I1Y>b2@aUFYt+¾$K䲲:hd?=x; \$lGټPb"h$LBm)O.bN, gp98S' Z @|Hi bx5cx!-u.mUuNsynՓx7!X-mкGsBI]ź 9j8j``<2 5ݰ7Lśm{u}l D;o&(;?h|S}<,cŸCE'~ANet)W}kVurJ_-t =.t<'?Fұ>y&}/ F,!2SF͞mIpR1/_.2 ے8B%|GtOg8V@6 3O,ەI(toI?FhC? OQ3Ln4yfAn&ο,/uðO]fBcaZNGxj3B4G_.NZbGy+=u;xL_'¢,h ߡ ,Er? K~uwl_o%]FD6oKAR?5 c|khYvimoKq{c5'Xǁ8D$4{5SsȈq\a~R?xPc'n/KV+ ?h7"tܤ*$`}#8|Wp׸X2\pRNBȀ(xE֙#D[>%΅|zmֵ3y٤0xqQ6mo"5x`-J$%F- tBxAiƢB'쀂XIFt8G+[\h'o94t=-ϞAN$H'!,0OXh$Tý\vfvs*,E `*a4ꝩN*$rwNeF8kӃ\ij\s5t8j)w-3Z\k7lY $Ybl8Y5%aHÎ,p#AYHH@X`YT= 5f8%_M? 9Ut"*]0 (.6^:v'd4N8Xo ژGm(2!$Xqv ]J|*J5<7tvAܓfȔ0>%DaILccNn?:jSxdEBUwog4vE MPa dX@Nr]BYL1:7 -!/m:7J~0P‰]`P] @fٜTh4*s@/Znw!x"tZB8'TԌ9L= pFiDz !P:^ jbFqkv!ij):C9[!ܑ[4 +㾐640R Dڥo-0l;I ᬈuJ4uBYȔ@vIhzr29d:1$0 I2!bc܃ntL'i{ =@-{&C@)huiX\J}' qQbMMD&Tp"!rI'*-C,Bㄝ–eOP0 AE7NR3)ݺjK&05yF %)3p|gI$bxиx:F& Ń [0CA2F@,N=֨<&>I ~!\ Ld s+ :L6_ T3"%ue /t.d+LrG(a d?vZ   5tԆ͊QN2KttF^b(j;cncL"RW7 )3gp&C^d1fոү{$+VwN31שeHu[ZˊH/P_GbԪ(P0~f;\iٍ!KL`6y3b4`ts$_gӺ-$Tl_ ?u)ьdXIl7iq8:13R V7FdE _`0#i;nEۻ֙ F0I+Ea T`7^ժ+Z?"j@T"Q%BxeH6ʫD(M=#,8 ,3&k1GZ~[s^# q5,jWR*vtp3"-FrZl=8m&$-%j5RFqqOpCh]8ymT<]-,2<6F xѐ&)+nzuy$n0T-&zH^O1nżභvij-it78п2pȚwaM>FNy~rQ:MwS6|"D"FKfk2Ƙ*&[tҍd r,J4 l6UAxN{e˷̎גV$,Z65 Wj?7=}C'O>vǴ ONO1j鱓|C|x?R ӷQ,A+ 7ɂge {k gBvy(ų 85! m!Oc$V: 3If43zftND ٟk[bwh%uɻa6 `7ZaMҏ#AFZ:D+t/n6Ho{ aǓG/'5RU #2  | a.I#g I8>(i'5 Z d*ƒ, ('|w!˚y&݇BBuGvhW @k[annd6!>2A&jHt݋yxX+{Ƌ:yW@!-J*&ӷ VPy  ͧrfD!>#"rxUv\JU$&& &A)~ǀmeFx|FMC8%FM.[ e2P^CPCY̱Ef! _;/'h= jdʃ q }1'7cię0T\(ry]f7D Qƃ@C3 GU$폛vrET a?tpL8 Q*B[Uє[:Ă0 p ,彚q7k! ӷ$!.9&~O;y(4D#7c>Xb8FXf,[DwdJN֑t>ҵ,_!hgdf@ :TϽ;o00IYOj &yBo JBf}ަ~nL )8C3Eɘ}keL 7(+BG 9]!ar)NMnOqlwQT q="Äry^is,^hLolM}S17mErfݾ~9# hY\qjb$&n], $}Zl: H_.Pԉ+Z!E ?/ Y}:okf'#J[bs>ϔuݔcM?ר }ˢfS/ӝO6&l~8N!HhT#m_\ĥ眴ozwhMҫoĘueOhn#|;xĦTɤ /at>|c,hCk9yHє R8Sy3"#F3\v0z9Ihъ yLR1ȄQ&aݤ8ee7ݳ:h?/hߞ%33w zckh8aFB(X|,JRAŜ|N/A&:y0lPAݚuZm3:H;=L:4aW.cFFPO~< p!& $M3LؘD٘11?0>-jS4xà5~b}s~~ M¸ z3jϥ? #Mn zlr4VP/qMp9N=GѰЦGؖ%\zϣe}6IU5*eP>,&&,s 5Ș|mWSjh`V.i!o=+%,c ?6uhG}VլOϊ$N~Wk0TcF5"p ey)O>kȩhVثm!L>4#D:@aogr#isgڈ"GĴq bQXƘ4Rp$dke>%dH lX6d#O 'U Lv/h ka$std116MK0Qؘ#+NΟvҴzL[ 9~|0!L[F]]C@(El\YPD&) e 4O"F+/v_t7ҞVL0 Ȉ_2Y5ƠH^W;>wb#06<;zt25b 5 : E~hC()(<1q\ELNX"bk]GC> vb5 ς6b"esH|fLp򀂀kVay(H ^o\S9<H1fz@hwqKa>|[OՖ-y=FtEaj~YazYw Si  @#. !l90̳c1px<$>:/ j|b2"ĨƮDnxhȝ~Vmu<s"s~,nw0Ib0U#L0d-gdLAeJO@5]*uGYO,f>{<~W0QFPȥ 0 0pI"Qt l7e z ؈kHJwV[-jIK. ҁQ_UcDV5dh2 eB 3/HWmFjHR 1CD)Q.6ۑkF#k@:z[ VT~݁c"6|D ! bP5!$H:u<^UL^%noD& ,YD.Xì놃;țaHaT>.cȲg,3 [@/84_QWكت,5*c1 N,V`Yn :A7N} =-biF-J*{U23UHć*J@ʼnOcyFx4H&2*hG cCYD@Jym=VSGdIi)ښOU%+Z$EV+ ?V@iddfVϗͺ:i.4L= R*}6XkzfGY`%T~mN7uzȖ6ªh!r39Ivr6xQTJޏbEtw`ߗ l1qE@/q7I6wU{kF鮮{{ι{Y0*+qb&Ͱ=G `$]FuFMys\TZE=6&Z"6 Ih)U~W2u,AB~ythA}dl.Dtm< 8bY `dz~4gijTݵvF!·ُ.JRm$恥8ёͰfv 8ӵȊ-9QghT ˙,q]` %( j J J\ ^,:^+@n;P5Mynu4ޝE0̬eXfG#W_*"лÊS %6*Mc/!8UM_/ aiЗPʘeg+2AmHĝ7ղyRR j Ue6g fU-fs{,mQ0rz\/-87ш6ɒӌ1s7sƲ?4_G::G9atttFjZFE֢Qk!}׿r_rAs zˏ'ی^^OO7r7/{׏hhhj390Ll5IJUX}w=bə W3RFLZ )GI+ОXWꃚoJSX7x鸪JX ?I?j5GOm:)uL|䎉&wN8㤓N8;&4O<q9'u夎:?}bފb*ѫPj,R<3z^W*H e>glw,? =w Xq"?)dT=1 z!]JKOsx;;,G4p6=3ђb,2ĥ+[ŧ3\y>ARnd^ȫ#!L@r,+q,43#l_ufFqqPXb/WrT?.  [xWX8Rj;Q)$6w3WJ̻6JSo *h-lJ4vpF:ouCzxAqy 4fQ:Whmb Nha붹Er/]o1)#T;0rn@ɭñ 1NcNF7W*S"h ce+Yd:Xy^7v30#nól  [Nud{`=SMUFJ)%Z@t!$&VX]@@yVmblq3IV<1,$QvLUy@86A,' >Gz!\$cM%.v?!w6V8r+ )4`% P@ta0&pb2$k-񛶭Pg+8M蓓cLwK7Zq(IHrX/(Hq`SvX@NGu.-]Zxp2]Trd2]׊}F&e0 wq\>):l%VQΘ\`۰SZWD^,֪NQY ?5H+H$+Wg+% *`xo3ʮ-2m+ȊnpJE!M~BUnr0 D9Eq.X8\TXP%O7 )ѷJihO9DgH9^b rH 6>QH|iҡM'`MTAr8_'p<̿TD[5Aw!+۬c tY.:0Z#W*e,-X:JX}PeUalO8w2b8K%ᐯͺH2CδfM .ulIft#tM8ـkb`Y?r%bhs%>\ #aB h2XJ~Aw }8j8UecWF~ JkT \!N!+F3S ~XbWi"ɖ[GtK0>Ņ_k=H mT3IWn #4j FH82z"5 Ykɬg]i*J@ _X ⤜2p \ZJ <^Z"PqW}&CђA]di/λ9 q쩮Cm ć6߲3dʅQd$uWtL4'S<<װy!#f||A K` ۪z҃_p4\T9] $Hhjɬbh `ӫv͈bNV8iBci5|ϒ5u`fMX ,d^]ѡ@(W12_*~ެ9DViJVPD*/1_Jޮ~ʂAh#Tpy P-rW+vVS$=BD6£VEy^?aRP`R\?XZMPz ~ M¡b0Јٶ#l.G J 40", KZ YrV[ꤲ̔ ,(U^.pLhX?ˍf\2I֩!%N&V>d)BEB On[gHllU4)&mIt۶J)yq.$ Ҁ0T\xyRP$:0ix 5Y*Zצ2TMMٺNQoj:+*5SGnqe]$SiIayzbz/%P}D^SKg_pBO!!'n62R0*}>p_p}>pj/l q}~ĘJ;k*Ed$} @=#>O}QrlLDFl ( /q K%8F~<[5.;C@}yBE]DZThW%z7\t BژKeeG^|- "P}&soy_[?1XeoWE:(w&Cfy&K|}&xFL`34A0v6Pq` -'!\ bL!]Ǽ̵K:NʚV~ UM+%P}>2yt;H|z@H+=/isfUZ@[4v{ia ˣ :Jrk2dabAL=ÔxH1AI֯w29 T[auzZL]6[)a:񽡂xt;&W$X %c>Cim03@7-03Jp{QTx oa!Ό6~d@ũzphcdBT642 J.OJϪs2:Y/fǷ!rE]RĆ]v,t, XXN僑a%i>zc£*(Q_w9bjPQ1PK@I~7y /JƅۍS{}[`q{,[#u x߯-VjtsK0lpR޴8sf`µo#B5b QuQ)px=.YV͏""]XMAyσ.$U_nA}`h1@ud%tHCf,2 Mn#,`\0N KBS4 (y/*FC"J13^PPTh\o`C҇%e8Ty i;,G Œ^n`)@_Bb"&ON8L)!Qb ~`F:C loG62>S4Q/jE9`(9t5^&YQ DMjaYk[e1iJCA\/;%A~> v1D*a-iO`jgc1N$HR`b Cb ⍭b #jo5wRD4 ֠c .e#}$lJ^ij@6-@Tsā2VR=W/Sp2WhdI+ڍJ{κKG:51ڙL\%u, Ls;,s.OʹWْI*bQXof41j"FX{O([VV^J Ҵe)aNVJwM '4+'[XLXzV^j5r1rrL5JuQp)0bDfXC&i&c`IdUVǀUPF@^P`hծZ$%zwZߔEA?^[ٺ3 ڠj'9]8`ť4 6K)ɩdVs 2 #U Ta3Uzz*kt:lFO0C2 }+x@?*)¹R1v^ ga2A44pL&x9c5r]ޭEv$ Z*u%^J hĵDeV L$4s{ٯT,gaȉrK1$/l@wEEk1!"1`B!a*"73b;t8e:S,Gc~O߄NTwBGhaK3j;en`!r?͖{CDǚfb2Y7"UPyԯn KfHpA)qxedVɿܱ%jf@\H l<=G.,+199 zvP^fIYЎ2*7h7E˜Ѡ^V%QPjwIaUh m5njQaG-cb &(֟C9U*&Qۨm6jb;&6H3dz{XWTe2m$'*kv<\F[TM*>,?CN Dhґ꙳H)LEZiHN|PCʇ~T݅/ H=J 'i |`,@4ٍ!:[VPѬcȗ8ZR6 k0I7ҵܡ! `Xe3 ˦gPMBog͡Ў88dS؋%cmYWyl#^fK6JfIAd^CPzh AYCA x \DQb[Tf !M̙Fya!+DFhJ"VUv !3ha1e#g͌jF M/G\ Lfɀ:_rUGɁ훙Sp!v7!1\nєw-,>7Ь,ǩ쪛)eF6 Fz̄rݘ>b0U9)ut9 (SAHsʱ-*e'OⰒ>8P}w!|&Տ 򎕓"΄h mM:G1 hT $n,le6yudӌiaJ"eNkXCSh1 _ّH%pĿZڮH{슔?XÜͦST dޚHm ]͋tP")gVjls@5iLI1+E8|4qWrulAFBR2ߣ,Pi+OSw[/6)mYAnE%+vFL:6#*rEV S@B>(I F"EmOw$u* (i[8L9DIUG)鮺Y ED}8#P0~̕<] Na;ɋ ,O1 - ԳPQTgԽ^83 Di_;t?cruIF/}kbG}aQ_/lԅ5uaF]XouxmQ,"`qE62/2QFrzM֏e4խfK7rgK,jS&Y&TV>C68K]K,:<'TN=p\7-2(%+QGC1N#m>A_W8O^.9rLc$hU S8aL WoFiTiy|$ c.u'd#(gǧЧ%>Q٧ @мŸHW2 g%hgz _y3D9bDJL.j!q]7sGAvlR^$񒉣h?(CT$Qhu iW|'{nEyI S]z> LbP|Gm<&1uӷIj|* Y%Jz\RU&iDQ"U'Y`>Y"EkZ=l&kj]I`EԴhYkDH2Q~ q 5:/dۤ|uQmQ$Lr0t1 7Yh3'`X¦f2koQ@s`zjJ!dyq8kŘG?d3۰>l8g"|seI ,<u`el>@M#2:-,d28PFETg8ח#ǰ" {XHP#5{#,!*I䈴'1,Y Dfl5$dPAݢw|Z'tȚ&3/wGN)PX b)(FAd~vQWApI%Ev80esl;v|`5]a}X<]d<5M%IXn$P!tR#:lcf,q" mKMtX@ڤّ{[ fLVe2*B|ؕCCCyVD cWx)ޏ,sL!: |sQ ~ X!{m6ah9YeW(m1&MW3x +l2}^j;NztDb0c*̪nEKKjԯL 2_!V44aJ|g@=,< m)CLh >K#[2SS2Bmdw˞*lUxhoAb >ZTt\ 8R'X#Dz>751 O:f=tfFڑU^CLcEL#I/ [uw;\z{On" %QўiNѣ:M&b"`F!Dd(Z@?B5q \LLg$Jc2o@y_Xo'}xSؠC )!y9igx!RSbM64}X1ь3DW*qnCb")&h:jIEni lc"()^-E\5(>8eGNj3'x5ꞿtNe@:Nv^vV A&[Uqg,ZM=#J [IdKX'V4%i6p#%hc$LI^9Px򢣚XlJ)#ݏ4A D`tzkTV,>Αva] ,* q̥ $Q8liˉ-zEHeZ#$T ZFRl"@?;bF|ڧ"ыgBn&RRHbI $hH{VM2)V+~-gq%Ogpn%7bc 'VЏgNWޅM l:AҶ7I4i5aecX:ܡt8MZ<J*X}vSg#[&}'K~Yũ e3f'O=gzhXF,[:g7yBRo}}So} X&c o}[ԝ!\E_쾝޼{=~~wˠ{w6?fR@z=[C[Zy.oBнu7z{Ѥ:|\OE# H}@ŝT:'Ww}ޭ@AtFt;Tն`$ޣQ%mbo]|%ݸF͛%LFtRẙ߭cġ1a7c-uoT~*"y_/f*p37y`tSeHmۙ bdF }([pf]lvMS{1}w 5WA45NË)IޕpTэT6RU{Ǝn>{}BHZ0`fWP?֧'z4qPO m%Ў_PxT{LX7ZveniP7lq빝̻¥zfh T"o7P_㰞~AYV+$}ߤ@{nY/Dwsu?wr7)AQ:Fa9I6 v vxGlh>X~ V&E<%)7ݢᷣjAp {/ )f5BHǺ~>hG29̳=֢d5㋭ezW2G!꬈JƸu'WZEr [IeJ&\h~ VX[-7s'S4~V*C`͐__o'_61LVIȶp>Sn#}v0"+$Ki³2؅F1p}0pT(2HloG 3h Lqyo4w]ӕn`oI{u[J7^ɝ6KPNzYw\ꭚ `RHƨ[$Y<0YI{C/dG\PY~7Kچ}71 ޾uޔV@KЗTNr \I*Jwr7Vŵ}+1 6^|elMF4*A\) \K༺ikW5Ig^AW_Ip@l[olů}tcw e=R cU8󻙑4=#y ֍`:-4.}c#tv Fʰ^E57D/t8+hB>(!B!v_[^k^:>VU.e8UdUAsEm RVSKԻUkkyz=LV|cU+L`P໏2<|8a-z]YQsmbc$@D MVX21+\nbfrWDZiINk>v iъ)B5`Osdߍ_z3AU 8&C|^U6s!0UKX`@ ӊ4\bkWnKF-;jou3ՔVnFS9@Q 5#hH` $&nO1x+% [nL0{O!̠V@ iy'^[˴Zi|t9Su?_`P'oWtg"׃~T&l/ s_ ^)öT Hw@/fŒ7H9}t폏l;O7DF] d Ge"H*ub)Rohj1nկ4fNQU3oW W春箛sDTuOUROЯ~#oqBDt|P[ -hrDnb)ZCU B ѡzg 5FA( ͌ױl1b1[ S,[M[/ h `/;hb$7hf8wh L=ht/Djw#-~Hv늵fW⬞BrH9XwR$"WZŀB Eʥ!xV/8544"G' od8-V>]֮u&HjCpzP8:b/ˬJ!J grQqS,`֩i#,-AyEu0#ίNeD+^/ޕqyB-3%א^n;ru֊G@>0a(2"9HP,A$a?ELRr: ŻZ<^|X ͗5zpBԑyvȤe=g#/f~Hp2VLŌyf)3kʦ=aMn1Ի|.5UUnuS”s'+ɛA[VU qѰ Q\uvXn+$t3,9݀رfJc[PQ[ @cCr>c\A]*C">LK4-@# Y>RiXbc\UDZ Jʊ$lȩg֖;WGH<0u`Aʱ^9ti!L~OV+LyR}FM(9aI>Rx%phNZ[~CJMTSR'zYg׊sac{L-+%gj^c[ o%>d3jFf9YR%N~0!.zV>ށ4ӳtc?*?]_7i732%÷s9d~ЀĩMB,7oTU!:u7rn8TT;aK ]-:!ׂ -FR C7+'~c}LӉ"+a;|[2A6R~N ^Uz7ŧ4oY8_|{W5hhp! Kfяʦ'.zp,} >2ht';0Ȓ?9(G>Uġq>n8ۏ^… AgDW>6Z <.8~BP=8#Q֧Q=X4ѕ _?K_vg`(,EE=V6k1=>\sWl[𲟷sA.7U'(Z\op̟2_|Φx)uxSCh#(hT@-euӌ G RJG`bNHa'Uar:vj*_m'lWy`pxqETё3jVTq7 &jUVԻv/M}9RE ⁐Xg5ٰ |<  pǶ.N;Uoss4QD/qPciIzN@ Uab9xM,/7@:b1nD_dî'd́%E :۴O)Oo5jƁM%uJ0C| H frJ3hiy9-XÑhgRX s 7| ީ`p9dL/ j 5HG1+PRLVs/ڂ׆&evtܒfYҬTY[,z)1 =y&vCPwBo!rQ`@ WI?DA0*$;UL!ց5M"Jpٖr3oZwښjqt$̊D '&W ejF$Fg#Ʈk+`U5y ]o TѥL1]d7'Nʝ%δ3䜖Arڥc,`H`VR/DBp2}Lu^}d]XjN!ӥcӊZU;T, xzXՁp~0TM5Eyu̳RED](@),tFh Z}+-\J~\H>~;?JpAX8fFAtak91*/!ʹ[eX C)#^i9fnV4Z7d2yHW`9ű|Ua75S/$vYf^~I3V؈px7X<}֢v6b'0c`Y9Fd8#rP9b q5^\lÛbMI4`@ HJXfg+c=(i( d4Dw %;(U֩EY;1zbL^s> @1y@ϖ̗>D וWlBc%Ș5eD.mM'_^$􈑰ظV>2r,_!'bmdlL "2\DƌpLKx˲1.O53@Ik@MAtG elg60]>K4@A=!䰙nXk)~ӗīʱjQ E >}DASj3>x]bp\C90| 좢RO>:+C|Cl3~@| hFDk3>D l5&r+ODlN2F2I`,f2b/ↅT#,D3˘J 2\f00N+>!}SC@o6'=#V1Y3 n"ߵ^F# `za;ޯ 9: b>T7ՈI"iM 3 l][X ΁>kqbu#iK2K˘LEÏ~:Ķ Lymc=BC#s09G ʨZX\'H.ڢ+uєd]Q#>$X D$=iρ@=hiBwNA*FJ*ѕD/ڵ RՂep숂:h3ʩ t4g"RQ!hA_&l3pʔzWb "LQk%?GV*MD0!Kg/:sq*iz#ON޳,^I/V1-h%pBWtKJ6Vv0cUr!KqrdQ4.bVwTuZxEvSXb>3$j6טCHܰ!C&&~Dc Sf/=_>󗰐S;^Ċ)ΣJ|F>gƸ;"}n- rjfsa#ż+&vM>}4hb${/'>/V_M>}4{CRˌ/4*F4J XUQ&)Lݜa ZMl.1oHn%uVb/2Q TQYumc5p"S54Sˁ^HCu, 9|)Q{ۯ[Xյ4Jf.(ybxH\%?c4ddU#t߀$L8T,m$ R;1BȤV/i(x![3G$"D ޱ]ʩ` $lK+JS焖[,|̌O4ݪ9Bd(7~M4M W,-ɷ0xU+YwC;D*).ȁ#g0xJk[ˆ3V4U""+fרa7b^fM&BtVc-E"VWQ.&yŌbǚ;J7k9ZhV 7!N[ap(z~عK|p}&whF?'y*R* 1(-UaÙ4πeGR|򷋚ʞZG-£QEXYM7H3 KSu~_iRS4zhKjCuEqK+mLפYESIS1Ꞿb* \r tWM 謉ަكA""܍Qy7ot݌ہd%t 6cEcP&|9D%H#-{ -؏N\|K}=wÔsbs{8IIDP$0{D:9k5‚i &vd}êIloZQ Imkm|Nƅ_/>|{k G-f?3pt%^>盳Dq|#:nv n2ȟو勛#,eClY\w9|2 "YGp3%D@6O~ @jf\oB-X?zJpG,1>BHhdF2V*u \'-epdgaBvDFyi] Gk~Gԁ4~܌˹N*kƩ\ xNH*NK2cqjF ~FB e'*(+ZՃ>K"G!hoA7./IG|J|Dt@M;nFBR<KXfTv FL_&fAź_O! -ygSkθjɚF0CgQQú}aèVzjN"~yNQΨS˩sY(NSp`os`;|sRPvB.& _V(ze6g2&54=ITeuEzDӮƃHPE;\-;&˥(fzDV0 Kx@ $Dܭg|@`^<M-M_dV&I3czSB:)3-^Wb= V>}{*Ǹs)] cHNΊS;1qEձ?&KN=-$W&QQB"=IMѓHq< ǣVݢAQ44/jc"h|É P=Tẅ́VJ8,g`CU,WE+6,_:߀sjy=U 0T،҅ͳҠ,o>MU!sfK[۶.8dm=(Ưtu;ZK,"Nph$d(9ع-\, `CU*D=duVÞ^f׸kYõVИo?*t?*Oq,X&(ll7iqG#ag6Y;cQ؆5@0V FUgP'13BlWM(y8vL a_JDjAh ($9:&D)dT5PmMh+ I٤+v 9g&IŌ!=H9YZ}CC!'jv2DX/9jF^qT , k1s?xBzjb,Wn-^;迴t3*g G_rOw` 7 R/,Q.ᙟe;P k&,zt6NOW..5 )/c9j׫9Kt؂:0Osr Ch?4p+lE~ayڨ7x cG}~j0|l)H7d*| Ny4N7PxA̕dԫI:h6'UɁPĬeDǽXxemo^Pf6$N8ʏĬVakMFjk8LxE +$&H'ʘ܁ZG0~;hRxn5 n5ߒ l  ߈j' 쒣N@ApgH~H=LDo|V$Uop<R~nYA.u"*7Yb˖o!ҀuQ5DeBZTUDoE <~f.@T1T\O6f%l=Z˔ wCBcVXU 7L(8VݓEtŪ> k%=l0v]ϋ mⓁzpzT'OAگmsՖ׻.Q׻. m$,o`-mm N`F9 ?mJ<kya{\ To@`#Q0z$ƙUw]%dHQhY;,A! F}V67;$@Bnbm?SC`}ݓ=۬ՂTg/~K,] HysWLg[#I܉cf gԷzq5:S62`Oo.U\ޢW[4o |rܷJ,5rԷZ7{c|խncUCv6Vs<۶ |W&&kF:Ib:+&4_oSFyM40 <0M5Af7 ]?1pʫMp!EW+IKx9Z=yRP'$,WO1Q oIoU-`Z-~4S/aƟ[^%Q!q){**Y*MǖZn*6JrUDZl6* 9|E}3W oW}SL[,{#o˘o#vMZKWϳx앥 !ToLu\!xZ-Gf5+Kܹ%nEϫek5<:j kC1Z캔.3#t$˛1/Cu1gdZ*g/)&iN Z|Ri(` X;8ߊ6aupŝ .Ѽ>礂Z6y@pXتNq[Y\ʺXo ڞXW@5+D9V]&<j]bI`q9i΋G("ZoLbR.DBI#yνDCx2)N1?.Vx)n8*)tpi{GhO /JJuwn=Eޠgmclr^,"TRAX#6Q}2o+~CQY6JF,um60me[l }twRkUB"z(J.ZƃK9NbhLJ^VW2y=GB3[xټ i 8.-] Gգ']zA~ ֕5ddM eb˒4i*˄L M\?!&!0=Gf"iLG2>+-SSL3.tܹy  od*n)ɧ걬䕲݊% H.&)AG'[9͐E49d 607#2MO!~Ag\J Γ<`|lzt-,bupc!b7YzF7c:|Ji ٯMo ʆ"[bVKi|v>ōzJf g\"N"uhDz+'ՑEVC5۪ }8y2lfAƣu&#5 kr%21{&6-p9R5cc[>Ss^>{^N%8Uhr3\dz2CL^> fQڃ:^Y2qt*MX3- RŨXlSQЎ1oOoUpd<6՘o E(&Pt״ ? Y%&Bc1NqX?VvOmC8@ĒBrGp)00 -L)UR&y+G`B4}eDZWlkf݈ 3W)4.$J<[Q S#4bI3XJMWI,4k;,T=UHWJ.DEl]958 #W*,5Z8i=%W)&YE.mq!;afeR_YEn&f61L}W(c@\\$GʸW@ B%>4PZccG.絸' C)vCRA~i\) IQyGJJ0U*p%M0aܶΝ3N m:$A?*i|-r] U@Mƿ0@J:%w枣$n7 FȻb1󻣙'lr g|Z%F,5?'JROK5"%UcZlG *طUz$ۮ&&*- GbqZq-BgSB+ 'J?]^ocBb7njln3iCZpPC;X_Uo{]R}uWUp,=?[,RU,]I7PpqpJ)a Wm|a_UlKI*wKUړbϜm|U!24 II&fـ+VOVhlo5M}7lbMsVmrSXHIb6jCL`Z]gKb,`*/>h-I,WIӔ=uv)]rla=Rs u\x@D'P/K$KCFjiRmq Ac '8yI&wLp 'Ƚi3O1ytaKw`;oFo/)YcvI ck$ ƷBf91 O؆e*w~ؾo>wl )ףko 3 c0AyF!- ~.7Ɛ9]v -m{oʾOm+,R6B~NX#.}`O#ÿ *GY@FWl\#׃l7Om3z\n,>qQ [cxnQA[gP&#q-b8гFx6*˸=я}@7yM~|s( Vf:zQ1V_R/] /2"D,6] ^)OyP]EE\=slG&Y;qƸ&^3G0fP-ݎ~ڀ߲mqnmgxݲ-F:Q1< s8o 2_-J9o @֎mm9d:4 Dz4ӭordZUvleq@bg\]zg'$Fzs!,L@0?/:U 8΍(?-OXRnp5A7fH})[ufԖv{K+;褉ͱQ)7`g\htz + SCUuCLpnrdF0`.rdK8{i/9];`f4W7. ~ᩒ נbf2誛k7 85_2t~ĘFڤ5ibk^3" +VMܓ,Х%R#Te ('ŌkF]>@s 7"(!:a7 a=nPHQKdF8FuiEgn_=h` ¤@N>E fX< NY l:V#^ԱcM)4e7bE(Dޒf1 ϻR{x{XlE3 )'<+!͗ * %f` H%B=ç =5)@Zj?z jLpuOHFB #ozԭQY  _b#&M̈́`<(V]U"ie*4vh#;^Zjd JiO3O` 4XXmHZ4^(R@Yh @ZQJ̔,"kd}RFb=)PB֥:${3jx%%ƚN$SHso P690;%T"oo_HMqϣջcAq 3:so=k܄6"x7=p _?{O8yR_szΑc>yKOu||%^7?qLuA5ȟ=勛#,A2+ wB6T· e< ǗYND/|^q;|^xc;Wp*5K 6yF/V6ΰâ=fִ?֗1ȕⴐtKYz3S}f_TSeV]&p_:94Qxq*W=^1/e B^Y&FZHQAE\rgbVT M$xwAEz?g:`~[=c#o]$0 zX sj"5U޴oz pՁ!3(a6zm Bϻ44M1qՅUIWnQgFVxK+vģvꭚΈG-A_kq癃ꈽ;6%#=VʱH|482!Z>*,38W#rUm+ϨT1fh99l:a/ߢN=vP"]f уlG=v ۃ>69䠫yQ8pU'1oτމnޅℾ&>$6ۍnU)3:U TCuM و@C8-5(PS]1 CQeVԫ%ZjH?DW4*LuYްzSIʎs 930C]"Ulk ݣE[;iXޮp/,D-Y8_Ugs,O;g-Z8]* vSޢU*BVtQ2B8B\ ncf`(9 fgk׉y*8 {J#;":ϖ =p :^PwMѕo[NZX1!DD&s>G 8ʁ Ѹt†Dc&{B[Pne  g7N4̂B]h^ɛ.sIIăReX2(p~jxU1DSXb_tL]$OK%eB&,daTT3Sݨe#'e|+;/u+SfiohEݨ:-W#Uuc\?TuOP=ߓn_hdk<}EP1+4{r@ Ғj}rJJvj4ď3q"8Mej3MjE '}uzǜUos.I g/`%o$xDKt"~@e6: U;x;t1ɻO܁{G٣?DgvqY(NmXF@Köt#KUw9[i< ;~&+w-t~pw%6q+Xk<)]X ug mcnZZҁz]5Otf9WzeS1}{%U.ϼ:7:ߝ_V9t,ϖ(Eȏ~>t ,+<9d.lk:@e"3x%WRDզR;r]mOHVM)Jο)E[&g"sYs#wyߋS>"t󋴊Tgv { (ِ/~sЗ4]S b Cŕ9Y beb:CaDWPpODRړKv!uuYDp+mNz.M)͂$WF =Oh{O[[AQQ`>12%WjQ9R$*$dL%jmUw&!+t#>9 2q0@*g@UIq`ۺcOEDAjA@u>q4%1'%iuNF&V a tWj ܲ8Z%^+ 8ʀ)Qi(c)T,ܲa*Ť2BM(A8ŖFOf7x $Ç%.CiL$5kZB:H '+GsfE0g EK"x-7>KM{*O) H-uB$+e\P].-A7-F8ħp 9JspW*@hRk==S8eE&"o 裒B9hE+DM hB6T/`XU_W,А1M,^vܐKtŽ& r\qb>Gd3+"ogsbK3H?C7=JPH3$$,z& ZfFuojpQ  nEq$ =1<+i}f#Q: 4W*[9!Q w&)m=P'ЄmzYGؕLp'7g:̙!z./5r&Tgj3`R%Ts$ 3CힼҢE-,9Z@ ]l閕I<<%pH^ٝcsy@S̝o1d ),'Z3AA/1i;&`?sRO8i .;&I흱z+j=jFCyjش6 Z/^'j.X=Qv:<NQ9zKYh9+~/H-7rH8 N ^CƎ-~0Of~4g42nN3O.eVO4mg, @{~4Fӝ{so8x@xOvAGN@Jy8VJܣ:9` WI2ɚvD粟/ff'JSZ5qfEuh vK/26ARpWJjC52H#{9Ao=#:ˢ(NتЙ5AYp!_ģ>[FޔX؉2B9 FA>KG$F挬@;"6xH :),3cd3Կ~SmGlAmH$@Y $It/Gyb$e-d`;Ea,LDH~#[ -܈9-JS&E$1`f9?Lpl}1z# )pƺ?ofIḚ"5e հgRYb":{T@D.uIVɄi$cIݺA.I .1Th9 kgmxz6f /cm;̱nCxɳH̕:8 Ȍ88'`@hNTz%^bC"rn`m'h T$ $%iqZ42D2  Fa(c`  0Hݘ |}@,j-hX7 *wp T;p@ ? &>;%$MA3 LYo Jf0M0:yP&`#jC5 P~f ogb\L1$@^LXWMh̊9Ж [ ip?ķ%o cFc\! ZaF^ 阳TPq5=y&%B# mgyT򠬊J"9a̪;'֊̆b} |&ša>WNL7 |Ƌ2rhSkQO*w52&c{[| Ό39<GQ#b$ðEIT!gFʻ1SsE iE+9ǐ̈́_l!fBr(tWz] yCl U E~LX3:SSRhlpUpy>jqMYR,.q%ص>TOʪNWes=Щ,S-n ZʣqP//4›LtobұeVt0ߪ(-c ʓ0,0T"ք;:.CQn&x (u /m`+@aNV"^I`\`ɓYK1E1빦b\D-C G$|0{5Y+G=luFzFW*#t¼5Yk GB'6pj.Z Yd '&P$2O. #sRspnIUp)iPZHDQ ,$NYDQBQ#d'Nn:ݺg ENrxMc$SnβX5ZS6BlxK-<<wL8q8?Y{(EElZHIow'.#9_rP^A:S X>~'GXtuzljFH"m lZΪr6$z o)lׂ02VЊ/; v>S򈛨H;{H0c:Xd]S~'t"g딆Λ}}`d ^R)?lb۟1T;`01"񧱥 b[#jOHm)jo z,!ə|j ~[[٘qVw;HƎ0z,BcՉcGC= 0ÐB1zJ m"m ?l9IGbD /# "CwJnu5<4A0,Q/٢} 1]eJ7'@ROҸ@b/]!J:f:˷0 ' D|8myt?|Vx38MuLe?0° }9VgLϱ'&n[2A0ʷ*lV #u<\<^NC`^T.7L2Z6n)Dz+#FU 5`o) +xIpHE(W J>q:/Ѩ \- o~o"Yh(IhɅOxfzseo2=B>-O_%#j4AZCM,Lf ֘qN8dشֳ Ǝ{e "ȥYoTK@_wD\kD}ٵTal_f~fwx cտUsc+6:k!ֶ J4̓mg-=}76'0 qǽ#NI34)tÓ4{v]sӮV'O|aFJ[wfj6ce;Q}] 7s*i;7|^F7kE ͻ.otC6ǮT] Zy`ڵ^Ds;3 Vhw<|BA~<%`fAuw]? ][4`vq 7R[ +.at\lQw([y7vՃެz[UnmS=ME7ԃٜԝwxfkęň}Oy/uvb_vt@ڝ GBhp=lX#W^QO2F_CyDij(gI QDp@>FCmn#P^`Rq!Έ܏{5j(FotW'n~sCmR6m,j'1 iiwބb<(ꮗJ.Q蓯AŎE>ފwGԁY{4*.wq(z5w̔˅U.F#Rkuv:;:g稯sYg,BAѢ%y7ɲ+?Uuem[m;TRRӵZR7k4ʅ B{ KH]n켗E]le& !B%nfi"=ţZhBb†PY'Fd%q%/\@6زP2캤MhvڴZ%\f@ĺUc.SUeB5Xi׵iϱ-GZA9&UXMbжQ0$i:냔b3R誷ᷪ'x@7 P]qlt¸-gCMfЌ!b QƂY'Eci(cCFYoլ~ :̊m\ZA>Cm2 3Y?LLgÅSE7ZeZ~6*glF|abh m'fENNK2iI'WGN]<2ڷp+-AHjv|\75J =Z+U~,IAʐƝOQB++՘݈ ^S\!l-\i)Ax/lVF13K7+ K'+^*,_T2L3>v]VEU Zw [֕5z!Knqc|ZJQa$uIʬt`% C\;ȇɧ٪bPo4]D0B@ʫ0=Ü)iJ\e{AjF`馩$<;'%ƪ+_z5!4*ƾMشQ17Isi v):jV ip`ŒJdJ) ISƱyt0C6,7WrF2fBvu_eiW(UǪd)>amSZ04†~o mnrzU;)X)SJ "Tq| wz5vpF) jEB S,KJHAK (O3tRθsm;u {< )TɈNIfjO'B,)22FteJ*sIA U ¹$ŧ192I꺴QA98tShhqNqK(:WdbG030A;.TP:DR)_I`-d2 KѤ?Z!)δu'e<)%Db'.@X?!U\LI=AzVzKVPym !q/Kv>ZߵF2MF᳤I9GB{;Կtه)DŽ:L= i6]ԏ}u}߼;^{h ^}2QrU+uOʽ^J?vkݠ}WƖk+} qw ExT\DE|w>/EKħhb]_zm#\ۊ7oW}M+_[wV.oSn{wn̍q% 5_\Uyk+.Ý;ۿj3]W!o>̀>z郤A?n#~"RB}9wZ4v׽^}WMws|qR{g\=UWs6M| ZJ_[oDbK^^@ꋯ}q #}{!@>:cu.mM}aw&. }^侵_dKr[/ Gu^_[AEoBMw߳w&+U]?Qe5{|~e} +~Y-?;3r>}-7v#{\y{oy}*gHQ|.!,WtEnzc4[oYkH: X[\* GUx=MhzۿJE^_XOӤqp=QH(Qnw;4ر|4Z4ot}">Q752'SxB>}+ 1w}~+g44]0ͽ<ͯ][)NE\<|48s483-8SД9f4N^k[{ك2=_{}zheLX1@whWn"Q+Ԕ}_խ_kPk{wiׯft'mO+Ywkkl[y׾Gm=u{oy xdƖ+=vߥuuS}7^CvռFC^מM~w;VX`#`$+/*Ǡo)NׯXb!:N5*@ZTc45n\V ܾ_[ymhE _֯޻b )"nܖ{+-&i!)u1ٵ$[ϭ$G:D_Y$+5Cb ҕ  ~{#aҍK^{/LTľWnr_5\/f-M~Qr17%}9EX ^ p)N}>m]y0ɼ^l51"3D5aU_VBAtXOO0j?Oz`QOZL1հ.c tqN=-]3t)St[ :nZ@ j)8BM/L^4}ѬsܹFqdSq.TWtW0@x ͳ3er)-T 3Fb^,E;cFKDŽ +xI̥8|U{ɺH$k30g'xf.YD20蟟o6ͳ>gެ3tO?#:weܴE]5F',qH7Ko7mV/_2>%lUj:d9VEciρ65Tp,+f 4ڋ`DcB{Q 4zZBRf[ԌI$h P,9( IվpPD?^4WGyhjn '.愷`hqm9E=FzWm# +tFiJn+X@ gmԦDL@;"QKk >$psڲylBlooG17w"ZekAj\s-r=hO*3n))KUz]kTy4ܭr 2/jKfeųj^Raoi2f~+BfVWvQ6>QBK^` eFxiVAؕ>k4MXkt9 sU$ڸ g|tU1RٛķxXc#*&ȼT4.áO~D\aCH#d̝tik9 gX4᧗v&&loV%ܰTN@7O gO!!RCBSqq~?oBS+ '!HICIUPJD7kAm3 Y'5FI1g/s-Ƭ ͏bH7K;hinndSm|7pn}_:}!/OWi()ՋVY2\+SV}P~KJJ_TLӁ0bkWg_F*ע@E.u_S15_ P/~KTz Z/^fǴ|E9.ښJH].-KqX/&?do9 ;OF_ py'4Dy7k}H 4C¤;N&0zvw%8R "8c|Fkkh48萼dKfFsG$lԘVtkVD{ZfRU[jgXK&fUJ%4s3XkYRY28l r=Rj&Gi7˝ ~s%.w5lioR~Q;Hu쁱*Xa5 >Rkyj#)Y*+zJѬEL{s_x~?[2|IRP[*NCZOk=xG>wei$p1;A>wѬƢΝeoȰ9p1(MD$2GH ȤvkۡQGɛC™oLw[}ˤ_R=pݼ?u89鄎h!q1gҔaocnm0xgPshvݱ1GevA~`]?SƏ_lY{;s9a@sY>ϲ b0cg'Yc۶d "Mw8T|cy-R{ͼԓ{v纈;>RP-x4-ۧ%5U:Tòyb]Y@8[yC9Tװ`{R΅[ݢ%vw]=H `mcW,="cOgO_pEIh 6"@.Ϝpl*09s,4r 6gѼYiӍ.3c .= =9VxXw2:)/~NԀcTi0{-L F[?Tcֲkb; ̳Kl1GGfqzیI'؏ftP| mƩ3񦎎q0Fc(#J xt˱ Lj խc.T"WU3 \K­Y٥Z_S@ rjB.pTP5A!>3tWQ3pTcf2_6}umR'mkGZOb/O˪e5i^`ozf/MDT"ن;5ywHw&"ϹQD> T5>Ǝo9ws;c5]਻9Z7Z8"|5oycp& XI R`/ESzܒqK/_"gV7e*d-V{(Azi3Nft74V!a h>Crʔ%4tC-@KUBDO8Ow^юưFޏm~|.6dyuLrQ`av=/Qi4NCY:$"k-2y29`>;Oӊh9Ƭ嘼`y[4];u8: zUG#B1!S/܉F'lFGuk(RkeI,b!e()~YYj=RсhNɚ:&|sxT K @tW@L4 XU166bRwMÅWԩZ2夈{+U陌u1Ա6E"H _t㈟{"2"ɟjs1oܹJϑb[s%,)=TO\G53R C1os͜).Θ?oѬyZ5ҏpTWqݳB'[ZB3vݜ0zSdܥdmƹFmƱ!SAX6vNK[)Y{,;{*ym);qi†yfi6) %p)rz Tr 1T((Cbp)īMТ Z֏RQM aCTEik)g b1I-*.̮i`1"ZQM횆:g1 mY34N[8Lcl{}SqY gږծS]Mjt[5&ǴO- \ݿv 'VخSVlxfױxN 3 Ek6qռ ǜ&+jemg-t QFBFzS sVkY-tT3Ҍ[8rQ_Y:B+93Gh!V9g-\d̙h%{5iZ]/#D 26YgdMGij[h؂%''-ѺcCu _˗D3emyn2崼oC]-Z:'LhQL-r1ʳ!ԟ2Al-p!pE&HH^lTgUYΖǵRlhP0S |Ys?%;< >7+QZ~Y?5 %>D3Tn-=e9AT)4`ͥ23ZEL/cڒSN[KSMLa˜CMq$Ak֪(+vܨi/Tmi1BGsJLL)9@%1kl PY³uڭ"\aU!PnuǼiy#."k -tx[IXk) n5'PŶ)%m&X>7-D['qo5Fz17g?z%1NŢ_fl +SC #MIZ7 )1dUK 8F.iHc2tǮF5L\1{9!y Ҿ4MFHj,3hiF\XhjjBϴ"Vg:*'$ZTjA(~+}Kvyy#e X)Wu^}W'4 ?'՛ca)-m4/+eH|we\iȂzJZ M2^t\j$Uhl|]8 =,)$T#o%O6}x{by^2>K~9D*ͷR:BF06$%@Y ٩f3aeTz ʦȲ/@\Z!$ XExiļD25fH-,.~a9"+":FީQ'VM>ah;9c޼]}u*ϙr8wyKv yGR_Wƕɶ+⇜]6X~ p 'ˏ,<9oXy ~;\(e/3iJ# O9y8*䉓F ?fh ic\iD%m]>BfXuٗwFd[H{7[ffTNiGev&Xbh;ŋze6{rf*'[ufyW3)`/GȮf]}|;m)D\x*|ޕ eI~}=wxُ媻t OS<cF;X/NPU/cx`/`E.#++."dJY6˛[ǎN浿"yl9=m~ڞUwLT);'tN9x5|x7QxۚԆuur>_ޱyK'lyn Ϳ 'TQQ &V'0:U ~ sf\'/65#Eww_zEGEGd)?ÿ˷?+`֧izl"e;蝿;.;6M8~|lj'c~]p=|?8駏t-Ogoرo`?)/ve=xw~w|'Q-^GKoO߾7>-=ܳos~g9ظsJw_ݳ[?,/?z!{Kn]?|L/3֯W^^hjzyvҵ-<{_Y?~;'??ѳ|Ͻ_m7?^}W;~zK7KkΗծ}㞻{p\SWp_G/^x_}3{ޛ^?Ϋ_"YKoNv㋿c. nçzYKs~}Gů8Ϻg/oL ~m} ~r߻|&V~{y?Zv۷|!j+kP/~??W?=>rO_Mp۟n!g==JX?_rK<9?,?£뿻roϖvsns{/ zeۏNwk;|6 Ͼuhhh;~^Ї|?oj/sҥއgSmtلwuqMMyb}ǶvMM#~o?DjԴc_]T.@/]ZzCa{[FУ_걯#pc 5Ͽ_E(8{+_{xh*]l~*|a|iMŋH]GMOs(mO_kz/{/}~_<þ;bSfWՊ?Jh /W{/ }a_bi;Z/>_Q'ޣ靅G>nwLRx8 뉀RNl'0?xN*?4⟜|6-g~-x6z9٭_;i-~mo_xwQovlk]}Ҷ7Ny?KI}f{ķR h/uۛ^ n|#x*}{ٗ|eyw| ^<<|7E]˿qŋs?b͋ެZ?g,x ?9?~tޣ?>?'~o|l6l:yGk{gl_~p;Ȧ>7Zޓ//Yh;w` Yg_t]s~W:}˻{T|#+7oK_‡ׯ=_.u}sWuwG?rGoOx?я}~/^\G}PS, ש/Z/)+~F8=Z?KxW>WW_/̼9H~K::/=)t'Cw|Դ_yK/7>tiBי_{|ׂOѤ]_ߜы~{-}_O7/t\٦WzG?ǿŋ|[w]M4gּUM)> ,ИaMj_IoUpՏ8OO8;/Sv\N;G?sox+nz@ZfͺjMZ21>v|;ozmܻcϸ~gMye+omW4O3{ܶ˟ǎ#@$WL%xHf#wh<<:WcϾ'_ŗ})k{{e/Z}> y߶Wl/wԃsgVww_/,w}}m+13s3|:g46.x?K?n6?{MGp?{Kf9Z<_/9;9GG꙯~_]kގ}\Q笘gkG6}-xe Λ钙/=ϿzeGoϝ͟|q6g.O1n:'ϓYKOo=׷\7>Ot߽;+=%='/_><=7~l4{}7ܟWoX{짮\y+u]t;giG^xo;㈯7}8ߎ8շ}x;h7~^:H?}!iNWI'ؑc>f̜Ɵ S陌o̙5KEܚbm.Y$3 z8\a?dh9g>~Z;*M1f&h̴yY8(h,n<_pnN:xTHt1ǣY⬍)Ƅ '%h9gx;GEQ;tgpRܔ*tjiƪjiOu*eKd8$Iat nR-#t9*ԁbۖkڼ ~o"d)VK!qfkkq--]cN8nNNӎݒ3MoyRO[&Nnm]>k9]wmyk"\q޹z^W.Ss]Y <^*m-vC |uAJ4˶f6.1U6Y\iS4ZvΔ u̚r}|c= _Nnyⲽsb j[yI:'>uch\gqt3C_}ϝq&W3` 133p0j?ݷգu\tQt|yb2𸫋  ;h:4O=(gf y'8\x mbMwsuL-wZ2$:_g^>>;kwMjLpz!Fcs}Nj[BHUO؄7*{JnETvM&:t];&PEy "N Mgы$W~xȫ1F@\.>/~iGLeDwONaPɉr h'X[GVi4&YPD*V{4?f") ᏺKwcw\Q`].39q}SZs˶w人:m""l˷m\C]ˎc^r\?us^+9aA[ǧ]}w~R] 'bJIv@\>uncS&LA/ҭEڭ!ql  .+r." kƄap>E@4J2S;:LB3_d"4ajչHj[,deٟGR?ywqVU%%cV|iy[w*GU ?M\}oUQz?`@ R skSIQF+|80)$eLy({L/&-o]sh93<Gm@E(`RPSVQ$vM'<\ecX~B LGL`瑕pfy73˳3[>>;""ss{ @([CΏXLrɞ߾K W#3Uk>׊ֿ5?F"g\:嗊^Е^(}RQJE=W A QSNP2cC u137ts<.#ǺhZYCJHVE(qYMkmn1hlGv\ll~ hˏ~~U_ icmÚ!0]~bic+ikc.I9?l}[Kl/?r|6 L懭nM)[`l-\~3 #D]~.V.?s)*T'&ka "mk㢩emnbķϳi1ʸ?LwADz =`}j:}twabEE姙#gj\<ocnwt=:z&6lOy ? M@s:u'sEٲsMky t:(*4ͬfIl6lɅSz*>7Vuh.VG?o D и1l&.ϭRsc^A -smcgK.ֶZ?->oMD@] +3\.l4~ Xz~ Rg:3t60% }17DI\?`D3.?E@n%i)gB?qXPxQH7?CxKg-ϥзa.4.&4.@DaEgѭ~ 4.bau M $UJ'ۘZX<|.2|.2R.UfenLҺf?mDiP!&N'X9QW mlرBBY.$@Nٕ`bl?~ s~zz?P e_t"?fPBIۉiJ3ZVUo:`Ɏ:ݎNa3AVBJ6áht^HP/"0a y@zQ^y r }Ꮸ `f]?ԍ[9olgҸf|jS2gSatwB~ӅӷZuWy$L*<X'0LW-(gHO;*6+p$1Ї/M 󝛇? 8x;@i+c" AXlN%z2=j*1r,^Kی^@i%vXZ̹73fŕ +z=3 }jA d[ь^3T+sI!.]cJO/yx$pQG|3>+Y?|DZ?J.eUZiEuJsM!@#LU2(LjOġ̷wby6?HS':g҅4п̘6Z9jJ6ԃ<=n}-v 0C#_9 6@F:ܙUŬ+_+e"?"63L2͓T]7t)uhh4E6@s{nCIGD{~IpQ~ wfWpJ /Z_qR }tSnQw>qΕu.Oާ zL(Ҡ݋;k,E/h+\u(yhDT;|P!f EdWFu* s?N3x{\ 4"X::UxPHJ.P}7B<%^8-׾p\牯z:F3G)Rz̼yp|.bhE!wQL%╶H!:YG$h48}<~]% h(J8E+/;O6` Bd y 8tBBҴ&>,TwPLWiA9_;O)2$ݴ%"~I\T^Vh/di ꨿|/7rL*G4;LwJJ8*pCXfz/H0JIH2r 9.a~Ľ9` dڜhKE8\^>"b8;P5xu Lsw7݇M:؍-t+GWaN륽҈Ow!Wrҫ*0~Yza&3򙊲񤧓˴Rqu&/WasK{)r()1klrحgZ2[hV 6rA./)#i)4ޘKσBddXrXVd\3 3K;REٷFY>T/[8r_'JŸ!iT#VJIC Q>&}z@O_g"u?Iě*$A.v_Z*ƒ0)PŐS ,+AzWtQr K0ݛ5y% 9ֆt8Ȱ̓ZbBoVơK }qy߼l$-/ LVE"_pe ] ]suusqiT%~ALI~˂**pVѦpVsx'E1$aF6- /kICjz.nJԷ̩Tc.WbQj<;ON{K[T<118ܯ8}`(&g]P%A_F oë$ uAs;|¿d7n]3OK1Ԙp[2,D*%DV,Nש!6aǫuhLyVz>8Tsc Ӽ&{ %]j@Xb4CîKAƺZ읯BC\O̤쁏PtU&=PJ:$uTǞ 6Ļ:Rgv(Ȋ /~cb-Pyu۰;__]C mT_ vW?ҫd:Lx6B*_j@;.XC}l\HI`GCFC\]Unw*H˸ !eU:[?vEm@ZW0N(v]DFG<].=Bk;m_$<5g9o\)0˖Г4yQ!nج|:wB8aIykBjdy{ KL72:dҪ52Lճg1L⭘,x@b;)\I7qczݻ8(ͭs'AS" G tCH7>uhmC4(n籡 eU[Fd)D 9\L}8g-p6*d<_~"y?Oqt]C[ ˰ Jy"/z@P$vZgM\@:?$Il*b84yFȟRlKYsͅi3h)ɫ%Lw,r ,b|Bcrŵ(؏cFuQv!K|XۗͱSpEWHcɧ,sD f)o>Rw8؄x; n*C@g_Y`:D6X_ 5]kBMNJ* ~ 1!^U`D!)k)ʤFC N^o7=rZ <t`MmjX^GPO3/InhNFm2$pυN+Ɲ NO1oNؐ`f:']D hGzgx *a2b)gɫG,qT'5pɳW4ʄ7F]j)]TF|G}F`⡡F9̶~),=ݐtSڷ>xpw*R`xOj) K#ˡO ^N,bmrdԒWt4p^ꂳQ3wyƧl+i$ v|DK2R?Fq&^~eloTƤ"['ͷa7^ɹNKIRog>8a3! pz~B*Д`p}}Yi6F-:㰖qMi*)ldes/"7( ƭ\^i)dƤU:dʯc }Z?3/uTI<^T*pӭ/:ϗ-҉"?2JAZ zI v3e =h3u85Y^*V \ҒoU世&/c AͰ/%, vFEWSQN9(p3}~d Z`Zι1^"^IN׃KK׷zWGJm%Eq0adIS9Dl)W/9~|6j|+9L9gW'2g;-5O-Xk$tX:;N(sΜ9Obq6Mebn/M[M8-llG۝ge*u|)ʻJS/mG FljP7 P֛F m:&1Q2aŘã\)w8&39LEb[%[S6khmЭC*-k};mc嫧G$XF^N'ړdcب/(D_Sن,ȠI}7yT)RHKy^S bfDٛ"Ŋ.'GqdjG|3[Vj`Am\×unTQWzfYWx3:jeD4 |G?F&Q )͕9j-WA[(-3Q͹BĆ3F\qŵ9xQ;.WJ#`:e͚@5$Y;aooM>w&+sfgӇkZ K$*n.f'jéR1@K"쾤gꉅo99w0f.Nrp9tO^"s)U"L~y:BZ֝bȄ ߖ#7e9Ȋ =w]I'ü^޴/e;>̹cG9n/~E<) )$)hffrV%u{';6(f}A+AՕK[6_a䕸ZA0(LkhVeRUq!!A2v7|VWWrԉ`! МױRIӖi-tY;Ѓx@ވxԸ!|ϭ`T2wy\9mz+0yvf᚝XiCy2[V]p䐧}&z*u+nR@rrska:/{7ɼx4暈*Խ#0:$u-k!Qól݉kJ2]ZoiwݮvsN4{MZ[DI(6.iX-|Ose1JQ]qG8Ie>*v0U1!a]s}4\ntGc?E?* diLAV/TnT֝DA$hǣ*wF[=G:\R e#{]GkH|kptF^w ? L4+|@@iu?/ k?/I{ﷃWj:/B<<БJ_xCW?yxQW_| = EyEVfh,_ LǟOO$a4BCC{00_%&:66:!!11!!3Js" pppHHH/Q1qqpqqqpqɈ""{KJLLLo  @AAP@@! H0PPph(xHHg?`hpdP 5-=# d+GЈx"G?gCTwzC ^4  %'TZMB:t"pnv-zY0#`Ȁs 1bZl/{rH!9p.MR9;=GJ2q?25SV!AY5:grƼ QmeVr.8JMifꆸ5"t4ϥ=y5I>ZʍFd `:Ԍ$L eEE˪mN}+lK+lB8-Y‡qtF&88VmUb;6ѦKhp(} Thqn1ƫ80 Pm ɼ%Kdz;ٺì V7[;-)>&739.^*̴.'uB")tzX& _A~Od"4o^Dzm-kV_.X K- ú@MO2r0yZ8֦HEF9A)l=Go.o|]Dc0C@j:wu=x9µ4U2EY렐v1fcҵ @U֨{l$(HU)#۱;AZQ,GuxŠ;|w2[dT  :=ڈl|}X&F0, ƌmm_IRVfS5XL(Ui%tzטԭ$ToWyuùE;-,>N(OGy! 8(ƹd"CUnG?nġ^-&^f{} RlWKMr9ޯl?Fbym/@>$8fi`ŮeͼBCǁm)y[^v]:n $Ȓg$=᪢PXXжm 1i ;_:5s ͚2}i;]t筢azlkl-+5²s¤݇ GxTVkaA^b75O&tT^@C&=ڧ?=?I >{6[{zƐE]15.Җ\ zahdyW$,gvīx b BI7alC|RAAQu2ldDFg:AʬRoY u7$vNḓa5X,YY61M,\).ڱFP * 堈oq3`F Y._S(F%ox=G7kG! ]u8R! Of%,a_`8Շvݍ\iLͮq3p'&_yL44ؗCaC\lwYpMßA9PqHnDVG"GSv 0vt+ڙ. M@~@?~lievdq!; emJ^4hsl"JZ){DvSa6(XdS#`6oؖP^Aem+1K$u>=d8Y42ɏgi!6$!o@+Rt6dmeP^$'.NXUȞ"nFGea~Rt@sprA~WYٲYV^/9xؗd6*e9쭃ME#c*ofYZ,ucol*[5WrIP37j`L)72;#֛0kz;wǟ?wf(tmX2v'}jQнuzdXrЂ@wo0n>a7N w{z]5#=oD*z\KW{y43@{ƇOP*6&of%>,ƫS6|/mt2;ozTX]F~3F%T6@]Uawjs-ygw1TD=){UӍ+hq[xWߒY8ɰ|y_i*UŻ;k؊ $&zq;/? ƢYY_Jڙ|EwnةuN p dh5푽-EAdP7d%e/C5[,N)F)gȅ+LYֹWAzﶤeE32̑a9A&OncV}߉q9Mpl:2+;U>#=OGv+N0Q+NQ8痫kc2;rRF$e0 9#Jp\ w'z 07n>ݟLWa&dR{?=6Yƾ5PJَ-`\/nj4ExhMr tn [Al erg=\U S Z",+M0-*qrx7sFJF~-=nS O_<7[GA  ma篓c?my7}$'pUYqPOp ҙPav*H+736t X1ؠpѕQUe>Rb1,*x`0ZM\kJ:f̴J4+~>Lw6{7qqT蟠F,eWc&Z!=9y8LPꎧn;R_!ūx4 s$ ül:CRzM0sSJiTSC>E tv髁]Bctކ7!"#c\9f÷/ECRnOfYj3d+IN*)4l=kWwPwM7b?rpJ;ݜt~F $k1@uixwc*Nu;{/Ck9ޛ&'2"Nd P~߫K5̴;N$Wt3 I9lP^S|8ZE6ȏ /N ~h'L4{ѕ^*Ětx*3L[<]Yn>YYF|Ƞ>膠pyIu2p`vMW#=0%r*=1a)&-5W䩞2~eR/*<$'K"DSNW#M51lSă~g<>`p?C$W)KCBb.Io4S"75O"/F{ʜֻ[8\a^ Wd E~˕Nƚ(T4Z^]8UZh`,kM\dڒF݅ZEQʀڲNj EX")]M,+35TY4T!PmT=dd-ܪj;>8_9[ȍ"p7]i|wu֗*pw}$]G7X~ǴI*g⃩cKO`5 9ejMZ0äZͼP06p>tYOr ;Qd2r1 z_Tv6b5;tno&l&Ztm%L$So\lz@oym-& 3vsISpq$3xg_cD]XļTi'gnyWVXVϴ_9,@qP5.g|P=WxP3ogZCGrX>=afﰑ|zrEyarMRtBpI+7L.n|{ZX^ܢ_POh)Lo _ qA=X0LGHGE$]ț^LȖ\L\Li%~tHk1-5=~w5o3ezUl |EuavORr|x.xL!cv_rdxGukvvnjn +IIi?ٰ i҇ye?ǧXǛ۝ǻn)ҧ# -?yb{@bi{"({aA2s#}.@JfXo!(Ç)؞KW"Ϗ4FzsP?do'uŃT.7=t)hmc(0*&_e,a'0xډj|RK\>p,Bӈ,Wp.{qYo{{ŝNCI?~J8l.7ZQM:| pZh,u6߫>xӸ^Q#܏FJg 9LfNgp<ΒEsYzΒsٷ>9͞\W_ݞ󸠄Ӡx0F` 0 u:ćL8"O;Ϧ K=y?/n},< ~WxEXT֋|ɐ\'4%N “ EbJS'kJdM,B Uf/J ծO^zp|BKWX.+b,)!tY7PGi\_l (2;pY'Vl$7;pY]Rl4}YS7Plf7x{Y_b'2uU#VbzU?Rb+t0=PbW۷ptո|`,ɵxpմ-V4շxp|R%t;{roJt Z )ɛDtF s̗_Pt%+xy|J7`}5VokwRF~7=BVW6monz%C+sE7ȕo+ V|ߠrSݤK7mf"2i+-͠`eʕ ͐BU6G mЪ,aѸçMHcCb5:0Q \^0Y6Z 1Pţa6jfiPչa6c[xzna&8Cq{Kz L HZy iʵXfZ هS•X3vH4hceFS3H`p0˘cEhx zKլ]!A0bu]IDߩ!cjQqǚXY_ ٚh٘+"123? =/O ꇛP P.?=Y|3MO/1=J%N!b`D&~ft)JGf?˿UB@7f&jm((n[mtg_|ݢ]K[.R/T.?Pzt ]cFhCQk`w𭰶T LB%Q݉XW(Q7e=_՟hs-±l!dU+Or81՘-FSԭvIP9XP-P]Zj.^5|.}H*I ѫ'93)m"cFEF@'NUNZF}vBbvTMVh|V*YVʇTP4zw$tZ|EnTj+ْIE+XM'$v߹.IUoVq)? z3UH Dևn!I$aץa>^1We$ulՕl'_&N:9kJgTc:f!wL@RҖ`K\6K!;(Ex>:O%ݱeJj9Fxlf)FklvgmcklVvnhusaomm댺IUtM*wMkqMZz喼薲u4v~qEya=)Q@&F# 5/V&H## ..-K#" \.oK#$ mءC#O2/ \ݡ^M@#ة=AȬ"XݩA!I驐1JcWsFZ y>o֌acײ#TGMwL23r8(H fr-&L52΢PSmZ/0vL—,Dh/2VZъo ~PNW$sb%N mbn -ǙyG=Qa4K1%e}>K ׏drnjH2Ӟ@)`k ,F$Y> K`L zt$4#J}K?ʿN_"??[G_ $GH>7P {UIMC3*q~|;z*zZEiI]Lct;߼>Og݌6p K.N6f;$a{4qp)vb*o qrVY: iB1՝vv˽.`{ɼ^ߦEV9,>H#x !>>*HKx$P@=| \[|:`i֠ Y@gI&\HmĹaIAYI %+_JWd%}'2q9]_{hƉ_62 Z4cL9;6Oq>f>ncH?!{>рauT6ĻA%5^/8a׹68]ڞ,Kl}˾PS:}$itk_s[sX̽r;Tɂ7KIZԿ|p ѹCuBA5{>WttpzayIۢ9ѼnɆ# 9] ,OQs<$#X̝7]*BߎANdS1s ۧMs?2l,4G2vf2nd.kάCg}Z\f$n`` [ /򟍹şCGKKo_????JJoC?~JGGxR(Yc3_?BC3ZP<DҨ-]j5#^jVܯ=no&INa+ְ.Rzs6^݇?Sg=TpTs}zβ7Bt-7DbX{I\("Y@:ݕBg*<Ý܇'(|PuOU? w=.=j(>Xf=~ZPZ!B6oSzTc-C6}C+z(Rx t" f}su?ѕSS\VՍ r}㫗p6ĬQ;jWH?c1$pqoiFco  kncA&b gN݂Ќ¨fJ,(S6-m{iIT mɛ0_KA]#L^aZ}3%f;b z#¶ˇuϪ5:eʜp!5(84>۶J>$-Pў-=n>/uKGo'R23/6!u_hm6_/_^ޝ39 khEuux`BXrqMM!V`sy|$q$|RXbo}W;+&J8|@)O`|WU@FRidp4+?ïW_~EW_~EWE,>"17a R ZY$f?_  L<_Rqވj^L47ձ" #GzQnL9r_#0&09VFVݎPRM ooc{E7^}n^;*#xb_7{dU"hX cBg Ǿ6t+wh V58:Q`HSj;DSiͤo*c;UojAro/r'BGXr{MmO+uĞ+B32>Zu jZ־Gf-XǠPY <ۆ)FX)OJ+$Glg _= Lg^꾒ÿi#% _UȩWe ÝjкbI‚]WϘQx=Q}k!mGHe4#+IH8-M}:P3p:2\抶'Y˔ \!ut%! h7l$qhYE$B(`Z37?H t& EΨI}9b"\M;~!0Yp{5P`(I$F7'Ϣ6 Q.AsgRg2=KOit !'ll0ZAh i֥ڨ/Ĝ^ ʴfbޭ"1v[$e H !?Ar;~_$yWPމĕ ΊAyb2YUmsTK\~jUP8QL@#W^ pX1;?x9BּO+o7p:0-zi0#tol- BV?Gʈ,_Ouaa,̰@Ӌ5w)7la]^eer%\?UΣJX!qzyL5װ[fNGy/b;ةȢ/Y>1a{#SzquE" BE.xHؗ-,NM0ZtB9Eu2pQwTS [ @Ʉ2cKJF6$o,LeƊ x}9P7OE8* kV/ROɪ,:bɸ5VN-{R&@)uec]V(Y]r-UΫD퓺poԝ>a['~TC<ڷSP.o--Kr0T*&}Yą8Cc:r)р pejEpĊ~oMŨw .!aA.-t:UTBN P˭[$ /;S+gOVv!VJYUJOQJl=t\fDsjAvLhΙXKrs*z`~75H)gӈnII0*0(](A2~o0Hړe9-i*? BMćeF&42yWPz aڶ.q,q c}Oz{1r)sm7X_SA/MQ _95Hob{ֻZ`ٙ5ݘ~67.mx{[FͶË% [/F-B" S=1f]̴\c wN2GMQE3N+o&i۩ .FUȄk/BfW&R_ [+Ĩ2.6W&Y#daa"IӏI_~ gNHS$I5XQ@룈6"v\z5CĆء\SCS$ s+ @M)yr:;d!#}UQoP,<4_QoTA11Kܓv Se.fýhcЮS^+'aqfb[8#P ٻiBmvϫRbq|94$B v:=5goӄ Oe2=E'_9^AI ;PCf`)z PW%;@$I%|fԧ巾-{F7^> 9&@7<+T3<Խ7)'sk*\ ^m=)b "~DCk'gop#A ‚02V!l$EhZ0ƛ.عl[٠' Ha6-0!D5fǝ8s4b"JtT*0b5YqxGڙ@=ckJč}N6PBzwԢT}w7ye6k3SR7^ R*Fns]7IV+VarnY_ycu;1r` nsuFW޲UT#s˖QDŶokv7aSUb]e ͪuDd|[kfwr>4 ۾1W"KU8oApQ {l_R'=<$dvC 2)υE~ʦJPPoh{4y $0 Un|$^z \C Rkp-oQ>9_j}+W3*/Q}p~oV>VXq7PqRb. i5) x^Չ5¾wm$no2\N̫Õ5?7Z^.}xtv˾lqKZGl-5==337???x0p0xxxxxxxxO6O7϶vw////nΞnΟn/n/onu7mLG翣˯Έ7_rވgߙ.d,F2tanF3XP vbeU _QZ}  CɴW +&}6;I9*P BN8[X hQAka7~eߥ{|ۙM# ڈU@} @^ ϘL VPؚ,?b=fEH~1]<  |U*eڑGՄ /d o#ODu>-];f|&p^щKW݌rG5͵gЏ~Nk qZЗ:nTdʯU0ЅQ%}Yda^F'M.dWhJMAF( X bT֚ZhGcWI >fG%lslpLH%N^~Ki& Nu'0i6ٽ:"G&#%4u9ךZnWqRPQM]1xI-!Xq TYI.{X $7l te|LY b.0Gu|.V̓_#Zh63p|HHKXpL r2t# #"ৰqF&h2p7Nn3 JF낺q~dxN:bV^U pא-m AQߓxՇu֯Nh3˿WC;QzvKɋ,1 b+cca#l#= ,QO&ʆ 3}J{>J?V-$y;ro99p͚bxW**Ecg$BF௷ݾ3\x%@*+5 \×l,'= wUpȚ/H^/ K W8MV9]IbXIwz9 M"]`㚮YiܷHmАUD ;+{ނ.(˒wX '?#3ݯ&x55/]8( %}7* QQ:T\8,=,&pp 2r2R8XpU 6 **L||p0 7I8ĢR2MvTJ¹CEWQR?\_z}§É  >-s-*.zGG^eFy?YDINy_cwAFIp~<]>-&\pHq_aQ&TvB"#`R_sȩP6?tr~_ ,(*: `W'`osdPQPEeklοGˎK4-P>ޣ3fu"6GlfVv c^^m^3: n^l h11vNr O< `k,=+· _^"T|˥%DosDUqIdͅlB塲UmҗgQBv&csmo#E7-D sqMJLy`wH;6c'f㿙#[zIzUViϱ\.OΤǤG(8w #@i,_rhsփյ4t]?E@T3R2QӼWbd0{&t̘rN.80GftʠplfDIbӷAPn:^AF CL|CL|CM#-B-ì#mCþ8GĺFŻ$z~IMOKLHLo_ ܅I Am)ӕWDp^f_vY,`l\,;2( &25Zg@BC '"SF&=!go D5sfs??1O? ?~C~344466vpppuu LHHHMM-***...)))++knn_ZZ;88o./ g@3a$- @qXmhAA^ci񃃠obјƧ}o]]+3M Fii~aH:??0%]ǟ ,zzz~7<`Em4plU\(CT2oqxAF. =Lձv}NeTCUNfKu.sGMnCGwO^`)0PQh(/$(TP$/ʒںƦֶί\{z`a)A&@@(Уhu$XEp$ M ??0/' 񉉉I K2vGGG'''ggg777Sogx> ?:ߝ@ғ+?#BQ߫raHk~4+P)V@f0 m[.^ht8]{>QFPW_L_W|C}F_bc/ 7hSjg,OPm Pݗ"Xs0Wg'T{Ozu+Blk8S$Uboxi'>Il{P}np/UlOѽHڐ\o󖽆Y?# x`mAӑf8}1X [ ^5"] f4X yHsI·&6=sy=JRl#ZFp#FA/㋊FYNxMc.$Iíd|ÝTH4o[T߷<ۙ;YrF;qz;9Iv;t _vr v jfwK&6 wJ )˾rv-ܯXޯ83>+<;()Xb|XSxذ_3wh|Eqt>i||Yhp|w D<*or S ~/䴗4;e1U7Y?Ô"4GgC\P·0q "I,I 7P/T?W]=r r֤vجռ͔ՂVՒ7'/IZ zF~f͖?=UljN^nnQqI7~ՔAVnQW .paAqyi҇yzݥXǛڥGn)R# ¥@!E@19`{"({aA2#8IjGI8&M@9f NĚ=}ߟ ؏ .O+RhJ,t; \oJ' =ߨNt20e%fbMt1՜0gl uΞ:gAwsܞyeC}QK "x4"<8cid\[^q(,҉^;q,?{,` Wc OsKO~ t?03w/?Y} {2_*o y?њ/o}?4a','o0Hpu?Wim^VPw +Io?{Ob}Po {Se@؉ oyŤT:F:&h ~?M7I?Rb~LSD?f^" >7IoU[e^f"-%WPVFRԈrY>{uÓmr BQbL(iR2MBh.[MDnpv LZSC&L8Ϛy{-x~!:EKeȯ[2JXBC:+KH$?br].QIX`\ݡ=F h0|J,T1-?e0NI(CumsGT,eJ0'],IPOc=|loЕo4ϥjZcƊnU,!JWejeBɛ‡\P@fAB %[8. G,0U|'_M +7&X*P Z. 3Z3Tg@%iFN94ؕ6}|8$R,Qr}i|c! #\8q΅0y}I{Z!̼+M Cى+yGPA ` J ˒,nfk݁b9_ #ls hH'ĬQ=3|06]9og٧Tg"!E¸;fqJq=SOءs2@d_noo;DbCbR陨 x1!}ֶ%N,s> !0$<@!LOZIYnDlq-ev(QҒ]lR[>n0)٪of, -chzݍ>Dމnv8Sko~,_ Q;Co(V*gDi~x"k.d3.9?2JJlk;8}ɱC_qo!v_i3jy^}EP Fjuj0 u |DpS3JҎu#I@q `# V˘+mz&[ݻ4@AFx(AOvqE{$cS($@Ҳ :j6|ިReY< hCvh)(MQu$;,wCo9TfHj-< <\ _"@rL`xw#[^f,@kgo$S7>AG`A$-U83^fK< $7+gۖ3}f`JqWcb8|S`'Ywxj "4܄ J*o1}M nSΔNk 󶭾 ܓ'LwQB!b c Ӱ37 _ ELzơ"bWZ3돔d'szKbG$@e o͟BU8Pfnn/ԼUa<1j)_!RPQN ivL݄Um2D+vcyOU?ݼargڶn KT([ ezt;l5;qjO=**a\;oz+gU1cPRcZn 3g9iO-!m=ߐROzԪuO$v=^3^vM7;/Ðʟ.OXɶKK"+M^s|O^%gSe?,è+ܲuJ :jV>`Dl%15T!Z[)ϑF@z2h`mlߧ|W^lG Dar92]5j{pU9Jt}l%|QPs @hP"`XةOKH!U5!_}32 ueO

    N {˸tָ$1(T+D b7H:d#첤kR`q  yvȾ'97Z.ѩ^Y^e=)NhmauD(#ɫ[`Wك7[3A7xé޾%CZ o0Wc:y6;=}}h{}]hO,QTRm("ثR>)(ƳT El]Öƺw +IOb?87݈0 T}RϴT nPw[r./rSԷɎ=v7wp;>\d(B|rp&ƌ+ |&&D/ 7)0^ yrnp~.q1|K0O6;Zcxl_]y'ybrKgBӹy !zO@;I3&[?LP&j2N{!SQ}35o?2~ R 7k8p*&8sMR"Quk=)]B7-}@!cz2Dy}RRgnClJ`O cЂUp R{]Or O%ǶtlO40̌0mΓ[l ϕ]_8M˦_ﱕX~S`IYc2*'5'7^wsϫL~"Tfڰ{~_rM?S#I:< 808xR.Z8ɼR>hK˓Gf=8Wڠլ'Q?";6~XHV5OxK٢~=x}J{ge+31Ȼ *n~^ ҵU ڗˎY zj.Ugn*EvtǩYXp\n2%c%E)`22lPzbu-) ,Ԍ^G}2EXIqrv=TbH8/^z+eEii.f~n/,MrO4(vY>^piiS鼱 rs>&Ht#٨o;f,rJ(ä`Q 0Qy,;._oSĎ4٤=zV1blC2}P2 bѽ= !Lre; )rAr6g6ۘ?j}(n0Sܘ)" nllCWŁR(ë iN{T '@K#" B@EņH!"(*MC *"nYVPoO>ye3;73;÷|UiҡFFAqU_ZӜ=Ua]͊zdRIyp{f'H^z'x.s}WU ֊ZxSj鱗Rz?3P^9&b$y')z{EU`wiJb۶1wΣrgrd~|;åvbͧmIL/hng59<͓ۡc^,d=־ZK s\x`Zc0 pU'>Gl<[=@EuS<5plpJ;5mz}o1^eV FfEBOB&Q\/ԛq)޾7ݵj,w]QIYG ],%⯔|(KUi~ ӈ3ٱmd͖ב!p*n8w%,IĽ>i{bxw5:3IN%ƛVΦYDmc oɼ5&*Ujt`+$6fF֮E{'_.-: _WWMѲKYݻ*sԉbQD닌S/ ϱopTiݖL!)+>#];*&jfB ]Oe3H]T@wl3ąpY voOl~zf n.|k|IG9(rl0mao7cn:69.ؽT~Ԫ5V^6;5{H77jCL騆).729sNvWg'+]똲ٕuA0|f+0Š䌎MIK}lԓ ?hoۙoLӛ"/vy?cJXl֒gungi#5D*H5 n*Scc[MXWB_8U^N}mG{&,,l6>L6N{^ޣ!cy㐝Ϛ+ᩇr/c|KkC4YiQ*Aq0;< ~ɲ0ml8aappl=o4޴?dO,^VhoUo?x=/\d^ޝ2U =C{j+Y, 或廚lN7Gh.CAv\R/]PgN<`POї}hkPn\٧t-u8O}ՅډUyL[#O4Mźn2TbQY@fMS 'n U纼fğ>94:>V'PH`PLb=J҉6jS/-i^\<],&ٙdZƸ掣_N8Z'_iߥ Z~GuɆGB;VILT=F\#`Q[,Nү9 ~Dhٽ:C*u.0 o.v#YƇrY:i>v`_Qe ?;ǰ[=;*C.W}ux&|m̥KKlK8u_Wz2i2{i{F>cgL+1v'sF*'c=ԋ6o{l _Knm}GoYȚSvcϹ=ձVpsߖ]7n=B[$5u]!;KgIa @{Q+w-eɭq-п++H9bCvuƄÚ+'dp+p?Bw֬]e|DpqLVrz_߸ރ,ܹ?Pb+zULF1fΏN8 QrAl ^/"9w0&jta:3Ұ,jQ?鈽hV랚7i3zIF{`#}oR '5z]x=6ѧww󇬂ɫ w?r?+&gM,t/:t|pXOoTՉy: Mw_f(CkQOjU㺶mS1ޘ^'2|z *{?kOv-EqLo|*o.oRn_B57KCg"ƀ'3GnSD˳no|*9.v;.jE-ےޮE)% 29u0B~gmj"UcfWUD }yދQ ] x+ܔ/1'/ؓe뵣_"@Kdھ+X{=Ojq{eK$י^Ʊ 7q\3l3lW?`pd3{>Qɘ~p&BP8VPv@ĖYORO(fd/ V|V6.W@kٷnoy5x@*Z F^0V9Fm|  ``GvyŽ:x/A #"9NJAҁl ]M <dѹvcO+Yv]ǫ|ȋkyri:ii%b޹aw;m߻MM2()=9EG"6ѷvbnz /7aبe}._@4LYi63OWl2d &$$$Нjm̴vmj~; eij>}]~_#-S\E_Jq'oJ}1,wq[֞ lsmCEN?:|xeruE R1oRXi3lWL?_^+fKթȓA5<\i=(Z :^TUV=h\U/$5Telv=}KtࠅÒ;DdWG&'禜U+w&v!C|lbʡЖ޾/i86)55eE\'۴a^^Ef^G^5)yHlÖOXY^gS/^465W1e|oKZaYԼAD>p[cOyr-M,'.y㶮6 5"먧oZ^z)@V9kn26^ŷᱛC:3ꪺ5yiAv?ejxlQPj//(Ag 4[u?wQo/˙:SRQ=]ث&t; Yy3)j#}Rb~%EN"[. VYf9=ͅM:Ukm1=z}.~)Z<=l1=wBF{ , &AOw 2[I)%;w~z9ky^2ToyP-ux.Ge+YaE5a+^ogd[ߎqY̝'ss̽fa\}HvݛS1M׺R^M$zةlڙRjk.}3*R*8w~-3Aƍ~əƠi >4?9"m6y\N ݩ2Ԫ¼|ě7U.;4m&O.kA"/Nv෽f[1Wjp:2MӪ;kuFA>Pt5ًn,ތmڪiPp U5ՙ}i'ay5ؑ"\u՟= |UnAX^$T| JeҲ !L_jn9~>Y']MEwFdr9*"Nc +1[(WRE ?(w`3T>pg~&qy7[XҚjehN\cwcڢ7Ē 2hglzB$5{ljll:\|(:ӣ Ϝ(NU&a)ɾ Fo掐[xJ)0nc2դ&‘#,z9՛#"Nt ֻM 7>M/;UG2$|~L4q5Y5 OEvVŕGQsffC(g;S>GIaw}ϺJOubo|qze.O iڣ"X~ړZU_֔z1jmȃ.|Qݢ%MZY-Z:|t=& f;oĜHdPm~ƾ]q.ꮲ AM_ܔ8)hxlԛkY|s*Z@s'jɒ3&Lxϭ93ysPCrI˕7ޥ?9-gN]CeB71쿷NTkUۚ&M6oj G}H^j_N;~mfji43~X^!cΏo s2;#7κ2V))ݛo`&1S0+6O]4]=>KUP}\WWI:Dw%9#Nn.E61r;R6Pϭ_]Ʒ ]zTogQʣ6ӣ/[ 3h? GW#,.[pRۉ=t e8K3*Ԏ F}6T}ֿۏ;߭zuM>C|BXCf!5wb7X^7O YoX>TFb֪sՕpQO禃;_.:j=W6rqa]vyzAҰhC~>>ti+U&ׅjnajْg060 Нct#|cb#8rFlpZ"=Gw>s1WTR*LUgSTⅸҸhJPE-y@A˺G G m m֚V;EZYg/3 =l& nb>{l+fX|dX_IV%B 6ۿE٪O)A4HA׭״&#IJ)z.4u}9'k*zϼ!g k_Zժ7'F~}ran YL9o̱{C̵uxܻ_ d!h|Z9@_bj0dS'-5md yiuJ??o@kH[G I#\?*@*ijnןceK#3_;/ΈB&} cͿ;<)b}T0b:[k<5k/鉁3ӓ#sC]P]5Ι5s bk~O̷Two?77_5uKUjkfY2c=PWvVd w<8Z=Kǿ7|eSFA1l[3?sk;'a xeGo}c)A+iHnWaݏ44c>G?.oTR|.7;x59R5**F6=>r TBԍX5ZR)pj2z%CH5/L.0]٧5nFk~poUz5z|-҉nj`owT C n{X^XFsadi{1J=ظFCض|L9ս]c6E#r#dZ>U>*ܾ[_R6{xQtsqtLׯS>\cM*^9i*zKM^UU3xbhS))n`DGk >8N_L'JjM^o8Z^{d NXYخZFĉc*?RWM)52AkQP񩏒\5O}bmmU.[ζ-_L*j[=jR"Q`usbE\h*ojqt۩ǧG^ѮvkLfٷOuQ+7?kV9=TtYՉήᲖ_/L4fV|jfN{TdSόT +L~f53Z:}[m-Õ3S`UgƻfG[{.c TK>vQn״ZV WNWngvWQW4q[2nb"nX;UBÝ.;꼦u˨n6wy 6<<=ezp{"xzԈL酋"G=uN5xF{/2j226'x[jx[xD{ەy;{;y:q|<4|l||}|}lfP>ܾp HhX2QdnTe ?vߌh2vQ?QIXXbC,&zo$VFu 6uD+w#FB3RnDӕ܁uo4{lxu4P,pC#mcptxYЭuA0`D4!6㋌ ff:C?*.R3;&WkBl /**h1&T\ ʊz7Ƭ|-+3+q<+7;U6Vv]BJ֕ޫWز^zjսVʹoSc]N}gNxN+oFgvsV{ÛB6./68yyߵGOvb~]bKk4qto & XV]{.r5Nb5kgt]C*g_Pоp68ܒFKU4Vb?X,VjCSeo9_P)_gGZ_4CYY3hPKkϟ08Gr}9YD (,f<7bYKG KyĹǞĽmtVMFOO˒zc|o(K- HoS+g7S~})On(׉1Gg.G0WφdrTttVˑ*cM -[p2MTrGe~joqG%ڗҖk[g_d{}kj dgі[#-B=i<,Wv2[溚q|\56FP?7 ;iڸeܷˑ?y}Bb ;N*}{v+Pi~??[l>?=;:iL_,3USXk0O)S67jCEb&^_!6ol,PEaȑ9_OC_y*?ray|>|/ S^ys#/P='31Y_Yk*׶3_sؗE*< bmzB%7#uJ 3!T,j 3`pY(Wi)Wq*h/ EkHzvӂ,Vq| d%💒Ҧy;)E_Sn'_-\P?AO1sdg[OEOxpR02R$Ҧe)GBw'H YBV5"wף[݈ 33c \?s~?@S1x̅}>3,^ Z97DmC,6$n"yhOq_h3ǹ1W+pftS>O+M@T,D9!F@ Yt3n;,?AӣAAmOi _;HCV2SGV%߁ ?]$ǐ_?{?pQB4Y'z. N!J ?$GxG3t2{)7,@V2cJk-7pbnPK} -M$?3LC?% y$-$_!G; :rm^AO 3ؚL$ KtKm#lk%At*73|<5DnMOr?c]fCc$2Q[v ?Ns"? khcn"$ C&?Gkp;쉆Tz@O\;bF|.$gFoE2yw47x\Fkw@OEX>Ҙ!7E:XWM,~x_IOqІhSܐOh5 q3 #📣AbYl'Ac'Y8ьP U8=GgH?<gG]d=lÝ5!?hq5DOLLLpT&d[s6&~,&'6u" ~^JDB7l#; q3]c_Bg1 cαKI|3#O]<djyW$3ʦk#X* ?4o*KG`lHEf_o*F6 K#T$ mLOAVyyv7_V꼬2~Y.otutzFEtmсӲZC<gb3Wd}DgfaimC1fW}ҌdǛ %θGeEfV̵cfgaf^-ֺZbGe/ysjdsVԂ+r;sbrys>}@,6"ygn_K޼7yDy=y+>uBeS~揟ϙ Xy!?OT}.#NlkגqW^[uM>ߪB-ߘKY_d'!-BXZˁ:_bڵZn>o/a__Cs-)NZccQ4r_AS/Uuj|u Usި#It=/fde]\yW(w_&gf?BU7<7ʼn[bC;Qq?y7.5k7o˯40pC /=}R?X5ϲN\,~}q_[nlX^ѳl^5[?]C;w/W'xoTg&f̳[APͳ#C._/uܖ:FkLFw"t*Q?Hk_B/QUxBo,~J g߼=U]d=(j4}׎0g(_m깨]=Xu֏TB ~ه /Z yrE{)/Cqw,0bmo{o]3%K%k\^hjx9Lčs\h3.wٲ_7?-5o6#i/Nb_Q|o[_/\uZo|v/TE*%BM )޲Uu9-]T~) !E_oҞY`KmMDEH޲0Wt.e / ״'W$T5&3gn.23,Pk˄UAsWz9i :q,qz'hvQtb;x}*<3J.s.#~s"sӻ'F7Ɩc.l1 S7+ ?nd} Н [n/mx_SzƉ%7UoquD™6f-hi`\obo,NbYoGE[4tEcVN/u;e~KY7yws&^F^>~f>A~!AѶA6!1q 1I>I项%qW "W&VVJyŵMJ4շ7V6>fǵ u MխOj>Ϻ7ul}';u>Oߵy]=|k}?8з#ccc(jjY?%̓@}Մ?XZ6P&tpC`QitzkHjJ&ki+)4{V͎k~?jYKs_Fw j>w%;\Β_f?'wܙ+#I#ܜg,?taH^//?8ɻw庐+~/Z̗_1Ǭd|̹6^^s$k]zXGK/N%/)id%~{3u}#d{<1өyN\,s?U'[r')s̳/`GHy%+~+q+zgIb׿P C\ݖ\qp%sZUg7^qPxqrg_r"?? z;>Ml8G< OCI"$~Hn4;U߯}/PN4z`!vڍS=\nsYQķՎБ9jԇgJ*Fj޾~MS㷆~س茮. o*y)oo(pYZqڍ6Dbmzӝio,lIJ.m_mlA,WsQxturp[xhZbۺ0Sߚ僢R$Uy }j*qb,DܨDmWj8vf]19x;;ISpW'~ܲh _5ԛ>b47570?F (eWK<v*4]/2[?* :*)bR"䒋)iٷ]VU,[Pp6999Ø[bgmIݚ\8ѫǯ7rXOP`'W) E2!i ^#WX4t<YXoyӠІefp*U>T86 m]z; ~@$c)o%Pw*q2W'gw*O"9ZO2 f'x`K +F`\f~)B` 5tρZRLf( QΖS&lsǧ%\/?o$I&l/6m5puGgMi7CzҗЎsRs{/qV_{e82~N'[4ToI*VIw-bzҙ_nZ=bpҖwM]n̛A}bu5^,++ ;sӗ d?IxCG8['uvTgNߚNS6U},%9JO2TI.?U).6& թ# ?Y jOܬm 88f' isԧjn[Nq SaE￉9O8kt4 L ۏtdS,.&> ׹<,NCyEǝoTǃ=EF{E,[+=kAQByޅ(eTQ֚#l7D馥۞3g\0'Sq6ك7Kp\(ϫCK7L>!=ZV83ыMK=S1;ヒHN3nYi>pVnv_pU2 EҨzgg&6tZҡLeZdX zyzI'J' FJ|{KZs ;?z2JJ,c@`0K` '`( OKb.aT,0y}(Fjݷhhi\P8-m7$ HC::`;iPR'B-x<jMG6rJQ>%k+)$[pbu&&&j˜m/܏[kOCϛwri,*m Kuzae>0flE&c}7b+,> ճɝ{Y#g16SL'meۅ)$e}?Vv8~zjRf-\'E}3<4EpV9jm;h?Ut>ڻwoо+w2 &=-02:miw7[4K-Wy[A嶋+zZO̙g O4߄?ƭ5hv(:S.4ccfbnqG/RXF Cw&»Lph1d|k&6{0_0 ͳƼܪBLblX 1:aӷ$rEA1؄&t0\?Ke.#,rs $/`<'%y+\]a]4cf0ɉ-9,+d, K$'ӎY,BQ NE {;>l3Z 78z]CtV5ӽ2;DmҪz!q[Qgž5KM;1ŋ{{} nwUUƖ~bZ-cFMiշM\?h˖W'hN&S4U:nDmNt=N5xқO{ڧ6@ፙ`bq?ЮxӄzIėx>xZz4V^1>bTRQTյyik+8}|D^g⊮6o>w,ΆNLtKcrf_VZ`eY:avG3bפ;Hw4+c\|UJ}լ9isdgE}WA|R@d%^ɿJ3!VBf!Ƨf5?Q)L+>H ˕ 5/ߐ4vs뛸*-i0"Wao?rd=i̷&ܞ'º &Mj5e^7w\hԝ"7O[>|*oj;uRadž<?}*}&W}Cm<:x~|l!LiHLۈ}TKeZ\Õg%gXFLtH)ۘaI&Ԃ>idg1n1)5kѼ%p@Mzekydg7.|*H1.̓̋~Ho#2ǎ uƎ^cߙ8IW3ZB' ޥT^'lp-7f:B\f&|{ Bx7AUM^H(u+72}odWone_Iw?8Ue 3n/0"~wNaDf*w XF]zIֺս#`e# Jmۙ@*Qq.7".=eP8[w o}hzrȵ|0a%Gs#獄'U.y?emɟހEOBx!Jlnjƫ <2_PfZhB{ou6˯ﺶw2IQ§ɳScnŒgf$2mwfu ;DeӞQ hz*]~V;Tcr%_|>2,]4K,4&%nh8p!ފ[y[]nvJe l:)kz۫oȯnh j%jұVsЩ$`IBΤiW; ܨƠhԕT"8=Be0u5Ul-~3l7)kZ^"W4JgIǷf&"絍<m5wLU -/ώ|q˫x{pY0:m!6U'hJQuMZc}")vg_;L_dԨ2=t}KӘɶWkCurI/Z?V/ɜ[hXk&{nSMY9Wi.e.Ԭsr=U#m'޷5x=T&t bL2?}b$n"̵A'+Бi;CϝG$ G ~T~YmyX;t>Bf"Wo]\3Ixi+Wݳ~SG ǟ@ј: j7y u8cVFt*/e;AjK.'r.'%vkA\u|W4S]VXK|M*./,Yˁ(B|f?Yo!XO:|bj'gpH7wp$B}H?5m$KO( d($Reڪk'sS[1z#™UM]+תpڜ{S֋˻akӜ6%v㳢y7~}y xG=w WMi})~kZk|x0^?6Έ}:k|6rgb˩Qۋ׮V׻j񤯠i:~s*  N>oeڼh czOb}WVXhF D>}S5 gb$}3hgbFz,7<i_x߹ SS<3%eǤ:'ln"۝(ܕ{"Ǔ2eϝZvsnөf#g}:c?T8ʹUktNX+ v3ZN?Vֆ5NM~5#G3/9kܧHA'M31*3xPZژ vL s5[Dk%|^.ZJ)/}x;MEVȵpخi[NN$QipъڏU,rLzʬae"bܔMJK}~֮5jYEs4DN˶Wn6R޾IO&ʼ)N: vU0{\tnx-h[[]G Uu'Q](3q4gQ~T3Oש}D\'h\߹% e7}Iġę Rng1)r IIr[+p'%JOћ*ތFջRkQXAF_}"ٍ~6$8>E߲Z~R-ڻ'替 6{|m̓'iڧ4U͝պEu; ν;'pWB$e~VJ cXcׇ_~PIFHr='3FVm8cYipc5zz+acNĤ6ˍifb+R:8hbᡠ݈_Yr+[DU=6z|Oj6);GTX!>y2JE5s|QGXje=z*_zNN`cz[O8ZnKP*=i{F,^!hXY%BnXzpK0K@Tdq{S"cMZI>=u+_y,C{~_qg@=VZ3o_>754Dx0~i{xYKm}!™VrZc;e_}-]ai.:w?%wb*m-dd(^yꦓUjҫW_C_U[]trvxM1癡} g^o\~!%(Na[UlVcmAS+?10bxݾ+FW}D׫ªEЩG[w[@.hٸ⣾sLH8:uBEOݱj l:C$.Nr&˙,gr&˙,gr&9CS\ \iߥӖƐ/ҒsǑ%@Q-LJyO_9Iuj/t< ya9odxKI?|\ EPk ϐ3kLnLZ«y jzjjbgW̲wkDiyW^G~W؇_E=8!L$_g^9?~\|3)~4sGB/|N\ω~/7>7j?ẁY3I!9+zbgŕ?ߴ;qП?w0gRjK~ftүo1?^͛zc[n[P䷍}e:=r<=1P+>H sC J)U7sjg} 5#֍7ϲG`,l"GP+L+^69_^wpmtca?UpӼ??K#GK.,F#]K`o?S?؏?NfJx(nCof*)ҥ>sIIiӗ_ /l51M9P?h?|[Ȭ5Ӯ ?Zʛ/-,/խs?kxxaYfoK okoh xi<3P'|QdnTW$asϪEe4D#M@{t@g/Y;;!N!b+ ?3϶|7n aepax0LLly֎0<B5چ+Ą++uDظ?mFLVyĉ+Be"FDi2ie.eemeeW4&eyا<ڿ#:p,:'&T&&\3&6&:&&<&#&q,&'3+:U366JLlvylNGlXlO\Lb۸qUcq<5+݈5q< dh&$5 V6 K#ĦVmLO{Y^n{.+^VyYeo!#ZvZ'Χ3 3/o#_^w-C@ް6Im <9Lyp`!}&#.?=p%K͏~8© rSφlR^ h{JggВ#l*;Yj3R> ѭbosM&`큗c)d'#lCvvЇHυ'yz %Ϯ~zɓ ?7.6ѡ|0?X=+Xy[ęW27_ʯi?UþUS I4rcҭGֹk_YcZE" }3lŠof2?5;`A;hb3 QhVg bVPX + ?D9 c6ĐT ? u1y\MtI:Л쁠ۙ}.j_|v =+!vP~s~bM:f&~N9}%;ѕMwgD>zOyEo?嗪>V7_K4*LIaS#UK' tj0.{y|%wΪO_*+?ܯ;My ldvKlf\si*q2+]ϫsc?jIAXz[h&W'$ ;hEr#[ܺOKCRʪVOշLjniզeXH8dl:P` ؼE-ۋf|)/ӡ?o׿y.}*9۞hfڶ}T>RC| lꭼQz:9/%7orct͊T^TJSvL K~tejD܆yzMP#]x{f[۷5~W}%?5V|0Z꾩4Z54Lɻo=84}Ռ|:7xxp֥RlxMkPL]]ՕnloP=GwǶ0֥h)t"MZ~GpB %BqzT?^oښ? =Zb=QZyBOo]~:|W ] ƒ5V6D=<tD#Hp}r%a|ײ;Pnunω(Юc{tBp!{ Ťz S<(6Mj#_Ly5n'KS]̳NLNM"ݒ_B^8ks~ oP \0UdFO2K`j{aޖ]z q_3*dSsV|/" _{RFF뺐o|7^}LաJK 3z(ƒ=:=Y XO`7FI`Hra&'Y`j}0_,HFjpcƙ}.r$0<XmvoL7`jI/s acݢCOC"0¦7~ _ڼ?6O^8-&e2aėLqH`XJ->9p˔,0(K`BYөI]4 %Znlϓfh̝OC ,B.j4r  sN3W| V'0 !C}+0d bKA{V \Lqgu$0f$P}JΕHFN^8=+0D3f)[R`xVql|a!KI*E`Ud0#Y`>W`h|uP=3"r0GZt> 5tV^X7W^8}"aM%^wT[MRJ 7\0[iI{w6daR"0lkW͓ޗℹBT? _٧PV"2" >U`OwC~s,oLyI7oP\e?TBCc&/& T+&0lUYR`2RuO`s0cf!]9¬]9 SWI1Ma&04L&,4%Cz Q=,e +7F]i5Tسf` u̮/9oh)1}!@[F wsCcKT<z~.28GژV]Dk813a%aH hW{'$|B²,$zćRTqP` 'a=2>󖗚į;ses+z*=LQIQgBb?ovrpJY}/ zz$~^ueVqpqr(4HIC-X\jҎE*!J?"IiR#`36j mPPڈ=ttHz=98t-"`TT0*.i1*qh!B>XtB|TיŨh)hI~r'wXOMECCCFMKCKEB+F:ԣ]AC-~t?6/]+jR'RC zzMacYezӘsS44҅ B BrTR81Ԟ!fi E>p DCHQݦ_@#e-R]"YkhYXi1Hjbo ^*$k%M)Q˝ZR4,t5(ZZn&eâbItS¤a[a0uX98h^TR8H} T$r8\ZG68Vpul딩ihӉMۉm-SMzѳѱRщ̞M (jgN.v.N@IWLJ<4<])5NuJp ~]z~!A'C?.*Z6.6!p$qHAr4ZTBxIr2B+ǔddց #t Hgp<Jb%7JFq%;<ɷV@qq!F̰Ié4',LOGyL,\L,p8  IKn )BW)MA+D uQi!xZ44,+p6GAPzG1$FeeYBC ?P@‘p55rd:XܳVmƙlᇙ5"~|kD׬ϭì#pH`V 33rqrsSow4Cplh**:li+ uSqҲ1qfcz pHC!@Fʋ) \, ̬L, +ٸxWbs&L/Ib JIK m5+;=#5h …`1e_s P Gv.(2y|"U,)g xvhj.fFP14,+YY99W30Ӯ^s;/ss""toh#gIсoO>, FPSg#hiI1z(=ˣ g.x  PQ1 40ZrLӃqWP$$$$$Ӏ#19 `Ƽ8Dmq )a]%냄Olv?()LC_bxI)b[u✩6~ 1 ?PD_`)v9v: ZZ]h~Qqcwٍ>-!&!.Gohii&+.~%Kbgӳš!q>?% cbm籠@ADcK]}]K]}&準Ӷzʦ&[ަ۪opF>ҮцDuEmKc8~J43zh+sfƔh] =m2x@"}ʙ( uYѳFfKOD R3\olm_P$) 0c((K`Ť%ђi1,'ň$ h0b+Z^EN ¡%@Wg81ee$RTDɏ-Aq Ez)? d /F;Ĺi0ζ ĖpX,Z*(@I!2!L\nD7<ؑRnPXKo( F2E)`rU)I@C4IHJΦ%JN1I0 \$ʉ@GC jCQ h_IKAe!xVCHڒoD30]Q)Po(- nDGɕ+嘜+%SJvؤ;sb1)~P(!dH@S _f z)JKHtDIK 2p$2%#H%Ih2)($|\ܒ/"7M 'i5C-Ic.B/hIi!)KAEg뢤K)94/4hR`1PNJER Z7["5C0AƋ@g D.EBC%eH|0"*TcT(/fjܠRU% U4G]TMJ_Ek%!r@-bC ]A'T.ZBî$( ށ._ pMQ<8,DFRE,LG.b I.%%@DXIH$e$ r h#Ye%8x7؀6, 6i  >F  %<^Px.b!C=AbP8 "q,*A1y*8EqPWH[II>XIC_~"p xU M: 4 RKIXHb ^{44AC]'' RUFaJI7(%R`#! ŐNZ " Dm*xo?4) DqzҾ 2$ !8TR`$-c M9 =V<ҠYˢ`Oj.HD|@^=׈&3K4$@UIF) 0JAc$1iB!An@GCv i _X26"H'>KB ' u3h!JKk $#o #< 5n0HB4$ `I4bChGC8NpZ_ a_R`8 0NOJ` BrC$8J&RKB M<]AuhEz7QJP$6 k ݒ-*&8BS[|$ 1vI 5cZ 4Շ\ @ѡ~ivDIm :$AtIf+D.c4@RJ /r$'u2uynI| KJBk2Y׽( I3$82O:#p{Y2A~$I嶊[!n9K2 ,! ᅥeۚeۚeۚeۚeۚeۚeۚeۚeۚeۚeۚeۚeۚeۚeۚeۚeۚ%P3wZRp޽G`,9W6/^k^4OHB!8nX pC";d& p 5<B!?pC 0DVcVHƬBt@vH a,023F X/28ɍF棃V0C$:b%?\R)a+ aay%*q.eJJ ڃǐ6 m$ HA<6h#mvf 1˜R>LN %$ Bw:74;a1RF՜,~E]w//CMN-1Bfd1qt(Jeb-qd?i \D/7E@}aF1AG$^(mXhj*)EgbՄ qS ؏s~M|PHo_?_B~/ ? k5J ! ?<G1&(<<" t8It w w #]]ܽ\(5ݢA g FDxzAG~d OyDb2P#a!H=+GT@ C/Ag@z o/5}^@Z5kb .^^>X9qQn`4r'@.$>^Â(b( h\Do(x1Ej$>#P mˇ"ږ/ 35 0ܷR*_l_eU'8%">{:ttq":[g xHF$f A億 z6%F+9^vnNnNDGsKK[GGgwwo41HD#"]BB/ Qe>_dOpdfs)^ 11.Q.aa^cDGF_DDdhh(QQ18bw[{sC8Xryb-iC{%KWhy1Ruk6IDA0???_?yB/]:jFW'WWg'woG6!))5KK, %&e^9(SL$">ON|[pFS8IQ9Z!c[g[C7a;_xE{ygpOG___:Zwٴr==ԩ<>u=x?E̦.mԿO~\~}w/""!!#C@@\\^^]]_5訇ӷ_򏵱̴$Drޱ:bcщSbp2֠ٽ?A48?y"DsM_̿'n'wSU#aCi!ORV yX 6W+֗ "rw,9vM,,,L7T)W2wTUCk|7Kgu64Zq׸i:_ʤQoZM;+HӶ4nɪ0#R1[Ȟ`֟eř HeQ#hBgv{Z\>C=%*ŕBs-98eTK%O!]WVZby%#Pz C[$K2hң4M2 I^ॄ&9[J# #QR*ph"D/0rberU^<)Sgg' ;`KAʊUNx,$O0=H`Jm63jJ& FغaBRF&Uf J0[8Bct "azr. 0 -gQ-%Jܧ )F7]KHl7z5^X,Jf.KH{n<TÈ༵f@saկg7tG#Xp>[i9[k̟y>41r<ܿgՙ uwр[)Ib=vd@M]H64v:v"Iu$L;L5g8 %Hz g/, tcbf_lϦK*L悲@C̻?p g%q!@, ,EQCv?$럿( MgD]IA-c23[G5ou)4,1>Q8|}7l'{* &H 8$iDřWEmݧceӣϿo>Ky\'swHzE<')ǬSY/ /03m`S0=@=Ě:[|LK/~[[]m߳$ٱ%(! D Ѹ* -W # Υ@|Xv+C;@ Ke3]8ف 5C oh.I=DvE:܋QK>j)xc%( Z&!DZE'08ۍx+N$r8ߒ<1rWjˉ-0)I}@Hm^i wY(~'R |qu#svW}n-Ǎhv#qr4S.OetXs7^HnWg[C, ٖ_BYz[H[sDo8 uyWjmAݬ+k5==g gJښ3@)1<> ]/qR/D׭ rǿώ3ӈO۝M)tN$j@5oQ5 ^6܌JrBڙr e TrqB<W/B05яj(PGyp"'?wRxdl|o@s:^PRFtĶCqʛHՠ~ve$tc{zBݚOLZzoȣ|AO@2E;l,P p 2O0[a|T\ vߞ rl/8'φ|9"fwO!l :5_Ҩ! ƃ6 6n8zgtxVz3A+u5_Ct?ƚ^}>+<,b%F$9D7 vGDׂB̒Ѵbf2Ƙ$7?Έ!_lǼ&jtPS_?A\!!aM ޘoyCX_ a ]P{ .X\P =Lij~:Kuh lP11;>M}el7OnzX1C/`dkvםˮE&"~ovmyяZ]٫~'(ɥGb?O6ĦuZyY^ r't. n,Bk͋MHN Rкm0?xfЪ/usޘċFn4}\'\ <:LB fqKu/xu<]9jwmeoSv HYp"7׮ZX4E"frEJx@o>)4 1o|>s;! PѤ;3phdQP'<'?#~"r%'-GΣ@ѩ:9L/M*3Fm"QC*?n&)q@m{02" 4ٻr9I4q?SWV*~AgO+vx[ziP^ hz̈́N=vˁO=%@ʄ]jUՆYl um9xiMdy-?i@N(ԛoe+K2"rz#pJ)JI6% Ś: y~ //|h՞2 IĠ6#HCr\qu DlXs=d&]OR_QԾ>'ߐy?0V!@iq9]zo|J'}ΑAD\!f/02P4Do21a2Q_}Vߊ߬yTI z6;PHi˔ħDsf`.>tCRܷzBV=!CAy !4inA3gҀiW۲S]]@ܘ7ۡ{`-Qրλt(h[2!J%oSh|.kVn/Dz)ͿP6ia,tm#؛wM[ǔe"Ɇ3u(W`S_XVr2˥w>U ('rw0=\k?y;'Y<21V(te#XnI&4;&ҿەTp(cwkojA1+!,5 lmxvXGP0ϧPi%)k&MkN =fW{Sd  ruƥ躤+D^#mͶOv'D*.\4_И8{v1̸0Ŏ9e4k 1.rjyl8{X^ QJX&z@#c1Ps{Kgg.ȐPaAu^ףӏ_lyoDnS=C7]̦Pb0ÙuA;@7^-`jQf@? ?;3tk_`3C5PH 9HF;nBB%tcfP\SRnnc6=#%H1T3!C{$v$#B?= 'oaATGb7O#ףY;(gz, "ᇉ\: #ъN'S/ePj4B|F'%; tYðc{d%Lr48 eUǜ"b㍟w< K# sZknBzfb`zdxӟޮ h`5HsFaq퇑`*/r*8#YF< RWNx ^eN5ym1a<.G~vOA(lJkJ?rVxP}(%<\G%w~FsZ@F| Wh2Q+kxiK"r a嶠H yrƉYF{t3f_ڦT('s}Y. wF7^Fky/d mY#ȄV;*Q')\B0/N>SBG3ʑO];I(]o19@ncRx okGr!@e R'(fвxR[gR A$-: tEխ\Q"kx GY@.j&d{5E[].8=HwE&x\Va 6-I]g!4rMt7|7R3brpbK]Us0/olKpIXRV|CK_œ7 ߇jQB|8e? [N 5]3X/{xlt ltkQąTQ3K ٫iHc.zj7C@媎<  f< b]Я+|;fdҕ KjܵRp(qz]8 ЫRJ@_ڍF~d@Wuܐx "ZH Q !' VI$x+v^O=mnj '8ste%=ޒߣQ_;LFE d6.\=;ȕ{>-bוq8:e'HSM皺^^dAI{IY 9\䔾m~0IVzkߓgzC૒ɒʀ8ͽ5^4+߇ߖ"ڴX-bqE<9EYD#_U٨:Z E?Cs^=dkcZ']D3r@T/ }?{H(?.lp-iQ"uUM~FLax+;,aۯDDu؟)=w2"W4=|ٿwjVnYBT U8xtTw) Ҿz'𳺁(-E<=s~OG{gN6A<!؉-َv\/KUk+]@26+E^*h` ,Okn;Q<} 1_-̾Q2{vp#o4@=`ě_^?aǔBkƀD h{,]jE "3Fh#žٗ7gVw!9"2QEiVNz G8o+?i[@KJzD5l T^X'P%>!ֶׁ-sj4wxLm>9_GH55!6y9 DnFf{8%W`ͪyn T|s/$ɮ*g>溩xS\ϲٗru!˵UZ셳"OI5oHiq(~=Pz#vfx)]Ǣo5l~Էc ǂBҩ޵.<Ӟ󏡙g;Z 4"ai9,(Mwi]RެՀ[Y|pv>f7@Ds ,)y>vj>N\~x6I q5moJG`),h3xGA%`w"H2=Y'"Ë(Jɰ|/L;F/ԥȜsH,ӳ+*]۸DINƀ]h,E#=+ pfCG!4+$cBè*5 у@ą·`|D˽+=o<}>V9Q0I;S`_dQ Y$)`t' KڽqN s#*jpX8Z>PG eىVKwr+;뜂h7BJQ#zA_{Xq-CP[KT#Y)oj#@c>j:MF+SR>FF|瘲>ZڞzQ|1S6.ڇ5;>hhKüգQh} d|DsՖNԽ!_Q1 ;NVO^qi84*'4H!hF(L\e}c~Hp_@S"3lnrLwBnw"%]әF.،"[Ü(PݖVCnJhN xߩM HL2- //+AE`VrFԘGJtNsI`K>J"v &[F)%P&gEhжæKIhd=tDf"’Jț̷ݦL3C)*Is_lȏ0 -rJ(4iL+|=\ 61w3o#2DD Q5ѳAt‘DS` d<Ef<kNAOtl.8tWl{ȻɰqC햀P+URtIx12]nvAdG[/s%J@Aw k-OiҍZ5ntP-VnA1YED0ݗV+ vk4@5kKD\ih\둂) Pm/D#`w5ߵd낰' kL (SK4jh \Ù#97QK?y6֜Tg8vCmB$c"2a gR3rٓ76I_|rޤxR+׊gX!'Dv]\#@mKAu ;.w*RElEȕ l`oE 9GݝJt /|cS' kGV-~?|'v|f?k3\ \BB,ooaSo%j; 5mHWutJ{jف24hj   .g/ʬ|S*`O㞔}GebnQI18M(煀OHqL&HMc>&ի( 쀈lt# *EdjU7XaM|ߓљׇ}Ytj|% lH|'k@6ߤn=/ճqt0V>ᅘ_] T` uӴC`ofB:` 6!\oq XWJaIIڽtXԛ ..Vdu{-HU>_/ nO dPtα&d:~ňK6Gtޟ4HM1 5bb{FH3E+) { _bD"Ap :3㱹 9) n͇a>jA(rNzZ}?ЬK0Hu!QȋG\ {t@?WXqYqhF*#oGwP-">F~0cV{ku1wH`:72<~T 756dT|V܂L0}?؄{(4b, bVZ&LAVdx?kޣl5oMٶͰc5{vL]Kck aEW'\uL__UG(vvlѮm To-zs2[oKTÁHr@;Yb'J~6}J'm   ;L*3,0߁3#V#r]cЦ@u!9ms:SX%WHIa2*`nc5-ڌ=}PʪgWl)$b9UMgh?_ i=gqtEѬKR0r& ;WVl3}ɵJʾjmco>,۳vg|ªh9S=jNΐBi=Br "&U_R<)Ol io.:5PhEU^3x]%ի%\$;|Kd Hd0R/puVN8;Xncx `WAØ-fEjN,PQڢ6,ӹ*YuׁW$qYCid@ܧzP}-GAxks$.JP>Q x6cݵb!'b'T ˥="lҰ?&J-R\X[:ty=cuM$@*;_X>D?W>jCOxL-Ze4+د50[Qް&Bc')&;k;Vۋ8lzTTcunZ[IZՍ+hFS-1ͧS{ͧ|9ᗽC&7H父vo<s8d*nv#xȟĄ;1|<1@;c)B:!i4q4Jeؓp!rv,ׁ+ᜈ2 wS T?"ĭ<@ptcd'V;vc4zQ At3V({k -R  sV4SZdvǽGޙcm `kIrՁxV<%s;Ro($/k x&ɝq{T{>o1mK #{h-Zt}>VE] Uk/| 'k_yӧj6P/٬'`\(&Bo-/mzwx}A^j5r(chOB.UW,*@ۦl"oPh$nkM7nJYVjjͷi%-҈ q#Q}%x+wks[A[]W~@0k:hs#3cc|\'\T-X8]E{^uz)tT/]o )⹙S(^ X%DjzN>Y6U ́?oz,̉pBlMR^]%龌8@1NjwuXpO@I|`b#} O'G 5m'Aq-z۸? * j1gUL_ 7 j[AC¹u! hno]WrDDL@ㄹ}}?Zs)0[|881 l?o+{}7 |4@y?!թn9zú >O=WhEn@ `SҠg%陙IA:,؞l'󼡧%Y[ $+E:DS!Œa#=pYE'oqϳ-W}}bxx=C+(1 -Q_}fٸ\_9MoM9%m¹S'qZ1uLĀ&i]Zt~ӯ ``!rh;[?颁 šn/ #k:qYG/&ij~ S)ޥW1gWf]Q#kF:菅׋V 'J (B=nk+(:)864;_kzSW(QGczH/]%M&N!V2r͂4\猣u1g. `HE~#ΩSYc |pZ 7"}ib2"V JIl2zk`UO("yЋ# T),{BnޑMծW4F$\|W 0 g^cٟrvLKK؃A!WZ*]> BlHjüovuPZd (yCb!ye.+MPY$B, k!}DgWJUMItt] {B˄ gIS\iJ}N'L71Ad2,rg4Q|NWBʆ2Dv'xY85(i O kA&jD47zɓaa.H׾5sUoBQD<֯uvx7à~KoK"-[̻+G pE15iH8Le,C5]a4'^w^:`e~H%b~Nuqhf׈!w2M6:΍Ȋ6Zn\$vLhQ/Z~=Ɉ pF.5R.E0%+lCT/00+ح.|M%%ǔߤȏm+J~CڬZv಼0,7G*tFPVa)>E2ZzJDX/3$qΐwZ]H7Yn)QNքYa^Yd.$n0]v!ߺj^p2 ?g0x)ró!z=qX҃`Cۉ5h-2KcGR? /Y)$24`]Tn5>m*mۙ[**^.z8/bd4mljފ~kkAB%Vh휻g9f̷?Ω3,N/""P"׸b/;j?vI|cE"uA͗uM/^tzXZdYDcX8VVyl'hDΰjر+]qiUxLyH0AD$|g*@L^97Im&jNFTX4IN ~+LZ),OzFN?{9L7jAS:b4A%Y$B4  ^KI39SM3"%NaCk9nfT zcٿTPW ^7ӕ]=@4D+{Fd/°q;R/b[;F#]h[R;giUziblrWJ=X\P ,FXtDL>hCn, _uA\7U fs` N9m"1 mٛ$_!:#3 ̀a4HMmV 7эdZ#wEeN^S~\NS]HQ;&Ii^2'x[`n%Ȗeηܝ# EVNqI /"oeFZҽweXRɘYq27[!|Oa/:VӾp)Y Wf}9z; 2=^"+1#wf Fy~wo_2Wʤ~yNG½_f;$cU|NV×l9p #I:)AɌzx#2F?.JYO~\,P.hn25T$SWSp%ɉ^6-ɔY ni#V;).ٌ๚P:u?h/"dc Yǧi3J(?@|-le8I#ዲM ȡ&#qy@R5k2{l/"Z zL?3̪+s([4C`^ mGvAu_C hcb=ۥ}ӈr4O@St`v@x|A8 ,’Uk@@J;#^)̷QA?o˴U3ϳ3-jNEhG#aǞ~9֟9;wq8[ ~\hU`7Af_$"8x lh٠&)OȮdNJp Ӹ`l*9-bQoz6NJF [F5ɆXk[d8rXP⒳ђg0 x&?N]Uw}Ԗ}9n- x1͢JspB|[x _ḙm*M].!T7S]7!kzV*?) upԇppR GgVT7Y5U)qc`z9j+H1qRUC6\a7D%u5 ҽѤլbCV+kE)p%[KvJ϶PUc ?'c:Όg3K-YJ^O{k+$o`1dkO/mUδtui#@[sEˈ˫ ;I7+D*$JsD95eMR(={g9$ٵoP#g> }nB> |j^Rׂ;hNK$uΆ תkޙ hѶ#d;e8EdjGlvR5/PuN >&ʃFƪk:8( S3Q `^RR">SY6%p( Ѓh @jwhjHr\m=8V-zog=0*2e14Ed&TmT[Ry-ِoX/eVMoj3g#"*2&Oy #`&9 TNcbT[dyK *EJQv. =3Wt?`L[~AbJљ!dzg x:ۯ <0N]I=w-Fd~@P;ywPoE`lAa& As@iMEzV$4 J!QGEZ4SVL8`cE Ms\<+}e9Vr%*@פE+ޛrꀥ LEkMg:j;)9b<4f3ȓJIR2] hkZB#[TxQpZ0.lV" 22tbFibH@壐^ 3depZ%"'(}N@3dfcWԠІ 3XoaA+O.v? dOO/s/X2HOL M<'L *.2u{p046u!425%#&4%Vgeu6r2US162!#-ŐΙۃ_r'_Xk4dL 9Xh  #37+7;"9q+{}[8p30ӻ;30qqq102303}ss1s&7 "N.vٻ[lX;TMaDH(+?vvQ25?O`ʠdldpf$0;p 3;[-F[=3#ſ0rK}/w 7 '( 0 +ǿښڹ/Dޖ_m˿ywy3_E}w>};}q;f_h-_WW0);H"`E=a?Y?cFww2,dhz`eSwZR3{O8umg{gOL|v1_~uP?һ6u~vwUzR8:ݱg2ՙ vy8|}!gP0䩛>K߼YM9g3iZKŲ p. %{FL׭6 G~x&}Q%P4̝a۟u>77}Ʊu6lk`<󧾃?|5y;P!c5yN1H{¢?|Q5 eR4t}˚| ا.䈃 ftWgշLJTClum(%G$_ #d&1kXB~-yJ8mH({ʄY2BDT+rά;x:=I5` @R6 <, ն9OiއBuw!Ku&Jɏ$+5fMN"Ƚ#lD撢>._68kwL.?"sm Dx"_a쀠!K@n+/+bJ/~F]oBm JxV|6)He@_ء.Z t͘VP,U׀~a"g2%';9[Л1=Mxv+5$&},s͎&y%׽ʔ-ODU4r% |/]|m,34 )[J >3Aj2xCWo5%frg聍}GP_bsA)oOVUk:XZ98}61J;UybXڢn+PS" &,]s L+8T{7d5-\E b.iOOt֧S+TULhD8͘Μp1bʽu8p:}U_zv[Yݱclrⷔfb c+bېA;طn q1Ĕ70!9rgj'nso^sz,{욚m9~ؾyrT,mη2z=a6zY @`i'9#[mB|TJA: qMa3k4DR$W;ƭg6&+gL &O.L踟虫NmQvmAw UF]#pA8Ǧ"J<&ytM+lm}ח6nUm*zq\7npPo#V+2s*+uټ@',-Fn 8Zh7 <!X KgPeb#3y_+XelTUq Ě)P A֑$J%TE/$ׅx g !_ݕ;PB-`c8^b^٩x4a(O'+P! P+:o:E`ʽH Ob̘vӵ/{PU װ;edpOc]U8z:DIThʜvbSz[_C]Jۻa,♒V-Nq~O_ 62Sϓ!5-u}x%~F]85>Vj]:>"tRK@ODMddXfE-/Su<-w ZG|Hu?WR~9j%"__8ԐP.p}Q/-7 ϑ≺ ek:3]TX,"@5 [a֕9X]:/Ť^^mv tU+hI"?P Kkh3s6!gsxt0?\q^y_KfBztcLad1av~aAEԵ?Dp^T)!2~_k6|>k*u*58G6[1I`Ԅ{m\tMu?AES1^##cY(V G1 I wW\yb"CN:y_}WGk9rDm2+ޙ9;J9 wV)W|;}KzkEhBt}J|;Vlk>|l}亊Fc*#ysm[Q`ڧYRD75Vsr!x`@3բr7OXzmټ|Mu!s94Nw-A?Hg|&%` #瞍+"?,C+'0n=>`ȥaW.|MR ݧ%>Pt4D8myA薼*+i4 3{h٧v4)锊߳^ZdkDiy $ސO%#'&Fx bc\~X?n֦#_'cFo GaB\M~+8k+ s +ܧFZvMkzRpQ:.)Q@t^y7R5N񶢕wCB?H$!?*jۗݫjtZDz#ٯN&6hA&64cSnД ڵ<ehҞQvl08J:+ Ϛ!3"`9L֭eh%4bP꟬ 9&~o@|}Dxe8%HFڎV 7,[rf(ത=c-@lϷMufEU+Pcz<$m9-XV n !^Q9?HC.2‹2fgl>}}tC>R$+8H]_dTx Xu %F䕛(Gsdɂ UҩE+جG?AkJ>uS!c;`mv=udnee^*%zǫ8sT ƌxXLl=8سJ@Ao}UP-/_5S:/V}4AE]@7Y-|~[>S_x GI ;Y$ FMEMjC͘_2(j %3L@>jq_}au&TmO\zv !-Њ3Aun|= b&Lt{?g$I2* eE\pΐ\qB!|Yix'B%pn]^z3i@ !M2KPM>kbB3Dh"X4esF,oF ]kŒr|zV3Z3paYJ'_!]- :ZLU\ }heS֔JJ#2 T'Sj2}W ʊ.R7".S<d?Os+R<NM~-BG:6{'Gt>\?uJ\b`V\[;#bs*R9j3A˞f;c9zG,*TNIvH({oa,5d`Z9FQ>j:iU,w[Wm~N9ʐΑt\Eh'r5M6]tv;vyMڒդw @<̔#Mj f&%_&s@DfP-kjA8oG:Է 妱l[%ܳ LXtU*IK#Ge_3~&E@ ǯ`U; HV6Qx3RҝFGqT=#Uδ_A_YWGqNpKFo&q=]Pq+L>~Qg~\V:oN ;Ct=4%9Xz;U-q+`+$p'rb'] o|c$QTaߠ԰ÂVug*qVk p+nҨu-0-IRN(O4[ bMT _Y[ƟUc2dOk0Sq Z 4EmID~MÌbF4FIocc1XqP5ª3Um,lTtLl#TK]Ɖ6BdziF0r"kjt=Fy0htE ~Jx5&tah_szv̫t 3z;>50Y `FMqqZ`AT;d6>0i6\\xDBx c@Ci`^ p -T$6 WޭJΟ{p*b j?(*Hێt- +Ay& RF֖ !l7Fë:2b_<"\f^7g¥%hrl:6V!Mo)\ڷaԍ[:/cPdQk*vpUOO-;z1l5L CjfxN}Z``(O%l>xҕ(PN5%H#c}G2`zd: Wщh~:”b VB,lhڜ^HW_6A-B6Q0I|Ǵgx"ia3̯S˹'R$kK|ȞY,דK3 "!lļ&.`2exL&O 8"G J4zKE2 UR2K4K9Oa,ey<ղX)Y8o. /уY,uЀ՗t_3A}_b ŎnZnn߹e|D9+gQ7qLO%^i*"y:縰 (rHzDҐ?~.t6Py!EB=&F]rJB%\q+zK"Bv߽}T̈́DM#Qp܁C-Jӡؔr@ N$n;l /p47$N94;{pTF e F+ έTI?ek[]&m"R Xy(3E~^ 0Ja)C'Ak÷Eopl+&nz=& GCMz_էZԄˮ]-^YS*m|{иE.r^sD^3OcyD+j=ōeGMMJ ? 3 7H0XHi#xagEHI$ w+eP!-O:tF$!ZndCjjFTB P?<ߛhnIC}KhYM`&$И{*Cƭ,=Sσ z:Q $Yy/bcl9<6+>Z foPӅ"-Z~lbϷE2Kꏱcy4$tj9J,zB+nTjf|)tYITgi  GVH,8,Ny<%/P]?W*Oq 'ʑ+o'xeJ⨸v~_Vunڳwz~n>Y[{a{>bqx{4s76tLѧ>U2 "r[<ϩ>+<5GxICIاC)YLb&pG>zSt5Y%+;uNT/Xqhz:&LAh nda@a;S̐! !"&xW_O4hR.*@4-ŵ-fM:JA ( <٦>YƠA'%dsW ם K0oV=~ 'K7iX,+bH4χiFOQI$bk.p*׾ r[ MTUR i5%Ar>x:쨢 x4~N;wR(0WO]wc +'!#n0dnh!ɴR$W/݅ y0Eb &Q;^tr2DdE j$qɔcJ1:ր`OcTPYT`,_HHvzG+[ʜtzw?$."Fasfe@^> b)YC,z]]Kt#e U:>L^v#a<Ԋŀ{jr'U?ְ#I68K]='{Bܡ#̑Yo0".WZ = k?pN =?,N3XG"rU_~oe-ݚ v]IJMX N>r ,sAgҿ^556ԭ(] .K)ZL32}M3 9N|p>|Gl dTuoMLp+Q+B %2P\Iх^[8>٩v \@=Ģu-^t*ߐO[tV f:+0oSF_Ÿp}:d[KXS+>2^ ̵y B؏t̺ة\^~HH@͏ XvjQ $BEԒtX$B 9ƬNq 9~E_)u;;xv^}P2RWiIF>7,Ww:c5S %38` tueuNckc Ga.{k/F'gRCGXdX=RUD#PÄX(.^Y L&j -(x93۸W*@|c)Yra0L m|![7 :KP]04EK콿q jIZFH-sx,^g ay Erdvrϓr#]X_OyDʸMC9ܽP|vQ |eA~4)}q0#N@!X|ؕP#yzMH\38Ӛwwa7kO_Z&ɃIƣuAY= FhZN 'MK&m  FPw+P ^m,-ވ4~ojap &~D3[pRlb짤R5N ,L{ u/ {2T¯81 q礯77uA7k PI[gR+ش%ȊtE>g_܏OkX\5F1O!oR`ks22@%@"UJj\I@!y:(+s'[iBT'TC܊p8/aӯAfep6 気^WNbM./$tm|[>!B.V~6)xdM-cQʰn}5_j4v/>y XV5&3dfD,C4{Jg OzpJ*FHGE&@!OΛ!wF m@Q Tך>Ȑ?' FЅq7\Vh[;yg{AUPBB&G;)r-ol_|wSSHZZy XK tS%ץ6ė K5Ց+¬`dƶWKҊ7KNN.[?IQ!{#yӒ?|ѹóg&"?9Zv*?_Z?翷\c?oj/םz,o1ZԘ?MށyJ8MpqғJI-% $6,%‰&A3;gA!0!FCo;E5ZT=(@h@]%«n쿝f&fhNj4!mAn{@xU60I[ KkȎwz@|i?|ә<!0n m좸ͧieSR!( kx߉(.y6-ib'JtE84?A[{`j@-­C~0$nKuڳF|!( /Kt^7y~7Ε&"Gs¯ !Ҁ{9x>Z۟/dN0oˍz[Wgj'c)A3^, m~bl*D?!\8y65UQGjQ'gQ%uQ37jnCܱmLm8>`A|($t+L]Bxmؠ&ZieD:A#n>٤G뼓tӼRu=5NLWE%Baхpa'`b#b4؉\M>kGX (G |K1݉,OtV;4} 4[\!df/IPJ"nBNn e!,*WCXPS|1ZpDdLOMs8$Gkk/[`>Su܇䂻 K)oA>jBC> ׀pZ k}=agdqZ`|:  k2Zl.;?_+ ՐQ3/QJ(܄I[a_zBjkH@oPՕA~7c>vbUt.O"6к8]^=7Oha `;z DJ&b"!$4{A 6,(6DbC)* ,H;>9$g֬Yfj3_2C֛Ο7mL<_yݥq aG<uaK 5E;]6oVyYxzb1$kvW)zd{R=1kj)f9SnX-ݹah]ۯ}rcH'ae姏4n}]%+)oUޫ%5Gc*Ŕ\:hzY{t]7ma!O^y- !Z#e<&MR3dVFm3d8Z.;v$]80d$eg|{1RgF/(Z7<3aZLg6Ə2Kî5DlJY71ک /]d[f VcX[\'SS[$3v?7`]a6˩Ƒ][<̔aeׅ4m{$jC_/l=vňs4Le3wFJd+; l}1b¦]WL \rHn'3ܝ9=toY$J.i2o}mm;wBl/I7 -kva{uڛ4w\U1SgHfc鴲C#ki_Il۱[/,EE/ WcYcr[=~M`tϣ[\:`/gqdK=M ӝ~L2p $0F>y6O.c+.=w;n[Ncfo/)`j vV/'j/-%]6hnUGC  yAǦp8;f7vEUG׎m獴Xew[mԌy]0[B:uqKr2h9#>k\%^֝C .ڷ[>˫ԬNMf=#G50+=b _|xY̠UiKmg]Id}c3>|Rڻf-WI?*gslKgș_Bel•_~Z"oẋ[qe#A=^q۫7Rv׷,WkKӘrEZUz%˪VozٹEg.S+(tKr,,hz\L,+۽^|[g6xb.Hڑz4B3(@jJU% Kwo|R2h}򇤱߫ެXG*r층J~gx@&cLwYP1wϪNۼi/9CN4QCB[GMcz~vmڟv̠mV+~Z1ԉR6נUeέJzEc:Y&-lU{Sfd]Lsd'0fFV\{OC/f55V]m(&*rM1uxjDF?7j|eC6y8a|FdǪikt?{r7"^#W|dsaaST9mrUO4jݫCY3mcv):&dbsqS%KuZ͡-{?Y';\hxz2w{w&<}ޫͥ}|HGm [:Χءh*?c̊Y4>H󀼑Ryڮ?׽s𘡉iIlY|~qKZϒSgj8߸O==CC>b?r֠GvG&JŽXLJ K]G5et Qcq`@_Rho{H?z7:9[ZK^8+zi7${ : Urw8 O%?x [v 7n1Z}.%5+(:1-g7/w2؈w`Lqؒs#6x|1*A]e .?jP'ӢS>f\ۜ9խ=' Ak^ш8f$-)#*)8얏^z,5ii=F'yvG#ϮV8Օ!o@z+Qw䫾}ʶ!tMѽ,ijy;Ώ/eMJ(d{WSY{Tz'vb{l1Sm\MI~fJ4Eن^k->I}tO%ُ>ɹ'*i_iv~%~w.JXVuMW&< m)3gYv,njSi۷ qs|XPEQ3JszG>2Rpx>vљ9EyiiZv(4-1]yc:, Xw4D߂SIhvIudȇ̺*:Wk~)z:1}#gʾoa'e W6ͣgz\KkKr]$WM6n~KR-Kˬz^  a%N1y3_Ҳ|`P˷W Vt[]sƉ2 Ml{4>ײ;6v3W|9{FǓ7xX6;g}BbOAU: qMw$_vҼ7V6vJ]j^mE;[xs1awVyc$K:-.=Z1׊C4)m'i.yk5;7n=r6{QciMҤ_oe<{l weRW8j>SqDTGa)SN9WvCݾm6uC6UnS`ْR=6|YnՓ'ײ[|K^v.EbԄ(c : mʬρǶ-xc^iPo ͖:t {?JqqAscvtgB'yQuvw{"z\5~SbM,z*T^/x8GJi卞ބ;mq nx؏s\gQ4"klsSYή+aCz;jLykV\n=Nhg/Zbޖ#Y4̳^֘sс'45XʳdpҰ13F,`QVSk}J.%`M,zrώ4q8xZlݣϩ]"4mv1ijR]Y6kwvOuM65(:HESⷫިS'y;*5;x`O9;2@|9i9閆%ȉECWJ&̐oЯ<+k+55DěsJRu]٧-~\(JOQnǞ[Ld$wAFa#CY*`wA\?lӫZ߱wEj  KN>e^lΚޯV\s}O_Lx"tVt'EE7czkܻf nל_2uAv<.sJ5ok|CB4Ȳ{U(/uDŽX2Tz6ж3v2?7rCN9|{ĜSvü#I.f]ηHwn?11VeG߷\هq˙+:햛9uݧ*>̷.'-mIj\6@𷭉7_p[/^y tRo 5`ꛘ#'*ySnlɒGRf4f87iw2Yڱ6[t/3 ۠*Evk}nt0-T}xnLJ5 f\)[VhՙLԹs-v$P#DyHVcOZ\9;N6|'K9x*eU7j}p]7>-Xd&Ntf8ժ:쪘qb9[IQ%mǞmy'9Y,`cEyo^PTs3scʉ/ok$(mvKB^\s~ℤa%iV4LdUF/ 6F*[Ss{%f.oz6tE=ơ&Uc,3t?Xճ{+Mt?kޡkxk:=5_2E+ImV*8P># +'=:VTڸ-v2.!Av\=|}O5d{ΏeLx3\@{I51"En_L32]]4)3 Sݻwdͤ՟LT[te1u/t⤒c|]Ĝ)'Q6.f⴪Y]ɝ$( LS:|b͎ ?l*r<"O?tŞ^.0qˏ7\{xF%H)>t1ƨ =,.y6:nu3}{X4hꋂxC/]y7_-*;-Ims=.D'w<3f[c^Hf/r~5;=gnb3k `[9ڬƇO=R͋lZX&a3Ϝ1s[7\npQ!U[o)~ $G˿LM_ 7 4h(S"Ps?8Y|`C] svi t[]Y;>qYuv\*p@D`{{uo͟}{ٗ|÷k5lKމ8ek*~ {/Bw_]j sa}KϽ}鼯|kAW+=A_z`Wzo+y9K>pS}+~"_3o^> @{r߅sqO_؉w+?h>{ @ߏ(7ywJ%`{zs0ϾW9hGRnEW]ÿ?Q6{򾷏t?v0 @=l}~49wB5=}%ݐypJZ܄倞;t7wn7o!YҠ](Yg>m~r;{}׀r߬C^-;;;8{n 3=J 4 `t0@sXnx__R_ Ghd*L;__Pτ!_]7>b⿺P,z)U  }YA?IW;+3m~uzޮ~zGl>I= ݙn"ur ÎYi[^Yg7WuiMMl_ƌ̣l ,=;}1xɸV}zF󡽣EW _ӠɾVգ[B/}vwLi;dӳKsuc{N'y/sY>3u;7̒)\^p-{מgXV!kc73^2gc'eeѥ,:R=BQŚ+(>P~k#JbmέݒOtO`k$ `~ eĺ ~9/.0\|"QX}t2| __H_ׇ_Νmz(D050{ԢY ͤj棥BMM FAaP|kb Qw!EPX$2E`bqPb1aZ$G :0"( :㡲iCB!4>n1EacH<0L,CP1lF49 L)p&Žf1!$fFSD1Oey"@uu5W[ Ccb$:C GIqH37fa,1H:'*% uMP% &2X*; *F"@  I,J?*xӭ-PY#ᛴX@N Hh$-`KLJc%-Ob/k@]>xUl\ D)@XTJ }`Qikvf` (F0)!?#TIb [8$69L]LA NF2?$?A49Nͤ("{4+"i4ȸ$3 "]D4 ; YO'ci4;f(j~ O@Av(QxJr֬xOR( U Z K*2Mqx)v$pyz3G3. ĊFR~y a ;PH=OFoDECaѨ`+O<и\#Q}(:t7l-Nq$ǤP*A}LS6@#XL0NTf3h> 5Ox(́FzQX  >#@7'@o@4 UXqY@s'>&e)-d^ȠvaQ޾fd,\GTXb"'ԡ>Ibo p$\B@͇A!"?h0 E:ĦDp>hH4*EGM\@7FC%#[# uo?qJŠN9&C[ͥu&3.r`-Mh& oয_~PBr 4 Rg>5$}`w (9\n,UA !EӀuA),%5D]c+i][CZ @#^B+iD]V*b |dXXWO9Xc8TD3*m?Sݏ`8u_A@G#TB XDo*~߆L΍t*F҈}BگPr ÀC% CJ!f[YI. 02ϑ݌SPmQRp.1+ ?|Q" Lr&y?O բiPˀ-@Yf#fqG8s̈f7G.rzq?< hn) m$\ ?<]Pbpu ˁ_<ġ^[qMv̗մ0+c9E$7 Td\T&\Hc nxØh J;K[(>Q 5j6O(cy …UQ;rl1l&pj o#KZL9b1 y,@BgqxfB[D`Oj:du>n@U(F⃀f.?(x -\V `"㠟Vf(eo ]]X- V,+@(<悽Gh 9Py'VK 7LbIA,u m<=0%Ԥjjk`, ^ \/1 orkˁ؜;/b HΤpײ6:XW"Qg+ O4Qu\]b:b0j4J50[a%t]qߎD^3"cthg.{6' JЇ9;Ta( A$r8 )8@6|nPkA\N\otIARH} 8z4y58 uS;0&߇ɌHۙk%xx ej BcGp Bpm` +Ą8K4(AKm ~cs8pH~rM]w ])h@$ۮy#/93BBX'71߁Hoߚ1/:" =Œ0??T"F&&&_:H3K=\W6+奆%% f$.#LU`c/ks輘Htbɸ/߆=`F"5DOjD: ĠB/Xd9()0 "iXP f="Xs '&7(X^*V#SL?4`a )&J~ dTzzh(G|7?r T>~xc|v%m HFՉ`21u@Lh8!u, DwL^4*y( UU\'?&lRL^KbŅ*YD,bpWUUV AհփX=9E[D䡆F"T@'αpΰ/ =@V"'GRܩ3~̉ d?53*0>b l4 +~A@& GDX@9F'X8Fy2 $ï|0 }X ]#[LL1?D&74Y`@ݱcJpc]e%J,|<绯9 $JD{bt(h5,4^Ga:*PĒd_k on "u.8m=.oSyΕQ0ز?o ᚮV27+IF 1' 0?4N "a*ΠI"Sʠr\F7߀ J+:dOQNCIA'&BS``C;Y9E &.)\@u`6 Q`d QT 0/`D}.vYj$=Z ٘,4 @U  Fv;-)VΩ,'N|(҂ EI*KDGt&tva B/QR4QN%4mw?V0au~?nĨ,_WGKč_pvI#BP⋺Y|"8~`|f.c@ܖ)a| & a^ ȼȜ= r2Ԣ>Hv'o_&`ф?m,}S93D0@)crW X"D᱐2ZH[HƑč&VĎ,0#F+\ \[d|\( p$D@0=5=#/Hzh?g1Ysx-``-^ 0۞M9OcTTɉz:q:b" Vʺe=_ tWB7"痘-'(zoy'Te#AΞL 9N HEyrVD F@5ufO G0!v09Xxy>E\h!B|*K"(CYAL!9qr"H' \n!( $6ɚ tӠh6 j +I`c[G3V$|m1HD9U\8A/` mp%0䁪jBEgPu6q &͈zPKJ*}\4Asܟ:$8ہXZp%Ao@r0u.!C.(kPJX=LUz.ڱ&(!@-]H $jmL5بH!RIjhER||1aT1]VV@Mok0(0͈?^B621l$pc!" }$d퍓L2ՎXH""NQ0BRA,Lje ĺb&h Lq=`!̉TOt"cLzE#‘Qe][#P0>K q~J,ha%)AI i~ H8#,-Q)bBq8G 'IOȔa[Du T|79^a`D"UdLII0<#J)AFCIIʿmLTởxRUEo"5`smIez!6;o|l9q* {:B$b"XJ+Z #VGXS *LPTFi}Cut5'0YD!+=A>\\#p(L IfRE€yMb&UL*>0($h_h8) C|t9R6@V5Hh+oIR(F_$"FCrND e˃\,!7b 4wc)$f;qAz 1҅HZB1Ž#:a)ǫE$ $uNy,ʶg0x2ex~W=ݕ+l^qj@rMApUA.Z~xsQh _@7)1EVz]v5hc e{eb`b/pƱ4`H?.1wo.?o` B|Ea|rww;R4dV,Ѵ <^)D@,ܱdD24&߸h:@0H %'4Wd@cU" 1j%b N=! IBs{f҂R92=/X!HGɸx"D4h\;kND~-XīOŚ9%sNg#q1J'<:e~I) 3ycے9L[ 8Ew7 q(['ZCc@YsB~A|>57a@ rJ`_ 2FLR#&ӇS(|HC ,E\r;@D]UF.> xWs@ x?115rOCKz3P߱*'f Ľx*A00B*yR8"Q&O S/0$ @q&.yln PpDBOf@.,@A@'p6Hr&>͵Rth hP-dS#0LCAh@G4G'b͇~'} 7, gi?$_jhw`vm oBNFཚx,`6KAjpDx99Jd/4xķ84 sN,Cq g%&H[F$VGH $`ATv%Jauq?=? ,bJF8.^5*ÚHE.1p ]puWOnՀN!(;.(),6PD%% : HD$#o8 BB$5w3 7W͹M8Mq?]^@9( VAqDV9O֢k\D4 lM Hh $ wtI2ʢ93< 2plYWj8@8ϊ@*~x(ZK2νYECˆ aO"tܣ[: ApX -uvRԼh}>;E7R҂LeӎŐXc'D]e}Rm R͜ k}Աa)L C.$&01 ͦ$991M 'j0Fg03xsyo]dLB0xl`(C4bfho H՜7"8qClAmol"2cP0z,=1(?6hz81,Xi_`asnyU{ތ(8tvsc8}#]xFAψ70#R/؁_nF%H-~V9?BP7dt:_&}ED&SX,Xl))ܺ3Y [Ap*xNhVrF,Ѵ6$͊BL-m]w:.пpGtؚ'z~m `@o^v6ɈUa 50= A]ԭ+@x20Wf2p cii rĈLC€~Q)^@S7)*˛^,[å-P/ZZBSqTyXb:MhGYM+xIYGM N@x(XgQi2P~oFpI0F _`!,rgz(639+p`hVA@ cwr@DӠg#*FL Dv;L r^(?brzID $sEB弎 zjmAV0,&mmAp0ÁPؑɭ֏yO``%{%:ׄ-" < ǣA<ZE  TwBC:?4) =?"E9G[O :8{45 $[  D r~EKdN[Q2aXj)KPp3"y2 CԂߐkъQ N]iơZh:ly& &&'-tt fм8wZiw\О4!(ڜ%PWm]m0a q$ ]<^3Fh w=z·f9Q65{8saXah|4&,G)s(,C%PI,:[Gs~1\ w$SYy}o=҂qZCi2ʭ! QJ(C"0PpXAB[5cn4?!]c (oô.2x$f2"6+f0)\Ai"1qTFg|9g9~42fAH<o#PD0\ ͛Pt-,^DCUh`a݀aDaD31a|xk8üzDD)5" $PQ*ԹKi)rN~(㰻X䀭(`xFm@:Ţ(RbVx߉zutܐ5J9oA34S& /#HDPTz4!p~>A;lCR8}TG[™t<8g axI!q _ȭB{<5Hppv=Z"T"!7)0PF{*pe,$^'Ȭ f0lh6 ppFHnBQiu2kty␚B)BT9Mu"@`I #(E'IG;TFrjLnKv@{ؙ؈ӊ,P(sI0yG_n"Dz]ѡ1BձZXKfx'ᡦ06ʩB/|$3EL"b1aA77XgJk8K? w]m]  w ~';00ou>x@xl8 jbUtQzykZ(X Zi9'frs.hПctmL"LQHz(B/Es"?+b]s):\ i\6F*41:8X):Dpy< iEېFJ N)D|air?ppmHp?XāEMv@bD$)0>J'b?_En 1ruQOrB8,ke#\&X.|:X RNĢHwv H114|wi Mz zcs]Fgff jhlR6…`KAO)#w؂ߤ F4rLgql)RGíbϣ6 ^x3bD3`>BT}SX`CpąɖO`^!\&d3]Rn^.vf&v&f`26121՛efkdmĹ}ۖok۶D/f0=  l+;@Xp8R@Cw?c"b hچfFA$]}m.),,(lWn`GJKiA=N֞q?\]WPg|VΝSaF ހt>ڇp~ ^|޷7zn8zfڭ'͍|,M+N}>U)\**)OS#KQ{ ӚulX*tMJɹQ{SRKEݕ~<fB{7ژұPyvBk+OgFWՖڙL/;%~u|1ǻ<DI[`VO g@g}R;=RR?!4U<{XsdJEQ}Qs]Gy䧤}yf}J v7vb[;$˫[O<\hLK\8kptsIJ:}TάԋXUd{?x9̒q[og8;;BBOt׺,D\'%uֲ*E5&^XL9GooU|Nbܘ=m&ܴgR{.HaEOݏu_M>ߎj-VQ/n/۾ ͟mܻSn{y)LJ?~<61;͛N.P쮼ޮ`۝%e.GYߤ?4 ;CWfYVr bă^ ?plu;:=vt˗~~g\ɑ#Gn-^ gɂsaJ~ =Ժ)$iA)j  ~!yd.Tx%K}0eV\8#wBޖϏlSumJ 1~pV޷uW4#އ;.N(Nv򓝳 9k jI+^I^]*Ox2.gImY+6K!VYߛ-z*X4 VN,ndms^P\\܋>>xkMX%'@69X]o`݆k36f](9~sIM8XjP5y8cȯo"XWx|M"Hq ߞs:/zkaU 5k3xcҿRʿ=p@r5LrXo婘S3/ lkGSˋd2 ɓM\^>N By̎з7VvH[ݑ?H Wr.6sm=W錬(zq}:~Ki'IMVkjZ1wE-1WJ.ڕHe*+zqjj&-[gM:U2Ab6bY噉+DXtTHl=zv}Uӗ7]iSmqw&dF)6a#;O=>w5U?JujSUA1s+ B1 4Wh;􌵴$8]W{z.2G<4Z/<S'l-|ի2RE5{R|HM]Jl:մk_4^aj;>-X\؏QFބ^Dlz1Nߧb<e#@ Zu=%vi47CX^q:V/;x J.w3d9sOk7c,":l,JucO@ ҔEr;tC "Uy%mxףRR@;q{WvYx<98 u7is𪜒M)=B&y/O^5nk1ңhaC MMۚKܫaCno=}8{$_eОϰR^k)5w kNCdͭ&7GOstt哨6gi.o;v]l;Sbd`<䮛Rcn5%د GJ5Mlq$bFͶ9 VIJʌ$Ͳf=dx/iZa]txgFݵ˃jdf`ҦMI9%|:)Ï) :җ;WME|yø՝ڲ9:V?{sׄ[gzUr̦jucY} MMpÌGߧ5==wh#6Q< XIɁw&|uWTp/q8V)놁ieSksddy`E[<>”CJ|J'E,h1dZn'u8RzMJ5-IAC&&@V[5`dzݫޑҬzBm@ӓ/>>ή"~p罻DٔNdޜ᫼IJ1_ˤxUF9Wq?اk?|MkiD$͑;$5oLsy)<%]'<-Q9\9>.&ym n߽3q9؞%*%x 1 a:"֫|)ṝrѧ}];/9hlX.p#Yݾ>vUSd2,ʄ%/67%$Fxi= ŵF=cO2{XsGs)ftL\u#0&OuS^B[ܼC%u{qWhOt{W3"*L:8ᖛ^E=y`M296c{x s+ gѶn_((rs]SYSL~&gSsM +=m{e(`'{`k 漱fTqeGڒ ӕY%_"c5߸x4'n%9W6J6~txNmUuRF>;}]؃Q,/Nv]w֛?9+]zް]͆2X#^hƬ#{#Sn; !T6:ztTQ:&I{q\Vݲ+k-y58=1V#Ny&mr1ǞL|du}'z;AGnzʶ%GwWTa,pwZ62'ot j1g/ָ|Hj4Kx㛖S9V/okʛ}Eƒ;g m}.I-T>e}6SLjmM|W丱rY]SsWܯvNvŲO75l O{d[*n&RZؼp/٪e$5jOwiWoġjUUj=K5TZ27IjZнQO'>+!yCڨm|oi/)vp5‚[[wԛ?]wr}ˇ>C≫[0?];}|]Cbm 9PbέJi8ɳvèupdWi5?b>fIߝWp)O;xГ/^wH]>V-۔%%wOAEA*<_`\oZ75wRed`Ο.%q E7j'F}yje`RXYIi_ϒi g~oe׸#ډ޴O>ܝ9y«:6kzydٴK^qM͵9~eI:|fհ0omlz) \vj5s\5xgm,%8&68[^+wiv]w M]r f=Bܱ#w*Vf(~yZw^[nvGY[esJT}݄0旃0y S9LJ+V:c写OuSk`(l#kp`כ9#o \y4^fۆ7,c}9k^JZE}ݐc.o:SNI 't'05H:stD !o߫dt6IamlXXz9K>_tk{I1*!&V4峢>orlÎw'nTjrʮGҧךFns\&_~(yӠҷl`C/](2a2= o*Y2%ϻa0Ӽejyº{$j ${~b ͋|ߖ˯U *ɸS5EA /%ϱ6j|43s/O1*W:RFƸn<'4O6EV4=d*OUCkAX@h&iM&o>dw62{Vu;մ{4#߸ufұ0BW __>|jhEL]\]u߭B>Z7Ņ'OG,l:,9((|P5z4b,Q۬޵67ѧLGz7휜%;esc+*땯8֩nh^w߹I^ OX=hnz1_f/[[,19ldyrK]\]V$eoNv&P l3^]T*]V{ w8a18ݴ}ؙ0*jF2I$(˖a\a*~}ӣ$lW/mߎ~|aeJ$nl^Xrƛi:f4F,iwd̛9XiXCRB֕M7Y4[r)fQrrsf Aw^ųi:ySX9EE* yoV9 ׫y0evuS2%4qARzѦ\mykRng'$섽ኞ-'6=Ʒ6i?pnV }1Ũ˪Tzҟ;CuY*X Voh,waANQ ƭ`膠[/`jY%/hF>=s]ӪK쾁,L{a} U9ӭMΧYN8vJh ZTrjZRRCzjNZ94xBccw߿v꽤NU{L/ozfXb#Jv-^d{[gԢ;[15kǮt69v%F^GDnUhr5+G[W=e!ӵ7;&?+J&:{lM~PΔͳ V)vB ]fNڐaJ~مoQٹҔk?=lvF}ѶyL5)ҏ^y9@WYa6thLҒz[{җԨ\`߰ )gRU=):ީIpبêU3) ktV(n9o}a(M&]}rk }vw6 t-J567_}m7m.m- t2;իjsby:u_1 }Y#u]vXik:qUc{xZ f4|mCHOѣhmA+o:tnnyy[o ~sݥ̵I,t}Ueɯܽ%vhyJ!=fGY_!sM _j2LLk[ދNW?ddt*ӣ;V-Wuqb%7 >;w\wݳsLٗh_}Ts648쬀]Y'=jݠy6,\"*7'/f{}0Ȅ01we/u}nU~~+tW<Ƀ7ʕZLKԃEn|y4EkCmKU-INrMfKvѪpӺ{YzP=9) 9V\Ef<9c=ƺ+Dί_ܹMņ1;rwS&J fċy[&*[Vp~ Ug7V-jl/)t5h+^yƽ{..7`cڼMjŒryًU?O}]ſIEJG(\[1zVC̋16/N~<{;B ~'cg+|'vHeenwD16YD\O"‹NƷ#\x ')g%]TQ;kלzůB6 ; GEjŲҮ첎by3ctI;O^} C^hiSP'l>u W=j̈Yc;κ?wg"+w~Ք1m' źF'Lb-oc8GIB\+'=;mj&%H.BLV'Uv X0C!EC Ϫ(ӧ^w0OJj޵U|x4 `Ym 蜾+<9>wKֳ_4LQ~Sb|sT|M=—GSa8&\Yޟa۽;Lj )T+|`p%;{gε{O/w2lpoG_tܳ_yj=lo\N K\#>@taf{;sn\0~dŏVAX="cA{#\4(PHqG۷Hk-\3v榇sl=ݾVc~YD2TWvE;\ݖjf^_ꚪ\-MYeݕۥF| "7vFSb݉u]KO_WU\q/f*'OewtgVԥTGӫLвwrS_=:_kWk锨 \Ŭ;{;Ï99xWVœ} m+kK 4KiOu)$gM/l/8nBWj^$l;9D\峺h몲Hu/59߳nb\sثqyM2 {Kע:[qFyz֫'ʌmϐ[R=ia`m֟ݥt`~s̸sf7 #<~싍(Ų,n쯞b-0£3 往B\nk TFٟ^wؒplͮ!)_[f,3vϧ __LYa=#u9s˛7R=UD̙Vm/h8#ni9PyuάƸ5Ⱦרv32/;e&]ξҰsP>2דt^;easݿtY;*ݿ^u]Az%K? :SLM63_eC K|:Gvг'ma箬C3*3Il^ve\w^rU()se}w3kW&lq?;c5HGC&vmX{vHM܅oL[4؆5G'ERA\XQ\!sj&qhh[a?vlX}lߵU {G75"t!;wjAocj6imRLAx9̶q]ګ+k)Ѷ/ϸM_x f.,vLzʗ&>л;O j/(,kM8rکMC5%XZ4pͤ4NJԔ}?*x/);䵼;w]g^$2q熧u%_'ꉘJ[ {j_h&F8?TaA2z[o]mx)[qlQ /+m3]&Břc? d{YcMLJ7U&+ޯǥ-n?:7`a¸5=Xq3'W7I;瑱۱~ph9AVۖwC˝/#zhS4mBL3tγf.$jwQ94삵{L{5/-()%iG{-?yVD{ɄO6\HLlץ7--OÝN~JSZcƜXa|gjCY|_c20֣'=! 7u~i'm,Wqg'=ޝ唔Vu8(}ji9Ĩґ4_0`,3'|} U`ӝtm[d%͖vgL [vl;M.K+O d=Ѽ{svFyoלOZ}v 3<<7`~QRg9>NlfD֔S*ce>]_e>W7|O|r%v ?w,w]jjy(:aIc׶cZ?tST[`Uio#=\Oub4LT,|Q!o~iU mͲ=x*sΜ9=oTU=j敻w}^Ѧ"@䚧wϰF(&:s^iގC}Ypj$Ў5J{o˺qkѡs~w*TFo ~k=.SnQ)SagLgWg .(Lq$PmxjH=m4hKݚf@"M-z*YE.~gۉ68#q_s$w v~]1A囃[exK|)UxKFѠ_fY~s-Joz7&Idc?OjHݸIo)9zW//fQ[JD8Ȍ _} v(jTc̒G|/M utFek2ojMbϨM$tQ[ݽDMoWs9~vApf$kpX*5́666Ÿ⟷`TŽ.lMʩ"#:l_ghtk]օ kgfEqeboY.gN>i}"鮈:1eLՍTJ+m.lB$W(f7Jy,¯X\|=pʧɵwi5׬X+Rg>B 1I[\\(<`e9-1vL̡rwE8dZR5c1_E?kq;\ۉ ':hin.;Uu-#mbOC+ß -/k ]he0W׭= 'eYլ7m6d0/wں2to(E.Ve4߹i{fGu]J׷: mF lUqƮ&\ѣRt?C ꘳޶ӷ_w>a|՛JZpX{XujJ3kVtu9`u@0qm7c3uDCRzg;mEʛn,v]kIOO+(Y8{ezZa#M˩HA{?ۆ>yө8Pl}l^i9f1gl+7z|2#һtk/\$fT}ĒO?L{g?*896IXŴJ k5;$Xo=JTMJ ke3c7EL<;"giQe}sZ˳V>i=vѼɶˏtzYÞ죪U`wg<-}))bYiPz>*m>oژaݑC=UR9ȪH!}u}O%N{\:ceǫNWK|ua>k8/F8u˂4pA}͋1;R~;xcQ w'oѧ,J^غ3kwL;dztZeyݶ+պESL, ڲ&)gG0Ma%._3>?xiP$$XTi 2[UGG9eT2WGǸyUUЩt&To/Y>2:5NzwfcBB<]8ղ(42I[Ԧ?WH+SolThEOδ+ek+y{&tcu^ ߼%+@ ܮ`Ɠ!7_\fmM`'=LY_!7|k9ո&!.ܻ6S_ ƒͶ:Ĵ,Cu5mm|}IY=S'}L|\$`bSrI0@5}jQsȻ&5]T| ,8N4k4y;T) ˎѢZM '@$K,,"ߩ~kCxݩ( h[hǣ{K\`kϭR1= Qj62P:2G<CG,N囯uD)l;*4*VbaX 5p!iY N : G_|~wH ~a0O/JH|R)2RV4Xӄ P 7Jfo I廙Z:9 6C ƫairtwC.1[BUGr::I,:4$N`21|8AKaí2[$Jl&WKDl61:F-,mEfrf*ޖ I.GgTεdj "DnHz>npjlYlAI$,ɔI2Y$;w~iBUD}wl*jEm"hh֒MAk6AW"lk/F b"_}5qhFYzql|HǢ:4 ]k&|+/1QH.'L#eLT}LS8N/01d 1= &|t@~;KK6L6i~މ"'bѳ"! JY X3S$*. S/*>E ;P\Fe{&vPJ.:V4эn j4ۦ>Vݣp6#U"&.&j(ɘt3xYi"[)rȹxQ`T:];FNTHFBE\ ˮ|2!AcrP?b|9%ƇUpJB*BDj.tۖz+PcYjg}Ե:D1@_\Oӄ.46ka$'T Zx[i <CyZQG G eM L*<39oIf@ *<݁}[T/%._¤m%}.ttFx<[" aG'LBMQCʜ FvP<$mF6'Hx{)1e)3^-h権;N‰&0QۼQ\Ѱq;Sk _bRCT NʗRo%MR?@i*|M;$LYNHJS5|uħDȊPcO1 ܰC>ۥkD@k]?E߆ɥQf\)n.כoY LRջ:@_٭ I]{c&01.q5v23^!ek rP)2{O\00HwtG`M0K>#RNPctC5T6YGf)MxT/<%Z&ף80ODE]ﳄF g4uzyMh+3>F]=aPփ [>snM3Z?U7 !@9w1+w9X:W qg6Ti΄MN\qce ~ pL@xwL5PD4."۷Q/[.cgZtY37?j9,6`Qé>{`&,LXuߝ\.µR(lzaRZ*sSLi4wpH28#o 1PrUlX*Y&P/{I/[ }\8j 7y\ܠ6ULf("jeqHٝwz>i֜D*ݰvվ(Aa&^>0)B!.[B扼q'wgafƧWLv v`8@h2Gّ(]__i{:*t˦jxlmEDc 5ffvn1zFש#L!FZp ڞ.8\ 5 {tmN~mGǹ0Iw2[Ȧ$ 5G:m5LL!H(MɞH#miʌ35U, }=r+9~333->eEbU4vl}!.@#; mʟ~Vx9l_ au}nmV.k}m;hRv+xoM8D:LXyDGԸf`d3My8AlZk^DGg2UJLZ6 `"6q,[{Pk;Զw{8.ws}ZUcvU(TG2tfsY*"F_xF$6qͯxL広mu}Ejؖ”@pk)B"j{h-%`o6넣*=|E-( tݬT\~[<&<߁m|Vf6br_e}8Y"-"*DR 5Gp50|nD>ܸv ##ØCgfFoK:f~QN?~L,$rDb8bW4-1Mۗ S3uz ӷ'Z i$yv's>5fFҌ՚. 0f`|f| `2vWjbBZh3}Uw}zDx;=wȌȈ 32{qi g7j Y-.]oU>N[2:s5IS&t(KpŹOMY̰|-R)xk%ZVt#Y#lk(Wph(zls($ i1k; r ez[3&tƞFtɚ.?,wܺA;V5jm|%{OfXWl~`AĤh|?_Fa7W(9UJb~Nk1XgTܱgVB]G~wT,@R#|HHMu[[[r/`Z_\% wn{lh6:PH~](}m!4LzaBtJ hF?I ?oj#!$xٳDd!Cz{myX$b-d^tATę9O?KDC12q6GPPyWT%f氾BiV>XX5u deOyǤK^VV=X]fsi)ws_lĜˀ^ӿwQM`߼ S(?d¿i/\9$J (VWrXWX:b3)~uKOzvP pcQtɚ 2Yxs9dV 2@YTF DXNd`8݂ӏ[0ZŃGX_'EX\XF6McW`7y"U9Qk&5La^M4Tɪ[[B"b{w(VdD.i펅&MdD=R,bs*yG ;9eB"Hc a%[y>Io3LJ]&(K  8xyRnpy}J %&Zt04R(|~ۡ':'BW"$>ݻN)d$ͽM̧g6|Pֳ_vyz维m&Qu;5 vwP)໏m|Z 7:8}qncci .N|©BC^C?xʠ͙L.JkZ' ̔gRɚqs9dty qhEڟG̪YnY)Y. {d@/cvG"l"mn_^ʌHYCor`TD1% ' E4  @ז+rFBʏٙ4%5dwxzn4'+\=!l(Zxbt\;|3_L_0'W?o1#oo?#84ɭ܄='5G8 9lbP7Ǔ%$1"s. 4W& q?'BX͉&sK.ZDsn%Oۓ3Fl}dY@!\YwNn04ˡ%m4[OSət~sEu."mzD0fe+o }cQr_TPwhْ ;6=`ˍ \-!LS keϼ{ }];cR$<7.hIͪ8{9I9 ,cCF#,gf *̹OE㸘zdrAb7s('{y~./skvE-C]z1KѬK%o`8]Ll@q9̹g4yx<*Xr/x3yv/HwdqD2L2T'[}PKP=u=Ý\yyC)Wq"g/\eXeF_w77']qiu5j/cZ=*H=&>*ϩ'۞&?~DS^쾜sG&y&4O=rߓ:w{{TIM&FjͶ' 9s:{:.WʠΩ.pl&Cs`mdi,:FNΝl\Z' ࣢$:TμThuDL-Tn/Yp'aƷL&\רÐE 6T]eT)U$VA=:M>}vP$$zȐɥT('ڱW\n!iMBᰬ)‘J u HQ WagJb*Gh(XdCN5Lg0(=x[3RU jOV$?V:]0df+_D@ôo\RJRs l<0YׯX8:ZL(W1;3XA6ùT )h.닭B~D9rR.O3V܁ =r"x:o D^(:~k?~7bQVߣnѧOq6J=j]y.gw)ι1 aTITKE4: ?B\n/OhaRN Z>̂LDh(;hSw l`HC6  sj+A8NR=y6gwZ& " yfM0K3 i%E ,*ŊށQ<#G%qP1  tU|ah:O54::F(}GkvxL6)f G泬I5mHۆ!(EsW*Pe0 h-4 3s8LsDX[Y7"Z9cc!eRAZAH"RN"d$<%$\h&b8X3ܺCԪfRUc,Lyt4*FÞy.kNimס lkBzK=։/3[f:yR$%5܇~p==,"ltkqJ?Nt * w?MA<̉` Ȝ]P@zvahco'&޺*$?E X[LT"`uk:33&bNh֒HA [_Z&}l DSHq1wM\;jA"a . f~RX Yq_$MH\E$=37'lOaMeDQe3j_8&xWZHGZհl8}{?tZf 7 ML! <"qzG&H } @@0LY ++d1n"!X~#D*ImsV Bdgb9$ d)~B'OLZV)Jd!k7 X/*q\2?v>[V+Bإ"^X/ו֮bxMH$d"M3YRpԇT*K?;뾪Oaa NNZ uCÖ O@J`|zd2kH'y=(,#}uJMtj|%愈7|?,,,qfǿ#D&33Y\6hx0FF.[qK>śYv/!*7|s(ҿB{[hs=nr$SP378FsK^9KXXm]9*J](~y>k\,6n#@СD?LT #w WAN-^8qڝcnZ\O|sh܃׬ƄO^~0i[դr;+v9A%9oLNI4I+Gq?"ᡦDNs\.3%ԴX!T(ړqVe}multڳ1G:E+Yuv 3aV{E=` 2;yž%} x SM/[&gV#8H4*AK,֎ m|߹EѸr.\fwW3.AݧFD9 PuFؿ!֫614^{9ƧI؇ꮈkMAꖫ&0gc$+B«BeOQn]1(rQe$XԐD"|>c(;ͮ# C,°CA*iKC kqՀ2Ϛ"zdE|ϛ}ҘM_ӹ8{|N'~zh7QhBuOzۮl;j; ?;G asC."MEf1*fhVr׮#30RqTĴ4fc! -8[}czL1=atD/b}c_2$NxOeP\LFJJ+5Sy,"[ujYJK<=i{=O5$3ji0.¾#tPA ff:Exȯ֛ME%vTq>K' " Wͦ3ΨR]P  9*ݳNMr\QWmC=&'?)6.<+py^vH3atP)rWh:Hg2 cdVNɄw @O̬:t"H%s pł[-M˼Jna+> ݪX9-q߷r%if(Қgmm '& s\3j{p.`;d#z}7_}EsKM oc#_Tr$iXI4+{S賧{ BK6K8~Q$).ffMıP$fCGf6 EB4_*Ui,iz .{fX(#^8~ oQ܅"cwg ]5l2F@OZ0BPQ*V)P];<1ģMAssIeDcIs9-z` _W@(V|j3sHDCWwhtCAX"!kD1CY`@Gt |."u``jÏ`i!IA4[(T:X426s.KQ6(c\?203(jXXYB:9n@).dy9Wœ'#ҼȤaeZyAInҟ7]\{ bJ}DhL@s^R"W("gF[>D:\<"Zչ9w_Q`uZ@s@<'ëO0̹>dKrw;\!#\6SZ|c$~-κ(74] ҤKYruӧOlJdN"I~>hb ^ PH Ua%S@֭P|w5Jk?vY:}[_;]tKDZD4DVA";Lj8\jɀp<1$hh_;-ِ̹_Er?__YE8ąn3ɇpK:]83 .S 꽅VT(:R;Ch~;%iG'x{htό>>4 㹌HKI1-n< (Fuf֖ai/q)|6|h@77`umYA7W'v-n7hsԙH+kkiNdŵ:gf;M6k$:dkK$e6o}]X9汲Akі[${fP|HE~#a|)Ϸt[2V7DBu#}*Yf4yN*':n܈M w%)z0YBYupښHxD";TZ @&v-/ @wMҸy&c :8ů?M@;weA4/7JƇַxlȤS8\ܸ&%Jq1.X27+#L""l7yh]'"x !"_fcf)-^zj!ܷM%%l<&eD/G~? 9&2+陵EH`^3/৓1|3I"P)ŋ%Ay: ,uݏ`cη0e+M!n'YʽNce %]tEYO!A.R$Z'\24b%_/ɟGn}~RBP#28L}*?z?YNQ9ɲZKH!{c.Ar31G7j dgg- KuߐvBY 28Q0I֤q|Yo@h V< /"Y4;s٦P ߏVǫ3]1,x!5DxS/l:.hyGr{shn\R)EeK5ʪ3v}/L/Y>ʷq'ƩùZOSBCɸGdgV66eMn G[})2 LP~JtC6't6 4%P+dn${P [}&Ew(5xByA\/(1 ۍ6?6N|!bタ7>$eu2{:$2 (p ?< k_{?}E*mܸq!h$xv."YqkKamDJ05\qp9/b!X\~KV`@Kƴ1I4I4VxnM6Q2WczLdvyfƕ|~u0lt:.x΋g1Z*#p뀐͙.+kYdֿqB^Z4]jޚu芍UsVC]]ڧsI-,,w2=HiYӬm>ӂ\Ǎ1=xA_D(r$Vb'P4Erh'} ۷9Z8N+\d!B29wAшQsA/ x=+U?-f*}i 6֨f2mǟ/--VȇN%ѡsUr-'v"!-1^vřs*B$c,A+͛O/OZwN˚Z"_c>*a\+!|ET޳}g8`h\]%La9h1˭Co836'He>d$$#U|U$s 99պp &{FhErJD46(N~‹#ַa6P)BssViB]\%? 왣/V4ɤQEp*Œ(>U y-=g{](,,*iLNoG]pװ㬗գ8JO*.i!ۤ*'ȡJar]KmN:6/3W8 F2gDCss?9` A&p>Y O ~:SL?v6[Mdbiq DvįZ;!&g?e4|4jM; 2Bo^?mz|..˙ Rh9G#h*\ y̹BrэGY/sxzG+4I+;7^N& .Q斁J7sEftt 9B& WK,HRHY>)Wrr18cB.w%l!r}tnLRkU-%v?hE#+j |aCH'RѦhEuu2f t V{$krzS7\ڋlWi2H"ng %ڃeXF8HA5=}kF)M(9كRN (."z{p1&x%HKcwwxmF8 {+)t լ^J ="i9E],"v@@GȜ/XR(J#]%8=z9uKӗ=یUHiK?:OyAڵJ93p(~ C !҄δF4[ʴ)m6+61Jm#/dCK NB!a"Aklе~~ 7$PS$p(&?0SVo B6B @AI[m<0[ &M,"6!".ʈ'b 002_AvT2B9O"zE,nx6N6Vdv1{680H+ DP1Qrh~)ZW܅P1YRp gɤI5Q#!:/*&fOiu{^uOBķ@F97)d28nI(SV1&zK3DU&:H4(ɍQ-TnЋ9{7wlUYdnKJ t<E˞ KoMk5 s1to1wwS]$CH ;{H%( _qBsЍОb92bPTG\C#_#89Eh4ya"y03局 Fz мZSYZA oqȸחŜPJXY<'`T0 XNb 9 .Hݑ>ق ,KFrMk;Ú[xއ$$cZ ?a6gw^-"8\,mޚ1Xޒp@oRk#K>[iyG]UT1}aUҧxFi2J^BzF vqs=kFTjdc9 t̹䉘xa)pr:F/n0? baEip~@ɒM&EXhݸX^E06+"ҟbQsJɩKR;5,sc+oL.M6-c|Gp w Yf =~n?W}`]:#PnXڸA4( |ܻwo()eLQɞqQW~G,ƙW5_С?ͽ}"^bǙR/IAOz;vmkE:Ndg/l֮䫋VoJŕ#ߗ+CN$rKξ>:Ki<vPpDm\MpH8o8I`uϞ8 =qa0LˡXk5IdbvtJDu}}em+ч@6XUtiaI!ktFJ $3KȦ—<̹RܩǯXl)C<%ìVUGv윫Tc>s yyǟg]׿Zm0zp=pH/4/Rbg}| c3B&+.#3z<.8XF"Gr *87Tk u s6s -& 'Bh`jq7_pU맺05 czL1=U3X& vre$M+L6b 0Xܾ}-RnkHhS⑖ۭto7 eM€nI.i{?#y<'yLڕwI.ˤcULqȡ6lǛ)Y!B/b(?^8stn: B=)T*m4?b/ccLGqy)sC4w$Px~I/ϸC8uM1+em&2 Ku Ǫ7-4N\XvO@[s*$oDf軆Cɭ;rxw7 ,NGZ^ZϺfpZ ]'nufCE9MfFr8U'YUٲʜCCgRaowӖ}{^I^>R.'kvqqTsL2)xD*).,,iߛ~ 6~ǝ_IaTqk+K.ڙY5Dl[ihï%!HW~ @u/miaR(PD,DN|֊{b `bffkY|OhB ߬ѡ5r~[;Ed33'{ զNV0Y6Y(e>os'5uM^ow n8}\@kr˘!eq޻,{XT-\k lI.P dmN12,"^wyc}_sfF1 0ҡ}D2@YD%er;1(;oM_AP !c5:B*ޜ;^CLfoӃLq>wC?dIӏ_Km ,Hps nǺk}2;/}mA7y*Qa4p<~‹={^K mݾ>lU#)Ї2/!3˲.>T.f^`:,$p؋O7#ͱ֥5ZxJ &K"Pi&WVnU2O·ɒVdӘYX*،bafY,X8k17H/`>'Bҕ ! Vk3u%_*O`qq`$G¶Kӓh0-I٦|dOMJ'i>-t"f=0 K N3f­۔ӤE4@h(.yF⨕ s^|eZDD`$Wj J퍄\"%M2$%t89/DcISSW&Je±!dyZ$4HYeaBDn!0"s.냅ZWYwB<acbvMRsiф$F onqs&WUi3Ywnmo&YX5ܻ>6Oˡ8sz4:?"sC*:wy=3V:=`0x9s=HbG2+<&2aB~þzk ~-6V"qcU02d$&RI1pr, v3Bl/ޕ}>E34R`XvuQ+ļy.9X U'ҹSk +xpCH9!ؽɄ] OQ},tpljz"ضe5p Ѣ*>4o~ r\P&`ËtZMծ`t  wjxC2mSz0(os;ƘaIQHg0ot6{LU7T҃TuXvv:[KLQw$2-@GQF7.8|[J`1LNk2DWtgBLO KVh^c' i ZttTEZ8e$c7]"$䘢{5rkiJYIkL9~< >9Nܹ}v/!'@goc1V^G m!K65HF j ޽*=[o=,P9P<\rl!9ɹ]zw]v_/iY"T]8ϮK=ZLf4=NWdêTb^%]CVolR_=FUCaiYW^"/rRxCM **Dd{d3vw^1n-݄= > sdm{KbRfAf/GR`,_0 ɜ{{:c!9UvVIL>ΎΊ4iQsZq O6XbgKҩ(UxGz6LʪFՑ^Ae7d@p yF<a6i:{;c^+oZ-.?9 _֔Sry[c@zWp18q== ayև1&S|I>y͉7(=@]U࣒BIFxMb0*Zdq]<~aey{td\o0<FΏyӽҲU+GPLbaqPHF˔ b$HI6m1% epuO1=B윋Džʭ[:'J^$rWt(&`ǥ8nVh;{,"Γ˙Miczx }ruTx#%Xlؓk{yW}K yKOruxHNȨw[sK$twV&zg>E:ǀ'|,d4 z95g0_/a8WEo;>%9Y-䍨66dR$RbB윪pz K/9<^ҦKtJm^ XŪ&j롯X9IH8dʅMe;1wMt,Ce־)ּbgzyn5$}'WIbyn; ~@jH[ vw¯OrlENU*FpIsEQm|8Ёo.XXn+q)dGCZ%^- hE5VYPc5E "f-X_\BT/JT_@ )GƏtU iy )NkzMthFB1a UQDM?oom_]=O*0Ir` {̹\^S,,Z,*tNIX#Do\?NC7l8B~1 a=XlLπ .Ƚ;p:A#H0Q`Li!_?Ɵ|0"@)؋h7qw .Ӹ'ɭIKyD422G2ŏ [DOk_snqo֏6F74AB3 Vٓ' hu>SPu(ú!$`ӵ>ګ¢ZF"qWmѡ\:\78,bsm'@S){ b-t~[8pLoV_||$ mwM*1O0(GZDo%`7%Y0V0f*:4J]$erAnKZP>>hYsJV@IPu//#8Jlms jن?KY5 Eh0HMe007*oU"UDҤ!1d$dK28|B!Hrh#"2^>[ǒL@C0J#pGcE&(=E 14c$rdAc5aDntexX^(yH c9oF 5l_[X -i6MKZ"Kr+MC{'0E$ӭs_۳a|ӎNO(="'Є̓lTeIsF$4O~7t Oi.K5Ja"WsO'7'9Tֳ&(,upt^\>?x[{#}; D+X޸N&cw~RƼp;l:!#Ɵ.uNB¯8dͫ@o0̹&Mq|vںp݄C$虬/"+8<|JgB,k/[Ya뷰.+זY0aN992LJ66nB&Lݼz=QE F. 6slYX\jwp`1wҷH}{جy/p(iޱ17?+U? a ái=8i]g[-PoHSn[4ymc3aH^n@U]bHV*I̯=AL(9y4̜ C1F~!ڳGxn[eZ+q8νPS939HuكXYbI)Yzd3"9ՙ4xARPm:qM筏)ߒvȑ%"}89=9AyN:`դ6I7Қꚓ769u!cMkvfr #yY1|hyz krh\au{)Ŝ\>~U6=?r9}Ė&_.^y zW^#UC4Iwҹy:y{۷2M'[܌,a+tD\FǠh4F#WdҘX"-%!;*X8FzLZ^~3=ky/WS2|9IϜ[3|b[yjRW:E0g"S6텎b&<\eבCXq9T[Z&zUE0N\Mzc*ozLKO\99:]ɋ'l_dM.TCdIЯbv u4pe]ƳD>i/&p'h0(ޖSx9:( 20v'tx\Hygw/e@BsetiljATYl5ݱ,/tNjQ Κ`y *=XNF}Zp(G$It9 {Qi#y]>flQKG=sEKwH8gnD6eS2W 2/?ݳk*\">xZxo y"Xo p[C' #WH)A<(>@ˢkkp)#)ezJ sN㉴qx羪ܪgDSDžzx/p ^GXF:; SiZ8IM.قh5kE=&YwZm|CF  3NbBL4B FI'%4.ý2 𪪼w-{Ƣ`V-_1sK(0t3V l6v$HDGeU28Xײ.Nyeڬ"a+d7M3amO[؁ _\|­6V)GX(9E\_:y&3WR]^^zX(L@Lj0sG &"Ʃ̹ Zu!뎹9ZÜBcyXL @N si3K!- d E/i6$a(lYu ?B`|UxrA`%M(XFb(XcR*]QAŅPBБD .Ph6j0 DiG h*&9YH҇VudIg1*7-Gv&csn\tEG0=cF׮]C:~xӧuAk5(HHX2|Scǭ*۶z"f,bp&@CA,D̔C AvAOÅ/pCfP氇?08KNvF/P,?JCb.Gʢ,Aɖy47TPPtXq5& 10{ndĔu}ģBs[b\&FNb6ޅ֥R&Cm3Q&|XĒ}U`#ƍ4& G4'Znn!JԢwlτ`;`~ȗJ̌В beB\FS^_fA`J{{k |u.,,Xx/5tN;9sa̹SKokn2)lDFe*.b]3M[^> F_5/xhk%jkN0f1əw]G5pHܡx"EiH-!, @q  JK遂\jYxp=]U]WVVޙqGG#Ȉ:;3#7,ؚ2q !́8nga8֟MOVSryפɆN:%-~EhvRv4H?ų{˼ʍ vBs(A=BOVo\Sxr=ٯ5u^ԱPuQP>`@+8׉2]6T 93 p<L 1AA@ ppiwvۏ+VXqHiܗ̹UhHLavIJ>/%GjMbA wTTm ɸs[[/&N\`YΩ /Dw1cd^ d\o lh`yaq6itZ-8_H|9.`$ύƓ0mq}4NS8+~jnmq 6'|Zg h dJEuGua朔5ZsŚu=\&-~Y7HwBs|dx=ͩ0:`7;p}%[m a8ADϣ-Yk1=$֮Bksc1\cs7/ӤyX|gBQG퓖<mnmCOfd+]2Gx~jxZ1F@\ё.K%'_, 8MN|Z@NR"N&]32߸O`wc˺YãGaI@e ,qI$SUHJI1D !\!6H@7HX9$D)kXVVfSuTbm:tIا&R!@oٲNº^&4_ЛPzp^ˣka*\pF^&*:T ^ߣk'qiq< R0ֵ >x-b&wf%0惁6R$C{ԣs_WLT Ld t- sOwhMT40w'召A￸tdD)I:Uդb u{hVs/ p=#|z㸞]‹QpF'k[3`>%@ui@Kv0s@%Ÿ{~ ~+0`MX@r}^l CvQQ;O.zSWO9|&\b2؃yθx..gX~_ԢE{,@r@m1 RO7'"95!ܐv ?ʱeMy˙>9WT(jQZE <bMXA⧉唬-TORؑ\cOna(NsH qT5*:GԢ܅NI0O [ Et`A<Ō;.~ }&V|f~BQ"`yПn_(; r݀:T\cm_(81%{迚݀3Q $eK62$ .j]9EH鸟ml,QΧ0~+hwLԚm4+dRp, F):wt̍jw]YZ"KSV9H 8j|PF0hi"k1tW ӧX4}.zSe5QV] ( &ιqOB]Y><>F ֓)%^z;[{𒶬5-$ =79);[hM˜@h'| 8o!%[X.}n?jׂ=U[U?2i 3U!Mt@WJc#X B@z T__?"A+LYJ_ر>xܹsG9w{{[;1F-ĩUOSMIOmȖ zo}?&&Z>MCN3^5/ZL!鰺}Js /rLKGklU;Wim-.B~n+.uF{Jti (6~|}E5b&M vtB&Ŧcy łd휶7Xe@Ѩ`VG2E'v&%Tj7c97&K ]zz!1<<2I[0%\(F(uu_<7OIj$)|tjg}6*6m|_{iV ĵ^u=?_>fham GÌ/Ja`RZh,pk@sďox7lG OqQÙs.t„rW^=r ~0域 ]\΍unm#$=SFZ1\g[RAqnQ({N_v6U9703d l외@Mwu2㺭\`o ײzxZ 3n`$X(Fb4 \OFleRnl|]ĺxx諤0{=RruUGG70SJ#̔0W.j%?̏ӷ\\{Xz=QJbmvN *u26ݏ†lBGـgOl LaQ/`x]Us,K!C6/>ĸ~0@|\^E)[ܲhLSگ fW ]2ET]|f1@X?s.9Þ/ 9chsOFax`uՀf9\ N}hL *>Mr0}@9Ç4gz,@ԯ=x\)|+8AQnkd ݏO<֛AJf^-msO8ܓhos07bνr۝Ն`jz>=;~p qvsv'SG(}PJ ?N/ 9>>8|96>p{=1\97K9#=cӾ3~4]_wZtzY9r<Ƿ CfUcd#ϡN]\Sf*SLGY0NQZԞIJ_u2-am|ϹOY7:wx\Ή:$ZԢO S[ qh'=&!AxYGyn 2HF훳f |O b"ILQZԢ6N;iЬzm7tyɒL%oZlg *Z"q^tǷbLX~>p;W bMxOz0 =+KҦGbaޕ?0oKĜ{Q?g'pR.St(y]t |г/:Gպi.ּV'3!wiⳫN5j3tCsCEW $p#uqz蟦h0K*sO(e?zJrff_'2Fc㽗KȤb9tErfI 2\ƚR|=|N۶9[IVvB,;œԱ}) 'Z&D圵^Df!ZI` 07QCPB2ilv_P=aŒeе{Q\@3?UAsBH芵I͟=zA֛ϼs`x.gGnX*{ HqJwm淉2vU+3Y]!d3¤ʆ9[زV{2oӨ1u(%] ZZ\,znϤQu?CY+? ]No;Ʃ:v,\+PWT7%?~YG:`tUI¨;8segJVmӲ+=]4{뼘Ľn#Ni 0snc m.~133O#={sVJDFURWJLSgaֿz+Q*dGbe)7i6x}PhLSydmo<.ayqNh̹R$Wcw:Ua%[.-l~v1;-|fcNNXEF9ϋz"a`gWkf} vHϋ~,vw1CC~#=Cnx}Q.8u8s.'hp_~;;"IЂ0(f@#M{5d eTk{p5-C8̜;@ rV XΗa] 3$jn2loAp)!@έK+9j绱'Bc=< [l3LӒ}ٮbusx5HRybY%06pX^{6-R6#}A({vwBFQ 2ѬU/u)C:Mʻ@ ְP_%#UVs >O} )v٢1Qe@_5چ=*D [Mڟ} _'^w b@JJZ.ٛeqsE [.ڈYX*m22Z]]Gcoxf%? S OׅKiG Jog\;mdoݒ‰jyUq?3X )CpX61,9d|5⺣q\Lzs9/I YK/b-"`S$7|G,._tPGjs{E\30?D w/G|7Jsx7HH-0+s]왳7&h6$M d}zP,Je&ݛ?/M,`-+/]C@n0sn;hѺ(xޟ= \JqIߛi3]VzCsn 3f2<m"y9m\>FӦ% Nbkx79d6g:/&{`7?[B*pΰu`q169)J3Հ}2B0qػ2>1})xTgu/VK b ,IB`$3Wx5ϣ #ޔ9&)Q4e;lƻ~iH&-OiTs+H9:9pU4 b ΓR}C= r8'Aȳ.Vz(@qbz`uGz^C?O^gٺ渌2&3M6s'&<-OF== rwqR)@pČAqca'"jQZ.P uz$5"BNne~˧x~EwnU o v什ϳu1߯ ,ֺ *[OHwh¯ p\[}"AB=>O:D#9w1࿄2E9aŒ$&.x}< gs6'-$ئG?ǔL,Uh]o̥(`1W6؆}9`vp^x5p\4;uY<r0~,",NeܾBURtZ&e8]g 6.}I--o\) )4?3z%K'j<.4)_d\v?|NӁq*tll 2'fp,a}Š!qqY]}o!LlH6LSFһdJj43>El=KR> C{J\_= yOMii30[zB;E֟B,_Ǥjıqt|b[!Pe2MD 9amDJI?d,9qZ4VM,0&OeB{6Z_V+ V6_l| 7sJ &$wJB!&==&ehT lT*bq[\*7J O{{6ef U9Q%GtQ۷Vz'k(/\v}-4DB]xSֻ٘Dѣ>Dz .IuiR&aŋw/RV6-U{s ݾʫ$lOK ~iaYդ.4{rLs?|%&jH$ i6vJB/ֳn`csdM]V2Փ{3+++H̹<%Ys0##33XZ٣=DOZZhXM7#X%K1|ݤPSzBݍno^@%_ 7X"+#R&G%m')J%-  G"H:4}n9L\A_89i+_6Ύw894MZ-:gsm֥I,%+EFsM"%eSYD:i!fY-tYIxy <+sY~innƍ#B6>!)rytHajhl01&*ut: dSy2|Uޠ3Mnl̜@]$`bc41rvb`W.%p"ucH;U[u9IT qOnTdi{HZZs0߼WBL-~/ 3xWk9~ДDu$Ȓ̺2wI"Lυ9k$'` -n fn>:e𹽽Cf _]Upٙ~4avf,,~E{FP&@!VtY?⤿}[oK8b`r\c{]:҂cvJE VB!~Еorby $+F@<,6/l{]17W>_Ɗ7")1& DFz͇6{qIsE :d ?#^F@DLK `g} M3%\jST]9Ʌ:Ǵ0sn.RLK"a@#HLb޲K%8Irpq-h,f,A㛅ecrİBK!~F^Mn4'Ŝ a9g^K`1o3i]O!C}#3 Xt >ـ)S)\Wg}xws.+ f GCbƃPa0!b뿎J%tRds 3::Ej(tͧU2/xDzj}B"AT\0,(7WdK(sO@;İ*ρ6TaMF¡9;~J, \dϟ=MSR}rP)1재0&EHܧd2{ ΅i.̹ap4I!ȷ]erTaZ`6KPNy EdwݎId-~3 |\tN8r\ϱf  05 eĬP?r@{\cft<ߛ8Ɓ7Ni!1+i^IuU@kM `X|Z<}1Y*@߹p:t"gLLO#Tqhop2lA3Tj /''9EafQX4Y@b)S3w]unbQz}7+ Zǝ|l& YTHYƊLLɏy R3tw%.hUċ32y0paOc>DH8=dfz9Ӑg%Gj8JY9_>u |Zs.!r| c.ip9Ǎd;QZԢOըMnLRG+.iQMԢ=T?:j"#Á+Kәn%)r!g&5 }cjF QC\7#g9,ds'j箅ʯ< 0d9ܼ4{ v*C_CRx0'_xPϥNpWXp= ?SgXxS$ӑ3%2P*}1hu-P8 V8[m^ir(sv{ M^W>nSD>cٶr5o=PPN+xՅ5h9DzJ3qI=kYMZ\ ͙曈,>בq͈ UG@j&~C`, $ml:F^-w$)I2lf=/ߟn{N 7t?CDbf4mڙFhW̻`] @xzvLݗ IF#)2 He:EC*Ste~*DFQk٤(fK04}ĞՆklĔzBI}Xazdn ̜;3jU]..! fS# O>z|qB.6(#m޾ 5db('ut1\[X"^[J5b\./.㕛/cwJ|M|n}^k ?܄oSI2YEe[1$|$=a<׆EmT&KKX}Jlv sE)$J[[[h XMs>мkԚ:`WE27l1QVO66qOcB'Ut9wq.Kj_gquyʸ̳jCjX{\EZo1oGT&,6 ȤsSz'*HAVeT4mhqaB&;)è̹WE-?:O~Rh\.1zf%e{nw+mZ\" rWVk`{m_{ࡕ¿s#ϩ~j\S㵶Mkk-/>{;}8 8r8+&Σ©!;ppn7sЄhL3P$k ͘gF\kZ]sy:˔$J9SLř6V,._&E 7y>CKhA%kɸ y{Y @ΝuE";Pc2kCHՕ e94+JҴ^3ȧ[]$H$>sGϫKllD#%AC{>r(ox7KϭƁJ"e[s1ƛ8bSa g4޼B{v] #@Ngܜ伝=l?&vx#@{X`lW~ =nuU:#B ƹ<w&b}(̹|IMc K/ubtɧ|D,jOwCa%vJen~fd+ԃZez\b}qUD*˹Msbc9V `SQl15fPTh>ċ~| K0I@;/#{Xu|n#pfU}J]?VH2MbA, S)Ԍ_Db$)dh~ 8bd8i*sQyj:nj a*5<˹[-d43ɩ!f%86=8 M) * 7DPf%gg\o|l`I"WG*~8:-/ <l;QPylaӄTC7%Jl2Tu\4Pa's;_BF@Y ]kwM@-aLᬾ2F \dX`]0h i3Nwqm"=ggB,፸Yr;(}'N>974b$.6ih9i.&zww< ylqA<-k*jljJPȻu"ufld +*&|&4=ج32'9c8(%{ǭM6qsV!E-j/zS &==(/55L pԓF e"W.´BD)q|~;(c~ۨ5-43q r^E)&.|ӄaՇح!/!JW87O)l@s߃Ćɔ(#:lnZH0'c1]Jx[x{%rԛnl\n0c2`a} \|/_Y((#ۢ8֞<"`!Fw4[HeHX1x3o!KF(̹ &7Ѳ44l#"MD#T!FzŠo^~;A"n;+wK64r9jWyv1!g.ԠG&gX[Y>qL৮+Gp{{{B<3mcƩ/;fբ{}Yσ )zdDq9q*ob.NyE%h I$ǶȺIpk\YtPC~,d5e|e3%ܼq[kklԱ3$[PP7hq]ZX3y, [6Y9̐բxth9H$H\^oeɂ4304b[E<|!U1b l(DW$\q{Ti&(45 1Mk^S&$5ozʥc=5l&Z/N3Yz$٘vۻ}S&M3U3{`$R&Pi3,H]dϮ١. ԡ:jXNS~?3ǏRLKlGe6^b\Nx|0&#|*阝YÅޮ4\ rl/OմGGwT΢ۈݗf C00#3sJ aO OkByiNN=UguhNF!؅ ~^c2fhIa0E*yղ{\ZP)-a{ZIdyd0CtIhnI•%+Mx}9-sfxL]E(XpUcaDI#V}J&/cᷛM%8WT>wbEb`R"`eӼdtP ' *9 GƤ0+Kx1wF%[ )g>kc1xcoM%0WHv)AT= 4oy2|4'_(cV*UѥSI<~$Zd e,t|Vx}&OUwzNNQ;[px5 U} U8,\f/=vXµgsd e3ׄod`)~EojJC\] @PɁ4UǸS92q,,>j 􈫈wRқ:y%*zNzkC<ÄPwر'-0?e;x 6&zO}RL"Vp ɱ<{zZ0SXozӳiޅGvBViF VJ9%6 VA(5~41Sb$Oeߣ '%ۉZ^%EIr_ld}9ݏ ĭwV5EELӺ, `;_ћu~Z[&d=C3|o:#&? _{8e.OSd0;ڵ?P[ ! .jx<IkE[N^ edwTR$J65F7Z%MqeZʍ l"K"tr\94$>OA}'!i`_%LjYaAO!Yxd-qajS9Ƅ6Pd=};gxlU9W?揭{ `6xcL=C1%s?h}fMFBrLUU$I |+H1oop˟YB&O6ǦjayB"8t0`եmV*7{cqHCS阇+HkڱT\5GcwWƼX*`ArJdJ8s@أ4._S" 'gdV nG?-G&g2hy8tέ4^iBzhyRm<b tݵ`{Y]v1=.BɊ Qz'[>T}OCk^OIQh2=Q" "G[s3=ŒNVNWŞhL>{H}G1!Ӷʤ$OkYo!Au:W#T6B@kG Fl b.(88u٣Ʊcҩ"W)~zm>I|{.^JM%>;)x܋k[r)6&atJl `d 2J ,:|W>0AI5i*YYEe=tN`bcN-뇆<(BAp?g9zD_٩ZouSbqin$/4s% -MAm{LkkI֑A Sb17>GEnͽ*+̭+?+wT=5\؏7aB"8)~-S`̧V[K֬ks8;/l H~.Ơ g (|h׾ړu^^N%ׇ;_ʻ[|HF˹.`STd:z,Mh`7w&ݬ0[.5AkWP,'&Im#y[kyXŐNg$9\APwI`+AB/ Y~Fd q-,b6#1*^dilTIFti.]feBj?i|q)ӱ&qaeE&^AU/g 4BL g|I/|#0R0- 7/'=9ke+WB9h"}*\j|' mzJr6"j;;; {\xRD@w6 3;D:lvưzB¹XT!*<'c޲x3j6N [{uk"o:<0 ۷7$@B{_,RY & wu@mod< ,,OS~L8=R?7dt$H|;~qԞ>aay!( cl>q{:gP77 P߷k̹~KXiY;w , 3}/؇א5&Xв۸XN笵jH>sjvLg ?wwf {XdWA^Gi;dJqzߛ.KrTmaϭy7^Eq̹S]-Z+x?ÈɎt]GlP<:u|aϿK*& VaJ~| X A Xx YxUG}VS}WcxuZK >;xn-`g"47M :5lm %B_R#Xo۵G038&~ +4^ۏWa4Mlh-;^.uU"ydg +>ߘk&{6i]sH]uZ#J< /^8C#1LM䇏_C>.t" %Gks1E0+Gask3~dl Ϭ;;;h@zƁ9WCwd #W@,ܥ%H -vx*+G ŒfΝ(ΠY@5 gjwCO"Yq$=)aҸ~*W0Cڬmbk!ڴVf]@K0Gj YT݃i{җT\=XQU)P!ːlIWik0$p e,.ͣg}@(?YjRe wRx+ODHmv ^Sdv+ X3P5u\(ӁIW:E ;~ץ{lF^޴ꛯca8s.yRE^CJSW<$EZ)!I)!ۻOie̼#WnS?X|dc|* 絲A]ý&8ɧjk>I銍w$Taj^YF1|H m=BN6,**߽Zgs9j ±}isi }g"r<.Dj5hc`$ ]ـOQPc{qo Yl&\B钅A`so2) kbF6j!Y+\'+kuvhгb{?)?bamNYdDCI8 ˮMTC4GFmF2\2Nc,]qLL|"(D+z۸컛&[lƓ)o=Z7H'Q![I T(1AP .)MĒHL8X52 v]kw}94RPjg4f.Y!~ QpJq k ofMʜ;xy2 {xӑ!t 1kog]\ָ>$Hb+s:"\7*^~xJ;I O\Oa5667e+|hǜ*|K2 $97qhxA:fm#1s.? {]쬓Q" (tQ5OӘ#4 tI(@>SDa}RL<9UBcK8Gf^4/2f,j'ŕϊk0Yϖ|Kݪd6rk 0LHąݮYfFP&DYX/pakZ]3!gU'I0r $ӈi MU=UڽdbY]Yx[l1Mqo_a$WoԅL ´dP?reiܗmF#qMir֋sql6 p5U]z z?r`\z ^gm3e0xkkw 7U 6wpWޚ!W |fQE1>e9:{8̾+3)_638_;2MbkVGCaһ/(]'02ǰ GyuòG69tr`)9 +rNj YB7,~w}^{,CRdQTdYBd+Ap$0 l 0bBbȈF` (r#JLoU]}[꽪ΰU{BzS~tCgwN7`Wup7q4dʹ+;7fјu45ma;_poDoFh6P5HcC>J d'Cynl-mpL9VK0V0;6 Eu8mH$'%̹Ge9 S$pHK$תh0;a tm8Z&M}ODf{mhzBQ  ͈eNYl5"; b{sCp!0h7QX4<3a]W0tK$FR^&2,k5Vc<78تzi)pA "lBMHfA,ҿGGGr.bh>1AM43-1~2`k}Z0T*)>h6psM%:zi_7/9׽`Ŧ(|_G0=nM6Ǥsp己_ )qZ7`.GL֞ v Ȗs ] в/)X/w5n("=w?,`j/hZN@B^(-9J2~$31N3@TBcu&'ps3Uh TKKCu ϙ@]ˀAqD3-"B.b{c f5+&|ia%FG@> FcV]\΀nLN a+{CJh 5/} Hfv n/ǣ>BV&R1`imS0ꪉ03A{HR+zlJ"8-ZUu1t͠+X,d*!Zu*-|:Wl*biJ`aaZe]Ѯ"=eeddQ(UHEX.xs09Z6n gVmC!溠6g{2 Ssـ&\.+]!c&x4P si'-=~wAqqDoZcZN~Y2FIYCy[h:`*:aYGՈ>m!Edo r%#~6!Pg8ddR)mmmq}ޜsZ"J.?Ӽo"s.4|khOMs(U3}Ȣ!z4ufjҲ]6SK )XJcS5aAwvPFe+fP}?[[GX$G?!p ^gS#Ch-\p #tl(h϶6Q%AH.! C7ih y[Z&"YxE˚2E Hͯ`}]ū_G*f nz-ԤysQoE#w[|kkI= R(Li[yHC8 Lr\uR*D*!DX -rRDXNo-2>c$H K,N:B8 A\t|.ֽ F4qHFoc$9xګy68pT婸@y[4EMڶ# |PpbbgG` h{:t&aTl/@ g΅IEQALʔcccz >̹[vsOН^z!cc{"u(48Xb}O:Y1Bc&F3DA<#6<*),BbJq4F"CP8$bnm;S4sy;f5`!@ٸ{Q̪`QV뢖*DG" JEuD,R,#wɵ4Ƙ=6]x[KlDX_Q|m1 :@,*L&-|L| AJl:\EL֠6f*2N A\8Ӭ@JEı,H-Q,m*lQlL 0sMN{Z8ex̹v? A}#CcYq{YFC{3WDm@gxH;cUyWfpj+7sf-fk`<3*oG] ,̌9ly t 8p2spIK \_fxz@W],Ķ%`yIճVg;Ϗ N8"(q4e8 mN{ Vsz̽-:n*^׫xTrSn6;&Szq|2')XNpT3kwc幥k'!;0*T2 /V{0hUܝ| ȭ )sAJBX|ao 7-/а|ڞS.u%k>v=|, @s49,SA"32a/;4tg EDt}Z݁pcOWve@ `9ؕǭݦr0(1qs7^oĞ׼EތFVʥ:\w~?tR N_>"s ¾Ouu|HrK"ECs[\ù0iZJo5z}~4aᡵzV- ̌<9W$X;;;pFI~4M2Jynn\n" ~[V ; 7@&S:saRHs [d½ZYXTEE}@.$×ʹpl>% [w0bPS˿¯nN6<&1_uO̊t큫*~QR{|x\-!J<:Bnp Ͷk lovy ^,Sk-!.D:sIyV.a34:\x̀5j S54F2i5ţ p&s0+32 c\^~GG1IvyE|b +ECazoFGi5>6!Lk3q=Ra9DowGxzZuhoC3UA4չBs7c< X\UY-UxWr!  `2hs3JObqFy;,@X 5g^x*4wiݚt@Ŝ̞X*2|9MߋU ۫ 6A*šg6zuZtJx_xxwc$26vwOf%:'M=A.tu8s.ǿ;bh_]{\cx0paf %pH㥘Zrnchm8'N&k`sksDⶳ ')(YRՕ-TAO ΀1@`E?V7LH-l糈IEB(UޖŠ^R]{Xu_̹ AB^ZJ8ӱIg?x[]A R<F̌N -ud*H]ǝIjM(mZ}1}l٭uA|\aaiōi_cs J kPM4jQheW_fέjǶ%$>/x3OН^z!φ6Shֱ!K &]?V\<~+?.<8bpd[rkOZGY291j1|JGHe}c ˜X>E"lj\KUEb^LC[ f6kJ\m G ,E!h7Hcx?E^afk 0CZ_Cޢ93F*B$⑈_Hcu_AAf* C[[zYBQLeFYQs8@ޥߍ`]ӱvynCkU}r, -NQE?~#AID`onXx{Lõ_ԇܒA$h v6E4[E''/b䵝̹1uyK/:z{rgu).#ȐryLwfa uѽ^t3 \^pY.z,n٪{qGw©)ŻoUNOǤ岭 {H6K"6xOj !]AC8Nx~pIn<˜Q@ׅ8L_n;t& >) En]PEOQ6ӣb<uR_.9pߕk]QBg`lg} Ƿ9nZK],d_l6Ad}͜rvz7ve vܘ|74Nf^q]|t"˹Y/59~|R^|e#͋~߃߯(u.R;Ӽs`9ξo, M''$>yKII"E.>I2@Ex \ΡxD)R\ 8A3e T> ^or ǸBz})aKrNb҈ ~ R=ZkOQԱ <8Lqt(~Ey.E唃uT."[/w3]3I\WUjݟĪ=BqU2567hVsmA; bh7@[p3g+5TDELQی T& 豴9z]dXņ>6<3YǹHr 嚂O)0r&@36njiC9iTs8$DeKiOS'anh@Y Z̜.]DX%f(ֿl5Df8A@dJ͠e[me2DmL0v-!Ҵ]}~H,0U+vͼ3Atk?n+!F_?D97@֡gdScnP|9X)_clXE[pժ(dou\s Fc{0:MOWaIG|n`<LL{ s/梗ao<)ݭ6@>Z'Obml<@'8w_C=>ztxZELs "}nemfw&R9^YE/Khno Nh?Ioi2 7 crFGhO}ϐxdƤs 1X4gixσKj.vI>FuNgS8-H#;5zsSi{: V_;hUrX(c|bD 4B#hJȖJȤSbޖ)\k(;^c8zwF,J8dYZuEcPIA%K}I\‘ւ f?k u{.tD-FvQ{; L3,(*,Lt.(Q Ø䌞O}nFmMp͛6oE3 :W8؎=^pץ!I.1RP 5DnOM9s^!_#<^lPy(@cW`~=$s_bϋ5ht(@K"QOl{ʁ|^ 6.W[荆MWidžrZH(t/"8l]Tu*Ϊ_'{!1o7sj;+IΙQ.6T{g^x%鑃ip]Lnrs^sZ9/ o5;?)-; RrZXh\kùpn8Iz)r!þ9~O~ p=?nRH"*Hi_З>KZ \N)E)WMJ02,j֔6s Y$ۼ͢qXpϣzAVgsp# \I UAk B3X{nXGJ9Epį{yf(B4OC{;x#EL6 gcUD2+xoHHtT%2 kVZJ@<~4-L1_`έ0;: ΩhGE'X^/$p9CwV,mc#i8.{D H3~Awb^&z϶ $pge4[P,bd wcQ΋7gf[,b-CLd ->>:NgB@-, h\+JG#nZݲEG'4QO#K Y_Yƒ-ZnYm"?o֝pj9Z]N6Mв O+xVPC*μrf}cgG"xV9ފfs PRxOqk&F#ÙU5"GXȘ`z[< ۻ[&WFDÜr|monMOcukʰ FZOQe3ẃm`\DEG~ LN/Xh~ ɉ9k-8D($-H d1w$42&Jx7x2F r7g5h1N ;ۻPBqWL$ŶUv `dr33~@㇏x4*4]C F$h ^ݻ(vH%H&"dXlF$dPˡ=cn%d:G%h P)2&)dg.qjEb)[AjD{(b" 7vK&1$['G3oZ3Muyl%P袂c f>tˎE>?|º^F,ImSfɩª@ˊte5|>:+ IlAGdps[?3'dV̥~߅K@ 6 >OGp#c屘+PkH LBgr:SE3a"{irUAz]z)[fws97 r8h~Q#IRg^O DhxY,=(<\79$p.L-r1tu| _u)k!FtXOUVw> /̡V-#EqkF[pA&LuH]ʹ +fn# cw @$]JHSb1l&u8F4鞗I!0s>z4 V[*%܄-$-NUE.ɤ>zB aQqff& {biuRo "'%<^\ dRQze΍i1|=QC!W׾ /y9BіvܟrXS-԰(ǺsU$")XyR$qOW19s yMry7lh4oLR O?G4vM!3+H> E:W"Aʥ\,bi!)4K4P &Kem69U<[\&:*; zOZk芣cc,4Zuۈ(׳bns_F^o)A Rf۫FQ&6y Өzᎅ/=.AgoGwq#:FܜFUԨ5Wfy]"@>xAK66 tv1C1cJ);HZ6"2t#)'ĉM( <$`jx VZb:L-:nOBk׷2,, L :g'D:TaQEP\hfFc5%GE"53'(deiuQcZ[ Rph-K&*n6时6Pнbs >\")1@;lcZDy}Y+\쬉x n3yT{)b,`/n~ O)rz%o4s<0r;⸬-xϹjw;?='](ܠ""RRspyh5PPR!Gzb=Үc2 -'O%^V[Dт;En{'If \3d8t(|0i&$pƾCW䮄 0[y\5E|à1kKvW:,2pun{BBwl,0h6@ RUK(in^Ψ8(~I[Ÿ'd(<c[~ ]>&.4[g/דO{AKw,tg)JÃwE\մx<{. R7'.T?)O(0jj6`޶L+ Om8Bwpwm-4'jer $]|p!9S;n-y -1PV sǍ&o]|<L,oEl=Sߣ5ǡFeQoٷۥd֡lZqMba-tzQO˨kd(3L6̦k#ҎddvZ]Xq@33eOt}s˅+@\8mĺs Yw-Z`Ϫ.ێ9M,O ,!)mO&N+gͨQxےw>sA.xcM&|ssUs:׆m>Bu\iȮvKb+-"8m< biQ+plN4F+U\ RbYؚ:q-?#d曞Rjf7E`ni' N_ 0ֳ~Ꝙ Q%{j¸K[ /  dKjWu.ܱ0IDNg, \aU_N}. Zퟑ%(i[v٫+)Ob ݡ7 cRl-M5O!ШHޫŸ -Z(֨2v A1{~-R iQH%+U}x2mzt =6N^LJ{m==3]n[7h>hC"@c{g<"MuF'Zٶ =]ru3Bn *:܁¹74vpc$PH؟x Ts?S1^.Re9W-F 4!}>Έu=hٰLs^z~QE;#_;T|LA ێ@ڐE2"TŸU;iv?he)4Nt1_`#S"Dp{Vc0mZB`*Vs0t"ʈZ qCհ뺽'7%F3_a:q춼#0WtR -q4(d  ҳڝ&΁)Lʘ:`ܻ¤h$w-rHH*XCY/J2vgj & H6mFȰ 1."fz|8ok)# .rVϳ>}JOkR*بTł 4QӎsxroJ0j+2\ܚ-1Vn1Gß긖îۍY}` 5B#;A aCPihV>ɺAځ/!h3{T7Ss3 պČa hLt&nubUdꉍd%2?4~gE0\OppL%}"hn.y(k[ҥŅLjLܜ`Q D]]Q'~Z/$ YS-]~כf i[rQ0_x(I& ]eZ/s{kmaL~B*by̵!zK oy̵J/O(;Ow~ʀʫqĜh֊|̤ڳ |gA?u*nl**Q+~aZAx8bxgp䷇!j*rI:?8G^HL| (\gb1dH"#A=0.b*ٿx?!@`:3~.Qch7 OVx2ueW˿A8.U/a78~7kA{]uކz޲]7+0{DmQ3[WxaCy.8NFx6`OZ=ue=Ӹ3ώ;^{ͣޫQBl.H$HEC["p@j)>FOq +$Ģ0لQt*TV2"T`hh$ɾTU޿!RIǟ7}[ĸSW#wMЯ<7Md;6-D֮|/~FҗKHBL5pIp*U/{TU_u} kYlִUt 3סqK$;rCޢ]xD#CVC?z15{ @i_`λ gVfjV"&=+ oy\ t `-.12el,{|B Ț"[7IDt-H =#2jd/J+&‚* e#BWYEa |4thz~v-Qr#߽64,Xf_7 @򌻤Rͺ.EVM,怴H v@,y~w0&C,i |-У48(Nƒ ]q=8vϠ-ȁ`VQRfUl\yi#L#+ܣg ^^ݝ?-˖lÔLOeĨӕ!'Ni"8(DiF;)Y{pCNRy#$9#p)4㦠:-X0+07V V"z^c j1-093$ 5ץEJW&* f^,r,,8m vx [qM{pp'}e tk`xW0 ΢՟mݡ_>7|kz]I:naI{Qީ^mkvWT߈XA'f% Xw ,- G=>8wwyss- ( F:2w^?WSI?m~wj^#9tGv~hbi]M.=0/\J>@ !i򸁉I]L.WW[ob[Wnfr'<6.N6Y%Y:>.u]y˃1<%R {U(I@`L)Sޯ辘60\.D0.G6ɺEeS3bdʺy <~X+ʙ)I\bٌao-@%o $]k47\;Jb]~S3 Nx@bPrC'RsڡH69'9@Bњ!,]PG KgSa.wQlj'?+o[y5)h}YM &u EE;{.A.EwNJjWlT_R7IyZyD[|r% X:|(_%+DInP$w5&HsLb#IM&^5E gq@3@BI=D҂ꍵ'7){8RSlvf]֋-8/@>?A7Ci ACrNb'WtP'\,_sCG&Pd fo9viv8;aLZcƀ{vdnvq?%t86mePNv J>ZR~̞W~.hq xy\@4D=B1hIb܅/Vʟ AhzbP`Nr-8r>6_ 55'L,xs[P (P9]M?4b2jZh©F$bC9&ONSNSz#=vsOw^I+ 6k5E U( pޕ@ҴUHDx/Fd"gE#^R1@/|'wuEwu}Fg% {ux9vtiqL#9F^y{]ӕ88^grzv?{fU⥋5 3+?Ar.jb9!بP x ppTeRmQ.Z+-ƑS&GV"Q)99W?e[$U?OOWH?h(OZDZ)?`Ħ-HAM"W{CgzgK[SzSCgS'z[CSZ`?XYYY3020s::"aiJJ(sԃEƙETE@Ȕ@TqܔREECVޖ_2t`hlmB`djniKtGD`iK* lja)d%bemiBG[SC[;g.^/6=E\y+( Ya{'SV:VZc&FvN:FVNFF&FfzFz&NZFF.v.F6&9q)zD..\ttN􌜜 LLLH:{ڹz9ǂF.DD[e0tgc?_.Jf*JN<83);p ;;g,]- (-Lݝ)-.+%iτ36%Cgii*(,)."(*]{cW[S;o]Q__ڦNn&bNc.995cau 9O{S韬&|۱(9TظQw}yxZi^lYAϊ I[Lw0"KB_e?|H~-Y>kTzg4PE͚iIt2jwe2;3sxܧ"4|{-Ҏxt^,yRTg">H xO`$L؜RfȔBB[AJCL!jCdBpnOLTS/F|^Bg>\$G|!gv *)z4ʪ4eYlydeh+3QbWg$)sS3m0  x#N6uȃ)ms5:-y&ZҢEps .6"O 0$?A\,Wjm ++hr Zϒr(4k-//ɎldD@ ?1^ͭ G V&ɸ *U@ X! jdM` iip;8*9h`MB4 W+)Dz"TuQ  DcI+}?hEI 0|I+dBoHȖ9l G ^,`2,S'Qc k j[q?D;3:4Qn,H$7}* XÓ* !شQA 0w(Go |[wڶ,{^_9W"`lQ,cO4=(6m~I{vD+)[ d,V5, <RñIs }G ݾZfczR?F+seW'7MxgJPH @*AjIf PɡL`0{\d6 @Lr|D EMB[!hC?<}bBW{r2Rzvd/Ȧ0mUpL Aa-BiJLM+fJ NQmdXp{A"SKM5bnPD S6\ Ƅ~50i=T9/P7HZ##7/V'1"?RZ\fS%}:xxZOWEJ9߭tVXCg5L!$*H8Y#HSǠp\gNwadJo?̢5:;!XQU ^fa3H=^蕚%BPeS@?x\!|g ;S w/%E T7œWfN瀽 h,&ZM{ O|LpO hOŕ.^֊`D"ɅV^ND,ӂaf?lOucxzT#C 4j;rtIRJg ~Ÿ|c!z!+1r k@TNszH>b8AksRMfrf@WgIgړ[9{4/=U~rKYZGHE*Cǚ^ItS^n[#(~Hߏt|[gO碦B" (\fM| 2cZ &H\fKDN-s)ùЃi u KA ^Eh1̐,14n(~K W7=G To"Z/7-PS*A瓇d굩|=,cy^ih1'W)ٟDXȌnFDeC~-rJHAvQh,'ߒn(V!.~хx7D (lρg2A:'#LM o.T!+>ӤUU@t|sxT>0C:%`TfRAN.Ԋtr/!VR/5*|ʕU'uhX"83$M/&SRfju91l 2|'pjJf;TWLGpjQv(nГ,yD0Hgq hS> /E&QJst0KtG-"5ew`)=0#''v XZDfk__Egi^ϫ80]{>=s @zN2!K{R |g Û@|Hupo_!$¹%7wnK<60A9_rA2~7ėR=@R3BcWҹ @&\ـA$ RL8ؐ-fo8=-@/A;eD,FhУ ye @eEna9 ʛ]'ҭ8u]_lf\~\S伮{ כ+ yI*4$CP]"=uOM쟈IQNp17Ò8^xADqqJh󇭵X2)ȤIۛ/*69lYt}p p藧̎ZkeoL(5%q{g g+i/wn6xv"@0u":H)Ǝ'Smb4{*_-H.`SAz\EdE7"ty%>MbkyAP>#x-yu>8Z`]N),d1_O{q_+#ȩ2ݰu-TS NɘL`wï9iry?WH!i,6&=Tf NR!<Q l"9fx,TP۩E#wKF?1\*O $g$a9o]…&1XkR ·T,'@--/ (RĜ-5j χK,rV2+RLPn\MD &F;e&A ƥ}^X,VG#}xm fy ߓ,l4 _App O"@IpB/V|GMf`zp[Mw4I85 =b9@g ,0wc()?#DVU;R+ޜcyl8~*rRTzr.2t @~F`-H=t#2ByT!2n˴}CǕ_3(1>,pUa3LÈ+#m7g&d҈ɶl`lm9_Ry :$|T|ҔJ(9yv 50s:bbTU!Pq X j' [OO ـgHO#. u?zm- _ iQ.|#eNu}bB Vەj9=9ªOy!xV گ`C!rL?,pj6Nf,Ipy憡 L{kY"{~tB HPo#DԚPk`?)O,ȗ Zc_`=Z|  \}alH; _G"[">MrMta",V/ 29bʅt.|?2=J`yr#W֕Ab.0^9>[kgDi\&Iř8 ),>?!#!&.J('+^ <8)i:+^RdXL|WrgJfM/ZՈ 4!b;`*1`y`ro.C'LD"S!)fPGAQMp O] y1PGfJ &Δ ߪxe|92E_^yD Y2Wx HTbt%6:)Hz3naVb$YIar3D/?c&P?gJHL|]GqDB,!Zt@BOʼnE`(3(7~8rډ 23C^T7pnKISK 7gWӦ+ ]s7$Ppx1d:fux:q=R?0H.װN^c)\evn'EV,r*%/J-[G,DU60u)2n6X7=3Fu:byAKRhm}O+{+_Vο>Y؉*Z_Z2|#̩7>=p:M֟Zֺ2i|2?NT^T`D9HaPCV˰K {W|򠵐<&XH$o ƻZ.F=zYoM&B 3H?\8BA5H5 ^oF^$~0PIjI+60_ )*'^HkL8|96r(Qzdk 6ŞŰP!1C 1oZ(nHnVw Wc]l`uHLuYk% J*DCboqY8SU :M-=C"&|8P'(ߺW[s-x rOM1,N|!)Ћ_~=(3GO?Pf\YMG\ OZw!lNCtz3o\Pi +8#Cg>4u&ވm0s`}`J¡QuL\:ܦ|-Y}ScC.PyEdՋaY`=6EZ~S Xˀwiz( 记`}.#zEZ){D[ٽV~z`ˍjC F6XX(mjR`=э}٠)$_f\SkćXvd6kY2;K:G}J [J Wy8(H[D/ܺQre9adQ *ڎNE-ޮC/8A]}N4P|ޏs^ 5`Yw&8ܮpOyަ$CwX[GAvxBD`cxÞ=#KG )7hC,\wjipQ[o:B!LūcW4qvON (KlѨ򤑌),xEƫ3hHsx_ӤʳgF.>LL3>ħUc)o~&5¸H@D3AƮH D/no}3n /9HM*h/ǐ~yM{& Ve> J DWy=O߰>y!필.6\y/p4hDAwSٻA#M7vkov_ Xf΃̶%Z?<_n{$J T'#(X;QL^XmΧg#B]vCg4Z0Ńa+᳊ټqD!Zٕ@"%:|X׏1qgFL&4tv5~6FAe0_A#k]W\Y.%ba -,Dlk<^G7@&Rm S"]^N6Ao{"y—F|1:f-I҄ph@TCɮ븏zua V _ÒKuhőb9{5w̝("wFR ,0SȎC"Y[ҿis^W m>Gxone|n3qV1ﰋP]z?;?( :a_,:F8m/04Kr#4`X&Y|&!ƛΙCyF|aAL|+a/O<{D:BfJtsy\9ԯ4=R#Cڳ%0, lܰL?tU ǒ -O<514$p2RsR%ᾮD㳹9ݨr]avƷH:ZbuJ9^x8voaKN!f@܈C6ԦUd|٫Iީp&*B'76Y*yi~6-ޓ%kğFCa2_/ Խ;yY5]N+uM찺E;}29x<~>k:b璻K\K&PU>!zV$;9 E(AYz2v:XW^^dD:u vjYkf@wT^CU0/jqKŎs5DVNGup4 L{%/uj)?Oˉ`-k+R?rvEK_vL?Lb,6qbzL4·Ǚ`NIb+"Y9Spϰ&O^WnGX9R ;3{s2sK@gˠ+"¯XRq/(is\z0LT6@ dq<|m <:oN-y o+EkiǟT]P2^RO?D&0E dnZ"[$m sM~^ySs}xp/?,m Jk`Y;t-¼^l*D(`w oף=n>YP:hnd35Ц!sWDF#ӓ$4 -<1xc9o:)Ф}ЃVr!Rm 5MҁBÓLqH,Uٜh&kbCo!r[{m*9*H &P>w4=/Ig(HWG3Bgm&,@'k}h8r"ʥI5_Ol^5LŇ(  I`qP`z`x}:. 8 ^vY,YAme_;bnbVqL O ^vؓf֩_Hp yn1HTux#BsR5/ER!]aWmA:!_!p\v17ø'JA8r8%u^N\CE TI ?-̀-NBEG ~~P #D:2U i+E U`p3# = `^#ӼY*[L`tAnM IL^YQ>e`QBO2gȍHsql~hO-:'r@.{ّÚFcYvB`SPq7"1R-s@b @>*yHNpF&?96_F~6nÚ_Mʗ!u`ZnYJ$؛*sV5RbqTr8Jlj^4yR*CW x~!wm#N Q,T+؀=BD`i~ޡ.Exv$dEb>TӑC*2 K0ݩ-i˃vulX}]@|;182ۓ=)5c#D?xl+;4Y'mߎxXxin1gdn=Cm$;v 0*9KUa68 v1#tљ50u~wr)P餫o=---:fKδN<>g_:+)=3^*p*pT<*.ټ_>z/[:0yq WiPPv(R<#M,7a$?!ʏY}^{#jz~7l) w"sh1VI,ŁXs+@} 1sozjd:W.4K`hV~/|KF ږ0KuPh*$5ԯS p$9O&.?6#̑ɂžN/n"NppfL'gy@7'ΐ䒔A4 j+qTHlR&|6܋3pbȳq\DrdWFm), lC#DLgK|;G6B n$ c(CI4-'ʝQO}!/fm˻/7ܧm2eB#*4\9(WZb/rY|`_k \_ Lk?@}gp~%HHJp A/NUj;d~Yy>SJP\砘4˪4?U\ 쬉;mvJ`I pZீPI^*GDiQ U"y xԋwkfS5X$-%pœ(^d+՛V'_3?z{뇎{-ޖRϿ.fFY=PIRtC<=yKIܱh[,|-ȟǸ@[oK+5c6ӎLmOe^$^҄<I{[3Cµ7 '#;!d'f֤Y10ѮB]׋Gj LϋpѤ W4\0A0{\>3Uy;V2okDޑIZ4-ҳUhH1O!Pȇ5Ma 5U,x㗆To !wZCx =f~ ཫak߻/LA 8$.b,~Un~\͌ͶT䔌,;+- ,J>ޛ*Wޓ"ͦ '2OX9K>,$%r#MfW~DhQuJLrQ@G4V̜ڝɵh{w-tz @y5 p'`NUe #R{W%~n&np?oz32k;3;x]^FM-=vwB+L 1ХۮS-M:ȼm ,H*CS+d&VfZl*"܊l(Кf&3bs*[I?>W!e@F?L8ҀXgf3ržq1-㱫ۿ+ uŚh\t/8齏[O+mtCȳns=^QGj=R E!ݤ4[ YZ?gR mŋ82!a_ u=؉" s,k:(XɁY|b+/o8eIg}P&~^ Y ʋ;@#Gyn;gRUW1\h GɟY߬uNc_NdAutKUK)iZ?Vo8P P;bIcf3)Zf4{F`TmnUlqcw):g~Q6=A{ ~ G@Ov:WYǑ iUgfL~u981+vdyN଎j1^ GDB^G=od5r%r}6|1cE%KNQXqX@&KC8\tVV:p 7$H_q.R]{ f_JCpRǪCPpIxv{.\WF۝NTl#G5+Qgs5-Ҽu%~UFX&[>#pnQdKHY3_8X[|5rz}8o.ZAYRG,7jV()o' [u 5pȎu(戜ÝFH"DLb]/ֆ+%PJW-[|QztX6?OL(:Ʊg;HwOr@&9S@{y7u>`0w-eޔ -N\fVa`FS(r8u-y(?.nK~P/`GPRZxQ:b([gG6Ds7$?d.Bz`xޕS1X.2 Krn~@308&\N?@*9,'&GcoF,H믪rl/]ѧL.zb*W1tE=c9jnKcM(ۥDpx h_&%5ʄ8ˌ$1$!k.Џ*dOr{RYyaG&xA4|}tmFƗ@lzhlàpҏ)M6cM85mGYh։-t#'> HCiv:)>PڿCo)jWE-0_YʋYnmM ל&h~4DeLsh-A Jt!5By:'*ߛXEPHKNl]*?lѕv|9{b8Bx~=gz<zX0 nwu;#{T\~ 2`:a{׌ᵹCEov đFvGܑCYQ IomJp1xPR>N%N|iu:46 fb5'tEL/ȽIv yz$~?OoC-?=Qʐ*5KTpb/%V\Zң%tN `:KMEsQaMp w#o/U,aNi~f³<XO7eF|Zڮ"#%w%#s55'v(CMmSz*K=Mte]>E{x'pc{[hBROKShփ7nK/Gf11߉̗#4H#PXlT(^s#M O9KW]XVﵧmTiO_lFhS0|^ Orzىa<'S  Ge, 'l*Gd!ɿw±({(}Y1.dAY,[ֆɻՒ]2e2@ !=fy:` (Šu{HgFeQ v"<պLxƮ(CoR1s،N XbV#m߲Nk{gOh_o; L*cF P|Mq"|ޒT%8:¤REZ|%i&*́$ ?1 cahu+ \Xͧ+5`YC*0Qp$i|BZĐ8 'v59_+hz Ыy 9Cx辣QǿJϯ*dkQ]xGD5Q@7P9jE$Ålw"[ϑ3٬#({() ,ڈ]NJIg97vMjMOs'gՁfZ{%&5;=Ǽ5O n%vgF졪OEΎZ6^-:+kLܻxIxס=V}DV*1HI>q:VD=1Ic_aU)Ϊ#>tQe*|g:eOzlkuX<yh2/rz=P],$4n*-pГمjKx"P{kvHEofh Æ(!Н#S05.Q# ERʋ 5F0TӚʼn&Gr>q.X PH$Pb1g`  h+XʹVD%ҸLjg-~;/b}%yyQG ry^}x @0T0*0,~wzM%'W`De{ WVkx:j7gM^,kAEYUU!۾@ii&F 2W).n*rFfHF&\ֽOj7 hQc 0=f\]p ܴ6k,cf$`|A&օ0})b/ r%z 4o]7C9gMHYwgI0:YwA`xWtf" 4]laǵq E>X̨;QHY@4F!,mqJQGhxbi Ŋ.fI@ su"+cv*qͤ$研i&9XJݩBDhdY ~stJ=Үe\7jhAv%"5P5b0$ߚ(}< KөELL W;cڗ9}$8zt+}e0xO'e9K+O<Ǣ!:yhL21=a8r̩nQ%n3y婥WaDL%#ojZh;7T2-"0lvY/dRsQ̡3tRcąvnQC4ANF5Q8Jfʼn8|  ,V:+W ٨0FWcCm_LAOOcumG8/#rFX ȉaq"%Ze@Aq@Mn,҇䇖n= %>t,I$V{-)js Hq[tWlo<;4ygMX5ocIdRiYOi7}R@_u?;>)m-&zzxyRkN~ۤ #Xi)-7e WwzjbuЙKJ)|;?':VRUc7 xCOcT}.B%#ݔZ hia%r$ _ɾ4R Op 'HlV24MX" LNe,:愋d`1 rC]eI' [ JS7".[a!Kd ]KsоxtKLN|fs>&9 l6 1*j>p ķUVqD.0Зc$8*✼HAuPWD:B# >9Xڈfxr-D5)A 對B5b/kWppe 6JÏHUrBW!Ixf}$g݋XV2;PA563׼?7IR@^!yׯClv.bQym+thFO̡-:kps0\pf䧮9SyN˱H/`HB2m6+K/Zmq5ĢXL+!D[% sH^Ly1' 蟏C|/y=Z3^~y:Bf&u*"b Oq;GqJNcOrR 1M8J?&:2}PdYUb/oCUŻMӍ9{CCt@;$,dˉO2_Tl\B]d\z|A033!FGW2%^}{ |؃E;bKF2*dfR)Di<SS/5'Dcy+,yCH ZoNgT ;Xߌk3rzFb <Ԁ ,x> 7x{-ae F#4ݑoVM@yߧ]ˣBIԙ&mNۏeǛLp&i>:z6P\#)9m^X1NTbT-U>+~-!8%WO);p A4;s*@u %g ki@zv?k%2EͶoM)_kF6+Y`Xcsx|!nԢz**>i>pfsg8 EzY屙o`C/Nv6)w\/hĴ6z&h{l玿ujzs%D$ Fݱ`A׫Sq ]HN1W`8h41 d9n/kD򞌧$XSPtnh1~J+ VsGNe,NF> xDA[fu6Zw*7 ('v0-}5ޫ'nQ˫b:iPTӎ$:9v#A(>#2⟬1gSpc;gW$LrI p^+ ~<2Q_k &y|Č &H\H; IcUJ)LԶ)^hZեhTkd͌vl8bze!?d:66֪0J)i]۽u?KHC58t'{+T)V͏PQm&ln=ewkwSu:l/u뺯ăcnpEJNUɹ5*A22 9>ݓ/֩\"g% sm_ϣu.3t2. \vH٢UU&7xRb?:9lg0H.Jq5"3bwi' *5^_^C@ )*|_}]I"Hʝ"y8R>v37uIIڹڙ}h42z FK \i< 4R.YMm"[VT3m+mi+:}Dȟ)8+dXhuBa?90k aVUuS Ty>KPkC4tnБ a5ܜ[-O._ÃF|el6\¢V{23ؼ΂w"p&bLSlOp8, uz)FRy>U|2B2^9=KtUn 5?0THX& hA[Lm$~n.C\+=A_^8qcT(Tj<9!ZZ݈ij de-yR3L1ْdN`{ wd;Aq30Pa^ ڊ@bц$.e l6,Q`{32\>Ń'h88I҇ޘ@f@2"?h0w mҹ+1"ynbtΑN'$縏"TLX(R&e8u .+-vOS&Rn0 ω|I!(+1Q2.A݈g%{hB6ph1ANP),D巆hfNK(hTJ8eKTn=`mA-1'd}~wcA8bJEi]Xldmn փ.WoOwmbҞx7~a7P<|VHzoʦlZ\ $a,̩%gLuc +Y|Ar֎wd:@),_r~G]Fy Syz By e-Pb?$ J<)qhV89?$' RqؕueNqOZ>_tB 4SB ?v?L=66Gf O6^2LV1ř_f& 85L:"r:-ͰX27ͅZe6EX^Mp9>A'@ڋm<]Ip/6ǔ,"3oP7@?+@ ~5u/hckvG\ 7X=ƞ}նSL4fCr\ ަ6wœ[zm7Vč)[xSwL@4R}χ"'kX.bFifPb2ۭc ȉNgrF 5^ǐKU3,^1嶄g='m 0 kڎC!trȚfȃ|x麘vA]5TG =ㅿV̙Z*[ͥV2Au<,,1vÈ(w~8Faذ2]åUD68ʚ=Йq z dtlNmR "mm(pvBA2gm7r^)BlA#MVNZGxWYOʏݬ2:Â-.O=}+ BBOv͋r|I5țЄ)xg2ckX?#utb}4CLcW("3~ ][z9bZ GplՅ%94'Ou-4C8ΟCk糜C,}L. E x2=vvZoRH߿H1m2AmOI ~hD VY`E9n<ɵ$e"/-י0ȧULF7`"Á 2oxw{SжbGbВ*_dD&ɱ17aWsJ 2ӎ4[`53qi2Li@rEV_cV" Lu*A#Ur-9s›,E}s2"S韵3稢r%Q9Qj^ PuLVb2 [okq!_<ħ!H%)>rȢGk}uk{tP7/9+4924 uDg·@lV`m8aWYwY]wT׌j rXKb-wD;L 9K'?/εײT)o$$F%xiA4=i}\:8}ӈ+$3^d)-$D,O5rjfzLy2C n Klz%VG궂wI̦ՓbƴwU”YpJ>s= 6B 6W)>RJU]q?(+DBm0[3DxMv \nё8CLe ŸFR#BdM1'-V\dPvq+GכVFCd4 EQ'#›eX_ouP״wEo+`; #MLs s!I \"r%ٰ ałoͶ̞y.P΄Slb`Ҽ |miҡ/ EDɹ,j/0w0_,N§WH*S4㦧9?Qu]µ-s$~ H;ᖁ,5;C_CErW4AE*`XtDn/\!]$6 0Èi uo&+b@ i-!Vcn c$8,3#~Eh`4N30v ee }r۠:}nGȁ a5 ٔbYgRzLeсt"Ӥ9u1Tׂa/ܣvc͸{爳=Ί uRqϫ|4| S`+Y8**cY#&/Z*ZbiRJ}? m=@ŊꂏN.p6D4 .8"jH5JIm>?i䠳` @VFX [7,Y0w܎WaJʪH<3(M?zj*?\Wq|މg>tA^J4+EOe_8e?`'!Ŀ`>?xG`VHn ñC nܚe/|煘nXsPR]noGk KCr,=͇xg(m۶mӶm[Ӷmcڶ9m۶9އxw76nllutUefeV2_EX6 iӁj7n[͂.2Jp1}eܰB8c /;f \`6'O=&@d&N#n$EP+.s.vZ[n9dwL6⌷Dz"Hǒr X+/_?3V# )Sk P- Qo0lR6iG)=sbS鼏e:\Q"7r}Gگ7&Y~ʟkF>C =,hk/:Ef ymΘ|DR4V회9Jdz0z[0;g8 @KL7m&(VYsQĒ$Al |a[|:: 9)Oj%T."CibZ42kh I:y&L,'Ė 0RХzT@./pyswet695kCU.\#nt Gj1dvn*\id\a,x rMU9bGFVRIwa~TLЧwB³Ҋ ,4ՏuYݒ46.4" տU#^g#dN Ʀ1zјz1G.1'zR`&9O{1Q995ɲ]Eoa=5ջX/qaó\rR:c6^ Ee_*6VvW_\0 ;i=b݌`77/"Կk d1;tIuhajH?:l6k{';etlڄ[-z~؜Qn肉6Eft[F(Ԇ*`1Sm\Г{~uõV-Z۸K^\ւHt:6Oa? Aa6%`D='mzZ"ݡgL9Ԡ'^FkS ]8Ij5qĄD$ g̀ؓ_օH.r`  S黙yӔi,v8m ?'tR~T4w#^% T[c"MppHmW)M9PVV&@ܶ0\Œ)A{o  '2#HSd[ol֏,xW%| hV [/Ct1m.)aHr;hX䪻I0kiCpX<8mt5 2^+&3QK"rfSR3/}>?tH\~--]Xs5EjOkZV[F5 YĩSq/)D B'Â.5M.`Ȝ&Я;6b{uJ &׶2/F%WW!c%tGDgܝT8=:GE^rQ}QxxIŢ C\-V}8]A :̬lM q00me.ݚE-0cb"\Mgly^,Č|yP>)>^N2yq솇LLHzr>99_>tqd 0(,wx` mKw;kҩt*`RMQy"t^(y4qxTiaGȯPV.n#Tc)4/ɟO..`J(czlC?BHl>po.~4&55.XGت ӆ҉8X4B5O#I6zx0XgO4XTޫh& pq|ϯ&RLya&8?2h{*:ބ5P =~d_ :7ja>FJ}!.< ,Kxf2q>DTE%eu@K;%ԴRR ``?"HѥxM9bD:#=N-a{ǻd @)e!;*NNd4 D0W8r)Bo缁Lܜf^QxCp \3wy^E$fJBƒ2@ݴ fnjA Kvw>qd!GV̎ 5l/u/Lb!V(1I1h 9ZES1!k$brp|j]=_p+nk~/Qܲ,aw#񤧝׼tk/1<{v&i;`(z9Nyp:Ft޴8x@N@aNb1Xa a=)C3 5=џt.7ۀNwa^A|G@Zm;>3iځdfHVZP0M""M;&X#.ʆbp&Y0XXnzAbbW)Hd{rvskF:Eg+x0Z@b>ChCXp!e찶Zpg# ZTiaX1p R0֋G=jLE k^%0J(+E~ sEH@`nէӯh%B!c XAL9w1' %܊(0A, 6m HrS*s8I'n'naZNe;=@cX (\+&LhZn/ ܐ^@!8.1-(Q$qZ 8?7XQD$kT0z$4'Q8pDf IQTvTC( a vt cDnۭ"#H#:Dr\Ҕ&gD(i8I8tߜ@a0 )}ܬ^&~femB` ~t.yA/ W Ppy.otw^I'tT_:łca%ug?J"0`Mf' I GUZ'%r ׅM76HQ`3P$˚-ِ_^:hFv=l"L-qփ6GPy)g6 -ظhJ&W9*UT|Oΐ(d6f-4L7Y OzZC|ђI![h-Y_{ sK:mS$\Ø5VhYJR!RE,h*<\Rli&Ja,PNod79|[<`ף >)c'J?.&~Ef M)W"j^5ye%_stW=.0GVxsp;RZ3U諏=XZ/OH̳ԇ)3(g[o;KC6?t+]sZcJQ>4q \ܛvn{@X8l%tZK;B:Qf,oB{=ADbM4֙rE}ES@'k\^b<rn]Ca-ʊwc,ŽFbWX09n/6dӂ%Et9ydf)kH_vxE.WH kΠ~M+'><^8VO{k dxﺜ\Z(L*\ћYDs{2k'CXkap{n8Y(ÎYlNDtϤt${}# ڢ VtQĴx8 ULI0UȵOkйd\3CF&^]{ښfv!~֦:$C bGGe~W(2RF``y߳Eg!Bh]ghW7%\=OZ|^[GgXLqvQ~>6NcW̸ kNrJ ]7Գw'<_qM";G½6 :ib̥Un*<0kvAVS<;D8gc[bY|,tMYwɚD;|}"JaGkEx6z>/= dWoîH¥SN9YbPBc)cQmp6 H+s< 0G*pH=d6x=(6}dբr[߰a]u|prǮÛ q?6*pNEBwM{.͚`  ~d?M&Sm(vfl* !8|Lm Cq$]jЇܵҜ(f+.f0Sx/nh,)KǬ6- ?JL 2LR`p;mNgrMX\aʇÐےK~%B۰b޻wcz$K5ej*+X \ 1U%.?k, @D>؜~H5uk~ÙsMv ?6!o3 $~a ֛p|R }@{?fZM>4 ~9b@oK0M:0dXPZ,騰] }8ljn/=vW`3vqm"bd*?g\0yfo2> ncw:.2 P,h>84sNX-/E:b &̛9>hD}Ll>m]$Z99AtU+V9i:B7[G3JE*+>9IEG||u`BZs!۶s 40plmC4A Tt'hYݵ2S|\<ϚMt u%[$O"#lt-X)_C&zB#}od;>fcҚ4S0[@=[|;] W a<:V9a5۠?Œ{xo/K .VەJ/lǗi0I9X ;^H[*&벺XV㵇yViكvFc[􃲗ܤ~%@:kls쯍^-!;NMl5̓qE&롧oR60{sgw.K0wEkOQ{gXܲ[=ƉKێY>n~"!gTvVFIG|j' MnyLs(%i}.M ~X'lvծrj[Ct8$98v^+nbr 4d$mpN؞f;.Y-{r,Mk%p{~~sځ Rq1B-[ jY{Օ zS4m'l)6 -LuF'!h 9H1M` _TXP|kwg8̆  b?r)y{5b_;J^X W|dWms$(U| 1;VԴ~*t6@v;uzf6CY#wdȎst Vݣ`t$ `{Y*sav/3@™<4~nO# Ύa4kn`^HM~ȵz!lt>M+lgWYT1=Za1+Z($P_5-W~~ ;f Fe.;}\ϊlڲ؈9 n]{E5H}L^2g7622^=,v4k6s 愉ؖ}k3 &+ZpŁ5ak%ISH'JjϨ_=b ]m‹~%K+*6Hy[8w^:U: E(B.;w`CLNpLמu* !?'OΘ+ä´r>G\#gwIMX j8u+XHՉqjpDzzn"ՄM3DY*%Z|@l p@МũSzHsHuF:xwJ{6*} ᦖȝl1k)C z 2hy ː >6WPϝojZXjF04b`LW=s/9ɵqYT(PPq TZ{ȋ+Y 氦a 0z_<: `q P&1k\=IHt0xV|c1~l]gOZ6?8"ԙ73f[՘H<ޖ APݽLѩQF =%0y2^ۤru!'Co59gh:ip}.,;ZBqX]F.nRG;Dø(Ty;UbF"Q3Ӑi#ZwDc5oWsIYuq@[C73 1O}u:&kgLA0!Cդ)~ x:`Q{C% w[S^L:" 98VIl!v;4:e+@}13&?E~pQ=U"xOes+5m oL(f 6%4 %~Qw7|;dX0=\HR3hIZ=iZaT"X@+9W4K\p-7c[i8V? ;8N RRirsZN4/ְ1YT~ l#PnOݔm=9ں1rK2ufIeMJ;da?vʣH4EUa5I_R٭2PcUC>igMyJݽlTV(`L yu6ZAȘ/dpʓXOV y$q2O8SI A#i*NWXD }HIL@' ‘3= [t ߾65zh\F\sC'㖜YBehz[c҆+B;g3^kّ&?tm鵙Ӏ˽u֋_^7%=ER,G^s9m0~AN2Fkל%>#1Zwt5,kЏR'Kf?#JG&VX! iNhd_`9 ΕKh)%@bCh{\"\uUdwPrXHaܿ*+b"Bt!IpbId`&3wt~Qwo"h{ H%uHX..} bE9rX3`v>8ԾoЩzSNn՝l\hks1gD%>Ei@fi*hQ=5T~qmyIZ ؙLl+ ;:ZB&No?,ƚ}Y+hJ֬'2 5TMEgӳLgd!/ WtxiLqT8dޕ(m.#S#L~"TłxrL7P` 55Lؔ# &M5_^sTo߆ }Z֜GBbLޒхK5l"QTm,-@WxHbc``KI : QvS-SZ& M~,.ǜ%Z;f}Y[LQ -jY11?} +x`CCH#<Kx2< -E,w%$BI8Ktkh֭ʔRw`Zn;=,h}CVh7ک]0H'ֲmlIr7j78 vE92^i鯠lBtքm%D^Xl3H 601T<==&l\c===Lŭi"?!8rzE]f vLّ۩XĩggE6ж9?M_힂S%:#P$# Oہo;0˞P'#qßAg00pzJf(i%VrX!b֢'-OD&62uٙz׶ k3D,vShWߕ0WՎM=3%oNX\­&*? }7 B628e+NN3aNoo4^u3j{ gc85oɞ)ިY|.sfTuL2Ck4 |(8<Յ1QbȐ\vSB f`F#0N^SSx.yU)XbZ*u{| Zp"#xFC'Qn GkD3* `ER =p6C.c{Ge7ŘH\NO3P$RU8R4xKL BSvJax?o9LGϬd- yp W,/<'Dr4邛09R xϡˮ%XOe1"Hq#Z.~Łu//{V#7W8Ds룫DD(˖cP~ G4չV60[yN x/710pQaiv#Xg6o{Np/v;؜kY?[8J7쨫k0yr㗷 ſqxBow-XntvPIm?Qo6Vnse^]%1=1ohnf6CU?-vMe|h9-TaXA63\y]Zz+%Ԗy͚£nA5aTܢ#g>3=vt륋6XGr,wٽe|S Y x Xǩt!( @>e6!\zF=*`aф.IckI':aÍT;=z!qq;_Vdx%VqG߂{V|Iߴu7:&nn[`畻ⴶ0?qwe?U>ىWdrOUSw[e‘~L u ê ؈7jEЯZ6gcY9ơk$\o' l:sբa~_AJ>>L r;zCzrǬe` ?k{g`1`:eusQ#&(uͭYrԧzgrA:rLn`gυ1ycg3A l[i\0h}oՅXU'n;VpmR=zgq.,b-o^%~g@HRN>u,|1×OIAmMJ_N-JzvH;A4a7NFu>sYuy/xZww }>.q\G*SL­W@^(aF+K=xk杠z>R|~)m#.j|apF"&Bɛo6OExvXAoZv a ڇqqG5?Wn*x$M'p6oԿ$1Fvh8ENզA9 5wܯnX|o葏^GsK2T~2i Oې+;ɏ8(z?tqny6QLmgDp8qedOA|Zt Ms(к_-ȇsj7ۘM Q ̡d}|now')F| =o7L+*m--D}*t;-39d2h5 ;!-{I>P,h'.<kNubQ2= nDNî%Jj+˃fwR;"$OslYG%ֱ.#o_5^-)JqXir!t*87p:O"RmȺ 3&ެeŮCGnjjɠmͺ8 #M.wG3xCjo` |w\|`a(T_[+ʑTI׃utuOa崂m zC}R Kĭd3}/I1_Dz3XYzƵB,_S#φKO2%OQ sE:+:{ 0@r4RR"V.-{ylEZ54o[R^Vj}yAE O` u kDU^E#cF Ŝ¥n58»dD#F/V^[wX"s`Ωa a3#iSSa_C̙-}cK$u$B50M;Y-48ՠ޼iC)8/4 |]>Lna./2o>/!h}r:H=Ih9D1-= l W\`W)K 2une%\o(g^j|cexɪոh[Zn6f>^A\xpykH'SVc|D~ə10'imqq\Hv&f ;!:t2ZOWt,Y6 ƃO7z}O[$K,/:]ZPrT@KAGjhʉ6 (0= cwwDTEok+eb7{6Q^E(PyiVB+*NWMb >5< ږ⧴%#8R.+S\*cJ`ΐ$!_i. cj3mO 3^l7qje⦎d҉D EmHC=f&}2> 1H09'm]m嘹fY;m.EN @s"uBs40tln}ߛq+Q]Ʃ7d7~[8jIRь=knaepn^> ޙx!oH*d~x&lA1$r']\ƀkKOp~s>=#q~>7wo6&6ֶN\D VDdJ]V@фֈ_{6GcS"b͍ٞ΍ь։(89Z;[}70sq%"7lӿ{  ]17,#GTVOߡE]N&?L\LD]g$o?LLAwd{s;g;'s`}ߗžKQߴo`JF;x^5-#2_0R០6dll, L ʌ\,,\ ؈{-zwYY.IPckd")KCgaa)*,(,("$,&o"vF.5o W+huK , L llllBl T$,/;W2qד?LCD_I_n&[5_I[G|;^kvF1NNf6&faak\2r1gw?",$ (,Ll\L_E^foQ!E8!/ 9srpWC?!w_?DSr\ϻGol_K&g\&2&N҃w&CT@AIK?16p&WE@}" T7[w1[u$ٔ@@2IAeNQG5 v׍AÀK 8{"<BMH!  s!@Aa`Bu.g^W.Xِ&=7L%Oҡ-ݜ7 g90eʤ B)MXp\dX\)Cγ?q\Ee"|ذk('PKLJ.A^15dX8ϵ]$|שI<1z$BX/N^sױޝ\"Ð<1,Iɣ,OX[|":Or9Ƽw|AS9o4ȺBT ފ6NW6?fkX0+ Y4ܙXIJ"юO꽿VqtxY7$Ԍ yA{^5oaְ_ci!]jZC)HT'JupcRjLM.xu(H?J`㖜$.(_y}ԭhEՂ~^`L S] zցlr`aċ 0ᒓBy քS6\0VA1 2~H7UZ}0kj#Ia+Yh&~ʱ&X(\ GE5iј^B @J4θh}L>RkvF,)́"\]M0DTyWP{Xn8`Kls]oY7H2[gϧj]?Tp;׽a|Sa׿z>YzluxC9֌xu=32AȞHEIeaϧ01Y`-DGXP)J{ų> @VegYBEV65 9'Ш)ک OR EH9qvQq(#Axdr~.J\E55h y~qad ʞJƄru9 m5PvE^FĵՀ}9h&FE3dt'Ěd.Q>WF~974 oGWcmL:0N#+[582jF"U#V;ǹ3UB Hl<4ZkG0ۦ5[ģL* +;aL$:TSu?RP63JԚ~'կz ԥ8Hꗎ pB6 (m2 gMs7$˴,uF?sd]y윬kWƅ0?lC h2_"eXT`92*`|IV VPvf"+4$%Fs Ĝ >y>vnp=OLjf@!œ]pȵ'X u C]zSׇ"[vXG\C nj-Rs|_=n dK#)Hs2uo!$dBG1H|k}ap*t:nVȶٞ5jqzPʡbغ00585_ 'gPδ(ˑmC; TI!zU!S}랽StPݡ6ſ:qZ;et(lgЫ¦i^`TB4&8`PJӁKeFFNPzUmݬ`=ry$sLxxZգʸac(= +vͰ߷L/J1rnXxq[ɨc@-{ȴ.N h3Wn]AIEf>(h$JQcтuS`9bYLUM׷tMV1]3 @{.=,(k h fy3z*`96i4aO0- dZ\TQ0yȉƞe9!W e`01'#%KzmFnoݼRO\,鉘=°Վ'%*xyyifOX*ST`w/JM }.PЕ;j_C8,( H1? M 7솓\iUU@4* g{7{-UK{:sDZ(iV:kCs!|c{s`y?o/[ #u* "(4j֛5ߍm&aVnU69gzY`^}6$/.o2sA;bÅ̟kkrLtݑ%1Ce|'ӆ=TTx~J٭9=σc^ԜUT:J~ȱ064֧zύgg6hXJ"#ߢ8;a9;GS S̈́ݮv"vmݗC1f?Hׄqq1J6Zo"+]ѹoz;ιU6.|l-rd(IOsz.dE=ߒQ^FU<IkeXk1p (QPo>̾ Zb,> z)7#L[Rݠ ƙ J؅ W P{D,V+Q>}!H'cLr`ƀ#g'}GJ_(<24x$kCX{;%&v]Jp|iɿ˥dc$E*5%gqf/3 u½ pw\^cP%Έ{Ycy&UޝaF84'Na.ycלX3("Lwt!(LJ]0w L&OXVȋ H5^$@m7Ԑ\/e Ume2N2 /ImfJ0BNWh$.5A86ֶg`{ws*lȔ\UJ<d!2Aݤ:i˵I$膞͍$G;^3`ړ2T 8l<p"ލe>'"ERY'hՈi$)?ů=mkϙb,"a,!V~e&Ƴ= K@8C]t'BOqH83?ă<~!L᪞$о[[bO,fz?W ,HZx ZOu@%t3ܶ!%D^W#yfϯ4|CN`8+'6o1">mZf߅LfG~>T#CԎq?t`)iMs/](J $L_YoTL.#sny)jjq[@H捠Ԓh$X1YW(6U _"xN||Rw*_=(m}h)4˷FY̋s[).jGN?-l'2W9~8\K vLOxd+Cb Ch8=W_S=[߼v,#TOlz<ΦwNIz( -״^E;KR3ԙD#3%)>4@Vs][@Hk׵HKT]N դ7RmOVQ绋|n1(B_h\5;aN^~˭5rD"C`Z*X?F1me~C;4o}fصLjnQyLE_*2$/28UsX͞yKf~P2Q1_4I\]?JNgfm ~&o#u9[cÜyޡyyI\\l<M٤?\s$ udZVB˷;iK`^]7LJ0=A[r%z~ݴi*GNP 1I2WA3%挊oQEL%GX/k ť2x 5ũubu(2/Բ7D7n[Syz>F= pN-WWknSF7TC!ؿvY 7qݦLd^6N=bJ)'r@G:D3YM݇w|AX"iQgxanHV(p;?~V|,}1}*yhd4y T~E͡ՖIN,:OIӜ„s#.X Q)V(JɅusZ pp<'[>ժǗX}<[)QED}x) iF5c4%ţ{׏Ec¶4+ɺ6gy`ˋ&viYdM _O*ѲLPIGdod"/rL]_St^ct}# $ BZ ;fH^kVk,0T5Daw7 vY?J(-o XK Ƹ[y,a/zMm@,>cUCg{9s4mluyhjNu^=%ңZ\1XT0["PoU6oEXitTpl~).ݰ{P~V瘒 _К݅kKI3/WF<ܕU؏t9aڠ`8oն}B0DŽtD^no#ŲPɕ8O=aȧ`Kn0biͨ`ΌPX"Bܸ5=+M3f62'aݡ[r T~0[J$op4֬ݗR=ihSn1uC:-G0}kXX'H^)39hH)?WU**ѻnMpxC4k^)~o "55ϤrXnTz߄]6+ Z2^SiD5`لZ[_3zHoy$'2SI9tz߬ݻ.P9X/MV16owj-Qř4tֳ% 2"6?#|΃o{ M-&"?IpUL05Ǯu J\`M/R6{o:Sh!\yZ{U"644:%@{8]~s:_}PG*GSs ɨELIUSwMZ"R{m{!؃ifހQ6 ],I9 8;vwy7(3#Sj}s# 8]~f=r}G^4S`M{ fiՊ=ݻ n66y26 ^)Z6p!UTS=-(M 0O{ }#v街\^_ͅlJAk1[bcCdK&sc6q8?b|YjSCe;r K@A:ցv?uIdZv!^>&?{.ܡ{;?7<*]'V]h6-YX;׃nZP*HF( !Wb~ =_,BLAO)Cc;O'N3n'~fw|y+55Mkv0G PFR{CO@tBtqu5A!z /2Oؔ?bKb/d!@)Mb<︂y#ZsOk"NNqR$V"`m=jpBF3M& Th$ naٲl4$l.' saX\MOe|>zT~}+KB(u8ʽDJ|.ژ ||#G}#)(:2p ]*?:NHU ں8=zIYn]糀M Lz J]m((OAR}P RuUvKXQ`$71| ~cn N<$ݱc]K8S/b(2w 5y{,]1ޑRⳛ,KWJHO!Ȯ[YTI%1>tV5+iO>:^S9w财B0{c)=H'Se[ /J҉w56-atܰF+742A1Kc+h47LGX]!.iO #xK2gR2*nC`g⠣~S5a,q"I[m)Ue(?VM8] :ݎ 7< 5@9xy`Ac`db@;AB,}q?;2BUlwc_=ϊ|[ F!Įɡ @-t?5¼z)%72vAFV&rY$QLp΀N\D έH{OY O샩\H+x T?tN &ۼQgL/? S?K^V}L_P񫈶M@a5A@VOJF^n"ᱥPl5EӅ~s.E d5~;B[8{=HgU%q@,GZaX"<0|C댘?W8LP?a,ـw5 hBGý}w 䪋JJp۹`&h ǥx%ٍ$&/|*De ig ]^w R_{@*cQqueh{ 'TRC??_D%~pdĈ'#ºϳ^:xT?/+v"pyLH@y[Sd˘?ܝ$ OAJ=v'4ΨjU/*~}$[]G a~ͺѦ]Cg>uJ;X6iR]OK/{]Av=Etx]#_"E=)tBO =gy| M3M[3PB[[)9)/+%Z_9!m*saDPRu 1@[9ւ f.!\5&Dz;mQv^Y1!RL%kih CfwÔ]DW탗7Srnuv2 S3ڢwt S cB+\Uʢ@ǠX^Km܁/O%y^]U;|ȹZYS%/EI M_ 0E@bPCa+^PL1u KƄƬ Nbu-D9 }~QVk3i9|NUC9Tc& Y\کΆ;*y~g#&%Ouֈ %8ˇua#)N-V7! ha`Jamq_n)߻.m6j.@ɒ5D̛&Ɛ"DDp+=7joƬ\e\}ey1失3^)8nzށX~rV6MUnYTa(!h5\n6<.Nh4]8T *5jABrYݶQl > @Ta{\rٙ?kYq< 1 B9~$/1?:-1&wEYyX Wڎ WbZ`+C@'81)nmn-iWLN-Ϡgf2!c FZ=OK0vdsgqE`p_&Ю*ft踆NF Z(Aa`MvG`obE Ve,/m5rC`&JL@(0G ?A0dEe0chk! N 1Opxc0z;ONp޻5l֞IZ.]-nf7MPJv5ծ,[eܰs:sYGz+v$+C9OùMseRcS}|;uqզշq k$N fz#5r/5jo80khk$Z.O:e%(_o 8^&hxLkhcO{XM2mro θRy~ƦLH3\i9jocR{̛VH)XuHq* KzSo{|Mkd$^%#x!x[]oea_+r3mUS-vnO)7FVJ&5}ddƀ.֨"ΙPo"q˨ %.N%51ey5\b]TjʐU3wq-+Ӿ#{z8Cc/YkXp'%DpMr>&*vb0F-@]2gPχ\_B]|;hpΩ|dRƉ8i?a{ުqDI:Dt+qbՌB; E]G#rT<ޭZv 7 Z3_ u;ng;W9 57_Tw<eP736&gRB2ʆV*5+b† [R,,~' 1:!ߢZB|17urAS5?W;U7Vԃt\:cD2Ğ aw4r+] U^>b{l?E=jכbPw?_6"ƚW[&`A'8oig hXo oqwL6=^tJ1"=0UܞkW4QL>kowlT.M Ee`f6N^Rȥ;,s-$.Ϲ#`ܾW\ql~K@5ɺf۫csѨBc:~;aGCN$foOb/hEtN]`HPDN;5&0߷S> p2+ܬuB7-\g6ׄ󔃌&x=OĖ V; f{m\rlЧT{0 lU2Όh{۫0sDd il'٥iÁ`R !sѢb$1i#?5?ADr=ֈL^"O˂5;p0IqeI5=̒Yc&peEb21ꢒL$mlVOf!}-Li%GNAd+p=`Ŭ5Gu`b\dzԅ'iņ%XRx (I2K1.պzc1svkyCW',RxQfn8?[>Q>e6{}{cǑaIQ'SHPg5PΥ =e}?dP\XSEhqaCS_BRF8c,2D(M>z͛| E:ı^ -BRA+WK4eV:L͍&geKoIXDF#s9%EТ̀uhHէXMvoBo7a(걚gJrF? @Gdȱ$ RՇ?WT#"K54YRxU-/;+ݰRO@'"w`WQneXm6LxZf6ԕg8 *ssis %g?O`{۶9Ҳp~H@"uW!sLy%<3 }B XLlS>7{ߏB|GcN<\\,%rN ^O2ΐ`6t-cK>L'tR{LYMS0j:gQ&u4ċ~Y %ΜwmrD6^QQw4pȣR쾯,1z<aB-ok $~d{'3o޸xp0) OE{RT4|R)ڧp,d^h=f_x(?TՉ*{<=0A? DpϿ<Ȍ$DH≅A'}ڹ f2"Z;Mh_dY5U:Os`9}.l+a'=75{"`1 #Tz7 U-5g&19yfkf B(&"aI \\M"o3_BiŅQwƗb2b=9jtm0=pzKpmjSݺz#Bztsi<^OK?8*>mв-]kL~'ZQ33[Ȍ>4@(% ӃqW'ax9]CAT.A p@y:Q=rIMm̗(XԍQ.trcDBOsٴ_"2O5f"Z^1T_jq=4~tX %ԴOQ._GJ[;`T*]zNM&$m\C%&Vfߝ72{(ߴў S\Vk}lbN%bdB&*-= 4lEs47|{R-LW`%nwwNw!sVx~#qN.=BAw$=en~R"wCa";x3nA)` {h5G$w:t451{v&*r[~Q0zt&.&oJAH&2')UH sOcGTsߑa(ۄ cH`ʾ>xE#P^b/T Lz= /O8*L%Lg'a R5*D[|/ ku:5a\7_eeHΠ;]zGa|:8b>*fCOOfpB\&W7qĦMtp˸][ontVsQuߑHI H`w_!^UVt<O0s] 8j--3Jldc4j`)ƈ᡼JY؇z Q[9QwKC#B,O 4r*i<>vtkt]ֶocu*'w[C&^_cf`Nȣe 10S6WZ(s( V.nDt/b2 W)ؘ]ag@1]4P/œQL\!gh$.{=RJ#倌zP`C{L!.AIɤ;ݍQ^D<-NBInty%PЄxq!3(/{:66w8.ۯl1-bfsvV' coP.U߻n c}wWƀi4,xސ36{0ޅ. ح(3@{85゜n>rII?n[l'a&D4i0I5s%V8'ƒ?Tv;Yn>{"3zcJ8x`;];/b> alxQ \jԡ0'نB(eb&5´0QeXY^#|+AWW„E0e1l?'oubsDY A<]ak:5cc[4^M"!bH_qm| °"NBMѱ:FYIJ5D**eŇCʘi"I8s`f2/އbZO]w?>'FCNsZhul,.ͻυyA/e<>&7YRrH"Vivd?hho80 іTaϑ>ҬbC=iXSr#HAQF|]&am" # R"FEGZz *ISj 3&ML&V籴ԫ,Ѡ?U3#^joM)lO :1&"DHj.\>~\ة c9^E8Ց(Ɠ;áP\)F4xW3\}&a  BsisN}VHzH9Rפd"rAl7n8~=BQ­gb|%Ȱk32<3.[ OR8$ȁ0j9r>ͤPqk2 IYmADHT^6xQf!ER6P EP0 +:,*5y 3{8%ypЇCdI%n$HJX30;7oDϡ EH)t& &x'4 ^ZdzzʭvT ٸ jXX Wa7ѡy,Uz|s98G$Sh,W]7_D9PdQ]g`yStæ U$r׺_1 RY4i0&.ey5U~A{|.O~JdrR pJ B2X3LjKfàOK* pe{GcTL9Qrvw"5V$=QDH֦<ߍ6B]).j|>+o%rv| &zHl. 6sB4i0I _XE T`Baz/$Osb^{/Q->pU-Z;ί!,u׹eH-lRKV3m'Ƥc1Fqu j=Ұ5F[*H1BD;U'uKLƒz0M+ $e3ei*ѤdB3k{~ 4o+em;>w!V!_D]/hbZ/)}I|=|sMQl^QLOmbe}״*)[&R]%DP7Ia\/!>NrI1.ilIIFaFCH#sETKbhm56V(;\,⩳-<ȣV4-Ͱ=)+Ksfgܾ4Aw]4zai&#fPHYAu` ~M먔+]E.N yZKsw(LbEwii!b$DfGP] c;D>T'bP^x,-f--NTRd4/HQEdA:FF _AR`Vd061kryɟ^;+|yzF|_bٳv]AiLk%np@ᩧnv {=kul_z &7ڸv,,yLOMhcP]%G>´P%!uq1ۧ$}eJ.>uwq>1:W$ʕMVdVʴ-CyNGDZ9xԜWWG̜\ ☱k#1T<#g*J󓦵<~uqoQk9cj&uXD8XI0O X64q .j)VSu!?s!يux ?{N-V 7\>6`imݎ0l\eՍ=*736Q,Q.ٱ؝6Z 2-$'4fF @Q Lc-~<֨|hmǵ̕O1 Z?m~AkK9 [cY3M & =`M;c3sZaFj0LׂCX'~?S Y2yL#ZonU.#E7@Tb wx}Le2: j)vbZ( X4#8(UWf.rPJLVzzĻ5̜c_| $fR=< & `z ٶl$K!,@q}ET {%E~!Nx}'~1w67_ҷP89Hܕ`6=3+Cfʆu[!LU隬D>,J% ,17V`; (4-e_mȨ@k EQ5Bu)ij46ui:tmrdBk09C (*[[DGOw{=o>c$t‘J9J/2M~W/^ŋ/غz?3ٹ'V<Z°EX `1E*,w= ^TW{P_?Z-l43u2riڔ4|m̞gB6u鼐 &BBaŋk:]SSSm/&V8(3|V76qزA(rRak!`);~<ʉd.!i80\N!͇~;[}X:~*aųO>fVf@u{;ip;Ͷbs(j9ΊE|HDGtyiRi^%Te"$Si\eggvGu#Y`<R +7 ='p蠳y \U\Kx&V?{@:vPpqmJ'}7wLiy'I<,&"rHX">o}xdz|8~b9fӿ+TR-ȉtszYlՋp翸= AnM x?MfFlV3Lka'+ f^r#`SP2!ej!kh?H3~k<*ns$KƾJ~I-E;Q'>a,-Ev^, &oGȼHC}2R蕮 e05#o2Ƽma.l3p.d^4Uʼn/Ý8[Q>?`$l',{MCzu$X9&$++¦@ `rPSW TI }8x\BuvO;k%QUo\#P"eTɀ.X%gA*E IB 3sSB*:WP$>zZgFhɍ27_:7HG`p¡w" UnG='fT ANҔԥIɭ?V\[BUJAPI2~+Y6-199VIQM4p0' 01kǎ-G4M6!_464*I?r.*bzZ3fꚤ& &o,k!:#T8q/F,H+66AwͣRSI70%;GfI0miи<mHĖuI`I;IBɭAI@iĞdpc_<&Qzko*'Kˎd #yXȿ%b#鼉Tȷ)rKo5̈́s)^fv9+gę=>8׾=qIL=>U*%,//a~a.p!q/jpwz-%uĭh0R{ /e5ZovoZ0gO'9&{I#\ঁ!kZOc=G}w9Z Crs9ɑJ6D`=ílxl 6E)e e*TjeDrce 6Ȅo<8r`wōi$#dq9eEo=qI}oj{k"6|ܿ3|cTb8Re3ND{# [κ0x`~00 -9HɉgE>FFPbů^iu7 &e8 D2T bg>NP:^uJf}}2+w$9l;ǼҶMr^>zś Le?dc7B6~w4R$O/͛vR מ絽 z^⎕2%#h9 |+Q/ZsbfAhAR4 {gV.2 ⬷?E'g12(qMHr_ /f<9*ޘǬk-XwX9`f =_G~!iv8R4<8@t%,8@ᒀC|Nשmm. ͮeƊC=vq{FLۿ%L9٧pùoJ[3XK?F?W祄U/1 DL B 1lѴ =Cǩ2>i\6VX˿BRe< p0mx>l-Ơ떉".o:\w^!ZLw}s(!^ C=+8I<ux&yщ8: HRj߁4:+ rY؍O9!v-Qywc}[49BիXZ^ \+۸Z-4@sx3HF 7I 23J"A0 8@ǚF ^#sh+k z>@a&1|y .q2?( IVO5@)I4BΙI8igv\Se.w y,:5]_mژqzk=̱cC\\ +V}(NcM~/!ȫEwZ-rRP, IW1֘8sغg-Tw:1<XXǩS' _;N)|4| o} >^r}?N:dHȤ8PcCWTJ$oESWPS=LjIKDi(C@%O-c) a0<ȕr9?4HNJh1Wix]Ji\sx*yib,mqju.X́L2h& > /} LLn 4W{ I<{Y15 @H(KöBeE؎p8p$Z!"%aӔ(HJ@'  A ;s_QgVU>ˣx=3z{*+? MC8a`*?ĵo|LVK|>S֎bcc.]>|;4 eΤf/|%_?ɭ:Ocrhe)*7nLYEq  Ky _{Në_ x/'B^31lE|{siut/ dcNd;\n](S -au\j,|A(uX;;AgmDn:ڻ k"-4D6p)ܱs>e XxY6 ]KOj[5Y&>q30X)CΆdg%9ڗ}c|_YX L͗=ֹ9d922+$HVg"5MBB))aqKBg,4]%ĄӵUp: ,$*}nh0shCk{Vqb[[;Whd8g \۶l}},rS[Mvn>q3d^5tsD{O֭UeO =SvkU.\7T &u TÅi{EP}E5ny/Q!?m :]:0Yg ( N{قld}Z/V6-dtHxHUlox1#K|TZz-0+gm=>xQ#r4.,,\(^Z'quScgOjʣ>8q3{\\n8Tכ.,h.X._;"rvmloKfKoKڸz晜WfC=bᡊY;U!cR $0رd%ff"qCw2xK v%ef˨qNJ:T–%/c_DyqWiLNot J >Rs$mRGϏvvctB(nsaS^ox3ҟ~s8a>FjTbVkUg2Sܸ+lPb#oFf 󅂊u$iރPIg|^x+<Pdc?d(vwyk@$h`$2ނiv( fNRfE9@Cq tLܻq -@uOz"Tr#s`Hh4ZV"|#;!s,-lsnYkj:8Ж"%BX>;;nLt/dyN:he/ W߬K50¿:}z"${ ׮8tr\ n'ō+א+03w ӟTvy%}w8$t}eĆZ~o/b5IКeP#Mr G*wh+v:^6Zn P*4?{qKMRjdCi*G b<,h!7!l1),-@-4J%ܼy㮂I~n/ʰBv<_;[F6k ¯~ū- þv.޸| [-~6V[^@RFs}L^Uj2USː+^zU28jCzCi~a t5c4m|*=Or Z6aQ'y?q!b ?10dK1nDpQPz9HQx: WLB,=˞kg\W[ɠL;d>2=J6w LFZ?= ǰ(.9+xçv3' 3i睯p^q_OԽ8}9B҃W~bWRpGג@|fn[#+6&m|D /0Q!`y-ײآuT50NKxPk42wDbުic61g{g_b{wᄈD5|q\BUO<_ϯtqn(Cdjk[=7/ n+畛V+2f{{{s;Dq%|m bV݊ H|Èq''}s,Iοip3 $MKkb?o`=T] }q7TJ{p۝=NqM9xK{mS(WϠzXc߭ HswY⾾J L)C=3 [}g~wDckτX :,*9[0L5wI7 G ճP*g!h]> ,y: ilй6h,&yLߓ`WV;E%h @%U#iz+lFXdy\̐n*SE1N5”04=M-RW:Os"[/}[4o4V5V}:(,:WH>G%qO֖+ұX)E#>,D8NT(P]~c n41I5{/TT,Mnk&^Z1^x R~NϮbї|^Ȱ2`wDr]{\@ykDo4p6Jli}Kpc,=hב C>"Z;@t!06Q`E.q/^ITiƑa{2藨tE'İ(L򘜞]fnG!҉KxH~zrOi)\=[c)?3:`\q忆?kpr$.4FSlN5L֯Ihx8#IP]_l=I [$qSg<ꨕm|In;ǂmh@:nDbp %2ſ :-KYWt0<~t |wq=p\S >K+Lϳt13IW"xÏoC|nApp8^{船{[9KH-o}0{/CuAZf~_WvSs殏wd g[h)O1{x ~?rӰXD0e<9bT O؝8 jVrK}VZA_`R`ҷR+O?iX}u&;>_>=f[x mj䇶Ȫ^ ;P{x+nxmWx2 #徹\0 4E,t9Fl:O\ Rw㯑X}k\ $F}48|}kU Z.OKAԪԩa fP9p{;@b89=9>AknYÎ+@3sδ^]n1.L7P.-W ^Wݱ4ǿmo ;=YGo'z?\fo[m 8yx]B(6wwQZ{]Lc~&gk81;/^LrmGj4R+oR?*νq J.^}")vA7պ7uFe}NܹD3n'})q^S[G ^x1Ii\>W!$`>NO Avz=*VU'h:Mi5q5 !N)Nc }A?ϝ6v;*665M-cz(&|um6[867((!n^C U.VP17W6rXU`҇ bӥ,^9w^~r+"6As2ݾ=- lg49>33r an]#pIitqō7>IQi{Z'2DNty FN Tn9yߺ~4|C^#/+r-qnkxR^ D;-S^|2,޼vYYLKΩnL!};k،<'r F_xE7R.6#KŒ ˽ת 'SeuHMv3 7VUwnvf2Y/9%Cfe Cr\![pT!_Zy\MYV!Iqk@ԁ!HD+ nwd?;)jZ!VP4r0#11g2br D(tqz|]xչƃGuN DpO 86W8{=3LۜO);>ldQ^Fƥ&B}n]x.^^zHBP߿z^?O~SthҷCد`w_go\ɱ}͝w7v@I#tm@Y^\ΖdG :>gvd~*E8٫pKcGkvJ6TvV'pnkp~>imbaA\bHiEEU"ʠ[oeX Vr g~u 0)J $BZ#uT/x.b,I*B1)ba<r:mWul_"E{& `6![R`"\^}iMA%omZ8|RQ8ﭫMT9aeZy&@${9DPKRimZ! #pisZџ=㪔zi_??ӧO;d$e"gL{R~R&*LG=>=]hҿ]C$)q3L>vhˈH M^U*Uy^>~~B("VQT7Fx;38̰ѥ΅O'u|Dm_Th^_nF4pxbő v,R`7ʎKVi32|BnfXĿ ?=#%|.H1bVeQ(gg]pCbD84w;ΧBǠ Rdc1/:XHj7~OI;Cg̍A9n9qzij>[bo?YC`¾wT!N iFm@+^-w'8m8 5%L"+e^ p񧴎$^CafY6?* CaƢ^M̒UQlKv]-ڦf2f[E"Jн6B8Ʒ|N Hx`KLW]>TiUV`q(G5 ݾݻHH)k?4;mKK6j/+mCDd"6䊊ܮᐛTP}~H 1sl4~&E\U+R>L%$J[b@ ;(<ꛯ`_BqAX rjKmۿ7O U6p:?gO*]+‹/OujʲȂ{x"~__/ z+.]QB\O 6aj^jkFJz)]lѕ,Ev~xW'~'ȗ>xtn]u5[\΃~&W Xͥe xTyS Pc˨75f'$4Q(2q {yDp ^xE|"Z6q;wu ]<ɟE?lo|r-T?\v.~/g>;7Í7U믽◰p~~WյuUIXlLf Nb24lj5;8FLWVΎ+ LQL/(&LIP6 '&{[`'Pg %eSdT(j.X>E? L$ (A{;)G&>#Q1b<N} pd@O{ SR#6<QvGQ#ۑZ}ZXdXѿ#B-,kd$#Z>Gimq4lZbb!J_{DUđpVok8[ǀ,|e>zL%OZ}]2nIѽ*TWP&n -+x+7r@|鄝05YfˊwO"T{.#®/0(t4%[Im+}ױw2qQQ A_tQVךO `PRI{z<51)KE8 z>r,݅nEw?9R<(IDz''E^Бj^V8;#1YԆ+إed8~=,8L\Lh-7Г}&'R_K٨ˊܜtXBӊjl rG\t5e&%-_KZ EW$S X nfds*lut(i'%<*F_Yg }p &젓6>My)O'D.E(|T&9DĦ~ǻo,=rڀwe] "GAP*0^oz '^UztQa2nJp8I:qx8oi<&Ӹ_`rt1jؖ562KP8 =4l1ށ>zGȢUhb2Y;|.4 *> lJi`oVfxe7<ѴqA(jo#'&qK)CJvngXf7"CtucRDk~7n`\M6!D3vY R=GKhE,< a7o,~I;9. X-ٗPD'j9%2͊Ᏺzs`ݿ#,k_ RD:n.kzX @&nmdcqShVGc`j1nC Yog8\~-y΢G/\-S|{R 3;N-45lheY};Χ[`dvLGdwsLl&Dht1Fi5,^Jba"ߌ̐@`I:p5 tCCbV:7 oAz6^qAv{ȗj_FƠ+Pcf0} r?/0ޱOçIIc+`bOu}A#lQV۲3`[VTXЕ2r X27ג+GP' -]~pM59󭑒5B76zlFKz㤇}]H6IPޢsv8JB.TI#5AB|o$-sei<6Z^Fw1=Ck=d5ꗦ轣s9e9,hu20Zɥ"3n^lC}m:fsm/6-%Nc.-d>p sai|n@αݱT䫊-k& ?[]lLk:B]ޱ OO8;3{ VK؅O1 qR}/.&_WUtRRTyI~niPLqn`#x,I<gRw)g`gWp^_ϑe[z-`y,85o9\`IL}iy˲`%쑀dl׎1〄"Y$,StrA,.&KtsXۗs^[,xRϡcռJ,B-3e+`g*yl'?Rx:vM Ӭʣ뱵ACNk@ڟGƏwA95^kMczh=5CّmSV#e%[R3iY g#Mj- a ĹbuGXh.@c]{m/MDž#{l.ͮ4K5P7c9TհD4 GiA&,Dlߖibl^N;ϯ1qr2zJ HFx=<Ǯ-Ӊ%7jLf$T%.'Nt~&Œ ֭ݹ{}~X:.;s*g0SCvp>CVG.+<"H+3 (\pg!c it9/G'sv#ݗ&֜tM[VvO51cPWà*G J >.x}\ cXm%d6l _mS(3qeYuo S@Gc@CK\[iVWT^5N>I1 䙯gҵ'897;lZ${T9="$_%Xݦ\,oG{7L}^w OnKIz$ {xt&6{`#au9Jӓ0Y/_A_[[ ޴q¶f@Eh2`}rϽaoA̢sX#` a"._Pk3:IG(g8\5 >)-%DpsIh-<GDfw@sǛ \!D/r@}^[$j[Xy=Ta7Y2p, .~T@MvmBktT瑭1X-=: rʢYa}vg@Nү*uQIAX` f]X! *3ΓSC*CI7)2h\bzCdH78+ .*sͲWEZU\;_~v:MT Ɨ_{/SU6 L#-XٵuEɮJJYmEu d zdݴU 6L CR.[^ogLdH(nv+pvJᩌL6=Ub 3yf[#&EP.,~dMį= }Wzd77%\7;E[ s=Q3쉢'XIQp\@9"P/mS8AZ4!i υqxx6K޿K뾰Lw o]ם8]lO!5TI/hj8\hYV檴~p52*8zHJQO Z^Guzǎ-zK}`¤}z !X >![ 'R$ww" Bo LϠ (kXicJ1wYDuB]*#uC$}НL7Q㈔A@s$MWB6_T.UkS $jݓirXtb_ wNQ|cNsM1FʍȘ8Om庁\XQppWH!&ޤH1OP3ZQ2.F VB@hHՠxgq7 3%t:mZσwP=ӏ]8<'zw`7(ߴw#5%ORPt?2c(;Rq <0(bC?*)qsKCI]9OZӜCi0ctֲz>;;(S̑)?v|hȃAt_: '%SȨ}o龚lI`8#{v!/g"F>3_L&`T+\nKSR yu .d^+Vs+9N=®>WU(]tz:B7w|BF'CĮ[h H๺dg1bP!.LN=jv L*02Y 3"̹npg,Vs1 ݄"ah)ÅOJKDZ,'Nrc9r61,*LNєDgRR&a2F "s^WvOb,_;mlW4)1[a|/lnٍ{\̥ޣDgG04f|L Z,(J[q!re4v7`eϿCxtDHBh ׮`ZWivOÅoai~ ,S贶p9c=$ɓcVЗk/@%͗,L턖\Kl2䲙1+݆^rO"xI4RQ^wGf U"2fV(3[&?PWpl[Xauh?ddqEHR\N -txdL^`BJLJSl"`_\5v tD.hE}bLGk]kHr/ B}4`6p}:8rg00wp5^THxcQ UN+.S#!QWzc.fa6^}]TcbgȖ!]?op6Rntb^d7- վANJl=ҟ;"`"U/cEQ̌pƟ1Db 8^wǫX%d!EX1iwpp8{5PdqW7{߭*FV^/:\/q \}C _?]xh-ed} J~_ d5 *u։P,_lth>UZSot %+A2Y q뎱#Ep;CndNx5|3ʙ~&|{ 6 9 `T^6|V\^kx䁂Z'``Y~,^kwzT*.9œxt,\yZfi}EnwQU՚k6FNNK1 L"}]?l` ECNb F/]fоgU`bKJ=I 5&b0&Ʊt粜D LPd2Ja` KlgBב> Rf O}C޷{L$8z/xӆ.f3Jk[Ssz`}SфM"~v_pdTL&+Y7 9"}#&k/\l>3Eӹ8`]\Vo/h/c;w~*6wMTj5d[mog-{Jb (c~VD$F[[[J)ꩶڴً輵 c؄INe? 趟2h5KaNp0ash j{` 5sG@wmx:DPh{ZzN$~'kDǂOhX;u/u ./8g*^7vϑ E֧lOƬ?OQ*N ;찖ʷ1^5R-ngJo')}A z~z_8ĚZ!_-?/f?qX?W#@❳?{X9d+Щ^8}%opƛts|Ǐ`k;zَa.7wȾ>tʀ "!R"DrB_XHB(+`?czwwr/u"j6v:ݦdIV>I}ͮ.DaxvD6K!S5l// |p~ҹ4QiOOA~Ĕܩ|Zeޯ*&Ga|#uT]: YS/hsBzdxbCCS}qi:wmZ ]i$<`i}WDZgqm}?xM,VbIJ'>K8 r,?ˆ+Og۷ZaQ}c;܉V8>㼌hG8_m?;įO*TJlYo9ˮ Xg9׌FѠn܄/1Tt]K{=SE}z3p !]fr"]_ud}+4yRpj~w|!,Rm J3KG8\1iBw5 3∆q6{~S4$)h--eduRҐ0gQ5v[*dIO ~U$&!X'W)BDžD␾Pe_BH{އ pӪaKů7ckpԺ}'}gZ(e:'nw0Y;wr@eJJmYo%C5 3T3$Ŝ-}{LΉAqRx|nC[ք39nO:$6R~/%&}϶Ujɮjt,3  ,~0d3&T%Fk{O;afO MUwT7ͻ1wك (NĂYFCi.FBs\1"2fE-E1L'0t 28#*໔U&T^^d/n6,Mq(/p>3m*"  ͎ģ'xd&>VvhIe* 4}t\ Ӓp'븾 S89[Ĺ>.tZ;jxZ)|IVv_e-sXkqb nΝtW7zt.p=X_kb20I@P Gcju^Z6c͕'{xQQ|B;tegmɢG*`K< yvf09Ү%q܎P%c Q C {?h/ەQ6v.4mV0 * KzbĄ ` jI=sA&Vg*$i H{;nby81.r< #I47c4I63 K Igfc*/=7=иvеy -* òs,zv* Oꓕk?ڙ[++(;bUYv2]}V|+ L)lEK[ ;Y®-%k:@鯅H Sl*5D GST^jRY&Lo\R7rs}>VBGmp4#kb6@hF-XJ@<9ar;H-8PZ8Zs IHH{vC/<$qd&N O'MnZ% )֓+vm Ӟ"g8X vq١psb8%/纆kGXAxxIe[bH.&hZ~z@X}SUO*ﭭ_& ԔoߺBft^}@!UN&0 ըDX&|xHs;IptP==c~Z <)LqU&\|4V /A.0BFAbs]a!7-. beF/ XGnPt!a9Q@@Vڥak4`s8B:VAÿ/c,K"Zs":zhdUB2ǒq}>2>cdsYv!j:ժ |PP|bL@^-Ԫ0{ Kt$+>YXj['n%{#Τxa1MȂgݯ{>qߗ0 * 4%%73CmfLRy w$q8+xC՝? uA-Dq )*sLU2e+fCqp2 )IHL\qyš}_RceX:O*3Fl<-y?~Lz}*4qg^q0`|#Qwb*boglfGi5ʤٟ_MOfgs\"c1n-һmh4J-k1I2T p 4Qq`68|&\BXZe87NǦh?/OèSxXchnKbZ7;Mec"75{Kǜiv'Ⱦ{VVV !}=,Qҟ<&yq֖Pމ(o+;Z<[jz=-<$R:S|`gIΈ32A EI ,.DQL9^sCq ̘+U;\:^Æ ;n(R 74ȨշO3[0GԔ$w "..XFGo#c /M=drf =WH0fZbQ&S)~f*0l2=/{?+B$f+n.HEe!%Ӆ eb1QI 9EYIUVCRzUYcK9Êtj` R~\Wc A9&R(- KuNPK(3qBK`n1Iii{.1F0J'3R~ffv&>A{eԚ2$0#FL64y@3cIV6~ٌjKMTS,6n^G&_zsUՙ2K@sOShg2sB_Y"r_։Y^Tc8q 3jIۤ9Ю&jߏ8.hn$ }5ĕR)!;d{&-6Ыoz@Ӹpwvvhsh7vd/ -ԫ%N:ZmHSDxKZ{4 p uԗ>ho^`{TJ?T н$ճ\ǟ hr;Ky2F_Z=Ǘ,zoAK0&F߰}gB^?i2k>ᘱ̝stMj%id䘉?kgGc&FcخX 霷c;#T^]?+X&,(& msmjm۶m۶m.۶{n:gWDEf!̵VU@Euy=#čw@^vh^2]Xpt0=@īDm3HdaVgYP;=[~U5ȱcd[[GH Y&R']hqXk]dž#Z1)yFN(]^l9mR5D 3k*uQd'S,ۦQY=V Is2@)?Np|«, `zV0Hנj*> 8N[f8}#'ʳN/ AM셏Yۙp@TѫH2ԭ+'Kz&0 0% kwP?S*O+O"K콃i=\E)#hXN`5 *+\=1[X&w{I7mY(jj jD *r)1r{LUfʹb3Me0mK.)#ダP?Gw K"N),{Ly$U7" ^!hm*0&$h;BӉPDK'`paf^._`2sYU"B]B+ж_?7<}}O9[kz F bJuVϮHk F2ddEU|okPEE@DfbC@]L\:>ڪҫkW/uΪ??/U|A-ŗ)p)7$<롺ؾxm'_R"5qbC Bx)>33)) XFUtTk\nKS΍z^z3_\o.Bͬˉ?eʓqT)AM;h8d1tCZ\88!zѲY:9Dh**~H^dyQ@,0E8`ɐscX?v8䱪c.;j D Qt(BQU#7qÊS*u  bZjawjū*ً 6sZ3fN6#Lia>9{o<>Jܖ8gt 92]{ VuG@{j.m!{_|W$1(.D%sD Sֽ5"B+T%MJg/6FQ:$4 .iQ ́1͹o.@$!Tܽ:v6KP46ѕðsJJ ofiUӢ$"3W Un\.m/h&Q+f% .+%M L ԙIU< VSw.:?-\T`'ֺ98'f\j;b<}I m#.?u?Yuvzfgq)eYZyZ xtN0;`HHYŤB>,Jdvn( v`j.*Hiξ#Nzq+Cz'>7-PI"o qγ.s* ;!|59Mxx nϭ>rC7i?,7}aYF E"o#Vq eUL2UgW49Ж)gx}g⚓x!GD8k>C~91X]Ge !;P$~uVBbg\h]m7R;ea"Pt-'SMWm 5}$v|<{h" eߨH0`CK19*6rC/*444~:D1(dL~GёuU^sXƴaEs%Ñڎ TDgwGXrettAJpA3ѽ:Jɚ)Hhal&GRg"Ȳ h!!f_A:}7 W+ƥN !K0eWhGqdE(N.UV84ߊ*3v)85I󙿈բKT1MC0@Hy]Z!tzrOx#>C| "gBJk&XIX`,AJzNaHZ{(PgOrXLox0t=BeR2 kV e]WݙrE|ٵ<匾Kda}'^.*P8 L`P4^JoygE:J)l{5Ma ^1('L3kuLJ+NrÆU+!"xg֖hq*mj~1J'H̓=epwzc]d6(:ousX^X II}~cϊuj08㚈aQ5sFɴ^'7F4jzM]=Vgf6h Ej ~6*ZiU/4,5- ,wMiDq|WƗ~T SeTW; ^kb]WƍM}(ԬUu'oG2umpފIiZ(%/6Lt=‚B(›bddZzA"ރhjz]dcUu>KKGCԌƞ8`*JZF ڱ9}')6=tyrO̎M]!PAo60=/60v&>k\É J$3& Ca{8eq-u!ZfvueGw_N lɋRԵAA")H\jPE<>yJ6{Mx]e`4V''9By%Y\/,D^Z[{PK)8YWGi gąfZbʘeJ5o4!EOf͏f(FfK Nm 86(.=b fZYcY)a\#+4:g@ 3i}9+z[&gwڧ~(SwCKb' ?|k_L%-=m8=" j / ås4[zvSIN#G@>.]IJO%(qbınO- -(NHh,'3sn$# O؟:=ˤi {*=/֑AnvR.H""#w* tcڮ3ΨϮRwN8LPAsiMi6@rR0v2a$ MUHCj!SQo@ 2UeCL~{g'$L9J֕.Ki.dFiVVQ徏9Qwjnq#̋AR~~9O׷>HBKYUU^[,g{]St9ݣRgD1U[1_\5^z:ߠ)9!A2KCOIGq*cn+H0F^%`jKY膺U>\>Rrf6aC1Gē?Dx g=h_Hv֪[gx}XIZ\UٺXa@a%o~hx1c2_6 IxޓkΝaS}?dDks)mJߡkJwjgD ǕPw*_jež}ʼ<13OLǹkzTNEM:COA5< 0% ho?(8.婴It󗺼]2T*OK3 }-O% =#6t`rP"%XL{j xyGS}qR-*7ef4E;g{؛±6#n֔[̪]HR'W2FzW9+T86m ;|Sf:7UM][,f }@ŸmY99bqS[?n$+e"eML.8F~e9f) سP;Bu{k1Vu /?0\43[O'X5LȠoM=j./8ޥבk-&D1tzGrv3f6pb (ԨMKHl@u0"_:S;nt_ۢê=o:~'Ln _vcZf\Wqd*3ٗռtmӁ[Z}ج3XW6rMC" t"Sbn3|X}zľ1V#}1fDYtw#b~)HV|"VQ3YK̆6=+INw]]{^:'pm.{ۺU*G[v3Tn,Zbm1c\IL-n0JaJTVXkxv9 [0R, GC~PXh8Ͳ@wӯfm5ѳsC G km$FdvV`a@S S.dZS6u?bEj!@&W{}h}H*9k]tmA{qńGgr$r'ӧ @ur,k @5|q&]GbpW# BhHIŠTC]v#lMxs&Rw3rAPo=c>#5<^t"#']c>ݼHDleNYJNySM2C;XFcܺۃ DZr7C e_pfIf zhHŨ6A|ab6b*>J:>P]q%1$k3.6Ax0ei0eϫb>atL`L{65GuV-.ܰstR(qī;fwn@󠤡5fwGMjj*_t]m#GMeEK3)f~{}`Τ{Ɠ-hWYu3T?Vky#8qPkww 6k˥;>(u<$`Ì: 7\m g܁}#d+ ҍbZHuv$4D{Ÿ ; u`w~ (yS$͍xMMߪX`Bw۾ ,b[':ݾ !M-r/Tga׵h|l#gP%v귌@UՀRVmV[ڲ!Z4mPkˤr2ܗV> ]g}uLx6̾ 뉎ɽ܋ J u’OӍJ*Yh*:/5:ezϮ8ОP= K=#H@l4 (SisJܛp4#Kpct|- ʺ ]HWe)|}{\| ˄x&z~t%1M~U{JC )t<|99PD7}RMĹ~Ūq&^;:߮^xRP/S)c <3 ̑p(wBi2/25҇Eb*QliiA׹6+R8`(ڈN\{6<<݄*/%o~:_["F26#,ihhf6Xsߴ=WI̼v[iLm.]} 3,E}gBB[v/iqۉhK :Y_ŦkAisC]ETqNddɷY7X ?4y8Fw^5O)B)I3r.,HGsvO{Rj'LL3Ml;5.)78h6sVa$"ߗ ,'{4‡[{ AQ[ IDDy*2(h K\myeW~#\#Oq1I y~TI~!K/ڙ!y,pGrf,.<d( rt6] :TQ#46Gwc7h@?X[=$b D !UzH'>SaR5(K[Ok=$$YEi|(^'Ә%-%pwsҮ'n0'XAV.#Utf~V//FabڸNvC[gLL:cu;,۞y.6_k'-&͏[fUW)2vӊhfhx1{Lj BV@gĸ+%E+ `*0KPEv;U`7l'/shUuAS`E/7]%Ҿ7$lUe5!e(+<#'^lK'S 0`!ia~3nJmmp4/.h8Y<$YcL1B0u(WOBoY? }i2z2cBj1_{R,xIٌ_lDM~O(鐚eF}Vf3q'x\3MO`Wd =*|ah[인cWTLr/p:3O_ur2L,B"\٫ eS: !|"b* |dKrŒ({8]Re[^$ w^(MhA+l]41lGTT+~9Oeh(HS%0b@WZxx_=׭rjH$/;OkNc3l">9Ja^GITF~IBg{2l90*2G2mk#k[qpRUR$UqHZZRĉ,qjl{%8ϡ^ P'KbgX[gxQV; gbm][[hh+ 43B;)+{QԮ.=PyYՋ'H8Eu80HY^тYwM"5!00䓦 YMJb~w{S[6mUN* l;~XKu]B- aDvxP'w/j-`k4đ D-Hv$s$dVݕC`/~'RdP#wLՠpբ ߢS/q8ؿKP˱40mMJڟ Y:iSRSф 8frv$ZTFð=Cp87Bxb 󖲅F?&P)р ~3E"љP,UQbؕ `{R (vi6/\w\Gz#rzn{s2q끳®ho]{I[ЙMrI냫Wx9S܊ںƆ'lo8xP\L[ZҮ^(x_kk6B@{M!='>Y6w+;lgɔA?]ر(r"g&3cUJFɊ\W=).a%.ȆsRxQQZHa,`5ޣz00D1%Y:{H T85>CGȎ7OAæ7±Ebev fVNs]p`\f5&2HJ"Ng[Ǻg$3_*Z۫` FA#/86 J#)4-t eջ֞>7$| kTj)=.?L⼍Ҟ7z$.`k6ϵGo'no _kT<[ |QDY`^]d!4x-H1I(Yed W8 fX.c5'xO؄{j66,qe.< 99;f0_ێD<^!n t% ÄshevEpoh Y9˵-ݍگY/IvǠ;n[ޥ= `A! bMEv y^>(U'\4l[~1ߦ`n:NXخqqEd}38fZ}IQ滤id㗎$ ,\^kZdՋ˚%rZ`Y/WNPP!yuΛ0KaVyeÏT/iFðr3I}8$~PF6^2MAZMU^}!kq䔪KH7J(^/fȍ{AFd9Z] [.TltIV_/tZ'ݏc|ADxzpfbs:[fO#iu,7' `.:%;13i.'á~+;zE^)Lrvse]wM8BSg e>D [h^y*g//"?f][%8XLIaVt]ke~߬W]--ؑrāI*bf)LU\?fF3.9i'A{tN[AHz;&ؼv>=CN&m_ $^iq^69F^$MX\y76,h HTN\%ZT Mk5weΪ5<\@@[>GM (rj ML~ ҇ɕTj fߺYZgF6+AFNˠ˼MȉPB`:5jf6n1A)Q쟶%CG Z4o@((lCy#s: /س{< eb[/#lKu՟cX*Y `aV' |^§f#ZIS֖A#Cx  5'mP33\^5(ZHb˷ /Wn)n՗~E |a.tA97XnHj@~$CX FPdk?%)%)Ro̎on,ŽEA7$5v>.QŦAvw.Ftqm._@QgS6?Įӭm̯;ZR 3AEP)C¹C~_ķzc1dG¤FRo܍@r$0kjRकb7ie+FV(ppF/%4B@|-b /Sަ6Q&BL:Zb>l@nYI`f`WtY \c)!e$R"UfxFZ2ZZB-x  +đ9|\+:<*Q\'!"gx&Jzׅll{f1Lk '~OVoe`sBmK_CDE8CNFNRͶp ޙXDTշ(͒|\9d։Z-@O雵s}YDz`*eװٰƵ;Q\:J|x2N:ǷE*tX1JrMpnlPXX[H*s~J41!iFU$`p0XK&z0;i i\ >LvbU;8HmH+63]Y^4?Xlx[z;,5x5],~T+;&H]{IZͨ-6КU#KuѦF~jbYeJ u<b#$YqG2{Q_FW.T *``I+5|\LjpV=0{N&.%eo2Q%ZsKi& T|\Wz& [9BIfcʹBPѯFcneZfhFv`vq>$>yH}4<& c cKri 3l $^)NI'˚ba*6}r)ݼ0'^ 9aPDpDxb%c!pg%&IdiY5N{?D)›iVٍ87ܖ?ڂعg3N#n X|fCn 4I jxA@ 9k>t971d Iܲ wF£"ZF,Sc5/ЃYN=:_Ϝ<ٌ,Bj|1r4 NuX]= qʓfln򃆆J 3`|]䁐O&5ZJ2|zs!0zVXȥ-D#BR?>(7$m["Ppl=&#QY\tY108Wf2U hBR]S1 $8a`NTApꌾA;cMS{OKe$飪>(Jփ%9}N2hp2B0$JiXa 8n׌c;=6 mt;;(H_}_v-0ζvF(uOc{Qc::'J|{IɌkYdI"}߳D īTPkJ=XҞlRV5KP5ZVTFsWvc uо-@#5NimN"(œp#^Z)9h(c X>2 D_٬_6]8=f' "}1L™3 0 -}r=B Wõ/2Ol/[=4NlVm A$c?v9I&#%==9k2'.3<$gٿt Ԡ-nf kd9iIa`PN4O M$)9)Vdi*1EQYY90eY{Tc8 " _ P-dFHFl7% SuF]?1rN4m]]8 =氊ԥ6B:pT钏L\c:z.\cun멝@eiu~ѵ( 2DK#]fRMQa?cE')5e$^=%)5{9#.HX _5$w>\*:HUCAjAsKFY`ƨh˿\Kes'&y}&\o_z5E@rs;PڴҠAHӧ% uT"ar^x&,v0$`E;Jn>b4V`KNeӅOmegS57{B7 p hY`ˆnf3 64٩^VX`j>=x0q85Y礸ߘ^WYo|l M'] paŞd6[m LWSAE匫9 L]V8Fl/m)δP.%uLr=XvLP\ ICU%1GAQ״ QKSW$ ?AގU{oэ`B.l2KL @'^N5 !e{4`SL {ݠWuQt=[`= -aj_Iz3+kex f֦;t 8^58=hIɗĕA{;aeѰ_pwH[ !ym-ϫ>z1Yp8\h=-!T5M+h-=1!ZpBXpQDEqbpG铛l;usFߥ0^H`p* )0ZRxR*nmu0~<=2uZ{hkgN2l|1%mr@;d" (Hi+u2r-uEEY΃\hV%\;m Z-sc|A{= (kMVb-3C9N.W(O IkhZT?UrwȜd ߵY!+Oš(}ܴi#AS #μB (%֥ɩ4+]g- m o'T&q{mpIVړ^28baPvvN`,Hb c㬉 M/#pi0DD0uF5n7WaX0)jSaWH{}{Š1 NA4 iAPz `/$ Z6MRk]R}GdiFOVHIŝei3O[¡Xin5b]J7 ;L <ɛJ8uPEp{l2I+)On)Z)Dmw\Ʌ`?3o0ȏl;Gٟ&>IYN϶ @\(PXYYl5[T+$L,C)Drޫ0Q{Le]T1;6~ߣS+Ɔv, wGms~s teB,iH<+0z,_q6Xv7,Zeزq>3h $J6gXpBkphIfRnjF&jpfrO Z4N-CT2\U_8M K#}MU=9~]U@]payMT=b֤7Kc=$ @ܺ5̹ۙ'!o$Lpx=$}mN~y49].ajY3~F"s2lJ"*sja30TǂjA̍KPV;Q8ܡx5򁍠~*IR7@^Z+yP-tQ bTuy< X}BЈwf_"/I(](; e?.B pnw K"4Ii\3]R%QKZٺ١u7WiV#kTvnhTTj:#8-@] j F-UNw$]i0 V+)D)<hɡ"ԋ'xc='jM˚wuX4.Z( ,.f+sf8ua qLS.n )'%z9&6_J>z*42%0]@@\o;}+͕ȳ~6phq `r;պ+[ɝ{T9LUG`)~7FmKh'XrӁgҔ&6LC9-e*) ~lƭ2JZԱsKgl<ύ0 uȓYw '$鶺.io.(-"ӄ;)z0T:2斂5[LLl|;c:JbLV8 >)bi<۸qQ` ų"**œ;t@40ojkaW)W7A׊l+t<׺ߟ[Il*#b@Ws8+)U=FR%! JHa ۻ?θ8]NaγP6\ ko-ER""(:=;6f)3('ZpDO4t"v;[6?Zi}:#3kVE Wygj0e' eHz6\W,zf,%͎o[RYm[psuk/A͞Iiᵪ[f!xۢw;?e n饹cG8B-}rXC^$,rKM:#sI{,Ssd P㥀lBNM|l,[s:emPm`#\k޾df]f~y~k|\㽍j7=: }|^rEI !q9mgM4fyŴqpYXV͙~ퟒEw{y |{~r<rF?>X qaV%vUw[V2mks$ ]/Lr6D&o N&_&?ϟo y̩pWQzNu^$]\Q[`^;^Kk>.tW y\Hc,'f<8~r000?O7iCƓzeaPQgKg+/FA܇YPCUp3x2XA-1? B'Xi**cTd*ۚZym%c>dfG }fr0)ʠzB_˱HX6)jX+%y^pU4s?oja9!ȲuOV#>C]5v徝+O1CKɦ!riw(CZ\r@ۊob@ps q9Oj !}~g9};Չ>v<5!#$Uu~ CiXE"i,TZwze6O]ԫ`LI՚El'!gi籿V& F}QP+A ݖ +Mou6)u掓=uPv}ᅀfCp 3 FkKi0f5ĕ;5y9n:~a6ĺ库5z3DT'y'Z_٥1A{6hFծr5wk7 "ԒݭB}DCreUyr+%8l|Ȟ^X\7$vG+#Ѹcح~d@1x4;P)] do)Vg ZNR=n `]vQ;x T+rSx8adhp!aS-.& 'g0 `hZCߧ'Jv{9#}g:}5o5+Y@KYˠ) 1y{V]ng<|M~wc&͊`(Qj'6"%M`"#,]5M !G%7$S)S@@v|@ J6?W$$܏⋒k ]{:1`(ޡv:+R5JH,dts<9,i -<ུ5wY ?M =J"=KRnؘuo@4`&W=ފftzƨȰMk PY1K"qe֪Dz>N d|KZ%c;/5)9f=39+~ (ư]?W}n6O}=%cSH+ejWc%Y"=]n^]͝_f y}FnDO2NiUeə޳4*Iuv :N,K4 :ߋhnW;Q8r1nMZKd4lh:˅t ./ y!, BRFۆu-K_cxg6Z+ rF[Er5"y2e_ZY=G۾\Q]p8Z&p%FH?_(Rw."hM-HHp>"rr:,ܵ WP>N$GH7VP%np? !` a>X B*KS]D\ F49+@JD@ZTҙ,'+7 W\! +j)N{ =-Nǝb7\hxrGF3Dg'x/rR``<4a7Z=80(M->]/7Ash Pxc5@Swa-@$J l5AfMO҅d^Ѧ +2<<DQ~ nb C6<ٖ0SaVQT'DܐNa!m'C gfR.#X2j+Ȣ=: ;g Bcep| TE th_ďnawډe7Ql*,t4aivnF)}+ l|bü kvv_}7yO@;!T`'1;j:E l)7n!J-x::7ph_dVߋ` I鯲!p ZW4rnN> vb'O!LVOR^.OH9X{̖;0['X_J^+裘[^Gjw럈<*8[nNy qp=Y%<%68k4~vqVO !'|J SDZSUpL>4pGჟM8 wg0m+ʡWWGȜ-hpO6iHghN U,l*Fİ}k}Q`eQ pUhKwLrHfy.dxzUѤf*ty:TmɚEhJОK'/a䝴QB?kD]ڦ3ŨG9",GtS!Iu5<%f.>Oڪgg5c/S zRЍA[Sr=0\lMMkeGr?PG,J,lno$6'aS'pIWDVov8څR>7|+_&7ߛߩ?wpz u-+J_\<3.P-#,]+:Fي:'WZ֛bCE!ߏ)p&-rw )3[fTR- H*YЯ~Gdj'{{FFD\=ٝ/bz}alƇvn_u1Y^t %o`/h; )?~|dFW|LwJ˩ϧv^^d}=v!}ڒoq\?C=nj*N!8(Q$K6jz A4M3 OiitS n`,{@v;n?:y I$3Br[LWT:ͤ:vn ̔H hn(7ty7qS."KI%|~6z_AqO6^_ɾ~^n.K O7aW٤*fb{L% M%7~Y5c}/~7h/r'l ٸnkr-o\p:޼@K)7x[;xyigϷnl^ф?{~ذIp 4_-bn: jjkS4t MNN=˜}揌̏J:)a_N6"=7["(/n m1o(Ƶ%PC՞b^ڽm܇նb :ou߯\Ck,E߻vNx8yRٛg7<VY>poHNEة;Noz*~4du-?oWy*vr9Ap0z"3;u.<׮J {Ɔ/X/YUٻ i_yz}lAZJzyǀ:sӮZaj)d x'1[ "-lݠI1c s 1?Zh: #V{NW3Ngo.kd-JIi3l1ve%Yzmڎi۲uz|or[ s370˖,odu=.'_~rϣKr1G_}꾷(ӱ% ͞=Yϕ[W׽~zSYcI3dn&agٿx i)?6y{ym4?>R}JQ\LH&6sP{"(n_?h)vܲDZsǽix9(."2?Ze[2Y?XBojծRAhu&9P&[WJ/G_8R&d]/RLOBR&di c ząejEvVFtvVntNt6N46ƴv6ω/7/09;:;u.'#  +.&c 3tVsR5qrw075075V07r763WRsR4 ?}pZ;tHK y8+z(zXrsq5`m줏fmeCO`Sɒ?MJMZ_Ɛ߈7#N!wChdIGJDk`JAGHHWIߍƑ_ mm17uv!$+XIKa[KFoG@KOgmM/iG'cXQΘN~c Mѷ5t6q!܈oҳ3032 3302 0KYIAI@UQ_63_YW?t0wuPWș:: *KA ;8Zs93agc΂7OFOVdo/G߃o8MMzkq!~%˭MWܾWƢOεj0.cJ̚iTWM_OU]z߹!:*C‘vLhck6,t'^#Z+t55G<o^ ńns o=oij(S,&4FSi8Q H,3#]H STi$L C^&uGd(ZS;D(olڹ8oe}47Gi7&[Yi_gik`^d@zpCӲ1&z.5ttх?UzD7rvS:#Goi-Nefj3ZZǖCrCJؘk_Nw-8?Cl+iG742[`|l 'EKз%KofdOB~s)S˔(W6++QM^\XBH@@Ԅ*37MPPZBVK}}cA7ֽ ik0Y䉜tl{&j@z 'ێ0ku, ;UiHmӣ0tnhуZ&tdkU_.tEtli~tfO{3u} Gn$'GFS!IwbB)|EZgȘAnEoJWw `IRؓGi`^݋caj0wcS:`)1t ߺ~o'# +<=+3КP5=E8}M%v*\]tT˰ߥ/ sI8I?>$+,w;}+k+[SI?XkP?A*AG?8;q2 3 q0ѳ00 32 2G#=3?vA!~a&Vv7]PÂjncd)#*0;3??? [igI:oOFȉR9 %"*B)jy %6Ԕ]Cm[,涬RP@ە޿_e?M֟׫'\S0!(FYGTK4~0OstkTeh-< TWjl#.z;deC*jǠ4zz5 JcBvzAqY-﬛֜!4(=+nUam-:tKxh!45.#p M4R` Z`6FzWyab)9mCh@ -ȴ-fB,ChP3Ց$CTUV{-)PB;Vh ?/۫vvPOg2¨AîI "WZ $i~5MB"(\E6ξL*+4FGظd04"BvF1˩QG qoCxZx [;FbdoKRWK4W wA0 y^ց1+aRU՟Ũ:u(# jsndB4$0gjʐYvXTr@0yOLiy)/MLH+mqRAְX>iܱ ,vGPaw"\+Hv25 pf+] P#"e4K$Ipl, Ta5~&j\d}w +9)Zh*V,\6Bc`CԊ;͜ ]!J[nI Ϧ{$ȥW44LA.9+S[_<ܶy1\(l:yu)v:PO_,~X{>L5DS!tM$H96\ޗ7 ߼pU"jRַ޴oٖHcSҪC3ZekyçL3Ń{I^@!v˨,|L3sfNPw{"4XRJf],W ;&SlJe>FQqpVKi[ڇ57;!VCK/EbvJ~5NXb o Cok^8vѥZ(L̰z2%ۈ|\I0ǑȊL_Bٲ*h:xډ8KhʐJqLVI>"\;Za<3E%}`W d;1/%Ⱦ=(UW+S^}|o(1WڂġnY:1!>N}"ME?9݇hG"Yi,,:96n6%V4RAS1i#]jO\ƜKۺhpW' X1T5Uҩ(PFn6WYj~o14M/ZKmZ$77ą?XC Iɡ.Ƶyms `Q36kPڣ}N]U A-(*qV% b*qP5Gm +d[;$nrp[^CV+!s'vƁu]RXNXBVs"cm2wySR 7ohOMg~xH$ԩ>)OB RML^+xOVbjHkj/4K~&s떁%;MNQ(LZr01wa6Z-{r+8} ZVT,8z).M8OZb ]3ewti6fp\`)ׇFIpnŶ UH6L퐞nh5˭N%"FЕFl\P-$^O 8w&4\.<(ޣk!4=&A7$^9(d<@<EWV]fxĊ-bц *j3JUUJJP#FV5(ZF5*Q#V#JU5ho/wso{y?,֚5ܮy(atY(o0q%uhJ#3 ]fP/89zR3"rL+FF@:!k*m=t`a*P_j\"9VҪ>D. y"uTVw@2W?=DsqeuŸz%W3y '?TIEQvy]e*A .o_'Ok׎UG׫ fj%eW%jT#)t^'wRljeH 0BpIN~sWWK9iN6)btZj.dO8 L,~DsPv/طb:1Wj Uٺ?NaJC[i V1*\<|{'fl:&9(Bkrhz|iòSW+RR06R-HZks VRN&J`k8K=#ߧV/=e^skng:\ |HVkyiX=~,Sijzbƭ,_Ug-[_I;Rkk*IH-ƃ}Duϫ0RP91^imbCIMCƊ>l 6lZh~U<+D7=(9 8Kba{#2JyO(wgqi;?(ܒpw՘=GJ>>H[:h3 )gyé.Pa5Q.$ d#Y몶(GѠOqGZҙsM;/}yN}l8a֥}9UJ2O?Z3+JH]5xD8ϣLɖCIAa"2'Bu}Hȝnj{ D[on4d$GF[_w vJlzWSRX6 n'A>& h9{##WFG:ҮC/sQS _Ai^ǍYegTw=@\ϱz~OV,oYSu0ur#X^!2z`8wӉTؐ\S':͈#C2SǞ3,29bG=BA=庼!sd4Nr.Tr;$U8֣D%1VOs% Rhzi,D]JL  E B)@&ͼNWR"/(t+3 jSidi`Rxk`N{ypy%R߻.) f40Ev MhgZ}헰7;;aJ4\(Io9ɷ;Ե)˘p<[YX4AD^r2S{k y|q 7I^+Q`3jjHAu$#P;KeGmbf?4g-@\wٌ*K~&|Jp-"yiM`Њ.dDΆ%i?߮۳P1ig d"ȬcLEp.buo;ZǣXYн':<ÃE©h[WjBWr.!c\{mv W oTHnvζ _33JY?E_ƼFH;1rcN SY˚.AbF*O +@BR 'HČ^9GBXNH3fʅշVQnqF {m!(׆vqksx]p>Y;+h/q"q=eFU9CMT{ff < wWϡ{H@>O1̐<.|dxJcRŀI?0f{3f )nƘgt1+{Ƕk;DU2?asiށje뺚1l(2}w(VcoT3w% *\' S %_ Fy=nPq͢Rkx$9:N O$>iGo*"$DɃ ҌX窏g|ސ~i?h]S` kFunrHy[mR<.k]և.:j~N) _Bt[68hh^~-?ɉf_ uhe,hIljV60( ݦ VS: I 37Ӝ7=oKgm^p>{fT9H np+_:h\c3zù;+gs#}⪊n%_%Φ|K*<k-Z`m q$ȜsEԱW,(OjZOnīSER6#C~V)64mrUca7stF :Zijwý+FLv-es}Y* A9eMcnxF Q|7ϑتCbwB`5_(ݬFtqB0Mr]5na|^CsF# ݪv]Nw&9Ӳu|unqojd-gKONm"PZhHYz[;Xp0RBJw m_ɓE0XF9ޣ&?~S%ӷϻ~Ii%+(Forx%q[y-b:ŕwqFڝyЄPZęﶡ)ګ Om / H@qB>_~$,l$%{d1Nõk #-emSbwrf/_A҃&dO?62<͌'1F6Q~=8X~|_Q&@DYH$pFs6k ƿcx'^*lMfu}a|I@+obq6O2̳4=z߼fo_ ?q>և)'@ fոh:GybKݒ>-]Kw^03YI`F}DPgI)꾕 lS>@TzwD;oKmSS :b_ og #z۴_¾y9LRlfsVۙ?0dihܙ^ N0 Ӿ_a'MJ⏙<:h?u]|-|smq;D =:EJyi a@En,zt@K~A<PI+ q\:F/e7 hzj*DC&TF!`H>U菌}{sCFi&;P& ,W%%K㢹 ԜmaCTS ohaBnT)D]4\EK\=NFD`^;Y\u-@4J83H-WrWz뉞YhmlI^P2\~U\*nPD5yTF~K悹~R}o*QԮ}dZ cy3^i ܾ'bvٟ֜6QmSw\lԹ0O|ͤvhCu޴JV@7+r`a6pz粮_}_,&run(); } catch( \Exception $e ) { // this handles fatal, serious errors. // cannot use stylesheets, scripts, or images here, as the problem may be a phar based problem $out = << CMS Made Simple Installer : Fatal Error

    EOT; echo str_replace('[message]',$e->GetMessage(),$out); } ?> *
  • GenID will not automatically create a sequence table. *

    We encourage you to not use sequence tables and use auto-increment fields instead.

    *
  • * * * @package CMS * @author Robert Campbell * @copyright Copyright (c) 2015, Robert Campbell * @since 2.2 * @property-read float $query_time_total The total query time so far in this request (in seconds) * @property-read int $query_count The total number of queries executed so far. */ abstract class Connection { /** * This constant defines an error with connecting to the database. */ const ERROR_CONNECT = 'CONNECT'; /** * This constant defines an error with an execute statement. */ const ERROR_EXECUTE = 'EXECUTE'; /** * This constant defines an error with a transaction. */ const ERROR_TRANSACTION = 'TRANSACTION'; /** * This constant defines an error in a datadictionary command. */ const ERROR_DATADICT = 'DATADICTIONARY'; /** * @ignore */ private $_debug; /** * @ignore */ private $_debug_cb; /** * @ignore */ private $_query_count = 0; /** * @ignore */ private $_queries = array(); /** * @ignore */ private $_errorhandler; /** * The actual connectionspec object. * * @internal */ protected $_connectionSpec; /** * The last SQL command executed * * @internal * @param string $sql */ public $sql; /** * Accumulated sql query time. * * @internal * @param float $query_time_total */ protected $query_time_total; /** * Construct a new Connection. * * @param \CMSMS\Database\ConnectionSpec $spec */ public function __construct(ConnectionSpec $spec) { $this->_connectionSpec = $spec; } /** * @ignore */ public function __get($key) { if( $key == 'query_time_total' ) return $this->query_time_total; if( $key == 'query_count' ) return $this->_query_count; } /** * @ignore */ public function __isset($key) { if( $key == 'query_time_total' ) return TRUE; if( $key == 'query_count' ) return TRUE; return FALSE; } /** * Create a new data dictionary object. * Data Dictionary objects are used for manipulating tables, i.e: creating, altering and editing them. * @return \CMSMS\Database\DataDictionary */ abstract public function &NewDataDictionary(); /** * Return the database type. * * @return string */ abstract public function DbType(); /** * Open the database connection. * * @return bool Success or failure */ abstract public function Connect(); /** * Close the database connection. */ abstract public function Disconnect(); /** * Test if the connection object is connected to the database. * * @return bool */ abstract public function IsConnected(); /** * An alias for Disconnect. */ final public function Close() { return $this->Disconnect(); } //// utilities /** * Quote a string magically using the magic quotes flag. * This method is now just a deprecated alias for the qstr flag * as we now require magic quotes to be disabled. * * @deprecated * @param string $str * @return string */ public function QMagic($str) { return $this->qstr($str); } /** * Quote a string in a database agnostic manner. * Warning: This method may require two way traffic with the database depending upon the database. * @param string $str * @return string */ abstract public function qstr($str); /** * output the mysql expression for a string concatenation. * This function accepts a variable number of string arguments. * * @param $str First string to concatenate * @param $str,... unlimited number of strings to concatenate. * @return string */ abstract public function concat(); /** * Output the mysql expression to test if an item is null. * * @param string $field The field to test * @param string $ifNull The value to use if $field is null. * @return string */ abstract public function IfNull( $field, $ifNull ); /** * Output the number of rows affected by the last query. * * @return int */ abstract public function Affected_Rows(); /** * Return the numeric ID of the last insert query into a table with an auto-increment field. * @return int */ abstract public function Insert_ID(); //// primary query functions /** * The primary function for communicating with the database. * * @internal * @param string $sql The SQL query */ abstract public function &do_sql($sql); /** * Create a prepared statement object. * * @param string $sql The SQL query * @return Statement */ abstract public function &Prepare($sql); /** * Execute an SQL Select and limit the output. * * @param string $sql * @param int $nrows The number of rows to return * @param int $offset The starting offset of rows to return * @param array Any additional paramters required by placeholders in the $sql statement. * @return \CMSMS\Database\ResultSet */ public function &SelectLimit( $sql, $nrows = -1, $offset = -1, $inputarr = null ) { $limit = null; $nrows = (int) $nrows; $offset = (int) $offset; if( $nrows >= 0 || $offset >= 0 ) { $offset = ($offset >= 0) ? $offset . "," : ''; $nrows = ($nrows >= 0) ? $nrows : '18446744073709551615'; $limit = ' LIMIT ' . $offset . ' ' . $nrows; } if ($inputarr && is_array($inputarr)) { $sqlarr = explode('?',$sql); if( !is_array(reset($inputarr)) ) $inputarr = array($inputarr); foreach( $inputarr as $arr ) { $sql = ''; $i = 0; foreach( $arr as $v ) { $sql .= $sqlarr[$i]; switch(gettype($v)){ case 'string': $sql .= $this->qstr($v); break; case 'double': $sql .= str_replace(',', '.', $v); break; case 'boolean': $sql .= $v ? 1 : 0; break; default: if ($v === null) $sql .= 'NULL'; else $sql .= $v; } $i += 1; } $sql .= $sqlarr[$i]; if ($i+1 != sizeof($sqlarr)) { $false = null; return $false; } } } $sql .= $limit; $rs = $this->do_sql( $sql ); return $rs; } /** * Execute an SQL Command * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return \CMSMS\Database\ResultSet */ public function &Execute($sql, $inputarr = null) { $rs = $this->SelectLimit($sql, -1, -1, $inputarr ); return $rs; } /** * Execute an SQL Commmand and return all of the results as an array. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return array An associative array of matched results. */ public function GetArray($sql, $inputarr = null) { $result = $this->SelectLimit( $sql, -1, -1, $inputarr ); if( !$result ) return; $data = $result->GetArray(); return $data; } /** * An alias for the GetArray method. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return array */ public function GetAll($sql, $inputarr = null) { return $this->GetArray($sql, $inputarr); } /** * A method to return an associative array. * * @deprecated * @see Pear::getAssoc() * @param string $sql The SQL statement to execute * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @param bool $force_array Force each element of the output to be an associative array. * @param bool $first2cols Only output the first 2 columns in an associative array. Does not work with force_array. */ public function GetAssoc( $sql, $inputarr = null, $force_array = false, $first2cols = false ) { $data = null; $result = $this->SelectLimit($sql, -1, -1, $inputarr ); if( $result ) $data = $result->GetAssoc($force_array,$first2cols); return $data; } /** * Execute an SQL statement that returns one column, and return all of the * matches as an array. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @param bool $trim Optionally trim the output results. * @return array A single flat array of results, one entry per row matched. */ public function GetCol($sql, $inputarr = null, $trim = false) { $data = null; $result = $this->SelectLimit($sql, -1, -1, $inputarr); if ($result) { $data = []; $key = null; while (!$result->EOF) { $row = $result->Fields(); if( !$key ) $key = array_keys($row)[0]; $data[] = ($trim) ? trim($row[$key]) : $row[$key]; $result->MoveNext(); } } return $data; } /** * Exeute an SQL statement that returns one row of results, and return that row * as an associative array. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return array An associative array representing a single resultset row. */ public function GetRow($sql, $inputarr = null) { $nrows = 1; if( stripos( $sql, 'LIMIT' ) !== FALSE ) $nrows = -1; $rs = $this->SelectLimit( $sql, $nrows, -1, $inputarr ); if( !$rs ) return FALSE; return $rs->Fields(); } /** * Execute an SQL statement and return a single value. * * @param string $sql The SQL statement to execute. * @param array $inputarr Any parameters marked as placeholders in the SQL statement. * @return mixed */ public function GetOne($sql, $inputarr = null) { $res = $this->Getrow( $sql, $inputarr ); if( !$res ) return FALSE; $key = array_keys($res)[0]; return $res[$key]; } //// transactions /** * Begin a transaction */ abstract public function BeginTrans(); /** * Begin a smart transaction */ abstract public function StartTrans(); /** * Complete a smart transaction. * This method will either do a rollback or a commit depending upon if errors have been detected. * * @param bool $autoComplete If no errors have been detected attempt to auto commit the transaction. */ abstract public function CompleteTrans($autoComplete = true); /** * Commit a simple transaction. * * @param bool $ok Indicates wether there is success or not. */ abstract public function CommitTrans($ok = true); /** * Roll back a simple transaction. */ abstract public function RollbackTrans(); /** * Mark a transaction as failed. */ abstract public function FailTrans(); /** * Test if a transaction has failed. * * @return bool */ abstract public function HasFailedTrans(); //// sequence table stuff /** * For use with sequence tables, this method will generate a new ID value. * * This function will not automatically create the sequence table if not specified. * * @param string $seqname The name of the sequence table. * @return int * @deprecated */ abstract public function GenID($seqname); // these methods should be in the DataDictionary stuff. /** * Create a new sequence table. * * @param string $seqname the name of the sequence table. * @param int $startID * @return bool * @deprecated */ abstract public function CreateSequence($seqname,$startID=0); /** * Drop a sequence table * @param string $seqname The name of the sequence table. * @return bool */ abstract public function DropSequence($seqname); //// time and date stuff /** * A utility method to convert a unix timestamp into a database specific string suitable * for use in queries. * * @param int $timestamp * @return string single-quoted date-time or 'null' */ public function DBTimeStamp($timestamp) { if (empty($timestamp) && $timestamp !== 0) return 'null'; // strlen(14) allows YYYYMMDDHHMMSS format if( is_string($timestamp) ) { if( strlen($timestamp) === 14 || preg_match('/[0-9\s:-]*/',$timestamp) ) { $tmp = strtotime($timestamp); if( $tmp < 1 ) return 'null'; $timestamp = $tmp; } else if( is_numeric($timestamp) ) { $timestamp = (int) $timestamp; } } if( $timestamp > 0 ) return date("'Y-m-d H:i:s'",$timestamp); } /** * A convenience method for converting a database specific string representing a date and time * into a unix timestamp. * * @param string $str * @return int */ public function UnixTimeStamp($str) { return strtotime($str); } /** * Convert a date into something that is suitable for writing to a database. * * @param mixed $date Either a string date, or an integer timestamp * @return string single-quoted localized date or 'null' */ public function DBDate($date) { if (empty($date) && $date !== 0) return 'null'; if (is_string($date) && !is_numeric($date)) { if ($date === 'null' || strncmp($date, "'", 1) === 0) return $date; $date = $this->UnixDate($date); } return \locale_ftime("'%x'",$date); } /** * Generate a unix timestamp representing the current date at midnight. * * @deprecated * @return int */ public function UnixDate() { return strtotime('today midnight'); } /** * An alias for the UnixTimestamp method. * * @return int */ public function Time() { return $this->UnixTimeStamp(); } /** * An Alias for the UnixDate method. * * @return int */ public function Date() { return $this->UnixDate(); } //// error and debug message handling /** * Return a string describing the latest error (if any) * * @return string */ abstract public function ErrorMsg(); /** * Return the latest error number (if any) * * @return int */ abstract public function ErrorNo(); /** * Set an error handler function * * @param callable $fn */ public function SetErrorHandler($fn = null) { $this->_errorhandler = null; if( $fn && is_callable($fn) ) $this->_errorhandler = $fn; } /** * Toggle debug mode. * * @param bool $flag Enable or Disable debug mode. * @param callable $debug_handler */ public function SetDebugMode($flag = true,$debug_handler = null) { $this->_debug = (bool) $flag; if( $debug_handler && is_callable($this->_debug_handler) ) $this->_debug_cb = $debug_handler; } /** * Set the debug callback. * * @param callable $debug_handler */ public function SetDebugCallback(callable $debug_handler = null) { $this->_debug_cb = $debug_handler; } /** * Add a query to the debug log * * @internal * @param string $sql the SQL statement */ protected function add_debug_query($sql) { $this->_query_count++; if( $this->_debug && $this->_debug_cb ) call_user_func($this->_debug_cb,$sql); } /** * A callback that is called when a database error occurs. * This method will by default call the error handler if it has been set. * If no error handler is set, an exception will be thrown. * * @internal * @param string $errtype The type of error * @param int $error_number The error number * @param string $error_message The error message */ public function OnError($errtype, $error_number, $error_message ) { if( $this->_errorhandler && is_callable($this->_errorhandler) ) { call_user_func($this->_errorhandler, $this, $errtype, $error_number, $error_message); return; } switch( $errtype ) { case self::ERROR_CONNECT: throw new DatabaseConnectionException($error_message,$error_number); case self::ERROR_EXECUTE: throw new DatabaseException($error_message,$error_number,$this->sql,$this->_connectionSpec); } } //// initialization /** * Create a new database connection object. * This is the preferred wa to open a new database connection. * * @param \CMSMS\Database\Connectionspec $spec An object describing the database to connect to. * @return \CMSMS\Database\Connection * @todo Move this into a factory class */ public static function &Initialize(ConnectionSpec $spec) { if( !$spec->valid() ) throw new ConnectionSpecException('Invalid or incorrect configuration information'); $connection_class = '\\CMSMS\\Database\\'.$spec->type.'\\Connection'; if( !class_exists($connection_class) ) throw new \LogicException('Could not find a database abstraction layer named '.$spec->type); $obj = new $connection_class($spec); if( !($obj instanceof Connection ) ) throw new \LogicException("$connection_class is not derived from the primary database class."); if( $spec->debug ) $obj->SetDebugMode(); $obj->Connect(); if( $spec->auto_exec ) $obj->Execute($spec->auto_exec); return $obj; } } // end of class /** * A special type of exception related to database queries. */ class DatabaseException extends \LogicException { /** * @internal */ protected $_connection; /** * @internal */ protected $_sql; /** * Constructor * * @param string $msg The message string * @param int $number The error number * @param string $sql The related SQL statement, if any * @param \CMSMS\Database\ConnectionSpec The connection specification */ public function __construct($msg,$number,$sql,ConnectionSpec $connection) { parent::__construct($msg,$number); $this->_connection = $connection; $this->_sql = $sql; } /** * Get the SQL statement related to this exception. * @return string */ public function getSQL() { return $this->_sql; } /** * Get the Connectionspec that was used when generating the error. * * @return \CMSMS\Database\ConnectionSpec */ public function getConnectionSpec() { return $this->_connection; } } /** * A special exception indicating a problem connecting to the database. */ class DatabaseConnectionException extends \Exception {} } // end of Namespace * @since 2.2 * @param string $type The database connection type. Defaults to 'mysqli'. * @param string $host The hostname to connect to. * @param string $username The authentication username * @param string $password The authentication password * @param string $dbname The database name * @param string $prefix The table name prefix. * @param int $port The connection port * @param bool $persistent Wether or not to use persistent connections. * @param bool $debug Enable debug mode. */ class ConnectionSpec { /** * @ignore */ private $_data = array('type'=>'mysqli','host'=>null,'username'=>null,'password'=>null, 'dbname'=>null,'prefix'=>null,'port'=>null,'persistent'=>false,'debug'=>false, 'auto_exec'=>null); /** * @ignore */ public function __get($key) { if( !array_key_exists($key,$this->_data) ) throw new \InvalidArgumentException("$key is not a valid member of ".__CLASS__); return $this->_data[$key]; } /** * @ignore */ public function __set($key,$val) { if( !array_key_exists($key,$this->_data) ) throw new \InvalidArgumentException("$key is not a valid member of ".__CLASS__); $this->_data[$key] = trim($val); } /** * Test if this connectionspec is valid. * Returns true if there is enough information to connect to the database. * * @return bool */ public function valid() { if( !$this->type || !$this->host || !$this->username || !$this->password || !$this->dbname ) return FALSE; return TRUE; } } /** * A special exception to indicate a problem with a ConnectionSpec */ class ConnectionSpecException extends \Exception {} ?> $value) $new_array[strtoupper($key)] = $value; return $new_array; } return $an_array; } /** * @ignore */ function Lens_ParseArgs($args,$endstmtchar=',',$tokenchars='_.-') { $pos = 0; $intoken = false; $stmtno = 0; $endquote = false; $tokens = array(); $tokens[$stmtno] = array(); $max = strlen($args); $quoted = false; while ($pos < $max) { $ch = substr($args,$pos,1); switch($ch) { case ' ': case "\t": case "\n": case "\r": if (!$quoted) { if ($intoken) { $intoken = false; $tokens[$stmtno][] = implode('',$tokarr); } break; } $tokarr[] = $ch; break; case '`': if ($intoken) $tokarr[] = $ch; case '(': case ')': case '"': case "'": if ($intoken) { if (empty($endquote)) { $tokens[$stmtno][] = implode('',$tokarr); if ($ch == '(') $endquote = ')'; else $endquote = $ch; $quoted = true; $intoken = true; $tokarr = array(); } else if ($endquote == $ch) { $ch2 = substr($args,$pos+1,1); if ($ch2 == $endquote) { $pos += 1; $tokarr[] = $ch2; } else { $quoted = false; $intoken = false; $tokens[$stmtno][] = implode('',$tokarr); $endquote = ''; } } else $tokarr[] = $ch; }else { if ($ch == '(') $endquote = ')'; else $endquote = $ch; $quoted = true; $intoken = true; $tokarr = array(); if ($ch == '`') $tokarr[] = '`'; } break; default: if (!$intoken) { if ($ch == $endstmtchar) { $stmtno += 1; $tokens[$stmtno] = array(); break; } $intoken = true; $quoted = false; $endquote = false; $tokarr = array(); } if ($quoted) $tokarr[] = $ch; else if (ctype_alnum($ch) || strpos($tokenchars,$ch) !== false) $tokarr[] = $ch; else { if ($ch == $endstmtchar) { $tokens[$stmtno][] = implode('',$tokarr); $stmtno += 1; $tokens[$stmtno] = array(); $intoken = false; $tokarr = array(); break; } $tokens[$stmtno][] = implode('',$tokarr); $tokens[$stmtno][] = $ch; $intoken = false; } } $pos += 1; } if ($intoken) $tokens[$stmtno][] = implode('',$tokarr); return $tokens; } /** * A class defining methods to work directly with database tables. * * This file is based on the DataDictionary base class from the adodb_lite library * which was in turn a fork of the adodb library at approximately 2004. * * Credits and kudos to the authors of those packages. * * @package CMS * @author Robert Campbell * @copyright Copyright (c) 2015, Robert Campbell * @since 2.2 */ abstract class DataDictionary { /** * The database connection object. * * @internal */ protected $connection; /** * The SQL prefix to use when creating a drop table command. * * @internal */ protected $dropTable = 'DROP TABLE %s'; /** * The SQL prefix to use when renaming a table. * * @internal */ protected $renameTable = 'RENAME TABLE %s TO %s'; /** * The SQL prefix to use when dropping an index. * * @internal */ protected $dropIndex = 'DROP INDEX %s'; /** * The SQL string to use (in the alter table command) when adding a column. * * @internal */ protected $addCol = ' ADD'; /** * The SQL string to use (in the alter table command) when altering a column. * * @internal */ protected $alterCol = ' ALTER COLUMN'; /** * The SQL string to use (in the alter table command) when dropping a column. * * @internal */ protected $dropCol = ' DROP COLUMN'; /** * The SQL command template for renaming a column. * * @internal */ protected $renameColumn = 'ALTER TABLE %s RENAME COLUMN %s TO %s'; // table, old-column, new-column, column-definitions (not used by default) /** * @ignore */ protected $nameRegex = '\w'; /** * @ignore */ protected $nameRegexBrackets = 'a-zA-Z0-9_\(\)'; /** * @ignore */ protected $autoIncrement = false; /** * @ignore */ protected $invalidResizeTypes4 = array('CLOB','BLOB','TEXT','DATE','TIME'); // for changetablesql /** * Constructor * * @param \CMSMS\Database\Connection $conn */ protected function __construct(Connection $conn) { $this->connection = $conn; } /** * A function to return the database type. * * @internal * @return string */ protected function _DBType() { return $this->connection->DbType(); } /** * A function to return the datadictionary meta type for a database column type. * * @internal * @param string $t The database column type * @param int $len The length of the field (some database types may ignore this) * @param mixed $fieldobj An optional reference to a field object (advanced) * @return string */ abstract protected function MetaType($t,$len=-1,$fieldobj=false); /** * Return the list of tables in the currently connected database. * * @return string[] */ abstract public function MetaTables(); /** * Return the list of columns in a table within the currently connected database. * * @param string $table The table name. * @return string[] */ abstract public function MetaColumns($table); /** * Return a database specific column type given a datadictionary meta column type. * * @internal * @param string $meta The datadictionary column type. * @return string */ abstract protected function ActualType($meta); /** * Given a string name, return a quoted name in a form suitable for the database. * * @internal * @param string $name The input name * @param bool $allowBrackets wether brackets should be quoted or not. * @return string */ protected function NameQuote($name = NULL,$allowBrackets=false) { if (!is_string($name)) return FALSE; $name = trim($name); if ( !is_object($this->connection) ) return $name; $quote = $this->connection->nameQuote; // if name is of the form `name`, quote it if ( preg_match('/^`(.+)`$/', $name, $matches) ) return $quote . $matches[1] . $quote; // if name contains special characters, quote it $regex = ($allowBrackets) ? $this->nameRegexBrackets : $this->nameRegex; if ( !preg_match('/^[' . $regex . ']+$/', $name) ) return $quote . $name . $quote; return $name; } /** * Given a table name, optionally quote it. * * @internal * @param string $name * @return string */ protected function TableName($name) { return $this->NameQuote($name); } /** * Given an array of SQL commands execute them in sequence. * * @param string[] $sql An array of sql commands. * @param bool $continueOnError wether to continue on errors or not. * @return int 2 for no errors, 1 if an error occured. */ public function ExecuteSQLArray($sql, $continueOnError = true) { $rez = 2; $conn = &$this->connection; foreach($sql as $line) { try { $ok = $conn->Execute($line); if (!$ok) { if (!$continueOnError) return 0; $rez = 1; } } catch( \Exception $e ) { if( !$continueOnError ) throw $e; $rez = 1; // eat the exception } } return $rez; } /** * Create the SQL commands that will result in a database being created. * * @param string $dbname * @param array An associative array of database options. * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function CreateDatabase($dbname,$options=false) { $options = $this->_Options($options); $sql = array(); $s = 'CREATE DATABASE ' . $this->NameQuote($dbname); if (isset($options[$this->upperName])) $s .= ' '.$options[$this->upperName]; $sql[] = $s; return $sql; } /** * Generate the SQL to create an index. * * @param string $idxname The index name * @param string $tabname The table name * @param string|string[] $flds A list of the table fields to create the index with. Either an array of strings or a comma separated list. * @param array An associative array of options * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function CreateIndexSQL($idxname, $tabname, $flds, $idxoptions = false) { if (!is_array($flds)) { $flds = array_map( 'trim', explode(',',$flds) ); } foreach($flds as $key => $fld) { # some indexes can use partial fields, eg. index first 32 chars of "name" with NAME(32) $flds[$key] = $this->NameQuote($fld,$allowBrackets=true); } return $this->_IndexSQL($this->NameQuote($idxname), $this->TableName($tabname), $flds, $this->_Options($idxoptions)); } /** * Generate the SQL to drop an index * * @param string $idxname The index name * @param string $tabname The table name * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function DropIndexSQL ($idxname, $tabname = NULL) { return array(sprintf($this->dropIndex, $this->NameQuote($idxname), $this->TableName($tabname))); } /** * Generate the SQL to add columns to a table. * * @param string $tabname The Table name. * @param string $flds The column definitions (using DataDictionary meta types) * @return string[] An array of strings suitable for use with the ExecuteSQLArray method * @see CreateTableSQL */ public function AddColumnSQL($tabname, $flds) { $tabname = $this->TableName ($tabname); $sql = array(); list($lines,$pkey) = $this->_GenFields($flds); $alter = 'ALTER TABLE ' . $tabname . $this->addCol . ' '; foreach($lines as $v) { $sql[] = $alter . $v; } return $sql; } /** * Change the definition of one column * * @param string $tabname table-name * @param string $flds column-name and type for the changed column. * @param string $tableflds complete defintion of the new table, eg. for postgres, default '' * @param array/string $tableoptions options for the new table see CreateTableSQL, default '' * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function AlterColumnSQL($tabname, $flds, $tableflds='',$tableoptions='') { $tabname = $this->TableName ($tabname); $sql = array(); list($lines,$pkey) = $this->_GenFields($flds); $alter = 'ALTER TABLE ' . $tabname . $this->alterCol . ' '; foreach($lines as $v) { $sql[] = $alter . $v; } return $sql; } /** * Rename one column in a table. * * @param string $tabname table-name * @param string $oldcolumn column-name to be renamed * @param string $newcolumn new column-name * @param string $flds complete column-defintion-string like for AddColumnSQL, only used by mysql atm., default='' * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function RenameColumnSQL($tabname,$oldcolumn,$newcolumn,$flds='') { $tabname = $this->TableName ($tabname); if ($flds) { list($lines,$pkey) = $this->_GenFields($flds); $first = current($lines); list(,$column_def) = preg_split("/[\t ]+/",$first,2); } return array(sprintf($this->renameColumn,$tabname,$this->NameQuote($oldcolumn),$this->NameQuote($newcolumn),$column_def)); } /** * Drop one column from a table. * * @param string $tabname table-name * @param string $flds column-name and type for the changed column * @param string $tableflds complete defintion of the new table, eg. for postgres, default '' * @param array/string $tableoptions options for the new table see CreateTableSQL, default '' * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function DropColumnSQL($tabname, $flds, $tableflds='',$tableoptions='') { $tabname = $this->TableName ($tabname); if (!is_array($flds)) $flds = explode(',',$flds); $sql = array(); $alter = 'ALTER TABLE ' . $tabname . $this->dropCol . ' '; foreach($flds as $v) { $sql[] = $alter . $this->NameQuote($v); } return $sql; } /** * Drop one table, and all of it's indexes * * @param string $tabname The table name to drop. * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function DropTableSQL($tabname) { return array (sprintf($this->dropTable, $this->TableName($tabname))); } /** * Rename a table. * * @param string $tabname The table name * @param string $newname The new table name * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function RenameTableSQL($tabname,$newname) { return array (sprintf($this->renameTable, $this->TableName($tabname),$this->TableName($newname))); } /** * Generate the SQL to create a new table. * * The flds string is a comma separated of field definitions, where each definition is of the form * fieldname type columnsize otheroptions * * The type fields are codes that map to real database types as follows: *
    *
    C
    *
    Varchar, capped to 255 characters.
    *
    X
    *
    Text
    *
    XL
    *
    LongText
    *
    C2
    *
    Varchar, capped to 255 characters
    *
    XL
    *
    LongText
    *
    B
    *
    LongBlob
    *
    D
    *
    Date
    *
    DT
    *
    DateTime
    *
    T
    *
    Time
    *
    TS
    *
    Timestamp
    *
    L
    *
    TinyInt
    *
    R / I4 / I
    *
    Integer
    *
    I1
    *
    TinyInt
    *
    I2
    *
    SmallInt
    *
    I4
    *
    BigInt
    *
    F
    *
    Double
    *
    N
    *
    Numeric
    *
    * * The otheroptions field includes the following options: *
    *
    AUTO
    *
    Auto increment. Also sets NOTNULL.
    *
    AUTOINCREMENT
    *
    Same as AUTO
    *
    KEY
    *
    Primary key field. Also sets NOTNULL. Compound keys are supported.
    *
    PRImARY
    *
    Same as KEY
    *
    DEFAULT
    *
    The default value. Character strings are auto-quoted unless the string begins with a space. i.e: ' SYSDATE '.
    *
    DEF
    *
    Same as DEFAULT
    *
    CONSTRAINTS
    *
    Additional constraints defined at the end of the field definition.
    *
    * * @param string $tabname The table name * @param string $flds a comma separated list of field definitions using datadictionary syntax. * @param mixed $tableoptions A string specifying table options (database driver specific) for the table creation command. Or an associative array of table options, keys being the database type (as available). * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function CreateTableSQL($tabname, $flds, $tableoptions=false) { if( $tableoptions && is_string($tableoptions)) { $dbtype = $this->_DBType(); $tableoptions = [ $dbtype => $tableoptions ]; } list($lines,$pkey) = $this->_GenFields($flds, true); $taboptions = $this->_Options($tableoptions); $tabname = $this->TableName ($tabname); $sql = $this->_TableSQL($tabname,$lines,$pkey,$taboptions); $tsql = $this->_Triggers($tabname,$taboptions); foreach($tsql as $s) $sql[] = $s; return $sql; } /** * Part of the process of parsing the datadictionary format into database specific commands. * * @internal */ protected function _GenFields($flds,$widespacing=false) { if (is_string($flds)) { $padding = ' '; $txt = $flds.$padding; $flds = array(); $flds0 = Lens_ParseArgs($txt,','); $hasparam = false; foreach($flds0 as $f0) { if( !count($f0) ) break; $f1 = array(); foreach($f0 as $token) { switch (strtoupper($token)) { case 'CONSTRAINT': case 'DEFAULT': $hasparam = $token; break; default: if ($hasparam) $f1[$hasparam] = $token; else $f1[] = $token; $hasparam = false; break; } } $flds[] = $f1; } } $this->autoIncrement = false; $lines = array(); $pkey = array(); foreach($flds as $fld) { $fld = _array_change_key_case($fld); $fname = false; $fdefault = false; $fautoinc = false; $ftype = false; $fsize = false; $fprec = false; $fprimary = false; $fnoquote = false; $fdefts = false; $fdefdate = false; $fconstraint = false; $fnotnull = false; $funsigned = false; //----------------- // Parse attributes foreach($fld as $attr => $v) { if ($attr == 2 && is_numeric($v)) $attr = 'SIZE'; else if (is_numeric($attr) && $attr > 1 && !is_numeric($v)) $attr = strtoupper($v); switch($attr) { case '0': case 'NAME': $fname = $v; break; case '1': case 'TYPE': $ty = $v; $ftype = $this->ActualType(strtoupper($v)); break; case 'SIZE': $dotat = strpos($v,'.'); if ($dotat === false) $dotat = strpos($v,','); if ($dotat === false) $fsize = $v; else { $fsize = substr($v,0,$dotat); $fprec = substr($v,$dotat+1); } break; case 'UNSIGNED': $funsigned = true; break; case 'AUTOINCREMENT': case 'AUTO': $fautoinc = true; $fnotnull = true; break; case 'KEY': case 'PRIMARY': $fprimary = $v; $fnotnull = true; break; case 'DEF': case 'DEFAULT': $fdefault = $v; break; case 'NOTNULL': $fnotnull = $v; break; case 'NOQUOTE': $fnoquote = $v; break; case 'DEFDATE': $fdefdate = $v; break; case 'DEFTIMESTAMP': $fdefts = $v; break; case 'CONSTRAINT': $fconstraint = $v; break; } } //-------------------- // VALIDATE FIELD INFO if (!strlen($fname)) { die('failed'); return false; } $fid = strtoupper(preg_replace('/^`(.+)`$/', '$1', $fname)); $fname = $this->NameQuote($fname); if (!strlen($ftype)) { return false; } else { $ftype = strtoupper($ftype); } $ftype = $this->_GetSize($ftype, $ty, $fsize, $fprec); if ($ty == 'X' || $ty == 'X2' || $ty == 'B') $fnotnull = false; // some blob types do not accept nulls if ($fprimary) $pkey[] = $fname; // some databases do not allow blobs to have defaults if ($ty == 'X') $fdefault = false; //-------------------- // CONSTRUCT FIELD SQL if ($fdefts) { if (substr($this->_DbType(),0,5) == 'mysql') { $ftype = 'TIMESTAMP'; } else { $fdefault = $this->connection->sysTimeStamp; } } else if ($fdefdate) { if (substr($this->_DBType(),0,5) == 'mysql') { $ftype = 'TIMESTAMP'; } else { $fdefault = $this->connection->sysDate; } } else if ($fdefault !== false && !$fnoquote) if ($ty == 'C' or $ty == 'X' or ( substr($fdefault,0,1) != "'" && !is_numeric($fdefault))) if (strlen($fdefault) != 1 && substr($fdefault,0,1) == ' ' && substr($fdefault,strlen($fdefault)-1) == ' ') $fdefault = trim($fdefault); else if (strtolower($fdefault) != 'null') $fdefault = $this->connection->qstr($fdefault); $suffix = $this->_CreateSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned); if ($widespacing) $fname = str_pad($fname,24); $lines[$fid] = $fname.' '.$ftype.$suffix; if ($fautoinc) $this->autoIncrement = true; } // foreach $flds return array($lines,$pkey); } /** * Generate the size part of the datatype. * * @ignore * @internal */ protected function _GetSize($ftype, $ty, $fsize, $fprec) { if (strlen($fsize) && $ty != 'X' && $ty != 'B' && strpos($ftype,'(') === false) { $ftype .= "(".$fsize; if (strlen($fprec)) $ftype .= ",".$fprec; $ftype .= ')'; } return $ftype; } /** * Create a suffix * * @internal */ protected function _CreateSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned) { $suffix = ''; if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault"; if ($fnotnull) $suffix .= ' NOT NULL'; if ($fconstraint) $suffix .= ' '.$fconstraint; return $suffix; } /** * build SQL commands for indexes. * * @internal */ protected function _IndexSQL($idxname, $tabname, $flds, $idxoptions) { $sql = array(); if ( isset($idxoptions['REPLACE']) || isset($idxoptions['DROP']) ) { $sql[] = sprintf ($this->dropIndex, $idxname); if ( isset($idxoptions['DROP']) ) return $sql; } if ( empty ($flds) ) return $sql; $unique = isset($idxoptions['UNIQUE']) ? ' UNIQUE' : ''; $s = 'CREATE' . $unique . ' INDEX ' . $idxname . ' ON ' . $tabname . ' '; if ( isset($idxoptions[$this->upperName]) ) $s .= $idxoptions[$this->upperName]; if ( is_array($flds) ) $flds = implode(', ',$flds); $s .= '(' . $flds . ')'; $sql[] = $s; return $sql; } /** * A method to drop the auto increment column on a table. * * @internal */ protected function _DropAutoIncrement($tabname) { return false; } /** * An internal method to get a list of database type specific options for a command. * * @internal */ protected function get_dbtype_options($opts,$suffix = null) { $dbtype = $this->_DBType(); $list = array($dbtype.$suffix,strtoupper($dbtype).$suffix,strtolower($dbtype).$suffix); foreach( $list as $one ) { if( isset($opts[$one]) && is_string($opts[$one]) && strlen($opts[$one]) ) return $opts[$one]; } } /** * Build strings for generating tables. * * @internal */ protected function _TableSQL($tabname,$lines,$pkey,$tableoptions) { $sql = array(); if (isset($tableoptions['REPLACE']) || isset ($tableoptions['DROP'])) { $sql[] = sprintf($this->dropTable,$tabname); if ($this->autoIncrement) { $sInc = $this->_DropAutoIncrement($tabname); if ($sInc) $sql[] = $sInc; } if ( isset ($tableoptions['DROP']) ) { return $sql; } } $s = "CREATE TABLE $tabname (\n"; $s .= implode(",\n", $lines); if (sizeof($pkey)>0) { $s .= ",\n PRIMARY KEY ("; $s .= implode(", ",$pkey).")"; } if (isset($tableoptions['CONSTRAINTS'])) $s .= "\n".$tableoptions['CONSTRAINTS']; $str = $this->get_dbtype_options($tableoptions,'_CONSTRAINTS'); if( $str ) $s .= "\n".$str; $s .= "\n)"; $str = $this->get_dbtype_options($tableoptions); if( $str ) $s .= $str; $sql[] = $s; return $sql; } /** * Generate triggers if needed. * This is used when table has auto-incrementing field that is emulated using triggers. * * @internal */ protected function _Triggers($tabname,$taboptions) { return array(); } /** * Sanitize options, * * @internal */ protected function _ProcessOptions($opts) { return $opts; } /** * Convert options into a format usable by the system. * * @internal */ protected function _Options($opts) { $opts = $this->_ProcessOptions($opts); if (!is_array($opts)) return array(); $newopts = array(); foreach($opts as $k => $v) { if (is_numeric($k)) $newopts[strtoupper($v)] = $v; else $newopts[strtoupper($k)] = $v; } return $newopts; } /** * Add, drop or change columns within a table. * * This function changes/adds new fields to your table. You don't * have to know if the col is new or not. It will check on its own. * * @param string $tablename The table name * @param string $flds The field definitions * @param array $tableoptions Table options * @return string[] An array of strings suitable for use with the ExecuteSQLArray method */ public function ChangeTableSQL($tablename, $flds, $tableoptions = false) { // check table exists $cols = $this->MetaColumns($tablename); if ( empty($cols)) { return $this->CreateTableSQL($tablename, $flds, $tableoptions); } if (is_array($flds)) { // Cycle through the update fields, comparing // existing fields to fields to update. // if the Metatype and size is exactly the // same, ignore - by Mark Newham $holdflds = array(); foreach($flds as $k=>$v) { if ( isset($cols[$k]) && is_object($cols[$k]) ) { $c = $cols[$k]; $ml = $c->max_length; $mt = &$this->MetaType($c->type,$ml); if ($ml == -1) $ml = ''; if ($mt == 'X') $ml = $v['SIZE']; if (($mt != $v['TYPE']) || $ml != $v['SIZE']) $holdflds[$k] = $v; } else { $holdflds[$k] = $v; } } $flds = $holdflds; } // already exists, alter table instead list($lines,$pkey) = $this->_GenFields($flds); $alter = 'ALTER TABLE ' . $this->TableName($tablename); $sql = array(); foreach ( $lines as $id => $v ) { if ( isset($cols[$id]) && is_object($cols[$id]) ) { $flds = Lens_ParseArgs($v,','); // We are trying to change the size of the field, if not allowed, simply ignore the request. if ($flds && in_array(strtoupper(substr($flds[0][1],0,4)),$this->invalidResizeTypes4)) continue; $sql[] = $alter . $this->alterCol . ' ' . $v; } else { $sql[] = $alter . $this->addCol . ' ' . $v; } } return $sql; } } // end of class * @since 2.2 * @property-read bool $EOF Test if we are at the end of the current resultset. * @property-read array $fields Return the current row of the resultset. */ abstract class Resultset { /** * @ignore */ public function __destruct() { $this->Close(); } /** * Move to the first row in a resultset. */ abstract public function MoveFirst(); /** * Move to the next row of a resultset. */ abstract public function MoveNext(); /** * Move to a specified index of the resultset. * * @param int $idx */ abstract protected function Move($idx); /** * Get all remaining results in this resultset as an array of records. * * @return array */ public function GetArray() { $results = array(); while( !$this->EOF() ) { $results[] = $this->fields(); $this->MoveNext(); } return $results; } /** * An alias for the GetArray method. * * @see GetArray() * @return array * @deprecated */ public function GetRows() { return $this->GetArray(); } /** * An alias for the GetArray method. * @see GetArray() * @return array * @deprecated */ public function GetAll() { return $this->GetArray(); } /** * Get an associative array from a resultset. * * If only two columns are returned in the resultset, the keys of the returned associative array * will be the value of the first column, and the value of each key will be the value from the second column. * * If more than 2 columns are returned, then the key of the returned associative array will be the * value from the first column, and the value of each key will be an associative array of the remaining columns. * This is known as array behavior. * * @deprecated * @param boolean force_array Force array behavior, even if there are only two columns in the resulting SQL. * @param boolean first2cols The opposite of force_array. Only output the data from the first 2 columns as an associative array. * @return array */ public function GetAssoc($force_array = false, $first2cols = false) { $data = null; $first_row = $this->Fields(); if( count($first_row) < 2 ) return $data; $data = []; $keys = array_keys($first_row); $numeric_index = isset($row[0]); if( !$first2cols && (count($keys) > 2 || $force_array) ) { // output key is first column // other columns as assoc $first_key = $keys[0]; while( !$this->EOF() ) { $row = $this->Fields(); $data[trim($row[$first_key])] = array_slice($row,1); $this->MoveNext(); } } else { // only 2 columns... output a single associative while( !$this->EOF() ) { $row = $this->Fields(); $data[trim($row[$keys[0]])] = $row[$keys[1]]; $this->MoveNext(); } } return $data; } /** * Test if we are at the end of a resultset, and there are no further matches. * * @return bool */ abstract public function EOF(); /** * Close the current resultset. */ abstract public function Close(); /** * Return the number of rows in the current resultset. * * @return int */ abstract public function RecordCount(); /** * Alias for the RecordCount() method. * * @see RecordCount(); * @return int */ public function NumRows() { return $this->RecordCount(); } /** * Return the fields of the current resultset, or a single field of it. * * @param string $field An optional field name, if not specified, the entire row will be returned. * @return mixed|array Either a single value, or an array */ abstract public function Fields( $field = null ); /** * Fetch the current row, and move to the next row. * * @return array */ public function FetchRow() { if( $this->EOF() ) return false; $out = $this->fields(); $this->MoveNext(); return $out; } /** * @internal */ abstract protected function fetch_row(); /** * @ignore */ public function __get($key) { if( $key == 'EOF' ) return $this->EOF(); if( $key == 'fields' ) return $this->Fields(); } } * @since 2.2 * @property-read Connection $db The database connection * @property-read string $sql The SQL query. */ abstract class Statement { /** * @ignore */ private $_conn; /** * @ignore */ private $_sql; /** * Constructor * * @param Connection $conn The database connection * @param string $sql The SQL query */ public function __construct(Connection $conn,$sql = null) { $this->_conn = $conn; $this->_sql = $sql; } /** * @ignore */ public function __get($key) { switch( $key ) { case 'db': case 'conn': return $this->_conn; case 'sql': return $this->_sql; } } /** * Bind data to the sql statements * * @param array $data An array of arrays of data representing the numerous rows of the input data. */ public function Bind(array $data) { if( !is_array($data) || count($data) == 0 ) throw new \LogicException('Data passed to '.__METHOD__.' must be an associative array'); $first = $data[0]; if( !is_array($first) || count($first) == 0 ) throw new \LogicException('Data passed to '.__METHOD__.' must be an associative array'); $keys = array_keys($first); if( is_numeric($keys[0]) && $keys[0] === 0 ) throw new \LogicException('Data passed to '.__METHOD__.' must be an associative array'); $this->set_bound_data($data); } /** * Set bound data * * @see bind * @param array $data An array of arrays of data representing the numerous rows of the input data. */ abstract protected function set_bound_data($data); /** * Test if we are at the end of the resultset. * * @return bool */ abstract public function EOF(); /** * Move to the first record of the resultset. */ abstract public function MoveFirst(); /** * Move to the next record of the resultset. */ abstract public function MoveNext(); /** * Retrive data fields. * * @param string $col The column name. If not specified, all columns will be returned. * @return mixed */ abstract public function Fields($col = null); /** * Execute the query */ abstract public function Execute(); } type = $config['dbms']; $spec->host = $config['db_hostname']; $spec->username = $config['db_username']; $spec->password = $config['db_password']; $spec->dbname = $config['db_name']; $spec->port = $config['db_port']; $spec->debug = CMS_DEBUG; $tmp = []; if( $config['set_names'] ) $tmp[] = "NAMES 'utf8'"; if( $config['set_db_timezone'] ) { $dt = new \DateTime(); $dtz = new \DateTimeZone($config['timezone']); $offset = timezone_offset_get($dtz,$dt); $symbol = ($offset < 0) ? '-' : '+'; $hrs = abs((int)($offset / 3600)); $mins = abs((int)($offset % 3600)); $tmp[] = sprintf("time_zone = '%s%d:%02d'",$symbol,$hrs,$mins); } if( count($tmp) ) $spec->auto_exec = 'SET '.implode(',',$tmp); $obj = Connection::Initialize($spec); $obj->SetErrorHandler( '\\CMSMS\Database\\compatibility::on_error' ); if( $spec->debug ) $obj->SetDebugCallback('debug_buffer'); return $obj; } public static function on_error( Connection $conn, $errtype, $error_number, $error_msg ) { debug_to_log("Database Error: $errtype($error_number) - $error_msg"); debug_bt_to_log(); if( !defined('CMS_DEBUG') || CMS_DEBUG == 0 ) return; \CmsApp::get_instance()->add_error(debug_display($error_msg, '', false, true)); } /** * A static no-op function that allows the autoloader to load this file */ public static function noop() { // do nothing } } // end of class } // end of namespace namespace { // root namespace stuff /** * A constant to assist with date and time flags in the data dictionary. * * @name CMS_ADODB_DT */ define('CMS_ADODB_DT','DT'); // backwards compatibility. /** * A method to create a new data dictionary object * * @param \CMSMS\Database\Connection $conn The existing database connection. * @return \CMSMS\Database\DataDictionary * @deprecated */ function &NewDataDictionary(\CMSMS\Database\Connection $conn) { // called by module installation routines. return $conn->NewDataDictionary(); } /** * A function co create a new adodb database connection. * * @param string $dbms * @param string $flags * @return \CMSMS\Database\Connection * @deprecated */ function &ADONewConnection( $dbms, $flags ) { // now that our connection object is stateless... this is just a wrapper // for our global db instance.... but should not be called. return \CmsApp::get_instance()->GetDb(); } /** * A function forumerly used to load the adodb library. * This method currently has no functionality. * * @deprecated */ function load_adodb() { // this should only have been called by the core // but now does nothing, just in case it is called. } /** * An old method formerly used to ensure that we were re-connected to the proper database. * This method currently has no functionality. * * @deprecated */ function adodb_connect() { // this may be called by UDT's etc. that are talking to other databases // or using manual mysql methods. } /** * An old function for handling a database error. * * @param string $dbtype * @param string $function_performed * @param int $error_number * @param string $error_message * @param string $host * @param string $database * @param mixed $connection_obj * @deprecated */ function adodb_error($dbtype,$function_performed,$error_number,$error_message, $host, $database, &$connection_obj) { // does nothing.... remove me later. } } ?> _mysql = new \mysqli( $this->_connectionSpec->host, $this->_connectionSpec->username, $this->_connectionSpec->password, $this->_connectionSpec->dbname, (int) $this->_connectionSpec->port ); if( $this->_mysql->connect_error ) { $this->_mysql = null; $this->OnError(self::ERROR_CONNECT,mysqli_connect_errno(),mysqli_connect_error()); return FALSE; } return TRUE; } catch( \Exception $e ) { $this->_mysql = null; $this->OnError(self::ERROR_CONNECT,mysqli_connect_errno(),mysqli_connect_error()); return FALSE; } } public function &NewDataDictionary() { $obj = new DataDictionary($this); return $obj; } public function Disconnect() { if( $this->_mysql ) { $this->_mysql->Close(); $this->_mysql = null; } } public function &get_inner_mysql() { return $this->_mysql; } public function IsConnected() { return is_object($this->_mysql); } public function ErrorMsg() { if( $this->_mysql ) return $this->_mysql->error; return mysqli_connect_error(); } public function ErrorNo() { if( $this->_mysql ) return $this->_mysql->errno; return mysqli_connect_errno(); } public function Affected_Rows() { return $this->_mysql->affected_rows; } public function Insert_ID() { $res = $this->_mysql->insert_id; return $res; } public function qstr($str) { // note... this could be a two way tcp/ip or socket communication return "'".$this->_mysql->escape_string($str)."'"; } public function Concat() { $arr = func_get_args(); $list = implode(', ', $arr); if (strlen($list) > 0) return "CONCAT($list)"; } public function IfNull( $field, $ifNull ) { return " IFNULL($field, $ifNull)"; } protected function do_multisql($sql) { // no error checking for this stuff // and no return data $_t = $this->_mysql->multi_query($sql); if( $_t ) { do { $res = $this->_mysql->store_result(); } while( $this->_mysql->more_results() && $this->_mysql->next_result() ); } } public function &do_sql($sql) { // execute all queries, but only need the resultset from the last one. $resultset = null; $this->sql = $sql; $time_start = microtime(TRUE); $resultid = $this->_mysql->query( $sql ); $time_total = microtime(TRUE) - $time_start; $this->query_time_total += $time_total; if( !$resultid ) { $this->FailTrans(); $this->OnError(self::ERROR_EXECUTE,$this->_mysql->errno, $this->_mysql->error); return $resultset; } $this->add_debug_query($sql); $resultset = new ResultSet( $this->_mysql, $resultid, $sql ); return $resultset; } public function &Prepare($sql) { $stmt = new Statement($this,$sql); return $stmt; } public function BeginTrans() { if( $this->_in_smart_transaction ) return TRUE; // allow nesting in this case. $this->_in_transaction++; $this->_transaction_failed = FALSE; $this->Execute('BEGIN'); return TRUE; } public function StartTrans() { if( $this->_in_smart_transaction ) { $this->_in_smart_transaction++; return; } if( $this->_in_transaction ) { $this->OnError( self::ERROR_TRANSACTION, -1, 'Bad Transaction: StartTrans called within BeginTrans'); return FALSE; } $this->_transaction_status = TRUE; $this->_in_smart_transaction++; $this->BeginTrans(); } public function RollbackTrans() { if( !$this->_in_transaction ) { $this->OnError( self::ERROR_TRANSACTION, -1, 'BeginTrans has not been called'); return FALSE; } $this->_in_transaction--; $this->Execute('ROLLBACK'); return TRUE; } function CommitTrans($ok=true) { if (!$ok) return $this->RollbackTrans(); if( !$this->_in_transaction ) { $this->OnError( self::ERROR_TRANSACTION, -1, 'BeginTrans has not been called'); return FALSE; } $this->_in_transaction--; $this->Execute('COMMIT'); return TRUE; } public function CompleteTrans($autoComplete = true) { if( $this->_in_smart_transaction > 0 ) { $this->_in_smart_transaction--; return TRUE; } if( $this->_transaction_status && $autoComplete ) { if( !$this->CommitTrans() ) { $this->_transaction_status = FALSE; } } else { $this->RollbackTrans(); } $this->_in_smart_transaction = 0; return $this->_transaction_status; } public function FailTrans() { $this->_transaction_status = FALSE; } function HasFailedTrans() { if( $this->_in_smart_transaction > 0 ) return $this->_transaction_status == FALSE; return FALSE; } public function GenID($seqname) { $sql = sprintf('UPDATE %s SET id=id+1;',$seqname); $this->Execute($sql); $sql = sprintf('SELECT id FROM %s',$seqname); return (int) $this->GetOne($sql); } public function CreateSequence($seqname,$startID=0) { $out = array(); $startID = (int) $startID; $out[] = sprintf('CREATE TABLE %s (id int not null) ENGINE MyISAM',$seqname); $out[] = sprintf('INSERT INTO %s (id) values (%s)',$seqname,$startID); $dict = $this->NewDataDictionary(); $dict->ExecuteSQLArray($out); return TRUE; } public function DropSequence($seqname) { return $this->Execute(sprintf('DROP TABLE %s',$seqname)); } } // end of class alterCol = ' MODIFY COLUMN'; $this->alterTableAddIndex = true; $this->dropTable = 'DROP TABLE IF EXISTS %s'; // requires mysql 3.22 or later $this->dropIndex = 'DROP INDEX %s ON %s'; $this->renameColumn = 'ALTER TABLE %s CHANGE COLUMN %s %s %s'; // needs column-definition! } protected function ActualType($meta) { switch( $meta ) { case 'C': return 'VARCHAR'; case 'XL':return 'LONGTEXT'; case 'X': return 'TEXT'; case 'C2': return 'VARCHAR'; case 'X2': return 'LONGTEXT'; case 'B': return 'LONGBLOB'; case 'D': return 'DATE'; case 'DT': return 'DATETIME'; case 'T': return 'TIME'; case 'TS': return 'TIMESTAMP'; case 'L': return 'TINYINT'; case 'R': case 'I4': case 'I': return 'INTEGER'; case 'I1': return 'TINYINT'; case 'I2': return 'SMALLINT'; case 'I8': return 'BIGINT'; case 'F': return 'DOUBLE'; case 'N': return 'NUMERIC'; default: return $meta; } } protected function MetaType($t,$len=-1,$fieldobj=false) { // $t can be mixed... if (is_object($t)) { $fieldobj = $t; $t = $fieldobj->type; $len = $fieldobj->max_length; } $len = -1; // mysql max_length is not accurate switch (strtoupper($t)) { case 'STRING': case 'CHAR': case 'VARCHAR': case 'TINYBLOB': case 'TINYTEXT': case 'ENUM': case 'SET': if ($len <= $this->blobSize) return 'C'; case 'TEXT': case 'LONGTEXT': case 'MEDIUMTEXT': return 'X'; // php_mysql extension always returns 'blob' even if 'text' // so we have to check whether binary... case 'IMAGE': case 'LONGBLOB': case 'BLOB': case 'MEDIUMBLOB': return !empty($fieldobj->binary) ? 'B' : 'X'; case 'YEAR': case 'DATE': return 'D'; case 'TIME': case 'DATETIME': case 'TIMESTAMP': return 'T'; case 'INT': case 'INTEGER': case 'BIGINT': case 'TINYINT': case 'MEDIUMINT': case 'SMALLINT': if (!empty($fieldobj->primary_key)) return 'R'; return 'I'; default: static $typeMap = array( 'VARCHAR' => 'C', 'VARCHAR2' => 'C', 'CHAR' => 'C', 'C' => 'C', 'STRING' => 'C', 'NCHAR' => 'C', 'NVARCHAR' => 'C', 'VARYING' => 'C', 'BPCHAR' => 'C', 'CHARACTER' => 'C', ## 'LONGCHAR' => 'X', 'TEXT' => 'X', 'NTEXT' => 'X', 'M' => 'X', 'X' => 'X', 'CLOB' => 'X', 'NCLOB' => 'X', 'LVARCHAR' => 'X', ## 'BLOB' => 'B', 'IMAGE' => 'B', 'BINARY' => 'B', 'VARBINARY' => 'B', 'LONGBINARY' => 'B', 'B' => 'B', ## 'YEAR' => 'D', // mysql 'DATE' => 'D', 'D' => 'D', ## 'TIME' => 'T', 'TIMESTAMP' => 'T', 'DATETIME' => 'T', 'TIMESTAMPTZ' => 'T', 'T' => 'T', ## 'BOOL' => 'L', 'BOOLEAN' => 'L', 'BIT' => 'L', 'L' => 'L', ## 'COUNTER' => 'R', 'R' => 'R', 'SERIAL' => 'R', // ifx 'INT IDENTITY' => 'R', ## 'INT' => 'I', 'INT2' => 'I', 'INT4' => 'I', 'INT8' => 'I', 'INTEGER' => 'I', 'INTEGER UNSIGNED' => 'I', 'SHORT' => 'I', 'TINYINT' => 'I', 'SMALLINT' => 'I', 'I' => 'I', ## 'LONG' => 'N', // interbase is numeric, oci8 is blob 'BIGINT' => 'N', // this is bigger than PHP 32-bit integers 'DECIMAL' => 'N', 'DEC' => 'N', 'REAL' => 'N', 'DOUBLE' => 'N', 'DOUBLE PRECISION' => 'N', 'SMALLFLOAT' => 'N', 'FLOAT' => 'N', 'NUMBER' => 'N', 'NUM' => 'N', 'NUMERIC' => 'N', 'MONEY' => 'N', ## informix 9.2 'SQLINT' => 'I', 'SQLSERIAL' => 'I', 'SQLSMINT' => 'I', 'SQLSMFLOAT' => 'N', 'SQLFLOAT' => 'N', 'SQLMONEY' => 'N', 'SQLDECIMAL' => 'N', 'SQLDATE' => 'D', 'SQLVCHAR' => 'C', 'SQLCHAR' => 'C', 'SQLDTIME' => 'T', 'SQLINTERVAL' => 'N', 'SQLBYTES' => 'B', 'SQLTEXT' => 'X', ## informix 10 "SQLINT8" => 'I8', "SQLSERIAL8" => 'I8', "SQLNCHAR" => 'C', "SQLNVCHAR" => 'C', "SQLLVARCHAR" => 'X', "SQLBOOL" => 'L' ); $tmap = false; $t = strtoupper($t); $tmap = (isset($typeMap[$t])) ? $typeMap[$t] : 'N'; return $tmap; } } public function MetaTables() { $sql = 'SHOW TABLES'; $list = $this->connection->GetCol($sql); if( count($list) ) return $list; } public function MetaColumns($table) { $table = trim($table); if( !$table ) throw new \LogicException('empty table name specified for '.__METHOD__); $sql = 'SHOW COLUMNS FROM ?'; $rs = $this->connection->GetArray($sql,$table); if( is_array($rs) && count($rs) ) { $out = array(); foreach( $rs as $row ) { $out[] = $row['Field']; } return $out; } } /* * Arguably this method is counter-productive. Any correction here will * probably not be replicated at runtime, and better to fail during installation. * The name is not checked for a reserved-word. * Permitted characters in unquoted identifiers are in accord with MySQL documentation. */ protected function NameQuote($name = null, $allowBrackets = false) { if (!is_string($name)) { return ''; } // if name is already quoted, just trim if (preg_match('/^\s*`.+`\s*$/', $name)) { return trim($name); } $name = rtrim($name); // if name contains special characters, quote it $patn = ($allowBrackets) ? '\w$()\x80-\xff' : '\w$\x80-\xff'; if (preg_match('/[^'.$patn.']/', $name)) { return '`'.$name.'`'; } // if name contains only digits, quote it if (preg_match('/^\s*\d+$/', $name)) { return '`'.$name.'`'; } return $name; } protected function _CreateSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned) { $suffix = ''; if ($funsigned) $suffix .= ' UNSIGNED'; if ($fnotnull) $suffix .= ' NOT NULL'; if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault"; if ($fautoinc) $suffix .= ' AUTO_INCREMENT'; if ($fconstraint) $suffix .= ' '.$fconstraint; return $suffix; } function _ProcessOptions($opts) { // fixes for old TYPE= stuff in tabopts. if( is_array($opts) && count($opts) ) { foreach( $opts as $key => &$val ) { if( startswith(strtolower($key),'mysql') ) { $val = preg_replace('/TYPE\s?=/i','ENGINE=',$val); } } } return $opts; } function _IndexSQL($idxname, $tabname, $flds, $idxoptions) { $sql = array(); if ( isset($idxoptions['REPLACE']) || isset($idxoptions['DROP']) ) { if ($this->alterTableAddIndex) $sql[] = "ALTER TABLE $tabname DROP INDEX $idxname"; else $sql[] = sprintf($this->dropIndex, $idxname, $tabname); if ( isset($idxoptions['DROP']) ) return $sql; } if ( empty ($flds) ) return $sql; if (isset($idxoptions['FULLTEXT'])) { $unique = ' FULLTEXT'; } elseif (isset($idxoptions['UNIQUE'])) { $unique = ' UNIQUE'; } else { $unique = ''; } if ( is_array($flds) ) $flds = implode(', ',$flds); if ($this->alterTableAddIndex) $s = "ALTER TABLE $tabname ADD $unique INDEX $idxname "; else $s = 'CREATE' . $unique . ' INDEX ' . $idxname . ' ON ' . $tabname; $s .= ' (' . $flds . ')'; if( ($opts = $this->get_dbtype_options($idxoptions)) ) $s .= $opts; $sql[] = $s; return $sql; } function CreateTableSQL($tabname, $flds, $tableoptions=false) { $str = 'ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci'; $dbtype = $this->_DBType(); // clean up input tableoptions if( !$tableoptions ) { $tableoptions = [ $dbtype => $str ]; } else if( is_string($tableoptions) ) { $tableoptions = [ $dbtype => $tableoptions ]; } else if( is_array($tableoptions) && !isset($tableoptions[$dbtype]) && isset($tableoptions['mysql']) ) { $tableoptions[$dbtype] = $tableoptions['mysql']; } else if( is_array($tableoptions) && !isset($tableoptions[$dbtype]) && isset($tableoptions['MYSQL']) ) { $tableoptions[$dbtype] = $tableoptions['MYSQL']; } foreach( $tableoptions as $key => &$val ) { if( strpos($val,'TYPE=') !== FALSE ) $val = str_replace('TYPE=','ENGINE=',$val); } if( isset($tableoptions[$dbtype]) && strpos($tableoptions[$dbtype],'CHARACTER') === FALSE && strpos($tableoptions[$dbtype],'COLLATE') === FALSE ) { // if no character set and collate options specified, force UTF8 $tableoptions[$dbtype] .= " CHARACTER SET utf8 COLLATE utf8_general_ci"; } return parent::CreateTableSQL($tabname, $flds, $tableoptions); } } // end of class _connection = $conn; $this->_resultId = $resultId; $this->_pos = 0; $this->_nrows = 0; $this->_sql = $sql; if( is_object($resultId) ) $this->_nrows = mysqli_num_rows( $resultId ); if( !$this->EOF() ) $this->fetch_row(); } public function __destruct() { if( $this->resultId ) mysqli_free_result( $this->resultId ); } public function Close() { if( $this->resultId ) mysqli_free_result( $this->resultId ); $this->_fields = $this->resultId = null; } public function Fields( $key = null ) { $key = (string) $key; if( empty($key) ) return $this->_fields; return $this->fields[$key]; } public function RecordCount() { return $this->_nrows; } public function EOF() { return ($this->_nrows == 0 || $this->_pos < 0 || $this->_pos >= $this->_nrows); } protected function Move($idx) { if( $idx == $this->_pos ) return TRUE; if( $idx >= 0 && $idx < $this->_nrows ) { if( mysqli_data_seek($this->_resultId, $idx) ) { $this->_pos = $idx; $this->fetch_row(); return TRUE; } } $this->_pos = $this->_nrows; return FALSE; } public function MoveFirst() { if( $this->_pos == 0 ) return TRUE; return $this->Move(0); } public function MoveNext() { return $this->Move($this->_pos+1); } protected function fetch_row() { if( !$this->EOF() ) $this->_fields = mysqli_fetch_array($this->_resultId, MYSQLI_ASSOC); } } // end of class _stmt ) { $this->_stmt->free_result(); $this->_stmt->close(); } } protected function get_type_char($var) { $t = gettype($var); switch( $t ) { case 'double': return 'd'; case 'boolean': case 'integer': return 'i'; case 'string': default: return 's'; } } protected function set_bound_data($data) { $this->_data = $data; reset($this->_data); } protected function bind_params() { if( !$this->_stmt ) $this->prepare($this->sql); // get the type string $this->types = ''; $keys = null; $args = func_get_args(); if( count($args) == 1 && is_array($args) && is_array($args[0]) ) { // we expect that the data is an associtive array $row = $args[0]; foreach( $row as $key => $val ) { $this->_types .= $this->get_type_char($val); } $this->_bind = array_values($row); $keys = array_keys($row); } else { // function called with numerous parameters... get their types $keys = array_keys($args); foreach( $args as $val ) { $this->_types .= $this->get_type_char($val); } $this->_bind = array_values($args); } $this->_bound = array(); $this->_bound[] =& $this->_types; for( $i = 0; $i < count($keys); $i++ ) { $this->_bound[] =& $this->_bind[$i]; } call_user_func_array(array($this->_stmt,'bind_param'),$this->_bound); } protected function prepare($sql) { $conn = $this->db->get_inner_mysql(); if( !$conn || !$this->db->IsConnected() ) throw new \LogicException('Attempt to create prepared statement when database is not connected'); $this->_stmt = $conn->prepare( (string) $sql ); if( !$this->_stmt ) throw new \LogicException('Could not prepare a statement: '.$conn->error); $this->_row = null; $this->_pos = 0; } public function Bind(array $data) { parent::Bind($data); $first = $data[0]; $this->bind_params($first); } public function EOF() { if( $this->_meta ) return ($this->_pos >= $this->_num_rows); if( !$this->_data ) return TRUE; return (current($this->_data) === FALSE); } public function MoveFirst() { if( $this->_meta ) $this->_stmt->data_seek(0); if( $this->_data ) reset($this->_data); } public function MoveNext() { if( $this->_meta ) $this->_pos = $this->_pos + 1; if( $this->_data ) next($this->_data); } public function Fields($col = null) { $row = null; if( $this->_stmt ) { $this->_stmt->fetch(); $row = $this->_row; } if( !$row && $this->_data ) $row = current($this->_data); if( !$row ) return; // nothing if( $col ) { if( isset($row[$col]) ) return $row[$col]; } else { return $row; } } public function Execute() { if( !$this->_stmt ) $this->prepare($this->_sql); $args = func_get_args(); if( count($args) == 1 && is_array($args) && is_array($args[0]) ) $args = $args[0]; /* if we have param count, find some arguments... either via the execute method... or via bound params */ $pc = $this->_stmt->param_count; $fc = $this->_stmt->field_count; if( $args ) { $this->_data = $args; $this->bind_params($args); } if( $pc ) { // we are expecting paramers if( !count($args) ) { // get the arguments via the bound data current row. if( !$this->_bind ) throw new \LogicException('No bound parameters, and no arguments passed'); if( count($this->_bind) != $pc ) throw new \LogicException('Incorrect number of bound parameters. Expecting '.$this->_stmt->field_count); $args = $this->Fields(); } } if( $pc != count($args) ) throw new \LogicException('Incorrect number of arguments. Expecting '.$pc); if( $args ) { // update bound values $keys = array_keys($args); for( $i = 0; $i < count($this->_bind); $i++ ) { $this->_bind[$i] = $args[$keys[$i]]; } } $res = $this->_stmt->execute(); if( !$res ) die('ERROR: '.$this->_stmt->error."\n"); $this->_stmt->store_result(); $meta = $this->_stmt->result_metadata(); if( !$this->_meta && $meta ) { $this->_num_rows = $this->_stmt->num_rows; $this->_meta = $meta; $this->_row = array(); while( $field = $this->_meta->fetch_field() ) { $this->_row[$field->name] = null; $params[] =& $this->_row[$field->name]; } call_user_func_array(array($this->_stmt,'bind_result'),$params); } } } 'Smarty.class.php'); /** * Registers Smarty_Autoloader backward compatible to older installations. * * @param bool $prepend Whether to prepend the autoloader or not. */ public static function registerBC($prepend = false) { /** * register the class autoloader */ if (!defined('SMARTY_SPL_AUTOLOAD')) { define('SMARTY_SPL_AUTOLOAD', 0); } if (SMARTY_SPL_AUTOLOAD && set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false ) { $registeredAutoLoadFunctions = spl_autoload_functions(); if (!isset($registeredAutoLoadFunctions[ 'spl_autoload' ])) { spl_autoload_register(); } } else { self::register($prepend); } } /** * Registers Smarty_Autoloader as an SPL autoloader. * * @param bool $prepend Whether to prepend the autoloader or not. */ public static function register($prepend = false) { self::$SMARTY_DIR = defined('SMARTY_DIR') ? SMARTY_DIR : dirname(__FILE__) . DIRECTORY_SEPARATOR; self::$SMARTY_SYSPLUGINS_DIR = defined('SMARTY_SYSPLUGINS_DIR') ? SMARTY_SYSPLUGINS_DIR : self::$SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR; spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend); } /** * Handles auto loading of classes. * * @param string $class A class name. */ public static function autoload($class) { if ($class[ 0 ] !== 'S' || strpos($class, 'Smarty') !== 0) { return; } $_class = strtolower($class); if (isset(self::$rootClasses[ $_class ])) { $file = self::$SMARTY_DIR . self::$rootClasses[ $_class ]; if (is_file($file)) { include $file; } } else { $file = self::$SMARTY_SYSPLUGINS_DIR . $_class . '.php'; if (is_file($file)) { include $file; } } return; } } * @author Uwe Tews * @author Rodney Rehm * @package Smarty */ /** * set SMARTY_DIR to absolute path to Smarty library files. * Sets SMARTY_DIR only if user application has not already defined it. */ if (!defined('SMARTY_DIR')) { /** * */ define('SMARTY_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR); } /** * set SMARTY_SYSPLUGINS_DIR to absolute path to Smarty internal plugins. * Sets SMARTY_SYSPLUGINS_DIR only if user application has not already defined it. */ if (!defined('SMARTY_SYSPLUGINS_DIR')) { /** * */ define('SMARTY_SYSPLUGINS_DIR', SMARTY_DIR . 'sysplugins' . DIRECTORY_SEPARATOR); } if (!defined('SMARTY_PLUGINS_DIR')) { /** * */ define('SMARTY_PLUGINS_DIR', SMARTY_DIR . 'plugins' . DIRECTORY_SEPARATOR); } if (!defined('SMARTY_MBSTRING')) { /** * */ define('SMARTY_MBSTRING', function_exists('mb_get_info')); } /** * Load Smarty_Autoloader */ if (!class_exists('Smarty_Autoloader')) { include dirname(__FILE__) . '/bootstrap.php'; } /** * Load always needed external class files */ require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_data.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_extension_handler.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_templatebase.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_template.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_resource.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_variable.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_template_source.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_template_resource_base.php'; require_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_resource_file.php'; /** * This is the main Smarty class * * @package Smarty * * The following methods will be dynamically loaded by the extension handler when they are called. * They are located in a corresponding Smarty_Internal_Method_xxxx class * * @method int clearAllCache(int $exp_time = null, string $type = null) * @method int clearCache(string $template_name, string $cache_id = null, string $compile_id = null, int $exp_time = null, string $type = null) * @method int compileAllTemplates(string $extension = '.tpl', bool $force_compile = false, int $time_limit = 0, $max_errors = null) * @method int compileAllConfig(string $extension = '.conf', bool $force_compile = false, int $time_limit = 0, $max_errors = null) * @method int clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null) */ class Smarty extends Smarty_Internal_TemplateBase { /** * smarty version */ const SMARTY_VERSION = '4.2.1'; /** * define variable scopes */ const SCOPE_LOCAL = 1; const SCOPE_PARENT = 2; const SCOPE_TPL_ROOT = 4; const SCOPE_ROOT = 8; const SCOPE_SMARTY = 16; const SCOPE_GLOBAL = 32; /** * define caching modes */ const CACHING_OFF = 0; const CACHING_LIFETIME_CURRENT = 1; const CACHING_LIFETIME_SAVED = 2; /** * define constant for clearing cache files be saved expiration dates */ const CLEAR_EXPIRED = -1; /** * define compile check modes */ const COMPILECHECK_OFF = 0; const COMPILECHECK_ON = 1; const COMPILECHECK_CACHEMISS = 2; /** * define debug modes */ const DEBUG_OFF = 0; const DEBUG_ON = 1; const DEBUG_INDIVIDUAL = 2; /** * filter types */ const FILTER_POST = 'post'; const FILTER_PRE = 'pre'; const FILTER_OUTPUT = 'output'; const FILTER_VARIABLE = 'variable'; /** * plugin types */ const PLUGIN_FUNCTION = 'function'; const PLUGIN_BLOCK = 'block'; const PLUGIN_COMPILER = 'compiler'; const PLUGIN_MODIFIER = 'modifier'; const PLUGIN_MODIFIERCOMPILER = 'modifiercompiler'; /** * assigned global tpl vars */ public static $global_tpl_vars = array(); /** * Flag denoting if Multibyte String functions are available */ public static $_MBSTRING = SMARTY_MBSTRING; /** * The character set to adhere to (e.g. "UTF-8") */ public static $_CHARSET = SMARTY_MBSTRING ? 'UTF-8' : 'ISO-8859-1'; /** * The date format to be used internally * (accepts date() and strftime()) */ public static $_DATE_FORMAT = '%b %e, %Y'; /** * Flag denoting if PCRE should run in UTF-8 mode */ public static $_UTF8_MODIFIER = 'u'; /** * Flag denoting if operating system is windows */ public static $_IS_WINDOWS = false; /** * auto literal on delimiters with whitespace * * @var boolean */ public $auto_literal = true; /** * display error on not assigned variables * * @var boolean */ public $error_unassigned = false; /** * look up relative file path in include_path * * @var boolean */ public $use_include_path = false; /** * flag if template_dir is normalized * * @var bool */ public $_templateDirNormalized = false; /** * joined template directory string used in cache keys * * @var string */ public $_joined_template_dir = null; /** * flag if config_dir is normalized * * @var bool */ public $_configDirNormalized = false; /** * joined config directory string used in cache keys * * @var string */ public $_joined_config_dir = null; /** * default template handler * * @var callable */ public $default_template_handler_func = null; /** * default config handler * * @var callable */ public $default_config_handler_func = null; /** * default plugin handler * * @var callable */ public $default_plugin_handler_func = null; /** * flag if template_dir is normalized * * @var bool */ public $_compileDirNormalized = false; /** * flag if plugins_dir is normalized * * @var bool */ public $_pluginsDirNormalized = false; /** * flag if template_dir is normalized * * @var bool */ public $_cacheDirNormalized = false; /** * force template compiling? * * @var boolean */ public $force_compile = false; /** * use sub dirs for compiled/cached files? * * @var boolean */ public $use_sub_dirs = false; /** * allow ambiguous resources (that are made unique by the resource handler) * * @var boolean */ public $allow_ambiguous_resources = false; /** * merge compiled includes * * @var boolean */ public $merge_compiled_includes = false; /* * flag for behaviour when extends: resource and {extends} tag are used simultaneous * if false disable execution of {extends} in templates called by extends resource. * (behaviour as versions < 3.1.28) * * @var boolean */ public $extends_recursion = true; /** * force cache file creation * * @var boolean */ public $force_cache = false; /** * template left-delimiter * * @var string */ public $left_delimiter = "{"; /** * template right-delimiter * * @var string */ public $right_delimiter = "}"; /** * array of strings which shall be treated as literal by compiler * * @var array string */ public $literals = array(); /** * class name * This should be instance of Smarty_Security. * * @var string * @see Smarty_Security */ public $security_class = 'Smarty_Security'; /** * implementation of security class * * @var Smarty_Security */ public $security_policy = null; /** * controls if the php template file resource is allowed * * @var bool */ public $allow_php_templates = false; /** * debug mode * Setting this to true enables the debug-console. * * @var boolean */ public $debugging = false; /** * This determines if debugging is enable-able from the browser. *
      *
    • NONE => no debugging control allowed
    • *
    • URL => enable debugging when SMARTY_DEBUG is found in the URL.
    • *
    * * @var string */ public $debugging_ctrl = 'NONE'; /** * Name of debugging URL-param. * Only used when $debugging_ctrl is set to 'URL'. * The name of the URL-parameter that activates debugging. * * @var string */ public $smarty_debug_id = 'SMARTY_DEBUG'; /** * Path of debug template. * * @var string */ public $debug_tpl = null; /** * When set, smarty uses this value as error_reporting-level. * * @var int */ public $error_reporting = null; /** * Controls whether variables with the same name overwrite each other. * * @var boolean */ public $config_overwrite = true; /** * Controls whether config values of on/true/yes and off/false/no get converted to boolean. * * @var boolean */ public $config_booleanize = true; /** * Controls whether hidden config sections/vars are read from the file. * * @var boolean */ public $config_read_hidden = false; /** * locking concurrent compiles * * @var boolean */ public $compile_locking = true; /** * Controls whether cache resources should use locking mechanism * * @var boolean */ public $cache_locking = false; /** * seconds to wait for acquiring a lock before ignoring the write lock * * @var float */ public $locking_timeout = 10; /** * resource type used if none given * Must be an valid key of $registered_resources. * * @var string */ public $default_resource_type = 'file'; /** * caching type * Must be an element of $cache_resource_types. * * @var string */ public $caching_type = 'file'; /** * config type * * @var string */ public $default_config_type = 'file'; /** * check If-Modified-Since headers * * @var boolean */ public $cache_modified_check = false; /** * registered plugins * * @var array */ public $registered_plugins = array(); /** * registered objects * * @var array */ public $registered_objects = array(); /** * registered classes * * @var array */ public $registered_classes = array(); /** * registered filters * * @var array */ public $registered_filters = array(); /** * registered resources * * @var array */ public $registered_resources = array(); /** * registered cache resources * * @var array */ public $registered_cache_resources = array(); /** * autoload filter * * @var array */ public $autoload_filters = array(); /** * default modifier * * @var array */ public $default_modifiers = array(); /** * autoescape variable output * * @var boolean */ public $escape_html = false; /** * start time for execution time calculation * * @var int */ public $start_time = 0; /** * required by the compiler for BC * * @var string */ public $_current_file = null; /** * internal flag to enable parser debugging * * @var bool */ public $_parserdebug = false; /** * This object type (Smarty = 1, template = 2, data = 4) * * @var int */ public $_objType = 1; /** * Debug object * * @var Smarty_Internal_Debug */ public $_debug = null; /** * template directory * * @var array */ protected $template_dir = array('./templates/'); /** * flags for normalized template directory entries * * @var array */ protected $_processedTemplateDir = array(); /** * config directory * * @var array */ protected $config_dir = array('./configs/'); /** * flags for normalized template directory entries * * @var array */ protected $_processedConfigDir = array(); /** * compile directory * * @var string */ protected $compile_dir = './templates_c/'; /** * plugins directory * * @var array */ protected $plugins_dir = array(); /** * cache directory * * @var string */ protected $cache_dir = './cache/'; /** * removed properties * * @var string[] */ protected $obsoleteProperties = array( 'resource_caching', 'template_resource_caching', 'direct_access_security', '_dir_perms', '_file_perms', 'plugin_search_order', 'inheritance_merge_compiled_includes', 'resource_cache_mode', ); /** * List of private properties which will call getter/setter on a direct access * * @var string[] */ protected $accessMap = array( 'template_dir' => 'TemplateDir', 'config_dir' => 'ConfigDir', 'plugins_dir' => 'PluginsDir', 'compile_dir' => 'CompileDir', 'cache_dir' => 'CacheDir', ); /** * PHP7 Compatibility mode * @var bool */ private $isMutingUndefinedOrNullWarnings = false; /** * Initialize new Smarty object */ public function __construct() { $this->_clearTemplateCache(); parent::__construct(); if (is_callable('mb_internal_encoding')) { mb_internal_encoding(Smarty::$_CHARSET); } $this->start_time = microtime(true); if (isset($_SERVER[ 'SCRIPT_NAME' ])) { Smarty::$global_tpl_vars[ 'SCRIPT_NAME' ] = new Smarty_Variable($_SERVER[ 'SCRIPT_NAME' ]); } // Check if we're running on windows Smarty::$_IS_WINDOWS = strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; // let PCRE (preg_*) treat strings as ISO-8859-1 if we're not dealing with UTF-8 if (Smarty::$_CHARSET !== 'UTF-8') { Smarty::$_UTF8_MODIFIER = ''; } } /** * Check if a template resource exists * * @param string $resource_name template name * * @return bool status * @throws \SmartyException */ public function templateExists($resource_name) { // create source object $source = Smarty_Template_Source::load(null, $this, $resource_name); return $source->exists; } /** * Loads security class and enables security * * @param string|Smarty_Security $security_class if a string is used, it must be class-name * * @return Smarty current Smarty instance for chaining * @throws \SmartyException */ public function enableSecurity($security_class = null) { Smarty_Security::enableSecurity($this, $security_class); return $this; } /** * Disable security * * @return Smarty current Smarty instance for chaining */ public function disableSecurity() { $this->security_policy = null; return $this; } /** * Add template directory(s) * * @param string|array $template_dir directory(s) of template sources * @param string $key of the array element to assign the template dir to * @param bool $isConfig true for config_dir * * @return Smarty current Smarty instance for chaining */ public function addTemplateDir($template_dir, $key = null, $isConfig = false) { if ($isConfig) { $processed = &$this->_processedConfigDir; $dir = &$this->config_dir; $this->_configDirNormalized = false; } else { $processed = &$this->_processedTemplateDir; $dir = &$this->template_dir; $this->_templateDirNormalized = false; } if (is_array($template_dir)) { foreach ($template_dir as $k => $v) { if (is_int($k)) { // indexes are not merged but appended $dir[] = $v; } else { // string indexes are overridden $dir[ $k ] = $v; unset($processed[ $key ]); } } } else { if ($key !== null) { // override directory at specified index $dir[ $key ] = $template_dir; unset($processed[ $key ]); } else { // append new directory $dir[] = $template_dir; } } return $this; } /** * Get template directories * * @param mixed $index index of directory to get, null to get all * @param bool $isConfig true for config_dir * * @return array|string list of template directories, or directory of $index */ public function getTemplateDir($index = null, $isConfig = false) { if ($isConfig) { $dir = &$this->config_dir; } else { $dir = &$this->template_dir; } if ($isConfig ? !$this->_configDirNormalized : !$this->_templateDirNormalized) { $this->_normalizeTemplateConfig($isConfig); } if ($index !== null) { return isset($dir[ $index ]) ? $dir[ $index ] : null; } return $dir; } /** * Set template directory * * @param string|array $template_dir directory(s) of template sources * @param bool $isConfig true for config_dir * * @return \Smarty current Smarty instance for chaining */ public function setTemplateDir($template_dir, $isConfig = false) { if ($isConfig) { $this->config_dir = array(); $this->_processedConfigDir = array(); } else { $this->template_dir = array(); $this->_processedTemplateDir = array(); } $this->addTemplateDir($template_dir, null, $isConfig); return $this; } /** * Add config directory(s) * * @param string|array $config_dir directory(s) of config sources * @param mixed $key key of the array element to assign the config dir to * * @return Smarty current Smarty instance for chaining */ public function addConfigDir($config_dir, $key = null) { return $this->addTemplateDir($config_dir, $key, true); } /** * Get config directory * * @param mixed $index index of directory to get, null to get all * * @return array configuration directory */ public function getConfigDir($index = null) { return $this->getTemplateDir($index, true); } /** * Set config directory * * @param $config_dir * * @return Smarty current Smarty instance for chaining */ public function setConfigDir($config_dir) { return $this->setTemplateDir($config_dir, true); } /** * Adds directory of plugin files * * @param null|array|string $plugins_dir * * @return Smarty current Smarty instance for chaining */ public function addPluginsDir($plugins_dir) { if (empty($this->plugins_dir)) { $this->plugins_dir[] = SMARTY_PLUGINS_DIR; } $this->plugins_dir = array_merge($this->plugins_dir, (array)$plugins_dir); $this->_pluginsDirNormalized = false; return $this; } /** * Get plugin directories * * @return array list of plugin directories */ public function getPluginsDir() { if (empty($this->plugins_dir)) { $this->plugins_dir[] = SMARTY_PLUGINS_DIR; $this->_pluginsDirNormalized = false; } if (!$this->_pluginsDirNormalized) { if (!is_array($this->plugins_dir)) { $this->plugins_dir = (array)$this->plugins_dir; } foreach ($this->plugins_dir as $k => $v) { $this->plugins_dir[ $k ] = $this->_realpath(rtrim($v ?? '', '/\\') . DIRECTORY_SEPARATOR, true); } $this->_cache[ 'plugin_files' ] = array(); $this->_pluginsDirNormalized = true; } return $this->plugins_dir; } /** * Set plugins directory * * @param string|array $plugins_dir directory(s) of plugins * * @return Smarty current Smarty instance for chaining */ public function setPluginsDir($plugins_dir) { $this->plugins_dir = (array)$plugins_dir; $this->_pluginsDirNormalized = false; return $this; } /** * Get compiled directory * * @return string path to compiled templates */ public function getCompileDir() { if (!$this->_compileDirNormalized) { $this->_normalizeDir('compile_dir', $this->compile_dir); $this->_compileDirNormalized = true; } return $this->compile_dir; } /** * * @param string $compile_dir directory to store compiled templates in * * @return Smarty current Smarty instance for chaining */ public function setCompileDir($compile_dir) { $this->_normalizeDir('compile_dir', $compile_dir); $this->_compileDirNormalized = true; return $this; } /** * Get cache directory * * @return string path of cache directory */ public function getCacheDir() { if (!$this->_cacheDirNormalized) { $this->_normalizeDir('cache_dir', $this->cache_dir); $this->_cacheDirNormalized = true; } return $this->cache_dir; } /** * Set cache directory * * @param string $cache_dir directory to store cached templates in * * @return Smarty current Smarty instance for chaining */ public function setCacheDir($cache_dir) { $this->_normalizeDir('cache_dir', $cache_dir); $this->_cacheDirNormalized = true; return $this; } /** * creates a template object * * @param string $template the resource handle of the template file * @param mixed $cache_id cache id to be used with this template * @param mixed $compile_id compile id to be used with this template * @param object $parent next higher level of Smarty variables * @param boolean $do_clone flag is Smarty object shall be cloned * * @return \Smarty_Internal_Template template object * @throws \SmartyException */ public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null, $do_clone = true) { if ($cache_id !== null && (is_object($cache_id) || is_array($cache_id))) { $parent = $cache_id; $cache_id = null; } if ($parent !== null && is_array($parent)) { $data = $parent; $parent = null; } else { $data = null; } if (!$this->_templateDirNormalized) { $this->_normalizeTemplateConfig(false); } $_templateId = $this->_getTemplateId($template, $cache_id, $compile_id); $tpl = null; if ($this->caching && isset(Smarty_Internal_Template::$isCacheTplObj[ $_templateId ])) { $tpl = $do_clone ? clone Smarty_Internal_Template::$isCacheTplObj[ $_templateId ] : Smarty_Internal_Template::$isCacheTplObj[ $_templateId ]; $tpl->inheritance = null; $tpl->tpl_vars = $tpl->config_vars = array(); } elseif (!$do_clone && isset(Smarty_Internal_Template::$tplObjCache[ $_templateId ])) { $tpl = clone Smarty_Internal_Template::$tplObjCache[ $_templateId ]; $tpl->inheritance = null; $tpl->tpl_vars = $tpl->config_vars = array(); } else { /* @var Smarty_Internal_Template $tpl */ $tpl = new $this->template_class($template, $this, null, $cache_id, $compile_id, null, null); $tpl->templateId = $_templateId; } if ($do_clone) { $tpl->smarty = clone $tpl->smarty; } $tpl->parent = $parent ? $parent : $this; // fill data if present if (!empty($data) && is_array($data)) { // set up variable values foreach ($data as $_key => $_val) { $tpl->tpl_vars[ $_key ] = new Smarty_Variable($_val); } } if ($this->debugging || $this->debugging_ctrl === 'URL') { $tpl->smarty->_debug = new Smarty_Internal_Debug(); // check URL debugging control if (!$this->debugging && $this->debugging_ctrl === 'URL') { $tpl->smarty->_debug->debugUrl($tpl->smarty); } } return $tpl; } /** * Takes unknown classes and loads plugin files for them * class name format: Smarty_PluginType_PluginName * plugin filename format: plugintype.pluginname.php * * @param string $plugin_name class plugin name to load * @param bool $check check if already loaded * * @return string |boolean filepath of loaded file or false * @throws \SmartyException */ public function loadPlugin($plugin_name, $check = true) { return $this->ext->loadPlugin->loadPlugin($this, $plugin_name, $check); } /** * Get unique template id * * @param string $template_name * @param null|mixed $cache_id * @param null|mixed $compile_id * @param null $caching * @param \Smarty_Internal_Template $template * * @return string * @throws \SmartyException */ public function _getTemplateId( $template_name, $cache_id = null, $compile_id = null, $caching = null, Smarty_Internal_Template $template = null ) { $template_name = (strpos($template_name, ':') === false) ? "{$this->default_resource_type}:{$template_name}" : $template_name; $cache_id = $cache_id === null ? $this->cache_id : $cache_id; $compile_id = $compile_id === null ? $this->compile_id : $compile_id; $caching = (int)($caching === null ? $this->caching : $caching); if ((isset($template) && strpos($template_name, ':.') !== false) || $this->allow_ambiguous_resources) { $_templateId = Smarty_Resource::getUniqueTemplateName((isset($template) ? $template : $this), $template_name) . "#{$cache_id}#{$compile_id}#{$caching}"; } else { $_templateId = $this->_joined_template_dir . "#{$template_name}#{$cache_id}#{$compile_id}#{$caching}"; } if (isset($_templateId[ 150 ])) { $_templateId = sha1($_templateId); } return $_templateId; } /** * Normalize path * - remove /./ and /../ * - make it absolute if required * * @param string $path file path * @param bool $realpath if true - convert to absolute * false - convert to relative * null - keep as it is but * remove /./ /../ * * @return string */ public function _realpath($path, $realpath = null) { $nds = array('/' => '\\', '\\' => '/'); preg_match( '%^(?(?:[[:alpha:]]:[\\\\/]|/|[\\\\]{2}[[:alpha:]]+|[[:print:]]{2,}:[/]{2}|[\\\\])?)(?(.*))$%u', $path, $parts ); $path = $parts[ 'path' ]; if ($parts[ 'root' ] === '\\') { $parts[ 'root' ] = substr(getcwd(), 0, 2) . $parts[ 'root' ]; } else { if ($realpath !== null && !$parts[ 'root' ]) { $path = getcwd() . DIRECTORY_SEPARATOR . $path; } } // normalize DIRECTORY_SEPARATOR $path = str_replace($nds[ DIRECTORY_SEPARATOR ], DIRECTORY_SEPARATOR, $path); $parts[ 'root' ] = str_replace($nds[ DIRECTORY_SEPARATOR ], DIRECTORY_SEPARATOR, $parts[ 'root' ]); do { $path = preg_replace( array('#[\\\\/]{2}#', '#[\\\\/][.][\\\\/]#', '#[\\\\/]([^\\\\/.]+)[\\\\/][.][.][\\\\/]#'), DIRECTORY_SEPARATOR, $path, -1, $count ); } while ($count > 0); return $realpath !== false ? $parts[ 'root' ] . $path : str_ireplace(getcwd(), '.', $parts[ 'root' ] . $path); } /** * Empty template objects cache */ public function _clearTemplateCache() { Smarty_Internal_Template::$isCacheTplObj = array(); Smarty_Internal_Template::$tplObjCache = array(); } /** * @param boolean $use_sub_dirs */ public function setUseSubDirs($use_sub_dirs) { $this->use_sub_dirs = $use_sub_dirs; } /** * @param int $error_reporting */ public function setErrorReporting($error_reporting) { $this->error_reporting = $error_reporting; } /** * @param boolean $escape_html */ public function setEscapeHtml($escape_html) { $this->escape_html = $escape_html; } /** * Return auto_literal flag * * @return boolean */ public function getAutoLiteral() { return $this->auto_literal; } /** * Set auto_literal flag * * @param boolean $auto_literal */ public function setAutoLiteral($auto_literal = true) { $this->auto_literal = $auto_literal; } /** * @param boolean $force_compile */ public function setForceCompile($force_compile) { $this->force_compile = $force_compile; } /** * @param boolean $merge_compiled_includes */ public function setMergeCompiledIncludes($merge_compiled_includes) { $this->merge_compiled_includes = $merge_compiled_includes; } /** * Get left delimiter * * @return string */ public function getLeftDelimiter() { return $this->left_delimiter; } /** * Set left delimiter * * @param string $left_delimiter */ public function setLeftDelimiter($left_delimiter) { $this->left_delimiter = $left_delimiter; } /** * Get right delimiter * * @return string $right_delimiter */ public function getRightDelimiter() { return $this->right_delimiter; } /** * Set right delimiter * * @param string */ public function setRightDelimiter($right_delimiter) { $this->right_delimiter = $right_delimiter; } /** * @param boolean $debugging */ public function setDebugging($debugging) { $this->debugging = $debugging; } /** * @param boolean $config_overwrite */ public function setConfigOverwrite($config_overwrite) { $this->config_overwrite = $config_overwrite; } /** * @param boolean $config_booleanize */ public function setConfigBooleanize($config_booleanize) { $this->config_booleanize = $config_booleanize; } /** * @param boolean $config_read_hidden */ public function setConfigReadHidden($config_read_hidden) { $this->config_read_hidden = $config_read_hidden; } /** * @param boolean $compile_locking */ public function setCompileLocking($compile_locking) { $this->compile_locking = $compile_locking; } /** * @param string $default_resource_type */ public function setDefaultResourceType($default_resource_type) { $this->default_resource_type = $default_resource_type; } /** * @param string $caching_type */ public function setCachingType($caching_type) { $this->caching_type = $caching_type; } /** * Test install * * @param null $errors */ public function testInstall(&$errors = null) { Smarty_Internal_TestInstall::testInstall($this, $errors); } /** * Get Smarty object * * @return Smarty */ public function _getSmartyObj() { return $this; } /** * <> Generic getter. * Calls the appropriate getter function. * Issues an E_USER_NOTICE if no valid getter is found. * * @param string $name property name * * @return mixed */ public function __get($name) { if (isset($this->accessMap[ $name ])) { $method = 'get' . $this->accessMap[ $name ]; return $this->{$method}(); } elseif (isset($this->_cache[ $name ])) { return $this->_cache[ $name ]; } elseif (in_array($name, $this->obsoleteProperties)) { return null; } else { trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); } return null; } /** * <> Generic setter. * Calls the appropriate setter function. * Issues an E_USER_NOTICE if no valid setter is found. * * @param string $name property name * @param mixed $value parameter passed to setter * */ public function __set($name, $value) { if (isset($this->accessMap[ $name ])) { $method = 'set' . $this->accessMap[ $name ]; $this->{$method}($value); } elseif (in_array($name, $this->obsoleteProperties)) { return; } elseif (is_object($value) && method_exists($value, $name)) { $this->$name = $value; } else { trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE); } } /** * Normalize and set directory string * * @param string $dirName cache_dir or compile_dir * @param string $dir filepath of folder */ private function _normalizeDir($dirName, $dir) { $this->{$dirName} = $this->_realpath(rtrim($dir ?? '', "/\\") . DIRECTORY_SEPARATOR, true); } /** * Normalize template_dir or config_dir * * @param bool $isConfig true for config_dir */ private function _normalizeTemplateConfig($isConfig) { if ($isConfig) { $processed = &$this->_processedConfigDir; $dir = &$this->config_dir; } else { $processed = &$this->_processedTemplateDir; $dir = &$this->template_dir; } if (!is_array($dir)) { $dir = (array)$dir; } foreach ($dir as $k => $v) { if (!isset($processed[ $k ])) { $dir[ $k ] = $v = $this->_realpath(rtrim($v ?? '', "/\\") . DIRECTORY_SEPARATOR, true); $processed[ $k ] = true; } } $isConfig ? $this->_configDirNormalized = true : $this->_templateDirNormalized = true; $isConfig ? $this->_joined_config_dir = join('#', $this->config_dir) : $this->_joined_template_dir = join('#', $this->template_dir); } /** * Activates PHP7 compatibility mode: * - converts E_WARNINGS for "undefined array key" and "trying to read property of null" errors to E_NOTICE * * @void */ public function muteUndefinedOrNullWarnings(): void { $this->isMutingUndefinedOrNullWarnings = true; } /** * Indicates if PHP7 compatibility mode is set. * @bool */ public function isMutingUndefinedOrNullWarnings(): bool { return $this->isMutingUndefinedOrNullWarnings; } } * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ /** * Load and register Smarty Autoloader */ if (!class_exists('Smarty_Autoloader')) { include dirname(__FILE__) . '/Autoloader.php'; } Smarty_Autoloader::register(true); {capture name='_smarty_debug' assign=debug_output} Smarty Debug Console

    Smarty {Smarty::SMARTY_VERSION} Debug Console - {if isset($template_name)}{$template_name|debug_print_var nofilter} {/if}{if !empty($template_data)}Total Time {$execution_time|string_format:"%.5f"}{/if}

    {if !empty($template_data)}

    included templates & config files (load time in seconds)

    {foreach $template_data as $template} {$template.name}
       (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"})
    {/foreach}
    {/if}

    assigned template variables

    {foreach $assigned_vars as $vars} {/foreach}

    ${$vars@key}

    {if isset($vars['nocache'])}Nocache
    {/if} {if isset($vars['scope'])}Origin: {$vars['scope']|debug_print_var nofilter}{/if}

    Value

    {$vars['value']|debug_print_var:10:80 nofilter}
    {if isset($vars['attributes'])}

    Attributes

    {$vars['attributes']|debug_print_var nofilter} {/if}

    assigned config file variables

    {foreach $config_vars as $vars} {/foreach}

    #{$vars@key}#

    {if isset($vars['scope'])}Origin: {$vars['scope']|debug_print_var nofilter}{/if}
    {$vars['value']|debug_print_var:10:80 nofilter}
    {/capture} * @throws \SmartyException */ function smarty_block_textformat($params, $content, Smarty_Internal_Template $template, &$repeat) { if (is_null($content)) { return; } if (Smarty::$_MBSTRING) { $template->_checkPlugins( array( array( 'function' => 'smarty_modifier_mb_wordwrap', 'file' => SMARTY_PLUGINS_DIR . 'modifier.mb_wordwrap.php' ) ) ); } $style = null; $indent = 0; $indent_first = 0; $indent_char = ' '; $wrap = 80; $wrap_char = "\n"; $wrap_cut = false; $assign = null; foreach ($params as $_key => $_val) { switch ($_key) { case 'style': case 'indent_char': case 'wrap_char': case 'assign': $$_key = (string)$_val; break; case 'indent': case 'indent_first': case 'wrap': $$_key = (int)$_val; break; case 'wrap_cut': $$_key = (bool)$_val; break; default: trigger_error("textformat: unknown attribute '{$_key}'"); } } if ($style === 'email') { $wrap = 72; } // split into paragraphs $_paragraphs = preg_split('![\r\n]{2}!', $content); foreach ($_paragraphs as &$_paragraph) { if (!$_paragraph) { continue; } // convert mult. spaces & special chars to single space $_paragraph = preg_replace( array( '!\s+!' . Smarty::$_UTF8_MODIFIER, '!(^\s+)|(\s+$)!' . Smarty::$_UTF8_MODIFIER ), array( ' ', '' ), $_paragraph ); // indent first line if ($indent_first > 0) { $_paragraph = str_repeat($indent_char, $indent_first) . $_paragraph; } // wordwrap sentences if (Smarty::$_MBSTRING) { $_paragraph = smarty_modifier_mb_wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut); } else { $_paragraph = wordwrap($_paragraph, $wrap - $indent, $wrap_char, $wrap_cut); } // indent lines if ($indent > 0) { $_paragraph = preg_replace('!^!m', str_repeat($indent_char, $indent), $_paragraph); } } $_output = implode($wrap_char . $wrap_char, $_paragraphs); if ($assign) { $template->assign($assign, $_output); } else { return $_output; } } * @link https://www.smarty.net/manual/en/language.function.counter.php {counter} * (Smarty online manual) * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @return string|null */ function smarty_function_counter($params, $template) { static $counters = array(); $name = (isset($params[ 'name' ])) ? $params[ 'name' ] : 'default'; if (!isset($counters[ $name ])) { $counters[ $name ] = array('start' => 1, 'skip' => 1, 'direction' => 'up', 'count' => 1); } $counter =& $counters[ $name ]; if (isset($params[ 'start' ])) { $counter[ 'start' ] = $counter[ 'count' ] = (int)$params[ 'start' ]; } if (!empty($params[ 'assign' ])) { $counter[ 'assign' ] = $params[ 'assign' ]; } if (isset($counter[ 'assign' ])) { $template->assign($counter[ 'assign' ], $counter[ 'count' ]); } if (isset($params[ 'print' ])) { $print = (bool)$params[ 'print' ]; } else { $print = empty($counter[ 'assign' ]); } if ($print) { $retval = $counter[ 'count' ]; } else { $retval = null; } if (isset($params[ 'skip' ])) { $counter[ 'skip' ] = $params[ 'skip' ]; } if (isset($params[ 'direction' ])) { $counter[ 'direction' ] = $params[ 'direction' ]; } if ($counter[ 'direction' ] === 'down') { $counter[ 'count' ] -= $counter[ 'skip' ]; } else { $counter[ 'count' ] += $counter[ 'skip' ]; } return $retval; } * @author credit to Mark Priatel * @author credit to Gerard * @author credit to Jason Sweat * @version 1.3 * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @return string|null */ function smarty_function_cycle($params, $template) { static $cycle_vars; $name = (empty($params[ 'name' ])) ? 'default' : $params[ 'name' ]; $print = (isset($params[ 'print' ])) ? (bool)$params[ 'print' ] : true; $advance = (isset($params[ 'advance' ])) ? (bool)$params[ 'advance' ] : true; $reset = (isset($params[ 'reset' ])) ? (bool)$params[ 'reset' ] : false; if (!isset($params[ 'values' ])) { if (!isset($cycle_vars[ $name ][ 'values' ])) { trigger_error('cycle: missing \'values\' parameter'); return; } } else { if (isset($cycle_vars[ $name ][ 'values' ]) && $cycle_vars[ $name ][ 'values' ] !== $params[ 'values' ]) { $cycle_vars[ $name ][ 'index' ] = 0; } $cycle_vars[ $name ][ 'values' ] = $params[ 'values' ]; } if (isset($params[ 'delimiter' ])) { $cycle_vars[ $name ][ 'delimiter' ] = $params[ 'delimiter' ]; } elseif (!isset($cycle_vars[ $name ][ 'delimiter' ])) { $cycle_vars[ $name ][ 'delimiter' ] = ','; } if (is_array($cycle_vars[ $name ][ 'values' ])) { $cycle_array = $cycle_vars[ $name ][ 'values' ]; } else { $cycle_array = explode($cycle_vars[ $name ][ 'delimiter' ], $cycle_vars[ $name ][ 'values' ]); } if (!isset($cycle_vars[ $name ][ 'index' ]) || $reset) { $cycle_vars[ $name ][ 'index' ] = 0; } if (isset($params[ 'assign' ])) { $print = false; $template->assign($params[ 'assign' ], $cycle_array[ $cycle_vars[ $name ][ 'index' ] ]); } if ($print) { $retval = $cycle_array[ $cycle_vars[ $name ][ 'index' ] ]; } else { $retval = null; } if ($advance) { if ($cycle_vars[ $name ][ 'index' ] >= count($cycle_array) - 1) { $cycle_vars[ $name ][ 'index' ] = 0; } else { $cycle_vars[ $name ][ 'index' ]++; } } return $retval; } * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @throws SmartyException * @return string|null if the assign parameter is passed, Smarty assigns the result to a template variable */ function smarty_function_fetch($params, $template) { if (empty($params[ 'file' ])) { trigger_error('[plugin] fetch parameter \'file\' cannot be empty', E_USER_NOTICE); return; } // strip file protocol if (stripos($params[ 'file' ], 'file://') === 0) { $params[ 'file' ] = substr($params[ 'file' ], 7); } $protocol = strpos($params[ 'file' ], '://'); if ($protocol !== false) { $protocol = strtolower(substr($params[ 'file' ], 0, $protocol)); } if (isset($template->smarty->security_policy)) { if ($protocol) { // remote resource (or php stream, …) if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) { return; } } else { // local file if (!$template->smarty->security_policy->isTrustedResourceDir($params[ 'file' ])) { return; } } } $content = ''; if ($protocol === 'http') { // http fetch if ($uri_parts = parse_url($params[ 'file' ])) { // set defaults $host = $server_name = $uri_parts[ 'host' ]; $timeout = 30; $accept = 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'; $agent = 'Smarty Template Engine ' . Smarty::SMARTY_VERSION; $referer = ''; $uri = !empty($uri_parts[ 'path' ]) ? $uri_parts[ 'path' ] : '/'; $uri .= !empty($uri_parts[ 'query' ]) ? '?' . $uri_parts[ 'query' ] : ''; $_is_proxy = false; if (empty($uri_parts[ 'port' ])) { $port = 80; } else { $port = $uri_parts[ 'port' ]; } if (!empty($uri_parts[ 'user' ])) { $user = $uri_parts[ 'user' ]; } if (!empty($uri_parts[ 'pass' ])) { $pass = $uri_parts[ 'pass' ]; } // loop through parameters, setup headers foreach ($params as $param_key => $param_value) { switch ($param_key) { case 'file': case 'assign': case 'assign_headers': break; case 'user': if (!empty($param_value)) { $user = $param_value; } break; case 'pass': if (!empty($param_value)) { $pass = $param_value; } break; case 'accept': if (!empty($param_value)) { $accept = $param_value; } break; case 'header': if (!empty($param_value)) { if (!preg_match('![\w\d-]+: .+!', $param_value)) { trigger_error("[plugin] invalid header format '{$param_value}'", E_USER_NOTICE); return; } else { $extra_headers[] = $param_value; } } break; case 'proxy_host': if (!empty($param_value)) { $proxy_host = $param_value; } break; case 'proxy_port': if (!preg_match('!\D!', $param_value)) { $proxy_port = (int)$param_value; } else { trigger_error("[plugin] invalid value for attribute '{$param_key }'", E_USER_NOTICE); return; } break; case 'agent': if (!empty($param_value)) { $agent = $param_value; } break; case 'referer': if (!empty($param_value)) { $referer = $param_value; } break; case 'timeout': if (!preg_match('!\D!', $param_value)) { $timeout = (int)$param_value; } else { trigger_error("[plugin] invalid value for attribute '{$param_key}'", E_USER_NOTICE); return; } break; default: trigger_error("[plugin] unrecognized attribute '{$param_key}'", E_USER_NOTICE); return; } } if (!empty($proxy_host) && !empty($proxy_port)) { $_is_proxy = true; $fp = fsockopen($proxy_host, $proxy_port, $errno, $errstr, $timeout); } else { $fp = fsockopen($server_name, $port, $errno, $errstr, $timeout); } if (!$fp) { trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE); return; } else { if ($_is_proxy) { fputs($fp, 'GET ' . $params[ 'file' ] . " HTTP/1.0\r\n"); } else { fputs($fp, "GET $uri HTTP/1.0\r\n"); } if (!empty($host)) { fputs($fp, "Host: $host\r\n"); } if (!empty($accept)) { fputs($fp, "Accept: $accept\r\n"); } if (!empty($agent)) { fputs($fp, "User-Agent: $agent\r\n"); } if (!empty($referer)) { fputs($fp, "Referer: $referer\r\n"); } if (isset($extra_headers) && is_array($extra_headers)) { foreach ($extra_headers as $curr_header) { fputs($fp, $curr_header . "\r\n"); } } if (!empty($user) && !empty($pass)) { fputs($fp, 'Authorization: BASIC ' . base64_encode("$user:$pass") . "\r\n"); } fputs($fp, "\r\n"); while (!feof($fp)) { $content .= fgets($fp, 4096); } fclose($fp); $csplit = preg_split("!\r\n\r\n!", $content, 2); $content = $csplit[ 1 ]; if (!empty($params[ 'assign_headers' ])) { $template->assign($params[ 'assign_headers' ], preg_split("!\r\n!", $csplit[ 0 ])); } } } else { trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE); return; } } else { $content = @file_get_contents($params[ 'file' ]); if ($content === false) { throw new SmartyException("{fetch} cannot read resource '" . $params[ 'file' ] . "'"); } } if (!empty($params[ 'assign' ])) { $template->assign($params[ 'assign' ], $content); } else { return $content; } } ' output=$names} * {html_checkboxes values=$ids checked=$checked separator='
    ' output=$names} * * Params: * * - name (optional) - string default "checkbox" * - values (required) - array * - options (optional) - associative array * - checked (optional) - array default not set * - separator (optional) - ie
    or   * - output (optional) - the output next to each checkbox * - assign (optional) - assign the output as an array to this variable * - escape (optional) - escape the content (not value), defaults to true * * @link https://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes} * (Smarty online manual) * @author Christopher Kvarme * @author credits to Monte Ohrt * @version 1.0 * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @return string * @uses smarty_function_escape_special_chars() * @throws \SmartyException */ function smarty_function_html_checkboxes($params, Smarty_Internal_Template $template) { $template->_checkPlugins( array( array( 'function' => 'smarty_function_escape_special_chars', 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php' ) ) ); $name = 'checkbox'; $values = null; $options = null; $selected = array(); $separator = ''; $escape = true; $labels = true; $label_ids = false; $output = null; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'separator': $$_key = (string)$_val; break; case 'escape': case 'labels': case 'label_ids': $$_key = (bool)$_val; break; case 'options': $$_key = (array)$_val; break; case 'values': case 'output': $$_key = array_values((array)$_val); break; case 'checked': case 'selected': if (is_array($_val)) { $selected = array(); foreach ($_val as $_sel) { if (is_object($_sel)) { if (method_exists($_sel, '__toString')) { $_sel = smarty_function_escape_special_chars((string)$_sel->__toString()); } else { trigger_error( 'html_checkboxes: selected attribute contains an object of class \'' . get_class($_sel) . '\' without __toString() method', E_USER_NOTICE ); continue; } } else { $_sel = smarty_function_escape_special_chars((string)$_sel); } $selected[ $_sel ] = true; } } elseif (is_object($_val)) { if (method_exists($_val, '__toString')) { $selected = smarty_function_escape_special_chars((string)$_val->__toString()); } else { trigger_error( 'html_checkboxes: selected attribute is an object of class \'' . get_class($_val) . '\' without __toString() method', E_USER_NOTICE ); } } else { $selected = smarty_function_escape_special_chars((string)$_val); } break; case 'checkboxes': trigger_error( 'html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING ); $options = (array)$_val; break; case 'assign': break; case 'strict': break; case 'disabled': case 'readonly': if (!empty($params[ 'strict' ])) { if (!is_scalar($_val)) { trigger_error( "html_options: {$_key} attribute must be a scalar, only boolean true or string '{$_key}' will actually add the attribute", E_USER_NOTICE ); } if ($_val === true || $_val === $_key) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"'; } break; } // omit break; to fall through! // no break default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { trigger_error("html_checkboxes: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (!isset($options) && !isset($values)) { return ''; } /* raise error here? */ $_html_result = array(); if (isset($options)) { foreach ($options as $_key => $_val) { $_html_result[] = smarty_function_html_checkboxes_output( $name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape ); } } else { foreach ($values as $_i => $_key) { $_val = isset($output[ $_i ]) ? $output[ $_i ] : ''; $_html_result[] = smarty_function_html_checkboxes_output( $name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape ); } } if (!empty($params[ 'assign' ])) { $template->assign($params[ 'assign' ], $_html_result); } else { return implode("\n", $_html_result); } } /** * @param $name * @param $value * @param $output * @param $selected * @param $extra * @param $separator * @param $labels * @param $label_ids * @param bool $escape * * @return string */ function smarty_function_html_checkboxes_output( $name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape = true ) { $_output = ''; if (is_object($value)) { if (method_exists($value, '__toString')) { $value = (string)$value->__toString(); } else { trigger_error( 'html_options: value is an object of class \'' . get_class($value) . '\' without __toString() method', E_USER_NOTICE ); return ''; } } else { $value = (string)$value; } if (is_object($output)) { if (method_exists($output, '__toString')) { $output = (string)$output->__toString(); } else { trigger_error( 'html_options: output is an object of class \'' . get_class($output) . '\' without __toString() method', E_USER_NOTICE ); return ''; } } else { $output = (string)$output; } if ($labels) { if ($label_ids) { $_id = smarty_function_escape_special_chars( preg_replace( '![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value ) ); $_output .= '
    '; $suffix = ''; break; default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { throw new SmartyException( "html_image: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE ); } break; } } if (empty($file)) { trigger_error('html_image: missing \'file\' parameter', E_USER_NOTICE); return; } if ($file[ 0 ] === '/') { $_image_path = $basedir . $file; } else { $_image_path = $file; } // strip file protocol if (stripos($params[ 'file' ], 'file://') === 0) { $params[ 'file' ] = substr($params[ 'file' ], 7); } $protocol = strpos($params[ 'file' ], '://'); if ($protocol !== false) { $protocol = strtolower(substr($params[ 'file' ], 0, $protocol)); } if (isset($template->smarty->security_policy)) { if ($protocol) { // remote resource (or php stream, …) if (!$template->smarty->security_policy->isTrustedUri($params[ 'file' ])) { return; } } else { // local file if (!$template->smarty->security_policy->isTrustedResourceDir($_image_path)) { return; } } } if (!isset($params[ 'width' ]) || !isset($params[ 'height' ])) { // FIXME: (rodneyrehm) getimagesize() loads the complete file off a remote resource, use custom [jpg,png,gif]header reader! if (!$_image_data = @getimagesize($_image_path)) { if (!file_exists($_image_path)) { trigger_error("html_image: unable to find '{$_image_path}'", E_USER_NOTICE); return; } elseif (!is_readable($_image_path)) { trigger_error("html_image: unable to read '{$_image_path}'", E_USER_NOTICE); return; } else { trigger_error("html_image: '{$_image_path}' is not a valid image file", E_USER_NOTICE); return; } } if (!isset($params[ 'width' ])) { $width = $_image_data[ 0 ]; } if (!isset($params[ 'height' ])) { $height = $_image_data[ 1 ]; } } if (isset($params[ 'dpi' ])) { if (strstr($_SERVER[ 'HTTP_USER_AGENT' ], 'Mac')) { // FIXME: (rodneyrehm) wrong dpi assumption // don't know who thought this up… even if it was true in 1998, it's definitely wrong in 2011. $dpi_default = 72; } else { $dpi_default = 96; } $_resize = $dpi_default / $params[ 'dpi' ]; $width = round($width * $_resize); $height = round($height * $_resize); } return $prefix . '' . $alt . '' . $suffix; } tags generated from * the passed parameters * Params: * * - name (optional) - string default "select" * - values (required) - if no options supplied) - array * - options (required) - if no values supplied) - associative array * - selected (optional) - string default not set * - output (required) - if not options supplied) - array * - id (optional) - string default not set * - class (optional) - string default not set * * @link https://www.smarty.net/manual/en/language.function.html.options.php {html_image} * (Smarty online manual) * @author Monte Ohrt * @author Ralf Strehle (minor optimization) * * @param array $params parameters * * @param \Smarty_Internal_Template $template * * @return string * @uses smarty_function_escape_special_chars() * @throws \SmartyException */ function smarty_function_html_options($params, Smarty_Internal_Template $template) { $template->_checkPlugins( array( array( 'function' => 'smarty_function_escape_special_chars', 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php' ) ) ); $name = null; $values = null; $options = null; $selected = null; $output = null; $id = null; $class = null; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'class': case 'id': $$_key = (string)$_val; break; case 'options': $options = (array)$_val; break; case 'values': case 'output': $$_key = array_values((array)$_val); break; case 'selected': if (is_array($_val)) { $selected = array(); foreach ($_val as $_sel) { if (is_object($_sel)) { if (method_exists($_sel, '__toString')) { $_sel = smarty_function_escape_special_chars((string)$_sel->__toString()); } else { trigger_error( 'html_options: selected attribute contains an object of class \'' . get_class($_sel) . '\' without __toString() method', E_USER_NOTICE ); continue; } } else { $_sel = smarty_function_escape_special_chars((string)$_sel); } $selected[ $_sel ] = true; } } elseif (is_object($_val)) { if (method_exists($_val, '__toString')) { $selected = smarty_function_escape_special_chars((string)$_val->__toString()); } else { trigger_error( 'html_options: selected attribute is an object of class \'' . get_class($_val) . '\' without __toString() method', E_USER_NOTICE ); } } else { $selected = smarty_function_escape_special_chars((string)$_val); } break; case 'strict': break; case 'disabled': case 'readonly': if (!empty($params[ 'strict' ])) { if (!is_scalar($_val)) { trigger_error( "html_options: {$_key} attribute must be a scalar, only boolean true or string '{$_key}' will actually add the attribute", E_USER_NOTICE ); } if ($_val === true || $_val === $_key) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"'; } break; } // omit break; to fall through! // no break default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { trigger_error("html_options: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (!isset($options) && !isset($values)) { /* raise error here? */ return ''; } $_html_result = ''; $_idx = 0; if (isset($options)) { foreach ($options as $_key => $_val) { $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected, $id, $class, $_idx); } } else { foreach ($values as $_i => $_key) { $_val = isset($output[ $_i ]) ? $output[ $_i ] : ''; $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected, $id, $class, $_idx); } } if (!empty($name)) { $_html_class = !empty($class) ? ' class="' . $class . '"' : ''; $_html_id = !empty($id) ? ' id="' . $id . '"' : ''; $_html_result = '' . "\n"; } return $_html_result; } /** * @param $key * @param $value * @param $selected * @param $id * @param $class * @param $idx * * @return string */ function smarty_function_html_options_optoutput($key, $value, $selected, $id, $class, &$idx) { if (!is_array($value)) { $_key = smarty_function_escape_special_chars($key); $_html_result = '' . "\n"; $idx++; } else { $_idx = 0; $_html_result = smarty_function_html_options_optgroup( $key, $value, $selected, !empty($id) ? ($id . '-' . $idx) : null, $class, $_idx ); $idx++; } return $_html_result; } /** * @param $key * @param $values * @param $selected * @param $id * @param $class * @param $idx * * @return string */ function smarty_function_html_options_optgroup($key, $values, $selected, $id, $class, &$idx) { $optgroup_html = '' . "\n"; foreach ($values as $key => $value) { $optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected, $id, $class, $idx); } $optgroup_html .= "\n"; return $optgroup_html; } or   * - output (optional) - the output next to each radio button * - assign (optional) - assign the output as an array to this variable * - escape (optional) - escape the content (not value), defaults to true * * Examples: * * {html_radios values=$ids output=$names} * {html_radios values=$ids name='box' separator='
    ' output=$names} * {html_radios values=$ids checked=$checked separator='
    ' output=$names} * * @link https://www.smarty.net/manual/en/language.function.html.radios.php {html_radios} * (Smarty online manual) * @author Christopher Kvarme * @author credits to Monte Ohrt * @version 1.0 * * @param array $params parameters * @param Smarty_Internal_Template $template template object * * @return string * @uses smarty_function_escape_special_chars() * @throws \SmartyException */ function smarty_function_html_radios($params, Smarty_Internal_Template $template) { $template->_checkPlugins( array( array( 'function' => 'smarty_function_escape_special_chars', 'file' => SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php' ) ) ); $name = 'radio'; $values = null; $options = null; $selected = null; $separator = ''; $escape = true; $labels = true; $label_ids = false; $output = null; $extra = ''; foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'separator': $$_key = (string)$_val; break; case 'checked': case 'selected': if (is_array($_val)) { trigger_error('html_radios: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING); } elseif (is_object($_val)) { if (method_exists($_val, '__toString')) { $selected = smarty_function_escape_special_chars((string)$_val->__toString()); } else { trigger_error( 'html_radios: selected attribute is an object of class \'' . get_class($_val) . '\' without __toString() method', E_USER_NOTICE ); } } else { $selected = (string)$_val; } break; case 'escape': case 'labels': case 'label_ids': $$_key = (bool)$_val; break; case 'options': $$_key = (array)$_val; break; case 'values': case 'output': $$_key = array_values((array)$_val); break; case 'radios': trigger_error( 'html_radios: the use of the "radios" attribute is deprecated, use "options" instead', E_USER_WARNING ); $options = (array)$_val; break; case 'assign': break; case 'strict': break; case 'disabled': case 'readonly': if (!empty($params[ 'strict' ])) { if (!is_scalar($_val)) { trigger_error( "html_options: {$_key} attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE ); } if ($_val === true || $_val === $_key) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"'; } break; } // omit break; to fall through! // no break default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { trigger_error("html_radios: extra attribute '{$_key}' cannot be an array", E_USER_NOTICE); } break; } } if (!isset($options) && !isset($values)) { /* raise error here? */ return ''; } $_html_result = array(); if (isset($options)) { foreach ($options as $_key => $_val) { $_html_result[] = smarty_function_html_radios_output( $name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape ); } } else { foreach ($values as $_i => $_key) { $_val = isset($output[ $_i ]) ? $output[ $_i ] : ''; $_html_result[] = smarty_function_html_radios_output( $name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape ); } } if (!empty($params[ 'assign' ])) { $template->assign($params[ 'assign' ], $_html_result); } else { return implode("\n", $_html_result); } } /** * @param $name * @param $value * @param $output * @param $selected * @param $extra * @param $separator * @param $labels * @param $label_ids * @param $escape * * @return string */ function smarty_function_html_radios_output( $name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape ) { $_output = ''; if (is_object($value)) { if (method_exists($value, '__toString')) { $value = (string)$value->__toString(); } else { trigger_error( 'html_options: value is an object of class \'' . get_class($value) . '\' without __toString() method', E_USER_NOTICE ); return ''; } } else { $value = (string)$value; } if (is_object($output)) { if (method_exists($output, '__toString')) { $output = (string)$output->__toString(); } else { trigger_error( 'html_options: output is an object of class \'' . get_class($output) . '\' without __toString() method', E_USER_NOTICE ); return ''; } } else { $output = (string)$output; } if ($labels) { if ($label_ids) { $_id = smarty_function_escape_special_chars( preg_replace( '![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value ) ); $_output .= '

    Y^Ue1i*yY_ݰ}bkP xrֶJ6bYVzm)/ oa%$:k堂Cw-o@w|;fg D}H9SUʥ)I;Iİ 0MZIaGByU;$Ȱj6m\VJ)DcՆX]WIEԙQ:0GC 6bX?BF !/FG3y 2PM7ɜj8V{U|R̓(_>3%|~ lMK #=UY7O+LVFfUosZQᩤ'7tjK$LPXS6 NJ:\S:TjQVKU)UEqE|]n6wʙv;F&Pj֕Q+#<`FWUgr{N8z)8HA L- 9񽰝VC?M*؛Uw7J]@MOVpn*)5’ҡץ 1! ;7CuJ#T$^v6A/Mzw+m!ڂ1(60P -8TPA{bm` iq@Y.#ݞE+q+#YM ͬ&"6pΘ,8\1.ݰSM:骄Fѐ\ǿ9~9r 0=-ͅljMKɡsb \ m-m* Q|׀D SX`Ѐ ta;5l  JO1`~"ƚ:K6_9f$5';{ zAaȗڍKy^txrɡKȡZ7v_7GU4w)vSiD06µEܥmC6VTh6a9;\p{eArSPoiQէ(sv5JU9#)xz4GEvFvbscK:jZfsz5Q1:av /&=7|o "b("k۽u f^1ˍ4:v.M)/nu5{͑7:!%'sk)@GX0>%(MI3zGӋY~B`Rb58\b5l?0-!n3p!R XGI[#Δ 3`( &ai>$`f4SH j97cm3x&^JϬV ˄Cl.1!M6Zn̖ Ev6$2$S%wu:YrBޥϻxrL!X' X$\W5o4gN6lZx' Xr(/O#a^ŌklO..z#}mWfR%H|Ȱ[٤qS"zA7c95=G?h< c(6C)[䛓b,d5I8M1hzaW! QiZs6|R=SUuTRR քP)7$r$]]?RXpd孓;le`mWP}|]aJA| 2NM!YZ VKHH8@A?ƈ KE7m6BkGtiXkʵucK0evP$HkB!RKb}﹊|:6,nQ/'o={,~gAXx0.WSh$'C vBz&:sEAIg~ S'Á|_hX!1zvY.Ċɲ.nJ)t wM;,s6^fm:ќarnLp$?9W0 Yf' P8Q'8aY&i1~p} jX$Y5ȷN/PS1?\hLcE' QM_}8UID[;x[m(H ́*8)V] ӭ|ID.>޺Dlꯄ@4%7inj0jV"3"$|=tqC^j~S]{®ZzjDF B"4fl !?3N~^ L&O݂Wye8+5]3>3PSw sWANTli1ɚszl BP@ݡ{f&wm{l4ݕѷIkZa~p0WmT:礆WM=PB8pj tGcf@U3jg ) )yx邏Ij۽N3N4o),cJWQ-YN~6[ڡ鮳bmS 6t\@an U8aF2$;yZNr`bpe hYΌӉwr[aX{DuV;]<) &j k(8Rɽ !|p9E._}\Sxsw*VTt{;dۢMVh}büd&|Yƈ7^QV^[484tLݯ!*+r|۬mR6;72Ôv2>85ݠ%ѬP.mft^!C\OFx(xiltq.%yD4 ovc5y-IS "Z[vOFk:{_W$v6kP >Hw"ݑ(IǷྫ#C!fb$w柣d=H` -m|T4 M![l=Ex&*t8QF=N̙#c0HWda@i"KԒ쉦-Ӎ>/_S Kgg~'va-¨G[smSk{TH;@c)[pv7lF*V"Κij9<XmSx#7*Jq)UĂ[WG:^C@*BVgL'QWʺ5-P> xNńiOW]JM ;qQ1ujI!$mlhq5;D/7ac;۞m='F CaC2Z9IYuut%8:SlȭבݜC> YY\"tRnqKʞ;mo1 U1׼sN_#2irU6U9lG?7حF-YSkwy-f"btqpHӮ3 DC8J-:ixl,zQ6Ϋ1K'K]6$SE=c]5BzJEvg ]3ѷliUz>:SQtsjO=' rgU99V8J^fp-BFKC?uIUYWT_\{l[L|iB{XWwܠf{QU;?~q5LUGkU֕4y}/ RݢIׄYޖi[2f7kPӀ5Rr^1f"4I! Ve Q%#C:jj8#1IwBy∉ :^*NFiۄɗN 5bVC>a"%pF{ ~6yyp:+):U,lA1xn&؆hZtjGn6;uV[HR&Gyi(9ѰeŠZ9tZ&@ȊH%ZlA!LvAO4qK[d겤HV5 QCA`1~ C;2UXʲ FAǓ +! H)cfT h\Z( bh|&T+ZWn&@GK9Z =ƃ.^N9&6#tskL(ƆŚuU^K%??vNZ2]J'dqf$EsQQ O^5/]]g] RPvZf1rV 3L)kL%ܝNx&Cs8D쫜swu:`ՈF/^O#ZV17'/u[3W)+)o"u†@kw>'> Z zi rAs}tMUz%/rT6!s8n%TExGu^oN˯hvgU8`;),C.تtQJ4;L!$c \lmv5iP-z&3$?qixygps^fdZv4a<4gRh'/;o4h휺HۑPTN:/9:afT; hy#a}hGt`jJͫxՋNCF5[ICl=kvڢA|ty'!8:7d;14tc==ρӿaE*`N/Gs[c|nvƫfs[ϞXc'73 rxa')Vdu  ]AC$5sXGCJiqH"(өgU}~. mbCO77ه ̼*AJ7SL::s:);%U"`( 7ಈͥUg%KwYj58p/ŏv';jb3Kk?-ILd+c1<"gr[V;큊š"0G3n6b'[q8Kta: f2F y3%<3O/8Kt` wL~]8Aw cNO[8U,I3xx,4pXS<^t| /!v8Ԝ ojRև<3t_Qac cVJ.f: N' ,:p{M r*Uc5]Rz7 =TxrId!%2A"Ƕp)&Qe@^c6՛f윸 AA%mgrcaW!]:uFb6WA7$~B<3Vdkwy,\Pv (cNF*9 Oފ<.##zilG*q&5bkTYu-j=sہFOyŧ(o//e33Qs\70"hU:D&F\;d9/Q/`yw?!J)Bt$m%^*yz00h.H,o V0&@)OŽVDH5'tO}Cȑ3KbZ X v#C,C&+pgeW7 lBpIxp1=QkxH-, з)$|#6W$-IDjf} E#I60:u!r5umƴf2r휹q719-;y̤ jI̒ yLEQ8!FM9̬MHNi=9*xȨw{gS-_"yu{u:nbH5nqr0 ,{"hlt`ڭ(2 UEja^2)"2fR0aXސ0M^!3[S(aF;p 'I3WU #\C1Iaoy(0{elP +-e^jQ#L܄^ECEJeViםX73L'ic5;s̺#uo ]BI.L<0]NjvFV;H5vƵ8s+yY`g U롙4V(Ac/*+ATyp`_DahBۼw8字smTzIڦ ; ]GvplRx\o 8ٞc n<dY{m?8lD>,f&S"SݙDv\ z" 6dA%8l]KhKU[)3ZJxT5ZɻK:B(:pUZ{v[6>*_sA9Q bN춖z)K.PZ”Q?4s M0]mcp"HFs{?rJS'^L..^qK6.]ħ ^B'*Q I$Ԉ&ˏ"Cf.Ez{%l zI =:P4#`mYa]P ]⃺KG@\o mpSo%qC*' tXBYhj:`"4QyOa +<Jg{ $-Xz01q3qpy=ƪwJ3ؔ9{a *7"B,ve['p,,'_ sj< e}, YYHpSůjrUĉd% 4%|C1U[vvvN5Uœ )ӕ}(JvػM8 p yBIrN:'WOP9cpjI:͓[E4 dʄ\ZoC&8ShhH[&.ߑ6",ljkV -<ӠD\4CAÐ=7vAF4įPQ<"}ΉE ːzQ*}cfm#o1}8/h m6U֪w'/Oȁ@R]hH_Eþý3$X/J9+t!g37OQrM^"7+)bogT]7ܢT1HA&0q#PN9tX~~(i8h4 U$t_lM0IBzASb;L'`Ƥ :EI$j:MQPrf_߲S7O0PtYņmn`YFvT yVR;}({v2E.Q&5Yp>$+n8 \ܺyg1L}H]p"ykk&x"/V_ԧ׀9[96#TWg"۳nDe a.gהetd5cZcrtJN{#UVhhD?$0AH=5Q?Q$F<|BӀ(@sT_ĺNDA COeY):BH7xVzh  M=~jI'6U#TdEn3G\%F[v9PHju6jglJ]vH } $Γr-Dlk6zUFę8ϳogj]IC,At M'$ hYkankUxOpdEXXu\ރf3c3N/= ۙ=V ۜ,Z3iTRIiĦ :m \2"jnIE{C)ko4 aH n'+eEN}-S.TH}'T뒿m] w1rP>3 gF#~B(u5PEdf`ؠ=u(:&됆s`wJ* ۋ\>=i}4ʨu$lCǯЖo֫L֏zV|t*SVm>{XqYF _ =_ K&KżhS=KYCK S~ vXmuuQA$Y3~:>>Fjjr7EGn$Zfg:֋b&ccT倓QfF/k,.x@; uI+w:!i":eQ/[ck#v 6XC\QY*pAzA)mGR\>84jҒ8pM;jh\gzZ .gH9v`NѤwgJ | Lp† NuTe#2>;5.Mʑ;)s[ jISI3~gg%Ğn{m HW%=&dY*nw; qkmW-Nу~%صjhqoɥ(9he *.꒜) T2Z%YWi^ERi:q=ܡ[SLrsAmkWUfYM>]J#WN1)7Eℬ/tdnqzd0眂i1 ysYf5 a渝FaҔ&йCb&=Pc8=j_ȍ}-(ֱGL躬]UԈOY:ջ>vVhHgݦpZ&uM`AU}_^dŞ >^A/Jme JYx'6[z Щ&1?_ F5haj,'ROXuDzVH5v9#nHS)wuDNL[LF qNm `X%m@8zN$r\dhkGq6N#-} mV Y }`Ѩ-Q8SA7ß>MS[ 9jS%$O>a*OWGg?I*?󿡩#5.\&YM:_EZd=ŵ#~y9uړ ,k13ác s}jWSYFy@Mi`~GNsިw ޯܺq,hʰ18#+GY[153o'4z;Zqp"A{߇yBoRЌݖW=Yp^vxvW|J {UZ"@@fVh/ -HHm{~^֥ƋIbND ?Erj0cex|~LԘ'u:z Qdᢼ _HޥZoC -?4܆ku=ڶHiZD#.'cCO# O<<4xsp/I7$&7$.R!{=ͣ/^H⌰l:z@zVp)=_Z΅}|#"{Hgpl#3MY>e`O waӝ=faǧCOz)cH;q3aHk.A z#\JHO{xVx5Wz3i{=$%>cpΈpf-GOH QE' ncى6g AFE?0xKmӾ%K'А+97y*l#BR#pC H/`_~ihUoӶnC2s$D~ȑHKކOwZ㏀Q!>Q6~v+ \Ǵ@G+1=YE"TqaTsդS}6iXx}PO,>oi'ުKe;8tsJd.Ѧ F[x',j'2S$BQ蓤uP 5D-:#VY6DRz4Wa ,AmUطҐ@9;K>/]/wZJS,ro'\c` >'mT<'u't"Uukv[xL)*`ęcEZO=|і/ngS5i=9hS̓MGjRIz~7"wmS^S:Q+O|3>ῇj}zO[ 7gp>ui/;5\Li\o9 )%ҥ|W@e q{t={ 4+w$r?gvl6΁E-Z5|}=EBR]}'^mŭ+蟁o'٧~}~B'}(Ļ$ᣃ6G2 ƅMkoy+I4f:[I;@x>;z U4t@5qݚj=j!s> 7G}SG4@&ULuqOje JZy ıpcVs~KJ&@)&վǛ#qJx#p"ՉBOoՌԧN)lXJd/@JVB//@8.=^gQR.QwXPL"p>4+>Q8B?V=+SϜ'F&>!១JqhUξ,fF7|u l ^ajI?BoBj+, VrɠؓTSRJa)=ɑbFbD39;ccDWFSGFO&OZf%3v.u_lCRmvT6h4UE^K'OrOJ(iO^1Ց?HDGj3]H͕7c;lc&^MjeF$YNYo<d#zW!mlGnZF"pL"q^h\|O+92#6g̋@pRH 1R5:#<'Xי糮a2ѽI{y+cF }GSM`cjT?O=1(M*hdmbhghy |>4&۞f׾̔maLUsutogz9|b^W᪥CȖs]"d%rۮZH #SRtgR Ċ~$ FO D\v}뷮]L:v2A|_B{WT]Q 4 jjX2,q1Ƙu &}m;y%ۺ7ĤN睾)Ml ^#2Ƈv[p"hʕ qS67hqO~A} osp,h՛4ԳfTUt`Jx,&fFQ)yGQE YrkD6C}o*5{xÅϙQe$L[I ITwROrqsi'faZ f$UXxzm=DuT#~S^ b24CXJ*)>o:BDCm GA(&Di{ZH.G\FX}Q(F@)Muc~kFd#Y]c>M}>%Af3q]G=AAMɭ @[ L'=Vr+Q{e̓'xb?,QO騢ީMzS1!VO0Fv?o`E>R_3AS:X&6w`wZo<ÆU)}Lc-'{ʐTLMuڇXWb>-7A/ISF>DD XAX5H"7m"y HݿqccsÒW~!Q2@6 ?Sx~&H Cp_;g&o&'52v6f V|~ տA1z?}o$G ?2* " Yyf+V0uZlNj9=a~lEΰq1y<:$76D(/5c#StY!?drިBt|,ޕk6T:-쒬fcotJS| xѰJ?*bY' ?0O-=ⰐI R >+vP̱qJEMy)ԋ^uxa"r(VGD{#ЂHK6 i%1qCӍ{X=E/VuUt"GLp@ L.@\s{KAKoxs SE!- yjxز7OD&+!*2~V +Rn3UMgDke\e0Bg;U9L~$-_7;|e]g.I?ԺԂm#d/j,qEi^p*Pd?ӇDzp0^YZ#.O}~^xIRh_dRZe[Nྲ׏S19~Lbs?tE4C~Y\K {iT֠aK3չ15f9,7*a= 9sPX¥xE"%b)a ̔D ~_*[Z6,ԃ Ĕ3IQ1^YQ+r괎Z==sꌟz.^ϪN?;oTgNΜY]l^0~]>oZKǟl KQ A·x r^HD85%G?uk.:}Oo*j#I]GD=PiY:&X+JY"+Rޥ{ c3QRu+]`))[ߵ/H7VɺDK(BwrTu]r'~q(nSwh6|,fčWiv90zV5,y鎇SU=, 8 + X[P7Y/Kŝ0eZ "2!hes/귧bz~WgG)EaPr@-1{5M5V8ֳͫ0W71XJMĭ#{(TX7-Uv͒6+Gbh1ɉU|qͿKZETX=$ASWhEr%q'jK*PPFCJph{ſiTUqa}S\<[m$Y Js,0kpb_/#nâ^#^li1y-ǿ&l#WptC=PGO,Q:EI]=[=5ą:!L6{[T|$= Aofa$[4P7Qk!5%'N6]S4~*"naPl U9Fj'W:vG{O)Uм(؁j|Ͷ5D^a{&|0ŀ4dU㾷 ˆ,L2 2ƬP$J&JZPѝ\mn dTGdbwWفxXZwSȓD> M:oh&qܟx|őv^/AxӬ -Ǫ@N=ҪM|3W UANDؿc[ΌYwi[W+;4h7G]<d#|jYlnӲFs"m?0;hqNځ,u I8j#M(!'Hr I^E}D$Q=r&p̔=k$ciT^\9 =(rS "̮b$&.ҶDYkNRV0bڱйo;;J4`ؿ-E߷"Mv 3\'U{",|rqO% ⥸NeSFhBP<-6#,AViG<꿲Fج0I"Op}oa٣;34c a\8(,u8Fg7*ר]F4%*C pO&R#Q|onCV B±cb$4۱ ,§4{s$_g6~<{_΢kzns<(^.x;^hK#Wʅ=t#i{0zC8_s![>Q9i3I5ų!(yR9IH G fޔGiv_Qa4Z vXFYs H6&rUUy~Gx<U-^ylLV33X8F4dy9,Ǫ9 Vr8(,8ώ uՉ 3-$Ԡ0\lVfx&{}?  b?*{@kƛU"ȋD?q6nEpukֺ6='˃YW4M#> w;a ?؅qH]W{ʔ_wHеBti.zg{A+7 Z0 CStuJ"#JdYsw#;4n#G.1ڑ-T;nF\F[Y*SXEVyj@%7= vwj3,l{YH= &=^o*ee|_Xb/EWg 5%Q7S b/~W\!~`l2%hN{is_k@?2_ˈm1a\q Wk2f鶜<#v}yHq>)J {G2B9#(a,fd*$d,g2AT({h\^&Xx??{x3jMk׿T=4uB' eZ T&Y4}U2F x,,pd,_#v x5xE@Ņ{ꕛm$\yKEоEТ]h=,s/"_Q!)p1~FH%y"LQל?,gU.J>u ܾ-2?|;e.*=O=ӽXEM]žFnO=9LpfRv6Cm +2ҵ9"?*F7ɶonya{ޣ=i'\p `瑬[ogQHQ.=F;bb p WojŢ#29Gs,BSp|8ߨkK稽Gzsz!'%=mܣ|&c0sn?~m!e>V籭/Q_1\*fl$;S^ xD/Um~&=ZNXG} &4361& \Տ8M*3so?8T;Pdr:99kX^Q)GF.G6I9 '"+Erf9ϔO9vU{Kl!bA͘06bU.M!K vU7ڷxDZAs8 92U۾ l33UY}r} Gľ!G5Xҡh߷vǭױP m\"ϔ>C~_E~(돩aS39ig''ejX9#--`#! G.litЁ.AR{TY!!W.Gxmf`k^ˏL !cކC﹭guh= nέ_ڹvNsϼ4;ZT»@o<`H L1+:-p5:]^fbP..0 f/$~-A_i*Z0_/v1ca.;ҥ h@]x#}U.fIjnqD Ʒ7'Jj2`'/aVI? _xq^-;?u%Ì9at:>xk_ޱ{s7ofv +-Ţ5H]w` ybu|u&/xiBvxל0dH}ܨWG qy҇ Й37wW<BOHZt42:՜C Xz}u (I`/iwcs ©?:!z9on#piw7=7@KFb-8-cZKAyα޶y6QT?[n2"kCu~D aQVK._<'=,ӁHeepx94er:,\&Bh#,ڱ&}S@bPZ4qpo+'qEYxh4Dz_\G$ivUX|Ab wvXqXpbR7庇*,Oߡ$"I|T^aU~h'?!&X)GpFiD" Ώ#4;t{D#<+OվKr7&,59%>fs:<9&\į򜚴Ko; =gݩD3ԡKSNj_VJc7<*,$ֲ_ficÌ-"#>2Y?:9(6ޅ_ IU)5_SJ1A&VQ]Qrk#uk#uƶuwnPS~?i8?HֿxK/]ظtQ7cY_-ߖm%E¡ptlc3\W&B蘳d35SeaGӴHG43iL&"h|V掩/RﻹxzL޲X ƿ;'&+NuWlRO|KLN 2b.lQ2+ٝYw%=@m_Rf_TUMş*Nei?Yey\HRsOc YvjIgtg"0Ŀ 9"aswvΨ)ZcB=mڡK!SbC1P̑@>TĄo> =5-92-<-1 0Ep]!QG㘕߹I1;ao+E935NrŁG'wָ0"9k G :b&_E\7jf50mHIān~vcsUvkJ] 8%+TMނ)t} (>`zʝsySJ}NOp|\<.,21 @T?Lc^VMZMt{Mi a`0*y IT22़(\eN .qUygoyFy?y(D+[={Y%BLNsݓ 2bcoī{rPOܤZ^A=wd+a /JK<;?9?;T,_Vrr46 99EVz.J.QW޴X g8NzvgLtn02[G3pwoM}e:#vhT#qD+tVM:Ya#Э4pV&FI4!vs͚|[Õ"48$\Wo҈aok hQA{FAPQ+dZҦuM߯a%ti)*s :cAN, u\R=д^{%JSC~g? =3bnhW3(x~HVeʍФN.4T`(vA:JF4Bŏ<+tGTxcޤޥ{OԶ2DR:cGm@MŽvCf yVJ4߱H2|>擁 CDǬ[[QQDQE&m1Vue9O ~熫fJymgOqykᶂ-)frhLI<NVJԭB;^Lf1x{lr[u|ϼ's= <=U = u#Fax*iv\V}M/&Uh)1qP 8qk !Q3W.uŁ\vLDIOd%/6ņkҿ&5Y&|Mr6ݺKYR-.}VK Yxjޖr-;O;r m'b]a9YP\w[=Eͣ8Uʁni3FI>嚤.ZU\ٷ:)7gNTSs1.^P&w0=2~kU7=lSq%_Koi!~D0&bتS\EeAnj3ﴞ0{HN#WU18KvNziIQf8Vbc-$fŐvY$>?)C?\C ]yW=84h=d% 9-ahܜ5b; -xpɂd"Q *Y ]WLQd.0ьzVҀ g];L퍲Ss|NP9-:#a+ ׼7JVX++•M]c؉O԰G1v[>XcaRb:gHn0wi]h[L[O{hk.,s-ln]|:8X ߸+Mtkvl'&rlEylU2Y3oõ@1o?ޔoIk%ô bv\{c++sEٰnOsb8z[Dn*ϥ (8Ўפp๝Tcz䞢0]i9cO>qa)-\ ccϻ\il* 6%yN&yO4q "g='dTS/3nt N]SVYs,]Z yMY|%#rAj$(4 $6f b ǎr3VxWA&+gGݭ TA2 lWIg.q_:@>L#p)r$\ C" NLus!ҮzK .Y[Y)ʣ18j)]" Vx MX1ܗwB]-0ԲȞwQ t4V"tRrCbZHY-f۞{pW+:@ϗFl[gl yh ʉ"e+0QﮩD Vr;~rJF>xSm YFNq9q0 H^ Ow$ށVd4𖁆SIRR#?cŸ䤴 Ҕ 9 ] 3k-UTl ^l!(| A](]Jh9k2x!^tgFShIg WH?&P_jlI`A⦥XĂ7J6:\jPVe`uE֖QIWB]9/3g1& #P[B@6`؋oz<É2 |_B~юtB9hA^xX\cRҦYj #)#k aa@*hqCe/ʋ/Nk+eQ|niI2C \sA3b)+UnXȌ')bH<-h,kRq9ѯemI5! C=|K.^W)f 0a<˵6B'un7Жa΃RRh&伉t/ XX8i`bQiyX ZVQu-ZB3=e±K0f3eNY`U)B͔QTQa#muV<6F\5̖F\&aE.;C N ?5HbG9)[_9pW&_ˆ*c4A3[m؉+D9e&ׯ*oK]Lg^+n KO!EV3 /~\a 1,oJ¢NrZW+,wC;+i 8 9GᬳP<=K.RVCr_#f]vu˗#cTZ[x}ttt7Pd#+~uV+Q@QUN]:2܀A߯Vcwow_ooOJhUMD-2t(6kk"FS mlCtf46y!Eg:ۑ8L9b} 126pSKb֪z ١n!ה,xkѣUGJi7εyv>l>(M>&*tԴͯ=Nqq:Kx$cB\ dH |Cd=[DY+ tRmQLo[=$XDuV:-ñ+5FU&B {bTgZ0H) +{nNGK;kՊԲU .2z2@t~qch vA &w\㚐8Z@L6SJvn(űU0&G-9,{P!jz(*#K11>D}wH}K@茝݊Ԡh^k6&a 5AqR֌ȧT`,0}>]?u6o&)V3(%ԘQt >RFJ\y~hŶ e96We҉]0nY2=2}Rݛ#vCEϏP.o0qFr:7&5"*3}&p z 3ߖ*6LkwwϊgĜ-$ͳZ;7Ng$2 KO-D-*Æƌ=pqe)ՙ qe,?=Hj΄);x I8DT68 z58N ˴ލ}MA'*%HܷP B i4JiV tqth'!?f)Ŝ-v40!ξ_^j'9nGYJUd W7_QR#YEAiQ3F `C:%Z].󦢁0,c !Bzɑ>cAwǕ.VMg$LqRué]m`pOjΗyq̐r5Nszgzf+S"K^y C8 Xnlnp(,f%!QK;0$)Avx&e]`NCkW´_auQHl1[uOZ1ƍE5^6Tj0R=OK i"C7\;Q*兄 R:a3zX6iea!A\MXJ:-UM"mA@3̅tq_fUZZb4o(vFD*D׮lfO~05ʤar G䦶\,cJ)ޛȕY[e+7pH:Pʎw?p}[/UC!pmTȧpW2p7U$J=RZ) =_;K4/Dd8{d4 /i/D.$~u2`0'w kQzM]giUH³WzW{W p4Id|?4p\qh{.pRb(^ b`L+E;OFX m4 V2zMsAoפb UXL&tJL'BT#@TC!|F$fDz4AJ2($I&+WvȬx$]4`7ʀE-@dA>4@#VpWQIs=*Ge59XPBNIM8h ! J'k? T AgrEa s+G^ kƍ"U-gɰ)qғ2c!SS2,d2J3JEwJ-7 74WT}G;ntR7fT\*+Ge>^A+g$H}9U0RlG!"1L/KtR+ԦK C֗!Tث*cҰwt;ZUF pF&o{Vmljm;,2VAOG :pyvpcEH%WeU^ݽGV =J W쩕t69Ǚ@|%үv6iV2*|V'SiK/2o ڝI#++Gef "0wlp;(!'G_ڠ#3,*xg;QʖQf&=cXݩt1>|= «_l|6:VStÓirBF#%B("Qz:@ǀ(-6X4ػm٬&VZœ]L&ʓcMXɱ&Y<*_W"i]6O'gzyc{9lTEl d AEZůGdݏ ;P>gs < M0Q\æ ,OvR*cB@?a;Bm4ʢ-B)%z&]٤>>NRzV/VkMAh+>&QIRrVj>Ai9mabxJg2~ 6!7ڵ%X;a~ p$>p=3yTy;Q̽/\M_M!jX1&#)}>sl .Slq9#N \t-ϿrHHRw ʁn{IFrlI%xa\ceb2c<d*K5;<;eXŒ*0e$Z, |v(3,e_U$^WPEOXaY+Bf]P<Kk#cr p 5u e $݈D7`"#۷ :%yHޭf5\۴v}+ҲqK52~xY lNlv={އRkCmLH -t4bK7P!U-l^ ڗ;qǙkwzt9i>mA0]t|W2o-(p"'L+/YJ ;@3D"rfw0n&Ĕr_&],5g@9[-uqRLv#茍$5:I 2l"k VsϦs BFx;dRi[ameRN7H5zcO!0sA!̰^?_ jZ-WVų*eӃeRi +޲aώWD7TߎS.ŏ/ ,ހn=mXrHV3͔ΜC0d-}K)=;?x@9YjAнMDf1epLG$Dsݹbٞirgو-ojN5n'Q$@۸:͸fp(;!bUqdBo4#y5p܂Jm3C.eVΦ,# jқm;R\%S ,7rZ-&앑1y2ɳ !C5b|@:M(Ihn4Ù1c3Ӟ˦}A!THC  ,+ ? G^*ܠdM2FWibpXbb,-a1幠Ao^v>081 /vL4U gK)¸ L=9&eS:lH+i &]kӊ~Wj[2xMoE9P-dIj8lPJޛoI22~,@C$1( $3P4u$$D0>,/a98iY9krh"WʦCR}GJdJE6.!%X 3iE #dPBU*,*Q)Z/2@Zʼn. S6SϊErru#LM9wʅRQ .M|[\+x÷9Q(DەooD(^;Α0ܡ '(Y%h9ȓݨ4ekd/r#wFJr kPx2xmB [c|shRMnˉjk%. QBNt:`< ׈Z sElO%L è^ S&(lrX],ذq1}Ɍl| ڃ㌸ۓD?|^bS3x |I5:\Cx̲3 )ʈ.~L`YսW`6a%R̙"h<ɜq2LBkx{]23ډI{Ğel(LA^e](F!Rx(Ҡ{7ђo+۶Qw|dmƄnF91>eQv[TJ>$a +cwbs 5CrPF5htǨe2,]n|Z54BN4QE %Ḳ߁$qavoĬ]Q&6$!$ZVs 5:j]HzMN2|7OHL?F Y1W5?2f$vG7S)G2r+a:kA_SQqi\+U2*HBybyUwdf$S;S3:1͹"YsIQT+P!5t>23&[H>Z71B0Q#,;t41VxT(\}tlFeI+-+ ##Ցx#mK6o lЬvAkf>vZL0m[*ٌ4Wg`YculTX0w~YE98 ;z܉u.ف47\^*Y7I:w eTZN)\@ڼ_Et|x Zi!(fa4yL1cUBˆ )J!2 l=E)Ƈ|?mFdB-aNK5( ?q*m񠃪Q`1{2 ײM[V4]U-%oK=æ1VfjJ^ ހ\ltH1Oƒ._/T.jfa( wB[Ë'@O +sMG$_Rlo0H1F׈G8D%b9(mCoWe'@qsTv-+p:)fFn$Ku\kּ1d:Z6b\ihmE RQ&[iHɤ%eȌ͚JՑtУId艎m0zB~޲. NnN;X'ϳ|!qy=v0{݈U1eM8foc 4 VCf`yH-|˫|Q.TuxTV %]IMeU^20'޶o -w䉓nȮjEQhՌsg^0,I\DD6܂D%f^U d񚪶[xw~]AKb1pw0SuD$:ZDCBNJ &, b*x!d&-x`!3 ܘXVE:&F).~'Vkz .X1.0` EֱA#nV0EkϱXcx^TgJk8/n@; =3G9sSYXt=y坱r9hh!QDLٮ57Ð-?5uW;U3^l/@\)8=#+{E?[{ U1_SHn $M`` ;\ڑZ 8`~ZkOtNh-k`*Ք,L+a2XnV7@ Vt"B󜕜Lh=@AOJ152lb5k874RTDAÃc!0Ns0{μ)rko摢GjP@^[ " >Q 0b^n4M:IEUJTKy*}F7V-{s^h_8!V7F4*hg>ǓROHHUOIez֓zag Uryd B"mPP_>hW#v9ף.Ը鍃3-ƈ&e~@eJrh47nE0(QA"g$܍/"L 2:DCQ Ri81(~9\ W-A;Ѣ߳szsl^wɲB) asՍV%&ɕ3<+/axa@!@EG~ww˺r})iE.s=(TL[ʐY]F,vtԶ6IV 䨥emubBMۣs:I< E4o\ ">PX׮ iO]7jV 1/Q(ӅdN^/2kLGmQo(sug'ͨ*6߫^n{xt>_I TJ#a*8oo x X+kv5AK!IJk\ƼISX0՝j\*]9 6\hq[Ergʼa)DRmnF³thbl}9bx:tTNT#oz VWkUah<7,U hѲk,d\{ߚ0RŁ$oF18>s @QFIX4IF̴Riy-g]TӨǔv. W](OHY֙՞ڦMG ~c)-QAZ 1CP= ]I}P2$e'pVx}p´sfiwW$;:IȻI[~5x:Z>'ݘ0We[^'8`>+!ֳlۜz~W7oڸ}mid7@y3TG=uB`ړ4۫$ _a>pH$p'L#Id r/pTd%1 jV.i@- )T\Cs{H݃zڼm_ݲi"tKiYeԤNwb!Ý !xc2N:ђE^n<9l?A%.?b5iݘ{*[83IO:D<5@F"'tCk6 dxY*1w&VC,KgBcȥOxcOý(ql7Ufnsl_H[ oknԏ.q\UO':X+ W:"_|#"|]ڃ zQլ+̭xBQz,)`ƴ:)JQp`?)/(R{70Z .A)=hB@I5K_c%죱4>Xy5VLJ% BQPBm#//=ta2 GEusA8Jrda-<|\Ӽ[ȍ>tu\Y7QINwDqJl- 6*a.ٖO:w< -Y mƭ[ں%{a?F{8;tU04䩽gzFvУc0 ~x㝤7Fx]k.6Xv[gixh(_+͐b6_CK Z3*δGҝi̤6\N2MFmd>ǸwV8M)7H#/'´ǾxBT6 q/Zcv$_a+HK:J>KBH:KċXbՄ2R,UѱZqGQLƍiʧy|:U6|eC@5 l` w#g1 tΨdTVK:\>Z!k*P:u"x+K{&{jFcP.hWt}5+Myu}kj}͆F)e3žvl6aa`X^nDV>;]{ƻTVl{Hyk/nFv1/q*QU@vcvP%]- L1Ym~>2'Uj|Jp26Yp P((y VF()l#ڮ8%SmR٘):f@NO~mH^ j{wg9ݹ[b&=g-4߶!C WFO3a ]v'FP  Yl6L1ԮH'K\=ЛtGwמF{i|1ωRlK(4=ɓ00Ls=,\pW.&S_Wn=aȗz*$೫T5ۦXU5OZ;UL%l B;M0Q T,œV(>odUr#a4 9\i&Id S'ʑ.ʈrN;{(=(^h5s趔`k ,ʙaeX ǰ9CǫC5PLQqJL,[|@dslEg`=̻Ma)8J%v:F eMDkeMKHgY<3Pˑ2XsrʣQM9~0*M{vKÂk]tԶ!pak#I'!h'y#sKΕ4`Wgtv0T5hL1fNΜkPl"rh&fr^<q(^!E,W#lW!r^@Ry1wR|ZZ+Px m-0ܪˣ}##nbɴkDOΤxwxr[Fٌv#|V2@lwP>`vq5aҠеuS$w!+@.fmi6GkEiQ$GC@Z-ܲkWbA۶1AHVD2w=&a?X%=-E鸲qL_OԑmUε'/L1^bnI=^*VIV\ Ld#-X[UhpNbO5PK62pAh.qUF"֯ bU>9Ѵ#**p#<@q-T*9Vhhtܷ`Tޓn=aӟ+wB[*V쇙(2aƪɌNm]QBFdnjUTY BS#H6,lX3>ÔG wbl+@$1\B? c$k{:P<Ċ`{z@Y)Z"j;jVJ2-NC8tԥYM<~ScAJ&dz%' ] 'Մ-w <5܌IkoVy㥻}wSL=!%IoZK'_@qMԌ J b*sA;͠5k'/]hFH.Qc/q!mF&-"cO'|* FzO] (Tm4ijN88D:I/gF2Z{qC5~ {OT22\MAkCMp;2 *"xU=O$@^!P]'PJ&DXC$v18MHЁg $d< g뮷3@2FY(j&cDtf(go1(¤ eoQ cs5AHZSě)e"1.⶙!0B 5 ΐٸx7,|KBej>dՙ"JgVXbĨeV0#q`) H yXLLJVUov3lh ~ 艳nC1I5=~#.HVH{R7O:#JF%i1 MK=hK4%|1Yd<@at])bK~1H:[;ЛcÛ}3Q9=ы|!C:>1\%fz9d|I>Kq]-W 4۹^tQ}HloV`Ue@ٍ=x[[˭ıf)EtI9<wNYoL该&W4n﹞1 'Vn ®9ȴt}v+8LN|}2 "*0zşիW{]߷j[տbgW}V׷/]A$QYl ωg\> τ\%שrAVriYM8L)UõV4a ,2 շAT+0<Ru-d[6BYwY+Q3(tT+pA kOhZ R!Btq#nOGң3%C1뿲j.yt;9ש+`8'Ws:Xvuꫠ*]|Uҙa1k[ַ?kj ?{1XpVH').V3ÅRMZ>[|zWzm5pl59*Tô$h0uGL G`׷oeh UDB7+0Iַo"?+,WlW!aHp0MJHףiHM`Ug@^ J!H5ne}4{KV- u8g~W4]VW}WW]y 5b"D2^2qՂsqåy/E"#z)( D-m^]=SӱjX}[鯓qaU U;CA2gb- e*ȖLS35Ԑ\q|9xZ}]DTM،:HVz!]ضxJ!u@G?Jv_E_ p /K)Υ%Ȓ.J)-oH:_,Do͇iŨVKR-L UMQuIul:x lهw㯓˰cnS>hzK o~˘Lбm0`^|l3]19I7<+iֆh]6QԪoB5X4\Ӄ޾K_E]zv4+!@(rc@"@V}Ǹm9: aR9@ `\l/c.\6U>硪0 ͡n;SV.᜵ȵNڱo}~HaІ?0dEQ gIЗQFNlalPB(>\u'8Mj0@ꀯ9@GW4CXXrb⧪ʰ dl$iʺ1t>Z  (6\DG41K0=.t<u|GH:L<,/|G!ہ͊)SziQN2Hu1z#7R5pdI.`zg 9yɧ|I9.V_Z%{1]j8JUF~"3aqGr\2;[ KK7ivHwU/rjR6no,QQqH|Q@f$r1^ȗ%&c_tF1 &޲ZR'~UYVN,/x~P(ݼ/L8H!A?eJEaٯ ▗Dc2In| '"ԩU5#(7gQO(dt-My/0='Ҙ_3ŷ&=5Ğx/*r0OOHcmbR&d}k@gWY⭝홎&'7ҽ6V%}I)m rFQ 2 '0NHf8"䬠VugxQNgSR+Z+[']Rr%pjR~6 Z,ȀxH &~6VNRΞY%KXa_ct@Ô=EiL-O?JŪ0aq(V7%!v I5-ί WRD8;?a|J$u#uR ǀŪ͵AT<-I"i}JYWˋ'"r:/-퓧: W(ˇlm,TpV^{q6@a( @|Dw V@>e-HFt:0Zs$D{xrx~/oy);a$VV 2|u@RTO!qG}Uә .A4!jg1:2UrCQϢѦBJ_X3zPok@~У/E 1!]3z/ޞO3} eqi8^[X?m<{z F?ܝd߹pN$?NVbݽi2newP>9P?qȪQMgIȗLwRU.=.EGo97w!܅޶ )9f]|>{칃f]:?w9Qs>) >0ɂ=v} 1Qow)?\*{_wS3Ei/'B2̞~tDFȮWEm!`,k e~|Oz=ߝ~8+w'.^Ps=O.~0k%^eshAE3,U}X+w73;x$Ks.ݽuN8057u)ٿS>ى<^?}}_?q~Ǿ;bNuO4Fƈ558'_<={Xboߝj]ew☨?~\Σ~>yZ&%ZЁ{aj(H#!*J"zJ V8NU6#8{Ks+"zwҜ:RCb\1IKiQ1VV>֗t7 s~>׏N`}rLתHE{b貳E2$q`EB\oi>ܷ`]2jIMїyjOѱbn_=y% XeI;x,f%9IAsߋJAb@l_$q>%<0"W15Ήv: 8E~x-V.K%QZᄪBq@d+Sώ؅*Uĕ~عgO]9Nj}y~'wP Ȃ Ȕ?vD6CI'ԟԧ&/pd*bEze#2$}ѵbCj>F‰z~YcJ dI^,SFoD/V%cA%u~309]V!xQutA2dKX5iQ'FC8rT;N^ws%8gj"$*\\F<9hrc(XinNO篝Gڂ@@)Τ%"gT޽u ĺ|]Ӽ{X?݉#dN`k ;C)ܥZETXQu!,$G,MFeJYsɜx$sǔ Ԏj:*~dAH)56t@R"rð-W?qYF "s ^SV*^Z@Rc ɤ˧2:@qiS0Nl W0총jN .ÇfN=1);|۔ Ԉߨ8`+D%GEüYIskBĕxo,}wn {=ꀬ*+C K9X' 47V>+br G'tKhmP:ƷڐEMW_-4Q?Q}WN!2u( Rn;U>ru9uӠ6rb> #ttx'A bZ;& JJ_uNcX & +*FKI5ԥb6 V,1U.U~(~Rlf%#ũb܏7^:SɚLStK?ݝ:eQ$ 9 O{i=1/rڋW`*oӾEr{y0h#(ho}p0<^?6XmvS[lG0id!CC~5c]00,GXFueYx1hoCy$C^ cN/t'_&3y1><*lV Ĕ~ύ%cH?IaG??R-3 XяfJ #aJ֏OcB? 9aA?<ЏMy9><\>d7GG(&1Hzvcټ/ QNc4?c(ƸFLV{,Şѣ`^xc/? ټ  ?hpՠݕ7wf]FQTEXToEaW7CJɷoaΓCNZt_A(xܾ;kiWH~:^9x7 X)6DĊ% 7{hwvwN6ᆼr 9qw❻7ωe(V+:?q\*M6F]Ӹ!'kտY%č5Kv< ̟۟? שDUmͤ1;2FF%\Z?|>6;0͞_,F?9r`~eR!jΔ]}1{o@\%CV~ԊrZ $( ,Z96a)bj(t&|)0c9GD~pl'iCu]I KgJEѺQd974տ޾ n$gO\{g]:I~5{\L' we7{}q|MUTGdI}N\܀_mڶ顾܏t.^0`#b'q% nHos{oNj8x6=|KΈ0p:?qB.j_4T G%xi~OŦww'ԏO߽X- ZQbY+ `* t :#HnGc/+ ;!I뾫hD:)'5x Ž)>n 柞v#To|e[3I O?"jQ dZp0.Yc+TJyn =vvSďN8eDZN|wwrF9q]v$Y1ǤbQ!!1!Q@Jv; ?껰ap4( r(A0T/pmGoX*H[P4"9[T)Ё*|fM?=KY|H6ONr5{RYz y!"#-1KCI?49/wCήĥS{$| L*OF[ӘQ{!kɮ/k3RB0N g8;g.E8CWdT}2E8.3}xp|xB$(@xjW̅#x?{CΧR-RBV6&^Qut+A0íFpJ}1fp0zٻ?r+L9SѠRF{o;p;9AyMZ"吽B/`^ra(1 (YMFl'%63ׇY5][2O9ѱ܁)4;Mk.eC+;*C 0 (5'\V@|.$E^#~p>$>/1RZA p0J㞥Uunq :A r#w ߁@<2~:lSHf̔Z#¦JyZ_3ZI.ҠRwW#?=&.9^tGQ &qW] _f#|JFS|XtiE G[Rq ODWHL.DUQO ~P18bi_wHqX}֙r"/zٕkUt#v v4 p޶SAHYuƌtL`1)1fO&p_rΑkctA՟~5;u~ߘgu_0vRD$rtaۖiR]b|g~5wo,%`Z`PP`#Hon9ĭ;k*ipOiqS'ƭg9/)x!ӓ?w?'ii}+WO}i媥Oie u A8VDpޟ1f[ٻ2Ve4?4>{\ٕNR)*Z+ {>}fcI#4{ǮY%r5P ?_ Q{yE3byJE$ߨ2e)-$X(7(3wd#vA`SEط8 >Xn\fm}V߸)l.x} ]|% gFf˹ko%1)'5Ѽ>e͞JVpoy[/߼ޒus`*XuR|Y O*MxSF’ xpl_;):{zcǓk8Kb2l!ǖuy-\羜&45{Gߎљc|N5QˇN^`$I%ٺ7y3>gG߂gUF/5Jĵev=b#aCH?? MZj^nur|n0ӎF⇳gܼ\PKt^G.ytzf̏߾wn?&75bACnz3r꬏{٩8飢kS92!!1G??Q9yFo7?"b>A!FQ ◿c)Q*|Mk)}$k:R䀕ʇCh0KCpRl:W}N 1jf~)JD,9͔M7b56,iAC}/mn׷@7q{p&Vm>RN/ZN,q'oʪR*S>GңLܲT2eV괽)v[o_#m͍sGQgUsξc5 iу/'  \ ^W#{ET_;PG/6޷s0՟Cv+n:3*o?i~خVv({Գ!@=uwj~o(t[ϸVX(IJn{$9/{=y9vo7i<IYiN@yBU]H& Oo#%KS}3&,xXkxl<YK>Iq*`܂҉8PIOzоafGT+I~ļDS2*iNkRљ}>{+qX-% pr@fRG*0!?b4KMPθ. tv(hDBe/Ϟ-W!/EV;ů[!J#b(3oޱYIyݽ+b>ɿ،ɔD7Lf}?'d N7maϞ8}>)ʿ)IaQAt׉ ;=c4jTs{';!~$aOӈ|/J!(?'vOt.o/ >M;MQPk ;Q3CU?3.J%՟^pOCHf,|MpSjymwXRY,YMALBp G/dǏ@qCӭCyNWL oT!Cm0^Ť$`r'[4YR:Wʊ)14<5OWkbo@ƒ٢0՝Z: U=S*졓a˃_gT%6.1sP6X,],,RϜC˖OU,H0lrLN^2vɹSˠ>X@/_, -ź@rckJ^q_^[Mn!/$iABwh8!Q߲)̍[\K 4ˊKbX+f?|^=u|}J5ٟP`\UP:WW[X+[Xoa*З4FU a?j胥xGby\lڶM~(OMp!j٪IŬo,V˔s\GŗEUEαQW qu 774%܍cŝLec ::#;I)'u0Xd,S)8W4Q̩@g;/:(+JDwC2+-+'^@e>eN/mv!GӼ칛/w'6&rSNe4*.{F10W!pKť7{Ty2]*s~r ț7{A _eܧR۩u_WtTrd:JGT嘩B\uUP BOܽ[Ie*ļki-,3CIc$6G0["b:X)ޞ Ĥj4F~pLʜ} QQ' 6=u'" Kٻg1S#5X+fzOk]W%o"qϙًڣF X z:j'.ֻJLw K˯MkVT0eƶӱJ<{)REMR7 P a%'S^Tr˓_,uC)U<b'7%xOxSŕXxG΅*_-!q,D) 5!!dʊW3qSY<≔ӘV[Ѯ+fbkBYI?}~.<D"C5ᝆY%2tqu-r`% X'>Wվr. U7\m|BchE'|v` d7W-!`d2+<\9K5LfynvTq*i E3CG9˒3'tVqKC@Dƙܑg!mx'$ t Ti*J~!orsccdAGd4FIб sTd4crm .P< fyGPT;vheXkRTm%5 Nf,U=-4 1rS2s#d#|̽BibQ1"J\P+,=sݼ{"]G{`l%$M;?9S!;+urlQJdq][_wsI]=GVױrxͫ*K٨oj{J?%:|L>L$ :-ӡ 8ώoáw{Oi/'KΡ}N<Ŋt.Z"؃IXPS6&X!y7pۓJZl(y7vzFF+a+m>֤MaI6&sj7M:$06Ih`|;omV_͆`F#t {1:pL6$IӟO:ex@ je`&QPz(4&:Vc%ɝ ue-'gmFL cV_g_[/Kp[i 0oucm]Lz &H-2R |Mkp>ߠy BRc- ~" }L\Sk\ñ%4ts[T-|aϾFPn/ #pb<" -8 U6i: "8Ǻ4Nr&;H}<͉)M .9#&GSBjfNbؤKnq3~țQIMlml-O4w@L{`^j wŦ V۲ux9.F9{4?]8cw۟=uzhQ>./Y+&-4f Itmp$1UtY+6=Eb~ӳtaǃd_n<8ǥe>^)r sh,ox+7{eYՈD3Xqoa=!,n__ˇ۫vv2 [m2^p?/ǽ'=X G,rYpۂЁF[K! %Ǣ_a3/J뇸ijhk|pk3ihqY$anb6dZtIg9oc>Vd}[F~7R{,x2\l4/<9{< &;$oKAbJ 35 W>w[B.DE*fSM=o/( ={dK.1"'!GKRq@d (J+|o]${^wo;^%'4ja}NF+^a oN=y뫛7mܾyg_}~+LXTamMyS˂gÚ%vx>$UpZa,%!XQH*Z\BCC`Q;whkaB1D:N@)YiXXCHS7QT`/WBu 72) ~ҹz2,NQvxG~OMO!a gmEqR9$7MlPMՈU`N.D_Ȩ5o-U_ˌ]A %LjְO.4ɸ%`S<Ɓ~8JMYZ6*s9#5QvH('W.b8b&_ 鋇TExoR|f(SA0#zU WMn]=uX6,%QtgC~+R&?e2 \=s]< H%!K>X2FrgX/O[,/̞Ii@ :r/ 8x;57 q6mQ߿osٮ=l.[4KƧwD36 `zgg < NtCMuQjzGgP~ܗ];q~|2K\nH^^ȁ.> wzRd΍%i.dc#ຊB/3y)'m`g /eU *DxfT |1S:b @V|(]3&?JxGQ**ɑT+8KK($ a!L| I_o}8 a1$½̟KK`m T`zL~ }jFLbGdk ~(>w"K<{ƇiNv/ :xw'f=>*bQ8`%e3W92p~N!YV0 $x/o߽u,x:bۈY68~j0c  a׮[q<%[ɳN}@qsmy޽͇m.|x bztZZAHK &8 MEr毜;EY.\""OCl ``ePy$tjM /Ftk;Xݳ?\}{lMթG+qHG!'B 9gKd@Ez败,**1{i6^ANZ}f)7wF5^>S&80[֕{go|Fbc#S l)d0c:e/pnͤҹ}T < @{ZQ1NU҇!O|er%J}E{4O '+o`".I4Cֿ9B|+Lq9bjR:W (4jwC00n s;P8 e k%╆4@^N N;qd+&hU$!+( +$^jr{b^ͯ`E Q#JLN_in2܃FSӜ639Vaxd1aEg9vᯒG-7"3Nټ\ Ybbɉe( i?lZu$x#sq|kbm3pIR:~}V#SW 4S"e] "c:d#{_Hcz LH}AW>!H&ma2]/O.d:;%?:B&'uMX>6ܔO7>~A69_&5dڄqp~%%d0u0jќcQ#=2ٿsޞ#)\K0em(Ĕ/F+P*nx_S#JѨ@ߝ:6nRN#o AowL&9}\JIɛ˩W;ވEv p6+)alԇXY0/h6ЉfA7w7+W, ul fd5*R$<{])rs9E=Nvç_O)2 *{m%AُgtՊ5p38uPpeRΞo7qƳ:-lRIeZj|$doQG48%v1*%}#1s7'injQ٨NlmOV=ґ#[z@?|D~.EIxkW&mz$ z}+N~R1 +0C9H&/1pKw[߿xm,Rz^Cl*,s=\[^:dCA&)B_ @ՀL) r)Q-QuELgLZ`,'ޕrDRTLY89ҋ2g$C%L,b`GCTc5 >+jfk8`oP:vpǏgG8$cdi8gH-UY-ϐ#HbHuR樮Rqh8r]u=`yхLM(~s0T"[I|B !y27bLo,%|sa7iq!´2[hd_4^[ф/[oᯂ&K4tɀfy'NQJ:n.TlWL#Qm=J6yy1vF!W鼓V&COtRƊ`Nz}V4:sc'q-JϮh1(J=g/6B/I1pٹtXԓ=.=}x'?-\KZP8@]~\q4r8~[~+bSS@bnXv)i~gN@E&.sŒ2nFZSvxJ51Į?THmS,*-侊*pXR/&{G=1i(i >#|.`,!x% Ҁ]ً~u_FcgWM'VSse]E#UD ␫VMZ]wo"D G?Q|ltV|ΠfTPu[l؉{E29d'^:~|%QL];a ''h ᪙[.J8P8SҏgN2ɸR*Ƈ# iQ&,I An4-t)C6Q"Ohi@~ȫ#d?YU6q˂Pq[".( M ' {_CXڶNHh"FIꈵZN%ASaYgOVP;Jn!tJQnTе SAz$񏊥̫F\gq܄㐽MbX9 |oNΞ9Vƭ[btTzc9i:x ̓c[ՠ,t]_yWq_Y1,+% lJQi:&2u'cJ_0;׺~㼶V?{5dZuM^"0&QNJľ@ d_ee /cI;#+~dZVP W}w|[iz(;{ꆥk0]l?OBŦ+‰c=1gDӏPU U/mJnH61I(mPu40=c_tϞlgBZJ!߼g?DEҍ'╚u^N7^HW}|2 n'~H3h:h%:V#%rB^OR5Wlhgĥ_1nB֛q$K\{7W,@AU=f'" `3e=saAu>+Hc6Hݓt͡wKa@O͟j9@x@KK,WWn ꓟ EƼ'JXN$'pT/lz;w6*k!&hl#tB,+0eVPm7}%uDnOUKZp< r SxMJ`e\BwNjQRF=b].7]:šʒSbP~x$B0S} ^M!ܩP݉:(@; p~(ΐ[ߠpc#%r %{O^\{/ܽqDc`G+@^cCv4]̏o~*ҫ!O7x\@`; Ă -PLɸ7]3@s) "9pW9ƒouk KXAĎ|1a&8w@I `*_P(Ys%g=XyZjQZ RaQ@:,I2\rڈ)lm| I1\+ 5ĥSϩ9^J ˆmʎ6e_]^7tÙF٠2Ê,2|UdR:\*Uc>>#.x,;ya;Ԡ]vSbyK w|gEՊC3}jE8XvKV~]$`*u҂FS2KSxL2Y wdP#W9.<hݫ_nngqp*2POGGit* ˅ .ӊKUƭJc6 !,J/*?2=xXOCC~g_RoI|K$k-ņYQ(PNJAi,,N,֛8 l6Xu@Ddk! Sߔ99==mt0>0;u{*1{hS+U-fZ(C,Tc_3-(QRq:Du܆ē9,xȁHԶ*$&Ēb2N1ϔW +yUV= zw&%GCsQCfHbɷlT93΅= 3K!Ee(iN}w>p$ Ƚ#m&)FYOJ_}y/AkcG4āZB#A%7""XsZ:* #̥f$PJD|-֐|#BB,W@P^*# "B[&642` kHM;d  & G 4Gy$c|X_;((,Yn_dekK R!r>n=)HʰT)bd) g3:V")_@*vL+uv}Vx]<8%|}oI0VGwVɭv0՚yA' v*q`)ohG4WGCY][6IΑN%e&QvnHurr9ogX&2!*h]WAiAFwy}?W.5E[gJ3l0 =P{(7% :UXh[A,`uDNI=ђ +{A /T ߝxYbz:"/o3ӆAع\o@^;Tvút0\ E9E*-i~w3Bye׋or7߻$oh/Ӝ R;^^tg_!ޭ3?48|5X39azxX!hVkb :ۀEN W TGa ;hB48;%&w+H[kH?=*r4)e=m g_-ou׷;TQ@7<%{x&H~٣¤cV,~ "/jZP-,R@{G',xn䟞XÑvf`rYUg^.T^FmuډE^RUͩJUS%Ipѕ?UJO%#Y,Ech {V-zkz{׬wȥ;T?B(o7[T|DE2%V2JY@sW6 Q1x]aPˡ|#-=MtX, 'kߘʹwTcH[3p亴,I?&ƚ@Y6t &E#B5#T8:$RGzԜMTv2'vTTzLS<ӴLB{S,i)MS>TI5˥Ք-M>zbi+)Np-|^5e-<Ek*MW, B:dl6/sV%7 5$UiND\SK4e]ՄeI[y)Jk!ʖ,5 hR\GL`G`zӨȂv[Ms"g5&nR≎t;v),XwE}Z{b-0] *Q]ݛoL iyx z34!MuV_)p`olUߖVxk<`t$frqRR#@/`0MWW.%I(E@+A^+kVY5?+Om|_{a~ne `V\}c}n#* L[v(W_Z/OCdxb𑚖4Ri Il>SӺhM]l"؞ Eõx,*!eAfn Q5Q$Zp&8oTq݄?/Je 2؁_1UւƱX b1"(P0_05' >6,z 8dѩx:AUYNl[k< ,@R~G;5ޕldNsMsI`fSBATZưz:vKg_zy_qXxu($J|Sa7,b04KR >> SJ)lFcPa іPNe"-U!}_ޢA)hS!zQ@$f͎pT-X8Ұj뒧9fdfA)H~]+pHIk>steI&EuVd}UG_!٥:-M\rPddMt1& 2[TKEJ]z=5&8pXw`x:_7M<- ױT בWMʐ<QA`U9* P4D,wI5bCÖCæ˚w0 Z`Y3L3U΃ֵ[l* D a!y B1E: WD 4+R8lQWv#DD]51e_]^>Vm/6;{Y$nC Dm؄tjrLD@r-58[jش&z;̤)힭(!j vTK8OS)3?oo4a4[{e쑶`aUj%B\ocZo/؜ҘmW"B=sŽ;rީ5}fyD]V-"x:mJ69twKfs 4E?)fX?hLVB3'M]f:A7xajv! tRIF 4V2(_e|d4cju@K]N{'Ue0 lBǖ|_c'sphl_h_ٿdK%5 zkqMߚUV&{wHu׮q&`Kh~nr(^C3PrQMWrEWhٝ34>L`زmxT@FQՔNfX ,)"LA ^Ё.IzhGͽ)J?5I ƥ yOn7؉i4Ƴ@3Pf ^IBƣ/b;ʖ ϗFRْ8Wo4U5:vo>EYJVcJVT TGX <+)M'CD 7[q;N[׌['s@yHANnZ3YmكCWlⰥP\krI0{XU;۷|^m?P>F?뤷$6؇6S#B|8jpCa~6>x3j,vN5 6 A_X ?*V Z*Jc"=k9'z͚l)5,ѾI8kl0nxk%l ^(F~CY7EM΂ Ҝ{fL*BeAmMwŒXh2篵DGuW) 5RE*G~ WhnH>))ag f4L5937p~Hy*cM9ʼn"Qoכ]UR+*:Yӎ]< R'Y̑{gl;v6=g!:_]XqxBH$ Rx~;>τԿX-9!ɖ_YNApMS"xXċj}~}JTZ'4Tp)ҕ\_=wUoNj+/?5K(>t<<0F a\"yO) u@A)@npML.5Pu=ba uG. IkhP#9! ; {I0 #!x70-+NYp\a*&6uHd`փk֮Kuu(=1L,ßT5BzR! P'1VX8?2Ё{'GTLRCWJSNGG=6LQ((r^2(F/JQ9^ּCpFvArb:O`)VN")Z賔-(|t@)z@r'Sj)C:qM-P2a,"V, a$ -`%6q-ﶿbW_i}ؘ͊,|ί+ssXA;EC>Mw]l jd& %ч.Owxߚ(tzdAήRT |9:'(LYivWsiSFqMEGĂhm5v9y ! B+ 碍l)| ܅!}pW#Fҁ1ɄV^8/9تfʂfh+_tWER@u7o"DC9!Ҳ@4]!`;a<,X/J V6NhVrv c[aq'yDNjzm, ,lG|_֯_n>1О*XIjk*ckU衏2*JVbXpX`w+GοKbZeE;Ҟn߯m(UFo?2˒V.!s{N)MWġ2{{maYj)I39ƽj#Ri i3# 5SGn 3ĭj!Wes~5{B/\nĿj{&z%+fH1#}|ssQQ\suϪ:1kY`Pze=m%@`11-yS ? _MY>VGb7vsKidKkL94#F'N' ke*{Np3+jxɷ,2 Z>GD!9@MS/aWi~ržX;zl 4|p93@nKjЬW6 DUqeqNM'9>SuYBz4 py?y_8M0Yo9J6LJ I#l.nJm0+; UB!g3ڽMis=ۺ1"ZUF6㧵e#zbGUEQP $90Z@S*6pV _ -yY~ "\/* ^6sLK!H,M!{.w~e?3xGPzTa1!w㐍Py_`02/.l|7 Ȗb{{E䁩AT*#a%VSՒ7ib$@R-Ke. k=B#(,*&iè'! U&K!:kVGv|Qc =b\sbܠ0stQjW絛I"Ab{[/+xthPiw.htFZ]\C߮jngBlD`Ԁ)WrtTX3ڃM}dޮ|%l_&8xow{NYBd *o>N$"AttbiԀ MЪT 05ɯ2+ڊJg_50}>%OɁIt2ܿwm"^~KC#r>r}0250T' wtƓٳ~UEU&;̱(vS p]9欃b7T(+5~sEk `E%%t՗ioT͇ Iߊ+{߾Uw㻻8ےo t}Pt]">":9+W< ֬Xf1d+^2 #nݢ3Y{x0!Dul_\)\ئ2螤OƳe?)U_r7$:o=@O%fl .=(Z֨"]âa,$B|A%rnzhz:lU9 W<_ o[7P"2a`h?XRXOp}[_X|R R R %ih  w%><5VZlV  kÖMN3 (vҕU+ @#s/&. W8^H!kzw\zI}"CҀ MJ I? N pH9,nӲ|C|HG&r`*`D.#ҺԒF6(?B%IbӅY*ܠ.` RGb\==h7.t 1x䡸!g0NsmH1 oP\Ef*|W|v?T\1'`~٠o՚+ IRewfwؚDY{_{q3XVRP,Ĥt(Rӧ2SG^=D#b]R8$<8rrGz;:\N[ iq2;l_ť-z2\{u MaDBnqIWSЏL:{+?+xߔ1텾&,*8?S(^1`J J&-7 .KW8U9F7\yw+?M4zɿiמHdJ SO`򺨞2/ޯfiO5*"!4BӘrJ7JlА}ѷ0䏰 [KA+f1^7CԀ (UtAAAD1xl2⺧nK @ЄsƊadṔɟ1Y7ߺ MObT(a zpC֯tU[4T E,߰M|oF &.M #Qat m:aS f2i4(%]9^{>ɓ=ј;UO;&ۉKAC^.tk%H=8r<&g9:fCB"uPc;HtPNgl L0]IR|, mp$p ' -yyxQ#f\rk%q 5Ȁ?R?7b5UfLx.07 J {h۶/TyREnGH QNYǦB&K._ vQP`SED> e9Qw:r4/jE[,&tɿ[ۻ|CN>ER3we^޾~51GCςi!p O~c]V7 sZu.މ&ʅآ'V6ҙ6T'unλVՎL~{|u•1jrs( xϿ |{1  4w҂;Hw-Rvv;|5Y~1k_Kgw–e؉%b/1hٽ I m ]z.({#d[5/^w_G,m-_vXQ[FL}܊l}|.D]W׋ӏj'PxXMŀci-]~W?Dq!V%>Vÿx3|w0ǖo$h|5]NJfxJ-;zcl9JFϻ'. ܆_3ҟ!r=۬~"'=?%?lAH|>mӣDfB9u$vC S;#@SˇAPsCk]eyA1䪠n| ]8'R᱋N_[:Ĺl`{^\봥bl3=#5gFnGyxx~ؼyrکĖP>-ta/> q ^Agov}z2ShKŊμt ]{$iC9}+%GϿ9d[!cAC ]-օj˝ZOZ4rKD9V7Z% j2VIlRjT7nAѭ* ti\e|Og>*([b4uS*E0#*xa,}VB7M+Z=#@;2D𥫽R;Rʐhڪ黽ʯ&ѭW^.x u)Ɠ 6.+ M| ͺɿ.2\6=J龔-1 wCSǣK౽:]t鞻dޚlDKqfN`qK^Ol勂}{_rˣdY,)Ȍ̫'jsuliz__% ɟ8!>|eoߒQYzC/8'XȤ~}?x! fĐhqmڻmK6`W\O,8zo=c*X3F<у?{WUKG_pb4Vt<À[zr.1K Ch#Au8*YQ}]U04w6gX}YÄdc|4U*6"~g8L%4/)H^<|k޶*eЁ06l†X |O()F ɊB6kzu23lu=\(-ydZsš5+???K%vo[vO9<ȒaIx%jѿz(,K¦ǜ?iH7 g gQ4x bvՒ(,K(^{F?V[!&Π0'Q$o7mJA5`J$p ؇! VH/`u',+oPTE"KJ(#wek@x; K WO4.Av:_YKweQ9Z&Z6੖ l@AFuJVf.!U~JFS3h:P{x~y } 0SK"Up&I W>yLbP $^N-I OcUczN %'%+I& &q0C# 3n;3R6YHdBK:*G@E2NҤU*bG`%ZA@cVd(QDakz|.KٰK w?TŸ‘Qu ZoѢlf P!h yj+*șgsb,[uC@*dJ* SyA с9/NAbs ۪;r͌d6%k_AD&i½*1Ҕx4"jQT%yK^,x. R>Lf*ʨ{ 'RB*V2Ihã@g75[B"*Yd;5~.Cپ20:Tw!ehN9" f[EV2tUr޾vdJX.En4V/c+~x0^rrf2X(_+UZ+J0/u x_+cC r?ӆu= FI5OiМF ~@90XMb~FUҨ2C@:WNo܅!7>ev$t{MתKb[OSOʨJiD]*8EpW9gΪ:. %ۈŜ"C;)#v\ŁĿ]#4 ٔ,,I+D\4E)Խ^AB mbyʥ@A{JT'{7-[~-Z]Z'L58-6$,.jUzPhO-TŝV-.Z1Yk4w[R%z*!;w-֓O]e nתy]>|`j@d%x(C񣔱o(,!5&3JKL.e)Y7>S3lF:4;?f9xj$YeFyj<q5x񯼻!Aw\:rn ؂ %6X* -h^$YPlmأ(h0Ͼ+\(^hT'2VA:S(ݥt=@Ҁ'!J/"*X {] γ{={K{ݓd 4,+dM/2MGB8SF$$ d†u1V ֝΂RCU `- ]rN% ^ HjR@La y $8n}lID Efs{pl0~GY0)J"^ ~ۃDdFBJwV3>]xp8@2'8+Pa $( k_0,44*1dĊi' %RsP Bx89[4 QBU/; 4D+PPPMQl6P 1^OF>< rd-85V̳v@p^\]q=ٖ8h{P-ߟڣ.Gj>Ec;(.F˘27Z #5`S`Ke!L+iFlNlyEG%aq Lm0pSLdyN#g=d HIHD|Atm \cvXzGI7*KYh FCU$^l&XuY ƴ PQl[[&L>ũR>Ew,#Z| Sv{PÉlt4|.B }r ޸"}{=8T}A|0DjO/6a}!BNSUA.U(Lݲš* 긥AOF¯^!Y!:XN.#܉}rw7,9'4@̍$ ũ%<@:9> &(@6.E6SS-b :,l*`+2NT~.1V _@9LTsLEiHN\A-u38jp܆ɹ譃8 qt*hqsй"t ^ -so/Ϟ9h,r 츹׉02*=`McQx.WN;H<%3'*gT~C⯮>VWE[Q\!h阊2dWH`kO8)/Q "!эWm7l78@`,flrhMmlIfǁnr,MZ4x2d$ Y%3t$Cs:bh!H` ZJ4KNcnTXӂ=LITC-@za2I]쑸jX)qLϛ$ȭs`1铌tTƄ*d1 0GwDe82zuHЦ KS=YCh5ӁoaJBSxiJOP6 l{РS SF+Dm!kʪF[0 #^wTodyTE$QU4꒞z{SjA 5':? JV_зv$1U*x`IO(W JBONs7j˵Y? ҰYm+9;Y@p>%(C;0(2堚~2|Yu=8&1Ά(aZ דFD0Jl!H %1s%yuDVPv',jPNl' G(xj B沌J$Nlmh%l:nY r(SeИMLIY]J/&rFK p3# /*r-M#JզW Z2Y2Bػ"w2P -0ȃn (W ]qrq^UўjG, r/q$X IIG20RuT8 AԂ_|Y8p5dC+,Cs/i'I@daH3]j ("1Md4"`"hO²2U0V $10Pd,d o*ejN|\FWIԅhlGtAQf,li|6D`!!_B3J̭Vw`Ϣ-y Aք?>udž`6*+f'Ҫ*ĿuJxS)yU =aˋqs!d&UtF[es_#L12eS$0{'1!,cD[dLZ! eK)a{ֳ3XZr3\вa!kFLVBɑ)Qh94˼ pX4}~ef}jY;#P8KT߭.Ë:m]uW$R'u (=Qi[,tL ,XSPZl}NYga`$F69+9% 9dkTcR @sC8zfʓLbD=NS2I.)`apL>@9BBL ;l#CWOru{ij$wDz2'1䀟Dk\rcTfF#AC:RrʠV&*5B0+Qq#iPp㥾:,''ǚ_^ {GCoZ+Hf;K$ lgg,EF퍄x򢍚5agʨNSiIPD qE;@I=@؆װTe'B m 2G? QvD3Z QZSR/s2xS(֦CRt|^qpܪ:b1E"$"BǍeevoVǣz'HfˎfgoL4%!G\ATUo{K70ۛRy1N #C(R;JyҴ(S胰D7%}ٯFE2PpЎ\z!Ęb =*ongti%IN;rΎ=Q@UY2Z,U`yQ8`DidQB/S Dy,9I 2RPD( 8A0k0n.M`ҹ [)# 7҅†\x  0?h AXh9+N=zZ"] nZ$pRTNPɄmXy,^M'RO5*VDGH~>5"EvrJ"EPT6\Vd'긺ҵ(@YƂN0 똍BeÞqSؽBp𹉀t Et|p$rOMY H^K8ҡ,4/*fpcLcxKF7b{ YeLZ#nI,淁PݘQ K  /eUش |-s0@g-+H1wв6T:cې柷DJO~ǦMܫ4*z.E&pbH),b| ؅`$  _dC;*ďL5bY@ AmS1a4zed]*`CI0 Xqf(lFx 0X 0Gm;Qxf76'pbEp̅=؃<E^26 i+<ɘbz%:$ɠ*4ƍdݢ6TwW]lٝWWMdTҕɘ[C0[CBFSvAᲺHH_uwzィ$d0D$gatאI,&NPRC&`-|I\M'iE4B  xd'{Kx87dh H#a3fZ92B'JcS |ISB]D|2dʝV\% 0wr=|j3%|_ w!Q! YZvIP Z'I"a)$<&YQբ#spN)}+T. pRf ]LpIDҨ0PRo$"PR4*|*(%%dˠ)ЛR7A&%@~jv@A.rY \4`dc%C!F`Pp  pH^P!( kB@Px07N|2rDw經amŰ^f]L,[#<WQPek;v ֱPܡ#Vbih #rm?Vp,9"KfFPjxbnJ,֡^KR #/2(O`#w n%e#;?|`$xQ6H%H…['*%GTY=d}QeXDXDS !N #b&8)`)Z]OdTvBd i)N*b@B{Uo,phMZь\vĴ$EkM8J\xqH)Yѐ6hۉwGԇQNRf6j .ub[8x<|:!xDw"ZDD$ԣ:}~SJlc"d8g.&!aF E"fqpZerhsyBeMtJqY_:Ĉ$FhKnMm1up v勽KlA 2V,Eyž R =e:Q$ښHX[q·.zP#AP {s.rِqH,6▧w2Km?6.D6-|-a$&9fZB♿XO/+b-=P 2)-rmQ*5@bMbGI<<آޜBR>+$Ce:54 o<~DjeHBuTw % Nt$#>I% e1^}аǑqИ@O^. vۈK],fh A$;hu&4/@),g9s)~0ORBYŐj ]@3ǰ8='UPM-r  ===\seWv=sCpA`u"c0I@7,$H?B蓔8U,a_ZD,!842 %HNk6 Ѵ,cЁz\xD]ӆ?5  `tSsvPG;Hx jgb$z3ϼ/f|1w2;5|a=q'}{-N9N쐿frpԐT+ y uv۵ Z &#e耢wͤ^;iImҳ,OM;heDrH #Yc" <q2/A&鱛:ۗu,]j]Fb#.W%<F7{:ɵ*R<(M@fi!qI>Ap;aG8Q*UAq?aQ_V`3n`\($@u&$.3?Fv s! vHÄS E]]_$ٕH@*I$p1r[a"%i2(=y$oeϞ,&Sw0Ǣ-4pdS0 V89_jQHWVtcH`j" ]F*k2\m/gm`^j|U:#s}p۠g(gn̜=6홇ɗÉGU H鰬Z @O̦!M[Y2/]]V Մ[s>:e K }T8rZ,\m*A,\lY_gp<~c D3옊N`~53IHũ)$Q$va2Q K/sEhbIpCVN%DOe? N(!P$\TI$c4IQ" tb:I̟ h!۞@βӑMN=B.SH hA4ɩ] N<4Y4h,_oƀ*3xseD0$ac 2(rPũtzfS()FHL!LMΈh`GVk@ riO%dtEYr4$ݙNb&9mzZbSr[0w(LIS K:bd5AiPBQdjMt"/n&=jp*zs퀔 RaU6)#1Ђ@l% ѱPCLQ(ٝ=V\]8V>7`i RF׸>9&QE AwrMP* GHRi|(8!8C=©B'jm|n*MsG_߿6\C[SqpThcɧ9P?H]bժ؞Leo)Fۅ|tHܤ= B[->s $A@I%{6u7ABTbZRopE c;M3h㡷k|$PXZ $8RI*j.؎CIpw0v g!5ފ!#iO i`W􀿤0dO`iYM (8* Z'#R15Ct# t a,.Y=(2--;mS$*GkHIEpcG=$(}# 9tB@"}e)hI' ܛ?#*fV3%Ɛ5)IƗeP"O 0QEqRi2 Fs5`@|*I!1 $aR/#;lpz4QKz).8 !W3>s3pg IUJE>Iժ:Y)YCgH\A:bsI5@*^*MO)[[Ϭ2Pm;<2!ʏ]Rx$-DthQ Lh\49@ل {Rw3aOkUz؋Ɛ;9ժxS'|;D{xM=Ȉ/$\oC R2Ή 7ӒMd>e[y=v!f\= G9nUuIB4n*h0 wOd6/@K/i'=2p %΃95=6  6 '2>A )Et˓b 6BҺ/E0 jU2R0U!0`84*Λ醨@t!B|T>z~gz5:fXt%3<I,8)u _Q4biDyZ΅NqrE dFUߓnP?O >,0?-̀b'd \͔傞ji'I+p|3Ǹc鯍6mG"[SrO:-oPޖ ,AP(5(ٖs!3H1lF0ؒ`>CXI^tWF|DB @(A \B9w.ȏg󿇇{W|L£8A7FBȧ4CI$t|?^ y/?:)q68dwd,Q+b4i%DjQ/WWA;dX䏝襢3!>|؛2%"j8ktsжמNizHݘKX0i?sA@W\Fq_ ra*0FSO8&`FӐYKnBGvF0yNiSE?=3h!`A*PrEq3nQSb ǯ )7|7g@[#fc8X^Q=c Uo1N 2];]D q jўTH/>г!f2/F=Cf1CŸ4 Wdn4;6AlAOf)`xIG~(|E|PBv|R`h[N.sgY>-޶kp '30KCkT~ /praHTy$|aSIynfw'ˆl-o_Y6.7x#LiȠ(51 $ wGN$Tr]!IV9Tx$b_7( a hOG0 9&5<m_" '`( /c P#Ya$[h&` I!$BPeH|Đ KLڂ_ZrVB ջ&ɻb}5Y>.A1 T"M;<v?`hHpq*nah(4'1:;8I`AJJVQAla.It\TCd3 P`K(ZZ ,_%2LH(` % t͔%S(UPeڧM2bL2GQ9J(qd2lR"CsYrMf$R_Cz%^$(Qs iT º 02R%`ڥRjAIʷ7ǫ7ן7mhD+ _[cY hx1 NfZ+:p% ?!SdD7n?" t8ȁ1bUW:S('F\.w$|BB?ᤒ+GEj'Z 2#gds v TǟCܚH@] B"Dωd2 Z9/`1ZW@j^vs' ZMj$TBāD-Ș &i):(T (FbCL4rIP)Nʹ)Gwpa3O#UJ9;ȇ$$P:7 ^n?b{/tu4~{i`XS ? c,IJ IY$CPļ[+8li/30_FB<D`0vF8rB(Ip/J5耐~A9$&F}8Vn!8$ִK-S-î}-5Q0 W!T8ou5YC|đ7(7Q7[?fWQMb)y zarJ)2٨]d>R͊Xy'1;UlT-u|#S)98 Ҡ?vX߸Zf!77c lPʠp436C-Q!Gh"xK=w(N 8ӨoRfwNq[L 8vG0֜S{N5ľhCP3ޤGSc)̄{Ev:.[:-R}qJ:&l2EZT@ ! )BI6sOH &Ec9I X+wN !2u?ÿ ??y'؛L xs0<0L@$.Ȃ꩒3"T*V  [ \dH $dt5(ub ipJCtF"G{2CJwk09n $.A--YYS0^ZDG)2:uH~j) TI9% .>X[^Vq-" #,&Mu;B 8H+5HXA5X\x ᢯"pmƙ)n76sc"dq8dfmqQn#bh7ޒX ,l@)9kS(YrN i,qiHep"_ OYL肘<;.+c,ăABuIsN9 &[ k-b\ WZhɷhb=2#d-4Y\%eHr N Yql9l-06>h.yy?zzW/"WerzIC:h [>EeMN%2A"(庭)>vF Ay cpt h`w^vbQ9-UT1*?Fl\zJҠ5tM~S-=DԊIV. N ʆڈ`KG{: "Z G1 7)3dD1\) Sl,ih@{EaQaL ߓ2#g; tɌ_ 4܉#+,@0blΘ?>t sжlpy0Apd &UNv6=d%]ٸ999C%x 絩9$G >l0|q.c܍ i“Yx^Q1"Ğ?) B~g&>rԌWO-|~8)]@`2qeBAM^1f|wP_oinJbH@FXBrdž(+Xא~B K!>k&3i&MU~q4_ u4}wtRfu LᡅyxN˰`*3+{ E`j1 C","hKtliԉqVCRƒ"7}*=eW69?N9m Ou? 7p^y_ߣ]Rf B +ꄳ 1eKߠdɽr)_agF!@J*5= ,D- bne6} ۢ}|Jh5󔙕m L6>{-{^/ Y.dG#3@ilj__!MC9pr_a2a,6 $4ZzF(62+3eE+@bVuexU)ipɯ-9f="!,Yk\]d)"sc=[R$,UfJ]IA6 9 Bڥ`͐S[WXL#MZ 0wl\^<sP.J"./0U$QI tYS0C2Jґ݆\MN}N˂9?s:$[jxiI9'qfS3JLw|\+0#hGGWgzMVz,gnb/HyHּK* p6g y@sL_#5G/qU3w SH\eꏩ;Iڧxφډ3cND SueʷJ) "OO/Ot+>&m):@t ‰Zuٽ>QLI3F$ぶe0H gM$vj8/v BDJd5t@>"*6YR+!^ `%t oK0T+ Ԭ9JM m$I4űaG+ K4Յ;*|,ki[-kuE1LpL m@JCc3,*q*۪s2. ( I U =EIjMǪ i>K}2% J~QU1o*E(UǥTah  P 3hl&58 O]*HD+4м!\ ZmHIk&zp8t*2"Z5O8 ^3T* C? *SD4>MKN>;@_ eK'3_rRe+؞Ҏ,E͘qk9"(KBYސ]‫if~3e% ڔ N ;ӁNV(Q".e-ܞ.o w7pBdH/Ś@gJ]?cJgaFsw^y߯|xS[Xk-I,toXE ! JA;#cK1=(fHxǨ ?{qtQZE+eȸ$T(tY I$dɷZH(:4r ' t iL(#0(.5o;>)I(aJMr$P*͐*y E:&a:\$ro [ ܑ/A^c;~%zHۓ=#*^ވ{xz_mzN2' f'([HH|喨XCɳCz׀t'p&` <2E d}R \1(;?֏ d= ZQ\:zxmV ZR|TNZt/& `KEذ2+FoC"%/{UӭA}y_1Wj9L1<T[gbed m /^ @H d!9J2_UEiFKKԳ5@wԀxP!lH&<_%-/"vh,k>(L&(,8u4,B!"Upt@7 M0Fle8h'r ᙍ`{U%FطFґQv^ܖA k2j4\vfj*!Mi$d֫$޽2=Ed4"Cؒ?F9pPnJWJD!YV*"Ny42U\MJ Hb1f۱Sц9g+.5{0܆9?<<_A&N!9cM? ^CMnyV[^ fLH"ܤk3Upo&wU<7rf8iyB,1j$lS콈&C~-(ř C}&cHHN@ayq[7'B{ARtޓEv^Jt5GyTCya&qFϥ4ق8*!>1곃*m,QHVۀ9ɜ]ks Ĺ-g=b?agX&P5qUk{"\:6OX'ҁ1x`oR>pEN 4hz)rF:cc؞LT XNq4pECO\(?iU[ZScҏʓ Xp&h_׍5IF%4^e?cTOMTnm[E1-aS 憒*I7m|H~xX)P9Z ƗEoV&Rٹ1yG'gɅ͡uYtdgp>JQ*ddp`Hz'1r==iI^<F@&@}(L,aGFC0z=J/,G0ሀBxKG IM E6 ($w!SYͪ"M :d*rˌ. Fi)4i5h?̐q$.zȹX1a?p}eÒ}D^/Wrz>?!dŹ%|e/ 儨<oL#FIV\ָC)eBk+$TJwLI`st9e*z(u[E|ټ6f&5~aת@A-St̙NȡNXƂC@oWhCtZM;aa6"5 wC)eIA-;HV!Wc,bn9hW#k9jVOmkhG{z2P3'&f]ı ? >='|ʖKՇ~!h!/4`ɡ9U:j(,Yѝ:ƻ#iΩE`9HeGi|LE7Tvi87'ϨPDݜM *N9"dHم g 6d:Y (%peIͧ%0_:2Z_z>cO=8=O2+S?J[Ff&Mp M\rl.M%nb y)/SlTpSs'aX&6$^Ő;։3-6la'LEWf3AC<ℇ9VFIo$@lF08H UaF[%{Ӕ *tF*qI1#tO{;' `l 8x<20Wr9V(ɵ!E %a{$>a;I3BlkFSE 3hbкa)cdo" D%vr/Z#5E7̟6* ` NϺ?8Z\d$521V='*]C3arD6,VvrYv-C&X`,Lcc~pHC#!_„y%~"3⁈i_cc&9DvA*Gd\>$דlKKκfբy"'{&TaD^/hƹS].)u2Ba:r/7(z'KSpSR`%gXsn\LB]58Yw0{ԳTK$vkMH,!mDf'Ȯ޿vQ'j68rhQE^" !-!bX {Ň0)m #I]jk1MN{PbW*:!cUun[l<ʼn"‐qtJ}ڠkG25F[ڮBmL+z⡞lzm,+'G1[?cg/d|]<@N ߜ8i3z~3,{8 bmFx.mALSvs.Zw!|vg6x&t * , a(-g[l$8SIyvIVVrv+yj_&NGyx@$61/dLv}reVX/9ۙy;jgө&Svg"k`$&O`- GNǁ$GؘSNÒ? ?J}E2C{^_1T1aHstp][LMQ̎2axQ!ӄid3|KQ)0 AL: Z@YVtgU=$  @A+cA4 &l:ǪtsW_HU^BrXmR~3P\PtdPKuőf@ oNתF[̮쌿B'[%Y2En +re`O!E(6,Z-cX +F9#3(Eډ X\i0eg@! :+i`h)±3(L{/|#hJA6S'3 ,$D|$cwo6$RA[υAp QI$,E\7 #Cf=EDZ4]uZM*>hv7,PV)S$U98. u\Sr~ ?0u3_i S H-2A'ܸ,8Na9jhvIP\riK\ q"P 3!Hf L7^MZ3Y|7[\]+x/ ޿wMk.#QU LX`fD؃Ct,G8HMɞȣ%e.K>L̵u(2(`ͪUz"-4Q9B' m evs"7I(|~@ ʡ'zu RD{(*?b"YN!%YxcIsQ,5NMGP14,Q#T!%!qfJ2Y 5h.؎T&Kð :蟝'B炣8G#ApCu\Hm (P@7I Ubp]=GDk2(ᘢ()D%bL,-*%ҪEP`&-yP0TǨ#0[zb&/qɀ j5B]AC#%pNpfVy\Р@#Tf<=/wO/<Ň]<&Y"#:WѡV%N34=O*FDD62]j B Jt.Afvd D't*%:O%Mk<:)&m+g;3e$d觥X`yvdϿYӔɹw 'GxV1-~ (O} F7NkJJ#@0GX_AQdl\T؁)35"*Ȗ09" nrXC؀u i?wxţ W6+T`\:WY r Hpw',Rj0d(%:J8 &ũRQ[Jf}q(? sdHsc$>HŽ :~jP3=,0A$O04WQr}H;+-)#G詟ٚOA|kNٲ73iŜq Ҁ&T ǯ`<L/vܙ_pJb"S&8r0gH gj B~ϝ>sGd(` hIuJFQk$e55vz8AM0M0:hAJ"BVR݃I#T!Zhur V=䁪D f:+zAJ$ I> eoDT@\xW AQJoQ DSybRRyru|r;@RZKwg>&Qt(F*Ddu{'EtTUB#JrE!Yr3zN'^9k )rҗH&` Œ dB5 W0 U\ IB9QOhЏm:-Ymr UJ )B$O䊁``90ѕ/b.E-30HTX1JHdB#C;DAmڷjŗ qdNlW~cHDn4j:4 W6DD6}dhm;o (B Cabơ*V J^b+9G/8଀j`s"R`Sj^r ,'"TDx7|͂ВÉH==ݜ&TKnn ArF(9<)^㭧@h]&eS+)F'&tEMHMҩzY@ x/$m9  }M F`ND8C 6iJK lNN]κ4OEpd5$7pJ/=0RƖR7 3FIu39$\T4!5C:3#*) > Y`#`AP$$n0$+LOHBz >6dK9^b0wB!aM)ڗpvzFVt4=BӋZz?0LEn#ӌ׎89ՌMz=HBj`0qЫ%d/Kڜ'z&H -уcr'yĀ$zDTHeF% 4VQ_;`iu+kLPJ"cԶ2bGߖ4]8&V jHK>](/C431vIjh&q5 "^pq$.rOؓ\G r0~\oa:8[${hՊ!(N5$INs$jB]L DK3RRBr)@룺S2hciaI 2d B*"4bf4,+h|,AԓH7rB qsħ,\p@QK8-'\.LG̃M/M#$)pqrj.91FHP q%(Jzh$v:&6AKy`*Ȍ`NG3z;jXzHaKA\fa+V)$<Ύ ;bm hux 맯htxiX(qu r-u8 @dQ Cp$2Tks8T!/ :db]ىH쫜E5CV'3$)`Ɓ;Z{yyì"bǂ.CoIAAC4*C6`{`٨$2B+MQlL6) ɿ6 HuӰV 'A{;PҰL2pL,L8.m=+!T9)hЄVn%#4`"}yoU<d)yt"ݝi'k: h\Nʇ{P4 @I"W"k^c LO8 HQ  V0Vύ@:BiE `N ۓ"$ê N[)K)ذ :P'k$0#Ӕ=IOD'$2cK%0_%)xHLR1i9E))xF#'uf/G@kKhBl "N)rZþ:9c/+RT!NYQd",SWe.G*;0=֗c?ޔIUVȘ5qERJ0L4R +UBM~TYJf/@ &dpĴ%jC`.x"O4!vi`M!>h(F ۵*KR0I~x UшHA@J/RJ/(>PJ/n&D$X|*Tf ّ^ }j^[S!Ոn 9*"K~P6+'ą\MЂlw &% ymءְZi0w©жzQgs@k\4I mƙjPpOhMP,fcҺ VK8Sy6<6j= :hNU%CE|q"2r2@g*s׹RIZ`Ɓw"%j_xSbH -$j Ti22f9o0 䰈n> dקvB]I~ -Ե\ ^kÌ7OOwo/wW|Z6oHhhi "m## pqk~okmemV6F[z9ZtoZ T-9r~>սDa?ͺ-Crqb${_:{G.?6&rҮ"fX1{P۟)@#eiCk[zce}o (ymݷuZڿAh\d]ú$XEnΫ#n_Xu/Ki|-l~paem4z?=4$4c*uѵI#_i+蔢c+O]?PܹdC/ǵ5.[&>^>QC4й]u꧞ޤ 3<>B֯SRhk 1&/{·+^ sᣡRWq%P]nܥ1:X}ׇuXˋ5}oS93'8Fmfߟ5teꋽowo{c 57 ж{*T;8F^ +m굨7:0%~겋Xcኗ>>B??ڵGʕ?v'3(X^M{u=WKޝjoYۜ}O{+vOj@o'+^ܼZDsz,o[ұr[qۧnKlQW>dSۺaBSVRa!G?,۶9Rڛw>v=gd]>N\ !;!F'ΑU͛ѱ^1a=& JT==nrv)ócb6W^ouH>uSMӛQiN:>_J:/pGB%\l]{>86itm+t}h%{}Iͩ.?+r}P6#W ՞J2ھqVmc?Fm?g暑bJY* E="'Q_[ >!rK84?{} ۲vUoߩykԡnV 5n ISmF owheӥW_~qWYu?/iY}vS8ShgT{9`FԟA|6ƫ~rO\,b? 07+PE쇬y{HZOP T0A/Oy|׿$x^v;jE~'+M%_2ө4(֠g5 β+ҵԩE']2bKFTÓ3Sg*<:4$HhЫЂ{ͬnwެAVVqH=|<n7t6Yfª<4o$!X9["߫~+>F?8pyjԨ3txa_w^>)=n~ڎtLLjk:+h4)~C|zb Ke_~?/jcmUp__meǭf!5kZ=B*48cWiJr7k_箌_cvgG[^,aݫb֭߫4PJ]7,vcbT]a/YzrXH >Wm3Yڸ%u (նg)?xfNgFyCM-]uI.E:u]. εYQ~ԁ/9?nQW8 NTs^ejeVpc5X,XL[ R?3`(2wqwT/V4p;opB[~ ۶ .j~bh&ªRI8վCx(Vӯ|VD$NCeqUwnwGXW^7-M1Elcm 4b/ TVP@ΛzYtثK<ZYڗW>پfuEJD}u[IÆu>V6$'KfeeX9)Um}/h~*7/6[tى8,&!}a̛Vټ <ڸx4M7ZVSϘd]-+o>(j7lM܊[Tazv"/Y7i̇2;oq2U9ծ"g\Dwض^usu}u_,ζfO'wU{ޞZw.0*ܰe 1϶l4I=]QYe֯ 9g_wM{ RgGƇ?Yjo>\ߑתg^/kz flxfח.԰#W >٤֩f>{4&p]]ˁZWɎjks-͍WΝ qqz/gn0إe6N_\,kě痟x~3wNXuꇩuo֫Bj|]ܘ~6A'OΜ2\?1ANU77tBA.84ћm Ͽ3m5v]4-7βzrG 7 B*Nw ݨOZ;5Kfzom!/+;sQk&4].rsafq%씯f!}k6.EʮuMq(EY~"OJ7t`&[.: ªnѩSGvPp2K(ݮӡck'VҪ¥,oߐ>@3Iq,H{BN\l{UvX3uhFT%*l ~8:CȰe>|wp GJu.Xsq׃jsۛĨ-mz]nAt8Z*OH >QԦd Yx|pxyŚ 3 n3EؖyW&h!MJ98eliʞѡA޾MlXBxުPjSZ{֙Bmڍ\؁lOyk.+zXni7G_+0o6;~ZYnWfMtfk'yY :js,d$ٜ7U?nmқ5-iu?r^ܹ3u9ܛf:775 ' ;T?ѺL.~J/0B[Yt]3E{3]E}vΦs+%xnɯH5 B ~~K׳/ڧH7ƁUZ_C mZ⯫׀\]ax^ߵź_2Qvi5]Ӛt];.NQk..zϫW6X8{؍c5m}U %yp}'ޝ;|PSPkQ;ƞ\%MHâ~]zíjd|T%\fݳK}^߾ruF3v /P5kޭ<2t_lhtsr,!ҏTo[}bV?oXs {[yL/߶g}Dxzfc]6VoYuFvEJ}t{:[)XsKLZvp|kfo;ר𙶎뉕)R*??tUw*&~nw{FQly|x:߇O\qZx{ޒ.oXݙT!*e/qmMk.W^ҝЩd0/ ;S:wz5Ugo;pvv N}U>W1ն5ue|;`~ךW=;I=h' M=o9&v{.>^LM'EF#y[v~[5K7d(b*௽+OՊ>ܺo^Z;E7}U(=a蟻x ,9>d'OjiGF~2c渠~=#zU1mvu~.{WɎ-$oR_1'-ˊ8;+عz[?`IF8p]o֮Yoϥ_n8ٶ졏IO%7Coct6Q8dc.fev:vrU{:ɦ5t8h>}K]~|zāS;<2ʯm⣪?Ze:~-RjwsX(ihŶ-S;U/:=nyӭT.?[je:On!~zD\VB] _.6O{EyO=A_g[֪")1Uf4ѻ7nvFb9`v.oM#۵# U,]*IgdLyschk'[R`իǧ _ox8sՀwߞ႟N6kv~xaSgKf^R큏ilt6e9P=ǝVvϚh%-?,V(VA mJ"QJ1?/^? y?cT]g䔺36o:0rݔ_hc-J(x+zrV֕Z6dYuƤYB5>9owX =i<Tu\tZ0_#k)g\ M-XPug?Wߗѥ:f=za{{/6R7l7p\CƩ_zg}b?1KW'؋!5Gղ2lliz,qCC?32asy_ NhK^aA1=12 ՃOq~}l^' g9)g;U|ڙzNOkپzjX%}yKT?OU'Ywe3I ^UZW.~ڪذ̡{/=Yi[W~zA_wvߗ4ycs3ftg5oLyļOstٙC% ZՃճ"}}s3%r=jlKGglv:`+[aaӀ:CouOzvwV\zUWkTi{z \Ǹ)=BN.Uْ]|q*P:jEڥc53>xjjGyDž;sDG-|Iߛs5 f hJX/1珱& ^Ùe#6=e%p"zJ+oW<;?Ii0`n{m>߰ªݝ9_ޭXдMΟVD٭O:Mܼ3wfwѭaD0ge,ߞu*sIe!m[z뵻zի\j@c}~E.xva>[O}v=]υJrW[h[|tO}XЖ>(Tv3?=ﷰ#qǟߕPZMOxzZ۽O15/Gx2?eecVIs^7_PȥϼU/6gs륖]Yo*ܬaM%oxR_{+!q{*G3ޝB;{Z-9mͪըxٕ)^ԓScAn-rÓ-Pv˛D~9a۴ʳ[UHspΙWâ.m`z|ç5.Qu>%K7}KwCgߟ3랿/z&tٹ~~>Vw֙+}G1 rr|wX9Ϯ KQU!n_.% $9Ļf>WV͉Kߨ%=#Ԭu:oUϲu+Q`}b_ʟc?Qp*vէύ*~yXn\87%sڦG*:_-inf?YCs9mVKqF)sJ{h5WjgbB 51lkC}|;mɪ1Kť>l2쿶rҪ)׎k=^|hTuaj,Xd^uVxwYiQέ~=x/jv.ҬO;\[TJ>h|uj~.ё~InްhדfrǝG-.zqc&Z7~ukX7zeL;mz3zN\eӹL@OGUe6EI{np.633~\w]t-7])-Ҡ$M9u?ڤwx'լ*/îsOZhS_u'l<}*%O [wm]U}f>EsqvV +%~26tuxRa?7p:nN\Ctuihsۃ:YyپK߉%˧\ӁQMjme :}/yY>o j^ra# ܵeVqRw}ww?úkB&mK;WL1?^xߗ|#ǽP僩Y~Mu秶xc֗|Q;/čX$0nJޯݧQ#4⍏YڮNjӉ_}z?$W><-cq|Ô,4~dC"~nbվUuN>_5TF:.{C[߿d@α3li>ӾrUU7mk5b_YBEtJjğWMC?=Um6Q ~ixMrąv \hbUeXf-6D҄Б|x!Tq|a\Pn9oUI cJ.ÊG.>>]Ư}TM|.j֞f߭2ʖT:%L9i]yqϓM޾\Z (۹Ywf̫K33CLySb^JLWտ#T J>]P1e7)2=?hxv]զvR'ճ#X2,+_<{(me*e] NS*'o?sR~\vǞY#g_zcΎg^%ZkHfT;1"{Gkʖtʭ|\fnw#b팝^n5dz'}|MHKx^{rx?k.)v"G=o^r53+UλNou|vKyd1ﯾ|Eڔmnz嗊DUMM7j[V/NC5YC);[ӷi!Nz`Z@QC-9~jryZG{ey\ -*Y +ɤуs#1+ި|hy̎v{:Tf/<_QO~f߱ }ƫݪ޻yTVf!eJy{y޺Dtk˹\ uʟ E'n. )B/3./ٯB6J֬ _? y.KnZġgkY+^ױsVNK(A8NZm+k4>\7]v~%u9]>;ig7>-^Ӳ>IVHM^7SIVgi(2Y)ZfDz݆?;?^o'8_Pp㣞_7\j]qms!Fn|pÀ>mr0miW6n;]e2Y{ fqeAe;oxVᅞ;-ɎG6iQ |k}s[08+u)ЬI4==}Kܘh{i3}!KCȰm /rlG>ѾmߔB]+yrouC֝mzN+gkRa܃e)k.~ǫ|^TcO%?U|bW8Gl||÷O(s]"!-ήWKnruOVŏwӶVܩ?~ɂCfu:`H/szm){Fu8&NI˵EM ocäR(b~Nǽ>.u6y+.ZU:%՜Ǟmc[O䔶#o<^ɂrKFwjdݾ*5kgNr`|"w~\RX']UsOF=6P!U -r`54+ƾի^ ^HDsR݅}gWƽQHXV}Gi|.9%g޺Ym/^_o{bw?eAJ6~+b_b߻>跊AńFc=NkTs/̳(f[2zz{MmWGGc(QvAjqw۸k!z%ioC y慠|*lTq|=3m\묶UuPj:9=Y@7QiXEׂaku]#0zɓ?V=xԋ:jպ,-Zz񟲛;v~{{p͙{_eWߪ\S,7,M67`a?z%Qpa܂]Lz1^UO7ysPMɎMOYʭµ鸒~º*|ȪWg7OXblzC#3lSq m4o+P]q~MU_i#kp}_ eA{fݘ>7(}b W{%ה&^v*.5r/=귧C[LA*3w1=Ge>֫Vƹ} ̰n]߳w.GnKg|Y~n{^׎:ٮ+Zށ%=z׺d-|ݣsZikQk?9U p{+>8igO{#Gy?{#Gy?9~ϭ~_X)3ϻmy<_/Oy<_/OrAɊ?{|6+q T*zx񷥇m72|7WNaBףV/:`Ԋ;jpd:ove:B<\L4RnCGQsHY& rE@ָSYD};\^§f˜;xPʶdC{kÛae*4ߥ#lzs5D⋞k>76o`kŎ O{߳b+CJ]Bx~jcmևZ}+raD$Vh:ʅ&k"j.*flk92yW֑ ;yNEw >d~sxU'X UHjflHfk|'JGmoO*Y}8U65רA%b{d.cb:Nzx}ꒋ>n7S_-?Ed-9k:`vUϻvҰy!3.Βna7e֡k4~I+?bI`<8OxWm*:I(aտ,_{v^bف/\ʢ'\*4nFƷ3ӯTi`tՊUBz]YBzjF,fXhkF|*+g{iĹ\u#ߺᯭ#ֶNe 2Lsl]c=]GO&+v뽲znsN۳zj^=4GzkPaܜzc-G ~h}B|p~񂓋uinćO&fzYYQWu^ãBN QAF& W{yYXowN5 lYv?萊?>~ =&Rh^۽S^nǖa۝,psiOw*[sͮz~Q̡gwˏ\l̒aVm {5s5*@2V+GCGm~f{߭ǐ^N]HwF#u޳EeVi7qQQ:u 3e@]?sVQ ~VkU' MtofU=NW(k8X2qk{Ϲ#NTaoS?E򎩑~{)l~(jn=NN|_|Uݡk_5ߺXhp>:x[{-ek)Χ1wvmu.XzuKqZnXdolNtdI/wvhZ#滵NZ#۲p:kn㯨Jq+픲D}QI~2tO<*J7k{GX N>nݪzecm+»XYj K? ;ι{<Ɓ2V(q{m,?=fw+}w_1siu#.yeY*_Khov|p*ہ_OݎJ~(P݀2RK'kF&}G56[/\nY J aB߾nb uu=Zpy[Y%F}w__w[^طhj=o1}{bm@%B/uqzE Y킩/k;şPUh5SO~;GZr.&;;ifovXhkƕH?W[[ʆ/uoU~x>` > <]*ouk>ͮi.Rr=Tl]l#-8cҕ<;^NTm5VWK=1|GЦ.h죪ʧZ6WWQ>}VXfZ|n םﱰ||/sQwW4M/eUa^iN_6ܗrfu'/~>8h^b wZj/?Ǫ>UƤ[1h[N#Xn7#.]hMhQSjH߯ok3e>nĠ'{fpY[pcm^m5~5cW?޸qnGŗ-mmz5.]ӺuJtݿ?YvGonִe .xK? 63#OjV$zu˺GDL6#{~Ddj;w_~ڛ;VF/;~jIn{b?lmG~i5:T>{&aXNhӱdKn4)YmaYU\0I& bz{Nf{nO2$bXݝyWn5\̈́ɦʝ]SP.GƝwۈr|}eM.I]w~3;K|P+𔿫 g*=P7T1 6.QdE_Ӱ][o-{BWfU( &v[~V{2N <:i"u^^؎3ێzeFSԶv[^3 '7ߑ?咷K}[%Cm-s:w=/;Iox7 >?Fyc]Y*T-0 Wi{kT)u<@}7M蝮`綱~>l9,_)ֶot '9jw˷6-=ob&a}u<}|֯./;ķ߿iqrC^^o`/N>lM)ٓ1C+;z`>Sw-iԝ[,Xh݃Tޖ^IlpNDܮy6]c֞gf](9+,!ϞJӰS_{qWQ]z1k]gtĭH+uϏfwַ=-/>iA!sJSc]{LT;[Ȯvw:s[pd7vmh7ţ'c;Uج1p{U Z&yň\ixJkOO+u[~YV`r5IY_dX ?Vl uOc:U74=U=N6>˺^oL2mn"L?odrUћ?>a.S͎uqc&>z?lmyV3 U,}V7E)|Bw LYf9#cзj}_/oWg~($.ȶ槍lsf_VE^){߾ em.OeQvs f K^jţbU*vy~> -[ ?'){W;`@axpc80u5Y%=o%ή9tz{Y,T'&|[4o;9 }G|kk]K}s}ߍy\y}(Xܙ$d{+qM-neCW*y#[|_~wpM:1$%5q7+^}\/wJe|+'J0Y~KǢ3e}s[r%~k-p^>n^!E) 4&:U;ڽfT8poo>]QuX_.V®1ۂ8'-0ygJmeRV poں_bѺ {nc7iokAe>zVЊ{}4(zxw/l>]4rQWeg0) sE-t:'}vʁy\~рW7{>8B־pۤ Y||W8+5Qd<2fT7֏bnu]}fz^ٛ_<-v VPJnˆ\|WǴy.3u-5NفjV>-E;hw6-}58̘]2ȸ"w.gֱbS^IdT?09o<웆&V!{ـuʫbzU v3uFku4R|+Ý7gS>9˄uew6kS!IFP^vԃ> zJEkNvٻO *\}Xߛ5?3{+oXsqKӧ`GwSWճȷ˶~WJJiqDVFHuͽ)o_íZy+f~퇖Ѿo҇4
    SZ_~rn#U6U R0.[WhOmx>iu?5|9/5IFȉ$rt'2 8G1۬006B8L!|9&y>"z4YL*2mV Z[L.Qh%.%l79Doz-V4du X g^Tb6vV1Sfvc8'C@d6%z e-3;  9.aXLf11)ݤ^dVv[[ڙ,I&٠_:&914#?:Aa0ԍIk zK'@c Uo4Mؖ6}I2ZGR\nzg(lK fW*֍br*41Qօ `2UKe âE/xpjb<: mML`,F+Aq4_q^1cERі$ "=腧D|8@m`'X'xAjpLxPb+ԣL"%zCSn!d!2֢w:DbiUh>/`ܗ|Z;6F0[& ȗA<a' p0}* 6+_(Jnqz-W+FT)Qo(4[L RN=;b\ܧ\qȩ4l [8bh566,j`qD q.63`6aDCE"3Y&rDYqTIDŤwĘSM1@ŽǸL4)k  I*.58 &( t\%EA/ ḟ;]P)olډqN FS =J$5Lj6Kou!X8n A3zC|:;ؑ>zAcM.iLELF~B0)[$80ٸ` !YR* *&ۗ&,xVz@CFr-xFIP`#"], Aҍ,KȓjՠvsU)@Gj78TiũA)*, \ac*2z51<$ ?S1 92ʀ@wEO1?#x@PH m D#D4'UFcD/ )/"R 4*9Z6%x,dav7o4OR#1AcSCLxlZhZc: w`pe?>d>Uq" pZAC,Y-O2 eOɅ lE^M"/$(*o-Ec*%"$Qvf`.Z!ۜPQ;ke9#r2؛v3gs?x7рL1&^YSn%Hl5z-3Y@PW('$ 2դ'Pah+ĵx)XXd a$Ջ[oHٯl-$jbd`bуa5Y^EE q1etI 7q \ vefV[ra±%(ZE_(l5Xru0*I ;('BVĕ ESgd)z' "ߏ4Ago9dN8GRjp,[y3̒B8$+)+ic,ivzA]n؜8pTrPS-* A%gMHA3$*N)n3!9 "5: P X4GK^?\ьTo4M"h0xG%OF\08r<KQzb NjҪY>Sܘɨ"3!wDKGsHQ3K} _9PivUZچąv mJtKmm}@>mќh8r@@iJ ^ #`O қC-tᘇqï32zL6. EѼ6&zsAbOaW@4$hKIVN3(*`=3B2F |Y2%,J˓7ctsVSiYVYZn.S9[ϩ#_ ʅZۀuPB<(xT/'B"S &؏Ҏ ݩ;5r~\-|Q,Cx&:[pmj@8<0-43Lh}A- q;3x/4eAjW+BRϸ7,Tׅ` !$J4"Ϟ\CA@~ݘ=5sڜVXk~4r&(>BԴFR))rXCʯ&MJ' $UI%07$!>}Vw+o<k9N< ghK2QaL4Jܙr^0rU$Vn9Q",9{UrLjON̶fv(1_Vwܽh(i&K"bMr-EW@TTaO4-}Hl3x% 8nUHL d Y-y6u6=;Ph2x ]܉\љ \>z>Dhtl!/,{Nt߃0}w.^JyF_`K%%&Y 8̒ 0&ԤC )R+4.Dl zĴVcA7 l a6 OxWpblaĀQ>8Q ߣсo4;%$zlp[.Di[-AJNFq [q=wsp}+UD&f>$9\v%5%5Dg5g-n) $` ` 65'lC#AǛR=O >8G- #=+isH ?f{M:,lv:o#:i<5'!l}nq.1]fk6ll!!eNYLġ&Co4RIT_nzHa x@3 rm׻%U>/LmuG2rs qzx>ˋA1;Te LMC#X6J#]ʳz-[ C^ ̱V[# D].C]eT_Fqe4_`v,&i]:H)Au(-A-{y>>\!粞O=,eI ^=r衤)k|%)āHpJEi%RwL}+T:*)wA}t" A"Tx}PPS{`t# 8.`'ʀXQoS 8n,{1V t0 51ᬆOL-BihlliA΍6 vv@iYpBFDtYmDψz'klSEL'/j7%;`7-mn :PFѦX6xy&G! ^5SAv*$E$ɞP*yQ^+,B8M$:Br.5@h<!`p2XlVO \B& y@N9 uDp[| )5E)m*5a4$# :_^N D3K=sB,9aȋi$&P8hv]0'izn6?IH;`o z &ďBA9Ala z.2krJQxtShP>NM Rk1ŚFqGFA@QܫK}3O\$͈lRr&`.0"R M0##Ptf S+Ÿk*N3K&ږ"pP`hEC03kp7l C!^< <+IĂJ'{83Q2ID 1O hcZvPm It+:R1aq9ȊP3 .aaBhT-i90A-X@lK,VOnK) IdA:8PW*n0ŘS8LHeF,l=4NĄb} X$r7G1T0V>SjJ';BS"P@ _%NUJ  DX'M p% C A,-uC4R(Xd+KPBC X-1C؂֊q|AAbƠ`0CXCy.o"MsPB  /@тi! V@ N{e@,Tot A f#)YIuGV<$ |+3"rl';$rvLA`Q"Ǎ @H9~d ;2r@)9ԓglHs`_DMBkQ $ j r=A$kU AՒ!I4Z5 A%AuBt AV- Dwis#8w46GRԘ h0(ᇘ.i?TLpStN=MV5n 3"sazvv@qngg1V^^ǃōrsF؄toFEy'Klq;Ȅj|&"NJyGx)*AoI.(Ņ,faiŀfY#YsBR}=U=tԡ9ua/ L.Fgž9@raI\' LBD|*.,i^menSv "OSS܊1OAvק5 @pX noBQ(KIu`];,[PD a<;OH%gUIx7 A[T~bDZ"\ >SE94i/ L+k,윚Qc[&;&KOCGaSL]ZU @#PfHtd_]!_;NahjI ~2}%:+>>`^BAF3֊O%DQFEU|1s\ʞ\5#ߙ}j8[2g#4FJ { ~czw˜~ kکՕkEecVĚc;4vSz30bVKr*[ hwյᖜcB} FB{w`tAϦPgID8*ܗjx‚C nCW_oƂ?v)s^x1 V r A&^#sg ?BCDɾ|d} 襓$,1iGFm?T+ SKd=#06&j3ǹIFy[q态=κE E9L0^TA5^sB.F"I5d{QǨHIy06d1iBsAР8[u]hfJ@5ǬM"54/vO-͆\Hԥ\|]Y*-JF)DzmVs\1gsw$M=К9U  r{r$ɢ(T'MR]Pܝjx@ROHЧ$JM $`K .\C>vII,Bˊ8fU i^yW f;A4d1&$Ƈo;aƙ#!_RJh@h$#gƫ0CG[f~v< zi46IELq<]'),sH&h`nf|53h' ANJvB}a#ᑙ[:$>fVrq EmR4p>8/s,ft+H7 d :Plb9;fϱ!K/k#7<`ս LT: I@ ɐZr+:'w+Ҥ7P{hR]q3@'f?d 7\}N_luWמsy9=\Skq9=ci;گONQ1%]F:9mj.S2 Q*0樑w A-H{JŇ̅{g R(Ȍd“6<7QyUb͆˜KB38X Ѕ(; z"F 2a¸H9rh(%6o=[薕0&gd΁5i/`6 $χU+50pɇ(Ky}RnȰ3WdZ1> tn J(GS̛Mј@=枌P~_nRW`F 0:)NDK\y#a 9Q_;Rp.@5U++$3t™{ Eߨۢ@=;b]1Zrҋ-|oOqA\J%U"Zwbxo޴ohh'dOTǍ>CcCb1SK(}IN|2e9s-=Sn]@t(C 8//|S\OA3驡Ra˩t^$ P+zI kV]q^K`Mq=$[3D' 0((,7/ LRЉaKvzlxĄh cN !q6SmErR U'~E@ǜbl"$NDE\V)L,m#7 ^Nbn> +u Y0]P \|WAGN^&]qJ߿]Yhi\˥ՖZ(ߧIe^@aGJc7_tR]6J?t $< jv(Dzwc9*Rr3't~g#*H`Un_XN+Ļz E([J0 :-8^-6?YA2LDʕuxoZފjeuJ>ioxoFVeT\P%Ub2F 90j raeUAqr_r|"HJ]1Z0L ui܁ۢpzdԭt\= 0Ei4E&Q%{?cd7Ɵy, {B/%vsV S>Io: ˌV|!*9L&sGB.VI}ˣ &(bE>gUlFl00RRϓ\יD }dIZF:KVC&|rpt q" `[j RA#?§H(1!Mk=۬8Tsǝ)o+:Q5>#&Ӵg_\S6lۆa ᢎPrad5SiG'q VJ=&^\5+N#%' Rܦ Lz/RhU:8'%(A5(ƛZ`5n5)OKrтuAFyF3FbƞDP9RRV?%L^` yԼRS=T[L10Z=bK!Gz;c:(&$n'i&&RcV[#\=h`49 3"r&EfXT Xyj"ì[=ߺ`&`4QAE=8XMğt)cKz/?YAa"#C9K5X;~QX"aqCDkAcb +ۜ +4{P[ FH*#0]kFK`x ME_Ek8Y;<\G% 4d5pj&C`Wfjd@ZzcZCD8`b%!V`"'hÉMW'<-@*iI9Dw*ex|MXPc(1Efi#E8:qFAt؄G\C!}S*%8"߁rQll yY>WBewX}ǜ \h=̵D ()}#%.sMc%}A1{!dIF=FgDgSBjVLJ򙡢X6c}JT{Q1'c ncT q#"f$OX 2^c"'^s<h'K.Sa-9 -9K6xcwb&J[&ܼdibH!L25NV{:0-\a^ZP25O0z`px.XK%(<)'Ћ=hJ2Ldbm`pjw9xE?]62A!lT^5xD ŊՉ2ژ@gTA5O1bf!m+sJ"V00kX6x0oFJl]p'ڧwPgX8A@he`:&umRdi#8fz»<“`: #0kS#zxqoZ;[%;B=Z>K)b;N&ROJR4حe֭;;ì:@_c,1y )@n`4ŀd$HD0.`'d.onj527\07w.1qvED F60#6 =[ؔі@;%tj܅Lx Bzȍ~E(={o1yA}9']Jr~XpnOlH\qn0 /)b qiWOohqCOS%||Q fߓYCLC#`^=l %`<?!IV2¿I+c4>!\@1!X HJoBqSےsZu!nKi)ׅ-|NK.m)sZ l pb8/frZ`xp L-z,8l6>g[!a|0yBZBp,CQc5SёҮtE8NE"!w1S'hjT\Yٻ0Ps$`<B@]=?ynՄrF<^?Pk/tB.۝asH<6[XfH_ =)r @4Dtoʾ<j VI[D5JGXY4XM!ϯR+bF_A?t!OPN}TiULUkNURC(iùqM7_MDC"2@00VD}C6튃V6a_l'&лr" ) @r9 vF6G,m5'5I?&:_iq[-@+m4| ޚ],`FT糽6 >82jsՏ2a866el;Th$D\ x 30J7[!i#Xo4/AYj[${?Tih HtGہm.3PEYdN퀗S Dig$ VD+ arM=@ǧEt4y&"vH9UPhG$L i˄O!4nr@;((0X$Eʋ($5y Nh#$XA_iJE`  T]"B4Nv&G Gb>H!zB_CsjsE:@[V3Ae Rot Wqu E)8 2R%hrjK㇎Zd.jqm"!"}(FVz]tpbƎY4C* 1Q5Єd%C[x $ +%p<%qf#IcPפ-"1((dt@O!K(v kEt-uG4n3=TZtJC R4\mn7v$lvH}@dZtku TKHtE= StA;,pm4κ^bAj ,v /@-5#CECpd~% X[z0D4c %QͶآA _L S dd%Sʗf>iO'-I| `>2OȶRHiĵ'ŽF{7KP=NO4ZPDx)MEJC*l` 7<WQ͝@g;t:FAQsF_``4,ZPb YJ%-&H% m)J)m>0>O4HTTJJ!r-43L/KiL 'R)P0e[9Z0[B#n} XMQ`G-E5Ln(|'@q)XVֈZ!)PF#V쯒DB'*%JS"PD8@!M ą| Ӻ!Nq)x,A%xb(`F - _ c Z+C J#P c :H - zXA4AxA 370E ZHP3XQA4 F@;!Nvc@0SR d@1 Ihd&KX(0$D[0" gDNvH10q AG" aE;0rvd両Sr')ȅӑ砏8(A Q $ j_qMTXJVT- "D@#U#Y_T'D@'@4HXjab`7zoq7IsGBRԘ h0(ᇘ.i?TLpStN=MV5n 3"saa()avvP`+YFT/nN9,vv`qs&s0 wڹTxw,Jɝw Kǐ;%#ɝH$QJv7dաuh6aߢ1mH#Yh6N`dF2/xpφ>P-E{Ԯbv(H~4ph2wމѽMƞv-!3}_͘גo\0T Vd3Z`D[)Uh4_ c!:uR8D],2EA'Mp} 9&߈)E9%xq;ؘ1dSc48_(7ߤTPASj!6 <⬈*Fsb㨣~<3^|<9 yD$NpY4U L:1;@7C= 2n>a)jh)u8q5'-$;E==NG"QڅǘL08脓hH2ᾢc SAp=㴢WtL/Ws{&SX')11 QoDqi <%A} ;'i5D%dQ@/ 52|AV{ ar!0熙^Rq~be.XKi&}PĴ/tlIJ˟ljBи&(. CA0KPKAؠ՜{9mZ CM r=K}aGtMtftsmCt qS8^t!cEMj\MMͯ!ZV:oσ*s}ą"ϟ|'%`r:cT%8L$q'XF{~ŽWJqur1I| dA 6/G/hpx?9 KVyRԲ6@E̻H&*K/\s LhsJ8i!}BRpҐu0y /x\l=\f bW|Ì"ga}(!W8v F"4hA]p BpH3)av6Pj a뤷u)Akaf;5i6MɿQh6ħkT*jgI.]_0,\ xr#f]*JpZBέXod\!L~Qv%4\+OIZbQLdxKd!%A|-vD,:*XOՂVU.覗SC' !EmAj/V'mXN2hE yT;VJo9!0t Ra:yRaC<˹N{?oAǣ-nWr;0$gW$9uМ5v+rIǑƐS+"g՚\˙\#'H@7H\cʔ(+! #*w"2.}r)zt1ϽXj86NxH͈2䘖)M ΫR%u46 6&y]g.Wh/P +W:zs˅V(gy}PFR^,GJL~M@8 zjOUˏF=~$/ɷ-1y>P$Sbpt‡%MaxV9*r:J[m)oe^Dm*U0IglJdw\Lo,,ר=T s\\Džy#aQf E*4m]Wq;qzU+~: ^ ΐ1JrL^D~nE쿊wa\MK.,Rq#理tIc=A%"Zwb/xq|Koht8 + |yy~X/=T$9#:9Lb"װ"^,MAfƱ4ydPmKi.~(5j{Xg'݌tEpS ۰xa11侮^r IH& !$)u0IbVI&lChu_粢E/|4 J vwgc m]D*.a\8  ٗJEk|>=9@(,twW  UQ7Qd7y;&Л@Sc j0Zgòzj_)l]HtH_'a/`шo{ߚݗO&VsW=P{$Amf:BPo!,©.4"fg"l [5fÕUn hV fc3QLEɬd;GѠh#CC(tCTc~C`#E2YWXqTA(>" U'~MPYrl(sN \XxL72Dd{-3vƙH⢮RyAY0\pQ'\3kAi)CN&oSK!ӈ?LȱUEV8q.*nqdAsv#ȦMM?Ț*,u8OmIU|5?H {'j7{E Gg'27TTat:/ͨDx4HZ I6i_D vF凌aƧ) :Q-Ŗ>äMA5m++ /VqAt3O80G4%`*h. brD_ج/1'XsY-7 HYG=wLb VƯb5Y9^{q-N0EuJyɵyʤFЪ4u0[ߤPq "ojh'ht``hz6Oto.vL~j$؍KK9i,ɦ&ٴ铃ؒZ#pį!2&b}n!訇ڸUo5 hUȉ͢:Ν<"6:m‚V&hn79 z'u$;娹p xMLI6݃>{ҩ6޺C᜔~D&4B(>n:DbGp;ZcItqw $g^H;gPN9'> "ٌ;i̢!45rQߛ= Yu<+|k9{.ܰ0[ϟ(T,rGҩiKJxfwb&J :y}9ǧ%0#8]Q8kmb) )mX'sh )֘T\K0?D:$f~<[eq4mX!Ll"zVd 2Y!DT^!kD@lz31DS%yb >`&/.RpV'eLdN''uNі_ɁMhy'k.2hxU7 \3Lvwxr\ l!66qb%)\ԟbD":-u Tg Z8S+ 9Q$Jhi(uxeSsb*.h#$" tg~zEqљ\/GQBE(k)?'d_/b$9V jЇR+.!%%  &,//$\!>(!wc$CƟyXu0lY9DQy)?D6g/v\o`\¨2$0MD6׈n4@s2N-5FkO6񏧵*>0O=#'{޻ NK4Ǹ;j@g6Q Qo/ y>(ˆM<7٘$nq$' 2ItnN6NP"zuh-)B[| s#פK/[ 0@yoh]qf'a5NPcO×~X%e >d&&_}Ǹ2#Q#;jqzKzgFQ .g@1t9? ~-Ca-yN٦A&T\XJ,P flH6:d*ɫfʼn!fn nR"Ga2J q2nTZ2D8Ekݡ3cBnK|(8Dki`&Y` d¦[ˮ[w"w&"A3jdk`20% \Cnh\zBєd62S}eK&rGߣF.G0Z9I0!:i;b5Jp !D$Q +*)OŹ12$hH1JPbsUTada`،Z<.SD`"-v+?Y*^;pxG z0 w#e% H3QPÊxF}jDO oj-N@~_!}.#kBNnvLivR4\[4Ot{ je{.0ע(&lnj4ŀd$;`\^*N\I&;&6c*w.1ù#Mi|P,uzN;U =@E(+swJ>_I.g-  (YРۋC`eU|?%s0ug D&I w1g"*KN/O rWXsO r\ #t, |EPbN(RAOG&kzKGRBܖR q[}NK.m)sZu!nKR`iIKFiBv>lZG- 2)p5~@(`iy'jͿoC b /vLG(/_D]GK߫ev3scnJ F#b*ŬWk0G#xxw@`ZH A. _Ip&C>۾:_w'k)Rj.B-f+LўIN5gڌ(}y\=zyxqgch8" 72 >z^ ܂3cQX@f#Ԏ-[RffC<[O\ŐCfn@ڰ~J=xc2ZbiQ`}kQٗD'F/{D?kC ~t:9(d*ZtZ\Pl~@9@P\5N">ԻQ'FI8{ 9a/Ճ%$>r @?&ͧn;mG-ƕ ԆOkTNr;&=`T},q.=ϮHE7 X$ Ac;m"LptlBtg Uh I B@p&GɨW`B| DHv4D\s4 %с,*kLu@1E`Q;S@)=, m1 dwؒjg]UJ8财'Tŕ*J;> %^2%dHU-.DQ;lbzK>IPVL,jqقq-7Dnjg3כn@0;-$~{Ý`O7y+99oKDXs[]|>o[F&5UhS'J%@pb*ՠYo9 pss{@X29R %=:GH`z =IA]6 dnj۹dmP/}$ؿHER#,c۪D5& 06%(#S|pAw $ zFfD)I?{umڪcyjNiV HE)_# gVʭnF 3L43{&x< o]BP/teVLjB!dnANX#K)۩%XmTh>P55#\ ccH'@jW9RHsFą!fTzl6pUmBqA0#v;h:bSE֣Ay`]huE(RO} 6$rd &K j8cBUݚ\y\Ѓ BnP{;=h=m%42samEr]h nWn";apS'OЃNŬ >(%K/gwDE!AoR].`IZbXڻ-v~EJ40(U Deq0 2 RB@ M1/A~6ȻFs ؃G~ 8H ڍm;u'ښ;@9bOХhX ,bЍ€hK !Lfy#pj >_A~!矃 H fJRʖlB?HMH3Ld$&Ŀs_ 6Q p)CP)Ai%^ TZHER2d"yvCZ8p4g]MB + E'mn'ͭ`3+tp&CH(]Y7&0?d0t9NBΖ cH}Asڿ9Fq* Bc\W7~V_iOj ?9gsMXYJ&?j'šh_~|xT+ :X `Cfe/sX% lu*F[4vJ?Yf)v!]b&oZ0hoi30u)0 d׬iSS &HIX)MjڃgدVcLpVm(I-E:Y Ҫ ?O3ҧȭNV,>v5v1mѨG5FJeFJnhZU:F]jh`ZԶgLVPCWmiK~GLpPJ\AB h'k'@ZM l)񟍶ܔTPqSxHc?nb"QL>1,ڔ fȗF4/|iK#a\@͹ k)+T@ ,PpB.t_Ux_WTTWJ:*TU~F*~z 5)Tp"E+VaՊUsU&+]8%[:Oyrvjdy A?. O| ,THb`M)Y<͟@A,ejB /T+qir]?v )R|*ש[~Z]@`PpV۴mM=z~۫h3wI)8lO?2b&OΙ;ojoرs={?pgΞ;7oݾsg_|w_yd?~ʛ?`M*X&K!}bZ k1ۋh>:qhW<]C=]dž|VϘ:/+/|edǬ~t^7QO..2ʰYixbM==Hٰ:V٬O^m{nY'.d{}BYؗWv+K-Tuz^~hۇg:eQ#X#G?Y&Ⱦ>wsxv9 ?o|^6K/eRK/eח-ms)?~tL]nV&w+ʲ; h|e&ݗk{tP;Fv⃚W}k7[#No2-:Xl[.M*l}Sy4mnۜ:K]{Vk&ز B_S6 zzإGc;¹-G}WFЩ+kF}-gêOlmՊ/ワwښ}tAIic& 8ö=f[<C>߷^psLIWqwm}wqG/=^h Zn5߼)<.ZտC7^'G76Pĭ-OR;㚼rWg3u!EmIt/N刯iؠɗmdmG o'|h9.xr6(葭W:tAnr̮ڡ;k:>9ڏV-/Rnso+UV|FєY7o>(rϳa+,%˷ؙN{~=甊g߷ֺe_֚:"E_ڭEww'\;\|of'.l\Vy5DM; i,M5P9_/Wlz:NJF)8!dd7^dl 2nS~ebѥ[Zl7ͫUW7:]]yϑɗ.Xz2f䇧|A>~fr؊ߵN+ZY1r5V/~֋_~> ?nq]{__l[v*+Egtg m{c]jwv5 ќ:Vh.)ҾUGFm*&̩S5kߨݛ^X3otFrvIeZ';juLl+rՉ^˗5rڷCT({K)5R?nl2qk_;|.Hr/Ƅ;6,/%"X^qMomBϗ[^ u͛45׌v/teʻK>M>d~΂?jyڴlXpyirdrIFo.wNf?21o*bZN:]:OLL`B];}a nV>z߷kܹr˼\_qwqgCFd쓫W\s鷷s|$i#yȣ* {ěL~y^s]cC'lUGNLw'U:SvxxĂ+S\ǫߟ|w&]xEA>pyaxr%,! MR#LJofx~ ipjorQbumg):^f߷-8XAJ)ߞ ֙9dO=[̳V'+͙EV< lerLlTKw0Շ%{OXxvlB#7>3Rv{NMcW,by,hguc֝uY ݑk  uuNylʨV\춇SU]MO+rddtN\3Eߖ]ڇw`MA=4jaK+~y '.:w~w)=Ƕ:+q?M"Z}۪^]'pt}eO֛Fshܞ-{.{YwdSgL\;*ڍ,/+|sՈYli6Y*!`Zg[^9KZqdpwE;x b(>aX@x*.zjq>okX 0}u4Ww3U~0<ɈK'~Pxw:lM})f~;KgU' 7@SU4+njঽUj";aW [ԛ3eRfM͑R(d򙕿OzVeGKUݧR;kJt;C^E=NQ31c;gb<m@ٶ?;ݙ-iz~B"#Vz;N_4ۺiKs*W#Oi#[կ3-loWYUƧTK;=mʖ'Y?%X^vjYhO(Ҩ/|{rMfґߞ=ygcYڬ_% ;yȣXӳٱNG#J8:Є%NȑY<ߒF=82yMF-p {[=Yrw@G۔NǶsߵQᑫ>9NoŷIpRBƽ־'H7<-|"?Qj̭4o(놣QR.w׏nˑ7#w̾ 4Q|EE WoX3F U{ɽC'1?}f̗#o/io䟾^J&+OeUyZ؝zy쏈| N9E `ЭO 蹊bWkZ.ۓykgJ_|M8\jwc:xwZ&x7ؿ/53S]kK\0MkјǮ7?߭dv\˲M[wKkțB#sdwNhOGwc}ڴ.QN7vxZjãC)wZ҂ 3/>Ykm꩓[_p4JJr̽ۆOɁu{tXa׷6~smO~=aru>Tʸ3x~ܝXg ~Xw*mMb)N^֨늩Sb?Oڿ O=e݄kjY\GN̚}4#ݩkvu{SkxzVЫۙo״]9\g7>~vV5rdVmallN/~%/[Ygv)v׵}tOGvi;KbLvN{j")Il^ {j4wNYg6ѕANIjf(Y3ˆ?.'O]x; z߻㫍pvu֪|ٵzno헣ƷɮczǵwRu&~\geKKvBrų_~?mQ'8Cm}[ϻ7rdcӟs4.]|ߚ= kjyeI kUƯNwQZjoՖP%n[U'ncZ>L|oϓ8s͌տ6 նƭvTL,|jRo7M:uKH+ {X| ?qasWD8W/uR2`o Z#㳫n/bbK/̫Ҿ:Y#3r.S[-h2ZB^-g^|E'g6\ծ_sFzvɰzT˺WNvCR1۪Q݊YYfʺ6n.W(+V]ҠbӁF>K]k,qfǖ.>kv̆2c]o[ 7sۮ߆2{ᥞ٪Uk\ᗯjwWNl֌Y7:'v^M߭u?<9}¾+gʸWJ#L|ްu㘐LՌ:~+W0qȖŕC 7s>4I,to/ۇnmw J.Lxyw*01Υ`13ֆׇ &ΜzaC+NʯiDjv6rQ[JF]lw_xzD{ǎ[q0v |[Uz.ޯ0j{f j畓*?Hz|=}* 6T[yiE֮Y/][f;W袛6(Ze-GvƇ?nW0N7ɋn|!jw̲_"C-}20߲ wjyKUfmϧnhSg6Y?k; wuW4Zoo~_/phČU4R8_S}3F+_W_':;-v 70ϚVUVlR(9esdfgKkⲃNVwj3$ϊN>lje䶊['ي8f`| eYg_9~7l{ZNxZ1gg#3O( {xxy͞M;Z:ן͍f{[6vc)|Vڌ)=6ypMz.5X3m@ \lCɲܑZ칚Ś,^Չ]_=f֓KLF Kݦv*d]{5y9 F֘UeCq"wK?GM ?ny~gkɷeΊ?,~%9B6TGdGN=T.nŴL-\T'ijU?ŕ9u6ٔM#i볢>쾪3gnvъ)/TiuMQ:`}^#jAo_;p/*b7{k_8gh53[%W_`ۗglb_[;q۴`z8ݙt⡇7rƀc*qNzkCz竕?sfٿ6!+w /a /?,mƌ#:oĔY/'\z=9֞VS=*ß-57mha% ׭:&/XاJCmK(,GךTu؍5oL.Tŕ6I}sd +*FN_'w>$v՚T4Ve mwVn[NgDӥbYc_9.LapKm ݾuMOSηSW}5zjFvu'ylp{UKwc~zl߿rBZ0_vصw7SKuNruVΑ3?5O꼙n.OJWL.vuw,gozN4Sm_2zx}uӏ*vGf 5uصٗo| o齈I_/mT>#]oǔ+Kho9Wuk6@gb#+#oʼnUoKw N[cZaL]݊wtl j.rrCR>,:]I\3ӧRՅ xY vZ_އ&y3u~ߑyo| +_VDs1}„.9nY؆)0tuT~d{wʡӃNOϑv#`$kqWY˃sdWwD}^ظ/*lDpKҥv~lqXw˔=wlv9]rdE # ]ɑΑ][K`;M-fVe7K5jPȒ4~勶jWXp%@#+y@5*}G9crdn};ÉO*KUPU92u=յHѸݍf:;闗Oeł?wgvQJgR!GWgdmKǡsd#aea^a72Y~FT;GzuEV`P1.:zAmm̟鞧 Xr1Qn'*Sx<@zp예ZTqxE}o֓)C]w]SW^scyLΚ7׵7L_7z~`"Gs~|s17=ۜ9puv}Ȃ5y;)0î{ү.;|}{vo~ڬa5j6bҕS/|nTyc E^1>p1kNnNHZa͓ kl@gNo97g_볻̅Z(77iV}S㙲|/MrP+Vv;Ms'X]/4cu5uiHsꄍZx!I:b8#Kom\vɊmFcTg)G{OM7ulfG2GvşYL;d)u.p{qΟaLPM=`&|貴oWUVٷR*]}{ߥf+m7+V%o[1ℓ#+T"9tր=#zM-<տߤꯪ85at=WSŜ%MLf֕kMxaoejCkFvlU۹2MTJ:FV34duN8UiMFU%)| ]uƆgYN]Yy[z#W>f6:fo+B迢q y󊻳;^|6_b`UWT.zӳC}UwK5XP+_pʓg T%7yOݧO+Cb[=T!q#.'~ 6*][[ u1M||E;k99z^iNr˨Qɻ]A/lUs[{q·{%^,=#Kɑf ro˻cZ^[2kW̭y}%~ZwRcy ro-LJMh ה;]ԩZ]I:`L9~k7ç1Ƿ~tQ^Y$t[?M.l8~h` w{ߟf'6s[_;jM1/*8=Lc뷬 ?^n/c9wj/z&5 cV3>aR}ܶD^ܴӪ5뵍|e*:<Kgztf7]{pɕM=ZU(O>;"ßr~K>5ziom':5|7mn{IGn[3"eȒFm[zygAQwN^8y1g*~d[TLKA&ҪlrX{>̑OhFiwOu_y`х:CO*8Fvc>Zgm}M1y 髭yq3JyMsoN׽=paUѺIM}ϣaɯrd߄MXײփ#v嚑ߵׇ;|Ti2Hwݭg]\ڵj]&ؿ09oo:=ݽNy2f}ߗӖ˦$b!-uge!}Xuj}~B=d -{aUȦ ȑ ˑ=W92t dY㎠Yy;V? n* T˦-͕k+оBu} E;_4c˖] Oȫ> *L35j 8_:3_:3_:3_:3?Lo'ͺl^o_~/lj6~wJ֭^Όz~]?|>n(0mȑ͊:1Rw!ʏ L=(bYӭd4ƊD^YwӢ>Yԉ<_Pl|խϑݙ8.pc kدfF*r.*}5~ڴ{jpv۳v\կ4|#k즯k?}S3ͫ <~3D_в+_4;)Po'ɍ'{8_l=.$L3͒I=MW/ci:ݶocpw^Ϸ6-Ʈ9;^~tiUHiضE#%3{'Z=J{kÎ؃7i4%ջd/~pZfzƣ [qëeWTֹ2Ƅn^p;Y[ը/ďԵʢ-_3TiFkڽ޺lLEw>xh龦z+F2*[ߺ/e9)wΞP}>OQƤ)O;ch|ͲSg\nL+x|F혶0es#}hV YLbČyՇ-I Tk{^xeO(~۟}ʔm3<;4}gq/]Qn<bkfb%/hh^F(v.~q=[Y}N+N-33n4{GZjOnI[^I0W'鯆\S.{o(3_ﭺu2|ӴD>_}r[tLE?7(:na^],skwgZTw+_1uT\=}ـ#b+}\=VW[s^>kd36x?ŞQo8u_J*cS q}הض9kAӟWy&zO'_nN=^׍+5{XqfH{*i>:yٻ3/_~>] q!}uOV٧ ]4 ۼӶuKfN>pqۛt,fh;m3M nW{sC&lW"~g }~fO5[220<R>qb&{~]u9]WLh* yvFa~?b԰.ܪu;:o09UFYk[4Ԩ_oÉ9^vaŒ_W~WN/}Z,GTc7Ⱥ tyjѷ%WtſcSzL6f0hIꍒ.6)oVUfWtSvM=zK; 1_{pוVT~K+]WeQiTFHͮs9YGe2ɺ}r|oyv+4.2ˬ;- 7*]_['%߮͜O-gZ#mq-"{? ~3HhFݸJG(e׫mymާ:nvߊ6߽{5[Ȗ7ok.4?mڅR~tmcrt ۚE?=~LoͯV3~gmYŌ^}+\)yl@31\Fu/~ՅYަ?5dsZ]W.QS{l!Sef<;hUVٞgut%twiC-`IFwᬼd}"o_ҼAw̟q+[>f~xfoX]Ů7yC&T8;⏮qΘLS6QN^t1s6Wl 1_Q>ju򇮬dˇ<ݾ~==~ǖ:'[Wqneev̪&;4ýf>Ql=.t]cknXmߑO743{79eՔ5nFy;q mu]ڒCg6;1~?:fE'Cww $a }K}ko}U]cVtTM @Œ;KsqE:vߨALHڭT`Bq mEt "d,@D}>w͝sgi6SΆ:i{8S"_†gqp&Y<<+{06u P1JlJh h ?6cВ27%.i2)eibCH)#hC 0?;zi"5_V3J +3j[A_ԩv8vr @KT6"ib9 +lt}7s2JnNAP N#=?!ܒ lBiSKZE 埀B`R@?ygw{7#em[bc7%Tf߾g;#lؗ_1GBC1"ܽԀDŽ+1tKA%HP G2w3: =H[|)֡@=g'$k%hfЊG2և'^7B[G AH~'I؁ _f%dcL S "*(<=ƷP#a TO zlϤj/'ȗU7j¼rj|$)e@!4a[Q'>yZqZ&ԩ* GXE˝>عwjs˽8B3CG]s= q L?.‼8Хky[ϡ-ʫjJOfݚdJSfԙOYaC9w$3tZ3`}_?|PZ jj" 98S`\}:V@b]=7,#Ynt`~3\xBeMZt>0V#!Aty q^Wg P$y#3*bUډfD_}e^QڂD]w|zWTYps$Cb\wccmm5;5m(/F1)QaF׽2פ5(;&/ZQug$a"#%ms}xO |h/!u:u*L-r Bm9Ld^q8E^jhkL!9X|If(ҙsޱv==rr ,s3yeP4 ֙\đMa8D{t`}m=% 'm>-mFUc]徇q]фkb4_',CGX,}ޢzVPҹꇜ)^$J-ؓV{aQu6lZ\u/N/nVU]5y3X\OY{;UD)bi#5ot)xׅZ=UI92Kkwbx֊?dd'TXSS?25jglD+* @kv.~0{38heSَ-[Gͷ>;F\XcG[%e%ki^Bha2eRyGZz֩3Ic2 }VIl^wy{'rpUIz,' I:Eylsuꃆz)5]#r6GHLN.,vvPg^,s~``b(J?i*? ao%-?+í\VZy&~qW]ِ/Xk`ىSq zYKH I mkgc`e2꫏v gՍfR6C Y8Xns{߀̖dv'e .2U!F\ [""Yw. ;G88%6P(ωkNGNwy+t! .O)F(x(6.v*(dN)>'dqM=6ESϲtg1 DcQRJ C:3Mk ehS`(Rpǭ0uG)-0..3m-6 ^T~e]Y-,Y>ݏP`6Az'fO6bMX/9sE^)']! \CSNơ~DQۚ)5-v/q!zqڊ3yNmm \sq۱3j}ESv r76x$ ߫&<|ӓ>w;?,o'_Uޡ5B`|.z!r,8ftkyuŕAàp lE9;T_Wo6,$0ouBk&ݪR6$NE;NthGΎ.}҆ĔCE8U]3g`̲7C''.61Sc~\w{\mjwmf8Fg__@p-ˣGKy(Pw&i+tU3X6Ƕs.=ݢYU4 g;*-H—lN44ty09m whcݷ늃-Kw\vO ʑݓUIӈ9^HL^`/^+JsbfWd$j +wPX`9egihofhي=PC=ytL=&l]:{0}T0ΔeAdjhɯO@%8C5?LXF]y9s8m5, S:Z @-5KAh"voi|PNrFcf u3JU&7*NQm /ro4OhUĽ^V)8}okzۦf贀jzZܬ=$_Oeߍˉ C;;yXxCra/we"t9!AUmC1l(`&#3}LhRL@4rq ҥTڱ<^%VkW $ZT@@ TWQKp!y=gJ̊X/w8*y&L ,+*PY?ɰVPN0dU4H(>]` `"E+6O>+0:—,% ӺY%2~u3i˞a a:FnRq}oPzY׍`T E Tv<FCOXoV;\.*yU^jQ`I,ۘNSn^ W_! oވ:/L+2H1;0*KE'LE#<ބΩ ?l* Wc!%RJl7iO-Q2]xÇ۴ _OHE4jH涅,$ AOIűղߋc+t_tNʲ1 ;u:a<8)g rˬ3 "H%q03esu[/Z(L@a@&Ux&ŚghL ӭd:N޹XS'Hg`! xs4ʸy}>S}uQ*,L}n{uuQ)$0#zZ[΁oCF/?1vS .ЊP(, Wf{j)l(kK:zFF!8Ȱt})|a4*;iGi _m!a¿]k~׊`#yWx$hL<7|_$+-LGА #C㵡AWU3T5_O`Q T 57k a>D t9&VHM]>gb4T2D(L}$R1oCGE`p2T?QHp}$I2HqC J1o_sƘ<Ѽw.haQ' -t9emF9P]c:}578"[x!_g~bg0ԯ JYfa` ݓ В&@QOEi1JX1rSFt0?Y/KkBƖuSMw (m/-3[|1ثg{>IDOagC( 6^y]^89_Ty縵YMapK> l:]􎧚sy?r(5rR/HVWU/.Wt}bt% :{"q"4 ?1\ZY#y@iTY jǾÙϊއ!︆pIʤߣeQ%O-EYz'oR!ace[ 5ֿ?fR-H~rpflfo` [ [O"xUkYD-kip X%i>=*RձKCTc̬ggBi"0R |HDEns d8m?Zь(hANt[Q;rRt# "sv, g8[NY ClIR= 9ln?cR!;yb?ĭ)|ħS\?מD/XNydܔ@]>ڛH]^ Byp"h[[X((#=D!4c2/IV]܂tϑ=tQjԚUl5DҀ-NHN@BڄWϝi4x[m+aF88*0|&֚2 |c}k.P lMkrf۷s}{1%L[~< +4KH)uuO{m37,'qɯK/kߔjĘgO0/\+tS缶XDZYAkBwRw'd-6H .Rm,܅)S4 :$M ~3MVt AY+.^]/0+ZD@$Oп=VbAA<xӭ]5f6Ѳ:#y' ^@䨯r / 0C|So8SW$/JUX>Q8PE- h}_^W;j w* 4UxPj 8.UYPX`:eX{Pz-{SL.P$vHO:ezrqA{hг,{onkf*XlV+y̅u<+++h o'J]WzKbV AfWVn}s3bzF)Ј"Y 7#ٳI aq)ZllB*2ʚ߰beӊd,y}/Dnj|P\-M۞f/0oJdο쒚?)pڍwgؔ'_Kr̆yɪ%™lPp*a[ցJA@"=ϲ&t4]Hhܙح w9Ȥޟ/H4 W|ڝC 4'[(ZI<* 1$?[$MR Wʋ#YEIM:i IbT+)YZU#Ux1ÒSXpE&'onju('*f wX{lFHi 6VHvym]r$"3r[͐9ܝj5Ev%Dw{.-ѐzkQQ,PujՎW^=˧~&9b IUV .0K,g] eg;UVHjUqQԒ]RueeMiEX""sfIaZK ENN.6/&e,ܽ^T٢=BRTHd|+"BCE9K&V +ɖmU(.soZĤʴ.lmw֚ %龵,y }p^"k\x=f挘oI1=D(W\.v751G?BMthaR-jUt` :MU5s`"7A?UWF~g=8Aʁ fVNPu?O^_mU%>qsJC(T*M;?i޹"K[wi6LCFh@F'[Ѡ@4oKR2QJ]I7س4'{p rKr8R>=ږRH{:~^8Aclj r-|^ZH>E_蓢u3yk69h #.ZAy}3Ţ|i5Xqm3yN[^$ YtdZa2dx7,2xXڟ%XTyx/E寵GѲgFJ=8!'*17O(P7o'[PS[|Sc؂WOhdv:8$es112vs<\ ҋrں, LD/6aCl(`6A>UrR@P$#~˗=V~2&"9!؂ 콶ce]Y?oV{"6zXgqȡ)kH~11)O=ђv< )LU+ÏR|ԂO+%K4FŚM26qyQb?{zV]arCc߉Cf9Hj\fM¯#Mf?輗b% ۰kg2.YͨSgtu/"=gzȲ4lNBc;B{۠,cy3$4*_[gB2^E\>osFd|8&Q4lSG"0;Ub(bifqܹ30t|jb?~G-Γ=]Ns҂z+Mϸ^ȳ{UHX<0*,cB۞~μa )c5c^GT&a xi w4`1ums. ǥ`6{(0|, il?1Kګ.i/RQM )_y*=9Gl%FLEHtw Ǚu>Ѽ\?Xqޠds5E껵$'{QNrEAr4wXcel<҄VZHf,DOju 3QU凎h,yHCGՑ0}kKb*dj!  up4][N!=3؊Dtೞulx,Xl:_)hDr{1y!mMc dʭxflsbT)+ ZoqxZcW5zuqM]qTjY NߩოQCےH4yZ(TZ.@ Ǵ$1vUMuRN]~ykI.-KSKӶg/,nrd_`%% 9:Yԛ41{4ӣjA&L-}c9wK!w7JƋ_wxFc+! "<%tq@ 񥁝V?{D>4#pq Q&:;#8"oS|f8EyBxh 5 O'`дK!=dCiu^-2Ik1A0I_zKB xVtN GrKIQEX뭖SRuĖ*ZyI;g3w 9,~9T (*?\x_*;ɚo4,_# >{DLWǮ\#`VB#rCە}֢USLc h*|bS|b`x][E!8| V1)+7o+LhֱƼ%V54Q*yG%Y֏ZrɖشU h,H_R&kt޺&z y$MG/Y솂zR=f8;7SP`jVvl6iݨqUsǾ֢YcdBljLHZ4t#3nu[_7Ԇ۹EuzdV\Tquc6O^_?0ׁMC, X*ጒB6C'@GT?gxsҩI_a*>۷ _/Whi?.AFq5DB/-V4 уyajW؋=Y_:%5F#GRT:X ,~HQeze1DdX;OY49Yhsh(g ĄXy4W ^/f·qP=8 "TP_]ڇ^gc`WKu[x57 t4994@1{PDZj?WtQ'ClyN eyBGYෟ)Ęё{U ns'Q_IFГDʭn}ϞVt8yFex-m:ɽt3}^ϴMq,aRgw??|Cḣ<>ݣ%|_H“Fln4x"e[2ghխuy9F][o}]MT4Mhi4u@{!vlUưﴇj_!HJ*8_XU,xZ׈1(Bp+ps>\HӕbDEFnqǙ(+Y(ac w|SM;s%`YXzKVjZޘT}My3bMUv2cSFtƓ%Թ)Aq3PX9. ~ otw+Or۳u;YHM/s~ܸoH5D"»4pex6PGFXg"bMD f=M9g8ӗʴUV |Wn6\C-(:7;ȹ"}\f=4/j  {7T-zψɢ3m=kwpXKT(D^^&JB'0ʟ hQXKPNbGi[׌k&2 &Oz3l\)f%I E{eYB R2Cb%(j}y2f}*Kj|)622t 6'.r"D:TY"4 &P Q2Q͹ /( ( Do){)9fIE^`_32]gyl00F cKG; M \z#{JVW(ݬM5Ho cg¸;#G:ղy3DD` ؁h3Qu{x  [RAys͍7f5_Qԑ-d_UEel u w~a[UIO׌&v:&yctTf]lhX{ƕ.0Dg/lc[41U㒭mn'/\*qfІ{a8nhe11t?DEGP Ʌ5BAaacJҍ;8\ :R,iZt \lW[;l"XjԆ&0P EF<ﻛMfr*W+7CO4x,,˓TWg"ZFlWd=56jOҘiZq7`-hQ!GK08 [_>y6=Tޅ%pjˆmvRV?-_*<{-HL.YWg[OQ;gtΞڶRk2ȹWXd},ZXILYŽi;e0ӏ] YF[vB0I|ݞD{gwn᭕T?vA:EkwZCx͓RHo< Ekmɞر 'LgFGCJP 1th"XfŔWQN"7e_9sd*"hO~O<]9WJǪ(Moٺ+%Z\iԗ]ȴy9o  )*Bz饇2~X%0 1N r?3O^|y|=8-1j_r2wBFO&G.+koǕgԣ5޹#};52*~UoNd,xfyTP S) 0uC@.u$\ ={ϵSxMt#%6eMjC{\6%"=fs G;f ~f(vtůV|s@w9h*W5!&51's_?Rhth,zQa)ZXDh(2k^TJW\UDh+gd'wDzbx"Ѡc"@pV&u lBZJD+n[!RJv>9o{Ip<{p#";|vVfq@%`FAݰ\1me3SѨFxN(N]yCpU]}RaÔt2͎_xEa'0|X ޫ.*Sɴa eAHQl)n*8h_:NҋDK?V܄!;iݷL_5~uE\5A5UE,[.O,v:[:*bBחTF7B32F+;V\K:.;peuC:Ȍca!h`'AҴBS =fwF@+cwћAS8iO「=Uj+=-,Ob&h m85;ɨh)j?\CU͛_EM|9}!ǚR  HKqӓ ޛ:xq&66D/1E;De^v2;c#kJ[J]<"95孃0ȲL&Q5Ћlmڱ'Ӷzs\6;l2NgR7ߌא(ÿ8٠tnth[$) =$*M4mxu<SkJjvׅ T,5nM5SR{A00NQu7pYpͯ1vu|[YV;k^&:)mȣ9Y^ŵ#L;ߵ<M5)Z괢x%;y%حU;C+[lwm܆m#+MQn'oXο,A>yִDdіm˝YxT5|] , v {RsK{[5,#TX57KqOo+Ά; '^ Ai樜7?| N j›.|*U7<:kwkf8]IW6xV~# t w1L`l3۬i&voXhhꑇ3U"qLz҂i|֬Ԟ+ڮ*)7ߤUij˳FyފW[VotӖcw YQ'>krfHQ}aI.}23Z =LoK!)vڒqaYp9wFk.9s[KMt,հ"bo m}hޤ̹=s_V5$qC"*A9;fV|j3E(0!t"Zׇ-%r/ B+h,(i&EC>Guc!#OZS򞼦l n 4W"P0nkrbT.$8kC7nP"銰q'y!@8`h\!OUMG(bGw$'=9" Q%[+2P|Z{kO=mǺpǣYh\Ae&y)dG,uA1DC q. &` = [w.^+E^cZ>ooϸP4Q79+`b4T<7缅r)0H aL;E;a|?D(ΉS1|B!?,P?rfN9Q1Xie\aB76.}j['Xj5#[}"Dtv8߳pTE.GpaG"qZ#*;?ȓa.x+̐pr?T}ל_*29o[%| s-U\hJ辕553ԏ83͊!P2Qm{*qdpMT7>ӵL83TU6Е~$$6]:ZJ6 D uGG^9wP`fL Rb^ ov;0 zr5Ն./] <1.ĵA,/iԤȏrin<$$1E|LVCVG 98SRl>g_eqYHCwxZ.3U_H JK'aIFV5+;'o0 ?SYH*U2 u:>բIe` JE'P@>?뿅I_Ġ[-+0{#X ׅu*]X}HP2q`1ʴ \q\kxw *=VDU%_Qަ2Ə |?Xr>~miB-Zڱ6T_A FҊ}!BƟny(|:{7֬ų%h) \ETioNW̌jܭ|(I_@NܟuYiE!ħ`"T2|mhyR+%L{Dx7.(lV)l޷?3QMGS{λ~-#eW1/i[c'87c8nG(Py|blU+m֦&ƕȀ c/"^X=ug[Q["$׮ ÔisЮ 4W'oVbKK=,n2||nlGMrjb}Ą7x*+ڲdSh 'L[+=ƬuF qM^COzeydT9N0TR9{4}{R$vtgU,>7FH:n 9g -Mz*/(s_""#Ân͸ !֤.֙Yΐm%c/6zHQl:<\Waa] K@WSļNUfp/..b7zYkz{ DC|3AT}!iYu}^0+--X=Viŝg<<(*!f4bp 3cj=#x"n\Kܞi#%{)z0#iEk+W*OT]8;RS| r7 ^ `6>n L`TJHu%oC uh] O<ش:\y;:lU=(d Ŭsp]CsU;v)rwUz=NY_}h G@% 3p0t6e2+atv,g$Yo.q',q2)Q8>OH;"=4|9. ;8/ՏqʢǷ8!ꚡ/Dq@5"6zB1Z1a4YgHu4E(N{Q&ylgZ+i؋m2|)-hyKX4?:R%OW\3]O/wS?]qQDP_sVzq*w X7a (,N)ﭱ)# .c 7+-7alDoqp34KD ?ф4LV^XLz gwC^;\fSCF).oZ 82XtJ^La<1/qf lZL rʹhBv3g"=ɻA/A5mִ ZEIXl20UR3& 0>Jiߦ\D!GUޢSo%"+?(IZ^qg.CZv -2$*kw(|]i~EM~O%j!.9iÂF# 휣[HyMO)g-DI}(P<~{fu|TwCA/vBመ}{&^)z !C&XqTx}lw@K MV~uJ!c;v3] ӱCId ɍZr?9}#Y_mr|$Ud ~|ċ)ϐ𿮊4 : YkfbRܴy.c1#^cw %%^H]Q#:]R{wm(0M =uUl˴4"in s^=w*B{HH ȟd/X_4GvL634K:ݴNhե^jqiV~X @&;[Ϡmgr.z"-p9~½NPvo~z.DmQNzn6f7\%BQ֜F1VaK2WM14g*:H#m8tMhq+OlOQ"8Kalog_ N86Օ,*>S(#0?t<-$ͧŷb5[ׅQLWoxG_!Cr|L?KWWV\.fw M 253F~$1m?>\hV6[_?BGa{ebx؜)7ZHf4s4Zok#8Ѹ֝hwEVtmֽPFĦjpsI΂-[FyAS f+MGŇvjx9pl cetVb=:B}ܦKNǝȍcn!ׅdSA%~4}ܦږAC.gmk͖ 5XVٳ;KoGj>ES?G& E/oq:Y?zdqψI&֍Qf^Դ:SWOTzM(0s  >ubYSM nـ쏂}y_1p Q߿G6A5v_oAa%cȈ P`A+ow \Ċ6jL?( gN%zf>^)|>3JhX]2v]Cj7y$ZK7j2ިMIocGԥ4c~ ߻Qځl*ˆqUv=ig-IǺDj S3N'BwؘQz::/xr|f@jihQ*`eT2p`T:6~=yH\'=CV:cx3|Lp6?yuŃ ۽۪A.A; PHw}zpMl#F PhV}ϟSnSq2^lHWČcKbGc\@Wu?ٓh|_ߗ+ }%IHތG{fW9TQ&ml.\<"S\ ddGn0\bPm0}Nf #rv1ýDs)RK nIڬ/qwݛ% ~.nOz珋Ɗ푱Ixuv=8N3ºeNDwЀp{~\scѭ2nSl9x"i5%;?>e t}ǽK P򓯲2ZP`O~K^F%5Ae9矦^uxQ#fK\dpxkʹ hVV?./_ ~/4= ~EG0OhZ"?B/Ϗz.ߴfأ̭6ĺYHt:VJqsq}Rfeٲut&nZ} XyfGtJ=C0CBb kw{#T;fCo ֮ o]jd؇%^Ha3@I} #,Z%uyOSAt>8.7ђ2uTWn6ڛ-{ǘrP(%\WH۹:+ Ž:>P(5qfqVz)kuWbGO8S."1CQ>mtJVe<823Tq+<=h̚il縗qYxw6f%,~S[/K'^ mar 9^yu|]wj';϶L ݶV}Ĉ[ಭtN A-)oĬcdsN,]*ZH Wy v!T_;DHV]o,ӆrLv@xAyhI@S?I4Ul9DL'9z1"jֵFfbuա~Y1x(VFK5^!k9AYhVib_$O<HMCtj5լitd$_\ e |vcqZ`@|дCa) ʼO!>' CFH$qr^vkD*v yĞ!9ʫ7MPՊj/M*C?1Ħ2G-78NʹSL4jJ$v94 VՈSA6ke^xҬ ɕU`xn[Q)VnI5^%}ꝠEKT !miTfiWp11+YD+QcO <}0V5Tt~ Y+ټϟK8^!էgj@o!M>uh "R2ڶ""Ϣ:H(+\K|2֢*U?O ^mr~UyiUN~8O&SowEhq+Zi`=lPv"Y^[:^X˓;yEPuH(ݘXuЮ A|;=Gt |h0Ψ Ї0`@0B7 Wkv9: %ߥӑ*?8:R+'_ѽd4vKItԲ+Z`k5YOGZMKrG֟Pme}r0c2z]kngӮaD)y?EE-!Sbc-Q^)#dq;gI#!~7Dm0ѕ0^]1Tqd@@:ABo']7̭FV3;l,.^tD U-R֖awRm,y:^s{(ubBN%Fx hA$N5ϵw3)BswshE>o50H=_Ե 1̮Ϧ6|_ PVpkJLUQo׋H̓Ǐ.>m'+q#Qp=Jcw+F 5s~TNkUB/iwInÄm ckd v;:+>Ck*[SnQH?{rEbelqXkS/=sJሡ# oH[ʓv_˥!W~`j\*lꕰ*.yVMY);gud_ %`OzS.pNSVF;&mQlWX'Q?bFMQÿxdN!l.M LP˚:L`fR\l6z,z)j?EQiI rթ /:ɠZFSؤHPG_S\p}cZ^#K9VnKh_TջiFK'wاM/$;;6YE%1]YSJf~>2& OWJCCB`f;=0-׽戢B-*dT1(*P)6]m߆QVM'|<:/Iߎ\jl@P9W;. 8KƓ Wi>GS$E #Q'},Eݍ,hVFFr[ : !ףOmZ/T,2x(;UgNЀX%8j!ZOӷj!h' s<]W6P@`ãR; &9-Mx%z EeΪ<G(,5K \SnRG|{^&6YB-{q_^3N:{lG6\%D$Snհc?M߈a>E+K`P cvAO0xӆ`ri5#{dy;35YH/b\):C hK{ۼmVC˪, r{KfK{n2DR)@Jwgi}g%HP/ߨpz`QUT T+s=zTđc!1rfor:dE1kZb>`0k}J?0'5JIȫ\פW%EJٴ^? I&+Ƽr]$~pvzk㈦V֞ZdQ0l-ϣ3 ~vMu;sAe|DzH;Yo 3٘;Vv2 go/ݡPGl`;d*ɭCJ0^3cm'q̙'i|tNyʫ<çd8C$E˰-t)c( G{(ߦD]O0X 0~ScH r9&DS$G,R3F,Ss}QNXk%,!c .,]w)r9Y&NgqAR%(bǔ phzp*НW4X3c45[QDϖsya"_XE髋FSG߂Zq+dE |t,SlfFJU 7VwGη mT~bVgHuŅjKDa?{Fo堷c7Djciyj$Ԇ|~'r)d}iK}pVix!!{]X?]%Q[k&Ap<76&gI\ M(F0d^+奫ZGCzT'C+MIo(>s[Hg_m"@C]^V(R$Z~hׅ˼QQ6u"'-1 ,nZxC y]|>Aśr'gOH΃āMpݦ+h VG "xWKExR7pG.#JM󂘲OC8T)i h)_dk٣`Y79&mѶF+%-~>FK}9D7xt&)^ϒ#7xQ|6Q՘v 1:<~m!݇xLE ]Eur?PY=v (D cXޚE6J.ĭE|KaSYqԒLN4Q7*idUWEkM+e@ꥻO~/"b@NⱣ. ΍ X&(dۘ  G#`M(]mK0颈VO_>U3=ޤ\] ]C!v0*O7:VqIhFEb$צ`^WߝV-lD: P9I Vs#KRG"{䭛#AcDRU8HP!%dֲyMmd}8ߍ%'hu]>_@~D^&{Tiv!6;8 % ( P`]nt K^C!0%~Xi[U]\? W2Yfނ)'W|n½:8>ZL%#P.OW_L+No n԰SE=7ZoܔTyD2tٽK [+T*wK|wKfn(b7ُQx)<8#Z 'u2?޼k#'#!;!7'˫1(y*jb )]H:kVK֖00SbH#q\D<{}%E\WXiTNfƥdlL{^M& .QkQy?_j񧻷ݛCHz))h#:O:lxQyDZswI3i"#ayx÷Dy;kff *&e~+ycml u|lYAẒ˜ T,^[aJ (4$eoHXmIdףͽW˳bTcL/k@^r~75. _UFW% ;NPG)daaYwi㥀z(7ۡޗҞyFXDFU>޸]D!ZF9n?yt3BͰtI~iks7sM=Y㷐ERհCI0̝*_<|o1h&5Šq@ʉm.}޵v z򱪬3_i_:uxvܻ)(Mcjx>tYqK{rL` .)XDGB BǀN=FժF*/\uSUYLmtYއǼ{2Ȼ~$}@4Nj37ies,BAIg/w@ÕWL26 s8ۿdD@1ϖV.U8:ԏ\?2k(`qstBчlYG8B75͑R-u A-5t Z@'`6aB_r@ihmGm?΂J|PM/0"..#{ra{O߲(I}-H%O U-#P "X0%-5lg)LZ6zjWt-q հ6j=-ED',=P?FLo[6\;羑lI@^_wNuOLܐĭMl;qlMcxH>oe0W1~F- oN#5P[TgP*drn2d&P1$je\&2߭_z=S![f;}$߿bN~Liɣh^Q0A7_9Ԉ+3^ e|M "=0c0<;L~Ad8 ):XZ˘e(vr4=TdGg:H^XdOv}w֏Jp"ġkց{U$G\I$dwAlKMx\Āk:O ? QD/O W `Q@n>z HĶy}uml؄aݻ0~v]8閜;TXz(xCz\$ൗŽiZ;ӶY?TCY{}7N,C]b]5J wT+IX}C%c5[3(>:>~qqCO\잍7}1->K[r#8a E3Y nJcџݪT{AhEZk YMi@z}ŗܯm} ;~ S^aUr-KNdJ""ɫ(*5Bc~%,Mp3rto5Yh] m^fοmāvciwT>@IՕ1_ZYz)y(9zuݵȇtx SUͺ0tn|*2\bk ]Yl0Π()]x!zX`8V{lGA:~FSţ9ʖ*{Z`V W!j>bdM:Co1ݡ[<JzkB0srj= {&y .A?q&v-ڝӞzLd֐eƟť؝kjd3Qq/@7¡u,ǤhDn Ɲ<|vq8wf2Dx`K{)*\ CÊKBUof`?gIRRS6?B.@U~5$J7ߺXw}y;>E2٣o?LqQlyRՒry8WElJO~nw[`*{7YFl RpMQ}Q)d29WQx咦`;v.GJxGH ,jXncR;|w=!_S/Sofn>QCϬ>zfi/5JKեJu {X`pд~j̈G LSf͜؇2FxS/q4ܸ67_NӸUԼ<7!*o`TU hlRg4YPạ_#}:$-z@kX?,[fpIZvwq>u^2>Vҽ. 8~!thkOK)bGK. H#E"hW02(08zH`Ll|]칀!_ yi7mJ6-i˸ͻig}ƚ CwO]McB1Y&wHb!6U'-o`eFq-q^ts2n`[<}JřAK%}9ypQ9ka^.i/z6An{9Ta{uCdC`Q =Ȭ`z3(Kj*᝵fqx,U^NT4A;S^@iO rjP#@ғ/F|G0`84L@Ke5jƵ_Sxېp\:˹ۻ#dbka餴C¤a ۼԴ:EFܘo.")mG7& V;tl+YHdlxY ye 2M0\UbL+p@5?8U3pX (D<<;7ӡa# _xEq|нN؛Y-2_!A(8׈zK4Up^+`ާ̦ٶ\g fese.W#~Fjcqx)eƫ+ܬo Oc:L %7\kUhys( 2# b#kr^wWx#!Eу]U"F  #~F=BӉU6 W_;*|/ jMKHU0^ D|2Y7`T2oT]2cO9:>>ߴ7lHN%+JhR7̔ofN ܘ4Uj/2]geTT5GFr![8ʳ ep9g\[. `pd_;ʍU-j)zGHlhLJpWP(,]O:jZ:J|a0|U o 8ރJpSA+>o݊V9¸ù ^"ͦpQ-'S1"y^_iv6VX nbÑoTU#,$k)޴)fAuO(edu,y%9V"\!y1QqOKS>MMMt!Sy~q:بCZƺg ]oFT"QC)'T򋲪S[ 4w>ԝO qKE;wA0Y>l?xO9m yiZc7]tJpg$A-((B+ۺ~YY?QO*  +"fVy0g>]VR L$b,4 64D^5wfU>IO$Kw܂&@p=933ϗ[buA+<-ޏQy8^dltomdeK#ҔH@]#Q{[MwbXw_`Oͤp^7O_N٠ c " ߥ?G/1{ ӭ'D:fsUM V" /rPaEwvcMۢ觱_zpF8|4CrlΘSu͐iZ) %T)UPJo%Ǜ2qtS"gލYXJ)z#D(Ey ^Upu&y-ˈaCpQuxnQ;IvSC.z憦ua?d+E5Bd>)A;O&ß$>2,^٥)Ghrf;H%$OXC/l?H/dA2HmرX:wȺf'( "G]T8_3celN Sъhr3dL^ iMџ1OĿϢWB?}8:}|1@x \uz;M(a~ֽzk4}%Yâń9|1 @S?ֻm-DJ_-I;!|gBx*=#`,p./#TIE[PT?5|t8\zzHO1NņgHf~:*U'7|ͣdBNv:R(Y'mg[,4ٴn@yj}G`IkLl=3V%+z$:&,Ɋ C ߍgM$U0@ SM~*,1)~K2H4BA O>m3NK3 OјuTdMk^Sf 1)Cѥ NI.h4^.!_2(ȕ;b94e#HDBxm\X^ؾ.Fwf5=Asх0?UfϕCR^ț:jdt:_ڜWxCIM`[u6 w'lD~ŀ,\gp;ͯq~7F mU֯on/Q桔'K5 ֠0RWdSL7#:g`.mZFUʊjD2D}'IE!ɰN?ʓhތ|IH^ ne2TrY.9V}蠞^lW 6iI¤3F?qMkt#t5sڭ0Um;-.~0Ё͹FM2ƫsxH0+X7% ʼn 1[84b;#KbJwڟ+L^#rӎ&n\й]kopvQ'M9$Ѷ(6p5DR$àBe!T x63 1^^>]*1MYu o^K}PwZڊP[o@4-z]4Dr//i- O,f4%3ʋTEFbskPP>R 9e_* )#AR ~Pl^QuaACM\)MhHtU | ELjjs3K*Y!^@o?Ljx[)b>~*g7_}2:5ьqI1edb$Ʌ<򇱭O9 ]6h0ph5XDП[U)*u?m;;ւm;bwގ @ŁG@1i^l$t1EK(!*Ծ{aރv0nϲ nz.Bυ\سPqvvGWwϫn7/kD1i"NoѬޘAF_Ő OfۓmЧ[x%6MX 6'CBThw!&@ެEZ*| IHGẼG _] \!'5[KA,u6v0AȅˡuAmY(\DQKUGFU.cFMryo[DEwdnd=$;A$F`a)#V=J8%k繱,5A uM2 5L|ni-op<J'J6t4# fyy%hC᧦R`X@nRWx p ԳY8A-j B.jڞ Qp(($8"u֓CE6Q8R T6$~ұ-܈NqvR4r󎄜DI-rхS;Do<8'VrP)1鱘4pI_uga?, TH4yU8҆J/;d'!"SP^^^%^d?=*{$tCÏgrǃ}, ߾ƳW/Ai끼}pVgV0C c_Adc OSQ_`z"!zzBvwxvse~ge1E>mggNꏷTq0*\}@4G*?qȣ)Feq>*DR6ɳ +^.RF<@X}B3*w4 R'.\_ɉZ<2,؇e|ճ2:XI,6~OO Bտp'9gO-!!±*$G ^ 2!*U-(-+J{yHĕ74ٷPUMLؼ旦CbUiNf+3cad(c&_$ ;uKi+s[ 3 (e5Ƚ Q2IZrFi?If'W) Se̟yPlPuRJllNddr"aeW@ٔ2O $!M%y ڈB9'7%+N^|p&TI(LJ v)kM9R9mfT_d+0mvU_?wG?}NvIY"4gGmR - rӂGjԚ^+&wF: iOYbRY[@ <΀3^_Grctxynw:RlK-1{+N E!X؟AgD/tD,tL9$ԤN}e!VKnCOw0G> Ў "lwzb;w!{]\{%$d d%/#hpe]mY:5\J+S_aD`$3]+ͬ5)8pgq<+tY4ؗ>R2ʜ$G 2m9M}%m1Z סeޤ'_w3Dӗ?AkI:UچY~@-Xy0cM?;z`.~'y1|f=wנVGոNHS7w+j׎yV*ϩ ^f΃Z+sAt~~|3*XXG6ztFmHok$l)VD=V@DJ8,{ bHެ~$j퇃~k (l2t358{av?q7g}P !+p+/LEUj'OorFL+NȒQ $Q Gh!y-էU8d:vț*&U4qIl,6ޫE0%hdQ#+f7e1 ָvuٸ_|/.mj>qU6[TMĤOЈƚNP"*x9sxamBt\+}Uv[%!`KrURleF9ޣ!by~Wq9h$jrչK ^;Z\ooX?|Ik%fj$1|0/U(T KD9^%[Ne5<rɻ$' ;/=IcM^a::Шdc@o\ȉ-CF.urT`HDJqH."~Tet77h)-3M{-*8p% vM]*!n>=$Ȣ>lOofm`S7C&0˳g9Ry$]"?=!D "2Җ)yȼ'5 _AmW D÷d,{r.1LtZ׍;bM%+Vŵg:Cb2Z`ղ.M[ ]Xzvt>T@Q:xNqvA3e$oFqcb;(d64`Yz$ !˄0v#j* ӾGs?6C|?HOBzߥ`6l&^=w!sPT'{~N0"ܽpr8x}{$_QgT@aC *h_jA{$.|"WMq}S+u7;[zwGaX5;Z޲!Ѱ0Sѩ8ϯۦ& I{yUH}$^ Եj3EO (`QdCLI'lzoϔ5i^!Vv|(Wg:,!A^ڠbP< +F 1v6ս9kWx14NĪkE3MsM,4M6е]BĬ~Pn&|ߏԻlJ64(֕`q4I,/EC%(BR?ŀf+@I.kal*\cԹ(p0y}/*95*lfo1QK쵡VMk<:0b&p ukrnMXԪ^vY*aD . <-~["A⾎~CTmvNpzꔆUGT[M6ˀjn4@W"Q1R/deXnC&5cwDQW9[`>z=RoY40w+3hTp-A)/<AƩVy/EwV R?&FQ}g/e? 13Xwkx_SR&!}N^5J9S}8s:(7#,'H>Nq|qQX!K2LJwD*?rnnۋZ j>B&$Ay{էжΥ'9YGW5aFWeXJ6w>x>EvzMV/d dVצOJ23="۴pYNyE[-rYix;T'9L fɛCDqX iv#yֺ"AmA)'Fi:xXbs"V/* Fm~dg!L,JG%LA.D%\! Ɇ>%A w2򃘑i̊Uu}z;a7A8&MY_S:a%0iMIʵZ+F^  5ٷeF1Ͷ*TznO"C"n:E.bGq_l%~tCG}! %0)6Xm/jCR7wLS+yZWcfl 58}*9#1#W~id`#91UR9w ȱC OcavW.Yp3mⰝ9+3 G=ǖT{=!:WXjm6#, ʥ Jq "dؗ>z:O~J6^H]اv-føԫl"n`ɤ'V2.[ y*ǜw4_1DϡS!2̢ [65F|h.H_::Q&$k/Gn6Ӯ@ 2V|(A2-}~s|xk^̣665E`l(o{r}xviP>Vِѽ׽2DD~2l%z-]?8<]r66TGkXͻ{u&{=$ߤ>Ewb,TaAt{^+wڟBh;Zlھ%F 9./ o()>JV bO.֋MS$ڢXE?VƫjZՆ,jP F-`۩l4a]Z@Ʊ^~6esuXzw+L?4ޫ`"aaD䒈}A=ކ;U̗Tt 2.!r9&.c~ܟ>N5f%aK+,Fc>>iL7"ⶤ .:Cr`39.1$kaa#ki>Iwƈ<=ތ%h(i^+;LrNh?TfZUχ8*Fx'>IW%V t12{Hֆmb"PnX/vF ^ lda DDH?t۟){}2I<ξɖ|1`H Ҿ'[Aqg8As'saR/$!w5u8df8RQ- JmlvY5̅I /i *9aTqL*K%:D 2gd&[ݲ-%i\wL)+;VEFcT-&Vm?>aбž1@l*8$h}Uwp+e3Nf+M1$|W,gB[Z*Qܕڋ˜C.J3]񍪦:uWE_g O5m}bKpF_ X$POhĆܜ2Эw'0u2Fbfj_u+=b_dʃuyg4ZaVpUCCd|[G,/hqv^ɚi~]DaN8 \UCqhC8cNdvDО!; t*b+5" GFgކhW_X[o/&UW$QXW\k>A}Yy4XXIOhcCu dMǹ4ZoU~9e|mfWvB\rdsBF @~-7H6-6Vf[.A+8<șa&. ۏ20C 沿2 ha jl['N ܞs-b>8`;pr2e~OCDЖ'2ίy"sRE7WF:W1**OV^Sc9A#}o%oSb3{/~(!vK lT)1zϠ̬lw 99}ݤe%g'0l~QUˁ*;SL?yCbD念s{7_=07ZҦ/NxR`> MCw!GpYfqBxjwuirCK9Go.۸"ԛvBu_tc5xe@U\ /zEugDɅ^`rJ~7"Aӑ`H% ^l\)Bqs(7&\ PCأ*]iP%D]ddJ,sj,䩳cL$ Vm8о|o2ov>R}ʥNcX!z-t3zɚ{A6cФR~7BҙF.VVwc%VB'CuUٹ =*- 9\F0Y$VsU4.|GJx+I.A{? U6TFyG>ѬI* D,p)=MXXȦn?=QsYIQ+6[R0_r!z 8T7zYޅw;WdO6Y\/O%/3rN_Y7yXD'A|wkS޼0Oscftp&G! ɵ+:ӣŒ&!L0U]epSbE̸շAl)?)̡ k<,gY@Zq9pZr ~ri [d)e*b V#sC:W{k+'.½x4;c5-#IOPXQ? bx%oe|!s i2?|L]ȉx7\Gbv1%@a]'}}u×opjaf5-4-R%>9^yiH+@BX$/* ܴ&+מ3(S:hCw4Uay+%bZt}rBvRvh2q~4yKSݦ:"WThw0cuQ=ysfUءVa4fHQ[ֶ"l-ohr)dDzj]1ɩ+inҢܪNEmHH/NzM][.ru9ccy6jX YQ4*F`.~02"Pa,C*Fgs;۳1 Jǯh@4{$ mӷ{b}Iqn?)RP&мOfiK`_mLٱҜԤgMRI=+*ʢ*MѣYE i\MUYpE=Ah}},1kު~Q1xV4mRAZ`:cXON*Z[]R \-n)ΦwJٻa/}X%K,L~}SwBe`s?CCHx/ yCT#7 TԠPͻw ؠybTQ-iji H|]!@rRj_klK O2Jк—OfqQ[e^*[[ TacUmCUIyDDvveb7/@_qmHb+ޣ"\lE;쎽ΊaYD!4s%7T}#%#Qu}$i-X;>s] {ގNhIлm͢To`f4 ?G@q\hV^%9 ΥuolGΨK֟ێ_;jZFmLq7R{GA~3eUeL9)\ef]3ee7h[-YL2ۥ)gIKжÕ֋IX7r:r՘!M0,DK9Ac}+VMR"D276yP`*'P#zM-UbWUC? 6V2}$ERgf!Sޝ֫:R^0LA;]ɢoBi>sr9zp;拉|Sp<-.@ͬt!%oL؃g#.:X;er@ev,UҖ&߷7nnQ KԦ0^mi}]O@ 0t2 ugt])$U_2T1DhѴ B+JK f@2+0"r+W'}ؚ}a(ك7L*#M8$?/toW䕝Cn|d.iK_ݕp5 9]|4 !#VnkHQnxY]Yt'qx*17 G8YzSZEL5sm/]aɠ%Y(0tnRoL#*[Jf,8PM:Ϟ^3Q0evi?'$pbW Bl[>Z LjL:J+Ոճ{MV%h7~Dk2>&:%ٻRkv$@q#R2:CM+X͟ߙvtE&#UuҔTuVK~!bLBLe^E+Q*Mѝ+u:2^y3DLe¸a4$g}\3jyڪIIiN3wNxrx+rJbT ]Q{!s'}^t5%x"=Iwo, )Juϐ^ .NU,պ ~gmBzƛ;7 I0̌ŏ3՗f:L[y nvܩڋ''2K *cKӲ\t&Ro2V;$@KзZk7%xւgq|D"As~ap#b gH{2q WCWvj>SYM5tgi"- 2X=4j2lR'5S%})!&8y^ ϗtN&>0`J$'@퓏2u5ͥWL{5^XE"*;F7k[_[nWG֋7k{}{5n2i( W8AX+ ? T8d+1?]֠|~@}?4|VaB[O( GV3%I/kByRK/[xnq4kk/2E ƾL %m%ƜD;UmRmW4fEbD)alldr6MJ:o cr #τ/'fї#> B yk[y?8b?t`bz+/_IڅyC`UBb_ s.]>DzxM[xmwϏj.[~xm-U?K߼;Gzov; liZz_<@w'ŷPPik^\|bvͦR "ƬJ>>@Aˋ6c^M9JF@-T#~ ԣJ'D4 P<4)cG,ZM~Y2.ÅLl13jX$5cBbL_JhX/HK^$A[K Mtnigޫ<Һba>u3r':hjܩ$X!9h<$“;SF&p4#<{?J.=iqu5&ER+/h0qBM APOܤk&D=R~]ʑ:=cռ,CW#YQ8{aGJ45R&& %%C}oEcjW|Н7CJiٰDmҳzQL4 /j Us8^FIJ%=2ͽfy/HT)E?sې\g ՓR­%ʢK  ~ |JZFc_ pC$6]XjWަU_}Gbu&AA\1%ON'ٮ3}j-݆$:ӻuEտBރ{NV^`lb M`/~&WCۘ/b`!~`ooA0G;tVK×͍8p?T5NdFm&ZTۓPbD҅}PNHҚ%FGirJ p6n\fe|[f(EL 7A[ޑ'0=bW?{Tʼtтø]#:ZmMiYHPgW(6Xz0$R:Re&M[F͝Q܉ҜX~n ږsZ;Z!q640e 33 MʓZ+ΠZ9.G:EqF" a[#lz%dXVܬzq Ϛ”&V&h]k3.6EUaağfJԸH؋)^=0<$ uwȾ(N69;6m="B6IMkԝ9f*IeJd|.Ü36,*h:7$|,lb+K(Tؕbn\olV|#gE_8OO߷zHonUw~0a0~zD/jZ/Q6vG}TGۓۛ˂lƼJwx H߅{R YQ"Y:$o}f.l*#` M΅HC?Տ?9}72U^t[$Re0.Ahu4tvUTV8K`kx:*VF^]p]O_K4Q23WsN.\޻uYTxtE/*rἸZ_%fh7X)Uu#lI '-4^w|H8ʩۻ?aUg3N< az;ܒӨ{3!K}A \v,o%.%Y\`^ - H5o]8?;:TCַh9 u=2/=ȳ'x4ŞU]1܀#@^oDbjOMaVBUǑ|3vtt^wx4?[P&y;Tȥ[03ˇI#(*x9h JkW3 LRH|/I.z .'.`LM}xy0E,3$TFoa)h8~N329GVo/pvain=aQhjѴ*nst"Xrb )[4 %zѺQ ִk/. ] Byjd*,}Z,$UCzO?aT2 z_7$ĨƉMA ٷ @D?>ȯ'>n{Y<ZhO5СM~kkě[%d;63_Aɘ(De:R˙`XGlX ›((q*<9Wvԕ@"daޓxv6l`iLM~dPk74xdSި^S R66*3](abdkO"ԷlG\# Sm>tNJHnrfBPD{$zMjHH ͡ƣyEwElLn~„{9bZ;.@e!> ~!{#Sݵp?5àBr$ 3e:-B'_۠rE#ϧ"VxRWg|}=FJQ-3JT#ac 8iMAdVɉt6YdՇρIxd47CtK de F;wV`}"q `F9h\4[IyDGh ۶Vk1ɢ1w&o _ɽtːHockWԽds(yp@#pĵXǁyÒഔ%A_f(toY!{M/\׵,(Ixүe cC56U']sTk ! ZK/!iH=/$W$`"MKjҶn-9 M1j{B^ >`qXoqi.j+k`^-CQXF]W3\.!{}THSGV~BזZػC;u-}8ѻ\ʹOH`ͧXbBv^)Zvܱ'M8^)`pN|̑ArƠoKr5BZHТWI9EOIѾTk}Ymi41h;W$BtD=mڳ"eC_Նa'9O!C{+9۴iAe=C#+yԦHY&}i#=<a69P[#׽ȿy]4so'n7`.V?`?:&"a}12z#l[mO/2;U8z1ݍ־iEա(bD)&VAc)M/x2ۮN}sg1gxE3DJQ!W@I` "zP%ؖTb%Vl9Ѣb}Jt o(. 1^;?)x)}mSSՕ:iTl`UTT#8$O YJVRT 9|^Z@L3zgŰF4EmZE!ҬeoɊvvEzۮCƈRfy.@L(RlXՄ ѻ@ۍ{o>:L_ nрbV%ޥW4ڊ1%: OMX=Pp餍8=B/xKX壹kPDLhGoeHMpF2wن%qߎ7VluV)5woۋlMĎ|CH*vڊ8AVKGMsV6 E&]fĎ}|,S%َ ;a[N8Ν؆6@Jd6%wxqa$Ū}69Ij| #8>3,.6ih<|~I7@5ЩB)WRC6E-Dͺ@Z[Ul djWôs;gm| yW~@[˹䗼Z>)qԨ9엾O u.*9lI[a>lc?z'5aW|8]{ŞfF]Ю rgz>}hE]dX($y[DCy5k O!88~z7-OLsI!Ti,iJ8!J\7!=Vm}2jC9IKE WE]$qGc J`*c*XqFqڊ T÷~&g)trp55uVu5kҟDtB+ə7xk]PmOmwhpsJk>t&^`z$h+2Fo luzX e;{==Qm`ɪڳT,pҪ]-Wk`'^~O– }%I &wA2&ce[m|K6cѐ2L0AV.UܳkE+|jο(nr >r-\K!I`MsW@|:HnꆐZ("[R|T^͓\nA 2ݯ's]f<90~iR1Z ZG.}QCF%K@G3fz5nx\ c[KWlA<]i>~]- _UcCW }NgF a85f[LKӪ,l7 @ ] OQԘ](Bo@M\j!23k޿-C>C4=76(6eڸ ЫdLJK,%3a> q`*kNoLJG2:qs** -šwv.r؆YN7?FG׿FF.كB䛛pmy+H4 |bԋeixt_?C)֡a5XXfƻg.|*طj~t0GP럌@)yY<ggDɬy %?`^}Q< b0 3ʧue=}sr ˠή 3$%@X*X[2Qۃ𱄿o=W~̀DyS"_PO0)_ p^I?aWPy=Ѓb m䧚_?$̧wAM qn$ _yj/}]w?.| ^M9O5BKcޤ O2@ORz 8<Bћ7?+2_#y.-_LhjI,4x+2ë=6J5Ӗl>C9jCJ@AȌ\sq;y9ZWmjb&1ASf1'b儰6| +CT񵶶٬FεjY!%1ֺf\|d,{7UX 0044x\r(I2fXXVMt-<_SzE[f_{.;iYKՏNdQŦ]n#--(eɵdɊLސذ Pj= 2D<Ԑsɩ46[%Zy_^9',6G\6xTaX)%b4}E$WAþ,4ZEn=!h5Zk`:SȔɮO V/EPa(ɻuNOO9zaʉ[8[mʗpfRf)8>ȹ<7s:mNH=XiCPpQF-wzZziCoajjl-ˊĜ~k[C:S~kf:K Vx+-o>&E B7l rLzK*fVQd,w7w_׎ZYvlXP4± Fw0|] UT .y .*)`8qA{-Kݛٷr8Mj/:*b&Brjx(og&PEH{C!TfiK"*+)k ![EFoj13K1mP0; sتx_ԚAR8r!kh߽mdѵo3; -qh X*Uڃr--^س>O=N¿Wڬ|RuC|VkhHe1 7Lf 4V5-큪53 2~( %+002NTclZPς%nm d+Rcb-9μE<ݰ{sf6]َK%iG .%¸ GAӵS/Y\/td!߫s\;^a'R3p3>nƠCq`|>4jNX1'<è֠Aբl aˢ!N&˶{fY ;~_Heuպi@N>y@ D~/yVpx9܍A|'%9u*^*ΑSt֒7/?o%&^ifNqe~򕐿z&'aUZ-!j^2>|@"s+зKXu+Wl:(N.K<:,Χ[)r OđlLo]I%C]Y%{("}!O*PɃ"z#k>7k-,*n{6(pHO[_$D1lVlX͹ r؏?$ٯv_+W/`4'+bP')*]>A[|I io?q֚mT=qv&&6:'DꇓJ^#Njsҫܛ%yWjْ[P7>ㅔ[o2ի۵b[t%b&mp_X¬T.=0ȺdwdVgX0*{li( iIi4]b{AA8{?3]oԍp߷8ob[smxitn%7ir_PLu@BeҘ1?B6 n|! W?saԴNg>ZNfGg;ਞjtj|2 )* TB0 VC@ 12$(_GTCGgIr^SZW$fZz RkCr361z ٌb/֕ڄ\6 Gue|T.<{ 3T )<-,Ӵǯlx]Xx?~D3T @$mFJXVqE8 ͍[8.L( wDZ'b p}M%i@הoXw9c-nmķ06@eF,.* g8<"a ߨn/(VXgrJRޠ^n%Eg1z r[ֵq" Rݻ7?z]׍_V}޺n=bԏN7ᡍLu[Dށ4qv!p_>1CXUv5wGc~ݏsdIMP{ 3.,JU]h+!4ۇLBҽz6z17h⋶(%6'Hw b*(`Hlh@ÅMɃZM (|kchޢptKoToZ ޕ8lG.W0١pbƇG9}mcmaǖ% UXU@ u50{Xr܎4*XO*<jQyةMP9^**.6 iNCm'ϢʖE9F 7fJHqY0%<ړK~`mx*x"|ϥ˸!6hӴ}Ő4\R!i5U{۱ k-l}+=+볪>B-2쟙:;jO#Kj{尢+o|&]BCIj&lۘTOlҳ4b^2&,7:3rl­d.Q#4;ba;{Ui;=]3z}PrL#A, rK]wkFHN7bm n-8kϛ}r #T?{V>ʚ-({=6Ί@^ZēriuIu}RS&3Ў %G6Ȕ z~A̚ȞAHȚƀPTFΐJҒȚ^RN#8rF&&&6\B$o>./%E%D=x\y,bf 5 )XpF2 !i䔧oU?w~w~Gk3[GpY/Kl1G@5]+ QQ7. ow~wYYY9a3d< :8|f`377bpD |30r 7218jl 63PefLHMF€ːB9 +#=b+Kk{n>_عb~^;CcnBs|$ٙޙ΄ AgjBgmO'Fvflz6|$fzlltz,tLLztz,Lt,,lLL$74+vh0YYY;؃@K,~cg`U/Jx]G_?Sl hd6ږf#:xxx^:E-/D~M7D~M3s3؈}Ϟbo9'xӥs-S{(}H8z~a9pMKё_ p)&xq/bRZ0bGmMɶPW'Tcā-%>9FrBVBz5_*{aL">(YvcV${,ƫOC sg7{)g#ЩQگ}Ců.ґ,OTUG }5΅]^m{u& j3N^pTv' o#DAzqQuق/ov.{ZFf aU(babcd=e&gN=J-$qqg_X,4K F cl?1yB& ưEu,g ȍdafSfkDHݵ/ri|`zLqc#V ๋ýc|E.܃ܓN#3)R}|SJOћEKA:/ɖヵ=g]w5z<;o#ȑaQ&uԝiC7gjʡ\j1ZmQplY[xޜfJ*@z㞑XNKl" e)ce[o: IUmi6PvPvb(/ 4taJ q̎o)KWs#*q!s}{_NE( R@gD"|5YxLeI7[.nkWd&;ކ0ӼՏgܕ,)7_ y;\Hs% >PB.=.z7`CV.8S b(n򧟧9$r4 [$ v!kPyϑFY+`"-A'/+0 FNߒ%`WkkN>c -#[Wi[og nM:G#c|cŮ]--\N_S5rAtĖ^Ҋ!@{(:4JPˋD0(Dxf(Y!!?Wpe&ʘYuոHrSc.y7IyBYٳjA>~r=eK;-FY^Bk\=O<(F.pr,榸_-[3|MHʗ 0aŊFޘa?]Z' K>E~w^Xs%0ed"D),'RC U\~YNPኊG T!NyH'T6)ƛ62~Z_y>I-"ݵ,(ChCHr*с~vmcE-lJ 7;<,a&ga3iU#Mu-`G S7H-|?\KZ's`3ƢbA+9/R^d"q .*$$--vXDb3k!1KkC_3qt>D'pg\xm|=j9-}gf 'f'"T7Y UTq}ڭ2&kW_Kt8*\ ?2qĬZ!ztz<`$ѩ}R$Yi/#?)wKfSI ESB|BdT &;lXVs]4b:m-qT|D_EmN<+) fii8-OW.xJOF{~Sl! bm+Lچ]D[,_ T|BP28> /1c[xơ^]#vZ(k7 "n[m>`@uG8d؇/R{dV&wU*U`W#o*pfd}cyyz ~~4j- Y2nfE `MW07na n>(l#nTs}xUADSS~_<^'W|f_1"x7w \-jRΒӼ҇;İʧco@RY%b{01] ~ْ?'4]<7o.%ˁOnhoxm_<-: g!= w=jtZ|hz7 >gZg45-H>7˗k +/">%E C5~eh֧|3nLO]53.#Qh/ߚ9Qr\O~j+Wϴ UQkjk|`]%Xj20qzVxꏕ%<# )hC!j^pU, vtm5!V&[9HsR *<e51u^e[1ϻ |w9jҦn@6sGXjTXyϴ~(-vs:qlbsullz94094a]`s{&˓$뚧.]`Uk`P5߿h)[ z @GEEҶC*a) EI#^>EpGٸ q[b_~-ڀdDtGwSWA ÈҤQvXLr ,ig\tV>Z6 ?y:; ͵4"F9}}U .VϥbI gHM]v{9֐ɲWJbŊz6xx3 j C޾e|"HMw aVL:Z#TƛiG1Zg/c+a aq.yt3UgP]{YG !hm>Q_M-*h$h4S5^}NSP̐^R͗G|-ur:QDCxBWŢ T6~9^DhR*%2T &yUzr%p`!5mk }z4aM ?]֫%HE7aIf-ߦQ1y1!"+l]F0Q4[N+\}Ԉh#PˤsV$)vՉͳ~A00$? 5A)P(X?&ayVma )MFtxHqM5")NG%:A_KcU0]3|eϺp{AR]?+[[.ꗡJ&~)e52J:ք7 ԚU;VY;}+5aP>V$ޚPa{z ,老hLM](׌| gG<@"+!g3g8Wg1Ty )~&Xk]]%A-F @J~KMrp[.ytyZRgw1 Qb 7B|RhL[zW8*?Uat,5XZ?ZoOh_NMDTPg{˃ ^`?Ugw=i %k~t>^N=Y'3stUR/ia?*_Xa†=a6#|0  ~h-lM}[DoJy  Gi8&_b<^˼K".2Y;yqvrCJ>Qd`maa`5 mǥ0x\||VtorAPC@jȦ+!:s \֚g4|a Maym3]#s<(b^6QWHкE>:A.|Dߘ0#L 1m\pn'v+">;/p?k?6t@2:$jA1)}s0r,G8mՊZˈNjpEmˤbyt05FrdHׇ%γ/9uaf:8ޟa#:)^)1f  |ߓڔqQj-ewM&]C0(ٳc'gMISl"uaFn=;"{$8SȊlA5PBwF;jgcQb:Z{?$v [''yK C#xSXERLӎ&Qi Mݕ&c[rmݭzhx}ŢoSk8lG ٳƛ; w% %sqESg~7:w(,pRs'H,s8[FvƼxU2yQ+]yMe9۫(j4k#:N%حF'z2j~N@3!ۇ4GcPĞ0Lb}3}(Tԋ RAq(D"Mk;܄ǥ{ծ6[IQNѯ):Z"+deGeM4¸fԼpluUDhH$z?憱NIK^(&!=~*@ v-?_D/&K!DNd%ϱ]*`/]ĿB#x] L]b>@=˽Z!M!ߞ~:&OW&7` ,H{z֨=TŧǬKD/jy4ZqN:oJ44VHx<{eq`;Ax`KQYfޑ=A㼳PXy`CtTuy+f~iutлc  47mGW-Ѷ͑}NOLOP^cxSNs}`f/R|WHW]kQͣ;^JՃ֜ Uh.Y0~+ZRҪ8KP 4Mp,HI~/,  =|Kÿh#@6xclچ=* 7Gu?KliJ5ͿCgxb6Q)0߉1@G ncA*ХmO5[rXkC,#8ȁ}Ao%N`Fmy/C¿48&߿׏ϳ}5I{sKclk<:Z^9dՕHrtp$zVZkxZXd-;-:k; Lxp>0|Rџ`#ISsK۪_N*KX"5A&^9lUϛ5 Xv-]gq:lFm _&2;KqK¼Sխdvg엹kY8IZ\zkBEkDY{/'rP6\8^sXy1˅KCtMc dl&ώv2Ffck}pbql~Pǵyog5G"6.}ƞ2 .CԣmP{4p8^z Aп5ty-m"ux Ocg 8W&\)å*@fj*Xc080>DDo,.21ҁ)P )}w?0:FӲe#`?Щ O݇>/!@f8.fO}Ԡk!BBŜ;Lo$\`04 i/p nVpwE?>3R;D7U7H)M.-$_vFx zzBSō-^aWKPoym%T7'\vܮ8CZ|G|dDx> 8,!(ь2MM˟'bhM1 |CҰ^F!]_JJ=Z6-`} Ej RG rHYCf mZ`Z@[$P$<2h4D\űHnq,Hߔ_D}9{ !#(u^Eah:WQ]Ȝʛ1 ~00ˍ[7<bqY}s^K )D0FzR. T"MܵKn_|NW(Er+xg(~U~ڢP:>v<\A8~+ Tŕ 6Ѹ+1A2d?D]VmAtDQz|g;  lZj!qqR"nUX5+ɭ"AFk'xeÌJp2hv;;7]fE/VBK,OkK/gtp1vemd}n09> fp8gooʉ,ۍ-]wX%pGԢ%8ѓ@5An%}'1Lzk)S6z+ȎFUy2(S{>;/QxTC* l9hӂ0B]nx8gS*a0#gHSE/0'\w[ٛxV=n(.]!y ~}P @`eyKT-_"[ rv[_n>"C=C|2mWc!Bs0ځiC&NgHȔn+'j>cJ^j*N(ZA4 H`jåՒݣSh< CW,̠;a(40;+w;k<8-9.P!Rҝ|;dPg)(8fALlSU6Am{oܨ^4# x|/Mk+=]Ac_K9ugACk⁸?V <͡9!=BڑMjѕYW*w. N(kmi^d|h/54GsmK4;WP@,S~:}`>_/IR%gjfU<2߂/RqlDqXD-A4''ϻsYj>wXͮlI.!P97%>46|qR@V|.t0`u@pŝJl+(%1Jg+ )IvETxӷ Dpiy P h,>62&-@07L} B0bGz`z-?rJ/riƙ%tUac&]5t/AYUPL앖*Z rN[E !~;9ͣASgjBz$.1نaRV ֺYI_52/$YG' .W'u:Jڳ *'~ʛu#z.9C$e'cnr+Jۋry'u9s3עNp{c_fo r.Iׇ=;ڹ_^W9cې&yo*t*XL-siۑv"<_O+ U$#Uh)gEd-x4*)Jz9(sZ ]$_q8I׼jB·|~tXr&rG5"8XdXU9J厧)Myf=VhK&B3!KtE+P`BNJcЪuE[F =0͘,cXI!)B;>RB@"ƬǬQQ5b#9O@7LCgyCxM?)]oTl>T$η*dyrF4t/“d9$VrJbadv>v(Uu:Vt"FC.>.Gǎm-Z?a.ۊF`xH/qaX,$Xv)su~W .e]S>ˋTBrЛdznfVhy_bRV&^ nSmRFaH3:N[ZsK_r0w3g#F:PZcH!N0߽'W^nS_xN֏?oiiā3so̭=>N9:h}#we5vQuv`L )W 5ޑav^RD XX _[O@ ~B[@mp{OȠ5U'5 ̋d7dEHy= @v:HҶG!dHE lzT+ӈ7_\VEK) CY wdԒƥPXkh`~?q!,]_܍nx:jf@룅Yx6Jh_0;ⴐuZ}`yn6ы .7(qFs8'c7 zέ~> '_Y]Nf8Zh8ZflfrhΉbC~2=pRze!_VmMDQ炖bO/ IWm@Q+T^l@c/{`).lȴ`§:e3w e_ Fgf}ZLA,{OJq%h3—-ܿN3,,F~v '|B)ZJwO'}bpJ_" ǖ?Wg0?!PB dF/c\E@RUN*E곪lR쮑Y!@}%.\샜Vu8gqDK` bh<n[L0uS--MuRUPl)^)<uoMjIW$^5#^ybDb14dh$<ki`xvFp'ύcjPg4459`~Žj +=ndwAШQzW}XJz))#IT#XxXv&U.IQ\1%iEX*JR)ֽKVV=9_\bJ:fjnMKӯE['/Xll{xzX*zmta~gGyn(IN'ۢpN>4_b*SJc|%^s 5r~Izaw 𬯃`%>G4N{87R적y0P;S4 /:1AG->"SԑRzA֗:^N Wx-O &x'%>oᴂiS19)CvU%,Bֈ9ݛzX ot[ÖW t/"w|E>M_TA/i!ɬG[ ] {2Cutyfws*PKm ZzcA:y&k"WdN1TFM^ġ ogɈ37^i-lRlD1sPc.*׍:0ݰUS'*MjthT*Tp$*`T8+3Xn7+XfBD{9;5wWkS5l=*4ɻ.-|hnkbBI69?ߺL IS;T@VSl|@]]'οeAu+]-2~`sh0\@JվQGmzR]o1I*:4\51rQxzbp9#IWO;VG)CLǹ[%#fFɶ0csmv3uFOIs8 [gc g'F[M9߄Us;/ @Lf;)I9MJYUZXaTb@~(I֖={=h-EʒGu5`=r2nP5DtK ] EDVCD<HYߪbKUۍկ ~ "tήyA1  'tCOAoyy.J<::fFW]280q7Q}|&ÿMIcX_{  I-#wn&f:c9q>̪dy<}O8Y+Sr`gv% `wc3ߞS[zz"⠬ sq/ApA4ҞfgXMSsdmWDi>[٦69Ky 淪q_PեUF>WDM_P0A!vii+la͓d~:jyM3\`rjg%W*0;ÍR\1'{ecchكe:۴]c֛gr˳r=XEϳXC</Tu .+hhE#=9Wk#/W[vAS)8r+Zmy9ʆP?(E r1dw i`p%n.57xsOIkÚf;d4G⽨^#V+6qވԚMؠ$zTW^T]’yRMVR J&7E ^CklxvlsJ+͹nk|aU+lToFwu0Xvגˉn"UěTedDRGQa3,`SxKiHv}P%bfN6flaw/ƚ.t-ؓ^8 ֿn $8ngՒ$&~ G} I}ťF[ɳ5}$SvGR%Y50y<CsSbdDz˗S6j`$P!.d*l ؗGJ3dg[ɒ,l_eDTQ4\j&T^U[`[-vVB;Ƃ!Ӝ-p.L|L!fCcÈ=!J@^_$?ᥴ]x5<^1d]@Ϙz/{ -%$>om u>]M-jǴLQ%Zz5޷6-nݳ!ջkO:#Y]i=ưoi sl"c4Fvpo)i[\ QlYDCYX/ "= qQ+}+0$\}ć%^1pujleOY iI{ٺ 6Q\wI,mc}ogt:l`qLrp@͞씩n׼SttY9eO(^ &FGRK.YCk,G9n@|cxq1}#RUĘOSZ.mz&&[ jrm8nq Y_g0}pZbաқ/9cNقy$|{#]ăj&|Jظ->MBUDuڐ((]}HBd[e~*!Ynȯ_aacBpae-!F20Х+!HQkiE$xU8݄/p(s6%V/qp>0XD!8l]Hq]Oܵm(y;IHٹfH񚭦=G&BzWCbNNm ,[Ԉ#Q 2VuL<x<÷akCnC"Vb D!`'ZDK{º%p͂2EA]\WAԘAiՈ l}M!DigF\rP+  $9,@|h͡ZJU8Mgy왽f[aÚV`eTԔ+ SHi0hK4>Fhm+S<35&Kd6y&3M+`X%JU3ߦ'K@8 %3@ëiev,ҳǟЪžkJRc(ؚa"_gգ8kam&fov1g[]י~/RT dTYh/{MGYZ<@`bp3s5,yPFioW9[<#=+7eXVXQR'[cTXPB`".]24z|6~@͢=TІȐMo%FP yLFoVAUhΊZ1ad 9Uዳ  PޟH@*rT5,v7;]2 zrsr3 3eX*ݽPC LF@=$?Ė3a}:54H>Iл__ *//!J;mWCZCo=_kc1em |d&ͫWWVA hD2Snw^w|/]몲cHF 5nA67Iϊ{2{.d_w*gSDm~q1̎ںdַf/|IЧ \^C{ʎ=;}IT/z u6+400bx²q4H2Mtt>0 >vG] иB^R+9e<q<MFz""D55&˰P+@ *%yxptClr 35:SE#̰C-`S*qtFPɦqi ܚwPP];SN sP7$K*w/J{6߂HW0*#zCc.9N9{ 9AY(2xً|.bL7#FEFe-۹h/x @!w=OZ'2'/?Bp1ShQnm.2]A^7 U}FGRH++4sAh%?Xˌ egZVZMMTLl@W)biDՌeT~ߌQ&&{e&`ӨP1W`~]&?Y'x*]ҷtFjNgZut794p{% {.Y -ݠa%xBd`N}*~n KQF¹x}>5}ZDPʰP%:ZȡlcűNDD埥0.˵ʼn쀾Nd>@!wR#lT[ KD/?y$f+1l!i4df1oµ4]^%"зTAԕ(`1y;j˒cZg}o9LGmMv_I6wEFB΍sQT?`rLki ڋ;/+? ,ʾͼס<}AD.W{$R;f2ڞkXTHHCjds? Ct"Z!ޘvmg>PjEɚnp}Z9A@&$A)ҭH/Mx8?}R'T6^xVAa|($fl;_xCHlȼR )xoͩQ!tI ڪ1)+V5B5KW1.)1jаI3"k9ES˺1N9D<lSSa1Ӑ; "Ib<#};gc೭SӷDhL_>ZPtuwAZ݆sY3u@]}c5󗢈>hȂn yrC(UMv;#P}ʚMB: ֲngWqN8G_34 p|k[l|cB36LvXXaml.J+ UtC59]{Ԓ4oEa{(]aB-^J;s4ٚ/UHHzE8N/^v =BSz'~6B%tSo+alrW/=,Pֆڠ1o5Ej!U)N{>`ƏQ۳-U$"U^_%!̹|+lU E+]פt$#EH_׎\)dv=nNl1wDpxRI\VRO>DN9r0O)͍#\,z-nizDH(;PN<|sn֎Ȝ彫L~6@ ٛ"w SdLyX*1 7n[7/P꿗/Mc|qGKgSZ*g j閮qV(nYAW"bn?u2zgڳ6rŦ[@}!>-aE!X"nƺ%|9h;!@eY9EHp7hV82U*CC!ơh`O6Kl9ύ,fu0K wc9J!7^7JE9j[D,~x4 tOq~ ,512hv~նir:oue0IK6.X*+,B!ߎjh iǀ Q~136AT6TFИ/cE+Z&c7}WfA:Y\#x)u{ rB2UK ɬ}eK.:JbD;pr>)95 !OA(d̤ؖQlmZH>Xj%eBd&8@ (va˳WYLyҬ]~SO vKcJ\.E ~#T}RJc>OAD:zeК3:q>xl\{N0M[X}%]f*4!!kI{N}qlsߤ90/1yG* u8Nz;R+Ǭ{B@t̤I I}&n<+<_G8Zrɧq8Mݤ-_+l 8;鼂9JO7Wg'DuY)_ʗd_gB Ij$BLtDhRmܳbpJǰ5`snVxsR:߬R-G^MOٳGybTӚ]W%0}!GiMyt<2!(S2 T+C_w;Ru4|/{UYX~%<j:50rw)pxs@yKBa8/:H&}HWaҿ[QEV :pqNCy1ua/jsŠ}3Ld<ۛ*!0P[0e^d?y@e\Mh1-4_hn?ޤ%yKAAoouiA%K5(_|HR +^qo?L  ^ȄJsx뀇 Q/_ߟ^Z2qloZ-B?:c`B.us|1.]Qw\;ϥ ?@~ ECOv)HHxf'2Hے--1?˃`dcֳsJrqr6p?0 %\~GŚŚ/K *۩#5b&wK̛ⷾo?)weEGn'幕 o"73u&72Y鱲9뱳@ @BUr1;k k"\ L=`R1p"7%`%77w"s!w#wpr1 w21!7417psq$3%7102#94OĆIe"L`albk ( t%?cAYړs[X?bI?w}Fge~QhVP~T~ư7ПU廍+fe?gz?'R'txlo`vYPH?ЯX$_W79?M$_:"{uUOTOTOTOTOTOTOTOTT r'113{]ۿ;=(K5#zzBrfvf:6:z["0HȨ(hhttp4afP`@Z2A~``QPѠwX88Xx8xxhU6_Gd8JT솎/QPq >{".!)%-edlbjfna@w1q?ħgdfe|-)-+=4<2:6mbraqiyeum}cv\0/u:.Xxx8xq܃Gx%dpqfJv}CAT\*ۡ}_~o`w.Io_{Gf ml`yVTDZydZ%H~QJ ec-k$2{_Ȑ7*Jy[_;JiGVT69VP=57*d}<ŧ4-ǎ57Ϗᅟp̽U}/r*91H7i&诬wH*_~< kE$#ִs#/1(H/G6gZڢK$ }16z^?dw-Q9=iyWelre^E9ě4/Ik0CLڂܰC5&#GB*#r:1GK`ƽ4r -:J'ըQUemwIɶA$:6)EQCX2z6Fn4Ѳ Ӏ+S UAUQRs u$٭KۼɂKwn<9d2nZΗj7I>~Xr-u;[Cu[J(2pbYxݼqfgT/+n۔ vlE8*9lO|Wz+05_H Mq?.-B f0h~` =pE4d:8FOV=Rץ뷆irHS˗Vm>x0>퀉u$ {s:}}pc\BbГB[lr9~iɍ7`u;rdΣ>dD;?])ɑv߻T@45PіL reR. O͇ n1,- %I xN02C hnΪ$X&eI^@k20]͗ ]f^U_vpCF$_sz R!@tVD!bɕK Co~s=Fiq!J mxQX0`꣏o֮fJdd?/jSVPݹΦ^~|t$׻|J%7nؐDCX6v'U㢞p /ihٚϙ#ؓ43Gc\Lr]?|Ia,&OFm+H2Z^zN܉/TZTc#~{ekΥzO]lfAMc[)ax9`=/f] \Y ߦ/U@Zv%LWƕT^b`nm1oeNtyUkƍjy^~W w_ ~N(&.X5_.3Tҿ_mZq1ÿk\H#R=ZWorJ/*y) 1,ƂM^ _Ψc"7>K̈tM982媌3pm niF R, –Z@>gP9xm<&Nq~~TGDYiu!5);seѧ;wV۷׈:d6QJPJ[<@ *H ZoSUc;Oص/G{ӉIfhuTwIOV̵b6ENZPLKeE}K;_Me$sdf]8L|=B6e)@պx2Q.A2 ]ka[ܨ\Vr̿+)[9`l%!&tDH۸LDk3a3qE>}W`=3XZf~;k+(fGANk[h7y_Q=ZlWs'.7C`\_ogth{;H^U GL:[u,(h,HԹ3[ie Ji,V#CmWԤoSak&73Jⶸ^Wŏ${@ܷ[7gŃ&"/4_MXy=u/0(sGNr= ǵ}߱53u Gyꌭls´q/Fk:A5 nZAO7:5?%|ǹ2?%"V^\ Y``~4Ǡ`)Sp%<D˜;!v6Cf@&sG P OH#k`w=kq/z< xfrqGb|e^ǫ8Ʉ\OK8b7ئ& i )d[+7;G@5qodo|6 zUԫB_,t8 MռSRÃAJF?Pk!x\̔DFx%zoĕO| @FC[dDZ؇P />!yY{kWF>S]},MCddXXJڲ:NDGE9ŧ& RHŶ_~ݤZH_,äry1Mؠ6U6f!?"[u?|7\۫2RGcv߮dӻB^aY„3bv͟NCv9HeAϫ(7^wj53P[[W}t.MMa]̪CTm߮']B&8SkpVz>8:v xk0W95^IvCOH g#f:j&\(J4:7 qY_t ӗU%eKby/+_rw(UQ3K&[/`&dJn!MEEi'IoORЂiAN WA;z*OiԦ/dBJXyU uW|`?qZ~jZU~C ?e=tmϚq"`*n]hD)3eO)_3fmN2&*Lٜ~ȌXbK5Q~Ӈ ^*+c̶C+ ӋoUí q 8pJ Mu,_ Vwpc# }]]{)ҧS=]ڽD,1(J# goBu232'V wyvf ͂X{^Ma!`ڬ䨣QG5κ\g;?}IOLk|yN6JY~Jֻg k5dD [H @> :o]n @Y\[ kqt܊ wաcU8x> 69rd}߰ѧ>yFSa ~OJ]bd2d2tV(UrIP>(tY*A *靘aѽ+ޛKsA|ůʮ-o fLCD[?Iyph9ylF|* 'uy.Z8L}+r,hӔiӂc+GT:A*xG9wsil|I9M15&ɴ/hVo7n }`,%b原4 OUVT#Kcaj-ޣRq?8 x6`\c4_|/}ySΓ_*s{mO~d _x)>a/{4hfd[dԕkwji$K~UQ2ϷIh8|`!=޹ QGޤމ'2{B&kU)zB yihH gaZ}*p nα@DZqc-XƼF' SZ>'(ӏnD<UOZ9)_rշ88dl),`u^Dv bص@PX>NcB8pM~SwpUSO)X$n$J9) ng7^]&~a9i~=Saϐ0 `o-o֨V#O+G kBeʞݕXBIE%3'-I=ߛi[ic0uϙnѬm:RqA8"W0\*%!3 } S+ QKDgԼV~IxM,(͉qÓM JUW}qy}$+%\폜 M4U1FVJ{ޙgȂic.5j50K E ɄO& Hm{poYр_dϖ{s|(H@/g)28+-2o)Ƅy:N:!ǪTQR*A?|L 3PUYgz_NH!dˆs\p$4*灓_){.$ؖ՞pÎ>%~̆8 L|Y|>f̑"J) nm(5Ujp!gF\2/AK ^o!Ume(QOTo탹Zn}Rn#gįFXI$u_t@4D*JsJBs[M)Wͼw2ՌjGWJxOYuY=gs0#P+M6j6k1OleP u•#W51dPZ #WZ52AC?Dx @?v!@ޟ#1E›(ѥ`7^R~:*=!n93 4WDV;4+հ]>2 Tql,kPEQ9V%x!MrKqn}HjV؞.x%8ֱwAB M՘)"_2ZdžvarhnJU*=~wS!\Ná͵DնKң$gaB+A;x%p Z'`\{h2Zgz1A#޵.h&R+Hg*g*nʜtØF֫j24(YbvFA#,ޗhA7&wqI sqMe,G&\Ȏ/B|赟_#hFqq沰H LԔLk?+4A%&o0OsZKWT~M,įN'93,q4al+>LCF(2퓧ŠS8@b~HB<J}lgQ_45utX_Ő<q-HwE 4-eP^޹&;a6Sѧn0ж "+Xsg=o28km{Ƒ$ܯV"GIBۜNl,P͖2 "32uM],?We v\C({|3|Ő^(4Y8;%2)gL&{0M봞H'7>q(^7YxZtbny%Qdybܱгrm`[-Z)/1۵Q D:uc7g=pCAH6B6BB2dIb@r Vu]/xG\o?ײ8{cZ-2)`> v'G!WhX..gakմgt. =L8 k=R 5r|d<4dI38%o,~FQ_e-SSז5\Oh>"ÌvIrؤ:]Sc()' U-\2/ndmzTgC9$p"{luCl|*[R=dp];K N!K!'umɒ&e+~ -G^p˒C:8 qluQ G 10VZ2[0:۹3V0Z3ۚ?q@X8Y9A Rx&ygHK=Qn32"N~ʉ@q8ڵII1PG=!7Rχ.UP><Ehr/>;Zb/0f)C` K?UqIV>;K(6+<_ ~XQ]YT 8*j QoTëL Ej dfnpteY.~NryvL찣z"Tu B*=d,~-iw 1<2p?85eS oOs ot3&9*o//="9| 4V0247;=<ۮw?M޹v~Y*ˆ/K s@WF/$Y1?imX%4q'! oubֻ4=ri+a!Lk68ݠ[[(YH]vᚨ8fNy Y@ksC@_;[QH䚟jҚ>>t^WXǹ{:q[Ϳ~O$Vfy~qy6x4ZmFoi%̘h˛ "ElɖM3KC uBK d2M~u 9ass|4j b<6!}yU=NaAIrE ɗt^D7\9<yʳD'\Kz{*f+.AQ Mbn<IQޗwN,Y k̦b{{}V\J;YjeZ8;k,j~GɺX{/ ; ;H]wͧl%x}aX:W|rKs>@Uzl}> ]m8 -BCUVv~OMHJ`.\Ax3)oeSGPb`c3p+rخJS< 3D\ ĆS7~ GZl:ꈰuۮeAa"/2)RhZ8LpWA)O[XɒUW)lwSmd8L>!~eGoUYBRt޾YѴ=:b>%N곗bao1vnXW>WxK5Ev'\}owxH*}a}1*`G"ӇS]>z>6T|梠lh 785,/vȏm˙0+t>f}D䛒yΝBB&dj8lJ5ƕywR<╜n\iiw;!eG9wyB38{f8rxØΆdY*?Z*0H:,Nk^`wX<\ ^ nS-A#6Բ82뻅GG$FoێL.cV˞mnOFT|_>kRM)8yc RQoT[Gq2%7 ;!D"~ͮ sVnj9s]"8uk9X7Um^ցv Q)0+ZJϯY_"Ga4M] 1ԺyXӳ E[[㞚0D?ǤzE"G s) G6FQT~,p%@PWO0X<:%K<rAΥ+15U1A|:Dy5HՍ6i<['R->Xq uI^>6okCg(hkjKA4I]rNɈ`GODq3hup`H%C5jHHD~HWvYtG 9Rz*y|: 76}1SWXK(7#/b°KUt+1偓:i?>͸v[`~O:`4 @A:Vo#ێM!i٪ln߉ /_Pu=ߔ]TGO6"i`PbdT[2ObVJTxpjh&-]wS[Y-'0nɖɻe>W"lO" >zQݰ#=wHD.xQ`pG=wbvrB ib3CpIyU]bwF9xD39l̞d5B_BlàZ!aH!7ȝw:mZC%pQCi˙)^*Vu>vğ"螮SOG8|,MG+$As'}Fmr/rBT%;gJY K."c;޼zek n^YdEY]u65&!S/,dIwy =ogtQbNsZIrQ +"آ]vlٯO^I2{NAH!D][gp϶͛' FobmN1KFPFŦP]6]}-ݑ܏<-Z|U{ -Aiݡ܂;Q-xOo7̿w[nթ:RνݥkE&(E:Pqq2w2WNfvvfv. vn_? #Fʁ#?!XV%rRJez"#ptob~?;uC׏O{{- G?pOxyhYp/L\BD0ToNmF:_ U*Ar}+{/h/_ow\_tYv9):yzytPl*M|t.9^v1@$MD{Qtq69gZ BK)mCG9Kj/]y.}r:6=tڥ_ %;)2bX5P(*M+ bOưFZ!b x+ߌH 5 5 L1ra؎fQȕʥ`ԇ )u%=?8j3Dx~idMُtEˍ슈2W05}"VWV& UX8MU[+D]Fhn<D TWqov;x.UX=>amJnD?a%1ic_tT ^(ɕoqܝW+ٸC({0x$DГE >SUD:":#0b{wM ;n,mmƏuuBFnaq[g"5{5mZk硨 (^dZ&.ۭ/Z[I&J2e3[^9H &Ş ,_Pg ~xhhblג`.Š~o͇=C#^K$8Oᣤs݉G/?`y>$ZFcP5c)J]4g;iā9wjF*7fg *SV +W#,^V{UR"NۙAZOC[Kۙ~\E=9wT$S=Mubu8GQ|5,4dxTjZ?0=Qo^7,霯pPj|GѨz^D]kz^H&sIBa]TypH~EVNY_H NWg(*c.Œ-}|X,AAt3a龂EԸA6F",';1w{U b2-ґ8g(nʁuR4fL B./ @['ҟ׵H*^ ߎ<]Qupuhg>N`+ލn~ߦC ;1fڜ!P ̺:Beo> +Ñ,vlWJrj )Pv$=YSz.U(F<],OW  q9bן|f+F;X;m5S`n"~bK R  Ugm PV,G6݀)*:ؿm{4vE5R,E:)lxh¡إr4WL+ p[,DɑF܄4W3o/)$Ko fd[J7 ,%/8FaPhS(?hQE3y16X[2bwo*}.LY{_%Z;hC#r y'_A 4% \{_3UN&Sn3su}Y=Ul2a]ϗnzM| zvD#-b.)mr!Ma@{w 0d~9bny ,:|)~;XrVB)ް Kܥ&X:]y0۠b+>t^_Z߰[ Vߐ)d׏*pnp.8HB9n!4K*k/_T(> -kbÞ3U2i>w;S߬yLȖ()gcJcձ1!:e6 ^"f)*uHg_;S3("ۯ\a6x ȶ^>Mei(K8uF(VNv`iDi p;1!UN=[Vlx괺=TiUeeGti=~l*||H廊{uОřΤsyfu 7V|;J9P<@ۛ! ~FR`v58'=ƛ6b~H *JK?!d] EqoɢL7v6e^ Y4҄kٳ+p[';^O~;u>TQOS"sHJ;!pE7ֹCFUjpp%zȚ9)]4 g 5#$FF(4GãyHx0*ci __[̂+ ˉ7/*t7_Bl8ł:R/?|AZ-u"-(yzq\ta||j)Um@p=&Uc>:[JyP@~o!pJ! ,F ㅢ3un݇wؼԄˮI|֕i_*E?A-ƛKx1gGCXDT𻂪DP|R5{Fvv5?gAOM(  Go&ʻlECFGї}?""{-s%'~9 b!熆"lgz_cJ Hՠo&_dޔβb/CwzS?2vu !@q KI'(k6*v/?榾9_x޶gV7rU:0-X}|;q)Bpp&^8>{̆iddNV@`?xwV}E ◫ڧpSN(g-&TMpPjN_ч]\]̏)/LNE$=qbә' t>=AR>&ӫk U3 Acpoӝ/ #!=E\}'멠&Umt&_@@!1Ac\zZ~lUnnwmmy݋%BT7g`urG5dsl] t|a ':$4]RdSW8\+>(K(M!x$dx_DVZxֿQA}Zx<R3䂾(ksMMLjpJLǘ־$gN2WtH&afЊ$.?h<5%ÒJy}mP *z*\]a3ܬ%{ՓZyt;v;sqL~qInK! x{a_7|7٪V]6%;;7d'_Q{>٨P0i3ORsu !́be:0d1[R #F\=ZOf<|]XZѸ@ d8 (m{׸ϓrb%-CM^"Ԓ<[4pnE}c]~i}2\#1;?&|#ApݓЖS'sn![ Gbh^rFg򜏻3 [ZnWtUjZQ{b9(^\L(B]=NB+jjHf |F~SP4yXy4]>x,Z{}x}IBψR)oWҙȯ4D>J(F /8 P70ef}HOӇK f : 1 NlXJrB1L9Vt˜_5t t"9@_e_SQK認 "9Df3aVA6Y@}Od>yN-m˔[/De>LxAxE)Un-;%*k=HPu:ŷʀxqך{.;,*#/Uy]v[}5d!s_Y sudi2By;}őe;D͓=:9Χg2d[+-EUfzoQ3꽄xc"CXom{k9o6/o A`xON *'D0 pa:pM[\x'"_lZJ:oJ% uѩY}dzB~[}Rg1fHoT T+z:Wܚc.SxܟIr={eWв/`B7!/ 7Ďioo|' &.cIdMv>iU [^A>mMGD3;N}AKRmIEP!^/.)PhJǚ-hf_Z1"'l3gaӳ KіI 굉ZÊ [!6*SOvBkah!lz[ 11v+V`h.2Kgɸl3> lD.Ke/JFR/xeC#idByf(~,gr@e0vн rcͷyb,Fb B}a`z"__|K|0X,˜=C8lۉB0Yӎ,!x> jkDa:UP# 9a#R@`4~_h9 x/ˮ""ɑ1P$%|MD1"{3dA"-ZK龑ͦmsYiiVGrt^DesB`+FN!BtٙkfB9*-18 Tجpʮ3{bl50}SAj_"9 @ uX}3Ca6﵊{5j8?IUh _3Q|==x c1 l:ET~Ld~_yF݉MȑzG4WJ[;!gdWAyCQtEPݧQM|::MV-  \9*PΩ@ì#5camֽ3XhN:Dtk)G)TfvC#^`g,R2#Nlb D{3+GFMЩ*13u P(`{h \4-VMG(-/R ɮ'Y2'BgR,DVmd=5XNQQ0a8pAS߅^|Ebz ,ǥ&q,}(Ʋ*Owg ZL+B2AR ~i[;[6jP3y6E+{h|rF ʔI1LNmp/-K:Yx&hCdz쑀BĒ#B".Y%&*·ã\;Q&הaһ4Bv} ?͎3o$JgO~s7_?zZ*_ E{;<}i*B!4=@CA"Bsa/\ÏMs)Z/܁ch_ӂR|8cl- ^4kRƮ/IX`GwOm0ml -U+߳E}a^cjrsC8s /K]':Gsr9ڪ隳tIr(f 0db jT;ee <W<>(˾mNV2bTzkuP'6T1Lu`9ȼJ'!Nx ׆=.29} *]z7S#ӭS xX@-$'NW4mb-pUp4JߎW/bRª״`pɝ854~0D(~l̾l Q>Y6v G#'Vd@Z &WoхםC7Ƀ9a"- mџf}ȯ$P.@-M Ams; {|[ y۳f|S ooNcBQ QC cbœo^6f  bQg'!;O1\%۔ݸ?]^7¤p*Nыz$WnhM¼EmU o5[bxPq℮詗 ')ݝP/IR{!v8D*Q#On˷3HùÑfS.+")FIC ny1CIfqU|ba2}:w*l[wL,22=[W'Opp;*7`Em:L+]6굅i{۩EcPwe{RQd3a)t!lqlfmJ_p>Qt*`{BQ`ؗ[GD= X1,i-M k@*8D ~@LG\>=yˇi10Ή.̬ы~vs*Z2<9a3KӺC$inl^h.҇t }AMSۮ W/8b4/[Sk1_2hFB  .&mqj+gF>`P"b(uǭӕΌC1䫶tX~!w? Իfq*?$53(N-çK#/VRs^}FBelݎE]B--]H7Y+BTIe3L"0?2)5+P\vt"kA+q2'e|kbTg1Cb]Ao2^akփ4[4b5?HYFZuvyZJ3Nx%;mVZI= ؜2nwйTYQM_1YD@=􍣾S0sgL"Fw}KZxqmPrޕA*jcHwbt-_+gw-] ί'62+ 98Nqꎶ6Whun\2NvuҚR^t Nə̒R&DWmEG#+ ։Pyh{<lT& uL [Yi(~{VLP~Gl^3jKkm˵V YH-H-YktMo]Vb^a_8hm?*دj0r-g-~ wUC1,#;fc`=hr ^R䨫{7e ua:84>s''A1̓yܩ/[gX ݈G9|gEQjOJUFrKE龊 qi{3Ġe0V nV ]e]ۦY2,_B<ь=%k܏ yLç1b5 ZiF4TL`B@FQV; Ivd³ q$#ɪ8 ŰYA&Աg)w9Tb$_H䈳.m(Woԩ@bZ(>LcI*.,}[+>d"Bję) Xpmn3m/̅ݪk _?;e4Z{+ _?xx LiG1a ҃!< qX)1rK Jd (AkjސLgX~* 6,= z%] `5dOr!,RN(R"|Axn[v$مDL&rD"S+E{tr0 FPڦh>5񂪁[ЅPnD))C Sn~BJ14NN`BR;1S sw@;A+H9 8b!l0P_L1jX~! +6ug"g39ٷ,k-\ٟuO&-PF?&Aێ\}|d :T=ÏQ-W^íx?2>#d3kMO gȁA7mylx3RsGӸ>Y=/8:d8־@/)'`NxCCL6=ff/NQ[-O*!jjE4L,aIrpUL йXѯ숩 {0J5YDG%LDcG~GVoq,0gD9KٲUnXn,)~6ϣ@w[qPu6TR1eI]-s%w'vquNM[ue'[7*(l/Z l"^Ά/أr1SYZP ? Wo-DgXΦ4:.?]l-}&Jش:;َRIר=ի.ҩWC@UiЈ"" 1CTUp()R?:s`R.8'#:^i@FS"uޚO'F\(rm,J+=02e V>pHI,FP$v'U1H&ҰTa}V~wA9S競;'C'[Ά4*<. $0= !btrg *} Ո2Q~l 3*ҕ6c ,M(sAKO'VR?)&*eTicgg#S}q甂w }2ȓ/t0fTHbrEyFz\>VoZcrl^*~_qQ*砃O1wL\-uzB%J~<=Msr&n5=w(y==!{!RhYߛP/;2ʶwޫ2; 't5}` {v?d7 k]~.uQ 2gjޡ9XͶN{a[;짖Nl1CQzu̺?c畯 VY跦7Kpu//qk#ڱp$*ٕQ`h 6翌bʌ /b; 12:ײN^v*H8 Hq~ ŝ$ًMgHO_#{tL͸ R]J=X,:wOvyр[D^*ftYE-)#(54r4/ Q0SmZ!# %N~ ERnb8c2d'LDdDdcBLQH|sȶ֐3J)o8 Ͻ3"/jp5Hi?S朗FOAzo6Lq@,x9uA+r67FP|;޺9cZ0# l##ztn4^g;k=`&WQ/hb_ ] Wꓝƅ0uւ YB5%ìx׹PfxX[D~8TRO7[j;Tyfs[}fP_~e8 [`06_-pn Y˨?, &EGJpkWO|a ^W_L`zK{;VgNaQ֡ 6і`J:J 5zl=FUlo_;n(8A ~#f4'@”)CH8Yyg-+ȡa=F k -epTF5n+B\U-pZ$I_P&HWНj,F xat8PP"& _Kf&}NB͌}=!0j'<>PHJTL4ҧJ0" /zW&5e`=ұSCK}ϥ'MMQo n>J lpN:L0|lɰ_0ԒI.j{RH9 0Vh0e)YU4:okD} hr+faV~KUU Z}1M9I6Rk LP¤||Y;;)ȳbW1+VQq mǥ79;'ne(+%ܒl/XL޵TyX$ڻVv"YrR۫ xɗ_TCWٜt MK"Tq`:7h;(\sCfgD&~oϐD$-NtPd*1ƾ6&n@X蓩-*]D|O0(4XY[S@nu1VD+~F2EKh1BE?ea=A5~^)+ZY)diS˷Yo 5 g)/Өr"U3HSZ@E鞋&4*Eχ52~ZL/ŵGq呺a zVTBƣOY9q`|oQ'X}Im C!0rt$ΔikI);+52 :reޠFA9)30{8=#vGϗ)n!C WTzNemnt.F;Y,c֐,^p}S4枬s\#ϛ,=؛êx~1+*>@/+xQJm[h:![\#JAa䐴ِ /჏tjXʴ#gu>p{BcV0Wj2F>ó\<-HrV@KwX/xPz-&tc/QRrljd_d|C{sG1vsu'()~H@g@ VOqK cG5ก>rO%H 5ST=^nI-#@}c%S%;?zƩXlʕdV ]HݎE5QySy-KY^4eAަPW [ƒ%w^ ϧhIzR'Q/j]w:ayĢ~nKѓ];qdks)"^}ёB> !F1]9]eK*}|OMeQVH Rrb96** zJe+0A$]:S2KN'ْi SN!8A(y Q~U?\,txň &n=4'2VsYriBSRZ*mO[txw#j}7g,|&"EGm}Xj0ql47bZXҎ.XPT-|itCglxg$2$lm9c,$}a%oqۮG]Lbļ/F9<̹Cڽ^[Y-6;fOWԁ َj7zV0@y#"2m ևSȀ7+JV"XHW$H$FẔs9F bm)6:+C_xylV,\3V"ƙYpx;2w ˂QYh,RVBXex}\`[b ߱]_S1Y y]~TN ^YIu`I=gsy'bEtRu}A\x˗ᓇB^1m[6 +U\4oܩ$+-Hɗb=,ľ$NBu"k?ܰ>?נܿD981P=5SU\L]>zXaP\D&TKj MݦOaT{/u1t>a:1*T҄L5QRbNe1m1;.# EXK|CÚM:–}jhޢlnAPۏ`/dl{N#s.&-W"ٹOPGbNĵxxȤ48xW^jrc[rjl?K 0D"d4h6G[O֬WP3ᶔnbF :uxlKD0(B5pj5Ǯ!, ,p|:Ow;K]E ?Þo7b|\ӯ~2߻Co0/J'<-B [f!I.ÒnpHBÐ /76h+rH#Z_>DS _aW#_^38il>tepzR`4EO8+7ܞw8 5/b,@w bFP86Jo_¿Hm;*tyvo!HII {h/YG',8Ƽ[nђoPwyã>sch~$?Eٓ<5K/C) 78Z&k^R 2Q;^[x|W ɬ0ǿg\]Ig_ \-Njו >z7<>-+v_yݷ?-{|ڻlyI͹}Yt:NżG/7ʟDOw 0V~<ǗEw4FWM_}zv[_߿lS}SϟRͿ>%wf7qx¿xc}?ookcct}zSqcocD_=|_R.s7*;_ǦOmwOZ{7pqfQi 9D_yG?Kco{t5L[ulUumUT?W<4vm? |{oS>ܿÇOZT~O,꩟wOmD碧k]XڞZ=[ʮ?>^?>ۥ?1;ew89x_9x|_ &N1#[cܯ fono,k8(*Z*fm=Z;A Mm)[)!F”܊lvfJFE BnOX;Cܬl܄)WW6+%"N”7JGQ"a` fd6dcgsq?M*&ȯ +?Dim'|?LNՕŕWO%mݘmR/.:7uvKb"XXYXYRI/ng̪fh`4&TV>ꯂOPv0}+I[Cgkc'9Iaʧ+,FFl\RR|bO㐒K O]ZĞ08$yx$y$$x+gā65g\vW@*A/3@"61uu55&_fO'<6O}$ 'tzGDx&d!5mAaBE?£`cqOCd $NC"s{YD1s{^Hc#4ol(n(6t-?rU,Z-!҃.[851]b%I|zk1m lfpo9;z2dcx QI m\8ҟi=ml=hƁK_ o'ʜo8X;G/#̈́`5dp$NJd Svm!p}yCt"I?BJ`W3A܊z(; o@h;d9`)lվRF&Hr:O"$8rr{ dzj(@ ٱ OZQO,4 !M.'M/mC9C/ƜBaBUX}ORu8߁vxXd^AnАw b޿c<" đy告%'ˆ1BLn%[":\>"i~Vd4!ЬMnUƌ;TO1R?8yO~|#/Kn6*5fĀ罝pya"uߋ׌)]ٴ.Y#㝼J̱c!L~׼8*qNFAw;FPЅDhsDBi?v]u@ 0tnE[̘6 ޼x`Ἳ2jr@ҳꦉ͆c8mTꍂFʜʊHC/}=L:kyݱF&^]e9KY%:0k͔oLHLR"6\fai+EZ{D zCŝ2}&Rp-;R}-RuSPYt Ǚ? , cJ0ԄeQ%{"OQ黳O֦9/_]*$r|x1J%7'hs'U5K|ope6ڙU"& u:|) ;оٷ+nR9f"t ˰Z9]~FC&,XggIaQ;MtϫL@{"VDH憎eU~"Vvm$}P#/)"Xg1`lV"eBn#Qnԝg&5fPIY^n!AvyqbJCڮ{5Cm 9S]ިh)Uu4% պe{VWf}Q#@̩AMF|~utg=Y 41V. Lm_k0-KER8  ,uޖW ]W@ԓb?D_T=􉌩^wΆj-;cJvr5:>ؒiV$UŪo?#w~s$ݦ@>}h 5|t@Z'31]QZ?RuNS. [STwnuџru k-bCШ2z.B =g?( bjb|vEӔ&.ɼE,p^Uu;I5bR)u)Q=A]۲fȗ-l#7+3րs3$f`KBA_ɷ1(ز)jb1W͔Ǟ.JCa`:8.fP5bAsdo~n5Dl\a9֑AR1%50*`Cv18oWC!x_b7;i]7ʦ9 vթPRޞpu5E>+9^K@ZL)w$mdٜbK!p-h>`I$\"e]{^ėiG*`.FϠy7@$^ejMŀly6U%c!C7* FByQ})o~,t^u9O4(NH9ʭ>` q ✰bL{.}?8*DJʭcBSH&L!@!PbPlbTW&*ݡkyn&j[nO|VT.J<(ɰ\+cr 5ЭReyif/bIW7IX*; HXc6 };A._L?&ś.ljo偫`L \Rlsʏ\a2R\n:n%Pr[U5ɾ{c+i$Zmqԁncmkۭ}!^QcL1;NQ-%ھ0&+8SzuȈccގG-砎Y:nt ;U2{XV)e¢W MپE]]On ݳ72t^k۷q%EuAXI$Qu #('N2ٙ:pAܚUv! ]̥8݇/u kJ19d9r ˠ2DXqTIx?_!Y#̢ !A3k_#F>pcs6D|Q^2SUt<1 =pU'?)z2v3R:S8SVzkNKC+B] )H2JVlz?%(%LpLVMo 3T,Cm."(cCBdG8< O,3;vr'!X8ϔGVy LJ<<&C>[g TK6؋W)?,DA5 ԰>(J=C;Pʣp'5l*B x m!BI⨊[T? ) !;C †;6qlF+,R4̏a8/2$nyBrxKҤ;p =d=fd2SO\N=2j3 NLDSBXDm?NNc^}ʅD JO)vgTd/lQYK+ "KU$ ×+| S0S0$j10frJ# HǕxIWfv敁9eu+NAI16 T|su3mT-5&.^)ЇE\< ?y4 P[R "Yk٫;N~\xwŸ6&*dUQ-s]Zt&>I*JۮDfc k&I6Fݏ\L 8.~,~H:whq݈uu9T_ u CS73 :VD=8O&|'K omwBB=O@@VifRD(6R.+YS^g[/ܠVF3(C:s6&vT$C*AxP2=XS\'vc'qP{ zUL+$ ^OX1 >?Cv.>DPMq-RQiQ@ָ/|'1qA 4鷌8nMHQ ~y`96M!Ya* TnG;vDySoNm%Eq2>k,J}\&\_pѯyD0. %IHW?Qi}+-R$ 1v*V#f\d[k66|$;?Ht8HF1S6ȶs2ljN[Yr˜ 1> @׭(YPJK[aH9v!Exhj8*Gl~& Uaxϋ^WO&0 k H6})9 QT(+ cSY,IY"M{o6˥.~m8*:ޏ#+;'_q2r|tfqJٗ/]G畕'99dd=gddg?zJK׸ONF/.GF~mihllii}YTU11srwuݳ55}ʱ#';> '=>~|xx?;@V98 MB O9LL~~gee?tt=+)r漪fu8!jb8)0$0 fm{xivOcc'W'YY'`P<"+IiKHqL9@ӯ뿆   AT|" $KA U`D#p=D'TaXJDZ8 d^v )<DO  Bf{N, ˠ<.K9 1Q>uE`!j5?jV3Ȩ )IiA9q r?o\s/lKs)%y?/wܲ^dX;8l!^e s^s^ =jL:o>+9+nZ6-+Цh@wqTBOf'yz' {GIQ|?{~,].n~6x7]w=p5cjff݇ۛջ덩듽멯#_.+s/G />M,|1Tr5Rq>|>Px1U9Y{2Pp3^v9R|9Z|5Zt5^ЗƿJ!!ZR *15}ɦ"&f$rF64/ޱ3U ((!f^k@;gT, |uWLzoIaa5^ dgC*@tAdP?HG_-v窢MhR.c{CA=.f!vJ쮭}۾_:7'7ϮTFSWKqIִYtdoK>e'?dLrz4]\rt\=\srv)ǎčj$  \9^=8[:vV1W=~0v:m{QQaqa羝{/ NmWl%0BBԔ"_ щdʤ2`fX14 $3 HT42lTB 0!..- 3 VW DdbV$!}-lMyq||0YZ K `5)/D999~fkoJ _08 eæ}4 zz/azQ%PaLx)#s ƐVyd`{BmKm[u;[N杗I WdAcǕW_$ojk~2y>}9ZҵV)DI".q[^ij5SΒ,b>20"ȗOkl H ⌼|.p`>aZ=C05m/S}u_+6c "$vl:muUd6[G+.95G EήεpHh_EyGB46^ >u!%?L+2%#9]?g߉N/TܫY| w7f_vaOVuxEAzmI;R7^UdhmGCkOmVW!p#I9DL񶗤_mk:ybU R2 :H :r:J6luELG@sk؛?~d觐dptGHX9m(Rh|&$&u-5w_&fKB1ON(wW[☰1r%ǁݟQt?GKg"/Yxw4!jz'gcN@As>S0FTFE#zj!~Shq|TC8YX6!ι)nFJ D7'qo`ekh'W??Xw_hk+c&1ybMS>x=sr b"UvU) Qi +RW=4yӴa й&˟yxwĿH0Jqd<= -Qp3Qbz[5b oc[OSW+0m4TX1a| IG5nj[[@"=IL d'o7<{x X4y$ՃPI z:bĈXU6e&lDESpĪP[<2eza51jDCL@<҆4$}A۰F>H-& ~>H'e5¦Qm`Йۮؕ6rk P5"U-Zmv*7)JDE.ћrᲛ3|^(v` ˮ|K)%[y+rͩu!5[j C,`KqXٜBCeHy5KFU L/czns z7Kq+ǚ}D8^.cٜ?^]ߖɘ <`▪uI]$b 1dHz:cNChfިGMx@Ap\t)W' i"KVZT2=g_=aJgff|?S tr8cWϐN ~Rdit} ~Vvnץ~wĪk׆&1%DYQQl"13{D@)*AnsV]F%Yʠ o E)*c-wy`g[XBLU $9*ʒ%%rUM wsC$PҪM3q-Njd',j%p9C֠acA8 H1OfY5I((|x51Jm-e4v޲;z *m:p])PpL 5`SZK`9ݢ 6T8wuUHM3?~IJ1?Gq? ЅKmmmkkeVVϟ߿ۛ:::| X9ubN8D8К X~!x? :=XPL`'_Q`u2H%)ZO_`qqK7_7\y= iN6ɍ=, :eF&'@!AAaB9cU-vN篲N -qj)R@˘1iɂC*0!ⅉ#A6rf]r+ c21ņ2;x:V7E|'Ɣb*=KO Kl/Z&Xޛρp2aLƕf}"?q?Xmov{{} s 3(3svnn323eKZڔ/'g 7U44=‹dd_pqpq MMgWVVv}*" ! IR9ѳp+〠}qd*Zюв޶59ɣX+x/ . 'ࠠef@X  >n) ,^SV/𿭃P xo{{{uuυU/X_vwwM[;ke*]}bёޱoZ[*OBᡯ?~+crb`IB_mMMgGG_W֬MM;mr-uu5-[ ߃@,T#0= E< !# &R'%%A B(*9*\"딕^a!$QO1YJG:ywppk{yythyyiuue}S:<999?<:{>??:}s瓄LN  Y ΍V gNMe.M-.,-nMM/LOOMOM` e#<`6QD"{vn7K#0WL IB`Wm[ H#'Ϻn &ʵ?v #a$HJl`.)Q&qi5RD?Qh.L #)trкܐ&%:TY0 @膘N0,qQ&|zGLB:Q("kaBY |"ˑkԏMgz۬+4 äU@M/ GcK@ AI.P῍ ODk9Djxk(*9 tA'=goiB_T9%dtgffk8{y%#)8M\7϶Hf2j!eqc) ?rr$crV791(0$F(IS΢h׍3F IjωPQ@yl)$tm(f(r 9<IK ,.6%>62 =720Y (cq71OH?'~risףDEXej JQIX0&(~#fø׍Ӊ1KŒJcHZ8FAO8L*l~Ⱦbkhsי5SJw>FhUݔOC#i c-f룾u@*gs=3VMq) s}J?*] J+{\+EClS:eĆLWzBgĔwz$\%#arUy'SAɷ Nr}>px Dxpp#i]Ի}=mQet e{Ej`M:=2L(wf جhPcH PJN>q\4,moW-O~ U2:¬e.u(֦#m󽧡p6!|1|Q6`j9DՎ U%BNJF)N1v^%uޯo~Ϲ(iTq |5`;,SgդFBCy%ǁmYv 'wgz:п?N緑:XJP`ld:p V GG8rVH̗&Ɨ'rjܼ\?G?!.+OC_-eJ.oggG2f B:ŠǝK}WkQ;NF_sFz] U5Mb>8?Mz-ӯǮu}s?jnʶNK#T?:*lV,n,=n $NG:/? eA$Bt*vvc]l1`7ʐ(!4L,ȡ( (DbP3t*Tĺ2<F<= l?3~X"q陙IQG;}6so@v+%:4usOG |C ]+IKGwSFyS8>S =K7w\qKN8SU3(S SK?P\";/2qE/L._x5l]"[/>,1EOYm][\: l9ZT,|ʨh3oʩfibi2>p:N(iп_=e2s+p/}eeGZ9_SFѫwj >AH1& I,DAHHpaEer2'~J 'gt,}%Hž)ĬQ =99*O]?&SRQb#:ajMzC֯KTC#;m_1K:@S≤ki|8r TX3lqEԼ6wI6!^TXBH"Fxv^w&*@(2| ښIծ&F78(lEB8N>~9̀zj$E_3$/5p>9c#5 EUx^N˅> hu'c,4c~t10@~=c;ƓLPŶ*^Ivy&rYi>ȴ7\"8e (0F86fn0 ؎L@M% {66-$7)3FcDA4b&`CڅJ ZCXuzCL|p0i0eMzz$J#BD0Ɖݶ.>3z]7`_[AH`Pn+l%C w L.p n&r6{ZBAp;-[s?HWنbϠ ĶF0YY!cϱQ9fXu4h$ukA? A(z\}TTCm9>6K 4*00Lkm@l`8&Ȣ}D!ZL(I k  I-*BxfHɮC% ƹSzurj-ꛔ<3ЁD3lzfq˺¹𦋂c{Aeŏp2H %@h v)~dSl%w3*gzBZ\ݢczph}tI@k47')ȉj{ QWx,#۞2u)`nMp-tsaA8or,zx4( E NSyHP&s~*ES`vB'2}N(,Q &+Y@! 7/6*dfck.I3BUc_-M`7qhS SmC۟9cA,{ݢ@Ca+}JkC*J+?*7(Py'Hx)ֆBRRxV%o,}?U^Ix0j($U:7[4m5_@#T|tCPBM0IT`U01lu=F7n[1Ql4ҍXHll ;?}6?[/Y DK*!zчH FUV }fڍO؞jx]u3N$U2`#tcQe vZOS7PQKΑّHI`jK,0CF` ĄFQ4ěweڻN)dUZA9F~@%qGROi7C2-g"'K=~AnZX7𿠰A;h } ]{l6&rqh-$FR_OI-U]TLi?~m CTCE@A 56D0 mu>v+J;};2?SB9yJ?`_g "7ݪZzAH!j3U$>/!#@ani/`sa ɸr 9P.2UNvX/-}_P:Gd8K?&&G0*0㦿57o "#~8Ң¦Pu?G.! (cH)ub%=Uըey?q{@DMh*9 3(>^J8F()VTTuCSO[G1jĽosXfcH谞ο4lja˶e㡂:`O@ MwMF4<#)9yP6hP h#R(\>D>&9] 7(0'*E tC 1{ D7~ 06ü2*?8CƛOJT]W IUpoPOHQх@z(&*: N 0 ST%N4`>4Jbٙi0h9t X@֡-(qVm`*8B] J)F _Ag?.@*M[#S#yN^  #' @܅ gB@Bc8<8n3NhKN:Px؜W`C:!Mb 1/駔(sԥgЮU+)_i@x(נFٵtVTji2Xc {f8FBܼ61::|1;ԫuZ 3 x\;~I \(6SIxWh )[0M Lc?LuqM%BC) **("j@DD@TTԄ&]4!TAZ &P vZ3?˵wys?M1aѡDZs' w ̑ڡ#yFȑ])Nc`~̃)Cx,̓y+|qaHs%e!3N3@Mi$Yn.*uH|?ȱ >@K}D*j|2D1\8Ay4B(oj 欽j#KH5}> fq6 N눨Ž#8B=3v(S"x^Əic[hj,dmU/;9A"L]3 Bf0Ԁq-%1Ɂ hKU,Dx&Hv?'7ѳ5Z-8FA͋ v?NX]M6ۙM}de46=wǵÕkra$a8HNUy *E[VExpBR.qC#DX]=i‹>9+D#A+]Hd!Jo4H!ɐXDiI*}!(l4fa{]pW5 ¥l,`ig6BkFt$9vjOGMf2!#C#,|g [ffHv*0J;CtWQw)&ؓڂ>23i-fƀhV?=aG@`n'2g0g?LA'*dy`_q&DhE?&ؔsU;Avv6l pa>$",/w?;tmC06N[Pp{s FdpQʃ.롌QXсX0BJv pp~`군4-}g83~0THL2:~O$LuJ"Yپf9֊.pK"zh -mFf߼n'aIt}Ywݢ/  KECK5&.DgKzޤ>#z|zƣ_mxY q6.dw^xԅt3F]h?*v( y,wGH]y!b| ,9EE^)/g4@ GF% 0@, 4}` =:q?Į` =ˡ`kN<5WkaMb<5I1A 23Qu\ucfh1İ~ܺy/o. mL96V<}ѺHєt sũ{u[?Wv;UYvl蜣JKhy%Əa>roFVM R;e?:bFLN650^7?!Yw stF \ ,i`.\(@gHt 64Ba(wiXM2X䭔yj+؞"fH젮R !|1:HTe5SSФp"5i$[~8 1K){n rT$]I ml-P'/FT7ܬq|$d"aəxlrjƐD:Y0e?C%Ňl|$5b*͢"]V9 k0@Djfz#x8ҋ%MguOY=ã^&CyOet|ynGJ7.3YkAX`z-= @[OSvFCEw{u޼zln)b|)WaM$ي`{sV \$V%Ã5;$!;{@qR?.өW&E^ط-jģ@U"`r$0cëDiq wٌ:י.71x)ٴf0o~@*o|3vD>S.x'=JKwqk2Gv_`*+ByT~!pg=)O ( edRѾ&Ð;c\9}E3wK!oO{*cW)ؤ}> xd/$ d疥q,׌1>b xV +T0Hx/3C1aҞ ]Ŗ0GSz| /_a"RHXnv|Η s M5Ei_)*'ꊩCH4E*-4mծ]HzO@NqP ) (z} =e_ - I&Zٹxi_.Q$nn鹭$!NL:64? ^Y޽itp-Dի)8-oݜtGx EB8hjgD&֚Oarl* *".zLBtTaw(G}aeKμvsئM%5 YNm^6vNe?hȋ51Fh3]QS'LPJi}e`藙mJz;g3lI6}k<$^: ':'4G7]A>=aԼ'w@vxZha0DΨ]rB~:KNcPBd"Ȍ2BlKoD(d;`?}v~ㆈh c|KYY㬳"Q3I׋嬣lg3yTs ~E]l@f H(s5"T^aGeG4ì)FS 0>:%W`^)I|DA/#{(1C(@2:yG锲 e*DP [˘:9:G"<:7Vq  M9\I]]zJ p ldLe +Z24~Ǵ6oHh߱i 06_H淶9G”_Dxǀ "LțAl/`2o: 0EEr1<||yR0ۇͰͯv~"U jB&t:2%C V0\QߞԋWP&&[]j-23չE-N;%VP88`0V? UXTaO0vhý}mx1zYahY޷ s"[Z /d+?c [^z5i$A (oSPzlfLLf-YGFG:#I4_ t(󇣅5 VCp<{AfK 7zpQ6B=fg,:'m !\?#﷏Y,vj>L7Q}V_];2NZsQK@흑+ṉ9åA|`]87~bAb<JO+Kxf:{t8*il :pjfTPɬ\c9JQK6/| )`#MD+~\l?ۗtBA-A\,r:iadAwוINHVa:c/N3[.1bO0[}I7Џ6zp~L aI@yNPT$9d%+pcF!Yۈ;w*n {m 8evKOH9 )x 9>B+f; ]A JEpY@fI(1G8ϔTmN[^zU֡XJg J3У#h8[PVdFH)`\ȽslQC;ᖶ|3ќ'*I=uT#`b ]u=I}܅jϧS c蝽ov9 V~[Ln9C+H\5aw"4Q1p8BWǷ'SSՠ AC\mbH >Q[BvT?;cZ\EX* 9~9!oo9ÓJ{=x@>_v .eY}ha.CzRTׄWQZ.Sj-E59ND~ПHk75 V )м$ {aQB#8kx]HP`zKyWFYjE`īj&j(S <yx鞏AQ[b?9X8tm$"v=&CA"PQC N)V=*HCO7kaƢO-K8HP!50@ P E)vkzrU.v?<60Pnܚk'C @<a%c`[%lH3ؙE$p""*]N)[Zcf"92<HPh!939u=NO֬䁡Yhu'r t+|nTpȯ`W3.|v I;# pH^\h ;C2N˶XV3@|q;M`]_% ^)]iFtJYG!dBXInKVOK2 d; { Al9XoΎ"=T'ZΜՊx|4]Y4!7x >Sզ?;I ͱ%xcH{DlZ-3`Ti.'y{Rji|M ѱA.og7i!搒YT( e;mB˼[џw5Ci"H]Ƙ~bqBv\Gl?kSutO Bz2–#ɦ @xO>:;݂x,B0+.VB/,^VE F!ek 'Ep f QD={9*/bhu}sʺ@θ d(#U>|ƵP$QD^ 鹦Thy.wfK"Aw%biȟZ4'ӴC u(IךXEq"!B<U|0tW]єf Õ~sX+CەMq"d  avmiFISiB + xq# zBxd$$i9[(ZY/7k=n 53ՄGr7mx<9Z(?@X0r-pV k'"L )IQ`c2內~! %&DenĄ5xhh,Qw~^&TW0{~-;Ӂw4 6%ۣL!u).ц}YMqg?ª]H2`c]M `go@zD03>\; h|.JcMH #D3 ϵ!lUϤRMϣot};%,BZR0no:xhʊYqjȏ{R5MH!ik[D46)[}v@Cya&zCN|Q'Q-X$RAoBs(MdkDo-kK8Ooi_/nh[k~Ԃck&Ҽ)#^|PRtt P9G{1JE2BT A@U.v6mO*Xx~\[C< H`+HŚT(A v YD؍i~Ȣ|TVq hyeU˪ w3>I3=ѧ@plAb6~(P2E#_䥍x6 +ۡ!y ©=! |~X)< ݩl=֥(MYńaNrF9ؤ@WH')$]RdC%k:Ŏv1g[)(=BK6d0tԄ(r&imKMOd7ÈBBDI&X(+ӛx_7#u@ѐ|^\,n`Ee .]Y{ @Mú}͒j ¥[q<tp>XaQS! R΀BNS2en&el#<0Ӆ-Cn4%ڴEחnNޅ0,Ǧ9K%p f ac|iw< T2xQBD:Mѩn܂I1ԍA@HL`( M&e"M`#@B(P.F;# L69!?:2J#Ү=g)]XێcߤϪ^X }YripDh1/eR [W 验ӟW S$γx&a,ǫӵ>d+*-2avmP)vPσ(a=5, c5N]W~H*KBSo@yUq(vl(8$Sv/JpF_IaScAⱅ-3{z^<ܠ q}@aܾ@WxWQg8_CS,XͰ!Kɞ`(,ns# N2|<}]xea&r }m;""{{=|]5,FB>x^n(-tĜ%Bh$Hѱ8)9]j~D߾˗P5 $/O,xFs(qP$XU8 Azs[z 'k(%Ȣ0Mh4Q}?ӡd!S[b._J5àx9T0e]:7q\;a=l7~]hcE8'H˜Y5 ~K`{r6sr#CO,i?z>xhB6r?Lh5pc+fCg[ZUNǴhJcge Ae1A/H.8Ri/* )y8i1Rhƻ# wz}(Ϟ| !]CLJ!𨧨cꑠw6$hZÞ >* !pp+`2W9;F:g ބ43P5yEb@^S*g4i'R>[VX`<[[ò Jѡi%>Ckp] iC$GH*9;ZFH}/}Vշ fMEE t!cWh@7PZ?4~yWBP"`HMPm-ȯj(Pm1rҵP-O좸> Q\ko`Bw- $v9WzцR|LZ킞_@/8y/柺Pjp^7~~\SkU!+aP+4'{S6kD?H}'@T7(ҡ:f"9$@>Mey [x\P"r 9t{2ZE? 07$C9c1DVJAkLdH@G(04+"_8ԁД:Řչ`K1!7ҨfԬ$`9!)ёShvH ,$P nӌ}9|Ay+gn EgqHRx,!k&x%DrS>/lcrTU™3(aOQdE {':.B /DӐr:Iu=TXI +0&:S.B@V'}NPĖ\o6w:vSl'XQJ,GTaJߧ;j61 @r1DZuӣ҃b dfdjpm4"V#6e_jY q6 J_nȶ M IPYG?nYDf5"A]p IB$Z!J4H.Mf%>bH<` A.u~_\5dt#[!kbIɚP(îfۈ}09({5s!nFz:? -f `Vb>f)KD6eP'-ѫ6^G&Us?g@+0r^OI“Jgԛ| xw8Qx=F2_"rd A`|"c\> FVq+7W4HהB,%j|!ڍ,(`(h;b󪧽{\UW3q һ+ =/X5-BɧVBH109"ViqlcFCyI%(BA 0`:)&&?'ȩh/Vxtwp|)}`{°*\=jaă=Hqjqm.7vODr`^*;E:DO}ڽg)j@`6蝒< @Vr2ѐɺ).z+ HWWrvqy XA~M >^}Mg. œvPW ^ypJW@xt$ӡ7&:g:oYhHBWgt8ll5LG\@C?ҶmϊOT]^!gGh%&݅Z7ۤ%S, i̤J$A(yஉM zW)% $| 17  n$5Y)#EȀE$Ex*(Q^Ƌ3MBQ k4&yM sGe?Y9PHA 4l7VbEJXwCAkH{>H0=l򽥐Ҿ{ zz^'?y2+ lp fb(-f 񷷨JO mJOٯ hE_ #R} aE#c3sҾB:? ;|a2 U#/=( +#臂s(OR| {6%D>E'a[@* prd%lQJ<^+g9H*S z';a !N2AdcAEüSVG54hw򵓑"1\!)8Y,Y!D@U\Hܹ*/>C_!9&U15r) k !K|7[N@<\9ns!jioBC^↠j)Qf#k<*(msҫbn,Au=NPuahq`6O\k%S`%QG&\>LBѽ9Y׎3;aOB5=}͘xܮp.\R /Hs)E&j<$cP cW\>ZmYOC fG( VĨS]!Rpto6ӵxb6zˋpNZ7>>t뻑S[MQ>ڢ-0P'!ZX ShGaPυPk@'=8~πnӽB5$OwI ԊeW_``OT|w7|'Sܿz[>B׀hWMeN PeCe_R9pZ3å}aC99z6v qp^䈡h s u<>Ʃ ˰eFo0 /yk3oQk-Ih xVͶ|)I5N4Z2HfW؞ Mw9zj%5F+y,Ɂ]gn+V5ݡX㞜f'iτcRP aRL'p`#n9zOWi5$0N?|2pR.LlQ8Ar5@HrD‰dd-W< EVW:!%3qsDX>~w.1? Xx{7B)o`% fvv8k]whTXz ~`3䚐M!HiT qw/Ӯˡh- nOb5L 0aErdLA0T#QV6q수dH3aj"ZQ<}74VlCd֎svڜ|aawᇓu"K1;`0i