pax_global_header00006660000000000000000000000064147142771760014532gustar00rootroot0000000000000052 comment=b391ef38038336639c0035528cf81735c95e1139 cen64-qt-20241110-alpha/000077500000000000000000000000001471427717600144125ustar00rootroot00000000000000cen64-qt-20241110-alpha/.gitignore000066400000000000000000000000161471427717600163770ustar00rootroot00000000000000*.user* build/cen64-qt-20241110-alpha/CMakeLists.txt000066400000000000000000000052751471427717600171630ustar00rootroot00000000000000cmake_minimum_required(VERSION 3.16) project(cen64-qt VERSION 1.0 LANGUAGES C CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOUIC ON) option(LINUX_QUAZIP_STATIC "Link QuaZip statically") find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core) find_package(Qt6 REQUIRED COMPONENTS Gui Network Sql Widgets Xml) qt_standard_project_setup() if(MACOS OR WIN32 OR LINUX_QUAZIP_STATIC) find_package(Qt6 REQUIRED COMPONENTS Core5Compat) file(GLOB_RECURSE QUAZIP_SOURCES RELATIVE ${CMAKE_SOURCE_DIR} "quazip/*.c" "quazip/*.cpp") endif() if(UNIX AND NOT MACOS AND NOT LINUX_QUAZIP_STATIC) find_package(QuaZip-Qt6 REQUIRED) endif() qt_add_executable(cen64-qt WIN32 MACOSX_BUNDLE src/common.cpp src/common.h src/dialogs/aboutdialog.cpp src/dialogs/aboutdialog.h src/dialogs/downloaddialog.cpp src/dialogs/downloaddialog.h src/dialogs/logdialog.cpp src/dialogs/logdialog.h src/dialogs/settingsdialog.cpp src/dialogs/settingsdialog.h src/dialogs/settingsdialog.ui src/dialogs/v64converter.cpp src/dialogs/v64converter.h src/emulation/emulatorhandler.cpp src/emulation/emulatorhandler.h src/global.h src/main.cpp src/mainwindow.cpp src/mainwindow.h src/roms/romcollection.cpp src/roms/romcollection.h src/roms/thegamesdbscraper.cpp src/roms/thegamesdbscraper.h src/views/ddview.cpp src/views/ddview.h src/views/gridview.cpp src/views/gridview.h src/views/listview.cpp src/views/listview.h src/views/tableview.cpp src/views/tableview.h src/views/widgets/clickablewidget.cpp src/views/widgets/clickablewidget.h src/views/widgets/treewidgetitem.cpp src/views/widgets/treewidgetitem.h ${QUAZIP_SOURCES} ) target_link_libraries(cen64-qt PRIVATE Qt::Core Qt::Gui Qt::Network Qt::Sql Qt::Widgets Qt::Xml ) # Resources: set(cen64qt_resource_files "resources/images/cen64.png" "resources/images/no-cart.png" "resources/images/not-found.png" "resources/locale/cen64-qt_fr.qm" "resources/locale/cen64-qt_ru.qm" "resources/other/LICENSE" "resources/other/VERSION" ) qt_add_resources(cen64-qt "cen64qt" PREFIX "/" BASE "resources" FILES ${cen64qt_resource_files} ) if(MACOS OR WIN32 OR LINUX_QUAZIP_STATIC) target_link_libraries(cen64-qt PRIVATE z Qt6::Core5Compat ) endif() if(UNIX AND NOT MACOS AND NOT LINUX_QUAZIP_STATIC) target_link_libraries(cen64-qt PRIVATE QuaZip::QuaZip ) endif() install(TARGETS cen64-qt BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) qt_generate_deploy_app_script( TARGET cen64-qt FILENAME_VARIABLE deploy_script NO_UNSUPPORTED_PLATFORM_ERROR ) install(SCRIPT ${deploy_script}) cen64-qt-20241110-alpha/LICENSE000066400000000000000000000027231471427717600154230ustar00rootroot00000000000000Copyright (c) 2013, Dan Hasting All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the organization nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. cen64-qt-20241110-alpha/README.md000066400000000000000000000031611471427717600156720ustar00rootroot00000000000000# CEN64-Qt A customizable cross-platform frontend for [CEN64](https://github.com/n64dev/cen64). ![CEN64-Qt Grid View](https://raw.githubusercontent.com/dh4/cen64-qt/master/resources/demos/main.jpg) ## Getting CEN64-Qt ### Release Builds Release builds can be found on the [releases](https://github.com/dh4/cen64-qt/releases) page. Note these are currently only alpha releases versioned with the date. I don't plan to adopt a version scheme until CEN64 is more stable. ### Building (Linux) First, obtain the source code for CEN64-Qt. You can either clone the repository with git or download an archive of the source code for a specific release from the [releases](https://github.com/dh4/cen64-qt/releases) page. You'll need to make sure you have cmake, the Qt development libraries and the QuaZip development files installed. On Debian/Ubuntu, this can be accomplished by: ``` # apt install cmake qt6-base-dev libquazip1-qt6-dev ``` Once the needed packages are installed, create the Makefile with cmake and then build with make. Run the following commands from the directory that contains CMakeLists.txt: ``` $ cmake . $ make ``` If you want to build with Qt5 instead of Qt6, use version 20211016-alpha with the instructions [here](https://github.com/dh4/cen64-qt/blob/20211016-alpha/README.md). ##### Compiling QuaZip statically You also have the option to compile QuaZip statically. Download the QuaZip sources from GitHub [here](https://github.com/stachenov/quazip/releases). Place the contents of `quazip-/quazip/` in `quazip/` within the project directory. Then run: ``` $ cmake -DLINUX_QUAZIP_STATIC=ON . $ make ``` cen64-qt-20241110-alpha/VERSION000066400000000000000000000000061471427717600154560ustar00rootroot00000000000000(none)cen64-qt-20241110-alpha/build-scripts/000077500000000000000000000000001471427717600171765ustar00rootroot00000000000000cen64-qt-20241110-alpha/build-scripts/platform/000077500000000000000000000000001471427717600210225ustar00rootroot00000000000000cen64-qt-20241110-alpha/build-scripts/platform/linux.sh000077500000000000000000000014271471427717600225240ustar00rootroot00000000000000#!/bin/bash [[ -z $WORKING_DIR ]] && WORKING_DIR=$(pwd) [[ -z $VERSION ]] && VERSION=$(git log --oneline -n 1 | awk '{print $1}') [[ -z $ARCH ]] && ARCH=".$(uname -m)" case "$1" in 'setup_qt') sudo apt-get update -qq sudo apt-get -y install cmake qt6-base-dev libquazip1-qt6-dev ;; 'get_quazip') wget https://github.com/stachenov/quazip/archive/refs/tags/v1.4.tar.gz tar -xvzf v1.4.tar.gz > /dev/null mv quazip-1.4/quazip quazip ;; 'build') ./build-scripts/revision.sh cmake -DLINUX_QUAZIP_STATIC=ON . make ;; 'package') mkdir -p "build/" mv resources/README.txt . tar -cvf "build/cen64-qt_linux_$VERSION.tar.gz" --owner=0 --group=0 cen64-qt README.txt ;; esac cen64-qt-20241110-alpha/build-scripts/platform/osx.sh000077500000000000000000000034311471427717600221730ustar00rootroot00000000000000#!/bin/bash [[ -z $WORKING_DIR ]] && WORKING_DIR=$(pwd) [[ -z $VERSION ]] && VERSION=$(git log --oneline -n 1 | awk '{print $1}') [[ -z $ARCH ]] && ARCH=".$(uname -m)" [[ $ARCH == ".x86_64" ]] && ARCH="" case "$1" in 'setup_qt') mkdir "$WORKING_DIR/../osx" cd "$WORKING_DIR/../osx" if [[ $BUILD_OSX_QT ]]; then # Build Qt # Perform commands in /Users/travis/build/osx/ if building for travis git clone --branch v5.10.0 --depth 1 https://code.qt.io/qt/qtbase.git cd qtbase ./configure -release -static -sql-sqlite -opensource -confirm-license make sub-src else # Fetch pre-build Qt wget https://www.dropbox.com/s/mfw6qwfir62fy9p/macosx-qt5.tar.gz tar -xvzf macosx-qt5.tar.gz >& /dev/null fi cd "$WORKING_DIR/cen64-qt" ;; 'get_quazip') wget http://downloads.sourceforge.net/quazip/quazip-0.7.3.tar.gz tar -xvzf quazip-0.7.3.tar.gz >& /dev/null mv quazip-0.7.3/quazip quazip5 ;; 'build') ./build-scripts/revision.sh $WORKING_DIR/../osx/qtbase/bin/qmake -config release LIBS+="-dead_strip" make ;; 'package') mkdir -p "build/$TRAVIS_BRANCH" hdiutil create -megabytes 20 -fs HFS+ -volname CEN64-Qt "cen64-qt_osx_$VERSION$ARCH" hdiutil attach "cen64-qt_osx_$VERSION$ARCH.dmg" cp -r CEN64-Qt.app /Volumes/CEN64-Qt/CEN64-Qt.app cp resources/README.txt /Volumes/CEN64-Qt/README.txt hdiutil detach /Volumes/CEN64-Qt hdiutil convert -format UDZO -o "cen64-qt_osx_$VERSION$ARCH.dmg" \ -ov "cen64-qt_osx_$VERSION$ARCH.dmg" mv "cen64-qt_osx_$VERSION$ARCH.dmg" "build/$TRAVIS_BRANCH/" ;; esac cen64-qt-20241110-alpha/build-scripts/platform/windows.sh000077500000000000000000000025451471427717600230610ustar00rootroot00000000000000#!/bin/bash [[ -z $WORKING_DIR ]] && WORKING_DIR=$(pwd) [[ -z $VERSION ]] && VERSION=$(git log --oneline -n 1 | awk '{print $1}') case "$1" in 'setup_qt') cd "$WORKING_DIR/../" sudo apt-get update -qq sudo apt-get install \ autoconf automake autopoint bash bison bzip2 cmake flex \ gettext git g++ gperf intltool libffi-dev libtool \ libltdl-dev libssl-dev libxml-parser-perl make openssl \ p7zip-full patch perl pkg-config python3 python-is-python3 ruby scons sed \ unzip wget xz-utils libtool-bin lzip libgdk-pixbuf2.0-dev git clone https://github.com/mxe/mxe.git cd mxe make -j8 MXE_TARGETS='x86_64-w64-mingw32.static' qt6-qtbase qt6-qt5compat cd "$WORKING_DIR/cen64-qt" ;; 'get_quazip') wget https://github.com/stachenov/quazip/archive/refs/tags/v1.4.tar.gz tar -xvzf v1.4.tar.gz > /dev/null mv quazip-1.4/quazip quazip ;; 'build') export PATH="$PATH:$WORKING_DIR/../mxe/usr/bin" ./build-scripts/revision.sh cp dist/windows/cen64-qt.pro . x86_64-w64-mingw32.static-qt6-qmake make ;; 'package') mkdir -p "build/" mv release/cen64-qt.exe resources/README.txt . zip "build/cen64-qt_win_$VERSION.zip" cen64-qt.exe README.txt ;; esac cen64-qt-20241110-alpha/build-scripts/revision.sh000077500000000000000000000004441471427717600213750ustar00rootroot00000000000000#!/bin/bash git show-ref --tags | grep "`git log -n 1 --pretty='%H'`" > /dev/null 2>&1 if [[ $? == 1 ]]; then REVISION=$(git log -n 1 --pretty='%h' 2> /dev/null) [[ $REVISION && `grep "$REVISION" VERSION | wc -l` -eq 0 ]] && sed -i -e "s/.*/git:$REVISION/g" VERSION fi cat VERSION cen64-qt-20241110-alpha/build-scripts/travis-ci.sh000077500000000000000000000010131471427717600214310ustar00rootroot00000000000000#!/bin/bash export GITHUB_USER=$(echo $TRAVIS_REPO_SLUG | cut -d "/" -f1) export WORKING_DIR=$HOME/build/$GITHUB_USER if [[ $1 == 'package' ]]; then VERSION=$(echo $TRAVIS_TAG | sed -e 's/v//g' -e 's/-alpha//g') [[ -z $VERSION ]] && VERSION='git-latest' export VERSION=$VERSION fi case "$TRAVIS_OS_NAME-$BUILD" in 'linux-windows') ./build-scripts/platform/windows.sh $1 ;; 'linux-native') ./build-scripts/platform/linux.sh $1 ;; 'osx-native') ./build-scripts/platform/osx.sh $1 ;; esac cen64-qt-20241110-alpha/dist/000077500000000000000000000000001471427717600153555ustar00rootroot00000000000000cen64-qt-20241110-alpha/dist/macosx/000077500000000000000000000000001471427717600166475ustar00rootroot00000000000000cen64-qt-20241110-alpha/dist/macosx/cen64.icns000066400000000000000000000640301471427717600204470ustar00rootroot00000000000000icnshTOC 8is32ës8mkil32Ñl8mkit32øt8mk@is32딘„…]8% FlI�SY?-f…lNS( *63W4/@G>.$ :4>E'2(E'$$  € ‚‚‚‚€�”‡Œ„…]S&8  c¢X³�wSB™§“yk7.A>p>6Q[H.$;0@H'/(E(##  € €�‚‚‚€�´†€‡ €€C+/'9!5)+=. 8 %*)<+*011 .$ 98;A&!6(E€%  € €‚‚‚‚€�s8mkg#'J  zâgÒ¸ onW¸¸¬¥r3€£�†bâ�„ž�Æ}–Yr™"B/¸¬ºÚxxÃ�žÕS®gt~<˜Ô½Ù‹’?‡FfYh(OAL>  il32ÑÿÉ€µ ‘€’ ES+7#Ž nOS;[–I ŽHvHUF–]RŠ ggRZ|X”ŸºlXqH<†�¦v„ Y»–�‡}<]u ‚]2hK5Ntƒ;= D('*K&5\� 7[*J;?A>>4JS",/,Q@+)ƒ"%3)-€*#( <E15IE=AFC@)'*K&5\� 9\(H9<><;1LT",/,Q@+)ƒ!&3*.€+* <E*†�f<55YE?/).:L ƒ!<3("+0!,b�,#�$:,28B0JHA6:MH=I%$*!!)-C# !"#%B''90*.55 G''*K&5\� 5[,M>CCAA7HQ",/,Q@+)ƒ"%2(+€('<E!ƒ"€#…‚&�'(‡„^‚�� € €!ƒ"##"!Wƒj$€())'€&%$€"! €� !"%%&(%W‚2W/1‚21122&…"�4€7€84qƒÇ‚.�=�<�;�:9MŒƒ{€;?V~€YT€=�x †Š€y{€3 0{#y?>>D£‡443;£�2�1�0�/„.--.,6‚h€* Aq_E8�nŸyŒ}"## …3n€.3£|#$$*‰„"�!€ „€€"‚\3Ÿ ¤K‚ œ¬8›§›p€Œ€u&£�€(���„€„ |‚N€&�²ÿÿµ¦ƒ®¯ÿò§iŠ€›e£ € waKI‡H†G€FDH„E€˜f�‰€�A¢~€%2¡D€˜f�‰( �` ¡- �\ D€˜f�‰€ y‚�ÂÁÅ”ÄÅÈÛ‚’‚uÅ¿‘ÄÇÄÇÇÅÑx‚D€˜f�‰�YŸ^‚:"Ÿi�D€˜f�‰‚} xƒ� ŸB�D€˜f�‹ƒv a„vŸ6 €C€!˜h�{‚Q&�.$ƒO.�R�k€A˜… &ƒ�?;„ ÈéäàÝìNÌÈÃÕÞ á·¾Ä©ßåèëîðôñ†� ­÷êèãå-qÎÈÄÖØ$ÖàõöíÚã¹ÀÃÉÍÒÕÛßäèíöŸúòîêê§�ÎÊÆ×Ó!ùîáÒÊÅ¿ÈÔáÓá¹ÁÄÉÎÒÖÛàåêîóóôùõðêÌ€�ÏÌÇ×Ï%üëÜÙË¼ËØ½œJ'ÓºÁÄÈ鳯¬¿óêðõÿ_Ëÿü÷óõ€�ÐÌÈ׌áÊñæ×ÉÏÆÂ¿\…ÛºÁÄß�öðõýªòÿüøõO '*ŠÐÌÈ×>‰ÃàäçëÅîÑØÜÉÄ–ˆâ¹ÁÇoƒ¹ïóú¦îüùõòøõðîìåÏÌÇÃÝð¢ºÃÃÙìÀÑÁ÷ÑææËˉâ¹ÀÇiƒÌíð÷£ì÷õòîêåáÝÙÓÏÊÆÁ¼à aâÃÉÌÚëÀÜãÿܾ�ŠⷾăƒÎéëò§èòïíéåãÞÚÕÒÎÉÄÁºÞ€gÊÇÒÌÖã¾ßÕõÝÁyŠ!â¶¼Áè>MmnoYïåéðuÌØÓÒÑÎÎÌÊÈÍÌÈÂÄ¹Ï ‚½ÈÝÐÉÒ½Ï×ÞãÊÊƹ»¾ÂÎÜßâåâÞáãñA‡HÊÆÂÕ†ÖÖèÕ¼µ½ŽáÑÚÅØ‰ ɹ¼ÁÄÉÌÐÔØÚÝÞÙˆ~ÆÂ¾Ò‡×÷îÒÚ¾=¼ÑÉÊÓàE‡ ¬È¹½ÀÄÈÌÏÒÕÖõXˆ›Á¾»Î†æÖôçÏÜÀb¼ÐÈÂÜÙñ† ‹¼¾¾ÀÂÄÅÅÄ»J‰ŽÌÀ»Ç…òÛÞáÎÈl °Õ¿ÅÅãéÙô¥ÿëÓÚÔÄÄ}Å |áÙ¾ÂÎäóá ïèÉÊÌÁÛ´¦¬â””ƒ“‘”’�Kq¯ÛÜÒÇÆÔÕÛãÌ—uv|‚ƒ†ˆ‹Š�‘ŠŠ†„‚}ws¨ÜÜÖÔÐÈ»Êáµ`*”‹’‚‘‹‚zxxz‚‹ƒ�–Î Š‹v2œS„'^‹Š¡§ÅÖßááΦ…�riWY99:;YYs}…›ÈÚÑÌÊÖλ² X�%N&’ Rpˆ£QŠ„€€ ƒ v„69€ G]޵ÆÈÈÉÈÅÄ€Á ÃÇÇËÈÊʺ–\@ „wE€‚…�ˆ„ ß;�‚„€„€�b‚ ÇK�€€€€3ƒÁ>!ƒ"€#…‚&�'(‡„^‚�� € €!ƒ"##"!Wƒj$€())'€&%$€"! €� !"%%&(%W‚2W/1‚21122&…"�4€7€84qƒÇ‚.�=�<�;�:9MŒƒ{€;?V~€YT€=�x †Š€y{€3 0{#y?>>D£‡443;£�2�1�0�/„.--.,6‚h€* Aq_E8�nŸyŒ}"## …3n€.3£|#$$*‰„"�!€ „€€"‚\3Ÿ ¤K‚ œ¬8›§›p€Œ€u&£�€(���„€„ |‚N€&�²ÿÿµ¦ƒ®¯ÿò§iŠ€›e£ € waKI‡H†G€FDH„E€˜f�‰€�A¢~€%2¡D€˜f�‰( �` ¡- �\ D€˜f�‰€ y‚�ÂÁÅ”ÄÅÈÛ‚’‚uÅ¿‘ÄÇÄÇÇÅÑx‚D€˜f�‰�YŸ^‚:"Ÿi�D€˜f�‰‚} xƒ� ŸB�D€˜f�‹ƒv a„vŸ6 €C€!˜h�{‚Q&�.$ƒO.�R�k€A˜… &ƒÏ%ÿµva75_fepQ› Z\eche(03KS¦E740‚€š=ÅÊС\(2,B“\…¡ ‰�~/33›‹774>E †=M�œ»ÐÅÂLBG*:€ˆ¥ NƒŸ010’‹4533€~|yvch¬q<$#m¼l¦ÁçCVV0S‰¦ Eƒ´/0/�ˆ130.*'$"iA’&,;wÐÀ}NƒH}Š¥ eƒ´+,+•ƒ)+)'$"  e €]q(78pÓ¾Š8qIwŠ!ª ‚;Hgiia—'+2v›{zwwvtsqplg˜‚£1I48�½´`LS*hŠÂ$QRU^?"&'I/‡F;†»>Z=Œ½sx7C'މ ;!#!eˆy9‡Spd;v¾4uB*-Y½ ‡ ‰* ^Nˆ–  3†ËKnX5xÀasF* wˆô† xc`abdefgfwB‰}fa]x…ÔtJQ20S  w$&/“¹«ç¥ÿµTC:'i�ºðÀŽ|{~‚…‰ŠŽŒ�‘ŒŒ‰†ƒ€{{šÝÅ�dK05qrL*”‹’‚‘‹‚zxxz‚‹ƒ�–Î Š‹v2œS„'a~cTB>IeppcQGG=:03!"%"32BINPbcF4-CHQf‡T�%N&’ Rpˆ£QŠ„€€ ƒ v„69€ :d�•˜‡sldZR€J OX_kq‚˜•ˆ_3 „wE€‚…�ˆ„ ß;�‚„€„€�b‚ ÇK�ƒ 3ƒÁ>!ƒ"€#…‚&�'(‡„^‚�� € €!ƒ"##"!Wƒj$€())'€&%$€"! €� !"%%&(%W‚2W/1‚21122&…"�4€7€84qƒÇ‚.�=�<�;�:9MŒƒ{€;?V~€YT€=�x †Š€y{€3 0{#y?>>D£‡443;£�2�1�0�/„.--.,6‚h€* Aq_E8�nŸyŒ}"## …3n€.3£|#$$*‰„"�!€ „€€"‚\3Ÿ ¤K‚ œ¬8›§›p€Œ€u&£�€(���„€„ |‚N€&�²ÿÿµ¦ƒ®¯ÿò§iŠ€›e£ € waKI‡H†G€FDH„E€˜f�‰€�A¢~€%2¡D€˜f�‰( �` ¡- �\ D€˜f�‰€ y‚�ÂÁÅ”ÄÅÈÛ‚’‚uÅ¿‘ÄÇÄÇÇÅÑx‚D€˜f�‰�YŸ^‚:"Ÿi�D€˜f�‰‚} xƒ� ŸB�D€˜f�‹ƒv a„vŸ6 €C€!˜h�{‚Q&�.$ƒO.�R�k€A˜… &ƒ2øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ£W1! JüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæCáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿš3Öÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâlìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿3˜ÿÿÿÿÿÿøêäââââââââââââââââââââââââââܤXŒÿÿÿÿÿÿúìäãããããããããããããããããããããããããä΃9 «ÿÿÿÿÿÿùëäâââåûÿÿÿÿÿÿüåâââãëþÿÿÿÿÿÿìÿÿÿÿýΑo_[ZZZZZZZZZZZZZZZZZZZZZZZZYS=èÿÿÿÿþÖ•ra\ZZZZZZZZZZZZZZZZZZZZZZZZYM./øÿÿÿÿýÑ“p`[ZZ]ƒëùýýùë†]ZZZ[byÙÿÿÿÿÿÚB SÿÿÿÿÿÂn2 @ÿÿÿÿÿËu7 rÿÿÿÿÿÄr>0&#)@MMA*$&)*CÌÿÿÿÿúi¯ÿÿÿÿê{)Ÿÿÿÿÿð†0 2†”•–––––––––––––––––––––—Z½ÿÿÿÿï�JÑï×9ÁíàUIÝî·3×ïÊ/Oÿÿÿÿÿ£+öÿÿÿÿºM ãÿÿÿÿÊVFúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¢)ñÿÿÿÿÊS±ÿÿÿ¸vÿÿÿÚ òÿÿÿØÿÿÿ˜ÙÿÿÿÿÆ<÷ÿÿÿþ¡6ÿÿÿÿÿ¬>Üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷^ ÿÿÿÿÿ¥:¯ÿÿÿ»xÿÿÿÙ õÿÿÿ‡Ûÿÿÿž ºÿÿÿÿÞJ øÿÿÿþ˜. ÿÿÿÿÿ¦7 òÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûzÿÿÿÿÿ”.;¡D>¥`""—®K“ªŒ®ÿÿÿÿãQ ÿÿÿÿÿ�2 óÿÿÿÿ²: €ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëiÿÿÿÿÿ�+11-5 +3*­ÿÿÿÿãS ËÿÿÿÿÉA ¾ÿÿÿÿÛI$•ÛçèéééééééééééééééééééééèÏ…; ÿÿÿÿÿ�+­ÿÿÿÿäT ‰ÿÿÿÿýmxÿÿÿÿÿ} $E[`aaaaaaaaaaaaaaaaaaaaa_Q2ÿÿÿÿÿ�+­ÿÿÿÿäT 8ûÿÿÿÿéS 4ùÿÿÿÿô_ ÿÿÿÿÿ�+­ÿÿÿÿäT ÚÿÿÿÿÿõÒ“}zzzzzzzzzzzzzzzzzzzzzzzzzzvÎÿÿÿÿÿø×›}zzzzzzzzzzzzzzzzzzzzyyyyyzCÿÿÿÿÿ�+­ÿÿÿÿäT RüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÜ@Fùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ™%ÿÿÿÿÿ�+­ÿÿÿÿäT ¢ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿª*™ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿVÿÿÿÿÿ�+¬ÿÿÿÿãS (¼ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ=&°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ{ ÿÿÿÿÿ�)ŸÿÿÿÿÝO 3™üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿŸ5 /“üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèk ¸ÿÿÿñwXÿÿÿÿ«> )k°Ýêìíììììììììììììììììììììììììììå®\ 'g®ÜéìíììììììììììììììììììììììììíìÔŒ> 5°ä×–E{Ùä¶e 2K]deeeeeeeeeeeeeeeeeeeeeeeeeee]E0J\deeeeeeeeeeeeeeeeeeeeeeeeeecV6-NU8AVH#      icnV C cen64-qt-20241110-alpha/dist/windows/000077500000000000000000000000001471427717600170475ustar00rootroot00000000000000cen64-qt-20241110-alpha/dist/windows/cen64-qt.pro000066400000000000000000000033441471427717600211360ustar00rootroot00000000000000QT += core widgets network xml sql macx { TARGET = CEN64-Qt } else { TARGET = cen64-qt } TEMPLATE = app macx:ICON = dist/macosx/cen64.icns win32:RC_FILE = dist/windows/icon.rc SOURCES += src/main.cpp \ src/common.cpp \ src/mainwindow.cpp \ src/dialogs/aboutdialog.cpp \ src/dialogs/downloaddialog.cpp \ src/dialogs/logdialog.cpp \ src/dialogs/settingsdialog.cpp \ src/dialogs/v64converter.cpp \ src/emulation/emulatorhandler.cpp \ src/roms/romcollection.cpp \ src/roms/thegamesdbscraper.cpp \ src/views/gridview.cpp \ src/views/listview.cpp \ src/views/tableview.cpp \ src/views/ddview.cpp \ src/views/widgets/clickablewidget.cpp \ src/views/widgets/treewidgetitem.cpp HEADERS += src/global.h \ src/common.h \ src/mainwindow.h \ src/dialogs/aboutdialog.h \ src/dialogs/downloaddialog.h \ src/dialogs/logdialog.h \ src/dialogs/settingsdialog.h \ src/dialogs/v64converter.h \ src/emulation/emulatorhandler.h \ src/roms/romcollection.h \ src/roms/thegamesdbscraper.h \ src/views/gridview.h \ src/views/listview.h \ src/views/tableview.h \ src/views/ddview.h \ src/views/widgets/clickablewidget.h \ src/views/widgets/treewidgetitem.h RESOURCES += resources/cen64qt.qrc FORMS += src/dialogs/settingsdialog.ui TRANSLATIONS += resources/locale/cen64-qt_fr.ts \ resources/locale/cen64-qt_ru.ts win32|macx|linux_quazip_static { QT += core5compat CONFIG += staticlib DEFINES += QUAZIP_STATIC LIBS += -lz #Download quazip source and copy the quazip directory to project as quazip5 SOURCES += quazip/*.cpp SOURCES += quazip/*.c HEADERS += quazip/*.h } else { LIBS += -lquazip1-qt6 } cen64-qt-20241110-alpha/dist/windows/cen64.ico000066400000000000000000002040761471427717600204730ustar00rootroot00000000000000€€ ((€ #.#.      2K]deeeeeeeeeeeeeeeeeeeeeeeeeee]E0J\deeeeeeeeeeeeeeeeeeeeeeeeeecV6-NU8AVH# )MMMkRRR°___Ý^^^ê]]]ì]]]í\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì]]]ì]]]ì]]]ì]]]ì]]]ì]]]ì]]]ì]]]ì]]]ìZZZå666®\ 'CCCgTTT®]]]Ü^^^é]]]ì]]]í\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì\\\ì]]]í\\\ìPPPÔŒ> +++5eee°```äQQQ×%%%–Ewww{```Ù\\\ä???¶e  3ddd™222üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ===ÿ000Ÿ5 /bbb“===üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿeeeèk ~~~¸ÿÿÿRRRñw———X ÿÿÿ$$$ÿ222«>(‰‰‰¼ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿtttÈ=&‰‰‰°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿFFFÿ { UUUÿÿÿÿ,,,ÿ�){{{ŸÿÿÿÿŽŽŽÝO ���¢ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ‹‹‹ª*“““™ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿTTTÿVVVVÿÿÿÿ$$$ÿ�+yyy¬ÿÿÿÿ���ãS lllR%%%üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿqqqÜ@KKKF...ùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$$$ÿ|||™%VVVÿÿÿÿ$$$ÿ�+yyy­ÿÿÿÿ›››äT ŒŒŒÚÿÿÿÿÿ&&&õ“““ÒÍÍÍ“ÌÌÌ}ÐÐÐzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÐÐÐzÒÒÒzâââv£££Îÿÿÿÿÿøˆˆˆ×ÐÐЛËËË}ÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÏÏÏzÑÑÑyÏÏÏyÑÑÑyÑÑÑyÐÐÐyÚÚÚz‹‹‹CVVVÿÿÿÿ$$$ÿ�+yyy­ÿÿÿÿ›››äT 5558 ûÿÿÿÿsssé S ;;;4ùÿÿÿÿoooô$$$_ VVVÿÿÿÿ$$$ÿ�+yyy­ÿÿÿÿ›››äT ¡¡¡‰ÿÿÿÿSSSý***m‘‘‘xÿÿÿÿ111ÿAAA} $E[`aaaaaaaaaaaaaaaaaaaaa_Q2VVVÿÿÿÿ$$$ÿ�+yyy­ÿÿÿÿ›››äT «««ËÿÿÿÿxxxÉA °°°¾ÿÿÿÿŠŠŠÛI$ttt•]]]Û[[[çZZZèZZZéZZZéZZZéZZZéZZZéZZZéZZZéZZZéZZZéYYYéYYYéYYYéYYYéYYYéYYYéYYYéYYYéYYYéXXXéXXXéXXXéVVVèZZZÏ…; WWWÿÿÿÿ%%%ÿ�+yyy­ÿÿÿÿ›››äT ˆˆˆÿ(((ÿ)))ÿ(((ÿ222ÿ�2 “““óÿÿÿ###ÿ555²: “““€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿ���ëiaaaÿÿÿÿ222ÿ�+¿¿¿1ÿÿÿÿÿÿÂÂÂ1µµµ¼¼¼-½½½5ÿÿÿ ÎÎÎ+¿¿¿3¶¶¶*|||­ÿÿÿÿœœœãS BBB���ø<<<ÿ<<<ÿ<<<ÿCCCþ˜. ���ÿ///ÿ000ÿ000ÿ888ÿ¦7 ›››ò---ÿ...ÿ---ÿ---ÿ---ÿ---ÿ---ÿ,,,ÿ,,,ÿ,,,ÿ,,,ÿ+++ÿ+++ÿ+++ÿ***ÿ***ÿ***ÿ)))ÿ)))ÿ)))ÿ)))ÿ(((ÿ(((ÿ(((ÿ'''ÿ'''ÿ'''ÿ...ûzoooÿ%%%ÿ$$$ÿ$$$ÿCCCÿ”.;¯¯¯¡ D>³³³¥^^^`""¬¬¬—ººº®HHHK«««“¶¶¶ª«««Œƒƒƒ®ÿÿÿÿžžžãQ ///ŒŒŒ÷PPPÿOOOÿOOOÿVVVþ¡6™™™ÿDDDÿDDDÿCCCÿLLLÿ¬>²²²ÜAAAÿAAAÿAAAÿAAAÿ@@@ÿ@@@ÿ@@@ÿ@@@ÿ???ÿ???ÿ???ÿ???ÿ>>>ÿ>>>ÿ>>>ÿ>>>ÿ===ÿ===ÿ===ÿ<<<ÿ<<<ÿ<<<ÿ<<<ÿ;;;ÿ;;;ÿ<<<ÿ:::ÿFFF÷^ {{{ÿ888ÿ888ÿ888ÿSSSÿ¥:„„„¯ÿÿÿrrr»WWWxÿÿÿHHHÙ ���õÿÿÿ¯¯¯‡ŒŒŒÛÿÿÿžžžž ���º...ÿ///ÿ///ÿ+++ÿ———ÞJ °°°öcccÿdddÿdddÿiiiÿºM ¯¯¯ãWWWÿWWWÿWWWÿ[[[ÿGGGÊV¹¹¹FwwwúPPPÿQQQÿPPPÿPPPÿQQQÿOOOÿOOOÿOOOÿNNNÿNNNÿNNNÿNNNÿMMMÿMMMÿMMMÿMMMÿLLLÿLLLÿLLLÿLLLÿKKKÿKKKÿKKKÿKKKÿIIIÿ```ÿžžž¢)ŽŽŽñLLLÿLLLÿLLLÿPPPÿiiiÊS‘‘‘±ÿÿÿlll¸gggvÿÿÿNNNÚ ‹‹‹òÿÿ ÿ˜˜˜œœœØÿÿÿŒŒŒ˜ŽŽŽÙCCCÿCCCÿCCCÿ???ÿŽŽŽÆ<ÊÊʯtttÿtttÿtttÿsssÿ���ê{)ËËËŸkkkÿlllÿlllÿkkkÿ’’’ð†0 ÆÆÆ2ÙÙÙ†ÉÉÉ”ÇÇÇ•ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÇÇÇ–ÎÎΗ´´´Z¤¤¤½```ÿ```ÿ___ÿ]]]ÿ”””ï�JˆˆˆÑ###ïhhh×qqq9¥¥¥Á&&&íVVVà™™™UNNNINNNÝ%%%î………·3jjj×"""ïvvvÊ/QQQOÿWWWÿWWWÿWWWÿcccÿ]]]£+   Siiiÿcccÿeeeÿdddÿoooÿ777Ân2 „„„@uuuÿpppÿpppÿqqqÿpppÿEEEËu7 ¨¨¨rpppÿsssÿsssÿsssÿvvvÿ###Är>0&#)@MMA*$&)*C–––Ìhhhÿkkkÿkkkÿkkkÿ���úifffgggìPPPÿPPPÿPPPÿQQQÿlllýYYYΑo_[ZZZZZZZZZZZZZZZZZZZZZZZZYS=dddzzzè[[[ÿ\\\ÿ\\\ÿ]]]ÿnnnþiiiÖ•ra\ZZZZZZZZZZZZZZZZZZZZZZZZYM.¾¾¾/yyyøgggÿhhhÿhhhÿhhhÿtttýVVVÑ“p`[ZZ]ƒëùýýùë†]ZZZ[byŸŸŸÙqqqÿoooÿpppÿpppÿlllÿ‘‘‘ÚB ÑÑј<<<ÿ===ÿ===ÿ===ÿ<<<ÿMMMÿ```øfffêeeeäeeeâfffâfffâfffâfffâfffâfffâfffâfffâfffâfffâgggâgggâgggâgggâgggâgggâgggâgggâhhhâhhhâhhhâhhhâhhhâhhhâhhhâmmmÜ222¤XÖÖÖŒLLLÿHHHÿIIIÿIIIÿHHHÿSSSÿjjjúlllìjjjäkkkãkkkãkkkãlllãlllãlllãlllãlllãkkkãjjjãkkkãjjjãjjjãjjjãjjjãkkkãkkkãkkkãlllãlllãlllãmmmãmmmãnnnãnnnãuuuäwww΃9 ÄÄÄ«UUUÿTTTÿUUUÿUUUÿTTTÿdddÿpppùoooënnnäoooâoooâoooâaaaå ûÿÿÿÿÿÿü```åpppâpppâpppârrrãqqqë{{{þZZZÿ\\\ÿ\\\ÿ\\\ÿ]]]ÿxxxÿTTTqqqá%%%ÿ)))ÿ)))ÿ)))ÿ)))ÿ***ÿ(((ÿ'''ÿ(((ÿ(((ÿ(((ÿ(((ÿ)))ÿ)))ÿ)))ÿ)))ÿ+++ÿ***ÿ***ÿ+++ÿ+++ÿ+++ÿ,,,ÿ,,,ÿ,,,ÿ---ÿ---ÿ---ÿ---ÿ---ÿ---ÿ///ÿ///ÿ...ÿ,,,ÿjjjÿ"""š3}}}Ö000ÿ555ÿ555ÿ555ÿ666ÿ666ÿ444ÿ333ÿ222ÿ222ÿ111ÿ000ÿ...ÿ---ÿ---ÿ,,,ÿ+++ÿ***ÿ)))ÿ)))ÿ(((ÿ)))ÿ(((ÿ)))ÿ)))ÿ)))ÿ***ÿ+++ÿ,,,ÿ...ÿ111ÿ111ÿ222ÿ555ÿ111ÿjjjâlAAAjjjì>>>ÿ@@@ÿAAAÿAAAÿAAAÿAAAÿAAAÿ@@@ÿ@@@ÿAAAÿAAAÿ333ÿÿÿÿÿÿÿÿÿ---ÿDDDÿDDDÿDDDÿDDDÿGGGÿGGGÿGGGÿHHHÿHHHÿHHHÿDDDÿ„„„¿3 ååå=LLLøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿuuuÇ> ÑÑÑ2^^^ø ÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿCCCÿ£W1! ÌÌÌJOOOü,,,ÿ---ÿ---ÿ...ÿ...ÿ...ÿ...ÿ///ÿ///ÿ///ÿ$$$ÿÿÿÿÿÿÿÿÿ!!!ÿ333ÿ333ÿ333ÿ333ÿ333ÿ444ÿ444ÿ444ÿ444ÿ555ÿ™™™æC²²²:dddðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿ ÿ ÿ ÿ ÿ ÿÿ‰‰‰¯,/FFFjIIIôÿÿÿÿÿÿ +%ÿKYRÿwqtÿ“Ÿ™ÿ¦Á´ÿ¨Ï½ÿ™Ð·ÿ†Ð®ÿЪÿwϦÿmÍ ÿeÌœÿ\É•ÿ\É•ÿ\É–ÿaËšÿkΠÿrΣÿ~Ò«ÿ„Юÿ”Òµÿ¨Ò¾ÿ¦Åµÿš¦ ÿroqÿBQJÿ ÿ&$%ÿ´™Œ~kS:ŠŠŠcWWW÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿ ÿ ÿ ÿ!!!ÿ!!!ÿÿšššÞC���‰‰‰¤AAAûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿfffì'''J3Ldsy�tqr±‘œ–övšˆÿg®ŒÿS³†ÿOÌ‘ÿ[ÚŸÿxâ°ÿƒä·ÿƒä¶ÿvÔ§ÿd²ŽÿY•yÿY‘vÿNƒjÿK{dÿ?iUÿBkWÿ,H;ÿ.H<ÿ1J>ÿ.K>ÿCkXÿAkWÿS„mÿ[Žvÿ`•}ÿc©‰ÿuÏ¥ÿvÞ­ÿWÖ›ÿCÒ�ÿ;ÐŒÿTÚœÿZÔ›ÿdÄ•ðy½›â™¯£Ògkiµ˜–�w111uaaaÆ333úÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿeeeùƒƒƒ•, ººº$èèèl¥¥¥˜¥¥¥¢¤¤¤£¤¤¤£¤¤¤£¤¤¤£¤¤¤£¤¤¤£¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥¤¥¥¥££££¥­­­�%%%HI[s $"’[]\¬cƒuÀ…»¢Þˆß¶ÿqß«ÿ^ןÿIÎ�ÿOÍ‘è|Ù®ÓžÛ¾¸ÆáÔ³óéî­ËÕЪŸ§£¥�ˆ‹¡Ž‰Œ¡‘��¡”””¡—•–¡›˜™¡œš›¡Ÿ�ž¡žœ�¡¢¢¢¡¢¢¢¡¢¢¢¡¢¢¢¡žœ�¡žœ�¡›˜™¡˜–—¡•””¡’�‘¡ŽŠŒ¡Ž†Š¡ª¶¯§äãâ«ÐâØ±žÜ¿¼wÙ­Û]Õ ÿ>Î�ÿÃvÿDÐ�ÿ„ä¸ÿ…À¤æ_sjÅ$&%­š…777{¥¥¥Œ���œ£££¡¢¢¢¡¢¢¢¡¢¢¢¡¢¢¢¡¢¢¢¡���¢”””£���¥‹‹‹¥‹‹‹¥���¥”””¤���¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡§§§•×××k$ 3X |!™j�|˱åÌüyݯÿ'Æ{ÿ0Ƀÿ\Ô�õ¨çÊëãõ좲åÊL    Óñáb¸ëÒàKÏ“ú>Ð�ÿ?Ò“ÿ&È~ÿw߯ÿœÀ®ç©œx5  /^‰°½¶ÛŠÚ´û/Ç�ÿ2̇ÿ=Ì‹ÿ¤æÆÿÅìÙŽ¹ßÎìöð  )PlsuuuuusiP( AiujEÿÿÿÂíØ˜gØ¥ÿTݦÿJØœÿ3ˇÿLËŽþx�„ÒžoGtuu£†Æ§êWÕšÿ7΋ÿ*É‚ÿŠà¸ÿšÞ½”öôô0(‹œ”¨vÅ¡ìsÇ¡ôtÇ£õuÉ¥õwʧõx̪õyÍ«õzÍ­õy̬ôŠÅ¯îT\YÃu-�Ÿ™JyÓ¬ìtÉ£ópÄŸõ‹Ï°÷(Üôè/‡ß·þ\á¯ÿcã³ÿAÓ•ÿ>Ίÿf~rÌ„)DNIkˆÆ¨åSÖšÿ7ÏŽÿ;БÿlئÿÉåÖ‘U/ ›¹«¬7Ήÿ ÁoÿÅuÿÇzÿËÿ΄ÿшÿÔ�ÿ Ö‘ÿ"Ù•ÿ!Ú–ÿqóÄÿakhÏd§«©Y ÈyÿÆwÿ ÃrÿBÓ’ÿ–.ÕêÞN]Ú¥ÿ�óÏÿkè»ÿDÔ˜ÿ‹à·ÿo†ž’o‹ä»ÿFÖ›ÿTݦÿ3̈ÿŸÝ¾î"4KÏ’ÿÁqÿÄvÿÈ|ÿË�ÿφÿÑŠÿ"Õ�ÿ%Ø”ÿ(Û˜ÿ+Ý�ÿ-ß ÿ+à¢ÿxݺü•9Œ�ŽjÌ€ÿÉ~ÿÆyÿI×—ÿ¡@&fÛ©ÿƒõÒÿwîÅÿKמÿ‰Þ¶ÿ8Á×ÌDsÛ¬ÿ^á°ÿeåµÿ7Ð�ÿ{Ë¥ó] ÍÐ΢ÁqÿÃtÿÆyÿÉ~ÿ/Ó�ÿcß®ÿdâ±ÿgä´ÿqç¼ÿOä®ÿ,à¡ÿ1ã¦ÿ2ä©ÿZð¾ÿ>RKÇmaprrrrrrrXZY£ЄÿÌ�ÿÉ|ÿKÙ›ÿÅ~;=ÇÝÒÝNÚ¡ÿmé¼ÿMÙŸÿ"Äzÿ�Á°Ž œãÁÂHÙžÿ„ôÑÿ[à­ÿ$È}ÿŠŒŠÊv$ ¸æÑç¿lÿÄvÿÈ{ÿ”êÆÿLONŽZ_^Gz€~6|�€5|‚€5tlo?§ð×û3æ«ÿ7é®ÿ@ï·ÿ‰ˆ‰à«ÔÇè�ÝÄðŒÙÁôŠØ¿õŠ×½ô‰Õ¼ô‡Õºô†Ó·ô„ѵôƒÐ³õÔ³øшÿ΄ÿÉ~ÿ#Ë�ÿzãû¨ÖÁö r;d²È½×?Î�ÿ[à­ÿCÕ—ÿHÏ‘ÿ­ÙÔ�àºË`å´ÿ•ýáÿZ߬ÿ Æzÿ� —Ö™h-  ´æÏè ÀnÿÆxÿË�ÿx”‰ÝU ÁÖΩ8é°ÿ9ë´ÿ8ð·ÿ¦µ°ï•êÑû5ð·ÿ7î·ÿ5ì³ÿ2é¯ÿ/æªÿ,ä¥ÿ)à ÿ%Ýšÿ"Ù”ÿÖ�ÿ!ÓŒÿχÿË�ÿÈzÿ Âoÿxá±ÿ “LMnpzu°„Ñ­÷4͉ÿFךÿHÒ•ÿƒÛ²íÛèá]ìøñiTÖ�ÿiçºÿiç¹ÿ>Ñ“ÿfÑ�ý$(&¯��V0  µæÐè ÁoÿÇyÿ Í„ÿW{lØUÁÕΫ<ìµÿ=ï¸ÿ<ô½ÿ¡²­îšíÕû?ôÀÿAó¾ÿ>ðºÿ;í¶ÿ6ê°ÿ3æ«ÿ/ã¥ÿ,ߟÿ(Üšÿ$דÿ"ÔŽÿЈÿÌ‚ÿÈ|ÿÄtÿ|ãµÿ ±�Rscº£åÅÿ2Ê…ÿ9ÏŽÿKÒ–ÿŠÞ·êÙîãzÍðßl^ÖŸÿSÜ¥ÿYߪÿ7Ï�ÿJËŽÿ’¦›Õ�›ŠpT:' ´æÏé ÁpÿÈzÿ Í…ÿa�tå}4+¯Å¿Á=î·ÿ?ñ½ÿ>÷Âÿ£´¯íœïØúBøÆÿDöÄÿAó¿ÿAð»ÿ’öÖÿ�ôÓÿŽðÏÿ‹îÌÿ‰íÈÿvç¼ÿ!Ô�ÿщÿ̓ÿÊ€ÿ{à³ÿºñÙÿ„°šúLËþ/Ê„ÿ.Ê„ÿ€Ý²ÿÈîÛÎɤ µØÇÙóæ%°éϹoÛ«ÿ4Ï�ÿAÔ–ÿ9͉ÿSÊ�ú¤É·æoon°ˆ�ŒƒufYR°àËî ÂpÿÈzÿË€ÿ›ãÆþÏœ�to'$%’�õÕÿ<ï·ÿAó¾ÿAùÅÿ«¸´çœòÝùFüÌÿFøÇÿBõÁÿNóÁÿWa^ß ‰?'3/!*72˜œšnÕŽÿщÿ΃ÿMÛŸÿ&N<ÿ ˜aÿ_Ë™ÿ äÄÿ¬çË”ÇêÙ7Ùîãÿýü ÂíØ‡‰à¸ÏtݯÿGÑ”ÿÄwÿDÑ�ÿrܪÿyÆ¡ãxª’ʃ‘Š·d]`�)3.’{�«ÚÅó ÂqÿÈzÿË€ÿ΂ÿmê¸ÿo¾ ûx»¢öv¸ ò{È­óxòÊÿ3ê¯ÿ=ï¸ÿAó¾ÿ]üÏÿfroµµÔÌ¿VýÑÿFøÇÿBôÁÿ>ñ»ÿ”ôÖÿ ! ¸Wª­¬YÕŽÿщÿ΃ÿMÛŸÿ®‘�—‚ÐæÚ(óúõXÎðß²™äÁ×d×£æIГý=Ì‹ÿ,ÇÿDÎ�ÿgÙ£ÿŠä¹ÿ”Ù¸ü³åÎý ÁpÿÈzÿË€ÿχÿ!ÓŒÿ"Ö‘ÿ$Ú–ÿ'Þœÿ-â£ÿ4æ«ÿ8ê°ÿ;í¶ÿ<ñ»ÿ‚òÒü\ªôàØAöÃÿAó¾ÿ=ï¹ÿ/ê¯ÿœÔÂ÷œAª­¬YÔ�ÿщÿ̓ÿNÛŸÿ—/„Û¯¦äÆOßöêxä÷î£ÇïÛܬßÇö´çÐÿ ÁoÿÇyÿÊÿφÿ ÒŒÿ$Ö‘ÿ'Ù—ÿ,Þ�ÿ/á£ÿ3å¨ÿ6è®ÿ:ì´ÿ[ôÅÿ¡®ª¨) ¤øàÿ=ðºÿ;í¶ÿ8ê±ÿBê²ÿ£µ¯íƒ0Ÿ¡¡_ÓŒÿЈÿÌ‚ÿMÛžÿ—/µåÏè ÀnÿÆxÿË�ÿ€¶ŸïŸãÈýxç¼ÿzé¿ÿ|ìÃÿîÆÿ€ðÉÿˆóÏÿ°òÞÿ—�w#£º³HõÐÿ8ê±ÿ6è­ÿ1ä¨ÿRæ²ÿ/;6Ël‚„ƒtÓŠÿ·ÿË€ÿLÚ�ÿ—/ ´æÏè¿lÿÄvÿË�ÿVyj×W;NF0>PJ*PJ+9KD) ´ÑÈrHé´ÿ2å¨ÿ0â¤ÿ,ߟÿ—íÍÿ´`a`Ÿчÿ΄ÿÊÿLÙ›ÿ—/ ´æÏè½iÿÃtÿÉ~ÿUyiÚ]Ìíâ¿9ã©ÿ-ß ÿ*Ü›ÿ×’ÿ‡»§õ@BAÒÐ…ÿÌ�ÿÈ|ÿJØ™ÿ—/½æÒÝ»fÿÁqÿÆzÿx”‰î�G+'''''% œéÍÙ%Û˜ÿ(Ú–ÿ$Ö’ÿ'Ö‘ÿÂÎÉüÍ�ÿÊ~ÿÇyÿI×—ÿ—/ÓÛד¾lÿ ¿mÿÂsÿJÔ˜ÿfpmá§�‹‹‹‹‹‚Z CLI’ëÊÿ#Ö‘ÿ!ÓŽÿЉÿ$ЊÿÊÿÇ{ÿÄuÿGÕ•ÿ—/4UE$Bʉÿ ½kÿÁoÿÃsÿ8Ô�ÿ^Ú¥ÿ^Ù¦ÿaÛ©ÿbÜ«ÿdÞ®ÿeß°ÿgà²ÿpè»ÿohk¬4Ÿ¸¯Lfâ±ÿЈÿ΄ÿË€ÿÈ|ÿÅwÿÂrÿFÓ’ÿ—/²ÜÈ¡Átÿ ½kÿÀpÿÄuÿÇyÿÊ~ÿÌ‚ÿÎ…ÿщÿ ÒŒÿ"Ô�ÿ.Ý™ÿzlq¶9²ÒÆ�.ÑŽÿËÿÈ{ÿÅwÿÃsÿ ¿mÿCÑ�ÿ�,¸ÚÉ—?ʉûÀpÿÁqÿÃtÿÆyÿÉ|ÿÊ€ÿ̓ÿÏ…ÿшÿ)×’ÿŽ|ƒž, ÒîâÎÈ}ÿÅvÿÃrÿ ¿nÿ ½jÿDÎŒÿfkso!‚»Ÿy¸ÙÊ´±ÞÊׯÝÉÖ¯ÝÉׯÞÊ×±ÞË×±àÌ×±àÍ×·äÒ܇„Z ¶àά®ßÉլܯ֫ÚÄ×°ÜÇÖš¼¬•' /84ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþàƒÿÿÿƒø?€ÿÿÿðÿÿþàÿÿþÀÿÿþ€ÿÿþ€ÿÿþ€8ÿÿþðÿÿþ?ÿÿÿðÿÿþÿÿÿðÿÿþÿÿÿð˜übÿÿÿð0ÿÿÿð0ÿÿÿð0?ÿÿÿð€p€8€€À€Ààøþ?ÿ0ÿÿÿÿÿ€À?ð?ÿÿÿÿÿÿÿÀà€ÿÿÿÿÿÿÿ€àÀ?ÿÿÿÿÿÿþÿ€€?ÿÿÿÿÿÿþÿ€ÿÿÿÿÿÿþÿ€ÿÿÿÿÿÿÿþ?€pÿÿÿÿÿÿÿþ€pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿ€ ÿÿÿÿÿÿÿÿÿÿÿ€xÿÿÿÿÿÿÿÿÿÿÿ€xÿÿÿÿÿÿÿÿÿÿÿ€<ÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÀ€ÿÿÿÿÿÿÿÿÿÿÿà€ÿÿÿÿÿÿÿÿÿÿÿðÀÿÿÿÿÿÿÿÿÿÿÿþ?Ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿcen64-qt-20241110-alpha/dist/windows/icon.rc000066400000000000000000000000471471427717600203260ustar00rootroot00000000000000IDI_ICON1 ICON DISCARDABLE "cen64.ico" cen64-qt-20241110-alpha/resources/000077500000000000000000000000001471427717600164245ustar00rootroot00000000000000cen64-qt-20241110-alpha/resources/README.txt000066400000000000000000000003071471427717600201220ustar00rootroot00000000000000Github Repository: https://www.github.com/dh4/cen64-qt Qt is licensed under the LGPL v3: https://www.gnu.org/licenses/lgpl-3.0.html Qt's source code can be viewed here: https://github.com/qtcen64-qt-20241110-alpha/resources/cen64-qt.6000066400000000000000000000037671471427717600200710ustar00rootroot00000000000000.\" Copyright (c) 2013, Dan Hasting .\" All rights reserved. .\" .\" %%%LICENSE_START(BSD_3_CLAUSE) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" * Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" * Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in .\" the documentation and/or other materials provided with the .\" distribution. .\" * Neither the name of the organization nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE THE COPYRIGHT HOLDER OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, .\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT .\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; .\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF .\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING .\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS .\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" %%%LICENSE_END .TH "CEN64-Qt" "6" "September 2015" "CEN64-Qt" "User Manual" .SH "NAME" CEN64-Qt \- A customizable cross-platform frontend for CEN64 .SH "SYNOPSIS" \fBcen64-qt\fR .SH "DESCRIPTION" \fBCEN64-Qt\fR is a frontend for CEN64. The CEN64 project can be found at http://cen64.com/ .TP See the README at https://www.github.com/dh4/cen64-qt for a detailed description of its features and usage. cen64-qt-20241110-alpha/resources/cen64-qt.desktop000077500000000000000000000006251471427717600213660ustar00rootroot00000000000000[Desktop Entry] Version=1.0 Type=Application Name=CEN64-Qt GenericName=CEN64 Frontend GenericName[ru]=ИнтерфейÑ� длÑ� CEN64 Comment=A customizable cross-platform frontend for CEN64 Comment[ru]=Ð�аÑ�траиваемый кроÑ�Ñ�платформенный интерфейÑ� длÑ� CEN64 Exec=cen64-qt Icon=cen64-qt Terminal=false Categories=Game;Emulator; Keywords=emulator;cen64;Nintendo;64; cen64-qt-20241110-alpha/resources/cen64qt.qrc000066400000000000000000000005151471427717600204200ustar00rootroot00000000000000 images/cen64.png other/LICENSE images/not-found.png images/no-cart.png other/VERSION locale/cen64-qt_fr.qm locale/cen64-qt_ru.qm cen64-qt-20241110-alpha/resources/demos/000077500000000000000000000000001471427717600175335ustar00rootroot00000000000000cen64-qt-20241110-alpha/resources/demos/grid-view-background.jpg000066400000000000000000002672311471427717600242620ustar00rootroot00000000000000ÿØÿàJFIF``ÿÛC  !"$"$ÿÛCÿÀÆ"ÿÄ ÿÄh  !1AQ"aq#2�‘3BVb•¡±µÔá67Rrsu³ÁÑÓð$%4FSTv‚’–²Ò'Cfƒ“´ñ&5Dc…¢Udt£Â(EWÃe”âÿÄÿÄF !1AQRaq‘¡±Ñ"23�Áð4Br#áS’²ñ$Cb‚¢Ò%cƒâòÿÚ ?uÙÖ‹´üý~¶E¹Ü® &ZS1°û,2âw4”´¬ ’ÙJŠ” D¢¿Öþ™ûOÒ¿x¢W]iQÿ±zgø†Ýÿ”j³á»AZ�ÝÒ ‹GË �’SÈóÇ$ >]cã$æ¹Þ³½®,f@e’Útæ™WøŸ¥~ðÄþ®—oJi¥ÿ‰úWïOê븷»(y ¹u‚‡VÖ’© ÏÞ‚y§ººã2ÓbC–Ä2gJ”Ä8êy%HmN¸”oPn *Û‘œc#5ÆÜNhs7êR³�&ÎqTÔhí6Gì?Jýá‰ý]oõ›¦þÓô¯ÞŸÕÓ-nu•ÑÊyZ²á/¼¸@`JMµ•Ìm.HBÚ–Û(^R¯U!¢ sʲ0Êû¿Ú.šeËmÊås¶&É×Fî6à̹,6ã)'`e BÛ©A!pNI¸ÛgDko « ŠGhãÞTÏë;Mý§é_¼1?«­~³´çÚ~•ûÃúº»kKÓÓåÛ,ïJšfêD„í½–óqS™ -pÑ$¨úÎQ넦»ÔšÎàö�ˆ4•ÂBæ²Ú$\åΎ״¼[Sn!)-Ä­hpމË5hÝ»œ_Àj˜Æð/µãù®å=úÎÓŸiú[ïOêëJÑúpØ~•ûÅúº{¬õ�¦×n¹GµÝ¬ò/±CmˆJ’•-¥ºâB�m'p@SˆÏNQš�¸C¤çÙý&ópÔìÜž\WXz#ßÍšMÝ/§?bWï Oê飖8ŸñGJýá‰ý]IhKÜÍM¢m·»�µP$Êa.)fÕd¹+^sÀQÝæw8In61ß´w*’ºF6Ž]j Ù´çÚ–•ûÃúºáV};ö¥¥~ðÄþ®ž¬ÒKUN �¢;•cQ'H÷¦Š´éÑþ)é_¼1?«¤•kÓ㦔ҿxaÿWNVºAÇ+±ODw. L�#Þ�UºÀ?ÅM+÷†õt’àØ‡ø«¥~ðCþª”[”ƒŽ{jAMDw(ÍT½#Þ¸\K 饴·ÞÕRK�f4¾–ûÁúªÅ¹H­uئ‹¢;”f®^™ï+jbÑö±¥¾ðCþª“SV¯µ�-÷‚õUÊ•í¤ÔªìRÅÑ˃W7L÷•Ò›µý­io¼ÿª® -Ÿkz_ýß…ýUrMrMuì°ôp\ûTÝ3ÞWE6ßµ½/þïÂþª¹P·}®i÷~õUÉÍriý–€î ½ª~™ï+¬[þ×4¿û¿ úªÑø?ísK»ð¿ª®kX§öhz¸%íSôÏy[þàû\Òÿîü/ê«?¸>×t¿û¿ úªäŠÊ^Í@w½ª~™ï+¯îµÝ/þïÂþªµ˜kº_ýß…ýUsY\˜)ÇíÁt'©:8÷•Ö`ý®é÷~õU¬Áû]Òÿîü/ê«“ŠÕsÅÓÚ;‚ën¯¤îò»ÌµÝ/þïÂþªµ˜?kº_ýß…ýUpk)ÄtÇöŽà‘’¨~çw•Þè?kº_ýß…ýUkt/µÝ/þïÂþª¸­b»ð;‚àÔT \{ÊSt/µÝ/þïÂþªµ¾Úî—ÿwáU\VbŸÙ¡èà¹ö©úg¼®÷Âû^Òÿîü/ê«[¡}®é÷~õUÆ+TþÍ@w½ª~™ï)Mð¾×t¿û¿ úªÍð¾×t¿û¿ úªN°Šof‡ ;‚^Õ?L÷•Þø_kº_ýß…ýUk|/µí/þïÂþª¸¬¥ìÐôpOíSôÏy]ï‡ö½¥ÿÝø_ÕVw�þ×´¿û¿ úªLŠÕ?³CÐÁ/jŸ¦{ÊP¹í{Kÿ»Ð¿ª®{ØŸkÚ_ýÞ…ýUpEhŠ^Í@w½ª~™ï)Nö'Úö—ÿw¡UZï¢}¯i÷zõT–+DRöhz¸'ö©úg¼¥»èkÚ_ýÞ…ýUo¾‡ö½¥ÿÝè_ÕR­Röhz¸%íStÏyN{Ø_kÚ_ýÞ…ýUl; íwKÿ»ð¿ª¦Õ™¥ì°ôpOíStÏyNƒ�~×t·û¿ úªì9ísK»ð¿ª¦`×@Ó{,=ÜŠ©ºg¼§©U»íoK»ð¿ª¥m¿kz[ýß…ýU0 "”Jë“K@wЫ›¦{Ê�JmgüZÒßîü/ê©T·i=tΖÿwáÿUQÈr•KžÚàÒÅÑÊAU/H÷©3g=tÆ•ûÁúªY1¬§üWÒ¿x!ÿUQí»í§ »\hº#¹H*eéôõ0쇮–Ò¿x!ÿUJ¦ˆÿŠºWï?ê©«n{iËn{j3ODw)D�#ÞŒôÖšÑØï£´¢Ö.3Ó—,‘TBS5ô¤d£ J@À*Hi­ö•¤>ñDþ®«Û¥Úël–b>PП<�°þ:G˜©�!u±H…!Z¯R_`LL‚–[…*BšØ‚Op¾w޾�0®ˆ5�Ä]d¥ï-Ȭi­ö•¤>ñDþ®‘“¥ô¥Û±¢ô˜J‚l‘@ F}X8G#)Ä Õ—K#+JjKìùj‘µææÄJP–¶,•Ü#�Á¯‰ãÊ. âð㌗$Rë¥>¢zú$Ÿe3bfÐNé ²MÑËÚwD‰bÄìïLO—-ÒÓ 1c‚²¥žV”¤a(Q䎔ëõ‰ÿè•£ïU£þzÒš–\ ]h¸Ý¤¸"EyÅ­H`¨§s  yX-?äöUL˜HÞ�p~Õ¾@ëem~ªÕE»FŸñ7Gýà‡ý]uѧ&Ë~-³³}5qz<IuìVýá¼�JP¤…/‘ÑG”Žª«Ùºj/óƒÿ†Ÿè¢ vr.¤�w¾Ý¥ÆnØ}!„DŽ¢ô…óñIRS„¤Ž¸€AÇBJDCV_ i'½ikp¸à¦206ãªÿdZ»n˜j=¾\žÎtÔh—-Þ„û¶+z{ô¤V”mï6ã±H²yõ“ž•nуüMÑÿx!ÿWC}¡ê%ß®¬êKdùmÍ–ÊY—o’Ê–bì· v–ÉÉÀ åYǬBE^ºj ?Âþ¢ž¢¨Æý–“nÕÍʈ6ÞÖƒs•­ou©­ú@髸oHéFÖ-òT•µcˆ…¤†”A ‚#94ÛÆ�´Ú!]µ.œ·3mUºYôÈñýFÊÜîÂ’ßÉB’µ60� $ŒŠe:ç]²æ—_%JÈîÓþA~Ê8í÷öº×ß½oò„z5„Lç5ï‹,Çé ‘Ʊ¾ˆ£J�ý‹Ó?Ä6ïü£TÝÍ5hr:ã:Ü¥° Ý*kÅ ‚6�øOO qÇN)Æšq¦4‚L…”1MÁ}Õ’ˆM©D€x¢_Öî¤ûR¾ÿ·óª0$�¬hyܲf9]#Œ`ꇭz~Ç+±Z‚žéÖ»¥…¸¥’Œ¨ã*$ŽT®žu=uƒo¾Z^µÜP¥Çwi;P´)$)*J�*J€ ŽA»{RŽšJýþÜΫ´Øµ8餝߸�?:®$¸R6*€o²TT­)éög \uv –á‘C2œôPã eÀâ6¥,†Ï¬‘’¤(ž™©6f˜¹ÀºL¼Ü.s¡F~2^’IZ[j;ƒm¡9Ú@Àg9<ÒÿjŸµ;÷þ$ΫFͪ~Ôïßø�?:®¡»óE-§è”=³ë ®¬Yî7Kk†æ«”wØuµ.+Šh4[l- Ow°mRTéŒ dþÍ´ë/Á³,Pd;· žôfœ–¢VV¥’w)EDþøð(ƒà]Uö©~ÿÄ�ùÕgÀš«íRýþÜΫŸèbáþÂÞIh&å¥/s‡i¸Ù²ËŒÚ­ï3Ü)„å#;pS�1Œ P„=;{ƒ«áO—{sRÛ#5²7ÂrÓöõ”­iKL„¾¥$„î^Õ$nÂŽåQ?Àš«íRýþÜΫJ±j¢?b·ßöàþu]^í­¯Ï¹ٜ7gaDYmÑ´õ™»LY’dEcÕŽØK-ý‹`¥)ÊR8YW™4ÖkÁDâ¦]ÓZ©}tµ÷ý¸?�Seé P¯ñZùþÜΪÌsÀßÜ«KCÍöJqt‚×DjÑz¤ÿŠ÷Ïö þuI«Cê£þ,^ÿÚƒùÕN+)úAW4U=†r›8å+Aj£þ,ÞÿÚƒùÕ&®ÏµYÿïíAüý0£45]„–å µÑŠ»:Õgü[½µóºLöo«ø¹zú`þw]Šên˜Qœ>« Pb”i5*�Ofº³írõôÁüî¹=™êÃþ.^¾˜?�×B¾›¦�UÐ( šäÑÇÔËV}®^¾˜?�Ö¾¦:³írõôÁüîºå ^˜K“jú×uõ0Õ¿k·¯¦çu£Ù†¬û]½}0;¥Ê4Ý0›“jºÖ±G_Rý[ö»zú`þwZ=—êßµÛ×Óóº�ø¥;tuÔÑá.9¶È×$�Gg²í[ö»zú`þw\«²½ZÅë×Óóº67o€"´üiùŽ©`WÊ<=”êãþ/^¾˜?�Ö¾¤ú·ízõôÁüî…ˋԻ@�A‚Ð3âuÐòky4z;)Õ£ü^½}0;®‡ez³ívõôÁüî¨>²­È›)0æidÍo¬Ùf«û]½}0;­ýKu_ÚíëéƒùÝDf©<ê]ŠÌ«Ò p¢EX‡²ÍWö»zú`þw\+²­XÅÛ×ÓóºMž¨s¤c¡:ÙW›ÍgyVì£VŸñvõôÁüî¹=“jïµë×Óóº·!TÅZ\?�jpVÁsõ%ÕþzõôÀüî¶;'Öü^½}0?;¢ÔøÔƒã^Lìâx@Õ”v;)Ökׯ¦çu×Ô«W}®Þ¾˜?�ш±jwxÙgfÁª}ÑtŠÕXR­]ö½zú`þwZú”êßµÛ×Ó󺛔izaVäÊ®�@¬ÅýJuwÚíëéƒùÝgÔ§W}®Þ¾˜?�Òå^˜K“jºWõ•`}JuwÚíëéƒùÝkêQ«¾×¯_LÎér�/L%ɵ]«ó\‘VÔ£W}¯^¾˜?�Ö¾¤ú¿ízõôÁüî—(ÒôÂ\›UÐ*½Åhа¾¤ú»ívõôÁüî³êO«¾×¯_LÎéùF—¦òmW@ªóª°þ¤Ú»ízõôÁüî³êM«þׯ_LÎér�/L%ɵ]«Â+UaýIuÚõëé�ùÝgÔ—Wý¯^¾˜�Òå^˜K“jºW•€Õ…õ$Õÿkׯ¦çuŸRM_ö½zú`~wK”iza.Mªè_n®‚¨ÿêI«þׯ_LÎë>¤š¿ízõôÀüî—(ÒôÂ~Nªè]¥Ê:ú’ëµë×ÓóºØì›X}¯^¾˜�×<¡KÓ ¡‡Õt C”»n{hÄvQ¬ø»zú`~w]§²½^?ÅÛßÓóºä×ÒŸÞB‚« P«N{iÂöÑ:{0Õãü\½ý0?;®ÓÙž¯âÝïé�ùÝpkiºaH(ªzC¢K¸ëÊ’”-çêÚz �„­D•©/4¤…TRw ’F3ŠU `ô—ï3¿žÔº{8ÕÃüY¾µóºUžêÑþ,_?Ú�ùÝT2RîЏ#«ÞÏ’×ùܼÎþ{J ¤:ÒÓ:CkR¶‹3˜V[[x9™Ó+¦9ÅL'@êÁþ+_Ú�ùÝv� ªÇø«}ÿjçuÁ’˜þÿØePýž ΠýçsóÊè%¯ó¨?yÜüò¦F‡ÕcüT¿·óºèh�T?ÅK÷ûp?;¦ã)ú~+ Êއ‚‡kkn%ÄL‚’?¹×ÿ÷*-›Cm°Ã&ç }Ë-²•*ÈæHBBA8™Œà ./U}©ß¿Û�ùÝgë3Tý©_¿Û�ùÝA4ts[m×·ZµOQ]O~(ZýHeô'ÿ��÷‘ÏÏ+¿BGùü¼®~yDŸ¬ÍUö¥~ÿnßùÝgë7U}©_¿Û·þwUÍy»Õ±ŠâÃ÷à‡=?þ!ï+ŸžW ·!_ÿ0�÷‘ÏÏ(Ÿõ›ª~Ô¯ÿíÛÿ;­þ³µOÚ•ÿý»çt‡ Ýér®*qðB‚ÏHZ%LeæV’—bØX.¤õAZ¤9„‘ÁÂs‚@#¨ˆí�ç$vK¬ä:AqØì-D rgÆ&Ž®zrûl¶Ê¹\tÝö,(Œ­ù¨ÂPi´¥(„Ê* N'Ž ^ÙÙT~ɵœu�VÜv¬tÈŸU–EONªsTTÏ+LåCý©"¡m~MM__ }Êþ�ÓT4?Ú’'ú×äÔÕÙÝTS4Ëó.¨Ï¼þÔ+híQ\¼ÜM†ÇÏo~k•&ö´)JŽâѹÄú>ÖÐJ *Þ­£œ�‰ÚEµ/j^‰i…f’ÌuÌ‘-)e}ã :¹[Byt$rs€|qBì¶*4®­i»e‰:Žön‰jäÍ’Vám+wfü¤‚qŽ3�Lõfw¹®Ê™DUº/Q®,0›Œˆ}ê1V…>ÈïVw(…gëT Ë1¸wÜ_¹6Ú6ÒîðÓ½[�µi°Ù™ äIŒúŒ¼Ê‚ÐâÈRT#�E-ð·Ü¯èý47£­ ´é¨v÷!· m%[™n{³’TT~9Ô¥ndœå@j_º© u&Êå®/߯¥i«5†ß-¦!12T™w5ÇRãŽ#BYsy¢yRs�=µ ÿhºN<‡ã¿©¬í=µºókœÒTÚ¢…©@« %@¤“Ђ4©´\ù}§³ª[Ó:^øÂ ÆŽÒîrÛðœmçV\kû�Áœ8œaI9OÏ\AìêKÚÝZ-eÈÚ²eñå€r¶Ý0vòà4xx'<5€�õóËÃ?¦¼Ý¸Ø’:¿Ósâ-õV_gžˆ‹ƒs‡)3SÑTËèX}´�´`úÉIÉ#ΡÓÚ] ^æÇzL6­QmQî_ *Z C®:�ÏÉ Ø;·s»ÙÈ|M©¬Ó¡\­³J‘mØú;òœa¤±2@y* KJ;Ó±9F9W­ÆL}·³�_k°µÆÞ™ˆ°ÛmŽwRÝc½,<âßHu(+i+C›RâAP$�ÒÙ^ß–>YhŸ+Ë�1tzçkCáëE•‹ä /Ü~ Û–Òšt%IH…ä•(�� çbÿsNÛíéÛÍòÇEÍ 1�.M©¹ 8á•«iteC$g#ŽhHèEa�a˜lwÑ^¹‰m.âû… Ë}…%×¥¼´ìÁß·q9Ü:S]›j‹m�«ldØ&™ºj=Šà¹O8nï¼Ë�Ùï’{âv(·Ê­Ï d[Lÿß/!}žÚ\æÚQ¿yWvT�JrŒ«<`„Úô¤†Õ²cv»[W(6%8ÔÓ§"RÃÍÞ>ÑS8ï²”€ z:ÔŒ jd6Þ6Á¨•xmÔHYqÖ_Lœ¤ ¶V•>‘�Êr8å _/ÏwÔ¦¿»×ÿúôj<´ëÍ7w’ôkMúÙp}†Òë­Å–Ûªm J”¢@ ‚ ëšB?iBE¾EÆ>¨²» 2�ÈDöTÛI*) R‚°�TÉñUl¾Ì¥DѶ{|™Ö˜ Û´¬ûTù �Ø[Á“Þr–ÁmjVâž¾ÒD6š�3[_uÂ-1q,À¶FmÛEéÔCuçLÆÙ$­M«hA¤äi¶öüÔúýWG!{þeê{´W½¿QøÁfu¾KS">€¶_aiq·z¨íãáo¹_ÑújKB»ÆÓÐX¿LDË¢Sèj×ãŒ% ùd%9Æv§8]ÕvcmÔ`›(kŸhq퓵yÑÚlöæî RW“!¥3�ŽSe8õOLâ—c]Æ‹o›7QɳÙÚ†¦“!J¹%IŽ¥¶…muJJjܼÎáµ\nÀ‚×z>mú÷d™ S 0ËÁ»š/Æ CÁ)ÇÙw� sÆÕ/Ç?¬;8¼Ý.W”Gã-k¿1t�á»Ô&c) }‘Þ4¬îP) …FÕùqö=áv3?OÁÞ;вÙÖvG¢zc7x.F=×Ç&J >7×­»¾äíýÖáŒæž³}aå:–\KŠe}Û¡ ¡XiÁààƒƒàETov].b#EP‹m·=MÏŠ‰ïLX�‚éaiyÔ…,>µ•+rŒõ£}d›h°%«£Œ;s�ó’¦­’J ®(¨„’)H!# $WA�¹Ëóòþ ››ÏÏ÷ú”ü-÷+ú?MCOÖ^‹¬-ZÐÔ±p‰&G¿ßr¦†Ý¸ç=ï\ŒmñÏ;ªÖ¨ÕöK…æÙiºZíñ%¶äiÌ%ì¸éd¡IJ’SÀmy<‘ŒäÒØ›ŠpyÔ»]¢ÛZ—¨“xv5¦’[Q—2T¤¡µ÷Œ´à$«ºŒœãÛŠÓ£ÚÜÔ/À/EM½Ø“š¸úR;§„‡\m Ié‚Pœ£»xy×—ŽÉiSN��kƒ7æn�íñ%=mmHÄw]Ž�¦U¸­` +<=cˆÍu¢§Zô´©NA¶²Ì†¬ðD%Ïzr{ÔÝ ŠÞë¨ q ï“’F~PÇ,2¸æãÕuÔ?3oÌ•ÝeÕ¶›Ü:Ër‰rˆTPˆúopê7$‘‘åO~û•ý¦ƒtEŠëMêëzfßmÖZTh.©ÖšJCcㄨìÉ%#¨ã$—º®¶eÅÊ{ð·Ü¯èý5Ÿ }Êþ�ÓL»ªÎê–ÃR¹O~û•ý¦³áo¹_Ñúi—uYÝRØjW)ïÂßr¿£ôÖ|-÷+ú?M2î«;ª[ Jå=ø[îWô~šÏ…¾åGé¦]ÕguKa©\§¿ }Êþ�ÓYð·Ü¯èý4˺¬î©l5+”÷áo¹_Ñúk>û•ý¦™wU�Õ-†¥ržü-÷+ú?MgÂßr¿£ôÓ.곺¥°Ô®Sß…¾åG鬸[îWô~šeÝVwT¶•Ê{ð·Ü¯èý5Ÿ }Êþ�ÓL»ªÎê–ÃR¹O~û•ý¦³áo¹_Ñúi—uYÝRØjW)ïÂßr¿£ôÖ|-÷+ú?M2î«;ª[ Jå=ø[îWô~šÏ…¾åGé¦]ÕguKa©\§¿ }Êþ�ÓYð·Ü¯èý4˺¬î©l5+”÷áo¹_Ñúk>û•ý¦™wU�Õ-†¥ržü-÷+ú?MgÂßr¿£ôÓ.곺¥°Ô®Sß…¾åG鬸[îWô~šeÝVwT¶•Ê{ð·Ü¯èý5Ÿ }Êþ�ÓL»ªÎê–ÃR¹O~û•ý¦³áo¹_Ñúi—uYÝRØjW)ïÂßr¿£ôÖ|-÷+ú?M2î«;ª[ Jå=ø[îWô~šÏ…¾åGé¦]ÕguKa©\§¿ }Êþ�ÓYð·Ü¯èý4˺¬î©l5+”÷áo¹_Ñúk>û•ý¦™wU�Õ-†¥ržü-÷+ú?MgÂßr¿£ôÓ.곺¥°Ô®T_i×.÷³MTÞÕzÖI£§ÿ!uCvïû[ëÏÞ5ùB=]ݤ5ŽÎ5Iÿü,ßäT‡nÿµ¾¼ýã_”#Õ˜@¾Ê•Iþ£1ÿDq?ÐÆ¿&¦¦×®µÇö‚Ðãç¨hcþˆ¢¡�~MÍþr�²vŒãÚ ŽTI‹`ÚãÑÀ!d®›l_?U:ÿhZ‰ Bã(sÝ é jËËïc„n3ì'Ÿ¢„f§ãNy ¹V“±ä†S€¡â8èi¸KvLÚ¢î23‘-Ý}.9�š„º›™Ðll8n;ùì‹WÚ%Ñ J�¸Œã»“£Ý»Ò ˆûFyîÓ“NßÒ¶V¥®0ÓWÇŠ·½jÔÙmxNr•Èò>t“vÄãá¤é-F’q•*ÎÞÑ’\øgŸqªãdŽyülõV/†ƒm±ÜR¬ë˳«JS%ƒžézÂô¹/4zñÝ�š õí†.œŒ€ÔDGuIBÈîМ¹Ž©ã§ã¦±½fs·¢xÁχþ•NVª]°âZZvHË[÷V�CNÛ]�Y|'û@ÿ)Ì}Kw[ak�‘âGt‘�ÁC ßë:töS€½‘Ãö>>ßìjË+ê øÊ…ô��ð©wµ�Á�C’Û ÏM‰þŠàki»¶úc]:íOô{ëÍÚßV[çê[¦–Ÿr—ky.$ŘÃêF BNƒÓ$û?ëß×CŒ¥è·)ð®1ZJd2ķܔ̀qŸ1óÕÆÏ>ØkÞA*Ka{|Ë×îki¡$¢cdøe)éôRnk™ÉekLÆŠ’’q±>Ý^.±Z»HuºK^¬~Ôƒ¹õ°ûªQHêÝý¾j™¨õ?¤<¾Þ[h(íB¦¸HGŸ*·ÅÔ$TD°t¼Ù××n–Îâ2pÚk¯×äü«û±œxz‰¯é&µæ¢xµo½]N8?Ý«üÕ±¥4¥,¬O½Ý\u#%*–çóž*FÒV;>1rêš`~èEkë�V¶Æ~Bkk×× ‚Q-ƒ�6ÓŠ¤—¤®ÚrC’ç­;r�òWâqçNõ&œqÛ<G•-‚ô�…ÆßRTp“ÇΜÑÖú‰½®˜ÿÓWíâOø[$c¨m=kmkû‚ˆÌ¦‡«“ñiâ¼Åªô^¨‡orDKåá*JB“™Ž`�¦ª»¬ýqm;¥Ý/Œ£ Q”èðך±ºÈº4ÇF/|�s7œÌk¯¢¢¶uÄìŒLkòv'ú+ÀVKþ¡�tb+úªó§§-Åmö‘»¥XwVíñmBRõíð¹* OZ½)G<ƒ¸í=8üUÓ)ªž.$Lj)Á¶Âõ°×WÿųòñòÓ¢u¼âG÷[~Ü!?Ñ^Ÿ©ïmº²Åöô†‰;ä÷ =§4K¤5”ˆF¸;x¹O�ÂÒ•Å”ú–Ë ü¯”N~Ž3š�ðÕµ¤‰.Wbj{‹±{uÎQBJ¦¤ö þŠLkY›Ô5=DÿEGhk5²öÜgÚµ±-¹0ý&;x ‡2�ɱǗ²§¦i(pY\™z>ݱ€íÅGL”ñãôPº:ÚÚ¸Üöû»&ÇiÀ…j¢*hìî/�º‹:î~â¶° ûùñKµ¬n¯gº”Ò±�°MJ[t4iËmné |6Ô�êpËK ƒà6Ž}ý(ìÛPï 1¤4•Hà§ÅCUˆVÒÔGÙÞÄtRÁ4ì/`Ò۹ыš¢ð�…àÇôW j»ËŒ¥eöÁ#‘ÝŽ¿EB°�¤qáç\À!L‚œ�Ÿ ëÛê/ñ•/±Áo…þº/qT†Â@ãâÓÏà¦N뫃n”Mÿ°šÔ/)˜o8’öp|�Vm R^ o¼uÃ×ÄÑÜޝÛ-—gfÚõßÑ ®–ž�‹²÷WkšæpI)˜ÖA'çðò¦§´ˆÀô¶:düXªš÷¦nRì2C"ÎÛ½‚Úº,r�ˆ= ÚÄø#XZ™Žû*-.JÎ8;ÓÔ|ßE—ªc¬gðUc®�͸‰z]®Ð.Š) ’ÀÉç ××"÷K@�þZj‡…¯­³5æÚ±•Y£³–%·žùiùXã¡ããçÄ&�Öó¦ëö눶‹Žæá¶[H ©ðN>Qç?7•Wt»A¢¤^öV®v ýœØ ý? ôs�¡\’æÑ-Œ+ƒÚ%Ð!dÉ`”Œð�^y×ÚËá(XZ-–UèM�Hš†�ÎN [>ìúßG�FÃíB%ŸKÚÄË[w oÃVVq�é!#qÇCëãI¸tî{˜*>S>F²6Hè,§^åèãÚeßüâ0ÿ»Â{N½ ¿wðb¼íÙÇhÑ ®,êØñÄ€éS-¢ *9ã»J@ð#ÇÏš_S]µÝÁænM&Ô S6)†ÊÞôYðÈ~ŠjI!h2U}/’žº ‘1uµ¶vî^‚k´ëÊ” §âàtÃC‘J7ÚeÝJÁ‘sÃb«Í9x±\í-Lv1œ#ãP¸¸(Pê‚[×M?Ú‘ãÙ›}¤)€ÿ¡ð\%yÛÓ‚©9>[åT àí i\>žJùw´«Ê[R“".RV‡&›·Ú•éE#¿ˆ üPðª6oj6iz–=–Ébeä¸ðCò$G  úÛQŒçß�uZ1á[Ýe|;†qÜ'ú*v`ÕoøgU_OÅ +¥Ý±“&7þ­#´«¹* “ƒÆ8öÐËMÀL¤Ç6ØE=ôtg?EÀÓö—-¯Î“”¡¥¶‚˜öàòÉQ ©ÀÇZÉâ5˜� {hKKœï„‚,쯽¥ŠŽ¢˜Ôd×\“¯ª-ÏjO¥1Ï_‹ í æxô¦ þ SmZq¶;ÓožQƒ�ïÉÁÇN½=)³6kL¸ÏI‰ FÖS¹}õ°4”�»†rsìàjI&ÅâŒÉ$.Üß±MT<5®=GÑOþ½¯*Fä>ʇ‡Å lö¼Ôu)0AFNZ% ßîÙ,§BH$ªó×sD†¶dü^qíɨ£Äª$�²z°(`--"‰:÷P´¥»€3õ‘Mþ¨š�íÚ¸¤’{ŸÓC²ƨž€}ÔÈ¥Ä�’R8ÏAK”*zev(iíðZçhº•)È\Lç¡gôÒˆíR+ªãÈ�é ·0NÒNw:xÓ†0Òq–Ú@¥µ(c9ðÕ�ˆ RA7 \�&ÿåªc²ÿÙÔÏ =îúË•hk×µrl)‰¢áÇ]ÊVQé’@n1Ë›râùõS�¹ÉWjŒáÕÉ/7ÏÑÄaŽ)@`¶^©¯j–×fz¥Á:J¶Ù¥ðCx?¾>MQ]»�ú7ן¼kò„z½uë—{Ôª»Fj<ád–KJÜÙWr¯Y<’ò<Ž™=MÛÀÿ£myûÆ¿(G£Ô„˜Ÿt¬ZF"xCþ‡áŸû×äÑQŽ� ä‘”œãRð‡ý Ã?ö-¯É¢¢]G¬”)p}bqÅá ÊÃöF88=é»GÝ4’‚8IÊG¿©¥Ü˜3ÉkŒt*’–‘¹(ÚU€9ùÍ*Æ 9Xë9õUY‘ªÕ�p¹„¨œS° `íÇŸLSXcâSƒê«Ûž¸§‘ÁP 'À=”“;U©œ„¶ xPñö*˜„’ëƒr€Âyy>>4îa;ÒH$îW̪Ch*ÜS�H{)šrK;�Úöàdsì  [k~åuCl¥.=�¨Nà2H'ÿÝ5`¸¥,(¨’zš‘l~uð¸Â [ÆÒ­¥IVA^ãù��ðvI#¯câÔ_^ƒã¬d”ndšy„1¥ôUÆã>t5CP¸3H�ïS½ÒŒû I_tŒ¶Ü‘";Q!¶²ûÅ¢òRiFõÐr~Š3n—‰‘µ‡ž‚U°!e¹Q—�Xr H$òSŽ€ÐÕÆãÝn¾À»Ý¦H7XêmTÇx¤nIII ç‚sáÖˆâðÖWLê’Û‹€@ÎßE>‰Ç†ÀÚxì¿Öà}uÝ¢›Ðڒ˦“ç KiÕ\˜lGT³©€ï G­”ã¶ ÆAP—•\¤i Ö$¯LÇnëyUåµ7xh%´©*@m Ç@ @WÜž*:Ù©ôÕ§P Í»T>ä¦Öv*ån‘$†Ê6÷dïO 9)#(ƒž´¬mM¦Ú·ÎˆÎ¶r9¸�ò]nÍ)!Îõ÷2ÙCÉõ~<�«Þ=QœÔQPÊE¶]þSè¢5{Û÷I¸Þwä�'ê‹ô5ªá7LiDZÞ¶.Ô�«ˆï Â�^è@PQÆÎ<饃_ê ^š´¡V«‹®Ø-²Ê®IÃÎa)JÂÂ}E{9Îï`¡;½ÚÅ{·&ÒÞ¥qp˜\¥Åîì/‡AyjW®®÷ Çä„“ì©i—6®ZAVW]}×RêÓ©´Ë JR ®rñp« úÛÇ…C< Üuæ:w&c¡v¬oyÿä…§Ýmñu-®ûaƒg±5 Hy¦»w¡kmÍÇ’zU�tí'\_íZŠ#1­I�~lB‰²à¢¨´R°“�X¨døcZɇr‚zÛr”ä—Sݸ‡í2�›ÉÚ•-Å(Xõ'ŸXÃÀ€Ìî’ãÅaòûn| ïz•–Š3»~ˆï”)KP[IXnVäþçjs¸dqSÌãïwEIîŒ|,oÿÒ™s[Û¢é[Þ�µiÝ55ÙµzS�ÞKÀ�è *C#œPÕ›O"éªÝ²F{b”‡Dt¼±’çv¥6•Àɸ½L±\mÖ«]Æú©0íqÑ„7§ÞmN!+hžð©Õ”µŽù_5D!È0¥ÉvÏ.èúâV Îñ ”á)JóàzÎ8ö×áò»ö¸žÂ‰a˜³¨îÖl´;S|ûsvå5­íRô¤/Kj=½ØîÇŒ–¼—‰AÞqNÆÜUÞ-áÙ(ŽÛM,¨'ä¨î¡m?ÙµûX1 ÷¬opúÉeõgo–jܰB´èËC¶Ù��u§$,�”älHIå] #ÁäÑIbm&%5I/6«óTõ.Äñ8ä€fÑ™_¼ùê�v±®&À°XäiÛ�i¹}ëk! î)¯¼âª]Ú> µê¨Ú~ù=Ì»Ìtº© Ô„­ ‘ÀÇAí&¯ ½¿LÜ�Ðu˜¢ÆRJP¼lI#Œ™Çú”írõúÒ¥GiÄ!(i9Œœ:‡¾¡ãäFR€ÈœY:Iã¨|òÄnÓ!±ú5kâdLx± e=o=èI>Þô×d/Ñ\Ü0‚ž£ÅYþŒÒ-8èêB¼y§.ú°2p#ûxUøõPÉ¢ò?jVI÷îÖfC·ÄqkZÛOx„=Dç=ÆE\2ËúØ� ݨü„&BQÞ-¥ú©ÈLJ™Çx�E­õ…�Y^-öÆ›rÚ—Ðö\Ž•wg»Fp¼e9÷ÔD¹—^Ò5s ®D›l¸D8K+R±�Ê%jäý‘>C ”1Ð�¼€4%ŽsÅ︷:·5¾ºÒ;NÊœ$É7WÐLkw¤,­j;S¸¨Œ£¡ÉÏž0kʪzEîé6ä`%(~QZÐÊN\*!)\¢§{KÓ’,7é–‰•-ÈÅ'¾Rv•�yœÐŒœQv Aqe‡-Ì™eÄ„¸PØÜ¼qÉú~“SÃ`ݦ›ÝVx÷³][¥Ë·É3-ÒVÊÁÈØN�5pèNß(¶êÛj^ AmRÚ>¾Óæ^§ú*„º©Á($8BH¶4âmé[Þ’d”`„¬`Ÿ>œ~¹žëçeØÓ•—©gjËkÚ=éP/ìÝ’—�¤”¤%a@”¨yàN3I/VèÛþ˜±¹"ü›K‘¥Ÿl‘¼¸óñÍywHÁ“vÔ0í­>ëM¾êPV ;RO4eÛ¾”‹¤5ßm?bÓ LÉ,A�ãͶ�à…g‘ø?‚‘»›{®ÚÀÒ†í¥)K-©HJ�RHñ‚(‡JÙá;yf=ɹ^ˆ° µ´Ÿ’q€y `Q5µ Ø­å÷ ÷�¸”ª8RAmÔçÖüc£ MòÉ&’¶YˆêFÛ‰çØ|jhàjåï*¹×ú& û³\hý¨5Ÿk1- šZe˜ÝüÖ�²l…œ�-êHöóÒ”‘Å/rv9ÎÈ/OvNU¦´&ŽbD)fªAKI¶•çY#ðš íŠl‡ï÷¤­×ÞˆÓ*sÑÜRƒdmõNF¬ÈË�²BUv²)¸ŠÚ£E9h§;[ë• sì4Œû¶–¾4›d„Ǔ魥~Žê·ÖÈRG¨ê:ÖMÎd޹6÷¶¿>ŸdZª†£`q[�¹Ôg~ëkÛšýMÛÍßPݺ;,&=¹”÷N)[­Ç ôÊqPúŸ)¿Æ9Ǭö}ÙMYGXJµâlÑc†’”ŒŒŒ'Þ1Ò«-@¾òójOÊïOÒšÏbXÅ#‰Ó6”[cnâÄZíëëº%AC%%<›z[;ïRƒ†‰gqšÜt#böŠÄghé‚+¨©Pm)R@ãÀQ ê}ÊUîø2@8Î:wZ¹ê+�R §f¹µ(‡ÇÜ* $`tÉ#À抵w6Ç|>|ULûÇÖ2ÚZûµ»%÷e¿ô'[h[?dc­¤¬£À¡Æq¡Âñ ()&™�¿ÃØ>-|¾¨&%f•�qçû%µ6³Ôj²=2¥v†E°Ïiù�÷¥ôîJvµ´”äoîéÎG[v…¦RÆ»µ\Þ¸³q¶Ýžd™ gº%E-¯ H8¡ÄŽVzä ŠTèö»k“o;Q”â#HŠâÐ…? ¡d$ðBfû ~ÊÔ–ÆîÚJǦ¯R…—P[å<‡�êŽì¡(uIî”�œmPI`d|<$¬¬”:Sf܂羄û¶7#ÞÜ4’–Š8åhcnn>¹éõWµòÓÖ»czwHƼÁÆ%)/- „§ iÞU“ì ûž�ƒ®;8¸ÈnÆ«tµ¼êØe*ÊšRHcØ3�i©�éd›ÇÕ •jS@-¥¸lñƒ…“ƒÉ �hæ¥5²�l±±y±)©Þ¼¶ÊÔŸ’ãk߸§ß´�¦¼Æ9*©¥k)ŽÛö�»…ó98®z·}VêF¾2æmmuäA6Ì~oAŸ©ÏAª‰šõÂ:ä§T…¤Œ‚‘Çc§ÑT¦žÐïÝ»[M�¶Ôb4ñq9½Å@Ÿ û�z[TêUYõ¦’µZÊ´Ë.M�´œ%m¯ÕJ}žºÊ¿Õ§»U›NêýO¨®“bÛâ „¦K«JCeg'“âTU�í£4Ü#¬¥}MSÁ¼í»1ص¹÷ª¯†ÒöÙ‘›·éacÚH¿XUÑìêÝfíÊ#ò™”•#w «¢)?¦¬ýjö»µÜd'f³Hµ&.RŠ‹åžIÆÇ�/K‚-wÍ %§U1¨¦Ú\ ™­¨îFîO\öEJéj{& m«¥ýÙå'ë2°­£÷Aj€ý‘6ºijšÉæpsã»V7Ú" kemÔâ¢ÈËo.µÏ>^)†‰´Þ_ì’ù•)ÛÔ–ä2ÒÕ†÷:P”“à;©+nž“¥{4Õ— ´(âkqd½¸”¯ (õ<ø‘ôS}s®-ÿ¬w“¦¯¨jeÆî¤´c¾�è@})R’8!*?=3¾Ýç=úŸPä댙².²ÚW!aKÚ§[NÜ€8Á5;"®›Þp l³EŽÖVìÈø®$žg‰AÖÞn-}=U5£ìOß;E½È�-•oeN¥Îì)*tmJG€R‰ÉðG­³¼2-±ïÖG\‘t†™°[¶ º¥6Fv©$ð œ+Ë 3Ù³p…‚îÛ—H¬;©n#¸Ú]þå[G¬”·–¥p0Ø4C|™ Û�а¯ƒà)ÒÒœïÙl¡åm£kQ†ÂFs°ó‘^„8GWGTèâÍ¢À9…º¿uò‡jÃ×SGS+ÞíI>~ˆ¦ÕµÝ‹n@’…8y-(íu$PyƒWΉvºâì7_i¹�’†Š†I“ÇÏ^IÐV·î]®3-6Ì;&¸¼Û#½yÅ!å­@nQSŠ) è2ê;l» ÒTÉä˜óã¨!bRÐÒHHaG”ôëœÑœJ­µbžg°\3ÒâÞ"ù((hœØæÙ¾Î™sîñ²¤µ·j:¡r™¸?s} �) m˜£b\!c)^:ƒŒ{½ôÙæ¯¹ë=¨®Ws¹–¶YSmí;¤+ŸnTiÝÿ³½!È�È‹&£ËL‡Ó¦Nxè.ê´m›Iϵé»Zà"JÖê�”p¥¨IÊ��¡µxžKE$2ÉýBkžp7kºÁE†áõ{t d2 [>£–j··ãáig §“ûÁNd§2 Wý_—M6‡�yšœcÖGOÞ&�ɾk Ûêd�I¬õ7éãþ-ò TïšþÓæ’•·å$‚GÍMËNœd� ;“”¨¤§÷¤sšj ;ì9?*¥]·EÊÎTxçÄriV³æ8<û8¦îrFPIÁÞiÃ$ãñãæ¤º)`�@9'�Îk†F°y<ŒüÔ¢Oª¤ì#‚)8ÊHqdð2rO¸ K„GÙ€WëæÇóχrå^m}m>ê£;/ZâÞ¬­>r�]^m}m>ê?…ü“Ûö+ó‡gÜ¡ÞÕ¿jÝWüM/ùUÛÐÇfšìýÃ_”#ÕýÚ·í[ªÿ‰¥ÿ"ª¡{}ìÇ]Ÿ¸kò„zÑÒ|§¬å_Ìb*„Ÿú†ì[_“…B¼‘ß$ž_š§à'þ„!«þŵù8Pû¸VHODš�ãúEØ~ÈÏG½7hû¦“6÷¡YÀ!??&•ŽG£Kù9-üý\Nág8ÆÔã>óJ3»ÑåA å'ýUVhjµ'áIÃWxÊU»œ� SÖ|TsÔçÝL ¤ˆhÈÁ �ì§í¨‘òFÑìÏi.\‘xˆ%Gw÷ªëMÕ…¨e[p¿�iÔ²Añßë( iÕïýhÑIõžs�›4«-ïÜ.I-4§iÊŠA!?Û´\ÙåHö´Ïý%á×°?c\¼Â޶êwáÞ“rCHy`aIQ 83Ðàç>G¨£ öH:ÚÂV%‰€ú)_E8Áò=¾ƒáÚ~Ý©GØ(Žßm¹ÆtL´¨Ç”�€¾€�#ì¯GÄ)6_í‡fAÜzˆXê*—ìqY³Ë±N³Éƒ5Èr˜[Rp´-8"Ÿ[ì.:R¤°UóQl�yc˜´ÅÕ–§£¼ÆP©-¤)m¨cÝ”ÐÝÿ´xÖˈ�j‚%CNs œ�â?öÔÙB¹Ï½0Ó–×”H #÷ “½Jí,@eÛL»sŠß‡Óqi; x<zãÆªÎË5"í7GbªI2£±8È û<}Ôw>ñ6m¹o*KŽ¥k#fy8Ç€¬ô¸Ñ}+ãœöæ †w;–Ž,f½œI÷{»RwÅâßN_´¥±þÿª­ �8; ã¯'Æz wdÖ1ûr`L¸\-ÏòP›“A!¿`Zrœ{ÍkNÐ&X4Kœ°àŸè’Kd!JÜ•,(( ñ·éB–Ý}WÍ…h¼ÇnYžú"¶ïwÝÈaKPHVôð 3ãœû(W²:ªâÀZᥖ‘âêyd!Ì<âýVgô>ŠÖÕI¸¦�mæ”¶ÊiAIXïÈ"ºŒs¤œ|¬zðxªSDÉ“KvÖä9Ý9$ïFãµXÛè!—PROÉñ¡8RS….8•ûqSmN[.0÷møà³€sŒmþš ìÑÏZÊ«Yâ÷#~Df Ä(i© sa�‘–G=ãD^Ò²Žžk¨äÉ8 ãÀÓvóÝñÉò>4³ BUÊrœç=(†ôrˆÕGûØþèqŽ˜Åk¸Ï†mwxP}2E¶{RT„(%Å6Ÿ””“Ç<Ÿ Ѧª!6ljè@ÀöPýúx‡!¼œO°xšÙðbÔÅ7 ×û*´–ª{K‡wy´¥ z8m†ð·ýd¨w‡ìŠv'‘Žœõ4Í{Ÿ)26=Þ­`…¨’µ+Ã$Õñ5¤ÈZ#†PûÎd¤,à9*Qð�¤Sx1Weǃ)“ÊGuò[O’}¤rOÍáDk#¡ÂYÅÄú#¯yüÑ\ÀðºÌ^@ëY›ÝÙÍÖ ìÚ>kñÁÔÀïUÉËENßmPûÉ¢)l“jU�:¡–¢¡H(ж–ÛR Æ#åL¦\,ºÔiô�¤% eÅîÇ’rA«òÙ©4GÀë‡n½ +!‚Ód@[Líã¼S­„î*ÉR³ãŒžµ�¶¤í=£#�·ˆºÚâRC‡GÛ:’IÝ¥ísß’òF¬•«mmÖ¹hqÙ,˜òÐê–‡�Œí §ÊäQ^¦¼j…h•JºÁ›è)}”ÑRV ‰JÂJ‰õ¶î^NsÈ_¬ž±§RÎzƆœ´Ä–—âl!M lIu= 2\HÇ\EsÌ7â;l¦PRv-”àä9Tf‹ £­i.hÚaî:¬®-‰VP>2ÓvHÐà �¿wß©º¡{-¼jË„+´X2¤%H+d!+ÊNp ùúÔ ûSÌeÅÚ®n îr’Ì˃ªö¤>ŠºmP hV}; Axå¶¹q|çÃÈý85­¬ÚkV$ºúÛb\EüsÀ$sÊNwŽÉÎ*gá”,quÀ~Wò…Q�Ämql‰›sçÁÝ\^Ôð´Œ-FšDpBÚ##â3ÊqÆ@ð÷ûéƒ÷küM=h¸K†Ä–¢ˆÎ¼•( ƒ¸cœ~ ô/ XÛÒÚ¦½ت`¥Ä‡¬=žß硃dµjM*­;3‘×B]Näú£»X HñÎÓŽž5iø}3œ½® f-^�¹Ö×Ýâ©}-o’Õí¯…`ÉT)J)[¬ç(Ý‘¸Î9 û \7{&¨‹jm†‘R[›hjX)u[Nä!kN7 +�¼gŒðMÎÓé·[£©¶Çv ù&Š,N­pÐÓèJ !ÀùM¬e ùðG¼š« ¢”29¬Iøyŵ±×$)µsföè5Uïe:›QiËÅù^ŒWðœ‚ûë�OIõ€'$ð(’7i÷››á‹¾ƒ€á r ƒx$g¥54&×nSÈ@ hîÈG�ööP!cûª3—e5k+Þû½Ò€RrÇŽ1Åǩ㦆±€œÅíÌ–§‚ŒeI�ò<·fÄXÛ3EcZ5}–EÑ2õÚÌ·9�‰CéR¼}tÁõz�2M¼ Ήé©ŒKŽG%¥…m?7Ož€äiÛd«lË“,ƶ)¦ ÙaÔ÷'ºn §ÕÉœä稦Q*U6¥)™qÁl¸…òHñ }þy¬/E d•¶æ;Áüܵ4Ð:Y}É3B5ýMGIMúw‡(ðû„Ó‡ÔKíòvc?9¨M.DîöL§;Ç”@R±×>ÜSKÞ$¤¨uA$xg*§Ž# LŒœÀ¸)í-™àóŸ4œ‘ñ«!G÷$S%(w¤+‚çÛOå$+ݣϥ2Àïàú§Ÿ Ó•ÓNK…¼’~WŸe*Éõr?Iâ“sv@ñ?·Ò”°�SjŽìr|é.“� Ûi=N8ã’k˜©)ZûÇÕÉÀqœ]¶8J² ¸ÉëI NSÐã4—ö_¹:æTB�vþ8Ærª½úÚ}ÕFöaη·�1„?œÿº¼šúÚ}Ô ù'·ìWçϹC½«~Õº¯øš_ò*ª/õ@§–ë£÷ ÿçãÕéÚ·í[ªÿ‰¥ÿ"ª¤¿T:1ÙN¸?rÏþ~=hiOôܳµCú�E0ÿA0Õÿbšüœ(d`m!G$}¸¢ëz?è¿ìS“Å!$¡$+¨Éý7v²5€ :^Ñ÷L®2’~Jq�y¥šÇ¡Í$ |}Ê®'§ �!!ÓÒ»GøÁ”òßgìUYÝëN~œˆ­Œ“”�ã“À§ØJ¹)Ýœg>8Å3‚72Ú�ì œcñ•çÕÀQxøb™3’RTJvÊW�=›y¤UÝ�¤’2¡Æ8¥f¤’ÎCœõi Å$(d+œx{)›¢XuçÀr:T ´]nO¶cä¡´mx8¤-œç�RGP=ÜTòÁØy#=rzÔ,4Èv|¶YYõ�Ø^ï¨ßš^ÀzüŠ�¸¶�Äuy…p/Ú.é�cÔÑ..“µØÓ Ûÿx(’Áùî¦ÚÁeÙ}ÐqiŠQã� ‘ŽFI÷ÐB4öÍGð‹áùõåXAõÒ|•Ó�h«ƒF^ívѱ©â”câÒ6gç#ž=´wÇ*0ù-³§åЊL.ž®0•XêM*«ìwÀaƦ$•”u#ìO�Vó4V¨ï¤bÔãqœY+9ùÏν©¯úÂÙ©d=ksÓ็[Jv¼€·\Šêin¤45œq’•â‚ rO†þzªÞË#¶œÐEßŃ ƒ¾¢ãè©Ý+Ú\ý3iN“q·} )€½§sdçÖH>Óš´{Õ7iL_d™±Þe-ÅyÜ©kä« Àð$ü¢°t©¹lh]i%´i�Nû°2°rrPxò¡Ño‹Ðí,¶É.¼ßsÆÀ-m²œP?eòEmU=Lvˆ{ÇÍ ’’¦žOë-ä­ææÛd©Lï$á%cœ ãñšî4d¥eqÚQÊ@ '�Ž•å+Ojº®-âº:Âmï;±IŽÒSÝ œe'ÙÖ½mѨ-MG¼ÏºB–⃮-Ì¡”ç*$uò?1¨ Q8=Í÷ùÿºéÏt· $4îÕv»mÔ–ýAõi‹)ÉŠp-€Jº„øt=õ+oÓ¶ _§K—&ôóŠ�ò\#‚G§�6çŒg‘ÖŽ¯Ï³!Åw.ªCI>¢•Ò„nR-öØ’¥(99æ–¶Âr¡á×ÀEA%tMÉÙž`ºrB�Öå‘„µÜ"4D¬­Ã�ÏŒûw@3' H’q̆º�d�ç¢Muune�NÆKˆà) Vð¯B:qЇr\hýÒP—Q„�¹VsáYi¢Œ�–ó“­õZº��²7[™ÂôØúˆHj+﫜$œŠµéöa]ÊQò’ž1Ç=|Ÿw°@ƒ-ÙªBžäÆ •)¿oÊÌ�•1½k ·¡ ;q§66ë‰JÓÎ8ðß3V« lÌÞÌw¶±Í³oª™Ÿ§í‹LÝ7r¾7Ý?0=æ¢Rë`¡$§(Pq^_'Ã<ŽéÎÏáiûµ¶ôö«€âaËaâ×t´îRNâ�Ç€®³ Î)Ͷî¨zše©¨8¦T–U…ž„s×'Á×ÔV‡™v¯kœ�ú3ÉGÆÓ©´ÝáÈb[wp­²…¤$äú§pÿløU§€Á*ÉÈ=J¯¬®²íž JÚÚÔ€q’½þuaFºJ�‚ÏýhCäã.ë[5Æ1Š¡Œs¶ŽÈÌØo<Éë$)Äädœô÷Wo„›q”@ÈÙ\µÂÀðÆ§•—�Ö!DŽ£Ž+–jƒH€ìP›«šeÇ‹ vIZJT7ú©VJGSƒŽ�ª×^Ë�#µ(®Ùý#ñŸ`¦@Jày)RB¶ž9ÎAå"®G¬fébµL·8cÞ NT†]B¾R{Âú¿Š«+¦Ž»Z×w¶½d‡-«™=Ìì)¤îÜ“Ž0¯íí«¸[ƽíuŽcÇr]6ÛZËsxz©m-y¼5Ú2ô~ º»>Tˆo4v�‹RÑò ›ã‚sŸ š0Ñw»œk¤Õµ9#ÀU_ð+úJëc¿Ç¶95»4ô=!M�¹ÔàäsÉ8ñÇ…zß²ýI§æÙ6Ù†£§À´íRÂ‡Ïø SÅðÙ+*#Ùy pÌïÒÇêl¸† Á˜{—™»\ìîái½N²âú”¥##Ùí¦Z:å¥ô´ì—%¢ho%=ÉR['¯Îx5z3¶EiŸjH¶ª4—ÐpIǪ+ɺÑÔ]u Û¸8ˆímÛ½¡‚H§£ŠXeö{í5ºućŒfÙ@=ª²›†»™sHq¦å§¼Hp`•ŽŸ5DÚØ-L„ô©A”7%K*ÉHŒySºŽ™K!ØB|Y;Æâ_ïPSãŒúÀûÍCGfÊ.Œ76TéÑ·eL {3“�~+SOòÅüP霎ûBÕ®ßýÕÜ#ImŒ$zä¤3ä}ÜÔ¸9*àü©i©ˆ)|$”•¶HP@Žzã4¤õiësJu˜ F�âød†’'’|ÍuaŒõÉò¤)HoϬ¶1#¬¢`)K¦®j îã2¶R ¤d•m)< íÖ½µm¬Í®õ|Dëd»t—Uo�àT¶öÊ—êž¡JãŒqT}‹D÷êŽÅÇ»S-¤%¡°œsÏŸZ±\Ѷ5[áÇDe—Z's‰l€A3ôÔ�¡ ÷¯™\¾£jÍ)~Ýu ·û{ôÔCŽÊ]T×gò¿±Ù³#ì³Ó©�7.á/J’$µ) ¸¨0¶²BBäšôS¶ø×mm1T²Ó­¥íÍ€=lùæ•¶vqbŽÃPíð‰·Vâ[V •“É$ÿéSÓÿEáÅC+ƒ›²_fÚQtümÊ9ç�m5k´FÑœœÃ l�áÓ³>=k‰—K~“‰èQœÔ¡e~¡ÜIW«Æ Ç�Aø(7³(ïë-z«ÕÁ�ìä­[ù W؃æ|MajË]Ròw“æ½6‡Ž} \ãfµ£É[li柊…4ê]J†P¤œ‚<ÅëX.À¼Ûq@§ãôU®¹ ú�„¡=UqÚ�þüÙ°p£ß~6ê&ÆÐëµ tÒ9¤;Oî› s‘Ï_ÇÒ² !´”Ö™>¨=|¼+qŽ[Nx¨ó¦\îPú©CÐ%'$í�š¥{@ìù™·%éÍ?rnde¤jsÒÎACŠ @‚‡Êç5ªÁô9õ\VûK×Fùl•j³ÜãɎĆ^qÞØ©ûµ…¤�û\Ø¢”ý�ŸJÑàSIÛã¾VÓê„b¶i _yÐiš´XŸªfBžÕÎ2­QϦĎ„&I+Rv¥=ç«Ñ%Yç ueµþ½�`€ìk”v¾2ç:[K­a'*BPBÔ7!�ÐsR¶K»1n¢ÿ÷çÆ~/¢ÊЧЋŒç 6²r yÀ'ÙÅIDÓºy‹|žÕ4Ò.]Ä&Ü“ÒÕÛ%(åD'Õ9Hð'ÝO]XꊇHñkØ ´6¶}ÈÔ0Uá16 ã³™Üï–ïîÿ í±âªN¡ºCi¨>1)Ld6âòPÛjØâ÷�¤ä€0jRá§ì-Z¬ÆúâÌ»¸lD[’ÇÆdNÊGP:uP¨£:ÝÚì+4{uᨋuhºÍîð§#<ÊPÚÛîÔ • ‚x+®hŸQv`©1¬OÅÔ%*Ä”¦4I 4”¸ÚT‚Q½)*=ÚFîqÏ�5ôA�’<‡‹óEIÕ•n/‘§]G¨l©´j«všm×1pH[ެJI^ýéÉÉîÔ `QûSìÖûrœbTu¡ œ!Ä©N3�ié@7mMSj[•ÒJ¸¢²KMe@ ï¾AðNpznñÆ}r•¤gkëuÕ›z®ê•h;š„Ò�ÆÇYÞ”z£!Ç0W�ê{+C‡ÔšXlFnßäƒb’¾®Fm›†‹xæ¼÷«n$Ùܹ_.n*â1„4S³?¸'w@ûqSW�&Ü�(†;Ç#6ó-?ܶ�Ùlœ,�[© ž0G˜›~¨«k-]¬š‚uª ¸»JB‰u‚KeKIÆJV3Ô ©"˜Ë�ùmD¨Œ¥§ÙP* õ A)V:Œ|Aâ†K„ÕTlË™ƒr{Zwo³qØÛhövX@gP4µõÒÚY@ÄÓ�\Ùq—œkå·ŽRöÜ d…$r9'>#"œh»Dû+ϳuJ{åç¹q8ÚârI x“ÁçŒ×qõ·ˆñ¡Û‹Ñ˜iIqœi8FTr7`mAñÈä|Ôssˆ‰q}Ÿ^Q;™Ø ŠV:qà}„Ñ!Í¥„¾¢Í#Sµîž±{×nô;šiÞºsÀÛýÊÔ�l_¤%ÂOï”p)&Cnãjp8´2‹CLJqÝÝ©+#%9(ðz3KÆ�çÁÛÛ³ÚÞŽ�ëvD§6¸ùXåYÈÈà œS˜«ÑÐä7ðýÀ4ëŠËQ’û‘×Ç'Ä*'¬c¢³x²mrº‘nq¹wAKM3„×;Cw‘æÍ5ÕÊ‘mmÏF_¥¡“´’…䤧¦*§~K�f]â�އ§k;UŒd—ˆó«¶ÝOc¸ß,2âInSiaå8YÄ«wiPè@PVAó>t+.•_™m«kí€q壹 ʼ†ÓÏ5I‰ÏQ+#’kl›ÛwmóêG8) ã£eö¬/{Xë¦�|èÞh K´BbMž:$ÍŒ¦œZd6Q¹C$èHÑLç¿%v{•é1$=¥º¢½¡ €£í< ãæ¡ê&Ú•:w‡’úÚKh}ÏT!X½ŸF(†é,Kt·Rƒ¾A»Åœ‘Œdüô³Š­]+ØAf§ë—Ñ8ìÚZf[ 4†@J’…de>©P>9 Ÿž‰äpëC#ä×&‡´ÄÅRBp‘Ð�Öˆd©>”ÐPV6’i9�>”à'9ëÇL55XOz€RA^îi씾¢“Áð¥4Y ZHÎÓÏZ�&è’te(9À òöÒÍm ÀçÖþŠFOÖ@O«Ðg?Š—d|_S¼z”—GD»d8xÿom$�¡kó´ð}ÔªHÚ�ØÎ1œf’g!C Þi×¢^Ì0uÄ�[»{Ãÿ’º¼ZúÚ}ÕFöcû:‚  =�çñ.Uä×ÖÓWÉ=¿`€â¿8v}Êí[ö­ÕÄÒÿ‘US?ª5{#ÖçîXÿÏÇ«›µoÚ·UÿKþEUR~©föö5­U�±�ÿž�Z cî9¨{Q=¹ÿðÕÿb[üž() ÂP°O#åxqçGvÔÿü7Ã?ö!¿Éâ€Ò¢AÏ ª�cg(þ¿dkÉôû¦³É/c ÆÔžÅ�§.wµ!Á»»ŽŠs�®QL"n&¥²s_È¡x¼|e+›Ùæü->\|&Fàž´þ~�Óo°¤» oXÁSGiüHõ²,‚ÚåIRŒ(�àFqçì¦w»Ä&"MŽª~hüõÞÕ“›pj gÂAc¬Jªî½–ÎMÝ2¬nB1vZ–VIÎNœõÏ•q+Aê§&í7Ç={Ƨœ�Œp• {>MK¹{Ô—(Î�-†Ú*)Lb’’¤óÎ|3ƒRVÖÂR_~@IV6à€@ñÍ †¦Š¡Î~m-ËCoQ©a¬�¡„‡x�ª{ÍîN•¹&-í)%£Ý…Ê·$“÷JRUÎ|ÀÅU½¥jÿ‡ïÈ¢%’iNppA>ÂI'æè?Õ!ªÚµèø–¨ÐmÒ%\ ‚˜Àq-¤Ó=sÁ¯0ÃŒì„È�)–Úy¶Kä¤m#²ŸŸ4w…Žàv6¦¢k9Dzéuik�ªLg'°ûp!M:Y*hŽ … ¤ûÁ5éNÍî‘'ZÛ-”˜À7)+QPAàdñОA÷�kþÂ.mÆré¦f¾Ñ�tŠ”GbRw¶§’s€ È$Œœ{¨…« ú~k�Ú-ïò—c¿ñ�¬x§��>œULN®88·1²¹AM$�.„çͽZRfÇ�4G%!]ÉRQŒƒƒŽ>švõ ¨¦Kmž$ñŸç¦ YäZÓýn‘j¸¥ C37‚½�âF>�¶¡5¦œ¸C€ìèÎ&ã”ü{nÙ» Pö�ææ±µTo‘åÍuÚwŒÖ†‰ÐºÍ“'sÇS^áÜ$züÇå#·»Æ†´]£K—;¼i†£µÞGu@- '€·Ãކ’î¶²·Ksº)p ‘ôQ‡`½ QÖù ´ °•2áçŒõÊ’ Wj˜üšß‡zR&c±ã^a"ç ©)u¶›=öA')ÇL:óôŠ8“eÒ:×D.\ûsÚrK%HŒà@qÂAn8çƒæq²Üã§¾·7¹C®ÒA¢»d×£[áʘäÇÜŒ¦#©;º‚HÛSÍYØ×c}Ûú¾ª°Ê�RìêCÍÚgZõ [œÃèRÁÚ´¤åYAF@ã'¥\Ü­*Ö¢¶‹-åM©! JVxÜ3ÔùxÔ÷R·:[’f2ïzâ»¶›îBÀH=s�sÅH1}i^ælw˜BrBW'’| Q<ÕbçVáífíüY_éU Å&le6Âqò—œX€ñó�ôÕ™ÿsð3ÁÇŸ[6Áøa‡Ûh¶Áp`õóòñ«&>q•tIçæ5ÃsŒ,ç 3­þÑæSö’wœã¦>oìiiÜÃÆ6ñ�ï“dž}Çè¥.?àËIöWLYÉv‘hÅ[èmM©ÇqŽ Ïø*7Xë8ö‰òm±!·)å³µ!kᵞ„û<~j�¸öƒ*Åk‰i‡b‚âÔ]`N”þ·¤’‘Œ$ddçÃÈU=P;qÖ.J½Ÿî§—±Ä²±±]6„œôñæ¯RÄë=Û÷ �u¥µ×§ai)òmvÕ¹*܉{B¥¶°v¨•�çR»"­šZ[vm›\Yï >=)�‡Mj$ÇŠõ¿T¥Èl¡M&+Œîl¶yO­ÁÎÎs� y®¯ªÒu¥<Á’ã« m Ÿ”¬Ž2zS>ª9×2êïiÑQÚ‹JêûŠ{èºÐ”—1×8åDQÅîÁd²vmûúÏ·É”ÛHD´ÌÚ¥)ÌíVÎO øŒô4ûAëXÚÚô,3hoÉijÌg û²1„nzÄn?1¢‹þ‹·É·w· Kq¸„­ö‹ª)m!9*#=vàüô~š2!÷,O9ÿeNG´É™Ëó­WÝ¡é­.�mcÐöÍjqWØhS’û´¥q‚Ê‚”œ'ªR’G4ÿµ^Ëôwën\í-c�u–æÈt´Úu£€½Û@ zÊàþã55`Ðp. ›p‘q�u’Ûˆ�+Ò\&9<†÷nãÂp:í9¨Í¢š^œ’ü†fª{¯”MB&¸Ú�øÅ‚UƒëŽž95f=·:Îߟ—R‰á dtDþÊtb®³Vš³I··n.8Û1›çvV@��Àç'wNéÞϧ[›ŒÝÊ*b¤’žõ*É~I4Y3Mz7kn„Üoꂸˆ@’¹§»^r[R÷d¤rzã'òû%6ýAð[è–§#gj�”\ ÁJ’Nx"®bipÕU�m)�?¥â#cŽáA#�Ië½OgÓ×�Õ)¦Š[%mw»Jºuü&¥,“Ö¶’Ù¥„ô Œël«Œ'±Þ’êŸeX.)•£~””Ž@9q>ˆs ÆÎrVØüœ•¶C�;gá¹Ì_k]ÖD(òÇ ÈA6’GaOŸ¶¿Åq˜¦Ä‰¿½ì%EJP­XÎBTV}‡¯…Ei†ìÖè°”ÄMïÉ-{J‰Ù¸’yÚ:ñÆ)çjºâ[z±,µ2Z€˜éŠÈRT²¼‚ñÀÎ9äQ­¯LZU»u´Á‘-åw‹4 g¢OD§§ÉÉã5=‹{Û™åÍy sÝaÞn­Å©gºÐÓ™<Û·}}©fØãÍbRç[ã\q.²§û°°¡Œ»œp=žþ†+Wj‡ïÌ[ãÍz<Å„®C2#”¶¤ä”„+’)Ϧ êÉ´]Ùã%0 NíÅl8BT~é)#æ ŠW§/j³*Tgƒh ÐÛµ$�“ö'Ž™<{éðÜf ø¶aÚ%ºƒºüÖº1‚aÅ“»h€wx©˜^U5b‘-×kQVÓ½XÎ2zšŽÖ(0Þ�o¥¶R²¬õ$5O?ކܹ§/÷q $mB‰+NF:nãÞG�ö“r…p™ëb˜Â“- eL8•dv’¾¾ŠlqùéÌ´óÉ Íãok[ꉴ,:�Vã1¯„ `cÄùÐÏeëyv”¸ÿ¬à*Èÿè¢� ä„cœ'ŽªÎ6_e—�ÛU;�ÇÌ®e™íÚpIã­4VCÈÊppyÎiÜÒ;åIˆ÷f™‘µÔ§qƒP¦jåÀ6œ€¯ç¥Ú>¡Ú’vœàu6Yõ­ç¨ÁŽœ³œNrœ#òvð<óH±‚PpsŸÓK2�( rÞ}�IÌPR•òP?tÊÉ…((Œ²p>å_Mf´è¸ŒpÂB°8÷Òñ‰KŠHFý4Ò? n)ÊIäôÍ9cáÊϪ8=zS$WN èÊHÀ_¬¢@ÀÆ3Mñë Þ1šZ@ªHr�8ù©²BKdž¾~tå œ«vÂTO#8éŠïA?%‹µÅqž,|[EX‚¡tÚæ71Æ­“ ½×ÜR^a `á9峯|ˆ ÔæŽ×ò]ÒèµÏ婊ò•¼«�‘ŸÂ9ëÔvS‘ÕsôØ­·ûн»8 ¯¶³”3ºžÇ[#ÚÊY‰@]#üyþ‰à¿(™6”Âic»yÖ~1£Ž¤ø§Ü~“Pwû’ôæ§rͳ:Û=´*:š ¡+É ¤ƒÇ>GË5=ljCj+yü•¸¥$¤r£œ~g#OÛ^¸úRb¥.ó¸`acî‡Lôç¯jõ.'LÙ\feï–ZZ²ŠwÆÖÄû[<ýV*à¦mÊ�c¹�ÞîïW»ßCwÜkÕ™ Ûu§Iq¢¼r¶ÿEµ":'|¤Jr@IR–PT��TOSÈùª/VéÛJa¥Ô°ukÚ¥6¢ƒÐùU..8Ÿïž`õ#XlŽ–¢=“˜6=ªg°¬Í_f Šâúj@ôOI‘ÉÏ8=Æ­~Ó²/IËb쨩MŸGØ · ü6�I¼×mÓ­Ý.Í[-‘Ý~PiJ*;¢„$¸¨©# dùÔÚô%ÒÒ̉ÒåËv2HÂ�|:…÷fRrsÂ�N?w� Ñ@^i‹šÜ³Ï$?¤¦8»xÉìâFY’4µˆR �Ü2·¢•$ žçðûhÚ>Cœƒ�*aI>±B“…ÏQG±v†B–8$ùqAa7�ê­ð•»5­ö�2Ÿ±ÊÈOäƒý¾jêyQ�ž:`ŒãÓ\ÅPï ÛÏRzùEdÀ= JñöÔ­Y·ª~%¶÷uí:F ¸¸‹ZÁXÚ6ðpwx`óÎ}ÞféžÃì®8™º�—‘!²’ÚY�ÊIõˆÛÏá©«-ÎÙ¤»:N¦‘lWÞ) @^ÂJ¤)ÖÁéGÐnöé÷»í¦#gÒ,ËmNãê)À‘Éç)9ã§J´ã;£.a°ðA^$7ÕEkm@�3oeØí€’ 6¥#Ÿ/ŸÎ¡¦j V­¶‹%ÊÜÔ„IÀ!jR0¬d�‘#ì¼*'][¤i&îPÉ!9 `*,…(�g$�uNè]ñ®±Î¿:ÂáÊH€ãMúòÃÜG‚p•$޾>\÷,QöÛŸ7‚Œ ) mÉMU«a™ qf#rÊÖp1žq¸uë“D}ŒÛ•p}“#¹Ý6Ò[$`n�û¥ÏŸÏV­§@Ù ^—y†…Ǹ8ÈiÇ[J½9Ï 'öÑŒF{¦öïRÏŠ”¡ñÌ•Ø`+ΚºÝ"٪氋‹ê(R}dð~H#U9¢úŠ�™!K=J�*'é¢þÔTÖ·5¢ÓÐgìPš3FZu7¥]%2éO1�ém+JaA;I$¤ œ� «8öRšº¹#Ú¶gÍz1¯441K³|€ðL ;9ˆÊŽÍÎZ=R…ãèò¦Î4QpŠC®-K ÊœVïÜÓíKm¶éYÐXˆÁBeÚÙ�­¡<’·y8œc5̶å\"”… oç¶¡0qF;ÞÞŠig}Ví6·š,h+bsŒ€)FÁ-¥[pqÆi0}@Aç`Æ=Ô£JÎ3â1íùñS ›”.§Q6é íoæ]Glu•‰i)tm-âGîˆ?9äצõII·È ç©â¨»Þ‘E¹ÞðÝBÃÜ©j<•xæ¶¼m¤|ƒQo ä…­ Ü~Èk_x ¨-¸zœp£æ=¾Ï¢¦lóP¶•RRãjNÒ• ‚=ƹ»@bÝÖªÞÎlLÎÔ¬zTÐ[ ëÒÝõI¨œô@¾ñÅ]öÉú*÷yr%­.ÚnK’¶½,çž¡»ÇŽ:Äbäõ�°δ Ž8‰{Mõ¸°ôçêÍIÙ#Ä}ÄÛ¯Ù¶ÞTÚ\T5�KàáÂ8 §:[M¼ow;‹®˜ïGïb2hž°•Ÿ2®:ciðªá­#b†ôö.áæo,¸·eM-oeÕdú‰çvàG'8ç¥vm¯Ä­@Æœ¶Á¾I. 2‡çHIB�Ä»·ÉbO€bŸ€âTœ[]p¾ÔÛ~ß$2œÍ‡Ì${¸»Iå˜ÌYªp‰lué JÝŽÎ÷Bz“�/i5ý3=B^²Ÿ\”…á¶�ò™JˆÚ�TÐOš{~— ãg¸ÝÄe>Ô›¿z!ºŒ ŽîÓIé…†–0xÊüsFŸvu‚ÍÁ6kVAºÂf2€C™K�6æ+[J¡É9#äø'ã‘ó^R×1Ť�c—1Ý�÷nÕm+qW1Œ-eÃÅÕ>ëö%Γú×±_z z' È|m##�¤¶q‚2qÓŽsQî_mÎÂfñ&ÕD¹0é…5ƶ1ê+nЯ±õ³ë(Á«²ó©ô<Ʈ𬺥˜.q•ßÌŒÓîºÓÀ4Ø$7´�‹m!#pÎ:œ×º[3§{$ýo57àÛÌ;q Lr•©÷¥+j›JðW„8U€N23^™‡¸Á³‰ œÛGhú÷¬ûªdkŒ±·`œ‰j¤ƒúIlÛdÍ/Ý%ÚÝS©šÄ7�Bß(ܲ„”¨Ÿ•·<`yP”NܘMßlûB›·C+ª ·c€$—“»;nxžu¦ÀñÖ—›koË}ü²Ì+dôJ*…bÀï–†Ž™ó©MÛg°¦Wn€”�É`#ãïò®ôþЏKÒ0.h (TfÜq-§)eÚUë+�pNMF̵»gÔ’4Û²\ÊQAÖÔ��“ÐáC§Lds\ÏE4í=Ö¨ôµ%d¼U;}á{Ü[NcÚ‰tÔ6íæDVKhPÚ óÁþÙ©óé}0B•œt¦6Ç‹²$-JN “Ÿ°ö) q )ÀÉ Ï�Pq&Ĭô‚ÓIÚ|Ò³IïT¬õëøiªÁÜà3ŽsNæz®+Ö’N? 2x#¼H;“Ç5Âfh¸;»·8äõ÷ w’#œùû)¨nÎN2°S†GÅä9¦NsKà• ¤$Ÿ„R å9'ze9m9Øwà` fÑÉ9m>ÌœxR\„WÙŸ:öÂAîžøýeux5õ´ûªŽìÏoëêÏØ?�üÕâ×ÖÓî£ø_É=¿`€b¿8v}Êí[ö®ÕÄÒÿ‘UQÿªZ±|ì«\Ù›„¶VÂY%e@ƒ¶|qüõxv­ûWj¿âiȪ¼­Ú™Î•íø4þQ�Zj(šødqܳ5²¹“FѽXGýÂ?ö=ŸÉ©­|’QãÃÇ�ìkpÎ;;…þ‡³ù55ä„go´žá.�DW‚ÿGòõMç++ê‘êŒ3Åi³²#ÉBϬʼ=Šë\:JÔ•ö=qŒò8¥ÙH÷ÉNãÝsæ=SY`µç ›4½­‚p@ÇŽ”³kZŸ $”«€rODÒñèÉÀ¦ 5Ô3µÀ �¬¾w¤�ÁMeÑNÝI-“·8$ 6!i 9À*Ú89æ�9¸àŒæO´SM˜J|r}Qåí¤™¥9W-¨Ç@G� 3ß æÈV[É>Um=Ñ 8÷yqú*KK‰1RÂ'h$Ó'<šFû&Ù®¡pl­'Oì­>Ƶp¹XÓðΦˆä´Ýæ°´I–�öÐêƒHœã Çº©iI—›ª¡\.É [‹RpqÔ�Áø*P̵úhœ�5 3R÷|d \mýæs¸uÏ9ó­Û]ƒbe»í%ðáVõmsœô>Ú¹Y[·wB=`snTè©ãeúõïJéXÒ­L¹ 4©HqH/Ht$sí¢í[f·^tûÌÌRšÛGj¸6œ’·‘î>ʸß$úkÆ µM²¢T’âB” äð_üÕ#3R*XfBí¯úBšJd�T$t (9òÝ€qÖ¯TLÉcnɱ·Š£ $d¤»�6‰v•ªT$9ÂK}Úœ'ÕçÝÀ¡g.Fã|b$¾ñ†”øXB²áá�n*ÃbáêÖÙ mXÀÚñû®<>Šb–­r'!ùög–ÚNJÛJ Æ9Èɬý#åi9Ú RäÙ a«¸qN`sœ 3SkœáçÐdã>Cúi�ÓÒeÆ 7äáÍçv1ÓôÔ‘EP×9º)é*i3KŸa½3젎ѽJühlª+‰LŽð' J~WSš´»F½[giIm»ufl¶šf6òúNò‰C @’¤T@ðR|0…f3‰ ' ÆAàÒ«bs©[n0òÐ¥oPÝÔï+ÏûY5§†¼6œÄö›æ©WÐÁ>&Ú¸ê² Ndß#Ù÷N·”�Ê“øÅ0¹OD”§ÇÝB–«l§Ýl­�‰$ó/ -¡H)É>î(D`µ–:ÝK ˜jjÃáuÆÈ%:‹òÕŒg†º™“hÆâƒÁ¬�ë!â@㥛JMt=1ó •¨×24õÇSv0,ö×Xf[Ž­M©å)(Êd)\”óáDºWõü›Ä·5a¤ •®Þ‡Cî,(•p@@¡vçß-Ñ}ßpThí•l@i ÆTIåI'©¦ÊÔ:´:R/«Ç<ú3?òWbiC ¬oâ¨:�¹ûH£µÍ9/Ré¶aÃ.‡Ù”‡‘± W@G!JOŸ�}ˆbz4YäGe¤¦$©(q$Œ;Óã3ó —MÿW�¿‹'ËÑ™ÿ’±Ûþ­@?ßÇ'û�Ÿ/ÞWtõU0F#k…¿:—/¢Û7(fV�¾7E�äËe +e¹*ä²Yw©Æ}æ�1k‘ïp�»v¥\G¡¾Ã ‹:Ê�§P”(…`�· 2�C«ŠøqiÎ?øvä­¹¨uzz_ùfä«'©"Î þv.9>Ú!g-N9aMš$H‰jš·ƒ‹±¹³j™îÈ<ŽzœçÕÿÑ/èr-ñµ ¢--¡‡fqÝÁ¦ÃGäžA¢Q©uˆRGêǎ#³ÇÿeoõÓ¬›`‘~P ðYÿ’¦f)&ÖÑ×·Ÿ]Ë“‡»K¡iÖË¥Òñož#êEe·R«ùqM…rO 8§�tŽügc[/ÅMˆªX]�I [.¥yåc„ãßD‰ÕºÐ?\+Î?ÍXÿ’–kWkecÿhœùÄc�þʰ1—eÛk­{ÕÚŠëpb×t�àë.ÞˆÞälŒãžø”Ü=Õ!Ù‡fÚ®ÑÚ²ûruÅFŒ§V´®2ë.8hœ‡TyØŸJ5ªõ¶â‘¨1ç�ù)­uØ)Q¯ÇÐØÿ’¦n2Ý“¢Œá’•— žx¥’y¯?GÖZñi'õÀáÆø#û:|uf¸ %:‰jÿÊ1ÏÿeF1�:\�+u²mÚoìÚçÇÙ§þÐå³Pj+32íÐŒä „…%Äœƒµ”ç ç>ª�úžÚysnësš¹Ón+q÷¹ZŠœñ�ÀHü¨âbýT’ŸQ=@Ï•gC¦ŒŒï­ùÖ™òÓÔR²žPì­¥µÜë..˘•v�!˜ÈŽÂYAHJR·0}ŠçöS7ÐqˆúÞ×ibvà çÁè„x«O¢BYR!}ò“Ð�3î¨$|üsÈúvYNj"m ¦Žööç¿:‘Fv'¹®éM¨‚”äã‘Ðõæ�u\ lý@dé;‹|GëO½À^ålNHJy²¡�½÷¥=ÐK;ÊÁ*çœrëž~om�ÆWmkçžV[Š,^’:8øç ´[bz‡nWïQ{¤¹-AãÞ-N/¼)(¨åª†Nq¹IñÈ÷â¹Ãj)EƒÈnÓoskƒ|ÚmlƼÅ*¨'9€M�­÷Ì¢É1n DhÍi¸á市„¸ê·ã½£<ü–Ô�Ê'ìHÆîaÝ·Ü$B[mPbKeЙ¯4ûiVÖ£¶’•ðS“Ÿ•Œ¨äëTK¿¡Iyh“¹÷‡ `ð9öŸ§ÛI¡SR¤�̤¨$…ò¯€$|þTq•tŒpp�·¾ª‰§¨"ÜY@ý­À»Z\´Ül%¥-Ô ¥Ä¬·p%$€FGšˆzõ6|¡© m @*õ‰ Z�'Ï.({°<*Å‘n¸>Ô˜�BL«|–Š wW‚Ú�!Ävœòqׯ£tþ—•mqOú#2W° ܖϘO‰÷ЬKŽG‘pëhF‡ÑipQ IyÙ½²=WïW&•Õ:r>�·ÛÞ|¸$@ŒWñ@w/! ÎöÕŒ �É=*½×¶]Õ—�‰N¸¦ÓÞwjHQ ''áì§–®ò,&£9õ© È�€$|õÝÂ#W+¾� -JÉpcp=:çæ uí¨`fÁ×�Âi`ÃêÝ;¦F‡yì’Ò/:ìb·\%K$ãÀŸDÑs¹;•ÏSP¶{j °–ýe'iäðO'Ž*^>{Äœ@8çÙBä¶ÞJ)œ×J÷7BM»Ó™`)A@å>ÑÒ ¡ƒ‘Ï«ŽiÜÜúB�öx4ÅÌw‰'ÁòéÖ£²�º,uDã…ò|üéÌoU*éÔõ9¦®` #iY$c§4æ‚2 ÀÏŠIΉdIÆO\óMAZJÉ$�ìÅ;AÃiA#v<úSƒëlV^´“UÙx?¯¸�ÃOûþ²º½úÚ}ÕGv_Ƹ…ÁúÛüã§Å.¯¾¶ŸuÂþQíûŸÅ~pìû”;Ú¯í]ªÿ‰¥ÿ"ªòŸjÿf{Dþ ?”£W«;Uý«µ_ñ4¿äU^Rí?ö5Ú'ðIü¥µxwÈ—±e1Ÿj°bŸú>„?ìƒ?“I:v¤€I!¼Ž·�wö ýgòbi»«ðÈÇ)Ï�N8ùè tƒøú#\ÍÕËÕ&Ê¥•¬¡)àçÇ#ú)ÚS˜6dndœûvšg½Iid ÊQ‘ï§ûR›{¸çâsûÓÍe–ÁÊ9œ'##oñ¥bp­ÿ¹Û´óÔ�Ñ\6J¶ýŽx=?·¼fÉPá9ÇŽ<)“”²†\üØÇ•s„¥‚wg§?¢º$•ghÆÉñ9ýÂÊ‚Æ@T—)d«-€°p’<€9­1 TöžjHRc²¥ºãŽ¡¦ÛOMÊZÈHä�É®0¥0¤€Q­HXî?9-J™*2d4q Bj[o#’¤-)#ŽAó5,A®xÑE)pi-ÕC˶N�Ó&ÆBc)òÂ\Cí¸‚°�¢JŽFGõ4×¾d«%i�Š2sXÚ$2ÜDG¾Zmì^ ÄC·¬! `„ú™K‰îÈPRö¤ à�”‘­!ªä&ÃfjßW %é •:] J”uÒR`ÇK.†-CÕfÍ6…™¡"½*©‘X8ù HRÂAÁ9<�8žO³]­¨ž™Ð„coî„’\AîûÞQÐúÙç¦qãN´íá¨:–MÃP2üø·œDÔ´”nYR·n�òÀ--•´Àšó¬-»ƒjq�¤“ê«iÏ� nÃñNã½''¦G•�X„6ÚÚ‘uŸ)«T˜‰—5†Ô¥ºã©ZJ’¥¬€1Îz+ÕI‘h[s[šì‡!©‡¢¥´®>§{Ã+…Œêq³¯Ž)� DääíšP3j‡·ºÎÔ%nÚp>sJL) sN9áSš›P"þÒ[Jg ‹ÒTŒzŒ¨98Á4žñî3Ž|0*¼¬kMšn§…ÅÂîN­¹R_äêñôÓ¶8AÁÎqƒçÀ¦v•d/bJpÞÜœmžµj9" ³Æj»Ù)uÚrO–½¦]¾2—êu -ÆÞc´oVC­¥@Ðà�m4…oD›ÿÀ�ÍjC«ŠéeØo%M©îè­)ÝŒŸTãÇÆœ*ñ|\¶¤.c)u—\uo×q%+Y HʈêNj6:€ós`,µ*7Æ2àíPx?=rçÂÙ ¦¶b%JOÓðmöw§’ÔÛä­àJr™»ÛOv@IõGx8ëÁæ“V–¾¦M¶)r.n u -ÖÞ`Ú7�ÁÖÒ 1Ðà�m1ruÞLGØ~zËr& ΄‚^È;ò|À㎔áûíñÉ-ITÆ�ã.¸ójj#(ËŽ$¥Å”¥ԜԆJs¹p#œo\ÉÓ÷6-«º¦ám~D¤¹nHAPJIÊÛmHN7•( ƒáÍ#o…oQªÕs½Â�aR›’”´éJI KªŸ² øði­±ë¬tªÙecrßmH)� �â2  …Ìùâ›3t¼?sUÎDˆòf!”!·_ŠË›6(í AÁÉ'#ÓÆ^›É´ø+’¤›K¨w*ÎT•‚“Ï=8® ÊÀÙ;›6w!=¸ÚÕfÒòžb®æ™æ. Ý;6mÂI …e\cÈäV¡X­Žüü™íºn6ùoºÚÔàØ¤!Ì(m@õR@ÈÉ$ôS'dϜšŸ)O!ÇÌ•¥I.‘Œçè1ŽƒŒV*eͨ)a©-¥Zu “²´!iPRBŠw`îÊœoRZôˆÊƒ%.Ë‚[—qb,¸û½ðp)L¥a=Ý’OJšUAî\¹¥ùÛ$\¥¬ÛS·/¥l! �þªs“œ+¥]Dtz¤éä6ªÔÈŽ –Ø8Éâ~›!¢2_}åli´T£�1DËÖ0Þ�le¸o2ÔWaº¸Â2––‹%;‹K/íI#wF“œàŸ�‘|�;T"òô¹ÑkôUÇŒÐq„nZ‘êp•UÎO9<Ô&(šG½u8–GîÙCÞãªØê=,ÆN⠂ĦÞP¢èyæ£"1Níé>ßeMÖ¢³0Ábdk£ÑB¹GŠÜ7$9߇ ”–×�ê‚�À’¢Np)[†¸µL¹zD†¯Í¶‰òdF-¬¶¦Pã!)O¨êU�ਥ+H9ÎyÅvaˆœž¹dÒ�›¤Çõ‰X;T~z“ºÃ]¦àÔ9n0¥®3rZQ9C‰ �9Á¢¥ëk[·+›Á»«qe¶ÈZYiL¾ë�²Q¸¼‰!@s…÷¼uɦWíTÅ×MH³bàrÔ.ãcE–öº@Üq¸ŸÏŽ)Œ1Ÿ4âi\áîä¢\Ó÷™6ÆîlBmQ”˲“! µ4ß Pl«yõÀ¨ÈŒ£„¨dŒ`QÍ»UZ¡ixVÙ1g<¨Ð%Åy†â´ŽùD€$nïHã!#Ÿn)(zä²»t]’[·F³¢*”Üv»öd¥¥ HB²­¡G¨u=)Ì0ØYÉÛ,Â÷jeøÎ$mRrNÜôñæ—e )¥²xGJ0�¬à…¼nêZv;-¸ëm–¥Lq¶ÔžõÇ[};I*å* ãBËD4-¥%ží½'iVý£v6ñ·9ÇŽ*ckÚë©b‘Ï6sl´†�V“ƒÓ§�9K( 9Ø7xãÝH¶¢\=ÛÆ|S”ržàøñŠ‚êW &Sž@$tû¥SxªøÄ Û¸ê|M8ž~9ó”tÿXÓhؤ„ó€…6õ(Ñ9˜@’æ:§?Š™wúÙ $?ì)ôýÞ�àV21ŒíÍ1XÂÉÀÀO_I4d´ B€Î|<©xJ!·L(�OÁH8¢íǯº•„¤–Ô=`­Ç¨ãÃÆ’s¢rß HV2G8¦mòÚ°A;N1îéO(G­Œ�“ŠbÒÓ…s�ƒá×� A0Eý˜„'[Ûÿt[|cþåuxµõ´ûª�ìÕH:æÜ�¤}mò9ëñ+éWƒ_[Oº�a$öý‚Ïâ¿8v}ÊíWö®ÕÄÒÿ‘UyG´ïØßhŸÁÊQ«ÕݪþÕÚ¯øš_ò*¯(ö›ûíø!ùJ5jðïÓÍØ²x�ê!íGðÿ`0¿Ñ&&™9Žñ?+ wöâŸCý€ÂÿDü˜šŽY;€8ùÐ|0Ds‚_OòõXà Æâ¢sáÀ©%0žRrSÜ«85á;8 ž§¦=õ&ØÍµÕ }eCð謰Z÷h™G , zÊp£óëJAZHÁÜHÏ_~)ܬ¨«JÃ* é“€qíÅ2rœ)Xq<‘Ç—š‚p úÝiEo'Å#a9>uÊ” RGªRB³ìöÒLQ Ã{NHÜCÆ•“’R"P–A€8¥lîÝÉ…g=:t­!jÀRF8çÍÇZMîñÈï%hI'+‘ÇN™ëL •¡;ÂFsŽ8ã¥r¦Óµ;†}p8?ްä(ç Îxðâ”@R‚yó¥eÑ+¶Ùk‘ÓÀÿoe8`#h)o•rÅð�¸R­d6‡¬Ï?M:ŒÙ7;2°#zD$‚Æ1ÿ­j@Û»@ÆÃÔôâºxí[¥>@ÁÅ$ú�pö»Pã<åvQ”K@ŽœuöÖÝÀ$Œç�pâ�Š¢ÈW]½5Ž8 êˆ9c¦y¦ «fŸèÙÑ-º±‰—Cq„wÛ+Z¤åM”€BW$Ž”âÅ3NÛ@Dæ,..1Šû˜HlFÁï@2¥ƒ�¹Ç>Uâw8œ:)#ß]HgRz XŽ¥Ì –œ=׺(·®Ép·M‘ »;b[+}û`-4})=ÒÊ;²{³Œ„“Ï<Ö›¸h§/Ñ�a¦á)n!pŽÉa)o€Ÿ’\É ûç…]i!8Æqæ:×vô£¿F•dôôöTÞØl=Тö1™Ú(ªÝtÓîÚœrág´Æœµ­/0¦Ô†–Ží)ABƒ.¬cáH;¹$ç�hˆRYNâ8sí§óBJÛ“ž û©Š�¯´§ÀíåUæ˜Ék�ôñ^Éä2•8¢Æß?h©e¶G€ @,ž#𦥾8è8â¸n‰ßªÖÄ`ñޤõ¤ÜPôgÈNr•dûpk Ôç@+—yaÿ_¡êdÈc+Q'Œì§m’[ÆqÈÉüt€NS;‚œm –þ�XÓx$ÚxÇSN.@%Ô�¡¾>“Mb(ïGAN¤ {3”áÁò?Ûùéž>3$ó×ËÇñÓÉ¿__?£ßM0èÏB<ù÷R)›¢Mx)ä¨�í§�ÙŒàÇÍHA$rqÓšuÙãœ�O—’r•h §s‚iŒl$ç<Œä|Õ “À$ã’<ª:>APG{©&ÑŸf˜ÞG=ÛøÇO¬ª®Ö¾¶ŸuR]™œkH8p�]]­}m>ê=†|£Ûö ?ŠüáÙ÷(wµ_Ú»UÿKþEUåÓ¿c�¢?)F¯Wv«ûWj¿âiȪ¼£Úwìs´Oà‡å(ժÿO7bÉâ?¨‡µX¿`¿Ñ&&£I;ö¥$`p}Õ' ö ýgòbj%^©8'§…á7ÃñôG8#ñTÿ/UŽd ¿�b¤ÑŸ‚\ñÓ˜í ‹Q$äðGþ•"Ò‡Á.ç?[YÿвËbý&p#g~M-=ð 1Éóâ��’�·*g;zàR–ÿPnÈoL|ôÉÈO€¤òIçœðk…(lÙ·# +Û]ž•IÆi5ã ;±Ÿ/1L¸J¶ÉÇ�LàWDÂÐxõ�=Ü Æž©'§ZáGk+H ‚Ùäûªx¢/6A4Â1r�J�m)ç=y5�^AKA'¢” ®Aõ”|úŠå ¢¯ >C¹P8œ@ê»ZÆPR€úpvàí$€=)’¸Ç$zÃ¥9FwqÅuɲó.N):r‘€FÜ5r¢�‡‰I¡�aë\%Τ�ÙÈçŠMXZ\É'‚1áÒ—'I̸åH¹ÒJq*sÕ ù>©ðñ®�€”áI;½§®U€¼ƒáã]‚1“Á¥ÉÒó.ùR.tú9Ü•§!YÝã]li)‡dòy¤P;¹òßXèµ£°K“dæQò¤WÕ&¥�ë;FÆ|À®$(å Œ+’zW*VJ�Q'9+c…nŽG�7'K̺åHºIÓ…*‘œ(}4ù %;³‘ôÔkª<ô Å<.+vw OØŸé¥É²s.):QÛ“Ç·¥i¼³ÎwsH¥ÎF2\xÖ›X*9Ï_HáÒs'œ\éæàãŽ8?M6�pÛ¼œõ8Ç'šÚ– ÓƒíþÆ“tîa|”‘»§°çFxE_§�² “ëF2ñ žGŒðiòT’€BHÃÆ£­G*p�:Œý §É;YÎíÜxÔMR¿âX£·'hÎxç­&p“““‘ìð¨ÙH쬇Ÿl+9R Ô0J’èçǯ5ÖÉ\m2OÇ|�Ã�ƒÒš:qYwjÁòàÔrïð@âHÎG�5vû Çy!Ô�Q]²–˹—MpçR0Jv(`‚BxÇN¼V=´½³ÅP�/‘68é9JFr9ëJ9|€VºÀãž•Ïë.öÅÔà 9 ;‰ž”£Ä¸øž½j »ä0ê~=äò·•týöh¨>È#¶2m±u)%͉?eŒð8ð¤ã(™ Ÿ•Dz¡ß¿E% ¼�<çÆ²%ú'|Öç�!Y'Θ0ßEÖÓl‹f ¨‘‘×>ÞôTj”€æNNAÇÓM¥jGÕ/ î'©éÀ¨Ç¯°ò>=9ÛƒåNæeË,‰¢Þ¨‚J8Ϩ©eU\‘áŒóA±¯ÑÉ=ò9ë×¥I«QBÚ0ócçé]5¥q#…ÔÖàP<ÐùRn¬wN¤ é|w¶¡?\0J{ôóí­9ƒ±ì<“ñjÏŠ[6ÐN�úâFxëå[R‰BI>Ú„UòX&CgÂIëÒžEœÌ”úŽŒnÆsšã`…8p)ù)è@ÇN½)Ä=àFÐP||2)–àV=£¥9…Î$áü#"¹ 8dœ'€øNrI'Çœ~Šd…Mäæ§¸„oR‰N#<*ËÌVå§�9àñ]“¢ä/u7rj N7qìñ¦‡8ɯÏLåßa-Ä�!#`ƒÏSÅ0øv )ôž9äÓ–ì{lˆ-$zRÈõ1åÇþ•.7œ�ïhBÕ|„úú~J�5 /ðÂO÷B<óN厥=l•ëìÇJÚŽZ_Bp¯›ƒP¨¾Å P8á9ãß[:†'r¼­…týí6ÁæRí…2áÚƒÈã�áãLWò’1ìöS'oq Iï’ORºÓ?†âwiÃÈ>®3š`ÃÌ“^Þu2‚À'4“€™X€FsÏ8¨´Þâ²Ié€OJIw¸½àP��0ræŸaÜ˰öó©IJIW (cŸ¦´Ò‡|�>#>x¨g/1B~¾ô®£^¢PTò´ž´¶̺ÛÕ¡@¥#tã5I9Çž1óSf¯°°œ¾Œ�:ž”ÃáÈ~·Çƒ“Ç­Ò‘aPµíRÁC¼NA=zt§(>§ ÜTG÷PؽÅ"Br3�štÕæ!Hô[ϯ¶ è¹¼êBè¯�A9 7ÏÒi´NB@Û€HçŠÉ2š�âJ“ñ~ž¦º‹õÄuëœu®w©ð§’³Þ¨lÛà)¡áÔœ'�rzâžÊP/«žƒð¦.gzpyùé&jå]BˆÈÝN#pz¨ñó j£„IÎpÏNcŠVNAQüCÆ’è§(ÎÞ� ý*5µ¤å$yxç"¤Û00‡�j5žçnp<ñIrÔeÙš‰×P‚�xmîîWW{_[Oº¨îÌ—�wHîßã>%uxµõ´û¨îò�oØ ¯ÎŸr‡»Uý«õ_ñ4¿äU^Pí;ö9Ú'ðCò”jõj¿µ~«þ&—üŠ«Ê§~ÆûDþ~R�Z¼7ôóv,ž%úˆ{Uƒ ö¿…þˆ3ù15‚ˆ 2jbí ýgòbj¨ïI*<óå@¸MðÁü}ÞüU?ËÕpJT}Q�:jM• ÚÞNßX4¼ç¡ëQ™+�T¨Žµ!ŸA‘êà÷kãæWᬪØ;Dœe!- )iC‰wªyσšÔ B”†�JE¥!-$»ž3ÐRñ”;Õd­jc�褜§ 'rqæAæ“q[‚†Ò@9ùü«AIï²[RŽÓŽp+J®pxÈùéšà§ R¢¤çð:“ÓæªsõI$©6Q€“ aÃ\U¾¥`/))OL�Qº�JBÕÖ0žÀy°Ìò•`çñ +O+)ât®Ð[Ä�÷@«Zédlc¥×”‚9κmJÇ�Lê ë%ÍË|ÖŠlœÝ1H[£•ËJç?‚‰¶Páp‡Ób˜¡²3‘ƒZqE4o{ÒÏņ̞씺ßx=Ù#ñ¤Ðlö‹iÉÚy+p¸\I�T€$¤àÖ4£Ž+˜g¼| ¢¦ôÝ¡srH8'Ž¥ ÷AOK�`§´$£’£Ž‚ŠXX•=r°èšEµq@BAIQéì¢ë?£ÅŽÚ\)JʳBêÚÈÍ÷•·Ââw६öÕ{õgrÏò¦·¶Ró¾ŠÒ†Ôò¢)gußkÑà (‘�ä=´9{˜¦�¨‘Ü&Bùq@ô¨éÛ�ݪ’hštQ÷™ÚX‡ç)CñS‘דá[1»”ä«*ñ¤;Ì/‘Ec ܃TFànà’’A ¹÷Õïú›®’'X'YÜZœ0 \k=Bœ�˜�ÃTkÁ%$€jõýJé ÂÔ—ÀÊ””¶ÔfFÜ…¸I$u=\ò0 RÇ(¡¯¡tR}:�:N÷ÓÔ7нïÐ} †.Óu´ëD'[i a)Gv’3ƒŒó‚~š´j)7$Ñî°[†´£t¦ ^ýûJIäã?7CRšö&¥¿èØvÃleÛŠ$‚YC©»å8Ü¢@5J£EkKÝú|{<'¤± Q£HiÇ6ÎFâ<ãÏÛJŠYdx‰¶ ‘ÌZ ûòÑ”ìÈæï\ž¢2Ð÷öä­ÎÒ`¢¦}ån+uy=qóe;õ•à²zxQßkªÄæIðdÄj¿|¤Æp•�@úM ¦`µAÿòô±28¾+ŸØ?ÔäúÔ¢ ¤‘ÔcÝÍ8�µˆŠ= 4·‘±Üg9ù³[u ”ŸY9=G…C½_vy¯9vµ=ù:¹æV·vGHB2N9õŽ>Ÿ§4.ÒÞP)@R¼°3F:á1Æ©žëÁ<¬r®s„�è¡çg´Œ÷ ’:zÜ õŒ<d‹ø� ±u&ó?=çÍ+b±Ì¹HRÖÊû”|£Ó'ÊŠ…•ô7±¦ZlƒŠÖ—T×ృ´ºJÎÔôÉþŒQÕ‡DÌ�87!÷… Ád�¿¦Š‡6Ü«pFÖ¶çTÅžzÔ{´´¢F¢ŸÇÓÓ“é `n ÎIüE¨­i÷ RBRÐJ“Ðþš›{VÛ((WDq’s×ú*½MS„{LÞ­µ�Ú&W‡íÖÛ‹]à+„°GzTyƒ�Àc�ä<ªr;¶Ä²‡âÁ2±¹+ÜÎj¯Öò–íÁ”8áSˆoÖ`iÖ�¿˜múò”Ò3–ÎÔUÄKÅÊëŽr¥|6m°äÞ]IHnm`cÖßH&ñ/'lÏîR7fé!M‡upHœRÞ—Â{øIÍQðl‚¬AçMÝ–û‹;ßpçÍF§r’žBI÷PóÛTá- ¡>œÑ©”H�ʤ÷ˆˆ\J^[c*JsëÑD¸n¦CÑ’§C.8Ñ‚ÁÅE8» —QŸy²œu«[²=!SZ§½"Òbâ)”!¨+BU……åGxÆÑÓΫ»¬@»J‚B‡rê�7uÀKaÁÊ™iiªå‰Û.¹ÿäg;.·´+ÓÚ›s™ G¦1» ã÷8öŽz}Íß²ÈQ´ÅÊê-·x*†ÂÜÄ©M¨’¸žFxê?šƒõn¬¾*K‰W 3^�-¥ÄË€-+ÎÇ<ŽžÚ´4.¢¸ênÃu}Âã5éjJ¤¶Òœê–Ã( }$Ðob‚X „6×Diqú÷Íã‹�#ÆÙvçÖ©­>âÂÖØ'¨ÙÅCÏxÞSëÏÑBúxžýÅ`ü±ø¨šÂ’pGŽ oÀÞÀ�Vþ¢_äï2¤%çwÉ õ4Éìîà óãOd½GŸ”zô¦N๒œãÄóšGUQº$°¤íœŸm:‰žíiÎzãáMœ dsN£�Z#9$uóÅ:è§ À@ ⣚àdŽ1ÓÊ‘J‰ ÂÔ¬$gwZŒmYC�@ Ç>>­9\µö^Oëö@9iñ‘ü êõkëi÷UÙ�ÿÛ»zI9|ôàüJÅ^­}m>ê9…ü“Ûö-ó‡gÜ¡îÕjýWüM/ùW”{Oý�ö‰ü)F¯Wv«ûWê¿âiȪ¼¥Ú‡ìk´Oà“ùJ5jðïÓÍØ²x—ê!íV/Úþú ÏäÄÔ1Îð “´Œã=}µ5 ö¾…þˆ3ù55VC¡A98=ž�p›H?�¢;ÁЧùz®P¥’*çÞzySøE>†ù8õAÈñ>ª©‚-Ÿ’¬,œ{sOcèr06+ý_ÓYPVÅÚ&шSiI^Sâvõ>x§1²BÕ¸€GN1MYYSII@H^tá…‚þÌœwöæ™"—Z°“ëxGUÎ !8çŸV8¥¤œ'”ƒ•{+@Œ+8ŸÁŸ¢ºjàè—ll¼q”ãÏÛP:†þå–ç‡2 €óצ¦ò¥dõ8¡ªyeK9þÅJö�£„$¤¥2R2•cœÕu¦¬ï¿uC[~1 Å9²jG_m0åzÙà,u«7³ËDHO‹íÔ슎A Ê–|€êMG f“k"�Êš¢iÚicéÛKÀ%wrZo#þ±²‘þÉ]QzÛIË�p‘ÆJV Iú*êí;´k ‹vœ»ØÜi7MÔº!9!„ð­Ø'C>}i+§hzKZÇ¥¦F•’™yÄ€•`‚O_1D0 KØö\'4%µSHì›aÏίKˆQ5Û1›ÙR—he%X¡é($UÁzÓm(�§H #iÀ'*=<øHÀóãu¹ª8•½µ›"Ã`y¹;·–]Áõwš”’¢mËÆ:ã�Ò“€�©py`üøé\ÏW÷}] þ*³½Ml—›ûC*ýy\'…§ŒôõEAƒ‘Ï�OëänÖÈTŸøC�à¯\ÃÛÿ)ño�X—ÚwöŸ5rè與iŠ´¤­¤)gæcY®¯RÔxî8æ1„$¨þ ìÎ̽A4<Ë&:J‹‡G™öRZ—R]tóîBÒú¾qÚ!Õ*;iR�s;J}|dd„ƒ� †¾­¬÷NnæFXÎ2À)=]¥oS¤7&ôëV«yFä®ZÂO´„“×ߊóŸh†4 _>%¦ôäÈ Z n6éÚNēӎ #æ«¶Ùú£Zi«n£–ôuGŠ•¥Ý…Ìî*�¸õFR8ðÍTÚ~Âíî[ða%çæ©°$änÜI㌟š�É=DÎÙ ÁccŽ>½å3kº�ëŽI”¤¥}ÒדÐTƒ¶+ºí¢óÓ5·ÚËî í>+¡÷ô£‹Gb÷5€n76I䥔ŸvN1V®De‰µ>‰.Ml�Þ<§µ@-T޾rj9ãš&‡lïOâ•Å»[”�QÌÓº‰½ir°Á»²äÇ›cfB@Þž$gƒãçšnÌ޻„h.Âiå•¥…�­‚r'¨Á8©Êí)yù×& )™%O0ÎÜ ùNp(âäÛN[ Â~9ïÚ*móò8ڃǿj¶�²FÜ4ØÍÌ{Aÿ0÷7÷¶ª¹ô5yVF¸?€•œü“Ò�g> ªåÅœ‘í­ 2Ýe±£}‹uý•ŸlÔV XbVŒŒûélµº¼¬àeCÙøM!~•ivÚóqtsÝSg6úÁAØ�#ó�oZ†Óº·YI“ Ói”•=°GŒ€ËA[GØî#ÙâyÅK´ÿ‚¦&òÇ÷ejyxcä ºsÓ9ª/oýÃÿ#ä©6Ò6Äx%Ù½üé�Uô¸¦AŠ¥Öí¹ÊTž¿=Z÷Ò­ºÁ¹1 ý)Õ·—Ü —BGL+n|zU.ùHH)*$ž:šš±²b­Òûh“älPjHIàç øò+Ì1º¹YŠLÆŸtžn ½çàþ[€SIPͧ†Ø\‘–Ñæ#­Y–®Ö­:i,Â�¡„7¢°˜ÁK|B8J”Q¸üõX?pø[VN¹÷a¡*BÞÙœíܬãÛÖ·{ŒüÙîÉï›#€Vë¡9ã>'ùê:ÏêÜ1êœuçƒÏ�’®¢y€”Ügä‰Öàô48\²S2Îpmó'÷7œ”vÙ=Þ1ƒ�Á]¶²ÈÁéH·Žé\qŽ=+¶ÆÐ‘·83ŸÑIc-J³ð{à �§Â¬åÃ;•”š«56}ïT ‚·Š¼¤4”€7f´Ü~ÀÓÛnYõû!—`gÀí¦�@FzŒÑ¬’NO5!¢µ-�•Ÿ-nØ‹L¸ìÚî1c½0…ˆÊq°¥z£w«¸c#üÔ9§´e摨õ.¡,z\t¢$(®-v%;pHȱê[6ǹ±!Æ[wb²�ÿb¢Î|:ý‚ \§ÃRãÁŠáŒÉa¤ÈuA¶}U'�@N20'äŸs¿Š}ùÕˆ›¶Û*‡´D5QL.<n¨È$¬+‡_PH89Oô¥t´Æîp\SN­ô4 €â‡'Œã>8ó«´.Æ¡ê(µ55È·xm+ÑŸm ,d«i@QQ¨úÄ•sÎj°ì³Cê?1Æu†mðc-E×TæäºÝ’RÎr|>z«Kˆ2™ùœ•ÙiPË S‹ìö-»R´—P%-‚#ÌùVíÝžfÚÒOºwmplj'ÀCµ[5Žé¼i{Ì{Únlz,yÕ¶ñ©lrvœ§Ÿ �ì§³mRû'T=%v·œ¦bI@Ë�”¥òy uõNHÍ5g[ |a6Üç\C…²á¯=¥@öŠ·´�ê ‡&²»TçÂXaY!E*ñÁÛÁðP>x~Y#ŒWZ¯IÜï:†3z‰ö�nt8˜ì# [£¢��ÜùøT¢áž„1…> À ù“¢ˆˆ¶‡EÝ{)³D[]RG(‡¼sS àqIÜâ�ƒ¤qÇt¯Äh‹�p¨oAzµö'ê c•©mVT�§8ø 9ì_´Ú 7&ØôÑ46C�;vîë‘ÎwPî²äøD%\Ae9'9Àëî¨XÈBÜ)q䲑⤒?a¸G+£Ž'³PO’ô^REVúˆfiý÷Ü®™ZŸI_Õï@Êm0e bHmŤîÊЕ òN>zîïÚÖŸsIÜôýŸH‹ksYq¹Z€µŒ¥#&«ûKI‹2µÆp¥Emº—•'¦|0AÀ.Œ�U)¥¬€v$óø? eäÄjv-µ®º-µ/ð¶ÊHe¬n3wªSOg¾w7‚~Š%„¬©² óƆ´÷/¼1œ�9Ê"‚râ6‚qŠf�u½ƒÉ¬ýL¿ÉÞeJÉÊœpñ�À4ÕyÏ_ réÔq϶š¸G}òy#ÏÛáNª5$­ p}æœÅ#iIÚ¯û<5XÊpRH°8ðÚ~Éß,G ÉÆ ¬¨[hš1€”äñŒõä{ixß-DdqÏà¤Ü§ÖHèx—ŠIw8²ˆÞ)')ˆãÖ#ƒŸ?¦’Z†Â3´“Œã¯¬Û’wsãÖ±exH(«ž�º®¢Y²2QÈ9äÕQÛóŠŒçÒ3ÿìêÔPRT­Ë*|ºp*§íõ.­Û [=Cøþ ŽQé¹g«M¦aüÑ@ö{nfåva’�X¨xU¥çZ—}ÂGì¶Íí¡‰R»¶VPBK‡ÔP$©CŒp3ìcúž´|ÙWæ>ÞÖÁÎHÅÞâÍ·J¸Ø® ­‰'¼o»q<úîµµ^ìr wiÜÉ])¹X_œØŸï¹_ŒºG²&�oà2S½¦Þ¬2[L8ÖëXi-‚Ú\¸¡{=P8 Aa#ËœŸuY|º®§àërLl¥JQA'ç!$ø™ò¯M@Ѻ.Ï¥ 5!•ªT´:´¤H'$xŒô{«Î}°Ù#éÍVü¸ ดˆP<�ä•Áqø¥¨1BÒ}ì¯bÍÎsï3#õË»vîÄË rRØZ¤:êR€r|÷“WN›ÕRû6Яö:#¹”.JÓ‚_|@Ï�ÈãÈ ¯t½/Î7W‚”Ä5wqÓ´�ΟõG?EYQm6IÐ\UɧPÓÀµ µ'zTJŠTâ”NrV0| iêj£¢€ÎößpèVJÒ=ç]�'AøS̵µÍV©—ãÚ»Àyåzk�Û[ÊZ†rVF|q×άirõr-ZJæÞ®’ü]JÛKC­4Z,¨©!m‘¸ä§w\ЦôÄ4C³\¢¡ä¶Ù�à =6Ž~jº{$n¤ÓP´ËwÄ*”a™q¥)°=%âó«R@ÝÀ# Ÿ“œx 9>6ÉkÜ)e/¦k·{t)Çc³/Ú£^1㨮ª‹:æ)¡!XuHZR¬Ÿ“ëdùãӶɺ�MëwaBÔVÔ”¥öP§K{‰xð}ëõ/aÎÒæ… -.`áZ¦ÿªQÆÜíB"ZRŸGd“žCŠ|ÕÓboµ¹¥¢Öæê\K)/pRZ:ùq·ö‡úÅÖ©mé {¹jW¥Â2€O’¡Œ¹#ψ.ÛWuѺ­ö#_ä¼Ó­zZ#ã�TpŽ8#�!Á©OÕB„ZûQ…vŽ X“¸x-·¼mOÑA½µM•¨5½÷Q2œÛ–Ü¢~È ð>dgç®á£�Ò€3Ëzå’Èד‘ú­v…s—oœ·#¨8Ë 8Î0’2:u®4¦©í2Ý8%™7±‚¶íCjq·íÆÐyãßR«Ó«Ô½›Ù®M¤¸à‰Üžªl–ÎÙ®&Å‚©D�=8CûÔÓd-kmIBv‚@ñJ¸È¾O)°õ%�¼±­÷…þŠÛk&hi·˜æj‡ífõ¬oöØ—‡U4ÌŒ§CÈf h7R¥�‘¼‘’s�ä"\íQgCsg[¦À�•á¹*m$äô>~ªºy°lŒÙgBybTóµ0ìŬ°á9¶‚Û¸ Gˆ=#»L´[ÛÒé’… §¦FÜò‚¶Œ¤¡ �•œð8öçšâ:¦m6…îms®{µÏÇ ¸Š¶±…Ï…Öpµ¾ƒ@§'6„ö‰hy=äÛH‘(cXBý¤…`þôyQBÀR“Îü_i_„fêÆï&VÃŽ¶e…Y†…¤ýÑÉQöš?Üxp3Ž1åŒTøt|^±{ØŸ!å§ÑMŠ2FÖG·•Ø ¹�s¿ßê�Æ)SN�F7‘îœÕ$Â*ê0>qšî1 iA*¸Aû©½Ëy†8 Q8ãûn*3R ¬ÆíY5]}aÿ¨Ä6IéD:ªêÔ2Ÿ% X�Ój_Ji —GFÖŽjÛ²i‰RôIø1÷¸9o2Û^•c®(GKh+ä�\6ç�ˆ¶”üö0Þí¥$¥<¥cq8Ï=…]:r}²�-Í9r}¦P…½V’@Ï_õA©IwÆ¡á3'EŽñ8KÂT¼Ÿ±*YÆ~ƒYœFª í¹]a§öÖ‚�òr!´5@Ö>ÆÚnÐü;½Ö}ËÒîT„¬²Ëh„¥ ãç4AeìÎÑa‰ÜZ౯0Uï'“óÔ¥í "ªB.iî¶)Ä¥ûÕ­ Îå%9 `ä€@Áò ›æ¿Le¼Ÿƒ.Rßd¨:„Ê› B“¿rN£Èç6¿]Ù´-ZEÇsÚ—-±¼¨�w’pxñSšüB×4ηògÿ%¢‡C;{ŸÿÅz!i‡SýÎã.Œ}‚�üU7JçÆÚr2:ãTm³]Zc4ûËÓ—XHcº/- J;Ð yõ�8«ÁÚSˆA�rîTΦå±�…J)²‡$œ€3áPMŽÏ¸Úi-¿ @ÿ+Š–,(HO3/»2 ï¿§ÜIúÙú+Î#>Óª A·•_‘un£eÂ=>äî)(q´,:ƒ°‚ÏLñCw(6É)R¥[œŽOWc|jG½Ü>mÕ£Âñˆd¾Ë¯§hí0€b426Í�löè{‡½UÏŒ¸2ʤˆ¡K ï”pí4Oy´[Ø�)Æõä9*m‚âYFüº¬PsŒœóÔªt½™‡>soÜm«mAµÁu#×ÈÆIòç#­Aj't !Èn%ªúܾía•-Ôm çi<ôéš9Ç \ oܧ@cjÝå!§R.²à°ã�Ø}imKÆq•`š™ÔPœ³*8‡q’ã') IhŒ®™9°çÏ4=¦Qû…K[�÷c¨2sœãŸíÅMß&ž–v¿!Khm` 9ÏÙ^M´âóßìѼã¹&�£²n-–¥JA²J¹ÚØR/ q÷�§=Åž€‘žOÜŸAZ H'�޽jnÓx‰nŒ”3.BÊR¤§r �À‚R“· ž†¢mIGÂ$6K‰‚F(Sݶ–ë�û•¬kމ4»m•¿pêHÑŽQ´žƒ¥v…§Õ'ÃÊ�ldr¬u>ïÇ]#þ¬íJs�Î85"óôËP�î'ð¢¯,W¡•¬’”’ˆç}C»Ð�àcnkӍ޵¤Ž‰ÏLQÜÛ!ßDs~¨~LTã qɨça(…áEÎBR–8ñâ¶-` ûyéƒGÛ=�CÐŒ‘ÄÖŒÄÀ>¸çŠuw¼º—û¶­©rh)BCå;Ç´ÿn*uëRP’·\ öTDö¢!*©?tF)HDÉØ h_´ÙÓ•¥ß:r|¸pš†´›J0¥O®2 õ’㑚 .ÓRÙbÜl‘n(yR\)ï$„6áÜ0¬¨�¾ÀxÀÇOEÌ—i@SoK�‚’6•@#{yªC\hi³_\xÁ› Õ`-õhO·ƒø3T¦¤mÆôB’¤�M�ìîÊu<}3P31›ê%„35+qû%) €9ÊTHÇLס-÷#ØbÇ–ÿ}5 üc©m[^Wî� ´ Ù¶”Ó&ÎûmÝÝzsá)[®:pÞÒJ{°~H÷Ñc’¡Lwzf0µžÕhg'¿œqãf6žÂO¢êj¦ÓÇffãÜ¡d…¹%o¯ÖZÉ*>ÓH-€¬�¿‚ˆ^·)$0ãÛ]±g�ëJq¶T¤'©Ç¹lŒk@,Ù�Äæ†Ûc� iKŵBÉ-Ä ‚9Ýíãùê]qZmÍ‹qW‘8¦º•‡Ú€Èi;Ôã©ÂIÀPO¬yù«™&9í�<ÂÔV¦ \ÖÂv¶”ƒëçøÐ“€Üð�ã£;‰zås~RÑ뺲HÝœ|ô)=Ü÷’@;\9ßX®ŸèÇ~uéý?óv4c¦o•,!Äw%AÒ\Jž}n¼`z½*@m2�KCâÂÈO9ã|ÖRo„/D£ù¯·šZÁþðÉ·?@¢8‡ oŽ9¡Ë&}!üuÜ>œ "‡žñ ž•u¿ {ÂV~¦_äï2¥_%K#"›º@XʺŽšpöRâÏ�ññÍ4“�í“âpOÍN©µpçT�v€sÇ�9`qƒÏ™é�MV|Fsœš�1òžžçâ™9ÑtÅ À=|j-¬+¾äƒƒáÏÉ©Eœ#c§²¢†R\d¨çËŠtíEÝ“�uì$‚|íñúÂù«ñ¯­§ÝTdß¶�õ·ùÿ¹r¯æ¾¶ŸuÂþIíûŸÅ¾pìû”=Ú¯í_ªÿ‰¥ÿ"ªò§j?±žÑ?‚Oå(Õê¾ÕjýWüM/ùW•;QýŒö‰ü)F­^úy»GýD=ªÀ‡û^ÂÿCÙüšš)PQäph†í{ ýgòjhuJQsåŒã§·ŠÂ_†ãè�pGâ©þ^«G°¢ª}Õ$ÈÝl’œŒ¨/**ÇØÔhQŒ Å_Hñ©(ÿû¡üãä83ž¼Ê…°v‰€õFIÆ}¾4á ÉÚ½Äò®sŒƒüÔÑ?Z@W¬zdS¨Åj’¤„©{y8$c©ú)'+´©<ðT®@>UŠ c9ÏZÚ3»ƒò‰|V9…wœmt÷Ӆô]g+VAx �qËö�DÇ;¨é/�ÇÀ=(( ô Ç—"«ÞÖ�S3¬‹IÁøãÇýݦÀðïºR´²üÿb½ ¡›¸.ÒÜ]-mµÇkn;ÉrU¼ûNÔóUú¤tÞª´ê1~º˜ÒP´\‘ ÝèoÉ$P ˜öçŠ5ìãW]"Y[�h‚¹÷Ô ÁGµJ87Z˜Ô}™_uœ•q×z½ˆ‚J„XMwª*?$nVÑœùï t´í†n1�¹ýÎq?Wû+µ€í—[˜º¨lý³˜¶6£\ ‰#�Šp4—>i'”ùÕMª/[©ƒ�Ú•"R»¦›ö¨ŒsKkK@°]\ˆ‰ìÌltt$¤“ä@=~sR=˜ÄJ^zòòJVB˜Šz„’0µóì8óåF𬕒ñ´íø¿>Š ñ:ŠÛ@ë|ìvÞNõ;xy:KK!pdÛ!Q£`�ä…cº|�TH½#Ô¦ö­Ý5ÜÕ»»z3]ÓEhJ”ØòJºÿëQz×Ok}C=ÂÒwçà4€˜ên«B“Ž „ò=¾=j*ÑÙž±•= ÜlW<4�ÏÍŸÆ™e©%C“ä‘É8QBŽ:DZ¯ØÑBÌZjw9±c–`Ë_E7¥d;7HOu@㮂IÀO¨(¦fš¯³évˆÎß-3&O,®Üì– †Ë¡[”T�0OLgƈ;7ÑÖcc¸ÁÒÚ†­ËŠt"·$ó‡ÈQ`$„àz”çZûC‡¬m§P® °a)-3p†�!¸ü唫hRÁ<`däuŒ‰­kIµ…”nªÙ.9€AíE¿©Öáͪï·I CmE±<éRºg½o‡¨%½p�bœòŠÝ“¹Õœõ*˜éþzšoHJ†Ìè°õŒE%ö‚%‚[$,—8 ?G²›H°”|ÚõzîÙ¨•%³œ¹ÉܲyãÀt©m0�¿k\´<Ýœêi{Þà5ôEª¦\{�i1mm|hj;LHÇØîQRÇ̃š‘ ¦Êì†GhNÞVä•:¸)c…Ž÷ºï ·uÏ=:qOd®ÆÔmI¸ÊB“2dÈåK$¬ nõs�’IÚ ··ÞÜ]m|¨p�›žÊ-µ;p²P²G¬ññÌ\«Eõ»díR‹;L&[‰žvÎ!æÛïŽ×6ã!;ð3óô«2é­·˜ðeA¿l_Y‹ü) :ˆwàŒ‘�x8ÏêºM)Ðn­si6P\);w 8ÏO?¾Ê’<~N0G#,Ih·½¾ùx.DÝ›´î% Á´ß]‰pÕÌY£ÿv°ó¡*™ñ�Ê\HZÒÙ!<'§§JŸrͨíò[XbÈ™kÑÜK¸ëˆ¡'-üœ §9ð#»$ÉOö`„;sa·²Ív,Èíœ*8tXu+O‰#8?Îetœªbú3¡¢Þ¢…é!YWzL1³ ¼xsž¹)êñóŽaoÂ]ÏûH~ýl¹ŠŠì¾¶ñA0ì—ï„™„ݪׄÅvBVåËr$¡ PNZRG³ÈÔ4Ë þN˜Œ™X�BBZq€™¸u!nÒùÀÜPµddçŒtQÓ7îM³**ƒ-ü v¥(¬ŸŒP>¶ÑÐçôõ¦Rç:®$–ÒŽÝéï!#ÒHJBJ;²~P<ô¦n<í 6@¹~^ó‡?Wæîý‹QËU©\Úeæ�D=Y´ëß%ÑÞ¤¦”­ ä [$ñƒÖŒû=¾±ŽÄ‡Ù,ð6ú9;˜ÏQãP©76ó q¬Øl�G%/6¤©{œî’BÉ õ@ã§#Ÿ 2ìGAO-4Ä¥Þ‡e¾‘„~ñ>|ÃCê«Q5ÙT— Z÷¶ý¯û{U¸éÝýHçÎ3¾—Ýn´q®´vû‹å› Ìaä´ÅÊlu º�®µJjkT48‰i�Þ!À€TF3çŠõ»ºÆ‡c“N'¼u¢’3òRz“óW•{@Ôp½#¹‡%–P�To 'ð[Èx×�[²ÈHY¦à æ¥!Ôík»zdš�‡naÄÜ%¬mZ¶¥<øxaêGÏÎ m²ý1+pÊD‚H#HCkšÑiˆo5Þ�œ¡Å” ‘¹I9Ïš±ÏOž±˜“-] ~¿íÏšúƒ. Óô¶væ¹[º[[fÞÄøë eÕm#ž= y?y¦¶`“pl+8# ÷Šsy¸"K>Ž…,†ÖƒŸWb7õ9Î�˜SkBñ9<àøgÄU ”[ó%c2"M½n;¶‚3ŽŒ«$àçšQ²h'ý^:ŒlÓ¥IJ·s‚}¾Ú] ÂÛÊ@Èòé]ÙyÆäÒþR˜/òQŽœcê¸ä•å@sotÌ uÆ+Õ±Žrq�uÂþ},[âo×ìž`mÎÑBš»[ZìÄ)]ü„'%´„ûTO{êWRÊ�Ô؈­’%8mGìsÔüÃ&¼½Ûmɤ߮zl•&f”‰9^ ª(ÊÔ¥|øÏ³4X›#·jŠº¼½—¸˜ º•(�ßè¥`Ë‹(´ëò ¨º7!s¥…oa%Xú*�Ÿwïc<—­·[[�Y-¶ûMÆE‰Í¦QR-iÚ‚{Å„©)P�š•ÔZžÌÕó¸…¡®l‹„KâÖ!Sd/ FINÞBP�á#„©GƪԶihŸ³ô¿ÝHÝ�}áux�e´¢îÞ•-%Hn k�I,(4Ø^͉g¼*ÈWˆYâ­ý ÚÏÀ]Œ[tË6+Ô'c%�º±oq1Ycx–pNqôu¦²r� …Gƒ‚—^ŸÛÊ°Ž‰ÚI$ š¹H`(“Ô‘Ó<ÖÔ¤…HJw†œj¸:-ôg¨ò&«^Ù•µë(Hÿÿ·VRÊBx#Œû³@¨¦*—j\•Ž÷o·ägñQºGZÍP:†TÆ?Ø¥{/¸Ib{D,íãæ«‚óSö€û6h’¾ ±Çáù‹NTê¼CiñÇLœ¸ÍT°Û©s¯‘ò«×LêëuªØ]–â7$a ϲõõn‚kìÜ#õX[§…¡¹ž¥^þ¨Í7¡ôg0,VÛSOžê�~l”‡$¬!8Îò2œ•tNŠ£/ºc´]3¢­:‘Ø*jÉ)¬°¤!*S)$íwPO\ùñVŸj—k>ÓàÌ›‡­ð™m¶#ý‹Î•ýÈÈÏŸΗ×]§>›¸€Óˆr,H‹ïR®R¢F"µ8}[Þö5Ÿ…ÏP@…Í d{ŽÈi·ÕSzŽÐu¥ÛÐ4êKî!?â�”4ÐóRˆÀö§Âˆ;ï/�©�'®$MŒ—š)kcn!ô àå$cÕPéåNô_hÏÚ–!Bi˜q’¢½Œ !$ž§Æ“Ö&®ºžº·µr„ûfXOó`ãwï€àù�uã§ç=ê™l»7º"ÔºÎÎu‚56„¹»6*TD¨/¸Ëlü´ƒÀX>D:ÒšÃ[<ÛLM€âŒe' Hà:ç#Þ=”¨õtÉ�:CÊÁ9Ðó�JZ™š ±ÜáiÏ>ñí.FÈçâ‰Q6™—k·óó¢ úÎó¹2Ù—ëíØ¥€H€|ñáîCòu�Ñð¦äºB�C«#ÖRwsóïV|óÏ…DÜZr ¡Öï£9Êæ=¾ÚRß ™ù[XÝâ‚Z`hª• {]²Š%´k+‚'™‹˜¥:¢’T³’qŒuëÐuëãV�×!e)2Ô•íBÂ}P�ÇxëÖ©IöYqQß6•-¢|ºV¢Êq¯²<ž£–L=ÓeP¹Ú9z}.Ûï±Ò—¤•,Ž7ã1Ʋ˜ÆÑÑ[’ë�¡$ìëóÕ#jÕâmîß>ìÑÞ—×Óò’³¼mñ5›®ÃêšÇl¾á_Âꥂ¦7±»V;µEíZæGK©mЖQ•�BrN À*öý4Í~‘"Þô”a Œ …¥Vx �=”ò¯að¦ÊBYQð<ÿ14µþB Sa+BÐBH `œŒà}ʱóPÈÄ‘²Ò½*—eL€byüPæ›$_ãc¯­ÿ £7³Ý(„äí$ñÆqŠ ÓèR5 pzzÜÿªhÑÝÝÒ° 9ã>tzƒôGù ³|*7Å™üúœ”‚O£…¸ž•©äw;H‚zû¼k¨A"/­É;ºœÒRTB3Ÿ±<þš¬r*ŽåQ]Ô¤_ä¬ a~ê+ÒºEµAµ+-ž“È#ÈŠ¿#7—Ã{”Júu§¶Í;p�BÞþæAýÐõ¾ŠöZ(Øúvú-ò Ë*e‘µ²†t�š±!è­;Ú\I—-6&ؤE>ã ;n¸>'©Ç•F=¥»QÓp½x¬_í.elÈåÄœð2R²ðÁ%ؽšßo�tmÙ϶ۑ^myp‚T¢1·x{è—L†£.RfÞ“3¹-%µ,¡e@¥Dã žu†­‰““íhÒúý¡m©d’ âqþ}PëÚIÒ_ ˆ½;•ú[‚%Ä 0æÜo �Ø8àg«'tí‚ãlø6¿˜Ü-û½I%½ÙÎv�£¯5~žܘÕFw{=‹),%qB¤z§‚¢Ô}‰ÅVs{G3uUÑ”[ ÝXBÝ,¥QÒrÒI!|�ÜÐØp£Ë¡™ã~vpßI˶葮2€$‰®ïD Ö4,´Ú×l‹¯ãzŠÜ¨áÂQó) "��%}ï‹ÎvŽÚWÞ¡â²ú³½)Ú•gwPžò«U0,&Þ‰ÏÁ¶lqÔ¤ÁhqžqÐsSͱ§¡DK§KXÝi;Ÿ]µ „Ÿ:‘ÑNâoQÿ[níö ø¶µ¹SÿîïUIÛôq k½íS¥´-¤Êå)påiqÀQ<ùÑv�И-È»\"´°ãL9!e P9!8Ï=*ß´¼È·¢m²ÛgŽÊЗY¶¶”‚qÆAëÈ5-c¾J¹ÃW÷Í��ÑM´”Ž1ôŠ�Øwó¥qß–ËGþ­yß½TukãùQ5½fî?ûx ‹6�š™ yëd´µ¼©eõ”¥uQ <“çÉ©½EÚdM/@i–Ø(Nç>ã€?NÜ��ßÁkKˆ$ú£ŒžUçMxUt±K(—J�m^ �ŸÃŒQ¼ ¤Œ�Æmu'¼æ…b5 Êòïô%;«uþ«¸!ÏG°MS$eGÑ#g$û¹ªæé>ÿ‡ž�¥ØÖTê—i''#�€~ƒåJi9Ý¥ê;s“­º�M²Â‹¾œW ù §éϾžj;iÑí—4Ýu uEeƒé 3w¤¡Y@IÚt<ëNËDvE‡z n슰\œÚž�vN0OŸJ²tf›Õzž2¥Â’Û1[; ïtžµPèEn…#øAøªêìß´¶ XµÝmîIŽ…©m¸Ê€Zwu=Ey¶)ÅZVÈl/ö Ý0×W3ƒï¢`síÌ …΀ä£5�‹SérظºÛŒ?ê¡æ°¤¨ùtÈ>úµ†7�Ýqï[Ú^»kS2Ô—#nw¥N¨)kV1áÐu¡IšŒŸüÔ*N,OhÍÇöWjXüî­`kî7[-¦ê-Ž7´xçi'�K² `¤rf‹ÂAíÉI-Ú³Áú(Û£ÊØP£³5lY´ûv¤)ôwnHt)ky`d”¤©@ óÅG·Óó‘m•¬á.ås‡*ؘò Àz9�:Áp8’æÇ BB@J94èjË[rLØí¼ðõ»Ð¤géë–eËš“n+wøZsî&‡E5\r9îŽåÖðZ4M�Ò³÷ç¸Sìö�§nÚºÁ©u ’Tiv�G:z„ÂÃjŒ¶Ô¦T´”©âéNåà@0³jø×öz§,Rá³g¿É¼_Û†—\IuJIl ºâÔ¼„úÜàg ¨«•ºžõ©Ö¶=éHÁ÷€M)jjÓgŠDíIâÀ>ŽÃ�sä0ü5mµ5NmÃ3ëÿuè0Ö¶üi?�‰K¥ÑÉ}™\쳘y›µÆù&ï%oÃqä�ã@6¦ÜT’T0 @9â�´Ô+ƪ„óV�uM¦U†Ý§í—BÁB–ÊVØ–\ÜæÙg!9W� i›KÛšS‘ínï$pä写ÏhÎ~qSvßÕ)°vvtËv5vm¢Ü9åd!¦ÕÊÝ©<”‚çÕ¸$yoõ¿RSNݯèƒnµé.×µg(0×­×G£+¾‰n º§ƒ#…cÀ¨`sÍyw¶®×oºõƒg‹ M6’ˆÇ qݧ‚µ x„§�âMTS¯{¤×§Ü.2åJ�­ï<㤩gÚsLÖ øùÓ>[ä�ÒìæäåÆ ¡â§d´¡œ¥)%gÞ? X62“nˆNå#ºG°‘�ŸY(�áƒVe€íµÃ$g #�š‚b¶ØojÜpH,½Ÿtyd´O�nÀ²Ý¤°S‚¤úÁ g¡Ûí?I¨ééKR {¹pÞ” ÏÐ*øÑºÇKȰÅÙy‰¸e)ôw†ÒÙ çò3UgkW»]óTV³½ l!ǶíïUâ¯æªuTÑÇs_r®àøÍUUq†HvFyç—mÐå•DËxdà¨{¾H©Ëf~/‚3�oZ€³s%ñíˆTí¼Œ´s’rÌÔ�ø[ØZÏÔËü�æTÊòXÀÒ Ûé ÀØyödRÎî 89 <Ÿš�Ýëðr1àiMº.WËdŸ‚”Ýìe�à ©N·ƒ�õ¨oRöAy8í¾x1œÇá¦Nö½>l°•§¬Íµ¹ÝmSÜw„u_˜Q&�Õ/ÝbÄ҆ݤ¶îî7c�üü³×Ùå\ˆ}¦¨Q°/&Š«¼i õ‘ ‘p·–YJ‚ww‰êNÓÍÇç¼�ÀÖrG´qFÎÙq‘oy€‹zp¡Kî{ÂNÒHùJ u¨ —Qz’ÒÓꆸ?8ªµ²ŸfyÞ¾ –I‰B[˜¿Ø£=-o¶Drév¿—×m¶Û•!ÔGg½YøæPIRFA_RzfˆeYá\;9½j[lFíˉ*7£´$¶ëÊmÅ”–ÝWw�~J†N8¤´¤›kmj }Õ™.GºX߂ʻµ¸ãA ‘ÀV)+{H°özý•79ÏïDvÕ»#.Œ8ã‰Q[‹õTW™¨hÎÕ s†v(®2\Ü|0´Î~¥¤¥ÊV¢ŒÓé8õýltõ ¨ží'�Nºƒ4øþþ0G’¿á4dµ$·ëd¤•ZŠ@êCü��V¸Mf(Ûi°?Ôä¤bS Ï 8Ç�4”¼–=b“ê�)–Aè¥ Ff{€AÈØpMW:ª[”¦ |�Ð/¸µeg“Á#�.”ê|†!0©±#é'ÈT¶Œ´=u„S S�‡\XAJÍM\û-rè¦vb3�­½Ã}rO«àF3Î+gEÂêÆØœ×�€lÝã#lùÖb³ƒ•›FF–�¬ÅÏ>y䘣B\'*5ÒÓ©\¶6êèm,n$ ;¹çæ£YËÒzN#·›��„¡—e¨‚@蔌khƒ©m¬Æ�ˆòÛIKe±’ ž•¨ÑT¥)M®:V€´gÖÁVs‚â¢ã!N~§‡�ù+à$ùe±ý5Ù§“:ñjf'|òšô¦T´…#¨Ï‘éD©ÅØðNAǹ'5ÀÍQŽ”·7qzåeZÒ"Pëyçilp>±Ïÿ:<ìËСA¹ÁÖ¨L8»’Ï`¡m•pRžRI#衎ÏГw¹^»¹­6\HDˆìnR]NÉÜxÿÔQŒØ“/‰r|Ûbåïyg'a$r×ÖêGJbÖ7 ši$q÷²KA=Z~óf„ð\UºoŽòÖ[å!+ 'Ÿ–=ß56Ò¶–täI*}¤my¥¤9Ê;SŸn~cDk­¹Ž"Ô$µ—;ÔŽJÉ ;G#¡¦mõP §Ð:úÖ˜DØÐ¤²Ó‘ÂJŠ›^å(àcÌgšó¿hš‘ˆv÷m‘Ö-ñµX?[IëŸiò«›µ h½/e¾)¤°ã~Œô&iêÆ#H#Ö88é^B[®8JÖ¢µI'$š9‚Åpé9ʉÈ}Ödi¦-š*]¥—oz²E²b�RVÊ ­Ô¡ �>:fžÝ¬½Ÿ1n”ì-zü©H�½¦UkqÇv“³qè3�“çPº>õ¥­ðVΠÒß <^Þ‡“-m§Õõp8#…µÖ¥.š�³ÇíX‡¡_�5qÊ|ÜV°‡6¨íêó÷d §õù¢Imð†+þšô _[Oº�aŸ(öý‚Îâÿ8v}ÊíWö¯ÕÄÒÿ‘UyOµØ×hŸÁ'ò”jõgj¿µ~«þ&—üŠ«Ê}¨þÆ{Dþ ?”£V¯ ý<Ý‹#‰~¢ÕaÂý®á¢ þMM9¸¬}´C öº…þˆ3ù54:àä(…'œŽöú( ¾?�¢=ÁЧùz®\Z•·ž¸Ï9&ž4´È žæsç¶£—�œó�3í©Ä|$`…ý;k,ÅÃ$Ñ�Q°œ´~o Wm}trÏ\Ÿ1I0Ae8IE(’¢0¬ädŸŠdégŠAJw`dà•‹Ró€Hõ�òâ¹p¨¸=B9꺺RAPÙJÉ“‘”´ÙO^IöÓ ¤s™mS ±!M ã½h/nzã=<>Šv£ñh1Ó“>†¿°ñÖ¬C1ŒÜ*³@$¨Æ-Ö¶Ò¤µn„€yÂXHŠž"4B6ñöãäì=Ô“d/jO'œÔ®™Tt]c"T6f6éJ‡T´ŽHç(RNG¿Æ‰GZç2j ÑpOzb˜VòJ½ 0<'=Ðéôt¤]Óš}n¹aµ­G�ʈß>Þ•küb7íUkMµˆ‘¡1±·mO¸“Þ áÅü®q�SÁ¦s»?j/¤úmþ,t¥çYeNlBVP�}mÎ2H¨Y5ŒxÑ tlq÷®ªçtÞœ)JM‚Ôx<˜mû=”‚ôöžBý[¨z¹†ß·ÙGvË|9ûru’©qŽ–VT}@µ®3ƒœxŠ]� ‡ìñ&9}‰\Èýìv[i {BrW¿wSÃdqŒæ�šR‘‚ª�m¶¶áKVøH ,$5vý®ÖèËÖÈ+Ü}mì çéc'³v)H‹{RÃ2_�!OEK[KHÜ¥'.`ø’Ÿ�+q4 rÚu"eOFaµGazî…p½®íIII W§Ú}ô lÇk\øªÃõ»§TS› ¤î>1þŠpΚÓ$§:~ÒF'Лçÿ¶¬øÚZžËu3žDÉ«´9%¤z0-´¡!IY9ßÇ‚F3Ö£4¾�øRÛR®‡ç—ÄV’Îô|Rr{Åîsì §2ÉuÇ@(ÓzrÇÀ¡ÐŒClϺ•‹hµ2 Xµ@m!<”Ç@Çà«]ǃVXvÖRA·²òÒb¡*t¯<©i%j'ž ÀãšypÓVÉ—(6¡Ã¶][Œä»“Í:áK)Û�иAV0I*yŽiÄÒ‘\šxˆÌ 5Ƥ¨qÔ3Œ)±Ïà¤ZµÚÚuKnÙ #•%„‚~|dÕ�kÒ0ä[¤Û"΃1oL‡ÝË B”ÊT•• ìR†á´ðAãšâf™·O¶ÙÄE¼ÔtFuOKôf[R�}°7º�<‡¬Iã�&sÞFiE qºì˱VÂ3•±øÏ±�ø+‘Q‘:�‡Å¸Íj}<›7~…Ë[®¢c‘H”„�0 ³ê’sÊG#Ú‚J³’FîóÐéj 2°ðF!‰Ï¼¦þ‰·R¶˜i ÇÊJ üÔ¦IJ‚qÐõ>ÊIõaÒ­ �¸<Òˆ9iiÂ�ªp=ô6Y¶ŽH¤Q›�ÏZV°Ï_³Pì æBCˆI ÊJO·ûs\Ä 1‘û®¾²¬¶‚�@ñUÕ‚3HZ¯7{JfÔ€•n!K”•ØÀé]¯]j áJ‚ ‡\>`ùy�I$¤-̘þßÍO§Ó"Æþ 7ëC1c¸–žJÓ#¼CŠ¥%¢ !'�HöÔ- ŠGשu#ªŸ"Ù„ÍËG^jµ s‘òF#èã­køMLësžî˜Tv×�AVüóŸ t£Û®¦$WÍšåÜÌPDUú*ðú•òB=b}”­êÙt‰h–©ö‹œd´Æ÷ ÑVØ@9 ' `ŸJšž•´ò‰˜Ó´4$“¯i;”Oª/nÁp±æy_ÙÙ¾'FÊÒù†¨/ÉL•¨¶¢àPz§võ|�)¥ìãO^š¼³Iy)·ž=ÚÁã �aÍi; Ê}ïàÇ ÏR;‰iSx Bœäc<§§4â5žç*Ën¹ÂŒ©Ÿ <ò� qܵ‚¢RN| ¢m«©Û~¹UÂ0íRÐuíêÔÛÍC³EhHs¾KÄ! gn9ð÷`W í#X¥Ä),[‹Ig»ZÖå+$r•}‰Ï°Óö˺e†Uc¹%ÞôG)TEî.¨%¼cå‘‚R9Å-h±KŸâü¦¤Aj%½ùˆS±•µâÊÒ•!$ã�N3‚1ŠäTÔo²gG ¶œSmE¬¯·8Æ"¦,r…¤¥§ˆ+*=Tq…`dñǧ®‚Ó!„Ãu PHB½d2G‰ÂºçÊ&wONT6’ä9黼èCV¯C_~¶vwÉ(§‚8N=´Ž™°Ü®Z±‹ÚùÞº–ÔÔ­¾ì%gpÁPÈ1HTTa½J a§<‡bíÕ¨õcèn]ÁˆÐ›p©Yd%°¼ ¨€@'Ö?ÍAßSy%{>Hã#âºþ¼îö+ŒA KEÒ4Ö)—à6âÒ[J‚THRB“ƒ€räTt‹mݘë�&Ëpf3K-8û‘V–ÛPVÒ’¢0WóöÕ¶c„-Øk¬PôT� $ÇmÙ“Ö©ñÙœ­€úzð¿ÿªí]˜Kÿñÿàñÿ]Qì/=§š½Ê�ßé ŽÂåGz´Œ‘”!A>õ”Ž…+r°Ì‰èê†Ä«Š¶³qumFQÒà' #< N3RrÞ'kíøE'PíZÞjªÓVUž3�¥ÔȨ(»|=ç52›dÏ’p�Ç“š>³é-Kpº·i6y�d-‡G¦Fu ¤ eXõsÔ¤iÆšªÝsn¹ïÙî-Fh]yq–”6±ê”•c…``øñB*ê$2ÊÛ“½i(ñºª([OO-šÝšwõ„è2ÂÀ,¤ç�•ÒŸÙmËjkKs Yq#|jvl±lN·KŠ ŠAy•#*$zî?8¤€õÛV2â?Ö[a¬96ÅO>3[WŽY.ÓÔ7g¸s©G K <|•õñ8¨Ô¨­C¨;O#æéO¤�­;»‘°àxô4À$ © ŒyyRCF‹•Æ2KˆÜ@Æ0|9ÓBÍé›”WW1‰{^O®W‚œ�98Œã¨æŒ¢z®/ôóü51o³ ¥ªtæ¯6Ȩ…®J_îm¼í õZP9$t$Ôð¹ú5A8oÄä)P^[ˆ¨óYL�À$:‡‹Kû@çæç¦ö NÙ‘4E·¸ë²UžòL²áª ôÍH¿ à`|$ݶcöàà@š˜Îw ;¶Œ/uðë’3N¥Y¯Ð•/O]£zŠt—a8Œ!8Ü®GA‘“ÐgÛVM@PZsþèkO7ª[»3s›qXHÝèÉd6“�qÏ=?šº×ÐåêBÈôV"©¡¸¬ëW=3ÆXíò¤;n·Ë€hFSèR £„«8å'Ìg¥*å–àã3%°†ä·lSLîSŽ=Éõ·‘ê‘çì¤'œ·%ÁŠû’ªë>›� Kl¼§Ò¼p¢xÅeÓOßÜIîg1®˜C>±ÿX«ñb¬9VÛ¬Gœô«%Æ2›BTï{ÄwiQÂTAd‚z‘OíZzuÞìÕªK-É[Ž4·�Ь6âS›që`tÈ<æ¹ÌçiŸbì²&‹ß%J�^rq÷~ÉjYüU$Ö�z;Ie”%´ŽœÕ…Ñ%ÛJ¦>ÌÈî¼6ØêŒ­× Ê÷G�س‘Ò¸‰f¹ªïÃ& Öû„§[ChšÒšùgh$»ñΑ–cªè2,óUún[ª)ÞŸoÙÝ)% ¨)>·†Þx«rí¥®–ô5&2ãÝÚvSÐÏÁèujKÍr´© W�À'5»Uám; X®…ˆíî}ßCsc@¤+*8ÂAI Éð9ñ¤d™»’kap¸*³ýkJJ�¤gŒãÆ�B±Ýc¼TÄò…(c8ψ?Œ °í¶97[DëÒåÂ�k„ëm;*Ht¤8³ÀÃHZ¼¹ G4áZnb!Y¥Ûƒ×w.)”²Ô6æÄ²ïvTÉRO\à`N1²DD×Zùþ_ÏÒwkƒ�ù“ûå„í R2qôÓØvY‘XCbû´íÈ8ΕXÖ­?}�2Û 6‰ñ“=ĶÃòc8†—�H;¶ò6‚¬Œð ¦²¬·Èï\]’â}‘%ÔÅskxÜN=PS‚ ÆF C+_+}öÜ+t•®¤y0¾Äö4 ˜ÒÉ2�²ð5v˜’°> q÷xÇࢡÎb2%H·Lj2È)yÆT”(,Œ0B€$y€qR§NŠÓ/KŒË‹.0‡1´«) 'žBTHÏ" öf»öùú¢·VËZOú(+|U2’·ÒNO³ŒT�¼Ý`‚B|9®R®HÝ×úÈiÃÈõOˆ÷~*Ÿåê¸YÈêO<Öž1ÿº¤qö+ðûŠjGÖ Éþj^þì|îì_'ÃÔ¬°[�oÖB9÷Ç]¶PTT²¬qÇŽ}´‹Já'� ùWhPÎМdý™‘ÐßvKájm8ÊT ÀƒÅ,Å×QÝn°"&ýp[î<nËp¥(„…g$ާ‘í£ N¸²G».{­Ý“¸FNÔµim½ª u ’G[†>Æ™~¼­lÛ ²ê'«Ðä´êe¦Ð„»½[’(q^ìIö×wn»J?M”-u»_£Üd3&õ9ר|!nzJϬڈ|p|3I+RêIïþº)à’€¿KspI9Û�Ý23S:çTÛõÍ@D¸*eר»G£¬)j!ß”OxsÎAëÁóyda#;ÈäT§ŸdØBš˜8]ÍR*¹OœÙîd ;¿ãR²²9_>$“ÔÒ  Ùº�ý)­µCJväî÷Ó¥ øÀÈ#šù Žh›" È$PÉ'©c>Ê턜¨¤yù©nrŸÎyÛÐ$ Ցɨ”ÖÉ+�`«Äó�`¥ ¶«ŽþŠB(!…`䂬{zWdžì�€NG"’k.ZV\_;±Ó#Äu­¹w(Ò÷8c²[”ïq³`PÆÜsœõȤZ ­I(œp3ɤ…º³æH9÷ð+¦8·0™ÑµùjÞ¾q™þž‹'÷KïÂvi2òÛ‚7ÉKiÙñdàd’¯RÖ Uú$kì$·f�SPV§}!*Yy §…`өȠ┕%@`‚|±üôæVÔÛ¤…'£NdøüŸÅý5dUȪ«¨¢µ€\é-O:6·“¬e±é2ÝqÕ©!ÞìâT‘ƒƒ€�F=Õ&Þ±qè¨×ûk—õÛý$÷³d÷ªZ�H :…§(Ç‚‡²…­Ë�7¥Dp3Í<ÚFîÜÏ\ ‰¡]¾–7�ˆfv‹)3.#Ú;ƒ*+-ÄþèNb<Óe´¾�­¥9ÂÏ)1ŒW/v‰-»ë—X¶F#{œ†Ôu:m·]x:·H(²®vã¦9â…g#ãPvúØQȱÏ�þoÁ\ÁÜi �ãÖ¹ãß­÷ÝIì±ÛMÖEÐõUê©R_}nH]¹Ëtc¦(†•�¤%´€0G@sÖ•V²’ý½lJ·ºõÍVµZ×1ÉeH[Jsz–[)És¨Ý¿çé'%XÎõ`¤qM²R¬å$ž¸ð¦ö™4ºçÙ"9ÙiMP½7oîbEžòÖÓ¨[K¸‘ âà )qÊâ3�í¥fêôÜ4³rã`møqãFC=Ü®í]ë�ë!²6œá@ò rží ”�|«jJqàIéì§mL€l‚™Ô‘9×#4P5ôtH€¸:Q¸‘#;)çÚl¾×vRží„�´cADø“Ö™«U)Z\Ù˜¶½¹„ìÞmØåE‚¢ ‡¨åg¨ÎÅ gÔ INH=x¥Ý,‘’BG‰ëNjå;×>ÅÜŸk üÝI}\ùÈCJP1â9!N!�µ!AÀÆNÍD'Ô¨¨aKO#Þ)B=n‡AÖ± ‡;’GŽy¨ç<Ü«LcXÐÖèlj ¬ø+¦r êQDw"‡¯)sZµ~b9THo³èllà `!=8>ÒiÃÚÆT”;ó ËÔu]SqKæ©Ä%pîP#o>î>Ië@`d¡97JEàÕŒã>þO4Â¥âö:®M,g"4D1õÐná Æ´ú8ðÅSÍ¥+øÐêW†ÙBµXà#ž|éuÌÖæY®O[œ·w®IÝ#ü1å°ïW”œ qÎyó¨&Ð’1ŠârsÞª{ˆàóN*åçMìqs%®Z¤ÏÕ­L`H‰tŠÛi’ìYIJ^(NÔ©[jK|uNŸ`ç<.ûzÆ×¨ Ø™„ˆKef3eïÔƒ’¥ÛJB•÷(§ v zpq]G à ¾^ÊäÎó¿­J)£º‘:ÎìÖ³‹z��äxŽIv<†ÚžJ�9BR½a•IǶ²Ý¯'ÂfÚ»œY;œITIoÎW%äl=òJT\ÚÆž0<*áDŽ£Ž)¤° �nçÙÅ8©”o\û$Gr‘Ðú”i9 Ée›²žL„ºD[¡ŽËÀtCÍ÷j'¯‘äû1'_ºî�^�Ÿ§Ùz †¤¦PŒÿp²§^/$¶­„ $ñ´îŒÐ’ÀŒg<ùüÕÓ%Ôœø~jM©‘¢À®�IÍÈÍÀÖñ¡ÀƒÙ¥Xˆ#K‰)}ÓÍ„8XNÉi+%Y'+RÈ'ʸ‰® ;‘cZ$G’ü¨î%øëy¢ðàÞäedg<¤ àà“Ö‡Q„¥à¡•8³„ã Á®½®^uDZEÌ•¾ê …)ˆvèlÅL_HRÙZÛ=îÞQË#ÌÓ¹7ëaÑãN@²L�¹AÉ/7qIô§F0§Ag%#œ ) ây¨M¥.mÆSÏ#Ï5Þß‹'fp¯£¥GǾä󩽞;̱®7`qŠî&;Ĩƒ9ù©>�9À&ºˆµwˆ@>`ûÿEE©SnR®(‡–3“Æ=ôÜ)!ÄàõOÚUü‡T¥$|‘Í6H=à8ã8¤¹ Wˆ%'<’šÒ‰méøkK<ñÉð¬YH>ܣƙ ¸*ÊRsœ£Æ¸­IÉÅú+ FÐT O�ð®Qmß[�ªÀ¯Ž�NŒ{%×¼�2ËÄ õø…Õú×ÖÓr®íÄ‘´2þTxÇÄ/ðUÜ‹í‘) UâÞ ÉG†ŽáŸ(öý‚Îâß8v}Ê�íWö¯ÕÄÒÿ‘UySµØÏhÁ'ò”jõiWKl¾Í5[Q.1$9ð4³µ§’£õ•x^_íGö3Ú'ðIü¥µxoéæìYKõö«ÿ£˜_èƒ?“SBê?0R:cŒaEP?kˆ_èƒ?“SBªˆ!$ôó %ø`þ>ˆ÷¾*Ÿåê¸VO$ ø·ê2¿½N6,œyí¦`’@ ÀÈê}Ôé€M¡Ð2…à�ÞÖ\-‰LP74€œ§ØÍtŒ‡V¿Uc$ã<8­5Ê$�È¥ë- íÈ>äºJµÀµ­[ˆ=@®^P!JÎNyÁ¬YÈÆxÿÒ‘QÝ‚Uƒšd“æ6©…o>+ ÅQ°¤V£„”xž<«—ÉôE=Ùð§ ”Ù ¨Ž<ùæ”k€9Str£¸çÈÐy\(¥Äå\dñžOôÓ'Kʉç®1ȧ+)À Î1Hr6‘»9Wb•xŽ| k l¸p6H)kì‰xç­$xwoL'“ãŸel(÷yFIçÚMj%dä`îÛ�ìØ�®L`¥Ý~ÒNyW²¸q\䑎žÜWn�ŒBB±‚¯æ¤ Îå€2 ?.0¤# E�Tq’3Ÿ^€8$ð8ÎOôÓ|¤ŽTGt”ì÷n“·”ž¾ñ]q…GÅ‹¤�xPã'Ï褥©jÀ)8ϳ®”¬£åAã?úÒK )GÕöãèÍF]u3Z^ª•`„Œ$�ããNŸ‹^7(…`}ŸÅôÓKrÉAYÆqΆM< õ•ÈîÇLƒŠdå4“ëU”ä‘çÆk´c*ÉϨ¬óŸÖ¸”sjÑŒg¯�t•Ä2B†HðÁ¤ŸrÈëÃXÉùGÃÝK$#ºI±‚9öÓhøÎÝØŽsžœS†”¥!�ùH$Ž”ÖH¦ì`ÈXç>ßwé¤Ç×2 Üz{GZî"½u)Dy÷�Ò’ÜB’ã÷ ÒI;R€l˜ÇN¿59•�i–�’Êúø¸þjlHîJ°qÎO½Ì�æÕ…\ÛîÛÍ8\9CXÈSnã‘êdžÓæJBA9?(ñÿ¥GÙÔZ”�¼$g}4ù$¥[yVÒþ´å9Õ!,’âz§œð:RN6 Pñ�zûiIGr’Œá8'‘çŠAD„’…R~Q¦]ÂÞÚ¥vç<ò|zVC$8žyñíò®'zˆIÉús[ŒGz”øõ {©Ó©nK‹99ÎHϲ¸8.Q`œùq]nÖ889ÀàsI(§¼Á9ƒíâ¹I9 ©{ ¡ëú=µÑ<«p9<ãÄñ\ƒ’p3ŒqX%jQW9òéIr»k lŸ?¶+lð¡Èäôñ‘BŽÔä•2~šÒ Š”­Áäy`ÒOeÔŒ%|¬œžêÄòãiçë‰ùÏ�&î}$ôù#ÃΕl�ó}…¤y}•$“ǰcº�Wü=j9³½ "á!.+å…~#QÈYÏ+ È�íý±I0JG)ÜæÝÙ#ž8ù©Ë»\I'‚”(àyL’³Þ/¡ IóZ—pH9O«�}-Ë�ë†}rƒ°�·ƒà9­\ôu’¥p>Ó ¾ ú½3Ï�'rW÷&r³“ž� $ûÔX Œ(‚@äšîÆÄ”ðÇO} 0RœyÒ‘VFѸ(ãÃÆ’í8líX*ÎóšBPâ1öIW»Â� Á²•+r‰ú ¦ÒÎèÈ>=8¤˜&®„àuW û«M« Ï<û+o¤ìÀ$c4“ ¯f1Êzø 8N§QÂF|¾zá ¥KÛœð�•vÖJPqö#œñ\ó¹[€>á\¦M½‘×�i@¬3œt==ؤÜRÒð!@`’+hQRAмééG=RN:þâ(HãiÆpzô­È$ yb“aÖÄ”4V;Í™Áò§ nR‹Q.,äŒø1óRIÜ�žp@¥ÝÈ$c8Ò:wIi*à़øSW#D¢ˆ[€�¡…uð?¢¶æÐ±å�?ub‚’AO�ϲ´³ñœ¨ÎZI×*8àó�•¤œ6Ⴥdg¯¥p€Ià}hœ!~*($~æ’tE¢‹Ú=b˜ð:ð®×¢®î­¨«îÎÜŒWœt1WÃ!80%�ƒŸþÚô]ïüÏp£¸gÊ=¾‹9‹üáÙ÷*²í*CÏi{ÈqÅ(|4c?þNEPý¨þÆ{Dþ ?”cUçÚ/ì^óü]7ÿ%"¨ÎÔ¿c=¢ŸÊ1«Y†þžnőĿQj±à�ú8…þˆ3ù54"ç#'>Ê/�û[BÿDüšš$0 å=:V„§(?�¢?Á/Чùz­çŒ{éäsýçXüZ†ïi’°R¡¸Ž=iû‹SÄ�pڱǎÚ̱rŽgot2 pçæ®Ù?F<ÉòéI´£°+pXóþší‚;Å ço8W)Ò¤‚�¬g¨ÏÏÐV8€Fx8Vx®8Þ3ŒóãÖ»'ÔÉÈ#žbYŒ¦’…©]ß@ "�ƒñg*Õv8Ž»Rž~š'„P¶º­�8Øø ¡˜­c¨©�3EÈ·˜ ÍiqEQŸÎpi_Ñ]9uõ�{—¸V~¶x®�aäFD‚ƒÝ,�•™ÙF¶màm3…Û)=Ë&îT4ÙÑ�ÞŸü4ßtiÒ°¯òg¦ô×ÞS„ìiìêÍ04Ú|¶ Ä\™ ÚÚI$ó€ñ$ñNxLÐI��ô\ŽÎNQ�".À'hiî|J r.§�¬¼9<Õä9¨ñ>Ú»;ŸÂ“é$m`º‚âAèT�rœûE, ò®"à…·Ø˜›v)dáMTvÛˆ ©/ •ä²ñàý‰¤uÚžtúÜ|Yò¦é95Ñ8ê*_ø*ŸüCà¢ÿ‹§°x§ †žñã»4¤k¢‚1Þþ­GЫƒ~c1!æÚIîZ¶Ž=¦˜ð.˜Ô> ÅÕHÇŠ›nî�7z<Œõ9AüÄ«ª–ÚÂc8é…�rI¦·Ò™@eÎP© `Ô§!¢¤|íy%¶óŽŽË‰âÒ= _1Ô û,‡~ŽÚRH)pŠ]­C$�Øñ'ÌÕË3²;k2\ÆŽµ¢"V¼<åÙüì…‘áמ)­‹³+5Ý®ú6“²ºÀp6·Y¼¼½§�Üg¨Éã>^êÏòT·¶Óoü–‡”°³¾Oò�US"ñSí¡+ÉÁÇ8©  êÒB|È#Ç 4�lºj’׬Úà2Û-ˆíº¤¡J)%JWMÄž€x×1;°O‘ÆAêRhkšZH;•úˆ£�aÑZæ‡g®dú%™WÉÊŠ¸Ç°Rá`% 'ÏæütÑ.$:G­ÈR†:øR’T /vâP1íâ¸ÕW)‡ÂiiõÛ‡ªIG•43Þˆ‘ÏÅ«§²�†²¦÷ÕJÿˆÓ�7cÏ5¾¤à”ÀÉL†îîÞ.±µ$š)Ÿ`È‘¿qJªì {KOœu?M:‘zÝm”Út•²´�‹99N>š�m!õ„FiÙ*ñ ¶Wø…J1b¿¾‘ÝYžB|ÝZüùª•X6Fm5PoiJÌ8ž'8�\}mÞ í72…%qä §Õ-¨>jv‹±DÇ|a@|ƒë¢¥mºrå:àb4íµRR�ű(«æN*^N…¼Å`½&E±–ÁÁRŸPÿf‡¾.1Û.¬ÌõepÉŒcN.zǪ z{ÝêUèÒO\žå^^îi\VPB£¿ŒŽ;£ÇࣘºPÎ�ßÀrÛ)¼ã-È=|¹H¦òû?ÖÒ\vÊó‰K*KŸ�$ŸÁVéðÌ Ú:°OÓî«K‰â0›> ¥ÜV)‹ ùíU‘n mÆÏ¢>0AÉlŒ~ ’ŸT7KRcºÃƒª\AIú 6Áéãï¢íàu3…Ĥ�¢¢xM86,)swÖNr®N°#=E#¥JÜ�ôH1¤)¡�•»´dûޤkÍâ³Øbh¾ëŸE§3B ¶ÕuÜ^CÿÉ#p†çôR­ lÈaaJ‹Þ,m4¤g‘’7zе-wV§ºãA·¶À'qêþ”ÚÂöÝ,)”ïÏËT.“©’¹´sÄMïŸUÔîh Û邉-8HW¿¡¨¶Hm°ž #ÄûjMIÝÄžR¦—ž:å?¢¢F6'o9g䋆›¬[¨iksnÑŒ+ž¿ÑQŽêXKCj!VïN)PVpz�ÍWÊÓï‹ð'62£ÁQ¯ÑVé¡�ÿ²§YRøHÙF�ê›bP�d²>+kQõ]©Â™Œ¬žHÍIé~Ë–.šîùÒÄžc³„÷«ÎJ‰qÎ98늕{²þÊÔ V° ÚŽ%3À<�ÇQM=O,sÍÇ0'È*ͪ©p¸hLm×èýÈ*%IHá>Ãú)SyH|�øÆ@îÕŒÔ�¯DvumssùJNß�¹L‘çSq­ú%z½‡ä·Ú"¢ueçŸò»Ñ!QS‡Å "êTéþå’¢GƒJÍIÜ.Œ¡èR”¢zw ÙV$Ý1£cAjâö¡1¡»ŽíÕ>ØBóû’züÔ�º>ŒzB!ÄÖi�âøCAö‰U1(¿pð>ŠGK.à«ä]ó¸¦;ù<PœûzWK’〢 Õå'8aDgJ?¼i}K^—ªýn 8„.KCrOE Ž‡Î›¦ÝÙÂäk”$�ÌhUÈ«è$÷E šªù5m¹¼ß©f¹¯#ò¶ïE@¸Åë±à˜nqø)D3yÁ²]r‘˜n{‹–âp¸Û>åçe©ÀÛÌ8ˉ³kAJ“Æzk¨Ä’ �7'ž9Æ)}bvëk¨ò-ñÿtŠkEe R�8=SPDâøÚó¼Þ‰ áHÉÞIÚ6�¾úhÒðê…dx+æ§S Bð9ög©¦h#zrp'Ã5Úa¢p¥¬„ðqÀéý…mÂ1»9çšã!EE$cŒuŽà·Œôó¦NV¹1‚BF98ó¤ÓÈq@¡ÏA‘IºRØJ€Du—g”8�FíŠ'À)õIOè‘ýýIÇÿ,sÿé¯E^ÿÁœ÷ 󦋸y£¼ð|ÌcÏÑàÕŸÚT¥3¬frÙOÁÍ+»: AN{×yî0I<}s¡Àbhîò�o¢Îâß8v}ʉíö/yþ.›ÿ“‘Tgj?±žÑ?‚Oå(ÕxëÅoÑ3Õ¼/6™ž·ßgû’OÙý—¾¨îÔc=¢ŸÊQ«W†þžnőĿQj² þÖпÑ&¦ƒV¢NF NI<æŒ`~Öð¿Ñ&¦‚Öx2p¬>~h ~?�¢?ÁЧùz­¨`$u9éOàovv¡g#ÚŸÑLR¢ Îwäã•Yáͧ?¯›ƒYe²MÚV' N<‡¶”iK R³ÇN<$ÈÙÚ~ÈŒx×l��Üây¤�vÒÉ|Œ §<ã§ _#¡ÛðSvÊD…(“ŒãJîIj$GALS'd|S‡ˆuUNϸºö®Qø)¥Çü2ßÿêSøÅ? ÇQQ·÷ &+Á ”:ñÇ5ÇÏÿl—°y„[�"øí8çý%_ªAéh™jb<§Ù.¡A;@Q88êUUÙÝîè×h›Dq"<_Q°4¥„+Ö`óÎ}Rh�¾ÞowgSÍ7hp=”a×·sŸ!Škµ›†ŽlCƒ£ìÑÙyÕI nBÝJÖ¬eAY>ù«Î)g¤†y&¼lºÅ¬|Ø;‚¹p�Ào m îðËDÓõQ‘õYoÿÑ1øÕC‘2ZGOU*ÈQöaÚ¯—­õR/“b³Îí¶¶4£· 'œŸ}>†rÐ ÎÓŸŸƒÏ»Š¡#ƒÜç7BJÑ×SÉL †Ag66ƒÞV)d(�3€N=”æv WÕÃc#8Ǧ�JTO|)YGû‘GpŽxç§^=õÕPr†¥˜¡`x¬’:|£DúZÕ@iû›=éq´ºÚ8o Î2|O犇³ |”l%nd÷j¤ÑuºYX~Ý-§dYÞcºK̵Þ:ÎÒ¢ŒŒƒ€Uᓎ+Ñê™,”0sǾ{Ÿw+[<ŠÂ ñ“ñ ¶½Òë[âÌgÏþÊÒfKMÇIˆÐC$¥)¥ Ð{Óø|©½ÌK¹ÁŸl†\ï“™(q¥pën(ŽÁ裚ӷ{eÕ”Ç�¬`²KA+ôqèò{Ï…œ„ãŒ`ž¼ÒëN£Óh�u3ãÜLˆî­¶JOv• 烓ӟma\Þ ¶g3`‡_+‡~}ûóê¢Øl<&ã£sžÒrÞ-|µËL­Ï©ÒÈ“HØí–Çž¸Çbdù1 )ÖžJRµ”° q×57}m¥¶Ú×%˜ÌNŠ›Øp²€K‡wQœnhÁºÜnÊ‚Äx’¢.W¤ =%Ž~VwcpgÔü¨z¢½o7t¶:Ìvä­L»J%d¬äîåC >Ri0VÕFéš ÿ¸æmaôÏëš9WI�Æòé%,+?)E8åYÀã™[µ~••g‘.áo:fcrÓim¥´á8RЬc“ÅDv“o¹ÜîÍ\ãÛvŠ…¸úS”²¦Ò�A>Ь`iÝSwztÛM¾DøŽ\ wJ=mŠIJ�>C©â³”�¨•í‘À ¬z‹­ß–WSûSží†´/pNV+oúuu«o]C}m¢çñ±ä6°Ü•·ÐmVÓ´•gìxãÄdš í.[äéÉQTiÂñIÇ_Y¡üÔQÚK.ªT›×~ÊãHtìe+˘Ço’€È÷Š ×&@kM qQÄ!Ði@„¤°8ã8Ç�i¬–+ 9JžOÝw wl�ÛþßU¨¤$ÀEî2óJ$Dt+{¥|Æ¢NàÖíÀa=Aü"¤ÖUÜ,''âÉ<{*%D?W?#‚Oöþ­+MÑG^ÁôG³‘Æ=õ\[[¼2§ÞPŽ$$»ÏØnõ¿jƽ’!=ÏQžŸ‚«1ß©Ç6#rJ��¶‰Ð7h„+6ss^ÊàÆí;2LVÍ©ïDïœJê–ê7“Ç´{‚ýµ\èë´^têuÁp£Xí³�vP¸2ê�û©$ú§�T«­èžÖ&Ûl¬YuV�7È‘’ô÷ÈH RV0¼È8ëš#�ÚÞ�¥mhKƒkIÈP�|þUdæÀë"sÚÆm¾ã¬o#s�òQ¶XÞv‰±ìS–)0.v�-§ã9"áx~ç!¤¨¥9yá¹=F[Ó[t×ί¸Ýzb-¿áPú$\-÷M$µ´4S”�ÉÎwÑôÜéLÜ"X/öÉÍâLTF PPõ‚·p<3KÚ;DÒpc´Óz2æòÛ%E÷QN­D’TU»©$šc…U ž/]×\“ÏØ¬2fªíb$•jG­ï¢Õ>ZJ­K=Ú{¥ :ÐWÉ XQ$ ü’zŠ…¿ˆnËi˜ûïÛ„°©%s›� ·8@Ý·vÜ’qÏ4ZÿjÖ9èJ$è뤔ƒÂ]C üê§6�}c/”Dѳ¢-Á´©-°€¡äHUK_º.Ïxs[_ÌÔ†¶ Ï�A©@eÔ­‰Í³$¸;Éì…G[a¯¬”¾¡ÚHðçÆ’\‹s—ÛÄèje¥=ŒãŠnBòæV‚xPÎĕ܊³2ž ýNäï# †cœûŽê˦¦Ž[Ks4MÂB[ù)XaA>®+§a¸ƒ~(ö¿p9”‘bÐ ›ïßá–J´€´ÝÉ·1˜ò&I‹ †’âêi-!KÈÀ qyéÏ4ïIDyÖë+wY?ݤ¹!Ô) } ŽñC9I 9îÓòG³iZÛ£:}CÜY*m $þR�êÁÜË´}Æ4™ ­>�€ÁP$(á@žyÁ¨$¦«oºcÿ÷k~v+Vm6Ñ�Ößùu¢žÓ©ìîém…6Æð¾jfâJbmÑ,­‹k-…«!%²F%}¥5?fÚû£ïlè;-¾á6}ù˜6ù,¾d»�Ý%ç·%Ó’HÁqUK=‹¿(©aW¾NI1Yþ¶Œ;7ì¯Si-BÕïOλE–[ TxãÕWP ”°œùí5´Š¶š&mŒ‚ÍKGQ´\ZRvíÎŽÔZ�HZæÊ¹E‹:0Œóˆ *p²¢öÐ8ã-îéûLæ _c[SCÒ})}ô$7„ƒëœðyuõ…h­ ,vÇîF+s'§{Á¤¨�¥©[••c*R•Ê•Žq€0©Øš®e¡sŽ¢¶8€¢—}˜¥´»ÀIÝ•01ÉÁÀ鑊¢ÙÛ,ÆQ¦VúoW t0.E÷Øçnû~oTFº›pøVäòÔô—X”ÊRÏvæñ‚‘ž¼Šµ{¹].šcT½svRÖ—6„¾¢JkÖ>Ú&¼ÉÒº�ÔA D¸ÊŠïxÓO!i††è3áY;WÏS/ÆrvÊÒ¤+d`øÔ“âttp˜ß{›ØÚö½²ï ¬42:îÔ[«-Ùoí^{Õã:âçÆ}fÏ»âQMbR9HÏOe9ՊƸ¹{TÞz|R)¬5§` ê äøÐªo‘`òZQ©í*BY9Á#Ä�ò)’ÉÚr#w•;–§Š’O«Æ|ù¦¯à¤ Á$p:óš•8)Ê2 |kdeXöt5Æ}_hÞÜE2Iº÷e >·$|õÓG-:Tœ…|üVåIP8ãÝÖ»Ø�‡ƒnƒÎ1áí§INèl.úŸT °&oø+ŸÓ^‡¾ÆŠ ¹+‹oìïÒJ¶ƒ�2Fq’xöšóÞ†Ú/I^·Áó6�ÓŠçöù«Ñ7¿ðg=ÂŽaŸ(öú,î-ó‡gܪ»´ui{ÆqŶ` =EQ}¨þÆ{Dþ ?”£UçÚ'ì^óü]7ÿ'"¨ÎÔc=¢ŸÊQ«Y‡~žnőĿQj±àþ׿Ñ&¦‚œ<(©@a9ó£HµÄ/ôAŸÉ© \`¬¨¥χ8æ€p—H?�¢=ÁЧùz¥88ñ®ÔpÚð¬üZ¿&àR}E ’0­«–—â6+ñË-šI‚X�ÇŸž”IR”±œã館…U89Ú �V8ç9ó¦N´ /¨|¬ý>£J#qàõ¦àžôç9ÏP|0)c€±ÆBˆÊtÉÐ'»P Ž)çg×Gí×K‚šAÔ5“ž8ßý4Á`ŽÇþ¿5;Ð1•>ä´ mm¶ŠÆq×}àøÜÍ­3ò(.(_n¯0�ÿ]’V•7·�¾óAWÐ왪’ê•,xTÛ�Ýq*,´½„ð1“óSc­D…gç¯K‰¬a»W›9Äꇋœb‚ûGˆ–äÃ�6¥jJ’IñÆ1øÍYÞ‹ÏJí"ÑߨL´ ­pÕ¼¤x ð¯ sóU&‡?S†�ÓÖ])U!Ö®9¨ �þƒö ÎO‰ñðã­¿2KKOvÒèZ2TªŸŸú+INYï;R·\%ÆÙX}ž1pÓ¯9êê^(ýY}šÝíš™þÐágY®KJ9Êâ8¯¹ÊHæ>ªíz;´KH÷˜P¥FL–‚Â^[dð zó×Ùšú!|·A»Ø¦[.¥…Gy²I í?ºÁèsϾ¼_«ûL¼³~—g–˜ijÚU!-žñ>±Šóƒ�é�¸{h½;x×J=ÌïöY'I°Âèþ<­÷VFžÔRg„Ô‹HÅ%Æ\)y@gœ¨§¯�j©NjÝdÞ—)ˆa¥?,‚6²�ë`x ÓĬ gUß�w£-É+»·Æiµ¸žsÌ ² Ÿ 2ìûH³nqwLÚ§J–ûn¼ÑYÊRƒ¹)QIPJˆéê¤Uó‡ÓXnÜÆdŽã—b¦q�ep³²6ýúö©7 Jl4ËiKl¶ž�¡# H÷)0Š�¼&,‹ƒ®Ãc¹eXÂ�Àϸ“� f#áZhŸf²ÑgÛ’Iº�Ùš†Õ‰ÄfÝŸÅEB?(\7²$k‡ñPŽ:øl£¨y…¨à@¶=MÚÒT=¡¸è�Ô–¦mq² KˆHñ¬dS»²"K_xd2ÂP2RÖÂ:ê§~q€8ëL´Ì¤B»·!À�¡ R ‚II�9뎜Ԟ®\W C�–¢&RÖ¾ñQ×� 1Ž#çç­y Í·_EH\*3Ï~HxìL�*Z7  ¤óå“F1ÄŒã’|pM#‡�ÝÇF�pA'Ëoàð©#øS„Ÿ¬oñe(½�$�åÎzþŠq/˜‹SƒÅ6YõTœŸ·4´Ýþˆ¬¥\%C9§ºí}­ÖÖÉd¿ø�K"6þ=Z�ìëJÅŸ£¡Î~àY[Št”ƒÑÕ�æ¥î�m°æwqÞT”cÖ8èkÖ0Ú–hÚ5 KÍë¢p�î<çÍVÚ¾ßgmæ‘>ÎÄ‚à$+€F=¸­Ú;?DëTyÖi†{q "ðZ(¶úÁ\ žžÊ?ކØp¸#Aà#ëEû•&A$’ˆíï—7›9·Ú˜òžmn'pàa\gŒ×dç»�¶ÏràÊT¤ú¤=HÎÒº³T¾ëK• (!¹nˆ@èNr qŽqQúF<‹U¾e¦ézL¤²òÐÐK%j?%AYóÁ>�§ÇªZÇHë¾ädEˆi½ía™oÌhV†L8²|€ÐsÝ~`U�¤aÃC+y™ •­}Œu7Õ¶ÕÛ¦±{´µ>Lµ»‡PÚêqޏ‘ååKv|iÇ\q²N@†?¦¬h²!�µMœdŸ »‰0JKMÊ«I)ŠÎ ¾°jv·TÝÉp€ôi( Qã¡#ÇŽ1ÀøÖÝ¿ÅD9ð"HÍ<¤–`5ݦA) Ï'>°ÏLã9+{ìïON…p“¹á%ÎôÉ[Št7“’ ¶�ÉàcšÇìÆÊÌøŽ®T©0Ùh÷Œ­X.¹Œ•'c'ÇX ;7ݘ’™Þñº˜›Ž°¼D‡=Å»kN-¾ù¦œ ¨�䤒0ÀÅBö¦Ç¢ÍÓ±Ò°êã•`wCœøÕõo·Û,–æíöö‹1ÛR”�¥©EG$òy>5Q~¨D1ðÖš} nZ¤cÇ–¦‚â8SßSPÁ{�Ù‚.:þÊýh$ų‘Ñ ¯>ŽêSÉØqôTn2ÖIÂzã¥H�¬-]v¢F}•æC$”'¡ÎOàÍD‹5F_FØNí9N ÁÏØêö cyütg{(�„ä“î¡‚•¨âhî.ô@1£g3ëöI6­¼l"œ2âJ¼«…-²1�ÃH÷�ƒœ�¦‹ÁAƒÈR­˜§Œn$e üÕÜ„SDzbÂÒÕ®ØT�ƒëÎ*3JrR �‘š‘·!³´Å\xÌ—\Ú‘’IéDvþʦ©ö`¦Bœ[ïK|¥�ÔnWLž˜úcª{5ºB·w׋Œ&YÔŽÛ¤­Å�>1Ç—¶©ÏJèÅÁV©ª#™Ö(z²™2{R Ky¦à¼’Ûa~ª¶œä�|¨ïV_Y”ôk¼™1]O÷Kmç{døã¢7»´Ÿ›­@¹F†Ê#0Û²\j»†r¥{ð1T©‰ÅÁùvjœ:Fµ¦!vÜuù¡Eúb-¾ññ­<Û c)V2Ÿç£´[Ží[e—øªœ³êû4 B•˜R`ÈB–âóÈšô’•ð�µ¹‘Ö@Pꓽ´î¡†°]í³º´>ˆ[êßJï踖uê>»ûT'ë~E½ôå[sà3DP¡Æ+ Rxò©uïRBJ‚�‘ÖÕ*lðˆÆh3°€É=Ë›s¥%{¥hÚ*=ÛiKܤƒá“Òª;¼;çó×QÞ` È*-9!/µœç†ÜJ€ÁV­òè‹TqqïœF3�<èi ²ú–ü”•e]~z�±6<ãÈï Í¿.7 ›¤ç-.F™xfÓ|S9[ о¤òRJ ʉåiãÚçJê�ÅËLÐ1µì×ìÞ8ùÈ,­™×•î. —ÖӖ¶�“ƒ”ç[Ý"̾òb¸Þ£¸7„�ŸÁPND±ì¼ ÑGAޤ¡¿?V‰Ö­Xý{\ÔÛˆRrß9È#¹GB)É£ NUžGJ‰·s"J”pwcû‘SÊ ÛIá' ñ쮘͆5£pJ±.pæ%;�½Î©;¾OX¦N‚´3�ãK¼½ÒJPR�¯>qM^@p ž=`G†)Ò áÈÊRqøý´§=ÙÇ®qHmJ°¬$ÿ>)Éà3Ö’I7BRNGùÚ2Rà*ýÐ8ðâ´¤�Íç€:�æ®IJây©##ÙI$A¢¥_Æî¾�,{ôGkÑw²=ÏpüuçþÊÙnN¶…ô—cÈJ½ ÇpW›–™÷ˉ �ŒWG0Ï”{}wùóîUuÚ'ì^óü]7ÿ'"¨ÎÔc=¢ŸÊQ«Ò]£ièñ{>Ô³2SëjÑ1HÀÇq9õPEóoj?±žÑ?‚Oå(Õ¬ÃO7bÈâ_¨‡µXÐk˜_èƒ?“SA2ÚsŸè£X?µÌ/ôAŸÉ© ý¡Í£‘ê þ Â] þ>ˆ÷~*Ÿåê›�T�áP �}mG /œa ù¸ãY{­šå)H QêGZå å[ŽH= u…”nRH÷t®@W#®ã¤S­Š<øø²–0 ' àsÖ�É`�À1Í*çL„‚G™¤N[P Y9Æ3øè“±€Ú®—”­Dü\r1ö_\¡v²”+#ƒïÑ`ðU*ùz)B#nçä‚\éôQ\Ú­¤õù£p^aËKÑßPc„Ô<†[J· ÎI'¢]uÜZc”E_¤Ët+ºl[§SäQQÙ`ê›®¥Ô ÙbJÃ0ûô<ÓØJ6žõ9Qp-;p>MldÅc…Í`qû,ÓÐS9�ùð�jKP¡Du T§±”‘ƒÓújfš›5êß P÷º‚Í$‰ÕnRcn’¤†ÚrWëÓøVõš³Á~K¯k7žDHņc¯[J\tg(=ñÝ·#<â‡ÏŠÖ¸{Ê!N Ü~�è IÓk�§�Ò:• „4Óà”¡Ð�9<�Ò§µF¦´.|Ü]^c°á)ÛâO8Mê»mÇNê7,nP®³b$¢wwHe§œXDv’w’µ�èRÇDç"¥µŽ–Õºi›£Ð®1.]ÕêªÒÄt£|ç]º•íp÷E<àœ ‘Y·MˆÉ¶ØÚÝ¡Örߢ6!£®s�nÀ§Š ¥§··}ˆÓŠÞ¦Û’ØF{²ªž€}] È¼JçG}AÖÛu9+_,Ž00ÑV…ëMjkV¬¶ÙW©°¤ZfÜ%ÍD%$°¸™K¨BJýd•”£àsãPîÄÕlÙšíüwìixwwôN©N”3;úg=zWòpŠ7fXG1óÈ.&‡uö6�çM­�æX¢wÐÉFâµolîR�‰VrO´ÓÖõ –ÿÂíŠPýÓ*Ýø4ï´ë]ÇC\ Ãºj9·Ï�C>ƒj.© 6”÷Î/ Æàµlõ)…ÊÔˆ�—»®cj®îG·5=æa²ÙeÏ »‡»Ä/mÀ>Qz,W�)ƒOaõt6|6�ù´�¤à_,Ó—Ý"J[{ŧ}U˜Ô–Ö?Ê·þШ&ˆ´_4ý¶}ç]Ã�9öë‘Ë1râ†JFäî'óLun…•anSÒ5+å–S»„6R?¹öQÆc³�ïÆ/Ûý�ça0ß'žïîŒa*ä`�1BÝ¥4…�€]?Š•ì?á Ú{Ò'9¹N%.ùd§� ¤¤üôóµæ;«\%y¾á®ñZ±S…=ãxû„S‚p~Á7±?é('L¸¿„Ê\C …-N÷{”RIÇœS½TdÇZ\–å4òw¶�G^¤ã­FÙƒbPyÉ)ŽБ’ró�ÆŸjG’sÓƒÎ2Øl’ Nå+Ìùý¯5oÀ¾�{æAÝØ¡ËOï‡ã¢èÄ÷i'ÕOCì8$(ä$WS-ÇuM©HBÔ”ü¢À÷Ô.‚mni˜AnS˜ÿÅU^M,Ç·³!'rpmáGÄûkÒ`©â)# _!ä¼ö¦%CîwŸ5P¸—ˆùJÍ!Ý,ç*'Ú¹¿X¶‡d;!å­(QÊZhíJGÏ“P:ƒA·“"L Jy(XßV#ÄaqÙªæ�Ê· “ÉÍ(”Çd•ÈFP>¶ßÃM5%ú š;n©©¥N„(÷ FÑŒçÖ#ÝS‘õ}¢l@»#LHB•)”ñd¤úéÓôšzÚ×S7mÍ;<û‡ßÁX¢¢R1Ãk£q~nLV•q­?qt)-¥(*ð'88AªÂíf—m�MÙ§ók¿pà%NeGjrsãÈùêè²j�<—ToâWtàÛ�‡jsöD¤çðU]|\‹¦«½úT{l`¡ hNîùJVÔçžA÷ó@¤¨£®i•ï»E†DïÊÀuß5 ¥¥®¡—Šlvu¯�»Éúd‹4¤ô_¬A›lš�k"eÄek)©Dprjfؤۮ1ß~[qC�JRÐàqçŽ1„ã9¢^Àô�ÛCiÁ¾>‡§J|¼öÕnÀN~Ÿ¦€{n�˜Ý¢È £± a#„ä§r•�<ñS†@ibhÙÏ\õ7Ïê‡Y²Ô^{¾Ù[Áêm[môy ŠõÇ2rd*,túùÏÙ|zúc»»iSu—§[(�-«o%ÕÈÝžNxÏêaµIF |IÎiâ”{·8)W�²™#¬ú+>´Ã%¨HôW¶©@c4$ µ¼½ õ4Y¨D†RãË<Üe¡õäðkC�¶áÿOºÎcÆÎg×ìš-‡ÊN�m%èÏ+)5M)#»à}Ô™mÅpǾŽ:$ =ö7£¬7¹äê Â#7 ·Õ xóçà(ö3z:Îë�9vd¶2–c0ƒ•tê@8ÍRÌG’µ†ÐTTx ÎhïJvi|»”9ryVè§œ¼}r=ˆþœUyª£¤R:ß�롥ɡ£µ[}²#©³µ:6%£…™Ý‘ÏÍCÌÚõN«”Reå[·mQ�4î•ÑU”¨†åHHÏ{'j•ó0>njm‡f¸#ÂCqÙìòxþo›ðVV¯uãa·w÷D¡¥s�·Z±èF�ÚÖ7�Þ*B�9ö$íçG1­Ñã¶”Gk*# '‡ ¤ *4)?âŽG)YÊsæ*Cá¢[NwrIæ³8ž#QV@?R±3"7Ôõ¨ A ì×ѾàØJÀáHR~u£l§I,‹lÙ/°z²úò�›Œƒí©'d÷Š RÇ=Ö[s~“ÔRõ¬4�êÞ¥Uן g.]±Ö€�ãE9ÈÝ‚8ñ¡k“£á&¦C}·ØuJKHJÁÂÀäy£¼¥-n͆˼×0ÀƘD—Ë„o„Ôã§rˆè|?· ªõ#ˆ/@ŽO¬IQ øT%Âû"DÕn$+'<ô¦©$¨¸¡¸ž¤Õúˆ 16ç3ª%„ZI]–CE7§ƒÒ# ºBŠ”œ6„mHq‘�iú(vöôŠþèKkq=Ð’~qRJžÄv[R”´À”œnê>Äø�@wÇšô…–¥#ÀFßeUx÷BÑBß|¦RÙ»Ë-$†÷ '~JA%áÄ«nBG�º mëR¥¾Iû4ø{MÇÜ­©Qàð=Õ.áØ…¿ãwió]8½ò$øñŠàò¤`àŒðG&»$w®£•sž¦“O%J ž|O>Êdè$�”ò ±€3ãKƒêç¦GÓF‰õO'ôSŽ˜®zf™2鲑•=b<éµe^¹8A襒£Ýò€0žp:šl�¼8�¼€Nr9ëOd‘¯dJÿ¤ p|Süy|C•è6¾¶Ÿuyç²ýP-gZæþç]z¯­§ÝG0Ï”{~Ágqœ;>åv©ûXj¯âiȪ¼«Ú�ìg´?à“ùF5z«µOÚÃUKþEUåNÔc=¢ŸÊQ«W†þžnőĿQj±`þ×0¿Ñ&¦„šàòžÑÅBý®¡¢ þMM 5ë%°0}^ŸˆÐü0D{‚?OòõM\¯®03Ô�oJÒr¤8ãÏÊ”}! Xëëc>t˜ÚØ®Òqþ­e–ÍpŒ„c®>HÍh¥'p9Áù…t€8 9Æ|ë”$©@ñI:à‘ß«;ŠŠriUãÕ¸’x¤€•q³§¶»JÉ#sÔùS¤�Œ’F1Çã MO|›fÔ0œƒu¸ÛêT ‘]) É uÀÝ�,ÑÛD†Ö­¼€çó ÝGi•v}b#HWs…••„p¡žHð&¯á®Ù¨i²‹ Ó8vy£ÞÍØ�­¥Ü&¿w¿Íf™É¤ÃKbTÅ Xl¥@ׯI§îvc ï«ÛÒª¼êV­W-6.—›2—2Z[.'Ñš%Úå¬ãRj»Œ5+)6ËC÷(ÍÝX�Dxí2¤Iî”v½»zJŽvùšm9ùZBß0%‹BoD«–ØÍÈD„å\w®¨­µ¬|ÃʯÅ&ǾèÉq&æÚoí#p¶H<‘´{­x¶VVõûJ]/Íh{ZjËJK]®6éòzLf¢”––Ki•¸€7î=SAW{=›Qè}3¨¬MU=ëV¿%Qg<Ë‹vB[qF`!Öƒ‘Éñ¡k~¿˜u,û‹T›œ p¶Æ”›t4”Ç!·I�ßsÍI+S_ïWv&ÜÞ»\b+ÑÚqm±QRâpTÃ-€„«8%D’qŽ*üOb†ck‹glµRÒÐÉ#Ú@¸ïFýœèËN¢ÓÐ/®j;Þ ¾Üžvå,[gÁnLGRàZB�à Z‚’œò)éŒW:IË�Ù5¿´Kž±Ôq±.ᨮmÇî•!Ì÷�¥m£aÚâ’S¹y! ž™È‡«µd;Z-P/ØñPÀŒ[î±·Ñ•�´…ºûª­âpﺕ-@¶›\vÕh†¶ÄcŒ¡I*‰ڟXóÁó§n/GÀ:ç¢gaÕ'V£~ÃtÎ©Ô ›íßXêxL—eAÓhnRd-½ÈS�wŽ©zm(ÉÀ+O P7wì½S¬®úÚd»mÙ¸F3Wí¦L¦€p,ßÉG' '&¢-Zƒ\[Û·&ûVÅnÖÂX‚Üx1[ŽÚ ¥LµÎÊW Š‹\ÄË"l3\ÔR­~—"op Ekl‡ÒàS¹I%_\Vp=Ø®�R5§ÞÌu&ö o˜F=¨iäZû2¶‹�ê÷qÔhšY]î;e©ÓGv½¬wªASŠÈOÏ–AkZA˜ZS[ïw½XÝžÍlmödÊ›Ц¾”‚†;¤ )CpHÚxé� ®5ó[]ãGUÞï~y0ŸfKJ6( RÊÂÛä��DL�¬ujµ%©½÷-×7£¿v ´K²‚R¬$'ë{l§¨5f›¥ª~ÄFç³wáPKO$M»´V_c½–iKz–|&fÞ^e¤8�ŠŠH  “ëÝ«'ËmvÍ#UÝoë…¨#ªß§—êEn  úc„á-:éúÞîŸ$�mFAì¦êd2㺬²Ú\J”Z/•ààntŒøsSý³]Y•n·év �:SIvTÛhPRÜ>@ç>úšgHØÛ-y•fg ßšïõ:ú[º¢òÄͨeÅn ú�mÂBF||ÔQÛò`&ÑoLNóx’B·>G‡ŸZ�kø'³+ÍþÕ©�¶\—î2”åää©(É€ψó¡÷†¢›¡­WÛ¾¤néZ½Fd)•íÉõ·øŽ‚¦­2³ØÂÃ.a–H—±Ø¤'=£äRzoºL§Öê2QJA9ÂU‘ƒÁè?OBöì�,;d÷nKçrv˜ÎHç9ã²¢ílnˆ¬@~T…ü”²£“ó`Ô�þÙp€{뽎Ṍ)Åíìk"Ö»bà/jšX[Rç€rÊâþhŒ§÷ÃñÑK! Jw‡„õ©¡q�ÉÏ##ñÑaCðÕù´èÝW-˜–a¿%ÖTã;D†ÒGÊà�·‘Ï4 zìI¸®-Í-¨äGÉ$G–Îä}#ú*å$÷30Hñ\UQ€ìŽË¹�ì¡¡ëËóq K› Ü£””•6R ñáC¯–}µ'¢õŽ�µj kèD·;•—TÄ¢J $‚W�”qCw ®í§Ø=ýr ¹'ýSÍBÊGX�s¶Ìˆ¢q²\b‘Ÿy®_IA+®[×Ì/Ïmñâð°´›‹ÎluÍ{Ç­ìÚ…†‘VçÇwñgžpHàaÁðëP=«hÇï°ÛŸ SÙAIBˆÃ‰ê¿“ôÕeØ„YÑç-‘% (e]æå6ƒÇ#=N†¯„Ë(X'94>hDn³4\±ÿ¹xÍ6¹v˼ËmÁ•³‚RR´à¤øRÚnàýžzáIɆê¼êÔ~È=z^i[&­Œ:9fRF”Úp´ûî“ì5W«±Ë«“‹k¾[Ä FÇLE­ÒŸ·pÄg&‘M± Ófob%ìfÝ)ÍE.rR£z't·vú¥[’@÷ã4k©;=Ó×Û‹Se”“ñ‰d„‡ðÎ2>j{¦Û·éûcvËkJm„yä•2O^”îTÇŠ7€¬eBø8Ë 4PñÖuÚT�•ÚÝÕ°§ß‹ Aa–ä8]*YÀñÏN)¬­|ìH.·m!Ѓ´¹Ém³ìÇ?Új¾ÖÏ_¡J¹2”ˆ2&-Ààoj\ÜÆG€Í7±X/wÛS6¸ðÝJ�T·ÔѾ9$ q� <Ž2¸5†˜Ãä7F: 2µ»�6ð§$†©,-Y,Lsž8â¸ýR™øCK‚zzWO{5`h½;mÒ¶ÔÆ„¤Ï+å8@äû²«¯Õò×qÓ$+aO?;5ÌÙ€‚¹‰áõM#@ƒBŠ›)Aàxðj=¥ü^7du8§­œ5ƒÕY<Ó&ÆrO$|¨"Ш 0Ÿ#ŸíŠN,t¸ò¸û#]_IôsÏ8©ˆQv:­©û#áZŽ·h?é÷YŽyŸ_²I»Y g�ì®Å¶2O¬r|jT «ÕWJ×òî¬[WÃn•&cÞ¯xÛd†Æ:ç§�ªwÛ´\î@bnѱQ·žÖáiInB²[Z~SD¥r  H'èÅ^»tÖ·(6ûqÒs¸þ3�ÁQ�»0Õ“ÞLvâ…rTë Ÿ dÑ…›±˜,¤.ë=×Èꆀ@ü9?Š‚ 7�vÛ›sÎUÿhkE�@ ×zªsÛŸ»I$žˆÂGàqvWÚó�-Zuŵ‚R3ŒùPþ·Ñ–Û~�uV˜1b¶Â{Õ¼B–òˆà$#žyª™å¾ÞTœ'žN*½nÂ6°ÎNa{Z^»µÇgdÙm$¤d ù>þ(jglVHE]Ô•:‡öþŠòs³.’Ë’_Z8ܲF7¾ò’�ÊÇN(8Á"ýÅYö’½/;·2sè©$x‚»v·}•·k…¹õFqŸ}Aèn̦? îh ¥D%JÉ#®p8úh‰í%ÜÈHùeIÉÍrÊz&;!{)v¥²A‹ÝþõµzCËK®ÆTHϺŒ4ù¹Â—‡œr8¦DúÎàc®r}”ñ ÷cÀÀÇ¿Ši¸ ç$ŒŒ|ß‚™0F½�vƒkI9Qiþ� /úkÐí}m>êóÇcàýPm¼­?ŸüסÚúÚ}Ôs ùG·ìwùóîP÷jŸµ†ªþ&—üŠ«Ê�¨~Æ{Dþ ?”£WªûTý¬5Wñ4¿äU^UíGö3ÚðIü£µxoéæìYKõö« íu ýgòjhQ®ÈIçíZYvNƒ¶ÆaÇžÒqÛmª”«rB@ö’@¡‘m¼§à;ß@ø5ÿùh7a’VÁ°Ò}ÝñàµDPº£ŒpvóntÂf2¼''Õ'èÜœ$�þÚ’‘j½8µ¨X¯\ãÿå¯y ý… ›%ïã°Þ†ä‘ÿ»^>½¬ß±Ô†îâ¶ßKošÞð™ Œ$Sì"¶´zŠQ88øñOh¾ 'nŸ½ ’mÏÿ c–kâ‚�À7²Iñ·=åûÚ^ÅQÐ=Å/o¥ÿ½ãÕFñ¸ †:û)@@FòLãÝÍ8M’þ”£× Á=ÿ-t-à¼þ·ï^ü÷^~æ›Øª?Ã=Å/o¥ÿ½árŒ†WŒek[tÛ„ÄK--(#;ÊqŸìjÈM®õ·Åzùí¯ÿÉPlº©©[ÙÒ7¹a@dˆn#{Óí«T”Õ,’ûê ©WYJö[ŒBÝ3©£Ù£Û·Ú_\¨hl&@(*N9Ác¥+©5k7ynLuµ%hØáD�àòR6«ç¨gmZ½KJ†…¾qÿå×ÿ-gÁZ»*ÿØKáÏÿ—_ü´P6«¡à…aéø¡éþþWxŵ1·å‡8ÿdñô)äTÝ¡ôaõ$ “°ð=¸ÈMM³mÕ�”ŸÖ-ï�Ó¸sþJ‘yÍhÌ@ˆZò•+…‘ó¢¸u,µ ž;·±?´ÃNÂêy,îÕþã'k  ýÐÅMCÔˆ<‚~j‹’ε” • ïkRˆÎXðSiVkë�%žÌïI^ì­jed«ÿ³�ÃCj8)E)É®šx©Ù¦ŒÞÓõ¨Ù�J€‘†ÒiÁÔäÚ}¥@Uz›f«2’;4º,‘†Xqhx¤óÁ>ús­lävuwAsJÿ÷*™àòOçbàð†gknñꉯº‡Òa8×§CJŽÍÛŠ½˜^H°12\©�Yu*ã‹y}ÕÜ!Q*VÔìÏR|è‚dM`¸²“AÝšvB6•« qŽ›8ëK¥Ív„¯CÝ×±G÷+€ÿÃD©x; -Kyì\=sˆñŸ�íÙõ*Ý£#Kq”¢Û©”‡y ¼¤ à“„t î†�n·ÎKHE©·Â™vSŽ®D‡‡î7 RqÎÏ�•;Žæ¸�"#Ìh;Ëe‡’µåÂ�~N ztú*_WKÕ·gLxz:å2{Ñox©ÃîÀòEY“- ÙÇ= qð&Ýë¨ed¤�¶7-NÈòÌýU6ª�pµi–-‘oÒ]´É»yœì8#䓞Sêž:yøR–{tˆ Ê“–V€BÓ� ¼±Ó c§�ÝôΩºEa‹†œ½Êa·Ã�Ï ¼Ù#ƒ”�¥¦�]�\;sv"´•åÆŠœŽç¡9’U·)Æ3�Œdõ«M’ZWµ¬ ökÙk¢'E‰Á+æaa¾aÚk­ìGÕö7¨­vŒÄÜTG$¡)jPN{¼Rx$=žcÚ>¯ÓŸ­y–¸×6.Š�€m”ú¨V~YÊF[X4eÒ]Ȧñl½Áˆ–V­âÚúŠ—ÆÔ€”i玴æf�qÛ$Émz‘‰ìIBXbE±ìÈh‘¸‚�¤€9ùE'Ž”> Z±Om›k¨7î²=‰Ö`’âÛfbnEÈ--ݾ÷·:ÆJGÝÇDöÿðcê“ê«ñŽ:_Sñÿ³w®£ÿ€wþZž‹g¾6ÆÓb½%D�m{æ'ßC㢩 ùnî*ç1JªÚèæa#G¼õ¤›Î0rpsŸž–”¬[ñŒ`yyb–nÕwKE*²^É$ŒüöqþÅu2Ûx\.é»åJÇAmƒó¢ºU7ùnî(#«éÅoxDݘ­HÑPBUöO,º'ï�'ƒBÚÒmÚb$9Ö«ÓRS…Hø*B±—G!t"‹¬÷ seK‘ðÛ™õJ¬²Ôó5Ö· ˜ÓÒ4ì’ë †··‡]Ö2BÉg}œ-s�Ç?ŠrÜwÃ]ì—C)#Õ ùGæ¨õªä¹ KÖÔe'jÒ”‚¥ò2Gª8ðçÚ*oá 6TTçÃo¯÷NY&àý R_ Yä&%Ø6G69`‚ð\çù¨|o©2 '¹¿íÍ»ÝÚmØ–ÉnËÑÖuþßDÆ“ÑQ.&è…¾ýØ%I,‡6 Ê+Ì¼çæ©¡8QÔ�ÇŽ 7]ÖŽP/K)9 E’XR~rÝu?QÀK[˜‡u}6‹<¤ƒô·Wá$:Ö9÷(몚ö�~öç ®ž\xçc�§v3�I‹•¨ýx—rxIo9Ǿƒ®—Kœ¹Û²^N|-O“øQY ÷ûÅzUºðPGÞ‰?ÌÝñlÝÎñYã_.Õšßc[® YÛ;m �“ý-RÜk/63�WÂ�à_"FROÁ·³Æm�ÿÛ©Æueµ¦FØ—�àø_õT>hÀ>èW"�Ä{ÅLÉ–Bˆ`lÞµ"ò•' m)òÎq㊈¸ê”IAOÁ÷p“Õ)³Êþ® eÞ”ñKÚ¹ÈQµÈþ®¥†‹ÍE-Slj—zp:Ý£Ž™ALJŽiÊuSÙKxÆwyUÅõ¬¨Úo‰ÀÚ¤öW(¸KAâÛz tþôÈþ®¬šx¤*â®`w«ZÇq-êS�¡ÏŒ!YzS¥Ë)ÊCiëךÒú†4[jš—ôÓ�á | (ñÇ“uª¤[îÓäHr¢|"+a„·l}½ËJœQS <ú£Àõâ³u0¸Ô8 /ªÑRÌà KȽ¹Õ–fœ�ŠN}çš©{wqÇ.p)>2:{Ú©«C–{M˽ˆÅýh,­µ“f’p[( AÏË9ù>ÞGûXïó,ÎÚ-© Š^ï½r·ww�”�û“Ò¨UÃ&ÁhýYá´—ô.ž¥A 8iªÄ+$ŸŠ�6ÛÂOÆXï@?ÿ%56Û¸'6;Éòþö¿�ø(/±ÔtqG½º›|�ï ø°`º‘ŽZ-IJ\V<ÍÞì÷·¢8ÌkíDŒïsÃñ¦ˆËýlÙï]ü.Gü•©àôO…²m‚/mrçY¼v¢\Âǃ®„e¤¼ €JJÕä)Ê[$eå�ܦš”\0Ý–ò²Øÿü•¢._þzûØÿü”eÏ((s9Óò¶Ð0„„ŠEJÝž@t‚Q<ü«Eëï\�ù+‡¸:v›Méþ+‘Ïÿeq´y—@³œ&ÓËn6¶ÂêT0 ¡�sáÍXtHÔw\~+~Š…�Cc W°tãôQû0Â’í²ô”øÿz¤óïøº!�*,(©a‹má y#?þ΄âUrÄÛGyê«tÑÆówH;B¨u7e’’Zµ@+‡´wŒçõ9¬ÑÝ“)WíٔnjÉÉ .!й¾c›måGËà‰_ÕÓ ×7jÑzûÓ#þJʃ‰ÌlèÜ?ñ(É}Oê渄4ˆÌ! %! À•Ô'·°·H_U*¡’üЗ6kÙwì¶HãÛò*&ð»ûí†Ø±^ÔŸïsÃÿÝ®†Q#„A„ æÅDk!h./í zMø-eyà3H[®*rOx¥dšT-B¢°^ÀÏ'à÷¿å©kk6@.Yo@ÿ>ýÊØÄ×C��6C¤cÜ\çô}l–RàQ?MÛ®­¡§*!+INááš­Ø™)Ýj½}ê‘ÿ%>nìòËØÿéRä ˜¤5–°Ÿ¡Z &¢—Þl�[y[µU¦Ùkj=Ýɱ\ŽÒZIe¢ãNmÊpxÈ0|ê³××ÖµûÓXaÆšm”²‚çËpNåyuéäLÃnÓ2ܹ"ö%w‹qM½jœS�êÚ‘µ²:ùc45© 6Ýò@²Û¯�ÀPl¶¥Z¥'bw )á[ª­EYˆ{·ìêÎU‡GTNÝ­|ÉBÈ8ºKÚäT¤eecj¶‘€9eð]×á7ž6+ÑBˆÚE¹þ›@'ÕoêÑÙçîuOÞÖ?9­Ùû=òÕ?{Xüæ²²—·Ôt¼\™KÑñ>«“Û/g§í§ïcœ×'¶NÏíOÞÆ?9¬¬§öúŽ—€ôMÉ”½êµõcìóþÔýìcóšÏ«gŸö§ïcœÖVSû}GKÀz&äÊ^�‰õZú±v{ÿj~ö1ùÍkêÃÙïž©ûØÇç5•”½¾£¥à=äº^�‰õZ=°v{çª~ö1ùÍhö¿Ùïž©ûØÇç5•”¹B£¥à=äº^�‰õZ=¯öyçª~ö1ùÍgÕ³ÏÝjŸ½Œ~sYYK”*:^Ñ.K¥èøŸU¯ª÷g¿ºÕ?{üæ³ê½ÙïîµOÞÆ?9¬¬¥Ê/è›’éz'Õkê»ÙïîµOÞÆ?9­}W;=ýÖ©ûÖÇç5•”ü¡QÒð‰r]/CÄú­}W;<ýÖ©ûÖÇç5‡µÎÏ?wª~õ±ùÍee.P¨éxD¹.—¡â}V¾«}ž~ïTýëcóš×Õk³ßÝꟽl~sYYK”jz^Ñ.K¥èxŸUŸU®Ïwª>õ±ùÍhö³ÙïîõOÞ¶?9¬¬§åž—€ôK’éz'Õhö³ÙïùMS÷­�Îk_UŽÏ?ÊjŸ½l~sYYK”jz^Ñ.K¥èxŸU‡µŽÏ?ÊjŸ½l~sZú¬v{þSTýëcóšÊÊ\£SÒð‰r]/CÄú¬=«ö{þSTýëcóš×Õ_³ßòš§ï[œÖVRåž—€ôK’é:'ÕgÕ[³ßòº§ï[œÖ�jÝžÿ•Õ?zØüæ²²Ÿ”jz^Ñ.K¤èxŸU¯ª·gŸåuOÞ¦?9­Õ;<ÿ+ª~õ1ùÍee.Q©éxD¹.“¡â}V}U;<ÿ+ª~õ1ùÍkê§Ùïù]S÷©�Îk+)r�OKÀz%ÉT�êµõSì÷ü¶©ûÔÇç5ŸU.ÏËjŸ½L~sYYK”jz^Ñ.K¤èxŸU£Ú—g¿åµOÞ¦?9­}T»<ÿ-ª~õ1ùÍee.R©éxD¹.“¡â}V}T{<ÿ-ª~õ1ùÍkê£Ùïù}S÷©�Îk+)r•OKÀz%Ét�ê°ö¡Ùïù}S÷©�ÎkhíG³Ðy{TŸþ”Çç5•”ǨéxDã ¥èøŸTþ?jýœ%<þºUÿÓüæ•ú¯öx��uHÿéŒ~sYYPÙÉø¼˜aôà|>'Õaí{³Ç>YÕ'ÿ¦1ùÍ##µ^ÍÖ8ýt§ÿ¦1ùÍee8®œ�à8u1·Äú¨ç;Nìðœ÷ú¤ô¦?9®>©½žÿœjŸ½,~sYYSŒJ§¥à=' ¥èxŸU¯ªgg¿ç§ïKœÖÒû=ÿ8Õ?zXüæ²²Ÿ”êº^Ñ7%Òô«_TnÏ?εOÞ†?:­}Q»=ÿ:Õ?züê²²Ÿ”êº^Ñ.K¥èxŸUŸT^ÏεGÞ†?:¬ú¢ö{þuª>ô1ùÕee7)Õt¼¢\—KÐñ>«_T^ÏÎõGÞ†?:¬ú¢v{þwª~ô1ùÕee?)Õt¼¢~K¥èøŸU£Ú'g¿çz§ïC�V¾¨�ž�ꟽ ~uYYK•*º^Ñ.K¥èøŸU‡´>Ï?ÎõOÞ†?:­}Pû<ÿ;Õ?züê²²—*Ut¼¢\™KÑñ>«>¨]žžjŸ½ ~uZú ö{þyª~ô1ùÕee.TªéxD¹.—£â}V}P{=ÿ<Õ?züêµõ@ì÷üóTýècóªÊÊ\©UÓð‰r]/GÄú¬ú v{þyª~ô1ùÕAjmURB6‹¸©/I‘üûŸœhd>ççãËYÐóö]yŸsËÝFý&>¸£é1õÅIúCÿÏ9ùƽþyÏÎ4å¬èyû' “îy{¨¿¤Ç×}&>¸©_Hùç?8×¢CÿÏ9ùÆœµ�?dä}Ï/uô˜úâ�¤Ç×-éÿ<ççôHùç?8Ó–³¡ç윂_¹åî¢>“\Qô˜úâ¦=!ÿçœüã@�ÿóËüãNZ·Ÿ²r >ç—º‡úL}qGÒc늙ïÞþuœk.ýïç—ùÆœµ�?dä}Ï/u ô˜úâ�¤Ç×9ß½üêÿ:½½üêÿ:œµ�?dä}Ï/uô˜úâ�¤Ç×>{ùÕþuz{ùÕüéËYÐóöNA'Üò÷KÿI�®(úL}qL!çœ_νï�þq:rÖt<ý“�K÷<½ÒïÒcëŠ>“\Szïó‹ùÖAל_Μµ�?dä}Ï/tµô˜úâ�¤Ç×ÌsùÅ|ëÞõÏ®¯�9k:~ÉÈ%ûž^écé1õÅI�®)¤:çóŠùס×>º¾tå¬èyû' —îy{¥_¤Ç×}&>¸¦Àâþº¾uèq]_:rÖt<ý“�É÷<½Ò—ÒcëŠ>“\Sxq]_:ô8¿¬~tå¬èyû'!“îy{¤ÿ¤Ç×}&>¸§ µ}có¯BÕõ�9k:~ÉÈdûž^é3é1õÅI�®)Ð-_XÖ[Ï™§-gCÏÙ9 ŸsËÝ$ý&>¸£é1õÅ;…3^…3Yå¬èyû'!“îy{¤¤Ç×}&>¸¦kö¤°iöÛrý}¶ZPéÃj›- Ÿ!¼ŒÖ‹¶±Òv†"¿vÕK{SWrg´Ò_HÆJ ”‡#‘æ+µ�?dä2ýÏ/uô˜úâ�¤Ç×ÇoÕº^âÔg­ú’Ï-¹oñ–ÄæÖt Å´¯Y@r@çÝ"ílŽ©I‘qˆÊ¢4’òRYlç ^Oª“µ\ž8>U“ZÁ›<ý�PÈ÷<½ÒwÒcëŠ>“\S}žói¼À =ÎÆ$ _K­’:�É$q[-·78-ζÍ�6+ –ߎê\mx88RI�GÙNX·Ÿ²r>ç—ºLúL}qGÒcëŠb™«4Ä;Â,Òõ%ž=ÍdCvsi}Dô ·ü*T>‚ꚤ¸”…îäœyp~Tå¬ÏSÏÙ9 ¿sËÝ$}&>¸£é1õÅ<Ÿ3^3NZ·Ÿ²r>ç—ºHúL}qGÒcëŠu+WÖ5áZ¾±¬rÖt<ý“�É÷<½Ò_ÒcëŠ>“\S™Z¾±¬JÕõ�Μµ�?dä2}Ï/t�ô˜úâ�¤Ç×à\_Ö?:ĸ¿®¯�9k:~ÉÈdûž^éGé1õÅI�®)´¸¿®¯�b\_×WΜµ�?dä2}Ï/t©ô˜úâ�¤Ç×Ô]së«ç^\þq_:rÖt<ý“�K÷<½Ò·ÒcëŠ>“\S9uÏçó¯ ®8¯�9k:~ÉÈ%ûž^égé1õÅI�®)�¼ïó‹ù×…çœ_Μµ�?dä}Ï/t¹ô˜úâ�¤Ç×Åß;üâþuç|ïó«ùÓ–³¡ç윂_¹åî—¾“\Qô˜úâ§û÷¿�_çW…÷¿�_çS–³¡ç윂O¹åî ~“\Qô˜úâ§Kï:¿Î¯ ï:¿Î§-gCÏÙ9ŸsËÝAý&>¸£é1õÅM÷ï:¿Î5�~÷óËüãNZ·Ÿ²r >ç—º†úL}qGÒc늖\§÷¡ uek8HÝ�´û«¥Hx#)¸n_Õ €~Üÿe9k:~ÉÈ$ûž^êé1õÅI�®*Q¹o8 ¸%*\‚:Šõ2$-ô²‡—¸Œ’Tp‘æiËYÐóöNA'Üò÷Q_I�®(úL}qS¯%ô¶TÌòòÓÕ§?“Írµ-×Kˆ}• �XÓ–³¡ç윂O¹åî£>“\Qô˜ú⥠‡ÿžsó�xd¾%÷}cNZ·Ÿ²r >ç—ºŒúL}qGÒc늓‡)2×vC2×|˜û÷;Ý“€²œ‚õšÒÕÄ<¸·$KaÍÝÓì;¹ Úp¡�O ðGüiËYÐóöNA'Üò÷Z#\B•íf¦¡¿¸u¨[²»Æ›yyS¡À�³×iƒçÐWm°’�]‰l‘‡�eÉšñJcqºÓvèkžÞÄ›[¿¬k¢íÐ×-»ñ4|Oë5Ϋû·Ð­é¹Ñìõ &å'_Ê� 2ò  ´Ú­éÈ ô•`g�Œõàá'e�]¢®<ä dB”U@ïó„¯(BÐî�w�[§ž¨ª�›5õíŠµÕÆë kÜÖ4f·YYƒFk÷4E�5îk ÷4E˜5îk ÷4E˜5è5¯5îh‹`5è5¯5è4E´ôÔ dD[¬�­[«Ðª"Ú z j ¯wQàkЪպ½ ¢-ÁUèUi ¯B¨‹xUzZ« º"Þ^…V€ª÷}o ¬‚«œ.½ßYX]UèUsï¯Bè–]Uîúçß^ï¢YWN]¬škµ­ApÖ2bÛÓ:$dZgN! –R•YCŠõB·’¢ŒåAI88árí{³[5®•¸iû­“F[]¶];—¯PŠst† (l¼ÉÎV“žG;yâéÑDW¡Ò:(ŠÀÀƒÃßö‡ª“U&»‘£á¯TYïk3¦r²–Ø}–¶Ô‘Þ»µh;ÊÎ|€8¥kÝÎíy¹jsO L¶=cfú¤³Þ6Ú�ù[ÉISd:3�yèE}\'©'í£¼ÚT‹t{¢Tö§ší–3†LhJZƒép䔼ñ9[ꔞNì,��¹öCMHeL¾Ú\mc J†A �+dK�^ŽâÐ’iO(¶1ÓÕ'EÕ§ä*c/ÍÁîßw-dc) Ýð8ÏÛ\·©®C¸-¾øÇô¶B{fà•§w$dúÙŒíÅM$¤% % `áZ'Ä‹:2£Ke4®©PÈ¢$›-²Ù§æ›¤+¥Á·ƒô“’ïÁ^¸p… ¸F0‡ "Ý]¹/:…!O-n„«ªB”Hì5ÅLÚ}/w.:¤ <ê–”p'¦zQ¹®k¢vÝ%¦¿¶”ñÅoÍyDUÖ¸·»­‘(œÕ¦; p™ÍˆqI)1ÀII œýó'Ö <áIŸÓò¤)ËK± Ä~Bžb³”¥ àa' €F@ÔŒý?l™!RÓ�<¯il¸¦Ê¾;O5×l·C¶°Y†ÂZI9V:¨ù“âh‹Û™ûÃcþÔ~£R¿`TuÏðm¤¨Ô�¯Øi7 ¢^t{–«·C\–ïÅñ?¬×]Û¡®KâˆøŸÖk_ؾ…f›�ÏP¡.ú©pµ¬0´õÞï-¸�ËpÄTt¡ZÖ„ä¼ê2rÚºá^»«bÇ[mM·ÍŠúߊ™SŒ-m®BŠPâ°ž‡ù;°qsÒfíÚL«´ß¤™�ôÚAé+Õ¶}Š5×é—•o­/©èB*ÊÒ´’�„wêß¿q #’T@Í¡š"÷4«¦uœ�AèZ?P"ß8%mËuÈa þYH�WŒs€’}ÔÓšª»3²Ï±ZlPçé-f‰±[m§�ô.UЫ¹ôÍ¥®ÐßN‰ð¢+Z§L¥n!ZŽÐÒJÜIšÞP�v’yà@øñ]±îÖÉ%‹Œ7B˜S±ô«,žŽ cü§´µÆ"ôš¤[[A·ÜîRd�è%´¼_Ø®$ïGL‘žqŠá±iýIe pY’§­R ìnC@2³)Ç+%CÔ)Xå;ˆÇJ"zgUÙ&z9–cÁ�C“u Ž¦Þ (RW»z½xŒf‰ÃM0å¡*½ÀZo)ˆ+nB‡””’p pFFÞ?”¤Ž¤UyLê»|Ýݧr“ÌÓ» gAŽÓ�ÂÈu]Øq+(奮 #&·éë§�wƒ2]¢d„±©$NZ‹ñ»Å2üE7¼„”§)Z½pñ)ßÔ‘?·ª¬)·Ã›6ëÜ™™î*c)+ à„�²•²OZé—¨,PærïVØòT´ 2ì¤%eJÆÑ´œää`xäUkaÓzŠÉîÿNªæ©Ö1nîS!‘èËKÒBÊ–v°ò )Ü}N‡ŠØîн³¤µeµ1“.l»<(q^ï —�°œ“êúù>¶:戭œ×¹­y¯w "^¹jöâܧÁ‡c¼Ý•n ôÕÂCE,• ,' q*Z¶�¬ (ò�µåq× Éø,$Ô‚5]…=&mÒ ½%ÇЙŒ§!—KKP!d`+9€PJ²EÆÉjmÑlÙdËJuD[»*möG¤2i Jw-8ZJHVÐxÁ5Ñ£´ÍÖ¦µMŸ)f*o¥K.![&à‡YÀŸY £ÇN‡âˆ�æjM? Ñý2ûk�é-÷¬w²ÐŽõÎääúÉÇ9VjÔ6$\™¶*÷mLçÒÔc)×)ÎH#¦R-w-9¡õ¾çkbKÏéÙq>–Æ`†Ä�÷Ä•îÙ•’€¬¨Á¦ÔÙ¯ÌÝc½j´ÍdÈ~ ÒÔëÑ�€ú[CIS‹BþüÛ©B0žìcrI98"µB«ÐªÑº½ÝDQ�µ=¶D ÄÇ ±[³>ó3Càßv�²® õJ V’‡¥kµêëT»k· jú%†YaçL÷Ùl´@ZBÀYØy…cž™Ò®´Ók†«î­ì¥VKònú¢âGv#¯põIÊ»ÔÉÆp~5ë´® —ª¥Þ ·) µu‡1±ÈýëÈDWVÀð-îJ– §EdǾY¤4—cÝ :ÚØT„© ZIœd º Ûén”¦|WÕ!�I`6òT]k�¾'”zÉõ‡�:©æè»Úíq݃y“q�*=É3¤Fï[…, >¿¼„¶ZB¶#qʉÉ4ÉÙÅ‚çj¼]¤\㥖XÿÙö¬-*ÌDºëˆPú¼:„p~ô8Æ(ŠÀÝ\:‚íÉ`¸Þ¥¡ÕÇ�ÙN¥  ÊAQ �œ2EoÝP} Â—uÐZ†×®ú\Ë\–opN÷Ò’‘“€2HäœQmÇQC€›1y¹ ú^R"ÇÚ�v­M­ÀU“ÀÃg¦yÅfu-Œ»6;XReÁmnHŠÄ„-æÂG9@9\â‘åhw#KÒ2íë¼IrÉ·f"Uá÷Ûi±Ô©A¸S�¥$z£<œqš…Ó:.ÿ5ºÝpMéåÚ—Ý<§à¦#‹q·”ìG~­ýæâ)Á䕌‘Y05žš•˼ÀˆìæZu˜Òe6‡¾ú”© )Ýí¤ð3׌Ôþú àY¯n[5f”bÀdO™d¶Û\|<ÐLGD0‚§ P%($¨n9Ž„Þm’–Ò’¢¢Ÿ"êßFúçÝFê"éßï£}so¯wQFú7×>ê7QFú7×>ê7QFú7ûëŸuy¾ˆº7Ѿ¹÷Qºˆ·ï¯7Ö�Ôn¢-åUáUhÝFê"ÜU^V�Ôn¢-»«ÂªÕº¼ÝD[·W›«Nê ¨‹iUcºµî¯ ¨‹aUxUZ÷W™¢-›«Âk ûë͈³&¼Ícšó#Έ²&ŒÖ¨Íešó5ŽE¢,²kÌÖ$�:óue“^f¼Íyš"Ë5åyš3D^Ñ^fŒÑ´W™£4EÍrüéê5%köFÜßúAú�IZý�V�ópª%çG¹j»t5UêNÔ§oR,ÂÄ%z9OßL½›·$+¦Ãõ±Ö­K·C_3v©ü~¹üZý’+_ؾ…mKÎ�g¨S·®Ð´åîReÞ»5³\¤!´»-m¼°€I L“Œ’qï5Ýkínª p-z*$�g»b4°ÛhÉ$á)h’Iø“UmV­•¹÷k_ýXOþaÿ.�»ZÿêÂóùuQÑDVçÝ­õa?ù‡üºYÿ ´/ÿâ1þéŸÿáI4Q·÷k_ýXOþaÿ.º´÷l »ê8va§PÁ’V;ÕO$'j®�ßù¸ûjš=*S³`i¶\‚FçŽ þÏÍi#‹XH[0à ú6%íÙp„�ƒ;”—€ûÏè¬þ“š¥€Ü(‹Iéþ6ROؤ �ˆ„¯.¬œW ]NF@8=3[Ûr:¢­Îós+Õ_x¶Áã€r1öøUW,—аäÑðKÚç´yºQæ•§ãÎîVÏNƲ#ž~T¿·-çïÚd6<Äò¯þ�Hé›E·Yë;óצ[vdÍ$”‚*ÈÇQõ©µ­kÓ.F“h’ó�LZû¨î¸!8ʲ@ñb»/Z®TÅ̞З%¢éq¸Š�S»!žU *ꤑ±¼·}�S*á†Àc±#‰]Z—Té—9S§ökbº¾·‹~•%¶–ãéGªT¦‰ÆÉègmíj-¢ 0-z*mä4Äy�¤ ’IÂRÎI'âi[R\¼Kj"!¤¤,CIIîB•’œ¤s‚i`¸¤<žõ àû$sS"Ò1;ÍÊ$”…™«ÎÍÚ´IglëS�•á‡K‰?$ú)ž&¤TéibÝ$¤¨þ2ð”¯WÕþÚù®[É—Ažñ;O_WÃ>êá±j+}²â–Õx1$çï®¶æŒgyâ¦íbx¸6ü(Æ2:×ÐúŽíkvsRnÚjÑ0ÅWø¼É'¼ œðR®éJHÈ�úªYöÎ�4à :é2ëEÍÐå+bNO­¤œ{À¥Û=ñ«íµ)6¦'íqiïGò@Ç\ø×%ÆÊožWÓªÖ�…†šlíç9Î:çÝ][ ‘£TãºÄcâµ�„—Œx<—´&AbcVvû·ÛK‰ÿ=ÈþG¾·5®¤-ä7ô2QÆ},þå'[£30ØÈi–Ãhð»"%µç¼Uœ”±¶"â1­TÇT÷Lù]HÌ·i)rž—/³­3"Cî)Ç]v3J[‹QÉR‰k$’I$×·~ÑZÓLÆ€Æ�ކPÒPÃ,ÉØ”$z©JRÀ `t®ÐªÓ_¶—õ„du)RÇÉ_þõx t•KFò éº?CQO&«Ù…ŽóûVl~ÐÔ£‡ì«ož¨‘¿ÿÝ“áöò©,¥Á¥r3�¤sÿÒ®I2™†Çzó©lãöUCeüMV:*®Z�}¡½­ê©ôî�‚“fbmµ¯Çu¸ö«Ëîà¿ú¬?óùuÏpí­©ž‹/G3&;Í©·YvpRB† T X ‚AªjÓ+ðF­î¼úê¼vÛÙõºæì#ØNšp¶G­–réèþúeÿø²Päö~­§;T.þª€8È=Ï"¾eÖ©á¥îÜßdsð¬-Ñd)D¶€°�rq�F=õeONÇ€\7¹}6Ïð¦ŒÌ§Ÿo³¦›}ý¥çtNç0=]Ä3Îô¦ XÌ[aÌ™¤lÍRƒjx^v�I@ÇZù)ˆÏ©^«KëåNŒÛ¥j ¢Ò¤Ã}ÍèqÔ¶HVÌuëÈ5½u+c€¾1Š™£˜Ég ›/»ü$ÔÓÐ’æ…�[š aH¸¥d€pr�ÞG5-¬{zV›v9L®ã1¤<"ªã±M!]7ìàðxéTßMË‹g·—Z…fy§T¥Ü·]WbN8ðà{Íer·ÀÔ ˆí¦é!b€3òQ+D=œL~šXÛPæ—j¯C5Œl�€ã~7ÃÅ}«{h¼éËS·ôd9MGRS%1ï$©œœd‚ÀÈÏV­EÛÚ-}Ÿ[u‹:dJ�=ÐÒ3öŸ[9=ÙèRETú•ýQ¨,ŽYç»e¶Ç‘³Ò¤4áqÇ‚H# óËãZõM©›çgvíe}¦D Z)[wŒ/qèy%YÅJm<¯kœÖ›¼oUÓCFǵ„¶äî&ÖÇ�rºukzŽÉ¤™Õ4<7­î4Óªîoyq pœ¤°9äZæ“Û©sD±«lÚXÜa)E·éýÛ‘Ö<;³ócΫ-@Ö¸½éˆºná6ÅL¡½èqJR‚Ny5ªÈ#iË8Ó�ÝqÈî6â_�â8ZÖ�¹Ûä{«Xá•ä‹-½JäT€`ìwk~ÕŠÏð�²9bfëô2½a‡ýv×õP2|~£‹Q #i‰XÑ.-©#(K·éÁñOtq×Ω ^”—c¼Iº\™…-–ã)ÈÁ.%AnŽŠÙ×ëG…*êÉ÷+ÝÅÉ/¶ùÜâÖ‡<¨ÿpùVô0¾Y“-áEÒPÒÂËDÜxÞêûWð´gü?ù¿üšçsø^¥ÿoÔÿqÿ&¾i­–©1œ¶¾µ%M¼B²€3�NsãåK—k;Ò¤% U¬Ôq4`±_`ißá6nð•$h‚Æ·iºîð?‚÷Ôý¿·iwwz=`7 ÊPÏ— ñ_*öhöŸéÕú…X6©2†V–£!†¸[ªl“Ÿ³Ç‘óáê«fŽ¥ìk°€_\Ñ? èÚ�ïŽïp7wí]7NÜäÀq)sG’ RJ¾� FJsÝsŠãkøB)Ç’ßø"ìóô—üª¨îŽHvßé!¨êŽã˜ KE%*ÇN~¨ˆ§3[øì­©«f’¡¬'ÙÁpÓß èê=%DQÙí¶7'ü€8Ö¾‚¹,�â°ÿÌ?åÐ{q_ýVù‡üº§Ò²=*îëæ íÓ±®÷ª!XÿÁÄÇ2ŠÇzgnÛµ _NìgÙÇ_í¸v°Ä+ýÎÌõ© ‘ ÆÒ�e༕w³Žµó«¨yˬTG–¨Ž•�—’²’“´øŽG—ÛRŽÁ¨ÞawkƒÒ˜R�»©H*Ù¿ù\ïf*ïFÑE,.–A{-{nÆ}}_�Ø«îÃÚeÂýd›t´i„ÊRÒgêJ@;ÇÞùëÒ™t>ªFªBxíÇ{þ‘µºNÏ·o?¢¾xìZ/KKSœ:ÚÔ´ý”ùwíJ4;Ç¥Ú-ÌÄ[–”¼Î:f¼uE~¥A�§xnWCUJÖ˰¶?ÍÉ÷´ýaqÑV×® ±3se…âQ4¡a9Æà;³Ÿ�.Z»b‰7IÌÔn[�*’‚“;%JP8Hûß^1޵g×0õÝíÈw­µ‚Ò™yJ’O>Yû<*ÓÒº+M[áª%ÇOX^ai lˆ¨W#�ðpzÕ»àsØ ^Gp˽E»#¸s/ÞUE øGÑ$ÇsK®2ó„w³ðÿìø4ïdí!û¦—¹ßš±6†à8i%Y)ç=ßÕnÖý”viya}Þ�fþÄZš#àÛú)KMZ¢Ù´¦ºÓ��[ÍGŒËè+9Q$ý¨5ÚX5Zç0Ü[ Úà÷,Fèߪ×6Æû‰ÉKÜ{\T;­†ÓéY»Èî¿NÇuÊFqÝóí{©ñ‹¤‡qþ(ÐÏý¹ýÚù£Q;›þ‡{>ÅÈY¿î¯  ¼8æ¼…V‘ª‰Œ!ÙßpÜU×ôø ÞÐÜ­¼ð\÷­lí·_iý&mMºåá¬>%IW³³ÖΈ¦èé–òÞ¦BAZ•ޟݪoP;ßÿ &3ŸE¶>áûRè«bEÍ»~�¿ÜÝ^Ä4†ï/Wþ5.’¶y%�®8Üå×ì KHЪ7ÙT÷Û.öéŠ�;@ºÂBˆCЏå+`÷X?:˜‘Ú^¡Ç¡èUÍ/ „µp9ß÷¬´Ñd¶Ûµ]…ËZ%6S$§c© í îÏè§;î ÒšNÖÕ¹2[SÉJZKLŽñÕxe@só¨GâGj›3æ[×�ršíÆÚ´—×p?J?Fj‹�í˳7K6wm�6ë‰Tàîä¬(Œa O5^Y;zrí7ÑØÒ(¥ úG%GÃŽëÆ“µçiÙ¬®ÂØÚdz\OD*$�ƒð÷ŸÑZ;'jÇeŒÝþæë ·ê¶Ú’€¼ÿ$• Õ£ë¥01Ö³ˆ$cà¥è�O4¯2�f¶ø\÷cÖ¾†Ô—»�—MÆ»»gK®?�èé}Y )*ÆàƒäGAáZåÞï,0®2,M¡é.¡³L$·»¡'göW›´‹ýíÎæëjTwðÓ [{”¬z aDµÛ¦u5»UXħÁaÆd©µ�9ê ¬IW'ø»wRÐhÖÆÛ¾�‰¹ÄnºÕw·EIe. *‘œ}#Ÿþ•t}Ú×ÿVÿ˜˪JËøš>¤jÝy…n}Ú×ÿVÿ˜Ë£îÖ¿ú°ŸüÃþ]TtQ¹÷k_ýXOþaÿ.�»ZÿêÂóùuQÑDVçÝ­õa?ù‡üº>íkÿ« ÿÌ?åÕGE}Ùκÿ äL`ÚŒFBU‘#¼ ‘õSŽ”çTÇðvÿ)ÝÿзýcSs®½¢Éšî­¶Àu«KI°»lË‹!ÇÆyBÁ¶ß@™DVÃØoý ýF¤í~À¨wž!Æ}(q t¥a. ¡iÊs‚“È>`ô©‹_°*Ön;ÕDÜè÷-Wn†¾fíSøýsøµû$WÓ7n†¾fíSøýsøµû$V*¹¸íô+4¼èöz„±EUZ¶EQDEQDAéR]�gî“gÚT_ÁNìþÏ«ÍFž•!Ùð'´{8 ÜJžÁ?ô+ò®SÿmÝ…t‹ëohWë+y†҄8„$K‰Pç ÿ÷¢ýtEšÃ.k•% ¡ l%DqÇ)êEb®ù))eÄ,„¥´8•ùªPÖÎ9ÜZô»¯)¤Î’’êÜõp„œ’yÁç�* a»²…o ùpRÝ�Ær�€ŽífDµou[¹VóÆ~Ì|ªºíšEÃPv‹ôE–#Ò“°Ãa ‘ê‚¥‘áÁ*ùUœ›íªÍ2BdHaã1q�µ„“„üð÷U/¥îNÞu[‘¤^W‰,©E^²²äƒ×žG£P͵/ŸùŠéPËF2PZ÷TÜ4„6 iÔÈ[Êi[£¼îÆ@IÇ�÷ç5©ZáÛm¬³{‹]ÅyrCH¢T¬‘¸ãŽSî­W»í’&·ž«¤Øþ†æäïl÷É Â8ÉÎF>5–•n×v¶ÊŸ*S–{$Ç–¾á×Éô•¤qàv’r2*Î94eÁ¸œú×Ý·v©'U¹$ šõq¯ˆš›[”•6ôTÛˆ>c9IÇ–YÒ§Þ$¡‰S‰yÇXBñ!°´ŒŒíÁ|ê¥×c[5&ÛÒÒÙi且¼’@9C¡ð¾‹Ó¶Ëf±Òѵb¤ËlJB€i+B»­¤�¤„€:W*÷±Ôíx’¹ÄǶRÓ’ÐĦ¬Ú1SmBžyÄ#EIçœ3ó¥x0ô¤és®¢Ç~ç)µ¹Ã^ ð {¢•$' ã’|)¯ZÏ� VËsW1mXg½JœJ»²(Œø§ÈÔíÓ¥;ø;|¡ÞzÏERHéÎBqÇÙUô2NÈnq¿Xò*e@‹imP–ôN•Uªí>Dný®î8=ÑÃf„·¤ZIŒ\ÆàÓØBÏ>#¤×’£œžj2Ëøš>­4þçwª¬øÝº­§þïö©Ó+ðF·V™_‚5è—�U_¢³;´“õme×[C¹#�BzSÝ›T!K‘h‹n�hm‡KJq1Ë«V=äj±ÔΪ6¯•)·T‡RTŒ 䀟•MG×oÇsÒ"[â51\ªJZ‰óøûêL�É3ØÝee¢ë ¤qtÌÖá€õÉ;\õ“q®³íÖ» ›:<¶rµtÉ)PõzùWuÒT3:ß"¹‹•Öá ¹KeG d-^È$œñáÅ&1ªìÒ¯I¼ÞmoI¸½ð/a`7'ð5Ò½A§ÅÒMÕML•*AÈ%Þè2>ªvcŒ`à�KZ5€7ÖÃ5f+´sõ Õ7°weŠy²\bvŠˆð.)f2”àK! îœñAéÁýx®k¯˜íÆeªÕ§­hL©|P 8ä”õ¥�5+LAôŒ[£ðb8âS"2ÁR’¡Œ¨/=kL”i{Eòë"ðùœÔÅ/»e²¤­½Ç!E^8íÍAlf=Lm| �%NŒl‚¢Âäb-Ã"0ÌïV^ƒÔÇTý(§,±Z‘¢$…:Nœ€QåQšsSÛ¯Í\¥Þ#±o›i%F:pžôtÙáÎì}„ùRÞˆ¾DÓ�>¾D“oRTP�ªKÄx `óï¨{ß j ƒ÷ˆX–礷¶conõ•â¤í¨ÇÛŸ:ï ©�·mî0\§u¤m,XlpÂÇ…ÿ™«Ñ®.s4MâúåºY·ºËQ�(ueÔ¥xÆ6“ólí"érŠ_1,L'vݯ¾€~[iYZŠÖõ½Ý.ÓýŸ0iÃâ´¨+z‡½C'ãî®�6ˆö[9m+$–ЭÅÕÃSŠÉðÉ V•Tõ Õ¹6M¤)${ÜàÐ.w«z§�eª%i«dYr¬6© œÚC.ÁXy‚:�¥�H ž˜ñ¨Ë}öUýÄLJ/Iµ-e%°¥„¸yä'rpO¸ã5 uÕÖ¹2}!‰~‚µ%>’ÛqP¶^p ÒÙ>¦qÐRíâý§Öórœis¤2rØ ¡–Áó!<Ÿ�CVçëmÚ»?IhöDr¿ Të«5�ÂÁr�oU¾×)È‹-•¦>Ðá cŠ^×·{dÍ6Ã×h–¶¦JŠi1šR\FᔂzyxRÜíl»†áw…âO¬•/ �d`Ÿ…)êk䛼¶Ô¶ÛJ[GtÒ�ê§Ìàt©±P¾ žë�تjý/ ð†ÄÀ Ïâ›{6PúÜ~P¯Ô)òÕ5–ÙLWPTíäàøƒUçfËÿØN§WêcèÝ?~¿IpÙ$°2ëÅ[PßÄùû«ÇV‡>µá£¯«hyáƒAÀùÝf†ŒJ.·Üލ‰N݇ciAÊ8R°sõ�ǸÔ\3™­üöTæµÓ:’ƆeÞJØtìnCJ F|¸â*ß“5ô ãôVÔm{jÚ-Ÿà¨ÔSÔh Ÿ�.\uÚ˜ÑÒ²=+t¬�Jô‹ãJQ¯=qãáãÒ”u#)�”²§[i%Y+YÂ@ÿeAÙ”§]®)l¹)Xï–pŸÓä3ó«K £ÙÇžµÿ ¬Œ>Ò ,»–‹\÷öPHB‡E|úSVŠ‘i\Ƚ¶¥>ﬤ¹ê�¤qÉþN1ŒTIM¶ŸwO\#Ÿ¥#ÈQ*Û»<¨¯=1ÈÇÆ§ìºáÖ‚Ü];o•&ÐÒ›aùH‘œ'8dŠ�[£)ãi&K:Âÿò´©ž¢²-˜%¬Ûþ3)KZAú:æÜ¨AQV¶tÇ)PVÕ aŒóýµiöÚ;R®H²j›Ü¶cmûÈ9W gh=@㧺 cÜu‹»Í˜”LÔ÷w(ÜŒ(¡\àät#ÝUUÆ9�)Ö�ËrQ N:Ö·9©öl}Ï…¿À»’ø®E®®>Ö»HŸr¿KÓÑ%;mµ°ê�áßµÉ>'Á8ðùÖÞÃïVh©v™÷Q Þ`;ÇVøÚ…«vÝÇGblé-g40•×>‚ÕOÊ— öä4ñÌ­¤%Cˆ<Œg‘îñ®MCv´Û¶áÝ�Îâá9q!´“Ôå^²�¿|j°qÕ1l";ëQZ†÷)8~³RZzL!n‘ÞÛœyjCû±±~ž~UGü3 ÕI]aÃy^€|K3ldìÏ¢ìÕ6øÍͶ9ŒÅmS$,’�â÷/ì;yÇ™4”«]ýÏ£åÇJ™Se¨À«ž8XÇŽy¤É2¦K·Hÿ %a(°7€2<ð�>³Ó&1tjSRPÒV ±´¨=ÙÍm¥ ²’¨å×@ÍUØÙ® ø‹ÞÄ«¯³ý/§aéYAÉiví/ŽA1Ó¸ºáÀÀ?ß\ºV<ëU¶\'÷¶¿MqÌ}�||jwCÚl±-®Ì…É$¡Å”'nãœ�€1“Œ`R¢—$ºæB·,«>|מ©“X|«ÒÑ1å³xp8`:…•!eüMR5eüMR5ë—ÉQEQEQEQ�Ø•Á»P¿Ou q-0רžª%dö’)õÖæ±¸iæþÙüþΫ>Ì?Ézƒún)Ñ�f°²s¶]“x¶¢Op¸î!þíÖÔsµ@g¯ˆÁ4Íkö$é?òcÿëßý4Sµ¯Øm7 žnt{–«·C_3v©ü~¹üZý’+é›·C_3v©ü~¹üZý’+\Üvúš^t{=BX¢Š*­["Š(¢"Š(¢ ô®!}™¦¯1/pÚäFR¶%Äå'rJH#à£]¦–õyÛ>ñZ¼]¤-™õiØû{Œ±Ü^´Ú äÆs¯ˆ<˜zýÙ^³¸5*uêão}(Ø–Ü!O'Í>ÿ_>ifû׿»è­JrX¦C~ŠÅÆÜ"ÀµD[lìul5µÄ¡`pSÂpÈéöT&JÀçDï¬ �ùð itä6fý€;—+6Øñ-Q¡-‰Ôe»1Òãa [¡8m8Ÿ*‡…p†«uÂJ#wgbQø$|«ÝQqŸ!ËšÝSL F_p�Ç*NJI>Ð玿*`�ÙݰÎr¹LŽË¨mü8””« Ü�Þ�À`¨äŒ|*š gN¡/SW¤c¡¶Ü]Žj¹’ÓkYTvÜ <úàuû)zÍø¢>š#% Š�§½-õç¯Æ–,¿‰£áVXÈ;=TŒß®Êsþ¯ö© Ó+ðF·V©_‚5èW…T–µ_þóLÎÜ`yú£ÿ_eC²¢I>C&¥5«JwVÊmY*Rx$ú£ ¨D%czN1œga¬Щ8ël¹êå#n=l+œÊ¥®ý±—™x:Ò\ûÚ÷mÈöO’‡—….ÇQ$ à“Ô×r]ÞØ XÊpÇQVqH–]Èî�ç|Ò 8)PÉÆE›,^V¯Ô*ÏìëMFÔ7IBlŽíˆí íR¶$•Yei IçŸw5ážÙ¤ln¾ÊÞL>ˆÕ4–€2Ï;)ÞÑõݾùlUªÏKqœq.8쥒³· $�#[¿GÛý”ÛÚ†ÿã²�éuÑ%,¸´¹ÉI*8Ïgù}|)R vÌl{�öWF6F×4Hnm»°ªéù#¾™Ô­!¤�«;ë7‚aGJÈô¬QìÖF¯WÌW<;j¯Øöį»2R걜}é\×MŽÛþÚ'Ü/–Æä$LîS;š}8Ê…x‚B“ç‚­úFLxzæÙ&[Ée”w-]ZXýtû¨îº+Q©›]ÍÕJ…±Õ)M%@´îÜ6®œã*ãáVpC ´ŽÚ œÏ�\^â*¨²»e¿ßgÏÕáÄ¢á¹m:Âñݨƒ„Ÿ Ž8>UÄYrÌZ“n[À÷Êa°@�‘´Ž?” #åO=œi ?s׎Ú.`Ý«¹*Žó-©kN8RU‘ÈÏŸJšÔ0#[á]` :⢼ährÞh�µ]3„Ž•E¤feœC‹]aªmaÖ;‚½ ½H n«^Ë�ῨøªÂå),×)“c:ÅÉ…¡hp… 6îèAO‡º–¦)2­‹”êTÜ0Hö¹çš˜&ï5Ólž·¡·)HK›Ð@VÈñ#?¦›dé[$-Œåí¦E-¦u¾”�IARÂë‚G�x«FMnu,y FÚã_i&i3v|5Š«ìòD)íI[(t!@íXÈ5ºó7Ó§9- !¢£»jGÝŠÓt·Ì·LTI±ÜŽú1¹ ## ×1È«)ÔÔP¯…‚Ék*NpyÅ5OÓÒ­¡I}q_�1 [.°øZU´áCŽAŒеiûÔëT»ÄXR 8+uô á98ŽœƒÏº¥îÏ\® µ9xºÍ•~®÷U¹M§pÝ·4¦¨šžmf[Tçqánõ£Ãd*Ëþ¨‡çn�ßͲdwJÒÊ\H-¨xƒú)o´ê^»Ÿ{ÖPÚu»²”üe!xÞØ8m9c5ïlZ9Z&ü´û�®Ñ*rXqK€p“žNïv=jB½Üï7«š_¼J~KÈi(ÃÊ[ò�†°= Ø»¹OeD,ÔÕ��ñNĵ?qºB·Ølì÷³‰,.RŽÀ ”œ§qÁÏ<�:éÔQѦ5L‹5ÞyQc!¡±%õä9þw*8÷<+wgš�Ãø3ä)lE�²R¶–0µ/ õ*ëð©»¿i×k¥…ËÒÓæä„–šŸUÑÈ)< uÇ–jT02˜m�ÞS^[0·+à´·utbÚ‰~””!/ÌonPÛªNîï óŒõó㘢X,ÌbÐã1Z‘)ôï}Ç\JB=¡íuä „ô©z4Hu°ÝÇzQÞ-`�«Q9äçÿµMè÷lÿFúm×2&>…¦*Ã{‹N«ù]sÔŽ•à+Üù*L�Á®8Y}FSÅOK$mäh»¸ö~}sW$x¨e°Û0'p!KÁ÷õëï­ïEo Ëhig¨óó5ÈÖ˜ké%²õÎêË*m§;Ç$,a+VÝÈHZ†·qÊŽ±æ*.´¶7:¿}-%+RÝ*ÀÉñ¨Õ”|˜㚃£k_¤^á Ç_õHÙ¿GÀT�GÙG¤+Ò/Š(¢ˆŠ(¢ˆŠ(¢ˆž;0ÿ%êèEý¸§F=šKìÇü—¨?¡öâ�ökl“ÿ&¿þ¼fŠvµû’tŸù5ÿõãû4Sµ¯Øm7 š~t{–«·C_3v©ü~¹üZý’+é›·C_3v©ü~¹üZý’+\Üvúš^t{=BX¢Š*­["Š(¢"Š(¢ ÒÖ±;ayã�e¨­Am7jd/i89Æ|sX8…³Mœ UÓÈfCwx.HLS2Þ¶™ZðíèQ�3µ'ÄsVœMa.ï¥ôý¯SúÃbyµwS¨Cå à¥IÞJ²ŸWʈ­VjÓñ‡G2žŸ¦²vfìªBUç”TWÂç7T��¸;Á"ÆÄãv\T‡:'• N‡ržœãšÞ¥8w%%½ØõN3ö⥓§ä’ài8ý5­6Î�“�4ÓfäÚ³ŠÐ‡ÀÜ~8Åf–’¢‘ëAÍu"ÂøÁïH9mmMš@ê´ü©³rmYÅs©÷€qht¤\h¶ÀvP[ÐÒQõö¤�–]®VïÂ#§ˆ¬¾Œ—ÈïA÷Vãh:Ö â+’n“±• D¸AZ\ÊÆÝ§Ž»€9çôkìÜÝ´›Î?m³X®6=W_o.7㔨Š�ǼBO–k¡ž*È)´Ùë}AmµŒ hÒ×»”îÒ%2®–ÖƒÊwÀž>&š{B—¥ìš†­wˆ·¯YÇðr®RT߯ïw…V‘m’£HnCJØëj BÒp¤‘È ùÔ½ê㩯ŽÁUæèüäB?yC„qÈêq’xêIª©tt†}«î8÷+:}&ÆÆóòŽßæ nþò0£¡l%­Í¡àsÁäGO}\òµ¤%=ºu¶sQÖCM„Ìa¤©jINãÊ�~XÁ÷ÕÌùm:—’A^yâ*Ç‹ÛÇ-IƒxÒ‘.8R½'bT?£ÝžkJ:J˜™õ�Ú²Óµô¦3—ÕÀà}BM„éôdŒ)> àœãÝš…³~(�…1Þõ ºq&ߦWlZŽU‰ýâ>E°MBBg¹e(ò'EÒKNé ‚×·ª�ñ”¦¯Žúo{�ôÛðº+T¯ÁÛX¸�É"­×–T–¯CKÖ¥Ýèl­ Z€Î8�ð­ŒÇ³¡…—'4RR•(îõR¢s´rsŒ|é¿Rh¯¤n ”Ü¥4\ÁRJr Ôxo�DžÎÞü¸ºÿ�w»Í”ªz‘7`uø« hìAûqiÍSr|¤#¾K�ÆÃƒbw᮹Jˆ©ÀéÍrdzv#´±¨n‹Z’�Áipm;Æî9Â~Â|E#¯³·J²™Á=?è¿ãY7Ùü”ý@û¯øÔ†MÀ¸¨„“¹,\UÉò KTá,¶¥ïRSÎ2£Ôã¯O…bË*R ‚‡«ÔgšmN†}µ%Fw²A἞kÓ£V§²a =NOÏ5=•° ÿ•Ì´¥6’�¸«8õqçŸÍ–�}ÕwjÊðUŒã>¢›Œpƾ>­z�¢Aô•cÇŠëýBŸ�‘MW$ì8°r6í²#‘YÕ*ºu³€wOÌV¾èâ¬_¹Ëßþd?ÜÿƲ›;ãqÿö_ñ¨¦fëmR³ìÅ ú ìgùëýWGcz®Ù¥ç^u€Ô¶.›Ž¹or¹õºõëáU¶™Ó¯Ù`®(p>á^ìmÆ@ñò©añÿD?;þæ$§�•Ž™�¸íÔ!Ó&£AÇA<úް¿Êãkð·š|í#[1©,PY ·ßzB\ZÓ!µô`$�IÉÉ鑊A†s9ý•‘‹ ÿÑ€?¥ÿ é·ÂZïÆ<+vE;ê›+ÛaÚ8(ušCEA å ¦Ÿ]Ä‚>WòiÞ-�â¥ìÖF¼½«eóåÆÚP«ÔPâЄåyRÀ z‡Ì�×Sr-Öä)§®:º xk]Ðe ^0NO=:��†û¶û£PãŠRN3””õûksº†t©%û”/K a´wå(G‘Á“ï'åR"“TZö\daqÉ2Ùd´§œ{¹?üB¢�¥�r”pŸ±GáM1!ɖöéSS) )Q˜ak(>k\œçûGZ±©î ˜‰ô5%¦Ýß%|$¼Ÿª³(øŒŸ×Oûjº®Ú-°´ëvø›vG™ƒŒx+»ÏÄóšÅFʤÊß)¦€“ žÅÓ?Ni w&írä\¤]UŒ0Ë¥É*>[)Q|1Q:ïCZ¬eé0W{•)öBK¶— mŽp¨à¤î9>Y­c´ÈŠXTý‰©oosÞÜŽöðAá}Þpp2:{±ÅsjÞÕ'ßãÄ€Õ�˜VöÝK’c"HP’öIØ÷õÍl$fÓYs ”6Á4X´^�Õ:r=­«UÉL!úJæ„6îÓâÚy^Þ?ÍN\×EdzžÈ´td˼ۦÜ"µ 8ëå/¯¼Y^ÐNÂ’NÏ4¦Çk7ÀûK~Ï6Ú÷â;Å sܵ(+pû+¦ÓÚ¸�"ãéYwX—M¾™ãrïÁÚÝ„µêŒœ�Bº b›kâJÕ±8)ý ¦Æ bkVè+³iû’‡"¸ò�qÖ’¢Q¹JÎÞ½�y5'Úž�ÑÝüHÄ´äD)Öœ 'j¼†zç¥&ŽÔ¡´áLä8ÝÃ7•¥)HÃ~x?f�GLÍÆË†�m+�Øfc½Cv‰Ù¤ë êt¨vIÑí+B=Ç[QH8ó�ÇîBMN}ÝnÎÛY¶ÜllvÛ ï?cëP袴¶qä�|sKC´TÂÚwJ2çxéqJôÒ’ NT‚B3´äç‘É>ŽPÒáÅV,n†ÄoëZ¬¶»UÙ«œVdܢɎ”Éu%HL¤àBÁ㧇è¬D–¬¥‡[)l…íuCœødô'ÿBºµ7h&øžñZa¨Ò€õ$53ÖO»ð|‚8 ðiz6 šÓ *ku9}ç�9Á$U&”ŠIda„`7d½§Ã:Jšš¹[ì÷ß{�ö¾õsÉíÖê�ôènz ! GÒÍ2�¤­J±¹IãÏ)8ç5E )KdÉ€#!?0OÄf§mšÒèÛ*‰wµD¼B_V¤Y>[W·?<ý•«šÜx�o Ç'ðÐP‘äO©“Ô̺‘¡+´~Œ‘îlÙÛ0ïAù\6oÅð© ç„ÏrÊQä+¢­‹EQDEQDEQDO˜ÿ’õô"þØS£Í"ö~ñ�aÔo’–£?ï…[ 艈@KÚ� wºQoÜ�|@=à${ñöVA[tŸù9ÿõãû4Sµ¯Ø‰£{äB�AAz=ÑÆVQì’”¥$�w÷kö[Aͧ›�åªíÐ×Ìݪ®¿dŠúfíÐ×Ìݪ®¿dŠÅW7¾…f—�ÏP–(¢Š«VÈ¢Š(ˆ¢Š(ˆ óEEŽÑåFÑåYQDXíTmU•E¶ÌÓnj cN6‡\ÆR´)9 `Gˆ«tÚì=TË1­6÷‘oÕÌÄ�djRÂË© €Œ¦BrŽT¬�ǬqN‚´-.6µ6Ⅴऎ„]³/Ú’kñß™¨ï]Œ¾ò:ÝœâÔÒþ²I>©÷Љ�Ú4„K£Ó'µ0ª ²�„p̧””!(ê€ Q<‚”ñžÉZSNÛíš‚cQfÏŒ,åø¦{n'ze!¥(Ð9“”©) oä))ˆ¹Þ‘z¹&:Ý¡¡-{�Á[@ÎÜǘ¶;x¾¿)rŸ¾]�ã&:Ý\·µ4z¶I9)?W¥1Xv‰²Î´ixù—›ñæ0ý £`o»e?Íî QÜ0£çÅ`­ØÖóÂ|k‹–¹wPP´˜±Ã/)¿G9E^¡·pT‘ƒœÒåº}ÒØ‡‘l¹Î‚—Æ×“BÛ%m#?mjL«‚-jµ¢ã10­ëŠPiJó(Î ÷∞¥h­.Õúÿ¤ê) Ú.°í¾£Íop¾·R¥þ €µMÃoÛFZàéë‹ÑfJ›s·¸÷~;Ķ”¶‰%�°Ò� ÐFô,àœðMBÁÔ—è1nMF¸ÉD‹“íH‘4>à’VØp 8žCŠÎsž+‰î‚ÙôYºN6ýÛÌS!}ÉVs�™ÆsÎqYX\莕îÑåY�Eaec´yQ´yVTQ›G•{EDQEEáH5æÑåYQDXíTmU•EºÌÓnj cN6‡\ÆR´(d(€A"­ ö�³jyò-6æbÄTmNˆOInÌÜ0ÊûÐo»%29G´¬„ñëU ­ K�­M¸…!i8)#�Að5Õs¼_®…£t¾Ýgw ÞפLqÎí_Y;‰Á÷Š"b:>Äæ™V§B/‚^M»{f_yéB8;¶`£�ÞÈ9Ï�KkM#a]ïS]˜ï¢B´J˜ÜØìlm ¯j=6p”­kÚG>±�UÝo‹ž»‚¯—C5mw+�e¹Þ)¿¨Uœ”ûºVç¯w¬²mn”/Ód¦DÙKR×"R‘��Å)G!;‰“Îp(°§4µ»NJÐå^ÞrÇQ÷(y›zd-Ô÷(=Ú‰ZHFI=Hç¥Kj� lXÕw$)èr“r• ; %�Äy=ÞЄ €9PÉZq�„¨sUÿ{$FLdJ},!Þù B\Æ7�Ð+ õâº~˜¿mZEúêãŽ:±éŽaKpµy*‚|rsE”ìö‚ÓOê[­®ß*ð†lWÝÑÇÝl“ !Õ¸ê0�´§» ç#*â£ÿÀÍ<‹=�÷î×Jœˆ’\K1Ýk/»´€ÎФ§œ÷„©IPØ8¥C:æ_˜ù¹Îï§$¢[ž�­ÒNHpç+ÄЙ×DÂf ns“;�ë, îÚ^s¹)γâ9¢'9šZÁn°jÍÄ—1¡leût„ÏmÔ©]Ò–€@ÈRR@ÞŸ ˆÚAO5ÜíÞøü—¤È½ÜÞzC>ŽóŽKZ”ãG«j$ä§Üx®@01D^mTmU•EŽÑå^€{EQEšÇhò¬¨¢,v�*6�*ÊŠ"Ýfi·5±§C�®c)Z2 À �V…ûNÙµ<ù›s1b*6§D'¤·fn˜e}è 7Ý’™£ÚVÂxõŽ*�V…¥ÆÖ¦ÜB‚�´œ‘È øê¹Þ/×BѺ_n³»…ïkÒ&8çv¯¬�ÄàûÅ0·¥têí ¿8/ŒÀúéâÞoÒÚ–Û÷xÚ ²AÛÁ8å‚6‡ÓÖËÕÉ ¦|ö¢*ëÔICn)jnzÛ�€ŸUcvsë$ŒàW2îi�>ü»µÂC² <ã²V¥8Ø ìQ'”äƒÆ@¬þ•½‡Vè½ÜÃŽ-n-B[™R–�ªQ9ä”ú¤øŽ++ Ö?gºsÑ“q•t¹E‡-0½‚…:û �Êœ;ÃL¬¸FÞÖ‡ò�ëKi¤ÛØvS·—pÞžîžm)$9°6œ¶H“œdpqÊâ.·´Ê•)7»˜~bvJtK^÷ÓŒag9PÇ�­&Lý›>�™·Ñýò¿œ÷]}Œó·¥ae=ÍìöÇô¿¢Á—u,F¹.<µ¼¶òY �éÂ}R”‚“³Œ�üšÈè 7àÚ%J»¹\ûdhÝˉIJf2¥’¢¶�;TŸª’G$žÓt½"@�‹ÕÉ/CÁÁ)aAÀ��yÎwmõs×t¯Wu½¹Ýow7+C�ËYØ´©9<V¢é¸ùš,&žÌ­P#P™�Å‘& ˆÑX2-Þ˜Œ8ùB•Üîä$g9HQ#œW|}'…Õ¡Ö,rîHmÇTórÙQ‡ÝLCa¶Ò¥oNR9#Ö m ’pPá̸Á–¹�n3"ÊX!o2ú�µ×*'>5¥…>Êm§ÞmúR²© ‡ò†à> ,¬NR2+=£Ê½íc´yW»G•{EQEQEQEQE6h¯âΦÿCö¾‹y_}_ô�ë¯�4_ñkS¡�ûQ_BÈWß�çùgõÖ-iÃ_?ý;#õÓͯØ�¥ÿ|ÿôì�×O6¿`U´Ü*‰¹Ñì UÛ¡¯™»Tþ?\þ-~ÉôÍÛ¡¯™»Tþ?\þ-~ÉŠ®n;} Í/:=ž¡,QEV­‘EQEQEQEQEQEQEQEQEQEQEQEQEQE{ÒŽh‹Ê÷sG4²]£sG4²]£sG4²]£sG4²]£sG4²]£sG4²]¯+Þhæ–K¯(¯y£­yEQEQEQEQEQEQEQEQEQEQEQEQEQEQf‹þ-joô1ÿj*ÿ”¯¿½þ�þº ´3kwNêD eE¨àûÑV÷øUb}*xÌq¢áÞ[TWJ“žqÂHÏÛX+(Òÿ‡¾úvGë§›_°)F:d1r—Ý©´É»:òR® ( ûðiú×ì ¶ƒ›…O7:=�j»t5ó7jŸÇëŸÅ¯Ù"¾™»t5ó7jŸÇëŸÅ¯Ù"±UÍÇo¡Y¥çG³Ô%Š(¢ªÕ²(¢Š"(¢Š"(¢£¯W&íñTû�D tøâ²Ö—Ñ™E!‘FE&¹¬£§$´î:ô®>³nCèb<9O:áÂÚ”£î×wRLÌ\Û&û'lŠ2+ºÅ£µ�Ò0�å±Ô(dzkÁ ?`Éh©7;9ÕˆNCÖ•ñ�!\ÿòTRöŒÊ”(ªL){"ŒŠãÔÐõœ9ºZ^CYáäamŸ´TøH2v¬ž•.*I¥n³p£È×Flñbš²(È¥…_Ô•”)•¥C¨#0ßJ²FR£¡ËÑXгÁHè®8ÉÏ>U™(j"{ @AÉwäQ‘Kò.Ï0òÚq¯Y‚3ZMý@d¶~uÓúe^{2±®Þ)›"ŒŠI—­cÆ^ÇtŸóqýõÎçh0‘íG’?ÙþšŠø^Ãg {J~È£"�Gh0I¹|gĤ}YwN]u±»�ª}­æÇ.¸• ýUŒƒÈàÔJŠ˜©›­+¬x¡|ÆÌ\¹dTïøª1žúÙþù¹^ ªG­Ÿï—û•úÅÝ ¿ôúž�PyíN· µ0>³¶ìûUþå.Ex<ØPñ©4õ�Tßdàmšã-<°ÛhÛ]n¯h¬ÛNMKkuŠŽç…âSYl4·|×V[%ÝëdÈÓÖó;w)¦ÐRr�¡Œ¨‡Ê¹j:oò+¯û¦ÿ~¥¶o*¥“6´�›ö6P©i¢?»ºo÷èû©é¯È®ßî›ýúßcH.{Yº7÷gÊŽìùR�íKMþíþé¿ß®ˆ¢Øç-ÄE·ÝœSm©ÅÓyÚ‘“�_š¢åÁe¯�ÆÁ†éŸ»>TwgÊ”~ê:kò;©ÿºo÷ëϺ–šÎ= íþé¿ß¦Æ>�XÚÍÐ)¿»>TwgÊ”>êZkò;¯û¦ÿ~²¨é£ÿÁÝÝ7ûôØÇÒ µ› Sov|¨îÏ•(Ô´Ðÿàî¿î›ýújZkò+·û¦ÿ~›úA6³t oîÏ•Ùò¥!Ú†š?ü%ÓýÓ¿SZCWéíIyjÔÄ…Á�ñÚɘ�„¸¯‚’®~8­$l1´½Ï f¾¡æÁ†êO»4l§dèK¢ˆ z!'Ãr¿v²:ïõã|×ûµV4ÆŠ# †©\’¼g Hû `¤‘OG³ûÁè¸ß5þíAê]=.Ȧ“)ÆV\ݎ쓌c9Èu˜ô�D‚(eqȬ cTM/–2â :ו’† c]ȲÜ¢¼È®yO”„ûJéZ›DçWµ=ÈĨãõWXéå”k1· {ZlJíÈ£"¼«¹u æ(+èw«Õ¬e[.ñ—µ~ŽO¹JýÚß‘ÏÑXÚ³ŠÏ"ŒŠã,Ü󜺎æãÿaùçû«<†£ V»hø®ÌŠ2+ˆ5pÇF?8ÿunDK‚‘»½Š9Ê•Çÿ-pž7S€eºëýchñ[ò(È®8-N™»¸\bÆJ”?ýÚìM¦ìOá!�yq_»Qd¨Š3ªçX© ¤™íÖkM‘‘FEb‹UÙ~¢¨y…«÷k`²Þ öî‰ñޯݭ m8Íát'ü Ç"ŒŠõ»5Ýi †Ï%jýÚ÷èk¾ ï!à ûjýÚȬ€àÐT�}B±È£"¥-º>ùpˆ‰1§ZT…tË®‘õ+ h Nz?k?÷®~åqv“¤k‹KÅÖ A *"ŒŠ�:Tú[oû×?rµ�¨›X=nû•©ÒÔc9Øhú““ ‡¢´Åx<ØPñ­Õb¡"Š(¢"Š(¢"Š(¢'~̿ɷïèFý°§FÛÐR_f_äÛ÷ôc~ØS«Í`­‚aÒ‰?þºfŠxµû‘ôŸâOÿ®Ù¢ž-~À«h9¸TÓó£Üµ]ºù›µOãõÏâ×ì‘_Lݺù›µOãõÏâ×ì‘Xªæã·Ð¬Òó£ÙêÅQUjÙQEQE”ûB$Y�Á#Ò)°Ò¦¾*M©Âž¹ìÈÍv¦þó;GåIÅk¸_ï [`$¸óÇŒôHñQòWÒýžé>’†È…?=IËÒœO¬³þo’}í$v%g�ÔgºÐô›†vœ{ À ùUçceá8¢è” ¥<ç€éªÝ-¤ŸQ; Œàß2¶ÑZ2::vÔÌ>gy’ábìÓâî9pÊ–°�‘žJ‰®XmÍL¶äËyQ…Í—\ØûÁ( mÐÚYà‚“Ðu'εvdý’_j°,îÝí× Èqîþ2 VA#§ ÇÛ]:gUé«�ëSY&j8òf» wyD‚vHCî¥ l+„¨6Â<ñª¸ašF‚VšSHG F¬8†Øž»®øÎâ3Ñî�wñÖJ@PĨûQìù¸¬¹¨tÚq/ÇIÏwŽw'Ýî«2ïpm»dIrÝy”PV·£:�TR çf:æ£^Öš*™ ê qyÌåµ…�猧”àðjuuMÁуaŸZëZÊJ¸F¹w—_R¥,úkÓí±¦³qŽ·Ÿ•܉'½éícËšçívø›uöÕôJÒU§Ýi¦\…¸‚¥,ûÆòGÀSu¾F†³\ï7Vµ³”‚-‰[ŠÒ—ÔŸWù#8÷â“oÚB×u³­è:ÞÇ#¹q+’¤©Í�@$ìÀä�^»JiFT5¡‡ ý»—�eã$f¤õR¡Ý EÕV¤ÿ‰ON rXt{mŸx=<ÁÆ”¤÷ï "3KqKXlŽŽp>'ŠfìÂÕßé¶[†®±Èµ\’ujS/ê8‘·ý“î>á]PtlK&©…:ç© Gµ2òV©¶ââ3´ ¼û¾|TØtËMg8.O£~µÀU-É.µ-lJICˆ8VF óÅp¾ ²¥%ó„䎾ú±µõ†Ëu½‰V}]b˜ô” –RñA.7¸ígƫ˔)vÉŽE–ËŒImE*mC$U ³m\MÖ†F1 FV@ÜNßu[ßÁVù-ŽÒ§uf=ݵ %G€êTƒò?oº©ÅÎð­Þupÿ«[—^Ü,å-•¢y5åýT¥µ$|Ô´�•Bª¦Ž¢G »H]!•ñHÌ×Ú,Ù¤«L&iԯؘ�Þ%í¬!`’¡…ÀœŽŸm*3}µ¿ª•gg´[ƒiC*�dŒ©•$äל¶œ/Mj¦ˆ¼°¸Œ$IBU ”ú«#ÕW¯“€OLxÖ¾v¾hýk'RC²Zíï7qb#²œˆ\;rœçiáDj>ŽlŒÓ2Ú f@Ìž zÉŽÙÀýDác†òEø¯¡®Öøíèè“Ù¼¹xL¥ ¦IÚâppRÀû+äË1ÌDF¾¬bÛ6ÉØÆ˜´ÜšîfDa†Ÿop;Vr285ò•—ñ4F¸DÐÝ#PÑÁŸîR%qu,Dñw¢‘½‘ÍhOZèc¨«ªqóORlÒ©.ÓÖ†»Iš·¡*`©²q¼wHÈûzU‰dÐ1®Œ%bÃknC SrZCòÞ pàáE¦”�SÓG ò3Uçjþ&Lþ›²E}]ü!³õ­níÜ’û¯ÜÜiP’v©²—BŽxõ·p}Æ¡iJ¾H'ù6îSô|[H[~ð¾{íHÇ·é‰×[m¶Îû--´<¸²_.DõˆÜPâH$„’3ƒŒõTqÍ^ݥߟ¼Îí%çá®ß¹�˜ŠW-.89ðÉ#'5FÅq,ÊeÕ'rP´¨§ÌS%°6˜ºrRìw¬°ãí¥.>@m€ ]9`ä ”Ó6 úez|6’ËðÝHîžVÅ,‘� ¹âºßjâÆµEæ$Gî1e:§q�Nä,Œ�e@³f·g}š7s´™ó%·-ÆJÐqFv•mÎ@XÆG@OÙS5KÃ@ÆÝ‚ÿË/MI£©›#žý`M¸›dFóÿ•Zê](Ä{„D°·rë$í”úŒ¡XÈQóXÇ�¨«Ž–œÍèÚá1Îä;ìì)IúÀô>ïx«€Z.÷Ìäê‚ü‹|Æ9 +Cž¶8Èàõ¤ýÕãU;&Ä¡â¸Ëu˜à øÎ娾 àzת¥ qqf÷Ùe&¦‡GÉ kö#vÇi=X*î÷v˃�œu·€æÎAÈûk�sÒ›»He…ÞáÛ-í©O0ßp¦ƒ[HXVÐ: ž9ëÎiNTi1ˆ°ãyé¹$gáV°<Éq^j¾ÁPö0ܵœg­zHÎjcF雞¬¼¢×klܵ«„ yšeí²»î‘¶›ƒÎ·.20Si#f³8®2WSÇ0�Ïç ¹²’gÆek~P�øÀ ó[™^PJV0AÏ ×2I$ViÏ8©Š=ì¾òþ w©:ŸKé뤧·Õ¾;îx—¹9ø�ûi»YIµéRë3µ¶¥~jZ¸ÉÖ_^FŒàçì‹ül—ËGbpÛ™B&Îqé¥o$ìmµ8Oä§ Äf¦ûQ°ßo×÷.ìDC­GŒ � ûáXÀÊSÔŒO•PSÃý8JÚAõ:öá†6Sjå/k$—b0Ï ØžôÉÙìë%õØ �_¨$K’Á|ÛåH‚F2R#�íªç¶´%t¤gÕ}ñÉÏBš“þ]žêÛ6¤·jKª‹jà:P‡TRòá©AÎ~Ú�í¯›ÑÿXõ¦¬+#¶•¤¹åþ‡[ÉD•ÄQN?Óÿ˜U“ƒšÔ|ks�kI©ÒŒTHOʸƒJ~襤¬¨«€2}‚k¾;.°ñ)T—fÅ¡Úe˜½�›žÎÐ9W%çLÙ¦¬ÊJexõŠ@ÁøŠ±Ñõ��…ŽÖ&ˆ¼Ü*v4•%Æ– rÚÁ§™ñà\­MÈiÏ'#”5 –¢Ü�ƒdi¹RP¢•ÈR2Ëgò•îè=õÄbÎ`7"dÛ„ÂØ‘!D¨0ÈPVO‚rQ€<�­ê+‹µ_ùo™ßÆÃ«ŠÄp–œ×uÚQÝÂ@$Œt®ØcßójyµMq¥”»± {¼òœrz0:××’âgOjÜü¨ÝàK~ŒÉZ)xÀQÇÀZɧ¡a4“¿ ~Whô\Ò lâµÈTvÝŠÊë’Z†Ä·��6ãŸ3“ǺºÄ×ÛôVöÇa.ï–ã‡nÐ�p�ö‰ø å·\/š†[æÑa|ç .©}ØHé´+ù)ÀÇ\Ÿ¶´˜s¤Ày»”µîqâóí¤a*V}Ÿ€ÏJòÚb¹õ.kŸ€�úWú6ŒDÇ4OWRì†ÃQWèí-!)-=(|A®©)Þó-Žm%KÇŠ�Aö×\ Ûа„÷òZm(ÆÄ8@÷TÇ£%”2wd�Ù<Ÿ¡’Q­¬MÊ»Ù�Ñà»mÏuÞ¨€?õð­³Gun�…ì„ò ÒÏÆ¸u”ßt�}U£öqT‚WI=ŠêÜ죔æÖ’}”àT}ÒbÙ€òó�T�]Ω/¬mIÂSœW$†Øw)u;’„•m>b®)¤k^.*/³pßfk[’X·o ¾ÙÆ~¸Ú*܀ˬéôI‘x~ÖÛÒèJSŒ•`(äuþú¨ûeˆ§nAÉC!k¬GVåækç' f@mûòíQìê»L›Á„Ϋœ†�…/ÒHGt¾GGÇ=1ïð©kähÇI¦s® }hR^Rò• ƒ¥SnhÝRõÝh°ÜD–›Så²¼4s‚p¯gœš¸\·J´ö[l·M@nDt6‡�>"¦ihÏô×½ä^Ù[·ÙBÑS9õLspi8_<÷…óM˜æ">!Qö_ÄÑð© œ£¢Š(¢"Š(¢"Š(¢'~ÌÿÉ×ßèÆý°§V=šIìÏü�}þŒoÛ vcÙ¬°LOñ7ÿ×ìÑO6¿`R6“üQÿõÃû4SͯØm7 š~t{–«·C_3v©ü~¹üZý’+é›·C_3v©ü~¹üZý’+\Üvúš^t{=BX¢Š*­["Š(¢"Š(¢ ô¥.ѶÌáÏò“ýaM§¥'ö’H±ºGP¤Ÿþa]!$HÒ8„VމŠc13”–#¡´äñ�œv5…¦ßñ«µ\°;pR® RB¶¥ Së *Pè@äg®Ù Ìÿ„–÷\u&B©q9Â�ءȦîË5~™³LÕPµÙËr¥\bÈaÖÚS›ƒR\[ˆÂznã[V뺦F°áªÞÀ<œ«Ãœ}”Ñ~×úÍ;*ßö¹ò™• /¹Ä©é RJs‘Æ@<“Rw>Õ»•pýGÄEÕ\1Ë൸^Ø…úbÕ7†"Ea ‡~ŒÚ.�ñwÙžIœx“åCZ¦mäºÌ$Û®1ò(¨3‘»dG¿f¾KnÇ;ÁøAø/C‘žSjh4ã`Ö�¡i¥GÔ’e2@=ÍÍ ðPþ‘ÂÿMyÉ%Žf½ôÿ TÆKšÆ¹ÝFÞGuͽ]ftÇ�JW�‹=¯�쿊#ú5fÂí2%Ýԛݱù|n~*ŠÚ_Å'ÖOéªÊËøš?¢+–€¦– fÚ;Zú¶?þKÏ|CM%;bG¨~l<Šz×Kk™=k¥Žµëé¾ ¼mWÐU#Ú¡ ír�‚˜?þÉbi-Y3Gö‰>û øîÅ‘!Ñ"2ž(ï›RÉÜz¼ÕqÚÙÿùƒræbŠZôɃIwÀõ�JÅC÷HÇ‹‡\6†]HYØ? ïígVÙ54mAw‰«t™vÆÙ|&Ht<´Éd¤ô¶ÔŸˆO»š(d§“[‘!äíuõ­9Î â´ó\"‰±7U¹ÖY5ÝuÙtèÈ,Æ™!–×Â’Û… ü@«Æ|�E¤t�jÒó±Ýv”µ7ÂJœ)q)Y<{*WC°HuhPÏO:½­ìëKìˆ@-/')l¨l ü<«ˆêFÉ..á•�‚Ô|»GGg4ØŸ\ú×7`~ŠÖsÛ»ÙrÕ)µKî�Þ”œ”�}üƒWð€d1ØÍùðÉiIçKJ¶¡ H�lÐénäÛhWpÙ'Ú…äó ôÅn‰©ì½¡i;Þ‚�¶m³ŠQ¼^PóxËn$ž¸ d˜¯'¤é§–«ú‹ã-½¡Ûî±îM¤QD …×Öøîü¯�7Ò§t$[$ýWo�©.bÙhSÀË‘±K!±É$“ŒŽ3š�í/K#H®ÙhzLg®iaj™Ü/rRKŠÙÏžÜR‚sÅ}™à$d`u⦬1ïùˆôÄ.¤¡j,¥ÂwQ# Î:Ví;§ì#³ÛÔÇœ·<¤÷[R™ÉûÇÕômœü× íÇðºÓVš+êÙÄçÃÇ2¢…2ñ¤Ü5•¡¶š8e‰—Å#gÈ:ÙN&*‰�Ú…‚Fu5HÏÈSÜ 7¥åë[JÕ½InÖÛÂ8JRYÝëãÐTf·ÓöwïÑýµ«—R¦· ¶òò1°$äüHm+œ\ì®»7NÕ´`nP2-oHi¶dv�du¦ŽPƒ=e)>xÆ3SZ•–ÛDiMÊ�-3YKŠz:·6·)pƒý!“ïUuö™¢-ò®±²±–VÂÒRÐ m¯ øJîñ?�4ìv±i«,iZᾘÏ/%*c8æ¸&<Û}÷v7 §Ÿ}g*2Ðæ@85δ�¸ Uœlhv¹[¾0àS/gÿAÀÒˆj6áHyjr^òãA p”ïNRÏ^)ÚÃ~¹¶ÄXÑåÀ¿Fi+ÜüI!Ç1êç“ãÇ\ž: š¥.Œ¤Yæ6¾P¦ÕÀøRQÛeÐã%m­'!IYW£‚£ir¢Òè9*"°µ‡=¡}cùp»¸ì$µ.×qc«M­N òA@a<ƒÏ�†j2á>èêUd™ <¡j'U!§uþ³²”ˆwùn¶?è¥òHòõ²GØE:Gíi›’R�CjK•Ù?ÒBŽ~ÐOª´¾�}CKâq¾ñ| —‡ª¦ö�oV$zþR ›ñD|HÔu—ñ4|H×­_‘´9èòQh€f5cÒ^}à�´‚¿#„œgãUçdU¿´;•ù!1.’c!Ò•ìRw�R ¡ì¨g¨ó#Ư›Äw¤X¡Çmæ’$5-sv¸+[rRʪãy ”sízñŠzøg—Äpp²ÊÒŽpàÈßlÎ}if×{Sæ +’W-Ží¤ue'ÕÈÍs^ãXíe hë¸èŠ¥€ëXÚ®ô¤õB¶¤mbUžžØ7g²Ý¿%=É¢Åý¨ÓôU…m-CBPF<^¸þQ¨þÔâZtþ˜\�ðjÙsz=ÍpãúKab4tä¥yÉçÝXI›-…;¤€JÚ¢N3“ê«?úæ¸;A»ªV˜}Ù ï‘°<–T JT‘ŸX޽<~¾§Î×lªK˜à0ëHñõ XÄç4ý‚Û§ÕP„ ÖÌNr~9ß\W®Ðß›=©H²Û™ÂZSͨã¦|Â’î¦>dÈx­Åä�<‡º¬K'd÷+�ž5É™èBJFÜàí«ÿ% ÕN½¢ñÞžô%òté …èE·[dHÎVO>ñ�>•d]"7€£pL‡Ü‹Dñ“ÏsUŒès¬X�·wq†^Œ;Ô%´žùÖÓ…H8Üž~ÃMÎÚ­vþúé É®ªJÅ>ê”y<Ðäþª¡¬§kd6^¶Š­òÆË›‘šù»µ¦Œ]wrCñSë¸J’ 2’Ÿ‘çÇEDik­Î Ú#-Ku,:òP¶É܃• ú§ŒÕ•Ú}ž%×Rzk¯©ç;„´¨Íñ·>׿ÝçKr˜Ž‹”D[mémRF�Ç%\’y5èYwS·Xn^QìÔ®sÚë|Ýù« eHÜ�H#ƒŠr¾\ ÉÓÈLIo<êÓ‡Ùx¥IF¬lÈ �½8ã­#Ú§LoHqA±„6]X}‡Šêvþ°T‰ ,¤Œ¼³‘åב^]„07¯²J Å®"ÖÅs%%+¯•l²þ&�èÑ*�JWt¢>ö]*æs^YG¬ôPúû½WŠøùÅœŸûÿÚ¤“ÖºXë\É®–:ס§ú‚ùuWÐUÚßÿˆ7/ƒ?±E*øSgk_þ ܾ þŦk3qÝ¥w¦þË;á¼ ÓVŸÐwËí­›…³ÑÞiÕ)*x( ãž?W�E–fDÝg›:žšZ‡jDÛž¤· É-¡#$œ�}§ÚSaÒJ‘öÚ}—cÇ XBw¡²q;?fp-�š�{¹-¹iPÈJ’–›;†2HÉýxk{³è–¶m‰]Í’—ÆQ÷Çvä�¶¼î”ªŽ«dØÆ°×n+ÓèÝQE´t§Så¿XUÞ’¿»yíVȉ–¹ž2›mµ­?{XB”°¬àp)#¶©knðÍ�líDk„ūȩe´ÿUùÓ†‹ÕúzF½�";lÀtÍŠÐa¦ö%G¼PRÎ3…�ïÅ2k½lÕ³“rK�6ë˜S¡H%*VÜ0A ÀǼåSg«Š…ñm¨ÒÒ8Ûw(ÑÒM\Évn×uÁ¾WÍ jøR†³^“Þ&@C„ƒ�Y=Ú2<²²q×Á¨­Mi�[ Wˆë»Û"e™hK‰SÝÏD¯n29óøÔ§iÐ#ÇÑ6«C IL6äàRÂŽòàSiºZßw½®ø«Š—:Ü,+�HIºôÆ8 Ž+FéVê2Rؑ}øv.®¡v³â-ÇU·±·ojïµ;Ù­úÇ ÄLº¹�©mƒ K}acjÒ�¬¤nà¤uøWÏý¼ê›ÿTENš„ü(¶æ”ÂVê{·;ºíêœtÅ]v§Û�ÛnµB/ºä ¥wi …ž>#®>DvçÞ#^?Se¹‘ÛJen_xy;½üй¹8ª$Ñû:^R]mÀoíêïHN8ã«RÜZ–³Ô¨äšðP£â+Äž+ U™«c²µîÁÿX_êýh´Ë¹6âã–ÀmIIÞ¬dœà‘ªÿ²¾tÁÿN¿Ô*ÈÓŽØq.0§.¡cŒ”…7q¼kÊÔj\öý÷·DBYž¨Q³¢?J£É@K‰ë…|ˆà×]ŸðOüSýµî¦Ü«žíŠKa¦Òœç€>89¬l߃âŸí©z^ÑÛø*¯ãg—ü;3ŽgSÿ6­Žõ­&·;Ö´š¿›5ñ¨>�½°!kÕöä¶­«Üæ—ÞÕV ‹zå8—%†ÝR}•lŠFÒ) ×V´ž›�ý’êØ-¥ œ:Õ… ƒb$ñZÌNµ‚FÔsWh— M:v¡ä­ÔçÚH<�´f¡¬Qì–×õ”¾\D×Û±e+Ù(ryÐXî®+÷’?Fé¨Y¶™±ÒJËãwnàŸ±XÇÌÖï7U…¸èìb“óIþÊæ™.S¯•*)Ï“n~JÁýØÁ£ê3> ËKÒœ~aãî£n‹Bí’Á%hB’¤©8 Ò"±“ñ§kËÁIQPqÀP¤¸ÙOãÁçûie÷!�‚ÑÝÐ`b«ßHÚg°Ü—«ÐUò:;:3{ÿ3Qã>U´cÓ\ëe Û†Ë\ÈïwI-¾‡Š�âÊ£�¯èž†•C+JˆÊr:óZ9¤/IMYÇj˜²þ&�€©޲þ&�€©µ_EQDEQDEQDN½š“ïŸÑ�ûaNì{4‘Ù§ù>ùýßµîdzX+`§´Ÿàÿ[?ÔE=Úý�HšOð/ÿ­ê"ží~À«h9¸TÓó£Üµ]ºù›µOãõÏâ×ì‘_Lݺù›µOãõÏâ×ì‘Xªæã·Ð¬Òó£ÙêÅQUjÙQEQE¥EO�eÂ+‹¡’èRû¤nY õ°G'ä€3ÍJž• wˆÜé Åt(¡jçiÁàgû)}\VÌp Eöó ZºK.ËjßjœïKJÔ±-†Ö¯gÙÏLàÕw©Ù�ôëé³-B@CeF9ÀÏ9ð¦Ëü <={la¦˜èeN,’HPÁçœùTóñbÀSrÕ¦Øi°²‘¹ dœãÄŠá´Çа,&âꬷ˺Û.ðn¬ÉZdÄu·SƒvÒÙx=@ÀâžµÞ³]âÏ1>”•»p}·T„'j[ÀRÜÀðÜë‹?`¨gÚ�qº]˜ÊÑèÒ’áÂFOx9¯Qe¶²_T‚ÒBJw¼ xãŸßY¤Œ1 F‚Ö�2*oKê”ßmÉÓú�ý� ĺ,�Íù!ÃâŸóº�:{h˜®íÃ*0q…«ÃŒ‘¾¦mˆp¬Jàˆlò6+)HLJ•|ÅØÄ[«º•‰îNBŒGß•z®ãÁIèG>"®ÞÕnë…¢'g¶ÚûŽìo©*ãyžj\†Ù¨P2øªûV^‘¨'·lmÕ8Àt-=ÚJ€ÚOR:xŽOCSoÞÐÔCŒR È ,4­ÄpUâ>Þ*¸ƒn d%N6FÅ-¤„>@u÷ž•ƒ:ŽÇãßB(BÔ³œ¤„8sü®ƒ®sááUòÀér0 ÐÃ¥©éÛ«q8\îýöà­;>”º‹J¤G¶1r¹8w8wb>üãÊ—57ÝÊÚ ðí±â-À…¶Ô^IÁäŸÓ]šö§)6Ë”æÕ8 E9”ìIÎSŸÀ#>tɬµÅ¶nš îLµ>âZe--+%G¡ò®.|¡öxºé†V‡Æëx_÷ŠQnT� ”ÂJG]£½}Ûí ò•tó½¦ö´¬g×:ˆ ¤”äœyùUF°'õ(šZ,ãuô'›_¨7§<Ö§¬¿‰£á\©<Šë²þ&�èÕÖŠq!×êõ_<øöÆ`Õß­þÕ"žµÒÇZæOZéc­z ¨/˜U}R­gî�rÿ¹ý’*Á»•ò½×‹(�ò[+$dã¥Nv¸¬v�rçÁŸØ¢–­òW|yH$-—±ñÅMõÝlîTš;lã¾VŠìÖ]�جšJÞ=Ú{îN†ä†òÚIBIÚ¡Ÿw…;éËsP-ë,„†šBWµ@nR‡´~'&–oÿð‚Õa³5Þú†T|¶•:V•¤mõ_, ƒ¶ö€Ìûõ¥K`@�hqEHïËlÉRNS¼x‘�<¼H¯5U ÕÌÙÊö´5Pè¹N¨¹?ŒUµ¦ôä-e1M“éPaº—VóÌ”áhP;0zúÉÆ|©[Qjdj¦"IB#÷†ÞS€’6¡ì�0x·¬{TÖ“K×uÅm4Ëxq¦p†’:£©÷šŸ¶»m·é +º®Þ.S¦BTÕ»Ý%}ÛjP#$ôü"~ÚÛ‘"Ù p&íh8ƒŽ=x�êo®qa�«bm�þ¨kZ ¾þ–\Š Î×’6�r• ûÅ^:[^Bz fs¨CèõJRy'Ü®ÃÏé©/m&”§.�Æø‘Ÿ’‡Õ.qv%ÙÆþêÃíW0êÜŽ‚[>Œã ÆýÎmÜvø�F|wqÒ¥»PœÚul‰%ý¬*\xÏ8Ûœ-.nz K×ölÕ̪h �öêÊ@SŒ,œÁ# N}¶öÅu�ÕY’ëìF’HõŽ×R~ô±’yÈpqÇ"»ÒÃL"ˆBp±·]óºÖª¢¤É)˜c…íºØfè¹WÝ71PÓrfD¨/wD¤ Œ ô#ÜE$v©Ù…Æm¦óÚ iþ”á’¹£¸­ËHR²T»9Ç—N•Æ-Z†×fóu¸*/6™/’´Œ¨¤nxf¤5OiM+JÜí° ™!èÊiÇÒ¢��³·'®G"§1¿(ÆöUÍuœÛoñToç� ÎV•þ‚>uÓj#¹Þ6ëj mu²ž>Ã�IëÔM?¦JíÏ¥¡µu ž<÷' 'âk‰ù Jâ´–ÇŠZsx>þ¹ÿí\9# �&šk[«¬Þ-7Vr/ˆAÚ¸ê )§‚¿A­ÂïnqÍ™þKÈÇééUZo·Àmì(§ô×[�² V•#À”òŸ—JÕÔò ×[Å¥h$8’ÓÖ¬‰ì²í½îåïT ð•‚>T¯l²ªS�ìÇZe ¬”/vV3ȃPi»6°PÛû3ÆP¢û u[ÍÁù,Ç‹,’êÒ„í_‰8é\ÜLjVPÔR–%©¹¸PRD#p%°“µ+’¥`t;AoÕ8?®¸W§ %ý�ÊS£®à8ýUž›·CwWC…2O|·RI{%\$”ý›¿º¬™:zØÊ‹EŒm8À^+ŽrÀ¯ŠM§¬¿‰£à*F£¬¿‰£à*F¬×ÊQEQEQEQ¯f¿äûßÂ7íE;±ìÒGf¿ˆ^þ¿j)Ý�f°VÁNé?Á?þ´¨Š|µû�ôŸàßÿZ?ÔE>Zý�VÐsp©§çG¹j»t5ó7jŸÇëŸÅ¯Ù"¾™»t5ó7jŸÇëŸÅ¯Ù"±UÍÇo¡Y¥çG³Ô%Š(¢ªÕ²(¢Š"(¢Š"J\ÕÓßµÅôèÁÖ�«½9ðxøc=);´·Õ�õ¤à‚ž|½`)šÙ¦Äi¸®ÿ¨c He*nŒ‚Èê6žNsNòä±9äÂ-$%ÈÁµ% ©)Ç•UÚ§¤]^ Šì­Ì8‚2”0’¥$gœû«¦E–ëAóiuaµsÝ…cœäžúâø‰8)ñÎ-r¬–ô„IïÏžóò\3f).4Ò@–‘Ï=qRèÒöH2-¶œmM•…J_xTr@ÆâzœQ¶­Yߢ§K[Ì­jqRÚŽFü(ðžNAäcÄÕeþê[Œø I¸Ìr”4Ú”ØH9õˆêëšà÷ß»¥d{“o}õ?pÛHî”B¨á9Ç«E”�œ„‘Ï$ »ïñ¬Ú®dyWÛ屆Úl€–$c%@+‚Nyò5É6àãAl4Tó�¨…¥¶ÜpžGÄ3ÓÊ·dÁ�±Z¾÷]Vº*cp5IjiE(**$m?¢™ûc¹=q~Ú¶-Êj8 KDcׯ@: r²«HFJX�A|¾KÏÇ@d€¬Ò‘52dÝow+B“èòá:³ ¬Œ�äôòçåZëÞMu!‘ëE±’põ¥‡gQn–�ZĹlâoJ^Y^Ô¤c#$ñâ*Ãíá×n r¢lî}ÚFÒ0FGÀ‘TÝÖääö‹— wx=ÉWE�‚I<ù {½Õ5¥µ´F4ãºZïç ÈÊC€þ+íñ >·Ù]Ü …ÎåÀ9�:ƒ#p¹4¶–“¨ä8_Y‹ Ü‚¤ÿ'9ÂG¦ëÖ�Òº~Äâ§4$,-ۇœ9YW€H }¸ð¤·$»¥§4‰KP(BÖ•ì=0wm9H4³v¹½2äô— ‡$„…(¨¤yd×E,¯¾µš–ÕSÓEªcüNîå%¶Ú¶ÝÄ©Áë!!E;‡ˆúð®½unÝC‘,èZœÞé)A N †1ƒŠ[JeÉõÚiÂü¡ÀoA]–`¯¥á¶üÝÛ¤7”$•hu=?]H•�Ì ¨Ó½³0· B¾¬Ñ¥^çB�HiÙn†Ò¼'¯? N*Â=˜YŒBÔkìñ'CŽ3ê©~EÈñÍW-¸ã mæ\S.2 ¶Öƒ‚‚9|)†WhÚ¥p= φÞÑŽý¸¨KÃß»ÀõçAHèCN»nWÔ4å>‘tÌ4Ò-Ä xãšVu§”ìwBCŒ¸¦×´äe$ƒú«²Ëøš?£Qíã9ÜNyÉ9Ͼ¤,¿Š#ú5/EfþïUMñàpŽ”<ÜÙ×ÿâ¤SÖºXë\Éë],u¯CMõòú¯ ªw´;rî�§É‚ÂT§_[õFHËh¬ugeúžÇ©^´&²B0Pø!@Œç$àS}©lÞ¤4éJK; ÇPÛgû+è®ÓåÛY€€¤¤ÈyDýP¢–yÝò‰^ïÏÉYÍDتc…¸–4Ÿ ¼×iÉ�ªaÛ.p›îÛ¹Äz.�Éu#½k>ýÍ”ÿ´kªÃϯ´¢ïs[‰¹Ú�¨r6‘—;¢ R°z‚6ùæ–á¶ì-ó^�Ô—­’Dô)·»Ì°á��å�¶½ìî#¶tj‹y}Es»Q×)Ûê¨zHùÔ— •ÄNþÛ°=D‹y¢-z¨„ƒŒ{†#Èx®NßåÅwL¼ÆI”‰ îÛÁÀÇ»£²‰¾ö)©mŽGaçC‹B *¨RyÆN2)ìû²¦»øìçmͲ›sr¶´µ¡9ä(žjk² K JêÏ¢Ó7ÒmWd%%Â�»É $|r>Ðjî˜: "~~J—JÊ+*[`0¾8upUa* Ö9 ÔÆ±·®Ýª®�‚Ì•�ÇDç#ôb¡¹Ï5&ê�«_² W¦Êrd(rp: °¢&S=Ð2cwhÜ=WÒ2�^2qáÍW]–ŸýÛPÿ·WêÒ·ÙB¶8ò¯"  yZ«ò‡Øo_sÐa¿Ò`× Qš™–ܹ@½bœ.ߣ#$ûýçæk=?ø9#ȧûj4³µ¡DŒ€‡þˆ©�=ø9?ìÿmKÐ×å̸ãÿ‰U?Ꟈ§- ‹³/õµt»Ö´šÜçZÒkÐMšøÌH\±ßTkô7ÐÒ�R¢‘’}CN-\¥¢D„8§‚Þüœ²—´§ñÞÙÎ=gyÿº]Z!§Tëhpœ�j¦¶#0Ô?IÜU„5Lƒ0oĨٹÎZœ~ïn“!Í¡=ãCxÚ‘�ìÒã[¼´¸¦-ÒUÝ{~¡ù×Ô!ÐAF3ƒŠ�Ÿ8ª>Úéµ'¡m�—ÌRãHŒ­’c¼Ê¼–‚“úk[O8Öv-i>ãŠúm½!m¥Ää¨dRåËKXd’]·4ÙúÍzŸ«ŠÜH j‘’©›ºNo�!jÁG"º¼%JÿˆÒ�š2“ú*C]X¡Y�èŽ<´½»!Â1�{éh€¯g9­¬+«jefÞ8¦kuÖ"KŒ¸¶}ñ`æ˜ìSØfSKSdñ+ïP[x=F>b«¦’¼%ÀÝÛsáŸ*•¶Ï™ ÜÄ)*R†w4Ÿv>uf\‚¬)«]ªE‚¶í˜6¦¶é ©âú‹„cŒõÚAÏ@Eu\%¾ìµ8‰ÒŽ0‹‡ÖÀ$}”¯¢%Þ™2. „))m+„�Fy8x>u9&ðÃÇcΰ’“ü–’ƒöàU|ÆÎ±^û@ÚHuš=M¿åEYGÀT�GÙ¿G¤*Í|ÍQEQEQE:vkø…ëáö¢žöi³oÄ/_ßµ§†=šÁ[9¤ý‡ÿÖOõO¶¿`R“öÿY?ÔE>Úý�VÐsp©§çG¹j»t5ó7jŸÇëŸÅ¯Ù"¾™»t5ó7jŸÇëŸÅ¯Ù"±UÍÇo¡Y¥çG³Ô%Š(¢ªÕ²(¢Š"(¢Š" 'v˜…9`} $§œ)ÄÒ§h-¸å•Ô¶HQ)ÁE�›�;ó!OÕ’¡ÄžD6JZ+ ÙÉ$ô¯q»]m׫…½J�g“m�dËqJKm¸–Ô;¶z€p ±Î+æÆõàìò%é µK™ô¢Zl)™A…#b”O­µ\ùS¢»} Û\�N]û¥2ë)mW€¦½t’Rºæ¹º-w‡_%e DqBæjÝÇWó/5@4áZR¥(nØB¸ëšâmÕ!A€•>®œ�Ožj~Áo‰&ìÒ.®=²VâTG»;cÒÚ{ºŸ6Mñ‡RÛ«j,]ŧH8JÊ•€ž â·$ 4œ”·c¨‘*Sñ'Äi)i‚YJ™ʺ’G'¯ÄTïh7ß t³3B‹Éx²ß’BzäuëמƒÐ¶è—È—(šº3ïÆx9±.¡(Rwp¢yßK½J¹Üïb;q›T$w‰u¬÷N•kË#v<êÌ>\ðS¥‘ZتÛé{Œ©f\™/)KsvòNýÞÃ¥2j[ûS›…!0½æÚ‰\įð �ý üé~#i[+Ný¤rZ‘>Ѝ-²èI<œt8韎*[£DlŽn ¨ùÒÕ6_|ìvÚp¶A(Ϭpy9ñ®Ë­¥[’ Â•Ž‚¥{”¦Jv¨c'öAŠP@,·s‹Ž³“îyöFáZ¥.dšô€µœ�r•çá‘ý"<*"Ÿ™s¶F�kq©*Ém䥑¹µ„ç¨#5-×[„YBÔq^°¯­yiy†J’¹O2Òÿ–ÔFï•j#s[�]¶±Èÿ�¾vR’´Ì¥¼Q6ëß8ØÉiŒ¾¤�³�ó­ÈöçÅr1–\nC…JSŸXxg4ÆÞ¡°B¶˜v¦^rC‰Ûê¶rjQ{†óÈ[]ãéÚ�F:õQøãÿ\V#$‡k©Rà ofÈ‚n/¿Í\‘ã¡§¹µúªÄ ^‹Ñ0÷vaÈ‹1‰l¤ /cIJÖ²—2 ”¼¨¬rAÊɪ…�Si!C¢±œ{éº_h:‚]Í3%]RTÙHNØIÁJV¢ †@$’3ГñªÝ##kƒ�eì~.¡©ªž3eÀ�¾õ[¢úëm—ñ4F·nu- -[–É5ªÎŠ€|«}1yþoQ>8EJµH&ºê+œu­ÌœW”æÎ æ•"í*œí1ÙûG—:+ªeö”ÊÛZN HmÓö�í²*�{RÅSï÷ÉÂIIΡZnÇ'·)Mj#èþé~’àCyîQ�Xä‘«"=»±�„8æ—€ZÖ•…œHÂÓŽAWN£×ÑEXKeVZ2®ZX†ÌÚà%L¶‹ï÷úmÏhp(6ZÀÆzg¨â›;IíHê #׽讶¶›WL@àc¯è¥ÝÒ©Ö,�˜‰·ú{ÄR {Ü«qàžzxùUÇÙ~ŸìŠWešiû‹z%W§Y{ét¹©§’çz®ï( G>8)#ßÎzFO#%�’Y–9~û×fÖHƺ6�cš 4íúw؈¼Lœíž:”µ6ŽJÎ U€}Ôæ®ÖšeÔ%Ìi„¨÷m÷ÂRz'¯…]àÏd¬»,‚‚nî`sÈ?|ðçÄ㎵ß?Jö˜ ªû3T°Þ—.k'Žì‚ÈñÍu’¦f¤¬ˆZCU<˜ßk¯™'ö‹9ùŽ>Úß.­¥5ß:ARR¯h ‘�O\Wuï´ˆ÷q`Æ�‡ƒè°€ Ø×¨”nóÎÔž|Í}#Nv.#·Ü1Ù‚ž(=á]áa![ŽgX "ŽÍ-pù߬¶¦f�Zë[+/›.ºâ4­;&ÎÕ¼ -Ä)·B”i-`Ÿ‚AøÒÖž—=ê÷œr#o%n¥*) ¯­%X;KCÑÇeJs;®.9ÀÇß:ã$çÝY\,]Œ&QQÙwq‚]¸¹¼œ+Âñ�d�Ç…½ú×=wk’¯,½¦ön·7H/+yϮ°¿é ÊÕ3¯%Y¥j™rl wpVä!)) > *ú«èNÅÄ4å=—­òµí€�·ùGœî÷t®¨ö.ÁÕ5ÞÏïp²úX˜¢Jð½¡_Oc¯¾¡A@È%2´›ž$‘à¦Ué êÚ!u*²¥nÓjÿXWê`Ú5dm,ÃMÜ4ÛWH)ž쇎–ÛB”B@' *Îz$Òe ÿîÛ€xHWêÿo”Â-ž‰69�·4Ëi‡= Â‘‚RFP¬í#ßž•]ÚÊ÷ WÐê馨øfDÒãòå�ÉPHÔúb+·8Ñ™»G–áûÎàŸGu¦VؓǵR4)¶änÎÜ~šÝ©'Â’Ì–»]¢ xaM$ÃŒ´8âP½J$¨X ôǾ´YÔCog?ÉëöÔªií(×4ßÿ‰UuôÓCð|¬•¤a�ÿî5ow­i5µÃÍjó«IMÊùÄ"Í[tÇñÒÛñsöK«;)$‘ÇYitçY[�A—?dº°\–ÑQJV88¨’fµ˜â·:yåUÓj{»–ß<+ƒQiu*Ñx„K¶›¬�ž¡á? ñQÊÔ:®'© ¡ð?œhf)Ôäp1Ò°x0S• ,xå9溇_rÂMÎPÀ•mAó(Q¯5êµU±ÿ²û'ú Šg~Ùi’0¨éO¿ö�¶¼²Y^=Õ½Ûu°”„§¨[°ßXCOË)(VR¡”�~ÑŠ€ÿ�âJ ]ZwžŠÚ)æN‡RARJý¸]ѲүQ?*ÜdVú÷Ì.šf ]:¸RP—Ô2ê—Ð…ã¨÷b ãØã¦â˜ZÀK‰8ê:Ó+ÖK´HΨºït„´î8Æ*¥–ÜJ�#*¾ªs€/sðÎ‰Š¾’G8A°ð_O=o‰Q‘"$>à´œú‰¬ J'$“€‘“ï𯚯[Mêi@ — G»qÅYHíjBe-ô¼ðqKü' 0U·q9ÏžN™'Ϋ)²=&sòIï\Rò¡ƒÉ' ®5³2P5MÕ·ÂZ2²Ši; A>Õ+eüM �® 8"*ò®ú´_8EQDEQDEQDN�›~#zøFý­<1ìÒ7f߈Þ~¿kO,{5‚¶ oIôýdÿQýkö é?úõƒýDSõ¯Øm7 š~t{–«·C_3v©ü~¹üZý’+é›·C_3v©ü~¹üZý’+\Üvúš^t{=BX¢Š*­["Š(¢"Š(¢"´JŽÛèÚ´…}o¢ˆ¡•b‚®±ÛüÑ^}ôvñ嶦¨¢ÍÔ(°Á#·ùµé±B#„²¦h¢]@®Ám@Ý謌xì;uÐ7ËM…r.¥±m; ­÷ÈWw¿Øï *FxÆà<+…¡À�­Š Úz”õ6^Š•¯«dêIÊjuÉ™K‚Ü5ï`Ö*T”à€»²’æ@¥%U„¹Tlm7i™%¨m„Vë�lB7�•+ H÷’ñ­àÕ�¼Sj·B* ¤�˜ëW…¯ZÙ››obe㼃64=”;¶$­#nr ÆT8¸îZ‡MÊìâU‰‹’úã!Öu‡÷"H’¥¹Ðwcr„¨ Äd-CVRê¥cNZÙÉb ä`ì@ùV×lpÞÛÞ²—6�ÉÜ3ƒæ*Y±„ŒÖU…°qÃè®��Hý꿾¼ôGYÿ¼?ß]ôV›6p]ùeGÜ>%q""�yÓ�5šêi BB@Æ+:+! d)&’_­Äö›¢²J±X×µ¸6\œÐV·-–™/®D›\Þ^7¸ät)JÀÀÉ#ž+Ñf°ž¶;aÿÂ#û«`5�ULŽ …JkïR ø_6Ý1iu,^ql2Ú“€ —�“Žy®[Ž–µ@œì)ÚnÜÄ–±Æ× ¼¤�”Ѧ§Zei)ºvçsµ.kS�¦Vâµ AB‚Pö�pzS>�ÔºjÙÇnï#ÑX˜úå6üuÝYSIJpPW ¬õ©M©êPÝKÖ|UamÒ¶yóãÀ‡§mNH’êZiŠÐܵ’09>5¥í;aiմ柵¡E*ˆß}•p[5µ�H‚Ô»žbDE™m¤²²q’€ú€ÛÔ$(âÐ#�\v]A§ä@»Bv,]>™ °¤{÷’â›x,ƒ¸¬…çã­9GRr^³â«¿ðNÕûOÿ©·ýÕ<ÿfIbЛªô� Å1Ó#(j:Ö–•Ñe %A<õ Sgiš® Ö ‰h¸)Ö¹Í�òÚ�…¸Ñ;€ÏŽ<Ñ\å™çÓ%¾W÷×]­–l"[”Ÿft±ð}_ßYm›ÿæýaß]4RË H]È ¥À!%ß^0‹³Ò[�mÉ×ßXCm¶úÊ–¥y$Öú”Ñ·V¬:ÂÕz�ÒÝb$”¸âQímèH÷€r=â´ØÆÄx-µ�Á¨´î§°6ÛוKe·–¦Ã‰œNôõAR@Pϲp}Õ K…?ŽH#ý2¿¾¬.æ™Òš†<躩ے¶Mõ„'Ó{⸆÷%C%µ$�:šè{RZ¦é—eͽ-ww´Ó–·#¸ËŠqr Þü¬¯HRO\õÎqãÒÁj«©ÑäB˜ìGæ8]iE+îå÷‰ÈòRTR¡ïŠßu…rµ\äZçɔ̨ÎÝoÒJ¶¨uƒöU§Õ¶ „}Y^‹:\Çã!†ŸmçÔâSÝîIImÄ‘íìZ9)<ÔfŸÕÑ™ÓÖËeÂìê’ä[².hq _x·[ûÆóƒ»×äpy8¥’ÂB\ ¹²›·¤K0�¼ô£Žô§pNÝÙè Î1R­è]j©2c", ôg×M™è [¨© ‚¼¸ ÈFîµÝ§�²ÍÑ�éËÅÜÚ›£sÐú£-一Ú�¤€HW Œð|Å4#Ué»ÅÞã.÷>+–y7Y—kŸl[�%µàGy¾Pâ‚FAR@ u¥‚XpU»VKêôáÔiôÏ¢S'ÑL�Iã½Æí»wnèG8Ç8Îk�-É bl¬¦W÷Õ‰ÿ¤£‘¤BçlU•i2Š�p™ŠsÒ-÷{ʂҖ·ƒ·æ‘HÍ,‹‘qžZJU&B’®.¨ƒúkOÑM�ó5)EjZavŽi#cˆì*/覿ÎùšÉÆRs‚~&¤¨¬j7‚ß•ÔtωX4„¡! c�Vê:(¢Š"(¢Š"(¢Š"sìÛñÏÂ7íiå�f‘»7üJóð�ûZycÙ¬°SZO«ÿëúˆ§û_°)IûOÿ¬ê"Ÿí~À«h9¸TÓó£Üµ]ºù›µOãõÏâ×ì‘_Lݺù›µOãõÏâ×ì‘Xªæã·Ð¬Òó£ÙêÅQUjÙQEQEQEQEQE‰@¬¨¢,;´ùQ±>U�EŽÁAB|«*(‹ ‰ò¯B𬨢"Š(¢"Š(¢"Š(¢"Š(¢/zÑȯ(Íd^î5�­ÃÈZ³Ü|èÜ|ë QŠÎЬlÂËu�cŠ1X×+;0³ÞhÞk 9¬í ÆÌ,·7Çb±®Sf[«Ð£XbŒS\¦Ì,÷šÄª¼Á£¥ ÉY Ñ^fŠÑnŠ(¢ˆŠ(¢ˆŠ(¢ˆŠÍQ;ʲ¢ˆ±Ø(Ú+*(‹�h(U•Eˆ@•QEQEQEQEQEQEQŸfÿ‰^>ÿkO,{4‹Ù¿âW�„ÚÓÓÍ`­‚™Ò~ÛÿéÏõV¯Ø_é?Â?þœÿQ`Zý�V°sp©§çG¹j»t5ó7jŸÇëŸÅ¯Ù"¾™»t5ó7jŸÇëŸÅ¯Ù"•\Üvúš^t{=BX¢Š*­["Š(¢"Š(¢"Š+Å‘“D^ÑZ‹ÈówÈúˆ¶ÑZ»ä}aG|�¬(‹m«¾GÖwÈúˆ¶ÑZ»ä}aG|�¬(‹m«¾GÖwÈúˆ¶ÑZ»ä}aG|�¬(‹m«¾GÖwÈúˆ¶ÑZ»ä}aG|�¬(‹m¬<’zŠØhˆ¢Š(ˆ¢°S‰IäŠÇ¾GÖE¶ŠÕß#ë ;ä}aD[h­]ò>°£¾GÖE¶ŠÕß#ë ;ä}aD[h­]ò>°£¾GÖE¶ŠÕß#ë ;ä}aD[h­]ò>°£¾GÖE¶ŠÕß#ë ;ä}aD[h­]ò<Åf……t4E•QDEâˆHÉ­eäyŠ"ÛEjï‘õ…ò>°¢-´V®ùXQß#ë "ÛEjï‘õ…ò>°¢-´V®ùXQß#ë "ÛEjï‘õ…ò>°¢-´V®ùXQß#ë "ÛEjï‘õ…ò>°¢-´V®ùXW¡ä“ÔQÊ(4QEQEQEQ—g‰Þ?ðÿµ§¦=šEìãñ;¿þö”ôdzX+`¦tŸáÿNªŠ°-~ÀªûIþÿôÇú¨«×ì µƒ›ŽõO?:=�j»t5ó7jŸÇëŸÅ¯Ù"¾™»t5ó7jŸÇëŸÅ¯Ù"•\Üvú¥çG³Ô%Š(¢ªÕ²(¢Š"(¢Š"*6äâ÷¡´œn'õT‘¨Éƒ3ØdÿT×zP3Êãò¹NKcq Šx<pµ|ëJ‹ÿά}µ8¨¹ð©,�"Ú×}Ô³Ñi³6¬WøG•õOUú>Êõ £§f¼�vGÓÈuZOŠV†ÅÊcè�·ä>³„!´•)_)¡ŽÎµ£�¡Ka¶çàÚvRâ¿ÙÎj!ýi{¸²¸:" ´¥�Œ.kˆß2Hó*ÁÛŸ!Óκtý‚Ë¥›F¾ÕR¥Mz:Öô>ê–üÙÙÚ8ÈûªŠª¥â3+#k닸�Ø ¯Þ¬¢iÖÕ.$õnïKjrZ\[j[‰RR¤ž H8 �ç}(ð_Μì ã.j‘pºÄvë!Ã2뵂üGË›J àøxäcŒÓš4v‘�¦ÕzJU*#HK޼ó…;�<ã�ï‡^*TZCG:0ã«|/`0?ó—©Š£Xã‡j¦Ã’¿œ_γ ”Gáó§ËÖ’ß*­ÜS7”Åç;ÈÆqÏNzœ q\Ù½C‡+FÛ,ö×ç®`L‰+ÂÞm#j°€<Àù•ÞZŠ6�¨Æ¸ß,†D÷.z³ƒ‰6J(T“ÕÅüë§¹”…»Þ¤�…dd�~TÌÝ�è‹äf/Ñßm–ÒR–â9á8à“Œuã5ŒXÚ¯WN¹_åÛËL°MBm z#MôAñ*ÁÉEaÕbV€Öêrì-�…¸ú.Wœ´››ðKá— ö×ùÆ·5GÚ+?í”f()  Œƒàk{Q†zU¨¤¦#èB53t�‰QÍ@B†ñŸ³Çéªó´CªôÜ”¿èë¶÷޲Ò2…}Uz¿#VûQÇTŒ-? P­v[„pìim©µ§Äq�G‘º¡×ÑÁ±qk@#ŠJ™v€pWÌ‘õfª�êZfàëŽ(á)K($Ÿ jv+šñý:ýôÜšf+D€îÒ·ëµ;yÅXZ;³¹Ú;\?H © ë±¦ŸI`ìHP¤• €9ÝäœÓN¡Ó·¸]±›ƒê”¦’]Üz¥22p“ž¯&Ò_#ZÑ�Wà´\8â-‡ß/æõóËš»V±±kžëaiÜ‚¦71”ò*ô¶º§c¥J9È¥ÎÖ-ŽO·9r}äÌaˆ µ*$¶VÊ–•q´$!KÀêÑí-°9­Zn.¤+[ê)A"¶V©_‚5¢ÙW÷ÛäöîÎÇe`%$ǸU© {3Ôwk2n·5lB‘¼3’2:xÕ]ß6n² �éiCáE(l¨©ÞG¿ÕãÈúsIë…§ÒdŽä½÷k8 ƒŒc�?�IñÆ’ª¡£†:œ'g~wS4UC ˜¾Vk × ƒŸ§ubï² @m¤¡¤oZŸ} !°N9RÈ"¼—¤µËEŸEv Á«a\YHR[8' $�¼É㎵dö�¨-—-V˜°Ðû–õ­ÑŒr—Pý Urº¯@)SAqÛ~Ü·7[ •nì�˜5Ê›â*ÆÓBé!h%·Äbw^÷^® A¤Ãç‰å·8k >©Bߥf"3K½ê6â>à* De2ˆH8¨,'’ž•œ­zÞ‰©­Fÿä’¶–£â VøùTìÒ.V§T¦Ð“§{ƒ)IïÉ÷ æºR¶ß¸1†ÃÍ==}Ã|€´�Èð#ªkýv¬<»åìÕîVnøF�¬Õ%×ïž$xä—†‚Ôf*Mò æ>,°ÖV ç…Ž9÷ãʶ± .�Á“:᪢†y,ÿ‰2§‰QÎ}­ƒrsšž— Å“ÝA}Hžâ#-*ÉÛÈ$±?:‰Ò÷G.W ZÂT¯B†Ó ÇG�îž)RþÕ8£R"ÒuóÆ÷°6ÍÄü£p=T �‡tu4бÎ']À~óånõ…ßG5 ¹Q#ê ’g¶”% [M´ÀYÁ ’IÀÏôN3QÖý}™1¶ZÕµ#j”êö¸�€$œ€¤ Ý1ÇŸÛMˆ‚§¶÷Èqn°è}Ö Â�BÀÂ�ûOçf¤QøÅµÉeŽñ»‘�Ñ� ¯Tåθ'ÖõzõÎ1Q™§j£ii=mo–L¨ø[GµŸ5ÎÇ î{Rd= -è¢RõoÞ‹è`wp·()@žB”08ëPÒ4ž²d�d@*ÉÚÚ¦²‡ | IWã¯4ÖËÎ !Ô…Ô½Éð Áý=MM» +IÊ–•-¤Í}’R ZN}UqŽNsîѺ~ª7àÓûG¥–j¾ eµK…øbq°¶<wŸ|µÏr Òìy œ) HÈþñï©}ª-¬ßYgTÃmÏ(!Ç®!lçùCaÄÑÚÚ”þ¶u´�Rš¦ñµ!X)Ç¿#á_-§Ð¯¤ÚG_Q)pykHy;úÕÄ•��´ÂÆ€Eñv'È(¶{6ÐRT–á¿KŠ f{ë8óÀ=9Òi¶+nœ�nbØÁg½/%ÑÞ­y(Ù�hŸ¬jåì/´†5�ßè¶­PÚS´>©M$%KXRP @ œ|*¬íãü³kã~–?KU"j'Ði:f²Y ]¯p÷“pÀõ¬2vÔRÈK[ql@zKIȯk{5‘¯N«MêRØJ0@ñ©6‘¹j%•Yß*q)ܦ ë�#\!ª}Â4D´§K‹öR '=®ÎÊ4ÉȽôW£]i}ò\Pq°‚J› `€¬€ztªÊÉœ&ll}‰¾KÒhØànŽ–YXAã|<º— ›²HM)â„8ÄŒ“'sËðOŠTÕv=9ç•)mŽï¼jBÖ‡^QÂR“’8'9­ \Ô�:úlBïj’óÉmÊžät�å[÷c;†Hõx8°ÑZ­MNjÝe�èáµ²tºR‰_\  IÇ>Dšáý2¡¶qœùªúšÑ+K[Z è‹øÙP£@kLÌú5—\uèè �øQœþV@3ÀøRs)O¤–žskêm{Ù�‘I‘*|¨¬¸TV¾ëq@ãŸhŸž¾8ðª{O>¦´óMÄ”¶Ð̹Œ•4ÂV·¸pFOªEv¡øŽ:[ÄèÄš¦Äž¾»ltDZDµÑAn8Ûz¯>c@÷�©?ÖÕÒKžÌ¢¢NY*‡mzL¹×di7 z�,¹•ïZ€¢“�àîGôÛãÙgê‚\k{ïDœ†K±cÓã4 JЬíéÇŸÜ;ã n)Ac–}Xeׇbâÿ„*£¸tƒ? ñኬ¸Êm%nIPJG5½Nà<9ö°*Ò‰m´®áq¹"ßnq&/­K[ÐÛ½ê=vÆA))*ÎR|Æ KGµÛûȰط[#µ%§C‰ôd’Yß�Ê@ ÃÇŒWß‹iC€‚œmàp¹ÊEð•Q¸‘öµü±ü*Ž=éOŒ·0“äN næ>º±æXtçÑÎKúÜ´'jb岕”$í+^Ýœ|sžx­*gE¦ïô3‰·ƒn„!„%Æ‚”õJŽA;zb»Ó|_@æ�­.\?ÌÖ³ü%U¯ ÀgKþyuy½^áËJÓ)B9Æ´sŽ£¥\�Úìϩ˜0Õ*s©C‘Ö…%B…‚ s�ÙÏcš£µ]­G25¡N*ÚÓÊô^ø‚²BN^~u)šsGé9‘BXæã�·aóíµÕv‘е:45Ò¸ïåÙ tÆ©Œ¸W qúA´´Èu!äyãwgÃέös¡c[#ÌžÔÆ»ò½‰e_>¦3�ªã¨¯˜;•9±éØÍ:ámé’�Ç B�÷e}åo¼5iЗTÁ–ʧAJÝJI Û“Á#æ+ÍVÒ7ú‘˜9Û"ÒKCȳº¬rê[2©¢�èÍ9ꃇ^ §^…ìÙ)WÒi+¤ú²sþw¸×CÝ›iíBåÇR¶¡n÷ís�ËÏ#‘Ks»\ÔöÝU í>è¡ß¡Ö(Oø¿@„gÞ>dÕ¼õöf£ìfÁ|ž¦íqÎìa9‡ì®J��ѯª„½¸`KÜx�EÒŽ`ú¦ÄàÒ ÜÖþ—ËÖ×Tìt©G9×QöoÅð© ½U¢Š(ˆ¢Š(ˆ¢Š(‰Ë³�ÄîÿøÚSÓÍ"öqø�ßÿûJzcÙ¬°SOðÏÿ¦?ÕEX6¿`U}¤ÿ ÿúcýTUƒköZÁÍÇz§Ÿ�Àµ]ºù›µOãõÏâ×ì‘_Lݺù›µOãõÏâ×ì‘J®n;} Ró£ÙêÅQUjÙQEQE¥p-;îÑ“þr¿ªk¼ô®h�-ýA ¦À*R–'ÈUv¦!³0ž#ò¹ÊÒèÜÑ™j¸^-–VŸ¸]Š‹1ÕµÁÁ}^ #¯ŽsöRôÓ.ý© ía!¦»–ƒ� …á†ÎO<AÈæº5-�ÉÕƒtp"4%)e…x«ù'áó©DÜ™{RHq¥Ò»c±‹{yÞ¥äû¹¥t}H}A‘ø�H€÷]ªôlÔ°Æ|š —n$Û/Ök¥¥92æÁ¶Åœê[ÿmK)NxÁ ê¨9— ñ.Œê@—oš•C0bì",3à|Ž1ÿ£Èƒ�vpö[dFÔܘ/2Ú]P”7„ãpä ò1Ò›nw»F·ÌÓ·ÉN»2 ¶û�HÉNð’’‘•]*ŒU.¬:ݾY_©D¥{`»$~œ›~üÅíÖ ôEâçk™2þòQ.û5Kt¼ÿ²‡@¬p1ÇÀâ¤.šÓSN´F�w³Z§4RÚŒ—Ê#´07 p¬uýƒŠÓªtþ—›£âj‹$ÝLËbäˆ2#N”…Tž6¡$()>9â¸&Z»>±Þ›‹p»jv¦!¤:PXiÑ…¤(tðj$´±NCÜÀà îËxV,¯§‹åf±íôSt~Òµs2ZyQ¬ùb?vµ¡j WÔG«„ ãŽ�9â´ÆÕú¯èÕLN™r1’½¥qeŽýÔŒ’³ë`•�s^‰ºq­z»DT‰Í²ÊÚdÊ„Û}ÛÝÞP}P 䧃àkUºi^¢�ec¾SqâªCªqI<úÈÀÚ”ŒdŒqöšÍ.‰¢™ú®m�UÿeG›J–�úc° [àÍÔw ºu ò8e1c¥˜VöWží%C'ùDžµä aªdênsdµla8¸övp!k%N•-D(ñޏ®mX²�g§c«ÆpHS±ÜRƒNíÙ€°’29>>5ÉtÕzÎ×§å]ìqlznÆnŽ–œq%a=Rω&¥Ôèê@íFÇ}QlðjU“œÈ¹7È-Ô³úFm–r,NÙæ@*P nd%%À<=pAéîçŒÕ‡¤ôÕÎþ̵ACn*2öl*Ú§=PNÜ�œdqÖ•ä½rró,]êÝm¦p·J°SÁ*àý…Cài·³½ErÒÎ0;Øî9½ÈëöO‘éÁ÷ñý•Ú•³DËÀëõÝòETA•€v.yv÷ Êq‰,¸ÒÐpBÓŒ*mìŘL\Ý»\]m˜‘PRçE8®G™Æx妮}I¨&6ü4»äÊ]Co'”:�…}ã'>êÝ®`X4^‡—wEµ×¢Û‚ŸSL¼Pâ·a*¼ñ�•D­Ó§fiÞ,òºÓhØY0y8 pÒ I±;*ßp+~cai–„…/R’0àN+æ=k®5†‰Žt½ñ…¢ëÅ®,Ö’Ûͨ(oOO­�|jÙ±v¯ y†¡_nÖØ^È×(åm ¨ê”nÀêIÈñé’k³Qhè§X¤À~ïk¼0ÎUåBû äµ<àànJ±×ÝU4ó:"+ŠÊ6LLÍ}ÈÇ ùÿ¬uê7£M™†›e m+ÀnÚpùUéfüM ¢õèÍ@í¢ó¶â9iÀ=G‘ž“â?W�^v_Åð9ÎÖÅU\’IÍHÖ™_‚5º´Êü­Q;ö?m»IÓÒe‡§%: ¹N:”€¤ïNóÈ# YAÊ‘»G¼K•¯õ­"“ff[l¡hÊ’W°SâARTAç­svi©¡i[õêã5—$£ºl¨%°­¼xøô¢t½Òy¾Ý.6Ge–’©² Ù”oJUÝûÆàq×�Q ‚*wO$‘í ‹â8Úû—¤~�å´°¹Ä1™a™9_¬aÃ~õÕb`jÕ¿¨Pûî? Ô!ЕÈRTžAÁ0|þÖÕö$«„;|8“�ôÉ-E[Ò›îSÝ©a* äžFF|Ò”Oö+Ðÿéú8Ã"i./œH°¸ ¶$Xâl7gåÙñn�y’m¥µv$¶Æûï½a Ëê'>ýÂßf´Ú¡û§&ISÊÜ­Äm,“½Jð8ÂGLV­d‘3äX.–»Ãr£©Ì®ò(gÖïr F�zWm®Ù"Dk$ et¬¤§ÕVÕ‚> ®±j¿",éWDÙãá÷N%žûÒ\Ü”oÔI9I'­nê8¨ƒ©Æo»pȆ¸ �q¹ú®¶ÅÚbz·¶¡Ò\2ÎÌp¶e­Sn ݸ޴ôw¤!M0˜­¼ø ƒÝíïAÛçÉ�²ºïq y&”pÈŸjY˜fÛ- %jY à{-¨GœW;ºaÉ6Ël@…)q’àVÜR¡ð>·ZÝp±Ìƒ§§d8^�%–Ôâ‰'ÙpŸ‰Çmt Ò:!+޶­°·×«{p·Zä>2­d†�Î6-¿ÿ kx¨yS5:âpíÚZlv7:†ãÜêÓŸh€Fè<+�íe ÄÈvcÒ]} ´Æò OEdŒû³ÀëL‘tÜ;lÈ ‰1ÝD�Ü¡kïBBw%d��w¥}8Š¥Ø}ÙqÓë(nùÕv�¡Ññ°˜nr8·}·Ü†w¯Kðþ•Ò2»^_§vÎǸñ¿ršÔ"òãr½E�ñS²†XS>±i(JB‰ÏÏLV¸:.ÿr�øÇä¢C�¦ËiϬN£’¢žRJO�U©ØŸhÚï Ã}¨ïKmµ"ŸYKDžT•ãŒá_ð©ìøº£GѲ(ã2ÀÞÿHêã—ž »Jü,Ç9Õ-�ï$[zú+BÚ´¢­IªJ¥ªÏ %´”–]u I[‰V0±»ì¥ÝŸiËè•Æýñøò•—”I €r’O„ç¥d�¦¤»)‚ý±EÆö8™ýúUœ‡pQ¸t9zcšâáNæü¯8çvޱáÚU£ªô˜.t‘´‚p;ÅÆ6îR²ÑÞ×gj{i¼6„-Øoᵕ-^¡<+ÚÆ8>ãSA•)a CÍ¡‰n²ë¡µÖdaXéâ>t„t�ÝS2vÉÒí)iŽ'»~3€�©R°rœµXðÁÁ4tv–æÉ]ÉÐãM¸£6íܶÈV‘¹(Ê”O˜�Bló— ç?Ÿ¹³IiÝò°]—w�•”Û±¤®,¹KK�ëí0ËH-¸@J™> õÀÏ'<ƒÆ­C§æê “Þ$Iú6<”¾ˆbßè ;�»'�åU?h¶Úrlsn¹ËqQ¹†Ó-…)ÀƒÇ‘LcAêûž–“trá)´6¶ªB[Æ9à¨aJq”�~jA¤dQ6q(mðŒxaš­EÕ.0¾+ê›ç†6ÂývR«ê_¢-rIK7{³dlIæ;‚OŽåŽyÆO�RAk3qjÏ g⟞Ó7�Mq�ê_zç/…:êZ[ΓЂ#Ç•õU¢Vžœˆ’Ò°éJK�© AÏB•GüjÿF6±k�~gùÁP|@*êe3ÊÛ4`1 •³ü­õúõE͇— Ì•%��•)É%A)Ç Þ¢|03Ö¾±·Ã°Ï²™p]KŸHå)ÅáÇÔ�B�Áç¡éLjâ¾1Ð=´ê-hjÁ Ï`�oï‹Á¹q ”¥«ªŠ’¡“Ž2|8§ÛWð�±È–‡î:2]±ä•ý®Q ’6þ XdžyÀÏz˜¥tšÀ`¡Q˜ %„�N{Çe•×?Av~/p¤Ü£ÊŠãGl+l•$'psváŒgÏ'­0ßîZq­Oéö]b,%$4Ò�ÂPñ$“Öª½Ú€¹Èq–µ¢bÆ_±èÁii98ûáõ2>'4á=” %ÖmøÎ ¶ëj J‡ÄW˜ÓõZF*sdsÃ-üzóVt4L•¡Ž$ŒGBÙ¿G¤*:Ëø¢>¤kد(Š(¢ˆŠ(¢ˆŠ(¢ˆœ»8üNïÿ‡ý¥=1ìÒ/g‰Ýÿðÿ´§¦=šÁ[1¤ÿ ÿúcýTUƒköWÚOðÏÿ¦?ÕEX6¿`U¬ÜwªyùÑì UÛ¡¯™»Tþ?\þ-~ÉôÍÛ¡¯™»Tþ?\þ-~ɪæã·Ð¥/:=ž¡,QEV­‘EQEQzQa�"êë{å;‚TçymCûh=+„¸–®ñV¼”…+8þ‰­›õ× ù��Yöºä[º™aè±Ú)'ºq•¬:ŽHãð®]2LKt[g}n\=áe4{Å#9RCƒ$àg&§æµ [mzKJq“íà<~ûªùkÈÂJCHß°äœóž¹fÑÅŠãQQ ¦á÷º–À©Z}cNè«�¤=%§T·åYm´+vR²sÎx=jRàÆž�~‹1íY Å. ¹6õÅ— o%A+R‚Â�¬ŒîéƒQšQÜ­î8¹ %�¤ �¥x`ÿÆ­-1vÓ× njϾâR¥ÓÄg¹ºÂCšq]M¬ÁØð*—×3­?A5Ó¨m÷3&èÃËnn$¥)a+�‚sRˆ×zA…»UÁë3ÃÑY-ÏzÏ@QS`„-kAP)'iÉðð«T'G]íºÁ 2J°¹ ´<õÀëÏZ�‹¢û=º\Üvn™€ãd í RTzò’2sXt.#[y\9%ŽTݦê=C2ÜlmÖuÛ_|®ÒÚW†[@OÀüiÙ¥édKnb5ÅžÒøŒ#ÉnL5¼ ¤¸µdaiÊýè­+Ù®›�™ìÌ¡jm(8ô�a¥¢éˆ’¥^'Ú¢)>¶ÆÔÊV¥“ñük1Âæ fœV¦šÄ*ºñ2 ­Iåâåò%­wÏ3Lä¯!(ܼòž¹ñé[-Ë·5-2¬z*ù~�ÒÑ•}xª3ç!±µ<{Á«’É?K,ª4Ë,FƒÊ%´íÆOcʰ·Ü£Û&½"ÞãÌ´•¨!¥6¥‡:å``{³ó®SO dÔ‘ÇX©  �� «¥-W ÔÙ×íUuŒÝÉåo,¡±Ý¤Pòp”Œ¥jçƒàAñΣ»@í¦Ù³¿¥ìvÑ3Š~C‰ )Vv£àO‡TjË5ÛJ\×d¾LJV˜éï$­% $ œgÀñNŸÁëEFÖtMŽóì B‚BT¢Hê9cíªÚ-•YPò'k² Ç>ËÒÖQÒJÇ>7–a{á�ûR²{@·2ЇßuœµJïœ,ÇeJÀQW<‘Q—�q2AyÛ}¦|9²C m,ghK€©eÎõ2œöÕ×~ìvÎÕ™ÕBel>Ú ’´+8òäþž*¤™Ç_ròÊ–Ž@Æjúƒáê Ÿ™�~�· ;ƒª©äÎùH=G�øÛ5•ïZØa&ÞÜ‹„øò{± -¥¨’V¤íã ®w5lÉoþ›—Þ•‡�Úú}ç@oëà>±-à��ÃÈŠìsO¿wÓÓþŽ”˜3ÛSE§p’2w$y¨�ÀãÇšÞ¯áÝG êjåqy9d7wnQà©’w²(cÄ3ê¹[×·î’ß·iYïnÁeRC8=ÚAIÎFSž�tc>\˜è¸i™1b²ðyÇ%/«„¨ϵçáR:WHÞµ<­Jüc)™Hm 2AS�oï o#ÅKÝlcGÞRW�Sý‡¯¼¿.øf:ÆÒ‰¬mgß œŽ|z³RfeP¹|mÀ :­oÇZWÔûLµcº<™o¶ñˆøa·¡­t¡@mõq’¢9'?*I²ö-sÔ�[õ, ÚÑy˜×yÚ†ÜHVÐÞzïclÝæ/¼”•+//vpŸw™>üU‘Òô²D)s°ì¿WR¶ mFÎGNâëý§Iµ®`´%SH @ p8ÍJ_-V_ðqÖ¦Zâ�Ãm®ñh^© dçn Ç�V÷ UpF•mÚP�ëÍ÷ÒRØÞ�*éåOvU-¸)3ï²$µ°)*VÎ<†F*5´pÂËÔSSƒG À°°ëôK×Ý3mµ²Î¢ÓðîÙ ¥+mè’û´HNÐI<޽¨]aq“t‰`™&o¥)h|’´€âOÞó¸ŒzxéÖ Æ³ÚL›|ÇŸy°†Ïz¾‘ž@*[—-s½Îâ;-¨8´¥’£ë�ÄçŒäxTÚc¯RÍa•íàV4Ý#¢Ÿ á�­þAv£¥dzV(éY•~¾p¡®òbÕLÒDvÝxü:{ñMîÒ¤]ݰ©1! ~à”€ùRF¸–˜0Dµ¤­-8‚¤ƒÉ†E(Zo*iÙ* žén… @ÂS’ºª4Ž�eSµÜ.@Á\è�"êYw_øWÓruŒVµ4g`…+láÔ§ùJNTŸÒqJÏkÏ¡tÄ6”áJP‡€<�Ù9øæ©}=¬æ7ªÛ‘Þ9èà©%DpECÞ/OK”S¹A£œ¥] Yÿ8×ÈXþU³t…$otŒÇSÞœ®ú’;6’û5w/¸J …øøÐyô®ÎÍ—!Ý=%À¥!ÿ¥�P¥Œ¢“‚~B¡4}Å›[ªÔ·7Øz+ñ\€´-ºœŽJ9á]#Î¥áÞuî²�"å¦`ˆ0ÛR–¹K!;•âJÕí(ù šµš‹kŽ1ŽòrÃr“K^`ªÊož«s&ûóÀ'�Ã�Ú¤Ú”�“XûïvFKŠÜw-*þP))ømAÍB ´T—b"2žq–äÊØ½Ø@îÑ¿'h>tæ�%Jí5N®Ù]Õ`¸AmµcÖQ<}¤ÓfŸF¦iJ´ö�ôÆ#(¯¹•“êÏÎrGêéUƒEÉ ®ßkÜ:ÕÄZpI&ÆHˆq¹ivÛz)û‹+—p™>Üón¥Å-ÇaÌ­¶ÖIÂÒ9ÇOwJÇPEDˆMÀ”´ÇmøñeçZ.7½´ƒ…$rRr qŸ G×S4Ë·(Òô5Êd{Ú'c(- äç�1Œœ²·[µ>¯T¿JU×)o~ܘÈZ7¤î P #®+GJ^×AêÜ›–]¦…Mà•€î»HÇ/1eeCÓV­Wq�¨P#¢,†SÑá7í{ÈÎ Oéú*oµ�9ºiÕÃÓϰ›DFöz4e�ñ)ö�’ˆòÈ=yÍ!ög{¾ê7Û|�Q-¹°Ã�°i%×HIë·¯¨<øÅ?v7nÕ™WXš–lÕ„¬>ÚJKk’J‚ÇR Œñò¯7^f£“hç‹Çbno{\‹�øQ�#\ÐX-áØqãøKZ4ÁÐ}›E“ÐíÆê°†Ö‘’„n•óþÏ*¯¿„ýµó­åKi²[l¤¸ 8Ho¦¬­/tÒ·-u'L¿b‹ptL}Ö_X-4TT8û~Ú€þ×Û/{&Öå´1pÆÁ))¼6$€N2%=|ªÇFM$zY¤°—8I¶FÖî-4ŒL};˜à¶wákâ·j •Fx;OŸ?X©«zZiÔºûJ- îP Æîœ{ª.#®9µ™+*?{R¼Ç¾¤Øe—qƒ%¦V‘¼•g ÿ4`kÜÔËËèlçæ îm§OÊr\/Fz؆YÁ)ÎRG ðö€ãÆ”téòf¹É‰•úÍ¡{W(öOÊ¥ÍÝà*,{’ÐÚØÙ´ÊR€ÈÆ@-ñöRÀJYÊ Èwg!Hæ3UÔ�pkñг …pÙGÀT�GYGÀT�Z/Š(¢ˆŠ(¢ˆŠ(¢ˆœ»8üNïÿ‡ý¥=1ìÒ/g‰Ýÿðÿ´§¦=šÁ[1¤ÿ ÿúcýTUƒköWÚOðÏÿ¦?ÕEX6¿`U¬ÜwªyùÑì UÛ¡¯™»Tþ?\þ-~ÉôÍÛ¡¯™»Tþ?\þ-~ɪæã·Ð¥/:=ž¡,QEV­‘EQEQzW©ôÄPâÒJ¸#9õ w•5ÒÄøî¤BŽëÐÖ@¹²å?ö�ØSûvÿF²û J$¤d¤«)>ìà�a[dEm§8A óãç\ÆEÕ0ûÇ‹p�¤ä9%{N<Àê~ÁP Ýtû²B}>eÅüÿжlŸ-Ëçÿ–²[ýÇ(TZ:¦§ûQ�Ç»="ÝcžÞ× Ú­ÉîÎ1Óô ‰�§HR�bfѰuÂzøxÔ¸“k·ÇlIÑw2\è·\uA„ž}Ø® E û„T;¦´ž¡nYX*CÌ(ÇÛÏò”söR"�´ü®=êwôZ†48‘ÜqY¡¤!à‡î 5�êÃÞG…NÛá¯b×k¸¶‡Z÷¡Ô©$ù�’’yU{­.Œ[žr$Tí@t!DòHÆzûê+¾¢¨sdl·kY­`ï|Ç�’¯žZ™dJËàÝö8cî–§jgîZé¨Ä©¨-¬¤´“�äÉûkè.λB²Û»—$E–[hàm?Ú+çûgš‚åtfé§�aÕ[Si ’pIà}´÷4È ÏÐ×Ù×0ЬgàGê8¨zuðé'´ÈýgÄ/_¡¢Ž–’FJÍV“‡gå} víWGÜmî3s�>xÚ¨êÝŸ.*‡í:îÛú‚;[Ö$·¼žs€yûsSºfÂn4¢Ý§ç[ „»9D­„á(Ç©É'¡â£õ¦�·ÞæG³±"}©È.þKö÷–]^Hõv§Ÿ’G¯/I%=]�9c¾Þ ÌÅKOLæGrâ26Çè Ž©n4�á>6¥©á\` cçLúUwj2n—‡ã%Y¤¤À#þ#¥WÂÇwÓÓä[{»ÀjBB€Z|ð@9÷ê‚ë—-5©ie¼)IX+$aN-a@}RƒÐôÆMzŠx#siÁKdæ8Ym¶¸&=jäÝñäL–¹°V¢�”¸  À<çŒóú*6ÚòžT}ÎoJSœ”Ž+ƒSÈBlmCŽáJ#¼„䨨—R•¥}|=œtãÍ¢ÄÅ>©[)C¼¶qÁÇ\~Š™M [0#ù‚…§ký#16ËýA<£¥dzV(éY•p¾d•5÷‡TP7¤‘‘”ò8øŠ¯WrL¥(N”·h”å#*PŽƒ&Ÿ»Fh½cy°´ œ©Xj²ƒ…¡FGxÒ”@C›r”šÒ.VEï‚èŒäd)ÇlåJ)ÎvñÍté›[÷Û²ÙI ¶Ð/8¥89ðÉ �B†]�vôgЉÀÀÉ9èp+©¹³!¥q¢­L)ÿÂ)¢AXÏ ÏÕã8ññè+bÜ>Sš• ÇÊ\.åe%iÛ)·ÞôÜÆm«˜$Â}æwŒ… œ @�*q·jX—;[p¬�nóÜHÚ"[â,cóG:§´Þ«™§Z‘ Í÷ï�¿Byå†  © òjÆìïW[¬öé7auD;‹í)NCi}Û. ÷XNHèNy¨uÑS–_UÝ€Üè½&‹¯© Ù‡7#!ãcØ–õ5ÚU½7¸®F�c½¦DtFŽ•aM¤—\Z‡;¹l|M<Y ép¹émh¹wG®M´ˆÒŸRœ „(�ªVw'$§=xâ¸Ä×›×#YFÿoPG-ÅôÖ÷¡¥HûË gÚl 5#NZ£J¹ ‹„»–ÙkSÎ¥ØÌ©*u¨• ¬íI)NáG c˜UM:8† pµî/}ý«™†IçgAáøÜÖ¿²ý+Úm§KÀ�¸ Š·Ý�#ixìBŠ\ïɶ�¾ñÖ–¯È� ÀܹÑííEYîŒdJqR[ä€TÓ»’GAøT®¢¾»1øzÎ<ßA’à `°ZP!*Ýë‡<}U%XÀà*ÇQk[^³fÝnLV-úÙ—R–$÷))�2v- >ÒIçiöN~5 Ž3$b\Ú1¶ãs‰ã`ºº »ÙpNüðmð¾W>a|Ýy¹Ì±k‡nVie—ÒR´­µ€~8èpy×?¶íipµ˜+u†w§jÜmQ�ª­×k^¥›ô…‰Íº®ü,+'${�QR YÕ~·Ærˆ©}�YSXÚp9Ÿäóî«™é(ê5$•�ÖÈÙQG¤*`ÖºÂç�»/½siËýæÝwqësªä—€%̤}‚µÜ¹ßç„?&D··ëô@óòbÒ6¶í²Ðô€—e�R‡%HIÚÓÓœ=Õ‹�¹b¾KŒÃLHmOä8‘·¼ã�ðU»œÀòèÚ5­š“Je©-†¦R#8ï?ÌT4ûÆ<ýó( hä®JsÁÅG—J^%CÇž)öSŽ>Â%ÌŽ¶ûÑ– 謒>—gÛÙzìÓŽ<ÓHW++$`ôèy®QNç›?5y&Œ‚(v´n»IöþáªcÁ•d¸º-Ö›a$Ç}”ÖPH'^ÒAÈW'œUxÚTc¡åJÀÏ•9ªM±Èo2䦉y´¡eN'z†à¯h5“ÊG�…(Èmå!+K�*õT“ÁøWrë®-ˆ6æêß²þ&�€©޲þ&�€©ì¼j(¢Š"(¢Š"(¢Š"rìãñ;¿þö”ôdzH½œ~'wÿÃþÒž˜öklÆ“ü3ÿé�õQV ¯Ø_i?Ã?þ˜ÿU`Úý�V°sqÞ©ççG°-Wn†¾fíSøýsøµû$WÓ7n†¾fíSøýsøµû$R«›ŽßB”¼èöz„±EUZ¶EQDEQDAé\ e×îñfsPVH�ë½Ú[$’UáÇmwž”¯®],Û˃nR¤ûD�Ôyú«"÷ÁoZç€óa|OžPÞ…·H»ê w¹=TÜ6ÎÒ¦®´ŸhuÝNôÙ.¢$G[�Å[kRR àœgçÍ)Ûœ™1+NÈx�ì®×¢-–YqO8Pà$zÃŒg�ÑQç•åÚ�^ïEÑRÀÍ­8'[y*ì¹ê÷m6¦=KŽB#Ôô�ÛI÷’E@+Wê‹«‚=¯º†…h«z¾%JãôRm�–¤Äqˆ÷åÀq|)‰)µý¤uD¾ýÂZÕ%%YJ‹+é�y{ë–½÷«㉟S;ÕákÒªTQ/Uö‡":T,µ #ô“ú“P¾áÙÌF=î—}§QGéÀýU9%çVꕟkV�´N+C ÊËvP�ýw<ž¡`›ô !Ù¡²ƒõ²OëþÊå‡vôy"CQ•×ü\ìPø+ÑâÜ�M‡Q:© <�¬È”[kðIZ@È÷‘šKÔúÛWY5,ø�'¶ÃhYl#»JÒ'¦G_}T¥1à<ÓÖ´L‡-ï]AJe7âFzùæ§+é̉(•`’=e›�´ndl©éw„ƒµ KcÜ£Ÿ°ŽGÃ8¨MH½ö¥­i[n¥*l ÇÏßÐóî5maë„°Öô!*qjQõ:“]ú¹Ûj¢6•²×y³Ë=ÇhâçSjcŽ8�†â©©_jˆÁ;Çå+é™�±©#\QµF)SéeJPJ±É÷Ó[7K¨¹?>dç_a.á¥)K)>ʱÐá*é×iæ•ì¬0ZBœ’ã8€PŒ�C‰ÎG9Oÿ5I ÃSm¥S]i âß KV Ž9Ýà;Â>5ãšl½üìuíºË å1¦. ÅûrÝ9 ÎæŽ}¤‘Ï¿ú<_ÄÑðÉ(n’d!õµ`5·½”õ>ü+®Íø¢>¬(Éy‰šÑ²#¯ÑHÖ™_‚5º´Êü«åSÆ�—Ù¢aJzÞSÏ:ÚŠù$¯ØIêzg®©ˆ±K�¶eZ`¶´¨$ê-ç×)þÿ‰Ñ‚Ë+H[áÊ�HKÎ,¾¶A#ïŠþR³Æ<…?Z›Ó�mŽú*A˸tÔóŸ*ëPu‘èá«%È.8|ÛÈÌœwÛÉW©P Ö ¿� ä\Ôí™(‚¢— óÔcÝÍLJºëh±Â˜f,¬pJ_x­ï5©m]¬¢H×LäÙvs»e²pVµ¹�UÓ!$u¦ýS§û«0sºbBÈump•`Ÿ ‘ú+åZ{Céšùb2×.7m÷¯^IVüõ øuoJºi«µÑJ\œ,Ü¡ãL6  ¤¯ ägåš·¢Ë7='‚ó-­ %.9ÊAIàŸwWèk4øwiÆtpˆÍEt&Fó¹A@¤$cÞG¿��Hý2mKŠTV¨ÉÃ%á;|�º¬4n‘äTí“WäqµÇÒ1üãÛ‚êêX§›“Æûêåq‰Þl¹µL —Ý;qK0—ß ßã‘æîíI·5ž@9çUY=n„¸nF�&[¦¡d0òFä¶œø�’NAÍ_}Ÿ½é’¥L’úTK½ãH $ƒŒyñò¨ÎÕ¢XeO?ݶú’qëã>üWM%¤úVÎÙIå|{@ü…o£¤Šš Ójc†#1’ùöS¨ÓVõL¤Ý$we¸í�€’0¢3Óã�P7‰Qõ#!™Ö˜…´¾áï§jN9ø‘V<Ý(‰P“Ç[£j›q'iW¹C¦}ÿ:¯ï¯/plÞ (¶µœF8R9 ŽA]4UG(´í.—ùá�a¹MÒTôó]ó�;�ñ8f•tF¿¼[æ3l€ÛòÛuÄ¥¦Rœ¬« µô]âë§´öœmí|¦œzBRãVô€§’ <<|xú¤lº»MiW]›¤4ãi¸B$¿¹}Ö|·U$ÞîwÍÉÛ…ÎS²e<­Ëqg“ýÃÝ^¢›àÙ4µP–vcÏqÿhë̯1W¦e‚ “^z·w¯²û7¼Þu��w«\V,V6·¶±ßHwo]£§ë¨í)ª¤j‹”‹l;âáÎFVÃWH¨Sr3žQ´¤ñïýu üûP³BÑli‹ú—oT7#Ëq¸q*Vìã P$õàŒsVÝÖË`Ô7—h’a¾ãcm-$x)÷þ³P4—Ô”Oscˆ:Ç'ÇjRéFMÛ#1#7¼ ïÛØ¾_íòÛp“©-ìH‚ìGIQ’ÓnwŒ ó�æÄ¥Ö†æÛ %`’r®¹ãÀ ï !cZÈì2«x4Ó"¦Í.~üp_J¸Ù{Ò]jxI*ÜêrI?Ѧ=96$¦b·àµ4½<ú¹WzöµÙåŸU%´±gˆÕÙ µ9èÿ{Ww·Ú^Î1çÍPzoOϰ]jk+B]´¥'ÀÏ5ÙŒkgçùÁ+4„•Z*W-€ÕV§eÇcðap£~BŽG\x}µ‚/‚Ù _¬ÎÏt“–èí’Æýµ›ƒp×.DÙªÃl% xùä�‡S\s´,ÅI‚Ó1þ�œTW›tnG|•m%'Èàœô®]¯çé<ý¶ÚÌp™Ž•Ìx´òÐRQ»ÚFr“‘â0jSUëÄߥG›ú0d¶Å¹´œ)× ‡xê±Ð `|=õVHÁh³Ç½e-Tfò4ŒFë¾²‘õn–¸iké·]\eo‘»(9¦<¦Õ)¨À`8$Ô�i3›ª Ç�™JÁ $ñý¿mhÐPfMÖöf 2—¤‰�- û# Ö÷q“]£{Í8|Çc¹E•�‚©ÑC•Õ£n�~ЖèÏ沉0¶�úŠSü�¢Áààyäkuÿµ}{6ܦUþ Ú£„ñÞËïù$çôU¯®ôT�O`œ/½%ŠB@ÉJÆ•$ä`‚>Dù×ÎÝ”è ïV*ª¹ÏDU!E„0R—XçaÈWQž•KBêz¦ºY@¸ÏÆ*n‘¨šÌ ÆÛÁö¿šžÒ]¤ª%‰ÆŠåÖBd8§$$4­ÉlmH=¼Dön™/êçõÌ8..%†W¥\�¥½4µ+�U"V2'‹+Í4óÒº3“pL©6?¤ œÚ¹(õ‡£œ§Ç$ûC¯_ZK¿ÇD;ìèQÜÞÛ/­¶Õ×rBˆåM·M°°‰“-Ì4%´”�¥8Ñà�Ã#ÙõOŽzÔDëz¤LôôE ÈZW¬¬FqîÿíYt­ÁwŠ‘Ï$cYGÀT�GY¿GÀT�I^QEQEQE9vqø�ßÿûJzcÙ¤^Î?»ÿáÿiOL{5‚¶ cIþÿôÇú¨«×ì ¯´ŸáŸÿLªŠ°m~À«X9¸ïTó󣨫·C_3v©ü~¹üZý’+é›·C_3v©ü~¹üZý’)UÍÇo¡J^t{=BX¢Š*­["Š(¢"Š(¢ ô¥=~Ó¯Z–Ó(RÜR“„€I>°ðØjýÜ… È* nõ¶õéÇé v®!w¦ˆM3#q°$”lÍN‹»ú:j•âC ôŠßÜ\8¶M=q÷¬~º™fU­)å¹m8ä«û+iÔ!¦»¨Ñ^JG@_ë"£¼ ^F%}.š‘´ñ6&É€ìKÎý!!.Á,)\‚êÿ° ÜÔ%ºÂ�™+ ã” m χ�e-SçJô—c¬ƒ€21örk)å<Ð-¶[O'�ßÝYk1+`ÞÓüî\…ÔŒWŠ’„ðHVŸGYÞ¢<<+lf£úKM8óQ[ZÀ[Ë yœs\Ë[|3ÚÝg`ñ.©Å{% ó=~TÃÙU±»÷i°-e†’Ñu%ç7(¶„—9àF8æ·+E\•¬Õek½Xe•H’°pú�¤cÚ#s�“á]½‹È�eíÿ1ÄÈ}6õ9”íÂrR€T£ŽIML¥:®$á‚òº^¾*¨CI7àž{zÒhº„Ýí‹p¸ÑØ´”ê)<á?Tã¨5AB|6 y >È÷xWÓõŠ.ög­NÛ%ÇŠ˜ÎHåIõ\RFâ�q�ŠÆ|5óö¡ÒúŽÖC°ÍvFÕ:ÒiJ G˜8蜀}üWY\ײÊ‹�ÓÊ\ì0P÷‹º![žJ–·[RP�}c‘ŠhÑWö®v(Ï2Ød$W‚qÇÃýšU´è›�ÇQªß1L¹4DnjÐ]Û†Ô�°9Ç!'$xU­¢´ôM:‚ü«Dæe¥A­¦ŽÕèIÈÇÄy×ZMH�$®:B±õRk‘€À';º�:¾¦)˜¬A�ÏtäÖØu™Í‡d-À—Y9Ë„g Ǫ�9ê)iéÙ#IröÚ_JOI3XËX…óüÇÛ}(|e,÷™H­]Á) £Æ»lߊ#á\óŸqëƒ EgzmÈ ³ÆT³áœœ|k¢Íø¢>Þ„X9Bø˜ßeßè¤+L¯ÁÝZ¥~ÔõåWMºýq±hY“- . Œ0 ]á%O„à'ÄúÜpy¦¾Ó/“ô–žÓ·¥]3qžó)‘l•6ì-_²ØP $üzƒUÕé·Ofw4HYÆÂ·ÒsŸ³?etê=ifÖ�œÁ·jT¾�KoZWK}ÚÒµ'v}aÔc¨«´`’)v¬fÕáÖÄä-‡s¶+£$‰Àç»Å}Qô<”áq–‡™ÏªŽ‡U¦Tx…]Ü–Öé“JúKµ­4é\ 2WÖ][yu8Jð£È= =[/öëŒu¼iÆÉÂRyÈóÅb=<Æ€%Àï[?G\]™$ûƒ/¡àÔYE¶œ$­)…8'ÿ^4›-çLÉn*m´râIq�®jϺ7i�éu¤-•„”¥HV=xéá_; S*Úˆ)‰!ÒÜÕ¹ß9Ð� a<|Mm nŽÓ.þšÃbûîË ßµqކ®–vÕmS{ßwºó®aé§{«%ï*O¶õ‰ùÔ,}|õåÔ»9nMÎà ¨;·‰ñ©Ýc—d°Ûk_z’œO#Ÿï« !ð�|Œ½¢÷=Yù/k¡¾%3éã•£UÆ×¶8äoÚ¬�GÚ>¢ú4³lC›”ä�çšá›Þµeâë ^¬�1øÚ’¶ÔÚ÷¡Þ=®@oçgã5£4TÙw芻@�-ÉV÷÷0¥Fvp?”@OÛS^Ì´œê¹NÉŠ„JybKèi‡VÄ©G;”…/O�qøIðANYC\ “{,|g1Õ5´ç1¯ï½Av?d¼i‹””ÃjÝx¶MK«�™1¸q–�ÒÚRwr …ðž„3È®ýaÙö•ÖvxšŸM4« ©±–¨Ü)ŸT$úØü‡Aƒ¸qPŽé-Ô›ëáì©A·%¨o70ö’áJwë% 4 GŠ•� šÒzG³vo Û®O]e;n”¨m9rBR™ ÈÚ@ÆT@ÝŸ`ž|=4Ó¼Oΰê6=«ÅXbOg:>çe`D¼ª?£Æ‘µí‹'#Æs…sÓ�…_P,¶¦úJ×ÑŽr¶ÒœÀ9ÇÀЬìZnÕôs.F¸´ëážñ¥6´¹•4pqÊw-Nž@O�?[DËSqÀ—é‰SiõõHJ|#©ë€<ðSkæ§Þ�ûç#ÕÉÏZªõ5âìn³�m¶Ka’’ŸMq(¤“‚¥ƒà8§5d:Z�¥:Û¡(X@õÏ•!Ϲé¤Í½Å~á-{q.¸–Ô�T¯[É=à÷çÊ»h÷ ÍlpVÈ ›Ô½·ÜîÈ�.Û&ÕØk 9;ÁÚ½Ãq ƒÇ8ª·_@�é-)KqaÒâÔ²¥+ØÆIøš±çÍŠõÙk…u·ÊÿW«Õ8A)*R¹ÜP½$øÕm¯[wh*qÐáXtðs�b’ËZ-ü²ž£Hûçoü‚áGJÈô¬QìÖF¬W”Jšýa»K‹ Èóäq\]‹Øâêk•¦É2Ú$G�©ºþÂ{� c8 cŒs⪒֬—à–ÃJ{Ö¡=HúDi«¬­ y³]m¯ÚC�ö»ÐÛR†äx$`qÅpŸYÍ,�ê Úý…J¥ ×ùò÷ £µK=–«Í¦ÎÌE¿l–ÊS*(PÞ…¡EIPÜFR@ ýˆ-À(î_�í6ÚÔÙRRB“�zOJ±u•þÅp¼\®úw¾†nnÇ{äs+ÜâvîWÄ:ÑyÑ7w4ݾ{+ja+Zä!”¥ !%ß”�Hð*æ¸M\ØõŸ-ì1ÀÞØõfºËä8�Åð²¬. º‡V´wŽ49g*Ûï¦>Ì5êt}Íéf(}/%)W - ©ãû©¥:>sl´± !4T¶Üu“…gWOTþŠR½vW«aÍKH€Ú’÷x¦>þŒ¸�Ç98͵ôu 1JácךÖj)¤Ú30®I�²é‰öL"J—!Öˆm¥ÃSŠÉÇcçH3˜i¡O‡ÞFmÖÂÆ=E¶êN�¾ÉÎî ·bìïX§Ñ. 6Yx!IW¤¶œ¥I Éã…'æ)ÝZbüt]Á™°œKhZ_iÆÝI#�•ô<�§ý‘çPÛÈ©HÈ18â;·.’¬+@ád™*Kme ©OºêŠßyÅ+üåI­Ö[�¡OL„,,ऑú+;†‡ÔÑ£¸§»|´êTp�â�ÿÙ/íMmUD�…M‚Cï&:0òV®@È=qϧšªW2Åã°«ñ&Ö]¯Z­´•A½-w"7,”�’ŽÌã%YÀÉñ™iÙ» ’˜-´R„¡*>ñÿíçSq4þ°v$hªÒì0ˆÄ%K.¡%YYNâ3’r<ÏOQó4%òPC¶­óy%IX B“ë'= Çš§å1jºQÔnüu(ΉÍÈ$]_xvsñã 7è©) m­¥|“¹^g¥FIï•ÈJ~ó’�ù|…>i=5y²¦2êÔÚ’–K.¤nÎró✡vSb,´€ôÅ!À’”„¤gþO»ôW¨ˆ�Ae¨k�™Un–‘™N&; +Z@JÖ $ãÏ�!RP•s“)ÔÂ’ï¤$€ÑÚG´ON1Šzí÷ôÚä[áXmíCIœv÷¯Tç+ŒœgÆ¡ô²ìQa8û­Ç}Ô´°VòÔ’“³ Ö ´óK ô2¢>±§åTQÜ£êÖ› ¯ÿõMgøÚS}wH=Î1àr>Ä÷O®ÛŠ^ïÜ#ê׊e{"›0µwÄÕŽÌ7ÀþÒ ±'gÕŒ¿˜®d@¹¢Bô>ó»XPmDmVpyèjå¶ÙôÜ]3û©\º)f¹;P i( ¥n(¬þ $c8<Šò‰“9¨ ]-ªbæ©& ^+CÎ6ÇxVµ$$„ðßLžTž6kQ¥Óµ2‹8?ÚQ·vŸÚœMM6ö–à†¥¼]¿¸AeK %°wcpÀJx—ôuë]DÔw¼Ù 5&êú’·£!ÖÂ�B�½‰èR@ÆÚ´mº"|ËSO£Ñœ‘5—v‰/8ÒBÁG'-žŠ {YÀñ½ ÓWµiÉw âZã³nîÈk½qàÚƒ¡m…§'Ùdwm†åXéË·Y-FÔÚ¿pKÚšÚ­‡ïkrÒ¥z«IPñʃ‹Ïô�D¯´NÔ“6Ae¤%Å,÷¨ˆ”’TIRºç*ÈÈžù>¯µ˜ÎsÓ‘Å,Þ g*VÑ7Q±z¸ê'fÃEÚ{iayˆTÒZ ÚéÂãÀŸ:š²ë u µ²‹Õ½ ä·%¼â­åJukp¬çžFN<ÀÀÏ™Q¢n‹·µ-·à8Üy"žQ}†XCN¯ Û‚T�d’� f¤œìñßBS \a;sfé"$§ñôVeŽõ£³vS…gÖÅÀÿˆóý¬m�’R…©u4H–ÈñïÚ·•ª#(µ¾ÆíÀƒƒ•d(äŽ~5Åh\{u•Èê˜ëÏHynÈ 0P…)JQ<�¾±Àâ™uu†Ž]µˆ²})2­ŒK[¡[�¥,ìõAÛÀÀ#>uÜ£ê×"ÐAV­{ƒÚûý$Ü—nlÇcSÀ•lm×cFîS‡rJœI >D ñÇÊUs1еM‘ 4…µJRµŽ1°•`äàñMÿ³Æ4ÅÑ6–éW ¥ÈƳµ½CAA9u[pV¢¤á#nÉêz'ÇW# U!­¿ÿ+‹4ŽÌ‚Øšaý¥ÉH2OßµÕçë÷çÿݨעég]/»1ºz©QœQ?iM0r.Žæçfz0fSª–‡—Ý ÆÛß ’�Û’Lx&·ÅìÞó"â˜fáfd=%ˆÑqõ†å-æÃ¨îð‚q±AGpO\rxªØô#úexï¥6Oˆê¤sZ{�íséíEb¶µèÅÔ%8PмcÄ·�k\¸Ý”ÜßT© .ß'¨r#$ý¥?¢·h=1 ùk¿L“k¾Ý^¶*:Z‰hRCŽwŠXQ9md�´‚»&öo5ûýæ�ô>Ÿ ”HÜ^ SêšWv’”©>²IQJJ†3ž)ƒl/†iOÒƒQ¤�PÒ×±¾é‹KjNϬÐPÛz�ÝÉþJà?Ÿ˜F*bwiúC¹ØÅÙNcñ7‡ëEW6=ü«�’<¹¶ÐåÍqÏ ‰�Ô�Óü¶¾[PÁú¡e ‚R3Z[зwmlÌ�"Úû¯Ff[pÐê»òÓ¯R¬„ûdÏŽzTÙ(+5^ò|?J#e-IëžÐšŸh‚Å–SÍÈ�'½R’ÚÓ¸`àò<+›³ëÞžrUÒ㬮OHW¨Ë‘]sy)!jõR@Ê}ZàÔzVM†32_ŸlšÓ²Ÿˆ 7­®³³¼rSЬ~ é‚bC(#ÙΟFENcŽjÜiùÅ/%Ôm¸Ûú+:~¨ìõ`˜·´£ž‘ÉÉþO‰ªÿUIƒq¹GrÚúži°°IB“×n:�å\]Ê>¨¬Ð€ž‚¤ŠV —7QŸ¥¦};©ì5OîüW©íT•X¸e¥hy/'‚„¯Èí ~œT©rs©b[A˜¨!AE½êÝœ�£ßLjð÷ÓJ’0k_r�ª*<´Ì•ÚÇ5°q 6Ë6 +C–ù+�‘·cHJV çpëÀ÷š°t±ÓW- ý‹XBym6Ãí0W¹³ìà¡$‚«È¥åV¼,£ÍC~ˆ�ø’oüê]b¨tg§´Ù¦ÙÝžå)ù!ÔýíÄ­9l¶�Ü«9VÞ3Á¤ ”˪!.ËyhÎÇû `޹"­ý1h±I³_î÷Ô\\fÖÓ CpžCJYqÐß%hPã9é]Ó;>yW›mÊ#V¹B'ÑïÜ[[Ë’ßxÓ8BUëã žÆr3R! Š }?Hú‡8ÞÖ_<=kÕ¥ mgvŒ'ÒxNî*JÎÞª�6â%%Æÿ®øŒä޾óó«–nˆ»E²®âô‹r\nœ¸}ê»ô²—Ë 8Û·ÕXçÖèxÎ&µf78ºÖM†Ø¤”fCÑÑ#zßZVÞùim²HR²”„‚¥Âq‚eØE‹Bѳ9¦áPÏ@½!�Ðܜ۪phÉã8ÁÉÏÆ¹_¶êÉS ÉêûïU�Ü�×Å^r{>¾Å–cÈ\Ëk�‡Ô¥¬ýË |©~®@SjÐ<~ªœ¾h‹tMM*v‡hJrl¹KeϽ´æÅÔÙÀR‰JCj¥kH9ë]r>BüÕ;pbcñÔ·{ù’Væ÷· $ œ+ǯÈW$K:�Ë©q‡ *IH#®7õù�Vf©µF´jËÅ¢2œ[g=µ:AYJR œ+‡¸GÕ®"‘€ZåO Ò’дˆÚ øßö£ïÞÔ°äy×&T\.�$¬úÅeY'98'?n|MGJ²©qœC 8·žp¥Á¤||ò|ú |îQõEzH=mÉÁ8’¦ˆ&kHllàíh¶´¦£¥* W]`QR (¢Š"(¢Š"(¢Š"rìãñ;¿þö”ôdzJ‘0‰_KÆq[�µ…c;HQP? �Vv…¤`Î…ós÷+ `·é?Ã?þ˜ÿU`Úý�I6XèŠài.¥•­@2@çH§k_°*Ön;Õ<üèöªíÐ×Ìݪ®¿dŠúfíÐ×Ìݪ®¿dŠUsqÛèR—�ÏP–(¢Š«VÈ¢Š(ˆ¢Š(ˆ¢Š(ˆ¢Š(ˆ ò(¢ˆ¥¬ºŽ]ª·.ÛkºD=)¦§°\ »€ Ó…  ƒ�p2+&umå¹ö©Å¸Kzع+os$%ÞýJS�i êNÜPôQä�cs~"a›]�PÌfÀae¸î¸â…,ç—rHÇ$á+UÝ$ßì·ƒ#nYTÙ†È.­c…ÀVµ-Cq=UÀàb¡±EoºÜe\íp­òa-C[î6P’K« VrOˆã§ÛSò»BÔ’%M�ãp7Ì´}æWª×­—ëpáÞ¼«§®x¥š(Šeºî‹s1Þm¨ì.Wt®ùæXX[M,îÆÐRž€'œMey‹!÷Q޴ɸIžûkie*Ce·#w°RO}õF(‹¶ùv‘{“ù¢Fb·–ã!IB[Fv�X“œ¹®*(¢"Š(¢"Š(¢"Š(¢"Š(¢,V�ÉÅ0/Y\Å©˜LÛ-,ÉbÞm­ÜÊÌ”Ç;²�JÊA!J„ƒ‚y¨(‰–¿½ÆšÔ¥[íTÃñ¤GK̬†]a”²•§ ©ç#<Œ1Ä�WqU”ÚdB·)A6×%†TdÅÐîÁë„úªéǸ“Æ!ñFKëÛØÔ—h®³ß˜�!µ9})KŽlS‹ $)eJ8'¨äÖùZÒû"dùjD0컓wFÈm_â’PsÞ5•q� îä @âŠ"›•¬.�!ÆY�k‰Èò˜1Øia’uÎVNóµ8çhÀb§tŸh Ãy—¯ÐD…Az#ðšf6àÃ!�w)ÀP¥%)ʰ±â‘ëÌ ]û]Öãn´Ü­ñ†“qq—u%AÄ)¥)IØAåG9Í0ÇíôÄç&&×eS®M3”TÂñß) Ó«ÀXq9ÝäI)ÚibŒQì-gs‹"×-»2¦[K©+Ž¥:¦ÙÏtÙQW )Ú¢É8­1umâ)iM7µ5ofÜ•¡ Ü–Ú�—Ò¡•c~äŽHÆ<‡qúE§v�ýá@AIç#cœŸ ŽÀ¯hŠm½]rf2Ø�mµGÛé"#�´½Ð‘ êÊðA8ÜFN­ö­qv‡|úAMFm.»¾Yh•ÄGv€�¥c”çp=|6Òíy�DSººû |‹"tôeÀbÌÒ„uw!¬,¼§r½x¨uZ‰Á>8¬¦ë�Jì–·ÈE—º.(·l+e.)Å…¸¥zÄ’¥%9ÇTW´EٺͿߦÞîK •1Òã›sµ>INI! `“€qÑEQEQEQEQEQEXŒþ5sþƒ­U%2É­eËsR¦z¡Üã8D ¤$Æv8ÈRX%=ë�B�ÚŒ$¤¦7±ŸÆ®ÐoõªŸYºÛµªèÔøË‚„©J�—Am!9ÜJºqƒŸ…al�™N)Æ”ë%— [eAEŒŒ‚Aǘ8§[_°)*ÊëRÓì8—qhZNB’pAÊ�m~À«X9¸ïTó󣨫·C_3v©ü~¹üZý’+黪II⪽W¡­·{× *–Û®¸²¤€pR|f¡¥Ð|¢ø­iÜÖU]Æ×¥HÑVÇÜÒÍùEÏóÑû”}Í,ß”\ÿ=¹U›7ð*×hÎ�ñU=l}Í,ß”\ÿ=¹GÜÒÍùEÏóÑû”Ù¿�M£:CÅTôU±÷4³~Qsüô~åsK7å?ÏGîSfþ6ŒéSÑVÇÜÒÍùEÏóÑû”}Í,ß”\ÿ=¹M›øÚ3¤Éœè÷|¨ô{¾TQMwqM“8#ÐîùQè÷|¨¢šîâ›&pG #Ýò£ÐîùQE5ÝÅ6Là�@G»åG #Ýò¢Šk»Šl™Á€�wÊ�@G»åE×wÙ3‚=ï•€�wÊŠ)®î)²gz=ß*=ï•S]ÜSdÎô{¾Tz=ß*(¦»¸¦Éœè÷|¨ô{¾TQMwqM“8#ÐîùQè÷|¨¢šîâ›&pG #Ýò£ÐîùQE5ÝÅ6Là�@G»åG #Ýò¢Šk»Šl™Á€�wÊ�@G»åE×wÙ3‚=ï•€�wÊŠ)®î)²gz=ß*=ï•S]ÜSdÎô{¾Tz=ß*(¦»¸¦Éœè÷|¨ô{¾TQMwqM“8#ÐîùQè÷|¨¢šîâ›&pG #Ýò£ÐîùQE5ÝÅ6Là�@G»åG #Ýò¢Šk»Šl™Á€�wÊ�@G»åE×wÙ3‚=ï•€�wÊŠ)®î)²gz=ß*=ï•S]ÜSdÎô{¾Tz=ß*(¦»¸¦Éœè÷|¨ô{¾TQMwqM“8#ÐîùQè÷|¨¢šîâ›&pG #Ýò£ÐîùQE5ÝÅ6Là�@G»åG #Ýò¢Šk»Šl™Á€�wÊ�@G»åE×wÙ3‚=ï•€�wÊŠ)®î)²gz=ß*=ï•S]ÜSdÎô{¾Tz=ß*(¦»¸¦Éœè÷|¨ô{¾TQMwqM“8#ÐîùQè÷|¨¢šîâ›&pG #Ýò£ÐîùQE5ÝÅ6Là�@G»åG #Ýò¢Šk»Šl™Á€�wÊ�@G»åE×wÙ3‚ÚÄ$%^/�W \J“2 ÿÙcen64-qt-20241110-alpha/resources/demos/list-view.jpg000066400000000000000000002454751471427717600222010ustar00rootroot00000000000000ÿØÿàJFIF``ÿÛC  !"$"$ÿÛCÿÀÆ"ÿÄ ÿÄj !"12AQaRq‘#5T�’“²³ÑÒ34BSUt¡±Ó$6rs•´Áã%8VWbu„”¥ä&7Cc‚ÂÃðd…áDFGƒ¢£ñXegvÔÿÄÿÄ>!1Qq4AR‘¡Áá3Sa�"2±5ÑðBr#%b‚CÒñÿÚ ?êy²6ƒÍ3½q ^7R«±!'šÕkYjÉ([›‹Š•xˆƒqV®Q£O;W*�jº¸»v‰½&>x£ÒcçŠrï2?�sñ�L�ãÜücZzl;ž~ÆÞ�Sêy{�¾“§—¸Óé1óÅ“§—¸Ïé1óÅ“x£ÒcçŠ|ë½üjÿ²{øÕþ5:l;ž~àTúž^ã¤ÇÏzL|ñOá÷¿�_ãVCï¿®�6Ï?aÐ*}O/r?é1óÅ“§—¹ô˜ùâ�I�ž*^_ÏW×Y/ç®�6Ï?aÐj}O/ré1óÅ“§—¹ ô˜ùâ�I�ž*h¯œkÖóï4é°îyûƒSêy{�ŸI�ž(ô˜ùâ¦áGÞk!GÞjzl;ž~àÔúž^äÒcçŠ=&>x©5ûRX4ûm¹~¾Û-(táµM–†ϸo#5¢í¬t�¡ˆ¯ÝµE’ÞÔÄÆ\™í4—Ò1’‚¥¡Èä{ÅGM‡sÏØt¿SËÜ`ô˜ùâ�I�ž*GoÕº^âÔg­ú’Ï-¹oñ–ÄæÖt Å´¯€ä�Î)t‹µ²:¥&EÆ#*ˆÐzH[ÉIe³œ-y>�ªäñÁ÷T¼løyû�¨ÿû<½Èw¤ÇÏzL|ñRû=æÓy€.{œ+Œ2H"¾—[$y�É$q[-·78-ζÍ�6+ –ߎê\mx88RI�Gà§L‡sÏØtŸSË܆zL|ñG¤ÇÏ"™«4Ä;Â,Òõ%ž=ÍdCvsi}Dùa[Ž~Šu º¦ƒ©.%!E;¹çîÕN› ù<ý‡A«õ<½ÈG¤ÇÏzL|ñS‚³ï5‚£ï4é°îyûƒSêy{��I�ž(ô˜ù⦥jùưV¯œj:l;ž~àÔúž^ä/ÒcçŠ=&>x©™Z¾q¯%jùÇë§M‡sÏØtŸSË܇zL|ñG¤ÇÏ0./箼—óÕõӦùçì: O©åîD}&>x£Òc犖—óÕõ×’âþz¾ºtØw<ý‡A©õ<½È§¤ÇÏzL|ñR¢ëŸ=_]`ºçñŠúéÓaÜóö¯Ôò÷"Þ“x§þ»ßƯñ«÷¿�_ãS¦Ã¹çì:O©åî0úL|ñG¤ÇÏú_{øÕþ5`¾÷ñ«üjtØw<ý‡@©õ<½Æ?I�ž(ô˜ùâžúï¿Æ5ç®÷ñËücN›矰è>§—¸Íé1óÅ“§—¸Õé1óÅ“ýÎôÉÀYNA?ýæ´µq.-ÉØswIöÜ…í8PÈ'�x#ÿËN›矰è>§—¹¢5Ä)^¶iêû‡�2Ý•Ôi·—•: >{H<�¥¶ÂJnn5)©¥cT3ÒªéÉÜÓvò4žÞÀ›íßœiEÛÈÒ[wï4}'úÍkÅ|…ÏÑ™áºÓåêˆMÊN¿•@6d)ä$2i´-[Ó�ÞTU�œnB3çÁÂNË»D\yÈÈ…(.ª,�ÔSμ¡ C¸F@AÜr<^\�QU:¸gÏm¥®]·=YÍy£5™'°hÍy¬æ€ô g5ⳚØ5œ×ŠÎh`ÖA­y¬æ€Ø dךÈ4Ðk Ö kÐU°ô jÝY  6ƒYµVwP�¬…V­Õ�ªpUd*´…VB¨ áU�ªÐ^‚è áU�ªÐYß@o ¯ATœ.³¾¤�@Ud*“ſtÐXPYßI÷ÖwÐX®œ»Y4×kZ‚á¬dÅ·¦tHȴΜB,¥*²‡á ÞJŠ3•$àãˆåÚ÷f¶k]+pÓ÷[&Œ¶»lºt^½B(aÍÒ$¡²ó$o9ZNyí狤8G’ˆ¬‡HòQ cO‡¿÷mÊ“U&»‘£á¯TYïk3¦r²–Ø}–¶Ô‘ÕwjÐv+•œû€8¨µîçv¼Üµ¹§¸L¶=cfú¤³Ôm´5!ò·’’0¦È(tg $óäEt!pŸ2Oᣨxäññ©íO“ü¯óoã€ì·ùþ?á}¼À¼[,qäj››²[“y·l?.?AÄîÜËn(«í]Dy'>ÔŠxìfeýžÙ£Ú´Ôf!¢T–žï³ÒÊšo¼/¤4‡Bð *G)÷jÇ.æI ¯ÞiÙn_Àÿ?Ïó°¦´õçFÛ{.¹é]T¨Ÿ(\2‘rµ¼�fN’¥¬…¡¿]ÝùIB’`ŒpáÙ\Wm½¢;ÿ:G§•¥­al½9ÃÕZC©x¥²­ªÚBr@ਞ ŽgzšÁøõ¾Q�:ß6Üñv,¸j@q’R´áiRJT)>@ð@4òBq¸šGfßób{¼|„¶ìÿ7§èoßX*­èßAcqU`ª´•Ö7ÐJ«U«}`®€ÚU^J«Y]`® “aUy*­eU‚ªaUy*¯U‚ªÙUy&¼•W’ªÞk×�Õ‚ªÑ5‚kÉU`ª€ôMy&°U^I =X&¼“XÍ’kÖ ¬f€i¿L6ù1¥,íeIS*W± QIû‡‡†¢‘`Î�tJžÔó]²ÆpÉ� KP}.’—ž'+aiIäîÂɧ²jC*eöÒãkRT2¦di["\ îî- †”ò‹c^q@*Óò1—æàôßw-dc) ÝôgðÒ[Ô×!ÜßXÇïl„2öÍÁ+Nî0HÉñd3·ô��”€”�€²´O‰teF–Êi^iPÈ !6[e³OÍ7HWKƒn)ÒNHs¨. ö:àÊÀV©Ó)[ˆV£´4’·f·”$¤žx�>ž)l{µ²@Ibã Ц”ì}*Ë'ÉÁƒêÒò¨žÒ׋Òj‘mmßs¹I’w –Òñb¸<“½Y#<ã†Å§õ%”%ÁdrJžµJƒ±¹ Ȩ̂l¬•JÇ)ÜF<¨ Ó:®È¹3Щ̳ xò˜ë¨Lu6ðQB’½Ø#ÃçÀäc4HÖi‡- UîÓxyLA[r¤<¤¤“…‚26ñü%$y‘Uä3ªíðctí;”˜¶f�Øc8ò vœCªé‡²Œ)\`’2k~ž°jxx3%Ú&HK’D娿¨¦_ˆ¦÷�’”å+WŒ=¥;üÈöõU…6øsfÝ`Û“3=ʘÊJÈ8!$,¥_ü$ùÒ™z‚Å`‡.õm�%KJ.ÊBVT¬mIÎNF·"«[›ÔVH/uôê®j�cîŠd2;²Òô…²¥�ÓXy”î>#ÅlwE^ÙÒZ²Ú˜É—6]ž8¯u —�°œ“áñäø±çšÙÍg5¯5�€�\µ{qnSàñÞnÊ·÷ÕÂCE,• ,' q*Z¶�¬ (ò=¼S›š‚ÊËñ#IºÃ‹&bR¨ñä<yÀ¯,!XV}˜ÆsÅC5}¦\«Ôé-i;Šæ­ L;­žèˆ«P à?—NÕg�® ¸ãÙLW ªßvæÅÕû¬óz‡ ©nÛ]„Ó]D2–ÜÞ^AqxS‰-ƒ�ÇÈ©=¢hè¯Ëaûü܉pE¹à§Ð6¼ <ü†H'ØP±üNÕvDï3n�mé.>€$Ìe9 ºZZ� #XöänA*È‹�’þÔۢٲɖ”ꈷvTÛìŽðÈi¤-)Ü´ái(Q![AãÒ�¦n°µ5ªlø K1S}*Yq Ø©7:Î$øš ê7P wühßI·ÖwP 7Ѿ“î£u£}é>ê7P 7Ñ¿ãI÷V7Ð 7Ѿ“î£u¿}c}hÝFêyU`ª´n£u¸ª°UZwQº€Ûº°UZ·V7P·V7V�ÔPJ«Îê׺°U@l*¬V½ÕŒÐ7V ¯øÖ7 Ù5Œ×œÖ2=ô¢hÍxÝFhY¬f¼äQšÖMc5ä‘ï¬n =dÖ3XÍc4¬Ö+£4h¬fŒÐ¢±š3@&¹~æßùÁýFœ­~ ¦Û�îmÿœÔiÊ×ê ´£ÕÑQW­?ÁªíäkdÉp©KHoq*YʹäãsY»y}Òp#ý+üóLOÈ\ý8n´ùz¢5zìêË{”™w­?a¹HBiv\D<°€I I'$ãâiu¯I"Õ¸¸–ø1ÏMˆÈ ¶Œ’N”€2I?I5-¢«,ZÜ«{b¼Éì볋®²r 7[ƒDÆ:EÍï!¿X¤ãóåÎ1\ßýøMÿÍê¿Óîjÿû59ûµg8ýåÏýµŠù¨[XÉÇ ›!s«¿ ¿ù½WúcýÍF¿¾³ïù†ÓŸŽÇÿóW:ž>MdRÈ‹³«�Ù‚Þ3ýÏUþ˜ÿsG÷à£þçªÿL¹®SÇë‹sª¿¿ ¿ù½WúcýÍß‚ßüß+ý1þæ¹T#Üùו'–:·ûðQ�ý_+ý1þæ²>Ìÿæù_é�÷5Ê@W¶Ó•Œ}4°¹ÕÉû/N?¹ú‡ÿŽ?ÜÒƒöY�f�$ã�é?ÿƒ\ Ø;ùÅ:2Ò�„È+o#ÔN}¾óGdNòò»}’::çpvu×±;,éŽc¨ü™ 8âðR£’p@çjû,í–¨ @µö\Ämg¦Äkš[m$œ%,2I?I5Í7¨ËfJTµ¥}D…çì¤[}Ô"çUÿ~3óx¯ôÇûšõýøˆÿ›Å¦?Ü×'‘Î+Þ<³Ks§®_e]Žå%‰W.É¡M~1Ëȸ!Å´sŸ SŽ@ò¥ÿߌ�ù¼WúgýÍr†ß801K �]ýù ÿÍÚ¿Ó?î(þü„ÍÚ¿Ó?î+’ë>Î)bnt”¿²7BÌ–ì¹}…X$H}Å8뮼ʖâÔrT¢cd’I$šµt7oÌ]4äg è–­ñ›£·pB8 H â¸i´8²PUôUëØðÿÐÖ3Á¬MqcëN�<ÐÞzo…tvHc,Dn¬Þö¿‹˜æ©‡ˆÊ¸Ê·Byø¨”rBÊ‚À<7ïâ´ü·°ìK‚ín(PÊTwx½½/ú üSO�áX“¡`]îÖÈÒ„{kej[)Z¶ƒ�š«µŸhV$DC:WHÅ”óD©M¹ ’6�þRÉ?ô�¾º%‰ÃSQŒÛÌùs¥'RjÙ÷Ù¶ÜÉÂ5��ÂÝÞÖ²¥¥´€ûž%+Õí|æ˜õöºnÓnC2´û(“BØu§^)J“´nJ’¦ÎàBðG—�zÒú×@IzÅovÁ«•ÅL'í0Ò™F1íÂI#>ÊCöP¶²a#ÿkÿËZñuThº”_زÐjÌl(×�Ó¾æû%vnÌ´eÆÑ â4’lJŽÛÁÚÉÛ¹!XÏOŸ:™z&o½�Ç?ª”èä”i2š`0äÓN2”¤Fui8RPH?WD6Å6TWJ5eîM‘ö¬3!é-1 ·ŸÛÖq<)Í£qÛ“�ÀÍnôLß{ŽUQ��ëýE¨lV«¥ç´=K"àó/8ôé†ÑexOyö�„ƒ�Þ||)ÎÃÚåÒ3š~óz�%Ë3š"EêlrÛ*u×ÐòR“¹- n íÀ O<�mI«ipz*o½�Ç?ª³è©¾ö?þª«OÙ ½1~º.ËDËT·Å�zD¦Ýeç’ÑJ�B>Öê †äŸ1‚AÍH‡jS£ÈÕP.ºO¹\¬QšÛêÈD†^$$©ÕìCDâ�9ÁW ¤ÃÑS}ì~9ýTz*o½�Ç?ª«v{uiÛ©ŒiøÓ¦D¾Ä´8Õ¾ì‰ 9Þ(q§Â_´m!<Œ+d~Ú.I˜Y¹è…Äj.¢nÁqy4º–p€ÚÛq> Nv‘‘�Üà ÑS}ì~9ýTz*o½�Ç?ª«û/nvkž¶bĈ�ÑUÝÛC ›j–^@V¨ nK*RJB÷yã dSæ¹Õ(ݧi�/o�Üa÷YW{ÃÁ¤­JŠÈ KCp8 Z¹# Âx#4“ÑS}ì~9ýTz*o½�Ç?ª«½Ûƒ¶â;×f€¹w2eÚc¦ôÛŽ¸¦öRR”j(gxÆ} ŠAsí²ñtìïTê=-¥º(±ÀJdÈŸ$£¡<ã¨Àoaêt�œ¤(à{riiú*o½�Ç?ª�EM÷±øçõUm©ûpaLÛî¶‹g¤ãÙÑt¹6»Ò*' ÇÞ€_t¤l>Áœšõ}íÁØGRÍ�¤q³iÞäì¹¢à–Ô¶$´‡´6QÊ€_)ÈÜ3Š ¥�詾ö?þªÇ¢¦ûØüsúªtíu;LsFµfŠKOGo©.êÜG¤R“¾;N$%Ô§vŒ(�@›m}ªÏjeÎÔݺMêó#XͲÚâ»%¦Pa´8¥ÐÚÚRIä8¾|ÕìQ¯ß½é­!>÷m±;•(-Ûâ—_ÊÒ’µ <Uäx—éè÷K�‚Ýr“[ß—§Üˆò”aK@QmYH9I89‘åQîÊû�ÛⱤ]ròþ¡{OÊ‚g¥"<–Û+ÜÙ…¶Fß“‚F 9ݨ^¤[m�¨Ê´µmÕ§Nê+Z–‡Ð­Ê õîУ±JB†6ç$x ,ŸDÍ÷±øçõV=7ÞÇãŸÕKls.Òܸ‹­�6Ô±1mCP”—»Ó ¯Ù’HØrF<ùªâë¨u¾ù=Z‡QÝ´Ò[¸”Â+³¶ý¡È»Àl¸úPV•)±S­áG��ÊÀ�z"o½�Ç?ª�DM÷±øçõT]�u޽Vôëm”F¶ß“nˆã×a´ ²ÒÊÞZÛð�|!jÊö„á;Ž-¦É¼ú=¢Ç\»ŒÙ°Ü)¹ƒ¥F#rÒê[%Ä)<¤„ƒÈ ’”ú"oÎcñÏê¬zoÎcñÏê¤Z¾ù2ì´Û�Ë X§‰På%hNÔ>ë4æìn^N3ƒ¸qœTOë�Y?N7\°Æ ºÞàˆ* #s0e!2}\`–ÙD–òA9k$怲=7ÞÇãŸÕG¡æüæ?þª�Eí%*ÖÑôܨ6Æ×.D¨ì!‹ÃoÊB™BÜËÌ%8m*Kj …¨Œ¤(pšíRãòcN_&iëe­›ôc)‡gÞTÔfQ±¥%.¼!.,¸­©#($¨cèi¿9�Ç?ª�CMùÌ~1ýTÓÚ† ¹Û{%—¨-λl�ÑŒ´©¤·%lõl($ahYD ìÍ37©Õb°ßõ§õµý6›[Ó Õ�[™s`Ýáw¹4wqŒe\vœp°%þ†›ó˜ücú¨ô,ßœÇãŸÕQ�K¯.–Þño¸ÚM¶pL 1ÌY©w{/Lm…¥Ema*Ná¹!*+°yáöœÚ§^û|(‘­MËvKFâ Á¦£îûb⩠”© Xñ'Þp°$~…›ó˜ücú¨ô,ßœÇãÕQ¹ý¥L²Å.j-6˜Ž¿jUÊÞÔiÝrøJÚl²²P€Û›Ÿhq¹>#ÉÅ7]{F¼iÍK~N§‡#1`ZÄXˆœ“¿&D–ˆBÛAJ0„n*NQçÄ×Г~sŒU„›ó˜ücú©7gšÒ&®6Z6õH¶¾†žU¾zfFXZÒ¤:œŽH ¤R}˜$ìÞõ2é§n3®òÒµG¼Ü㇔ !–f<ÚÀ B2yã$“Í,„›óØücú¨ôßžÇãÕN¶KÍ¢ùͲ]`Üâ…”¡ÈCÈÜ1”îI#<Ž>5GèÍo¨îIÉ�«5=ÏR]•k¶Í°¶Ä‘¹&ACÂ3~6T ¤º¯!¼©`[~ƒ›óØücú«ƒ›óØücú©–ëÚ2mºÑ‹ ¸vÄ4ýÅ»z1xmSJœHÚïvJNÜq’°¯nÜV¶»H”�+#YLÓe½0 ½64¶¦¥o-õ�)).SµKø[i`?z oÏcñ�ê£ÐS~{ŒUCÿ» qäQÓr� ¸Ž¡›MíÚqÈKK¡k‰*¤Œ§ ä‘4Ôw›½›I›ËЬͿ²ìäI¹¸Ôv %E.†¥ãbs“îÁ_ ¦üö?þª=7ç±øÇõTé¬õ…ÖEŠÜÕ¢óa›.ÐõÖ\[Z#Ê’Ø% #t”¥°6�ÊNÝù!)ò&½k={twCÂH]~X�ã>çÝBRÛ*RB@iy qÕn';R•Ÿ0œ�6ôßžÇãÕG ¦üö?þª’QK ‘¿AMùì~1ýTz oÏcñ�ê©%°¹ žÄˆSÑöÓ‡+BÒ¬ƒ‚c�XWŠrÕÿu`˜{󛪆u×´Y3]նصc€éi6cm™q`d8øÏ(X Ûà¨å�¢Ã¸z�ÿœÔiÎ×ê gyá"gÒ‡—JVâ œ§8)<ƒïÊž-~ «J=]~JšÝiþ Wo#OºCiŠíäi÷H}À�ô¯óÍ1?!sôc ÖŸ/T;QEZZßÙ­ÿM[ÿbÿ]b¾k6áOÕ¯¥?f¿üY5oý‹ýuŠù¨Gu P’•ŒðGÄW®’8#褨Ql‚9êpŒàRAgÜj©Èày,àü+šPFG4½jyÖ—Û‘Bl$FäŽRk äR´´×—šFÜŽ(,'U±•ô�Ò1^ TŸ1Å*¶¡—¤º ã gT ð�—@>Ú�G€l$'+ÆFi³»4¥¼- øMJc8¨}1”òÔHÂ6�y¬de#RûæÕŒ$%#TÜ<ªI¬äÛc,ìqI+ÚNcšŽ©F,Ö±ãÍl8÷VC.8±„ñNà7¹ÿó¥É°ØA+ÂRMlTWÖ28÷šzm„'”$¦‡ÓÇ+�e.KVSdek{©CpÙB¼·ãÛì4¨%ü�Hn2Mµr|ÈöRäfI ËM=Š#ý•tö6ô1Ÿó«þº¢Ê³š½ûÇÈÖ�þùÏëªí)ò'³øÿÜ_üYÜkeÙ‘¡¦[S‹]¥!)HÉ'`öW-^˜œ‹$é/Óe·[I[jNý§N|êà±v×Ûe‡V7\î쥭Áð3´Ÿ/…$Õ=¨i½MD¼éÉhg“´Œùò¶¹«Ï VP›–ØÛùÚWâ>Òî´çN›W¿jگ̫û-±êHúïG¥ûdÅÃ3™˜Ë¡•ô÷Nq� {jãû(s›ÿ;ÿËZíÝ´Z­Öö AÓ blí7.æôûÉ}÷:�JRå‚ F�1�s�´®³v£«oš�Gßô(–iZZ]Þu½Öµ8¦–”¸·Ž|>G„d+9šIܞȬó4uÏKÜ5¥�àË1Êß”Ù[ ´´­)lÂ3”Œ©IRˆó4£YöQ¦õ]Êóp¹Jº6õÚ4Vè<„†»»…ÆÖŒ ø·wnÝP mºn—¸ß±F['MɼDu©�1æÓ½ :ë˜CÁI9ÞÙHÊH�iá­wÚC×-jL}*ÜÍY TÐ¥2ú‘ ²Ë�ƒöÀV¯±€rœ‚HJìgO®á"s×ÍBû²®îRz’PzLc”,ý¯Œùœ pqKævW§¥&â™t�¿³wk­ød5³jSàýÏÀ2OŸ" ©í—PLÐvœTXb^eµ9s"ª$ɪ=ÕÅ7–™`)IåkPø\Ó‡gZÎå«;^°Î[ÒcA¹hÜWn¨°‡Ì´¤¬'Ȩ ¤+ÇÂÇÙ­¢Ë¨Ü»[n·¸ñœ˜ìãkD”ˆ�w=u`'y’v”ƒì¤ÚÏMÝíSKjËdΊˆòm7vzˆILg€R]D­p$+€qP KªõšíóQ_\ºM{IÚ¶Gº@SªS1Ù”…Žô”g (q´2R¥SnšíGRZ;+³.-ÖÂè¶nÓŸôƒ3.�i™o%%�Jà'ªµ¤Á€´t÷e¶ë' Úu.§�º»)˜�°P³Ékí|¨y$¹¼§ÙI£ö1£âZ®v˜ ¸Â·]m(¶ÍŠËÉ{g �r’zøà«8>ÐjyíY>Ë’ôõ¶ÄÔv´3­ÄÎK«P$¨­�P´ƒÂx8#œçºvרìo3/v[[Á:b& ¶µN„Èx2–žR‰ÜR¥T�ž‛Kì¢Ôü˜“Q¨õ$iìÀM½ùŒIiLa**J]=EÞÁh¸]å!V%Áëóî>¬¼XYŠÊž9ñ…¤8÷>ÔƒçB Uó«|«»÷FoWxO¹tMÕ ÉaI�$GîêZ�+;›à…nò�§šÙ`ìú×f¼1tfåv’ëäËB$:…'©!)K¤�€£’�ØÏœ``Ggz¶âö yw9�#RÂ~[,\ Êa¨/¶V´0Ê�BPsC!²A1Ö¯ád±hY—g­�ˆÌëH7»»Pä¹sºêHƒ5´!I£%ß�ï(Im ö�»N—'h:JÛ­´ËÖ «²ØaÕ¡aè«u'>@ÈÊOJ>^u­ífw]AÖá�si”)!�£~Õã;’q ç-\TT¦ík�}½ßÝÕ.[Z’¹¯+¾Y·Ç@K°ÊÂU³j·›¹äŸp�vÛ2B4�¡VõÜÜL«Ü”ݲaŒü†–è m··p8õÒ>"„ vel„õ©l_/�«D×%Àc{=6z¡Äº�ܲ´©.¬eeKÁP9%{:)¸švÍcµj+嵋LÀmL­•—ÚJ‘ÕC�)²¬ x‚A8À$TX%ë?f:’|[fºÓï$EHr㨘êÒ_@WG§-å ã ãi;€ö:éf%?«ÝgKÊÖlNZ_D·ïBZ‹RÊÛ )�8•õа =\‚hI(¸h›L®Ï[Ðì½2µ˜ìÇeÆV’óih¤ ‚´¨”0i‡]hÝG/³ýOn�«o×ùS¬ò¢Ç…1mn­²âm†È9ã•Ï4áØã’•¥fµ.|Éë�}ºFCÒÞ.º[nkÈ@*<œ% ~ ®õÑqïþçtƒ®¦Ç·]ÐÃ-º…qbÂA‰€¦ûÊ0· Ô®’’‰9Á îÎm’̇.W{Ä÷ÞLVÐóî5½†£¾—ÐÒ6¶i” ¥(y«€FÉ=ŸÛ§\‘x»]îñ™ïÞÇSl‡Û[n°€ê†Ç�µÀb¯.º�«NœÒ�^nȿƴ‹…Êuž ™rRÞÆP± !§Þ³�ƒ*ÜSŸ§¯5.™·&áq´Ú'Xݺ¼ÄY �!ç’ãm–âZzejÜAÎ3ÀÅô®Í,ò!½ët¼]‚­ÆÛržl.#HV-¡>-Ͷw«r‰Brh=›[ž“p›p¾^îç7*–ó­%ÆUÕºË�†ÛJR¤©gø;N9*Ýí$›kž ëSÞ˜‘©ÛmÈQnå©©iPß_C¼u[YNä>Øæ~'V­bÜ«^�qp­:êÒì›å®:Ø™¨Ôü© ®[iRtLs¥¹+R�¼ädàdhØ-nÚØy/³Ï9½OÍS{‡¥-¡HãÈ$d’NI¯fÅOÀ‘ �¸ÛódÍYx‚Bßyo, á YÛŒdŸ:�öpìÕö‘q… �Ij·ÛàÜ-÷뱚ë�º¤)‡Z%ç¶ !/$¨/ñŒ¤‘hЃB0„¥#Ü**Æ‚´1¤,Zm™3Ûn¶·ËJÑÞ[\�»Nä•!Cn T¡ŽjWE“Ù­µé­»åî;+»za¸í-�†eõ…c-(‘µeI\„ãÜnͬÍÀ~ÒõÊñ&Ê¸ÏÆfÖ䄦 �‰JÎ<’V¥lþ*kED¢m®E¾í©/×D<äe…Èq�[è<—RÚSÊ’7(‚¢8Ï–=jÝ�HÑfV¢½Gh\ž†Ù,)Sh-íq¥7¹!ͪÇÎpš(­ÃFªƒ)ZžúÍÚ#N°.l÷d>ë.()M­!ž™JpBrI%Ó²�pÓȳ=§-á-Æj2%÷V—)(lŸ¶­*Q8N2sí©½¸¬13Qb²Û 2€ÛM6�”¡ `$Àq�[(¢€(¢ŠÚUÁ»Q�=Ô-ĵß|ÔJÚ~E@Ñ­nk†žoðÏçôu-í§îk?æÏéØªé�V°{Í‘[ �²ì›Åµz ŽâéºÚŽv¨ ùûF9©5¯Ô Òsþ}ÿÓEM­~ «Z]õºÓü®ÞFŸt‡ÜÿJÿ<ÓÛÈÓî�û�é_çšb~BçèÆ­>^¨v¢Š*´´)¿³XgìeÕ¿ö?õÖ+æ™QÆ3å_K>Íø²jìøúëóF¥9¯m¸¤Ry­u´ Š€*CáIäàײ¬£5©¨RžŽ·™aÇ�X¤g­*R[ÁБ[|ŒEa|�3Xk)O ‚¡žûúh÷Š�ä€OVŒ:•#!I9ÍnŠÃŽœ¥9Û[›gÄr=Ÿ]A‹ÚC¯‡ñmòŒTˆ—]ûrWÑNÐ9ÅF-l¸ãÃi ƒ�ÿ%JžB-ðzï•áö©F¡£.Â9¨âΟ% rJ� �©ø9¤ [Rß+Ú¬iÁôÈ\¤7¼…ôÎâá¬:jŽð!XÊG˜©Ú !¶Â¸l|1X/ÀF'}ÇRy89úè8SÎà¨$ò·rMxÈ$œ“YÉàÒiR[Bk•UMÑ ˜—%- ¡'û©´‘Žy'μ(’¢TrkÜÖF&Äý«Û±®tc—þÊ¡ÒHW{v0OÈÄýúÿÙUºWäþOeð7õ'ÿèN“χãN†Ç%-eçâ°²2qàø}ƒè4Ó¸‚È äTW´ûåÖ­mlJPiøl9Ó#('`JŽ=ä¤Õ.ƒ­'èZwJOGB[›·e*ˆÅ%ÖÈAõVROСÁ­i?ª£}œß¥Ü.îBQ(ŠìG–ã{‰II ýu$l€ç‘¬kÑ•$ÍÚ/IÃHR”¡Ù°ì­�‘–Ò:^á}ŽÔ¸²#AU½•ª[Î쎧z¥°²1¿‘íCŠ©µŸi¾ôßEéôãVè�6¦áÌ1VêBœ˜qiiÈÚ[PãžMz�ÚN¹{´‹¼kyqíz‚=µ0!5èêÜ¥¸ë‰ª ¢¤lx ç\®é=<ìëä×­¨uëôfâÜÊÖ¥&CHJ’””“€V¡ÀÏ9¨ü^È;:‹Û�8”1maØÑÑÞß#¢ã…Å´æWöÔ¨«j÷|ª'öCÛì·M}ÙŒ DÌW­O\¥‰ É 6 #än'âD-š–6‹™Ú$~y�1Uº-¥ÆšÚ�9îf8qiAø…/j3î \�;/ÐÐa¿5™ieûB¬®%S_Y0”¥(² –HZ°G ;ÙöŽyÅ-û#Oo³¢È¤ºâÖ•BB·%¢’¬pyÝ�ß ¯×V߬i�/U\ 9l×ðm«’Q /–R ^énd© Õð+P8"¤p{G×r»C™‡]\8©6UDpAj;±|).•­i|¾¬õ�„pçZlöi£°\,iµ<¨W´¹{çÈ[®–”Ø.•—IHÀ Ç˜Æ ©þÍl¿[n»DL˜ÊRW´’’•$‚•%@‚• |�$Òeò›¯_S3~ÅÍð‚Ûm£¹'#OOÌ·äJ¼G<Õ9obz{J_ã.<}Us»Íbë0Ÿ·8žœ®ð‡�™m²„�ØŒcŠ\zKYlRÞ›™NK}·$Ìšô·Š$#¨òÔ œ’vƒŒÖ é;$ÛÄÚä?&KÎ(4ëÛú‹ÁW$õ\óÎ7bª-6ä.Ì DD[VŽ�!ý.ô˜³ì–ðćK!�„º½Ê/%å­_‡*¯9+Æ–‰`¸vV‚·^™ äˆÕ:¢•bß1N,';B–¾T¬dàgÈP»Þ”°^¦.eÊYõ¶ËKPyÄnK/Ú%@®$(}$y ÇìÖׯѯ«�ÿÆaÈí>•©'¤²’¤(… ¥$‚21Pq¤ô�÷´[=©ZfÊ©¯]îs̻šaHKhêmÜ ÜR2sÊZ}´Í­íÑue�§j9�Õ¡æç˜a.©·;Œ (7§ª—œäeI>Á@Z­9e¼Ý-W;”È—iyOAp­C¤µ €@W�àädæ¤R4>–�î uÛP+ÔHm»±8žò”$¥)8W„`�Bqœœç&¢} [™—{Ó¯\ìñu­©!V—d°‚‡>ÒD­�))RP�É*r7‚5_2̉šãSÛY¿¶4r½pm.ZÔ•¼DÃÕRVÐYÃÈykËš /6kmḨ¸Æë’%Œ-H-¸H ¤ƒä¥<ˆ$Ht¥ƒäýªÃÜ1o´ê€ØyÀ¦  ¯vì€1ÉäA9£5“Wvô­âûuµ7uÔ^„·=x–Ð~Ï/ ‘ÓØ¥ZÞIØ“Ô+Ú¬]�ÛFà±Î=ô^gÚNt¹OÈ·ÈÙ1Ò츭Ï�ÜY >²œŽ•†–O·rN}¹§MM§­ZŽÚݾìËËa§›}¾„—c­·r…%m)*Iž :Ñ@F ô÷r“ óz›P@u©×ɲ’v,-$]VÓ¹ ä`û<¸©Â+S¡= å>†ÞAB”ÃëeÀÍZROÅ$[è t–�²i^ð,Âä„ÉZœun’e$­J+ZÂ^q@)JQ%C“Îi\{¡„ÝÒˆH(¼<^¸!j+Kë-!£�¢@ ¡8ydšs¢€gÓšf˧º†ÓÆ”ã,°µ9!Ç”[eNV¢p‘ŸÂI<’ií ¥¦DLgmªJ[˜ôÖ\fS­:ÃÏ(©Õ6âÞâ¢HIŸ*’Ñ@E^ìóI»kfÝÜ%4Û3{ú^fã!©&NÅ7ÕSèp:¥lQNT£ÇÁ[cè{QÌw=/5®óPLëÔÉ[]aÀãJOUÕmÂÀ$ `dqRZ(Y­«Ô _Ì|\šŒ¨©}+RrÒ”R 7 ŒƒŒœc'+袀(¢Š¢Š(Š(  (¢€(¢Š¢Š( ÷¶Ÿ¹¬ÿ›?§b«¦=Z±{iûšÏù³úv*ºcÕ­rÞlŽâG¤þæ¿üøþ�6µú‚¡:OîkÿÏ�èÑSk_¨*Ú‡WE=~´ÿ«·‘§Ý!÷?Ò¿Ï4Åvò4û¤>àGúWù星�¹ú1†ëO—ª¨¢Š­- kì×ÿ‹&®Çÿ�®±_4Æ=Õô·ìÕ }Œº»##ÿׯš„£'��~*P<tÒí@zÿ‹²ÔÜÈBd)>aæ›HO±Bº;E\~Æäé»b5]Œ�(¡—’•87z§žkMYåV¶ÿ#8+»’Ûž’ÓÚOOD”툋Sä#¼Æh+JÎyöWCè =žL×.X¡0v8•´…:|A98ó>úݨ»tìžÛÙuÃHé–eÊlÄrà<þ? ¸ìý¾A‰5§n[º�6³}¨‘»ÔÎGžÍtÕZËIÝ\×ã±i‡Zbk ­Þt8hµ5oC‰0”6 U¸àqä‘õÔBÁ¢´ó½–ÌíRZáýájgpÎ+J‡4¿XvåëØÓÚ~A”ÅòdÅ}Ò‚w�~#5åžÛt_ÉV‰´i´_bEŽ–ßfc%(Ê@X ä““Zµ1§iži-» ãìžìö�Ônå 7j¹¡-Ž’<’sž=éVZûDXôd{[�ôo©¸«j»¤P¢Ð8ñ ÀçáQnß»PÒú«³ËmŽeµÛmÂÆ_ŽÒYQmIÁJU�-‡ú)ûSý“°¹XåéXó&Áˆ¥"âÁh¤-¢b†2)*JQQwؤ®öÎÖ;-Ñ_´Ý!éI,@ƒwuI“#!> JˆIöSŸkzsAöeÝ�»hW$Á’7"dhÈ[!_4’x>^ï>+v°ís°mYsf騬‹¸ÌÚql¸Jþ ÁÆ>Šlí‹·M~ì–n‰°Ä’®³mµ<Ñ ²´«vI'€•2)µ›`sqWØrµÝÈòn²Ÿˆ×E‡R›@þ I$ª’c·J jC�¶ê]J@q á_žy­$’y5ikn8Àsš½{VtbGþýìª$zÕzv-þ'ç ÿeVéO�{/�¿©?ø¿BÅ·»oCk¢:ú‹�©%”a�éàù‘ŽNq�*uô&œÔ‘rf›DRR”‹�mÕ¡(ʱŸ¬ @Éà{I¨øÿeX¦} þ$X¿êØÿ¢M:MýæÿùµUzбr>#‹ëæÿ’!fŸÙUþÜÖ“³ÍÑwX(ñ7jˆìgšNÓ¿!”’‹ËÏš�ü�Óþ�ô÷ ­ž—ÆÞýÝÞ1Œc©�Þ\y×&iyº^ûØ>ŠÓ]¨òûEj{+Œ¨‘É‘ I”T§\p yÎN9î&V}C­&v¾ý¾eípî ÕnÇ0^ºIK_ %¸hd£?d�äŠÌÐ_RtŽ”“jE¦F˜²½omÕ<ˆ®@iL¥ÅT°‚œI'$šñy±i6›µâÏbJ-ÑT„Ë— "Ç ;†õs‘�1š£tmç\ÏÔéЭÝ.²n77ç<ì…ææ£Å½.«9XPsv�vsQ{ÿSÝû?Ôýöþ©›ô\õ^¡É¹È”ò%l8YmL¥ä–‚°AŒÐ)HhiMÛçGÓqôGiíÀeA¦ýdô”ÂyÈÛÇ9§ wOɽµ|‘b¶=udÔ×"!O ,8Fáõ×6Þ5Î%ºâÅ×S߬NÂÒv×4lh¸Ò'È1²¿ FWT% Î|½ Öz¦îÍãX#RêËý–íK[¤[áC˜ëM ¢˜Q(JQÆTç<”7Ü€:GPé½;¨Úe­CaµÝÛeEM&tFß “æR øWŸ“:sÐ&Áò~Óèƒç¹·ÝÏ9ýÏ|ùò®pÖz£´Aª^‹s¼.ÇrMªÔí�.Ü_ŠÚä-°db;L¬K=]ÈR6Œ`{DãD)ùó»S»êm]¨"ÀµÜfÅ›ƒ�¸ wt)Ç$)#%'iHœ�dÜôÆ„‰m–õÏOi¸ðVÛi–¹ÙKJC|6T1µ<ç�ì¥ÿ&´ç¦¼úÕé6RÔÎæß] ãpqŒùT/µWa±æäü9ïM„lí-™’*qæð‚—¥`•‚IÇ$Öu¾¸°N´À™¦õ}²SP¯Võ\�·Ü�àf2Ÿ Qt¡GkgÈîãÍ'ÖëmºÚ$ t°Ä—×&GA”·Õy~»ŠÀ–}ª<šÑÁb‹y~õËnbç m~cqP—Ýå, Äp<ϲª)zŸ¿ê+¢äê9li%êÁTæ§-–ÙdZY[hKÉP-4§ùÜ’�J‡>3”ú¿PET8vëF¡¾K ´I‘o“2øí¼ÊQyho¥Òh»-ÔìÂRr• ¡Gq^â»Jih!ñ MY¢‰!×ú0[GUhPZT¬'’�>DçHužìþñ¨#µ¨¬zbáy}“ÐLøŒ;%ÆÑç´,§w8àgãUT�Z§•f¿¿ª ÅÉësžŽ‰xv¤º :Ša„‚ÌÍÊ$)*©9`+¾«QÝn7^Ò­V‹t¸v©É]¾B® Džé¸Ü„6Èd¥]]ò€=Dî lÿdIswKlWÄþí‡PÈŽØ”©-��ÞÄçÙåšEsÒºbélb×sÓ–y°#«s¤BmÆšW<¥ ÉòÓTö³é_4ÿhW·¯wWàŽ[Ñ7ry¸ìÅS6÷–°”¨$¥dú¼‘Œ¨—87¦"ö‘¸ú•ËãR®Hj31¯�‰1Ú-á¯-¼ÆâøÂˆ!Y>t ²U£4z­LZU¥,FßÂëM½®‹K>jJ6àï•]4õ‚êôWî–KdçaœÅ\˜¨qL9AP;|‡—ºœè fØ,Snñîó,¶Ù7( òÝŠ…¼×9ð¬�Éó>GÛNTQ@QEQEEPQ@QEQEEPQ@QEQEEPQ@W½´ýÍcüÙý;]1êÕ‹ÛOÜÖ?È?§b«¦=Z×-æÈî$zOîsÿÏ�èÑSk_¨*¤þç¿üøþ�7µú‚­¨utS×ëOðj»y}Òp#ý+üóLWo#OºCi‰ù Ÿ£n´ùz¡ÚŠ(ªÒЦþÍ|{&®Ïºúëó�¸€HÇ•Kר4t®Ýô] Ûs Œˆé½ÌeA¨ŽÈº/Øœc‚|‰©„¾Àô¶�µ¿sºO)‹;ÝuâR?¨œ]CÙ‹*àø’�'QnkŸÂNï¬VH¿öÓlË£q’#“ÔQ;P¹½l¼Fn+—7V•½pBâ:ÏPœ¨´íö~ Ñí~ÈÍIt±9ÓavÛ) õÞDf”ék Äî^v�ˆ©—fÚ*Ï­'Üoøì¥¨ëK-©Æ“¸äd’Ÿ!žà§Ëçb°C¢SVh3^$•a-¶xò#<e`ô”¢þ[2XTÿÜŽ^Õ‹—uf*ŸvBÖ„©·® ÊÇ#%;ÚÇŸ™Ï4ÿÙ8ƒkÐ�¤±*|Xª—fKQ}ô¶§ ÉJˆ*V=‚¬>Õš´ö}'¦tÌfÕ4)‘,){€þÀòäí«LvDÌ�/nqèð^ŒÛ« Ž…ø”�O$y5“Ò3Jú¶GFŽìÈå=+~ìæ •ˆ×í&ëqAWVZnËd/“�æö¬ì‰)Ç÷*•þ�wõUã©û6~-ÅpâönýÍ� ”Èa–…|yÁÅ8êNÄ´³:|ɽ±k¶ÅiÖâÂSyEiäý? •¤¥²ô݃«l’8�õ%N©IIJI8ò­tí©�„›‹�­«mè1œZX�qÔÁ_¿ðÓMZ^ûN6dyæ¯.Űtýð¿öU^=ŠhÿûBÿ¨Uv”ù²øú—þ¯Ð�š}´­[Ø6êƒN¹’Ú ÎÕ$Àöû¾Šcoaq=BBsÉ'öÜËJ* cqŠ3ôúþuCKc>«�Žh¨¤hÔkOzeJ’”² õ†âUÏãScgí£é¥÷)ä#-A<‚AÌàšoGîƒé¬gûŒ°ë-³´/ø‘aÿ«cþ‰4óLÚüH°ÿÕ±ÿDšq¹ÇrU¶TVž,¸ó+m.4ðW®§û#óö/¬O›þHb»`ìÙ7…ZΩ�ÖLŽì§C.˜áÜãaoHÿÒ©ÝsC®m�Û{;³é}YkÔö­ìëhbE¶jú…Iqo¼’ØG;‰ÈVs^õ.–Öò»S¹?pbwzu½ÛEÖ=™Ùja´%ÒÛéy 0�ÁaĬx‚‰ç"³4Xéš+™gh›ª#j=DÆž»‹ó=¥™÷�ýA Nµ¹ÆÀ´ W¹@`�É;F7\4&¡wDv¯s´Ù® êIššZ!¬¡ÆÝ~Þ§˜[��Jr—WÊO�Ï–)P»¤}3¢µEË[Ü%Ü„«ù‹oS-F\�¥¶ÓKm´ÚœÜAV|ÇÊ®4-†,M3©ÓW‰ö W(+‹f…§ß‚–^IN´ÂÞS»7tÔ²vŒ¡DnÕ‡Úõ®ãv�¦X¶®{7¨c:ä˜m%Ç# !̹…¡Idr¤‘Íû§uU’ý-øP”‰qЗ�2 ñQ /¦ò¢’A€ÆE=Õ=sµ_­Rµ±¹E½jË‹¶¤"Ù5@´†£…ÇÌd %Ô,©d ­%yÈÖ›»êPì2“a’«<µÅ·Ø$[Ø•¹. ©C+RŽòŽžäªq)á*�/×¥4Ô¶"¬<\|+aK+RÑ“¹@mOŸˆÏ³5¾¨­aej]¥iÒ:FóÜ`_Ó ‚ëiRÜ„„¤¶Ée+^R”£* !>,�š·JÏ€™,iëÆ£ÊÓ‘}"˜Œ©&Z‘-¢òTG®ò™/Nõn>tãEUý“5jk´­h,v—­vãØXŽäEE‰9)eA%±œðRœœ«,›B€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€¯{jûœÇùôÌUtÇ«V'm_s˜ÿ þ™Š®Øõk\·›#¸‘i?¹ïÿ=?£EMí~ ¨F“ýàÿóÓú4TÞ×ê ¶¡ÕÑO_­?Áªíäi÷H}À�ô¯óÍ1]¼�>é¸þ•þy¦'ä.~ŒaºÓåê‡j(¢«KB›û5Æ~ÆM\ÿ�ÿ®±_4í¯¥ÿf¿üY5oý‹ýuŠù¢‘Å$ûë¬ûíÇAhžÎíºyǤ4ûIß%B2ˆSªåG ~Á\—šô ´Ö¢ª¤›±œ'�ë[ÏÙPˆzïuº?¤tâØBT68‡9ܤä ùùuHç}’]šß-NÁ»"YŒèF\Œ¯>^×\Q¸ùÐTH­/’»3Uät·dý¤v?¥µuãQ¦ �åI|ˆiT´EkËÃær®IãáR}YöRZåÉ‘•fólÇ…r—°8}¹AIãúk�RiCR Q°¤ð–*V*Wm¿É.»¶ã²´Ù1`r˜Ÿcô0 ¦â§z1í'cê4ݨ»_M»^¯PèÕ¡mÎaý—šPC‹OûvàdW4YÔ„ñÇ]H¢ËÉHÇ$óXôHæ½Ù.«kqÓл}³Ý`9RX¶¶òv¸�‡šp0Aúj-*w`󔹋ÒheàBl(ûðƒ¶©¹ ´±ÀÁú¼«c îPÏV/›º“AU| Dz.Õ´Ž…Ñk„¶d°¾»�:ÑVw´ð®íöBva|iNÜ M�¦�BBã�­¾Üa_í̺ºzYŠb¡YRÇ‹ÁQP�–×–G‹SÏ¿Î� w™:çÀèžÑ;Nìvóe‚Ä ç“-•¸âã(ºË)PRÂT¬ù�Œí«*7ÙGÙêc%¶äËd6€•E_®d‘ÕÀ NNd°Q_îf:÷ÀëM öWº×^>ª·ºûAÕt%FvÌœ'�!í¯µ^Û»1ÕÚ>X—oUÆj#­1‘@¡Jöçóø+‘™Yèí϶·6áõTx#”°±n÷dF«]ƒqäšÅ{�Ž“¥>ÏgÑ^9®³H{jñìWüOWó…Pª:¯Å9Ò*þr¡ý ªí)òeð7õ?ý_¡<§§ãµo‡Õ¶Õ@ñ’rR}`qëgá¦fе�¨AQøSÄ »–”ºÒP„ )HÜ3€œùq”‚>“T4­Ú}[›e·v£Íî �—”ØmN“”ã dgŠjG¬)mÂ[’›Hq/9*ùß4cà8ü‰¸¬gg-†t•+Ií;7AˆÖú²7è“OJ!)*Q’O²™tø�`ÿ«#~‰4çqЉ¶ù0œR’‰ )¥ù€ A#ë¯]Oö.GçÌ_XŸ7ü•±íÇJtMËÑZ�éÁ#»�B-ÿð~wìÝ¿vý›¸Ý·öÔéz›M¢ß6â½AiL(t&H3 Æs lqYÂâOÄ=õI£Jv žÈUØïÉ[yg¦` Eéû·v.g©Ðý×~Þ6ãÏœû)Uó²Ý@;J�k¶Åè{œ‹uÂðòÞ@Úô$-=2Þw(:Q’äÌÐ\ÉÔ_=›Ý´Ý¶ïî"R;ÆÜg=<îÆ9Î),me¤$Êb,mUbyùtÙi»ƒJ[‹Ê“µ +$å Ô«Üjš²ve«cvŒêç±qzÜ5s—ög1*llQÈ ËfI^Ò[( �"+u¯²ëìnÄ͖<]e ôåêê5¹Ç›”§Àvø›ðòxÝÎ9 -«–²±C½B´"cåÉ�ÜVÛ˜ÝÒ‚°J–Ñ�© W9Æ9­êÕºU.ÏiZšÊ· ®rLö³ à—ïÏV*£´öuªÑEÜ¥Ûö^Õ¯º€¦Cg»›q » Ø’Ú0œùqÅ2v{Øî¥m¨VQzcÛí÷(FX•º¼™IRÔ¶ßxsvà³ÕPÚ¤ägÊ€¿^ÔZ}‡å°õöÖÛ°ãw¹H\¶Â˜cê¬áF?„p>5¾ßw´ÜdÈ�o¹Â–ü`Ú¤4ÃéZš'se@§r|C>c‘\ÐŽÉûH�§mòîÔ5}¼º-€ �•³lF÷ä+ ÀŠUµ$«íÇ�:è‹n7©/ˆù.ű€c†nM¸ÑUÈùÊSâOOÔüÇ— e¸képõ;zwä¨~kÍ<ü~›¶ý�2ÒÐ…¸’©C.7€¬+ÅåÁÂ�”º;Uwý+r“/9!è[¦>Ú�Qëи§Ü¡ÏÌVÛ�¦àïjöKãq÷[ãYgÅyíéðºãÑT„íÎNCK9ùŒÅœÑ×�gNÖ�!ítÅÜ(8Ø*Œ™ îsìm*ãÖÇç³J7£­WYö{%Î#×e¨95§.j•0”€�\.-N` ÀÏtív¾YmÇfíx·ÛÜ’¢˜è“% HÆBBˆÜy^ú«ô6ˆ¿Û¯hwoO:Õžå*krƒð EΰÞ�­÷•)aßV@É'qÚ2¿´t=XÝç|{£3t£‘TÒ¥2ƒ(qÅ-×₺*ê$)H ¶8 rsƒ·!C"IùÔúhY½4u  [7ôûç}o¡¿8Û¿;sž1šXnvÑi7~ÿÑÁ’ù–OG¦J÷çqÎsŠªoš3Tüª—}„ÝÁ¶™Ô¯Ne»{‘ î4åº;=VÄ€Z8‡Bö« QË3žÏ,�Ytwqu¹Í¼óòd©©�2·§]ZÈ%”¥±’¬í@Ú’Hã4 Ó¦»GÒw½5n¿ªí×äHˆ‰ómÇpG�KŠäxs¸g ñO— Aa·Ü£Û'Þí±'JÇwŒü¤!ײp6 œ«'ŽSp´­�i³%è·—š6 ’\KkÖò¦�i+ê¶á’•'¦® š$å!^oÖº;ZȵÝì–»t·Y6øLCy— �,0ÚI�q=e:RžRrœ’–…«Yi{�Ö}ªòæÁœ <Ïx@Y§ÔØ‘œ“€±Çµµ�àœ*™©tì LËýª8©“Õ˜ÚpâH G'ÖIy�ÃßUËÖNÝþEÅnc­µ«Z¾¶”ÈŽó ·ˆêBrèÄ,’B°’…J­šcJê­-׫¥�Fi»ÝÖq }¥©”>ÒÑ;T|G  àçÙ‚D4kõŽMÝë¸�Ü"&qÙ�-J®¹J )D/ $œ•gÈRf´V§‘¡5„w¬KférѰíQ›vC%nHi‡Ð´n )r�rH#Üp·"ýc�wfÏ"ónfäø¨nJB^pà¥î>GÈ{)œÖZ_PÍ‘ Ñ|�*\w�el"B „´@Z‚AÉH*O>\�}W×}¨ÕæôóöëÅâ4ô; ø °Ú[K uTëj�•6¦²:yãi*¤š–ÿLY§ß˜µ”]­º¥év²·›Ùqjk…®Šp¢ ~Ú’R¤§Ä„ã>tÅáD7&163±›S‰qä:•!%µ¬€R¤¨q*�êÑ´}£JIÔ¢ùã‡PÆaLe·V@K`•„îç<¨`N&‘_t\�ØËº.Ô┈h)ÕmL§ ^óìê­Çþ™¨þ¥Óz“Qͼ^ÓÏZûÃ6ˆÍÂ~CW»¼î»Ž¨¶µ ¡XO‹q¸òñ«ôýš¦]Þã .Ρ¨½g‘…)iÜ࢒ó ‘åÉÈ­ËÕz] Kuz’ΖáKYœØ êFwx|hZyÇ)#Ìkí&ßs˜�=.Ùovà«mé™�0Ó�¡jh6âSÔRRHÞ Žx¨¢4Þ¦¶é±áÙ³$ê¹÷}Ý1\”†\‘%m<É|ôƒ„)žTrT1‘ŠÁ‘©´ä{+W¹‚ÒÍ­âSW1´°²säá;O‘ò>ÊÐ�[dô¥Æ²Ûa«|ÓÞ˜ëˆLbËêu(!{¿÷*É8)Á9â´ÒÚkXY.�®ótôË�ƒuº<¨âLN«¨™±hy>$7½%+B‡ƒ÷Eîx™¢5:µSzš%†,Hð [ÞŸaæŒYN4ä²¶sáÂÚ!hQÂ:„q”�k5¨lÞ•djùl]Ñ#&e ¾3ûžwysååNuXÁ²jºå§­¶Yð­Î]�™5߉" JÒ¼¼ÉÏxmõ< ¥ŽF ³¨Š(  (¢€(¢Š¢Š( 󶯹ÑÿÈ?¦b«¶=Z±;jû�üƒúf*»cÕ­rÞlŽâC¤ÿx?üôþ�8µú‚ úO÷‹ÿÏOèÑS‹_¨*Ú‡WE=~´ÿ«·‘§Ý!÷?Ò¿Ï4Åvò4û¤>àGúWù星�¹ú1†ëO—ª¨¢Š­- oìÖÿ‹.­ÿ±ÿ®±_4@¯¦f¡ÇØÍ«Oó?õÖ+æ–|³R$qYÆGë<ùPHÀãΠ—4p*ÎìãKéiñ¢¹xÝ,Iåõ¢`gº dc’¬c?UW׈j‡q�ÂB–Ón©(^=dçƒõV¨¤ò®Ã)A¥q‘ÅzG¬>šÏ<’Ÿ/…y'�efb?Ú\-9âO‡ØjGoqЬŒŸ.j9¥ßK’’…¨yðSƪmVÄ&ã ¥ní-ã��NGÕXYÜÊä‰KN úEe™-…òy$b¶F¹i(¨L™V™…Åp¬:IpÇÆ°sqìfÈÃ7i ¦+­œc9ú9ÿe!➯ÎAwzí½`Îx6”œgËÂy¦PNkt]ÕÍRVv=4 —|½´©(RÖŸ:H4­‰ªi*;¥û öTƒ7Ò–Ô8{Ø‘î÷Ò öâÔâÊÖ¢¥2My4 Àò«¿±!ÿ¢N9W榩!Ç®ÎÄNt›¿ JüÔÕv“ù±øú¢ÿ‹,q•nmjA÷ƒ�mJìšY^ã °‘ °¯ ]qЄ«à <ÔI'Ÿe]ú?[駬±XŸprØó ¥µ6A-’ž2œçíü5M†„'+NV=çĸì^”o{µíø*íCSXä·^÷jHR¼*ðG˜SÊ�«µ½Qk¼Ç�Øã’RÊZä,c9Iöâ«¶ÇŒ:ºŠ�¢îŽÍ‰¯ŠÁªµá–OÏîv^�ÿ4ÿýYôI§§†Ð§RP„‚T¢pÓLÚüE°Õ‘¿Dšw�•®;ˆo¦¤�éÜœãÚ22>¯UOö.Gñ�b§7ü‘dv�¤ ²EÍw'؄Ò§ä@�ÊÊ”—V�ÔFTŸ2985¿åÞ˜e>äé ®´Ë¬;ôHÞï ²¤¿�»Rsƒ�#Uv²ÒZ†É¡/K"ßi¶÷6Mº%ÆDÈÊ|Êd¥Ô6êR#¥ (tÐH;ù>Lžñ¤u½Êó;Pw›lrLîA‰s}´½9�¥$ÉKAÆÔ¥¿œ¥Âsâ$fs’�—ÚWºD’.«¾Iv# ¦ åõ>Ø*[E Ž¢VIÚRƒÚ”-ÁSsä>©í>ìf˜�!×VZ[xtÒ‚°¤)@�9ト¦�ìÿPÚµ)³^·®4k䫦D×ßwkðË; u%J)_ðмIç õiËGè‹­ŸWE»Ê~ØeWÂRÚÔWþ=¹ `�ÂB¹à‘�ÚÍÞдÓ%r޹őn‰=2Ò]Q(�òšl”†ðTÎâA'rRJ…kÍ.˜¯>¹²�¦e""ã®ß!2KËNä!,uJr¡„œ€O�5…Ùn fÆÔ˵—kµÃ$8½»âÜ%Ãêy(ï>`iOhY6=`uã×Tv›ºCv2fºël«dFZ^q-¨20þR² r8È ,]7¨mŽó,òûË,>¸Î’ÒÛ(u8Ü‚gŽG˜4Ù_iI±Ÿ–ÕÍmÅf"¦™"<Ã.GN2ën8€—2Ÿ ‡ˆ{Å3v#ÞŸÓ÷Ë‹ŠŽ¡q¿L”ìYq PH'hÊNÆà3Æi�Î̵ëUÆÎ^·ØmÒmË`Ä�q’üg$u¡•¥=Õ)(P(iG!xÏ„î&¹Ó2V†ÄçÙurYŠ“ ö=»¥”8€¤¥{T²I¬ìúùcŸqvÙP½h¶IºÃju¹IKí´œ©l8ë{T’v¶÷¹'Ú+nŽÐÓ¬7„NePa�C½¥§Þ�Q%Ù+}KÜöT±•ä•(ðÀ‹IìÓ[MŒ•L™ozb´õÂÑ!Ù©r®Éi¼$-½­¶Æ[B@úÊÀMj\/öÛU�›ÅÑÓ;� ”¥ uj[„! @*Z‰ �I÷TbÛÚmºuâdFâ­ã\†¤?ÞéÂD¥í`5¸,o(-«Âq’vÓŽ¯Ó·+Žž³5nr'¤mbÌi¤²òšáHR‚IH)*¶œŽÙ´6¦ÑzŽèí¡²íéë‚ÙŒó‹ØÚíÍÅJ(”ŽOðNЭÛWÙ6¡.Æ»TYv…Þ$Ê}Rqc€JõGJ�2U¹(ÁRò3*= é$[&\_¹=ˆa•HïPŸahKËØÒö-E W`ðyàâÇe—Gô”{ ë„6¶è¦tû޲¥«l„`ï ËyðO¸VÇ»9»N·ÎTˆÐc\0[CŽ_§\w6̶ßpHB<) <žUƒÀù:÷KÆy I›%…–ÛqÎ¥¾BDd¸p‚ù(È㫶½¹®´º.Î[pw¼59÷Osx´Ü…íØÚ�Ù±*Vôã**yÔKWvo2驯ÒÛm™ÖûúYš~÷:"ZÚÐi`²Á}*BAŠr3ƒÂùÚèõ¢ý ©‚î¦á’¥¯–^ˆµ%Gnw‘xŒ”ò9À=ª êÈ2åÀ�5„Eœü5‰1œh©M:¦ÉÒ3ÊO‘äpAÖžÒô´»;· L·fo~tD¹æ--#r’Û‹@Jˆò d§œŽ -ìúËs°ÄºÁž!©—nófÅu‡T¥)¹{ IH Rz›x*ÈòªÇ@iMI©û0Ò yV˜ð Ùdn!ç ¯¹"*Ù@q0ÚRVHRʈÊ€²íM� ©²Ü�&CQ–êS׌¹=4:òQÓl¨¨¼§9r)B5Ö—]ÔÛpt¾™ÆÞ¥w7ºH“üR�Ù±+<`s‘ŒäTÿÙε¸Ûd[�Êí%Œ%.í)–™è!�̘í£bœmjꬨ€±àð�OçDÞµ>ÂÝ€‡žÕ¬ßK«) ¢CN)9Ø ^@ãÇ"€�1®4Ë÷Ábsμ•<„Cx¶òÚ¸ÛKÙµÕ§j²„+®84ÕeíGK\4ý¶îµ\£‰Ð“;£èÙ-–OþÑÍ��­ç8pá'‚@4Ë£»6™eºÛš–Û2à[&=*4¥ß'-~.¦ÌD$2ÚÀp‚ TÝ„�Ü7ÆìóVÇÒ6KKq¬MÜ­V”[cÝ"Þ%E�É@!.e }µÂ®Š€H!Cr‚¸ZW»Í²Ëk7;Œ Ô]ÈBT”)Å-KPJ„¤-J$”‚ID‡€vŒ[*u;”R¤'ÆUâðœЂ^­y¥„82‘pyäNëtÌ'Üw +c¥M¥hW…E@ž 67©-nÌâv—:ÍnC·;rŒdž �à%[]KjZA åHA8ö*j³h­S§ïȾ[f—!O]�ë2d8Ú̹ÆKKJ’Ú‰ZF‘€xW+Ð÷dv÷gæL]cvÜ Pc¨¦Ô�¬íÜ“îÏ€}^ºÒ躹lUÁÞðÔÔ@tˆo›�½»S»6%JÞœeC%@:Otí NEcÊT™�Ú’¤6Yu¶Ÿu„)N4‡Ê:jZv+rRTS…dpiª~ˆº¿h¿DnD åÇTü4JÕ€Ë/DZ’¯®Duà ŽSÈç¡é=_O\4”wl~‡sÒ%©N8é�è�]R¤lÚÞÕº2àR÷ú «€$0u½…ë ›´™]ÙQÏGMkîëy¶ÜBrãðºŽRŸ8çµh¶KeÅ‹l^¬ék»Æµ¸N¡”8ëˆJ€{amK@VâØVìåɉݟj´Ù/vhÙTÍá0ãïHu*eqÙa¥¤ 6B’ À![��„ã•R´>ªë‹lg,ÆÒ�V‹ÿxq÷‚ƒ$>¶za½ ‚U…ï9r—ÃÖºf]×Ѭ\‰x¸ëHqQÝC­¬õ‡”�ÚÔ�ªÈJ‰UŸ#�ºoVص ½+T‰.(²$6^„ó u¢pl¸„‡Èñ'#‘ïÒ½šN´OƒôF•Û)ù1%?zœéÊÃ�¿ð2C(P�¢A°‘»‡~Îô­úÃz/<˜6ËH„Yôl+”‰QÖö䔺ÚBDd¥!C¦‚AßϪ öé­4ݲðm3g¸Ü”­¦Ý)ŠêÚen�K®¥%¶Ê‰ PÎG¼Se‡]úSRE³z+£Þ$ÝXê÷�Û{‹èk8Ú3¿~qŸ1âó¨ÿh:Xj)·�ÍÂ+±d?ûZë%”0–ƒj,ª;ié¯sˆQꨨ�þ©Ú)ÇJè›Å·TÀ¼LzM‰W§ÝCN­Gd6ë`e8!YÇ8Æh  ÖšnÃpT¤÷y ¡×Š"ºê#¡j)BÝZRÒIJ°VRº¼J×Z^-ÚM±ûƒ©‘[P¤‘ âÛ:[JÜØ�ÝT`’'È D»Sк³V«PC�s`[îVáRç&:b/b‚‚˜i;_ Q%«Â?‚q‚®~оO²j¶]]µ™wËÌ+‹iKëZKMÃJÐU°wGso ¤œd€�ç´[$;¼+T0ìÙ/ÝÛµ¸ Ó­²‡ !a.”tÖ´c”%Y9Æ Lê¯FˆÕM;oµ´å˜Ùàê‡/ˆ’§Üï.6ã‹}=¡I/(o9  äZEPQ@W�µ}Ï�þAý3]±êÕ‰Û_ÜøÿäÓ1UÛ­k–ódw'ûÉÿç§ôh©Å¯ÔÒ¼ŸþxFŠœZýAVÔ:º)ëõ§ø5]¼�>é¸þ•þy¦+·‘§Ý!÷?Ò¿Ï4Äü…ÏÑŒ7Z|½PíEUihSf·üYuoý�ýuŠá®Åô±Öj¹;¥l¶Ë¢#Ñ)V�Q$c$v�AÅw/Ù«ÿ]]ôCÿ\b¹›ìT™.ÙÙ/i“àK\YmGЦžBˆSg. äsõsXT“ŒnŒ ¯ ‘Ø—jî’WÙî�H$ù:‘Œ‚?Œöf¡±v_®4®˜�yÔZjÍkŠ™]¬'’JÔ½ÊJH < ôñ'¦/ÊóeìOKßÞmÛÍÂ|„Cuj QFV²]äná)#Ä=¾ÌrƒìØeMö %Òèô³ >â—çÛZi¶“6ÊšµÎ PÈJˆÈäXB�?lZñïšÈI~êó¶ºZÚhD£IKÒ�ä(Þ#¿1µ€S9)úXÿmY(Ôý‰³ F”[ïìósxÏ´n÷U…f½à”dùV©ÐSÞ߉²5{ Æ=ë²w¢¬‹,f�t¥Ccy Ñ Ó.±ºim@â­vk{±b `9¸«+ÇsåçõÕLsRM&¤²Tû€miµ,üp3þÊÕK ©JêM“R³©Ø2Lޏ“¤BqYSK)8ö�k\u†ä6¥r�#ßÍe÷\~K’>5¨¨’}¤ÖK=Bß ‘Ç´WY¨‘Æ�*âÄ·cC“!l€Bl¨xöT}ø—¸¦Þ� -�´4ñÖ“Ú§b>û)@¶¢“�¤V¨.¶­Ò®3&Ž2­§%DùžO5‡êMð6<Ž+}ƹEÄ'¢2r<\Rt¶£üõT®ÚÖŠyÝ×K•ñ¬Ÿ&XlãÿÞ§[ѱÊT¶•%I”:Eç6’Þ|ÊG·ŒªeW±4ég’�ì@ÛŽ8ÛjZü¶¤dÓ²tÍùM-æírm+[@-)†¦wYÚ`Éne¦2à\Zs~öˆ Ç {jG¢ôóWØo.Ñ{Z.«+\¦ÝJÏ' ¤äç>êæ«ŒtéçjÈí¡€U*êó_‘H)%* ŒçX­�¹YÎrsš×ŒŠî+^ÀÛWob?â›ßÎÕù©ªT ”ñWoaèÿÑ7ÿ�+óSUÚOäÇàwm(¹2w“€08òâ¤6ý)svÉå%ÇCí¡h„§~äç�Î~ª`&º ³Æ V®�eÓ%Ë$)‘e¤8ø´¥hFî3ÀÀ>òk�FЧW6u{£ã]%ŠÁjº<Üo{þ ^ÿ¦n–»D;¶å9 ù ajS!8Q!Gž÷Ó3dº­^Õr6�r×%©aïJ"Nén!n¨-.r¢ŽÎxö UV–Õ¿pIR|ò9­B”iÕJ ÇwÂ8ÚøÌ ªW–g™«¿ÁÙZüG°ÿÕ‘ÿDšyqA ©d 8¦mÐöF¶ÇÈ÷}©4ðêw´¤g’FkÐÓýˆù3¬Tæÿ’míN Ê=½Øz_R8nvÏJAo¥)øà#z†^ÂJzˆ(Œîwf”Hí6ȘJ¸B·Ý®P¶³s™*+HÙ;¨+B–´¨�€¨¥jÌr3³MèOC'L§Ò½Aé·,_½öõ÷wo¶úÇn;·«Ï¯çÇ,Ñ;-™N®ÅnÔÈb,ë$[EÑK·ï[ÉeއU“Ô¥© àN9œãԞѬìI½ ÛîŽ1gy¨ÏIm¶ÔÛϼ–TËMx÷-Kë ÎâI/:kQ1z‘: M¶Ü )L9�¾¢Ó¹ ËkZ•pB�) àŠŽÜ{5·Î±jKCÒ�cÞ.1粕F Le0Ôd6…%D‡S˜À�q�¢Ÿ‰vÐZM�0ÜÒ–,M=-i*›: 4‘„‚�¥)G•©GÏ€(­vƒmzcMµj»*‰®Ûâ\64#È’ÙX-§.oSkHR’”=nFQè�ezºvc7X]ìå·Þ_b)B ™o;FKË > ‰G9ð�‚s³ù¤À†»Ú°[®®]bÂö¼RÜXBžÞB›JÜQ  Ž]ôö•E¯@�&äÕHGwy…HK{ Brq�Þÿe‡Ú…Ǽ´ä½+pr:´Ô{Ó¬DKJ}�ët8¢¥:Qµ´”¤³»Èœ„¾Éí"ÈÚŸyˆw)vØ�Žûre´wx�d!hß¹agÀâv%[B�8¤öM.g“:øÌ—œÓ�X·µ´�–Ôî×v—Î×@#>i'#8 ìö;nbhy&Á-/7K]ÂÀÔ§Ê™e¶IeÅ« …%¤å*JÀ$‘É &ÚÇSFÓ,Û–ü ó�¸ÍLÌÃBµ:¤-iz’=22N#8!�m-åˆ,7Ȭ?1=æL~ð´å(õ÷�O‡xAAWTá©ì>š—b‘Þº‰¹¦~Þžî®u½žcoî¹Ï>^\ñ ¸öRô«òîé¼Û»Ê/I»F’õ ;)$8Ð[ÅÐTÈJR�Œ ¼œ ˜íÐã2g»n»Ç²°Ô—EÝqÒb¸˜ùê�R¢´� °V”…cÂNFtLí.×o·Ì•w²ß-‹‹¹¢3ì¶]y…¸Þ€‡8R“”’2<<ŠNÇgrý/JIÔj^–z<¸è„Ô0‡ö?»Â·Š”¼íÚ„¸«¢�ÙC)³\ —´ìG¥0Ó ‘kÓ­ÄVÔ:— p…’²¢„ð R1�´ê5ãK¼›BtÕùSm—f¶”ÇR¢%Õ‚´‡Š—ÀÉ-…àyó�Ó5-ëO�?Çlïr.×DBSŠB–“±k>ëd¨„s�‚O8 O®t$�QuKîÜíí0…4¦V»P\Øe$cÉ Iov?„•ã'ÙÅ?j{¦¥Ø¤w®‡¢niŸ·§»«†�og˜Ûû®sÏ–1Ï5Ùuýªé6 mÛîŒC¹)Ô[gºÒ:3TÚT¥ÂVV2”-IÜ”î $fšï�§7Áw›òb÷l;#÷˜±§6ÓFS cr¸p”m*ARV°ÂIâ’éžÉ X]Kp—eb; >ÜI1¬�7qo¨•%%R·JBŽ R’p2O9o�ØÉC/6o¶ ­?2Ã-Pì¡•>Óè@)]U)O ¥@ $ª„’Åö�n�f¾Üg[.qUbŽÓó˜RZRþØØp%\)$Ï |kÌŽÑ-lH¼6mWu7kš‹zÝKM”¿-e°Û û”¥uPr@HÜE4^û8½]-÷ÈjÕPØèl1pZ-D�í  -¼½àINÐRw3ÂûÏg1.¶[íº\Æ�ô�év‹±ãl¸€ÎÔ-µ:ƒÒñŒ…Ç�¹Ú ½´³ÝÓwïè·‹AK=åO)¢òpz�"žšT½Ûñ„‘œŒRžÎµ,½Mï"\>æa]Ÿ„†”�«J[ÛÂüJY$“´ãŽ9,q»5T8Ñ$[eXmwxW1>;Öû #Åi[%µ²—7,:ç%Ì‚x T‹AéÉ:nɹ—Ar‘p¸½=×D~ˆJœÛ”„îWŽ9òÆsŒ�#®Õ¡;aL×-{ƒŒXؽMv$VšCqÜêø¶­âA’€¥c¹Ä‡]ê·4õ‚Ýt·Úß»÷ë„8�¶ÊГµ÷R�Þ5$y+ŸX§8!ŠÃÙ�¢´õÎÑé¾·~Ó1ì=^ë·gHIlo9Ïxõr1³Ìç‡íK¥žºé+}š-Ée[¤C’Ä—#—P\Œâ�Í…$”�˜ (|è[7hËUÒdKµšj#£P.ÎÔæGAµ•%-%ÍÎo*QPHINHÓ­«^Úî7(qÛ�rjùNÄ�qu¶ÄiO6T”aec!·*JB¶œ‘”ÊÐj]¹Ø«» ÎêF¯¥b6(y·zXßíÙ�Ùã>GƒIv[nÓ·Øó#5`TX²}…z ¡;+*!*”TI ßÁJˆJAQç <êÍqO\ß·®Ñv¸?Ú«›ÝÍ ¢:TR¥·’1ꌓžç OiVVØ’ì¨X»"Ç—.2‚©­Ès¤Éi)Y9Rö§jö( �Ku’ôµæåqô‡G¾ØÜ´lèîÙ½JWS;†q»Õã馛Çf踖o eضÈQ#¸˜à–Þ‹!/¶÷*äoJr�vyæ€__ÛUvfÓ:×u¶Ï\æá8Ì”4z u¥¸Ò–¦ÜRJÓRAIW‹ƒŠD÷iV†¯CËz=²;“ϼä\‡ '˜iÅ6´¹œ:¤ì%JIÁNЙš]Æõû•ñ•ß.ŠŠ¶¦Ç„[j"â«|r†‹Š'k„¨å~-Äd M+²«t»DL›‹«‹N˲¼CC¨ò¤-…ªFI +{%X ‚WðÁK§uC7k›ö·íW+EÁ˜è“ݧ%°µ²²¤…¤¶µ§I2Fvê{ɴͰ°¤îbûOS9e×<÷§gî~¶îÛÎDjÇ¢gé¸9VTév.ïGC1—o°7 ±…d—0µ){½¾ 2Ÿ9.¦±zjmŠGzèz&æ'íéîêá—ZÙæ6þëœóêãäÁfí>Çp‰{öûµ²ßp„ôس&6Ømhe;ÝBÔ¤”§'”€BIñ�7NÐe \Y14õÎÞ·îÆ�nqÇMèò¥¶ÉZÚÔÂVNÕ v’œW”vcÍ3§,nŠ~-¢ß&Å,l2Pû•â;ŸáVåè›üÛlX�\ܶ¡É·½,ÛCIÄY(x•ý±EN/¦T R<Â((ºîÌý¾Ë;¥1¦/äA`¸„ŽšÙCëZ—âá8ŒæÉå<q»v¨ðîr¡YæA¶Ê±\.ÍI�+Sí°Ókmm¥^JP¢ }^M.�Ù´”9hˆýý§lö«”ɬDJ\q2�‚…¹Ô íï'  IÈDïe—YV¸–Éú¹§£@°Ì²B¶lPmö�ÐqÃÕ;Ö�Ú|‚Aç„æ€y“ÚM¶#³Ðõªîë6µÆná1¶Z ±×CkBð\ÜS‡BBŠpr1‚v/´kZnLF›ÂâH»›;´ÙŽä¤­HZG�x R Š@%$xΙݞ÷«>§·ú_g§U[û¶zYoËw‹=,û1»㘂ìוÝ;7oGBÕ‹ºô^³­´6Ú–ëî,ËÞZq²·±2 <&€ºh¢Š¢Š(Š(  (¢€®ûkûŸüƒúf*¼cÕ«¶¿Þ¿È?¦b«Æ=Z×-æÈî$O÷›ÿÏèÑS›_¨* ¤ÿz?üðþ�9µú‚­¨utS×ëOðj»y}Òp#ý+üóLWo#OºCi‰ù Ÿ£n´ùz¡ÚŠ(ªÒЧ>ÍAŸ±›V�„?õÆ+—¾Äè’î=—v¡ ‘%èÑÛI %G.ðy÷ùs]ÁÚ~•ßAÝt±š úA´ H,‡zd-*a#>¯¼W?迱[UèÎõòc¶©–¾÷³¯Ð²c~ÜíÏøG³'ë¬&œ£def!ÒZ§´í=¦ XÑÙœ©mÆmÖê–è$)Ï\‚’s‚O' žM6}”‹å÷ìh�;PX×e�é–Pb©D”¤%x<�çV'÷íSÿêíþ†ÛÓ>®ûõƬµú/Pöç>ã ¨è½eÊw àþïçÍjTžk›\ÓG|óÆ+$Šì´}ƒ¨—;MR¸ã<õëÇ÷��ùÏÿÀóÐh8ß<ÖJ«±ÇØ6ÿ¬ÿüÿ1Y?`àÇþ³ÿðüÅÆÁDòiêÔ1$6œŒÇ_³áå]\>Á°þ³ÿðüÅ8Æû ú-­´œ…§iÿ€ñÿר`â\ÒÈè(ÂyÇ—¾ºù_`âJ‰§`{½ÿ˜­ÿÞH0÷Lòÿûþb¤žÂd½m} ŒäsîÍ1­kõU�RH9®Ø‰ötéÿt�Ã9?ð&?úôÞ÷Ø?ÕynÓ±¹DãÐ>Y?Î*8ÍDûë;ÔxÍvG÷ŽþOÿÀó�ïóŸÿ€ÿæ*n8mÅ¥D…`Ÿ:‘YµµòÔâŠò7£Yã@�]L>ÁÁÿ9ÿøþb±ýãcþsÿðüÅCŠ–òc'¨ã©²\—)Ù.m uej ''´ä�*ì£ö õŸÿ€ÿæ(þñ¡œÿtóþ�ÿÌT�qºV¡�M]½†«ÿE$;W榭Ãö giçýÿ˜©¶†û˜µ9k®õ½âîÿDìÆ@ÇXû«‹Juie‚»=Âøü>«b%hÙí³ÅʬgpÁ©›:ºê«m²3“á¥vè™mÄ¡i*J°—vŒø6‚sçì«}�¸ÿô·ÿÿ{^¿½ÿVáßïkƒGBùc¿î�[¦´–‚ÒÙJíe¾èË·ðV:¯PȹÙ[DtLJºLFZX ’TSå•A>b£<¤‚’RG´qW¡ûóÿéoþþö°Ÿ±øgÅ« áoÇÿR°Äa±UåšQ·åôNšÐz2ƒ¡N³i»íŒ¿ü¢×Ð Rô&ŸZÔT¥[#O´ô“Nò[[±�i·Ü޵ ¥.¶TÙ#Ö�|‚=àÒk ½6› Z.¦fã…‘‚ „„çRÚ½‚j)3娉©Ö”£¹·ü”û׫Κ»ë÷½s¨'ÚôÂbºˆËbÞŽóÕovǘé 2 p'ÛKOlÖ– ÜŒ¯B;.!ˆ6ûÚ$Ds¼¸[FùÚ¤’½Éð§nÎ*_;EÙ§9¨•,Éu:�¶‘-@�Žš6 ¶@$ps“Èbµ?¢Û™l‘ ë¨o—5¸ã³%÷C‘\e{Û[A¶Ò€ ¬JIV0¬Ž+#I…Ú¨ž‹m¶Û.WÞZµ¨B»‡¢}²;�!Ô¾ñ'íe*� àànQlíï)ØILFŽ™wivP¯I•bc xûå•7ð¡‘à§ôéœU½Û�òñs‘ä.-½%Æ�+ - �¨m(Ú²p”¤“É'œá�jdÃÛ"iî—¹¶ò´òûÝmÉ>Pu×�çÂy<侉×úš÷§tâ°[¦_.VD]ä$ÜÃe[BNî’Žõ’|p6œ¯Ë+µ–³yþÂæk{‡-λmL¨î8„)lŒ‚ INH9qJ-½›BµÀ¶Fµê+ô'­°Õo�)¥Ç.÷BRC ÜÑIJv�ªÛ¼sâäåÚ~�³JÐD6‹i€ÊÇQ §”OdÐ ?ª]N®D;&´V¼µú2L™ª †£ÆÊ:I0†ÛÍËWχ9"öºÉ�tL‹}¶DÈqc>ËV«Â&6âŸ{ †VàBCkƒÂ†�MXZŽÑÿ§î6;€pøFr+áµmVŤ¥X>ÃP}GÙ»nÛçMÕîä«pˆ†ž”ÄpèmÀë;J mHZw$„€IñdyµîÐ.Ñ$ß`\tí¾$ËBa¸åé(ˆ¡%N åå¶’” 7ÉØTI $àÔŽÒ%Þg~Þ¶#·ßî0碆ä²ò˜ˆ·RZx£”çb�Ú=ÄyŠÆŸìþ}Þõv¾_Ÿ¿[¤9& ð_’ôEÌK±�òzŠKi\p}I >®ìÔ‚f–ˆóW-WkÌ…®[óyÖÈë=°ê²Ä“»ÀW� ðÐ’,®Û-Öûkk•èõw+d9wùwi™Ž˜C¤0ÈlÔ N:`“„Œð%0õë’µãÚh[à2’Y ~ä˜ê6uÛŽ¤ã\ãr\'Û�enƒÙì+pi›íòÚ×v�R#:Ðïia´)j-•%[TÙA p¥Stc¯LO›|¼I�rg³ouÆ”Ão§ÕRT[ê€ ÈOSo³â„:ŠCÑ4ýÆTuìy˜Ž¸Ú°H8#Šuþç“.:×s».[£×F-ê[]Ý=Õ.ì÷”’ó‡ QÆî1^´ßg¶û%ÖÓ=«ÔÑfˆä+s�h·…„�µ´©X  (•qÉ4s^ê;”^ÓeYþQê{d,Qæ4Õ–È™åo-é Qsü⑆Ð(|é^˜×z†ãf³Ä‹h·Þ/в7s¸‘<0Êw)H AJÅ)·Þ’’ ¼ªC|ÑÊŸª—¨àê{Ý–c°[‚脘ªC�¶·œ‡™pƒ—UÈ#ÙH™ìÚÕùtí­!i»®É›`¸Ë˜Ã »!ÍΖÛm¾ªT„�ʉJ�ª3š_ DZ¢D±ÆnDÒ‹-Íûœb¥§+uÐøP_‡”Žò¼ƒÂy89βÒ~š�ÕÞ×t™e¿ÄŽë1'Å(>àôÜBÒ¤¸Þä¤àŒŒpA¡n߬o-Q'IÞ–›Û­Ü`Çb~Ô°²Ì¤-§žTeÖþÌ­ÖÎî«]þÿ èë—Óy·šS�).‡�d•¶w'¨7¬pºó²½;$¬ËºtáG·Çks¨$¦£%¬�œ’³…{ÓåƒÍH׳¢Å¼76Ïm�pµOf#ÝkÂZ†ëIq.©õ¡$' Á²¬Ž„vŽÓdÞ} Ñc‰.]ÆlØnÜÁŒÒ£¹iu-’âžRBAäI7ŽÏí—Ë×”\®p® ¸5pmö G¢ëqÌqµ.6¤�[R³¸+“‘Ž+Ï­vkÃFnWi.±.L´"C¨Rz’”ºI 9)ÝŒðIÆ nÐä:¸wX gÜݶE–‰›¤-Ô)Äv¥´¤ƒ¼ŸIHÉž͵˺½noƒn‹±„º¶˜¹õ¤FQÿÙHeM¡m9ð‡Ÿ,íc³ÛSSZ_¤nª·±5Ùñ­½T&;+*q%(zÎ-@”¤« +°hömwÔ^äޮ׉ÍCTœ¦Ii•)*RrÛh+$¡%•<ù9KEPQ@W}¶~ð�þAý3^1êÕ…Ûgï¿äŸÓ1Uë­k–ódwúO÷«ÿÎÏèÑS«_¨* ¤ÿ{¿üìþ�:µú‚­¨utS×ëOðj»y}Òp#ý+üóLWo#OºCi‰ù Ÿ£n´ùz¡ÚŠ(ªÒÐ(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€(¢Š¯.- ¶§RP„‚¥)Gí&½W—›mæ–˨JÛZJV• …ÁP¼ÎÕõ+lùDZgi¹÷ˆKfÛ-–¸á²”])›PtxÛòò…>j q©ì¶™�Z$Íu‹rà8Ó.6ÛNK–cmt’´ ”«p(Ü20Ÿ:{s²íäDÅv×)Ö‘Ø(\å(¦3ˆØ¶.d7·@ð‚ <^´žŸ¼½)ë�¸HrTDDuEÕ§-!ÂâÁJVw (sÀ #ýŸK¿9¯5Œ åÁ™jˆ`†»¸[l€¦”¢RÒ–¾™>ѸçÏ8 ÖšÉé±KˆÓ5DË H\gJЖºå/•@Qœ`gÌ)9Àœé½/eÓÏÍ‘kŽò$N(2ž~S¯¸ñ@!%KqJQ g9ưPÞ–°¶c”AÇw¹;ukí«ðÊs©½Ï>sÕsÂ|#w�€!v-iªo×8úv³Dº6nFdÇ¢ºã %ˆÉé´J�Y!G+;q�sH­½¦ßg4åϹ[˜·@Ó>šžÐmn<ãˆrCki¥n$–2•œaݔͤèm2úR;”†™$%èÓŸaй Þöma[V®J3·�Ç íú[OÛÝßÖÃ#ÑíÛv ôû² Š[Ù�¸jödçœÐ~ε† ½ÞY‡t·¸¸ò-Æ`”Ý’d£:�Ð*�0é!yJÓŒìVR8«£p4>œƒTXñ憤Ä0”r�²Û`¶ÑS„²Ÿ.ÛŒ y HÐ�„% Î02s@fŠ(  (¢€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€®»lýãü“úfj½cÕ« ¶ßÞ1?É?¦f«Ö=Z×-æÈî´Ÿîÿ;?˜Š�ÚýAPM'û‹ÿÎ�æ"§v¿PUµ®Šzýiþ Wo#OºCü_cé_çšb»y}Òp#ý+üóLOÈ\ýÃu§ËÕ¹>ãFãóýš*´´<îWñjþ�×XÞ¯â—õ�×^è 5õüCŸZ]UýîïÖŸ×[( 5\ûÙß­?®±ÖsïG¾´~Õn¢€Ñ×wï7þ´~Õc¼;÷”�­µJ( ÷—¾ð“õ·ûUŽò÷ò|ŸÆoö©M^ôÿòt¯ÆoöëíÿäÉŒ×íÒº(}òGò\ÏÆköëöGòL߯köém.û'ù"oã3ûuŽý'ùwã3ý¥.¢€Aßå#Oüf´£Ò¿‘.ŽÏö”¾Š¿Òÿ�î?ŽÇö•�HËþB¸þ;ÚS�w¤eÿ!\�í(ôŒ¿ä+�ã±ý¥8Ñ@7zF_òÇñØþÒ�HËþB¸þ;ÚS�w¤eÿ!\�í(ôŒ¿ä+�ã±ý¥8Ñ@7zF_òÇñØþÒ�HËþB¸þ;ÚS�w¤eÿ!\�í(ôŒ¿ä+�ã±ý¥8Ñ@7zF_òÇñØþÒ�HËþB¸þ;ÚS�w¤eÿ!\�í(ôŒ¿ä+�ã±ý¥8Ñ@7zF_òÇñØþÒ�HËþB¸þ;ÚS�w¤eÿ!\�í(ôŒ¿ä+�ã±ý¥8Ñ@7zF_òÇñØþÒ�HËþB¸þ;ÚS�w¤eÿ!\�í(ôŒ¿ä+�ã±ý¥8Ñ@7zF_òÇñØþÒ�HËþB¸þ;ÚS�w¤eÿ!\�í(ôŒ¿ä+�ã±ý¥8Ñ@7zF_òÇñØþÒ�HËþB¸þ;ÚS�¤%ÿ!Ü�í(ô„¯äK‡ã±ý¥8Q@ ïò¿‘§þ3?ÚV{ôŸäyߌÏö”ºŠ~“ü‘;ñ™ýº;ì�䙿Œ×íÒÚ(}òGò\ÏÆköë=íÿäÉŒ×íÒº(½éÿäÙ_ŒßíÖ{ËßÉò¿¿Ú¥4P »ËßxIúÛýªÏxwïZ?j”Q@hë»÷›ÿZ?j³ÖsïG¾´~Õn¢€ÔsïW¾´þº:«ûÝß­?®¶Ñ@kê/ø‡>´þºÎõ¿¬~º÷Eçr¿‹Wô~ºÎãóýš( düÓY¢Š¢Š( ë¶ßÞ1?É?¦f«Ö=Z°{mýåü•~•š¯˜õk\·›#¸}Ò¹?üèþb*ykõ@ôŸîoÿ:?˜ŠžZýAVÔ:º)ëõ§ø5]¼�>é¸þ•þy¦+·‘§Ý!÷?Ò¿Ï4Äü…ÏÑŒ7Z|½PíEUihQEQEEPQ@QEQEEPQ@QEQEEPQ@QEQEEP^Òõþ›ìöÌÕÏQIy)�èf3 4\zCž{P‘çôœ.yÓ]ºiK¶©ƒ¦®}O¦®m„›Ý·»&B�$…+’xÆIÌŠñöBi+6°ù7ZÊšÔð§‰6%¼´:è)ð†ÔA_ˆ#‘œ89ÅC/ÚÇ´]©´Ë]¬Y4ž¤µÌž˜±.°"LgG‹jÆà%#ËÏÊ„—\]d›­î:63ë]Úݹ2‘³Â„/Õ½ø ãÜE?W-vq£ôt²£´ -Èf.že«Œ5œ"3…[ŽzÞ/YG#Ÿ*®µ¢¢¿ÙÕô}9hÖR%›°\}crº¶Ó õKia fsŒ'ƒí`Žê­3¤wXOÊèºÿEµ9ÓhµàgjA dã‘\ÇÚ¬5o}”Ù2DoJØWÞÝŒ¾šÔ…4â�@#ÕÜ’¤ñäq]!¥ìvÝ5§áXl쩘›é0Ú–VRœç$“çí¡KMv·¥¯Ý•\;GˆÕÁ«L<§Ùy´ ´2RS¸äcÅü!œV4Ÿkš[Rö_síW­Vľd´ûh‚ÒŠBBÊrAN<\äyW2^Ý‘§m£v/]'®ºÂ6æÇŸJJÊÁݱ¦Aÿ*¶ö‡%Zjý–ÛÐP/‹{–¦“í>Ø´�þ%Øë�ª!kMoÔöè³bĸ ¸ËRДºR R‡8ÈäðE>×/jû&›¸ö‡oìõ‹§ÖÏé‹ݳƞÜ(€m:V¥ ©Ã¹$óíxÀ€¦ïrºý…Z�›”Çå v¦DH¥çzŠm¡ÑPFïhjdzž8©;~Šçí]ÙUå®Äd7¡'LwQ^•eá×î Bî $ïl(�–òWÀF)Ÿ±gtÆ�írßi{GêîÎïS¢¸†í®ÏT›mĤ¥,Œd�2<òp@éš…ö»ÚM“³+;½öÎ[2åˆ�¢HZ÷”©C!KHÆ}¹Î8­ú'³û‘ÔºšÿkvjåêII•4>âT„­*qC` q^dû*¦û:Ôâ4™[-õN¡d¡ÆãÒw>Êô}’>4–}Ó:ÛOFyÀØ—s´†ÙI>ò•¨ý@ÕÌí>ÊeĸӉ BÒr’2>Ñ\§Ûf¬í'W‹Geº¿GZ´Kz–Siná&x”ƒÓXVÔ©¼€­ÛF'pšxÖVfõÙ¥{ ½Mšt�«O¡ÄÃCêk¿-RAYIð�äxÚ¬c& Xéz+•l÷ý˜ö—Ú¦�Òs%®ÇlÒï] Åyå< ÈK-¨m*$ã.= '9Æj%7DÚö Ií\î Ô—":R§8¡-*˜,­íP Î7nNsŠ‘cµè®\t„vÁö?©^�8€ òÏv<H§5\\·ý—úöá )zD·RßžV”ÇPIúxúè,t…ú+Në�kÙêµm—FÞ.z¾Lå?V JÓ*miw°ÊÖ0œ0@óÈã»KO½pV›·È¾´ˆ· ¥ÎorJZw`. ‚F³È8â„�ßì€Òn׫&«Ôi¶¸[™*ÏkëÇeCÏrÊ“ÀÁäqÇÔë³Íi§õîškPi¹fL5¬¶ ´-§2…$ù�~‚È5Ki ®4²î÷.ÃõÖ•¿éÙ³Ü�»|ï¶!`nB^hœœmiã÷˜¾²íVmÇìkÔ†Ñb�¤ï1/µ]¶á ‚£•­ O–í¥’~'"„�gErkýŸií ²±§¥KJ'^b®[NK[­Êpl=à%D„«ÄAÛ€B‡ °»# }–}© œ(ÇŒ@>xÚß?Ò( öŠä.͵ ¢ÉØ×j· •âén‹'R¸Ër-[{ÊŠÈÂZ*à ŒŸ!’9ÅjÒñäè®Û»7jͦ/zM›ÂÌÔκ¢J®ˆ)ªâµlW9Á ç;  =…v�ýÔ4t�CèoDôg¹¡ÞzùØ”+ví‰óßå�g�S�›i¸]¨v½ÚuëW\."u†æaÚVÌ×6ä%o%.'j€È §ÏÂHQ æ«{??`íü’~T$çòÇtÑ\µÛEµîÍ{‡'NÜî ]5tèlß.ÎIZœ^Yqj çí`ž0œ ¹ë´½%jì_Zöwtìýû„97+ª`Ü#ªcަâÙ( +J‰;ˆà �*EŽ£¢¹k³í g×}¹v¿kÔ ˜å­šRâ3%l¡ÇIt!Ål ¨ oÀ9VH83û .W ݑ̇>c²…®õ" u8¬”´”4°œŸ`+V=ÔåEP€¢Š(Š(  (¢€®{nýåü•~•š¯˜õjÁí»÷”?òUúVj¾cÕ­rÞlŽáóIú�ÿ9?˜ŠžÚýAP-'ê?üäþb*{kõ[Pê觯֟àÕvò4û¤>àGúWù昮ÞFŸt‡ÜÿJÿ<Óò?F0ÝiòõCµQU¥ QEEPQ@QEQEEPQ@QEQEEPQ@QEQEEPQ@D{OìçKö‹l� REuKˆár$¨î–ߎ£Œ”+ã��A2Etï`z>Ù¨`ßnW]M©e[Ö†/Wð† ¥!)ò r8�·­_|°kÍg�©®6u͙˘ì J'¼¢Ò[-á²ÛŠóQΑÉò¤mk«ÌYvøµ-æì$Ø®³„¹ÖÖ¡(¸ÀNÍ̯ <R´*„’ÛŸd:joiOëÔϽøKm-N�gN4Ô%!;]FÜ©$% § yf˜c}Žº«Ë³µ$«KÅj�û‘S\W›Œ£nDZJÝæ}æ˜âvö,úRÄ›£0îWA¦ãÞ.�I¸³NoNJANtáJØ�£Èg'û¨;j‘ F§vÓ¤u¶iØ�gI–.)h®<–ƒ�IAAñO‡8 AÀ!´y´ö?`·ê '}UçPM›¥¢¹åÊC�T/î§fU´8BpRJG²¬zªu¿l±4½ýˆ�Úá¹oqQuw–-i�FÔA•­(Ü7{q�3I/´O·Ý.L£D»*¿Q¦Àì–î) [« é©-” ä« e'''»ïczNñÚÌ.Ò¥=rMÞ"šZYmÆÄwØÂ¤”8òPõEDZ½'ª{Lµv�rzä‹�°°[e—t´²´¤ ¨œœp¡ÀÉ3·-ö·Óu±G·Þ™Ô ±ª,‹ª+•%H-í#�™Ï50ÐZþÛª´4½P†�Ê 9!™�´ú_BVÁ;¶8žI)*`Š5jŽÇ4Åû\¿¬ Æÿk¸La1ç¦Ûp1ÛšÐlwq% í)ÎÑíæ™¤}�Z%v+õ†5ËP´^¥"[�cË@f;‰PVZJ›!9Àäàž)¦ÍÛÊѤ4Ä�@»|ëÞ¨jEÕ¤MžÍ¶$( å¶º¥'iHNARŽì¨ vºvá%ŽÃ|cLK—QÁΦŸÞ¸„ˆKNÜ6I<9’ÕqÇ!´šë]§µ~‘�¦¯MÈ\h…µÆ}§zo°ãc q*J>ÌsåLºO²+ �TÆÔóoz›RÝ¡¶¦áH¾\L“(­ƒ ‚G9¦I=¨j+>ºÕQõ–kŸ°±p�#M.ºXYÂrÚwîPÁÚЮw�Ù »Ör¬p¥M�´Å·Þ›”‡�úY ¸”a¡J›#Ú0ps@Xš'AZ´ž¤Ô×èîr$j9I“)¹N¥m² § �R>Ø|Éò«µ^Îì�£Ú­öÛä«„v NDÖŒ7•¥*H Ü•xp£åƒñ¨ÍõùV˜zÁ7� ü{Ž™î‹\f&ÐóRNáp l Á+ð� qº’ÊíNmÆÅ¦îPÚ�NÕЭ.×v�5—šw%^2ÙPÂ’†×ÇH^Ôû?°v�¦…Šþ$¶ÚKìHŠ´¡öŸj @È$ƒÁ÷à†­eÙ.žÕlY�¹\¯�^¬ì†¢ß"K ÏÀ%KJv’y>¯™8ÆNZ`öÆdÈ·\U¦oK\ïfÉëßR\[ûÔÚV¦6ø[+I·gÚ@­6žÙfL•lvN�\[DýFæ�SqJÔ™!kJØ2…lää`ä`à‡Dv]¦t]ºóèèòï ³jåݤõŸ›�|,Œœœà{rs\ÉyÐs¥i†�±öiÚ\+¼¹ƒºÂ�7¯e€z€©ä:R¥œ¨n>#æz'³íY«dǻ٤ÂN¡ºÙ51µÊ�§›ŠL%ah’@NÒ¤¡`$ í©7irµK$g4órÉ3L÷!2ÛÒZ�…n[(s)R÷l!\ P½EØí‡Sém'n¼Ì¹D¹é¨¬µåk‘Ð} B“µE'‚Pã#cšU£;!ÓS\=¬-ÒïÜd@0dwÉAàøR’¥:µ);Ôá)%Xö0Ì²(Øï©ÔRÍöÝ L^¢t¸ˆ}Ô¡Iu)dgqÈJºIÀ*#yN ãý£ºÞ.ž™ ÖÚe\=ØnðÛ“¶)IqQ’Ÿ D§+Ü2 HÏGÜû4)~C-OÔ‘ìrd‰/ع©6ç�r[>` Ø1ä*Üa–˜a¸ì¶†Úm!BF”�€÷b£}Ÿj+†­Óž˜~ÖÝ¥‰I‹¶WYÂ¥!JP(<§#•d`œyUx¾Ðµ3vM/º[fm¹×Uª•ÑG�¨Ò‘ ãŒa‹ŠxmÇ 0 ¦Øï¢—s—2ËxÕZi¹‹+‘Ïsè°²|ü%*Àø�ìÅHíÝ�è8›ÌÐíJô<ã¾IS¤¼ã¹:W縧Á�Æ8¤‰Ö÷XæùvY·;m7ÕÛ-þ�žÔÑÐÃ{]qn”©J*}¤•ž�É´÷i5 �6Å¢ÄÃÆðÄמqWÓŽ"Im‡v©(=PJÉIÝ„çD¤ ‡µ¾Ç›:i”êÝJ¸·èé[²Ýra…$© HKMƒÉày ž[Z³±­/¨uÒõ‘¸ßí77Ù L6»�Œ™�€×6�Ä¥ í# u8vs®ÝÕÒ–ÒíÐ!ícª¶rKЬ�Ӓ›Bš_'Ëzr’7yfOûd“{~ÇñnzëGá7% }¤ø|JlÉ$òGð‡¾€¯!ö ¡#hËö‘ ¸¹k½NïËBž@Tg6ôJP6„ãÜpsI¥ö¤å3muýA«œ»[]Jã^tÝ5 HÂZ )!(`%#’Ny5§Uêçàë�VÅ×Yê‹%²Ò˜ª`Zìh”ÂÙ QuÃݾ/œ´ñR &¬Õʇe²È°F—©Ýµ„öäKî�´€½‰ÎÔ9öÅžv�´¯ã $½ö#¤.šÚnªLÛõ¹û�çÀ±xö‡R‘¸…{@PŸi4•ŽÁt{–Íìå»�ðZ&\;úÜë5×Kž OOnßट>iK�«».Å6÷§ôÙ¸C·XÚ¼NÍ :Øq.(4„„(-`4­Ù)Œ)É=¢gNÞ®þ‡û—u‰oéwŸÝz舭ùÛÆÞõŒ`çg˜Ï=j�§õ>Œ:Jû̶�Ø V’€6¬(c óÔqQ-'؆”±j8ùWMG¨f[¶Û髇xD!ìé'hÌçȽÅívÒþ¨E­"ÕÝœ¼.΀.È3ºÉZ›ÞbíÈh¸’�­ÙÁ Ûƒš³(AÑÝŸY´¶°ÔÚ¢ß*{³uÈzbq´•Ó �ã>dû+=•v}fìâÇ6Ïc•>C'¹=ÅLq XqiBH)HÛ„f|ù©uEPQ@QEQEqÛwï8ä«ô¬Õ~Ç«Vm߼ᒯҳUû­k–ódwzOÉÿç'óSë_¨*¤ÿöÿÎæ"§Ö¿PUµ®Šzýiþ Wo#OºCiŠíäi÷H}À�ô¯óÍ1?!sôc ÖŸ/T;QEZZQ@QEQEEPQ@QEQEEPQ@QEQEEPQ@QEQE~ñ¤­×MkaÕ’–™ÖFä·´)!¥‡Ò”¯x)$�1‚>9¤ú›CÚu¢bû2DÖä±m•mJZZB R $“¸cƒœ{Á¤=¦C¾Ì›h6´Ì›ž²§Û`]L R2Z A!vS½ï<`°iíQ9ríºOMËšÜ×¥MÎ¥iR^·†ÊËc‰.’$4R²â¼$œ«Ê€\žÇ´û Û¶ó¨-�Aµµj[ñ$¶‡%Go” l�ßÉæ—];/Ó÷«Ã²îh²,h³¶¼ƒÒC –Ð[*I �y*Ý“î¤�k»Þ ¸A‹s�ng­nŸ%Þî„®<ã!$«”íÞéê €�Ã` Ê€ñ à \{%Ó“]¸I3nÌL™z¦å4ò‘d†ÃkÊÚR0R° r~’Z´ÔX:Uí>äë„öŸmÔ="cÝGœêd(“€$=‚¡Žë]VÞ¢�¥Blª¹‹ø¶=3»:SJ·¹-.%¾¦ä¬m )+ ãÌnJ´%êå}±NTÞèÝÆÂ\ºËJ ­Lº¤%À‚¢@ S¸ûF}´ ‚è®ÌeËÑ:v¦rãd¿é„¿m‰q¶Èktˆ¹Ú•BÓ±h8ZB’Aòö¿_û$Ó7ô6‹Ü»½Áí†ßH”b’ ¥ImE;ºä¥'y'Õ8¨åïWë‡4†£¸56Û*ÞÜØ–»|ût%Åq÷”Ûl¸ó‰Ú�å)_µiQò�¨Ö Ñ0¯Vk„…Á¼w¨ÍCMÖø©±©VLJ‚\ €Ó«ZWíA õ’’I+²ëÛ´Ë�Âåxš«��6›“O<ßNsIJ’p%‡âw ¤gœRG»"³ÉÒòôôýE©gE‘Ý’•?)²¦PÉq @ „òPQIQÚߨ=Õ»ž‰}±©¡zÞáS)/¸´&[¡¢¢ À-ì)�¤cŒTþ„û‡gÖÙWÛýñ›½òß>öÜFÞv Ñg»çal„ûwÁ[’GÅ5GìƒN6¦Ÿzãx“57Ø·Ç¥¸ãAÇäGIKiXCa'!)I>ú±h +è}‘騷ˆÒÑ2î»|K™»E³®JL&%’UÕJvîáJ* *)ð+c=•éæm6ëj&] VýGò‰¢]or¤ïZö+ÁŽžVx>^*žÑ@V=žè›Ê£]ïéW+ Îí©•x\xR‘¹,7„3Õ'rV…!¨$ó»©Æ¥±¢÷:EÆãm‘î³`ºâ´§� ¤,¢ V•†@4íE ‘Ù;TyŠ™|½IºK‘õ]["BΣ) ‚R¢£Žžåg5­™Û�ëE»õñ 1uUÞ;)[ I[Š[ŠýË+ +XÂʰvíÀĿгJÙ"iËk,r<` …ƒt-ÿ.4ÏúU�Ú£û¡hùq¦Ò¬~Õp3vèÁ)*J”qÉÝí¥Ö=:›Åå›\e¡— ^õ’p”ùàddóåŸ}xç�Ñ÷igðG¿©ðž‘¥EÕ©(++öÿc»SÚƒW«­´Ñú.¬~Õzùy¡ó�–Zwý&ÏíWÜ´²ßqL ÎßHRRY�ÙK™W«„õ=µ¿Xö}K2ûwmc 4ö¢™ Šê VàçnÐWžHÅ#�ÀËvTÿ§Õú‘ðgd«_èDœ+Zé±ôÝýªÊuö…W«­4Ùú.ŒþÕr%§±‹ÄÛ}µ÷î<»ŒNöÔn‰* ÂI¿³zsQ­ ¤¦ê+¤Ëze» èÿ mJ;‚Ô…�Xc52Æ`c{çÙöFÊz2¥DÚ©œÎâ:ëD�=c§‡ÿŒÙýªðuþƒzÛM¦êÇíW|šD›û¥žþ»°‚µ%æƒkA<¨gw­ŽqôTpÌ둊ß[,¸óiqÞVR… ±‘ïÍkŽ�ÀÉÚÓðG]‡ñ5éJ­:‘j;ö3¾SÚƒQÂu¶š'áucö©CzÏG¹ûž«±/ü›‹Gÿš¹ߨž ^±•fS®7gl�]¥ž§²�û{_µ^U¬tŠNªliún þj䯻(Õ Œ–N¥yWE[ûâ"†Ô ãË•ç¸Î*7Ùþ’ºëGnð¤¨h·°ÚßO‰j %a@å\cg×Xt¼*Þ¥à�ÑÑÎPsÖGg3µ­ôZ=}]§ÓôÜ™üÕ­ZûB§ÖÖšl}7Fj¸Ò^„L½;Té«ê¯�mû»ÐRÙHH ^ >`ãÒ©–ǃ¦áj æ¨�n‰1´-HÜÞå „…îñqSÓ0vÚ§àŒ%£ä•ÕXòÚuñí@=s¦ÿ�˜ýªhZG\i“ô]Xýªà— [QwŸ$ÄÜb°èC2‘”‡Ä’|ýä�ÁH5-Œ܆R¬õR’3œçé­¸lNµxÑnI¾Gn'á¼},±‘”ZJöÚ�¼¡,ë½ó©i�e§\qG J.l’OÀS‡§ìYǦ­¿÷¤~ºùã×!Ô‡P…"1Å[˜^g>Ñ´ÜŠ–ëiÜËŠõ”‘üïÇõVߊð­ƒx¼Ur{íÅ[ø(´%z8êúŒMàÞçÙÉ�méûòÕ·þô�×Yôý‹ùjÛÿzGëª[OEŒÿ}zD)xªy,G?lpŒxEzD›s« oAjŒ©¢à+IHá¶ŸŸ}B»ª®ÓŽwFÿ•ÎhGFÍåU%~Kû–œ;�¶c¥¨w’ ÜPÓÉY߀|¹®ªîËP–µ¤ö“äˆÎ$~V�g¡4”ôŽ]8ÙÝ«/±¯Ia#„­«‹º²~#>¢Ó6kû±Ÿ¸Ç¼ÅÜ#É�)ØÏ´�Á.´¤¬�‘œ ùRh +Ü£ÅDÙ1ä.Krœûrz«NÕ¬¾•‡TT0Tr8^öÝ.DØtDèŽtäG²ß�ixjÓ yÓ›Xö‚¸šOÒ¹R>Ui)s‰n ª†YC‰q²É;¹ ÈÎH` s„³4‡fö»~œ�í “É©ep¥<Ò{»òVïI[Jw£iFP S”û|éjû5Ñj†Ü/D¸""VåGL×ÒÓ±ÛIKhuxwhQÁXQú¢tî¹ÖVý!¡,6ÛýÉá;O=qrsMÁqî¢6€ÆéØŒîQ$¸Aù‘8Òš«^êNÑmÉ7¦m1S¤â^gÅŠËóåõ¡iC¾,!`BŽ äÔ7³m4(J¶Éu+m¤:ƒq“µþ�µ8ž¦ZBS…«*ð)ÎF“ÓïÛfÛÝ�˜ófÏò»Æà®ªT¹ H ¤ŒÆ*‘ì÷´-n˜�›_µ&§nt JÄñpŽmí!,÷vœZ]J›HQWƒÄ<ŽxΚí+Q^bÞ-7 Ì‹•²õ¢îsÙT¨Q#aIB¶PË‹ZPRHÚñÝ‘š�t ¿GiØ+ˆäx+.Äš¹í¼ì—]uRÊ™.-kQS‡¦²Ÿ8Ç�DZ¤¬)â¾Ðué/¬7-änr@!Õ(rrqóO)ÁªŸ^ÿÄ�¯ÿÕmÿ˜ÍEEâN”íCEhÍA%}M"åÒDIŽ ¯¼[oyL8@åE m@{[ú€^Ö½¦-¶W¬ŒEœí­ØÂ)‡*ç&K)hy%uÅc Ž 9iÍ;iÓè�-Œ<%ao½"K²t€78ꔵ` Nò®{¶v±¬/­zzL¤¹¢%_­ò%Á„ÊÛ}-©¦Ù[˜l¤çcÙ_‡ž)TýaÚs»65²73¡ÕhXµ±”:·0Ÿ:jÚrH*òÁÔƒ¡-¸6˜ÎÆ·±ÑiÙ/JZw©YuçëŠäŸ5­GC8RÊæÛïjúþUâq´æ'£­6©ÌÇ"Ê\–Òã�w$¸•¥%´–¹sìö±.BõíOj6§6{¹nÔ–Ú µå®R¥'Ä®¡ñ�þ^Î(@ùEs梶¶.}¦_ÝìóKê6áÞrlç|Œ� &℆J\ð¸•zØÁ2#r¿Ûíw\mj¶[ÒÚRÆftYp\Ö[w/º\J‰hôR<'Ĭ«8¡%ÃERWýkªÞÓº›Q³}67­2mñY¶Ì­®Ìg¥• ¬¨™ Jp Ldiñý_yjÜê—rJ_ùtÝ¡°[o&1�€ZÆ<údóëcœûhAhÑU…ÕšÚñv³ÜdGŸÜ®)Q¥1!PŠËhë†v¹ÞTê i #¨pœ <ö“cEóX[ÐÓ·™1 ¼£§ïdô^B–�ð„a+i))ÉB¸W³Ú‹ESÚRúäév+`‘'IÁ ºªOMÖå�ôWÚAa—JÒZËËPÂA @HÛ‚;;×7ë”äÝo,¾ÙÒïÜTòYmS¨’ê:£ÕJ8Î<³ÉÍqQT.¡íRÇп(a^n/JµéÈæ¶Ì(h�Þk¨{ÂÝ!j ÂX )Ï´�ÝouºÝáÏ•.üY�\[mŒÚºMl(ndUnÛÔê+÷O[nÞ6ûh,]´UEPê§,‘¥?¨ÞB®úºM™ˆ¬;R¥!%FâƒHo+Ü9O‡9*ÌmCª¤êÈÚU�î‹ZŠMµË’b°^�Ê-é’6tÂÐ⊠ÃåœÐåìÂépºé‡Wt“Þ¥DºO€© Au1åºÊV �R„ç çyT¢€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€­ûoýéèWéY¨­OûpýéèWéY¨­k–ódw:O×üùüÄU�kõWúO÷GÿÏŸÌEX¿PU­®Šzýiþ Wo#OºCiŠíäi÷H}À�ô¯óÍN'ä.~ŒaºÓåê‡j(¢«K@¢Š(¸¯ìš‹žÚ5çø]ÛýYªíJåÚ%7ýÛõdAfJ[Іši)ÊœRâ¶•ìÀ'?ü#k¢1¯YÔË}ž¨àÒ^•IBöÛýÊ>Ñj~íy‡kŒ>Û-ä´ŸÂ@ÿm=zÎ,“¤8'1(4ÚvòàÁý^ cÛRé0,m7 ó¦”ô¤7PóM¾~Õ'`[VxP<wÆŸu»ÑkŽÕÀÛ æ¿Èßû_�»<û|þ]ñ”­Œ­š“j+rÝÌõ á¨àpê9¤Þ׳Îû–â§¼²üæ2¤)²…ä8ãê«O[{ ßà÷h8³XskhÇMÑÏ·ô�w5·WÌ—oгµ*Rȹ\&²ñZc¥ÒÚ\q Ú�¡‚vŸ¬ÔuÍSyh]­÷$GŠ#Çyû…™–WC’F@çÀ¢yçp´ó¬Ë‰¥ô¶½ªMµegf¬Éoº³BêG,Rô²Ó&áßð¹b:�# ÊF㻌ãÊš»rÕ_Wö¥\)áVÃ4yRºKÂQj_ÉÂ~Ú’j÷ïZ&ánÛx‰yndK‚”ÛöÆS1Vâ GÎHÍ{që�©í-&ás•1›²c«Ðq{©[È'¥½$-$�ÅXª3q)©b¨ÒËdî“[×hç}íc³ç»HµßX‰}’-)ZšÃ�Cn¼–Õâ gœàŒyR=!®{:²vŬ/MÝ軬FÝiÃÌÊ”]H}¤}*¤î]ßWcúkPàúFt¸�ÈXŒÞqà•qŒ ‚}”Ç S{Ôs_“2L¸ÑÛ˜úAbô–Þ) ƒ�ù |<�jœª$Ü’5ÆgeÞ(’Á×½˜êŽÏ¤ÚïåZVL…‘%P"”ÒrÒRƒë3ÆG•UÞ>–bîÍ¿J^%]!ª*ËîºÙHJ²@ÊG8ϗ¦½¦7vcQÆ‹hŒòa…ÇÅ–µ<\ÐÌ×j¾òã¸v÷g6¡ªV¦HŠÜƃJ!NäãmJ‡ÕR>×;NѺ¿PhûKsÔ,ŒÜÍÆê°ÊÀ!¤å´9Ê�ô|*±°Ý§7­£Y$ËblQ=æTéŽØ. EK©òáGÙN7ÍX-R5]ðÚpM�ܵÇJ’ÏQ¤©kÅ{�;CÓì.M”Þ*‡pÑÇ!e>~þôSUÎï0\­6[œFá] ŒH@-Hh¡D-Ý�2<Á«HëË ›M‹&¨�–ã)F €²ŒžRsÈöò*¶xyÂ_w¸ö1Óî¶WN;¹]¯m…x·]²C˜‰uËa’Yûbp�ž=ÇãÝS-+yŽíòÖóH¾Úx÷(àÿA¨Wiz¿åDú[NÃP€Ü‚èP@¨ñ¸ãË‚Gáçʦ݌éWßÕ6VB”–KËãÈ#ÅþÊ÷:UÓê}ñ éONT’Rí·>ß¹Ðzƒ©Ý^à”8ʀߑÅ7ö¥ÚMÃJß�²$î¤0—7,œåYÑŠÙt·^%ßTä9NB‰ä‡AS€'vSÇ’~Ê¢§émKªuT)VÔGwí}7ÃŽxR 9^Úðølņlh ª4 PÓˆŽ‚Sm)I”à` ¬;p�s¹vßÙ´KBíH˜¨·Rƒrˆd1€ÛDî@RI8òçƒUÄI÷ë�½<ÃâÛ|{Z2Æ®� j€Ä(á Skm*SL¸ x ò~šôå9Ñs´ßg±ãÀÓó¬:]–d>µÁ€ôF—ÆV[lŒàd”ŒàsO�ZmLÏôƒVÈMÌîâ/xK tAÈkv3°HO•s•®}þeÛ³™/ÜY»­‚î-.‰NÉ dDQm }ÖÛSØVäõ0Ary¤]›ëM\ˆ¯ÝgÞîäDZO~û¥LCÉåµ¢:Ø DZ BrR A±È'NièÍ[Ú�aµ²Ý·pCqH‹¼®�Á�H;qœšFÞ‡Ñm´†›Ò}  ¸¤¡6Ö@Iq;\ mà©<+Þ85ÎzcYÞÜkR[XÖ³mѦévfÛæÈ¸H»äíui_E* VKI)lä�T�¿åŽ©Ggz‘»$ûœ‘ånL»”{ë·©Œá!åG’¦º­‘´oÎò€¬ŒyT¥äY¬ò,‚Ç"ÕÛPi,ˆ+Ž…1ÓNQÓ#nÑ��Œ �3{ìËPjhÅ›¾�»_c³¢Lwå4 V„`•§ �@÷œÓØýpº\,W‡%Ý™º[“rP¶¸‰ïN-·±;›2]mà’7yã'AÀŸ¤n�ƒIÒvøì\;@rðÿ£‰ªc/w¤9Ô-¤'$¨�1ÅH:�½¢›e 7¤4úl:”!6ÖBRN×@xÞžó‡4¥6=3!r›=¡åžŒ|ͨ÷lg»+�Üð¬ôÏW—5ÎݤëËÕ·^M‘ñwŠý’ïobjº­ ˆç`yÄÃC[ ÝË®¯9#n26¿q¸éøZí6½ÐKVºi7-÷7Ò¦­KJ0þü,¶@I})* ǘHMJÒÚbSÐ_•§,ï»oBQ nBmJŒ”ú¡²G€`Åm”�?aôŽ ”›e«®»„÷ê ¨.¸q�£€Tx ©»:º¢N—·»©µœ´E^®KV'`ÜäHïD ”Cuõ´“!½ÝNH)!)YMJþÈwôó=’j/OH¶2â­“¸Lq *’c:”·\”óÅ$÷;Ž•Ó�9*å>Ëgnäöõ»!昜ؔ䕽[R‘žN@Ry¶M[¶16Ó§vEh›jŽÎm(ôA¤|<ƒP�W®ôSmY�º÷¥»\`;5Îlæ{¬XùHyJQVâ $œ¨§€C úÙn•¸ÂÓ’y³i�5ÛÖï(qM»$œ…“–|¼ú„>@’j;›Ö’æj6un—‘eIe3%"$wŸŽ†”¦Ñ1+4« °¢•‚21+a®ÏîM»«˜oLL@R\rì€Ã€)²’^å%) çŒuAä^4•ÃXÞµ +‡?Lµm¶±"c,õâ&Z$º¦”½¼�(RŽ|§$c†�=$^îó¬É� îošž4‰WKrvB”Ìxí¼°Úr¬Xi¥ø×’ï*þ D–Ì@j©² ± BÚ©Ž2Ó]í _ª\ o[N3ç�…'—òYºõ¾_ɽDå¹D½Þ„£^GrNv=¸ò¨MŠï¢¿»~¤µÚ¯¶6^ŸeŠÉDImu—Þg)à9S£pR‡¬23ì¨]®"õ {^™…s´6�'q¶ÌŸgCÎ<ÛKe ¤¾ÑBTË¥I èx”JsÅ.FÙÖ ±˜ì'JÝ­6•d¶�øðÈç)l�Ÿw¤: OhÙzRß—ì­Ç ÍCM>RÜ.’ ¶žSä}€ÕQz�#P1|¸ÇjË*ßL±÷,/-Øés½6ZRÔ[6�âÔÎÒPŒ‚Nê±{'–gëmY5W[mõO1uÒÔßNö¥ÑÑJw¹öÄzÊ;Õ�â‡P’bö“Ò¯8Ó�i«3‹f7tiK‚Ñ(ciOHž´‘´q‚Ec䎔ïMËù1eï !¤6ïpkzÑIm íÈ(IHömÆ=QBÙlîÛµ»i€äÖ·Ѝè-8¥¬­jR1‚T²TI’O�bŽË ¨mB´[ã7 JTD5 Pð’ È&œ( 4ÉKjV#6·Vò’ÓaKZŠ–¢š”¢TO™$“[¨¢€(¢Š¢Š(Š(  (¢€(¢Š¢Š(Š(  (¢€­ûpýéèWéY¨­OûpýëèWéY¨­k–ólw:O÷GÿÏŸÍEX¿PU}¤ÿuüñüÔUƒkõZÐêëòS×ëO’5]¼�>é¸þ•þy¦+·‘§Ý!÷?Ò¿Ï58Ÿ�¹ú20ÝiòõCµQU¥ QE\ÝÛ�‰�¨]äõÌiè–ßO%?hl�h>Ðk¤k’þÈ+òáö±|ˆ—6íèLvÏûjãBRukÊ+»êŽ #=]5/¿£3n»éç^U®ïnî �”;D´ð’“åñ×Zua¶Je°Ìˆ¯7±§6€�Àù¾ÓïÍVS.¦JÑÔA Aö¤�"*ÀÒ:ÊÕ¿C^áÅC®'jdgj_W¹iòÏÄbºñ˜ ¸ ërgƒÞ»W"p˜¼62»¸Ô[Ÿc"· ep‹nnÑ&Ëë’�ªZŠs°‚‚G¼`}TŠãÚ®d=pÐV¹NIh2ú–â¾Ø€r½ø î©.­Ð2˜RåÚÐêÙ9*aC*oè>JÓPeÄ-¯ Î~ŠÏ tF.Ê-ò¾ï³FÜfšÒ4'’¬W;oÚõ¼ \“"'f&Þ-­­ûÔNŤ¥C“äA"”Z5íºÛ><Ûe}™QÕ¹—R¥e ÷Žx¦Èðˇ‘NÐ-Чíd‚}‚»_ÃØ(.ßsÇMb§¾1ðZ¯,»=™�;&ÓÍHiÐëkIW�`ä(|sN‘­“š. öc`jOW¬ ^wçvï§<ÔÓHZö! S\TÕ.%¶öíNTâ4NJÊþ,膙¯Ý��Tj 5ûR>‰—} c˜úÓBÝZŠ‚sœgÝ’iŽã¤î/Äj#ÝŸXËL%¤…‘´(äãðÕÃ:ð†Ô¦£¨•¤o'N3‚’}ÿ Dä©— 6ÊTB¹÷W$4.O·gÝ›ž›ÄE~Øø"›‰£§Ã²±k{IÚd²Ê·n}YR—Œn1Íín,--‰””eø"²ºêë�ÍRܹvu§e®h@’§wîÔn÷‘ì4™ýòbvc§Xë´Ys¤܃柢¯Kn�‡":Õ,2Ò”€¦Õ�ÄèÇi ÕUvÖÚ‰û0�s¸½* t¤ Áe�N}㊈ÊmVõw¨ïáâB�âO³9®®›9+É7Þu[ãˆ@ Ä›¼§¼(Ï>êõ£¬V-U¡­ÓYšô“ì%O%¥m _–ì0k[%±ÁWh.Üb%Á!§•„¬£'À¡í y­1Ò4'&’wBx)Çy˜í>µ­$’sÍHl¨šn-ÆDeÒ�Ψ6ç8‡¤–ûW^ÝwCc/¶9Åm•‡‘Ã]NÔ+¨ƒâO˜ãßÈÎ9óª­)¥%/RŽì.gZÁ¹ ³"BÒÂú�2¤�’9Ç4©Ël×�ž:IƒÏôV¸½KTÉ´§‚BPÈ/�ê#ÌÿX4îÑ}Å¥Å)* Qä�êY€Ç¼jpžÛqV:q8e†µH+_vÛ�h¶¡·—ŠÕ´{¯b.Õ— W°Q™Ý Â·êT%¸È|¡o•a)@8*þ¿ª•kîÒ­¶FcG¶ÆD§$5½=ï€òãÛçîÅZ:¹6$p¸9=¢¹Òš„9%èËQÏ-£?öÖ.6h‘Ð�½çU�¸_n¶éú¦çp}ÈQKLÇ*Îå©`ð?‡újÚ±¯6«t{›©†:<. íÉÆO²¹g¥#‡š§9Y½Æ×�•H¹E^Ä7Tºá³H6öCE´çz†xâªKÒû¦×Òâ–ø!DžjåÖ÷}’³&2Ë‹Kk_·œÕU>¬m¨1Â�Î6NqžGÿʨ4ž‘Ž'’;�] ð¯ †Í-ì±{3ÔI}LªC)u¢€ 3ƒôŠ˜IÕHD§‡(hr•+‚GÑ\á µÑeª*ØUÁcߊ¶´ü•Œ½!Ôí^s¼ø’}‡è®z8Ùàe*U6Á­Ÿ“ÞYrk¸K¨ž˜Ë>óŸ…Dµq#¡Ä¯z‰Îsæ1P/² õLÒ*rr¬7-•>R´?þ*äÑT–&³ŒöÜôúe,ž&šÙ{4�¼ÉÝÆá¢n¨1¤Á“gyC y…[úT“Èû3P½PÅ÷ENbãc¼ÿ�Ê#£&¾1æŸ,ùpEUö‹ÝÉ„%„I%µyø¶ýò©êrGcÖ…¼¥8⯹''Ôj­khç†NevMRÆÔ†]§½JÎÖûï:'ìcÕsïšÖT)Á•¸›RÝSÉNÕ(‡�Çð«¢k“¾Ã¥•ö�qóÇ¡]Ç嘮±­š6œiÑ´U¶²‡â˜Æ:A¨­–D[^ë«F�vÝ\k�ÆçsqHƒn·GëI‘°ee)È)IVt¦·¶_`ܤȃt°*Ø &³y�Ý”È)ÜU’‚œs�¢=þÊŽö›§õ3} i­}¥íŒÞžµ1"»j䥅ºÓÀam­~¤‘È8Èâ«Ë×fÝ£ê-;ªÔ¤\-¬Ír°,· ùžµ^ê;•/sHÞ1µ>$å *ÀóÅêÖªÒîÛ¹µ©,Ë�!ñ‰)œÙi×NpÚW» WÂx5å½[¥\¶5tF¦²ªÏ÷f¥&sE¥»Éé¥{°UÁðƒž*”{³=Mp‰D›5ÁÕËÖ¶ë�Æ5Æ\"{³((uÒÛ CC)Ú RV¥c>y­—®Ì5«ÍÁ–ôó+´Híã£Öd6¸IkkînòÎAN7q¡Óò«Lw˜¾QÙú÷%È-÷æ÷JB½U67e`û sš×|‰¦u•®í¥®ŹÇÂX¹DjVÞp •ìPR #Èâ©�uÙn¨�Ú¥\H³Ÿ²_œ·©— É„ÂbˆéHÂËÍ­ÔlRw'¢sƒW-¥Ršºj~I·k‰S2Zu’»®õŽ0RAð çú( 6ý[gwZHёڔ™QÝÕRAE)l©¤«9+J^iDä±ÉÁ©º³LB~ty:†ÔÜ‹{*~[[}VHÉR‘œ�Œy�hªú…Õ6û=§Q‹µÆ^¡�qi6œÄ˯«šK�0²n8”îpŒ¡À1¾Ó§oÌYßÓt›¸‰G›¾=!�‡¼—ÊØ»ÕPu(^䤻 W�2±ëM=xˆìø—Þ�n 3•-R™é†Ü.» *FÒÒ�*g R •hÕevÆîˆÔV…@qÂÒ% ­–”°’¢�¼à�”¨‘Ÿ O²ª¨ú;UɈ™oXaq­Úy& òX&RàI�·šÊV¤ò•!I*!$© ‘…mtsJ_®š½�Dý‰P£?©bN\'ÞeN4Û�h¾½‹R7©©G I÷à ô­QfnÛã[w(Óæ52งRâÖ½™Ÿ•Ï à‘Šj±ëÈ÷…@‘NêE\\ÙéÐmQÝÎv¨¥PƒŽ´$ydŒÓœÒ÷æµ»�Í€µÇ¼\nÑÜ. …¼ëm´ÉÚ’Hð¹$œ�ƒ�i¦ûnž¿±wµ»dÒw)53Úvèãv×iy�ù|"8p’V�Á'¢Ú�P$ŒrçKëm7¨”† Üã7=Jx>Ø”N)µ+¦NÜ �}ÄyS�·PXnRä÷^í“dÅÏxf<¤8¶ppw¥$”óÇ5\[ôEí�=¤¢70åÃÔW“C�îe§Ûž”¹�|Y/3ÀÉädppØþ†Õ7�'hÓ‰´ ö}36Ò©ª�Ò›’ë±ÒÊz]5ôÊ“Ô%a'„ðNp�q×ú.–MázžÒô(®¡§œbcn-jÚ”œ+‚O¿Ø öS‘Ôzx\c[�úÖ&ËB\�ËoªòT2„ç*yU~­Ó:ŸQu®Qt£–•D´F†ÜÉ�¾RÑ1—ö ¡eKJJJÔœ— ÖgèÍE3PÞ“!�EÜ/wh·cH·!¦ÆÊZð[jhã¤T’pFI -X›<ù¯Áƒu�*TlõØfBãXQAÜ�rœ)*O>Ô‘æ)uE{5²Ê²Á½&lDÇvmú|Ñ…$—qõ)µ’’|Ñ·ƒÈò8©UQEEPQ@QEQEEPQ@QEQEEPQ@QEUý‘?p£ÿ›_é¥Òûk sã8øóZ»uB\ƒ J’ Gÿ´f«è¨–†-Ý®ˆi#jP™Ž�î>UƒÞf•Ð÷¥ˆ7«Ù ݤ`ÿñ °í~ ªëE0Ü~³M $<5bÚýAV”:ºü•5úÓä�Wo#OºCiŠíäi÷H}À�ô¯óÍN'ä.~ŒŒ7Z|½PíEUihQEW?ö­L¾ÑnÉzA‰dôÔ|<2�gÓ]\áÛ[²ííAhpHóek¢#š³_oTqã¤Õ5¶ÛJß\3Ùê–¨Á+MÀxC°œéí?ä~ªÆ’Ž‹caÉZ²r™)%  2G’H#øŠ‚ê}'rƒvKêÞäGWû¾ >å{¾Ÿ*µ4=¦Û†òÓw)œ'¨†þ#€~&¹4¦�«…“E–�ÀQÄÂëh¢À™ºŽ¤G…!µ am-¢•ý#Ì(}ú);vÙO)m= a9)Pq%?Ö*ݰ\ŒÀR�lå!HJr8ÀÙP=m­/úUËaB£¨¥ÆZu Agàã9ªŠ?V�á·ƒG}‡c^£ŒW™Rê¾Î®…×laIˆê·lÊŽÒ|ýž\T}]›ßbgÒ)KŒg'§•G·ÈcÙ]jíy‡%5ïm $à©ÆŽ �/ÃRk>³ÒW9 qn¡¤,‚”ºÞÜ`~ÍuQÓu%¶c 1v8?ÁÉÑõ}úÇ% D[ñC@ ªþÿf)ù?”)\Ö#6ÝÙÕoR^Î\÷”%Ÿú'úk¢5“ÒZ•Ä*Ó&+.8’zŒl8W³#ðÔrá¦î::Öè—hMÁ%¥%YÉé¨úªãËuyK‡¯“yES Zœ­;þI7gzÍŸ’mÚ”©SŒØJËÍ¥ `1ǘÍ<ý}¯Õ(õMRß´+N�„Ý®®Æk#|·d« Wðàà`?a¨TnÛu .²¹P"¦1QÚ� !?‡’? qªY¦äÖñT„ijÚW:¯¬$ƒ¹´)'ØG¹1$ºAÚ‘ÆA4Ý·Qj,-KiÔN*Äné§jFHÂqÈ çƒž@Þ%}™O7ØÓØMÌÊ\:û6dgöÿ%a*°‹ýÍ*–ei2®í‹GÞzàQ–±» íAÚ¬ûñíòøçë§~È-Q,vƒ?TZÙ�qi¿tV<ñϪyòúŸ^×½Å&C…ížÀx?‚£Ï[]™-¥uÓÒ„�šÔñT÷NFdž¨•’:ýªu¹p·¶ÌE>é¡< øœ ó9÷£´‹ŒÛƒË[!öçßïó¥}îÉéÜ]ÂP+ØÐÀöâ˜5´ð˜ïGr – ¸’þô’8ÈÊ~&©qÒ¡ˆ©Š6kuËlgJôÛ½ø �ÕËŠ%½¹EÒ°´+ÜsÇõS.¹Ý5Ž¢[*)8H8y²¼Û¤÷d¼²„¬$R¬Ò«½ß.0Ó 4R€ AVTOÿeVªqX„ÑèÝéÑØŠîÕð™èr49IÎä4£þʳío·—åÅ’ÉZFK�œíñšn½]µ ‘ö[¸¹-,Û†R€c‚3ðæ—¹ÚÊuµv«ƒö÷#¼�ÒC)$ ñâÜGÿök¿AW…äp`ñuUE�˜”»tû|®ù&X(Œ¥DK8nçÂH8N3K#·¤e[§%¢åvŒVžëº"]é,¤BÆU„§nrR àC-³ì(#(m*ÆJ�—ê¥Úr÷´Izj££a tÓ¼•)*çŽry?Ož+�‰èíEElíí=¦˜ÐñÅÒ•Ml¶­‘¾ËÛ�ªg�¦bRãú¥jKŽ%Š@BV´… ·’GÚ’ q…gž@íVíöž…`MÚðäv]SÉ-6�Ýe£ õ�ÒR’<^Gþ>j­Mp�iêǽIC Ž¦Ü ˆ‡[+!.+ò?H>óUî”u•_cÂq“Ð^v¬ç;±çýeˆÒjTïu÷<ÞŒøjQªÝi¸5ºÏؽ>Æ;[–®Õ®ÑZê.-�Ž8AZ›ëµ´«DŒcÛ𮕪ìqm_-%8U·mµÄ©‘ž«_ÕƒõÕýYhÊŽ¥ Ï‹)¾)§«Çd½íµ�¾ÐµÓºrñgÓÖ{×ýAxê*,$HKKm€V㎨„Œ�a$ð)ªÉÚݱ7 Ö]im{JÞ¡J�ÈËY”ÒûÁ!•¡ÖÓ‚‚F ”p)Wi>ýqÕvi¤&Û˜¾YÐôrÅÅ+îÒ˜t ÈR‘•$‚Ï�FæöO|Ô¶ÝkqÕ÷aÔ:Š Q""pE€ñ²B”7¨õT£�åÀ«Γ«§hZ>Ù&ëuå-=j}ˆòÐuD<úw4Ú6¤õ¡ÎÔn#Ú%—Ú–ƒ‹l·Ü_¿Ǹ¼óqâµ:Ð%ÆÊ7%cØ N�*#±ÍE7BEîÐU«†¥:†kÌIy–tî@i. [²�RGš_aì¦íñ¤îk6¶—n½ÍºÜЙ²¤—ó$”¸öå8¼¥%Dìd ùˆ&Íö�£\´.ì›Á B‰ŠðX˜Téìß»${1íÎ9¦ëojzmVAr»Jf!rå&v"¥ùN<¦BÊP–‚ÉeXI ùÄsLOvYs_mcS оJ*j/+·å]_I%‚ÈXNÝ»pBó»;‡•GUض¦a»MÂ5ʹ[n·Y!–îr¡¡Ö&,(aöRBÓ´dAÉ¡%˜÷iÚ«|»‚õ&,H Ü^u ¸¤÷w”PÚÓ„�ùP)ÂrAà€kÜÞÒ4\H¯IzòK,A‹pqMÅyÀ–$¯c ð úÊ>^`r@Õz{œÝÃDwGíQíÖÖºWè©qå&B)3K]MêPgz‡ãÜ»3ì÷Xè=?¨Õ]ŠuîT˜ìZ̧îè·°†�á Ü]8ˆç 'ÚûR·¥4ÿ¥Ž—Êä³´¸ðe ·\Jœp‚€Uʰqî'ŠO SM‰|í[m‡g‡¶ÝDسûÜgÒ²Fv!{ÁmÙÎäí*'ÇVF»Ë´¬Þ�[ýD—¸ ©‰  µ NGð°¬cÈÕo#²ÛŒèw�Ô[.™D¾æä{]¢SÝØ¿@ªµ¥ ){B ›@P,’˯i:v &$¡79 rä͹l&Û >ËŽ`�íú‰Ná”ø½™§}I¨¡Øf[Ûšã-³+®Vµ•îJZeN¨¥)B‚Žr OY8­zLE\"÷3wMÚÐÔ‹ìÙ‰y¸åXBä<•)'ƼmoŒçÌH»HÒ× Hõ±p^ŠØŠÜÔ¹ÖR†KÑe8ÂO’– øgÏÊ€sÓÚ¿Oß刖¹Žºê£&[aÈ®²dœ+H#$x“‘È÷Š`Ô§Zí2¯»„ŪÑp�S޲ãM%Ö�VPRvB¶ù¨89¥–-->¥Ó÷']ŠX¶éÅÚÞJ­ÅÕ.:�HÆ6á•rH<Ž<ðÕ¨4Mö}þôìuÛ{�Êíh¹%n>°â G˜.6PAÊ%'w™€,ðgM’C’Ør@jyö´…”©Ãµ ¤  ””ŒÖë�hZB�!û²”ŒÔ·œf+Ï6Ó‚PêÖ„¥²;‰c’*/¦ôF«Ó‰*Ö«$Ù†Ðm’[“!ÖÚAKîºÛ¨PmE_»()'8!Š×³ �¿Eê}9tGEÇIűByÕ)'¨Ìwš+p�©%Äž7gŽ@šNÖšnóÐÒg­2ÃÍGY]S-ºî:m­à’Ú­ÉÂT NäñÈÎí'Û}ÂYˆcˆw)pv…ï+è<¦÷ù[nqÎ3Œš€êݬï&�p‰!±p‡2 ž»Ji´6™_wTt#§Ê›Qê«yñ@Ä×DØîK=Ò,—ã¦D»¬é­-¢V”%÷Öâ3�2@PÈòÈó ô~º»ê86ûÜ}7ËäïëDº ¢§iPë0'�¥ZÔqƒÎ7Ú;LÓS´å¶ô礣¦â—7£d8ú’Þ7¬6†ÊŠäå`m€Í33¢uÍKh»Oµi[\øR�üËÕ©Ç*zRæÔßI!)^y qÀq“‚Z´F·…f°Ú2 ‡lŒüUµñ* p•¤µ$©¦Òµ�°YÜÎwŸ`xÏMϼE´À¸*\¹pÚœÈb;® Çt,¡Ò°’„¤ôÔ2HçÍI¾÷®Z´KÕqæ[Ô•Xm­\Yîf¶â\$mðž£JF<^i>ÜSWd"ó¤� »;op5a·Ú[1�ZÊŒg$’³¹ ÀR^l㜡ì©íDÎÔ:ºÁu…&31!›»n•HއÙ�ÚS€A!ÆpA mqE¶hQäFÒî¹1Íâ4‰3C’@æã·—ÊŽßÇJ>¯­Ÿf ÆûDÒ ·M¸.èìxðYjDƒ*ì)-8­¨t%Ä)²AÒ x<Ôv€Ô0ozÆáï)› ö4ë‰ R¡.BÖûëq$c—Ô’Ï÷S<îÍ5\×®.­Ëzû[0–‰©sTÚš�—wo�¡¸m$NŸy¦D–ãªLô8°Ú—º×$Š!b[Ã;ˆã©·#ȃNš†ýk°Gaë›î#¼¼a¶c¸û¯8AVÔ6ÚTµ©QàO�¨ŽµÒZ‚ç©Wr²&Ýo�°ÊQufá"<†’ƒ’—XBKr‡­€²�7cÙšßÚȶJÓ:”ηEU²â°ÅÕ³Àìw[!o% ùä)Ci#oš…âŽÐ´“–ö'G¸¿)·ßz;H�÷ž[�~êHAY ö�¸úЮЬI¸dÈdÙÍ™d\RáRV…»ÓJBrI8Æ9$㨉±j»Å•›œl*ß&ïw’ó \d[Ñ ½'-HCŒ¤¸´ÂIHXZUŸ*QhìÛZÚì¬F‰u¶±*-©«r]fS¨SèDÞ²¼}2¦·´Jw ÊAVFqšXQ5¶š”Ðq3žkü9õ¢D7˜q© ¡!h op)ÚT%I’FvÚ5v�»N\(ëÈiǹihBÛmÒÒÖ•©!+HXÆRHò>D�ÙÞ¥q†Ý)ÛsvÍFüeLQ¹I—";(F×…¼‚V³µ!.�»‰  Ë~°Ó÷Ö�'¤Y¹ÁMý·´3ÝNvÎê nº¤:jJÚÉ£iø€ EZ¢Ä�(ΩTâ›Cí6óO©•‚â\ 7µw’¢¤€œd•4„ëí* "bî¡+�èàÒྗĞ™p4Y(ê%E Œå8Îá�šÖÏu—¥kÓ2[€ãN±„•-„-%l‡P•)­È!i�eBì}žj8º…3¤»oîêÔL^T ÆD—P”B\e5½Ô•,ƒ°… ‚xN LN»ÓÆ<´Í’çx�äV˜n…É.·ž¢K Atã')'ÌR�©Õº]‹ó %–Ÿ~ChJ\Þ Z}m�ënòã8ç΢-h­IlÕ?)mª´Ë’‹¥ÁäÅ‘%Æ�¸ò�ÈÉZ[QK‰S ãi2*MÙ�†á¦´dkEÕè¯LD‰O8¸Ûºg«!ÇFŽ8öŒŸ:KEPQ@Vݸþõ�ô+ô¬Ô�V§Ý¸þõ�ô+ô¬Ô�VµËy²;‡�'û³ÿç�梬_¨*¾Ò»?þxþj*Áµú‚­huuù*+õ§É®ÞFŸt‡ÜÿJÿ<ÓÛÈÓî�û�é_çšœOÈ\ýn´ùz¡ÚŠ(ªÒÐ(¢Šª3´ø‰V¾¸¼±�¢Ö?$�W�UºÆÊ¹ÚÎ{çÕËxüšk¿GUTª¹7ÙýޝY‘ô¢†�ÃŶžßêN´šÌ¼6ºý¨j\­? Éø;ºúcÚ|@MS¶2²ü« Þ+a#j¢­/¤ãÌ� ã뫆F�ÐqZv Š#íˆËPP÷`ƒ�Z­z[H­ØÌJCî uæT“ïòþºÂ:2¢»—ê^ŠÓ³Ù’R^euj™ja¶›ƒ¨P‡]Ûh¤¤,œðj]vÔó Ø$Î]â ØqÚòBŽ Ç÷dñQmy¢5­·¯2ÔÃw&A+K‰Œ‡·Ï IÍRú£QÞeGnÙ2'sSy ŽØþqÕ†ÀR©l®Ï´Ó[LVžÙÙþýK:D‰s&F–zý~ªðr{psõÓÓÓ1¤2ëIm@¹óúGê­¶t5 èÜ‹‚å–~Û±@¬‚y;H ãÜjÍ…Ùd­EEÇDܭ׎ìã¬%²Ü„2ÕþM^Nq§±”«5FÝÉÏ`×+¼mÚØuqÙt§zTB7d+nN3íâ¬Ý=£álJa"C¥ÇÐŽ Y99ªK_'ië’Yr#ŒgÁ6’¤‚·ñŸ?e_Y±’ÌY ÊbIl(¼–ÈRUÀ@{yÁ÷ýUMЧ(7:n÷-¨UÕ»5´x(OTFRˆQNwŸ®™¯°dI�Çr˜ßM•©.Œò•qÈöd Ž}õæå|T-AÐ[n%¥Ç)pm9AϘœ½˜³å)*eÔ>æäá^Üå쯈Ä×U[[ËêX=lyŠovL©‰|)Öe²€ ‰XÉ'Ú×QÝ]°Û2Þq@ä—VqïÉ$šÓsÔÉeÕI•-HÚ)ãúê+"òñ’gºxYÆ‚£«Í¬ïacO _®ÃUÉÄÃh¥d•/ÙôùiÓKN²±!/\^Jä€I! ©°rÇ?†—¹dƒ©J6ºê'22âvœ8“ÎS�f>¯�±«ZˆíÜYLxˆIa €¢ž\òøy c뫚JýÊçJ²ÅþŠ[h«[ZXÔÒ m÷ßš�©DWBRÞ29àäçâsî§��ÜE£©kmÜÒÞç_¨AþWÿcãPV„×îvÜãPä‡w©åùóê�nqþÊ´»-ôôK´»�Ööf†âØW‡'<ñŒ{±[1RÕн7»²ÅtjV¥QEöLHwk\ùÖ ÜiqR–°AN}„h÷RÝ/n�&õ鬪BŽâÖ’¬%KCdŒà瀫’ù»^¼çQ–˜�2ò›NŸis·Ü? W`.Ë}!©›RÚÕ‡€ #)#‘Œãáƒ\ ¦ZŠëyïðúvöI'ÿ÷û�.-šƒOµßìк’ÈJËaCWQ'/<§<ÕfŽ0毇;ÔWkb| ôU�¡žyˆnGmP: ¶â–cî'q ÀñrTq�y¨•ù.²P°’…‚2@ÎáZ1³Ê‹ Iëg›üÞZŸbÚÞNº¸¶üÄ-n[Tád+8ûcC?Ó]\Çö.µ}«Î˜‡ Üô�ñäG]“È÷æºr¯ôbK¬|ÛâÿêR䈆·ÖÑ4�Ð €yp۳˹<†c¸R˱ÑáQp`ý»ÕÚwyîNÜ+TîÑ­–ôÜr´ÝàË…Ýuy,…¼™N)¦T• +B’w©;qÎ8£´= ò¶JÞô¯rÝf—kÇwêc®ìuõ=aêô1·Û»Ìc�ÚƒGʸj ­æ%Ö3O·D‚X“oL–JXy÷Q%CzVÚ@)#nB¹âÀó$ë¶ã¿l†î™ÔãrqöØ…Ó`/-$-D¬»ÓÚR¬…�pFsÅ5KíRÑä¶§w[ž’üq  ¸Ô´FZ êcrV¥�“œd+€Ê� {°jm2Ý’lvÔ™W kq›R…¾ö@i,2ÛgiPOPxʈ?Á§{&@,ù/;Cr^1?tyùȘã oànJ’ΜríË_Æ€^CÚzú·¡ÂLë“M!…ª*+Ú§0îHmjÚÙZ°Ÿ/,µêîÓ ×´ý²LôD�·ÚU .<¶rŽÓy'pIH$|ÅmÖ}šC¿êyæÓb2%Än,�t²7?hl¯jÙ*RzkÂÈ9Ü“µ>9ÑuìÒcÍ\­–ÍBžÉp¸F¸»ÑÁN!ÖK>,-)Kjè'ó “ƒŽ(Í}©æi»Ž™f-½sÓu¹®¬´€§”WÝOO*JAÞÚ*;BJ³�1æÁ¯ì÷k“Vã| +nQZf! 9iCÍ(¥DoÒ®2’“�O4§ZéÉ—Ùv¶û³véViêšÚœ‹×C„Çu�ŠNôœ}´“ƒœ g" ¬ô<…Ùàiøò§J¾ÜïON•r�m°ÓO…7+*ÉKiè-HB ÊŠ‚$•ßõßtìÎ>µ¶ÙgKjXŒ¦#9ÓmÍ�8”%J` …ƒŒç‘œs†øý¤;õ~�x±ODuÞ4ôÃm”EKìFR:仕+¨ú’KA@’}æM­4âoúAý?B-ûº%‡;ÒÒšq#Á”å9@8öŠe™ Þ™iÔQ$^ë_.‘nN:ÜB”´¦Q%!%d�£9ÏñÎÜ�A×¶¹w6#¢ÉeNrßæ¶ÛîÏÈl¬) Â÷Ž[ZBŠIN9OÚf©Ÿ§$ZZaøÈS ½æï>+�ƈPP…¥ F ò¬)KJFÃæHß§»-·Yu.Ú°.3sžšÚ—bhÏ qJ^Ó(¨øR¥œ€¬�ÜÊu¶ý*TY–ûv×YJÐã2a÷˜ï…c• - NÞXó9ØfÝ­îÉŸ¦-ï÷^ÅîL†ÅÊË! ŒYm;ƒ€-yÚR ðpTp)÷B€Óën}ŠûnI‡&dUËŽ„w¶ã๱;ÊЬ@q($¦›í}œH·Ü Ý˜¾0.(»?q˜Skõ™K.!¦Ãƒ¥áBHQRüY* Í3@ìqè�Íi¾ÛD˜ÐdÀrJ,Û_–ÛÍlS�¹Õ*qìíVü„úÞœ€%³õEÊgfW U§í5)W2{Š™ Þ“µµ’Ç ä*mo´IíËi‚Ìwl7 8©‡;Ó!öÝy„œ`µÂr3•·ƒÎ ÎÇ[lpmeÀð‹¶ öã~Ô„çã8òªåŽÈ;¯g·=1Q¸Ì¹›• ãÝr¨hh6Û-oñ´ÞÌägrŽh'hsÒqïÒôåÎ{rÛ•=£lŽ�ŒÁCª -kuÄ…-MìVÔ£“„â—½ÚE‘'†¡ÜäC·Ú‘v—9¦�Yj2Ú[ˆW* QPm@%)'>x4Ý©û/‹w~MK„‹lkJmH‰2Ü%œáÖ7,%·v� ŠWÂSǬÒZu†ä @‡%É´C¶¢CPBF2B\ص,+!c)é¸þ•þy©Äü…ÏÑ‘†ëO—ª¨¢Š­-Š(  …ê6TíîRCªhŸO>ªjiUF´¾Ï‡­n,4�¦Û- {ÛA?×Pâä¶Õû mÌ:Èmæƒø'yóàkÐMªÆÁÂ[h‘” öUq.ñ6érv;óÝ„ÛHJÇK’i¦ßªc°ìˆ÷ ŽHu ( ÅCú¿¦«è)T¬áfwÔÂ(QÎæ¹­Ezð:üG <**ð¤{ÇÇ�ë¨ ½Û¾¡.Ïuà ÝÑl0?…N2.‰ÑÒµKu²ëaiCˆÜÇ–íâ›`¢{ Z˜mN0½ÛP‘‚Ùì®-/ ©BpWß¿iÝ£'Ó“QN]—ìFË,k’úìNtZXØê„ó?•Æf33ÔQ*ÊŠ¼ÏÀT#¾ÉSËvA[HÙ±~¶ #²ÝtŒ±å-ÏnUæOÓIéYІE;ØÚôsÄÉÕpµø³k‰OD©øˆò䯢ӛwtÆ9V>í®?¼ÍÔ³®¯ÌŸu~s®�µ-jÞ•$ûsíN z»J*)û||­Ÿ<€1ôñ\ÞÕ–ö—ܲ®<”¤¬í گ�¼W¤ÐøŠ5hçOoiGŽÃT£<­î¢E¾%Õ-%”<â˜PEÄ�¸{üŽjÄìïOö‚$=0ÛíÓc˜ÝBÞIQÁIóðG릙�›k v“€¡É,!j�²‡ZV 9ÙçŒÉ÷e‚;ã*iò”“µ)YÁYþ¬Õ»�D\T¶ýŽ:tåMÝì/}SdL›‚ÅÎrʆZ�•”¨sÈÈóú 0Ç·]ìîÿÀÓÚ’ÒÈ+�+;r<ˆXò8϶ ö>Óo�o­‘n;je¾‚Ú2Ï IÆJ‡´1Dz§ïÆ»>éÕ£-Vi9$ú¤gËã^HC£ª:Š¥ñÜ{ °úJ.RR_Á+�¯lRaªÕª¬ŽÛe”€Ò¤,–÷yŽÀöäšÑ7E*}¹¹v™1�+O Œäà¥XŸwÃΣW ­Í¤gÂeèÄ$<Ò‘œüy¦´8ÛS˜^›~E­ix< RØ*݇ʸ£Œ£‰ÛU[î¼Îµ£1xM¸wuÀmÔ1dĺ®$èF#É9q²� žyǼÒ¥ �!¦ÁÞ‘¹²99óöþ®¬)º”\Z+Ö�ËA]7nQAu£ŒîO¬“ǰÖ«n<ˆF4ÈïlPAã) >Ãæ0¬*kR’Žx~¥ö:hbõ«#�¤ˆ¤yreÛY¸B©í€’¯,àòÀÿ²•ê«Ð�"Eµ¸rPÞÇJTSãÁ¯™hâÝшŠ\]è[ˆtx•!ïàýt±w T¹AËs‰ º€âZRÓ½9ö`à{Èò­s¡ˆŽ[²ÿ”h…l2Ũ^ÏÉ�{Ý’æ–‰Š�â=ÛAÅH4S1ßAnà‰°öµÉK‹JJ€ÇÑR2ël©XHœÖ˜sÙ�TGÚRØåIÿ÷å\/HÖtò¥oº,jahÎwš½ÄjÔ®Zìk‡"û²|(W)çÈ}?†™$j‘K&DöäºwH(#jüýã#…S÷¤²ÊÕÞO¬\Ø–IþŒäU½Ø¾‘³Üm®jäEܶ¸ÛhO—Ä�]øJ2©5¶åþ”Åaôn6]öV]¬ˆéýN²�‹rê’3�‰JÇл?]z¹Ý£Juô0—_prK˜äŸ£Ù]å“MH`±&ÄÙlŒˆ… O»‘þÚ¥5nž‰¥µƒíÅg«iB‹Ndädgâ3ŠÛŽÂ:kXÙY ´õÅ8î3Ú5È’6S…™­é…*žŒÔ‹×ZrPür¦CËChJV—†Ô ñ¤p ©¦ÒÌ^®1nŒÝnV‹Œf\Ž™pØZ™p¤­µ´�JAÆA“MWÍìòÑ&8¹Þ…:31®QS!+Dô4€„õV´©Ì”•)*IP“V'—žíêfÅÒì? WåØÚxܶ­om%.lé8�ÅCœ%XM?´á,OºÃ~p�Ù7&#¾‡[&7¥M…,ÊqÓäò JS¢mIÛ‡æxofô^G+³}=-ÇŒÅL�ÓîÏqæVâv,LHKÉ8H8Àã#Þh×}g¨ì–7î­ÔR•Ç ¸ÝÏ«)uD(¼àk{}<¢R|C <âG£¯*¿ØZ¹©RR‚Ure°àHu n┑È"šãh§YŽâ~Xê—%ÒY”©-oe îÚ�€Øm@î;ŠÐ¢®2NÔãm�IªÇ"*­÷i‹mS$L¹önšã¨Û•!)NIBG‡Èç4w´�Y©­«Õ¾ÖÔ&¢DÒs.ˆ’§Iy …ÊU…Á8 ’|°tÌíFNŸ€âµE•ˆ¯z:4È«MÁ%/užK:T„¥’´`­!$œœT£U訊àìÉîU"Õ"Õ!ÔÞטxrô(…$ø’RG>yV»Þ‚²ÝßKÒÞšÜá4[t$·Óy6êN܇ãhP>\yP{<Öñ5l‹¤6Õl\«bšê®ÛqLØËK‰%.„§' AH §Ú4×ýÑ'ª\7ÚÓhrÍ6þ«#;þê!Õ´·T×OÚXY'!9â]`µ=kmþóz¹ÝÞyaJvj›Ê@ J[B‘ô'$ù“U»Ú6ôî°…=¾ëÑR*ð “ã¹Vâ”ÚRýE­g-¬'rˆ>T÷{VL{ÓöéVÛgS¡5Æ�zmù)1�¥í}´' oJI)xò84/´‹úY}#â…"Ä›òA»œþ,¡G£ÃÜ $e'ŸÇ*›ìšÐˆ0 ¦ýmÉy¨MuÚËO6¶Üo÷/)_¬½ËW'/nh‹RÒâL‰¸rÇèC…§÷|^¯¯ÏŸ—€ŠjNÙìÖ‰ÓPmîöèÌH–™WTG–´ºØwØ)%å%µ$‘¹9'&¤½¡ß¯VgtÚ,‘`Éô�ݸow‡ÔØSk_!^{<ýŸ‡�:#‹ÖÛåêØ—Ya©mÅu %R…,©²¤«h *l �¸S¦«ÓÑõ PìÉ�žƒ1c?£zHPòZT’R�{}‡š,ÿibÖ�‘ØÑ•5ø,t¯ ½1 m·;)ð6 ÙÁÞHÜ�ÉI$=Úê_ìµ�Q1´\˜·Za ¥Ã®Û!Ë“¨k,„à% )ÔïY)J €á[d�öelipÃWËãqàÜœ¹CŽ—é°ë…Âàjʃ®R€W„§Î³²Ý7ÒÕ­‡n ÆMª=±Ô¥Ô¤Èöô^>Ü‚œ…§|‚@¥¾Öã®ßtS0íS¥Û�Š]¾íÞ ¡¹ RRêä!­ÈJJ¿íd§Â|•ššiKê¯zm7u7�ûLé–Ã�$áHu nÔ‚9ȤÃKJ0�iÍa©”·Pê&uYK�l¥ h4Rrrƒž3œ (Óºr5‚Ñ6$GäËzcîÊ�ü‚€·žXåD!)@ò H}&€€\;O½=Ùûw•Y³9yÓ2î–‡Û˜$©§[�Ö q m)É9P;y8§K¿ifÉs… |KaiÇaGZ—wm3]T‚ÚC�Å %HJœÊ’p•’%&‹ìµ³Û-³S\.ê”ΛôZ¢)æTˆ y„·#¤¤£Ä®JX„ñNÓ»/µIn{½ß"Å�)™®0ËŒ„‰-t¶: h¨‘ÑAÚ¢Q‘êГ|=o:I—tFŸLÅ“.;·Íäwbâ\p²RO{KH!eGƒ´HCÙÿj05Uî¯e©Ï‚¹Ñ“쉋m)(Ër”Ž“˜p p±»Ž]¢è;tyά]nê·;!ùKµ�")為ª!( !EkV²�ÊÈH8ÂÝ-¥ý¦�‹ýê|hñÄh±¥ºÙm†Æ0Ä%K $§ ÕŒóÉÈ�‡Rö�p´NÕ8Ü«~™a©3ä*~Å­¥7ÔQm¾™ RRpT�xÁç„×-yryÙýÚ×Ý @ÔPmí¹©ê>·¤FIÃje@7±ÿÈWIïI7@¿|Õú½Û¤Û”;=Ý1[1žkdö�ÖÕ¡`¥K@É)%%‚y#�=¢-.ÇšÁ~`DËÜ{Ó˜Z|/²¶V”�¨KÈóÁW#ŒÁ´KÔ©P�¥#©«•Þu¢"×t —¢©ðV±Ò;[)ŽáÈ*Puægi¯µ§`ÝEªÑo�¾›•õ¸­!ØÏ)•´ÚÊ �R”•ø09)$ ‘AÑV¨j´–¤M>‹»Lº±¹iñ=+¼u¯(éÌ‚0œ“ƒ–æ;5´Æ”ܘWkÄG6ËmâÓ�eö¤É\—$¶JFõ¨‚•� žåÚ\¹¶‹”«5™i†Æ’kP™Š˜–Ýmµ!M¡(--%ÀY¶SÉ$¡*Ýb×7k‰v«’ öÙ& Æ|©)î«]¹© I HÜ®¨ÜHŠ@à€­}šY X'Ù“qº¾Äë 6­Õµ½Z¥½»Pð—Ôœ�rœ‚rKn¼ÐË‘b¹Ú¬qîK¿Lˆã“{ÃHMµL%”%ñœ+!,‚B‰WjO9\udÙÝ�_µ}¹žàëvéò-În•!´¹Ñ8ñ„¥a$…Í4ÌíBNŸ¶ºîª²7 ÁinãMNJÃéS­³µÂ¤!,¬-泂¤€¢wTÞã§­Ó4t�(¸Ö×íê·ÁM²¦ËxI €BO˜fÖwš�ÝÊåw¹— ¢uÉyQBÒâCeIÜ„+z÷(”'$‌ÎíZ|È‹‹`�§¥Ý#ÝmqÞT[Ïyˆ¦e?°my-g~P¤(�B†îz‡Úk.]lp$Ú{¹œôÆ.9M½Æq´…xFàâÚXÃä9§YÚ%7 C°n:šý1õJ�-™Ž-€äwp8ÙBÐhx“ÎPw{sÆ^;-Ó÷Fµ"™tmZ�q×!ÆžBTÁe[�kÁáÜ¢¥+9ÉZ¼‡ä®ÛàÇ…ÞŸ·Û"mŒ\¥F™yC Iq-°Ú‘—œé€¢“°eA “œ/“Û•»û°ÛU©P™¹3nY]Õšµ¸Pž£qvåM¥NNàp•’2{†‹ŠõÍÙÖÛ½ÚÈ©,5Sv÷J_CyÎô)H (§se Æ9àcÛz=˜÷·îowˆQäËLÙ0u°ÃÏ�TIApmNä¥a*ç#“�m] Î—.’4óQ퓯²ì�ÈLýî‡Yqôôú`lQ`ÿ Ÿ"J½¯âik;ÌUhLɑݒtº&t6ÙJqÔ)Q+%c ò $Œr¶>ˆµ1ß&”@½?yh•§%ç\yÅ%^P×€0pÉç*µšjís‰u�t¸Z.QZq„J„Z+SN•6¤º… Œ¡'”äÁ9)µˆ,S®âÖài»#WX-õÁTµ-µ000—R”dÔAu¢Gköè×çmÒZ´4ˆ×&m’›7„wÀòÊ¥7f\i+p­É8JˆN2kÆ…´]¥ié3¤Ü]zÆ ¦–§Â•$6°$±Ôi§8ljÙÅloH2Åíû„Ýâ yRÓ6Ll0óÀ'*$ ¸�­©Ü”¬%\ärr §´;¤ÿD¼­5ˆ—yòí°ÜUÈ•÷† �é x[_v_ˆ‘á4ÍgíNòÞ�Ò³îö«3R¯6´Î2%]LH«$'khp²RVìôÕ€=ŠW�Mah‹THvH­ÈšQf¹¿sŽT´ånº Jü<§ü%x„òprݳ–bi¸ºz&«Ôl[ãÃ0CAq–•ÇòKe*d§Â]5C�õÈ¢$¼ZS…C¢��Ž6•yûkU]!ˆÄEå�¬ø]5ýÉ££©R³›ºk•™4—{†Èë)×� qͧ‘€|€ÀÉ4™.µŽ²ÝgcÈñœÓ v�òݸ¿6—7$eY ÷`yb˜/×9ñ5£ä¤2Ü|ï)õT•`>UW_êK-÷íeÅT#±e…rzBœm²æêAFÕäo˜ú|©ÛN…´ÓÒÜC›ÁœÔVÁ5ãGŒë„JꀂI9àðàþª“¹ê—Z®7™—#.ר±�io—” ÆsçíöSðé!•Sœ}UËRSÀÍÓØÓ;©TŽ*)Ûj|ŠqûŠÕ!¶„øÚz‰ û8ü5$ÐZûPhýÌ"Þ숹ڴíÜ…¤ ÷äVd:Žª¿„¬œ¢³¢¬îjû¼øíܶµ+uÄ-E)iHJ7 qÿK>ʱÀç­5+›N¬= ž'õ-›,L_û"š}MÄjÀˆÏ¬„‡Tƒ†Ï¿Î£k¿Ì»]^�-Àd8r\Z³…gËÝS9ý–«s×6­òE¹2:ëSÈu –vìNn#9Váϲ¢’ ³ëp„ҤƔëi#'€¢*$ù{ÍtéjUiÒR›(~©£êb' <•¯wmÞ%�ö3¥ôv�=*RzBÖàÛž«^ÚèªçŸ± ®fçËÑŽ{?÷­WCWV‡wÃ.l øÍ[J>H­ûXÕ·--yïæYyÆ4ÕÆróŽôÔãOÃJB�•„‘‡â ¨{AOÚjó{^´»é›Ú­ï®$“Ù~ hmyo ¡IRÕ’’Æw2ä1ˆ¡ÒÖ@ꜻÁï+T' “ÖZ>Ðê›Sˆð‘榛9óx#'+Zµ@jù"ö†1p‘¨®»½^&›SŠBvç×@ÉÝÏ�Å¡å ’MëZ¿rB{ŠVuâ­ñ’q´!”Ät”¸ŸlGª­ž©'žFÕ¯ö‘fD[ÍDE\çÄ~lkD©�tãÎôÆeEÀUÖl`¯ ÂŽO§ˆÑÚuUÜÓ Þò¹é¸Ÿð§zbJ[S}D·»bIBÔÝÁ9 æ^ŠÓrC…pžiÅÍ\î´y�2ò_ZBV¤¸……£r@$€G²€iôõöçÙÆöc.Ëxn²ñFÕ4V�àm{V°€´…`€¡œâ«ûÚû-²ØýÚ[η+N©Ù"\’§“%×âTyÎÀ8Æïo)MÌÅ’ØÎŸU…¸Ä[”ÊØSEŤ/;²²wrIQ9$“œÒ¢ôÐu‹o� ˆ¤ž»œ¤–?…üŸ§Ûš§u–¸»¯M Úu„êæžæòŒR¸Qûpê ø|IóV0u»Ú©sNÙ¯�Ò º›a‘*jí²&0$%e*m]…0Þ»¨ °¹õNlv–±[ýÜàô½—S í«= ïîžgÅŸŽqìÅ7=Ùæ“r#1 L°Ô~뱋Œ†CŒîRºnlpuS•¯…î#ï4{AnñrÒ-§NÍm¹O<ÂÈng@ÉgxS�6ðB–€ ~#ÌW—›ÝÆËa¾D³ÊÔ–Ëf�Âüù¸%¶œ’S¬»ÕYPQV.q·ÕIVjÙ½Ø,÷›J-W(r#jBšB l´¤zŠB�B�¡ì) ŠjN�ÒÝÂ|7`Ê’›‚ܧ¥\$?!iB· –²âBUâPÁäs@Eï:þólÔìÄï©ÐÓy‡i}¸¶Ùj!O)¶ÔµIÏE¥¥ng¢w  Ù8^ÍïWÍAãqº›r#"ç2F£2´¯lyO3½jRÈ%A à‚ ÉÜ|ÉìãHH.u ÌXqôI#Òrp—ÐRRúGSÂîP’\Yç$äæAfµ@³Ã\;k!é*Nõ+.<ê�qYQ'•­GC8%x¿êv,ÃMÁºÜ»é{�Âá5}u¥Ã‰µæZZ‰Êƒˆ“ŸÕ|jF�[=s¯ú†ÝwŽ˜rîÑìö¤Émù-”´Ñ[Î3Ÿ®©Ñ„”’ÉVа#雎á¨Z· \î,"<·Ê”z­ a ¤�£Œ@àg8Ý@iHºnÛ§¢[�‹ØòŸ„šûn°â·îR^JÙ=Eƒâä(ƒÅ±kíO{“c¶ÃjÖÄ™w+Œ)r$A} ‹‚K ZV‚¡ÁB•”“æq‚í¤uf —«}¨‘Úë¦GJ–÷Ùp„+¦¤•)© §’FsŠ|³h}1gžÔëu¹L>ÓξÙï.©)qÔ„¸ •(§* ã““æI¯v�§mW6î0¢H3¿»¥Ù¯:Ô}þ·I¥¬¡¬ùx8ãÊ€‹ö«®îºaë’íO[]M®ÖnÅU¾T·œÆó±jgŒ’–ÎYVN| '%=Ã]jV—¨nl5h«5æ‚Øp¾ûO·J;Ã�(R{É íP82ëþˆÓ7Ù²eÝ-î<¹qÄiHL§›jCiݵ.¶•9�êÁP$gŒVYÑZm«LËZ`8¸³_fL”¹)å©×KImEjQV@a¯o;yÎN@‚]5F¨º¹eº3*;;ÚÇÑiŽÊ\D’Û/ºÊ‹ŽoÚ°µ4¢[Ø0äã—®ß �îwx¾G¸^`Ï� JŽä´˜¡'#’†œJVÊž× t¢ï »*ÜïxLïH!=ñîŠ$ç%䵿¦•žrBA99ÎM<ßí6ûíšUžë¼A–Ùmæ·©;“îÊH#ðr�y²ö�a±iK¼†š“h¹H{ÓeÜ[Ü—a¨¥Ç·(Œ”�¼ïYdv;V¿ÜâÁM¶ÜÛ3=ÅÎBg™pKÏ:·PAc÷$å•x×»ÖIªØvÕÛÜkÓŒf|hîÆeÝêð´ê›RÓŒàä´ÙÉxÆNX×Ùö“T8‘·ÈŽÔHÆ#]Ú|†TXÎî’Ô……8Œ’v¬‘É÷Ð ý¬]篱IWˆÍ\­“b#��S™.:Öæ÷’…áE'‘íò¦™råi-3~Ô�4¾¯�2 ½n3ò‡PªtgNäøzbkØWý-£<óƒb_l6›ÞŸvÃqŠ\·:”!M6êÚ $‚œ))8)DySG÷?ÓŠ�&,…ߦG”ʘy™š‚|†ÔƒŒø\y@<ÀÈö-}ÖZÒÌþ¦`}½>ÔInCy&KO–Æ];�Šñ�ÀäxFv�o©š\ë£È³›T-P‹£¡‡;Ã�¸ûl¥ÐçShPS©%;BO#•°Ú%3*ߢó ¼Ãjê­XCÎõœQ åc<ùy +]ƒGØ,RÓ&×öTÛji–×1玂A)iµ¬¡¤ð8@HÀÊ€‹ëØ7×õjå׻ő[BaØïF ˜¯îY[ŠHq¾¨RJ0 øØp“œÔ{å�î97%ø\­04d»ŠQs„CïÈeEm)RPZVä<Îád_4u‚ñs79LLfjš ¸ü+„ˆ‹u’²ÊѼ œg5¢F‚Òo°ÃÕÑe‹{ÖÔ7C¬ Ætam©(P 9ñd…x†4q¯uN¢�O\f_ôm¶sжw„lJîm%M¥Å�„¤¨$)y#´ì÷iW‡mv9‘ØŒÇÊ r; E²Lç!Ge)y–Nõ¿¸aIB2A*Ù•N®ZCNÜ]K³mýU¥†#ƒÖpa¶^KÍŽìq)V|Î0r8­S4Nš”¹.­8üÎü§#Ëy•¢AFÂãjBÁmJNBŠ1»'9É !Òuβ6[tåY•k`÷´M˜ýŠd„…´àKJîéRi·—7¨+n0}ôçÚÍÚJû•x·Lp<ûmëd¥ ¬8ëYé: N@VSÁöSÜ� ¦Þ�Ží5‘·C‘îRYuIZ·,-Ä8àR¼Gy9$Ÿ:]tÓVK––ù1&€Ól¦3.-�„6RP¤¤ãjq‚<¨ ÒÝ{�¥õ 몛½Š' Õ*Qv\´¾ûn·Rò\|¡ ê4’€²¢V0Ž2TÇí&ú—n¶—Z‰&âÔ›\xrWk•¬Íumã/(¬„Ôr…ä´äÔ¹ži>œ´H…2z¥Ç1�v}ÊL·CEA[ã®)H’•xHå ù�G÷<ÒESå¾CÎMa¶%8ôù-àÚú�©JRÉ.!\¥ÌïO’HPÎÐ5Ž¡Ñ·k Í@ãÊ=%»_U¦$¤2Ùmo!E]’¥)a)IVyÛV�›¿TSsz#ÓK@¼¸ˆRYR±ÎÀ¢NßvM4Û´N™€ë/1nRÝio9Õ‘!×ÖâžBPâœSŠ%ÂR”§+' b•Ø´å¢ÆM±—ÙCS ¤*S®% ¥EIHJ”GDçŒ à„këuö�¤ÛMÓR0ÕÞd¤Íj>¡œËkŠâÒ„<€�|ySdëö§ÓWmm.ß1‰6{Ë{}Úà·ä:¶Õ8Z[p¹ö³â*Ü ½ÊQ'$ÚS­6ù×+uÆT~¤«k‹r#›Ô:jZ j8)QçÏßHçi[ æ®íJ�ÔEåm¹xÈþŠI-廨îÊ*yå…­XÆÂ8øå'ðTcïiIo5hùZi_´ƒ©§#J7é÷wB’€�Tàýtר5"d%(+Qw9O³ŽqSÆXŒwHS¹9Iñ{1Œr~Ši¿i¨2 �êC˜õÐEyÌ6:ž±:‹wiêêSº´HŽ” ΞõÎSž4·…$”œäÿUJ­e¨ýPË*>®à2Iøÿ·ðR]1¡%Å}épûÍ)%'¦H© ;qkv6ŽxÅlÒ¡)~—²Æ¼:´vïîpîrnÁ(WI ý±µ¡'ãÝô‘ôÖØ¶;šúÅÙC¦ç(Pöƒš–²Âc§ECÕóøÖÔ•-²„¤à“Žqôûª¶8ÉZÑ[µUÅX…±§Ý°:©1[3m.�²âÊAóR?¯áVÕî‚ë¦m²m޲’ˆÁHp~i÷yâ£Úx²¶›IRSâ) ^*9yŸòUfîÛŠL'B$ÇTäûŽG>ú·Ãi â–¢º¼žçÇ™C‹ÁêdëÑv¶õÀ|•o•‡ËítÔÒÂTÆšÕ!)XÂÆGƧZŠél¾é'n¶—ë î>Dù}"«·iJÝ�g²¸1¸uJ¢MX³Ñø—‰¦äÍ’d 4âÝësð­QÄ÷R”HÚ’Ùð©I÷ÿ÷í¯1à0]ß¹yÈþ:¥!(Çž+žUTHëPâjq)m¤”!nì$€ÀÏž3ï­O¼I)eÆNÎRN@W¼|+sŠ�a²”¼¢¬©²à“‚}ÞÏ}C¨ç¼B”bÕ‘L]ú=Ýù !/¡@§þû*ßû-Þ”Ôw˜³c» B…¥~ ¤º’> Љ8Ò ”Jkdç[œ�ýµçX’äbËN5 µµE@åXpÀJÜ}•ü=»BÏ>䊥õQB5�÷ þ�?ýóH×}žg9 ?pä!`›¢Š’ØÜ€z~ÒsìȦØá}y8ê�UçI[›ÕâQ<«'ŸHƒjù÷g;L°i¸z…Û<9Ö©ò],²ÊœqÆœŒ´º…@qdðAãÈŠóLêû”•ݯ²'®5Öáe±Eiø°ÐêŸqsg6’ÛjP@Sƒ”•‰Ü È6~¥ÓZ~÷®mron[&írã7i˜Êë¥nÆYt%G�‚ÒAðŸÝ#Úæ‹^”»16*-ÖYíˆ3 ´â@g*C. Sy!ÕÝ�jÌòemgÖºŽ+“¤Ü®Un±jV­÷üˆ½cøí§U-‚Ó‚<î[ÕºÞå:×¥ÞÝÒß*òÁ·3<†TøÛ=è¥;PÒ�WŒ¬©c”Š�ê} l¹ÙdY­q­VhwÑæX·'«"*F:)RJB8$­ œpC­ÂÕ¥µUl¸[¬×dÛ–”ª3ì¶ÿvQ@ �v’’<¸#Ù@C´ çUßµ‹MÝî)†Ìm;m�" D°ãNÉ}R’²D¶zIP W±<ãpVûÍæí#XêÃUµ§!ØY†âìvVÔ€î⥽¼nØqÓƒ�y>BwòW&<(̾¶�œCIJ”Ú7 �2R�êÀòŽ<Í&¸Ølw+„[…ÆÍn™2!ÌiÅCŽ2sœ¡De<óÅ\±ª5•üo*)V¹cU— ×M ¦JØÎí½^¨BCÄïÛŒøqÍ ³ê-\õ—KÏ—©äº»ÿ¤c:„ÅŽ”°[a÷q¼7�㢜î*IÉðù ³¦ZôÅ¾âæ¦—o³ÄšK—'Ym€p� ¤gœ�çî²ÛO¼ÌGEµ¸Õ¹÷PÇwm²˜Î�Èp'¢¹ZT*Û@U"ï©ãÙôÛ-_çL�C³y[ e•9-ìxZ+éçfÞ©Œ™éb$ (‹Œp¤# ¿Ô’æHÉá¶ø9yrsÑzšô½&¯¹obñ2Ü컹iµ%×½b*A!ná^"œ6§Ä Sn|�Ò]Ú$o’öN„$©1[î m`(åAn äã4«Ð6>ììoBÛº)¥ºßuFÕ©°�Ù#%! 'Ëjqä( ËBêÍmx»Yî2#ÏîW ”¨Ò˜�¨ Åe´u‚C;\ï*u´…ƒ‘Ô8N;N²¢ûª,¬¶½?s“4…‹ë=ÞZT[ာ-½»A(^Šàg50�§ì1ï.^£Ù-­]Èrj"¡/¯>yX�×Y¾Ølwøè�}³[®¬¶­Èndd<”Ÿx @Póõ1²Í±HÓZqØ�[{‡":_2ãÀ!È…×�r Øl(¨!6§œL¯:›PÚ§=¦cêq™|� Zvâ¦ÉÞCRV®šq#ÈŒ9� Y0ìÖxb(‰jƒCmmE GBz^ ÒŒVÔä<uCo hý5¬mW A©tÍ’%¶#­Øí®aô:�)uÀT¿ ÚR�ŽwYÎÐï¶««^•¸…AÓ’d3©TXl�óε yl8Bvã;ùöR-U­µ�›IJ¹.ñqréd²Å™qa˜0ѹ.8[}n�µ¤�¨�É**[q i-Ao•24+%ÖÛb¥<ÛM<Ü͘+P9·h9ƺ·ÜtÞ�¹N3î6\Ée’Á}ø�¸çL‚ 7NÒ¡�.O¾€¤5MÚåc×·;¥¢ÒíÚk®ZšŒßð� £åDg$•Cš^’Ò³#±^™²Èf2Öã »¥%¥)[”¤‚œ$•rHó<Ð}zÔm_trõuL(p¢À"ÜÐd´�ÀRÒ]Á*xÛµ\’yP NÐ.w(÷M3e�p]©7›ƒ‘ÞœÛm­ÆÂ#ºèB:‰R7¨  ©'€¬ à‡MCkÓž�•*îÔ‘º±äÊ’àC`–JÚRÖ}‰(N3åìÅa™:K[Z^e™=ImÞê¶¥³¸r€Üœûy !-Þ/— Ú¬MkÆšf ™ÙªºÄ‹ü-ÄÉu¢• ƒi Ù·*WšFGÖúÖã¥nÚ‘›¹µ»NÚn�ÁLF”Òž} S©^ô•ì;@ÀRT=õnÍÒújl8�¦éÛD˜°†"²ì&Ö†ý‘„ù,R©‹L�(HµÂxKm-I Ž•u�œíJò<@dà,š²¾ßµU²ñq°3¨ßyMÝììµ1è¬PÔµ”:Œ%II)ÈÏ$â¼Ä¾ê¸sVä�K"k0õ{VN‹‘c¤?ÀÙÜáK`õ]à£hÂRrI³ß´Úž�¹OÛ!8úÖÓ‹ul$¨©¢Kj$Œå’“ìÏ­0¢X.›� -²\YO"{o²Ú‡œÀ(|(p¥`' óà`ÐM»]_×}´ºÍÚã2Ý|�qv:äĈË-6§\t!EðÐ[;³ž8¢vµÖ )k¼=z7Gîš.MÝH~+In4–„R�ÚRJ1!eIQ>¨ÁÕªÞ�Òm8§ÒöD-O÷…)0»…¡;}l)\ùø�¾— E¤&:E®£*+GOÚ™PHSIれ¤pv§Ü( OVÞ/š[^ÜÌ+ä‹ä×-6˜ÝéMF0—ç8‚@¶s…eð2¤î$y¼»}×]hVwní�ãR3å&³ uÃuÅ¡hd­¤¬)IVÑ�S”‘�ÓçlZ#NÙæ<íŸNÚ-…’‰kTfXc¥žC‡;r|�4¶Ù`Ó°¡ÆbÛeµGŠÃÝæ:#ÅmmÂ’:ˆ  Ú¢7pO¾€fíås€½3i�qr »ÝSû‡Mµ8ÒC;á IFõ©¤ e$xü³Š¯ž7I­´Å¾ïx~c6�W63n÷xå2ú ¨qi-”ïJŠ›%!8)$«\w˜VÉöÇ£^bC•§sÍËm+h�ÎTÆ3Ϻ“[`éÖÖÜ+t;Rg^ÖÙŽÛ`ÂRÑœ§÷2¤/á�¯q +NÛ;òõ Í´]æ³ :òê¡£§ÒqC¤œ«)*þäFÁŒ ¤—íQ«4uºK ]œ»)zz,ÆC±˜OtqR[ae¼„¥ÍØuG9^ «nïc²]Üi˵žßp[)q *Td:P—µa%@à)<<Ƕ¹k¶8áqËtE¬Ç1J”ÊI,Ÿ6ó�Sþ�•ìæá©ž»Þ-÷Æî,vã¹Ë’áw½Ëß½+LE�©)Q 'r‡;sQk&¬Ö×EÞÛ�?¹�Jý­Øîªp‘·–ÖA. %í©c<€œª³ì–K5Ž:ãY-0-Œ-[ÖÜ8Èe*W–HHŸ�kù?`ôç§} lô®1ß»ª:øÆ?tÆï.<ü¨zL»ƒz*n[Êl±—׎Ó]oÛb†õ «nvçNfóµN¸:Žö‹rnO5eºÆ€†ÖmÍÅy²†Tµ>§—ƒ‹(¤¶ŸS\г¦ôêâ®"ì6¥G[2Ú0Û(S%EE²1‚�Ä�¾Y9¬+LiµÏ‰=ZzÒ©�ДE|Ãl¸ÂSê¥ ÆR°*ÚŠ( +~Ü?zÀúúVjÇ«VWkL"R Fq[�;…c;H[JèÈnдŒо·?b°{Í‘ÜoÒ»?þxþj*Áµú‚¡6XèŠài.¥•­@2@çH©µ¯ÔiC«¯ÉQ_­>HÕvò4û¤>àGúWù昮ÞFŸt‡ÜÿJÿ<Ôâ~BçèÈÃu§ËÕÔQEV–�EP7M°ØçIT™¶kt—Õ�Î; QÀÀÉ#>@ q¢¢QRVjæQœ¢ïa£ä¾šÿ“ÖŸû“ª²�3¦ÓêéûHú!·ú©ÚŠ×¨¥Ý^zú½çâ5�9§‚· ¯v1žèÞª´½¤t£î‡žÓWk€Ñ }%4õELiB.ñIº“{ÛÙÒºa™C:rÎÛÅ ‰„ØQO»8Î>+Jé…>d+NYÔñ &ʰ|ùÇÀSÅ›Š{Ñ R]£JtÆšJ÷§OZB¾p„Þª¼«Ki…«NYÏÓ ¿ÕOV½E.êð3×Ôï?®.œÓÑwwk­�ÀƒÓˆÚsŸ W‘¦tØÎ4ý¤gÿÀÛýTíEK£MïŠð!U¨¿ÜƯ“zwùÕÿsoõP­5§ÙmV R�|Òa·�«ëEF¢’ÿjð']S¼üFV´–•iami›*<”˜-ùµ‰š?ILk¥/KÙ$7�Û€Ò†}ø)§º*U('urj�YÉøŒñ´¦—‹Q£i»; /›n iIǼâ±òSKÉ»7ýſ٧š*eNwjäF¬ãû[C8Òš\yi»8ÿ°·û5Ÿ’úgþNÚ?îMþªw¢±ÔRî¯-}^óñþJé�ù9gÿ¹7ú¨ù+¥ÿäÝŸþäßê§Š)¨§Ý^_W¼üF‘z;þIØÑí~Ígäf�ÿ’–/ô{_³O´Tê©÷W�³¦b>£ñcÈÍÿ%,_èö¿f�‘š?þJX¿Ñí~Í>ÑMM>êð3õ‹­–+%­õ?l³Û¡:¤ì+� ¨§ ã)Œ�Çœh¢³QQVHÓ:“¨óMÝýÊÿ¶;rôEŠÂàgV¹'¼Úå'ÿÌŽ�¾[Ú¢ÙI2àOÄyìòdÆ´�²×§¬Q:�ž\Kë3nKiø²Õe-/¬¥•)ÍÄ£pRUŸ&=/Vê{7 â½ruWTi¦[ H$¨ô\RöæÆÑ„�¥–©ÌGº·ûy‘fÓO^õ äInzá%r“4t[[ÈRJABŸP†âŸn1W|F+QÐICHJUæ@æ¶Pñe“)˃óï–ãiºKÒ.‹|çÞx­HL© CÝFõ:.+ ÈÎþ5aö5vnsרMJ3Q°®óøåÖ…a|4ó£zV6åm’Br‚ˆÕ‰LºƒTÙlRÙ‡9ÙK–óju¡Á~[Û¬¡”)A9 n ñ@RÚnëv‡ ðÕÎ\›m¿~¡U�q$©“(L˜§zÄ`õž[G „­|¨ «îÓu–ÛÐ÷‹Ô™3ôZ§ÉS²\’°òŒ•>ÚT°‡�;P$8mZ5U‚îü-·I]Â+Òã!X[M- ¸IÆR·’“…dž88z ) ×´Û®W ¶˜Ô× ž•²&Ý>[ææìÆÂ‹Î·)U)E@GPqMä„©8Ó|;¾«[oYg]®�LMºVªuBJ›eØ{Qp>ªdºéJ|€e8õjÿ¢€¬t æÃÖz*®×I�Üôš§K&8ø\„9HA!Õä xã�QžÕu[ðu5éè79q&Z%ÂHmëÛŒíkíKuÆá!/2Pµ¸éÀ!x#h«j&©°Êº7lb~ùnH‘-ôV2ãS’1áÜ9γ4õ@SÖ»ÚZíI¶†¢]ì̺¼ÛmD¼<—¢¶P¼!Ø ²ÂqÃéÁ>r’ñª¾½Ûléû…¶‘¦¤*tÉB“ÞZà%¶AÎ9Éú*É¢€¢lrÌK µW‹«ö¦§jiGX9åCD9A…mh8…4Ê–†ˆ^àV’UöÂ+ݶô·nv˜Ú‡S\¡éÈ» }ÅW'2Ën²#%R‚–6ªF̨õ;½·�Fõ‹1dÜlÐÕ©.ö9ò^u¨f’zä4¥­+Jж΂ARrð�O T7XO‡¦äɾê[€\­ ¥ÁTÉ K�ÊD™�E´“ËÁ%�BFáàÁZî7ÝRëî¶åú5¾`µÛ•bvuúLbâÕ S‚3m,L%â´¨(“€œ›a7�- £Û4ŠÑn7¸Ãm²§:ZJ‚TâË-¬ò¥ “Œ•Sî�¾ZõN´É/´‡TË�M-·q>²…€¤(q€<Š0ö²Í©í&צ§È¶2ÜèÏ"k,‡Qä8…¸)é$ sæ<ÅqtÕ2Þ72ÍÒÍq‰Õµ¢çªôûjc(¥Æœq+^„´/À•¨á½è¡Q¢.¦‘"«Ÿ#LÃÕ°Ú2ä\œu„F]µyIuj;š/©<¨�U·“Á¯RukrÌɼÌ1%jKˆŽû·×-±TÓHFÆÌ„%Nwîm à+ò\V»$KuæïuaÇ”ýÙÖ�}+ ¥%¶’ØÚÈHÎIç5îÿy¶Ømýúé# Éq-§kjqn-G B�Tµ䔂MHi]R»œ[5n¨¸@ŽÕªcm­¹î0ã³Ú”[é¬�ªuä¶!¥Œ«q%Ò}íüè•H²Í¹¹2ÓÙµ®U® RÑ2ÖÔÄ…–�Úµx6�A! \¦í¯¿×ˆR$G“ØÏµ¸’¦ÝJVàãTïBJQ^KVû¢tN®»O¶ú‡%Lô“’Ua–ÒQ…­J鸤)ÝÍŒ´e#<Îôôö4öºÕÉ·ybÔÃ6·ïó|¶ô•¼ÖÔ­Â¥¥!°œdñŒÕ�^u¶q÷Uµ¶ÒV³Œà“Bj ¸^õ—HÚ­ð.[Uék”i²”Ã+a¥Ò¤¶áñ¢žPFp¢Ÿ#ŒTÖûu�d´J»]îð¢¶\yÝŠVÔ�n ?€Sn³„ËñâÌwR\ì;¡´¿ Ô²ê’ÚP´8…¡YR’S�OdЃž|½d�*óx]ÑVY2ZvMñÛy’ñ�â±-!NH};Ú�„$mäRÉ—Ë­ëJê-HΦ¹¦L-7h›Pç- ·%ipº­‰;•'*<E]V˜–}'d¶YXw»ÆALH¡Õ•-Å�N >²ŽIúi]šéñ rí¯õØD‡£)[œ8ËŠiÄá@… ùdds@SšÖuòÇv½Z-—9Ê´µqµ®[“nï·ÝØu·º„ÉÂÜe [mSÂw+rH�ö?"|« ÷$Ý!ÜbzAb‘®.ÎJØŒ£¼8„°¾¦Ï'$¤ÔÖŠ¢Š(/j?¾íŸæÞþ¶ê˜™dֲ幩S=Pîqœ"�¼$Æv8ÈRX%=W<Â�ÚŒ$2Ssö£ûîÙþmïën lÝm�ZÕtj|eÁBT¥HK ¶�œî%^\`çè¬ódwve8§S¬–\(m•22 ðqS[_¨*eu© iöK�8€´-'!I8 ƒî©­¯ÔiC«¯ÉQ_­>HÕvò4û¤>àGúWùæ™.©%'Ši‡¨.¶–Õ„2ë[²�âIÛïÆ¬«ÅʆÅ}¦$£‰ýNÛ?±cÑUÿËKÏÞ‘?&¿Ú£å¥çïHŸ“_íUvIpe¦xw—‰`QUÿËKÏÞ‘?&¿Ú£å¥çïHŸ“_íS$¸1žåâXUòÒó÷¤Oɯö¨ùiyûÒ'ä×ûTÉ. g‡yx–_ü´¼ýéòkýª>Z^~ô‰ù5þÕ2KƒáÞ^%�EWÿ-/?zDüšÿj�–—Ÿ½"~MµL’àÆxw—‰`QUÿËKÏÞ‘?&¿Ú£å¥çïHŸ“_íS$¸1žåâXUòÒó÷¤Oɯö¨ùiyûÒ'ä×ûTÉ. g‡yx–_ü´¼ýéòkýª>Z^~ô‰ù5þÕ2KƒáÞ^%�EWÿ-/?zDüšÿj�–—Ÿ½"~MµL’àÆxw—‰`QUÿËKÏÞ‘?&¿Ú£å¥çïHŸ“_íS$¸1žåâXUòÒó÷¤Oɯö¨ùiyûÒ'ä×ûTÉ. g‡yx–_ü´¼ýéòkýª>Z^~ô‰ù5þÕ2KƒáÞ^%�EWÿ-/?zDüšÿj�–—Ÿ½"~MµL’àÆxw—‰`QUÿËKÏÞ‘?&¿Ú£å¥çïHŸ“_íS$¸1žåâXUòÒó÷¤Oɯö¨ùiyûÒ'ä×ûTÉ. g‡yx–_ü´¼ýéòkýª>Z^~ô‰ù5þÕ2KƒáÞ^#oih³/µ­5éë3÷hÅs+a¸+˜ëCJi QPç©Á ñŒˆæ‹Ò‰LÝ%I¶IfúÎ�ŠÅšL´’cH*ž�³Àu[)Q) Áá\Ê¿Êvùö»lC>4gb´îð´â›RÓ�ø9-6rFFÞ<ÎVü´¼ýéòkýªŒ’àÆ²åâ@®6)oZ_'LÝ­-'L­‹Ã&‘— »„ Á=gƒi”:‰*Îð7ŠK>ÇkºkËœ ?¦¦Å´­ZqNCô{‘ÇHL•ÕWD¥*m¼nÊR¯#“>ºêI—[l›mÆ×L9M)§Ù[K)Z0Añ{©œ¸+O™+¶Û›ëJ)ë¿%é^p$a ¸ëŠQ àg'f™%Á�d;ËÄaÕZZê­iza ar!§OÉ�¦ž˜¸l!¦’Ãèu F q.%A ƒ“¸ƒvµÂí-ÉplSç¿&ç!r‘gu‰q�¦Ö Ú¸qŸ –”IÂ’8)À’ü´¼ýéòkýª>Z^~ô‰ù5þÕ2KƒÈw—‰\F°^XÓ‹>•²ÉÊí-…ÏrÆýºZö>ÖöIL·V×[í�”œ‚7xÁ§6´Ò]°Þ·"{V§åAR!Ûô{ñ¢¡ÆÊÊ–¨N¸§B�m.¤µ$d…4ùiyûÒ'ä×ûT|´¼ýéòkýªd—5�ï/×fn³B´Ì²ú,ËŸ%¨"<£0êP’çP2á*Œ°Ú�ðIñÚ1ªcOq½[k–˜E¶o68‹– É,8Ê[w8 (·�Â�Ȭ+X]Tâ\TEhÎÕ•‘ŸÒâD&â›<€´�­¤ò� ;EBûU‡u—©¯Sai—½#\%”ݢL¹.²ßIŸÄ� ÛeÄ–� —µYIÝS_–—Ÿ½"~MµGËKÏÞ‘?&¿Ú¦IpcYòñ"öí4óB-ñ‹ ¦îª×o½ÞUi}0Ü’îNHÜ–J’8O‹>g4‡BÙ\cRh9¦.¬_aJšuÁv÷C�*3ãzÞ) x)G°T·)Ü›|´¼ýéòkýª>Z^~ô‰ù5þÕ2KƒÈw—‰çSد>סJ�t»ÙXoO¾Ú§CŽÊÒVd4Cj/4â9« ðùã5·Y%³o³'TØ®—6#Þ¦+S¥p\’™ò‹;Y–JOU’p’JAA"aòÒó÷¤Oɯö¨ùiyûÒ'ä×ûTÉ. k!Þ^$2Ñdu›…¥ÍQ¦®“´ØE×Ñp{ƒ’ ¹- ŒÚA-+£�…+1áÊM5è&î´K•i»L=Ì(¦,G$u$!É$¶¥ ’CÈ!J žx5.Ô“~P¹Û�µèÁieèÏÈŒêR¼oNöœJ¶«jr’pp28åmÔó­¶øöøÈ¢Fi,°Ël¨%´$a)w2Kƒ'Yòñ+ûŽ™Ô/¾ës™~;ÏZíÍY¤�7"t˜E1ЕžK¨DU¥àµ H9$p-ÎÓcE“`Œ'Ûnó[jcNõ­;»Ì5'%2”ø•´à¤(�£á#4ÕòÒó÷¤Oɯö¨ùiyûÒ'ä×ûTÉ. Œðï/'vùQt´Üb-‚ý¦Y™lun\-&4é,‰Êc¤mO6–Âî`¨§ÇM¶˜ñšÕ÷ �ŽÃq�h¶êèRU«{©q– ­m•&8OQ)Þà;v‚Ω÷ËKÏÞ‘?&¿Ú¤Poò¡\nÖØ�ɸ­J^=E! 8+ÀÂRò¦IpcYòñ"oÄ™6[¨¸iݷ˾\æ6åÊÉ&kiÈe-<¸•,¥Ç0±C‚M#²['9f¶#Xi‹íȱ¦Uo‚Úí¯<¸ÓÐó�X8=%) �„.¬_–—Ÿ½"~MµGËKÏÞ‘?&¿Ú¦IpcYòñ VM{wK^$1e–Íõ­j‹lqÖ‹N4ÿvu/!¥+Á$F@8­Ú‹O·=›ªt†—¹Û,OGµ´üTÛ^†]�›ƒkRÒÑJTT†‚·8–yóÀ¤óõVœï¹™ª”íû—‰¾Üs,æjekõDmŒ¯®R@ú—ÛRBiJ.8t™SRQž)¸»îÌ`+9¦—` «Ëe¹¦Ha´€†YYSiY$¬ÎÇ•Ð.¸M—Qw¨õ¥Þ£Ö¸—ðÉÚOé2ÿdcù)~ûIý&_ìŒ%;!MÎmw¨õ¥Þ£Ö¸—ðÇÚOé3Ÿ²±ü•óðÇÚOé3Ÿ²±ü”²³…Û}ê=iw¨õ®$ü1ö“úLçì¬%/Ãi?¤Î~ÊÇòRÈRÎm÷¨õ¥Þ£Ö¸“ðÅÚGé3Ÿ²³ü”¿ ]¤~“9û+?ÉK!K8]µß#Ö—|�Zâ_Ãi¤ÎþÊÏòRü1v‘úLïìÌÿ%,…,áv×|�Z]ò=k‰? =¤~“;û3?ÉKðÃÚGé3¿³3ü”²³…Û}ò=iwÈõ®$ü0ö‘úLïìÌÿ%/Ãhÿ¤ÎþÌÏòRÈRÎm÷Èõ¥ß#Ö¸“ðÁÚ?é3¿³3ü•óðÁÚ?é3¿³3ü”²³…Û�ò=iwÈõ®#ü0v�úLïìÌÿ%/Ãhÿ¤ÎþÌÏòRÈRÎnwÈõ¥ß#Ö¸�ðÁÚ?é3¿³3ü”¿ £þ“;û3?ÉK!K8]¹ß#Ö—|�Zâ?Ãhÿ¤ÎþÌÏòRü0v�úLïìÌÿ%,…,ávç|�Z]ò=kˆÿ £þ“;û3?ÉKðÁÚ?é3¿³3ü”²³…Û�ò=iwÈõ®#ü0v�úLïìÌÿ%/Ãhÿ¤ÎþÌÏòRÈRÎnwÈõ¥ß#Ö¸�ð¿Ú?é3¿³3ü”¿ ý£þ“;û;?ÉK!K8]¹ß#Ö—|�Zâ?Âÿhÿ¤ÎþÎÏòRü/ö�úLïììÿ%,…,ávç|�Z]ò=kˆÿ ý£þ“;û;?ÉKð¿Ú?é3¿³³ü”²³…Û�ò=iwÈõ®#ü/ö�úLïìÌÿ%/ÂÿhߤÎþÌÏòRÈRÎnwÈõ¥ß#Ö¸�ð¿Ú7é3¿³3ü”¿ ý£~“;û3?ÉK!K8]¹ß#Ö—|�Zâ?ÂÿhߤÎþÌÏòRü/ö�úLïìÌÿ%,…,ávç|�Z]ò=kˆÿ ý£~“;û3?ÉKð¿Ú7é3¿³3ü”²³…Û�ò=iwèõÄ…þÑ¿I�ý™Ÿä¥ø_íô™ßÙ™þJY YÂíÎý¢—~�Q\Gø_íô™ßÙÙþJ_…îÑ¿I�ý�Ÿä¥�¥œ.ÜïÑê)wèõÄ_…îÑ¿I�ý™Ÿä¥ø^íô™ßÙ™þJY YÂíÞý¢—~�Q\Eø^íô™ßÙ™þJ_…îÑ¿I�ý™Ÿä¥�¥œ.ÝïÑê)wèõÄ_…îÑ¿I�ý™Ÿä¥ø^íô™ßÙ™þJY YÂíÞý¢—~�Q\Gø_íô™ßÙ™þJ_…þÑ¿I]ý™Ÿä¥�¥œ.ÜïÑê)wèõÄ…þÑ¿I]ý™Ÿä¥ø_íô•ßÙ™þJY YÂíÎý¢—~�Q\Gø_íô•ßÙ™þJ_…þÑ¿I]ý™Ÿä¥�¥œ.ÜïÑê)wèõÄ…þÑ¿I\ý™Ÿä¥ø_íô•ÏÙ™þJY YÂíÎý¢—~�Q\Gø_íô•ÏÙYþJ_…þÑ¿I\ý•Ÿä¥�¥œ.ÜïÑê)wèõĆѿI\ý•Ÿä¥ø`íô•ÏÙYþJY YÂíÎý¢—~�Q\Iø`íô•ÏÙYþJŸeíµëÛêbÏq¸\HÊ“ÞÓ…#Ôá¾>šY YÂìÎý¢�}²q‘\]tí?µ{TÅC¹ÝæB�‘’Ôˆ 6 =p[é[bÞù©´ê¤]žCÒY’¦ ¡;ÀJT Œø±Ç¥p´…ÐàVê#"•C¶º§F¦SS—‡ÿk‰¤/°ßÏûLÿè7]´ÿâÍq'ô†öÁd2þtön˜ý�u¢<›Œ‹ƒq€é”’j,Žé¹Ke·’îÞrŸCþuÙcíÛÝ'Î)Ķ„€�9Ð×Nœ”KÕ*TªD’¥J•$’¥J•$’¥J•$’¥J•$’¥J•$’¥J•$’¥J•$’¥J•$’¥J•$’¥J•$’¥J•$’¥J•$‘'gðâH¸\%Kˆ‰Ÿsí¯Ìj2ó±Õ  ÉHÉQa>•q¢g§Pêë [–Ÿµ8ßÝxéqö !”ìR°ZZP�…c>!Ÿ äóA–¹ómsÚŸo’äi,œ¡ÆÎãè �G˜5l½c¨L¨rQ1–Be0ˆñe°ðèáB¥{Ô qts:JdH‡w�%pmÉ­%l@²îãwç˜Íø|ˆÝÎzº¹Y­S/÷«Íºß¸mƸǓ-�‘d¶Ë… J%* ÞœtPX4PD­Qt�ØB™´4BÒ°¶,ñXRH …¡°¡Èõç¡âš‡¨ïQº=r�««n57À’JÉ*àŒÉä`Œœb•’º7ÔVhnF�§lˆ‚ô˜0¢½Ý›jRê÷w[–‰![Ôµ)Á”¨lÁ!<�^uF�‘oÑLÀjÂã2c\ÐË÷ w!å-(÷«ÀK!{R’HIÆïÊ ¹–õ"Ó÷-Ùi1»´2¢@qm ‚„)À�êJp0’Hp*·Jû˜m½ïõBð|·´|ð�¹Î3ÐôÎ)Y+¢¸ðþö´Œ›¢¡[f] É0ûÇ;©ŒÇGtÊ@*mJVìdçàæ®-vûÖ åÎЄ;"×tSÌCRc¡kŽÖPðNÒ”“¹C¹ã‚Nœ¿Ï±¾£´ôg”ƒ&#í%Ö_ 9HX ùàã#'g¨5KªÕ&ñd›'º ­¦Y• †XPS±¹µ7µD|Ñœ“´R²WBç8,×Êú¢T¢£Œ“žÕ_+«‰R¥J’IR¥J’IR¥J’IR¥J’IR¥J’IR¥J’IR¥J’IR¥J’IR¥J’IR¥J’JÃOŷθˆ—þÀ‡PRÔ‚�ÈCŸ“¿Ì#È‘œg88«+î™^Ÿ¶¨Þä.ެЛ)Y-ƒË«P8 ?“Œ•ué‚Gkꔥ©EGdŸ!À¤’ùF ií<Û(³Ï¼¯ò‡´˜‘•ù,º¯ÎVyPáçÅ€úT’NHeÈòaÐãk(Xpyê­6„hžÍ4¼»túå4Ò߀”åÍÇ’•+b€* O$~NÐB°0G(Ö¡Ù—kó4œ& \m ^#ÅJÓ Å/cñ’² �•�|$�Ç8S\.œÓe£v·�IØœ�Kt•EÂ;É}‚Ó{B§Ú£rŽ2AÝÎîpTÿFoþW—ÿ÷ÿé·Yïj¦ÍÖi0ãÛcÚ-ª{Úa“¹o»€�î+qÀqä:àcBþŒÿü¯/ÿî+ÿÓnšEšœÓw.‹´~%5aUö�Ħ¬*5"ðÿâÍdÚŸGi‹­ú\û�–,™N¬oui9V÷+Yñf�._Ûßþù®‡¹š´Ùp±¯ÑÂè?ð}¢ÿG þ©ûi~´_èäÕ?mxí'QIÓ°í.GŸj·&mÉ1—rAS, ´ê÷G9@¨uªøº½ÀˆÁ½K§ïÆC�¡.ZâüšKqÔîÕh^Óá<äq��ÁÝb_ˆù”Þ­À<‚³üh¿ÑÈ?ª~Ú_ƒíú9õOÛP kø¿q›2 ·C0#JºHŒÚ{ˆ}ëa~-Ë ¸„…œFµÎ±/Ä|Ê]Z€y/ø>Ñ£�Tý´¿Ú/ôrꟶŠ(w´kÜ�;¤$Ý¢9 §[z;}ä´•4ØqöÛR”“À '町Ŀó)uh~ä?ƒíú9õOÛKð}¢ÿG þ©ûjº±f5¾çv™«ôÞ ‰1yÖ,‘°òGˆæK€Ž£ùùr5ÜH®ÍnU’òÁ·÷J˜V†°Ën|Ç ¤á\'*NR8ÏzÄ¿ó)uh~ä߃íú9õOÛKð}¢ÿG þ©ûjIÕváo–emEÙ6’6§=òœKa_;æeCž¸òª»n´�­<ÕÆU’á5ÃíKxÀe=ÛM2òÑ’\XXH;A*<�1\ëüGÌ¥Õ¡ø�RÿÚ/ôrꟶ—àûEþŽAýSöÕtýxS*꘰^¢A…-©Åq Pñ*Ác§!Yü�Ö¨Ö6õOK"ñ S�½7„{9�RQó·üðQ»nÝîõ‰~#æRêÐüÈ&ÿÚ/ôrꟶ—àûEþŽAýSöÒ±ëXiä7n¹Ffä§QCèl!ŶVœ•„,‚@iÁéEα/Ä|Ê]Z€y/ø>Ñ£�Tý´¿Ú/ôrꟶŠ([^j –7­Í²ìHd—=¢å2:Þb6Ð R¤¡IÁVNTÚz’)u‰~#æRêÐüÈ/¿ƒíú9õOÛKð}¢ÿG þ©ûkÄRëvø"Jc^§NuÑî"Ò¤Im—qa(+<�9¨r5øTæo²N™v¹s\XShSkaͦ”±‚¹*ëÉN27Þ±/Ä|Ê]Z€y?ð}¢ÿG þ©ûi~´_èäÕ?mVÁ×èý¶åo–Èö+kÆ+L¥N%rÞq¤áA JN0¤íMе´4¼¨fÓtû¨&bßµ¢ò–Zï·Þw{vdä¯Ëx¥Ö%ø�™K«Cð ¾þ´_èäÕ?m/Áö‹ýƒú§í¦×Öé>ÎÔKUÕùr’Â"íi·7GRRîw¸”ð¥Œäù EPßb3$6ëAÔ%a ¡iÈΓÈ>¢¹Ö%ø�™K«Cð ‡?Ú/ôrꟶ—àûEþŽAýSöÑED¼ªà›DÅZ’§¥…˜É|ÚœÁÚ‚ ǘ¥Ö%ø�™K«C𠨿Ú/ôrꟶ—àûEþŽAýSöÔIºÉoÙ´ü»;M—îÀ¾´<‚®á†Û+|� |I8o¯ÎPÍ{k]ÂM­©k…>bZ·1>àüf”EmÄn RTæz+j7�ŸïX—â>e.­À<‚‘ø>Ñ£�Tý´¿Ú/ôrꟶ¾»­¬í»µ7+t‹¡¶“±y-^/Å�Íàò~QrqqcºG¼B\Ȩu,¦CÌàymÅ6T0O„”œ1Ís¬Kñ2—V‡àAS~´_èäÕ?m/Áö‹ýƒú§í¢ŠTºÄ¿ó)uh~ä¿àûEþŽAýSöÒüh¿ÑÈ?ª~Ú�Ú„û?¶Ý»X”b¥È ’’BœyX ïß�•(ãÑ£�Tý´¿Ú/ôrꟶ«ìzñr£´ÃÖiÓn*jD…7´[�ã åÇ‹Â8ÎNxôÖ™ñn¶¨—8.w±e²‡Ù^1¹ ƒ��®u‰~#æRêÐüÈ*Áö‹ýƒú§í¥ø>Ñ£�Tý´QJ—X—â>e.­À<‚üh¿ÑÈ?ª~Ú_ƒíú9õOÛE©u‰~#æRêÐüÈ!Áö‹ýƒú§í¥ø>Ñ£�Tý´QJ—X—â>e.­À<‚üh¿ÑÈ?ª~Ú_ƒíú9õOÛE©u‰~#æRêÐüÈ!Áö‹ýƒú§í¥ø>Ñ£�Tý´QJ—X—â>e.­À<‚üh¿ÑÈ?ª~Ú_ƒíú9õOÛE©u‰~#æRêÐüÈ!Áö‹ýƒú§í¥ø>Ñ£�Tý´QJ—X—â>e.­À<‚üh¿ÑÈ?ª~Ú_ƒíú9õOÛE©u‰~#æRêÐüÈ!Áö‹ýƒú§í¥ø>Ñ£�Tý´QJ—X—â>e.­À<‚üh¿ÑÈ?ª~Ú_ƒíú9õOÛE©u‰~#æRêÐüÈ!Áö‹ýƒú§í¥ø>Ñ£�Tý´QJ—X—â>e.­À<‚üh¿ÑÈ?ª~Ú_ƒíú9õOÛE©u‰~#æRêÐüÈ!Áö‹ýƒú§í¥ø>Ñ£�Tý´QJ—X—â>e.­À<‚üh¿ÑÈ?ª~Ú_ƒíú9õOÛE©u‰~#æRêÐüÈ!Áö‹ýƒú§í¥ø>Ñ£�Tý´QJ—X—â>e.­À<‚üh¿ÑÈ?ª~Ú³°YívIÉi„Ô6{Å!±€Tx'êê«ZeüM?ÜÄÒ2Èíâ|WD1³V´Ü�-‰MXU}Ÿñ « jrðÿâÍ\¿·¿ýóGoþ,ÖGªumº×~— CÖãkä¡) äÆT=j9dlbî6RÅä6`º÷¨,ßu¥YŸöžçîmÀLÆÍÝæq½½F?œóÓ§4Ö¤°}Ù›n“í}DZÎÞïvþñ•µê1�ÙóÎ1ï¨×v…$gœ2pB?š‡u§mZWJEnEÆåÄ­ÀØ 2Ù9 ŸÊpz‰•½ÙZnT¯¦•ƒ3›`¤'²øh[j ³É*‰<—'Y›’á,¶–÷4¥+ îJG ŒúçCÐ ÒºúͨôÄ‹ü(óÚa†»Õ²ûiK»~D~ú¾ví¥­Jmû6¡tEm<¶˜d¥º —G5) (ú7lµj¦Ö–WužvØÄÄCuO0ò[%Ô¥M<‡FRœ‚QŽ£­ hÞ×´Ö«a[!]’VÚ‡šm*Ê6’8Y!Yù²=¢Ù~ä»sL;š£4–ò{”‚V¬|˜Ê†V’BHéž2j *á�Å®p[粕´³>Ù[º~ë`Ô·›-ÆÑw¿Zde4ÒãKB‰VU!`ŒgŒ½xçÕ÷HýÔ:ˆýÐî~ìÅb?âww=Öþ~pÝ�ý8Æ<êº×ÚŽž¸Ý[¶±äq{”Ú6çè^u7µ}:õÎm¿Øî­¹ HKª[( ;ÆF¤¬–Ò…Ù @ê�Nry¨Cµ[){ñÈû::~½8çj6$4m÷�Ù ÙìÉ ô«~µ[‡âDÿAÄôJû@É 6™w¦�u ZšÜÜ2€D*y<+ <ðA<çhoUØ·ßN©‹&Y”»‹o#¹¶ªZXO³Þ6……­$y£�Jx ^ífÄÒ’´ßZÜ­ ®;`úõWÛd²—[bX ¡9ÿ.µīφUÓ�%aCJ].Zahš¸[dÜfJ\{½¤>K�!ÂÞô)¥ã�3ÀVÈàîÁoû“cƒkö§¥{$t3ßR‚EŸTdœfcÿz´ç5Í¥m7ßfž¦U m%â•6´+°GÆ|ê)¦d :Ca²–($˜Ú1rŠiVXŽÜ´Âî ÃjÏqKq(Þ†˜!;” ‡{¹#$g"ží¶½1¢nN@»[/ޏÙ@*ŒËJI܉ÀqáPéÔSÉ�Äì›Ñ>ÄÛe~ÞŠB;=�¤ý¹;¢ÃÚýŸ•÷.¡Ï›»ŒìÇ^3çQÙìú�Û›MÙ–ÓÓÌõ—í »(8U¸„¾O ÝÈð• ðG«‰Û6™“£ÛÕ-Û¯>ÂãËd$´×xœõæ9Æ=MIºv·¦-¶Û|é1î!7­ÉŽ��…)+HRSÊÀÝÏLõ¦X ¯ÆÞ;ÿ FÒLí›Âþ =¿Jßmz­í70ÂSjy&cÐ �;-ní-8Zw x�™#ž´í®=ŽÁo³D*Sc7²¯œR„„‚}üP=ƒ¶?zŽë±,÷ä×°!ÖIY÷óø‘üj‹RH�)§nK·Þ4Þ«‹!¢¢±‚=Aï°G¼Tƒ]”f'�ÂÙ)Vÿ⟳ìãî>¨ý™�ýê_þ)û>ÿ±õGìÌïWr”Ë-â•d:súAèËò\;eý’»ÖϦ>”GkíONÜèn5Å®é!Dº†À9PH?®T*TF×e'TJ,ºh„ÑÄKOwJ�nݨéÛs­¡qî/%ÄîJÚm'œÊÁ¯ÎÕtõÂRc³èz4Þ?ré½jÛ2sð¥SkÖ–t ­2R=éHÿ:˜DóÁV¸D´¨*oiV8®!*‰qq ã¼m ”ƒïñç÷UDÎÚ´´Y aË}è©¥–±ÿ©P½ÁŽÊí ¹OAQSî[›¹i”«-ü9i?û:ùÿ‚×þå/Ö’ÿ³ïø-îSzfsW?AÄOÿd­J•X;P°^‚ÌXw4«iï@þ >µjæ±µ¡µ,±0„Œœ!?ÍL517w*O¢¨�åŽa"JT4u¥¯» L#8á þjeZòМæ<îO�ÍMëpüK�Rsý¨®˜GÿG÷ñ445å �ìÓúgæ#ùªÏN^#^äQ[y´!]Ѥ‘Ï‘>µ$u½Öi¹QËO,m»›`´û?âV_güBj¬*é·ÿkœ{L닦ђV�ð&º9ÿÅšçÔ3÷íq8ÏÊ·çþÊhn)îGТxO¾=ßP‡Ú ãw\ó�Ywn�œ¸3m†Ê·ž€�‘ÏÍ]j­# óÐ+î´6€�;IEkã!j«ÅÖˆÔv{l˜íBQCoºÈùGhB@”—B�¿Œ s7–ä›\ÆäÜ ª1#�Îr8#Ì�Þ~”H›í¨ßdŹH\Èél­°Ò–Õ½ek#C;O$t Ë•µë…Ú[Ñ!¸qÅ-´†ÎBsÇN”x’âƒØ µZa±{¾Ó•¦Ÿu2bºÌží§Ú^m…–σŸ?�k¡ØW-�»yŽ7Û ";“…{JÛZ–‘äFÂIó g¥s5ŽUÏMj·Hs$Û{Òãj!IÏ}##é«­k¨‘vŠÔHÎ8[ö—d«w‘^R=ÉJR* ©3�pñViª�õ»v V°>Ý›XÃnh[*ið\RÆ<ýõS-w]³\á-å<™ˆQZw %9I\mÀ=0hkKj$_í­Xu$�Ùh„Á¹+•6|�áóGL+ª~4Ʀ‰¦/ z÷©­³B JD&D‡�F1´¸‘ŒcŽUV©ðØÛ"A~J|Cu[ÚâÛ/2'?k¯Êeç\VJŠ…Ð}MRv©r”‹å7Þ ´¸¬ì«„ù޼b§ÄSN¾–[œKåAÄÅm AQHÊŽIä àŠ×Â,Í!p• ¥2„<¶œSŽ•­Õ!Ä$õ9ÿ�knýS´Ž;�ÍþK1i™–Öx´·6—62O<ô­šÛØü?g‰rMÁð°F:zr(w°ã{µ^ãQ�v×0„,² û!^]âA;O—ˆ è W-‹^›~D†Øe”'wÉœsåÇÆˆ8Ù ‰™Î¼Vk=˜6-b$É‘(ǘ¤8–;ò–—’©Û� ä+ŸÎ4U25¦×J´Æ�¬-KB²péè1õVXn_ï Mu§ˆÂ»ÖÞX±ÇN|°O•ZH¾¦ó¢ß-·R¢Y.çj zpzzPZ–ÉaãØ¶t‘aÍ+†›s=ßt9ª-¶Éš–]шæZÖè[½ðÊ7Ñé×­CL «—¶¦‹sÍDI«»Ú„ŒÐV¹FÞQea»˜0ÔTô†·­|pSåë×4ªlšâÇqˆ¹÷É#:¬:�Iàù𫆱�acÚÚŸ¥�¸(žÊ†9×ö�Ð|­ÆP\GvVO;Û|9§Uz}…ôhäÿÒOÙÍ@C³P�ëÂÓžA§Ý ¼Ø J†E/\úQY#¦¤û¯¯bBœZicÀâ'ÜhÎâ•H»>—p„œg˜Éˆä†ÆU…©YÇZÎÔW¹õ“�AðF¨©€…�pÒÆþ*¯PiD ÷K÷àgå<»þj‡š}Ðüj•0HNH£»<¥´}*\gÑ“½ çÈùîTä¨II7Þ<ò€ä ¤(zœ¨óUÜák#ÄÇ!~ óõOvV6¢@+ÇþBަŒFxàÆyê(_HGf4·Ž RP|ùÍNÙžãbpI÷ŠQí,¥k³VH{T}åQð0NáŸN•K~–ä$ëoxàÆT8Ï?¼UÞßêé~P'ÝÅ jßcœîð¯?º¡cApº®ãf’ËMÍ÷ä&;ä,¨d+# Õ»(ϱ»ž¬~�XÕ�\ØÏ_àôðšÙ{)AX>G_p¢M¤[’\I¦7æ¶»?âð« ¯³þ!? °£ÈmÿÅšç>Ó0­kp:ƒƒÏ䦺1ÿÅšçnÑÎ5µËJÇøCqOr;þ…½ñîú…@Þ;°>qÜUœþê Ö‘¢ÉšÀ˜Ûn4…÷ª ä yÑ¢¾à)C'ËãY‡mó¦Á‚ð�SJ[Á )H$¤¥Yùp(U ¼ "Õ&Ì% Ãc´iûc¡¶“(JR6�H=戦î‰(¸R”–Ò�8 VÔÏ8ÉUé{©ŸvŸq¸Il¸l÷«Â)PÆGô£—»}ÊüQíqêœ9ÈRH#óÈ£/Aš‹„kn,¨«~lv{ÕKq•’œ’IÈ#'ý¬SÉnÑ—|1ÜpØ„±¸‘Îzt£ë6•³"×k°ÔûnæCåç|¶¥D�ÆG–(†5º=ªâˆñÙ‡ r hCh@¨|º`¦¸fFÚ¬ÿ)'œCu€Fä4ã{O>xéëMéëݱ›˜Uò$¥Æ'?Õ–¤üAùßX«îÚ˜T}pú8RC ‚:Tª^ðS�¬cŒŠ¶Çf`U ^VÉe¾Â�nõo’™Ì…2ʤ‡T¯š}ÄP¦¶»=n�7O=ot-÷ž’W‡‡•`vÒ>š�Ù¼Év»úg7 ÇBZñ’6�ÞœÿΟí0Ý.šº1y1ЧšH@J‰ÂwgßUZdÊvW_™ð5ãq§çz»ìÖ×Ýõ]=mº”ÊÈ#=B¾®�9£ŽÞ®­µ§[Ž™¯ÃT‡Ò�@ÎàOÀtúqY÷fÛôv¤LÛÄè¬Gp­­x%CŒ�žœyô«ÞÞ”äë=šøÃÈq�ià§”¨+'ÿ)©^ìÄe:(ØÒÆ›�lƒþú[aÔK ÀJTr½ƒò•èO�ÀÕñXw¾Lg£Ú#v0´y�<žϿ˭HÐ^Û<÷×I�©ØëÝìèy%X< Ät¿áVººf˜²YÅ®ÜÄ'¦w`¥ Z�œòT¯_§5YèƒI*ãi§èúÃäp¹¹=ŠÓ@v·ÛdMªå-e(p–œZJ‚Rqáãž¹ò«ÍE®âêVaÛ-‹jrœQS‹B‰îPŸÊ9zV 䦗ILH«y*ÈJмôàV#n%rW™R�mÖR6�9 žž˜¨›ì¡–;4ñðýTä¨�AÎ7`ýBŸGBy 7À ÿ\Ôd¡%Ç´¯<p©ÊPGû`û©0ê²oªåOé(qÚÿÂŒãûë¬Ã8Åk?Ò +“;Hb3-•ºìD�÷×KZv+{µ¹ËZüY1ó‹qŠYƒÇJÔÂö²çmdÀù¥-`¹*Öݪ]Ÿ¢íÖÒžð{twrŸ ÊŠ T�Þú©¾jYPïDê5i�¹‚ëyq¢,$áCzŽzTtiýi§„XÑ-Ñnm6óo¥Ääø“’FAÇ4Vö�Ôwµ¹«u4ËbnH%A =é*ä§Œ™Ïº¨Ó:„ÒHàQº˜kÞàÖDëè·_«unªÔJ ¤ ë QeÒTÚá)¾§Ÿ…ö{2e›³›mÚcJ¹J¼Ë}Ò^Þí(J‰ò>MôÕ]Âñû‘Ý—r±… �_Ýšº½Íj/fÚi†ái>Ø� JIiæÓœz—Äè0çRÃÐ�æ9À}øøl©RK] \�˜½¢öòóRnv[VµÑ’5 ¦Ú–åÇB–@N»FVÙõ}Y°ÛE…kÖñí(ISo:… Ÿ6”Á?î‘] ý•dЮCšâÛ‹ZðPF 8ê0‘åçB=œÛíîkx—‡Â‚!ZRr„(:°3ÿé£÷Ð:)ÙJjbc®ØìF·¶›_½_ª�õN†G¶Îv‡†ŠŸ¶M,¸ oºÞ–DuHa*%[T’�>€‚�ù¦¼v¡jn-†ëfãé™ìày„ü«|uÁP<ç ê�CoÕºZ-çÙÒËp®A·ÑçÜ86+>™C�X¨½–7j¼é;ŽŠÔm%÷lS�pw ÚóŒÓÄŸïT”Õ³ÅIžk݆ÎHÿƒàŸQI“L·aÿ6+<:NDk5šýu¸û3^Ì…¸žð…¥¼’Ž|†01WHíè»t´iÈÚË,¸ãޏÖR”¥$’OQ€=jÛµ«ŒDh«”4#ske´¶âU”¤„Œ'èºrólî,Ò›uö ¥¥aY$ÑF�ÓÒ�ÓQP%ˆÎ©²VZñã9Æ ÷U\îÌÙy·¤Iº\%HÚ¢�U´)Xàb¡ufÀ–WÁ¼�2�ú�S€sXŠí6\[>žÓPøHr }Mã;U�Ÿ¬“õVzÝâÕ,0—Nõ£ŒŸ�E××›�Úò•Ü£.2ã2˜éiI ¤$c¡õ9?M3¡-"ûª!@R ÙS›ž?‹O*øqÇÓ[§±’z×Ñ ¤Æªi[‘€^äÜ�uÝjZbód:Žæ¶ÈT‡KL…uÜR”Œ}j¬Ú=ý´GJ]a°0T0hÿYöosu³NIi6̇7W…c<‚sž§¯LÐ� ªcÊLw-.�ÇÁÞH³ýÅ…ÆžMêc8L„…çÉi#øÐXqiñ%D| Ifë5¤ã¾*OšT3\t-;„è1y#ö\æøßì�>í¥Ä ÉPõI‡×N‡[p…)ÒÉVÞ¾„Y¼¶Hï¡¶Oç7á5{m¼$©§–ööÿ‡’=Ã�EV–´hÚ?H* ±”ykôú¢Æíì±cbå!Òð{;HJ– Æ@Ï„õ9÷yÖ±`�jF–·HS 7Þ²7§iÎ= '÷šÉâ\жí1¢îKjÞ§±É#€8‘Ç™}!Ô;–”ʲs‘�´1å€qô ®ë3`‹ÒÏ>!¤�ã^Sð#%´6XN{¾„îUYJŽîTG‡ øŒP†ŒF%,#8ã4a+ÃÁ·‘ýáÅ ©7yBªÑÔ9·½Š‹�¬‚£Œàg7«F=Ÿ’WÈú(•e^Ì6Œr:Ðέ, qåPÇíý’ Yr.lŸ3ŸàkcìŸû ž"¬¿œŸî¦±»>~é±´ä�Ø=$ÖËÙgöWHA {°(�îGr[ûcÞ¶»?âSV]füBjÆŽ )·ÿk�;HÖ÷ï§ü"º-ÿÅšç^ÑQ»[ܱ׼NsýÄÐÜSÜŽÿ¡Dð¯|{¾¡#vÕdãŸ3YôŠYEž0ŒËH'ýÅÖ¾Œ†¹äõ÷f²?éÒ�³Å 9"BU�O èe¾j)[îŠ ìÃJê]Cnº}ŲJžÂÒ[í²§Ò� ÆÎN?y©òô&»Ó;o²tÄу¯¸¸ªB[^dúÖ»ý¹Û»+Ô— m j╼µ6T Žìd!#ç+§×F�£[îÉìcX]A‰e™nï£ÆxfJÖTŒ¸áòÎ>hõ£Žõ2¡ñS®f.ÛwòX%ãZB…Ùà¶[¥·"ZwŒ,¥yʺqŽ�hÁy¹'Sĺ\.Ï%m¨ÉtNÐ1À=~Žj¨­+ian)!H Qëôâ¡Æ2v4ÚIå9YþTæÆU!qºÚœFópUÂæû·9 FÖöÄXG À<'sð©3Ú±#ÙÌ=/5{P7-‚œŸ2˜çÝP;!T™ûŒIR½¢RRi K„ zù— ˜ÈÊ|ºÖ^ãRn®KŒú€»AYR'$SÉú½Ô-lzLy-IÜ´(¨- �AëWÚ¢û*ã.#ÎG�æZÚ—IñŒ’ õêjÇDXtPÅVÛÿPiËóˆUSæ{HZœh—Pr”pŽƒ OAÒ¯­:Ár,ƒJÞc6mÎì?’VÏR•z<³ŒÐ짤K}÷ž S«•!!9Æ=)ˆji&-•9*Äó€ò©wP‡ðAüíWw —-=-¸�Ë0ë{R·#£.cý°2¡ÓÏûèL¸û�¯RœZºÏZ6Õ-[æÛ&$‚›l` ÓòÁGm)óDŒúcÒšnÆÍÎ{”;Àe…·‰óá=ÊÇÎðz��q’5¢çŠšX_#²°Ü �‹°ä�’ˆþçU…~¯_ÝW1†®€”­Ç®q„üÓåÔþêœ�3oî�Êå\PÐÊ”Œ4ƒð*äýTþ‘fÔVõʼnܸ—HÛÞ•+O»žî’'åü)(i�lú]ÍþG‚Õ§óken6òVžíM’Nç95auÔªïm§].Ó!ìݰ…m) ÉÀämRO>DT½lTÝYkŠ¦Ð ô¦Ñ‡žT1�zŠÖuV™„‹þúÞÃcµ)§Ö¥÷Š*Lb´m JH'>&Š˜I9ˆî[¿Hñ1KZÆšã`nEÎë�ý­®?,p>5·YÁ0ú½õ�ĉ¶KJÈP5°YÔ~ç²�ä1ë�šš—¥ŽÍQqþTäðUŒ€“„� SÉ(ãÈ÷¸S)!ECvyŽ�)ô‚@ÁJ“Ýø}ÜzWºÉ¿eÎ=©Kb/m–·$¨— *'„…-À+¢u%͆´”[k¿”󴌜b¹súF£v¼l¨ŒûƺkFv·v±";sÛ]Á1Q±•(‚R=9£u,žJ0Ø=¢8ª˜|ðCR_>ÃQÞµF¯ÖMÊï.q[-üä­À“¸cßQß½·¥ke÷a¨ñ3gõpOA¿¦~�^5¦�¸Ü¥Ï‘`–’âœVÇÂS¸óÀøÑ ïµÛUÇC/L+È`¶”€S´‚0sî*l ­,èÁ7ö¯m;¹­=+u�| ðßU§éom¶5v’‡Ã µ„)~÷tJO–9*ú*ÇL\ÅÒ̹* —!Þí)HnãŽ=ý~šäè×(mÝã:ìWÜ€ÛÉqÖ7à¸�F@=GÅÌíNBßqq-ïÄmJ-·' NßJ!]‚õš6Áƒr‘¿�$Ÿh¬}Là›òðù-×VÞÔëq“UJÃ�S7±ýUD€rqž:Õ}¹A6ÈÛNOtŸà*}ùDD>‡#éÅUÛˆû�uù$DhµºŠh¥©[pE2X‰)ð©m‡áG8?º¾:¤ààzSm¨Å]|aÀ„!’¹§um.$¦a¦=ºbãÓ€$zäƒCÏ0û�B]Úêêÿ7¿IýP(ª;Šzn åh_­B»Âmæ„–òäâ²´bŸ¥1LÁrH½¸ÿ�Â-3¤Ëž3ÃežêKL©ÑטðJ-r§À>E@�NéÛU§NåôDb3®'jÝJz�LùQèÚ U×Èã­EZp“‚<ÇZÕÓÄÈ[•‚Á ’w¼ÝÊT[¤WÊC2Ypä§ X&�’’ês¶…®º~Ý9;¶�ë¹"‡_µjr¿©O•³È%Ó�ª¬´ &ºLÚÙÍ„•|êªdT8ÙCí6â?5iPñ½êˆÜ:ç|?û�ƒKï¾`ðÊ·¶¯zIOÛOÊî Íxâ¡j�;e6¹rZ·¡·ÛiJAk)ä8VV’0Fk_sQÀ}=ä €¡CÎY4¤·76ë‘T|� ~ñŠ‘¤�Ò Š�×ßK ©j€=Ã?åOÅZÛSjRV“”�qƒZ&›Ó–Ûtó-™©”à7Èðç¯O:�µÛÕpy"3i^G |½Õòµ¡Âðù*ä-fà(Zr.©žˆ’�õÁvðöÂâ^8ä€3×£û�Þ|†¦¿9’ FŨóûýÿ¾Œû·¦?gO¡§’É3•Ýî!!dlÊJºþPŸ3T]¿,¹sµ„²´¶†ص6S¸sŒò@9úbªU4tYÂÑú;3áÄ:›À±&縒Ð2[”ë®3� „’F9ÿF‹îäÕ�“´g뀻*á—ÕŽC™óàV�7ñ.dd‚ž?Ú‚Ênn§ÄZ[ Ôw†# §¨yòŽØ².lž )?á5°öUŸc^F>\ÿDhÿp;• ßÛõ¶Y¿š±ªë7âV4qM¿ø³\çÚ6N¸º3ò‰Ïì èÇÿkœ{GÜuÅÌþkƒ¨šŠ{‘ßô(žï�wÔ*&C)N<ž¼ùÖ]Û¼GeZ£„¡\II8þêëS`«»Â••gŒ|i¹1›�£ÞaI‘Aà“¢xu¶Fg�¤imÖ¡{A»èÝ2í†5¢Ù23ò½©FQp”«`FŧŒTíCÚÞ£ºY'Ú~÷ì±›ŸQœu¾ÿxA àop�!åZ›–x¥âTÚS‚1ǸWÇ,Ñv(©´�!ÓʉþªöüÐÿÓܹsž˜…jDÇN ‹!Øêl„&:ÆB�Ÿ_*º±[4l{#~Ý&J§I H/2 –žJ6ƒ•`u#¹›ŠÎ{V�x¸ße_å†]…½,Åy¢6­°ÓÇŸük¡�¦ I^[AÁ÷~êû;O.eS­ÏCï9O~Â�O»#šã+ìseIÔze½—&ÇCN0Q’ÎqÒ¬�}—Ójhá9#Ï�/õÖº…Ûm¼Âp÷hHàç\e»Lu©Ç›†áa´%Çî‰JA8œ`xøÔ‡ûT}DüK–ÒCŠ)3ÓÝM>×$¨…dy êèvè Vv·ó°8àT„Û o#»GAž:×?R y¢<×\B˜ÈôêkÝ®M¾;É\¨êu ä§ß]„Ýž3î÷qâ)×NÖÓ¸í$ày ú 5á›\¥@6ÞqéÒ�ú˜·³ó\ešë‡|—6JÔ‹ºBûŸi´:”œµ`&¢éXÁÖVïjNÕ¸²w’@éÐ sçÿ>¨nËÿ¢ÙäuáN±c„”Ý ŽsÅC×Û”µ­µÕìÒY4†å¤[ [2[qÖÖÊÒ´­¥mX ‚>]*TÝEv–܃.ísu÷ØS.:_)-í#§MÙ8ÏC�}9d‰ß’op ·�ÅG6X^ ²€Jº`gΪETø[•§Nän³¤®”K5=ÈÓÛ?eœ2e²�+µ«Z-Ès€GÕQ¡Úcµ—Ò0sжP ¤`}µp²�ÄÿP‘¯É–ÂÛßè†À;•ŽxÏùÔ´£rr”œl(tTD¨’  88Èøò« xòO—‡Ü)�Ý ~Ëš»[~$Ümî{#QÛußPÛ½Ï!ÖŽ#v‡ÙlxÊaN²pâ–—mVOˆ¨ - ãÅŽ½šÔ§Û˜}hïR2Tã¯*2ì�†ÿ�@g(Ì8˜��¹víC]HK‰soÚ‹KêW¬©ÓIPò_Rc÷Ey))'À�z/*7ìVöscì·îf£—kƒyûªëê\»!–§#–Д¤/b‚|@Ÿ<Ó“[:,qžy,F…ß<±”¡¶Ê”®=æ™~Ï ’¦dEî^A!Hq*O`Ôß©i|ª.©ë{HHëîÉ÷¨'UØHØGÿ(‘Çuô‘çÓŠ°¢v"-éeZ†Ðd‡R¾ûïT`§f J{®›¹õò©âÛn- c¯‡ýš‘2Ó § Åî]Bˆ[kFÒ’<ˆ<ƒ\˜"ù~k¦ŒƒlÈi¢vJˆ ´u6ŸT„“½åiw 'Øó úüéAí²6™)“©ìo¹í ¬(i-£º·#מRsîò«‘j‹!a˜ñƒŽ¸BP†Ñ¹J'Œ9'5ðZíç€Ó`�QÐÓUç’wQ?«‹Ú/c‰ ZžÔⶬ £I„ã)!$ŽëªN¿ÐWÁÚ?dL�šžÎJö†Š´�;0¤’xlgp à®9ÕÚtã‚!š‹$Ó^Ñìªî±Ð�ØÆ*3vûnï$ûºSŽ'mÙùä¸(ÉÙÊ¡ÞÑû&,a½YiK¼øÎ‘Ic¦;¿^zùb¾Éí+²bˆÝΧµ4”‡ü¨ tøwsÝñœŸœ}ýÇŒžï0Ô;ãòYhü ä ¼sÈ#�0E=;Nª aS¬ò¡6²R"2›Ü}Û€¥úžžÇç’çTá™ Çí3²fâ-·5U¥ÇÔ¤áÒC ØRGÃ2×Ú�bì°Ð�|�!i|­e½3´-Nø¾:(gý¬úUÃv›r”‚¦ÐÆx÷ÔÆ4îcªhµÈr Q=úc«»<ø±Ži K6�Ÿ?ð‘¤-þåÍZQèSµn¬›mA‘rqèØFÁݩŔá>\Ç•Ze‰”Ø\y%€ëJe%A·ó…yŒd{úÖÇÙkV@m¾:ð:Sßq ­i e¿¨U¼™úv›«¦Æ¢f0ù¡ÌÑÇ5¸ß‘YMïR\n–&-+�”ÇC¨yLµ –P§6«yðyQ}9¯ºµ*üž'÷ŠÒ§Xá‡Õ†P<9'nqÀ§ [˜Ž¿@¾�* ¥t�Ìór;¬ÅàŠ…ô�C”?ý×ú*6C#ÃŽ£9¯@�h#‚vŽ1×­&±Ý%ióÇ_Jð’ ê Vp�1Ójº eú…9„•u8¥Q&lxÐã2§RݧpzsE.)!*‡×ßüjªãiŒêCŠm;·s‘Vé§è¯¢¥WIÖµ•9Ÿg‡Ps廥<Ûíê?XU¼[5¸2ß©¨s¬�BÀ €ŸOy«F¹£‚0’M³|¿Ê³Ó³#T…Èi'wšÅIö˜mH\w$ÇSkÉOÊ |(\Øâ+ 6�JxÏQR~áà Jû„Žvœ'΂OJɤ{ïlßÏ4I”ÎcÛì¥]  ÈŽR¡á;żó-8G~Ö|ðàéVr4øv³·<äf�ï_n9-£Žr¡À¨-ÛíäƒÁ í3Ò‹CTè˜ýO=®©? $µÖP×">x�×_Ï‘!‚ C‰Qò9T™VˆÁ°ÿ²žä«»…@Sž™ƒ�B*;ö˜þÏí"2»�۲߀¨`íÎ:àƒ�x©ºøÚš0‚¿åþW€ë‚Êïâ¢I·Ù$«m´«<àô©ñíå:–¢ÄT‡U”¡¶ÐT¥|äñ_cÙ“!¶×ÜûÉyÂÛE¶J·¬ ”§N8ó]�öjáÁíýÿ/ò¨ei{;¤Ém9 Š®{HÆVCrY>ž!G?{ë“nU¢W·ÄfWz®3Âq» '¥@vÕ J- 䌜cTó‰–îÔæa9¶Ëü —4�F d5“Ó KrŒ¨s\Œ¥…–ð7œñZÔk4\�Í5Ôá÷WµY¡øAm°3é×�ÝUª+DíÖG°'"gKl×¶Ü|P—Ösì6Ñ*æ%êœ=Ô²ØÉÚ:pp“Ïž}ÕWjiz’Dwæ*JÜe*N_�]à« �€:{ú֚ݚ'ˆwHhüž�j\{,>�¤Ž1ÊqQu—å'DY˜•$U&¥´Þ½É¾cÇÂÈ7²¦÷C’æ8ï6ò8ÎÎ,¹âÉ9çÌ�:÷#QÙ! N<€æ –* Hã>[…Wyº<ÝbwKkf7²imærBýÜã õª‹Ô/mu„•á ÜTzõÆ1VÊ„�ÓÏàÔg1¸`cŽh–MN!RTßä @½"«–� –h�œ-oõU1íi‹9—Úp” …uèkL줓ìŒX8@ ~|ºühã²®"83Ÿ—?ÀQÌZŽLM­„XÞÞ$}, ¾zÜ%Ï�×!ö¿e�ú­¶Íø„Õ�WY¿𱦩Óoþ,×9ö‰Æ·ºàw©çÓÀšèÇÿkœ»Ik{žÞ ZHÀÿdPÜSÜŽÿ¡DðŸ|{¾¡Q'wˆ“‚O‹Ÿm8‚¥©XOI}ù¦Y %)‚y'çþtò9XH8õ玴èñM?¸¼@#$…ù£hè}kÚÉ ãÂIHÇμ>¤¢PNÏ9è<#믎�ÜrBHéH®€½«”’<žÀWÈç.(`g~1ó¼ëÙHÎÒG©óÿ…7IÞ¬;ߣü©%ÁXÙ^b£·Ì˜€c1)§ÀÝáJ�'ßVqâ©»·ý3©í—îH~C1U-.¡å†–P¥)~É% o|‚S%(%Yã>\Ôyš/´J@ã8Uˆ§È,B©,9Íî‹‹:uwèOÜF¡Jn2ÒúœŽà`°àîÔ‘¿$†ö,```�Q™�l‘jˆÝÊU¸Ã]¶ØÓͰ[C‡d¤—ÒRœ/!<óå’<ê…è�˜N‚8þíEj3]â¸�ŸZ—®[ûTBŽüQhoOϾ¹j’ÍšÞÃÍn”Ë�; O‰¶Ð„7¼`eG)ÝÍyiË$ý=q�[µG“1ßeL´¸î‚Ó`»pAJyÁ‘CQØkg 8 õ© FmNŒ'$àŸ‡5ηþÔ�-¿¹ÌvÀõÒ~Ö¬m0ÅÂcq‹Ii)S&…�œ;Ð�¤ç€<…DÔ,Ú¥ÙnØå±s#ºÀ iÖ÷¼Ò™ñ¨¤¬÷ƒ(©C¯Š§r3\xzä òiG€qÏGZOªÌÒ2î“)²¸ì¤Æ'jR¼ùg?Ré´qÉWü醎Vœž‹O?@© �€Oˆò~5QY)¬œña@ý$•4xsjÐó‘œ{þ5!À ;O¦F: ÿÆ£aÁ€}xëÐ× èO6Ÿ“Z@rx)ñ^”’ ã“é^r�Šëǧ?UzY!ó�,Ò຾3žR¡�_¨UŒ|uÆóóòªÆ6ø¶ž3ÏÔ*Á¥ªrx?ººÔǯNÅä7`{©,r®�z|i§Ýl¼Ò°çÍN1ž¾Uíõp¼çè:ž)Ö*+©—Owu‹ímC“.0C¸æÄ‚J”‚¯ÉÜ�FOì4¥mJ¹Znи©S³•²˜Þ.ñRøR‡‡‘Î3¶ªž)XP p<ÿ…|îî’œd«Ïj9‹@Ù@øƒ�ﺛ9Ë!„äx�[{¥[¦­-(ïÉ�²À*> ­›xêAç½i6G�ÂG\z ãêï°]e/j¾�2Ý ´KEÍ*ŠÄ%5r pm8¶á<U”ŽœÓÖe®Çn¶ÚZºØŸ›í3_p.QTu6ã(l6§QóT­ªÁÈÇÅ­–»´‚HPÇïú«àBp¤Œ)$¨ã§ÃÒ¸Ú«mù§Ù9Ô¹€F1$Z,÷7/)¼­‡ãÚѦ™’'˜®­Åe-¤î@lyÂK�OJÕ ÃN©¸;my·aIX�ÉAjVöŸBœ”‘ê1Mû;a´g�ÿ:eÀ–Öp’O!DŽy'“U—Uü¯\28â¸WX.W×Fa¥# òN1ÀÇùÔ%çvsÁ©‹Vb¶Hñž=<ê½q€y£¾ŒÿªEãÿ³þ–ÿ£Íÿ·þM_9ò£ŽË³¼8âA¯�Ž1Íö[€Ëà?¬¿ÝMôƒýUŸö}\³þŠÿ£Iÿä?ñjÛl߈MXÕu—ñ øU�SDÓoþ,×8ö“¸ë‹ˆß�¼}<º9ÿÅšçÒs÷ñr>ei 'ËšŠ{‘ßô(žï�wÔ*&·�Üàg®<©Ä)@¬©Yã>\SlÉIGŠÖWYPT'q8$ó�ͦ§}L­‰›”f¢vÁ{ö‰÷dnJÒs×#¯}éדÝ’’SÓ'Â>ŠËÔ·b²w5Ïû'Ó´Ûš¢ô[+iIIûháôb»³Í�Röù-h¼žìdøz‘ççõSPÞjÊ“ó²>ªÊ‘ª/Ž(!°…­D`IúêÕC^Å·®s–Y-FBTâœ[ NÔ€I'' `QIèõTvÎZ;Ê�ctîÚþKOmѼá@Jøò‡xÚ’RRŸ?AÓüëF²¾$äs׿Ÿ¶¾«Y_FKüÃ×ë©éŠÞÏ4Ï×)»|–ÒóÿÕ�ÚF$ð>o/p8ʲ5kâšSjîvœ~Iòú}Õóï®ôAd¸}®<šC¥ü–Çô¨¥m‚ƒÊsÍN%”nzZÄZÕ—¼øK#’~aóújb5}ñJÊ‹9Ï]‡í®�F+vÓÍ1Øõ/o’ØÖðPNˆ|qQ^u;•ã éÎ}Þu”ýôß6ïl½§PÝÝ$­Äe\&—ý-]Èy¦ÿÔƒŸ’ÖÙu½á;³ÊrI÷ Óì¼�¢wžƒ<|+'Mòð´Ûí¥’TŒŒûÆFk:Ôýªký;t\ q­GsnÚ´Ÿ1ã¨gô~®œ< w§Å�SLlÒºuo6\VJy¡<ðï‘´¤œ×,ŽÛõ’‰W³Úϯȹüõ`çi}¤7fMùËL$@Z¶¥òÊÂI÷ ùÇ¿¥S8l½ŠËq×O0èRHίúâžÿªHW_<õ®\Ó³jɺŽÙL{gs"[L¸RÒ÷mRÀ8ñõÅt仿¥u$ ­=3à¶eb–Í«SÈÛ‚¿,“�uNÉÜ0G#�ôÕr9R³»ç ùç�SP°ÉGúâ™3éž.¾¼³¹##ç#4Û¯xTA)ãšÌ;Zíë¥5#è!>‡#ÊžJ‰­iÀ‡æŠ{³ûæ½ÕÑÌÆlöôCÎ7„,nøx¨Ìô1QRõª—†³™Béäš²nŠsßaâV„…üª³Èøû©Íùã<ƒŽ¾U“ê=e­m÷ñk�b�5Å’†ã¸µ«à®”ÅÏWv£mŒ‰St‹ 6µ„ 0âˆQ8€²A==jÄOdd�³¶×_$ʳYK3¢‘šŽZŽõ®— \qI ôãè»ÓÀž•˜[/Ý¡IeRn6Ë5•¶º-¾Ú–qÎÔ‚TqæqR%]ûG B­öí?r`Œ‰ :¤ 0{ŤƒÓ‚)†–�<°ÌÛ÷ýv\µy�¤¼ì�ž ç‘åÉ4è^A*>]}k;jãÚrã—³Øãð4„¼éÕ‘°…�¯>‡¨¯¶ùý¦ÈiÇŸ¶iø1Úd<ã’QØ0 Pµ(¸pSHÒR ÞféÚ«�­×±h-9×”òxæ½n=à<`c4äíU„ªMÇN—WÈi¨ñd¸V9ÛÔŒ€:ôâªcÞ{NyöÚjË`qçT”‘%*Z2q•$:H<úyÓb¦£–ùfnœÍ¿•$±â1jè\<¤‡ ?8Ÿ/>+Úœ;°H§Zιö†S%Å &†£~9eÇTJ‚@ÂI<ŸAåUòõ7j È}¶´ÄI�²ál?+ÊC˜êS•GÑRGGK#²¶f“Þ£“¯Æ.øHË[Kçvr3�Ÿ&Ÿmì£çÅsÕõÍ[R£Ë´Û˜y?9·Xu*WS4ÏmRÕueøD«r(RVÞ+ $‡mø3™�jºk~åS­Ì]–Öñ[Øx(à(`ÇùÒqÓ½>cš~Ýn�<0¸O­ôÈJK*B� èAÇŸ9Í+# •mÇŸ´7Y(qÌ> ‰¯u·³ ·z¾êzÆ›(¿û‚˜æ%,ð2_pé 9<‚qÅ^=¤�N­i¸9�Þ==j¢áîzö(� È=FzŠáÄ)�+bÊö— Í#_b1;Z^ëXob ðƒáYëÈÇ﯉^¡À° �Ty ÷óÅ1)Ô§äçéi¹¯wM©ù¼ƒŒ`b²çõ%êé*Lh*a·PòÛl8´‘ÉÏZMfarl¬A“¸¶1rü–¹ öÞƒ$|*÷‘Þ¤•§;qñäÕgÖ�Ky�"ÛvR¡Éi°â€¡Ž:çý ŸrÓWl%^.%‡Jv²ØÀïy�O©>àj»ê"k‹o·aHÀæ÷4¾ëÛ¯ wséŸq«Hï£8ãéëÿ Í®oL‰n�w�äXïû+*e×R2³ýÐúè)]¤Þ’éi ŠNrP¬ÿ+‡a²WÑ㢭<Ý-”� íà·››èGvläƒåÏ5~TxT?ˆÿ�bnö…¨œP*öb:!_ÍL}|ï0?Ý?m>ˆâžj“qhâ·9n$dnI;AÈò ÇS» úcµ��wVy�ƒŽ©W—ÓQ$ö‰rŒ÷ʼÇxG !Dÿdž‰×F3?(éÍÅ¡íò[xxa)+H õxô¤·P’°BG„w¼~úÄ"ö‡r“ø·ã•g¡AêÍIV¸½’cœÿ²~ÚLôN¹ã3r‘ÞºqhF÷ò[‡z”øPR1áäóP]xI Éxó¬}Zæö¡É޹íªû¾»Ô,°§ØLu¬�R¬æz×%ôR¾6¸ Ô›‹Au»´òHNå ckêÞâv© dƒ�…cýšë´Ýî �¨]Tt¸°ß{„†Ï‘!YàÖçDƘ㙻Éa 6§œu×P”%)’vôÅgkãu ¬ŠV›¿Ù°¸=ݼ¿O+gc¤iÐoØ¡Fy#¾¹)çãR£¾Ž<@{ÁÏ•8�'`Hp}ûÂPÇýu:áñõÔˆzBÙ!Ä·VG–£ÈC2RáÇ®:{ýâ�ÐÎÑsÿýJoKŽ�i¦”7gw'ŒûÍSÍ^çR‚£�§ óÉÿ•?q?s'®N)Ä¥°æ\#9* ôÒ¡)En¨‘å×>U$lŒnÅNÖ–¸ƒº–Aödò1Ï—¦?×¾ª.3QÆ‹™îÖ’ ŒU¹ 1P9Îxç¡Å ê¡à`à«!YøUÚ™)j,{�²©_Ie3à—ÙwÞêJ.�?1†#(,�ÊÚFÒkIì¿û;�?z|c¶-†æÆw~PãŸÉ5°vXsgiOËž>�E�_-up–]ím˜°Øpì<à í{ë¹+n²þ!5cUÖ_Ä&¬jú ›‘ø³\åÚBœâá·ÉC¨ãæŠèÙŠ5ν¡$«[ܽ7§>’(n)îGݽñîú„;ml$d€Hëûh;['t„'ŽzFÌ”¤)½£Ý�OùP†©o|ôàä£ÓßP`¾�½ZÆg'rT@OJ±‡§£¦Øåîû9»E•¯Ÿ)áˇó[OU«Ü)µ\ívÖ ÂêV¶Bû¶£6v¸û‡€�éñÈãÓ­º›¦µ¼*çªVìŠ(�jOââ'ȃ�xêG5¹¨Äd–N‚›~'—w3ò«DÑ$Ûp Ñ:êZŠâvojbÏxxž©OöAá#Ü?u[Ø—zÓVéßRꋽÅõ´äkl¤)Bs5œsÓËŽ• rš²CT³d~æò S(X-gÕ\g*šv ‘l»#Tj›»jVÛͶÜÒsÇ #¦SÁú:ú¯¦ iŒF\Nî"äö¾€pD)m'­œË—ÛŠ»±vs}‹Õ½—ÒÜb¬á qC’ã޼T’â8”èÞË�mG/¿b,6)`wçu2n•’›³0!2óê‘Ë—Ï#ŽGžœT{šš6ÛušÝ¦UÿQ™pRˆ H$l õäu«£ÚÔ¶fËœ­5!¥"8dHC�­ÄÑ-£8©ã©ëÒªbkÖm±‘*&ž»ÛW)En8˜Áo¼8jÉ!±“ޤž•ñzÉ­x«¨±ÜöÛ…¾i%�×8æ~ëíª¶Ýpuý@{¸Ð�§^`c¼YHÈl¹'ša¥]¯¦n£›jL&$¿½ ²Ùe'„…™>gÌŸ}Mƒª.O_'kmCqÚ%*bQ¼„%! +Ï'©¯ícy~Õ1©p›³éÉ��c/nY¾R�UúëVd®­dÂn„—e×A}ÀævüÞ‹h¢|yD‚Ä›x6Ô^:SíE•WiÔqeHjØ×tãÀà»Þ-+?Þ sÏZ6´Y.SíF狌— kZBH89_ëš=M‹C0¹õ{Õ:Œ*x]—ÚîÕT³dq^/z.¸µI¶+kSl»ò>bÆ8?잇è>Un–6,¥\qG�™[�b]nN)”²XaO9±*pò~�õÓ1IØ)ë®aôï5 m—:öM¢¤@›9©¶¶Ñpe³ôLm$¥Å-A%¼% Jpä�¯!DwÛ4QÚÜë;�´ƒ‚� Ch#�¸Æ:yãŠÙu¶Ž¼@³Ì™du™WÂ’¦^|ï;”œŒðI>uϺ§µù,Z„í¿Ùï GrÈ�¶ •#xÏ\½sž=õ’§Êù:CÈétzPèÜbݤïm´±·þ=ga,kX)QXŽqŽÌa´CÈùá!*žrR<뢭<@cqé�>œW$µ®nÚ�VÙã¼–bÆrèÓŽ4È>5)ä)D’Iä¥ÑŒñäŸ*ˆÁ>Öß„g½OOLŠ–òJœÊ‡Ep|ú£J=`¬V›4®~þ��©îС6”)eP$dŸ•s ­·²ÝO«# Da-GŠÐl„Œc‰èj)‚ʵ‚ç5dzå,DiÃEiACÛÛ#ƒ…¨œÐ'l7YšwV¦Û%N¦ÕÛ³-à†$œ@Çš|ªÇ¤4ô‘� …žè^ç@I¶Ý¨TPIIjs{[Év£t³9q¶; Inl²û àœ²¿ÿ{mÚ!.Üüe­QîÞH*À#êÏ>b€m÷'æë;ËP|Œ0ð,wx99dsæ ZOÕûs¶®¢|ˆ[‹Ù )C‡Ì’€xÎq�} vü>iXsºÆöõ­©Òã–‹wèþ-š–GU [~"ÇO²µKÈu÷–� ©Nï>¹?åV7^í§åÅ@m-—™ä‡2ç¦UõW©º}6¸ G/ÁZ›p­ ?tb;�$a;²NÑCÂl”ÝWg¹ØîçÚqFb*=±ÇÉJ²¢S€@ÁOªª(¨ç˜1¤�¯Ï~hÛ±úHIm|8{¬l‰g¬ÛüfâPÃŒ>ÚVrP¥œ||_ùj¾Ý~“/[Ül¡Â¤›L‡æ«=帑ðJSôn5˸̽fñ!*A”ô™ÄD;�2\È  ’yÝð¯EÖ.°•¨"µ î‰ky¥F·ÎCŽ 8‚ÚAéÐ�3Ò‰ÐayÙ#§õ mí©áÝ}wA1oH!=p;1ÎÜǰZçÏ_%nZ‘.3»\Wx„¶¬ eB~'è§û*¢³%ñL6"�‹-IÉ�§! qŒ`dôõȨ‰—{e˜�̱Ƶ¢*ËQÕpº¶…;ÕJJNäóîêiÛûrmVÇÝfj.w…´Ëе ’¥•©# €Tœ ôãŠi*.—¸â4ñ:j‹¿¢‘Ù™.P5"Û�­·!ut•5:{L¨¶ÚÜR‘Ѐ¬ãè U‹±›=ù3œW³²Ür¥î夭°¬�ƒž|½Ušª¹J¾E‹&;º ðâ\x¼·{ônBÆsÐ(€rsŸuAkXÁ(s}ÁµIa-9æTáHC{Œ#�Ôc÷T¯Ã*ÄyÄzsòåtá�ÑT‘r†ºÛ�9lOqK¶¥\l±Ð ê›‚¥ÇE‚êÂFO<`ŠÏÔ• Ðu’c^îJ—áØöø ±œ«åTµ('ŽpWCbÓ)ØŠ’ˆÎ-”«j–HÞk×=§ˆaQgv½½¤è¼ƒÒ*“úœ®àN�««?¢jß¼vgl’ê‰]²â¨¤¨üæÁJÇ>à¬|vŸsÒ:>b­QtŒgæÈ�µµžDð®sŽ Uv¦ã[»,²éWïi·\ç-Éò™eý’†ôåyƒ°$Ÿ:!í7³×µÁ«”{™iØñ{”0èÊ ‚œ¬œ‚9çšÁ×AÕª*CêçuͶ6û«EÏèct£5†ÛiÃT?Ù°Ñ÷ËÅžÔtÌ&¯O¦B–ôl)–Ö�Å@dž©#é53_„¦÷9!8 �ËÂj³±ÈãèëݯTÜõ ¸4ËÂD- @ZÊ€!`þic¯�Yö€¶Ý»Ny§°e'NsáW? §Ž:'ÖR693úçøwÒÊjpöÃ6o‡êëCó“Å:ÞB�|ßõôSMà£*Ç#œWÔ/Ç�Ü/ÝUjG¬Q*[–Íøcpîœý5žè--2å¨Ëñ£»)¯lïi·sgy•c<ŒŒàÖ…z!PÔB~¢Ùõ曲i¶[� ÷/M¡HD™!(m·~hÎõò:ƒëUËžÐ2�këÍ{•èkYF\÷ H°ìþ»V�Yi€ÕÚ[˜Sî†@^çe<àŒEЛ¶ÉZ§Q 2ìwsqu(m^”ÖÝ…xI Úv¾FxÁó­õ‡h×®Ì5=ßS·ìN[†¦"¸Òš;]RF{¾ŠI©ÉùVsÙwi·k^®µ?(®SL© H[e*XäuòçßZ(ac£Œ‚5¬™¥Ï–Î õìºè«Ÿdn&ÂÕ«Ù—$wV¶É”#Í$gw ç'Ï�ÀÕ×G@Ó:Ü@}¨3•"‡Ð—¿jÑ‚ ú3]q®ÊWòܤ6°“…)YÛ\…©¦»S´¡sQ,¾ë±”´’OÊ §Ò²õ3ÊjÞÆœ 4íÆÃä´x3êpd7 "ÂÄî~A7>ßožÚaÊ�8t÷h— ²‚ÊÈ9$áI’OA=+ãº{L´…ÂM�‡•©�ëóÜ·–‘•lÁÚ;v‘R‰-ÐííÕ[íì# ~R{´¥ÀÀÜpL“ÆjK±îS®j¹B€‰¬Éur"¾†ƒ¨I^r¤+¢NÃÝÿQªÊÓ;(í6¿Ÿ%«“¡sìÌä 륯­¼MóKZd·E´¬®hg¼m×NÔÊIq_&¯ÍpŒô$é™�i(™×±§ÂUkl%ùN8•üâ |ÏZ—z†ËbÇ‘:+΄²ò¶¶ëŽ©Ç6¥gÃÀÈÉã9æ¾Ån\v\fZC®—OÊg'lwsçÔsM—ªš‡ÊHµÉâoã§—p\9‡;@$Úã�ÿ*÷´&˜’û U�´.cM:Ëëm,67¯>.ª'ƒŸ›ïÌ}+¥£d¸�¿-%\6,�Œ�’‚2f¬Ð™¦|÷ì¶›¬î=GCKDÑÑÈþ€Q‘*L4nŽ¢�ØÏ^Gü«¾?£Ãê¹i]5u¹(Ͷ„<…«yòçÀÖåϛߕHvR’Ëm¤d©eX|Iú ¤tý�î-�OĹ¡õXà´Øm’@[ˆáj*lj;±À<½jæ" �>¹MÇbÍÐ5Ç=´i:]Sö¿®¤Ù®7;-¦Ñi…ìùZf*:UÂã”í?¢ˆ»×ðõ}ÊD,ðcû=±·ý¥†Ò•,“µ@€9NqTzëBC¾7w”»ªâ\åµÝï�rÆ0¡œ$d+Å×ÝW}•i]  —:Ùz[’æEm—Â×–ÁHä c#*ç’i‘TÃÖ%±;FßáWl3¿@͹¯og›ê•ãQ;γ§ÿQU+ç Ã'c¥=©©G9ˆžGýᦹD €xêk'Eûfw-c½ã»ÔÜ�*<BIÇÃê¡­[�ˆäŒp³Ó¡â‰—ŸbIÏå ñÉàPέ)Ì`9 Àý^=Õv?l(ì•_bÿâ¬äð¹Ý5°öZG³»…nÐp~�Xí“‹‹#ûÀút5±v]ý•~œ¼NÀQ?ÜåB·öǽm¶_Ä&¬ª¶Ëø„Õ•@r?k�»CV5µÈòp´ý]#ñF¹×´_þu¸Œ„øÇ=$PÜSÜŽÿº%…{ãÝõy²3�½I=(jìÚä\ÊZBÜ^Õ� dQ3;�O äàúU\i ±~Þÿ�…€äÉä~ú§…<²©Ž )]–0ñXûV×n:å©×2Ø�0Ú±Žów$Ž?ˆéRµã¹mÕRœn:žr.0à­¥4ÐNAüž}*GjL³6ð·™6·”>ScÉPwý¢‘óOñ©¶F!\m&Ù:ÄÈbTu"d¸„Ëu N8AÈÏ9Î9Ç¿�‚fË]·@±'SJâèÚìúq¶ÃuO2ü¯eÓs 8µ&kéŽþIÀ¤ø°xN0©÷Wô[—‰1fjí¹ô'å í�>È IÁ<šbûk¶ÏOé¦nòSg})ÉPû¥4ØFÁ»gý`Qb¬j:šï{ƒqÓ‹‡pm€™qžl¡¤¡AIZqÔ:”•Ö•ÆÞ(k&–xÀn¤ì9ó#€à‚5V–1±\-ºÑÉ–ËÏx†žM¸4¦Ô�óBÕ¸œð�4ņÇo»8ÔîÒ`­Öv¶$ÄyHò#wº¬µr~æ#fö¨F¬Ï{GЈ»]á_$H‰&áoy·MÁ–;…>”(®#�®†1èEhUÿGG䯊†ºVÉbÕ%4”æÏ©ˆ2Ryt~бxôœ ÿΪãëh'åSÈ ³w!ÃåÏùT4žÒå²³ë¥üÙ;_Œ©WY‘mÂÖ…¸Ó_( ã˜àqœ dúÖ{&ôìÎÑîsôÜ#ÛË�9¨8T„‚µõùܬy‘NH6ßwZÇC-’«b2¤œ`wŽu÷Vkf¼·m¾@1ß!m<ŠI#)<+Ÿ0A#àkOSˆ>@ý^Ñ Ü‹qåØŸƒTDêV1Ìõƒ�œvÔìõ[ý­¸º™Ø8îEsbÔÓ‘û´’³Ý¨ÇÍ�/1Sõ—gV'bÊ’Òn-wQÖòˆ�}¬�26œŽ¼ãÊ›ìSL@‡«¹¸¤É�µ.)CåšWÍò>1�§Ï€|è¿\v§¢mvë�‚ÊÇ´]]B〠­Œ• d¨ðqžÏ§•Áéfë,®õ�ãq§.^%ÄêHc㙇/l²»••™s®Sa×�u–ÖÁG>54“’rܨsççŠm1g±6TFÐëoŀ͹§”Hñº¥8¥%^a-‚Œ�Z"�«ôõ–Äc˸¶‰NÇa°ÒZÜKi'8ãi=jó´ <¤9: ÌÄunC*IqÌ|™JqÏ<qÅjŸ‹=Æ(]ìÂÒãFÛM6;wºÁ²•áó9®µòðþàEü6äBªî%®Ç&Ød-ðìµ1ßïïPrz”Çkk…p‰}2¡iá,~õ…ÍöæÐ…6‚£¸µ�ê)àqÔ¤�:ÿ§¢iÖîî1-…³)Èí8Žøž2�ÞG -\qÒ˜¸ë{då¹<+¾Ù Þ’ôB”Gk '’IÉ<ùbªÕ×¾£4t±;)..Ðñkn,4ЃÏ}°2Hò:[ �2¸ës® …MOºî–j2“—LÂéõ £ŸŠuZB‡r·±pº¼ëË}˜Hi¥ô ¥m†ÏÑ�õT‘¯´ãf“æ´ˆíÿf„£âÌ‚·ÉI§¦ëëuÊ*¡ªÑy‹í%¾ñNDÛ@-*9 ’@ùQ#�>XdˆÒ<µÎ&öØÑê3²x¤ ¸¸ÞÇ·µ DÒëb#3Ó r°¶žSûR£¹[’†vsæT}( SN2µåMÛ_tJÒŸp�Ç•oqõ‘~[`_-=Ò*Bž #€3â#€•cº?³�U¯´…ãVYåÅ` �ˆì¸’W!A[•ƒÑ?;¯>”2³uy 5;‹hOª;t AèûÙD÷>fÛAÛsmwãÛÉ ²¢ÑÜÚŠê+IìsWăw�l¹°Ùt¸„£jD•ã†ÖO£š ìó²ÎÖux}ë}¡Æ#°µ!nOGr•,ŒŒ’_*ª•m¾ÛµsºZãk“õðÙm#pßÁ*XÁÏ¥ ¬£s¡-qÓ±·bÓœF’µ¥–õ¸\®¡¾v�¢!]YEæÛ¨ìSò¥2óJK‰BʼJÀ#vy|zT¨= Â™o°ö‡ÇPâ•ÜÍ eÇ7¨øT§@I#�‰8ãÌUPmÀ·³zi‡n¥¡±·Ð¤¤õÅOVˆÑâÇ%ÙvF�ØJ�|FÀ|9*À Ä�£5S¬ÀýøÙCKK9¦d�7¿/ü�»–›q´M~ÚÝÓÙã¶ë‰ÞãQÞïQÓªU�õ¢„î*Ë×xþ€ZÓËÓÖÖ§é=Iz¶¼ÓakLUÅ’0 ;ON„Uí†û>ýl%®;¹p‚âî–HÈñ$=yéÒ„ŒŠÅWO¦·pð:�ª}u4ñáòç±hãË]µVшڡŸšO^´âI+PÆ\Ôv×Á sŽíåqœ('Ì}ôZ«Û(U õó{CPÉà¯ãYÆ›äj×m,\.1fü‹k}xI+QÝÎ@<.¸ô­úpÂ’Ç‹�¢³}5®-ºXÉj;)•)×–^RTvwª²¹í`ÈÒív…0‰Ï-’Ú�/ÎêëRv©Q‰ ¼iòcJŒaÉiRÖ}AIå)-*ðF8y¬Ñûn–·jÆ®6klÓ;¬>†Õ(à(aJG(�?kfgT&F��.TýÓVãnÇ 8RTH�¦”�f…êJCªÄ%#òBÉ*ÏÑÀ®³tLÊÈÏ¢žL:Tdè¯âmÌŸ_ª;bwSLLZYlåâ”÷RV—Ñ“Œ â÷yž=õ‘L)¼k{t9bSQßeR[sc�iJ±…àã§¡ëF:�]Ë»ß[“mº÷O÷_*Ç{·Ÿ3�??¢€lw¥ÝûKµ)o¡ãÞ©*#“’’:ùÕ¶úÑ>V²Ä‚{vS‘.dØ.¸7WW= gºÅfkÎÞ.6P–Œîùkx¬€ARÀœcÓ×4Ý»CA¶"e¶>¡ÔÏ%¸a¡ÛC…§8<8âŠl2mÈbpÂ7&"”v ¨¬oñy+ãß·§_)±o¹-‰M¼PÄ´H@iîè•7»nx9IÜr8ò¡Œªœ“m¼£“¦sŸ‘—xäm¹çÙǵjý!v{FÈΧ“u[eO¦Z”‡ZI!+h‹HÜ :ðqÐÕÔ3"4FbÁ×·èÌÀPXÝ -8!¥ùð9­X¢;Ó¬±U w޶ó®€ÒüHNä�ŒçzVxçνÁ–úX—>V÷œD¨ªsÂPNòx~H�U1�-ö'€âmµ¹]FÜ]07á¡×{|ƪ�XiÝOÝ2ïmÕZ™ e öÏl•6‚BÛQ§q% ÁäúP†‰½v�tœÝ®Ï}šë{ADdŸ!žIäÿÑ,v+7tü{“0ç»6àRÓÍÜRœmÒ¬©M¤€‚2>w^F(Ó@hÉzGE‰˜ ʽHGɥť!¤ž§'ÏÌýÊ›./,d€9Ä€.óì¶A „¢RK[ÊçSöæ±MbÆ´DW4õñ÷–À¼î\Gv²Np3’�rFÕÉ iú~\(¯>³¡ J’‡Ž3ŽŸMm?Kݯ]§Ì™ªä;ýHiþ;´ŽNGNxä‘Í\ö¿sFªì¶TØ­Žå«‹±Ø ’–Ž3ïÈ«ÐãžhéØÐA¶b6ÛwÝ6¯ Š¡¦G\›>\÷ïí;¬O²½_Ejhú�v(×uE+ 2ó… Pùà�03Œúç®+n¶ÿH- ,4¹Újûd’,¡øCøFÚwíÂyèsT/ÆP!xÎßxòþ5>Þ�Ì#pPÚ•¦¨Š7jà²Øcæé ë.¼´v•¦ï*†Ý›]Û÷!(gÙ.‰TPR0J€FO=3ÀO4o6ÞQ2ØS.¶±’Y^ô�óÇö‹VžzÚË“ŸÙ!N©œ¬¤p2Îü¡^p¾h‹áb×%ÊYwÁž|*O(V1׬õe 6 &àð$#âZˆœ-m;-uÑ7ã‹ñ#¯² ÿûC^p�Ü(ò1�,PWfú¦åªàȸݻ“!¬1¹´l ƒ’Ÿˆôô£0¢TyÆ:š¥3©£l.ݺ.fÎ÷8sV<{y%C>à9¡�Zr<‘•{Ï•+›s`xÁÕ¹ÄlqÂŽ~ªš?h(Ÿì•ÆqtdgŽÂk`ì¿ñ§‡Èçà+²Œ\ÙÎ;¿Âk_ì´Ìã=ùéðB�÷¹­ý±ï[}“ñ øU•VÙ?Ÿ…YQÄ7#ñF¹×´,msÉÁï<ÿ!?ç]#ñF¹Ó´M¿~×=Çz~“´PÜSÜŽÿ¡Dð¯|{¾¡ /Â@Áã#Ά/®¥»ˆ+%IH#Ïš%à�ÉVrIò ê6Ûzä„;¹D à9>€Úv”C‘ÑÓ9ìÜ*«�²Ý6Z �qœ¤r@ò÷çŸÝTwR!ÜŒ˜!e˜ø )W‰8ÂFÅ¥ P6¥+Ó×5¬Ž¸pÔ,a­–M^ÿEY§5œ•¡ÃsVá¹) $•ryøâŽmúcB^"¥ù¶›jÝùëqÆ‚K äòAÿ�ÎÓp¥¡7$³ÝîIÝ‘œ€>¿ÝU˵ޣIÜÜ­¡K Æò0‘Àâ¤/†]�•Öb^®W «ûÆŽìæû¶@q!à[tï+FÏ4�Ù?NjºÝØÏg“ç¼òÍÊ"Ré ®<ÏvA9÷r#¤JÛíQÛH$nʈÏOO^*ò#x�ï‚€éùŽ"BJUæRO{óP¾²šá…Ê\’ظÄ@ùù&ìóDé’µ™’Þt!A­ï—I`Œ+§ÑŠgLè~ÏڷɸÞlñÞ YmkQQW»š­7[:îî·}º%‡’°��D0 Ÿ.£Š­¾ëd;ƒ¶ÈÖk¬§£¯¹%,·ÏL )=A¡ó§u¸ý€Ò|…;έoÏ_%¢Ø´þ„vÖa·Ø\"”ciW®Z÷`•k·!i-[äF_ýJÐŽûörqž8õ¬mÝU|û§!åZÓ²Ò‚gTæÏ ó=}}hËNj8²­gÚ{Ç#)ì;sä²9ëÒ©M]PÉE‡ªxqDBâláÏ‚&·0™¸ËAK�#¢:¶­ RˆxÇO}FN‘œë�ükƒ Œå!ðA?HÍD²_-q§Ëz•N'58 Üø¦@ x.'ÉcnGeòôa=©jC¸{¹#� 3þî~š*‹¨ei&è]·ñ¤¨á.ƒÓ*õò4p�:É:SÂ+�7[�´m R[ݵ&]Æ;,ïܯIZRA$g¾™õ Uö9~¶ê(©f{O[ûÕ';ps…ÀéŽ ­Wh½,ý� LvLÚø«R”­¼à$çßÈou¢�Ô·nM�%KvºÂ¹±),ÌaïêëRBVpŸwO§¥L‚²`ÇÏ~þŸñ¡¨ð­ö{lè°£8Ã֯ƾ1ó”rHüž>AnQöV9è3ñéU¤ÙU­h6ÛYM�µ2BR::'áVnc~ORϾ©ã«úâv’Gz$Uª¿¿È#Ò¦¤ö�Zÿas?ô¨žìmsoeµ¸€m©*)=GxçÖ³�lN ¾Æ¶BS®Üe8a¬ïQòÉà}&´Oé,Óoö­mKØR>ä ã×å^¡�3$Y/±o0�†&F^öœJG„ÿ™­›i&�Ž|d\ í¶—â†a±—5·Øsq…«´�sm»¥Ëa} îŠÝzS€pRpq‘R»&Ó-jûóФ-n,ü£HÞRsæMTjím+VËŠ»”¢ô˜Ì©¦R€”á* ¨‘�<ª�;¾ÁÓ0šL ¶e;�ëçÞNäæªC„ÖKNfÇ!ÕÆ;ðïðÝkêq“OI+³X/¯gñuªâ͍Æ~BB8#Ô¼Œ}�͵? j�,¶^mE$�€}üô®Œ±ëÛ3¶–×>NÕí8Îx¬‡´È¢6¢.!AÈò›L†W‚œ¡Yòú ip©jÌsò^uˆJ&À«|GìVWç)š²‰f‘r‰9»Wöæâ­ÈíœakÀ98’snÂ0yòc§S1ë„¢7í N|GP rpTH$�ÆÜõ*lf¿©ÒHøÜÀÒüÎÊ:›¬Ô67n=ÁVhë§œÄÿ»VÄC0Úmĺržü-XFOžH≥i„µHaÕ¯�X/\U›—+d-Q&×~¸ÞΔ0ÊYp9’¯%#ªwcÕSúš6P™’! Ø¢žV1É׌ûȯ¯ô·ÒÔÇ#nm±¶÷å~ôv³ ¤…ù4 â…nö{|¨�¡èÑÎäœï@뎼Ó�Œ¶äŽÎîzFbîèâ왑%ARw-²x×Q€yýÞ•Œë�b㺉‹t)qÄ÷ëQÉ!G òVÑÙ†§ÓðŒÄ™kJZ<²OÇ¥iý.Æ_–iwZ÷·wùE=ÀÝ,3² T�÷גݯr¥CnÖI»N‡d¶ÄuRm‰`­RV “Ç?”~<{±€Ùp¼^õh“[î&>âÖÀwÃÝ62ójG¼VÚö·Ñò-ËL+ܬ£„­Í‡ê8¬µÛË%qÃ/¥AÅ`ºØã 'ëVØÅv#ji›nÛ[D[ ÂL-’V4ƒÂû'ÚÕciÉW'a5"âÓ=Ë/mÉ`'àéYw™¶æ�:™y¬¶RÁ óŒäñÍdQïð 4ÌIÍ)J0¢Øác=|Ï�i ÷Yh}–L;R Lu>Ú¼c<’òÿ…§nFX ‡¤, ce6pÞü5(�R·:Ùl’ó7—i¢ë‰Šß…¼-yâ2~³P;;¸7-n)˜‹a.·Þ,—AaX8OP9Îh[L»7 uLˆea.-€ŽséÀ#¥Iì•üܤ°Ö}� œŒJ“‚jõ=a¦ÉøÔ@ajœ<œƒ…Ž~ºöž«ò×¥0€:“Í8Ú¶¸¬¨«)Ï"›U퇤öWÒCŽ…Dsî5˗ˤµ ‰OÉÎtIHN Ê>]r<ë¨/Ê*gp8Æx?Årž¢–!j ³)f'Ö½á3•gw—\`zUªgº­Zâܤ++®®z,&ÙŽ¼-d¨ƒÐf¦ê�f·àÁu—JöTîã,œðLf)œ�íê’¡½Iù¤ç��♟!´ÛaJJFyȫ͢€å9T¿ªT8›KXw+h—vÀˆ†»ùR‰!*Pž}1ž>4o{ÕzjÖc³§¬�È©+i¦ÕÖ[BJw¤,’œãœ¡Ó–ã¦.vù÷hO¾ÚÒQ-´·”†œF‚¼Ô3ÓÝF=ŸKÒ—�•ë|i¾ $9�à{�ÆÞ)N™í%‡�ÐøòEhctÆáí�=n}=PíïUkÛHi™¶v!€ßöWa0JH>/�<ŸZñ§uÞ¶~èɹ¡Æë› œ· „a=Jxè(‡PjKuÆõml\e)—§6‡n7ˆÌ#pÞ¾0„äõ5E¦ûJ¼"û×z¸wºKî‚ë„’–»ÀJ†ìãË&¡†Šµ|!­Ää[%9í ’òŠÐál�¢wd �+›uö½ºêËÃW ˆOtÑ !XÓËßüjf¤í PÞí [äIC0C{RÈNp�œvpqœUH}ªlP4¾ÖÕÖ:i{[´_~K§¢kHÌ}]­[-M‡1z–ÚoòÞ�Ý>ÃŽo*®G8?I§¡6––…oÃDå>.OÕ¢×1Ä-b#‹iÖŽÍç�®£¥+a„²ê ‚rQÍm—.F��>�T:yl×W™ ×¹Ì@ Uì=)9àrûN>­(ÈÉÚ:|k3ì+#OÏ8ÆéóðEih#~wg��ééBjýé]ŒÜžõf` ‘œ*†µwƒŸÎΈӴAH$ƒžƒ§JÕ§ÉÜ,ñôTQûAFÿdªë(ÅÑ’}œöMl=˜~%ÃŒ|¹ÿ¬zÍ�ºluè|ùù¦¶Ì?³(Ÿ–?ÀUú?ÜåB·öǽmÖOÄ'áVU[düB~eGÜ�Åšç>ѹÖ×"3”¸ŸðŠèÉ‹5Î]£�ir'§xœõüÁCqOr;þèžï�wÔ!öÁña$yzPž¬“ìwÆpž3Í ¡9IÉ#Ž>ª¾ÂºM¾4Í 4¹–] ÚÚ|ÕâàrG4?×mÑ N3%3›Íxrçuz œe’†ñËï¬!´�а*—Ú-�:C÷á%Ià·µ=´tëÂ~¢jæm¢ÂÂþ®Öåºs*Ëë?ìäp?…ö}h‚n‰vDèÁñ4×µ†”NxÉŸª´2HÈ´ŽÊ–èë%c�;\-µøø”N‰ú&2oͼ?(¬¶ÑýÕ&¦ºEaÖU§'νä­�ÊÁo¦2S”«è5 ßµtk{Œ±5˜aÄ#À¼æßs‹Àúyªƒ¯u制h@èñÉøà`¬ÓEM·ÕŽ1í¬ í¹ú X6­u¨B›²Nb8VHDe~“×Ê­®‹ýžÖ†¥½q„¼mq RO¼týÕ¨Úl]¡J…í7�mÕòRÒA {Ï„¬Ð†¾:aµ¥¹º¶}æB8!¥Œ}cí4�R2êÕÈp¶É'F$¿p'ç²UºÌùHös´Ç!@üR3ûèŠÀ»jÝKÓí±¥÷M†�µ%ÀBSПÎôçË;&éelâ“�Ï\ƒŸáþu&ë.©ìK”˜ãОû�B•pEFk.,B ïG@×¹K“ cjBÒú�P”¶¤„ã‘·#^”#y‹rŠÎèPGÜòµ=!­ÈHmxÁ[d+€¡‚Sä¡Åk:;SY5…²LIâ¦ï¢ãke=Ø|öNp~“Y¤ÞÓoqŒÈ"Ïjy²¢”‡Ù'`úùõ©º-¢Ü.78ÆC‰â ­ülž³5ª$Z\{nDN_ÀS‰O #'”M¢ûG»X#;¼f!A)î•‘³Œs“þuŸKí'W-^Óí#wg~ØÌì$Ó9Ϻ´èfn–ØÓæÃb5ÁÖ¶NKM�½Äž¼>ŸZîFÔ�Y·B± )Ô¯:×áeZì¸Ò¾èF›my�îïZ%KR\Q#¯$çåNvzÄ­12j‚¢.2[Í-Åà©dÎGò|Î*D«ƒ Y-¶ÒÝ¥k �Cœñð‡õd‡˜€Ì æÐ§ÚSkVrž�yãÓí¦ÔÓÉÑ;`Œ5¬5�þëoÍG›©µ¤¼Z|R^‹0¸Ûí1#b_ØqÎHqÛõñÒ´»5¥øÖ¥;xašî Ų–€á(È$�d}ŸÜWmÔ&xB[ 4´¶¢’²µ%;öû³ŸZ"F ½É�)ëºÊèRZ@Aî CËãéǨ CPµµ0¸¬ÐKªãE‹os.$�ŠÚ²rGîЬÄi$àìÏEZ.±®1—èœICjTy €V@8B¸çÜÏ©ý£˜�x8?UA.Èus $ w%-‚}±;€ ïGON1Vj$�pR9ª¦UýuOÊ'¯ûµfV7cœí楤öÐZïaa]¹é[…ï´÷²#0Ì{jqÇ”±E½ÂE½!n>P HJ¸ãÓ#ʯÕ.Á©á\ß¹@[Ñí©ÄYqÔR{¬ðŽxÝÏP�¢í~Õ/®IC¶Ç#eñ¿9|'•' údóÖµ½=ì—m0üEC�•ðrØÁV2 ǦzÖÏô‘òSˆjs6ö9®m}‰çm7@%ÃÅ„Œ"Ç…–1Ú=¦Ù¥n¡†¥J_}/°\è­Ëàqè�A÷Ô.b &{Q*X\Ëjgž T ä«¡£­`¯Öë³NB\—â4Û*†´˜ç u¥Žvá$ãßY+v¨"KL\9Áinµ¸)Ds»ã�N3YìZXžìæwI6 ›kÃ}oqØ·8l5)a‹) ˘[�¸Xv¯5ó^iVôúc¸ÔY�"@ w¾AÁsð¨pFóÍê¹�ÚÙÊ�\™=ÒçUœÇÐ9&óg€ô«Ýê:¢ÆPpDC…Ô-[¸8¹òéB÷¹V]GâÛÜQ“µ³%XIm9ä�ëÖ´ø‘±¹ñ\1¥¹Å·6¶¤ €á¯z[èïWnX‰{Ë�µ¶kw'¼�³iz~ñx½&t6ÊÙuÀèçtõ÷Qô96»`î¯åg uM±¼du8à§÷Õf•×Îi/ZÚX‘µ”nÆ õ®‡Ó²ãÝ4¡¾ßÞû•jy�D…¸Ys¨!IÇ?ZÎbµóÂXÙv�·>ßÁ¡|Ð>Hž3ïöY}¢-†å)·¬îÜnjpa)u®é±€I*QÁú’iþÐôËã›+w¨(¾÷ÁN‰[e“އ€2x­@ßmÚ‘åÄÑ–‘rn&õÎⲟݒxW¸÷è÷ÝM"ÍÍ;2æÖR”¿M%âž©C™VH÷ŠcÄúÀxˆ‹l “Û{yX+®Äe–ÖêÐÝuCÇKÛÄÝs¦´^ì«ná¦�(FZ“ÐãnP¡Ö¬4õÎã'M= §VÒ–úÃoña¤¥' ðr¿Nps€hçúF ¦Ø©í u{÷%*$¤æ TNsæ}*_a’¤?«f7†Ó C8à�´P¤év§”â•tu!de´Çðá# ü¿.”أь© Ç�‡BÈc(äŒñWa?Öm¯‹7ÿ.˜[K‘Ïeª$”£Óœû±N!JÀå=qÈëþ¾šŒ’ <Ǿ…«¼W#û‡Æ¨ÔûEeé¨×òLU‘Õ98®AÕ±Üûï¹7)Jm*–â³×ÂTp~ªë»ò¢Ÿ9Ï=1\�¨–�¨nn÷…§D·JByÝâ9«¸cˆ.*ž"4j£ºFr C­¸d“µ`ç™÷Ó�<„d­êP2QJòéæˆ-6ËsñU"á)fQh7,ôN<ý(£Töwuµ:`]íÚŸz d[[ ïëc;’¢3âçŒÑ´5m¹O‹ ”ÄÙ..ÿdq=¶C�w«bOràÕöLvÜY[ÈNNrAoUœùƒDÖ¥Šÿ©ô8i´w$¾ô—v¨Ÿc H÷`ЕóHê(–VnoAJm¨ð‡P¼‚}j¦*˜b9RÒOLÓ›Q™„ÀûpЩ£…ðM–¡šnsq[¿lw™z·M9ljS2²:%Ée¦ÓµL€[e#;U’Ÿ-§Ò¦ÆÒ:GSÀ‹:6•o´–šz$ÂÛO46êД+hÂÆG!@gšötÄÿir㇗¦Ê¤¸ÊŠ�ƒÂ”<ˆ$æ ­*ÇÚ‹Ö;z­VM.nß&ö%¡ú¹ýôwLßQ·q¶ß{ëòFd…‚>˜XÀÎ æÙ:EÛFÞ4}Á1âÈ�éu„É^Ö[d”‡‚sÂÎ1Î ]Z5ņU»ïw^´žé1¢ÎK…=Û�€ ei §*NRsƒÈôÎRÇh³°5¶5¥‚Û€FaÐûËPm{2œO˜hw´KÕ»RÜã[ìm¿ o‚ÊÚK{D•äò^ƒë¥KNc%™-˜—5±#ü(§4Ò1νɶöÞü~jlñnq‚“ †í{ì²�í$,ä­_”¤çìÐ�‚sÑ"ZgÚos*q{JJy {È⺫AÙ,Z»²˜zOPBÄ«b{‰1Ý]ŽòIÉc9ÏÀ×=v©¢U¡/ ·t�&:Ÿ)a)såÒ‘æ¤ú{éØn2ÉäuýY|ùº™Ù�PÚuîCñ´åÁ/bâÊÚŒœ)n%I<`ã´G©`FŽÅ²sqš“¬G+Í©$`qëïâ½vz¿ªá"ívu©1YJ G¾µ+ŸNEÍÐwFô»®Ü Œ Ð-Ôw(ž…#ÈUÙêòÈó¯Ý2’2!;ͬy^öØZÜÐÜ[³s¢w Çq°FV­¼tëÇ@1Tú‚nÆsºÁ-’R¯3JÙyû‰ß–²”:Òšu±œ*êGT܉ñœd–Þ¶°@àÓ:ýQ¢ÕÑbƒ…âb9~]êÏLÃT;póÁÌ•¬rÇÎK‰8 U4Ñé©p(JukW)à’I9«}®Ë Çátwr¦ ­ Rˆ Å# äüÃÍAÕöÈâC¸[]ÝR–€’­ÛJBO_xPâ®muA¯kM€Zaä}Áœ7‰îZZ0T pAäŒõ¬³°Õg–…$ô8ãj+SmADãŽ3ë@ªýáLgfØÿ£ÓÂIÎ<½(wWÿÔrÿʈ�a¤(Ÿp9â‡uoÍcw ÏþZ†?l(ßì•Yc'î«#§ ú<&¶Ëÿçñç§ÀV=dÏÝFN:%_á5°v[�f^2ñãèF�÷¹P­ý±ï[…“ñ øU•VY?³¦¬èÚ›‘ø³\áÚ9ι¸Ž×åþÊk£ä~,×7vŽq®.„žŽ'�÷C±?t;þ…Â}ñîú„>å�Å<ÿ¯uf½±Ê[ Gq)Îçñµ%)ê•uÉÊ´¤o „ç§™ÿ…e=¼ & D´�»Ú¹VìáW©¡Ô � ìŒÔJè[�›„!L©-î;Z�œÇÑÅHv;ì:�ó›IHVB<�üê®s @ 9Æߪ½¹3½Jr^p„á#b�ùQ9ZD„¢ÐÒÍÒ@×HíH×T_=æád)‹:Å–†ðÓ™KÍãé?æ*¡‹ÝÞwò«�Þ|ÅŠøU)˜ëi¸ï¥g'+í§ŒI.0§e8Ûm$ƒ±<’G8Ïü©5®<†¨Iì;)Óo79Ç2§H{ûîPNå•“ð¦÷£=rkâŸBI! TyUÌìjõ´g©új¾ã!Ç$¢w{¬§{ÎÿôÑöš˜Û½ê¸ÈO©YØvž�©õú£È„ÛÑY ~Q‘â Kx N:`©@�sÀ5vŽd»ö=ˆ©òÅ¡qµûe–ìí–àÌëEÙéQа‡R¥¶Iè O8=>š³[Š›%o¼ðFõ£ÔŸ€eÛ®�oNÞ ×Ô¢†ÂJáH;@ a@žF1Y¤)YÚ£‚>ºš²6›9¢×C°Ç–˜ÞvÙ¹Á³¥2XЇ�BÑ‚òCŠ>!Ñ?5?¼Ö‘¬g+ï†jÚ´¾°ò’ƒÆâ0ÃXEþꈶ—Ü[˜HçÄFFuhV»³wÆ¢¼ÉQ[È@)eK#Å�÷бSáÍÐÝTÇdkªE¹}Q ©§çË·¥¤ î/#‘×éò¥¯÷» !=#„¤¤r>^üpŸ zÑ-ºÜÕº'rÞç _-%XÜ¢¬„tÆ3ÏÑï¡Õ¼Üæ$¡ÁÌ’RB¸Úáè}ÙëñOÂ�ˆËýÉ Ã§v+s ¦É4ˆ˜Ã© !yÉF}1ÓW­Lh F`ªlT7>\Ê”Bò‘êž2” {³š«�ß1ìi}•(¨.2Ò„•éK˜?4çè÷T»Ú0ò¨Ò“mSë1Ö”¥8@’8ÎÏßY0m‹Ðf|aösÀ> ­¤¼ÜÔîu’ �;rFO8è: ×,ÊÌ6ºÙY"׺[(øBÈ\pò³õ�3îªYÁRFFG|*9v^'¬�¿%bÆïm!jAÁŸ€Š�Þ(>äž3ÍUEÜ&¤àí+@«ƒ q’x©)=°³õÃÔ*5Ù»tØ.D–ó½ëŠJš@}iƒ×jp ÷“V04í¹! }FCêH [‹Ýµ>@gý¦àaÖžC®>SŽ�$�3ÎI£»ävàÁî#´ˆÒfmm PÉFï?qËÖ¬4äWåiËMÂT&3±[�ËhVTÎôd�Ÿ‰2Lr“Ýà™pÜ>Èâ>S ¬¨á>ž”!s”÷Ý Lc`_…e$‡¥w£Ut´.-“×i¿« pñá²³ÿP²ZÖtíõM†Ûw#�,ênzŽJÛCMEJë½ANz`ž+çhúfÉ&9’ˆÎŒç`HÝYLíDþŒ!Æ.Ì©Üüל ù$PõÇ´éŒû4ÉIShVòIƒå“þ¹¡on#Y@I„‘{ç¶ÚðþÆ9έi†PÖ¾¦ÝŠTÝ4§¡ªD9m¨…”-§ÜŸ-¤ðr=q@÷T£OÌK·«Ž–œÓ·‚pHõëš2�ÚCv»3ŒZ¬èp$d÷Ç?O¾†®¶ÐuÜÈÐ%*™ ¹Ñ�sµM©ÖÑÔ‚žñ*#ÈsF=Áj«[ž¡Á±c®¾A;¯}Ë%f®×ü樭íögf¼*ô[—xwyy¸Ž,ºóÀã>¹ª}­ïzÆáßÜî£#ˆñ[8m¡îgßÿ*+ìßIϰêþæí§m·öž[PWÇ ©ÐµoÎ<%Ë�Yéûè¯Vö_¥µMµ»Þ„yÛS®ITSZOv§P)I䃔‘æ:ô¯CÃðÜ7 ª¸—¾Öq½‡!ÀwÚå`jªä©nPÐÑÈ+Ïè{®´ý²Ó7JÝe³k²»øî:BRð)nãÆàGC×uÍši Üɇq´¤%JJÖ¥mP#‚HÏ?Xz×FiÝ1n�‡ì’^i-¡=ëAD œrB|¹ŠÎúGP×Ï3DD·Cpw¿mT˜T²1ÆÎ-·Ï°©Z£IZnV†áÏŽ$¬|¢Váܤ¬y�JV�ÓŽÜÖÄ«3¦+Míe*Û¼¯w�^ cüçŠÐ��—Ђ’¬óX^_kP†âÚ%ÜÓ[�Š¥¥Ä�Ø8RH÷䎞uZ™‘ÈÆ9­ÝŽy£€ÆZzíC²}+w³¥Ûe�îmÉ¡(V}ž v’y'>ãYOc¶–.Ðn,Jm[ ÆÒ²œ‡[ú�º·Ë¦ïf‡¤Xg²òÙWs*T…»µx弩 <À4:¨O³r\©Rœ}ç¸à d‚p‘ð©]xêZ;,ü2lúÛcåtêJ¶ääxˆÈòæ¾ üãÔpxãýt¦Y$Œ¨ùûëÚJ{Õ0Hó¡u^ÑQÒP%yYT?Âs‘Œ{«•µföµTÓܼ´)÷œ#‰8<ñ]Gu^`’RNó÷W4Ìz9Ö·5>Ú�i„IR�Œœ¨qÔ/#çVðËÝÖ ¶ ÛeEÜ GÔ1®7{k71TV`¸HmÓ‚Q¤sÎ=JÕ®ª3©-2‚ã¶›Ôç»–ÒŸ™;R•:|¸JSÐ œ}îÝšéÛ>™°Þ¤6ñ‰yu¦Û)’RëJq;’v”àãœÿÇ#1–%HayÞB’HV0”œœÕ÷±“ƪO𣧪’’Bç‹ý;¹#�I¨eÏìéë{/— Ç– •ƒóѼ~’ÑšÏ7·ÏÍú•3¿jÚË,ËZÚ)ÙÛ€�>OŸ9¨V٬Ǹ0¹-ïCn%Km]äR¥§l,pŒnISÕâ-¬‘¤é ¿Šê>Âí÷É=�Ç·@„Ät>â×Þº�{Ó¼�³×¦ú=+íkFÜlZÙëL ÊD' ­JÃ)Qä$�2‘Î=µ�Úæ—~,51›jgÝìHé‚1ð4®.°uF¢¹Î·ÏL¥Ãm½½Ü…º… œ(îP‚G=O4�óÇV÷=¶]yðEê a€¸DOàW7ÆtN™ìöN ‘­.ý¥laHi GvIQ'' ¨÷Ênë‘æ.\Ÿ ]óKHÉB‡ŸÄï2ë*CìÅEÎàãñm©>ÊÂñ†É9Æq’3ÐgŠ«—U¼ ž rO*õâ�Çœ€]©@ ZÐZ8¢==w¼N¸}÷H½Ü H�¤ûiݹ36¤1È'n9õ8ª‰öGïwç'\® Ã/¯shujqKñ|ÜŒã�ùUʘoQÇmÉWV`²ÓA+Þ¡¸¬©ƒ‚äôÅ6м[’ûøªš—@/xWLyyõ¡=!lŽsHÛ»–¶U\÷Û#ŽˆwU­·T˜q˜‡°í[l8JAOB\ý^T@u¬UZ‚[K¡Ò”îBœR”3“Ð{¾5R:‹lI‘.�£Ê•%½í½¸‚Ù8çA‘\*ŽÛeJá)É4Fë﹕­Y9<p©ö¨åȹ%E#Ÿ!P ˆ«u+˜ê’Ræ€3„ùüO4U5ö”Xöf£¡¥v¨ã§N•-S²€ÀŸGâk§s�%>R&Ùb0¸3eCh+$•%¤()Dx‡ «¯¥F½Ènÿ a-öVBÀù‰Îz¨''ßš=ìò§™§çÊDxÆ#d²¥¹XH IÚ‚ H8ÚO=} 7©¢}Ây¸é¶AŒ‰q“,wLe”• 7$àŒŽzš�ÌFˆì 'èÃ…õÓŽ‹çc�mΤ 'ÚC�xMil«À‘”à'‘ë@½�©*aKAJ’WÐÆ1ÏÃ?M2|<'ûúЊ‡]÷*¬Í •Í ·i_Õ2' úb‡5v˜ü�óü¾BÖ4qâÝŽ>=«xîø'§JŽ?h*�öJ¬²úM�Iü¬“ýÓZÿf ¸ ä>€¬†Ì?éF‡@7„Ö½Ù�ÃNqƒßŸðŠ#Gû�ܨVþØ÷­¾Éý�5gU–Oìé«:6€&ä~,×7v�üñsHÿê'ü ®‘‘ø³\ÛÚ?êçÎ2âÀšŠ{¡ßô(žï�wÔ*"JRSÔ‘×}v…Ý•´§$ûU½øéÖ��|J$%?AãÊ‚»Geõ\LUHÚ¼á)Ýäy4*”ÿP]i©�¦a<ÐÃs ¡N]Pô ¯nêh-¶Ê�²‘ŽV ?MV¸Ûä˜R;³€Ñã÷WØèy¥o\YnqÀ) Q ö­/NΞ*½ùMžd8Ó‹Éã $|+ÔÄKy ðš@üµu÷ñš°}ÉÎÉ‚îß!°â¡¾ÕÉåaqdõÀh�ü)ÂP‚�ÒF7z« ,«*pãÜ1S-Õ\.MBŽZK®g yx{ÏSèyr-À¶ £ðe_e9§�ŸhÔVëÄ›¹íÂ’‰ÍÝ©%ƒ�3Ž9¸=mÊUPÈã=×ÍO¶é»¬íGqµ2“²Þ°Û² xIYNí€g“×Ï 'âUýn0-Í_nR_$¼;¤ìmGhÞ®¤p3�ÆsÅG±ö³©­Éº9+³ë|¦Þv[ñSì«ï[uånYω ¸¡þÌoZŠÛo“éËi/Êrc)˜Ò˜m—…#�¤®z`b¬Bì�ÙVN®¦zŒ­˜è;Ë­5‹Tiyèa <à ¨6¡µn‡PqŒòs‘õ×5\“"Þ§’¨Î™-¨¡Mãæ«¡Î<³ççå[<c«ZO|4æž_tBƒ>Ô´‚”w[AN0µŽå  <ꉧꗓ!£Ùã*/¶–\qÒê”ãiòR”9<«ž:û…9Ò9ÂÅ2 M=ònV_nÑ׋�ÊjgE�ã°—²ZP7wGÐã�ªµžÏìö+A-2#®R†BÔ£Ž:qÐÕf‘¹êKëµüY H¸]¦{[ͼµ$5‡°‘Ç#vßÕÅ^[5–­]’-µûµÅ´Ê’ìÇf-2â�¤©Ä/¡d¬œó�,U�3£*¯fa}nUµv¢÷†;‹)}Ó“±yü IÝŽ>ªvð–.¶·%0ólARv8x½?3§UçLô N¬ÕËm°4ý )6õEJu$((' YÛ’àÚ“� |��TÀ…"&•‰drXp�ä$�V‰ê1ƒ×ÔÐú‡ça7Õ2Š ÊèH'quë²™ïÝõP·<Ò$J-¼òÈJ‚ÖÛ.í$ †kW׋5ºÙpy»b }³-<¦IS‹PC‰;ŽBB‡� „çÄàûfœí w;Rf”Â.–$¶ßã mIÈàŒzy��;u¹zbžý–î €÷vZRÐ O…Gn@+ŒŽ£¦*¬5‘�JÒb”Ïš±²G¨Ó—‡¤º‡/½ËL…¥¢PÊZG uYÇ'''žƒšÓíPmC<¤tã5œÎ1pL±�”ÑXOxž¾™ugÏIòÇ<Ö�lmHŠ–ÏW¸PÉ­`¯â�x)‘óíIY*;T3‘ŒqSÀ tòwcèøÔÀxñäãû¢¥�ÛÕ»‘�Çî®Ó¸]«nfÙvƒ¹Pî+ŒZßäuùŽPúu%«]ö4­7ªå®Ý{€‘ì�8ØuHO…GjOQáW×G×µCfî?ÉËZK}Ëm’xã˚ʭZW;šœzÒå¶OÌp/'Ü7T±UF&•ò1À±áÍpìxñ@)ýOén]qnõÐ]‘ë«Zj×c“se¹±¡FJ›Z±ÿRŽ™ëZ+í×7 aöÛÉÁäúÁ°Ø‚PÛ–¦ RÜ8QljíR Û™ Ål´A¸VuØåTnþœOµù-°¨Ãu‘¤÷�º>»@µºâ eH%XO‰$àŽsñõ¬Kú@ÉŸa² ”iO<êc%HN6 gãÅ¢ùøVþ|³U:ÆÛgÔöísä$¡Ì)$,!C¢†|êZJ+ã­�ÓÆãýa”íäªÉ„RØ›ŒÜ5ð\�&DÉ.—_uÇV£’¥š›§–ówF†;ÓÿV¤ïe>βX»Åyã¼dçBªu¿IM€ãn2õ¬)E½ <xšõj¿IpŠŠWÄ õ�þÊj©êY>av�}¡ÃÅPZlsnW(Ð’�Ð�ê[ïáਟAÖ´Ùb£k¤ËEÚåÖm�Üħ ªuQŠÆå§£yh …"œ\�PSµ»¹e>�6ÛÀU=ÎÉw¸-nM¼Ls~7§ÚÔ¼tÈŸ¦°X..hs5Öw&Ÿà­o¤³3,p‘£/ óßTÄ ©¿Â‡/´g¡«ØßžÑ ü²’áI%i*ñ+sîä�¬u©Z CLMÞ΋�hWm·'2ìx‹ÚD—yÑ…î ƒ‡2G]ßíSšgMZà¸Cöhî¨üלkÐIÏŸ—ÙΓŸ9¹�¥I°Ëi]âÙl,t GÐEo¥qHçG,okO—þ5þV:£4–½¤÷¢-5¦nR-qÝ‘s–Øy´ûB”�ž]=Ú€' ¤‘Î ±åGšyÛ­º×D…!Æ–�� ”Œ«�LúdyÀ¶ˆÓ°íl-r/Ðd9¸’§^ Z³Ôœ“×ãF]-̱ĸkV0v8’qôU:¹™5(d`‘m4?žjµ;ÚÖ€HóVÎ+¿RŒ¡…$îNq´úÐ�Æ-¼ß¤wŹ!¸™SIPR·nR“áÏ'pHøåTºÇRJoKËjЗ¾èS´´‚¢Q¸gÿ]h[JF—«u“÷-Q˜­7Ëè wŠIð�»¯©`sU0¹ÜÖ³3߇jÑ2�³Ð:a#Ga"ü�Æ;ᬤÇiÒ§’TáK\+hå eHñs„#“Cî k¹©×ˆÚSáË‘Wÿ{:^J­�ÅeÖÓ°+¼IV6�ŒüùÕ–;™ä!àëaÄ“ÇQVçq5-}�“ ÈÜ2X‹†cÛܾ2r 9Q"¾ä— Ï Å4ʉÝÀäãƒNŒîP$ óCªwh¡¦a Qî»D3ƒÏ»á\ó.رv½\£©Ä8Øvá�’¿ß^¢ºà•¹ á@ƒü+-¿0ëSзÉOu”µ�¤¨ ÙW×þ…IK1ŒÜ ì«WÜ�¦jQiÖÚKO»t’¨:ŽÕ)£Ý–ðÜ�®@Ú2#ÐŒt4'd¶]5³e[bà 6Ãëh%ßPÊBÜx”A#<�*|M; Þ¶_~Þ…¹Þ~Dw,äðH¬ùQ÷gW='jÖ1­Òìî‹|æ~RX޶ÛiÐT”’06‚ ŸÎô¦ÔÔtQ–S4ér/°¾¤ ™NW ¯Ûm–1iÓså!å.µHlƒ±L«Å“Žxë’>º­ÕZ*øê‘6–s‰Ø¡,(àí=:`×Kê‹5�›Ä�¹ú¢¢¾ ¼!įjF8 9VR8^õ¬a×µŒF%DÜ}�Õ©¥¶ÒJ²6íü‘‚Œ qÅ*zʧ¼½¶PËJ5ºËãi-JóËm»Án!(Z�V@P%$Œt >´- o¿Ä‘ Rì7²°¤<�Csjð«ŒzôÔÏ×qR¢*ëø¤5‘Ÿ‚G)ò PúM+Mó_±;/›ámÁ´«¹^G9Îqñú͘ÕÌÂ[x®@]xºéËñ»É¡K˜†Þ[ahd�œ08óÈ÷ò*¥›¢’Þøö©¯�é%ÄGQJr�¡œEð4`.:ºL¯h2n‘ÝîZY?(2“’HëáG=|5]µÓL6zæËˆsäËm”d´ðñô MuXm½_šš@ ‰ 傈á~Õ§'Ü †þAHeJJð“ÇBsçëåé>]‚õ*(y›{Ì:ÊJ—Ä+¿+`cÎ}F·K׌ÚÕ¾Dä{9¦çuÁ$’œã8#=xãÝVWê‹mŽßs]âuÆå-¢e²Jã¨/pÝ·>|ŒÕ†Îé·&ÛŸŸ¢†@Òmb…ž±Ýf]£[&Æ’…Jq>>é[’•nÁëÐýTIhì�}û®7u’Ò›VÏ켨ŒŒ‘TÉ•ªdݘ¸Î]Ýn±���èH9>IãuuRë7bJm ¾Ó„l [~ œŒmãœsõÑhdtQúöðQ˜ò Û«y:Ϥôë×;•¡ûã‹�€ÂJ;­§$Ø'ÂzŽ:Šîí×�A$¿ÂŽ•”&/ÌXÆO9èqW'êÉpDi³&)�¸�Œ„•’“†GÖj�›<¥\ÚtC”ÐïFò¦”3â/¤f‡JCås�þQŸGŸ–­ÅÃKqï GÔ6vçè{,»J\’ì-D[‘ÂÔ§ .ÅgÆ[Q PF7q“Í@íÎt…ÊÓH~ˆ¸ÖvØZ{Öv¥×ÈgÀ‚FÑÓ=nû§o‹ÜE ¤©Ì.:T•(÷x<¤ž63û³LI‡r»<÷òû¬…쎔• ®€’I®3WzÌ}gr$Ì2Q\êŒà ž:¢~ËÛ‘ŸSjÜ;ÓžÁÀÿ*Ð@spR²GB¬ PeVù!J/Gq�© R´Jp8<ùQèÏRR0(=ICd×_;¯Í[ÇþÌß‹$�¨U¯á1ùÙó¿Ê¯X#ÙÇ\ztÿYª-Z L~2î>ªd~ØU¤öJ¬³cî«8òÜqô×{1iÎsòçü"²;/FO$ø¸ÿtÖ¹ÙŽDu!ï.�£ýÀîT+l{ÖádþΚ³ªË'ötÕ�@r?kš»I9×wQÁ!ÄŸÿfšéY?Š5Í]¥’uÅÐyw‰õCqOt;þ…Â}ñîú„6ÙË9Kcnp<]:ý”Ôô!ÍÝâ20äÿŸ „dg>GƒŠiáòŠÉŒùãüèÐ T%CŽ¥g`0@÷¶¼¹ •4AG‡ž>Š’…).ò¬“îÅ:¾FI�ž}Ô³²…0™F>ÆŸf mD!'>" q×â7wÈN ˆ‘ÇÓR›IZT°TI9ÿY¥˜®„å·J\îLPm�ëJYBUÞ!%j$!$‚²2š¤ZbwÉJ‚rz�8«-ÊÍhfáxzÚí ¼…¡¨Ëqn¥K.e²8 ä§ÄG@sO}ðDv+‡.Ëb"ôÚ¡)¥”·(¹»* I'”Œ€zÕÁ²£Ò¼êßóæ�eG`ÅzQ,–C¡£ò‰Þ°„ç8ÀëŒgŽ´ópµ*çÜ£ÙðeNnŒ)*Ï œcŠ=—©mI¹-øwTsŠú"3¥=Ú-ýÊ”Bp¤á|e$¨›Ô6uð¹³t}Øf ½ëŽ)n¤È1\l|ä…(nPKNyçŽk¦îüæº&��c…ÿ³@)±á[™H�àJ¹)Üzã$�ž=jÆ.ž¸:Ô›·nfà‡WeÄàdéäñ€<ñŸ*•s¼)ÛöŸ½3!r&D�Ëp¤î[ͯ�Äüã€�O9õ¢[Ö ±{öºRÜLxá›(îVžð<ÙDƒÈðãq<ã8âºÈã7»“e’@E›¿çÛÁg3•º Ârx|)M†"Û£Íy ÜiiYayIÜv«€r0x礹ªl­\Ú”«�yL/CdÅ^-Ìû+ˆîq·œ©Há9IÛ“Töí@À±4Ô‹Û‘o ·KoÛÖÛ‹S.®R\É â@PÊsŒóŒÒèYñ® ä°õ9³ªЇ6"Y’Ú’V�ÉV8Iê:ô‹{%(k Æ:Õ½úT[ž¦Ÿr†òž‹!iSkÙ³vHù¤qÓ¥DHʺr8çèúª«ôq©Ùë45Uæ~÷!#�Ï\Ò]¾9RSÝãÌž•)Â7Ž8WÅ(•“”àôùÓ3&P ®hJÊš)xòHÂ0¢2® ycÒ“ª.'~6äRH'$ð21Ó�ùW7Rdì`=¥$ ‘ž=|5!$wÊ8!JO¥CŒ¤ªJ IÏž?7Φ­äÆ>šè6Lpºi$,‚¼‚TH¯rðW¸r~Šøœ‚ •öZT#’’B¼‰éš»[Ú7T%£cÍÈL$àpzúÕµ¿MÞ'[DØpÒë ÞÈÞ²Ÿ�µî8÷ §k;¿;œõÍië••ËÒîÁ‡­2�}qÐÊËŽeIRR“�¼íó>uzž¨¸êPêª&´hÔüw¹4Ãߥ lRx'€|' ðpqƒÐбU¢zîîZrf4§ã{ÓÆÄ’±œã€“Ðü3EHÕ¥©-¢â L0™l¸YØ}¥ÇÖ@ü¤)?ìž„ŽjÏï¢Ïíò]jêc²fNqÖà >ÔA +„ù9ÁI«Â÷*&›ý«3t€ÒóÐ š˜åŽêÛN­qv¡˜ÍÉZÔâ@Kk ç8Éa=}ÔK®¦(i¸L¸…³p¸6܉éW Ú{¶ÉþðÜ¿¤ù|Ô6›Å‰»9�†„h1—ä!`8ú[n sæº uÁ&™ÓØÛ2p¦\5…Ðò3ñ¯%GqNFs’+O:²À›¤9Oǽ£_Ô ©*oó%# Èã=kΚº‹Ü·cª½ {m¿!1Öã€&J‰làd‚… gæà`�3]“³—z­BzzÙ2êØbhum´§TêJR8$•<êòÛ2Ôèb{A¥¸€´”­+J�N‚’H#¯ ùQš®Ö躯TJ}MH�!2›iqCÊ+ÈG 9•SØX¸71¹HŠÚ"Gi¨¡·He)p©æ·'•y�¤+Ò»Óð̘)õ¾U›£œ3ê >ÔŲ¨ï¸Ë…H%'j†A áI$ï[6õiM¼Æ�xDxíº÷y¤Ê*{r2��“… ¸æ¬¥ê‹c’i»€TGݹ—QÝ+ d³‘�\qëŠoMþäóN>Ÿ�¹Qð9Í{àäñöš?×n(éGœïÔ#É‘P㩲Žé°Ê÷’0@'òr2zä‘Yû!YB²3ïj¥EKã6º·OHÇ‹Ù10€ãÃ�ÿ÷EyB²Æ)ĉNí �v?×ÐkÂx…'Â8>GßCåª{´%†‰Œ±x@À(Ià+ƒæ:×Ðr¿Và?Q¯8O+s�*s¢ºþN>œÕ"nˆ4X/h?"ÑP'4�ˆËŒ)kN@þ5õ�TÚ|ñÔÔ•¨¨ƒ��Éú©m“\.™—:Rñ-'‚Ÿÿv«]€ÀÛµã>ÿ3W³U‚è9Á)''Ž6ÕkÊ;²H$'’¼×KŠã,«“§$¡–YÜó¸Bp2IÀY««æŸ�frå-5Þ©®ñ6êRà ”(á\ Bp5{†ûÊÚË.¶âøèÁÎ=&ï§mW©²DÑxbç}ns©De¥ÙBœP$8ååÁÀÂzóV¡cÓ˜ÙW¨sšá”]gËö ß!'Ê�‘e¹‹š£¤Duå0—w‰HQÎz)'8Ç=hÎF¥CI-µ~\ËжwBä–œIyÃ-$¤…e ƒ…c è*MÏSiÇa^¡Fš˜ïÜ'Lz,Ä4°c‡g ¼ ‚@܉èyx‚?�GÓÉð,å´Ãñ�´�ØÉéÈäb®W·°}Ä�¨J’œ„¤¨òHò´dj÷›õ®ßgLißt2ä6Yx=2˜îžJŠ×Ý„€J°ØÛà $Ðüíº7jM\\”ѵ[�¨qÊ�RKHaM àdáGûÔiZ»´½—[;È6n¶º—m\X°fÊŽ–Zš’ä}ÊNå q»nwœqÆqPžö]‹å8ÓÝGmßmr¯HÔ.Mû�t™lr#€2µ& „¤!·›ÚR1„ä “�ŒT´ke¥è—'áºÚÕ2Haiö¦ÚeH’éx '�yP'ŽM.†?‰tM þÅ›lŠ8"¦ÂÓ× gï ÛwÀc;ÜÜ�|8ÜBIÜ 7 �æ´Y¡ztÈrWÌl®Æj)ޤ6d™€÷‰^6•)$xAÝ�ÈPí¶í`sA5l»7r"F–Ò1JŸqÇÓ�»Œ $•n¢¸Çz´Ø»‚B¡îkxÙA…d�ÅžÊL2ÜYÅ~Ìá)Û0Ær'©ú+ä¸1Ê“”�›À‰.×Ë=ãNAnß\I ÌuB3�‡Ã%¶’”§ ¤mÂ$�§9$O$³ á@�¢«Lf›…,%Ïp±TÒ¡06¤g9¯h… xxëœT—r”¨¤ã�:úŸ›Œùõ¨³g(L´Ëm² GSžŸøˆøsëôSƒ!(òÕMç’|‡Oõå\Ý8+V<1P¬âç £ÕÃ)`cÉYÁøUìsýU8>}1Ö¨µ~RÓ*OJúúñRGí^Cê•Wa#î‹<£�÷Mkݘc¹Xáò9ø È,cþ‘ŽNsè|&µî̹eg9ùcü£ýÀîT+l{ÖãcþΟ…YÕe�û:~gFÐÜŸÅæ®Ó‚N¶¹sÉu#ÿa5Ò²kšûJç\\ú”F?U47÷#¿èQL'ßï¨CA<¨c€sÁ¦žÂœV¢Ÿo’|�ç>þŸUG�´¡j*Q Ç�­ ×�É' ƒÈ#܆ŠIÞ$dŸ¢¹bšHOº�Ë^äòÁòÏ5ä!'‘ž1ükÙ�ØqGwÎ@àôô¨ê”Øsç•?:V) /¯´‚¥‚”œ¤tø úÒ t#¥2ä¶»Ç>U9Àú8é[¿ >îŸewUÛ‹)‘P”­ äxÆ~º�Ú2H8Ü5 XGw…œœŽI?ë짔ߵŸ•Â>ºåŠi±^§¥!µ ⧺˜y Â�l”ùqÔW¹ÒZ1¼»8|S+�ÙÈ+‡™==ôµI¤+˜ &0H#Ó÷RiD¶¼ƒÂ•ן_õôÔX²1÷¥c#Ìœù úܤ¯s‰<œâ»dË‹§‰r±‚p ÏÑÅ|ÊI+#œð~ŒS ’ßzNþƒœœyš^Ö�+øÈé\²í××Á1ÝÉ$í=GÔzׄ¨†Ó»�€Oúú©·å Æx%`$7�r3^’P¤dôWÙ\)ÃUêܤûQl‚’zv¦¥HS™ê¢Ž ñÇ•WDPöÐ3œ sÓæÕ€PIQ'�3ޏ5Û®8/Kx7ç¯O�|—�es¥0·�Ú®O"¼J”Øax^©=9®„Þ)`ìgWÖ‰©<œô¨ê�ÖÒy''¦kìiM†�ÜqŒ¨õ?ë5Ö’ ãš ˆó˜½”ôñ£8ø1V WÊ$a^`.ž•M"[föw-$£ü#¥Xwí�€-)9ÁÍIÒ91Ñ7DóÃtu# #ó×�)„pvçœã误Èg¸^å$ç�¤T4HB� È!I<çÞ)¹u±6É×NR�¹ÉQ¦ÒµnÈã®<óÒ¾wÈ)NoPΣªJŽx¸Ç ùÒ8'tmD°¹· ó‚ÓÈàÔ ƒœŒ’sçÅ9[_r›QXùª‚* ¹Ê6¹âçb–w&6&ÝJAðd|1èqRYÚR¡Èñïªá!¼gpàp*C2YÚ  qÔf¹Ò9tÆÕ$¯å‰)RFäõëRV àeG$Õjßl9‚´ƒ·8‘Ka¤•(©CSK‰] kBù?ñëãr²>Ÿ¯§< ôô¦îP^P+ ädÿ»^[uÆF9õúi„)[k$V„'Äœ”‚} z H+Vóü*?ÆHÈ8< ôß [|�çÄõ5œwmƒ“”¤~ãRO-,>@ëŸuBdíl)Jc�çÁ§ ¦’Û�E8ëïÛ&*A+uÒ¬äíþ«Ü$¨ ¸äñ×ÌóOȘØyóÞ$îÚpª÷& 8A{�ö“H‚“ qYïÜÊN6G#άm)ʈI Qª„ÉAïP ô¦*Ñù-�ÛˆÆÓŽ|éX¤âU$wE8ÇZô¶†ËdxAùS[}Öîðä¬Ó¡ö€J·…‘œž¼R±]¸^ÒTVŽ‹ÁôÒÛOz¥€1מi{[EÅxÁʶõ÷S"[JQ*XÜR<øóâ–©¥)Ü NH㧺˜}´T¢£�¢¾ºûa9Þ‘Ï\õ¦Ü�ÞÅp=ÇŸùÒ±N^ îØ2$WÄ6€Ôùšú_mI)ž:ŠdIl'%c¯P>šî«º"+XÃÆ2M9 x›HI8çáPm’“Üã�;"CXIï`ã=x5ÍTwM¾Ì„�Ÿyòã÷U°å¦N3�ÿåWl+lDs€:Š£Ö¶ÐÉ ÿ*’?h*ò{%WYS››#+Ÿ÷Mk½˜þ!|òçƒð’Y?ø«<Šÿ ­o³3àsœü¹ú<"ˆQþàw!õ¿¶=ëq±ÿgO¬ê®Åý�5iFÐÜŸÅæ¾ÒøÖ×"Éq#퉮”“ø£\ÓÚq#[ܰ:8<ÿØMÄýÐïúS ÷Ç»êøÈFáŽày ~Ð.Râ% ŽïvwŒœg<õ£$p•n*8=JÏ;IR{æÓžBóŒû��u¡îFÒ²ß�xa‰o­m+9Nqž8éF"ÚÖò•¶âR:¨¸¬qôÐ�îÍò9p�$`òN8¢Nw„²—•(n†ÖÉ#d®#DM�Çody(Ñ�ݰúÒ⹨Ÿ£­DC2¸1 ©¡¹g9ÛëPßK¯JQ *YV�3WV+T¶$‰jy=é)¿@|ë†gÆÍ^¦0ÀÑì� š»g”†Z uxÊŠ\98§.ă芊‰ÝÖ§}΋a÷¤åõgyÏQî¡ûåèÄ|>VØW)Ç•FÉ¥–Ía=ú®¶Ñ£ÉObu:”<êG¢Õ•WÈÑ•±Ç_iæð|)ZˆÀª-K�è/N·Í[2Jc­„’7’OPr"ª­Ú©2Ĥ!Sãomq/mÀ$äœç?Eêµ<ùŠ¡DŸ¢ÊÝù"IO¤?µ¥¸”ŸU“Ï×L9%ॼ°¢1�zÕÝ-ýÄñž*lwq{ÀÊiYíåêУG�^ÞºJù½ó™Ö¼}Ñ—‘¹õœžy©ÇKÉJ2�9ÇJ§p-µ­ ãi§µåÜW<'û�VȺMØvIpôÉx¸½|DGe­L©JÜœž¥GmáÝ(Ÿš'ÝP4Ë€jäÊ•çî5+sX¨¥‚挣Éj‹Óú…h jÏvXPÈRc¸r>ªŽ½=ªxÅ’õÇB"¹Çî­ÿS§KX,vëµþñ~a3Yl¥¸òÖ¸4�@Hà céæƒ4¶±Ñ“å-™zžÒúå¶ÄfU=Ç¡e!*àp ÀúϾˆ3ŒéÒéÚÌ? >á¶½¿4YÁkK½ÌÖ%EqiÜ}²’±ŸE™]lZœŒ‚°HÀóò«oéC<]k‹¾í¤ÛÆ ?õ‹õª[1+Cú~4:Xò8¶÷²)$�–8åkCs ‡z—4’‚œ§œãÝOË_v‡RFzŠaŒ&i |¼ð+Ü¥e »ŽÒ8•êl Ãâ|¬mí© +U4ýaÍkŽüÊq§ÞÞ�§Ý)ôÝS–‡Â~MçBHÎwp­^é=6ëpLewL¡)ï.grPA�ç• }~•j›dÒºIz¢ùir;êŽÄT£.»!*(îÐ?(î}~U—Ž-Á)3ÇO d�ZÍjNܱSVHAsÈ�ÊÉŸ“'î¬vÐÜз�¥ïZ s±A$Fr_N*îßc²ÔÛξRääâ§Ì±jW®;AÖÓ¬ö™�4QÝ2r"±Ô'„«*>c©$ô¯w�–Ó¢-Ú‘Ùn\.W\7 ,8¼´•€:(㊧Gé]ãh’oU¹…ÏlœöO’š¤g›d…l9µy�öüïJ¥zCéuA2^Àà Ñ–¢»´³éË6‰KÚ–çÚ^esQ $á*W"y;x¥¬Ó¨`ji²éí9b¶8ò!ǹ]#…»)õ’ÚT¬ãÓ#ÊžßL0Á”uAsk Ði} ޼,5ßdº¥V§¥:r%¡ÙjVÀûêÈο§•\=Àǘӟ�¡œ!*'?+NmW«$À°N²]åYà]·•¡·_}C=â”sÝ£ª€óé�Ë^[;0c7gäÞ5\ýŒ®7-CCÊÉPX¸O#“Åo§0Ô{ªHÆ  žw7#( /ÈðÖêÑ¢–=åwoåü jd&;gÚL‡•”¬%;œ” ùãG>ú›¥ô¹:fÞÀRãJïK.�ª[ËÚsƒ� LJ„€MÆen{ `qk¬{µÕXdî ®!®Òúèlmá}û-y›Ú*oÎZm·/¯¶�ï*$$á rŽƒ¦zŸØþ®Ô×-^õºñ=Ç›Lu’ÚÚBJV‘Î>d`Ñö¢¶Í·I¿&{�ã[$·&3J‹ ¥l'mÏ\dç$õ Í;lnÍÚƒP¤--Û– Š?*áïS’°:$ùí<ð'’˜¶˜½íAm‰Ôo ±…”´•2>fÞàimwÚÛ[ñ+aA*ñ`r3åOµ/$1€­5¤¡ä(�ÝN8z´d¤ñ“åYÕ© ä·Ô†”¤Žê¯�¬¶ë{¿"[ÄÉu ©Õwg» `V‘=~uI#€ON<êõeŠçÙd½(å�.\[s-IK‡ ”’J¶õ®|Ž}Õ¥ôm±™]ÒF4Ü ;uA1œÙW–žÅœ*ýwY+Tåœõà}”oÙµÂϨ%ªË{hD–â?«ICËÅÉP*ÆO–1éYÃ�©·È yŽ•:Ñ9 :®‚øÖñøE¢Í�£¶Áfi± á�âG"QåÙ†#܉ÏhV ¡Åm'ÝÏ5÷îUê`!©¤¨dm~ú‰jZCÍç¦k]ÓÒ­‘ ‡(ù¹S_AIÑi?ö�²¼g’RNb¸èhÑzÓ6ݲÜÿu9)À yi ÇB2HϺ©-vU)öœTW%Éu_Õâ¤T}T|‡»øQR¯6ûMɘ·Ë™~h;öT’ÔOqPÁQþî++‰VQ2 SÓCžMìÖƒø9“aâŠÃ)c-!YíËNLiK†¦%ÄžÁ)ZR£ê \™¹@}Q¥[t ‘œõ®�ƒm±\Y �! mæ|üÁ œû”k0×–[Ý•Â÷z%@Z°‡”ÒHâ85f€ºY2ËMì;ÿÆÞ *˜gc3‡v_î²·¤ÏI$H]E\Û‚>l•þê$}Øîe2à4³ùìüš¿w‡÷TÐa¦ÚãÌw¯,­;W�žìs�¤óÉã}=4,¥£Ì%;A?íi{!’¢Ä¶CæU—gëp»3nÔ‘»è¯¬!CËB™Qé�¤Ÿ/unìè-0ê\S¬eŸìÇR”¤u$î®Yq²+¶»*hIÒºvë5H*•lo¾KœïQ@ÁëœWŸúkèÁëPUR=ÌcœÚ×-ÌríD°ÌMâ7Ç&¤ ‚uÿå9¡ôBŠ§Û°ÖJ�ݰŒ œœñÁϽFÐ*SÉj#Ñ$º¢K3_QóëƒÇN´×jÝ¢Ü-÷K•–×ÛmœWõ¥0* ãqð¢Þõó:ÒuÆ;VhpÓ+K2ç7•‚c”çé4)¾ŽÓJÇ>]?Þ<”¿ªÊÒÛå×�ƒÆË Ö°¡Ùu#vë{%¦LT¸¡½Kä­`üâODŠ­EãÓ;x«¾ÕÿžÛ°Qÿ¨íQ£ ’°á"ƒaosèãsÉ$�Î¥hÛ¹W1ŽèˆÇ)ÈÎ~U¬VôG;pÇÕWpü1[éŒ}UG«@þ¯�Œ%Gè¢QûAC'²T+. Ñ’y/ðš×;6ù®`;óŒ|d6SÿI5Á9Ý�yÚk]ì×ʱæñ?¸Q OÜä:·öǽn/ìé«J«±gO­(Ú›“ø£\ÑÚaP×7BÇx‘Èãæ&º^Oâ�sGi‡êæ89u9ýDÐÜSÝÿ¡E0Ÿ|{¾¡Åù‡æ“‚3œÿ¯:Ï;ONÒº°6úp~ÊÐâ ©) ÂIÀãγÞÔ,ñƒ¼gêU‹u ØBVW/‹½¸ËvÄ¢Ý�ÒÚBòIBVpxP8ÅOÕ·H퉹¶Ë£Ì¶¤ïrCÁ„ü‰H €„îJ‰'�p¨³dj‰ïÛïP!9²bZ ·¡hH[ˆ©ÛÏ»¯i~ƒÕkm7M\ÄÍ7=óµ0ØBëJ!J9çi *Àð‘ïÅž�¦F›·?Y}¬Ïuõã¦úx-Ev{¡§i7n¿WKëNì u2JK*)'o4ç}óäH̲ÅÔ—v4ÝÆuÅ�’ë“\*)X[€„œôÆÏ3ɨšOèê™–/¾ëŠ!CŒ‰‰y™E¤ªR7‚à c„)8ÁÈÉæ„û’ckƒku×r2Ї0JTR´œý@ÕÜB6>�äÊž#…k3êµiO;Õ’¥©9B|†<è:sn=$)Âp¬‘ï¢K‚•"J{ BWá œg­Uê÷·7×w¤ºBYg÷cª�¦}õœ¥ Êô)ädL»öRgËv�…&apÆCŽ `dàmÁǘòã¦(}«ö”fÐÊe¹?¼.åL’J•Õ@úp=õ \uFŒvÞÌ•ÄiÆa.5Äï*YÆô8Î+Ôú…W›û2%à ,ºÚ sЀ<…§„L H+5UTø_Ò¶Âûx¢æ#Cö�˜Wî©_5·2…ü2@újnçË…µ‚Ò“ÁI#ÝBv5Çœó­wŠqH+ð’yÀ÷Qd•:üHR{å 6×râ°xÛöÕyá,6(Ífq{]Ie[|¾“UÉ2V3¸“Ræ¼ìvÛñ%jWœu¨M¤ºæTIQêqU˜ÛzȈ ¦f)H·))è}ÕM’oñ¾'ü&¤ß^A ÇmY)åxéð¨šx„ßcqùGü&­0L•Mî¼£½v¿iÚ&í­´6›bÑ"#NÅmµ¹í€RP�q€yÀ5�hÎÄu�ÇTÃÉM©îŒ˜žù¦ÊTTŒœãéëAßu.Ä¡¦® >¥/+>à5îd­A \™76®qn$®¯Sâý­n¶·ð³ÏôC4¥æQ¯ •¦KC�sk#þÏú‹¡Ë)þªž‡�Ð‥J‘)Ðä—Ý}IàT~ÑÅŸˆÈÎøPéÒîh”ôÝU‘ÂMì>ªÉ�íg�ùAçߊû-D!ÃÇ(8 óM2@˜1ž‡þí90¨²áHüޝº¢âª¸ õ¶·.Îì€$ 2AãŠ&Ô˺Ztcâj{”—pu+yù2ÚÚa>mJ”u *u® ×_¹›“�¼MÂH+ Ç\ëÅWÜïöÍYŠ«Wgå„¥¶¡·rººT¶ ü†)*Á>¤“çNÅÙSTÈbld±º“k�6ö�ˆã ;lV}¹4Ž.Ô› Qwb,Ñ.v¶:ªñ=¸Í©™în(¶ãIñ(§wäŽO»4A¯"YœÕšo´Þ¡e:z3h#å&K¤”º8;¸ ôão¥vÑ©,óUmìÓL/ ©H7Wc¥ Ç÷YªŽ tæ€ûGÔl/R0Û|ñ¶Ã1X*Wv iヌü}k3O�Ub2·7�¯»vÉkâyÛ@­t쉦È×~+J~ÅÙt½s>çzÔÑõ닪�Ø+¦ wmð¥)#> c4/®5Ž/i‘§ZåÛ%Z¬°�Ý­˜Ž%Ô%KÉ[ª à�›ðõ¯=—^S¨îº‹PýìÙ§G‰eykntT¸Ê\%dŽT£”�>x b\‹¤ÃŽCЇ&cHhg•¹µ6²zPÎzŠÖRàM£�†¢c#Z-m-®œá¡ÓkóCEOL\۶˾·Ð Q÷zBîñ®“!²ÓÓ„R´IË!Ä©8$$Œ¤mÀ`Ÿ1@F÷¢ jÅj'¬–ã NIn}Íâì‡d‚6„¶�žON*«G]íwMFÔ[¬ä\œx¶˜N±kHuIÁJúx¼�#ž•«YìˆfC’œi% ð„ã©£°ú+CZ$�Î,ÌlÓaa§ ¤éÞÒuÞèSj=[ªcÈjßd‡¤­W3ÞJîFeÌÉÅ€òàÐ4;ýò7jPb»r\µÛœOv¹ò\v@ V¢@æ·uÛÛ*TéC œ4ßš¿×îêÙ ;+Õ²§Úž™*uñÆ™•r�)j"‚Ç…KÔ1’Bwt¨1*\¢vVz­±Üòï$è7ìP²Iç”u++´èÒÕO#M_^¸Yg© Ÿt‰,{<‡~zÊUŸÕäd"*ÇúBèˤK£WUkÉwÈN¸†[·>éq÷^ÉËiB@c®<þ“Øb^œŸÇ"êæœÒßÙ-ö«bôÛš’ù¨#kcŽªuÁ4 &˜ì“µyn¾ÔË»6hmº†ãÅmkKËJŠŠÔU”„‚rzü+K‰IVñQmìKXÖ\�,,_°;m¼4 øƒC~ÒM‡’Ñ»Mû×…¥ôþ�oL[©n‘š‡ì}Ø*Zœ)\’:àãÔ ]mðìºÅ�nŒä¤A„�.Hlà¼@;SôÇ'ßEš_WX—¥ï¬ÏÒ�[”R¡L²—&KPa$$mIá Ð+ÈPF’»ê7uoáø¸Š¹¼¨ÑËdµ xFÒ~Ÿ�4ÿFŽ%5[À'Õ¾k»w›h-pF›ï¿!x�±ŽÝ´áϼ®ŠÑðtÜk ŸF\„…)N8^J�Rò%H*ãqGN221×CÛÆ�¼ÝãGÔºæ´]í)HЇ¾BX9²|c?Aò#7Ôݼ= [LÜô¢ê‡òãŽÆ+Žîàs�¡»œóÿ3^­Ý²hkŒFãH^¤Ó´¢¦Tâ †*9PÜ’WŽ€aBÓ ÔKŠö²½…#sXÃýá¼I,)H)u^$œc“[ àŸf>ôÀú¿áYܘ±â%o:÷\ZÿóV·ÑFg•ýÈ&2 º¦S†3é9”:”ŸˆòøÕ•¹í¸N@õªge&LíÞ@ñôT¶—µ[…z Ssu�ªyk€²+ã­b½z½Ü"éË6W.^FìðÒÎQ>@ óBQå¥ •(ðjêÁdÕ�Fûë³·5ŒaÖÓ�”zQôyWjžÈ‡¬à/µÕºg:[5 žvä´{¾•�¤­L±¨(�¯9´,¸¬r¢?ÖQF‹ß¦ÖâÙx NqD„xV”¨�éÅ\[µ[æŠBe)Ø÷该¶Ú�Ë …aÔ}Ø#×Ó"ª]n~ÍfaJ¿[‰s~HÈ%>àŒãÝB÷²�æWZ×¹ä-º3TøzfE…†›k}‘ÌÙ3-zmÖÓx¹I0¢òa9!Dzc øqé@_pg4ÊJ›qYNå 䎤ÖŒ¡ÚmPa¢DhIax,4Úwì R–µà�H Ï^qïÅY´¦‚×bFÕ”›V2„˜#ÏÉ^µçX.2Ì0M#c//uÜtÚ�©Ðwïu8§é�wod¥ÑqbâÒmϪ#¤µ9ø­ d“ôfŒmÚª4Ùî[®IqÈ%H/2¡ä»ë¯—×›‘²"#¡N9�½¨ P$‘ïqøìüê�`´¦õ|‚…Bv$R�àÒ�¶ÒNT'9<¼`毻Ò:zÃ%EC��¿u¸›o}€ÛtèË¢vF›Ž!SkÝ1"Ù‰ÐVÓÑ_…¤¸žœ@èagv¶ƒo,mÂÔ>T‘äO‘Ž<ëf/Þ$\ä´åž\[pV#!çà�ß_ZcUé×înµ;ð÷F!N<Ôd¶²Oä’X¨W>Õ¬¾ÚôKž’aKØ&Û¥© P)ó“ÁèUåŠ+é%cœÈÞï`|Ê¿€à3ÕÊøái/µô#A±¸$sàV•ÚGev«ð¸\¢\܇.n·——Y)ÁÉr9Ï5sÙÖ›ÐÚÙ²,Ó_ïç6Ú߸§ÀÍã’O$õ¬ÖÓÚž�:+ÐumÆØèÂÝÑ¥-°�€>a)'³’2qÐ Ò_�|Aq²\"\YÀ.« H>dNº°Ø®3ˆÓSІ¹¼F·ï"ûm⥛Ñ΢ìµÍÍØ@¸ïî ¬wµ-ª× ñì(?þÑÊ£B°µž1��ßW=¨kfÿëÑÿ¨åR² qGȤsBðmh"'’ œB¸oxˆÞÀJ�>ÿ ÿ:¤Õ…A³„«j¸ôPŠÇ�HeÂ¥9&«I´®Â"g²Ñä�§bL\•ÉPFÕ¤+oŸº³þÚ$,_Ö„’�f nl€8Æ}ãœzÖ³¤â®5½”¸\ydn;�îøV;Ú•ÕW½o=ÞåKC/0@;qŸwŸ]Eƒõ.u´ Ž5.hÈC½â•`m×”2R @$Ǻ¨§¡IŒì†äe]çpU»‚=ý8¬ý™öí½Ú¿êO H=séP¤6£";„•­âápV?àMj©£Ê\Vj²a(`ìDÚ2k0žeN6²��§¶ó€�ྛÔk„ {+OÊÛ¤Žß,àƒëÅiD´Í¡÷VÙÜãŠÜ1ÎÑÆ?q¢m',Å’ |:•$…Ž¡Iÿ•¨vg‘e¥¥aŽ&8‚6P�¸Ç�%{ôº­¸sÆ2”�_SÅ1:{k)TR¤€’3‘‚Ÿú49ڽȚ¢ìÐ(ujP)O‰? *$K›¤¢ÜYJR”¯vv«ƒôÔïÃÃX׳UÙ’W2P/¢ºuyÉ'&�ÓëÍö7÷�øMW<îæ�ÓΓ}‹Ïåðš¬æú…lŸÕhí O±¸¾BS‡À^HV0 Á9«=Y2*íêj2f·›R½¥C>¨p0=zäùUºâ 8¥ˆÍ<³Ð¹“�æ1œT‰—Ã&:Ú\É @Œä´=¦Í²2øÜéCí²©Ï9ÍhuÂAãËýu¬õ9Ýáõâ�¬ÇäRFãøW[졘¨þ«{• æq²À?G4¤�áÝÏvp9¯#59H§ËûµöOG ÇÍãÜ:×èYYíñ›‹»OÇÌyâeâ‡Í8ΑÁ¯Zƒ&èæ3ï¦cûÅzî rañ‡ Ý«^â*_ni½1f�iidì—TTóëùÎz“Y·h M7[˜Tw�•ÈÂUÝøTO¼ ÖÙXú Rö‹ùúYjˆ•­ÈΥ℠’‘�p<ð~Šf)‡6Jk0[& ¯×Š"þ�:²Ç¦»?ºé;Ý™ëƒw–öÈûw¸¤¡J#* ¡�~*šñ`…r°FM‚Lçåw;Yˆ@XZ”¿ p HYÜA¶Œ{±BzvKŒÚàψâƒì%I(J€%%]"¶?èó«`Zï«û­i†ë¯¹ˆÝò‚C%\xr9$Ÿqô>UçO%ò4kQ8‹YskÝg“Ùu�íUó¨LT°Ò…ÍAICjl¬¨q€¥#Ÿ*è§a6`µ.:�üE§{n4 ¤¸˜#ƒšµº^¬q;TÔ².HÒm²-ñ¢Î”Ø eÆâ…�Àn8 (#pùœçŠÌšíSMieÂÚ£{¼ rÖó’ëH÷(œ# '8Î3Ó4v V(ŸÑ¾Ât%ÂáÃNjÂ}ÍH’§Ÿh• à$tÝT2½ve2v¤²O²Î¸êg”-)J}lœ�ûRw$'vÑ€rOŸ@Æ¥ÔñѧU|vã8¶TêbHXiÂyÆî¾XÀÉÏJÏtE¾î­m÷áÙ º^ïÚ}ḆÈÊ�xá%<ŸL�“cÁ¨«ÛÑf/ÜÚÛëâ¸éŒNÌÓk+û×kšÿQkØúf¾Ý§®É_³ƒ%ÇRW€•üÞO§ðªÙ·}C µ¤ìº÷o…:ã¨Bs¸¼ò�x¿ÂF0pGúæ¯.6A?S9¨¤9(Ü]x>·�áNç2ãŒsÀ¯7»Ck¡¹]"LÅ`)×Q*ÇLäó€ú)Ô†CDÜ´á­îåߺ¯. é®IU}»[µ]ŽámÐoMM¶FЉ-w(ÂÖµ‚�Œg#j@O ó“ƒ*;/¢(yJÊPÉ÷T÷c´T•ÁZFˆÉÇÆ½!m# ùÒá8$hp`öx•Nz‡LAr�¤…xÓ”ägáFú¹›bc{3p`¥"Ka¸ûHxP$ŽxÛBa­�:†‰c= 4Þ^cæòªB”“ç’[5ä¾”I—¨ohþ÷�F".ÁiË7üŠ…>ѧŸÓÍ>›]¥2[i#’Ü„8>qVÒ<ñŒÐñ„½±v�ëÒ¦„{?|ò·8¤pp¥uV6Œn'‰.ŽETE% eJ+È íÿ$ãTî•ÇPÿëàh,RÚÜÚl®âXu?éÓJèÆmÁ#PŒ-*P·´JˆÜŸüÆš–3!ó»~8<ã�N[ ÓÇRH÷òyú)™„%÷|)áYõ8¢eyãFªÛ=Á9õÆx'ŽhýªÚ´Ï†ÕÆÝ à;°P²È*è¬ð®”mw*î„ãŒàã#�*Ë55¹û›íº’�ôuïwBœçˆÐ8 ‚m}4Ñ"•Æ0 …ˆ¸�#¢Õäë-?«PÖšoBÙ–ÓzNÃÄ(”¶¦ÒH#Ô‚ ëNöа» MÄ•.$Ä ÿXy BǼa$UD ]¹6@å¦\ö®Ž<{¼P Iá)#¨Éÿ]*"¯Z†Ñju+‘w *R^J•”””ãçuÇÙZl­¤gô@ãr|ì~ˆm]-õ\¸_A§w0¨o$Á}Q^I)·r~iÇ<Ú;)펇DËÓ·¸}÷tÊŒG0UÞ$+¡Ía1.2�”%+Âò…�¹ÎA>š˜¨Ï �èRq׎•­–š—ŒÇ& [±c3¾�ùãØðZ[‹7'šÚ‘—VT®ìmØIÎ1å^®P¤ÍKmôÇIX } íóéÔÔ;lJl-¹Ê_ZŠ÷¥I OÀt<{«ë7ÆÙ’¨3Ý:8'æŸ�¡÷Ô2FøAɨš…ª‚¦–­­mP±?›¢ë�µM—ebà…H†ÙcÚØˆ§S¢FñŒÁêqŒÐí‡LêgmÎ]cì·ÇHÀ~CÁ€éòvÏ–x¬×Ri¹ÖùîG�Ó±änÊ�ø œž¹>^ú ÑaØ´Â>”Ù¸|š;Õ0•¡¡9x‰5ý‡†^e{U¸ôI?+$~|»£ËŸ9âô—ÔTµŸ3@='§ ¤kØnÒï¡^�ÿ‡SæÅ_ÅŸ�ÿ-EšN|x¶5¡Çæ´¿h$øÁáœôèp~<Š¢MÒt ÃÓms„áuJJã¸P@$ž£Ê¯ôܯi¶)Ìn âYklu-9PÏ‹ }ÐÝåk]Éîð´¥`© BUïçž}õŒ�‘lW¦QÄÇUL×·}ï¯ÒÇÌ¢‹}úé�í—i>ÐûL†C…�IÀäåF®°�²R¥ �“ëÍhóòÎF�xÆ1é“Vb±´äXä,‡ž8Å€v€l­9ˆ€ID•RjÃø‘œÎ>vÁ"+Cnp¡Ï¥QêÏú‚ 访EO´I=’¡XF., ’yùMkÝ™ã¹89ùcüdVOþ&ÏÓþZçfd÷kÊvü¹þˆR~àw!Õ¿¶=ës±gO­*®Åý�? ´£HnOâ�s7ißü÷u ~ZrHãñi®™“ø£\ÃÚ©ÿóåÐ Vž¾&š‰û¡ßô(¦ï�wÔ!æT…$Œ“�øÖgÛ±/\÷£9þê«Gek+)çÓŸó¬×¶pQ�T?´ðª…SêðŽLr‹¬ù—I˜Û pzÕK À©M(š¼öY(庳m`ò*Ò¸bëîƒí³xïµ`cÒ©ãcx¥ª–”&©–ž?*éHʉ=ñ¦2ží½“ê*ú³3Zä­æë~�eÓNJqÁ™iîcàg(ÆTA÷ð+"Ööé÷nj žøˆ|ŸgIPJÖ‘ù\Ž˜è08UnDuF�uÔ/6m¶ÆÃQYPÀqiîžú øVOÚ¾¯^¦»|“«[ Ÿè‘ð©ðºî|F·8-Cœ�Ñ-{Fä°pÇ8§áÞ¶ÉŒe!µ7d¥)IƒŽ2¸~ú«ÁÛ‚¯ZhgxÁ QÍÈb¶+p�"Ø™1’•7%Å-jC„§q9ÚQ�yÏ<׳º$äËNB±Þ “ëî"¨ô2w³Ì„£ÙWÞH@VB±óUê9úÆ®d¸ÒÙs%**ÏÖ]³›•¸ÂòÍF,-o¢¨Ö=ýåk¹{:ÑÝ%jéÞ�”¨�w]OiK)q´’°B�É>Cìú«L¼ßÉÓv[S{dÈÛ¹éÌs´8t%mK¬Ì~l~ñ©1Âe·×½*$çƒÀ'ýÚ%C.fä:Ùg1jc�%­}ûÔkt‡BØ|)/°v-*5i§ŽÛÜcþÑþ¬¬Úÿ¨Ÿû§cŠÒ··ò̸ò§�ÛQ“ãV9ÀòÁ<š®°!iÔÚq% K…*¨ *­d=nH¦TgÉ}ÁóZ®�ƒ|Éj’…8�Þ! IQR·¡8Àäð¢~Џe«Eæ µ7l†[qMºZ ‚IðZ¶�YN•c:èÓ,&;qÛî–Žð¥”íÂñ„î÷�ëPF¶±Å÷•�îyÁàQí¥E18Ç yuâ€p±Ž£ÈÑåŸ>ÈÇ–xã8®ePÅ}ã{•ŸÿæxAÚAÆ}væ½>@§Ä89ôé^3‰`à=Ù¯²2 áÈù½R|©¨YYõïÿ‰¹ÁëQÛP©w„ÿÒ�|Ê£¶�œŠöLß§ÅܼÿýËûÔ†×�0 M†éB� Ï9¢=3¤X‘gEêã>(eN)¶!¡í¯IRBJ€Q)HÜœ¨ç¨$€tÈ]˜Z.z}L,¹§æ½Õ: �¦Pr¿PRqƒÏ äuTÄ=#¦£Ð ç²Úyÿ•¥•âà,â–�®-î°ý½¨ë†R£qw}Æåâ#矚wQo¨áØ{?ÓoÞïV[L§mä¶ÌˆéPuYØ•�Äœ|ä¨ùôÅg×›ý‹NÛfX¡^[Ð^–ߎ”RH*Vs�Üž¼{êhZÀv‰­¬Q¡FSv‹j>èMÚ…%§$TF…�sËÆç^äRBCCx&õȱêW¬–ý5l»ÛÝœ¤¢Te…;$q´$¶ê³ÞdoY9Äê�mMµ °Ú½™„¥¶ñäÀÏÐ*ôl²»¨{%ŠñPï#Èy„•øB·ÿ›k6Éqµ‘ÞÅp¶?)<��mpè™ y˜ë—[uFW�¬„ä°¤ªI >¼Tí[û°�Ç8Ç\Ñ-ÅÈëoiO‹LÜ…Ä–™q’•8Ò·$Œãßåñò£.k €¹²ªÀásatÄ»†;õÅŒ£Ïvü”!Cè'5Dc€\ Ú£áZ•|â‹­ZúÕn²Ç¶Í²¥O0�ªyØ«./Æ•…$“Œ(äÔwx÷‡šfÇn~3{P‡RT†ÂRçyœ))*_TŒ `õò¬Å¤£ê¡Ð�t"Þ'M²«Âã¦t�›Q{Í9¿ö�Eþ\T2ƒÀ«½:ͬ[eÈŸÇ B7%;ÂR ¯,Œrž¹ªÅ'n*æ×ìqp\Šë¹§Ž=Øs^yéK­ŽNM¸Ä/QôaÄú=Eï®ß÷R[aDöWa:V‡ÐV@ÎÓÏ=�SHH�Rðê4G~’Üä4³- S)Ø”€y|’‘TS@H�Оø ? ¨¦­¹vD±Èp™‡[}Q¨$F@ÆO$çÌÓr’Ÿj{�ÉI žGúú©ËGZ99 ÷òi™J[€ú$Ž8øÑãºóaº¯»mNô…(ƒçÀ⃻´î$€ÂŒn †‹x�$c¥ mÉë�åW¨õº#†€euù&Ò RpG¦iïmx‚âÎ}õä!9ç'ã^ZH*¡Å^kMôEÜr �‘+FãkÝvÆ «ˆO³<È%{�)NO¦sŠ4Õ݌ưisª®WR’ôD$£z�äd ûøéçY�aqˆ¸ 3s¹%0ÖVÉmÒ–ØN|AÍG?åï¢=w¯­z¥Àí¦~¢@R÷9 z’¶P£ÕHPQÀ÷céò©Ý%mÌ&@ëƒ|·ÓQ`uåóY¸ÚçŠw05�Ûåö¾Ê®áµ«“î©ÄÛà/Ä„%]âÒ“Œ'È{øxò«-r´ªL[µEbq@I”ÊJÖG[ÎNsÑ �ê1AwkÂ×Èëi RÀ#ŸÂ©ã¿5–#4ÊC­?Þ3éâÇ�@©ë&š¶0ÒâÖÜ7í=ê�]=g³pm�Ïe¸Z{‰újdÙÉ�6Ïa1“= KŠ* Î̃קï¦%ÞçÛm¯ MŠkɆ­!I[­ÂùÍòT�Ù)Mfquq Yn]òƒÒÞkÆQÆ09Â�R}ø­UýG¤¯™=`e³- p0d¡Å%Öw î'® Hðž ¬»éÝG#\Á:Xh3Û¿iUg£éZ㜆°\‹ú×ú�±ä³¸:óVZå»rö)‘X*ܧ}�œž ‚@OÓ×ßU7Ý¿Ivðì—zK…N8⺬úŸ/…@˜ÅÃBÝÐÄö½¾Ó'%6¢ÙqxP衞AÈõUšÙ‹oa/XewÐ]’•¤dƒä¡ÓÝ�uz ;œnÒCzˆyÌÑò]ÙÕ–ÕbÒp˜�1·d)!É ORáý@úEmM@>6’µ‘Ê8WÓ\× ¯/¹wb-®àݶBÕÄy$ª3‡Ðr‚}<ý|¨Ó\v�s·Ød[$ÚäÛn¯¤´—2ÎÓÁRç‘Ó�ŒÔsÆzÏFçzÇ_Ïñu¨‡£êùF– ?p§nÚÍ�GD p(·ÀÊzþ1ÏÊW¼€ü}hQ’ÁlÉq-s´8APò*‘Ô©'�yçãWÜ[‘[RÉ$$$|©úacãk6Ì?‚ŒÿáTï›�ïܰÿɨ²À‘µ´ÍÄnu?*–ö­%'ãÊ~#ÌU=ݶ{âóRàYå!YP?@Æ(ŠÏt¸G°Ã‡i’Ô’¥¼°÷Œ�ÎÒsÊF3Žœuª½k-©×dJm I[ ©a!=éÉÂÈHÅyì€ta{%äë¦ã{ü¹édž¥zÒ¾æ3åÒ‹�Pˆ‘�91ž(KH•sÞy¢´�¿hVޏ«Qû¶¯(ô‹ýV£þåhÚ‚¡'È•ÅRjÌ|�>JE]2µ‰O_*©uGÎk ÿ*™žÐ@$öJ‰eÿâLôÎU�Õ5®öaŽåxÿëœþ¨¬‚ίúEœ»ÿ ­{²ìû1‚CǧÀUú?Üä6·öǽnÖ/ìéøU¥Uس'áV”mMÉüQ®\í]Xíêz?ôÓ]G'ñF¹wµd…kû¯_žŒãþí4;÷C¿èQL#ßï¨CRs’0O$ÖqÛ2ª0sß “ýÕV�÷�Ä“çYÿkm÷‘™B\÷pªNlôraqe—µš�’¤«b@R�çŒÓìD QP@HèO'œqS`Å2Tb2 VT…¯ Iã'޼=æˆæÌUw4·K©šZµÜ`È‹¿vÔ;Âz[Ý´ýÙ™‡±-ÂûÁ.(Çæ:w€•ƒž¼u|bŒ;5²[4üèwÙ-!nÄeÙ ã¼m!¾ Ûë¸ÿå4kÚ5í7DËÔ[�¤¢Ø‰ICmlÞµ’™#Ÿ:®ÌB—‰#‚­SšOTìçÙsOi®^Y½ª×*R•:CqÐ�µ#Ýž½rOZ·[$My1âÇqçÑ-¤¨üx®”Õ™Û5s|‰c6ÙYp „©ÂxèÈç¯ Méí N\$&|ÈV˜·‰RHJNã„’FIÜ*˱Ú`Ïèê{�9´N2^]�”ìÁ”Õ{P[ïxRÂWÂ2:¨ùŸpâ³yZjl[ŒÈN-”½Õ6RWÉÁÆk¡-ÒÅæß{E½C½…; ·¾ñ9Œô<„'Ó’j»Qh=>´ýÖ[³Ãª—!. %å!%_7’2jLDÅ+�S÷ác§åÕªè"|MÍÛsÍfÝ�%›N®†ÂTœNŒ¨ï§~|e@O£;µ´G¸%.¡ö˜Zwîm°³·F~±D–ÞÈ´Ô;ºfÄ—=$Õ qàv„ ÈPðõ>û‰§¢§JJÑmê WY‘�ãϲÉ^TB’¥„¤ìNpBrGNj)«©*Ç[½ì¬ÐTÍFÇ0·C®èU¶æÜ;‹N:”îî^AeÁïÊOЬû¨z+îGY·¼[i·]Nõ,p“‚>£ 9÷8ÍošoGÀƒ©­—{t‡=‰ø]ókXJ²³·Â A*BÏü“YÏhúY¹ J¼Ú™m³å5:i#¸PQ‘œå²GË¥MGY®ÿéΠ\ŽZÙO<�`åã±çþVßýu‰½NkG±liI‹ {&>�u×1ÞŸ"qÔ}VwÛ¿eìèm}U©•¢Ù%ÍÍäçiÁȬ“FÞ'iÛë8.)µ´°w:ë;^¨�Û6…U�Ò„_¡$:”�>T»}õzW‰˜àwUiá4s±íöt¿Ýaˆ¹NešúŒ—¦ÍÒî�ýºRGýá£ÎɬÖá¬ßj÷§=�µ’eo0•cÝœZֵ͚Ìî›”ÕÚÕma¥m\c„Œä‘ÁÍŠö]hë±¶STô]ö׿’å×_}ùל[Ž2¥“Š=´c§ÈÁ:=ý(iZbâˆÏÈ}e¶�¥ø– 8òÍÚÈ W<`ã÷SnÕ&$àdm¹)îþ9+HÀ(ãßà⾬íJÉFÑ´Ÿ¤b˜É*@$)A¼ç=|êjϪ4|‹4˜±>Þ°ò’¤Fi%§�T’•(𣷞½ŠÆjé«I{c¶»óí*zpæz·@ºËJ\¬*fá+åS->ЗáR‹j%>$þI$óäEh˽ºå÷FÓÜÜ{KÚy •߀�T¥¹;ò:,U ãQ^.ÐÞ±XíóŒiE,Ë~RÂÜy´�Él %ø°2xàbˆâXãinήia²&;Ç$:TI'i HÏ@œ¨üT}Õ(¬xmÃu=ÃU+žè›ruVPµËñt�¦$˜êLtJzâÒ›*ù:pØ$ç#¹Å ö£¨‹ºvsŒ%¶Ñ?drP@+ à�ðWï­:Eš-ÞËo‹¦ÌdÂŽÎä#†RrÞ8ýþ•†ê{z¯šò�µ­<uƳ·w埂SŸ¨×[Læä ØýSC³•Òßѱ§ì}�Yšy*Jä%}²RWmj¬ÝÙ~>Ú¿* ‚ôV-1¡Æ@i¸Ì¥¤$~JR÷TImÂã+)W˜òUi™Hr�Ä)K˜Š›¯£DrÞ¹íýû©RTãHVÅ­ñ‘çŽqçŒyÖ>Y»-ˆé—mSƒb= 3iu¥)Jp©Â…¡ Rv¤!眨«ÐêI»¥àPîB‡—�1*T$Z§%ûú,ÅÖ‚Y’¥$½éVѸŽHuM«�Ùs¸�/ö,ÁSîÚK´¾ê²’¶XjjJÀJ·•*Ø<yÈ×N³s,¾åÁ�Â\t)†K½â��©È*þöãç€q“DÍ_í-Áe§õe®k  î¹1M©~�¤!ü È’0r Ìõj=#(.öàqÅ©Fì0¤– Bv…c‡<|w¥U¦®0;5œ{ÊRS�ù}м–ŠHµkh¶Á6ÓpžæÞ©´£8ÎNxäüáURá³[‹›ŠÌduÎÑœÕ͵ä©„êV´8é%e(#�Cê‘^ié3šq™œG/à/hôh¼`0o{ok•öím„›kw+;àAG>`óÏ=A¡ëšv¦1ÿï�ðªˆî’�ëÌ�Gv „€¬§jrÎ}ÿV(~ó�Ü|{ñþPŠ|½i¹Q çIúd¡ç‡í¢½�ŸahmÛ×ÝùGÔÒŸkQÉr¬{…9m Do9P$‘úÆ™š·+“³j ü >¼õª¾ò@ŠNÒpœqåCSÓ ¢[ÐIŠ •‘Ž#¯Z'äÒ¯TŽ(…G 6•ÝÉyÕ^¢xe x�J°*¨²Ûmiñ§&¯^ÆåªñŽ(Qˆ²_ÆA)¡«ˆ�!”à7‚8£V¯¬P´Î±Ÿe€ë�ÄŒàîÔ¾R@V׊ì ¨loX 6ëƒ7ðÚNå6 ­¹äçáþUÉý²\!Ý;J¼N·¼ÛÑœu;ÙÊN�qôƒXZÚš™#key<Áà…ê_øpßüÖ[ 2w\x©š;E_/°ý¾Õd¸P(ïW(!*øžµI«¬2ôô�c¹Z$Â�@)RÞÜ’=Þš×»3í;L1¦aÛnò_¶½ ®ëASns�x¶€ls^Å èóãwŒò<è¥!CË‘Bº@ãƒÞ(¡m¶ëkB‰ÚH$Ž*HýÛVOÒ/õZ�û•£%„’3Èäu•E« ÜÐä�ªÇ=zyÕë& *ã9òuAªTT¶†á\gáÍJÏl {%1gOý"Á89ýÒ+_츃X|¹údeÿ^ci€AÈã¡ëZÿeê ee'#¿?ÀQ OÜä6·öǽnÖìÉøU¥Uس&­(Ò›“ø£\½Ú¡ÿøƒu�?ôÓ]C'ñF¹wµRhw@|ÖŒqÿÛMÄýÐïúW÷Ç»êÚ2UâÁ!\ühzð¨þÜ}µ„>Áh‚…ާ"ˆ‚žr¡çÓšÕĦJ}Ô-ÚBÒÃn™·ÚéB´i¥:µQŒ`‚¢µ­~ŒàäsôgʃîðŸ³]ߌn±Ö° µ÷.-IFVÅ‚A'�ê9Å2’ÂC�\[ØÜr½�aEgëé¸Á«é /éõ–¤¿rR›RŸKèK@ƒËj'œH'b,5ÔÞ³Ž§‚6'T–Œè+;‘.ZFkõ Nu,¸ã®ÂU•ø|‰*sWòn6»ã/Gjã †‘paN¡×6+ÙÙÚ¬G ‘�z`ŸJ¦‡§d[–ÅÎÛ„-Õ•ÌŒÛé( €¹>,ä8“š¯�í—>ÐÊ£… Ë)ÊFÍ„ ¿¸“ôÕY°®šLù�Éå¶ß`«’qqdaXYÓìͪDE3s’òV®ôa(VÒG–BR9õO¤$¦Ï£Slƒy²µ(Nyer�Êv¨'€¡Îh7´{­®È´Âi ·ó��Œ7�æ|ñŸO®­û'Òö½[¤¦ÞµÍtÉZb%;Ð�„¥#'œnÝõyÔ¸M= yžóbG ë­¸öªPÕÉ;¬®ª.‡ÕlC…©®O½<Ñi°’¼RÊŠG_Ê¢ÛÝÆÑuì�®Ð!æ"½­ß ‹nFG˜Ú>±PœÐšH@z[šrvZ ­oHy$$¸á@yg“ЇEh+޲eˆfÅ&ܸkIŽÅÀ©îø+!@d�µZgÑÌ÷K™À�vånÞÅ3L셣Ͻܵ•’ÜÕñNH‹! –Èy è'»Sm!|yàdœ{ê³G¾4ô ÕªÛx¶%>Ûí6÷$:ßv¼e'‚•¨ùÖ#ÛVŸ�¦5ÓÐà°¦ ºÚŽ‚IÂHÁ䓿 @œ¨]Ó‘Ø_r§;¹ÊÕ“’àIéžOÐ*ý> �Çœ®±Ôrµ´üÝW}sÄž³uüþMéíG‹dx7 ÖõËeåµ½§p�5'?7n j›ß²ÝÍÚÔ„In[Iuäüäm %IX¾¾y¬¿EH�vÔ•'0Ø�ÀKá:$„ä†FH>cŠ×DÛEžÃ]c©.ÆHaPÔœ>êvŒc¡ÊT20:•=>)$tñ¿RvªÄUÂBÐöÜ]e×hpÝ’ãöô)–Õâ (çn|�ó­°àå‚|MT§°ê^)ŽÖq» 'Ôc"¼w¶&|mÚØ Y%I#8Ÿò¦¡ÏT»Ì4%¤4†Õµ  `&…IU,‚Íí[fáì �Ùo:æZ¥Æ…¨l0Ó& Õe—"„¤ß RÔ“ŸP“�Sñ¬êižÚÞ}ËCìˆÊJ\JˆËaJ8>@‘Èú(“³éWu [››ƒ%ç\!á„w‰ŒöÓ“ïàühë[°·4UÕQ#Ɖ÷�Ò;ð¥©N> àÅ3ÆéŠ#ÔBdp7Yzª™¨« l[¥´¹²Ånn¨Û¤Ž1ܯ¯÷MxµêÈ'®1öWÛ¢Ü9HX†—œކ™µ"£8@#=h\#Ô(î"HÛrSŸ!;I<¥°ìÝN–Ü@ <�~5ìl ò�×�!ÿu‚’ÛË  Š—Š FŠž4u:샜$;ƒú¢•±KºƒP%¤:Õ‚*XŽ‚¡Ÿi‚°çj_-Ù¥å¤IBH¼y÷mMZ5�šÃ.ÿj¿—“™Ê})Cd©ÐRG8Ç_Zôc!ý"ï`ë_¹b*�5O·5W{»\³K�uK©S¬©´|!ãŒ%*Å€r~¯*…Ùf�~dSq”¥GˆùÈ 8SˆCÐyëéëPQíݤêâZŒbZYYR’ŸšÚxúÖ¯õÒ¶ÈV÷#ÛÛ⸘è´ƒ´À¨ð¬27ÝòjÎ⢚RÝê­«,F¦µ&'{7€mXAcßëV’­bín•nQÚ$2¦‰ôÜÏï©ÍÚî_°ÉÃ-÷®’Ñð#¦ãè=õ§-3æ}‘ߘ\9A᪾¡Ë,v@÷²®Àé.¹õÍQÚM¢Þ½É(MV³kqI‚9”+DìG³gô”g.÷ÖÓ÷jR1°�£’3ùÇÏêõ®‰ÒQËqßIH+JIQÀœϙζ%EˆàmÆœJw¾…AECh�´’Nìz—n‘2¥Il´ÂKªqd„)[RsÓ\:‰T‡äÊh÷„ä÷kX+V ÂFà<�îó"„b•qeß²±IM,ÎÊÆJ»·Ï¸Ü@jýfFœ„S—®K€óhi;^Qw+è�Zm%$d÷œ‚šÓMÞÏp¦ûàH I�çr=Æ©$[´!¥Ç,—’èpÊ›ZÆG$�UŒ¸?mxº¸ýÊÖíÂÞ›²!ÆO¸ë]Ú§‹ zp=|ë;¥”Ð8†¸ºúkp/ÞB1ÿNU½¹žÛ܉îÁ-–ö�œô¯ve\® Ë[.æ4¥o>·@m稨|=3Y+w(óç°”É�µl HJ�ˆFh½Voºý–_}‘Èê»@»ÛçC޵7½Ð;Ä/ _…@äç#Žk5Ó·§]JUò‰I*lÁEpÖZ6è>ÊÕ[ª°M;†s~^ÇÀ-NÙŸaBº`+øŸó¨óÒ}µì«„íœ ŽžêzÐq °2¤ŒçŒþQ¦n ¦s ä�¨ýÉT«(ÝÕeÐü�IãžzPÒÿ³ çòGð¢+©=Ö8d*sHÀÚ*ý°(†/)îOZâ&sËmsbà AP\…¤òçŸÝP.Œˆò;¤ÉfH ¶I)çË�9²vw/BÚôSŒ\TÄ넇X~Jp„¼’J”G@ ”:ã5ey¼èK”©¬N¸[dÇZÙ0ÛSKKM¸”<\Ù…•¨+ƒ“¹>•y�²z­:¨ªqG)ia°X†Ö¾ j;ÉØþOCQ´–›„ê˜DŒ³†›y¡wu‡ )P­@¹¥O«~7ŸSÖ‹ä4ä4?:)ee$‚x«ñM›E�­¢0w!Å•6í¯ˆIQIéWñ”ÚWÜÈBTƒóIÅZCDfÕÚIòp$fœù2ðUস]Ö N‡°Ýa'î¼wnPC§;�zçÓ>ê6�¨ ÍP·^¢"$ƒÿS! ¶³ê•?ÏÒ‡aÍq¥}XH\K‹ÌÖRêOBz�²†Ëi˜èîn½�”ôâ( Ç»V»ì{´ì*Þv�Zxiû¼«Ržq ê‹KúGˆæ¡ad/ê³ÊL”,……æGŒS¬»}°x­®œÉŒê¾Q#ý•¯…|zà‹£†zq�î< )$pAúEŦ©|A²�á}øø­O¡””Pâ|,1¼´Ý¿Û¸Õ¼?6EÚs@̽Ùá\˜–” N) kRÎÛáNýÇϨããTººÃ#N^M¶C�ÅwHu* ¥c)<åŠ×û+»ØYìîÓo›2:ö•º´¹Þ ¡Aç:¤ä+äLJ�@¬ç¶)LL×/È�pf{ka¥w¬´¦Ñ’2BR®@É8÷b•m$1ѶF¶ÇESѬªô’ZI¥&0_a§§_£r^tJ(*â’I sëC7ñ¯tÆ9¢Trð;²vóŸÓîªqû î@½"ÿU¨ÿ¹[5ŸdòãÝ×¥ê…)Ž„€¯‡•^´¯êc¡÷y  Ôþ4>x>¾U4cÖ@¤öJfÆn,¤|㜠ÖÃÙv}�Y'¿9à+±dÜQæ<_á5²v^Aexþ°sñÀ«ôŸ¸Èewí�zÝì?Ù“V•WaþÌš´£hnOâ�rßk~®ƒ$ñ³ÿìÓ]I'ñF¹[µ³ŽÑî‡?–�ý$PìOÝÿº+„{ãÝõ ‚0RByŸ#ïéT—øBAp¬�Cj)Ç>,ùþú·`€½Àyù¾´öÍËPÙââ�p²Ñ¸8pY¾”D˜×9¢ë L´] ecÄNÓáÓÏךÓ,ú²(CìϸKJT—GyÜ Á(8 ë�Ÿ*ª“K˜HÆüŸ¨W•0„ ü’U“Žú÷Ñ&â ¨—©7_fÊÝô\ñЙ(Ì¢"¹”¨Œ+¾\z fDÈv¨„Z›TÙA¥²Z SÎÞ:}57¸o¹Y g‘S¬Vs{yèѤĆ–#»%çe% Cc*'jTzz ’³AUÙEN”øñXdËVµzÒ´!«—zêÓ”®vä„`î¯G_J¦¶i-cm�™1 >é>�”¨qäB³Ð×C¿ T(Œ».ß":$#{*y•6N:¤�7G#Ö­î::ïô²ðнÖÁtl¡JP[^ x~xÜ<>ñÏJè®�‚’�Øt‚^|ÿÂæΚַWRìö¥ËZr–ûé YJ}īֽBЗɎMŽb¥¶0…d�/ >úèkm†årŸìI„¸‹B¤¡nHmhJa²ë�“·…„§æûÆqQض܊�R,³Ôa/<¤ÅY ¶¡¹+/‡5îÏgûª‰IjD8lÇFù&:[e°Vœ� ÉR€+®Ä¦}šX>jX©"‡Pä r¶ÆMÕMÄ’âáŽC…µn#rEYi©p­2ý¡¨¯-ààÂßh©õ&Š`éùR­—«ºWĵ¸êù«rP{¢ ©$œã r*±,·°å)J�N1ûèDñ‡¸~HäX„®AÚ/W�JõÆBòœ[iÉÀB€I)Rr:áD�~+è—f~Öò^K�ÉJ‚šWv¢•䤑Œp S�zcp󯈈ßz¢O§ýf¤–Z=ÒTŒƒ•nëÇúÖHXÜ­&Ê2Èà÷1·mËÅW=!¹^B7¥N4¤Œ Ž ùš÷¨í%Cœp<êÁÆQÜ,–ðpx ŒÉ´žçƒ�Q€,²ÌéŽg/¥çp)>žh « W$�qWŸÝMI à$`cÜ0iø„�²|[� J3²¯„Ü6®*MÍõFenîRûµ+Œ$ƒéLv‹cìÿQKeónQ[ †ÃÍ¥ÆÔâGç` Õ¤ÆP§O„Þu÷‘ë_$0Ø ;Ž1Œu÷Qèqùã…±´†óî„Ë„E#Ëîn9*k3V[TDE�FŽŸš„2®vM[›ü§eÆ�›£½äVÒÜoêM«»JwŽ[%@(ŒçžzŒ×¡´¡#¯þ4äHÍ¥@wX=Ùÿ•Xw¤ó¼èÛaØ~êÐ⇗Ù2þ§’]S5ç‰1ûĹ*Èdïi?‹àÜc$œæ¬mš‚ e©ù:†b!ĸúÓ'z‚ûÀKC>?”@Ý�1Cwv›nøáRB›ê3ÎÑD7-.«{QÜ‘z²®Sì3%¨-—Õ!It%Hîög •MýrW·H™ä~é~• d]Ç_ÎHªÙ«ôäv{…jû¤v»Ó!JDe)n¼IRœR”Ñ;²¢x ñUmI§P�jÔWqÓ!È�âRÊTW·k�r³¸¨‚¢pIàP¬÷7\f;v[Šß[Ëa-&*ÊŠ‘ÂÒ%9äu柵é+ÕÍEp-²^x{IS Žè[}ÊRWœ§nì¬$IÉ�‘˜F)17èÇ‘û§> Ëÿ…)í`Ò�ìkäÞþ[�ä§”ÀÜöHIù?šhÀ8ä­{UÍ*S©Õ÷2îd,GJ VÿãV [-C�Ã@#&›³éë­ÖámŒˆ/CE”Ä‘)¥¡—Hä+#ášñoÓY3Ìw¢=A[dÈï7�ó©m >œœä�–ORZš‰�É#»E+))ÙÚ†µ ïTÝî­¹Œ­Æ‹²ßJ3µ´68Nâ ±“ÕDõ9§ Zá{CÒ.N¸ÿ#»-8?��2¦(²=Šì%¦ v©rž<„ñ–°èmE R09ŒgÊŸ´Z]»I‘.EŠ˜ì)éÊR�ÛI©Xõ)œ�1U¤/~…OQÆ3…äÏ¿%Òˆ×ëðcGzàtç .$«¨¨×VºEÅÞñx¼¥wQŸy}ßì '裻v™™*=áøÎÛ—ÌÙSï¶ööÝÇ“E ï$|¸ëŠ€ÃhP>î¸ãý}µ[«Ç ó°û)›gÞÆè8òVQj\R� ðV±Ž§iÀƒ5åÙ·¸Ð{ˆ0�[™ÝÂv� “ÎដWN>�(½QÓ¼�„uÀéR è€O9>X¦ˆØÙ:A{÷£ÌƪF(ËZæbüoÎß%œ©Z¦å ›ðACyS}Ó ¤’ œòœy%=Τi;Z˜ž‡…�ÔI tºH÷üÊ�¥°ÖÅe$üÒç¼% I)*ò©ìÎÌwïP~£/Wêá� ×aÏÇOgmÊa�Û|$ŽNOZ”«‹§xJ~9Ç_ª¤AQ1’O™9Ç™ÍD– g:¬t ~m2Ê€ÝBœ…8”§ò°~¡Co4ú2ßr¼'ÝEE*gÆyÏ^•õ¦ÙZÖ sáøžÌDØ]HÉ»Jšx K{©ÆÛ^á–œë�›çEï0…(dá!M¢;*q�õÒ§§á?ºZ›˜òB‰�!×”¤°³Óʼ.Ý4=¿Ù×·Ö�`Fl¸@Q%' t©òc¤6œ u8÷õ¤k/ý£ç÷Lu\×Ü,ÅPeõîŒã¥xzÙ5Ý»c¬Ÿ…iö«*¯^ŒÌˆ‘1œ�ëÒ ’„¶�•Tzz ðõ©hy´A[W–Ô¶Ûïà´êÛïNÖüHIÞpp1ÈéçO"ùGÏî¢}kÍÚOÉe+ˆò“µM/pàñQ¤ZŸ’’×r³ŸÉÙÇ‹“�!Í8T½§Øþ~ê¼®lÞÓ‚ÉצîjI‚yÀ9&-–ê–û·£’8VEkÏÙî0š[³¬ó¢4•†Ô§c©* ))É8Ž@÷ŠbéL•}¾LWJA >Ê›R’z’:jGb[VŸÝRކ&›µÇ䲿­÷Õ·¹*Aòô©m³) ÆÂqZŽ¢Òr­‘ß[÷ ?´ÅJ=² Rs!�Ǥ€ €BI#·Ó°ÎCxÁ'“Ö£’©ÀúÌ?º¿Jç0MÊ‚*e�ú•œuõ¯¡Ëqå¸#¸õ£k\v¶©ò“ð§eFor2“ÔûñTª$·#…–‹ ô†·�¾<¦âÚƒô!6åÚ:†Ÿ–ÒP0”¥ÂFsäxçŸ�xy›Œ•¥o‡ÝPHJJÉ$$>@Q´ˆé(XNv‘Í(̶­§n22~ª¨`i$Û½g¦µ¬~vÃ<ò›ÿÉTéo4—Vâ B¾ž1WÊÁy �ÜŒqN²�”/bSóNy¦�î…¥*NÔùÔ€‹š¬«}eCê$›mõV *0”AÚUÇÇ�T:�a-ÁÂð~®µvÞ\íëÀ$û‡5Gª3ò8È(Œ…I¶=’¢Ø8¹#ÈåCÿ)­“²ã–Wî|ÿ…5ŒØGõöÉ9ê Çû&¶^ËXp‘ŒÈ<} «ôŸ¸Èmwí�zÞl?Ù“V•U`þÌŸ…ZѵŸMÉüQ®VíxÂ%Õ^Ž7ÿ¤šê‰_Š5“jm1§¦ßeL¸À.>ñK¸7`8IÀÆ*¥d™�­æ®ÐT6žBçr·ð°¦•œ¨(�Ý01RSŽñXQÎÑZÒtv�H Òè;׿š½ýéé<çîr³ÿz÷ÛCM—˜üðE¿V‡‘ù}Ö/'ûZ€8º? y*ù<¥XãÒ¶ehí¥•ªØI?ý׿š—Þ~Žÿ³Oþ+ßÍKôÙy�ŸÙ/Õ¡ä~_uލæ>FNF}Ø«>gªêì§cJ�"—¤©Äw‰Û�ªRGùŒÖ¦4Ž�ÿ‡+ÿï¶—Þ–�Æ>æœÞ;öÓ™‡ÌÃpGÏì™&'Û”ƒòû¬íÝAb6wôÒcݳ‹XŠËÛd)Ïiµ'vÐ 8àzÔ½G¯,÷[uÞÕìS›�u“-þô!ëea•2 å;™!ièA’£O[aé�Æ=öוhÍ£“k9}ëßÍV:½E­qùà«uš[ÞÇå÷Yî½Ô¬êvŠ£ ¤{S‘Õ†�ÊÊœ¶7¹Ðø–G#f¬—­`†î¬;[¡èL"Ü¢ N%†[t+Ÿ˜¾å'ŒŸã“FIÒ5))Ã×åûi#£IɶŸüG¾ÚoV©¹7÷ý“ºÕ.PÛ;¾è):ÚÅð©ð¡Ýï.×+’Ó!†ŠwIŒ[~”«ÏTûø¦Ñ® $Ïy†îäÌš‹–ñ<‚S% m%íÛ å+!$§m}æh¯û-_ø¯5/¼Í ?rÕ“ÁùWÿš�ÐTó4Þ³IÈü¾è:ݬ¢ Fl ’Rг  $ B½Åæy¾x¨ºvþÝ¢}íå¹p‹â½èz"P^kkÁÀ@Q‘”‘Ÿ?>„ýOG#m¤``xÞûkéÒÚC}ÏV?=ï¶¹Õª. Æ�ÿeÞµKb,uîû WõŒ)pïðW¦âFD¶^D2ÑpweÉ {Æ�xÏÿyþÊPø:ÿóRûÈÐÏÜ£éø×ÿš»ÐTs ušNGå÷BÃ^Zæ\%Oz$¸«¸D\-Âeô2‘Þ4PÓŠ)ñ#CŒ(n&ª,º…Puîé"EÁ¤Ý˜yµÉŽ†Ì†JœK�ÀÔ‘œmœcŠÑ‘¤´B ¶«ÿ¸ùÿ:ôt¶Š?ÿ/Wþ#ÿm4ÓÔ ÇÏìœÚªV‚,uîû¡µÄÞ¼%Í7f3)1–•,8¥ºQ•8àG;Hqš ŽF~vIçëŠÙ—ÑxÇÜõcþñï¶—ÞÆ‹ÚSì Áê;ǾڎJ)äöˆüðRE_O²çŠÆÒ%$ã€>Ú�<+IpóÅkzú+vï¹ç?ß{í¯ªÓ,ž`+�þãÿmEúl¼ÇÏì¦ýZGå÷Y²2B‡Dð�ßLð Ñ P=?µ±/Lèµ’Uo$ž¾7½1ë_>õôV1ì Ç_Æ?öÒý6^cóÁ/Õ¡ä~_u–CÙ�À¨d‘ާ'ì¨ó }±c$p“ǵäiÝ„íL%ý÷¾Úø½7£²µAQQëã{í¥úl¼Çç‚àÅ¡ä~_uŒüå�¸Ï<Žì¬î$g©|�²µÃ¥t>rmÊÎsøÇþÚô4Ί"³ÿxÿÛKôÙy�ÏÓ‹CÈü¾ë#pZÀq*ù£ÁéÒ™hå$d9æ¶%i�¥*$õñ½öב¥ô@NÑo8ôïûi~›/1ùà—êÐò?/ºÊà«c…G*!Ið�œ}c)âã*A<Ó¯™ÍhíéÝÙ܈$?-ï¶½›�ä{"¹ëâ{í®þ›/1ùàšqXIØü¾ë<Ò7hv[¼‰w�SAz6Zއö—€J!+ãÖ¬ízšËl¹Î—‘>;q [Ø„–PJ·º„4¢’ê|;O•dô¢åX4i0•�å½ï¶�°hÐr!ÿyﶦe,ì>e^JÊg’H:÷}Ödþ¥¶³oqˆ¦æ™_{‹²ç»JRíAÔ¯p^pQ¸Ž:ƒ‘lÖ¿†«½ºZDöƒHmR"µ 2…·l%ItaÇ9VFâ6¤‘ƒÆ פ´‰*¶’O'åûkâ4–ƒB·&ÚAÿ¼í§Šz�Ä|× U)à~_tY1¨ALM�¸°í�%·vìRâ¿Þ+ò¸p<ú ‹©õ Iî©Æ¡™ÈKn{:åÆn1ŠâÖU¹ŽBTA#••n98Å�1¡ÿþ€ñèãÿm}ûÙÑÿB®˜ücÿmpÓTk�Ï…U(7±ù}РÔnR/rÙ´>»•äw‹L˜¬)R�ZÛ{—á@' .sAi ó’PsçÿÛÜÒÚÕÛÔO¯xÿÛ^’ÐC8·(g“ò²>ÚŽJ)ä7$~x)¢Ä)âü¾ë'µøBÎì�Ðð8§¥+iÈÏÑZ»:kCµžîNqŸÿmzVœÑ*ùÐIã=ï¶¢ý6^cçöRþ­#òû¬uÐ¥ «�py5ò!À'¶¦´9öúïýµði�:@æÕL°U¸‚¥Ê=Oˆ“éVi©$Ž\î!S«­ŠXr0®Ø?³'áVµS§Îc'�*¶¢hJòâw$Š¡ŸgKÏ•í¢ X’BÿpQù´¾à£óhŸÒ–¥$�ÇÜ~m/¸(üÚ'Àô¥�éI$/÷›Kî?6Š0=)`zRI ýÀGæÒû€�Í¢ŒJX”’Bßpù¢—Ü~h¢œJX”’Bßpùµóï}¿Í¢¬JX”’B¿{èüÑKï}š(«Ò–¥$�§Þú?4RûÞGæŠ+Àô¥�éI$)÷¼�;÷‘ù¢Šð=)`zRI }ï7ù¢—Þò?4Q^¥,JI!O½ä~h¯Ÿ{¨üÑE˜”°=)$„þ÷Qù‚—Þê?0Qf¥,JI!/½Ô~e/½Öÿ2‹p=)`zRI }î£ói}î7ù‚‹p=)`zRI }î7ù‚—Þã˜(·Ò–¥$��Þã›Kïm¿Ì¢ìJX”’B'N7ù‚¾}î7ù‚‹ð=)m”’B{mþ`¥÷¶ßæ /Ú=)m”’B{mþ`¯Ÿ{mþ`£ £Ò–ÑéI$÷¶ßæ _{Mþ`£ £Ò–ÑéI$÷´ßæ ù÷´ß檌v�J[G¥$�wÞÓ˜>ª_{Mþeí”¶�JI ヲÿ0RûÚoóí”¶�JI ß½–ÿ0RûÙoóm”¶�JI ß½–ÿ0RûÙoóm”¶�JI ß½–ÿ0RûÙkóm”¶�JI Ͻ†¿2—ÞØ>ª3Ú=)m”’AŸ{ þ`¥÷°ßæ 3Ú=)m”’AŸ{ þ`¯Ÿ{ þ`£M£Ò–ÑéI$÷®ßæ _zíþem”¶�JI ¿½vÿ2—Þ»˜(Óhô¥´zRIýë·ù‚¾}ë·ù‚�v�J[G¥$�WÞ»˜+Ô]0Ûr{À�:3Ú=)m”’QàG 4*M*T’_ÿÙcen64-qt-20241110-alpha/resources/demos/table-view.jpg000066400000000000000000001421041471427717600222760ustar00rootroot00000000000000ÿØÿàJFIF``ÿÛC  !"$"$ÿÛCÿÀÆ"ÿÄ ÿÄ]  !"12AQa“”Ñ#RSTUq‘ÒÓ4�³$35st’±²Br¡%bƒ´ðCu&6c‚•Ááñ78VWde£ÃãÿÄÿÄ> !1QRA‘¡á4Saq�Áð"±Ñ23Bb‚’²ÒCrñ¢ÿÚ ?ýO6FÐy×ëˆJñº¶®Ä„žuŠÖ²Ô$-’P·75vˆÃr«Us`î©2¡Qñ¢èÚ²ÚkxL|ñO �ž+¥Öd};Ÿæ4d};Ÿæ5ºÌœyê;ÎÎo„ÇÏð˜ùâº}aÿ¦süƽúg?Ìi®³'CP‰Þpærü&>x§„ÇÏÕëý3Ÿæ5è�ÿÓ9þcMu™8ò„Nó‡3“á1óÅ<&>x®·Xéœÿ1¯D‡þ™Ïók¬ÉÇ�Ô"÷œ9œ� �ž)á1óÅv:ÃÿLçù�‡þ™æ4×Y“�!¨Dï8s8þx®ø}ï¥_ù«ÐûßJ¿Æšë2qä5�çdÂcçŠxL|ñRó¿H¿Æ½ã;ô‹üi®³'CP‹ÞpæG|&>x§„ÇÏ#â»ô‹ükè:ïÒ/ñ¦ºÌœy B'yÙð˜ùâž“Mu™8òŒNó‡2á1óÅ<&>x©¸Qôšô(úMg]fN<†£¼á̃øL|ñO �ž*M~Ô– >Ûn_¯¶ËJ8mSe¡€³èÈÍ`»k'hb+÷mQd·µ1q—&{M%ôŒd ©@(sǤV5ÖdãÈj1{Î΄ÇÏð˜ùâ¤vý[¥î-Fzß©,òÛ–ñ�lNmaç@Ü[A í(dx­ékduJL‹ŒFU ô�·’’Ëg8Zò{);UÌòä}•¦±/gA(1ÿ'd;ÂcçŠxL|ñRû=æÓy€.{œ+Œ2H"¾—[$w�É$r¬–ÛŒœç[fÇ›ÐKoÇu.6¼)$ƒÌü)®3'CQ‰ÞpæC<&>x§„ÇÏ"™«4Ä;Â,Òõ%ž=ÍdCvsi}D÷a[Ž~êê‡Ð]SAÔ—�¢�ÜÀ9ÁÇ£‘ü)®²úœy F/yÙð˜ùâžx§„ÇÏ0./çƾK‹ùêüi®³'CQ‰ÞpæD|&>x§„ÇÏ-./ç«ñ¯’âþz¿k¬ÉÇ�Ôbwœ9‘O �ž)á1óÅJ‹®|õ~5áuϤWãMu™8ò„^ó‡2-á1óÅ<&>x©9uϤWã^\úE~4×Y“�!¨Eï8s#>x©ߤ_ã^q�úUþ4×Y“�!¨Eï8s#Þx®ßï¥_ù�|ñÞúeÿ˜Ó]fN<†¡¼áÌãxL|ñO �ž+¬¹OïBêÊÖp‘»Äú«eHx#)¸n_Í €Žü)®³'CP‰Þpæp<&>x§„ÇÏÔn[ÎC® J�W0Gx¯S"BßK(y{ˆÉ%G “Mu™8ò„Nó‡3•á1óÅ<&>x®ëÉ}-•3<¼´÷£šs÷žuªÔ·\m.!÷ T2;Fšë2qä5�çg3ÂcçŠxL|ñ]C!ÿ¦süƼ2_’û€þѦºÌœy B'yÙÌð˜ùâžÁ¯s_îh°kÐkkÜЯA¬y¯A 2ƒ^ƒX�¯ ª 5ô bÝ^…PA¯A¬AUîê05èUbÝ^…P‚«ÐªÂ^…P«ЪÀ_Atpªô*°W»è áUôZáuîúɃ`*½ ­}õè]�€ª÷}kï¯wÐH®œ»Y4×KZ‚á¬dÅ·¦tHȴΜB,¥*²‡Ù ÞJŠ3•$àã”rí{³[5®•¸iû­“F[]¶]8/^¡0æé PÙy’7œ­'<Ç=¼ù]!Â;”Ez#¹DVÅEßì-³*MT˜:îF�†½Qg½¬Î˜ÊÈ[aôFZÛRGÝ«AØ®k9ôqQkÝÎíy¹jsOP™lzÆÍõIgˆÛhjCåo%$aM�PèÎ@IçÜE~„.ÞIþ4â\Ï/]gj/’ú§Ë}0%óçà§â\/·˜‹eŽ<�Sc“vKro6ã ‡åÇà ¸�Û™mÅ|—ÉÏ�"» Ì¿££Û4{VšŒÄ4J’ÓÝvzYSMõ…à´†�è^#HæŸA¬rá=äšúM6KËð>|ù°¦´õçFÛz.¹é]T¨ž0¸e"åky Ì�%KY C~[»ò’…$D`ŒrètWÛoHŽÆ¿Î‘áåikX[/NpñV�ê^)l«j¶�œ�9Ȩæw©¬ï�[åÓ­ómÏbˆ¤¹%+N•$¥@à‚“Ü"®ÈY ÆâhÛ-ùb-Ûø[gËÑ}ŒûëªÁ¾›è$f*¯ « ]y¾€ÊU^V-õá]”ª¾J«]xWX2d*¯’ªÆU^P «äª¾ «Âª쪾I¯’ªù* >ó^_«Âªèšðšù*¯ ¨¢käšðª¾I >‰¯ ¯’kÌГ^^^f€äߦ|˜Ò–v²¤©•+Ì…(¤‚}³�ãQH°gGº%Ojy®Ùc8dÆ„¥¨>—IKÏ•°Žô¤ó;°²Bé솚�Ê™}´¸ÚÆ• ‚+Œ�+dK�]]Å¡$ÒžQlc»²N( ­?!S~n ÷rÖF2���ßqÆ�jÞ¦¹à¶øÆ?[d!—¶n ZwrÁ#'µ�9gn+´��”€”�€š°O‰teF–Êi]éPÈ !6[e³OÍ7HWKƒn)ÂNHsˆ. ó:à<�à=Å ¸F0‰…‘n®Ü—�B�§–·BUÞ�¥þ´£i›C/¥î Ž©(:¥¥Ô À®ÏuîkZ臷Ii¯ëÒ‚~üV|×”u®-îëdDJ'5iŽÂ\&sEFbRJLpRCg?)“Ú <ð¤÷ôü© E²ÒìH1†�§˜€¬Çe)ABB9 $äÈ�tgéûdÉ �¶œiåyKeÅ6U÷í<ënÙn‡m`³ „´’r¬w¨úIóšÛ™ùÇÿZ?Ð×B×ä ç\ÿ«kûÁþ†º6¿ U¤Î…D^Ô¾†+·q­KwîˆûÏúšÛ»wÔ·þè�¼ÿ©¬R¿ ž~Êf�Ú—ËÝ%ßU.£U†ž»Ýå·¹nŠŽ”! ZМ—�FN[Wp>jõÝ[:Ûjm¾lWÖüVÊœakmrR€ ‡€æ{�ü;°q̹é3vé&UÚo„™�àxñÚvÑè¥N¥çÔ¤�ˉQÀZk—>^zæÜô¥ÐjG�…ça‰¶u¶ãÒ¸‹SqÜpºT¥¨­E!Cš‰'<³U…±9‰y´K¸½m‹u‚üÖ3ÆŽÔ„)Öðpw$�ã[ÕWh=%z¶Ï±FºøeÁe[ëKêzв´­$¤!uo߸…‘ƒÌ•3hf€÷5Ó:ÎF ‰t-¨oœ¶åºä0€…ÆR$ãðOª¥9ª«£;,û¦Å~’Öh›¶ÚyÑBá¥]Å\¹´ wí ÷w'Í@X Õ:e+q Ôv€¦’VâLÖò„ƒ´“Ï��÷ò­Ø÷kd€’ÅÆ¡L )ØúU–OsƒÈÿ½ÝP==¥®1¤Õ"ÚÚ ¾çr“$ïA-¥âþÅr<Éގ쑞xÅhØ´þ¤²„¸,ŽISÖ©Pv7! Y”ã�•’¡Ø)Xæ�Äcº€�3ªì‹“= œË1àÇ�!ÉŽº„ÇSo)+Ý‚;=ü‡1ŒÒF°ÓL9hJ¯p›ÃÊb Û�…!å%$œ(‘·—üJHï"«È:gUÛàÆáÚw)1lÍ;°Æqäí8,‡UÃ%eR¹`’2k>ž°jxx3%Ú&HK’D娿ˆ¦_ˆ¦÷�’”å+Wl<å;ûÈöõU…6øsfÝ`Û“3<ʘÊJÈ8!$,¥_ý’{ëf^ ±C˜!˽[cÉRҀ˲�••+FÒs“‘�çȪÖæõ’ Ü}:«š§XÅ»‚™ ެ´½!D,©`pÖA%;�c¸ò¬Žè«Û:KV[S2æË³Â‡î"’ã1ö’{=¼žÖ;ó@[9¯sXó^îzå«Û‹rŸŽóvU¸'®®)d©a8[‰RÕ´…aG˜óò®›š‚ÊËñ#IºÃ‹&bR¨ñä<yÀ®ì!XV|ØÆsÊ¡š¾Ó.Uêt–´�ÅsV„¦ÖÏtDU¨òåĵYåµÁ·¼Õ¸híVû·6.¯Ýg›Ô8mKvÚì&šâ!”¶æòò ˆœIln8Ž`N¤ô‰£¢¿-‡ïð[r%Á炟@Úò€8ïî Ÿ1BÇü&ºÕvDë3n�mé.>€$Ìe9 ºZZ� #XóänA*È‹�’þÔۢٲɖ”ꈷvTÛ쎰Èi¤-)Ü´ái(Q![Aå‚kcGi›¬-Mj›>RÌTßJ–\B¶*MÁ³€ =¦‚�.îã‚q@MæjM? «õËí®7YoŠÇZÅF3¹9=¤ãžG*ûV¡±"äͱW»jg>�¦£H¸È)NrAØHHµÜ´æ‡Ôvû�­‰/?¤[eÄõ¶36$”I^í™P)( Ê�ˆÍKSf¿3uŽõªÓ5“!ø/KS¯Fvém %N- ùfÝJ„ðÆ7!““€-Pªô*°n¯wPÈZžÛ"âc…حٟy™¡ðo†�²®DöJ V¡C�î¬v½]j—mvá-^ a–XyÓ=ö[-P�°v`¬sîÈçQ]i¦.× W·²•Y/Èe»ê‹‰1{‡dœ«Š‚Y8ÎOßZ:»Jê zª]â r�ËWXs\�ÅyŠãJؽÉRÁ`´àƒ‚²cß,ÒK±îÐml*BT‰P-$áN’"®áYbÝ-Ò”ÂcOŠú¤1ÖX ¼•Zåò‰ÁæŽÒ{C—1骞n‹½®×Ø1§™7ңܓ:Dn+p¥„×ò!-ƒ–�­ˆÜr¢rMI:8°\íW‹´‹œt²Ëö}« J³.ºâ=žN¡’±ŠÀÝZ:‚íÉ`¸Þ¥¡ÕÇ�ÙN¥  ÊAQ �œY"³î®H0¥Ýt¡µÀk�.e®K 7¸'{‹iIHÉÀ$s'íÇQC€›1y¹ ð¼¤E�µ íZ›[€«'�Ãg»<ñ_gRØË³c±u…&\Ö䈬HBÞl$sÊÈôsÅAåhw#KÒ2íë¼IrÉ·f"Uá÷Ûi±Ô©A¸S�¥$vFyœrÍqt΋¿Ä�n·\zyv†¥ðžSðSŸۈÊv#Ž­üMÄ8SƒÌ•Œ�dÀÖzjTH.ó#³™iÖcI”ÚùT¥HINï(…'�Ï,×}Pp,×·-š³J1`2'̲[m®>h&#¢AS„¨”T 7ƒË¸›Í²RÚRTT@“ç 6·Ó}kî¦êg®›ë[}{º€ØßMõ¯º›¨ �ôßZû©º€ØßMþº×Ý^o 67Ó}kî¦ê>úó}`ÝMÔrªðª°n¦ê1UxUXwSu—uxUX·W›¨ Û«ÍÕ‡u ¨ ¥Uóº±î¯ ¨ …UáUcÝ^f€Éº¼&¾3ë¯7 ìšó5óšó#Ó@}Lׯêf€úÍyšùȦh¬šó5òHô×›¨¬šó5ækÌÐY¯+ÌÓ4´¯3LÐÒ¼Í3@k\¿«oûÁþ†ºV¿ W6ãý[Þô5Òµù­ öt*"ö¥ô1]»�rà9(´R˜íìJˆJ”é^~ìrôWRíÜkFßû¨ûÏúÖ)_ÐO?e6¢ö¥ò÷C•zÓ6;ܤ˽ikÊBK²ã¡å„HH*A8É'³[Ö¸-Z ·×j�#Yá± ¶Œ’N”€2I?y5¿šfªËSù_@ϵ?–›å}>ÔþZËšf€Å¾WÐ3íOå¨Ïˆ3ÿà)ÿÝìþ�JóZ÷7\fÞû­(¥Ä ”�ÑsþQÌýÔ2}ï•ô ûSùi¾WÐ3íO嬼Ç#Ÿâ053C-ò¾�Ÿj-7Êú}©üµ—4Í‹|¿ gÚŸËMòþ�Ÿj-eÍ3@câJú}©ü´âKú}©üµ“4Ídû¦‘ÓwYîOºhí;:[¸â?&+n8¼T¦É8¸ êZ¡5j€Ü ]ª�g†Äl6Ú2I8JRÉ$ýäÖæi“é >x’þ�Ÿj-8’þ�Ÿj-}äÓq 9×+Dœ–%\¬V©�Ç9aÙKŠhç=’¤9�Ý[üI_@ϵ?–¾·W»½tÏ_Ð3íOå§_Ð3í�寭ÔÝ@G%è�'2[Òåèm1"CëSŽºì&”·£’¥ÞI$’I®ìF×#1"A‰;Km4Òö¡´$`% 'V}ÔÝ@|ñ%ý>ÔþZ÷‹/èö§ò×»«ÝÔÏ_Ð3í�å¬rÛ\È�D—$ˆï¡MºÓ«Ü‡¡‚•œA ƒY·SuñEü¿ÒýÞÏéÔ£‹/èöÇò×»©º€ÀÓjfCÒZ� ·ŸÛÆq*œÚ07¹8†k7_Ð3íOå¨ ·[ÅÚV Ÿãû5²Ñ4Áe›u½žuIJ –°¦ÜR�Rð€0‘’yòû‘¯N['4õ¦áÇeî,¹²üÚÜe[„¶àS›Ê‚»$`m9På�'œY@϶?–œi@϶?–«éÝ%:›t«¤ “%Š-ñå¹3†¾ÁÓ±)ج¬%¢q�q‘Žy®ý!ªÊ©ñï6Ȱæ0¸ie*¸ÊÄ•8\uH½¼' ¹+rÝœP¾4¿ gÛËN4¿ gÚŸËQݪ£êˆ³Ã+Šƒ#«º¨RÓ%•„­*mÀP‡zAG.|;;…]"\lïë{ãðàB‡-(\x º§\|- )ŽÜ4Ÿ'™çÝ€'Üi@ϵ?–½ãKú}©üµO\õö¨ñr\˜–ÐÞ˜™rL—�JßCÈZ’ƒ´4¬9` œãCxéFÛn¾Ì€¿p Ìj$Ž%É ÊR׳*j9NV„ñNà{*À8æÿ�/èö§òÓ�/èö§ò×»©º€ó�/èö§òÓ�/èöÇò×»©º€ó�/èöÇòл/èö§ò×»«ÍÔœY@ϵ?–œY@϶?–½ÝMÔœY@϶?–¼âËú}©üµõº›¨ž,¿ gÚŸË^qeý>ÔþZúÝMÔÏ_Ð3íOå¯8’þ�Ÿj-}î¯7PÔþZq%ý>ÔþZúÝë¦êã‰/èö§òÓ‰/èö§ò×Þã^dÐI@×µ?–œI@ϵ?–¾òk^{޶Ûe¥)%O6“µ’áÁP`z¼þj'_Ð3íOå¦ù_@ϵ?–²f«ýs{›]Bµørùl€»[²Wà«be¸§ê ‡Ò”àžx8ç@N÷Ëú}©ü´ß/èö§òÕsk×Ò-úbÛœ˜òÓt¸-›DË‹¨‚‡â†ø‰yåáÊö;#'/ôšÎa^ˆÖ!Ü×=ˆî!ä¸ìe2ÃwrNòR{ …Œ�Ž@Yå}>ÔþZo•ô ûSùjlé™�ÜÚC6™3!DD´¦ 姘R¢’ñ ”œdD»º±#¤”ª×:B À}èSšˆó±®ÔþZƒÏ鈭ÛX±7*{/>•¿{Cpøm¬'(aÞTT6� à+8ÅlêX䞆îZÂÆâ£=à—eGR‚VZq(?zU…X8 %ûå}>ÔþZo•ô ûSùj!-ëY:ÅþMêÎ`‚ësa.´¥6µ¥hS(@#(ÁG ŒVŠúF}R¤ÀD X™Ô¥HŒÛWd>´)€×Ò„�Ù äm+î"†Iîù_@ϵ?–›å}>ÔþZ­•Ò’­öØÉ¹3gLö­,Ü&¡Û²X.ŠPÀR2ã„$’“´¤�Ç9«" ¦¦BbduneöÒãgÊT2?èh`øjCÆoVz:P ehZ\Üw wŠÚ®dwrò½êQ%d òGŸ+™<ÅA§]zE“5Ý[m€ëV8–“av6Ù—C�ŒóBÁ¶ß" v@V –ÃÈoûÁþ†ºv¿ W焈qŸJB])XKˆ(Zrœà¤óÒuv-~@«X=�=JˆÝ©} WnãZÖÈÒ†•·Õ¤“‚”;ëfíÜk�¨nV}-Ñœ�W6Ã䨤oB›HZ÷<¢“ݸ~´hn‰ ¬mꨆ°Œ¤+�r5(tzœ¿ª¿ìÍ:œ¿ª¿ìÍT6Μ!\§µE6ñÆæÚÞš„Ÿœ~@àz륥ˆ’ƒjg£Í2¤¸°�›Ãi9(ÞrógÓʪ^‰ ÊÕTšx¢þ ô£FV£ª¬•&“²ÏRÌêrþªÿ³4êrþªÿ³5ZÚúW‰::_=i¨ÉSªh¡ëËHq NìîIc#É<û»‡yÅb¸t»­7ѵ�ÖŠ^Æî�©cxÎ )#ÊåZWd§3t¡Çsê#mœ½K?©Ëú«þÌÖ96Ù#¸Ã‘e8’•mJ’qê#˜¨&€é>ݪç;ôqo…% Ü©-«)ôœ´œy»ùs辶—¼éûüÆÙ�§l¥²ñekiÆ](PBÔ9%=ÇaçË=ã5¤H̆úŽ¾ÍŠ©l¥%D’Þ–¢É6‘h^—¤–Û,E²û/Ømõ9^h��èáª�N_Õ_öf¤~²}�o÷d|)à;'ØöÿvG¦‘ÈçS—õWý™§S—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈçS—õWý™§S—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈçS—õWý™§S—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈçS—õWý™§S—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈçS—õWý™§S—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈçS—õWý™§S—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈçS—õWý™§S—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈçT—õWý™§T—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈïT—õWý™§T—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈïT—õWý™§T—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„ÈïU—õWý™§U—õWý™©€ìŸcÛýÙ xÉö=¿Ý‘ð¤„Êê~ˆyË´«•¶á}²½4¤ÌL ��¨$$(¥ÆÖ¶€7'i |«Y¾Ž"Çr*à.õ³È®”© ¸áqajZT T²¢T‚•s<û±gxÉö=¿Ý‘ð§€ìŸcÛýÙ ̄ʶ/FPØÓó¬¥ÛˬM³5fZÖ½Úâ„m!°7ò†H9 Nyäž…ãC±s¹L¸º››R¤¢(K� n-µ£)=¬º¬îÈ#–1œØ^²}�o÷d|)à;'ØöÿvGÂ’"k,û|wzEÒâ㎩éi]À`%)HÀî sÞI¯ˆÚt±¨æßPÌÓ&dV#8’ŽÀKJqI c9%ÕgŸ˜wyæ^²}�o÷d|)à;'ØöÿvGÂ’*™=ÂzØ›r_½²Çƒ$[Ø—˜x’wÙÁJŽAN=y«¬­ònò'Ä™{„Ü©“*,}¡§ÜHJwPVœ„$…$sï9°<dûßîÈøSÀvO±íþì�…$&Gº¬¿ª¿ìÍ:¬¿ª¿ìÍH|dûßîÈøSÀvO±íþì�…$&Gº¬¿ª¿ìÍ:¬¿ª¿ìÍH|dûßîÈøSÀvO±íþì�…bBd{ªËú«þÌü)ÕeýUÿfjCà;'ØöÿvGž²}�o÷d|)!2=ÕeýUÿfkΫ/ê¯û3R/Ù>Ç·û²>ð“ì{»#áI ‘Þ«/ê¯û3N«/ê¯û3R/Ù>Ç·û²>ð“ì{»#áI ‘Þ©/ê¯û3N©/ê¯û3R/Ù>Ç·û²>ð“ì{»#áI ‘Þ©/ê¯û3N©/ê¯û3R/Ù>Ç·û²>ð“ì{»#áI ‘Ω/ê¯û3N©/ê¯û3R?Ù>Ç·û²>ð“ì{»#áI ‘Χ/ê¯û3N§/ê¯û3R?Ù>Ç·û²>ð“ì{»#áI ‘Χ/ê¯û3N§/ê¯û3R?Ù>Ç·û²>ð“ì{»#áI ‘Χ/ê¯û3N§/ê¯û3R?Ù>Ç·û²>ð“ì{»#áI ‘Χ/ê¯û3Xä[_})K‘díJÒ¼$-9 äwy¹wTŸÀvO±íþì�…<dûßîÈøRBds©Ëú«þÌ×9ZqJÔ­ßËzÓpÕ #gcb–•“Œg9Hóÿ šxÉö=¿Ý‘ð§€ìŸcÛýÙ HL­SÑû-ECÜ»Ã,Ort' Ý n¡°¤ðÎõöT;GÃS´˜EÕW{‰n,¨«S盩�PVNÔŒ°mÛ´'Ì;±dxÉö=¿Ý‘ð§€ìŸcÛýÙ HL­¥è7çZß�rºêÁ۶Ýx7¹•2àq)Kaî’¤«8ÁȬlè ,K—5‹Þ¥jdŶëϤ·•- ( ÚZÚAIÁIyÍY¾²}�o÷d|)à;'ØöÿvGÂ’+ý"'èïP® ©õ.sHoŠ÷an%M–ðT”žHÇ,dç©wÒ†ë¤ei©bæ¸Ò¢*#¯©â•'iVå7yòGð©×€ìŸcÛýÙ xÉö=¿Ý‘ð¤„Êêˆ}H÷+­Âù{~(WUëˆm(`©%*RRËh[Iˆ$qŒšçAè¾§./Ç‘‚ÒÖRJ²µ4�ž@gÞšà#ZÜÖ7 <ßñŸÏùu%ér (VÖúœ8ñ··Úá4»±Œàsï5cÉ­TÙ-&v˲oÔIà.;ˆ†ëj9Ú 3ßç æ¤Ö¿ T'Iÿf?þ;ÿõ¢¦Ö¿ U´Î…ü×dé)lé2ÅîÕ2zÔ¡ÙaG„ N9)c¿¼ŽX®cб>ëͱ1T%ø2[‰Ù!À@)I 9' ãÕP-"‚ç: A•»SÞÙùËÍK”‡KV$]*/’§ám;:7RÉr é�6¾j qJ#Ðÿ©¯›þ†Z"8_ž§ s¡)Vä gά÷Ë®ïGºÀkí;<\¡˜ál¸†Õµi#U»‘ó«ÍȧÏ\½c5»s¬AÊ�}Iã)*o%=ê8É$žy>ŸÂ®‘K�Eûj6¶žÚ5“IzIëW ½"×'…íí·2l’–“p–¥:¼â6œaX ®¤½ê}:þ³¶Z- Dˆ©n¼ùC ‡–†\æ‚ py0!Фa™páÏ]±—$³ÅKÒ™)W ¨gÈ,aXî©Ç@v»l—l ‰mb"m÷Û-­DïS‡ÉÀ»€ó ¨�i":ª¢²H“DY*-¾m:8] (¯ŒÆÖ²$Õe4³zÏ}Çë*T/¥»sW{UªÜ«•¶3®\›S1. ˜×%% =YÀ0FUŽ|Ð9ꮥž§1:jÙ èÙìj+QœÕ’Z„´Ál~sñը܂ۖäDã´Ûvèï[2l¨º· +ܬ%@CÍr»ÌѪ•¨þBS/IiNñR”Ûn-)Zø*Sish’’@PW!Ý@J)Tv™·@ÒKÒ³åYìW”J’Üx:–Ï-MΜãˆPJä ŒºÞ¯”Xµ´Ëå�e«bÒ×�ªÌ‡õ†}ÍØ]U�±Ýn/ kݵ VÒTIHÉï ΕT^µÔø*†\½¡†ÜÑ«¹8±/‘%NGCNìJ²\P Ü”œú¹r޵ÕQ&ß4û׋.±2ÊÂ&\š„dÃL×ÖÛ„ˆùdà lÜ2 ÆàF2ÙJ£™~ƒ®/V»n¨t¿7VÂ·ÉŸÕØSÅ£l+RHÙà  æR2È=¥jmHÚ^½øuÅu}X݈ZÃ;dÉCDìâqJ_ÈPN1ÙÅlÒªm/¨uBŽ’ºO¿;1«Íþ}±øjŒÊKM¦b›RJP¼udJ°A<¼õlÐ R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)UýžÛN÷gX—%Øyå¸ê–JŒ—@q8H‘€î¨ä¶[,¹ZçMÛÕÍb·Í2n*Q/ßž#8*ò�BT“‡�Ê #³Ì�qÒ¨eéÛLHz’ݬ8˱éX²"¾ò°Xui�·å2àqOƒ•§Ÿe#=Õ“\1 í2Ö¦~<'ïpŽwÛ‚ä“p´,%…ìŠÑNX$”…£%Dádí /ZUI©íÑu&‘é&ý7ж™b„:¤µ —µ[HÜ‘!RÓÈòÈ5—T[›šÖ‡r}¢6¢¶7jy.Ùœ�ÂTã…¶J$ÞRPàl%Àyå<]Ã�kR¿:Ú#®á¤í-Mj�¨ §OIã½qku½(’æÉyuIQAg‚8èc`ÀíV•Ð]®úVãr¹C‹:áoÑ–×gM¸=×ix°·ôAƒ¹Óå©®ÚÞ®äŒÈµziþÍgû³üö*ºcÉ«¥×RõŠÈ+)q€ V0¢ ÌcÌj¿cɨÝy»n$zOû5ÿñÇùh©µ¯È ÒÙ¯ÿŽ?ËEM­~@«h� xý©} Wnã_79ÂÛÑ‹³NÏ“Pò³Žo�æûëêíÜkíûÔ½®Èe¢B‡Ê„nÛµà¾ì�›Žÿ=iL­ªý·ÏÙMèUVš•SB—»ë¹rUÕ¤²b´•�¥…m=©Â�~…Eõà ëÈp"9rêQm¯-o�™�9(;C¿Òª¹¦ô4©·r—©Rüì!)}VðF’±æå˵ï�Æ»¼ë¯j4§T¢Ô=¹Ç§·ƒüEsnm1ŽH�¬T³fûTêᾂ¨°â]|í¿’!KéH„ëå\!´„2–âN-+¶“»jócÐ@¹â½˜Ê_}é�F̶’¬p\ÂV¡œc>ŸH#ȱWb:‚”€«Ê\ ¸Y ŸŸY§ô<ä•=©RÉâ-6ñ2r Lg‰ýõà� ŸÚEe¸M$¾7Ùãqa—A‚š4Ú©|–iÂß Ü~w¸™¸®Hƒ³Ä >¦Þb¹îN ä{ÅY}ø1],iÁo�zi ²ñÅÉ)J²Xw%;|Ç? •Þºjé ª;©v·¸+÷æÿÄ$Ó=Ü-šÂ¢¸jtÜ µ6–“oK ‚…'¼,ã³Ýæ©(”8蓈É,ÑoE²ví=ñ:^‡ V6%툋c’j­“¶WøØNî¶ÛuÚ àÝ`EŸÏ-‰,¥ÖÕ÷¥@ƒZ é=*Ý•vDi«2mN,8¸B A…(B‹{v“�qæ®Í+ 8cŒæ“ÒÎK~[šj̹2K¯¼¨-•º´¨)*R¶ä�@ ž`Œ×NH�!µ VbÆe! 2ËaBGpJG =B³R€Ñ{@7-PA¹~üDtJììù^]¾Ïgµž\«Ý5§&ÛáÛæX-RaÁ #» µ·$m # Àä1ŽUÕ¥Ï�b²[ä®L =¾#ëânqˆÈB•ÄPRò@ÉÜ  ô� ­HšGIÄ�2<]1da™ÉÙ-¶ 4”ÈO¡`' Ï#šíÒ€Á6I­!©±X’ÚCÈKÍ…„¸…!`å%@{ÁŠñè^œÔçaFr[M­¦ßSI.! ÁRB±�ÔäwElR€�IÒ6f´ýÎÕa·Û,†àÑCŽF·2R¢F2¶Êv¸9�B‡0Ow}rô—GÖëS7dÝ#Ù§&æ–[v$kRcBCMn(BX*Xò–µTrO›5¥ÇV•Ó ¶»mVœ³ª Î%ÇcMðœZR•)8Á!)H÷�殌q-ðÚ…+"²�­2Ëa@ôŽ@}Õž”Ý¥4½ºê»µ¿MÙáÜ’¹LAm·•žü¬''?}s\жFõe·P[ Ûí®FrC’“©Šu²Œ­IÆHÉ9 ç'º¥T 8±t–•ˆÓ¬ÅÓ6Vy¥²ê‚ÒBÛ^7 €ži;S�y£Ñ^5¤t›L©†´Å‘ .9Ф&A*d«yl�¾AWkovy÷×n”*šÓ°Ò Ø-QRÓ©y°Ì6ÐâRP•ŒJ % ÷€H°X•{ÅYm¦êÓp1Œq1»»—}ti@i7hµ4ÜfÛ¶BB"<©’–.«pRÐ1ÙQâ/$s;Õé5»JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@p¢4cw“zF‘°&è^/™¢ÜÈ|¸I%{öîÜI$œç�`…Ñî�„údBÐúf3Éò\jÔÂ>âš“R€ç]¬+¼˜²nÖ[uÁøŠßÉ1Pê™W~PT Iä;½ñ;Nié÷f.ó¬6¹W(øàËz#ky¼sVFá�Q®¥(MÏLi«¥­»UËOZfÛÚt¼ÜY›q¤8wea v•ÏíI­ôw‚gñNÃàÖÝ/"ƒšà¥ÃÞ°�»B½xÍw©@s.ºwOÝ„Qu±['ˆg1zÌD9À<¼�ÀíîÞ�^]tMbuÖÅkŸ*>8/Ɉێ7ƒ‘µJŽ|ùWR”{ÓOökÝŸç±UÓMX½4ÿf±ÿ!þ{]1äÔn¼‘·='ýœÿøãü´TÚ×ä „i?ì÷ÿÇ墦ö¿ U´Î…<~Ô¾†+·q¨ÿJzŠó¥:º_´úŸMÎ1i,CŽ ò�ÙÚ•¥I'j�x5 »w‹tË Ë�ìïu†ÛÊeN;åH)ÄÖÉ=�O›Ì b–¨”i®>Êf‹=nÌ=Ðüç«ú\é¾ÅirèçI‘㮡¸¶Õ[!™;”FAHdžÈÎ|ÝÜû³÷ÑÏMý"ß™½ô¼‹|âpˆË´Bl+ž2ZÚ~îGÕUî§Ò©¸ixW(O+®0á/ ¸êZÜæsαçûÏw,ðΈ‚¡rsÃn!Sócª*’Z)V9«¸�8Ǫ© ÒXßµ÷ñ-âÃrÍÉb†³éƒ_ÛìN\­ý3DiÄ¡<8ë·Áun¨Ž`! îùsT O~Ñ9]q¤êùK–¢Cm�ß!“¸©ŸýwWù§´õíSu žøÔHLõxî¬ÃRP¯’ç†ðH '¼g''×S] ¢¦Ï–ëöÙ�3m„òÅ.�m[Ü Nã¿b�£#š÷µ®¶ÃÊŽYìÉÒ¿JZÊuÆß«®rBc5ÆL¥ÛØló8 -€|Þo1çè»tª™~›hŸ1Æ:Û‘�nDVÛÉKkP ¤zR;¾êü½£µEÖˬïӱ؉YL„-ÆÖ·”öJÊ‚ˆ<ŽpI«Ã¢mKy¼ë\{�½ôqO8xJ<5óØ|ŸFrsÿZçºI]’Œlæ®g÷-ÓIÙt¥;<Ëê%4j"Òd•±'4Ÿ©zR¹Ú‚÷l°ÂDˤ…2ÛŽ¥–’†–뎸¬áBRÔpy$Èú+JÕ¬4íÉ·zš[R[Šã2£¹ä:æ8iSN¥+³Ë#Ÿš®Šs½JV9Oµ+²^* ²‚âÊRTB@ÉÀ'»¸s 2R¸^7éͶxQ½º„j;ý$ø€Ž]žÏ>Ö;Àï Výºío¸Í¸Ã…#ŒõµôÇ–nÒàNHÁ;VƒÈœg�½JR€R´¯—[}’ØíÊé%1¢´R² 楥 J”T@I uÅk^éeÆœû“¤Åê)mrZ—Dw�‡± á8„¬¤«–àÎyÐzR”•¥hºÀ»7!Ë{üdÆ’ìWNÅ'k­¨¥iæpA�š·h)JJÐÔ‹u†ÐýÚêùb#w­-©Ã•(% % ©D©@$‘Y¹Be¨Ž¾ÿLq-°IB–µBv�VäFF ·JÒ³]`^!®eµþ;�ôe+b“‡qM8œ(ÉhPÏqÆFF nÐ Tvý­l6[ß�e›«×¬™Jf ¢\–”¥%*Qaµ„åHXæAå]‹Lö.–ö§ÆnSm: JdÅr;ƒŽÓn¥+Owœ Ž}Æ€Ú¥+ÉmDKJxF™‹ª\”ì,/¢:¢»Vˆ½²[ï%±¸¡D%=Ãô( MXÓè/j't{J&å{X·=lvImÇ$6¨®.8J”¤ðƒ¡'i *Ýõ­EêYvè:^\“0µnÖ5þ r0/·!ÕHx4¤¤„†ÔÈRðÛÞqš¸o–¨«c¶Û›xŽ”•·½IÎÕi ÷¤úÝ (´„øZ#H¸,ˆmƒ2K·ÆeYž§TC�…= KŽ¥9ÂG0œ ã"Õ袛nŠ�Kïº8ï¸Â^„¨…¦”ꔆÃKZÔ„$%*VBv‚0%T ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥( Þ%Þ8éºSˆµß‘V”@<1, ’ê”8œ-›p wçiÏ"k�áùwa*üÕ�PŻÅ%�7h:vk-ÆRÓ´8ëªd#ˆ¬'�;P’@ÜI&ç¥O͵½£¨,ñ¬w[¤kŽœ‰oµª$5¾—e·š,¸¤‚òÒ­Ë!=µsÈ5ƒYF»'LÃÒ�[¯ë¸ÛÑ ŽÅ¼»o½© g›ï¥m)R;œo’y…Œ ¹é@U— ó=kk¬ûUÕsõ‰ÌĎűù¥•F�Øm R¤5¿q/27V)òœ6í%©-mj3 Bzܵ9¦dÉ JÐÉZ�òo ©¤mq#nRrpjØ¥D[l·ý'§­R‹ãw‰v‰ Jm«)ž!Ç›d–”'Œ¡½`µßœí¨�-¨4¥µøŽ Påàé‹lk;Örò™£²¶Ê-ö6…í?/ò{T¯>kô( ߥþ?�!u�œ~âìòwq˜Î=Y¨MX�5gGÿ�ÿ9Š®Øòj7^HÛ‰“ýÁÿñ§ùh©Å¯ÈÒ¸¿þ4ÿ-8µù­ vt)ãö¥ô1]»�l&MŽ'GÎ?©.­ö‘¹2dLy 2�§6€¥/²$'Ÿ~qç­{·qªçö¥ÿ÷FÔß|oüûUŠSQÔy.>Ê(Ë*R¯‡ºÞ‚Ÿ†ÌGuîŒ1Ù$´Ø½D A9ÎW,äþ5¢e~ÏÛʆ½ÒHWœ£Q°“Þ™ÏJSøE:,ö縤8HÇ2æEMn.i{F‹fÊtÚݺL˜—žº>Ûi Hi³Ìàä)]Ç wò¯NŠH4t¤#lU•Š[±ê÷UU?r6¿ÙóÏ4“¡8H*Ôm( ýf;�u­ú‡ ëmÁ©ñõމncIÚÛê½G.$mÛ€Jó�¼¾êüªµ•mÏÚmVö¢Ã”¨È†‡ Ôv6�Îoù«RÉîæA<»‡Eè6›î–nê¨b,”©M¼ÐçµIÇŸÐAøÖýGu)ÈÆý«â§±h�ÜՓ樓”½ÏßW)ú_[L8ºÂÓ9˜î…-Vû“«i(‚¬r'•|i]¥-Øóí—w_–Þí�ªKkÝ”yäàkò_ì“nL=ou» 6-¨†#¼Ï KR�\ˆÎÔ¹ßéÇž¿JôR›‹7$7w¸Z¦>äµ.9„ÎÝ­†�Ý•€FJpuUtœ&Ðé«#›4VËÆjž)jMUKbƒ2ADlêª;ËÇfÒÙ¥)V„R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” +Κ¿³ãÿÈœÅWly5bt×ýŸþCüæ*»cɨÝy#n$:O÷'ÿƟ墧¿ TIþäÿøÃü´Tâ×ä ¶�ÙЧ�Ú—ÐÅvî5ý£ »rý•õ &TÚVé�…,á ÍN=B§—nãPoÚ&Z ~ËZ†[�e-ð€s×[÷sÇ?5f‘lóýŠ4µ«p÷CðrÚbÍ«&@fX;P¥ò‡wk´FæqÏŸ,â¤z3H\u¶¢E¢ïxqv¨1ÜŸ:RW¿«FiÂIä ÎódœTzñj—9öf7àç˜KAÕ%…)°„`’êQ¿8>IW’ª’Y®×+n•¼BC›—8( ´�ÑÈ NÒU•æä¤#ÍÌU}.‘ÒjZ‰ra°¾„Øj‹5‘ÛÑ XBT•HD‰2È. ·byãnIÏvr=¦qo,ͳŲ4•¶ûm¥¤¥@ 8¢=Ã$ùê-uÒóì„C‘ ÷ØÃs#4âÒãjïÁ%!G—r »«* ­=Iô[ú¼FØe÷‚¤¶‚ã{BV¤•+™R’¾XÈÏuz¨t‡Ñç2Kbßñô‹%D²g.Ò.ÍM~TËiÈè+qÖT¤©¤ä Ê#˜ f¿LþÌúûWÉéãLi¹÷5ȶKjNöŸÖ•"3«ÈR†ñ’ÈŸ�TÙsÛ¿ÜáGµ4Ã7-ô¶Û̾¾”•n[‰'vÝ›À=¥y‰«k dÈ{ö™Ñ’VÑS)nkiw’²¡Fì¨yòHôråU/rEz$F¦6Û%¿|ÏD( ´wDE¸ýƒ¯µBtµºâ3/½>spXãÉØJÖB�t…lNFv’IH&¹sõÔË6]ÕrDG$\…V×=—ø¼÷¡Hl/—<… @ Ýšîk(w‰¶ÖÚ´3i–8¿Ò¡\Òx2šÁ@( ä¤îÚ®ìcžE~ÇG7è©~m¶Ÿµ+°'ƱŔè‚ÙŽ¥—á «p,gk@|šy“^“ÂN›ÖšmËø±¢{†b¤ª"TbºSéIR™má—”näyr®DŽ’­-¶×ô´i7Ù7i=^Ü× ÈͼB ‹YqÄ„¤îRB°FÜnå\ºYÊÔ0îRgC–¨7óqio]å;­a á&”†ÖàTŞq#vƒ¾[tfŒjß2Ü�A¥ÓØâo1d…6¦Ýl�’�­¤‚‘Èólk Vx²äk‹B,,ÇS L¨òU23Åç8iJTJ‚ÊA ÀäŒã<Ý{¥áHi‰sd°µ¶Ë‹ßo�pñÃ|s³ @;´×"÷aÖº’ðíŽQr¶Éf g\yLym¾ê”ò›J”¥%Jv$O<ŽWIzWj‰æ#Üc*Öš8·I,")BFæÔÃIØèZÁ;ÖIHW’và�¶ßK0F �n‘d¹¢;¦ìì>ˆrV·]-—¢ž‘Ž@)J#´BA÷ºAÖ,iTÀgdËžµ†ÌùÂfЄån8éJ¶¤e)I%KHÇyô^£Ë“ÙðR¦xÖ‹âT§e¾¬–TÙs†HP;ˆ;H8ÙåÞÖú~á>ù`ÔvvmÒn6g�9Å4Û�¼€•áÄ¡e ) í<�|€5u&½.ŽÛÔò-Aùϰ¥Æ·G˜‡CêJT³µÔå%°„)ex䑜g³RÛlž¹n�3fÎ;(sns·pó÷Õ`¾‰ç¯I¾Ãz–T+³–ùñÒÌT³Ô[2Þqå!!ÆV´£+J II)m<�«MÁ~Ù`�o•1É�Ça ­÷AYð¥#ÕÈTB”¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥ƒ¯äÈ� K–$5§®7-q.fçTêT´©�€%µ-µ%* 'šIH“Bt†�Ys ‰Ø›sŒ*CN7wmÉMµ‘±oÇÚ IZNä�¥òÆí¹­vˆÔ 9l±IvÖtå®òåÑ—Ðȩ̂�qÇ[aM”lHJÜXYÜ;#$Ž'þ̵B4õ¯NÄ~É 5ЏVù̺çô>Ùgs‰áá²”(¬áKÞâR{"†IC] Kv>“–�4ð‡¨ŸB!R’Ê)£ŒnZ”„àîÆâ{öu†°»iéÉ^šK¶X¯ÇaÙnN ¼ò�RSò ì<@’°å ’ãž¾¼±êyR4ìm1j±.ßf–ÌÄõË›±ÔKhq¾J#¸v©'vïHÛç­-u¤õV¥“µqtÚJVÛ–û©qÄγ+â†Hoå2¤’¹¼‚�˜Áܸꛩ¾\-:.�Cz«Ò«f~ž“g�p“o\[�]qÆ[KÊ’ô�ó{P² ’ðØvämíu¬×Fú‚Ça�¦ôÔËk¶ë­š5²T™Ž-FSLú”¨8TŒ…H“ÞAÀ:=1<Ô›<) ¬-§YÞ…:K¬j¿cÉ©ïK±š…b·Ã`Ó ‘“Ïj]`ô¨MFëÍÛq Ò¹¿þ0ÿ-9µù ÚO÷GÿÆ墧6¿ U´Î…<~Ô¾†+·q¨í)­~Êz‰�Àn1ùžîSš>¯EOîÝÆ²?§¬Z«£•Øu,>¹j’¬¾Ïhݱà´ö�B†”žGÍY¤A<ÿf(ý¥|½ÐþxɱKu1ZGP� �ë)¶”Jü´Ž#‹åË#»Ê'ÏXt„™3µ,ûeÈ=5¥Ä°\B–¬­*'†7ËŽ\†{¹Wì§:7ýž™�Ü%é©Áå–Á2¥¢œœóÍj_:+ýšíO¢MÓOȆã…Aɹ¤úðùuyU}ˆ²T¸³Gµl¦~^×1í¶ÛEÂðÚEÆPP�½¥(qD8Úµy9»C�íŒóÍB­lLÔZrBu�¹-«t–”8%L¥;p3„áD§ �ß_°žÐ¿²“ˆÚí¹å§Ð©wR?Ý]þŽú7ý�žº<þޱ¼©-·‡V‡î;R’AÁ+VÞð;ùV´ˆ”dÑ%ŠK}†ÌU²GâÈеt„`É’™NGa´v{ (2°÷y#²Oœ�M~ƒè*É:ÃÓî•�=iJ�D²„¬�¬ÈB�»´…c�ÈÁóÕž:0ýœÚÔ³@²«ÂÍ:L &\ µ Ç#~ðõÔ¯IèîŠ"ë+uæÉO†â‡ çdÍ^ÍÍ©*8¢� ¯‘sŽuTè�’-X‘ºIÔœü¼gg™m3ÙF¨Ö¬¾í–Z’¿ÂV–})J÷•‚”¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥]ôÙû„oùó˜ªñ�&¬.›?p‹ÿ)þs^±äÔn¼‘·ý'û«ÿâÏòÑS«_�* ¤ÿwüYþZ*ukò[@ìèSÇíKèb»wÞ·¼¦4R]O”•òöµ£vî5‚ý-Ø?-•m[kF3ŒÈH>céôV”ȉ ‹]×"Ïr)¬•!WüWò†ì=G ¦ÎÂêö+bS¸6Hoù�ß먿N‘ãËвç:T _d¡9Ü{¶ŸW1ÏÍŠ†Â»êyR”ûR”ã´FR¢qŽD ¸î=ùÀõÔ¶Ý©›M–U»Q4'qÛ(æ„”`Œa@ËÖ*—£ºEiq´tY¢Nr±9–Úz:Db½>Ù¤ü| TB´ZìmK�¨6{ŠOÉ"BRNr „ó@ä0ÞyrÌ¿¢íqx°h»¤Fô¬‚ãkzñAJ0°+$�SæÉåÌ×KAiëR,—˜Keµ6ûñR¥½FÕ3N8NR[q²î ÷ù£:ϤA/EÜ.6ÄðÕt+¶6ã« SÌ%$qð9%XRÓ˸šòëqÚù+¬š#‘f²ñ_÷µ"=žÝNs¿µÖ&Û’RDOYZ}ô_¨´ô=Er¼]ï¬ñœuM-K)K'r– ˆ»ÄÕ©ÑXK7XIjû.öÌ©Ž>Ô‡6ì@ º A $’UžÖ+ó_FP¬r&¶Ö¥S¬ZRÊÂ_NR•88*ôí ôÕÏÑÄý¥ý=eÑ-Dq·W!RŸJ\RÆØÎÔNä’O!Ë"½=+)”XOšM¶ª"*ÉQe)%–X·ùžx]°(®Ò5R#Zå²Ö¢"-ïfÓôu*/Ò\­EÉÍ<ܲLÆÓ=ÈL¶ô–£a[–ÊÊT½ÛW"¢ ŽéíkÕTÔc|•¨L›Äx+„¡:µ«/#†�Ã(;pÚ23Ìã5ì9Ê¥@dôƒ5Z„XíÚ}©2—z~ÔÚ��ÂGÉDL‚êˆmDS€ ä<àset½…D‚ìkD «ŽLnKwKÊbFeQž ,%â‚VT¢ @ÊrNÜb€´)P='Òš¦÷m‡f³!PåZº?)é�%”­Ç[-„¥ PS]áA$n9µuNª¼Ùúd´[Ì¡âëКj[%¤ü›Ïºãm;¿¼´6Þ3�•Î2( •Réý}{Pë{ƒ¥‰vhŒBzÏךŠÚT‰QÖêÞP…ü\�ØN6‚Nì^”Þ›¶íÖkuÂâ«ò,¥1.áØ…kŒd%ԾʑŒ €ƒ»‘À 6•][uÍÍÛ‚¬Ñ-©Ÿw‘uœÃMÊša¦£lÞ®"Ý´”�ŠQÝÌùÇMÍpE—�fݽM¿k‹9OCZ÷m~)q7¸w�íË#•2¥UúSWË´™ªÕ·kÓŽ cs›�:Ý¥;•ì&7ä¥K[h 88 ©=ªìôWuÔ·:¥�Pë]jÙ ²ÃIHLV܇ðÎà;e%Õ³Þry Þ”¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R”•U[u.¤,Yuk÷•»ë~]¹Vž¬Ði– βÚ�°ž!p!J%E'*#‘�ëÛ”ÄZõ¤¹]aÀ¼[ßšÌy0#¦Ô£‹µ—xÉR Éw!`(§€¸)U=æã­£èX7É:¥pn’­È\ \x,¸ìÉînpGXR R „l %kRüãk¤[Æ©°9âoÎÆq÷ã7Þͽ*��͇ºÔ• ðòT½§ˆß 0r( :•\j«Þ§‘k×sìWv 1foƒjŠ—Hq˜êyå£<ŠŠœm¾Ö䎻9'?:¯R\#§I57R�7n¹@ué—pÓ9ë C%¶rêÚ7ïu\Ó“ÃÂpMdÒ¨ø� ^®ö»S× QâÃnÚ_q™h„ßý£5©2[ØêUŽM¥|$ag‹€{5àé#Pßa¦í뵦  ¤ÅÛíìImµHhºµ<!ji)3òžQ'º€–tÙûŒ_ùOó™ªõ�&§ý3¸‡­p]iiZÙRTžâ ¬E@òj7^HÛŽö“þ¡ÿñgýˆ©Ý¯ÈÒÔ¿þ(ÿ±;µù­ vt)ãö¥ô1]»�b¼§E�£y@R’ €ÎV[·q¯‹£RžèÁæá2ëï• ¨mJ?.3€9÷f”˜M�!¾ç,—ÉQHت‘œ©•}ŠGXj9Ö{‚-–f­Î´ÓAo9%М¬ž|· `óçÞ?�1z¦öý¥/ƶA~PÜ]KoñÞq•4®ÿ?xÅm\z1Ô—tºgD½0û®nx²Êö:œ´  **ÉH¿9 t}ªmO¾"Ú§8ËÀ+ „á)RC¸Vîýß)å“ÙÇuSRR›C€Ø}Ѝ‹b,“Ãuë±g)øû!¶�ɦj%–ªOÏ•›|mZ…ÛÕ ç‚Ô§¶<¸²ÁÚ‚‘Œ¶{óç#—ß\+F‚sU]™œÿYL(já¦";�½”¥I�_.y©-—¢VìGK¼vVSµØ$€R�”«Ÿ w˜ÕáÝ*ØnØùÀö°¤îW�XÇy­¨:eŠè‘ÒÛ°UšImI-ß’Ù)z+ X’“§5TEšX¶&Ë¥vú¤ !‘µXm1d©î°)(“µEJQÏœä“Ès©'ìÿѬëHÛåÎRë`ÜtáYÜÊÒIP>³ËŠ™ô� õÚÌËM‚|©í… ÅZÖR®}‘œg£Ñ‚¯èé Ø…é[ݾܰéué1BPxNcq)™Úð­)È‘)ZEð:nŽé T>‡uªª>kdîºÜKƒRØÑ{�"ãq¶ÈŠ÷‰0]q ÚSÌ() (‚•¥CÕ� pWÑÕ½âü¹w»Ì«»²#Hð«‹d>…G*á¥-†‚GÎ\>{ÕœššR½VW.Žd1¨¬’-WKÁñ*ç>â^gŒËŽCà…%%H%)v( Ç�Çn?G–ømÄrÙy¼[îQÌ’»“KeOÈë^ⶦչ`+’Üa8ªeJ‰iÓPí׿ "\é�µ›r•!нèikXY8ÉY.+'8îä+[Sh»V ‘q~kÓ¹öÔÛÔYq)-%.)Ä8ƒ‚C‰Z²0 G*’R€„ËèÏO¼Èi‡çÃáÅ·FŽYSg«ˆ.8ã HR ˪Îà @‡ŸêGVØ÷¡vvóy—$Üšº9Çq¢’Üu1¸á±€P  F6§hHÈ3JPt ´Ië°®wHÏ“9¹Œ)¢ãj�u°Ú�Pv§’’NRr+©jÓ›~”^™ .M½ä<‰õnT‚ò”§T³Ë%jZÉÆ<£ŒWj”:ÝÑÕ�µ©W§¥jaÕQ ¤^RËèe„¨, $6�®ÒRJ–¢Rœ«•oé-¦ô­Æí:Åk‹Ë£Èuä³¶ÒØKHl! Gcv{KYóÔŠ””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R”F€µÅ½397 ›�ãNváÖ·Õ’æò·7÷¸µ•”‚¢@±Î¢›ñ½û¥åÛcM¼Ì(*u¾ 6ÝäâÃ{ˆ(*o¶¥mB”ŠŸÒ€‰ßtZîZ­:’6ª¾Z¥¢ ˆÚ"·ÆÛFâ¥m0áIQ#qgjsäŠÅzÐnîJDÍA~0gðÍÆ ^k�0¡)NU–÷#pBw”€}ÍLi@En&<�#+MF¾]­ñæ¿%Ùr#ðóâBœS¨Qq¥$$—6¤�Ç?£¥"ËÜÞ´Ô͹ r[–…ÆKŠl¤'†¤xJ…nes5+¥• á<+E²ù}³Á�PÖÔ9)Ć•Í[øˆWlœü¢v¯´{UŽóÑÍ–x[QfÜ­1··m™ˆCRâ¶Ò÷!JN¥'r UƒŒ÷beJ·é¡´5l‚ÓHB)J@äuŒ €1äÕƒÓoîQ?åWóYªù�&£uä�¸îé?êŸÿØŠžZü�P='ý[ÿâ�ûSË_�*ÚgBž?j_CÛ¸×Ü‹ãšo£‡/-A3×\˜lß¹à�+Ýžï5|]»�qúB‹×z ¹ÅÞQÄ �îþ�žÿW§ÕR=Ìb*OîK `¬© ¿â¾Ä>í˜Wè¶eè·¥J˜…utC¸¥Õ -¬l9 ‚yw÷b°Üi5B½pâ2•H#®�¦*·÷€Iì‚O/6k󴩺�:¦'T´@f4E!À÷ZRT”­ …7‚1ÄW,cÏßS»ÝÓX& ­fÅëuÉ<±Ä¡.¡aÍýù +z çróœsTÚOH²:2 ¶ÞŠëS�·©ØPz2J.ž+ÖS[nE’^–[ã"Ì´þÒʺ[¸Çèö{QÙq×&âÛ#„´oJÁR{J)ÉNIÇš¶¯´|[<ÐÄÝ5-*Zb!þ¸�…Ìn^{9‚IôÕ7VêöêÙÒ¬´±!PRÃR¦Ë9Ú…)½Ý¤�Ǹ `+�{¹ë›¥ú…¬ì,C™)jqo)m¡.…c˜!;H àç¬ÀúÓã}ôV£0¬³ºÍ²¿o�Öǃь„ªÈª®—Ížçë‹J†ñ)1áØBÔ´¥BhÚGß³þë«¥õûWëÃ0…†ãŠiN³pCÛµw$yöÞ=#5ù‡Fܦh›´¹s­|s0¶Ó%·‚› IÛ€J²SÏ ò«k¡ùöc«­Ñ ZÚ´¼ì‡]qŽÕ­\9Ém'ðw*Å:,HRhæÖVý¿jÊjˆ¶ß+íµmÀŠ�C|XTDV¢:kl쟧±}R”¯y\)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JPÏMß¹Cÿ•_Íf«æ<š°znýÊüªþk5_1äÔn¼‘·Í'ä?þ$ÿ±=µù ZOÈüIÿb*{kò[@ìèSÇíKèb»wÓÕSa[º›2ã®E@làûŸ ü»È­Ë·q¨—N <÷ìÙ|n8Qp†¶„ŒžRÐ{ªW¤ØÄÿ$5�ÚVyWò‡ç»[öiqc·-øÁÅ›cnä�ÛJÆTØímç‘‘È“[Œ¹b™xÓ±¢«ŒÒ‚]uæ ¹(BSÚF8Q%IPÁÿ€Þ3F%¥Çyl:]CÊOc†®ò â3êÆ|Õ{éHí[ôŽ‹ƒ¡·j&Cn!\';Éq[†< Á#‘¥#¢á@¥#–4ÕÓ[¦¿'åër_»¤âÅ£ý¬TDIX«+­—êÙÚªÑn‡8Î\…ËŽô&]mÓŒ‡JÏÉŒ`î=�£˜€çß]íŒÚ­®¬G,r¹-n(À<Á ù’�¢»[¢8„ŶIcz—zÊ¥%¤;�1�çrO.\Àë‰n‹,È•n—|�¹J.«þÒŠ[ZÂâ“ÙJ·€p#9<Ã:B‘� Z©4Yÿ3­—Ûl’Ûü1=*Ä“è­I*`˜%Ø]í3‡¬ñ&4FØuÖÓ{Ö㥠*^üa!%]À�ƒß�IÅLz—p“Ò¦›UÄ8Ûë\…­)3£žÑŽóèÏ.~z„t‰¨à¢ƒ)öí)…¶Ò�Ê‚¿¬ÆybݸiëÂÖÅ®}ŽÙ.p�ÄWâ¡m40�¨#�Àä+ý-¦nÄv~�´KrB"©èM¬°‘ÜHì�è0t£ÈfBIeÔ9·¶žiÈdy¹yúk-`�$gä¿+ »)Àä…¶ØJžXHHRÈòˆJRœŸ2@óVzJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” (ë#’ÆšÔL¶ÐÕÓ5|ˆ³¤ý!Ô¤%æ{Ëhi9<’’äk½ivŒÔÝ&]CÎ7I®qSŽ<°ÓÊ=¥I$ܬ&l&onß²Û›ºº�ŽNDTÖŸAp ÄrzåÆèÿAÅ—Öãh�4ÄœçŒÝ­„¯>�Á9 +ëÞŒ¶9a·é?&ï¬^³!£!åÕ­J+.NÏþéeÕ-@£¶²€ÂIL‡QÚcÅécBÏS²$LP–Â�uÕ+²˜§¹9Úœžgd÷ç‹æŒÑ÷ÙÝ~ù¥,WI{8ó-í<æÑÜ7)$àdòõÖ+†„Ð÷i—pѺv\”¡K¯ÛZÂRRŠs€y€SÛ¢êM#ÒMúol)2"ÅuH j.#j¶‘¹"B¤§‘å�k.¨·75­äûDmElnÔò]³9!„©Ç l”H ¼¤¡ÀØK€óÊx»‡:°.zcM]-mÚ®ZzÓ6ÞÓ¥æâÈ„Û�!û+P +´®xÏhúMkø—£¼‹?Šv¶éyü×.õ„mÚëÆh NÑw 'h¹jkTmA:zH�ë‹[­éD—6K˪JŠ <Ç@+jµïíÜÕ ¥ßµµ7‹Ï‰ð‰5SL‹4®²²…(8…­Ü)*m*+PØy ¿îºwOÝ„Qu±['ˆg1zÌD9À<¼�ÀíîÞ�^Ü,+�Î-Îáe¶Ë�÷i/ÅBÝgž{ #)çÏ‘¡™�N—Ôú¬–µJ2 9t2¸ŒgþµcÉ«¦ïÜáʯæ³UûMFëÍÛqÛÒ}Ïÿ‰?ìEO­~@¨“ÿßÿˆ?ìEO­~@«h� xý©} WnãY°µ©º:rÈó©i¹'š”ß ¯oòr3äúkÛ¸Ôo¥Æïî~Ï7”é‰ò ]ÀB£?B™t)A+I$)=üó�=)4pó”–{‘Eµ©JÔÚžèpýšôëκ·n ‚¬­·„[q§<Ê9‚= ¤úˆï¯-³ÇƒîLMñ±p\.% ¶w‚~WÌyÿ ü�Ztµ-rPÖ½ÖEq’TêMâNRÁÏoÓZ‘ºHéJDá�«”éP>‘çÿíÕRÊ$EŒ¶¯Í—,.’¦@†°Xé5ÖJIú?n/¡™ŽJ]ÕÀ»žÑÜ<àü¯ßÏ×XBR÷)^7¤o!JŹ\ÕËŸõÙóWç]5®µ±e”]u¾¡l´6ÜÞ*p÷üîgÿεuHºÔÉWUÖ•¶ÁÁPº<Ü0¯ÄÒ9ËU|“ÏX� !#•l¿iyßfVîÓ[–î³SKH!|;qDžd+å¹óü}X�ižŠäZu­¯SÊÕÎrkl2bÒ°¦Ö�Ì(ãóÝæÅQß³v®ÖW½c: ×Rß§[ÄPâ‹“uM«zR6•ŽJQÇwgÏŠºº<¼_®:…)ºG½Cm¹e¶Ä¹�úK.¨à§;JSÌùÏš¼Ôª[ßR"NJݸª%È’±Vâ8Q"À‡£c¥c¶&Û}¨Zt¥+ØVŠR””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R”qÓîp¾å5š¯ØòjÀé¿÷8_r¿šÍWìy5¯$mÇkI÷¿þ ÿ±?µù OÊüAÿb*kò[@ìèSÇíKèb»w†t÷6E¿ög½MŠámæ—¡^�éÍ ™Ý»�Dzpf$�ÙÆèÄâ±oÅíïÛ×ÚÎ+Jlµ[~X¦ô)ë©,=ÐüݤåǶÚ.†THnÜå°—6:îÔãvG ýÅ##—#ßθ:rã fkjrÕ2×ÅŽâW-§ÍÅÊr¥„œmÎôâ§}!ÌkCN…ª,vtN²®„çÉ,!·!Å•’SÝÌr'�?j¹»eZ.H²®tËšÖ¤ç†žâ;ÎqêÏÐ#=tŠÖ-Y&ÔµpðóÀëã¤U®é,í²äý–œ[F�¿\X¿4ýéÉ!¶Xe¼c8À$ã VäæÀ'·ïú2Ï"]ÂÚÊÝŒ«gŠ�˜Ü–€S› 䢤’3œâ£ú)›½±»Rd4°Ä…1%qÑJ –Îöž—’HÀÎ=b¥¯É—©%4Ûèz ³o/Ș鎥%¦_a–Ô’‘‚G%瘞þb½ÉÑ´jõÕÒõ&^‘�Vª:mCGCJ±é×]ƒç:"ÞJ.&*Vìå#yIÛÉ\±ŽþñV7CZþ&¥éÓ‹tƹhRå,ñ S¬‘Ì|š‡/ES3o)‰ ¥Vç“9,Üq ¡YBˆJ°¡ƒÙÛæóâ§�!iéÆÀ·’ãέ·þX¤ Àxãh=ù'™Éçæ®b5ºÚ5öÉé)® Î%„*Ô˜ÍIa[ÚuhVÊHÈ<ëóšì·'ôíê­/|ºÝ¤hXq¬ÊðsÏ;Xaàò ‚OÝå²¢­¥C'«G][æÈèúèʕ‰0Wv†ÓJ[ŽÅIDÇ5€v• T¡ƒœ‚[¾[,LFvæó�‰R„´Ã�-ÇT J’£É$÷r“ÈWÆ¡Ô,I`Îbêèx¨#¨Ú¤ÍÆ1�Ü×·¿–ìgž3ƒU"t›7 Õ½ö4¢Ó§“¬zßE° F�àõ%冖�YiO¤�T±ÌfkÒÕòtFàX!Ǿ2ÕШM¹Û­re˜qÓ�Á<ÖRêóµ$ŽÏi]é�&Òº†Õ©íëfy÷¢VÖçbºÂ·¡E+JUÉ@Žîðk`]`á²qÿíJ-lWõE[wgò†1œÕK¬¡³rV–6[C¨ÒVèò¢¹ á¥&Ém·°ÏJ†xn¨B\Â’ >s‘ǹi½FÕ¶+&-âç»,4K&Úuè¢æv0Få�Â6SÃ**)<Î( Ê%Ö»¤ë\w÷Ë€2[Ø¡³ˆ G20rî'×[µB?nm©Z˜Ú4LÖôüû�±-´ý¢Pa !¥•»ÔÐã�‡ZÀ«r†9™7D±S+Öë݆bQ¼õ  ;Ì1G*K�¤•[ ¼œnì•í;I  '÷MGeµßí6ó’ÅÆñÆ(Qãp’¾ÐS€¡åœòÍzÞ¢³9«Ò¨š•^†&¹!]–J¶cnsÿsÌc�Aú_Ó÷KÖ©²ÉµEur­ö«„˜�„%¡è.°…+¸o-)8ó§:Š9nÔ “vÕ®é{œ‰—ÛמˆRëN6~:aJF—´’„�¢R¼s4ã6[PÚC¯ŠVê&VáܵŒ„‚@ÉQä‘’HšÏ_�‘U²ápŽ›Z ÚeÝ´Ë𺵉ûlE¸‹šPñ 8¥ls›@î)R€$�¸÷4å’cw>„Xn j¨÷inß®k„â"1L€s �¯!eLì@R¶á<“°à ¶´Ñs‚»Ó¶d¼Læ£"RÚØ®M-JJU»æP¡Œç—wuR¶ý:›_F]Ú_ÑèR]€‰EK³Èœ”#6�ŠÑIZÎT�§97×fºV{+²º �o¾Ûoî¤&4�–¥>èm™jShS'*~8NÜ¥%`¤œÌÐ%p-ZÏLÝ4œ�Uê‡lñRòŸ’[Zxa¬ñ2’¹m>ncg"¹]6ûr[Ù™µ²Ü÷na7!½¨›U¦kV{òŸu+eIêÎEϵ‚9‚"'iÆB]<è ÂËr…y³B¼[^ãÁ�¹1�ÚS½µ¤)*€# ƒ‚­ºüÙw²_%twlµ�$únÐô<&-î¿h“)á(0­ÉiAin­¨'*Wl�¼ŽÐš”Lˆãºæ5þ-†áqŸ.\ÕÊÀúe!-%N158Д…)L¹å(8 Fþ`[ÖK¬ Õ¹ cüxË[�¥{œ© R0 %%CøVíS]Ùï¶½AíKl”ûuäÚÕV‘k=iå8—s…<‚•%Ó€@ÙË#}Ë@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@qíÚžÅqÔStô‹r.P[Ii Q ‚¢œãnr)#ÎkXõ¦š½]|m¸-Ù KŠhª3­·!(PJË.)!„’2PUŒÔU6]éžpjÝ~e—¬é·&W€æ%� HuJùRÖ͸P;ó´ç’�DÐu#CFÛmznðÕëHÛnNø.%£ B\FÒÛ…;]J�q.e@%«—3¤m¤<íÕÅ6¦Tú–Ô'ÝKL…©× PxMîBðµíIÚH$s­Ë®´ÓvË«vÙw •£:ëmµ²ëˆICAG¸¬§>jƒê£ÕGM[ïq¬ˆ´µár…c—-r -ˆÍ­––¢�¢¥¨å!}�T­Éäßíwkv ÔÒ,Œj†®W7¡JÓ¦o¦ ŽË%´„–Žä¿Œ$öFâh B÷¬4õš[°çÎZe7Ác:ó‹S¼BÚP†ÒJÔCN©€œ�µÝךY¨—$Ü}©Ž8Ó G„ûÒ¶É'€„A(�¾|TNMÎéb¶\µlÞ»_/΢:�ªDž¢Ãi,6ó�´…9°¶Îð�âðHQPÕ´5O_,:–$-Gq¶—(ÓßrË$Kë’ŽùyQøaÍ«-,e(ÚžÈä;€šÜ5ö“… Ç.Š}™ÑŒ¦ H¯I%��Ψ4• d¥äM}]õÞ”µ>Ó3.¿Ö0‰%ÆcºóM2²BuÄ$¡¤+ YH8<ùUu¢˜»h¹¢ñyÓ·y ]-.¥¨ñ!.JãºgJ’––¶‰(Nã„ÙŒ çÚ,—Ý'¡ïZZác¹\n�33*ßd¾˜f:ÙqÄ‚–’•`îYJJU�IPÉ2é¿÷H?r¿šÍ@òjkÒÌg!éë,G\â¸ÄpÚ×óŠVÀ'þ• cɨÝy»n;:OËûóþÄU�kòWúOúÇÿ¿?ìEX¿ U¬Î…<~Ô¾†+·q¨oO;?ù4^¸Š)Nøù#¿÷Öªevî5¥ª´‡�½KÒ~ðw^R?¤ðx»8r瓹9ÎÌwŽúR’tyxû)½ ÈÚb*ìOt?4ÈÔ–'z:U™äªMÉÆ¹�éŠÒÔ8¥ä”nƇ*ª•xÓ-Þ¦ø.5̓ÇmÈH~rÝe½ª†¤)* Ýžþ^¿Ôñÿf„3h6ôë…r[ž íçÿÞò¨€ý�6ÈKéé…îþÅÿþõAA£¾ŒŽIª¤ì´êúF‘D‰'AKVûÊ ûªîRP¸¶èoZ ­ju†˜ KIÜrRòRNN IåZ¶5êà•]-Ò¦>¦ùºÚ”¢°>ï?pü+õçÿ'ýNŵˆVΕ¤ÀK#‡h$g8Á{ÓΰÆýŸu“n…?Ó ò¼-HU� (�IzêV1ÕmILðFŽŠˆ‰³ Ϻo^ ‹ü Í™/HCd’0ànt<Ž›4ÚCN°V™*J<ÏÈ<<܈#øTžGìÔ½¢õªËªh¶°mÄçžs’ïþ³RýÑ ôþ¶·êUê$ÉêeõÉ‚[º݃Ä;F\'cîªÇtt£éÝ­ÛeöÞ^P:RÁWʳb"¢¢­ªÙ6R²Õ¾Ù¥)J¼9�JR€W;PÙ-·èH‰tan6Û©y¥6òÙq§Ü´8‚… ži à‘ç®�( žÝb·&ßk�ÀŽ·+RÔµ©EJZ–¢T¥I*Q$“ß[ô¥¥)@)JP R””¥¥)@sïV[måP�É•¼!JD¶ZAʤ¤€½¤�€q� t)JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()J·éÃ÷H?r¿šÍ@òjÓ‡î°>å5š€1äÔn¼•·�'ýcÿߟö¢¬ _�*¾ÒÖ¿ýñÿj*Áµù­`vtõ)ãö¥òC۸ץSÐ%Ì�1oÿ4ŠïÝ»�GúSÏþÀn˜ïËù¤T}!Ø×æÅ7 väò÷Có2¤0 càÌâ°ÛqqOㄜ—2pGŸŸ/áZ/›Œk»‘ú«rš%-°�T�êÖ�¤î#˜'»$‘�šœ¿ª®–»E»MObÊÅÅÝÌÂê­¸÷T*â©E|5 ”�§Î0Iå\ì:Cªè»mDØ©/E;9ô‰¤Iñ¾XJÕ²Õ!–õ©ÙN•y]¡œí�ÿ¯95�ÇÉ4âZ§¡¹–ÅÌi+aCí¤«# žG�å�=c�i¼¶ÑÅ_Ò„$žm€Uƒ·Óé¯-!ÍtU«wãÃÐöC¡GkiøÛë´±ú v÷ ¾¨Hk´•¬%%dŒs<³�ÇøU·Ñšå.õÝ Û¡ËLw‚Ô¦¸.ä‘“��µù¾Ñ6\Uo…-öÓ“Âp§?…[= ]o é*ËožêmiyIÊS¸|“‡¼sï|×…*¤dkX“W5UUEÍ7¬¨,-îP¸¨œ2NÜf€˜R¡0:I±H›{D„È‹ÖìVBÜŽð}ç_¥±¶ Î0œA®å¯TÙ.qâ¿Kî¦LµÃH1JÛy R”‡RÑ òÂ|üŒ�Ú¥Fµf¦“l¼[¬kP»^® ºûl.G¦™l¤-×\Ú¢”îZ0•UÝÈ‘¥]³û¬[ 6+…±¶^u|ÉiöžQCkeA S„­%vnÀÁÈÈ*TcÇÝ/Ô[”™²–\’¨©Œ‹|…Jã%;Ôƒ#ŠNrž@ƒÜE}']éw]¶3â©.ÝX2!%ˆÏ9Äl($¨íAØH *Æß>( -*¤Í-àˆ“'N-ºí¦=ÙäF‹&ClÇy*)t¨4o°¾Ò’œ ‚rtî:ßL[î¢Ù*â öæPµ¢3®2Òž 4y)-¶U‘€µ äzE"¥suòÙaŒË÷7ÖØ}ÐË ´ÊÞuç'jl)k8JŽ<�=ÀÔfHöãzÓVÛ,G®B÷%ÖTéeöÓ4pæðQ%\гê)è Å*Ò.§ÔšaåÛôõ¦åéQa…¿wr;¡çßK)ìëZI;³Œòä3ô½j‹C²YÕé¶Z\‰<™VSÒ’€ô…²ß2Â2’Rž}à“� P TUŽ�´›ÒŒQ>So&SpÝCÖé-p¤6‡w68[ÊÓ´¯hVF3[qu–œ•{v'­R”úã!F3¡—@%m%âž–�•eD�ªåÈàý)JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥(*33TJ�Ò »KªÈêcMa÷p[éJi(QJ[$a`ž}À÷ךWTȼj ýªe•ËW‚‹*Bž�•©Ô8B””òG‘œn'g '¥W’ºA½�&5L= —-MÚÍÕ÷¤\ƒ9`ïRRÐá�îÒR­‰Ò7uÙ•«¤5¬¬v4ؤwfÜRg:òQµIh¹´7ÍG�Á'n 廞•R¡š£[ʵ5©œ·é÷n‚ÂËjp¢J[ p´·–•;)Ca£‘¸’è<¹åºjÙáë¾ËefuÒñÉéjDÓ–Yl5¼©ÀÚÉ;žm sÉ'PêUw¤‰—v#xµ¦Äé^ UÆc§ü¥Õ´ZJ‚æö�ð§³’¡‘X®]) [e^-dMµA²Æ½KuùœŒwÒµ 2Þŵ‘Rì$s€8þëîWóY¨ MOznPT;z†@)Qæ0¬f Ly5¯$mÇcIÿ\ÿ÷Çý¨«×ä ¯´ŸõÏÿ|ÚŠ°m~@«X�=Jˆý©|�Åvî5éOÿØ Óïoÿ4Š�]»�GzW8ýŸî§Ö×þi?²/ÍŠo@íÉåî‡æ9³JÌCÜc4 R�"9Žñ‚=uUÞKrŸÔW¦Ÿe !-ºú†Ú s;”¢N>cÑ]ýi§X]’)ei•-±%JBˆSHÏdr>~Yû�Blz-¦n]n䵺ÓK¦K«ZTGqV|ÙóúU<[ZÄH‰kZ¨‰nݾga3¡%XMþéÎÍ—&2Eå"EbqôAa×ß/ºæç ›Jwœ à€y$§¼y«"›[Êiµ6ØB÷«‘ÎTO¯Ï´zèk¤»‡á^)Ìy¿éU é¬äYëñ%)'ÙñeR„V€”íæ}uZÝ ž–ìaÅ6¢þ6y‡Ïÿ_ãUks�Ǹùª×èz:`°6ÅÅÂØuehÆxöyÝŠŠ5ttz\ŠÞ*^ÑéPÛÑ/„ïæsbÊÌm»/?Eê¨]t½Ú×M¥é�žŽÚœ$$)h)àŒŸEp¥§‡´"˱HÓÉP•ÚWl˜‹gäùsí+<ñËð©�+§>^TŠèÎõâÕÙ‡X“%®ÅQÛ½K·%LËšd¶xÌ'väŒ ¤¤“ÈöA2;Ö‹}þ…nØ!Å•&Òì6òëªa¸“žÒÊÜ)Ü£Ìäãð©Å( ûUXµ~°ÓʶݭÖkS‘¤Æ™p¯’â¸Ë©^Å(0ÒÛ7 •$�@åQëÎ�sJ³oÕ“k¶Ï�}nA/3e°êLWcô·�¥7ÉÕ²€‘„¤ç9«Š”¥´•×RÇñª+Œ<ëwë£Í6ÅÒLe0ùm%mÈ`o) da[HXÉÀÈÄßFh‰6+ý¶à †µLŽû-I}õqäJCêP[¹RÆB²¥I9ÚÀžÒ€¦mýëFŒ•`·½a}˦•‹d˜ì‰¤Gy–]l¸Ø ž"î;#<óŠœêm5pŸ¦,‘¡=\lò¢Ëi/)A—–Ï%!J� €V1RÚPËZ&û&üΠžíµ™Žê6n’c°òÖÛLµ Q’„,¡%k$…R‘Ì�0ÏC¤ë6¨¾ÈµDµÃ³Î²´é~ãmÁȦR’Ai¡—rØWiI n!#» Í©@VúŸJê}Cs³êp­ñn6ö¥ET(šŽc ¸ËÅ¥‰-4……4;$ü�Žd΋®œ¦Úå²*âBЦZT‡ÝlËfà&¥9¹eµAQ%\ó·ÍVÝ( ¶^�×’®W›¸“j†õÎt'œ‡äûAl2ÒжL”´’TP­é@<Šyw×_£�9©t¸¸F}6Çãϼ.jÜ3ßuÖÙ[ åÄ•-iq R»I%]’jwJ'«l7‡55³Ué· ›”(ÏCz,Õ© ÊŽê�²�éJŠ•6’µ]êsÈ�]´.¤¾M“©®rmL_’ì@ˆËŽ.+-Å|¼[…!K.)JÊö ¸NpsfÒ€¯¯–]w\µ´Ú$>©èWY1P¤!-%¶øŽ)$8HÚ€­àÁ“§ÑÎ�¾éé�q‘numsà%Æ^qkw�-/!d-9� J9š³‘fÒ€«4ÿG7»~•¸ÚŸ“nSòtD >…!Å”‰ 5% Q%á’ò0qžG)³§©ú<Ö—X“!xJÌ‘ PK—YL´Àa Ê£¶�‹ qµž*Šˆ ŽÈoÒ€‹ë-Úá7OÞ­b¸Ù¥-þ­%å!—’ã+iiâ% )#~B¶ìcŸ.&�ÑxZ†Õ{™" y7 ŒùÍ4µ”¡RR”¡ ’‘¸$$eGnNNp,:PÞ�¬Rõ ’$(N0ÛŒÝ`MQyD†%4òÀÀ<ÊP@óg#¾¸ëDÝo×ûŒø�ÂCRaÚØB]Z‚‚£OT‡3„žEé=øêÁ¥_ßtMÒrµIeøIð½îÙ=�ËPÚÜcxVÉG€¼‘Í9#ž9Úk£i–»ÜTHm™vØwWî Hrù8¨¸ãˆC RK˜+Évå\­P R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JP R””¥¥)@)JPmOlÖrºC³Þ­¶»¶ëZm&EÙæžx<–‰Bc)))(8Žî\ÓÝ\yZs¤9—Zá…§ 7¨¡·/³x}Ç"„6´o 1RH^@ÈÁz´i@Wú·Oj‰WÈ [í6+†˜·Ço«Û¥]]ŠúO%:”Çp8”€�‰$r¢ Û“TÛuÄíc§îöûF�\kIujÞ^mn)Öv("¨’N{@IÏ)å( ËMjTh-Ak€Í¦]Þÿ&j¥.D×i´<†ÈRZZ”¤6FÒ”ƒ´ó³¯tÓšå§l-˲éõ\miS8nõ-’”ðÒ�¦ä´Òœã´ÙA ír«”JÿF7:jÍhµD±Ëv,ã½%ÙRa-×8‹!,ä<Æå(ð€p;]õ¯wèšjaø6{%Ñ–ìÑm–É×'V‰6u2ÙG€”+*'kœ”ÙÜœŒ\T +.™Û[VË[N:§–†ÊT↠Èqœ“÷Ô�&§Ý8þëîWóY¨mï¯$mÇgIÿ\ÿ÷Çý¨«×ä ¯´ŸõÏÿ|ÚŠ°m~@«X�=Jˆý©|�Åvî5ÕzÍ‹.�–‰öÈs­‘ D†dF8ªS‰) ’œ¤ž~Š–Ý»�S½1«ÿ˜š…>—Yÿ{UëV¦«Ê“ªÕTž(‡•ª«Oƒjˆ÷5«+äªsœéB )ZÎIåŸ3úÕ�î™´e)Vƒ´�Ç–4û­TšÙRø Q*PÌ÷WRMŽBÊÒ¤¡*)ìoVp3Ýæ?…q�úRÇëV¤®›z=Ž2½k?òéö?Z¨¸e݉Kª X@ÜR9çÅsni*ÈÆpªÃ:Z*ºJÖÿµÿ†(©99ÿîSõ7G½!èÝm1øV�§Ù’Ê8…©Ò¥#¸‘µÒ0 ˆ©å½ño’‰Ð´Öœ„ój)D†­! A)9I^FFGã_š?f›ÞžÒú¢mÞ÷pêË1z»-¯* RT£¹) ys#Ê<Æ*öÒâÇÎúlY8òåñÔ·f6ékhX )G’Nìäž}ü«ÑœŽ¤1V×5$�M®DÁWf…'JôM"‰#á,M5Ë5s¥4E\d¾D߯ëï¦ÛîËýJxÝ}ôÛ}Ù©Q¾'¬Ó‰ë5ßjPr&ãæP��w’O¯¾›o»/õ)ãu÷Óm÷eþ¥Føž³N'¬ÓRƒ‘7¨GλÉ'�×ßM·Ý—ú”ñºûé¶û²ÿR£|OY§Öi©AÈ›‡Ô#ç]䓯ëï¦ÛîËýJxÝ}ôÛ}Ù©Q¾'¬Ó‰ë4Ô äMÃêó®òIãu÷Óm÷eþ¥uÞI¡:ï$ž7_}6ßv_êSÆëï¦ÛîËýJ�ñ=fœOY¦¥"nP��w’O¯¾›o»/õ)ãu÷Óm÷eþ¥Føž³N'¬ÓRƒ‘7¨GλÉ'�×ßM·Ý—ú”ñºûé¶û²ÿR£|OY§Öi©AÈ›‡Ô#ç]䓯ëï¦ÛîËýJxÝ}ôÛ}Ù©Q¾'¬Ó‰ë4Ô äMÃêó®òIãu÷Óm÷eþ¥uÞI¡:ï$ž7_}6ßv_êSÆëï¦ÛîËýJ�ñ=fœOY¦¥"nP��w’O¯¾›o»/õ)ãu÷Óm÷eþ¥Føž³N'¬ÓRƒ‘7¨GλÉ'�×ßM·Ý—ú”ñºûé¶û²ÿR£|OY§Öi©AÈ›‡Ô#ç]䓯ëï¦ÛîËýJxÝ}ôÛ}Ù©Q¾'¬Ó‰ë4Ô äMÃêó®òIãu÷Óm÷eþ¥uÞI¡:ï$ž7_}6ßv_êSÆëï¦ÛîËýJ�ñ=fœOY¦¥"nP��w’O¯¾›o»/õ)ãu÷Óm÷eþ¥Føž³N'¬ÓRƒ‘7¨GλÉ'�×ßM·Ý—ú”ñºûé¶û²ÿR£|OY§Öi©AÈ›‡Ô#ç]䓯ëï¦ÛîËýJxÝ}ôÛ}Ù©Q¾'¬Ó‰ë4Ô äMÃêó®òIãu÷Óm÷eþ¥uÞI¡:ï$ž7_}6ßv_êSÆëï¦ÛîËýJ�ñ=fœOY¦¥"nP��w’O¯¾›o»/õ)ãu÷Óm÷eþ¥Føž³N'¬ÓRƒ‘7¨GλÍ.•oòîVR™i#7¸- BTãxäIÁÊOž»¨Ñúa”ð�µÇJ{%ÅÌ|)Xóœ, ýÃ×jÝnšþ�¿æŠ³Þ^Xÿ¼Ö¹®‘†ØT—5©$³ð‡YÑq_ŠÇ½f¶ðUB£šçÜâ%k[qî2…,åE)!#>¼ ±­~@ªóKÿmß?ø´Ÿ÷ °í~@¯D·ž7j_$1]»�RÝ48–ô]ÿqÀâ1ŸóµWMÛ¸ÕûF¿ÀèëR/8Âãÿ5š÷Ãez$fÿƒ¿ŠºCé*+—dF~Jbn§¸Ún¥é©‹?´ï .±Þ®`àƒÝšåßõ Žývãh·”[•—ÛÄq%÷‡]X@œrH9ôæ£I ZaE•).*UÂ1ì!{VÛ9äy‚ïôjú�kr+\H̰ÜU2yÇ%´òÉÎRœc¹�»sœóä1[D|4v5è—[g‡åVÕS§é‰˜ø�r­¶[²wy%Ä j·Ù�2Cp-éLxÌ)(1ÆI^sŸº¾.wƒ&D8ÎÃŒßÅ!Ò†ÂJW¹a8#ÌvŽ_÷«—Ô�CÊh¯HÏßÏ�l\-vØVç§Iž¡%o€†›}µº¥ öy€QPåéçʼљѯkÚÆ}Ê‹+%/–q-¨Ôî�c˜®}‰)Û9Ûît¢°w)ñŽ_§½0!t‘jB¥!ÒIsá/—:­,·*R›WvÜ“øU‰ÑªXo_Úø*R¹:Nº^+‘ µS¤ #³³þH}z�ùÿ ÓU«fŠ6ÏðSôU�æLæ™~+Rë‰GmKrqËj‡ýs]"Ææ¸ˆ‹€•5½GúÀžå+™ÇÜ*5R˜�ÛèÁSk ÷dÖcrt‰ƒj?¥Ÿ”äyv·rçéöh”w+¦ÕÃo�èüy ”ƲNLvxc}çu6W§V•¾ë( c•­AÄnœòÀïçøÖpƒz�‹d°ž°–Ö#p'ñÏ7·V’‡ãÇ}¢†“ÃXPm;R®D㿞9Ö¼[‹‘îmÏi t8”mÂ8ÀóV‰2¢£—g,z:+U©¶ß)þ¤oÚã9p™ÕÛ$a*ZŠRTp‘“€;Ï VëÖ…3—Ÿqæc† Ê.1µÁ…„ca=ù#ÏŒä¦î–ÝK‘íñ )+ .(-*);–y`ù°k4 “&K‰Z"DaÆ jAmjm\†â _xÁ8ÀóR##Nibz|ò1$ Uu«ŒÕà 1:i²©y[O<û!–ÝË1Ê×Û'n}G'5ŽM­Ê™)m¥·PØ g*!iÜ åÞ+Våzl¿Âe¶$F 6ÒÒ¤©(QOqO0¡Œ�9çÓß\÷®Kr;‘ÃL¶ÚÝK¸BHÚ@ Ï»ï­aÂŽëUlôðç°Þ$j3lD·Í|x]´ï±je‹‹,N‘åÍ1Ò”£!{T$䃟6kAˆé~t†÷ðšd-kV7”úœ÷ øñŽI•Ö\�Ç•Il©*ù5¨‚qÏ»�äsZ1®.±-É JÄ JРv©*ïÏÿZÙ�cIU×ÈÕñèóDmÓáóA$6ì—œ[옊yœ·ƒ�½‡p Áô?ð­ :¸²x=R<‚®eO)a-¤s*%*±ßŸEj9yyI[ii–ÚS„¶�p„•dç9ó’{ëË}שÇ}ƒ;é|B°p9ã)PåŸ7¨Q ÅFºvªÝòà H…Y¨–"_òÞGe0ع?*Dn# a¥:µž{J¹Dó<¹u�Ú6!l: ‡[}[ÝÁäÚZây>œy¿…pÓvJxˆL‚;›J˜Ë…%IÎ’­Àó>=}1{�Ç&ÚŽ”qTá@AÚB“´§îÇ/O®µXÿµlÙÿÓt¤Qÿ¹-Û/=ˆuU #ŒA1Ýtñ’ê” ÉRÕ´ò#?ǺչDL¸nºàÜÊ]h)­ª98†{>Ow®µÅýä¡ &$T°––×à¥D Ý»¼zk˪¥!)r,`PÏ !@¥;²1ϼsôy<ëfBŒŽIÝ鉬Hð«+ìÇžçBŽ‹k÷ ñö:†›l¨„åAG*Çjæ½|’ì–ßR DµË�ê)$w÷vGƲ5¨$6¦VcE[ŒîR‚²¢IN7cþ#ÏõÖºB6û} W:ŲÏndPãÁkmKm÷ätì.Eyב‡¶²ë¡jS�YJ €ì¨ dz+$h­\iÔ¥˜�Ç]O`-A! …yÔy|…paNr#ªu°’TÚÛ;»°¤”ŸãƒY¡ÝߊÊm-¡N(n9Z6? ~5ˆ”x••X¿-äf&TkÓ‡–ÝçY6æm•55j/°ãÍ%LãÈÝ�®ÑÇ’qŒÿ û‘e�Ì5¼xûÛe/+,ÞóÌ€}cθÌÝßk«íKg«´ãHÈ<Â÷g<ûûgþ”‘uSìív4u;±(/àï!8ÏŒàœf±¡�Zû=1ýièõn·×]§^É<ËtíèÌ€¤&:·J!jÆ<ùÙ�ãY âÍ«±)×ѽÎÑÚ……mG ÝžuÁ‰r~+*m’‘—›x+Î�ØÇù�ý+hj‚J¤2§ÃØ 8IHHçÉ88ô÷s¬>jÊ­[/àf&DG%·-ž?“¤»9K±�yæÐøsæ8ne•`ç#ùמa M \�óIo†…±±[”¬a@ž_Ã=ùõW-W¢¦`À„YmjRPR¢à†wgÌs‘ŽG«ÕßR߀ҙKI@݆ÂTT;³�I<ɬhcãøÇôgOFIÉ?8~ÿøv^°<Û©l­ôâBqkŽRžÑÆä{@»Í\öc¶õå›{/•KEÂ�¼ÉÁ dò­UÞœT¤K"¦B^KÊp%YZ�Ï>xžý¸­.´à‘ÇJ¶8¼ùŽsÊ·‡4–²ìâG< ¥DÛãq"Œ«téÊ·· ‚{ˆ¢°@$pAÇ<Zê�‡Ž?“ 2³·Ò�­½þ¾úùvƒ!ô¢,K’‰ p!yu ;q”¥]ùä95j ÛÜŽrµGêåÒ¸£¿ñæ­ ,þÔߎ>D��IYQvÙe˜I6ü™×™c~3.©ju*ggN2Rßh�Ù^{X$y‡ž¾›´ÇnâÜyIØ ç3hVÔ“”�Ä(rô×MÝr÷"Å/’’·¶¥ãÒ ÛÏðk+wçZS|±YB\-¤,¥d¤¤ç*$r'»ÐÒ*ßo¦±§¢Öœ¬³_ħ¸í$§<‰$WœZÓ[ÁKR‚BA9 Àõs¯8µìHg‡JnñiÅ­.-8´Ñ˜Ò›¼ZqkK‹N-4cJnñiÅ­.-8´Ñ�)»Å§´¸´âÓF4¦ïœZÒâÓ‹MÒ›¼ZqkK‹N-4cJnñiÅ­.-8´Ñ�)»Å§´¸´âÓF4¦ïœZÒâÓ‹MÒ›¼ZqkK‹N-4cJJ�.LÇÖ"‡ƒûÕ¹JÚ•FqŽdYîçXÜn3ð7³«­n¡¸¤­Eoy•�N1ÝÌÏ•rܽ>¸êh²Àqm¥¥¾â-Iç�0'õ™Ûù\¤JèM¾ÞÞÒ]ìc»¬��º¼i*K÷òÅø‡½i0Vwnåzq]¶8é·®æìdC²‡Hu庠–Ú†"yžyï ÉG¢0® V‡RéZÔáK£nvìF{]øy±\·`Ì pb¾ÙsˆJË€“Œ íPÎ<ßyô×ÛÇY ”ÇŒ\`Ä+s@’p;X8$ã ÖG‹sg¿ÏÇ牖R Ø®–ï²ì>!¾ØŽË1¨j•%öÔ´ )X$« žä“Ë´+bSp#7&Rc¶÷ lµÂâ(¡ RTWÌœ�9þ8®;·Z’ãê�¶ÆÕo)E*|üçÓ_-݃eÔ¦N»w0w”e9³»vyŸ?ž¶X'·�Ÿ¡ªRa"lÝá)Ý꿃·9ˆ6æøê‹ÖëÁ(BÜPØžy‚9öÀÉôwWÜXpÅáëb£¥ÐÓêCŽ­í«ØÄ‚7+Õƒ÷W7Ùn*Cä…¸ q'P`ŽXÀÁÈä9Q›ãèp<äxϾ—K¨yÄ�ÉY9'‘óçÌÓV�V[|þ]òfúÔ ÓÙ<>_ÊÂ7¬Îms½L þQV|…|»œÿã?ëUf«YrÓ=j9%¤ñYÒ•ý!ïùÏú×/Ó *cÓËð‡_Ðk: ÏþJEt¿öÝóÿ‹Iÿp«×ä ¯4¿öÝóÿ‹Iÿp«×ä ÞgCXÝ©|�Åvî5ùÛöŸÜ:7Ô‰åF1¿–ká_¢nÝÆ¹ÚùmÒ=ÊÕótìkâíûBc¸½òx )V0WžãÝ^èQ´p•²�t«¼ñD£º5)Žjÿ"£¼ä©aüÉ™"léK—1Õºêð •è@ŠÄ†À�¯ÛV¯Ú"×=j è~ÖÒSŒ•Ü'¸Àç]Gºs³±É2:+´²ÚTwNo'lp+ÆîŠŠ�¬³—úìt�éU¿cýËÿSðÃìs]›[`Æ ÛϘÍ~΋ÓÖ–“èÚÜòV28O¶Õ�éY¢ôß`�âÛGFð¤ã¾ŒŸáÁ­W £ÅoÛ?ÿ?ö= égÐÓII?Éê§äÝ2‚™ë<ÿª?ê*ÜÒ&Þž�­^ È ,•íWõÛ æÃÙ‘’3žuvXúQ¶Ýï1mQú1µ¶ü•¶]�„§ yð=U1Ó—›mÖë +š?M¡‰RU½[r qÁ”†‡#Â#9‘š¨G2ƒLc¢ºÔVºURv.(å”î:(Å1éÝ� ŽdVÏK$ûÙ%Ub±Õe4µ'i^ñiÅ«ëÅûØ–ÏuGž/Ø~Ķ{ª>ÙõŠE>9ÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”¡x´âÕõâý‡ìKgº£áOì?b[=Õ uŠEV�Þ&å(^-8µ}x¿aûÙî¨øSÅûØ–ÏuGÂ�bƒ‘GU£÷‰¹J‹N-_^/Ø~Ķ{ª>ñ~Ãö%³ÝQð§X äQÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”¡x´âÕõâý‡ìKgº£áOì?b[=Õ uŠEV�Þ&å(^-8µ}x¿aûÙî¨øSÅûØ–ÏuGÂ�bƒ‘GU£÷‰¹J‹N-_^/Ø~Ķ{ª>ñ~Ãö%³ÝQð§X äQÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”¡x´âÕõâý‡ìKgº£áOì?b[=Õ uŠEV�Þ&å(^-8µ}x¿aûÙî¨øSÅûØ–ÏuGÂ�bƒ‘GU£÷‰¹J‹N-_^/Ø~Ķ{ª>ñ~Ãö%³ÝQð§X äQÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”¡x´âÕõâý‡ìKgº£áOì?b[=Õ uŠEV�Þ&å(^-8µ}x¿aûÙî¨øSÅûØ–ÏuGÂ�bƒ‘GU£÷‰¹J‹N-_^/Ø~Ķ{ª>ñ~Ãö%³ÝQð§X äQÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”¡x´âÕõâý‡ìKgº£áOì?b[=Õ uŠEV�Þ&å(^-8µ}x¿aûÙî¨øSÅûØ–ÏuGÂ�bƒ‘GU£÷‰¹J‹N-_^/Ø~Ķ{ª>ñ~Ãö%³ÝQð§X äQÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”¡x´âÕõâý‡ìKgº£áOì?b[=Õ uŠEV�Þ&å(^-8µ}x¿aûÙî¨øSÅûØ–ÏuGÂ�bƒ‘GU£÷‰¹J‹N-_^/Ø~Ķ{ª>ñ~Ãö%³ÝQð§X äQÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”¡x´âÕõâý‡ìKgº£áOì?b[=Õ uŠEV�Þ&å(^-8µ}x¿aûÙî¨øSÅûØ–ÏuGÂ�bƒ‘GU£÷‰¹J‹N-_^/Ø~Ķ{ª>ñ~Ãö%³ÝQð§X äQÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”¡x´âÕõâý‡ìKgº£áOì?b[=Õ uŠEV�Þ&å(^-8µ}x¿aûÙî¨øSÅûØ–ÏuGÂ�bƒ‘GU£÷‰¹J‹N-_^/Ø~Ķ{ª>ñ~Ãö%³ÝQð§X äQÕhýânR…âÓ‹W׋ö±-žê�…<_°ý‰l÷T|)Ö(9uZ?x›”üï¨ UŠz°qÃ@Ïþ"~5gKWô‡ÿ¼WúÖ¿Möè�YâC‹˜Í,/²Ëa%ÆyàTU›õüµ…¢Öêüî)—7(úN…s4úJRiЉ)Ëñ#¬èÚ"Ñ(Í‚«9OŠª›º_ûnùÿŤÿ¸U‡kòW:)·쥾ççe-ÇŒnR‚I?‰«×ä õ@ìèycö¥òCÛ¸Ô#ö„+²ýûa!Yc�j¦÷nãQŽ˜¡¢áû<]a8²Ú][w._ÓÅz+#R­Õ�ŽôΖUö?,ô:ˆÐ-3o8I-?´q¸¸vŒ%#ήó÷ ù«H�I¬µ)nÉ1¸‹oˆ¹/8] #²�© îA'ÓV.š—iÐÚqûb`5q}SP‚ÛÉIËÊÀI;¹$róúüÕæ£Özùn¶ˆ«b¡(Zp ²ÿÈÎ?¾¼Ôþ—†èë IJôO¾iŽòþ„×¶ :Vúû! ÒÝ^mR 'YqM.:}Õ³½¦ÖI C|Á'9Ï.^œV[ŒG´¼øo¸�ê‰9O2å�|þ‘R˜wý~Àj[·E¾R’)($‘ŽÈwÁÍnÃqÍ{‰§/QÚœd>Ê€AJR¼‚ß>ñçåËÑ[Pz~ #ü¾h·ù[·^�¢Å¤ATIOÕ.·Øá¦ÿÔïV«Õ­ÆºÓ;––ÜPpv†9€âˆïî8©ÿC×ÕIé.Çl�ÜÄG¤=)Þ®“¹Nˆ¯g'�Þ@[êÈtî§n)[IræškŒâÀàžÒÏ.ÈÆóTÏ ÅÉo¥m=ÒÑo|§Üç<sßæÿZ£éÚJÄéhܵ~ßÉÚ ôtþ�ðÑ^‰K·ùvªéQ—,6;Ö„¼9x³[®+‡n”ìeJŒ‡K áÒ �ÚycÐ*¤`³o‘bÓºqØz><�2ÝÖT«tÈrcÉØŽÙ[jI *QÆîØí?¨á‹Š•H@Ö:Êû§î·„_kT ô†XˆÊ�䕉d¨ñ£ÃPansŒ`Žyì«WjE^­¿…Fš½ÞàjMläà›5ÞmÂÓ–í¥3Ö¥-¿%µ:–Ф…v–6§¼…c ª•HEéQZàO¹\¥I“Óx�iu¹-Æãº¡Xâ2�áÀ¦{ÄNF{¹Z³Rj‰ziû-ÒZî4ë‘Eá ²Ò2B®Ì&)€ISM8¬ £. òèJUci~~ Ò5œ«¬hºŠÜ™Â4y{�h|·Ãà £"MéId:zÙ!'‘J¶œ¸JŠFQ�¤ Ö•LÞôe±Ë ¿Iø97}bõ™ (–­jQYrv÷K.©jµ”Jy='Á—m“©ç‹{w›ËR xð&3Æ·/c(K%\T)n¬% !Î6�@_”ªžâÞŸºÈ¾ê-G ë¬wïI·[-­�ý|ÅBÚ –ÏeÁÇT¥á]�·r°HÒ¶iV#j-/¥µ|XOÚž‰vžÕ±ÃņËåöÛ Xi§ ÈÇ%\´ª BŲêÚ‡¬øS¬Ð¬½i3W¹)e3å ¾‚£å%„DØ |ùöÐÕë@ê εÑ<Ð⟠ʓ̩!'»‰Ó�î°>å5š€±äÔÓ¥•ÉsOÙš�²•“ŒaelnŽjÇ“QºòFÜv4ŸõÏÿ|ÚŠ°m~@ªûIÿ\ÿ÷Çý¨«×ä µ�ÙÓÔ¨�Ú—É WnãQŽ˜›}ßÙâìˆÁeâ¶v„wþøÝIîÝÆ¾¥Ù�¿ôn»KE°§Ö?¬YJp—Â�0 ’|Ƥ‹ BlUIÕTY%ë+di–�°ç)µRxMRÓó“ƒ&ì÷ ðÕÀ!´Ç~+„<°0´íRÚ6žc#ýØÅ©-6¤ÞÛµ³2ëqöõ…‚¥¡·ÂJ”•¤«ž´ž\ýW]â�@Þ›¹[¬¡ÛäÌBÈtÏp€áHHVx;‡pî5²þÏúÍ›‹KŸz³ˆ�M†m©¨­míí ¶pPÏ®©#: >;£hÕ¾i%à·U‹ °ÝÉgùB9gÑÖåBjtÝEw~Ú¿!ͧ··Ê ó+‘yÆ{ë­­/Œôqi´éJä¯ä×!Ì-À�@)IPÈ=£ßŸúÕ�®�/±�·a‹CÒ$‡¥:„$ò[ÿ¦;ùæ«~•úé;XÜ!õK¾˜‹`6Ò忸¯–TpÏ«—ŸÓŠš�D¢¶;\ö¤“ dw>£~Äùù)Ë¥ÖLÝNÓò�S®>[Š^ycþêGœÕÑÑ[v†zmÓH´5qm—ø‚khJ·uwG-£»•pàþÍ}%*èÄ©÷M"eµ¤$ÉÉÝ�œ×ª¬îŽ:%ÔÚ{_ZïóäÙz¤EHZÚŒóªQS¨s;B�—Ý�î¨z]‰˜�bM>Û¼gÀézŸ �р舊©i;VlDm›f³ò.¹,³&;‘ä4Û̺‚‡q!IZHÁDæ®}ÓNéû¤8ðîv+\èÑqÕÙ‘!¬ ©P!<¹r®�*c�4ܵZÜ2K–Øk2£¦,�Ì$ñ™Ní­«—izð“ÈnW¤×"&˜Û­û;¯ß4¥Šé/`Ge½§œÚ;†å$œ ž^ºØV›Óª¹E¹ªÁj3¡¶�$ÃoŠÂÀJŒ¤æº´ 8÷M+¥î–öm÷=7g� ‡ëQäAmÆÛZ‰*RR¤� *9#¿'ÓX¼MÒM“Å[‚ÒïBð{\çÏáíۻ׌×v”.ë§4õÚÓÊyô’Ÿ”H„q…l#¼ç#–vái¦â²†+ZA$©|É$ä“üIõWª‡N…J{‘¬’7o޲UÐ]5S_@ÞµmǤ{e¦v¬ÔŽB”[i« PïÝœ•$š·º>—rPZ_��Q›±VÕÆàû�¼�B¼•œ) Ï.DU ¬-æɵá#¡\Ï5~z�t3‘Óž¯›ojåû»£»Ÿ*äúZ’ÖS’6õm¾¾GoÐÝ7E:“¤’5d¯’O6©)\}S©mzf—vMÄ0B”§"ÛdK ¥#*Rø(^À�XþŠ÷KêKf¥†©v¤Üx$…˶Ȉ2 8ÈFñ�:r+Øs^”¥¥hÌ»[â] ZdHÙ2xtÅob�6_000ï#>jB»[æ]gÚãHß2Þ[›Ø¡Ãâ'r9‘ƒ‘Ï‘>ºz”­+ÝÖšÞgÜŸàF´É^Å+¶ã‰m óRÒ=Yçʀݥi˹Á‹s…m}â‰S¸�]wì•Ì ç#>jÜ ¨”î‘´”)“£I—p@·¼X™$Ze˜±Ö$-ð× 8 ’¬ ó©bT�¤�AúÚR£=}¥mÓdE—p}"+¡™RõÆŽ³ŽË�¥¦ÈÈÎå dgž•¥mºÀ¸É¸F†ÿÛt‘Zv(pÝ-¡Ý¹#ŸaÄŒŽxï ·œm–Vó«JBJ”¥2MõJÅ Ka³2+©v;í¥ÖœOr’¡�GÞ e ¨íÛ[i›UáV©×·! i)1][QÔá°ë©Im¢¬Œ©9ÈôÔŠ€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R” ¥()JJR€R£Ñu¦š“ð7ªa}qÒLgC+y•´—Šxjq!*Ê¢¡´är5í“YéËÍÅ-ÓÖãÎ¥kaKŠëmÉJ ,¸´„:FJ ½4‚•™Ò6ŽˆÒvêâ›S*}KjBÔ‚ë…(<&÷!xZö¤í$9×MíS§ÚÔ±4Ú®m*ë1µ:Ìt,”„•d�N@$n#88Î(Í+ƒ{ÖzÍ-Øsç-2›àŽ1�yÅ©Þ!m(Ci%j!§Ô‚@NHƒZîëÍ,‹TK’n>ÔÇi†£Â}é [d‡ÀB € ‚ Fß>( 5*1p×ÚN(Sº)ögF2˜1"½$–7: ÒTP�� ”‘5·+Wi¸×{M¥Ë³ ›wPZl8©(Z²�BRRÚÈRˆiÆq@pzQýîÙýÛßêÝS,šÖ\·5*gªÎ3„@±õ„˜ÎÇ C˧ŠçxP;Q„ƒÞJn~”{¶v÷ú·P6n¶Ç­jº5>2à¡*R¤%Ð[HNw®îX9û«E¼‘·;2œS�)ÖK.¶Ê‚Š,Œ‚AǤTÖ×ä …Y]jBÚ}‡ãN - IÈRN ú*kkòZ@ìéêTGíKä†+·q®¥ˆ¤Û7+¿ûÃ\ÛªIIåQ»”ë§�ß³µ!ÖqiZ]h#{V„“‘‚G<ƒÈšÚ�ŠèjNÓHki?rÊiú>:`×IÑpL+reL‘¸ y a#™ ˆõ⮑Ò;ò£,ΊóËVR¤”8”ä�$œã'¿‘ÅL5M�ÍL–…ÞtçTÉ%µ¶–ÛRr O4 `�GœW_Gv™QC¿tsžâµ<¢¯1æžñ“øŸMSÒ!ÆsdÔ_K ¨/ƒ_ïrHƒËÕòX‚ñ³-´5!mÆa—»ŽHÂx!8QŽ@9©§GwönÖRõé%O²§W)il˜ì#’œÜQò‹*)J[s<òH�ÎŒmî©FEëRHBÚá)·fnJ“ë}Uß�§<czÙi¹]íÎHRËÓ˜xu•…«r€R’B2®d $“ç¬ÀlXIU¨éxª©µ!ð_/¹«åaLjíMn¸Ü]·ïǹ…>Ó­”;@ƒ‚Ov*ÀèKŸL6Ë<7»�¡‡Gþ½X­X] éè×Nð�ùç•�ÅÇZ9$ä’C`“üjwb±@±êX7ëdE±"”6Vµ¶½ÈR PQ'8Qî#ÍU´š &5)±•,EN u� Ñz1ôIýÎGá+RIÄ·µÛ/IÐ÷èñÚqç�¶ÈCm¶’¥-E¥É'ÍUÔëS)‘¦ÕºruÞÈΙLtEMµÉ| ¿'»sHJŠVP0•�6íPÊsϽã¥çê‘=šÿ5»3&òEÝ¥Ø/¾3Y$Ϻ³ à±o4^P˜‘4íB¹î}k´’T †kŸUËeÄë(z=æU¿R*%úiPþ­Q’ž²…ݽÔCyø®?Ž—ŸªDöküÕ·xz%êeé«s|Ä%·^uo8BÜ„,†Ó’NÔ æFk‚�#3&ó§Ò%šíu×ú9vÙ·+jDþ4èl6çsm„…´ Ø#˜ÉÇ*‡Ýì·ËtÍbÌè—MKuÂÔ•J™KJšJ2µ–b¥¾°„›Hçœ+–j]ã¥çê‘=šÿ5ï‹+1 c–ç5dzÓÖ—�¨Îr+HÚK¨+xðòÙñÒóõHžÍšž:^~©Ù¯óR£°Q]™“yǵé]Ww:îÔn‘ìökµæBK¶•®K¬¸ÃHRÚuN„F@<5Aïóh\t|¦ t‹&Ûe“×\¹Åf*Ò‚—Ÿ€ˆÐxí²³‚BÒÛ¨;OiIóO)?Ž—ŸªDöküÔñÒóõHžÍš•‚�#3&óÞ�`±Vê v+<‹>šz44GŒäÃJå$½Æq ­)) a$íŠ|øÍG51Ÿk—~{JGÖ6»ó²]u«h¶vË“ÇÉqN)¶’æTC­‘Ì‘žùŽ—ŸªDöküÔñÒóõHžÍš•‚ŠìÌ›ÈÄKF k¤ë¥Þñj‘3N/Q¶± ¨ËQD•A††æÿõÌ¡hR9 !YYÎÎÌe6‹¤ÛŒ9#G½ WnQ®¬"É'ˆy§ mÈ’ê�ZO'ìIÇh3føéyú¤Of¿ÍO/?T‰ì×ù©QØ(Ò32o+gôô§`YÒ»*ãYÆ—�w´œ©k‹4-Þ²PÓkmQÞQ-�ꆌ…2«£½6ômu{ºÞb=*sPíì±q•jœPŒò‘Ì„©Da[T{€$àVo/?T‰ì×ù©ã¥çê‘=šÿ5*;FfM憸º³sÕR4ÍÊ×|‹baÆšô[É>pmZ[´Ò�–“„«;Ž { lú¯üt¼ýR'³_æ§Ž—ŸªDöküÕšŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMå�J¯üt¼ýR'³_æ§Ž—ŸªDöküÔ¨ìWfdÞXªÿÇKÏÕ"{5þjxéyú¤Of¿ÍJŽÁEvfMärÕ ì`Ø4w�®h¸Úõ+³¤Êr"Ó€—Þx:—ÈØ¢àZSµ$¨œ�‚j9f�ª-6Ë#Öëf¢—u·Zæ´m²m‹n-¡÷ÃiŒæÀ]Hsk`•½†÷+)æÆñÒóõHžÍšž:^~©Ù¯óV*;FfMçUö¨°º:jß{�dE¥¨÷ ”+¹k�ÀIlFml´°•…-G) ì‚¥nNÖ­»A‰¯´râÙïê‹oã®Bãiù®!¤9kyR ž`9§¸ã½ã¥çê‘=šÿ5ãUEÃB[&ß—=snÛ!Ñ&u™(^\„ù.¨ç�=ê@YH'ÏS»åÊuâKoË@´”¡I Nqžü÷àV†ÅüÅ~ªÃ|îSt‰_Ì›Ìöã™`žóS+_�*#le|p¢’ôÔ¾Ú’9U¤&«hèŠTÄs_JUjÎãncYÍr]‚‚¬ò¥+hNTA�[Ðøêõ~êõ~¥M]Øž}0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀuz¿ uz¿ R•݈Ñ3Ôêü)Ôêü)JWv#DÌPG«ð§PG«ð¥)]Ø�0A¯Â�A¯Â”¥wb4LÀÊÄ$%^jëÄdJT\ªz`1©rÿÙcen64-qt-20241110-alpha/resources/images/000077500000000000000000000000001471427717600176715ustar00rootroot00000000000000cen64-qt-20241110-alpha/resources/images/cen64-qt.png000066400000000000000000000157221471427717600217470ustar00rootroot00000000000000‰PNG  IHDR€€Ã>aËbKGDÿÿÿ ½§“ pHYs.#.#x¥?vtIMEÝ : hdÄB_IDATxÚíœyxUÖÿ¿÷Võ’î: Y {X”°È¸À‹## óê0ʋیqA–QQtÁðuAQA@qP|Ç‘UÀ°„M$,f³�­ÓIwºÓéꪺ÷÷GW‡&†Åù)àÌýÿøÐô'~n€S†"Ð|¹l„µÛþyz£&I¸Š9�|÷@YY鯮]»X%JÐÁ/<øå)ÀÚÂÍIQ]~Û-îº^21]á ”]Wë>Õ�PE!Œ«¨lÿ¾ÃU/Á$Ë0KÌ&ÌRÄgYÆÕY�ç¬Hú¿þwŽºÿ9'ì pô¹žl(l…I õ&s,ôý·×íÛ•µÀ×éii}� ¡ÑÏX(»$àç¡1è½»Æ_ø‡Rßþî¥ÞýmÝÊ©¤"Ï&úmm=öÔ$#ÑÞ‰ö®àA›n1wd a% @N 'O$ÃJPBà×KÐsXÉh_h8vrÅ–2ödIç݇øš±�ëoÉZ `+€öh{¯Úð= —"à§²ã:ïTäÞ9á{ïž››tg¿¥ß�F™÷Ú·é�öLÄÔ'”ór^É+í®#J*¾9¾£1÷à{ÕÌ» Vþ™¾–Ê›Ð?éT¥Õ£T¦3Íæ0‘´Þzô©@6(5A¢2ô¨BiÒŸÇß“5æ÷y¢þ¯‡¬šÀ˜�ô°�ÃÿîÅí„ ›s…‘êmô$”÷‰‹m—4{îÌÿ¹ñ·¿V2:ôË ð#©ðæw¯ö·hí‰'F”úv!ÊÔ^%‹ÞA½Áôjí†öï{báëy-ìpcþÞÀÀ @1›Mjd(?,áe~÷Àç—––4|¼€Ú½[�®Ÿ~ø±Òà*€_/Çð� ˆM¯Œ«çîæ�ÒL˜óØÎï�ΚÃɪ“ã¢%Y²ÕÕ×%´”¿÷�¸Û÷©óo§§¾™ùuù‡°HÑoÅH)Ëlr\^Z\�P€spÒ}p⦲ÙošÍ�0ÉfMQˆ+¼ýø¸?<ž¬fÆ4®Ê˜ÏWp Ð@`–Ͳ Rµ`Í»+KKËÖØ`(€€å·«ù¶c_ô"×sÆ 3U ˜U$¨i`Œ‚1M÷bú[Ã:M}óº§4�=¥3gðOàˆK¥ 8GIý!L{ã~dÄþÛ·íS÷VÉŠ¥ìQ€?š? …u9‡önÕµíÕ%×õ¼… ˆÀ¨}xÕ‰?½™›; jŽÁAû²W²¶®+Èûg�ÑáǨ4FqÀ°‘�I ç8çàA¿×Èò–"Œ»­#®ÆÏ8TÂ�ƒ1FtÆHPÓÁ8‡¦ëÐt¾åP5A]CPÓ¡êU ݇shLÅöò·@%‚IxmCbBrí°ÑW¥�ùóíÿ:5E ›ú[£âNºÍvgY]þ‚´¸/]V)ÔKyó½UËÆ$µ�F�Ä+á xPÙXŠà¡ÞùyE5Fg€"´ZW�Ðjk%qÞÜ):Ó‘Ö¾³)"Ûwfö�€©ºMÓÔ4H’‰hºŠ&ÍEõCÑš hMj ‚L�ª¡2A=�«`üô½•¡1 &³©´¤¤díûóÖ¼98%k’û³ë?ïHo xÕj”)›Ö•Oš½®ðWIUa–°,R›¦r_ÜMõ „@¢2¼µA€b›œh¥[ƒSÈœqÆ‚zÃïLí22ûÖ뎘†N�;ÕSB9P_°Eu¨¥úU0ȈâQÈ?RæIêØEiu·U׸Ì8#ŒƒsÆÁrŒ10Î dM:ÆÞ·èЃEjƒ^d¬æhÌTUM9i(k €ø¹/-<È_â_lÉY7ùÛ¦y=;Å¥âTãWq'+w}´3õ5CzüÏâ]Ú Ú¥âÀwÛ‡}/¯Ë–ÍN˜d òœ¹HV‡ùþø«Ù�øÌ0ù¤Kß|{pñ2Ïð,‰r˜Œ%à8[2Ò£B’$*Á*ÙРŸ€W+†I2A" Ñ=1oLyÎú5;þ†Ðº@ÛsYÆ{þpwÿ+žúê^]£Pu1®ÇúÝÕlp4ÂåÈbôÌ-Þóá!ýå.)m;¢Ìý= �ÇpµþÌüÛ~ýÐL\ÂB’Kêöúõ¶Š�ñOØ¥>¨ð” }›4”‘�Ñ[‹—.LLu$üˆKéú]õFç˜ë 3=4Zá Ô Ï½ ùõÙ(òd#Ïójšò¡éAMƒ¢)Ð\éúú5;¾pÀp7Ÿøä,Û§¿ºzàMÓ¡ë¡Mc ŠìpÄP¢ÓJÀ `of×ë~k%ÉHŒNDFBot‹ïsZí“ú°þG*ýñ1Yþú#›&¶qÿ¦Â§p˜%G¼Kbl¾·øø©½ ûÞaµ]Èu”·¯¹mur›žPô&(zŠÚ‚zM�¢)PÔZüª]âG`ÍëÕGpÒˆ3*ϱU¤¤¤Ô+Z]�¢ j Œ\gt~kUEÁ5Çzj¼ :cð}ê Hh%ñ‰ÿ‘. B†Dý¦N�rï€Ûãnò¶=œàQ¾G“êÅÕIÀÄo]“xï’èhÛ·çr:/ZòÚÿ¶éåª[)¡4Tü!ÑP掆"x.)±Áïì;öÉòUëZ2Î<Ÿ¬ï-]ðÛø�Õ5ùU‹¦j4ÖžBoë?uŽa9ò[ P«|E}9W ÐcD¦”ºO QÕQõYσ¯?ÿ×�>6f,ü?QÂrØ AWÎÑW6KW¬Û°zK+ètÐõ±l6I�aÇàoî<¿Ñëûß.IW©[»¦׈Ð@©†R´få˜1£¨4¾Ôø|!ÄÈÐ@4€FBH!çü�‘ŸhîDι%¿nçƒÎ�'“ ~Õ§·´çþ¯¯<:ãÉ9ª'\iä7.K @*w¢Aa(€£óºÛì¶níãÒî›8rÀmwßÔ¿,�#¨^«…ö+ý}âoõw‰¼á„ûЊ«SF~!¯€ÍÈž ÕˆÀh½Xä\3'›á·%C™Fà§@‰çÈOðÔ¬íåovЉ×$Q§¿ý“n/é^5vÔS;êêê¼Fì°Àw†õù©Ú—réç³*ç¼á—_~Ù-33óæ-[¶\ ÀÆ9oõxòÓ.‰qƵÙlÎéÓ§o,..&Œ±8É]ºuê8èºÁÚgXÛõ¹¶Kz»nRçFTÃpÁÝäåæê´è>Nír*ÑÜSí`í,­ÍÓ�äU«JÜ!²Y‚l’@‰I’CÂ’Î9Læ3gÅj0¤š¦ƒ1:Ó¡k:Ô ¦Ýû¥š¯ê3HöóZseð{�žßÑ«Uts)%¨n,@û6W¢W»P[D*wÿ£àdö?vU¹8¯¹æÿã�?f³ÙÄùûIUUÒÔÔDE¡,l‚R ‹Å£¢¢˜,Ë­v®Ùlöõë×ïøµ×^»ÉãñÔ1ŠzÁ ðþûï§ÖÖÖÎÙ¸qã]Û¶m»d¹‚ñãÇ»¶oß~_~~þQcW€ö’�éš9±C\»{ïÓ­ÛiÃØ©(¹�AS-ìí5ÄÄD#Öš µƒ𸽨Q6+,¢ÛIH͈ƒµ-A] >­: Àak4#è¶yÌJBƒµ¡“{÷æoÊÞyë½2c4*ªú÷ïÏúõëw{nnîÀƒš~31þÂÿ›ÍfdeeÓÓÓ—Ìœ9ó%†"°s)]·nݵëÖ­ûç’%KÚJ’tÞ^ˆ0çû.¼´á:»ÆÆF¼òÊ+ŸM›6m¦a&™aÖm•rÇ�1b°$I¯nݺÕ­º~Ú¢w¿¢úd^�.ÉW¢{f*RºÄ#*†"HŸO>KÛéW]uUµÃáÐ#áœ[m6[üÉ“'IK7ãóùn=zô­«W¯®åœ—`Ķ’!Ǫ««ã#OHIIa.—ëð'Ÿ|²ÓX˜qñs',¸aîkŒûVG*Àرc�”””$EvFll,WU5ï�wÞÙf,(ÕÑ/»òúŒ@«Äðÿ ¶nÝÚ7;;{o]]�%R‰¢££YiiéÑ+Vì0du²†ÛV�àOÆÔXŽH/7XlÄEz‹˜Î iéÒ¥äææf°ˆºEMÓн{÷ÂI“&ýÉp©~ ô_{÷î����o6áv»999»öîÝ»*¤)¡1#ç±ÁV:�têÔé �Ç“6ýáÑ{ìØ±ƒÙÙÙ+Œ¼|ùdö~*Yuã^Á„ÖÔÔÜØÔÔd‰ŽŽ>ÃL¯^½zOqqñc ¢@!ÄËCfÈjtún�„Óï/úŒ4ò& +Š1ìȃ>¸ïí·ß~%77÷ªH·àv»;‰²ãšd´wïÞ÷=zv»½Ù<¥¥¥9.\¸ @¶¡¡£1/ˆ›nºéþ?üð sÚ£GÏ‚ ² y wïÞÝ#>>~´ÛíŽaŒ‘Ÿ#‰e±XHEEÅÎ[o½u+!ÄÏ9ÿÁ\[Ó´[Ün÷±Í5×\ã...Þ oΜ9o.^¼8}øðáUQQQcæÏŸòã�?þô¹çž»²_¿~Þo¼qê_þò—Õ.—+¬TdäÈ‘7XôÝwßÅ>ðÀ{Ÿyæ™{SSS;�9rùÆ�“G�]¸dÉ’qÙÙÙ/dff~–——X›²²²-[¶l§ @ª¨¨¸©¾¾¾¹AM&^{íµo�µí²Ë©óÈåååÃjkkOï�e¬_¿¾À·J6mÚ4øóÏ?ÿ"??ßéÛÃÁlËÀë_ýÌCRRÒŸ>øàƒecÆŒy¹•�"×ÔÔ l)ë±cÇ ä.\¸p¤I“2 ¸¸Ø1qâÄg'L˜°õ�üãõPPPf»\®�KãÑC† ùtêÔ©m`öìÙ7¿ûî»eY¾gìØ±=àÕW_ýÕܹsž2eʳC† )¨­­Íh^—¨ªÂïÿû®Ë–-‹ É}ûö�.**".—«ù- W¥Ò05\^H555©.—«¹S¢¢¢°ÿþRc¾Ý¤(ÊÛûöí3ýÿtnäç³}G�ÇãAEEÅ)))›O�:UcÌû›ûÛårÅD*@JJ þþ÷¿¨ôz½,..&“ „˜ÍfÉétÒvíÚA’¤p> e¼Eü~¿”””Ô,CRR’µ¸¸XŠ��ož=ÄÅÅ™ø(¥%N§3#2ˆŠŠJ6Ü…$ÇÇÇË���$RH‹Å„ .Éçÿ(ðûýp:�ÍËjµ‚R4b©ºº:±¶¶¶ÕÈþÇtö…çóùdEQR�Õ àóù9¸ìv;êëëëøfÍšõ0clîÚµkÇgee-[°`Áqιßápì^ºté„•+Wf/_¾|ά1ð=ûì³}V­Z55&&&éõ×_Ô¨Q_sÎß\¹råÓv»=©±±±ôŽ;îx€êõz}.—«¹-TU…Åb1…Êä­[·úGŒa‰l0›ÍFc&#ò¼ÜÞ|à²,û\.Wt¤ÂvîÜ9º¶¶V@�Àë.—ëÙHsÿ¯Žòó0{öl÷äÉ“ë[É·“††D®˜˜˜p$¯3ÆjT9¿×ë=žÖÕÕ}½sçNï]wÝuò£�>r·²’yÂáp¼M±nذá8!¤€§k×®ïz<«1x]LŠ¢ðÈÁ¢(JØ RDÀºvízÀét $IÆ�åœ9sÚ©WýrR€´´´ýN§shä´j„ ½öïßß–RJ{ì±åS¦LI¨®®Á‹6±Î«È­Y‹sÃã²,W>ùä“áÂÕ”°ùý~„ƒ@ðzXå6tèÐC-æø ¡"•³2lذ#-÷ 0àXË}º®# ¶|†p{€î÷û·z½Þ�š¦5?daaáÀÞ½{_yüøñ|c x¹Ô´ë%%%_r·*ŠÒ¼ó“O>é6tèÐ�Û¶mû@Õܹsç#TW˜h(ñÏaɘ1 +1òþ³%š~Œ’]ÔˆšRª/Z´h­Åbùs0lÎ:­^½šNžz饗Š ´�s^#˲þsjq8×îp8´ôôôOÍfs}0ô…�s®ïÚµ«lÙ²eDz²²úGž»páB{zzú{sæÌ9yóÍ7­ªj©,Ë?©û¢”rÆØë6›�|þùç{§N�zÔÈè)¿4Eˆš8qâ¨îÝ»‡³X—|£”ò'Ÿ|²(99ù„Öþ#M¸õ–[n‘™™©\.òvëÖ�Ϙ1ã=ÝúIh{ç�wþà8 \�Ÿ¿(×ôôÓO¯n)ëâŋˌÐ&,€²hÑ¢œG}ôoÆð’ÃÃüùó»Nž<ù)-KY¿~}î¸qã>ŒL±^JŠŠŠ�——7@ÿˆ´í¥v ¼5(¥§Z„Ÿ­}â‰'^zþùç·\N?zP]]�ŽP!¦ÔâÁ\�=öؼ™3g~~¹ÈÛÐЛÍÖÝÈÇâÌö7 8ô‹KQJ0íðx<Ík‘£*H)-{æ™g¦=ôÐC0`À%Ÿú 2›7oþ§_�D¥”–MŸ>ýÙ|pÑ�!C.¹¼;v¬öûýîÈ|@¯^½6E“‘‘Ñ`¨ãWEIjjê¦H+Ù­[7,_¾ü„VJ5ÒŠÆØcé¿ûÝï~c2™†·iÓ¦ç¼ çœ ü'ˆ/dÄ꺮íÝ·oß„~�£ò,æÌÆK»ñÆoˆ��½)***“Ò†s.ýTòžçYçœû|¾ª;vl¬¯¯_Ç9? Ñf³Y:wîœ9hРgTUèñx¼G�ÝVTT´–s¾×˜Bþ¬âHš6mÚCÕÕÕ÷išf/++Ëݾ}ûZ„ÍJÏÖf„ÞiKA¨3ÎH^L[0rûáWÃϵ e2äí`lq-©^,y™‘ú¡Rïæº;Ji c¬#€Î,„�2Îy±‘©»nÀŒPmW„Šjze¾€r¾ ÿ4ºÉðÁS4£Ó•‘‰¼Tò†kðgɘ"2üL3@”Œv‘ 9ü¸w!�@ �@ �@ �@ �@ �@ �@ �@ �@ �@ \þ){ägýo/IEND®B`‚cen64-qt-20241110-alpha/resources/images/cen64.png000066400000000000000000000157221471427717600213250ustar00rootroot00000000000000‰PNG  IHDR€€Ã>aËbKGDÿÿÿ ½§“ pHYs.#.#x¥?vtIMEÝ : hdÄB_IDATxÚíœyxUÖÿ¿÷Võ’î: Y {X”°È¸À‹## óê0ʋیqA–QQtÁðuAQA@qP|Ç‘UÀ°„M$,f³�­ÓIwºÓéꪺ÷÷GW‡&†Åù)àÌýÿøÐô'~n€S†"Ð|¹l„µÛþyz£&I¸Š9�|÷@YY鯮]»X%JÐÁ/<øå)ÀÚÂÍIQ]~Û-îº^21]á ”]Wë>Õ�PE!Œ«¨lÿ¾ÃU/Á$Ë0KÌ&ÌRÄgYÆÕY�ç¬Hú¿þwŽºÿ9'ì pô¹žl(l…I õ&s,ôý·×íÛ•µÀ×éii}� ¡ÑÏX(»$àç¡1è½»Æ_ø‡Rßþî¥ÞýmÝÊ©¤"Ï&úmm=öÔ$#ÑÞ‰ö®àA›n1wd a% @N 'O$ÃJPBà×KÐsXÉh_h8vrÅ–2ödIç݇øš±�ëoÉZ `+€öh{¯Úð= —"à§²ã:ïTäÞ9á{ïž››tg¿¥ß�F™÷Ú·é�öLÄÔ'”ór^É+í®#J*¾9¾£1÷à{ÕÌ» Vþ™¾–Ê›Ð?éT¥Õ£T¦3Íæ0‘´Þzô©@6(5A¢2ô¨BiÒŸÇß“5æ÷y¢þ¯‡¬šÀ˜�ô°�ÃÿîÅí„ ›s…‘êmô$”÷‰‹m—4{îÌÿ¹ñ·¿V2:ôË ð#©ðæw¯ö·hí‰'F”úv!ÊÔ^%‹ÞA½Áôjí†öï{báëy-ìpcþÞÀÀ @1›Mjd(?,áe~÷Àç—––4|¼€Ú½[�®Ÿ~ø±Òà*€_/Çð� ˆM¯Œ«çîæ�ÒL˜óØÎï�ΚÃɪ“ã¢%Y²ÕÕ×%´”¿÷�¸Û÷©óo§§¾™ùuù‡°HÑoÅH)Ëlr\^Z\�P€spÒ}p⦲ÙošÍ�0ÉfMQˆ+¼ýø¸?<ž¬fÆ4®Ê˜ÏWp Ð@`–Ͳ Rµ`Í»+KKËÖØ`(€€å·«ù¶c_ô"×sÆ 3U ˜U$¨i`Œ‚1M÷bú[Ã:M}óº§4�=¥3gðOàˆK¥ 8GIý!L{ã~dÄþÛ·íS÷VÉŠ¥ìQ€?š? …u9‡önÕµíÕ%×õ¼… ˆÀ¨}xÕ‰?½™›; jŽÁAû²W²¶®+Èûg�ÑáǨ4FqÀ°‘�I ç8çàA¿×Èò–"Œ»­#®ÆÏ8TÂ�ƒ1FtÆHPÓÁ8‡¦ëÐt¾åP5A]CPÓ¡êU ݇shLÅöò·@%‚IxmCbBrí°ÑW¥�ùóíÿ:5E ›ú[£âNºÍvgY]þ‚´¸/]V)ÔKyó½UËÆ$µ�F�Ä+á xPÙXŠà¡ÞùyE5Fg€"´ZW�Ðjk%qÞÜ):Ó‘Ö¾³)"Ûwfö�€©ºMÓÔ4H’‰hºŠ&ÍEõCÑš hMj ‚L�ª¡2A=�«`üô½•¡1 &³©´¤¤díûóÖ¼98%k’û³ë?ïHo xÕj”)›Ö•Oš½®ðWIUa–°,R›¦r_ÜMõ „@¢2¼µA€b›œh¥[ƒSÈœqÆ‚zÃïLí22ûÖ뎘†N�;ÕSB9P_°Eu¨¥úU0ȈâQÈ?RæIêØEiu·U׸Ì8#ŒƒsÆÁrŒ10Î dM:ÆÞ·èЃEjƒ^d¬æhÌTUM9i(k €ø¹/-<È_â_lÉY7ùÛ¦y=;Å¥âTãWq'+w}´3õ5CzüÏâ]Ú Ú¥âÀwÛ‡}/¯Ë–ÍN˜d òœ¹HV‡ùþø«Ù�øÌ0ù¤Kß|{pñ2Ïð,‰r˜Œ%à8[2Ò£B’$*Á*ÙРŸ€W+†I2A" Ñ=1oLyÎú5;þ†Ðº@ÛsYÆ{þpwÿ+žúê^]£Pu1®ÇúÝÕlp4ÂåÈbôÌ-Þóá!ýå.)m;¢Ìý= �ÇpµþÌüÛ~ýÐL\ÂB’Kêöúõ¶Š�ñOØ¥>¨ð” }›4”‘�Ñ[‹—.LLu$üˆKéú]õFç˜ë 3=4Zá Ô Ï½ ùõÙ(òd#Ïójšò¡éAMƒ¢)Ð\éúú5;¾pÀp7Ÿøä,Û§¿ºzàMÓ¡ë¡Mc ŠìpÄP¢ÓJÀ `of×ë~k%ÉHŒNDFBot‹ïsZí“ú°þG*ýñ1Yþú#›&¶qÿ¦Â§p˜%G¼Kbl¾·øø©½ ûÞaµ]Èu”·¯¹mur›žPô&(zŠÚ‚zM�¢)PÔZüª]âG`ÍëÕGpÒˆ3*ϱU¤¤¤Ô+Z]�¢ j Œ\gt~kUEÁ5Çzj¼ :cð}ê Hh%ñ‰ÿ‘. B†Dý¦N�rï€Ûãnò¶=œàQ¾G“êÅÕIÀÄo]“xï’èhÛ·çr:/ZòÚÿ¶éåª[)¡4Tü!ÑP掆"x.)±Áïì;öÉòUëZ2Î<Ÿ¬ï-]ðÛø�Õ5ùU‹¦j4ÖžBoë?uŽa9ò[ P«|E}9W ÐcD¦”ºO QÕQõYσ¯?ÿ×�>6f,ü?QÂrØ AWÎÑW6KW¬Û°zK+ètÐõ±l6I�aÇàoî<¿Ñëûß.IW©[»¦׈Ð@©†R´få˜1£¨4¾Ôø|!ÄÈÐ@4€FBH!çü�‘ŸhîDι%¿nçƒÎ�'“ ~Õ§·´çþ¯¯<:ãÉ9ª'\iä7.K @*w¢Aa(€£óºÛì¶níãÒî›8rÀmwßÔ¿,�#¨^«…ö+ý}âoõw‰¼á„ûЊ«SF~!¯€ÍÈž ÕˆÀh½Xä\3'›á·%C™Fà§@‰çÈOðÔ¬íåovЉ×$Q§¿ý“n/é^5vÔS;êêê¼Fì°Àw†õù©Ú—réç³*ç¼á—_~Ù-33óæ-[¶\ ÀÆ9oõxòÓ.‰qƵÙlÎéÓ§o,..&Œ±8É]ºuê8èºÁÚgXÛõ¹¶Kz»nRçFTÃpÁÝäåæê´è>Nír*ÑÜSí`í,­ÍÓ�äU«JÜ!²Y‚l’@‰I’CÂ’Î9Læ3gÅj0¤š¦ƒ1:Ó¡k:Ô ¦Ýû¥š¯ê3HöóZseð{�žßÑ«Uts)%¨n,@û6W¢W»P[D*wÿ£àdö?vU¹8¯¹æÿã�?f³ÙÄùûIUUÒÔÔDE¡,l‚R ‹Å£¢¢˜,Ë­v®Ùlöõë×ïøµ×^»ÉãñÔ1ŠzÁ ðþûï§ÖÖÖÎÙ¸qã]Û¶m»d¹‚ñãÇ»¶oß~_~~þQcW€ö’�éš9±C\»{ïÓ­ÛiÃØ©(¹�AS-ìí5ÄÄD#Öš µƒ𸽨Q6+,¢ÛIH͈ƒµ-A] >­: Àak4#è¶yÌJBƒµ¡“{÷æoÊÞyë½2c4*ªú÷ïÏúõëw{nnîÀƒš~31þÂÿ›ÍfdeeÓÓÓ—Ìœ9ó%†"°s)]·nݵëÖ­ûç’%KÚJ’tÞ^ˆ0çû.¼´á:»ÆÆF¼òÊ+ŸM›6m¦a&™aÖm•rÇ�1b°$I¯nݺÕ­º~Ú¢w¿¢úd^�.ÉW¢{f*RºÄ#*†"HŸO>KÛéW]uUµÃáÐ#áœ[m6[üÉ“'IK7ãóùn=zô­«W¯®åœ—`Ķ’!Ǫ««ã#OHIIa.—ëð'Ÿ|²ÓX˜qñs',¸aîkŒûVG*Àرc�”””$EvFll,WU5ï�wÞÙf,(ÕÑ/»òúŒ@«Äðÿ ¶nÝÚ7;;{o]]�%R‰¢££YiiéÑ+Vì0du²†ÛV�àOÆÔXŽH/7XlÄEz‹˜Î iéÒ¥äææf°ˆºEMÓн{÷ÂI“&ýÉp©~ ô_{÷î����o6áv»999»öîÝ»*¤)¡1#ç±ÁV:�têÔé �Ç“6ýáÑ{ìØ±ƒÙÙÙ+Œ¼|ùdö~*Yuã^Á„ÖÔÔÜØÔÔd‰ŽŽ>ÃL¯^½zOqqñc ¢@!ÄËCfÈjtún�„Óï/úŒ4ò& +Š1ìȃ>¸ïí·ß~%77÷ªH·àv»;‰²ãšd´wïÞ÷=zv»½Ù<¥¥¥9.\¸ @¶¡¡£1/ˆ›nºéþ?üð sÚ£GÏ‚ ² y wïÞÝ#>>~´ÛíŽaŒ‘Ÿ#‰e±XHEEÅÎ[o½u+!ÄÏ9ÿÁ\[Ó´[Ün÷±Í5×\ã...Þ oΜ9o.^¼8}øðáUQQQcæÏŸòã�?þô¹çž»²_¿~Þo¼qê_þò—Õ.—+¬TdäÈ‘7XôÝwßÅ>ðÀ{Ÿyæ™{SSS;�9rùÆ�“G�]¸dÉ’qÙÙÙ/dff~–——X›²²²-[¶l§ @ª¨¨¸©¾¾¾¹AM&^{íµo�µí²Ë©óÈåååÃjkkOï�e¬_¿¾À·J6mÚ4øóÏ?ÿ"??ßéÛÃÁlËÀë_ýÌCRRÒŸ>øàƒecÆŒy¹•�"×ÔÔ l)ë±cÇ ä.\¸p¤I“2 ¸¸Ø1qâÄg'L˜°õ�üãõPPPf»\®�KãÑC† ùtêÔ©m`öìÙ7¿ûî»eY¾gìØ±=àÕW_ýÕܹsž2eʳC† )¨­­Íh^—¨ªÂïÿû®Ë–-‹ É}ûö�.**".—«ù- W¥Ò05\^H555©.—«¹S¢¢¢°ÿþRc¾Ý¤(ÊÛûöí3ýÿtnäç³}G�ÇãAEEÅ)))›O�:UcÌû›ûÛårÅD*@JJ þþ÷¿¨ôz½,..&“ „˜ÍfÉétÒvíÚA’¤p> e¼Eü~¿”””Ô,CRR’µ¸¸XŠ��ož=ÄÅÅ™ø(¥%N§3#2ˆŠŠJ6Ü…$ÇÇÇË���$RH‹Å„ .Éçÿ(ðûýp:�ÍËjµ‚R4b©ºº:±¶¶¶ÕÈþÇtö…çóùdEQR�Õ àóù9¸ìv;êëëëøfÍšõ0clîÚµkÇgee-[°`Áqιßápì^ºté„•+Wf/_¾|ά1ð=ûì³}V­Z55&&&éõ×_Ô¨Q_sÎß\¹råÓv»=©±±±ôŽ;îx€êõz}.—«¹-TU…Åb1…Êä­[·úGŒa‰l0›ÍFc&#ò¼ÜÞ|à²,û\.Wt¤ÂvîÜ9º¶¶V@�Àë.—ëÙHsÿ¯Žòó0{öl÷äÉ“ë[É·“††D®˜˜˜p$¯3ÆjT9¿×ë=žÖÕÕ}½sçNï]wÝuò£�>r·²’yÂáp¼M±nذá8!¤€§k×®ïz<«1x]LŠ¢ðÈÁ¢(JØ RDÀºvízÀét $IÆ�åœ9sÚ©WýrR€´´´ýN§shä´j„ ½öïßß–RJ{ì±åS¦LI¨®®Á‹6±Î«È­Y‹sÃã²,W>ùä“áÂÕ”°ùý~„ƒ@ðzXå6tèÐC-æø ¡"•³2lذ#-÷ 0àXË}º®# ¶|†p{€î÷û·z½Þ�š¦5?daaáÀÞ½{_yüøñ|c x¹Ô´ë%%%_r·*ŠÒ¼ó“O>é6tèÐ�Û¶mû@Õܹsç#TW˜h(ñÏaɘ1 +1òþ³%š~Œ’]ÔˆšRª/Z´h­Åbùs0lÎ:­^½šNžz饗Š ´�s^#˲þsjq8×îp8´ôôôOÍfs}0ô…�s®ïÚµ«lÙ²eDz²²úGž»páB{zzú{sæÌ9yóÍ7­ªj©,Ë?©û¢”rÆØë6›�|þùç{§N�zÔÈè)¿4Eˆš8qâ¨îÝ»‡³X—|£”ò'Ÿ|²(99ù„Öþ#M¸õ–[n‘™™©\.òvëÖ�Ϙ1ã=ÝúIh{ç�wþà8 \�Ÿ¿(×ôôÓO¯n)ëâŋˌÐ&,€²hÑ¢œG}ôoÆð’ÃÃüùó»Nž<ù)-KY¿~}î¸qã>ŒL±^JŠŠŠ�——7@ÿˆ´í¥v ¼5(¥§Z„Ÿ­}â‰'^zþùç·\N?zP]]�ŽP!¦ÔâÁ\�=öؼ™3g~~¹ÈÛÐЛÍÖÝÈÇâÌö7 8ô‹KQJ0íðx<Ík‘£*H)-{æ™g¦=ôÐC0`À%Ÿú 2›7oþ§_�D¥”–MŸ>ýÙ|pÑ�!C.¹¼;v¬öûýîÈ|@¯^½6E“‘‘Ñ`¨ãWEIjjê¦H+Ù­[7,_¾ü„VJ5ÒŠÆØcé¿ûÝï~c2™†·iÓ¦ç¼ çœ ü'ˆ/dÄ꺮íÝ·oß„~�£ò,æÌÆK»ñÆoˆ��½)***“Ò†s.ýTòžçYçœû|¾ª;vl¬¯¯_Ç9? Ñf³Y:wîœ9hРgTUèñx¼G�ÝVTT´–s¾×˜Bþ¬âHš6mÚCÕÕÕ÷išf/++Ëݾ}ûZ„ÍJÏÖf„ÞiKA¨3ÎH^L[0rûáWÃϵ e2äí`lq-©^,y™‘ú¡Rïæº;Ji c¬#€Î,„�2Îy±‘©»nÀŒPmW„Šjze¾€r¾ ÿ4ºÉðÁS4£Ó•‘‰¼Tò†kðgɘ"2üL3@”Œv‘ 9ü¸w!�@ �@ �@ �@ �@ �@ �@ �@ �@ �@ \þ){ägýo/IEND®B`‚cen64-qt-20241110-alpha/resources/images/no-cart.png000066400000000000000000000060631471427717600217470ustar00rootroot00000000000000‰PNG  IHDR,ÍMæbKGDÿÿÿ ½§“ pHYs  šœtIMEß .éÀ;6EiTXtCommentCREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75 tž oIDATxÚíÝÙb¢ê†á�#àAßÿÝô�8à ‚ìƒÞ®Ý½W’6‰ÑÞç°GDüeý?þ,*Àä °€À@`� , °X@`�€À ,X@` °€À �X, °€À@`�€À ,X@` °€À �X, °€À@`� ÎâÜß|>—ý~¯öøÆã±ŒÇãÊžßÕj%«ÕJíñõû} ‚€wXÕàyžX–ÞŸËåRÒ4­ä¹MÓT–Ë¥Úã³m[¦Ó)«:Z­–Ìf31 Cåñ†!QÉår©Ôy½\.2ŸÏÕžW‘ ¤Õjñ! °ª¥ÝnËd2Q{|Y–©~¬zëÎ0ÏsÕwÖív›‹ŸÀª¦áp(®ëª=¾$Iäx:�ŽêoŽv»�ìv;•ǶÙläp8¨=wÔ­¬Z�FÒívUßÅh+hgY¦úîÏu]‡\ÜV=i®g].‰¢HÕ£VEj¥[­–ø¾ÏEM`Õ—eYªëYÇãQ6›�ŠcY­Vj›[©[X�ÑétT÷gÅq,Y–=õN§“¬×kµçh:�J§Óáb&°š¡ õ¬gÝ^. ÃPí¹év»2�¸ˆ ¬æ0 C|ßÓÔyúŸy‡£±øEÝŠÀj,˲T¯èÆéý~¯¶½¢,K ‚@õ¢v ßÊu]µ�†aH†[ }íf×j2™¨~Œ'°ðãñXmãáù|~ØV.q«Ý=‚º�…ßîd‚ P»Nn³Ù|ûiÍÝì¦iŠïûª·´!°ðP¶mKjû³¾s�t–eDZÊ×}í·¢nE`áÿôz=µË<Š¢ø–GÃk7»VÔ­,¼c:�Šã8*�m»ÝÞ}Ÿúõz­¶›½ÓéP·"°ðÃ0d6›©íÏ Ãðn=R§ÓIíÞì¦iª®+XPömµÍ‰÷z„+ŠBÂ0Tô[XøÍÛíÞc�´æ½ÙµokM`A¥Éd¢¶žõ•Ò»ÝN¶Û­Ê×¥}p,½oÌë(Z}f¯ª<ÏÕ¶0˜¦©z4,õÇQ[ÏJÓôà ¤µÎBd� �…;yyy‘——•Çö‘ÒšGŠ�F#êVîe:�ŠmÛêŽëÖÒš÷f§nE`áÞo’â¾ óùüîiÍÝìÚ×q‚Àª¬v»­vTX’$o.^~ƾZ·¸Ö­4Þ¹‚Àª…Á` ½^Oå±½6ìôx<ªÝ›}8ª=— °jÃó<•ßfåyþG�Js7»ã8Ô­,�…*�Ç�ùkžå 7hJ=˲,ñ<�7œÀBÕÙ¶-¾ï×¶?Ë0 ™Íf4ÍX¨ÓãR]ëYÓ锺�…º™L&µû`»®KÝŠÀB]�êTÏjµZj§bƒÀÂض]‹âtY–Ô­,4A¿ß¯ü²Ïó¿üˆÀBcL§ÓÊ. v]W†Ã!o"�…Ƽé¦YÉ¥;–eQ·"°ÐDUÊ0 ¨[Xh¢¢(d»ÝVê˜W«•œÏgÞ< M³X,*÷á/ËRÂ0dWU M²ÙlÔNfþ›4MeµZñ&Xh‚4M%ŽãJ¿†õz-ûýž7“ÀB�]. ð¯%ŽcÉóœ7•ÀB]Åq\›¢uQÔ³,ÔÕv»­lÝê-§Ó‰z�…ºÉ²L¢(ªåk[­Vr<y“ ,ÔA�êV¯1 CÂ0¤žE`¡‹…dYVë×XEmï A`5Æn·«\7ûg�GY¯×¼éªè|>W¾ßê3w“§Ó‰7ŸÀB•”e)óù\.—K£^·a2ŸÏ¥( . UºÓ¨{Ýê-EQ4îÎ’ÀBeí÷{I’¤ñç`³Ùp1XÐì|>K†bFãÏEÇ’¦)��ØzåßÂ0l\�ÀB%,—Kî(^¹ã\,œ š�ÇÆ×­Þ²ÝnÓ‹F`A½<Ïe>Ÿs"ÞQ§]*,TÖµnE�æï穉}iTY¯×tvß(Ë2¶¢!°ð,ÇãQ–Ë¥ÊcÓÚV‘$ [+Xx´<ÏÕö[µÛmùñã‡Ús†!õ, �DZÚõr¾ï‹ã8âyžÊã£_�À­×k9ªÃJä×”æ^¯§ò8Ó4Uû8 «6N§“ÚFÈ^¯'///üšçyjGË'I¢6øA`U^Q2ŸÏUÖ­LÓ”étú¯_oµZâû¾ÚsÊÖʾ‰ÖºUY–�X–õêï»®+£ÑHå9½\.Eõ, ÷~|Ñúuüp8×ußý3ãñøŸÚ–6l­L`áŽÒ4U[·rG&“É_ÿœa�Ús¼\.F`á�,ZGt†!¾ï‹iÞv inu¸Ž cke _ yÑîx<–v»ý¡¿3 þúøø,Œ #°ðšGËw»]‡Ÿú»š[‡ÛôXø(Í£å¯�‚Ÿm¯°,Ku=‹­• ,|€öÑò¾ï¿ÙÂð‘;4­­Ô³,|ð'¼Ö]ý~_úýþ]þ­ÏÔÀ…­• ,Ü@sݪÕj½ÚÍþÕGK­v»£Â,¼%Ë2µ@˲”Ùlv÷b¹æV‘f¤%°ð¦kÝJë‘ñx,�Nç[þmÍ­l­L`áËåRíOrÇqd<ëÿáyÞÍ ¨�F=‹ÀÂo´�–ŸÍfß¾C„eY2›ÍÔž͵E ýéE‘Ú=Ð=ÏÛ¶ò}¥õ¢(¢žE`5—ö]®ëÊ`0xèÿ©¹Õ�‘jV£i-ošæS¾½3MóK]ôß-Ë2¶V&°šGóšµ²,ïÒÍþYŽãܵßëÞF`5ÊuD—VÃáðéÃ#4·:†!Q1*ŒÀª?íuÛ¶oÚ�ï4·:hï›#°p«ÕJíhùë® ZBB{«£Â¬Z;�²Z­ÔŸÆoè´·:$IÂÖÊVýh-/"ÒétÔƒæ"Œ #°jHóhù¯nÈ÷í¨iJj�ﺵ2õ,«4�–ùµ!ߣºÙ?K{«£Â¬ZÐ"˲Ȳ,þuèþúz<_üï›Íft:�h·ÛÑét¢Õj‰‚ŧ@ì÷ûHÓôéõ¥¨üHI’Äápˆõzëõúéߟ��E¯×‹n·�†�*‚õË*MÓØív±ßïc·ÛUâ¸w»]ìv»Èó<Úívôûý Q¯×]TÁâg»ÅÛív±Ýnc»Ý~öŒ©j’$‰,Ëb¹\Ær¹Œ~¿£Ñ(Úí¶ -XTU–e±Ýnc³ÙÄ~¿ÿiŸ­×ëX­VÑï÷c<G«Õrñ‹*HÓ4¶Ûm¬×ëÏ’ÿ쬓$‰Ífëõ:†ÃaŒÇcϹ‹²{ÿþý/ýÿŸ$I¬V«Øn·1™L¢×ëùPüÄLå§p<c>ŸÇb±ˆÓéä„”ßjµŠÙlVè4  ^-MÓxÿþ}dYæd”ßápˆÙlö¯gë#XðŸ:�1›Íâp88‚ÕiÍçóJOœE°ø…¤i>|p" ªáþþ>Ò4u" ªa±X¸5,¨†,Ëb³Ù8‚Õ°\.�² ªáq¡@ *A° *c»ÝšL*XP I’eU”õ°xQ»ÝŽV«Ífóik®Çm» <�NO[eYišFš¦¥ý-ßn·‹óósW°¨úè£Óé|öç5«—Öjσõ³³³§Þï÷±Z­b³Ù”j�ª4M#Ïs[‰ Uô¸�V·Ûý¿îJó½ñxËå²4·b§Ó)²,³‘…`Q¥[½Á`ý~ÿ³Òù 5qyyý~?nooK1ÚJÓT°‹²ßòõz½Â¶Éêv»1�Nc6›-ke %Õp8ŒóóóÂ7"m·Ûqyy³Ù¬ÐgH‚%X”L­V‹ÑhÃá°T;&w»Ý‡±Z­ ;s± #ªW�Ç…ËF‚EÁò<�Á`ãñ8šÍf¹?|�Ft»ÝØn·…�+‹‚´Z­˜L&Ñét*sÌEËþ…‚EA...b4Un"d«Õ*t4Š`ñ:;;‹ÉdRúÛ¿oÝåGÏ=C°ø›étZéã/2~–SÁÏ‹S@‘м-+ë·§%Uäƒo·„‚ß%Ë2#,‹jØï÷…½w‘ßP"XTPQs°K°à»GWEþY° ^íÇ…½w½^,Á‚×Ùív…Þþug þÑétŠ»»»B�¡×빂/»¿¿/ôÙU’$FX‚/Ûl6…>»Šˆ‡&� |[–eq{{[øoø†Ã¡‹!XðÏâææ¦ð%]z½^eW¶@°ø‡˜Íf…¯¡žçyŒÇc¤Â,/ÃY•!Vçççæ^ |]–eqssSŠXÕëu£+Á‚¯Ûï÷1ŸÏK³3Íåå¥o ¾´^¯ãöö¶4Ç3�Ì»,øÒýý},—ËÒ,?Ün·ãââÂ…,xv:�b±XÄf³)M¬jµZ\]]Y»]°àÙñxŒ›››HÓ´TÇ5�N Ý•Á¢d²,‹ÙlVºm߯®®¢Ýn»@‚Ÿì÷û˜Íf¥Û�ôíÛ·Vc,x¶Ùlb>Ÿ—ê˜ò<�·o߯`0p� >Y­V±X,J«Édâ‡Í‚Ï>~üXøâ{_3™Lb4¹@‚ϱZ,¥›&à6P° ô±J’$®®®¢Ûíº@‚Ÿ¬×븻»+U¬êõzL§S«/<Ûív1ŸÏK«v»WWW&… <{\¦L± ñæÍ+/<;�1ŸÏK3)4ÏóxóæMœŸŸ»8‚Ÿ»»»+t+®¿»¾¾6{ÁâKëõ:6›M)Ž¥V«Åõõut:Áâs§Ó)þøã�r|8�¸¾¾öM ‚Å×}üø±+/4�˜N§¶äâó·SÀ£<ÏãÏ?ÿ+‹ò[¯×…�®ŸY‰‚Å7ý =ÏsϬ,^v:�b»Ýz “ÉÄ·�/Ûív…¾«Õ²–‚ÅëdYVèû_\\ØÝÁ¢üÁj4–ˆA°x½"†ã'7ßåt:öÞ´#X|—"ç_™Æ€`ñ]Š\FÆÚV•Q¯×� ,ÁøëaïÞ½s0Â,@° @°Á,Á @° ,€Bùñ3ñûï¿öÞ~x� X‚ X€`€`‚ X‚€` X‚€` X‚ X€`€`‚ X‚€`ð³i8DD¼{÷ÎIÀ @°Á,Á @° ,Á,@° @°Á,Á @° ,Á,@° @°Á,@° @°Á,Á @° ø¹ý1³ó‹â±JIEND®B`‚cen64-qt-20241110-alpha/resources/locale/000077500000000000000000000000001471427717600176635ustar00rootroot00000000000000cen64-qt-20241110-alpha/resources/locale/cen64-qt_fr.qm000066400000000000000000000541561471427717600222650ustar00rootroot00000000000000<¸dÊÍ!¿`¡½ÝBH1! QunX´:z†a4†b\“µ(¨b¨‹.Õ¯~.¦Ð%€èô2ü0¤5\VEßVE6lpK8�¡a$Ê5Ì(5*Ð%A*ì0¸+Œs+ÏǸ,DåEI'›'ÓI–Þ(2J6• aMÅ…ÐN‹¾2ÌRˆÕ4±Rýô4åV VŠó8KV®Â7 Z8,?€Zm`«Zy%A[5ŸGŠ]ð¥D+uQ.~ <¹ªlƒ?÷è¹¥O: h*‹D]’M“ž6ýº3À$¾-ÍG1D§?ßáL¶ähRZäÁphWß”[½§–Ä �¸&ÂFôº¨”7Ù–Î ˜Ú{îJ^¹þXͬ1psU1,p7£)I‡Dš!8œž¾ ‚¥ùHZ§ÆôC‚æ‘PyøÅŽf )Õ/‰%_jCM@[ÀI`Zš~»nMÞ Çy/º0ïzq%_˜I¼I˜I¼:˜I¼˜I¼*TŸÄë,?ë/ 4u}Š3‰˜Ä �˜Ä ŘÄD�°Ë t(Ęk)ºš&Ï.`ÞH£;°½5�V“|6�h„Õ6ÔlâÔÜq6„rw:.?|—%8°~}j?*€ƒž¸†tU"dˆ°G‰}ž ã‰}ž©ŒFÅ:ª˜Ëe›ˆ˜yœ9%êœ]PKâ®ÃŠA”²g¿ô˜E<,ü3gD]ýÐC8å cS(¨7INu$› ?´œm�Û„âMÉéJž(fêÏZ#ðtU!Ÿ GZ35hÕ7 &Ѫ&n(üã)£5"ÂIz=N´òéPê7;_Ó’‹“޲¢n {£Ú5'0¿�%/Ïÿ:6Ú¶ž Þ`Ê=må­$A ª4d>™i›�Pu_Š;–ypDÕÍ‹`(ðÔ¢ /ÜS2'ê4R þKV ¾Þ  !„‰& "ÊK;O )I#-U 0ÉrÔ IûA+/ IûB+s IûC+· IûD+û QZ¥µ ew“Oá wÎ� |ÓëAÉ ‡²H' ’…ª-ì À×/H ÓFj,î I¨¾ï eœÇœ ´Ìš7ù ¸ÆÎ  (Ñ®m )äæ QòW £Ëd μå‡ μå:å Ú^@¤ îân (ä0± * uùå ‹î#ë ®Z% ºïsù »s=Í Ã,„ É Ø Éʧs Ί1 Þ´Þd øƒ%C ùÖßEç ü&SOœ 0ª%œ XVú> [�I… ‡Eê" ‰P D ‰P Ñ ©29� Õã::# å0 2w·Ê4¹Î“B¿:BxLÊãðLÊãN+†Çú/ëŽoNw�4e,Œ«Ö5NÖ²ÑuÊŽ•BÎsB1´ÞÞj'‹ü z-‘¾ P`å9‰R/Œ9ÓaÇY5e�G#i„Ú website AboutDialog€Une interface graphique simple et élémentaire pour <ParentName>.2A customizable launcher for using Qt. AboutDialog*À propos de <AppName>About  AboutDialogDépôt GitHubGitHub repository AboutDialogVersionVersion AboutDialogPas de disqueNo DiskDDViewAnnulerCancelDownloadDialogFichierFileDownloadDialog:URL du jeu sur thegamesdb.netFrom thegamesdb.net URL of gameDownloadDialogNom du jeu : Name of Game:DownloadDialogChercherSearchDownloadDialogHChercher des informations sur le jeuSearch Game InformationDownloadDialog.ou identifiant du jeu : or Game ID:DownloadDialog4Fichier 64DD IPL manquant.64DD IPL file not found.EmulatorHandler*ROM 64DD introuvable.64DD ROM file not found.EmulatorHandler 64DD non activé.64DD not enabled.EmulatorHandlerFExecutable <ParentName> non trouvé." executable not found.EmulatorHandlerº<ParentName> a quitté de manière inattendue. Consultez les journaux pour plus d'informations.C quit unexpectedly. Check the log for more information.EmulatorHandler$Émulation démarréeEmulation startedEmulatorHandler"Émulation arrêtéeEmulation stoppedEmulatorHandlerXAucune ROM sélectionnée ou 64 DD non activé.$No ROM selected or 64DD not enabled.EmulatorHandler0Aucune ROM sélectionnée.No ROM selected.EmulatorHandlerBN'est pas un fichier 64DD valide.Not a valid 64DD File.EmulatorHandler@N'est pas un fichier Z64 valide.Not a valid Z64 File.EmulatorHandler6Fichier PIF IPL non trouvé.PIF IPL file not found.EmulatorHandler*Fichier ROM manquant.ROM file not found.EmulatorHandler2Consulter les journaux... View Log...EmulatorHandlerAttentionWarningEmulatorHandler Pas de cartoucheNo CartGridView Pas de cartoucheNo CartListView*Journaux <ParentName> Log LogDialog FermerClose LogDialogÀ &propos&About MainWindow&Configurer... &Configure... MainWindow>&Convertir au format V64/n64...&Convert V64/n64... MainWindowN&Télécharger/Mettre à jour les infos...&Download/Update Info... MainWindow&Émulation &Emulation MainWindow&Fichier&File MainWindowPl&ein-Écran &Full-screen MainWindow &Aide&Help MainWindow&Disposition&Layout MainWindow$&Ouvrir une ROM... &Open ROM... MainWindow&Quitter&Quit MainWindow&&Recharger la liste &Refresh List MainWindow&Paramètres &Settings MainWindow&Démarrer&Start MainWindow &Barre de statut &Status Bar MainWindow&Affichage&View MainWindow"Tous les fichiers All Files MainWindowAnnulerCancel MainWindow>&Effacer les infos actuelles...D&elete Current Info... MainWindowActiver 64DD Enable 64DD MainWindow Vue en vignettes Grid View MainWindow LancerLaunch MainWindowVue en liste List View MainWindowPas de sortie No Output MainWindowAucune ROMNo ROMs MainWindowNAucune ROM trouvée dans le fichier ZIP.No ROMs found in ZIP file. MainWindow AucuneNone MainWindow*Ouvrir un fichier ROM Open ROM File MainWindowChoisir une ROM Select ROM MainWindow&ArrêterSt&op MainWindowVue en tableau Table View MainWindowIl n'y a pas de journaux. Soit <ParentName> n a pas encore été lancé, soit il n y a pas de données concernant le dernier démarrage. ^There is no log. Either has not yet run or there was no output from the last run. MainWindow2Consulter les journaux... View Log... MainWindow%1 - MB%1 MBQObjectCRC1CRC1QObjectCRC2CRC2QObjectDéveloppeur DeveloperQObject0Téléchargement terminé !Download Complete!QObjectESRBESRBQObjectNom du fichierFilenameQObject4Nom du fichier (extension)Filename (extension)QObjectÿÿÿÿ Game CoverQObjectNTélécharger des informations sur le jeuGame Information DownloadQObjectTitre du jeu Game TitleQObject GenreGenreQObjectNom GoodGoodNameQObjectNom interne Internal NameQObjectMD5MD5QObject*Pas d'autre résultat.No more results found.QObjectAucun résultat.No results found.QObjectNon trouvé Not foundQObject AperçuOverviewQObjectJoueursPlayersQObjectÉditeur PublisherQObjectCertificationRatingQObjectDate de sortie Release DateQObject2Fichier catalogue demandéRequires catalog fileQObject RumbleRumbleQObject$Type de sauvegarde Save TypeQObject TailleSizeQObjectROM inconnue Unknown ROMQObjectFichier ZipZip FileQObjectAnnulerCancel RomCollection´Impossible de se connecter à la base de données Sqlite. L'application peut dysfonctionner.@Could not connect to Sqlite database. Application may misbehave. RomCollection6Base de données non chargéeDatabase Not Loaded RomCollection,Chargement des ROMS...Loading ROMs... RomCollection.Aucune ROM trouvée dansNo ROMs found in  RomCollection&Aucune ROM trouvée.No ROMs found. RomCollectionAttentionWarning RomCollection......SettingsDialog0Fichier EEPROM 16 kbit :16 kbit EEPROM file:SettingsDialog,Fichier EEPROM 16 kbit16kbit EEPROM FileSettingsDialog.Fichier EEPROM 4 kbit :4 kbit EEPROM file:SettingsDialog*Fichier EEPROM 4 kbit4kbit EEPROM FileSettingsDialog(Fichier ROM 64DD IPL64DD IPL ROM FileSettingsDialog$Fichier IPL 64DD :64DD IPL file:SettingsDialog>Fichier exécutable <ParentName> ExecutableSettingsDialogÀ<b>Remarque : </b>Le changement de langue ne prendra effet qu'après le redémarrage du programme.LNote: Language changes will not take place until application restart.SettingsDialogAccessoire : Accessory:SettingsDialogAjouter...Add...SettingsDialog:Paramètres supplémentaires : Additional Parameters:SettingsDialog(Ajustage automatiqueAdjust AutomaticallySettingsDialog,Colonnes disponibles :Available Columns:SettingsDialog.Intitulés disponibles :Available Items:SettingsDialog(Image d'arrière-planBackground ImageSettingsDialogArrière-plan: Background:SettingsDialogNoirBlackSettingsDialogBleuBlueSettingsDialog MarronBrownSettingsDialogNaviguer... Browse...SettingsDialogFichier CEN64 CEN64 FilesSettingsDialog$Exécutable CEN64 :CEN64 executable: SettingsDialog–CEN64-Qt cherchera tous les fichiers z64, n64, ndd et zip dans ces dossiersRCEN64-Qt will search for all .z64, .n64, .ndd, and .zip files in these directoriesSettingsDialogAnnulerCancelSettingsDialog"Fichier catalogue Catalog FileSettingsDialog(Nombre de colonnes :Columns:SettingsDialogManette #1 Controller #1SettingsDialogManette #2 Controller #2SettingsDialogManette #2 Controller #3SettingsDialogManette #4 Controller #4SettingsDialogController pakController PakSettingsDialog,Fichier Controller pakController Pak FileSettingsDialog0Fichier Controller pak :Controller Pak File:SettingsDialogManette ControllersSettingsDialog(Colonnes utilisées :Current Columns:SettingsDialog"Intitulé actuel :Current Items:SettingsDialog2Choisir un arrière-plan :Custom Background:SettingsDialogCyanCyanSettingsDialog SombreDarkSettingsDialogGris foncé Dark GraySettingsDialogDescendant DescendingSettingsDialog,Afficher les vignettesDisplay Cover ImageSettingsDialogxTélécharger les informations sur les jeux (thegamesdb.net) :+Download Game Information (thegamesdb.net):SettingsDialogÉmulation EmulationSettingsDialogActivée :Enabled:SettingsDialogTrès grande Extra LargeSettingsDialogTrès petite Extra SmallSettingsDialog<Premier intitulé comme en-têteFirst Item as HeaderSettingsDialog Fichier FlashRAM FlashRAM FileSettingsDialog$Fichier FlashRAM :FlashRAM file:SettingsDialogVertGreenSettingsDialogVignettesGridSettingsDialog&Taille des images : Image Size:SettingsDialogImage :Image:SettingsDialog.Couleur de l'intitulé : Label Color:SettingsDialog*Texte de l'intitulé : Label Text:SettingsDialogLangue : Language:SettingsDialog GrandeLargeSettingsDialogLumièreLightSettingsDialogGris clair Light GraySettingsDialog ListeListSettingsDialogMoyenneMediumSettingsDialog&Désactiver le son : No audio:SettingsDialog*Désactiver la vidéo : No video:SettingsDialog AucunNoneSettingsDialogNormaleNormalSettingsDialog OrangeOrangeSettingsDialog AutreOtherSettingsDialog0Sortie vers la console :Output to Console:SettingsDialog&Fichier ROM PIF IPLPIF IPL ROM FileSettingsDialog"Fichier PIF IPL : PIF IPL file:SettingsDialogCheminsPathsSettingsDialogRosePinkSettingsDialog VioletPurpleSettingsDialog Dossier des ROMSROM DirectoriesSettingsDialog"Dossiers des ROMS ROM DirectorySettingsDialogImages des ROMS ROM ImageSettingsDialog$Intitulé de la ROM ROM LabelSettingsDialog(Catalogue des ROMS : ROM catalog:SettingsDialog RougeRedSettingsDialogSupprimerRemoveSettingsDialog2Fichier catalogue demandéRequires catalog fileSettingsDialogKit vibration Rumble PakSettingsDialogPMultithread (précision quasi-parfaite) :#Run multithreaded (quasi-accurate):SettingsDialogFichier SRAM SRAM FileSettingsDialogFichier SRAM : SRAM file:SettingsDialog*Dossier de sauvegardeSave DirectorySettingsDialog,Fichiers de sauvegarde Save FilesSettingsDialog.Dossier de sauvegarde :Save directory:SettingsDialogParamètresSettingsSettingsDialogVCouleur de l ombre de la vignette active : Shadow Active Color:SettingsDialogXCouleur de l ombre des vignettes inactives :Shadow Inactive Color:SettingsDialog(Montrer l'intitulé : Show Label:SettingsDialog PetiteSmallSettingsDialogClassement :Sorting:SettingsDialoghAttribuer un fichier spécifique pour les sauvegardes"Specify individual files for savesSettingsDialog6Étendre la première colonneStretch First ColumnSettingsDialogTableauTableSettingsDialog Taille du texte: Text Size:SettingsDialog Thème:Theme:SettingsDialogTransfer pak Transfer PakSettingsDialog0Fichier ROM Transfer pakTransfer Pak ROM FileSettingsDialog$Rom Transfer pak :Transfer Pak ROM:SettingsDialogDFichier de sauvegarde Transfer pakTransfer Pak Save FileSettingsDialogÿÿÿÿTransfer Pak Save:SettingsDialog\Ajouter des paramètres supplémentaires à CEN64*Use to pass additional parameters to CEN64SettingsDialog BlancWhiteSettingsDialog JauneYellowSettingsDialog Pas de cartoucheNo Cart TableViewš<b>Remarque :</b> Si vous effacez les informations de ce jeu parce que le jeuRNOTE: If you are deleting this game's information because the game doesn't TheGamesDBScraperNContinuer à récolter des informations ?Continue scraping information?TheGamesDBScraper>Effacer les informations du jeuDelete Game InformationTheGamesDBScraperNEffacer les informations actuelles pour"Delete the current information forTheGamesDBScraper`Ces informations vous semblent-elles correctes ?Does this look correct?TheGamesDBScraperÿÿÿÿ Network ErrorTheGamesDBScraperPublié le : Released on: TheGamesDBScraperhTemps dépassé. Vérifier vos paramètres de connexion./Request timed out. Check your network settings.TheGamesDBScraperˆ<AppName> ne mettra pas à jour les informations jusqu'à ce que vous PThis will cause to not update the information for this game until you TheGamesDBScraperžet d ajouter le jeu afin d en faire profiter également les autres utilisateurs.4and add the game so other users can benefit as well.TheGamesDBScraperHil est préférable de créer un comptebetter to create an account onTheGamesDBScraper¸n est pas dans TheGamesDB et que <AppName> vous propose des informations pour un autre jeu, Rexist on TheGamesDB and pulled the information for different game, it's TheGamesDBScraperjrelanciez le "Télécharger/Mettre à jour les infos..."'force it with "Download/Update Info..."TheGamesDBScraper.Convertisseur <AppName> Converter V64Converter"Tous les fichiers All Files V64Converter*Conversion terminée !Conversion complete! V64Converter2Ouvrir un fichier v64/n64Open v64/n64 File V64Converter4Sauvegarder le fichier z64 Save z64 File V64ConverterROMS V64/n64 V64/n64 ROMs V64ConverterROMS Z64Z64 ROMs V64Converter(Déjà au format z64 !already in z64 format! V64ConverterJn est pas un fichier v64/n64 valide !!is not a valid .v64 or .n64 file! V64Converterˆcen64-qt-20241110-alpha/resources/locale/cen64-qt_fr.ts000066400000000000000000001532311471427717600222700ustar00rootroot00000000000000 AboutDialog About <AppName> À propos de <AppName> Version Version A customizable launcher for <ParentName> using Qt. Une interface graphique simple et élémentaire pour <ParentName>. <ParentName> website Site web de <ParentName> GitHub repository Dépôt GitHub DDView No Disk Pas de disque DownloadDialog Search Game Information Chercher des informations sur le jeu File Fichier Name of Game: Nom du jeu : or Game ID: ou identifiant du jeu : From thegamesdb.net URL of game URL du jeu sur thegamesdb.net Search Chercher Cancel Annuler EmulatorHandler Warning Attention View Log... Consulter les journaux... Emulation stopped Émulation arrêtée <ParentName> quit unexpectedly. Check the log for more information. <ParentName> a quitté de manière inattendue. Consultez les journaux pour plus d'informations. <ParentName> executable not found. Executable <ParentName> non trouvé. PIF IPL file not found. Fichier PIF IPL non trouvé. 64DD IPL file not found. Fichier 64DD IPL manquant. ROM file not found. Fichier ROM manquant. 64DD ROM file not found. ROM 64DD introuvable. No ROM selected. Aucune ROM sélectionnée. 64DD not enabled. 64DD non activé. Not a valid Z64 File. N'est pas un fichier Z64 valide. Not a valid 64DD File. N'est pas un fichier 64DD valide. No ROM selected or 64DD not enabled. Aucune ROM sélectionnée ou 64 DD non activé. Emulation started Émulation démarrée GridView No Cart Pas de cartouche ListView No Cart Pas de cartouche LogDialog <ParentName> Log Journaux <ParentName> Close Fermer MainWindow &File &Fichier &Open ROM... &Ouvrir une ROM... &Refresh List &Recharger la liste &Download/Update Info... &Télécharger/Mettre à jour les infos... D&elete Current Info... &Effacer les infos actuelles... &Quit &Quitter &Emulation &Émulation &Start &Démarrer St&op &Arrêter Enable 64DD Activer 64DD View Log... Consulter les journaux... &Settings &Paramètres &Configure... &Configurer... &View &Affichage &Layout &Disposition None Aucune Table View Vue en tableau Grid View Vue en vignettes List View Vue en liste &Full-screen Pl&ein-Écran &Status Bar &Barre de statut &Help &Aide &About À &propos Add a directory containing ROMs under Settings->Configure->Paths to use this view. There is no log. Either <ParentName> has not yet run or there was no output from the last run. Il n'y a pas de journaux. Soit <ParentName> n’a pas encore été lancé, soit il n’y a pas de données concernant le dernier démarrage. Cancel Annuler No Output Pas de sortie &Convert V64/n64... &Convertir au format V64/n64... All Files Tous les fichiers Open ROM File Ouvrir un fichier ROM No ROMs Aucune ROM No ROMs found in ZIP file. Aucune ROM trouvée dans le fichier ZIP. Select ROM Choisir une ROM Launch Lancer QObject GoodName Nom Good Filename Nom du fichier Filename (extension) Nom du fichier (extension) Zip File Fichier Zip Internal Name Nom interne Size Taille MD5 MD5 CRC1 CRC1 CRC2 CRC2 Players Joueurs Rumble Rumble Save Type Type de sauvegarde Game Title Titre du jeu Release Date Date de sortie Overview Aperçu ESRB ESRB Genre Genre Publisher Éditeur Developer Développeur Rating Certification Game Cover Unknown ROM ROM inconnue Requires catalog file Fichier catalogue demandé Not found Non trouvé %1 MB %1 - MB Game Information Download Télécharger des informations sur le jeu No results found. Aucun résultat. No more results found. Pas d'autre résultat. Download Complete! Téléchargement terminé ! RomCollection Warning Attention No ROMs found in Aucune ROM trouvée dans No ROMs found. Aucune ROM trouvée. Database Not Loaded Base de données non chargée Could not connect to Sqlite database. Application may misbehave. Impossible de se connecter à la base de données Sqlite. L'application peut dysfonctionner. Loading ROMs... Chargement des ROMS... Cancel Annuler SettingsDialog Settings Paramètres Paths Chemins Save Files Fichiers de sauvegarde Browse... Naviguer... 16 kbit EEPROM file: Fichier EEPROM 16 kbit : FlashRAM file: Fichier FlashRAM : Save directory: Dossier de sauvegarde : Specify individual files for saves Attribuer un fichier spécifique pour les sauvegardes 4 kbit EEPROM file: Fichier EEPROM 4 kbit : SRAM file: Fichier SRAM : CEN64 Files Fichier CEN64 PIF IPL file: Fichier PIF IPL : ROM catalog: Catalogue des ROMS : CEN64 executable: Exécutable CEN64 : 64DD IPL file: Fichier IPL 64DD : ROM Directories Dossier des ROMS CEN64-Qt will search for all .z64, .n64, .ndd, and .zip files in these directories CEN64-Qt cherchera tous les fichiers z64, n64, ndd et zip dans ces dossiers Add... Ajouter... Remove Supprimer Emulation Émulation Run multithreaded (quasi-accurate): Multithread (précision quasi-parfaite) : No audio: Désactiver le son : No video: Désactiver la vidéo : Controllers Manette Controller #1 Manette #1 Transfer Pak ROM: Rom Transfer pak : Transfer Pak Save: Controller Pak File: Fichier Controller pak : Accessory: Accessoire : Enabled: Activée : Controller #2 Manette #2 Controller #3 Manette #2 Controller #4 Manette #4 Table Tableau Image: Image : ... ... Current Columns: Colonnes utilisées : Stretch First Column Étendre la première colonne Available Columns: Colonnes disponibles : Grid Vignettes ROM Label Intitulé de la ROM Show Label: Montrer l'intitulé : Label Text: Texte de l'intitulé : Label Color: Couleur de l'intitulé : Other Autre Custom Background: Choisir un arrière-plan : Sorting: Classement : Descending Descendant Background: Arrière-plan: ROM Image Images des ROMS Shadow Inactive Color: Couleur de l’ombre des vignettes inactives : Shadow Active Color: Couleur de l’ombre de la vignette active : Columns: Nombre de colonnes : Image Size: Taille des images : Adjust Automatically Ajustage automatique List Liste First Item as Header Premier intitulé comme en-tête Current Items: Intitulé actuel : Available Items: Intitulés disponibles : Display Cover Image Afficher les vignettes Text Size: Taille du texte: Theme: Thème: Additional Parameters: Paramètres supplémentaires : Requires catalog file Fichier catalogue demandé Download Game Information (thegamesdb.net): Télécharger les informations sur les jeux (thegamesdb.net) : Output to Console: Sortie vers la console : Use to pass additional parameters to CEN64 Ajouter des paramètres supplémentaires à CEN64 Language: Langue : <b>Note:</b> Language changes will not take place until application restart. <b>Remarque : </b>Le changement de langue ne prendra effet qu'après le redémarrage du programme. None Aucun Rumble Pak Kit vibration Controller Pak Controller pak Transfer Pak Transfer pak Extra Small Très petite Small Petite Medium Moyenne Large Grande Extra Large Très grande Super Black Noir White Blanc Light Gray Gris clair Dark Gray Gris foncé Green Vert Cyan Cyan Blue Bleu Purple Violet Red Rouge Pink Rose Orange Orange Yellow Jaune Brown Marron Light Lumière Normal Normale Dark Sombre OK Cancel Annuler ROM Directory Dossiers des ROMS 64DD IPL ROM File Fichier ROM 64DD IPL Background Image Image d'arrière-plan Catalog File Fichier catalogue <ParentName> Executable Fichier exécutable <ParentName> 4kbit EEPROM File Fichier EEPROM 4 kbit 16kbit EEPROM File Fichier EEPROM 16 kbit FlashRAM File Fichier FlashRAM Controller Pak File Fichier Controller pak PIF IPL ROM File Fichier ROM PIF IPL Save Directory Dossier de sauvegarde SRAM File Fichier SRAM Transfer Pak ROM File Fichier ROM Transfer pak Transfer Pak Save File Fichier de sauvegarde Transfer pak TableView No Cart Pas de cartouche TheGamesDBScraper <b>NOTE:</b> If you are deleting this game's information because the game doesn't <b>Remarque :</b> Si vous effacez les informations de ce jeu parce que le jeu better to create an account on il est préférable de créer un compte and add the game so other users can benefit as well. et d’ajouter le jeu afin d’en faire profiter également les autres utilisateurs. exist on TheGamesDB and <AppName> pulled the information for different game, it's n’est pas dans TheGamesDB et que <AppName> vous propose des informations pour un autre jeu, This will cause <AppName> to not update the information for this game until you <AppName> ne mettra pas à jour les informations jusqu'à ce que vous force it with "Download/Update Info..." relanciez le "Télécharger/Mettre à jour les infos..." Delete the current information for Effacer les informations actuelles pour Delete Game Information Effacer les informations du jeu The following error from TheGamesDB occured while downloading: Released on: Publié le : Does this look correct? Ces informations vous semblent-elles correctes ? Request timed out. Check your network settings. Temps dépassé. Vérifier vos paramètres de connexion. Continue scraping information? Continuer à récolter des informations ? Network Error Erreur réseau V64Converter Open v64/n64 File Ouvrir un fichier v64/n64 V64/n64 ROMs ROMS V64/n64 All Files Tous les fichiers Save z64 File Sauvegarder le fichier z64 Z64 ROMs ROMS Z64 already in z64 format! Déjà au format z64 ! is not a valid .v64 or .n64 file! n’est pas un fichier v64/n64 valide ! <AppName> Converter Convertisseur <AppName> Conversion complete! Conversion terminée ! cen64-qt-20241110-alpha/resources/locale/cen64-qt_ru.qm000066400000000000000000000535061471427717600223020ustar00rootroot00000000000000<¸dÊÍ!¿`¡½ÝBp;5ü1! Qu†X´9¯†ab†bŠ“µ'w¨bA¨‹.5¯~.Ð%hèô2`0¤4˜VEÌVE5˜pK7¶¡a$Ê5Ò(57*Ð% »*ì00+Œë+ÏÇ(,DåiI'›'CI–Þ'¨J6• çMÅ…äN‹¾2*RˆÕ3çRýô4V VŠó7†V®Â6`Z8,>Zm`'Zy%?ÒZÆÂ? [5ŸFY]ð¥C.uQ.þ~ ;Úªlƒ>˜è¹¥MÕ h*D]’KÓ“žýº3&$¾¾-Í1D?ßÚL¶äJRZä¡phWa”[¹§–Ä ¸&ÂEÕº¨”£Ù–Î XÚ{îI«¹þQͬ0ÊsU0‚p7£(LJDš!6œž¾ &¥ùFó§ÆôBmæ‘OøÅŽ* )Õ.í%_jAþ@[ÀH·Zš~�nMÞ [y/º0Ezq$ï˜I¼3˜I¼7˜I¼˜I¼)ΟÄë+¯ë/ 3±}Š2å˜Ä ˜Ä U˜ÄC•°Ëÿt(ĘP)ºš&[.`ÞG>;°½4ËV“|5Åh„Õ6%lâÔ»q6„9rw:-¡|—%7ë~}j=Ñ€ƒž–†tU"Hˆ°G#‰}ž ƒ‰}žãŒFÅ9ã˜Ëeõ›ˆ˜Yœ9%òœ]PJݮÊ@Q²gíô˜E;[ü3gC`ýÐC8& cS( $£úGó7IN 阛 >Wœm�Û„âL|éJž'äêÏZ"ôðtU!• GZ2‘hÕ6é&Ѫ&(üÿ)£5"žIz website AboutDialogv0AB@08205<K9 8=B5@D59A 4;O <ParentName>, =0?8A0==K9 =0 Qt.2A customizable launcher for using Qt. AboutDialog* ?@>3@0<<5 <AppName>About  AboutDialog$ 5?>78B>@89 GitHubGitHub repository AboutDialog 5@A8OVersion AboutDialog5B 48A:0No DiskDDView B<5=0CancelDownloadDialog$09;FileDownloadDialog4URL 83@K =0 thegamesdb.netFrom thegamesdb.net URL of gameDownloadDialog0720=85 83@K: Name of Game:DownloadDialog 09B8SearchDownloadDialog009B8 8=D>@<0F8N >1 83@5Search Game InformationDownloadDialog.8;8 845=B8D8:0B>@ 83@K: or Game ID:DownloadDialog0$09; 64DD IPL =5 =0945=.64DD IPL file not found.EmulatorHandler0$09; 64DD ROM =5 =0945=.64DD ROM file not found.EmulatorHandler"64DD =5 2:;NG5=>.64DD not enabled.EmulatorHandlerPA?>;=O5<K9 D09; <ParentName> =5 =0945=." executable not found.EmulatorHandlerÌ<ParentName> =5>6840==> ?@5:@0B8; @01>BC. @>A<>B@8B5 6C@=0; 4;O ?>;CG5=8O 1>;55 ?>4@>1=>9 8=D>@<0F88.C quit unexpectedly. Check the log for more information.EmulatorHandler"-<C;OF8O 70?CI5=0Emulation startedEmulatorHandler(-<C;OF8O >AB0=>2;5=0Emulation stoppedEmulatorHandlerP$09; ROM =5 2K1@0= 8;8 64DD =5 2:;NG5=>.$No ROM selected or 64DD not enabled.EmulatorHandler&$09; ROM =5 2K1@0=.No ROM selected.EmulatorHandler.5:>@@5:B=K9 D09; 64DD.Not a valid 64DD File.EmulatorHandler,5:>@@5:B=K9 D09; Z64.Not a valid Z64 File.EmulatorHandler.$09; PIF IPL =5 =0945=.PIF IPL file not found.EmulatorHandler&$09; ROM =5 =0945=.ROM file not found.EmulatorHandler*@>A<>B@5BL 6C@=0;... View Log...EmulatorHandler=8<0=85WarningEmulatorHandler5B :0@B@8460No CartGridView5B :0@B@8460No CartListView&C@=0; <ParentName> Log LogDialog0:@KBLClose LogDialog& ?@>3@0<<5...&About MainWindow&0@0<5B@K... &Configure... MainWindow4&>=25@B8@>20BL V64/n64...&Convert V64/n64... MainWindowB&03@C78BL/>1=>28BL 8=D>@<0F8N...&Download/Update Info... MainWindow&-<C;OF8O &Emulation MainWindow &$09;&File MainWindow&> 25AL M:@0= &Full-screen MainWindow&><>IL&Help MainWindow& 0A?>;>65=85&Layout MainWindow&B:@KBL ROM... &Open ROM... MainWindow &K9B8&Quit MainWindow &1=>28BL A?8A>: &Refresh List MainWindow&0AB@>9:8 &Settings MainWindow&0?CAB8BL&Start MainWindow"&!B@>:0 A>AB>O=8O &Status Bar MainWindow&84&View MainWindowd>102LB5 :0B0;>3, A>45@60I89 D09;K ROM, A ?><>ILN &Add a directory containing ROMs under  MainWindowA5 D09;K All Files MainWindow B<5=0Cancel MainWindow<&#40;8BL B5:CICN 8=D>@<0F8N...D&elete Current Info... MainWindow:;NG8BL 64DD Enable 64DD MainWindow !5B:0 Grid View MainWindow0?CAB8BLLaunch MainWindow !?8A>: List View MainWindow,5B 2K2>40 @57C;LB0B>2 No Output MainWindow5B D09;>2 ROMNo ROMs MainWindowB5 =0945=K D09;K ROM 2 D09;5 ZIP.No ROMs found in ZIP file. MainWindow5BNone MainWindow B:@KBL D09; ROM Open ROM File MainWindowK1@0BL ROM Select ROM MainWindow\0AB@>9:8->0@0<5B@K->CB8, GB>1K 8E ?>:070BL.,Settings->Configure->Paths to use this view. MainWindow&AB0=>28BLSt&op MainWindow"01;8F0 Table View MainWindowÎC@=0; >BACBAB2C5B. <ParentName> =5 1K; 70?CI5= 8;8 =5 2K2>48; 8=D>@<0F8N A <><5=B0 ?>A;54=53> 70?CA:0.^There is no log. Either has not yet run or there was no output from the last run. MainWindow*@>A<>B@5BL 6C@=0;... View Log... MainWindow %1 %1 MBQObjectCRC1CRC1QObjectCRC2CRC2QObject 07@01>BG8: DeveloperQObject&03@C7:0 7025@H5=0!Download Complete!QObjectESRBESRBQObject<O D09;0FilenameQObject,<O D09;0 (@0AH8@5=85)Filename (extension)QObject1;>6:0 83@K Game CoverQObject603@C7:0 8=D>@<0F88 >1 83@5Game Information DownloadQObject0720=85 83@K Game TitleQObject0=@GenreQObjectGoodNameGoodNameQObject=CB@5==55 8<O Internal NameQObjectMD5MD5QObject.>;LH5 @57C;LB0B>2 =5B.No more results found.QObject  57C;LB0B>2 =5B.No results found.QObject5 =0945=> Not foundQObject 17>@OverviewQObject 3@>:8PlayersQObject740B5;L PublisherQObject 59B8=3RatingQObject0B0 2K?CA:0 Release DateQObject."@51C5BAO D09; :0B0;>30Requires catalog fileQObject RumbleRumbleQObject"8? A>E@0=5=89 Save TypeQObject  07<5@SizeQObject58725AB=K9 ROM Unknown ROMQObject$09; ZipZip FileQObject B<5=0Cancel RomCollection¸5 C40;>AL ?>4:;NG8BLAO : 1075 40==KE SQLite. 5:>B>@K5 DC=:F88 ?@>3@0<<K <>3CB =5 @01>B0BL.@Could not connect to Sqlite database. Application may misbehave. RomCollection0070 40==KE =5 703@C65=0Database Not Loaded RomCollection,03@C7:0 D09;>2 ROM...Loading ROMs... RomCollection.$09;K ROM =5 =0945=K 2 No ROMs found in  RomCollection*$09;K ROM =5 =0945=K.No ROMs found. RomCollection=8<0=85Warning RomCollection......SettingsDialog($09; EEPROM 16 :18B:16 kbit EEPROM file:SettingsDialog$$09; 16kbit EEPROM16kbit EEPROM FileSettingsDialog$$09; EEPROM 4 :18B4 kbit EEPROM file:SettingsDialog"$09; 4kbit EEPROM4kbit EEPROM FileSettingsDialog"$09; 64DD IPL ROM64DD IPL ROM FileSettingsDialog$09; 64DD IPL:64DD IPL file:SettingsDialog:A?>;=O5<K9 D09; <ParentName> ExecutableSettingsDialogŠ<b>@8<5G0=85:</b> /7K: 87<5=8BAO B>;L:> ?>A;5 ?5@570?CA:0 ?@>3@0<<K.LNote: Language changes will not take place until application restart.SettingsDialog:A5AAC0@: Accessory:SettingsDialog>1028BL...Add...SettingsDialog2>?>;=8B5;L=K5 =0AB@>9:8:Additional Parameters:SettingsDialog2K@02=820BL 02B><0B8G5A:8Adjust AutomaticallySettingsDialog$>ABC?=K5 AB>;1FK:Available Columns:SettingsDialog&>ABC?=K5 M;5<5=BK:Available Items:SettingsDialog&$>=>2>5 87>1@065=85Background ImageSettingsDialog$>=: Background:SettingsDialog '5@=K9BlackSettingsDialog !8=89BlueSettingsDialog>@8G=52K9BrownSettingsDialog17>@... Browse...SettingsDialog$09;K CEN64 CEN64 FilesSettingsDialog.A?>;=O5<K9 D09; CEN64:CEN64 executable: SettingsDialog’CEN64-Qt 1C45B 8A:0BL 2A5 D09;K Z64, V64, N64, NDD 8 ZIP 2 MB8E :0B0;>30ERCEN64-Qt will search for all .z64, .n64, .ndd, and .zip files in these directoriesSettingsDialog B<5=0CancelSettingsDialog$09; :0B0;>30 Catalog FileSettingsDialog!B>;1FK:Columns:SettingsDialog>=B@>;;5@ #1 Controller #1SettingsDialog>=B@>;;5@ #2 Controller #2SettingsDialog>=B@>;;5@ #3 Controller #3SettingsDialog>=B@>;;5@ #4 Controller #4SettingsDialogController PakController PakSettingsDialog&$09; Controller PakController Pak FileSettingsDialog($09; Controller Pak:Controller Pak File:SettingsDialog>=B@>;;5@K ControllersSettingsDialog "5:CI85 AB>;1FK:Current Columns:SettingsDialog""5:CI85 M;5<5=BK:Current Items:SettingsDialog*>;L7>20B5;LA:89 D>=:Custom Background:SettingsDialog>;C1>9CyanSettingsDialog "5<=K9DarkSettingsDialog"5<=>-A5@K9 Dark GraySettingsDialog> C1K20=8N DescendingSettingsDialog<B>1@060BL 87>1@065=85 >1;>6:8Display Cover ImageSettingsDialog\03@C78BL 8=D>@<0F8N >1 83@5 (thegamesdb.net):+Download Game Information (thegamesdb.net):SettingsDialog-<C;OF8O EmulationSettingsDialog:;NG5=>:Enabled:SettingsDialogG5=L 1>;LH>9 Extra LargeSettingsDialogG5=L <0;5=L:89 Extra SmallSettingsDialogF5@2K9 M;5<5=B 2 :0G5AB25 703>;>2:0First Item as HeaderSettingsDialog$09; FlashRAM FlashRAM FileSettingsDialog$09; FlashRAM:FlashRAM file:SettingsDialog5;5=K9GreenSettingsDialog !5B:0GridSettingsDialog& 07<5@ 87>1@065=8O: Image Size:SettingsDialog7>1@065=85:Image:SettingsDialog&25B <5B:8: Label Color:SettingsDialog"5:AB <5B:8: Label Text:SettingsDialog /7K:: Language:SettingsDialog>;LH>9LargeSettingsDialog!25B;K9LightSettingsDialog!25B;>-A5@K9 Light GraySettingsDialog !?8A>:ListSettingsDialog!@54=89MediumSettingsDialogB:;NG8BL 72C:: No audio:SettingsDialog B:;NG8BL 2845>: No video:SettingsDialog5BNoneSettingsDialog1KG=K9NormalSettingsDialogOKOKSettingsDialog@0=652K9OrangeSettingsDialog @C3>5OtherSettingsDialog K2>4 2 :>=A>;L:Output to Console:SettingsDialog $09; PIF IPL ROMPIF IPL ROM FileSettingsDialog$09; PIF IPL: PIF IPL file:SettingsDialogCB8PathsSettingsDialog >7>2K9PinkSettingsDialogC@?C@=K9PurpleSettingsDialog&0B0;>38 D09;>2 ROMROM DirectoriesSettingsDialog$0B0;>3 D09;>2 ROM ROM DirectorySettingsDialog7>1@065=85 ROM ROM ImageSettingsDialog5B:0 ROM ROM LabelSettingsDialog&0B0;>3 D09;>2 ROM: ROM catalog:SettingsDialog@0A=K9RedSettingsDialog#40;8BLRemoveSettingsDialog."@51C5BAO D09; :0B0;>30Requires catalog fileSettingsDialogRumble Pak Rumble PakSettingsDialogT=>3>?>B>G=K9 70?CA: (A=865==0O B>G=>ABL):#Run multithreaded (quasi-accurate):SettingsDialog$09; SRAM SRAM FileSettingsDialog$09; SRAM: SRAM file:SettingsDialog$0B0;>3 A>E@0=5=89Save DirectorySettingsDialog!>E@0=8BL D09;K Save FilesSettingsDialog&0B0;>3 A>E@0=5=89:Save directory:SettingsDialog0AB@>9:8SettingsSettingsDialog(&25B 0:B82=>9 B5=8: Shadow Active Color:SettingsDialog*&25B =50:B82=>9 B5=8:Shadow Inactive Color:SettingsDialog>:070BL <5B:C: Show Label:SettingsDialog0;5=L:89SmallSettingsDialog!>@B8@>2:0:Sorting:SettingsDialogX#:070BL 8=48284C0;L=K5 D09;K 4;O A>E@0=5=89:"Specify individual files for savesSettingsDialog4 0ABO3820BL ?5@2K9 AB>;15FStretch First ColumnSettingsDialog !C?5@SuperSettingsDialog"01;8F0TableSettingsDialog 07<5@ B5:AB0: Text Size:SettingsDialog "5<0:Theme:SettingsDialogTransfer Pak Transfer PakSettingsDialog*$09; ROM Transfer PakTransfer Pak ROM FileSettingsDialog,$09; ROM Transfer Pak:Transfer Pak ROM:SettingsDialog8$09; A>E@0=5=8O Transfer PakTransfer Pak Save FileSettingsDialog:$09; A>E@0=5=8O Transfer Pak:Transfer Pak Save:SettingsDialogtA?>;L7C9B5 4;O ?5@540G8 4>?>;=8B5;L=KE ?0@0<5B@>2 2 CEN64*Use to pass additional parameters to CEN64SettingsDialog 5;K9WhiteSettingsDialog 5;BK9YellowSettingsDialog5B :0@B@8460No Cart TableView”<b>@8<5G0=85:</b> A;8 2K C40;O5B5 8=D>@<0F8N >1 MB>9 83@5, ?>A:>;L:C 55 RNOTE: If you are deleting this game's information because the game doesn't TheGamesDBScraper@@>4>;68BL ?>;CG5=85 8=D>@<0F88?Continue scraping information?TheGamesDBScraper4#40;8BL 8=D>@<0F8N >1 83@5Delete Game InformationTheGamesDBScraper<#40;8BL B5:CICN 8=D>@<0F8N 4;O"Delete the current information forTheGamesDBScraperA5 25@=>?Does this look correct?TheGamesDBScraperH81:0 A5B8 Network ErrorTheGamesDBScraperK?CI5=> =0: Released on: TheGamesDBScraper`@5<O 70?@>A0 8AB5:;>. @>25@LB5 =0AB@>9:8 A5B8./Request timed out. Check your network settings.TheGamesDBScraper`> 2@5<O 703@C7:8 A TheGamesDB ?@>87>H;0 >H81:0:>The following error from TheGamesDB occured while downloading:TheGamesDBScraper~<AppName> =5 1C45B >1=>2;OBL 8=D>@<0F8N 4;O MB>9 83@K, ?>:0 2K PThis will cause to not update the information for this game until you TheGamesDBScraperd8 4>1028BL 83@C. -B> ?><>65B 4@C38< ?>;L7>20B5;O<.4and add the game so other users can benefit as well.TheGamesDBScraper0;CGH5 A>740BL 0::0C=B =0better to create an account onTheGamesDBScraper~=5B =0 TheGamesDB 8 <AppName> 2K405B 8=D>@<0F8N > 4@C3>9 83@5, Rexist on TheGamesDB and pulled the information for different game, it's TheGamesDBScraper\=5 2K?>;=8B5 "03@C7:0/1=>28BL 8=D>@<0F8N..."'force it with "Download/Update Info..."TheGamesDBScraper&>=25@B5@ <AppName> Converter V64ConverterA5 D09;K All Files V64Converter4>=25@B8@>20=85 7025@H5=>!Conversion complete! V64Converter(B:@KBL D09; v64/n64Open v64/n64 File V64Converter$!>E@0=8BL D09; Z64 Save z64 File V64Converter"$09;K ROM V64/n64 V64/n64 ROMs V64Converter$09;K ROM Z64Z64 ROMs V64Converter$C65 2 D>@<0B5 Z64!already in z64 format! V64ConverterT=5 O2;O5BAO :>@@5:B=K< D09;>< V64 8;8 N64!!is not a valid .v64 or .n64 file! V64Converterˆ ý) ÿý, cen64-qt-20241110-alpha/resources/locale/cen64-qt_ru.ts000066400000000000000000001600751471427717600223130ustar00rootroot00000000000000 AboutDialog About <AppName> О программе <AppName> Version ВерÑ�иÑ� A customizable launcher for <ParentName> using Qt. Ð�аÑ�траиваемый интерфейÑ� длÑ� <ParentName>, напиÑ�анный на Qt. <ParentName> website Сайт <ParentName> GitHub repository Репозиторий GitHub DDView No Disk Ð�ет диÑ�ка DownloadDialog Search Game Information Ð�айти информацию об игре File Файл Name of Game: Ð�азвание игры: or Game ID: или идентификатор игры: From thegamesdb.net URL of game URL игры на thegamesdb.net Search Ð�айти Cancel Отмена EmulatorHandler Warning Внимание <ParentName> quit unexpectedly. Check the log for more information. <ParentName> неожиданно прекратил работу. ПроÑ�мотрите журнал длÑ� получениÑ� более подробной информации. View Log... ПроÑ�мотреть журнал... Emulation stopped ЭмулÑ�циÑ� оÑ�тановлена <ParentName> executable not found. ИÑ�полнÑ�емый файл <ParentName> не найден. PIF IPL file not found. Файл PIF IPL не найден. 64DD IPL file not found. Файл 64DD IPL не найден. 64DD ROM file not found. Файл 64DD ROM не найден. No ROM selected. Файл ROM не выбран. 64DD not enabled. 64DD не включено. Not a valid Z64 File. Ð�екорректный файл Z64. Not a valid 64DD File. Ð�екорректный файл 64DD. No ROM selected or 64DD not enabled. Файл ROM не выбран или 64DD не включено. Emulation started ЭмулÑ�циÑ� запущена ROM file not found. Файл ROM не найден. GridView No Cart Ð�ет картриджа ListView No Cart Ð�ет картриджа LogDialog <ParentName> Log Журнал <ParentName> Close Закрыть MainWindow &File &Файл &Open ROM... &Открыть ROM... &Convert V64/n64... &Конвертировать V64/n64... &Refresh List О&бновить Ñ�пиÑ�ок &Download/Update Info... &Загрузить/обновить информацию... D&elete Current Info... &Удалить текущую информацию... &Quit &Выйти &Emulation &ЭмулÑ�циÑ� &Start &ЗапуÑ�тить St&op &ОÑ�тановить Enable 64DD Включить 64DD View Log... ПроÑ�мотреть журнал... &Settings &Ð�аÑ�тройки &Configure... &Параметры... There is no log. Either <ParentName> has not yet run or there was no output from the last run. Журнал отÑ�утÑ�твует. <ParentName> не был запущен или не выводил информацию Ñ� момента поÑ�леднего запуÑ�ка. &Layout &РаÑ�положение &View &Вид None Ð�ет Table View Таблица Grid View Сетка List View СпиÑ�ок &Full-screen Ð’&о веÑ�ÑŒ Ñ�кран &Status Bar &Строка Ñ�оÑ�тоÑ�ниÑ� &Help &Помощь &About &О программе... Add a directory containing ROMs under Добавьте каталог, Ñ�одержащий файлы ROM, Ñ� помощью Settings->Configure->Paths to use this view. Ð�аÑ�тройки->Параметры->Пути, чтобы их показать. No Output Ð�ет вывода результатов All Files Ð’Ñ�е файлы Open ROM File Открыть файл ROM No ROMs Ð�ет файлов ROM No ROMs found in ZIP file. Ð�е найдены файлы ROM в файле ZIP. Select ROM Выбрать ROM Launch ЗапуÑ�тить Cancel Отмена QObject GoodName GoodName Filename ИмÑ� файла Filename (extension) ИмÑ� файла (раÑ�ширение) Zip File Файл Zip Internal Name Внутреннее имÑ� Size Размер MD5 MD5 CRC1 CRC1 CRC2 CRC2 Players Игроки Rumble Rumble Save Type Тип Ñ�охранений Game Title Ð�азвание игры Release Date Дата выпуÑ�ка Overview Обзор ESRB ESRB Genre Жанр Publisher Издатель Developer Разработчик Rating Рейтинг Game Cover Обложка игры Unknown ROM Ð�еизвеÑ�тный ROM Requires catalog file ТребуетÑ�Ñ� файл каталога Not found Ð�е найдено %1 MB %1 МБ Game Information Download Загрузка информации об игре No results found. Результатов нет. No more results found. Больше результатов нет. Download Complete! Загрузка завершена! RomCollection Warning Внимание No ROMs found in Файлы ROM не найдены в No ROMs found. Файлы ROM не найдены. Database Not Loaded База данных не загружена Could not connect to Sqlite database. Application may misbehave. Ð�е удалоÑ�ÑŒ подключитьÑ�Ñ� к базе данных SQLite. Ð�екоторые функции программы могут не работать. Loading ROMs... Загрузка файлов ROM... Cancel Отмена SettingsDialog Settings Ð�аÑ�тройки Paths Пути Browse... Обзор... ROM Directories Каталоги файлов ROM Add... Добавить... Remove Удалить Emulation ЭмулÑ�циÑ� Table Таблица Image: Изображение: ... ... Current Columns: Текущие Ñ�толбцы: Stretch First Column РаÑ�Ñ‚Ñ�гивать первый Ñ�толбец Available Columns: ДоÑ�тупные Ñ�толбцы: Save Files Сохранить файлы 16 kbit EEPROM file: Файл EEPROM 16 кбит: FlashRAM file: Файл FlashRAM: Save directory: Каталог Ñ�охранений: 4 kbit EEPROM file: Файл EEPROM 4 кбит SRAM file: Файл SRAM: Specify individual files for saves Указать индивидуальные файлы длÑ� Ñ�охранений: CEN64 Files Файлы CEN64 PIF IPL file: Файл PIF IPL: ROM catalog: Каталог файлов ROM: CEN64 executable: ИÑ�полнÑ�емый файл CEN64: 64DD IPL file: Файл 64DD IPL: CEN64-Qt will search for all .z64, .n64, .ndd, and .zip files in these directories CEN64-Qt будет иÑ�кать вÑ�е файлы Z64, V64, N64, NDD и ZIP в Ñ�тих каталогах Run multithreaded (quasi-accurate): Многопоточный запуÑ�к (Ñ�ниженнаÑ� точноÑ�ть): No audio: Отключить звук: No video: Отключить видео: Controllers Контроллеры Controller #1 Контроллер #1 Transfer Pak ROM: Файл ROM Transfer Pak: Transfer Pak Save: Файл Ñ�охранениÑ� Transfer Pak: Controller Pak File: Файл Controller Pak: Accessory: Ð�кÑ�еÑ�Ñ�уар: Enabled: Включено: Controller #2 Контроллер #2 Controller #3 Контроллер #3 Controller #4 Контроллер #4 Grid Сетка ROM Label Метка ROM Show Label: Показать метку: Label Text: ТекÑ�Ñ‚ метки: Label Color: Цвет метки: Other Другое Custom Background: ПользовательÑ�кий фон: Sorting: Сортировка: Descending По убыванию Background: Фон: ROM Image Изображение ROM Shadow Inactive Color: Цвет неактивной тени: Shadow Active Color: Цвет активной тени: Columns: Столбцы: Image Size: Размер изображениÑ�: Adjust Automatically Выравнивать автоматичеÑ�ки List СпиÑ�ок First Item as Header Первый Ñ�лемент в качеÑ�тве заголовка Requires catalog file ТребуетÑ�Ñ� файл каталога Current Items: Текущие Ñ�лементы: Available Items: ДоÑ�тупные Ñ�лементы: Display Cover Image Отображать изображение обложки Text Size: Размер текÑ�та: Theme: Тема: Additional Parameters: Дополнительные наÑ�тройки: Download Game Information (thegamesdb.net): Загрузить информацию об игре (thegamesdb.net): Output to Console: Вывод в конÑ�оль: Use to pass additional parameters to CEN64 ИÑ�пользуйте длÑ� передачи дополнительных параметров в CEN64 Language: Язык: <b>Note:</b> Language changes will not take place until application restart. <b>Примечание:</b> Язык изменитÑ�Ñ� только поÑ�ле перезапуÑ�ка программы. None Ð�ет Rumble Pak Rumble Pak Controller Pak Controller Pak Transfer Pak Transfer Pak Extra Small Очень маленький Small Маленький Medium Средний Large Большой Extra Large Очень большой Super Супер Black Черный White Белый Light Gray Светло-Ñ�ерый Dark Gray Темно-Ñ�ерый Green Зеленый Cyan Голубой Blue Синий Purple Пурпурный Red КраÑ�ный Pink Розовый Orange Оранжевый Yellow Желтый Brown Коричневый Light Светлый Normal Обычный Dark Темный OK OK Cancel Отмена ROM Directory Каталог файлов ROM 64DD IPL ROM File Файл 64DD IPL ROM Catalog File Файл каталога <ParentName> Executable ИÑ�полнÑ�емый файл <ParentName> 4kbit EEPROM File Файл 4kbit EEPROM 16kbit EEPROM File Файл 16kbit EEPROM FlashRAM File Файл FlashRAM Controller Pak File Файл Controller Pak PIF IPL ROM File Файл PIF IPL ROM Save Directory Каталог Ñ�охранений SRAM File Файл SRAM Transfer Pak ROM File Файл ROM Transfer Pak Transfer Pak Save File Файл Ñ�охранениÑ� Transfer Pak Background Image Фоновое изображение TableView No Cart Ð�ет картриджа TheGamesDBScraper <b>NOTE:</b> If you are deleting this game's information because the game doesn't <b>Примечание:</b> ЕÑ�ли вы удалÑ�ете информацию об Ñ�той игре, поÑ�кольку ее better to create an account on лучше Ñ�оздать аккаунт на and add the game so other users can benefit as well. и добавить игру. Это поможет другим пользователÑ�м. exist on TheGamesDB and <AppName> pulled the information for different game, it's нет на TheGamesDB и <AppName> выдает информацию о другой игре, This will cause <AppName> to not update the information for this game until you <AppName> не будет обновлÑ�ть информацию длÑ� Ñ�той игры, пока вы force it with "Download/Update Info..." не выполните "Загрузка/Обновить информацию..." Delete the current information for Удалить текущую информацию длÑ� Delete Game Information Удалить информацию об игре The following error from TheGamesDB occured while downloading: Во времÑ� загрузки Ñ� TheGamesDB произошла ошибка: Released on: Выпущено на: Does this look correct? Ð’Ñ�е верно? Request timed out. Check your network settings. ВремÑ� запроÑ�а иÑ�текло. Проверьте наÑ�тройки Ñ�ети. Continue scraping information? Продолжить получение информации? Network Error Ошибка Ñ�ети V64Converter Open v64/n64 File Открыть файл v64/n64 V64/n64 ROMs Файлы ROM V64/n64 All Files Ð’Ñ�е файлы Save z64 File Сохранить файл Z64 Z64 ROMs Файлы ROM Z64 already in z64 format! уже в формате Z64! <AppName> Converter Конвертер <AppName> Conversion complete! Конвертирование завершено! is not a valid .v64 or .n64 file! не Ñ�влÑ�етÑ�Ñ� корректным файлом V64 или N64! cen64-qt-20241110-alpha/resources/other/000077500000000000000000000000001471427717600175455ustar00rootroot00000000000000cen64-qt-20241110-alpha/resources/other/LICENSE000066400000000000000000000027171471427717600205610ustar00rootroot00000000000000Copyright (c) 2013, Dan Hasting All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the organization nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.cen64-qt-20241110-alpha/resources/other/VERSION000077700000000000000000000000001471427717600223062../../VERSIONustar00rootroot00000000000000cen64-qt-20241110-alpha/src/000077500000000000000000000000001471427717600152015ustar00rootroot00000000000000cen64-qt-20241110-alpha/src/common.cpp000066400000000000000000000343071471427717600172040ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "common.h" #include "global.h" #include #include #include #include #include #include #include #include #include #ifdef Q_OS_WIN #include #else #include #endif QByteArray byteswap(QByteArray romData) { QByteArray flipped; if (romData.left(4).toHex() == "37804012") { for (int i = 0; i < romData.length(); i += 2) { flipped.append(romData[i + 1]); flipped.append(romData[i]); } return flipped; } else { return romData; } } QString getCacheLocation() { return getDataLocation() + "/cache_v2/"; } QString getDataLocation() { QString dataDir; #ifdef Q_OS_WIN dataDir = QCoreApplication::applicationDirPath(); #else dataDir = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) .replace(ParentName+"/"+AppName,AppNameLower); #endif QDir data(dataDir); if (!data.exists()) data.mkpath(dataDir); return dataDir; } QColor getColor(QString color, int transparency) { if (transparency <= 255) { if (color == "Black") return QColor(0, 0, 0, transparency); else if (color == "White") return QColor(255, 255, 255, transparency); else if (color == "Light Gray") return QColor(200, 200, 200, transparency); else if (color == "Dark Gray") return QColor(50, 50, 59, transparency); else if (color == "Green") return QColor(0, 255, 0, transparency); else if (color == "Cyan") return QColor(30, 175, 255, transparency); else if (color == "Blue") return QColor(0, 0, 255, transparency); else if (color == "Purple") return QColor(128, 0, 128, transparency); else if (color == "Red") return QColor(255, 0, 0, transparency); else if (color == "Pink") return QColor(246, 96, 171, transparency); else if (color == "Orange") return QColor(255, 165, 0, transparency); else if (color == "Yellow") return QColor(255, 255, 0, transparency); else if (color == "Brown") return QColor(127, 70, 44, transparency); } return QColor(0, 0, 0, 255); } QString getDefaultLanguage() { QString systemLanguage = QLocale::system().name().left(2); //Add other languages here as translations are done if (systemLanguage == "fr") return "FR"; else if (systemLanguage == "ru") return "RU"; else return "EN"; } int getDefaultWidth(QString id, int imageWidth) { if (id == "Overview") return 400; else if (id == "GoodName" || id.left(8) == "Filename" || id == "Game Title") return 300; else if (id == "MD5") return 250; else if (id == "Internal Name" || id == "Publisher" || id == "Developer") return 200; else if (id == "ESRB" || id == "Genre") return 150; else if (id == "Save Type" || id == "Release Date") return 100; else if (id == "CRC1" || id == "CRC2") return 90; else if (id == "Size" || id == "Rumble" || id == "Players" || id == "Rating") return 75; else if (id == "Game Cover") return imageWidth; else return 100; } int getGridSize(QString which) { QString size = SETTINGS.value("Grid/imagesize","Medium").toString(); if (which == "height") { if (SETTINGS.value("Grid/label", "true").toString() == "true") { if (size == "Extra Small") return 65; if (size == "Small") return 90; if (size == "Medium") return 145; if (size == "Large") return 190; if (size == "Extra Large") return 250; if (size == "Super") return 360; } else { if (size == "Extra Small") return 47; if (size == "Small") return 71; if (size == "Medium") return 122; if (size == "Large") return 172; if (size == "Extra Large") return 224; if (size == "Super") return 330; } } else if (which == "width") { if (size == "Extra Small") return 60; if (size == "Small") return 90; if (size == "Medium") return 160; if (size == "Large") return 225; if (size == "Extra Large") return 300; if (size == "Super") return 440; } else if (which == "font") { if (size == "Extra Small") return 5; if (size == "Small") return 7; if (size == "Medium") return 10; if (size == "Large") return 12; if (size == "Extra Large") return 13; if (size == "Super") return 15; } return 0; } QSize getImageSize(QString view) { QString size = SETTINGS.value(view+"/imagesize","Medium").toString(); if (view == "Table") { if (size == "Extra Small") return QSize(33, 24); if (size == "Small") return QSize(48, 35); if (size == "Medium") return QSize(69, 50); if (size == "Large") return QSize(103, 75); if (size == "Extra Large") return QSize(138, 100); if (size == "Super") return QSize(210, 150); } else if (view == "Grid" || view == "List") { if (size == "Extra Small") return QSize(48, 35); if (size == "Small") return QSize(69, 50); if (size == "Medium") return QSize(138, 100); if (size == "Large") return QSize(203, 150); if (size == "Extra Large") return QSize(276, 200); if (size == "Super") return QSize(425, 300); } return QSize(); } QString getRomInfo(QString identifier, const Rom *rom, bool removeWarn, bool sort) { QString text = ""; if (identifier == "GoodName") text = rom->goodName; else if (identifier == "Filename") text = rom->baseName; else if (identifier == "Filename (extension)") text = rom->fileName; else if (identifier == "Zip File") text = rom->zipFile; else if (identifier == "Internal Name") text = rom->internalName; else if (identifier == "Size") text = rom->size; else if (identifier == "MD5") text = rom->romMD5.toLower(); else if (identifier == "CRC1") text = rom->CRC1.toLower(); else if (identifier == "CRC2") text = rom->CRC2.toLower(); else if (identifier == "Players") text = rom->players; else if (identifier == "Rumble") text = rom->rumble; else if (identifier == "Save Type") text = rom->saveType; else if (identifier == "Game Title") text = rom->gameTitle; else if (identifier == "Release Date") text = rom->releaseDate; else if (identifier == "Overview") text = rom->overview; else if (identifier == "ESRB") text = rom->esrb; else if (identifier == "Genre") text = rom->genre; else if (identifier == "Publisher") text = rom->publisher; else if (identifier == "Developer") text = rom->developer; else if (identifier == "Rating") text = rom->rating; if (!removeWarn) return text; else if (text == getTranslation("Unknown ROM") || text == getTranslation("Requires catalog file") || text == getTranslation("Not found")) { if (sort) return "ZZZ"; //Sort warnings at the end else return ""; } else return text; } QGraphicsDropShadowEffect *getShadow(bool active) { QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect; if (active) { shadow->setBlurRadius(25.0); shadow->setColor(getColor(SETTINGS.value("Grid/activecolor","Cyan").toString(), 255)); shadow->setOffset(0); } else { shadow->setBlurRadius(10.0); shadow->setColor(getColor(SETTINGS.value("Grid/inactivecolor","Black").toString(), 200)); shadow->setOffset(0); } return shadow; } int getTableDataIndexFromName(QString infoName) { if (infoName == "fileName") return 0; else if (infoName == "dirName") return 1; else if (infoName == "search") return 2; else if (infoName == "romMD5") return 3; else if (infoName == "zipFile") return 4; return 0; } int getTextSize() { QString size = SETTINGS.value("List/textsize","Medium").toString(); if (size == "Extra Small") return 7; if (size == "Small") return 9; if (size == "Medium") return 10; if (size == "Large") return 12; if (size == "Extra Large") return 14; return 10; } QString getTranslation(QString text) { if (text == "GoodName") return QObject::tr("GoodName"); else if (text == "Filename") return QObject::tr("Filename"); else if (text == "Filename (extension)") return QObject::tr("Filename (extension)"); else if (text == "Zip File") return QObject::tr("Zip File"); else if (text == "Internal Name") return QObject::tr("Internal Name"); else if (text == "Size") return QObject::tr("Size"); else if (text == "MD5") return QObject::tr("MD5"); else if (text == "CRC1") return QObject::tr("CRC1"); else if (text == "CRC2") return QObject::tr("CRC2"); else if (text == "Players") return QObject::tr("Players"); else if (text == "Rumble") return QObject::tr("Rumble"); else if (text == "Save Type") return QObject::tr("Save Type"); else if (text == "Game Title") return QObject::tr("Game Title"); else if (text == "Release Date") return QObject::tr("Release Date"); else if (text == "Overview") return QObject::tr("Overview"); else if (text == "ESRB") return QObject::tr("ESRB"); else if (text == "Genre") return QObject::tr("Genre"); else if (text == "Publisher") return QObject::tr("Publisher"); else if (text == "Developer") return QObject::tr("Developer"); else if (text == "Rating") return QObject::tr("Rating"); else if (text == "Game Cover") return QObject::tr("Game Cover"); else if (text == "Unknown ROM") return QObject::tr("Unknown ROM"); else if (text == "Requires catalog file") return QObject::tr("Requires catalog file"); else if (text == "Not found") return QObject::tr("Not found"); return text; } QString getVersion() { QFile versionFile(":/other/VERSION"); versionFile.open(QIODevice::ReadOnly); QString version = versionFile.readAll(); versionFile.close(); return version; } QStringList getZippedFiles(QString completeFileName) { QuaZip zipFile(completeFileName); zipFile.open(QuaZip::mdUnzip); QStringList files = zipFile.getFileNameList(); zipFile.close(); return files; } QByteArray *getZippedRom(QString romFileName, QString zipFile) { QuaZipFile zippedFile(zipFile, romFileName); zippedFile.open(QIODevice::ReadOnly); QByteArray *romData = new QByteArray(); romData->append(zippedFile.readAll()); zippedFile.close(); return romData; } bool romSorter(const Rom &firstRom, const Rom &lastRom) { QString sort, direction; QString layout = SETTINGS.value("View/layout", "None").toString(); if (layout == "grid") { sort = SETTINGS.value("Grid/sort", "Filename").toString(); direction = SETTINGS.value("Grid/sortdirection", "ascending").toString(); } else if (layout == "list") { sort = SETTINGS.value("List/sort", "Filename").toString(); direction = SETTINGS.value("List/sortdirection", "ascending").toString(); } else //just return sort by filename return firstRom.fileName < lastRom.fileName; QString sortFirst = "", sortLast = ""; if (sort == "Size") { int firstSize = firstRom.sortSize; int lastSize = lastRom.sortSize; if (direction == "descending") return firstSize > lastSize; else return firstSize < lastSize; } else if (sort == "Release Date") { sortFirst = firstRom.sortDate; sortLast = lastRom.sortDate; } else { sortFirst = getRomInfo(sort, &firstRom, true, true); sortLast = getRomInfo(sort, &lastRom, true, true); } if (sortFirst == sortLast) { //Equal so sort on filename sortFirst = firstRom.fileName; sortLast = lastRom.fileName; } if (direction == "descending") return sortFirst > sortLast; else return sortFirst < sortLast; } cen64-qt-20241110-alpha/src/common.h000066400000000000000000000057641471427717600166560ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef COMMON_H #define COMMON_H #include #include #include class QColor; class QSize; struct Rom { QString fileName; QString directory; QString romMD5; QString internalName; QString zipFile; QString baseName; QString size; int sortSize; QString goodName; QString CRC1; QString CRC2; QString players; QString saveType; QString rumble; QString gameTitle; QString releaseDate; QString sortDate; QString overview; QString esrb; QString genre; QString publisher; QString developer; QString rating; QPixmap image; int count; bool imageExists; }; bool romSorter(const Rom &firstRom, const Rom &lastRom); int getDefaultWidth(QString id, int imageWidth); int getGridSize(QString which); int getTableDataIndexFromName(QString infoName); int getTextSize(); QByteArray byteswap(QByteArray romData); QStringList getZippedFiles(QString completeFileName); QByteArray *getZippedRom(QString romFileName, QString zipFile); QColor getColor(QString color, int transparency = 255); QString getDefaultLanguage(); QString getTranslation(QString text); QGraphicsDropShadowEffect *getShadow(bool active); QSize getImageSize(QString view); QString getCacheLocation(); QString getDataLocation(); QString getRomInfo(QString identifier, const Rom *rom, bool removeWarn = false, bool sort = false); QString getVersion(); #endif // COMMON_H cen64-qt-20241110-alpha/src/dialogs/000077500000000000000000000000001471427717600166235ustar00rootroot00000000000000cen64-qt-20241110-alpha/src/dialogs/aboutdialog.cpp000066400000000000000000000071511471427717600216250ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "aboutdialog.h" #include "../global.h" #include "../common.h" #include #include #include #include #include AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent) { setWindowTitle(tr("About ").replace("",AppName)); setMinimumSize(600, 300); aboutLayout = new QGridLayout(this); icon = new QLabel(this); icon->setPixmap(QPixmap(":/images/"+ParentNameLower+".png")); QFile licenseFile(":/other/LICENSE"); licenseFile.open(QIODevice::ReadOnly); license = new QPlainTextEdit(licenseFile.readAll(), this); license->setReadOnly(true); licenseFile.close(); QString description = ""+AppName+"
" + tr("Version") + " " + getVersion() + "

" + tr("A customizable launcher for using Qt.") .replace("",ParentName); QString website = "" + tr(" website").replace("",ParentName) + ""; QString github = "" + tr("GitHub repository") + ""; descriptionLabel = new QLabel(description, this); copyrightLabel = new QLabel(Copyright, this); websiteLink = new QLabel(website, this); githubLink = new QLabel(github, this); websiteLink->setOpenExternalLinks(true); githubLink->setOpenExternalLinks(true); buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok, Qt::Horizontal, this); aboutLayout->addWidget(icon, 0, 0, 4, 1); aboutLayout->addWidget(descriptionLabel, 0, 1); aboutLayout->addWidget(license, 1, 1); aboutLayout->addWidget(copyrightLabel, 2, 1); aboutLayout->addWidget(websiteLink, 3, 1); aboutLayout->addWidget(githubLink, 4, 1); aboutLayout->addWidget(buttonBox, 5, 1); aboutLayout->setColumnStretch(1, 1); aboutLayout->setRowStretch(1, 1); aboutLayout->setColumnMinimumWidth(0, 150); connect(buttonBox, SIGNAL(accepted()), this, SLOT(close())); setLayout(aboutLayout); } cen64-qt-20241110-alpha/src/dialogs/aboutdialog.h000066400000000000000000000040531471427717600212700ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef ABOUTDIALOG_H #define ABOUTDIALOG_H #include class QDialogButtonBox; class QGridLayout; class QLabel; class QPlainTextEdit; class AboutDialog : public QDialog { Q_OBJECT public: explicit AboutDialog(QWidget *parent = 0); private: QDialogButtonBox *buttonBox; QGridLayout *aboutLayout; QLabel *copyrightLabel; QLabel *descriptionLabel; QLabel *githubLink; QLabel *websiteLink; QLabel *icon; QPlainTextEdit *license; }; #endif // ABOUTDIALOG_H cen64-qt-20241110-alpha/src/dialogs/downloaddialog.cpp000066400000000000000000000071211471427717600223170ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "downloaddialog.h" #include "../common.h" #include "../roms/thegamesdbscraper.h" #include #include #include #include #include DownloadDialog::DownloadDialog(QString fileText, QString defaultText, QString romMD5, QWidget *parent) : QDialog(parent) { this->romMD5 = romMD5; this->parent = parent; setWindowTitle(tr("Search Game Information")); downloadLayout = new QGridLayout(this); fileLabel = new QLabel("" + tr("File") + ": " + fileText, this); gameNameLabel = new QLabel(tr("Name of Game:"), this); gameIDLabel = new QLabel(tr("or Game ID:"), this); defaultText.remove(QRegularExpression("\\W*(\\(|\\[).+(\\)|\\])\\W*")); gameNameField = new QLineEdit(defaultText, this); gameIDField = new QLineEdit(this); gameIDField->setToolTip(tr("From thegamesdb.net URL of game")); downloadButtonBox = new QDialogButtonBox(Qt::Horizontal, this); downloadButtonBox->addButton(tr("Search"), QDialogButtonBox::AcceptRole); downloadButtonBox->addButton(tr("Cancel"), QDialogButtonBox::RejectRole); downloadLayout->addWidget(fileLabel, 0, 0, 1, 2); downloadLayout->addWidget(gameNameLabel, 1, 0); downloadLayout->addWidget(gameIDLabel, 2, 0); downloadLayout->addWidget(gameNameField, 1, 1); downloadLayout->addWidget(gameIDField, 2, 1); downloadLayout->addWidget(downloadButtonBox, 4, 0, 1, 3); downloadLayout->setRowStretch(3,1); downloadLayout->setColumnStretch(1,1); downloadLayout->setColumnMinimumWidth(1, 300); downloadLayout->setRowMinimumHeight(0, 20); downloadLayout->setRowMinimumHeight(3, 20); connect(downloadButtonBox, SIGNAL(accepted()), this, SLOT(runDownloader())); connect(downloadButtonBox, SIGNAL(rejected()), this, SLOT(close())); setLayout(downloadLayout); } void DownloadDialog::runDownloader() { close(); scraper = new TheGamesDBScraper(parent, true); scraper->downloadGameInfo(romMD5, gameNameField->text(), gameIDField->text()); } cen64-qt-20241110-alpha/src/dialogs/downloaddialog.h000066400000000000000000000043561471427717600217730ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef DOWNLOADDIALOG_H #define DOWNLOADDIALOG_H #include class QDialogButtonBox; class QGridLayout; class QLabel; class QLineEdit; class TheGamesDBScraper; class DownloadDialog : public QDialog { Q_OBJECT public: explicit DownloadDialog(QString fileText, QString defaultText, QString romMD5, QWidget *parent = 0); private: QDialogButtonBox *downloadButtonBox; QGridLayout *downloadLayout; QLabel *fileLabel; QLabel *gameNameLabel; QLabel *gameIDLabel; QLineEdit *gameNameField; QLineEdit *gameIDField; QString romMD5; QWidget *parent; TheGamesDBScraper *scraper; private slots: void runDownloader(); }; #endif // DOWNLOADDIALOG_H cen64-qt-20241110-alpha/src/dialogs/logdialog.cpp000066400000000000000000000047731471427717600213030ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "logdialog.h" #include "../global.h" #include #include #include #include LogDialog::LogDialog(QString lastOutput, QWidget *parent) : QDialog(parent) { setWindowTitle(tr(" Log").replace("",ParentName)); setMinimumSize(600, 400); logLayout = new QGridLayout(this); logLayout->setContentsMargins(5, 10, 5, 10); logArea = new QTextEdit(this); logArea->setWordWrapMode(QTextOption::NoWrap); QFont font = QFontDatabase::systemFont(QFontDatabase::FixedFont); logArea->setFont(font); logArea->setPlainText(lastOutput); logButtonBox = new QDialogButtonBox(Qt::Horizontal, this); logButtonBox->addButton(tr("Close"), QDialogButtonBox::AcceptRole); logLayout->addWidget(logArea, 0, 0); logLayout->addWidget(logButtonBox, 1, 0); connect(logButtonBox, SIGNAL(accepted()), this, SLOT(close())); setLayout(logLayout); } cen64-qt-20241110-alpha/src/dialogs/logdialog.h000066400000000000000000000036401471427717600207400ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef LOGDIALOG_H #define LOGDIALOG_H #include class QDialogButtonBox; class QGridLayout; class QTextEdit; class LogDialog : public QDialog { Q_OBJECT public: explicit LogDialog(QString lastOutput, QWidget *parent = 0); private: QDialogButtonBox *logButtonBox; QGridLayout *logLayout; QTextEdit *logArea; }; #endif // LOGDIALOG_H cen64-qt-20241110-alpha/src/dialogs/settingsdialog.cpp000066400000000000000000001135121471427717600223520ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "settingsdialog.h" #include "ui_settingsdialog.h" #include "../global.h" #include "../common.h" #include #include #include SettingsDialog::SettingsDialog(QWidget *parent, int activeTab) : QDialog(parent), ui(new Ui::SettingsDialog) { ui->setupUi(this); ui->tabWidget->setCurrentIndex(activeTab); //Populate Paths tab ui->emulatorPath->setText(SETTINGS.value("Paths/cen64", "").toString()); ui->pifPath->setText(SETTINGS.value("Paths/pifrom", "").toString()); ui->ddPath->setText(SETTINGS.value("Paths/ddiplrom", "").toString()); ui->catalogPath->setText(SETTINGS.value("Paths/catalog", "").toString()); QStringList romDirectories = SETTINGS.value("Paths/roms", "").toString().split("|"); romDirectories.removeAll(""); foreach (QString directory, romDirectories) ui->romList->addItem(directory); ui->savesPath->setText(SETTINGS.value("Saves/directory", "").toString()); ui->eeprom4kPath->setText(SETTINGS.value("Saves/eeprom4k", "").toString()); ui->eeprom16kPath->setText(SETTINGS.value("Saves/eeprom16k", "").toString()); ui->sramPath->setText(SETTINGS.value("Saves/sram", "").toString()); ui->flashPath->setText(SETTINGS.value("Saves/flash", "").toString()); //Widgets enabled when save checkbox is active saveEnable << ui->eeprom4kPathLabel << ui->eeprom4kPath << ui->eeprom4kButton << ui->eeprom16kPathLabel << ui->eeprom16kPath << ui->eeprom16kButton << ui->sramPathLabel << ui->sramPath << ui->sramButton << ui->flashPathLabel << ui->flashPath << ui->flashButton; //Widgets disabled when save checkbox is active saveDisable << ui->savesPathLabel << ui->savesPath << ui->savesButton; if (SETTINGS.value("Saves/individualsave", "").toString() == "true") { toggleSaves(true); ui->saveOption->setChecked(true); } else toggleSaves(false); connect(ui->emulatorButton, SIGNAL(clicked()), this, SLOT(browseEmulator())); connect(ui->pifButton, SIGNAL(clicked()), this, SLOT(browsePIF())); connect(ui->ddButton, SIGNAL(clicked()), this, SLOT(browse64DD())); connect(ui->catalogButton, SIGNAL(clicked()), this, SLOT(browseCatalog())); connect(ui->romAddButton, SIGNAL(clicked()), this, SLOT(addRomDirectory())); connect(ui->romRemoveButton, SIGNAL(clicked()), this, SLOT(removeRomDirectory())); connect(ui->savesButton, SIGNAL(clicked()), this, SLOT(browseSaves())); connect(ui->eeprom4kButton, SIGNAL(clicked()), this, SLOT(browseEEPROM4k())); connect(ui->eeprom16kButton, SIGNAL(clicked()), this, SLOT(browseEEPROM16k())); connect(ui->sramButton, SIGNAL(clicked()), this, SLOT(browseSRAM())); connect(ui->flashButton, SIGNAL(clicked()), this, SLOT(browseFlashRAM())); connect(ui->saveOption, SIGNAL(toggled(bool)), this, SLOT(toggleSaves(bool))); //Populate Emulation tab if (SETTINGS.value("Emulation/multithread", "").toString() == "true") ui->multithreadOption->setChecked(true); if (SETTINGS.value("Emulation/noaudio", "").toString() == "true") ui->noAudioOption->setChecked(true); if (SETTINGS.value("Emulation/novideo", "").toString() == "true") ui->noVideoOption->setChecked(true); //Populate Controllers tab ctrlEnabled << ui->ctrl1Enabled << ui->ctrl2Enabled << ui->ctrl3Enabled << ui->ctrl4Enabled; ctrlAccessory << ui->ctrl1Accessory << ui->ctrl2Accessory << ui->ctrl3Accessory << ui->ctrl4Accessory; ctrlAccessoryLabel << ui->ctrl1AccessoryLabel << ui->ctrl2AccessoryLabel << ui->ctrl3AccessoryLabel << ui->ctrl4AccessoryLabel; ctrlMemPak << ui->ctrl1MemPak << ui->ctrl2MemPak << ui->ctrl3MemPak << ui->ctrl4MemPak; ctrlMemPakButton << ui->ctrl1MemPakButton << ui->ctrl2MemPakButton << ui->ctrl3MemPakButton << ui->ctrl4MemPakButton; ctrlMemPakLabel << ui->ctrl1MemPakLabel << ui->ctrl2MemPakLabel << ui->ctrl3MemPakLabel << ui->ctrl4MemPakLabel; ctrlTPakROM << ui->ctrl1TPakROM << ui->ctrl2TPakROM << ui->ctrl3TPakROM << ui->ctrl4TPakROM; ctrlTPakROMButton << ui->ctrl1TPakROMButton << ui->ctrl2TPakROMButton << ui->ctrl3TPakROMButton << ui->ctrl4TPakROMButton; ctrlTPakROMLabel << ui->ctrl1TPakROMLabel << ui->ctrl2TPakROMLabel << ui->ctrl3TPakROMLabel << ui->ctrl4TPakROMLabel; ctrlTPakSave << ui->ctrl1TPakSave << ui->ctrl2TPakSave << ui->ctrl3TPakSave << ui->ctrl4TPakSave; ctrlTPakSaveButton << ui->ctrl1TPakSaveButton << ui->ctrl2TPakSaveButton << ui->ctrl3TPakSaveButton << ui->ctrl4TPakSaveButton; ctrlTPakSaveLabel << ui->ctrl1TPakSaveLabel << ui->ctrl2TPakSaveLabel << ui->ctrl3TPakSaveLabel << ui->ctrl4TPakSaveLabel; QStringList ctrlOptions; ctrlOptions << tr("None") << tr("Rumble Pak") << tr("Controller Pak") << tr("Transfer Pak"); for (int i = 0; i <= 3; i++) { QString ctrl = "Controller"+ QString::number(i + 1); ctrlAccessory.at(i)->insertItems(0, ctrlOptions); int ctrlAccessoryIndex = SETTINGS.value(ctrl+"/accessory", 0).toInt(); if (ctrlAccessoryIndex >= 0) ctrlAccessory.at(i)->setCurrentIndex(ctrlAccessoryIndex); toggleAccessory(ctrlAccessory.at(i)->currentIndex(), i); ctrlMemPak.at(i)->setText(SETTINGS.value(ctrl+"/mempak", "").toString()); ctrlTPakROM.at(i)->setText(SETTINGS.value(ctrl+"/tpakrom", "").toString()); ctrlTPakSave.at(i)->setText(SETTINGS.value(ctrl+"/tpaksave", "").toString()); if (SETTINGS.value(ctrl+"/enabled", "").toString() == "true") { ctrlEnabled.at(i)->setChecked(true); toggleController(true, i); } else toggleController(false, i); connect(ctrlEnabled.at(i), SIGNAL(toggled(bool)), this, SLOT(toggleController(bool))); connect(ctrlAccessory.at(i), SIGNAL(currentIndexChanged(int)), this, SLOT(toggleAccessory(int))); connect(ctrlMemPakButton.at(i), SIGNAL(clicked()), this, SLOT(browseMemPak())); connect(ctrlTPakROMButton.at(i), SIGNAL(clicked()), this, SLOT(browseTPakROM())); connect(ctrlTPakSaveButton.at(i), SIGNAL(clicked()), this, SLOT(browseTPakSave())); } //Populate Table tab int tableSizeIndex = 0; QString currentTableSize = SETTINGS.value("Table/imagesize","Medium").toString(); QList sizes; sizes << (QStringList() << tr("Extra Small") << "Extra Small") << (QStringList() << tr("Small") << "Small") << (QStringList() << tr("Medium") << "Medium") << (QStringList() << tr("Large") << "Large") << (QStringList() << tr("Extra Large") << "Extra Large") << (QStringList() << tr("Super") << "Super"); if (SETTINGS.value("Other/downloadinfo", "").toString() == "true") populateTableAndListTab(true); else populateTableAndListTab(false); if (SETTINGS.value("Table/stretchfirstcolumn", "true").toString() == "true") ui->tableStretchOption->setChecked(true); for (int i = 0; i < sizes.length(); i++) { ui->tableSizeBox->insertItem(i, sizes.at(i).at(0), sizes.at(i).at(1)); if (currentTableSize == sizes.at(i).at(1)) tableSizeIndex = i; } if (tableSizeIndex >= 0) ui->tableSizeBox->setCurrentIndex(tableSizeIndex); connect(ui->tableAddButton, SIGNAL(clicked()), this, SLOT(tableAddColumn())); connect(ui->tableRemoveButton, SIGNAL(clicked()), this, SLOT(tableRemoveColumn())); connect(ui->tableSortUpButton, SIGNAL(clicked()), this, SLOT(tableSortUp())); connect(ui->tableSortDownButton, SIGNAL(clicked()), this, SLOT(tableSortDown())); //Populate Grid tab int gridSizeIndex = 0, activeIndex = 0, inactiveIndex = 0, labelColorIndex = 0, bgThemeIndex = 0; QString currentGridSize = SETTINGS.value("Grid/imagesize","Medium").toString(); QString currentActiveColor = SETTINGS.value("Grid/activecolor","Cyan").toString(); QString currentInactiveColor = SETTINGS.value("Grid/inactivecolor","Black").toString(); QString currentLabelColor = SETTINGS.value("Grid/labelcolor","White").toString(); QString currentBGTheme = SETTINGS.value("Grid/theme","Normal").toString(); QList colors; colors << (QStringList() << tr("Black") << "Black") << (QStringList() << tr("White") << "White") << (QStringList() << tr("Light Gray") << "Light Gray") << (QStringList() << tr("Dark Gray") << "Dark Gray") << (QStringList() << tr("Green") << "Green") << (QStringList() << tr("Cyan") << "Cyan") << (QStringList() << tr("Blue") << "Blue") << (QStringList() << tr("Purple") << "Purple") << (QStringList() << tr("Red") << "Red") << (QStringList() << tr("Pink") << "Pink") << (QStringList() << tr("Orange") << "Orange") << (QStringList() << tr("Yellow") << "Yellow") << (QStringList() << tr("Brown") << "Brown"); QList bgThemes; bgThemes << (QStringList() << tr("Light") << "Light") << (QStringList() << tr("Normal") << "Normal") << (QStringList() << tr("Dark") << "Dark"); for (int i = 0; i < sizes.length(); i++) { ui->gridSizeBox->insertItem(i, sizes.at(i).at(0), sizes.at(i).at(1)); if (currentGridSize == sizes.at(i).at(1)) gridSizeIndex = i; } if (gridSizeIndex >= 0) ui->gridSizeBox->setCurrentIndex(gridSizeIndex); int gridColumnCount = SETTINGS.value("Grid/columncount","4").toInt(); ui->columnCountBox->setValue(gridColumnCount); if (SETTINGS.value("Grid/autocolumns", "true").toString() == "true") { toggleGridColumn(true); ui->autoColumnOption->setChecked(true); } else toggleGridColumn(false); for (int i = 0; i < colors.length(); i++) { ui->shadowActiveBox->insertItem(i, colors.at(i).at(0), colors.at(i).at(1)); if (currentActiveColor == colors.at(i).at(1)) activeIndex = i; ui->shadowInactiveBox->insertItem(i, colors.at(i).at(0), colors.at(i).at(1)); if (currentInactiveColor == colors.at(i).at(1)) inactiveIndex = i; ui->labelColorBox->insertItem(i, colors.at(i).at(0), colors.at(i).at(1)); if (currentLabelColor == colors.at(i).at(1)) labelColorIndex = i; } if (activeIndex >= 0) ui->shadowActiveBox->setCurrentIndex(activeIndex); if (inactiveIndex >= 0) ui->shadowInactiveBox->setCurrentIndex(inactiveIndex); if (labelColorIndex >= 0) ui->labelColorBox->setCurrentIndex(labelColorIndex); //Widgets to enable when label active labelEnable << ui->labelTextLabel << ui->labelTextBox << ui->labelColorLabel << ui->labelColorBox; if (SETTINGS.value("Grid/label", "true").toString() == "true") { toggleLabel(true); ui->labelOption->setChecked(true); } else toggleLabel(false); for (int i = 0; i < bgThemes.length(); i++) { ui->bgThemeBox->insertItem(i, bgThemes.at(i).at(0), bgThemes.at(i).at(1)); if (currentBGTheme == bgThemes.at(i).at(1)) bgThemeIndex = i; } if (bgThemeIndex >= 0) ui->bgThemeBox->setCurrentIndex(bgThemeIndex); QString imagePath = SETTINGS.value("Grid/background", "").toString(); ui->backgroundPath->setText(imagePath); hideBGTheme(imagePath); if (SETTINGS.value("Grid/sortdirection", "ascending").toString() == "descending") ui->gridDescendingOption->setChecked(true); connect(ui->autoColumnOption, SIGNAL(toggled(bool)), this, SLOT(toggleGridColumn(bool))); connect(ui->backgroundPath, SIGNAL(textChanged(QString)), this, SLOT(hideBGTheme(QString))); connect(ui->backgroundButton, SIGNAL(clicked()), this, SLOT(browseBackground())); connect(ui->labelOption, SIGNAL(toggled(bool)), this, SLOT(toggleLabel(bool))); //Populate List tab int listSizeIndex = 0, listTextIndex = 0, listThemeIndex = 0; QString currentListSize = SETTINGS.value("List/imagesize","Medium").toString(); QString currentListText = SETTINGS.value("List/textsize","Medium").toString(); QString currentListTheme = SETTINGS.value("List/theme","Light").toString(); QList themes; themes << (QStringList() << tr("Light") << "Light") << (QStringList() << tr("Dark") << "Dark"); listCoverEnable << ui->listSizeLabel << ui->listSizeBox; if (SETTINGS.value("List/displaycover", "").toString() == "true") { toggleListCover(true); ui->listCoverOption->setChecked(true); } else toggleListCover(false); if (SETTINGS.value("List/firstitemheader", "true").toString() == "true") ui->listHeaderOption->setChecked(true); for (int i = 0; i < sizes.length(); i++) { ui->listSizeBox->insertItem(i, sizes.at(i).at(0), sizes.at(i).at(1)); if (currentListSize == sizes.at(i).at(1)) listSizeIndex = i; ui->listTextBox->insertItem(i, sizes.at(i).at(0), sizes.at(i).at(1)); if (currentListText == sizes.at(i).at(1)) listTextIndex = i; } if (listSizeIndex >= 0) ui->listSizeBox->setCurrentIndex(listSizeIndex); if (listTextIndex >= 0) ui->listTextBox->setCurrentIndex(listTextIndex); for (int i = 0; i < themes.length(); i++) { ui->listThemeBox->insertItem(i, themes.at(i).at(0), themes.at(i).at(1)); if (currentListTheme == themes.at(i).at(1)) listThemeIndex = i; } if (listThemeIndex >= 0) ui->listThemeBox->setCurrentIndex(listThemeIndex); if (SETTINGS.value("List/sortdirection", "ascending").toString() == "descending") ui->listDescendingOption->setChecked(true); connect(ui->listCoverOption, SIGNAL(toggled(bool)), this, SLOT(toggleListCover(bool))); connect(ui->listAddButton, SIGNAL(clicked()), this, SLOT(listAddColumn())); connect(ui->listRemoveButton, SIGNAL(clicked()), this, SLOT(listRemoveColumn())); connect(ui->listSortUpButton, SIGNAL(clicked()), this, SLOT(listSortUp())); connect(ui->listSortDownButton, SIGNAL(clicked()), this, SLOT(listSortDown())); //Populate Other tab int languageIndex = 0; QString currentLanguage = SETTINGS.value("language", getDefaultLanguage()).toString(); QList languages; languages << (QStringList() << QString::fromUtf8("English") << "EN") << (QStringList() << QString::fromUtf8("Français") << "FR") << (QStringList() << QString::fromUtf8("РуÑ�Ñ�кий") << "RU"); downloadEnable << ui->tableSizeLabel << ui->tableSizeBox << ui->listCoverOption << ui->listSizeLabel << ui->listSizeBox; if (SETTINGS.value("Other/downloadinfo", "").toString() == "true") { toggleDownload(true); ui->downloadOption->setChecked(true); } else toggleDownload(false); if (SETTINGS.value("Other/consoleoutput", "").toString() == "true") ui->outputOption->setChecked(true); #ifdef Q_OS_WIN ui->outputLabel->setVisible(false); ui->outputOption->setVisible(false); #endif ui->parametersLine->setText(SETTINGS.value("Other/parameters", "").toString()); for (int i = 0; i < languages.length(); i++) { ui->languageBox->insertItem(i, languages.at(i).at(0), languages.at(i).at(1)); if (currentLanguage == languages.at(i).at(1)) languageIndex = i; } ui->languageBox->setCurrentIndex(languageIndex); ui->languageInfoLabel->setHidden(true); connect(ui->downloadOption, SIGNAL(toggled(bool)), this, SLOT(toggleDownload(bool))); connect(ui->downloadOption, SIGNAL(toggled(bool)), this, SLOT(populateTableAndListTab(bool))); connect(ui->languageBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateLanguageInfo())); ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK")); ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel")); connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(editSettings())); connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject())); } SettingsDialog::~SettingsDialog() { delete ui; } void SettingsDialog::addColumn(QListWidget *currentList, QListWidget *availableList) { int row = availableList->currentRow(); if (row >= 0) currentList->addItem(availableList->takeItem(row)); } void SettingsDialog::addRomDirectory() { QString path = QFileDialog::getExistingDirectory(this, tr("ROM Directory")); if (path != "") { //check for duplicates bool found = false; for (int i = 0; i < ui->romList->count(); i++) if (path == ui->romList->item(i)->text()) found = true; if (!found) ui->romList->addItem(path); } } void SettingsDialog::browse64DD() { QString path = QFileDialog::getOpenFileName(this, tr("64DD IPL ROM File")); if (path != "") ui->ddPath->setText(path); } void SettingsDialog::browseBackground() { QString path = QFileDialog::getOpenFileName(this, tr("Background Image")); if (path != "") ui->backgroundPath->setText(path); } void SettingsDialog::browseCatalog() { QString path = QFileDialog::getOpenFileName(this, tr("Catalog File")); if (path != "") ui->catalogPath->setText(path); } void SettingsDialog::browseEmulator() { QString path = QFileDialog::getOpenFileName(this, tr(" Executable") .replace("",ParentName)); if (path != "") ui->emulatorPath->setText(path); } void SettingsDialog::browseEEPROM4k() { QString path = QFileDialog::getOpenFileName(this, tr("4kbit EEPROM File")); if (path != "") ui->eeprom4kPath->setText(path); } void SettingsDialog::browseEEPROM16k() { QString path = QFileDialog::getOpenFileName(this, tr("16kbit EEPROM File")); if (path != "") ui->eeprom16kPath->setText(path); } void SettingsDialog::browseFlashRAM() { QString path = QFileDialog::getOpenFileName(this, tr("FlashRAM File")); if (path != "") ui->flashPath->setText(path); } void SettingsDialog::browseMemPak() { QString path = QFileDialog::getOpenFileName(this, tr("Controller Pak File")); if (path != "") ctrlMemPak.at(ui->controllersTabWidget->currentIndex())->setText(path); } void SettingsDialog::browsePIF() { QString path = QFileDialog::getOpenFileName(this, tr("PIF IPL ROM File")); if (path != "") ui->pifPath->setText(path); } void SettingsDialog::browseSaves() { QString path = QFileDialog::getExistingDirectory(this, tr("Save Directory")); if (path != "") ui->savesPath->setText(path); } void SettingsDialog::browseSRAM() { QString path = QFileDialog::getOpenFileName(this, tr("SRAM File")); if (path != "") ui->sramPath->setText(path); } void SettingsDialog::browseTPakROM() { QString path = QFileDialog::getOpenFileName(this, tr("Transfer Pak ROM File")); if (path != "") ctrlTPakROM.at(ui->controllersTabWidget->currentIndex())->setText(path); } void SettingsDialog::browseTPakSave() { QString path = QFileDialog::getOpenFileName(this, tr("Transfer Pak Save File")); if (path != "") ctrlTPakSave.at(ui->controllersTabWidget->currentIndex())->setText(path); } void SettingsDialog::editSettings() { //Set download option first if (ui->downloadOption->isChecked()) { SETTINGS.setValue("Other/downloadinfo", true); populateAvailable(true); //This removes thegamesdb.net options if user unselects download } else { SETTINGS.setValue("Other/downloadinfo", ""); populateAvailable(false); } //Paths tab SETTINGS.setValue("Paths/cen64", ui->emulatorPath->text()); SETTINGS.setValue("Paths/pifrom", ui->pifPath->text()); SETTINGS.setValue("Paths/ddiplrom", ui->ddPath->text()); SETTINGS.setValue("Paths/catalog", ui->catalogPath->text()); SETTINGS.setValue("Saves/directory", ui->savesPath->text()); SETTINGS.setValue("Saves/eeprom4k", ui->eeprom4kPath->text()); SETTINGS.setValue("Saves/eeprom16k", ui->eeprom16kPath->text()); SETTINGS.setValue("Saves/sram", ui->sramPath->text()); SETTINGS.setValue("Saves/flash", ui->flashPath->text()); QStringList romDirectories; for (int i = 0; i < ui->romList->count(); i++) romDirectories << ui->romList->item(i)->text(); SETTINGS.setValue("Paths/roms", romDirectories.join("|")); if (ui->saveOption->isChecked()) SETTINGS.setValue("Saves/individualsave", true); else SETTINGS.setValue("Saves/individualsave", ""); //Emulation tab if (ui->multithreadOption->isChecked()) SETTINGS.setValue("Emulation/multithread", true); else SETTINGS.setValue("Emulation/multithread", ""); if (ui->noAudioOption->isChecked()) SETTINGS.setValue("Emulation/noaudio", true); else SETTINGS.setValue("Emulation/noaudio", ""); if (ui->noVideoOption->isChecked()) SETTINGS.setValue("Emulation/novideo", true); else SETTINGS.setValue("Emulation/novideo", ""); //Controllers tab for (int i = 0; i <= 3; i++) { QString ctrl = "Controller"+QString::number(i + 1); if (ctrlEnabled.at(i)->isChecked()) SETTINGS.setValue(ctrl+"/enabled", true); else SETTINGS.setValue(ctrl+"/enabled", ""); SETTINGS.setValue(ctrl+"/accessory", ctrlAccessory.at(i)->currentIndex()); SETTINGS.setValue(ctrl+"/mempak", ctrlMemPak.at(i)->text()); SETTINGS.setValue(ctrl+"/tpakrom", ctrlTPakROM.at(i)->text()); SETTINGS.setValue(ctrl+"/tpaksave", ctrlTPakSave.at(i)->text()); } //Table tab QStringList tableVisibleItems; for (int i = 0; i < ui->tableCurrentList->count(); i++) if (available.contains(ui->tableCurrentList->item(i)->data(Qt::UserRole).toString())) tableVisibleItems << ui->tableCurrentList->item(i)->data(Qt::UserRole).toString(); SETTINGS.setValue("Table/columns", tableVisibleItems.join("|")); if (ui->tableStretchOption->isChecked()) SETTINGS.setValue("Table/stretchfirstcolumn", true); else SETTINGS.setValue("Table/stretchfirstcolumn", ""); SETTINGS.setValue("Table/imagesize", ui->tableSizeBox->itemData(ui->tableSizeBox->currentIndex())); //Grid tab SETTINGS.setValue("Grid/imagesize", ui->gridSizeBox->itemData(ui->gridSizeBox->currentIndex())); SETTINGS.setValue("Grid/columncount", ui->columnCountBox->value()); if (ui->autoColumnOption->isChecked()) SETTINGS.setValue("Grid/autocolumns", true); else SETTINGS.setValue("Grid/autocolumns", ""); SETTINGS.setValue("Grid/inactivecolor", ui->shadowInactiveBox->itemData(ui->shadowInactiveBox->currentIndex())); SETTINGS.setValue("Grid/activecolor", ui->shadowActiveBox->itemData(ui->shadowActiveBox->currentIndex())); SETTINGS.setValue("Grid/theme", ui->bgThemeBox->itemData(ui->bgThemeBox->currentIndex())); SETTINGS.setValue("Grid/background", ui->backgroundPath->text()); if (ui->labelOption->isChecked()) SETTINGS.setValue("Grid/label", true); else SETTINGS.setValue("Grid/label", ""); SETTINGS.setValue("Grid/labeltext", ui->labelTextBox->itemData(ui->labelTextBox->currentIndex())); SETTINGS.setValue("Grid/labelcolor", ui->labelColorBox->itemData(ui->labelColorBox->currentIndex())); SETTINGS.setValue("Grid/sort", ui->gridSortBox->itemData(ui->gridSortBox->currentIndex())); if (ui->gridDescendingOption->isChecked()) SETTINGS.setValue("Grid/sortdirection", "descending"); else SETTINGS.setValue("Grid/sortdirection", "ascending"); //List tab QStringList listVisibleItems; for (int i = 0; i < ui->listCurrentList->count(); i++) if (available.contains(ui->listCurrentList->item(i)->data(Qt::UserRole).toString())) listVisibleItems << ui->listCurrentList->item(i)->data(Qt::UserRole).toString(); SETTINGS.setValue("List/columns", listVisibleItems.join("|")); if (ui->listHeaderOption->isChecked()) SETTINGS.setValue("List/firstitemheader", true); else SETTINGS.setValue("List/firstitemheader", ""); if (ui->listCoverOption->isChecked() && ui->downloadOption->isChecked()) SETTINGS.setValue("List/displaycover", true); else SETTINGS.setValue("List/displaycover", ""); SETTINGS.setValue("List/imagesize", ui->listSizeBox->itemData(ui->listSizeBox->currentIndex())); SETTINGS.setValue("List/textsize", ui->listTextBox->itemData(ui->listTextBox->currentIndex())); SETTINGS.setValue("List/theme", ui->listThemeBox->itemData(ui->listThemeBox->currentIndex())); SETTINGS.setValue("List/sort", ui->listSortBox->itemData(ui->listSortBox->currentIndex())); if (ui->listDescendingOption->isChecked()) SETTINGS.setValue("List/sortdirection", "descending"); else SETTINGS.setValue("List/sortdirection", "ascending"); //Other tab #ifndef Q_OS_WIN if (ui->outputOption->isChecked()) SETTINGS.setValue("Other/consoleoutput", true); else SETTINGS.setValue("Other/consoleoutput", ""); #endif SETTINGS.setValue("Other/parameters", ui->parametersLine->text()); SETTINGS.setValue("language", ui->languageBox->itemData(ui->languageBox->currentIndex())); close(); } void SettingsDialog::hideBGTheme(QString imagePath) { if (imagePath == "") { ui->bgThemeLabel->setEnabled(true); ui->bgThemeBox->setEnabled(true); } else { ui->bgThemeLabel->setEnabled(false); ui->bgThemeBox->setEnabled(false); } } void SettingsDialog::listAddColumn() { addColumn(ui->listCurrentList, ui->listAvailableList); } void SettingsDialog::listRemoveColumn() { removeColumn(ui->listCurrentList, ui->listAvailableList); } void SettingsDialog::listSortDown() { sortDown(ui->listCurrentList); } void SettingsDialog::listSortUp() { sortUp(ui->listCurrentList); } void SettingsDialog::populateAvailable(bool downloadItems) { available.clear(); labelOptions.clear(); sortOptions.clear(); available << "Filename" << "Filename (extension)" << "Zip File" << "GoodName" << "Internal Name" << "Size" << "MD5" << "CRC1" << "CRC2" << "Players" << "Rumble" << "Save Type"; labelOptions << "Filename" << "Filename (extension)" << "GoodName" << "Internal Name"; sortOptions << "Filename" << "GoodName" << "Internal Name" << "Size"; if (downloadItems) { available << "Game Title" << "Release Date" << "Overview" << "ESRB" << "Genre" << "Publisher" << "Developer" << "Game Cover"; labelOptions << "Game Title" << "Release Date" << "Genre"; sortOptions << "Game Title" << "Release Date" << "ESRB" << "Genre" << "Publisher" << "Developer"; } available.sort(); labelOptions.sort(); sortOptions.sort(); } void SettingsDialog::populateTableAndListTab(bool downloadItems) { populateAvailable(downloadItems); //Table columns and sort fields QStringList tableCurrent, tableAvailable; tableCurrent = SETTINGS.value("Table/columns", "Filename|Size").toString().split("|"); tableAvailable = available; foreach (QString cur, tableCurrent) { if (tableAvailable.contains(cur)) tableAvailable.removeOne(cur); else //Someone added an invalid item tableCurrent.removeOne(cur); } ui->tableAvailableList->clear(); foreach (QString listItem, tableAvailable) { QListWidgetItem *item = new QListWidgetItem; item->setText(getTranslation(listItem)); item->setData(Qt::UserRole, listItem); ui->tableAvailableList->addItem(item); } ui->tableAvailableList->sortItems(); ui->tableCurrentList->clear(); foreach (QString listItem, tableCurrent) { QListWidgetItem *item = new QListWidgetItem; item->setText(getTranslation(listItem)); item->setData(Qt::UserRole, listItem); ui->tableCurrentList->addItem(item); } //Grid sort field and label text int labelTextIndex = 0, gridSortIndex = 0; QString currentLabelText = SETTINGS.value("Grid/labeltext","Filename").toString(); QString currentGridSort = SETTINGS.value("Grid/sort","Filename").toString(); ui->labelTextBox->clear(); for (int i = 0; i < labelOptions.length(); i++) { ui->labelTextBox->insertItem(i, getTranslation(labelOptions.at(i)), labelOptions.at(i)); if (currentLabelText == labelOptions.at(i)) labelTextIndex = i; } if (labelTextIndex >= 0) ui->labelTextBox->setCurrentIndex(labelTextIndex); ui->gridSortBox->clear(); for (int i = 0; i < sortOptions.length(); i++) { ui->gridSortBox->insertItem(i, getTranslation(sortOptions.at(i)), sortOptions.at(i)); if (currentGridSort == sortOptions.at(i)) gridSortIndex = i; } if (gridSortIndex >= 0) ui->gridSortBox->setCurrentIndex(gridSortIndex); //List items and sort field QStringList listCurrent, listAvailable; listCurrent = SETTINGS.value("List/columns", "Filename|Internal Name|Size").toString().split("|"); listAvailable = available; listAvailable.removeOne("Game Cover"); //Game Cover handled separately foreach (QString cur, listCurrent) { if (listAvailable.contains(cur)) listAvailable.removeOne(cur); else //Someone added an invalid item listCurrent.removeOne(cur); } ui->listAvailableList->clear(); foreach (QString listItem, listAvailable) { QListWidgetItem *item = new QListWidgetItem; item->setText(getTranslation(listItem)); item->setData(Qt::UserRole, listItem); ui->listAvailableList->addItem(item); } ui->listAvailableList->sortItems(); ui->listCurrentList->clear(); foreach (QString listItem, listCurrent) { QListWidgetItem *item = new QListWidgetItem; item->setText(getTranslation(listItem)); item->setData(Qt::UserRole, listItem); ui->listCurrentList->addItem(item); } int listSortIndex = 0; QString currentListSort = SETTINGS.value("List/sort","Filename").toString(); ui->listSortBox->clear(); for (int i = 0; i < sortOptions.length(); i++) { ui->listSortBox->insertItem(i, getTranslation(sortOptions.at(i)), sortOptions.at(i)); if (currentListSort == sortOptions.at(i)) listSortIndex = i; } if (listSortIndex >= 0) ui->listSortBox->setCurrentIndex(listSortIndex); } void SettingsDialog::removeColumn(QListWidget *currentList, QListWidget *availableList) { int row = currentList->currentRow(); if (row >= 0) { availableList->addItem(currentList->takeItem(row)); availableList->sortItems(); } } void SettingsDialog::removeRomDirectory() { int row = ui->romList->currentRow(); if (row >= 0) delete ui->romList->takeItem(row); } void SettingsDialog::sortDown(QListWidget *currentList) { int row = currentList->currentRow(); if (row > 0) { QListWidgetItem *item = currentList->takeItem(row); currentList->insertItem(row - 1, item); currentList->setCurrentRow(row - 1); } } void SettingsDialog::sortUp(QListWidget *currentList) { int row = currentList->currentRow(); if (row >= 0 && row < currentList->count() - 1) { QListWidgetItem *item = currentList->takeItem(row); currentList->insertItem(row + 1, item); currentList->setCurrentRow(row + 1); } } void SettingsDialog::tableAddColumn() { addColumn(ui->tableCurrentList, ui->tableAvailableList); } void SettingsDialog::tableRemoveColumn() { removeColumn(ui->tableCurrentList, ui->tableAvailableList); } void SettingsDialog::tableSortDown() { sortDown(ui->tableCurrentList); } void SettingsDialog::tableSortUp() { sortUp(ui->tableCurrentList); } void SettingsDialog::toggleAccessory(int index, int i) { int ctrl; if (i >= 0 && i <= 3) ctrl = i; else ctrl = ui->controllersTabWidget->currentIndex(); QList memPakEnable; memPakEnable << ctrlMemPak.at(ctrl) << ctrlMemPakButton.at(ctrl) << ctrlMemPakLabel.at(ctrl); QList tPakEnable; tPakEnable << ctrlTPakROM.at(ctrl) << ctrlTPakROMButton.at(ctrl) << ctrlTPakROMLabel.at(ctrl) << ctrlTPakSave.at(ctrl) << ctrlTPakSaveButton.at(ctrl) << ctrlTPakSaveLabel.at(ctrl); QList allEnable; allEnable << memPakEnable << tPakEnable; foreach (QWidget *next, allEnable) next->setEnabled(false); if (index == 2) //Controller Pak foreach (QWidget *next, memPakEnable) next->setEnabled(true); else if (index == 3) //Transfer Pak foreach (QWidget *next, tPakEnable) next->setEnabled(true); } void SettingsDialog::toggleController(bool active, int i) { int ctrl; if (i >= 0 && i <= 3) ctrl = i; else ctrl = ui->controllersTabWidget->currentIndex(); QList cEnable; if (active) cEnable << ctrlAccessory.at(ctrl); else cEnable << ctrlAccessory.at(ctrl) << ctrlAccessoryLabel.at(ctrl) << ctrlMemPak.at(ctrl) << ctrlMemPakButton.at(ctrl) << ctrlMemPakLabel.at(ctrl) << ctrlTPakROM.at(ctrl) << ctrlTPakROMButton.at(ctrl) << ctrlTPakROMLabel.at(ctrl) << ctrlTPakSave.at(ctrl) << ctrlTPakSaveButton.at(ctrl) << ctrlTPakSaveLabel.at(ctrl); foreach (QWidget *next, cEnable) next->setEnabled(active); if (active) toggleAccessory(ctrlAccessory.at(ctrl)->currentIndex(), ctrl); } void SettingsDialog::toggleDownload(bool active) { foreach (QWidget *next, downloadEnable) next->setEnabled(active); if (active) toggleListCover(ui->listCoverOption->isChecked()); } void SettingsDialog::toggleGridColumn(bool active) { if (active) ui->columnCountBox->setEnabled(false); else ui->columnCountBox->setEnabled(true); } void SettingsDialog::toggleLabel(bool active) { foreach (QWidget *next, labelEnable) next->setEnabled(active); } void SettingsDialog::toggleListCover(bool active) { foreach (QWidget *next, listCoverEnable) next->setEnabled(active); } void SettingsDialog::toggleSaves(bool active) { foreach (QWidget *next, saveEnable) next->setEnabled(active); foreach (QWidget *next, saveDisable) next->setEnabled(!active); } void SettingsDialog::updateLanguageInfo() { ui->languageInfoLabel->setHidden(false); const char *sourceText = "Note: Language changes will not take place until application restart."; QTranslator translator; QString language = ui->languageBox->itemData(ui->languageBox->currentIndex()).toString().toLower(); QString resource = ":/locale/"+AppNameLower+"_"+language+".qm"; if (QFileInfo(resource).exists() && translator.load(resource)) ui->languageInfoLabel->setText(translator.translate("SettingsDialog", sourceText)); else ui->languageInfoLabel->setText(sourceText); } cen64-qt-20241110-alpha/src/dialogs/settingsdialog.h000066400000000000000000000077441471427717600220300ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef SETTINGSDIALOG_H #define SETTINGSDIALOG_H #include class QCheckBox; class QComboBox; class QLabel; class QLineEdit; class QListWidget; namespace Ui { class SettingsDialog; } class SettingsDialog : public QDialog { Q_OBJECT public: explicit SettingsDialog(QWidget *parent = 0, int activeTab = 0); ~SettingsDialog(); private: void populateAvailable(bool downloadItems); Ui::SettingsDialog *ui; QList ctrlEnabled; QList ctrlAccessory; QList ctrlAccessoryLabel; QList ctrlMemPakLabel; QList ctrlTPakROMLabel; QList ctrlTPakSaveLabel; QList ctrlMemPak; QList ctrlTPakROM; QList ctrlTPakSave; QList ctrlMemPakButton; QList ctrlTPakROMButton; QList ctrlTPakSaveButton; QList downloadEnable; QList labelEnable; QList listCoverEnable; QList saveEnable; QList saveDisable; QStringList available; QStringList labelOptions; QStringList sortOptions; private slots: void addColumn(QListWidget *currentList, QListWidget *availableList); void addRomDirectory(); void browse64DD(); void browseBackground(); void browseCatalog(); void browseEmulator(); void browseEEPROM4k(); void browseEEPROM16k(); void browseFlashRAM(); void browseMemPak(); void browsePIF(); void browseSaves(); void browseSRAM(); void browseTPakROM(); void browseTPakSave(); void editSettings(); void hideBGTheme(QString imagePath); void listAddColumn(); void listRemoveColumn(); void listSortDown(); void listSortUp(); void removeColumn(QListWidget *currentList, QListWidget *availableList); void removeRomDirectory(); void populateTableAndListTab(bool downloadItems); void sortDown(QListWidget *currentList); void sortUp(QListWidget *currentList); void tableAddColumn(); void tableRemoveColumn(); void tableSortDown(); void tableSortUp(); void toggleAccessory(int index, int i = -1); void toggleController(bool active, int i = -1); void toggleDownload(bool active); void toggleGridColumn(bool active); void toggleLabel(bool active); void toggleListCover(bool active); void toggleSaves(bool active); void updateLanguageInfo(); }; #endif // SETTINGSDIALOG_H cen64-qt-20241110-alpha/src/dialogs/settingsdialog.ui000066400000000000000000001631721471427717600222140ustar00rootroot00000000000000 SettingsDialog 0 0 600 675 550 650 Settings QTabWidget::Rounded 0 Paths true Save Files Browse... 16 kbit EEPROM file: FlashRAM file: Browse... Browse... Save directory: Browse... 4 kbit EEPROM file: Browse... SRAM file: Specify individual files for saves CEN64 Files Browse... Browse... Browse... PIF IPL file: ROM catalog: CEN64 executable: Browse... 64DD IPL file: Qt::Vertical 20 40 16777215 120 ROM Directories 16777215 80 CEN64-Qt will search for all .z64, .n64, .ndd, and .zip files in these directories 16777215 80 Add... Remove Emulation Qt::Horizontal 40 20 10 10 Run multithreaded (quasi-accurate): No audio: No video: Qt::Vertical 20 40 Controllers 0 Controller #1 Qt::Vertical 20 40 Transfer Pak ROM: Transfer Pak Save: Controller Pak File: Accessory: Enabled: Browse... Browse... Browse... Controller #2 Transfer Pak Save: Transfer Pak ROM: Controller Pak File: Accessory: Enabled: Browse... Browse... Browse... Qt::Vertical 20 40 Controller #3 Transfer Pak ROM: Transfer Pak Save: Controller Pak File: Accessory: Enabled: Browse... Browse... Browse... Qt::Vertical 20 40 Controller #4 Transfer Pak ROM: Transfer Pak Save: Controller Pak File: Accessory: Enabled: Browse... Browse... Browse... Qt::Vertical 20 40 Table Qt::Horizontal 40 20 Qt::Vertical 20 40 Qt::Horizontal 40 20 20 0 Image: 160 250 160 300 16777215 80 ... Qt::UpArrow ... Qt::DownArrow 160 250 160 300 16777215 80 ... Qt::RightArrow ... Qt::LeftArrow Current Columns: Available Columns: Stretch First Column Grid ROM Label QLayout::SetMinAndMaxSize Show Label: 150 0 150 16777215 Label Text: Label Color: 100 16777215 Qt::Horizontal 40 20 Qt::Vertical 20 40 Other Browse... Custom Background: Sorting: Descending 150 16777215 Background: ROM Image Qt::Horizontal 40 20 0 0 0 0 Shadow Inactive Color: Shadow Active Color: Columns: Image Size: 100 16777215 100 16777215 1 20 100 16777215 false 100 16777215 Adjust Automatically List Qt::Horizontal 40 20 20 0 Current Items: 16777215 80 ... Qt::RightArrow ... Qt::LeftArrow 160 250 16777215 80 ... Qt::UpArrow ... Qt::DownArrow 160 250 Available Items: Image Size: Descending Sorting: 130 16777215 First Item as Header Display Cover Image Text Size: Theme: Qt::Horizontal 40 20 Qt::Vertical 20 40 Other 10 10 150 0 Additional Parameters: Requires catalog file 330 0 Download Game Information (thegamesdb.net): Output to Console: Use to pass additional parameters to CEN64 Language: Qt::Vertical 20 40 Qt::Horizontal 40 20 <b>Note:</b> Language changes will not take place until application restart. true 10 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok tabWidget emulatorPath pifPath ddPath catalogPath emulatorButton pifButton ddButton catalogButton romList romAddButton romRemoveButton savesPath savesButton saveOption eeprom4kPath eeprom16kPath sramPath flashPath eeprom4kButton eeprom16kButton sramButton flashButton multithreadOption noAudioOption noVideoOption controllersTabWidget ctrl1Enabled ctrl1Accessory ctrl1MemPak ctrl1TPakROM ctrl1TPakSave ctrl2Enabled ctrl2Accessory ctrl2MemPak ctrl2TPakROM ctrl2TPakSave ctrl3Enabled ctrl3Accessory ctrl3MemPak ctrl3TPakROM ctrl3TPakSave ctrl4Enabled ctrl4Accessory ctrl4MemPak ctrl4TPakROM ctrl4TPakSave tableAvailableList tableAddButton tableRemoveButton tableCurrentList tableSortDownButton tableSortUpButton tableSizeBox tableStretchOption gridSizeBox columnCountBox autoColumnOption shadowInactiveBox shadowActiveBox labelOption labelTextBox labelColorBox bgThemeBox backgroundPath backgroundButton gridSortBox gridDescendingOption listAvailableList listAddButton listRemoveButton listCurrentList listSortDownButton listSortUpButton listCoverOption listHeaderOption listSizeBox listTextBox listThemeBox listSortBox listDescendingOption downloadOption outputOption parametersLine languageBox cen64-qt-20241110-alpha/src/dialogs/v64converter.cpp000066400000000000000000000114261471427717600217020ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "v64converter.h" #include "../global.h" #include #include V64Converter::V64Converter(QString romPath, QWidget *parent) : QObject(parent) { QDir romDir(romPath); QString v64File = QFileDialog::getOpenFileName(parent, tr("Open v64/n64 File"), romPath, tr("V64/n64 ROMs") + " (*.v64 *.n64);;" + tr("All Files") + " (*)"); if (v64File != "") { QString defaultFileName = QFileInfo(v64File).completeBaseName() + ".z64"; QString defaultFile = romDir.absoluteFilePath(defaultFileName); QString saveFile = QFileDialog::getSaveFileName(parent, tr("Save z64 File"), defaultFile, tr("Z64 ROMs") + " (*.z64);;" + tr("All Files") + " (*)"); if (saveFile != "") runConverter(v64File, saveFile, parent); } } void V64Converter::runConverter(QString v64File, QString saveFile, QWidget *parent) { QFile v64(v64File); v64.open(QIODevice::ReadOnly); QString v64Check(v64.read(4).toHex()), message; if (v64Check == "80371240") { message = "\"" + QFileInfo(v64).fileName() + "\" " + tr("already in z64 format!"); QMessageBox::warning(parent, tr(" Converter").replace("",AppName), message); } else if (v64Check == "37804012" || v64Check == "40123780") { v64.seek(0); QFile z64(saveFile); z64.open(QIODevice::WriteOnly); QByteArray data; QByteArray flipped; while (!v64.atEnd()) { data = v64.read(1024); if (v64Check == "37804012") { // byte-swapped for (int i = 0; i < data.size(); i+=2) { //Check to see if only one byte remaining (though byte count should always be even) if (i + 1 == data.size()) flipped.append(data[i]); else { flipped.append(data[i + 1]); flipped.append(data[i]); } } } else { // little-endian for (int i = 0; i < data.size(); i+=4) { //Check to see if less than 4 bytes remaining (though byte count should always be even) if (i + 3 > data.size()) { for (int n = data.size(); n >= i; n--) flipped.append(data[n]); } else { for (int n = i + 3; n >= i; n--) flipped.append(data[n]); } } } z64.write(flipped); flipped.truncate(0); } z64.close(); QMessageBox::information(parent, tr(" Converter").replace("",AppName), tr("Conversion complete!")); } else { message = "\"" + QFileInfo(v64).fileName() + "\" " + tr("is not a valid .v64 or .n64 file!"); QMessageBox::warning(parent, tr(" Converter").replace("",AppName), message); } v64.close(); } cen64-qt-20241110-alpha/src/dialogs/v64converter.h000066400000000000000000000035471471427717600213540ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef V64CONVERTER_H #define V64CONVERTER_H #include class V64Converter : public QObject { Q_OBJECT public: explicit V64Converter(QString romPath, QWidget *parent = 0); private: void runConverter(QString v64File, QString saveFile, QWidget *parent = 0); }; #endif // V64CONVERTER_H cen64-qt-20241110-alpha/src/emulation/000077500000000000000000000000001471427717600171765ustar00rootroot00000000000000cen64-qt-20241110-alpha/src/emulation/emulatorhandler.cpp000066400000000000000000000371041471427717600230750ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "emulatorhandler.h" #include "../global.h" #include "../common.h" #include #include #include #include #include #include #include EmulatorHandler::EmulatorHandler(QWidget *parent) : QObject(parent) { this->parent = parent; lastOutput = ""; } void EmulatorHandler::checkStatus(int status) { if (status > 0) { QMessageBox exitDialog(parent); exitDialog.setWindowTitle(tr("Warning")); exitDialog.setText(tr(" quit unexpectedly. Check the log for more information.") .replace("",ParentName)); exitDialog.setIcon(QMessageBox::Warning); exitDialog.addButton(QMessageBox::Ok); exitDialog.addButton(tr("View Log..."), QMessageBox::HelpRole); int ret = exitDialog.exec(); if (ret == 0) emit showLog(); } updateStatus(tr("Emulation stopped"), 3000); } void EmulatorHandler::cleanTemp() { QFile::remove(QDir::tempPath() + "/" + AppNameLower + "-" + qgetenv("USER") + "/temp.bin"); QFile::remove(QDir::tempPath() + "/" + AppNameLower + "-" + qgetenv("USER") + "/64dd-temp.bin"); } void EmulatorHandler::emitFinished() { emit finished(); } QStringList EmulatorHandler::parseArgString(QString argString) { QStringList result; QString arg; bool inQuote = false; bool inApos = false; for (int i = 0; i < argString.size(); i++) { // Check if inside of a quote if (argString.at(i) == QLatin1Char('"')) { inQuote = !inQuote; // Only continue if outside of both quotes and apostrophes if (arg.isEmpty() || (!inQuote && !inApos)) continue; } // Same check for apostrophes if (argString.at(i) == QLatin1Char('\'')) { inApos = !inApos; if (arg.isEmpty() || (!inQuote && !inApos)) continue; } if (!inQuote && !inApos && argString.at(i).isSpace()) { if (!arg.isEmpty()) { result += arg; arg.clear(); } } else arg += argString.at(i); } if (!arg.isEmpty()) result += arg; return result; } void EmulatorHandler::readOutput() { QString output = emulatorProc->readAllStandardOutput(); QStringList outputList = output.split("\n"); int lastIndex = outputList.lastIndexOf(QRegularExpression("^.*VI/s.*MHz$")); if (lastIndex >= 0) updateStatus(outputList[lastIndex]); lastOutput.append(output); } void EmulatorHandler::startEmulator(QDir romDir, QString romFileName, QString zipFileName, QDir ddDir, QString ddFileName, QString ddZipName) { QString completeRomPath = "", complete64DDPath = ""; bool zip = false, ddZip = false; //If zipped file, extract and write to temp location for loading QStringList zippedFiles; zippedFiles << zipFileName << ddZipName; bool ddZipCheck = false; foreach (QString zippedFile, zippedFiles) { if (zippedFile != "") { QString fileInZip, tempName, romPath, zipFile; if (!ddZipCheck) { zip = true; tempName = "/temp.bin"; fileInZip = romFileName; zipFile = romDir.absoluteFilePath(zippedFile); } else { ddZip = true; tempName = "/64dd-temp.bin"; fileInZip = ddFileName; zipFile = ddDir.absoluteFilePath(zippedFile); } QByteArray *romData = getZippedRom(fileInZip, zipFile); QString tempDir = QDir::tempPath() + "/" + AppNameLower + "-" + qgetenv("USER"); QDir().mkpath(tempDir); romPath = tempDir + tempName; QFile tempRom(romPath); tempRom.open(QIODevice::WriteOnly); tempRom.write(*romData); tempRom.close(); delete romData; if (!ddZipCheck) completeRomPath = romPath; else complete64DDPath = romPath; } ddZipCheck = true; } if (zipFileName == "" && romFileName != "") completeRomPath = romDir.absoluteFilePath(romFileName); if (ddZipName == "" && ddFileName != "") complete64DDPath = ddDir.absoluteFilePath(ddFileName); QString emulatorPath = SETTINGS.value("Paths/cen64", "").toString(); QString pifPath = SETTINGS.value("Paths/pifrom", "").toString(); QString ddIPLPath = SETTINGS.value("Paths/ddiplrom", "").toString(); bool ddMode = false; if (SETTINGS.value("Emulation/64dd", "").toString() == "true") ddMode = true; QFile emulatorFile(emulatorPath); QFile pifFile(pifPath); QFile ddIPL(ddIPLPath); QFile romFile(completeRomPath); QFile ddFile(complete64DDPath); //Sanity checks if (!emulatorFile.exists() || QFileInfo(emulatorFile).isDir() || !QFileInfo(emulatorFile).isExecutable()) { QMessageBox::warning(parent, tr("Warning"), tr(" executable not found.").replace("",ParentName)); if (zip || ddZip) cleanTemp(); return; } if (!pifFile.exists() || QFileInfo(pifFile).isDir()) { QMessageBox::warning(parent, tr("Warning"), tr("PIF IPL file not found.")); if (zip || ddZip) cleanTemp(); return; } if (ddIPLPath != "" && (!ddIPL.exists() || QFileInfo(ddIPL).isDir())) { QMessageBox::warning(parent, tr("Warning"), tr("64DD IPL file not found.")); if (zip || ddZip) cleanTemp(); return; } if (completeRomPath != "" && (!romFile.exists() || QFileInfo(romFile).isDir())) { QMessageBox::warning(parent, tr("Warning"), tr("ROM file not found.")); if (zip || ddZip) cleanTemp(); return; } if (completeRomPath == "" && complete64DDPath != "" && (!ddFile.exists() || QFileInfo(ddFile).isDir())) { QMessageBox::warning(parent, tr("Warning"), tr("64DD ROM file not found.")); if (zip || ddZip) cleanTemp(); return; } if (completeRomPath == "" && complete64DDPath == "") { QMessageBox::warning(parent, tr("Warning"), tr("No ROM selected.")); if (zip || ddZip) cleanTemp(); return; } if (completeRomPath != "") { romFile.open(QIODevice::ReadOnly); QByteArray romCheck = romFile.read(4); romFile.close(); if (romCheck.toHex() != "80371240") { if (romCheck.toHex() == "e848d316") { // 64DD file instead if (complete64DDPath == "" && ddMode) { complete64DDPath = completeRomPath; ddFile.setFileName(complete64DDPath); completeRomPath = ""; } else { QMessageBox::warning(parent, tr("Warning"), tr("64DD not enabled.")); if (zip || ddZip) cleanTemp(); return; } } else { QMessageBox::warning(parent, tr("Warning"), tr("Not a valid Z64 File.")); if (zip || ddZip) cleanTemp(); return; } } } if (complete64DDPath != "" && ddMode) { ddFile.open(QIODevice::ReadOnly); QByteArray romCheck = ddFile.read(4); ddFile.close(); if (romCheck.toHex() != "e848d316") { QMessageBox::warning(parent, tr("Warning"), tr("Not a valid 64DD File.")); if (zip || ddZip) cleanTemp(); return; } } QStringList args; if (SETTINGS.value("Saves/individualsave", "").toString() == "true") { QString eeprom4kPath = SETTINGS.value("Saves/eeprom4k", "").toString(); QString eeprom16kPath = SETTINGS.value("Saves/eeprom16k", "").toString(); QString sramPath = SETTINGS.value("Saves/sram", "").toString(); QString flashPath = SETTINGS.value("Saves/flash", "").toString(); if (eeprom4kPath != "") args << "-eep4k" << eeprom4kPath; if (eeprom16kPath != "") args << "-eep16k" << eeprom16kPath; if (sramPath != "") args << "-sram" << sramPath; if (flashPath != "") args << "-flash" << flashPath; } else { QString savesPath = SETTINGS.value("Saves/directory", "").toString(); if (savesPath != "") { QDir savesDir(savesPath); if (savesDir.exists()) { romFile.open(QIODevice::ReadOnly); QByteArray *romData = new QByteArray(romFile.readAll()); romFile.close(); QString romMD5 = QString(QCryptographicHash::hash(*romData, QCryptographicHash::Md5).toHex()); QString romBaseName = QFileInfo(romFile).completeBaseName(); QString eeprom4kFileName = romBaseName + "." + romMD5 + ".eep4k"; QString eeprom16kFileName = romBaseName + "." + romMD5 + ".eep16k"; QString sramFileName = romBaseName + "." + romMD5 + ".sram"; QString flashFileName = romBaseName + "." + romMD5 + ".flash"; QString eeprom4kPath = savesDir.absoluteFilePath(eeprom4kFileName); QString eeprom16kPath = savesDir.absoluteFilePath(eeprom16kFileName); QString sramPath = savesDir.absoluteFilePath(sramFileName); QString flashPath = savesDir.absoluteFilePath(flashFileName); // Check ROM catalog to determine save type QString catalogFile = SETTINGS.value("Paths/catalog", "").toString(); if (QFileInfo(catalogFile).exists()) { QSettings romCatalog(catalogFile, QSettings::IniFormat, parent); QString saveType = romCatalog.value(romMD5.toUpper()+"/SaveType","").toString(); if (saveType == "Eeprom 4KB") args << "-eep4k" << eeprom4kPath; else if (saveType == "Eeprom 16KB") args << "-eep16k" << eeprom16kPath; else if (saveType == "SRAM") args << "-sram" << sramPath; else if (saveType == "Flash RAM") args << "-flash" << flashPath; else if (saveType == "Controller Pack"); else args << "-eep4k" << eeprom4kPath << "-eep16k" << eeprom16kPath << "-sram" << sramPath << "-flash" << flashPath; } else { args << "-eep4k" << eeprom4kPath << "-eep16k" << eeprom16kPath << "-sram" << sramPath << "-flash" << flashPath; } delete romData; } } } for (int i = 1; i <= 4; i++) { QString ctrl = "Controller"+QString::number(i); if (SETTINGS.value(ctrl+"/enabled", "").toString() == "true") { args << "-controller"; QString options = "num="+QString::number(i); int accessory = SETTINGS.value(ctrl+"/accessory", 0).toInt(); QString memPak = SETTINGS.value(ctrl+"/mempak", "").toString(); QString tPakROM = SETTINGS.value(ctrl+"/tpakrom", "").toString(); QString tPakSave = SETTINGS.value(ctrl+"/tpaksave", "").toString(); if (accessory == 1) //Rumble Pak options += ",pak=rumble"; else if (accessory == 2 && memPak != "") //Controller Pak options += ",mempak="+memPak; else if (accessory == 3 && tPakROM != "" && tPakSave != "") //Transfer Pak options += ",tpak_rom="+tPakROM+",tpak_save="+tPakSave; args << options; } } if (SETTINGS.value("Emulation/multithread", "").toString() == "true") args << "-multithread"; if (SETTINGS.value("Emulation/noaudio", "").toString() == "true") args << "-noaudio"; if (SETTINGS.value("Emulation/novideo", "").toString() == "true") args << "-novideo"; if (ddIPLPath != "" && complete64DDPath != "" && ddMode) args << "-ddipl" << ddIPLPath << "-ddrom" << complete64DDPath; else if (completeRomPath == "") { QMessageBox::warning(parent, tr("Warning"), tr("No ROM selected or 64DD not enabled.")); if (zip || ddZip) cleanTemp(); return; } QString otherParameters = SETTINGS.value("Other/parameters", "").toString(); if (otherParameters != "") args.append(parseArgString(otherParameters)); args << pifPath; if (completeRomPath != "") args << completeRomPath; emulatorProc = new QProcess(this); connect(emulatorProc, SIGNAL(finished(int)), this, SLOT(emitFinished())); connect(emulatorProc, SIGNAL(finished(int)), this, SLOT(checkStatus(int))); if (zip || ddZip) connect(emulatorProc, SIGNAL(finished(int)), this, SLOT(cleanTemp())); if (SETTINGS.value("Other/consoleoutput", "").toString() == "true") emulatorProc->setProcessChannelMode(QProcess::ForwardedChannels); else { connect(emulatorProc, SIGNAL(readyReadStandardOutput()), this, SLOT(readOutput())); emulatorProc->setProcessChannelMode(QProcess::MergedChannels); } //clear log lastOutput = ""; emulatorProc->start(emulatorPath, args); //Add command to log QString executable = emulatorPath; if (executable.contains(" ")) executable = '"' + executable + '"'; QString argString; foreach(QString arg, args) { if (arg.contains(" ")) argString += " \"" + arg + "\""; else argString += " " + arg; } lastOutput.append(executable + argString + "\n\n"); updateStatus(tr("Emulation started"), 3000); emit started(); } void EmulatorHandler::stopEmulator() { emulatorProc->terminate(); } void EmulatorHandler::updateStatus(QString message, int timeout) { emit statusUpdate(message, timeout); } cen64-qt-20241110-alpha/src/emulation/emulatorhandler.h000066400000000000000000000046541471427717600225460ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef EMULATORHANDLER_H #define EMULATORHANDLER_H #include #include class QProcess; class EmulatorHandler : public QObject { Q_OBJECT public: explicit EmulatorHandler(QWidget *parent = 0); void startEmulator(QDir romDir, QString romFileName, QString zipFileName = "", QDir ddDir = QDir(), QString ddFileName = "", QString ddZipName = ""); void stopEmulator(); QString lastOutput; signals: void finished(); void showLog(); void started(); void statusUpdate(QString message, int timeout); private: void updateStatus(QString message, int timeout = 0); QStringList parseArgString(QString argString); QProcess *emulatorProc; QWidget *parent; private slots: void checkStatus(int status); void cleanTemp(); void emitFinished(); void readOutput(); }; #endif // EMULATORHANDLER_H cen64-qt-20241110-alpha/src/global.h000066400000000000000000000044251471427717600166170ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef GLOBAL_H #define GLOBAL_H #include #include const QString AppName = "CEN64-Qt"; const QString AppNameLower = "cen64-qt"; const QString ParentName = "CEN64"; const QString ParentNameLower = "cen64"; const QString Copyright = "CEN64 Copyright (c) 2013, Tyler J. Stachecki"; const QString Website = "https://github.com/n64dev/cen64"; const QString GitHub = "https://github.com/dh4/cen64-qt"; const QString TheGamesDBAPIKey = "750dbe45c2f1c63dd3a730b0ef0923ec448b543a908fbe3e2bccada4341df2f5"; #ifdef Q_OS_WIN #define SETTINGS QSettings(AppNameLower+".ini", QSettings::IniFormat) #else #define SETTINGS QSettings(ParentNameLower, AppNameLower) #endif #endif // GLOBAL_H cen64-qt-20241110-alpha/src/main.cpp000066400000000000000000000054351471427717600166400ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "global.h" #include "common.h" #include "mainwindow.h" #include #include #include #include #include int main(int argc, char *argv[]) { QApplication application(argc, argv); QTranslator translator; QString language = SETTINGS.value("language", getDefaultLanguage()).toString(); if (language != "EN") { QString resource = ":/locale/"+AppNameLower+"_"+language.toLower()+".qm"; if (QFileInfo(resource).exists() && translator.load(resource)) application.installTranslator(&translator); } QCoreApplication::setOrganizationName(ParentName); QCoreApplication::setApplicationName(AppName); MainWindow window; QString maximized = SETTINGS.value("Geometry/maximized", "").toString(); QString windowx = SETTINGS.value("Geometry/windowx", "").toString(); QString windowy = SETTINGS.value("Geometry/windowy", "").toString(); if (maximized == "true") { window.showMaximized(); } else { window.show(); } if (windowx == "" && windowy == "") { window.move(QGuiApplication::primaryScreen()->geometry().center() - window.rect().center()); } return application.exec(); } cen64-qt-20241110-alpha/src/mainwindow.cpp000066400000000000000000001016461471427717600200710ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "mainwindow.h" #include "global.h" #include "common.h" #include "dialogs/aboutdialog.h" #include "dialogs/downloaddialog.h" #include "dialogs/logdialog.h" #include "dialogs/settingsdialog.h" #include "dialogs/v64converter.h" #include "emulation/emulatorhandler.h" #include "roms/romcollection.h" #include "roms/thegamesdbscraper.h" #include "views/gridview.h" #include "views/listview.h" #include "views/tableview.h" #include "views/ddview.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { setWindowTitle(AppName); setWindowIcon(QIcon(":/images/"+ParentNameLower+".png")); installEventFilter(this); emulation = new EmulatorHandler(this); romCollection = new RomCollection(QStringList() << "*.z64" << "*.n64" << "*.zip" << "*.ndd", QStringList() << SETTINGS.value("Paths/roms","").toString().split("|"), this); createMenu(); createRomView(); connect(emulation, SIGNAL(started()), this, SLOT(disableButtons())); connect(emulation, SIGNAL(finished()), this, SLOT(enableButtons())); connect(emulation, SIGNAL(showLog()), this, SLOT(openLog())); connect(emulation, SIGNAL(statusUpdate(QString, int)), this, SLOT(updateStatusBar(QString, int))); connect(romCollection, SIGNAL(updateStarted(bool)), this, SLOT(disableViews(bool))); connect(romCollection, SIGNAL(romAdded(Rom*, int)), this, SLOT(addToView(Rom*, int))); connect(romCollection, SIGNAL(ddRomAdded(Rom*)), ddView, SLOT(addTo64DDView(Rom*))); connect(romCollection, SIGNAL(updateEnded(int, bool)), this, SLOT(enableViews(int, bool))); romCollection->cachedRoms(false, true); mainWidget = new QWidget(this); setCentralWidget(mainWidget); setGeometry(QRect(SETTINGS.value("Geometry/windowx", 0).toInt(), SETTINGS.value("Geometry/windowy", 0).toInt(), SETTINGS.value("Geometry/width", 900).toInt(), SETTINGS.value("Geometry/height", 600).toInt())); statusBar = new QStatusBar; if (SETTINGS.value("View/statusbar", "").toString() == "") statusBar->hide(); if (SETTINGS.value("View/fullscreen", "").toString() == "true") updateFullScreenMode(); QString ddipl = SETTINGS.value("Paths/ddiplrom", "").toString(); QString ddEnabled = SETTINGS.value("Emulation/64dd", "").toString(); QString currentView = SETTINGS.value("View/layout", "none").toString(); if (ddipl != "" && ddEnabled == "true" && currentView != "none") ddView->setHidden(false); mainLayout = new QVBoxLayout(mainWidget); mainLayout->setMenuBar(menuBar); mainLayout->addWidget(viewSplitter); mainLayout->addWidget(statusBar); mainLayout->setContentsMargins(0, 0, 0, 0); mainWidget->setLayout(mainLayout); mainWidget->setMinimumSize(300, 200); } void MainWindow::addToView(Rom *currentRom, int count) { QString visibleLayout = SETTINGS.value("View/layout", "none").toString(); if (visibleLayout == "table") tableView->addToTableView(currentRom); else if (visibleLayout == "grid") gridView->addToGridView(currentRom, count, ddAction->isChecked()); else if (visibleLayout == "list") listView->addToListView(currentRom, count, ddAction->isChecked()); } void MainWindow::closeEvent(QCloseEvent *event) { SETTINGS.setValue("Geometry/windowx", geometry().x()); SETTINGS.setValue("Geometry/windowy", geometry().y()); SETTINGS.setValue("Geometry/width", geometry().width()); SETTINGS.setValue("Geometry/height", geometry().height()); if (isMaximized()) SETTINGS.setValue("Geometry/maximized", true); else SETTINGS.setValue("Geometry/maximized", ""); tableView->saveColumnWidths(); QStringList sizes; foreach(int size, viewSplitter->sizes()) sizes << QString::number(size); SETTINGS.setValue("View/64ddsize", sizes.join("|")); event->accept(); } void MainWindow::createMenu() { menuBar = new QMenuBar(this); //File fileMenu = new QMenu(tr("&File"), this); openAction = fileMenu->addAction(tr("&Open ROM...")); fileMenu->addSeparator(); convertAction = fileMenu->addAction(tr("&Convert V64/n64...")); refreshAction = fileMenu->addAction(tr("&Refresh List")); downloadAction = fileMenu->addAction(tr("&Download/Update Info...")); deleteAction = fileMenu->addAction(tr("D&elete Current Info...")); #ifndef Q_OS_OSX //OSX does not show the quit action so the separator is unneeded fileMenu->addSeparator(); #endif quitAction = fileMenu->addAction(tr("&Quit")); openAction->setIcon(QIcon::fromTheme("document-open")); refreshAction->setIcon(QIcon::fromTheme("view-refresh")); quitAction->setIcon(QIcon::fromTheme("application-exit")); downloadAction->setEnabled(false); deleteAction->setEnabled(false); menuBar->addMenu(fileMenu); connect(openAction, SIGNAL(triggered()), this, SLOT(openRom())); connect(convertAction, SIGNAL(triggered()), this, SLOT(openConverter())); connect(refreshAction, SIGNAL(triggered()), romCollection, SLOT(addRoms())); connect(downloadAction, SIGNAL(triggered()), this, SLOT(openDownloader())); connect(deleteAction, SIGNAL(triggered()), this, SLOT(openDeleteDialog())); connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); //Emulation emulationMenu = new QMenu(tr("&Emulation"), this); startAction = emulationMenu->addAction(tr("&Start")); stopAction = emulationMenu->addAction(tr("St&op")); emulationMenu->addSeparator(); ddAction = emulationMenu->addAction(tr("Enable 64DD")); emulationMenu->addSeparator(); logAction = emulationMenu->addAction(tr("View Log...")); startAction->setIcon(QIcon::fromTheme("media-playback-start")); stopAction->setIcon(QIcon::fromTheme("media-playback-stop")); startAction->setEnabled(false); stopAction->setEnabled(false); ddAction->setCheckable(true); if (SETTINGS.value("Paths/ddiplrom", "").toString() != "") { if (SETTINGS.value("Emulation/64dd", "").toString() == "true") ddAction->setChecked(true); } else ddAction->setEnabled(false); menuBar->addMenu(emulationMenu); connect(startAction, SIGNAL(triggered()), this, SLOT(launchRomFromMenu())); connect(stopAction, SIGNAL(triggered()), this, SLOT(stopEmulator())); connect(ddAction, SIGNAL(triggered()), this, SLOT(update64DD())); connect(logAction, SIGNAL(triggered()), this, SLOT(openLog())); //Settings settingsMenu = new QMenu(tr("&Settings"), this); configureAction = settingsMenu->addAction(tr("&Configure...")); configureAction->setIcon(QIcon::fromTheme("preferences-other")); menuBar->addMenu(settingsMenu); connect(configureAction, SIGNAL(triggered()), this, SLOT(openSettings())); //View viewMenu = new QMenu(tr("&View"), this); layoutMenu = viewMenu->addMenu(tr("&Layout")); layoutGroup = new QActionGroup(this); QList layouts; layouts << (QStringList() << tr("None") << "none") << (QStringList() << tr("Table View") << "table") << (QStringList() << tr("Grid View") << "grid") << (QStringList() << tr("List View") << "list"); QString layoutValue = SETTINGS.value("View/layout", "none").toString(); foreach (QStringList layoutName, layouts) { QAction *layoutItem = layoutMenu->addAction(layoutName.at(0)); layoutItem->setData(layoutName.at(1)); layoutItem->setCheckable(true); layoutGroup->addAction(layoutItem); //Only enable layout changes when emulator is not running menuEnable << layoutItem; if(layoutValue == layoutName.at(1)) layoutItem->setChecked(true); } viewMenu->addSeparator(); //OSX El Capitan adds it's own full-screen option #if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) if (!(QOperatingSystemVersion::current() >= QOperatingSystemVersion::OSXElCapitan && QOperatingSystemVersion::currentType() == QOperatingSystemVersion::MacOS)) #else if (QSysInfo::macVersion() < QSysInfo::MV_ELCAPITAN || QSysInfo::macVersion() == QSysInfo::MV_None) #endif fullScreenAction = viewMenu->addAction(tr("&Full-screen")); else fullScreenAction = new QAction(this); statusBarAction = viewMenu->addAction(tr("&Status Bar")); fullScreenAction->setCheckable(true); statusBarAction->setCheckable(true); if (SETTINGS.value("View/fullscreen", "") == "true") fullScreenAction->setChecked(true); if (SETTINGS.value("View/statusbar", "") == "true") statusBarAction->setChecked(true); menuBar->addMenu(viewMenu); connect(fullScreenAction, SIGNAL(triggered()), this, SLOT(updateFullScreenMode())); connect(statusBarAction, SIGNAL(triggered()), this, SLOT(updateStatusBarView())); connect(layoutGroup, SIGNAL(triggered(QAction*)), this, SLOT(updateLayoutSetting())); //Help helpMenu = new QMenu(tr("&Help"), this); aboutAction = helpMenu->addAction(tr("&About")); aboutAction->setIcon(QIcon::fromTheme("help-about")); menuBar->addMenu(helpMenu); connect(aboutAction, SIGNAL(triggered()), this, SLOT(openAbout())); //Create list of actions that are enabled only when emulator is not running menuEnable << startAction << ddAction << logAction << openAction << convertAction << downloadAction << deleteAction << refreshAction << configureAction << quitAction; //Create list of actions that are disabled when emulator is not running menuDisable << stopAction; //Create list of actions that are only active when a ROM is selected menuRomSelected << startAction << deleteAction << downloadAction; } void MainWindow::createRomView() { //Create empty view emptyView = new QScrollArea(this); emptyView->setStyleSheet("QScrollArea { border: none; }"); emptyView->setBackgroundRole(QPalette::Base); emptyView->setAutoFillBackground(true); emptyView->setHidden(true); emptyLayout = new QGridLayout(emptyView); emptyIcon = new QLabel(emptyView); emptyIcon->setPixmap(QPixmap(":/images/"+ParentNameLower+".png")); emptyLayout->addWidget(emptyIcon, 1, 1); emptyLayout->setColumnStretch(0, 1); emptyLayout->setColumnStretch(2, 1); emptyLayout->setRowStretch(0, 1); emptyLayout->setRowStretch(2, 1); emptyView->setLayout(emptyLayout); //Create table view tableView = new TableView(this); connect(tableView, SIGNAL(clicked(QModelIndex)), this, SLOT(enableButtons())); connect(tableView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(launchRomFromTable())); connect(tableView, SIGNAL(tableActive()), this, SLOT(enableButtons())); connect(tableView, SIGNAL(enterPressed()), this, SLOT(launchRomFromTable())); //Create grid view gridView = new GridView(this); connect(gridView, SIGNAL(gridItemSelected(bool)), this, SLOT(toggleMenus(bool))); //Create list view listView = new ListView(this); connect(listView, SIGNAL(listItemSelected(bool)), this, SLOT(toggleMenus(bool))); //Create disabled view disabledView = new QWidget(this); disabledView->setHidden(true); disabledLayout = new QVBoxLayout(disabledView); disabledLayout->setSizeConstraint(QLayout::SetMinAndMaxSize); disabledView->setLayout(disabledLayout); QString disabledText = QString(tr("Add a directory containing ROMs under ")) + tr("Settings->Configure->Paths to use this view."); disabledLabel = new QLabel(disabledText, disabledView); disabledLabel->setWordWrap(true); disabledLabel->setAlignment(Qt::AlignCenter); disabledLayout->addWidget(disabledLabel); //Create 64DD view ddView = new DDView(this); connect(ddView, SIGNAL(clicked(QModelIndex)), this, SLOT(enableButtons())); connect(ddView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(launchRomFromMenu())); //Put views within a splitter for 64DD view viewSplitter = new QSplitter(this); viewSplitter->setOrientation(Qt::Vertical); viewSplitter->addWidget(emptyView); viewSplitter->addWidget(tableView); viewSplitter->addWidget(gridView); viewSplitter->addWidget(listView); viewSplitter->addWidget(disabledView); viewSplitter->addWidget(ddView); //Restore 64DD panel size QStringList sizes = SETTINGS.value("View/64ddsize", "").toString().split("|"); foreach (QString size, sizes) sizeInts << size.toInt(); restoreSplitterSize(); showActiveView(); } void MainWindow::disableButtons() { toggleMenus(false); } void MainWindow::disableViews(bool imageUpdated) { QString visibleLayout = SETTINGS.value("View/layout", "none").toString(); //Save position in current layout if (visibleLayout == "table") tableView->saveTablePosition(); else if (visibleLayout == "grid") gridView->saveGridPosition(); else if (visibleLayout == "list") listView->saveListPosition(); resetLayouts(imageUpdated); tableView->clear(); ddView->clear(); if (ddAction->isChecked()) { //64DD enabled so show "No Cart" options Rom dummyRom; dummyRom.imageExists = false; tableView->addNoCartRow(); gridView->addToGridView(&dummyRom, -1, ddAction->isChecked()); listView->addToListView(&dummyRom, -1, ddAction->isChecked()); ddView->addNoDiskRow(); } tableView->setEnabled(false); gridView->setEnabled(false); listView->setEnabled(false); ddView->setEnabled(false); foreach (QAction *next, menuRomSelected) next->setEnabled(false); } void MainWindow::enableButtons() { toggleMenus(true); } void MainWindow::enableViews(int romCount, bool cached) { QString visibleLayout = SETTINGS.value("View/layout", "none").toString(); if (romCount != 0) { //else no ROMs, so leave views disabled QStringList tableVisible = SETTINGS.value("Table/columns", "Filename|Size").toString().split("|"); if (tableVisible.join("") != "") tableView->setEnabled(true); gridView->setEnabled(true); listView->setEnabled(true); ddView->setEnabled(true); if (visibleLayout == "table") tableView->setFocus(); else if (visibleLayout == "grid") gridView->setFocus(); else if (visibleLayout == "list") listView->setFocus(); //Check if disabled view is showing. If it is, re-enabled the selected view if (!disabledView->isHidden()) { disabledView->setHidden(true); showActiveView(); } if (cached) { QTimer *timer = new QTimer(this); timer->setSingleShot(true); timer->setInterval(0); timer->start(); if (visibleLayout == "table") connect(timer, SIGNAL(timeout()), tableView, SLOT(setTablePosition())); else if (visibleLayout == "grid") connect(timer, SIGNAL(timeout()), gridView, SLOT(setGridPosition())); else if (visibleLayout == "list") connect(timer, SIGNAL(timeout()), listView, SLOT(setListPosition())); } } else { if (visibleLayout != "none") { tableView->setHidden(true); gridView->setHidden(true); listView->setHidden(true); disabledView->setHidden(false); } } } bool MainWindow::eventFilter(QObject*, QEvent *event) { //Show menu bar if mouse is at top of screen in full-screen mode if (event->type() == QEvent::HoverMove && isFullScreen()) { QMouseEvent *mouseEvent = static_cast(event); int mousePos = mouseEvent->pos().y(); if (mousePos < 5) showMenuBar(true); if (mousePos > 30) showMenuBar(false); } if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = static_cast(event); //Exit fullscreen mode if Esc key is pressed if (keyEvent->key() == Qt::Key_Escape && isFullScreen()) updateFullScreenMode(); } //OSX El Capitan adds it's own full-screen option, so handle the event change here #if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::OSXElCapitan && QOperatingSystemVersion::currentType() == QOperatingSystemVersion::MacOS) { #else if (QSysInfo::macVersion() >= QSysInfo::MV_ELCAPITAN && QSysInfo::macVersion() != QSysInfo::MV_None) { #endif if (event->type() == QEvent::WindowStateChange) { QWindowStateChangeEvent *windowEvent = static_cast(event); if (windowEvent->oldState() == Qt::WindowNoState) { SETTINGS.setValue("View/fullscreen", true); tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); gridView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); listView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); } else { SETTINGS.setValue("View/fullscreen", ""); tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); gridView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); listView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); } } } return false; } QString MainWindow::getCurrentRomInfoFromView(QString infoName) { QString visibleLayout = SETTINGS.value("View/layout", "none").toString(); if (visibleLayout == "table") return tableView->getCurrentRomInfo(infoName); else if (visibleLayout == "grid" && gridView->hasSelectedRom()) return gridView->getCurrentRomInfo(infoName); else if (visibleLayout == "list" && listView->hasSelectedRom()) return listView->getCurrentRomInfo(infoName); return ""; } void MainWindow::launchRom(QDir romDir, QString romFileName, QString zipFileName) { if (ddAction->isChecked() && ddView->hasSelectedRom()) { QString ddFileName = ddView->getCurrentRomInfo("fileName"); QString ddDirName = ddView->getCurrentRomInfo("dirName"); QString ddZipName = ddView->getCurrentRomInfo("zipFile"); emulation->startEmulator(romDir, romFileName, zipFileName, QDir(ddDirName), ddFileName, ddZipName); } else emulation->startEmulator(romDir, romFileName, zipFileName); } void MainWindow::launchRomFromMenu() { QString visibleLayout = layoutGroup->checkedAction()->data().toString(); if (visibleLayout == "table") launchRomFromTable(); else if (visibleLayout == "grid") launchRomFromWidget(gridView->getCurrentRomWidget()); else if (visibleLayout == "list") launchRomFromWidget(listView->getCurrentRomWidget()); } void MainWindow::launchRomFromTable() { if (tableView->hasSelectedRom()) { QString romFileName = tableView->getCurrentRomInfo("fileName"); QString romDirName = tableView->getCurrentRomInfo("dirName"); QString zipFileName = tableView->getCurrentRomInfo("zipFile"); launchRom(QDir(romDirName), romFileName, zipFileName); } else { launchRom(QDir(), "", ""); } } void MainWindow::launchRomFromWidget(QWidget *current) { QString romFileName = current->property("fileName").toString(); QString romDirName = current->property("directory").toString(); QString zipFileName = current->property("zipFile").toString(); launchRom(QDir(romDirName), romFileName, zipFileName); } void MainWindow::launchRomFromZip() { QString fileName = zipList->currentItem()->text(); zipDialog->close(); emulation->startEmulator(QDir(), fileName, openPath); } void MainWindow::openAbout() { AboutDialog aboutDialog(this); aboutDialog.exec(); } void MainWindow::openConverter() { V64Converter v64converter(romCollection->romPaths.at(0), this); } void MainWindow::openDeleteDialog() { scraper = new TheGamesDBScraper(this); scraper->deleteGameInfo(getCurrentRomInfoFromView("fileName"), getCurrentRomInfoFromView("romMD5")); delete scraper; romCollection->cachedRoms(); } void MainWindow::openDownloader() { DownloadDialog downloadDialog(getCurrentRomInfoFromView("fileName"), getCurrentRomInfoFromView("search"), getCurrentRomInfoFromView("romMD5"), this); downloadDialog.exec(); romCollection->cachedRoms(); } void MainWindow::openLog() { if (emulation->lastOutput == "") { QMessageBox::information(this, tr("No Output"), tr("There is no log. Either has not yet run or there was no output from the last run.") .replace("",ParentName)); } else { LogDialog logDialog(emulation->lastOutput, this); logDialog.exec(); } } void MainWindow::openSettings() { QString tableImageBefore = SETTINGS.value("Table/imagesize", "Medium").toString(); QString columnsBefore = SETTINGS.value("Table/columns", "Filename|Size").toString(); QString downloadBefore = SETTINGS.value("Other/downloadinfo", "").toString(); SettingsDialog settingsDialog(this, 0); settingsDialog.exec(); QString tableImageAfter = SETTINGS.value("Table/imagesize", "Medium").toString(); QString columnsAfter = SETTINGS.value("Table/columns", "Filename|Size").toString(); QString downloadAfter = SETTINGS.value("Other/downloadinfo", "").toString(); //Reset columns widths if user has selected different columns to display if (columnsBefore != columnsAfter) { SETTINGS.setValue("Table/width", ""); tableView->setColumnCount(3); tableView->setHeaderLabels(QStringList("")); } QStringList romSave = SETTINGS.value("Paths/roms","").toString().split("|"); if (romCollection->romPaths != romSave) { romCollection->updatePaths(romSave); romCollection->addRoms(); } else if (downloadBefore == "" && downloadAfter == "true") { romCollection->addRoms(); } else { if (tableImageBefore != tableImageAfter) romCollection->cachedRoms(true); else romCollection->cachedRoms(false); } if (SETTINGS.value("Paths/ddiplrom", "").toString() != "") { ddAction->setEnabled(true); } else { ddAction->setEnabled(false); ddAction->setChecked(false); update64DD(); } gridView->setGridBackground(); listView->setListBackground(); toggleMenus(true); } void MainWindow::openRom() { QString filter = "N64 ROMs ("; foreach (QString type, romCollection->getFileTypes(true)) filter += type + " "; filter += ");;" + tr("All Files") + " (*)"; QString searchPath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).first(); if (romCollection->romPaths.count() > 0) searchPath = romCollection->romPaths.at(0); openPath = QFileDialog::getOpenFileName(this, tr("Open ROM File"), searchPath, filter); if (openPath != "") { if (QFileInfo(openPath).suffix() == "zip") { QStringList zippedFiles = getZippedFiles(openPath); QString last; int count = 0; foreach (QString file, zippedFiles) { QString ext = file.right(4).toLower(); if (romCollection->getFileTypes().contains("*" + ext)) { last = file; count++; } } if (count == 0) QMessageBox::information(this, tr("No ROMs"), tr("No ROMs found in ZIP file.")); else if (count == 1) emulation->startEmulator(QDir(QFileInfo(openPath).dir()), last, openPath); else { //More than one ROM in zip file, so let user select openZipDialog(zippedFiles); } } else emulation->startEmulator(QDir(QFileInfo(openPath).dir()), openPath); } } void MainWindow::openZipDialog(QStringList zippedFiles) { zipDialog = new QDialog(this); zipDialog->setWindowTitle(tr("Select ROM")); zipDialog->setMinimumSize(200, 150); zipDialog->resize(300, 150); zipLayout = new QGridLayout(zipDialog); zipLayout->setContentsMargins(5, 10, 5, 10); zipList = new QListWidget(zipDialog); foreach (QString file, zippedFiles) { QString ext = file.right(4); if (romCollection->getFileTypes().contains("*" + ext)) zipList->addItem(file); } zipList->setCurrentRow(0); zipButtonBox = new QDialogButtonBox(Qt::Horizontal, zipDialog); zipButtonBox->addButton(tr("Launch"), QDialogButtonBox::AcceptRole); zipButtonBox->addButton(tr("Cancel"), QDialogButtonBox::RejectRole); zipLayout->addWidget(zipList, 0, 0); zipLayout->addWidget(zipButtonBox, 1, 0); connect(zipList, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(launchRomFromZip())); connect(zipButtonBox, SIGNAL(accepted()), this, SLOT(launchRomFromZip())); connect(zipButtonBox, SIGNAL(rejected()), zipDialog, SLOT(close())); zipDialog->setLayout(zipLayout); zipDialog->exec(); } void MainWindow::resetLayouts(bool imageUpdated) { tableView->resetView(imageUpdated); gridView->resetView(); listView->resetView(); } void MainWindow::restoreSplitterSize() { int mainSize = 1, ddSize = 1; if (!sizeInts.isEmpty()) { ddSize = sizeInts.last(); sizeInts.removeLast(); } foreach (int size, sizeInts) { if (size != 0) { mainSize = size; //Set all views to same height in case user switches view break; } } if (ddSize == 0) ddSize = 1; sizeInts.clear(); sizeInts << mainSize << mainSize << mainSize << mainSize << mainSize << ddSize; viewSplitter->setSizes(sizeInts); } void MainWindow::showActiveView() { QString visibleLayout = SETTINGS.value("View/layout", "none").toString(); if (visibleLayout == "table") tableView->setHidden(false); else if (visibleLayout == "grid") gridView->setHidden(false); else if (visibleLayout == "list") listView->setHidden(false); else emptyView->setHidden(false); } void MainWindow::showMenuBar(bool mouseAtTop) { menuBar->setHidden(!mouseAtTop); } void MainWindow::showRomMenu(const QPoint &pos) { QMenu *contextMenu = new QMenu(this); QAction *contextStartAction = contextMenu->addAction(tr("&Start")); contextStartAction->setIcon(QIcon::fromTheme("media-playback-start")); connect(contextStartAction, SIGNAL(triggered()), this, SLOT(launchRomFromMenu())); if (SETTINGS.value("Other/downloadinfo", "").toString() == "true") { contextMenu->addSeparator(); QAction *contextDownloadAction = contextMenu->addAction(tr("&Download/Update Info...")); QAction *contextDeleteAction = contextMenu->addAction(tr("D&elete Current Info...")); connect(contextDownloadAction, SIGNAL(triggered()), this, SLOT(openDownloader())); connect(contextDeleteAction, SIGNAL(triggered()), this, SLOT(openDeleteDialog())); } QWidget *activeWidget = new QWidget(this); QString visibleLayout = SETTINGS.value("View/layout", "none").toString(); if (visibleLayout == "table") activeWidget = tableView->viewport(); else if (visibleLayout == "grid") activeWidget = gridView->getCurrentRomWidget(); else if (visibleLayout == "list") activeWidget = listView->getCurrentRomWidget(); contextMenu->exec(activeWidget->mapToGlobal(pos)); } void MainWindow::stopEmulator() { emulation->stopEmulator(); } void MainWindow::toggleMenus(bool active) { foreach (QAction *next, menuEnable) next->setEnabled(active); foreach (QAction *next, menuDisable) next->setEnabled(!active); tableView->setEnabled(active); gridView->setEnabled(active); listView->setEnabled(active); if (!tableView->hasSelectedRom() && !gridView->hasSelectedRom() && !listView->hasSelectedRom() && !ddView->hasSelectedRom() ) { foreach (QAction *next, menuRomSelected) next->setEnabled(false); } if (SETTINGS.value("Other/downloadinfo", "").toString() == "") { downloadAction->setEnabled(false); deleteAction->setEnabled(false); } if (SETTINGS.value("Paths/ddiplrom", "").toString() == "") ddAction->setEnabled(false); } void MainWindow::updateFullScreenMode() { if (isFullScreen()) { fullScreenAction->setChecked(false); SETTINGS.setValue("View/fullscreen", ""); menuBar->setHidden(false); tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); gridView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); listView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); showNormal(); } else { fullScreenAction->setChecked(true); SETTINGS.setValue("View/fullscreen", true); menuBar->setHidden(true); tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); gridView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); listView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); showFullScreen(); } } void MainWindow::updateLayoutSetting() { QString visibleLayout = layoutGroup->checkedAction()->data().toString(); SETTINGS.setValue("View/layout", visibleLayout); sizeInts.clear(); foreach(int size, viewSplitter->sizes()) sizeInts << size; emptyView->setHidden(true); tableView->setHidden(true); gridView->setHidden(true); listView->setHidden(true); disabledView->setHidden(true); ddView->setHidden(true); int romCount = romCollection->cachedRoms(); if (romCount > 0 || visibleLayout == "none") showActiveView(); //Don't show 64DD panel for empty view QString ddipl = SETTINGS.value("Paths/ddiplrom", "").toString(); QString ddEnabled = SETTINGS.value("Emulation/64dd", "").toString(); if (visibleLayout != "none" && ddipl != "" && ddEnabled == "true") { ddView->setHidden(false); restoreSplitterSize(); } //View was updated so no ROM will be selected. Update menu items accordingly foreach (QAction *next, menuRomSelected) next->setEnabled(false); } void MainWindow::update64DD() { QString ddipl = SETTINGS.value("Paths/ddiplrom", "").toString(); if(ddAction->isChecked() && ddipl != "") { SETTINGS.setValue("Emulation/64dd", true); if (SETTINGS.value("View/layout", "none").toString() != "none") ddView->setHidden(false); viewSplitter->setSizes(QList() << 500 << 500 << 500 << 500 << 500 << 100); } else { SETTINGS.setValue("Emulation/64dd", ""); ddView->setHidden(true); } romCollection->cachedRoms(); } void MainWindow::updateStatusBar(QString message, int timeout) { statusBar->showMessage(message, timeout); } void MainWindow::updateStatusBarView() { if(statusBarAction->isChecked()) { SETTINGS.setValue("View/statusbar", true); statusBar->show(); } else { SETTINGS.setValue("View/statusbar", ""); statusBar->hide(); } } cen64-qt-20241110-alpha/src/mainwindow.h000066400000000000000000000113271471427717600175320ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include class QActionGroup; class QDialogButtonBox; class QDir; class QHeaderView; class QGridLayout; class QLabel; class QListWidget; class QMenuBar; class QScrollArea; class QSplitter; class QStatusBar; class QTreeWidget; class QVBoxLayout; class DDView; class EmulatorHandler; class GridView; class ListView; class RomCollection; class TableView; class TheGamesDBScraper; class TreeWidgetItem; struct Rom; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); protected: void closeEvent(QCloseEvent *event); bool eventFilter(QObject*, QEvent *event); private: void createMenu(); void createRomView(); void launchRom(QDir romDir, QString romFileName, QString zipFileName); void openZipDialog(QStringList zippedFiles); void resetLayouts(bool imageUpdated = false); void restoreSplitterSize(); void showActiveView(); QString getCurrentRomInfoFromView(QString infoName); QString openPath; QAction *aboutAction; QAction *configureAction; QAction *convertAction; QAction *deleteAction; QAction *downloadAction; QAction *fullScreenAction; QAction *logAction; QAction *ddAction; QAction *openAction; QAction *quitAction; QAction *refreshAction; QAction *startAction; QAction *statusBarAction; QAction *stopAction; QActionGroup *layoutGroup; QDialog *zipDialog; QDialogButtonBox *zipButtonBox; QGridLayout *emptyLayout; QGridLayout *zipLayout; QHeaderView *ddHeaderView; QLabel *emptyIcon; QLabel *disabledLabel; QList sizeInts; QList menuEnable; QList menuDisable; QList menuRomSelected; QListWidget *zipList; QMenu *emulationMenu; QMenu *fileMenu; QMenu *helpMenu; QMenu *layoutMenu; QMenu *settingsMenu; QMenu *viewMenu; QMenuBar *menuBar; QScrollArea *emptyView; QSplitter *viewSplitter; QStatusBar *statusBar; QVBoxLayout *disabledLayout; QVBoxLayout *mainLayout; QWidget *disabledView; QWidget *mainWidget; EmulatorHandler *emulation; DDView *ddView; GridView *gridView; ListView *listView; RomCollection *romCollection; TableView *tableView; TheGamesDBScraper *scraper; TreeWidgetItem *fileItem; private slots: void addToView(Rom *currentRom, int count); void disableButtons(); void disableViews(bool imageUpdated); void enableButtons(); void enableViews(int romCount, bool cached); void launchRomFromMenu(); void launchRomFromTable(); void launchRomFromWidget(QWidget *current); void launchRomFromZip(); void openAbout(); void openConverter(); void openDeleteDialog(); void openDownloader(); void openLog(); void openSettings(); void openRom(); void showMenuBar(bool mouseAtTop); void showRomMenu(const QPoint &); void stopEmulator(); void toggleMenus(bool active); void update64DD(); void updateFullScreenMode(); void updateLayoutSetting(); void updateStatusBar(QString message, int timeout); void updateStatusBarView(); }; #endif // MAINWINDOW_H cen64-qt-20241110-alpha/src/roms/000077500000000000000000000000001471427717600161615ustar00rootroot00000000000000cen64-qt-20241110-alpha/src/roms/romcollection.cpp000066400000000000000000000417041471427717600215440ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "romcollection.h" #include "../global.h" #include "../common.h" #include "thegamesdbscraper.h" #include #include #include #include #include #include #include #include #include RomCollection::RomCollection(QStringList fileTypes, QStringList romPaths, QWidget *parent) : QObject(parent) { this->fileTypes = fileTypes; this->romPaths = romPaths; this->romPaths.removeAll(""); this->parent = parent; setupDatabase(); } Rom RomCollection::addRom(QByteArray *romData, QString fileName, QString directory, QString zipFile, QSqlQuery *query, bool ddRom) { Rom currentRom; currentRom.fileName = fileName; currentRom.directory = directory; if (ddRom) currentRom.internalName = ""; else currentRom.internalName = QString(romData->mid(32, 20)).trimmed(); currentRom.romMD5 = QString(QCryptographicHash::hash(*romData, QCryptographicHash::Md5).toHex()); currentRom.zipFile = zipFile; currentRom.sortSize = romData->size(); query->bindValue(":filename", currentRom.fileName); query->bindValue(":directory", currentRom.directory); query->bindValue(":internal_name", currentRom.internalName); query->bindValue(":md5", currentRom.romMD5); query->bindValue(":zip_file", currentRom.zipFile); query->bindValue(":size", currentRom.sortSize); if (ddRom) query->bindValue(":dd_rom", 1); else query->bindValue(":dd_rom", 0); query->exec(); if (!ddRom) initializeRom(¤tRom, false); return currentRom; } int RomCollection::addRoms() { emit updateStarted(); //Count files so we know how to setup the progress dialog int totalCount = 0; foreach (QString romPath, romPaths) { QDir romDir(romPath); if (romDir.exists()) { QStringList files = scanDirectory(romDir); totalCount += files.size(); } } QList roms; QList ddRoms; database.open(); QSqlQuery query("DELETE FROM rom_collection", database); if (totalCount != 0) { int count = 0; setupProgressDialog(totalCount); query.prepare(QString("INSERT INTO rom_collection ") + "(filename, directory, internal_name, md5, zip_file, size, dd_rom) " + "VALUES (:filename, :directory, :internal_name, :md5, :zip_file, :size, :dd_rom)"); scraper = new TheGamesDBScraper(parent); foreach (QString romPath, romPaths) { QDir romDir(romPath); QStringList files = scanDirectory(romDir); int romCount = 0; foreach (QString fileName, files) { QString completeFileName = romDir.absoluteFilePath(fileName); QFile file(completeFileName); //If file is a zip file, extract info from any zipped ROMs if (QFileInfo(file).suffix().toLower() == "zip") { foreach (QString zippedFile, getZippedFiles(completeFileName)) { //check for ROM files QByteArray *romData = getZippedRom(zippedFile, completeFileName); if (fileTypes.contains("*.v64")) *romData = byteswap(*romData); if (romData->left(4).toHex() == "80371240") { //Z64 ROM roms.append(addRom(romData, zippedFile, romPath, fileName, &query)); romCount++; } else if (romData->left(4).toHex() == "e848d316") { //64DD ROM ddRoms.append(addRom(romData, zippedFile, romPath, fileName, &query, true)); romCount++; } delete romData; } } else { //Just a normal file file.open(QIODevice::ReadOnly); QByteArray *romData = new QByteArray(file.readAll()); file.close(); if (fileTypes.contains("*.v64")) *romData = byteswap(*romData); if (romData->left(4).toHex() == "80371240") { //Z64 ROM roms.append(addRom(romData, fileName, romPath, "", &query)); romCount++; } else if (romData->left(4).toHex() == "e848d316") { //64DD ROM ddRoms.append(addRom(romData, fileName, romPath, "", &query, true)); romCount++; } delete romData; } count++; progress->setValue(count); QCoreApplication::processEvents(QEventLoop::AllEvents); } if (romCount == 0) QMessageBox::warning(parent, tr("Warning"), tr("No ROMs found in ") + romPath + "."); } delete scraper; progress->close(); } else if (romPaths.size() != 0) { QMessageBox::warning(parent, tr("Warning"), tr("No ROMs found.")); } database.close(); //Emit signals for regular roms std::sort(roms.begin(), roms.end(), romSorter); for (int i = 0; i < roms.size(); i++) emit romAdded(&roms[i], i); //Emit signals for 64DD roms std::sort(ddRoms.begin(), ddRoms.end(), romSorter); for (int i = 0; i < ddRoms.size(); i++) emit ddRomAdded(&ddRoms[i]); emit updateEnded(roms.size()); return roms.size(); } int RomCollection::cachedRoms(bool imageUpdated, bool onStartup) { emit updateStarted(imageUpdated); database.open(); QSqlQuery query(QString("SELECT filename, directory, md5, internal_name, zip_file, size, dd_rom ") + "FROM rom_collection", database); query.last(); int romCount = query.at() + 1; query.seek(-1); if (romCount == -1) //Nothing cached so try adding ROMs instead return addRoms(); //Check if user has data from TheGamesDB API v1 and update them to v2 data if (onStartup) { bool onV1 = false; QDir cacheDir(getCacheLocation()); if (!cacheDir.exists() && SETTINGS.value("Other/downloadinfo", "").toString() == "true") onV1 = true; if (onV1) return addRoms(); } QList roms; QList ddRoms; int count = 0; bool showProgress = false; QElapsedTimer checkPerformance; while (query.next()) { Rom currentRom; currentRom.fileName = query.value(0).toString(); currentRom.directory = query.value(1).toString(); currentRom.romMD5 = query.value(2).toString(); currentRom.internalName = query.value(3).toString(); currentRom.zipFile = query.value(4).toString(); currentRom.sortSize = query.value(5).toInt(); int ddRom = query.value(6).toInt(); //Check performance of adding first item to see if progress dialog needs to be shown if (count == 0) checkPerformance.start(); if (ddRom == 1) ddRoms.append(currentRom); else { initializeRom(¤tRom, true); roms.append(currentRom); } if (count == 0) { int runtime = checkPerformance.elapsed(); //check if operation expected to take longer than two seconds if (runtime * romCount > 2000) { setupProgressDialog(romCount); showProgress = true; } } count++; if (showProgress) { progress->setValue(count); QCoreApplication::processEvents(QEventLoop::AllEvents); } } database.close(); if (showProgress) progress->close(); //Emit signals for regular roms std::sort(roms.begin(), roms.end(), romSorter); for (int i = 0; i < roms.size(); i++) emit romAdded(&roms[i], i); //Emit signals for 64DD roms std::sort(ddRoms.begin(), ddRoms.end(), romSorter); for (int i = 0; i < ddRoms.size(); i++) emit ddRomAdded(&ddRoms[i]); emit updateEnded(roms.size(), true); return roms.size(); } QStringList RomCollection::getFileTypes(bool archives) { QStringList returnList = fileTypes; if (!archives) returnList.removeOne("*.zip"); return returnList; } void RomCollection::initializeRom(Rom *currentRom, bool cached) { QSettings *romCatalog = new QSettings(parent); QString catalogFile = SETTINGS.value("Paths/catalog", "").toString(); if (catalogFile == "") { QString dataPath = SETTINGS.value("Paths/data", "").toString(); QDir dataDir(dataPath); if (QFileInfo(dataDir.absoluteFilePath("mupen64plus.ini")).exists()) catalogFile = dataDir.absoluteFilePath("mupen64plus.ini"); } QDir romDir(currentRom->directory); //Default text for GoodName to notify user currentRom->goodName = getTranslation("Requires catalog file"); currentRom->imageExists = false; bool getGoodName = false; if (QFileInfo(catalogFile).exists()) { romCatalog = new QSettings(catalogFile, QSettings::IniFormat, parent); getGoodName = true; } QFile file(romDir.absoluteFilePath(currentRom->fileName)); currentRom->romMD5 = currentRom->romMD5.toUpper(); currentRom->baseName = QFileInfo(file).completeBaseName(); currentRom->size = QObject::tr("%1 MB").arg((currentRom->sortSize + 1023) / 1024 / 1024); if (getGoodName) { //Join GoodName on ", ", otherwise entries with a comma won't show QVariant gNameRaw = romCatalog->value(currentRom->romMD5+"/GoodName",getTranslation("Unknown ROM")); currentRom->goodName = gNameRaw.toStringList().join(", "); QStringList CRC = romCatalog->value(currentRom->romMD5+"/CRC","").toString().split(" "); if (CRC.size() == 2) { currentRom->CRC1 = CRC[0]; currentRom->CRC2 = CRC[1]; } QString newMD5 = romCatalog->value(currentRom->romMD5+"/RefMD5","").toString(); if (newMD5 == "") newMD5 = currentRom->romMD5; currentRom->players = romCatalog->value(newMD5+"/Players","").toString(); currentRom->saveType = romCatalog->value(newMD5+"/SaveType","").toString(); currentRom->rumble = romCatalog->value(newMD5+"/Rumble","").toString(); } if (!cached && SETTINGS.value("Other/downloadinfo", "").toString() == "true") { if (currentRom->goodName != getTranslation("Unknown ROM") && currentRom->goodName != getTranslation("Requires catalog file")) { scraper->downloadGameInfo(currentRom->romMD5, currentRom->goodName); } else { //tweak internal name by adding spaces to get better results QString search = currentRom->internalName; search.replace(QRegularExpression("([a-z])([A-Z])"),"\\1 \\2"); search.replace(QRegularExpression("([^ \\d])(\\d)"),"\\1 \\2"); scraper->downloadGameInfo(currentRom->romMD5, search); } } if (SETTINGS.value("Other/downloadinfo", "").toString() == "true") { QString dataFile = getCacheLocation() + currentRom->romMD5.toLower() + "/data.json"; QFile file(dataFile); file.open(QIODevice::ReadOnly); QString data = file.readAll(); file.close(); QJsonDocument document = QJsonDocument::fromJson(data.toUtf8()); QJsonObject json = document.object(); //Remove any non-standard characters QString regex = "[^A-Za-z 0-9 \\.,\\?'""!@#\\$%\\^&\\*\\(\\)-_=\\+;:<>\\/\\\\|\\}\\{\\[\\]`~é]*"; currentRom->gameTitle = json.value("game_title").toString().remove(QRegularExpression(regex)); if (currentRom->gameTitle == "") currentRom->gameTitle = getTranslation("Not found"); currentRom->releaseDate = json.value("release_date").toString(); currentRom->sortDate = json.value("release_date").toString(); currentRom->releaseDate.replace(QRegularExpression("(\\d{4})-(\\d{2})-(\\d{2})"), "\\2/\\3/\\1"); currentRom->overview = json.value("overview").toString().remove(QRegularExpression(regex)); currentRom->esrb = json.value("rating").toString(); currentRom->genre = json.value("genres").toString(); currentRom->publisher = json.value("publisher").toString(); currentRom->developer = json.value("developer").toString(); foreach (QString ext, QStringList() << "jpg" << "png") { QString imageFile = getCacheLocation() + currentRom->romMD5.toLower() + "/boxart-front." + ext; QFile cover(imageFile); if (cover.exists() && currentRom->image.load(imageFile)) { currentRom->imageExists = true; break; } } } } QStringList RomCollection::scanDirectory(QDir romDir) { QStringList files = romDir.entryList(fileTypes, QDir::Files | QDir::NoSymLinks); QStringList dirs = romDir.entryList(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks); foreach (QString dir, dirs) { QString subDir = romDir.absolutePath() + "/" + dir; QStringList subFiles = QDir(subDir).entryList(fileTypes, QDir::Files | QDir::NoSymLinks); foreach (QString subFile, subFiles) files << dir + "/" + subFile; } return files; } void RomCollection::setupDatabase() { // Bump this when updating rom_collection structure // Will cause clients to delete and recreate the table int dbVersion = 2; database = QSqlDatabase::addDatabase("QSQLITE"); database.setDatabaseName(getDataLocation() + "/"+AppNameLower+".sqlite"); if (!database.open()) QMessageBox::warning(parent, tr("Database Not Loaded"), tr("Could not connect to Sqlite database. Application may misbehave.")); QSqlQuery version(database); version.exec("PRAGMA user_version"); version.next(); if (version.value(0).toInt() != dbVersion) { //old database version, reset rom_collection version.finish(); QSqlQuery drop(database); drop.exec("DROP TABLE rom_collection; PRAGMA user_version = " + QString::number(dbVersion)); drop.finish(); } QSqlQuery create(database); create.exec(QString() + "CREATE TABLE IF NOT EXISTS rom_collection (" + "rom_id INTEGER PRIMARY KEY ASC, " + "filename TEXT NOT NULL, " + "directory TEXT NOT NULL, " + "md5 TEXT NOT NULL, " + "internal_name TEXT, " + "zip_file TEXT, " + "size INTEGER, " + "dd_rom INTEGER)"); create.finish(); database.close(); } void RomCollection::setupProgressDialog(int size) { progress = new QProgressDialog(tr("Loading ROMs..."), tr("Cancel"), 0, size, parent); progress->setWindowFlags(progress->windowFlags() & ~Qt::WindowCloseButtonHint); progress->setWindowFlags(progress->windowFlags() & ~Qt::WindowMinimizeButtonHint); progress->setWindowFlags(progress->windowFlags() & ~Qt::WindowContextHelpButtonHint); progress->setCancelButton(nullptr); progress->setWindowModality(Qt::WindowModal); progress->show(); } void RomCollection::updatePaths(QStringList romPaths) { this->romPaths = romPaths; this->romPaths.removeAll(""); } cen64-qt-20241110-alpha/src/roms/romcollection.h000066400000000000000000000054501471427717600212070ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef ROMCOLLECTION_H #define ROMCOLLECTION_H #include #include #include class QDir; class QProgressDialog; class TheGamesDBScraper; struct Rom; class RomCollection : public QObject { Q_OBJECT public: explicit RomCollection(QStringList fileTypes, QStringList romPaths, QWidget *parent = 0); int cachedRoms(bool imageUpdated = false, bool onStartup = false); void updatePaths(QStringList romPaths); QStringList getFileTypes(bool archives = false); QStringList romPaths; public slots: int addRoms(); signals: void ddRomAdded(Rom *currentRom); void romAdded(Rom *currentRom, int count); void updateEnded(int romCount, bool cached = false); void updateStarted(bool imageUpdated = false); private: void initializeRom(Rom *currentRom, bool cached); void setupDatabase(); void setupProgressDialog(int size); Rom addRom(QByteArray *romData, QString fileName, QString directory, QString zipFile, QSqlQuery *query, bool ddRom = false); QStringList fileTypes; QStringList scanDirectory(QDir romDir); QWidget *parent; QProgressDialog *progress; QSqlDatabase database; TheGamesDBScraper *scraper; }; #endif // ROMCOLLECTION_H cen64-qt-20241110-alpha/src/roms/thegamesdbscraper.cpp000066400000000000000000000416541471427717600223620ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "thegamesdbscraper.h" #include "../global.h" #include "../common.h" #include #include #include #include #include #include #include #include #include #include #include #include TheGamesDBScraper::TheGamesDBScraper(QWidget *parent, bool force) : QObject(parent) { this->parent = parent; this->force = force; this->keepGoing = true; } QString TheGamesDBScraper::convertIDs(QJsonObject foundGame, QString typeName, QString listName) { QJsonArray idArray = foundGame.value(typeName).toArray(); QString cacheFileString = getCacheLocation() + typeName + ".json"; QFile cacheFile(cacheFileString); cacheFile.open(QIODevice::ReadOnly); QString data = cacheFile.readAll(); cacheFile.close(); QJsonDocument document = QJsonDocument::fromJson(data.toUtf8()); QJsonObject cache = document.object(); QString result = ""; foreach (QJsonValue id, idArray) { QString entryID = QString::number(id.toInt()); QString entryName = cache.value(entryID).toObject().value("name").toString(); if (entryName == "") { updateListCache(&cacheFile, listName); cacheFile.open(QIODevice::ReadOnly); data = cacheFile.readAll(); cacheFile.close(); document = QJsonDocument::fromJson(data.toUtf8()); entryName = cache.value(entryID).toObject().value("name").toString(); } if (entryName != "") result += entryName + ", "; } int pos = result.lastIndexOf(QChar(',')); return result.left(pos); } void TheGamesDBScraper::deleteGameInfo(QString fileName, QString identifier) { QString text; text = QString(tr("NOTE: If you are deleting this game's information because the game doesn't ")) + tr("exist on TheGamesDB and pulled the information for different game, it's ") + tr("better to create an account on")+" TheGamesDB " + tr("and add the game so other users can benefit as well.") + "

" + tr("This will cause to not update the information for this game until you ") + tr("force it with \"Download/Update Info...\"") + "

" + tr("Delete the current information for") + " " + fileName + "?"; text.replace("",AppName); int answer = QMessageBox::question(parent, tr("Delete Game Information"), text, QMessageBox::Yes | QMessageBox::No); if (answer == QMessageBox::Yes) { QString gameCache = getCacheLocation() + identifier.toLower(); QString dataFile = gameCache + "/data.xml"; QFile file(dataFile); // Remove game information file.open(QIODevice::WriteOnly); QTextStream stream(&file); stream << "NULL"; file.close(); // Remove cover image QString coverFile = gameCache + "/boxart-front."; QFile coverJPG(coverFile + "jpg"); QFile coverPNG(coverFile + "png"); if (coverJPG.exists()) coverJPG.remove(); if (coverPNG.exists()) coverPNG.remove(); coverJPG.open(QIODevice::WriteOnly); QTextStream streamImage(&coverJPG); streamImage << ""; coverJPG.close(); } } void TheGamesDBScraper::downloadGameInfo(QString identifier, QString searchName, QString gameID) { if (keepGoing && identifier != "") { if (force) parent->setEnabled(false); bool updated = false; QString gameCache = getCacheLocation() + identifier.toLower(); QDir cache(gameCache); if (!cache.exists()) { cache.mkpath(gameCache); } QFile genres(getCacheLocation() + "genres.json"); if (!genres.exists()) updateListCache(&genres, "Genres"); QFile developers(getCacheLocation() + "developers.json"); if (!developers.exists()) updateListCache(&developers, "Developers"); QFile publishers(getCacheLocation() + "publishers.json"); if (!publishers.exists()) updateListCache(&publishers, "Publishers"); //Get game JSON info from thegamesdb.net QString dataFile = gameCache + "/data.json"; QFile file(dataFile); if (!file.exists() || file.size() == 0 || force) { QUrl url; //Remove [!], (U), etc. from GoodName for searching searchName.remove(QRegularExpression("\\W*(\\(|\\[).+(\\)|\\])\\W*")); //Few game specific hacks if (searchName == "Legend of Zelda, The - Majora's Mask" || searchName == "ZELDA MAJORA'S MASK") searchName = "Majora's Mask"; else if (searchName == "Legend of Zelda, The - Ocarina of Time" || searchName == "THE LEGEND OF ZELDA") searchName = "The Legend of Zelda: Ocarina of Time"; else if (searchName.toLower().startsWith("tsumi to batsu")) searchName = "Sin and Punishment"; else if (searchName.toLower() == "1080 snowboarding") searchName = "1080: TenEighty Snowboarding"; else if (searchName == "Extreme-G XG2" || searchName == "Extreme G 2") searchName = "Extreme-G 2"; else if (searchName.contains("Pokemon", Qt::CaseInsensitive)) searchName.replace("Pokemon", "Pokémon", Qt::CaseInsensitive); else if (searchName.toLower() == "smash brothers") searchName = "Super Smash Bros."; else if (searchName.toLower() == "conker bfd") searchName = "Conker's Bad Fur Day"; QString apiFilter = "&filter[platform]=3&include=boxart&fields=game_title,release_date,"; apiFilter += "developers,publishers,genres,overview,rating,players"; QString apiURL = SETTINGS.value("TheGamesDB/url", "https://api.thegamesdb.net/").toString(); QString gameIDPrefix = SETTINGS.value("TheGamesDB/ByGameID", "/v1/Games/ByGameID").toString(); QString gameNamePrefix = SETTINGS.value("TheGamesDB/ByGameName", "/v1.1/Games/ByGameName").toString(); //If user submits gameID, use that if (gameID != "") url.setUrl(apiURL + gameIDPrefix + "?apikey=" + TheGamesDBAPIKey + "&id=" + gameID + apiFilter); else url.setUrl(apiURL + gameNamePrefix + "?apikey=" + TheGamesDBAPIKey + "&name=" + searchName + apiFilter); QString data = getUrlContents(url); QJsonDocument document = QJsonDocument::fromJson(data.toUtf8()); QJsonObject json = document.object(); if (json.value("code").toInt() != 200 && json.value("code").toInt() != 0) { QString status = json.value("status").toString(); QString message; message = QString(tr("The following error from TheGamesDB occured while downloading:")) + "

" + status + "

"; showError(message); if (force) parent->setEnabled(true); return; } QJsonValue games = json.value("data").toObject().value("games"); QJsonArray gamesArray = games.toArray(); int count = 0, found = 0; foreach (QJsonValue game, gamesArray) { QJsonValue title = game.toObject().value("game_title"); if (force) { //from user dialog QJsonValue date = game.toObject().value("release_date"); QString check = "Game: " + title.toString(); check.remove(QRegularExpression(QString("[^A-Za-z 0-9 \\.,\\?'""!@#\\$%\\^&\\*\\") + "(\\)-_=\\+;:<>\\/\\\\|\\}\\{\\[\\]`~é]*")); if (date.toString() != "") check += "\n" + tr("Released on: ") + date.toString(); check += "\n\n" + tr("Does this look correct?"); int answer = QMessageBox::question(parent, QObject::tr("Game Information Download"), check, QMessageBox::Yes | QMessageBox::No); if (answer == QMessageBox::Yes) { found = count; updated = true; break; } } else { //We only want one game, so search for a perfect match in the GameTitle element. //Otherwise this will default to 0 (the first game found) if(title.toString().toLower() == searchName.toLower()) found = count; } count++; } if (!force || updated) { QJsonObject foundGame = gamesArray.at(found).toObject(); QJsonObject saveData; QString gameID = QString::number(foundGame.value("id").toInt()); QJsonObject boxart = json.value("include").toObject().value("boxart").toObject(); QString thumbURL = boxart.value("base_url").toObject().value("thumb").toString(); QJsonArray imgArray = boxart.value("data").toObject().value(gameID).toArray(); QString frontImg = ""; foreach (QJsonValue img, imgArray) { QString type = img.toObject().value("type").toString(); QString side = img.toObject().value("side").toString(); QString filename = img.toObject().value("filename").toString(); if (type == "boxart" && side == "front") frontImg = thumbURL + filename; } //Convert IDs from API to text names QString genresString = convertIDs(foundGame, "genres", "Genres"); QString developerString = convertIDs(foundGame, "developers", "Developers"); QString publisherString = convertIDs(foundGame, "publishers", "Publishers"); QString players = QString::number(foundGame.value("players").toInt()); if (players == "0") players = ""; saveData.insert("game_title", foundGame.value("game_title").toString()); saveData.insert("release_date", foundGame.value("release_date").toString()); saveData.insert("rating", foundGame.value("rating").toString()); saveData.insert("overview", foundGame.value("overview").toString()); saveData.insert("players", players); saveData.insert("boxart", frontImg); saveData.insert("genres", genresString); saveData.insert("developer", developerString); saveData.insert("publisher", publisherString); QJsonDocument document(saveData); file.open(QIODevice::WriteOnly); file.write(document.toJson()); file.close(); } if (force && !updated) { QString message; if (count == 0) message = QObject::tr("No results found."); else message = QObject::tr("No more results found."); QMessageBox::information(parent, QObject::tr("Game Information Download"), message); } } //Get front cover QString boxartURL = ""; QString boxartExt = ""; QString coverFile = gameCache + "/boxart-front."; QFile coverJPG(coverFile + "jpg"); QFile coverPNG(coverFile + "png"); if ((!coverJPG.exists() && !coverPNG.exists()) || (force && updated)) { file.open(QIODevice::ReadOnly); QString data = file.readAll(); file.close(); QJsonDocument document = QJsonDocument::fromJson(data.toUtf8()); QJsonObject json = document.object(); QString boxartURL = json.value("boxart").toString(); if (boxartURL != "") { QUrl url(boxartURL); //Delete current box art QFile::remove(coverFile + "jpg"); QFile::remove(coverFile + "png"); //Check to save as JPG or PNG boxartExt = QFileInfo(boxartURL).completeSuffix().toLower(); QFile cover(coverFile + boxartExt); cover.open(QIODevice::WriteOnly); cover.write(getUrlContents(url)); cover.close(); } } if (updated) QMessageBox::information(parent, QObject::tr("Game Information Download"), QObject::tr("Download Complete!")); if (force) parent->setEnabled(true); } } QByteArray TheGamesDBScraper::getUrlContents(QUrl url) { QNetworkAccessManager *manager = new QNetworkAccessManager; QNetworkRequest request; request.setUrl(url); request.setRawHeader("User-Agent", AppName.toUtf8().constData()); QNetworkReply *reply = manager->get(request); QTimer timer; timer.setSingleShot(true); QEventLoop loop; connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit())); int time = SETTINGS.value("Other/networktimeout", 10).toInt(); if (time == 0) time = 10; time *= 1000; timer.start(time); loop.exec(); if(timer.isActive()) { //Got reply timer.stop(); if(reply->error() > 0) showError(reply->errorString()); else return reply->readAll(); } else //Request timed out showError(tr("Request timed out. Check your network settings.")); return QByteArray(); } void TheGamesDBScraper::showError(QString error) { QString question = "\n\n" + tr("Continue scraping information?"); if (force) QMessageBox::information(parent, tr("Network Error"), error); else { int answer = QMessageBox::question(parent, tr("Network Error"), error + question, QMessageBox::Yes | QMessageBox::No); if (answer == QMessageBox::No) keepGoing = false; } } void TheGamesDBScraper::updateListCache(QFile *file, QString list) { if (keepGoing) { QUrl url; QString apiURL = SETTINGS.value("TheGamesDB/url", "https://api.thegamesdb.net/").toString(); QString prefix; if (list == "Genres") prefix = SETTINGS.value("TheGamesDB/Genres", "/v1/Genres").toString(); else if (list == "Developers") prefix = SETTINGS.value("TheGamesDB/Developers", "/v1/Developers").toString(); else if (list == "Publishers") prefix = SETTINGS.value("TheGamesDB/Publishers", "/v1/Publishers").toString(); url.setUrl(apiURL + prefix + "?apikey=" + TheGamesDBAPIKey); QString data = getUrlContents(url); QJsonDocument document = QJsonDocument::fromJson(data.toUtf8()); QJsonDocument result(document.object().value("data").toObject().value(list.toLower()).toObject()); file->open(QIODevice::WriteOnly); file->write(result.toJson()); file->close(); } } cen64-qt-20241110-alpha/src/roms/thegamesdbscraper.h000066400000000000000000000043661471427717600220260ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef THEGAMESDBSCRAPER_H #define THEGAMESDBSCRAPER_H #include #include class QUrl; class TheGamesDBScraper : public QObject { Q_OBJECT public: explicit TheGamesDBScraper(QWidget *parent = 0, bool force = false); void deleteGameInfo(QString fileName, QString identifier); void downloadGameInfo(QString identifier, QString searchName, QString gameID = ""); private: QString convertIDs(QJsonObject foundGame, QString typeName, QString listName); QByteArray getUrlContents(QUrl url); void showError(QString error); void updateListCache(QFile *file, QString list); bool force; bool keepGoing; QWidget *parent; }; #endif // THEGAMESDBSCRAPER_H cen64-qt-20241110-alpha/src/views/000077500000000000000000000000001471427717600163365ustar00rootroot00000000000000cen64-qt-20241110-alpha/src/views/ddview.cpp000066400000000000000000000066411471427717600203330ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "ddview.h" #include "../common.h" #include "../global.h" #include "widgets/treewidgetitem.h" #include #include DDView::DDView(QWidget *parent) : QTreeWidget(parent) { this->parent = parent; setWordWrap(false); setAllColumnsShowFocus(true); setRootIsDecorated(false); setStyleSheet("QTreeView { border: none; } QTreeView::item { height: 25px; }"); setHeaderLabels(QStringList() << "" << "" << "" << "" << "" << "64DD ROM"); header()->setHidden(true); setColumnHidden(0, true); //Hidden filename for launching emulator setColumnHidden(1, true); //Hidden directory of ROM location setColumnHidden(2, true); //Hidden goodname for searching setColumnHidden(3, true); //Hidden md5 for cache info setColumnHidden(4, true); //Hidden column for zip file setHidden(true); } void DDView::addNoDiskRow() { fileItem = new TreeWidgetItem(this); fileItem->setText(5, tr("No Disk")); fileItem->setForeground(5, QBrush(Qt::gray)); addTopLevelItem(fileItem); } void DDView::addTo64DDView(Rom *currentRom) { fileItem = new TreeWidgetItem(this); fileItem->setText(0, currentRom->fileName); //Filename for launching ROM fileItem->setText(1, currentRom->directory); //Directory ROM is located in fileItem->setText(2, ""); //GoodName or Internal Name for searching (currently blank) fileItem->setText(3, currentRom->romMD5.toLower()); //MD5 for cache info fileItem->setText(4, currentRom->zipFile); //Zip file fileItem->setText(5, QFileInfo(currentRom->fileName).completeBaseName()); //Visible filename addTopLevelItem(fileItem); } QString DDView::getCurrentRomInfo(QString infoName) { int index = getTableDataIndexFromName(infoName); return QVariant(currentItem()->data(index, 0)).toString(); } bool DDView::hasSelectedRom() { return currentItem() != nullptr; } cen64-qt-20241110-alpha/src/views/ddview.h000066400000000000000000000037461471427717600200030ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef DDVIEW_H #define DDVIEW_H #include class TreeWidgetItem; struct Rom; class DDView : public QTreeWidget { Q_OBJECT public: explicit DDView(QWidget *parent = 0); void addNoDiskRow(); QString getCurrentRomInfo(QString infoName); bool hasSelectedRom(); private: QWidget *parent; TreeWidgetItem *fileItem; private slots: void addTo64DDView(Rom *currentRom); }; #endif // DDVIEW_H cen64-qt-20241110-alpha/src/views/gridview.cpp000066400000000000000000000307511471427717600206700ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "gridview.h" #include "../global.h" #include "../common.h" #include "widgets/clickablewidget.h" #include #include #include #include #include #include #include GridView::GridView(QWidget *parent) : QScrollArea(parent) { this->parent = parent; setObjectName("gridView"); setStyleSheet("#gridView { border: none; }"); setBackgroundRole(QPalette::Dark); setAlignment(Qt::AlignHCenter); setHidden(true); setGridBackground(); gridWidget = new QWidget(this); gridWidget->setObjectName("gridWidget"); gridWidget->setStyleSheet("#gridWidget { background: transparent; }"); setWidget(gridWidget); gridLayout = new QGridLayout(gridWidget); gridLayout->setSizeConstraint(QLayout::SetMinAndMaxSize); gridLayout->setRowMinimumHeight(0, 10); gridWidget->setLayout(gridLayout); gridCurrent = false; currentGridRom = 0; } void GridView::addToGridView(Rom *currentRom, int count, bool ddEnabled) { if (ddEnabled) // Add place for "No Cart" entry count++; ClickableWidget *gameGridItem = new ClickableWidget(gridWidget); gameGridItem->setMinimumWidth(getGridSize("width")); gameGridItem->setMaximumWidth(getGridSize("width")); gameGridItem->setGraphicsEffect(getShadow(false)); gameGridItem->setContextMenuPolicy(Qt::CustomContextMenu); //Assign ROM data to widget for use in click events gameGridItem->setProperty("fileName", currentRom->fileName); gameGridItem->setProperty("directory", currentRom->directory); if (currentRom->goodName == getTranslation("Unknown ROM") || currentRom->goodName == getTranslation("Requires catalog file")) gameGridItem->setProperty("search", currentRom->internalName); else gameGridItem->setProperty("search", currentRom->goodName); gameGridItem->setProperty("romMD5", currentRom->romMD5); gameGridItem->setProperty("zipFile", currentRom->zipFile); QGridLayout *gameGridLayout = new QGridLayout(gameGridItem); gameGridLayout->setColumnStretch(0, 1); gameGridLayout->setColumnStretch(3, 1); gameGridLayout->setRowMinimumHeight(1, getImageSize("Grid").height()); QLabel *gridImageLabel = new QLabel(gameGridItem); gridImageLabel->setMinimumHeight(getImageSize("Grid").height()); gridImageLabel->setMinimumWidth(getImageSize("Grid").width()); QPixmap image; if (currentRom->imageExists) { //Use uniform aspect ratio to account for fluctuations in TheGamesDB box art Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio; //Don't warp aspect ratio though if image is too far away from standard size (JP box art) double aspectRatio = double(currentRom->image.width()) / currentRom->image.height(); if (aspectRatio < 1.1 || aspectRatio > 1.8) aspectRatioMode = Qt::KeepAspectRatio; image = currentRom->image.scaled(getImageSize("Grid"), aspectRatioMode, Qt::SmoothTransformation); } else { if (ddEnabled && count == 0) image = QPixmap(":/images/no-cart.png").scaled(getImageSize("Grid"), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); else image = QPixmap(":/images/not-found.png").scaled(getImageSize("Grid"), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); } gridImageLabel->setPixmap(image); gridImageLabel->setAlignment(Qt::AlignCenter); gameGridLayout->addWidget(gridImageLabel, 1, 1); if (SETTINGS.value("Grid/label","true") == "true") { QLabel *gridTextLabel = new QLabel(gameGridItem); //Don't allow label to be wider than image gridTextLabel->setMaximumWidth(getImageSize("Grid").width()); QString text = ""; QString labelText = SETTINGS.value("Grid/labeltext","Filename").toString(); text = getRomInfo(labelText, currentRom); if (ddEnabled && count == 0) text = tr("No Cart"); gridTextLabel->setText(text); QString textHex = getColor(SETTINGS.value("Grid/labelcolor","White").toString()).name(); int fontSize = getGridSize("font"); gridTextLabel->setStyleSheet("QLabel { font-weight: bold; color: " + textHex + "; font-size: " + QString::number(fontSize) + "px; }"); gridTextLabel->setWordWrap(true); gridTextLabel->setAlignment(Qt::AlignHCenter | Qt::AlignTop); gameGridLayout->addWidget(gridTextLabel, 2, 1); } gameGridItem->setLayout(gameGridLayout); gameGridItem->setMinimumHeight(gameGridItem->sizeHint().height()); int columnCount; if (SETTINGS.value("Grid/autocolumns","true").toString() == "true") columnCount = viewport()->width() / (getGridSize("width") + 10); else columnCount = SETTINGS.value("Grid/columncount", "4").toInt(); if (columnCount == 0) columnCount = 1; gridLayout->addWidget(gameGridItem, count / columnCount + 1, count % columnCount + 1); gridWidget->adjustSize(); connect(gameGridItem, SIGNAL(singleClicked(QWidget*)), this, SLOT(highlightGridWidget(QWidget*))); connect(gameGridItem, SIGNAL(doubleClicked(QWidget*)), parent, SLOT(launchRomFromWidget(QWidget*))); connect(gameGridItem, SIGNAL(arrowPressed(QWidget*, QString)), this, SLOT(selectNextRom(QWidget*, QString))); connect(gameGridItem, SIGNAL(enterPressed(QWidget*)), parent, SLOT(launchRomFromWidget(QWidget*))); connect(gameGridItem, SIGNAL(customContextMenuRequested(const QPoint &)), parent, SLOT(showRomMenu(const QPoint &))); } int GridView::getCurrentRom() { return currentGridRom; } QString GridView::getCurrentRomInfo(QString infoName) { const char *property = infoName.toUtf8().constData(); if (gridLayout->count() > currentGridRom) return gridLayout->itemAt(currentGridRom)->widget()->property(property).toString(); return ""; } QWidget *GridView::getCurrentRomWidget() { return gridLayout->itemAt(currentGridRom)->widget(); } bool GridView::hasSelectedRom() { return gridCurrent; } void GridView::highlightGridWidget(QWidget *current) { current->setFocus(); //Set all to inactive shadow QLayoutItem *gridItem; for (int item = 0; (gridItem = gridLayout->itemAt(item)) != nullptr; item++) { gridItem->widget()->setGraphicsEffect(getShadow(false)); if (gridItem->widget() == current) currentGridRom = item; } //Set current to active shadow current->setGraphicsEffect(getShadow(true)); gridCurrent = true; emit gridItemSelected(true); } void GridView::keyPressEvent(QKeyEvent *event) { if ((event->key() == Qt::Key_Down || event->key() == Qt::Key_Right) && gridLayout->count() > 0) { highlightGridWidget(gridLayout->itemAt(0)->widget()); ensureWidgetVisible(gridLayout->itemAt(0)->widget()); } else QScrollArea::keyPressEvent(event); } void GridView::resetView() { QLayoutItem *gridItem; while ((gridItem = gridLayout->takeAt(0)) != nullptr) { delete gridItem->widget(); delete gridItem; } gridCurrent = false; } void GridView::resizeEvent(QResizeEvent *event) { int check = event->size().width() / (getGridSize("width") + 10); bool autoAdjustColumns = SETTINGS.value("Grid/autocolumns","true").toString() == "true"; if (autoAdjustColumns && check != autoColumnCount && check != 0) { autoColumnCount = check; updateGridColumns(event->size().width()); } else QScrollArea::resizeEvent(event); } void GridView::saveGridPosition() { positionx = horizontalScrollBar()->value(); positiony = verticalScrollBar()->value(); if (gridCurrent) savedGridRom = currentGridRom; else savedGridRom = -1; savedGridRomFilename = getCurrentRomInfo("fileName"); } void GridView::selectNextRom(QWidget* current, QString keypress) { int columnCount; if (SETTINGS.value("Grid/autocolumns","true").toString() == "true") columnCount = autoColumnCount; else columnCount = SETTINGS.value("Grid/columncount", "4").toInt(); int offset = 0; if (keypress == "UP") offset = columnCount * -1; else if (keypress == "DOWN") offset = columnCount; else if (keypress == "RIGHT") offset = 1; else if (keypress == "LEFT") offset = -1; QLayoutItem *gridItem; for (int item = 0; (gridItem = gridLayout->itemAt(item)) != nullptr; item++) { if (gridItem->widget() == current && item + offset >= 0 && gridLayout->itemAt(item + offset) != nullptr) { ensureWidgetVisible(gridLayout->itemAt(item + offset)->widget()); highlightGridWidget(gridLayout->itemAt(item + offset)->widget()); } } } void GridView::setGridBackground() { QString theme = SETTINGS.value("Grid/theme", "Normal").toString(); if (theme == "Light") setStyleSheet("#gridView { border: none; background: #FFF; } #gridWidget { background: transparent; }"); else if (theme == "Dark") setStyleSheet("#gridView { border: none; background: #222; } #gridWidget { background: transparent; }"); else setStyleSheet("#gridView { border: none; }"); QString background = SETTINGS.value("Grid/background", "").toString(); if (background != "") { QFile backgroundFile(background); if (backgroundFile.exists() && !QFileInfo(backgroundFile).isDir()) setStyleSheet(QString() + "#gridView { " + "border: none; " + "background: url(" + background + "); " + "background-attachment: fixed; " + "background-position: top center; " + "} #gridWidget { background: transparent; } " ); } } void GridView::setGridPosition() { horizontalScrollBar()->setValue(positionx); verticalScrollBar()->setValue(positiony); //Restore selected ROM if it is in the same position if (savedGridRom != -1 && gridLayout->count() > savedGridRom) { QWidget *checkWidget = gridLayout->itemAt(savedGridRom)->widget(); if (checkWidget->property("fileName").toString() == savedGridRomFilename) highlightGridWidget(checkWidget); } if (SETTINGS.value("Grid/autocolumns","true").toString() == "true") setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); else setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); } void GridView::updateGridColumns(int width) { int columnCount = width / (getGridSize("width") + 10); int gridCount = gridLayout->count(); QList gridItems; for (int count = 0; count < gridCount; count++) gridItems << gridLayout->takeAt(0)->widget(); int count = 0; foreach(QWidget *gridItem, gridItems) { gridLayout->addWidget(gridItem, count / columnCount + 1, count % columnCount + 1); count++; } gridWidget->adjustSize(); } cen64-qt-20241110-alpha/src/views/gridview.h000066400000000000000000000051751471427717600203370ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef GRIDVIEW_H #define GRIDVIEW_H #include class QGridLayout; struct Rom; class GridView : public QScrollArea { Q_OBJECT public: explicit GridView(QWidget *parent = 0); void addToGridView(Rom *currentRom, int count, bool ddEnabled); int getCurrentRom(); QString getCurrentRomInfo(QString infoName); QWidget *getCurrentRomWidget(); bool hasSelectedRom(); void resetView(); void saveGridPosition(); void setGridBackground(); protected: void keyPressEvent(QKeyEvent *event); void resizeEvent(QResizeEvent *event); signals: void gridItemSelected(bool active); private: void updateGridColumns(int width); int autoColumnCount; int currentGridRom; bool gridCurrent; int savedGridRom; QString savedGridRomFilename; int positionx; int positiony; QGridLayout *gridLayout; QWidget *gridWidget; QWidget *parent; private slots: void highlightGridWidget(QWidget *current); void selectNextRom(QWidget *current, QString keypress); void setGridPosition(); }; #endif // GRIDVIEW_H cen64-qt-20241110-alpha/src/views/listview.cpp000066400000000000000000000253631471427717600207210ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "listview.h" #include "../global.h" #include "../common.h" #include "widgets/clickablewidget.h" #include #include #include #include #include #include #include #include ListView::ListView(QWidget *parent) : QScrollArea(parent) { this->parent = parent; setObjectName("listView"); setWidgetResizable(true); setHidden(true); setListBackground(); listWidget = new QWidget(this); listWidget->setObjectName("listWidget"); setWidget(listWidget); listLayout = new QVBoxLayout(listWidget); listLayout->setSizeConstraint(QLayout::SetMinAndMaxSize); listWidget->setLayout(listLayout); listCurrent = false; currentListRom = 0; } void ListView::addToListView(Rom *currentRom, int count, bool ddEnabled) { if (ddEnabled) // Add place for "No Cart" entry count++; QStringList visible = SETTINGS.value("List/columns", "Filename|Internal Name|Size").toString().split("|"); if (visible.join("") == "" && SETTINGS.value("List/displaycover", "") != "true") //Otherwise no columns, so don't bother populating return; ClickableWidget *gameListItem = new ClickableWidget(listWidget); gameListItem->setContentsMargins(0, 0, 20, 0); gameListItem->setContextMenuPolicy(Qt::CustomContextMenu); if (SETTINGS.value("List/theme","Light").toString() == "Dark") gameListItem->setStyleSheet("color:#EEE;"); //Assign ROM data to widget for use in click events gameListItem->setProperty("fileName", currentRom->fileName); gameListItem->setProperty("directory", currentRom->directory); if (currentRom->goodName == getTranslation("Unknown ROM") || currentRom->goodName == getTranslation("Requires catalog file")) gameListItem->setProperty("search", currentRom->internalName); else gameListItem->setProperty("search", currentRom->goodName); gameListItem->setProperty("romMD5", currentRom->romMD5); gameListItem->setProperty("zipFile", currentRom->zipFile); QGridLayout *gameListLayout = new QGridLayout(gameListItem); gameListLayout->setColumnStretch(3, 1); //Add image if (SETTINGS.value("List/displaycover", "") == "true") { QLabel *listImageLabel = new QLabel(gameListItem); listImageLabel->setMinimumHeight(getImageSize("List").height()); listImageLabel->setMinimumWidth(getImageSize("List").width()); QPixmap image; if (currentRom->imageExists) image = currentRom->image.scaled(getImageSize("List"), Qt::KeepAspectRatio, Qt::SmoothTransformation); else { if (ddEnabled && count == 0) image = QPixmap(":/images/no-cart.png").scaled(getImageSize("List"), Qt::KeepAspectRatio, Qt::SmoothTransformation); else image = QPixmap(":/images/not-found.png").scaled(getImageSize("List"), Qt::KeepAspectRatio, Qt::SmoothTransformation); } listImageLabel->setPixmap(image); listImageLabel->setAlignment(Qt::AlignCenter); gameListLayout->addWidget(listImageLabel, 0, 1); } //Create text label QLabel *listTextLabel = new QLabel("", gameListItem); QString listText = ""; int i = 0; foreach (QString current, visible) { QString addition = ""; if (i == 0 && SETTINGS.value("List/firstitemheader","true") == "true") addition += "

"; else addition += "
" + getTranslation(current) + ": "; addition += getRomInfo(current, currentRom, true); if (i == 0 && SETTINGS.value("List/firstitemheader","true") == "true") addition += "

"; else addition += ""; if (addition.right(12) != ": ") listText += addition; i++; } if (ddEnabled && count == 0) listText = "

" + tr("No Cart") + "

"; listTextLabel->setText(listText); listTextLabel->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); listTextLabel->setWordWrap(true); QFont font = listTextLabel->font(); font.setPointSize(getTextSize()); listTextLabel->setFont(font); gameListLayout->addWidget(listTextLabel, 0, 3); gameListLayout->setColumnMinimumWidth(0, 20); gameListLayout->setColumnMinimumWidth(2, 10); gameListItem->setLayout(gameListLayout); if (count != 0) { QFrame *separator = new QFrame(); separator->setFrameShape(QFrame::HLine); separator->setStyleSheet("margin:0;padding:0;"); QPalette palette = separator->palette(); if (SETTINGS.value("List/theme","Light").toString() == "Dark") palette.setColor(QPalette::Window, Qt::black); else palette.setColor(QPalette::Window, Qt::gray); separator->setPalette(palette); listLayout->addWidget(separator); } listLayout->addWidget(gameListItem); connect(gameListItem, SIGNAL(singleClicked(QWidget*)), this, SLOT(highlightListWidget(QWidget*))); connect(gameListItem, SIGNAL(doubleClicked(QWidget*)), parent, SLOT(launchRomFromWidget(QWidget*))); connect(gameListItem, SIGNAL(arrowPressed(QWidget*, QString)), this, SLOT(selectNextRom(QWidget*, QString))); connect(gameListItem, SIGNAL(enterPressed(QWidget*)), parent, SLOT(launchRomFromWidget(QWidget*))); connect(gameListItem, SIGNAL(customContextMenuRequested(const QPoint &)), parent, SLOT(showRomMenu(const QPoint &))); } int ListView::getCurrentRom() { return currentListRom; } QString ListView::getCurrentRomInfo(QString infoName) { const char *property = infoName.toUtf8().constData(); if (listLayout->count() > currentListRom) return listLayout->itemAt(currentListRom)->widget()->property(property).toString(); return ""; } QWidget *ListView::getCurrentRomWidget() { return listLayout->itemAt(currentListRom)->widget(); } bool ListView::hasSelectedRom() { return listCurrent; } void ListView::highlightListWidget(QWidget *current) { current->setFocus(); QLayoutItem *listItem; for (int item = 0; (listItem = listLayout->itemAt(item)) != nullptr; item++) { if (listItem->widget() == current) currentListRom = item; } //Give current left margin to stand out //Delay with QTimer so right-click menu appears correctly QTimer::singleShot(5, this, SLOT(highlightListWidgetSetMargin())); listCurrent = true; emit listItemSelected(true); } void ListView::highlightListWidgetSetMargin() { //Reset all margins QLayoutItem *listItem; for (int item = 0; (listItem = listLayout->itemAt(item)) != nullptr; item++) listItem->widget()->setContentsMargins(0, 0, 20, 0); getCurrentRomWidget()->setContentsMargins(20, 0, 0, 0); } void ListView::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Down && listLayout->count() > 0) { highlightListWidget(listLayout->itemAt(0)->widget()); ensureWidgetVisible(listLayout->itemAt(0)->widget()); } else QScrollArea::keyPressEvent(event); } void ListView::resetView() { QLayoutItem *listItem; while ((listItem = listLayout->takeAt(0)) != nullptr) { delete listItem->widget(); delete listItem; } listCurrent = false; } void ListView::saveListPosition() { positionx = horizontalScrollBar()->value(); positiony = verticalScrollBar()->value(); if (listCurrent) savedListRom = currentListRom; else savedListRom = -1; savedListRomFilename = getCurrentRomInfo("fileName"); } void ListView::selectNextRom(QWidget* current, QString keypress) { int offset = 0; if (keypress == "UP" || keypress == "LEFT") offset = -2; else if (keypress == "DOWN" || keypress == "RIGHT") offset = 2; QLayoutItem *listItem; for (int item = 0; (listItem = listLayout->itemAt(item)) != nullptr; item++) { if (listItem->widget() == current && item + offset >= 0 && listLayout->itemAt(item + offset) != nullptr) { ensureWidgetVisible(listLayout->itemAt(item + offset)->widget()); highlightListWidget(listLayout->itemAt(item + offset)->widget()); } } } void ListView::setListBackground() { if (SETTINGS.value("List/theme","Light").toString() == "Dark") setStyleSheet("#listView { border: none; background: #222; } #listWidget { background: transparent; }"); else setStyleSheet("#listView { border: none; background: #FFF; } #listWidget { background: transparent; }"); } void ListView::setListPosition() { horizontalScrollBar()->setValue(positionx); verticalScrollBar()->setValue(positiony); //Restore selected ROM if it is in the same position if (savedListRom != -1 && listLayout->count() > savedListRom) { QWidget *checkWidget = listLayout->itemAt(savedListRom)->widget(); if (checkWidget->property("fileName").toString() == savedListRomFilename) highlightListWidget(checkWidget); } } cen64-qt-20241110-alpha/src/views/listview.h000066400000000000000000000050731471427717600203620ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef LISTVIEW_H #define LISTVIEW_H #include class QVBoxLayout; struct Rom; class ListView : public QScrollArea { Q_OBJECT public: explicit ListView(QWidget *parent = 0); void addToListView(Rom *currentRom, int count, bool ddEnabled); int getCurrentRom(); QString getCurrentRomInfo(QString infoName); QWidget *getCurrentRomWidget(); bool hasSelectedRom(); void resetView(); void saveListPosition(); void setListBackground(); protected: void keyPressEvent(QKeyEvent *event); signals: void listItemSelected(bool active); private: int currentListRom; bool listCurrent; int savedListRom; QString savedListRomFilename; int positionx; int positiony; QVBoxLayout *listLayout; QWidget *listWidget; QWidget *parent; private slots: void highlightListWidget(QWidget *current); void highlightListWidgetSetMargin(); void selectNextRom(QWidget *current, QString keypress); void setListPosition(); }; #endif // LISTVIEW_H cen64-qt-20241110-alpha/src/views/tableview.cpp000066400000000000000000000270561471427717600210360ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "tableview.h" #include "../global.h" #include "../common.h" #include "widgets/treewidgetitem.h" #include #include #include #include #include #include #include #include TableView::TableView(QWidget *parent) : QTreeWidget(parent) { this->parent = parent; setWordWrap(false); setAllColumnsShowFocus(true); setRootIsDecorated(false); setSortingEnabled(true); setContextMenuPolicy(Qt::CustomContextMenu); setStyleSheet("QTreeView { border: none; } QTreeView::item { height: 25px; }"); headerView = new QHeaderView(Qt::Horizontal, this); setHeader(headerView); setHidden(true); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), parent, SLOT(showRomMenu(const QPoint &))); connect(headerView, SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)), this, SLOT(saveSortOrder(int,Qt::SortOrder))); } void TableView::addNoCartRow() { QStringList visible = SETTINGS.value("Table/columns", "Filename|Size").toString().split("|"); fileItem = new TreeWidgetItem(this); if (visible.at(0) == "Game Cover") { fileItem->setText(6, " " + tr("No Cart")); fileItem->setForeground(6, QBrush(Qt::gray)); } else { fileItem->setText(5, " " + tr("No Cart")); fileItem->setForeground(5, QBrush(Qt::gray)); } addTopLevelItem(fileItem); } void TableView::addToTableView(Rom *currentRom) { QStringList visible = SETTINGS.value("Table/columns", "Filename|Size").toString().split("|"); if (visible.join("") == "") //Otherwise no columns, so don't bother populating return; fileItem = new TreeWidgetItem(this); //Filename for launching ROM fileItem->setText(0, currentRom->fileName); //Directory ROM is located in fileItem->setText(1, currentRom->directory); //GoodName or Internal Name for searching if (currentRom->goodName == getTranslation("Unknown ROM") || currentRom->goodName == getTranslation("Requires catalog file")) fileItem->setText(2, currentRom->internalName); else fileItem->setText(2, currentRom->goodName); //MD5 for cache info fileItem->setText(3, currentRom->romMD5.toLower()); //Zip file fileItem->setText(4, currentRom->zipFile); int i = 5, c = 0; bool addImage = false; foreach (QString current, visible) { QString text = getRomInfo(current, currentRom); fileItem->setText(i, text); if (current == "GoodName" || current == "Game Title") { if (text == getTranslation("Unknown ROM") || text == getTranslation("Requires catalog file") || text == getTranslation("Not found")) { fileItem->setForeground(i, QBrush(Qt::gray)); fileItem->setData(i, Qt::UserRole, "ZZZ"); //end of sorting } else fileItem->setData(i, Qt::UserRole, text); } if (current == "Size") fileItem->setData(i, Qt::UserRole, currentRom->sortSize); if (current == "Release Date") fileItem->setData(i, Qt::UserRole, currentRom->sortDate); if (current == "Game Cover") { c = i; addImage = true; } QStringList center, right; center << "MD5" << "CRC1" << "CRC2" << "Rumble" << "ESRB" << "Genre" << "Publisher" << "Developer"; right << "Size" << "Players" << "Save Type" << "Release Date" << "Rating"; if (center.contains(current)) fileItem->setTextAlignment(i, Qt::AlignHCenter | Qt::AlignVCenter); else if (right.contains(current)) fileItem->setTextAlignment(i, Qt::AlignRight | Qt::AlignVCenter); i++; } addTopLevelItem(fileItem); if (currentRom->imageExists && addImage) { QPixmap image(currentRom->image.scaled(getImageSize("Table"), Qt::KeepAspectRatio, Qt::SmoothTransformation)); QWidget *imageContainer = new QWidget(this); QGridLayout *imageGrid = new QGridLayout(imageContainer); QLabel *imageLabel = new QLabel(imageContainer); imageLabel->setPixmap(image); imageGrid->addWidget(imageLabel, 1, 1); imageGrid->setColumnStretch(0, 1); imageGrid->setColumnStretch(2, 1); imageGrid->setRowStretch(0, 1); imageGrid->setRowStretch(2, 1); imageGrid->setContentsMargins(0,0,0,0); imageContainer->setLayout(imageGrid); setItemWidget(fileItem, c, imageContainer); } } QString TableView::getCurrentRomInfo(QString infoName) { int index = getTableDataIndexFromName(infoName); return QVariant(currentItem()->data(index, 0)).toString(); } bool TableView::hasSelectedRom() { return currentItem() != nullptr; } void TableView::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) emit enterPressed(); else if (event->key() == Qt::Key_Down && selectedItems().count() == 0) { setCurrentItem(topLevelItem(0)); emit tableActive(); } else if (event->key() == Qt::Key_Down && selectedItems().count() == 1) { int current = indexOfTopLevelItem(selectedItems().at(0)); if (current < topLevelItemCount() - 1) setCurrentItem(topLevelItem(current + 1)); } else if (event->key() == Qt::Key_Up && selectedItems().count() == 1) { int current = indexOfTopLevelItem(selectedItems().at(0)); if (current > 0) setCurrentItem(topLevelItem(current - 1)); } else QTreeWidget::keyPressEvent(event); } void TableView::resetView(bool imageUpdated) { QStringList tableVisible = SETTINGS.value("Table/columns", "Filename|Size").toString().split("|"); QStringList translations; foreach (QString header, tableVisible) translations << getTranslation(header); int hidden = 5; saveColumnWidths(); QStringList widths = SETTINGS.value("Table/width", "").toString().split("|"); headerLabels.clear(); headerLabels << "" << "" << "" << "" << "" << translations; //First 5 blank for hidden columns //Remove Game Cover title for aesthetics for (int i = 0; i < headerLabels.size(); i++) if (headerLabels.at(i) == getTranslation("Game Cover")) headerLabels.replace(i, ""); setColumnCount(headerLabels.size()); setHeaderLabels(headerLabels); headerView->setSortIndicatorShown(false); double height = 0, width = 0; if (tableVisible.contains("Game Cover")) { //Get optimal height/width for cover column height = getImageSize("Table").height() * 1.1; width = getImageSize("Table").width() * 1.2; setStyleSheet("QTreeView { border: none; } QTreeView::item { height: " + QString::number(static_cast(std::round(height))) + "px; }"); } else setStyleSheet("QTreeView { border: none; } QTreeView::item { height: 25px; }"); QStringList sort = SETTINGS.value("Table/sort", "").toString().split("|"); if (sort.size() == 2) { if (sort[1] == "descending") headerView->setSortIndicator(tableVisible.indexOf(sort[0]) + hidden, Qt::DescendingOrder); else headerView->setSortIndicator(tableVisible.indexOf(sort[0]) + hidden, Qt::AscendingOrder); } setColumnHidden(0, true); //Hidden filename for launching emulator setColumnHidden(1, true); //Hidden directory of ROM location setColumnHidden(2, true); //Hidden goodname for searching setColumnHidden(3, true); //Hidden md5 for cache info setColumnHidden(4, true); //Hidden column for zip file int i = hidden; foreach (QString current, tableVisible) { if (i == hidden) { int c = i; if (current == "Game Cover") c++; //If first column is game cover, use next column if (SETTINGS.value("Table/stretchfirstcolumn", "true") == "true") header()->setSectionResizeMode(c, QHeaderView::Stretch); else header()->setSectionResizeMode(c, QHeaderView::Interactive); } if (widths.size() == tableVisible.size()) setColumnWidth(i, widths[i - hidden].toInt()); else setColumnWidth(i, getDefaultWidth(current, static_cast(std::round(width)))); //Overwrite saved value if switching image sizes if (imageUpdated && current == "Game Cover") setColumnWidth(i, static_cast(std::round(width))); i++; } } void TableView::saveColumnWidths() { QStringList widths; for (int i = 5; i < columnCount(); i++) { widths << QString::number(columnWidth(i)); } if (widths.size() > 0) SETTINGS.setValue("Table/width", widths.join("|")); } void TableView::saveSortOrder(int column, Qt::SortOrder order) { QString columnName = headerLabels.value(column); if (order == Qt::DescendingOrder) SETTINGS.setValue("Table/sort", columnName + "|descending"); else SETTINGS.setValue("Table/sort", columnName + "|ascending"); } void TableView::saveTablePosition() { positionx = horizontalScrollBar()->value(); positiony = verticalScrollBar()->value(); if (selectedItems().count() > 0) { int index = getTableDataIndexFromName("fileName"); savedTableRom = indexOfTopLevelItem(selectedItems().at(0)); savedTableRomFilename = QVariant(topLevelItem(savedTableRom)->data(index, 0)).toString(); } else { savedTableRom = -1; savedTableRomFilename = ""; } } void TableView::setTablePosition() { horizontalScrollBar()->setValue(positionx); verticalScrollBar()->setValue(positiony); //Restore selected ROM if it is in the same position if (savedTableRom >= 0) { int index = getTableDataIndexFromName("fileName"); QString checkFilename = QVariant(topLevelItem(savedTableRom)->data(index, 0)).toString(); if (savedTableRomFilename == checkFilename) { setCurrentItem(topLevelItem(savedTableRom)); emit tableActive(); } } } cen64-qt-20241110-alpha/src/views/tableview.h000066400000000000000000000046721471427717600205020ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef TABLEVIEW_H #define TABLEVIEW_H #include class TreeWidgetItem; struct Rom; class TableView : public QTreeWidget { Q_OBJECT public: explicit TableView(QWidget *parent = 0); void addNoCartRow(); void addToTableView(Rom *currentRom); QString getCurrentRomInfo(QString infoName); bool hasSelectedRom(); void resetView(bool imageUpdated); void saveColumnWidths(); void saveTablePosition(); protected: void keyPressEvent(QKeyEvent *event); signals: void enterPressed(); void tableActive(); private: int positionx; int positiony; int savedTableRom; QString savedTableRomFilename; QStringList headerLabels; QHeaderView *headerView; QWidget *parent; TreeWidgetItem *fileItem; private slots: void saveSortOrder(int column, Qt::SortOrder order); void setTablePosition(); }; #endif // TABLEVIEW_H cen64-qt-20241110-alpha/src/views/widgets/000077500000000000000000000000001471427717600200045ustar00rootroot00000000000000cen64-qt-20241110-alpha/src/views/widgets/clickablewidget.cpp000066400000000000000000000050761471427717600236350ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "clickablewidget.h" #include ClickableWidget::ClickableWidget(QWidget *parent) : QWidget(parent) { setFocusPolicy(Qt::StrongFocus); } void ClickableWidget::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Up) emit arrowPressed(this, "UP"); else if (event->key() == Qt::Key_Down) emit arrowPressed(this, "DOWN"); else if (event->key() == Qt::Key_Left) emit arrowPressed(this, "LEFT"); else if (event->key() == Qt::Key_Right) emit arrowPressed(this, "RIGHT"); else if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) emit enterPressed(this); else QWidget::keyPressEvent(event); } void ClickableWidget::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton || event->button() == Qt::RightButton) emit singleClicked(this); } void ClickableWidget::mouseDoubleClickEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) emit doubleClicked(this); } cen64-qt-20241110-alpha/src/views/widgets/clickablewidget.h000066400000000000000000000041711471427717600232750ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef CLICKABLEWIDGET_H #define CLICKABLEWIDGET_H #include class QMouseEvent; class ClickableWidget : public QWidget { Q_OBJECT public: explicit ClickableWidget(QWidget *parent = 0); protected: void keyPressEvent(QKeyEvent* event); void mousePressEvent(QMouseEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); signals: void arrowPressed(QWidget *current, QString keypress); void enterPressed(QWidget *current); void singleClicked(QWidget *current); void doubleClicked(QWidget *current); }; #endif // CLICKABLEWIDGET_H cen64-qt-20241110-alpha/src/views/widgets/treewidgetitem.cpp000066400000000000000000000047151471427717600235410ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #include "treewidgetitem.h" //Reimplemented QTreeWidgetItem operator to sort based on both integers and text bool TreeWidgetItem::operator< (const QTreeWidgetItem &other) const { int column = treeWidget()->sortColumn(); if (data(column, Qt::UserRole).toString() != "") { if (data(column, Qt::UserRole).toString().contains(QRegularExpression("[^\\d]+"))) { QString firstText = data(column, Qt::UserRole).toString(); QString otherText = other.data(column, Qt::UserRole).toString(); return firstText < otherText; } else { int firstNumber = data(column, Qt::UserRole).toInt(); int otherNumber = other.data(column, Qt::UserRole).toInt(); return firstNumber < otherNumber; } } else { QString firstText = text(column); QString otherText = other.text(column); return firstText < otherText; } } cen64-qt-20241110-alpha/src/views/widgets/treewidgetitem.h000066400000000000000000000035261471427717600232050ustar00rootroot00000000000000/*** * Copyright (c) 2013, Dan Hasting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the organization nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ***/ #ifndef TREEWIDGETITEM_H #define TREEWIDGETITEM_H #include class TreeWidgetItem : public QTreeWidgetItem { public: TreeWidgetItem(QTreeWidget *parent) : QTreeWidgetItem(parent) {} bool operator< (const QTreeWidgetItem &other) const; }; #endif // TREEWIDGETITEM_H