From 0059942089c2d5e08bd9bd474099ffcafb9acf21 Mon Sep 17 00:00:00 2001 From: Scott Small Date: Sun, 5 May 2024 16:04:12 -0700 Subject: [PATCH] Macstodon 1.2.1: fix installer on international Mac OS versions --- CHANGELOG.md | 4 ++++ Macstodon.py | 2 +- Macstodon.rsrc.sit.hqx | 2 +- MacstodonConstants.py | 2 +- README.md | 2 ++ 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ba05ee..c70fb9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## CHANGELOG +### v1.2.2 (2024-05-05) + +* Modified the Macstodon installer so that it will no longer attempt to update the Finder on international versions of System 7.1. + ### v1.2 (2024-03-25) * Implemented Toot-To-Speech (TTS) support, select a toot and press the new Speak button to have the toot read out to you! diff --git a/Macstodon.py b/Macstodon.py index e55067e..9774e3a 100644 --- a/Macstodon.py +++ b/Macstodon.py @@ -1 +1 @@ -""" Macstodon - a Mastodon client for classic Mac OS MIT License Copyright (c) 2022-2024 Scott Small and Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ # # macfreeze: exclude _imaging_gif # macfreeze: exclude ftplib # macfreeze: exclude GimpGradientFile # macfreeze: exclude GimpPaletteFile # macfreeze: exclude gopherlib # macfreeze: exclude ImageTK # macfreeze: exclude msvcrt # macfreeze: exclude PyDebugger # macfreeze: exclude PyEdit # macfreeze: exclude SOCKS # macfreeze: exclude TERMIOS # macfreeze: exclude termios # macfreeze: exclude Tkinter # # ################################ # Splash Screen - hooks the import # process, so import it first # ################################ import MacstodonSplash # ############## # Python Imports # ############## import AE, AppleEvents import FrameWork import macfs import MacOS import macostools import os import Qd import time import traceback import W, Wapplication from MacPrefs import kOnSystemDisk # ########## # My Imports # ########## from ImageHandler import ImageHandler from AuthWindows import AuthWindow, LoginWindow from PrefsWindow import PrefsWindow from ProfileWindow import ProfileWindow from TimelineWindow import TimelineWindow from TootWindow import TootWindow # ########### # Application # ########### class Macstodon(Wapplication.Application): """ The application itself. """ # Creator type of this application MyCreatorType = 'M$dN' # Location of prefs in Preferences Folder preffilepath = ":Macstodon Preferences" # ######################## # Initialization Functions # ######################## def __init__(self): """ Run when the application launches. """ Wapplication.Application.__init__(self, self.MyCreatorType) # Splash Screen MacstodonSplash.wait() MacstodonSplash.uninstall_importhook() # All applications should handle these Apple Events, # but you'll need an aete resource. AE.AEInstallEventHandler( # We're already open AppleEvents.kCoreEventClass, AppleEvents.kAEOpenApplication, self.ignoreevent ) AE.AEInstallEventHandler( # No printing in this app AppleEvents.kCoreEventClass, AppleEvents.kAEPrintDocuments, self.ignoreevent ) AE.AEInstallEventHandler( # No opening documents in this app AppleEvents.kCoreEventClass, AppleEvents.kAEOpenDocuments, self.ignoreevent ) AE.AEInstallEventHandler( AppleEvents.kCoreEventClass, AppleEvents.kAEQuitApplication, self.quitevent ) # Preload Image Resources self.pctBkmDis = Qd.GetPicture(128) # bookmark disabled self.pctBkmBnW = Qd.GetPicture(129) # bookmark b&w self.pctBkmClr = Qd.GetPicture(130) # bookmark color self.pctBstDis = Qd.GetPicture(131) # boost disabled self.pctBstBnW = Qd.GetPicture(132) # boost b&w self.pctBstClr = Qd.GetPicture(133) # boost color self.pctFvtDis = Qd.GetPicture(134) # favourite disabled self.pctFvtBnW = Qd.GetPicture(135) # favourite b&w self.pctFvtClr = Qd.GetPicture(136) # favourite color self.pctRplDis = Qd.GetPicture(137) # reply disabled self.pctRplBnW = Qd.GetPicture(138) # reply b&w self.pctRplClr = Qd.GetPicture(139) # reply color self.pctLnkDis = Qd.GetPicture(140) # links disabled self.pctLnkBnW = Qd.GetPicture(141) # links b&w self.pctAtcDis = Qd.GetPicture(142) # attachments disabled self.pctAtcBnW = Qd.GetPicture(143) # attachments b&w self.pctSpcDis = Qd.GetPicture(144) # speech disabled self.pctSpcBnW = Qd.GetPicture(145) # speech b&w # Create image cache folder # While the Wapplication framework creates the Macstodon Preferences file # automatically, we have to create the cache folder on our own vrefnum, dirid = macfs.FindFolder(kOnSystemDisk, 'pref', 0) prefsfolder_fss = macfs.FSSpec((vrefnum, dirid, '')) prefsfolder = prefsfolder_fss.as_pathname() self.cachefolderpath = os.path.join(prefsfolder, ":Macstodon Cache") macostools.mkdirs(self.cachefolderpath) # Init handlers self.imagehandler = ImageHandler(self) # Prevent circular imports by window classes self.AuthWindow = AuthWindow self.LoginWindow = LoginWindow self.PrefsWindow = PrefsWindow self.ProfileWindow = ProfileWindow self.TimelineWindow = TimelineWindow self.TootWindow = TootWindow # Variable to hold active profile windows, # so we can auto close them when logging out self.profilewindows = {} # Variable to hold the current logged-in user self.currentuser = None # Variable to hold the current user's lists self.lists = [] # Open login window self.loginwindow = LoginWindow() self.loginwindow.open() # Process some events! self.mainloop() def mainloop(self, mask=FrameWork.everyEvent, wait=0): """ Modified version of Wapplication.mainloop() that removes the debugging/traceback window. """ self.quitting = 0 saveyield = MacOS.EnableAppswitch(-1) try: while not self.quitting: try: self.do1event(mask, wait) except W.AlertError, detail: MacOS.EnableAppswitch(-1) W.Message(detail) except MemoryError: W.Message( "Sorry, Macstodon ran out of memory.\r" "This is probably due to looking at too many profiles with banners enabled.\r" "The application will now exit." ) self._quit() except: errfilename = "Macstodon Error Log" fh = open(errfilename, "a+") exctime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) fh.write("%s\n" % exctime) traceback.print_exc(None, fh) fh.write("\n") fh.close() fss = macfs.FSSpec(errfilename) fss.SetCreatorType("ttxt", "TEXT") W.Message( "Sorry, Macstodon encountered a fatal error.\r" "The details of this error have been written to the file \"%s\".\r" "The application will now exit." % errfilename ) self._quit() finally: MacOS.EnableAppswitch(1) def makeusermenus(self): """ Set up menu items which all applications should have. Apple Menu has already been set up. """ # File menu m = Wapplication.Menu(self.menubar, "File") logoutitem = FrameWork.MenuItem(m, "Logout", "L", "logout") quititem = FrameWork.MenuItem(m, "Quit", "Q", "quit") # Edit menu m = Wapplication.Menu(self.menubar, "Edit") undoitem = FrameWork.MenuItem(m, "Undo", 'Z', "undo") FrameWork.Separator(m) cutitem = FrameWork.MenuItem(m, "Cut", 'X', "cut") copyitem = FrameWork.MenuItem(m, "Copy", "C", "copy") pasteitem = FrameWork.MenuItem(m, "Paste", "V", "paste") clearitem = FrameWork.MenuItem(m, "Clear", None, "clear") FrameWork.Separator(m) selallitem = FrameWork.MenuItem(m, "Select all", "A", "selectall") FrameWork.Separator(m) prefsitem = FrameWork.MenuItem(m, "Preferences...", "P", "prefs") # Any other menus would go here # These menu items need to be updated periodically; # any menu item not handled by the application should be here, # as should any with a "can_" handler. self._menustocheck = [ undoitem, cutitem, copyitem, pasteitem, clearitem, selallitem, prefsitem, logoutitem ] # no window menu, so pass def checkopenwindowsmenu(self): pass # ############################## # Apple Event Handling Functions # ############################## def ignoreevent(self, theAppleEvent, theReply): """ Handler for events that we want to ignore """ pass def quitevent(self, theAppleEvent, theReply): """ System is telling us to quit """ self._quit() # ####################### # Menu Handling Functions # ####################### def do_about(self, id, item, window, event): """ User selected "About" from the Apple menu """ MacstodonSplash.about() def domenu_quit(self): """ User selected "Quit" from the File menu """ self._quit() # Run the app Macstodon() \ No newline at end of file +""" Macstodon - a Mastodon client for classic Mac OS MIT License Copyright (c) 2022-2024 Scott Small and Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ # # macfreeze: exclude _imaging_gif # macfreeze: exclude ftplib # macfreeze: exclude GimpGradientFile # macfreeze: exclude GimpPaletteFile # macfreeze: exclude gopherlib # macfreeze: exclude ImageTK # macfreeze: exclude msvcrt # macfreeze: exclude PyDebugger # macfreeze: exclude PyEdit # macfreeze: exclude SOCKS # macfreeze: exclude TERMIOS # macfreeze: exclude termios # macfreeze: exclude Tkinter # # ################################ # Splash Screen - hooks the import # process, so import it first # ################################ import MacstodonSplash # ############## # Python Imports # ############## import AE, AppleEvents import FrameWork import macfs import MacOS import macostools import os import Qd import time import traceback import W, Wapplication from MacPrefs import kOnSystemDisk # ########## # My Imports # ########## from MacstodonConstants import DEBUG from ImageHandler import ImageHandler from AuthWindows import AuthWindow, LoginWindow from PrefsWindow import PrefsWindow from ProfileWindow import ProfileWindow from TimelineWindow import TimelineWindow from TootWindow import TootWindow # ########### # Application # ########### class Macstodon(Wapplication.Application): """ The application itself. """ # Creator type of this application MyCreatorType = 'M$dN' # Location of prefs in Preferences Folder preffilepath = ":Macstodon Preferences" # ######################## # Initialization Functions # ######################## def __init__(self): """ Run when the application launches. """ Wapplication.Application.__init__(self, self.MyCreatorType) # Splash Screen MacstodonSplash.wait() MacstodonSplash.uninstall_importhook() # All applications should handle these Apple Events, # but you'll need an aete resource. AE.AEInstallEventHandler( # We're already open AppleEvents.kCoreEventClass, AppleEvents.kAEOpenApplication, self.ignoreevent ) AE.AEInstallEventHandler( # No printing in this app AppleEvents.kCoreEventClass, AppleEvents.kAEPrintDocuments, self.ignoreevent ) AE.AEInstallEventHandler( # No opening documents in this app AppleEvents.kCoreEventClass, AppleEvents.kAEOpenDocuments, self.ignoreevent ) AE.AEInstallEventHandler( AppleEvents.kCoreEventClass, AppleEvents.kAEQuitApplication, self.quitevent ) # Preload Image Resources self.pctBkmDis = Qd.GetPicture(128) # bookmark disabled self.pctBkmBnW = Qd.GetPicture(129) # bookmark b&w self.pctBkmClr = Qd.GetPicture(130) # bookmark color self.pctBstDis = Qd.GetPicture(131) # boost disabled self.pctBstBnW = Qd.GetPicture(132) # boost b&w self.pctBstClr = Qd.GetPicture(133) # boost color self.pctFvtDis = Qd.GetPicture(134) # favourite disabled self.pctFvtBnW = Qd.GetPicture(135) # favourite b&w self.pctFvtClr = Qd.GetPicture(136) # favourite color self.pctRplDis = Qd.GetPicture(137) # reply disabled self.pctRplBnW = Qd.GetPicture(138) # reply b&w self.pctRplClr = Qd.GetPicture(139) # reply color self.pctLnkDis = Qd.GetPicture(140) # links disabled self.pctLnkBnW = Qd.GetPicture(141) # links b&w self.pctAtcDis = Qd.GetPicture(142) # attachments disabled self.pctAtcBnW = Qd.GetPicture(143) # attachments b&w self.pctSpcDis = Qd.GetPicture(144) # speech disabled self.pctSpcBnW = Qd.GetPicture(145) # speech b&w # Create image cache folder # While the Wapplication framework creates the Macstodon Preferences file # automatically, we have to create the cache folder on our own vrefnum, dirid = macfs.FindFolder(kOnSystemDisk, 'pref', 0) prefsfolder_fss = macfs.FSSpec((vrefnum, dirid, '')) prefsfolder = prefsfolder_fss.as_pathname() self.cachefolderpath = os.path.join(prefsfolder, ":Macstodon Cache") macostools.mkdirs(self.cachefolderpath) # Init handlers self.imagehandler = ImageHandler(self) # Prevent circular imports by window classes self.AuthWindow = AuthWindow self.LoginWindow = LoginWindow self.PrefsWindow = PrefsWindow self.ProfileWindow = ProfileWindow self.TimelineWindow = TimelineWindow self.TootWindow = TootWindow # Variable to hold active profile windows, # so we can auto close them when logging out self.profilewindows = {} # Variable to hold the current logged-in user self.currentuser = None # Variable to hold the current user's lists self.lists = [] # Open login window self.loginwindow = LoginWindow() self.loginwindow.open() # Process some events! self.mainloop() def mainloop(self, mask=FrameWork.everyEvent, wait=0): """ Modified version of Wapplication.mainloop() that removes the debugging/traceback window. """ self.quitting = 0 saveyield = MacOS.EnableAppswitch(-1) try: while not self.quitting: try: self.do1event(mask, wait) except W.AlertError, detail: MacOS.EnableAppswitch(-1) W.Message(detail) except MemoryError: if DEBUG: raise else: W.Message( "Sorry, Macstodon ran out of memory.\r" "This is probably due to looking at too many profiles with banners enabled.\r" "The application will now exit." ) self._quit() except: if DEBUG: raise else: errfilename = "Macstodon Error Log" fh = open(errfilename, "a+") exctime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) fh.write("%s\n" % exctime) traceback.print_exc(None, fh) fh.write("\n") fh.close() fss = macfs.FSSpec(errfilename) fss.SetCreatorType("ttxt", "TEXT") W.Message( "Sorry, Macstodon encountered a fatal error.\r" "The details of this error have been written to the file \"%s\".\r" "The application will now exit." % errfilename ) self._quit() finally: MacOS.EnableAppswitch(1) def makeusermenus(self): """ Set up menu items which all applications should have. Apple Menu has already been set up. """ # File menu m = Wapplication.Menu(self.menubar, "File") logoutitem = FrameWork.MenuItem(m, "Logout", "L", "logout") quititem = FrameWork.MenuItem(m, "Quit", "Q", "quit") # Edit menu m = Wapplication.Menu(self.menubar, "Edit") undoitem = FrameWork.MenuItem(m, "Undo", 'Z', "undo") FrameWork.Separator(m) cutitem = FrameWork.MenuItem(m, "Cut", 'X', "cut") copyitem = FrameWork.MenuItem(m, "Copy", "C", "copy") pasteitem = FrameWork.MenuItem(m, "Paste", "V", "paste") clearitem = FrameWork.MenuItem(m, "Clear", None, "clear") FrameWork.Separator(m) selallitem = FrameWork.MenuItem(m, "Select all", "A", "selectall") FrameWork.Separator(m) prefsitem = FrameWork.MenuItem(m, "Preferences...", "P", "prefs") # Any other menus would go here # These menu items need to be updated periodically; # any menu item not handled by the application should be here, # as should any with a "can_" handler. self._menustocheck = [ undoitem, cutitem, copyitem, pasteitem, clearitem, selallitem, prefsitem, logoutitem ] # no window menu, so pass def checkopenwindowsmenu(self): pass # ############################## # Apple Event Handling Functions # ############################## def ignoreevent(self, theAppleEvent, theReply): """ Handler for events that we want to ignore """ pass def quitevent(self, theAppleEvent, theReply): """ System is telling us to quit """ self._quit() # ####################### # Menu Handling Functions # ####################### def do_about(self, id, item, window, event): """ User selected "About" from the Apple menu """ MacstodonSplash.about() def domenu_quit(self): """ User selected "Quit" from the File menu """ self._quit() # Run the app Macstodon() \ No newline at end of file diff --git a/Macstodon.rsrc.sit.hqx b/Macstodon.rsrc.sit.hqx index fcdeb2e..943415b 100644 --- a/Macstodon.rsrc.sit.hqx +++ b/Macstodon.rsrc.sit.hqx @@ -1 +1 @@ -(This file must be converted with BinHex 4.0) :%NeKBh0dEf4[ELjbFh*M,R0TG!"6594%8dP8)3#3"$RE!*!%[m*6593K!!%!!$R EFNaKG3,r!*!$&[rr$3!16@&MFh4[C'pZ,R*cFQ0%!"Ui"J#3!i!!N!3$jd['J$3 *KJ#3'2q3"(*cFQ058d9%!3$J31dqiLGUA3!!V6)!N!Bj93#3"0%&!*!)#Z)1!1X eXHmmMq9CChDZfiaYPKC0IV%VcqZLXTI6"Y[c0r[S(V+"fFZ2jLrdqfh(GXcMEQR AaFVVZSchl$Ucbk2ED$Zqm!lZc-r6aH,R&QkiQI`@YR"[QfH8qdhFcl*h[5DH"h6 ep9hAjF+EG1dMN!"!#A3!NS14j5,3*,p%)0X3Rm!M"q&6bUH8qN*3UADm-mr*4ED fTUjk48eelI)QCKG@0GEAeLjEfYL8Jfc"P8ZVQTVVPpIAP63f09Ejr-U[Q&L`m2* bRh,G`DcVSZ@*Tb[bNhISc$eYp4pZ#L"48lHL[VRk`me0f8K1Ap2FA&rAP)&8ijS k@3(LCETUL+QUVUfZDUiC+$!G-P'`V+CZZ53DeM5YDKU+a1VUZM@,9pBheh1h-P2 6UTS9cEA9b2`jIRcbm3[jh5(+GC!!R@AHYT+26q9jq9YD1'#bPNqbTaqpr!0VRrQ lLk418!&Fq,EL3CcZBQI4F3[Hfr'q&Hmf[$q&JSm[d6(cV'-pqa"RTdcBiiD0rf1 2UHIHHp[9ZH9,9'kS4INVc!l$U3EFic[a-pe$[Y5UEM%cRTa1iS!DSJT8S5TX+A` !Eq5'S1CIac(Ek0V`3&R,'!bM-F*aCZ2(*drP*FG"dSk$e'Ya8*fZ4UZce4MmcNE QG&6mkc"Q0`pXD#R$-#4!fBcri58&5Pe4IRQ&-!+HDAhZdEQr-rGh`"RqZC9+6F` I@kF#T59Ue-U#DcldlXM+"9HrCd(NkJP,mLEQcrfk@[DHQjI-QTKI9U+'i&d`X83 &m4iqTN5GMZVhcAY4$9XblZIe[NkT$h!5ri6hh$afmG`2K4HMC[MFcSq[APT6Khe `"h-r0(I0M9GHbcA0VUYTPLVh@l1H'e2kMK)e$2[*1lG1&8f[FlqhAL&kH&DG'fp [$LqB1%i&fTZQhp1qIrbBL9RY(jQBhrj4e"jT[lAp0Z6Z41kapXRM5Yc('S*GGi9 ,h-FEJ`HhRapa[hp1LAZJ1AMiM[1RZBpfIVbc&682KZGX2fp1R4Uq8UQ[AC5cC&K i3AL9QKqH2k48$5e9+iFXQ!'8$1qFHGq-ZX1P'EI-[#cLIZp59$`aFqZ-K4@0[NG RA$E0IEJjFqmebPrQRh6Dh[)bIr[[k5NQ"XYbbNVFll9I2kHLrYb'c%lf8+@RGCC heVQlbe5U6iRlF&PfqrABhEGQI85YEer"62ZfXQ,P,beaGhG'1KFZL,!M+V)(+Mk &$BkI8k)#+dG0c!-DKjIP!)X&%r1"aJ$31TeSR&J#l$3",GILr30"bfHZH'T)6`U $jBe,ebNe,(M"LBHS2$)ahk!2L!c26b*`l')JlL1B0bq*`E*,eBAY@k9QKjNl(h2 RflR*"h2Ah+bRRP@cFP8YhS#rjB42k-SCYI90e'4+PIYD4M@-R69fcV!VKmeHPAZ VEl-riJrl`jR"c%!J%cpIbjR(bRV+qXDiBpak5K&RJe2QP-A(a!YlF["6Z4!!Q)2 $$'dCeM$XLQ&caZ@0mmmk-BHZ(h0X6(`-qf1+RmrKDp'rd1B,YQa`,YJ5fQ`V1%2 '!rThj[kT6fa`A(H$-r@*-rIE+M6)`8qTPpR,D+iJI[p0FqQUG-I"V"4NU)`@60U 9F3c["j!!'aL#pIi@@Ad3liMr42fJT[X-(X68i1Q(@U13!($"1SFd)"k0H+D*Q8F Gkl8Q56qR,0LkIXTkaK`Vl-V"cZPP[2D8p35$JA!QG[l6q[qkpG46k,S2C*4Miip Jij2-aRrClf(CqQYE5flG*lp6%Q$pVqYPEQrVIprhP!AEr$X-rkVqVlEjArTQIAm *T$3PKfmI&%KI9XAF0G!m$e+*3S%'TN$PAJa&"88D(&+ZI,@"k3XEI%Z8El294'k mD*bUZ'VHa,cT+mZbfYY+aebUjP5Xc2aQH9hJSZXE&(TpS%%&-e4%KD(B0Jpf-Pd id89$+P,cMEZX!PZSdqqb5m-&ArK4-KX-IZ&(Pj@lRFM+fkXh@DQrh(dF@APlp5E ,HT-pM'bb0l1ChU6-CN[f-0j([Ej(mAlCkiZ-+Y)CR4f(,KH9Z-H[QMHY6kfG0Ep p5qQBGkJj-qSbekSPFmcq-lMrcTQA+Td[c4!p+c96L)SKAlZm,[#ebeH-@M"M5G% hbq[p#fHB#3*I,kqp(e9IZQKMJmrUf%md`rf$)pPB8lG5qAhI"BDG@Fq0,UA6F4% `$#`AA$aHCGpkYI*$a`i2ciIf$S`#FN[(+rmLc&ikV,01$D2+aKDGdXahSkBXJcj 'iYJF"4dpC'9iBMif9q)klGGr&6hUXmXZGErE[K(ScL+bkAV)CUr(9LlQ9VC39bq #ScQMZVC@HaaI)V0J+f59S[(`6)Jem-MP9PQrGellr[$LmfHj4k'IMhS1aeHSVUR d9bMrfFETH,apFXVKH(NX()k$GdiSF3mH[,Y%(GKiS!f-PEeDqHSihIR`'Ybpi+Z pfmml&p'j#rBH9F-[@q!qHKN`iGk2+02Gri%E2eKqrKch5jGQPZ6"GiR0UA-IAIQ qpml$eKqppqc`iV'"14YAcJR2N!"jXYdH4(PZ(,[SS9Y4GPTl1h2!-l6r,FK`mJ[ (UH#R)k@qVPP(Ch911dLF5jH*'IH1!Cl2(R+KbLe9+iCIQV&J4RK1jhG+!U@CYmb !ea*ENVeJaPI,9aqB8l%D(LGRD3KfVP*q1#Mh[cd#*+1LG*cNpb1I,APi*2GK0r9 jc,iG'AJQf-epekMXfU+*@GMNFEKAf8$APi$Yr8"fm-3F-YF[1THiXBNjk(bElD` l#E,',cPl6MQm'0[V8T8"$RaieRcdUf1rmaF#-pF!DI(dc!XMf(EI!NB1k`,M3"D KPB&!#440lmS#S19Kc0%',PfaC)M*hXJXFqhETUpXhdT%YHm3MXKEN5fHd$P*a!a ZeEJdqH,42!L2KNacV86dDElb-hpSA&PCQ3UZ@&&DQRkVi'"qa3TaFmLqSm"[i,V K9&#'KEA[1(eKC'8HhQ'm,eSb#Gj94PQQ1)RjBl+Q[hAZeq12d60F3PFV93R"j%2 YeeQV1IDNYfJF'ZMAR!Hd$0d3ha$A'D[qG(9K9f&A4S[Vk&p'#r1QJhCSbJY9k31 4F%@i,AMl,EIIdKDX#%I#TFF+,iCa@i!1rN*9pX#'VJeGlM(pBkiX98qN*HH)K&Y NMTBJFrpR$[hlPcQ#Lbjrck)Vcedq9l@AAR$a"GV4J58Md0$UQ0'Ke(-LMB,"p+& $qIQH@ik82-c)QmQ4)dFUPAccqC[mr[hlP8UqqCc-TaperF#$,Ca)U`IiT*@r&+5 ,6ZCEe'Cj9%$(,5CZ$G'cm)9#SD!2[e$S(0L)r*Ri("ZrV65$[lGjXAj+Vp+2bT* `[XS'BmUc!Jp-HKC)V&5N,%iIFXQBVX*R9pSIq#UqS@Hp+ZXDdkAV0fME`ckTHM& MVVSUiVrhhTDmUkjDNVAMaPRMheYp9r!kZ*j+I4U'66JSYPMQZB&`1,KSq2#mFH2 'REYSq,RM`q1#`km)$KrA2'(#4H1'Accq!aF2(ceTq)6alrr*BhYA[qp2[eEjiM9 ,,R[mXHdP1rqdj8cXD`5Z8!SkBB5YhUrmMhp&qHTA+I9iTmU!@jEMZPe`cBk0FD% 8A6H10lIf[ppa[([`2SBjZXTHG&[+X'PZZr!Bk0Z0BqDimVNpN!"2+$"R'bG*c1- fqlaHRQV`4VRAi1IPTX%[bh8$m-N[(e2qUZ2eQhVE)&9r)[j0[5hm6IeCI*Kr26i VqZ[khr3r&8$p2Ml-[aiMFBU%qTmrD(26Vak1mH[bAc8`6*!!c,pHRDlrfI-pmrb mrKmDH-p['[akJPq2q&2l@5Xi8A9mM+)6G6GB,Je5jG)JR@D$3Bi13K*k6[5*2&[ T[(NM0j!!ar[92*5N8XNhPH@rjD&!P8UqU8Mrrhck-IV92[02j,(d`A+GRjp-kh` +SNRGDai+iR5H$H4*0dMR6B2N%)2PDV6i(X"Ra3,FaiR+RceMlTZCq2DI'10$j8b E2rm+$H1V4bbkYU%kA,mLA09B[E5jHRPi48eYGG1LZG1Z2(d'+qSErkViM'PVQZY A,ffZU9TD@hYYZ+QKTLjFYDDaUEkaI2Tl&iAQeMH(ec6"UJjAV9THdcMZ[1R6Cbm UR&D&&TJMh05mY&RA$#f[VPekEAJ'$PVVDkYC%9K3h96GZ,Ck1C2jmpE9TBY(PGI A[E8jA)1,ZTUPY68IU3krDde0e69dleJHQYG3ADHA&'jDYE44$c&d`G+DTZV``YN cjmqHIcNVLLUV'jY`94XHKrYHc&1eDQRGbZVcZ0MmZ@Y@,ebcBN909AA6["Pc&f@ 0jh2&`N8cXUAX`fa5++"C!@`dH6A$,&`'blcqP`0YiiFe0&D[U'kXVUZU$Ur91b" H6TpGeecGZ"5A[QZV`dYA)"GZUQUXD@KQF3'@Y3cABZ'De3heM9)5Q0I3A,-DkfF bH"@1KPG`UZ8!e[+DHKB0+DpHYQCPZ!(Ac08#b9([V+jZ#+r$`A$pZM!fAeIIZ(T TEEMk`c8bd4NRbUXE'l&'@cekEMd`Pea42FC(NqA!B2e+0LK#Jk@0+kXQ)PJEVPk pTKE8S(FlFPiYpl+dE[R5aZ@BU+TDQMICYNdecGAR0ecE[!S$0DeTX#X'1HA0lj) ,ciK3&E*#AUpR6eI[9QYp0rTA@(m2@0ZV9#Q25)IT[2ZFfkhqd0IlJ0rh#QkpKbc 8YeZlrIkIh4#cNXmG[TG9dFA6CeqCV*[CH%2$UMpFGV9hAmaHYekR64MEPdpbRJ" kb3@Hpmcj&Sa!hV2DLaj'd(4qaTrj$%dPe`@cCc+Q'$&AjYRXJJ`-*p'!!FESPmX BrI)BSeqq6!2RNp1Jhe$'U#KJM(i`Uclc'I3,-NDrN!"-$Ea`D[3lM6(k$@H-bK' -dDq)-IU0P1d!Hp`1qTh"'2e'-8Dr-aQM`fM'k(H@E&'TXlP&[''88FfU-'2dHa0 Mp$Z(-6UpfGc8RmYY)rF@aZJhPM(k[C8aqSeMM(lR#5U8'Np8)&0X02)%4ZKh2Q2 d+f'-IK10JLjP0ITG`"J9&c*'2qa5m$'*-IT0PLQ8ZSK6S0rE'D2IaBa4H3PMp*[ #'2fQbV4+AFTTdHmbaZMh$XES9mBB(5+-d@qDE!@I"H"@d'm'Blc,'D2IjBc4Vi) a1XddqRm@YiGqXaQMCJjMp(XRBr5lJM(kA5PEaSN1Yic-2-ES0jmaqVf,-ISYB)a q#`805Ldbei*A-8C&*@2dHcFMp(X2Br4lVe3Tp6j@SGrl'D2I"aLMmS1-dHp$M0& [XA4ADJQlSpp5aZLhM$(k96&'Kq@-dDpDTJ3%1#AkV@5-IUXBieh$'2fZCSa1emJ fm*%(EJ2p9M0'[cV'U+eRM(i0M0([Gf4Vq-J#YiC-%f2dDfD-IT!!@)+2YBc4Eje X9kN2Fl[SGbeM9(b%-ITpP$(kV@H-IKm6&#MeZd3"qQeJM(iYM&(CDT6mGBc3Ek2 4p4pR&[fZCiaqEBc4Ea0MG0M-'2eZN!#Z5Yh)VZMh#FESYi8aqYh%'1p2-NDRQie VF!ZR3lp2-8Dr6c0'[ppMM"krcaMprTeX3DNri"D3!2RhM0([9XES*qK&[mmb4Vr 2bED8fXTYSGmfaULiM6(khFiBrEBc4VmlC+Y+lH"@dHp1aZKh&f08ITiaqYh0'2h ZNHhMFalF2[TpJ6(khFXBrEl)'"dkM*Qc8b+P[X3)rIk3!$(khFFBrIk)-IVGE`b K,dXhTEkL&CVk$ic4lkZ-dHq2'D2IeaLM&p`9`FIA148bhp"HRISQBr6l8mESpbh 'k2GYQ4jA'C`HrABa4X@I-8Drlc"'2hcV3[$a(f9,5Mh),D(I3ic4EcGM9(lAZ%Q iAK9mr#IC*SEN0Y([2c0'[qmc4VmpM0%"p`b#M%Hd$DBH&EAXUVr3EU1#MTE*re+ l6HSaaZLdlqK4`FIq*jq8q!II`-Ea2(l[[4,rd&L3!%qX`f%9RLI&-92U3,PFUUZ RD0VKk6)QiY0+b83(dBS6i@C!*MV-VfNJISEf*1*RPC+*RU1pK[Kj(!jaSKHd$DL 1D(Y4rBK$BD)Ibr"2UTm`aN5b08cdS[C$&FmR10&,fV$6&pbB##k"6(4FZjXUHP3 H&AY5(YAp$AP8clhbU&jMQ[DYNdIe'jF`ALk25T`MMh,-38,kLc(@-p$aN!"@9rp %m*qU-4[qKZXriKaaR-`A%SmNAR!FC[HR1d5qkjBkMh6FFrIfZpG[afrYHVa1rPL iIIhGGpappcf*R5mi4ikN*jMcIAH+Xr0ZDIhCp4pEZrk1YBJrZhllfZdfqTM%-X[ (G#M4pVYh2R,maI3Xmajabjald&D2S2YXje#I@irAfSqK!%N%R1F1-iE-SqGDIdr LTI4!Lrl#,Gq*eFK,aQ!rp1*'C%V-)V1b5!r$HUjTrGSlp!,AEYpjj(KkURIrT6X c)82)B(SkVNFfT`YNm`)*[5HJJYY$f4hXJ63Rh,icQKlXrI[FGcUb'0eA0L333!J 8X3)Kkci(@(&KXP)"bfHaApNNX2Sj@D66R4lZ3r[GZIHJQZ[JT[$#2"T%A*9CfAB -51LCU6N)KpF3ii!B8kV@2pr9Qjl[ZXIGGcQTRM+U`49fMN'j-XaRpL[Bdd2H`Ec '-9TU1-XDlMRHKr&qiJlYEqe,rK,hZYQQ)0Y8E0BlD2UKZp$410BJ"NcdGNP#-U# J4#0I-#QEiKk),5i'1f*NkBGmdp8[@e$G8DALpb,Z9re+pCZK0clK,R,38@Dcml) h5-X`MBii$[I,cFTkcCD&%`b&N8,"YN)9GZU%8P%BfhacqTk%mN@T2+A!,1%M6lV [GM5@NbM#@!5"aKB"+(aK+!2,0j!!m%K8X%$@NjCJ#E4FImq4a-$f-lTPmK3!fJk il`(bZ8`,0TPIaZ5d3RQ@FA@0ES9P#+13!"3Xi`PU""I-hkf(0d2clBpb#llZD0a ,QceFHm#GCmLHV3fAkl9bjiDDp@aTS2+Aa+k"M%D5XcjELi0(R,rQJ%mmjAi3j#S #43!JT#RieUb[DG#-KfT$2(IS&4R@&(@NZGJ`VL(U)kiChP'jQ&qrIX%&kl[F$b@ -+,"+4iK3XjXK!id(6lpB15Ab6CM"S1'cSLC!"'CM%&P83lq!`QC-Vk@2X)$93aC cR-fU%&eT-'-*3f559JkkP3l-iT!!I5&&LhfbJ@aZ!Lr$"hB6'jjf-hH'3T2cR9$ 'j2c3j%4)-C@2%LH8JiT3rZ43IL+8cB`8R6BaK!UTNj!!VmRpS6bGCi!Q#S2i&LG T+D'bC2`N&#`3Vc[S&R6*3*2c3[P"*#BkSD,*HKVqJK0$Z-a'P$Fjk)6b*V))EB, Fa9LdRC3IR"c#+cqB(bTK+ba"@S3`$jD4&`Sj!e$XkFIa['c$JZ$kJqlSR@KG)QX )j8m+"I-a&L0-&Z4'r2Q6JB,Kf!l+8)MeF#@F'09[NP9KC&Nr&X)QM(8l4"[e#XM (A$laU$NUa3TB`pX@F`9",K@Ec`[iS[k!KKM5HKmB'28X)45`LIaik-eXDTH&V@$ R4"*h`ZEF3!L`9T-Y3a+49Lb*6%JLdRIf)IFYA4L%D"!mj%8&,6kC$mM8qm"k%lR $!qF(FZ8Y[`R)jHB'qR1c!VNS1Yr*$8aJ29XNFYeJTQ"F(IQ41ma*$1M9e[kimi` la1Q`9IdGcQ%hhqPSP5c6#IF9efMCiQi9L+THbI@rk!j,a!H(DBdR$VZ&LIK!8A% 5pfMC-9M-!9pd4`r8$2a3ri5'kEF1ZIkGK&-13)+&jS&KJhi,8E!9k#L8ek1bSaJ 9[ej"H3BRMk[6@**kqB1!XYVjST[C8GNGLlkSr0epL51Z[k-b&J029mD2Z"P1EcH 5QG'HIKF380%BqU*hcmZZhqRV2UVmaEeXQHJYrJQ9$KN&TCMJ48cGdqUml$k$8AV k$qMphAI)(E)B1!Be#-!$@L3@jQ+G*"8`#3XRX3bHF23*j3rN"hdEZejfI4hGF*R 4c"IYql'VqSiTAkpcP'Z))Y@Gi(E-UXN[10V[IJ90Bb5Fii5Xl,cAqBRVkir#TmB N9THK6frdL2)9plrL`Z('',kH4*GQT,G`Bd!AHClF+#ShSB,4A0!3D9(#5D%m5fb 3!$a'qXSZc%S!$&X"54M,mbhZ`Y6p@&05-+)e'K3laeaI!N)P9BLP&hHJV$A@4fK EmSlk@TfS#hA$[1l$#AZLEUE$0B"d6,-BCNiF3aPJJ38-'H!",3qM4&M[Uk8!@43 i'$C3PK`UrV3'pTj$lP$"X!%fU5F)k*+VY@,)$q9'Zc8#F!e!I"+hEi0eTcUXJd, )DaaKAB"m[b$TC8*HXXI!4*cGVhUFQ'%MpJ20GFH)'[)G*qY'b`kdM-F)%e`M''M %dD9I)-SGS$@`JKZ'*$49j8'p8"HiTk5#m##YjZIdUabdb+AB!rf5%D#amVJI($& BrdIfa3AB(1N+9iP%Pe1XDCKVpR8lai%hMc#`b(i8*$cfk#%jpA,(KN!dF&825RV XN!$p+Xp$Bc%'bN`3%"4hHR3"NV6YllE6XUqY"MEkBVc*P!UqJC5q3jViI)IGS8i SAe-ep89ZMcSYMp*5K+G@ZCCY,INGeF[5XP[N[SS4UEd@(fQ@a#TD"4IF@L+ebfJ #-09P@V4L(G&iYq[0eNXESE[E9Ief&J)IrAV"*U"1250lad4GSP-hTf%P`"G0G,Y -fDdRp0BF3jI4MX-D!Zmkl+UG6QLS8"M`(LV"i5ZkC9)AJ`8#STI"!m&Z#!,P#qD C(ekjhVSa9SiZFS)C#(0lLHe+V&-[+E-E!UmMN9!Gf'D(B5,`4J`Sb1CHp6Vlqae rIb8%J+m(aV(UpCDQHZ1*R)jiAirYkr5i6L)$%iRN6iMPiL6m+1J"aF4k5D)GLBj HPKLL!P['A(qIaDHr,p%4ac)5#@X9k#PkA0@UFBd4HK*kB3R9Pl"#!jJ%i3JmShS !c"M($-8D8XU&0YiC"+PSV8"haCH!ZJK!49(@`em3DTNBe-JILXmCJ)8R!f9i3a) 9"*!!4!l0%!3!IUa-&J1Y8YcaNUX5[9S&B49aF)`[fYm,0ZNaF'`&"T`Bp8&IMjX 4"bZ3!24IePB4'#Rq-JL@[F!U8$lN&Q5,K6r4JS4P2!Z1P@!00!5K3cVVF90QF$5 U)Gj2123pBr6NBEIS"PSi%*33&[44*ZF'!VPj*"396)4bY@85bV2F9*!!)eB+(5@ %ZBCB#6LID*&Xp)-8b493!S3CH(F$%,d#kf23m-+2[LKi`CV9"!K!ih0kJCUSdqZ UZ#B#&[Ce3m&(9CD@RY$9)UZ-8%i)L@++",DV*5+f#fDKefPi!L!K#aY1L'-kM+R P#bVl2'-B@a,P#XaU+XBURY8`HG0K0fFapife*d+M+,BSY+NQ!4Ni(b3+bZqJ*P' )"amY%8"KNK2+c-H(3`8SK!r*!Jf&`8NBA&i[66$495qDkDN6X+Q%dC036*P1XH% -e)&H"*!!%%bq2S8%[!,YCU%CJ+&D2E)&E@K4SP[l(#q*3R!,@KMqJ'Vcj!HJN@' 86+b(91PT51)MECYTL*!!5J[JT3JjJMGTZ)NN)DF#',e!!4Nc4JiPMNUSiNT#jmI J,*!!1858`h20eA04UA,4-BcFqk*Q$5-8qlKrlSBb"2[[B'%hB@hN9bA&0e30ppK ,A'LlJpirXN+R@#XB`r6V4@mVh3aCD*dDlh-"(md6GQ*JY8GV(3)"FDAKL02)%G` X1-)*R8RidcS9LS"46%`J63YAc"RpGU-Z[-Ki5)%QI&UNpDQK)LSQ3H@9`1V00B0 Ml9J5V$Q9-1#[l(ApP8EI30),9Q+k4N0FDc1@9Ek5P"3T#K9Z-,U6#1V$2V@Q%+G !bbb!S-03NK#QTD4HdHU@#LaY'Y-R5CbRNaA`+k,a3N-`0*8q4P')kQ,b5*5-R!4 ip)MLcK&T'i5KlCm8+Z`c4PN1D[T$Q@K'`X`N8eBHKD[C$cFbq6,S8F9BT*J5fNI +`(IlC0IBBb@4!mhD6BA3&kp8I35$!4L!iBq*SJFXM%R*%*!!8T8kC@M6h*FB9L4 !qP1-D!4B[aC!)"Hc#b[!c,[B%#I-h4(98dG1'6QeD1T)L5A!cjPD-'AUj3e& 3@[G$3l!D[b+dQPS)6Kf4`kC6f3e&9"[b-PSb!GIdH8+CQa6kXp`0d-*Q&QL)*f* S)pE4ilRMH[%NMCKH(02J6YQY"PHI99Qi*b$QL)GZeRMk#P8J+j!!+S`NbjXa3a( q`qlBa89B*pE204ITC50GK*aHY+iZdXacQQqN)!+V4S6lC3h9c'J1+Z)M-pRqEEf bI##k05VBXqD+PJ+#"&j"p$m,E'ZGiiZ"dG+A#9bjD5dmQA6PX(K0*5J9`@"EF[0 *TK$CS-8#YTp5$9SN%T!!"J-M$lY["3F)!4M`bi)Yc,PSc3j"S#h%1A*34*L`eG4 #cHG$!aSk!U1TS%q&D6&QTELTG[dTMdN,KJaV%HTlQ'GGIkrRb+%6K&LI!%-`$9K Nd,`5d)-(L'PN""**$H@(R)80Bii-qY`-MS)aVD`dFJk`-+LbbY*`X5A(2L%(BS# VRJ`N#$+%(64IFZ%KC#ETe4D!"0K+NfDK995N"S1PN8@&QJ+eI`PAKZ$K'fIJ+9l `1C8X-QcGfjqq+m1fK"l-YX566KUCK)*'q`P501J6@[3i!"M3[#$L!"LaT$$LX*Y EcFd,m*f4Sl'mN!!XI$)$l"pi%+E!Ya[41"M$aY&!0k%)k+F2U!*685Ai3@FK"9) M,+3%PD&P4)P&5RSU3ErK@$e$DdB35NQC%$*)QM"D''!ZB3-Y89kM5'ddf"X(SX& $!2$Jkk0I#LL`J49*Jj,58))[bk1%U8AB0,J1m"F`%2)D)&SI6$'X+1$A*!UpS!% !aD6*C'S`VCJdAG++%SIfCBrbK4LXU$bN5F`L"a6CRA#-BV*X*X")bfc13e!BqHb 4T(36HM"13jrR93%2RSec8MEP`@raf%&,*fINF0Qq4j'5,"*2#XFF-D5GND)G3e# 0H[)#ULC"JE5&N!!J,G+[5hKA+SQ1EKLiKTb-A0"h!2d(SA"`@a2VF,fl-U-2$%e LpCT'p0@E)+$2*!dlHLi$q0%X(M$)JS3fGSif'SJPkcdC$@Y93LmSS9T%Mf&%JEE &[0B))bF4%*2kH(G%5f&U%)*C0i"-J#d&l55D8PJ"qP'QT'S99j@M1kE)LJ4FQq" m)ffaFT9alpa3Lb`K!T&1`SmieKT35QbP6j@%&-fQ46T+8kfE,G83!&*QD5$cX([ HBT%e@L-C0Y!rER55h[r8SL)"X0qR5B!k!EbR8FVE(UfE8*Z"VUM6lLf9!RdKhFI 5N!$K34%+4NQL8AmAa45ZD++Y4LSCYdQ1RJa-AY8)4L9jRTX3J4%TKJfY9)`Cmb! jXN9"!3MJ"Nm23aH)$UBZ3+3"))3!RM0'ISiR)e&V0-(3!"@&4C'Q3QjIr--iY,5 iN!#DqFL$A,()i2kRl'QA2GS38G",XblP,SN6am@$&!f9#!3'[58YaT1NQ*C*)MZ -c%aE#PBk@N+%'6Y@q`PF-M@49SCD'ZLP%a#6Lk#4j*K+f`R'KY,LJ#M42DQl3p3 'fRUM,@XK6$`DK!SGQ,hL`XlI%BZq*,G4aiadNTd+$V5&P$6X2@%Nf9FY&Dd)S"% e&Ra4%BVH*4YhB+RC%-+``qij0f$$9-SJJl4V`)d#jD`Pfe%lDhB,DJTN*A`R5X* H934jC!&$@C!!GYEJY'*c3J#L$V69i)X15-8RS4r%9[I1$(Jq9)`26k6YHNma83X )49Ur+NQ4FZL4YK`(M5CDYeL*BCXd69[KV%L5@L8BQM5-S0@a9Y5-Tdc"BBXe%f6 cKGJ6V36K!qdp6#e+mi%iK`P3T"p"dQ-6-Z1a4rm6P06k8Sc+)SCcZ%%23A0CdT6 rQB(`QNibIP*5-PZA,HPHTPMKl"XmHdflC"S1BK[3EA4'CK)#STPj9dPK00Nd`l[ 3daj$!j!!&VU1#S+(+eB[H2U'V*!!)NHM)e6r$hN"T*F[AA&10ZM23dYB(b&p[Z' CE(S,4MpEhik`d#J5p@L2)6bU0$-C(m&+K5LX4m-++HdS&1RTBD+%eQ1-Y+"Y"C& 6ST["#@`i#Gf#a)G@,fNJQNei[T)'CIm2j&*"XkCH%8jN6aaV[+%8V'Ddb[P9Fmd UCkXBNe4TUD!)C,J6h'EeAK(p!1d48$P5)iM4"S3RaEhXQR+!Y9SmpiQ$i['!X++ 9CfCQih`Bq5Kk3GM!#X2p-&Yd8ejKR,MM%D&P0J!Ui*,la8&)f5!Ra-'VjKU[%E6 qXPj+mQMMT(+NiAU$dG'3!%(L%aKKU#d9Dbe0aC9K)Ia!lf`",F'#4CU'i6NDP8# Jb#l%@ZXK23)-aX[#h4-9JY&+qkc%-mHD1-ND22F5QB5'aSj2kJ6"Hr)``e+#0G3 d(iYXK-PJh"b4V6*PbP)EHf"+j+`TN5Q4dG-3MBj%L[LD0Q9D8@3UIU1R4UC-'ce Pp"3YV3Tb)NAS`pULb*34j-FFNjk'*P1SSbPDAYF&"[fHiI`BlUPj(bL,PEhE,eE B1`6CPBM$Nh,!(K05$b308dmR'E5,+NLb8l,4!%NE,!`jl'Cp14+TL&3N)Rj%6U5 S)K+C+4AbXd%NDHi-cC'LD6Uia+0(f`Paa5A*"56h#,F2XY(605)8Y*,KK8TVIl& bAR$pr9%$*df6JR9YaPLPB(ai,FP2kXF"JmR655HZ%DaJ-&Zbd[Q-`klrb`4"H,q X'0%d"'D[NM$C5f*JaCK'JBE)#2fY!qkhf$CM0#)YP9)#Kq4JZ*((0GiGNiDfZ9l X`$eJA#1')UM(#LGM2)[MB)"T($G2!(%#,D$-cD(9e,L3!,@qQM88F,bN4B9eY9k l8S!"q@C(3b+eG3NY9Q6K6N6[CfK1K@iLjCGSfKQD-p2L#U8Tme89DkDeGSB3J+c 3(J!Qlpl%+X4")*CTa!j4BBp@F0iTkl9H2+l%"2[TikAN[C[R1#8[)R'0Q$i2(6a +12Z`'hM+dS%6b@$'L@6Tl6Z4S3B2,2GB+mH*j&9%cY&G4d#@C*%Uf5kJL50T%'J EdLSHSb508Z,QpEN9Gmr$8$6c!c,XcCYp(1pK#&%2FZk@iJEJ)N8bB!SVSM&6LJi -IpT,K3c`NmD0m)69XDrHmU5FPp-KVET5e,$2SiFdBI"ATJ%IM1Nda35dK,IZE'L -DC%+BJcpS5D-%fFNV[A)$B&b8BC!jGj&ApAL"&D1NA%EL30h)l`l#)h8kCH'P,d %e%I61)[!jdG18LHKQH4ASlIY)6Z1Q91(AkrG,[$+CfLAF!-aSI%2`B8&&jl$+Qa jY&%-FYC2MD9T%ZTd"'`#IP`Pj`HQ,5*PK)ARc5AdJCDe+)eJa&@[[RbMY-E"5dH aX"p1bif)pKAc3KYF+S-8Tfl5FAG0"!RL4&hB'fap0Q+jdC!!UV8X5G!!MkK3aTM CXb9HZfXi#cFfa)13!#%&!p$K4,)V4J2pc!ba+"KKF%GT!'`Nd%0)ia*Vp"YQ%EB a4Mm[I,5qTV+JCDR*"GkYh1-RMh,m6UXi"q!+h$E38)P""mJaM"b3!,@QE8cNa*E 4C!$U-(SIYrpq*fBq-'%r#+%r"*!!X!G!hQ@YQ$BiKVFfk"X($jQ(A!88R-fYlSZ )L0#N#SQGP1BJ%6Lj19TUDEUPcXL*'K)4S9)a`MZ()bciHB6SF9TX-9#"*RdbIAq P!N0S,kX25i&PjBpe9mClYFSQmm(6&MY#0m4e,EpZ`1m8(*H,C22&%rYp&I6SMPB DjjX-M3mJ%%Nd)D+9eJIN0aaqFHEJ((+(9`pU#'J$f6X8Pj!!Tki98H')R3X0lX% M)Kk&ARrZ"5*,4`[e+L-XJ2SHDj,Jil%HGf+,PFaM4phid)PFjZZ[a4L$2`U$2k0 9ha4LJjS@p@GqY,3p,LVKHDh-""R#2&`kfiJRh1hGhH1DrI8VKl'(h+bVcF,2mV` &@E!(#B(q*9#mK35pB3(3)i%QpVENCIIl)m-0dfL[$Y[AAiR45r1ZAi8SjCXSc1S V'(`IK0mh)T!!NKp1!8@J&Pm+NK0pDrHBMmCB`56[9rJ0'QYkf@-R6dkQ[aUMi3$ RFI$V2jLY06BJd*1A$bU'lhKGVG&K8H+j$Fa#5@P''*hN!`K0)picbC''Th0"R8C iX*!!pb"aBBSB2RG$&X!RM'-`$K,'PbF'X-3Hd)'[2iE[$FXhF(U2LS&K$eM`XD" -Kc,FR"[U*H#Q%*m-iLFap#H$+$Aa9C4i,2SX2aGLlqU5qZQeHiIm3fk`fZc@ERq I%`PCL8$64B4RQALj3J@')kCG%P9$*k5ed`K0L9LZ)pr@5(p$ahlMKYcdLTY*kmK FK'!GdEkMCVr*9N!UMX6!)-He%BH[$I@$r$bEL9rT`[88[TJNA`qcAjh"fh`FbM& +)rRQh6Uq@[6U`D39fS8JJ8qQI"J2%NBTH,TTLLHh#QMNQ4ll)*hkcBHR"#LkqqM )*A,kSG8f2k*9c'mj*EdUILV-Q&JmI#RZq"'hDTfRRX52B+G!(U8q@m32K5AN8%+ 6!GYfahrX"KcjTSkKA,Pp-0)"$H0b@jEmK*!!2pT,3NkkhDqG32J1Z50Z1!N(SbB +CHQ8fXDb!JcT[)JkSQJ8jG3VETlK&H[QD8[c*AGS4bZqiqB400H#AF6`"CKiC6' `lNEpaCAajpdXKhQX$1HQX9K2Dm*eAi$`l#QQ5`G0QC(SkjEPDRKN4Q2G[4h2kkm Dk1mX'AR`-PLQ(k0S%2$c@,&LI22YTG40e%N"fA[)(AArU`!`A%#+ck'bKX$@MS1 YXbB0Z&5!iVh%X2#,98&j$[m[8X(2eZ%2hKaaJrT['D9H#9hk)cScH"m!&PJ)cqK CA@ND2!rXfjirP'Cqj"2)a0P5cf"kkpSMU%e)KS-GYehL51S[rkMk3ql5!akhFAh 'LE5D`1)rDFrKT48$9A+Ub!K[#XJ"!$djm1PR$*a"#p#*3&ESrU51d4`TU6Xm1QC @9+Q'dPJVhA5C960T(Yqr("r*5`dm(qUiUkUQUUSQAU9U%PAqQUVP2FM%m1kYbN6 KmKUR5PhY9'8YPcCpdNDa50lp9HS![q2U6E6kS2["6FYUfTC9EDPK@01'B&AE+X6 -,80D*lBXBfl9TP95J8DkfbT8H8fmCVSc`bpf$Balc8&hdNeYE9@FFT1mfQSfY99 *#M8Se)PPQcBa@#B&bcDYfZ5djE-F[D6DD5[!$P$CCZDSFGVm0@fEiLH'IApm9G9 0l#2V`6$XVPmBd#6d-QS`jDT0bfj#EK@RjU*A55hA@V-*#+K#K"I!JPeXkKSBpZU $lKAhbcE3P+Zj#6pC+5G#6jeBaD4G2NH8bGQ!Jh)TbkTN#L`dE`XE%JqEj!2-hU` e"phh*Q4ph-F@J`!1ZicC93JN6Da`Lj,81&V@YJ9liABip%dDXfL#UD9A69bq11f 0Z[+JQh9F81Udc5AH"4Fb3&X9CT@0DHc+5q19+%V1Ai1CL3$pjUDN%PpN53eDrE4 le5C`!BK&!#-r'4a,id)e6MQJN!#%QFcq0'Ui823Lp)LdQl#`69d$(`'[HYTGL2Q )'GfBH#%(D8aS`"2X3#Y'j`a5UmQ+e9LG`&RfVU'&)3FqBlldDIGG(4lSc'MiB9C "TP#!M+B4`9*8#9m)*`Q8"GQ#@Bj`2lbNe)L,RhER1ESh'JLQL8fQbC,SVI%K43M B3@0'N!!N!#4NUPLqV1dQc0Fem1Ai$clYAYP&,Q2pPLSCc#i0U8eZejFl0Q[Z-VJ NL!K0a-!`*B,H!'DlrbR(l4Vid[hm,[G-M6ATUcP5pJ1%9'djdZqqb8RFIp1Q66G TRZDNA"d!MB%qqFAl1l#`Cp-6ABU*lNG[`4YE#R+&MlJcL'E(bAM+H39p-phMq$p 56kDl6d4h"id%SKUhKNaN`3RB@mFI66FFrj3l5R1)S4+0E%f+E6Gpkf5[q`eBKDD dZ1&D`$1E"RUGGm!pJe2M"B3+laP5jrS(acVJMNVFqG!f[2MEIHG$q0f'e*eh)[I &EkGl&4p`ccbqHpZZEE[Zh)9HL2Rc%SN("TSp#6#J'18ld'dV-V[Zh,VV)EaBiH` DD2D%HqDHVEZf2F$"%1rDYQhAVMXaTal@qE0dX`NrG%I[`66S`H)GZhESC@aPEYY $RFIr20hYl6pdchCfEq-'d%J@Y99hI)K&falDFq3&q!#GHrEXaLH"8ih,(RI$ac% PCq2bGR$V6''$XU'(pR3HIpR02plCZHFZAGXj--#F(lMR1RGb,4Kj'b2XJ1[IKUQ *JUeBhqipHcl[l&&h1EX,T!1UL!qXF@#@fI[F#EXa#aHK0mFQ@!3fU,H*BVeG`F` 1CeXZ1`%3ZalVHLBpbXc(h&#Rf5T'f!'J)H9X1`IiY(#q8`1Aih*VZYZZVIJQeq! JEcrqLL#3!08b2IHlPF!N6*M&8VK3U5$iGmMb"TGlq9jh-L!U5!&#lY`"K+)*NEf ,qm#)@!Lhm1#f"`Pl!4Zk$1jMaU2ZfrC`Pab4mh+,JP5Z@@m!+'&hlJ(M5XhJ,UB p!P0T$pF'[#Gf[38,%HS3B!"0Q&U$JS#@',r"2C6YF5GfF4%DBF3435R%`E9U#N) &&mlA3je($U8(Q2SpYaMpZ33C'LQK82B@&Z0D$HRYhY0ej'#kq882Zf0"5!DdHMk 5!UP9ieXfm0!HTqZT!I(bN!!l"L`S+N!kDiCJJYfhlYlp-NbfY(,iMMZ+Y(NAH)P -#K*i%,,KVMfGc[%ZpmMMk9jRI`I5Tpr01rl+BmiVcL[(RH21)qRki0GGGH5lTi, mVapiU9,c6e6X(iNcra6,rUd`22EIImVr8@,Eh!Yc,j3+rXI00rj$NrhhQfGMQMc qJG30lJCAhGULUpliEjhH2f8DmpaYLr#q#pUArd(QYm@(ImTN231*!rc2!lKV92R i$qEie[mcI[6+8cMlC%UjT`*)&6$P!T!ZCpMhc$1i`Rd'41j4jp3c1+CR09Lk JB%-X"iHY2MHj*I%`I(rJqi0rF8hdriGl`cA*4#raEXBmGh[AQ1HfRk[8&2!Nrk@ bG8d-+[d'P4P'p@FDG'BCG'BEeCTM8"S`+-deUJYrXP23QQr31X5SKU%'Y38'YCM m$G6L,jVf!`MCUK$RZmGbe6%FVZ)I*KIQjS"JFVc-1T[*m6,VE#E(bk!MFPl'UfR `-S16C6!$`"@DmFdbK'2Zaqpr)I0[rbXb82Ra-FrYq!#XELLIRrfAi`'NP-Aa9jj EN!-hYQjU[ERepYE@hYDA@TpZhB85Am52laM3KCZ3!$[K9!FZh0EeH'2'baEre[[ J`RQ1&``dI'BM(rk+Qkr`'6PI[Z6%9h0X#KqCXLPmFdfRr"LbheEKVa,N'cZZ(`h JDZK8)KmIlY!T*arffmNC%HCMr0F012T[EEkf8ahiEeXRi3d@QN%%R`,$ImY@aa$ #$T03[$9kEmc!@)1P*U8`eN`Bm"h,5Dcc06#KN!#`(ThRZ*(X8SkE0pq!hAD+",m Y[U!FErc4fA*bkprjECKbkbAIqYLh%pp1h0jlmdZERYi)[kdPkEHGNkYe`+N,r,E Z2li8liZ9UKMkfr1$hcCiH&C!&mhCKlq(Y)rff9!dL1p$1`B`aI#*hS'%Q'lGdNU XZ0jpaQR$ja8aK,(Y%[Z56YZqIA6DIRRQKRPmYrKZ1F@"baCr4`5h92HKm!ZRe($ Cj2bXJHGRc14iQA@5mDbe((8XEL`fA5$(E`h'PN0IQe'5#DKMq-EMB!,r[3'*8bl iEHr#HaE`1aXDj4rmYZYJbAl5Gh[[YhY[lrhN*@fAA(G*#hk4+FC[ZbMhSP-Fq'h a@DH2L9q*IpEr6LLehl)Ir$BaaY5Mq1idM6&mJrY4bBQ,jZL8H'Z2dP[,4GqBC&* &q,`%@r&Y2LmK8pLmI(e#H@N-e[0DLYqqk*AF53rZphfrImS$$qjVH$qKe"R%kUN X2,KF2cSim0'1jIV",X`8rPY'Ijl#HR$VB-KC0die*!rH6Z9`phEPN!!am5Z'+$A UXVrci@EdEH`Gq2h*aM1ZbqANpZi0&YdRrr[@rTP,-RCq@A5"8Z1JJe+)aRqX&)c l$HBc$!GN'Nl)-Kb4E6J$KiM#)3($+EQ'Br)-jq3E$KTL1'QSiDJ#`eP`iBb[0iL 4#$KIZpl(!'5"YFZ2Pa3kq&p,QfmfQC[G(TZjf@CkQ-NT4"1TcLP%+"dc#QrZZ4P IC0HC(TYaE3C0Q$'MHS2,'S4(lX2[Ra"jb`#,D%li+BYNl2`+P$+ImmEr,B[JIeA )pH5e,GHhI,kPqVEVllMfEYrRIAIiENZaL1V#lhrZ6(qAm)fGq9%K1mhBq8IkkN# pG6R6bCdC0MMj,F0AG`LDf"lf,3UdC#PrmTheUrG9f2NLIaMUN!#p6if!bbq[0cZ Q%r#hZ*afF+02IKF-r2!Y'3qAPrV#,3Lc,LLjX+4dSN36`PqiX26##mp(-#QmX+U qZ6QmF2A5fYV`dVVPiDVkZZE'QQ9VQZXEQdV3H(5kIq'95kZDQZZAepH&*3q)2ZL (6r,2QZHce%`Yq0-*AJI0",Cc8)@"CUdaRRkbpJd%"1(Pijr6Q$H546aqF60SUhJ KC24Sr-F%9fe18%'I51"VcELJFE-fZrJlb*XG&[iLUa33NA$c0c-YVjqQme*TM)D rC)$1f6,#'eNpRLV'RZ+Emj!!-p@[CJ0HpK34[IjaYrm%Qlp(j0p!qfGdm#TYN!! T6j(!C&epiR,pAbC$%lhPG-)b'88NrJ'%3FSE@FYNBN$Uef[T[&4DSae[k&3TIce VaK-@`AQ-U&R0'bHb!5plLSKHrlMEIi,0hb2bEk$prc%C"H-A`#hYH'HHSrCQhRS @['me1Z0'0Acql"Q,e1RUhL[+,kr!R`0jE-C9#aDUE0p4r$@+1TAKRclcUMqH$5j XR&rId)ciGpG@0cEKhh[H@&29K#mAq(FJRS6i5iMIM2MVXfI-CIaJ698Ykap&c2S $dqH@irX-rL0ARVYm,Z*Ba3,-L`%AA6Rr#ZA,+&JiqhfA+hr'f2)VjXe%hCcbfB[ 3,k0bH9Ac-X6,I(X9I#imHc18lbqa-3ArIDrrZ1ma"HmC0iKlrFGmqa4mG0p6b2h BYep0aj`Pb$h[qi'k%VQ2)RIBp`T"HGB3j,T8#h1I1iEF%`UI5&CUffENpU[VQ'Z BMpaHYC'jDpZ3!1Y8(fIZSf(N[UHZPpaMb1e@EFaGRihFRkY0c,9a(`mSN6+E+T! !qkDkJEPEDT(lQVU4Z8pMPrk[U%p)lU[)hDHf-(IE1j!!ke!h-AGl*h,YkT2-EIm iFRHTQjQlBa9bfp8Yc1eBMp`@p5RQ2XpCE`9@)$'`&cc!a&)BSrK6*FMY9Hm1Ubc j+L%`p!(N$NMZ-IE1(U[l-9HSHqphh8`9&&ALqi(NhL1jab@hAFmN[H[d6-cPd*% a-`AHPj`TGaacii38JlJG`)2rBi`FR'mfFGf`fJ(1`i0,216`r6bP[[dRl"%5l1[ F-0Q(bBR[EA,lNlR6i&AEh%MY3`R@cm"0JcbViCPU95CeSh,eEK3FPe($p@i8rXM 2QGITQ`cf'+fp(R+U'SeE%Pf*R&b$!9[ifXcSadeZ#h)@F`"kJq`eIp'kqLYUkUV *YIP9YI90eFZA0ME@VmZYEkLZNd``9G98AeZc[-!VPA5HT"TV9UjUcTA8m[TeGCQ ci00N9Y3d0HG2Ck2U4JjB-'pGAA9MZ,'kUAj0Be9e*SNmNbbH0@eCrCU"k2m"FA% !!!: \ No newline at end of file +(This file must be converted with BinHex 4.0) :%NeKBh0dEf4[ELjbFh*M,R0TG!"6594%8dP8)3#3"$S2!*!%cmC6593K!!%!!$S 2FNaKG3)#!*!$&R*T$3!16@&MFh4[C'pZ,R*cFQ0)!"Uj2J#3!i!!N!3$jd['qUm *KJ#3'2q3"(*cFQ058d9%!3$J31dqiPe,N3!!V6)!N!BjL3#3"%KP!*!)faF1!1X eXHmmMq9CCh5c@lFCfb`YQ[aL9jlA4@8[T`dfQfcfd@e[a`CQjr'Mq3[pIYZa(I1 i(Hfk@1QqK"[bRPeRGRPd'fh(&plPjh8mA5aqEZ''QmP[iE(IjKRPIK2V@'DZem$ hJ+kZklZZbi8hkGT())%5k#"bm-Kb%@L5Ab+3!'f)6q#4Jr!Tj9&+IFQ[9$[HkHG N)eYE8eHeSUDUGRN6X`XV'qYVDjFYE@c+3MC[cY,+TZEkjI9eaBe0MC8HVr)U*KB X[,c-Sfal)'[ED(Rbk3Vpp0dkFdpEr8HDI%M8e+fSEklk5(06*T*69cFhepFeT5( 9Z,T19S"iQDiDC+UUDUXUQf[k#db(G"3XUkPE,SQ'e8h96B14@&99YhVab[VQHZj @CQUUVPR4A&Z&c&rJabFA[i$A(U4X#pNCjZe8m['S($HrTB8$*QVj*(TkdF[E[rE T[lp)kJ39`)9R+al%U5l1,$TZ`AXlhVILhBEhTe"`r4)G-mmkeV-2FAEDK$fZhr! rpTKmlVfhACeEYN4P"eU8YpcX-*KX`$fq"cr62H"*VQU,QI(8G",le##9Tr*9IN[ qJhJM0`JercU1f8EAqJG,@dCK')d4MM-62cij+LFa$T,11%Lp([[9QDT3M95Mm"Z *c*QSq0GKc'iHA0p5LQ&)J,)Clb0,mT5DAACjZ6!#RLPppY'j[cIhpm!ChVN95Sh 2(9fRI#A&DX6+['Xqr,l3bJ9AAlNJG2@i*6RMFqGq5bflmTBP-mERPKDV3AMRM5p @IVb(MLT@Ck,k!r0H9N1@M2P&[DG6kRfFa$[ZbPY',jlliH"Le!bGfhRpUU8eGGJ (Gc$h`h0Ahc6R@UjTCPe0Xe6C$maiIP6*Zi[9%1`Rjp`k96#ec[lq1SASN4PeGUb p1EKJr"MPDfqDHNrlrV'MaQHdIh4mE[[(8(ZNrGEffj!!Za1j[Hd6aa6EHa[mAAF &LqdR'[d(YjmIXRp`6V&pS0Prq)lcTpL2G9lIfBUDKi+cYTmhUdi0ADR80br+@M) NZ#"BVHB(j`mU8B0,e-T"#kB"*8-lTpmhVHj`5GU@kCH&l1pILSSRTfqGYV#mdI2 BY-ZQf)mdTcpqMI+@HLHFmAKCUEIp$r38irfP@DA&p[IEEjK9ARpZ3hSRHkL5-cV ,1Z[XhD8UfDIBIU3dXrd'l1k"'4p9kpTA-01qVE4)H8Z+lGfGSFk&#d,XL)V-rST 2BB0MCa8VhmS4ih1!aU'P@F"Lh[KFS0%(Y%iP'XFA!cY03-ZeH2p)d2+jf8m2kNP LX+aak9UPK[J[12N3P8I'jaVd!C("q3N%MPi-a(d8mqBN-&KkUEU`ID[8l$"cjf, ZA'GZmX(FeEISU@I8V+bZa4[`GcMK%lTb@Qep%c@C8Q@HPK%0SfH-RM9NcT!!QGA CYhSfH82HS$HBlNrhqG,aml5FIDbdTl4[P$h+VUF8XGCET9CTE&3X[bF,2j80!B! j1-cJPL%03fB2Q68QCiahaXNjG2fSBk0LSpJI8raL$Nq,rJ8fAE"j[AA"jX!QTi) cT$fSIfI[RrcNHXZfeeZ6Rcal[e1&"PRi+A@F[BcQmZ2hAc@AVNTe(-K+3CT+Dm' NA@R(m(i3ZIiK@1pYNGAlm3jj6pB2D,V2i8&-$CjkU$Ab#4HXFe!$iN,%ddh-21T BVc9*kMPY`GEe8pSckPKq9aCf6LrMpDHdaqrh"G1amjr9rjHY*jpmfhi`V3`EIa3 ERf!frUYqMmM@AppDBZXHqCf@!1YrA5pcZe[rqlkR,GMQhf(ier9rYFhrh$IM"dX JT5Nj22ZJ32SbbZHZKZCjL%S8#Y3h#5VhBLJU+&,rS$,PUI90AGMJ@D)mQaa0C-F +aUMb+qD0cjQkXM5M[DeNe+9U9[R+p$mYUr0GG%1$3UqV'T3r6B98%)TYdd!Rdi8 6A65S2$RIQ-[+XB8kr5kp0*MhTCF5@Err5bpG9QCh)LY[YpjNTIjbq`PNjHh@Qbc V6IB`XSRHc+DlNc+E+GR$H"peqal&qlME&aP9S$-k1`CG,LUf6e`aEdUI@M0MI[[ QNP([9V1QeD@[88YQQIfRFIqGdbp91Pq5*RT@DLB4&B1qHAQGljZAVaLaB0U5JMm YUrFZR'BQm(fVV2Cq9(hPSJd0(NI(IU)ClKmFbFDDZTA+krNH-'c0H,k`K%l(4F! `X*ahm9L9HH[9bJXG1c3i(pVE0`,),4QV[)X`HmQ3!-ik0B3U'eZd5Y,IKjV502S Bm@1c&(6dS*A"mERBA,&YYGr`GI5Scbbpe2jHq`DJ1i2)TZXKQld"@lQB@pP-AEd )MZDdUYTDlA&mKFb#VC!!93V'`M-KeX!MPc[+q[hcf[F(&jmr`ci+rAc8G6Lq4R9 0TEp#H8FDTq1*pSP*Kq2iD$JF"qmF9f`I2(KhX6U`i8!E'#YcPI,8FEVci6ABMi1 [(YpqhVQ)cPh`q&%ep,)&pQ1A!42frBM5lIeAhI5KX[0Rf9qj0,di"lj,C&DGrGM +$lar(VEqf,dMJiY(qfCY@$NV1%hQbE4l%1AB-HbLKfj&k4RYlF`"cp$q@j!!iH3 AMP(q6iG+2&dcMXlSR(+3!$LA,Z26lKd&2)mFG+(+,P%VKPkDYQ"DF&ERGiYp*HP ETX&VL5c*A$$Ykf@V$X`UA`@2Nl-dq$ZVP4F1b[h[#J(*U#JC)rRpb'G+(Kl*IGK 0I3kcld)'RJPfFpme+V1fB(`'0RN#lP8Qd289B(XrN!$Y2cQ(c2A,cX9fC(`@1Yr QG0DG"&PMPibF93B[aZPeU8S$"cibBclkeE(Iq3Z"Q@Z!Y&KUjS8KE,Y[!51,GEi a))[!5Tq[')UQGf8Hd2))jQJ$PkjB-XKNEf+@ZICY8eHfEb@LfRF)4q5Xb"42k*` %BJDfDPbDA2&S(S*(3kDj9L,k0&rlZ6mdTV5d92PAV#JT5Ef9Ib#rBS@i1@6I%H! hF0e3+LM$`YThR,S`Y$)(lb$H&bfC!1mUV64GR-6F84P6hc(h@l'pp!bAd09+9N) `H9$l,GCUMMhP,4U("[Sekd%Y3pI(eXGdaP&rZMUr+lmVVF@fp#qYKAR636XdCIQ Uj-&3X$cBjVppbqeEf[cP`9#`j&Mqa6"Zmp$"Qkp+(ecIYEl,2UCrc*8QkiQda"b KB)[-dH*Rl[r1SArr-SGrdH9A,TTcl[+jUVhNJSX[d)i1,"Q"KPE(M!iPRj0T&!b N$ah+cAAGFU6NB8EH6!iI2PbTa*[2hq6hlpq[91,0je3qpDJEqKpXi@4D2FJRTIb P)&9d+YqL0XQMI$TZ-A&VJ*k&*a!)q$hi"3,R`%ENcm6R12%l5p,iHkFEkkIN#[f S$!RRUd``TM`Vm-#NCi(%5S9+Br3KPicUbRpZTI-$AmA@pka6T9fMZR6pHQel1%q bAXbB+ki)HHqpYbARLLZ@C1biDFEBpeIGjEm1VUG5RiCK%r5,,CCqVLmBp#mD1M4 Rc*JajbiDHZlBi"Mrd0RqS@1DaiflD-c3LmGHGI(3`JP$aihpi%rh2VlU!hrfcBU AVePbf40lYaI[r,1@Xl'[BEK#bHZ%%ECU[r)qm6APUDp@kSP1P3Dh,-ZfZq#D(4Y P3bRDGJa[EZhr['0ipq"p$(0dPEjXYj4LdpafrM(3Yah$c$(PXAXJRe"JcMC1NCM ,EFlc4RQb`C[PES0IP*X'[bVA$F!R[hT-q@Z1efrVR3E*qT2aEqZG`Yr@[i82mfr %E`RrT[khr8m(8,q2$r0[a%LF*U(q&`rDh2cVKf2mT[cA$3`6*2*[9+IUIrjmhcb rU2q("Zlcf`DrQH!h)rl-IYB+6P3G(k2S40d0P%Z$C,Nd5+ACB)#MrC!!K+i6I6, 29MT[hXMejr&q,3mPU96L6@AjEhNS8+85EbV5rjP228Dr1XrmNhNXID"FjqFRdMU IK'K#pjU(JML9C`0j8Je5HG-J-F4!Z5S8h`2i,&q!qcK4q61RcAdE%prj%f0mU+` TmqI2eM#qHYLLDaZUJ[8VJT@098ZEUjB(9p689M8YQMYPcTR6@&(Iq&I&CdeCh9b rDQPc6HA5fYTVJdd00AA"bY@06I@0C92I[bJ`YlijZ,S*9R@`XRTj6H1BmkC1REN SIdSP@Q#1B&2cdQCG-lLXURETYF&T1'LYVkeLK@p"9909ijUUj8cQcPYEPbSH89C IpilQB!dZkQU@eYCmY#VihY8ePGI3[@0jB&j$9CeH8V#THQQM(Q,`JU8e69A"K61 Rcjmjrh*@&&4806EKUMBi"[HpQ+HbHQRGbUVcZ0MFZDYA,9bpBN90C9A6['Pc&f@ -j60liD*TQ9,f%6E*&p#X!$DDh*SK$P`'bYcqP`0YBiFd0&DYU'UXUUZX#Ul41b" HcTaCeec9Z"5A[QZUJNYA)"GXUQbXD@KQF4k@Y3cABX'D93heM9,LQpI3A,-+kfI 5I`@1KPG`UZ8!e[+DHKB0+UYDYRTPX!(Ac&8#b4([UDTU#+l&`A$pfL!fAeIIZ'T TEE$U)c8bd9NRbkXD'l&'TlT`EMd`PeK42FC(NqA!B2e+0LK!Jk@0+b[()eJ6V&U eZKE8S(FlI&iYpl+dE[R5aZ@BU,*+QMFjECYUQU[1ElLfZ4S$0DeZF&B-FXUChb8 ARL'K+Q5&[0l)RURHTpCiE[+ZF2`pB1eaT8Ti4$T%jqhRl@leKjlH"lfH9h(V2@L K[YhDlIAqr)DBPAcZm"aA"4G2R6NR86HpmFD'kMpFGV9lAmaHYekR64LR,jr%2$l dNJXmpjRe!)a!hV-k&cf-S1QmM$rh1CT+YJeQ6fG--@+Zc$2C"4NB6U)"IBc4,jX aqZ8`4VpFQ3E1*kG"[m'-8C(('2eJ9RhZFqMRCiaq!CNDH1(8k(F'Br3EbKL9`aL MA`&Mp"XZf`(fZ"hd1iXaqSeJM(jR-dD(3XESpaECSP)MZ8@mBC44cDSJBr4l+f2 d1iFa1Vh0h05IbfdMphE'k$HD-IUpJc(kM@'-IZF*+T3D5e3J8f3dmMK'k(FqBr3 VCSaqiif#,Q%eqPh!'"8A-NBrl&,`-B%aqNf8+C5kL&1JhlXBSpr&M&&j#@2dQm3 Br5E,Y%TGbQR4lc,'k2GZaZKAbKJG3Sc4EiTX"Cm&i&E3EaTM[-XBSprPM0'[R$% k66IkI`DhKhic'D0Q&Q2dH`pMp*[0'2hQb*CaSX-Y)c12-IV0Ciaqlf@-IJXBSpp #3B05Lmbei"@-89("'2hHa`MpVQ5-IZqA+U8q`#Vdqb"Mp,Z+-5Sra"Mp2X`Br4C ,Gk@@X$[k,@@-IXXBSemPBh4BcKMpUQ4+3)"6SYp+aZKAc4M['XESGc9MG,T'YS' 22(!Ek,H+-IV9-8CY2@2dDf#-IVmR@m0(&VJeC*SBSemcBr5$a"*mV''-IQYPZdT pK0Y&[fXCSq+MM0([Bic4EaeMp2ZiS%#ThbF+d'mpBr4VBBc+9U2NVf1%IKZ-VVq H@I5lJ6(kY6&'[if-d@%6Br5l8ESUG41lSYmR'+2ICXESGc0M[$r*'*eZ-Dl"&Nk (ITpLM(kICSaqIm!B26l$'2hqR@a"UFpb#mMmHmESGbYMp"2dSYrR'D2I&f4E5Qh PYY"['f08h-BBr@jRM(lE'D2I(E*9TAC`UqKh*f2dZiXa+Vr)'2hZCSaqpmMfm6N 2EKrp[X3BrHjPM(jICS`1(FE-f5Q48PpKK(jrb"MplQ1-IRr%'2hZ0iE39k@E8Pr 6#Nhp-@2dqcTMp2X'Br6l*Q2dJVXLq2J@Td,QfpUV8hr+'2hqM$(k2F!BrEiMdq- UJp1Mhbl'U2KcaZMhAFESKfpG#$lqJfa*UBHi*I4lQ$(kl@D-bZmC0`RAUi+2rbM Ea*!!h#Ekr5I'k2F$aZLhKc%ki*j"N!$aU,E"e'1LPQhePpTY90$4-[N2YGZNpM* 'The(M`SqpMreP-3rqMBfMZH*Hqq9q-I'JRab,3kVm$`PMTP5"mVN8Pdp6G-16jF a%Cp45LBkL&DF#$F$-Y&KINd$mE1d*a%rTj4-p$cY0F3[i(#)%lfSE8"e40Z,kL8 1KBPq)X-rTAl+'"2*eM$4bpS296bIi%5[D-01Ah"M)VJ%-Y%*l@kUm&&j913TH96 hYq942II+ShU0DGUh9Ki905jKV%`H&6p((Q@CJi68&f-Fcd$(JeTYr42"IlV'E2$ EY[H)GF5bdPq-2aTrdE+BhCrU%2UHA@)pfR(2hG[[AVFG[cAVm$VeBq(fGAIIFII Gpm4h[QJG1C+DB0B2l%R@cVZPpHIAIAc0ZM[@)2lmZZeVYM[4ab@@@6kZ3iQfhlh cd4-[TfDCpkKGDYf$YRS%h@FlKrV#1Vc@I"`&5#,J2(HB-@3H2GHkHq+[T!CDp*G ff8kX4Pib"[ZK&cFL8f)@QC9&HKM@FdhVeYbK&lKQqmiM*e*6[Hq(p[5i$#'$kHQ i(YQF,T!!c3XNp*k!#Qi2CAH`"p+FF2[1F'U`$qkchf2*BR4IfC!!3!!K8-3+K+c l!Q$&KFP+"5bIahjPNm$U&f549RGUZ!r[YqIHJfUZJj[##r0S%(&9CQAE-5#KCkE Q)"aH3i`$BNbT@[G#9fpU[ZZHX0pV*A[+U!CAf$N'jFS`RpQ[B%m2H3Ic'XGSUH% XDlMR4"r'qkNp10VDPrM&ll8c68'QUGLNGp$dBhZKTA'X33bBk1f5K'4!3BP'[Q" 50X8p%&YF$(E%b+%ImNeA9,DJZX0+aHj&(&94TD*Qk!e2fSXXG*6CR(RC'k4PQ%C (()Ilj@CP[@E,`JQ'`NLKB&ZK#QIUZ&*K'0YmFrUHZ2+%U6bP`#cKSdrCll-dPK- S`PJ%JFB@!5KmB5J$bcH3!("*9,"!eT1@B!QdA(I2NAMrpY1kCI)N!0S1f&F#q9b Q!cDCAmENY%*j$Z2U'Yd+ba"')5NiM#HS%9``IlFHhJc0YcI-,ALk`c%hEIC`l3& lRL&lYMCFVYI+R4YUeV1PJ-TI!VX'-KT*eVT-,3iHYIkD!claY2dKN!#V#"3"J*! !TZ"EXlkQ36-HUJhah+&AC&K6e*(QBX1iKUL2f'Ci5f9MI[hk*4HXkl)r($HL`&% k3S5Dh3`CD$biqX@48b,IK"N-'Mi[DJ*%B$B'N88ep%XSE-,d@[S)#cKkb-%FCh0 8L+idQ(%)3f559JkkP3l-iT!!I6&*LhfbJ8aZ!Lr$"miQeMpMTqm-"#EQ@S'dLEQ "LI'!BLSA*9BJ#a@"h)Q"h(JJNaNT1Q0m!"95*b&I%k1"(*eRJ#B+JhJ@*fJTVM* Nr!38(#"HGp$1kj+"*ZB%F[e)M,F#"42e02cja`G`QBdSCk,I#Z5-Ca(Dq,Q,d@J l)GFr-B"AVMmh8-a@@)+d#'!H,#-R%,$kSGJ6aI'mE--"`3d(lF+GD&dXD`MN6JM iFc%@)dcQjdDmZ41"JU(B$XT3L29`*C`Be@q99@&N@6m@`LD-G6Y%'r3+b-GF2[' S15V*#PM$1aGc"AiZ&C[2mAR#ATq''0*k(aJBp5`K&,#*h&MJE@cU,!YE`Fk**1k %cEQ"!'#Y*MS-583kBNPN3J+4RT'(l,GhB4#L3I#3!"-@Y(KN2L"6l`2VM@F2pCh [bjDhr-BKPjhYLfCRq,*4G,k9l4[(HVD)Cp[qG-'i1[+52F5+pq[9eQM-HYBHC(8 i9G%1kl#GDh@d5TETZ2fUEE4X8EIbK9@[j+)[fd2LXB&K@Q2a`hCq20CI9*6!29T f$"4c`*IY`[kDrKrURp3`IH#3!1hG56KP!54BD!iBeZpe)!Uf!Kd&FRT8CKLMiYF V+%rMj$&e"NZ5,kmI8&BlAlE61bUk)q'APEHl,hl%pRC84#,JkBVB%6[0kZe'-Mh F%l8"!4@1S#pkpabh[9CIpe(P,HTPbhK[d8qTG-JS+-8%,f2URPEVZ2dX4ZQ*(Y$ lZqq3!$eS-A!-DK#!ql4)c-r'1NNUB")@6Q!C21(`NmVVbr9l0R3GYcdGhA#CdF` 6l[Z*VIU1+8q[GC4V##29(HGfc+V*,cMDlhi965-NR"1%V1bmerUTlBQ'i90M%NH AS8p[q)Mb&%9IYH&`B`a26la,-p,EZ6'JLca2EK59'eIqF$CSL,3SiB4!MN0XN!! m4[V+,Xa+!!bR!T)`NZ0Ch)@TSeK63M#L04S8@FGX6aa#*9Q)T4GeS+`edNGS1q3 GpV4DB4[UKRRGKa2fK1edLfX!kCKQ%F`F2iBb`!),'062!eSHKSQ`hYG+!E)`F$# N[b`a91`C$H`pKqc"JQ%$E&+2(p!P9f[&N!!Eb!jhD`6J'S$i*'lI#HY1G6J1#L' [FB4e!I*43G*a3Pkbam"%R0fVHUb)B52f!mee4iJDmKdRkdE,$V5-43J6A#-BD-6 3*5S3j3l3'PM"$8-#QUVLS&kS$Ga68N&iN!"@Fl1L+JXYXLRf3,pN"'LX(1i(4`b 1rb2liJ+F(1N+9iP%Pe@NDCKVpR4E*i!hPc#`b#J+iLjlp*!!R(UjBd-J'VLU"b8 pcT!!8CAMSV%)!kA(#3L+1cfk!%RD4VZGDGRAU3BfqL+mbC3+[S'8[N1Dq$b(lF& @)&G60I9&GSmk)iI58S5R9VN1fcVNGe3[5mYZNIXU3U6f1[K)X54@d5Uii0ELb9f 'ii#T,Y1L&HX)alTYGlCHfJMGhED+1V-3q1MA#cB"GHSCf6XLkK+GZMN0+`'qF,c ECXVCHPa[c6*d'HiiV#(`hX1ffQN&"JZ&!Hq"BKbqSPXkG6&B`#Gk'6cJliBJ8"j rM[RKPHfZ'f0Pk5,,RiB`ZjIBVX!kpC,5Zb(`1Z*aeB&YGKJQ!Qp%J)*-lP@[-aU e[0%+#!"2$iaMeHXZ6IA'iPNGXEiHTkr9Be[a0%`NNMmZPSX9pk+J"a36k5@*GX3 lHPPLL!TX'E'pI3iq[AhaMKL@%Bml9S'HSXG@V4VA'+%RVKF@9hea4fJ!Nb!FJ@G B$i!CBjLK5%0+fG$'1rdJ&Dd9k+jiiP!A2UJSbRVi#d)YirdDqB2a131`m%5J$'p )SM`INXLK'3)I`)q9b@+J9BSkAV&9[&HV)+`L"SlaK+1pB*-H!mG@B-#+8"rdpGK T-E!#5IqiYSV!5,(M)&Mf!UY!qC!!@j!!,4,q4!X5P[%X1&DF0G!3K!lTV-G1QX( KX)CiP($SHpESbF0f`BfdF#!S)5cSSdc-p[QbFdJSbKm2C'[,**!!ih"6ATCB+A5 8%'BEBLAJ2+*&-Y%28L4E3!N3TZ(G$8$d#Ub23F-,2hV#i!A(V#C!!"U2e3[8K+e H@m8d%E#`VaX+2U`bY25%VKCCCB4bA%J88m5aA5d4X9d`#le1`a-!#9RBF%)-df& -,9p3fHFD`pL5+&GJ9P-a9['FKXPE$pYCLlP[V$dH'%'a4D&003R)`2NJ89"qqc@ *3MaiD)N!#K1X3(SZ2K`U3#&m5"CS+!a1`Z$bHQQ#LDjkf8a2RB"0aBfHK'*+YiS -Ck!1p#+!K'$bp#NNi"9S0`[0!!c9kT)YD%1,%YhDBlP*&)*Ed-,`"e5E+cm!M65 MC#)pT%TA3a)I+GY-3i48QJF[4FJ4[%R$653*14A!k!8+b*J4FLKa9%`99a`i2`* RJF`KSKbHDlDHLdU9LijJj0kA0@XBSGM(rA-hP#(BI`F,Z`PV)lmU+,kKDVM(AZ* #fahdrT%91X9D`4LQAbpk1p,0N!#&eUQa2K[`d6cK6!bXpQLY3b!JVM!FF3BjJTX &4eL"X`Pr@UG#%6#+L3QNDH'+1D2IGYL'&aN,+0#%4iZd2M9B4-8%U,aL@,hCCR# X(8Z#0DIL"[`9[EDh`ZJE5(V"5N6AD)KVEFDbLPF6NL**SF)04RF53AhBTpB8iK4 SQ383G"K+%X*d++PAY,T$"3jY'Y-R3CaRNKA`+k$a3N-`-*Nq4N'!kQ,LF*3-R`" ip)MLcK*TkiHKlCd3b1mc4PN@DU+"G$3MBDD6+5Z1`Y@-`Se-[!ak9"%@+DD%pT( 5m0dqf6Af@%(N3,0f8b(da5T8(m&J!!CJH#1Lk!%,Be)b"+48K8iCfM6h*BB9#C! !D*)4M3#,DJ%%FM'lF!5BH4FCiS5j1kaUm["*`bFA6"iZX36i@C2c*NfHK#4r+2* ,kbJd"+[a+d#VbIRJe'&CE$UCh9"%Y5%[SbAMF%eI)*5j5D%rKlX"@YM-!Jha4!a Y4$TkA(GF,jkN%G',BaVF+E[9i1Tc9"EZ#BJjiU'E0Dkq3KA)#U3+)mRKcBLK#1p KHr6L!U`6kqHD#r5bN5j!6LpD9aGSjMR$-e`3J98M`[fbKQTk1!X9XH(TE2r1APN q%0dD&Z`jjSU@!S)%AN&%R`1fYFla4-"SUFX%VYbd&Tj-Z(*B[+B5P)TJF&Tbm`Q Q%0QJa3+fRe30@L35N!!'!m-2fqm!"`J"'2$,JKfBFp'D(Ia!@i"cC+')-''VbIQ Dc`Il0(3%4T0"R`V6BX`+F91Gp5Fp*LdBdKb,80r$2'GlHee($TdJa2S%')*T`#+ 0jT@!(Ma!6#-MN!")D#J[j#aX'(0Nd'HRF45-kFK+)qF!#i-U4eND,RE)X8r)J4M JULF##B)-B3I0Peai!*N*HV9j)!'fdU5ClbJU8S2"d[##I%f"fVq%+d2`m)dcm#3 [H+`+&KQflSfQlXU`,D%(XbhaT"0'*U'JdAk5&!hkK"CG$J!'0#q)1!"'(&)BGYM 1VZ,Q"IM@m%)X,b!,RmJ!q`FHK#R`l8BdpNH`F66365J#S[3"P@mbUJ3rk#bN3'U %K45R-R3B8@+4NUj+d'mi9Xr5QK'%8P,'K3`5*S`@"TK,f%",P0FT8KX0cSd$dH! L!(M`p0%["46B`"&*!j,58))R`k@%b3AB0,J1m"F`%2)D)&SI6$+X+1$A*!UpS!% !aD6*C,)rTCJdAG++%SIfZ%[j3Jb1U$bN5Fa"$LLb1fiCaH5`Q3!M*E-j$d&Kj,0 ,NY*0k-%i$AfZ9`8mZ$E1+GQ8!lr&C3FYRDcK3fAl,N9+XN!m+4ac4*!!YSD,GJa !0HV*mkLD"!A5&N+#Y%Lr,ZjHUF3lZQ(J'R)bFN(I!8323Z(JYLE5BEYhC8BI'*V %kM@0k+Xh38#I54TfG&d'm+0C2'#3!!%*EH`FE6335ilhC$5XSa*k33P9)RS-)`U d(FaVM6"m!J%aSBph4l38*[XKQ(8$b!6B8Y"1SLQ&&D!IC8UU9R&91ETPLKb4J'X 6R'qN,&DZ-ZDH'fU4*83JdNRi%FGDr8U*VI5TNT!!SYQd5%GTUR@c3c8%J*3j0*! !IYJqEl()'Uf4$"[S(cFk3HprFN'"!0MVd54!R3$HdbMPEBr@6DK03eI8DIH@5S' qN!$Zip#3!1&"%3T'5D*4Y)YL#PFdi9BMPBcE*%G2"LD[D35MNPc26BM!L"6$KSj 8M"Mc)$'bJi)m%-#0VKk',K!G6&f!5!0!#!%mCicm,&G'SYCSJX%q+JS(4CS+ZAh a$f23dZ*#DZBM$h,&)S1M6cZRAFl4KSL#ATTe5AG*R$JZ(U4SU%3J-1!YD6'H)-@ 86",CB@4QbP*`T+0$L$"M4fXrJ8ZQ*Y,+8%X$[A3#BQ)"0*)F8fNl`GK3@K`3*ES RGAH!fN"EEl4P(3J6M`DK3JGQVlL`mhC%`Ur)EG3a)jeNTi)$E5%P$(YA'%Rf08Y &+`*S4)d&6eL%SR[*aKdie'`)BFKKqj`EX@%UCC!!3FSei%D"FYD5lDLG0E[j03@ b%Vi6*@'[+S!mFJ"$@C!!FYEJY'*c3J#L$V69i!Rh5m@RS"r%9RI2$(Jq9)326k6 XHPFa83X)46Tq9B)LjG!MC6N1'%fdEV%5`cBTQRD%Xb**DT9JD0)`JPE(@P%cRM3 *Kbf1Q5#EcmHHD#8)(fM[BA*"LJr%1Bb$)Vd)%KkEN!!CMcfL6e*5kdXa+SX)cZ% '2!60C3P6rZF'`ZXkbIK*#FRXZ'`*pc,*#L0[G1delC*T1)KY3,I4'Tj1#)KQjPd PKG&%d`c[I&Gl$2C"@ZJk+JJHVMKk`G8hC)8N14SGSD)rjJ@3!&kqG-8jfB!r$bh Kq!LTm`hAC00E-2VCmHd)#idL8Br1-B4,P@BQib-i8L%-kp'`3P)l#N@kHTJSSI8 B)5eS@d(NP1KQF!)E6N!h2r'Ke8X+L'B6VUqN34RpN9`UD0E8+m+*l-PMM6H9JU- C(HAmQVRQ+'G(-5DSdU'#!T!!i8j`Qk2h#ZJ(D)q!bT%D3B`f)$`KlQAAP!1XeH+ j6a`8P`H%&4ejCQBfcSH4Mk)AK!dFBEJICSYZbLZ-NhFm)V6-"N!&A(*8()5N$A* 5(,aQV[%D3HX[adY*('fF8SidA'md1KSb5(`#)`beTH*B5j0aCCJ22p!p@d",X'# "TQ&iMNBP%#Lb#l(@HNL2!)2aXR$h4)9JY0)q4q+CBdfFC!fFHiP-3N0MabGdJZ! pFCMK8)*MU'Nq&YN)Nm'i15*ECFUNT6Ek`+63@bD&*S8+Tb!U$)8+q*SbD8T"D$* qKC0$NkB86LUFT+99APDS!(eB@a#D0)cmQ'A58p"N%R8d4FXEZX#Jhc@Fpq+HQ[H "XPMCZr2&#ZF13ABPi[#8((#1#DN(%SDTUj--fN89*0JTdDLIT!d@"Kff-liD#T@ (bZ-K,b)V9&!H#NfA#[Nj35KKlJc1NU)T1VM%T8HR%q,b5a),51`4EKpNSkYV4#K S*F-,PGCSNE*HY,h4X)'6TNR"ZMCM(+9JI(JYb8rTahk$bG9**km4(-&JYZ4)jl- 1fpk[%J6"rE*L4&-3Q,e+`Q3[LB!9)aS&'L,$p,F1Z0mLTaQMB5QTP"3i*!I$M6b ZFHqB0,60p@)(lJ&M'M%836f1F$,'XcJ1"TM'FA-&%#I3!XVF($UD'KHbMUrQ'!S iAY+L`R'eAVp5J!(j0NY$)VPe#4fXb-+YN!$Hcq#XFYe%bLr4Y$-iDlU$+j3Qc9G 9T*R@X61%!'5&cJ&JiZj0V%)F"'+C4Z`3&Fl4#XilCEf1&imV-F&qkRJTFHrQ1Nk *LdKF)kE13`H1%NBHYRe21h4JKG+BX8)CH[Y@D,$"!mYGeXUb3MRPSA0def'3!#8 CT%UfmfRL5"J%fSCd&)p4NNBTFI2kh)Uljf%SQRN"'IEQc6k1pc#%U!FjGdYb!h# 4*"N`K51L-915$Jar1TF+DH!RM4[K#8I([RE,Nh4HcS5dkNT5`ckA(P+%`9qT"V` rSY-8%p!5lVScS6'QK-U*-I5(QM"1R*'iMNGZ#*5,-J3UpblkUKBRX(+-M0Y)(,J EiGe"D#42[c5NR%Y!I650X`KmIZ38G4+D#AieHYXjC-FaFr,`krAE"9lj$1i5EL! Q02iKZ,$Jr(0BK5dA'X8JCrh8@*SQS8k(`5EJae@bIQ6D)P*'@,MHA&`ID$N@T4' -Z1V9Pfq8eMKik5J5pX0TZ4(4RL*HD)0,CC!!SZ401ZkZL5""R+J,j`CERidih'K )eE%X5G!!MkK3aTMCY59H[fYi#fjXL!FK3`S'S--+CCBA![h-$(*3--cJMY)!f)L MKj!!aL@1d@qB4GM''2fmm0(kQXU#PU8Q&hLhFSqI1-Va@UhL()!VF0Y!3b8#(5$ (-(*!eTUb-C%6@dD6!DM$k(hFrRZYL2R!K20"#2dKJ,Kc!14HeSTTJf0ia`Cpmq! KrC!!VB##NGcU[T!!L!K0UT!!f!PT$K+"NjZPTCDQ@qU-V,!K%4%UjF2FFcM#JTp (#*qJa4B"&@M5*p0(+a3B3RYCI9J+,#Y[T,XLeUY90TN2RVEB%ESKVQ[jG30qTq# %A#5E,jiiheG"Mqj`KA'qbG$i!!+44"-LA1(iJ2b'`br2(+a$pY#U!3d"E5"lKq) 5mY5e)LSXXA1K`9eiK-5Md1[2[N"NDD&3Vc,#!UM[F8`5I$c@j8jXXB*jl+JE(cU 4bhcpY4KMm)GKm+HekTY#E&$6S[l-MjDf*d3P[+#9Q5"$Q)G,Ca[aK,[GZhYFXlp aj6$kN!#GFE9Cq&YFEd%@l%*#S(m*&'mq3@pB!24)S)Qp,ARCrIl38--dfU[$p[9 AB[65h1YA)8Vj*JUcqJS'h`IKpid)T-5(8d!4U-@AJZ4%hl&lc%GM(-%NleIj$4V (p(+1R9`jQITUM)B$R-H"VrpJYYC)[d"2A$kS#,lMGE9'Ki-5efeJ&NT+-d*KJJm J0)ei6bG('Tl1"R8DiF&#hS2%K#NLq0`0@3#I-)l!1)JEAjiB`"*l3!HHD!6I'jC [i23H&32$1@$"ai,5,FT`FfkSPi#E3R`bL*r%d*m-SY6%9e&LNI"cr&b)FeHAd%q [hc[N(V,p9@Dhc[Eh@D'!)a&SZSM`,"8[9kM!F-585m*Um,L8GKUQ+4(,YH6E'UP [k$MIZ#%h[@URdcSb&b&B4lM[U0P[SK@3!)SM-6$)#@h%i@Y$8C!!RfXcm5YGZ*l #&j2Nkf(19fI`0Kq(XSc55,ajYik[&Vef-1N)lAb3!-!RNck-#`QM&&cG0-Q9@hN dmNb2IC!!6P(ci5N"LZjH',T%6MqdfZC(Y)Vi,DH%9m92K4N6LiF[44d[FDZ1mp3 6I`Pf#Z44mV0&r&"BA!iP0"Q`EAIX*lE2NQrU'-U9f`FM(G!`*VGPL8m)HF1p*15 %frhk#B6RN!!pl-C6F$"U)Pq@6UPY,#[!N!$1LkJMLNC46VhLjKPHFG`mE@QqBJr ZD-9hh&b#jPU`L`Lq!"1V+!,@lE#hU#,fJTeK-Bq9iG`d%ZPTMG[fLa#H289dkD! Tdq*phE*F$BrdF+5lYq-&r98$rCdP)`q1Jf@L'%@$J*r(LK6KQfq[*'qL6JR)hN2 fL2YI!i$K!P*m&T8e",Cf(*`kak3"P`T3h*FB&Pka+LM2iIq&b[RC1[c"Qb1fArm YSq3VVNYISM1$p`&JJBA`M*l6PDE"#m#qdr2(dXb,I"bC'&[U'8a[AAX%YA(*F,! 66TFBN[V,2kVqN!#pp)$,E9bIF5)G6H$J2f(2iD89!e9bXXJ)E`V)IJ!peIrTC`b F4J[3#N&@k2kNMN+1P0!G,Kdc+kT83fQd)pedQD0Q8MbqIcNqNTFFH$l8F9GP6@9 P6Da5eF3V[6@9bhZ3!)RJh9ZCMX,P09DPZYUUc&JZEIUNM@+4[+19kJ#riqT1Y1U JrD'0bfVDPP9ZVQ&BdiDJZUdD-A2,N!$@LFh,Q+[H@#d9D+5l9D2+EH)fdjdCIVQ VIpaV$YS6EQjVUq58'qA99V1aV9*5U%'K6LcEZ*("-LPBYV&kSp@@bh,dNQUV,3m l3'@EQD2'D[2@Y'f-R4cfJl(UbT[C4pD$BGKG[c#J5HKPe'$+kSh,ENDZQP0cdG9 5blA@E!3#+K(K"E"J&aZlqSHpqU!pqhlC"TTb06IM*b[P41LT%p9-1X[RL$)j'h" 3,Q9CT8b"KHCXCN2LBD0mJ0QGYHDJrIkiV)rlf'`3`''A-9Z030,%#VFS5BfMC@f EX4GZKd2IV$',*TKDHYA%j)[6lUJV$pSC*`5P9YYFiPe`)31d9@*@fCM'VV`dASQ La2`eQ*N)d'pZ5LVa4CENS&A2f&GX""H!@!3`mT2"X63Z9118!`T*Q-QFRdB0&iT HK"k4GM-@YV'Vrb2JPFrB#c%I-D-E%brN))d*$AL#(@M&k*a"DM9CX4UV%cM,hM@ d-'6rCmbA2Q1rYm-&R4N02m`Ub"3+N!$40#*BLLVK#q%NJE)J@c$,%Hk(Pj3FFI% cpMa,pdB$`65ab64C%Vde2U3)!6YSc!L5")#%6#A,PlAGM2QkqVmFrk&Rl$PGj$, @Ekk8`CbP)EA4l[TUabE0A3DA""'KL4JBTN63'm"XpcpYf9hpAlUIhf@IVE%QI69 (bRk!N!$+c8HLpPZYq2dhEpaiXqCT6XV9!G!Bk*0I[Vm$#hXZ0G'PQ1Kqp"DmXD8 J9rL)1i0SYUbdTkeAd6IG2S(r)r98U[YiG,I35##UF@[)4"BFKleeiV&8`l&2fb- dKaJUdFM@T0Kfm`1RHYe[`#SdTF80e`+HfGMIkl`$pPQF'LmJ9(M2N!!kecm`eJ& l42c1KlIKaGrZ1ar'lcDNlV`6Z5pr*p@Vk)"ppSRGfhCYfhAR,[4#c*qEL$rBhq` TJ!(&+0q"EPZ4fAARePd2im8+DeGrXbIYXrGXhEAY33k'H0HfEEYfhBNjpE$@RkH DMIZaAEJ(dk!(LhIXfU'AXC@jE3phR[L,9,GhrGJHDHhHaJfJN5aUUqli-)Zf2Ec Rb)[`!6Vhl0Q06`)R'jFqB3G2B%V1aZAYi0DC`JCP3`r[k6aah-ipdGQjjbjGfpN r`+`IfHGDGh)Y'(NE)qb!kpq'UBQ#V9MIlMel[QMY8AGCZr1N!kU)$kbaIjDCqqa aZc%,&k%habCB"$DSYiPL[9h"c!jV@cBl!4#lpRBpQaTPqPild'QfLK&f!'K)@G[ 1!6iG10qTJFYaZ6AGEGG@I*0VB*!!Gjei94$)DTQHqpe+B")Qc')TA+K8%2`lC(N $blhmFAXL)#T)!8,Zh!'%SJQ4[B[l`)KB#,I`d,D(#(X"'lS-l'2DBrBlph#A(*( cFSZ#9+jCE`!SBAIZ!H0+cF!ZTM`+8fN2e`DmahHp(3X4kK"J!%fB@S1#J*BB[i% pP1kaahGa%4TKa"&"+F6"Y@S+3J8AcYI$R8F1T3DBr(fl#2fj""ND+D&3pKB@ieS 0kHhHdhANB+Vj4BrBSd&)"V4k2T)#U9AM@cE`m"kVkqPqmI+`23SX+#T!1QZ'B), GYqlHI4`Q@dSjI0FH3GUm#la%*J8*2!6CF0HH6ZY%PhhNL95[NGq&p)RD15GHh@Z pDVek`MTK2CUUphr,9NHqGcV)rrU"PbSard6&q50ajTpL1AmV$)rclcrPrbLaEID &f4G+"IrMjT[rSFRjpjXM-8d1rd$UHRZpV@jYd99[rVG1pjmbMAVqYN9ih`AYbrm Jml[L`cpPFM`$LAhmc`1iDe5jq!rQq0ErXeldbP%iqf4+fDF$518aC3&3PU6cQIB mqbcZ-*p&N6fBHI8XcLQCc93fS1#%@!i1@cefBN[LBAJqkrRX[lJQq[r$[HQDT+1 AH$HMRVqpDp6cfmp9DK*iN[p5fA&0$#Up"T9T4[@R'h4Q'(4Q'Y@DC9$U-bM00US ,Il*6d*TVd$V)U)E""V9j"V@Br%h8iLqD4J'%6*@2mpeMfHSB$PIa$j2cXl0!-&P ZCUf6bA)cDje-PTY"4q6FM&[6i'B'*NYM"S$,0q1EC3M(h)rIrdEQhrjAC+$bqP( 2llJ+9MH8cmrrbh%r8NTMq#[2VC!$'eShYYl5HRYVDfrV+kh2Y1j#L5INaAF-k-+ 0bajhZJ-AEZXk[$(MCBYrjhe`i9c(#`BD2V14#hr&cPAiM*`R9h,LUeP1#KqCFP, ijTT1H6&Ne+R#AbA)0ACF&!hJDZK82"FIlY!T+aIffkNC%HCLr$F-12T[ECkfdah iEeXRi!d@QNB%R`E$ImY8aa$#$T03[$9kEmc!@)1P*U8`eNcSmac,LUre0$#KN!" `2$VAF52C*4dhGljqZqdd#AjEE%%Ch[LMXfANeVrcfc$PeNXHq2KhiYq*hpjlbbX ERpN![kdPiEHGNkee`1N,r,EZEeb+pm9+P3rqhIR"EaXi2-ZMLfEY`pp$fNIlE$! Da2DK(31BB[K%Ehp#6,GZD59@A1mqil6KmiSB`YKfmAd*TfhI2MTY[cTc`cbH,Ci YTcP`f@,[$Z'@kMi8IZQd'LkER*mem2b-Q5`hXeBbVV@@TBl&M-@Q#q6iVF(BFZM VC*4NI1SB[[%iN!$!Ifp!iV3,IYYlmCi"r-k%4[N([qdk@,+Ip0cHqjhHfhXrH8R E*GGGdS*ID*,afbl+[ZJd"hjEE-DCSf*cm-rkh`1PpM[fJpmQaTKk$0qGTM''Eh! r*MPad5bG%QrY-ATVfHJEN8bb#*qAB#ZqcHFPC!SR,eqI8'iDJr@mRZ+h,hSPGmU $qicR-kFpm1#qLIH65Te&V*l1`S2,pU+$"4rY@,BAl-*-rVpPp1FT(!pZ,3`jaie 6$BQ$Yp-jh,h0'63U0RZ3!&)M,[Xl(fjDhiEHrYqIE$MVZQa1lYbp`D,lj(rEfMp c5GV1ViSZ8'S-G&!5dIL2PB*aVm&mQZ'!G--*'BBM-JeRi""41-4R1#AEF%b1iCa F`d'$$#F00Kb9CcJ,,Tcap3B`%J,RDpIl')!XX,EjmC*m#rpVDG-Y*R1,hH0NER% b2FaNjD1*9'IP)j51DIQhp0b#,l,V6)q6XCd-QM"M4R8(Pc8)Mpb(hcmKFNXrLfK 1q"Q,T1hm'T3bRr2'rLf,i(p9b2ANY5dhY(baTHUf'qkipQl2&cehH'j,XSMU`Zp rl8arPr$0RAP4)6Y0frP(qZT![@-jdiQG'6Bip5h$ehB)QYJHp#cbY@3SEq+GmH[ h&GMj)Qm3kT!![8q2J-Z[VM-lTK2`YlLFFR#$4hiAp2r`,4NAPjGkhYU#-11#iJZ ,,aJ[dEMJPbiXZI$#ma&-##kXV'pZ$LjFYE5f0VLdERQ`XVkZZE&QfHVQqXDQBM3 Z62A2Rl1dXUQjIRPpA9$bJ1K$A[JNrkaj2Nr0e))rRH"fd%cJG2DV)0#X0FBc6p@ qL3!r[(cmFaVc4V+!abpf'Qd90i5-,X4r6,$9TMJ9p-N%[YD-#aSlBj10[i1mb@, K,l0+!4&a1hF6dr,k@6SRQFCSq%X'k*`T)lbCeH1T)Z`TYLN(192p@YERCNm6dHX IGrY2X2Pl42i0Y(p1"kr4"TRb0!P-eY8R,YIrBc)dd9Y1*4`QSiM%2i!`5(Nckc# C'*!!q[9k1LHCeQM('cT9bYr)Q['%4A!H)fT@mmE*V-r0RLDLecrZpTpJmrH)r"Y SrhFQSf$m%VLP(HrdFp)k[l&Sk+HTj0*Z8N2Rcjbf5*fTlTeGGRNjrKc)hQPA,&L S-Me(mGFSkP5DGqVd+lia%ecB1,qqS4RalkqTDQc#[rHmUDDb#9mZm1j!2!(a9a# r$I'hCNkEbrLKQXTDeMq'Q28(TXiY`rFC[%IQR,Ym,Z*)q3,-L`%AcCNr@hR5mKE 1r-$PbTXfZQcf[1QSQe8fFa(kT98XVfaHKRLCjh%&R`ZCcUpeH(k)M5Qe'lPfcei &lpQc"EQl22X8I(62dmKYpqaA8c&R-A*E26p5Fj!!qaKbYhTH*5MI-JLjckJ@jVj `$,NY#Tp)9QVE*Z3fUqZBDjL2h#DeJEPVfj!!ZejGcpc(JXLeU"XNYaHjGDU0Z4X bNIZ)fXKF'rI4V%6+E#a(VN(Gb0b@@Z4Ue8h-ICUlV&DIN!$Fej&EVMBcGpZlN9Z LEQEZpNlNVP+IC'llpFKGU@jKlSjUj"DT,FcY@)IFI28TjVl)@@F$+j!!'&lLif[ !a&)BSa(NlN2Gqi)Uil2)23N-ABAF!H6fHrDbGqCSj"lhl'-ZRldl2IYY1ehjrFK phr-Mb9f*h'l2%j,EMY`h2Bp,lcVNIZ,j)A0Cbj&l3FrNq`"bKr9-f@13!1XD)k6 SI`'jBrKVHXc&dMUrILkj+UKf&+Cer[(e[-4$lLVN,[h1Rl"(J(JpSA0$Z)mHNrX -FM'6fipq5ZI1H"+jG*dEhS@F6f2pV-2)N8G@`6004mk[kdCN)cGd$2i@2A*$N5[ %p32qb-rCeb'(1c[f+,`2Z6(#UDV`!H6`j8A*I4qj),#&Vmd82S(F113f)`I-rA% *FZ$D"Zcekp@jLpE@ckkTUb,AjPE@eMG9,9rDf&Lr0VZqSDT1-[jN990pEFhb2,G 8dMQ5DUaC@GfF,DRPp@[VdQI!TdN[VfPUcTh+4P@0($"[hYUkUXCJBe96rHV'bUT d%RNk@6aMbV,keIh4r`F!aF%!!!: \ No newline at end of file diff --git a/MacstodonConstants.py b/MacstodonConstants.py index 58693be..146a5a5 100644 --- a/MacstodonConstants.py +++ b/MacstodonConstants.py @@ -1 +1 @@ -""" Macstodon - a Mastodon client for classic Mac OS MIT License Copyright (c) 2022-2024 Scott Small and Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ # ######### # Constants # ######### DEBUG = 0 VERSION = "1.2" \ No newline at end of file +""" Macstodon - a Mastodon client for classic Mac OS MIT License Copyright (c) 2022-2024 Scott Small and Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ # ######### # Constants # ######### DEBUG = 0 VERSION = "1.2.1" \ No newline at end of file diff --git a/README.md b/README.md index d82ee6c..22fc1c6 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ Macstodon is an app written in MacPython 1.5.2 for Classic Mac OS that lets you Note: Macstodon comes with a bundled installer that will install any extensions that your OS version requires. However, if you are building from source, you will need to manually install the below extensions. +(Exception: If you are running an international version of System 7.1, you will need to manually update to Finder 7.1.3 or later in order to use text-to-speech functionality.) + For 68k Macs running System 7.1 through System 7.6.1: * CFM-68K Runtime Enabler