pax_global_header00006660000000000000000000000064117312305010014503gustar00rootroot0000000000000052 comment=b8d87a93014d295fab078f0b4419d648e1cfda0d pinpoint-0.1.5~20120318/000077500000000000000000000000001173123050100143655ustar00rootroot00000000000000pinpoint-0.1.5~20120318/.gitignore000066400000000000000000000002731173123050100163570ustar00rootroot00000000000000pinpoint .*.sw? .deps *.exe *.o *~ INSTALL Makefile Makefile.in TAGS aclocal.m4 autom4te.cache config.h config.h.in config.log config.status configure depcomp install-sh missing stamp-h1 pinpoint-0.1.5~20120318/.vimrc000066400000000000000000000001721173123050100155060ustar00rootroot00000000000000set tabstop=8 set softtabstop=2 set shiftwidth=2 set expandtab set cinoptions=>4,n-2,{2,^-2,:0,=2,g0,h2,t0,+2,(0,u0,w1,m1 pinpoint-0.1.5~20120318/AUTHORS000066400000000000000000000007341173123050100154410ustar00rootroot00000000000000Øyvind Kolås Damien Lespiau Emmanuele Bassi Neil Roberts Nick Richards daniel g. siegel Jussi Kukkonen Chris Lord Will Thompson Andoni Morales Alastruey Vladimír Kincl Antonio Terceiro pinpoint-0.1.5~20120318/COPYING000066400000000000000000000635041173123050100154300ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! pinpoint-0.1.5~20120318/ChangeLog000066400000000000000000000000461173123050100161370ustar00rootroot00000000000000-- changelog not used, see git log -- pinpoint-0.1.5~20120318/Makefile.am000066400000000000000000000012761173123050100164270ustar00rootroot00000000000000SUBDIRS=transitions bin_PROGRAMS=pinpoint AM_CFLAGS = $(DEPS_CFLAGS) $(MAINTAINER_CFLAGS) -D_GNU_SOURCE -DPKGDATADIR=\"$(pkgdatadir)/\" ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} if USE_DAX DAX_SOURCES = pp-super-aa.c pp-super-aa.h endif pinpoint_LDADD = $(DEPS_LIBS) pinpoint_SOURCES = \ pinpoint.c \ pinpoint.h \ pp-cairo.c \ pp-clutter.c \ gst-video-thumbnailer.h \ gst-video-thumbnailer.c \ $(DAX_SOURCES) EXTRA_DIST=introduction.pin bowls.jpg bg.jpg linus.jpg pp-super-aa.c pp-super-aa.h MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp install-sh ltmain.sh Makefile.in missing snapshot: $(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"` pinpoint-0.1.5~20120318/NEWS000066400000000000000000000015431173123050100150670ustar00rootroot000000000000000.1.4 - Schnitzel - 2011-11-15 - start of a speaker screen, support for speaker notes (this part is lacking in documentation and interaction) - A camera/v4l based slide background - Fully stop videos when transitioning between them - Made "fade" be the default transition - Inhibit screensaver when running fullscreen 0.1.2 - Sushi Monday - 2011-05-23 - New background scaling type 'stretch' - Handle relative paths fully - Added '.mkv' to list of video extensions - Only treat # at start of line as comments - Improve documentation - Distribute ClutterScript based transitions in tarball (without it pinpoint didnt work) 0.1.0 - First release - 2011-05-17 Initial feature set: Positioning of text, image backgrounds, video backgrounds, transitions, video backgrounds, pdf export, running of commands, editing of commands, live updating when source changes. pinpoint-0.1.5~20120318/README000066400000000000000000000033131173123050100152450ustar00rootroot00000000000000pinpoint -------- Pinpoint a simple presentation tool that hopes to avoid audience death by bullet point and instead encourage presentations containing beautiful images and small amounts of concise text in slides. Pinpoint’s main web presence is a page on the GNOME wiki: http://live.gnome.org/Pinpoint A mailinglist for pinpoint development and use is set up, it's info page is at: http://mail.gnome.org/mailman/listinfo/pinpoint-list Some of pinpoints core features are: • Text position • Styling of font, text-color, contrast background and text positioning for global default and per slide overrides. • Image backgrounds • Video backgrounds • Pango markup inside slides • Transitions, extendable through json • PDF export • Embedding commands to run for demos in slides, with editable commandline during presentation. • Monitoring of source file with live updates of changed slide for authoring The following illustrates what a pinpoint presentation looks like, for a more exhaustive overview of pinpoints features see the included sample presentation. ______________[example pinpoint presentation]_______________________ # the 0th "slide" provides default styling for the presentation [bottom] # position of text [slide-bg.jpg] # default slide background --- [black] [center] # override background and text position A presentation --------- # lines starting with hyphens separate slides The format is meant to be simple --- [ammo.jpg] # override background • Bullet point lists through unicode • Evil, but sometimes needed ____________________________________________________________________ For more details see introduction.pin in the pinpoint install. pinpoint-0.1.5~20120318/autogen.sh000077500000000000000000000000761173123050100163710ustar00rootroot00000000000000#! /bin/sh autoreconf -v --install || exit 1 ./configure "$@" pinpoint-0.1.5~20120318/bg.jpg000066400000000000000000004105121173123050100154620ustar00rootroot00000000000000JFIFHH%~ExifII*  (1'2i& FUJIFILMFinePix F810 HHDigital Camera FinePix F810 Ver1.002004:02:13 23:58:51 PrintIM0250$"'0220 $ , 4<  D|*\0100 XLT   Xd2004:02:13 23:58:512004:02:13 23:58:51 Xdddd,ddFUJIFILM 0130 " !"#,012NORMAL R980100 (\ HH    "!#(3+#&0&,=-0569:9"+?C>8C3897 7$77777777777777777777777777777777777777777777777777 7$77777777777777777777777777777777777777777777777777x! }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?d[ym rrq:~MOQ,镒k I88{\@-TfL嫠'kq/%e0$Lυ^[d:`[ɩXͩP։p*˱wY0A@iW{YebvUpLeE kgcmĐZ_/v< Su/}BUpY@}=qSGM Z|Wem%2`rqAG[qy-tnϒ!d]Ŏ x'<܋e2[vm+jv$tn \1eZ=Bť>m(BH_7.+nbpWuAW])Rm];#MspKfv -psrv &kIZ cwn|l#!I[wIqskl%;:Lz2@>TiU8\^p~d_7rވͺ^$r7+@?^4A{ 88 \ dA$Ԏ9IEP;=NS04 KHsT=Z6>[F8QTݕIz+]I(7qW:<-}=ڔZ6"R4Mՙt!ٴddd ?\>a xEirѡ 9'#$ذXEfoyg渒Fޛ(vnFrCrzgdyCI!#c@o^-t]75, 'P$o<wqU!BIk7$ U99e= Ց (ǻ͐$,$Pq9uZ]]yt]\""bx*PI9crN{m#seXdA Gy9}~xtJ|H8g?w8 )&Q.Z"y ! tM)'iui<C>S}zR/.w N0qq0^wrv]lC'Q6zq,|/SǍoTq Y!A91s٣ymI!&2wzH1}hm{aѼ)e=n)͖'1ךuOKYZ\H)wc\g%x'5OsH^6Hd]DN]#T` `  c۸+%d 6򫴂}=[ֵ>&fh+P{m@uzeķ0H~ɲ43;x$0<9=$֭JnXGTz3F]JQ0O ˂z+RiO;Ki+,MҖ8qdcJCII)G޻kh9A)HW7bYB + sֺ6yR 62gU#wb,l}4Euj l9 ~-83e06=p5HRʼ9^h¾:U3d{V" ==9Z2k+L y,=z~KP7*s2]X>z)ՕcK_7IxJ"&M+׌tc|?2Y'r3?uPJKl)VQ8 d\u4xϋ~ =|h.ps_Oim2fTv1<9pA 2%{2]v+ (Qӓߌrk臰S[KwpASyq^VRZDەq_/|NօuuIWuU9Y[c.z]a@α̥PG^@8_\xmn,RIǕA3H,*3~/x8n]$c[3Vf#@#=]<3i$\_Go9anme<ZԂwܹaso/@G0os9;Ϛ=4srDVbpzp$z+;Vm7)a2G0ly_8vzpr+gq< 4Hcs8~\A'8ȝ4(⏑rF3VbI\zd+=iYp2Ib|A'd5|'i^*"˓=:NhѴ 3qۑ>^է. A$#8R F;S`m%t1Gi7$as4F{v-`Y _a>c0<ޝQ^VBHӳ,I6% d+9R@#|Amzf&KXݬO#x%y{`K;yby@7c`A뺮xeʤ|Ǡz?=qz\|mUؒHz{y}/ Yn %( 8\R6dع{pcT$b/ O#_Xi-c F?xu#]-Zп{}>[n)On唌 2Q8&r9'x ;WVܧpsz*RI+=}ja,0FI]:Y`* t#=J^h|'#Sk+'Gb޾5\JLV6yH`O#heI|gࢌObŜ6'P:*@둕L RF[#h#9 t\;v+y;5>3<Ƿ%.O^iVQLQ;I+Adw~Ҵ$5Lr]Տ^XrqgjO(949:9qZݐZƋnK WH1'l|x*Ìcy^q`ha3ƼG>ǵd:}^{頋7ȿ~?7sgqWE}ldhc2Ɵ$ ep9:cI5b6:ƥIɦb }9=5Q ,l@C6@U#^=#>Ɣ.ߙ'sd'p\%yy!^Gֹ5ЎI9 L)aa!7NߐVxe6 2 GJ"NN^,TV=9A5:.3 O0HFFRæ;\-j"; Dv2xg'FXWRs9oK`2%ZDY&DF=zc<ޮv/ r3a8P[&FŦkJBU0:~hSGK Hݔg Q]7:"㒧G4K!glri!ZEm y5ʒO)y6u8ぎCЖlCw,6q;)NLG_Az'"}:["u ⴺ w74t1u_JE" # )s]jsߓ2ۿghL~RIR}pdIb%I Nr9LflA2Ї `0p9+P\*` ,0OCsw-]K{g "IS012yOǩ/fKMS< [=Pӳ<̟U"3$9 8 Grm$06]4g=0€7bmn]DIwJ"!rČsz.O-C(d )e)BQm]]4kf9(le 0s=^լ]ɒw98+&&_Ы6̼q\{߾#i,2ɜsvS5[|ԟtR][ \އE-ӣ[#7^CiabH>`79l/˱IK}wViFy~.5 xk *JF;3WvHV({?#Aey ~Waw,~bGRr9dp{ZN=ltWH$ʒ#7rI!Xhp0+ rUn[$ g93J葸Nn=B{qWJG< #cY A u;w'ۚכ͵ӓjKG ǯ~hOQ\-CJӑ˓tV@Ä<~܁Uͦ-5.Xndw ANqciažIu8<ÆWl$cU&֛WO,7?ZɖKHdfnyVqt׋6C.zИvZ^YNBG^DqbvNѪ%YjKfF];s1l iji (6O|9>2\1S̐E۵NJ#/fݧ'hX?^nh{zy@#5S]f$]`skv8lI#.?A6H'l%~ϯײ̍/-<ިW򃪎z`rmxbe3Ar3^|޷8mEf#";1"8#^Hz}kEᵖ\]ɒ ;\|ڜmq3Eoj`,F[v#'~1RkLC:n_ 9=~n٫MY|yltVBl^ZBUr9O^lZybUn#xJ,gz:dr8q FJ6rpo|NHW-pG=9Qs;d: L{X UͮCmkѥΜ2c}N.tl p:Yӡw?K"Nޠt,J܅P ['$?,5f( SnC2*mN:fH]\ AI+$秹#=++=7fv"HM&[p{ 1]Kx|Y`i3)#8 8~ln '=c&'ƃnА>aq]1Z~:m##^뚐2-$+ܥ2xԁf-P//rXY8ӱZq սl &<T 7{OS8\[oUQsޜn!=Aқ;kqtc#7|3OM- Tmp|?0>]-e"<ry'ߝc} qW2 pϕlKaNp3}[~ |WO3ׁk6 yŔ(x8yjc<84DnXFYA''s\nGDG%3t  p:=. /K"`5,C rsȯT KrѸ%p]vpkv\\UmvyKSH e1nx90Z̎oȖL1zp0 ̎eureȒ. b炭 U;KU2\l*q cfjӴ9WVO0Iʞ01sPf6eyWQ8 GbGCfLm<7.cS\H`u \I# ȹ @$aGN}%eroa## }:zW]oM0;:\5!6MIV og1y&v7s |Ǝ=_ TOۃPR愚zۡLE($s9٪>XO(cxQzRBg}^%mzd7LpFS܈8m@K1~j^zQC    !%0)!#-$*9*-13666 (;?:4>0563C 3""33333333333333333333333333333333333333333333333333X !G !1A"Qaq2#BRb$3rCS4scd/!1A"Qa2qB#3 ?N[ {h:;/V(S;WJͱ R">`=x랧#GSW&7A&JѵԺZOmVi.a Hۧ/'}FE9˴S[mW7ƪ"tJi $GXىF֔ZcZ 2EHb0"@URXȘa!$ 4TMcVX(4s$2).\j2x3n-frE" ኂ?q ?@/VKxO4j^X+6mFM&tyQ8@l boeٗK9!vϥRhI`݋t́$d|}q :9-%wGe&?R6e+OCesӠe/ߗQi6s?N@Dr QXF,$H)$&Fݲ]37uӤ["WvPT`sA=5w}eFR5 hϛ''s+.ERWzrR9g%#˥ps o,.`ܲ ;Xhe >|Gl֖8ӝ9aivN.LL/?_HWSIzE֒,"$5_~6xHEdgqZpp;3J݋^*%$'÷^+A%L3]n[vja^ukBǙzvN{.%O#g<Y :1[]uoV24`6S)K,ο=3_1Ff1x>hd8 @>vzM-WIk+i4Ţ*.2?J|SO=`Y&_5@ǩ3$yG;ЗYd[ YGcXL, F\")q 3'{{VIW/N@' 6sOtf/ I4A;aϷzѲ$c8cNgzj*Cv7rG v8LӸOknu1xmʼGN[HZуŝ1FQgb 5.c$z<}`Ec#F_ ughVv$^ )l,LҶ5&J|lt5kvl $n!) 1hs so\f5"mmV8mY Kw XRJ̱@Vۃ(֜qRrem^k͢Gj(]'P![kh% |0'$gqN6$qCHI=*fiMNF zqMQ B*pq\sS$a)Z?b$ҮSzڕw@#=כ\f۶v*[ym洸B\ |ѽtZ!H䀃AR@U=M=>C+e}E`oW\NyK8 Umtךor4qΑMort1³lq(E)GتO(|ӍE؀0Ljb>Q:bd7I$@:In1{mWG o{5[Lt 2<ppv`|eҬ.`Ĥ*Q}5ҺN=2I%XFws٣&&JnSu1v l tNwj%`eJCKh'唟/iIJwu/T( ۑŒ <%Jox gqđdk< Y٢q{7}T ;,DB-ϏD& l:Fo=ohPlI2ѡʺjuZ}>k[{&G( #O#r(ψX"ʭ˚  7]ѽ&:NOzFD:9߽Kd+h F-oι  (*emNJk)HwQYݓr;RHRMJ 9D'b2~FA 0ߵ@b#NZ-&˩f^lR2ҟàS@YA˟=!$%c(T#zN4+7NxZIcIAx}Z[2tJU;~ڠWW XFCcJʊ- YC҂Ha~T%-8HybRxw16 E[~[͟RF2)8ڳ\f@tಿo6Y{q=ke'wYC #:'3,"^1vB2A,Ju04޹^dD/":J2)aF6i$%OO ?v_ߟWtﵢݥkUAϿl~q"k7M8 rN@SEf) 8h$kt1 BUKHm7==jKnnmmݭ SQ7wM+4vgK?KbVlޞ:EńzuteTnm oarLK/ 30H[yό7|ֿP[vY(4 tlqqveMzGVjEYHFm!pvaqqzk_]xY `;rc]r!9|e[5)XglQӠoKwsYV,1pJ~(])ZY\dzf^n!-*vP񹸤9\rsR^Kzx1Usᴤ}JѶz}{XUոsr9#8z{[YZ߯$'M`3m3[^u]_čxڊp\X kUS#-"7o6~nuuKSfk73'WGw\t{/D(#nv#u14oYD&;V ,Il.ؖx,W<&pO9=wP)p7 x(F(K!%%mEb*)cFrDYQ?zh+!R±*'8Fz}j&,F;/4l3mc%?ಫ) /}|IwH kZb[ ~Lt+6Ua{VMiVkFl湓17K~Et2`@ 5&",rC$JYYT)~X{{88*6Ճ;m~u0O qTX(sQ ["ڣP\Xu?$lNX`n<ۜcE^ "C4sqÒ$KTѩX(F x"]>djoM^"kʰ2p;1apΊJ6( uJ6ϦI}O ܭ؝y\8\9xx4 H/̒I`B9S129q;j:Llq)gkz6 [hbiq+|A+vO<hc6?6r irm};u~3Eq M  05HN:Nݏ{Vm|̌!3*_m =e&ճocAf) 'J67ٶm{h=.^5’$qF:ndEqQa%خqwozMBuc'q_NssJfI[_32lg%I]jZ nX "ŀSH8}KyB43 RN6yy)zb<8$(Wя?Uq (Wqƽ'j]>vYQY2#8}ǶԸ):gƏ \b7$Wph)o8>xI7\FZծA '/Zζ鲾Xh$qZQfu_ q/kC2cT[(N-rXyJg6g;d #MGիI6m:X$!B`%I#o[I[k>"ѭ9ڲ!>W&tIJkL2qVkJ̨aI: # g9q۳ϵ|8IN fC֕9Bhغ⹳U$1 =Mg  6\}*"'qqZH>X/$aIrObOe&\1# ck$=_cf",wM!rA=^SXVP)#$<ܜ)OFs?g.nK $S7;+& 9I$dYզpJ<  ZP[=KiGJČ `m]{aITC xy5"l6D3kzNy 2 eլuq_?P͙CcbTe4u9,Y vӟڛ23!fmC >FZߍH:#ځrlrL !U+/&P9cd`2A*|N45ѧPOH=B6d>Fm VOc8Mk;,WA s|kC#|9c-Y$,w`lvLF8W-Vx >2>.0KvQp\Z9OAN5$9#l[ "Sz*G61LZT#I\ǁ=N>nJk8d.%RC.Lm\.&6VlZ7+#9?qjъEysc2[Y`hRnHj"vs?G*`PEv;x&ؖ`#A ޮ6 aDӺe0HO:ִm>)oci[Cc=G,$2RsJ˛\%f]fYYG$F;Y&x@ 0pW>4\4r>Uwj <]1 Ci bi. `T5!Hgk, X9޴n#m~#{;|e' "u"&O:N=z/]9A,6>\c\w 9]fvG}V]V q.>7ot6G )Lif\̊^s5Ϭtg>׀ōM:B 68]'m% aGҍ"dLGtޟ1lp]M—4[`l=mŷ$&Y. 8'#n}>UmZ:)R("bB` lAdR<1]JF|P1i0W1TdGKn~@"Kih-)(@wBvЦ% o9U8,:<5q5,PgMzdP@XL yrN>[zߋ MoUYF߭sm3 ,bK 8uo7olbH")-K. p=ʺܓXsyIX:l 8* "D'>r3}fFl4W@ *XՌVUṔϦخvi}Z1k:Q[I^1+fȾ!" t{nirIC!7H7*4YTUX+VZgI.qQ|n=gN)[/O)yhaU*;jo"Eu'j|\^ĝ#Lq_L( 4ϭzdꐕnu02xckW-Vr|d{I$Вjj,I?JZ˪<3[ J;}2x3_2 Uo&XG!̪u2!ZRӨgq+  j~Qzhw["Hd);l7|Rʶιg03mSIH)88+ $dg~u˦ F.ܰXCX.Oohf?+!\Gi44lgEE8U`wdA'跍omm/:'Smj9ɍqy[oPV]Zs3!"Q64a%BN F&X6X+)5KC[nIP5(SAIB2yO"k PȂ@HުCRqM2"W u/bQxyVO5%$qK쭶x=^Lht @p2ХeFVMǁx$4belxouށ0yP[" >g8 i$p{V|,-Q]Y8 ,P6 d ` =F[[˄&ic6j) FGF7S6AmB)5.]:j_Ppv)_΍<)`{\#C`0A桬YΥ:@?ҞX~'2+,p6S5UI2l';dczH*ӣς[OEb|&eiddt1C..Gg=c&}:RK=lQ'f,,"H$nr^ՑVV[YbIX >/sGYR-ᵴLpyVxMn!*pv'=+9O)`c\ Rp eI\_ڹmLbͱԖ@|ht0>3" K%YT*l:}YOY}%O7/4i< $}ϧ~K̢ n{w8LW~sLj33['ta[.|?\ IQi/ &dԦd2@#+QJ+ƕPO?dl"-eYfcם̞a5xJ^6ߵ^ ;A9tˍ-Q[y5l/3Ȓ؆E"9یzGҠ3tal\m +^tRxFrMԀ=]zٍ>|n`^MtBInU<4G;տ/:]+p|K1g$+l<5RA ( c|}Zqn,zK Զ ,CQ:P~{r\[ ϶31zF]xvѲG!gqӏz9Q 4% tgzMՠ2^UV'Jn~1Ch6}:XKyu)2pu/iz]$6h\s91eF,eq6F>-؟\ב$MHFN3ҲI&cu ΢0S*<)#]/A7fɬdsD M≗`7?nE"˧[k#lCC6l$*POJQѝR  T 3=D$),3PQƧ9պJFdFWԄ`nՎo^@+DG84d(;F3_+CvWR1>+bx;pIe9ƣܝYs|V:F}V摐YB0#p޺ո,3[t8Aߑ ˈŤ!$M m?PmldfYThr ׵[̷V!V{Y(钕Y'iT)eU\ ERHXձ}~էTǍȷSsl;uM,S+'v9^7%C`t>tHvu]bBf;wՇp@.@?#!Q\`2wHt//mmQRH0A;VL$S@Gs%pm &*cҟkvGy'ZNp8q"k4LagE-15k7 ЙcskUUmF 0#?ږ@u\FRIQH/%e@ʻ%+Z4<M:HcߜVtN jc1HrNFXÈ@]ᐰWg#J|K7lGÞH!AWtӶA#ݽ32}N % 8^rvUŧV)??SM3DklL^O` qԳǧIF #$ǍAif։<Z#'vy-AHuxcdV=$vH1\] /zZCM,0#Y=oǔC}]έjKב+f'89\~TQgfE2V qzr~qp\U9׵va$*6,F`;Jfژ%YhgE *;dyOscrr<*1PJM`(kC%bja@dg x!ꊰNUA AVzGoO`՚)$,٣y j9ޅO'9^nn|*DK+Is֏-=LN;gqSf- oc |7WJmCrv$JGS|܇eq&u6NM9`viXE)U.:;qzͬWmKhh9X-&[5jtF#DdLlz u{աOⱏLCairk>YaP~3>NXKd13H/gOs}[HdYIhW lby5 S{H,aS4SgR1xiɧ:lؽ>f07*v$J_=O, 9}1N&u9^38IIL̖)R,/(}rI4Fk#œ{?WITUW`Gʯi4&}<_$O]5p=n÷i'2Hؖ9'q\5;o&)Te~  TDžQd@ǘkJlnӫ\t{F1)ʶypv>U 'FGRr|vl]ɎhnKvՔDo(8 di>]"2܂=TuXG1MA׿b.gMpØ72x#ߨY.&[̓6{XOgx*.l}9jo9-gBN$tK)se'VQ@=}+Q" so$E Ǎƫ$H<a{8ߚjJ5i 5 jJϿsڦfh*[ r?AUs}}9VQ6=h_ 1 Q^c+ӇI]wIe+c߷քh15,bf`|?Lz%7R2abn'>vԛ] *mbNqv,}8ǥ\%::>!4$#$ clwvLnؓ[6==\ϴ{,JڰrO n- 56ucgC:DlA/3@z bߤ6qqeHbYK1\`{j8?]7ug޵ LmTm \]_żF]1ߢ@`pXfHIw?*yh"wڣtTYq½V)&|9AfF}MT0u};qqY<Sc`69v֝ ÍqPt {q^k,vq}:ҷ 8`3qZa-JqUER⋛Oqg6`d1t)- 7 3K *89??Z>G90ȓʐ6HjK-G>ԝh ,&钘2+0fF##~IK%Y&Oj fn5NY-ћP-i#bFocqK|G/&R9@ԡ0*x9TСkuKDxG*5NÚ<z 1X 'jj3 )fC=lemԓRdQ;T%1GPn[ƍ$Ǯ٭_.%Y$:", miY|5 2IPs[:q˒+n-V[2)\ǝǿ;ҼЀKhYzjʶeOnރc}k8+ȁu%غTk䙭daơbG5$jJ4N>x8'Agŝ.-EȌ=7갛dIdAl'<Ӧ o+ }eDicİƸ%JVsԟ^A%O$d xT]$щyH yff+"2OoOlҡR;:sZsehIp~I$P |ji0&!ܨrA G J‹i'IVXxv|m扰װ%p6iYm`Y4 r@?`+HʊbwҕCAR|9lv2/'$1VAWPH>PFM)qrC&M$qĨB1;54*ሑ?JP*}Rj˴kie'V2 P2vd#AA8bq>5 ;~%?ERt0sH_Fť[.\eBwj턻Edtۯխe[{pVp$]S @K8 }8ΛmEvR߮ɯ:w$72aݱ޹:V5턣Juu^|!$GI.#Kl/9}$T5@[ey *(ǔrup5s.+emҠlL,q1UC+b[XM፛}'|Qi-c=#ʞ"ʖ`TdN3|nmIitR}v'Qe[u*ɡ@=nl'}ws0 \clzǑW khL:W!'< V d om`rrqn6|hTZsaR Cc,RD&?<@6R]&+Ryde w#nGdN6n--l53;=fEՌޅB@פG(P@%4{3я`nb$5̱H0 $]-ʄy$YwێЗ$^taX*6h|M'H^#tAd13vڹQEr'[KiP~`~g;vc?w{(Z)$I5RHFK9 Fk?Y\YUfUZsϧʫ\E^+mnOF\˝1||GyԦRF#LC2v=$Jm Z~mJ|8,qsH6%zgN\&?PcO&’"l\rJY4ypvɓc9=oYu&mȭv %̠@#zNL}GcrU3cĂ'e(ȭeDMHcք"GmR []QFGXs渴T0#Ì,Isι6cɘ"9hK2p3#{f;Đ2In1bR:?N\|V%4lBp$84:A'H<=:;x6#NsY s2`Y?om'r W#,c]rJWsT_;vJ6fn%HH.NF՛?K$dqFu2@$L΍p~Һu4 33zgoZk7^#8t' ]V ӥp[-JAn[%6b[g8"w SO.!Oke$L۽(Eؘ1;Vxzϔڷ#:zpAˆքI DtGHR@4Crǵy CHnN㷥LЛ)Jl\C'}Ϻֶz\]^[p ,O;y¥e-ѫ? .LOY O|7օ^;eTMlB h-F1Ld~6gM3m"u $TXmʲRLT;Դ G@9B[aw'9ӌ '! 'JX]' 0R2|1؈GGcRл}lEe;P:ÓAG]T' 쩍Mqvy&A\F.iut7~3 0 A4ԭ,{LnD|dvvG[R:Dv' O(ΘK1/r?4cBMIS=Y]Nm`HOO٥ Ol일I#}5=\tvvI!ӂ+z!}qm c*s8cӏۊ7 }Q5G{j)աF0v>R>ƕEصis|^M#Iar^JHu|pTǰ6vL"ys:JD.O `beƢzCoWheHTeaΡ!%;v8X3 Z# Tf'[=Nsڷ:-OХmy*(74>HkۤMhH@@=ǩk828.4Vr,p䌒Kn7Y,S+;:Rj嚝5 P#H1x<{AKVnKˁ";is|rܬIzy섾X`(fc@VVRǘ}v52dɽ*,E&2cFfa6dCKyaM(V6C+ϱNcOӢ;gl\$`'f_¢\*n@.F7۷;VnSoRGX@NʱFD:~էA6(^G$"T99Ǜ+Vn=šYm!h g}5oʭ9EqmYXoZ\zٲ$I'͡A|SnU,zNwSPỊnԣO<)-E%GK泅{YЫC(9:sIjJEBHT9r}i(&Ղש s\XmA"frIn. /#NkXyڭL@$];d6 )x!pGӃQ'H$`:LKK@5yG51g]$|ek&R1rZi ebcvzGL 8 =v()<2tw='i ͍׈f>&e08'jڞeӬǏ"B%3y{cW. g /U^ EGU|QLi]&m:TÄ@k*NvE9u}[""{35l9;}E{'(uu(`4N Mfda;}ie$%/ =;g'No^5!*1RvUBtltk/\HfXÏQQuF}qjv+RK\m'i:1)`qqh.lg~VYP%'^=Gx BѨc>HvG;=_QU( ,ɪXvl c@#)mWa#$nB#gmJɪvBYd ȡ |Q3$ءt$Im Mk' aHϡBc KY2pNΫec( icd άLs;ⓤ;VBǾ34~qc !F[?zN҃v3Ǝk-.1,M񌱕Opw(zugvtgIG}''PiB<]J䦢J_!$ XfD3*ԩ;Cmz @ѣ;c "74!A#ns9PUM7P{NWOW.%PI}1 막|qa,);W~m:\ݸIT,p8Qq:{ʖd ",ptZCn[1esG#'O åCѝdgǘEx<4s<}P95))YXnB2Sʢ]HTCgk:GZ-(;o.s\<|||n럊bۼ]G$Lp;W>*.yWKƝ$/@D;t?ȄLk[G w1Γ4N NoOϠ=w]-KZdf0ʕ,7܃匠5mZ1/v2cS'm<~yGLwrmTȀ~bǜӋv ,VeF+jTyoC(P4i$e=*+cV͗AP6f*ޥ &vJ9?})^u9VLHác4rSQ{ְ 6\ eE-HST($F2s"Z I."&` ̍A<`k8vƆDڅ9b".f U8?*’F $);rgGzRt)FbY$_0Afȗh4gYAoޞYYU!`|U(2nWXb3`j7gvAv1Ʈ]˃z/O XnQde[9<ՊaK'1{sq`,0e.bte* e}DjsY/plcF9P5W;VNEB6[;}m`.hM#K;e |JWѥ%=VLbHmp@x e<6Rd ,u䲒c#;C w!c=32q#NKUvYC/DdBvY[ @H`;g2Nv܌^+QoDZciЦ(a=BW 3@~x.?RtN$H"؁>/ȓѪ9:VHnzq*j^"Rsr9UROA#JHqҘnNJUʡǷ;~}eRU ŵǗcoډ؊$a9P2;٬rm)-=V:{F-9:.t- $Qbsۃ߾Rk $J_@wЍD5!W9ڗF3qM'/18Ԥ2⭷%L$,3$1eTE ŷ8ҥDdM>~5Hzs-~#1+ּ$\YZJQc"牢}\қ y? dL[' :?oG9Yp(B3MʘXKֱmHc81M<&;@r9sJ7"M07/t+<6-h]b |U `6q)<#7RXxf;|Ht凾0_s })Y?d$yWWЭ:^;cWs;q]>KFLxŠF2qbu}*KU㟕cˇdɟ:@Gj()#c@czOxQ,0KgX$iV)ZMX5`ͿyΝMϋj\$au^siZXzEȘ4;FHP"tA,E8%B%ߎiF.FB-v׆caf}䉇O(o@%҄(Nw4Z&z È`;SR?4r rMT$XFzw6ǤOn  P ϦkHzNM,R1n1'ڴ` [_]Es4[U@v:H'o}y<;r&,Hn?Oj5-lnI<{jnyՊ5[:$^qTl4.zd9VƞsV!GC!Amh5CrDу'+N K8]%7t&Z~9<'S?\V* &c`Oi!ecKk;uщ*QzR8!fH0U\pGϚ;Z7:FKہF23sۚ݋HX ?یv(C9lJi`ɶx̌F%o:œC,&+ V"WSGum,2 ḥ6Ս{2NnU)998s7Pt\VF-Ƣ#~qzN.u,? ēOlcj5?-5#5SX mqTmPIyN8޻5:wX+d-ͬ6l灶tJ>?Ul97oHmiwSߝް2TRH^-qR6*,[I$EHF?j+MGO}aWR: n8 +pּxTx *g\Vamjpt>$c0#J3k9(5iE,30 {fK- < KRe)%2Q0aoX'ńb3ylںrur57:}춊*]XCc{0Id gV2I2Z< :N^ɥ gvBWבI6ַ7Vpq_&hT.&$_8 NOֵs-|R./O\b! G6{h5x˪RP큓?_O6\M~))z$>fYL9 nXF7>C#?09fwm@"i۾ /ij)bp gڏoL{tΞkXW_+F{bqY-"={j,Wp23#l`+35ft:-:ȓR.;g{R_h2ʒ$d4mO,bPfgQk) 2H ꞊.=u ?wic 3^ºAz;f_gY~핷$@޵Ԛ(Fh-;V>NTLx ;3a. =2;xeTKrGl~9'+FrY I!t<9>IE@ߊ # )2%E[p6I<B̀N2>^jn"EF4 rs]plդРVVT_(=t{%Kp7XgǧVgYh \ . !ELs#"Z ̭odYtpt݉"YFuL^FƢ=Ezm- l@+\Il&@d0NDp0ȇށX!>qfqt)Jkܸ% ؒď )ZlPZ,_sG"|7+ɩ/@RT7m ĕFݎXB, !Kan6T81QkeM KU^5 tw;6[ȥ@UB /hNDW \/#9?%7HAn)XtpkO O608Aː~\唍=cssiL|@'i?m[(0,N{ޥ-bljm.Q5g9V22/|8$ ᙗ[in} r H[Gq:oޯqB Vh¨2+O7;o%b,_3}MiKX3<4Lq?z^x.J5rs܏zӽ;)da`V$zpۭdE'b{% 7׿A@fKV,i$cn/D^;HgͿΒ 0Xk#<ć;|KE ]\';TOQL'ulJc'pI5ުo9fFon>ѕv+& `Thix pesyJ4=5$Jc$e ,?W5~ V|yD368 ܏ޓJJI K}6X) >Av8 s0u$(s|ן1zJFI&!WQ'98&G _Z;|oN÷;t!Vg],:c2:otqM8~]5ͬHYrwϰQz3On.q'\yNr|_or|1dU9a 7ߚ߱\t-cVsOtE]zdHPVu罷E{YBYcP3؎j'ǔI}MoahnQ9n洮-@8ą.p3#cq_fMF#bbK3-ed2TښnՏJ 78rx퓚.w3J22OtKWIYeܡdjbqk:$>D23`NrwV|~Y!e X M#1ӽL:ma"m" AڸgvHV~=M(\i2}?ⶔtغ\"u(a @)md!E}8^琀Վₙ>$d!T+ӂ2Q)!Kɵh7Mb,P}O QsPՒՔ@;Zaڥ֋l,ʼnujZEL3Hۗlk9vxDe&-3iv{yAF%OޜtR~3q. n6 2 :@N::F҂eB5yڭ2T+9a(!9 |-DA=h"`IPpTn)4KEBH zew]YLryBE¡>R94Ō[2VcC^14I*?)$ F Y.6 XZF)|UGcsB,@|;M;j>G$/ٞi*?E0=߱T;)j0ZhmRyv5N {K!#),q" >n6$WU,Jԫ?AWb++ 1au:6WKa$\HF2A ?N?J-21^t-&8K$WyJy# m>U7gmلj !M9<քEY|:!5"tm i^ _jiwm 5ea$qZF=pȤmDu"e3T,'Va-2葰u #hCqZH/!6p$>?*亟VI`Zw$s둾98$z Ȇa*ePp61tf`wK$;8޸%$3H¶ k>ѥYgti'Fߵe Th]:wRAA Q xÝB(lq:JǬ-x9m:d\|G+km$2?j[x/,P)t]u[22;89G+/W;g$\\رhe $R} mdYGTBibcQjbe^G#z6m^g1FLbIQ1Ұx,l-@YFXs)ĒqZ'Dob֗XfFazI% [''~&ѬKdnI(lʰ Qm>+.< DGN~fM_ 2NVđlQFċ;K8i'Wg9M[>! WId6oobir+eN@qQ*I FتGTN}S\[]okh| /"CtA=ܗz1MP;O1nhWwzm!jϛ_.ssU/ 9L >rZ I%d9Ɔ=GW?"t6'O3:6\ա{p.۾uT$r#*ɂGϷ֘/{o/PnL(ʶ'X`d  xO䐤vlnŵM2孳wX"{f}H%BQ9Ho'>!ybs>BniOg,xtte#rqgec{43L$@Iƒ˷~՞$C&k<t27W etKap!lu 5q> Zqtdi,%*8p>جk΋~ r4q_%+⭢8G׎Ҷr_u,T NAD k7EX<3i'Vժo26wrYK+0DAaPWr/spDLUP pF8Þ'kA :)VlxeE38Eq+{g]x$3ڨ[sڤHЍ;`7`-U_HR|k>du33 ;i.;Rh&U#/Fng?* eXvzs0`MkX4K+ -q K>c9Uܞ6ʌjSP{'9$>ΕPNjVN-cmKiT<~uc[K>~ԔhmiRx$(ې3#bYئui,qs{YS6N<ӏ[pӷ F2 s+ j=X.G%d>|r7֡C60J5xC#%0={Ž\7p{QeD[ioW Fh Ye4eq{ԳL٦1rY][HLqƃ</2u;g}1%Sڏ\PĒ+;wXļ}p86|Ӵ@:\-uZYFx9z-tFcb68;w1]K~0JkXT;ReAv|6X[+;VQ#2VaLz`sT|d|b8_:~N*o{ aO@8Ç!N\hs2q|cNcΛ'QCiI z0uΛ$dD[t%_6B2C#iif(6إ̀Ȟ1 V=蝯K`;d6gWsMFo/\N䢐}/e"\<u\Z~AHGSk4z̋wmf',;GY5g'SƄBQo#(fm N6u_1G!$kq852j)Dx;ht} ߎ}W02K!'#$Ը'BRTkv?FZ,k&ԯG@HPKgj5=?Aidz%^=Oʴe.6V^w""I~mo  3qyn.Il+꣢ED-P0Ơ'+I+!Ba s#9)|~q_=yӦ],ZH49旎FXecXWuRA5njk~+y6^NGqks:Iw֟@_[]t9\:H gQ?QWT$o2-̩3DĂk\]\!ٶ88ԥRfoyeIUT u$yZB {gmɨ<4cfQHt n /-7pknLx( yl_CY?XyP:mw8g*ChgY1>ՖЛ9Hx@\qyGF7*:!-R^[Ź%'o_QlEq۹\7lsR&?] {T.`5+F2WZB4ozI x#VdSRr}rGڗ2ZKk2X?F(؜mК%4{ջ_C@"kK;؞MG# Arv珝g̟cp5PdЮ%F{ݤisnv%ӿش h"d$mSzlUC| Qx Ki FB5`0jNNτFo֌F6 ;,ت&s*YW$9H[C!G/"y4JA}cQ'UFIt]O=kI$m2gWb{ t+U]+QJ@ 2AmPsv&E1he7D 蝫=3a.6ӰQLCVbޒ&9g2D"]j=vMWGWOhL]\D4Rķ*Y[yV¶{]hW: l +sk(:%ݼ(l(#cj+P,1Ơw$ 3^!.,`H&\8'u?ڗ+}k-qm0 `GjMƱE*1(fKX]1*Ɯ;Tli鶨n&xG!BAsZp^\0! a۽t՚}>YfBb C |~ +ko'tIcT8:񘫋5!/ tQO֘ za  z2`o';Sc-SA#֚C |HJh ?YKإbd*l@G1ԮA9qYZ7M4CH5Y3t1ziÝ N'bVHƐ՗̟Eݻin?hx&Q$+fm{-0б v۹c>IleguL \eU_u$.f?"GwݤiGo5sn4D$Kr~s*0&UK r żPU_TƜ!)il`IOh>TK ԖҢ& heP7+=[IK^%@?ڹ_ ̇;?]+:)}L29 zoz=;Cڗ27roCy=JH+00I%>^ G$w2G\5'&f۰>O\3jؽvz{gYGՈMzQc;Z/ּ0+$RBBN6Ə$ϨLc>40#$~]>(HF]gRK$wUE k6o ht>?ҷzENJaPrTیCJiV:K?NlH8=5$͜yL)7jA:|ҕSa}N^@3#qb͘5g/c*͞{jRHfA0ZTsQEZFm⣋ "a,9?"G*iWlrFwG 0jCaoI~@aVnN =uB=bW.A ­h[ 5%=/a\̂먰?qQî̧"Chʁ<Ϸ˝[ZFLcjTzV KA♼iԋxrn nOp+++dIa*cxR bv5ѝY+–x<lD([w?>n2C[MIzr'E",I9?-o1C/CZ:{?Y\gtgij@!9hju 5MixP0 HM/]NLHpܜ󚤟S$zK +R1qZF~NpdH N'jn(B[}~y!#>}]:v{ޟ%QǦJ/kүK30KR9Ϯk{qtybr0BV<9J%%UC92'Eb|bM$á.`r}1V!>q񣉁:W8-;c'SH(#w)ôi=tl4u,x]8dLtkdƧlSQVbLIztwoV"2U6G Bn.oT7̜\5X3a(pA8F͇R[5)W#=޵1+Eqcs䑌syuQ,Op20`k_'Q$hGQGȧ|k{%N}2psB6JY(XE7ּ)/-ԎOU })-?So+Q=58u!ܫi$٤]npU1c] 9o#$<q§bd+Sm%r|2q_JM O2B*v)#afeu#sTfW:dl.~h`8`Rb}AB4\i Q 12',>Wu;ڄƘH-bya`!ҢҍX`5,D[IlQsGdX`O8Ȣ ڀcq%(W,KG'ҽmr37;T/C]$V*0F,~1z$}j=QDԫTcaJIN~ĭŽմw1:SFA9Cb/lѩĺH,<7f]ƥK)Y!cG+b|C%Ô8bߩ`쨻m*q]qE3.lBfPȪc;2ezPP3X䈴ypch>qLFrrMXdlcnE}(@H@qXB09;znhn1@Gл0ڀG #j.A",.LA Tj$6شu um<]1D$⯦ߢu^ե% m>gz]:Sv$R\IpKZo" ,AqcۜVkG7Md6򌝱򨃷d$׬RxDS]k& AY|W GC2KdӶ|iN[gE(Jn*5ȫ[}~ۧ6I@UojHwG==IzeP;1vWJmnօ ;SSVYm'Zd +듟Qs=ҰK)gJ9a)mw:AVu$cak; -+umH&h0NsX2Y`[y0ˌQ ȇHٲ^KX8+ `7SF;a٥ae08aڈ*}E4 kb(APpT#:y⬭;zV]S:7RJE(|IYc;ڊR>W0MOE.uCh. ( BE 8FrÚU 1 "a.#*Bƽ}zTM |XI+Z\ "u2#fњ|QoN).QAƭ]t1]t1;9`MCIG!Smr6HuSxƫs Hr=)Ag$X.ְ?E[-,;\fS -kF'7Pё'מի @p20 8Islݘ(؏QGmvEA88m/Hss;X&ET!TO xc =p +ц}#u:!ˤ>u RJ3){.^3O< H^NfjUe9zƹt;) wL?f>ۤV21<}I8I:Z"M֥۹S_ g~V\3Y Ɩ98BV%'\|qMg5iY^vnFb|UI->^H=)MlsBAI,iקNg>*0čMư%f3E(f«[sCl 0vqu,` T4;UZzYsM HJFHΠ+sE\yHW V9WVPxmeX4J,%H7>ŘFT39>庤brҭ9'mu%ݔ^T_S#iF1'>]_#cKϟ0Ic*"b*9]3t<׻E:6I!DT3ڬ& W^ނE4Q]#zz,-d לHu?}`#0x@ọB_bAHw s m2,6F7grPOzH%Haqx*.u*pN 66/Floj_/ o |{r%bNv8Ȭ"5۴1L5N jA;0\?ChEՔz5KE"\ ch~qn^ q2E]9`QVFiQ4)ҲF[?➫dFY;9FıuU\J; 'NӏsIG`xCN|}XDlj,%Xw8VPR(dV\V lf4VqloFkGNt9l}8Qm)[(!Gk^9!* [q-K ql#lQjj 9lr0),K a@R ~~Y % 9\ocUұpz`1ځNrnfx#Ql 恆FƠH)~X֜WO顄$;ڕۼ($}\tK.#lf 6vqә@+FehT`{ԌG#>٣H_'rH]c9 =w5|=hr%͒I'$YPF\:WS $B-]zIm J^KDs }1W;;g>aiu #j}q+K9pw4ŭp ෕C*s<懒^Mwl4UM 8 LU4Ѳ =~[G<+2*Db21߃Y=F(BFu>{g %V UP cԲ'cXrN" BbrGgn^3Mm=d(mdxm޷PogOF6kO:Qf5 aT8'lᑊۊ4bB. q^:6VPde|=.J9@2W,98=m:D%hcfFkG^ li5h+C=VՒw Ҭۜj!C($NtI$ dUt+x)SCYa;?qKD7b{I+n*(+4$9;hCE jNr ڗA# 6 /lUj2m5Sq-ڧAy,$,ɩ׾4w֋wa2MnXR?<y Mvfo˓zD&9pL Hg>/{UI2`FE0.Jvd*8Ax܆;TKYLrt>2*kd^G eyoOz] ^[$B3 d$x1(tGߣholX,dLgV}~jنhI>|iSQ00{vl-# tQ(,a)+,sK+&?Z,s8Ij̻6Ǯm?M{#p@T흍?[ `NGVKg3RfS1;ѵ5̹ch;,Ͷ;Ff85¦2?z0dį#{yM1>; ?I`e}cRժ.L0v`HؐpsޚY|i. wkR{g"RԽQ2tJX_Sҹ2HyUN|yq+y; iBR3?GB_:kw=d BK>ډܚ2*D\V ~I`:_ G\[HI27<(Ť;Xizmt~"skL |JKAj )e1A m(;{OUX://.[n9mM`wOǤZN7N3"dp=wu^K ss<=2*?F{/5D_g;:4W-۴qrlɤ,}~3Q[fTc;aTTN qqFzQ@%PP6`c ϊ۩Zk[i x7% v_x0pJ,(g'!C`8V]:Nd<&HlB㍽Z$ZgeI-Ef lj7Z . Q;ga/ZUB8Dq?L KK(o-:㑱ڇd]ԓU.2}3xܑ`e 8$9lm]VtsxGlV26 *=)wnzc#'8>Tmh85 ('8J%.A &6WRGM˖SZ Ⱀ:Fa $`%{l=rDŽn?63S\)JؓfKz,r\@1ӈ(o△†7?+[7jMMC:Lo`} Q}sSԺ5đ,wOp h&|şFIN}zWFsZ4*Œ AqkH27ڀ/i ps6S ψe ޗ"߫5K|2%N1$QoE 9~]=SQ5F#D`vX &V;#|o)" {=phi'It#ppϓ- .Ļ S|޻{{na/ "?zRw$$ cr3tXA=i iL^BUA${~u'=doU'TK` $N ޾cgҤ؅]=*'t+ Kńw63JHHmnAq]U]QK5ޥK{*9J-{Oykd/!b p4if_ZoꟋ$y SF嗷ʳG?Pan"8Ͷ1Lpl9}ooho(- +rKAR{z+_NnNFۻK[ZO+}{p܈X]~"|j\};UGѯfK~x޷m乷+xTL'=N234]Ѥ`d]Uͯ|,7zbemo+[!WMp'lYE 6\ȷw,ۘF{$'2F`9}AOׅV.`'s0nc0*3#b1EؼhL'8{1}p<~I Yxɷl TeG虌ja/$i߇VK#"ld9"fc|zOGM_4MtQ_VPOa؀}H3U`:[D]%rGc?am>'6coV< BItD|\`}sJZQ]RNA#WtǂO.5o^r3Ni;ލp#]qᆃ1vPͩXakdzȨ3&u . &8?Zmѿ' Y$o[ &7jh'#&qhV&ev>n˭\_?2;V]c;H/eC{GʿÒ$rԮż.~=M7=>RUYK:()(t~-̊B4${f+nTt}?{iNe P$SV?tK". ^!rǨni14+M`(q(ŬeT !yNԬ)N@pN4W`F~GU$ GlՓ줸LdXē6Ҝ]6+ɧ ku%B6(7Q[n [ _~qeݩS%IHm--vvʀ` _?gXx~kNχ .f;$ǠmDdY;Q#l΅.M1W7#ʧdT,޸%7e.7mFU+MG?Zs[u+=Ӹb0]HTOV|]Z#drQ gV~ YGw5`)4]B I umP3!';B_lQ0ZsޏE`@8$ eq)$]l ړʜ)-QYY|mR3BKv'I~ժ(R;Y.zP58POFd c6CEgzƺ2}5`S[K>03T흨s"[`2Ms[Gj?*1 89V*_Q1%b͉_[GR= a)+w /zw?(f,v<;>Ӥ9F"mHPb|1I%S=T2n:IrmnƤ1$񺸱ia(mHwDd F}w ߂ZF?DHω X)bgs:k%ԯ"h&C ;#fegkԮ(Pqϥ'Tjy'lDsK?m.˶!sM|& CV?-sk)QXA#L+_k.^yPCXn8: 㵍b8CQYһlOUmq b} 2TaEu# ԛ)ְ dQ|{s"dS<+F%3(ddC#֎ď.>%ZQvg8 RunGOIX[¸+IHfQ]đ{+`]B[$+LrUVssklp[Ju#}a\^M*E _JV92 ]-DFѩYN7Sl0#\MLi37ok\*>3c99*5F`-?WTI3YɵM-Ha \%[0$6.c7HH:ֳPd^䆲`4} lG0k-:O H9*kՔZ> @532G\6Z~.ujyN'?~榕!`.[8Xr4ng'mRZ߲;tHd!'|==>]ؒ0tI[{KT ]Qc!HE,ufD͝R{B}~;"SV"$)ymX#ER9(JqE+T.IHM-…Rcl .5H&$zM9 m"EN3y " i\,$hJH،W B#\R[D\U|2ϭB)؃HLguW]"{"ce#>us{4vB^d .ז&@ JN"=w+ ɀMuHN>]GA#`. }kgX G[(Fd9satSV#I5K3u4di8Ww Ea3ozүS{Hv]D 7>{{Ne2*`Imm.mWuHsqpm槫Cl>! RB~#nFkdddǭtp\~p2;VLTYWHLIZG&oBISs&LZ9>8/ *4cK\.UNBG;|fE=[eI`09aڳCQqڲւp/9r̥w1]h˨vNY5%(XyMD~Y|&-hԤ]@8 =¿$ÑJ'(۫9y>MH&̭~$\'Ľ(z. 95y#]-SF't̘D;bi 0$`LWO^nC9mc,XBt: RiMV3蛺4}Q½=-"_#;EVQU@h6 -:Kgv>ÚiGj;QXu ,2x ʍ$Z}SǤF|I0dF2iEq E)r}Gs;4KuvN3z2ZB\[[[Mӓ,0Cguyj1N}jMΚ+2/ѿ;+tK3̰ &-:7^vQy5@?h;YOv;OT +rAO*y>oZBrp\Ao^9eUyb0d$ma k UgR=zMdfc㚮0/@*ik;@H1S!0Qd> yl@;B!YbpHL$xv?Ui@Q8T0e'phTFhUV'lO4yCLI-jA\_;T7K̈ 2;jZ!f|6.nƮe,t3:TUQH_[IԝM2Hs3~`;(nl%PFq3(فJfOXeYCӍ^`Oz*Cޯԫ쇰lt&ctB.Rr%%G2۟f*WRO8R=48P{\Kr$k/ ;vG?'7 q[P$7 1^ TcNĂUvd gڨ! լ x@~fnaY{y%Xj%Ces;VJhz3(s~",rW9bYwneqau8º\co7Rgì[dZU1ff˓?j͸=ONm -hXTp5ݿ52 H Ē^wBjc<B#S ?- 4aSӤt=/s/ {UԺF,= '<~>W~{k0 ``zqGaaqg3yDw>_\Cmt̮cxb$(N.#= 6u2[4ɤ_Gz0h,G²%د>̑zf_[Y$q#T6N4?UP}Nھm/N)zW4!R;aq;35\٫GHYMzgcf@8ժonu7Fr<_#H?z RG3a5`^/~ga{W;zw*|t;Ԋ_EG,"+1\;$ſNhIH!/ *r(%Sb9MS"Oþ+i5dukLmţZ$* p @sZ2LEt ,pkcufLdxsdoM>MVt;iSS27,sM]ng #F?zI`v ڏSRlow8[IyӺ|6ŝ*1=qIF٪F'Ig)' +:ܑ$37#hQ_qvg݄V'#Nr~%hMJ8adUD 0N9#om?1:*6=&{ay.eY!!Ps{+tvn` J*}r&Y0&myV0wqjhS펓A+NɟTNY j}L9rK#4cs"QQI;y+>x3k·TEϘW&Xx.PU?J'@YjVFy0cvՑJ ǧ,`I*=$yA #z1D1,P(ϧMYLbg}k&[3k &VM!v x8G+7+c`HK PI!PӮ{SxKdNC!۳+*j)VzP12'4ܫ 6։+F=}+[c "\n٣|,B(#Vx(j4K+]}=j.xYeIW| CY<3?i]ʤxw sں/"`F&p޴uR#K#Gʛ&KL A!AVjo*PnQީ ^^n?w5$ަ22Kɤ: SqFѳ`PCJB[KF4tIl󭥲`*?Z6찺*ucN{KK r?*鉋ocy˞wڔbu4nG ⍷1 v+h <Œ!ܖ 9YQPz#r1CXvĐT 9uE9Q\ q4dǿRK#eNqJGXS"$U`50IsԒ+2u x!Z&v8]?Cʴ-ZZ*3Ge:v=G!|t\}*SEC{b Orv>N"=)GqbFuEM+N?fOD!<Ҿぬ!6,RJ4l26rFnD*{z֖"gk tLT=}y-1cpNXI/?skĮG(RAՕΓO `gO6=2|S?A^t"ͼ{Cy0N @ǭ7-<f>NNqg*nTYqhMc^X`?n*wh䏡o8Аm϶P6 'cRbvd%9m9}kC񥇃tg IoBihF%WA(\-O!rFhSf̃$x b&l[xɃf$XDkS$oK`yfBN$eX ssF5ٙ-N|HO[RviFP(2y>F^HIwԑ! [V#6Yj#y%. ca56!B;ڄ@R$G,zSYwHxٰ#z@׌a⃭[V$iHqT31gr>ªFwPA(1媬 ƁIܰ?*%JT:At$\ S?D e >S:1s{0$cG!Ɣ x b< j`5bɿݻFRp6qzO#9IFz$&*M<. &{d+؅ 3[6]vDԒ͌&&nCuI2VΊtnhv'8?J",N6[KaV4hPFcR&P4$c80z~p "3ZˑTUd秊Sr.M[ϵs^:M1;`PEYi101eNN5sǔq[ ,)O"gƐ \ӓѪEuwz!v8Α|ÇX%oz!Drs}ud<ǯJTTWQ!crO~kX‘vʤbsC,891NIG!)F9<ֱVCe/&:Tݎ=k:Ki0c6THhk1*+R0ژ`ta)ĽXPDjJȁB0G|2>Vi`fFFu8'RLo(ǫur7* m P70;TULRd|#*[mǽjf$%!SI7<" yws'㤹%lVR7G?ALZY[G#}Y?jɺ!8ڥ3bxIVy WPoHHcufq} uDt }uVjJoH<@O RID 'n>uKq А^9Adڛ6 8 k/>0 h9ϭn| ͬI! D?;2$A'GO! >pxo#!RpYxm_&f|ŘO=gb 6H|jMLyyG%5VA[T߰~V<;kc'H7>TĢGȋ`V򃑍R ]GKI%_I 8[]\K:,RHq2~=70tHo\ܽĀ oFM 3Uvm女O >"AmϿޥ.Z \˻IV 5{w"AS'LꎲnxԌ8w>;%pa{#Ā$1PNqKI ԯk_r@ۃG-/ZI]Z2s$GMG ̍%B'$iKLG SаHHWZT`*N})Bs[>Xl撲$q$1 =ֹ݁2JQdN KrFNrG18 >ҭ/<1[Kt703ٳ؏zME[J[<6"y@qljP Q`҄Vd,>4zlѳW#RWŒc! 665gqD¹`ǁވœ\0;kPi!PYè1D\2" 388r(\;ӬQ]phAw,ʡ[PS-zu.4=x2_*2Q/pdb1A}i1eu6}UNZY ͆2y@ǘmheEq'!EIȠ.NjN%@-bP՟Ņ XccN؊,[?c[-GRHe(Yͫ vﰨȑG5G,RG礑Y3[HDDlru)I~j֒wBX?7\^ l!ltUmڤFD{#;դٍϐnR2FzmMH-[t]#z')Y wWD,둖l;qiXA)(\ZmOyh"mjr5\;գR"ITjHZv5GAMKF~`<ײX؎`Bաؑ<ǾRݔBaYH 4 E}ňsn=1IC:ssں^r[I1o _|q8 4 i ]*HsszɹWoVqaV;n^yUe5Į"32}RF-z-V}I1ʯd_{]H Nd3@À*3b]tB"P$nH;T[>,/*SI voWdеASxc.~=žVhXrHڟe4 0_Q?JZ>a-8@aN{};a[wPL,e22>bvDO{Rwb"Z#U!'J0X(ݛ< ]iaV3.pzPYvpu [r̭}L 9Ӑ1x'wR9l:TWus\"Wʙ;lVe!b`Y~ÚbT,P"=;+C6M(TFWԒ%\K^!%1ޗ;lGb9vgxt8t/YKjְEwdpR\ F03ɩ2Dwo/:̗ko?HƸЛ}sMt.[qdžό`q7#cS+o"M.V ePaKH^v~|hdioqsS߀'reTa jky-IFӫP7qÊ]z Wos4$X`2q +GTa`pw۷qF2KFv%wj\\FoL韭gY$2:x]iX#~5t#IuV)oqٷ96h/z[\J&-Jjـ5Ee ٔT4D(6磢@I W)rҼP> 4 ^iRj]Sڍ.U Q6"z Iv]`=TeGN #M_u&.I4%HwcOq~Ԥ"A4]z(zap=@xc#9ИSՕ-{‘c,84v )7^n(Iҫ4$Ձ<7]367SY։h_Vq S.EӱIX}8C*,,[F8>{]%xe.Z:/$s+XSnOnkh&U4ix9q<r$f$*}ǵ^Ƣg=ޒkzZ1ɷ?zUxoaV#,(חۿ~x:@gUWr 4['L^zYrVDJ(bw9]؞޹t9.Qf#͒X ` w:H:]ֵEDhUL,v9?NE$Kt$mJxM'eSM.*(<⇱Td`u\GX <>b5,GҘi"aM&YuFvi|DI 2C폭c]*?1<$@koТU X3qq' L ?>·wJ.BY'>#'ȝm€)IY?<Ȁ}3LY#`FDcn2dFI^gej,˨ff?̧~vu.v޲gKv}26<oXu @>0eIE׃J/;:l?r2aZ6[1y/qVCI 3"n mAޱ^tg+N}cX@i'G8ˈz\r1Hp213Q*3RR/O!^B#O0i]VrR4Y9Zҹ\إJB^) ޴{3A,[z.N3L򪝹-.~Ri!Rq5ϵ&"F''ᅺ1E+(% =Sմ>mR[x҃1F8qz_>UE)epVNA#QKzB=Xnp1x*C %.|ֶ%?%IDI:AXx7K}ne%zÉҍW7N%dA=fx,߉p9&P)QWY{'տ eѠJd҅q=\7SW 03\3MNKg}>$qO65!eP.4BAsާd'o6bPd 1VcjϪFT$xgI<>q49F@z;B[b%$''mh^^ޟMq̂;tɬVVbWsZ#6ȥ#4)K 9R^*] I 03UH'GIߚ`@qW]=CycF)/a lXrMfBNxhmV0lfȌ@`gjlsSm:aB)R58 z(KdG2ӕlOzL 5uq^i1 Ǩiڒ^8:U$nzJ`#$B6x50EJ8:wmY, ՟thֳ'wI~`k$/DqFc*iAv]}2/川$#O}Mq*Uc7hTïr580^iϋ&#[d9 y;4;(dvݖ'#N9+Phc|dG1VRN K4NC2).IJqH]9XIxۍݬFIY~)`:l/| b}Rs^C8`BX&$-F&5r|RIJȬ)Vs0=i FڜtTtUThfm @Ҁ'1S:"Հ lNw@N}x44*!ON & `ɪ=8C`=.h79msWӅߊ0Cg`C1 nR_68ϩQ,186Y'P'ZcW1ޛ OѼHu'qHN$V9]U2f^*@Y+i 07[uްgcFi?F9!F?n)ß+2M Oj ضaFkMnWl" DUuKo >}Xz(C |bJH"50rK$"kUW灚j4R6q6i"Xt ?%F4eZc;U%F Y|LxEo('UB(NI Mʅ4Ksr!n;[ kcIopwPBF0\/n+G姽)s*ƿ@0vPk'>sor O֭ibۡh׌EP+}K@Й:#;|1iNsHa`2 nNinH#.TqէB xI22qVIL#qS)^?88ϨI|.SX@ľfإHT]$`8^y,qOIP2AV4XcLI}Wv!?w1ad\ JsZ`vxenI{zcn Ki*;Ӧ. Y#T Udߗ橲 OLa)dN zH;,ιڀ]ȣ֘£1FpNܚFl);b!gCgGK F]=xL h>N9v޴S`HZWQ@,l8lZ: h?YW]EZ8PBY/y68-hI <X\µB, [})%7ndL7F7nz\}3䦨u5>.s,VL ;o3W8gch?H6׭R7ky䟑{u]]]o&1$W8٬ڤ'wJ!nqRՍu񭧔[,98nkU9=oXFM\ ZIra8)Rv+B oJE ۝VSړM@ݨKNݍ!0BN%zfrxH"Nјn UD\q sH1gV1ӱ"@Kca֠ qEٱsCeYS"lH!{B_k=g#4DKoE+o6՟/%D jQ\g,BwJ΀w ܐqZIV47Qxq(֓8P=DdgjJ;ʪT` 愨H+Ak; _N(S;{V,Є92/TIdfq`WwnѨb:f!Ji dED*$w38ޥѥl 2n܅'MpɀPjvL4@HU.?VժLl(9ml{q=wu OO"8U z$Nx`8 oE>\oY;{{7m0WTȉ3l(.[Z?ڿ[S(T7ι+LXVhWt˲I#Z+C /iR$Z:TQV8Y)&{Bs? / fcTFH?KVIب jNvfStƒlK mӱ2Hv\ ؒ[]Y^AgyoivVQյkW |YI)oԥhϏvy~cj|5pYdE*ׁ]Lū tEh˓TݗvD!kfR($ysuPquXک.sަl'^v"I(EPWTxXA`Nw؊aF+o BĨ\ F㑵 +:ee5(H9;.u <>tx!( ie}Cn*t;D"rz;'YK`, 2oS&Kɉtj.6QDVR34lU=P#["]xmLg&ڕ丒)RH 0Xѐb9c}&J 9ƶ]:SAw?FOmљc4Ay$Ts&=e$cJgN ۽loڢ(5GxD=*$4}ީ-73lz?d`8LK'Acʬn*b/ e= -~n&EtC{`AzrXQvIMʵ*ISbP8;h|rRVI7h_ʸ|2 ՖtbK&s(ø>՛mo:}Oj8 ea!L؀v}Nˢ\gl $hazqHCP,g$Vsp=ˏG%1H,z@QƯj}V0exQ N1I9ĚA>U(Пb7?XŽѯ ~Nx󴡁厭#rx$$k%U*F\Oz`'Vi=MGįC߿%.MzL ϬD#?Vn cF@ycw"0hqNja:O?͜ɖ1 >Pmjd+UUOQmڟʌqBD’~K2/zx̃P LUNrjm* -e%vn|ɀ?zJ@UVwUGECA;{FS;Pu;0cR`Ķ毭KFF7ށDYՊ"FLTJ<% qF+eH;gLGq akΑ8知5&72Grs.\;jǻF$8b0ȥJU`qjj*ʄv^j{͔ rHPw#6&tc}V@1;Ӄ*?i2`ĨC$F\w%LIbF3F󋮟wr@Qc~$RvR@:I7RA¯}LLѾ;z;T_Sls';s=k;)u85PwCv,3xLȣwl~S"+-/c#Nz֘D}{@vNQ IR=ޥsF UoueX! ~F9? F|3m^y2UC.y$4pºBv=B):BS\]Z[a!6{1R:WMb߉#ă~QjmOBH"xBRjݵϨXV RV vjJlխe\~lT2q2fTHT򭑢*"pExvJqՁE +pvB ږYCZ;a3^2)M!GfRimBSJj]A`7u4g9ڜP91'd RQ9_OZM#l3MFj@ߍ-"@ Yztm r?Һ ~>(e<VjB G֡[m:3\rZV*$HD`5l H-qR1HXЦ5̓H*:hĉ#6%Ǚ$0*\2\F2#ߊ4m,TM℁w qDf}m8c,N3'OcZ , {w07.rꐤ B: !B55{`_>#6;ylv;k[iIʲȇ_1$`Tg|^++T`$Bs 9dԍ?T-"p_f4dМqǥ@y.)h`QRAO &Е<ݞp@ܞIPi$%$ɭp4 \Td'U 0AX&G5 c?$whbuTG65񏏾^vh1oC-Z4B_f0rT{X YYUϕ8:SMw=&vU;IڽSJ9El:xYosW+*!Wu <.M/T9'rGt$AqhNd}bt>jVom2+ݷ&RrNt$ocxL<<3w d)HY oxQ[9mSy fխI]x&5 ܻ7C:]j:] I?úM$ZQ^fNgtI0=;Hz㺄O.S)EcP#1:eIRhmYqH1 g*cǭJAQ bߥ3)>U+ LޙTDK3r\ڇҡX;oS aysGaVS(,'{T &R ۧZYiw@MډHv78d # ^ t+5zg'sy?R(ȹ'5lƤ.μFݪcRrN$r~ ;cu^P%;OTIpdmi*w{c#c $&朵I,:bJq4h"U# roSLީh#Ζ.H$;t[dv %(Ia D<"DF]gvSi*0[U/-zvڥ zYOS.wԚ:=Wu;wc`09@0wn"df }Z@#@OOҹ8Yn|K+_De$vM_l|K&aixy_9~$TLcu)V8EDlf X:ˏCߚ/ƿ[ 5B|>vyNz5-2)f̄mIeYFDe-d$ңV1[UG(!$ۿsQnɚZ[ɮxF=>xG.&x.I<0 7bf]^YX1'S83@WEp@ ѭvTFDa˗\~ 3*\#k(r<2GWQRSwzZ"?-9ԪU3@MsB.-Ob#9eYw9Zk^MOPg  2oebXeM&}f=;oʕ}Vh-+,19F y؜lx58 ;-BHZ.gm36˒MHHlc]۸ KܘT5\sK5EB_Ցn+CrqTpxȠDcӊhT7gIؐhVz$7/ؚL:N(#8'z3$l5{)Vk ӵ |7O[ڳ*" (}jo &pjD(HATs`J1Jd8>ZSUL-~^3%8ۿ~nkYwo$6pL3H#c\INehdžߥt ZI 9 (@!ՏbO2w j,4g;"l*w2?d15ԤѝkRLZNyf!?'B.$%K÷]*.sVlLrKֻŷZ؍F$1܍+[ ۧ/w.lp a@*U*ѯ oV(9(5QC2NJEblL,]QKJD K99,}h6mRt[ -A8,nHPO 0]uPiǔ ?Bf%amA;l(k xCԌ3<&ş ro/|a43 rfx3ĎbI ֯@wۂ'e c#Y)"NYHfm$pt Y>/Ы(+ێcMZ&{ /;B1ݔ Vј:|('N<\Xha.Yɟ)o3/h]H}&i纁tu#(9sN7`^VA%1uT6_R߸4crշ6WۇF\R> Ӱ9C1:D`6fM6/EeebHE@ Aޘ }iZ +v=f -H]Y1]W\>\Zu Մ{ E%{gqdgZ YC$WC1>㏠V Iݺ]BYeX9ǦY^k#ҩczMҋpIunUk Y-9𣍵lօ D(]}JF}"F<|z\61{ c HP5p)hNuf{ިamظT[Lm2\mٜ$m.dfrMYHljr) ,8?ΣGxWWA #cD2E'z($P5sSM@kRV*0[#x9գ;f@j)Ert=+Zæu{=& iQ2+c?c݉buOpwvh3I1VPsS4 g4< ~M#+YL:\d؏QODee[RRϰ*gxUwTdN'lVh$[_ l7%GsV0;́Zn^I3JuK+(R6Z!K(,pVl,y? * A 沖FKeR=DzYVڳmVh#e8Q*rT_S^.:ʥͳꍋc ;{Ez)E,hƓN‘twFNqQvV#H ry&cf,LI'&E#q)o|DGzRhX%`oZ\{g%śt.4Y{k# WXVYKgdVj=(享!`#nGݴO8#IoS<ЕDVi ,NH'{Qs]$O@k9$<غlB, UbϿt߇zI,^TGFg0.N{JgO#EAOlbgmļQe0ՙOu)7:uK$i1p}v)/N[t*m'Ԃ2s}뚽pD[].7}k^.[#m&1}$sFS'[(u{|*FNp Vw.Yva0cSku-*Tuq<= [$;&_RH?k;i;8"V(v+SW@ +.FAWD? EC@l! +qsX&KC63KrprO_Qf [k+0ʤ7=ck7*D魮ӥ`+"e 5y}>H`yFJ~&QW OJF*tTA]*;*C@c9C3[F'$O5q`arԊ, f器>Q^JF&Շ8wO~D HSm Sic7\Hr"<Х`̞g@l&>__90[?DuG'ɿj!/[^l 4An D]ZʉQRz6,LrA ##ZКKK[Ub9 sss$fպ kӚL!).ev?{鮖,,|DԳJ\cV -a4ɬ62 }Gb8KIj Hʂ3٣;2 @)8R?@*$ޜ^snk5H].vbw߁G%2{ ΄o=+B>dQq{1XY V@|=Fp199E,Ռ,j7QT\۽ 8ø6b] rOs1!xLѝrgP|g)e9$R@Khe C:X@8;PZ4l2\K%W*H檩X6J*n1#m+ehνXX0U5{6MC9pձa!9,=zaGŸ7b}W#)#T3eBߟCZ1*O"h+Eӫp;Kl'I9T&@=4u*pެ Bb̤iadYGq( q2D]`dzҾo}Gk{umDyC5"]^OJeoqZ w'Lv g1|^K]6\eXG*6gIe^)Aa~H&79;I$}c<Y31\_YF%I; s1SBV̢]z%ƛhLrUg4K7QʆW2Fǟ>ԛFU0 E2>h#ҲB+ic9FCI%fVi(r8\  R4AmmQ 8ڜ-(T>ya{]nT9V}gw0#`;0VERTs% Z.z8U'8q\k45redda;.DuqzʲZDʋ`}N~QGTB=]50&⡃#lS 2Fآ ( |`j@pNNi0*Ї `NuGPhx\٤؊[I ""ms1~[ԕ!sHt2brNx_Z,L;C-3B0Io(x M4M$6>Ɣ%{&PH ^JҖ9p$!?3I:Dj|9#i y)5%v!HӈX)NV[mL&~'u}6isJʌof][9vUeuKVU(Xfi(vm3[ͷc 1?մgb{@!ە8#Ik%ۘIgam1}ZI$ ?q U![V7ORfȏV.LJv3z" X6p Lhae I`@jbYTc {7{iP)r񥮲jbŞVCN@8okL݈;忙%|7ҧr9/aLdŶѱ4d.˺1P(dl'~Z2y ]H0@F9h5 GzM!->KwU<̀?Й(Yƣ9v2dIm 簫b2f]4Wp`Q4[8:%Ū>gt4#@zV07DIi"sQF\q*Vd5g;ӳbAqjʬXirO 2׏9i(5I3ēb"6JXm2i֡ ޺%=ē3.|'SS4hR'['PkK ğ taN+ ~"ck},*b}JQjN177MZH0 Aޭ+l{`  =onX ?,jGt)hsDB9@|wXE 1Qg]<4Ž2;>\ܖ `019=,Rt!TI5`RHcp8~gYe7Yf)p9y&M)$j69 l0l4xp'c6S!HBH}Ԉh UL .QS͸(=HvQԳdp*czh yЉ&V2T(|7b;TF4!%pr/#*^?zmfEWP;]`I#i!oLdP[4r6`k"L$}'6#\R3i΢{fwJ l"L I wX޼@7CTH{7q]mN?GxhƆ8~wP)p."rp]%Ȟ;I&OD]]4bWsFy霶7Ul7Dlyy$id“rv ;'DZ>z /OcĊS(.!)nOR'JR4*H*?ӧ5ך:4BFDDQFy!&EuP1$g~تm164׺m 1ް^xIχ ) ulzNOY/oG-#4R!BOqo|/$29B@Cۣd ;q=@8r~3vGlmCRFqTF"$[6ccjT;㌌n*Cl*3+;+Eu *>?M9 7BWQw=C 3@ d5|DF)$L-Iڛi o;ֈBrmswV败|F0AA `c F3>*y?q)ϕV .TJ)k5n)5atA4t7޾ì:X\'Pa49a!M!\3~j#`n"a挐woU*m1RG):Ew݄rJ1 ` }>קt⥤orXHPUY%UWu ;[ @`ȣ( 64؄ v YI z9|`aG(@,˧'%6f *v4O=25xnOԑq$)XP{ Vƀpz۶e҅G1 .4<*s v]+5=*MXQp|SXqe ȓ4܌3O2n E,WO1@N!{ ^֖VƳ[9:F&XԌmMmݳ0`gѪE mtuPx/?M/ mRxHJeRˏB%U֥5X\9 j1Toƒ74:C⫥ǕE3nʥN⁠ޕi2m@<=@i$jjCC=k[[lrGkjnf"qM KxF#SR?P-$NqP=o,6̮Ü*^ CFvRA _:hKl>Ʌ;Z#d)8b Oʍ9fE" >O舲AG>SgUM021\ъ+Kɠd[Iyp„O3if FR8l6d}Er=g;%qMI`tDk5#Aj mԳFԚ]A!`EnU`J ݷ M7S!ȡ6 P)?pGʷ-~']pc҈5hԳR$D5298oZV]ڱ>N =?涃X% 岼y.ݎS8Hu9V-YG,g#6 `|QNLk'Nk~-+ =7=]MʪNujKvYPl9ٶp*6 W$L@FG)W8M9x$6K1YSmz R3/"a~9U5PP"G(7޽c4Z$\ A^x$H:lmoBcN{H9]6"m iG=3wSY#1L_{SJFǨjԮ#*tPՍtԣzLi tqo r"8n+D7 2ecG1 nq6(Ʀ'oTE%غ4+N9,Q,AprKsDp}g(X[H۞) Ah}3ڳm/`-G/KFef_v,v6\%¹d9#&[x1q0\!ӏzoC4rOM/dy'c)$^Mx"[\A~dt폡>Ztcn^n>(B$[i:\t˻5 2;{Yk^\=F-UVU8dW?{N, o!xۓ6xntyeb ߚ!zT\pfG[$t4Hlj-1l:Թ;)[)Yp.)%'?cn-lzX(` >NsY+GD$ٺ_\[u2HʧVĆ WUZYprw$.29 8qepEtF^|2E;|^0]LkO.vGWdM Ra`&p%Ua> PHђQ7lz: ڄ0J̈́H$g*c:CVCf3~%iUTp0+q g߰Is֥)=k=٤;}H҂# J[OJrSНDKYhd)Ksi Gjqqr;Ui\r3ڝ/*xN7%nq9hn4\C2ôhD;r#ӳbz$X󒣜Ѣe*6 ec=;Bi8)vYoO/G22w#%JOei兀k"̺4yH/S] CPw 0OI)A'wӉԑi6>-4.wɐ)aڥG/Z0gëjE1IcN#; QtnY#BXϯXtUUu$VїNy_:$ŕ,x wiU7שsH,>ʕGlZEY$UѫBPӚYKJdj89͍Z[V4ڳkxfi?P} (AH'IC$i$\ AVɅK?ֳ͟SژFV(/'Z"?Cގ&Æ 'U^GVx4"$rYJ{E#ﳯvzTUR/n$HC 9 UߤA0:|]gcS-2D0(.I$c}9Y7^N@H91D^n(HN9j_\\][)H*Wf>vyʞvp*A Psr*ddEyFJv;gM=ؐgRޥ9dUB >aYЈD@T\`j"ΝЬ̒)Po$hKn;}j~6-ʺPIaqxMbDmXe#'ɞ ͤ5S']FdQpwߵ O¬>9oe ok&9/Ppy=Ae9( &v➵}%y$eXʕӨ8S3/m*>ڭVIlfIр:w|+k*:U\`dApC;֙[e-_cӺ{k{?p%saޕt"B$`U'Ų0K/ ¶pc9' R\V᠘E%NޑKK{h2aLmΥvC#K}j0'N;-E@myWsQtUhsG|z}BnQ7xќǞcSV0BQ#}=;ǻc*iG`Μw rEKEeF Y,ǤmiƌHm[s?,7JƕFtq>־W 2崍D*3vvV\ΠƝ#44b 9sօfhfc$_MW-U4faՇFYl4M4qpg Ν藓Is%fVURv`Љs̮8>&9 X9*$:H'qj28.DY OXU:kCfrs,H3 Gȃ#[qJ_+^ߦUDA"Mi'H+=֑4n<*~Z.3aߞr *gJP+@-;;F G<##Qz;P7C~T1G/#!^9ee,P.a!c$rAğD9;iN|'D?C x9}@xFpe*dSQ'Kftto*MaQry'D1RJxukg;xvjQyX|jȫ@oMnnj6T3@jAŠe[ڏ +Ԅc(%#LhS;*zzIn4eWAP*)1C{ԵK4n)eXx`갼$ V8uP=ҋ;^&"c$H]ҫdhv(Mw *xg @JM@{phTl^%5L6<%g|z{Rj qLG?w<6 kfê7$3#lG]ZTǥՑF}y{DNI9(kfʐW}T+I/(R=CR9޾ko1Pz2Mgʭ4=M=7* ۖy4}KPE uoPI\ruOƗdduVdw^G;ޔr[K" *:O .3=ׅh$m#0ʱ?,Dh]HU䍻jTH*#P`k="M1V:eVdgӾSBM9UAȫE$E502$+[9 do H݆߽mTKYP)Pʑ=kQuu8x% rY8HLiHb! y\Ob}zn')P 31 DiRB+F#4[soah$DUUR}Օ}^@flw> T/9MHΜd YK+h*R6ӗWja˞c?Cy%|\dxKocL\`Ք ]7npQڨm-#gpލ`MiNtȣVi{vڽ5O!,] ?QRL*d[ZI6+0[,1??ZnV8$ Õ  z V؅7 &VHak «O Fft4]5:a 4Zz0HGB;M7F|V [Ҫn %RYd*B(,Gj``@iv@@w'a`=g Q$QO_k cęD7Ǐ~T)V !, 1/j.5@}d./dR6CNJk9TEǏ:4K:T EI-$߱\R.0Fޔ 4XSd!,Gr)si-soړ;2AnjOzP"s^@XTR2,$LԼCV*GIc]*E)psǦ=+"Փ6Lr&s}*j@Mio<)?jR@(ݩ / tcDr\v>ǎiIcP81NվVeq{+T$c֗#98gVOif'F,k%YAYLh=MZLk/n|޳Q.l$B2l7cZ)Kc[Z`# ~Pm"!IHbQ͖w@ fwy@+]Bn>!i.ӶA8$$%.&Y!?pּv7ijGpLP6u`q>UQ$[2tE#Xc8S[LX*F?_Le9:!Һ3]:)1| Drq%?BX),9#cBI M0jQ͑۽QQ$Gˊ-Bdn le~fn>'$w%$&PrF< *[qij<@L A'2v9 mgj[TJy2[tGmJrqyLaT"0bnEd@,5MM'o/o}I?jk0I SoXLğ['K'H҂TZ I 8hfMY 2W \Yw qcV(ZM*EB0( eV2<@ŪY3eB+}<1[Gc[EDrp3ڪlPwH`jto$!,e;P !O%#9K܉mvGօwՖ(ʮʯ s/sz:OrqJ$[#~ɢ u"FJ<7T~yS' ڈI! p88#*&g1 ;53C5e DV,ц)s[S=))&٠ ̧1߰>ڨ*hҟm9nq ,d=YY.vGf;(zU"#խL3Gv.C P#]|T6<6z&U6KrFq{?fj|HȎH8ʓG.]rc9s5{jSdLNISosieP8^泾Frx$If'|{uq$+ަ^xtxzvBFLNw#=΂^K !$v9X=ZOʌLVy|?KJ#Y*e&ɓwa7p70 >!7nmI‡\o $d`5xe3u'j!WbA<+ȷ0b {}2X|'tGm%YGZ 7Z0tױ\rXitz66#Q<6Jэqm,22ҁkhѲx=jpMP^/o0_ 6R+ YƗ;I2؊6g)xoQ$Kflǩ;eS4"ɒwu&^Q[ż8TgN&$8֥ U؟SJ"`ezc*2p9";Y3LLfM!|dlA*;MO8".= *pH.oZ}ZxV2/cՉj߫DnaV=JSLAjD8Z,FO=U A"(ѷ |}x:;i||HȖi͵‚CA?1A"`A9RrJCXP/7+!*1eGg J ڕ%evGޥ#JkEY>Clzm&\w|_CxHƻT.YSƔ#JF ~\<ӹQ4`9#B$֦0:3 %\.}=O<e$z1+dy8QVN7@ 1FS"x~@>J;L,Z@];{ԉG!=;9d1Q *F{mIFFcchGUqݪ$*@Y0x*vԸZ`t[FCLY.1Gr=i o ,q 'PeċG`.qxFXY4`Ω2-$`Jc*ʺZw7O_ͣhbdВ^0f=IG,IRX%ټ%iFxKFT#Y7zPF4fR8e{rb5Q}_zE%@7(N?ZԂ9p%?f;l&Z-nɌvHRh6+з3OaY\w֊VhBI#BX1S6Ǻ wxdcCh$D4A$6҂|}o ;UK%4&YNvQg"FFsM`ZbLҘq+E^ܲ4bvBG:-3`7sNP@usWIӾ((yOw7p?R=kI4hz7l;$eHg8J]GȄ#/ ?j,e'dD6nKi2Ť楔 nY߀8Ёdꅰ)qC0h ~t M,X7!%~THyNjCQ mca,\McݢړԌaDpO#KWeÎ ѓ4Yd2x|IH<9TLYTYj"7hΥ;Ԓ]5],*X9-3Zd`nio @Zuc,cX>FVhRϡV?>NCTf1{5y_in{Q1OOuO?5Z4< o?9 m+p]4,gRެF, Csc#?znlOYH|ၥq'$=T3HĺNY#G.̋$ V'O x_ AbO{TU7GqҺe690%OPNY+ K?o_{ϋAo]$ֽt?K{oTȪHս;m]nT}Al##;ŒPWWIԻe s$e*qL_Lh#*V"02?CPdeS%;NpI XՍQ7@(YVoz+Zk0{j}mM 22\#+WÆ{vaf9b؞1xz֩A"I9 4(.wE ۔ 8!r)HnwQ Կ g"ǡ݆hA8/ISoMIȴWN"!LauzXsu+(.dn8(HHe2B7AZU\ij~E9\JjхycԫFIqz^m o0PnpMX+tF9NMcxӇv`ÒTue#BXBdEVTմxaXdKx! p$ұ|Io>#6oCѠ/OMZ=r'r\4P0"ǃv#Dd_Q͊[J K;{V&uu-S(v%1oqg0$+2xDsGwo*c)qˬ(JEVL3|ίqRݣۂ=swÑPj\[["QϯJPH-iX:{ǶNJ 02}1J%R@68>oCfo.݊ɃgYZ`$*GEW8K[@DUa=( 9ru+HRy#: ӚXX l6޵YLq^BSM,_ gcK:*gUe}(,FsqдaEg&٢Iߵ8 [$4|Z>L`]&fi4*`9[sLcv3qZ K4"Q85, !zIRVcv1&*~(\͜߷֞Dzo:twCŇ !*EL7V@0%SL'nua8LվTNp+ oZmTrAϽ 2LX`-'3qT JZ3N hu9a&IVjQIU@eFFk{29л*@ ~3(`ͰP;ޭG2@|dzhggCIu`ܝ{ř̂8@)#O5+tHrQF['`rv܊I IiRcqe:LlAS[8?|{z>72Fuj;wD{:i巼Rp Ǹ|'coֺZN $v\Ojamd I[pydۼ9?e8bSװy~xzR0E-VE6$68-5FQاIӟ55{ҫ-l|qUG1 HJ 9U(h×o ]X>g[W >xcYԌd/aF2[ڜ6@n"mFNehn=d#o#D#37 mTE.:yUlzzݻF69V٭ڨma1I$h@vTyRXǓdVLt<a<'.~TTpa[! Ny5"ce#Gz`C'ڀ,HU'u0fW@ ͬl8VR1f!56vcRXaS;gڵ-ڥ(OoI b5ڈS"#Ȫ4#b6О-yڀ>[ mMX_򟗥VpR3eK0̾%8{V{5h\@o>f95cD 1 i[]S6FObXDHw$ Slh9Uqqx_p6=!;i*8'Ca"Y2ŏ<\죰XQqm4J5yJ i}33)C5a~\7WFBbYv; mqg0A9擫!ѫ?P^)*w8 Fۂ8^Iћ[N ^Qyd{>^[0oYM }7r[f($sJxJ@QtTpO#5U$gM8a,nn7&9P*ILμ2YI7F dXcx؏˫l}z'y xnFSX)Ѕ@V=r3Vܮ~u2A|?KU\ 9!GQ-άF %T".ok*,m0N i#)G>adOގh}T ZႳzWӹV,,^l!Lƭ"33jtT1x4) G=NHMtA4'1MipȻfYhVo?_.\{<]I$ ( xLVGiw!8_.{Jt:)%彤h$0M'8;A3'ˏfdϢ B#ӷ5w'=m:1SM N$'>uo8s˝,7Rm,3j<% nWU2O ʓ4$REdN _1Jsp1:?}1]Qi*F(#H`QP2YBДd)eH>&7'ǥE[<1y9.8Z HYܶLK4(BČv)X'>`GJ:sYGP4#ѾݫJn bܫ &F(wjY}jFq O cRWv6Q#)"SEֳ#M™bķP2SjC*hRy=p$xUcr  C11c'X$/cQi,l ZZܳ6#`ed8XjZK)H3-+"!>[T5^\^%refv䀥YJj$Z-CJyQHlӰ#^x9CE yp۟-+"٤d ?nYkgaU :6!ƔIʞ$n08\1zQ:"77DAs]Lb+eDdfPVzHnG"eifi%%َI'sU vhh2 ~R[^jB]jfĖGLP w `M Yj+ӤgaTWuy⌚J6چH mpdl֕Z W `$|┡٦֓df6jEeP&M$`'zë'`RG?iQLdN+> J,*n``>y⸼/pHRqWhshWC3]<5FNNqFJ4f*/+.RBe2*ѱ yނ D8HmW@C&G%ւn['ֆؒ9n2SCYgQ} %S}Dś#FA@GTH$ @w ycjt*=<;Q1EQÅc5L3Q#I3z*4PY4t0t#u뻛VA -Ӊq+؂NAҞ#7Vø:։/GTq%m\}2hi69/XiQ/Cw̉,UY0'ɲ6zJ*`08ƭFT(/| CbYF1-Ma,'kB}ןT̤&:Kj鹉Si0 JG3i$0}?ZHQ ,h8d82u+χspҪnS44zDr)V-a"<6Zfy"+WI84 ԥގ0@Ik"}q*3I-zV#T?9L)"7#]1>jHnKBNǤY$1 ۊԗַpG$tgh.iqg-Tk$'/!fU{,7L:QN?ʪ J?,^~ӭɎ+7P2Yԕ`tCΡV %.v(į ʺW+J#;kE#ΚiXlA-)atTmR;TG! 2s﹬ 9VBHaڊȫd_]#-e_2<9FF"2\朓M4[Yb.e9ܚVЂGWq.qy3 VV x0)oh#ToҐaTB8MAlSsltΤCrzE Kka:NXִB2jU醆N6eڄ1@ bN̜TC[8wi*ptnĢKW+3jhܽ'dsޕ%L%هqY(+ؑ%@ƤUhC&U&yuZ,P}jƯbNJlV BGJ_Lc4aNa;< U[f'/Z$#BJ{SV)#$K#FIҧ:~tݤEE'azRki-16?0~JGaEMC,FpGַZ n# @d d=)_eLI&/PE4aFޯrF``6)hMVPLSiccq5qVG02U u2fjN.F4"r5`4ѾNO$sY -, Wp݆})oSXyt(EXu~b8'DBhyN J^hcjѝbyc8}Ny#PSqV[H9Zt-)\޴GH3 }*O:^L_p~^Թ(#9شTħ8,Wh|=.C`#ήiXXiQN==qqk9.&# Q&c') φwФm@|YLd|( ne ;FIGG,E%0 mRR&ܞ>9$3ܩQn̑aWSy 02C.ǥ{պ6GӾkzX1WRjBɰl:sI~jV@@S >RosB+!#.80~HI\cU@v9X0,ӝ>uaOQ%j,Vi1SN{K{戻@ &.bS(ӂa"jkrPH,3T9?K H'4}x?2RFۃPMޘ?U(Aڲ7TUhӶ1^".PX.#!}=}k*S2KՁ4b@ʤ>4ɩ#h0axHU l%^+Q$v55 pO(rG5Aj_ִ`B8q튢uV?)u1hj\`b4^}3*Л;VcʺJ.{ZC9QddK_W:04`u9fzq?jݲS\<s7(&|z4.-8*MS[ayޣ|VWqw&sfc\RMm&?:va|1#@:ieMR5N1>C /T&񈪤TAW"F{TJ7 3ƺoU&=RHq{F(߉@{Z-} 4Dj#)F5b{uy*񴈲8fDΑ댊:@xn&$4RmgӕmśHN+rwZ0Eg/[(p1Ɠ錣Y`gc,0Fノs^\c_9VܖN9cDHu)၏N٣ "QϷQ.xΗ{ٶj>F?ٲu9"IHJ*\Wĝ8۵F1TPXnGAWyd>bpT) M%w8=˂74"g$8>rTwzYCG 2GBA2r01e1BGzh vxcm9QVX#K3PSc(=nhuȡD$ 26sJ ,c: 6H>ʻȦ.aFS V| lͨvI31;4g 6*2C @KvaO1?jVi\394]KG*s4]KKzv$캳4B7ژA+*6^YpYtIQEFS,Y32ɐwo(v8浫4On}jN ppE1"cpkUn"R[lLGcmr#ڙUeiX023><; eC3CqSJ'DtD$-%OqIF͝]: % 9}i9cӊ!M$9u2RJI"9I2}hh 0?j%-慮0pGpW{cV@WHHeW]ZHzf^$,I}Ek je );$,`c<ГM[4na]I_SWn @jiW+ TG3x/>X1;Z.5,-*^\1ʒFNӝ2ϥ$ I.`GGGUy!Vg_c2ln)hT> #ʤ9iNt5;) ڄQ_ Yr8z~V% rpS֪Y|6:eI;|У# 4>_>-!D_ҙn3Yu7`SxY٣szHc{$0V1(8ǿ]x(Lʇỗf&vwBKOm؀{b9Fd˜/;&QřFTH1<* @|Qmr(w$uyuG*Do2y/a]]RMTMԒ~^Kۈ\2ɧYCW2NwVSZKR)-{ua#y [d/"%fRC"1PG:IK C}R%ZhjT T[f2(@yM44Xps^#n*. @$meP.sPvDj5ix8I'"꥕PjLRC '4ri> aՁ?JQخ3~̸fl 6M8PI1I8L.z85w&ExO; Md6PD)&NV9"@}B"$HeCp!,W V?(F&F k |(}FTeW,wQ 9HY$%v{+11_SMK= ֨NwsSܗR| 5O<h⩬k:8bÎՐOK624۴3#}}Q~0s5Xm ~aYU#QFozkܛ+3Vǽ14wV"PdชK2@lqz\rm9L$hc9֑I0py'*CJ9HQ9lTYx nXB9YVάӝ:Wi#֥?5SBG<>kL+o|Bhͺp4ghNAf89uBP3`.҇콼!*c -QdP]15&OaaPE:j ֗"9G;cIZ'¿}e.z ld`q>S)|9J* $~_Lv3nІb ¶zminK$I#ep&>q٤el2>5*7Ѫ!9Q.yʅ4d^i#ST35$/U l;Cz4LQR-+dZ7 ސzKQ#Od˫lS>6UD@* w4!$) T%`rq@#0!# r`ڧhYb8P=)P3\lM i@; r"GsMmbU҄IU198>X/nFv v4tuVVO۴6?(-*FL*(Bc#G P08:SPF7T46fpUy=SWf{ k"R?`.~ZA_-SMu eҴK!yAX?C+L(JMISuYp?U H<ivo;t  ^tzl&Jj!GgI $sX>%ELTUIQ|WzR^ 8 j,$r8I3 A$E]Rn`^xdY@I}9og*8.OM$<+n3n((/Bw'Һ߆Hc0JZZw U4\ԨgwK>`qᾫkdA,5vgR+-ra s.AJݶҞ\ZGqY*B7h51gv?=[6B.s2+.K64G^bJ$kmp QzkAJjXf|As<1Co"Q6>v*U|$ {i'Ct2D*2萤AdhGZG" 5L?$[&uhG~լRk$gfT fUs'dl~Ɓťx)! & )$p|/ ղMmbTiIcd5u;:.&$ 0NzP3: NYRr1DS*LP޼uoB.#'⭁@繠D8\{԰(p@0<Ɠ!%&=FR g Jeq(I.Cu'z,$>bV{@-3Rt4< yUoSo' @$CtE_$L2FE*nueC EêRy:A,wT]S1fq?WiHS6x[%¼ajlQ.dYT*vi`VQ vbSURxޚ*,$#ER ;K$q* c^ŷc5cnuѝS4'Fg"CTRs ب*pB*F~Yt$G9=(ԕ'B`7sG!\@lЎ 9/Hs7Hiѧ S4DFO3B7j ʤg8xm]fZUOɨzsޡ0B,daچ񙙆'8$wSG Qz!59}{T7[r$ RwRD[MX87:԰1?W q*;Dw3L63T Hh^m$O3':r>I/gۤ\a)Ȕc7R R+-r=}+=>(ٝLNH?CsS96LoH-|n+AI5DEA V8ѓu5K%ݴpj'HyY@%uTR=;oU9( MgfLС WcDRadcjlݒ[AG;Ǩ#E"o%J&ڶT^-G[n֫pXXUp=~=1BB(ՅrJ3O[݈G;C -?JU@7lA$-Q(Ԗ:Gޭ+Ȋ2SRUhVǜ:UշN ?!f;Q8zMޚ˦;99YO``@b^5"6ǜvIA4 ]dyL2(U>DE`݇߱a,,"G+04H9; 2E"]pGmXͥO&g`>Gdۊ *"2Ien]۰3qT\NZ%4W^o¢JYrˠsO kg\ceNGeMX? 'ןjz.T TQ|ӯ[.:O4J!dKjPfdvA ` Q$iџUT/dvFa:Y0>?n9z6$" BȚXq9}X7ð]<tl՗o-%pc n=(Jd+$Md[f2Z+<Mx GqRz{[Gѷ`1 9Ǡ?j^ wӖH#)8캥Hu7(Fͧ*ޭS$R[4HB6?=tCsem)dV{gu;RZ/!YfD\+V5/7:vԬĩ\ J_ycBr+R(7KpќvxE+Mjʼn1D'F6V0IӑVODRrrOaZh3 p0BNBnlc||g-d e` sF1IMZ%d6eq iai F=NY# 6<njsV顴C41Q-m7;qK@/hwf#?<C!n_Efċ1$]~X<\$ jfAC GKj8ERI msH^F'aSnn[+=ȍ0ڎXު>2Ik4x?xlQnb/$s" K4Hd(R,c6 ",I$ Xa}*&†6f.2v8޴۪DY[|zH5'8e l֝՗Uo67'sk/i`q Z(FxپU-t$?,bej\|L~%3P)H%SwKI:%YD[S9 $mNsޕo Hcv'z+D$cN(^8aM] `qC^1E2cԬ ,@|g sLE(bJ<{YI~GwM^`]<mǁ<%JN޵<|an3EpH JܳX׃=j[⤅$&Ew;qK,cv\!WISt/dԏcs Ў{ [Y y~ކa٧zlANr ߽ XH0Sgi{Yze5e'͈=CoqXvqh؉:bG zj_[!OƨNctQX%HLG*pshƪYE1UPoojEQK 255.s74[뤑q I$#9IPҥvDVi oYbȠ99cc#0!GkXr-IlcM:N+i4O TzqY#VSG>Ԥ"TNd=ߚi;ɯW-+=1*>J%CkqβgPG*ǻe.5nq)d20uLGw4ʩ=:3#cK&~g$CU7zd魖6f@߭zy* [)AAdXQ9Iy`#ɂN~yͭ|HB;mGFa؝6<ߘHɭ/̖CA9׾޹h ¶I>>^qT78RQTZmH[R1Ώ5QX4m:Zo!)'*f[ՐPC j Hvewe]XWIϽu2@hqGX]/#rL,.mnC@:Qbֲ56zT ӺU0!ݻdoWlɹ+r鑑H?WumYHԒV?y7.V'Zx9K 3fud^n btm\bf '6NޗxnFYAQNR2i 98楥d|FWXU$gjYH51mOs6đf>t1gXܲN4nmd '`G)<G)"E'bqlΑ0U ?IU{YY3;{A؇fDWRvRr޵`XKSwxjhs _ꈗw"To0}Gڟ? bkޛ4`{GM,d)uwndBgftW#IY= <7M7XdHc)jU ֈq֥E'E㾾F${ >"F"yNÁމ5DI*hbu0!CwDS;+ 1>V=5YaY#n -*ƣ\$XrKbIa{L6xcvԗ2ozIeTn.`"Hڏk=Q7s;=j)g`|R<5g Ա$ LȒmAvV$xeeItDD Oj6IهޤV,N2lA%:6*2Oީx40ޥڶRW1cg7]Y2YJ_Qp!z?.#2aM+DFy'l# m{ֹCI: GߚwՕ( T&F%|W T})܌c>"!|z԰+ɠGfR0[>HT[?*I~BڄI%ސ )!{9=}I#ڄ0V)s]LpCl}vȻaXNc>26?~~vCA%E؁a8yM$[$E'uDIxyŬӾh&KHH$^bƦҧM17tPFvYŶx1Zz%Br^u[8PbVt29' j1hZ[4z(njq,"- ` ٧j5l$$X\>i;ma~#KwЫbt5J)X'sѺLwөs M0}vNI-8Ə|l\ZeV VroQ~M <۽f9J 8È)Ȣٲ-̰А0q23oGCiMܷLE"@BqaϭsV зHA#>n/,9>ǢQ e(Bihu *j8覙2N(mDE7+?ùS,D&d)j!$ Y1Bst52MSVRXBhΠJ8sF3n6;z7ؤ4m{،*|M~Fw:0I}DnބJ 蜆:#~CP ;gl}ֳ,,4 k1Gǭcuk֞͞sS,֗bf`<{WCЯV6hlq4=F]OUE:TF653[3tOg(YA&.cot֦ݓI- Tq(lQ$l#mi 9pTJpwh ̑aeu *rx8V9A^_{OVQ&\G7cWߜtRce.NlvS6AL[QVes)QN";{SYf;..-e ڲ-VO%9 4z%F[bo{c E\UEt.ۦB 3Ԫ< W8%[ N&~nI:I̶'Ⱦ s\sڧJ2I4q(V:cr>Y+KT>%[iXv@uI!$9ޗv cեv4Tp|}*˰Mtxh_H,XfFЀ9:#';q惝Xa@h6ҫ'#&#RFn5` cnDpxz|h lr<{e>]ҔX2.`qJt 5YOflUde$vx'44dr=I{r4.XaϿΣRH* ?%>(j=T'ଏbqMBRpsmC-]0۳fM[C%d i${qT-S/3]28Sy@`&$ʶPuF$[%t TJеKHOq?jR&Mo!rX*Ї)|nw} L!'v:3XukI &2|W= VRTBWޝknգ&aiq.QK5Xe SV[?c˕eQuS*se{VE"]XCjgFN$JCbnV#=aURv#|?*x'yWfl:>f7o ,\sUG,7$`x3Lm23auF7|OI9Q~#3;'K2ld\=ȫiy G> s"yHڔ"A*+jvįVqFźI#oѤ0Y.I49Ѧ#)?ې9I? Ȁ<[yq*$1OvQtBIA$3j#Ӯ&6W UR0qq(X[(vm*}*dTV bOpzj=C%&Ul9n>_j^W?,IF(XHבD`@ک#X@ڴZ5 a`VF@4*13l'>֊Z5UR!ϊUca4 G%c5rN{*bRFG֌mH&pqZ Pż0mI"gQ3HDyAƜ~SV/uԣO7ⵎx{}(>Kd^ߦK5BA|8m#/I0VFoJMݰqȉ"h߷?? \Pm7+h5YVRq_s*':Y!_P}>_M%"K[ѵ+9*9b1ڭ%QHNFM4AJ;$Kj,XjPK0"`dzQ3~ ~VYIQ>%}O 1+/P@UՌO>oD!<)j-:_HPIZձx1"4V'fWV`xu$3/tHڣh g#sTq1yYeg8d%I؀FB[;Cc9 ۑR俩xP^I ?Tzr}޶+[J1˶O[1#5 2) snˆZnJ̊5瓁Z54Rsv=jN#݈`nVl:"H-g>*C ~y{Rm&1ŐJɢ80 x9?3o#X^ JdE7:GqXx1]6uPAX-!J^w"hDDml~ rhf^bC4J2U72Fd`mSNOaG",)dVJ,Uvޛ 7FX4,NpA!tqQ[gg$Rr11D)AV;{*r6z,,1"b;{fC,$V6NuD nF+oOE .@1p=Gm)%!XÉ2tڴ1ɩ+LVōom!AN`]--MLq")60VyWz^8#[F:O6H,*dS gc ۊϸ=͔;w,qʏSS;{2i`^kcmkb-;fHwDJq}攸jv15Y#9'P5a\CzBiI n;w?N nK?ǵq,@6160Ҁ1:I7}Q /%m混4:x'4}wRb@sn)JM,HeI-iYkds6<Ȃ-ROhcCFv=扬;d$8)7κHc -hJ$$ lI>YWgmtڛ\n;P* WP2{g8X &݉x1HT""f@>?*T=nc/(B-}}Vmf_ơ5NJ2if\-Es$ . l:q5@Zu7LD%/Q+ه,}2.$YHq]5T:O`DAQ?DNXG9I0AaHgMtMebA*U:f 1FFAZ-wn%{mY!I#'mn/DFM>:Wh9P ҞHeu\`g &Pz2mI HI i1eXA߽5$i4EHr6?Z6uRa棳O$FT?N $ -'iH+ q \>ԝ&bGw |q֨&Ȳ9}UWO%LvᦠPcbĺyسq?AS(Ft{{t rqu oVo퓎rbi.?xb[ @tL=(awJ,x9~Z}+1HA֍i :1[t?!# (E/. $1` w*;vD݄{L*0q޽` nIlҦf?TŒ$NzZK%1:+.q)8zdcc$9T'>ڕ > 'ڮ+L\}O|}O|*nPڇ<Uk"k'8[tb$zcTdŻ*K9Jo#Mia{`a⴬z=Z+%݌񺉐d)8#|Z'Փ+[Fū\%i܃Ak:,qJ$[hۿƂ*HK|d%OtQ=3ڬQ"mNT;.g#b1l ?d?OXOhݣpFs Jt?!Et -'yVhVu>Ab+)vIUIkBC0b)8 5e \^[coi+fqt[͜C,Ar3,ַ!#+Am}7N0smSC0[Bج>'.Z[TKxVgcxΎ.LE{X,bq4 ˣ2Ee; l׽*FnK7"nSDA c>[q &(ƒG#bw(k ~e5܄''W1цU$c< ԌkL}׾G֒jcDIfu2a)lW7v.-qqT$&R׳{qEBʷmD< ՊqCn>qC$!2HP+3Ėf$ٱ#pP0{('5/ޘ9hl0EZ L2{JIdO0;#ib@r3J hCzַm+$wjSt))-괍+B !'|R&壙$CSNCԡi Á~3PhFj xGŏQ~_U4Lkı*%ݾuc, u` KHӳi.):d7@Ia(FB'L$H后~GW=m(O#^ <W@;Ղhi=I^>Ցu`Er8RvIR3QUXxNּ% m|Á^o&ҩ 6(pvQɅWE"zX$C(΃j W;WjnVj(hc8\ >noDHه9苧d&H~J;fO6c]Ui՜ {&>֐GmXS#n*<{lɧ쪣O܂Y{ r˧Թ}&2끧,1GݒUT@C˓Q4d+A:wDNZ1H_r@xx:JE`[qLhs$L<(}=7CrRo5X9F°|+FYWx̪ oyR{)bo(f5%OuH'"dZG&Еw K;cn*m $2 $jUCÒā؆PA '> 2\HȾd_v=UX3N8hIPK.^?\vazYzxWX$:%mM7Vjkdnmyc/NX{7ek<\!dI8a߿=;VLw-n;c|ӷl+Gki#9ﵱ]KBe:2\{FeNY+]#=rdܙJ4)[Kxj ѶhC( !(dS 3Fw;PVP= MAs&>!!%AbNVG_n)N%bZ}ȦN#rF)6Kv#/ =_d]ۤhDـ) xGXVCGy$ })-N8AH'PN?Ni,bа;`5CMuJI]0VMJA =6 g yT8_~Gܷ 23GTI"W$4ݐ*Mp?+C٬LiUEaF[cI[hꖋ-0e+S_=jT[KX@"-#^1箥\]3*psQ-a&:ǿZ\i.Livo\ѯZ-`N?1@FncȈO鏥)e`IvlPqv-1,a3/Yu{LjRYHm 釲ե2Jw8=(lbD.˲^d'ASRwfS4JSAp|`ViXEAg4$Tb(RFG!T=Ζ?ZbBvr7g0 s[ͣ?%khN2#mV1Ku[;,^"`/{IarQr?TFpi*:>% f՝-a5=*C]c1y]M%9{l9 sIAsʦT.pT#qpe'IB12yZHfXTt#DA.& O\wRˏ,TwS)KOB拓>*yb4scv+JNf εn-QF.y w d62mNiA"cHdo얖JXUcUԱM%/XJ>Gkx Y~ xe@Qs<%N}}1^^\\k'OJ"@?6w˶}*0* >@փ$2ѩʕEP (PJ +Xt8bCɀ?*44 :#* z{գm%BdU#xXf\`dF$Hۏ\W-I1H L%<ڒwI4N{<įg̠搸Fv_xlVְ|j~_ 5c {֕@8v:cѥ#FbI&u +>۝446QNfoA޳UueI; 3k:*NZk _֎S1 ѰB޾"]D2rX\ ԟaEZْ}2b8 %!6 q9 m(QD.fN"T_d+dYLE ƍ'}ڦrViέo>0!;KͭT4pXu?zQ4k!̦9ܬWqoߚɚlq ܩа|DŴXNpiٓT%"Ss}9Ҟ (2ͯ2( mVHX[cޚQRBÅ@HΦ6zNT)yZJ!8K:ȅn-gȬFr ު2T Ŧ͛BLDdQ.~tS\Ǘ퓱qɋTf\%D#cR(xLa$.:{ht&=!{MJ. =~} ĭ'zW*L3BmQmUC6PqA}K&]sɗ͝MomEf`WSyΞ2n Xpʧ8ա{DU.Ԁ}:ddY-`W܀*~icIV 0:"'s*RQ)+H纟IBx,F@?(6w3鸛WhERp4;mVCPWvYI|oRZ M$$(&HsCbb:#֏ @ucJ/k1`ѻ-|"zCg/p[ )d $9:Z_ZIK`#M6ϵk$i9ޡL)yiŔچocztwx uMp*Fp=*i$V[m1%/%\^TV |CA5ew}y5i"[fY!i" ڝ\.d]#$1>LɬH.|@prt;R#/]. el}N1+^wɔ{1L}jT&a `p] w5(dtL\)?^q/@>lG\w<#9ΟADDY.8AI8;КtH2T8VlֶE[n[G]FLqגk7%tfg7ûQ# N J``3ߝgҟD[4R/:\Z!4`DYw^.c%|`@?xBjKJYc {fG:<VܨK =y84x3k >,jѦUui]m$mAy"i*!r0{T]۰ U/`"TYWs(f1DڟiWo,XC@#$*|e02(RŽ=>xf%/aYcFuGZB_ü`[%'_qIFco&\vy#aG1#%'Stf7h][o(ecQ+H"dQ>}))u!K2H7;Sl"HV`$H9oޜhsjPV*l{KYl {ⱜIUZqmsO-c!p63iIeLڝFWx'Tk{YNH3H' s"?)v8US5tG!1An<,g43$a) I7YůZ=); "й9F|U)SI)$vmlߪhzM\7 X܎3G?:e{xX?pn(̴.NЮ!+[*rFkXQV>sI82;Q񯊲d>Um#~1%6\! KH>~Z.M VX L@-$5$0E)6@$VyqG% U1g3osd|(Ssn3E Zs(}O,qj#oATɄeҔ3IF5]^A77G-İ6C0 SȷG3Gyap4];`euzq餏Er@\8aj?oZV=?I1X/g` 1ö{P`xFegLX >]yMNZxr$#VK/ )-W23XLgzSW+0eG+g9IL0Oz2RiC !DH`r26ph 9!ՄmjZ"*E% 2wn_JI-ƭyUTh [I*J0#V0)e`pM9UMY2Uwz$qhl7"(FDbs4vWr=*ypڨmlҮHl@wQBB;V}r 4c}P).1hw*dqUptH&&[j]:92,JNJdMѕj 3 E!4C(oLKI*nFE4 cVױ[00;I1^m`:yl&-5V"p,Fx*NGTՙ#EagI:R7@9Yl x^/vc8 zb "inZ4Y -_o&Tex!PϠrFƱmRJHa#N>im4WkuwֲLC&14{Σs"FNe/ 9;z})40oL끠(!@ %Hv!$#C*Uʃc~&ZaTZ)ۉxpe*H֤?Qcc-r@55Y9? -K##p~@RaKͫ97Q_0;|>Uob.2!c!:Sl`T$5JQO?AƟҝJ^2@dݔ 8vFO4e|GN0N1RLJ{~oւX:/3 8zjwI< /,TmKl2 9#mDl)?)w؁R9 󷷥 ڢ HhYgcMi;J'LSZ&:7lAL`%3,YH?zu;Nwo,Y%8 x~2fBy@_RO:"A%1$o|Yl}"/+2xE]@IjĞUT(W ao8 #46OT);o"t FpwUmHylTlޕm$nFzJ:J.PtF9Cէ[V<2)C(nvǵWwDI}aKY_X^7RBJa 3OTZ:׺U x[g]`dzepC)7i-jCP#>Ǎǒi('LI\R_9#>.shŭ%*:';sSS%#_Ymw؏۽`CeM1T͍lUsOӉaE$@ Nbs$qsp, ǧSJ^գxSᬹ2[L=* +d6O }5$9"ܑM4UZѥŻMH_ )sۚ GV*0Hb8:\< qNmQELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmPhotoshop 3.08BIMUXMP://ns.adobe.com/xap/1.0/ 5 C   C  O!1AQ"aq2 #BR3br$C%c 5Ss4'D H !1AQ"aq2#B3Rb$Cr45S%DU ?ٸH@9@zGʗIre%K[c-wJmNs8I;hHw7_sFEب}CI *sd]9w&g'A%AQ$!L'9I 嶷ϥ= 8% i܀rcxJ"N)^ t!)oKhP_Qv۟Dzޔ u. $?a0֛X.Ckk^ӋMBkur NR k:\I.rҖZpe(oQʒS{kKF{Hq*JB3kp>`(r0 hqo찚N!Z-kU#o_IZk4wTYqjL-׹ 6-!r|;h1hʳNEpYO{ /x!dA*%$_Sh܉FYeRH̓̏kGTtZk'mT?,t!jt6$Y6LJku"Sȱd]R@Q;^%g`K R5 ^7 %jSiHlxqei^Ue{)I oxoj:{AnZHjyBtts^i1xQ(R$k~qXIWjg[Ӝ0ؑL,J PZ$_mMKX RBkhnl;YV$<EnNVAQ02 I#[lY)F`o:-bA0P./X[$RXJYYTEG$ <(̧WS8%iTTia4sG$ݫc++-,i(J,t$.^m!^%iM$X)m(' Egʆ(ۘ˻q/*ڞ6RؚKN=*TRY 'h}]eizv 8@J>0O1S+l#%!`j q#Ӂ˩$X {8T$y[rڃ} rnpZm0x%&#zyΎ`nW;ZǗ#HXA㞑R2kb)l kw[ Y_Ƣׅ9aF`RNl?8Geid N}Ys!+&k!u3Ĩ\s畣 l"pSJUפ!)tHjN9ĩ[EjA6XnAh>z%6JBbn-8e6-%@̕!LXi}a>ЧH>-б`]@lyo۰bPjR'cFaݔrFqubJH9Ah6XR2ROpZ̡_# R 9n,@kXVҔ a~g=I\fϐ-(ܕH kC윘efx|&>#At0\b2DdE6H'`9A\-n"; 4Ll-$qOmTFQʕAa%DF-nMZٔIu/RUb4mӮ"Q)nVu=?8m$˼WPΜx0 s#vu+ε؜OxH.PIPG7ƚ+Y':蜤Gt$riS*JJ.H6[ȤKYXAl}-}4YNj̽bnԒ%mEb jNR֊[rYY$HJRR :ӮI`XM˛6>Tu؂L ͔**Q:hsmgS{Y t M2֚]J4Y!;u㑺B*i'&wd+XReS}/3lo ɖnqyy;d%)]Rn[c/uRԅ+ARu:]){&];x%8ڤ͔]Q~5wJ K&@B,`vp\9r:Fdz *Q Y HikF9,ԔY_7_? .kAnl,m C ā`HM{R;d)j+95e1m!!c')rIFYsnQD'RRIJߔ<$ Si6J.CrVN(QMo 6u6Yw2U, cd^Ё-_,OʾR>2k[KwXMM/nK䔩p~Vߔne`w_D\t'15J6w( meNzDt*0LŸu4&% r{# &^B{/:ߘ06RUXOh) ʍu$)B| H6*:*Kl^xQ!f^ [-K%L($Dm^bI*)$L+^Ч2,] kqޓkqۏ_*H)ƹ$ra@* ˔j6;<'I*xA p)'rv>pbSfʊ-X#HM)VA$`mShIR%fs2us7%vt*Бi'l3E] _)Zf.Bl:t,kO)C3jQV r:MLdVHC.oKq}> ZBI)+!i,B@U~Ӣ$nI"muZB7["I$c~JhZYKJoCi[;2h}!Sk)C.%G]@Z)ѕ#oUkYv:]E^?8!)咐5ɽkD8܉Mpd1eY)IAyX}ji) V` z`"k 3uXz_nIxnq+NeܻI$[쑬Z4n!Ὤ?"2ffD8KZɼulgUgi {c$ex'3:.R3d ?p+Ly?U"vOo tt{Cm[NT*wg Rn/8%@!+m}>L ]S k]X'2ܓ=U bP"=?{hGNcLIùRlfpYrm"Ԇ3N6䫩*Q*z= =ifMRm&":{yRT()wX%<*tpE /fҫ^܆vMhm?]~|Gd/i}-Hbt,w7PaHm\Z{)A%&hUt-+"_t4v Z>ÉlnZ~\i"\V\2הD 6n QK\t+a*#!Uh=vDශ˲)Pfzj7so%tZ҄:>+D:mYKstDVo3).,=7#\ GDza)$FOAcoqO'C]R2S:z} |$JyFH)Qyu &ӎoJR,5܏1-D0t4HRUn R/3+,5fJ.\Ԁa 쇦R J6dY2VSsmnyã ( +S.+5k|]5^Vu<ᶸkuA @6H@$뷮 +D0 Ԣ6:[amm n!zD ~@}|F4 -Gś|Ǟ4G,)𖰕X%&B[ۿ $ll < ]FMH@RtE$mpST#oCBK)LN-<)j#$`W-'6e(skQdV{N-BHȠ.-,Q:xC[spO?mKElT J0V@:\sqHX%B R P|-V4+M6íaqZ pr,//?1Z@ אMiA>Cq'H$o lv *.MB1IpB}4뽾pLm$de xM -&*/\\jG+򍖒E좝rh{,/P̘ut)m  $>-EDtm&0CwR $ۗ#;q`iܨXx:'1Gj>fhd ˝SbNK9®/6VP"q9Ne-dumkA(Ik|;Szٵ%@sxFDz[#$7:oFiFPbu9er(CkR IH" ʂ[aH i8 %Do>+\dI15#y- JԦ$G&J[AI>&ŵzV5`Aq鹹_jF jl!YoV;E8e1Wʐh]( jO_ΗCiʗFeBH0KC-J0CRSxmBxyčJ| K32L'*Wtcj8HU7y@$<֘R4̥VuJ ܋(ϰ{SR-xH'_!63ti.$$~t:> RlN 6IH^RRRX»V&f)7JFclml&F*)UsJ dtUk- (lx܃6+e܁[ ֹ[Y3龷5;T`f7:Zq-qB4+C  iǔNᑎ-(<̀%aw4,eow^R)KM&%0˳[mnMS/-#IJFf$Fc)u*+*ISM6}NNԹc; G G#j5ݎu34ym;)$! HG(4 1Mcl}ԋ&i8X4-+JZ@$[!ԞlհOm[xl=hwY-iYY B ="l~Ҟd&̠{9Rg]pmohBש)eJ]W<2KZ-ݫ{sГN JPTS 67IHfH@6\VxRI =,-qj^G$9"6K@BE5!δ˄$9f kM$,!kVX9BFHT5lbJTIP6$V0Tiv̻ϔȠ4^xEFS{(AЄ7#}"J2ZQt7r}v#Qmmn!ktwа_8|#"R}~1==I ZB =5\WBףqenm^ߑG3du!Nl#P4%mIޒdMB>#bZܕ*D' 7&-s<_i?8wҚ)Z=u$ M~p7h\;[/">Q;a}'4%AnÚ~M;#ESFǘ= i*JMƞmCy,}H%H( nw4ZIZi^eQ@ozhI%I&H764 81FGmnefe6i81%$$Axuwy`('0BR9l#,*3w#\y\$'Vrk}$ APpߺnF,[)#Tcay'²/6Mխw#Á[=֫0F $ a/nV`4cӤR|*՛\{8@Q9,b7244"F8a̭eT%H ]a+nۅ,0;P\Γt;-{& &ʖG'59'6ԸHEpu<*f&edBci٬laQr{~'45K5mEQ@((mS P8M \Rh*~Rx5= < MG[_i@kXui 5`\RɒRMM&C AͨCع̨*Rir%CuڨOى6dݖt+w= GMЉQ`p56msHFRc ?'o%a Y:}`?oOEk)f#lbOlOc T֭ =b"Z#Q ~(?‘R{A¬r,}3[H2}L8}Q|axޤٽFSc>iCn~ :qZPAi4w9ƾqбk QV@q|wYg)')--VԦiVÞ"噿Žddm_ais nTЛD?þhVRw[jzGKا Ua gCtW\eUPm T莊'i[H=[|{pWrҔ&AފQg~+݌xN31"uSz(պ%J T&ۚ6)k*O/4(T/vtDX{}ҿr) <tI4r'HxC#KOf.?rḋ;i2( h/p"д cnCmykQ]KH{rLWP~-v9ؚbĆqVڔZsk7bK cM@revesz") 8¥giT TʹhO2ۖ#/| UF6f46'7/蘊yC95]Ѱqe*m%YZߜW O;8wpi55eKp[Q;voCZMJ3eJHRwD#,yhT65ľGX 0eTc(r? j*=8Y[1O~WTj~2=TP%LJgt<|Yt|/iSJY}Zp/?RzUME9IqKlB["QlJԞ1z*:a Lc-Ԟno'Oh=ѧ}~Ϝ 'Ľ,?,Uns/!]iEO$DLM*"~-zhO!60L *O";m&#P^;ƎǙN\)WFZPֆd}/ؤ7Jq :51 #Gc8? _;11u#4-:w]RKٝpR Yij?IVr6bmʧ(+Jeil)'sp:bxN0m1=@3dQJIJ阽 G-V_/gܢ}oGtxi}JR/]mĺZLZ^ܼ:㣍~5WǥnXSsͦ l*-1LIp'sE62\(K5|%[ ٍ;S&B_X3`-V߱EGnB}e39_mGDcxǍ*9K8q%"AmIgu pRb:x(:Jw2O&B-:?fl/&ˎ(jQoXѴ3fߺ +Pd T?gqm)UZ{@SYr>vNYc~ʇ={tԸ%a'FҲ/9wxɎgiV~ )kgpOed&IsܿxyBLM4uK rEk'ea$)f簎v_VyhmZ/~X#kAKf{ OʒpBk7DLL܄HlV]BlM^zB)drJ4z|v BT _‹VR=I򄕧LjDz_ m*ͭ"ĕA,Yjba'b;>-;m ]Těy"3FaxD2*m(ȓ}M\,XKnRh/sil _8DU DeKwI&#QJ^a^u#2c{xU`s+K`fDXotJjגT,uosL͋HVeE Fb/!lzN2kV3/_ypO0'mN;+p^B\ZR2xSBSa%jE%@(FߖB$ҽ:.kU., 6ΟKa_>ReVE0aފ҂.lT:5▄v$e:eG%AWPeV֫[R7̐D9#A-u)* I @*Xw%ooFl篵8h;k4yJ &$[#vKHmK(Qj}`FJCZH(N+l?-'f҂Nce/a_Anɷ'I`IR6̠n46A.Fd#{ 51$դ)AJŎHS8XJ6ro,ҧԟN@Kbee(KZ$bDYq7@II)Z S*&&6Q0; pSb yH$[ML);BҥI9%m)mbm<1@2&U'p]OW34쏇AP Ӗ!WJ*IAC~9_2-Dzm Z֛f`-Ӝ3$ ^4}Fi,^%JH>BvN-9,*XЎ EԷd[ VPha,XqED2L?_ch4)x3wb(QT \Zi37t4*ZqsO8B06i,M0ecH[)(MK63[XL8<T g&ƁHu7:D y?!0[Neq ͩVUQd_'K] Kq Qn?N%V SWPL $ڀٮ`ьͿ ; h6Vn?›R.pWq׈R2(k$$-R/(3hkw nkGtXDJIqF^H-S]`Yq_O4~>ٴn KW. V8݌* #ĉy9K$D^_HHWDE;c xo"@njRd8jI8H}S}A/L+.(=)`OK_S?r,ck슩xs時qњAΑͲRd}/ CSP/&ƋsHMhTrhxi e[aj#ͩ4zNj9E}[m9k$Vx{-Z%9.W잕ײLd:2D,{F+s`luG 7*vl{f܍n2Ҕ\f YhP*DKan|UoC>=[ IV0sdxoHioIKHqDTcMElRc<O@“pwHK|qI 3kwWGzLIXzJ%%ĭE4se+KyaxgOm ޽Ճ \N2/o%0nRe9t]-DK"xM2la+ʹ[)R<11[tYWA8 jZS H={J`3rk\O-z&4R?567Kw3賞@@)a%*żXøQ LFuO&B HjMuZT4c$Aj? y 'W58|?rUjZVeܯ@9߈q>oϪ~ tITH="T:r;cԤ 6Қj2 `қ9@Rjd;6֞n2JR; &?k'$ajQLN)̩ )(D 9<=cȯ4”!Q2* Q-;##K~α(ir5fdjf뉻il0ok<  w]*BHs5SmjXAV`?m)m /6$<0~>y2cV 2z0H)cd˺HIMo6Rd f?t)=⢣NNhA`GGFK9Tzc7&\ƣ9۴Rn@ؠleFwuLO kk'#1]~ 3;OoMRx9~e425Gicʳqa`]'[-)#5璦T]<3 YO4RCe (BAVѤMg(%&$`<Ȍ*;I-)G8\!J;hOH}E\r%Duާؼ iH sRn[JJ shPWNSu v_(SBNeRm[ RQ󛬨@f齮ux66L ƓZZ QZkmm縄Lݐy*bOJTXi|THr4݃rMw*?)$ XROV#(1(&mEd'9[[D,Kg-w![܍b $Nlk~_;Fҕ:A_zW5l%uLk> XZedlj,ˬ7|pnlu)аqCNeHe)*JRGK@R@Q 40)l U&c6bdIXt]|" s+FCC%'6+P(RBl}aN^MS ԋ-m.wE&\7Z՜NIû8IX)%Des muIR><>dWIZAНλ~)n3"}[L2% B=oRk*,`81YRrI:u,vD^.U<4lț2X5SmRҜB o!Zt%I6*iл@RH==9ltf]$hk}Zma+ Fm e I`54ksifٖn%i~;VȚ+KԜ ++>KdXN[P\NYRuTtd3;^/5Of]hA} _0;E K "}@0UJ,M IҺu7Um)Da4iKRG4$gL4TsHӥRU.MWՠ#dm:Inzn)H$%J@01!-)sNa1eN*LRiv#naeDIὪ~P%}d.嵺"ԝ/kwRnkSj/IY\!9Ic>_$d]JR_etsF42tI*^JGzptF3Kǒ^jLVP@4j{ 6 UȃHsV+=TIT[P+سv8QGK;A{Dvks+ƘFhJY\Qu۔Qޘc &V}/Y2*Uh. I'c2ܟi쨐%s%7ol %erRi̭u!)0 }`aR!%VF01-=o - !_/X[nS4n(֐.ډ M,& ǐVFO)UwhbI2|ZVs'_O d[t9#xTF.Tzwu %J*[q}]9qik.}Hib~^#;+½۸1zuЁ7?YlF4{Uvu~t}^bXx/ T1U2pcX߷c?6o/w],pMVc`?'Ll(ʥhl "&wPe`еLq<BCx; 6 I ++pa`c"p/f*^nbkL!)vPrgeω}Z[f;^АQ28\9N#`~pc JAuA 8UUdҩ_.B=e$a*T](%Vݳ"ʰGE1ө[ 6Z+H>[9:wZ3!C{Z[[q57I)^THSNHyĶsQ5(L\pPeBdX.GC􍱄;(Qr{2 !A8RT zZ d]y*)lVrAV\־͉aDx~KJ%V_ ܡ!R^aYΣlOBHشmJs jQuF|Ԁ?ZD$_)wQNKZ1i~X{DU:a9BTl}:m6H8(.I6ryȞ?myn[8Sh wj[%)q((wRKAB'B޲sc%ma†<y\ZWɿ?yD+)lxBUI)mGpGyG kpif$lp RHInmuei-mn0M-9һQefHs)'& EZ_zCŢJKC›k\?K@fV qMRiϔ斔.2- sZ`Py[/%edPi;?(% +RJRn5518,IHPP:>ťSdR|K6J֥d_0+@ )Yuk  ¢$MhakZ[BJT߬*9wY鄩#*A{þ[KaOwlV6.vKkd}]lӱNЍy,MԫDc4M 5U44լ6g&s'aqhH+`4\CﰠPoM+Nsh/` t'<4ʔh33%n4/Q K @S:J@S*HӴm1T#C) ih~!"$ja 6)vyD&\Ug؝U*˪{HjdMc{B[UA$_cx:8m0S2&䏤Yt,'xNm^U-`;N#K55E|NSr k$p$˼Q@V$zfJ3679H&Qn7:wzBX27w&^m92sٍʝJ~QZ N2#8$g.4j BD{2 XZ/r3&Vq ?\EH ޯ67#ViI h@@*){E5eQYu̺wfP܏^pQ6W hbu[-L{\X X1( "hLns)![2BdWQuW;}:<9IUJ*(C2G{(lL.6tso WU1I<opy~;~H2S2؁(JܥZ89ze*CH[rѳg+ssSa$~6`u V(Βδq|/Vk>4yPw& oO8[l[P(Qm!@{xg"r~k&[ggPĸX}' p A "CNyi8&b ץfDRm7܎Zpsdc"*?Ug&#5 TضFmЛ2fX>czOOn!W=4@N#O e$"l,eפ8LX;2Ifkms^}&{F5W=~QKjwŠ(&UԧI\ͨ{Rێ%S:y*9_Q#i'rfM᩵uyjs)ZEg3Q}TxoKKu0̒"$eѢ!춿_.P@W-nP+Y~Y;Q!SϨ[IOAiKNef+UBy^ySy5Uʯ}m.Yؕ0} ou}ByJB'_r@W8}ӁoX|P4κm :H7&f![G%!}YMRNYXY';$v] ص8/R}E\OCn4Ld@+s1AR *h#2Q7+&5p3;k9Sms|nVmId=g,A@>Ͽ4G{fxY3FNTP'9&u?ǀ j[IH[22V _^rw)Nk.ᚻRa`h!=r TeMX oA%[;2*BC2k5J<$x|; )bB%FR؟A.(#b7NxOZy C풛 j"kGqEMd揍iM HO&\+Q,- .@u~qB8ƌ<jtCFi)Nm Bʯ;"*E "*!Ǜ&dX>XG? c THL.r$A79F![&km)nӯ9(ry˶$mk@0OJוp7:_Q'Yܙ-` /P6K%%rl m-1PAP$$6RzĤ{썎$9SCZPw{\D1ҖÉGU:RF˱)֬]]%+ [$WMh28HSX(_NJRTŌnoAD٢hēbI6Z?ÎYh٢!)$m~ZA JI#lS}D:0PcJ|d^60! V}5 ӗ ;(ԫ /e 7% ܋ :(zhH[S:1l/( 9w Q,Qw C{p"9\̌ݣ6ʇTo(2{eJSl5b7NdmY@R@,fթ|X c m[ H!:[ob wR Vݴ lIU}5o16knP‚7ʛv%i$Ҡ%@_c4_6* ͖:CP0;2S(eAtЗ _v{%*uo>"ֻrooaDRSaiHNo_Mo4R)%*P6 Xo/x@qbZڿb5*{Am'EJs;l=@Xu{t_ j VwKֵEFx[xmiRA7H{V8CvH^WI_HI)@RT#!+/)߮kw[ PB@]Ӌ* AU$r/p,Vl56oO VlFaFɤ*_ ĄoSNoe*HH (R7|Zw)_vj :BBJB)%\x&䛝GXl{8]Аnn-iokkk<[,-u~r-^$n5; FBP`Kr>FOf`'limoIdRތ#|iahnWֲTƒi`YIIHHUK], 0MSze"׶C, Loү3M1(PO6!EH {\|ofQ ! 6c0)%M*JP7"_H~(`Znm[Z ,vEdͶQX_xؕGԲljRJΑmPd+&ju)}3Yoʤ1{_m%rlH+wSlcc\y `ISNSs16O}N7lt{(; ?uN-ˆѡZXV8`qŸyOiyw6jvSQExR/Qs}CWwj N4,Uil|Hۢ p פ]22AN9⑷I湥Q|Yٰ112URIsEL_h}T=+xXl$^b]Ge_ č(]&$#T;yG%Mm%e_&UM.\ ӝ-h+pFl ;*L0(6 IFf"iF T vX(< %Hj+L.xPHi2Yk}L+XTEOf9VM@R%< h!JаQĠ8(g;Y޲R'B-{M[wQ.3VۘRB57fkk~)*=MNꙹMsSPMb3.\m刁 Uc+y@JMV鞭3۱PļZqf_icU);)ytuD 26T ))'l| -}s6N[>Ahh>PJ})ƾ-"(ⲣZM'F@~A6:t35W m)iI H9EņbR&&GsU4թDZ̭u&V|n:l)R6M%0hQMMBug[|Mpi,Zڜ)$庆su(Li뭑%$&Y,6㍙XR:X}MTustK~5NNPqYDhm{yDgi.H+ԥ6"tJ`1DsgQqZHA࣪ [:{d<;.ڡ3h++CD-Yt!@XHeZ@!P)pp|()V$J(h94wZrON$?[S:!>e[}EEqmcm"ǥTò;Kq/Oo<{7kxIZTRHAf?/g%mm+t)Io]Y[ad.3[4ڱ/;̶A  +A'D.DchX$jHIn_nr;TZZ&$j)bNPIM5GK.[K$n;ئblNk=i;*`aW$:efNq@IRG^$oLRʑu(܁Q?HAmR (_'šh-brmRxoK[aq5bvgPh:KRB 6 t$ q6I$r(-j6>S(د6$ *R[HZQXRV✣Ri{EjrFJ3)R2@%YJR$wVNRK)qk{p̒x L`ާC߯yBӛKb@ &, ϧH`4BJQ7 !U V%M8]a4oE]Q7H-O *COŬxQe.zBMEe4X}.u-fJ;p:y}JMʬ`[fI@e4} `6aIlfЍ0*-dTf'1{ģI%r?JX-63o!x8} )cQ-n95Nq))GCnp=U! ֱqR͸Kd8&GZϕ33s2嬩u[; {r`E NaJ}Izd`p'nfc^LU4ǥ.IEԦ]lp8~wsVe$2R͓rzLIXm*f!N-HK:4~j2'1 m;)'d[K1NpnP inSn0d; !Ri`̭n@3򈹙hWr^LYmb Mu/{@oPl(ysF4VRא J$*Gjĭ$ F W)̈́T[KN,P2؛o$#(w%˶C@O lS ՊϕIdCi?(džwJ]8R+%ZѤq *Wff*u~c䪆>-w &u>-N[QcdMsXvWO7.m]H)7$[jnQHIvYg('Hji2 ĺG;o0}Nu :+baBӂ*/ sfcBB8IO32@%}70rl^%'}R9hUk1:_~q9Oq]c6e]o3eD6J} ]fƶ<҇ UdI4IiUYR}6 J,)a)KN/i10"LfYs*Imi@9P^E*Q˓),5!ReXy/* sNDJ{dn3J:8AYPD!݄txDlbJ@ #tf=(UI!KRoo1RYݵ;ؼ)8AU5{Kܮ"M-Xh'_qܥOOM/箰R)ΥZeqo}}\ )BG7ɁCGZ~O{ĪЭ,oYO,RUHNR%F'/=?$K8VY *X81#+J\JEc<|2 ʆ&1H@Χn:ztQCQRbRZ6R y{AeM*Ʀ9 ,qk\Bn4[D:d-]NP7$O#Y#gsXs# iT,bg҈Z)9 5;7ť+qAQA0Ls*Z\BnJTǼHÄr@S@+mmM$e 7pR ݮ uӥIJ6Vn)=r/5o4d\_󍖊O- MҔ* BHΠt!>]z@ovҲ]k\ky[hL_'9 N@}o>%rܱ8$HЛ-yX+ ȵ6Ƣt;&;7( I-&{+6H#fKjwd(rzh!FSNn/VޗHJBgJFtFh-HRc! 4bFh\,a7r)䨩((b6\.iJox(\FCNA9B5\" 4gUpP&])](@G*K2\&eā]yG<\9VLL튯2u[rE+QN@RDa'8X+bX0y;uILm!.`V7@[k! d&zD,rۭHRn6$dJN$ BMkjKW/Mt"ImcPk-*eaNi3H/8VmyI4l$m!S}į;LbrxmC!&鯗5ke]@Xj<-Xe|΅  6+\ pe)m.^ڋRݤe-b^D/$fʥ)",Fw92 F8i08i4KW/owBse5k+orD MlK(y( H#vR8vysSs Sl\t, Dƅ+'4Y +WYHSrs|(؍N6QhQ6|C;^(.j ATA;Njy -]@$^ $ətn8ԜTi~}^2a $Qrj1I l7eY1 ón̡PXdAf4y  _XVq<-D""LIE4x8 lΗ ~UAgqej/D>^)JiMܦH#] ڕ1,Jmkh7AKA8CWv=Ӏإ\D7Oq4छ:~yd$e "SKţs(2q)4R5ߜr gL1h.=٤Ey@7}b( Akt(XI܍~0[ͩ Uԥ8F' 6n QT%c5ΟMiIRcr[Mo{^A2]Q*qFzH=!7Z6P_ &C򔏅i*S-Ok p6Ӕuy/{kB :l=`FC6}7(U,T3}0c;™65Bx̩ԂA`q<+46S3E5 A˥.{@ҖP"A(SƊv>;SHM.Q}A(~!o.zbֲ0HSM %! d$[.$[Li>˞sj24d7t+Y1KB@CN*M(s|X/uWcl:*6\ 5۬IKc3u^ˎPFNV:q7@x$PULF`)+pkd r(WV %dX=6"<!K%a(q)7`:rc/(Ju /O8Lm--BBK6F܇í!]E_MJqOt)e~ du')l'Bzi^T|DMܓƒ/#\n+J lX#÷#eOr%ZçXԓ$(>g:Ϥ36$mSyG-;.8G[}$Xq!I7V~` kRw}CHcO8(01vNZPԧw)l\YWa`/9vٰq +Q*&R9S9sk 0piYaj f);?pϴVR)BRtx0lT.k S~vZT$)$($6׭)fĔt>6G)mm,#2Ci 'jta !EjJA[d 4JHdﰷ6,'c,J9v=!H*s+^b/ :PvX9.IEe$lgJ[7SoNBRl"ֱ֋bT')6 :Ä[kjKuZR{zt46R1i+'\1!&VbPB]~ qĥ0MX|-jz5&9v12F (Rj Xm!V4: !ʲNn)=ZL%Bm iŷmbD,(Z&_nJ\5b\͔;Z^*'b42V;ҥ^\l(j}\,P.UYB<=?k6MnQ؉6]x 1HIа$l9)HZas*HK)#(mB9nܺAtPazHk=0e /k34킮Bm)5$SjCe)ZR /_jld3b^y Viw?丂N 9h9%&,۩IЃ'ҍ\R @XuIEE ,V_+3Hx4kud5Z+h7#G$ޤ|# v[TܥqĂlfˇ)S7{βGKyϔW};2or0KOlͻ#:EIu [ݠ۸LaȫӥZ«E@i,gʛ%nH(&غ-=D]V ! [x Ĵ.fmSu}iqە)EvM&9-Yq>Q* llmEr :) ܀̺=NG|'Ɖo{M"9+ZmI#[s3NHئ QkA,"7sj%YR5_ `Raa{lGk`e6rAVb$i@ˤm)pѸX4)Y_Ts+v R5濔ZOxNM6)A-mhaZsKswI Q B/x6\+Q )7(N2{O> b:n+yf0M3k, nBz]59Fd>^h0YX[U&uHaX¤OS*7BŹߔUͩۨ9T✶io1H<^ {N=;L^a̺.D#i ?s@1mgeJ[er&3<:},(oN qD+t|#Q.ƟObˋCEĭTu;&Ea2u$MpV}~u0.exKmQ3ҕ%TZJ)ͱ_+ =aىdnzyX!8nzV`;SbLJ7)bXsb!` r:l5-Ay+66tDy]GBe 0ZD'U&!g^ ҕǛڧJ2tyW[O|iXemړ}؎{}cv$P#..md~Pv$`B Z)e77!bMRK[#"r7kߗh[kJҗH ܔ B%i'gTYJMӖik߮=`WHt(bE NKZ٭{clQM6E`M:ڒ ]=9gs@MMMVBwVO4wUtK>l4Q7?/X!쭚s6kZ$kJ*A[XtV;˥(RKJ]JJFcb5".3;dFL]u EZw$hLJ{iXaPK OwpT`IwMAeQA-oEQA*P T:N^~Qε.%g6^ESP˓\ڗ*(@p2,h6iU nU#Bo q6+)K\fPӖ?V@lU)\mKBNRS)N.P;A x7m[)B%>oXpWj(6{Gmxʶ|"܅8& >Gli \u%I=odߕ{/1Yꃆ:t(-6H O)=HynܺmUhg9:702c{=9~ ,9dTnG?! Ӌwtغ FM,[Z} J̑6ЮC$)֪AcD6Sh\RmH]oUk_UrijLmSpA#[]'qBbܛxi)¶6d2se>Vl::*H6X0?r?@#1x~FRS/8W0 xR@nMN= ci) ZjHYZq[3shRA7Bd"&ij.4TJ臘%gt$%KA8ou6Pd\kO2c$ZN$x|tkg'slIX(\ Eįަ 7iս.(EONb6;,$F\FbXck7ӭ:--#O~ЦKޜ5-rk%]J9Nmu'-% BU}1E&JHQ+7AۍRC'`jhmj:_ENƭ&KҲJHi:h5Q?´&ZS'7EO) 4)PS]0P8uG]!RKi9a@gh*iS%Mb ڃEQe==(ar;;B&%yul tEdxD2?XLʠ,{EkC>J6O0ڦ$Á%\.I2n^N]m(uc\&G8+.4߁6 'Qss* )iM)rN۬Cш꜒q#* tཬSۚJ%EhR|"w44&WfN 'pV_+ }ffKKJeӘ[m"i#reY ->g{͹Aʇ{ (aЖOvLr*zi-8whP ^˅;S̤N"flB! ؗur\܃F覿49*B ike֛a#)R yEq]-)W5o/{FpB9Nbtp GXTTyT!CB9Fp,Lm*]JmW]hU-VF} JHӬ.Re<6_hQ1Fe.A!]mzz )XP je~`? ڪxSp4Es>Pl@UgNHVK&9ՀsH\s%I7K7m*>G'8^ݪ]gqː{@m 7W,|zBq*aU24ӒDi4y_/".| 12IJX0< ~v% IRz2P$Blm5 f%F 8eznK9k%Q:^8aܕ7sIPXL-N[n$+pxN~D<]Lc#vmeVjoB7ѦM 4S0b+*HI3D(s'̞SԀBTF۩w NJ,EƉO-c%9fUd]Ʒ:|}yZE aJJP:8R8 14 8 X?]j!)KR\Hoה ;ӑMGt%>nJRНH+ǓtfH!<(q@䧗](R[Ru:AeVpoo#;J$e|VRo9`Ԉ٢/crC Jk"]#M.ٜ)3V)7 i$%<3@23nR/c7Op >|'? ;htcAx䯜TlA{}E?='4P ڊAaq<-z߲:qwikkkiO#3|-߀)R #k{F7Lxړ$!VЍ ? RpK|$.D,a"f8i"cp-th4miRr!4XWCpHqgU:F^{;7umoCin$'CO {mbS(( e) lodmFO(t]I5??Eb@ȓݥ$ܕu&N TS?:jF֛\+ )[ m9H)*=)}II(~q3w*>gZ\7ODM$[ i-N̑, i"WaT}+$=!$B-V0v s]PllGI!*8,bgRsW3$)IإjuAĺZT ,XbNGE8H2Ԗ !!q֗‘&"4$.ܲҖۡj1k;@>xIgsMX&RM-zKNC U9AUG.,BNmM1e_{^QĀnz:EX7E/AːkX \hzJS!$- (X+.8PtèV|<(fb%c)@o.{4W5X"507:Y#hIZ"x)t=8\q\$*6q[%+ߥTHV|=ƃIT;>c̦#r?IJmbq|JT(zHsm4^;2_HmNu ciJ\w%}p\Xqgmw",]9 67,(Q;)*nǫeDZܹ]FFt>ʛfd[ l!#h';&QΜ>M--15Ou/:@ 7~mcd2ԢeS4&pHHI;,/$tVgʒxK ?TғwS/klJePQJp%yi 6&c Snʍ-ImyHԱ_\O^ (TXq6PRH9]6nI-O'p|2}$^aǤ'2}mǣ_^L'Tp:H [o_DjuJSEfHӹBqYd'W2RqU%ޱWD&K`*$ GxFlK=6֨hJLT$%"-}⩙l;.mT36 $)U~e lI&5/[&_x4򐦘T7qVp^e3|" ٷ[FN̾~{1GO '_eg-7=!\̰g?HSnX0~{LǂNx7:˲#3.rTSnM m%@h5ū ʘxS 4 $?()))$ĝmC3.*:/E  @UC,M EQI.DˬRnR#ԫ CkJM{TKKE8UQPJecy\?}K,2*_8j:@Zl%N]9I-\ˍ CI+\چ%, WqVx(NyJ2Du} Iopq)6!!j)#PonP\Jt7jO\T⿧k魡9MHzxƍ=p&[, #jPRR6a-droL{QzԅS؉Gt+DӊtL 7ە'i˖#ӚmL!KN[}~Tu"-DxJIJG;ha "S*Fd҂qkýRT)yT4Ԏ;≡v NJ:Xwid:@hU{ G2'A3{J_RSqm $3+Tvww}J9} ,w-TnFN9.{B]^R%@[Ə HWq2Hs@Zk[$(ۈx)F鎳Rv\ɔA!;[AnxynyYUN#ʽQ*CYQx<*NNUe5$/8Om}ʯ*Q_XHWM+Up*b[RR_@9VM+&U򊛨 GM0]Jߧ͸ZIa *╲Hݥ)^4 )" oAJE1HaJlKEz]q)YЪ,wK'2H׮b;paHӲQ jJJbϕ@RKU*!-AId^1a6esc]l!uѿGfi$/`D{70!e[kSNh `-iOzZL<"} I)ϥ.EȘmK=@&$$j 7ŠQN5q^¯K,6>`EWU3nJbrcZiB"iJDwYH$dm$dQҴ_Cb:_,6<υYr67>) H}!d}i:|R[ʌ*rm; H3I,P>P3N|#j>'o@K[ fIkARM:\Z-sqqq/T6A!TrTAcҚnl2+M fl\y{ni+Ayp,:oҔ{!]eJQ 4Kc]Z*g\iJIK{XoNQ4KBAZL8J)P *ʵiZ`b?JijLrVfԣ'}:OpWp:=!p!KjEFH)H$HH+@/y'e.e5HJNEt{F飩7LӸ ɂV]|Xєž8#[8*Kh"ֹ /dfUE ZA7Q7A0 u))M@o`[-!Ďj91.Iq/[+harӮs*;5@*dPmmvW:vSYk;xƦČ0вƓ{P#*}3/H37UaˊKN>I4 ,xE)5Dn`%j*ԑ~[TKS{(.~{3WK jy]r"CKZʀue 7}544qC[2H-)Ju>wP V ,+>i% %mxg]γcp~PDy 1JƵ8`>+Rŵ%ٌ+ɔ[SMԁ؄+` :HZցkXN%H'Np&fP )Ue ^ %KǒR)SčonkyC`l_ēXq*gr s3kMj꘧ +)(a"6Ԕ(XUI'_@l K'Ϝ.,%*t %K뮚sHI$ szO/X[ ).;&H[C`qgsJ'RY: \N†;?i!N4G=,EϠumԐf_o@^ȐnB5d.e Px-DTG'pqAPҺ)]^ٵDuA*moP z;&M~gJ3qmb03&–uƉ)z ArpQAJV^?H> ,!T߄*R3>^q+ ԅ5$cEaznQZ%f l.d'μT%+C̮\fpS/pVNzO\PS8q976%IڍmRP% m*Ɩe{fl-OX{;O)~QHS-a[?TNeIAbɧ£#wr1j uQ9+T4Gβ%M*3dh$mmבA a-;&6$%Y!ABXw( l(E&CVT(&.;IyPڎ(2>\C՝&1\yC8+HvR7)"9uiMn^9G+Bky NCmRC4.=f^XiؤVrJ!Yms`)`w{CB6p^T I&¼'u)!Dc]5;3r]O1LފYŞQB5R23o*k? 4QIveNk] %DۈL)~I9 36-*Τ'p@Pjh;iT6n7ӑX(f #vv Eّ ѵ-mh mL*h#KcjH jc|4e&] R7Iˇ 'X`$̲lIcDY%m7.T>4W`Õm1Kl}kB ߤlV6Q'!sR5M?̍L`wJM>3cRctއ wH+ >C!>dְkW dRU`RIs}cLwfULyhUA?$\*™c8(ͽQHZJ. )p$$֑8!€MGD$;C<_dOA8,A g².Le(uy ?U 1)a7/=?:W ݕLYG;ݑKmu(S4'3rMY9P.,H,:]ii/ n鄕jaI߄{ MK&K2&=ҳ?C/I|Rj 2}-} C?Ӛ@[J\.qAA(\H1WۥŠ3*mĸӚ@XԴ9`Zv]N*+%9BOTsvCfW_ʌ1"rGhoE6yWJLwxADv\=RXLnRC`~_) 8)D-! DLosJ>+B|-hdnZZAC.ˤ>|:6D8%]ZЛ6u -eYSonp쓹†m bW+w:X <Q- 縏RRT t`NC~K!)Mu͍ɓll?RĜ]4AD3$I?XNvk}2_TJl l. ej"PSIF3 %&HcTC5ɔM Xi3M PbĐBCTDvX@ ^t)Ksyd~鯩iT3Nf]%u17`&m OSS+KT U8u(m/pٔ2]^W7kGYVgC.Փ{Mͯ&~VV![O@9(W0/R8IkĬRk 3 ,5-oocIAI{&V{ Na d$Өheidf)Q&? Ң,a4!jCKbem%9I͚CHƆZdݠUfˡ6;t6qLB` >w0z{o"V)G,at~VMO +:/yKlwxyDSj>!;R09KjNCPQh:Sf0%fTG5{&M4&\x&lıJuKs fï{I,MYԫ{'/>__8M,s.SԏipKtc5ND({yhw' r|mD2%j _:r`J嫪l]kRXyJ0XE4@RIrzcHWu2R!+M;VK>)6t}YUVR˭@fM e2ySriDۆf_wlāx:kžبa^- J1A94%4 q q9,$Z?Xz2)bUp5NYhWK`HES~GMB Z\\Z44ױHDx.W2^UV%O̶kǨu6Sܨ=U$\C :^= 1,R1 IU72ZmyMI}JaSwH)*)Z*>P<2wH{{TNyyCEnvGP*a2ӎ=$" Jߋ%Զ ^`|1H~{%N}PJJeA zHAax&Pn@kJBء|)Rv]w~Ԑ[I}blT%HWOWS(,s4D UPrRd\H Z(B eySm8ӤoK +,]n IQ5 䎂U%dT5 TtQqA9i5HPRdh[+l:Cv3bv?L"AēkIHHQ[Cd/Ӣ*SZZ(('UqīHHb yJ Ӧ@)Zu'#=7<Ϧ3_q xv1VbrU R y.fG J~OuB sXu"G"8Iޕ[iJRT ԏDeyJ (X_ya|(SynJAzB(XV!G(*מ&D Q䣩T"4=?vcʧ̮Fh,LhkJ#q'ATT;-5mH Az ;kR|g $_ h(i Va֟q&v9biœppFĘ4ĝ2qT`f2xRzk^#&l|k\h3@%VlIAgnpW( MAqҴ`QQ &7PtHhmpO3i{-A@(bYE5$ ѢʴSy>Q-YT&&1K旀&JTTǬH5n–$8V)*{6k'wB7nukڟļyX鶸w4u $r`hIAV7,S$ dIJ{Xs?B">m'EaH2$|m#$LPlzNDn 6ĹZ2MByb*xH;)Acd=Ye %B w1>B*@@ރSzZ'[bd2I6_֬T6Q: y >JaU^u2N'uyhފ<# kUG<8aXbJ6 yd)::[,yQcNq 9sI5"2vhC}r϶HLҍf%WŬb^`6lls$6@} R֥HYߠ]r%R47:@< vA@J|9lQL4PKHq 9R/ihZfȻ,IX.2=([rs|346.]YTMNr p [Zi6?=+*&\h &UpV6t5Trbi!nԬ[c&wmLpCEK$s=GrE|(,'),kEvg!R,3#oH=hRH:&ۺBjBJ-5xXSHVk@FMt; Z/WYJFAOJmMPV0;ԏ'SJdiԄ|NZƶP-G~H:\ ytn rgee%KşJ (SE :zD^۸NR~a&'[DSoR%ɇh6Җ5˷dUZ#4 ynY-''SBNvԃq[i3!]@SfRSyXyMyOOraq[̅Y)ǡ򁋈6Q/,7!%$'ԍ -TRs{]!!ۥXO8lx Ζ7!J :~K{AwmH 2&$Ķ&I&H\K:HĞs[K}a%JF5r6vR4>8Jl6?ƒqHaʎ!:#DF²hǸʄΫZ*6:Zׯ_HTisˮiy. .&Al7|ȎCn@ FUL;7!C܍!*J %);kY>iJcl8rʑss=cO u=i83Iq7>*4;ˉk *S j[OP>x Y6?}unUq8%љīM|ǫrl,Z-Mom:G8k{MmqL9`ԕXD4 bfMIdV[CCD&ZH˜C̐MLGLSi6H c%emqG00"':QAe9>#3Fǔs,EDMRS, E-)YC?܎wx[J4;]j8ќV$lO84-;ʵh'b0/a*.i2L˥*N]Q%̓s' l`lF골=q_*ˠ}\aFnF=#fZjO2m2<#Brk. Z%/FfBR[H;鮽 GMZG1Ԓ Pu~+Ou-b`BKц̳9\h7'tV-H-IBܝ"ꍮ y vE$V鷤[}0tWmXq”ժ݉)aJ2^u=BͰҬ,[_M#lBJKːNDT;LiTruZp,(mh5+h JfSHw3 L>0Qnq6X. 7۽ŊsF`2G[{ssPxVc1O%Ĥ0s\nCC]MRe k 0Y ѲLl'„)RfeSx ‚6,WAsSl)ƥ_!oG^yU3Ka+P&Q+scv56(L,Nkw"۝!qΒ/[XOzp|C ?L踩ԥʵky[۱S>e)c'1i.R'mz)^t MJ)O!@Ƚ[ۤ&Gx[9ŵlhlYEd6ק1kͥZuJԔ ;f4Ajnmf'e Q&--u{-ʐJ xj3۱Z [۽A'cMp k4{')fڀ*)9 @/cMӸO%uױzA1&AP_(4?DՒ)$~`á0=I f@ @/ZJm*Z s0+@kNB妰MZ$8I#% B%NtCaAe'dڐUkpO˯)n.e9FMf(JMù<qjiԺѱAQM9y,&]erh@H)jp{HM1%UZ{N$>Xs~nP+QfN5^a[[Q+Sŏ".  /f ˯?[L2X ٍW4<2 з +\UZңp9k>W^.;E2ll?U J/8c/I\͒RtmJ]S7;:4-}&MI^^U Z,jE:Y*%⚍;btN|'K%.օ3R&^Frbl:-"sۙrIkM%%)*H=h-ZSjH˛)`PeE:y4M*bѤg{OnM$)@H8%w W4AnSgȳ`DށwE'Ho*:dЫ7Iu^1a2mE^w9$BBQ(~bPƒ͇(!ӆ@-0PBӀV&2W YCcu <9Tun0ɱX쑺 dJ#@ ȐnS Ƨa4V1!-'(sfաa2&`;ʵCIat:#k}1Rq-- h}c)s>%k-l\eS6m?D~DD\ʭG __֮hf'֒%ՓV:pΡ8o |5!ĪeA)N˭kZcd$q,*VxJ_a%'19n鸅k;EZ6IyР~Uv a@yP}sL3;:ue^+ھ;YmlTVMy[k]=ī8 )_qP3yiD*HbFfRbY%)R@(t^'׷g*qDTuRE@oE +=:Y)l~G~-ю9W)XI'Q kX~pe'(=?#vAs &'xХʒ(C&H(nl[PLKdMܨ~ *$u= [ieeU,utC ᯘ)QB)+EBV B"wMSK-#PN7OǷׄ0$ImxR8#n[s)iYk ;_)YU]e*g26A$WEyyŷDcUWM6\ C*F aI+MwyH'+wVmXdž;st}a+\Ԗ}KyKRڍd$y]lTE~'|mm?J4 u )A)JnI.'s0,Y[mts.LCS6\ L`8NbjiRυ vi6RX&aB gs+f^uԸ,e5:Fz` ҇;ĺZsZ\7EFz5:HqmLkȰG7&t{ M4NRs (V{XbLʵ*vz@biJXH ~Q3iª’)t/.Q#nڑbvi̽r$X^(lr CU|5RiK̵ xY SQ`BjT o]3e\%NgE`Ъ]NM+wn* ZIsG#N7{+uLyب69v8$I k4n"4tKK` f\|mqD)JuU6A&C[kCmIHN}illHßh7J_]D >P' [(.!F[X+IChʴ o筀*Oel(Tf)TYIM•a{s>av z`/6DXH66.Z ќB7:}bB LE-IRrM!6`#τ-i&xVmaPZk#6q)ԑ@m%e) mIV 66rIBy|Ԓu?x >-8XN2n(:][L;3D24Y %k}AIͷDBƒ> F="v)l& VSH*mˬ>B>9baT ;huPM+,+%2mHv+N)7&:%PeqU Ք![6HV c%5rቜ5Wu$ ]-rSSӌ->U#mϢ^IW& t3Jmi8fmdUKI*5kzc[AR[JԳ^[uGA?u@x˂'Kl,(W_H]ӣ#h ?X#ݢXIYp2:Q̘Yc#%*]}&ִo`7;U[Q#\ \aR::B{?$('>]?kZCwHS;㥾U|3RYo{1&Ph +e);ȫE(B|I7@M৮+aU+hSɨ/:eiԠ߳Ltg*”9Qc a}m Ud_ͷyU#.F5?˺m-tK(%@-Ť-!<{dAic*__YLqFii ҵvT.L]aSJ%sL#s baT5D,&ڧ%wdp;yQ̑PW.yaet/h%h:CJu[#pC8l3aYߜt / (lK҉a$$(j:Z|Mzy-M5Ytɲl-'0/ e_1epe-8Mķz;Eu Zz| Xv$۲3w)m'YJJ@=zEۡ~%ki*qYln\ ǩ@dv`,w_/9ŧvn˗qsv&"aKkΦ +K!F~SKX.J7YHBf7Iۗs-JBv!s7\*S8cjin0i2V (@jεb}7dQ5酕585JQϜUceswj'+';&\||J*lL "`%Zs3 僖Hʻ|}&s/7)Il$RH9nn[Kqt™*g;Dkv]y|QBq(KI?JF} ?,ug^.`7iN9"* rN,r.x% a%ciIwy{j[:֝EJm':@iA:\q/Ǹ m` 3/Nkba`Q{@.p`  g8Zۚ a07Y67-wv6ʚb0i=ﶱ ZfGV-aKEN(9DX{Թ4*JMP9Y- S!9n,-xbc\Ț>= sZ[ds 5kn~!"IfbC@dFO\=2*uJYQ:mo"D5+fEbb\mTI!Ջ ҌۄV>,U~j0gohS;$Kst%`qN3~֩ ƁN-VJpNOx\†2Ie8}3.*.>"M(j:mE)FbL9ԟd# |*UkeEGYuhuHF_ IԞZ.X!eeֱ.L6CvݵKz""ZͷFzmۈ7& DݦH~ЫhU`5>n-P&Ă/nDo/A-nK&G-vvK^]% \m -ה+@R45.AvIZu7| i?(j[kP rM7[B}m/{.@@WVv^4MJT fUi˖-hu)Se_ "+` oОeӤ6lՄ Qϐ,YJ+:b-6 '&"J/%!d/(QEzQ>H('KjOl2|{oo s$ʌ>M/VrI^[z-KC lA FX۶$>rԀb4~PvKMOmG.kHԛsNF˼2K UQX[R.2?#do.+1H)k[)O{ )a0M!egS.{&#mЩțBC`u<&;YpréhkC8%WzJ8)ibqEۧ[.bZ|vAV nq ߔsަуMpH%TZaGCcnYS TW@罼NM2D6{G@xUVẛr%5|tJυFb:#5)Aqψfz8ĎQch$畨۲|S'RI4o.~0]:B̴2lVBG򹡭UZf9"}o|.J|q ]s:2NiqRtM(cxu7Nf@2$-?N3[ܨɚˢMհDÕ 1jDM)#Nvt/Aީ["ݱOt{SɀR?IC:0:JI7hgL\sH? Ud}O)zY0IONܗ ]`VfZ^05B]YmoE[ާdY#5Nn IMUe\JV[jO+7β}t_K]$a4Z3 Vq^_RwvD0{M<@ U( K)p'5? 2>_eQWe9y1HpZ@bp"oL;%||<^ݖqCrqe12@HBd.SYsh?:]y6KјbqeW=o=wb:0_.Sd$()`Oم|W*yi~㍕ &]EeQifJWp._h3 \nOPO0źM˘ZD6F|v6y`wy|A6#Cq C5 6,!$H C`sCMӍ+>fUYJ;jGrL8Lʪ]i2Rs 4q04-ϴ|Ctk"{T!MZejF|uE_=vV(J;6XP V5v~96T.OhBmm^y Zs7SsgF΍2^N\dgW%WڃS/"YG 99ndSz3}nJ4g7Jnj]ԛZBA1/ Hq ,u Lm r 'WѺTI\&fYY{ⵎ{ #߄*Xp˻ZM;[hi,gOyNML _pQ -`qKiQihf%=+;!Ie@Nckl(E7Up2r p䋥R%Edy*ٽF4sqJMi\"N!p$PO&Ԓۋ $ۮA-ZaZSR p܋42 n\9yV` 6E9/"M&V_QTA $/7vK@@g#%ҒA $e8'4;PmXK;9lkXՂ^,+Q[m9C*'*U')L5> Nc{1|V J} q~$v_-%Y>,ìep-R9y4Uۀh!3,MŴ\ %xT]KY4|H&$Qa9"c!` =5.i t[{i]EMbj)yjyeo]Us^4PNO6 lW5#1孔uiR!a6Q* S{M6XU i(O 2g@tU l)JsKIPWINvV(+iICN!_9|RFS< ѭ?wE!/꾣@9r?v%S9,G2Vx1Q%˝fqE,gu&Vݴ ^#$A ovu^VOlx*%HT̳}-4\Cd?5OB[{jH"'HG!Ў_R\ O116# 9Iģ-ok2R؃a{$RҤsA~\0NWu( ډ66b YI^8 juBg |:fX*6f%¯JyҰic )Ёbsy R}˒hri8ui&,ћX HT/m7Fo[.D},!K҂U(_1}a4d9?Un -5j6F;tHs1t $ipiZ|'rJ`tƤ'd Uw96:FpSZBQd577!-b0 4+}5BX\# 46-fH67/W!'Z\$M>,E%{|$vw)KYnR7ihvN,^z ^ֱ}Nɷ͂ J@i-*⍂QY1]緕?a~VV#J!|)haᝉQR) aRREkoH&6F!w*ZB[|{Crh26Q5d Qxf8kSJԑ4*AMuQYCZ[=m$%IP5Oq.iX4[m(H;(5ߕ)4M˗^u[B|JRg}6l9{hu,%š;ekrϲ\Jᖔ7אͰE/>/鸐9|t3t;j.?RЇS` λM5 wOGW&r??.GfR]n2]-{yA]:8^Y! Sk -H#[]@lέ`Q[Zm$ L~B߬4'reQ%n<<@c6it8 Ev@S4hM>[4B> aEIm)Ru@'i o:m7Q}ݗkPmƊأprZ/g!LYbX' N[]#w;[H}p.JU̺\,K~p6 yL5 H;Ab22n'-Q!ж`Ez仯S$%^N{y3 GoyvTQ\H-+R{µwMKJH߬qnh|epxUR3%Jl5H6rKy-gYمW>"t)TsQKKx6\{0XVʍ!6:ğՐIC\ oCahW%-B(l5}c#AOG 7vۮ'MǕֺev]|j է,FTJUk2m)ZƔEԛ۔نZZHx؊6œ88$1w9WFMǐK7_KKŘEa•v*͟DڤwrͿO޹9;UioJ8*mDicm-V\Z yXhWL.]r,3Lmc&fIiӡ o-v_@Jc8ѺKiMn -IV{Z !jI$$a@(6DUY2 `rBⷴZhbD8u7D$Q;]ĭc8̓mq=U^dlE#(D-HO T۫J83wBO[qX6HuVo aR,&07*3/4.bNH:'-sZb-d*ű1)2 R Mحk~.Sɩ<͑t?,TPh4I64Y` 4l8;(A4^:#9f] g8@lS߄=+R2p NoˤN N5A bGf٘P$X\auPGJym\ os_.u_)JnN]ɇ e9RMK$&vUzjD(3)1ڗr +_|YE:]Iݺ}v)jF\mRy TZaguh9yҊru^+:Oa@ |K=98蚺Jsj+$¸a䔀Pp_Sq5";I(O 075>{FۘDxBl lw*\߭xvPsmK욱}.ZFKxUnm$pJ,RQn] .V/_x°G&!zuɩE(O)Blyt$sԙC}f$lm筢ZU'TuYV[ %md Y¡H{|k%4$wF%WZ.\cq{^lo:E4ϔ6n>Ф4k L6t}'JBŮ$e;-?p-I{$a.[qRҳоX_0=։! GvRms3\-X hH;_ m3K)EJBӒF^kJhKSJJ{Ķ|_o/( ,8(k a b jl0r)Pw:Pt܌E%(͔)FAp*%D 2! Z&&x[ Xiscr<eni싔i6;ٍy#*m䨁bτMeYl3XbhW2KPzbQXB: @P;!ip&_)٭X|dlJ0Q'pĻTPr1 DC {{ eHB-l3mV,Ԙ\m騵]OKũ|F;]*-+oƱu؅vğK;).Tsy2l[2Ͷ ƎwZ˞i)N']8%59zq%bI*R˩jO@'~AMsa /N>%ogHѨ?i>7?UcǦ n͸vk\TUZr9<$9$ Ǧ1~ tvK78gKW_mOPqKƶDž-R6u#2f @?c"c~Aw{nbAG 'D˄dLIaE)rs\},;.!c;cmk\D&6×9/U}chzk A.$Ae漺fґ38\YѴ2W]?:<^7(EK>Jxf$xE9Ԩ_;+NZY_2&׀e{ R;cHawVW>?t 'ĤVr$;l-X6M B\P"Dtύ 21k7iyNhpnpk35@%+v>ƆFu4(?E2?S[m!pɵ{?0;|h9 #5PK ;ľKʹܝ4mt\(f!x%P8uMʢ DSXyo#4*ێ1[Sk)u*>Blew Nd_!7wi )le',ula>PN@C8= 5@=4V si Bfke?d%n78-J$u7üZrEjTcH5XփMµu$=5"ܢ7?Nl)@[=RnrbvUb)MиD~VO|}ZvRҼ1 irAޒ[b'Wu 'UiFʥU&ˬϟF Kn/'X*M4nwyJeO]GO npܣ|oLB.%Fwzf4utDҶ$'* O6wT&ns 7#A $$3K -Rw&_^{M&RGC9}vd{Ÿ5@4Tс\Ӓn& +=ۭntY&fw!3,-#\l{')\[TesPK1=9ڤ;Z{^hڰo%ڊ iDzNphV%ura;oSW)iԩ{o@5*G scN!v.eY'qO_ZHj "FHoF̐CL>ֹXbI'kdAyA^|W)y,NI߯p^eSA Xn};0 IFaj2rC7܎q5׳kɄ1ouLM0\JF^T\ խ7Mhɵ](2R8JV]./OŭUIa,\iNa˥hAq6D^b휧ϋ{\}}?(P_pBIBJQpܟ!󈉧$T5(<6pTIW+ѼTM HLϴy VJTIkq H*!E. H>pQH}zș`%(I\jo߼<2vqr7PNZeA/4)M&Xp$9%Ϳ0Rmv!t6X"Փ.ł䚩>$-k\_m `~|e)d> R #$oBj6 .:ԀUaw*|J){ X `4u$!WT*;iY4-BJJp )72 qMH.kYA$˯ScDJnܛ<V6TmPCaK7G g |nZׅ2edAQ K̃ƈ>SJΟ $-JipS" )k8hiiAIUH{[wamv  96N4NkbA;q~n7JB nj[E0IZ0Bƛ_0uBE5!oD)%#]Q"ۍrefT3^6-<}iBW]!nM=攩FFDI$1`P% (LJP vM-\\ZpE2]epqei8 a!5I P9k\naN,j+Q6#,|!DE ƻ=-emiIH] :-K']jI7w?5th&D# T]|o8!#6z7"~:txEԵ&g!ϒ^J2ĵf`SȜd;8umpE+ yâ/OXéf.L=5"Eyw'h ۛ<N|+IU!ajRn*T3:@튏ɄݪCz;7QBHqD@a'MQ\v\I!/LJ RO!ciȐ7(u]` Wk 8J`B30\ \vl ^L/*MǟmNߌ~׭:n.:G.׾&[ G#u &4| Bv'8%fjDi6ZZHDnvk8{kOR+x$Ԑ%w[S2f+Va‰~%P5YrF[0=_divh8IeYb؟&I.䥡Fڛ 뺌]fQᢇ(bܛRUwo5K閲4q3>\@kS^$| 4uilgCYeN) (\] r!qLkfD} IDVO(i/q'Xs1s,'V6fy7o >_ԓHn=)= !*RǢ0+;J%Օ!a¥5sD-($ 8v,N3(J&Ғ-QRBT t!r؝`w-OrtIƪiʮ y ʒh", Ĺȅcoo@'Vmn0CiP"X)&xN-a &e[ME!~~ʑ!( "Q>#Q~|-s ~(~k)jI)uh~W]NYh(kV "c'aD5)Seck%1S?w^Xh7X;Cvo*X`WMQ5"˗KШci? 1\cbW?h|b8OT.9m.W<õEI9I܍olE6C{lkT%O)bŎ8zo2CiR˜wmTs;w_ꪱ|SˇzHVxy/}q Xh `f0͜܂6rqpw+IIҥr>bS)iY!&#-;)VTX'+Yj(7t9Y5-,ꖰ"e_*WW>xy KJ>TTq)bЫJ$mo_FN7\b+tH’m$nA:r8uI*R=:gef㌴J( Q0} ^mMHhM4C&|,+g.3&V\EDXAK%p:2V%Ryġ)@N(lpЩjcMu&^`to*wծ`AJxVq8Npmޟd!&3bOnJm*lL)&˺8pGČ>FiKb-i aPRP#0"*7 SHW t݀\&;\֥yw: :e:;[@oaKdE8S<~V#5Q.JelKD)Ͼyn8*]J]IE( \Z/”U#ʋK4Iu◙k ܷ&JC#rSTIFFWF-PY٠.U,t:~cU} RHj Yp*NsmnG n°!d$-->nTnF0$yB.L$4 , |MJm~F{{yT<'\9J@:m` `H{`|4UԦT JI`_.klm/2&;E!sl6 Joquo3ѤB }) l3qkBKmϷNPo8ZH& : %M49B/ɈV^f( ,I;#miIN(mQn3 :h)^}yV4RֲO} 7 II93!MѰ7Ane5. - |^ fb.:NAb/㜙_MmO;/jH)Tnn\X^85IxNSKM,O]_$d'~1KEHp=?Ë BBTr <8-۫ߵK2kXhE#{oV!,P qL}qdG>%ÜDzo7k7h*fn֢CJ&ɉtfd1?ed#<5+;BRYJXTEw?$umU!j/ 1õFiJWY b>.:cګ9y j\ʹ%RhDJc3N֏<]Ԫv, M})zrShiz6C3~Uy$AȐ* dRPHХI #+CBzvU.:Y*eղ}cl}@?)\I;I N0wl"_ifPVhuL[\ R;V,Q7[uJrRqI6ᡉ;vWSQuSFe q ajYhp~yyok:+ E콎JcpXQRRƂ`jzw`Q~6P؝K6@Lj #m% ~s_?he>9^KN6*u;o'֟.!YA@!HLէ*2-)yos Å8r_rnܮuJR{ru{pK:['(&}-&&RJUɶ$+dn4:<*;!2O H\} 0QR|&BĔZFT^!/`RH •&+!&m:,lȉpF`K8nvDN11eqJ9R'mGLa8:7F+?M:2,*j)y q%򠤢g,-͏e)Lauƌ48:d$Se\_G]Q3cH}>]Jp\%ӒJrYEY_n-}+\V*{`jSIP-/J+蚄TDNkP 1XgA&Rofzc ?gnԒ@mп_f#Np2)Rm\^$$$i@V:s =8Ħ_cU*Ä)!IR,~ kr1/}xge=S07KLu!VK <Ęƿ~*gkVaN,ne!8|r~hkکZqb+f\?8!J) و:ܓkv'p7vIwT `Hj/UjY^֖ܻ1]Zx:,=EE{}sT^Y`˫SrC ([m_Mud;gpKuΒ5"!u;F;}I>QJO?%,7l嵶Iӵ^v$7_k3Jҳ=H ii(7|mLZ*TY::'z<%gt60yWFjk" OgspʢQg'(Em-w-GGw2c3\<+: r+oc,-i>Cuє ˠ7:&pht^6?ut{S0e@>Z|;U?h|9,ct 3rsxСcedQ+]B5 ᙥRngVE74y[QcAj,纲9QO;"TaM z}M*T;I.Gpptu\^K`д'˦%Kv u }hqjf ¬98]Aw3 Y<śyh OnL}|b==vYeԜ'FK E^wӒ8䊭 <ӚVLng Ɍ/Y,V"LL|9OV4 '-qL$(:G$qֆҴ ZTZjLYCڪMUeI!ն\ۖb2M};% {$8.K6:e{Mʉ9Es7,ا'ԤJ.N8kh6{2#rf\Ըmjҿ!sy 19 y*V`T"ЩeR _H:Y{StouLiT!@P }y"X*LEpt)gOz䧟⻐҃h`PFrqIQcfrBBH̟ۨWwYAثSʔܸSrm/--~oo AMN} A,%S7UpJ[_/2)AgPyS%'*HaXu:iP"f@ ^Vg0pPjy8yKrTWjH=A?z@Oc^!#!%PuJ=Z(.畭Bdkұ<1yQ3 sJm)Tlo3ӕ; ?D:&@EKU .!IJđHP*#*Ow4XK dY>Z|,Jy7/"3zQKOVH(l7R)J[ (o;F<&,ok{{7R8Roj5n1R$$,RM˜S]Qfh$l0QvR_x2l/! 6;T0XQ F@& ;{F 3znW [@*-AO"Gon/VTR HF[CoӸM) K`ċ鲼a4)*R؃ ).AKR0()UM=V)}!zdPPoכ9g;r흊Ԯ uQls) 6bJQpq75+J#CGf1QKt BcθӬ.- vάnF[s?X`EQ(QKjHӥ6Kp|nJA#AaiZu%"&^H۝Z٘)^u1N 0s fyHD$(QI&Pxhcǝ.̸u\@Ӹnl8.:u-NS;?4jKL'tTWֵ4(%sK^q wYƃ&$)ԃ4;셦!zDQ.{w"n'tD]-(fC7 9@EdIu:`;o.ӺH6sД(xA+F'e*8fO`hCӄnkU'KW!"-Uyd]=Nt1?`qkKÐF9R[`Dv:UdiynSL?NN5U'8 ,9B鍊D?<CZ$Q?eNqR^AqF?YIE+A#-ŝ8Aas{vLUh>8KiYܶJU=w9  #K*͊g0 Hү\l_dZq~b{$8!yZN#zU)ˆA%%azi~ȶ{(ץp%ø9J23p&`6WV䬹O+O~>K2Z, xFD},'b)vcOiv%0 ? ԱJ"jrze *+rd%9ZPH${ OįZRc8[DFCl;{) dž֜qyAFc[mLb~$P $z}c3Ks,G_ A [WxۆLT<*B1G8zY|'N[SMVĸYX >^aGmICw o S=Ozļ6Y\eeUmDKiU(El?-k8׌X;ET6hR]q.s_q#cw sfTgmZCpN( ^R KA((BΥ;A 8RovxUkoøM,ӪJw :De=ǥ !JULmn06+[n6_%)Xo/q *Rꑭ>dY<;LZ[@O H G؛&ຝS<#]jZYo+-Fd0ӹ\^1c Ghvrl=k .0d#)GHպOMp5rٺGriWBc<>~i\0t㎥G,E#Sx}Dy遤]aJ15%kIt -u چ3M7B5 j]f>;9T')n#rap#)U5&[o2FyŋIÍwNԀ.pzmɆ =&a7M}c d6Pt^걑#O }XG5YԔIԙK^7Ӥ$42̀G9ݻ~NƗ*kS8M=ӟ 7:TچH[)ÆCh,nP&&Q*=ByfVzX7>0p>_#?`c,2ӕs*—-5w/>^"ܐmM3;&7]в5E) 8 exN"` j4Rd#uOYs@/OL毸QJ*ROH T&,F ֨؛l.(ޗ۬p &+AD[@X-J nWxlz˩:Io{; 'n/߸?Gq>!qFaI ZrmcnmA;r{'Ŝ(%uI|<|}CKS@|qIyTVmS2#t3W';@Ôͱ"¦.JR}FG;GKB"V1myڔʦBU+k6Smb2~pkFԫIv➦$8:局֍M.(DXV#>dq c2#;ZcR⛙NIK߻vrz滜JL<QhMON7QVb=|k;(}JK/䲼fah&U ~l"⚼J:_˱Ki1 ndr E)+DI: m -}So/%9J R9|;Cuù* O-}mO3j%`K>;m3&Y)nI>pCsq:ٽ]T4o:PRt(cFȲPe pros u?MDKXP@wT6ٳlM>pۢ8SXHZc>-)>Ļa 2/k=}:ml KCGU-7؝o#K#slLQCEnkuD !)(e;mzY 2.T##kdRl2֛&*[n.BTЋon\ eJR.nzdNX>JAMtК\ KBl œ!_v`w1rF]Ld-$X_^18ch ~6NBbdHH(3jh<̥){& Km/jY3)>ᅉ&?ӹ?SD䐦!Ib9Cb][1Sa.Kӎ3md)#d}?X5_(riJRnA${mwm`I]|'P^ZyM&g=sqp{B{Fܜ#7OFyGE_!  pv f^Xi&X \|bGreY:ܪ#.NK-G2P:QTx-J*͹,Tv}KSyVJDJ+iNJAHJ|aMȷ!kDh50I* 'K @KO^fs7)Mi2d؝δ64eĺ5P3'ŬB岋E۱N7\fz^vfW|)JNkhtNio3Qu٥l\ovh}, OLjInsPUU2iӖ=cLI~Lђ6 OU%Z~H᳂!;YnQ<2fSJ)6RFXׅ[S˂ )DnYm6MT|LW< Wk^&4>ik_B(_HѸ),ME+?pۛ2 M+?v|5){E(g G2s}r[v'ߵBw6Ċcba)jDgU.%&PӋU$ H9dKJngٵ~ʠ,qs㧷sk^,p釀*r_.=W2d8opHt| gͥ=ŇآiH-̞0\(SN6<*˒۰SN÷s?kxVD<'f&i-Er.^ڔ6C+)Rq6L__z-hP ]a8n#? 4\gn䥟}(cXІ&jq UH4VG"h 6Z7q@v#R: ;vo)2i ;p =-6Jh`{¥x LG 1,:[>pʞ" i]ó!V-q6+lZTnDv*kmqVdY9^ȕ\5sCA-?2Y6_׎i1P2wL e)2 mmh;'?2'vσ'XWsL{TD_ >]@4d() ͵֚5}[f\BHoaD_wXlxM;ef![D/TcWy4dN8)kF:u B'[$mhǯbO2vVW ֥.JIp-fj_9=@Tki'VE&Nr"k8bg 4a(UcH| "`]ώmL\37Hxo+th*eBIyV`z/8\DeH"xQCf<2q aHs1[Ny58! qvKʼn\'ulbalUL( ?:Muу;AN$oO82/NB8loy]<[$4a\w$fz zy7)<5%DԲN~sut§e䣻o }:'keLmC]zr9|ʹ9:v|tA,⿷ K,cǀl0?)TS 橙S2צ[9R|q2$gHdش V2@fY%jq_.=8gRn+SϘ-=?=EI1 bόw-5ziq jwzS5,~9,8U۩ᙌ7x'^E)R bע;~dƍߙzq_N?WC ח}FH><„lg;i߰U.]*n&JJmcD踱_3^*ۿ36lҶ8\̞6tTKV&uM^Y_hx=/;ĸ;/blvMK$ui7'eTP[#^Hr!uL̨\ sK*ϐ)6st[N~ȐzJnW]V)'\_)V=8ç[sIo6{B}TtL~q.373+p[ejterYV ogeO??,-S]Сq"y9(ZA8np5,}IvRK57ZSfBCd3"e3 n&LܽB]ʼtW=pq. qǔ2m{ICihU9oNmq ԭqcnp^/Q##(PXQܮ 2ȗ Mb/RgDmiIPkN^e_B%!:^!32v)7qOqą^"ٍPtVd*V!B-b 8֜)L[J467zD!S,ˮ2,ɦu|oiuں^RTI:붟^)lҙQIR]JJЋ_לsZZsRw1 Y8*Q$dSRËC7Ex{ q>ɜ4/1E8T_q oR#ȍ9s۸*Xqbک "&MnuEG _ +3-j?aWΦokl/8 UuDgԼA5Wuko9fO8 @X ְ$p\=HG蕧3]36N]ӗEKKL,0HԼ:^Nmh6K7!QrMEfUc dm%BvP7-?!;U ?80µ77.UVfշ$]3$e7|( @縂w[#8$KUʭ^Ow_tɝ ;: JH {&(]MNq(QJʮh`)g`;&TPZɾ/,8>'%IĶ%dg Y(-X4g& 'liX30izIJUoϘ(›LO~!d?E\JI+IR:t taO{Qd qY̼Fe)#@:-,ˤ8|(gح)ҲG_Mk.yĖ?KE?yXu2+4@\}):? ~`?ti&\R?J̕I:AÉyqn}3 ܍,zD2/W}ue RND'[ozVi`*r)#H̎^xIKBH(Q]V֌hTj /{ :G(I0͐[XA=}6ZfŴe@'@4>۝ۺIBe:j6PmqHZ)xDYunXPXoai[t(n/ҜҶ#-I6}):G_k6$=,[ڒ&TNPn9KR eoHQ(+A6&vW Iej c◴єMӜ!kbN)Wė*q''R A$x#+9SmK$wOX@d4LA :VԞ^6?(Ha[juMT-!NBېJ;&a|M7dlVy_ itVsJJ̵5!MLNj;z%MT`:yNn[ی3 +} a+uFcceX }ֿQ" +m|0E>O*,L]6uK6=/" P.Em]Ed[j`2N/uX!.8s^̺ .Y/4ʞ)P& gmюߡNSRTܜBꙍ oMBxz/EYAQ Hr׿Qtww+9 HZUnyǦDIW(J`z`0R' Ti;<}t4lu)1j)IΠ8P b}|!HyRz%ݤ-+z[CLmnՀ l`K'()p^(IjI;XeBfuY[$X r;dkD䍰*4ŴUBu[r =K{=t RYJ;R#HMO)"O/ UnpO<ƛDiSZd`h/'fK|dC*6MͮT96BmZsH,At$ߤI'qnPikp!muԘPpMYGs3-i*.<ϔ+t5NZb"=a K_WQ> n/s L>g4eks+-ԤF~< Y6HbNSe!6@yt >XdRkIJ9/1kSxfA^n2n"cWnZ'xq#񴤪SrZ"tJDg-..%7ciY=q.&Ad׊*=_kMO R%QR\_ά0hJmD4ma32v]]yC%u;QO ke8ΣJ!'2,hS OC>2q <̤ v6;_Fb -A_)e1cvPm'Ea]l8*yaح;SXĢʔK8:eoHc:NKoI07iU?ĿPƳ K ]E-<'0O/ȗ;Hr?t]4}?аa<D,"7Y/k[hyZ\ فd0@]F\{F`jE$VxSHJ2;3^:K"77ۤNtOd,WE7:D i?tN:g :Gy/)C׮Qx螑tp q=&,M{-Qxu۞I=jI>_UYiU9?Oh{U.i;*ԩzڊ䓿h 9rMJ(26 z.s;IȎV8Upk[Dmc{roT_\ƥMcQ-L*-;|A!Cnz4Ndigf=4;)+q1Dzuv&܍Ĝ[ 1$Vg!ǚcv]@ ZHug{8I?unt=-呁VҬ~DG6t زil}DRenH&e rvln̶wŚ6Qp ]vM_8Cg`S8Aak'c=GR!}h¼~n>!RZKz"׊,pwvDK{eQ)سA)S,):6Le# eulAWyQeē4ԧ@eh ZU9ìI\ ,J(ۘͧd|4«\Uҳs)b 4~P5%ĎBd|:yEcR҃W 2gy fJJu"^7XbT3vjЃ4ZHY6&N7Pq blfjQ$ht0>NPPa@<[D׸Jtg_gdqj\S(=> W{ ~s{ Ә$I+Nvʹ$>[3tΞqkq\ dz  0Udzmw>4lx8Z'%6g+0 K9Y:6=N!(h ֙[%,l_hC@AdGRX# OͶJRJ%-H+m" ;wL{5Jn [JRP$šJbrr]RͶUd7qQߔEjD9.'`ee&BeM ax1t;C'Te9+NZvZ |8,NB)6xhj[P)ב~D;ƒLdQάUܤxM#!>ۺTm pyɧp.rYĨ\,]]4n jwҾWf&)aE:̭7DxZ]@4CD]&󱷟ޱ ?Jw*\Jl(}͂_V:!V9.!}R2M4_UexZ"qc|)LV%0tI6 ᴏu `+h>>`IY}"[&j5Yp~Cە37Qd (R++ ~? J*c,x}/ nx&LjSZe%=*jʥb/mo Rj:{",/I忩8ޠ\-hG.P )^M 2XIhX1!@!m\))Ȅ.#<"I!дC3Z;TjSf'mVJk댜70}6wPdH@u~N\8LڍSX$!{rZLun`wfA.7du9) WvF-US1Fp$H=Mܐܧ4}ԿESLUӎ&Ō8sh&iN2%dGUo~CQ-_F KjZúI˭tRLr}>d Ԍ\ *_3?0 .T\IeU#pqٕ'kI.uK]KXnQ:bİ WO.g͎iSHG ^0sn̜p0\Un =qߠ?&͎vYaĘ;\$Թ# ΈT)Ѱg'(Ulp2QuiaYs*r-HJ,-V4o+p_7JY‚Ue =O=X+⚄̓3@eD8f gh$y[$&=7Q/ws X ؔ5z'S{0 4ro!$cA`'m`uR]a$<~4^F$ygvL0uT&C$aPU2X5EJ8:|? cbS2:3ʸ{|5TKL*r]oT'MX .)26 q-%wS lO**qPP 7hMƏ#^ {+_IjY2iV>QKPi5JOe.(5$Ect TEm_,Η3UtzL7X3H6V}m4۲ܒB}c|>e͐о킘zaײQ']7)QYC+Kh;r)hoh3k;V0( טaמӘPj_L/+*j7ӧlG*΅eLOPqm A=?ʶM[_4Ohҗ!и/O1>aICQ ?8j]OfO)0qQgؽO,;`P-[)myiTII +|.d׌kO rho뛍'M}2OLWog"b*I?xqQjQ (հ'`aCco16=Ʃ8REZ)܇oy/RHO?@V)>;BenMzr.T\t;,غ>Jf0{LUPM9EcuM8Z%j(Kme ?zX֝ƾU=ٯN*ztrnys(.Z+, 02؞6[9m;^H(ɧc79}M5t.,) Y~jΛ6P<[^ Ի%']/\{#u:Kj ׯH'NR JIөJ3{ kǥ#{݇?Olǔ񲀦  "ǡ(Aoeմɸ-  CwxMs!"R%YA}I~9,P6&un[[ia})e$%PJV%L>$u-uX !D)]SO!#.Zs 3+}A^8te$p?kI)-8E% R.zߕ:AQJf<$RJ$ xo=[6dPg ԃmmm8.wMku4mȍ"FCIt4zskKYuܿFפ[JHSӡ 6Ԩ1ӱahhU9KIS>]#@\p;*mC n7LI;Z,- :9 1vʷKfU}bTa4-X0mzZtc"M0݉R^hE7DWrseaipe%dU?D=M$UqFIW2@۔smGN]f8΀cv֬ 6=pbOX ~Tn2ڮ| ^,gU; oniuq$-{tVc~oGLA]Obf]^!.Rݿz( iuk֟b ~[Z+y?(]/WuU9V3;PyYqnbxQ8{Iy$W&=e(ʚn&FRRu@JWamvMUhWH= RBi+M^ $V)tĬYQ >!quw&ԧa^o{ l,l)U \1!?E]>䢦ֹT*SaH*@J$$؛{mIf&pw@0Tw-NiRtvAmSpn?-nH KR6qE\Ë(ߴ =]MUxKЦm:څARm`kH1JJ M0Դ 'm@59C?T&QMwlax_n!!9QVj{;Z@"fQ cj˳QDֵ ?(6 Qs_sZuDh Iw9{MkjiϮV/5IH)#VDĒz2urzunSpOK)ZnI9W}c{-vaΓacR m; (NہFU_h6ofݩHD2Zvteʎ t\Bo ˮZDlUEZ%EʈP;tNTze>uJ-M^S,?&f IE-f)(>#t%+R_5)tb2,<,~bx{GQE$!  /xT+< ^Yu+ $m:.ꏫ1_ZF]kR#i1/8{sVԊK#,ʍ*3HI0kR J=Z0SBf%ꦹA%h^5=2.C nz>]/ԗgPd0BF CiEN]rsQg6&cݯ=Xfd@>[G]1qEQ&$^0n ۮ'5Bj}4/:&JTAq*E%޾.ڝO&iWmEŎ9VSX h5,9\ >ZXrh4$󎷦Fi*7C3- R?˜ŜIfZaFR}N;.On=զPX\_< î`Cd|1AsۿSIX@mWn7VVp—8\nMVf]:@MGZZYόn4I?DnqdO 7cb^&ɡU\R!aF(?SO]6rW[mO8VN}xMIx^3Oi Y:E[=s hmg`QHh˕mtlp7AY9cM">FZIe&3)IQwjJl.%)X)RJvc,7B:mJ$F?tF4MΔ!I o6]ڄqR]̀:qJSbEܤLE0R )=-c{x]*%39& t-*rF*.AGM3NN4\.%@7\p,nRk]\B"̼HOa#wUKAl8\p .g.r4E~2-K OL?CoZ9ģ1º$[pE'րJpi94n^]k%'q-KZ1.?^?@h+PiMJQ&ç144$7pH?*H:}bkO;:yAHIT6HRA:=)D MJpQdXT4RR@sq]tΊkDc@+_gN f&ⓙ+6&g;G[1!16=N<+ht긊] 38sMgҾ LH $9 kkJ[[.+P $'`qB߲c 6+E;褒A,>BG`6*NPy'M`õxEJ򚖗FDpG|a[s?EtM?ujT.~6TKᮝ14잰k ɖ_\:sh \2ӄ[7ٻmvjFabqDHq3+7~EV%nzSUD*lǑ"|p#ꪓBI9&ʔ_h)*I~m 8@8M#̱*^t 6%3fs#RK9="ၯM`nwNԜ} Ma0SpۢtE>cMʵJ z0g}Vi9e fI{XOøH+/am5YWO4KɶmPRKAf|GpO]'o*K%3/,΍˰ Ć>;c _#Q˒}6\ip QWK-fJZ=o3$ID:) VNu! @JK{! A={.7 իh/4N_d[hNn,b|Fq-{$~YeZz¼>M+BFZ)4fiVvߔx▔]#pZ=u?aH$H\A,`:[]yDM aS&\7qa}> _8 p'^leJ6`p7@w"rʵx# HN XтvKsoFR΁~|xH_!a4ԛ_^Pۣl_*l'v{ ܨ Qd^L>ļ4 j,zpE8% ākdqw$RR_TڒHsM8Ru q%$:80-Ԫ|n/E3̺;ŇN+`eu|)~Un28mTONt&Dƶ1dq*(k'YqGs,jxsE zCyj~|P\}}^#IDղN'5LlHhA@Ȅh<9%Cm dLtC 3*_NNw"Em *̢U6f'L(xu7_ (.zI%^k} wI9eyВ$ XYC7E +2F }ͥ;ʏ8 ˮ?801Cuy4%w~2IW1x*VB)5QrE$Zk3:yG=Zg,[H\PSg(zԢYZIzu/!pg' 7>fim$n~q}a6/slZjT^Go )k z-+;5_А0v*=P꓍(KJUN}M4ʂ2GUd%[wǁY*fhn{%![fLbB=KMjșhwhث~6^\?$d[@H3UvĒTd9C)?SYHkd?gq2qօrԤ&M.yǚ~ |egtp㶇P9觳Oaɸ0_*vYIAܼ -Ed~:t++%PSyfkx,mnKۧCP!Nmcҽ?&R脩4kFer,r/A7v\zl pe=>YCX ,c? .4mh!QҜBGaY0jA[>(A-nIBQ/OlXde)#4 ^x,ite*䶂9H1-G>pWZXNU.ȴɗDZc8\`fS2A@㰢>). Q.Vq8fu9gF :~:?&8Pued:# ť)Pt$*WoSo݉T1?!BuPn- |rq#֔җqq5ogO[*V]dt0!T+É"_O N l+.c ZNe*QmP(])02[QE_0E{KeўPu@6I6l\͹K<)LpZ4p?&e' >B>ƿtH=G*+8f( ?;^8gt@oR6!P"NV;KI o]+I۔SZ MP̪k^Aַ?".tzc܍S3% z\Br\?SF {ɸ;J& I&q++Fž-h8a,@J3ZAG7uX,̥`oq~Ʊm}!N%!cm۫~.{S5YWͽ1&H!hQmI=sx,^kÈ64NoEh87/~cӉfYB[nHVG4cgHo=ڵKcݨjg=мҕ Be|k vN{m4@p{1jNbO_Mu^q^vyeݗ3>%XӘCG4\ q 7Q!Ф) }>(sq]2ug u;pU >|$9Jgr/4}ҁX`} R!/!4d̛dNQVr4!xaݾص\ߋ~%fe0}PJ~7Qqbfmqljݣ@MRq&4uNdC--[i)wU|A֢2fs$A}È2>un;=W&%REԑ`nla򴦺#Id5X}d_ K0xP/t|nD$UF{( ҪmLjDs|ϜWcSEBI}ɧFrWwAXthR9ksJFZpw!V,ɲl t궰$<(o(:'?)NUn䂵@:v"y]wВ5~A6 e`ߝ߅%;}Ԛ&[PJmLwF%V'<ڒ$xi Ɯ#w 6r6o{)azĤfz*l z0{w>=A9ùˋ=%|CSN㟨(|1TNZ[ʂO;0hƈQ΢B!PUm睹ưtZ{XPd=NaWCeLjԨ fй/m"}|\V 8zw`jTU~wmtΑ7/tpQۓOQ`l7qٴnÉ5>ompTD]m"OMb5=ݶJAǙʻ%E&M Cj2?>1 7nMs cᖸTBd7m+}ZM_Oh4-/U ~|g9t6 tytDhqW֐JT~1!b)`|xf6^k\+K+=Ÿ"«Jts뵡-&Dzju3i'ly5x-d*E4MXP@8q5]uT532*u:-P>aӍV8z@pvg>ګEmɷ Mu%Q?԰9j_ACH;%#e6O{xeR 7*.yx| %lM1ɖZg*Qw )\\#(@ @Nn8Ysx89HVl<, ~iHhn-q$ۍB]YztshnD}38CJ}?//3cC{'MSG <Ɠ"&Q@!}C6F9w?y͘Z%RpNy&iԂIm<>-kU9f#]߰7^? |EkG\p\ kQ)HPU6pH͠{Z)'*EϯR= ]'927*ta ŇV,Haq춖YYilrZJJMmnu=aPZtHJ/PKm(l6Y$ |>ӷ;$Jcb@ˬ8<%DʐKh= aA6+fb;tG}Aw \rKvl&wQM]bܿQy=?~_%Tu,Mt2KK%0ޠ *%mXf-.~^K }RFIܢ<$o5!7OhN f +j1u2kh7T\MJko7j79R< R^Ptr S%cm M\s64ف0*Pu&Y)H7#Hy!֟Y:FW,L$%  YxRpyj-a= rxV`+^ˡjʆVBA:\.ؒiUn=b&SN'ssKB,B;lfU K?+M}QKpT^p|!H\ixZG/8) 'Ow6 |`l~>JiWpA=I;[z||ls.<+Y_t%w]GRihXu+KARo;ßȳH{j[sySOqGV3!ySρ$o&tmr靊85L2-'oN~j<>\2X*AB\m #NӤ'F&K\};)j qbm-9t*Te_Tܢ+氌aR͇uJ+RT3o)XI;d6KZe/.O1$Q.K:T ۜ!Ss) Uo׆(,I9A97;y67:_8'+ 'JJ܇۠P>Quh4 Xبvj9 A-fjfe)KI | &5*ҟ})JI X,AER0Nd$d"XMiVSsJa Au/=dO6گPXթ4'HU1>-rFHˮjzrvͱ&u.8>>X76E_Ƒ~n;rv-dOKL~ 5xE7:":d"3}WdMTB><|Zk %Rq9[N笞qqa> lOgQE?vq#Uee.einC1L+mPm{qeI_3i:܊I>gJ >ܐ|-sp/&MEl"5;3*<b056~M JD,)+eu.v]ͱM"ZPdHYn츫OEzs)? ( 8{i+yYOp/%ؚ,Ҫ&3wi.Zݭx 7j?f]}aF)HH@T$s]6d8q=0ӡrxӧ2H`i5i ~j w3pUXYĵj: CzD.!\GqSPR˙ŔjN4c E/-iT?!RhKM)t+PyX7NQAQ9a!uo)2y!Aic&%1uWt[ Wq\kOD ø!=≷>q \lVF[E@6f[8JҒՔO; 6K;';;Nat'-C$J<6*9oqxRPn&pI7t{m4 WLQBokh!f{3_(d7S {j@_/8 7v[R@)D>#[AS+5elnw),%Xl/[ATtѵX |@kbf1RM8.)گM }910ܸ~Xg1 3,K%B4E_NA4]sB)! "'!<䬵:NRX/*,^"X# |Nh.) 5hšyRj' Jk@i1\R7(߇|e!bKr(ߌ)܁ⱝiO$[xoTSt*RSR ym{c{ONaaqO-T[QsF{_)({{ 0 IYl6`Yte쫚Bd# i^i ]dXZhIrb.Nv&.2@ 9aToyLso7F9U 8K %irwi`7@r)nJ\ԃĀM!;eDꔱcyF~'o=U |.w;)ʓKi dHD#h Rjq%IxǵО7H&W [Vv M^!IϼY,f!jwIu&6/ @G[k1[(ط0yn3<')ʻfkl&5aoi"rq4lh͹Պ$u٬ANŸ9H``"6OrxMm +NN[A3kM3/FgRϜ j7SX19dlJRM篵N-XD2s ʗ}9F6SZS,wmyœIJ* +91ѵFRyXuMg;IYrV}=[C{йe#:vZ[F."S-ܒn/pd-$Cԭf18ê[4u^]mtӃ]HM z[RHK$e GK€QT$5eHηHeAʠ9ʟe "gs^*vqˬ[f(sHi$f;}%:2xuBG{Xm#O[ 7hKc,*N- ZnlV!r4Jhr9T}A?#"m*:-?T-;i? X{uXKhCR'Pa".oqܕγn YYBANRz_EI`(0mul@Q\բeLVj{dRt~]`<+ KJ)2S*Ru67CF!^|n.0%D ~ci5(mU][ ѸCl>c&*XM{}G*QQ`#wt~W8:pDr V f(Uvڐ7ySruzg 7~NZ)9nbcGz^T$rcue!-)D)/f* inPT{$D\wLBr8T|7,^ҚJVkd7[1<@)7$VҒ*,TtD]b-_ks?=5!MUk>pwCmӁPvNq@9Z?/sN\q 0Hw#Gk6_EXuhJ("c& AEw\>i)-NJmȼ[0zYP0lM(jb%|R/&M>^"Չ1ݝ&l۽ c/8K3)x%rlooXkXX;iUXO|" ;L/0NG87*)M&* Rlc<)ܒvGF00ѻy.?~ yoqQwMAmɧiQջtWUJS,HCDJ'kūay(ĒA$8Fs\Btj8M*JparHASX8Vt;/4[۩jQH\hKQ i!BHl$*PR@C*yr4n*##4LmP@@&1D)NNR;Ɏ HHۂa DZ,ʊeNtPIQh= Aۢ[nS ~t<1ۚf Fғ!ڱ+PFbeH$v/l~> R'osuu̦'gXI}\e@^=2=K*;?bц;5¯8.sSM 'lYH;,촏rޠE:4{ũxz WZ̻SOL+O#e1Z +q2 wT{y=f.MIcCbh5ٸ?&<˸6Mpɾ/b{Dt]E3>]9)M18ހf(vG #|yd-#KSQI̛y7?$]@71NdS%j#5.Eo^+JlnUP"_+<-"IYI 7\i1N錶< 299@S<9.2|燦ݗu QIkϲc|)~JqJBorJu/qHO%$uE;̩r($_X"YZ 5vLچs/[OT ~q3HA K En5G8'$o&xOT҅ @ZɎToB%*)NahSxVM#i,82C74-$wo=tcdl ¼溒K }ji+vh5VJ!_brc;&e9R>?pb5B%yRA;Lڛbq,'L.Fa}a-(DmKͶH \ wo`ݗXUH)Ali)OG&y,q<=4 &(yH8^ #W_T0&sүV"*P tF4%&HPI"c{!iXJĥ:^^BY CM(l # _A. NϺSI X HȳINNt\^n!2H$z$ciʶ.>5 h*6|az#.prbkLcE-igN(bh[X8 mr-e "'|'Ẫpنq>~BbQJґ#r4K\jjfX~4 +9x8L)v- Mr~cfg Y\?T,Z64m?v8g0 R&*T#@Ennhc`PSqR,o3_LƍU +? 2ԳRҌ˫*.P #k;XZo `٥K " r hZtfdM oof]@!=t9\(5JB}y4lJ膹Hx$H!*$[}D-8,W6`r?L4Wv5VC _8),RZmLoHfnN#|]PlC bI[R.(Xn aMG:VT'nBVVUWBDdo:[]pGP,.Vq}li q{ // cd4 xVg^\[ v6eDI#6l.-KQMh+S c8Fy*{Ugpع 9VbLqғ§x8vV!ڵ5:h*N*Z4/*3Rn%WAz{ IOR(:@n<% SI6 -%KnjH^;t%]}`Ӻq;$(QqE !']AB#X:o) DXqIY4l##`fi]~ ~JJM4 XSCU;.beNVҕ*mi'.s&-6TFC`1!Be#uL# !t1 |t7`R .A$1& n/xuVpLT\"׹D~Q2Ͷk^ #w)SI +$MS %^C^ӹN4]JJ!;%R[Pms,6Di($;m5!|/kay'5h@"Sb ff{UOn7l fJMD)jl,i[H3 I'8ًnZH6LDVYeKKEW Wز]RRQ T])v F鬝HveKRݍ0J5)TVII dt<}+Lh$d{V|짻h:J*ؾ/c䤫AXKbX`Qf>KCRneYzeDmy kȶ]yJ¦f'2T@(^G{B"2֚qR8%eiRAQW[9XXm@#Mqʔ sM+E@ M 7<l"|+ū%p;mA>6=gEKQ"e+ٛR)79,s6ة'PzG7ŝcNԡdؓ84X}+^Ď r"7p_#aNČݜLn.1n< o[p1sq,тHT?—?]zqIaJ>5\d1×Ms?he8?N-g xɋ0%H˷6ߐUoxjzCQm?8?] :q?rGgGe)_(Ę &]e4Q.Tzh_þ>& #g^OꗇK@e廏ʢ`QYyF6ܷ:ԃ"\uZO?v|o%$+.NT$pBuY6dBITtٸ#""A蝇5q_gԺKS-۽F 3Å]aS+'-.i.@Q=f{voR R]FHӤe+ *ԋ,-Fn9k(ZeH&_s4JuCUH%љmۥ+6!Lr,nd͹$۞"~տL8Z-0jiK-Т[Hs9! ҹjb]ihBH4hx(fHZ Җ >L;W~+ Jj958YmQ#B F/ oԅ2jy' ig pj3ĪDחzO=ck t^<cRטZ٧gG#%UQ+).m`A6HoĝW_"\hDŽnT8j8%eRG!{Qle+x_-(9ENrbi`.&Vii h(\y(6rNG[ r7n~w `MdCN!ԍ OPVa\ӏ)Iv ҹ6 ]~P"Zd}l (1Ԏm9oFMXx t&zŞ\'vv;x1T/qL[Õ}ZNg&K_.4cGπ!w-ʁIORVI5ʊ04#DrӽB7@73 JQL b+2Qk3-/,H(qXb}-=ڔ6.UX !̆|,nOyRefTk[󎥥zl7U ܂UD$hZ,"#:ZqqK&J/kwLvYU58+'S`Nq(2Ξ) VRE:Ez;\ChSE HFB]&EEj Ƶ?ey4[>@DrΞ@$C\-:H@TF-x[Dܭm6ݍ-HlxqYErX6q:!o7dZ8J: |lO$P97P Jmɾ]H@ M.d@QSR-]2 XJO/q`UHq#[/.q`*K mԊjSeAm+Aq8{X,뇔ijMJe7 ͮoh:#C=Ul=/7 RGx}K<(=B B62BBP\İ3Xקih2jU}ECK/2p}6 R#&(sHq+*) S`6vGKJp1,j5u.N p6egğYWSie)A_PMoO@3w|±t0a\3OBv}[OgL6vzT!xb5PkSV23)@ mS5rQS>Y3bS_yHz:+*A@zV\ʅž%#Vi ܪƧx- [afu1.z\G@6]sd>kjS=+IfkX'0a(&bDVzSV OQon\˧nm-;B<XJKo*\@Q'I輝RgܡFSQJu娫[-hݬQߊˊgSҌ;.a J2ڔAEwj'cn$۲^ڲ~`Zhġ%k8M>\ppf5Mwȣ𻊸# W]6Sv蝠kMR`Nڸj4NJSnvU4Ǒ) ݵxGR?yFHga\/V CBDjYoy#^vcndA'MR9UhK{@>J10#rӿg )].Jϝr(lϐƏܭ4w+/d=c >~b]h;2]xTTŵ]%w mϲɉŮc^/N2~<#ɠ{ M%{y KIXN\%p 6nQ$$Q*Er L^uIo_J/PBS0 :%OrH6W|؝V؃$vIJJ/e)V XyʆfSX"RaDn(;Huk I[ASu$z{0Uf\ppDeo6#CYZctebOiT19.t?E܏tVgOQSsq/ɱYM2Lb%< i0O1V!y+y`-|:o¿ڮW4ݩgiLe>WȰl*> mu K:b=4@ן evqeq:QWY3${ٳewN yX\dC~ՠSaZ8lP ;󤶊-'g =ԲuZt ǣBr^9{X?e>}?8C0xz;nq:ZCJOȡoʐO>X}'Oˊ xmFwaSd$8N(R&,ʖ"=IiY*)?bn˜Vndc> ` nM, ܇W?PL̰[qz{;>.PNTK1o' *ߌ'P?ΐ^?"#_M쪺;8_E4T}Zp(RR-9&ԃTqG hߏǗmK]TexB\ PO5Lj:P+=]eU))tF"f/sƪRe>\N됼w)( nMۯ`nyXG:BG+_E?Ğ-UqV<%HOmd#<lMo=J&%JmI>7AwcyM1:K Hxc0e؞aYd6UZ$.[}Ь$+@G@ 7 PA&qY3+m?!)6ӬJŠ_lH?}!1164}tӍjrUI2 ,HIp%ӪZMB6>ˌ%+2f^qAtmL{N`in'GZRj,NߴFG1FO0TѮe()6( wbSpqД+Pyeh6Q!;Tbv}L D FTGL^k=vA-.̺C*Rq$;ߜy#TMjdM2iuoY ܝFgH֍gufvJc E(Hpfw`?MTJWE l-d\'9 RG3KD4<ו &HP *+hAq< Z+R,G7Z[xPII[=X{2)%DN݂ť!ACT&$.4y hר[{V\ZScQ7al<6UE/v:҆;č=!T'%}-zJ%0L u$s8Ba&B(ITe%e ҧ[F@V2LY Q4F5${-'uL1|@?ZR-wZ>w9K1/(Rrn~l!78 ѐnV%a-r q#qvP@ 1c$(. q/LVJ5Hi.:0 cmTt,\2 {@ Jq3i_ItiM5GJF?v*ASl-&A}:>(7|JƎ,xʼzȸacidgV%DʹPEt fHdf j1s14&T '*Q'(oSڐCo3 [7.$v9'R-MX=FC0 NJ.{ԞYtT1M>H9S{$ g6q7NO@1 9S-LœJTn[CлkZLH@Z-_Qcݓ`P9*hWvԜM NRNbyr}$3w-wtnʢ嘚U.)a"'1:\ gA,TJЅA\y\Zlq /-aM)g,ܘB7r Nj-6$8Dʀq7*:nQpO.^Sl$~,h(ܰVۯHIqfԵ0*#(oI D8F S` sm2UJ%;{˧ Smz[]32Zg.GyIJZj3˙  tArČKSmJ&큗]@YIè.A[kq")1J56agP>CsS,n.)u3uffaHRȶh9Y, p6NI-:Bl>S?G5I>4螚oh+[Q5Ɗ4_ڟW B}dTH4BI :6~"6N8|&1`* q8'Eu:=V󊎧Pa9x͏lg0vIvUSYr̋ꡘM.:D.GXj R0c7Q3ng!U'S)fu CiHtmzlSS3-Ut4:^a0xkq?a}a1-E XQt`7sSR5GZ.W7 9rH&] @ki.׳>y+?q*cTGۚɧ!XE8gH^HGƛ mejiú6s f lv9U~&{ ')OFb!7(6a\#N=ͽWʀ[xQMǥf<Ў[Ԛ6f*DX}nl.:7i*1i䩎25`±{&qrmwuy[uDŽ|._. a9VdU߳p 75V|.s(Ƃ T A`t3\Gvz++2k(Ӽu8)}q` Mz)TI7< vwD;)զSM26<9Ń'Jdк;魕9[.#vj]K&Q"ҿUPRT6m6y>|#𣙏@.mhBqcncJJ -̷{YM|Ίf6H͂-S]%{?X1ĞT RRm6;~i(}պwY0"mO}AN\m$S>zҾu{ ?T`cca| e*r-VR$Sn4G͡ř]IϥJfgR(RX=J. fAgŖ>Xi@&iEN}gioŐe9Ȱ:' U&Tm7?懻`7*ԭ{_,XZ껎ͬ5G?7^?3Zs~FlIVSgd|!=g&'^a7(8o=Er\G~tDְlA0‰IOt<|f*)v'ae^l):6/\gEjm4)RR[)$x Zo9a] WlHZxax K}\?ސt/H.hE...I"䞰k%M8m >]& j?8pdN#ě߬9M_}"ԃU M-K͡-qx*KF=nmؼ.6 qO0+5 Qu* 1$5pcD߹s٠? iM˚s4³ w%_LU$U8F"bN9S&[omoe^ )ݩ3 >.:pԣJRf |:^tuDYNtyhR>Bi${#6M 6}iC3G)ZQt=a~Vh 4:_*CNm,i'AqFS Gd 8jz4)Yoi9wW5*n#_# 1ԓ< [RH/c~P ∸sJUweNuˇ{\9Oip(oa+8u"F.reX<|ۥNR)c5&ɲ i-$?)|!h+wGRͷ"S5X$abUbKMM{/1Pm*P+R-ӯ(CH!ڌ{r Z4 Bo)EDK,rPC_+zNfbOkcEL6"kI==:_ Sa]⹨k 'jZLNpk# nӆɝsII- {| 9BV5Q$yֵRBHI[B-Է .Ѯi]z\ԗǼ1p[ւmRk%[`.KNZ/s8JX5i @s1x iVעC3Jۆ3iu)TIa|t*%ӦTDNR:}322T“8P2ʥ)BkCI_}D[c5p8]fhpPv''#f[ N-ϳF+qI->=RB3 BsAK Ƶ`i܄ۼ!;'(J 4(d8:so F,؋!H6HhQW kabl)r.'7ԟ .|$`O&Y JCu5!hKKjТ}lۏycUl0`? n vyY3xlA o87/31WOirhviFzM!8 !¢>t_i#}t*pf/a-[)s*,%b0b7f]Tof &.`I&kᇦ%* OmpN0tfVn =Pjzz=E I rA$O;e[]0]YǩI6~i!kbK6=6,IH]XĜ jt.(`)Jʪ-ߢEůf/Zq2GDgN#jj_ (,tlHA[j YZ7jvOݫ<8g0 >A+;WVAY$)b[d94OLJͪ6ՏMwQUB^֙zZmnŲ/1 .(_ Q'{}>%@L{IbY_#E9 9܁돠!͉V&v]QK.] II椕o~E ;X[7нO6l * e)m['"b Zw_aG#6AE79 ޼ r7d2݁ NT:GE| Х1XPsaD(Oݨ{xSv|Լ725OŹc}3 {S7Jk \F)OVJM 7!*%&a@)X #y6 8UT,])ʎ42M ̹NyQRFGWf$"nhN1hşĒƂ1_]NH)'w ̧S#P~Qq:HWcں%fx"I;+DS] ﭣw(o_* A!~˨]x`%'1V|^Rz}E(s[ʟcxW= 2;W+8)W xip$ ]9G3s7F<] 5]Ry%%BZF\{ZEWVI&2ЫP>! H#}~~T$wJ~{ZdFG:{U GVmU^U6Y$ o PqURS1.I*"XB捯XwV)Jk4 v ZL揽bUU}V' raԽv[0*Dz:)6򎃥|p֚o$F@V@#}\giQs*TU!,⹘2E| 5RNE`WfWe8Jm<{z6lEb)#}A^didRP 8S6ZŷGbG kOF {z *NOCiH.xө;_NM ӘX狩-JzfYUxsjz"GWW ?B'AC[mhRsi{x⺮gs1Vr6VTfi)Un&3WxOL%mo8rGugfԕ ,|m kv$YV Pkxx)7~4( U؍ sS& %Jy=o!j,#K59eX,4&JF_KfCXB2CC5FRMY8/mo4Ip5En:BYl+ǬH&A|%!ENH[A[D BBC\NA%^VĆKSgɖDaWo5xUeOiW/ckn(Mw2R .4E&M@9Tu ϩFR?Hk8B ŷO!^ɆI ]8iw@LLEUbs(T}V*q\뭾P4] )nf#wNFZCRlt[vYg)!i@4A=v?:3(a)F`ͥ@sD~[dM_љq> /P[EI+H0yOҳe)0i8% *>ǟ lCfԼ3\y L&6a*5 0\ZJʡ@f t7fF`i&WEGB15*2.<5IWڟ3& z\(-Ċrfbq):y6 Or2^ i҄}3gE*l7@ZM#as`lm7Z78(<ũs70RyFء+Y8M\tŠ|EZHQ MRBCmu&`rFQk5ECK A_JpVn)\H8=Hrt{rgS3o24N֔F9 q8:Z&Zʩr M6X_ER;9ӥqI(IRT ^h@wuLht&ib$(ŒSrR1,il& ]!Lq<'KE)BJܤz,n5Xk#4IQ,2ezK1W*5)n6R{([d)ɷ8u>#Ѓ%ZsbI=9Z4ǒB8& JO= hD ̔"}K@a.u&\xENq[)${Qz2BcAm)鰲v>KGt=J7cv>ώHy?Ftn'Hr#A#E12yDVL̂C_Jo=wnI[Z BJ!! jrm"&# b<Ҵϊnl7]ŊA\quM)J6A3Bq|']z2W)4U[RRmikoX- ;u4?Uޚl)W$fS};Hb ONdt?<ě.uQ4Pa*Pw~ɑ@@|V,36y5*3I$)tpcDi/ȢݝwDD/X ^`uJOXqɩnEZr]h$EPr]Dӌ>euL`C`H:CccÃ+T8vJeiw,=4D6k-陿܋&lPz6C%*i ;69R`PLT,:FeWJp#s{|mBX)A77(^9r;qZJ@=@J3mT>SS:^zM;eBPI$@|cAhV'4 PMiTI LqMc5*i*_U޸oG.rcG*B_ä$$%61|g/Pp#S!s,w2Q<2*^R6Ui ʐ6#fwlJ8N/tmyI-'pV6PJiQҺ׆Xi(!Zu XHqʮ]ԤK>qfDV<*qo6wtݢI@J%2g9zRq F&bMZSKR+E{`N-0u&( M(lÉe'8r /hȱEb{d)m<aQKhNRZ0@t> Km-גQe+Jʂpu! ͧ"`텪 C탠ͦ  [|`jpIe8A D[4<^[q.6 (.Ԡ@I C9o:yZn RA)92<xpl9ZS yi< RԅП(hRHڛ.9 Y֙Sn6["k obgRna-q$~^PjkrheijWyys_9쬍R51˽JN߬<$h6& _H`OtQS5TEdjZa^-/[1 Qp-$)A7:kAD&R[K3LI9Dr|&R(I)n6#1*Ca?. I$]B$w#M -k},+ U =/}'ٌCS)Pt+2 FfCnG?f&[vԶRUW=?F ]λ%< m‚  F SFcM>rcsXs*{ OJd0vO@VzrӂKԪ.HC#@iEI@^d)O29uIH~FSGj^v.y+cU'(hSi  $uK>Ȉ}v^Roe ȹ8Pt/R F"a|B@FߜDkݳ$ET3R9k/]R'3)|NAVYede\}!lJ!̾ ?mS^oHNGr[NYM#bVJL*|RLsm\{QC0䤴R#:UNca:A菈w7qt?=?es|BP;YY}Ke;\qbjM#CEU&aη?IjU@jSRm%#ˡ1zv\7;w5s5 Kԥi)B$ zoPfiYbr uU_uKCAJ%kG>jalyMkh[+"/ `l%T7g̩Wrf`j(`i S{/pR ~`tfԙ;E`dXm7\$ɺ mdn)liL_sz+͠v,X4X18ns S$+rHoWq挱-_0 HpGJEMAٛm7U۟l.--hەɵi,'j=oTMI")uQ} 7FͅZAQ>|47 `V%|*;@z9e4y1$l&6aXh\tY% 8nVu$%qE^ nnCdSN% ,ˤALR߅sOcA~lΒ qòњEG``皧  Tж=9lj*jdztW׹XccH>9)+U~.>VJN}G,%֟hAL o-.I]uMݏ\7_l% @N,Sd2ͪ2/nZDK$!<_irԈ|aH?0,y 9u(Y15> Qu&JTTw-֙p\)K#O62V8@5t!Nhzo.eaahn)쭖RxNyĥ  4X鏔$4VȽn&lIIJLT|EdÏZ ta \끐Vu$COySR xu!2$hu1(fl{tw86C%M,ˉ <6SOenRP*qi+L(3HU'`ٵ8?#"yN ÅuVZs\:gNId|.NKsJo2RFDέҥ5*]Pwn=#k2)OqMJ|)y&|W ~4.+e=?E<:VOLN(7#1=N3x& }L!Mq˛}y ]5wkm~6~S꿃bQ3 [y,B m`(.q +-?`T9nH*#@3w< l-4kƜZ)6oMϲAe%t i$^TT9ciDд>9} F)c+I$N%M )S8]a4ZV|kV9"KajR[@u)(lSU)J $o}EE4I79>{rwH ZwdеĐ6pZޒdQ&ӛIayI's[J$ 5d j',\l)] +ڊHS+DN d&uS/S`v%QTl};;Y5'V;JF# $[yVw-k8L~\{q/xɩ*h@P<׿u=@{ êyyʔ$@7zysQr>5'T.U *[ފIx&j_yB#ڝÆL<.`3m *CJ ncA7&Q{0mgĴ*I G2s[} qUUY,l'(R@L<' -8+b9G;υ8~?$V@lMATc C*i!܃O,̆wž˸?2*vYI 4B=S:w74VRaSԔ0ϥ/XS~!<}SeFL<1GZNْ x^j"ѿZ׶oG2>u'X.1$.i6,)x}b,4 !Jt,DeVphg wISC;t|WvL) FY8#TJI-l= h8lY\hfRt;;=6+e̤GUҺ-\K[}CĸZ´Z*)Jt~mR>iγx KK]Eu' 23\ #%*bC<ݸF~[*3H<.c5ͳW MiJԌ7FVN͍O8PO aGZ'ʕme,(?\u`EgiYAIG(9V\mʦj*B["#p6¶WK aZd*X:JEIshYp0)ʪvSYgR< 1~ ǐ:){1Ǵ)s [2_Y\\ iv]9hc N[؋is]N^ן_s`DTDXbȒՅ+úB^YiQP)E<&l= ˔P,)6E&w*q)br{{u]Vw1mJnTds*]5אTtfWC^ i(A0w@3;AұBQŖӌSZ[\ʙU`n}"OOX  a10{m+)ʽ>q`X`7"/Yt2f-:ZblHDyIBfRU_HUvda&Js0ACv[d J*(m$x)>+, EO~mdV]@}EN9`թjK%TAة l i38ʍ2nYͷJX 'Hs<9O 9o2;t9D"\&E=թN91'8^E.R4yݮc 8a!JJ ?DarW) [:Vn\.N/๼>̭i׺V[uӏ͛[8}l.m=W8ƿq*faնl>!w6W|c쫺q17()+UE8Ixј&imvO2X_.NME5`79wVJ] ]?d`Xǝ-H8`57)ve V˙-cp?zJm ,ibIbaPVl/_5#`%LzusPɗjN K! _mo&*AT5!m[م7t(M6]COq ۯHӥ'Kq6mŖ-M Q#Aړ$&唩(xX8C*Q.{IJXan$ Ju: } -&^w;9(3-HIf|a_ T'ʢqm-a xAju57 $.FH(OR]-Ő6Yl9<灦M<>p11B=80 ̄pX Nlv[CC b%]zfK 6.P6ӦB,JI4bk6 =(hsfNYlM-uw.AL6"~qGt^VAţ~1;SV[& ^UIW[5 9MarRTOXƈEe&صv/ܨ4V:#K  ^RHXZSrx)CVVJWapo=pXm3pf{ԦVDf)%::ɽO>'v8no/2rsjqHpT8Qi2w!7S1Lԙe742$zc ;Dk*{sH( PHMH4" sf6ʣn&Xߗtly@153IyfAJ_:"HY+jVJO*K \NQ]xDZR *Oqfe҈7Oyv~3Fbvg UeyJoKhy+3 ~fY+<,w1%t\5Rlڊ[/7V8y> jG~G\3rG=`4}N'C^[EP^qļ5~C\Ӵ$|î掰{.DOxp;FAমv)*I,6I.9lx_\2F3Qrv>)w]I8YӬ)d T|(όLɍZx7a6jniiM4#_zCz{$ )\d涤GuޯdlG'?b,%cpcC5k|w`4|/3Tʋ2!H)Ԛ6>lNlGgRѣɋӐ_.@q_fgiͭ8Y-/⏈? dynx^{~EE8ϊLi3rM"ť9׺7X>\{خv&^Y)<Mf{'L,#so(_O >UW+S/Ձ=ueFz#Ȳi!hqSjP"G08QOK^NjQќzZ/Qi 0zxj˛_s,lb'\ުmg]s|>-Ӝx_'f>K6wi؏x9@(I-JδSpAb7H<#j;lKNS I*X"4;;w)"[FGH7[l5M7ShHZEnI͢kҰw!JX\(HusTQSx i5V2yۜt'lWϲk=\j|*]D1OU6X4xϦͷpޡ90&Lwm/b똖@t.&C.7zP}H͔+=OyYr2D&'s-L\#E$ TtͥN[hzyql>]Qde^wR)jv^)>{%*a;GGc@]â$0**o*8첕\8n9qzXQ R%P$mrOQGkPOOX{]e( Qۈ͜ $? CZ+8Ns* %_|3^j&:bQ{wO /yv~@> $b6#*E.umʞ6z^;Rヺ8S6sD7 aG͎ZT1!Hqlɸ&R|:<%EFёe,xR+U u7(yărl1Nj8 n*(o-IY䧽I=]Y(N)UiZ݀oV^.$e@XoS '9O>`B7M>Rһ㕢JNŭ:-U-8 (G]"yz(+MD9)0*L5 fXZBTm\˜(Ii+A7&To`4&]mJr);a4KӨ74\5Zmԫ@l*jCμ&zE7UF󺋩S*beH̏QPRmeCJxm.f 3,[ 8(5Vvh6nTTt(urY`2 I)+$[)@X)H%hH% 2'_'-6~8XYv?o 3r_4.7$49:pzRݪ(쏂D p ݤJ6X$åP~2dl(`A~lu;* \&_3 aIKbb-E+R &`kQOW##*TodS.(|#FLO3YP:4][--td%ItC)nZֶT؝:vZ)VC܃yβNUWe!d+r`ڐ!5uh .P#=VB[O>{M!HZI)<4sPTfρ%I'kW)OROXyn?ȅ X- Urp9wP6=Cx)ه@Z{ !yJUKiKZь`N2\Hᶜ[=M#6S%s{'Zv$pHG!anspz:kI tJN'H9eC!\(rߔv޵:DM.8M: <9Jsvx-re=ʵT^tO)RG{Rٙ\3MM?HZ %ah4SsMhwJ%Wo mG(F”R pjF'ީH{ >,]G/M>V E9^(|A)s2OڤYM;DS?ۓƱt/':m<GO&~)b^UNbNSdhM=Rqa8;1خpw*^^fl>%oǦqg#]Mp"Ø]aML {K"Cw2q.jڦeݾyKmҺ)5TT*4q} ېϔ-iqLu:sMRU&BFϒM§kڤ/gv:rA->E m:ckɋQ)-Q[.\% ۡ#}OFāVÃ}>nVf^ߓurG_Q,2DŽ#0\%w.kS~J*HJƦ>';\lHE.y`g^-M$8Rv F{K\,~ˠO%`MڋN\^C /?;|%G:r\[[ҝgXʲؼǬp'O<{;X6lpv8ٛ"BEO:.ǟ?jCeDjB&Z辱3z/bײjaFT)96)&.=;*i"2)e@_A-܎.r_"I' 8RH]`֐^&Dp48gӊ`"%B2>m; .)E=Q;^qƤJt3 kͮ|>ŖU7VHS;ل -'T Bts68U71 32ffs?kE\Z@pPuNJT#.Su?h+T)myX]- v*N <^uL,{ܳT*SbOnM0+P×..a<-%IF=ט7,]Ufw+p!4ls䟍x|]o.ڗwI>L *)G'7]Ki SjOK,0߮~(U+F#1Pm{t/vy:ʐj+k."; )18:84 qn"T T}b1 R8v&F]JnME)?/[wy;ODnGiBQo]JG`PV!3.C-kik@ 8|7AXmKi$Cg@ˈ<(6rڎYs.l PMKOu8wT$G}e"'t$(ڡLʾ<ӠZ[{zDdpX5Q@!ŠA>9EWRqq[[]/h𝅧rpo'-bFk}:m J׍7pGzkPRIq,LɃ+_íq[yŻR=9[nvʼnW2m$_͡0jLH%2_i1q!6+d#I,x]ћ'x6"LXۉvAu1Q35Sowj,@~[2x)ҝe*Ls<3L!ТKmm(kQu" T ɈL؁ V*FyV H&ޣ)h]"j,%jR!&J|{Yu. 7M"PhB }SjxMH<)^ *-^[D(ݲy[IpW/V>eȥ޴|:D} KN3jjaaL6CJ\t(eM; [JSKԮREm Fj6#Gѝ*JIH?*V! $؄1'֔rFQ{~lBTt%KuO7a-ӫBM45ih+!&[MHMED =/!D,euᖊaͤmMXZTFb >eą,4d[$7} CC#k\XGQJ:Ղhy /rS@$KJ)gJvЋb8S=vHM-Y&J@it}2|sr{Ц,L%QQi)-{$֗8wUbAim̯ro^,o54M{KO񊸱d0h2o6 ikO'?OmP?+xۊ7 As͠@ȭ0{.XL k6;Lvv}l feh-M]rJ_h'ΏHpGsK_\[x; X =^KoPL!ViiBJ9mMa+l"¡_K !!tiĒ~qRyz ( h&) &@)*J<@oqbIte7:[Ă6CщMnh"ʷ :{4&8w[_CLyIerҋY YDO >7R:먇7<@ ?(%t'!& O7s$kXGAR]ijNA8pV0YQF">W*Q6iPNcJL6Q2!CKmy GVkRmrx+)6ԡⶺDk&^SU`SϹ]sCr\XaxPS^(I )7RvP-@ـVuLKaGu <͖ҐRHxn Ɨ}zXmZ:fd-G !|>xZ½yTÊ 8CP% vߔy@Su^ݏm.vi-Ұ/ ܣN wq=k-r$ń"Lmq 259&A ԟBjNso([AUv 8Qԑ8֣E:EW{̝ \R% ?xfH *\33Xq,7IyP.|rOC̞=RfRj"FE dNH[>oπF)sʿSq)e9:!Y9֟v׵U"$q\VNR,,=:n#yS0VOzDq 4rZӹO2w G%S:o>NdC~KjƜFk *YB5 RnqS~!a>@pi?3.&L#{#nCoJ& ú\67+,Vi#(N;q!)Z"mN-mr>XqyN< qa2n_ē1t2AvZĜ;m'ݙ6 ?[:o# 'u,pqA}fBP. p25tyեXnf}k=? ds#pe$VS/$ GhtoDWO=$K+G;NCe*&p/ \c3S,<Ƒܴ|g0Zؐ(w c {L )PN*_~kΊfON`r^װ$ےe*tm.C&9'#ëaBŚ<& [3iYJ*y~*uF)y6Z{M8.KSj7+R HZ } 'Υc&xd _:O8cgnV!M4d#"=av9P ]7;3,pjܪRZS5+0 Z8>2 D9 &edzpfLx7Be M#@b=Jqf [RK]Jmxo.abͪ|Ѧi-~B:!8UlO~NfU6SrwνSZj yIx*23@>#.ǝ1NØӸ(VZ T7q;"/o1QRbk)AA*Aŭ$r:EV$B<'HOs*k5 k!CQk+vQE<ʬ 3aզJElE];xڐ ʢG*l>#3$dŮp78[*%&ٮt"B EXqX)IJ(2ѤQh ֐($\Z)$ O0 ]n>;YZH" Gj I0$|:En]'xCNʫ`,kk0&WME0H xfM^Uʫ*t&Ь|'E ݽ#R-)Cγ実Lǒ-*kr.m  JTpM%quB6) YqRBC_D:f1P艒I"V_lwN(|euRM{l/]EÝ:W{mNEߔe˫l)"E!jiXbDm`5&8i/eIW+6MV˼Wb Ի$n~U5&Qd&mKț嵴Du$!&Zq#5ɉ\,HyZG U6eRִb\Lv ySyN9i<)Ih4ԯj˖Xg(+}adxQF RTs Xe iGž[qN"mޑh}~;,lHVrʏcl*ܛ˛)%!:2budT!ps TP]y].~:ۋ; )W"ڍ`K!H@A;+. 5"lߟZ֊~(/AZ&@F}9H&.;”ls [-L0VX'KX>ܩ"Qx8m %a*Q)rJH?C/Nbeծƴ\KV3I~v ^1M"uՊrVn[c0#V|oJbTZ)C^|ȝbyd.I*'QA:X(:p3vvL0–REzxѤ [/j/J.1$.Q;ɴZ"(s,RW)*N`5Qh#/K̈́\-AJTU&fC9ԗPlj/wɽmi*_Y̮D 맴$6S-s?O||9=ļNj0aL.nt!#5+Q!ZWOϨ8 ^甸K~VMKJqNVk.rw 7RiUs)ߖ%s-E ;*S!}8Q^}Y"bY+}iJ= Xr!wva$b10V7[eg2nwv;%NraVĻNF`o `k98C6}xqY R&*/O ˓"7o(V+9gJ5 $ Oպ'y꟏#{@ҵ]L *ny|GLqdn,>܆^v- TfI.WJ|"Z$..*r)դǸK∑cry Wim:k B:SR,SEVF;G}JYI%$>tjZ>~(9pku-$_^ϝT3SZ%3=?TLv<h]OQ ԅG (v]r9S*׏xvD+jZ=G'xj*u7%6y_/F9P=rU GA~!'E1L-,!\H}i9mqE¸)O 6ںy=Ac WX<#WWҵXY`BF(G8V|m<}  MoKaJSYmj)$zG2>&,13*8Hɤn8jR_'ʅ @jEs.柡;f8o:1-4t:؃cnZG ׿fdVGN>{vPDcj 5<\ѝRlNfQa(Z䈊;R,ˊP!Y/oC.0>Ӫ}ڑCÞ6%fmMnanFRJNZ# t!Ev̐zZ;EVt322qw`'`֨RbIա(7)X:N.K`!G@c|f+{C11RTܜ~6p(k9e )y]`hZ9vZji ^&ߜS-+ш8 8NB_XȐOBs+[%A sqJ?)3)1pl^؏HT]V[Pmɒ6?MH!luaҳ8 3iB&Q7ȍ`!8N]+10ܐSq)]s([@/$}mNh QBnzCQH;A j%EsRe&5Hg,~-4 Ka*; ÒBӲͣL)%q5Hv, rӬGNO8q,SXX Fz} KYcQmo;+ukӚ(^VJ$'[Xoy`mF*hF76"yZ&:"ILJln/tқ sl(ީ{@'[XN˹JC60cڼDZ.˟=}TΜR7 e84~%Ƣ͈;R.62m h Ǭ6)| -sEHZPv&1;,.6Q8,k6` UxfYFc%9*jhk凐}:YYq*&{6ۥR-Trr'HD @x_)m2ALS7G¿*9`zl>E P)/ bCh&p|CTH2w[o,,[jrUD),nu-z^h!?bi&e )E#(<(BmJk*rTBD8@܍❙5cvS${u+=趷rm$)EHr4]ڀ-%aJUO K[o4XMP7Rۅ'6e̝NP77 M+;(HVVMwk h)zwU{H9T @ȤPp)\~pVMq6pv1)#gNOdեaRN=rPiڒgAR䛻%tBVq[i`KwY$ui0JIۤo+B&C̱70)%D32[CjX8n4B%2J?wc LAij @!MHJe$[]&% 6/, ̉?#-N.6b.;՟[}Zg `ZV<%*P['h'`<_'Y++P&қҎs]Hc~WsÛ*>]aS)qIPVq +,~-Av%SeJyN!.]RR7[şLvs5VI FO ) VZTn7[)L6TQ6]R6ZHX '\鯬KImúp B :؁(6Neʥiyí}ik%KR͵6^P-$L`+%6MÂ^Hi!!WJ4 kXBߒ֎Z`83y)Ca7܂l|h6Uva6Q. 2f>ˠ7{lzvgTk`nd4A)m>Wee nKr)q&Yg >5;HV.~t:{5|ѱI4%^R~iiF' A#)WeB[\^ kk>-ԝ\2koS&E/@HdowT'ڕiNj Z@deY-֏.u68Drl-SK* F׾^/ܗ$4}h@)wք)-rYu~Gi#*DQr1 b):UI;Qu Gbfi3PmM͈%o|=8fRETlc_(*1.'`ؔmv'SBxKp̞&֛ZP&]$ CF9? h'Kaڵ*36<0~R}2F@>CD  ) &gMPL*3 -ARAʬ(6'.oIOVZHsPHymtp6'IةVf(KqL*>b)ZEiE㾎X) AIq3RWEcj,ɱ/c{V  䒓7-+7{wkP$X:V~FՙxK+#ap%?jnaeju1C+[$V &XmB£ѝ5% v&f C͑}5ItŧCl:M;w168P(t[ǡξԡf#pY+{)s e&ZB<{||vNW+b|1d⻳)*]3ENWQ~i9n,PX pjZSY'T<|{̛A6)%"R}'D}wO:Pd98~?~8yi#~Q1|%p'R[$g(WbzKo=.I7b:yG"螴g  *8Mȃ0|*ұ==ZgULϖFWoU yZ'A{kƹNQ|$M"%->iqM(ʥoZCMutz~G|!҇3S wָW%\P9~ `qO.lzpsTOU5H/Nup->/4m)ԗg[rΖ#Njcd1q;X_ss &ƂUX~Ӧ^Auc WiPA155)1 6y|NM aFruL3^r!N)O+/L(op#½m%w/q?oB֪ێ~0%E&[V DQ\mrRKkJI#T=6zy[7TNKS #[qnUmJ$BhfLSٲe LTDjAXEůBRLJw8-C%0reEIJ?v+9W?,Zxasa`.-ym6\1 u3=*ʄH>{(GH"ҚAD'}7hSt&m6UU#A;B#BSeܨHo Fru s-:zD$,!8r7ZKd RVڮ bF+$eVr4iGdJ$6k" I7zi`mߔEG'{Ҵ;u3I-2$$[ۄF,~$3%,' M{gF. ])-) ($^~b7ӡQSI]*k)6N"7jҩRT@nɧI&rQj ׵ȱ^STqBIyX67UB}tuLǵ9UurI)%'S89wN8 ^KsPy+t{\z:r&) ٞ+,RX:Ceߔs|Yi%5!D/[[2ZN;fҕMm:Ğӱ+ou"8ܻWRE͵hjCjM) A J렘-? &eSMNhw#ۜ` zEtvP3ĩ!R},b#3:ܟnTleVëp^""hGF6BmM2H!]/H 奰HR; o8ǟ)IB[mJ!j>{ƷRByA6xN9Vu)9IO KcdŸ)9ҕ&.$9"~poXړ:r ￟R!qA.Bhp`Hu \C+Jקe>˭Qh:)6XSīsK0AդTY [2RIhI y~PdԵq\MPrIKAq岖W1gVA$>Bd&hRRUN#2C ԗPao㞧)๭7Pbx77/ bGif[mPgRs&"ke n?&iE kv$ J@(j[o:Y4,TҖ,< ~y:{-d [FeRﭷ#&0]J!jr"r`< h0h v==yh VpIV`1/b27m?~2Z!]~RY *Wtu>&AgI{0kdMB3]J̡ \}'SkE<1hy96֖P%Yad; Un]o2+O0y B;G˪U1giYڈ[r*$o|EVeɗHԌQ{I.y3:,roI(oG:WJ^ܺBT{npARlHc !4M'M+mds\AN))a+Z X*:nұ$.s.Jr9Zo} %_'9%> fzX|Z+t>4  yE`ێ57IFt-6( hu#V2-p_.˼^q JLjIfa(fB}cY~=-Ӻ/NU2Lmg}r/8$۝U¯p/s? Լ9r?T4\C{B"%D|I={.N)ʄneIH*t Gܩ\hm!xzQyϙdX@ΠyuMR ¥Tr\>~Qe{KTTWYPRJ|"׃ 쇖2J/^ T@\ˎ*}hF9YjC,c QSRu*dfРȮ~b<֧)9QiMLqfuyp()X<ת˜9J{ Xs iowJAFmØۨAu.vV}\LN;.`kt%YMcmPrUӆxÚ́?8Y*lTt ӏ{;sW̿&K bJMSޗqIu (x;&>cKG8si3( .ж ԈNý.{F~a/'!6 t3(X\ Q'w|Ƹ2>,,배<`,5A_y)0^mR0伵> cK6vv}"&JfN7;&`B}bW fd 8L7EfNu lw5hyISTzM6:CO;T$pi r%LFU?s ]EH|#I $=XRqVKxKK ݤ61#++b-Zq]-ge>{ǡ0698*O Pc%Qa7()DUl30ek~LQA9_O}kT"eb`;rwAVq2#mMג#CwTʢB̀8MMsH!ɹqDZ5be32-ZǤv+3ʭ~.KHq;2۵ ;Żvnj-U}CݸE28LM )uOVa+OdI$#:rovQVhzXY L&aChM. 4aVK-:NiS_tֻw)ء tHԁ 1|-8@{J^[ukĒv"Y.ꓡẽc]Hw[X~EʊnCj0W ~SmNIRUШ[,'2Bȼo<ȱkZfڦM!C3-$I$Y \,(0-G*Z^Oh̍( Mi $HGAW|.phuBk PdNbcluPekIŃ-u 96wg$oiqB@!=<K, x[5ܵϴc3}[{8H'5nS6V`t[|܇mM@bX!'{d)=>`6JHB:ɺlӬ=CE٫P bm Nm ,?rN$i Ӛ$ PلBoBsReJ؛XxnlP6x^Qqj,[ן1z[n%TQ.sm/bM&}EU~ zDCKG@,mEc L<&I)aiҫE#KKC`H$l;(DʤAAl鶦@/e,!*s/)?RSAxp(r@㎤ZoT k)ZK B&?._"ߍm9 #RRZҐsxq3{otH Vs q! 4Ov:^y.5RUb{dq7NQ MWƦϳHڕx֞M̮^9Y+mcPGȸ\-' 4dc&_]Hq D _+p,BH@=>y<%H'k(}#mla>K^'tSL˨6:M,-f-kx1XhK 6>lC$$,kLgjZBkMjL+Ǥ9CImnb.RM ZI ZŬW2Yat nI+'kI=a4a-m,T▫ &7#dM0=1tIQnc1%R)!D/~D䦋mnulDP+u<*QQ)I'_NbnS os:cH It8p\}oanL^FrRH(Qq#9ML&iK3mzXu!|N`p䧂U(ƘytFY-@ntyGu&9oiri-T@AC^IjuY&NU<4AǯX1 ԌI қ9OZhMe%HH _+D. 7Lr8%fa-m0d/L7Uʳũ}n1~qex0$*6LLCZAB y[rm}CQ9mhܪ@L}"գ`4,.p[ܼ$].y_Ѵ=@~N鱱sO0A=(ژ`J7_Fhnk{^۴FC] (@ZaiP=.'ɲՉS#,-]\aop>wC1|#e`CrˀY\eNb$(j/n;_^Ub\c.pۊ&z2rT9,ZgC >%$љ2/R9.VRy"jX5H\*lHJzfݥ%RzED{;J@Њ<۹ܺw^Fl<J0QST,N_/X`FJw+KfP &3PiHW[ ʩi$'mhR.`Ai[S1>T+ <_M b<1ΰ˫\_L-/t]"dRYy4hFglʓהsI{Т_/COqń M|3؆A 3%-na]'Ur{f"qgLvPCe5˥bnPalqlqܘ3_k\5se.4YwGG>%|&{[g|nrO-k`rԬR':GR|=T,,rYid铸Jh0u G=G̚OM8"_d 8qGk Iٗn_ ~e3fIXGմBF²DwT_F:G/FM>^e0:\ktZ,L:6$5C֒I$NXP;MhV"qiN@+-9тM&+tR P Aq+K [CtҏC` 6 ӥ qޑ(;@eIZ$op,}m~3yI a6s!B bьr*8).H?!Ke!gx|ӄ:<w MC pK8Yl([)?~8!{e%h'i*aBjNS)jaH ЧKH\jHP̮͖ZA\YTTHz{UZ]v]K9ti4_LHHI3kB9cy[Xhn%YDȹhhh+O6_nDj #"5#XW\9Q(*hM$luo+9͔0~ȕ]'{Z\7v-hYP-!U.6JVͭ~zgBwC;Ո~QGCLjتLy#,"ejq NK<[Z-UG\F-Z[:dMh&_PWQTRyJu@kbyDP^r8#(]m4TsϔBA6 o>D&AқJR .H ̬d#Z`)AC(/^3zNzi#԰ZI:Hy{nYHpb܌'R,-h{c5\Xx\vE-6VçiKm?Juەݕ"YM x@$m't=/Oc[n a^ie H#*uNQԴ0@oѶno Lڗ qJl:;L 8;a4>Um QаT&r$A<,l"PeM!+ec6$%_]/Xv]iL/VDLyˬ\`Dd~{w皙w uhRR_=ӹOȏf$.HP5:NUZP>mv%#ri+֤&$.鰵 xㇵuL2S v܇4)؞d3~UTiҐҤ24b-%ǀegQ\w\T/CQkPxoK1Vlo1.nhaw*&XN"H.xU4BIIJs-FHKHuZ k_(K`.Bې4t8NNLbnk1t:IJ[vpŸeJ&:8f2RjX ?LeR '2P(E6\NǔdN> w _.4` ^f-øj%UM(ɿ-0ЦT3$gN@<הiZj Tk&=b0$FtVmQzKh#)ƌI$CAy7($' ,55Y,"/,$ˡ}A·Vp>n=FoX1 `ݣxVOqbz\E ĤBWnX7ծ̉a҅԰v>8VU>4{UɷX N }W<6C|!L 6ԓ}P`ʊ8b<}̕ Ĉfe2H3EYW,|S,(3LiPZVE *g,%p>sh1%i%~ s};#l=P+u:& @9-6IHa*]ے%.w+8FJ)$_1˸bv;UuR$6ef@/}?xgcpYN+76eL):?vrU "B4˸!O,U+$ujuʵZXjGO'qSQ5>47~c"'yBů{hE[tqE.&h=)I g4 AaBNи[,[m%)R0IAiO~xYH'oh5 o;o R9FH5~4)z60Oqxҥ<'jD}|)o-mz,@qE$peˤ:*֋Ssu$9P 'd2R'+ H\m'J9!آiZ Upt˂uZܡFiP(̺%FNߗH;%07 ָjԹdEG,y.cZS/ݱ*d ӧ({&ݎ9@$4ᾧu8!HU evԤLSOJ 7*X|gۅmr;$c(S9nVnw@ AF JR}O?OR)&N%i̩kNJ>#-voup$<^e뮣AN`&I E&,fy@VmI/߻KW6oH.g4JJZBz'.Sk\*.F[DM=q%0)';Efl"`'o%%>byPX}ͶZmrӧ(?8亪3s)b^dGV>,qGF]ӞexT ZmVMɹk!03{h}d$u>rU.rSJm)dn DGج^@jq+JA^;tQ;_> D1R))M]Ž"; (|`oiC'qD9^ZDTx‡U٪`gVm!7!bx>SVrX%Nr mlmuF4ǻo@l0Ӗٴ!$?=vgRX %fG@f.7; MH) B~2{_({2YBb5 \^(0`tdCs+$ ibՍ=OwKB;RRz_`s@DBԃ/,k:\(Ht]`s4)wZyk~`F7%ldƙi`.Ho<().pk찒G"^63]+?*hfSxzs{Fș$D4V3dZ7$Lm:]hIW14rJ7z0X0PzQݧCtXF 6(~Q[dWrO]$oXos &GPnGp#PC%MlDr~c!v\ -Rsa<m3܊I^-\#yUJUJVpP^'nHt-$dS(ڊ.4 Ls ›WL^!B(R3~RXXT SE?p 3&qX amR2ʔ\*Pj̲gڕZn(8np$QpTI1RbyeFv8ҴgM7~XY*K ao)/+Ƶ>QtNc;ŮyCcRxoKKJU.E^귑61zj<)${d獬g>U(na|yq|4VRl~]ThIS#UגP$j~~wI졵Y[ zHCw FYٞFls[`Mm1ޡn3ɮ5%ccIɘxb^eA,417nuZ$5URtiސ( aL%U蒢Ha\.Ƒ)}:X'Quu: ̤7uu`쯐Fzm\4=,cIsM<ۍ:Eo&3[X&Ez&& B췂>XJ2 w~h#yMhpEFq_0eMtLU*XZuvI'Y4UKI^~꫕u'i3 A y~Q3k6{_am3μ^:xlvKu:<ЭAH[I7,Pip $~V48nF_J%\i-͔YG_3=n$8)<;&fUW4'C!h.z>"#;ܒ4ƣxJ),*{Z*o/Ďm6}fgVi9R,w˾S Ew9X~)#wUW*.LelG<ǜpv͇1!p}xMxCr]ܥtXͮĤG{'@hK+{fo%ziV, uw=q~LJq%![" [9],x+QI'%( f,悔~dh^ɋq~A+i}Hܑ7C8z/(a2lֽӮySbݹq#gƧCfVztNb9iV5,U,Фc? %vW[yPNJbV2UT j@(aiIzK+_ X1NeGԼI~5;Vʱ_MͧF 'VYyK:kf~ȋ&Ka:t yW%Itx49o  efdTr ; CyPW.%R3[ch1mPVaj4N;.<@mt.^T-STvFIGBrQNVII<˔)ʂE^qiȀl%47 NqT3qxLM ^G'bP"oe{*nm0=նTDɩ6P/QUJRIHq te0 }rJa+h*?4atML0yHBr ƾ]ycoЫf]I'1u7̝o(Ȁ&૞]z/C촣0Ub:hJH}J>~|EhbZҠ lmXz[㰋$ge ۟/ LԚPE4P/\RHc4MG"5[E1C[QJH ,8ei¬UkO+k{+q,SaNĔRH Z %:8Y Nm ͪP)QZAY ^6r*Җg9TA:ߔ0N,Z(n`CPJ[RV/ӟZj=҂se$%'[Cpnoi `D$mrdCKBrvӨY C0IP;EJB(\ۭ 6N9 jF HZA*ә]#Mۄ禆'pZR2Y4.)/ex^q Rk6 ;g,"zkq=BmaBu0LPUp@E6§_=*YD›eET5:t![@Vpi p:~[\|$;'e]ZK*]#-4gY^V 18OrUO&"_d}Z2%W#]A˜cr6?xE*S\#0.Mcqch/al+ 'OSH:#(% jyOlX?(g'tM3%"77u(jumV*Ӡ;=ݧ{hF#X ]Ϻp&YkR9`Usѓg2?XpNmqƎ`(4*]MZ)TXPH(SNIvTW:E[2h(922i-U ?5QMy&L?Ms"[R|Iso?:kG(xJ1jB)_ C>dE˳TjZ] e-۸Z#n6E`NXloځ\US~Jq)PWl6V$蓗;poڶrfvuԒ@M=O̙;kʃ wr#?gpAIQQ 7"`m}dQ-c5|BPAJƒ6QƚH4-jo11`ܩk$K[Fq}:~@d.tp2ej]q*e67Z>RκBuI [A}}b=nxDžīJL*ap4{QeMօI^'MZlBE@{H.$/3T~]o6 Yw/ |$ęE&OHe*I7&64:qS ̽-r m|86\,`[ںMڜUη18e6@7vTIK[HHn"㉎OܧGڎMCSɇV+;$)jn+) c-U*ˡ]mdsPQ# ~nCg8LعjGYl$"x;NԱd)zKU.]"nn*iZM]xC>^|SR y7IEHC$4 .iɈr8lJ\c4>SJJHiţa#6P9/ўg0ܲ'[J*J mzgH8~lڮdVgU%RI^ lF8nsdr? y&pE|痟*030u!JSiK/u݊$*kai7_JkGPVi39MrӁ8R ꢮ^{ZC3;y76PssBUM9r2۩pޕWR)86DĪqG@vZ1uaa5eDO<) Re,Е: ~>:* ՃX1.>A-<?7RyKz|QfX}ZLF0ŋ4mMK߿rt3D bnM>j4bVG~t(_u<-DK=Ym!4mAO/%)?2NZ%F(};+ %Z?eK/!slxwxjWkNJ^Jrvv\ @HGc؇ӾszN]aĕ%.lrTA78 }6-I"q {GT*s :HmŅ"զ hC?{8Pm!lm94⪘yV S/ewwE2ԵI @^\:n|nQyK0vpx]lNSkT-Ѝǩ]_E0lY}~32C7$REIloUy5[lZ1=v  kw*dxgPk"JdsYCG2푇qBg|M~n+.3ϸOPʃ{3NLP;51NzUl)ؗH!@\Guyf&C, 7 صx?8kfY/QKM\`_=-F}G=ޔʏMSic'VhX_ O_C=ԋ-5YH.u|R q"cɎ?y@r!a*ț[}:d=`E#:d. Vn}NY@<%jFXj)V#M (М"-죥jeu\ZA:!M5*O 0, rT|**r)0읞I-Y$ۧ#t(^m%wwO736$i@'~$<}$'JE`"hg y'Kh`nJQdJ*bd76 ys#nSU|:-r/MȥӛJKL,nFX*ܤGr2)y@yrQ3)$X4f@R;Ȇ "rB]NA`nz e-gM39,X$Yn{)/Ծђ&]%Z,]Dm9ΰҵL̛.)ZW0̽6Wb*> X\=5c6CX1BuC"թ5ϟ:T($Y>Z26{>Ч?6u䦅6dͺc{@Me'xIgC4YX>fLK7nOiIR<@iXrSAFˬئziT*VſA.vX۔23jZWI$yBpdהwl ?2u,uaF6uy)JFj76M>|hLi>x UN \Q$M11hDIMZMJ4a]nI7hERGy6$Օ$)*&ֵͺzNBnFU9J6}x"vReW0$y1Xw)jU@hYgK{ h"D9/Hz,em m@UE  iowUM}n('.\&>PJ-J#kD*\j 2eRi1Xk_IcdFsJ6x~Oh Hy,ѕn-kA`'kPXeO8}7AoDREVҶ҅ȶ!=u8Kn )ÚC0Mm_zܺqRÉu[UچQ%DvlfZf+etd4Z|:6ir>LW qFSgL"r-\4S|̒'^fVUkMb~C7"2ip_E_1VCe;)wdǃ\% m$8 ?|z`(Ҹ< ٳ0Rx-pRk.J*^~E%HxD1 &m,']$)xLg!KdedXP쓠,^/r$iXiJJHH.zo`Q{ KGI`ǔ1~S'`Ҕ9J GJIϩ[/rt>rqCz[}yL&-xô9OpD' :\[NSΉR]7Gu\G(츝x\~!h$ I˺/W?ԼҊu^~Wq>cK3 8v}^1ļc$"aK* @7G#|0`u&oDfiyP9tm/.Nf*'13UPewnʲFv%6F^󷲱dێÓT.!`Qq1 V%m-4[0Mi=G9nV WcwMʟrn]JUR-Ǜ!:{Tf P>SY 6nGxϩ:' ,>R_]KKJ(8oth8Q)!"~e u9 $:99A9DE0b1!j0qH iK`hǰSF}K&`H995[ QEwI,U %):amb>mP6b 3#,:6&zOsfmLLY9MGRXjcWIR⿴~p.T)p^-7))$%jRÄ]*HlMkBhNEwg\ׅx'X9h%.P +Dž9t`H6Dfwʫz8t&Yo'S:JtQ0$}&VJy@eGhA=RsY4ޓW9:vX:3LT"ޚ *~׺[/xpwcn;G\JL/0[K *B4@iSs_sӟˇ>[Ov\Ü?^8CB4IMRiN,ů] ĘHթNu„C?Xsu-oj.V2t,_1;OjB6L]}9GTt| #c xA!h-nqp.>Z)*Yp_\=aY1iS'3Aɑ7{Oj4W=tZ'>)Aj%@@4eF /_E\ձ]<.JҲj2Zj7/7$Ҥ8ځmlMX]ll *yeS~Y9 koy?X|UwP&S mF'\ ՍCO2K !1LN+6$,)-2NȩN(<6? bVWapc,.jP^mGRnopL*\P#Ur;(Bfq. }>Ǵ!HUWC m+ =ҖեZ~Um' ͡?##u v )[7876)Vw881up*A.))L)&*) iX7mO6s$rEbaK EK2Pe10-/r\4Iҏ4dw$zh 6V% j_O>3QYKh eU;JCȪMԁoZ) &O*PRTpv&m֙"$`s(iB Q]K?}SKmEgu(^#fCMZlN.ON_#f%JwcRnް[)Sb7I+rfTPﯞ`emIœe&%KBFQxӦœpctHa? KUJKs4^Kob,ѠY!Uv¤g^Jo~EP֥[NjqeiĔ_~`c{'YK)JiȈhK &tT/ 6l+`DLe(gt='3t\BҠ "AN!C,<}HFB9~vȖUlm)Ak~~{DK-$t7 [iH|b)!;YpVnn >`oA7̥sm_8S /#\T 5St86~( ?w%x[SR/:$؋|>ۢ n}}VqjI=m&NkyN2I ADlܣ fΕ)fe}rz4|R;GxS& ,ۋ/bno#d)pbpfh}=s2nȦ 彏 =WXg*9PB7'Zp<d @H =b~m*wEjMo\BR$=|6mKTZ3@QOɧ1Qk[oXܒ#Kj&cU<)2Z9M/ -?0`2l@r\}:u qdN"eC觀 ۤbiJv%lo} E3$ xpG9?FAjI.]WM?G.} 6m HRiGR:4~sȱgi.Ͷ :΋Ѭs6TghU7!=NX9<8c6yv>W$;IQŘBVbֲTC|G=40_N)xeVTIm:pWEͩ&ğÞmA?ٷS"v^aR(OD+re#i'6>RRJ2Yvq9jUtGqP?F4b#T/R⫈_MM6"D^ϔN&3KRJÒteT)},ܓ Cp܄;*Q+VIhmԚ+u.Y~ ]C#rZ59Z[=?7# jԷeo8_cNA͊ j~*4JeO3p2ܫT ͉ɤu<,pQiy/c0@SG\#2Pol.ꮞ aE?'K*@)NЬHhcB;w?E d=ORzjzi.LNRDRO-F/!V7:n!#Q'h:F~Im/t r@$¹`7;"{c8J.Ӑ>~p"]~Q(ީ/}BK5*c bN(ʓ9tJk.MAS^~ L%*EHk?ᮑ%3(Cv{g8>Bf>,~' -"7al>=ӑff}J^~&yy)ʚd.ZYQ"<3G{lZrbJfnUkBRUP}F6Y3@L4S9u*m/6,ZPN+N}3Mj^]jlHY*R"8d˅T';TDK8ʅUא#(wv&S_A3F;|vSwIe-$ɲMշ87x^}vDee.&*jZ* CN^q{`T:+(X_Q+ &rf\D50[Zt)=߃:Akr$Heu0^{Ǡ;\X"X3Be鱼Sg'^)Z赲ٝ[&$ɑL4/ kN7ZTFǬLt`<)%BR)皝7*~G(DNiy+|[M8ᔗKl62vfpH%V^LzUu\,< .JRrj{E PO*CyI1Yal+/9eBrqDؠIXq ژ/"1vMI<.}28%@+(L&^'v%nHB]0׵#껝beJN'Sqb@m?3J)ŠMZnm.Zx|m-XvRn)JNc j\>V -L*~0 Bi]rKzbV¸ j`+HEQ2;aµcel7WqNUL% s9T$4x]}T."קd4 Oii b= Iwy 6WyDj}Q)MnC8fbxa@/,VNjK6,,v"P\dgjL _̐O욛~;b!e3e $'O/8KfopH!Oe0e)s Ǚ 'Zpi"77"njj5aPKeEw1phYnGkŪ7QVrQQ~O[SZgeJb8\8 ߔS([K9"M|V {XNf۫LěG9%'*uLWtA HqGzF7fT.)Nn aUEl:E@mβTpcSeKH`RmӖܢ)G*?aiek Ѓgq;yNPF-ҥ/xUm/Z>{ÆꯖU\x~\>P ]Mc隓E\m5Eȴa XT9)bӜ6#Kã'4S3!J@ _c_kSFs[[>Gs(Hh:Q"TIdHf;(7t&{&+teVRbQfvM8 Ta܍3xra2D+=)+ :jQ u$3tq?fS;ٳ+2H!/'o$k58 '>*mJhơ-3: Du;/u)x 0ͪfU}BZ^XJ{.7#X4yRJS{$'M'Ss[% V%[H0^-@]W/0ۨ`B-׉Xues)RnaTCg1ŝ *.GuWIe欑S3l򥀭ʉ16'v]Zxec8v/3&̔wZ&tǏ#]m*JdcJ5./4_gJN; M3Qjb@>.nUoB#͑?W"^CTAIjg3Me&*)Lw{ hVNJ/8Ht% V6V5Ej/n&EnM4uEwP` &/GI$2J >Iix0m:*7OY9snW4>͢/X3B^\aW)FackQ- ҟ`y Vge1)2t7 yn Ť[:ur;GBtd52{(-^AmaLaiFRRR:ku-òsTdd0:'PaiPuO8<`Bb h8UM&MS%@?_0B=)wL$ ,%O$ ѭ;QC9-O5;똻?[BߦlثϟA=GWI F.R XbqsqU@S,̙mIm@evMb$=kVQaCAK*Lϩe0:۞̺KdRC޹=KRq.f}.]9},#g\iO{$FD"zbMí),QlIΈE{#StÌ?, Rt<5vU6|q\k\Ȝc'Zm}"ܥMNw2$r(h _^2TĒ$tP9 8q-{CюŮ7Eg[ӥ[ދ%+x'lӰW+Z;՘1CDԊA4kih|pQĿ&QN -gCW.m{^׈l^B o ޿ECw"gƚ<(<0v%B6p $'7Q&[+ ogC7Sy&JP; P {\γĆG p~ugbѺ.q 4*9x q8\{]'C9] ¦X(DU7ewMPǒD#=oouro\/f[VguEEIqIs(+m!]ʚ舷vT.ŭE0T-:2 ^_HA ‹̱} Cj FJ ҕ aϠQ\RLp$'{B[ V?P|;|IZ*uSKi@'g%RS]N5 %9R KE[H'Df˘ ηT~aA ׬HJP|-s9nGZ'}E:]okICJɅiJ7܋Xt9.q * °~Je%ī1RF߷/{.g)]5JQKJ3  "&[NرQi+m,05/PdJmM jl y&C( P!#{iL@ E )è)oc}?5wD6YYiHCb%WiTexۦ/Q~d{j*(XJSo}4#iUrx̸^[Qmn~Qdd!p^”[ cXmVNVʆOd!FuՂԴm5r3@ Jp juLk3h9el8W炽x]BT7?ntU#M7[ {RdȲ)P/8<"c[T8luqR.Om6-XiV[L?9PKI? :w (ot|a=}l*^A,!E٧ ;*U'!._D*@F~hFbj`USz}KSQh产N͏'i)kT <ӍDŅt)b'J$<]:CV'RRZ!X4kKl7/Rl̤\)!m ?[t|Π6BM֫8GIͲV:Q7>Fm y`J6d!?O(Zʢ\eomM¼71,0/P&Ғ *,(7*tf3M˵7(eRHѬ(a0X)e1/n~Ŏc 5&:K(i1µS̸4~|TI:.WRB&7 fh ZGtV*#!->g .+Lplj+?;%6:[/];5'Њ/۫TRVՔ86EfN^lKLKL!4?)@A<5v4THa:\me sOzKLx(is/4-J1/>)(%\ŵ5T<ӷ9 ;[S;-⊀q&PtMBJРNyEïV P|R@^,!fuJhh4WypMZraQxZ>[!H?.r.6Ṭ̔$gEZ'IK{m_XՃi?de%_xRJRz~>A5JTATfrů2j'9) NZ-ΣML ee?RJii&_6ezq?[bU?]/q@873-(_q [W+"^Ns$؂[ҩ'NQGEݙ ZMC?)ub6_2JUԂrT/&xfLw˼[i/_XHM`$5Cit^ʧY?#))B)nh>3Nk jR9݊d򣚍NR3He( =D2 ';c(OSx#-2Ri||_W2z|װU| OONCCpWT4IASLxTѡh٠8df)JcS''e/ʷ<. \QVƗ{IT)^& O&E:lvRQ$Gx|)>h49-I*xkߔXQ% 7R;NiQrd^R=ǵqkT[>?J2fRNG%[aE8iW:uu>\]LTf5)[t0sHJrMʷY l,wQ:vk_o$얷OXifX`$s,5ݮ Ϫi(8RN7v]WI#U;GN2`uTе6]jd1 8䫲JZH;)z sԎ0qeuN"dYxn+sZ!" }lM+&ZIOnfi"tзeyt Q̾'>Q)VfC0(9f [ĝ<-~tDX~2y ?z"g}b8>,ǵ'*&`Se( zXo~d S'YZXQx16ne*YzTv+TT.4'ޑxgIJF:aL$n, "^+:2Ͷu*$FԾ"Ei vFTԄG(ToTxnVʉ뭉W V Qg~Uph9rO(KK&pD%H"x(fEnd(YN(WfЬF,O!$ER&pq AI x=OAMHqqxA678o򄤨F^8wa}L7¢מqrJ I7t=o7k *^vEE.bTEPN#tJ3DZIKpBw[lŜ"F6\e1l ),}TJpTNk{v+69[K'#VvD[[]ENgʹx+R qV w:{F~$5_ꎋ,+9SKK4ԥCO3ן\ydڎ߅a0pTd幱'"ҜR/nI:{XNHA ڤ @:[fpF)JS`x˜8rFiՑ@m|⭗5c 2Ә #)ɗ6HQ^B%#pɾ XZJ'N%aAQ Fe\\unCIAK4<\h4fvbeքؑpH"r2Z q 4:_ho":(vX6cpy^]b%&tP]@E9#_pY nyZz@bA 'KzD.WmlkKSf]$-AWY#mJV)ВIx{%G &ʢYΓ[pB uSPdr&4<-cܬ4 ńܹYI#byBIL,xm[0*Ū0TDm"R/SGqa +h2E( HƧVS͐!ͰR^ ]zD6&Qu3+ 0ʐs#{^ڏsVCK(A\sJa[fXU{&IS *0*ڒZpT AHӤɮg?J)qB)6[~q9J~~^Nnʾ7[rq-|ڑ{x m܅^ל횡ʎ,Tᘚq) #HhBhQ1 ?ܭDeĕR;IB#G(B72Q s o%8 T|5U\a}j9lronB+YPz|;V\TZSc-Lt4|SYo]bc Di.T#q9@bΐzG)RM2T % %dm+E}nMԞQl= 5wYw–tVKj H/14M#ȆYJJI"TxOFI!6RoLy) BXmRJYAy刼&o"#pFuNPJd77Xὂ8f7B*En&MN,9)S8Ag"O`j n~y@XTN4[)dZ5pJЙ̴ޭY7.QSN+q!.9kYm⅛XUC?e4lro7]JKi!Z\ybx͖+qs[iZ|Ȁ8"E WJT莓2GAJ  $*P,tN{6pPcL|XJﰠa|?w,v+pˈXšSC@I݀HLf%n럅Vir@:Xm3ๆrj\kK4_!$6o̤QK̟CM<&[ܹGZ:sJsT/ qצ-TJ=e L)=j-̳ JF{SSMSXz g Q-0UO-/x)ͳHmdX{KnLR%Q?$RB˜5K!贷NımR:#VR%6T=[lpA:˦ͽ2ˁ}ӕ+<⣇;KsaFZXv65Nɵ7JhHj4ޱ2X |(/cI ݋B9*n[qC,[Wj!+$;%)6zFN#nu#.!e b;(4֩R6-+fF58F'AuU!&I;VDM仱{qTRCA'w~ӁhTZP\|]ߙxӤfYG6yE7Lk, /pOθ2OU9e?U$K6RIJ&%EW# u D΢~q bmKn*^Q%o/ۥ@XBzm q~ӥL}i^^%}.B[qZmGNT`w<Ϝpifmԥ(R %7 :A8ÊBK)[)MQYLԻΠ-7q )+DOμHG{=6OTG"*I %\MbǖO:Xa7r(5X?U.?)T;@ [cU~q Y#-dbx\bu>$ZcS9Œ0M?UkJ5 Z3iu,Mϝ~JOwo;1hB)B%NaqwVDƃ2dB!S73OLj^6Bwǔ7$jI1-kw>Qxn6U Ǔ3\q7$=޳ha*9[ŏľܤZ+ѽJrpjfjM&}xTMM"Z,#o{)B|5.?2\RRIFE?wHv&eiW)0%hqJe ۝= $ZݟTcC\L;Zߋ]HG|#cpY$vvfê!吔E!(Xr:sdl # B!KVZJe8%Bwk~g\06|E7%Ll>_*JNDXg"F7'ǫ(U2QS٥] p!óđ="tA^\./B\‹c&q٧d<'\ANTxRmxV{URG\\ FSePڶS۳WO8"pNJOp%y\ (I;-;Ǥޗő3x]Qͪn3^iTɉ1K9&&ԥf.6E駈kI0v" sP,orXbI~2aSG^qP=!6<É1P6RbY \BH6V؛E 7hZl?ߝnZu JaPԤdsFF4[OvGx}FUӤ$#/Z46]A:b/Ts̥1 YõVT]\ytRa!E[ڏΛҠ8>P6BYǨ,&eb]7/.PnD'u>Vfo"zsM[8I-DjfΔz<JopR@VP""Q BvO(S]i-)}@ Qw:6YFDet`r6XX+u[ofrZ "_[AIi*i^βhtU 7$]77f:LtF!ps]D˲f7ްWx|{(I\:Lw*6QIr$UslMӟg8q*Bk-ŐӲs)^? ӯ%\ߖPd(3X*Fe%.iei򊮧aSznY Or>?~CZ+smP3-VnG!!+lebP)[q;ap/= CT qI-Vw qqҕ^Af kFKS #->Чanlԍ)ֽ%soY>GO/f '[^TI^k\c^] ]4^i,XlvM JRZ?tJn:htbC3$Z,RB0ה* $/7FDCn!E:~Q 4JeZҐom }$l%E6'aN*(RKZ>+ wbNZɱ#,wOiji2A9HN/G[ ܨui  :c[B=G3BAJA+i}<_)R=vj++]KnS nZ)8Mjn]cR1O9KW[=3q*",WQ~c5ү2 (@tɕB+XcT1@=m6]$h~Qд sU}چ+XԐu!gJŗbcܨi?NV*Aǝ;I71l&S1<-eK<_$@ۉ+&pi yHm H ) NĺmJy.`:ٶ!rl8BwVP*TojRvQgzfX"B.@FRXa'u.vAc QW6):Lguo k%tArZ~E܅&砎ϦtgiHSPE+A-:"ī2iBonf/Xvk`(RXyևHf!nnx; )VS8 U<1*[騃͓eaZ>"о f}dn0ۍRe Eա6-̺-as:H ssnB I+nur. )Rg| /5K)zE$#J&g |-v&gI:7l)%U$Ji}7RGMax$=*K23QR*(O¡Tuaë.ܫuq*n`JF:z&[C"ʅزIY򱔨xU˟-ny q'{-*5>HSAm5KS*;$SQ0t$ oGϐ97Z1)aS,ʬ-ӈlEI$eO{RW%ծ.5$6:Lrۭ>AÔ B^K(w*'#!w)Oͺ?7MKlKL))'prBHlŸ>R^>̈́KcE9Pը'; C3fsb8<˴'c>BeBd$ةb$9Ap5$[_ =@W9i!ۿQ=R42U5̖\ 6rQq> f]F/@3MңV[cy6r=Q\6iqmrFibn]]rYkQ*'THH/G$n4d+krx6Pql;xZjm6Ig3w-KFF3?MFnn'tRޝy2-RB9q-Y;B鸞zur:dַfW!%xkG9SC#eQE}F\iH67:+;_U\욄BMɖ3J]myM} )]K5EW?E=ڷ5%՛S+TDі˚^_97:h6?L[u~SOERhe2 %;t=?;bh}mɽ( $%1]fOaV]ne evcFP}ϔtXX E%}u*K7:CC' v &έ7Z[D"`G&fYM$(I9Hܞ{@PdS,*fۆaKԍ3 h>KlQHk]3.ʽ. '1Ȥsز9q>&=8T'rV^O (%s+VQ}cZɐ#!}P CRT%KIۜ u%d;SR^k24IBFӖIN 5ٲV5nvQ E:Is ~$'ށݠGR]UL 1zO B{meH="CR?qS2*fQ)o%kk*ھ#^;%)cReNTfPgp?+DJ 1X[eAXom`H{#7-DPrvF2>0@V&:FL;_Rpe|5x~q-/!&Mi(*V9{ _5DCI&}p~Ő8MX*Ca)䵹BqG6lndTP :stC 107#`7a$bL w qR LJ]H!hIcH5x)yUM!akYb?5P”I%FA= V-tFW\UPĘv4..9iW'i1O\ՙ*iG`EQ)G~fuzоa?F0p$֤]d]qZhF{u<9ySԪ ;7^Q5nU Yuip:ZZlo~qTIdNeeRi4¼h4RֵH &$2ARUapw Η 9C(ۉDC:(FiԡktNd{t^!vG ÎŶ蓴l3 ,ϟ(#tI~\Uu$Ic^Y8RfCJN$l9h|0>PSpz_BQԈU@|&nE8p8Md% :0R ڶ9]Q\LSUh"()JtfܐRjm%@(k) ld^w"Vmo};UJ^ %(*P{X gV:o >_w ;[QP {i@)R9K\αаn2H訮Kʗ2q>52TV^F b/)y;QĄv;CUZyd }X2H{+ɮ5(ŪD)q VkŃ"`^#B9$o*4ȣDɘ+6I;u HFd$VuuWN<ἧU1?8l.m?~Q> 8tqr5!vG(r9#>j^)(Mj~_Rm%±<3qZFGǜUV>ZTZAj[ ;o?EFdJGXBo)P̫6[;7NgzOJGj`,7+&ܛAE`A~cں8gx3'N6R1СӚ6LwRI}҂mb6%,ql4:ja`Mn3)U%V۝iK  Hs-&Nt**H@VIڒPIzƃ}dQc#Oxr j: >amL͍8J)~o "gRsvZňRP7?XyD Z-y܎q՘u57 ¾r݁ dtKKDn/`sN3qcɭ-xoG)cexLRw*^#kHŚJuJv/8pkm' !d'[øWfRK,-u!'Ed f駳j*Vk3>mĐvOBIκ/0VPu{\(5E,T\[mG\t=£8:Xlx*T R&nYI#1$,+hn먝gۋh:ֱ_o{]gb-(=Z[]z@e-:rE$4R벏il V+wxKfQ*%$QĸiԒ$}m:aSUAlP%{r, 8(x^{wG\QYJ!*kJIA=[c˲ųtY#-5V}tēm Kj@Ӹ)F{QńS-eبYa&'|&h/14Ay^;Kj 8W?0Gj}. \qn@EGI!PkALN㟿(b>++g$<)/JNuu*ہq\ۨd-o*q Ue SIL4QkOMed22 LJ)3USf@nXꝷ6 ;6c!.Xѿ Q/LV*G N3YPNu@1ʵl!0%9Н܅+a]5LMU--1OtfE|>P  Fx٪;WJL)JqVVu+@DyMN+?E(=9 8*U;8V0'ӭ!Zw*БNH);M&ln ǿ )ۏeq]R*>"M7#HTC+)ζ,Ui5=y:U&$8ԝc11l܆LfU,vv` bw<ɵw.fb#e݁C3̍ua)ji*JIc\X (HrxaFa%o~;ڼO,~m<@#9]!=RL-EsyN>#Zܡl|@QYs% 0;Drpʟ05a{U^ba|ySWӜ6ZoXU&iKlm(kL"@5L~p&CKȧ:@)̩{rt&W {/9%Q:R֊ f#DAB[Sw?􀰱<>2}BEѢ?  (.. TU‰GxŦ e -FX;B=Gt?22LIJx%꫏?, ):9mH3^EWݓ .-YWҴ6@|\G:1|Ac:˘l1[)J| &wj2z(H}5:P4Raj(UԀoa}l:ľ5Q#N,)o{ pMz}S6pʱj'XZ[bf =0K͊'*_c4c~FzAxS.]7 DSL3_{U`zCKML4 #bqk2C_̡EHϛ{kyĤPCc(k[y['Ŕj:pP(y꿈7`tDۿkx U“-$:`wtG@Ԕ-LMw!@e;)2<8l)Z\|*tɩU/HI @6,QM S,ӁVO!mv?Ngߌl`D9:FeZSc"҅1ݩ;,&Wv$9XVibB7~)&ȝ]])Hea<6dQn|YIAQbe ))+䦷eb,T$#r,s |R/an ;0R3iS /(׷E͈H+ 70.$m 7(wђ4R8 | g)QN=VJS\q*eVtHŜ{\wP-%Ɲl*AD ֟U))Y 'ű< <H8JRjLc)*:p)}Q6J0Rg*=:^9njeHA !9'(zld١rj'iAio6kh"hDp8R++:A* 龝6~,bd['7M39J ES]{s-K)օ$O"_ՍaJHc>i2VQe#i@I2X/K(PJ9GmNuIL! ]ur)ZA&-#MbK$JaF,iQmy g_vү-/0̨J:0篔sW/FlMM/PyRQ84ꐤ)Bl/DlSݭ:"%#RM15l:yuێ.ex ?Vg:}RX^t)m|LflVj2A!H [u:~ % K,:Y_cd)#12^}#杭%쏩N6Dᾛ|fFmy4= )W[_q(VF 5i.SU-?MPqR`ژ %H/#}b$.GGEXeN@.~#~uI,NN:ܾ.6a}/Z̏#&il*vK鵮6XgPajqgeyeC^ujO5#4BN7Z;S["Tk}?hSu ߅ (>s>3S%. J[إ&Vh_r2ʺVVg9ORq hRJқyѫHabyQ+O}Mi3Zp$;pQ$hu!zТun!2q&e Waئ_E.7Ӌu)M7OHwvqX)CSg"PiS8>ϲ.ttGArNIRgXӞoܨI>Jdi VNZ" dXOowRʤ&3,Ԣa.alDxMTPyS{Ll>5hƴWb 16J$GWVq[ P"_xsdf@Kŵ30 %F>g]yES C}|9VJ gؚ&BG֕N;)]~^Գ rZ"{L?u.h*|ضVõ3\0Z9@e˛M+CAܫYy^5I)HLvm#TiM{ҭ=t>! >(twÆX^(!GiО*sx}6Ť&(wmn@? iRs,:6ɋU |֩'.W'H]J6vh6rUel=`|@Kk@;BzZdԃ-8ӷP81GxSTwn O122򝊰dm\)T6L˩ ym/xsCt[Z^RU~[ǓȐò9̶qsOFP.;!fbbKːt)l &-*($ ]r̲L$V$zi%]$C3R]AJ;>-6wYZ*DHY]l5H?Gb3=ƇMO JLu[koJScdi#e9.,xMο|J==m/4T(NK˶JvܷxPg򉉃6G$V:= 3:a[h[00ƥ{?Hv8T6LZ/TR-ל'\k[) 4:GsNJ4SnQKqVxyLLZ )>4R)s[6!)scd_!7#{v C-)NIMst kH?-A;PM @KCv:Ƶ ^R++Tl%N8Ș Zouh\e,O0B|'G%Z#heѧwʀVbM6H\Cs HQ|VB>ib6Lj$ ۍ. |6u Hu] XC8ZI~A| vqԷ rҰ, 0G*c3ODp\o>;^Q(*I^U:"Zd֔HXI 0LyP:a0Ujio-ZSn`lEAI LʫPFaNeO-ۖ`}F@݄^0-*CWЂ\(H@b R/@wY\Ylm)}-ͅ/OY$eJoȎgW_Dz)F(T|)G+wW2zIY,5u]db6i;@E\qe:@3v t޳5ܫ8l-F.=5Zs;+ťa'ٴՄX$I̘#yB4כp*Yzii"`E- Pw:C \д^ {M(#S-re !dOx088XCQQa–;9}"G/d0;b6&וbɋ= o|(1G&Ğ4%p4{H2ZI5(}d, @M(ZR.v G6S=2AL6%z?E OKI ԍr9E7',n0ԅIok3 Ȱ#xuEQqbD)opfml˄ ܂Q[h /6P8Fmr%V9;(j}jCl{1,yx')Y q~sy:`!%Ĺ|U)8]mlR@i`z~g%q‡Q^QJ穉Z*(kNO<] Dl3JJ+.*_{ &%J%I3-ejIZLbjs0 kXdVЅ Qqb9qJPQ$!R)|TRu^0O+$! ehb%)kcX <*7ewX!8aZIcp7]{I-);] NBu1Mn* nra1Ï4nĘ 4Qin*OFbEmd,M?;|G1:Cn/enfrmiQ IJ 0Ty8Zqjz}$?QseM_RS/=Sds0wA9<%JZJ-?&=rV3=ӮeFi"1F$4 5q EbҞL>W'PhL<' }ə_Kf Xqd ]ʒeӕ sZ ! a w;ZbZwEzhDY̵#s^0qA澔ܬk*([{|$Q1Vr1; xoͲ²qar/i<.˴iVME<, #qsIRpuÔA)"H c(DG W*o4 yN) QL XeځajTԻ>51(l>X*qBĬTW$#xRvu >aʇHF%aʳ`ıRVۍaɇ~8S2mII:|!ǵ,-"BNEʻT1}Fk- OV>Tz·ӤY1zǎ}viY9t3Tvfe*? uJ^4;_!=Hb*m ̥kam+%W[ālQÄFHjLrԼC-%) )R=H? <DXSS!G]ܤDrci|On-LH*MO&Z\01õqnF},!Sd@*W D)݉ƩM_h0~#ǝr8ߑnm<ܴru}l3 p& Mvmn)oyJ2ަN &a(fMee\ZmiKܢ܌ "pMZ5.2RtH䠖ULeK [@.U{E^Ӫd"VTQlna D\G {͸ㄺ@Q;H<\Tn# m*F[[3 qa)!`mI;I8@;hj:–b:fW !Gv4qN Q*P6P؈LK+54ifq|_?v;[a4eYKO8'9i*MFR+II* rn1TIBjnE@|M:Q7ٸ$sOА$,L]ŵ[iWsFG\RRzXu81]X$?'(熋]aIiNGl@ְvJ˒njq*y;~S̙#ZAGTXo4vKhuiHs\)4NJ,t-LM 9uͥm%[>\@byS~ [i4XPF잝G)}'_S-886bBb9f$DN()ZaE,%̳ b1ij<>yEKL; ;yEW2W3vZ ˟Ækn^QVәI9;(~TROxR-dr xHzj} IHjIn Yg 8IB )){Ӎu2 ̠IJI%U-m ']4f[+pNbMk"ׄn\K©7c&|nm{p!P q?srY[ZDCIئfkjr/TDT\龛jlϓ#A5\:RJI̕hF[=c{ 4Tk3M~X((tq4e*NU]}!wf`V0+˵CplBW-'%B}t;tYK:Jšc[T >ۖG%H^ <]']Vsl ##ϽVq_2JqW<4UW7qxM7#b-t(HZ/ŒLDl[}wGQ!N^*2m؀nOHZFF#) Wq-L ‡88a{Oljp DkɚE5"lbêTFS)lWqi vSH%8YJIZeivIʄh>H|pEC3% ېEOZ-;**ēO2̕F|(P,$cZ+s) V䑮1Fv/(ajo*Spl@)<Þ|$ﶵ̫NKyr Úѥn JRmOǑr;&pIxYuI#0.=5U3uyĵ)8c942\1[]Zl ߁in?2(x9婩mxV7$iY4©I=zv&pLx{S) KdҚϜ( M\ 4Lgʢe'̰Ctܣxia$(KHJ-\id\PD6i*?3Q'$>yb@JNȽSM ZY)JH~s;~.d~[KsoҠ믤F:vѴ#<S`̠:r]hUL P=2ظx]`g! CniJX}&cϔh$U A q-bL3(E? 'j/AW6Xt:EC74]{{A 66N:+ML4.WG]b݊[Pq -l ܟnPt#thZBu.U$FTnJE6ugPH7O >άe$%πI q YFi qc@Z?d.=I05.E5&m*ُO3Zu,HBV,O[3I&cp./v9IC*)*tVIJ̤p輜wZ2=ARÁYBS">EF@L-JM6?O{('BEM[JTK!OV՝3E6=P9=./˭Am܏O+G̰QS?+QY.d*FƧ8wyL .2Ld]'SqrAqæ305)~.u**(BlUpE2k'b6%VV\VD;m 2SmXs ̄q+c? -1[t2spy˫;ţOepv^27(s Y#43ZkzAr걁D8rFw{_RIOQՃAX1\+tNƒ0[%k@1JTBԢ. LKd#Ze&4Le"S|y60+ڊk␦HFuŵmHhEpOҲҤgU|B=LuI GK{b@+*]@mJE}AῴTb{KcAslj<)frZ*zl_NI*cyRmmb??Qx݂ N >vaWr-'B||yܫ=sSPqrjO1j"#IMI8ڲ'6b6MZ)BQ쐉rIM$o! "M0D(ZDZ)]!oA:=/K-*q[DN^}S&imi6tw>Y&Sť0ۮ]!9Fk&>e^@h*m0kik)8rR)MMP7"#148\|9R:%J9:OH9*g*l8{jyhΉvF~"R#͸2_qB^D Kͬ2/0KE$ԐRA$$ﴥ+5rb2(e HHM/jU0ڔp9[E# Q7A:P4mcrwۥf}:ɀΣ0ܼKp; p]gFauNcx𦙦Z6ʮ9<;D A!!]t ^Kdcb:m"(BFsDu' c6s)3*V-u:.N!OvfatvΜBW(t<+ IG(ts ;r Bv_k&^AFإe m$K^NJLv #=;XتV}nL-mZqx#AZSU(!dip/shz<)iд{+V•0j%To > udV0ܴuQ*^g^qgf$f/JENIݗ]Uhe;jR] js4Oуŵ)y"TjQ6Xxm+ oi;?Oɭ%VI-8ҥC+dQ6.Wz$;oH7blp Sf n/([%R@JN]`NBq%$D@YlI>q~Ҷ(/Umyyc2o2[IsN!Sml`ä,4dʸm `L(6+FqG$>e 7H{kZohTkunf"(:y@$ưB|eՒQ\6hK@UK~VJ&)Q'50HlYstf%YTP  :XMa HͶSOMك*%$*rV!Q[i,[610F*C08Z2|"jcIJeNLiMkqzr6*^n@qRXKip-H:3ˠ2p1!.3¾MnQ[ NK6 `t U vajՄa?y*BXCUY 5(Q△2<4 4NAH)6xr'մt7!YJVMKJPNm82P̱$'>]Κm{&9TXKP_Oct("U"H,8xnL4d&s vב(abAO*sz ۇc̎lhqN?st69)HiF;PrLRM7E97,!Fb* y W/Ka ZiFu.H8뤥-$FW ReOd/{ɻPkR0.]/Ǥ(;ۨEu&2Rr?H>FFծsKbA0lαyĈ[`!Gw↩Y&@H9ll)S 򃦣,N`/CEɦ>R3.vwv}ajdb|Fԏ N2tS7``{.ve1R+b Y _lQÚWֻCENL\#rR1ag3F #Yy K{^,1R8B=tXchcP#s{ZwRx:t=lY HIM[ZD<1dNCSĈ02jaJsR.CcoGT;+m fs/| &h7'[ \IE#Z,xYٙ\̞ip >B,Ѥ/0xQԘ$~Hx19LnbeOwt g^vו+;Z[4lNe-1:Q wJOFj} `q_ XO&mBf^ wDnGfc#Mc>wdlm2)yTJ +⭘<"Q>!a)[R7r5i'YKi)6'9i +AO}0p-sHtFeR@I}Ǣ(HaP@rzO#&J]O?+ȁ*Vu<)Ȉdi dZmn I6#ng,ja;5.ma@$A"hjlaVj e-]ΦP2,r Uvf;]bxZ{IU q™@z{JE{9XZ Qa*ľ JE6v[Xg(`ꌳ,׮N.LQD$o/-u!} B~Q24#v1vLﶔiqײ VM_)V,O)!T̺t/6r{;Ud%-&.PVCZ6yM([PoQz5ddZ6VsWLKlzÿaRz~Ǖuxc8qiLU&D \iq}{EO;03Z+ hHpj|XMwXZj38IM;Yv\XgC'otxg?DYrVt.5J#,R.`-LVK -6S5>X$^HO6O$x%B2kHГ&O-˵tjR{4{ztSu.-2fIU16CszZ\YþVQiHP6"m45Ȇ{dW_kEb Xt%8ɑ5>+m,&S7EhC N UTk[B}}Y4f4(sfyDX-Ki/EKRV@awF5mI^NS7ru=b-f)hiRM /O[zǓufʐ[(JEz9i-’|\F%ËQ䍭Gt`!k gj!R!EA@[l87SeZ<~Y .F`Ic7)Psk|F=oxWq׫[?v^Q` '1t%1$KkM4  A +uz)m;lu\m"9|U)]Xc7)Hw 6 S/IA)1ZBIPVxSN)3FHȻYQ9FNqQ+Zp I(,c(tK͒l:nb!Gu(ZfW6Rbcf+;_&}Nq+@%!IJIZR5Vğ:)yRPH6⚻ҎJK81m8ѲȻP[sRZsT!$Գ(q Rme#{*$, [h(^LmZ/ҭb*]*x|C2Iv7#exylRb,rw{ ͺDҍ(uWKD 6QvQt3m]{.)V$@ +5E7b3!' ` ڒ?0K,X}./hfe.xӭ) DDAdW2KpFh(nGݢ9J3A+pI)^]HGO0{0`좔&ċqqPCIVn`djT UA z@K~QHn@ߔv۞ee@emnv'8wLRު[e*] zzAb *p%Aa$n6be!L!UmAA׵!_9LsƩj AQ\"W+ ɇGoxb2*6YOη+d+\0LĂF\z{6 㹭 a]9ĺpWWt|^%FfݜW% _r p 96*vF=iKp&[aEzK^f3;p+XbPV~R~Fm_m⿏l5d'$'g,Q䦓=ϡRl[QmJcjZ\pyRt[ VtUh =rIĶF B5UhrNeZ9_Xc4#Yc `DOR _+)2k)qx@VŊqoD u#i*f2q:b:^ nIS%n4RnRj#5Nm HK'r7CY4ˣkvBdS|ITtBwH'Dtک.d0rjYbԸ=m4ԍ"7R}ʓf6jpn0d,̫U8TD^F6&i(矂DXEpDVڵmb M1_|5R5F ғ7pE ɏtp䬻)wJ VoXi{-DM;{)V۞z`VbnӡD-z|]j]I`iGZ˅*qg9{>kb QG߻&'_$<ӡJM @Gck7 -Α71=:N6ʕr~Lʹۏ6@D- TgQMZޑ:@[-x:9 i omrdVRZ `ItP4KC5󊞫// qJ舢a B [EA) SŲBiR<H_Xd{wݪLb:o^=D߅WxRնTB׶}ƝQAKN܃km~]#iP  (n֢KgT.:66f<Ҏ$i*ZTd ;e[FJVd`F攐6)C|Lw o1TіXSD|o&ۺTYQ}#SҨ9scb@oOY swR18pTE^P cs< y[5TLSr] XnV ԏ6GnJA=#NMd)HV=nB?׉Zq֮k>Qmc y1T3jvBlSQ RN-q}w 9T(GR-Ң אP>4|y /8"\IH+Ad֙[('ipfB !#(Þ$'vA .Dܳ,w N  ,-t7!oͷ.MR8Z Q h/ lyG8Rjg#iGPPRO^v T(,WyMw$1 l|jk `/Ch3dxu edÈT2kc!>.V(zoœM /IAjVB}I)%q-!IH{TwX Jd0l؉P>' eN aDO_<_w*aY {ѳsz{ qOqTLB~B]8`$bMb"D \N 8SBZZuɹ5=5=UZ"^QkN]!m{)"4oAL }H@*Q3Ki;@$iS+IaTy'xnit)ڨ!b.iod#!RXB5^'e%1 JʸKmo n 7g L'DÑ;J `8> ̑r` %Ԇ=PI ZIi34^d H`nҽQt)rt$uo^hYd춶.+GtJJZQ~p;XNKMVzߘ{ILJQo:Xxo_|bdlsl*!Аbgڙ&Jeo DeD[(ݵ8f-VH=v q^4Ę>us~jb^EҴYN;DR ^\a2`o=RhDϘP3'KXz@?l?l(Q#8!1*Џ]d>a'KSj%h=`!S CTGZjAD\Y*831Ӡ#N Rh'09 i~`zlXeHG,!f$8uVy(RJM-3Ol3@2Zv+'~Vec/;k(G< 1DdpkM̼)H@zwNwT|;a "}aIJL.">/_D   .݇eHprL\)V=ᲇ0F{[Zܳ^)֐Y_#]#SYKd1:h%4Q%s7IƴyF ⵞO6ý̐#JVinmuF>۳ :3J?]S mEIW0cuNw83*L2m@B3zaJ[9WD9rJLHʶ ;XiV3GM-Cb'DgBEjKvR4'ؚi(E;,qծ L>:V)ɹ7k"8clv%uљCj%Hê"l8Kv-p/ iTk_ qJ~Uӗnx^Q;/Ydu!ƻA(~ڶR''9- \jO2zEO3qO`*Qdئ fYn1':;XR1pNsX~&Ze/a >p$!#qJA˰ŵkXnaRt>T[ jNq(c] j"K%0ܛhQ}G)%P⒴HI e0 ܤ*13{IەHUu(KN&ѲiSie !Mqwo)*˶_4鏺D Y)//-הn,nGOf$׃->SzYXBH²X54EP3ќD,(#ʢf9/Xw3Υ•&:_})8R0v3K-10,\s#M@|o;G{q($[}?)%niĻݩ)ˀ|R/dPS9pXu&[a0@A7'jjZXPA'ϜjL"9Kn@% t"ڒE.9Ce KiSGSr &w!:'BUKh1_7:1'\T5[EV! Z똭җ$ Zpޤǔo Ij*()'*A!/0O`qVMnF9ӲtSR*nm ^f<4۱AQMK2\U\ra `[^1gJ&̶d[ ~/C$T^T|ؖ)V,Wəu 7~q4~ku>` s/3OTTNjPfr+zŇPcDF3/ݜZT4otjvXVVmZ܀䚖Whj4v&TX6"k򃣟jB=+T(2 ;V8YgW([&0i;)f)8N~[.G95]pIG`#ͣI>*MmwS7|) m]sW/0ǍpS5C#QҴēBx]O,@LX'<$_q tY}W֕;Gh|5ͩbSB'PmKdsH*}㒍*YYI0{XEK< IB *90 Q2L$S#NaÎn71}cufmQ,+tޞ3ah`Md!̛K' /}wHi{1?8<6;kmz?*W ʵҧ/3'}NET(˗RYGP403& `] XP<&&!k A-u$G5e.6Eʫ Y!Zq~aim 7!j x?TqXFkoMz p LTR*9z8vA[jSGe:su}s˓8.(MBEZdOi.?}X;-l7﶑(hnzo0c,s[S!J C{zMcHHtDJٔJ{Z(, Z(XikQ:/#5l{ZY'3 ZLկ Rg>kBfqHO 8ؤL҇;ui fSpj~IanL4ukH<,'uHc#r6a{D8HF@&f몴59)֝e3ct4qA; &?Afkm۲@oOa-skaqqmŧtU+S.4ԩMS?V!Tv^K ˥y@ׅQSG(Tj1ڛGP lh.{JҤٜu?x:V*çAf R,a,8xV[&& %Z\Z|v/I`pN򆟈kd*L}URO1]y[2X)Ret~1n- nNT[!6\)%nLbl/)B=5#USD0:!pR* uyD>3 '*z5iQ;BBZ4[=6Ked + a(wd R= BT(8ϦS8]"_ 1Sːm,%:aX૵)uݶ H8*犸}_ϭ-!VPG=(Yʎfe+ҙr8Rt v#Gpo ;(##JcH:9cVJ52\GLy:7{Jj~<捈NS0KLTd켄XA\tٍ>|?ǜj>ջD=b >#R >QPRH hZ?\'&>V:ѻ<)%Z(qa1Z{I Tyop%cSnv\|?6Nn&@6Mٹnw!dдC9sSDf=~!zv,2Tlxx&A5jNi6[UH7֔(hҰ[oBڙ|>uzwM#H&6GpZOqnY'kZ1S/lbM%;;,TJm:D7#s~8*>hjT4#a~wM 4)'ama}? YJY@ 6RX,KZBI$\1!uL3!T}/i#+Y'ͨ 8k8Zʍy;%V?'(լHz14lhJ8h)0m J؛YHism˥cnp|ZQfP m m29?MKzroh6pC3(u#2U4IFBs\nwF 7ʲs2JԒ-oXk&m <f"R]UAO=[qw\tǞVP70@nͨA? &J8:TYT RTT&\u+|'c ! KVt -*7;"6y]ORl \Hc8X1AICDK@7R~VT)[t!+CkF;N-J, RCBEZt6jbw:$?iPB i}OodRJD}!* ⻵k +f41&<6M@ M9 Лɛ&;$rȺ\Z?: i❈'Tf |1⚴$DR?H:R|ځLň^>WInпzxSAMeA}|iz4we/KZ} PqNIwئ_u!jBG_M"y*X:=Lu(,B/ھKd۶;' e4?B-<Ӳy丐C6):=:<M co.q鞖hZdM Js ,o \p rjQF.}4Z\j@_nB`}M`ڒ6B\h!iEdiD_qf#RJZlO+r+nPyVqNnzCAapL1K­'ϐs)kjKK Wo<2Ox(9UQЦQ3 -$܋Q}?nhrNA?̕b0 n^Y%iltN;OJ<-6ywӯX _)aҶJʙfl4|h:&G.T5;i /d꘺C[Cd-NP(YJ mJ]-)5TƲxuJ5z@cv!2|Zq*̓nl.a#@t':hi0Z"⛟g'Bm3˝hNy/f0ѹ"U[M"&]qP{y)kL#WH(fWP(7OLce9'_#ƹ#0[ G}6nIOHP{rI$TNzph2L'*Toԑ;UN.LXX\F1t-*WJ:R 9;yǥ:W Fn]Q'$Pr.uYqJ&B$ 4n1̍#t:m(!e90 Isۋ"xi}{^wWꖦAț7 ;G 7L j$[7iZvMISB+$h}ot/OqX\E VS0s PVޱnzjGmJ2|(W@M.5o45A;ÇNi%Q]_P5K O,)o "zbX7M5J{l:U4ǍF&RRiu]H_ǝgœ1m ja83&=Pmdt&1v O~DŽ$ f%v0յ>;-CM{R X@ es"ksBmuըz$[J!˼VHt`g)J8zm%? ZtP%# r(lSNoW% 2s{] '$2(u8Bhֵ6#a l\# -~5TX9 l&TAV17kL7F$8ƊETu*MO.yV<ape.81QJT;Q3)f6jqn. L(zDah[JWS TAp";)8ff7?*j7=䓉Qbּ/מZ-oIkdy%] e3L9> nf#Ӝ /H^'[&fXbU(PЇsxDN;WUdkJVMCno,c8^~1, N$\ih%d/vTk8Ln]r]\OP]'wVUr§*! QJYVU~)="wHݛL}Ql\\^n\}u&okAu]:ye1bN.MreeT݄VSE[[1 >܅)ӯQk ԃ}=]Y#šJCʚb߹K=zCНd_jf0))"Zas9 c$èwLx4˳BRبzE{/R=z4n{x2WgQGaJDp-%[u6(Y}G)lRlmSkY[N Gw" +}S0mf#$",`.0TmEX);I2+ddJ1-4;h;:3DZopnSTy'LЗ3kdB$QjW"/*3r;I Sa䂦;1ߤWs2+TXcM~)UNKJKIIXJ .z(`lcLsJo^cD鈴j5PJw-jl›oQyǜn6OțOx ΠDպ(pUIGy{  Y%R4 BFP|4 InN'Me!M:tC/hFXJ 5N1Uκ%Q&uΞX9,JZT|%7Ӥy 7`JbR_y S86/PHefҐt_u }Y'3,ZOӮBsʼt!JWL͊a&*"g- xp(9PX[}Dվ-Ҵv|"&Hs+FvP%V%RvI>HXix_G {>e(47/gWӀ ڀ)JT6h@JlhWW DM!BU2J  m=7R4ըplچ IBƄZ-8i0= QJ>+^_$vH$wHRmC&6Msv)I%$q+AO-y#I\虙ȕ&(EteG*n)N-7>PG-4'K71|Q\V ];ҋ$ln >l-K7nIC4=!0xH>M<E8mhBIwڷmy8}I=(N! N7~/&WIJ_TV " г={>d1 ]AV@z#薝QNg;2>![j)F?)0 q¤?1QRWX|"g:ʚrQ{ Ӂ, v+jD gj mhSV4Q)1Rq“"uK ,9z X`uxL(bBQE:>B-'D'mB4H7P 2JO CZ U~> ~VOU'/S+tCO "A"MƑWD΁ayOF`/;;rD{E2|^r*i'djSErMpUDL:pпW-6pӯ$8~w.zX 9w73*YȦ2p'';ZsԶ4!yzHѲkZ<d{%M!yQzS̟P %0툤xra;)+ WNZC9RcaG81Pp&1F W)ew#/%ɪI-JGOX 5(se#q4w@|@b^f;VLPZk's_o3n(Y)4RU=2AhGJ]G8g3S I=>C;R°驶a2怕(kgZ%`RRIrqx[Ѱf(wȪp2P*fGeCoN7.%g/=Ú|i\ɞp, ;Od9R=2D$M sN6M)B{cwi2fY{OIc[8C;l(pXk> { C{{ܸ\T;+ IIO!xc%Ps"R=E Yy7Z(ym5ԒHm.#)K.I,J4Lݸ IF67I5L]!`'m9 ƺ뒭%YHĮC 0|9s kDDi@;T_eve3stDz5F)6*`( t9+ʃM:kq(G[% y(N4OcD%*[ ȲMNzU5mIP [mIeVjr]*PWXp&@Z6H q-U%sr6jJt-#u-^p8ZĴ I-䀫m ͈;u]}աR̭kk\N5DŽt3QBXT 8HF\)HeW1'e][m( 8R|>I,@J8rBRܺ Im[S9#xD5#CJqi0<‰eXrA]nyOiNQOK̡% )R m6̎ڤp,>73qB wSBQJ~44T'8R1J̨XMzxi}Wb({_qW T]jHQ$|chTK{Q9‚j?uK`({[/]Hn ́'N!+[{zk6lP 4Ju<~8܆T(JKnR#D8eI܄Kq3 ܒ}D+&L k<[eKn*;oe}A#u9-) ZF ҜUi#)N/0[5p6Q]wfеG4j2B9R= e&H;t7NY<`%3^2f ,R)=رq)'ʩ-/܋}}KW`PtZ?;gQIøKm|w7-"Yؾ~gnl,HOx]G'H/M6)wX̳4C!6Qyؔ̒EH2*sNUD9cH*qŸ$i) U lme37y/+}aOhA;01TJ%ew̼ ^y=[E~B% 6vw*}Jh7DfN(@U.,[OLz^))v+Fk<)#Uxu'הBuM:6C9Ħ9Nv鷞Qٶק+F6R)VUswV~!E3d!(֝FIZ;.SciEdj%2ISmDdlʟIm XϘh =֔hE,ՀRmuX'V&-<30,llnE|ˉ j%,-eR}pM j13PBAlGޑ|8w)M0;$._( hbqCU !de]Ag+_tu[lr+`܅)ha Cdc=e*wN) &4!m`)%&\{Fx[6j J3 BBƠ~Y9d:C2Kt4=46@;¿Gi7LB4,hT)hm enS, XM{?X}/anf3RL%1ξꕪuP)5\JG+!H?+6vBBYL-rG)0N4_Wduײ__ZwbK82B>NV2<,qcS*=MJCHeڴewsOO?8Ŕh :L,;~kęD)VW@] N8qeEۗ @* 5"&7O]4%)s)7"uúeںe&3$6yh7Xnd.r SޓEn3ըL9o5 Xs 1QmʨLULq&$HYŷ:*hOh&[X(}w@%P~c=&K-G=mqI)g [J_7Qf -I9Y-KC-}jSuj-a5Rqi,ֲ{Ag8jJq3X2kH?(:Wf'_d ǘW%O dq:;4[u< (45~3 6h #EcH~G3ojT hq$ٵ$#SisO"F*č:5*\sB{\pTx&n\JMG8BI>TT>]`5rz i j}%!Yn%UX[̄nJ\xuҐ8#S¸I~AE&}C?i.ukZLXBaG:l3@)4RJ㌿q[&i$:t̡<٘L LИrC3jDQL`*=(u~,4:]%2]@.7UWQGN,n G]mA:<LВh8R;:Q'$ݘro5(ر;BZv:siy)Kr j3ũ96ԓ5/o)=)7*SA $Ja97j\Z{Xޕ bLe LY#nty)Z{s01ZIc ݤ,dnmAh$Z=ǖI.;\휥7_etٮ/$qg#i]Rz-6%(FԦژw)$" %E)l,&(?2|Ayiw1Y4"e_L%ĸdM[]/6DE9"M˺K0r}=/%tsZdy7)N6[G#zya?Hyiԃ [F.6ISa716hid'S[$HCPKHJA[[_8p@%ݨ幖4֩}`簃Sf0Nb:2V`v;khE}mvUpd\[ v'āqhמ.z[}FcP"QhYZ-6Ko/(Z|[FK]ʊ*7A. UΠ.T< 뀣8u~!k(zdqͨ #aųC5‹Y$K6X]Ow=Y,$(Ly$V5ԋ_ፖ*{5CsR7)-^Iqdm(\@Bl/P?H{˥ߕ'gRjCn.ָ'xbfڶhu K^u ]'-:sAKߺ|d1:ȫEO0`0lI^ADڲBr7{-:Z,QWT\ KD6NB0qs?X1W'XZE!QԆ(}rydo(7cc' uŎ( nh ~yXH aRږɂޮ#hOv g6$8f6? v!˩FT %sAw y"O5/nexI7M LtXNțF8Zp0qR8\Ux/'GC5dJhH${V6cumnnU-å X~7 AW2eI4]3^Wȥ? k֝r-RTp.LRhš킒e[zM*q'v) [ŬS;-9/!cqD&s;l#Ux3/0V\}Qڰ WRU-,Ecry_s dS.fBdH6 nBX4L-yO! K>%tz!6YZx0 ?72f7Q#!Ǩ5tSUT#5 O(JMm>Ȍ#-Թz JY4HG9ˌRx @UNre]5; 11KC Hqt881ny/XpLF*tIIܜRR^f<&uOwS)Gi>Od+C$_KFݙ(?ZZ/2GJ;Ġ;a-5Ÿ–p~6ܽ[2*\*ws)=xWG%%AKeRͅ իaR*oJ;*Ɵ 4u8ۏO#5N~ePTosx5MXƲymIvKh!FI/4 ePxX“u(nZ{:Фn>ǼsOIM"ZE &u)JBLs}cvO&KgqmߤsG ]%KXJ@mhۢyWBB]$1b.9D"\D@t8(ؒ-QNOPO2P^:aQi ʮbm'ZmQ8%x^2%AJNk=[}8ʭ8~!HoA7kk?*3n@l:÷%ťX{k/8Otolâ_Vgmw)YS`~Pla 6=Q}oŠU -IۅR\ P'OT5&Q$ [^4(L 8%IofөE<jRmNHbN֢Ӈ9|W/,2:J ܓr?(ӻS L2pi2+u|,mr;<3/Sm6NcVK}9r>\#XgoR ܨw!7};->=*⍇z.mXN<5 XhF(#*Xh .FW)n)_R)mGI̓E(Qt |PĴ3 }%;#4ԒZɦܶT I9석"uO-,]d; K| ^xOtnW+϶吡~Qa{*-=5Jp!pBG|u'm_t{ Y1Vwrtv /t-1drTMh.Kay6a9+tQhhD`&$!7-"݋@x %Uf⭮s\.(L#zI%rȫ_9Z&QP^jV%fx*#sAS 8Vz/CڄWX76q{%L5OK:Ë!9 9zRv0_ %Ȭ̤'8h["G`e24[CBwMR)Hm֜^Lݕ^p9%2Ҕ) 6d۝Iնh$m ﯤIæ5 \9Hd%pJ:i1wNG bIHQQIMcMdR,*o0 f}N_uAߤC:oeCHBAaֆuYF C'1;Rp$!j0"քzps/#otcM% ǜ K)1W3U(>E;8!8{Z |ʃߥl* Ꮬ6*G#dޚݸCLE8}4M\Bf.sw @,Jf7U⹛qjW~tXLӖ6QSqfs?mUP*M9n@k?X6=2Ou'F)̩ SILpǍ,6UZ3 !hJݕkҁMS?*=QZjOduԥ3h N60Wq<#+;1 *;2OW<[=Np?.ԝ$X* AÐdc ژ!_(qvi\0vO(Hwa* XNQBiD%yP(uQGHE|:jr`AL܆(g9TӞ] ti:V06t!=0%d&![ RHB̺KeP4bn)9^ L3Jwm)c)|}l=IyRxfZi"U2!"\|y#o S=b~ K˃NCc N93M0*6Kt)-`4 cIJ'bW1kLECǎ(Fh)GHXj]/x4O E>Q.fF^)\V8Žqn-3 R qV[6A/\RpU~q\P%8ȩ%]C.QwdDg(}iY䒵3ɨPN;x7K-4@X{HyTʽ57Ҷ_ n{` Ӊ(!:ɶ29!!K3-(%I[sqke7wJq}92g1҆Iݨe%+LZ3HJM6RPScoaG5]B:a " й4?Qux-HYlDG)xE5A>["JY\9lFƽOe^Juw5e7tY~>aL)7*StxIq!VVV8řu$2;vfŒS}"!jv(Øm>\m"+}&"jaZcnSa$$tĆ8.*V[WܻafţU7Qq.N1C j^m䴲@z| S EA~GOc&Q$Y'8RtKyu4@O % ayP)wSr!r (: b!ng5ғm4ۺ۟FRJk_m?.PKL/;l;G23t7OwXP lL!2(M7#r15kfqRVl[X9FQSy [pn ѧ2G|ĸVҒ }:rۛ8T|cˆk>a,!T@XۦaW4PO MVR\+ Z:>c.cORrE2\(O>~ZO6R\faB\:o)4R7k-l?'M5PN F̆ȀK.:[(9\qJ14iYpKlK}ȶjm,A X6 ~w$!$}&9 )~}@g8,NaGR 6$[0NPg+ l\$"bkOtۆO*n<%)|ʩ yhi s۰Ri~U\'a|r<Z:60,)𪕚"ZP6 @$a]0@{0$YmE$950Ҧ bŅN F*jRS:rH="ϋ >BsnUAam.XV4R{([QZi"Ff{W lL!@DΝ3xzF¶3 U.%N|:^#R)L8T'=NkbJl.Noo trD iÍ zzFےqKP@ps I vma07wY{ Nr:l[k;ۭA"c&tRkdkuvB>,,A1*F͌E6ڗr5$1fFC%YXSa cOi@Lƻ5ēSa*yn, Qcfi{IxgeTDԣ8k##P;KUztjX-=6D0Oca"^;"ZNbJ,ֳ k|ƎSJ5ljCܭXNQ~l8 >Snv="ԩKnrvhhG~~-ԺHi$+fE*ANPlA9[;]J sϸ^eX:P) <&ł 6[f,`mؘLn{C"pnA.{ݻsa&àڻdZ; 'ĐPCs4Ɯ{3xm !-MH(}A[z-}' u%?q{s{b%mo1V[W=guyB_ {"Bm)ju>oudFë2ӊ[BP'B KW(ZLcĕ}Nş տEF|GhuML%HW{ Kꬅ?ʩN[B50 =S2hšiX\ s A,NsgKZrU!-7C\)5tR(R%wA^K/jl¹J@#m$Yν%-C@aZٓVn,SEMG M`)7+@s8NT3MBl'#Ka&>PC8%I+ ^)ɷ =eRnq^?8tDCr nJ.͙/fZ` !*Z˯ Kae A tT5FKce!XmԀ@,8&~n/8k'Cb*lIN)Qҳ)Zi$ tthI%R: t/e7(tt+mW) aRI#Py8D3WmѴFǖ.c{oњ]}1%Z&eHYwqr͈<z5$}`C S+rYiBYrv)Vw3D u"8K0wMbBr) ]5MU O0 TM?z¿jL>Лg TdP!)f RIЈ"Q߆S5w‚Z PÄB#4Ê+3hFF?2ƵVę+ 4G`dxVj r: SDBy4rQ0 $fv_d; 5d_HZH[s]Tq#Ka6*Nb|WJQQml;`1e c޶)4A6UY*]"^ nf^ߔ4^IRAo3[*9f޶C G$eH罄r-c a[qf$Y^;.dH*;򊜁LB32l<2-4h9!/Y% Fy#6{xfU% uooHvx _ W I! eMH7h1+g5<&EJ) Z߯aU}+KK*]%ME_7q'졳2Z q)E\; (&ÒZ t-L:{2 eJ 驉qJSjy" -j ]EQ~-Nܘq7 j}7G7P*aXI"< L=j,7e$\lm/fy&"8VɆoR! Rը"Q[t+lZVQR&>U)-$_`n5;2/}JNuudloT*wX#q#*.O-Rsk $Z,=5;dDXWSn" ).: I:ה_ohyad_H^_ѡ>Hi%unn HP JUM-v[3ÒL)!9 ~Q3v DS[l669h4\`n1aO˥jߔKcŵ$MUY o8R{W&_m '^hwF8h=L8YlRXxkXeps c7.fqPaܽ=њ)gCf[.]UIޥ# N$њx1Pmi3Y?0ʆ)Jp)a6M CiWr dC4-4NVd]-7xp*#?=.U6 Amn1M794"]KW!n8k8MM˩*S |ZnQ3+~bXS[:/rRL(GIÚFv8/?16:DY)BzAj-QFV`G[w+L} _bZe6vncA˥?H#n4' r)ؔK[8떾DG d;se(6 Sp|eIW{TE\:^AJ8xr08D!uj[_A[Dv汏*Cs2q%&Q {%V1RjnmղIm"K9XI8^A&-8.G [.$K9ϼK <̀[bIE3\L 4hDr8meӰ& {쉗Z 6Y [ţtSb)[;47U%(3\Dd-6UJe+5TRwEFki'69{*&r.u7ufQt)Q*QBs4sbF!Sm$I*Bs\v!EOtR ͉v_J,HZn.!c0)\'[!P4;X?̏E;.ҥbF<ˎVm;DJ˄h<76gZWqC3`=[>M'N'9Mfa$ {DTq`!*9R!t3iJ.[m9QrSj8<@fQjiM rGxi6\W[)(rm,I_"pM-ʍc QfLxyEνYzǏw Ķ Rnu&6vL{1p)y\'5=wt /v`-b]*MΦֿ [^y{ͬr/B79Y4㵁hY!I*Shz#+f4(܋xC˚mGTS22 Mz;`tc 8lMb Txhbc{@>"J6B2-|Z<Jv6RaPLNɴZVe\1znm(S% dGvă[sN0yDiJM,m -9zISK|ڟt8ؘ.' iHtGuS&Em$$~keIX\@p.<;%GciY֥<겤ELoyÇnaiCIK*^U52eђtJ%γi*b&^w[(Z+a`jĜ+X&I/LH!鑃qQ#5*;/!naPt{*pu'(K uCl~ ".::ӌrT--b^>gMw4=FZ mšk:cA҉ڗlj (CZ7M,򤷧"w%.r(A"F KQ_ 𐹌g\}MWcQ Ә8JSWqtUE'I(À*gŌGK(d֌Ik5PFeZ{CfpRLAd:/KuY\tD:BؐobU˓.%/̭A}[sW) JP?pJE n{LV^YJQ: }a3-#J{ނKlt,ىa%$H!HDS.7kKv7 9bSsk[In} w7i MŬMha:uy5GHLl./b|$<&(JPP܁hTx.)RӒíB>)%d)lJlM5ctS-g%%݄Ln݀H;^!IP#yNY\3J%_M5h3POn8"[ fӍauLY)&ۥNÊ\w+')$XL-+Y0l4VU\E &ZfD >Q-%y'%>҄rd~j`;%rVS/PRp7I-+tI%JAd-Rl{yzQK<x!$FLۋ-%xB*xZ68O2u-RokX}dJ=[4J H@ӱB+ .prO!s\RGd*jW &P# 澗kſUځA[S2n 0cmd1ÊTƛ_3BF1?:'S{xJj:od24K%4։ [tyP"զ㏨_D}(~O3(qhm4l_@yC!)_Rkk}D2N!yH t>P^=< )J~"F; \9@;'SR^@3eH DsӭmV$}!٥,i3^Ș֜VHؽ҅xTB͇m:9b# )*~t# vay~>Os,=.U>cXpVjjyv wjqc$N6wM8m{fرX 7ji)M$$2$HS}7:)*7 Jf;͉$쎤~6 SBA=֢UeYZXk4,+YBT^AxSA`J.:4BԫI7P`V}W-* o܏(iMwȩћ1Qo)m B,od""nMTr,Dcxq֕')Ym r@& rE:k>6ZQM$nFBsX;Ze5u%B:z7[jphg sMhu`fd55Z,4p,mWԣue^'$ ,ߠ){焓``y?d.˫$$[Ƙ| G(2h"ү|&^<޵wAҮ" yRt c>;pBIj)K7:m!p؅.uN.(%/6({"M94Q+aЕT_Antۄ#{F ad@}tL*OelV-6RNӬlH+U`$l/k,)Jq9@О[G).K1J$^\S"Pr?̴hvJe:!@6Hc 9U>Qi9i+T2mBI]e d)I)>!OŰ8^pŹ0xo"a)V(Km(DX%A]:$,fY-IRA̸xV4*;,0.qJ;/N~"[ݭE˜18&$L iZ|'K?DCuoQ$2h)n1 I9N@nܑHwO Kߚ‰1e~$RT%/-Ri#E2RmיO"F< )ERxbV$yhahBO-A8DԔE'@$#{yԐ~3BP#cmK38M̭;,Us2n?h>'J R @4mʹ (Ia T҂@Ee%bKc2*_%RKRaUAM;s&4"HKBT%[Aay+y؅,j mLRVYYZ" AչCI 3?13!m$! KsUG jmjIYszDrTM<%gʴP>T}Y(Zv?R=#鰐ZHE_  LM ԒI!,j8ުrJEǼ@K$ѱv7YKKK1 4Eǐh'S.Y SH8!({i<9B.ZV+J\`(P6l3Z ~w (2';C8hhLMa[,ZQT3ʖ篬"ld-XnM5 Y7# ~u i0PTA I"PSHQ3W ,!L_yJ%RFܪĮ(J;r⛛({Q fs15)yDcZԥI9 I< i}W4XRPnXoҊ;'!r[:Tq74KA <p@'a*#PNP@B>fLZ*mEdE)VL!i>vI>OM'<DsiNŒjL-T)($?f:kE!)c?IJ'2u/)>+G bu#^{vW 7*x$jc Zna:ӷAFDgJ͂.- gȌc)bW*#:REІ6O)} T s)Q*H?B;injeNH 2kC?NI22 MF0ݱjHK]96d74/^f!ZTm)id<#З͡@ZFGai1BaCGu6> Xp^-U1NpA0l}$S۸ J4Zod XfwCS8xJ3`mXz m ͗p,.o (wbSb;-acxC? F1s[3! ɜ`Җ?Go Al1MK*XOH\$-\j%Dt.}"Wkeq?kmn%Fޱ̰#4R;8 bz%RH?v>fNTi:mԐ2NXD3!F7J."l!'89EP>O.!%0yfTTDO_K^̆Mꛊ2IZЇeʬR:iEəP*I4 V2SU w|{8RW~#.g񸂈cAӆ9$$X?6(g^qJbb.aRGpsMX2.HfH'6y\AhIH};=]DSA*6^HmkYgD4F3p4Ĕ7]HI@P ȞPv S8@ ZK{ 0@*^(('K)`r]5#nh lK%kHZM>jXDm`liJ9lHOma6h5<,-,Gv? Is9)A m(uLr#a$V9u,ZD[t k4ne8,$XeiEEi 'Bu6"j RRM5P3/ČC=T@TZxICT#IC UmzDpLT'q< Mh# u'}|N:M-KQ \iyx!r2&H< f]ckbݎCvPy)c+M`I з^d:ߟH> !!8n #ƬqGjS&\,2URKFς»\2QGu#M&{D >EW [ b{<+S+1)Pi75.@PRN$\9Lz\JE`9BH$$os"!ƷRt(r,^ɾPm.-6X,(5:,J氵 AQIZ!gJPP <}k' H$ݶ=zBe! mF71 X8 M8s ΂E=ΆQdqO[fdlPS9%_mBr#0ۨګ{%b13 ӚONhT!tO.O;A 2gJ +qQQoDR&@+eRUkym,k7Soxyhvy֝t 8 M#`Ҝ1RJ- ۤs[S0 mJTrk~ŭzҜIXߗVv>:_&Fětsi~YBzLlKr!@jfz$B\H!kaLِ݄ z.r]eWM,#/q" Mt@m;4؉dVEtvҥ\p&hWP̰o(6d&Цm-*aq:zDߪ=3L!A0`Xr)k5hW{qD;lR])Ca᜺Ľ9mNkF6&7DG;ha;T~Jk[T ;)Ixป ='Q%_q%XzW1 :CM.CS=˽򔩩)@BKN2Lq)JjP m&D5ړ^~kZHsdÔ9:Zeܕ)DNw <_Unܽ*u- ;Vm~d¾BcqRdJB`׀fo$ӫ/_jhR$Te0 ri(4 !O.nO? 7$ͤ@^)%&[Bu7sٟ Er=9?g꜠ C. mτp$czT*iX!  NO8PۭU) 4puH:3u)$RӘ 3JA֤(R+ P StNc# 1'ͻSgE'9ZZBO I7*nWs=cN.iV s0aAbFhe ">rҳ{&(8JKΌ SS -jm'KF%Aj4Sn/xIh;-lpĹv0)#XS>5ߐyZrZ]+(-nB<SQ]ܼ蕦 qa:m}#)$#`+&&2̹ׯ?(NPLʒI$6W3ʳm$nK0mXb-T`9 @C[cz:THYERt"P̉EGr'DZf*KR}./xn\~A't_OmE =an[Kc +YM%kH"jZ`G7g {):.Tx1IuR؝=.~Ws9:̋qڎA J MA8--޷R(X%XRje)ll:}Ϥ78"Qp!M<)N;Zz MRr q َĪ1*@FSŽunfYdkE#xZ*:FRo|"Ᶎd@ŌYZBl @V8b,-\Y[ae%4}cM1Qz~NU qJqH&>_S\AW*В4ʒ1^ mn<_HdDIh<")VV:|cb,HHR=H۟HVTl#:ߜ>٤˜%4 H$.u2a4%P\_]>d%wsZ,X70{!t!S{{|mmn nhQ+JsOk,ZxsZi-x+X(לbŚ Y"1b*㐿bŸL))9M <j&rb>PRP{t; .6m|yi7i)nd%7U}aM5Ih)H6U{|! Ĕ"iGB@N,2!+| HaTMy!bDy mț0`\;C'O(x+YxzXh0"?8599'XE!_I_Op|JLܪac .z֖F2~fƒ 2xЯ`|Vv9-;RS C-%Qvգ =J R>PR ul-(m䥰JN%JAJA˙{8\m9E li:eKZX<╤RoX l kYӟRV-quR2l'ưOZtde`n@niHT{~q(;.6Ffk!ƼZjkkt] O3}>PyD*M%.!m:6rr@DX-7ɵ#'DH}ABCHbҗm8WG93jdu]2T'pu$ޒOaKqB!`G3,Q~pݤi5^|wƹDt{Q~]j%mF ",ť, mp7@\_ۭyOyK:iDvh-b훨\Zs3Zɲp+ N[_O8qw[)(Zե#cXO"'*BT^{:#E%ANZHA %M;f>phan0yDra-MmtՒrn'prZhQlNZ~c%aqѢ)Q* 7ҎϾPk[Rn«n- LbP$S,T,zc +P-OR) o scm7NDžDxİ/$]6sx*bi`=2UASiZ"^.`66T 9KUY|5\8qړ Pt-O^7Ksܹ)Ar#_[m4o/Q  ż)%j"־{B XRC~ s!jIy% ^rfv8A*I˚BŏJ_Ƿ.F^-uwDPt ]3; ,4TCRB sq+vH R0Hʼ::\q%xcb(bV5Qk~>s$B}G8ŋk)XʼnR.@7ʼnH!*7#h4.]"ɱ1>RKJZm9ím=s}ǬlV 6j, e$#=DY(嵏(Q$*yz)d^%u]ktLI cAk-ə}mBh-{› 2צ LhR).mAH14 F,0A76e/$,*ҒK-9%b:R5z Kp([ah%:&O^\Ғ?Cc<*KIR:Tߟv5N_?tzAQqT5+وm1;)̄nCmŽX8ʔM:Pf?8b[M*'y6#-+%ISЀJ 8JYPn5cc '_t2g( GӜu`|iFB=bZWllsr +L{& RF^d {š#% pN$ mh+IUA*_BlgԩnuhI) ЁgS[ M$,!Ӭo#2ORM7K;ٗe-r+E` "LE :Usvר:[Ôu\tQ4[r)ӼYI{IϪkR٧%Ekkb*N9DdCΟn+[eLZC[$\w윂J 7'I$J<׬ wN0SR\Gʄ;tRyQN'e-\ Q)2>9MKK+ 11HѺxiM6(94N>,8ݜ%I k-X$'n hO`0+SnwK#a i OMpf@IV=bd1j52f3 ݁M{¿7+O(y՛2ocBJl--u 4>Q7qAw  JEd\gYkˉQlHU")h͔@l"~p7Ф!tMOT\( B;a ;0pjCU+\Ǖ)9:P)jZ.AV&3jdB |ֈғ{"Ӭdy+ |^fD7&=b o.c5ƝK|~UZuǕ*{DNge}yLEGԛ)ZXԺ FP K0V*[3=ֆ|<rN h-9Rbt71A^ n?&J!nJVX#Mu);Rõbr7<rV þKpۥj4e(m5T2m*A7%"^g 3t8"Cʯ*KAhijnFM<׵Zy[kECAJf\8Q&[3-p@$6d q)QV>,C =%X"Y [y!pntbVVUi7$ '{XO34@U/'Rh9,[ooMeGE Bi B66p6^#`e)@j6a86m f4Tx!c"rŏC1SQvXeS'*n[[[ $VT*Hcqȕ% Xd:RzqQ!L\ʂP;i ;zRNBhyAL4Ӟ)kPE(5s$Kqm?x[cA ㅵ)D6&kFtf^=*v{Z*rtguH&N|~'e%Q5--0TT|G#/VFA =g90)Y.ADK\Cb^"各zI/cmʉq>'O/"onl:HϷ%āII @;ߤcҷYZQ&xX$@ZV +CnppnZ}([qneRɾ`~^e!ŠLPү} %ɗia'LX[]ϯ8!U,/XͺС&4A8WiW[8-J~80t $cCX M2$-$ۤ9i~(0M)jI67(+dy_HSKfee hu[IPqxRı+ m *!fQmTUEmWxS%/w*qSQR! %f(h-CSJŷq [;}^ E-uX{X +_8ŋaQ{mbŰ<[BFS{}|`wZߦ[qlH ܗ魋ʒ]n@~ܒ{;IB~2 ۑc{(/u $]iK-]77 618T-ŜDrsyzR,Z\am[jJr4>L _hJn<\-Қ9*mPMI|tL2&a*KU߶4%9VdMpz`p WDO*]6czDhm&hjanLlpNsq#k S[Rfko_( UPK6Ǭ0#7q΃ h Vӣ"><$SqЛ;a A1bDc!W{^||@6IfQ-73`␔c(;_)$쐬ߥåR+KqmV!i@pZ.yKQ%*SHUmiƶrK%U?Q\J@q)mXa{ܦd#&) []\l%+Z%tXejCaRe 7+IuRl2[y"%VaJ| 4Mm1$vlJߧ˻tm&7(i TpkB[!*#d)~`lGZZ ȷ^BnߙB|*ɍxEUG RHߝmn0i*AqJ8ˇOWƦ7cçx crW&}G^^$&Blt}gcxP:P)6R]D ?ǨRUSq<0 mM!Rsqq姶$)f6}Oh=&F1jnH6ԆVMs(:N'ܢ9HUNSp QG0ԺL;q 6ugks1>6[*Cf)n,knZ _Ff򅕶JUYnfN]"57z3@d4iO:Z')WbҶ6 פ-:/{v-x^Xf'LЫk6b 1ռI$>,RPi*k: x˅Zhn ʂT뮱},T-j U%{BXo ҫ: ,l9cEb< Uq:,ԡhOqXReDib͐H :oki"J+ziŨBˬRi;a]rjv]Aᯤ9֋r *8"PZ/k%Vo:1,srxL:6pbMRpxnqw'B7IsqDD%,)ԓ (6IИm&4e^ zEz)r+l8O"EsֶGl%9{cOpZ Uqsa VօMe*nj,m}$^[e%$8.@HV1J ɶTZ_]`\!4R^f[1TL-!A?ä7I> Pq%,O!#d篜dض'Iq2Is:"׵3i4f im _٩mt_}<􊎧KcuHUM-TRImTH&ʕJA 姱@:@) +J HmЗtIv]D!@\B! [kqܜc-RT\ 2;C&Pۺ¹jYKkiBB]|#P~! ErK! ̕A#-BMM8b-wQ {HQܭckhNnwL?cIXʤ(k']T)m]BSGim6k8aKŕiU2$E:Q74kBAt1!/d;"8 'cM#vK[ RBn/}nm $Z0tZr3:P+mthPe8R0bR18{ZMC4Yl$kN4eec0?ej20\xX7[G4EB$4l&);"b@*ٲ4@}#HR-u-/KkR&ĝoX;D30YN0#cORڝk#m- :H ʳ{*ZPpM)A)m9 wjjVXR*g\Ekdk|4wQuV.B6:McY\&25*Z$eQOִF ӝ7OӬ.2-PǺH0ٵ/P84 R I I >t|tT'_qH'X^Jp7=D 48X7jD0mkq|%*E)@(e9&il ]7$8iCJHL1>a2emo6JşO](lѲdg*Cc*zqyʵ/~SQOХj:n>68,,^qD0M]ChuRG\ ܮnqFws*‹qO ``7T"Zؾyڼ.W&'$HK(Za mӟ8[M~5$k"xkծf=4Tl-` N ZP+P ?cq{@R>҄eU i%-@E徖=ÅpϨaOHBIJZ[* .wĿF"[ -k}ɷv/mRNhv'X[Ia>BFo3sl0´6#27RYmqn%A$)*Ğ>RdC YP4Oo´wgk2i 6$Ğ bSBg85MvGIAa K-(<;u~o3}ыDXS]K@!$9z 9aV/Bŀ>pŷ^,^%½#,X 9sd(#Xŋ~{^{,ZÌ4-bޅ'q{y]Z%W;^.ӟ(o˽,oo4KWkxPXH71by,X,'c=,jTbŻ0:Rʼn;8MIP #I!VcF+X)ׄ [DlhQp8Z`G#2ib'P,X؛hĠҲ HRƉ[k l)Ŕ \cBu )R-Հhmdx~K%å¢'S Ec\mS=6qJ7$rT"kd `Qz&Mғl6HJP-{*V([IPAzs :NK7H'eҢ2x-I "רɗ H[]ɺvJzj#ҚM3*)I$Xkۤ;e,}JyC38wb"/ܣQȑiɪW{\̩,m86oI7GJ'//X&Yo*ȓu(mg) 5jx KZ6V8fJ2i⸵J^#k0+#4 %kUQ,{ZXdQZrd鯜d[%m3ʗĐ#*Ia JsY7"KJP2ۙ姐jG.(9I!:"w݌!w(zy3N:eRU`E=|!;6 nVN#2U, odyƝb=ɷ.Wz] K}2,xz>BŮB7q^VjsE6;݄h^"})}:Vv`D.铇Jj~!4u3RD`مH7N( V͈6xRߘڒ-eN8>{ZA % zfV@Ĥͤ#ŧMy ֽ=y PJlZQVmmnf 6hʜk&\II_pv}":fOZYe宗GHǻD2jBU~\z%'uPusmܡ.y+ZQ.ծcܡ^z>Iai-\'mH2Wi p^eiPZAZIWDZZo4ݨ/;Xm>XG Sa S퀫}·s=gLDž pIra:m̾xOo:m.MYzuߙ,:Td); u%jϨ|ʝh]a)me 9.Qۑ Zĵ-;sXg@䀔k5iE/n&~P| Y{RZTj\1ߤ.Gm Z rVZffUy}ТԺb/q լy"] Eb=?fe7LӚJSɢ|{=U*ԼqlvOX(idE6zX$hy@Z&wu+AL2[gd֥t0Vvm,9,Ys/XQbmc@ŷ`N{,^t;+Ք/IYBZl6&[[P{%aRlT4,Z(j -XԒlX~+Ci⠒> ڍM􍵶l+7rN;U/midwX$6lJOXŋeXz67>kck<=-ɸ{X,MϐN5VobIn:"O knEZ»Ɗ eѝh/.P+]{՗,Jͼ$ȴX( (.uYB0Z|ĕ:F,Z 0ӝ:)83.@ 'SKHuFZas}#d;*I,($f,UpGAj:ci|pJ-NcykZԬʹ=b6A&ԋc It|!/2*Nk<ܜiR-Ԭ;',ld6XCݨ,(AO-mZ/dl! SYKzi khNjDBX Еl=~RyiqjR67KH$JqwRnsﲝ[^\)#–$j54Rml)#1*MkZ 6MZ5 "ʑ=l[" XM{b8h8]5IزJOVfr.ak0+nUȢ +jRUeBUn&hw9왽=b>#eQ.C78)q$\Ai {Ng\`*)Aۥ?ѻ3=*Dӝj<,Xv䜹J㵴ɠڤۉEuktg-qoq lLJAZa%@t'xj6XB)U2;5LHC mbBR ޠ^vB4@SnHH <S) ʓV 8(˩ h`ItFD\ӲDу=H̤$zXHdnMlߋB>`?x. MNLb*:ZS 7=!sz$VKf^_hnϦ^3qPf6ekky}uIN趍qʶ%$i:bX.Vmqe 1Oo~(vT(PS_%Iv])a&Z.TH-<]l%)$+خJۜ8 TR vCHNP);yFzEDqe J3V#}5mE xN  3N,>UQkk0)j3#o{RlItIIZI(;I$+ ˭L"ۧq(wUi-r"sU$ߔ%Veh ~qKJ 6#%!%Z[Sm!Mu,[ڽckD5oXZw гrJmC+ Lgy[[RMX6ku ZPb4`)b+KQuc~XIA,[3XLՕm-6Bx]]e֐W{[B(JItR9C!{XkԼFhŋoznt(U+zYIu֕z؁~F R?*g5saC)6>>36$ cpiW Pu* q88`)^%ӫR!DlG=6R}٥VW|JJj~F %yDcLUD 5Lt[|⇨ikN,yU@\qHH$\F9 Lu  nO.d $ 4 ^TnNRRl5*19yK:[Z{k{\P|R|(.or1)FYqjRbIH q.Xd9@?ԊH$ KR҇6qZ, ZEXA'iLP H$}dY6VCED}-t?j7җR_@ ߔ:NN컹,؎zil$nRi(SBRr0ӐeڊH}Ng|(iRl̻~ǹ]i 2 LS۔&rXAK(bU ֵ8ԭA#c wۄPbXR”-bJuÑiRRJj6ok:&9@i1;J(o9[^M?5 Sekl5Hĝzq;+6d.˒\P+9*'̓nuB.X4<1\Fhqԧ)杪RN'sLXg;Ew<*+V4O?R_%KR˫2X1xR;k$ME(@w&|rao%J}㟘&±d(ٿ2$@ l@M% XDɡJ$rKRw8$Z*Gvӱ*^a]YiĐb7(}|fd' zʷ=#$$Iʃ{D)>ىiq6C FE!Ri)R2jU-'S~Y?(Wem'_QߪrmlM Jʨ+:l+3,OOB[S/s %C#sox]k/Q_>7X-m+d $XZ%,ORf"*zFDžOG$;+<$I$7pH9ޢ6y+a6L)VoS76xM!JS~g Z.K^B-u:hU* Ad{ED?>O^_HK)Dh`w+GHť",[u~q/NG51N` lo rvTimmG]XP1b$^Prdb֢AMaŋ|CX\t[^w1KRܲGV&= 1.4 gio-2.0 >= 2.26 cairo-pdf pangocairo gdk-pixbuf-2.0" AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [-Wall]) AC_SUBST(MAINTAINER_CFLAGS) # Do we have clutter compiled for x11? PKG_CHECK_EXISTS([clutter-x11-1.0], [AC_DEFINE([HAVE_CLUTTER_X11], [1], [Whether clutter is compiled for x11])]) # PDF output support AC_ARG_ENABLE([pdf], [AS_HELP_STRING([--enable-pdf=@<:no/auto/yes:>@], [Produce PDFs])],, [enable_pdf=auto]) AC_MSG_CHECKING([for the stuff needed to generate PDFs]) AS_CASE([$enable_pdf], [no], [have_pdf="no (disabled)"], [yes], [PKG_CHECK_EXISTS([cairo-pdf >= 1.9.12 pangocairo gdk-pixbuf-2.0], have_pdf="yes", AC_MSG_ERROR([Oh no!]))], [auto], [PKG_CHECK_EXISTS([cairo-pdf >= 1.9.12 pangocairo gdk-pixbuf-2.0], have_pdf="yes", have_pdf="no")], AC_MSG_ERROR([invalid argumented passed to --enable-pdf])) AC_MSG_RESULT([$have_pdf]) AS_IF([test "x$have_pdf" = "xyes"], [ PINPOINT_DEPS="$PINPOINT_DEPS cairo-pdf >= 1.9.12 pangocairo gdk-pixbuf-2.0" AC_DEFINE([HAVE_PDF], [1], [Whether pinpoint will generate PDFs])]) AM_CONDITIONAL([HAVE_PDF], [test "x$have_pdf" = "xyes"]) # ClutterGst support AC_ARG_ENABLE([cluttergst], [AS_HELP_STRING([--enable-cluttergst=@<:no/auto/yes:>@], [Show media files using ClutterGst])],, [enable_cluttergst=auto]) AC_MSG_CHECKING([for the stuff needed to show media files]) AS_CASE([$enable_cluttergst], [no], [have_cluttergst="no (disabled)"], [yes], [PKG_CHECK_EXISTS([clutter-gst-1.0 >= 1.3], have_cluttergst="yes", AC_MSG_ERROR([Oh no!]))], [auto], [PKG_CHECK_EXISTS([clutter-gst-1.0 >= 1.3], have_cluttergst="yes", have_cluttergst="no")], AC_MSG_ERROR([invalid argumented passed to --enable-cluttergst])) AC_MSG_RESULT([$have_cluttergst]) AS_IF([test "x$have_cluttergst" = "xyes"], [ PINPOINT_DEPS="$PINPOINT_DEPS clutter-gst-1.0 >= 1.3" AC_DEFINE([USE_CLUTTER_GST], [1], [Whether pinpoint will display media files using ClutterGst])]) AM_CONDITIONAL([USE_CLUTTER_GST], [test "x$have_cluttergst" = "xyes"]) # SVG output support in the PDFs AC_ARG_ENABLE([rsvg], [AS_HELP_STRING([--enable-rsvg=@<:no/auto/yes:>@], [Use SVGs in PDFs])],, [enable_rsvg=auto]) AC_MSG_CHECKING([for the stuff needed to put SVGs in PDFs]) AS_CASE([$enable_rsvg], [no], [have_rsvg="no (disabled)"], [yes], [PKG_CHECK_EXISTS([librsvg-2.0], have_rsvg="yes", AC_MSG_ERROR([Oh no!]))], [auto], [PKG_CHECK_EXISTS([librsvg-2.0], have_rsvg="yes", have_rsvg="no")], AC_MSG_ERROR([invalid argumented passed to --enable-rsvg])) AC_MSG_RESULT([$have_rsvg]) AS_IF([test "x$have_rsvg" = "xyes"], [ PINPOINT_DEPS="$PINPOINT_DEPS librsvg-2.0" AC_DEFINE([HAVE_RSVG], [1], [Whether pinpoint will generate RSVGs])]) AM_CONDITIONAL([HAVE_RSVG], [test "x$have_rsvg" = "xyes"]) # SVG support with Dax AC_ARG_ENABLE([dax], [AS_HELP_STRING([--enabled-dax=@<:no/auto/yes:>@], [SVG loading with dax])],, [enable_dax=auto]) AC_MSG_CHECKING([for dax]) AS_CASE([$enable_dax], [no], [use_dax="no (disabled)"], [yes], [PKG_CHECK_EXISTS([dax-0.2 mx-1.0], use_dax="yes", AC_MSG_ERROR([Dax not installed]))], [auto], [PKG_CHECK_EXISTS([dax-0.2 mx-1.0], use_dax="yes", use_dax="no")], AC_MSG_ERROR([invalid argumented passed to --enable-dax])) AC_MSG_RESULT([$use_dax]) AS_IF([test "x$use_dax" = "xyes"], [ PINPOINT_DEPS="$PINPOINT_DEPS dax-0.2 mx-1.0" AC_DEFINE([USE_DAX], [1], [Whether pinpoint will use Dax])]) AM_CONDITIONAL([USE_DAX], [test "x$use_dax" = "xyes"]) PKG_CHECK_MODULES([DEPS], [$PINPOINT_DEPS]) AC_OUTPUT([ Makefile transitions/Makefile ]) echo "" echo "Pinpoint" echo"" echo " • General" echo " prefix: ${prefix}" echo " cflags: ${MAINTAINER_CFLAGS}" echo "" echo " • Slides' background" echo " Images: yes (built-in)" echo " SVG: ${use_dax}" echo " SVG in PDF: ${have_rsvg}" echo " ClutterGst: ${have_cluttergst}" echo "" echo " • Renderers" echo " Clutter: yes (built-in)" echo " PDF : $have_pdf" echo "" pinpoint-0.1.5~20120318/gst-video-thumbnailer.c000066400000000000000000000204111173123050100207400ustar00rootroot00000000000000/* * Bickley - a meta data management framework. * Copyright © 2008 - 2009, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU Lesser General Public License, * version 2.1, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA */ #include #ifdef USE_CLUTTER_GST #include #include #include #include #include #include #include "gst-video-thumbnailer.h" static void push_buffer (GstElement *element, GstBuffer *out_buffer, GstPad *pad, GstBuffer *in_buffer) { gst_buffer_set_caps (out_buffer, GST_BUFFER_CAPS (in_buffer)); GST_BUFFER_SIZE (out_buffer) = GST_BUFFER_SIZE (in_buffer); memcpy (GST_BUFFER_DATA (out_buffer), GST_BUFFER_DATA (in_buffer), GST_BUFFER_SIZE (in_buffer)); } static void pull_buffer (GstElement *element, GstBuffer *in_buffer, GstPad *pad, GstBuffer **out_buffer) { *out_buffer = gst_buffer_ref (in_buffer); } GdkPixbuf * convert_buffer_to_pixbuf (GstBuffer *buffer, GCancellable *cancellable) { GstCaps *pb_caps; GstElement *pipeline; GstBuffer *out_buffer = NULL; GstElement *src, *sink, *colorspace, *scale, *filter; GstBus *bus; GstMessage *msg; GstStateChangeReturn state G_GNUC_UNUSED; gboolean ret; int dw, dh, i; GstStructure *s; s = gst_caps_get_structure (GST_BUFFER_CAPS (buffer), 0); gst_structure_get_int (s, "width", &dw); gst_structure_get_int (s, "height", &dh); pb_caps = gst_caps_new_simple ("video/x-raw-rgb", "bpp", G_TYPE_INT, 24, "depth", G_TYPE_INT, 24, "width", G_TYPE_INT, dw, "height", G_TYPE_INT, dh, "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1, NULL); pipeline = gst_pipeline_new ("pipeline"); src = gst_element_factory_make ("fakesrc", "src"); colorspace = gst_element_factory_make ("ffmpegcolorspace", "colorspace"); scale = gst_element_factory_make ("videoscale", "scale"); filter = gst_element_factory_make ("capsfilter", "filter"); sink = gst_element_factory_make ("fakesink", "sink"); gst_bin_add_many (GST_BIN (pipeline), src, colorspace, scale, filter, sink, NULL); g_object_set (filter, "caps", pb_caps, NULL); g_object_set (src, "num-buffers", 1, "sizetype", 2, "sizemax", GST_BUFFER_SIZE (buffer), "signal-handoffs", TRUE, NULL); g_signal_connect (src, "handoff", G_CALLBACK (push_buffer), buffer); g_object_set (sink, "signal-handoffs", TRUE, "preroll-queue-len", 1, NULL); g_signal_connect (sink, "handoff", G_CALLBACK (pull_buffer), &out_buffer); ret = gst_element_link (src, colorspace); if (ret == FALSE) { g_warning ("Failed to link src->colorspace"); return NULL; } ret = gst_element_link (colorspace, scale); if (ret == FALSE) { g_warning ("Failed to link colorspace->scale"); return NULL; } ret = gst_element_link (scale, filter); if (ret == FALSE) { g_warning ("Failed to link scale->filter"); return NULL; } ret = gst_element_link (filter, sink); if (ret == FALSE) { g_warning ("Failed to link filter->sink"); return NULL; } bus = gst_element_get_bus (GST_ELEMENT (pipeline)); state = gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING); i = 0; msg = NULL; while (msg == NULL && i < 5) { msg = gst_bus_timed_pop_filtered (bus, GST_SECOND, GST_MESSAGE_ERROR | GST_MESSAGE_EOS); i++; } /* FIXME: Notify about error? */ gst_message_unref (msg); gst_caps_unref (pb_caps); if (out_buffer) { GdkPixbuf *pixbuf; char *data; data = g_memdup (GST_BUFFER_DATA (out_buffer), GST_BUFFER_SIZE (out_buffer)); pixbuf = gdk_pixbuf_new_from_data ((guchar *) data, GDK_COLORSPACE_RGB, FALSE, 8, dw, dh, GST_ROUND_UP_4 (dw * 3), (GdkPixbufDestroyNotify) g_free, NULL); gst_buffer_unref (buffer); return pixbuf; } /* FIXME: Check what buffers need freed */ return NULL; } GdkPixbuf * gst_video_thumbnailer_get_shot (const gchar *location, GCancellable *cancellable) { GstElement *playbin, *audio_sink, *video_sink; GstStateChangeReturn state; GdkPixbuf *shot = NULL; int count = 0; gchar *uri = g_strconcat ("file://", location, NULL); playbin = gst_element_factory_make ("playbin", "playbin"); audio_sink = gst_element_factory_make ("fakesink", "audiosink"); video_sink = gst_element_factory_make ("fakesink", "videosink"); g_object_set (playbin, "uri", uri, "audio-sink", audio_sink, "video-sink", video_sink, NULL); g_object_set (video_sink, "sync", TRUE, NULL); state = gst_element_set_state (playbin, GST_STATE_PAUSED); while (state == GST_STATE_CHANGE_ASYNC && count < 5 && !g_cancellable_is_cancelled (cancellable)) { state = gst_element_get_state (playbin, NULL, 0, 1 * GST_SECOND); count++; /* Spin mainloop so we can pick up the cancels */ while (g_main_context_pending (NULL)) { g_main_context_iteration (NULL, FALSE); } } if (g_cancellable_is_cancelled (cancellable)) { g_print ("Video %s was cancelled\n", uri); state = GST_STATE_CHANGE_FAILURE; } if (state != GST_STATE_CHANGE_FAILURE && state != GST_STATE_CHANGE_ASYNC) { GstFormat format = GST_FORMAT_TIME; gint64 duration; if (gst_element_query_duration (playbin, &format, &duration)) { gint64 seekpos; GstBuffer *frame; if (duration > 0) { if (duration / (3 * GST_SECOND) > 90) { seekpos = (rand () % (duration / (3 * GST_SECOND))) * GST_SECOND; } else { seekpos = (rand () % (duration / (GST_SECOND))) * GST_SECOND; } } else { seekpos = 5 * GST_SECOND; } gst_element_seek_simple (playbin, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, seekpos); /* Wait for seek to complete */ count = 0; state = gst_element_get_state (playbin, NULL, 0, 0.2 * GST_SECOND); while (state == GST_STATE_CHANGE_ASYNC && count < 3) { state = gst_element_get_state (playbin, NULL, 0, 1 * GST_SECOND); count++; } g_object_get (playbin, "frame", &frame, NULL); if (frame == NULL) { g_warning ("No frame for %s", uri); return NULL; } shot = convert_buffer_to_pixbuf (frame, cancellable); } } gst_element_set_state (playbin, GST_STATE_NULL); g_object_unref (playbin); g_free (uri); return shot; } #endif /* USE_CLUTTER_GST */ pinpoint-0.1.5~20120318/gst-video-thumbnailer.h000066400000000000000000000017561173123050100207600ustar00rootroot00000000000000/* * Bickley - a meta data management framework. * Copyright © 2008 - 2009, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU Lesser General Public License, * version 2.1, as published by the Free Software Foundation. * * This program is distributed in the hope it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __GST_VIDEO_THUMBNAILER_H__ #define __GST_VIDEO_THUMBNAILER_H__ #ifdef HAVE_CONFIG_H #include "config.h" #endif GdkPixbuf * gst_video_thumbnailer_get_shot (const gchar *location, GCancellable *cancellable); #endif pinpoint-0.1.5~20120318/introduction.pin000066400000000000000000000101321173123050100176130ustar00rootroot00000000000000#!/usr/bin/env pinpoint [bg.jpg] [font=Sans 50px] [duration=5.000000] -- [duration=4.448699] Welcome to pinpoint -- [duration=3.393199] A tool for making excellent presentations -- [bowls.jpg] [duration=4.322308] It has a simple text source #The source can include witty comment lines! #These comments should fit on screen #The comments wrap #Using up/down should overstrike the speaker points? -- [font=monospace 18px] [shading-opacity=1.000000] [duration=23.560078] The current presentation thus far: #!/usr/bin/env pinpoint [font=Sans 50px] [bg.jpg] - The bits above this point are defaults for every slide in the presentation Welcome to pinpoint - lines starting with - are slide separators. A tool for making excellent presentations - [bowls.jpg] You can override the defaults with with per-slide properties It has a simple text source # The source can include witty comment lines - [font=monospace 18px] [shading-opacity=1.0] The current presentation thus far: #Should break this into smaller bits/slides -- [text-align=center] [duration=12.553503] You start by writing down the core concepts that you will be talking about. Then sort and format them as a pinpoint presentation in a text editor of your choice. If this was a presentation given as a demonstration of pinpoint you would now be trying to read this slide as well as pay attention to what is said. Less than ideal. Pinpoint reloads the presentation when it changes on disk, very useful when you're tuning things so keep both pinpoint and your text editor open. And remember, the less text you have, the happier your audience will be ;-) -- [duration=3.136431] Let's use some of the more esoteric features of pinpoint -- [bowls.jpg] [text-align=center] [duration=5.757168] - [filename.jpg] set a custom background for an individual slide -- [bunny.ogv] [fill] [duration=24.458597] You can put anything in the background -- [linus.jpg] [fill] [bottom-left] [duration=3.724967] But, slides with cat pictures are best -- [text-align=right] [top-right] [duration=1.879800] position text in the [top-right] -- [right] [duration=1.031598] [right] -- [bottom-right] [duration=1.064696] [bottom-right] -- [bottom] [duration=1.047646] [bottom] -- [bottom-left] [duration=1.132064] [bottom-left] -- [left] [duration=1.014935] [left] -- [top-left] [duration=1.214729] [top-left] -- [top] [duration=1.747087] [top] -- [text-align=center] [duration=4.109942] and even in the [center] (which is the default) -- [white] [bottom] [font=Monospace 100px] [text-color=black] [shading-opacity=0.000000] [duration=7.491852] Make text big! [font=Monospace 100px] [white][text-color=black] [shading-opacity=0.0][bottom] -- [duration=2.912952] use pango markup for style -- [duration=4.263503] [no-markup] [no-markup] don't use pango markup -- [bowls.jpg] [transition=page-curl-both] [duration=4.935558] need bullets? ❥ use the power of unicode • ✽ ✩ ✔ ☃ ◦ -- [transition=text-slide-up] [duration=6.881204] $ pinpoint presentation.txt -o output.pdf Export to PDF. Handy. -- [fill] [duration=3.903439] [fill] Fill the slide with your background (the default is [fit]) -- [transition=swing] [duration=2.679214] Keybindings: -- [transition=sheet] [duration=2.913154] right, down or space - next slide -- [transition=slide-left] [duration=4.702688] left or up - previous slide -- [transition=sheet] [duration=3.435221] B - blanking of screen -- [transition=slide-up] [duration=3.435221] F11 - toggle fullscreen! -- [transition=text-slide-down] [duration=2.167284] Escape - quit pinpoint -- [fill] [transition=slide-in-left] [command=killall xeyes ; xeyes] [duration=16.965691] Enter - Run command Tab - Edit command [command=killall xeyes ; xeyes] N.B. run pinpoint with the -m option and hidden or auto-hiding panels, to allow window management in fullscreen. -- [linus.jpg] [fill] [bottom-right] [duration=7.079270] That's pretty much everything. Told you it was simple. -- [black] [font=Sans 100px] [transition=spin-text] FIN pinpoint-0.1.5~20120318/linus.jpg000066400000000000000000007366301173123050100162400ustar00rootroot00000000000000JFIFHHXICC_PROFILEHappl scnrRGB XYZ acspAPPLappl-appl rXYZgXYZbXYZ0wtptDchadX,rTRCgTRCbTRCdescncprtAdscmXYZ tK>XYZ Zs&XYZ (W3XYZ Rsf32 B&lcurv3mluc enUS$esES,LdaDK4deDE,fiFI(frFU<itIT,rnlNL$noNO xptBR(JsvSE*jaJPkoKR2zhTW2zhCNKameran RGB-profiiliRGB-profil fr Kamera000 RGB 000000exOMvj_ RGB r_icϏPerfil RGB para CmaraRGB-kameraprofilRGB-Profil fr Kamerasvg: RGB cϏeNRGB-beskrivelse til KameraRGB-profiel CameratT| RGB \ |Perfil RGB de CmeraProfilo RGB FotocameraCamera RGB ProfileProfil RVB de l appareil-phototextCopyright 2003 Apple Computer Inc., all rights reserved.descCamera RGB ProfileCamera RGB ProfileC   C  L !1AQa"q2#B Rb3r$CS%4 Dcs :!1A"Qa2q#BR$3rb ?$c}D㷆t@c =SIC7:GW\q U9SX#e`1҄[ϠT5('6 'i/6Z[;|*iҎF|O㒎A} zBB`SpoTd}AFB}oZf kevurxPmbW5)UXKAzt 4h'W*ĜI>JO߭IW5"؀lՄZ_7=JTWڇ&v#;榲f:] Q $;RaRh" sE+>ȬnSTh YI|R\ri Z e&'^ԗNӦSR`(x ?h.6.0G1$JVe errkyVKo5ȀVuՈ aj_|F IqZoK7}ǓzZAwi<3a;N<pT2;y Տx! pƐYە qJߵCI0J:0V8:W喗b߾7ChZq]aBׯpvg,r}Ӑ?egsHVeFʼ>kq.wb 04ܠ31Q*o\B ZCnKzg?*(9vJsfP;ގfI)v%+H cd)Q7 wf^55'ʣIwfIb0TzQbpwJ4$ A4T&P&-!$rw8*,Z>N#%WZ=ʕ<β\hezOŠ[%E 0;SpnJ]K=—Ro&U1ڜ&S ;DkZ\trЍ4AY+Ulj)YnTaG{[E4_ N@ȋ뺙_.i%2An GJϾRM~#%@likV1ӹ">)UU^: u z q1 ܀)E`g޸R6' '(n}/A۽!i~ S_|Q;_A %%WaZ[L.+>)Pr^ԆJMoQXYm䍇Ne@E\j ; ֫I*%*WwձAQjg$VX~JmsQ^9U$[Į$GcJn##>Ҟ 4qe (w"k W̭*2sX bN!y 5ci".Ȉ+;r籣FPPY@vHR05#B9o 8=acRkCi38짇<:baNչftelG * @9, I@ TaH)]E4Tvȥ"Pیn P$u]}(0 nΉ~՞ A#&;qlqW0u2zkeV䙃73gz!uk)ܫH0 *&1+:\)jiz +KhIpr#32]Xۘ.i{Ǥv\`/yX0޼TO^xF@\Lܲ99#|ѠJ  |7yn4Afm7 iE(*8q@к RЀʮ0,v~g p ny2+OfWkgnh4DDl+KzQq\=*ۮ7<rr2=U$=֟h:ւ-W$O<^PS(6^c"@OcM) 1SIO"8ijs[LS'6DePˋ,0 Yh ңiH6Z tM;KUڗqq`09+ i6yJG Vw@xS2`6(YA@.Sk(aPZ8:xStRh XF9yF*QV|!ןp2)@(Ÿ|Olv |!Fxj,+L&h1VQjiU4tT>s h(-Y),XVL4UUsOYæS& aQ%Jb*0 {טj[ @dq/0qGx}ʌ5) @ޭ=OB\PuVO0hN7ؚ}$!-Ϧ֚qnU'Wڵ&|1qxN| 2JyrM!q]eY<sʣ=wD? 8r5!Hzuڼ1cz G6L)/ao5xZQتFQ#[/a_*l'4F᥶Y H3q D'ͯ{}CqoּS iٷ[ExGUn#Y2K `ZRX[BP.Jtઝ/YR=reUWqҝo9'|oQo)X™Z'(a?/c<  Ext\=qtWAG*~,J*zDhYE]*c[{SXuP|=J {c Gp+;8 v0,gw<=MMVTT~1ƍKBd}yI9q$rsdrFsA7D(!BśIڛۛ W+FT Wmҽ ?jDd;p.Y)@ ZjedMJr6m;KB)BFN\]$ 94U1QNo  EOSL ihu,I`uߥp)~GnS:]KloPJN:I#'(O=Z{ZN29 +B,+?Rbe2?‡r 2QniQʀׯ;j eu L4YclqĻ%FS;E BhjW:I6ӛgEd6=&qӗ_OA (*:"کNJvct;u\0J s8yywӨZF #9 !J-b y*LoTIN)dF^$`ϷJX#tr.]㳴 aGlVh/dpG mT:>*Y! +GϨp ua!9I J}rI<8Be'/ E<KKQ#s)>qe|A87LG+ DnjYfanQZ\m֖y:FBVx)](UBo NhA 5kָ*j]TvƵpn,:|`)BҲQVw!j|wLZM= I+M r8cmԡa9HG҃`QƐ0m7 c7#iQ2)x﫲B诇= `iea7 E [o:N#:u> kWa#گf-e*0WVJjiaj6w"3aL-pv0RXcLI!H`l 0PłjW< #ux z)/9 U.˲JceҲ45[CK(qՌIȭN$G*5cJCڈѕBKg|Q<2(m(Sެ"B)B W-Mh<( R$g 1m#QD L(AHPB5.69h:(~Uƚ9nS[ T՗K-2mc߽X8M,wnUd95ݵ[v&[$!vZX^JIR?SQwאޢgmWlkt'&,#t*6ZJ"P@V/:~eZļA},0Tթ:YK M{Pyp(P;W1og5-ۤ$)TlFGjE`T{Z/v 4^T dGFh(Q6ʕY[a[(qxl8덨$qA/M%N5cJKTS` BϙGzǚ bZq &&cOj(n*7J(*saɅRMfrQIȫ#U^H|8Q#I6D21K-HFz} !Ԧ N޲FOumkpl2d/ n-s#4 laF{i`-%Qcq}k4y@+7zҹՒV4VJʈ|MF`'>7áڬݬd#(ݫYmJ]/wP? 'o^!y9fe ڼqtWޚNȘ:\Ixvq̮s5G+ֆ)sIQ[g7&k"v @RJ Tvڅ%th㮍2A=I4WJk 8RX `㹥 :Hnrx9yYN|4#v&8 9:DoΙ#j#sʭtWgf3+$AtM屺6^fۛ җK SuX4J%,j QɍSrSEy`rFI;ԖG"ޓ}C@(%Ĝhi 9'aTEF <&?[u<u~]lvR" n4:';;}}|4xoJB5iOem|yFtċ[xbe+xomL^KOfӹWԢ8\tI9F߅hn%7 BG\P\<)w d;GrzM-S_;8Ua4~Ҕ~\a$'5p67 `_LH.\ޞxԠ91 (/4e'ڌҫ_V6$Ӷ\ґ޵:6AU~%Z*oZE e2XY-vTHF+nziV0P%V mo8j;.L}A1y͂rk#xc=^Mݐ$")&'~u{4Nv\ot@; 1}'wLA5$GIυ$l`()8#0pƨlnjHc9}o˨x[jK-GAگ6}=FF]𿆖 ՎӰ[7iEjZhAkVNsiN{ٝ94pQyznʎ!̸p2V$N(|y 1!Kv.eXЩ%uN-+jPgP ealviAH m#݄R+XLNFښD==@q ' 5[rGX\vd1Lq*-|85ܵKIN# 1Y:ֆY]_i394_+| ΤBEXeDP]Br3i}C~u`]xESg)17.lqPOjk첕_?:6GABDp^h4BNM<@|Zx]*Y -;VCUh6!$y\;}s׽y+6mos<`^{z_ h xljG_еhoOJOz嚆>|Sigא+υ@-. kVWZtO r*`a*T0ԉL7YXGK3@Z;Q/M­W1phvXsei6'$`;UюE^

\OỶiDlPe%FtX~{r`jx/{\񴇜5mD݀,Eoޗ6BBh]}UqEk gʙiʹ1GܜpvX'b;ig~%` ?$v P6YJ-pv:D#W7ԇ4Kj׽dG'FvU;)KٴJ.s <3Y/QFlxWP@NJ(rmKbH8lM$ӔMC-Y;#S @@y|I{FT{K+NmIZ4Fm}ijxa;s.O[_0G?iyOD 6稣Kv.9aܓAUW4|+rj(˩hV.3NPA23^TQ'xGdGᛘ s<)L. :`k%}/9;>9VWG] eԎ0Ef;tޛhଉϽ4ݥ$yXڈ:Bx$R:Pk1Eb(_hU*)ܬ`E*g>"|ߕ{oʣoizڶv2;Gb2sޟ3RJEV7ڢGIkL<_Զo?� .6į|E$B!ox3NI/18UEˀ /N\x#o$dK-1SknQÞ^3򰶵ޑ2] 6sQ"XSѤ Ij7gP5s^|.xm,b 6JE0㻦.K8GI?F*W/m TWr&3 (>v(2H$g;|  i#ں)*u"w116iZ7n$y[jE &ʂpVJȹ߸N 먡+MNO2ܩt.5*Zv'W~#{yH $Ao׊zϓZN-je('pMb8sz|KO%{:qsRHArF:gY[<<ח/(via%s0t® bh[!tCN XlKq[KyN;VKX]v_:PʴPUZ`{TʛX{QŎWR~PRNR~Tq'-mM ݧQ{b01h+=EsEnxO%4倻tυݿ?M -޺m@JmVKzc|j }D Wxt}V.OQݕr:|qV?wFGY9Gkw;>W^[66~}|@NwVןntz^÷H`$.r+: mYE8EԖ*EoD8 jӒTMRt) ܧ|$nHJR;P#m6zhf(9%h@-tM)8!,Ne,HSMqo(4Bg}bG 2p{z|(8*7 8;~U9\W Q4*p1ϧ֢mCp;BsT/>85$ھN6_뵎jo+zCglՒ_[I⃍4BiH2CT%QeAg>c~Ԩ7eS(&HeVR:|II9:,Nb{Sk)‚x*k$'eU31Id&d`b)PTJE4ƎJS#2a8VZkBxx+0i#%Hr  %ozPZ搚N)0 ?sNSOYXH@֎ޔ9]Y=\LJG*]yjm*][TgaDt =Sw$`vEMy{JT)j6Tmo0 5k<.]}ZZ^*φ ZqZ;+=[7ɖ[9q^ZË+u B<ˀMYar&F1y +69i'%F;TGNQC(ݤ~R>Nx$֐Nb74V3 ;[gri5mU5Y, \iCd+!ǃ8p'd_(õ]jeu}lczM-MeٶjGD{H DaA5H>f(Wh$Q 7H6p#Ld;Q)Uƺ[1Sfr4/[JZ0$+])}<.銕ecwA|OFשׂ-s??ǂP 3 a^i]phk+ok,-ۄܜWl҈.Fqn~rNwm 8'mV99j;v y4mm܁?jw^ܿt4&._\;d70@7j iU~jQӛ0O,#/J)2w)ݔÝiAI5Y)zTǵ!p9i,%Jc(ވʼ >SHB{\x˜@9B{PԏNs֧hTӋfT4 @tp/6^Ih-=鈀*}et98S۠.r)WN%ԒMEYV{l@6օI38nAmҚU [kHʰ%!G) *,άx#}mHSZqP 8DY,H$8ʘYA8I=iZpɦf?mwS7E'q~.m|c塔YHc-W>KQ^$mVlW F'ʨ"ieeEAfsVG8u4yTyb>]#A&kAj|JCuOzI]ŤCH J޴:Qk鸅gv\x9F@=j+ ti'NZ 4|EܰR׏(>!e6$<ØEuRH9TְG.nI_B^F s$4dI@^>#]Mی{ֱJJkmo=UkͫND)@ zMZG ϰ1EyҾGrhnT'<*&I&QɗYYJ]CZnm~RIu%;)yg #rQODw+}C |ZǺ VZ\ȲE4.Q`ra҇6 l_Aa`ָVMoI$Կpyt}k=5DWc:}g@+GSG V@ WL6s6I֭a2fkIeZ*%]lH"Flb2FUǵC.*"I@\1 v AMuqH2Ka HEŰB CFcFj1>R}SauN_ ;d~1ډ%2mAJWxi"pI*W|iNa -l62;)>+񻊖^SzyiQ1\G%z~ߧu3bZcAp\r Z{-FWErƞ(5HKy iY9u'6jvk2V'9h}1H\^쯥 ѴT(P3_=ZM1Ӣlh73XS+FJƗHuy+ۀ45.85mfVs^9nSsx_b/c]+#Eq{K{(cw-Xhf 垳zڮ,6Xdք`"(c;*\ذ!WcЏ!+3NV(莓@#Ҙ́{uiNBxsK(*sl]vDYυ@C|9M~ v\xtl`zca5²zBi<@m}%k20փYW/ XKtcXG7L܇?TH@*78G&H(`.wj4=*$%JAʯ|τDLǥe +;7KFPt66*f_HK%2׃8ODa8@ ` OGt:A~[qŮiKmmJ`c5 T @uwe9\gOI XHUlW#w*izQfӹcETL9yrS5> 5vmRUGQ?J/sƳɔ:S8pZh=7>g0`2)4@T}i-8b@y Me`N2iA#|/D JHR+uڐy}.iq$:T>E_w֓C*S'Ҧ*>JT#1gr5f&)}:i;) yj;J]sk\ 8qش>p zYOC 4yLBsxm9}&i[s/&X3KsXt('$jql^{deQvifb:e"0QEl t`)8*Ye$eASY`g*4 Ҿ#[Q,-ڼ;zk}7.xY Qmh/TvːT3]98(x>F2:#h mcnkn1A8*C,ouZZӕO 8km@۠ڷZ6bT\KK 9mZ$yڎ lZ=$YaWNg gq' ~} +yR( 5EyRX+IvVYRIFaJ"yOQr7)j M)Z-: Ͷ&QGUF%(oڰKM#5[F8yQ@J+MBAV&62F(<ҦLt5 ˄*զ<Т,)ZH@ Wp[B0҇+Ӣj;x?:lm6(wF5sʧK\8[010pvl1*jG__xfb$C C\Xsz XOezɤ-^I5!Kx[cŨ fb4Mʏp`6jh {>WսΤ$|ŎBt!ro֐4x FzK.N\NP鞴}PM0$jyW<H&JƀR=#9"ֆhBAt{5k/#SԸ`0yc\||Qmq->!ܣ<>sJ׈`7jfFe>m [N~˾Vn8]6xٗ9Ep4:Gf UY Ą N^W Mf*z>=)j?tyO͜bÔst9' ڧ+?02,2KLdȩǀФEkytW'O»^._pzV?֛mKhwJ[BV:+Z.'9;SCu/8%̬$P8?ғ)]),qn_5ҁE8 V0y،I9?FŽUc+06pC@ N:EӛvG6{R<( !? VP,vġ=yQG.̂ӅZx2(&w\AEP==[UN(jYB-dUbLr $pIvNe Gno‡? *sԜU~BA?KivC.<8qΡd!f$}vVy:iΩ/)2z@4l"t[85Pڽ|z_>BQhndgҚPG+*mpqYkZ,jm`U NZLI}#CneWND*29;IYCD5I;BFHw?*&( E$T)YS`Sj” I; <(ҾUS)r3Z%f5rZoWK6F],zh˝k^%1 &/x [>hgd6.ܵmPƭL73ngz- ̧ǽ\iB^ 0qW-hs'Q AAg=kȤnW֍u D|>ԡFTi@.  "~GnzF-!2.pbZ! ,F]|jdVNWJcdwHR''@ӽ9x).**3#< *N1Lj8u W&c4,ωHG#fh!}Pj□|1,&!>IOW^ljoh.{mJ~u!Tr¼=k<& e-ํdEu#;tdvEXl}s蝷ۈ>m3My1{x$UՒ: Z%ְ+^sJ){,8TVeer18=behu6`!jlrUIR;Ka.5ԹxҖY[6BzHrDXS%g'PN%QFUUr)au)vr_$rF|G%{r֖v's~6B9튻kei9X3jɜ' 鑜{ՓG|N3 z*|i>Tv/BIH@OMe'sҼ"tٗzx m#)F_A{@4:>W޶߯\OVQYqgRM,!<#`cJ8Jfxe&9/Sܝ]iUӾ.w VSͧv1s8o%4-x*1Կ 1"P0TT_~t {79D+1\94B#*ޓZJ;:䑍$،4 +Z' ˷Cŋ@{miGihǘ4-RMzCs[]jW2uY ;V6q3a1/ f4j?Z#.z)igx|S:DދK ɮk׷xd2^Jn{:p> '')8;՞+4;ҐB=kC EJFk zz'tQy8ACHIejNoAҧpy*N)E`sީpFd7CjPw%XyvE5HӇV up^r]KkŨ,AL@l.}S (BgEe( A9`PJ'SDeyC¨ɆbHjsk |Z;.o;d{M̧*HWXAk'y`wXC!SSeuKͭc׌NӯHY=X^}xf<|]MƎC++L}p] 0{VIozZُ^>Sm1'!_rj%Z,x[O.alYPn\#-nP|,o*e o+iWN?Џ P֗KK(8|VK$/?;WePTVd*)%ʰm =(*ɥ1߭6k'3J,$"`]#027)n8aoiHA \ ^%:U]HJrW v=+E.}@iM:DS"G]DWLR6s֐Q(r815SjbGʥR rieE>P{ I$M6pbgGuL;|z{#m %\leTk&JC[ 7Ox &w E}+Ens-|?3^_ky8V􂬅q$S&p@4]Kː,I3M9)Al_ [!htR[C6irc##YVA|Zt!6r74aSy99\'eVRuڛ(w/O#A#=3eQ)_ 0FdaQ[.BD;)gUV oLuKGI[J/yp?I{?k*mkr!-3]7jG}zƳ Kj3:֟c\GH-}6H>/B~_o^Aҵ #o 8>;׭h:}l^E|ϻc3_[ib@z-N)tƼ~Tʡ)ּ++8ԥ9#mT-PPm8vYQ{BSBscGnBBq,4B61#qGG; +\贜r~+/qk]sldI{NZ%hf;[`6ʯu|Z+>)K[{*l@>AZj]ݭAZi҂2 W2ڙ\EEKۅwLZ1+2. (f5O;NT gn 3}9qptlUmkۤXsK#> \"ָiU0Nfb}׃j,WڻTAs 8}B`^}jMSlXZB3M&I97Tih&ʕ!szjK%H{R Dk8Ni4//)A pXBuRe!SR@Q ܍&8P;gJ -F)ʯ 1靰zQߗڈqM)6 g'Q7xMK'kA(%aYB.8lxoJŠ qV@Q.yo'7.rXc~C4dE[C!8TrIJ$nTk8P ~K"@j6P W \\IqhYXH.!GVuzqՍ+M9wk AЬ#X9c1z o9 *aX9j1IBVߴxBRP%w$. *JP8A|v>/^RK 2pAOJtQҕCIBe+ y[ґ\k\|NE7jSv1akh~ذ `a$l{L wi>-8N`fWaۥivXMdd"ҷ OZ. \xC[s*SX>!I",F0nRh *0Hj©쮏}8eh眜U396Xf9ik bOARzrMWQvֶl[Hu HZ 22*s߄6g sF QP)FcPAf` B BF4-q \z0fr\sSڷLzhv(?J,4dr7/÷wҽ )><~Rh1#{_C3iBK2; l^#ԙkL"ru)..f^fo:h9=bPo<At6[*)$(@ NQO"W| VETq&7 퍱Z$>nĭaUFzSVV'r;T'sڴzXZ Vi*nmR*uemӵ RH?Q)4I-2 4묦9; cuVq\*66ҜN\E' "-m:Ui["u0*-6Rw)ޒ/a[GQҳkI 0 Jw&B 9T7U9SY Ԧ ;̀W8~Uvj.WUŶ[Br6ȨrIc`9TQw0ML3V|G3>ߧkO|K78^eWAssľ$2=,wY] HM Z3ĹZ|+6/dV99=Q\r-\œ&fYYYXwq`ivVSU$EztB@nkB7+25{[n R[rlTt>M.)4a?P@'MK(=$T`xnHF5P o&@n+nR2PFNi6hǤeՐW5wDkAsCKTec:{cE}KmmMjLS{;[>_So;pũmG_Y`b \ՓIEUYmg Or!׬l>WzMFh2}xeV6C}o8p!kAۿ]<&^)Ulhm(9$PR1YyElyR8@Q 1ʹ5T/ZpHq NUu5il($5`` 6K_/-w#aZ 28UF `I d9κrĭFϢn) YrAT-;$DGa!IbVAx\zY+9`}lkCڌ|ќMIiJl@+1YUr8]'\ꗖ6"I?:׻+]+}n ϳ_Y%b=# &9ߨ|I]9z\zu1"Fj2XZ-kni$#mI-cQLcQӔ 5^ ڀ~3^=i1kNJH\w)'|ӐzLhC]H,@^pSSxk\ [6'0;$B6L1̑| k۩ʨuiͬ<}G>givGo{紾\@G ͞q!TK8?qV_ض<š<HC @n ҵvTDyoM#a6㷱Z@ k[TQݲ$Q$}t+%+%)< ϥ;NqEsn*[+k2|-X"ǣ,q>*/ nqٯAr}(#Hy~zfp7]Ea*0Wze& ł:b:KOk?Q@5L4mamL"҅ڴPr6* eIhA`J](p#F$Vh쪽S*5uoSZ4dh?Mʷ $7kܫ]J\+<7 _'^ek,Stge5"`r2 `53-:\$7E*&P>#(;v[ܬO% qWŸTY(vcyG@_ g.7־j ^V+7Uzu R,NwEW*:(AT;@]?w϶)@S'0H)]10dâ" V[c¨繴B Oo kvwI,j(eu#b^j3a|۵Z'iI,3!$ `D%):=H'uWGjZYjWR5%OxT/w˶1r^<7G)ְ"תmzVիjI8%{LL"jdJmc8`wތ+@km%pgnў@Vp)*x<)=*@y3`D!909ǧZHF9FTc#6YMԡzşjaV|k\ԗ@hH:@E.6 ]UAxwy+ZFan`\Ǘd}k hL8dp+o;i /-֓6,s_DUr3D d0n7oW?aPkP8ZJꆋ? qՍp7He9kA°icp 㿶DŽ/Z\afA~Fe#l;K=xQT# ^th\teL]Ҕ! HFjj'T'z!$R+(ˀXR4X!"ۑ>:T\2\CInKGny0Y^o8VvWgnQw=H f-QjFV:GY[66,0'߄6:j\eGp?ۦ*sdqTtJT~vF 9DWlK$gk_Wp0h+=4Y-.ne5loaD֯dp>ь]h %ys•^&K;\)M(mB\I D26T|^WzrFm\Fq鶵9_q uohӈrv+ cF2’}(Vdn62FOpF, ŴeG6mPʰ|]+_"ۯivؘ^Gms/ >p 1jl}E ɾi0}f-|7EVLX^AVizAN-H} n u xќ :f}~zF׊JsZ583L';yJNp:b0S] Ipuƙ`<Ҝg+8lg9Ve<VFgYZ},hۥ+W L}[(OR6u!WyMI؟Ҥ4 fwZ#j^Tost]J/L>ѣW$l6R]͹ަWbF2z֋o!j H;ք8j \\GiJp 5utZ.n;޼sԒWmn-ZIj`g+\ /'cҶV+GVZZ(gX[kIp)$IY&Qĺ7jnZD: /|KC r{ 5_^f@qnq]Z(-R١HA;*þGoheSHccیҵE$@ c=\I##(h+Y:GlhetnZP\H^R-nW(}C1 U<4Ҋ7_dJtqD-u`fm}+ Ҳo5Kul|l[MoxmdR2Hp;?[m[74f}EM.{i~;^.hb& wgYr{Y}Eӗ6m]O%x*! ?/[HlsHVy 6<7>h,B|FϢ&d3}\A%A'Z 0ci ]_čb>rHK!ԺW+>:4i^i@=fgԸ6y4RмdFrƆe YVSm|vJE! 1Ҽ hvr_w )#,d+@9Cz^^Y+Mqƾ ]B'y-8sڨs<A{Ӟƛp\SN. E,05MSZ0g2't񉶑FLhIDGm I#=ڞn5J9#vvH@*:*g>#()M1w?Հ"+dg&Ǟ2NF䝲}NuS}*֯cHspp j49HxjJU#sNK N1OvV~MP-'pb !GP3AAaVE\ڦoPfȴ%cU {QMo!]`C+wv8:FRk D\I_Q?iq^m/Zu .e,7>[лX鎡[oRVipw puhsd?1SZZz+4dZ \dTc>d^RN2m0lOU\E޵t*}dG/~zwټN5lm%sFǡnoc4K1SM' ~O<8ﺎu jo4sIX6;1Oa羠fF[3Ӿk_Z.ȶ6v:`^FyHߥa֟FX.&H.Kw i 'q.Rӣ{0_9I;Ki'!l󆠂wQtEV~p'vzQ۪=horq&sbXr5.=gV~&ɫE:<3_-Bt'j7;i,-N(/PAhmJPxVfmlozԨZ\h Y\%Ñkծ4oupvpUnbkgఱeX ڴmWYhPb?5Hjoc [FvҮyI+ԊqMMb۷Nf~P;T蚠+o5:&GHh«";9q򩑲NVxۤmGuh"NӚkp˓DC*> @Wpn*ZiD=jvՆFJoNm h/c޼[6V@ {#7QXFA5k\@jѝVf(-JCGjϝ$h/P}=鏓Ռ:rrFxi|mcl!\mZO<^".T|$᥊;|E"WĂ/Xr1ZmYҶt {0<,>PA.Wދaʩ⮢ '9jӭ@Vy Q۴gr;OoG$`R+Gzt q;GoIQGÞ)i@26a*,>F\iKHCtT/nf^TsIi8ZsgRtb9W7^(qgݟyj!ls =41L4T}~=KLS6ھ> Α%i&g7GOcףz{W=tb}GO/,! F0ⷎ2Qͅx۵2[4;Fi=IܚSVȒ%lH4hV5(m* Z9 O!UTmZ_ ]xeB( 52\hd/wppiE=1uT;*L{c ; ߅krIKKE#y4T;W ך{!ytGr9GƩ\>mkõR;#b2\ˋu$9;н7Ef7/3s*LҤ^Rxb!Nz#FcX{1k`֗ĥpa 21ʠ77;S[Dy ^ʕYBr>. &I-`ixQ]#ӿ(uo!1;ڬ$2R1 qt9*2i rlMe\HZ Ҡ[{TR p:oZ] <[ҡܵS39U G#0ι#CJ |<;E*Kϱ*>!Kω*pvOU`W7jm`!?ۣtZ; <=T>G',k^3oԏ:Qy]aZFFN0OzrW\Z@2Ρj%Jif-WqJ+̍&j 4vz|`m9XD5 m6U\=C04p׵<±0dr⼮H0'rK/F:&T= p *64/I98,VTOYV]!_+QK9[ͻLZJC<$hK[/  >8+gIa6 CC"x1U49dW+\I>8Z.K4/>p,*)IRrpӲ{dDzkǥqt18)XWeǹ>ܯBf6H6Χ\Ӑ X(dbkra~%'~e0v^~sA hkA!F5Q˰XǨ'>6Ҹ_QfPvߢO_zg2Aq`jxǿU0Kx!2ry22v#FliAL஧xU%ݭ֨4,`n}sӽZB;Usm+>viCsĉžyr@;V]&u3]%`|"X[/X E8$WnqrokYun>.QU d2uF?ۀEFoq)&~dua݀EGtԕ9=>!u5Nz7^|2Y.}C?u]:Wo.RTXG  'h઩zɽcK8# Ꮘ\7q&vvh]²|8! c]+?ηXdY5J5rz:ӓ~Ҧ -Eu+@5&'yQHT?j CVSmXi𴧊oU՝H i$-3#ja-8֕,./'>[{W#4Jvף,.8Y^σ;р?".xƏ L$ۗ^J8ϥlQ~.{u1PwA*0zGg~ʣl&@[= BJ[C(b~.sFVx)򱶕~bAsԚQԏ gZjX++w앿 0@ HK XW[=ÚW(QaX}tBQ1ʤ6M"Nܐ64w=m}?iFEp,w s#o"SNM)K|'<58Rr7ڕ)WO].It{b·jŪnZJ]Fʠ|-` \:@=֍R_H<5CI[=AȊ\+ ?#^;q^i X>ֵBjz(#V򿈠Þ,`,cJ{uf5amލ{UҽM ajT_yI!#m5)j=Zƺ&U+j@nt}/Wu#Lc'9yR97֪GN`7JEKH~ufxp Nz|CiEaCsB}h8P՗>Pbia$LڌcpO.IPޘ4 Sn}% `G4W٢Wh.R2ܠmJZ#g233և㢝3[VI1YzgсJTG0~^QZ FO"u%Kc 7cqe4rbzc*(]X w ]7Z*U"Z[`1R븭tNjA_I};Nӵ[ ɝ5{tҾu} 6N/oKkRJn#$3:נeiVoW:+[_+VNq:jϋI:ߕo]Gz䓏USKh"7vM9MK;3.h%|#8'д[t!6yfd'oj;p9}+Ȩy7^ی,ja|}Ln" 2 r~z,[_wvI N^!j8Ld4bֽ&Jbv:ձTEHFiwz1?lv/+7lA`2)Ѿc Kcn]'0H("h@1U:<1%E{J8q~5ZI _jIq=GYM]K"GÛp*\렍m#y[*񚏧VV_*Ĉ c˵^Y%i7q14XғH')V#o֧ǃJQGJ#;8=hn(y}vR&dB1֪Ϧە}wY,-Ro^H%Ok[MZxo|f7 nIҭ!6먳AyNӧȫ`9~#TCa>,))#EAàZF`h*s-YԜc5,pJr&j&aIJla:@qPֵzA؍5Ek~+;S\䴿u J\W$-X8NA8JV';yAy^Rp;J(^J#qEBU:*8 zu٦M-r.Z5bFwΖ V?YD;2=T)P\*ûikL%>y=H}®6ka5[c !@9W1W sҵr092?$͉[Z?lj Ks2 =ͧ1 d\a65{y[k{zG_ [%f'UȑS&ջq%vKՒy<Ț$`]r=}}iE I'V0pyU#8;:(yNטQ t;g4䤯wGouVF5<) V xiryݼPr? snqKcJ\=Fx/I_j7nU-qgNf9$1s8HJmE0u`oN4'*Q~*G5&OU&19rNGN4Cyi `|~< - ȘM Ϛ&18Y}_zXq žxđG \SXFKA].ٮ.Eԙ(X\vtsy"nzmYK P4NmW&75V,#P?Xl,L29P3=ϧEK8|KZ>9&b#^ݽ?0+Ʒvyx/MO.+{mf4d$#OG*7gaןng6_e^k|#S&h1֙o ]?<03"nQ5Z'j6\V3%\yZ)n\v60>4G0sӯLvlj;*Uُ yeIY-;~U{i%yON+ܘ浚h~MtVa 8VnS:&ʫ Y]DJt\r@hUϐ6v ֞:$F1OHF)=iׅܭ/ɦ)?1B)X<'+@9*pIʦ1۴Kl3ҔWiEМtY98QuO[_JU.5 VXm tk/#HӲp3>CL%bsҊjw!ҜjCGp¤ڍ nr{մ Ci/>=U!ЁQf#+c'#F 7.՞PSW$JymZ T-f-";4~Jє|K,qQ rAͿ~Y OmVq7$v6վK`gFG);U ժ~5÷jMJVN \ڵ-m P.!ҫ2maqqJ3oznfmZpj__H2H=> #=JmGޱi hq$ytFأ I^[i>SkUa sx]M f+fpF#ΐ4ې88ݎ;4W sScyOJh< *zg7=kW6*\p:~e(4s}:VUy҂l2W{R9@+7 ,ZȃÑ_ʋ BW %NuP8HZO61gP;S 'k)&9)܌TD rpJ 9Vlv#|6o;svsd)L[+n1ۊF,#ݭO^.Wu9 V/ZFqwM[Ke]:}t/[mH^|d >"H򶓊<_ldV@˓z@ߚh+-y¡쮗c)r.2hIWN$4K]q&0Xn?* RxJKJ4p[C 'ڣs# )}FwNR!ԦeDqlO8D$!n4;;[S̾\sZç%i= eY~5޹cėZ徳{>wh% p!bq^,.RDWiY`͇X蚖xda㯧qTiE6.+:.$9Tg3ا&Y 5%-ZK[Iyۭ5-,g4Qjex/-dfnVALhR{Ū@Hv9SrRtHte=}3H%.( O387 +bxI.E'zF J1+<]&_4P)$p}3\2m8S+5&7_ÓWx\@S_UH,\SJF^S^ 'sr=@ NPK~^(O|-:]h[CG=ϚNVQ2TM:`2oxMVRKi% 0 +$ۮjA!C&+!(iyw-α"`T3'YZh {VU*-࿶GzF8Ɍj-yv=8kѢtiOuTxD5Y->~Ieo/0Ib 9F{(-.J,FxSqNos4T* Tڍ"փE>613uppՙu2--pP4]nh7 |h.#ǒ9lo'؇t;Ե;IokI?mw$`0ʠ goZmi3 xg+A nu>C\V}|d@}8cൕ]m@?+.ݵN<8m'Y K6(8Ehk]-Qs%Â|d;3QOHKF@T?: Qfw'ك-uN 8{ۻl2W qwǵbܐI[>YP  YtHnQp7 /~=SޭN,bxl y>m *c FJh᪱c5>UD)b,K 0G&g7aZ[(;4F6W!c8ڙ3 9DcNJBv wP+N=%'FWyY*)Ք[N/.zCF;*-O/j%CJZy2ڜЙ3[Ur0`2:FJwtzvR B\ڬҊig}0+K*mO!/ʧq@yB5nr}ʤKC+Y|BׄPZ١s/A!Poz4Z濈DMp|ݲ{אS:MNZֱOR*XgQce![K乏 v[}HIXXݎ\gz-,` jU}$L2(9R|ct#OڳPVqs0l}QVG-ao<ˇvVq[ Q :Ȑn@$qV޲ʁ!4F#9)7]9BRIt'D'b 0? IF tլ(k_9 #nSډ>hc,:>2q^*q>(b#wZ`ki?i "n\,x*$<:МNTrqF:VӨX|C'o=IOݡ%:86|TЯ!ӯ'F72N/EGao߆_iCRks쾦!ml .xA]2Ia3\>Ib}!5X9+\lŖ)}9xm\vi QzD1u`FũkY_8ׇtKfT! T met;]-ڋ;=//OZΣwY]4s2lǬ7-KU-H2}#M6r'o xb.^xͩ_KJĐ2+#H-y~P 6T1=Xm. `djGHմ 1@1=;0b)õ&9!vOJk{R<Zʀ)om|ci%"yDSsH7ۿO F7hh' r{ QʫxXkdV9#={c&'mXN`Xsd硨Zff՜9##V%R"F=}8'a-c^Q$d GaCs1 AGo:O'VMr@]wX=2wkm/ߨq/ 8RD-#XtpmZo7vU:c5/WRr;Q|w g9ɣ4!ERu d$oCPmhXdO-oO.0F)r;S;W)'|UT蟚D(axN2Hퟝr_P75B]I-xy rm1D@=im# {N) |DJkw8:69 AVzdfݦʭLT?_hԓ[$\[MHqk8.mZF,jLoil$nOӮ=WEg졧+_Σ&e9[$QԖrV;|o'E~ 088.%B+sחܾg K;ipm s&i6qObBdLj{s|m wAɦ3d%lP}9MQ=*hx0Xи='R F4%MfF jRP=#/fdųS=B<4p҆r78?ڊRZ嬰Aoncue3tUQiA# )1ͻȰg #ҝ%;DKV'=)I9ge*ޜSXPcJRm4* sl'TW[;t2UFW/Riy!GapNp@J{MwJk{Xv>tk) E+S u+MB[{rkxж3ծ^8xP&=K~\zS3Unem.mR+?CHdxՙahprQa< PR[\{Sgv l hn4X# S~So:iD;ZVFbx ?kY>ֹ(l\ZwKt{LqU٨+=#g"('+$O`=*7qTYILR6\Ji!OZ+EEpB=Orj5BS>^bzB279Rr?&@o}OZ.)8$Voe{n)Eu\OIXI.cxF&V'$ּFlxkr7s<*'^}K @ecZ3D57mYʮg nyp~q+v3@7vIwM06kAdu[e' cj4YS?KVxRYWoް[֠Ao=1KIV, ~۔x iec#ߩXDjc\'c1KF l&"o0g(ә :sk)sAѸ%G #}΀ێG#(vH(؎FtkSB`+u1Yj$ӄIPa1T7%Hj1#Ia{ER[ z TYR#CHX#t,t=QG$ DĹ`lf?r14f但yO.g9M'4chpPJwiݐ2` BH9IS͞k tsjXϭ9x@`rI)OqAKi'%~0yyQÇ}0Maԍ!HbH<%;c-*ioKԨ4yR4Gx'gaVpy&ǔT?ԯ:LoV7/p dߖpGh$ (^4ZAq魓_.v@+v++ <+Gt'%H RFv5D&k%Tl|GBjA}R7BA8lЦK'HvR 0O֐#5/y 7/#iۭ0%+ԠѵZQBj: RpbZKHRKsNn2@aҭo*W*[5![NQxU2;^]~+?,uG|Vo?ZB^YKiMӵ wFnGj C Yjo9q(s^u&Y mޕ t m-䐮X>_ӭ]m\?ew9g.#p&n%'K'5HCU`Nޚ'3oZiGT9f^\JjCGHVPJn1Uhu[r&*@r}sO`6)o:XҮ[f*yq?<:Rƽ׭^X[{2c3=pq *s! ؔ~`!rY#K),L$A"gNu^yC"HM+ %5 -u$7.2c,A-$m=Rfn `vmW ܖ`+i<#ڴ0<,U;]Z98'b=Z|'=V<噋anCHHAsGJ5]|OO,I%"Y H@RN}W:(嘂zUz55eų]LL~LDUc2l5IVMbπ 9ɦEi]sERh>"p~.Q֯ն5qml%y&&F]<e,'`-ѸKkk~?D-ծe%mnw#s@ǽgaJ;Ծύ-fKW ܖXf8;@M O4o'^!ڋ&eHU@OuMFưIg\)[V!,K;\A+۟V8~k %h>14AKѶ1QFIi@sUNiodCNJmOR6p!W]u}yNAzh9OK,x_ZKNk8+.Mo+)x|1֘P`.V&mf 55FfPY9iF1yM Jy #LbsGeF{2XoެYҊ+L JM&JOWXQ L}(Nv7gگtPT> o kU ۗ7^5zu4_k&f%zkVjzUo7Z{{^xǓն4XYBoGhUY>AJn ێ$}0qUH5R8-l{Ui0}coוڢCm5iyz}PKV  $; )-m uʪˆF7@']WO3Ζa =k<~_Ja]S1|{4+78Qd(JJ1) "ϕ!O!8`>* ,"Qcpm _1%3R#ҏ HG %tΊ@k jV,Gϔ} * MKE0-p=3mq|Q5E3 8qu[6#b7+^*,:\lMve[Aυ_8kWpCqX^G-֜7 KBeN8 ag#U2]Z2[a7 8[E㐦m6c!Yi@3e=?SyB1+ =HSmL(*;` ݏLA(rJִҬQ3H$69ߥ Y!EQs*Szĭ#l|l *pcZ85D·~}=S'x?*SYǥ Qv`c+HǭI#Cx$~cqGPVb+]2~ZgFio'lR=s*+$McX_ڸ&sO'&Ic!4Z{!:]hjvL.R>cm#$z$/ >NGZ2A4=)zԯ + ?hǥ)hw'6i"(j>*^q9ZݳNj@ѕO|K$[K- Eb"Yi;,2[[Ij Mr*WO8SkMi_=lec{\:F1שOW v s^7-Eg[>:xE/nyҷ69"G8ss+r~kGi +FxBxNִ-KD֯c5KYl*D*HsO ]MApvooךݗ]pHye\~$#ns\kf4YZ$q h(#=qPdy3}Ih2Xy2Hs6(UhmմhɌh~TkG/q:}).%G&HIf#`rsOL A8Ͽ'!x.|A(T+\>љXq"PM̒Ȭv“+ue0"W"19!W=+$?ڿ06Q֐I="t"眆R#azTHpZ & rO_cG+ ?xO o3+TqP9sM6U\TɼFԄ Ex#myeY UݜM#ldԉ1}=dwe^9޿=o9 q6UQTX䐼=@wU:0G<~522({o # 9N`ՃCMv~/|pUS{"/+\i d*3SUoWOyK5qtZ5o\5ܳFb< ?sc7MJ[mryWx4nK˩A ¼"O,s1NP^w;Y;Am}5*AS#&V-f`$(<U}eu~2OϏE=ìn"YBjG"!`z'R3olNwKj0kRJ.vVǛ!`= a(VN 7֟[ u<@1A [av9V9NKjyU˫L# m dUmQQ(Nēkh|9fiZ]/MIt c۩UVg?6en\-n^@q%174"`z@$oQɵH0f)[c 5 ҧIe6N$n^7ſꦶ:ޛ4b_[N23` ?*$LT&ԡ$X8fnFQZVG;2/w|r<ރ8dZZ/|]iCriv26;Օ[F3Y]TVI:mPm_#;> =1Fj4oN6< L(Ǵӓ' 6i-a Nv挧MBp~,cewU/"8bk[E-i'K VrM*.wՎTKs.s-`3:bWi@-`3M& Qr9^npJ\ J78ׅҰ'VN8z=[K7]@t$YY()/9ں7Q-oeS5* ƘD-s~$YO'rQ)yPgO\?Re>8J%-.U{҇υ4=o_Wvx%%<9۷5&7qBq8)fS,LDt4֐I ; ͗CSC m̬O!06#=)I}}1E5X=ǖ9XhQrdȎ23Yc-N.ie4; -ޔt\&ӑ<'s}(i#&!\+ߥ )Ε)-Ȟ[˹P2rN2}tTv?nFcNf#v8ܟZ& oԛȓ]mVQP1X T$,'QX|$/@J_C\2C.dR:>͏xP{דnھG v7cNH4%ձ^hdjZrHu$[Vr652k$l|^q&IJFq҅4-OѲx|w @kwHizǧ+qCl^]O*bʩFg%#䬈uyRk%yY$qL2!RNT#ubϲ6,D g|O~(lqԠ7wjp8~Fl9lcX ]2CKa%OW>I <꣱l6PsFŽ,yKrV^;e5e`P+0}i.]B79Pힴ? u& 1u쌲AΙܨ'0yAl]:n*Ӝ( b0o֤4]}rq;6ܿ=,U@rF>> |7y(NׄA97)'44N.i䲜*uڥFƸ[Q&]=Rc*). %Gl`s*;K;BNsbe R^mی42T8 tS]ϒla~EUUO(;Ӏ%RKX9chҙx)Fv G-G"ʲG:c8~ΜM(O,0}NXث搹RU@UT~,Ӭr-H? Mh3$'AZfp($$NʡD]V6Fsا g?R*qI_s޸\#mN?KHSʏtA$럓KK>|cqI;6-2[F!RXVnыUj&@NIu 7ކ 3h6Oq8vjtΦL+GExnH?ֲzW#G,B(nU١T{ɢ.¢|KşY0GpC̫ՏjwcO79zWaepK;y7ۇ*Uga3dD@5:c`_V:*XҎrѨu*Xdv${}hʇfcOH%T62whu! 8Xcr&IMB>@c6NHIŔ,̸z@B@r,Ĥ`?w/+O"*G'˸ :sj_<&4qFUe'c|Rii9Q6$RZ.ӟOl#HŎPcuxJ6 ]hcRt0bL}d@X3(ϧ~tNX"\4˷av.8Qr/59`R%;?C_^j>N[ Yj#HLvk ,3_lSR$~851L<;kǥD-GԮv2 u"FFg9uEܒKy+LX/i\j2@{4`(ޒaxL4.{W$@/NÚ|qP9=YOMv]Ahx%ZyrwosՈ|A!BfpV ƻK2'0U @EGGn6W9Ug_t˛[ -+pB' ܨ>%F|bӼyPoƍr]6="D//r<2NzdZPV0~pK5hm伖kDJѣaN3Rrq_a|AIn\^JWJ!y"Ԗ*980:=D[Jnk okn=NHV$6yԓM}( ž3/on"_ 8(|w'c#W0oțj}6\pwsVSYK1*;u,ڽcN/"kUw!0?{jWNTh(Ζx{V:mM̍Z2\Sd5#G~qԯz5|m6˴.`n6Jҵ*]PU~ƺUW8d hpLy%ռ:j 5YdJB1#-+EgJK}*A^p vH"ګ餇VxTgq3RS8d757zVJBpýYcjXU_j(%Jh!Z|'q*pzջtsmah7hWINA^Wν7G_v y֙aq(}(Gq[my-n*n_N4QmF ~u{sҦpOT-Z]Mso]pnu_2wi`ZQ]aGyNr)5`ک&JY[ߵfuڂA-2l!yy3߭k]/maa')34&w D]@@ lIB垔0c*?dCDIb'* p݀[ 7ӈ.o!r8FFV)`s]clץ1>)# A JA;OdNsIP& %lXi͑ $s|&x\.H$Ð' !g!H]vSHp:|L*Q'm$6#8J$nTȤ[{ )&E*G)5xD/ce[#8SqC|9s/ _ bGl;Iar`Kg07NHl$EOm7 eX$dҏh*$207>I*S #ʭq<ғZp)G*ݨ'^gV#WzK_#Ea$3 iHVQy *\lG icp-6VYN |z*+HOȥ6!mQ 8Ye- ן;ވ =UxJ¥<9;u@!Ec*vZeĥ@zVGtHBNmks%sT]v]9Srut1{SwîՁ̸,z>jAҥQ#&v[W!gOX{db`;4)D!mƩ}mcj=̲,hrN<\ 2 ߳pOMjƲ,r<׮zN4.n쯖}sv-}hiki JVK]9{*^ֆ`*qoJK!JB۽r#2M:ǜ1 ):b1Rma9$M,}& CnltSG)4&k~QXO0qL%H@MwJcLWPJ-⸔azE8!8l895@=C p@ث=Q`,ql40}T&k4LoW-+t3U ,eʴo&[+"@eaKWZ=QZ#km?H旔l8+6(.Ebc2׍Nɸ`pf[k__]jfJ$"QQBcaҪ"`.ʱEZQ"W֮ kh,Y\*$B;G#*o>XP9O 7t&kD?Q| [3IᣪErA6O$xPd'`؜#LEN|~ifHHC.,[ 5˭ko2;RyXF t=^K\yJ iڦ-v\C|y?3$rz |@7쫆nx湑V$֡thK<`G MO.`.O6NWr[ˈN%s-ވ?xA/Y)<3ae` T{j55LQY'?Ґxa 9W OG#C+2Y11oH XݙB~y$<L7M{q 8[}M)߲B<f.g[x9fT.p9ȦkG4:Fg51%iyFsl6=I$#Yg%GQ2`~c!5S6Ld-F^gNDQ ޺τJĒZcU`2AA?*հ߬fc"뷱*+I0I!zI,I,I$0SʜOhlm"O"*&- b n` JZ@149LpY`e l<ŸO3>~VZjsܬR<0DmS'&aD .. ځT=#~H[OlvmjU’H #\v?+ Zy"[s?=@K2]2LR`tf*njyI=_p ώ6/=L^/pBzד:̐d0Zю'ԍۨ`ɜ| <);\O3vWlDҨ%}-HH]WmUX^ #a)1-tZ;>4;XS 15vo"ɦG\ACՏl`׉ߟspWoz+ִ0T(%cy3{{V*i2I*孾AoZlz[AIEE|XQZ},+c p+fk^w73˾}G4[ZI;?dA=ZhyDŽsqӿЎE`hv`0Lv:&@_-%Q΁2Aǯ>K! y1c޿ OQƉݝawS(61F¨;zz7ʒasCi?mhO7YO64Ll0oKư=q[,B}}*L4ڪEET/5!6fÎƺB涅(GU.h(# 'UD@W0VB4PU |W:Gdv^ p%^`0HNV; "QJIԯӐ&-M1#"s,8 ϋ>0wSwi$PDrEzje(&pcUIBFuE\  žCrxcWxy/ 꺱´ҀFTu'5zwQwmڧܷ4&gRy8aZvI9FĒDs{l+~J.־KO:+WíD[i^8 K_FS_}Fx=Hd %Ym$]̐Y&@hU8WM%~V6= -=Vz6}Qr\cb 91ϱYE(*[4~MSq 1*4)O>htfL-6&Qo@tR lS#|<__ak@Vc,uWrj@0+(SAWٛFR'm/ _^ Zz`~}-r>: fӵMzvQ}%Ez0ۂӋx;RN_|p:gN gٟep7~ZU~"N@}2<]w ӆW7سm)p晧5;帑:I~b+P69}A7WN"d"@#ay,5vȂ?~fSnKń8Nj{B!i  +\fLdEy+D0&(܈q]3,GU~#7jͬβe#\s1Z/Ys6|\pzČ1o 6-as7Į#ev=)g%z ۟T4sjO{°E-q[B޽+v5qk{8T(6F4c η=zᔴ$dLʥT2- ^V>ȡ4%lvBq9~.'='98(^Yq+c&=,VKW#S)`IR6Pht@6S N1~iݡ;)X2oڈIׯ Duh͖Ip} M Kě襏;`J=)"ZsPLf!e%X~]jk`AVͫ`V '43&K`@_@$砮iԲ8WS}Yr8m;KyZ&7Q_~‹mY-i'ʷ4!n#ESը`kuK( |alqM{m3K#y Ty@oz}vW?݇zb*S H?LfolAJB2 l#8NJ>Q[W˅u_ڏ3A&o/VO0s=VM)q Fnɝ ;lc;h@ F@8?ޕ 3$" c-BzwМZ$73.J]ŠY <7g'0UzR _#%dC3 I?)o6֧M7Du+@3]|}ҽW[xi |GՈp~c0"mYP^4 6\֫n͜0jI+:2OiI0#zir jTmE%1zht#%@ j"Xq%HkELXsc42+H;f N^7XR⤰2N `qkm0`ɣR zG !:Ҵ(&W?|(?",*IE[_rZhU>MjfiI&xK8nǙv]iQszQcdz)*̆+yḓ<ӎSLo37/qz^ǣ̬tӆvk>\?qg3B5㾼]{M!}a3؆|R jF,Vpt#oʮirZ͎;oTw!T1@+F1d ztwiϒ6 sr1ojtq]/ѿ Mq~˼Ea|eŰhߠ=2i&j$^"^N^K3IZ1bamIJD(-m͖o|+\ l( oOu;h73EU:^WtzL- K]N p'r%FJXjL(L;[{qe2˿3NYM{w1bbC,qHrI4e%``DpѸ*;q{g.^(Fc9gQvؓJ\{O@XwF'z(Tugqs3h7-ʨ$wih C*Uȴ5Xtyd r zhNs]6_/j3GZ*lƢ00 OrsVZ4CUv shn5hq6-̳JSG$W4#mho6;KLHm}XaTm" Xr˃'ӝ6pV 8)y"O:A WɲQtBsu#3\hne+?V oum99RrF~DՖZM(Ii -LJQAsźauGzLr?yg/8_X3e 5w-"a^#mZS+wbNyI?YJo+PBHӤׇt!%RO3qP5zFt[wQ[ 24:+fX'==k+FVMy'oi.,X8VcH#}j`NA֭%ҪܵQg6+նmyN~EtZ;x!G8y ZImȑ\ 态k[R{kKeE=Mg7[ce{Թ)76{qR'1?:?Ry~(ŢH|.Uc*:qC-;XLcAp j4tv0nOjJxxu29A7l]s+lBF:E r#r0-=<%$fCG0rB& ASf .. &9v4p̠CK`dp|fa("ޖMΤ'/錑A7} %4ɍ}e\:M`m*$!Ig_n>fJv0iR( qgn*FOT ?/\[Y)ʁ!@VD-Ou\^V1+10>Nӱ5㕹t%MΣɫh8JH,v - wz8_2@?:cT#n+[ZLh NRa6%sY.1CsGK #`M7h mFlҎInz_tQlP\p&Ɗ{E?*N_iH2; N 14%y$).F7RLrsq($s3et]0E,Nݨ䨲[kWy8j*YT濨Z}_jQ A{*gu4C3T[Cl|aǟ82xPv V[Pۢi=up;]5ˆ,*Oa:I 򾾍i^UYʠei.Y-tܝj{prsmڧKUs[La3ĹcUx K+ʂT{b7kҁOG(xy_GG=vސHM KrFRDP9嘀"2r=:iKD?y"Jl!AQ?8>?}F\XlI}.I%Y˸lQ/&FN;,쪠>iՌ C IOl]"9 4o':JfaHr$\.!.""1#^dyƱ;?G[ u?uwϩ(ZzhG?zpq^R?CvҥF|c&?^&G'`F;"9ߘJ˚RCv.m:S:9SǴ CEִE$86Ӊ0=pGM7?[oMa?!E[}+6\ Ֆ,r:&$$Ӛݶ0UcXeWSUc^GV k||6ЂT o~\W?P[}Cʉ\WL]05Okִ0BO t 錎a,4 `jçJk7z~$? +Ȃ3Qh@+7Yu:f'([7 :T+5IC0zG_bes/ƾ',c@9pYF #!.yqG49Z!AӢnzFqVs}0FVUqu#)L;1RCvvmPï4 wFȓl}CXStoQ+bX=BXBզ.y8#Q%] "rIԬ')PWjLZג^_<\FI#oκ(!R!dotO>O5H#;U*c@ZW@$IQWP5+=*ǿ1񞥧u]¿,ov֝K';f_V|ťi֖ED JmOmx0?ZV4'K=hN(,jг*6TD{l7ϵ?{ey㠤JVb6 #+.FkKvNj韥r#c @|dP KVX߮˜A`Z3N)$ Q+zt]$ڞO!P=AmCT޿r9>B UO)Rڽ~@sZHcu2ʒ֜den*~YnWQ1N=+._%tֈZ_Gif =}= o2_xֵ.or]吃?[qo6 Hk مSZ/F&$ǧBBhN588ԒM&z7d7@ovT0z]-9͌?7d^iGG*U)k .dJ:Ne۽找xe<wΡ^Vo6 Tf3>W<˳폕ag$_x*G7+g;nHzN"[hUm ؟(ihtF+ͽSHMwhԘFX4NaO,BO+(M}҄ c9%R[}&p7o\:J-)a})9HG"fE'KWIFm2'r[|gYi ++HaIf?91¯;Ӆ$\]2#s{W┴HajK%u,B49Pv\规 y@LLoI-,{c9P2$y@9a,I7AX:njҐ0,qЈo&f;yyP Lvz*G*~y@V#F$ q q1~nPIv5nG$TW꾔SBoPZ T66YpCk֦xTa 8=E6@:(KrMbM H.6SIGCc `ܝu[V,ԃK\&!9S)N.xFn.u&x쥒e9ʞRΝ&E>ɿki粿{MVyKǓ ^V9NҌxP𖿬𮰗WrFG6!2?^D2ٖ`lz!nശIyW?ٟXFV/2|>ͩ^Ư{m j%#n3Ӽ|668r s17RΣTľtmz+`ٙ?+]!%n_N!˫v ̲2@Y ǮpZmq跻F ?)pU!_ ~c?3H֤.v* ڭ ayʯIAR'q .?b:p ]ӗ>+j*Q6=Qk /+{}w40fcz  So x2K2Ǹh6TƽfWU rڽog㛾n#w pY[D< cdaKuk-(8qAF\~֔x,`7 4WzoO:\O8s5[ά$`CŠ-xssם&8(!@FtWWM>ox@ TmXL6VMG PI n7 _:$А7νY5XZxm-=7FIj(~.o:02:łpp*d\;A#?1E:;srp60ލl5. cWTz\_w+8#x+ O\vR %!!Žg*ʁŸ=7aFy-mV(#RUmy`nr)wJ\]SrSIrNC60]Uͷ/9r8I4J;GZ vp4jOF;h9C#O5ne ?_J#!FcX)/&92lz+sA="B,ֈ:$N^$n=h`"HC7nP\A 3IYAfhlv.}qAI:Y7@#!s^n&,aTA)YAV0\ld(=g8} )=hOP:6-:SrɵZ1)E1RB c$mN\f ;O߽8FH&SYH1T*?MTr%Tgj(WbGZY`!'ÍXe9.s:J!EH\ŭzU`W)UH9PT!SLv{YD"#O-e!4o0?*` a9~ zkZ; i/ʼN'xpZͦY.6}jKY^"+aᮙ\ Ekm j jcL؛;UsnEcTڰܵQj}3Q]U9Y/Nv(+bp1rLМ8R5*c4֯~~ clmJ)0du}$^c\d=ĩ-dFh(ebp:(E7cߥ9ʇ'kDhV#1c'a Ww5C_;ĺ/GmֻEM;qg]`W:pTF*A=Q&+6Nvr@NS%>%.*.HFz]v=+qADVa|qużcksH'V>nPtͯ60z4pwho%gڒIZ0cTFs;U/©Ceo5rP5]q2’iW%Ԉs`'װj}MY)D_ϴ'^ڽsn-任`;ʴ\LCWYPuiZVC,j0H9sȬI4/D/'m ӴwJn#%Hh=NsE"` {B.G;È@PQN g=)AM(Ufw%yszrԚV VL?|m$qW~Ċ"a73i_.B\*EQҘ]@3ᓑO]2^^cu$aX KcA0 21¾ q)sen}q,pBr0!W7'aڒ%5(mƂ%RXg!0H;r;vcA>"OE+M:vy!gll;`R8}'Z&,\!UHRʑ0wE,ao4Tǹ6A.EBAXjkSKk4Keb&ߋv))^K8Ru!P`?w?ep,l*dcܟjS}SReH>2|:Y{6KY.$l[ },|Uh3{..4յxTs֍%E&tmW2Lҷ'39ҫMjcYim1s"Rvޅ#XNxmLHтu i.V7q4+m l[vUm Idb^\)qqtFvF N 'F)R73|"9I=ZHSG"aS&QB`ma>IdͻH8# Jޮ& ?oC}dgץmƩCOl?Z-?{?rn Ye#9 .?zmT0O+IՔi C,cɩ~xQg[hx]*x/TnynF.C=͐ǷOʷf6BQx.x|B G׸x亀 e;I=zvolrC1wg/KݱaHBzTzlXׁSV 𵓏5).ZQsV` ٧FV/%3&;U^X(-nϷ\cKNkwG[& HxQ{ًRsyNt7[661k,ʹU( @XREѵÌ$\ C ܏ȎJldhq$FTNf7_3`!T^ȁemДA$&g;Q[UaVhxOQʭ IhR6@B8NFFsLH|s+re,(R=5Ho<(dw <^ A@Bg|SDn$Q 3Z8nPK_I/g9#2J A&H-cjG͢E-B+ A.88+iB@>&19L-'!'Ӊʌ$)ٴU eo5d[D%a,d#aFot@'] vZLi.{mcr}(LhR)T Bs°\8q=1Aɕ :)GhqĖF0(8SHhڊ8&T'I7W`ğR4Fj$kXV֛f¡G(h!fq `}] Z#]V8׸sWq )_,?O1UtPN1CQr3 cLW)[G _JUR|a}#FeVnqUڹA q%I1@`']+&mZ`nX6 +m{$nȣt~#MeaT]/ːؒ>ة= .A!30H?M 5$!IQ-V1^IW `فXV\2l-R-@W!_5>c5ڍ1iZgFzT% ;+ޘ(EJmnr+rkey\t\J`fڐ,`E0(+BX^ 4`Pߥ֕0^.iHd~'% 2))#jQOs"PBG\f+(2 #so+gT@SNq5AQfDxcN,JlHJZͽ^BօlCTow xP~-Dz~t`)ks27o4K1w5 ]i[{tD`-tKc}ysG워7EXTULrVv#W !(vmwԦc! :AP`dq R#Xqqf1Z+ew yXc ҦqxP,.p\|[$2dfaEd'!F4:Q4^GR=1pp[36à\@PCtmxl^b5KȠ X݁OTM1ykc}? 8951#z}k&{M78.N,yg|~%p5ltON tE}"[~ΆӛV6}%<ה|h+{ɉ؞rl+mJg[B'ކFoP<"J?0:tڸW`vrދ_Id'[(EP7!nJMV\eZ]E|-2M,* ӭIW£`k|ʽ|AmkPԯC5Q VI 鴬`k ֫MwE1OV' 0gžq- `cX&Wv9F'PH\mpd98BVL[r0/Ok~X[# 8%psClTmEC dL+Bh 9#A75hݰŴoF;52aFGބZ#©4K2>т@H;0,%1*>&qx҆foGWSFJq[sW_h-8@!&*O# Ug5P5v=s(npH:*\99P7ҽ_iso/(e}~ږ^؞ՁaQZQ Rer8WҝI6 h7%UUqJˮ\/ ^;v(M32S"t`P~d(UOG ,'6jw)*K/G")(2nP7֒?7r sH=J_JkH EGiČ ;HbkȤ8bD"nlDλX B^% w t#5#+#EY!ʃ1%詑8JPY'e';7b;!rG/8P'1ό?ޙ]KV%aTH튕j11$2e>j$+M=O㈡ 8۽Bk6U?nE%!OZ"<") 1r2QBoPs*cqC%%L4 n\Zw,W:ORL# _-TNW:FЫWG L˹GSSG#&!`Fv=OaSc& X='E>1@yQG#$YB F(eh a1=Iz*A|#+2awgzC&I5iA W4۹/2)4hZN֖AuJ8;kʞa%Roc[}20KoPdڇH;5fQ}lu:8,בMh r2Ȥv5hElڥ(0TBk\Erw% u5ɼKI ^>š$ſIrD`A11͵ /ݫ +aJw"cw=i@TgH#lmJ]I;Fm)fi ^ch0t%*C5 g5AS&T3}1ujFR'J{PF5QJHZ뺇ܬ¯r}},gKiNjOs4{*O|xĭN8B\T/0Ԕ{\yo#)VQ!1+K@tnNŮcHQ"8ܓ\ErHyT)w$(Jh R!\X,k4K,A]I+288$oғ}" vQ3)9*hT!)AJNiQG ?x)\sIAR2sMq OЛ#I`T(r+M&8cu LNe{_)lQ%7ݱ蜠rH/C4\9FSsKY,KO>~_H`X\qw?5}&$Ҹf5\i:d+ܥ A6\5Zny!cbAcL,Wu;^mFC0:{r6)Yyp"wcM1xiV.{ hݦ[U(C^1RpcK=Ge V,C5ͣRcj+Y8YXazF(,s+z5AZ]MB/L3GN1y^JN)9)ߺ 9ʕ|a4/$,}3 PɯGr4J7Al U‡E#W(/y/arn:JdDg-!svEݠ+ENld~)1<̍~#Otd\%ˑ(`,sʘ#J{퓿/JRG2Q9_u7ZveT76w12 %s/cLuQ@*q*AN} h2 __m4;J|?uOqo P ?*Wfd_xy.:OjASNQBzc-x YGH@ژ>o{`'Ɣ1608'8)#@r b‰aġ7Q(ПՄd G?sJdU`^GQCHD*0!]:9Vw`1vFS*};@/WP_ć7۽<+[uFdA3iK6RxA/#*s(v(e^r@S+<7Ft`IVFDp;~_p /c MFyҒ @zSJ& v^o45ˉ]HF)%!jM A EJ w&m2iy[2*cNe2KsR}9n|hw]@NPKj*rZJ&$P2q}}SIC^NUcv$albR39nmiJysp5m#\MR#J 3?(PpT6 ⢫w HfčLT۷ZHd+IBZH`GP64L% ڧbVW(=ڶ{l_k/I!X̃Z8*,|?ݩmu;b.zm&ӘXqVkp#_]11`8Y|/mɋaۭzVƯ)jR؟c v8!YڠB֞8DbzM@E[u5 ;ל۲7jb),bn$XZHYbwk_h#[y46uuۜ -v,X29?iectAҢ X_Kؾ<** wX9W$Q6pxP ~r+gu N*4,S٭Hn%NwN):GrG O8z@hה$)R@˕\=[~-a6 M&ԑDUo|%G-9!:| i$p"O ]0Is6s\y@Ĕ8x"6I r6c\o?F.X)eqA} ȂFJg'+0l8@'Pˁ[|T})1j9Z ։[!]8 `c#[Qrȵ G){ˈe8td}u~$;oZK-5` ,Xȫۆ l,'%sޥ#pny QEy3:J'[ib ~舌a9ggr\piH ۚir3yx7#҆#6S) $ȈC;SfWmAxS C:sUP]E$j;z7ZUW b(3cZ .HVCr mu-~9.u% ¯{40pw9>Խq'h`]joaE2UXt+S¬ܣ7R52MNitP l}>iaP_TUu`TW/̧>fwHޟx)5Jw~3s\Դ F؇[f'Ƿ'!Tn:u ,X_H?c7E*o+{oߣœk{War8sN)vl--xp<$[ cAyrXał~.!@>J1 δFJju/iW~.Fv%'cҕ(RN{-/4a vޜIo)qV ZP ֯9?_ L@~R9~.jwP2sPZB87H)=> tots%m-)d2Ie^j^#b'gU![z]6@uѕQƼy=ZlS5/0>4>`d`\v mCmXV4P@lUȰ(, +;ybDbāko+eAҙ[ IUϊ6w77v3,WQnFFTdczw6_N^mh-6ߥğx .$jVQ|N%)V {}K7{$_dto+8]-岚?`^r~ :WYle#\WvI+0BfG8ۛ$wҫ5Kv%bs rrv#j4^KyRyNqCpK)UiDP¹{t~ T}*_ 3Џ)`%-C[9 ȱ1}BZ7j1.%U>J Lp%ҭ|F$1=7&,j?0g lO8I4u TCN'F{ D_ 2~Mqzda)2I{;:c |FGZfܛ~t5kGAy<`cb#v->9_m~i47Uf7H,t<I4\rS}Bu j(r}i sk4DT(?*@sA;!^{jR/aH.ߘw;s7:l%f-ٰB;g?ԝ NXk䠚&fu:BX |S>&V| t#)%%Z|ͫGjn{vPstqBOc4ܣ,%d uq ;2UsߤPUܐOʖB!4 v!{ӈH^E8RG:q$f9VJN4'tfGCD[yf3RJh$kM]QYs3<(u!G>2G;\mQIveYV4gE0Fo5qN#HdҵwI-#Hor#H;bpj4?, k"qa+k"xwC}C<*j!+I}9dgi+S2c- +&Oii!:FPr?QY$yp^֐53#Fq"lim*I]VxĂ8H~*j@a jчZּۛs ~Q"A8#iљAVcit?]`IJG/J ooUJ?NC av4='i^e>{:C*b+k7k'LOG.qdwss+¸r*6qnd玵O7>p졲o?ȎU3@o8QnqΪ&l =IE.]Bѹf}:zmX.ey7 t}ԩ;* /Er?8Ǡ]Wrg/XoQ=x3`saW;2 pB@ݳ;{YIU3b2L0B `dvR/*1ݔ$hc< qÈ'%yHp< $9GքY3\\$`|*򡵇sFRX-O9Z"d)dt:LcsHVa2ccSK>?$ӎR|~+!h)*-AˤQ,wqN7) 4 ) )k XGzklvS '~U;io%G7(9 jY0'+Gdcsy0]\mO"*s'`Zt Dt|}WlOI ʸP7,eO/&wjG#e.7*&NQ8g4OW,*;1Vf!wT-lQ4NBWJiF*Kw'}zXxSx`[ [-PO.t__P4QeHرn}? ktt T %D{!aaJRړp1[-֝ sARg9 _c4;xP=_>tj y%/7YY/޴: s2Tgo[ 4s!$gcXvBX*V:֪H!Z6KJ~Hj:XaJHt88g(n8I3zRJoKdgHL#$1rq&[y6:aU)k_w@N3[ T03 5f2jؼ5k$.u9`+ ;t46?DB,f&E_[z{o*wՁ lM8Cz]!' п~3JB&S7$r[v5ނK2l kC}//nS`)؃V$5&r!zy5ik*KN,ZjeIb.ݿ[h! cyY"iO ǨC#Csl610FSٯS +L2}:A%4OG5m w#oB~-ax}:Z[ZN{Dѡ>>r뎠H=Ey>"GV?zF㮏wԴgX&$dCГчp{U[2ž\ʦu}6)&fFdL 3QP^!&kQ8^lg_SyȮpi(vP}VA~9*!-` -X ](ռYF8Rw`SHlڪTljhqnQHץ#F[](t/9Qԝ >$ #vR}`1;s>GLv_JpC$j~(ata LAsDpHBopb%;~u8֙`W }7,)Ŵ7iof4yv iS&+VkVs#|+~@ TS{XjR+:Y#I3r?AM*0}[/r78Q֖KQX156;1 fVۧA\GOY~9.V2zuRP)y:\ JJ]^Q+Y `۵#ebO-KJW{2𗏠%`&8=:Z]Z]F`{~T.yE/.";]MnRo_1pc|n{҈kFlҒJ'iM8FcO_:Ek>@m8..%cKlOQMxTF,kM 陊mB~I.CB.; oEF44y瑦YpB ]Mq$(cEbe4W&cPuL? dd@6?[$'?ÀXq*R̪dao |1΀Ĥ8ڽ1\$;|BԘ`w_VOhvjsZݸ2&_n1UL ؀_Z.)ԖNS$8nsX]CւO0-ֱa+Z[=ռ,7J=@Eޣ܉&S9H-flBiֶF># H+ f0_2R+TZɪ'?KWX$sߥa7`imjO+qr?^cnA[&Ŵ<"!%j0<)oKaH4*WjHӂ"=*S4DQp R. *[GB{ ܾR<8탺Dzh0l>SأxVmU%x4yo۝cu)j4{@ͯE|eEc"e"(K1$ קP1n6 rđ~ŒQv瓘cG Oo `GONt EfGN ̅3Q𸹶+Y^UPV@[0C9~u Gڲt*zdv.J)d88R4DaX\l|jC~DR#XAxllʙQX`*xK?-o329߹G;􎔽Eϕl5~N_R;Z[OD,*R"@KYĕ\]/ݤ`i]t"Y (ǦaB h*qטJ#-XP6FT _(mq;|%Fg8(i";+VRpK{P3P*UO"=}cAS'SyFUJ(]0ge%CoO68De!HŹBH 1Q\D,y-e |MD y~?nN/TҵX(/+oݦҺۖ*-kMS?ه|iV Yz3M~۩KuWZ0A:3`+wlʲ"\Y4`p|m`Tu8&WE mT7A|e&˞P&zz^Cs 9#E}G+J)G{5Yh#*W5';OQW.چ˒VY%+W_,@T]QB, uVwM>l,OZ/4' n[NA2h]q 9 9sɾ¾|u:t]ig W@ }*Ha\vh̠٩@Z(@ki`7HHp6]'0!cirF_KtpLRŹN{.|!=ʜ޷٫6$kCeRaku$s'\2?2pG@N6틐yDf"mwʳ:_kgf69v*O(v5u7I^iv_}$^aO\]4 ʾ(C~/*- ިii4Oa?y"iC?8b  9r joӹ܀oqz9\i/ovnZHoLAt9@*m PJ![ w'9y,t*?;T {V 植*XE&"Y+A"]GӮ|%c:t[ˋ8/(mTښJQqP ZlʉEI'%GY8R]FGyLIr4Oӣy'W,^Aʉ)5ŀY2Q# o:ZLGJV"$R˹CE*FrBN94Pevl;1PGky6N26Y\ DmP<IK ֐^r6j"C*g=}iA4^6:yآ>O.,0HooN Ie)pW-~ܾv ʜ;nz ipN Rܹr?-x))KJ>=' J9^[h3r9Fp9wjDtCTK/8L "2}o`i%%2OozidQoIWq2GP}wO%Q~fo]AL9G#p[h%չHJ*O.&C+~ e8:en\qJN/!(WNJj!@+"?#P9N.a/t.Ӧӭ5̟7<&>`Tߚi|#55G} jCes6ːǹ@߱d%?gഷ^##,^]?ץmY35u%[f149uMB,/?ſR}7Vomׂ4!IZAxsіb:*78]5, /B9 C*B+M8Yoޱۮd@4T~/H>}+7}}W*f^)KQmbH%m֠a 횱Ync5]#&A5i]6n 2~UsERjtv6{VHH մ)Vs(^TVU 6D?*iZᔰiQ]C-RBMjMJw<H8u?ys}/p9cފ=( Bq8d~d zQ +'7UIO.=T#ԡ9 %ClۜdoҞ\) cf1}?椘qjs{>ٹ˱^oah'(&^qbg*a E IZ 5Lm UYNba!Z+)1 gwjTfȬR1 L1N#մ2yyN?]X-=4cXlrO@Pʓ ,s6||SD7y&gHp6nFHr0XsTo5i 1ӾjGR@El"UJ$TO /mI}+LƀOnwɡVL)(M~4"*g)Edi| q@q쩱Ӆ%@d UdrU&AK=uх>2Gȧc]\"5ͰтʡXA:z.unkG\y: s˂p2]G23 O8 [@`U1vȫ&T\K͋GQ=.R{* c(f)82,|`(Lsjs#$K,_J Fwh4drۓ uAIudM*yi#+Z9<>zy!Ac$WtiZi5iK+bY4[<|u6^D9;z#NT9#OVQ qmtIP1JlrCCN{ + O7s\u)im#o@4]oR2}1>XZ^VHdl2oPÿx}1>Yj/)i\EiG"!UGɁ&վ|h9Y:ֱAmh!?c$T3aZ47Li,bWcDA,X8.ȧ(bl9SQ2HK&w0Z볕Wnl֛F|2|V>ĩ9*?öiDI9>qˈV[Zu<=`#Eb>dw=ES4 ml,gp=Jjhp\P^x4 O g_r] S<ٝ4apktKK,WWn%ݕ en>,wM4#aw=W7vPN uf)SXY,,Ѥ𼑓R(.x5.F\d֓I u-fU[)'"(9,0hr9jHt_p9? 5.͂ҋ˨O89D60 lj 7JW2W:ˏv?S,k-gLGQCsi2HpcV*r5]7$(2JNS\ *6G 4W4*A$,\ǯzu"0hmVFY{f(;#M8)R[O_NҘ:V1]qu5Tgq~[R|R;Q[HYR968410/(dxB2Z#!IbT*섬֞Kk'$.6!qR#`S I}S45ctOk+;ohVG.ѠozW8(<_*IY!,uǯθ\`;uxG kʋЖ\~V,J2"$}vɋ;'5& (VD֓9ggqd\VjRF!2Iۥ;$!6BC+z)A$EUnFNې{R8ݧHnꓶ>#\]E=J%"<Ӕ6\9$9fT a? e+5[ ]^Ub^fT8#1ooJdh5Ė]-asG'rtT^aor v]Qї()p:~r!!=?:[Ů`TI1)rOF{rW"GoLY pvoo_i\=:m k.Nf! *Ѱ,2p= {a#{"{_Fa-Ҽr P!oCGִ?Ů2D|'?VKvM-.קxđqLlw&zl. %r?C^3ǃHz~ˢ/p5p^-4tnӎ -/bVczVl"k?9Z.jչPp?{q[jXHRh8 B so496ht'D%ܼ$qGhByW8>ߝ/&e@ @DA48ˀk 0%23_ʏPFH#/(U ="' 'rޖp*\ܑA?:FmڢPSY#*980(i,q鎇0(fy?p@M(,xF%Ab7>' *k@!P䓓,`p5 (v,h6(!cUTL:\~ ۮ;߀iLI&UN\ c8^1wl0qP$+9H :sG!n\trTd~SX9u%dCsN{pAUӨO4~,m Z>6p:OC H#iK8Om<ҥEHDV YyWQۆTx=wfFU0|\Zkīr98ojf#_SS$6;SOnqTet`I [uA9j3)㲛4jT!` P#uJwNRBʇ%,XM m!V {nl66- N#ddԨ˥k dp9\ i6ܧ2BTۄ8[ JS,"!?/s!E(1!]]ΟÜg{kYCZ{tg1ɹ VE}4rQ~w|*ۭ+[dU`Fqh]A>¯3\0F8ސ}9"F6QsU`"0:rN2'[= WJwѢRvXsokAY\1oIkY4Ȗ69#Y 2H\#Z{o-2 6= >K#3㉸_DȌחztcP!oM_LvQBWfB`+-.6c*P)Iʛm4!7R +yUw6OҼ y^tBv#ԝnl.6ܞ~\6=z21KwNbDls^s;u PD`p2;T0ysy8'H  Ǟ?.i4KC?D,R}'1P0Fc i($tR Fџʉ!7I,g֕ Dc~QQs<'!L.҇0(дEJ~ \qApH KAE՘.{Mh%xJrC>|CsKMӚ+֋R8;+CZuqX`0EUߦ;Fs뢆kQa:|uNCm>rawtJWfm<`c;cV1GFy%v ;S~"90 "`2);O짗>_WxV6/xpTGcu9I ; ̌![JF$7'jPUSX*g!uپ~\Pbq'*-d/1r9>VF_WQ4Vh eQU5upW U`_ڥqBܧ0[>2z 80(F(WaޥSZEyDIW*w~IcOC)iY"W랝78Ai 8M->"FvoWh>d[M)ŞT@q~աF&i_!}2( :Ue dn= Z9v!'}\|YnLYdNpއj;_NJ6Af, +hy6J#@Xl76qAOХavSS#_J<VqE">jXC1Fc~%ZIFH͉&-z#m6~@͟l-L/ot`hM,>S|:Kp{s]\oXz?JԵkcydh%,at[ ܶwDl -NټAU¸ mY2éJ G&>Ҧ"$W ]qNFJiPvĠ©# )$/('o]]YVqe ʭs6˟\eY׷FT(qH;MG$v|^O=r,G1}&u$!#' z se'>wRO15qp%LJD̘l);ViFi)ȝhc.oESR Y*$Ý*=IdN i9\@$nkMJ@ȣ*4W:8%9$fvg=M6Q}<$,X1(o&+zJpPF!05_oXr~wkz4_jm53G1P212TEhmcjmO9i-Hbbە cLns5ڿ87L@ =?08^9 -A@jrгvBF 2r6YhQ-~u)=*}zjs8S% R띾/qBķ#ҼUXFxŬy+v(&O=ޡq76@c9U#^x}UڬS˲G L// -Juzg)#5kw(NyC\UZIW.nžLr Q䏝WJo ɼu pA8=;sq}"ٮFKZBFjd`U6Ņ-_$vHJF;1=腢{Y~^\)vRqi4,'2͵V>`@1B׷ m6OtK~VP@?*|.h(&;:&,29.h(o|S`rǟ;\ K<;g~_} 6NŹrN?zi ` ˲Q @]RP)b@ ;h1N?/^ ;%6ltLkOZ_˥) H̹ 8f{$)7B2X;QL" )R,IjVz=3y( YCq=ni I6x.Tt9䆨wh7~H*\'FҴ;ŭVM#PJCZ[],^@M(~gڂh ")o|u wYzcY),˝ϡQT8X5ϧLS~w>[ T7cAW!s}?W]M1ڒ[[8!qm;AvQE $M#(4SxoY lMM܀HZ|@cqGF;1HP3 *3X(]^xFpmyxKF |."5[,oۣG{+;Em kUb4G.y'^[N׭`)s8`th^I'j!$nfElՂ~n s$) [~t *)Υc.:'xĶYLhϔz^"}~aޟZW?HpE-xAr6E'h%1q7*ʈO:x~(&C k hzA 0xĽ'6i?~C!.w_Gⴼuڠ994-(=y;w5uF Vgpl/^ǽ[is}u oে-0 ҽJ0axRd}(U\U>T ?Eh~P'ңB*tҧ$r(=: U.m-%K^\@UnZ,&֧f[\y^D7!޵.q HhEܺ`b?ܬ Զ}Z\- YLy, Wӛݴs4aA8ۥ[Fyk >jVwFHӓ9PZe,No֤iI+uڃͦtqVOg{kb㑑t %~V:uJ3w](Sթد;;S)jGNb<@6ݪlqX*3h\J]}jk{:0Mʄ0 }E0EEFtlmJ4v#Mr Lgz{ze!FHEQN۝P yHoDԓ,2@#"7 Bu9sq8C?XLaXs"eD|vƑ2%w=HoуEe)UN@*1s7'NVIT#=F^:Ndɏ1a=\ߥ9>|$sJ2r M-':Q귂ܢRu }8%W. j\Ґ8TmBO\A*)e'"ܸ^:Tl6'$le3;r)t.R1UwyVб_HE.FHQ W;[Nhr7#:7Ii vmjK8T:EF@$VxF =?zv2nRZ|Md~/w'Xkq9Z[ƀ H'֥DƟJBM4O (,1⬣gT?m>RTedgKq QNH\|)@yK ,,*1x*$tАyZ4q|qNH$䃹GOByIUZ]*m~8eK2ʥU=~Udt.hfEۙu>({ QS4чvyX$棹f"4hbrYG/js2X2 _(!օ, zaJ#!jUO>pq޺a2LtF9n(R (yz3%! 5Y2~,d- -$`9St8eSoL!,w0~FfxQ {Y/Z>>gB S^F?Dt5av󽲸и|/W{vkSm.xHQjmQlX&.ܫp!$IS$gausuR<[J#qy ȑyGҘmRaʒo6}=Ul Vig& 'ʹxnY6nExTOs~Ui6r5ZznxQz96gӚu8\.#xSd.Q2{f~ܵy]+W;. aojsв;] Fc&1+]9-[oց:{vJȞ}*4i>R$0Xާi(!KAZ~Iİ{k̨2&-?74t=oo\ğg^/ҵ F%Y*Z* ߾GǥMcq#PE_λK{$˫Kۋ[-帷RAeeIv0G-+*nn!gNF1^d냎n6aU|hNJ$D5h K$})#Rv#>)<#䕺D]Z04?d?嬝=]n,\?KJmn[2ņ"Vݘצq%e Pgc%Ҷ|b:ˑ0o7Uf\(onm2 u:LsD85)971#ҜX&Z22:W9~yԏFNYn Ӌǔ=Km+C$Qedc=Gq44,Ur~O_2FB\  q?Ip;M.dvep9L% @CӰkh8{S,D 甲@\IEhr~PXچ|q%$o+I<)ߑ3)g ֜ 6nBS9ߩ"B)sL[$hg+8-<Ÿ /fNQ+9UQڞ 8JaK$=+lRR#닋X`lEQ;'1 :cAbG`12\@8#֞ߴ7HIiq$l$#$iLy ـ!r>gЧq[g4tLhUIUOJp:C6JLWo}$-˝Ih 59lvWB珔\ܒ'ΐ%RH2sl6s n2 >x.NSj-Jn8WQNQlǕ'}ǎ;R` |+ѢȰYPszjA'·8l"$A.}M1+ۀn/,u:J2< cn ۮ -r4fD 7ێu{+m+\'ҵg_2%Y ٌRW9r1ִGPwĒхx0p2/m6|ν3`ѵ^M-vM.agj"P0=3W`h +yvn(ڲΐLo\b`mUrAkOk SasZ;T-VH ,Ӹ(-ڪ/#4k8 }('HL҂AM^\{K mܽ?7{|ZRL~3N`9Wj\Z21B1׷ʭS3JET/ SY%VH!+$nڕBXHBg`HNv=B@1||ܤAPhYVg$ )_6H~\QSy\zg 6FtʾQ*o{јFhPTlzQ Ϡ=HoԓJ36Nܬ:Bui ({~'丰RL^~B0lc8UKB4S qfgGMSҘZH暭 0J gʹ̱Ik|j(U Iʏ*VqJqi,um% }t&,Tb?|+o~TM6Sjtrpr/=B$1#T2Ź?&[jBT߾jG QzF[5e=dA Vڙ c./}+4b6YZ2`s^齼4s+ꌒpjcx+6rejoy eN|:"4q:.Qpb@Ec!!XѹbjkwsPRX |rp\J \|4f9(osN{{[69sB2o_k6':z[𓉸7<+{câ=Px`O:+%W6G2@I_s.>>K&[٣{g~(~= ּOrgCGпMpy3lGҫSS.q 9 CsoAw M*@c|TvCamO+X|W +Ս _O5A  X>lgzӮ;/ȥiMSLg[Cm 0'oCPwͥR:z'U;]x-6?vo/ jV{)̹o1G$Hn^ǡOOnU?HA‰7IJ)G\@YQ#{\Lw*-=G0bi0 oҜ[5FT eaƚ.:IC,ǐv$S\i@Mt99IBt cn2\OrWD !D_ιp*Ce6EXAr8ǔF>@vt8S~xِv9$n12dALw q 41i}/IGxBG6'1\^+ edwWN-O`G@RA8A"%u" ,H,$h} _e&!i&©++ ۻG%XGp iHOtE%d cHJ&oo# V_jtcl#وwoPpi`C.h}LќgcO =ć8gq $uiK'$Ii0Tnpˌ?J8I~@Ud!r aw]%!5صٻNC.\5<)H츧K?j)ʌޗ hSfȭ뎿اN2GclPbOcb#O\Bu9R 9F֞{X'q?Ͱ?h8 ȬMaLdH(\fw z_w'7L(a:,q ){V,[9'6P@$ؤ8j KtUtdrGCʳBPMV2YDiJmL`(BED܂3f֢L<+Cp. 8(XT-Dn"d͞}),ŕCҤq (.;`N֬4pp#ʨŅTLjzD; CHY'.[ihasYyAs-kCَvT֘k J!NO-rH'8;7LKuc?YK G' i|9ZI}^V. f2$;WSA++;g'Y @o+HڨqMb%#ކkp+doK_3ͅg `CH57R߳OcV}zεA*:o]2};!]V ߳'/xq ڴ6$g9; 5&$O8CwwkiKj6b l v[阌3~}.!Z,庚Yhѕm=}EzQ#L.fhۜuF".(9@nۭ8XM~Ee <_fB2f˨QdQˌb!S Do##卑z*~cS)-(RF7 6 ;J= ɂs-i"`N߽)!'Z s Y J|D'BWVѵ >ηx`>-!#]bŽ~CB3 #+>fCI&w8?+Urw'qIӥEuE6'5wpJM$Fld+~HX*c'u҇e tL˼r9n(+m4hnF7J^T+1&6aHȅgeLersf[H/x$[fx !v,NGnY{M JR.q)BO1Wa% 9!!R㘂J@~,T0VmLӀ\M'e*Ͷ )XIUʸByetʹ& r;n%oG<򰄉v>8;H=$E+>@ ޜ^,8) KEȠ!wj.O[(D=R][e1u߯cT.# R-YtvLʒûqW" ,(͈q_- & cHKJ+>0N"!8'aCOhJxĦYkA^i5j"׺9~u'sjx-0J%ەs֩$QҦ8׈8Il^E(Uje yb&fiwt9mq߅Ӓ,䠚#WZ9 ki=-8b=ɮHMp,eA^= r`gʕ:$ : l:T FUޑ"rmV^;OR ۾+WUH2|'˙,l{{TgH߅%]o,dW`w=Gh6EcVO+K;z]kR9QN7"9If>?_S+ex"B960I>PZ*DU:lݬrnTYSފ]P3x12A 1mNQ]srA ʍe]HX\z;v]W0h[GH.-܏OՓT*N9K)gm 4v3ڭp©B{s 吢ZJ>`NJDZ5̞kA8UMɯ `E}"䢕L:Rah6 ;[V ×81֥{y8 XYCҜ/(drDx#8R XE) `l)$KK'r+85iw;Q i`8E2J0SOX|#OcûN1w:1V~7\n3D64lP8p8ʓ9LsG2x)_ ]hl/id(2mcCHq(A %j7EwVIh"Cύ幞 x.wLv?*w?y^c]ƻ+6@9nv2vGBkK7UB֦Q!Rڻԭ.mT&TzXZne^-禑|-X$ח9E/k3Mxg,c`;f,*mLS9RxN?*i#Qj/<ّ#~5^fԦvL9tDyVEjkic/;[N]N=b{u̒B˜%_lp󓟀~{l-o&6PfO.9dki76C:c';g07뵲k?^..V|I/+o˾w_ްD}HQX1S |Z뚆{kcq--HG!9tg޳¼ZlMO0<ҳXvNd{X[m0K 3yR$J_Ak(i3 ʰhT3gm'F#ծN([BȟW o\Rx+l;E~Օ?^zN%I#F}rFZΡ\+P8d,'*qH 7KdsFFw4+8H[,DzdcL'6) "H'ފ@9C fB ,͡Zd|wڜ[uxY)\ dnqړ?I,8ߗ>]%/Jbᔢ) $R u (e2gu+@IRp#(&/G&W7N.%!=pD, ]guϔzWR/W ҃'c"g}?*$>8OE(H 1nS|4F V\A4[)bAz j,чaIlfYW]uҫ [2vS'eOy n܄8|Ndzx7-,C֞e>+6=% z%fq2qWO+Kp Rc:ȘzUV45iXfEUq{ftZC 'W-F5&prs8N\(葖$>&G  1R8QFW> q#:TϪCp0=*&j]3giܯjmJ@x%+pka[ 7E_p" RzzLeT2AlXeZW302ߡ9q>Ry8*AQ_ޢM[Fˎ*S[ib&d<7~_ZsGHARdW^R]>B#5v_GL)}dURyaHS`Q4:7~-kc13jZCt^pF.sT[4(vE!;`1w*C8XA$mͷWHCydQK0(l*in9'fN?*eXAu `QjWLܧǮw209Ir}=qګY. t:zp+ fTU/ws WОXcYAsƙCT) F0mU,dtv,-.x.}XʆqReN\(u_V/U!-b&/ɗ>UZCT4ri^hܹ?ZXKUs aQAl6JRI-A!dd余0f?St㵂0qj(u:N,"VvF}1y+q=,cn%2v 5> ]'=)djT#VFAʥ?4k̤.֥ bh8cnR\+@edYim}28*lA5&`ʫ&+IPجծ1 sU ^q*|9]_jDdps\ŴQHv!yӢ9֤ef{ f!Emǥew /W(\lWHG}-wZVs3n {Ͽˤu8wvZUŭ}.', 2J.BiY8s5ɚr VpvNg+}85ps(PZYS11.zSkY*:~PUEFq*n&z\ŏCjGSce _\s /CGªe.J_+Ϭ|1i\/[j5Twv (1[MEex7!<2-U@ϥF\(xEk"$ɏZ}^c"|ƾNn}E[N,˟!8ZKl=v} и}"nda$]'oμ/jcd{в2 Kτ;SW{YbvG1;\M.HZF"\SDm+iZVk,#gi% Ib1~*cOY_e>T+?t+6u1ץ1'N:ϔֺlT8\r3Ke=A~ "X< lXcǵ5p cʊ3"rrU\z iѷHc)ڤH !/ <zzcS8 QAn@i㗒P 򑃝'o3I2%L`F1'lZ{eR!>Y~z|YnX |J50B&R\d.^!Hx&5ĜwWJ>.K$~U3O4F`.TwO6XU9{h-qd 1{!+o'tl> %\)LӑW0; ~r)n25NLgnZK@Y`1oRdȼҞz3bSܞԕY)~yb#mi2\"g?ڕ$CZbNX=VJc0f*v*I~Ba$ʼn})KGi?ts`zu׺;+ l I1N/0s*s=~UäR00*BDX WWtrzW8X4,Pv>BBi*ɑl2w,wi%e`Ahòe9HΗI#A"h`ʂr-8yG!Uvl)JK:Yc\ŽԂI -Fp9Q8Q`f=‹WX |{ иp~ kng=r}$>!^BrNَ0LMO5 QI(Voq 5՜c$oV0;UlW=Ɓ. xQEfj-AL'Ҥ# +~cjXn3ҭtq ls!`{Rkr9`p1D)IET+pzҟ4WHX+r(a BԼ4Ii6ml흲I`.u+W/@\\ Qdcj@@zRb#QpV:p('+<| P~,j9QWF;=,i탆s˯ V|_ ZHa;0Χee'+j4dRAwzzQd6Z{(1hbgFB9J4Q5(sn'*\­ 'UkghRy|4]K |e۵7F擅g<%]U5@ͿM[8c B?҉S1q*ƨ8P|l' >ec˿ɈW}A{".s5}V>'ʯ%8 ZҰm,޺R-YU$\pNFQVM`R QolyP]zG/fuː;)#ܩ!Aڠjf-?yw"Nl`?gS+M~RrYO1\;`wޚa>SS%7#PfFkzpmZʙ񆌄Z;IO$] 6nKl1ҊBq[ $dc#PEDVCyqTCEZ,j[lta=Fra<6 4 \?) '-͊eUQ-'5{LŸEUҗxEJrI5$O `)@>F Q!ݹуCID#4R rz}(#ψ݅5F|c} rS@`h6h?#·+%BHxPѶ5ƍ( :\ .[g%2?BCvC?*GK{Y:9g37  @}[6pL!J)Cl2T0S~GQI*+(Y% oVO =ѰT=y-UTX/ʗՔW,'S%
vߧlcf'eu{O|?]+I%nV$cBǕNy;גL&ک\>B<#F\pCksķ5ډF"dݥ c*3ܟA_@Z6]ZA';.HK{*D)*9Wd^>Jm}7-m$N {)5]K췘R!qqUxǺeW6 ڄ>Yw`RF{U\Ҹsʰ;dT֚ rB;U@~a@/J;V9C{!ڔ/<2@, :I$[rE . +#)q55={S{̟V(K_I6p9NvҚ2<2҇(%nf38;JbQ,) id@-6''JLG:c5݌U$y;9M)fJNFzW]' X A4̋ ؐOΚk#A(0"A>p-cn^(& yڑqu#"휌n};Ԏ@EAZ6tڴ: lWk g8cTo4o}of+f eZH¸ȨRnB33X-6%ǜDs&6wtJ\I)x582 >sȡrz3X馑ګ1}4whD#b-!@?֡d%I\ 7U;\;9{  g P39}0WHpI^q\OWQt"7TWj_^鵯 9@)ZGپUY+Fzt#3R+O5 Ee99P=nQ?<-Ÿ\YI/P۸l}Rp}7XFnբk1O,شjݓ,Twуh.{^ g$Oj dQ1ު$!KC ~NY?!-]9 G 1.֬N<1FY~Ń~եku$m4+jHns\h69!ۮ5 PcMsohxK 9ETjl;/)C̕D'\qj7m߽[!U|WvV|WPibȁtދ*ʑZ4R,mSAUʒBc0գ3Fc^`eg~4$yuTzQL#Ƹ#lPBq8qmxH$w>Ÿfb'%G)]hд'tP|S9$!V̉!(H=N7% dz>Z*K3IoF @=6rd )kwxRlTsFyjOȅ+ӥU>Yp~*;^qhNe {y@Sy#. ?b _I ;gzF*Bw,C;T'|V5NxkEc˔qJH8u/[uNAb0} h kePK8.<_aF~8Oc*}B <2f!o隅nq:GG\[|^OH}}Ҹ`|9x>G?*G"ƳN9C𙺇=*CqTݮG

'/uk#ƼOú֩g;xG<;76tdk{ݨlh`0g#|ocd 7s\(hF8=7SM%;C-#&ĥoQJ2%*:gaHH%:Dc)юH@+=?M66RFܬ{U^)Zh@>*v0e S,&k6[ ӰA5D8\VōKXM/"+/=qV(KBx^7SȢB ^3g% XX G\qtEy O^+<+ >ӽMA#n^ScT]K .4H;rPZ+ }I/`Z1FN+tQWhijզ _$6۾j)@@{3k[bH44~ꠣ@a6֯-ـܩ9Uh|R? H!})k8S{/P _*Xˋ+8 ӭ.Z0$ `8VGQcQg4 tdeG{Pe\qJZu,c9vJ-AnSoObO>9斎J=nЎb;<8 2pi≐H8 N|0CYv;z5rJGgA4ZI՛ 8P"}L፥lY+EKa1\20U#lGRS w뿵$]" l'VG\؜,fl I('_ikn #;l}17}a 1~tK9|Hc^hR=\kzTA M>\N #ιIʂkzR2A1Z CuwvJr6nL>ґBn9:*`{hQi*=-RO NW͍OU>"~#/OFm&o+0pBS$-N((˓T#hYh[py\?+>r 7)!5)֛j &#!T܌zUTC ѭ8` 6?^Hv\*Mi7f< 4V=I @@e![Ƭ#p*-*#l)韚B杙pp=*WY! YsqE~Xu*X X2۫DF<\6{*BWN+JBV^䁚# 'BpN^t;|g[h5ٔu(IeJ,jQrzURQuhī!\g#l8PL̇5aK:zN-ʕc/%<$03'8#{ Ud #, ߮‰Ktl8hpĒFGAԥ"4X+ؤx[%yTjiq{Y?Z' a aK6Tp--%4T!sH 脼wA8RJV8pY?H` ezf0ЗhOF6e_t*1& }d)bttq͜zI( tO`p{gzuG4-ч˾=lOAFZ?8\q>3]Z]_+3)f'9iN/tdIMGM%7.JhYsk+wcMM!9ʚG%-mn!e£u#'ӭ==܇j}kk 64i+g-I 79`IQzktdF7BGc5kWBX[iNHban]Ǹ&Dgtye$1q'( ;k03PPR;euA^>rI#A67lR84Ra FmR:f4L;̷c'}*$QZa*}p!)Ԉ (\K⍟ xM[ũ[vj#Y>17^"@ H+cfR@Bx7R~?mw ?W_3Yռ:ҸrYchdL;gc v5~}D61/ѲbUկiK\!vݘ]FĒMiG q^ iW㝇bOZ˨F<_.$%膼 4q2K߁m̚~ 3$B{adtM Z1\Gm34J)1ЈUuJH IX*\zW9.eU@!}֘[Sb=ϧΜ{O*Ň1YGQ8~ʀ*OÏ҆ri8X dEfٹXo j!u\1`Ԏ_zR7uv<FF'H.Gc(ѮY9R/ꦚiX^fHB!9ĨPzJ{;NFˁf.-X,wD[V!dDamm7Kِ47B7208a4S(#DjX"&wI)漏lA2:c%wVt^X4qGem?ě* Z <{v :U@xJs8}n#v*kz~,;z[H% lq$>P*i. `::+CC H-$8؟_=̡}ZY6V!DNOAڶ ~U& ie$xicrU'jݷKT^9k/%vӁӴX/)V6(,3GuKQ̓ׯZ/ 2Kyo6;>v_)(7'}_)Cmk}PQ-4"o\8K,ŕ+!fA9?֊ GǓTyA VVw0q=M FMrRҫ4R)NGO҉?NӀxnUʎtFT9v p ڻw WyTmnE.xU D2̀AfڪN`*{wtue7=~cNƷ3u](5Ρǯ֫exsu VG"j5;KQ  W?_w \(p2xU|=*,|" SoQ$q'S"p`[aq5H&_ cq߭$Y$ WtRjt`4~GxuQjCqCkvM }ݾhH}&F;wg}%݆"`}c^)ߞ# !w;K)-H+pv5/ui` o2 lU"s*D?RJcOUGc?; `<'ʖHm9zIcto@܏)-4Y[MubQg?68I~4" ﵌7*xC$N0qÃ9GcsOK~~Ͼ!xi|cq?^ RA:$|6eEpyKJY l#K@<k:k#hP5Z~Z=-T\^ncP,[ƚ%Gn$ܰ>՞;VB؎,K_h$ Heߗ򳳴E5!ָ/~+.|Ru#4nA))ApYdԚ5Kk\W9OzsVl3oշS6y G>0p&$<%2 ,D̄:۶OVh%:#G퓱\uYwFQY&8Q@.'>,Sާ —A+?gl|V]6^Vy%Ġ`1A;_=z#qgDnOt/SQsx]1U瘞҉zS!Kƛ+O>(|cVZoǯz/қ n6,Flֈ_LI!U Z ѓvozx)&V|J|B$7[E-_)otoLP%pEX?bsY^D_xZA#w-ٰ{4$sP[%HFNQgq5h`3#M=S &QO4,2`؞ޚE=tv&@9]|@5e%2pc$ {\1w$d) )B) ]%\S= DWuʕ}n&HgA\dg?Fa&8QWsˆ4|t}dwC, RF;WC_I,UJ1pqqwet;xHqĊ~l,}s,]V'rUqԜY-.!}NVΟx乜H­c7?jUz!Nrr@Vm1Fp X9]#y)!GdA ;!V`c2E(;})w3@!!8tk(UKfl=+=? ZR_Ng M> "# zVM!I, V/aC<.«4`oG"C,yK< ÖYBo  ]>4}CM Yq@] DbT;ݲ+{b"!ƙ*zz 4Ǡ245ym4ڏ?Ciu?†Yj!R47٢Bo^FYYY&f.dJ8A!(%Qm9&M0IdoL9\N>Tcqr M94eV צ)MK-VzSU/`NXִ-&y'{T6D/WcPޏjHB۞UA# )ASa W8sabmkU:*P (P $̤̾mUSzVG,~u)94mڤ!P*g?_x'QR8]1qYX<\nz:Ahac Gb;Т5_99Saw"9OT8|J@@2 Of`'f$xN~`ҜZ{!Ϲ@}+W5L7 NQHF{@_-ʅ=y ~E95#*N4NAĔ&Q[de\ R$eL`<6ACtCv FM(<$Ⱉ3c}$)NБr~GvmDNK 6sbȫ.l/qk*F9JߠAƇhɕ;FAGc|yHPQ@X@[<8@y o+S"I 3`CijsYD@y`)vӴ"jVdQqS$^h$K@\ }<+K!qkiĺ|:쵬H O5lҷ!>uoNoy9n.U?YiE_rd |</[+9+na+5G1pD5?[ouYHn# 0^FyfהbS?EgqW_ɴ~մN ?$[FB@@˰ؔCFAikeowY)ǟ>?KXxKMlLJS1ݷS$n?YŪ8 wˏ֑!;ڬ5]NJ\żF cӃ :-ʊ=NQAEkącxiN0I\fÎ&9X37(BT=Hly4}H0VA7a<)ׂ{g`1GCݐza u5>1 <=)71BR6 cۧ֋ `.J)UQJZ9'csdzT$97MIҐ2**^eIe B9aYD+d"Ȩ3jżr;d0:<:J'Ѷ 73wN;U382E#c#JQ`PLQK&<7ln?/ҞP]e2wL}*dlnPdn>=DxI&PJ.9@۩NkZ۔;QZH8Q3 | 9)hG@mޞ] H-˶w5sdJm*;Dy9ȇ#5|JJ.V!Q EyEvZY121Xä 5),v'?JmP@G1mUNEtBEQIL"9-EFҐ*sxDh*tǕF:lj)ƔCmӬ.("0 缩!OXUeԨ8pL9V~Wg DSd%x+7>+hYeX,4!7zc+UnD!tx9MTd6E:8jPY#ZH՘c3EJ@kJ\H!Zƺ \sau"%9;4Km핼$ ^ }r4},aZY`E\'=2& .?jA{y9TdNY߸VwNhѶ+T_.~`?x 1%f@{?^HWMaMomä Ycaك!ŷ(\QD0Bxo㇅`4+$F]uuՆl7^?*m\ms98gWqڍ8«8F6`"YcTL_Deљ6s#z7fsX/?_K^pbZ֧0^8ln]\&|er2d`sSm[Ys/Vq?߅4×Qxd76c078;U~mϼ#' ϡ:}EityINmɓ1hN%D!tmH[4H.\nYp?HH8S,(sSCo Uy`;){})mtيU.LDv99) röθ.[^r3ԏG:mub;Ō&ɝ֧s9`]'# Jly +_+YK\RNNliE8v >tz)3L!pYBFNw#4!<̙u$6G Iգ(_lӁ# D2Άm/*(!y򦂺Lu9$/(ˇǨ= H HJ\3Bid D7\kqe'#y&V1e#+4JK$ x& iۧ6@zRJ~vW@$1NG0#| Br4HNWJ@ZPAh6{P~Bd.VQ7wBTZ,'h9`I =退KsFh/ch<̟ wFH ؤrҐ48$g.UH}(deG "1\^G'?(pon^5V76GVpd*R9ϵ9, Ɠ#74kmö ; rŔ6ppIL\h6[\un9NzV e/!jSva!X+RQ3P~OV]LdFcFG 8(N cm{79T[OmNwk mށ _O?gfU@| ^?9lj] X9#^TҤQtйUjJYTzkSK]ʫ.՘nZ]B/g;`6J4oژo? S-ĶCvd Y^5gZuy9=LI Ε}c dց# ڀnB7Q'aFk^s()ZG@>&p79OiEI2ua(-U -F]ʕBXzsTBI:qC?U:Oxp[0j!s6N!##rF?Jss c]+"3|aRGo4;'V4)˅Q:8oi o8C.1:fjh '-5y rjLh4.*Li8" dftzǷu٧q\nӽht{Sj7JiaC)E==ίTi 3uGgg5HOnvҡ"R+[cR]jOR;6TgR#aWv{( p: zhҒ@Z{ {PmnB Ā)F#h0>4VS2F@y7L9BdtsK; ,D-D((sX2\M SM3¢Դѿr(Ņ36p㐌vj ¹4iY@<݆AڀzRCQ(͸`ĕT!w:( $[(U#9&20Udk0yr~tg?:+߿}X)ή<6=*W'U*9e =ɲ~8a pȧN]` 9"lEJOoĀ+(d\rA?-TX:2s2;:$L$F0b9w@E9bMWFB~ Oq iz3ZA-?,g>>}Im7_/Ğ/zvdE ytL.?eۛ -lgs7M<_EYU_.Saan#۾ZT/4s iD fnQ]Jk^2|ɫ =UKM*E}2[xr]Ss_l΂YZɬܭTǗKc''$X?ai%ʶ`<oۢ@sHy`A??%I* qvu]ʪ<!o.A;F)tZknU`u8AJ[%#E{:fP3}) h"b*B.po5UTB33pn%` };5NV U J7q]t>B2?C*9,b?*\%b]ճ0@J>ע9ed9#Jጤuc (A I!p̣=ґ}qD gnXbl\{ԀdH Nx$!%H'$'WvGm-Tso>nZB%orI#!oKP$ JɎ)+S>UWu'8RVWqN- 2ozysARKy~zҞi)m*V#!֛iB/ sKiyfHٽ tIHL7Qģ8# B6JsЊ2ũC~ p9DfcVAob?1hGV:B9]F;LtyVq>Zה{LyXįG˶IGӣmDd$(G, T1oQ_FK{Sef@c=t9Ls bx ٢6ں4<ќe#'=7J˳} 'y洹%7)PpOaGHn)~s$KhF~v~P?\;Ybb*q=ĖK! "HO+gbOb)FQsқwV/-lln-` 0z8PC $| Ne vb7{; LOE]+FRIfwȐEE;[&GTk]j3؁:j|\UY_y:,A:&Y\l{u 3) tLH"[qМ`Z-;Guݒë.7|I4źR%8X̊ǽUKѵދjIg Uw.J-4|$ڜ/ BZ܌'X"oSy8 MD䋵g0 ݄ ;ުYmbG:}#P z{{9HE]^xƧinJNuY0zrѺV}Y<)Drfxs?:y'r&dyVv Y#'ґPMPDa\|5ǐ[ȸ%Mx&Pm?H T(Ri%[?1EYʬ4Z Y+Ǟ&4&9Pڭ"TGOi& z0 mtזnsQq\\Gh ]}7qZvIFZ3Ɓ*+Z'Y`1*IpH[^E+zmD:!?[Ey9'Ҡ01#sC14 O7Ļhۄ mQ}v5Nb?HnAG/..u+q5heW$ UF#t?+0-7D(h_s=%5[ScvFUp̳rɀJ(@mbF$,HH A)&H13`6JgFXU**a B&gRd˽yisy(TYE YPzrvW]eYVZ.Arv7yµ $iFxӒ .1"(*s靺`ɶAsD XtְF4.1ܤvSzP6S?,'Y-m>lL1ޥ=Ak1xiQE-~ۧG 1(xO=mo,Q7g,:﷽G6.#^EU o:z"|~٣=N.$BpT~ޡRM:K _(sOOkE5Mm.4tk{]< BXgmt֘UkĽ3z.v g=zӋm?ӕ|MK raI mH2k$\lduT\E;N [yqb>tZGO. 9i9eq]g``*.ZT}DX>>}6YNH[DՀ޵ܾ-tKF1d,6a%uSƁ</nIuPX#wڲ]+ih*]`) gsP>mNki =Hc7GiWLKeHpVK:@yVH1<+&uUU%-*)#5xiAn{觗’{j{2ۘ%;B=A &QK]RA,B%#lU3nSY5T/eaߙ FSU)xV3$01@vjTz !`w 2tPs=Xkqv[|/_oa*$=wo 27W{82 Yj^Z>Ldj+Vn&NUG9HQ4 >=ή%I,5%8ǭCLޗ] ]g%AVvsUhAvU -580=,=*h'V Am=M7VAÜrv(cN[_iԃ'ߛ}AwJG s)689 VґXmջr8oGg*]'хe!9G`v8~Ita[=+F9GCL~5jwr"MSjV{20H[Yr+UFS^fܜj2,z‹I`_oҭ*åmỶRÔ ԊS u9Fwst'oWฟ*Ji`13+HxHQʘȦ<G-Eҥ5 YXt#F"䍵LD쟅$=hu(.ecdq|>bM V?9VwOI+r$QEs,QzS;-9~VO\튕*P6Q ȹ=GPP$a}kp`>XlQcpnJES;~|v#NBwނEMh>z(|Nɝ; ՙp;1JoTT؜L0:ef3b2qcObp#CdCҲf0E, kYZ8' MShhVxgnV-r) caH_zfߣ Y+7Qs\.u7cipuYPi4 ~pe@#ӓ6VGPEl.#T H#LTc4 GT6A331>۹ PXsb{ -[py _)9a|4+H˰+ꧩt}HgKӞl.i^KwiyFYOnܸ X߅.p~TğB":9&<߭)&#gOɜsaϥi\Hбm9ϷyxFo"Ƽxg=J2f5͡ =u^N#$,O%cͩ)zn7QBRoېW>M/R0H/!:[L,1QvjTRQzQv?OuE\ICߨ%c͛Kj)K;{y62:u Г{X9OZhSm#QΦ|?Ӹ= k9RBiYеHⷈ{| ~/O ӀvƧl#I»2G|DҒ&qiMZ(e7a#"lf -Brǐ2N{ӯʝ\eYKēΪgVwmHD,Os*+ IŠ 85̡b̌F;HnY 9'._Z;A]VաWwqAwW `[:V(E*0c3Q) OQ>#6)#3JN_K#7Onj9t~K{ ČudJ訣Pꋟ$yjM5@ą;lT8As erUe򮓖Tؗ]{ξ'FH,YS3 l>M<A|]ݸQ0HLtV1`9ԝJ}yGsV7 NsL:P{ @_`Z9kG`pHC胇MfZ.2OޏNR+}]e*Cs Tg@,2ʀY9OTIeXiaE18_Ls"SZʖiڔ)'2 #IS[>!&5@oSU{EYo,VyFjMZ~zJotAѱ :t;SGe3b=^ȩ-oUKt,=?1"9F~V_J|OkNvHyѳ:)la/G!eH12G.~7xܾc&{( N.;(\CIFە[.I/600=AG2<% )=qʅ+G+R ( u#Φ WINmWrqNƍ oӖTG(Cmћ%xB1'y`H);C(aW;vB7G 3+5KߏhL(9PGѪC:^<0VVE~:m8(vz_ Tm\:g#B9%Nr` "SHOnQb܂aO7p_) SfXH۩=jwHѣ-Z?39Ͼ~ec>*3O^Rc NFI0ȘA9.@]Y,*0p̭9MU9VŊE%s;U\]N Āp- f!%VO;ՖtvZ|*nۥf}/4-COkj;`̤޼_۪Qӭ-PLep}p~Bz:vdرڔ0Z"21A O|d[Gs="E ӥ9ux6'WG-'K 23 /jyI;o/&WGΔ'fJ`PA/S)9 )y/ 7S~YLsBK^t$+HCl^"+daw++bIpr)֐7(DnK#Ϝ R~Bqby[p?KvS@m5xOhna>|hF= D{[0vwmы3BInY}t'ڊ[?| gyqЯ_48Vq=X~&bh꣛ =J6>ѽ\ىiUr$IrmQeg)Q;]6vA2.㍻|&NXOo # $!qɜ2a@e55D~˘F'|V郵~ǔ@1tPe\.Ie$ӉI+堎{n-e\$RqIqp>X/$p" MZ=O#cȑw2>zw NJlsbEX.a$vc OR"6p(wWOM2N[@ϩ?:B(7?RP, 77*F:RB|5i&aV[v qq)G(p4PX\$'º,:M1F*S :w!c Q`}?SB`%1Zqz+U%هN)Dڊ4h9ZXFF݇Ti6H+tc}>9P ¨u{Lj^<JŅ'?1ޫfӎ UxV#FYI?<|)pA¤ HN̻i(&s<~aHJBP HUޣ3Be#w:4{~6-G@iqŬ ׄ62{`н )L֞H(o,v1 QQ[=T {I!MWpB|`oQBXh q)=B@MJO}1]AurT1FZ0 QNṢnB3}*($EKrLjPYOC(чx,x%w 0cVCVmv6Jb?J[?]&TRp=B]H΂7 &ӕFpIy8ubYBYS1fcOPï+ D#_@=5Hd263P3Ah'R3{әvd#&YA:oF3% ˤMu$\εɵJZ?%Y^o (&_'0Z=]]u;k_ TmVWD.aOi..% I O7 $.--/:'\K1bVi#GUcH3F5nmΩjٽh]PKV;U91nƞkó_ѡ0˯dyx{N2\Buc$qұ[]v Sj9D[%FٷQ}#, {O2c9 طmjğt ;⏹8?UHuss\? ;sϗ!$a$?4~Y&hPޞ nQZHS΁Ԝ1$7Rdȹ`~&Qsz,%A7acKw%K8d;] 1IwB;g$aָ@Jr̝5tyJ;ޖ\a$+r5  \!\y#R)pcR!?wM J~W& PT:u)/8U1'UOJctN$eޜ.܄D*tϡ))< l nԠ9&$ip; i8>I`9XpofDP0Adc֘;q:0ƝR[36p&S]٢OuakūD0* gb1 (uiksmq1q".iDƞsk0/+LF]}o߬wO@Rpm#KLr=<8 C|u[,v;-pb ^2i4Gh-c Q"w둶~uq} 8?H=qIqepqZ^Q2iTzԈe8 C*;iw-,/Qqsvc=zpVZI#[PO,<`ߔvmP; M'M2to [;)#%A|a2~Kykj-H2(tSrE>Rlc  V)K$(C-4 ]Pi-ݺ'*@^֒)퐟aqAm|ag>R\@`pD.4<nc(caAPd`. \ na?{e?z{J'+M+p=(u$@HUG_"K7O6ܯ^:" m,WU8`#BNL)湫>J8Uִ WS,U#Vq< Ejst^B7g4cfܝS7UWEIsV1 {N|n()s`% 7ڟ1̴8S]l/nܷ.2FF6W3U&m. >dm sӽFsy6#`qphnIܞۥ@uڶ2J)v(f °te&nH2Xm@$KHAn8^Y 2(eI8ޡ?odҭceոBkkL 8)v `YCŨAT2M֪_LpƲ8' R`m  ΂F Kk pՕ`W}f7]Qڭ l.HB~UC6՟KJ)9ҐlyQ6!ۭ#&a 6J\ug~ƄKK4zE8FQ(ȡʶ2}G,eX' Ug@L9>m*=I:C.д`imh.9Ì~T):NkP3s5fE !fuJnՑV*F6=P-VVmZZO2*vR? 7EtAyߘ=GgX?]wz I2I=}h Dm]a_Φ0A8^]"!͎Q$6Qr`ɎNQd6A"g|g9L a!CxSer)ƒ>~$-ݭ3̖$9g7)ݭfNh4*iW{E]ŧ VD c| { VhB ^i4/%V [(QeWicR 9UWG(g<ܻs3k krby/Fq[?cp&y~c'f1G5uғ5Q+}Jnf{U|Y2CVW6 OVU ݕgn-<8AwpَAt"I;CmǤ)[x-$ʿ5:=PGP'/1Bu-N;y9x nnȀyvԚ \]y_?FxJoεˆ}vz=6FW9)łwx]K='l[xYYg ds7@$Nl# HF+Z}!ixXV醭/`UY-EO/0#$歎'gxAmVB -F`:T ؚn{ڼ3iUUāF zٞjulO4O'^&HlƁq3|if?0ɍ * ,#8WиCnHQ+6DH3!Q#KzHV]_&249$b ; *PԽ|t҉mm$I8=FA\[(+] &Y9Gԓ‡ȥԎvx m=e YyZB@g4URzZ@aq?i3p$AKʨס4 a[dYRv O xM+he%F >!#ޚR6x > ;Xh3`[)\[,60JМ v%2or)c̃7|o֒RR<7UXF0@NX % n|c X( cT$d?:tr9NW%ӛ opsJYD;*Ȳ[0b]!dyB E#{!W/3,k}sńc%~Օˆ׿?JSĤ1\O@#R*'?B1R HISޏ4*m$E9]V)ωםp6Ͱ~J#r󂬿 j0h`ŐYXoHXNS,2PSS= ]$lFN޽cFR΢&Wi^\/%FVHrUACq ʨxdI4OXv>GO.GAG"GW9SÿMQ6|>&B ZF.~2:.pt;TfD T.F%}錉; h\S'/OUmRrQcg!3ie8!-|BWgO J !7W67Sr1=(eZqc_Gs((˜",D篺4'rR^Q]-m绸0`%(U=r3m"(wqH9ضC{GCjo56+ɗ+$lwCUC#I>Ճ'$ ;Ku˶#,b|qКsmŠiӅ5J;¦W:PJd ڀUwB!闶$V(Ad pv94$)Rd$C(.ytD[)4xQ7fTt%Gʎʹ kNR !ÙT;kd @=:{{%[cjJֵ_ZB%caV$hmmӢ (ҫԸtY±9=V7s[ו}ўo޲lW !$sCntIw;Ow5?@yN1VGNb~t9prIRO_iV:m>h՛wfHMP *,bQZb]QQch1Tz NCjDI¾kmԑW]%_¨2ǷF~ Uڿ6ai BaJUkWQ1ͻߨ#'5Вp"]pY "!Lf0"JթK@p 8íGC*K5E dzA tVH?hһ$t)2 R[KW4 Ձ(; z, UJea}`UT؜Uk*Mm8{x䐺ti!>G Oqu=W#`|`$44+e`b?Je_Me¥X;kC.t㐮@?hes^ LN9eU33A{SKq$$ޙPH;D#Gc|tXGj5=TzQ7\eGu#'8麜CE DԤH1>MNoJ`Q[d}J?IՋc,wIck 18^U`LA^^d6ȁ|);clA&Rda~SP߈'HH7i`}(`k_x`az <9"ɠI08mk"%4ȭc*CF$PkI넄t#m ;dWIPEIy$niK$򣛙Bej?{z]yy-n>A[s? 0WZb$>U5`@M:)` ޽fQ{~kwUp~uo-eqG#2Homֆb8[P-hAR] ݺ;LLZ]].GXPMUf&'4'P3GcZnW TX'$t]؜HG?s"M:^r}R"H-rSO-MF@$6?_3MeJWd^h?A{t+?(V_$K/viW %j+\Q_/֊pw4>jEv Z*$b\M`2MD%(5+4 oQv)5^o\H%-ub:cO&5ueI׏|xz jwzA<nH]—iu *dD,eF`"<o |˪pH漌&1;{Q"_s!կ}wzO񅑉 䌜mjih[<Asb#99b=i}t)kdb=M&еG2D\1 zb߯rRR2MsMsM\/;1\0$JPF3  1C7.I#I{$JaT1θBVqRYɌ}N(#*3:HI2V{)rXB o>G-8 %oyIK VmsE( Xy$[A;6ޛ %%5i#p@ 0}M 4Azz` US33~zQ˗W*mÏ2'=hyc(d)*Nyd<1V>֝T-:Ilװb`es;Gszt٤&I9玔' RmGgݮF$#FrA܀wF3v<#FO-#kZZSr<c' ֌E5quM=:o}52LDSzН76WJlb)w(;6|t#t H#{Iª4yă?789l0M)淽8ʼnnoF/f=Trxf)!#ш/R;Xk!#&&=W|QčɤvZTV%3s[C&J_|"=pګBO-yG\P}=)(F{=ݖ"r,Dg0#ր#-4sSKZX ?Mng+n jNˀス -<BDl:Rm䐣wx),yVEdwW7O֞Th.9Rd"(ikm @I{O~T 4K]Fe¸]܃Thp;#YW}yWm*!sr95QȚVHJwIޑZ9=C \Jtn,>(n'JFg8Q ǔQxQFhͱoZͲYZi˨4Ksg||8_*Gco h27QLFA(*p[:U~iC~ Kcl7EV-ոQ=|,mn"aFf#=j`NzW&3p,Vr$[fBjNOps5Bk˹d#j#tη}#Ǭ"pym8ơ fYisC@m 9s3EjFñLq8>HVQT$pnnuҫ&Jl~Tfe'ImU )̐^Ve!TyHOJP)\ZJr#rI| +)ݨ6ѷ+ņr{AOlm.ʌ8 !wzeY%nH$rE.qKaAeUXTD3RlI-j9}ȃɅF}zQX*r n*.\p۩W2h#~n*4%3^Bj~ Nd3Qڟ"7Qછ[Nehb lj[لVjEQB>˂NTHNn {ױ3(p} j>FBǩ-w )MhwC@°7EP>=?EWe%8q4A6M͔z_unUc޿JSGp-̧qAaxD,ԙpyg|tJu-8?h Tlp;RMn 03嚛&aNHhAUӁM;u.1>T9[Lͤ[T7Ő> MFo,֧͞BjpHf)۱SZW>?')h'zu*}Ac!Pu ?֍6J7E(ʜ=F߭Kl==p[f,,:Ȥ" viΫF^.('88(r08:REP zq˜9$/4_e':c҈  ͞e+ >:N/>e=TbMcA~ _;c}Z*BJQD zOu61QT+,Z!Y;.zZ'Okzn2?vV/.u|v84!}˜\JߟZhZ shk69v[y6%ׯҠ}:߱;۲?u7kӗTr&''|}IgIBz.DJ:ޭt#.&(:e1TcB?;ZTZ(]M%_(9)a`zht '֝%äV+*8V6k?\ywR˥h @eVsC3MPRU@gVA(! ??94P}L`S57km⸐P{@ ]K?u-- .EŮlW П8-0;^ptI+ˇZhvӭ ,E5#0yS,MÝCj`WU]?JhH2FIhr]D}Vj1ּ{dq嗌7,̗7dd  ծU#sr~E!u4.gmzwk4e8CFpו͟#W.+ExLF 2SnGJN[h5 wk[u) ^o)DE$K/)[`%]dن38"El QB(kgA0~TJeLnëNXRkqYy"n#.eu M% #0 F=KWiO`ؼA ÚJJA/.:]RKxM-yۃICFwSJmL..愤sB:;00QEH)=eooO&!8:J1b)4URo,C 979TFY\]\e9N``?h#\OcƜi2<)oM\m8eIouښX{ 9ɋ?l>@A\MM2FOÓ~t*cܭeb'-= )+z1ۘ|iH\CGsOҷWi>iS 2u=-5d=.U1Ǯ%dU`9 iBmx@9"Sy)\v%+[$.HdYgW?|S@EtJ]>;匂G2̤`c=sH)= q[^] SP\IڇTIL,nh!Hb?}G9(,qfV.7$cvnq ([46ߝ|0ܩ 3FNvl{qlIyO5NiUVx +w؊M#i*ovEOl@d߰EE H-<.b20F^lSZO(:imhw2i֮r]#9qڕ̷wasd#d_ꋜlBv~?6Gw\7rqJv3\x=wzY$zES[' 6\9Tڏd d_4K~(Ѣ\$89=@9*hQ%侊8CkF_Yn*TZ[S~zH|zϿPdtLX602‘-$5$e/~RLu$?,ӣ5)&~zQ.Lqcԇ&KF $6~g8<37~Ec3ѱ<܅ۦE}b8曏VUzock}gR8{'ӵ=.)#`Яʴni&8Zo@,҈.Hy=0k3O}pU=:{B0Ŕ1w@)Q.ζ,Τ'I&4|mxn䷼Y_\t#_ˁSGBP4h[ QΑu`Sܯ%4/;c*Gz.&Rٺ8U(}}93.6?y w"ͨuׇJ=llNv֡ݕ`7ACo8B8f9oT:'iX&63Ψȧ(xG)L_S9RI]Jr*|j$d']hsmO0iܚx _nAA-৑i626 [aCGE6m#YʏAR\2dg $IKP)=9r#b}i?`@Ex'wWr$vʭuO -K+[r}S Tk q 9*U4QjoYn[^eQ̐Uc <,Fe/PFU#g'ʅ_p%o1޵*W?J-wwq"9ÌzI`iQJB(Պwo% s=23]S= ZX;HjK'TY.˖ovAfVP<$|\HTiGqk8ҵ6 f8ڞӚ!Ja!`\.w'0y)D7w!g ͳ# qFښ64 72)9H{M_L< RZAb[pz Vxw“sW(>{MᅓWK57OGҽGn/7G*$o97S4Nt[+HF299IuXO/?JpVfӀ9i͕'֢!i@$rܶ&9doOi4U&{:BąKr1olmZ]+;7jqWH}δ9nXU?U?D(o<y*\jl R?Πͧ.CgLQJSPb`H7PCջۺDZn.rw98Tj o$h*k^Mgy#u|Qd[:hIֱ +dqIܞG,!I'^ h  FF~7M2¦ Wq]6:| fjyFW|s Zo/{iܩc|[ͫ wI8ηbQ4X0d }חnN%Nֆj6Zk7Fo"Ka̹{UKpʶzZOo # s2 \YHVL6-DlBNČ;?:[H&wk:7}tg##  B)yG@!aHE CLQ@&%ؤͥ^Y.r~?+%6[ypO4 ]E坩@+w,8#) @)mNKF"w#Aw>Qf9#hHQSV]6B#lʸ p4_kǹ i;1#Q9{9Co *Sv*|ӭR̪ܲFtcL 71ː9$d*P|ҳ"3"vT')I, oG<ْAMvSCAS=)HUȹ` ⸷S$8)܀Iv= -,|n=Ui- ",27+sK0H#n~G%O:ڜv̎9Xt ?/!neaҞ 1g*:dP͔v7ͧ)O$\I98+ve>ԕIy ""gx,ʹW߿CH[:͔8즆 L@>\Z`aOneGr`94 8D,r(0\'?}w:;˄~F{\=G7f:$5mAu9<{=Z[qͶ UYe8ʝtڸ1v7uqOIb0H5IZ'E',^iZe')*O:CsOvݢj%ly>99f}YSx5 f-ÎY;1o0j)wiwH3pPF[I t?Z-n<(mr^?1М2cS>pyHZdl96WH>4MNO >kIeR2)%h ;_GwzBH~aWe?LyI WVu/R[1V.xE"O>]xL|'Iޛ *puݕL4NJH$m*@! Zkxz$aCt8G]<./bmŠ4kOSKŽ -m͓ͻ`Վt.EBڜXK_jf@[F;{ۢpsIg5/Lz*9<{ҷOORE;ڶ4E]Ҵ۫ ץhq9 ۏ|)߹Y= kK/+0nmznPk'ӒZ9>dhMRx!3/wC51آ? ;4x[ vMB.XGOڝ&k" X_Zh8<|#ҡxX R-Ŕnb& aA Fdh-Q3HZ_>oʛHM\۬a֪[{*O M(kި@7ʵt'$[G$kRૈ& 9gcҫʙCmI gMW%`ZۛlQt!MK^^`Sge%D' )r(rA|pҐ좰G ʮv 2Uύui:^?!uI _>١&@7h#eçOJt=~TcRrd8KRaBlf }R<_[ o5M6?Uڿ 1J;TM3pnAU^̋u UO;-IGxU ĭEΪߵ<[Hʒ5cW7[-l1* R89ૻ|𐛝_5b3H)7P]}\Ifx[VힿBեPO]sCtUT@)6;R9 ږg9,9+*{cq!M=i+sәBsGjJvUi=3u ,$Ubq~t'E0k#$|,rU7IO`S/OJC0C&pA ťlwvtQG2Q~u̟Ep4rpc+j8 mO`ԂG"270M$@NL{MrARGÃfa(wґN:g_LcIZE0Hk-2ӕqW-s1H\|8k)hir1NOIд(޻*k}Ր7PюLX*nWb4qmJ|V%yW) |_h0iQݹݻ@@JK>.cU9VG6+٧EY /w#tL:n w(:Zѷ PvS|j@|ĕZt ?JHi^[*FGin07N*P5'MdR ߨcskIŸVSԽ|yJ;kY˕Y7jqXgD[Tc@ 3(ǫVGS/u7vJl y41i&yVcnmDO%ᖩ\LnÐMʍNJC eP++xr]A-sӏqhkSei(_Cַac.>x֫>i @۶QjԒ_㒨Ώ9o edOxA;N5 {G, ])9xH()rA80x&5-ǰ/t6#)]K+]񝽩w2pw+J R))#Np6v:P2@0pv\E#JH$q\GrP~׭2gW&BL,yY^6؆|8U #jMkpRs>2k;^Od>$|1'"SN9 xUYF:/~+X'u[9LGRtʠv? E݅K}b$ӹHf !$Bzaۮs]62ޒcOS(s: %cIk[DyJ9(=:vr.+bҠ219e@d'tu?=1T o'+]$\kTn(t[rpazu\iX$sCיٗ9F΅܇ԖJy~pI6qׯzo =$' IC z(J, >&K\)YBo* xvJ&&5)/ݤ9sv><(0OܣiM E ח$S7ޜA $mFWE"q˱֏X@@W{K.B6p7aH+:Ѵ/񑂹U@+SNq"oLKs2 j ql;z=?VzFoh'9Ec܏sSpA?lOkxqi#9ڤH IG`>Jo â}yaN[Ǻd"$Gal3G~م"{Dghʴ1_3jÇ);C? $U+GL,gwHF0*jB yS|2Kи| sc5*fh(mq:nWɕ%XZ\>>#3E/=☦}*tAD{Q(ܳj@/ wڔ"!cwQ͏f:s -$8RB[KkW`I4zO!@a^@j` 9m;d yɧ"G)8rE\Dz dTItWvkڗqQX.6SOw-JJ@(wn;-%snRF[,YSTM4[A)#-eI*[xtVroѨ8AO3+4I& -w.-IӡA?Jq}:`UNxbP$'1VbY"0Ve?x8{RN [;+i0V3 F?mlm,2322F1o w ] (v< $OݐgbC)\Ǒm*#> e!8 Qiڄ(D7oC;PB(%6pr:;ki 1+JsK+HpIsL\FYq/Ķ-NWR:J 풄qJR1-ߡ^3%+Ƒv8ʓ|,<2?ߥ#.N0@z pH͝j@k\̥VB;c?һ%.k4a~h'bDH~WGywvX$*T7սEu_htU,lAZ,M CiA,14؎d\8Bry[ArMMip-ixu`\[ҍ)hEnra,ҋ3m _ u"AWLdUoӗxV_h!URv5 WұZߥ^#%AG֢ ([v_Z6ڰsi^Yk*=:$.{]LmŞbUXM2[iG89دJ\ַ/ 3nGja~iWJ 1HTHW֤6K"I`1c4]nQȏ v*y&99Q+V6>t7CXR562G&)/0pr䘁'l/ ~Qka!뎕]9NU |7rB66ƺǕ:={5 Nu{^p{UmTip Q^UhoҺuiکuo %Fr!rM*U~iUxTn-,N.n Bʻ1i8FŨ9qh )u1\[m]' J34c#ztǪMQ0_ OLvV1ǒk2n1M<'h|Bŀ)~)ivQ+k g؏ fT0A=@?#Fh<2 cEoW5kVV^"zamnYgeML+!Ȥ4k2Mq>Elp%9E(mөb*2lc1ڴ<VGLKNuKVM7+uz{UN([]JHU}~"&1ATк턆)^;SP\ v40v NN y1 wߵ UطyO;>W29||!_;}}hE6m8S4r/ʊFj-O8Fy"'umKgWEYG9.Y8.p.mWYgb A \-cmPi;In{F#8| mm$kL \U+{i!Ɇ!7흳XK--[M_Ԏ+ӥ89%sNHxDZR:kwZi",^廟jjL\[m(1*Ca@swqҒ,u!\iuYW8PN=/NfNfbzc9%e%旣UP]~oʼ^߄0$bk=˒2sa]SN+>k^g$gakGKH҃k HWH# zYl$f!A#@*]!G~\ۇ;΂DC B?6k12Ǔ oDVWI&n@$Rą\>ˤ`<KT *` ̴fHF[$q';cnC$#6,g 0v?:Z?{\.X^˒Ppr7;u+ #a-ux[1ooTiIRvP鷸p7VɤiKaMZG*`:HlsM&eҞԢWRdڬC|&;V(F?3[J+QhttVtg\V'/&&\Hżtc3r> ᾣF9?)HsiW[r4q1|`mS^U(a6$.Yi{x ,#C(~s%kl8ڈ\[`Ro5{G[;/.c ܇6HTȵP]mvJ|m\\,~]*,]4iNjYba9W'I׽!%>JG]+wClmyHd8Nv‡J;v^j|lң'`r|t?hjxiVK+gJ;ǖ(/!NcMY6Aþ1I+G?V0W 5eLmʤ-{0V/iWA'`v{h4ۛ\kYƼPV֛ǺFo5Z\2tMS;5M* =UNH/uY@:Sp[IHI]BJnRy ^ђj},XM+KOIiqGZG-; v4fȰyi< ҬF'iʇ#d&s+{ohm )=4D93П hʞHn 3q5wۭEN{*TZ˪9Bbѭl MvclvgwhV[gV~a$4jLlYPdݎ6VOJ-PTdPԃJWOT zy '){SC._ŹTlPIi |J­5#tr;mUObV:m•_x` '\U,A ܏d][¤9:|;UT9Sl*["-gMWͶQkòKÛ`$zPv3Rj&ے&V)qlF'.aa2{5Zo6-MwP8$zR,F Q'`< Y >TjUU+ v}*+EK}? c;S0Qp6@;zUՐ4m2J#U句e:Ku4 =(ls1S !<ҥ(JH(t)z$,ËJlnD+c-$nY08J%Iݮ8e랹?åG\o3KB;neB|v|t%'.G[lw|pȣanXl9;vUDh\xY u!$ou:ޒuϥ"Q.".eR3+>\ ] #-Soh']!0e UaOSk +MZ<}h8^T PXe?U±à^BZiY(.0=4#JyLNoH 2GQ4x G# ݶiJhFCuupyU 'ZkFWicŦI=kӉH{lm#QJ)>YYquֵ+0~v+E-ӤmL۩OkVawgqXה䧐 cM) ouM+};TEߘ!)!>6)6PfY-1HE:9VT`pG} ւ_oBc](q|I`÷LR8Mv[隄oF9-.]gh=bqӣ\+)@.l&{kأlTK=1u=);g3ސ4҃H|(\ `y{wfWa/++Xs;Ne)_Qr)lsIz)-?G4ݥelGHZL)J riSYF Ȥ3GC* =GҚ%?k#1+=WNh*w-L9 L./R|Q` b%LɶAl>)w'$u͠E*j6ȒJ4jqd FV6vcARCБHZ)#[k$kfY'c8s3kv:5ٌ &nB3F [R=/ĺz\I`|.3Xu{Tyi7YGb^{6"aMss#TI!=)]xRK-Z+~I@vsڀHs Cv eF|2 Ed($W|:O֖9&h[BGSǹ9J$VOx$ibI):揊sbURKQIrah˺i,}K'KkmFyclY`=ԭ_GGcq4$Щ̾_+u5 +4B.lmE [Ld#W=@45J7}HU Q&lKg``.:ty>tntk@T6q ^egZJ4ȴ!9GLv/O1pQ$8{՞r>D@Go:0wF4G9w $m9Np'i* \ǣ\ވcvg%d uʰP\ΗZ=4MGL)bشuHa/ ?ޫ4!υج֗py!ϝnz%xK,`$Ʒqm C鳶Kc) Zi[rce^cXPb JD{P=V#{[~TeY  Aڴz0\\Ր$MouEKTt+ cI_##^)R [p{mzy^TgWNӰ{y).t-$H\ 9-CDǐi֩E[GB?ZܚJۜ4gɋ]EC>,?OҥXyi‚%3|[ebTj W ?l,WiB_eaoVkjmi; /y>{n$JY^F{H$x.I[0Tw;{P& 9o񨁞TصwEme έsǺJZI K0;;#K+z)$L bqйHӀ%2?!W ;*CP$LtX7ږ)ʇRYr=G%. `u ?zfu:2 { ")$O#і ]5GrTPZOeh"f((JF:Upl6 'CVlс< c'T[܀9lcڛ MsOG ^͡70PFm̅Pel?4#'Fyю!<>@P]&r yR$\<@Rs2c^oN4Wڋ;p:R /-KMͮbBH1 H`=V}5P4X77g$V^Dml@?#l֯AYM,i~+>g kV-qݮS)4qdE:/Wo}C\D+^Qpޯ{$w-)%k&:}jGi{0l.JV*8kA[FYbxl# R0#9$zjǩ6Z U3c\[h~~w<{~TkgH xhI!1?Lg a8]Ǩ>J U^s r#f ]},Oe{6 !Qٖ!'cD7S7 R#:y+p:f+%Z 'XjFo4n@*2O3\M D-PKcwd]B|%zڌzB4'h >,8=jW S-E](PE!Q PaacT/%V퐗(֬?x`ϖI(mm-,O> +sg);l?F>u8OXV5+܅(crREtP"k LROM+&~PymnSʙ=RuNU ..%MtA k9!~QoHZH]JF$)#''zh K# qR~r_#ڹ%-X(#;/2)ZJ#[!sE4I|e08G9N nXf `%U%7Z@/*RcouX QHڈN'-H nٛNq/o"#7jkZ ,RAd|ґरlÿ(=ڕQ iiR躽ZA&#p/CQڀ.`R#Uk$LT4@k> ~U  u(P OS/ 8)̳a?TX P݄0 YRYyYߦCsH@ ZJvb2{cmƓ[o'[ѳUVmC/Cp6g| R~#aP >UZ k#XDNTos3@- ~Ru9)m^S \)n>u Hh=1"qf;:.yo>Ҍ-9+Z%Zlq9ǒsr=%}X9Xܭq%ʹSGJ%| ؍A7wŎ㜕vsk ɉ1 H=s2ցM%=̺nonn3H#{T}0ijȻ iїZ[EF=9~&D<}m%%7\ب9$ډ"M {Bb 6S4nҍknZ]ɞTC.~)V:_RX>y+Vh-a̠S0y. g8_j{GCqىG*2=+ MWk< Se\1\,4h$m.u08GRCtFuy+sb`ֹ*W-J'Z)~V2Z+&y8*3ix&jJtsq<\.ﷱ1d|MԝL"ospz#WQqDžA>#Vm{xi"̑hA-bn~H z*x<^T3 0|O ~DWͶ:p^dnmqUal xi9' m5+kV;;ߋoQ&9a]:_i|'bzHJf'jyi=skY6MNU܄?htač¢zA .\+δUi*}hHdwʞ]9RM6k3ާK@H`qQ#ٱ4s*; HBʤDo7B"`##q&Pcv8XŒrYs=kNS]v ^yN㥌lr.2p)sA !GZ].mLg-AQ}¢#dtj;)1jkڗ1銉&إ-Wzd3Jl>=m%UڷdLFlNV*WxTT톲ǯu2MoC& eQ~U mO^n]s4!"| |Qe\C ;R.٪ţMQ}Οqn>cI qRCd{@Ǡ$b&=Ne!" MW\&v9I](J+w]7ʕi y'wc|GióJ`8ϙ׮Q$g +C8كp+ 9  $\ӽ)LtmFd=wٿLk<,KVeV1c4>&BFE ϥ-Cdd_cke5et|U^F Q !G/֒%1bΔlv_ kqybBK:\jwmB92bEXs oRks#wʖ/)m-bI)2GJO7Ds iiL=pqXMTNLc{aH.4h(,XT'G+JoAœp us,5 G·$eqi+#y>Z|w*c8xHFYn#gUL7USo}n'@8ɹ1XN/Hp6ìkn#W>a#>`3)mzx~A/u[k~>>M84l@IrN=:p,6H>44~-kpdh#., ֗~"sSa +bڜƏ )B28Wq ؠ3p e+(8z\y\FS`bz=XIM[ppHcQ}'!2 ߥ-HyJsƾM3Riq ݤ&?(LG:1!B0H SQDB;% "XBqɱ?LoL}dVhf#f=Ck*@#7Dcu`KFa a! AԑDZ4)c\apY#;g fиM>KieK%#.PjIhv.* yHۮ ׵Úm%Q˛:{ɖ^y ǹ=36#J|Ac 2r}{ƬvQjZs>P^cemMڂ>=5Iu-7^J, #3jDDIz;it٘0ɓm)uBzAdÿ qwvyy'E =jo=?"h"p>= (kbS}>VK~,DN>)t3Nm/#=}1r*SC as,ᦐc"CʒFrD~Vxʉr{Sx0wԸ:aw['ּwoh\;idFt_<  (L$a+7=j?%};d֑kd(LRZi C#:dw(DAd2N˶0~x7ixTSuM?R岻B$sn!#Q;}i}#q=E3Z@rn.L$ag\ns#,sl$T'>uP: H  |LwkߐMo *'}\*|fI1֢>FUjWqʆIh=֥w}nE4Q uˤ%eEN l>u>hVSQj݌&XWg%iZJ$y1nw n7&v |>N;Ug 2 ٵR;Oƒs EWWeΜa a`0=FZpL$0Ơ3u)Hk[B&M;?X2mw#{|[fwXCV.s*Ɂ=)Mv@da e.nuVpŐ|}N^ $,WL`uߕ^Gq¥Go+y *Mf;Pu9[.I(cYiwTN8pJ8h96~X9kb ծ?gSHwbEf'PgA##@:)Y 㽬Mnu'9|g5mm oi7V/TӀ mB9+2A&wz"6Wd=V=\Xq WF9Bh^4 `z_YJ|OB^cGP.BTNd+E N@ kcNYGdi$ R5\U[own)Tz]Mp4QHb PҧE;IʄuK ڊ[b(\ YGk8$>+TMRO^kϐʐ'*Anl+F;Ȋ(̓ /Iߦ:SXJ烔a ~(c+v}:>&U'Ԅ*APÔGZQDZp}}0.I8) Щv[&J|ZWn1ץW?nr_H$1l8US$Ҟw`]9 k6yRD+|-xO2@K6lW0gMj^[$c5U.Tn!w;Utx {\+(8'f'76cTV0"A鎞737Q,۟w#Ղe8R)e G2N0]oauP:p*AgpQcR>h$]Ol@ra0a@.7F}=g DDmٛ~e`LKOYZQxpX69ކ烓>)dD'13=*[FӃu+K^&-f^QMMYi4OwNTjZJƫè0&۩?"H]$N.l*mk!NtKR;1 ԌVOd5P0#WF'Yxʻ,3Dpl^udmi\W6[Xifi0=:o -aZzpgX@riAU%3L:×im\TڒuꑉZ$=I5BWڽG.;+}> ,,?;;+Ojv7]]ȹ!L$*׻7\3(ʗ3\xi:}f& Aǡ>3m.9T]i~_WぢM+d-36F-b[30G3PI;(oGԸV&Dqƿ /Z$}Fm4PRSjNдH5]SF+\A/&`J[kA*𻊸"5~6K:7 .@ tۭ! r|qkݭى~hvyk&x71l*3Nˋ-K^byuAn$p9HMA z%ĺ=X:b2FRsvҞ 9_ZOPNo͓G7T>Ș5qCC3ɿs8R8!=WYЎxZE^(yP7UX25_K3i}i4ٔv6=ᇺҸZFSmJ}2RXߔ.ᇱLp )RO,>y/`eTmpr"z]W2-2X\}pncn S 9lG#w9 cJB Ed>1#qg8F`;Kz vJBEYn'qv >ݩ:J tiVKy|$Ex_XALNxa#, < sDeBZ)7Msw YidiU3nN hd; M.kz{-|V1".^@OWO Ҽ]D$NߕOfP_5(b?=^훈}QT[ҳxg[q*[:CZIn!mw^@/P7{Ԉaը̈́Q +ON~xuRtd+7C>B9;Z}n.¢ze+7KSIqZm7ۭg&R?ePح>QN xM[צիz9{+5Bi)9үvf=-`Q܄'81ЛOǡ֛Q2hIt`sڌNו~ }SJ\3}%'Nk^pnD6ct7 u 5A>䑌*z6y*\t_cgL9ERvjOvg͸ vim%T߆i.bߕrvU3Uz̡ׅmdV &u eXJF⫥и RߵR< :\@ij2| MKn`w*qw+R;uډ\i jHH,Ü.2|y8xS8 N;bÜnI'5ɴa%"PT,aQlv/:酀)Y\ݢ5Y%'4{:Xˎ@y$ُb;a_F 3S 5eE*`zn"5G\7_sH  Z9*Cj k,أ q*'2 ic%qOޤJtc:UwuE1VZݴ;tXHs9 ;v;փo֗: g=+N QjC_x,qzOm_+!bc.nxVi Ƞ˛:Vh; I33sשSYD-vo-.bOӚտkw$G>Y#x3#'~EJs4qH#.jJ@J=KznRh!Ob6'a$:Զ x[ke6^cE/6`Z[Nh-0|M9庱|N@$96H pFĶ6SL4),Nx6m ֹmo?%hg>Y&ַ׀g&w&<#`_֧vAܕw k9О-}ߓ7Zmq+=Y!NQc8T Q5[XWs4NJuR1ޘԐV@eikFq&p>Oci0 \L2UM<](_-ʟM|۬&<'1Y3]R?y/D*Iqڟv6T\=3藧N2Rܰ¾ANuM7V0zIEWӹ"7Q\d`n(g?gTУ*PӀ`G'%%7 HC0-^AvzSE\]1Y'4ͽb iݙGl&8~Ȱ9m REuKqo*.VYPvePa\҃T[\26˽HZ%rR?7Z-usO9#ҒK)@;[N$%9#p Aw 0֚74T 6HO%%pq_]@ |l|-lpB8o>B6=xd`##n$ئzM{oal؏u&q\HI bI܁Ґ|a/a 27FǸJब)37=Iڸodi:h[XO;Ff]t=PӃੰ[vBX?&t\O) !_c';9ޖHTךSV3޽]*]6NdaCs)P$32lAF !CyO"!+6(R niLI3˔ё1 aJkA6J7$2!Guq돕Edw%aW ?'J(Rgwun93}=} 獤tvxI=*K{Cݕ%gJxQYTpz-H,H.2r:T{$]LnG,;P/fJP#ʅ39"%R< vӶ韈zKUUi6\GxQ[X M^}j+Zy!nHji]EHӞMZ8$9A(6AF%t|Bꭗ5֏s 10_[[d.Q/xW[ xZK n=vpkҷOYiFּ+ ]Ct94lМȋr/ 5}?l#F0S8dgv:{ɴ;!8}sÄ́`NQ'{wED|ȨI"Ҋp~Lj!;㯦'Oa'gڀY9#Y1|'p6M'+>'h)jDsH3I4pkCҍH eg巍y\m۬!躴@ͧ[z ϼY<%֒AwiA+튍"±3D+\8s6D4LFt:6GM/fkRe!Q!6l&_H,L sl]20 crƣh$P!55]T}UoٛQ'dҶՕZk\ <5'ZPFWi#%Fk4)rGJk5t"Gu/ I%wǹBABPЩwJ{u=Ը-X7Y6dGgctun]n@R'MwX.EPYՓ5`Qk~HF06'ah c5`~Oxd, Ǧ5m K5?]j>SV˸}jY"=PYs 7,6_CB'(j@% KlB:g4tY([ #oz~625X^q,43ӚpG=kMf'\r7ӵ<0GV'RH#bOΙ6Ȥ->[{? F#,wZvhHmch>LcF4'LrivdžfPA>ERm@ʷm-@z͘6,Ӹۿ4r~Բ{gZVx_ƞ]>RQQ'$7UǾ;Wu/5ܴrTǞnt#C h>#js^Mrs'4ݵv/SX]TzxGi?խͤhYA缺bؖ==B٘H*@7^";c` *.lL@u~1-XafѩO?*++-D~6ծbgQc̸X`P vƁP_2O+,1#LNNX9NI]I3Kۈ=ܟAJMnIt.(pg{U  4D{al'9Иk>Xo|gS -BH4--ZNi]'9 #ivw'%]ggdp1׽wNR~Zid% BqCR_kAqCp^\gQ\$~!TExaoBGֹ̝Mj)"pO %5[6,a2?{`JWd%)zt{ O:gfU$S\$6ob~x'㍀*AW1ǵo+jK?=͗9ȖeǸKl$)4J{7.:J&S!#1.X 1DhH@X#';pWjmH)u&5fF wk|`BhDiEî9q RυDvo4'.$GC ʕm{ҟذ@^ ;WR,Hg pa(*pŘmni FF$c+%(*9rv>o%9l2s})7$xWWrʠwM"i 1(*Ù[9Ti( q,9$. O.R^UTeHboQI+zU\5$$sF~NzO=$a{[(sӹZ() ls8gQsyOq\J|bPń,<ѡ HI yk|5T]Xk;!.#V@A܊G60%ׄR. <{Bxi4QZA\$:cc sF :Đުs)\Q5re5Yj KYc*~=(x7˰Fc?#܀(_PH{ˊyӑ 튬1q5m[(Z) 6>ާCQ[Cy NM 48rW&Ut?Y)qKH+N=M% Hm4QHFB.r`*!nprT0A] LHJ9`~0NsFwzo7ަ2{SnOuk7E0ar;GqN#(|u^ihrqZ&mnҳ `>Jj=~ֆ a=Ϲ BxfIۗ4No~μE ȚWpNz[5L47[ r9ƺdP;>L!I:n8Ien de<x)[q6+=Z#Ef8"ԊĎ5ӹ2%LΌ[iu*\,wlS"eOZ({NHtRK?^cVrιM+r[5ژq7Z(,˜)DQ4wJۇ|>ԥ ׾K%0g@hH_#h$xb崴`gҞͬdռVxMou$ax_tN7y0,70[ i|*_ 8qsHsO}w|#Zrft( rTVI2X#??+u!rR<>qMCG7&#ی &>SvS@26 UVaNo3( f˛>LalS;bipzf8Z t|zwpIɪVydelXF܅#Z~4FAR>oOO q <,H ONM>PiɊM7T ?h!ܘႣ \n932Qc4 i-#,N㓿YK$a|Z 1F0>"Hbr8T6z5 j-piū15ea#1|n(ֿ;i&w3rbF7GHd!fܴ\u4JmXZ#+?zjLaBwn C2sD'?\Om⭩Yڬ(X=W30'7ϭU&@F>#s((G: -z@3plcC~Ԩ^Jss00Z$-ᥔnP CP{WV ~]6J PGÓ0ߵAoJCf*8 2d,Q$uhN: ռS#4B.0 R ܌u?Ƣ7IAMnFѵv&?5;{yRg0{VLUl&k2!=Q^VpIx[$&c roh/h?&edh JkՃK͝*`Qj$[IY]7L^I%l o0mJޗh$0)e_ۀG))@Z5Gk8G7/ Ό'=mVW-]6ͺO=luO1$"\Uq`*˫b&К) Bȧ>9ϻ+Gb>&qU(f#ʍGiք,lS=N+M-0]e.Z1'D T5 g ͖SnaJa^ yJ\)>"3L6.NV^<xGs%@9R K=V rB%:PHa:s4Dd;_59#1Rkk |J)>PiGman1% R0ӫJM*XQWH4ioLۏ N,p+GBmNTbB'#钛uIKpCHڑԒ+"L99;7hݴa4CctoojB(z^WX(p]_I 5m9)9H=O[61I^FX `aC{LH}~]EUX(:RG#r4- XSCIBI#>! |*GD;tQH{ Kic/G&_y\l01J3`ՖY 9zP4ڬ#7qG1׵r$2bE5lǸV\Ju"!'/Qx.DA5]'c(f|HM@|5K`Οx#)݁s#ɯU&/Mm3AF`֡!ʔȥ=lY `bG~P έ``@*#TN6` Xp9QM0THHA6W6iՌ3 JI.cb `GjTS6 *g9sF|22HУŽV5ւהfqi-]ϗ}3'Ò}2O[~M\Meq^O% +[&(vc,] Bn#)?Cw^pHc\`P]TdGcqbHGAtUX ʄGsD)Qնʒ]LeXCGtɬ*1/Ǘ ĄQ=bz $P~ά`ָ=Mۨ\gڝIR Ea;g֟l!˦oj7*jt:=*tO5Ur-֦><\fO+yqz 7YX >(6Rf`략oϮ*SjIe`d'l*E_JޟH!\<7!Zb:qVMۃҦzpY Vb[j1YW#ih$E/bZQ/`\zwn&{հzV`=dލYjtDv`}Ej'4|f_EE-oH+rǠ'zzJEG5a6a޵_WZdk*@Va"z}'tU&d{rŪE(\Փ76; da83oCR3M;JG9mmpJ047D3kBn`[\Pd*=A(,9m \D0r2bJqĐ(EJP(n1c֡˧. TZP-O=jO(eg~k9QK RЮt9€^u;/g8v!yUl7)Ȗ 7.÷Bi#sxIZOUFX![pA;tTͪ vshUn!aug'5`*u‹^xO3Fe8RLG>vvGS}O˹K0Cu;qaaO8XZ[¤YC1S'+sRq]"%q4M4Hhߋu:@wP=1: L_뚄_ɕN>D ݣn6Iۍ^r=r}\X8B8rtۆulԈ^e=Ձi\F)B['JW)GxnKvM(CjN9 ~7)2XrMks=4sB/LwtBkA!ej'L-%IFFFRGڕ$Rk]F[XM{{y[ l?PJF4S HG;0zs)1+wvFxoS/Vykͭ`nВ0r=֛,`'C kt]br4de]O+E)u'ny-’ ؞ʐ봍=&wmŋFǖ{w ) ?˨)(wϧָY𙄤 aPNwӿt5`"\3"7H)yII24jClsڐ4ʘ|'fԀ(a6Y&I)~ﮐ >QH,\އ^QZ^2s:т0H!p&Ե.ΤVR9V $ ݠ;~*(@ YgvP^Ea50IhRI9M2 Z6_βZ `A6ꇷ" 09~[IZ2^M1VF.yf28$CrL%:H$죡+ Z_J % F1 簆tđiL(Ax%< |Jn>=q%PBf]ӌ.?7N yƸV~گ#Y{U6RAJ揚N2HmL s) ׂQ.2~T/sٲ=9~q#@؎ڠk#a)pu$#:^oHZk-!LQ_$'f"I.g)[uxQ_G,9̀57qWf$I_CRߧ)"%GuUx;Sq'k= VL,6V~xȩX /(򽹹ak`Hf'22S0(!Z|!UIюrs*;#(N-wJ'TO\7ۀ8^8*"?8 {l$rl 6!=Ќ"^s!a{z=9Sw7`wEΊaޜ' kJx3wӕTzN2 [7yC;NbqN.i°y;FLHMf.=ݪ'un9&c2(.ۧe g 7uid銝r*;+AxbI'#$"%<8ј]ZKָE9;ت]ذQhnExQҜZ02pZ#X }+#<ҚECsMs SSi7X))5h(}hmnAZ7Mt~KqwZfH A㷿P{|/64nT|XPHz&ҵoiPf/o;Y}<ǥciUz&>jM6XͪmJvHC6ZdxZh=cJ<)S~k=½Q ڵ5A?.š# 3ODz9Um p#(Nq 5E%azʔl礽yc,sh 'O{h,mhX舺Cw*ZSxšNr1$ڭa܋[cMO˰O8? Гoim3S-X!چT-?u\pVI5ʱ?-y6gZgCZO&$dv' 5~}_j1 _/n@M}+;LBA#N}. *;V^" 1⫝/nR-'̒yE޵/Y Z pZgpLɒT6@F׎Pj} Xzo[O|sֵz/^k=&)Nhk[n K9R[pn6֣MXߋYG܀QG*cv Ui{sIW(#L-(g#+NJsڏ] ,6jD4~bIL7^ R Qah}# Gn5H(aPd8QFkeF΁v֢ 88jJ3s$20GC|rw҃0(c) 5A#|PqoE+d# ;gw%2=sׅFɑGח\ "DnH*0F;S8WUQdCX;Ҝk4d%Yͷ%<6sn{ky$>\ ֘% H^2v#Gwi"{2@U'Hc0m7KT Ȳpi ž5gpίovv9Ɠ ua&qn6E٤2(-3Ǡ$R|`"6vk;\ql}} 6RD"An"\tVZM=XD- +Tr (omvQ31dGЏz x3t2yhe28H&^f$/fzyUmwJii{+iܝ]iQeSOA›h*JOJOK^3 M,Zz`ư /[G c>Z=/KpK2͵Z/jܟqs5\k}$.ڭ /ĻINzZoZ8fSwJ]mОz6Jj=+@Qh)2/Ԋ=baPj}3]CUz7 %P};)`:B8U 7rx\q4 %87x7ޑ4k!/Y~(9#jp`=vOİyY%_ь@*;ðo!Cý9R%I*Xn~cQn/in!ծ?a[PO"6éf=skFM{ly<5Fy~:TRbk>TgAsBI4[c CPTh`sO{fx_lyQs}m$Sw-?s,I'wnt^4M0)nc.rTF:D O5ɄlAvEsD 8E&Q e**ǠJSi]~S[+(ls1|aHRvyA"qSPTl_!`Zh `$qcf N1J' #O% a|w>n^P )Kp*~N?:GIq9Pr1;0i4)#B[ <ǿ)n\4Χ~)tۄr`zg?GT nQWϤވHH320+4m{Knmo/r&PGLnBqj`˹`ӿt^s73]^]'eC3R= NXmD`d[*~Tȳw+)(<~S9"6sY\ǁpFCH㒝5w)%łs<$K›I(1#D(ŀo ~Q*$oħbz. 0FhOkSxזG^V@I>qVyDlCE,FЮ{Rr)cn-u/͂d ? VǔBK_Z;pI畿4_xHOE\FҢr3]ONi)"h3s<͐TԦ4RuCv,@ v OiqLYT#~]r p觼e7c AڟI 9H"IQgt1 ex%/~^8>)9Rds;I?:l$qJr1I#FHdBh ׅ&0Co2cp6SSNˇ!pQme$"EPIGqQU34OJS0eMIQA,(Ve.+51D{HŅS䋉RLUz^w9^QwS. @Giz_X-?*C//Y^Y/?/l47FER@8zվjbrv "#) zt-۬l߱=wZNm0S4!OtjwVq^v .~qTq.x7rK]R+xɕd;*z7YQ\Cus*핕U(w;FN[f vtw4yąPeOb)=҆\IyJیb5sahx(gAbukV#+7ќ㜎bF>zKq1G,9N?(n,Ƞ;o?R CaN?$tqPNHc_iKG Iə9s|!BKQ~1,OK:FL5)O '8'm:L:_!pĂKfGv:: 0FjD{ѐQ&1$dujSuͻCv@\eQ٬e0Zqr!!Z 7EN33*~ 7WпqmTt(V|?HҤ ѻ+<@oҎtfpʲ[6KapѸtQ}cGVNUI+[ilX`vȨMΚ#IFe8EX7I\ap>|h!cު#q&EdJke@1֫~gt yrHmS]'AʘA6!\ bKEf|̫ GJz}' ՛HBZ4ݥ8.v awn TsYAFAQSXV>z)m׶)Z^BAm\pWX2A0:=2w NkM*[gGM?:6[#Mkѧd67Z{*/ӗ`6ydͫ*3HNq=POPzvنb`~"O?xVO_g~ڵc8F4Msh=m̪7QY2I)*ܘ \O( ͫhOBHQM+VZ[zC2}iJix )H|xVgD<y>QYI2{Vf ~7'OYN"XvQgkI6N$ӋIxPi7O=PgҘi ^WW1M*}GZ5XzOv̙GZ]4:Yg².Kn^74g=|l' ,UkʻW醖+?HP$ |[VC䬞F:R|cXFִoY[U)ե!y)͝VE뎀vV_[Uni|scuu;֗M7ܨiT^Nd/\]NzUS|Ր  ֋Kꆻue>o)bثx7Vg{rz sQRݨܞ"B-'>qy5D.ܨ2HAr@~VITAJ"&⒩L7Z^mFyE]0TfޤDECxOEjG[;9J3q V݉t[F6U0H M{wAqS4ulз$QcAyF-QUCܵF`#-"= G(hP{oM+O򔤒ۯ,,~tV|RK%|H*Jp!_VFsJ@Cq2 ذ}=h`i'V:bn;K=C[M3$zmA~#{8,'(iOTNTj{-*ucژEv݋{%(1P^H3S؟Z8$^U 疐*KÖ1AiqEjֶJ#[w&Dk4z' JƎʍPJNs p iiVԍ9&t{[[mPdx rsE-PI8Xe8: P|4JKy#d?u5) 䀤O`ixI~TρeI8NDPM>^n.?h3?xuT̎QOvF<>})A =G1kߔo㛔d)F:L W^UzY .lRBT]y@=О)m Cfn!@ cWaz7BsF?f=ie2Hoŀ0oF]@tE!3$H]Npk|R1K7ĸS0'J!\<\L?A8XUU&RsQJZGI2 g NDwdg)\nz0=΅k~Y,n{zT׻O-ʒHVx,C HҘ \ӋM䴕sO#㿸i!!c\F d)aǸhN#;g'JOū;(Ll!FPCH5R%!ՃtW1~EWIWFu򥓺NJNhLe@}6_!ģV{ ̶4, lN#kN %{ݒtbD Jcw~ |JX ʂ0r1ޕ{)g {&s+Y7҆5A6KY"{bIs;vzwY<4G@·$MݔG,B87ڌu`(΋qfW[DUK~O҆94V 1N-1ʱH?G6r4X좴#$SwF` SJ4lrHjb{\gZ^׍Bڡkll3at"BX Rr0\溚ZMŝͫȱ:%W>*+i%F.!J?]>{1JJ~}\CeQoxj[G($#ץyfw\IxP[N)Ү~0sz#HJV]DlhgM0-j?e *{)1V n-MWj@q>]vU 1+su唧N w+( ΪLV'bRKs .fnn# ɡir}usF@'⬡?Fܧ1qɏ鞢"ʍB7m1ʬ0v7z݄ۜQ#u,F  57Ġ6hLxp8952-ڏ&5JU#qp%eF:?T"ZM㠥tM(RM+wۥ@kx L:߲C6J4ԡUc6"-7hFQ ~(qZ ?+*}%n"S7];Vj]x}l}H6xW>]ըH噘WOX>pگHx:G%COCJ[M'j!╭cpI2dլNqŔ:&ÕaspvWHE7</JccoawZmSȰƒ-4B)h%aL8K/J 3\\Dr/iAʱ!ަhӣWRnU\ y`9hmrR 7{_%# `vHYT`L $ym-q "经Ui1Na6A؆)HYZ\=͵,xdY}SߤԗTMR0+q"fD[_HFTiwcMK#ipc :D G4tnkViٙ Hʷȩ7\ѡ093WȀX3WIl'WAyox2u=\~6ݭհdGvP ѴJ -&qhZEF5bEl JAI@VBNˎO$Wi4u ]0~{Ϥ'm GsKȧ OB#KyJDY>_Z%q%:f5r$9JcFBI97ކ!]$G1o$g#+$$R{-: RseVPʚiQl`ʜݘiA'P"ؒDnI0AQa\PC͕.MͣU!hÎPdGh|Lg o(opFd%D',2[ O5u&IAw9C$wV:9|0SMũ ̊&c*]yG2Y䷝1#"cl9ƔAOdHG OZ#X #,6͌<*{`6|~lRF%q.weDØ`zBX]uNF@Uإ!vhbdQ\kq>[Oʬ) Fi=Ƹ_E4G!7yuנ:l,eוa[ߖ7k2o:(NsP C6 p4]pc4iR]RMb͠\+eK kh%˱gc1{R"۰[^0n>7#ѵsp.-9a?ʣ5m:Z dUE2UHXQм+G=K|]\ zdGyV$t1 W=H8}%kmWiF~t#|-CΔe&wr4^EnI+ӱief;R(ITT w&e9 D3``:Zmnx*pm VkJD@ڜޭ &;YNw4@@ %ܫsg=9\@ˮ#9^P$eQk9+oDWvJWh &wS91k08>2qeDGE9UB 9oǗ:Ԙm2M~ \%ـ;ojTAG,zf7xkJc!p<ݪC7fxAG׏|;jw]R&|"Q9%ЌxkH_1eq*CwPphA㨑G4$j!7 Mgp zu ɾ ۋ#i|.GH\VCš{CQB!;+/ I+\u2jrҫ5;d;vs$]3Gx s7 mo䝈>j}eMt*ԼH0t#g <?jsVEP Go+jSsPH5Ҳ|xk֫MҲw@GN]=I}W[¾zŪG\8N9bOAU=.K-./gUٳPf$]PWz~OJHJ9/_,$ZLaX\BG _#o' .%f^@sn6~_gj?qÚL|%@7WF"=7tP)U[ G"ԨJçܞ9OspwGu4cwjU:ysh(M}jSnPI$~Čzʪzq5a,^Zrq"=kC-Tsd]ҰtBUp?,BO,Ks=kWzƿLq\'0H錂pzVG[7[ ³8 ڴzd OҙY*4z .VVkU!HtK;l'䌦3'Z&8Y^갴?-WMl-y?x gWE|DY)4P_-h;B]F4ey+o})̎kE52kSn$rQz}jʵi¯u6u4 /eiU+h9ne}sRɪI`#I9d\<;}9}6cZIڀ^F<f@9lc#;{/Gn ӁIG?u}x ;y!̌ٻt:E`m]3 OʓR.G̬cBpT'7X 3O21=߱ |?wa)M_aUH|cad @G;0?-6B@`GǪ7K^c&| 9vvM&|4G)77ӕ6FNg&}5+%N+jYm1gs)L&$m&{yϛWxHVQ.`sE0H8Q%Jd>M)yJA by9JLEe 2glv](^#N^j$g6QG5]lCO2df؏Ґ~ P-nc? GBK *G~Rtx‚NېiZN 7Wx$InD#Fp~hO$8ϓxQӭpq+ DFv9NZEb`5.Dהӹ粓)VG\t;{Ry)]HO D@M){ji(HȗHlkRG3)QC?.,p~ٔƭqXVct}S̒3 r:4`eFSe$,΄=qN-=)]?\)#3HS%d)POpMqgwhA<'D3HіЪ^G8ۨA`kǴRaFO7ً9dn[Z:TRV9Q#>_j$%O!,̭'śjxӨ݀X*h3.s*ǡRP3`%cr@|mwS0#/NyOd^h;dRSXDias#41 Oz8Dz %(EG0PF2q!:gIΝ#ntV,b4qjf4N+e$8=9#n vnWr!? 0|D#H*S͜ΖY2߄wgo")HlGrzIФan|/N$0#Ip2VGKK0j+,19Xn'#zka]# ޲>Y>l"b {th4;Ao'AY2b$RNF'g8ŨuG4[Np;<ߥyq={2Ǯ2Z5$)-87kS{N^ E!i9ME1X>A*ZqKMF"qU9?6BR̳W|m'JNK)H7f0~5هnԎ)¾L{rܛ}i-R(IN5mNs(>6N# #ڊזwUE^R`e,(`QĆ&8x)0@m~\c |ɖDrCEurw Li`&N @ޞ)ҩzG2vkZé*dN:f:(Ŭj0`jrgH~y=YQC"&eMֹh'L R(!]=r4Zu,f5!+O\} ³j0>wm*MmDz7.dHx R^7@L7^bC~TƱ៷=EmX%B:: C/ ̤70F D+)^EtCŲܶ1&7RiF`{ aLݱhN; v Fw0$ y c\58'iDah0QFcw/e0˲QBgvNnS4ZJ>YiLvNkA)9lg3u.PY*A`zUtw`) ;;G얡IHfmF/|4U#@~i=ҔR;Yiw5 _N;Tʉxap 6ʀ Q_; Cwͨg8h|4)6ҒZwtX-y6*Ef >JN-PTglDš* }!;5=r햚 T^ŪT6)l<`glXE}_4ᥳ;&nT7^:8TiXX޵S?ZNVGYXk?gۘ05^-]x-[3Gd>zrXHZM?curP˿ E2͙zO>+rQIlFBP7x]QDp9LmmN[8(|QE#n׿J 16s3֬t%@~g24c/⯥K@¸wġ2!qrZhZ++<|+WSAc> +]:w|/t&ҮK(R24c~:6 Ӽ"Yr̽[-TA +F65KB~:Ko!y~ L_6;AkZ^d$ck7!m &H )_AҺ',-4j9H<)p6=I 9v1Ɠ6!y1}hbJi9D4f ȹ9_AҜ'u%A}))Vs].ꠃv#NQ~#`ھsg 4huXU]L!IRlb+9^dj#@%GnP 0Oj;8(e8's &B66]g4 {eNߣ 4֚[rW}GZGEHE~̣{`20gZ%~DEV$*tDeV1FƐ!s+->F'O8Rx\ˌ<2#(2Hbϖ oQOA_ʬ ǽ)MI#X^C2>nVӱ4אp,e?fu28!?)9t>2ZC )'|S0I&))ۦ;Rʾ%g-IȈH>%Sx]me }R9 Qxc&pN:'1,!<GPE 8YbZ$.yHIJڣ#ID$LIQXb-K[j} mjkF$9AnߧZas8F{Vn>zY\?$Y/͒`oj ȴWpA\@I#lW2bM-+6.'G^A;Zimt}:pTTtӽ!o+ƱRj\I+ƊNJlqތ)26 *W$#|bQ=tS]O, #V .ԊåqRCopMXJ!eYsNs '\'OsvSKMNC~꼀Dif'8 JYLizn0cҀFNjp4,e&|>|eavz!gP\NJq}[D^0u簚A zP=!HZg}mz [42%qmA䷒ !A摹mnְZkeickՎ0rKʐ|TsFZra **U-o,NʿG@DkҐ62v~S:! ;Cj:>җ!ٮP+'~3ApQvR3֜N=Rr.c<1ߔQ~fh`WߨG`SAqSE ΛD&$ʱ*+דHIi@Y Iz@yBo})P9Jɪ2t8ڔPNvI)R\)=ޔ2I]N@OnC!rQ \Q𣗳=UA~l 'lG6e=s)n'a}9f_ϕFD$A.;朂Q%P1r?2@%%؞Dp•,!= 9( lrɾq8> -}ie e3#\=AaƣD=iCk mnmHRzqNkWV7ކ:҈@ 6/41`P=MuV UAy9ͲPMyhĎ#8jFN'X/'ur*NU#C6;<^\G-+`SyM/ioosVs7I==Nu"<ֲ<$/ݤ[qy)I aI";?))Ny|=3v%ⳒOHBrrwoLs]ig)'c$ѫ\YTc>S'5niU \7b $$IV2afH֞4ͣC@ΌђrJI) N9;jy c} Q4=/U#Jऐy Z Qo].D4|>ɎB07=O*,㐢F<#ޠ%?7e+!܃Ԯi5܅qC?8ye mSRpRR#aTE!Pi WG*c1а)q%5mE,Pݽcv>UyMkMHXꖲsjY) ɸ: pNqʸ4}_EXⲑ٢\==Z98)n#];!dY0h4)2 ɦPw="oŜ+Ch&C ̠v#Fiu 2 焙yNN6uަ9hAt6L r@?Z'%85e}#/.Lg5x oO-F뜀WF~qlٵ3d!L.qX13ԤR )<[ eh(GmJ;7#V|sߥMnʎtNb⨲9ӧ>Q~%Q MnU2ԶNң:',s`R9Ҙlf"L{T5i0nT\ڂ+OiRFzl <ӛjb­>$&sA7On*#ঞ?uRC;C/Vn.Uo c?Y}1QC`Qkg Um{:VQo%UfYUpnXGgټFc#~b@}'=M!))~0}ǏEv"E\A3J4Cqʻ1|- jj.Zwz6}}gEl z691`9\Dm%:A=tAn8(5Q"? oǸP堂&לS}rDiIpR4v=XTp`Pmb{M',1vk$St7V-qn?Ә#ek[S0[TAJ{)+4JE{\ڵE:9ynOY𔏴Or;j7vKsZ78(P_x*D#GLa=Oj (%nunNhzMw.duh^lR!LNYI=C\E)jC* JNO hNI( F<1ۥ& EAupGe?N%U@r٤$KIk-I$ YR}GָDegiC413KQ5n6pi)=,my׮ JW wH;)S(n{@HN ;JݮE(=q9S y'GLjnAV dk-(]$ pA{I *Jy4Õ94b?ide ̼b((Eʿ2␻8J0^'xJW4;\xSmBF\1 ąrJ1ځ~QTEsd$)?d#!i z' Ĝ2-_|XWʠasuvK+k.Ug\;;* %Ohd!EZY 4EN_ Fp{[EHǝ$D* ;:^ )C6 @;.vlR`-.'we$7́ ܚ ֒HCvFM`1+Yyw 7_jPM S"0nά> N.h|lqXYr2b0~+,c(cF5ڔEH f+*Cq';;!Gjx(D,:O!P2L,qS5P(equ'=SWC4(Ǜ'Od6@2Giy]3ۙ OdPsOi޶ )_g<; )#)&hɶ9Z4\^FSW@[I~ ﴣqszҍ :Sz!\8s֕q6xxO:mq~҉"z~S4m?0N )!;wK<KśrقozА/Dl>'yLֈH.^J-.?iwO|Rh@(ʚanlH tB>%e\퓊HuX*?X%uZ2&ilI͠(k IyҖzlgΛnNjWїG֙fX?䑓eA' .ä/2)irOIZ'm-g#Kp(T 8kNn^z\!Qx]Af'dEՀlcDk S\QDO#V )~($0x،TxW+&|0ޞ_x)֎6m;E5Ru"D>L86 oH~*)q F88sHimyV` HF|(Q ;j1%ǴI.fo.^S\,_5* k]*BKGV9ޑ 7diX2A>u蒓+n0i`Wypmrf?=)jiJ<>&sr RN]pML!7~N* Ͷ_FWV@xXv?ž̀|$!4fh 1;DufY9)Ʀqt a:>yZ+SIJ4>VBqk#$auYJsP9'~ʢ dw\(R:i\+ dfЗBN Ŀ 7ը\@5txr"a Tg6:I+)F FR7+ޔ)J)L\[X]BU.a=9qڔ+>"Dsr08)5ͬ:2x Iϒ0> צv#  [RjV݁R:ԣb 3sDH'C\EXL(F\Mk%dq7GR C_)]:9)RB)9Bxc2["w)g#5r{m"vӐQ=>y| 瑯!-\E~! \> ?43)>I9 ]\݇@()K BvڱĕcS됯(n4m9yca,Qe2=E03ÒCS)Lrlzu(qIFHk9Gbq˝0Bi^" d2}?\|J0wwؔlBwФyock\O=ƼZXZb{{t0 |R.)ӇVƑaws%VE0ʠۯ5ohB,WKGEĮ(No3n'5Hˍ~@͸ &9L_qRI8B5ݤtlrҸ,p\.^2;c(nNҼ'ly'ı\ʗm߷ʚRAOe {]D?ϴIB? ٯmڹ_ޒ5ׂ3.ǜ8SAFs =x|CtcV*OĤ2F3ѣJiҷ<eaʒ708;] n Gt;QMDvSIKbC8,{ëOSI>2szswsD9w$&r}WLQ]ƅ0ѭF؊{mY4ig7ӉP| ?M7yaCgZ7\[4B~ H)kRCu 4Bie|ks {p,Ӏ"3nE,rD@k91l`wzxtGIϬ->nwiWQn<9S=vBOyIZ`\SH%=#qLN7چ`A8RGh% {c4 \a<йϪҷLBg·q%[0P{F LⓅ׬|G{6E3Sˡ#ɡ{hj{ݮC W4=$khsR}DO7Is)=x>t 64{S\VŽ\ϥw0RTOӡߵw_kO#19D\JgNR}j <&!;jw$+NR( 0NBca!<[!;)&/9Unٴoݩ)қNc\c Ef5hъ:m љ7h.j0rzQ[$Q)OL:Q1N[aс=~TVjqHnӟ)zmzDh $:rܧ`GFXNYrMS5XP-` 0{ҍIM0}'2>})r'q:ވ{h'iNB/ow,Кw{z*;@~4HaGQ_ӎ|J}TwJx(ioZE6T 4H X|;88wQ*m),Q'6n$so},Ь{|7ҭtN3U=UctzEk!SoUƞXɥwz>ZđjjZn8NX#^xla#X渋_6!-4Wb+y9q͸aY\rM s~"qΙ yU0RɞJ~"=*SlcBF;yڮ}5tW wۍQ -}}s,-`;n}rj9uAr+3B^\>_{ st=p+)> );io_@6L۠G]چzR8[< ydh2=Gjp4o47.`O0+~vl <d,Rp~!}y9vG|҇)8I[][3e ׾=R)9~ҞV)! 9 u kE4Wh.m&*i@IXӀ!8Kq,H怿7/5()^}O"JF0[_[nus.0A0U%/<7ok9[C/nV;HH56uazNG1iRn0ia6!0u2:7\);m".fH)6QNbK&u@qҖ2O7$ȭ.Sƾ1C. R wBUOLLsHn⽄pXs&(7?0.?}hA!rc(][Ӯ)S\ۻEQYJ.d49bc'O-a֭ov%po;Z i_[G,cXc3}GoR\TF bC:Jy@8A\-lq}qOk  H%ߧZqIx!c sJn| `;Ly@1iks.~)=}bʓKZBI#uNH;)blZ&-Xh²4R.UAWj!±[O|y(bLKOT?VSt< %tn4˸%űƧ?J<#"l~,u& yiyh'f{_3Llc؟~^bFHϔuxRMH$7R#ʱ nGQ\t>06xb1Ki9:;75QK F tdhkߣ/u:) ЃG$-e &Undt3,=@ihD1/L76CJ9= '™HOKmnO*7s¾GTMYDj=3JcI?{ u,aӭ9/"@ x$9=8SM}Is˾Oq+S tjC+.*Gp'IqDlr7XF`*&pw$oD`COb+=֘Xr ??h/J;DwbFw2+{Jv'1?>CT@ ?D[aO&S:`1sQ~?x^J޽?ȱ/Y/7j[*Ok,hP@vhʚij4#Xʣ \nG\5` NiR2I~@i'/ |UJI E3n+uM+1ړkvJ5 J=>){+Ŵ9oF;oI\ t>`D("x?8TNO2yG`t zpy^aNro3fRG"LONfS8J4sMg15/HN$<& DVCM?7$f$G<;JRur|Թbn|>fێ[vڔliFC*)qZc]KB_0@O~^F*ZN=M dEt-J .?d'*5~U4 CY&(AP8'IN㹑N։T,$qN9X*BuB;R z]A*/g$N$@,Rv'ʈGHE]@g:;_ڜGz6ƕR} phB`;fTS?ׄ'@.ո9)=:J}ʹ'S;(/+r Elq 'Pp͓F.Н`)3z#u & feC0yy>LzL(q$Oj^_ 4ߥaD{R=*IMbƒ6?J{a>=kIXU~(xY5~R~el# Uep?p9/7,Bn;G2t|iU๮eV⑇&Rcrz~FZ5jmwT29$\44a)|qV\7rzi'QjH<~"IԚ q ,7VGf^\er=q\);x '<[CFOIwf!3#*FEgwܣ'+: SZi4[%/4h%lSia" ވm v!XHOq\(e'hvg}|9#ミ+E6L~L^ >}K䤵,Dyy;.)re!!')(Wȷ1@$~R{OsE8N"S$3h1Lt/JE2,c(;i%=TMѳHr1gڛFQr pUݞA+K|c@%k\E+#9X):%1X"/ pT#sZnԆK,AH6cAu/DEG.9'ޜ\ qH ZHj>$='jE&ǔ/pJ6r&iMĒ'V5 $ $ ɒ7V H%C/*(]q{Kn1i9%EӤ^e`;SY-=r r߶h`žqЎ΄:F4ٵ9"D0|CpޓFlH0-]~&уxZr% jwƊ\%4$ym6 .֙m7D@ऀ}G([HVj/s>kqr.\ܠwI@N`hjq,֗z[ٰ:;4{xcqkɖ $`t#  TJ#gzwtc'=Q.EJK&boKhQ[K$(P l9`vjѴW3ʤﻜo󦇴 ̓ԅy ^1_gh*1$mJZ _A!)VUJ9RJc)eB?)x( SSShR,|*P>"=]u( [DFW^VlvQzv9e+ܞMǔ7/&֌9 q~PTg5,&oP!%kE8G\ KgSZ~Lx3Rr3q,.Edh?+RjGՀN \)RY=%d #JԲ+r7Fƛ܂1,;*!) Qtz\Km3e)y%<6Þұ/"ŨC5=0J-vʹ1V kQss>HCGC)N!+o\z(\\!kIʻl?LNIN'pyYXtm.y{N#wۇxO m ۇVfHvPݬ JG{yLR 5--v>4ڸh\ oIV\i]0+-8LQxw*MdU/E\~$ڄauC3Jl=`UDGI#C޹{Jpc\֜؝TS kHɌzQB_>1)RC5$[@VvYN7|MY{F;L(Z/ H4GW$MS!+2>< V0&6PmbϾ)r]Ck(OZ~;]^<Р6h/:~.Q@5pIZi n7v*枊^+o|H9Be' -EF{(A+\v(w``NA2zj~yZP剄QQ.+or ]equ9XM&XO!yqtkt:XiSjck8ozq&tUs2^^wڵiqU~l"Wn<2m'uv /)F(-32ۀ8C16k1¸:Uަ2"ś`]j^b JznJ)(]yPoi~/6)H {kX~^"L1 +bCıīTBǻMօwi  TB'-4yy>/M!9i*oʎkXzHs44vFts:(rI)!`S}ke7="VwB$/hh1bYNv)@$0XA=kyLp;~SJ=&u9e WɑT8?)S$0Qwą!r ˭J$07)hQ'āYIiބm'?9I!zb)}+ FQzNyDs|8 $t/{MA sv)KK> ܂NڕtzfU#8sNmm4WAym2gb?"i9ؤe7x 29_"J[^VJ-2)go4`2 =C BE`(@>{#NJAV,D'Aҵx̊4D9= +`&:fh`@G@ "0[~#{7ME^c)/PRS{$iO.c re#ґO h)o-7֙)Oʕ29Xu?Ҟ AG)#҂5ڻB`oц) `3:Q,t=`8-`Ve{yM#('~SF'X5&c7l\ښ$#',36sq I$lxlr5 ϋ a.6Y|-G};=#U90jMc#ȫ3əg;*;u=YPFl6yKV3Hq|p\{ou=h˘e!vS=tH nj0bt!Q=z%L-QXG݋F@.6e$ RNi%`b})Vkumvtj9OAHèxN>Tg "!#>jvx*DA[KH%W LF9Y*SZ܁/V}z2L:<&Id Z'̱yR@#B|!7yv+k@~g3t*8r y^"G}E:K2By=ԔYPą1R'=HLjHez綀HP۵'"p]Q)=$)+c; R 6e+l1mH /vطz@Bq \tk9tJ>Bxx\h,3;SZ5R˰ m(5ku\MSMq':p&1 KJ8 YDwN{lZPGxXHiT<FƉ g)~U`1 WQ KY=ϷJV)E:)p e;AV*gdR]dkC] Aǽ5ξҺX;Nq)fA9I1;$RG4uT$T\"; ct"<]vG(@w+*H=C^Oi)Q7S~F:#wSCqe6C]\lmLS9ݶ7 S {nNBzQ=/|Rwe(SE_)}L$[f ͟ʞ40LO|{AvKgsS){m[ qg޵ YV7q7ַڍG(s(xZ(=尜Sتj̓WwfEh_rqR%I_87_:HܶѳY3Hk괒38`;WR/R%0Q' `.Rf[,evi\su:F) ( ltTHҟ2E>HE:H0Us=)ô2<HFF(i0H];{;Ix')fWUN:O V)[MBw*  {Ӡs'% -gݛʜBhX*9'= $R~T򸏴_Bu:ڲp@9H>h U@̙ O xHBy$mEHa,09= wJx*[>økrUW /lG76^i)($ԟI’V^66AZI$LAB7ڐJ MI Χ).AOFFtYF相НR (n,Hm;qF$~@J/nXٹFdw^nH]i7XgQqڹG?Nt>tOE(Y3Hnlp׋YJXر̠?'au[<`:lWN tSRaVMāgf\x nRqiz^<2zaF@ZZ[u1jXLOlӫ Bh2(w a󦖂( OLMd4DHKrɒmz )8vE,=G3`F0SivTF J?:s_iGG) ,N'|LR;!:2ARV, `al~yǂDO8ԣ ̿oPޣʺL{VS]YX8S)u-P~qufmHG@ω ql=2=+sJz}թ)teu l8ׂ]3NNe Vt ("80^oz(wr4`Bƣ!˪)텹_B;h`7)I.R;w|t`qr)#JAuX٦қyIؖbUR<4JIAK+yK$g:̐8|Rs-1CϘzS#2,`"zuLǙWA:dy[˞TD`AڇqH/y05xskIA& Q |vaҹ&:%yP/^2oP=>R)2I F@dJ$rI4R%V$*67Hr/lI)]$ yG)d*l^*L"Uazii4Ir21hƈMa.:@ϭ:VK&SeFz򎿝'C e<ŎvB'e({ ŽPTI_M` F8\AYĥzҺ)J[a85&|$R>0% Х”+p~-WRQ3ަZ>RJ?4 R<_Q^ u8W-yIa4HIA`.!<@0G^ƚH 67Ӏ(^en74AJ$2#ΑZ~y6â.aamԍR? 130v(}{{EtbY0ͼcrS>[Yf YX+wӭp ,~"0ud=ޔZV!=\r{\z4WOlB   텫(c- w?!w  N}G-$ͧ4I!I;iHFme@ӡ#Sn^]c'f.nֆ"hQfv Ǩkh'ܠE=zCJJ1nu8|ֹG-kZE,cS\0#̎Ɇ[PV Jt{wjC0^F{wF)< QݻNLnI#yQWN{T Q${^YZ sye~&OjcD{_0VW*T\]Ȱ2?/yT~ϯ4#;1?£KU-v20sj*'Aqoc[29t~~Ԯ.'J!R^=&kQXȭ'Q= 8_|GR6\Hh?\F?o]?}, )ǭx(nͤ,qE8Qϴ#oH4 F;#E&H~mM)CeB=5E0) jqn9܇ost0J6&gBs]& vӈ?kKK C' ʺ6ޜCp61KDwM<%l5<)PAыU vqp0NNsLa("3t@!?ƈAZQ9N2J;w4gBCE )m< '~cp;┴*a޸M)TS=iBt?wl<$v8Ama78E3+)`H\ JI)~OiZ4:sRyt(@#5D#li b!y&q8kpi>qO4qnRM3&Lq`t Nb܎PzHS~tݯŗ?:}oa) /NiECa2u]-jp)::6r:d_. 2xH @ҔLp3X O΋ٴ3FFMncQ0S+ :bu5`K74+mD%;T!G{,BO5\|5%"W1RՖQJ&T3[u+8e85-VmK~5}8FmW/0o 缬[ğ<Vז IgEsCS vǚ]\CZ(JV:p~+J✪'.aq}c֣QKw:^%^i @ XFR :t8CE~'ʕ8'ܳj:?+lXl64h?KF4F<;\Ru R$Rrsi)H<~]nRׂs*fP\ÔKM:lSO{bo2{; VNrg[=,m# !r=2{+HN(&Hmǩ)o (av#ojg))ܡBX`(&y_z+%'t%9A=0r34vSʻ1 SdԲ; ow>f .G>e)7SӧʔB #"u'))^k H(w/)*8M'(9NAf\8طlSm!oRnVڻ$Ap>ކ,Z I+u 0t˅'1Ʃg bÔ2GqI%P<9yRWIP7XO5縎:\DZ2<.Kh8>oyL ,qȌCćuh(V~6FX匣?Bfp\2O(l8\Û I?,h1Q*0ʒ)xQy#9 dg{҇\Ə)$%]}76݋2v\/Mȥl.?[tAL7\x"fE# َ;08(=;}T|𡹂Hյz N.]3;c2 |; +> үA:E'|:8$): 8AJM}e&6:i^n#{SC c$D7Hg즒I ;dX+M Jy7.&H999JC''v SgH( |=YQx,ҝiixcl'O{yRBX2s+ba=T  䟀gi5 ɌdQ15_3W.} AByLn.>Tgr9B ,:m5JQ7_q& a$,8^;^{Glu.k!RXFޠ|v9#VUs_TuҜ_]CiX3 Vswrj4Y\ ^HPsG?ʳ<^f2^W`1+'(WImyi]@6-} u>XGfkAzoR9!5啱TF27ܨ?굔xA$JrYo_sKVbdRJ?{QC $*24\j+ l(oIޚon@G7)f.Øרi Br/͑pMURw1LfR4s>恔4:~ ͯre<c5qmzCAR:HK*F6܄ٴ&<08v)I.0})+0,#'}a%JJpȡݩH\& >^bm=$y~I K490*`꼤叐% NiMzS鍉,vm ռR;K9`=;dmSO!?W2Xd¸ ";k k)${S\v{ 2kI'ܤ8+KG!ۖS3l60;Y4( s6aƈ8__!e/72fߒG2r? upV0`2rNOB;-8K[[LFH N֐8_@.'aɚLsALiJK̶ Cj:`ALЌOrieja}Uߗ:>=:{O ͼL`Nw'$ӵq(RD[FSP㻂#[X2`'?Ap&2X *=~NtF8H8X!Ѯ.cvKvp$FICJ/vjmso{z/o 6s%JK(ZͪigECȠ?̲I]P}I՚+9 \c=US⁼4=2ѡ<rFj =jPКh [if@#ޞE<Rj ufHŬuMo Hag!wj#E #) lad@mn#c!9ss4eMlZ?*022OPic6))!)&=B̨yK1Dxu%i`<͑ր+='JtSIi5'KD''F›oXJ%?58OJV K]:Qp0=?Z:u&Jc5+@g)T `\uig1+Hً)7E]>I !.qzŷ){ܜc8 ۏ1D)NtO/-`Gӭ xH[+U" .iSv4 Q8cozqy@~AP Rà6i(Ċ_ 䑂Cm%p+a eqnzS$.  xFi#Nr Zx)NN?*#$E$zsO-vI^ 4O+0g߽:o)F0/*M$TҟDJzJ!e%c+'oLS9L$S\(mn`!Cģ /~IݡVUUx#Nm)$lҊ))g¹HFMuP+QE^?ɍN}(Qʳ^O(r‘J҇8 Lה)cߧo01qm&lnS EV0J+?2r?)+@) %>[oS)H;zpYZ|R,9r)meqW/ brJ4-4,=W,K̃3G೶ r׊ E1O4i7plzZx?i+Q++s1]`%6n=)Hr^ :UgZk8*!B{óIK[4$$ mJ%]EbVF>ONP93HS9|M#UBC$aU]caޚ*qnp- s ^֗MOӬ/>޻Nw)93I1Y7jSOΦqnrC"<^MdkN+i[_DgEl dkI('-:'P4ı.g\G?* %-pTя!Gf&ha;1^^m*CuR0@)X䶝 r Q%fwkY9Cs>{QVFUxRF1^ׄV T(nTweIcV|N }3`El0cpӂzR@?N/]ilGoJ c\ۤXѳ9zG'1ƓҰjv\H 9JSr)Aj 5M>gD eupwpol{G,KOՠ )l0A)hrF0H.hĩե6mk2KCXlv$8aKhs7jhs䑖˸84 6 ᐡޕs*;{˓߱XéB,)-7Wl.h->09Wpinpoint-0.1.5~20120318/m4/000077500000000000000000000000001173123050100147055ustar00rootroot00000000000000pinpoint-0.1.5~20120318/m4/as-compiler-flag.m4000066400000000000000000000027371173123050100203020ustar00rootroot00000000000000dnl as-compiler-flag.m4 0.1.0 dnl autostars m4 macro for detection of compiler flags dnl David Schleef dnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $ dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) dnl Tries to compile with the given CFLAGS. dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, dnl and ACTION-IF-NOT-ACCEPTED otherwise. AC_DEFUN([AS_COMPILER_FLAG], [ AC_MSG_CHECKING([to see if compiler understands $1]) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $1" AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) CFLAGS="$save_CFLAGS" if test "X$flag_ok" = Xyes ; then m4_ifvaln([$2],[$2]) true else m4_ifvaln([$3],[$3]) true fi AC_MSG_RESULT([$flag_ok]) ]) dnl AS_COMPILER_FLAGS(VAR, FLAGS) dnl Tries to compile with the given CFLAGS. AC_DEFUN([AS_COMPILER_FLAGS], [ list=$2 flags_supported="" flags_unsupported="" AC_MSG_CHECKING([for supported compiler flags]) for each in $list do save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $each" AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) CFLAGS="$save_CFLAGS" if test "X$flag_ok" = Xyes ; then flags_supported="$flags_supported $each" else flags_unsupported="$flags_unsupported $each" fi done AC_MSG_RESULT([$flags_supported]) if test "X$flags_unsupported" != X ; then AC_MSG_WARN([unsupported compiler flags: $flags_unsupported]) fi $1="$$1 $flags_supported" ]) pinpoint-0.1.5~20120318/pinpoint.c000066400000000000000000000634471173123050100164070ustar00rootroot00000000000000/* * Pinpoint: A small-ish presentation tool * * Copyright (C) 2010 Intel Corporation * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of the * License, or (at your option0 any later version. * * This program is distributed in the hope it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for * more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . * * Written by: Øyvind Kolås * Damien Lespiau * Emmanuele Bassi */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include "pinpoint.h" #ifdef USE_CLUTTER_GST #include #endif /* Probably time to create a PinPointPresentation type */ GList *pp_slides = NULL; /* list of slide text */ GList *pp_slidep = NULL; /* current slide */ GFile *pp_basedir = NULL; /* basedir to resolve relative paths against */ typedef struct { const char *name; int value; } EnumDescription; static EnumDescription PPTextAlign_desc[] = { { "left", PP_TEXT_LEFT }, { "center", PP_TEXT_CENTER }, { "right", PP_TEXT_RIGHT }, { NULL, 0 } }; #define PINPOINT_RENDERER(renderer) ((PinPointRenderer *) renderer) /* pinpoint defaults */ static PinPointPoint pin_default_point = { .stage_color = "black", .bg = NULL, .bg_type = PP_BG_NONE, .bg_scale = PP_BG_FIT, .text = NULL, .position = CLUTTER_GRAVITY_CENTER, .font = "Sans 60px", .text_color = "white", .text_align = PP_TEXT_LEFT, .use_markup = TRUE, .duration = 30, .speaker_notes = NULL, .shading_color = "black", .shading_opacity = 0.66, .transition = "fade", .command = NULL, .camera_framerate = 0, /* auto */ .camera_resolution = {0, 0}, /* auto */ .data = NULL, }; static PinPointPoint default_point; PinPointPoint *point_defaults = &default_point; char *pp_output_filename = NULL; gboolean pp_fullscreen = FALSE; gboolean pp_maximized = FALSE; gboolean pp_speakermode = FALSE; gboolean pp_rehearse = FALSE; char *pp_camera_device = NULL; static GOptionEntry entries[] = { { "maximized", 'm', 0, G_OPTION_ARG_NONE, &pp_maximized, "Maximize without window decoration, instead\n" " of fullscreening, this is useful\n" " to enable window management when running\n" " [command=] spawned apps.", NULL}, { "fullscreen", 'f', 0, G_OPTION_ARG_NONE, &pp_fullscreen, "Start in fullscreen mode", NULL}, { "speakermode", 's', 0, G_OPTION_ARG_NONE, &pp_speakermode, "Show speakermode window", NULL}, { "rehearse", 'r', 0, G_OPTION_ARG_NONE, &pp_rehearse, "Rehearse timings", NULL}, { "output", 'o', 0, G_OPTION_ARG_STRING, &pp_output_filename, "Output presentation to FILE\n" " (formats supported: pdf)", "FILE" }, { "camera", 'c', 0, G_OPTION_ARG_STRING, &pp_camera_device, "Device to use for [camera] background", "DEVICE" }, { NULL } }; PinPointRenderer *pp_clutter_renderer (void); #ifdef HAVE_PDF PinPointRenderer *pp_cairo_renderer (void); #endif static char * pp_serialize (void); void pp_rehearse_init (void) { GList *iter; for (iter = pp_slides; iter; iter=iter->next) { PinPointPoint *point = iter->data; point->new_duration = 0.0; } } static char *pinfile = NULL; static void pp_rehearse_save (void) { GError *error = NULL; char *content = pp_serialize (); if (!g_file_set_contents (pinfile, content, -1, &error)) { printf ("Failed to save to %s %s\n", pinfile, error->message); } else { printf ("saved to %s\n", pinfile); } g_free (content); } void pp_rehearse_done (void) { GList *iter; for (iter = pp_slides; iter; iter=iter->next) { PinPointPoint *point = iter->data; point->duration = point->new_duration; } pp_rehearse_save (); } int main (int argc, char **argv) { PinPointRenderer *renderer; GOptionContext *context; GError *error = NULL; char *text = NULL; memcpy (&default_point, &pin_default_point, sizeof (default_point)); renderer = pp_clutter_renderer (); context = g_option_context_new ("- Presentations made easy"); g_option_context_add_main_entries (context, entries, NULL); g_option_context_add_group (context, clutter_get_option_group_without_init ()); g_option_context_add_group (context, cogl_get_option_group ()); if (!g_option_context_parse (context, &argc, &argv, &error)) { g_print ("option parsing failed: %s\n", error->message); return EXIT_FAILURE; } pinfile = argv[1]; if (!pinfile) { g_print ("usage: %s [options] \n", argv[0]); text = g_strdup ("[no-markup][transition=sheet][red]\n" "--\n" "usage: pinpoint [options] \n"); } else { if (!g_file_get_contents (pinfile, &text, NULL, NULL)) { g_print ("failed to load presentation from %s\n", pinfile); return -1; } } #ifdef USE_CLUTTER_GST clutter_gst_init (&argc, &argv); #else clutter_init (&argc, &argv); #endif #ifdef USE_DAX dax_init (&argc, &argv); #endif /* select the cairo renderer if we have requested pdf output */ if (pp_output_filename && g_str_has_suffix (pp_output_filename, ".pdf")) { #ifdef HAVE_PDF renderer = pp_cairo_renderer (); /* makes more sense to default to a white "stage" colour in PDFs*/ default_point.stage_color = "white"; #else g_warning ("Pinpoint was built without PDF support"); return EXIT_FAILURE; #endif } if (!pinfile) pp_rehearse = FALSE; if (pinfile) { GFile *file; file = g_file_new_for_commandline_arg (pinfile); pp_basedir = g_file_get_parent (file); g_object_unref (file); } renderer->init (renderer, pinfile); pp_parse_slides (renderer, text); g_free (text); if (pp_rehearse) { pp_rehearse_init (); printf ("Running in rehearsal mode, press ctrl+C to abort without saving timings back to %s\n", pinfile); } renderer->run (renderer); renderer->finalize (renderer); if (renderer->source) g_free (renderer->source); #if 0 if (pp_rehearse) pp_rehearse_save (); #endif g_list_free (pp_slides); return 0; } /*********************/ /* * Cross-renderer helpers */ void pp_get_padding (float stage_width, float stage_height, float *padding) { *padding = stage_width * 0.01; } void pp_get_background_position_scale (PinPointPoint *point, float stage_width, float stage_height, float bg_width, float bg_height, float *bg_x, float *bg_y, float *bg_scale_x, float *bg_scale_y) { float w_scale = stage_width / bg_width; float h_scale = stage_height / bg_height; switch (point->bg_scale) { case PP_BG_FILL: *bg_scale_x = *bg_scale_y = (w_scale > h_scale) ? w_scale : h_scale; break; case PP_BG_FIT: *bg_scale_x = *bg_scale_y = (w_scale < h_scale) ? w_scale : h_scale; break; case PP_BG_UNSCALED: *bg_scale_x = *bg_scale_y = (w_scale < h_scale) ? w_scale : h_scale; if (*bg_scale_x > 1.0) *bg_scale_x = *bg_scale_y = 1.0; break; case PP_BG_STRETCH: *bg_scale_x = w_scale; *bg_scale_y = h_scale; break; } *bg_x = (stage_width - bg_width * *bg_scale_x) / 2; *bg_y = (stage_height - bg_height * *bg_scale_y) / 2; } void pp_get_text_position_scale (PinPointPoint *point, float stage_width, float stage_height, float text_width, float text_height, float *text_x, float *text_y, float *text_scale) { float w, h; float x, y; float sx = 1.0; float sy = 1.0; float padding; pp_get_padding (stage_width, stage_height, &padding); w = text_width; h = text_height; sx = stage_width / w * 0.8; sy = stage_height / h * 0.8; if (sy < sx) sx = sy; if (sx > 1.0) /* avoid enlarging text */ sx = 1.0; switch (point->position) { case CLUTTER_GRAVITY_EAST: case CLUTTER_GRAVITY_NORTH_EAST: case CLUTTER_GRAVITY_SOUTH_EAST: x = stage_width * 0.95 - w * sx; break; case CLUTTER_GRAVITY_WEST: case CLUTTER_GRAVITY_NORTH_WEST: case CLUTTER_GRAVITY_SOUTH_WEST: x = stage_width * 0.05; break; case CLUTTER_GRAVITY_CENTER: default: x = (stage_width - w * sx) / 2; break; } switch (point->position) { case CLUTTER_GRAVITY_SOUTH: case CLUTTER_GRAVITY_SOUTH_EAST: case CLUTTER_GRAVITY_SOUTH_WEST: y = stage_height * 0.95 - h * sx; break; case CLUTTER_GRAVITY_NORTH: case CLUTTER_GRAVITY_NORTH_EAST: case CLUTTER_GRAVITY_NORTH_WEST: y = stage_height * 0.05; break; default: y = (stage_height- h * sx) / 2; break; } *text_scale = sx; *text_x = x; *text_y = y; } void pp_get_shading_position_size (float stage_width, float stage_height, float text_x, float text_y, float text_width, float text_height, float text_scale, float *shading_x, float *shading_y, float *shading_width, float *shading_height) { float padding; pp_get_padding (stage_width, stage_height, &padding); *shading_x = text_x - padding; *shading_y = text_y - padding; *shading_width = text_width * text_scale + padding * 2; *shading_height = text_height * text_scale + padding * 2; } void pp_parse_slides (PinPointRenderer *renderer, const char *slide_src); /* * Parsing */ static void parse_resolution (PPResolution *r, const gchar *str) { if (sscanf (str, "%dx%d", &r->width, &r->height) != 2) r->width = r->height = 0; } static void parse_setting (PinPointPoint *point, const char *setting) { /* C Preprocessor macros implemeting a mini language for interpreting * pinpoint key=value pairs */ #define START_PARSER if (0) { #define DEFAULT } else { #define END_PARSER } #define IF_PREFIX(prefix) } else if (g_str_has_prefix (setting, prefix)) { #define IF_EQUAL(string) } else if (g_str_equal (setting, string)) { #define STRING g_intern_string (strchr (setting, '=') + 1) #define INT atoi (strchr (setting, '=') + 1) #define FLOAT g_ascii_strtod (strchr (setting, '=') + 1, NULL) #define RESOLUTION(r) parse_resolution (&r, strchr (setting, '=') + 1) #define ENUM(r,t,s) \ do { \ int _i; \ EnumDescription *_d = t##_desc; \ r = _d[0].value; \ for (_i = 0; _d[_i].name; _i++) \ if (g_strcmp0 (_d[_i].name, s) == 0) \ r = _d[_i].value; \ } while (0) START_PARSER IF_PREFIX("stage-color=") point->stage_color = STRING; IF_PREFIX("font=") point->font = STRING; IF_PREFIX("text-color=") point->text_color = STRING; IF_PREFIX("text-align=") ENUM(point->text_align, PPTextAlign, STRING); IF_PREFIX("shading-color=") point->shading_color = STRING; IF_PREFIX("shading-opacity=") point->shading_opacity = FLOAT; IF_PREFIX("duration=") point->duration = FLOAT; IF_PREFIX("command=") point->command = STRING; IF_PREFIX("transition=") point->transition = STRING; IF_PREFIX("camera-framerate=") point->camera_framerate = INT; IF_PREFIX("camera-resolution=") RESOLUTION (point->camera_resolution); IF_EQUAL("fill") point->bg_scale = PP_BG_FILL; IF_EQUAL("fit") point->bg_scale = PP_BG_FIT; IF_EQUAL("stretch") point->bg_scale = PP_BG_STRETCH; IF_EQUAL("unscaled") point->bg_scale = PP_BG_UNSCALED; IF_EQUAL("center") point->position = CLUTTER_GRAVITY_CENTER; IF_EQUAL("top") point->position = CLUTTER_GRAVITY_NORTH; IF_EQUAL("bottom") point->position = CLUTTER_GRAVITY_SOUTH; IF_EQUAL("left") point->position = CLUTTER_GRAVITY_WEST; IF_EQUAL("right") point->position = CLUTTER_GRAVITY_EAST; IF_EQUAL("top-left") point->position = CLUTTER_GRAVITY_NORTH_WEST; IF_EQUAL("top-right") point->position = CLUTTER_GRAVITY_NORTH_EAST; IF_EQUAL("bottom-left") point->position = CLUTTER_GRAVITY_SOUTH_WEST; IF_EQUAL("bottom-right") point->position = CLUTTER_GRAVITY_SOUTH_EAST; IF_EQUAL("no-markup") point->use_markup = FALSE; IF_EQUAL("markup") point->use_markup = TRUE; DEFAULT point->bg = g_intern_string (setting); END_PARSER /* undefine the overrides, returning us to regular C */ #undef START_PARSER #undef END_PARSER #undef DEFAULT #undef IF_PREFIX #undef IF_EQUAL #undef FLOAT #undef STRING #undef INT #undef ENUM #undef RESOLUTION } static void parse_config (PinPointPoint *point, const char *config) { GString *str = g_string_new (""); const char *p; for (p = config; *p; p++) { if (*p != '[') continue; p++; g_string_truncate (str, 0); while (*p && *p != ']' && *p != '\n') { g_string_append_c (str, *p); p++; } if (*p == ']') parse_setting (point, str->str); } g_string_free (str, TRUE); } static void pin_point_free (PinPointRenderer *renderer, PinPointPoint *point) { if (renderer->free_data) renderer->free_data (renderer, point->data); if (point->speaker_notes) { g_free (point->speaker_notes); } g_free (point); } static PinPointPoint * pin_point_new (PinPointRenderer *renderer) { PinPointPoint *point; point = g_new0 (PinPointPoint, 1); *point = default_point; if (renderer->allocate_data) point->data = renderer->allocate_data (renderer); return point; } static gboolean pp_is_color (const char *string) { ClutterColor color; return clutter_color_from_string (&color, string); } static gboolean str_has_video_suffix (const char *string) { char *video_extensions[] = {".avi", ".ogg", ".ogv", ".mpg", ".flv", ".mpeg", ".mov", ".mp4", ".wmv", ".webm", ".mkv", ".3gp", ".gif", NULL}; char **ext; for (ext = video_extensions; *ext; ext ++) if (g_str_has_suffix (string, *ext)) { return TRUE; } return FALSE; } static void serialize_slide_config (GString *str, PinPointPoint *point, PinPointPoint *reference, const char *separator) { #define STRING(v,n) \ if (point->v != reference->v) \ g_string_append_printf (str, "%s[" n "%s]", separator, point->v) #define INT(v,n) \ if (point->v != reference->v) \ g_string_append_printf (str, "%s[" n "%d]", separator, point->v) #define FLOAT(v,n) \ if (point->v != reference->v) \ g_string_append_printf (str, "%s[" n "%f]", separator, point->v) STRING(stage_color, "stage-color="); STRING(bg, ""); if (point->bg_scale != reference->bg_scale) { g_string_append (str, separator); switch (point->bg_scale) { case PP_BG_FILL: g_string_append (str, "[fill]"); break; case PP_BG_FIT: g_string_append (str, "[fit]"); break; case PP_BG_STRETCH: g_string_append (str, "[stretch]"); break; case PP_BG_UNSCALED: g_string_append (str, "[unscaled]"); break; } } if (point->text_align != reference->text_align) { g_string_append (str, separator); switch (point->text_align) { case PP_TEXT_LEFT: g_string_append (str, "[text-align=left]");break; case PP_TEXT_CENTER:g_string_append (str, "[text-align=center]");break; case PP_TEXT_RIGHT: g_string_append (str, "[text-align=right]");break; } } if (point->position != reference->position) { g_string_append (str, separator); switch (point->position) { case CLUTTER_GRAVITY_NONE: break; case CLUTTER_GRAVITY_CENTER: g_string_append (str, "[center]");break; case CLUTTER_GRAVITY_NORTH: g_string_append (str, "[top]");break; case CLUTTER_GRAVITY_SOUTH: g_string_append (str, "[bottom]");break; case CLUTTER_GRAVITY_WEST: g_string_append (str, "[left]");break; case CLUTTER_GRAVITY_EAST: g_string_append (str, "[right]");break; case CLUTTER_GRAVITY_NORTH_WEST: g_string_append (str, "[top-left]");break; case CLUTTER_GRAVITY_NORTH_EAST: g_string_append (str, "[top-right]");break; case CLUTTER_GRAVITY_SOUTH_WEST: g_string_append (str, "[bottom-left]");break; case CLUTTER_GRAVITY_SOUTH_EAST: g_string_append (str, "[bottom-right]");break; } } STRING(font,"font="); STRING(text_color,"text-color="); STRING(shading_color,"shading-color="); FLOAT(shading_opacity, "shading-opacity="); STRING(transition,"transition="); STRING(command,"command="); if (point->duration != 0.0) FLOAT(duration, "duration="); /* XXX: probably needs special treatment */ INT(camera_framerate, "camera-framerate="); if (point->camera_resolution.width != reference->camera_resolution.width && point->camera_resolution.height != reference->camera_resolution.height) { g_string_append_printf (str, "[camera-resolution=%dx%d]", point->camera_resolution.width, point->camera_resolution.height); } if (point->use_markup != reference->use_markup) { g_string_append (str, separator); if (point->use_markup) g_string_append (str, "[markup]"); else g_string_append (str, "[no-markup]"); } #undef FLOAT #undef INT #undef STRING } static void serialize_slide (GString *str, PinPointPoint *point) { g_string_append_c (str, '\n'); g_string_append (str, "--"); serialize_slide_config (str, point, &default_point, " "); g_string_append (str, "\n"); g_string_append_printf (str, "%s\n", point->text); if (point->speaker_notes) { char *p; g_string_append_c (str, '#'); for (p = point->speaker_notes; *p; p++) { if (*p == '\n') { g_string_append_c (str, '\n'); if (*(p+1)) g_string_append_c (str, '#'); } else { g_string_append_c (str, *p); } } } } static char * pp_serialize (void) { GString *str = g_string_new ("#!/usr/bin/env pinpoint\n"); char *ret; GList *iter; serialize_slide_config (str, &default_point, &pin_default_point, "\n"); for (iter = pp_slides; iter; iter = iter->next) { serialize_slide (str, iter->data); } ret = str->str; g_string_free (str, FALSE); return ret; } void pp_parse_slides (PinPointRenderer *renderer, const char *slide_src) { const char *p; int slideno = 0; gboolean done = FALSE; gboolean startofline = TRUE; gboolean gotconfig = FALSE; GString *slide_str = g_string_new (""); GString *setting_str = g_string_new (""); GString *notes_str = g_string_new (""); GList *s; PinPointPoint *point, *next_point; if (renderer->source) { gboolean start_of_line = TRUE; int pos; int lineno=0; /* compute slide no that has changed */ for (pos = 0, slideno = 0; slide_src[pos] && renderer->source[pos] && slide_src[pos]==renderer->source[pos] ; pos ++) { switch (slide_src[pos]) { case '\n': start_of_line = TRUE; lineno++; break; case '-': if (start_of_line) slideno++; default: start_of_line = FALSE; } } slideno-=1; g_free (renderer->source); } renderer->source = g_strdup (slide_src); for (s = pp_slides; s; s = s->next) pin_point_free (renderer, s->data); g_list_free (pp_slides); pp_slides = NULL; point = pin_point_new (renderer); /* parse the slides, constructing lists of slide/point objects */ for (p = slide_src; *p; p++) { switch (*p) { case '\\': /* escape the next char */ p++; startofline = FALSE; if (*p) g_string_append_c (slide_str, *p); break; case '\n': startofline = TRUE; g_string_append_c (slide_str, *p); break; case '-': /* slide seperator */ close_last_slide: if (startofline) { startofline = FALSE; next_point = pin_point_new (renderer); g_string_assign (setting_str, ""); while (*p && *p!='\n') /* until newline */ { g_string_append_c (setting_str, *p); p++; } parse_config (next_point, setting_str->str); if (!gotconfig) { parse_config (&default_point, slide_str->str); /* copy the default point except the per-slide allocated * data (void *) */ memcpy (point, &default_point, sizeof (PinPointPoint) - sizeof (void *)); parse_config (point, setting_str->str); gotconfig = TRUE; g_string_assign (slide_str, ""); g_string_assign (setting_str, ""); g_string_assign (notes_str, ""); } else { if (point->bg && point->bg[0]) { char *filename = g_strdup (point->bg); int i = 0; while (filename[i]) { filename[i] = tolower(filename[i]); i++; } if (strcmp (filename, "camera") == 0) point->bg_type = PP_BG_CAMERA; else if (str_has_video_suffix (filename)) point->bg_type = PP_BG_VIDEO; else if (g_str_has_suffix (filename, ".svg")) point->bg_type = PP_BG_SVG; else if (pp_is_color (point->bg)) point->bg_type = PP_BG_COLOR; else point->bg_type = PP_BG_IMAGE; g_free (filename); } { char *str = slide_str->str; /* trim newlines from start and end. ' ' can be used in the * insane case that you actually want blank lines before or * after the text of a slide */ while (*str == '\n') str++; while ( slide_str->str[strlen(slide_str->str)-1]=='\n') slide_str->str[strlen(slide_str->str)-1]='\0'; point->text = g_intern_string (str); } if (notes_str->str[0]) point->speaker_notes = g_strdup (notes_str->str); renderer->make_point (renderer, point); g_string_assign (slide_str, ""); g_string_assign (setting_str, ""); g_string_assign (notes_str, ""); pp_slides = g_list_append (pp_slides, point); point = next_point; } } else { g_string_append_c (slide_str, *p); } break; case '#': /* comment */ if (startofline) { const char *end = p + 1; while (*end != '\n' && *end != '\0') { g_string_append_c (notes_str, *end); end++; } if (end) { g_string_append_c (notes_str, '\n'); p = end; break; } } /* flow through */ default: startofline = FALSE; g_string_append_c (slide_str, *p); break; } } if (!done) { done = TRUE; goto close_last_slide; } g_string_free (slide_str, TRUE); g_string_free (setting_str, TRUE); g_string_free (notes_str, TRUE); if (g_list_nth (pp_slides, slideno)) pp_slidep = g_list_nth (pp_slides, slideno); else pp_slidep = pp_slides; } pinpoint-0.1.5~20120318/pinpoint.doap000066400000000000000000000023571173123050100171010ustar00rootroot00000000000000 pinpoint pinpoint A tool for making hackers do excellent presentations Pinpoint is a text file driven presentation tool aiming to make presentations be excellent; striving to reduce death by bullet point. And to keep peoples interest in what is actually being presented. C Øyvind Kolås ok pinpoint-0.1.5~20120318/pinpoint.h000066400000000000000000000127251173123050100164050ustar00rootroot00000000000000/* * Pinpoint: A small-ish presentation tool * * Copyright (C) 2010 Intel Corporation * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of the * License, or (at your option0 any later version. * * This program is distributed in the hope it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for * more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . * * Written by: Øyvind Kolås * Damien Lespiau * Emmanuele Bassi */ #ifndef __PINPOINT_H__ #define __PINPOINT_H__ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include typedef struct _PinPointPoint PinPointPoint; typedef struct _PinPointRenderer PinPointRenderer; typedef enum { PP_TEXT_LEFT = PANGO_ALIGN_LEFT, PP_TEXT_CENTER = PANGO_ALIGN_CENTER, PP_TEXT_RIGHT = PANGO_ALIGN_RIGHT } PPTextAlign; typedef enum { PP_BG_NONE, PP_BG_COLOR, PP_BG_IMAGE, PP_BG_VIDEO, PP_BG_CAMERA, PP_BG_SVG } PPBackgroundType; typedef enum { PP_BG_UNSCALED, PP_BG_FIT, /* default value */ PP_BG_FILL, PP_BG_STRETCH } PPBackgroundScale; typedef struct { gint width, height; } PPResolution; #define PINPOINT_RENDERER(renderer) ((PinPointRenderer *) renderer) struct _PinPointRenderer { void (*init) (PinPointRenderer *renderer, char *pinpoint_file); void (*run) (PinPointRenderer *renderer); void (*finalize) (PinPointRenderer *renderer); gboolean (*make_point) (PinPointRenderer *renderer, PinPointPoint *point); void * (*allocate_data) (PinPointRenderer *renderer); void (*free_data) (PinPointRenderer *renderer, void *datap); char * source; }; struct _PinPointPoint { const char *stage_color; const gchar *bg; PPBackgroundType bg_type; PPBackgroundScale bg_scale; const char *text; /* the text of the slide */ ClutterGravity position; const char *font; PPTextAlign text_align; const char *text_color; gboolean use_markup; gfloat duration; /* on slide 0 the duration is the duration of the presentation, other slides have a representation of their portion of the presentation */ gfloat new_duration; /* new duration,. used during reharsal */ char *speaker_notes; /* speaker comments for the slide */ const char *shading_color; float shading_opacity; const char *transition; /* transition template to use, if any */ const char *command; gint camera_framerate; PPResolution camera_resolution; void *data; /* the renderer can attach data here */ }; extern char *pp_output_filename; extern gboolean pp_fullscreen; extern gboolean pp_maximized; extern gboolean pp_speakermode; extern gboolean pp_rehearse; extern char *pp_camera_device; extern GList *pp_slides; /* list of slide text */ extern GList *pp_slidep; /* current slide */ extern GFile *pp_basedir; extern PinPointPoint *point_defaults; void pp_parse_slides (PinPointRenderer *renderer, const char *slide_src); void pp_get_padding (float stage_width, float stage_height, float *padding); void pp_rehearse_init (void); void pp_rehearse_done (void); void pp_get_background_position_scale (PinPointPoint *point, float stage_width, float stage_height, float bg_width, float bg_height, float *bg_x, float *bg_y, float *bg_scale_x, float *bg_scale_y); void pp_get_text_position_scale (PinPointPoint *point, float stage_width, float stage_height, float text_width, float text_height, float *text_x, float *text_y, float *text_scale); void pp_get_shading_position_size (float stage_width, float stage_height, float text_x, float text_y, float text_width, float text_height, float text_scale, float *shading_x, float *shading_y, float *shading_width, float *shading_height); #endif pinpoint-0.1.5~20120318/pp-cairo.c000066400000000000000000000456051173123050100162550ustar00rootroot00000000000000/* * Pinpoint: A small-ish presentation tool * * Copyright (C) 2010 Intel Corporation * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of the * License, or (at your option0 any later version. * * This program is distributed in the hope it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for * more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . * * Written by: Øyvind Kolås * Damien Lespiau * Emmanuele Bassi */ #include "pinpoint.h" #ifdef HAVE_PDF #include #include #include #include #include #ifdef HAVE_RSVG #include #include #endif #include "gst-video-thumbnailer.h" #define CAIRO_RENDERER(renderer) ((CairoRenderer *) renderer) typedef struct _CairoRenderer { PinPointRenderer renderer; char *path; GHashTable *surfaces; /* keep cairo_surface_t around for source images as we want to only include one instance of the image when using it in several slides */ GHashTable *svgs; /* keep RsvgHandles around for source svg backgrounds as we want to only include one instance of the image when using it in several slides */ cairo_surface_t *surface; cairo_t *ctx; double width; double height; } CairoRenderer; typedef struct { } CairoPointData; static void _destroy_surface (gpointer data) { cairo_surface_t *surface = data; cairo_surface_destroy (surface); } #define A4_LS_WIDTH 841.88976378 #define A4_LS_HEIGHT 595.275590551 #define A4_MARGIN A4_LS_WIDTH * .05 static void cairo_renderer_init (PinPointRenderer *pp_renderer, char *pinpoint_file) { CairoRenderer *renderer = CAIRO_RENDERER (pp_renderer); /* A4, landscape */ renderer->width = A4_LS_WIDTH; renderer->height = A4_LS_HEIGHT; renderer->surface = cairo_pdf_surface_create (pp_output_filename, renderer->width, renderer->height); renderer->path = g_strdup (pinpoint_file); renderer->ctx = cairo_create (renderer->surface); renderer->surfaces = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, _destroy_surface); renderer->svgs = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); } /* This function is adapted from Gtk's gdk_cairo_set_source_pixbuf() you can * find in gdk/gdkcairo.c. * Copyright (C) Red Had, Inc. * LGPLv2+ */ static cairo_surface_t * _cairo_new_surface_from_pixbuf (const GdkPixbuf *pixbuf) { int width = gdk_pixbuf_get_width (pixbuf); int height = gdk_pixbuf_get_height (pixbuf); guchar *gdk_pixels = gdk_pixbuf_get_pixels (pixbuf); int gdk_rowstride = gdk_pixbuf_get_rowstride (pixbuf); int n_channels = gdk_pixbuf_get_n_channels (pixbuf); int cairo_stride; guchar *cairo_pixels; cairo_format_t format; cairo_surface_t *surface; static const cairo_user_data_key_t key; int j; if (n_channels == 3) format = CAIRO_FORMAT_RGB24; else format = CAIRO_FORMAT_ARGB32; cairo_stride = cairo_format_stride_for_width (format, width); cairo_pixels = g_malloc (height * cairo_stride); surface = cairo_image_surface_create_for_data ((unsigned char *)cairo_pixels, format, width, height, cairo_stride); cairo_surface_set_user_data (surface, &key, cairo_pixels, (cairo_destroy_func_t)g_free); for (j = height; j; j--) { guchar *p = gdk_pixels; guchar *q = cairo_pixels; if (n_channels == 3) { guchar *end = p + 3 * width; while (p < end) { #if G_BYTE_ORDER == G_LITTLE_ENDIAN q[0] = p[2]; q[1] = p[1]; q[2] = p[0]; #else q[1] = p[0]; q[2] = p[1]; q[3] = p[2]; #endif p += 3; q += 4; } } else { guchar *end = p + 4 * width; guint t1,t2,t3; #define MULT(d,c,a,t) G_STMT_START { t = c * a + 0x7f; d = ((t >> 8) + t) >> 8; } G_STMT_END while (p < end) { #if G_BYTE_ORDER == G_LITTLE_ENDIAN MULT(q[0], p[2], p[3], t1); MULT(q[1], p[1], p[3], t2); MULT(q[2], p[0], p[3], t3); q[3] = p[3]; #else q[0] = p[3]; MULT(q[1], p[0], p[3], t1); MULT(q[2], p[1], p[3], t2); MULT(q[3], p[2], p[3], t3); #endif p += 4; q += 4; } #undef MULT } gdk_pixels += gdk_rowstride; cairo_pixels += cairo_stride; } return surface; } static gboolean _cairo_read_file (const char *file, unsigned char **data, unsigned int *len) { FILE *fp; fp = fopen (file, "rb"); if (fp == NULL) return FALSE; fseek (fp, 0, SEEK_END); *len = ftell(fp); fseek (fp, 0, SEEK_SET); *data = g_malloc (*len); if (fread(*data, *len, 1, fp) != 1) return FALSE; fclose(fp); return TRUE; } static cairo_surface_t * _cairo_get_surface (CairoRenderer *renderer, const char *file) { cairo_surface_t *surface; GdkPixbuf *pixbuf; GError *error = NULL; surface = g_hash_table_lookup (renderer->surfaces, file); if (surface) return surface; pixbuf = gdk_pixbuf_new_from_file (file, &error); if (pixbuf == NULL) { if (error) { g_warning ("could not load file %s: %s", file, error->message); g_clear_error (&error); } return NULL; } surface = _cairo_new_surface_from_pixbuf (pixbuf); g_hash_table_insert (renderer->surfaces, g_strdup (file), surface); /* If we embed a JPEG, we can actually insert the coded data into the PDF in * a lossless fashion (no recompression of the JPEG) */ if (g_str_has_suffix (file, ".jpg") || g_str_has_suffix (file, ".jpeg")) { unsigned char *data = NULL; guint len = 0; _cairo_read_file (file, &data, &len); cairo_surface_set_mime_data (surface, CAIRO_MIME_TYPE_JPEG, data, len, g_free, data); } return surface; } #ifdef HAVE_RSVG static RsvgHandle * _cairo_get_svg (CairoRenderer *renderer, const char *file) { RsvgHandle *svg; GError *error = NULL; svg = g_hash_table_lookup (renderer->svgs, file); if (svg) return svg; svg = rsvg_handle_new_from_file (file, &error); if (svg == NULL) { if (error) { g_warning ("could not load file %s: %s", file, error->message); g_clear_error (&error); } return NULL; } g_hash_table_insert (renderer->svgs, (char *) file, svg); return svg; } #endif /* HAVE_RSVG */ static void _cairo_render_background (CairoRenderer *renderer, PinPointPoint *point) { char *full_path = NULL; const char *file; if (point == NULL || point->bg == NULL) return; file = point->bg; if (point->bg_type != PP_BG_COLOR && renderer->path && file) { char *dir = g_path_get_dirname (renderer->path); full_path = g_build_filename (dir, file, NULL); g_free (dir); file = full_path; } if (point->stage_color) { ClutterColor color; clutter_color_from_string (&color, point->stage_color); cairo_set_source_rgba (renderer->ctx, color.red / 255.f, color.green / 255.f, color.blue / 255.f, color.alpha / 255.f); cairo_paint (renderer->ctx); } switch (point->bg_type) { case PP_BG_COLOR: { ClutterColor color; clutter_color_from_string (&color, point->bg); cairo_set_source_rgba (renderer->ctx, color.red / 255.f, color.green / 255.f, color.blue / 255.f, color.alpha / 255.f); cairo_paint (renderer->ctx); } break; case PP_BG_IMAGE: { cairo_surface_t *surface; float bg_x, bg_y, bg_width, bg_height, bg_scale_x, bg_scale_y; surface = _cairo_get_surface (renderer, file); if (surface == NULL) break; bg_width = cairo_image_surface_get_width (surface); bg_height = cairo_image_surface_get_height (surface); pp_get_background_position_scale (point, renderer->width, renderer->height, bg_width, bg_height, &bg_x, &bg_y, &bg_scale_x, &bg_scale_y); cairo_save (renderer->ctx); cairo_translate (renderer->ctx, bg_x, bg_y); cairo_scale (renderer->ctx, bg_scale_x, bg_scale_y); cairo_set_source_surface (renderer->ctx, surface, 0., 0.); cairo_paint (renderer->ctx); cairo_restore (renderer->ctx); } break; case PP_BG_VIDEO: { #ifdef USE_CLUTTER_GST GdkPixbuf *pixbuf; cairo_surface_t *surface; float bg_x, bg_y, bg_width, bg_height, bg_scale_x, bg_scale_y; GCancellable* cancellable = g_cancellable_new (); GFile *abs_file; gchar *abs_path; abs_file = g_file_resolve_relative_path (pp_basedir, point->bg); abs_path = g_file_get_path (abs_file); g_object_unref (abs_file); pixbuf = gst_video_thumbnailer_get_shot (abs_path, cancellable); g_free (abs_path); if (pixbuf == NULL) { g_warning ("Could not create video thumbmail for %s", point->bg); break; } surface = _cairo_new_surface_from_pixbuf (pixbuf); g_hash_table_insert (renderer->surfaces, g_strdup (file), surface); bg_width = cairo_image_surface_get_width (surface); bg_height = cairo_image_surface_get_height (surface); pp_get_background_position_scale (point, renderer->width, A4_LS_HEIGHT, bg_width, bg_height, &bg_x, &bg_y, &bg_scale_x, &bg_scale_y); cairo_save (renderer->ctx); cairo_translate (renderer->ctx, bg_x, bg_y); cairo_scale (renderer->ctx, bg_scale_x, bg_scale_y); cairo_set_source_surface (renderer->ctx, surface, 0., 0.); cairo_paint (renderer->ctx); cairo_restore (renderer->ctx); #endif break; } case PP_BG_SVG: #ifdef HAVE_RSVG { RsvgHandle *svg = _cairo_get_svg (renderer, file); RsvgDimensionData dim; float bg_x, bg_y, bg_scale_x, bg_scale_y; if (svg == NULL) break; rsvg_handle_get_dimensions (svg, &dim); pp_get_background_position_scale (point, renderer->width, renderer->height, dim.width, dim.height, &bg_x, &bg_y, &bg_scale_x, &bg_scale_y); cairo_save (renderer->ctx); cairo_translate (renderer->ctx, bg_x, bg_y); cairo_scale (renderer->ctx, bg_scale_x, bg_scale_y); rsvg_handle_render_cairo (svg, renderer->ctx); cairo_restore (renderer->ctx); } #endif break; case PP_BG_CAMERA: /* silently ignore camera backgrounds */ break; default: g_assert_not_reached(); } g_free (full_path); } static void _cairo_render_text (CairoRenderer *renderer, PinPointPoint *point) { PangoLayout *layout; PangoFontDescription *desc; PangoRectangle logical_rect = { 0, }; ClutterColor text_color, shading_color; float text_x, text_y, text_width, text_height, text_scale; float shading_x, shading_y, shading_width, shading_height; if (point == NULL) return; layout = pango_cairo_create_layout (renderer->ctx); desc = pango_font_description_from_string (point->font); pango_layout_set_font_description (layout, desc); if (point->use_markup) pango_layout_set_markup (layout, point->text, -1); else pango_layout_set_text (layout, point->text, -1); pango_layout_set_alignment (layout, point->text_align); pango_layout_get_extents (layout, NULL, &logical_rect); text_width = (logical_rect.x + logical_rect.width) / 1024; text_height = (logical_rect.y + logical_rect.height) / 1024; if (text_width < 1) goto out; pp_get_text_position_scale (point, renderer->width, renderer->height, text_width, text_height, &text_x, &text_y, &text_scale); pp_get_shading_position_size (renderer->height, renderer->width, /* XXX: is this right order?? */ text_x, text_y, text_width, text_height, text_scale, &shading_x, &shading_y, &shading_width, &shading_height); clutter_color_from_string (&text_color, point->text_color); clutter_color_from_string (&shading_color, point->shading_color); cairo_set_source_rgba (renderer->ctx, shading_color.red / 255.f, shading_color.green / 255.f, shading_color.blue / 255.f, shading_color.alpha / 255.f * point->shading_opacity); cairo_rectangle (renderer->ctx, shading_x, shading_y, shading_width, shading_height); cairo_fill (renderer->ctx); cairo_save (renderer->ctx); cairo_translate (renderer->ctx, text_x, text_y); cairo_scale (renderer->ctx, text_scale, text_scale); cairo_set_source_rgba (renderer->ctx, text_color.red / 255.f, text_color.green / 255.f, text_color.blue / 255.f, text_color.alpha / 255.f); pango_cairo_show_layout (renderer->ctx, layout); cairo_restore (renderer->ctx); out: pango_font_description_free (desc); g_object_unref (layout); } void cairo_renderer_render_page (CairoRenderer *renderer, PinPointPoint *point) { _cairo_render_background (renderer, point); _cairo_render_text (renderer, point); cairo_show_page (renderer->ctx); } static void _cairo_render_notes (CairoRenderer *renderer, PinPointPoint *point) { PangoLayout *layout; PangoFontDescription *desc; if (point == NULL) return; layout = pango_cairo_create_layout (renderer->ctx); pango_layout_set_text (layout, point->speaker_notes, -1); desc = pango_font_description_from_string ("Sans"); pango_layout_set_font_description (layout, desc); pango_layout_set_alignment (layout, PANGO_ALIGN_LEFT); cairo_save (renderer->ctx); cairo_translate (renderer->ctx, A4_MARGIN, A4_MARGIN); cairo_set_source_rgba (renderer->ctx, 0., 0., 0., 1); pango_cairo_show_layout (renderer->ctx, layout); cairo_restore (renderer->ctx); pango_font_description_free (desc); g_object_unref (layout); } static void cairo_render_speaker_notes (CairoRenderer *renderer, PinPointPoint *point) { _cairo_render_notes (renderer, point); cairo_show_page (renderer->ctx); } static void cairo_renderer_run (PinPointRenderer *pp_renderer) { CairoRenderer *renderer = CAIRO_RENDERER (pp_renderer); GList *cur; for (cur = pp_slides; cur; cur = g_list_next (cur)) { PinPointPoint *point = cur->data; cairo_renderer_render_page (renderer, point); if (point->speaker_notes) cairo_render_speaker_notes (renderer, point); } } static void cairo_renderer_finalize (PinPointRenderer *pp_renderer) { CairoRenderer *renderer = CAIRO_RENDERER (pp_renderer); g_free (renderer->path); if (renderer->surface) cairo_surface_destroy (renderer->surface); g_hash_table_unref (renderer->surfaces); g_hash_table_unref (renderer->svgs); if (renderer->ctx) cairo_destroy (renderer->ctx); } static gboolean cairo_renderer_make_point (PinPointRenderer *pp_renderer, PinPointPoint *point) { gboolean ret = TRUE; if (point->bg_type == PP_BG_COLOR) { ClutterColor color; ret = clutter_color_from_string (&color, point->bg); /* this roughly checks that the color is valid? */ } return ret; } void cairo_renderer_unset_cr (PinPointRenderer *pp_renderer) { CairoRenderer *renderer = CAIRO_RENDERER (pp_renderer); renderer->ctx = NULL; } void cairo_renderer_set_cr (PinPointRenderer *pp_renderer, cairo_t *ctx, float width, float height) { CairoRenderer *renderer = CAIRO_RENDERER (pp_renderer); if (renderer->ctx) { if (renderer->surface) { cairo_surface_destroy (renderer->surface); renderer->surface = NULL; } cairo_destroy (renderer->ctx); renderer->ctx = NULL; } renderer->ctx = ctx; renderer->width = width; renderer->height = height; } static void * cairo_renderer_allocate_data (PinPointRenderer *renderer) { return NULL; } static void cairo_renderer_free_data (PinPointRenderer *renderer, void *datap) { } static CairoRenderer cairo_renderer_vtable = { .renderer = { .init = cairo_renderer_init, .run = cairo_renderer_run, .finalize = cairo_renderer_finalize, .make_point = cairo_renderer_make_point, .allocate_data = cairo_renderer_allocate_data, .free_data = cairo_renderer_free_data } }; PinPointRenderer *pp_cairo_renderer (void) { return (void*)&cairo_renderer_vtable; } #endif /* HAVE_PDF */ pinpoint-0.1.5~20120318/pp-clutter.c000066400000000000000000002251221173123050100166340ustar00rootroot00000000000000/* * Pinpoint: A small-ish presentation tool * * Copyright (C) 2010 Intel Corporation * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of the * License, or (at your option0 any later version. * * This program is distributed in the hope it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for * more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . * * Written by: Øyvind Kolås * Damien Lespiau * Emmanuele Bassi */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "pinpoint.h" #if HAVE_CLUTTER_X11 #include #endif #include #ifdef USE_CLUTTER_GST #include #endif #ifdef USE_DAX #include #include "pp-super-aa.h" #endif #include #include void cairo_renderer_unset_cr (PinPointRenderer *pp_renderer); void cairo_renderer_set_cr (PinPointRenderer *pp_renderer, cairo_t *ctx, float width, float height); void cairo_renderer_render_page (void *renderer, PinPointPoint *point); /* #define QUICK_ACCESS_LEFT - uncomment to move speed access from top to left, * useful on meego netbook */ #define RESTDEPTH -9000.0 #define RESTX 4600.0 #define STARTPOS -3000.0 /* The maximum of these is used, either 80% of the slide time or 20seconds left of the slide */ #define SLIDE_WARN_TIME 2.0 #define SLIDE_WARN_THRESHOLD 0.33 #define OPACITY_OK 0 #define OPACITY_PAST_THRESHOLD 96 #define OPACITY_OVER_TIME 140 #define PREVIEW_WIDTH 640 #define PREVIEW_HEIGHT 480 static ClutterColor c_prog_bg = {0x11,0x11,0x11,0xff}; static ClutterColor c_prog_slide = {0xff,0xff,0xff,0x77}; static ClutterColor c_prog_time = {0xff,0xff,0xff,0x55}; static ClutterColor black = {0x00,0x00,0x00,0xff}; static ClutterColor white = {0xff,0xff,0xff,0xff}; static ClutterColor red = {0xff,0x00,0x00,0xff}; #ifdef HAVE_PDF PinPointRenderer *pp_cairo_renderer (void); #endif typedef enum _PPClutterBackend { PP_CLUTTER_BACKEND_X11, PP_CLUTTER_BACKEND_UNKNOWN } PPClutterBackend; typedef struct _ClutterRenderer { PinPointRenderer renderer; GHashTable *bg_cache; /* only load the same backgrounds once */ ClutterActor *stage; ClutterActor *root; ClutterActor *background; ClutterActor *midground; ClutterActor *shading; ClutterActor *foreground; ClutterActor *json_layer; ClutterActor *curtain; ClutterActor *commandline; ClutterActor *commandline_shading; GTimer *timer; gboolean timer_paused; int total_seconds; gboolean autoadvance; gboolean speaker_mode; ClutterActor *speaker_screen; gdouble slide_start_time; ClutterActor *speaker_buttons_group; ClutterActor *speaker_speakerscreen; ClutterActor *speaker_rehearse; ClutterActor *speaker_autoadvance; ClutterActor *speaker_start; ClutterActor *speaker_pause; ClutterActor *speaker_fullscreen; ClutterActor *speaker_notes; ClutterActor *speaker_prev; ClutterActor *speaker_current; ClutterActor *speaker_next; ClutterActor *speaker_slide_prog_warning; ClutterActor *speaker_prog_bg; ClutterActor *speaker_prog_slide; ClutterActor *speaker_prog_time; ClutterActor *speaker_time_remaining; char *path; /* path of the file of the GFileMonitor callback */ float rest_y; /* where the text can rest */ gboolean reset; /* tells the speaker screen update function to reset all state */ PinPointRenderer *cairo_renderer; /* Proxy object for the Gnome Session Manager; used to inhibit suspend during * presentations. */ GDBusProxy *gsm; /* Token returned by the Inhibit() method; passed to Uninhibit() when we * leave fullscreen to tell GSM it's free to turn the screen off now. */ guint32 inhibit_cookie; PPClutterBackend clutter_backend; } ClutterRenderer; typedef struct { PinPointRenderer *renderer; ClutterActor *background; ClutterActor *text; float rest_y; /* y coordinate when text is stationary unused */ ClutterState *state; ClutterActor *json_slide; ClutterActor *background2; ClutterScript *script; ClutterActor *midground; ClutterActor *foreground; ClutterActor *shading; #ifdef USE_CLUTTER_GST GstElement *pipeline; /* used for the custom camera pipeline */ #endif } ClutterPointData; #define CLUTTER_RENDERER(renderer) ((ClutterRenderer *) renderer) static void leave_slide (ClutterRenderer *renderer, gboolean backwards); static void show_slide (ClutterRenderer *renderer, gboolean backwards); static void action_slide (ClutterRenderer *renderer); static void activate_commandline (ClutterRenderer *renderer); static void file_changed (GFileMonitor *monitor, GFile *file, GFile *other_file, GFileMonitorEvent event_type, ClutterRenderer *renderer); static void stage_resized (ClutterActor *actor, GParamSpec *pspec, ClutterRenderer *renderer); static gboolean key_pressed (ClutterActor *actor, ClutterEvent *event, ClutterRenderer *renderer); static gboolean mouse_clicked (ClutterActor *actor, ClutterEvent *event, ClutterRenderer *renderer); static void pp_clutter_render_adjust_background (ClutterRenderer *renderer, PinPointPoint *point) { float bg_x, bg_y, bg_width, bg_height, bg_scale_x, bg_scale_y; ClutterPointData *data = point->data; if (!data) return; if (CLUTTER_IS_RECTANGLE (data->background)) { clutter_actor_get_size (renderer->stage, &bg_width, &bg_height); clutter_actor_set_size (data->background, bg_width, bg_height); } else { clutter_actor_get_size (data->background, &bg_width, &bg_height); } pp_get_background_position_scale (point, clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage), bg_width, bg_height, &bg_x, &bg_y, &bg_scale_x, &bg_scale_y); clutter_actor_set_scale (data->background, bg_scale_x, bg_scale_y); clutter_actor_set_position (data->background, bg_x, bg_y); } #ifdef HAVE_CLUTTER_X11 static void pp_set_fullscreen_x11 (ClutterStage *stage, gboolean fullscreen) { static gboolean is_fullscreen = FALSE; static float old_width=640, old_height=480; struct { unsigned long flags; unsigned long functions; unsigned long decorations; long inputMode; unsigned long status; } MWMHints = { 2, 0, 0, 0, 0}; Display *xdisplay = clutter_x11_get_default_display (); int xscreen = clutter_x11_get_default_screen (); Atom wm_hints = XInternAtom(xdisplay, "_MOTIF_WM_HINTS", True); Window xwindow = clutter_x11_get_stage_window (stage); if (!pp_maximized) return clutter_stage_set_fullscreen (stage, fullscreen); pp_fullscreen = fullscreen; if (is_fullscreen == fullscreen) return; is_fullscreen = fullscreen; if (fullscreen) { int full_width = DisplayWidth (xdisplay, xscreen); int full_height = DisplayHeight (xdisplay, xscreen)+5; /* avoid being detected as fullscreen, workaround for some windowmanagers */ clutter_actor_get_size (CLUTTER_ACTOR (stage), &old_width, &old_height); if (wm_hints != None) XChangeProperty (xdisplay, xwindow, wm_hints, wm_hints, 32, PropModeReplace, (guchar*)&MWMHints, sizeof(MWMHints)/sizeof(long)); clutter_actor_set_size (CLUTTER_ACTOR (stage), full_width, full_height); XMoveResizeWindow (xdisplay, xwindow, 0, 0, full_width, full_height); } else { MWMHints.decorations = 7; if (wm_hints != None ) XChangeProperty (xdisplay, xwindow, wm_hints, wm_hints, 32, PropModeReplace, (guchar*)&MWMHints, sizeof(MWMHints)/sizeof(long)); clutter_stage_set_fullscreen (stage, FALSE); clutter_actor_set_size (CLUTTER_ACTOR (stage), old_width, old_height); } } static gboolean pp_get_fullscreen_x11 (ClutterStage *stage) { if (!pp_maximized) return clutter_stage_get_fullscreen (stage); return pp_fullscreen; } #endif static void pp_set_fullscreen (ClutterRenderer *renderer, ClutterStage *stage, gboolean fullscreen) { switch (renderer->clutter_backend) { #ifdef HAVE_CLUTTER_X11 case PP_CLUTTER_BACKEND_X11: pp_set_fullscreen_x11 (stage, fullscreen); break; #endif default: clutter_stage_set_fullscreen (stage, fullscreen); break; } } static gboolean pp_get_fullscreen (ClutterRenderer *renderer, ClutterStage *stage) { switch (renderer->clutter_backend) { #ifdef HAVE_CLUTTER_X11 case PP_CLUTTER_BACKEND_X11: return pp_get_fullscreen_x11 (stage); #endif default: return clutter_stage_get_fullscreen (stage); } } static void _destroy_surface (gpointer data) { /* not destroying background, since it would be destroyed with * the stage itself. */ } static guint hide_cursor = 0; static gboolean hide_cursor_cb (gpointer stage) { hide_cursor = 0; clutter_stage_hide_cursor (stage); return FALSE; } static void update_commandline_shading (ClutterRenderer *renderer); static void activate_commandline (ClutterRenderer *renderer) { PinPointPoint *point; if (!pp_slidep) return; point = pp_slidep->data; clutter_actor_animate (renderer->commandline, CLUTTER_LINEAR, 500, "opacity", 0xff, NULL); clutter_actor_animate (renderer->commandline_shading, CLUTTER_LINEAR, 100, "opacity", (int)(point->shading_opacity*0xff*0.33), NULL); g_object_set (renderer->commandline, "editable", TRUE, "single-line-mode", TRUE, "activatable", TRUE, NULL); clutter_actor_grab_key_focus (renderer->commandline); } static gboolean commandline_cancel_cb (ClutterActor *actor, ClutterEvent *event, gpointer data) { ClutterRenderer *renderer = CLUTTER_RENDERER (data); PinPointPoint *point = pp_slidep->data; if (clutter_event_type (event) == CLUTTER_KEY_PRESS && (clutter_event_get_key_symbol (event) == CLUTTER_Escape || clutter_event_get_key_symbol (event) == CLUTTER_Tab)) { clutter_actor_grab_key_focus (renderer->stage); clutter_actor_animate (renderer->commandline, CLUTTER_LINEAR, 500, "opacity", (int)(0xff*0.33), NULL); g_object_set (renderer->commandline, "editable", FALSE, NULL); clutter_actor_animate (renderer->commandline_shading, CLUTTER_LINEAR, 500, "opacity", (int)(point->shading_opacity*0xff*0.33), NULL); return TRUE; } update_commandline_shading (renderer); return FALSE; } static gboolean commandline_action_cb (ClutterActor *actor, gpointer data) { ClutterRenderer *renderer = CLUTTER_RENDERER (data); PinPointPoint *point = pp_slidep->data; clutter_actor_grab_key_focus (renderer->stage); clutter_actor_animate (renderer->commandline, CLUTTER_LINEAR, 500, "opacity", (int)(0xff*0.33), NULL); g_object_set (renderer->commandline, "editable", FALSE, NULL); clutter_actor_animate (renderer->commandline_shading, CLUTTER_LINEAR, 500, "opacity", (int)(point->shading_opacity*0xff*0.33), NULL); action_slide (renderer); return FALSE; } static void commandline_notify_cb (ClutterActor *actor, GParamSpec *pspec, gpointer data) { ClutterRenderer *renderer = CLUTTER_RENDERER (data); float scale; scale = clutter_actor_get_width (renderer->stage) / (clutter_actor_get_width (actor) / 0.9); if (scale > 1.0) scale = 1.0; clutter_actor_set_scale (actor, scale, scale); } static gboolean stage_motion (ClutterActor *actor, ClutterEvent *event, gpointer renderer) { float stage_width, stage_height; if (hide_cursor) g_source_remove (hide_cursor); clutter_stage_show_cursor (CLUTTER_STAGE (actor)); hide_cursor = g_timeout_add (500, hide_cursor_cb, actor); if (!pp_get_fullscreen (renderer, CLUTTER_STAGE (actor))) return FALSE; clutter_actor_get_size (CLUTTER_RENDERER (renderer)->stage, &stage_width, &stage_height); #ifdef QUICK_ACCESS_LEFT if (event->motion.x < 8) { float d = event->motion.y / stage_height; #else if (event->motion.y < 8) { float d = event->motion.x / stage_width; #endif if (pp_slidep) { leave_slide (renderer, FALSE); } pp_slidep = g_list_nth (pp_slides, g_list_length (pp_slides) * d); show_slide (renderer, FALSE); } return FALSE; } #define NORMAL_OPACITY 100 #define HOVER_OPACITY 255 static gboolean opacity_hover_enter (ClutterActor *actor, ClutterEvent *event, gpointer data) { clutter_actor_animate (actor, CLUTTER_LINEAR, 200, "opacity", HOVER_OPACITY, NULL); return FALSE; } static gboolean opacity_hover_leave (ClutterActor *actor, ClutterEvent *event, gpointer data) { clutter_actor_animate (actor, CLUTTER_LINEAR, 200, "opacity", NORMAL_OPACITY, NULL); return FALSE; } #define opacity_hover(o) \ clutter_actor_set_opacity (o, NORMAL_OPACITY); \ clutter_actor_set_reactive (o, TRUE); \ g_signal_connect (o, "enter-event", \ G_CALLBACK (opacity_hover_enter), NULL); \ g_signal_connect (o, "leave-event", \ G_CALLBACK (opacity_hover_leave), NULL); \ static gboolean play_pause (ClutterActor *actor, ClutterEvent *event, gpointer data) { ClutterRenderer *renderer = CLUTTER_RENDERER (data); if (!renderer->speaker_screen) { return TRUE; } if (renderer->timer_paused) { g_timer_continue (renderer->timer); renderer->timer_paused = FALSE; clutter_text_set_text (CLUTTER_TEXT (renderer->speaker_pause), "pause"); } else { g_timer_stop (renderer->timer); renderer->timer_paused = TRUE; clutter_text_set_text (CLUTTER_TEXT (renderer->speaker_pause), "go"); } return TRUE; } static gboolean toggle_autoadvance (ClutterActor *actor, ClutterEvent *event, gpointer data) { ClutterRenderer *renderer = CLUTTER_RENDERER (data); if (renderer->autoadvance) { renderer->autoadvance = FALSE; clutter_text_set_text (CLUTTER_TEXT (renderer->speaker_autoadvance), "enable autoadvance"); } else { renderer->autoadvance = TRUE; clutter_text_set_text (CLUTTER_TEXT (renderer->speaker_autoadvance), "disable autoadvance"); } return TRUE; } static void end_of_presentation (ClutterRenderer *renderer); static void next_slide (ClutterRenderer *renderer) { if (pp_slidep && pp_slidep->next) { leave_slide (renderer, FALSE); pp_slidep = pp_slidep->next; show_slide (renderer, FALSE); } else { end_of_presentation (renderer); } } static void prev_slide (ClutterRenderer *renderer) { if (pp_slidep && pp_slidep->prev) { leave_slide (renderer, TRUE); pp_slidep = pp_slidep->prev; show_slide (renderer, TRUE); } } static gboolean go_prev (ClutterActor *actor, ClutterEvent *event, gpointer data) { ClutterRenderer *renderer = CLUTTER_RENDERER (data); prev_slide (renderer); return TRUE; } static gboolean go_next (ClutterActor *actor, ClutterEvent *event, gpointer data) { ClutterRenderer *renderer = CLUTTER_RENDERER (data); next_slide (renderer); return TRUE; } static gboolean start (ClutterActor *actor, ClutterEvent *event, gpointer data) { ClutterRenderer *renderer = CLUTTER_RENDERER (data); g_timer_stop (renderer->timer); g_timer_start (renderer->timer); renderer->timer_paused = FALSE; leave_slide (renderer, TRUE); pp_slidep = pp_slides; play_pause (NULL, NULL, data); play_pause (NULL, NULL, data); if (pp_rehearse) { pp_rehearse = FALSE; } pp_rehearse_init (); /* zeroes out the new-time */ show_slide (renderer, TRUE); renderer->reset = TRUE; return TRUE; } static gboolean start_rehearse (ClutterActor *actor, ClutterEvent *event, gpointer data) { start (actor, event, data); pp_rehearse = TRUE; pp_rehearse_init (); return FALSE; } static void toggle_speaker_screen (ClutterRenderer *renderer); static gboolean speaker_screen_deleted (ClutterActor *actor, ClutterEvent *event, gpointer data) { ClutterRenderer *renderer = data; toggle_speaker_screen(renderer); return TRUE; } static void clutter_renderer_init_speaker_screen (ClutterRenderer *renderer) { renderer->speaker_screen = clutter_stage_new (); clutter_stage_set_title(CLUTTER_STAGE(renderer->speaker_screen), "Pinpoint speaker screen"); renderer->speaker_notes = g_object_new (CLUTTER_TYPE_TEXT, "x", 10.0, "y", 20.0, "font-name", "Sans 20px", "color", &white, NULL); renderer->speaker_time_remaining = g_object_new (CLUTTER_TYPE_TEXT, "x", 300.0, "y", 0.0, "opacity", NORMAL_OPACITY, "font-name", "Sans 24px", "text", "-", "color", &white, NULL); renderer->speaker_buttons_group = clutter_group_new (); #define BUTTON_FONT "Sans 20px" renderer->speaker_speakerscreen = g_object_new (CLUTTER_TYPE_TEXT, "x", 0.0, "y", 0.0, "opacity", NORMAL_OPACITY, "font-name", BUTTON_FONT, "text", "speaker", "reactive", TRUE, "color", &white, NULL); renderer->speaker_rehearse = g_object_new (CLUTTER_TYPE_TEXT, "x", 0.0, "y", 0.0, "opacity", NORMAL_OPACITY, "font-name", BUTTON_FONT, "text", "rehearse", "reactive", TRUE, "color", &white, NULL); renderer->speaker_autoadvance = g_object_new (CLUTTER_TYPE_TEXT, "y", 0.0, "opacity", NORMAL_OPACITY, "font-name", BUTTON_FONT, "text", "enable autoadvance", "reactive", TRUE, "color", &white, NULL); renderer->speaker_start = g_object_new (CLUTTER_TYPE_TEXT, "y", 0.0, "opacity", NORMAL_OPACITY, "font-name", BUTTON_FONT, "text", "(re)start", "reactive", TRUE, "color", &white, NULL); renderer->speaker_pause = g_object_new (CLUTTER_TYPE_TEXT, "y", 0.0, "opacity", NORMAL_OPACITY, "font-name", BUTTON_FONT, "text", "", "reactive", TRUE, "color", &white, NULL); renderer->speaker_fullscreen = g_object_new (CLUTTER_TYPE_TEXT, "x", 0.0, "y", 0.0, "opacity", NORMAL_OPACITY, "font-name", BUTTON_FONT, "text", "fullscreen", "reactive", TRUE, "color", &white, NULL); opacity_hover(renderer->speaker_speakerscreen); opacity_hover(renderer->speaker_rehearse); g_signal_connect (renderer->speaker_rehearse, "button-press-event", G_CALLBACK (start_rehearse), renderer); opacity_hover(renderer->speaker_autoadvance); g_signal_connect (renderer->speaker_autoadvance, "button-press-event", G_CALLBACK (toggle_autoadvance), renderer); opacity_hover(renderer->speaker_start); g_signal_connect (renderer->speaker_start, "button-press-event", G_CALLBACK (start), renderer); opacity_hover(renderer->speaker_pause); g_signal_connect (renderer->speaker_pause, "button-press-event", G_CALLBACK (play_pause), renderer); opacity_hover(renderer->speaker_fullscreen); clutter_container_add (CLUTTER_CONTAINER (renderer->speaker_buttons_group), renderer->speaker_speakerscreen, renderer->speaker_start, renderer->speaker_pause, renderer->speaker_autoadvance, renderer->speaker_rehearse, renderer->speaker_fullscreen, NULL); g_signal_connect (renderer->speaker_screen, "key-press-event", G_CALLBACK (key_pressed), renderer); g_signal_connect (renderer->speaker_screen, "button-press-event", G_CALLBACK (mouse_clicked), renderer); renderer->timer_paused = TRUE; renderer->timer = g_timer_new (); g_timer_stop (renderer->timer); renderer->speaker_prog_bg = clutter_rectangle_new_with_color (&c_prog_bg); renderer->speaker_prog_time = clutter_rectangle_new_with_color (&c_prog_time); renderer->speaker_prog_slide = clutter_rectangle_new_with_color (&c_prog_slide); renderer->speaker_slide_prog_warning = clutter_rectangle_new_with_color (&red); clutter_stage_set_color (CLUTTER_STAGE (renderer->speaker_screen), &black); clutter_stage_set_color (CLUTTER_STAGE (renderer->speaker_screen), &black); clutter_stage_set_user_resizable (CLUTTER_STAGE (renderer->speaker_screen), TRUE); renderer->speaker_prev = clutter_cairo_texture_new (PREVIEW_WIDTH, PREVIEW_HEIGHT); renderer->speaker_current = clutter_cairo_texture_new (PREVIEW_WIDTH, PREVIEW_HEIGHT); renderer->speaker_next = clutter_cairo_texture_new (PREVIEW_WIDTH, PREVIEW_HEIGHT); clutter_container_add (CLUTTER_CONTAINER (renderer->speaker_screen), renderer->speaker_prev, renderer->speaker_current, renderer->speaker_next, renderer->speaker_notes, renderer->speaker_prog_bg, renderer->speaker_slide_prog_warning, renderer->speaker_prog_time, renderer->speaker_prog_slide, renderer->speaker_buttons_group, renderer->speaker_time_remaining, NULL); clutter_actor_set_opacity (renderer->speaker_slide_prog_warning, 0); opacity_hover(renderer->speaker_prev); opacity_hover(renderer->speaker_next); g_signal_connect (renderer->speaker_prev, "button-press-event", G_CALLBACK (go_prev), renderer); g_signal_connect (renderer->speaker_next, "button-press-event", G_CALLBACK (go_next), renderer); g_signal_connect (renderer->speaker_screen, "delete-event", G_CALLBACK (speaker_screen_deleted), renderer); } static gboolean stage_deleted (ClutterStage *stage, ClutterEvent *event, gpointer user_data) { clutter_main_quit (); return TRUE; } static void clutter_renderer_init (PinPointRenderer *pp_renderer, char *pinpoint_file) { ClutterRenderer *renderer = CLUTTER_RENDERER (pp_renderer); GFileMonitor *monitor; ClutterActor *stage; GDBusConnection *session_bus; ClutterBackend *backend; renderer->stage = stage = clutter_stage_new (); clutter_stage_set_title(CLUTTER_STAGE(stage), "Pinpoint presentation"); renderer->root = clutter_group_new (); renderer->curtain = clutter_rectangle_new_with_color (&black); renderer->rest_y = STARTPOS; renderer->background = clutter_group_new (); renderer->midground = clutter_group_new (); renderer->foreground = clutter_group_new (); renderer->json_layer = clutter_group_new (); renderer->shading = clutter_rectangle_new_with_color (&black); renderer->commandline_shading = clutter_rectangle_new_with_color (&black); renderer->commandline = clutter_text_new (); /* Clutter doesn't seem to have a good way to infer which backend it is using so we'll try to guess from the name of the backend class */ backend = clutter_get_default_backend (); if (strcmp (G_OBJECT_TYPE_NAME (backend), "ClutterBackendX11") == 0) renderer->clutter_backend = PP_CLUTTER_BACKEND_X11; else renderer->clutter_backend = PP_CLUTTER_BACKEND_UNKNOWN; clutter_actor_set_size (renderer->curtain, 10000, 10000); clutter_actor_hide (renderer->curtain); clutter_actor_set_opacity (renderer->shading, 0x77); clutter_actor_set_opacity (renderer->commandline_shading, 0x77); clutter_container_add_actor (CLUTTER_CONTAINER (renderer->midground), renderer->shading); clutter_container_add (CLUTTER_CONTAINER (renderer->stage), renderer->root, renderer->curtain, NULL); clutter_container_add (CLUTTER_CONTAINER (renderer->root), renderer->background, renderer->midground, renderer->foreground, renderer->json_layer, renderer->commandline_shading, renderer->commandline, NULL); renderer->timer_paused = FALSE; renderer->timer = g_timer_new (); if (pp_speakermode) toggle_speaker_screen (renderer); clutter_actor_show (stage); clutter_stage_set_color (CLUTTER_STAGE (stage), &black); g_signal_connect (stage, "delete-event", G_CALLBACK (stage_deleted), renderer); g_signal_connect (stage, "key-press-event", G_CALLBACK (key_pressed), renderer); g_signal_connect (stage, "button-press-event", G_CALLBACK (mouse_clicked), renderer); g_signal_connect (stage, "notify::width", G_CALLBACK (stage_resized), renderer); if (renderer->speaker_screen) { g_signal_connect (renderer->speaker_screen, "notify::width", G_CALLBACK (stage_resized), renderer); g_signal_connect (renderer->speaker_screen, "notify::height", G_CALLBACK (stage_resized), renderer); } g_signal_connect (stage, "notify::height", G_CALLBACK (stage_resized), renderer); g_signal_connect (stage, "motion-event", G_CALLBACK (stage_motion), renderer); g_signal_connect (renderer->commandline, "activate", G_CALLBACK (commandline_action_cb), renderer); g_signal_connect (renderer->commandline, "captured-event", G_CALLBACK (commandline_cancel_cb), renderer); g_signal_connect (renderer->commandline, "notify::width", G_CALLBACK (commandline_notify_cb), renderer); clutter_stage_set_user_resizable (CLUTTER_STAGE (stage), TRUE); if (pp_fullscreen) pp_set_fullscreen (renderer, CLUTTER_STAGE (stage), TRUE); renderer->path = pinpoint_file; if (renderer->path) { monitor = g_file_monitor (g_file_new_for_commandline_arg (pinpoint_file), G_FILE_MONITOR_NONE, NULL, NULL); g_signal_connect (monitor, "changed", G_CALLBACK (file_changed), renderer); } renderer->bg_cache = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, _destroy_surface); renderer->cairo_renderer = pp_cairo_renderer (); renderer->cairo_renderer->init (renderer->cairo_renderer, pinpoint_file); session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); if (session_bus != NULL) { renderer->gsm = g_dbus_proxy_new_sync (session_bus, G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES | G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS | G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START, NULL, "org.gnome.SessionManager", "/org/gnome/SessionManager", "org.gnome.SessionManager", NULL, NULL); g_clear_object (&session_bus); } } static gboolean update_speaker_screen (ClutterRenderer *renderer); static void clutter_renderer_run (PinPointRenderer *pp_renderer) { ClutterRenderer *renderer = CLUTTER_RENDERER (pp_renderer); show_slide (renderer, FALSE); /* the presentaiton is not parsed at first initialization,.. */ renderer->total_seconds = point_defaults->duration * 60; g_timeout_add (15, (GSourceFunc)update_speaker_screen, renderer); clutter_main (); } static void clutter_renderer_finalize (PinPointRenderer *pp_renderer) { ClutterRenderer *renderer = CLUTTER_RENDERER (pp_renderer); clutter_actor_destroy (renderer->stage); g_hash_table_unref (renderer->bg_cache); g_clear_object (&renderer->gsm); } static ClutterActor * _clutter_get_texture (ClutterRenderer *renderer, const char *file) { ClutterActor *source; source = g_hash_table_lookup (renderer->bg_cache, file); if (source) { return clutter_clone_new (source); } source = g_object_new (CLUTTER_TYPE_TEXTURE, "filename", file, "load-data-async", TRUE, NULL); if (!source) return NULL; clutter_container_add_actor (CLUTTER_CONTAINER (renderer->stage), source); clutter_actor_hide (source); g_hash_table_insert (renderer->bg_cache, (char *) g_strdup (file), source); return clutter_clone_new (source); } #if USE_CLUTTER_GST static void on_size_changed (ClutterActor *texture, gint width, gint height, gpointer user_data) { PinPointRenderer *pp_renderer = user_data; ClutterRenderer *renderer = CLUTTER_RENDERER (pp_renderer); PinPointPoint *point; ClutterPointData *data; point = pp_slidep->data; if (!point) return; data = point->data; if (data->background != texture) { g_warning ("size changed but not current background ?!"); return; } clutter_actor_set_size (texture, width, height); pp_clutter_render_adjust_background (renderer, point); } static gboolean setup_camera (PinPointRenderer *renderer, PinPointPoint *point) { /* These are static to be able to share the texture and the pipeline between * all the slides using the camera */ static ClutterActor *texture = NULL; static GstElement *pipeline = NULL; ClutterPointData *data = point->data; GstElement *src; GstElement *capsfilter; GstElement *sink; GstCaps *caps; gboolean result; if (texture) { data->background = clutter_clone_new (texture); data->pipeline = pipeline; return TRUE; } texture = g_object_new (CLUTTER_TYPE_TEXTURE, "disable-slicing", TRUE, NULL); g_signal_connect (CLUTTER_TEXTURE (texture), "size-change", G_CALLBACK (on_size_changed), renderer); /* Set up pipeline */ pipeline = gst_pipeline_new (NULL); src = gst_element_factory_make ("v4l2src", NULL); if (src == NULL) { g_critical ("Failed to create v4l2src element"); g_object_unref (pipeline); return FALSE; } capsfilter = gst_element_factory_make ("capsfilter", NULL); sink = clutter_gst_video_sink_new (CLUTTER_TEXTURE (texture)); /* make videotestsrc spit the format we want */ caps = gst_caps_new_simple ("video/x-raw-yuv", NULL); if (point->camera_framerate) { gst_caps_set_simple (caps, "framerate", GST_TYPE_FRACTION, point->camera_framerate, 1, NULL); } if (pp_camera_device) g_object_set (src, "device", pp_camera_device, NULL); #define W (point->camera_resolution.width) #define H (point->camera_resolution.height) if (W != 0 && H != 0) { gst_caps_set_simple (caps, "width", G_TYPE_INT, W, "height", G_TYPE_INT, H, NULL); } #undef W #undef H g_object_set (capsfilter, "caps", caps, NULL); gst_bin_add_many (GST_BIN (pipeline), src, capsfilter, sink, NULL); result = gst_element_link_many (src, capsfilter, sink, NULL); if (result == FALSE) { g_critical("Could not link elements"); gst_object_unref (pipeline); return FALSE; } data->background = texture; data->pipeline = pipeline; return TRUE; } #endif static gboolean clutter_renderer_make_point (PinPointRenderer *pp_renderer, PinPointPoint *point) { ClutterRenderer *renderer = CLUTTER_RENDERER (pp_renderer); ClutterPointData *data = point->data; const char *file = point->bg; char *full_path = NULL; ClutterColor color; gboolean ret = FALSE; if (point->bg_type != PP_BG_COLOR && renderer->path && file) { char *dir = g_path_get_dirname (renderer->path); full_path = g_build_filename (dir, file, NULL); g_free (dir); file = full_path; } switch (point->bg_type) { case PP_BG_COLOR: { ret = clutter_color_from_string (&color, point->bg); if (ret) data->background = g_object_new (CLUTTER_TYPE_RECTANGLE, "color", &color, "width", 100.0, "height", 100.0, NULL); } break; case PP_BG_NONE: { ClutterColor black = {0, 0, 0, 255}; ret = clutter_color_from_string (&color, point->stage_color); if (ret) data->background = g_object_new (CLUTTER_TYPE_RECTANGLE, "color", &color, "width", 100.0, "height", 100.0, NULL); else data->background = g_object_new (CLUTTER_TYPE_RECTANGLE, "color", &black, "width", 100.0, "height", 100.0, NULL); } break; case PP_BG_IMAGE: data->background = _clutter_get_texture (renderer, file); ret = TRUE; break; case PP_BG_VIDEO: #ifdef USE_CLUTTER_GST data->background = clutter_gst_video_texture_new (); clutter_media_set_filename (CLUTTER_MEDIA (data->background), file); g_signal_connect (CLUTTER_TEXTURE (data->background), "size-change", G_CALLBACK (on_size_changed), renderer); ret = TRUE; #endif break; case PP_BG_CAMERA: #ifdef USE_CLUTTER_GST ret = setup_camera (pp_renderer, point); #endif break; case PP_BG_SVG: #ifdef USE_DAX { ClutterActor *aa, *svg; GError *error = NULL; aa = pp_super_aa_new (); pp_super_aa_set_resolution (PP_SUPER_AA (aa), 2, 2); svg = dax_actor_new_from_file (file, &error); mx_offscreen_set_pick_child (MX_OFFSCREEN (aa), TRUE); clutter_container_add_actor (CLUTTER_CONTAINER (aa), svg); data->background = aa; if (data->background == NULL) { g_warning ("Could not open SVG file %s: %s", file, error->message); g_clear_error (&error); } ret = data->background != NULL; } #endif break; default: g_assert_not_reached(); } g_free (full_path); if (data->background) { clutter_container_add_actor (CLUTTER_CONTAINER (renderer->background), data->background); clutter_actor_set_opacity (data->background, 0); } clutter_color_from_string (&color, point->text_color); if (point->use_markup) { data->text = g_object_new (CLUTTER_TYPE_TEXT, "font-name", point->font, "text", point->text, "line-alignment", point->text_align, "color", &color, "use-markup", TRUE, NULL); } else { data->text = g_object_new (CLUTTER_TYPE_TEXT, "font-name", point->font, "text", point->text, "line-alignment", point->text_align, "color", &color, NULL); } clutter_container_add_actor (CLUTTER_CONTAINER (renderer->foreground), data->text); clutter_actor_set_position (data->text, RESTX, renderer->rest_y); data->rest_y = renderer->rest_y; renderer->rest_y += clutter_actor_get_height (data->text); clutter_actor_set_depth (data->text, RESTDEPTH); return ret; } static void * clutter_renderer_allocate_data (PinPointRenderer *renderer) { ClutterPointData *data = g_slice_new0 (ClutterPointData); data->renderer = renderer; return data; } static void clutter_renderer_free_data (PinPointRenderer *renderer, void *datap) { ClutterPointData *data = datap; if (data->background) clutter_actor_destroy (data->background); if (data->text) clutter_actor_destroy (data->text); if (data->json_slide) clutter_actor_destroy (data->json_slide); if (data->script) g_object_unref (data->script); g_slice_free (ClutterPointData, data); } static void end_of_presentation (ClutterRenderer *renderer) { if (pp_rehearse) { pp_rehearse_done (); } pp_rehearse = FALSE; if (renderer->autoadvance) toggle_autoadvance (NULL, NULL, renderer); } static void toggle_speaker_screen (ClutterRenderer *renderer) { if (!renderer->speaker_screen) clutter_renderer_init_speaker_screen (renderer); if (renderer->speaker_mode) { renderer->speaker_mode = FALSE; clutter_actor_hide (renderer->speaker_screen); } else { renderer->speaker_mode = TRUE; clutter_actor_show (renderer->speaker_screen); } } static void pp_inhibit (ClutterRenderer *renderer, gboolean fullscreen) { #if HAVE_CLUTTER_X11 if (renderer->clutter_backend != PP_CLUTTER_BACKEND_X11) return; /* Hey maybe we don't have D-Bus. */ if (renderer->gsm == NULL) return; if (fullscreen) { GVariant *args = g_variant_new ("(susu)", "Pinpoint", clutter_x11_get_stage_window ( CLUTTER_STAGE (renderer->stage)), "Presenting some blingin' slides", /* The flag '8' means "Inhibit the * session being marked as idle", as * opposed to logging out, user * switching, or suspending. */ 8); GVariant *ret = g_dbus_proxy_call_sync (renderer->gsm, "Inhibit", args, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL); if (ret != NULL) { if (g_variant_is_of_type (ret, G_VARIANT_TYPE ("(u)"))) g_variant_get (ret, "(u)", &renderer->inhibit_cookie); g_variant_unref (ret); } /* Bleh, maybe this is an older version of Gnome where it was the * screensaver which had the inhibition API. */ } else if (renderer->inhibit_cookie != 0) { g_dbus_proxy_call_sync (renderer->gsm, "Uninhibit", g_variant_new ("(u)", renderer->inhibit_cookie), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL); renderer->inhibit_cookie = 0; } /* else I guess Inhibit() failed. */ #endif /* HAVE_CLUTTER_X11 */ } static gboolean key_pressed (ClutterActor *actor, ClutterEvent *event, ClutterRenderer *renderer) { if (event) /* There is no event for the first triggering */ switch (clutter_event_get_key_symbol (event)) { case CLUTTER_Left: case CLUTTER_Up: case CLUTTER_BackSpace: case CLUTTER_Prior: prev_slide (renderer); break; case CLUTTER_Right: case CLUTTER_space: case CLUTTER_Next: case CLUTTER_Down: next_slide (renderer); break; case CLUTTER_Escape: clutter_main_quit (); break; case CLUTTER_F1: { gboolean was_fullscreen = pp_get_fullscreen (renderer, CLUTTER_STAGE (renderer->stage)); toggle_speaker_screen (renderer); if (renderer->speaker_mode && renderer->speaker_screen) pp_set_fullscreen (renderer, CLUTTER_STAGE (renderer->speaker_screen), was_fullscreen); } break; case CLUTTER_F2: if (renderer->autoadvance) renderer->autoadvance = FALSE; else renderer->autoadvance = TRUE; break; case CLUTTER_F11: case CLUTTER_F: case CLUTTER_f: { gboolean was_fullscreen = pp_get_fullscreen (renderer, CLUTTER_STAGE (renderer->stage)); pp_set_fullscreen (renderer, CLUTTER_STAGE (renderer->stage), !was_fullscreen); if (renderer->speaker_mode && renderer->speaker_screen) pp_set_fullscreen (renderer, CLUTTER_STAGE (renderer->speaker_screen), !was_fullscreen); pp_inhibit (renderer, !was_fullscreen); } break; case CLUTTER_Return: action_slide (renderer); break; case CLUTTER_Tab: activate_commandline (renderer); break; case CLUTTER_b: case CLUTTER_B: if (CLUTTER_ACTOR_IS_VISIBLE (renderer->curtain)) clutter_actor_hide (renderer->curtain); else clutter_actor_show (renderer->curtain); break; case CLUTTER_H: case CLUTTER_h: case CLUTTER_Home: start (NULL, NULL, renderer); break; } return TRUE; } static gboolean mouse_clicked (ClutterActor *actor, ClutterEvent *event, ClutterRenderer *renderer) { if(event) switch (clutter_event_get_button(event)) { case 1: /* Left mouse button is clicked */ next_slide (renderer); break; case 3: /* Right mouse button is clicked */ prev_slide (renderer); break; } return TRUE; } static void leave_slide (ClutterRenderer *renderer, gboolean backwards) { PinPointPoint *point = pp_slidep->data; ClutterPointData *data = point->data; point->new_duration += g_timer_elapsed (renderer->timer, NULL) - renderer->slide_start_time; if (!point->transition) { clutter_actor_animate (data->text, CLUTTER_LINEAR, 2000, "depth", RESTDEPTH, "scale-x", 1.0, "scale-y", 1.0, "x", RESTX, "y", data->rest_y, NULL); if (data->background) { clutter_actor_animate (data->background, CLUTTER_LINEAR, 1000, "opacity", 0x0, NULL); } } else { if (data->script) { if (backwards) clutter_state_set_state (data->state, "pre"); else clutter_state_set_state (data->state, "post"); } } if (data->background) { #ifdef USE_CLUTTER_GST if (point->bg_type == PP_BG_CAMERA) { gst_element_set_state (data->pipeline, GST_STATE_PAUSED); } if (CLUTTER_GST_IS_VIDEO_TEXTURE (data->background)) { clutter_media_set_playing (CLUTTER_MEDIA (data->background), FALSE); } #endif #ifdef USE_DAX if (DAX_IS_ACTOR (data->background)) { dax_actor_set_playing (DAX_ACTOR (data->background), FALSE); } else if (PP_IS_SUPER_AA (data->background)) { ClutterActor *actor; actor = mx_offscreen_get_child (MX_OFFSCREEN (data->background)); dax_actor_set_playing (DAX_ACTOR (actor), FALSE); } #endif } } static void state_completed (ClutterState *state, gpointer user_data) { PinPointPoint *point = user_data; ClutterPointData *data = point->data; const char *new_state = clutter_state_get_state (state); if (new_state == g_intern_static_string ("post") || new_state == g_intern_static_string ("pre")) { clutter_actor_hide (data->json_slide); if (data->background2) { clutter_actor_reparent (data->text, CLUTTER_RENDERER (data->renderer)->foreground); g_object_set (data->text, "depth", RESTDEPTH, "scale-x", 1.0, "scale-y", 1.0, "x", RESTX, "y", data->rest_y, NULL); clutter_actor_set_opacity (data->background, 0); } } } static void action_slide (ClutterRenderer *renderer) { PinPointPoint *point; ClutterPointData *data; const char *command = NULL; if (!pp_slidep) return; point = pp_slidep->data; data = point->data; if (data->state) clutter_state_set_state (data->state, "action"); command = clutter_text_get_text (CLUTTER_TEXT (renderer->commandline)); if (command && *command) { char *tmp = g_strdup_printf ("%s &", command); g_print ("running: %s\n", tmp); system (tmp); g_free (tmp); } } static char *pp_lookup_transition (const char *transition) { int i; char *dirs[] ={ "", "./transitions/", PKGDATADIR, NULL}; for (i = 0; dirs[i]; i++) { char *path = g_strdup_printf ("%s%s.json", dirs[i], transition); if (g_file_test (path, G_FILE_TEST_EXISTS)) return path; g_free (path); } return NULL; } static void update_commandline_shading (ClutterRenderer *renderer) { PinPointPoint *point; ClutterColor color; const char *command; float text_x, text_y, text_width, text_height; float shading_x, shading_y, shading_width, shading_height; point = pp_slidep->data; clutter_actor_get_size (renderer->commandline, &text_width, &text_height); clutter_actor_get_position (renderer->commandline, &text_x, &text_y); pp_get_shading_position_size (clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage), text_x, text_y, text_width, text_height, 1.0, &shading_x, &shading_y, &shading_width, &shading_height); clutter_color_from_string (&color, point->shading_color); g_object_set (renderer->commandline_shading, "x", shading_x, "y", shading_y, NULL); command = clutter_text_get_text (CLUTTER_TEXT (renderer->commandline)); clutter_actor_animate (renderer->commandline_shading, CLUTTER_EASE_OUT_QUINT, 1000, /* the opacity of the commandline shading depends on whether we have a command or not */ "opacity", command && *command?(int)(point->shading_opacity*255*0.33):0, "color", &color, "width", shading_width, "height", shading_height, NULL); } static gfloat point_time (ClutterRenderer *renderer, PinPointPoint *point) { GList *iter; float time; gboolean after_current = FALSE; for (iter = pp_slides; iter && iter->data != point; iter = iter->next) { if (iter == pp_slidep) after_current = TRUE; } time = point->duration != 0.0 ? point->duration : 2.0; /* if before current point, use new time.. if at or after current point use historic time */ if (!after_current) if (point->new_duration != 0.0) time = point->new_duration; return time; } static gfloat total_time (ClutterRenderer *renderer, GList *start) { GList *iter; gfloat total = 0; if (!start) start = pp_slides; for (iter = start; iter; iter = iter->next) { total += point_time (renderer, iter->data); } return total; } static gfloat slide_rel_duration (ClutterRenderer *renderer, GList *slide) { return point_time (renderer, slide->data) / total_time (renderer, pp_slides); } static gfloat slide_rel_start (ClutterRenderer *renderer, GList *slide) { GList *iter; float time = 0; for (iter = slide ->prev; iter; iter = iter->prev) { time += point_time (renderer, iter->data); } time = time / total_time (renderer, pp_slides); return time; } static gfloat slide_time (ClutterRenderer *renderer, GList *slide) { float time = point_time (renderer, slide->data) / total_time (renderer, slide); float remaining_time = renderer->total_seconds - g_timer_elapsed (renderer->timer, NULL); time *= remaining_time; return time; } static gboolean update_speaker_screen (ClutterRenderer *renderer) { PinPointPoint *point; if (!pp_slidep) return FALSE; point = pp_slidep->data; static float current_slide_time = 0.0; static float current_slide_duration = 0.0; static GList *current_slide = NULL; float nh, nw; if (renderer->reset) { current_slide = NULL; current_slide_duration = 0.0; current_slide_time = 0.0; renderer->reset = FALSE; } { static float current_slide_prev_time = 0.0; float warn_time = SLIDE_WARN_TIME; float diff = g_timer_elapsed (renderer->timer, NULL) - current_slide_prev_time; if (current_slide != pp_slidep) { current_slide_time = 0; current_slide = pp_slidep; current_slide_duration = slide_time (renderer, pp_slidep); } /* if 33% of the slide is longer than the seconds based threshold, use the percentage */ if ((warn_time <= current_slide_duration * SLIDE_WARN_THRESHOLD)) warn_time = current_slide_duration * SLIDE_WARN_THRESHOLD; current_slide_time += diff; if (current_slide_time >= current_slide_duration) { if (renderer->autoadvance) { current_slide_time = 0; next_slide (renderer); } if (renderer->speaker_slide_prog_warning) clutter_actor_animate (renderer->speaker_slide_prog_warning, CLUTTER_LINEAR, 500, "opacity", OPACITY_OVER_TIME, NULL); } else if ((current_slide_duration - current_slide_time < warn_time)) { if (renderer->speaker_slide_prog_warning) clutter_actor_animate (renderer->speaker_slide_prog_warning, CLUTTER_LINEAR, 500, "opacity", OPACITY_PAST_THRESHOLD, NULL); } else { if (renderer->speaker_slide_prog_warning) clutter_actor_animate (renderer->speaker_slide_prog_warning, CLUTTER_LINEAR, 50, "opacity", OPACITY_OK, NULL); } current_slide_prev_time = g_timer_elapsed (renderer->timer, NULL); } if (!renderer->speaker_mode) return TRUE; if (point->speaker_notes) clutter_text_set_text (CLUTTER_TEXT (renderer->speaker_notes), point->speaker_notes); else clutter_text_set_text (CLUTTER_TEXT (renderer->speaker_notes), ""); nw = clutter_actor_get_width (renderer->speaker_screen) + 1; nh = clutter_actor_get_height (renderer->speaker_screen); { /* should draw rectangles representing progress instead... */ GString *str = g_string_new (""); int i; GList *iter; for (iter = pp_slides, i=0; iter && iter != pp_slidep; iter = iter->next, i++); { int time; time = renderer->total_seconds - g_timer_elapsed (renderer->timer, NULL) + 0.5; if (time <= -60) g_string_printf (str, "%imin", time/60); else if (time <= 10) g_string_printf (str, "%is", time); else if (time <= 60) { time = ((time + 4)/ 5) * 5; g_string_printf (str, "%is", time); } else g_string_printf (str, "%i%smin", time / 60, (time % 60 > 30) ? "½":""); clutter_text_set_text (CLUTTER_TEXT (renderer->speaker_time_remaining), str->str); } g_string_free (str, TRUE); } { #define append_ltr(a,b) \ clutter_actor_set_x (b, clutter_actor_get_x (a) + clutter_actor_get_width (a) + 20) /* should be replace with constraints */ append_ltr (renderer->speaker_speakerscreen, renderer->speaker_start); append_ltr (renderer->speaker_start, renderer->speaker_pause); append_ltr (renderer->speaker_pause, renderer->speaker_autoadvance); append_ltr (renderer->speaker_autoadvance, renderer->speaker_rehearse); append_ltr (renderer->speaker_rehearse, renderer->speaker_fullscreen); } { float height = 32; float y = clutter_actor_get_height (renderer->speaker_screen) - height; float elapsed_part = g_timer_elapsed (renderer->timer, NULL) / renderer->total_seconds; clutter_actor_set_height (renderer->speaker_prog_bg, height); clutter_actor_set_height (renderer->speaker_prog_slide, height * 0.7); clutter_actor_set_height (renderer->speaker_prog_time, height * 0.84); clutter_actor_set_size (renderer->speaker_slide_prog_warning, nw, height * 1.0); clutter_actor_set_y (renderer->speaker_prog_bg, y); clutter_actor_set_y (renderer->speaker_prog_slide, y + height * 0.05); clutter_actor_set_y (renderer->speaker_prog_time, y); clutter_actor_set_y (renderer->speaker_slide_prog_warning, y - height * 0.1); /* clutter_actor_set_size (renderer->speaker_slide_prog_warning, nw, nh); clutter_actor_set_y (renderer->speaker_slide_prog_warning, 0);*/ clutter_actor_set_x (renderer->speaker_buttons_group, nw * 0.4); clutter_actor_set_y (renderer->speaker_buttons_group, 5); clutter_actor_set_width (renderer->speaker_prog_bg, nw); clutter_actor_set_position (renderer->speaker_time_remaining, nw - clutter_actor_get_width (renderer->speaker_time_remaining), nh - clutter_actor_get_height (renderer->speaker_time_remaining) - 4); clutter_actor_set_width (renderer->speaker_prog_slide, nw * slide_rel_duration (renderer, pp_slidep)); clutter_actor_set_x (renderer->speaker_prog_slide, nw * slide_rel_start (renderer, pp_slidep)); clutter_actor_set_x (renderer->speaker_prog_time, nw * elapsed_part); clutter_actor_set_width (renderer->speaker_prog_time, nw * (1.0-elapsed_part)); elapsed_part = current_slide_time / current_slide_duration; } { float scale; scale = nh / clutter_actor_get_height (renderer->speaker_next) * 0.4; clutter_actor_set_scale (renderer->speaker_prev, scale, scale); clutter_actor_set_scale (renderer->speaker_current, scale, scale); clutter_actor_set_scale (renderer->speaker_next, scale, scale); } { static GList *current_slide = NULL; if (current_slide != pp_slidep) { cairo_t *cr; /*************/ cr = clutter_cairo_texture_create (CLUTTER_CAIRO_TEXTURE (renderer->speaker_prev)); cairo_renderer_set_cr (renderer->cairo_renderer, cr, clutter_actor_get_width (renderer->speaker_prev), clutter_actor_get_height (renderer->speaker_prev)); if (pp_slidep->prev) cairo_renderer_render_page (renderer->cairo_renderer, pp_slidep->prev->data); else cairo_renderer_render_page (renderer->cairo_renderer, NULL); cairo_renderer_unset_cr (renderer->cairo_renderer); cairo_destroy (cr); /*************/ cr = clutter_cairo_texture_create (CLUTTER_CAIRO_TEXTURE (renderer->speaker_current)); cairo_renderer_set_cr (renderer->cairo_renderer, cr, clutter_actor_get_width (renderer->speaker_current), clutter_actor_get_height (renderer->speaker_current)); cairo_renderer_render_page (renderer->cairo_renderer, pp_slidep->data); cairo_renderer_unset_cr (renderer->cairo_renderer); cairo_destroy (cr); /*************/ cr = clutter_cairo_texture_create (CLUTTER_CAIRO_TEXTURE (renderer->speaker_next)); cairo_renderer_set_cr (renderer->cairo_renderer, cr, clutter_actor_get_width (renderer->speaker_next), clutter_actor_get_height (renderer->speaker_next)); if (pp_slidep->next) cairo_renderer_render_page (renderer->cairo_renderer, pp_slidep->next->data); else cairo_renderer_render_page (renderer->cairo_renderer, NULL); cairo_renderer_unset_cr (renderer->cairo_renderer); cairo_destroy (cr); /*************/ current_slide = pp_slidep; } } clutter_actor_set_position (renderer->speaker_prev, nw * 0.0, nh * -0.1); clutter_actor_set_position (renderer->speaker_current, nw * 0.0, nh * 0.3); clutter_actor_set_position (renderer->speaker_next, nw * 0.0, nh * 0.7); clutter_actor_set_position (renderer->speaker_notes, nw * 0.46, nh * 0.35); clutter_actor_set_width (renderer->speaker_notes, nw * 0.5); return TRUE; } static void show_slide (ClutterRenderer *renderer, gboolean backwards) { PinPointPoint *point; ClutterPointData *data; ClutterColor color; if (!pp_slidep) return; renderer->slide_start_time = g_timer_elapsed (renderer->timer, NULL); point = pp_slidep->data; data = point->data; if (point->stage_color) { clutter_color_from_string (&color, point->stage_color); clutter_stage_set_color (CLUTTER_STAGE (renderer->stage), &color); } if (data->background) { pp_clutter_render_adjust_background (renderer, point); #ifdef USE_CLUTTER_GST if (point->bg_type == PP_BG_CAMERA) { gst_element_set_state (data->pipeline, GST_STATE_PLAYING); } else if (CLUTTER_GST_IS_VIDEO_TEXTURE (data->background)) { clutter_media_set_progress (CLUTTER_MEDIA (data->background), 0.0); clutter_media_set_playing (CLUTTER_MEDIA (data->background), TRUE); } else #endif #ifdef USE_DAX if (DAX_IS_ACTOR (data->background)) { dax_actor_set_playing (DAX_ACTOR (data->background), TRUE); } else if (PP_IS_SUPER_AA (data->background)) { ClutterActor *actor; actor = mx_offscreen_get_child (MX_OFFSCREEN (data->background)); dax_actor_set_playing (DAX_ACTOR (actor), TRUE); } else #endif { } } if (!point->transition) { clutter_actor_animate (renderer->foreground, CLUTTER_LINEAR, 500, "opacity", 255, NULL); clutter_actor_animate (renderer->midground, CLUTTER_LINEAR, 500, "opacity", 255, NULL); clutter_actor_animate (renderer->background, CLUTTER_LINEAR, 500, "opacity", 255, NULL); if (point->text && *point->text) { float text_x, text_y, text_width, text_height, text_scale; float shading_x, shading_y, shading_width, shading_height; clutter_actor_get_size (data->text, &text_width, &text_height); pp_get_text_position_scale ( point, clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage), text_width, text_height, &text_x, &text_y, &text_scale); pp_get_shading_position_size ( clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage), text_x, text_y, text_width, text_height, text_scale, &shading_x, &shading_y, &shading_width, &shading_height); clutter_color_from_string (&color, point->shading_color); clutter_actor_animate (data->text, CLUTTER_EASE_OUT_QUINT, 1000, "depth", 0.0, "scale-x", text_scale, "scale-y", text_scale, "x", text_x, "y", text_y, NULL); clutter_actor_animate (renderer->shading, CLUTTER_EASE_OUT_QUINT, 1000, "x", shading_x, "y", shading_y, "opacity", (int)(point->shading_opacity*255), "color", &color, "width", shading_width, "height", shading_height, NULL); } else { clutter_actor_animate (renderer->shading, CLUTTER_LINEAR, 500, "opacity", 0, "width", 0.0, "height", 0.0, NULL); } if (data->background) clutter_actor_animate (data->background, CLUTTER_LINEAR, 1000, "opacity", 0xff, NULL); } else { GError *error = NULL; /* fade out global group of texts when using a custom .json template */ clutter_actor_animate (renderer->foreground, CLUTTER_LINEAR, 500, "opacity", 0, NULL); clutter_actor_animate (renderer->midground, CLUTTER_LINEAR, 500, "opacity", 0, NULL); clutter_actor_animate (renderer->background, CLUTTER_LINEAR, 500, "opacity", 0, NULL); if (!data->script) { char *path = pp_lookup_transition (point->transition); data->script = clutter_script_new (); clutter_script_load_from_file (data->script, path, &error); g_free (path); data->foreground = CLUTTER_ACTOR ( clutter_script_get_object (data->script, "foreground")); data->midground = CLUTTER_ACTOR ( clutter_script_get_object (data->script, "midground")); data->background2 = CLUTTER_ACTOR ( clutter_script_get_object (data->script, "background")); data->state = CLUTTER_STATE ( clutter_script_get_object (data->script, "state")); data->json_slide = CLUTTER_ACTOR ( clutter_script_get_object (data->script, "actor")); clutter_container_add_actor (CLUTTER_CONTAINER (renderer->json_layer), data->json_slide); g_signal_connect (data->state, "completed", G_CALLBACK (state_completed), point); clutter_state_warp_to_state (data->state, "pre"); if (data->background2) /* parmanently steal background */ { clutter_actor_reparent (data->background, data->background2); } } clutter_actor_set_size (data->json_slide, clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage)); clutter_actor_set_size (data->foreground, clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage)); clutter_actor_set_size (data->background2, clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage)); if (!data->json_slide) { g_warning ("failed to load transition %s %s\n", point->transition, error?error->message:""); return; } if (data->foreground) { clutter_actor_reparent (data->text, data->foreground); } clutter_actor_set_opacity (data->background, 255); { float text_x, text_y, text_width, text_height, text_scale; clutter_actor_get_size (data->text, &text_width, &text_height); pp_get_text_position_scale (point, clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage), text_width, text_height, &text_x, &text_y, &text_scale); g_object_set (data->text, "depth", 0.0, "scale-x", text_scale, "scale-y", text_scale, "x", text_x, "y", text_y, NULL); if (clutter_actor_get_width (data->text) > 1.0) { ClutterColor color; float shading_x, shading_y, shading_width, shading_height; clutter_color_from_string (&color, point->shading_color); pp_get_shading_position_size ( clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage), text_x, text_y, text_width, text_height, text_scale, &shading_x, &shading_y, &shading_width, &shading_height); if (!data->shading) { data->shading = clutter_rectangle_new_with_color (&black); clutter_container_add_actor ( CLUTTER_CONTAINER (data->midground), data->shading); clutter_actor_set_size (data->midground, clutter_actor_get_width (renderer->stage), clutter_actor_get_height (renderer->stage)); } g_object_set (data->shading, "depth", -0.01, "x", shading_x, "y", shading_y, "opacity", (int)(point->shading_opacity*255), "color", &color, "width", shading_width, "height", shading_height, NULL); } else /* no text, fade out shading */ if (data->shading) g_object_set (data->shading, "opacity", 0, NULL); if (data->foreground) { clutter_actor_reparent (data->text, data->foreground); } } if (!backwards) clutter_actor_raise_top (data->json_slide); clutter_actor_show (data->json_slide); clutter_state_set_state (data->state, "show"); } /* render potentially executed commands */ { float text_x, text_y, text_width, text_height; clutter_color_from_string (&color, point->text_color); g_object_set (renderer->commandline, "font-name", point->font, "text", point->command?point->command:"", "color", &color, NULL); color.alpha *= 0.33; g_object_set (renderer->commandline, "selection-color", &color, NULL); clutter_actor_get_size (renderer->commandline, &text_width, &text_height); if (point->position == CLUTTER_GRAVITY_SOUTH || point->position == CLUTTER_GRAVITY_SOUTH_WEST) text_y = clutter_actor_get_height (renderer->stage) * 0.05; else text_y = clutter_actor_get_height (renderer->stage) * 0.95 - text_height; text_x = clutter_actor_get_width (renderer->stage) * 0.05; g_object_set (renderer->commandline, "x", text_x, "y", text_y, NULL); clutter_actor_animate (renderer->commandline, CLUTTER_EASE_OUT_QUINT, 1000, "opacity", point->command?(gint)(0xff*0.33):0, NULL); update_commandline_shading (renderer); } if (renderer->speaker_mode) { update_speaker_screen (renderer); } } static void stage_resized (ClutterActor *actor, GParamSpec *pspec, ClutterRenderer *renderer) { show_slide (renderer, FALSE); /* redisplay the current slide */ update_speaker_screen (renderer); } static guint reload_tag = 0; static gboolean reload (gpointer data) { ClutterRenderer *renderer = data; char *text = NULL; if (!g_file_get_contents (renderer->path, &text, NULL, NULL)) g_error ("failed to load slides from %s\n", renderer->path); renderer->rest_y = STARTPOS; pp_parse_slides (PINPOINT_RENDERER (renderer), text); g_free (text); show_slide(renderer, FALSE); reload_tag = 0; return FALSE; } static void file_changed (GFileMonitor *monitor, GFile *file, GFile *other_file, GFileMonitorEvent event_type, ClutterRenderer *renderer) { if (reload_tag) g_source_remove (reload_tag); reload_tag = g_timeout_add (200, reload, renderer); } static ClutterRenderer clutter_renderer_vtable = { .renderer = { .init = clutter_renderer_init, .run = clutter_renderer_run, .finalize = clutter_renderer_finalize, .make_point = clutter_renderer_make_point, .allocate_data = clutter_renderer_allocate_data, .free_data = clutter_renderer_free_data } }; PinPointRenderer *pp_clutter_renderer (void) { return (void*)&clutter_renderer_vtable; } pinpoint-0.1.5~20120318/pp-super-aa.c000066400000000000000000000101411173123050100166600ustar00rootroot00000000000000/* pp-super-aa.c */ #include "pp-super-aa.h" G_DEFINE_TYPE (PPSuperAA, pp_super_aa, MX_TYPE_OFFSCREEN) #define SUPER_AA_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), PP_TYPE_SUPER_AA, PPSuperAAPrivate)) struct _PPSuperAAPrivate { gfloat x_res; gfloat y_res; }; enum { PROP_0, PROP_X_RES, PROP_Y_RES }; static void pp_super_aa_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { PPSuperAA *self = PP_SUPER_AA (object); switch (property_id) { case PROP_X_RES: g_value_set_float (value, self->priv->x_res); break; case PROP_Y_RES: g_value_set_float (value, self->priv->y_res); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } static void pp_super_aa_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { PPSuperAA *self = PP_SUPER_AA (object); switch (property_id) { case PROP_X_RES: self->priv->x_res = g_value_get_float (value); clutter_actor_queue_redraw (CLUTTER_ACTOR (object)); break; case PROP_Y_RES: self->priv->y_res = g_value_get_float (value); clutter_actor_queue_redraw (CLUTTER_ACTOR (object)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } } static void pp_super_aa_dispose (GObject *object) { G_OBJECT_CLASS (pp_super_aa_parent_class)->dispose (object); } static void pp_super_aa_finalize (GObject *object) { G_OBJECT_CLASS (pp_super_aa_parent_class)->finalize (object); } static void pp_super_aa_paint (ClutterActor *actor) { CoglHandle texture; gfloat width, height; PPSuperAAPrivate *priv = PP_SUPER_AA (actor)->priv; clutter_actor_get_size (actor, &width, &height); texture = clutter_texture_get_cogl_texture (CLUTTER_TEXTURE (actor)); if (!texture || (cogl_texture_get_width (texture) != (guint)(width * priv->x_res)) || (cogl_texture_get_height (texture) != (guint)(height * priv->y_res))) { texture = cogl_texture_new_with_size ((guint)(width * priv->x_res), (guint)(height * priv->y_res), COGL_TEXTURE_NO_SLICING, COGL_PIXEL_FORMAT_RGBA_8888_PRE); clutter_texture_set_cogl_texture (CLUTTER_TEXTURE (actor), texture); cogl_handle_unref (texture); } CLUTTER_ACTOR_CLASS (pp_super_aa_parent_class)->paint (actor); } static void pp_super_aa_paint_child (MxOffscreen *offscreen) { PPSuperAAPrivate *priv = PP_SUPER_AA (offscreen)->priv; cogl_scale (priv->x_res, priv->y_res, 1.0); MX_OFFSCREEN_CLASS (pp_super_aa_parent_class)->paint_child (offscreen); } static void pp_super_aa_class_init (PPSuperAAClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); MxOffscreenClass *offscreen_class = MX_OFFSCREEN_CLASS (klass); g_type_class_add_private (klass, sizeof (PPSuperAAPrivate)); object_class->get_property = pp_super_aa_get_property; object_class->set_property = pp_super_aa_set_property; object_class->dispose = pp_super_aa_dispose; object_class->finalize = pp_super_aa_finalize; actor_class->paint = pp_super_aa_paint; offscreen_class->paint_child = pp_super_aa_paint_child; } static void pp_super_aa_init (PPSuperAA *self) { self->priv = SUPER_AA_PRIVATE (self); clutter_texture_set_sync_size (CLUTTER_TEXTURE (self), FALSE); } ClutterActor * pp_super_aa_new (void) { return g_object_new (PP_TYPE_SUPER_AA, NULL); } void pp_super_aa_set_resolution (PPSuperAA *aa, gfloat x_res, gfloat y_res) { aa->priv->x_res = x_res; aa->priv->y_res = y_res; clutter_actor_queue_redraw (CLUTTER_ACTOR (aa)); } void pp_super_aa_get_resolution (PPSuperAA *aa, gfloat *x_res, gfloat *y_res) { if (x_res) *x_res = aa->priv->x_res; if (y_res) *y_res = aa->priv->y_res; } pinpoint-0.1.5~20120318/pp-super-aa.h000066400000000000000000000023371173123050100166750ustar00rootroot00000000000000/* pp-super-aa.h */ #ifndef _PP_SUPER_AA_H #define _PP_SUPER_AA_H #include #include G_BEGIN_DECLS #define PP_TYPE_SUPER_AA pp_super_aa_get_type() #define PP_SUPER_AA(obj) \ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ PP_TYPE_SUPER_AA, PPSuperAA)) #define PP_SUPER_AA_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST ((klass), \ PP_TYPE_SUPER_AA, PPSuperAAClass)) #define PP_IS_SUPER_AA(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ PP_TYPE_SUPER_AA)) #define PP_IS_SUPER_AA_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), \ PP_TYPE_SUPER_AA)) #define PP_SUPER_AA_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), \ PP_TYPE_SUPER_AA, PPSuperAAClass)) typedef struct _PPSuperAA PPSuperAA; typedef struct _PPSuperAAClass PPSuperAAClass; typedef struct _PPSuperAAPrivate PPSuperAAPrivate; struct _PPSuperAA { MxOffscreen parent; PPSuperAAPrivate *priv; }; struct _PPSuperAAClass { MxOffscreenClass parent_class; }; GType pp_super_aa_get_type (void) G_GNUC_CONST; ClutterActor *pp_super_aa_new (); void pp_super_aa_set_resolution (PPSuperAA *aa, gfloat x_res, gfloat y_res); void pp_super_aa_get_resolution (PPSuperAA *aa, gfloat *x_res, gfloat *y_res); G_END_DECLS #endif /* _PP_SUPER_AA_H */ pinpoint-0.1.5~20120318/transitions/000077500000000000000000000000001173123050100167425ustar00rootroot00000000000000pinpoint-0.1.5~20120318/transitions/Makefile.am000066400000000000000000000001241173123050100207730ustar00rootroot00000000000000transitionsdir = $(pkgdatadir) dist_transitions_DATA = $(wildcard $(srcdir)/*.json) pinpoint-0.1.5~20120318/transitions/action.json000066400000000000000000000030431173123050100211120ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ {"type":"ClutterRectangle", "id":"rect", "color":"red", "width":100, "height":100, "opacity":0} ] } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["actor", "x", "linear", 1024]] }, { "source":null, "target":"show", "keys": [["actor", "x", "linear", 0]] }, { "source":null, "target":"action", "keys": [["actor", "depth", "linear", -200.0], ["rect", "opacity", "linear", 255], ["rect", "x", "linear", 100], ["rect", "y", "linear", 100], ["actor", "x", "linear", 0]] }, { "source":null, "target":"post", "keys": [["actor", "x", "linear", -1024]] } ]} ] pinpoint-0.1.5~20120318/transitions/fade.json000066400000000000000000000020641173123050100205360ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":800, "transitions":[ { "source":null, "target":"pre", "keys": [["actor", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["actor", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [["actor", "opacity", "linear", 0]] } ]} ] pinpoint-0.1.5~20120318/transitions/page-curl-both.json000066400000000000000000000024201173123050100224440ustar00rootroot00000000000000[ { "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ], "effects":[ { "id":"page-turn", "type":"ClutterPageTurnEffect", "period":0.0, "radius":50.0, "angle":15.0 } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["page-turn", "period", "linear", 1.0]] }, { "source":null, "target":"show", "keys": [["page-turn", "period", "linear", 0.0]] }, { "source":null, "target":"post", "keys": [["page-turn", "period", "linear", 1.0]] } ]} ] pinpoint-0.1.5~20120318/transitions/page-curl.json000066400000000000000000000024451173123050100215210ustar00rootroot00000000000000[ { "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center", "depth":120.0 }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ], "effects":[ { "id":"page-turn", "type":"ClutterPageTurnEffect", "period":0.0, "radius":50.0, "angle":0.0 } ]} ,{ "type":"ClutterState", "id":"state", "duration":2000, "transitions":[ { "source":null, "target":"pre", "keys": [["page-turn", "period", "linear", 0.0]] }, { "source":null, "target":"show", "keys": [["page-turn", "period", "linear", 0.0]] }, { "source":null, "target":"post", "keys": [["page-turn", "period", "linear", 1.0]] } ]} ] pinpoint-0.1.5~20120318/transitions/sheet.json000066400000000000000000000026661173123050100207570ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["actor", "rotation-angle-x", "linear", 90.0], ["actor", "y", "linear", 0.0], ["actor", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["actor", "rotation-angle-x", "linear", 0.0], ["actor", "y", "linear", 0.0], ["actor", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [["actor", "rotation-angle-x", "linear", 0.0], ["actor", "y", "linear", 1024.0], ["actor", "opacity", "linear", 0]] } ]} ] pinpoint-0.1.5~20120318/transitions/slide-in-left.json000066400000000000000000000023541173123050100222750ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["actor", "x", "linear", 1024], ["actor", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["actor", "x", "linear", 0], ["actor", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [["actor", "x", "linear", 0], ["actor", "opacity", "linear", 0]] } ]} ] pinpoint-0.1.5~20120318/transitions/slide-left.json000066400000000000000000000021221173123050100216620ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["actor", "x", "linear", 1024]] }, { "source":null, "target":"show", "keys": [["actor", "x", "linear", 0]] }, { "source":null, "target":"post", "keys": [["actor", "x", "linear", -1024]] } ]} ] pinpoint-0.1.5~20120318/transitions/slide-up.json000066400000000000000000000021221173123050100213540ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["actor", "y", "linear", 1024]] }, { "source":null, "target":"show", "keys": [["actor", "y", "linear", 0]] }, { "source":null, "target":"post", "keys": [["actor", "y", "linear", -1024]] } ]} ] pinpoint-0.1.5~20120318/transitions/spin-bg.json000066400000000000000000000031511173123050100211740ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":800, "transitions":[ { "source":null, "target":"pre", "keys": [["actor", "rotation-angle-z", "linear", -360.0], ["actor", "scale-x", "linear", 0.01], ["actor", "scale-y", "linear", 0.01], ["actor", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["actor", "rotation-angle-z", "linear", 0.0], ["actor", "scale-x", "linear", 1.0], ["actor", "scale-y", "linear", 1.0], ["actor", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [["actor", "rotation-angle-z", "linear", 360.0], ["actor", "scale-x", "linear", 4.0], ["actor", "scale-y", "linear", 4.0], ["actor", "opacity", "linear", 0]] } ]} ] pinpoint-0.1.5~20120318/transitions/spin-text.json000066400000000000000000000043731173123050100215770ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":800, "transitions":[ { "source":null, "target":"pre", "keys": [ ["foreground", "rotation-angle-z", "linear", -360.0], ["foreground", "scale-x", "linear", 0.01], ["foreground", "scale-y", "linear", 0.01], ["midground", "rotation-angle-z", "linear", -360.0], ["midground", "scale-x", "linear", 0.01], ["midground", "scale-y", "linear", 0.01], ["actor", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [ ["foreground", "rotation-angle-z", "linear", 0.0], ["foreground", "scale-x", "linear", 1.0], ["foreground", "scale-y", "linear", 1.0], ["midground", "rotation-angle-z", "linear", 0.0], ["midground", "scale-x", "linear", 1.0], ["midground", "scale-y", "linear", 1.0], ["actor", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [ ["foreground", "rotation-angle-z", "linear", 360.0], ["foreground", "scale-x", "linear", 4.0], ["foreground", "scale-y", "linear", 4.0], ["midground", "rotation-angle-z", "linear", 360.0], ["midground", "scale-x", "linear", 4.0], ["midground", "scale-y", "linear", 4.0], ["actor", "opacity", "linear", 0]] } ]} ] pinpoint-0.1.5~20120318/transitions/spin.json000066400000000000000000000032261173123050100206110ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":800, "transitions":[ { "source":null, "target":"pre", "keys": [["background", "rotation-angle-z", "linear", -360.0], ["background", "scale-x", "linear", 0.01], ["background", "scale-y", "linear", 0.01], ["actor", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["background", "rotation-angle-z", "linear", 0.0], ["background", "scale-x", "linear", 1.0], ["background", "scale-y", "linear", 1.0], ["actor", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [["background", "rotation-angle-z", "linear", 360.0], ["background", "scale-x", "linear", 4.0], ["background", "scale-y", "linear", 4.0], ["actor", "opacity", "linear", 0]] } ]} ] pinpoint-0.1.5~20120318/transitions/swing.json000066400000000000000000000026161173123050100207710ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["actor", "rotation-angle-x", "linear", 90.0], ["actor", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["actor", "rotation-angle-x", "linear", 0.0], ["actor", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [["actor", "rotation-angle-x", "linear", -90.0], ["actor", "opacity", "linear", 0]] }, { "source":"show", "target":"pre", "duration":100, "keys":[] } ]} ] pinpoint-0.1.5~20120318/transitions/text-slide-down.json000066400000000000000000000026561173123050100226750ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"post", "keys": [["foreground", "y", "linear", 1024], ["midground", "y", "linear", 1024], ["background", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["foreground", "y", "linear", 0], ["midground", "y", "linear", 0], ["background", "opacity", "linear", 255]] }, { "source":null, "target":"pre", "keys": [["foreground", "y", "linear", -1024], ["midground", "y", "linear", -1024], ["background", "opacity", "linear", 0]] } ]} ] pinpoint-0.1.5~20120318/transitions/text-slide-left.json000066400000000000000000000031301173123050100226440ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["foreground", "x", "linear", 1024], ["midground", "x", "linear", 1024], ["midground", "opacity", "linear", 0], ["background", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["foreground", "x", "linear", 0], ["midground", "x", "linear", 0], ["midground", "opacity", "linear", 255], ["background", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [["foreground", "x", "linear", -1024], ["midground", "x", "linear", -1024], ["midground", "opacity", "linear", 0], ["background", "opacity", "linear", 0]] } ]} ] pinpoint-0.1.5~20120318/transitions/text-slide-up.json000066400000000000000000000026561173123050100223520ustar00rootroot00000000000000[{ "type":"ClutterGroup", "id":"actor", "rotation-center-z-gravity":"center", "scale-gravity":"center", "children":[ { "id":"background", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }, { "type":"ClutterGroup", "depth":20.0, "children":[ { "id":"midground", "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" }]}, { "id":"foreground", "depth":30.0, "type":"ClutterGroup", "rotation-center-z-gravity":"center", "scale-gravity":"center" } ]} ,{ "type":"ClutterState", "id":"state", "duration":1000, "transitions":[ { "source":null, "target":"pre", "keys": [["foreground", "y", "linear", 1024], ["midground", "y", "linear", 1024], ["background", "opacity", "linear", 0]] }, { "source":null, "target":"show", "keys": [["foreground", "y", "linear", 0], ["midground", "y", "linear", 0], ["background", "opacity", "linear", 255]] }, { "source":null, "target":"post", "keys": [["foreground", "y", "linear", -1024], ["midground", "y", "linear", -1024], ["background", "opacity", "linear", 0]] } ]} ]