GLUT-2.4.0.0/0000755000000000000000000000000012121453250010607 5ustar0000000000000000GLUT-2.4.0.0/Setup.hs0000644000000000000000000000005612121453250012244 0ustar0000000000000000import Distribution.Simple main = defaultMain GLUT-2.4.0.0/README0000644000000000000000000000044312121453247011476 0ustar0000000000000000To build this package using Cabal directly from darcs, you must run "autoreconf" before the usual Cabal build steps (configure/build/install). autoreconf is included in the GNU autoconf tools. There is no need to run the "configure" script: the "setup configure" step will do this for you. GLUT-2.4.0.0/LICENSE0000644000000000000000000000272212121453247011625 0ustar0000000000000000Copyright (c) 2002-2005, Sven Panne All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. GLUT-2.4.0.0/GLUT.cabal0000644000000000000000000001251412121453250012351 0ustar0000000000000000name: GLUT version: 2.4.0.0 license: BSD3 license-file: LICENSE maintainer: Jason Dagit bug-reports: https://github.com/haskell-opengl/GLUT/issues homepage: http://www.haskell.org/haskellwiki/Opengl category: Graphics synopsis: A binding for the OpenGL Utility Toolkit description: A Haskell binding for the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. For more information about the C library on which this binding is based, please see: . build-type: Simple cabal-version: >=1.6 extra-source-files: README examples/BOGLGP/Chapter01/OnYourOwn1.hs examples/BOGLGP/Chapter01/Simple.hs examples/BOGLGP/Chapter02/OnYourOwn1.hs examples/BOGLGP/Chapter02/OpenGLApplication.hs examples/BOGLGP/Chapter03/Lines.hs examples/BOGLGP/Chapter03/OnYourOwn1.hs examples/BOGLGP/Chapter03/Points.hs examples/BOGLGP/Chapter03/Polygons.hs examples/BOGLGP/Chapter03/TrianglesQuads.hs examples/Misc/ARBOcclude.hs examples/Misc/ExtractContours.hs examples/Misc/Gears.hs examples/Misc/Pitfall14.hs examples/Misc/SmoothOpenGL3.hs examples/Misc/Triangulate.hs examples/OrangeBook/3Dlabs-License.txt examples/OrangeBook/ogl2brick/Brick.frag examples/OrangeBook/ogl2brick/Brick.hs examples/OrangeBook/ogl2brick/Brick.vert examples/RedBook/00-README examples/RedBook/AAIndex.hs examples/RedBook/AARGB.hs examples/RedBook/AccAnti.hs examples/RedBook/AccPersp.hs examples/RedBook/Alpha.hs examples/RedBook/Alpha3D.hs examples/RedBook/BezCurve.hs examples/RedBook/BezMesh.hs examples/RedBook/BezSurf.hs examples/RedBook/BlendEqn.hs examples/RedBook/Checker.hs examples/RedBook/Clip.hs examples/RedBook/ColorMat.hs examples/RedBook/ColorMatrix.hs examples/RedBook/ColorTable.hs examples/RedBook/Combiner.hs examples/RedBook/Convolution.hs examples/RedBook/Cube.hs examples/RedBook/CubeMap.hs examples/RedBook/DList.hs examples/RedBook/DOF.hs examples/RedBook/Data/leeds.bin examples/RedBook/Double.hs examples/RedBook/DrawF.hs examples/RedBook/Feedback.hs examples/RedBook/Fog.hs examples/RedBook/FogCoord.hs examples/RedBook/FogIndex.hs examples/RedBook/Font.hs examples/RedBook/Hello.hs examples/RedBook/Histogram.hs examples/RedBook/Image.hs examples/RedBook/Light.hs examples/RedBook/Lines.hs examples/RedBook/MVArray.hs examples/RedBook/Material.hs examples/RedBook/Minmax.hs examples/RedBook/Mipmap.hs examples/RedBook/Model.hs examples/RedBook/MoveLight.hs examples/RedBook/MultiTex.hs examples/RedBook/Multisamp.hs examples/RedBook/PickDepth.hs examples/RedBook/PickSquare.hs examples/RedBook/Planet.hs examples/RedBook/PointP.hs examples/RedBook/PolyOff.hs examples/RedBook/Polys.hs examples/RedBook/Quadric.hs examples/RedBook/ReadImage.hs examples/RedBook/Robot.hs examples/RedBook/Scene.hs examples/RedBook/Select.hs examples/RedBook/ShadowMap.hs examples/RedBook/Smooth.hs examples/RedBook/Stencil.hs examples/RedBook/Stroke.hs examples/RedBook/SurfPoints.hs examples/RedBook/Surface.hs examples/RedBook/Teapots.hs examples/RedBook/Tess.hs examples/RedBook/TessWind.hs examples/RedBook/TexBind.hs examples/RedBook/TexGen.hs examples/RedBook/TexProx.hs examples/RedBook/TexSub.hs examples/RedBook/Texture3D.hs examples/RedBook/TextureSurf.hs examples/RedBook/Torus.hs examples/RedBook/Trim.hs examples/RedBook/UnProject.hs examples/RedBook/VArray.hs examples/RedBook/Wrap.hs include/HsGLUTExt.h flag split-base flag UseNativeWindowsLibraries description: When compiling under Windows, use the native libraries instead of e.g. the ones coming with Cygwin. library exposed-modules: Graphics.UI.GLUT, Graphics.UI.GLUT.Begin, Graphics.UI.GLUT.Callbacks, Graphics.UI.GLUT.Callbacks.Global, Graphics.UI.GLUT.Callbacks.Window, Graphics.UI.GLUT.Colormap, Graphics.UI.GLUT.Debugging, Graphics.UI.GLUT.DeviceControl, Graphics.UI.GLUT.Fonts, Graphics.UI.GLUT.GameMode, Graphics.UI.GLUT.Initialization, Graphics.UI.GLUT.Menu, Graphics.UI.GLUT.Objects, Graphics.UI.GLUT.Overlay, Graphics.UI.GLUT.State, Graphics.UI.GLUT.Window, Graphics.UI.GLUT.Callbacks.Registration, Graphics.UI.GLUT.QueryUtils, Graphics.UI.GLUT.Raw, Graphics.UI.GLUT.Raw.APIEntry, Graphics.UI.GLUT.Raw.Callbacks, Graphics.UI.GLUT.Raw.Fonts, Graphics.UI.GLUT.Raw.Functions, Graphics.UI.GLUT.Raw.Tokens, Graphics.UI.GLUT.Types include-dirs: include c-sources: cbits/HsGLUT.c if flag(split-base) build-depends: base >= 3 && < 5, array >= 0.3 && < 0.5, containers >= 0.3 && < 0.6 else build-depends: base < 3 build-depends: OpenGL == 2.8.*, OpenGLRaw == 1.3.* ghc-options: -Wall -O2 if os(windows) && flag(UseNativeWindowsLibraries) cpp-options: "-DCALLCONV=stdcall" cc-options: "-DUSE_GETPROCADDRESS" extra-libraries: glut32 else cpp-options: "-DCALLCONV=ccall" cc-options: "-DUSE_DLSYM" if os(darwin) frameworks: GLUT else extra-libraries: glut source-repository head type: git location: https://github.com/haskell-opengl/GLUT GLUT-2.4.0.0/include/0000755000000000000000000000000012121453250012232 5ustar0000000000000000GLUT-2.4.0.0/include/HsGLUTExt.h0000644000000000000000000000232112121453250014130 0ustar0000000000000000/* ----------------------------------------------------------------------------- * * Module : GLUT extension support for Graphics.UI.GLUT * Copyright : (c) Sven Panne 2002-2005 * License : BSD-style (see the file libraries/OpenGL/LICENSE) * * Maintainer : sven.panne@aedion.de * Stability : provisional * Portability : portable * * This header should only define preprocessor macros! * * -------------------------------------------------------------------------- */ #ifndef HSGLUTEXT_H #define HSGLUTEXT_H /* NOTE: The macro must immediately start with the foreign declaration, otherwise the magic mangler (hack_foreign) in the Hugs build system doesn't recognize it. */ #define API_ENTRY_INTERNAL(_entry,_ty,_safety) \ foreign import CALLCONV _safety "dynamic" dyn_/**/_entry :: Graphics.UI.GLUT.Raw.APIEntry.Invoker (_ty) ; \ _entry :: (_ty) ; \ _entry = dyn_/**/_entry ptr_/**/_entry ; \ ptr_/**/_entry :: FunPtr a ; \ ptr_/**/_entry = unsafePerformIO (Graphics.UI.GLUT.Raw.APIEntry.getAPIEntry "_entry") ; \ {-# NOINLINE ptr_/**/_entry #-} #define API_ENTRY(_entry,_ty) API_ENTRY_INTERNAL(_entry,_ty,unsafe) #define API_ENTRY_SAFE(_entry,_ty) API_ENTRY_INTERNAL(_entry,_ty,safe) #endif GLUT-2.4.0.0/Graphics/0000755000000000000000000000000012121453247012355 5ustar0000000000000000GLUT-2.4.0.0/Graphics/UI/0000755000000000000000000000000012121453247012672 5ustar0000000000000000GLUT-2.4.0.0/Graphics/UI/GLUT.hs0000644000000000000000000004217112121453247014006 0ustar0000000000000000----------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- A Haskell binding for GLUT, the OpenGL Utility Toolkit, a window system -- independent toolkit for writing OpenGL programs. It includes support for -- the extended functionality available in freeglut (see -- ) and OpenGLUT (see -- ), too. -- ----------------------------------------------------------------------------- module Graphics.UI.GLUT ( -- * Legal stuff -- $LegalStuff -- * Introduction -- $Introduction -- ** Background -- $Background -- ** Design Philosophy -- $DesignPhilosophy -- ** API Versions -- $APIVersions -- ** Conventions -- $Conventions -- ** Terminology -- $Terminology module Graphics.Rendering.OpenGL, module Graphics.UI.GLUT.Initialization, module Graphics.UI.GLUT.Begin, module Graphics.UI.GLUT.Window, module Graphics.UI.GLUT.Overlay, module Graphics.UI.GLUT.Menu, module Graphics.UI.GLUT.Callbacks, module Graphics.UI.GLUT.Colormap, module Graphics.UI.GLUT.State, module Graphics.UI.GLUT.Fonts, module Graphics.UI.GLUT.Objects, module Graphics.UI.GLUT.Debugging, module Graphics.UI.GLUT.DeviceControl, module Graphics.UI.GLUT.GameMode ) where import Graphics.Rendering.OpenGL import Graphics.UI.GLUT.Initialization import Graphics.UI.GLUT.Begin import Graphics.UI.GLUT.Window import Graphics.UI.GLUT.Overlay import Graphics.UI.GLUT.Menu import Graphics.UI.GLUT.Callbacks import Graphics.UI.GLUT.Colormap import Graphics.UI.GLUT.State import Graphics.UI.GLUT.Fonts import Graphics.UI.GLUT.Objects import Graphics.UI.GLUT.Debugging import Graphics.UI.GLUT.DeviceControl import Graphics.UI.GLUT.GameMode ----------------------------------------------------------------------------- -- $LegalStuff -- This documentation is heavily based on the man pages of Mark J. Kilgard\'s -- GLUT library. -- -- OpenGL is a trademark of Silicon Graphics, Inc. -- X Window System is a trademark of X Consortium, Inc. -- Spaceball is a registered trademark of Spatial Systems, Inc. -- -- The author has taken care in preparation of this documentation but makes -- no expressed or implied warranty of any kind and assumes no responsibility -- for errors or omissions. No liability is assumed for incidental or -- consequential damages in connection with or arising from the use of -- information or programs contained herein. ----------------------------------------------------------------------------- -- $Introduction -- The OpenGL Utility Toolkit (GLUT) is a programming interface for writing -- window system independent OpenGL programs. Currently there are -- implementations for the X Window System, the Windows family, OS\/2, and Mac. -- The toolkit supports the following functionality: -- -- * Multiple windows for OpenGL rendering. -- -- * Callback driven event processing. -- -- * Sophisticated input devices. -- -- * An /idle/ routine and timers. -- -- * A simple, cascading pop-up menu facility. -- -- * Utility routines to generate various solid and wire frame objects. -- -- * Support for bitmap and stroke fonts. -- -- * Miscellaneous window management functions, including managing overlays. -- -- This documentation serves as both a specification and a programming guide. -- If you are interested in a brief introduction to programming with GLUT, -- have a look at the relevant parts of and the vast -- amount of books on OpenGL, most of them use GLUT. -- -- The remainder of this section describes GLUT\'s design philosophy and -- usage model. The following sections specify the GLUT routines, grouped by -- functionality. The final sections discuss usage advice and the logical -- programmer visible state maintained by GLUT. ----------------------------------------------------------------------------- -- $Background -- One of the major accomplishments in the specification of OpenGL was -- the isolation of window system dependencies from OpenGL\'s rendering -- model. The result is that OpenGL is window system independent. -- -- Window system operations such as the creation of a rendering window and the -- handling of window system events are left to the native window system to -- define. Necessary interactions between OpenGL and the window system such as -- creating and binding an OpenGL context to a window are described separately -- from the OpenGL specification in a window system dependent specification. For -- example, the GLX specification describes the standard by which OpenGL -- interacts with the X Window System. -- -- The predecessor to OpenGL is IRIS GL. Unlike OpenGL, IRIS GL /does/ -- specify how rendering windows are created and manipulated. IRIS GL\'s -- windowing interface is reasonably popular largely because it is simple to -- use. IRIS GL programmers can worry about graphics programming without needing -- to be an expert in programming the native window system. Experience also -- demonstrated that IRIS GL\'s windowing interface was high-level enough that -- it could be retargeted to different window systems. Silicon Graphics migrated -- from NeWS to the X Window System without any major changes to IRIS GL\'s -- basic windowing interface. -- -- Removing window system operations from OpenGL is a sound decision because it -- allows the OpenGL graphics system to be retargeted to various systems -- including powerful but expensive graphics workstations as well as -- mass-production graphics systems like video games, set-top boxes for -- interactive television, and PCs. -- -- Unfortunately, the lack of a window system interface for OpenGL is a gap in -- OpenGL\'s utility. Learning native window system APIs such as the X Window -- System\'s Xlib or Motif can be daunting. Even those familiar with -- native window system APIs need to understand the interface that binds OpenGL -- to the native window system. And when an OpenGL program is written using the -- native window system interface, despite the portability of the program\'s -- OpenGL rendering code, the program itself will be window system dependent. -- -- Testing and documenting OpenGL\'s functionality lead to the development of -- the @tk@ and @aux@ toolkits. The @aux@ toolkit is used in the examples found -- in the /OpenGL Programming Guide/. Unfortunately, @aux@ has numerous -- limitations and its utility is largely limited to toy programs. The @tk@ -- library has more functionality than @aux@ but was developed in an /ad hoc/ -- fashion and still lacks much important functionality that IRIS GL programmers -- expect, like pop-up menus and overlays. -- -- GLUT is designed to fill the need for a window system independent programming -- interface for OpenGL programs. The interface is designed to be simple yet -- still meet the needs of useful OpenGL programs. Features from the IRIS GL, -- @aux@, and @tk@ interfaces are included to make it easy for programmers used -- to these interfaces to develop programs for GLUT. ----------------------------------------------------------------------------- -- $DesignPhilosophy -- GLUT simplifies the implementation of programs using OpenGL rendering. The -- GLUT application programming interface (API) requires very few routines to -- display a graphics scene rendered using OpenGL. The GLUT API (like the OpenGL -- API) is stateful. Most initial GLUT state is defined and the initial state is -- reasonable for simple programs. The GLUT routines also take relatively few -- parameters. -- -- The GLUT API is (as much as reasonable) window system independent. For this -- reason, GLUT does not return /any/ native window system handles, pointers, or -- other data structures. More subtle window system dependencies such as -- reliance on window system dependent fonts are avoided by GLUT; instead, GLUT -- supplies its own (limited) set of fonts. -- -- For programming ease, GLUT provides a simple menu sub-API. While the menuing -- support is designed to be implemented as pop-up menus, GLUT gives window -- system leeway to support the menu functionality in another manner (pull-down -- menus for example). -- -- Two of the most important pieces of GLUT state are the /current window/ and -- /current menu/. Most window and menu routines affect the /current window/ or -- /menu/ respectively. Most callbacks implicitly set the /current window/ and -- /menu/ to the appropriate window or menu responsible for the callback. GLUT -- is designed so that a program with only a single window and\/or menu will not -- need to keep track of any window or menu identifiers. This greatly simplifies -- very simple GLUT programs. -- -- GLUT is designed for simple to moderately complex programs focused on OpenGL -- rendering. GLUT implements its own event loop. For this reason, mixing GLUT -- with other APIs that demand their own event handling structure may be -- difficult. The advantage of a builtin event dispatch loop is simplicity. -- -- GLUT contains routines for rendering fonts and geometric objects, however -- GLUT makes no claims on the OpenGL display list name space. For this reason, -- none of the GLUT rendering routines use OpenGL display lists. It is up to the -- GLUT programmer to compile the output from GLUT rendering routines into -- display lists if this is desired. -- -- GLUT routines are logically organized into several sub-APIs according to -- their functionality. The sub-APIs are: -- -- * /Initialization:/ Command line processing, window system initialization, -- and initial window creation state are controlled by these routines. -- -- * /Beginning Event Processing:/ This routine enters GLUT\'s event processing -- loop. This routine never returns, and it continuously calls GLUT callbacks -- as necessary. -- -- * /Window Management:/ These routines create and control windows. -- -- * /Overlay Management:/ These routines establish and manage overlays for -- windows. -- -- * /Menu Management:/ These routines create and control pop-up menus. -- -- * /Callback Registration:/ These routines register callbacks to be called by -- the GLUT event processing loop. -- -- * /Color Index Colormap Management:/ These routines allow the manipulation -- of color index colormaps for windows. -- -- * /State Retrieval:/ These routines allows programs to retrieve state from -- GLUT. -- -- * /Font Rendering:/ These routines allow rendering of stroke and bitmap -- fonts. -- -- * /Geometric Shape Rendering:/ These routines allow the rendering of 3D -- geometric objects including spheres, cones, icosahedrons, and teapots. -- -- * /Debugging:/ This routine reports any pending GL errors. -- -- * /Device Control:/ These routines allow setting the key repeat and polling -- the joystick. -- -- * /Game Mode:/ These routines allow programs to enter\/leave a full-screen -- mode with specified properties. -- Note that the following item has been left out intentionally, its -- implementation is too SGI-specific: -- * /Video Resizing:/ These routines provide a means for doing swap or frame -- synchronous resizing\/panning of the area that is to be magnified (or -- passed through) to the output video resolution. ----------------------------------------------------------------------------- -- $APIVersions -- The GLUT API has undergone several revisions with increasing functionality. -- This Haskell binding provides access to everything in API version 4, -- although it is not yet officially finalized. Nevertheless, it provides very -- useful things like handling full-screen modes and special keys. ----------------------------------------------------------------------------- -- $Conventions -- GLUT window and screen coordinates are expressed in pixels. The upper -- left hand corner of the screen or a window is (0,0). X coordinates -- increase in a rightward direction; Y coordinates increase in a -- downward direction. Note: This is inconsistent with OpenGL\'s -- coordinate scheme that generally considers the lower left hand -- coordinate of a window to be at (0,0) but is consistent with most -- popular window systems. ----------------------------------------------------------------------------- -- $Terminology -- A number of terms are used in a GLUT-specific manner throughout this -- document. The GLUT meaning of these terms is independent of the window -- system GLUT is used with. Here are GLUT-specific meanings for the -- following GLUT-specific terms: -- -- * /Callback:/ A programmer specified routine that can be registered with -- GLUT to be called in response to a specific type of event. Also used to -- refer to a specific callback routine being called. -- -- * /Colormap:/ A mapping of pixel values to RGB color values. Used by color -- index windows. -- -- * /Dials and button box:/ A sophisticated input device consisting of a pad -- of buttons and an array of rotating dials, often used by computer-aided -- design programs. -- -- * /Display mode:/ A set of OpenGL frame buffer capabilities that can be -- attributed to a window. -- -- * /Idle:/ A state when no window system events are received for processing -- as callbacks and the idle callback, if one is registered, is called. -- -- * /Layer in use:/ Either the normal plane or overlay. This per-window state -- determines what frame buffer layer OpenGL commands affect. -- -- * /Menu entry:/ A menu item that the user can select to trigger the menu -- callback for the menu entry\'s value. -- -- * /Menu item:/ Either a menu entry or a sub-menu trigger. -- -- * /Modifiers:/ The Shift, Ctrl, and Alt keys that can be held down -- simultaneously with a key or mouse button being pressed or released. -- -- * /Multisampling:/ A technique for hardware antialiasing generally available -- only on expensive 3D graphics hardware. Each pixel is composed of a number -- of samples (each containing color and depth information). The samples are -- averaged to determine the displayed pixel color value. Multisampling is -- supported as an extension to OpenGL. -- -- * /Normal plane:/ The default frame buffer layer where GLUT window state -- resides; as opposed to the /overlay/. -- -- * /Overlay:/ A frame buffer layer that can be displayed preferentially to -- the /normal plane/ and supports transparency to display through to the -- /normal plane/. Overlays are useful for rubber-banding effects, text -- annotation, and other operations, to avoid damaging the normal plane frame -- buffer state. Overlays require hardware support not present on all systems. -- -- * /Pop:/ The act of forcing a window to the top of the stacking order for -- sibling windows. -- -- * /Pop-up menu:/ A menu that can be set to appear when a specified mouse -- button is pressed in a window. A pop-menu consists of multiple menu items. -- -- * /Push:/ The act of forcing a window to the bottom of the stacking order -- for sibling windows. -- -- * /Reshape:/ The act of changing the size or shape of the window. -- -- * /Spaceball:/ A sophisticated 3D input device that provides six degrees of -- freedom, three axes of rotation and three axes of translation. It also -- supports a number of buttons. The device is a hand-sized ball attached to -- a base. By cupping the ball with one\'s hand and applying torsional or -- directional force on the ball, rotations and translationsare generated. -- -- * /Stereo:/ A frame buffer capability providing left and right color buffers -- for creating stereoscopic renderings. Typically, the user wears LCD -- shuttered goggles synchronized with the alternating display on the screen -- of the left and right color buffers. -- -- * /Sub-menu:/ A menu cascaded from some sub-menu trigger. -- -- * /Sub-menu trigger:/ A menu item that the user can enter to cascade another -- pop-up menu. -- -- * /Subwindow:/ A type of window that is the child window of a top-level -- window or other subwindow. The drawing and visible region of a subwindow -- is limited by its parent window. -- -- * /Tablet:/ A precise 2D input device. Like a mouse, 2D coordinates are -- returned. The absolute position of the tablet \"puck\" on the tablet is -- returned. Tablets also support a number of buttons. -- -- * /Timer:/ A callback that can be scheduled to be called in a specified -- interval of time. -- -- * /Top-level window:/ A window that can be placed, moved, resized, etc. -- independently from other top-level windows by the user. Subwindows may -- reside within a top-level window. -- -- * /Window:/ A rectangular area for OpenGL rendering. -- -- * /Window display state:/ One of shown, hidden, or iconified. A shown window -- is potentially visible on the screen (it may be obscured by other windows -- and not actually visible). A hidden window will never be visible. An -- iconified window is not visible but could be made visible in response to -- some user action like clicking on the window\'s corresponding icon. -- -- * /Window system:/ A broad notion that refers to both the mechanism and -- policy of the window system. For example, in the X Window System both the -- window manager and the X server are integral to what GLUT considers the -- window system. GLUT-2.4.0.0/Graphics/UI/GLUT/0000755000000000000000000000000012121453247013445 5ustar0000000000000000GLUT-2.4.0.0/Graphics/UI/GLUT/Window.hs0000644000000000000000000005003612121453247015254 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Window -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- GLUT supports two types of windows: top-level windows and subwindows. Both -- types support OpenGL rendering and GLUT callbacks. There is a single -- identifier space for both types of windows. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Window ( -- * Window identifiers Window, -- * Creating and destroying (sub-)windows -- $CreatingAndDestroyingSubWindows createWindow, createSubWindow, destroyWindow, parentWindow, numSubWindows, -- * Manipulating the /current window/ currentWindow, -- * Re-displaying and double buffer management postRedisplay, swapBuffers, -- * Changing the window geometry -- $ChangingTheWindowGeometry windowPosition, windowSize, fullScreen, fullScreenToggle, -- * Manipulating the stacking order -- $ManipulatingTheStackingOrder pushWindow, popWindow, -- * Managing a window\'s display status WindowStatus(..), windowStatus, -- * Changing the window\/icon title -- $ChangingTheWindowIconTitle windowTitle, iconTitle, -- * Cursor management Cursor(..), cursor, pointerPosition ) where import Foreign.C.String import Foreign.C.Types import Graphics.Rendering.OpenGL ( Position(..), Size(..) , StateVar, makeStateVar , GettableStateVar, makeGettableStateVar , SettableStateVar, makeSettableStateVar ) import Graphics.UI.GLUT.QueryUtils import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.Types -------------------------------------------------------------------------------- -- $CreatingAndDestroyingSubWindows -- Each created window has a unique associated OpenGL context. State changes to -- a window\'s associated OpenGL context can be done immediately after the -- window is created. -- -- The /display state/ of a window is initially for the window to be shown. But -- the window\'s /display state/ is not actually acted upon until -- 'Graphics.UI.GLUT.Begin.mainLoop' is entered. This means until -- 'Graphics.UI.GLUT.Begin.mainLoop' is called, rendering to a created window is -- ineffective because the window can not yet be displayed. -- -- The value returned by 'createWindow' and 'createSubWindow' is a unique -- identifier for the window, which can be used with 'currentWindow'. -- | Create a top-level window. The given name will be provided to the window -- system as the window\'s name. The intent is that the window system will label -- the window with the name.Implicitly, the /current window/ is set to the newly -- created window. -- -- /X Implementation Notes:/ The proper X Inter-Client Communication Conventions -- Manual (ICCCM) top-level properties are established. The @WM_COMMAND@ -- property that lists the command line used to invoke the GLUT program is only -- established for the first window created. createWindow :: String -- ^ The window name -> IO Window -- ^ The identifier for the newly created window createWindow name = fmap Window $ withCString name glutCreateWindow -------------------------------------------------------------------------------- -- | Create a subwindow of the identified window with the given relative -- position and size. Implicitly, the /current window/ is set to the -- newly created subwindow. Subwindows can be nested arbitrarily deep. createSubWindow :: Window -- ^ Identifier of the subwindow\'s parent window. -> Position -- ^ Window position in pixels relative to parent window\'s -- origin. -> Size -- ^ Window size in pixels -> IO Window -- ^ The identifier for the newly created subwindow createSubWindow (Window win) (Position x y) (Size w h) = fmap Window $ glutCreateSubWindow win (fromIntegral x) (fromIntegral y) (fromIntegral w) (fromIntegral h) -------------------------------------------------------------------------------- -- | Contains the /current window\'s/ parent. If the /current window/ is a -- top-level window, 'Nothing' is returned. parentWindow :: GettableStateVar (Maybe Window) parentWindow = makeGettableStateVar $ getWindow (simpleGet Window glut_WINDOW_PARENT) -------------------------------------------------------------------------------- -- | Contains the number of subwindows the /current window/ has, not counting -- children of children. numSubWindows :: GettableStateVar Int numSubWindows = makeGettableStateVar $ simpleGet fromIntegral glut_WINDOW_NUM_CHILDREN -------------------------------------------------------------------------------- -- | Destroy the specified window and the window\'s associated OpenGL context, -- logical colormap (if the window is color index), and overlay and related -- state (if an overlay has been established). Any subwindows of the destroyed -- window are also destroyed by 'destroyWindow'. If the specified window was the -- /current window/, the /current window/ becomes invalid ('currentWindow' will -- contain 'Nothing'). destroyWindow :: Window -> IO () destroyWindow (Window win) = glutDestroyWindow win -------------------------------------------------------------------------------- -- | Controls the /current window/. It does /not/ affect the /layer in use/ for -- the window; this is done using 'Graphics.UI.GLUT.Overlay.layerInUse'. -- Contains 'Nothing' if no windows exist or the previously /current window/ was -- destroyed. Setting the /current window/ to 'Nothing' is a no-op. currentWindow :: StateVar (Maybe Window) currentWindow = makeStateVar (getWindow (fmap Window glutGetWindow)) (maybe (return ()) (\(Window win) -> glutSetWindow win)) getWindow :: IO Window -> IO (Maybe Window) getWindow act = do win <- act return $ if win == Window 0 then Nothing else Just win -------------------------------------------------------------------------------- -- | Mark the normal plane of given window (or the /current window/, if none -- is supplied) as needing to be redisplayed. The next iteration through -- 'Graphics.UI.GLUT.Begin.mainLoop', the window\'s display callback will be -- called to redisplay the window\'s normal plane. Multiple calls to -- 'postRedisplay' before the next display callback opportunity generates only a -- single redisplay callback. 'postRedisplay' may be called within a window\'s -- display or overlay display callback to re-mark that window for redisplay. -- -- Logically, normal plane damage notification for a window is treated as a -- 'postRedisplay' on the damaged window. Unlike damage reported by the window -- system, 'postRedisplay' will /not/ set to true the normal plane\'s damaged -- status (see 'Graphics.UI.GLUT.State.damaged'). -- -- Also, see 'Graphics.UI.GLUT.Overlay.postOverlayRedisplay'. postRedisplay :: Maybe Window -> IO () postRedisplay = maybe glutPostRedisplay (\(Window win) -> glutPostWindowRedisplay win) -- | Mark the normal plane of the given window as needing to be redisplayed, -- otherwise the same as 'postRedisplay'. -- -- The advantage of this routine is that it saves the cost of using -- 'currentWindow' (entailing an expensive OpenGL context switch), which is -- particularly useful when multiple windows need redisplays posted at the same -- time. -------------------------------------------------------------------------------- -- | Perform a buffer swap on the /layer in use/ for the /current window/. -- Specifically, 'swapBuffers' promotes the contents of the back buffer of the -- /layer in use/ of the /current window/ to become the contents of the front -- buffer. The contents of the back buffer then become undefined. The update -- typically takes place during the vertical retrace of the monitor, rather than -- immediately after 'swapBuffers' is called. -- -- An implicit 'Graphics.Rendering.OpenGL.GL.FlushFinish.flush' is done by -- 'swapBuffers' before it returns. Subsequent OpenGL commands can be issued -- immediately after calling 'swapBuffers', but are not executed until the -- buffer exchange is completed. -- -- If the /layer in use/ is not double buffered, 'swapBuffers' has no effect. swapBuffers :: IO () swapBuffers = glutSwapBuffers -------------------------------------------------------------------------------- -- $ChangingTheWindowGeometry -- Note that the requests by 'windowPosition', 'windowSize', and 'fullScreen' -- are not processed immediately. A request is executed after returning to the -- main event loop. This allows multiple requests to the same window to be -- coalesced. -- -- 'windowPosition' and 'windowSize' requests on a window will disable the full -- screen status of the window. -------------------------------------------------------------------------------- -- | Controls the position of the /current window/. For top-level windows, -- parameters of 'Position' are pixel offsets from the screen origin. For -- subwindows, the parameters are pixel offsets from the window\'s parent window -- origin. -- -- In the case of top-level windows, setting 'windowPosition' is considered only -- a request for positioning the window. The window system is free to apply its -- own policies to top-level window placement. The intent is that top-level -- windows should be repositioned according to the value of 'windowPosition'. windowPosition :: StateVar Position windowPosition = makeStateVar getWindowPosition setWindowPosition setWindowPosition :: Position -> IO () setWindowPosition (Position x y) = glutPositionWindow (fromIntegral x) (fromIntegral y) getWindowPosition :: IO Position getWindowPosition = do x <- simpleGet fromIntegral glut_WINDOW_X y <- simpleGet fromIntegral glut_WINDOW_Y return $ Position x y -------------------------------------------------------------------------------- -- | Controls the size of the /current window/. The parameters of 'Size' are -- size extents in pixels. The width and height must be positive values. -- -- In the case of top-level windows, setting 'windowSize' is considered only a -- request for sizing the window. The window system is free to apply its own -- policies to top-level window sizing. The intent is that top-level windows -- should be reshaped according to the value of 'windowSize'. Whether a reshape -- actually takes effect and, if so, the reshaped dimensions are reported to the -- program by a reshape callback. windowSize :: StateVar Size windowSize = makeStateVar getWindowSize setWindowSize setWindowSize :: Size -> IO () setWindowSize (Size w h) = glutReshapeWindow (fromIntegral w) (fromIntegral h) getWindowSize :: IO Size getWindowSize = do w <- simpleGet fromIntegral glut_WINDOW_WIDTH h <- simpleGet fromIntegral glut_WINDOW_HEIGHT return $ Size w h -------------------------------------------------------------------------------- -- | Request that the /current window/ be made full screen. The exact semantics -- of what full screen means may vary by window system. The intent is to make -- the window as large as possible and disable any window decorations or borders -- added the window system. The window width and height are not guaranteed to be -- the same as the screen width and height, but that is the intent of making a -- window full screen. -- -- 'fullScreen' is defined to work only on top-level windows. -- -- /X Implementation Notes:/ In the X implementation of GLUT, full screen is -- implemented by sizing and positioning the window to cover the entire screen -- and posting the @_MOTIF_WM_HINTS@ property on the window requesting -- absolutely no decorations. Non-Motif window managers may not respond to -- @_MOTIF_WM_HINTS@. fullScreen :: IO () fullScreen = glutFullScreen -------------------------------------------------------------------------------- -- | (/freeglut only/) Toggle between windowed and full screen mode. fullScreenToggle :: IO () fullScreenToggle = glutFullScreenToggle -------------------------------------------------------------------------------- -- $ManipulatingTheStackingOrder -- 'pushWindow' and 'popWindow' work on both top-level windows and subwindows. -- The effect of pushing and popping windows does not take place immediately. -- Instead the push or pop is saved for execution upon return to the GLUT event -- loop. Subsequent pop or push requests on a window replace the previously -- saved request for that window. The effect of pushing and popping top-level -- windows is subject to the window system\'s policy for restacking windows. -- | Change the stacking order of the /current window/ relative to its siblings -- (lowering it). pushWindow :: IO () pushWindow = glutPushWindow -- | Change the stacking order of the /current window/ relative to its siblings, -- bringing the /current window/ closer to the top. popWindow :: IO () popWindow = glutPopWindow -------------------------------------------------------------------------------- -- | The display status of a window. data WindowStatus = Shown | Hidden | Iconified deriving ( Eq, Ord, Show ) -- | Controls the display status of the /current window/. -- -- Note that the effect of showing, hiding, and iconifying windows does not take -- place immediately. Instead the requests are saved for execution upon return -- to the GLUT event loop. Subsequent show, hide, or iconification requests on a -- window replace the previously saved request for that window. The effect of -- hiding, showing, or iconifying top-level windows is subject to the window -- system\'s policy for displaying windows. Subwindows can\'t be iconified. windowStatus :: SettableStateVar WindowStatus windowStatus = makeSettableStateVar setStatus where setStatus Shown = glutShowWindow setStatus Hidden = glutHideWindow setStatus Iconified = glutIconifyWindow -------------------------------------------------------------------------------- -- $ChangingTheWindowIconTitle -- 'windowTitle' and 'iconTitle' should be set only when the /current -- window/ is a top-level window. Upon creation of a top-level window, the -- window and icon names are determined by the name given to 'createWindow'. -- Once created, setting 'windowTitle' and 'iconTitle' can change the window and -- icon names respectively of top-level windows. Each call requests the window -- system change the title appropriately. Requests are not buffered or -- coalesced. The policy by which the window and icon name are displayed is -- window system dependent. -- | Controls the window title of the /current top-level window/. windowTitle :: SettableStateVar String windowTitle = makeSettableStateVar $ \name -> withCString name glutSetWindowTitle -- | Controls the icon title of the /current top-level window/. iconTitle :: SettableStateVar String iconTitle = makeSettableStateVar $ \name -> withCString name glutSetIconTitle -------------------------------------------------------------------------------- -- | The different cursor images GLUT supports. data Cursor = RightArrow -- ^ Arrow pointing up and to the right. | LeftArrow -- ^ Arrow pointing up and to the left. | Info -- ^ Pointing hand. | Destroy -- ^ Skull & cross bones. | Help -- ^ Question mark. | Cycle -- ^ Arrows rotating in a circle. | Spray -- ^ Spray can. | Wait -- ^ Wrist watch. | Text -- ^ Insertion point cursor for text. | Crosshair -- ^ Simple cross-hair. | UpDown -- ^ Bi-directional pointing up & down. | LeftRight -- ^ Bi-directional pointing left & right. | TopSide -- ^ Arrow pointing to top side. | BottomSide -- ^ Arrow pointing to bottom side. | LeftSide -- ^ Arrow pointing to left side. | RightSide -- ^ Arrow pointing to right side. | TopLeftCorner -- ^ Arrow pointing to top-left corner. | TopRightCorner -- ^ Arrow pointing to top-right corner. | BottomRightCorner -- ^ Arrow pointing to bottom-left corner. | BottomLeftCorner -- ^ Arrow pointing to bottom-right corner. | Inherit -- ^ Use parent\'s cursor. | None -- ^ Invisible cursor. | FullCrosshair -- ^ Full-screen cross-hair cursor (if possible, otherwise 'Crosshair'). deriving ( Eq, Ord, Show ) marshalCursor :: Cursor -> CInt marshalCursor x = case x of RightArrow -> glut_CURSOR_RIGHT_ARROW LeftArrow -> glut_CURSOR_LEFT_ARROW Info -> glut_CURSOR_INFO Destroy -> glut_CURSOR_DESTROY Help -> glut_CURSOR_HELP Cycle -> glut_CURSOR_CYCLE Spray -> glut_CURSOR_SPRAY Wait -> glut_CURSOR_WAIT Text -> glut_CURSOR_TEXT Crosshair -> glut_CURSOR_CROSSHAIR UpDown -> glut_CURSOR_UP_DOWN LeftRight -> glut_CURSOR_LEFT_RIGHT TopSide -> glut_CURSOR_TOP_SIDE BottomSide -> glut_CURSOR_BOTTOM_SIDE LeftSide -> glut_CURSOR_LEFT_SIDE RightSide -> glut_CURSOR_RIGHT_SIDE TopLeftCorner -> glut_CURSOR_TOP_LEFT_CORNER TopRightCorner -> glut_CURSOR_TOP_RIGHT_CORNER BottomRightCorner -> glut_CURSOR_BOTTOM_RIGHT_CORNER BottomLeftCorner -> glut_CURSOR_BOTTOM_LEFT_CORNER Inherit -> glut_CURSOR_INHERIT None -> glut_CURSOR_NONE FullCrosshair -> glut_CURSOR_FULL_CROSSHAIR unmarshalCursor :: CInt -> Cursor unmarshalCursor x | x == glut_CURSOR_RIGHT_ARROW = RightArrow | x == glut_CURSOR_LEFT_ARROW = LeftArrow | x == glut_CURSOR_INFO = Info | x == glut_CURSOR_DESTROY = Destroy | x == glut_CURSOR_HELP = Help | x == glut_CURSOR_CYCLE = Cycle | x == glut_CURSOR_SPRAY = Spray | x == glut_CURSOR_WAIT = Wait | x == glut_CURSOR_TEXT = Text | x == glut_CURSOR_CROSSHAIR = Crosshair | x == glut_CURSOR_UP_DOWN = UpDown | x == glut_CURSOR_LEFT_RIGHT = LeftRight | x == glut_CURSOR_TOP_SIDE = TopSide | x == glut_CURSOR_BOTTOM_SIDE = BottomSide | x == glut_CURSOR_LEFT_SIDE = LeftSide | x == glut_CURSOR_RIGHT_SIDE = RightSide | x == glut_CURSOR_TOP_LEFT_CORNER = TopLeftCorner | x == glut_CURSOR_TOP_RIGHT_CORNER = TopRightCorner | x == glut_CURSOR_BOTTOM_RIGHT_CORNER = BottomRightCorner | x == glut_CURSOR_BOTTOM_LEFT_CORNER = BottomLeftCorner | x == glut_CURSOR_INHERIT = Inherit | x == glut_CURSOR_NONE = None | x == glut_CURSOR_FULL_CROSSHAIR = FullCrosshair | otherwise = error ("unmarshalCursor: illegal value " ++ show x) -------------------------------------------------------------------------------- -- | Change the cursor image of the /current window/. Each call requests the -- window system change the cursor appropriately. The cursor image when a window -- is created is 'Inherit'. The exact cursor images used are implementation -- dependent. The intent is for the image to convey the meaning of the cursor -- name. For a top-level window, 'Inherit' uses the default window system -- cursor. -- -- /X Implementation Notes:/ GLUT for X uses SGI\'s @_SGI_CROSSHAIR_CURSOR@ -- convention to access a full-screen cross-hair cursor if possible. cursor :: StateVar Cursor cursor = makeStateVar getCursor setCursor setCursor :: Cursor -> IO () setCursor = glutSetCursor . marshalCursor getCursor :: IO Cursor getCursor = simpleGet unmarshalCursor glut_WINDOW_CURSOR -------------------------------------------------------------------------------- -- | Setting 'pointerPosition' warps the window system\'s pointer to a new -- location relative to the origin of the /current window/ by the specified -- pixel offset, which may be negative. The warp is done immediately. -- -- If the pointer would be warped outside the screen\'s frame buffer region, the -- location will be clamped to the nearest screen edge. The window system is -- allowed to further constrain the pointer\'s location in window system -- dependent ways. -- -- Good advice from Xlib\'s @XWarpPointer@ man page: \"There is seldom any -- reason for calling this function. The pointer should normally be left to the -- user.\" pointerPosition :: SettableStateVar Position pointerPosition = makeSettableStateVar $ \(Position x y) -> glutWarpPointer (fromIntegral x) (fromIntegral y) GLUT-2.4.0.0/Graphics/UI/GLUT/Types.hs0000644000000000000000000000723012121453247015107 0ustar0000000000000000-- #hide -------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Types -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- This is a purely internal module with miscellaneous types which don\'t really -- have a good place elsewhere. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Types ( Window(..), -- constructor used only internally Relation(..), relationToString, -- used only internally MouseButton(..), marshalMouseButton, unmarshalMouseButton -- used only internally ) where import Foreign.C.Types import Graphics.UI.GLUT.Raw -------------------------------------------------------------------------------- -- | An opaque identifier for a top-level window or a subwindow. newtype Window = Window CInt deriving ( Eq, Ord, Show ) -------------------------------------------------------------------------------- -- | A relation between a 'Graphics.UI.GLUT.Initialization.DisplayCapability' -- and a numeric value. data Relation = IsEqualTo -- ^ Equal. | IsNotEqualTo -- ^ Not equal. | IsLessThan -- ^ Less than and preferring larger difference (the least -- is best). | IsNotGreaterThan -- ^ Less than or equal and preferring larger difference -- (the least is best). | IsGreaterThan -- ^ Greater than and preferring larger differences (the -- most is best). | IsAtLeast -- ^ Greater than or equal and preferring more instead of -- less. This relation is useful for allocating -- resources like color precision or depth buffer -- precision where the maximum precision is generally -- preferred. Contrast with 'IsNotLessThan' relation. | IsNotLessThan -- ^ Greater than or equal but preferring less instead of -- more. This relation is useful for allocating -- resources such as stencil bits or auxillary color -- buffers where you would rather not over-allocate. deriving ( Eq, Ord, Show ) relationToString :: Relation -> String relationToString IsEqualTo = "=" relationToString IsNotEqualTo = "!=" relationToString IsLessThan = "<" relationToString IsNotGreaterThan = "<=" relationToString IsGreaterThan = ">" relationToString IsAtLeast = ">=" relationToString IsNotLessThan = "~" -------------------------------------------------------------------------------- -- | Mouse buttons, including a wheel data MouseButton = LeftButton | MiddleButton | RightButton | WheelUp | WheelDown | AdditionalButton Int deriving ( Eq, Ord, Show ) marshalMouseButton :: MouseButton -> CInt marshalMouseButton x = case x of LeftButton -> glut_LEFT_BUTTON MiddleButton -> glut_MIDDLE_BUTTON RightButton -> glut_RIGHT_BUTTON WheelUp -> glut_WHEEL_UP WheelDown -> glut_WHEEL_DOWN AdditionalButton b -> fromIntegral b unmarshalMouseButton :: CInt -> MouseButton unmarshalMouseButton x | x == glut_LEFT_BUTTON = LeftButton | x == glut_MIDDLE_BUTTON = MiddleButton | x == glut_RIGHT_BUTTON = RightButton | x == glut_WHEEL_UP = WheelUp | x == glut_WHEEL_DOWN = WheelDown | otherwise = AdditionalButton (fromIntegral x) glut_WHEEL_UP :: CInt glut_WHEEL_UP = 3 glut_WHEEL_DOWN :: CInt glut_WHEEL_DOWN = 4 GLUT-2.4.0.0/Graphics/UI/GLUT/State.hs0000644000000000000000000003272312121453247015070 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.State -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- GLUT maintains a considerable amount of programmer visible state. Some (but -- not all) of this state may be directly retrieved. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.State ( -- * State of all windows windowBorderWidth, windowHeaderHeight, -- * State of the /current window/ rgba, BufferDepth, rgbaBufferDepths, colorBufferDepth, doubleBuffered, stereo, accumBufferDepths, depthBufferDepth, stencilBufferDepth, SampleCount, sampleCount, formatID, fullScreenMode, -- * GLUT state pertaining to the layers of the /current window/ damaged, -- * Timing elapsedTime, -- * Device information -- $DeviceInformation screenSize, screenSizeMM, hasKeyboard, ButtonCount, numMouseButtons, numSpaceballButtons, DialCount, numDialsAndButtons, numTabletButtons, AxisCount, PollRate, joystickInfo, supportedNumAuxBuffers, supportedSamplesPerPixel, -- * GLUT information glutVersion, initState ) where import Control.Monad import Foreign.C.Types import Foreign.Marshal.Alloc import Foreign.Marshal.Array import Foreign.Ptr import Foreign.Storable import Graphics.Rendering.OpenGL ( GLenum, Size(..) , StateVar, makeStateVar , GettableStateVar, makeGettableStateVar ) import Graphics.UI.GLUT.Overlay import Graphics.UI.GLUT.QueryUtils import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.Window -------------------------------------------------------------------------------- -- | Contains 'True' when the current layer of the /current window/ is in RGBA -- mode, 'False' means color index mode. rgba :: GettableStateVar Bool rgba = makeGettableStateVar$ simpleGet i2b glut_WINDOW_RGBA -- | Bit depth of a buffer type BufferDepth = Int -- | Contains the number of red, green, blue, and alpha bits in the color buffer -- of the /current window\'s/ current layer (0 in color index mode). rgbaBufferDepths :: GettableStateVar (BufferDepth, BufferDepth, BufferDepth, BufferDepth) rgbaBufferDepths = makeGettableStateVar $ do r <- simpleGet fromIntegral glut_WINDOW_RED_SIZE g <- simpleGet fromIntegral glut_WINDOW_GREEN_SIZE b <- simpleGet fromIntegral glut_WINDOW_BLUE_SIZE a <- simpleGet fromIntegral glut_WINDOW_ALPHA_SIZE return (r, g, b, a) -- | Contains the total number of bits in the color buffer of the /current -- window\'s/ current layer. For an RGBA layer, this is the sum of the red, -- green, blue, and alpha bits. For an color index layer, this is the number -- of bits of the color indexes. colorBufferDepth :: GettableStateVar BufferDepth colorBufferDepth = makeGettableStateVar $ simpleGet fromIntegral glut_WINDOW_BUFFER_SIZE -- | Contains 'True' when the current layer of the /current window/ is double -- buffered, 'False' otherwise. doubleBuffered :: GettableStateVar Bool doubleBuffered = makeGettableStateVar $ simpleGet i2b glut_WINDOW_DOUBLEBUFFER -- | Contains 'True' when the current layer of the /current window/ is stereo, -- 'False' otherwise. stereo :: GettableStateVar Bool stereo = makeGettableStateVar $ simpleGet i2b glut_WINDOW_STEREO -- | Contains the number of red, green, blue, and alpha bits in the accumulation -- buffer of the /current window\'s/ current layer (0 in color index mode). accumBufferDepths :: GettableStateVar (BufferDepth, BufferDepth, BufferDepth, BufferDepth) accumBufferDepths = makeGettableStateVar $ do r <- simpleGet fromIntegral glut_WINDOW_ACCUM_RED_SIZE g <- simpleGet fromIntegral glut_WINDOW_ACCUM_GREEN_SIZE b <- simpleGet fromIntegral glut_WINDOW_ACCUM_BLUE_SIZE a <- simpleGet fromIntegral glut_WINDOW_ACCUM_ALPHA_SIZE return (r, g, b, a) -- | Contains the number of bits in the depth buffer of the /current window\'s/ -- current layer. depthBufferDepth :: GettableStateVar BufferDepth depthBufferDepth = makeGettableStateVar $ simpleGet fromIntegral glut_WINDOW_DEPTH_SIZE -- | Contains the number of bits in the stencil buffer of the /current -- window\'s/ current layer. stencilBufferDepth :: GettableStateVar BufferDepth stencilBufferDepth = makeGettableStateVar $ simpleGet fromIntegral glut_WINDOW_STENCIL_SIZE -- | Number of samples for multisampling type SampleCount = Int -- | Contains the number of samples for multisampling for the /current window./ sampleCount :: GettableStateVar SampleCount sampleCount = makeGettableStateVar $ simpleGet fromIntegral glut_WINDOW_NUM_SAMPLES -- | Contains the window system dependent format ID for the current layer of the -- /current window/. On X11 GLUT implementations, this is the X visual ID. On -- Win32 GLUT implementations, this is the Win32 Pixel Format Descriptor number. -- This value is returned for debugging, benchmarking, and testing ease. formatID :: GettableStateVar Int formatID = makeGettableStateVar $ simpleGet fromIntegral glut_WINDOW_FORMAT_ID -------------------------------------------------------------------------------- -- | (/freeglut only/) Contains 'True' if the /current window/ is in full screen -- mode, 'False' otherwise. fullScreenMode :: StateVar Bool fullScreenMode = makeStateVar getFullScreenMode setFullScreenMode getFullScreenMode :: IO Bool getFullScreenMode = simpleGet i2b glut_FULL_SCREEN setFullScreenMode :: Bool -> IO () setFullScreenMode newMode = do oldMode <- getFullScreenMode unless (newMode == oldMode) fullScreenToggle -------------------------------------------------------------------------------- -- | Contains the number of milliseconds since -- 'Graphics.UI.GLUT.Initialization.initialize' was called. elapsedTime :: GettableStateVar Int elapsedTime = makeGettableStateVar $ simpleGet fromIntegral glut_ELAPSED_TIME -------------------------------------------------------------------------------- -- | Contains 'True' if the given plane of the /current window/ has been -- damaged (by window system activity) since the last display callback was -- triggered. Calling 'Graphics.UI.GLUT.Window.postRedisplay' or -- 'Graphics.UI.GLUT.Overlay.postOverlayRedisplay' will not set this 'True'. damaged :: Layer -> GettableStateVar Bool damaged l = makeGettableStateVar $ layerGet isDamaged (marshalDamagedLayer l) where isDamaged d = d /= 0 && d /= -1 marshalDamagedLayer x = case x of Normal -> glut_NORMAL_DAMAGED Overlay -> glut_OVERLAY_DAMAGED -------------------------------------------------------------------------------- -- $DeviceInformation -- If a device is not available, the following state variables contain -- 'Nothing', otherwise they return 'Just' the specific device information. -- Only a screen is always assumed. -------------------------------------------------------------------------------- -- | The size of the screen in pixels. screenSize :: GettableStateVar Size screenSize = makeGettableStateVar $ do wpx <- simpleGet fromIntegral glut_SCREEN_WIDTH hpx <- simpleGet fromIntegral glut_SCREEN_HEIGHT return $ Size wpx hpx -- | The size of the screen in millimeters. screenSizeMM :: GettableStateVar Size screenSizeMM = makeGettableStateVar $ do wmm <- simpleGet fromIntegral glut_SCREEN_WIDTH_MM hmm <- simpleGet fromIntegral glut_SCREEN_HEIGHT_MM return $ Size wmm hmm -------------------------------------------------------------------------------- -- | Contains 'True' if a keyboard is present, 'False' otherwise. hasKeyboard :: GettableStateVar Bool hasKeyboard = makeGettableStateVar $ deviceGet i2b glut_HAS_KEYBOARD -------------------------------------------------------------------------------- -- | Number of buttons of an input device type ButtonCount = Int -- | Contains 'Just' the number of buttons of an attached mouse or 'Nothing' if -- there is none. numMouseButtons :: GettableStateVar (Maybe ButtonCount) numMouseButtons = getDeviceInfo glut_HAS_MOUSE $ deviceGet fromIntegral glut_NUM_MOUSE_BUTTONS -------------------------------------------------------------------------------- -- | Contains 'Just' the number of buttons of the attached Spaceball or 'Nothing' -- if there is none. numSpaceballButtons :: GettableStateVar (Maybe ButtonCount) numSpaceballButtons = getDeviceInfo glut_HAS_SPACEBALL $ deviceGet fromIntegral glut_NUM_SPACEBALL_BUTTONS -------------------------------------------------------------------------------- -- | Number of dials of a dial and button box type DialCount = Int -- | Contains 'Just' the number of dials and buttons of an attached dial & -- button box or 'Nothing' if there is none. numDialsAndButtons :: GettableStateVar (Maybe (DialCount, ButtonCount)) numDialsAndButtons = getDeviceInfo glut_HAS_DIAL_AND_BUTTON_BOX $ do d <- deviceGet fromIntegral glut_NUM_DIALS b <- deviceGet fromIntegral glut_NUM_BUTTON_BOX_BUTTONS return (d, b) -------------------------------------------------------------------------------- -- | Contains 'Just' the number of buttons of an attached tablet or 'Nothing' if -- there is none. numTabletButtons :: GettableStateVar (Maybe ButtonCount) numTabletButtons = getDeviceInfo glut_HAS_TABLET $ deviceGet fromIntegral glut_NUM_TABLET_BUTTONS -------------------------------------------------------------------------------- -- | Number of axes of a joystick type AxisCount = Int -- | The a rate at which a joystick is polled (in milliseconds) type PollRate = Int -- | Contains 'Just' the number of buttons of an attached joystick, the number -- of joystick axes, and the rate at which the joystick is polled. Contains -- 'Nothing' if there is no joystick attached. joystickInfo :: GettableStateVar (Maybe (ButtonCount, PollRate, AxisCount)) joystickInfo = getDeviceInfo glut_HAS_JOYSTICK $ do b <- deviceGet fromIntegral glut_JOYSTICK_BUTTONS a <- deviceGet fromIntegral glut_JOYSTICK_AXES r <- deviceGet fromIntegral glut_JOYSTICK_POLL_RATE return (b, a, r) ----------------------------------------------------------------------------- -- | (/freeglut only/) Contains a list of the number of auxiliary buffers -- supported, in increasing order. supportedNumAuxBuffers :: GettableStateVar [Int] supportedNumAuxBuffers = getModeValues glut_AUX -- | (/freeglut only/) Contains a list of the number of samples per pixel -- supported for multisampling, in increasing order. supportedSamplesPerPixel :: GettableStateVar [SampleCount] supportedSamplesPerPixel = getModeValues (fromIntegral glut_MULTISAMPLE) getModeValues :: Integral a => GLenum -> GettableStateVar [a] getModeValues what = makeGettableStateVar $ alloca $ \sizeBuffer -> do valuesBuffer <- glutGetModeValues what sizeBuffer size <- peek sizeBuffer fmap (map fromIntegral) $ peekArray (fromIntegral size) valuesBuffer -------------------------------------------------------------------------------- -- Convenience unmarshalers i2b :: CInt -> Bool i2b = (/= 0) -------------------------------------------------------------------------------- getDeviceInfo :: GLenum -> IO a -> GettableStateVar (Maybe a) getDeviceInfo dev act = makeGettableStateVar $ do hasDevice <- deviceGet i2b dev if hasDevice then fmap Just act else return Nothing ----------------------------------------------------------------------------- -- | Contains version of GLUT in the form of -- @/flavour/ /major/./minor/./patchlevel/@, where @/flavour/@ is one of -- @GLUT@, @freeglut@ or @OpenGLUT@. glutVersion :: GettableStateVar String glutVersion = makeGettableStateVar $ do let isGLUT = isUnknown "glutSetOption" isFreeglut = isUnknown "glutSetWindowStayOnTop" isUnknown = fmap (== nullFunPtr) . getAPIEntryInternal showVersionPart x = shows (x `mod` 100) showVersion v = showVersionPart (v `div` 10000) . showChar '.' . showVersionPart (v `div` 100) . showChar '.' . showVersionPart v g <- isGLUT if g then return "GLUT 3.7" -- ToDo: just guessing else do f <- isFreeglut v <- simpleGet id glut_VERSION let prefix = if f then "freeglut" else "OpenGLUT" return $ showString prefix . showChar ' ' . showVersion v $ "" ----------------------------------------------------------------------------- -- | (/freeglut only/) Contains the thickness of the sizing border around the -- perimeter of a window that can be resized, in pixels. windowBorderWidth :: GettableStateVar Int windowBorderWidth = makeGettableStateVar (simpleGet fromIntegral glut_WINDOW_BORDER_WIDTH) ----------------------------------------------------------------------------- -- | (/freeglut only/) Contains the height of the header\/caption area of a -- window in pixels. windowHeaderHeight :: GettableStateVar Int windowHeaderHeight = makeGettableStateVar (simpleGet fromIntegral glut_WINDOW_HEADER_HEIGHT) ----------------------------------------------------------------------------- -- | (/freeglut only/) Contains 'True' if GLUT has been initialized -- with 'Graphics.UI.GLUT.Initialization.initialize' or -- 'Graphics.UI.GLUT.Initialization.getArgsAndInitialize' has and not yet -- been de-initialized with 'Graphics.UI.GLUT.Initialization.exit'. Contains -- 'False' otherwise. initState :: GettableStateVar Bool initState = makeGettableStateVar$ simpleGet i2b glut_INIT_STATE GLUT-2.4.0.0/Graphics/UI/GLUT/Raw.hs0000644000000000000000000000155612121453247014541 0ustar0000000000000000-- #hide ----------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Raw -- Copyright : (c) Sven Panne 2009 -- License : BSD-style (see the file LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- A convenience module, combining all raw GLUT modules. -- ----------------------------------------------------------------------------- module Graphics.UI.GLUT.Raw ( module Graphics.UI.GLUT.Raw.APIEntry, module Graphics.UI.GLUT.Raw.Callbacks, module Graphics.UI.GLUT.Raw.Fonts, module Graphics.UI.GLUT.Raw.Functions, module Graphics.UI.GLUT.Raw.Tokens ) where import Graphics.UI.GLUT.Raw.APIEntry import Graphics.UI.GLUT.Raw.Callbacks import Graphics.UI.GLUT.Raw.Fonts import Graphics.UI.GLUT.Raw.Functions import Graphics.UI.GLUT.Raw.Tokens GLUT-2.4.0.0/Graphics/UI/GLUT/QueryUtils.hs0000644000000000000000000000207212121453247016130 0ustar0000000000000000-- #hide -------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.QueryUtils -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- This is a purely internal module with utilities to query GLUT state. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.QueryUtils ( Getter, simpleGet, layerGet, deviceGet ) where import Foreign.C.Types import Graphics.Rendering.OpenGL ( GLenum ) import Graphics.UI.GLUT.Raw -------------------------------------------------------------------------------- type PrimGetter = GLenum -> IO CInt type Getter a = (CInt -> a) -> GLenum -> IO a makeGetter :: PrimGetter -> Getter a makeGetter g f = fmap f . g simpleGet, layerGet, deviceGet :: Getter a simpleGet = makeGetter glutGet layerGet = makeGetter glutLayerGet deviceGet = makeGetter glutDeviceGet GLUT-2.4.0.0/Graphics/UI/GLUT/Overlay.hs0000644000000000000000000001570112121453247015426 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Overlay -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- When overlay hardware is available, GLUT provides a set of routines for -- establishing, using, and removing an overlay for GLUT windows. When an -- overlay is established, a separate OpenGL context is also established. A -- window\'s overlay OpenGL state is kept distinct from the normal planes\' -- OpenGL state. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Overlay ( -- * Overlay creation and destruction hasOverlay, overlayPossible, -- * Showing and hiding an overlay overlayVisible, -- * Changing the /layer in use/ Layer(..), layerInUse, -- * Re-displaying postOverlayRedisplay ) where import Graphics.Rendering.OpenGL ( GLenum, StateVar, makeStateVar , GettableStateVar, makeGettableStateVar , SettableStateVar, makeSettableStateVar ) import Graphics.UI.GLUT.QueryUtils import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.Types -------------------------------------------------------------------------------- -- | Controls the overlay for the /current window/. The requested display mode -- for the overlay is determined by the /initial display mode/. -- 'overlayPossible' can be used to determine if an overlay is possible for the -- /current window/ with the current /initial display mode/. Do not attempt to -- establish an overlay when one is not possible; GLUT will terminate the -- program. -- -- When 'hasOverlay' is set to 'True' when an overlay already exists, the -- existing overlay is first removed, and then a new overlay is established. The -- state of the old overlay\'s OpenGL context is discarded. Implicitly, the -- window\'s /layer in use/ changes to the overlay immediately after the overlay -- is established. -- -- The initial display state of an overlay is shown, however the overlay is only -- actually shown if the overlay\'s window is shown. -- -- Setting 'hasOverlay' to 'False' is safe even if no overlay is currently -- established, nothing happens in this case. Implicitly, the window\'s /layer -- in use/ changes to the normal plane immediately once the overlay is removed. -- -- If the program intends to re-establish the overlay later, it is typically -- faster and less resource intensive to use 'overlayVisible' to simply change -- the display status of the overlay. -- -- /X Implementation Notes:/ GLUT for X uses the @SERVER_OVERLAY_VISUALS@ -- convention to determine if overlay visuals are available. While the -- convention allows for opaque overlays (no transparency) and overlays with the -- transparency specified as a bitmask, GLUT overlay management only provides -- access to transparent pixel overlays. -- -- Until RGBA overlays are better understood, GLUT only supports color index -- overlays. hasOverlay :: StateVar Bool hasOverlay = makeStateVar getHasOverlay setHasOverlay setHasOverlay :: Bool -> IO () setHasOverlay False = glutRemoveOverlay setHasOverlay True = glutEstablishOverlay getHasOverlay :: IO Bool getHasOverlay = layerGet (/= 0) glut_HAS_OVERLAY -------------------------------------------------------------------------------- -- | Contains 'True' if an overlay could be established for the /current window/ -- given the current /initial display mode/. If it contains 'False', -- 'setHasOverlay' will fail with a fatal error if called. overlayPossible :: GettableStateVar Bool overlayPossible = makeGettableStateVar $ layerGet (/= 0) glut_OVERLAY_POSSIBLE -------------------------------------------------------------------------------- -- | Controls the visibility of the overlay of the /current window/. -- -- The effect of showing or hiding an overlay takes place immediately. Note that -- setting 'overlayVisible' to 'True' will not actually display the overlay -- unless the window is also shown (and even a shown window may be obscured by -- other windows, thereby obscuring the overlay). It is typically faster and -- less resource intensive to use the routines below to control the display -- status of an overlay as opposed to removing and re-establishing the overlay. overlayVisible :: SettableStateVar Bool overlayVisible = makeSettableStateVar $ \flag -> if flag then glutShowOverlay else glutHideOverlay -------------------------------------------------------------------------------- -- | The /layer in use/. data Layer = Normal -- ^ The normal plane. | Overlay -- ^ The overlay. deriving ( Eq, Ord, Show ) marshalLayer :: Layer -> GLenum marshalLayer x = case x of Normal -> glut_NORMAL Overlay -> glut_OVERLAY unmarshalLayer :: GLenum -> Layer unmarshalLayer x | x == glut_NORMAL = Normal | x == glut_OVERLAY = Overlay | otherwise = error ("unmarshalLayer: illegal value " ++ show x) -------------------------------------------------------------------------------- -- | Controls the per-window /layer in use/ for the /current window/, which can -- either be the normal plane or the overlay. Selecting the overlay should only -- be done if an overlay exists, however windows without an overlay may still -- set the /layer in use/ to 'Normal'. OpenGL commands for the window are -- directed to the current /layer in use/. layerInUse :: StateVar Layer layerInUse = makeStateVar getLayerInUse setLayerInUse setLayerInUse :: Layer -> IO () setLayerInUse = glutUseLayer . marshalLayer getLayerInUse :: IO Layer getLayerInUse = layerGet (unmarshalLayer . fromIntegral) glut_LAYER_IN_USE -------------------------------------------------------------------------------- -- | Mark the overlay of the given window (or the /current window/, if none is -- supplied) as needing to be redisplayed. The next iteration through -- 'Graphics.UI.GLUT.Begin.mainLoop', the window\'s overlay display callback -- (or simply the display callback if no overlay display callback is registered) -- will be called to redisplay the window\'s overlay plane. Multiple calls to -- 'postOverlayRedisplay' before the next display callback opportunity (or -- overlay display callback opportunity if one is registered) generate only a -- single redisplay. 'postOverlayRedisplay' may be called within a window\'s -- display or overlay display callback to re-mark that window for redisplay. -- -- Logically, overlay damage notification for a window is treated as a -- 'postOverlayRedisplay' on the damaged window. Unlike damage reported by the -- window system, 'postOverlayRedisplay' will not set to true the overlay\'s -- damaged status (see 'Graphics.UI.GLUT.State.damaged'). -- -- Also, see 'Graphics.UI.GLUT.Window.postRedisplay'. postOverlayRedisplay :: Maybe Window -> IO () postOverlayRedisplay = maybe glutPostOverlayRedisplay (\(Window win) -> glutPostWindowOverlayRedisplay win) GLUT-2.4.0.0/Graphics/UI/GLUT/Objects.hs0000644000000000000000000003204712121453247015400 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Objects -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- GLUT includes a number of routines for generating easily recognizable 3D -- geometric objects. These routines reflect functionality available in the -- @aux@ toolkit described in the /OpenGL Programmer\'s Guide/ and are included -- in GLUT to allow the construction of simple GLUT programs that render -- recognizable objects. These routines can be implemented as pure OpenGL -- rendering routines. The routines do not generate display lists for the -- objects they create. The routines generate normals appropriate for lighting -- but do not generate texture coordinates (except for the teapot). -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Objects ( -- * Rendering flavour Flavour(..), -- * Object description Object(..), -- * Type synonyms Sides, Rings, NumLevels, -- * Rendering renderObject ) where import Foreign.C.Types import Foreign.Marshal.Utils import Foreign.Ptr import Graphics.Rendering.OpenGL ( Height, Radius, Slices, Stacks, GLint, GLdouble, Vertex3(..) ) import Graphics.UI.GLUT.Raw -------------------------------------------------------------------------------- -- | Flavour of object rendering data Flavour = -- | Object is rendered as a solid with shading and surface normals. Solid | -- | Object is rendered as a wireframe without surface normals. Wireframe deriving ( Eq, Ord, Show ) -------------------------------------------------------------------------------- -- | GLUT offers five types of objects: -- -- * The five Platonic solids, see -- . -- -- * A rhombic dodecahedron, see -- . -- -- * Approximations to rounded objects. -- -- * The classic teapot modeled by Martin Newell in 1975. Both surface normals -- and texture coordinates for the teapot are generated. The teapot is -- generated with OpenGL evaluators. -- -- * A Sierpinski sponge, see -- . data Object = -- | A cube centered at the modeling coordinates origin with sides of the -- given length. Cube Height | -- | A dodecahedron (12-sided regular solid) centered at the modeling -- coordinates origin with a radius of @sqrt 3@. Dodecahedron | -- | A icosahedron (20-sided regular solid) centered at the modeling -- coordinates origin with a radius of 1.0. Icosahedron | -- | Render a solid octahedron (8-sided regular solid) centered at the -- modeling coordinates origin with a radius of 1.0. Octahedron | -- | Render a solid tetrahedron (4-sided regular solid) centered at the -- modeling coordinates origin with a radius of @sqrt 3@. Tetrahedron | -- | (/freeglut only/) A rhombic dodecahedron whose corners are at most a -- distance of one from the origin. The rhombic dodecahedron has faces -- which are identical rhombi, but which have some vertices at which three -- faces meet and some vertices at which four faces meet. The length of -- each side is @(sqrt 3)\/2@. Vertices at which four faces meet are found -- at @(0, 0, +\/-1)@ and @(+\/-(sqrt 2)\/2, +\/-(sqrt 2)\/2, 0)@. RhombicDodecahedron | -- | A sphere centered at the modeling coordinates origin of the specified -- radius. The sphere is subdivided around the Z axis into slices -- (similar to lines of longitude) and along the Z axis into stacks -- (similar to lines of latitude). Sphere' Radius Slices Stacks | -- | A cone oriented along the Z axis. The base of the cone is placed at Z -- = 0, and the top at Z = the given height. The cone is subdivided -- around the Z axis into slices, and along the Z axis into stacks. Cone Radius Height Slices Stacks | -- |(/freeglut only/) A cylinder oriented along the Z axis. The base of the -- cylinder is placed at Z = 0, and the top at Z = the given height. The -- cylinder is subdivided around the Z axis into slices, and along the Z -- axis into stacks. Cylinder' Radius Height Slices Stacks | -- | A torus (doughnut) centered at the modeling coordinates origin -- whose axis is aligned with the Z axis. The torus is described by its -- inner and outer radius, the number of sides for each radial section, -- and the number of radial divisions (rings). Torus Radius Radius Sides Rings | -- | A teapot with a given relative size. Teapot Height | -- |(/freeglut only/) A Sierpinski sponge of a given level, where a level -- 0 sponge is the same as a 'Tetrahedron'. SierpinskiSponge NumLevels deriving ( Eq, Ord, Show ) -------------------------------------------------------------------------------- type Sides = GLint type Rings = GLint type NumLevels = GLint -------------------------------------------------------------------------------- -- | Render an object in the given flavour. renderObject :: Flavour -> Object -> IO () renderObject Solid (Cube h) = solidCube h renderObject Wireframe (Cube h) = wireCube h renderObject Solid Dodecahedron = solidDodecahedron renderObject Wireframe Dodecahedron = wireDodecahedron renderObject Solid Icosahedron = solidIcosahedron renderObject Wireframe Icosahedron = wireIcosahedron renderObject Solid Octahedron = solidOctahedron renderObject Wireframe Octahedron = wireOctahedron renderObject Solid Tetrahedron = solidTetrahedron renderObject Wireframe Tetrahedron = wireTetrahedron renderObject Solid RhombicDodecahedron = glutSolidRhombicDodecahedron renderObject Wireframe RhombicDodecahedron = glutWireRhombicDodecahedron renderObject Solid (Sphere' r s t) = solidSphere r s t renderObject Wireframe (Sphere' r s t) = wireSphere r s t renderObject Solid (Cone r h s t) = solidCone r h s t renderObject Wireframe (Cone r h s t) = wireCone r h s t renderObject Solid (Cylinder' r h s t) = glutSolidCylinder r h s t renderObject Wireframe (Cylinder' r h s t) = glutWireCylinder r h s t renderObject Solid (Torus i o s r) = solidTorus i o s r renderObject Wireframe (Torus i o s r) = wireTorus i o s r renderObject Solid (Teapot h) = solidTeapot h renderObject Wireframe (Teapot h) = wireTeapot h renderObject Solid (SierpinskiSponge n) = solidSierpinskiSponge n renderObject Wireframe (SierpinskiSponge n) = wireSierpinskiSponge n -------------------------------------------------------------------------------- -- | Render a solid cube centered at the modeling coordinates origin with sides -- of the given length. solidCube :: Height -- ^ Length of the cube sides -> IO () solidCube = glutSolidCube -- | Render a wireframe cube centered at the modeling coordinates origin with -- sides of the given length. wireCube :: Height -- ^ Length of the cube sides -> IO () wireCube = glutWireCube -------------------------------------------------------------------------------- -- | Render a solid dodecahedron (12-sided regular solid) centered at the -- modeling coordinates origin with a radius of @sqrt 3@. solidDodecahedron :: IO () solidDodecahedron = glutSolidDodecahedron -- | Render a wireframe dodecahedron (12-sided regular solid) centered at the -- modeling coordinates origin with a radius of @sqrt 3@. wireDodecahedron :: IO () wireDodecahedron = glutWireDodecahedron -------------------------------------------------------------------------------- -- | Render a solid icosahedron (20-sided regular solid) centered at the -- modeling coordinates origin with a radius of 1.0. wireIcosahedron :: IO () wireIcosahedron = glutWireIcosahedron -- | Render a wireframe icosahedron (20-sided regular solid) centered at the -- modeling coordinates origin with a radius of 1.0. solidIcosahedron :: IO () solidIcosahedron = glutSolidIcosahedron -------------------------------------------------------------------------------- -- | Render a solid octahedron (8-sided regular solid) centered at the modeling -- coordinates origin with a radius of 1.0. solidOctahedron :: IO () solidOctahedron = glutSolidOctahedron -- | Render a wireframe octahedron (8-sided regular solid) centered at the -- modeling coordinates origin with a radius of 1.0. wireOctahedron :: IO () wireOctahedron = glutWireOctahedron -------------------------------------------------------------------------------- -- | Render a solid tetrahedron (4-sided regular solid) centered at the modeling -- coordinates origin with a radius of @sqrt 3@. wireTetrahedron :: IO () wireTetrahedron = glutWireTetrahedron -- | Render a wireframe tetrahedron (4-sided regular solid) centered at the -- modeling coordinates origin with a radius of @sqrt 3@. solidTetrahedron :: IO () solidTetrahedron = glutSolidTetrahedron -------------------------------------------------------------------------------- -- | Render a solid sphere centered at the modeling coordinates origin of the -- specified radius. The sphere is subdivided around the Z axis into slices -- and along the Z axis into stacks. solidSphere :: Radius -- ^ Radius of the sphere. -> Slices -- ^ Number of subdivisions (slices) around the Z axis, similar -- to lines of longitude. -> Stacks -- ^ The number of subdivisions (stacks) along the Z axis, -- similar to lines of latitude. -> IO () solidSphere = glutSolidSphere -- | Render a wireframe sphere centered at the modeling coordinates origin of -- the specified radius. The sphere is subdivided around the Z axis into slices -- and along the Z axis into stacks. wireSphere :: Radius -- ^ Radius of the sphere. -> Slices -- ^ Number of subdivisions (slices) around the Z axis, similar -- to lines of longitude. -> Stacks -- ^ The number of subdivisions (stacks) along the Z axis, -- similar to lines of latitude. -> IO () wireSphere = glutWireSphere -------------------------------------------------------------------------------- -- | Render a solid cone oriented along the Z axis. The base of the cone is -- placed at Z = 0, and the top at Z = height. The cone is subdivided around the -- Z axis into slices, and along the Z axis into stacks. solidCone :: Radius -- ^ Radius of the base of the cone. -> Height -- ^ Height of the cone. -> Slices -- ^ Number of subdivisions around the Z axis. -> Stacks -- ^ The number of subdivisions along the Z axis. -> IO () solidCone = glutSolidCone -- | Render a wireframe cone oriented along the Z axis. The base of the cone is -- placed at Z = 0, and the top at Z = height. The cone is subdivided around the -- Z axis into slices, and along the Z axis into stacks. wireCone :: Radius -- ^ Radius of the base of the cone. -> Height -- ^ Height of the cone. -> Slices -- ^ Number of subdivisions around the Z axis. -> Stacks -- ^ The number of subdivisions along the Z axis. -> IO () wireCone = glutWireCone -------------------------------------------------------------------------------- -- | Render a solid torus (doughnut) centered at the modeling coordinates origin -- whose axis is aligned with the Z axis. solidTorus :: Radius -- ^ Inner radius of the torus. -> Radius -- ^ Outer radius of the torus. -> Slices -- ^ Number of sides for each radial section. -> Stacks -- ^ Number of radial divisions for the torus. -> IO () solidTorus = glutSolidTorus -- | Render a wireframe torus (doughnut) centered at the modeling coordinates -- origin whose axis is aligned with the Z axis. wireTorus :: Radius -- ^ Inner radius of the torus. -> Radius -- ^ Outer radius of the torus. -> Slices -- ^ Number of sides for each radial section. -> Stacks -- ^ Number of radial divisions for the torus. -> IO () wireTorus = glutWireTorus -------------------------------------------------------------------------------- -- | Render a solid teapot. solidTeapot :: Height -- ^ Relative size of the teapot -> IO () solidTeapot = glutSolidTeapot -- | Render a wireframe teapot. wireTeapot :: Height -- ^ Relative size of the teapot -> IO () wireTeapot = glutWireTeapot -------------------------------------------------------------------------------- solidSierpinskiSponge :: NumLevels -> IO () solidSierpinskiSponge = sierpinskiSponge glutSolidSierpinskiSponge wireSierpinskiSponge :: NumLevels -> IO () wireSierpinskiSponge = sierpinskiSponge glutWireSierpinskiSponge -- for consistency, we hide the offset and scale on the Haskell side sierpinskiSponge :: (CInt -> Ptr GLdouble -> Height -> IO ()) -> NumLevels -> IO () sierpinskiSponge f n = with (Vertex3 0 0 0) $ \offsetBuf -> f (fromIntegral n) ((castPtr :: Ptr (Vertex3 GLdouble) -> Ptr GLdouble) offsetBuf) 1 GLUT-2.4.0.0/Graphics/UI/GLUT/Menu.hs0000644000000000000000000002253012121453247014707 0ustar0000000000000000{-# OPTIONS_GHC -fno-cse #-} -------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Menu -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- GLUT supports simple cascading pop-up menus. They are designed to let a user -- select various modes within a program. The functionality is simple and -- minimalistic and is meant to be that way. Do not mistake GLUT\'s pop-up menu -- facility with an attempt to create a full-featured user interface. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Menu ( Menu(..), MenuItem(..), MenuCallback, attachMenu, numMenuItems ) where import Data.Array import Data.IORef import qualified Data.Map as Map ( empty, lookup, insert, delete ) import Control.Monad import Data.Map ( Map ) import Foreign.C.String import Foreign.C.Types import Foreign.Ptr import Graphics.Rendering.OpenGL ( get, ($=), StateVar , makeStateVar, GettableStateVar , makeGettableStateVar ) import Graphics.UI.GLUT.Callbacks.Registration import Graphics.UI.GLUT.QueryUtils import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.Types -------------------------------------------------------------------------------- -- | A menu is simply a list of menu items. newtype Menu = Menu [MenuItem] -- | A single item within a menu can either be a plain menu entry or a sub-menu -- entry, allowing for arbitrarily deep nested menus. data MenuItem = MenuEntry String MenuCallback -- ^ A plain menu entry with an associated -- callback, which is triggered when the -- user selects the entry | SubMenu String Menu -- ^ A sub-menu, which is cascaded when the -- user selects the entry, allowing -- sub-menu entries to be selected type MenuCallback = IO () -- | Create a new pop-up menu for the /current window,/ attaching it to the -- given mouse button. A previously attached menu (if any), is detached before -- and won\'t receive callbacks anymore. -- -- It is illegal to call 'attachMenu' while any (sub-)menu is in use, i.e. -- popped up. -- -- /X Implementation Notes:/ If available, GLUT for X will take advantage of -- overlay planes for implementing pop-up menus. The use of overlay planes can -- eliminate display callbacks when pop-up menus are deactivated. The -- @SERVER_OVERLAY_VISUALS@ convention is used to determine if overlay visuals -- are available. attachMenu :: MouseButton -> Menu -> IO () attachMenu mouseButton menu@(Menu items) = do win <- getCurrentWindow "attachMenu" let hook = MenuHook win mouseButton detachMenu hook unless (null items) $ do (_, destructor) <- traverseMenu menu addToMenuTable hook destructor attachMenu_ mouseButton detachMenu :: MenuHook -> IO () detachMenu hook@(MenuHook _ mouseButton) = do maybeDestructor <- lookupInMenuTable hook case maybeDestructor of Nothing -> return () Just destructor -> do detachMenu_ mouseButton destructor deleteFromMenuTable hook traverseMenu :: Menu -> IO (MenuID, Destructor) traverseMenu (Menu items) = do let callbackArray = listArray (1, length items) (map makeCallback items) cb <- makeMenuFunc (\i -> callbackArray ! (fromIntegral i)) menuID <- glutCreateMenu cb destructors <- zipWithM addMenuItem items [1..] let destructor = do sequence_ destructors glutDestroyMenu menuID freeHaskellFunPtr cb return (menuID, destructor) makeCallback :: MenuItem -> MenuCallback makeCallback (MenuEntry _ cb) = cb makeCallback _ = error "shouldn't receive a callback for submenus" addMenuItem :: MenuItem -> Value -> IO Destructor addMenuItem (MenuEntry s _) v = do addMenuEntry s v return $ glutRemoveMenuItem 1 addMenuItem (SubMenu s m) _ = do (menuID, destructor) <- saveExcursion (traverseMenu m) addSubMenu s menuID return $ do glutRemoveMenuItem 1 destructor -- Perform an action, saving/restoring the current menu around it saveExcursion :: IO a -> IO a saveExcursion act = do menuID <- get currentMenu returnValue <- act when (isRealMenu menuID) $ currentMenu $= menuID return returnValue -------------------------------------------------------------------------------- -- This seems to be a common Haskell hack nowadays: A plain old global variable -- with an associated mutator. Perhaps some language/library support is needed? {-# NOINLINE theMenuTable #-} theMenuTable :: IORef MenuTable theMenuTable = unsafePerformIO (newIORef emptyMenuTable) getMenuTable :: IO MenuTable getMenuTable = readIORef theMenuTable modifyMenuTable :: (MenuTable -> MenuTable) -> IO () modifyMenuTable = modifyIORef theMenuTable -------------------------------------------------------------------------------- -- To facilitate cleanup, we have to keep track how to destroy menus which are -- currently attached in a window to a mouse button. data MenuHook = MenuHook Window MouseButton deriving ( Eq, Ord ) type Destructor = IO () type MenuTable = Map MenuHook Destructor emptyMenuTable :: MenuTable emptyMenuTable = Map.empty lookupInMenuTable :: MenuHook -> IO (Maybe Destructor) lookupInMenuTable callbackID = fmap (Map.lookup callbackID) getMenuTable deleteFromMenuTable :: MenuHook -> IO () deleteFromMenuTable callbackID = modifyMenuTable (Map.delete callbackID) addToMenuTable :: MenuHook -> Destructor -> IO () addToMenuTable callbackID funPtr = modifyMenuTable (Map.insert callbackID funPtr) -------------------------------------------------------------------------------- type MenuID = CInt type Value = CInt -------------------------------------------------------------------------------- -- | Controls the /current menu./ If no menus exist or the previous /current -- menu/ was destroyed, a pseudo menu is returned, see 'isRealMenu'. currentMenu :: StateVar MenuID currentMenu = makeStateVar glutGetMenu glutSetMenu -- | Returns 'True' if the given menu identifier refers to a real menu, not -- a pseudo one. isRealMenu :: MenuID -> Bool isRealMenu = (/= 0) -------------------------------------------------------------------------------- -- | Add a menu entry to the bottom of the /current menu./ The given string will -- be displayed for the newly added menu entry. If the menu entry is selected by -- the user, the menu\'s callback will be called passing the given value as the -- callback\'s parameter. addMenuEntry :: String -> Value -> IO () addMenuEntry name value = withCString name $ \n -> glutAddMenuEntry n value -- | Add a sub-menu trigger to the bottom of the /current menu./ The given -- string will be displayed for the newly added sub-menu trigger. If the -- sub-menu trigger is entered, the sub-menu specified by the given menu -- identifier will be cascaded, allowing sub-menu menu items to be selected. addSubMenu :: String -> MenuID -> IO () addSubMenu name menuID = withCString name $ \n -> glutAddSubMenu n menuID -------------------------------------------------------------------------------- {- UNUSED -- | Change the specified menu entry in the /current menu/ into a menu entry. -- The given position determines which menu item should be changed and must be -- between 1 (the topmost menu item) and -- 'Graphics.UI.GLUT.State.getNumMenuItems' inclusive. The menu item to change -- does not have to be a menu entry already. The given string will be displayed -- for the newly changed menu entry. The given value will be returned to the -- menu\'s callback if this menu entry is selected. foreign import CALLCONV unsafe "glutChangeToMenuEntry" glutChangeToMenuEntry :: Item -> CString -> Value -> IO () -- | Change the specified menu item in the /current menu/ into a sub-menu -- trigger. The given position determines which menu item should be changed and -- must be between 1 and 'Graphics.UI.GLUT.State.getNumMenuItems' inclusive. The -- menu item to change does not have to be a sub-menu trigger already. The -- given name will be displayed for the newly changed sub-menu trigger. The -- given menu identifier names the sub-menu to cascade from the newly added -- sub-menu trigger. foreign import CALLCONV unsafe "glutChangeToSubMenu" glutChangeToSubMenu :: Item -> CString -> MenuID -> IO () -} -------------------------------------------------------------------------------- -- | Attach a mouse button for the /current window/ to the identifier of the -- /current menu./ By attaching a menu identifier to a button, the named menu -- will be popped up when the user presses the specified button. Note that the -- menu is attached to the button by identifier, not by reference. attachMenu_ :: MouseButton -> IO () attachMenu_ = glutAttachMenu . marshalMouseButton -- | Detach an attached mouse button from the /current window./ detachMenu_ :: MouseButton -> IO () detachMenu_ = glutDetachMenu . marshalMouseButton -------------------------------------------------------------------------------- -- | Contains the number of menu items in the /current menu./ numMenuItems :: GettableStateVar Int numMenuItems = makeGettableStateVar $ simpleGet fromIntegral glut_MENU_NUM_ITEMS GLUT-2.4.0.0/Graphics/UI/GLUT/Initialization.hs0000644000000000000000000010604012121453247016771 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Initialization -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- Actions and state variables in this module are used to initialize GLUT state. -- The primary initialization routine is 'initialize', which should only be -- called exactly once in a GLUT program. No other GLUT or OpenGL actions should -- be called before 'initialize', apart from getting or setting the state -- variables in this module. -- -- The reason is that these state variables can be used to set default window -- initialization state that might be modified by the command processing done in -- 'initialize'. For example, 'initialWindowSize' can be set to @('Size' -- 400 400)@ before 'initialize' is called to indicate 400 by 400 is the -- program\'s default window size. Setting the initial window size or position -- before 'initialize' allows the GLUT program user to specify the initial size -- or position using command line arguments. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Initialization ( -- * Primary initialization initialize, getArgsAndInitialize, exit, -- * Initial window geometry initialWindowPosition, initialWindowSize, -- * Setting the initial display mode (I) DisplayMode(..), initialDisplayMode, displayModePossible, -- * Setting the initial display mode (II) DisplayCapability(..), Relation(..), DisplayCapabilityDescription(..), initialDisplayCapabilities, -- * Controlling the creation of rendering contexts RenderingContext(..), renderingContext, -- * Direct\/indirect rendering DirectRendering(..), directRendering, -- * OpenGL 3.x context support initialContextVersion, ContextFlag(..), initialContextFlags, ContextProfile(..), initialContextProfile ) where import Control.Monad import Data.Bits import Data.List import Foreign.C.String import Foreign.C.Types import Foreign.Marshal.Array import Foreign.Marshal.Utils import Foreign.Ptr import Foreign.Storable import Graphics.Rendering.OpenGL ( Position(..), Size(..) , StateVar, GettableStateVar, get , SettableStateVar, makeStateVar, ($=) , makeGettableStateVar , makeSettableStateVar ) import Graphics.UI.GLUT.QueryUtils import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.Types import System.Environment -------------------------------------------------------------------------------- -- | Given the program name and command line arguments, initialize the GLUT -- library and negotiate a session with the window system. During this -- process, 'initialize' may cause the termination of the GLUT program with an -- error message to the user if GLUT cannot be properly initialized. -- Examples of this situation include the failure to connect to the window -- system, the lack of window system support for OpenGL, and invalid command -- line options. -- -- 'initialize' also processes command line options, but the specific options -- parsed are window system dependent. Any command line arguments which are -- not GLUT-specific are returned. -- -- /X Implementation Notes:/ The X Window System specific options parsed by -- 'initialize' are as follows: -- -- * @-display /DISPLAY/@: Specify the X server to connect to. If not specified, -- the value of the @DISPLAY@ environment variable is used. -- -- * @-geometry /WxH+X+Y/@: Determines where windows should be created on the -- screen. The parameter following @-geometry@ should be formatted as a -- standard X geometry specification. The effect of using this option is to -- change the GLUT initial size and initial position the same as if -- 'initialWindowSize' or 'initialWindowPosition' were modified directly. -- -- * @-iconic@: Requests all top-level windows be created in an iconic state. -- -- * @-indirect@: Force the use of indirect OpenGL rendering contexts. -- -- * @-direct@: Force the use of direct OpenGL rendering contexts (not all GLX -- implementations support direct rendering contexts). A fatal error is -- generated if direct rendering is not supported by the OpenGL -- implementation. If neither @-indirect@ or @-direct@ are used to force a -- particular behavior, GLUT will attempt to use direct rendering if -- possible and otherwise fallback to indirect rendering. -- -- * @-gldebug@: After processing callbacks and\/or events, call -- 'Graphics.UI.GLUT.Debugging.reportErrors' to check if there are any pending -- OpenGL errors. Using this option is helpful in detecting OpenGL run-time -- errors. -- -- * @-sync@: Enable synchronous X protocol transactions. This option makes -- it easier to track down potential X protocol errors. initialize :: String -- ^ The program name. -> [String] -- ^ The command line arguments -> IO [String] -- ^ Non-GLUT command line arguments initialize prog args = with (1 + genericLength args) $ \argcBuf -> withMany withCString (prog : args) $ \argvPtrs -> withArray0 nullPtr argvPtrs $ \argvBuf -> do glutInit argcBuf argvBuf newArgc <- peek argcBuf newArgvPtrs <- peekArray (fromIntegral newArgc) argvBuf newArgv <- mapM peekCString newArgvPtrs return $ tail newArgv -- | Convenience action: Initialize GLUT, returning the program name and any -- non-GLUT command line arguments. getArgsAndInitialize :: IO (String, [String]) getArgsAndInitialize = do prog <- getProgName args <- getArgs nonGLUTArgs <- initialize prog args return (prog, nonGLUTArgs) ----------------------------------------------------------------------------- -- | (/freeglut only/) De-initialize GLUT. After this, one has to use -- 'initialize' or 'getArgsAndInitialize' to initialize GLUT again. exit :: IO () exit = glutExit -------------------------------------------------------------------------------- -- | Controls the /initial window position/. Windows created by -- 'Graphics.UI.GLUT.Window.createWindow' will be requested to be created with -- the current /initial window position/. The initial value of the /initial -- window position/ GLUT state is @'Position' (-1) (-1)@. If either the X or Y -- component of the /initial window position/ is negative, the actual window -- position is left to the window system to determine. -- -- The intent of the /initial window position/ is to provide a suggestion to -- the window system for a window\'s initial position. The window system is -- not obligated to use this information. Therefore, GLUT programs should not -- assume the window was created at the specified position. initialWindowPosition :: StateVar Position initialWindowPosition = makeStateVar getInitialWindowPosition setInitialWindowPosition getInitialWindowPosition :: IO Position getInitialWindowPosition = do x <- simpleGet fromIntegral glut_INIT_WINDOW_X y <- simpleGet fromIntegral glut_INIT_WINDOW_Y return $ Position x y setInitialWindowPosition :: Position -> IO () setInitialWindowPosition (Position x y) = glutInitWindowPosition (fromIntegral x) (fromIntegral y) -------------------------------------------------------------------------------- -- | Controls the /initial window size/. Windows created by -- 'Graphics.UI.GLUT.Window.createWindow' will be requested to be created with -- the current /initial window size/. The initial value of the /initial window -- size/ GLUT state is @'Size' 300 300@. If either the width or the height -- component of the /initial window size/ is non-positive, the actual window -- size is left to the window system to determine. -- -- The intent of the /initial window size/ is to provide a suggestion to the -- window system for a window\'s initial size. The window system is not -- obligated to use this information. Therefore, GLUT programs should not -- assume the window was created at the specified size. A GLUT program should -- use the window\'s reshape callback to determine the true size of the -- window. initialWindowSize :: StateVar Size initialWindowSize = makeStateVar getInitialWindowSize setInitialWindowSize getInitialWindowSize :: IO Size getInitialWindowSize = do w <- simpleGet fromIntegral glut_INIT_WINDOW_WIDTH h <- simpleGet fromIntegral glut_INIT_WINDOW_HEIGHT return $ Size w h setInitialWindowSize :: Size -> IO () setInitialWindowSize (Size w h) = glutInitWindowSize (fromIntegral w) (fromIntegral h) -------------------------------------------------------------------------------- -- | A single aspect of a window which is to be created, used in conjunction -- with 'initialDisplayMode'. data DisplayMode = RGBAMode -- ^ Select an RGBA mode window. This is the default if neither 'RGBAMode' -- nor 'IndexMode' are specified. | RGBMode -- ^ An alias for 'RGBAMode'. | IndexMode -- ^ Select a color index mode window. This overrides 'RGBAMode' if it is -- also specified. | LuminanceMode -- ^ Select a window with a \"luminance\" color model. This model provides -- the functionality of OpenGL\'s RGBA color model, but the green and blue -- components are not maintained in the frame buffer. Instead each pixel\'s -- red component is converted to an index between zero and -- 'Graphics.UI.GLUT.Colormap.numColorMapEntries' and looked up in a -- per-window color map to determine the color of pixels within the window. -- The initial colormap of 'LuminanceMode' windows is initialized to be a -- linear gray ramp, but can be modified with GLUT\'s colormap actions. -- /Implementation Notes:/ 'LuminanceMode' is not supported on most OpenGL -- platforms. | WithAlphaComponent -- ^ Select a window with an alpha component to the color buffer(s). | WithAccumBuffer -- ^ Select a window with an accumulation buffer. | WithDepthBuffer -- ^ Select a window with a depth buffer. | WithStencilBuffer -- ^ Select a window with a stencil buffer. | WithAuxBuffers Int -- ^ (/freeglut only/) Select a window with /n/ (1 .. 4) auxiliary buffers. -- Any /n/ outside the range 1 .. 4 is a fatal error. | SingleBuffered -- ^ Select a single buffered window. This is the default if neither -- 'DoubleBuffered' nor 'SingleBuffered' are specified. | DoubleBuffered -- ^ Select a double buffered window. This overrides 'SingleBuffered' if it -- is also specified. | Multisampling -- ^ Select a window with multisampling support. If multisampling is not -- available, a non-multisampling window will automatically be chosen. -- Note: both the OpenGL client-side and server-side implementations must -- support the @GLX_SAMPLE_SGIS@ extension for multisampling to be -- available. Deprecated, use 'WithSamplesPerPixel'. | WithSamplesPerPixel Int -- ^ Select a window with multisampling, using the given samples per pixel. | Stereoscopic -- ^ Select a stereo window. | Captionless -- ^ Select a window without a caption (/freeglut only/). | Borderless -- ^ Select a window without any borders (/freeglut only/). | SRGBMode -- ^ Select an sRGB mode window (/freeglut only/). deriving ( Eq, Ord, Show ) marshalDisplayMode :: DisplayMode -> CUInt marshalDisplayMode m = case m of RGBAMode -> glut_RGBA RGBMode -> glut_RGB IndexMode -> glut_INDEX LuminanceMode -> glut_LUMINANCE WithAlphaComponent -> glut_ALPHA WithAccumBuffer -> glut_ACCUM WithDepthBuffer -> glut_DEPTH WithStencilBuffer -> glut_STENCIL WithAuxBuffers 1 -> glut_AUX1 WithAuxBuffers 2 -> glut_AUX2 WithAuxBuffers 3 -> glut_AUX3 WithAuxBuffers 4 -> glut_AUX4 WithAuxBuffers n -> error ("marshalDisplayMode: illegal number of auxiliary buffers: " ++ show n) SingleBuffered -> glut_SINGLE DoubleBuffered -> glut_DOUBLE Multisampling -> glut_MULTISAMPLE WithSamplesPerPixel _ -> error ("marshalDisplayMode: this should not happen") Stereoscopic -> glut_STEREO Captionless -> glut_CAPTIONLESS Borderless -> glut_BORDERLESS SRGBMode -> glut_SRGB -------------------------------------------------------------------------------- -- | Controls the /initial display mode/ used when creating top-level windows, -- subwindows, and overlays to determine the OpenGL display mode for the -- to-be-created window or overlay. -- -- Note that 'RGBAMode' selects the RGBA color model, but it does not request any -- bits of alpha (sometimes called an /alpha buffer/ or /destination alpha/) -- be allocated. To request alpha, specify 'WithAlphaComponent'. The same -- applies to 'LuminanceMode'. initialDisplayMode :: StateVar [DisplayMode] initialDisplayMode = makeStateVar getInitialDisplayMode setInitialDisplayMode getInitialDisplayMode :: IO [DisplayMode] getInitialDisplayMode = do mode <- simpleGet fromIntegral glut_INIT_DISPLAY_MODE let displayModes = i2dms (mode .&. complement glut_MULTISAMPLE) if mode .&. glut_MULTISAMPLE == 0 then return displayModes else do n <- get samplesPerPixel return $ WithSamplesPerPixel n : displayModes i2dms :: CUInt -> [DisplayMode] i2dms bitfield | IndexMode `elem` modes || LuminanceMode `elem` modes = modes | otherwise = RGBAMode : modes where modes = i2dmsWithoutRGBA bitfield i2dmsWithoutRGBA :: CUInt -> [DisplayMode] i2dmsWithoutRGBA bitfield = [ c | c <- [ IndexMode, LuminanceMode, WithAlphaComponent, WithAccumBuffer, WithDepthBuffer, WithStencilBuffer, WithAuxBuffers 1, WithAuxBuffers 2, WithAuxBuffers 3, WithAuxBuffers 4, SingleBuffered, DoubleBuffered, Multisampling, Stereoscopic, Captionless, Borderless, SRGBMode ] , (bitfield .&. marshalDisplayMode c) /= 0 ] setInitialDisplayMode :: [DisplayMode] -> IO () setInitialDisplayMode modes = do let (spps, transformedModes) = mapAccumR handleMultisampling [] modes mapM_ (samplesPerPixel $=) spps glutInitDisplayMode (toBitfield marshalDisplayMode transformedModes) handleMultisampling :: [Int] -> DisplayMode -> ([Int], DisplayMode) handleMultisampling spps (WithSamplesPerPixel spp) = (spp : spps, Multisampling) handleMultisampling spps mode = (spps, mode) toBitfield :: (Num b, Bits b) => (a -> b) -> [a] -> b toBitfield marshal = foldl (.|.) 0 . map marshal -- | Contains 'True' if the /current display mode/ is supported, 'False' -- otherwise. displayModePossible :: GettableStateVar Bool displayModePossible = makeGettableStateVar $ simpleGet (/= 0) glut_DISPLAY_MODE_POSSIBLE -------------------------------------------------------------------------------- samplesPerPixel :: StateVar Int samplesPerPixel = makeStateVar getSamplesPerPixel setSamplesPerPixel getSamplesPerPixel :: IO Int getSamplesPerPixel = do m <- multisamplingSupported if m then simpleGet fromIntegral (fromIntegral glut_MULTISAMPLE) else return defaultSamplesPerPixels defaultSamplesPerPixels :: Int defaultSamplesPerPixels = 4 setSamplesPerPixel :: Int -> IO () setSamplesPerPixel spp = do m <- multisamplingSupported when m $ glutSetOption (fromIntegral glut_MULTISAMPLE) (fromIntegral spp) multisamplingSupported :: IO Bool multisamplingSupported = isKnown "glutGetModeValues" where isKnown = fmap (/= nullFunPtr) . getAPIEntryInternal -------------------------------------------------------------------------------- -- | Capabilities for 'initialDisplayCapabilities', most of them are extensions -- of the constructors of 'DisplayMode'. data DisplayCapability = DisplayRGBA -- ^ Number of bits of red, green, blue, and alpha in the RGBA -- color buffer. Default is \"'IsAtLeast' @1@\" for red, -- green, blue, and alpha capabilities, and \"'IsEqualTo' -- @1@\" for the RGBA color model capability. | DisplayRGB -- ^ Number of bits of red, green, and blue in the RGBA color -- buffer and zero bits of alpha color buffer precision. -- Default is \"'IsAtLeast' @1@\" for the red, green, and -- blue capabilities, and \"'IsNotLessThan' @0@\" for alpha -- capability, and \"'IsEqualTo' @1@\" for the RGBA color -- model capability. | DisplayRed -- ^ Red color buffer precision in bits. Default is -- \"'IsAtLeast' @1@\". | DisplayGreen -- ^ Green color buffer precision in bits. Default is -- \"'IsAtLeast' @1@\". | DisplayBlue -- ^ Blue color buffer precision in bits. Default is -- \"'IsAtLeast' @1@\". | DisplayIndex -- ^ Boolean if the color model is color index or not. True is -- color index. Default is \"'IsAtLeast' @1@\". | DisplayBuffer -- ^ Number of bits in the color index color buffer. Default -- is \"'IsAtLeast' @1@\". | DisplaySingle -- ^ Boolean indicate the color buffer is single buffered. -- Default is \"'IsEqualTo' @1@\". | DisplayDouble -- ^ Boolean indicating if the color buffer is double -- buffered. Default is \"'IsEqualTo' @1@\". | DisplayAccA -- ^ Red, green, blue, and alpha accumulation buffer precision -- in bits. Default is \"'IsAtLeast' @1@\" for red, green, -- blue, and alpha capabilities. | DisplayAcc -- ^ Red, green, and green accumulation buffer precision in -- bits and zero bits of alpha accumulation buffer precision. -- Default is \"'IsAtLeast' @1@\" for red, green, and blue -- capabilities, and \"'IsNotLessThan' @0@\" for the alpha -- capability. | DisplayAlpha -- ^ Alpha color buffer precision in bits. Default is -- \"'IsAtLeast' @1@\". | DisplayDepth -- ^ Number of bits of precsion in the depth buffer. Default -- is \"'IsAtLeast' @12@\". | DisplayStencil -- ^ Number of bits in the stencil buffer. Default is -- \"'IsNotLessThan' @1@\". | DisplaySamples -- ^ Indicates the number of multisamples to use based on -- GLX\'s @SGIS_multisample@ extension (for antialiasing). -- Default is \"'IsNotGreaterThan' @4@\". This default means -- that a GLUT application can request multisampling if -- available by simply specifying \"'With' 'DisplaySamples'\". | DisplayStereo -- ^ Boolean indicating the color buffer is supports -- OpenGL-style stereo. Default is \"'IsEqualTo' @1@\". | DisplayLuminance -- ^ Number of bits of red in the RGBA and zero bits of green, -- blue (alpha not specified) of color buffer precision. -- Default is \"'IsAtLeast' @1@\" for the red capabilitis, -- and \"'IsEqualTo' @0@\" for the green and blue -- capabilities, and \"'IsEqualTo' @1@\" for the RGBA color -- model capability, and, for X11, \"'IsEqualTo' @1@\" for -- the 'DisplayXStaticGray' capability. SGI InfiniteReality (and -- other future machines) support a 16-bit luminance (single -- channel) display mode (an additional 16-bit alpha channel -- can also be requested). The red channel maps to gray -- scale and green and blue channels are not available. A -- 16-bit precision luminance display mode is often -- appropriate for medical imaging applications. Do not -- expect many machines to support extended precision -- luminance display modes. | DisplayAux -- ^ (/freeglut only/) Number of auxiliary buffers. Default is -- \"'IsEqualTo' @1@\". | DisplayNum -- ^ A special capability name indicating where the value -- represents the Nth frame buffer configuration matching -- the description string. When not specified, -- 'initialDisplayCapabilities' also uses the first -- (best matching) configuration. 'Num' requires a relation -- and numeric value. | DisplayConformant -- ^ Boolean indicating if the frame buffer configuration is -- conformant or not. Conformance information is based on -- GLX\'s @EXT_visual_rating@ extension if supported. If the -- extension is not supported, all visuals are assumed -- conformant. Default is \"'IsEqualTo' @1@\". | DisplaySlow -- ^ Boolean indicating if the frame buffer configuration is -- slow or not. Slowness information is based on GLX\'s -- @EXT_visual_rating@ extension if supported. If the -- extension is not supported, all visuals are assumed fast. -- Note that slowness is a relative designation relative to -- other frame buffer configurations available. The intent -- of the slow capability is to help programs avoid frame -- buffer configurations that are slower (but perhaps higher -- precision) for the current machine. Default is -- \"'IsAtLeast' @0@\". This default means that slow visuals -- are used in preference to fast visuals, but fast visuals -- will still be allowed. | DisplayWin32PFD -- ^ Only recognized on GLUT implementations for Win32, this -- capability name matches the Win32 Pixel Format Descriptor -- by number. 'DisplayWin32PFD' can only be used with 'Where'. | DisplayXVisual -- ^ Only recongized on GLUT implementations for the X Window -- System, this capability name matches the X visual ID by -- number. 'DisplayXVisual' requires a relation and numeric value. | DisplayXStaticGray -- ^ Only recongized on GLUT implementations for the X Window -- System, boolean indicating if the frame buffer -- configuration\'s X visual is of type @StaticGray@. -- Default is \"'IsEqualTo' @1@\". | DisplayXGrayScale -- ^ Only recongized on GLUT implementations for the X Window -- System, boolean indicating if the frame buffer -- configuration\'s X visual is of type @GrayScale@. Default -- is \"'IsEqualTo' @1@\". | DisplayXStaticColor -- ^ Only recongized on GLUT implementations for the X Window -- System, boolean indicating if the frame buffer -- configuration\'s X visual is of type @StaticColor@. -- Default is \"'IsEqualTo' @1@\". | DisplayXPseudoColor -- ^ Only recongized on GLUT implementations for the X Window -- System, boolean indicating if the frame buffer -- configuration\'s X visual is of type @PsuedoColor@. -- Default is \"'IsEqualTo' @1@\". | DisplayXTrueColor -- ^ Only recongized on GLUT implementations for the X Window -- System, boolean indicating if the frame buffer -- configuration\'s X visual is of type @TrueColor@. Default -- is \"'IsEqualTo' @1@\". | DisplayXDirectColor -- ^ Only recongized on GLUT implementations for the X Window -- System, boolean indicating if the frame buffer -- configuration\'s X visual is of type @DirectColor@. -- Default is \"'IsEqualTo' @1@\". deriving ( Eq, Ord, Show ) displayCapabilityToString :: DisplayCapability -> String displayCapabilityToString x = case x of DisplayRGBA -> "rgba" DisplayRGB -> "rgb" DisplayRed -> "red" DisplayGreen -> "green" DisplayBlue -> "blue" DisplayIndex -> "index" DisplayBuffer -> "buffer" DisplaySingle -> "single" DisplayDouble -> "double" DisplayAccA -> "acca" DisplayAcc -> "acc" DisplayAlpha -> "alpha" DisplayDepth -> "depth" DisplayStencil -> "stencil" DisplaySamples -> "samples" DisplayStereo -> "stereo" DisplayLuminance -> "luminance" DisplayAux -> "aux" DisplayNum -> "num" DisplayConformant -> "conformant" DisplaySlow -> "slow" DisplayWin32PFD -> "win32pfd" DisplayXVisual -> "xvisual" DisplayXStaticGray -> "xstaticgray" DisplayXGrayScale -> "xgrayscale" DisplayXStaticColor -> "xstaticcolor" DisplayXPseudoColor -> "xpseudocolor" DisplayXTrueColor -> "xtruecolor" DisplayXDirectColor -> "xdirectcolor" -- | A single capability description for 'initialDisplayCapabilities'. data DisplayCapabilityDescription = Where DisplayCapability Relation Int -- ^ A description of a capability with a specific relation to a numeric -- value. | With DisplayCapability -- ^ When the relation and numeric value are not specified, each capability -- has a different default, see the different constructors of -- 'DisplayCapability'. deriving ( Eq, Ord, Show ) displayCapabilityDescriptionToString :: DisplayCapabilityDescription -> String displayCapabilityDescriptionToString (Where c r i) = displayCapabilityToString c ++ relationToString r ++ show i displayCapabilityDescriptionToString (With c) = displayCapabilityToString c -- | Controls the /initial display mode/ used when creating top-level windows, -- subwindows, and overlays to determine the OpenGL display mode for the -- to-be-created window or overlay. It is described by a list of zero or more -- capability descriptions, which are translated into a set of criteria used to -- select the appropriate frame buffer configuration. The criteria are matched -- in strict left to right order of precdence. That is, the first specified -- criterion (leftmost) takes precedence over the later criteria for non-exact -- criteria ('IsGreaterThan', 'IsLessThan', etc.). Exact criteria ('IsEqualTo', -- 'IsNotEqualTo') must match exactly so precedence is not relevant. -- -- Unspecified capability descriptions will result in unspecified criteria being -- generated. These unspecified criteria help 'initialDisplayCapabilities' -- behave sensibly with terse display mode descriptions. -- -- Here is an example using 'initialDisplayCapabilities': -- -- @ -- initialDisplayCapabilities $= [ With DisplayRGB, -- Where DisplayDepth IsAtLeast 16, -- With DisplaySamples, -- Where DisplayStencil IsNotLessThan 2, -- With DisplayDouble ] -- @ -- -- The above call requests a window with an RGBA color model (but requesting -- no bits of alpha), a depth buffer with at least 16 bits of precision but -- preferring more, multisampling if available, at least 2 bits of stencil -- (favoring less stencil to more as long as 2 bits are available), and double -- buffering. initialDisplayCapabilities :: SettableStateVar [DisplayCapabilityDescription] initialDisplayCapabilities = makeSettableStateVar $ \caps -> withCString (concat . intersperse " " . map displayCapabilityDescriptionToString $ caps) glutInitDisplayString ----------------------------------------------------------------------------- -- | How rendering context for new windows are created. data RenderingContext = -- | Create a new context via @glXCreateContext@ or @wglCreateContext@ -- (default). CreateNewContext | -- | Re-use the current rendering context. UseCurrentContext deriving ( Eq, Ord, Show ) marshalRenderingContext :: RenderingContext -> CInt marshalRenderingContext CreateNewContext = glut_CREATE_NEW_CONTEXT marshalRenderingContext UseCurrentContext = glut_USE_CURRENT_CONTEXT unmarshalRenderingContext :: CInt -> RenderingContext unmarshalRenderingContext r | r == glut_CREATE_NEW_CONTEXT = CreateNewContext | r == glut_USE_CURRENT_CONTEXT = UseCurrentContext | otherwise = error "unmarshalRenderingContext" ----------------------------------------------------------------------------- -- | (/freeglut only/) Controls the creation of rendering contexts for new -- windows. renderingContext :: StateVar RenderingContext renderingContext = makeStateVar (simpleGet unmarshalRenderingContext glut_RENDERING_CONTEXT) (glutSetOption glut_RENDERING_CONTEXT . marshalRenderingContext) ----------------------------------------------------------------------------- -- | The kind of GLX rendering context used. Direct rendering provides a -- performance advantage in some implementations. However, direct rendering -- contexts cannot be shared outside a single process, and they may be unable -- to render to GLX pixmaps. data DirectRendering = -- | Rendering is always done through the X server. This corresponds to -- the command line argument @-indirect@, see 'initialize'. ForceIndirectContext | -- | Try to use direct rendering, silently using indirect rendering if this -- is not possible. AllowDirectContext | -- | Try to use direct rendering, issue a warning and use indirect -- rendering if this is not possible. TryDirectContext | -- | Try to use direct rendering, issue an error and terminate the program -- if this is not possible.This corresponds to the command line argument -- @-direct@, see 'initialize'. ForceDirectContext deriving ( Eq, Ord, Show ) marshalDirectRendering :: DirectRendering -> CInt marshalDirectRendering x = case x of ForceIndirectContext -> glut_FORCE_INDIRECT_CONTEXT AllowDirectContext -> glut_ALLOW_DIRECT_CONTEXT TryDirectContext -> glut_TRY_DIRECT_CONTEXT ForceDirectContext -> glut_FORCE_DIRECT_CONTEXT unmarshalDirectRendering :: CInt -> DirectRendering unmarshalDirectRendering x | x == glut_FORCE_INDIRECT_CONTEXT = ForceIndirectContext | x == glut_ALLOW_DIRECT_CONTEXT = AllowDirectContext | x == glut_TRY_DIRECT_CONTEXT = TryDirectContext | x == glut_FORCE_DIRECT_CONTEXT = ForceDirectContext | otherwise = error ("unmarshalDirectRendering: illegal value " ++ show x) ----------------------------------------------------------------------------- -- | (/freeglut on X11 only/) Controls which kind of rendering context is -- created when a new one is required. directRendering :: StateVar DirectRendering directRendering = makeStateVar (simpleGet unmarshalDirectRendering glut_DIRECT_RENDERING) (glutSetOption glut_DIRECT_RENDERING . marshalDirectRendering) ----------------------------------------------------------------------------- -- | (/freeglut only/) Controls the API major\/minor version of the OpenGL -- context. If a version less than or equal to 2.1 is requested, the context -- returned may implement any version no less than that requested and no -- greater than 2.1. If version 3.0 is requested, the context returned must -- implement exactly version 3.0. Versioning behavior once GL versions beyond -- 3.0 are defined will be defined by an amendment to the OpenGL specification -- to define dependencies on such GL versions. -- -- 'Graphics.Rendering.OpenGL.GL.StringQueries.glVersion' and -- 'Graphics.Rendering.OpenGL.GL.StringQueries.majorMinor' will return the -- actual version supported by a context. -- -- The default context version is (1, 0), which will typically return an -- OpenGL 2.1 context, if one is available. initialContextVersion :: StateVar (Int, Int) initialContextVersion = makeStateVar getContextVersion setContextVersion getContextVersion :: IO (Int, Int) getContextVersion = do major <- simpleGet fromIntegral glut_INIT_MAJOR_VERSION minor <- simpleGet fromIntegral glut_INIT_MINOR_VERSION return (major, minor) setContextVersion :: (Int, Int) -> IO () setContextVersion (major, minor) = glutInitContextVersion (fromIntegral major) (fromIntegral minor) ----------------------------------------------------------------------------- -- | A flag affecting the rendering context to create, used in conjunction -- with 'initialContextFlags'. data ContextFlag = -- | Debug contexts are intended for use during application development, -- and provide additional runtime checking, validation, and logging -- functionality while possibly incurring performance penalties. The -- additional functionality provided by debug contexts may vary according -- to the implementation. In some cases a debug context may be identical -- to a non-debug context. DebugContext | -- | Forward-compatible contexts are defined only for OpenGL versions 3.0 -- and later. They must not support functionality marked as /deprecated/ -- by that version of the API, while a non-forward-compatible context must -- support all functionality in that version, deprecated or not. ForwardCompatibleContext deriving ( Eq, Ord, Show ) marshalContextFlag :: ContextFlag -> CInt marshalContextFlag x = case x of DebugContext -> glut_DEBUG ForwardCompatibleContext -> glut_FORWARD_COMPATIBLE ----------------------------------------------------------------------------- -- | (/freeglut only/) Controls the set of flags for the rendering context. initialContextFlags :: StateVar [ContextFlag] initialContextFlags = makeStateVar getContextFlags setContextFlags getContextFlags :: IO [ContextFlag] getContextFlags = simpleGet i2cfs glut_INIT_FLAGS i2cfs :: CInt -> [ContextFlag] i2cfs bitfield = [ c | c <- [ DebugContext, ForwardCompatibleContext ] , (fromIntegral bitfield .&. marshalContextFlag c) /= 0 ] setContextFlags :: [ContextFlag] -> IO () setContextFlags = glutInitContextFlags . toBitfield marshalContextFlag ----------------------------------------------------------------------------- -- | An OpenGL API profile, affecting the rendering context to create, used -- in conjunction with 'initialContextProfile'. data ContextProfile = -- | The OpenGL /core/ profile, which all OpenGL 3.2 implementations -- are required to support. CoreProfile | -- | The OpenGL /compatibility/ profile, which is optional for OpenGL -- 3.2 implementations. CompatibilityProfile deriving ( Eq, Ord, Show ) marshalContextProfile :: ContextProfile -> CInt marshalContextProfile x = case x of CoreProfile -> glut_CORE_PROFILE CompatibilityProfile -> glut_COMPATIBILITY_PROFILE ----------------------------------------------------------------------------- -- | (/freeglut only/) Controls the set of profiles for the rendering context. initialContextProfile :: StateVar [ContextProfile] initialContextProfile = makeStateVar getContextProfiles setContextProfiles getContextProfiles :: IO [ContextProfile] getContextProfiles = simpleGet i2cps glut_INIT_PROFILE i2cps :: CInt -> [ContextProfile] i2cps bitfield = [ c | c <- [ CoreProfile, CompatibilityProfile ] , (fromIntegral bitfield .&. marshalContextProfile c) /= 0 ] setContextProfiles :: [ContextProfile] -> IO () setContextProfiles = glutInitContextProfile . toBitfield marshalContextProfile GLUT-2.4.0.0/Graphics/UI/GLUT/GameMode.hs0000644000000000000000000001772612121453247015474 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.GameMode -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- In addition to the functionality offered by -- 'Graphics.UI.GLUT.Window.fullScreen', GLUT offers an sub-API to change the -- screen resolution, color depth, and refresh rate of the display for a single -- full screen window. This mode of operation is called /game mode/, and is -- restricted in various ways: No pop-up menus are allowed for this full screen -- window, no other (sub-)windows can be created, and all other applications are -- hidden. -- -- /X Implementation Notes:/ Note that game mode is not fully supported in the -- original GLUT for X, it is essentially the same as using -- 'Graphics.UI.GLUT.Window.fullScreen'. The GLUT clone freeglut -- (see ) does not have this restriction. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.GameMode ( GameModeCapability(..), GameModeCapabilityDescription(..), gameModeCapabilities, enterGameMode, leaveGameMode, BitsPerPlane, RefreshRate, GameModeInfo(..), gameModeInfo, gameModeActive ) where import Data.List import Foreign.C.String import Graphics.Rendering.OpenGL ( GLenum, Size(..) , GettableStateVar , SettableStateVar , makeGettableStateVar , makeSettableStateVar ) import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.Types -------------------------------------------------------------------------------- -- | Capabilities for 'gameModeCapabilities' data GameModeCapability = GameModeWidth -- ^ Width of the screen resolution in pixels | GameModeHeight -- ^ Height of the screen resolution in pixels | GameModeBitsPerPlane -- ^ Color depth of the screen in bits | GameModeRefreshRate -- ^ Refresh rate in Hertz | GameModeNum -- ^ Match the Nth frame buffer configuration -- compatible with the given capabilities -- (numbering starts at 1) deriving ( Eq, Ord, Show ) gameModeCapabilityToString :: GameModeCapability -> String gameModeCapabilityToString x = case x of GameModeWidth -> "width" GameModeHeight -> "height" GameModeBitsPerPlane -> "bpp" GameModeRefreshRate -> "hertz" GameModeNum -> "num" -- | A single capability description for 'gameModeCapabilities'. data GameModeCapabilityDescription = Where' GameModeCapability Relation Int deriving ( Eq, Ord, Show ) gameModeCapabilityDescriptionToString :: GameModeCapabilityDescription -> String gameModeCapabilityDescriptionToString (Where' c r i) = gameModeCapabilityToString c ++ relationToString r ++ show i -------------------------------------------------------------------------------- -- | Controls the /game mode/ to be used when 'enterGameMode' is called. It is -- described by a list of zero or more capability descriptions, which are -- translated into a set of criteria used to select the appropriate screen -- configuration. The criteria are matched in strict left to right order of -- precdence. That is, the first specified criterion (leftmost) takes precedence -- over the later criteria for non-exact criteria -- ('Graphics.UI.GLUT.Initialization.IsGreaterThan', -- 'Graphics.UI.GLUT.Initialization.IsLessThan', etc.). Exact criteria -- ('Graphics.UI.GLUT.Initialization.IsEqualTo', -- 'Graphics.UI.GLUT.Initialization.IsNotEqualTo') must match exactly so -- precedence is not relevant. -- -- To determine which configuration will actually be tried by 'enterGameMode' -- (if any), use 'gameModeInfo'. -- -- Note that even for game mode the current values of -- 'Graphics.UI.GLUT.Initialization.initialDisplayMode'or -- 'Graphics.UI.GLUT.Initialization.initialDisplayCapabilities' will -- determine which buffers are available, if double buffering is used or not, -- etc. gameModeCapabilities :: SettableStateVar [GameModeCapabilityDescription] gameModeCapabilities = makeSettableStateVar $ \ds -> withCString (descriptionsToString ds) glutGameModeString -- freeglut currently handles only simple game mode descriptions like "WxH:B@R", -- so we try hard to use this format instead of the more general format allowed -- by the "real" GLUT. descriptionsToString :: [GameModeCapabilityDescription] -> String descriptionsToString ds = let ws = [ x | Where' GameModeWidth IsEqualTo x <- ds ] hs = [ x | Where' GameModeHeight IsEqualTo x <- ds ] bs = [ x | Where' GameModeBitsPerPlane IsEqualTo x <- ds ] rs = [ x | Where' GameModeRefreshRate IsEqualTo x <- ds ] allSimple = (length ws + length hs + length bs + length rs) == (length ds) dimensionsOK = (null ws) == (null hs) in if allSimple && dimensionsOK then simpleCapStr ws hs bs rs else generalCapStr ds simpleCapStr :: [Int] -> [Int] -> [Int] -> [Int] -> String simpleCapStr ws hs bs rs = showCap "" ws ++ showCap "x" hs ++ showCap ":" bs ++ showCap "@" rs where showCap _ [] = "" showCap prefix (x:_) = prefix ++ show x generalCapStr :: [GameModeCapabilityDescription] -> String generalCapStr = concat . intersperse " " . map gameModeCapabilityDescriptionToString -------------------------------------------------------------------------------- -- | Enter /game mode/, trying to change resolution, refresh rate, etc., as -- specified by the current value of 'gameModeCapabilities'. An identifier for -- the game mode window and a flag, indicating if the display mode actually -- changed, are returned. The game mode window is made the /current window/. -- -- Re-entering /game mode/ is allowed, the previous game mode window gets -- destroyed by this, and a new one is created. enterGameMode :: IO (Window, Bool) enterGameMode = do w <- glutEnterGameMode c <- getBool glut_GAME_MODE_DISPLAY_CHANGED return (Window w, c) -------------------------------------------------------------------------------- -- | Leave /game mode/, restoring the old display mode and destroying the game -- mode window. leaveGameMode :: IO () leaveGameMode = glutLeaveGameMode -------------------------------------------------------------------------------- -- | The color depth of the screen, measured in bits (e.g. 8, 16, 24, 32, ...) type BitsPerPlane = Int -- | The refresh rate of the screen, measured in Hertz (e.g. 60, 75, 100, ...) type RefreshRate = Int data GameModeInfo = GameModeInfo Size BitsPerPlane RefreshRate deriving ( Eq, Ord, Show ) -------------------------------------------------------------------------------- -- | Return 'Just' the mode which would be tried by the next call to -- 'enterGameMode'. Returns 'Nothing' if the mode requested by the current value -- of 'gameModeCapabilities' is not possible, in which case 'enterGameMode' -- would simply create a full screen window using the current mode. gameModeInfo :: GettableStateVar (Maybe GameModeInfo) gameModeInfo = makeGettableStateVar $ do possible <- getBool glut_GAME_MODE_POSSIBLE if possible then do w <- glutGameModeGet glut_GAME_MODE_WIDTH h <- glutGameModeGet glut_GAME_MODE_HEIGHT let size = Size (fromIntegral w) (fromIntegral h) b <- glutGameModeGet glut_GAME_MODE_PIXEL_DEPTH r <- glutGameModeGet glut_GAME_MODE_REFRESH_RATE return $ Just $ GameModeInfo size (fromIntegral b) (fromIntegral r) else return Nothing getBool :: GLenum -> IO Bool getBool = fmap (/= 0) . glutGameModeGet -------------------------------------------------------------------------------- -- | Contains 'True' when the /game mode/ is active, 'False' otherwise. gameModeActive :: GettableStateVar Bool gameModeActive = makeGettableStateVar $ getBool glut_GAME_MODE_ACTIVE GLUT-2.4.0.0/Graphics/UI/GLUT/Fonts.hs0000644000000000000000000001745312121453247015104 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Fonts -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- GLUT supports two types of font rendering: stroke fonts, meaning each -- character is rendered as a set of line segments; and bitmap fonts, where each -- character is a bitmap generated with -- 'Graphics.Rendering.OpenGL.GL.Bitmaps.bitmap'. Stroke fonts have the -- advantage that because they are geometry, they can be arbitrarily scale and -- rendered. Bitmap fonts are less flexible since they are rendered as bitmaps -- but are usually faster than stroke fonts. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Fonts ( Font(..), BitmapFont(..), StrokeFont(..), ) where import Data.Char import Foreign.C.String import Foreign.C.Types import Foreign.Ptr import Graphics.Rendering.OpenGL ( GLint, GLfloat ) import Graphics.UI.GLUT.Raw -------------------------------------------------------------------------------- class Font a where -- | Render the string in the named font, without using any display lists. -- Rendering a nonexistent character has no effect. -- -- If the font is a bitmap font, 'renderString' automatically sets the OpenGL -- unpack pixel storage modes it needs appropriately and saves and restores -- the previous modes before returning. The generated call to -- 'Graphics.Rendering.OpenGL.GL.bitmap' will adjust the current raster -- position based on the width of the string. -- If the font is a stroke font, -- 'Graphics.Rendering.OpenGL.GL.CoordTrans.translate' is used to translate -- the current model view matrix to advance the width of the string. renderString :: a -> String -> IO () -- | For a bitmap font, return the width in pixels of a string. For a stroke -- font, return the width in units. While the width of characters in a font -- may vary (though fixed width fonts do not vary), the maximum height -- characteristics of a particular font are fixed. stringWidth :: a -> String -> IO GLint -- | (/freeglut only/) For a bitmap font, return the maximum height of the -- characters in the given font measured in pixels. For a stroke font, -- return the width in units. fontHeight :: a -> IO GLfloat instance Font BitmapFont where renderString = bitmapString stringWidth = bitmapLength fontHeight = bitmapHeight instance Font StrokeFont where renderString = strokeString stringWidth = strokeLength fontHeight = strokeHeight -------------------------------------------------------------------------------- -- | The bitmap fonts available in GLUT. The exact bitmap to be used is -- defined by the standard X glyph bitmaps for the X font with the given name. data BitmapFont = Fixed8By13 -- ^ A fixed width font with every character fitting in an 8 -- by 13 pixel rectangle. -- (@-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1@) | Fixed9By15 -- ^ A fixed width font with every character fitting in an 9 -- by 15 pixel rectangle. -- (@-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1@) | TimesRoman10 -- ^ A 10-point proportional spaced Times Roman font. -- (@-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1@) | TimesRoman24 -- ^ A 24-point proportional spaced Times Roman font. -- (@-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1@) | Helvetica10 -- ^ A 10-point proportional spaced Helvetica font. -- (@-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1@) | Helvetica12 -- ^ A 12-point proportional spaced Helvetica font. -- (@-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1@) | Helvetica18 -- ^ A 18-point proportional spaced Helvetica font. -- (@-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1@) deriving ( Eq, Ord, Show ) -- Alas, fonts in GLUT are not denoted by some integral value, but by opaque -- pointers on the C side. Even worse: For WinDoze, they are simply small ints, -- casted to void*, for other platforms addresses of global variables are used. -- And all is done via ugly #ifdef-ed #defines... Aaaaargl! So the only portable -- way is using integers on the Haskell side and doing the marshaling via some -- small C wrappers around those macros. *sigh* type GLUTbitmapFont = Ptr () marhshalBitmapFont :: BitmapFont -> IO GLUTbitmapFont marhshalBitmapFont x = case x of Fixed8By13 -> hs_GLUT_marshalBitmapFont 0 Fixed9By15 -> hs_GLUT_marshalBitmapFont 1 TimesRoman10 -> hs_GLUT_marshalBitmapFont 2 TimesRoman24 -> hs_GLUT_marshalBitmapFont 3 Helvetica10 -> hs_GLUT_marshalBitmapFont 4 Helvetica12 -> hs_GLUT_marshalBitmapFont 5 Helvetica18 -> hs_GLUT_marshalBitmapFont 6 -------------------------------------------------------------------------------- -- | The stroke fonts available in GLUT. data StrokeFont = Roman -- ^ A proportionally spaced Roman Simplex font for ASCII -- characters 32 through 127. The maximum top character in the -- font is 119.05 units; the bottom descends 33.33 units. | MonoRoman -- ^ A mono-spaced spaced Roman Simplex font (same characters as -- 'Roman') for ASCII characters 32 through 127. The maximum -- top character in the font is 119.05 units; the bottom -- descends 33.33 units. Each character is 104.76 units wide. deriving ( Eq, Ord, Show ) -- Same remarks as for GLUTbitmapFont type GLUTstrokeFont = Ptr () marhshalStrokeFont :: StrokeFont -> IO GLUTstrokeFont marhshalStrokeFont x = case x of Roman -> hs_GLUT_marshalStrokeFont 0 MonoRoman -> hs_GLUT_marshalStrokeFont 1 -------------------------------------------------------------------------------- bitmapString :: BitmapFont -> String -> IO () bitmapString f s = do i <- marhshalBitmapFont f mapM_ (\c -> withChar c (glutBitmapCharacter i)) s withChar :: Char -> (CInt -> IO a) -> IO a withChar c f = f . fromIntegral . ord $ c -------------------------------------------------------------------------------- strokeString :: StrokeFont -> String -> IO () strokeString f s = do i <- marhshalStrokeFont f mapM_ (\c -> withChar c (glutStrokeCharacter i)) s -------------------------------------------------------------------------------- bitmapLength :: BitmapFont -- ^ Bitmap font to use. -> String -- ^ String to return width of (not confined to 8 -- bits). -> IO GLint -- ^ Width in pixels. bitmapLength f s = do i <- marhshalBitmapFont f fmap fromIntegral $ withCString s (glutBitmapLength i . castPtr) -------------------------------------------------------------------------------- strokeLength :: StrokeFont -- ^ Stroke font to use. -> String -- ^ String to return width of (not confined to 8 -- bits). -> IO GLint -- ^ Width in units. strokeLength f s = do i <- marhshalStrokeFont f fmap fromIntegral $ withCString s (glutStrokeLength i . castPtr) -------------------------------------------------------------------------------- bitmapHeight :: BitmapFont -- ^ Bitmap font to use. -> IO GLfloat -- ^ Height in pixels. bitmapHeight f = fmap fromIntegral $ glutBitmapHeight =<< marhshalBitmapFont f -------------------------------------------------------------------------------- strokeHeight :: StrokeFont -- ^ Stroke font to use. -> IO GLfloat -- ^ Height in units. strokeHeight f = glutStrokeHeight =<< marhshalStrokeFont f GLUT-2.4.0.0/Graphics/UI/GLUT/DeviceControl.hs0000644000000000000000000001170612121453247016546 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.DeviceControl -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- GLUT offers some routines for controlling the key repeat and polling the -- joystick. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.DeviceControl ( GlobalKeyRepeat(..), globalKeyRepeat, PerWindowKeyRepeat(..), perWindowKeyRepeat, forceJoystickCallback ) where import Foreign.C.Types import Graphics.Rendering.OpenGL ( StateVar, makeStateVar ) import Graphics.UI.GLUT.QueryUtils import Graphics.UI.GLUT.Raw -------------------------------------------------------------------------------- -- | The state of the global key repeat data GlobalKeyRepeat = GlobalKeyRepeatOff | GlobalKeyRepeatOn | GlobalKeyRepeatDefault deriving ( Eq, Ord, Show ) marshalGlobalKeyRepeat :: GlobalKeyRepeat -> CInt marshalGlobalKeyRepeat x = case x of GlobalKeyRepeatOff -> glut_KEY_REPEAT_OFF GlobalKeyRepeatOn -> glut_KEY_REPEAT_ON GlobalKeyRepeatDefault -> glut_KEY_REPEAT_DEFAULT unmarshalGlobalKeyRepeat :: CInt -> GlobalKeyRepeat unmarshalGlobalKeyRepeat x | x == glut_KEY_REPEAT_OFF = GlobalKeyRepeatOff | x == glut_KEY_REPEAT_ON = GlobalKeyRepeatOn | x == glut_KEY_REPEAT_DEFAULT = GlobalKeyRepeatDefault | otherwise = error ("unmarshalGlobalKeyRepeat: illegal value " ++ show x) -------------------------------------------------------------------------------- -- | Controls the key repeat mode for the window system on a global basis if -- possible. If supported by the window system, the key repeat can either be -- disabled, enabled, or set to the window system\'s default key repeat state. -- -- /X Implementation Notes:/ X11 sends @KeyPress@ events repeatedly when the -- window system\'s global auto repeat is enabled. 'perWindowKeyRepeat' can -- prevent these auto repeated keystrokes from being reported as keyboard or -- special callbacks, but there is still some minimal overhead by the X server -- to continually stream @KeyPress@ events to the GLUT application. The -- 'globalKeyRepeat' state variable can be used to actually disable the global -- sending of auto repeated @KeyPress@ events. Note that 'globalKeyRepeat' -- affects the global window system auto repeat state so other applications -- will not auto repeat if you disable auto repeat globally through -- 'globalKeyRepeat'. GLUT applications using the X11 GLUT implementation -- should disable key repeat with 'globalKeyRepeat' to disable key repeats most -- efficiently, but are responsible for explicitly restoring the default key -- repeat state on exit. -- -- /Win32 Implementation Notes:/ The Win32 implementation of 'globalKeyRepeat' -- does nothing. The 'perWindowKeyRepeat' can be used in the Win32 GLUT -- implementation to ignore repeated keys on a per-window basis without changing -- the global window system key repeat. globalKeyRepeat :: StateVar GlobalKeyRepeat globalKeyRepeat = makeStateVar (deviceGet unmarshalGlobalKeyRepeat glut_DEVICE_KEY_REPEAT) (glutSetKeyRepeat . marshalGlobalKeyRepeat) -------------------------------------------------------------------------------- -- | The state of the per-window key repeat data PerWindowKeyRepeat = PerWindowKeyRepeatOff | PerWindowKeyRepeatOn deriving ( Eq, Ord, Show ) marshalPerWindowKeyRepeat :: PerWindowKeyRepeat -> CInt marshalPerWindowKeyRepeat x = case x of PerWindowKeyRepeatOn -> 0 PerWindowKeyRepeatOff -> 1 unmarshalPerWindowKeyRepeat :: CInt -> PerWindowKeyRepeat unmarshalPerWindowKeyRepeat x | x == 0 = PerWindowKeyRepeatOn | otherwise = PerWindowKeyRepeatOff -------------------------------------------------------------------------------- -- | Controls if auto repeat keystrokes are reported to the /current window./ -- Ignoring auto repeated keystrokes is generally done in conjunction with using -- the 'Graphics.UI.GLUT.Callbacks.Window.keyboardMouseCallback'. If you do -- not ignore auto repeated keystrokes, your GLUT application will experience -- repeated release\/press callbacks. Games using the keyboard will typically -- want to ignore key repeat. perWindowKeyRepeat :: StateVar PerWindowKeyRepeat perWindowKeyRepeat = makeStateVar (deviceGet unmarshalPerWindowKeyRepeat glut_DEVICE_IGNORE_KEY_REPEAT) (glutIgnoreKeyRepeat . marshalPerWindowKeyRepeat) -------------------------------------------------------------------------------- -- | Execute the joystick callback set by -- 'Graphics.UI.GLUT.Callbacks.Window.joystickCallback' once (if one exists). -- This is done in a synchronous fashion within the current context, i.e. when -- 'forceJoystickCallback' returns, the callback will have already happened. forceJoystickCallback :: IO () forceJoystickCallback = glutForceJoystickFunc GLUT-2.4.0.0/Graphics/UI/GLUT/Debugging.hs0000644000000000000000000000232012121453247015671 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Debugging -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- This module contains a simple utility routine to report any pending GL -- errors. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Debugging ( reportErrors ) where import Graphics.Rendering.OpenGL ( Error(..), errors, get ) import System.Environment import System.IO -------------------------------------------------------------------------------- -- | Report any pending GL errors to stderr (which is typically the console). -- If there are no pending errors, this routine does nothing. Note that the -- error flags are reset after this action, i.e. there are no pending errors -- left afterwards. reportErrors :: IO () reportErrors = get errors >>= mapM_ reportError reportError :: Error -> IO () reportError (Error _ msg) = do pn <- getProgName hPutStrLn stderr ("GLUT: Warning in " ++ pn ++ ": GL error: " ++ msg) GLUT-2.4.0.0/Graphics/UI/GLUT/Colormap.hs0000644000000000000000000001140412121453247015555 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Colormap -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- OpenGL supports both RGBA and color index rendering. The RGBA mode is -- generally preferable to color index because more OpenGL rendering -- capabilities are available and color index mode requires the loading of -- colormap entries. -- -- The GLUT color index state variables are used to read and write entries in a -- window\'s color index colormap. Every GLUT color index window has its own -- logical color index colormap. The size of a window\'s colormap can be -- determined by reading 'numColorMapEntries'. -- -- GLUT color index windows within a program can attempt to share colormap -- resources by copying a single color index colormap to multiple windows using -- 'copyColormap'. If possible GLUT will attempt to share the actual colormap. -- While copying colormaps using 'copyColormap' can potentially allow sharing of -- physical colormap resources, logically each window has its own colormap. So -- changing a copied colormap of a window will force the duplication of the -- colormap. For this reason, color index programs should generally load a -- single color index colormap, copy it to all color index windows within the -- program, and then not modify any colormap cells. -- -- Use of multiple colormaps is likely to result in colormap installation -- problems where some windows are displayed with an incorrect colormap due to -- limitations on colormap resources. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Colormap ( colorMapEntry, copyColormap, numColorMapEntries, transparentIndex ) where import Foreign.C.Types import Graphics.Rendering.OpenGL ( GLfloat, GLint, Color3(..), Index1(..) , StateVar, makeStateVar, GettableStateVar , makeGettableStateVar ) import Graphics.UI.GLUT.QueryUtils import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.Types -------------------------------------------------------------------------------- -- | Controls the color index colormap entry of the /current window/\'s logical -- colormap for the /layer in use/. The /layer in use/ of the /current window/ -- should be a color index window. The color index should be zero or greater and -- less than the total number of colormap entries for the window (see -- 'numColorMapEntries') and different from an overlay\'s transparent index (see -- 'transparentIndex'). -- -- If the /layer in use/\'s colormap was copied by reference, setting a colormap -- entry will force the duplication of the colormap. colorMapEntry :: Index1 GLint -> StateVar (Color3 GLfloat) colorMapEntry (Index1 cell) = makeStateVar (getColorMapEntry (fromIntegral cell)) (setColorMapEntry (fromIntegral cell)) setColorMapEntry :: CInt -> Color3 GLfloat -> IO () setColorMapEntry cell (Color3 r g b) = glutSetColor cell r g b getColorMapEntry :: CInt -> IO (Color3 GLfloat) getColorMapEntry cell = do r <- glutGetColor cell glut_RED g <- glutGetColor cell glut_GREEN b <- glutGetColor cell glut_BLUE return $ Color3 r g b -------------------------------------------------------------------------------- -- | Copy (lazily if possible to promote sharing) the logical colormap from a -- specified window to the /current window/\'s /layer in use/. The copy will be -- from the normal plane to the normal plane; or from the overlay to the overlay -- (never across different layers). Once a colormap has been copied, avoid -- setting cells in the colormap via 'colorMapEntry' since that will force an -- actual copy of the colormap if it was previously copied by reference. -- 'copyColormap' should only be called when both the /current window/ and the -- specified window are color index windows. copyColormap :: Window -> IO () copyColormap (Window win) = glutCopyColormap win -------------------------------------------------------------------------------- -- | Contains the number of entries in the colormap of the /current window/\'s -- current layer (0 in RGBA mode). numColorMapEntries :: GettableStateVar GLint numColorMapEntries = makeGettableStateVar $ simpleGet fromIntegral glut_WINDOW_COLORMAP_SIZE -------------------------------------------------------------------------------- -- | Contains the transparent color index of the overlay of the /current window/ -- or -1 if no overlay is in use. transparentIndex :: GettableStateVar (Index1 GLint) transparentIndex = makeGettableStateVar $ layerGet (Index1 . fromIntegral) glut_TRANSPARENT_INDEX GLUT-2.4.0.0/Graphics/UI/GLUT/Callbacks.hs0000644000000000000000000000430412121453247015661 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Callbacks -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- -- GLUT supports a number of callbacks to respond to events. There are three -- types of callbacks: window, menu, and global. Window callbacks indicate when -- to redisplay or reshape a window, when the visibility of the window changes, -- and when input is available for the window. Menu callbacks are described in -- "Graphics.UI.GLUT.Menu". The global callbacks manage the passing of time and -- menu usage. The calling order of callbacks between different windows is -- undefined. -- -- Callbacks for input events should be delivered to the window the event occurs -- in. Events should not propagate to parent windows. -- -- A callback of type @Foo@ can registered by setting @fooCallback@ to 'Just' -- the callback. Almost all callbacks can be de-registered by setting -- the corresponding @fooCallback@ to 'Nothing', the only exceptions being -- 'Graphics.UI.GLUT.Callbacks.Window.DisplayCallback' (can only be -- re-registered) and 'Graphics.UI.GLUT.Callbacks.Global.TimerCallback' (can\'t -- be unregistered). -- -- /X Implementation Notes:/ The X GLUT implementation uses the X Input -- extension to support sophisticated input devices: Spaceball, dial & button -- box, and digitizing tablet. Because the X Input extension does not mandate -- how particular types of devices are advertised through the extension, it is -- possible GLUT for X may not correctly support input devices that would -- otherwise be of the correct type. The X GLUT implementation will support the -- Silicon Graphics Spaceball, dial & button box, and digitizing tablet as -- advertised through the X Input extension. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Callbacks ( module Graphics.UI.GLUT.Callbacks.Window, module Graphics.UI.GLUT.Callbacks.Global ) where import Graphics.UI.GLUT.Callbacks.Window import Graphics.UI.GLUT.Callbacks.Global GLUT-2.4.0.0/Graphics/UI/GLUT/Begin.hs0000644000000000000000000000722012121453247015026 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Begin -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- After a GLUT program has done initial setup such as creating windows and -- menus, GLUT programs enter the GLUT event processing loop by calling -- 'mainLoop' or handle events iteratively with 'mainLoopEvent'. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Begin ( -- * Handling events mainLoop, mainLoopEvent, leaveMainLoop, -- * Controlling the behaviour when windows are closed ActionOnWindowClose(..), actionOnWindowClose ) where import Foreign.C.Types import Graphics.Rendering.OpenGL.GL.StateVar import Graphics.UI.GLUT.QueryUtils import Graphics.UI.GLUT.Raw -------------------------------------------------------------------------------- -- | Enter the GLUT event processing loop; it will call as necessary any -- callbacks that have been registered. This routine should be called at most -- once in a GLUT program. mainLoop :: IO () mainLoop = glutMainLoop -------------------------------------------------------------------------------- -- | (/freeglut only/) Process one iteration's worth of events in its event loop. -- This allows the application to control its own event loop and still use the -- GLUT package. mainLoopEvent :: IO () mainLoopEvent = glutMainLoopEvent -------------------------------------------------------------------------------- -- | (/freeglut only/) Stop the event loop. If 'actionOnWindowClose' contains -- 'Exit', the application will exit; otherwise control will return to the -- function which called 'mainLoop'. -- -- If the application has two nested calls to 'mainLoop' and calls -- 'leaveMainLoop', the behaviour is undefined. It may leave only the inner -- nested loop or it may leave both loops. If the reader has a strong preference -- for one behaviour over the other he should contact the freeglut Programming -- Consortium and ask for the code to be fixed. leaveMainLoop :: IO () leaveMainLoop = glutLeaveMainLoop -------------------------------------------------------------------------------- -- | The behaviour when the user closes a window. data ActionOnWindowClose = -- | Exit the whole program when any window is closed or 'leaveMainLoop' -- is called (default). Exit | -- | Return from mainLoop when any window is closed. MainLoopReturns | -- | Return from mainLoop after the last window is closed. ContinueExectuion deriving ( Eq, Ord, Show ) marshalActionOnWindowClose :: ActionOnWindowClose -> CInt marshalActionOnWindowClose x = case x of Exit -> glut_ACTION_EXIT MainLoopReturns -> glut_ACTION_GLUTMAINLOOP_RETURNS ContinueExectuion -> glut_ACTION_CONTINUE_EXECUTION unmarshalActionOnWindowClose :: CInt -> ActionOnWindowClose unmarshalActionOnWindowClose x | x == glut_ACTION_EXIT = Exit | x == glut_ACTION_GLUTMAINLOOP_RETURNS = MainLoopReturns | x == glut_ACTION_CONTINUE_EXECUTION = ContinueExectuion | otherwise = error ("unmarshalActionOnWindowClose: illegal value " ++ show x) ----------------------------------------------------------------------------- -- | (/freeglut only/) Controls the behaviour when the user closes a window. actionOnWindowClose :: StateVar ActionOnWindowClose actionOnWindowClose = makeStateVar (simpleGet unmarshalActionOnWindowClose glut_ACTION_ON_WINDOW_CLOSE) (glutSetOption glut_ACTION_ON_WINDOW_CLOSE . marshalActionOnWindowClose) GLUT-2.4.0.0/Graphics/UI/GLUT/Raw/0000755000000000000000000000000012121453247014176 5ustar0000000000000000GLUT-2.4.0.0/Graphics/UI/GLUT/Raw/Tokens.hs0000644000000000000000000002730512121453247016004 0ustar0000000000000000-- #hide ----------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Raw.Tokens -- Copyright : (c) Sven Panne 2009 -- License : BSD-style (see the file LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- All tokens from GLUT and freeglut. -- ----------------------------------------------------------------------------- module Graphics.UI.GLUT.Raw.Tokens where import Foreign.C.Types import Graphics.Rendering.OpenGL ( GLenum ) glut_ACCUM :: CUInt glut_ACCUM = 0x0004 glut_ACTION_CONTINUE_EXECUTION :: CInt glut_ACTION_CONTINUE_EXECUTION = 2 glut_ACTION_EXIT :: CInt glut_ACTION_EXIT = 0 glut_ACTION_GLUTMAINLOOP_RETURNS :: CInt glut_ACTION_GLUTMAINLOOP_RETURNS = 1 glut_ACTION_ON_WINDOW_CLOSE :: GLenum glut_ACTION_ON_WINDOW_CLOSE = 0x01F9 glut_ACTIVE_ALT :: CInt glut_ACTIVE_ALT = 0x0004 glut_ACTIVE_CTRL :: CInt glut_ACTIVE_CTRL = 0x0002 glut_ACTIVE_SHIFT :: CInt glut_ACTIVE_SHIFT = 0x0001 glut_ALLOW_DIRECT_CONTEXT :: CInt glut_ALLOW_DIRECT_CONTEXT = 1 glut_ALPHA :: CUInt glut_ALPHA = 0x0008 glut_AUX :: GLenum glut_AUX = 0x1000 glut_AUX1 :: CUInt glut_AUX1 = 0x1000 glut_AUX2 :: CUInt glut_AUX2 = 0x2000 glut_AUX3 :: CUInt glut_AUX3 = 0x4000 glut_AUX4 :: CUInt glut_AUX4 = 0x8000 glut_BLUE :: CInt glut_BLUE = 0x0002 glut_BORDERLESS :: CUInt glut_BORDERLESS = 0x0800 glut_CAPTIONLESS :: CUInt glut_CAPTIONLESS = 0x0400 glut_CORE_PROFILE :: CInt glut_CORE_PROFILE = 0x0001 glut_COMPATIBILITY_PROFILE :: CInt glut_COMPATIBILITY_PROFILE = 0x0002 glut_CREATE_NEW_CONTEXT :: CInt glut_CREATE_NEW_CONTEXT = 0 glut_CURSOR_BOTTOM_LEFT_CORNER :: CInt glut_CURSOR_BOTTOM_LEFT_CORNER = 0x0013 glut_CURSOR_BOTTOM_RIGHT_CORNER :: CInt glut_CURSOR_BOTTOM_RIGHT_CORNER = 0x0012 glut_CURSOR_BOTTOM_SIDE :: CInt glut_CURSOR_BOTTOM_SIDE = 0x000D glut_CURSOR_CROSSHAIR :: CInt glut_CURSOR_CROSSHAIR = 0x0009 glut_CURSOR_CYCLE :: CInt glut_CURSOR_CYCLE = 0x0005 glut_CURSOR_DESTROY :: CInt glut_CURSOR_DESTROY = 0x0003 glut_CURSOR_FULL_CROSSHAIR :: CInt glut_CURSOR_FULL_CROSSHAIR = 0x0066 glut_CURSOR_HELP :: CInt glut_CURSOR_HELP = 0x0004 glut_CURSOR_INFO :: CInt glut_CURSOR_INFO = 0x0002 glut_CURSOR_INHERIT :: CInt glut_CURSOR_INHERIT = 0x0064 glut_CURSOR_LEFT_ARROW :: CInt glut_CURSOR_LEFT_ARROW = 0x0001 glut_CURSOR_LEFT_RIGHT :: CInt glut_CURSOR_LEFT_RIGHT = 0x000B glut_CURSOR_LEFT_SIDE :: CInt glut_CURSOR_LEFT_SIDE = 0x000E glut_CURSOR_NONE :: CInt glut_CURSOR_NONE = 0x0065 glut_CURSOR_RIGHT_ARROW :: CInt glut_CURSOR_RIGHT_ARROW = 0x0000 glut_CURSOR_RIGHT_SIDE :: CInt glut_CURSOR_RIGHT_SIDE = 0x000F glut_CURSOR_SPRAY :: CInt glut_CURSOR_SPRAY = 0x0006 glut_CURSOR_TEXT :: CInt glut_CURSOR_TEXT = 0x0008 glut_CURSOR_TOP_LEFT_CORNER :: CInt glut_CURSOR_TOP_LEFT_CORNER = 0x0010 glut_CURSOR_TOP_RIGHT_CORNER :: CInt glut_CURSOR_TOP_RIGHT_CORNER = 0x0011 glut_CURSOR_TOP_SIDE :: CInt glut_CURSOR_TOP_SIDE = 0x000C glut_CURSOR_UP_DOWN :: CInt glut_CURSOR_UP_DOWN = 0x000A glut_CURSOR_WAIT :: CInt glut_CURSOR_WAIT = 0x0007 glut_DEBUG :: CInt glut_DEBUG = 0x0001 glut_DEPTH :: CUInt glut_DEPTH = 0x0010 glut_DEVICE_IGNORE_KEY_REPEAT :: GLenum glut_DEVICE_IGNORE_KEY_REPEAT = 0x0262 glut_DEVICE_KEY_REPEAT :: GLenum glut_DEVICE_KEY_REPEAT = 0x0263 glut_DIRECT_RENDERING :: GLenum glut_DIRECT_RENDERING = 0x01FE glut_DISPLAY_MODE_POSSIBLE :: GLenum glut_DISPLAY_MODE_POSSIBLE = 0x0190 glut_DOUBLE :: CUInt glut_DOUBLE = 0x0002 glut_DOWN :: CInt glut_DOWN = 0x0000 glut_ELAPSED_TIME :: GLenum glut_ELAPSED_TIME = 0x02BC glut_ENTERED :: CInt glut_ENTERED = 0x0001 glut_FORCE_DIRECT_CONTEXT :: CInt glut_FORCE_DIRECT_CONTEXT = 3 glut_FORCE_INDIRECT_CONTEXT :: CInt glut_FORCE_INDIRECT_CONTEXT = 0 glut_FORWARD_COMPATIBLE :: CInt glut_FORWARD_COMPATIBLE = 0x0002 glut_FULLY_COVERED :: CInt glut_FULLY_COVERED = 0x0003 glut_FULLY_RETAINED :: CInt glut_FULLY_RETAINED = 0x0001 glut_FULL_SCREEN :: GLenum glut_FULL_SCREEN = 0x01FF glut_GAME_MODE_ACTIVE :: GLenum glut_GAME_MODE_ACTIVE = 0x0000 glut_GAME_MODE_DISPLAY_CHANGED :: GLenum glut_GAME_MODE_DISPLAY_CHANGED = 0x0006 glut_GAME_MODE_HEIGHT :: GLenum glut_GAME_MODE_HEIGHT = 0x0003 glut_GAME_MODE_PIXEL_DEPTH :: GLenum glut_GAME_MODE_PIXEL_DEPTH = 0x0004 glut_GAME_MODE_POSSIBLE :: GLenum glut_GAME_MODE_POSSIBLE = 0x0001 glut_GAME_MODE_REFRESH_RATE :: GLenum glut_GAME_MODE_REFRESH_RATE = 0x0005 glut_GAME_MODE_WIDTH :: GLenum glut_GAME_MODE_WIDTH = 0x0002 glut_GREEN :: CInt glut_GREEN = 0x0001 glut_HAS_DIAL_AND_BUTTON_BOX :: GLenum glut_HAS_DIAL_AND_BUTTON_BOX = 0x025B glut_HAS_JOYSTICK :: GLenum glut_HAS_JOYSTICK = 0x0264 glut_HAS_KEYBOARD :: GLenum glut_HAS_KEYBOARD = 0x0258 glut_HAS_MOUSE :: GLenum glut_HAS_MOUSE = 0x0259 glut_HAS_OVERLAY :: GLenum glut_HAS_OVERLAY = 0x0322 glut_HAS_SPACEBALL :: GLenum glut_HAS_SPACEBALL = 0x025A glut_HAS_TABLET :: GLenum glut_HAS_TABLET = 0x025C glut_HIDDEN :: CInt glut_HIDDEN = 0x0000 glut_INDEX :: CUInt glut_INDEX = 0x0001 glut_INIT_DISPLAY_MODE :: GLenum glut_INIT_DISPLAY_MODE = 0x01F8 glut_INIT_FLAGS :: GLenum glut_INIT_FLAGS = 0x0202 glut_INIT_MAJOR_VERSION :: GLenum glut_INIT_MAJOR_VERSION = 0x0200 glut_INIT_MINOR_VERSION :: GLenum glut_INIT_MINOR_VERSION = 0x0201 glut_INIT_PROFILE :: GLenum glut_INIT_PROFILE = 0x0203 glut_INIT_STATE :: GLenum glut_INIT_STATE = 0x007C glut_INIT_WINDOW_HEIGHT :: GLenum glut_INIT_WINDOW_HEIGHT = 0x01F7 glut_INIT_WINDOW_WIDTH :: GLenum glut_INIT_WINDOW_WIDTH = 0x01F6 glut_INIT_WINDOW_X :: GLenum glut_INIT_WINDOW_X = 0x01F4 glut_INIT_WINDOW_Y :: GLenum glut_INIT_WINDOW_Y = 0x01F5 glut_JOYSTICK_AXES :: GLenum glut_JOYSTICK_AXES = 0x0267 glut_JOYSTICK_BUTTONS :: GLenum glut_JOYSTICK_BUTTONS = 0x0266 glut_JOYSTICK_BUTTON_A :: CUInt glut_JOYSTICK_BUTTON_A = 0x0001 glut_JOYSTICK_BUTTON_B :: CUInt glut_JOYSTICK_BUTTON_B = 0x0002 glut_JOYSTICK_BUTTON_C :: CUInt glut_JOYSTICK_BUTTON_C = 0x0004 glut_JOYSTICK_BUTTON_D :: CUInt glut_JOYSTICK_BUTTON_D = 0x0008 glut_JOYSTICK_POLL_RATE :: GLenum glut_JOYSTICK_POLL_RATE = 0x0268 glut_KEY_BEGIN :: CInt glut_KEY_BEGIN = 0x006E glut_KEY_DELETE :: CInt glut_KEY_DELETE = 0x006F glut_KEY_DOWN :: CInt glut_KEY_DOWN = 0x0067 glut_KEY_END :: CInt glut_KEY_END = 0x006B glut_KEY_F1 :: CInt glut_KEY_F1 = 0x0001 glut_KEY_F10 :: CInt glut_KEY_F10 = 0x000A glut_KEY_F11 :: CInt glut_KEY_F11 = 0x000B glut_KEY_F12 :: CInt glut_KEY_F12 = 0x000C glut_KEY_F2 :: CInt glut_KEY_F2 = 0x0002 glut_KEY_F3 :: CInt glut_KEY_F3 = 0x0003 glut_KEY_F4 :: CInt glut_KEY_F4 = 0x0004 glut_KEY_F5 :: CInt glut_KEY_F5 = 0x0005 glut_KEY_F6 :: CInt glut_KEY_F6 = 0x0006 glut_KEY_F7 :: CInt glut_KEY_F7 = 0x0007 glut_KEY_F8 :: CInt glut_KEY_F8 = 0x0008 glut_KEY_F9 :: CInt glut_KEY_F9 = 0x0009 glut_KEY_HOME :: CInt glut_KEY_HOME = 0x006A glut_KEY_INSERT :: CInt glut_KEY_INSERT = 0x006C glut_KEY_LEFT :: CInt glut_KEY_LEFT = 0x0064 glut_KEY_NUM_LOCK :: CInt glut_KEY_NUM_LOCK = 0x006D glut_KEY_PAGE_DOWN :: CInt glut_KEY_PAGE_DOWN = 0x0069 glut_KEY_PAGE_UP :: CInt glut_KEY_PAGE_UP = 0x0068 glut_KEY_REPEAT_DEFAULT :: CInt glut_KEY_REPEAT_DEFAULT = 0x0002 glut_KEY_REPEAT_OFF :: CInt glut_KEY_REPEAT_OFF = 0x0000 glut_KEY_REPEAT_ON :: CInt glut_KEY_REPEAT_ON = 0x0001 glut_KEY_RIGHT :: CInt glut_KEY_RIGHT = 0x0066 glut_KEY_UP :: CInt glut_KEY_UP = 0x0065 glut_LAYER_IN_USE :: GLenum glut_LAYER_IN_USE = 0x0321 glut_LEFT :: CInt glut_LEFT = 0x0000 glut_LEFT_BUTTON :: CInt glut_LEFT_BUTTON = 0x0000 glut_LUMINANCE :: CUInt glut_LUMINANCE = 0x0200 glut_MENU_IN_USE :: CInt glut_MENU_IN_USE = 0x0001 glut_MENU_NOT_IN_USE :: CInt glut_MENU_NOT_IN_USE = 0x0000 glut_MENU_NUM_ITEMS :: GLenum glut_MENU_NUM_ITEMS = 0x012C glut_MIDDLE_BUTTON :: CInt glut_MIDDLE_BUTTON = 0x0001 glut_MULTISAMPLE :: CUInt glut_MULTISAMPLE = 0x0080 glut_NORMAL :: GLenum glut_NORMAL = 0x0000 glut_NORMAL_DAMAGED :: GLenum glut_NORMAL_DAMAGED = 0x0324 glut_NOT_VISIBLE :: CInt glut_NOT_VISIBLE = 0x0000 glut_NUM_BUTTON_BOX_BUTTONS :: GLenum glut_NUM_BUTTON_BOX_BUTTONS = 0x025F glut_NUM_DIALS :: GLenum glut_NUM_DIALS = 0x0260 glut_NUM_MOUSE_BUTTONS :: GLenum glut_NUM_MOUSE_BUTTONS = 0x025D glut_NUM_SPACEBALL_BUTTONS :: GLenum glut_NUM_SPACEBALL_BUTTONS = 0x025E glut_NUM_TABLET_BUTTONS :: GLenum glut_NUM_TABLET_BUTTONS = 0x0261 glut_OVERLAY :: GLenum glut_OVERLAY = 0x0001 glut_OVERLAY_DAMAGED :: GLenum glut_OVERLAY_DAMAGED = 0x0325 glut_OVERLAY_POSSIBLE :: GLenum glut_OVERLAY_POSSIBLE = 0x0320 glut_OWNS_JOYSTICK :: GLenum glut_OWNS_JOYSTICK = 0x0265 glut_PARTIALLY_RETAINED :: CInt glut_PARTIALLY_RETAINED = 0x0002 glut_RED :: CInt glut_RED = 0x0000 glut_RENDERING_CONTEXT :: GLenum glut_RENDERING_CONTEXT = 0x01FD glut_RGB :: CUInt glut_RGB = 0x0000 glut_RGBA :: CUInt glut_RGBA = 0x0000 glut_RIGHT_BUTTON :: CInt glut_RIGHT_BUTTON = 0x0002 glut_SCREEN_HEIGHT :: GLenum glut_SCREEN_HEIGHT = 0x00C9 glut_SCREEN_HEIGHT_MM :: GLenum glut_SCREEN_HEIGHT_MM = 0x00CB glut_SCREEN_WIDTH :: GLenum glut_SCREEN_WIDTH = 0x00C8 glut_SCREEN_WIDTH_MM :: GLenum glut_SCREEN_WIDTH_MM = 0x00CA glut_SINGLE :: CUInt glut_SINGLE = 0x0000 glut_SRGB :: CUInt glut_SRGB = 0x1000 glut_STENCIL :: CUInt glut_STENCIL = 0x0020 glut_STEREO :: CUInt glut_STEREO = 0x0100 glut_TRANSPARENT_INDEX :: GLenum glut_TRANSPARENT_INDEX = 0x0323 glut_TRY_DIRECT_CONTEXT :: CInt glut_TRY_DIRECT_CONTEXT = 2 glut_UP :: CInt glut_UP = 0x0001 glut_USE_CURRENT_CONTEXT :: CInt glut_USE_CURRENT_CONTEXT = 1 glut_VERSION :: GLenum glut_VERSION = 0x01FC glut_VIDEO_RESIZE_HEIGHT :: GLenum glut_VIDEO_RESIZE_HEIGHT = 0x038D glut_VIDEO_RESIZE_HEIGHT_DELTA :: GLenum glut_VIDEO_RESIZE_HEIGHT_DELTA = 0x0389 glut_VIDEO_RESIZE_IN_USE :: GLenum glut_VIDEO_RESIZE_IN_USE = 0x0385 glut_VIDEO_RESIZE_POSSIBLE :: GLenum glut_VIDEO_RESIZE_POSSIBLE = 0x0384 glut_VIDEO_RESIZE_WIDTH :: GLenum glut_VIDEO_RESIZE_WIDTH = 0x038C glut_VIDEO_RESIZE_WIDTH_DELTA :: GLenum glut_VIDEO_RESIZE_WIDTH_DELTA = 0x0388 glut_VIDEO_RESIZE_X :: GLenum glut_VIDEO_RESIZE_X = 0x038A glut_VIDEO_RESIZE_X_DELTA :: GLenum glut_VIDEO_RESIZE_X_DELTA = 0x0386 glut_VIDEO_RESIZE_Y :: GLenum glut_VIDEO_RESIZE_Y = 0x038B glut_VIDEO_RESIZE_Y_DELTA :: GLenum glut_VIDEO_RESIZE_Y_DELTA = 0x0387 glut_VISIBLE :: CInt glut_VISIBLE = 0x0001 glut_WINDOW_ACCUM_ALPHA_SIZE :: GLenum glut_WINDOW_ACCUM_ALPHA_SIZE = 0x0072 glut_WINDOW_ACCUM_BLUE_SIZE :: GLenum glut_WINDOW_ACCUM_BLUE_SIZE = 0x0071 glut_WINDOW_ACCUM_GREEN_SIZE :: GLenum glut_WINDOW_ACCUM_GREEN_SIZE = 0x0070 glut_WINDOW_ACCUM_RED_SIZE :: GLenum glut_WINDOW_ACCUM_RED_SIZE = 0x006F glut_WINDOW_ALPHA_SIZE :: GLenum glut_WINDOW_ALPHA_SIZE = 0x006E glut_WINDOW_BLUE_SIZE :: GLenum glut_WINDOW_BLUE_SIZE = 0x006D glut_WINDOW_BORDER_WIDTH :: GLenum glut_WINDOW_BORDER_WIDTH = 0x01FA glut_WINDOW_BUFFER_SIZE :: GLenum glut_WINDOW_BUFFER_SIZE = 0x0068 glut_WINDOW_COLORMAP_SIZE :: GLenum glut_WINDOW_COLORMAP_SIZE = 0x0077 glut_WINDOW_CURSOR :: GLenum glut_WINDOW_CURSOR = 0x007A glut_WINDOW_DEPTH_SIZE :: GLenum glut_WINDOW_DEPTH_SIZE = 0x006A glut_WINDOW_DOUBLEBUFFER :: GLenum glut_WINDOW_DOUBLEBUFFER = 0x0073 glut_WINDOW_FORMAT_ID :: GLenum glut_WINDOW_FORMAT_ID = 0x007B glut_WINDOW_GREEN_SIZE :: GLenum glut_WINDOW_GREEN_SIZE = 0x006C glut_WINDOW_HEADER_HEIGHT :: GLenum glut_WINDOW_HEADER_HEIGHT = 0x01FB glut_WINDOW_HEIGHT :: GLenum glut_WINDOW_HEIGHT = 0x0067 glut_WINDOW_NUM_CHILDREN :: GLenum glut_WINDOW_NUM_CHILDREN = 0x0076 glut_WINDOW_NUM_SAMPLES :: GLenum glut_WINDOW_NUM_SAMPLES = 0x0078 glut_WINDOW_PARENT :: GLenum glut_WINDOW_PARENT = 0x0075 glut_WINDOW_RED_SIZE :: GLenum glut_WINDOW_RED_SIZE = 0x006B glut_WINDOW_RGBA :: GLenum glut_WINDOW_RGBA = 0x0074 glut_WINDOW_STENCIL_SIZE :: GLenum glut_WINDOW_STENCIL_SIZE = 0x0069 glut_WINDOW_STEREO :: GLenum glut_WINDOW_STEREO = 0x0079 glut_WINDOW_WIDTH :: GLenum glut_WINDOW_WIDTH = 0x0066 glut_WINDOW_X :: GLenum glut_WINDOW_X = 0x0064 glut_WINDOW_Y :: GLenum glut_WINDOW_Y = 0x0065 GLUT-2.4.0.0/Graphics/UI/GLUT/Raw/Functions.hs0000644000000000000000000002533112121453247016506 0ustar0000000000000000{-# LANGUAGE ForeignFunctionInterface, CPP #-} -- #hide ----------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Raw.Functions -- Copyright : (c) Sven Panne 2009 -- License : BSD-style (see the file LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- All raw functions from GLUT and freeglut. -- ----------------------------------------------------------------------------- module Graphics.UI.GLUT.Raw.Functions ( glutGetProcAddress, glutGetColor, glutStrokeHeight, glutBitmapHeight, glutBitmapLength, glutBitmapWidth, glutCreateMenu, glutCreateSubWindow, glutCreateWindow, glutDeviceGet, glutEnterGameMode, glutExtensionSupported, glutGameModeGet, glutGet, glutGetMenu, glutGetModifiers, glutGetWindow, glutLayerGet, glutStrokeLength, glutStrokeWidth, glutVideoResizeGet, glutGetModeValues, glutAddMenuEntry, glutAddSubMenu, glutAttachMenu, glutBitmapCharacter, glutBitmapString, glutButtonBoxFunc, glutChangeToMenuEntry, glutChangeToSubMenu, glutCloseFunc, glutCopyColormap, glutDestroyMenu, glutDestroyWindow, glutDetachMenu, glutDialsFunc, glutDisplayFunc, glutEntryFunc, glutEstablishOverlay, glutExit, glutForceJoystickFunc, glutFullScreen, glutFullScreenToggle, glutGameModeString, glutHideOverlay, glutHideWindow, glutIconifyWindow, glutIdleFunc, glutIgnoreKeyRepeat, glutInit, glutInitContextFlags, glutInitContextVersion, glutInitContextProfile, glutInitDisplayMode, glutInitDisplayString, glutInitWindowPosition, glutInitWindowSize, glutJoystickFunc, glutKeyboardFunc, glutKeyboardUpFunc, glutLeaveGameMode, glutLeaveMainLoop, glutMainLoop, glutMainLoopEvent, glutMenuDestroyFunc, glutMenuStateFunc, glutMenuStatusFunc, glutMotionFunc, glutMouseFunc, glutMouseWheelFunc, glutOverlayDisplayFunc, glutPassiveMotionFunc, glutPopWindow, glutPositionWindow, glutPostOverlayRedisplay, glutPostRedisplay, glutPostWindowOverlayRedisplay, glutPostWindowRedisplay, glutPushWindow, glutRemoveMenuItem, glutRemoveOverlay, glutReportErrors, glutReshapeFunc, glutReshapeWindow, glutSetColor, glutSetCursor, glutSetIconTitle, glutSetKeyRepeat, glutSetMenu, glutSetMenuData, glutSetOption, glutSetWindow, glutSetWindowData, glutSetWindowTitle, glutSetupVideoResizing, glutShowOverlay, glutShowWindow, glutSolidCone, glutSolidCube, glutSolidCylinder, glutSolidDodecahedron, glutSolidIcosahedron, glutSolidOctahedron, glutSolidRhombicDodecahedron, glutSolidSierpinskiSponge, glutSolidSphere, glutSolidTeapot, glutSolidTetrahedron, glutSolidTorus, glutSpaceballButtonFunc, glutSpaceballMotionFunc, glutSpaceballRotateFunc, glutSpecialFunc, glutSpecialUpFunc, glutStopVideoResizing, glutStrokeCharacter, glutStrokeString, glutSwapBuffers, glutTabletButtonFunc, glutTabletMotionFunc, glutTimerFunc, glutUseLayer, glutVideoPan, glutVideoResize, glutVisibilityFunc, glutWMCloseFunc, glutWarpPointer, glutWindowStatusFunc, glutWireCone, glutWireCube, glutWireCylinder, glutWireDodecahedron, glutWireIcosahedron, glutWireOctahedron, glutWireRhombicDodecahedron, glutWireSierpinskiSponge, glutWireSphere, glutWireTeapot, glutWireTetrahedron, glutWireTorus, glutGetMenuData, glutGetWindowData ) where import Foreign.C.Types import Foreign.Ptr import Graphics.Rendering.OpenGL.Raw.Core31.Types import Graphics.UI.GLUT.Raw.APIEntry import Graphics.UI.GLUT.Raw.Callbacks #include "HsGLUTExt.h" API_ENTRY(glutGetProcAddress,Ptr CChar -> IO (FunPtr a)) API_ENTRY(glutGetColor,CInt -> CInt -> IO GLfloat) API_ENTRY(glutStrokeHeight,Ptr a -> IO GLfloat) API_ENTRY(glutBitmapHeight,Ptr a -> IO CInt) API_ENTRY(glutBitmapLength,Ptr a -> Ptr CUChar -> IO CInt) API_ENTRY(glutBitmapWidth,Ptr a -> CInt -> IO CInt) API_ENTRY(glutCreateMenu,FunPtr MenuFunc -> IO CInt) API_ENTRY(glutCreateSubWindow,CInt -> CInt -> CInt -> CInt -> CInt -> IO CInt) API_ENTRY(glutCreateWindow,Ptr CChar -> IO CInt) API_ENTRY(glutDeviceGet,GLenum -> IO CInt) API_ENTRY(glutEnterGameMode,IO CInt) API_ENTRY(glutExtensionSupported,Ptr CChar -> IO CInt) API_ENTRY(glutGameModeGet,GLenum -> IO CInt) API_ENTRY(glutGet,GLenum -> IO CInt) API_ENTRY(glutGetMenu,IO CInt) API_ENTRY(glutGetModifiers,IO CInt) API_ENTRY(glutGetWindow,IO CInt) API_ENTRY(glutLayerGet,GLenum -> IO CInt) API_ENTRY(glutStrokeLength,Ptr a -> Ptr CUChar -> IO CInt) API_ENTRY(glutStrokeWidth,Ptr a -> CInt -> IO CInt) API_ENTRY(glutVideoResizeGet,GLenum -> IO CInt) API_ENTRY(glutGetModeValues,GLenum -> Ptr CInt -> IO (Ptr CInt)) API_ENTRY(glutAddMenuEntry,Ptr CChar -> CInt -> IO ()) API_ENTRY(glutAddSubMenu,Ptr CChar -> CInt -> IO ()) API_ENTRY(glutAttachMenu,CInt -> IO ()) API_ENTRY(glutBitmapCharacter,Ptr a -> CInt -> IO ()) API_ENTRY(glutBitmapString,Ptr a -> Ptr CUChar -> IO ()) API_ENTRY(glutButtonBoxFunc,FunPtr ButtonBoxFunc -> IO ()) API_ENTRY(glutChangeToMenuEntry,CInt -> Ptr CChar -> CInt -> IO ()) API_ENTRY(glutChangeToSubMenu,CInt -> Ptr CChar -> CInt -> IO ()) API_ENTRY(glutCloseFunc,FunPtr CloseFunc -> IO ()) API_ENTRY(glutCopyColormap,CInt -> IO ()) API_ENTRY(glutDestroyMenu,CInt -> IO ()) API_ENTRY(glutDestroyWindow,CInt -> IO ()) API_ENTRY(glutDetachMenu,CInt -> IO ()) API_ENTRY(glutDialsFunc,FunPtr DialsFunc -> IO ()) API_ENTRY(glutDisplayFunc,FunPtr DisplayFunc -> IO ()) API_ENTRY(glutEntryFunc,FunPtr EntryFunc -> IO ()) API_ENTRY_SAFE(glutEstablishOverlay,IO ()) API_ENTRY(glutExit,IO ()) API_ENTRY(glutForceJoystickFunc,IO ()) API_ENTRY(glutFullScreen,IO ()) API_ENTRY(glutFullScreenToggle,IO ()) API_ENTRY(glutGameModeString,Ptr CChar -> IO ()) API_ENTRY_SAFE(glutHideOverlay,IO ()) API_ENTRY(glutHideWindow,IO ()) API_ENTRY(glutIconifyWindow,IO ()) API_ENTRY(glutIdleFunc,FunPtr IdleFunc -> IO ()) API_ENTRY(glutIgnoreKeyRepeat,CInt -> IO ()) API_ENTRY(glutInit,Ptr CInt -> Ptr (Ptr CChar) -> IO ()) API_ENTRY(glutInitContextFlags,CInt -> IO ()) API_ENTRY(glutInitContextVersion,CInt -> CInt -> IO ()) API_ENTRY(glutInitContextProfile,CInt -> IO ()) API_ENTRY(glutInitDisplayMode,CUInt -> IO ()) API_ENTRY(glutInitDisplayString,Ptr CChar -> IO ()) API_ENTRY(glutInitWindowPosition,CInt -> CInt -> IO ()) API_ENTRY(glutInitWindowSize,CInt -> CInt -> IO ()) API_ENTRY(glutJoystickFunc,FunPtr JoystickFunc -> CInt -> IO ()) API_ENTRY(glutKeyboardFunc,FunPtr KeyboardFunc -> IO ()) API_ENTRY(glutKeyboardUpFunc,FunPtr KeyboardUpFunc -> IO ()) API_ENTRY(glutLeaveGameMode,IO ()) API_ENTRY_SAFE(glutLeaveMainLoop,IO ()) API_ENTRY_SAFE(glutMainLoop,IO ()) API_ENTRY_SAFE(glutMainLoopEvent,IO ()) API_ENTRY(glutMenuDestroyFunc,FunPtr MenuDestroyFunc -> IO ()) API_ENTRY(glutMenuStateFunc,FunPtr MenuStateFunc -> IO ()) API_ENTRY(glutMenuStatusFunc,FunPtr MenuStatusFunc -> IO ()) API_ENTRY(glutMotionFunc,FunPtr MotionFunc -> IO ()) API_ENTRY(glutMouseFunc,FunPtr MouseFunc -> IO ()) API_ENTRY(glutMouseWheelFunc,FunPtr MouseWheelFunc -> IO ()) API_ENTRY(glutOverlayDisplayFunc,FunPtr OverlayDisplayFunc -> IO ()) API_ENTRY(glutPassiveMotionFunc,FunPtr PassiveMotionFunc -> IO ()) API_ENTRY(glutPopWindow,IO ()) API_ENTRY(glutPositionWindow,CInt -> CInt -> IO ()) API_ENTRY_SAFE(glutPostOverlayRedisplay,IO ()) API_ENTRY(glutPostRedisplay,IO ()) API_ENTRY_SAFE(glutPostWindowOverlayRedisplay,CInt -> IO ()) API_ENTRY(glutPostWindowRedisplay,CInt -> IO ()) API_ENTRY(glutPushWindow,IO ()) API_ENTRY(glutRemoveMenuItem,CInt -> IO ()) API_ENTRY_SAFE(glutRemoveOverlay,IO ()) API_ENTRY(glutReportErrors,IO ()) API_ENTRY(glutReshapeFunc,FunPtr ReshapeFunc -> IO ()) API_ENTRY(glutReshapeWindow,CInt -> CInt -> IO ()) API_ENTRY(glutSetColor,CInt -> GLfloat -> GLfloat -> GLfloat -> IO ()) API_ENTRY(glutSetCursor,CInt -> IO ()) API_ENTRY(glutSetIconTitle,Ptr CChar -> IO ()) API_ENTRY(glutSetKeyRepeat,CInt -> IO ()) API_ENTRY(glutSetMenu,CInt -> IO ()) API_ENTRY(glutSetMenuData,Ptr a -> IO ()) API_ENTRY(glutSetOption,GLenum -> CInt -> IO ()) API_ENTRY(glutSetWindow,CInt -> IO ()) API_ENTRY(glutSetWindowData,Ptr a -> IO ()) API_ENTRY(glutSetWindowTitle,Ptr CChar -> IO ()) API_ENTRY(glutSetupVideoResizing,IO ()) API_ENTRY_SAFE(glutShowOverlay,IO ()) API_ENTRY(glutShowWindow,IO ()) API_ENTRY(glutSolidCone,GLdouble -> GLdouble -> GLint -> GLint -> IO ()) API_ENTRY(glutSolidCube,GLdouble -> IO ()) API_ENTRY(glutSolidCylinder,GLdouble -> GLdouble -> GLint -> GLint -> IO ()) API_ENTRY(glutSolidDodecahedron,IO ()) API_ENTRY(glutSolidIcosahedron,IO ()) API_ENTRY(glutSolidOctahedron,IO ()) API_ENTRY(glutSolidRhombicDodecahedron,IO ()) API_ENTRY(glutSolidSierpinskiSponge,CInt -> Ptr GLdouble -> GLdouble -> IO ()) API_ENTRY(glutSolidSphere,GLdouble -> GLint -> GLint -> IO ()) API_ENTRY(glutSolidTeapot,GLdouble -> IO ()) API_ENTRY(glutSolidTetrahedron,IO ()) API_ENTRY(glutSolidTorus,GLdouble -> GLdouble -> GLint -> GLint -> IO ()) API_ENTRY(glutSpaceballButtonFunc,FunPtr SpaceballButtonFunc -> IO ()) API_ENTRY(glutSpaceballMotionFunc,FunPtr SpaceballMotionFunc -> IO ()) API_ENTRY(glutSpaceballRotateFunc,FunPtr SpaceballRotateFunc -> IO ()) API_ENTRY(glutSpecialFunc,FunPtr SpecialFunc -> IO ()) API_ENTRY(glutSpecialUpFunc,FunPtr SpecialUpFunc -> IO ()) API_ENTRY(glutStopVideoResizing,IO ()) API_ENTRY(glutStrokeCharacter,Ptr a -> CInt -> IO ()) API_ENTRY(glutStrokeString,Ptr a -> Ptr CUChar -> IO ()) API_ENTRY(glutSwapBuffers,IO ()) API_ENTRY(glutTabletButtonFunc,FunPtr TabletButtonFunc -> IO ()) API_ENTRY(glutTabletMotionFunc,FunPtr TabletMotionFunc -> IO ()) API_ENTRY(glutTimerFunc,CUInt -> FunPtr TimerFunc -> CInt -> IO ()) API_ENTRY_SAFE(glutUseLayer,GLenum -> IO ()) API_ENTRY(glutVideoPan,CInt -> CInt -> CInt -> CInt -> IO ()) API_ENTRY(glutVideoResize,CInt -> CInt -> CInt -> CInt -> IO ()) API_ENTRY(glutVisibilityFunc,FunPtr VisibilityFunc -> IO ()) API_ENTRY(glutWMCloseFunc,FunPtr WMCloseFunc -> IO ()) API_ENTRY(glutWarpPointer,CInt -> CInt -> IO ()) API_ENTRY(glutWindowStatusFunc,FunPtr WindowStatusFunc -> IO ()) API_ENTRY(glutWireCone,GLdouble -> GLdouble -> GLint -> GLint -> IO ()) API_ENTRY(glutWireCube,GLdouble -> IO ()) API_ENTRY(glutWireCylinder,GLdouble -> GLdouble -> GLint -> GLint -> IO ()) API_ENTRY(glutWireDodecahedron,IO ()) API_ENTRY(glutWireIcosahedron,IO ()) API_ENTRY(glutWireOctahedron,IO ()) API_ENTRY(glutWireRhombicDodecahedron,IO ()) API_ENTRY(glutWireSierpinskiSponge,CInt -> Ptr GLdouble -> GLdouble -> IO ()) API_ENTRY(glutWireSphere,GLdouble -> GLint -> GLint -> IO ()) API_ENTRY(glutWireTeapot,GLdouble -> IO ()) API_ENTRY(glutWireTetrahedron,IO ()) API_ENTRY(glutWireTorus,GLdouble -> GLdouble -> GLint -> GLint -> IO ()) API_ENTRY(glutGetMenuData,IO (Ptr a)) API_ENTRY(glutGetWindowData,IO (Ptr a)) GLUT-2.4.0.0/Graphics/UI/GLUT/Raw/Fonts.hs0000644000000000000000000000155412121453247015630 0ustar0000000000000000{-# LANGUAGE ForeignFunctionInterface #-} -- #hide ----------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Raw.Fonts -- Copyright : (c) Sven Panne 2009 -- License : BSD-style (see the file LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- Our own functions to access font identifiers in a portable way. -- ----------------------------------------------------------------------------- module Graphics.UI.GLUT.Raw.Fonts ( hs_GLUT_marshalBitmapFont, hs_GLUT_marshalStrokeFont ) where import Foreign.C.Types import Foreign.Ptr foreign import ccall unsafe "hs_GLUT_marshalBitmapFont" hs_GLUT_marshalBitmapFont :: CInt -> IO (Ptr a) foreign import ccall unsafe "hs_GLUT_marshalStrokeFont" hs_GLUT_marshalStrokeFont :: CInt -> IO (Ptr a) GLUT-2.4.0.0/Graphics/UI/GLUT/Raw/Callbacks.hs0000644000000000000000000001346312121453247016420 0ustar0000000000000000{-# LANGUAGE ForeignFunctionInterface #-} -- #hide ----------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Raw.Callbacks -- Copyright : (c) Sven Panne 2009 -- License : BSD-style (see the file LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- All GLUT callbacks. -- ----------------------------------------------------------------------------- module Graphics.UI.GLUT.Raw.Callbacks ( MenuFunc, makeMenuFunc, ButtonBoxFunc, makeButtonBoxFunc, CloseFunc, makeCloseFunc, DialsFunc, makeDialsFunc, DisplayFunc, makeDisplayFunc, EntryFunc, makeEntryFunc, IdleFunc, makeIdleFunc, JoystickFunc, makeJoystickFunc, KeyboardFunc, makeKeyboardFunc, KeyboardUpFunc, makeKeyboardUpFunc, MenuDestroyFunc, makeMenuDestroyFunc, MenuStateFunc, makeMenuStateFunc, MenuStatusFunc, makeMenuStatusFunc, MotionFunc, makeMotionFunc, MouseFunc, makeMouseFunc, MouseWheelFunc, makeMouseWheelFunc, OverlayDisplayFunc, makeOverlayDisplayFunc, PassiveMotionFunc, makePassiveMotionFunc, ReshapeFunc, makeReshapeFunc, SpaceballButtonFunc, makeSpaceballButtonFunc, SpaceballMotionFunc, makeSpaceballMotionFunc, SpaceballRotateFunc, makeSpaceballRotateFunc, SpecialFunc, makeSpecialFunc, SpecialUpFunc, makeSpecialUpFunc, TabletButtonFunc, makeTabletButtonFunc, TabletMotionFunc, makeTabletMotionFunc, TimerFunc, makeTimerFunc, VisibilityFunc, makeVisibilityFunc, WMCloseFunc, makeWMCloseFunc, WindowStatusFunc, makeWindowStatusFunc ) where import Foreign.C.Types import Foreign.Ptr type MenuFunc = CInt -> IO () foreign import ccall "wrapper" makeMenuFunc :: MenuFunc -> IO (FunPtr MenuFunc) type ButtonBoxFunc = CInt -> CInt -> IO () foreign import ccall "wrapper" makeButtonBoxFunc :: ButtonBoxFunc -> IO (FunPtr ButtonBoxFunc) type CloseFunc = IO () foreign import ccall "wrapper" makeCloseFunc :: CloseFunc -> IO (FunPtr CloseFunc) type DialsFunc = CInt -> CInt -> IO () foreign import ccall "wrapper" makeDialsFunc :: DialsFunc -> IO (FunPtr DialsFunc) type DisplayFunc = IO () foreign import ccall "wrapper" makeDisplayFunc :: DisplayFunc -> IO (FunPtr DisplayFunc) type EntryFunc = CInt -> IO () foreign import ccall "wrapper" makeEntryFunc :: EntryFunc -> IO (FunPtr EntryFunc) type IdleFunc = IO () foreign import ccall "wrapper" makeIdleFunc :: IdleFunc -> IO (FunPtr IdleFunc) type JoystickFunc = CUInt -> CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeJoystickFunc :: JoystickFunc -> IO (FunPtr JoystickFunc) type KeyboardFunc = CUChar -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeKeyboardFunc :: KeyboardFunc -> IO (FunPtr KeyboardFunc) type KeyboardUpFunc = CUChar -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeKeyboardUpFunc :: KeyboardUpFunc -> IO (FunPtr KeyboardUpFunc) type MenuDestroyFunc = IO () foreign import ccall "wrapper" makeMenuDestroyFunc :: MenuDestroyFunc -> IO (FunPtr MenuDestroyFunc) type MenuStateFunc = CInt -> IO () foreign import ccall "wrapper" makeMenuStateFunc :: MenuStateFunc -> IO (FunPtr MenuStateFunc) type MenuStatusFunc = CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeMenuStatusFunc :: MenuStatusFunc -> IO (FunPtr MenuStatusFunc) type MotionFunc = CInt -> CInt -> IO () foreign import ccall "wrapper" makeMotionFunc :: MotionFunc -> IO (FunPtr MotionFunc) type MouseFunc = CInt -> CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeMouseFunc :: MouseFunc -> IO (FunPtr MouseFunc) type MouseWheelFunc = CInt -> CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeMouseWheelFunc :: MouseWheelFunc -> IO (FunPtr MouseWheelFunc) type OverlayDisplayFunc = IO () foreign import ccall "wrapper" makeOverlayDisplayFunc :: OverlayDisplayFunc -> IO (FunPtr OverlayDisplayFunc) type PassiveMotionFunc = CInt -> CInt -> IO () foreign import ccall "wrapper" makePassiveMotionFunc :: PassiveMotionFunc -> IO (FunPtr PassiveMotionFunc) type ReshapeFunc = CInt -> CInt -> IO () foreign import ccall "wrapper" makeReshapeFunc :: ReshapeFunc -> IO (FunPtr ReshapeFunc) type SpaceballButtonFunc = CInt -> CInt -> IO () foreign import ccall "wrapper" makeSpaceballButtonFunc :: SpaceballButtonFunc -> IO (FunPtr SpaceballButtonFunc) type SpaceballMotionFunc = CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeSpaceballMotionFunc :: SpaceballMotionFunc -> IO (FunPtr SpaceballMotionFunc) type SpaceballRotateFunc = CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeSpaceballRotateFunc :: SpaceballRotateFunc -> IO (FunPtr SpaceballRotateFunc) type SpecialFunc = CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeSpecialFunc :: SpecialFunc -> IO (FunPtr SpecialFunc) type SpecialUpFunc = CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeSpecialUpFunc :: SpecialUpFunc -> IO (FunPtr SpecialUpFunc) type TabletButtonFunc = CInt -> CInt -> CInt -> CInt -> IO () foreign import ccall "wrapper" makeTabletButtonFunc :: TabletButtonFunc -> IO (FunPtr TabletButtonFunc) type TabletMotionFunc = CInt -> CInt -> IO () foreign import ccall "wrapper" makeTabletMotionFunc :: TabletMotionFunc -> IO (FunPtr TabletMotionFunc) type TimerFunc = CInt -> IO () foreign import ccall "wrapper" makeTimerFunc :: TimerFunc -> IO (FunPtr TimerFunc) type VisibilityFunc = CInt -> IO () foreign import ccall "wrapper" makeVisibilityFunc :: VisibilityFunc -> IO (FunPtr VisibilityFunc) type WMCloseFunc = IO () foreign import ccall "wrapper" makeWMCloseFunc :: WMCloseFunc -> IO (FunPtr WMCloseFunc) type WindowStatusFunc = CInt -> IO () foreign import ccall "wrapper" makeWindowStatusFunc :: WindowStatusFunc -> IO (FunPtr WindowStatusFunc) GLUT-2.4.0.0/Graphics/UI/GLUT/Raw/APIEntry.hs0000644000000000000000000000307412121453247016171 0ustar0000000000000000{-# LANGUAGE ForeignFunctionInterface, CPP #-} -- #hide -------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Raw.APIEntry -- Copyright : (c) Sven Panne 2002-2009 -- License : BSD-style (see the file LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : provisional -- Portability : portable -- -- This is a purely internal module for handling an OpenGL-like extension -- mechanism for GLUT. -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Raw.APIEntry ( Invoker, getAPIEntry, getAPIEntryInternal, FunPtr, unsafePerformIO ) where import Foreign.C.String import Foreign.Marshal.Error import Foreign.Ptr import System.IO.Unsafe #ifdef __HUGS__ {-# CFILES cbits/HsGLUT.c #-} #endif -------------------------------------------------------------------------------- type Invoker a = FunPtr a -> a -- | Retrieve a GLUT API entry by name. Throws a userError when no entry with -- the given name was found. getAPIEntry :: String -> IO (FunPtr a) getAPIEntry extensionEntry = throwIfNullFunPtr ("unknown GLUT entry " ++ extensionEntry) $ getAPIEntryInternal extensionEntry throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a) throwIfNullFunPtr = throwIf (== nullFunPtr) . const getAPIEntryInternal :: String -> IO (FunPtr a) getAPIEntryInternal extensionEntry = withCString extensionEntry hs_GLUT_getProcAddress foreign import ccall unsafe "hs_GLUT_getProcAddress" hs_GLUT_getProcAddress :: CString -> IO (FunPtr a) GLUT-2.4.0.0/Graphics/UI/GLUT/Callbacks/0000755000000000000000000000000012121453247015324 5ustar0000000000000000GLUT-2.4.0.0/Graphics/UI/GLUT/Callbacks/Window.hs0000644000000000000000000010306412121453247017133 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Callbacks.Window -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Callbacks.Window ( -- * Redisplay callbacks DisplayCallback, displayCallback, overlayDisplayCallback, -- * Reshape callback ReshapeCallback, reshapeCallback, -- * Callbacks for visibility changes Visibility(..), VisibilityCallback, visibilityCallback, WindowState(..), WindowStateCallback, windowStateCallback, -- * Window close callback CloseCallback, closeCallback, -- * Keyboard callback KeyboardCallback, keyboardCallback, keyboardUpCallback, -- * Special callback SpecialCallback, specialCallback, specialUpCallback, -- * Mouse callback MouseCallback, mouseCallback, -- * Keyboard and mouse input callback Key(..), SpecialKey(..), MouseButton(..), KeyState(..), Modifiers(..), KeyboardMouseCallback, keyboardMouseCallback, -- * Mouse wheel callback WheelNumber, WheelDirection, MouseWheelCallback, mouseWheelCallback, -- * Mouse movement callbacks MotionCallback, motionCallback, passiveMotionCallback, Crossing(..), CrossingCallback, crossingCallback, -- * Spaceball callback SpaceballMotion, SpaceballRotation, ButtonIndex, SpaceballInput(..), SpaceballCallback, spaceballCallback, -- * Dial & button box callback DialAndButtonBoxInput(..), DialIndex, DialAndButtonBoxCallback, dialAndButtonBoxCallback, -- * Tablet callback TabletPosition(..), TabletInput(..), TabletCallback, tabletCallback, -- * Joystick callback JoystickButtons(..), JoystickPosition(..), JoystickCallback, joystickCallback ) where import Data.Bits hiding ( shift ) import Data.Char import Data.Maybe import Foreign.C.Types import Graphics.Rendering.OpenGL ( Position(..), Size(..) , SettableStateVar, makeSettableStateVar ) import Graphics.UI.GLUT.Callbacks.Registration import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.State import Graphics.UI.GLUT.Types -------------------------------------------------------------------------------- -- | A display callback type DisplayCallback = IO () -- | Controls the display callback for the /current window./ When GLUT determines -- that the normal plane for the window needs to be redisplayed, the display -- callback for the window is called. Before the callback, the /current window/ -- is set to the window needing to be redisplayed and (if no overlay display -- callback is registered) the /layer in use/ is set to the normal plane. The -- entire normal plane region should be redisplayed in response to the callback -- (this includes ancillary buffers if your program depends on their state). -- -- GLUT determines when the display callback should be triggered based on the -- window\'s redisplay state. The redisplay state for a window can be either set -- explicitly by calling 'Graphics.UI.GLUT.Window.postRedisplay' or implicitly -- as the result of window damage reported by the window system. Multiple posted -- redisplays for a window are coalesced by GLUT to minimize the number of -- display callbacks called. -- -- When an overlay is established for a window, but there is no overlay display -- callback registered, the display callback is used for redisplaying both the -- overlay and normal plane (that is, it will be called if either the redisplay -- state or overlay redisplay state is set). In this case, the /layer in use/ is -- not implicitly changed on entry to the display callback. -- -- See 'overlayDisplayCallback' to understand how distinct callbacks for the -- overlay and normal plane of a window may be established. -- -- When a window is created, no display callback exists for the window. It is -- the responsibility of the programmer to install a display callback for the -- window before the window is shown. A display callback must be registered for -- any window that is shown. If a window becomes displayed without a display -- callback being registered, a fatal error occurs. There is no way to -- \"deregister\" a display callback (though another callback routine can always -- be registered). -- -- Upon return from the display callback, the normal damaged state of the window -- (see 'Graphics.UI.GLUT.State.damaged') is cleared. If there is no overlay -- display callback registered the overlay damaged state of the window (see -- 'Graphics.UI.GLUT.State.damaged') is also cleared. displayCallback :: SettableStateVar DisplayCallback displayCallback = makeSettableStateVar $ setCallback DisplayCB glutDisplayFunc makeDisplayFunc . Just -------------------------------------------------------------------------------- -- | Controls the overlay display callback for the /current window./ The overlay -- display callback is functionally the same as the window\'s display callback -- except that the overlay display callback is used to redisplay the window\'s -- overlay. -- -- When GLUT determines that the overlay plane for the window needs to be -- redisplayed, the overlay display callback for the window is called. Before -- the callback, the /current window/ is set to the window needing to be -- redisplayed and the /layer in use/ is set to the overlay. The entire overlay -- region should be redisplayed in response to the callback (this includes -- ancillary buffers if your program depends on their state). -- -- GLUT determines when the overlay display callback should be triggered based -- on the window\'s overlay redisplay state. The overlay redisplay state for a -- window can be either set explicitly by calling -- 'Graphics.UI.GLUT.Overlay.postOverlayRedisplay' or implicitly as the result -- of window damage reported by the window system. Multiple posted overlay -- redisplays for a window are coalesced by GLUT to minimize the number of -- overlay display callbacks called. -- -- Upon return from the overlay display callback, the overlay damaged state of -- the window (see 'Graphics.UI.GLUT.State.damaged') is cleared. -- -- Initially there is no overlay display callback registered when an overlay is -- established. See 'displayCallback' to understand how the display callback -- alone is used if an overlay display callback is not registered. overlayDisplayCallback :: SettableStateVar (Maybe DisplayCallback) overlayDisplayCallback = makeSettableStateVar $ setCallback OverlayDisplayCB glutOverlayDisplayFunc makeOverlayDisplayFunc -------------------------------------------------------------------------------- -- | A reshape callback type ReshapeCallback = Size -> IO () -- | Controls the reshape callback for the /current window./ The reshape callback -- is triggered when a window is reshaped. A reshape callback is also triggered -- immediately before a window\'s first display callback after a window is -- created or whenever an overlay for the window is established. The parameter -- of the callback specifies the new window size in pixels. Before the callback, -- the /current window/ is set to the window that has been reshaped. -- -- If a reshape callback is not registered for a window or 'reshapeCallback' is -- set to 'Nothing' (to deregister a previously registered callback), the -- default reshape callback is used. This default callback will simply call -- -- @ -- 'Graphics.Rendering.OpenGL.GL.CoordTrans.viewport' ('Graphics.Rendering.OpenGL.GL.CoordTrans.Position' 0 0) ('Graphics.Rendering.OpenGL.GL.CoordTrans.Size' /width/ /height/) -- @ -- -- on the normal plane (and on the overlay if one exists). -- -- If an overlay is established for the window, a single reshape callback is -- generated. It is the callback\'s responsibility to update both the normal -- plane and overlay for the window (changing the layer in use as necessary). -- -- When a top-level window is reshaped, subwindows are not reshaped. It is up to -- the GLUT program to manage the size and positions of subwindows within a -- top-level window. Still, reshape callbacks will be triggered for subwindows -- when their size is changed using 'Graphics.UI.GLUT.Window.windowSize'. reshapeCallback :: SettableStateVar (Maybe ReshapeCallback) reshapeCallback = makeSettableStateVar $ setCallback ReshapeCB glutReshapeFunc (makeReshapeFunc . unmarshal) where unmarshal cb w h = cb (Size (fromIntegral w) (fromIntegral h)) -------------------------------------------------------------------------------- -- | The visibility state of the /current window/ data Visibility = NotVisible -- ^ No part of the /current window/ is visible, i.e., until the -- window\'s visibility changes, all further rendering to the -- window is discarded. | Visible -- ^ The /current window/ is totally or partially visible. GLUT -- considers a window visible if any pixel of the window is -- visible or any pixel of any descendant window is visible on -- the screen. deriving ( Eq, Ord, Show ) unmarshalVisibility :: CInt -> Visibility unmarshalVisibility x | x == glut_NOT_VISIBLE = NotVisible | x == glut_VISIBLE = Visible | otherwise = error ("unmarshalVisibility: illegal value " ++ show x) -------------------------------------------------------------------------------- -- | A visibility callback type VisibilityCallback = Visibility -> IO () -- | Controls the visibility callback for the /current window./ The visibility -- callback for a window is called when the visibility of a window changes. -- -- If the visibility callback for a window is disabled and later re-enabled, the -- visibility status of the window is undefined; any change in window visibility -- will be reported, that is if you disable a visibility callback and re-enable -- the callback, you are guaranteed the next visibility change will be reported. -- -- Note that you can either use 'visibilityCallback' or 'windowStateCallback', -- but not both, because the former is implemented via the latter. visibilityCallback :: SettableStateVar (Maybe VisibilityCallback) visibilityCallback = makeSettableStateVar $ setCallback VisibilityCB glutVisibilityFunc (makeVisibilityFunc . unmarshal) where unmarshal cb = cb . unmarshalVisibility -------------------------------------------------------------------------------- -- | The window state of the /current window/ data WindowState = Unmapped -- ^ The /current window/ is unmapped. | FullyRetained -- ^ The /current window/ is unobscured. | PartiallyRetained -- ^ The /current window/ is partially obscured. | FullyCovered -- ^ The /current window/ is fully obscured. deriving ( Eq, Ord, Show ) unmarshalWindowState :: CInt -> WindowState unmarshalWindowState x | x == glut_HIDDEN = Unmapped | x == glut_FULLY_RETAINED = FullyRetained | x == glut_PARTIALLY_RETAINED = PartiallyRetained | x == glut_FULLY_COVERED = FullyCovered | otherwise = error ("unmarshalWindowState: illegal value " ++ show x) -------------------------------------------------------------------------------- -- | A window state callback type WindowStateCallback = WindowState -> IO () -- | Controls the window state callback for the -- /current window./ The window state callback for a window is called when the -- window state of a window changes. -- -- If the window state callback for a window is disabled and later re-enabled, -- the window state state of the window is undefined; any change in the window -- state will be reported, that is if you disable a window state callback and -- re-enable the callback, you are guaranteed the next window state change will -- be reported. -- -- Note that you can either use 'visibilityCallback' or 'windowStateCallback', -- but not both, because the former is implemented via the latter. windowStateCallback :: SettableStateVar (Maybe WindowStateCallback) windowStateCallback = makeSettableStateVar $ setCallback WindowStatusCB glutWindowStatusFunc (makeWindowStatusFunc . unmarshal) where unmarshal cb = cb . unmarshalWindowState -------------------------------------------------------------------------------- type CloseCallback = IO () closeCallback :: SettableStateVar (Maybe CloseCallback) closeCallback = makeSettableStateVar $ setCallback CloseCB glutCloseFunc makeCloseFunc -------------------------------------------------------------------------------- -- | A keyboard callback type KeyboardCallback = Char -> Position -> IO () setKeyboardCallback :: Maybe KeyboardCallback -> IO () setKeyboardCallback = setCallback KeyboardCB glutKeyboardFunc (makeKeyboardFunc . unmarshal) where unmarshal cb c x y = cb (chr (fromIntegral c)) (Position (fromIntegral x) (fromIntegral y)) -- | Controls the keyboard callback for the /current window/. This is -- activated only when a key is pressed. keyboardCallback :: SettableStateVar (Maybe KeyboardCallback) keyboardCallback = makeSettableStateVar setKeyboardCallback -------------------------------------------------------------------------------- setKeyboardUpCallback :: Maybe KeyboardCallback -> IO () setKeyboardUpCallback = setCallback KeyboardUpCB glutKeyboardUpFunc (makeKeyboardUpFunc . unmarshal) where unmarshal cb c x y = cb (chr (fromIntegral c)) (Position (fromIntegral x) (fromIntegral y)) -- | Controls the keyboard callback for the /current window/. This is -- activated only when a key is released. keyboardUpCallback :: SettableStateVar (Maybe KeyboardCallback) keyboardUpCallback = makeSettableStateVar setKeyboardUpCallback -------------------------------------------------------------------------------- -- | Special keys data SpecialKey = KeyF1 | KeyF2 | KeyF3 | KeyF4 | KeyF5 | KeyF6 | KeyF7 | KeyF8 | KeyF9 | KeyF10 | KeyF11 | KeyF12 | KeyLeft | KeyUp | KeyRight | KeyDown | KeyPageUp | KeyPageDown | KeyHome | KeyEnd | KeyInsert | KeyNumLock | KeyBegin | KeyDelete | KeyUnknown Int deriving ( Eq, Ord, Show ) unmarshalSpecialKey :: CInt -> SpecialKey unmarshalSpecialKey x | x == glut_KEY_F1 = KeyF1 | x == glut_KEY_F2 = KeyF2 | x == glut_KEY_F3 = KeyF3 | x == glut_KEY_F4 = KeyF4 | x == glut_KEY_F5 = KeyF5 | x == glut_KEY_F6 = KeyF6 | x == glut_KEY_F7 = KeyF7 | x == glut_KEY_F8 = KeyF8 | x == glut_KEY_F9 = KeyF9 | x == glut_KEY_F10 = KeyF10 | x == glut_KEY_F11 = KeyF11 | x == glut_KEY_F12 = KeyF12 | x == glut_KEY_LEFT = KeyLeft | x == glut_KEY_UP = KeyUp | x == glut_KEY_RIGHT = KeyRight | x == glut_KEY_DOWN = KeyDown | x == glut_KEY_PAGE_UP = KeyPageUp | x == glut_KEY_PAGE_DOWN = KeyPageDown | x == glut_KEY_HOME = KeyHome | x == glut_KEY_END = KeyEnd | x == glut_KEY_INSERT = KeyInsert | x == glut_KEY_NUM_LOCK = KeyNumLock | x == glut_KEY_BEGIN = KeyBegin | x == glut_KEY_DELETE = KeyDelete | otherwise = KeyUnknown (fromIntegral x) -------------------------------------------------------------------------------- -- | A special key callback type SpecialCallback = SpecialKey -> Position -> IO () setSpecialCallback :: Maybe SpecialCallback -> IO () setSpecialCallback = setCallback SpecialCB glutSpecialFunc (makeSpecialFunc . unmarshal) where unmarshal cb k x y = cb (unmarshalSpecialKey k) (Position (fromIntegral x) (fromIntegral y)) -- | Controls the special key callback for the /current window/. This is -- activated only when a special key is pressed. specialCallback :: SettableStateVar (Maybe SpecialCallback) specialCallback = makeSettableStateVar setSpecialCallback -------------------------------------------------------------------------------- setSpecialUpCallback :: Maybe SpecialCallback -> IO () setSpecialUpCallback = setCallback SpecialUpCB glutSpecialUpFunc (makeSpecialUpFunc . unmarshal) where unmarshal cb k x y = cb (unmarshalSpecialKey k) (Position (fromIntegral x) (fromIntegral y)) -- | Controls the special key callback for the /current window/. This is -- activated only when a special key is released. specialUpCallback :: SettableStateVar (Maybe SpecialCallback) specialUpCallback = makeSettableStateVar setSpecialUpCallback -------------------------------------------------------------------------------- -- | The current state of a key or button data KeyState = Down | Up deriving ( Eq, Ord, Show ) unmarshalKeyState :: CInt -> KeyState unmarshalKeyState x | x == glut_DOWN = Down | x == glut_UP = Up | otherwise = error ("unmarshalKeyState: illegal value " ++ show x) -------------------------------------------------------------------------------- -- | A mouse callback type MouseCallback = MouseButton -> KeyState -> Position -> IO () setMouseCallback :: Maybe MouseCallback -> IO () setMouseCallback = setCallback MouseCB glutMouseFunc (makeMouseFunc . unmarshal) where unmarshal cb b s x y = cb (unmarshalMouseButton b) (unmarshalKeyState s) (Position (fromIntegral x) (fromIntegral y)) -- | Controls the mouse callback for the /current window/. mouseCallback :: SettableStateVar (Maybe MouseCallback) mouseCallback = makeSettableStateVar setMouseCallback -------------------------------------------------------------------------------- -- | The state of the keyboard modifiers data Modifiers = Modifiers { shift, ctrl, alt :: KeyState } deriving ( Eq, Ord, Show ) -- Could use fromBitfield + Enum/Bounded instances + marshalModifier instead... unmarshalModifiers :: CInt -> Modifiers unmarshalModifiers m = Modifiers { shift = if (m .&. glut_ACTIVE_SHIFT) /= 0 then Down else Up, ctrl = if (m .&. glut_ACTIVE_CTRL ) /= 0 then Down else Up, alt = if (m .&. glut_ACTIVE_ALT ) /= 0 then Down else Up } getModifiers :: IO Modifiers getModifiers = fmap unmarshalModifiers glutGetModifiers -------------------------------------------------------------------------------- -- | A generalized view of keys data Key = Char Char | SpecialKey SpecialKey | MouseButton MouseButton deriving ( Eq, Ord, Show ) -- | A keyboard\/mouse callback type KeyboardMouseCallback = Key -> KeyState -> Modifiers -> Position -> IO () -- | Controls the keyboard\/mouse callback for the /current window./ The -- keyboard\/mouse callback for a window is called when the state of a key or -- mouse button changes. The callback parameters indicate the new state of the -- key\/button, the state of the keyboard modifiers, and the mouse location in -- window relative coordinates. -- -- Note that this is a convenience function that should not ordinarily be used -- in conjunction with `keyboardCallback`, `keyboardUpCallback`, -- `specialCallback`, `specialUpCallback`, or `mouseCallback`. keyboardMouseCallback :: SettableStateVar (Maybe KeyboardMouseCallback) keyboardMouseCallback = makeSettableStateVar setKeyboardMouseCallback setKeyboardMouseCallback :: Maybe KeyboardMouseCallback -> IO () setKeyboardMouseCallback Nothing = do setKeyboardCallback Nothing setKeyboardUpCallback Nothing setSpecialCallback Nothing setSpecialUpCallback Nothing setMouseCallback Nothing setKeyboardMouseCallback (Just cb) = do setKeyboardCallback (Just (\c p -> do m <- getModifiers cb (Char c) Down m p)) setKeyboardUpCallback (Just (\c p -> do m <- getModifiers cb (Char c) Up m p)) setSpecialCallback (Just (\s p -> do m <- getModifiers cb (SpecialKey s) Down m p)) setSpecialUpCallback (Just (\s p -> do m <- getModifiers cb (SpecialKey s) Up m p)) setMouseCallback (Just (\b s p -> do m <- getModifiers cb (MouseButton b) s m p)) -------------------------------------------------------------------------------- type WheelNumber = Int type WheelDirection = Int type MouseWheelCallback = WheelNumber -> WheelDirection -> Position -> IO () -- | (/freeglut only/) Controls the mouse wheel callback for the -- /current window./ The mouse wheel callback for a window is called when a -- mouse wheel is used and the wheel number is greater than or equal to -- 'Graphics.UI.GLUT.State.numMouseButtons'. mouseWheelCallback :: SettableStateVar (Maybe MouseWheelCallback) mouseWheelCallback = makeSettableStateVar $ setCallback MouseWheelCB glutMouseWheelFunc (makeMouseWheelFunc . unmarshal) where unmarshal cb n d x y = cb (fromIntegral n) (fromIntegral d) (Position (fromIntegral x) (fromIntegral y)) -------------------------------------------------------------------------------- -- | A motion callback type MotionCallback = Position -> IO () -- | Controls the motion callback for the /current window./ The motion callback -- for a window is called when the mouse moves within the window while one or -- more mouse buttons are pressed. The callback parameter indicates the mouse -- location in window relative coordinates. motionCallback :: SettableStateVar (Maybe MotionCallback) motionCallback = makeSettableStateVar $ setCallback MotionCB glutMotionFunc (makeMotionFunc . unmarshal) where unmarshal cb x y = cb (Position (fromIntegral x) (fromIntegral y)) -------------------------------------------------------------------------------- -- | Controls the passive motion callback for the /current window./ The passive -- motion callback for a window is called when the mouse moves within the window -- while /no/ mouse buttons are pressed. The callback parameter indicates the -- mouse location in window relative coordinates. passiveMotionCallback :: SettableStateVar (Maybe MotionCallback) passiveMotionCallback = makeSettableStateVar $ setCallback PassiveMotionCB glutPassiveMotionFunc (makePassiveMotionFunc . unmarshal) where unmarshal cb x y = cb (Position (fromIntegral x) (fromIntegral y)) -------------------------------------------------------------------------------- -- | The relation between the mouse pointer and the /current window/ has -- changed. data Crossing = WindowLeft -- ^ The mouse pointer has left the /current window./ | WindowEntered -- ^ The mouse pointer has entered the /current window./ deriving ( Eq, Ord, Show ) unmarshalCrossing :: CInt -> Crossing unmarshalCrossing x | x == glut_LEFT = WindowLeft | x == glut_ENTERED = WindowEntered | otherwise = error ("unmarshalCrossing: illegal value " ++ show x) -------------------------------------------------------------------------------- -- | An enter\/leave callback type CrossingCallback = Crossing -> IO () -- | Controls the mouse enter\/leave callback for the /current window./ Note -- that some window systems may not generate accurate enter\/leave callbacks. -- -- /X Implementation Notes:/ An X implementation of GLUT should generate -- accurate enter\/leave callbacks. crossingCallback :: SettableStateVar (Maybe CrossingCallback) crossingCallback = makeSettableStateVar $ setCallback CrossingCB glutEntryFunc (makeEntryFunc . unmarshal) where unmarshal cb = cb . unmarshalCrossing -------------------------------------------------------------------------------- -- | Translation of the Spaceball along one axis, normalized to be in the range -- of -1000 to +1000 inclusive type SpaceballMotion = Int -- | Rotation of the Spaceball along one axis, normalized to be in the range -- of -1800 .. +1800 inclusive type SpaceballRotation = Int -- | The index of a specific buttons of an input device. type ButtonIndex = Int -- | The state of the Spaceball has changed. data SpaceballInput = SpaceballMotion SpaceballMotion SpaceballMotion SpaceballMotion | SpaceballRotation SpaceballRotation SpaceballRotation SpaceballRotation | SpaceballButton ButtonIndex KeyState deriving ( Eq, Ord, Show ) -- | A SpaceballButton callback type SpaceballCallback = SpaceballInput -> IO () -- | Controls the Spaceball callback for the /current window./ The Spaceball -- callback for a window is called when the window has Spaceball input focus -- (normally, when the mouse is in the window) and the user generates Spaceball -- translations, rotations, or button presses. The number of available Spaceball -- buttons can be determined with 'Graphics.UI.GLUT.State.numSpaceballButtons'. -- -- Registering a Spaceball callback when a Spaceball device is not available has -- no effect and is not an error. In this case, no Spaceball callbacks will be -- generated. spaceballCallback :: SettableStateVar (Maybe SpaceballCallback) spaceballCallback = makeSettableStateVar setSpaceballCallback setSpaceballCallback :: Maybe SpaceballCallback -> IO () setSpaceballCallback Nothing = do setSpaceballMotionCallback Nothing setSpaceballRotationCallback Nothing setSpaceballButtonCallback Nothing setSpaceballCallback (Just cb) = do setSpaceballMotionCallback (Just (\x y z -> cb (SpaceballMotion x y z))) setSpaceballRotationCallback (Just (\x y z -> cb (SpaceballRotation x y z))) setSpaceballButtonCallback (Just (\b s -> cb (SpaceballButton b s))) -------------------------------------------------------------------------------- type SpaceballMotionCallback = SpaceballMotion -> SpaceballMotion -> SpaceballMotion -> IO () setSpaceballMotionCallback :: Maybe SpaceballMotionCallback -> IO () setSpaceballMotionCallback = setCallback SpaceballMotionCB glutSpaceballMotionFunc (makeSpaceballMotionFunc . unmarshal) where unmarshal cb x y z = cb (fromIntegral x) (fromIntegral y) (fromIntegral z) -------------------------------------------------------------------------------- type SpaceballRotationCallback = SpaceballRotation -> SpaceballRotation -> SpaceballRotation -> IO () setSpaceballRotationCallback :: Maybe SpaceballRotationCallback -> IO () setSpaceballRotationCallback = setCallback SpaceballRotateCB glutSpaceballRotateFunc (makeSpaceballRotateFunc . unmarshal) where unmarshal cb x y z = cb (fromIntegral x) (fromIntegral y) (fromIntegral z) -------------------------------------------------------------------------------- type SpaceballButtonCallback = ButtonIndex -> KeyState -> IO () setSpaceballButtonCallback :: Maybe SpaceballButtonCallback -> IO () setSpaceballButtonCallback = setCallback SpaceballButtonCB glutSpaceballButtonFunc (makeSpaceballButtonFunc . unmarshal) where unmarshal cb b s = cb (fromIntegral b) (unmarshalKeyState s) -------------------------------------------------------------------------------- -- | The index of a specific dial of a dial and button box. type DialIndex = Int -- | The dial & button box state has changed. data DialAndButtonBoxInput = DialAndButtonBoxButton ButtonIndex KeyState | DialAndButtonBoxDial DialIndex Int deriving ( Eq, Ord, Show ) -- | A dial & button box callback type DialAndButtonBoxCallback = DialAndButtonBoxInput -> IO () -- | Controls the dial & button box callback for the /current window./ The dial -- & button box button callback for a window is called when the window has dial -- & button box input focus (normally, when the mouse is in the window) and the -- user generates dial & button box button presses or dial changes. The number -- of available dial & button box buttons and dials can be determined with -- 'Graphics.UI.GLUT.State.numDialsAndButtons'. -- -- Registering a dial & button box callback when a dial & button box device is -- not available is ineffectual and not an error. In this case, no dial & button -- box button will be generated. dialAndButtonBoxCallback :: SettableStateVar (Maybe DialAndButtonBoxCallback) dialAndButtonBoxCallback = makeSettableStateVar setDialAndButtonBoxCallback setDialAndButtonBoxCallback :: Maybe DialAndButtonBoxCallback -> IO () setDialAndButtonBoxCallback Nothing = do setButtonBoxCallback Nothing setDialsCallback Nothing setDialAndButtonBoxCallback (Just cb) = do setButtonBoxCallback (Just (\b s -> cb (DialAndButtonBoxButton b s))) setDialsCallback (Just (\d x -> cb (DialAndButtonBoxDial d x))) -------------------------------------------------------------------------------- type ButtonBoxCallback = ButtonIndex -> KeyState -> IO () setButtonBoxCallback :: Maybe ButtonBoxCallback -> IO () setButtonBoxCallback = setCallback ButtonBoxCB glutButtonBoxFunc (makeButtonBoxFunc . unmarshal) where unmarshal cb b s = cb (fromIntegral b) (unmarshalKeyState s) -------------------------------------------------------------------------------- type DialsCallback = DialIndex -> Int -> IO () setDialsCallback :: Maybe DialsCallback -> IO () setDialsCallback = setCallback DialsCB glutDialsFunc (makeDialsFunc . unmarshal) where unmarshal cb d x = cb (fromIntegral d) (fromIntegral x) -------------------------------------------------------------------------------- -- | Absolute tablet position, with coordinates normalized to be in the range of -- 0 to 2000 inclusive data TabletPosition = TabletPosition Int Int deriving ( Eq, Ord, Show ) -- | The table state has changed. data TabletInput = TabletMotion | TabletButton ButtonIndex KeyState deriving ( Eq, Ord, Show ) -- | A tablet callback type TabletCallback = TabletInput -> TabletPosition -> IO () -- | Controls the tablet callback for the /current window./ The tablet callback -- for a window is called when the window has tablet input focus (normally, when -- the mouse is in the window) and the user generates tablet motion or button -- presses. The number of available tablet buttons can be determined with -- 'Graphics.UI.GLUT.State.numTabletButtons'. -- -- Registering a tablet callback when a tablet device is not available is -- ineffectual and not an error. In this case, no tablet callbacks will be -- generated. tabletCallback :: SettableStateVar (Maybe TabletCallback) tabletCallback = makeSettableStateVar setTabletCallback setTabletCallback :: Maybe TabletCallback -> IO () setTabletCallback Nothing = do setTabletMotionCallback Nothing setTabletButtonCallback Nothing setTabletCallback (Just cb) = do setTabletMotionCallback (Just (\p -> cb TabletMotion p)) setTabletButtonCallback (Just (\b s p -> cb (TabletButton b s) p)) -------------------------------------------------------------------------------- type TabletMotionCallback = TabletPosition -> IO () setTabletMotionCallback :: Maybe TabletMotionCallback -> IO () setTabletMotionCallback = setCallback TabletMotionCB glutTabletMotionFunc (makeTabletMotionFunc . unmarshal) where unmarshal cb x y = cb (TabletPosition (fromIntegral x) (fromIntegral y)) -------------------------------------------------------------------------------- type TabletButtonCallback = ButtonIndex -> KeyState -> TabletPosition -> IO () setTabletButtonCallback :: Maybe TabletButtonCallback -> IO () setTabletButtonCallback = setCallback TabletButtonCB glutTabletButtonFunc (makeTabletButtonFunc . unmarshal) where unmarshal cb b s x y = cb (fromIntegral b) (unmarshalKeyState s) (TabletPosition (fromIntegral x) (fromIntegral y)) -------------------------------------------------------------------------------- -- | The state of the joystick buttons data JoystickButtons = JoystickButtons { joystickButtonA, joystickButtonB, joystickButtonC, joystickButtonD :: KeyState } deriving ( Eq, Ord, Show ) -- Could use fromBitfield + Enum/Bounded instances + unmarshalJoystickButton -- instead... unmarshalJoystickButtons :: CUInt -> JoystickButtons unmarshalJoystickButtons m = JoystickButtons { joystickButtonA = if (m .&. glut_JOYSTICK_BUTTON_A) /= 0 then Down else Up, joystickButtonB = if (m .&. glut_JOYSTICK_BUTTON_B) /= 0 then Down else Up, joystickButtonC = if (m .&. glut_JOYSTICK_BUTTON_C) /= 0 then Down else Up, joystickButtonD = if (m .&. glut_JOYSTICK_BUTTON_D) /= 0 then Down else Up } -------------------------------------------------------------------------------- -- | Absolute joystick position, with coordinates normalized to be in the range -- of -1000 to 1000 inclusive. The signs of the three axes mean the following: -- -- * negative = left, positive = right -- -- * negative = towards player, positive = away -- -- * if available (e.g. rudder): negative = down, positive = up data JoystickPosition = JoystickPosition Int Int Int deriving ( Eq, Ord, Show ) -------------------------------------------------------------------------------- -- | A joystick callback type JoystickCallback = JoystickButtons -> JoystickPosition -> IO () -- | Controls the joystick callback for the /current window./ The joystick -- callback is called either due to polling of the joystick at the uniform timer -- interval specified (if > 0) or in response to an explicit call of -- 'Graphics.UI.GLUT.DeviceControl.forceJoystickCallback'. -- -- /X Implementation Notes:/ Currently GLUT has no joystick support for X11. -- joystickCallback :: SettableStateVar (Maybe JoystickCallback, PollRate) joystickCallback :: SettableStateVar (Maybe (JoystickCallback, PollRate)) joystickCallback = makeSettableStateVar $ \maybeCBAndRate -> setCallback JoystickCB (\f -> glutJoystickFunc f (fromIntegral (snd (fromJust maybeCBAndRate)))) (makeJoystickFunc . unmarshal) (fmap fst maybeCBAndRate) where unmarshal cb b x y z = cb (unmarshalJoystickButtons b) (JoystickPosition (fromIntegral x) (fromIntegral y) (fromIntegral z)) GLUT-2.4.0.0/Graphics/UI/GLUT/Callbacks/Registration.hs0000644000000000000000000001351712121453247020341 0ustar0000000000000000{-# OPTIONS_GHC -fno-cse #-} -- #hide -------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Callbacks.Registration -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Callbacks.Registration ( CallbackType(..), registerForCleanup, setCallback, getCurrentWindow ) where -------------------------------------------------------------------------------- import Control.Monad import Data.IORef import qualified Data.Map as Map ( empty, lookup, insert, delete ) import Data.Map ( Map ) import Foreign.Ptr import Graphics.Rendering.OpenGL ( get ) import Graphics.UI.GLUT.Raw import Graphics.UI.GLUT.Window -------------------------------------------------------------------------------- -- No timer callback here, because they are one-shot and "self destroy" data CallbackType = DisplayCB | OverlayDisplayCB | ReshapeCB | KeyboardCB | KeyboardUpCB | MouseCB | MotionCB | PassiveMotionCB | CrossingCB | VisibilityCB | WindowStatusCB | SpecialCB | SpecialUpCB | SpaceballMotionCB | SpaceballRotateCB | SpaceballButtonCB | ButtonBoxCB | DialsCB | TabletMotionCB | TabletButtonCB | JoystickCB | MenuStatusCB | IdleCB | CloseCB -- freeglut only | MouseWheelCB -- freeglut only deriving ( Eq, Ord ) isGlobal :: CallbackType -> Bool isGlobal MenuStatusCB = True isGlobal IdleCB = True isGlobal _ = False -------------------------------------------------------------------------------- -- To uniquely identify a particular callback, the associated window is needed -- for window callbacks. data CallbackID = CallbackID (Maybe Window) CallbackType deriving ( Eq, Ord ) getCallbackID :: CallbackType -> IO CallbackID getCallbackID callbackType = do maybeWindow <- if isGlobal callbackType then return Nothing else fmap Just $ getCurrentWindow "getCallbackID" return $ CallbackID maybeWindow callbackType getCurrentWindow :: String -> IO Window getCurrentWindow func = do win <- get currentWindow maybe (error (func ++ ": no current window")) return win -------------------------------------------------------------------------------- -- This seems to be a common Haskell hack nowadays: A plain old global variable -- with an associated mutator. Perhaps some language/library support is needed? {-# NOINLINE theCallbackTable #-} theCallbackTable :: IORef (CallbackTable a) theCallbackTable = unsafePerformIO (newIORef emptyCallbackTable) getCallbackTable :: IO (CallbackTable a) getCallbackTable = readIORef theCallbackTable modifyCallbackTable :: (CallbackTable a -> CallbackTable a) -> IO () modifyCallbackTable = modifyIORef theCallbackTable -------------------------------------------------------------------------------- type CallbackTable a = Map CallbackID (FunPtr a) emptyCallbackTable :: CallbackTable a emptyCallbackTable = Map.empty lookupInCallbackTable :: CallbackID -> IO (Maybe (FunPtr a)) lookupInCallbackTable callbackID = fmap (Map.lookup callbackID) getCallbackTable deleteFromCallbackTable :: CallbackID -> IO () deleteFromCallbackTable callbackID = modifyCallbackTable (Map.delete callbackID) addToCallbackTable :: CallbackID -> FunPtr a -> IO () addToCallbackTable callbackID funPtr = modifyCallbackTable (Map.insert callbackID funPtr) -------------------------------------------------------------------------------- -- Another global mutable variable: The list of function pointers ready to be -- freed by freeHaskellFunPtr {-# NOINLINE theCleanupList #-} theCleanupList :: IORef [FunPtr a] theCleanupList = unsafePerformIO (newIORef []) getCleanupList :: IO [FunPtr a] getCleanupList = readIORef theCleanupList setCleanupList :: [FunPtr a] -> IO () setCleanupList = writeIORef theCleanupList -------------------------------------------------------------------------------- -- And yet another mutable (write-once) variable: A function pointer to a -- callback which frees all function pointers on the cleanup list. {-# NOINLINE theScavenger #-} theScavenger :: IORef (FunPtr TimerFunc) theScavenger = unsafePerformIO (newIORef =<< makeTimerFunc (\_ -> do cleanupList <- getCleanupList mapM_ freeHaskellFunPtr cleanupList setCleanupList [])) getScavenger :: IO (FunPtr TimerFunc) getScavenger = readIORef theScavenger -------------------------------------------------------------------------------- -- Here is the really cunning stuff: If an element is added to the cleanup list -- when it is empty, register an immediate callback at GLUT to free the list as -- soon as possible. registerForCleanup :: FunPtr a -> IO () registerForCleanup funPtr = do oldCleanupList <- getCleanupList setCleanupList (funPtr : oldCleanupList) when (null oldCleanupList) $ do scavenger <- getScavenger glutTimerFunc 0 scavenger 0 -------------------------------------------------------------------------------- setCallback :: CallbackType -> (FunPtr a -> IO ()) -> (b -> IO (FunPtr a)) -> Maybe b -> IO () setCallback callbackType registerAtGLUT makeCallback maybeCallback = do callbackID <- getCallbackID callbackType maybeOldFunPtr <- lookupInCallbackTable callbackID case maybeOldFunPtr of Nothing -> return () Just oldFunPtr -> do registerForCleanup oldFunPtr deleteFromCallbackTable callbackID case maybeCallback of Nothing -> registerAtGLUT nullFunPtr Just callback -> do newFunPtr <- makeCallback callback addToCallbackTable callbackID newFunPtr registerAtGLUT newFunPtr GLUT-2.4.0.0/Graphics/UI/GLUT/Callbacks/Global.hs0000644000000000000000000001137212121453247017064 0ustar0000000000000000-------------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Callbacks.Global -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -------------------------------------------------------------------------------- module Graphics.UI.GLUT.Callbacks.Global ( -- * Menu status callback MenuUsage(..), MenuStatusCallback, menuStatusCallback, -- * Idle callback IdleCallback, idleCallback, -- * Timer callbacks Timeout, TimerCallback, addTimerCallback ) where import Control.Monad.Fix import Foreign.C.Types import Graphics.Rendering.OpenGL ( Position(..) , SettableStateVar , makeSettableStateVar ) import Graphics.UI.GLUT.Callbacks.Registration import Graphics.UI.GLUT.Raw -------------------------------------------------------------------------------- data MenuUsage = NotInUse | InUse deriving ( Eq, Ord, Show ) unmarshalMenuUsage :: CInt -> MenuUsage unmarshalMenuUsage x | x == glut_MENU_NOT_IN_USE = NotInUse | x == glut_MENU_IN_USE = InUse | otherwise = error ("unmarshalMenuUsage: illegal value " ++ show x) type MenuStatusCallback = MenuUsage -> Position -> IO () -- | Controls the global menu status callback so a GLUT program can determine -- when a menu is in use or not. When a menu status callback is registered, it -- will be called with the value 'InUse' when pop-up menus are in use by the -- user; and the callback will be called with the value 'NotInUse' when pop-up -- menus are no longer in use. Additionally, the location in window coordinates -- of the button press that caused the menu to go into use, or the location where -- the menu was released (maybe outside the window). Other callbacks continue to -- operate (except mouse motion callbacks) when pop-up menus are in use so the -- menu status callback allows a program to suspend animation or other tasks -- when menus are in use. The cascading and unmapping of sub-menus from an -- initial pop-up menu does not generate menu status callbacks. There is a -- single menu status callback for GLUT. -- -- When the menu status callback is called, the /current menu/ will be set to -- the initial pop-up menu in both the 'InUse' and 'NotInUse' cases. The -- /current window/ will be set to the window from which the initial menu was -- popped up from, also in both cases. menuStatusCallback :: SettableStateVar (Maybe MenuStatusCallback) menuStatusCallback = makeSettableStateVar $ setCallback MenuStatusCB glutMenuStatusFunc (makeMenuStatusFunc . unmarshal) where unmarshal cb s x y = cb (unmarshalMenuUsage s) (Position (fromIntegral x) (fromIntegral y)) -------------------------------------------------------------------------------- type IdleCallback = IO () -- | Controls the global idle callback so a GLUT program can perform background -- processing tasks or continuous animation when window system events are not -- being received. If enabled, the idle callback is continuously called when -- events are not being received. The /current window/ and /current menu/ will -- not be changed before the idle callback. Programs with multiple windows -- and\/or menus should explicitly set the /current window/ and\/or /current -- menu/ and not rely on its current setting. -- -- The amount of computation and rendering done in an idle callback should be -- minimized to avoid affecting the program\'s interactive response. In general, -- not more than a single frame of rendering should be done in an idle callback. idleCallback :: SettableStateVar (Maybe IdleCallback) idleCallback = makeSettableStateVar $ setCallback IdleCB glutIdleFunc makeIdleFunc -------------------------------------------------------------------------------- -- | Timeout for the timer callback in milliseconds type Timeout = Int type TimerCallback = IO () -- | Register a one-shot timer callback to be triggered after at least the given -- amount of time. Multiple timer callbacks at same or differing times may be -- registered simultaneously. There is no support for canceling a registered -- callback. -- -- The number of milliseconds is a lower bound on the time before the callback -- is generated. GLUT attempts to deliver the timer callback as soon as possible -- after the expiration of the callback\'s time interval. addTimerCallback :: Timeout -> TimerCallback -> IO () addTimerCallback msecs timerCallback = do funPtr <- mfix (\self -> makeTimerFunc (\_ -> do registerForCleanup self timerCallback)) glutTimerFunc (fromIntegral msecs) funPtr 0 GLUT-2.4.0.0/examples/0000755000000000000000000000000012121453247012433 5ustar0000000000000000GLUT-2.4.0.0/examples/RedBook/0000755000000000000000000000000012121453250013752 5ustar0000000000000000GLUT-2.4.0.0/examples/RedBook/Wrap.hs0000644000000000000000000001054712121453250015226 0ustar0000000000000000{- Wrap.hs (adapted from wrap.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program texture maps a checkerboard image onto two rectangles. This program demonstrates the wrapping modes, if the texture coordinates fall outside 0.0 and 1.0. Interaction: Pressing the 's' and 'S' keys switch the wrapping between clamping and repeating for the s parameter. The 't' and 'T' keys control the wrapping for the t parameter. Texture objects are only used when GL_EXT_texture_object is supported. -} import Control.Monad ( when ) import Data.Maybe ( isJust, listToMaybe ) import Data.Bits ( (.&.) ) import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Create checkerboard image checkImageSize :: TextureSize2D checkImageSize = TextureSize2D 64 64 withCheckImage :: TextureSize2D -> GLsizei -> (GLubyte -> (Color4 GLubyte)) -> (PixelData (Color4 GLubyte) -> IO ()) -> IO () withCheckImage (TextureSize2D w h) n f act = withArray [ f c | i <- [ 0 .. w - 1 ], j <- [ 0 .. h - 1 ], let c | (i .&. n) == (j .&. n) = 0 | otherwise = 255 ] $ act. PixelData RGBA UnsignedByte myInit :: IO (Maybe TextureObject) myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat depthFunc $= Just Less rowAlignment Unpack $= 1 exts <- get glExtensions mbTexName <- if "GL_EXT_texture_object" `elem` exts then fmap listToMaybe $ genObjectNames 1 else return Nothing when (isJust mbTexName) $ textureBinding Texture2D $= mbTexName textureWrapMode Texture2D S $= (Repeated, Repeat) textureWrapMode Texture2D T $= (Repeated, Repeat) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) withCheckImage checkImageSize 0x8 (\c -> Color4 c c c 255) $ texImage2D Nothing NoProxy 0 RGBA' checkImageSize 0 return mbTexName display :: Maybe TextureObject -> DisplayCallback display mbTexName = do clear [ ColorBuffer, DepthBuffer ] texture Texture2D $= Enabled textureFunction $= Decal when (isJust mbTexName) $ textureBinding Texture2D $= mbTexName -- resolve overloading, not needed in "real" programs let texCoord2f = texCoord :: TexCoord2 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () renderPrimitive Quads $ do texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 (-2.0) (-1.0) 0.0 ) texCoord2f (TexCoord2 0 3); vertex3f (Vertex3 (-2.0) 1.0 0.0 ) texCoord2f (TexCoord2 3 3); vertex3f (Vertex3 0.0 1.0 0.0 ) texCoord2f (TexCoord2 3 0); vertex3f (Vertex3 0.0 (-1.0) 0.0 ) texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 1.0 (-1.0) 0.0 ) texCoord2f (TexCoord2 0 3); vertex3f (Vertex3 1.0 1.0 0.0 ) texCoord2f (TexCoord2 3 3); vertex3f (Vertex3 2.41421 1.0 (-1.41421)) texCoord2f (TexCoord2 3 0); vertex3f (Vertex3 2.41421 (-1.0) (-1.41421)) flush texture Texture2D $= Disabled reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 60 (fromIntegral w / fromIntegral h) 1 30 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-3.6 :: GLfloat)) keyboard :: KeyboardMouseCallback keyboard (Char 's' ) Down _ _ = setClamping S Clamp keyboard (Char 'S' ) Down _ _ = setClamping S Repeat keyboard (Char 't' ) Down _ _ = setClamping T Clamp keyboard (Char 'T' ) Down _ _ = setClamping T Repeat keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () setClamping :: TextureCoordName -> Clamping -> IO () setClamping coord clamp = do textureWrapMode Texture2D coord $= (Repeated, clamp); postRedisplay Nothing main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName mbTexName <- myInit displayCallback $= display mbTexName reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/VArray.hs0000644000000000000000000001056512121453250015521 0ustar0000000000000000{- VArray.hs (adapted from varray.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates vertex arrays. -} import Control.Monad ( when ) import Data.IORef ( IORef, newIORef ) import Foreign ( Ptr, newArray ) import System.Exit ( exitFailure, exitWith, ExitCode(..) ) import Graphics.UI.GLUT data SetupMethod = Pointer | Interleaved deriving ( Eq, Bounded, Enum ) data DerefMethod = DrawArray | ArrayElement | DrawElements deriving ( Eq, Bounded, Enum ) makeVertices :: IO (Ptr (Vertex2 GLint)) makeVertices = newArray [ Vertex2 25 25, Vertex2 100 325, Vertex2 175 25, Vertex2 175 325, Vertex2 250 25, Vertex2 325 325 ] makeColors :: IO (Ptr (Color3 GLfloat)) makeColors = newArray [ Color3 1.0 0.2 0.2, Color3 0.2 0.2 1.0, Color3 0.8 1.0 0.2, Color3 0.75 0.75 0.75, Color3 0.35 0.35 0.35, Color3 0.5 0.5 0.5 ] makeIntertwined :: IO (Ptr GLfloat) makeIntertwined = newArray [ 1.0, 0.2, 1.0, 100.0, 100.0, 0.0, 1.0, 0.2, 0.2, 0.0, 200.0, 0.0, 1.0, 1.0, 0.2, 100.0, 300.0, 0.0, 0.2, 1.0, 0.2, 200.0, 300.0, 0.0, 0.2, 1.0, 1.0, 300.0, 200.0, 0.0, 0.2, 0.2, 1.0, 200.0, 100.0, 0.0 ] makeIndices :: IO (Ptr GLuint) makeIndices = newArray [ 0, 1, 3, 4 ] data State = State { vertices :: Ptr (Vertex2 GLint), colors :: Ptr (Color3 GLfloat), intertwined :: Ptr GLfloat, indices :: Ptr GLuint, setupMethod :: IORef SetupMethod, derefMethod :: IORef DerefMethod } makeState :: IO State makeState = do v <- makeVertices c <- makeColors i <- makeIntertwined n <- makeIndices s <- newIORef Pointer d <- newIORef DrawArray return $ State { vertices = v, colors = c, intertwined = i, indices = n, setupMethod = s, derefMethod = d } setup :: State -> IO () setup state = do s <- get (setupMethod state) case s of Pointer -> do clientState VertexArray $= Enabled clientState ColorArray $= Enabled arrayPointer VertexArray $= VertexArrayDescriptor 2 Int 0 (vertices state) arrayPointer ColorArray $= VertexArrayDescriptor 3 Float 0 (colors state) Interleaved -> interleavedArrays C3fV3f 0 (intertwined state) myInit :: State -> IO () myInit state = do clearColor $= Color4 0 0 0 0 shadeModel $= Smooth setup state display :: State -> DisplayCallback display state = do clear [ ColorBuffer ] d <- get (derefMethod state) case d of DrawArray -> drawArrays Triangles 0 6 ArrayElement -> renderPrimitive Triangles $ mapM_ arrayElement [ 2, 3, 5 ] DrawElements -> drawElements Polygon 4 UnsignedInt (indices state) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 (fromIntegral w) 0 (fromIntegral h) -- the following line is not in the original example, but it's good style... matrixMode $= Modelview 0 keyboardMouse :: State -> KeyboardMouseCallback keyboardMouse state (MouseButton LeftButton) Down _ _ = do setupMethod state $~ nextValue setup state postRedisplay Nothing keyboardMouse state (MouseButton _) Down _ _ = do derefMethod state $~ nextValue postRedisplay Nothing keyboardMouse _ (Char '\27') Down _ _ = exitWith ExitSuccess keyboardMouse _ _ _ _ _ = return () nextValue :: (Eq a, Bounded a, Enum a) => a -> a nextValue x = if x == maxBound then minBound else succ x main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 350 350 initialWindowPosition $= Position 100 100 createWindow progName -- we have to do this *after* createWindow, otherwise we have no OpenGL context version <- get (majorMinor glVersion) when (version == (1,0)) $ do putStrLn "This program demonstrates a feature which is not in OpenGL Version 1.0." putStrLn "If your implementation of OpenGL Version 1.0 has the right extensions," putStrLn "you may be able to modify this program to make it run." exitFailure state <- makeState myInit state displayCallback $= display state reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboardMouse state) mainLoop GLUT-2.4.0.0/examples/RedBook/UnProject.hs0000644000000000000000000000404612121453250016223 0ustar0000000000000000{- UnProject.hs (adapted from unproject.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE When the left mouse button is pressed, this program reads the mouse position and determines two 3D points from which it was transformed. Very little is displayed. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT display :: DisplayCallback display = do clear [ ColorBuffer ] flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 45 (fromIntegral w / fromIntegral h) 1 100 matrixMode $= Modelview 0 loadIdentity keyboardMouse :: KeyboardMouseCallback keyboardMouse (MouseButton LeftButton) Down _ (Position x y) = do v@(_, Size _ h) <- get viewport mvMatrix <- get (matrix (Just (Modelview 0))) :: IO (GLmatrix GLdouble) projMatrix <- get (matrix (Just Projection)) :: IO (GLmatrix GLdouble) let realY = fromIntegral h - y -1 putStrLn ("Coordinates at cursor are (" ++ show x ++", " ++ show realY ++ ")") w0 <- unProject (Vertex3 (fromIntegral x) (fromIntegral realY) 0) mvMatrix projMatrix v putStrLn ("World coords at z=0.0 are " ++ show w0) w1 <- unProject (Vertex3 (fromIntegral x) (fromIntegral realY) 1) mvMatrix projMatrix v putStrLn ("World coords at z=1.0 are " ++ show w1) keyboardMouse (MouseButton RightButton) Down _ _ = exitWith ExitSuccess keyboardMouse (Char '\27') Down _ _ = exitWith ExitSuccess keyboardMouse _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboardMouse mainLoop GLUT-2.4.0.0/examples/RedBook/Trim.hs0000644000000000000000000000735612121453250015234 0ustar0000000000000000{- Trim.hs (adapted from trim.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws a NURBS surface in the shape of a symmetrical hill, using both a NURBS curve and pwl (piecewise linear) curve to trim part of the surface. NOTE: This example does NOT demonstrate the final NURBS API, it's currently just a test for the internals... -} import Foreign.Marshal ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- The control points of the surface form a small hill and -- range from -3 to +3 in x, y, and z. ctlPoints :: [[Vertex3 GLfloat]] ctlPoints = [ [ Vertex3 (2 * u - 3) (2 * v - 3) (if (u == 1 || u ==2) && (v == 1 || v == 2) then 3 else -3) | v <- [ 0 .. 3 ] ] | u <- [ 0 .. 3 ]] myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 materialDiffuse Front $= Color4 0.7 0.7 0.7 1 materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 100 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less autoNormal $= Enabled normalize $= Enabled -------------------------------------------------------------------------------- display :: DisplayCallback display = do let knots = [ 0, 0, 0, 0, 1, 1, 1, 1 ] :: [GLfloat] edgePt = -- counter clockwise [ Vertex2 0 0, Vertex2 1 0, Vertex2 1 1, Vertex2 0 1, Vertex2 0 0 ] :: [Vertex2 GLfloat] curvePt = -- clockwise [ Vertex2 0.25 0.5, Vertex2 0.25 0.75, Vertex2 0.75 0.75, Vertex2 0.75 0.5 ] :: [Vertex2 GLfloat] curveKnots = [ 0, 0, 0, 0, 1, 1, 1, 1 ] :: [GLfloat] pwlPt = -- clockwise [Vertex2 0.75 0.5, Vertex2 0.5 0.25, Vertex2 0.25 0.5 ] :: [Vertex2 GLfloat] clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do rotate (330 :: GLfloat) (Vector3 1 0 0) scale 0.5 0.5 (0.5 :: GLfloat) withNURBSObj () $ \nurbsObj -> do setSamplingMethod nurbsObj (PathLength 25) setDisplayMode' nurbsObj Fill' checkForNURBSError nurbsObj $ nurbsBeginEndSurface nurbsObj $ withArray (concat ctlPoints) $ \cBuf -> withArray knots $ \kBuf -> do nurbsSurface nurbsObj 8 kBuf 8 kBuf (4 * 3) 3 cBuf 4 4 nurbsBeginEndTrim nurbsObj $ withArray edgePt $ \edgePtBuf -> pwlCurve nurbsObj 5 edgePtBuf 2 nurbsBeginEndTrim nurbsObj $ do withArray curveKnots $ \curveKnotsBuf -> withArray curvePt $ \curvePtBuf -> trimmingCurve nurbsObj 8 curveKnotsBuf 2 curvePtBuf 4 withArray pwlPt $ \pwlPtBuf -> pwlCurve nurbsObj 3 pwlPtBuf 2 flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 45 (fromIntegral w / fromIntegral h) 3 8 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-5 :: GLfloat)) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Torus.hs0000644000000000000000000000545612121453250015434 0ustar0000000000000000{- Torus.hs (adapted from torus.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates the creation of a display list. -} import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { spinX, spinY :: IORef GLfloat } makeState :: IO State makeState = do x <- newIORef 0 y <- newIORef 0 return $ State { spinX = x, spinY = y } torus :: Int -> Int -> IO () torus numC numT = do let stepC = 2 * pi / fromIntegral numC :: GLfloat stepT = 2 * pi / fromIntegral numT flip mapM_ [ 0 .. numC - 1 ] $ \i -> renderPrimitive QuadStrip $ flip mapM_ [ 0 .. numT ] $ \j -> flip mapM_ [ 1, 0 ] $ \k -> do let s = (fromIntegral ((i + k) `mod` numC) + 0.5) * stepC t = (fromIntegral ( j `mod` numT) ) * stepT x = (1 + 0.1 * cos s) * cos t y = (1 + 0.1 * cos s) * sin t z = 0.1 * sin s vertex (Vertex3 x y z) myInit :: IO DisplayList myInit = do theTorus <- defineNewList Compile $ torus 8 25 shadeModel $= Flat clearColor $= Color4 0 0 0 0 return theTorus display :: State -> DisplayList -> DisplayCallback display state theTorus = do clear [ ColorBuffer ] loadIdentity lookAt (Vertex3 0 0 10) (Vertex3 0 0 0) (Vector3 0 1 0) x <- get (spinX state) rotate x (Vector3 1 0 0) y <- get (spinY state) rotate y (Vector3 0 1 0) color (Color3 1 1 (1 :: GLfloat)) callList theTorus flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 30 (fromIntegral w / fromIntegral h) 1 100 matrixMode $= Modelview 0 incSpin :: IORef GLfloat -> IO () incSpin spinRef = do let wrap n s = if s > n then s - n else s spinRef $~ (wrap 360 . (+ 30)) postRedisplay Nothing keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case toLower c of 'x' -> incSpin (spinX state) 'y' -> incSpin (spinY state) 'i' -> do spinX state $= 0; spinY state $= 0; postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 200 200 createWindow progName state <- makeState theTorus <- myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) displayCallback $= display state theTorus mainLoop GLUT-2.4.0.0/examples/RedBook/TextureSurf.hs0000644000000000000000000000663212121453250016615 0ustar0000000000000000{- TextureSurf.hs (adapted from texturesurf.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program uses evaluators to generate a curved surface and automatically generated texture coordinates. -} import Data.List ( transpose ) import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT ctrlPoints :: [[Vertex3 GLfloat]] ctrlPoints = [ [ Vertex3 (-1.5) (-1.5) 4.0, Vertex3 (-0.5) (-1.5) 2.0, Vertex3 0.5 (-1.5) (-1.0), Vertex3 1.5 (-1.5) 2.0 ], [ Vertex3 (-1.5) (-0.5) 1.0, Vertex3 (-0.5) (-0.5) 3.0, Vertex3 0.5 (-0.5) 0.0, Vertex3 1.5 (-0.5) (-1.0) ], [ Vertex3 (-1.5) 0.5 4.0, Vertex3 (-0.5) 0.5 0.0, Vertex3 0.5 0.5 3.0, Vertex3 1.5 0.5 4.0 ], [ Vertex3 (-1.5) 1.5 (-2.0), Vertex3 (-0.5) 1.5 (-2.0), Vertex3 0.5 1.5 0.0, Vertex3 1.5 1.5 (-1.0) ]] texPts :: [[TexCoord2 GLfloat]] texPts = [ [ TexCoord2 0 0, TexCoord2 0 1 ], [ TexCoord2 1 0, TexCoord2 1 1 ]] display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] color (Color3 1 1 1 :: Color3 GLfloat) evalMesh2 Fill (0, 20) (0, 20) flush imageSize :: TextureSize2D imageSize = TextureSize2D 64 64 withImage :: (PixelData (Color3 GLubyte) -> IO ()) -> IO () withImage act = withArray [ Color3 (s (sin ti)) (s (cos (2 * tj))) (s (cos (ti + tj))) | i <- [ 0 .. fromIntegral w - 1 ], let ti = 2 * pi * i / fromIntegral w, j <- [ 0 .. fromIntegral h - 1 ], let tj = 2 * pi * j / fromIntegral h ] $ act . PixelData RGB UnsignedByte where (TextureSize2D w h) = imageSize s :: Double -> GLubyte s x = truncate (127 * (1 + x)) myInit :: IO () myInit = do m <- newMap2 (0, 1) (0, 1) (transpose ctrlPoints) map2 $= Just (m :: GLmap2 Vertex3 GLfloat) t <- newMap2 (0, 1) (0, 1) (transpose texPts) map2 $= Just (t :: GLmap2 TexCoord2 GLfloat) mapGrid2 $= ((20, (0, 1)), (20, (0, 1 :: GLfloat))) textureFunction $= Decal textureWrapMode Texture2D S $= (Repeated, Repeat) textureWrapMode Texture2D T $= (Repeated, Repeat) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) withImage $ texImage2D Nothing NoProxy 0 RGB' imageSize 0 texture Texture2D $= Enabled depthFunc $= Just Less shadeModel $= Flat reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-4.0) 4.0 (-4.0*hf/wf) (4.0*hf/wf) (-4.0) 4.0 else ortho (-4.0*wf/hf) (4.0*wf/hf) (-4.0) 4.0 (-4.0) 4.0 matrixMode $= Modelview 0 loadIdentity rotate (85 :: GLfloat) (Vector3 1 1 1) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Texture3D.hs0000644000000000000000000000662712121453250016150 0ustar0000000000000000{- Texture3D.hs (adapted from texture3d.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates using a three-dimensional texture. It creates a 3D texture and then renders two rectangles with different texture coordinates to obtain different "slices" of the 3D texture. -} import Control.Monad ( unless ) import Foreign ( withArray ) import System.Exit ( exitFailure, exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Create checkerboard image imageSize :: TextureSize3D imageSize = TextureSize3D 16 16 16 withImage :: (PixelData (Color3 GLubyte) -> IO ()) -> IO () withImage act = withArray [ Color3 (s * 17) (t * 17) (r * 17) | r <- [ 0 .. fromIntegral d - 1 ], t <- [ 0 .. fromIntegral h - 1 ], s <- [ 0 .. fromIntegral w - 1 ] ] $ act . PixelData RGB UnsignedByte where (TextureSize3D w h d) = imageSize myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat depthFunc $= Just Less rowAlignment Unpack $= 1 [texName] <- genObjectNames 1 textureBinding Texture3D $= Just texName textureWrapMode Texture3D S $= (Repeated, Clamp) textureWrapMode Texture3D T $= (Repeated, Clamp) textureWrapMode Texture3D R $= (Repeated, Clamp) textureFilter Texture3D $= ((Nearest, Nothing), Nearest) withImage $ texImage3D NoProxy 0 RGB' imageSize 0 texture Texture3D $= Enabled display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] -- resolve overloading, not needed in "real" programs let texCoord3f = texCoord :: TexCoord3 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () renderPrimitive Quads $ do texCoord3f (TexCoord3 0 0 0); vertex3f (Vertex3 (-2.25) (-1) 0) texCoord3f (TexCoord3 0 1 0); vertex3f (Vertex3 (-2.25) 1 0) texCoord3f (TexCoord3 1 1 1); vertex3f (Vertex3 (-0.25) 1 0) texCoord3f (TexCoord3 1 0 1); vertex3f (Vertex3 (-0.25) (-1) 0) texCoord3f (TexCoord3 0 0 1); vertex3f (Vertex3 0.25 (-1) 0) texCoord3f (TexCoord3 0 1 1); vertex3f (Vertex3 0.25 1 0) texCoord3f (TexCoord3 1 1 0); vertex3f (Vertex3 2.25 1 0) texCoord3f (TexCoord3 1 0 0); vertex3f (Vertex3 2.25 (-1) 0) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 60 (fromIntegral w / fromIntegral h) 1 30 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-4 :: GLfloat)) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName -- we have to do this *after* createWindow, otherwise we have no OpenGL context exts <- get glExtensions unless ("GL_EXT_texture3D" `elem` exts) $ do putStrLn "Sorry, this demo requires the GL_EXT_texture3D extension." exitFailure myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/TexSub.hs0000644000000000000000000001126712121453250015527 0ustar0000000000000000{- TexSub.hs (adapted from texsub.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program texture maps a checkerboard image onto two rectangles. This program clamps the texture, if the texture coordinates fall outside 0.0 and 1.0. If the s key is pressed, a texture subimage is used to alter the original texture. If the r key is pressed, the original texture is restored. -} import Control.Monad ( when ) import Data.Char ( toLower ) import Data.Bits ( (.&.) ) import Foreign ( newArray ) import System.Exit ( exitFailure, exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT checkImageSize, subImageSize :: TextureSize2D checkImageSize = TextureSize2D 64 64 subImageSize = TextureSize2D 16 16 type Image = PixelData (Color4 GLubyte) makeCheckImage :: TextureSize2D -> GLsizei -> (GLubyte -> (Color4 GLubyte)) -> IO Image makeCheckImage (TextureSize2D w h) n f = fmap (PixelData RGBA UnsignedByte) $ newArray [ f c | i <- [ 0 .. w - 1 ], j <- [ 0 .. h - 1 ], let c | (i .&. n) == (j .&. n) = 0 | otherwise = 255 ] myInit :: IO (TextureObject, Image, Image) myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat depthFunc $= Just Less checkImage <- makeCheckImage checkImageSize 0x8 (\c -> Color4 c c c 255) subImage <- makeCheckImage subImageSize 0x4 (\c -> Color4 c 0 0 255) rowAlignment Unpack $= 1 [texName] <- genObjectNames 1 textureBinding Texture2D $= Just texName textureWrapMode Texture2D S $= (Repeated, Repeat) textureWrapMode Texture2D T $= (Repeated, Repeat) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) texImage2D Nothing NoProxy 0 RGBA' checkImageSize 0 checkImage return (texName, checkImage, subImage) display :: TextureObject -> DisplayCallback display texName = do clear [ ColorBuffer, DepthBuffer ] texture Texture2D $= Enabled textureFunction $= Decal textureBinding Texture2D $= Just texName -- resolve overloading, not needed in "real" programs let texCoord2f = texCoord :: TexCoord2 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () renderPrimitive Quads $ do texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 (-2.0) (-1.0) 0.0 ) texCoord2f (TexCoord2 0 1); vertex3f (Vertex3 (-2.0) 1.0 0.0 ) texCoord2f (TexCoord2 1 1); vertex3f (Vertex3 0.0 1.0 0.0 ) texCoord2f (TexCoord2 1 0); vertex3f (Vertex3 0.0 (-1.0) 0.0 ) texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 1.0 (-1.0) 0.0 ) texCoord2f (TexCoord2 0 1); vertex3f (Vertex3 1.0 1.0 0.0 ) texCoord2f (TexCoord2 1 1); vertex3f (Vertex3 2.41421 1.0 (-1.41421)) texCoord2f (TexCoord2 1 0); vertex3f (Vertex3 2.41421 (-1.0) (-1.41421)) flush texture Texture2D $= Disabled reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 60 (fromIntegral w / fromIntegral h) 1 30 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-3.6 :: GLfloat)) keyboard :: TextureObject -> Image -> Image -> KeyboardMouseCallback keyboard texName checkImage subImage (Char c) Down _ _ = case toLower c of 's' -> do textureBinding Texture2D $= Just texName texSubImage2D Nothing 0 (TexturePosition2D 12 44) subImageSize subImage postRedisplay Nothing 'r' -> do textureBinding Texture2D $= Just texName texImage2D Nothing NoProxy 0 RGBA' checkImageSize 0 checkImage postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName -- we have to do this *after* createWindow, otherwise we have no OpenGL context version <- get (majorMinor glVersion) when (version == (1,0)) $ do putStrLn "This program demonstrates a feature which is not in OpenGL Version 1.0." putStrLn "If your implementation of OpenGL Version 1.0 has the right extensions," putStrLn "you may be able to modify this program to make it run." exitFailure (texName, checkImage, subImage) <- myInit displayCallback $= display texName reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard texName checkImage subImage) mainLoop GLUT-2.4.0.0/examples/RedBook/TexProx.hs0000644000000000000000000000377112121453250015727 0ustar0000000000000000{- TexProx.hs (adapted from texprox.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE The brief program illustrates use of texture proxies. This program only prints out some messages about whether certain size textures are supported and then exits. -} import Control.Monad ( when ) import Foreign.Ptr ( nullPtr ) import System.Exit ( exitFailure, exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do let check = do ok <- get (textureProxyOK (Left Texture2D) 0) putStrLn ("proxy allocation " ++ if ok then "succeeded" else "failed") texImage2D Nothing Proxy 0 RGBA8 (TextureSize2D 64 64) 0 (PixelData RGBA UnsignedByte nullPtr) check -- Note: We use a larger texture size here to demonstrate failure, -- modern graphic cards can handle the original size. texImage2D Nothing Proxy 0 RGBA16 (TextureSize2D 8192 8192) 0 (PixelData RGBA UnsignedShort nullPtr) check display :: DisplayCallback display = exitWith ExitSuccess reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName -- we have to do this *after* createWindow, otherwise we have no OpenGL context version <- get (majorMinor glVersion) when (version == (1,0)) $ do putStrLn "This program demonstrates a feature which is not in OpenGL Version 1.0." putStrLn "If your implementation of OpenGL Version 1.0 has the right extensions," putStrLn "you may be able to modify this program to make it run." exitFailure myInit displayCallback $= display reshapeCallback $= Just reshape mainLoop GLUT-2.4.0.0/examples/RedBook/TexGen.hs0000644000000000000000000001074412121453250015506 0ustar0000000000000000{- TexGen.hs (adapted from texgen.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws a texture mapped teapot with automatically generated texture coordinates. The texture is rendered as stripes on the teapot. Initially, the object is drawn with texture coordinates based upon the object coordinates of the vertex and distance from the plane x = 0. Pressing the 'e' key changes the coordinate generation to eye coordinates of the vertex. Pressing the 'o' key switches it back to the object coordinates. Pressing the 's' key changes the plane to a slanted one (x + y + z = 0). Pressing the 'x' key switches it back to x = 0. -} import Control.Monad ( when ) import Data.Char ( toLower ) import Data.Maybe ( isJust, listToMaybe ) import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT stripeImageWidth :: TextureSize1D stripeImageWidth = TextureSize1D 32 xEqualZero, slanted :: Plane GLdouble xEqualZero = Plane 1 0 0 0 slanted = Plane 1 1 1 0 withStripeImage :: (PixelData (Color4 GLubyte) -> IO a) -> IO a withStripeImage act = withArray [ Color4 (if j <= 4 then 255 else 0) (if j > 4 then 255 else 0) 0 255 | j <- [ 0 .. w - 1 ] ] $ act . PixelData RGBA UnsignedByte where TextureSize1D w = stripeImageWidth myInit :: IO (Maybe TextureObject) myInit = do clearColor $= Color4 0 0 0 0 depthFunc $= Just Less shadeModel $= Smooth rowAlignment Unpack $= 1 exts <- get glExtensions mbTexName <- if "GL_EXT_texture_object" `elem` exts then fmap listToMaybe $ genObjectNames 1 else return Nothing when (isJust mbTexName) $ textureBinding Texture1D $= mbTexName textureWrapMode Texture1D S $= (Repeated, Repeat) textureFilter Texture1D $= ((Linear', Nothing), Linear') withStripeImage $ texImage1D NoProxy 0 RGBA' stripeImageWidth 0 textureFunction $= Modulate textureGenMode S $= Just (ObjectLinear xEqualZero) texture Texture1D $= Enabled lighting $= Enabled light (Light 0) $= Enabled autoNormal $= Enabled normalize $= Enabled frontFace $= CW cullFace $= Just Back materialShininess Front $= 64 return mbTexName display :: Maybe TextureObject -> DisplayCallback display mbTexName = do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do rotate (45 :: GLfloat) (Vector3 0 0 1) when (isJust mbTexName) $ textureBinding Texture1D $= mbTexName renderObject Solid (Teapot 2) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-3.5) 3.5 (-3.5*hf/wf) (3.5*hf/wf) (-3.5) 3.5 else ortho (-3.5*wf/hf) (3.5*wf/hf) (-3.5) 3.5 (-3.5) 3.5 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char c) Down _ _ = case toLower c of 'e' -> setGenMode EyeLinear 'o' -> setGenMode ObjectLinear 's' -> setPlane slanted 'x' -> setPlane xEqualZero '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ = return () setGenMode :: (Plane GLdouble -> TextureGenMode) -> IO () setGenMode mode = do currentGenMode <- get (textureGenMode S) case currentGenMode of Just (EyeLinear plane) -> textureGenMode S $= Just (mode plane) Just (ObjectLinear plane) -> textureGenMode S $= Just (mode plane) _ -> error "setGenMode: should never happen..." postRedisplay Nothing setPlane :: Plane GLdouble -> IO () setPlane plane = do currentGenMode <- get (textureGenMode S) case currentGenMode of Just (EyeLinear _) -> textureGenMode S $= Just (EyeLinear plane) Just (ObjectLinear _) -> textureGenMode S $= Just (ObjectLinear plane) _ -> error "setPlane: should never happen..." postRedisplay Nothing main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 256 256 initialWindowPosition $= Position 100 100 createWindow progName mbTexName <- myInit displayCallback $= display mbTexName reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/TexBind.hs0000644000000000000000000001041412121453250015643 0ustar0000000000000000{- TexBind.hs (adapted from texbind.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates using textureBinding by creating and managing two textures. -} import Control.Monad ( when ) import Data.Bits ( (.&.) ) import Foreign ( withArray ) import System.Exit ( exitFailure, exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Create checkerboard image checkImageSize :: TextureSize2D checkImageSize = TextureSize2D 64 64 withCheckImage :: TextureSize2D -> GLsizei -> (GLubyte -> (Color4 GLubyte)) -> (PixelData (Color4 GLubyte) -> IO ()) -> IO () withCheckImage (TextureSize2D w h) n f act = withArray [ f c | i <- [ 0 .. w - 1 ], j <- [ 0 .. h - 1 ], let c | (i .&. n) == (j .&. n) = 0 | otherwise = 255 ] $ act . PixelData RGBA UnsignedByte myInit :: IO (TextureObject, TextureObject) myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat depthFunc $= Just Less rowAlignment Unpack $= 1 [texName0, texName1] <- genObjectNames 2 textureBinding Texture2D $= Just texName0 textureWrapMode Texture2D S $= (Repeated, Clamp) textureWrapMode Texture2D T $= (Repeated, Clamp) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) withCheckImage checkImageSize 0x08 (\c -> Color4 c c c 255) $ texImage2D Nothing NoProxy 0 RGBA' checkImageSize 0 textureBinding Texture2D $= Just texName1 textureWrapMode Texture2D S $= (Repeated, Clamp) textureWrapMode Texture2D T $= (Repeated, Clamp) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) textureFunction $= Decal withCheckImage checkImageSize 0x10 (\c -> Color4 c 0 0 255) $ texImage2D Nothing NoProxy 0 RGBA' checkImageSize 0 texture Texture2D $= Enabled return (texName0, texName1) display :: (TextureObject, TextureObject) -> DisplayCallback display (texName0, texName1) = do clear [ ColorBuffer, DepthBuffer ] -- resolve overloading, not needed in "real" programs let texCoord2f = texCoord :: TexCoord2 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () textureBinding Texture2D $= Just texName0 renderPrimitive Quads $ do texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 (-2.0) (-1.0) 0.0 ) texCoord2f (TexCoord2 0 1); vertex3f (Vertex3 (-2.0) 1.0 0.0 ) texCoord2f (TexCoord2 1 1); vertex3f (Vertex3 0.0 1.0 0.0 ) texCoord2f (TexCoord2 1 0); vertex3f (Vertex3 0.0 (-1.0) 0.0 ) textureBinding Texture2D $= Just texName1 renderPrimitive Quads $ do texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 1.0 (-1.0) 0.0 ) texCoord2f (TexCoord2 0 1); vertex3f (Vertex3 1.0 1.0 0.0 ) texCoord2f (TexCoord2 1 1); vertex3f (Vertex3 2.41421 1.0 (-1.41421)) texCoord2f (TexCoord2 1 0); vertex3f (Vertex3 2.41421 (-1.0) (-1.41421)) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 60 (fromIntegral w / fromIntegral h) 1 30 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-3.6 :: GLfloat)) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName -- we have to do this *after* createWindow, otherwise we have no OpenGL context version <- get (majorMinor glVersion) when (version == (1,0)) $ do putStrLn "This program demonstrates a feature which is not in OpenGL Version 1.0." putStrLn "If your implementation of OpenGL Version 1.0 has the right extensions," putStrLn "you may be able to modify this program to make it run." exitFailure texNames <- myInit reshapeCallback $= Just reshape displayCallback $= display texNames keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/TessWind.hs0000644000000000000000000001512112121453250016046 0ustar0000000000000000{- TessWind.hs (adapted from tesswind.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates the winding rule polygon tessellation property. Four tessellated objects are drawn, each with very different contours. When the w key is pressed, the objects are drawn with a different winding rule. -} import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { currentWindingRule :: IORef TessWinding } makeState :: IO State makeState = do c <- newIORef TessWindingOdd return $ State { currentWindingRule = c } type DisplayLists = (DisplayList, DisplayList, DisplayList, DisplayList) -- 'Float' is a dummy, any marshalable type would do type DontCare = Float rect1 :: ComplexContour DontCare rect1 = ComplexContour [ AnnotatedVertex (Vertex3 50 50 0) 0, AnnotatedVertex (Vertex3 300 50 0) 0, AnnotatedVertex (Vertex3 300 300 0) 0, AnnotatedVertex (Vertex3 50 300 0) 0 ] rect2 :: ComplexContour DontCare rect2 = ComplexContour [ AnnotatedVertex (Vertex3 100 100 0) 0, AnnotatedVertex (Vertex3 250 100 0) 0, AnnotatedVertex (Vertex3 250 250 0) 0, AnnotatedVertex (Vertex3 100 250 0) 0 ] rect3 :: ComplexContour DontCare rect3 = ComplexContour [ AnnotatedVertex (Vertex3 150 150 0) 0, AnnotatedVertex (Vertex3 200 150 0) 0, AnnotatedVertex (Vertex3 200 200 0) 0, AnnotatedVertex (Vertex3 150 200 0) 0 ] rects1 :: ComplexPolygon DontCare rects1 = ComplexPolygon [ rect1, rect2, rect3 ] rects2 :: ComplexPolygon DontCare rects2 = ComplexPolygon [ rect1, reverseComplexContour rect2, reverseComplexContour rect3 ] spiral :: ComplexPolygon DontCare spiral = ComplexPolygon [ ComplexContour [ AnnotatedVertex (Vertex3 400 250 0) 0, AnnotatedVertex (Vertex3 400 50 0) 0, AnnotatedVertex (Vertex3 50 50 0) 0, AnnotatedVertex (Vertex3 50 400 0) 0, AnnotatedVertex (Vertex3 350 400 0) 0, AnnotatedVertex (Vertex3 350 100 0) 0, AnnotatedVertex (Vertex3 100 100 0) 0, AnnotatedVertex (Vertex3 100 350 0) 0, AnnotatedVertex (Vertex3 300 350 0) 0, AnnotatedVertex (Vertex3 300 150 0) 0, AnnotatedVertex (Vertex3 150 150 0) 0, AnnotatedVertex (Vertex3 150 300 0) 0, AnnotatedVertex (Vertex3 250 300 0) 0, AnnotatedVertex (Vertex3 250 200 0) 0, AnnotatedVertex (Vertex3 200 200 0) 0, AnnotatedVertex (Vertex3 200 250 0) 0 ] ] quad1 :: ComplexContour DontCare quad1 = ComplexContour [ AnnotatedVertex (Vertex3 50 150 0) 0, AnnotatedVertex (Vertex3 350 150 0) 0, AnnotatedVertex (Vertex3 350 200 0) 0, AnnotatedVertex (Vertex3 50 200 0) 0 ] quad2 :: ComplexContour DontCare quad2 = ComplexContour [ AnnotatedVertex (Vertex3 100 100 0) 0, AnnotatedVertex (Vertex3 300 100 0) 0, AnnotatedVertex (Vertex3 300 350 0) 0, AnnotatedVertex (Vertex3 100 350 0) 0 ] tri :: ComplexContour DontCare tri = ComplexContour [ AnnotatedVertex (Vertex3 200 50 0) 0, AnnotatedVertex (Vertex3 250 300 0) 0, AnnotatedVertex (Vertex3 150 300 0) 0 ] quadsAndTri :: ComplexPolygon DontCare quadsAndTri = ComplexPolygon [ quad1, quad2, tri ] reverseComplexContour :: ComplexContour DontCare -> ComplexContour DontCare reverseComplexContour (ComplexContour avs) = ComplexContour (reverse avs) makeNewLists :: State -> DisplayLists -> IO () makeNewLists state (dl1, dl2, dl3, dl4) = do windingRule <- get (currentWindingRule state) print windingRule -- not in original program, but useful compileList windingRule dl1 rects1 compileList windingRule dl2 rects2 compileList windingRule dl3 spiral compileList windingRule dl4 quadsAndTri compileList :: TessWinding -> DisplayList -> ComplexPolygon DontCare -> IO () compileList windingRule displayList complexPolygon = defineList displayList Compile $ drawSimplePolygon =<< tessellate windingRule 0 (Normal3 0 0 0) noOpCombiner complexPolygon noOpCombiner :: Combiner DontCare noOpCombiner _newVertex _weightedProperties = 0 drawSimplePolygon :: SimplePolygon DontCare -> IO () drawSimplePolygon (SimplePolygon primitives) = flip mapM_ primitives $ \(Primitive primitiveMode vertices) -> renderPrimitive primitiveMode $ flip mapM_ vertices $ \(AnnotatedVertex plainVertex _) -> vertex plainVertex display :: DisplayLists -> DisplayCallback display (dl1, dl2, dl3, dl4) = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () translatef = translate :: Vector3 GLfloat -> IO () color3f (Color3 1 1 1) preservingMatrix $ do callList dl1 translatef (Vector3 0 500 0) callList dl2 translatef (Vector3 500 (-500) 0) callList dl3 translatef (Vector3 0 500 0) callList dl4 flush myInit :: State -> IO DisplayLists myInit state = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat [dl1, dl2, dl3, dl4] <- genObjectNames 4 let displayLists = (dl1, dl2, dl3, dl4) makeNewLists state displayLists return displayLists reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho2D 0 1000 0 (1000 * hf/wf) else ortho2D 0 (1000 * wf/hf) 0 1000 matrixMode $= Modelview 0 loadIdentity keyboard :: State -> DisplayLists -> KeyboardMouseCallback keyboard state displayLists (Char c) Down _ _ = case toLower c of 'w' -> do currentWindingRule state $~ nextWindingRule makeNewLists state displayLists postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ _ = return () nextWindingRule :: TessWinding -> TessWinding nextWindingRule r = case r of TessWindingOdd -> TessWindingNonzero TessWindingNonzero -> TessWindingPositive TessWindingPositive -> TessWindingNegative TessWindingNegative -> TessWindingAbsGeqTwo TessWindingAbsGeqTwo -> TessWindingOdd main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 createWindow progName state <- makeState displayLists <- myInit state displayCallback $= display displayLists reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state displayLists) mainLoop GLUT-2.4.0.0/examples/RedBook/Tess.hs0000644000000000000000000000761312121453250015233 0ustar0000000000000000{- Tess.hs (adapted from tess.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates polygon tessellation. Two tesselated objects are drawn. The first is a rectangle with a triangular hole. The second is a smooth shaded, self-intersecting star. Note the exterior rectangle is drawn with its vertices in counter-clockwise order, but its interior clockwise. Note the combineCallback is needed for the self-intersecting star. Also note that removing the TessProperty for the star will make the interior unshaded (TessWindingOdd). -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT display :: [DisplayList] -> DisplayCallback display displayLists = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 1 1 1) mapM callList displayLists flush -- 'Float' is a dummy, any marshalable type would do type DontCare = Float rectangle :: ComplexContour DontCare rectangle = ComplexContour [ AnnotatedVertex (Vertex3 50 50 0) 0, AnnotatedVertex (Vertex3 200 50 0) 0, AnnotatedVertex (Vertex3 200 200 0) 0, AnnotatedVertex (Vertex3 50 200 0) 0 ] tri :: ComplexContour DontCare tri = ComplexContour [ AnnotatedVertex (Vertex3 75 75 0) 0, AnnotatedVertex (Vertex3 125 175 0) 0, AnnotatedVertex (Vertex3 175 75 0) 0 ] rectAndTri :: ComplexPolygon DontCare rectAndTri = ComplexPolygon [ rectangle, tri ] noOpCombiner :: Combiner DontCare noOpCombiner _newVertex _weightedProperties = 0 star :: ComplexPolygon (Color3 GLfloat) star = ComplexPolygon [ ComplexContour [ AnnotatedVertex (Vertex3 250 50 0) (Color3 1 0 1), AnnotatedVertex (Vertex3 325 200 0) (Color3 1 1 0), AnnotatedVertex (Vertex3 400 50 0) (Color3 0 1 1), AnnotatedVertex (Vertex3 250 150 0) (Color3 1 0 0), AnnotatedVertex (Vertex3 400 150 0) (Color3 0 1 0) ] ] combineColors :: Combiner (Color3 GLfloat) combineColors _newVertex (WeightedProperties (w0, Color3 r0 g0 b0) (w1, Color3 r1 g1 b1) (w2, Color3 r2 g2 b2) (w3, Color3 r3 g3 b3)) = Color3 (w0*r0 + w1*r1 + w2*r2 + w3*r3) (w0*g0 + w1*g1 + w2*g2 + w3*g3) (w0*b0 + w1*b1 + w2*b2 + w3*b3) myInit :: IO [DisplayList] myInit = do clearColor $= Color4 0 0 0 0 rectAndTriList <- defineNewList Compile $ drawSimplePolygon (\_ -> return ()) =<< tessellate TessWindingOdd 0 (Normal3 0 0 0) noOpCombiner rectAndTri starList <- defineNewList Compile $ drawSimplePolygon color =<< tessellate TessWindingPositive 0 (Normal3 0 0 0) combineColors star return [ rectAndTriList, starList ] drawSimplePolygon :: (v -> IO ()) -> SimplePolygon v -> IO () drawSimplePolygon colorHandler (SimplePolygon primitives) = flip mapM_ primitives $ \(Primitive primitiveMode vertices) -> renderPrimitive primitiveMode $ flip mapM_ vertices $ \(AnnotatedVertex plainVertex col) -> do colorHandler col vertex plainVertex reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 (fromIntegral w) 0 (fromIntegral h) matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 createWindow progName displayLists <- myInit displayCallback $= display displayLists reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Teapots.hs0000644000000000000000000002156512121453250015736 0ustar0000000000000000{- Teapots.hs (adapted from teapots.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates lots of material properties. A single light source illuminates the objects. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Initialize depth buffer, projection matrix, light source, and lighting -- model. Do not specify a material property here. myInit :: IO DisplayList myInit = do ambient (Light 0) $= Color4 0 0 0 1 diffuse (Light 0) $= Color4 1 1 1 1 position (Light 0) $= Vertex4 0 3 3 0 lightModelAmbient $= Color4 0.2 0.2 0.2 1 lightModelLocalViewer $= Disabled frontFace $= CW lighting $= Enabled light (Light 0) $= Enabled autoNormal $= Enabled normalize $= Enabled depthFunc $= Just Less -- be efficient--make teapot display list defineNewList Compile $ renderObject Solid (Teapot 1) -- Move object into position, specify the material properties, draw a teapot. renderTeapot :: DisplayList -> Vector3 GLfloat -> Color4 GLfloat -> Color4 GLfloat -> Color4 GLfloat -> GLfloat -> IO () renderTeapot teapotList pos amb dif spec shine = do preservingMatrix $ do translate pos materialAmbient Front $= amb materialDiffuse Front $= dif materialSpecular Front $= spec materialShininess Front $= shine * 128 callList teapotList -- 1st column: emerald, jade, obsidian, pearl, ruby, turquoise -- 2nd column: brass, bronze, chrome, copper, gold, silver -- 3rd column: black, cyan, green, red, white, yellow plastic -- 4th column: black, cyan, green, red, white, yellow rubber display :: DisplayList -> DisplayCallback display teapotList = do clear [ ColorBuffer, DepthBuffer ] renderTeapot teapotList (Vector3 2 17 0) (Color4 0.0215 0.1745 0.0215 1) (Color4 0.07568 0.61424 0.07568 1) (Color4 0.633 0.727811 0.633 1) 0.6 renderTeapot teapotList (Vector3 2 14 0) (Color4 0.135 0.2225 0.1575 1) (Color4 0.54 0.89 0.63 1) (Color4 0.316228 0.316228 0.316228 1) 0.1 renderTeapot teapotList (Vector3 2 11 0) (Color4 0.05375 0.05 0.06625 1) (Color4 0.18275 0.17 0.22525 1) (Color4 0.332741 0.328634 0.346435 1) 0.3 renderTeapot teapotList (Vector3 2 8 0) (Color4 0.25 0.20725 0.20725 1) (Color4 1 0.829 0.829 1) (Color4 0.296648 0.296648 0.296648 1) 0.088 renderTeapot teapotList (Vector3 2 5 0) (Color4 0.1745 0.01175 0.01175 1) (Color4 0.61424 0.04136 0.04136 1) (Color4 0.727811 0.626959 0.626959 1) 0.6 renderTeapot teapotList (Vector3 2 2 0) (Color4 0.1 0.18725 0.1745 1) (Color4 0.396 0.74151 0.69102 1) (Color4 0.297254 0.30829 0.306678 1) 0.1 renderTeapot teapotList (Vector3 6 17 0) (Color4 0.329412 0.223529 0.027451 1) (Color4 0.780392 0.568627 0.113725 1) (Color4 0.992157 0.941176 0.807843 1) 0.21794872 renderTeapot teapotList (Vector3 6 14 0) (Color4 0.2125 0.1275 0.054 1) (Color4 0.714 0.4284 0.18144 1) (Color4 0.393548 0.271906 0.166721 1) 0.2 renderTeapot teapotList (Vector3 6 11 0) (Color4 0.25 0.25 0.25 1) (Color4 0.4 0.4 0.4 1) (Color4 0.774597 0.774597 0.774597 1) 0.6 renderTeapot teapotList (Vector3 6 8 0) (Color4 0.19125 0.0735 0.0225 1) (Color4 0.7038 0.27048 0.0828 1) (Color4 0.256777 0.137622 0.086014 1) 0.1 renderTeapot teapotList (Vector3 6 5 0) (Color4 0.24725 0.1995 0.0745 1) (Color4 0.75164 0.60648 0.22648 1) (Color4 0.628281 0.555802 0.366065 1) 0.4 renderTeapot teapotList (Vector3 6 2 0) (Color4 0.19225 0.19225 0.19225 1) (Color4 0.50754 0.50754 0.50754 1) (Color4 0.508273 0.508273 0.508273 1) 0.4 renderTeapot teapotList (Vector3 10 17 0) (Color4 0 0 0 1) (Color4 0.01 0.01 0.01 1) (Color4 0.50 0.50 0.50 1) 0.25 renderTeapot teapotList (Vector3 10 14 0) (Color4 0 0.1 0.06 1) (Color4 0 0.50980392 0.50980392 1) (Color4 0.50196078 0.50196078 0.50196078 1) 0.25 renderTeapot teapotList (Vector3 10 11 0) (Color4 0 0 0 1) (Color4 0.1 0.35 0.1 1) (Color4 0.45 0.55 0.45 1) 0.25 renderTeapot teapotList (Vector3 10 8 0) (Color4 0 0 0 1) (Color4 0.5 0 0 1) (Color4 0.7 0.6 0.6 1) 0.25 renderTeapot teapotList (Vector3 10 5 0) (Color4 0 0 0 1) (Color4 0.55 0.55 0.55 1) (Color4 0.70 0.70 0.70 1) 0.25 renderTeapot teapotList (Vector3 10 2 0) (Color4 0 0 0 1) (Color4 0.5 0.5 0 1) (Color4 0.60 0.60 0.50 1) 0.25 renderTeapot teapotList (Vector3 14 17 0) (Color4 0.02 0.02 0.02 1) (Color4 0.01 0.01 0.01 1) (Color4 0.4 0.4 0.4 1) 0.078125 renderTeapot teapotList (Vector3 14 14 0) (Color4 0 0.05 0.05 1) (Color4 0.4 0.5 0.5 1) (Color4 0.04 0.7 0.7 1) 0.078125 renderTeapot teapotList (Vector3 14 11 0) (Color4 0 0.05 0 1) (Color4 0.4 0.5 0.4 1) (Color4 0.04 0.7 0.04 1) 0.078125 renderTeapot teapotList (Vector3 14 8 0) (Color4 0.05 0 0 1) (Color4 0.5 0.4 0.4 1) (Color4 0.7 0.04 0.04 1) 0.078125 renderTeapot teapotList (Vector3 14 5 0) (Color4 0.05 0.05 0.05 1) (Color4 0.5 0.5 0.5 1) (Color4 0.7 0.7 0.7 1) 0.078125 renderTeapot teapotList (Vector3 14 2 0) (Color4 0.05 0.05 0 1) (Color4 0.5 0.5 0.4 1) (Color4 0.7 0.7 0.04 1) 0.078125 flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho 0 16 0 (16 * hf/wf) (-10) 10 else ortho 0 (16 * wf/hf) 0 16 (-10) 10 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 600 initialWindowPosition $= Position 50 50 createWindow progName teapotList <- myInit reshapeCallback $= Just reshape displayCallback $= display teapotList keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/SurfPoints.hs0000644000000000000000000001064512121453250016430 0ustar0000000000000000{- SurfPoints.hs (adapted from surfpoints.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program is a modification of the earlier Surface.hs program. The vertex data are not directly rendered, but are instead passed to the callback function. The values of the tessellated vertices are printed out there. This program draws a NURBS surface in the shape of a symmetrical hill. The 'c' keyboard key allows you to toggle the visibility of the control points themselves. Note that some of the control points are hidden by the surface itself. NOTE: This example does NOT demonstrate the final NURBS API, it's currently just a test for the internals... -} import Control.Monad ( when ) import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import Foreign.Marshal ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { showPoints :: IORef Bool } makeState :: IO State makeState = do s <- newIORef False return $ State { showPoints = s } -- The control points of the surface form a small hill and -- range from -3 to +3 in x, y, and z. ctlPoints :: [[Vertex3 GLfloat]] ctlPoints = [ [ Vertex3 (2 * u - 3) (2 * v - 3) (if (u == 1 || u ==2) && (v == 1 || v == 2) then 3 else -3) | v <- [ 0 .. 3 ] ] | u <- [ 0 .. 3 ]] myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 materialDiffuse Front $= Color4 0.7 0.7 0.7 1 materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 100 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less autoNormal $= Enabled normalize $= Enabled -------------------------------------------------------------------------------- display :: State -> DisplayCallback display state = do let knots = [ 0, 0, 0, 0, 1, 1, 1, 1 ] :: [GLfloat] clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do rotate (330 :: GLfloat) (Vector3 1 0 0) scale 0.5 0.5 (0.5 :: GLfloat) withNURBSObj () $ \nurbsObj -> do setNURBSMode nurbsObj NURBSTessellator setSamplingMethod nurbsObj (PathLength 25) setDisplayMode' nurbsObj Fill' checkForNURBSError nurbsObj $ withNURBSBeginCallback nurbsObj print $ withNURBSVertexCallback nurbsObj print $ withNURBSNormalCallback nurbsObj print $ withNURBSEndCallback nurbsObj (putStrLn "end") $ nurbsBeginEndSurface nurbsObj $ withArray (concat ctlPoints) $ \cBuf -> withArray knots $ \kBuf -> nurbsSurface nurbsObj 8 kBuf 8 kBuf (4 * 3) 3 cBuf 4 4 s <- get (showPoints state) when s $ do pointSize $= 5 lighting $= Disabled color (Color3 1 1 (0 :: GLfloat)) renderPrimitive Points $ mapM_ (mapM_ vertex) ctlPoints lighting $= Enabled flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 45 (fromIntegral w / fromIntegral h) 3 8 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-5 :: GLfloat)) keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case toLower c of 'c' -> do showPoints state $~ not; postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName version <- get (majorMinor gluVersion) when (version < (1,3)) $ do putStrLn "This program demonstrates a feature which is introduced in the" putStrLn "OpenGL Utility Library (GLU) Version 1.3." putStrLn "If your implementation of GLU has the right extensions," putStrLn "you may be able to modify this program to make it run." putStrLn "Continuing anyway..." state <- makeState myInit reshapeCallback $= Just reshape displayCallback $= display state keyboardMouseCallback $= Just (keyboard state) mainLoop GLUT-2.4.0.0/examples/RedBook/Surface.hs0000644000000000000000000000673612121453250015712 0ustar0000000000000000{- Surface.hs (adapted from surface.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws a NURBS surface in the shape of a symmetrical hill. The 'c' keyboard key allows you to toggle the visibility of the control points themselves. Note that some of the control points are hidden by the surface itself. NOTE: This example does NOT demonstrate the final NURBS API, it's currently just a test for the internals... -} import Control.Monad ( when ) import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import Foreign.Marshal ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { showPoints :: IORef Bool } makeState :: IO State makeState = do s <- newIORef False return $ State { showPoints = s } -- The control points of the surface form a small hill and -- range from -3 to +3 in x, y, and z. ctlPoints :: [[Vertex3 GLfloat]] ctlPoints = [ [ Vertex3 (2 * u - 3) (2 * v - 3) (if (u == 1 || u ==2) && (v == 1 || v == 2) then 3 else -3) | v <- [ 0 .. 3 ] ] | u <- [ 0 .. 3 ]] myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 materialDiffuse Front $= Color4 0.7 0.7 0.7 1 materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 100 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less autoNormal $= Enabled normalize $= Enabled -------------------------------------------------------------------------------- display :: State -> DisplayCallback display state = do let knots = [ 0, 0, 0, 0, 1, 1, 1, 1 ] :: [GLfloat] clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do rotate (330 :: GLfloat) (Vector3 1 0 0) scale 0.5 0.5 (0.5 :: GLfloat) withNURBSObj () $ \nurbsObj -> do setSamplingMethod nurbsObj (PathLength 25) setDisplayMode' nurbsObj Fill' checkForNURBSError nurbsObj $ nurbsBeginEndSurface nurbsObj $ withArray (concat ctlPoints) $ \cBuf -> withArray knots $ \kBuf -> nurbsSurface nurbsObj 8 kBuf 8 kBuf (4 * 3) 3 cBuf 4 4 s <- get (showPoints state) when s $ do pointSize $= 5 lighting $= Disabled color (Color3 1 1 (0 :: GLfloat)) renderPrimitive Points $ mapM_ (mapM_ vertex) ctlPoints lighting $= Enabled flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 45 (fromIntegral w / fromIntegral h) 3 8 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-5 :: GLfloat)) keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case toLower c of 'c' -> do showPoints state $~ not; postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState myInit reshapeCallback $= Just reshape displayCallback $= display state keyboardMouseCallback $= Just (keyboard state) mainLoop GLUT-2.4.0.0/examples/RedBook/Stroke.hs0000644000000000000000000000753612121453250015570 0ustar0000000000000000{- Stroke.hs (adapted from stroke.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates some characters of a stroke (vector) font. The characters are represented by display lists, which are given numbers which correspond to the ASCII values of the characters. Use of callLists is demonstrated. -} import Data.List ( genericLength ) import Foreign.C.String ( castCharToCChar ) import Foreign.Marshal.Array ( withArray ) import Graphics.UI.GLUT import System.Exit ( exitWith, ExitCode(ExitSuccess) ) aData, eData, pData, rData, sData :: [[Vertex2 GLfloat]] aData = [ [ Vertex2 0 0, Vertex2 0 9, Vertex2 1 10, Vertex2 4 10, Vertex2 5 9, Vertex2 5 0 ], [ Vertex2 0 5, Vertex2 5 5 ] ] eData = [ [ Vertex2 5 0, Vertex2 0 0, Vertex2 0 10, Vertex2 5 10 ], [ Vertex2 0 5, Vertex2 4 5 ] ] pData = [ [ Vertex2 0 0, Vertex2 0 10, Vertex2 4 10, Vertex2 5 9, Vertex2 5 6, Vertex2 4 5, Vertex2 0 5 ] ] rData = [ [ Vertex2 0 0, Vertex2 0 10, Vertex2 4 10, Vertex2 5 9, Vertex2 5 6, Vertex2 4 5, Vertex2 0 5 ], [ Vertex2 3 5, Vertex2 5 0 ] ] sData = [ [ Vertex2 0 1, Vertex2 1 0, Vertex2 4 0, Vertex2 5 1, Vertex2 5 4, Vertex2 4 5, Vertex2 1 5, Vertex2 0 6, Vertex2 0 9, Vertex2 1 10, Vertex2 4 10, Vertex2 5 9 ] ] advance :: IO () advance = translate (Vector3 8 0 (0 :: GLfloat)) -- drawLetter renders a letter with line segments given by the list of line -- strips. drawLetter :: [[Vertex2 GLfloat]] -> IO () drawLetter lineStrips = do mapM_ (renderPrimitive LineStrip . mapM_ vertex) lineStrips advance charToGLubyte :: Char -> GLubyte charToGLubyte = fromIntegral . castCharToCChar myInit :: IO () myInit = do shadeModel $= Flat (base@(DisplayList b):_) <- genObjectNames 128 listBase $= base let charToDisplayList c = DisplayList (b + fromIntegral (charToGLubyte c)) mapM_ (\(c, d) -> defineList (charToDisplayList c) Compile d) [ ('A', drawLetter aData), ('E', drawLetter eData), ('P', drawLetter pData), ('R', drawLetter rData), ('S', drawLetter sData), (' ', advance) ] test1, test2 :: String test1 = "A SPARE SERAPE APPEARS AS" test2 = "APES PREPARE RARE PEPPERS" printStrokedString :: String -> IO () printStrokedString s = withArray (map charToGLubyte s) $ callLists (genericLength s) UnsignedByte display :: DisplayCallback display = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () scalef = scale :: GLfloat -> GLfloat -> GLfloat -> IO () translatef = translate :: Vector3 GLfloat -> IO () color3f (Color3 1 1 1) preservingMatrix $ do scalef 2 2 2 translatef (Vector3 10 30 0) printStrokedString test1 preservingMatrix $ do scalef 2 2 2 translatef (Vector3 10 13 0) printStrokedString test2 flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 (fromIntegral w) 0 (fromIntegral h) matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char c) Down _ _ = case c of ' ' -> postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 440 120 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display mainLoop GLUT-2.4.0.0/examples/RedBook/Stencil.hs0000644000000000000000000000760712121453250015721 0ustar0000000000000000{- Stencil.hs (adapted from stencil.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates use of the stencil buffer for masking nonrectangular regions. Whenever the window is redrawn, a value of 1 is drawn into a diamond-shaped region in the stencil buffer. Elsewhere in the stencil buffer, the value is 0. Then a blue sphere is drawn where the stencil value is 1, and yellow torii are drawn where the stencil value is not 1. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data DisplayLists = DisplayLists { yellowMat, blueMat :: DisplayList } myInit :: IO DisplayLists myInit = do y <- defineNewList Compile $ do materialDiffuse Front $= Color4 0.7 0.7 0 1 materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 64 b <- defineNewList Compile $ do materialDiffuse Front $= Color4 0.1 0.1 0.7 1 materialSpecular Front $= Color4 0.1 1 1 1 materialShininess Front $= 45 position (Light 0) $= Vertex4 1 1 1 0 light (Light 0) $= Enabled lighting $= Enabled depthFunc $= Just Less clearStencil $= 0 stencilTest $= Enabled return $ DisplayLists { yellowMat = y, blueMat = b } -- Draw a sphere in a diamond-shaped section in the middle of a window with 2 -- torii. display :: DisplayLists -> DisplayCallback display displayLists = do clear [ ColorBuffer, DepthBuffer ] -- draw blue sphere where the stencil is 1 stencilFunc $= (Equal, 1, 1) stencilOp $= (OpKeep, OpKeep, OpKeep) callList (blueMat displayLists) renderObject Solid (Sphere' 0.5 15 15) -- resolve overloading, not needed in "real" programs let rotatef = rotate :: GLfloat -> Vector3 GLfloat -> IO () -- draw the tori where the stencil is not 1 stencilFunc $= (Notequal, 1, 1) preservingMatrix $ do rotatef 45 (Vector3 0 0 1) rotatef 45 (Vector3 0 1 0) callList (yellowMat displayLists) renderObject Solid (Torus 0.275 0.85 15 15) preservingMatrix $ do rotatef 90 (Vector3 1 0 0) renderObject Solid (Torus 0.275 0.85 15 15) flush -- Whenever the window is reshaped, redefine the coordinate system and redraw -- the stencil area. reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) -- create a diamond shaped stencil area matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho2D (-3) 3 (-3*hf/wf) (3*hf/wf) else ortho2D (-3*wf/hf) (3*wf/hf) (-3) 3 matrixMode $= Modelview 0 loadIdentity -- resolve overloading, not needed in "real" programs let vertex2f = vertex :: Vertex2 GLfloat -> IO () translatef = translate :: Vector3 GLfloat -> IO () clear [ StencilBuffer ] stencilFunc $= (Always, 1, 1) stencilOp $= (OpReplace, OpReplace, OpReplace) renderPrimitive Quads $ do vertex2f (Vertex2 (-1) 0) vertex2f (Vertex2 0 1) vertex2f (Vertex2 1 0) vertex2f (Vertex2 0 (-1)) matrixMode $= Projection loadIdentity perspective 45 (wf/hf) 3 7 matrixMode $= Modelview 0 loadIdentity translatef (Vector3 0 0 (-5)) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Be certain to request stencil bits. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer, WithStencilBuffer ] initialWindowSize $= Size 400 400 initialWindowPosition $= Position 100 100 createWindow progName displayLists <- myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display displayLists mainLoop GLUT-2.4.0.0/examples/RedBook/Smooth.hs0000644000000000000000000000342512121453250015563 0ustar0000000000000000{- Smooth.hs (adapted from smooth.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates smooth shading. A smooth shaded polygon is drawn in a 2-D projection. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Smooth triangle :: IO () triangle = -- resolve overloading, not needed in "real" programs let vertex2f = vertex :: Vertex2 GLfloat -> IO () color3f = color :: Color3 GLfloat -> IO () in renderPrimitive Triangles $ do color3f (Color3 1 0 0) vertex2f (Vertex2 5 5) color3f (Color3 0 1 0) vertex2f (Vertex2 25 5) color3f (Color3 0 0 1) vertex2f (Vertex2 5 25) display :: DisplayCallback display = do clear [ ColorBuffer ] triangle flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho2D 0 30 0 (30 * hf/wf) else ortho2D 0 (30 * wf/hf) 0 30 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/ShadowMap.hs0000644000000000000000000002016712121453250016177 0ustar0000000000000000{- ShadowMap.hs (adapted from shadowmap.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( when, unless ) import Data.IORef ( IORef, newIORef ) import Foreign.Marshal.Array ( allocaArray ) import Foreign.Ptr ( nullPtr ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT shadowMapSize :: TextureSize2D shadowMapSize = TextureSize2D 256 256 fovy, nearPlane, farPlane :: GLdouble fovy = 60 nearPlane = 10 farPlane = 100 lightPos :: Vertex4 GLfloat lightPos = Vertex4 25 25 25 1 lookat :: Vertex3 GLdouble lookat = Vertex3 0 0 0 up :: Vector3 GLdouble up = Vector3 0 0 1 data State = State { angle :: IORef GLdouble, torusAngle :: IORef GLfloat, showShadow :: IORef Bool, animate :: IORef Bool, funcMode :: IORef ComparisonFunction } makeState :: IO State makeState = do a <- newIORef 0 t <- newIORef 0 s <- newIORef False n <- newIORef True f <- newIORef Lequal return $ State { angle = a, torusAngle = t, showShadow = s, animate = n, funcMode = f } myInit :: IO () myInit = do texImage2D Nothing NoProxy 0 DepthComponent' shadowMapSize 0 (PixelData DepthComponent UnsignedByte nullPtr) position (Light 0) $= lightPos let white = Color4 1 1 1 1 specular (Light 0) $= white diffuse (Light 0) $= white textureWrapMode Texture2D S $= (Repeated, ClampToEdge) textureWrapMode Texture2D T $= (Repeated, ClampToEdge) textureFilter Texture2D $= ((Linear', Nothing), Linear') textureCompareMode Texture2D $= Just Lequal depthTextureMode Texture2D $= Luminance' colorMaterial $= Just (FrontAndBack, AmbientAndDiffuse) cullFace $= Just Back depthFunc $= Just Less light (Light 0) $= Enabled lighting $= Enabled texture Texture2D $= Enabled reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective fovy (fromIntegral w / fromIntegral h) nearPlane farPlane matrixMode $= Modelview 0 idle :: State -> IdleCallback idle state = do angle state $~! (+ (pi / 10000)) torusAngle state $~! (+ 0.1) postRedisplay Nothing keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = do case c of '\27' -> exitWith ExitSuccess 't' -> texture Texture2D $~ \cap -> if cap == Enabled then Disabled else Enabled 'm' -> do fm <- get (funcMode state) textureCompareMode Texture2D $~ maybe (Just fm) (const Nothing) compareMode <- get (textureCompareMode Texture2D) putStrLn ("Compare mode " ++ maybe "Off" (const "On") compareMode) 'f' -> do funcMode state $~ \fm -> if fm == Lequal then Gequal else Lequal fm <- get (funcMode state) putStrLn ("Operator " ++ show fm) textureCompareMode Texture2D $~ maybe Nothing (const (Just fm)) 's' -> showShadow state $~ not 'p' -> do animate state $~ not animate' <- get (animate state) idleCallback $= if animate' then Just (idle state) else Nothing _ -> return () postRedisplay Nothing keyboard _ _ _ _ _ = return () drawObjects :: GLfloat -> Bool -> IO () drawObjects torusAngle' shadowRender = do textureOn <- get (texture Texture2D) when shadowRender $ texture Texture2D $= Disabled -- resolve overloading, not needed in "real" programs let normal3f = normal :: Normal3 GLfloat -> IO () color3f = color :: Color3 GLfloat -> IO () rectf = rect :: Vertex2 GLfloat -> Vertex2 GLfloat -> IO () translatef = translate :: Vector3 GLfloat -> IO () rotatef = rotate :: GLfloat -> Vector3 GLfloat -> IO () unless shadowRender $ do normal3f (Normal3 0 0 1) color3f (Color3 1 1 1) rectf (Vertex2 (-20) (-20)) (Vertex2 20 20) preservingMatrix $ do translatef (Vector3 11 11 11) rotatef 54.73 (Vector3 (-5) 5 0) rotate torusAngle' (Vector3 1 0 0) color3f (Color3 1 0 0) renderObject Solid (Torus 1 4 8 36) preservingMatrix $ do translatef (Vector3 2 2 2) color3f (Color3 0 0 1) renderObject Solid (Cube 4) preservingMatrix $ do getLightPos Vector3 >>= translate color3f (Color3 1 1 1) renderObject Wireframe (Sphere' 0.5 6 6) when (shadowRender && textureOn == Enabled) $ texture Texture2D $= Enabled getLightPos :: (GLdouble -> GLdouble -> GLdouble -> a) -> IO a getLightPos f = do Vertex4 x y z _ <- get (position (Light 0)) return $ f (realToFrac x) (realToFrac y) (realToFrac z) generateShadowMap :: GLfloat -> Bool -> IO () generateShadowMap torusAngle' showShadow' = do lightPos' <- getLightPos Vertex3 let (TextureSize2D shadowMapWidth shadowMapHeight) = shadowMapSize shadowMapSize' = Size shadowMapWidth shadowMapHeight preservingViewport $ do viewport $= (Position 0 0, shadowMapSize') clear [ ColorBuffer, DepthBuffer ] matrixMode $= Projection preservingMatrix $ do loadIdentity perspective 80 1 10 1000 matrixMode $= Modelview 0 preservingMatrix $ do loadIdentity lookAt lightPos' lookat up drawObjects torusAngle' True matrixMode $= Projection matrixMode $= Modelview 0 copyTexImage2D Nothing 0 DepthComponent' (Position 0 0) shadowMapSize 0 when showShadow' $ do let numShadowMapPixels = fromIntegral (shadowMapWidth * shadowMapHeight) allocaArray numShadowMapPixels $ \depthImage -> do let pixelData fmt = PixelData fmt Float depthImage :: PixelData GLfloat readPixels (Position 0 0) shadowMapSize' (pixelData DepthComponent) (_, Size viewPortWidth _) <- get viewport windowPos (Vertex2 (fromIntegral viewPortWidth / 2 :: GLfloat) 0) drawPixels shadowMapSize' (pixelData Luminance) swapBuffers -- Note: preservingViewport is not exception safe, but it doesn't matter here preservingViewport :: IO a -> IO a preservingViewport act = do v <- get viewport x <- act viewport $= v return x generateTextureMatrix :: IO () generateTextureMatrix = do -- Set up projective texture matrix. We use the Modelview matrix stack and -- OpenGL matrix commands to make the matrix. m <- preservingMatrix $ do loadIdentity -- resolve overloading, not needed in "real" programs let translatef = translate :: Vector3 GLfloat -> IO () scalef = scale :: GLfloat -> GLfloat -> GLfloat -> IO () translatef (Vector3 0.5 0.5 0.0) scalef 0.5 0.5 1.0 perspective 60 1 1 1000 lightPos' <- getLightPos Vertex3 lookAt lightPos' lookat up get (matrix (Just (Modelview 0))) [ sx, sy, sz, sw, tx, ty, tz, tw, rx, ry, rz, rw, qx, qy, qz, qw ] <- getMatrixComponents RowMajor (m :: GLmatrix GLdouble) textureGenMode S $= Just (ObjectLinear (Plane sx sy sz sw)) textureGenMode T $= Just (ObjectLinear (Plane tx ty tz tw)) textureGenMode R $= Just (ObjectLinear (Plane rx ry rz rw)) textureGenMode Q $= Just (ObjectLinear (Plane qx qy qz qw)) display :: State -> DisplayCallback display state = do let radius = 30 torusAngle' <- get (torusAngle state) showShadow' <- get (showShadow state) generateShadowMap torusAngle' showShadow' generateTextureMatrix unless showShadow' $ do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do angle' <- get (angle state) lookAt (Vertex3 (radius * cos angle') (radius * sin angle') 30) lookat up drawObjects torusAngle' False swapBuffers main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ RGBAMode, WithDepthBuffer, DoubleBuffered ] initialWindowSize $= Size 521 512 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState myInit displayCallback $= display state reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) idleCallback $= Just (idle state) mainLoop GLUT-2.4.0.0/examples/RedBook/Select.hs0000644000000000000000000001244612121453250015534 0ustar0000000000000000{- Select.hs (adapted from select.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This is an illustration of the selection mode and name stack, which detects whether objects which collide with a viewing volume. First, four triangles and a rectangular box representing a viewing volume are drawn (drawScene routine). The green triangle and yellow triangles appear to lie within the viewing volume, but the red triangle appears to lie outside it. Then the selection mode is entered (selectObjects routine). Drawing to the screen ceases. To see if any collisions occur, the four triangles are called. In this example, the green triangle causes one hit with the name 1, and the yellow triangles cause one hit with the name 3. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- draw a triangle with vertices at (x1, y1), (x2, y2) and (x3, y3) at z units -- away from the origin. drawTriangle :: Vertex2 GLfloat -> Vertex2 GLfloat -> Vertex2 GLfloat -> GLfloat -> IO () drawTriangle (Vertex2 x1 y1) (Vertex2 x2 y2) (Vertex2 x3 y3) z = do renderPrimitive Triangles $ mapM_ vertex [ Vertex3 x1 y1 z, Vertex3 x2 y2 z, Vertex3 x3 y3 z] -- draw a rectangular box with these outer x, y, and z values drawViewVolume :: Vertex3 GLfloat -> Vertex3 GLfloat -> IO () drawViewVolume (Vertex3 x1 y1 z1) (Vertex3 x2 y2 z2) = do -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 1 1 1) renderPrimitive LineLoop $ mapM_ vertex [ Vertex3 x1 y1 (-z1), Vertex3 x2 y1 (-z1), Vertex3 x2 y2 (-z1), Vertex3 x1 y2 (-z1)] renderPrimitive LineLoop $ mapM_ vertex [ Vertex3 x1 y1 (-z2), Vertex3 x2 y1 (-z2), Vertex3 x2 y2 (-z2), Vertex3 x1 y2 (-z2)] renderPrimitive Lines $ mapM_ vertex [ -- 4 lines Vertex3 x1 y1 (-z1), Vertex3 x1 y1 (-z2), Vertex3 x1 y2 (-z1), Vertex3 x1 y2 (-z2), Vertex3 x2 y1 (-z1), Vertex3 x2 y1 (-z2), Vertex3 x2 y2 (-z1), Vertex3 x2 y2 (-z2)] -- drawScene draws 4 triangles and a wire frame which represents the viewing -- volume. drawScene :: IO () drawScene = do matrixMode $= Projection loadIdentity perspective 40 (4/3) 1 100 matrixMode $= Modelview 0 loadIdentity lookAt (Vertex3 7.5 7.5 12.5) (Vertex3 2.5 2.5 (-5)) (Vector3 0 1 0) -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 0 1 0) -- green triangle drawTriangle (Vertex2 2 2) (Vertex2 3 2) (Vertex2 2.5 3) (-5) color3f (Color3 1 0 0) -- red triangle drawTriangle (Vertex2 2 7) (Vertex2 3 7) (Vertex2 2.5 8) (-5) color3f (Color3 1 1 0) -- yellow triangles drawTriangle (Vertex2 2 2) (Vertex2 3 2) (Vertex2 2.5 3) (-1) drawTriangle (Vertex2 2 2) (Vertex2 3 2) (Vertex2 2.5 3) (-9) drawViewVolume (Vertex3 0 0 0) (Vertex3 5 5 10) processHits :: Maybe [HitRecord] -> IO () processHits Nothing = putStrLn "selection buffer overflow" processHits (Just hitRecords) = do putStrLn ("hits = " ++ show (length hitRecords)) mapM_ (\(HitRecord z1 z2 names) -> do putStrLn (" number of names for hit = " ++ show (length names)) putStr (" z1 is " ++ show z1) putStrLn ("; z2 is " ++ show z2) putStr " the name is" sequence_ [ putStr (" " ++ show n) | Name n <- names ] putChar '\n') hitRecords -- selectObjects "draws" the triangles in selection mode, assigning names for -- the triangles. Note that the third and fourth triangles share one name, so -- that if either or both triangles intersects the viewing/clipping volume, -- only one hit will be registered. bufSize :: GLsizei bufSize = 512 selectObjects :: IO () selectObjects = do (_, maybeHitRecords) <- getHitRecords bufSize $ do withName (Name 0) $ do preservingMatrix $ do matrixMode $= Projection loadIdentity ortho 0 5 0 5 0 10 matrixMode $= Modelview 0 loadIdentity loadName (Name 1) drawTriangle (Vertex2 2 2) (Vertex2 3 2) (Vertex2 2.5 3) (-5) loadName (Name 2) drawTriangle (Vertex2 2 7) (Vertex2 3 7) (Vertex2 2.5 8) (-5) loadName (Name 3) drawTriangle (Vertex2 2 2) (Vertex2 3 2) (Vertex2 2.5 3) (-1) drawTriangle (Vertex2 2 2) (Vertex2 3 2) (Vertex2 2.5 3) (-9) flush processHits maybeHitRecords myInit :: IO () myInit = do depthFunc $= Just Less shadeModel $= Flat display :: DisplayCallback display = do clearColor $= Color4 0 0 0 0 clear [ ColorBuffer, DepthBuffer ] drawScene selectObjects flush keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 200 200 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Scene.hs0000644000000000000000000000446712121453250015356 0ustar0000000000000000{- Scene.hs (adapted from scene.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates the use of the GL lighting model. Objects are drawn using a grey material characteristic. A single light source illuminates the objects. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Initialize material property and light source. myInit :: IO () myInit = do ambient (Light 0) $= Color4 0 0 0 1 diffuse (Light 0) $= Color4 1 1 1 1 specular (Light 0) $= Color4 1 1 1 1 -- light position is NOT default value position (Light 0) $= Vertex4 1 1 1 0 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do rotate (20 :: GLfloat) (Vector3 1 0 0) preservingMatrix $ do translate (Vector3 (-0.75) 0.5 (0 :: GLfloat)) rotate (90 :: GLfloat) (Vector3 1 0 0) renderObject Solid (Torus 0.275 0.85 15 15) preservingMatrix $ do translate (Vector3 (-0.75) (-0.5) (0 :: GLfloat)) rotate (270 :: GLfloat) (Vector3 1 0 0) renderObject Solid (Cone 1 2 15 15) preservingMatrix $ do translate (Vector3 0.75 0 (-1 :: GLfloat)) renderObject Solid (Sphere' 1 15 15) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-2.5) 2.5 (-2.5 * hf/wf) (2.5 * hf/wf) (-10) 10 else ortho (-2.5 * wf/hf) (2.5 * wf/hf) (-2.5) 2.5 (-10) 10 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 createWindow progName myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Robot.hs0000644000000000000000000000543612121453250015403 0ustar0000000000000000{- Robot.hs (adapted from robot.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program shows how to composite modeling transformations to draw translated and rotated hierarchical models. Interaction: pressing the s and e keys (shoulder and elbow) alters the rotation of the robot arm. -} import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { shoulder, elbow :: IORef GLint } makeState :: IO State makeState = do s <- newIORef 0 e <- newIORef 0 return $ State { shoulder = s, elbow = e } myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat display :: State -> DisplayCallback display state = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let translatef = translate :: Vector3 GLfloat -> IO () scalef = scale :: GLfloat -> GLfloat -> GLfloat -> IO () preservingMatrix $ do translatef (Vector3 (-1) 0 0) s <- get (shoulder state) rotate (fromIntegral s :: GLfloat) (Vector3 0 0 1) translatef (Vector3 1 0 0) preservingMatrix $ do scalef 2 0.4 1 renderObject Wireframe (Cube 1) translatef (Vector3 1 0 0) e <- get (elbow state) rotate (fromIntegral e :: GLfloat) (Vector3 0 0 1) translatef (Vector3 1 0 0) preservingMatrix $ do scalef 2 0.4 1 renderObject Wireframe (Cube 1) swapBuffers reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 65 (fromIntegral w / fromIntegral h) 1 20 matrixMode $= Modelview 0 loadIdentity -- resolve overloading, not needed in "real" programs let translatef = translate :: Vector3 GLfloat -> IO () translatef (Vector3 0 0 (-5)) keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case c of 's' -> update shoulder 5 'S' -> update shoulder (-5) 'e' -> update elbow 5 'E' -> update elbow (-5) '\27' -> exitWith ExitSuccess _ -> return () where update joint inc = do joint state $~ ((`mod` 360) . (+ inc)) postRedisplay Nothing keyboard _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ DoubleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState myInit displayCallback $= display state reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) mainLoop GLUT-2.4.0.0/examples/RedBook/ReadImage.hs0000644000000000000000000000472212121453250016131 0ustar0000000000000000{- ReadImage.hs (adapted from readImage.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Support for reading a file of raw RGB data: 4 bytes big-endian width 4 bytes big-endian height width * height RGB byte triples -} module ReadImage ( readImage ) where import Data.Word ( Word8, Word32 ) import Control.Exception ( bracket ) import Control.Monad ( when ) import System.IO ( Handle, IOMode(ReadMode), openBinaryFile, hGetBuf, hClose ) import System.IO.Error ( mkIOError, eofErrorType ) import Foreign ( Ptr, alloca, mallocBytes, Storable(..) ) import Graphics.UI.GLUT -- This is probably overkill, but anyway... newtype Word32BigEndian = Word32BigEndian Word32 word32BigEndianToGLsizei :: Word32BigEndian -> GLsizei word32BigEndianToGLsizei (Word32BigEndian x) = fromIntegral x instance Storable Word32BigEndian where sizeOf ~(Word32BigEndian x) = sizeOf x alignment ~(Word32BigEndian x) = alignment x peek ptr = do let numBytes = sizeOf (undefined :: Word32BigEndian) bytes <- mapM (peekByteOff ptr) [ 0 .. numBytes - 1 ] :: IO [Word8] let value = foldl (\val byte -> val * 256 + fromIntegral byte) 0 bytes return $ Word32BigEndian value poke = error "" -- This is the reason for all this stuff above... readGLsizei :: Handle -> IO GLsizei readGLsizei handle = alloca $ \buf -> do hGetBufFully handle buf (sizeOf (undefined :: Word32BigEndian)) fmap word32BigEndianToGLsizei $ peek buf -- A handy variant of hGetBuf with additional error checking hGetBufFully :: Handle -> Ptr a -> Int -> IO () hGetBufFully handle ptr numBytes = do bytesRead <- hGetBuf handle ptr numBytes when (bytesRead /= numBytes) $ ioError $ mkIOError eofErrorType "hGetBufFully" (Just handle) Nothing -- Closing a file is nice, even when an error occurs during reading. withBinaryFile :: FilePath -> (Handle -> IO a) -> IO a withBinaryFile filePath = bracket (openBinaryFile filePath ReadMode) hClose readImage :: FilePath -> IO (Size, PixelData a) readImage filePath = withBinaryFile filePath $ \handle -> do width <- readGLsizei handle height <- readGLsizei handle let numBytes = fromIntegral (3 * width * height) buf <- mallocBytes numBytes hGetBufFully handle buf numBytes return (Size width height, PixelData RGB UnsignedByte buf) GLUT-2.4.0.0/examples/RedBook/Quadric.hs0000644000000000000000000000671012121453250015702 0ustar0000000000000000{- Quadric.hs (adapted from quadric.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates the use of the renderQuadric routine. Quadric objects are created with some quadric properties and errors are reported. Note that the cylinder has no top or bottom and the circle has a hole in it. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO (DisplayList, DisplayList, DisplayList, DisplayList) myInit = do clearColor $= Color4 0 0 0 0 materialAmbient Front $= Color4 0.5 0.5 0.5 1 materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 50 position (Light 0) $= Vertex4 1 1 1 0 lightModelAmbient $= Color4 0.5 0.5 0.5 1 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less -- Create 4 display lists, each with a different quadric object. -- Different drawing styles and surface normal specifications -- are demonstrated. -- smooth shaded dl1 <- newQuadricDL (Just Smooth) FillStyle (Sphere 0.75 15 10) -- flat shaded dl2 <- newQuadricDL (Just Flat) FillStyle (Cylinder 0.5 0.3 1 15 5) -- all polygons wireframe dl3 <- newQuadricDL Nothing LineStyle (Disk 0.25 1 20 4) -- boundary only dl4 <- newQuadricDL Nothing SilhouetteStyle (PartialDisk 0 1 20 4 0 225) return (dl1, dl2, dl3, dl4) newQuadricDL :: QuadricNormal -> QuadricDrawStyle -> QuadricPrimitive -> IO DisplayList newQuadricDL n s p = defineNewList Compile $ do renderQuadric (QuadricStyle n NoTextureCoordinates Outside s) p reportErrors display :: (DisplayList, DisplayList, DisplayList, DisplayList) -> DisplayCallback display (dl1, dl2, dl3, dl4) = do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do -- resolve overloading, not needed in "real" programs let translatef = translate :: Vector3 GLfloat -> IO () rotatef = rotate :: GLfloat -> Vector3 GLfloat -> IO () color3f = color :: Color3 GLfloat -> IO () lighting $= Enabled shadeModel $= Smooth translatef (Vector3 (-1) (-1) 0) callList dl1 shadeModel $= Flat translatef (Vector3 0 2 0) preservingMatrix $ do rotatef 300 (Vector3 1 0 0) callList dl2 lighting $= Disabled color3f (Color3 0 1 1) translatef (Vector3 2 (-2) 0) callList dl3 color3f (Color3 1 1 0) translatef (Vector3 0 2 0) callList dl4 flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-2.5) 2.5 (-2.5*hf/wf) (2.5*hf/wf) (-10) 10 else ortho (-2.5*wf/hf) (2.5*wf/hf) (-2.5) 2.5 (-10) 10 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName displayLists <- myInit displayCallback $= display displayLists reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Polys.hs0000644000000000000000000000560112121453250015416 0ustar0000000000000000{- Polys.hs (adapted from polys.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates polygon stippling. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT fly :: IO GLpolygonstipple fly = newPolygonStipple [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x01, 0xC0, 0x06, 0xC0, 0x03, 0x60, 0x04, 0x60, 0x06, 0x20, 0x04, 0x30, 0x0C, 0x20, 0x04, 0x18, 0x18, 0x20, 0x04, 0x0C, 0x30, 0x20, 0x04, 0x06, 0x60, 0x20, 0x44, 0x03, 0xC0, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x44, 0x01, 0x80, 0x22, 0x66, 0x01, 0x80, 0x66, 0x33, 0x01, 0x80, 0xCC, 0x19, 0x81, 0x81, 0x98, 0x0C, 0xC1, 0x83, 0x30, 0x07, 0xe1, 0x87, 0xe0, 0x03, 0x3f, 0xfc, 0xc0, 0x03, 0x31, 0x8c, 0xc0, 0x03, 0x33, 0xcc, 0xc0, 0x06, 0x64, 0x26, 0x60, 0x0c, 0xcc, 0x33, 0x30, 0x18, 0xcc, 0x33, 0x18, 0x10, 0xc4, 0x23, 0x08, 0x10, 0x63, 0xC6, 0x08, 0x10, 0x30, 0x0c, 0x08, 0x10, 0x18, 0x18, 0x08, 0x10, 0x00, 0x00, 0x08] halftone :: IO GLpolygonstipple halftone = newPolygonStipple . take 128 . cycle $ [ 0xAA, 0xAA, 0xAA, 0xAA, 0x55, 0x55, 0x55, 0x55] display :: (GLpolygonstipple, GLpolygonstipple) -> DisplayCallback display (flyStipple, halftoneStipple) = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () rectf = rect :: Vertex2 GLfloat -> Vertex2 GLfloat -> IO () color3f (Color3 1 1 1) -- draw one solid, unstippled rectangle, -- then two stippled rectangles rectf (Vertex2 25 25) (Vertex2 125 125) polygonStipple $= Just flyStipple rectf (Vertex2 125 25) (Vertex2 225 125) polygonStipple $= Just halftoneStipple rectf (Vertex2 225 25) (Vertex2 325 125) polygonStipple $= (Nothing :: Maybe GLpolygonstipple) flush myInit :: IO (GLpolygonstipple, GLpolygonstipple) myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat flyStipple <- fly halftoneStipple <- halftone return (flyStipple, halftoneStipple) reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0.0 (fromIntegral w) 0.0 (fromIntegral h) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 350 150 createWindow progName stipples <- myInit displayCallback $= display stipples reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/PolyOff.hs0000644000000000000000000001163012121453250015665 0ustar0000000000000000{- PolyOff.hs (adapted from polyoff.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates polygon offset to draw a shaded polygon and its wireframe counterpart without ugly visual artifacts ("stitching"). -} import Control.Monad ( when ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess), exitFailure ) import Graphics.UI.GLUT data State = State { spinX, spinY :: IORef GLfloat, tDist :: IORef GLfloat, polyFactor :: IORef GLfloat, polyUnits :: IORef GLfloat } makeState :: IO State makeState = do x <- newIORef 0 y <- newIORef 0 t <- newIORef 0 f <- newIORef 1 u <- newIORef 1 return $ State { spinX = x, spinY = y, tDist = t, polyFactor = f, polyUnits = u } -- display draws two spheres, one with a gray, diffuse material, the other -- sphere with a magenta material with a specular highlight. display :: State -> DisplayList -> DisplayCallback display state sphereList = do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do t <- get (tDist state) translate (Vector3 0 0 t) x <- get (spinX state) rotate x (Vector3 1 0 0) y <- get (spinY state) rotate y (Vector3 0 1 0) materialAmbientAndDiffuse Front $= Color4 0.8 0.8 0.8 1 materialSpecular Front $= Color4 0 0 0 1 materialShininess Front $= 0 lighting $= Enabled light (Light 0) $= Enabled polygonOffsetFill $= Enabled f <- get (polyFactor state) u <- get (polyUnits state) polygonOffset $= (f, u) callList sphereList polygonOffsetFill $= Disabled lighting $= Disabled light (Light 0) $= Disabled color (Color3 1 1 (1 :: GLfloat)) polygonMode $= (Line, Line) callList sphereList polygonMode $= (Fill, Fill) flush -- specify initial properties -- create display list with sphere -- initialize lighting and depth buffer gfxinit :: IO DisplayList gfxinit = do clearColor $= Color4 0 0 0 1 sphereList <- defineNewList Compile $ renderObject Solid (Sphere' 1 20 12) depthFunc $= Just Less ambient (Light 0) $= Color4 0 0 0 1 diffuse (Light 0) $= Color4 1 1 1 1 specular (Light 0) $= Color4 1 1 1 1 position (Light 0) $= Vertex4 1 1 1 0 lightModelAmbient $= Color4 0.2 0.2 0.2 1 return sphereList reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 45 (fromIntegral w / fromIntegral h) 1 10 matrixMode $= Modelview 0 loadIdentity lookAt (Vertex3 0 0 5) (Vertex3 0 0 0) (Vector3 0 1 0) incSpin :: IORef GLfloat -> IO () incSpin spinRef = do let wrap n s = if s > n then s - n else s spinRef $~ (wrap 360 . (+ 5)) postRedisplay Nothing incDist :: State -> GLfloat -> IO () incDist state inc = do newDist <- fmap (+ inc) $ get (tDist state) when (-5 <= newDist && newDist <= 4) $ do tDist state $= newDist postRedisplay Nothing incPoly :: String -> IORef GLfloat -> GLfloat -> IO () incPoly name polyRef inc = do polyRef $~ (+ inc) p <- get polyRef putStrLn (name ++ " is " ++ show p) postRedisplay Nothing keyboardMouse :: State -> KeyboardMouseCallback keyboardMouse state k Down _ _ = case k of (MouseButton LeftButton) -> incSpin (spinX state) (MouseButton MiddleButton) -> incSpin (spinY state) (MouseButton RightButton) -> exitWith ExitSuccess (Char 't') -> incDist state 0.5 (Char 'T') -> incDist state (-0.5) (Char 'F') -> incPoly "polyFactor" (polyFactor state) 0.1 (Char 'f') -> incPoly "polyFactor" (polyFactor state) (-0.1) (Char 'U') -> incPoly "polyUnits" (polyUnits state) 1 (Char 'u') -> incPoly "polyUnits" (polyUnits state) (-1) _ -> return () keyboardMouse _ _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] createWindow progName -- we have to do this *after* createWindow, otherwise we have no OpenGL context version <- get (majorMinor glVersion) when (version == (1,0)) $ do putStrLn "This program demonstrates a feature which is not in OpenGL Version 1.0." putStrLn "If your implementation of OpenGL Version 1.0 has the right extensions," putStrLn "you may be able to modify this program to make it run." exitFailure state <- makeState sphereList <- gfxinit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboardMouse state) displayCallback $= display state sphereList mainLoop GLUT-2.4.0.0/examples/RedBook/PointP.hs0000644000000000000000000001156512121453250015527 0ustar0000000000000000{- PointP.hs (adapted from pointp.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates point parameters and their effect on point primitives. 250 points are randomly generated within a 10 by 10 by 40 region, centered at the origin. In some modes (including the default), points that are closer to the viewer will appear larger. Pressing the 'c', 'l', and 'q' keys switch the point parameters attenuation mode to constant, linear, or quadratic, respectively. Pressing the 'f' and 'b' keys move the viewer forward and backwards. In either linear or quadratic attenuation mode, the distance from the viewer to the point will change the size of the point primitive. Pressing the '+' and '-' keys will change the current point size. In this program, the point size is bounded, so it will not get less than 2, nor greater than the maximum returned by pointSizeRange. -} import Control.Monad ( when, unless ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess), exitFailure ) import System.Random ( randomRIO ) import Graphics.UI.GLUT type Attenuation = (GLfloat,GLfloat,GLfloat) constant, linear, quadratic :: Attenuation constant = (1, 0, 0 ) linear = (0, 0.12, 0 ) quadratic = (0, 0, 0.01) data State = State { distance :: IORef GLfloat } makeState :: IO State makeState = do d <- newIORef (-10) return $ State { distance = d } -- CFloat has no Random instance, so we go via Float randomGLfloat :: (GLfloat, GLfloat) -> IO GLfloat randomGLfloat = fmap floatToGLfloat . randomRIO . fmapPair glFloatToFloat where fmapPair f (x, y) = (f x, f y) floatToGLfloat = realToFrac :: Float -> GLfloat glFloatToFloat = realToFrac :: GLfloat -> Float randomColor :: IO (Color3 GLfloat) randomColor = do g <- randomGLfloat (0.5, 1) b <- randomGLfloat (0, 1) return $ Color3 1 g b randomVertex :: IO (Vertex3 GLfloat) randomVertex = do x <- randomGLfloat (-5, 5) y <- randomGLfloat (-5, 5) z <- randomGLfloat (-5, -45) return $ Vertex3 x y z myInit :: IO DisplayList myInit = do pointList <- defineNewList Compile $ renderPrimitive Points $ sequence_ $ replicate 250 $ do color =<< randomColor vertex =<< randomVertex depthFunc $= Just Less pointSmooth $= Enabled blend $= Enabled blendFunc $= (SrcAlpha, OneMinusSrcAlpha) pointSize $= 7 pointDistanceAttenuation $= linear pointFadeThresholdSize $= 2 return pointList display :: State -> DisplayList -> DisplayCallback display state pointList = do clear [ ColorBuffer, DepthBuffer ] d <- get (distance state) loadIdentity translate (Vector3 0 0 d) callList pointList swapBuffers reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 35 1 0.25 200 matrixMode $= Modelview 0 setPointDistanceAttenuation :: Attenuation -> IO () setPointDistanceAttenuation att = do pointDistanceAttenuation $= att postRedisplay Nothing incDistance :: State -> GLfloat -> IO () incDistance state inc = do distance state $~ (+ inc) postRedisplay Nothing incPointSize :: GLfloat -> IO () incPointSize inc = do newPointSize <- fmap (+ inc) $ get pointSize (_,maxPointSize) <- get pointSizeRange when (2 <= newPointSize && newPointSize <= maxPointSize) $ do pointSize $= newPointSize postRedisplay Nothing keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case c of 'c' -> setPointDistanceAttenuation constant 'l' -> setPointDistanceAttenuation linear 'q' -> setPointDistanceAttenuation quadratic 'b' -> incDistance state (-0.5) 'f' -> incDistance state 0.5 '+' -> incPointSize 1 '-' -> incPointSize (-1) '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ RGBMode, DoubleBuffered, WithDepthBuffer, Multisampling ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName -- We have to do this *after* createWindow, otherwise we have no OpenGL -- context. Note that the original C example simply tests for OpenGL 1.4 at -- compile time, we do a runtime check for the needed extension. extensions <- get glExtensions unless ("GL_ARB_point_parameters" `elem` extensions) $ do putStrLn "Sorry, this demo requires the GL_ARB_point_parameters extension." exitFailure state <- makeState pointList <- myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) displayCallback $= display state pointList mainLoop GLUT-2.4.0.0/examples/RedBook/Planet.hs0000644000000000000000000000502712121453250015535 0ustar0000000000000000{- Planet.hs (adapted from planet.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program shows how to composite modeling transformations to draw translated and rotated models. Interaction: pressing the d and y keys (day and year) alters the rotation of the planet around the sun. -} import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { year, day :: IORef GLint } makeState :: IO State makeState = do y <- newIORef 0 d <- newIORef 0 return $ State { year = y, day = d } myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat display :: State -> DisplayCallback display state = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () translatef = translate :: Vector3 GLfloat -> IO () color3f (Color3 1 1 1) preservingMatrix $ do renderObject Wireframe (Sphere' 1 20 16) -- draw sun y <- get (year state) rotate (fromIntegral y :: GLfloat) (Vector3 0 1 0) translatef (Vector3 2 0 0) d <- get (day state) rotate (fromIntegral d :: GLfloat) (Vector3 0 1 0) renderObject Wireframe (Sphere' 0.2 10 8) -- draw smaller planet swapBuffers reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 60 (fromIntegral w / fromIntegral h) 1 20 matrixMode $= Modelview 0 loadIdentity lookAt (Vertex3 0 0 5) (Vertex3 0 0 0) (Vector3 0 1 0) keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case c of 'd' -> update day 10 'D' -> update day (-10) 'y' -> update year 10 'Y' -> update year (-10) '\27' -> exitWith ExitSuccess _ -> return () where update angle inc = do angle state $~ ((`mod` 360) . (+ inc)) postRedisplay Nothing keyboard _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ DoubleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState myInit displayCallback $= display state reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) mainLoop GLUT-2.4.0.0/examples/RedBook/PickSquare.hs0000644000000000000000000001046212121453250016360 0ustar0000000000000000{- PickSquare.hs (adapted from picksquare.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Use of multiple names and picking are demonstrated. A 3x3 grid of squares is drawn. When the left mouse button is pressed, all squares under the cursor position have their color changed. -} import Data.Array ( Array, listArray, (!) ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT type Board = Array (Int,Int) (IORef Int) data State = State { board :: Board } makeState :: IO State makeState = do refs <- sequence . replicate 9 . newIORef $ 0 return $ State { board = listArray ((0,0),(2,2)) refs } -- Clear color value for every square on the board myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 -- The nine squares are drawn. Each square is given two names: one for the row -- and the other for the column on the grid. The color of each square is -- determined by its position on the grid, and the value in the board array. -- Note: In contrast to the the original example, we always give names to -- squares, regardless of the render mode. This simplifies the code a bit and -- is even suggested by the Red Book. drawSquares :: State -> IO () drawSquares state = flip mapM_ [ 0 .. 2 ] $ \i -> do loadName (Name (fromIntegral i)) flip mapM_ [ 0 .. 2 ] $ \j -> withName (Name (fromIntegral j)) $ do val <- get (board state ! (i,j)) -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 (fromIntegral i / 3.0) (fromIntegral j / 3.0) (fromIntegral val / 3.0)) let vertex2i :: Int -> Int -> Vertex2 GLint vertex2i x y = Vertex2 (fromIntegral x) (fromIntegral y) rect (vertex2i i j) (vertex2i (i + 1) (j + 1)) -- processHits prints the hit records and updates the board array. processHits :: Maybe[HitRecord] -> State -> IO () processHits Nothing _ = putStrLn "selection buffer overflow" processHits (Just hitRecords) state = do putStrLn ("hits = " ++ show (length hitRecords)) mapM_ (\(HitRecord z1 z2 names) -> do putStrLn (" number of names for this hit = " ++ show (length names)) putStr (" z1 is " ++ show z1) putStrLn ("; z2 is " ++ show z2) putStr " names are" sequence_ [ putStr (" " ++ show n) | Name n <- names ] putChar '\n' let [i, j] = [ fromIntegral n | Name n <- names ] (board state ! (i,j)) $~ (\x -> (x + 1) `mod` 3)) hitRecords -- pickSquares sets up selection mode, name stack, and projection matrix for -- picking. Then the objects are drawn. bufSize :: GLsizei bufSize = 512 pickSquares :: State -> KeyboardMouseCallback pickSquares state (MouseButton LeftButton) Down _ (Position x y) = do vp@(_, (Size _ height)) <- get viewport (_, maybeHitRecords) <- getHitRecords bufSize $ withName (Name 0) $ do matrixMode $= Projection preservingMatrix $ do loadIdentity -- create 5x5 pixel picking region near cursor location pickMatrix (fromIntegral x, fromIntegral height - fromIntegral y) (5, 5) vp ortho2D 0 3 0 3 drawSquares state flush processHits maybeHitRecords state postRedisplay Nothing pickSquares _ (Char '\27') Down _ _ = exitWith ExitSuccess pickSquares _ _ _ _ _ = return () display :: State -> DisplayCallback display state = do clear [ ColorBuffer ] drawSquares state flush reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 3 0 3 matrixMode $= Modelview 0 loadIdentity -- Main Loop main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 100 100 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState myInit reshapeCallback $= Just reshape displayCallback $= display state keyboardMouseCallback $= Just (pickSquares state) mainLoop GLUT-2.4.0.0/examples/RedBook/PickDepth.hs0000644000000000000000000001060612121453250016164 0ustar0000000000000000{- PickDepth.hs (adapted from pickdepth.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Picking is demonstrated in this program. In rendering mode, three overlapping rectangles are drawn. When the left mouse button is pressed, selection mode is entered with the picking matrix. Rectangles which are drawn under the cursor position are "picked." Pay special attention to the depth value range, which is returned. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 depthFunc $= Just Less shadeModel $= Flat depthRange $= (0, 1) -- The default z mapping -- The nine squares are drawn. Each square is given two names: one for the row -- and the other for the column on the grid. The color of each square is -- determined by its position on the grid, and the value in the board array. -- Note: In contrast to the the original example, we always give names to -- squares, regardless of the render mode. This simplifies the code a bit and -- is even suggested by the Red Book. -- The three rectangles are drawn, each with a different name. Note that each -- rectangle is drawn with a different z value. Note: In contrast to the the -- original example, we always give names to squares, regardless of the render -- mode. This simplifies the code a bit and is even suggested by the Red Book. drawRects :: IO () drawRects = do -- resolve overloading, not needed in "real" programs let color3 = color :: Color3 GLfloat -> IO () vertex3 = vertex :: Vertex3 GLint -> IO () loadName (Name 1) renderPrimitive Quads $ do color3 (Color3 1.0 1.0 0.0) vertex3 (Vertex3 2 0 0) vertex3 (Vertex3 2 6 0) vertex3 (Vertex3 6 6 0) vertex3 (Vertex3 6 0 0) loadName (Name 2) renderPrimitive Quads $ do color3 (Color3 0.0 1.0 1.0) vertex3 (Vertex3 3 2 (-1)) vertex3 (Vertex3 3 8 (-1)) vertex3 (Vertex3 8 8 (-1)) vertex3 (Vertex3 8 2 (-1)) loadName (Name 3) renderPrimitive Quads $ do color3 (Color3 1.0 0.0 1.0) vertex3 (Vertex3 0 2 (-2)) vertex3 (Vertex3 0 7 (-2)) vertex3 (Vertex3 5 7 (-2)) vertex3 (Vertex3 5 2 (-2)) -- processHits prints the hit records. processHits :: Maybe[HitRecord] -> IO () processHits Nothing = putStrLn "selection buffer overflow" processHits (Just hitRecords) = do putStrLn ("hits = " ++ show (length hitRecords)) flip mapM_ hitRecords $ \(HitRecord z1 z2 names) -> do putStrLn (" number of names for hit = " ++ show (length names)) putStr (" z1 is " ++ show z1) putStrLn ("; z2 is " ++ show z2) putStr " the name is" sequence_ [ putStr (" " ++ show n) | Name n <- names ] putChar '\n' -- pickRects() sets up selection mode, name stack, and projection matrix for -- picking. Then the objects are drawn. bufSize :: GLsizei bufSize = 512 pickRects :: KeyboardMouseCallback pickRects (MouseButton LeftButton) Down _ (Position x y) = do vp@(_, (Size _ height)) <- get viewport (_, maybeHitRecords) <- getHitRecords bufSize $ withName (Name 0) $ do matrixMode $= Projection preservingMatrix $ do loadIdentity -- create 5x5 pixel picking region near cursor location pickMatrix (fromIntegral x, fromIntegral height - fromIntegral y) (5, 5) vp ortho 0 8 0 8 (-0.5) 2.5 drawRects flush processHits maybeHitRecords postRedisplay Nothing pickRects (Char '\27') Down _ _ = exitWith ExitSuccess pickRects _ _ _ _ = return () display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] drawRects flush reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho 0 8 0 8 (-0.5) 2.5 matrixMode $= Modelview 0 loadIdentity -- Main Loop main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 200 200 initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just pickRects mainLoop GLUT-2.4.0.0/examples/RedBook/MVArray.hs0000644000000000000000000000555012121453250015634 0ustar0000000000000000{- MVArray.hs (adapted from mvarray.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates multiple vertex arrays, specifically the OpenGL routine multiDrawElements. -} import Control.Monad ( unless ) import Data.List ( genericLength ) import Foreign ( Storable, Ptr, newArray ) import System.Exit ( exitFailure, exitWith, ExitCode(..) ) import Graphics.UI.GLUT data MultiDrawInfo a = MultiDrawInfo (Ptr GLsizei) (Ptr (Ptr a)) GLsizei makeMultiDrawInfo :: Storable a => [[a]] -> IO (MultiDrawInfo a) makeMultiDrawInfo indicesLists = do count <- newArray $ map genericLength indicesLists indices <- newArray =<< mapM newArray indicesLists return $ MultiDrawInfo count indices (genericLength indicesLists) setupPointer :: IO () setupPointer = do clientState VertexArray $= Enabled vertices <- newArray ([ Vertex2 25 25, Vertex2 75 75, Vertex2 100 125, Vertex2 150 75, Vertex2 200 175, Vertex2 250 150, Vertex2 300 125, Vertex2 100 200, Vertex2 150 250, Vertex2 200 225, Vertex2 250 300, Vertex2 300 250 ] :: [Vertex2 GLint]) arrayPointer VertexArray $= VertexArrayDescriptor 2 Int 0 vertices myInit :: IO (MultiDrawInfo GLubyte) myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Smooth setupPointer makeMultiDrawInfo [ [ 0, 1, 2, 3, 4, 5, 6 ], [ 1, 7, 8, 9, 10, 11 ] ] display :: MultiDrawInfo GLubyte -> DisplayCallback display (MultiDrawInfo count indices primCount) = do clear [ ColorBuffer ] color (Color3 1 1 1 :: Color3 GLfloat) multiDrawElements LineStrip count UnsignedByte indices primCount flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 (fromIntegral w) 0 (fromIntegral h) -- the following line is not in the original example, but it's good style... matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 350 350 initialWindowPosition $= Position 100 100 createWindow progName -- we have to do this *after* createWindow, otherwise we have no OpenGL context exts <- get glExtensions unless ("GL_EXT_multi_draw_arrays" `elem` exts) $ do putStrLn "Sorry, this demo requires the GL_EXT_multi_draw_arrays extension." exitFailure multiDrawInfo <- myInit displayCallback $= display multiDrawInfo reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/MultiTex.hs0000644000000000000000000001025012121453250016057 0ustar0000000000000000{- MultiTex.hs (adapted from multitex.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( unless ) import Foreign ( withArray ) import System.Exit ( exitFailure, exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT specifyTexture :: TextureSize2D -> (GLubyte -> GLubyte -> Color4 GLubyte) -> IO () specifyTexture size@(TextureSize2D w h) f = withArray [ f i j | i <- [ 0 .. fromIntegral w - 1 ], j <- [ 0 .. fromIntegral h - 1] ] $ texImage2D Nothing NoProxy 0 RGBA' size 0 . PixelData RGBA UnsignedByte myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat depthFunc $= Just Less rowAlignment Unpack $= 1 [texName0, texName1] <- genObjectNames 2 textureBinding Texture2D $= Just texName0 -- Note: We use much brighter colors than in the original example where -- everything was almost black. specifyTexture (TextureSize2D 32 32) (\i j -> Color4 (i*8) (j*8) ((i*j) `div` 4) 255) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) textureWrapMode Texture2D S $= (Repeated, Repeat) textureWrapMode Texture2D T $= (Repeated, Repeat) textureBinding Texture2D $= Just texName1 specifyTexture (TextureSize2D 16 16) (\i j -> Color4 255 (i*16) (j*16) 255) textureFilter Texture2D $= ((Linear', Nothing), Linear') textureWrapMode Texture2D S $= (Repeated, ClampToEdge) textureWrapMode Texture2D T $= (Repeated, ClampToEdge) -- Use the two texture objects to define two texture units -- for use in multitexturing activeTexture $= TextureUnit 0 texture Texture2D $= Enabled textureBinding Texture2D $= Just texName0 textureFunction $= Replace matrixMode $= Texture loadIdentity translate (Vector3 0.5 0.5 (0 :: GLfloat)) rotate (45 :: GLfloat) (Vector3 0 0 1) translate (Vector3 (-0.5) (-0.5) (0 :: GLfloat)) matrixMode $= Modelview 0 activeTexture $= TextureUnit 1 texture Texture2D $= Enabled textureBinding Texture2D $= Just texName1 textureFunction $= Modulate display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] -- resolve overloading, not needed in "real" programs let multiTexCoord2f = multiTexCoord :: TextureUnit -> TexCoord2 GLfloat -> IO () vertex2f = vertex :: Vertex2 GLfloat -> IO () renderPrimitive Triangles $ do multiTexCoord2f (TextureUnit 0) (TexCoord2 0 0) multiTexCoord2f (TextureUnit 1) (TexCoord2 1 0) vertex2f (Vertex2 0 0) multiTexCoord2f (TextureUnit 0) (TexCoord2 0.5 1) multiTexCoord2f (TextureUnit 1) (TexCoord2 0.5 0) vertex2f (Vertex2 50 100) multiTexCoord2f (TextureUnit 0) (TexCoord2 1 0) multiTexCoord2f (TextureUnit 1) (TexCoord2 1 1) vertex2f (Vertex2 100 0) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho2D 0 100 0 (100*hf/wf) else ortho2D 0 (100*wf/hf) 0 100 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName -- we have to do this *after* createWindow, otherwise we have no OpenGL context version <- get (majorMinor glVersion) unless (version >= (1, 3)) $ do exts <- get glExtensions unless ("GL_ARB_multitexture" `elem` exts && -- part of 1.3 core "GL_EXT_texture_object" `elem` exts) $ do -- part of 1.1 core putStrLn "Sorry, this demo requires the GL_ARB_multitexture and GL_EXT_texture_object extensions." exitFailure myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Multisamp.hs0000644000000000000000000001130312121453250016257 0ustar0000000000000000{- Multisamp.hs (adapted from multisamp.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws shows how to use multisampling to draw anti-aliased geometric primitives. The same display list, a pinwheel of triangles and lines of varying widths, is rendered twice. Multisampling is enabled when the left side is drawn. Multisampling is disabled when the right side is drawn. Pressing the 'b' key toggles drawing of the checkerboard background. Antialiasing is sometimes easier to see when objects are rendered over a contrasting background. -} import Control.Monad ( when ) import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { bgToggle :: IORef Bool } makeState :: IO State makeState = do b <- newIORef True return $ State { bgToggle = b } data DisplayLists = DisplayLists { pinwheelList, backgroundList :: DisplayList } -- Print out state values related to multisampling. Create display list with -- "pinwheel" of lines and triangles. myInit :: IO DisplayLists myInit = do clearColor $= Color4 0 0 0 0 sb <- get sampleBuffers putStrLn ("number of sample buffers is " ++ show sb) s <- get samples putStrLn ("number of samples is " ++ show s) -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () vertex2f = vertex :: Vertex2 GLfloat -> IO () p <- defineNewList Compile $ do flip mapM_ [ 0 .. 18 ] $ \i -> preservingMatrix $ do rotate (360 * fromIntegral i / 19 :: GLfloat) (Vector3 0 0 1) color3f (Color3 1 1 1) lineWidth $= fromIntegral ((i `mod` 3 :: Int) + 1) renderPrimitive Lines $ do vertex2f (Vertex2 0.25 0.05) vertex2f (Vertex2 0.9 0.2) color3f (Color3 0 1 1) renderPrimitive Triangles $ do vertex2f (Vertex2 0.25 0) vertex2f (Vertex2 0.9 0) vertex2f (Vertex2 0.875 0.1) b <- defineNewList Compile $ do color3f (Color3 1 0.5 0) renderPrimitive Quads $ flip mapM_ [ 0 .. 15 ] $ \i -> flip mapM_ [ 0 .. 15 ] $ \j -> when (((i + j) `mod` 2 :: Int) == 0) $ do let ii = fromIntegral i * 0.25 jj = fromIntegral j * 0.25 vertex2f (Vertex2 (-2.0 + ii) (-2.0 + jj)) vertex2f (Vertex2 (-2.0 + ii) (-1.75 + jj)) vertex2f (Vertex2 (-1.75 + ii) (-1.75 + jj)) vertex2f (Vertex2 (-1.75 + ii) (-2.0 + jj)) return $ DisplayLists { pinwheelList = p, backgroundList = b } -- Draw two sets of primitives, so that you can compare the user of -- multisampling against its absence. -- -- This code enables antialiasing and draws one display list and disables and -- draws the other display list display :: State -> DisplayLists -> DisplayCallback display state displayLists = do clear [ ColorBuffer ] t <- get (bgToggle state) when t $ callList (backgroundList displayLists) -- resolve overloading, not needed in "real" programs let translatef = translate :: Vector3 GLfloat -> IO () multisample $= Enabled preservingMatrix $ do translatef (Vector3 (-1) 0 0) callList (pinwheelList displayLists) multisample $= Disabled preservingMatrix $ do translatef (Vector3 1 0 0) callList (pinwheelList displayLists) swapBuffers reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= 2 * h then ortho2D (-2) 2 (-2*hf/wf) (2*hf/wf) else ortho2D (-2*wf/hf) (2*wf/hf) (-2) 2 matrixMode $= Modelview 0 loadIdentity keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case toLower c of 'b' -> do bgToggle state $~ not; postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ DoubleBuffered, RGBMode, Multisampling ] initialWindowSize $= Size 600 300 createWindow progName state <- makeState displayLists <- myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) displayCallback $= display state displayLists mainLoop GLUT-2.4.0.0/examples/RedBook/MoveLight.hs0000644000000000000000000000537112121453250016212 0ustar0000000000000000{- MoveLight.hs (adapted from movelight.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates when to issue lighting and transformation commands to render a model with a light which is moved by a modeling transformation (rotate or translate). The light position is reset after the modeling transformation is called. The eye position does not change. A sphere is drawn using a grey material characteristic. A single light source illuminates the object. Interaction: pressing the left mouse button alters the modeling transformation (x rotation) by 30 degrees. The scene is then redrawn with the light in a new position. -} import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { spin :: IORef Int } makeState :: IO State makeState = do s <- newIORef 0 return $ State { spin = s } myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Smooth lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less display :: State -> DisplayCallback display state = do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do lookAt (Vertex3 0 0 5) (Vertex3 0 0 0) (Vector3 0 1 0) preservingMatrix $ do s <- get (spin state) rotate (fromIntegral s :: GLdouble) (Vector3 1 0 0) position (Light 0) $= Vertex4 0 0 1.5 1 translate (Vector3 0 0 1.5 :: Vector3 GLdouble) lighting $= Disabled color (Color3 0 1 1 :: Color3 GLfloat) renderObject Wireframe (Cube 0.1) lighting $= Enabled renderObject Solid (Torus 0.275 0.85 8 15) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 40 (fromIntegral w / fromIntegral h) 1 20 matrixMode $= Modelview 0 loadIdentity keyboardMouse :: State -> KeyboardMouseCallback keyboardMouse state (MouseButton LeftButton) Down _ _ = do spin state $~ ((`mod` 360) . (+ 30)) postRedisplay Nothing keyboardMouse _ (Char '\27') Down _ _ = exitWith ExitSuccess keyboardMouse _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState myInit displayCallback $= display state reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboardMouse state) mainLoop GLUT-2.4.0.0/examples/RedBook/Model.hs0000644000000000000000000000451212121453250015350 0ustar0000000000000000{- Model.hs (adapted from model.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates modeling transformations. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat drawTriangle :: IO () drawTriangle = do -- resolve overloading, not needed in "real" programs let vertex2f = vertex :: Vertex2 GLfloat -> IO () renderPrimitive LineLoop $ do vertex2f (Vertex2 0 25 ) vertex2f (Vertex2 25 (-25)) vertex2f (Vertex2 (-25) (-25)) display :: DisplayCallback display = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () translatef = translate :: Vector3 GLfloat -> IO () scalef = scale :: GLfloat -> GLfloat -> GLfloat -> IO () rotatef = rotate :: GLfloat -> Vector3 GLfloat -> IO () color3f (Color3 1 1 1) loadIdentity color3f (Color3 1 1 1) drawTriangle lineStipple $= Just (1, 0xF0F0) loadIdentity translatef (Vector3 (-20) 0 0) drawTriangle lineStipple $= Just (1, 0xF00F) loadIdentity scalef 1.5 0.5 1.0 drawTriangle lineStipple $= Just (1, 0x8888) loadIdentity rotatef 90 (Vector3 0 0 1) drawTriangle lineStipple $= Nothing flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-50) 50 (-50 * hf/wf) (50 * hf/wf) (-1) 1 else ortho (-50 * wf/hf) (50 * wf/hf) (-50) 50 (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Mipmap.hs0000644000000000000000000000701512121453250015534 0ustar0000000000000000{- Mipmap.hs (adapted from mipmap.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates using mipmaps for texture maps. To overtly show the effect of mipmaps, each mipmap reduction level has a solidly colored, contrasting texture image. Thus, the quadrilateral which is drawn is drawn with several different colors. -} import Control.Monad ( when ) import Data.Maybe ( isJust, listToMaybe ) import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT makeImage :: Level -> TextureSize2D -> Color4 GLubyte -> IO () makeImage level size@(TextureSize2D w h) col = withArray (replicate (fromIntegral (w * h)) col) $ texImage2D Nothing NoProxy level RGBA' size 0 . PixelData RGBA UnsignedByte makeImages :: [Color4 GLubyte] -> IO () makeImages colors = sequence_ $ zipWith3 makeImage levels sizes colors where numLevels = length colors levels = [ 0 .. fromIntegral numLevels - 1 ] sizes = reverse (take numLevels [ TextureSize2D s s | s <- iterate (* 2) 1 ]) myInit :: IO (Maybe TextureObject) myInit = do depthFunc $= Just Less shadeModel $= Flat translate (Vector3 0 0 (-3.6 :: GLfloat)) rowAlignment Unpack $= 1 exts <- get glExtensions mbTexName <- if "GL_EXT_texture_object" `elem` exts then fmap listToMaybe $ genObjectNames 1 else return Nothing when (isJust mbTexName) $ textureBinding Texture2D $= mbTexName textureWrapMode Texture2D S $= (Repeated, Repeat) textureWrapMode Texture2D T $= (Repeated, Repeat) textureFilter Texture2D $= ((Nearest, Just Nearest), Nearest) makeImages [ Color4 255 255 0 255, Color4 255 0 255 255, Color4 255 0 0 255, Color4 0 255 0 255, Color4 0 0 255 255, Color4 255 255 255 255 ] textureFunction $= Decal texture Texture2D $= Enabled return mbTexName display :: Maybe TextureObject -> DisplayCallback display mbTexName = do clear [ ColorBuffer, DepthBuffer ] when (isJust mbTexName) $ textureBinding Texture2D $= mbTexName -- resolve overloading, not needed in "real" programs let texCoord2f = texCoord :: TexCoord2 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () renderPrimitive Quads $ do texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 ( -2) (-1) 0 ) texCoord2f (TexCoord2 0 8); vertex3f (Vertex3 ( -2) 1 0 ) texCoord2f (TexCoord2 8 8); vertex3f (Vertex3 2000 1 (-6000)) texCoord2f (TexCoord2 8 0); vertex3f (Vertex3 2000 (-1) (-6000)) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 60 (fromIntegral w / fromIntegral h) 1 30000 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 50 50 createWindow progName texName <- myInit displayCallback $= display texName reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Minmax.hs0000644000000000000000000000425512121453250015545 0ustar0000000000000000{- Minmax.hs (adapted from minmax.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Determine the minimum and maximum values of a group of pixels. This demonstrates use of the minmax function. -} import Foreign ( allocaArray, peekArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT import ReadImage myInit :: IO () myInit = do rowAlignment Unpack $= 1 clearColor $= Color4 0 0 0 0 minmax $= Just (RGB', PassThrough) display :: Size -> PixelData a -> DisplayCallback display size pixels = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let rasterPos2i = rasterPos :: Vertex2 GLint -> IO () rasterPos2i (Vertex2 1 1) drawPixels size pixels flush [Color3 minR minG minB, Color3 maxR maxG maxB] <- allocaArray 2 $ \buf -> do getMinmax Reset (PixelData RGB UnsignedByte buf) peekArray 2 buf :: IO [Color3 GLubyte] putStrLn (" Red : min = " ++ show minR ++ " max = " ++ show maxR) putStrLn (" Green : min = " ++ show minG ++ " max = " ++ show maxG) putStrLn (" Blue : min = " ++ show minB ++ " max = " ++ show maxB) reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho 0 (fromIntegral w) 0 (fromIntegral h) (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, args) <- getArgsAndInitialize (size, pixels) <- readImage (if null args then "Data/leeds.bin" else head args) initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= size initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display size pixels mainLoop GLUT-2.4.0.0/examples/RedBook/Material.hs0000644000000000000000000001306412121453250016050 0ustar0000000000000000{- Material.hs (adapted from material.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates the use of the GL lighting model. Several objects are drawn using different material characteristics. A single light source illuminates the objects. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Initialize z-buffer, projection matrix, light source, and lighting model. -- Do not specify a material property here. myInit :: IO () myInit = do clearColor $= Color4 0 0.1 0.1 0 depthFunc $= Just Less shadeModel $= Smooth ambient (Light 0) $= Color4 0 0 0 1 diffuse (Light 0) $= Color4 1 1 1 1 position (Light 0) $= Vertex4 0 3 2 0 lightModelAmbient $= Color4 0.4 0.4 0.4 1 lightModelLocalViewer $= Disabled lighting $= Enabled light (Light 0) $= Enabled -- Draw twelve spheres in 3 rows with 4 columns. -- The spheres in the first row have materials with no ambient reflection. -- The second row has materials with significant ambient reflection. -- The third row has materials with colored ambient reflection. -- -- The first column has materials with blue, diffuse reflection only. -- The second column has blue diffuse reflection, as well as specular -- reflection with a low shininess exponent. -- The third column has blue diffuse reflection, as well as specular -- reflection with a high shininess exponent (a more concentrated highlight). -- The fourth column has materials which also include an emissive component. -- -- translate is used to move spheres to their appropriate locations. display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] let draw :: GLfloat -> GLfloat -> Color4 GLfloat -> Color4 GLfloat -> Color4 GLfloat -> GLfloat -> Color4 GLfloat -> IO () draw row column amb dif spc shi emi = preservingMatrix $ do translate (Vector3 (2.5 * (column - 2.5)) (3 * (2 - row)) 0) materialAmbient Front $= amb materialDiffuse Front $= dif materialSpecular Front $= spc materialShininess Front $= shi materialEmission Front $= emi renderObject Solid (Sphere' 1 16 16) noMat = Color4 0 0 0 1 matAmbient = Color4 0.7 0.7 0.7 1 matAmbientColor = Color4 0.8 0.8 0.2 1 matDiffuse = Color4 0.1 0.5 0.8 1 matSpecular = Color4 1 1 1 1 noShininess = 0 lowShininess = 5 highShininess = 100 matEmission = Color4 0.3 0.2 0.2 0 -- draw sphere in first row, first column -- diffuse reflection only; no ambient or specular draw 1 1 noMat matDiffuse noMat noShininess noMat -- draw sphere in first row, second column -- diffuse and specular reflection; low shininess; no ambient draw 1 2 noMat matDiffuse matSpecular lowShininess noMat -- draw sphere in first row, third column -- diffuse and specular reflection; high shininess; no ambient draw 1 3 noMat matDiffuse matSpecular highShininess noMat -- draw sphere in first row, fourth column -- diffuse reflection; emission; no ambient or specular reflection draw 1 4 noMat matDiffuse noMat noShininess matEmission -- draw sphere in second row, first column -- ambient and diffuse reflection; no specular draw 2 1 matAmbient matDiffuse noMat noShininess noMat -- draw sphere in second row, second column -- ambient, diffuse and specular reflection; low shininess draw 2 2 matAmbient matDiffuse matSpecular lowShininess noMat -- draw sphere in second row, third column -- ambient, diffuse and specular reflection; high shininess draw 2 3 matAmbient matDiffuse matSpecular highShininess noMat -- draw sphere in second row, fourth column -- ambient and diffuse reflection; emission; no specular draw 2 4 matAmbient matDiffuse noMat noShininess matEmission -- draw sphere in third row, first column -- colored ambient and diffuse reflection; no specular draw 3 1 matAmbientColor matDiffuse noMat noShininess noMat -- draw sphere in third row, second column -- colored ambient, diffuse and specular reflection; low shininess draw 3 2 matAmbientColor matDiffuse matSpecular lowShininess noMat -- draw sphere in third row, third column -- colored ambient, diffuse and specular reflection; high shininess draw 3 3 matAmbientColor matDiffuse matSpecular highShininess noMat -- draw sphere in third row, fourth column -- colored ambient and diffuse reflection; emission; no specular draw 3 4 matAmbientColor matDiffuse noMat noShininess matEmission flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h * 2 then ortho (-6) 6 (-3 * (hf * 2) / wf) (3 * (hf * 2) / wf) (-10) 10 else ortho (-6 * wf / (hf * 2)) (6 * wf / (hf * 2)) (-3) 3 (-10) 10 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 600 450 createWindow progName myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Lines.hs0000644000000000000000000000574712121453250015375 0ustar0000000000000000{- Lines.hs (adapted from lines.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates geometric primitives and their attributes. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT drawOneLine :: Vertex2 GLfloat -> Vertex2 GLfloat -> IO () drawOneLine p1 p2 = renderPrimitive Lines $ do vertex p1; vertex p2 myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat display :: DisplayCallback display = do clear [ ColorBuffer ] -- select white for all lines color (Color3 1.0 1.0 1.0 :: Color3 GLfloat) -- in 1st row, 3 lines, each with a different stipple lineStipple $= Just (1, 0x0101) -- dotted drawOneLine (Vertex2 50 125) (Vertex2 150 125) lineStipple $= Just (1, 0x00FF) -- dashed drawOneLine (Vertex2 150 125) (Vertex2 50 125) lineStipple $= Just (1, 0x1C47) -- dash/dot/dash drawOneLine (Vertex2 250 125) (Vertex2 350 125) -- in 2nd row, 3 wide lines, each with different stipple lineWidth $= 5.0 lineStipple $= Just (1, 0x0101) -- dotted drawOneLine (Vertex2 50 100) (Vertex2 150 100) lineStipple $= Just (1, 0x00FF) -- dashed drawOneLine (Vertex2 150 100) (Vertex2 250 100) lineStipple $= Just (1, 0x1C47) -- dash/dot/dash drawOneLine (Vertex2 250 100) (Vertex2 350 100) lineWidth $= 1.0 -- in 3rd row, 6 lines, with dash/dot/dash stipple -- as part of a single connected line strip lineStipple $= Just (1, 0x1C47) -- dash/dot/dash renderPrimitive LineStrip $ mapM_ vertex [ Vertex2 (50+(i*50)) (75 :: GLint) | i <- [0..6] ] -- in 4th row, 6 independent lines with same stipple sequence_ [ drawOneLine (Vertex2 (50+( i *50)) 50) (Vertex2 (50+((i+1)*50)) 50) | i <- [0..5] ] -- in 5th row, 1 line, with dash/dot/dash stipple -- and a stipple repeat factor of 5 lineStipple $= Just (5, 0x1C47) -- dash/dot/dash drawOneLine (Vertex2 50 25) (Vertex2 350 25) lineStipple $= Nothing flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 (fromIntegral w) 0 (fromIntegral h) -- the following line is not in the original example, but it's good style... matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Request double buffer display mode. -- Register mouse input callback functions main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 400 150 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Light.hs0000644000000000000000000000342012121453250015354 0ustar0000000000000000{- Light.hs (adapted from light.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates the use of the OpenGL lighting model. A sphere is drawn using a grey material characteristic. A single light source illuminates the object. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Smooth materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 50 position (Light 0) $= Vertex4 1 1 1 0 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] renderObject Solid (Sphere' 1 20 16) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-1.5) 1.5 (-1.5 * hf/wf) (1.5 * hf/wf) (-10) 10 else ortho (-1.5 * wf/hf) (1.5 * wf/hf) (-1.5) 1.5 (-10) 10 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Image.hs0000644000000000000000000000751212121453250015335 0ustar0000000000000000{- Image.hs (adapted from image.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates drawing pixels and shows the effect of drawPixels, copyPixels, and pixelZoom. Interaction: moving the mouse while pressing the mouse button will copy the image in the lower-left corner of the window to the mouse position, using the current pixel zoom factors. There is no attempt to prevent you from drawing over the original image. If you press the 'r' key, the original image and zoom factors are reset. If you press the 'z' or 'Z' keys, you change the zoom factors. -} import Data.Bits ( (.&.) ) import Data.IORef ( IORef, newIORef ) import Foreign ( newArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { zoomFactor :: IORef GLfloat } makeState :: IO State makeState = do z <- newIORef 1 return $ State { zoomFactor = z } -- Create checkerboard image checkImageSize :: Size checkImageSize = Size 64 64 type Image = PixelData (Color3 GLubyte) makeCheckImage :: Size -> GLsizei -> (GLubyte -> (Color3 GLubyte)) -> IO Image makeCheckImage (Size w h) n f = fmap (PixelData RGB UnsignedByte) $ newArray [ f c | i <- [ 0 .. w - 1 ], j <- [ 0 .. h - 1 ], let c | (i .&. n) == (j .&. n) = 0 | otherwise = 255 ] myInit :: IO Image myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat rowAlignment Unpack $= 1 makeCheckImage checkImageSize 0x8 (\c -> Color3 c c c) display :: Image -> DisplayCallback display pixelData = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let rasterPos2i = rasterPos :: Vertex2 GLint -> IO () rasterPos2i (Vertex2 0 0) drawPixels checkImageSize pixelData flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 (fromIntegral w) 0 (fromIntegral h) matrixMode $= Modelview 0 loadIdentity motion :: State -> MotionCallback motion state (Position x y) = do Size _ height <- get windowSize let screenY = fromIntegral height - y -- resolve overloading, not needed in "real" programs let rasterPos2i = rasterPos :: Vertex2 GLint -> IO () rasterPos2i (Vertex2 x screenY) z <- get (zoomFactor state) pixelZoom $= (z, z) copyPixels (Position 0 0) checkImageSize CopyColor pixelZoom $= (1, 1) flush resetZoomFactor :: State -> IO () resetZoomFactor state = do zoomFactor state $= 1.0 postRedisplay Nothing putStrLn "zoomFactor reset to 1.0" incZoomFactor :: State -> GLfloat -> IO () incZoomFactor state inc = do zoomFactor state $~! (max 0.5 . min 3.0 . (+ inc)) get (zoomFactor state) >>= putStrLn . ("zoomFactor is now " ++) . show keyboard :: State -> KeyboardMouseCallback keyboard state (Char 'r') Down _ _ = resetZoomFactor state keyboard state (Char 'R') Down _ _ = resetZoomFactor state keyboard state (Char 'z') Down _ _ = incZoomFactor state 0.5 keyboard state (Char 'Z') Down _ _ = incZoomFactor state (-0.5) keyboard _ (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState checkImage <- myInit displayCallback $= display checkImage reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) motionCallback $= Just (motion state) mainLoop GLUT-2.4.0.0/examples/RedBook/Histogram.hs0000644000000000000000000000555612121453250016256 0ustar0000000000000000{- Histogram.hs (adapted from histogram.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Compute the histogram of the image. This program illustrates the use of the histogram function. -} import Control.Monad ( zipWithM_ ) import Foreign ( allocaArray, peekArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT import ReadImage histogramSize :: Int histogramSize = 256 -- Must be a power of 2 myInit :: IO () myInit = do rowAlignment Unpack $= 1 clearColor $= Color4 0 0 0 0 histogram NoProxy $= Just (fromIntegral histogramSize, RGB', PassThrough) display :: Size -> PixelData a -> DisplayCallback display size pixels = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let rasterPos2i = rasterPos :: Vertex2 GLint -> IO () rasterPos2i (Vertex2 1 1) drawPixels size pixels values <- allocaArray histogramSize $ \buf -> do -- Note: The example in the Red Book uses GL_UNSIGNED_SHORT here, -- but we are more honest by using Short... getHistogram Reset (PixelData RGB Short buf) peekArray histogramSize buf -- Plot histogram zipWithM_ (plotHistogram values) [ Color3 1 0 0, Color3 0 1 0, Color3 0 0 1 ] [\(Color3 r _ _) -> r, \(Color3 _ g _) -> g, \(Color3 _ _ b) -> b ] flush plotHistogram :: [Color3 GLshort] -> Color3 GLfloat -> (Color3 GLshort -> GLshort) -> IO () plotHistogram values c selectComponent = renderPrimitive LineStrip $ do color c zipWithM_ (\i h -> vertex (Vertex2 i (selectComponent h))) [ 0 .. ] values reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho 0 (fromIntegral histogramSize) 0 10000 (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char 's') Down _ _ = do Just (width, format, sink) <- get (histogram NoProxy) let newSink = if sink == Sink then PassThrough else Sink histogram NoProxy $= Just (width, format, newSink) postRedisplay Nothing keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, args) <- getArgsAndInitialize (size, pixels) <- readImage (if null args then "Data/leeds.bin" else head args) initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= size initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display size pixels mainLoop GLUT-2.4.0.0/examples/RedBook/Hello.hs0000644000000000000000000000311012121453250015344 0ustar0000000000000000{- Hello.hs (adapted from hello.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This is a simple, introductory OpenGL program. -} import Graphics.UI.GLUT display :: DisplayCallback display = do -- clear all pixels clear [ ColorBuffer ] -- draw white polygon (rectangle) with corners at -- (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) color (Color3 1.0 1.0 (1.0 :: GLfloat)) -- resolve overloading, not needed in "real" programs let vertex3f = vertex :: Vertex3 GLfloat -> IO () renderPrimitive Polygon $ mapM_ vertex3f [ Vertex3 0.25 0.25 0.0, Vertex3 0.75 0.25 0.0, Vertex3 0.75 0.75 0.0, Vertex3 0.25 0.75 0.0] -- don't wait! -- start processing buffered OpenGL routines flush myInit :: IO () myInit = do -- select clearing color clearColor $= Color4 0 0 0 0 -- initialize viewing values matrixMode $= Projection loadIdentity ortho 0 1 0 1 (-1) 1 -- Declare initial window size, position, and display mode (single buffer and -- RGBA). Open window with "hello" in its title bar. Call initialization -- routines. Register callback function to display graphics. Enter main loop and -- process events. main :: IO () main = do getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow "hello" myInit displayCallback $= display mainLoop GLUT-2.4.0.0/examples/RedBook/Font.hs0000644000000000000000000001241012121453247015220 0ustar0000000000000000{- Font.hs (adapted from font.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Draws some text in a bitmapped font. Uses bitmap and other pixel routines. Also demonstrates use of display lists. -} import Control.Monad ( zipWithM_ ) import Data.List ( genericDrop, genericLength ) import Foreign.C.String ( castCharToCChar ) import Foreign.Marshal.Array ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT space :: [GLubyte] space = [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ] letters :: [[GLubyte]] letters = [ [ 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18 ], [ 0x00, 0x00, 0xfe, 0xc7, 0xc3, 0xc3, 0xc7, 0xfe, 0xc7, 0xc3, 0xc3, 0xc7, 0xfe ], [ 0x00, 0x00, 0x7e, 0xe7, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe7, 0x7e ], [ 0x00, 0x00, 0xfc, 0xce, 0xc7, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xce, 0xfc ], [ 0x00, 0x00, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0xc0, 0xc0, 0xc0, 0xc0, 0xff ], [ 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0xc0, 0xc0, 0xc0, 0xff ], [ 0x00, 0x00, 0x7e, 0xe7, 0xc3, 0xc3, 0xcf, 0xc0, 0xc0, 0xc0, 0xc0, 0xe7, 0x7e ], [ 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3 ], [ 0x00, 0x00, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e ], [ 0x00, 0x00, 0x7c, 0xee, 0xc6, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 ], [ 0x00, 0x00, 0xc3, 0xc6, 0xcc, 0xd8, 0xf0, 0xe0, 0xf0, 0xd8, 0xcc, 0xc6, 0xc3 ], [ 0x00, 0x00, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0 ], [ 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xdb, 0xff, 0xff, 0xe7, 0xc3 ], [ 0x00, 0x00, 0xc7, 0xc7, 0xcf, 0xcf, 0xdf, 0xdb, 0xfb, 0xf3, 0xf3, 0xe3, 0xe3 ], [ 0x00, 0x00, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e ], [ 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe, 0xc7, 0xc3, 0xc3, 0xc7, 0xfe ], [ 0x00, 0x00, 0x3f, 0x6e, 0xdf, 0xdb, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c ], [ 0x00, 0x00, 0xc3, 0xc6, 0xcc, 0xd8, 0xf0, 0xfe, 0xc7, 0xc3, 0xc3, 0xc7, 0xfe ], [ 0x00, 0x00, 0x7e, 0xe7, 0x03, 0x03, 0x07, 0x7e, 0xe0, 0xc0, 0xc0, 0xe7, 0x7e ], [ 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff ], [ 0x00, 0x00, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3 ], [ 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x66, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3 ], [ 0x00, 0x00, 0xc3, 0xe7, 0xff, 0xff, 0xdb, 0xdb, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3 ], [ 0x00, 0x00, 0xc3, 0x66, 0x66, 0x3c, 0x3c, 0x18, 0x3c, 0x3c, 0x66, 0x66, 0xc3 ], [ 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x3c, 0x66, 0x66, 0xc3 ], [ 0x00, 0x00, 0xff, 0xc0, 0xc0, 0x60, 0x30, 0x7e, 0x0c, 0x06, 0x03, 0x03, 0xff ]] charToGLubyte :: Char -> GLubyte charToGLubyte = fromIntegral . castCharToCChar makeRasterFont :: IO DisplayList makeRasterFont = do rowAlignment Unpack $= 1 fontDisplayLists@(fontOffset:_) <- genObjectNames 128 let listsStartingWith ch = genericDrop (charToGLubyte ch) fontDisplayLists makeLetter dl letter = defineList dl Compile $ withArray letter $ bitmap (Size 8 13) (Vertex2 0 2) (Vector2 10 0) zipWithM_ makeLetter (listsStartingWith 'A') letters makeLetter (head (listsStartingWith ' ')) space return fontOffset myInit :: IO DisplayList myInit = do shadeModel $= Flat makeRasterFont printString :: DisplayList -> String -> IO () printString fontOffset s = preservingAttrib [ ListAttributes ] $ do listBase $= fontOffset withArray (map charToGLubyte s) $ callLists (genericLength s) UnsignedByte -- Everything above this line could be in a library -- that defines a font. To make it work, you've got -- to call makeRasterFont before you start making -- calls to printString. display :: DisplayList -> DisplayCallback display fontOffset = do let white = Color3 1 1 1 clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () rasterPos2i = rasterPos :: Vertex2 GLint -> IO () color3f white rasterPos2i (Vertex2 20 60) printString fontOffset "THE QUICK BROWN FOX JUMPS" rasterPos2i (Vertex2 20 40) printString fontOffset "OVER A LAZY DOG" flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho 0 (fromIntegral w) 0 (fromIntegral h) (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop -- Open window with initial window size, title bar, -- RGBA display mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 300 100 initialWindowPosition $= Position 100 100 createWindow progName fontOffset <- myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display fontOffset mainLoop GLUT-2.4.0.0/examples/RedBook/FogIndex.hs0000644000000000000000000000446312121453247016026 0ustar0000000000000000{- FogIndex.hs (adapted from fogindex.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws 5 wireframe spheres, each at a different z distance from the eye, in linear fog. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Initialize color map and fog. Set screen clear color to end of color ramp. numColors, rampStart :: GLint numColors = 32 rampStart = 16 myInit :: IO () myInit = do depthFunc $= Just Less flip mapM_ [ 0 .. numColors - 1 ] $ \i -> do let shade = fromIntegral (numColors - i) / fromIntegral numColors colorMapEntry (Index1 (rampStart + i)) $= Color3 shade shade shade fog $= Enabled fogMode $= Linear 1 6 fogIndex $= Index1 numColors hint Fog $= Nicest clearIndex $= Index1 (fromIntegral (numColors + rampStart - 1)) renderSpehere :: Vector3 GLfloat -> IO () renderSpehere xyz = preservingMatrix $ do translate xyz renderObject Wireframe (Sphere' 0.4 16 16) -- display draws 5 spheres at different z positions. display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] index (Index1 rampStart) mapM_ renderSpehere [ Vector3 x (-0.5) (-3 - x) | x <- [-2 .. 2] ] flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-2.5) 2.5 (-2.5*hf/wf) (2.5*hf/wf) (-10.0) 10.0 else ortho (-2.5*wf/hf) (2.5*wf/hf) (-2.5) 2.5 (-10.0) 10.0 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, color index -- display mode, depth buffer, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, IndexMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display mainLoop GLUT-2.4.0.0/examples/RedBook/FogCoord.hs0000644000000000000000000000726712121453247016032 0ustar0000000000000000{- FogCoord.hs (adapted from fogcoord.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates the use of explicit fog coordinates. You can press the keyboard and change the fog coordinate value at any vertex. You can also switch between using explicit fog coordinates and the default fog generation mode. Pressing the 'f' and 'b' keys move the viewer forward and backwards. Pressing 'c' initiates the default fog generation. Pressing capital 'C' restores explicit fog coordinates. Pressing '1', '2', '3', '8', '9', and '0' add or subtract from the fog coordinate values at one of the three vertices of the triangle. -} import Control.Monad ( when ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { f1, f2, f3 :: IORef (FogCoord1 GLfloat) } makeState :: IO State makeState = do f1' <- newIORef (FogCoord1 1) f2' <- newIORef (FogCoord1 5) f3' <- newIORef (FogCoord1 10) return $ State { f1 = f1', f2 = f2', f3 = f3' } -- Initialize fog myInit :: IO () myInit = do let theFogColor = Color4 0 0.25 0.25 1 fog $= Enabled fogMode $= Exp 0.25 fogColor $= theFogColor hint Fog $= DontCare fogCoordSrc $= FogCoord clearColor $= theFogColor drawTriangle :: State -> (State -> IORef (FogCoord1 GLfloat)) -> Vertex3 GLfloat -> IO () drawTriangle state f v = do fc <- get (f state) fogCoord fc vertex v -- display draws a triangle at an angle. display :: State -> DisplayCallback display state = do clear [ ColorBuffer ] color (Color3 1 0.75 (0 :: GLfloat)) renderPrimitive Triangles $ do drawTriangle state f1 (Vertex3 2 (-2) 0 ) drawTriangle state f2 (Vertex3 (-2) 0 (-5)) drawTriangle state f3 (Vertex3 0 2 (-10)) swapBuffers reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 45 1 0.25 25 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-5 :: GLfloat)) keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case c of 'c' -> setSrc FragmentDepth 'C' -> setSrc FogCoord '1' -> inc f1 0.25 '2' -> inc f2 0.25 '3' -> inc f3 0.25 '8' -> inc f1 (-0.25) '9' -> inc f2 (-0.25) '0' -> inc f3 (-0.25) 'b' -> trans (-0.25) 'f' -> trans 0.25 '\27' -> exitWith ExitSuccess _ -> return () where setSrc :: FogCoordSrc -> IO () setSrc s = do fogCoordSrc $= s postRedisplay Nothing inc :: (State -> IORef (FogCoord1 GLfloat)) -> GLfloat -> IO () inc f x = do FogCoord1 oldValue <- get (f state) let newValue = oldValue + x when (newValue > 0) $ do f state $= FogCoord1 newValue postRedisplay Nothing trans :: GLfloat -> IO () trans x = do matrixMode $= Modelview 0 translate (Vector3 0 0 x) postRedisplay Nothing keyboard _ _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ DoubleBuffered, RGBMode ] initialWindowSize $= Size 500 500 createWindow progName state <- makeState myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) displayCallback $= display state mainLoop GLUT-2.4.0.0/examples/RedBook/Fog.hs0000644000000000000000000000563012121453247015033 0ustar0000000000000000{- Fog.hs (adapted from fog.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws 5 red spheres, each at a different z distance from the eye, in different types of fog. Pressing the f key chooses between 3 types of fog: exponential, exponential squared, and linear. In this program, there is a fixed density value, as well as fixed start and end values for the linear fog. -} import Data.Char ( toLower ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do depthFunc $= Just Less position (Light 0) $= Vertex4 0.5 0.5 3.0 0.0 lighting $= Enabled light (Light 0) $= Enabled -- NOTE: The alpha values are missing from fog.c! materialAmbient Front $= Color4 0.1745 0.01175 0.01175 1.0 materialDiffuse Front $= Color4 0.61424 0.04136 0.04136 1.0 materialSpecular Front $= Color4 0.727811 0.626959 0.626959 1.0 materialShininess Front $= 0.6 * 128 fog $= Enabled let c = Color4 0.5 0.5 0.5 1.0 fogMode $= Exp 0.35 fogColor $= c hint Fog $= DontCare clearColor $= c renderSpehere :: Vector3 GLfloat -> IO () renderSpehere xyz = preservingMatrix $ do translate xyz renderObject Solid (Sphere' 0.4 16 16) -- display draws 5 spheres at different z positions. display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] mapM_ renderSpehere [ Vector3 x (-0.5) (-3 - x) | x <- [-2 .. 2] ] flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-2.5) 2.5 (-2.5*hf/wf) (2.5*hf/wf) (-10.0) 10.0 else ortho (-2.5*wf/hf) (2.5*wf/hf) (-2.5) 2.5 (-10.0) 10.0 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char c) Down _ _ = case toLower c of 'f' -> do mode <- get fogMode case mode of Linear _ _ -> do fogMode $= Exp 0.35; putStrLn "Fog mode is Exp" Exp _ -> do fogMode $= Exp2 0.35; putStrLn "Fog mode is Exp2" Exp2 _ -> do fogMode $= Linear 1 5; putStrLn "Fog mode is Linear" postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, depth buffer, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display mainLoop GLUT-2.4.0.0/examples/RedBook/Feedback.hs0000644000000000000000000000463512121453247016010 0ustar0000000000000000{- Feedback.hs (adapted from feedback.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates use of OpenGL feedback. First, a lighting environment is set up and a few lines are drawn. Then feedback mode is entered, and the same lines are drawn. The results in the feedback buffer are printed. -} import Control.Monad ( when ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Initialize lighting. myInit :: IO () myInit = do lighting $= Enabled light (Light 0) $= Enabled -- Draw a few lines and two points, one of which will be clipped. If in feedback -- mode, a passthrough token is issued between each primitive drawGeometry :: IO () drawGeometry = do mode <- get renderMode -- resolve overloading, not needed in "real" programs let normal3f = normal :: Normal3 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () renderPrimitive LineStrip $ do normal3f (Normal3 0 0 1) vertex3f (Vertex3 30 30 0) vertex3f (Vertex3 50 60 0) vertex3f (Vertex3 70 40 0) when (mode == Feedback) $ passThrough (PassThroughValue 1) renderPrimitive Points $ vertex3f (Vertex3 (-100) (-100) (-100)) -- will be clipped when (mode == Feedback) $ passThrough (PassThroughValue 2) renderPrimitive Points $ do normal3f (Normal3 0 0 1) vertex3f (Vertex3 50 50 0) flush -- not in original example printBuffer :: Maybe [FeedbackToken] -> IO () printBuffer = maybe (putStrLn "feedback buffer overflow") (mapM_ print) display :: DisplayCallback display = do matrixMode $= Projection loadIdentity ortho 0 100 0 100 0 1 clearColor $= Color4 0 0 0 0 clear [ ColorBuffer ] drawGeometry (_, tokens) <- getFeedbackTokens 1024 ThreeDColor drawGeometry printBuffer tokens keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 100 100 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/DrawF.hs0000644000000000000000000000372312121453247015324 0ustar0000000000000000{- DrawF.hs (adapted from drawf.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Draws the bitmapped letter F on the screen (several times). This demonstrates use of the bitmap call. -} import Foreign ( Ptr, newArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO (Ptr GLubyte) myInit = do rowAlignment Unpack $= 1 clearColor $= Color4 0 0 0 0 newArray [ 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xff, 0x00, 0xff, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xff, 0xc0, 0xff, 0xc0 ] display :: Ptr GLubyte -> DisplayCallback display rasters = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () rasterPos2i = rasterPos :: Vertex2 GLint -> IO () color3f (Color3 1 1 1) rasterPos2i (Vertex2 20 20) sequence_ $ replicate 3 $ bitmap (Size 10 12) (Vertex2 0 0) (Vector2 11 0) rasters flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho 0 (fromIntegral w) 0 (fromIntegral h) (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop -- Open window with initial window size, title bar, -- RGBA display mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 100 100 initialWindowPosition $= Position 100 100 createWindow progName rasters <- myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display rasters mainLoop GLUT-2.4.0.0/examples/RedBook/Double.hs0000644000000000000000000000431212121453247015526 0ustar0000000000000000{- Double.hs (adapted from double.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This is a simple double buffered program. Pressing the left mouse button rotates the rectangle. Pressing the middle mouse button stops the rotation. -} import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { spin :: IORef GLfloat } makeState :: IO State makeState = do s <- newIORef 0 return $ State { spin = s } display :: State -> DisplayCallback display state = do clear [ ColorBuffer ] preservingMatrix $ do s <- get (spin state) rotate s (Vector3 0 0 1) color (Color3 1 1 1 :: Color3 GLfloat) rect (Vertex2 (-25) (-25)) (Vertex2 25 25 :: Vertex2 GLfloat) swapBuffers spinDisplay :: State -> IdleCallback spinDisplay state = do let wrap n s = if s > n then s - n else s spin state $~ (wrap 360 . (+ 2)) postRedisplay Nothing myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho (-50) 50 (-50) 50 (-1) 1 matrixMode $= Modelview 0 loadIdentity keyboardMouse :: State -> KeyboardMouseCallback keyboardMouse state (MouseButton b) Down _ _ = idleCallback $= case b of LeftButton -> Just (spinDisplay state) _ -> Nothing -- ESC not handled in the original example, but useful nevertheless keyboardMouse _ (Char '\27') Down _ _ = exitWith ExitSuccess keyboardMouse _ _ _ _ _ = return () -- Request double buffer display mode. -- Register mouse input callback functions main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ DoubleBuffered, RGBMode ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState myInit displayCallback $= display state reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboardMouse state) mainLoop GLUT-2.4.0.0/examples/RedBook/DOF.hs0000644000000000000000000001624612121453247014735 0ustar0000000000000000{- DOF.hs (adapted from dof.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates use of the accumulation buffer to create an out-of-focus depth-of-field effect. The teapots are drawn several times into the accumulation buffer. The viewing volume is jittered, except at the focal point, where the viewing volume is at the same position, each time. In this case, the gold teapot remains in focus. -} import Data.List ( genericLength ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- j8 contains values in the range -.5 < x < .5, -.5 < y < .5, and have a -- gaussian distribution around the origin. Use these to do model jittering for -- scene anti-aliasing and view volume jittering for depth of field effects. Use -- in conjunction with the accwindow routine. j8 :: [Vector2 GLdouble] j8 = [ Vector2 (-0.334818) 0.435331 , Vector2 0.286438 (-0.393495), Vector2 0.459462 0.141540 , Vector2 (-0.414498) (-0.192829), Vector2 (-0.183790) 0.082102 , Vector2 (-0.079263) (-0.317383), Vector2 0.102254 0.299133 , Vector2 0.164216 (-0.054399) ] -- The first 6 arguments are identical to the frustum call. pixD is anti-alias -- jitter in pixels. Use (Vector2 0 0) for no anti-alias jitter. eyeD is -- depth-of field jitter in pixels. Use (Vector2 0 0) for no depth of field -- effects. focus is distance from eye to plane in focus. focus must be greater -- than, but not equal to 0. Note that accFrustum calls translate. You will -- probably want to insure that your ModelView matrix has been initialized to -- identity before calling accFrustum. accFrustum :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> Vector2 GLdouble -> Vector2 GLdouble -> GLdouble -> IO () accFrustum left right bottom top zNear zFar (Vector2 pixDx pixDy) (Vector2 eyeDx eyeDy) focus = do (_, Size w h) <- get viewport let xWSize = right - left; yWSize = top - bottom; dx = -(pixDx * xWSize / fromIntegral w + eyeDx * zNear / focus) dy = -(pixDy * yWSize / fromIntegral h + eyeDy * zNear / focus) matrixMode $= Projection loadIdentity frustum (left + dx) (right + dx) (bottom + dy) (top + dy) zNear zFar matrixMode $= Modelview 0 loadIdentity translate (Vector3 (-eyeDx) (-eyeDy) 0) -- The first 4 arguments are identical to the perspective call. pixD is -- anti-alias jitter in pixels. Use (Vector2 0 0) for no anti-alias jitter. eyeD -- is depth-of field jitter in pixels. Use (Vector2 0 0) for no depth of field -- effects. focus is distance from eye to plane in focus. focus must be greater -- than, but not equal to 0. Note that accPerspective calls accFrustum. accPerspective :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> Vector2 GLdouble -> Vector2 GLdouble -> GLdouble -> IO () accPerspective fovY aspect zNear zFar pixD eyeD focus = do let fov2 = ((fovY * pi) / 180) / 2 top = zNear / (cos fov2 / sin fov2) bottom = -top right = top * aspect left = -right accFrustum left right bottom top zNear zFar pixD eyeD focus myInit :: IO DisplayList myInit = do ambient (Light 0) $= Color4 0 0 0 1 diffuse (Light 0) $= Color4 1 1 1 1 position (Light 0) $= Vertex4 0 3 3 0 lightModelAmbient $= Color4 0.2 0.2 0.2 1 lightModelLocalViewer $= Disabled frontFace $= CW lighting $= Enabled light (Light 0) $= Enabled autoNormal $= Enabled normalize $= Enabled depthFunc $= Just Less clearColor $= Color4 0 0 0 0 clearAccum $= Color4 0 0 0 0 -- make teapot display list defineNewList Compile $ renderObject Solid (Teapot 0.5) -- Move object into position, specify the material properties, draw a teapot. renderTeapot :: DisplayList -> Vector3 GLfloat -> Color4 GLfloat -> Color4 GLfloat -> Color4 GLfloat -> GLfloat -> IO () renderTeapot teapotList pos amb dif spec shine = preservingMatrix $ do translate pos materialAmbient Front $= amb materialDiffuse Front $= dif materialSpecular Front $= spec materialShininess Front $= shine * 128 callList teapotList -- display draws 5 teapots into the accumulation buffer several times; each time -- with a jittered perspective. The focal point is at z = 5.0, so the gold -- teapot will stay in focus. The amount of jitter is adjusted by the magnitude -- of the accPerspective jitter; in this example, 0.33. In this example, the -- teapots are drawn 8 times. display :: DisplayList -> DisplayCallback display teapotList = do (_, Size w h) <- get viewport clear [ AccumBuffer ] flip mapM_ j8 $ \(Vector2 x y) -> do clear [ ColorBuffer, DepthBuffer ] accPerspective 45 (fromIntegral w / fromIntegral h) 1 15 (Vector2 0 0) (Vector2 (0.33 * x) (0.33 * y)) 5 -- ruby, gold, silver, emerald, and cyan teapots renderTeapot teapotList (Vector3 (-1.1) (-0.5) (-4.5)) (Color4 0.1745 0.01175 0.01175 1) (Color4 0.61424 0.04136 0.04136 1) (Color4 0.727811 0.626959 0.626959 1) 0.6 renderTeapot teapotList (Vector3 (-0.5) (-0.5) (-5.0)) (Color4 0.24725 0.1995 0.0745 1) (Color4 0.75164 0.60648 0.22648 1) (Color4 0.628281 0.555802 0.366065 1) 0.4 renderTeapot teapotList (Vector3 0.2 (-0.5) (-5.5)) (Color4 0.19225 0.19225 0.19225 1) (Color4 0.50754 0.50754 0.50754 1) (Color4 0.508273 0.508273 0.508273 1) 0.4 renderTeapot teapotList (Vector3 1.0 (-0.5) (-6.0)) (Color4 0.0215 0.1745 0.0215 1) (Color4 0.07568 0.61424 0.07568 1) (Color4 0.633 0.727811 0.633 1) 0.6 renderTeapot teapotList (Vector3 1.8 (-0.5) (-6.5)) (Color4 0.0 0.1 0.06 1) (Color4 0.0 0.50980392 0.50980392 1) (Color4 0.50196078 0.50196078 0.50196078 1) 0.25 accum Accum (recip (genericLength j8)) accum Return 1 flush reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Be certain you request an accumulation buffer. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithAccumBuffer, WithDepthBuffer ] initialWindowSize $= Size 400 400 initialWindowPosition $= Position 100 100 createWindow progName teapotList <- myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display teapotList mainLoop GLUT-2.4.0.0/examples/RedBook/DList.hs0000644000000000000000000000544712121453247015345 0ustar0000000000000000{- DList.hs (adapted from list.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates how to make and execute a display list. Note that attributes, such as current color and matrix, are changed. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO DisplayList myInit = do [listName] <- genObjectNames 1 -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () vertex2f = vertex :: Vertex2 GLfloat -> IO () translatef = translate :: Vector3 GLfloat -> IO () defineList listName Compile $ do color3f (Color3 1 0 0) -- current color red renderPrimitive Triangles $ do vertex2f (Vertex2 0 0) vertex2f (Vertex2 1 0) vertex2f (Vertex2 0 1) translatef (Vector3 1.5 0.0 0.0) -- move position shadeModel $= Flat return listName drawLine :: IO () drawLine = do -- resolve overloading, not needed in "real" programs let vertex2f = vertex :: Vertex2 GLfloat -> IO () renderPrimitive Lines $ do vertex2f (Vertex2 0.0 0.5) vertex2f (Vertex2 15.0 0.5) display :: DisplayList -> DisplayCallback display listName = do -- NOTE: The following 'loadIdentity' is missing in the original -- example, but without it the translatef calls accumulate and -- the graphics wander out of the window after a few redraws... loadIdentity clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 0 1 0) -- current color green sequence_ (replicate 10 (callList listName)) -- draw 10 triangles drawLine -- is this line green? NO! -- where is the line drawn? flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho2D 0.0 2.0 (-0.5*hf/wf) (1.5*hf/wf) else ortho2D 0.0 (2.0*wf/hf) (-0.5) 1.5 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Open window with initial window size, title bar, -- RGBA display mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 650 50 createWindow progName listName <- myInit reshapeCallback $= Just reshape displayCallback $= display listName keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/CubeMap.hs0000644000000000000000000000742512121453247015640 0ustar0000000000000000{- CubeMap.hs (adapted from CubeMap.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates cube map textures. Six different colored checker board textures are created and applied to a lit sphere. Pressing the 'f' and 'b' keys translate the viewer forward and backward. -} import Data.Bits ( (.&.) ) import Data.IORef ( IORef, newIORef ) import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { zTrans :: IORef GLfloat } makeState :: IO State makeState = do z <- newIORef 0 return $ State { zTrans = z } imageSize :: TextureSize2D imageSize = TextureSize2D 4 4 withCheckImage :: TextureSize2D -> GLsizei -> (GLubyte -> (Color4 GLubyte)) -> (PixelData (Color4 GLubyte) -> IO ()) -> IO () withCheckImage (TextureSize2D w h) n f act = withArray [ f c | i <- [ 0 .. w - 1 ], j <- [ 0 .. h - 1 ], let c | (i .&. n) == (j .&. n) = 0 | otherwise = 255 ] $ act. PixelData RGBA UnsignedByte makeImage :: CubeMapTarget -> (GLubyte -> (Color4 GLubyte)) -> IO () makeImage target f = withCheckImage imageSize 0x1 f $ texImage2D (Just target) NoProxy 0 RGBA' imageSize 0 myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 depthFunc $= Just Less shadeModel $= Smooth rowAlignment Unpack $= 1 textureWrapMode TextureCubeMap S $= (Repeated, Repeat) textureWrapMode TextureCubeMap T $= (Repeated, Repeat) textureWrapMode TextureCubeMap R $= (Repeated, Repeat) textureFilter TextureCubeMap $= ((Nearest, Nothing), Nearest) makeImage TextureCubeMapPositiveX (\c -> Color4 c c c 255) makeImage TextureCubeMapNegativeX (\c -> Color4 0 c c 255) makeImage TextureCubeMapPositiveY (\c -> Color4 c c 0 255) makeImage TextureCubeMapNegativeY (\c -> Color4 255 c c 255) makeImage TextureCubeMapPositiveZ (\c -> Color4 c 0 c 255) makeImage TextureCubeMapNegativeZ (\c -> Color4 c c 255 255) textureGenMode S $= Just NormalMap textureGenMode T $= Just NormalMap textureGenMode R $= Just NormalMap textureFunction $= Modulate texture TextureCubeMap $= Enabled lighting $= Enabled light (Light 0) $= Enabled autoNormal $= Enabled normalize $= Enabled materialDiffuse Front $= Color4 1 1 1 1 display :: State -> DisplayCallback display state = do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do z <- get (zTrans state) translate (Vector3 0 0 z) renderObject Solid (Sphere' 5 20 10) swapBuffers reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 40 (fromIntegral w / fromIntegral h) 1 300 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-20 :: GLfloat)) keyboard :: State -> KeyboardMouseCallback keyboard state (Char 'f') Down _ _ = move state (-0.2) keyboard state (Char 'b') Down _ _ = move state 0.2 keyboard _ (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ _ = return () move :: State -> GLfloat -> IO () move state inc = do zTrans state $~ (+ inc) postRedisplay Nothing main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 400 400 initialWindowPosition $= Position 50 50 createWindow progName state <- makeState myInit displayCallback $= display state reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) mainLoop GLUT-2.4.0.0/examples/RedBook/Cube.hs0000644000000000000000000000326312121453247015176 0ustar0000000000000000{- Cube.hs (adapted from cube.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates a single modeling transformation, scale and a single viewing transformation, lookAt. A wireframe cube is rendered. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat display :: DisplayCallback display = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () scalef = scale :: GLfloat -> GLfloat -> GLfloat -> IO () color3f (Color3 1 1 1) loadIdentity -- clear the matrix -- viewing transformation lookAt (Vertex3 0 0 5) (Vertex3 0 0 0) (Vector3 0 1 0) scalef 1 2 1 -- modeling transformation renderObject Wireframe (Cube 1) flush reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity frustum (-1) 1 (-1) 1 1.5 20 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Convolution.hs0000644000000000000000000000526212121453247016640 0ustar0000000000000000{- Convolution.hs (adapted from convolution.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Use various 2D convolutions filters to find edges in an image. -} import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT import ReadImage data Filter = Filter String [GLfloat] filterTable :: [(Key,Filter)] filterTable = [ (Char 'h', Filter "horizontal" [ 0, -1, 0, 0, 1, 0, 0, 0, 0 ]), (Char 'v', Filter "vertical" [ 0, 0, 0, -1, 1, 0, 0, 0, 0 ]), (Char 'l', Filter "laplacian" [ -0.125, -0.125, -0.125, -0.125, 1.0 , -0.125, -0.125, -0.125, -0.125 ])] setFilter :: Filter -> IO () setFilter (Filter filterName filterData) = do putStrLn ("Using the " ++ filterName ++ " filter") withArray filterData $ \buf -> convolutionFilter2D Luminance' (Size 3 3) (PixelData Luminance Float buf) myInit :: IO () myInit = do rowAlignment Unpack $= 1 clearColor $= Color4 0 0 0 0 setFilter (snd (head filterTable)) convolution Convolution2D $= Enabled display :: Size -> PixelData a -> DisplayCallback display size pixels = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let rasterPos2i = rasterPos :: Vertex2 GLint -> IO () rasterPos2i (Vertex2 1 1) drawPixels size pixels flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho 0 (fromIntegral w) 0 (fromIntegral h) (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard key Down _ _ = maybe (return ()) (\f -> do setFilter f; postRedisplay Nothing) (lookup key filterTable) keyboard _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, args) <- getArgsAndInitialize (size, pixels) <- readImage (if null args then "Data/leeds.bin" else head args) initialDisplayMode $= [ SingleBuffered, RGBAMode ] initialWindowSize $= size initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display size pixels mainLoop GLUT-2.4.0.0/examples/RedBook/Combiner.hs0000644000000000000000000001564012121453247016060 0ustar0000000000000000{- Combiner.hs (adapted from combiner.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program renders a variety of quads showing different effects of texture combiner functions. The first row renders an untextured polygon (so you can compare the fragment colors) and then the 2 textures. The second row shows several different combiner functions on a single texture: replace, modulate, add, add-signed, and subtract. The third row shows the interpolate combiner function on a single texture with a constant color/alpha value, varying the amount of interpolation. The fourth row uses multitexturing with two textures and different combiner functions. The fifth row are some combiner experiments: using the scaling factor and reversing the order of subtraction for a combination function. -} import Data.Bits ( (.&.) ) import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Create checkerboard image imageSize :: TextureSize2D imageSize = TextureSize2D 8 8 makeImage :: TextureSize2D -> (GLsizei -> GLsizei -> Color4 GLubyte) -> (PixelData (Color4 GLubyte) -> IO ()) -> IO () makeImage (TextureSize2D w h) f act = withArray [ f i j | i <- [ 0 .. w - 1 ], j <- [ 0 .. h - 1 ] ] $ act . PixelData RGBA UnsignedByte myInit :: IO (TextureObject, TextureObject, DisplayList) myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Smooth rowAlignment Unpack $= 1 [texName0, texName1] <- genObjectNames 2 textureBinding Texture2D $= Just texName0 textureWrapMode Texture2D S $= (Repeated, Repeat) textureWrapMode Texture2D T $= (Repeated, Repeat) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) -- horiz b & w stripes makeImage imageSize (\i _ -> let c = if i .&. 2 == 0 then 255 else 0 in Color4 c c c 255) $ texImage2D Nothing NoProxy 0 RGBA' imageSize 0 textureBinding Texture2D $= Just texName1 textureWrapMode Texture2D S $= (Repeated, Repeat) textureWrapMode Texture2D T $= (Repeated, Repeat) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) textureFunction $= Decal -- wider vertical 50% cyan and black stripes makeImage imageSize (\_ j -> let c = if j .&. 4 /= 0 then 128 else 0 in Color4 0 c c 255) $ texImage2D Nothing NoProxy 0 RGBA' imageSize 0 -- smooth-shaded polygon with multiple texture coordinates let vert :: TexCoord2 GLfloat -> Color3 GLfloat -> Vertex3 GLfloat -> IO () vert t c v = do multiTexCoord (TextureUnit 0) t multiTexCoord (TextureUnit 1) t color c vertex v dl <- defineNewList Compile $ renderPrimitive Quads $ do vert (TexCoord2 0 0) (Color3 0.5 1 0.25) (Vertex3 0 0 0) vert (TexCoord2 0 2) (Color3 1 1 1 ) (Vertex3 0 1 0) vert (TexCoord2 2 2) (Color3 1 1 1 ) (Vertex3 1 1 0) vert (TexCoord2 2 0) (Color3 1 0.5 0.25) (Vertex3 1 0 0) return (texName0, texName1, dl) display :: (TextureObject, TextureObject, DisplayList) -> DisplayCallback display (texName0, texName1, dl) = do clear [ ColorBuffer ] let drawAt :: GLfloat -> GLfloat -> IO () drawAt x y = preservingMatrix $ do translate (Vector3 x y 0) callList dl -- untextured polygon -- see the "fragment" colors texture Texture2D $= Disabled drawAt 0 5 texture Texture2D $= Enabled -- draw ordinary textured polys; 1 texture unit; combine mode disabled textureFunction $= Modulate textureBinding Texture2D $= Just texName0 drawAt 1 5 textureBinding Texture2D $= Just texName1 drawAt 2 5 -- different combine modes enabled; 1 texture unit -- defaults are: -- argRGB Arg0 $= Arg SrcColor CurrentUnit -- argRGB Arg1 $= Arg SrcColor Previous textureBinding Texture2D $= Just texName0 textureFunction $= Combine combineRGB $= Replace' argRGB Arg0 $= Arg SrcColor CurrentUnit drawAt 1 4 combineRGB $= Modulate' argRGB Arg1 $= Arg SrcColor Previous drawAt 2 4 combineRGB $= AddUnsigned' drawAt 3 4 combineRGB $= AddSigned drawAt 4 4 combineRGB $= Subtract drawAt 5 4 -- interpolate combine with constant color; 1 texture unit -- use different alpha values for constant color -- defaults are: -- argRGB Arg0 $= Arg SrcColor CurrentUnit -- argRGB Arg1 $= Arg SrcColor Previous -- argRGB Arg2 $= Arg SrcAlpha Constant constantColor $= Color4 0 0 0 0.2 textureBinding Texture2D $= Just texName0 textureFunction $= Combine combineRGB $= Interpolate argRGB Arg0 $= Arg SrcColor CurrentUnit argRGB Arg1 $= Arg SrcColor Previous argRGB Arg2 $= Arg SrcAlpha Constant drawAt 1 3 constantColor $= Color4 0 0 0 0.4 drawAt 2 3 constantColor $= Color4 0 0 0 0.6 drawAt 3 3 constantColor $= Color4 0 0 0 0.8 drawAt 4 3 -- combine textures 0 & 1 -- defaults are: -- argRGB Arg0 $= Arg SrcColor CurrentUnit -- argRGB Arg1 $= Arg SrcColor Previous activeTexture $= TextureUnit 0 texture Texture2D $= Enabled textureBinding Texture2D $= Just texName0 textureFunction $= Modulate activeTexture $= TextureUnit 1 texture Texture2D $= Enabled textureBinding Texture2D $= Just texName1 textureFunction $= Combine combineRGB $= Replace' drawAt 1 2 -- try different combiner modes of texture unit 1 combineRGB $= Modulate' drawAt 2 2 combineRGB $= AddUnsigned' drawAt 3 2 combineRGB $= AddSigned drawAt 4 2 combineRGB $= Subtract drawAt 5 2 -- some experiments -- see the effect of rgbScale rgbScale $= 2 combineRGB $= Replace' drawAt 1 1 combineRGB $= Modulate' drawAt 2 1 rgbScale $= 1 -- reverse the order of subtraction Arg1-Arg0 textureFunction $= Combine combineRGB $= Subtract argRGB Arg0 $= Arg SrcColor Previous argRGB Arg1 $= Arg SrcColor CurrentUnit drawAt 5 1 activeTexture $= TextureUnit 1 -- deactivate multitexturing texture Texture2D $= Disabled activeTexture $= TextureUnit 0 -- activate single texture unit flush reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 7 0 7 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 400 400 initialWindowPosition $= Position 100 100 createWindow progName texNamesAndDL <- myInit displayCallback $= display texNamesAndDL reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/ColorTable.hs0000644000000000000000000000402512121453247016343 0ustar0000000000000000{- ColorTable.hs (adapted from colortable.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Invert a passed block of pixels. This program illustrates the use of the colorTable function. -} import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT import ReadImage myInit :: IO () myInit = do rowAlignment Unpack $= 1 clearColor $= Color4 0 0 0 0 -- Set up an inverse color table let tableSize = 256 t = fromIntegral (tableSize - 1) :: GLubyte withArray [ Color3 i i i | i <- [ t, t - 1 .. 0 ] ] $ \buf -> colorTable NoProxy ColorTable RGB' tableSize (PixelData RGB UnsignedByte buf) colorTableStage ColorTableStage $= Enabled display :: Size -> PixelData a -> DisplayCallback display size pixels = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let rasterPos2i = rasterPos :: Vertex2 GLint -> IO () rasterPos2i (Vertex2 1 1) drawPixels size pixels flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho 0 (fromIntegral w) 0 (fromIntegral h) (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, args) <- getArgsAndInitialize (size, pixels) <- readImage (if null args then "Data/leeds.bin" else head args) initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= size initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display size pixels mainLoop GLUT-2.4.0.0/examples/RedBook/ColorMatrix.hs0000644000000000000000000000400212121453247016553 0ustar0000000000000000{- ColorMatrix.hs (adapted from colormatrix.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program uses the color matrix to exchange the color channels of an image. Red -> Green Green -> Blue Blue -> Red -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT import ReadImage myInit :: IO () myInit = do m <- newMatrix ColumnMajor [ 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1 ] rowAlignment Unpack $= 1 clearColor $= Color4 0 0 0 0 matrixMode $= Color matrix Nothing $= (m :: GLmatrix GLfloat) matrixMode $= Modelview 0 display :: Size -> PixelData a -> DisplayCallback display size pixels = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let rasterPos2i = rasterPos :: Vertex2 GLint -> IO () rasterPos2i (Vertex2 1 1) drawPixels size pixels flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho 0 (fromIntegral w) 0 (fromIntegral h) (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Open window with initial window size, title bar, RGBA display -- mode, and handle input events. main :: IO () main = do (progName, args) <- getArgsAndInitialize (size, pixels) <- readImage (if null args then "Data/leeds.bin" else head args) initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= size initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display size pixels mainLoop GLUT-2.4.0.0/examples/RedBook/ColorMat.hs0000644000000000000000000000545412121453247016044 0ustar0000000000000000{- Light.hs (adapted from light.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE After initialization, the program will be in ColorMaterial mode. Interaction: pressing the mouse buttons will change the diffuse reflection values. -} import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { r, g, b :: IORef GLfloat } diffuseMaterial :: State -> IO (Color4 GLfloat) diffuseMaterial state = do r' <- get (r state) g' <- get (g state) b' <- get (b state) return $ Color4 r' g' b' 1 makeState :: IO State makeState = do r' <- newIORef 0.5 g' <- newIORef 0.5 b' <- newIORef 0.5 return $ State { r = r', g = g', b = b' } -- Initialize material property, light source, lighting model, -- and depth buffer. myInit :: State -> IO () myInit state = do clearColor $= Color4 0 0 0 0 shadeModel $= Smooth depthFunc $= Just Less dm <- diffuseMaterial state materialDiffuse Front $= dm materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 25 position (Light 0) $= Vertex4 1 1 1 0 lighting $= Enabled light (Light 0) $= Enabled colorMaterial $= Just (Front, Diffuse) display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] renderObject Solid (Sphere' 1 20 16) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-1.5) 1.5 (-1.5 * hf/wf) (1.5 * hf/wf) (-10) 10 else ortho (-1.5 * wf/hf) (1.5 * wf/hf) (-1.5) 1.5 (-10) 10 matrixMode $= Modelview 0 loadIdentity keyboardMouse :: State -> KeyboardMouseCallback keyboardMouse state (MouseButton button) Down _ _ = case button of LeftButton -> update r MiddleButton -> update g RightButton -> update b _ -> return () where update component = do component state $~ inc dm <- diffuseMaterial state color dm postRedisplay Nothing inc x = let s = x + 0.1 in if s > 1 then 0 else s keyboardMouse _ (Char '\27') Down _ _ = exitWith ExitSuccess keyboardMouse _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName state <- makeState myInit state displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboardMouse state) mainLoop GLUT-2.4.0.0/examples/RedBook/Clip.hs0000644000000000000000000000346012121453247015206 0ustar0000000000000000{- Clip.hs (adapted from clip.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates arbitrary clipping planes. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat display :: DisplayCallback display = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () translatef = translate :: Vector3 GLfloat -> IO () rotatef = rotate :: GLfloat -> Vector3 GLfloat -> IO () color3f (Color3 1 1 1) preservingMatrix $ do translatef (Vector3 0 0 (-5)) -- clip lower half -- y < 0 clipPlane (ClipPlaneName 0) $= Just (Plane 0 1 0 0) -- clip left half -- x < 0 clipPlane (ClipPlaneName 1) $= Just (Plane 1 0 0 0) rotatef 90 (Vector3 1 0 0) renderObject Wireframe (Sphere' 1 20 16) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 60 (fromIntegral w / fromIntegral h) 1 20 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Checker.hs0000644000000000000000000000732112121453247015663 0ustar0000000000000000{- Checker.hs (adapted from checker.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program texture maps a checkerboard image onto two rectangles. Texture objects are only used when GL_EXT_texture_object is supported. -} import Control.Monad ( when ) import Data.Maybe ( isJust, listToMaybe ) import Data.Bits ( (.&.) ) import Foreign ( withArray ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- Create checkerboard image checkImageSize :: TextureSize2D checkImageSize = TextureSize2D 64 64 withCheckImage :: TextureSize2D -> GLsizei -> (GLubyte -> (Color4 GLubyte)) -> (PixelData (Color4 GLubyte) -> IO ()) -> IO () withCheckImage (TextureSize2D w h) n f act = withArray [ f c | i <- [ 0 .. w - 1 ], j <- [ 0 .. h - 1 ], let c | (i .&. n) == (j .&. n) = 0 | otherwise = 255 ] $ act. PixelData RGBA UnsignedByte myInit :: IO (Maybe TextureObject) myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat depthFunc $= Just Less rowAlignment Unpack $= 1 exts <- get glExtensions mbTexName <- if "GL_EXT_texture_object" `elem` exts then fmap listToMaybe $ genObjectNames 1 else return Nothing when (isJust mbTexName) $ textureBinding Texture2D $= mbTexName textureWrapMode Texture2D S $= (Repeated, Repeat) textureWrapMode Texture2D T $= (Repeated, Repeat) textureFilter Texture2D $= ((Nearest, Nothing), Nearest) withCheckImage checkImageSize 0x8 (\c -> Color4 c c c 255) $ texImage2D Nothing NoProxy 0 RGBA' checkImageSize 0 return mbTexName display :: Maybe TextureObject -> DisplayCallback display mbTexName = do clear [ ColorBuffer, DepthBuffer ] texture Texture2D $= Enabled textureFunction $= Decal when (isJust mbTexName) $ textureBinding Texture2D $= mbTexName -- resolve overloading, not needed in "real" programs let texCoord2f = texCoord :: TexCoord2 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () renderPrimitive Quads $ do texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 (-2.0) (-1.0) 0.0 ) texCoord2f (TexCoord2 0 1); vertex3f (Vertex3 (-2.0) 1.0 0.0 ) texCoord2f (TexCoord2 1 1); vertex3f (Vertex3 0.0 1.0 0.0 ) texCoord2f (TexCoord2 1 0); vertex3f (Vertex3 0.0 (-1.0) 0.0 ) texCoord2f (TexCoord2 0 0); vertex3f (Vertex3 1.0 (-1.0) 0.0 ) texCoord2f (TexCoord2 0 1); vertex3f (Vertex3 1.0 1.0 0.0 ) texCoord2f (TexCoord2 1 1); vertex3f (Vertex3 2.41421 1.0 (-1.41421)) texCoord2f (TexCoord2 1 0); vertex3f (Vertex3 2.41421 (-1.0) (-1.41421)) flush texture Texture2D $= Disabled reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 60 (fromIntegral w / fromIntegral h) 1 30 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-3.6 :: GLfloat)) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName mbTexName <- myInit displayCallback $= display mbTexName reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/BlendEqn.hs0000644000000000000000000000567612121453247016022 0ustar0000000000000000{- BlendEqn.hs (adapted from blendeqn.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Demonstrate the different blending functions available with the OpenGL imaging subset. This program demonstrates use of blendEquation. The following keys change the selected blend equation function: 'a' -> FuncAdd 's' -> FuncSubtract 'r' -> FuncReverseSubtract 'm' -> Min 'x' -> Max -} import Data.Char ( toLower ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT myInit :: IO () myInit = do clearColor $= Color4 1 1 0 0 blendFunc $= (One, One) blend $= Enabled display :: DisplayCallback display = do clear [ ColorBuffer ] color (Color3 0 0 (1 :: GLfloat)) rect (Vertex2 (-0.5) (-0.5)) (Vertex2 0.5 (0.5 :: GLfloat)) flush reshape :: ReshapeCallback reshape size@(Size w h) = do let aspect = fromIntegral w / fromIntegral h viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity if aspect < 1 then let aspect' = recip aspect in ortho (-aspect') aspect' (-1) 1 (-1) 1 else ortho (-1) 1 (-aspect) aspect (-1) 1 matrixMode $= Modelview 0 keyboard :: KeyboardMouseCallback keyboard (Char c) Down _ _ = case toLower c of -- Colors are added as: (0, 0, 1) + (1, 1, 0) = (1, 1, 1) -- which will produce a white square on a yellow background. 'a' -> setBlendEquation FuncAdd -- Colors are subtracted as: (0, 0, 1) - (1, 1, 0) = (-1, -1, 1) -- which is clamped to (0, 0, 1), producing a blue square on a -- yellow background 's' -> setBlendEquation FuncSubtract -- Colors are subtracted as: (1, 1, 0) - (0, 0, 1) = (1, 1, -1) -- which is clamed to (1, 1, 0). This produces yellow for both -- the square and the background. 'r' -> setBlendEquation FuncReverseSubtract -- The minimum of each component is computed, as -- [min(0, 1), min(0, 1), min(1, 0)] which equates to (0, 0, 0). -- This will produce a black square on the yellow background. 'm' -> setBlendEquation Min -- The minimum of each component is computed, as -- [max(0, 1), max(0, 1), max(1, 0)] which equates to (1, 1, 1) -- This will produce a white square on the yellow background. 'x' -> setBlendEquation Max '\27' -> exitWith ExitSuccess _ -> return () where setBlendEquation e = do blendEquation $= e postRedisplay Nothing keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 512 512 initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard displayCallback $= display mainLoop GLUT-2.4.0.0/examples/RedBook/BezSurf.hs0000644000000000000000000000522612121453247015701 0ustar0000000000000000{- BezSurf.hs (adapted from bezsurf.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program renders a wireframe Bezier surface, using two-dimensional evaluators. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT ctrlPoints :: [[Vertex3 GLfloat]] ctrlPoints = [ [ Vertex3 (-1.5) (-1.5) 4.0, Vertex3 (-0.5) (-1.5) 2.0, Vertex3 0.5 (-1.5) (-1.0), Vertex3 1.5 (-1.5) 2.0 ], [ Vertex3 (-1.5) (-0.5) 1.0, Vertex3 (-0.5) (-0.5) 3.0, Vertex3 0.5 (-0.5) 0.0, Vertex3 1.5 (-0.5) (-1.0) ], [ Vertex3 (-1.5) 0.5 4.0, Vertex3 (-0.5) 0.5 0.0, Vertex3 0.5 0.5 3.0, Vertex3 1.5 0.5 4.0 ], [ Vertex3 (-1.5) 1.5 (-2.0), Vertex3 (-0.5) 1.5 (-2.0), Vertex3 0.5 1.5 0.0, Vertex3 1.5 1.5 (-1.0) ]] -- Hey mom, look, it's C! ;-) for :: GLfloat -> GLfloat -> (GLfloat -> IO ()) -> IO () for s e f = mapM_ f [ i | i <- [ s, if s <= e then s + 1 else s - 1 .. e ] ] display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] color (Color3 1 1 1 :: Color3 GLfloat) preservingMatrix $ do rotate (85 :: GLfloat) (Vector3 1 1 1) for 0 8 $ \j -> do renderPrimitive LineStrip $ do for 0 30 $ \i -> evalCoord2 (i/30, j/ 8) renderPrimitive LineStrip $ do for 0 30 $ \i -> evalCoord2 (j/ 8, i/30) flush myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 m <- newMap2 (0, 1) (0, 1) ctrlPoints map2 $= Just (m :: GLmap2 Vertex3 GLfloat) mapGrid2 $= ((20, (0, 1)), (20, (0, 1 :: GLfloat))) depthFunc $= Just Less shadeModel $= Flat reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-4.0) 4.0 (-4.0*hf/wf) (4.0*hf/wf) (-4.0) 4.0 else ortho (-4.0*wf/hf) (4.0*wf/hf) (-4.0) 4.0 (-4.0) 4.0 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/BezMesh.hs0000644000000000000000000000526712121453247015663 0ustar0000000000000000{- BezMesh.hs (adapted from bezmesh.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program renders a lighted, filled Bezier surface, using two-dimensional evaluators. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Data.List ( transpose ) import Graphics.UI.GLUT ctrlPoints :: [[Vertex3 GLfloat]] ctrlPoints = [ [ Vertex3 (-1.5) (-1.5) 4.0, Vertex3 (-0.5) (-1.5) 2.0, Vertex3 0.5 (-1.5) (-1.0), Vertex3 1.5 (-1.5) 2.0 ], [ Vertex3 (-1.5) (-0.5) 1.0, Vertex3 (-0.5) (-0.5) 3.0, Vertex3 0.5 (-0.5) 0.0, Vertex3 1.5 (-0.5) (-1.0) ], [ Vertex3 (-1.5) 0.5 4.0, Vertex3 (-0.5) 0.5 0.0, Vertex3 0.5 0.5 3.0, Vertex3 1.5 0.5 4.0 ], [ Vertex3 (-1.5) 1.5 (-2.0), Vertex3 (-0.5) 1.5 (-2.0), Vertex3 0.5 1.5 0.0, Vertex3 1.5 1.5 (-1.0) ]] initlights :: IO () initlights = do lighting $= Enabled light (Light 0) $= Enabled ambient (Light 0) $= Color4 0.2 0.2 0.2 1.0 position (Light 0) $= Vertex4 0 0 2 1 materialDiffuse Front $= Color4 0.6 0.6 0.6 1.0 materialSpecular Front $= Color4 1.0 1.0 1.0 1.0 materialShininess Front $= 50 display :: DisplayCallback display = do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do rotate (85 :: GLfloat) (Vector3 1 1 1) evalMesh2 Fill (0, 20) (0, 20) flush myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 depthFunc $= Just Less m <- newMap2 (0, 1) (0, 1) (transpose ctrlPoints) map2 $= Just (m :: GLmap2 Vertex3 GLfloat) autoNormal $= Enabled mapGrid2 $= ((20, (0, 1)), (20, (0, 1 :: GLfloat))) initlights -- for lighted version only reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-4.0) 4.0 (-4.0*hf/wf) (4.0*hf/wf) (-4.0) 4.0 else ortho (-4.0*wf/hf) (4.0*wf/hf) (-4.0) 4.0 (-4.0) 4.0 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/BezCurve.hs0000644000000000000000000000375312121453247016051 0ustar0000000000000000{- BezCurve.hs (adapted from bezcurve.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program uses evaluators to draw a Bezier curve. -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT ctrlPoints :: [Vertex3 GLfloat] ctrlPoints = [ Vertex3 (-4)(-4) 0, Vertex3 (-2) 4 0, Vertex3 2 (-4) 0, Vertex3 4 4 0 ] myInit :: IO () myInit = do clearColor $= Color4 0 0 0 0 shadeModel $= Flat m <- newMap1 (0, 1) ctrlPoints map1 $= Just (m :: GLmap1 Vertex3 GLfloat) display :: DisplayCallback display = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 1 1 1) renderPrimitive LineStrip $ mapM_ evalCoord1 [ i/30.0 :: GLfloat | i <- [0..30] ] -- The following code displays the control points as dots. pointSize $= 5 color3f (Color3 1 1 0) renderPrimitive Points $ mapM_ vertex ctrlPoints flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-5.0) 5.0 (-5.0*hf/wf) (5.0*hf/wf) (-5.0) 5.0 else ortho (-5.0*wf/hf) (5.0*wf/hf) (-5.0) 5.0 (-5.0) 5.0 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName myInit displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/Alpha3D.hs0000644000000000000000000000767112121453247015543 0ustar0000000000000000{- Alpha3D.hs (adapted from alpha3D.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates how to intermix opaque and alpha blended polygons in the same scene, by using depthMask. Press the 'a' key to animate moving the transparent object through the opaque object. Press the 'r' key to reset the scene. -} import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT maxZ, minZ, zInc :: GLfloat maxZ = 8 minZ = -8 zInc = 0.4 -- We don't animate via the idle callback, because this is way too fast on -- modern computers. A timer with the delay below is used instead for redraw. delay :: Timeout delay = 100 data State = State { solidZ, transparentZ :: IORef GLfloat } makeState :: IO State makeState = do s <- newIORef maxZ t <- newIORef minZ return $ State { solidZ = s, transparentZ = t } data DisplayLists = DisplayLists { sphereList, cubeList :: DisplayList } myInit :: IO DisplayLists myInit = do materialSpecular Front $= Color4 1 1 1 0.15 materialShininess Front $= 100 position (Light 0) $= Vertex4 0.5 0.5 1 0 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less s <- defineNewList Compile $ renderObject Solid (Sphere' 0.4 16 16) c <- defineNewList Compile $ renderObject Solid (Cube 0.6) return $ DisplayLists { sphereList = s, cubeList = c } display :: State -> DisplayLists -> DisplayCallback display state displayLists = do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do s <- get (solidZ state) translate (Vector3 (-0.15) (-0.15) s) materialEmission Front $= Color4 0 0 0 1 materialDiffuse Front $= Color4 0.75 0.75 0 1 callList (sphereList displayLists) preservingMatrix $ do t <- get (transparentZ state) translate (Vector3 (0.15) (0.15) t) rotate (15 :: GLfloat) (Vector3 1 1 0) rotate (30 :: GLfloat) (Vector3 0 1 0) materialEmission Front $= Color4 0 0.3 0.3 0.6 materialDiffuse Front $= Color4 0 0.8 0.8 0.6 blend $= Enabled depthMask $= Disabled blendFunc $= (SrcAlpha, One) callList (cubeList displayLists) depthMask $= Enabled blend $= Disabled swapBuffers reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-1.5) 1.5 (-1.5*hf/wf) (1.5*hf/wf) (-10) 10 else ortho (-1.5*wf/hf) (1.5*wf/hf) (-1.5) 1.5 (-10) 10 matrixMode $= Modelview 0 loadIdentity animate :: State -> TimerCallback animate state = do s <- get (solidZ state) t <- get (transparentZ state) if (s <= minZ || t >= maxZ) then idleCallback $= Nothing else do solidZ state $~ (+ (- zInc)) transparentZ state $~ (+ zInc) addTimerCallback delay (animate state) postRedisplay Nothing keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case toLower c of 'a' -> do solidZ state $= maxZ; transparentZ state $= minZ; addTimerCallback delay (animate state) 'r' -> do solidZ state $= maxZ; transparentZ state $= minZ; postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize -- The original C example uses single buffering, which flickers a lot. initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] initialWindowSize $= Size 500 500 createWindow progName state <- makeState displayLists <- myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) displayCallback $= display state displayLists mainLoop GLUT-2.4.0.0/examples/RedBook/Alpha.hs0000644000000000000000000000527412121453247015351 0ustar0000000000000000{- Alpha.hs (adapted from alpha.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws several overlapping filled polygons to demonstrate the effect order has on alpha blending results. Use the 't' key to toggle the order of drawing polygons. -} import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { leftFirst :: IORef Bool } makeState :: IO State makeState = do l <- newIORef True return $ State { leftFirst = l } -- Initialize alpha blending function. myInit :: IO () myInit = do blend $= Enabled blendFunc $= (SrcAlpha, OneMinusSrcAlpha) shadeModel $= Flat clearColor $= Color4 0 0 0 0 drawLeftTriangle :: IO () drawLeftTriangle = -- draw yellow triangle on LHS of screen renderPrimitive Triangles $ do color (Color4 1 1 0 (0.75 :: GLfloat)) vertex (Vertex3 0.1 0.9 (0 :: GLfloat)) vertex (Vertex3 0.1 0.1 (0 :: GLfloat)) vertex (Vertex3 0.7 0.5 (0 :: GLfloat)) drawRightTriangle :: IO () drawRightTriangle = -- draw cyan triangle on RHS of screen renderPrimitive Triangles $ do color (Color4 0 1 1 (0.75 :: GLfloat)) vertex (Vertex3 0.9 0.9 (0 :: GLfloat)) vertex (Vertex3 0.3 0.5 (0 :: GLfloat)) vertex (Vertex3 0.9 0.1 (0 :: GLfloat)) display :: State -> DisplayCallback display state = do clear [ ColorBuffer ] l <- get (leftFirst state) if l then do drawLeftTriangle; drawRightTriangle else do drawRightTriangle; drawLeftTriangle flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho2D 0 1 0 (hf/wf) else ortho2D 0 (wf/hf) 0 1 keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case toLower c of 't' -> do leftFirst state $~ not; postRedisplay Nothing '\27' -> exitWith ExitSuccess -- Escape key _ -> return () keyboard _ _ _ _ _ = return () -- Main Loop -- Open window with initial window size, title bar, RGBA display mode, and -- handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 200 200 createWindow progName state <- makeState myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) displayCallback $= display state mainLoop GLUT-2.4.0.0/examples/RedBook/AccPersp.hs0000644000000000000000000001400712121453247016016 0ustar0000000000000000{- AccPersp.hs (adapted from accpersp.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Use the accumulation buffer to do full-scene antialiasing on a scene with perspective projection, using the special routines accFrustum and accPerspective. -} import Data.List ( genericLength ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- j8 contains values in the range -.5 < x < .5, -.5 < y < .5, and have a -- gaussian distribution around the origin. Use these to do model jittering for -- scene anti-aliasing and view volume jittering for depth of field effects. Use -- in conjunction with the accwindow routine. j8 :: [Vector2 GLdouble] j8 = [ Vector2 (-0.334818) 0.435331 , Vector2 0.286438 (-0.393495), Vector2 0.459462 0.141540 , Vector2 (-0.414498) (-0.192829), Vector2 (-0.183790) 0.082102 , Vector2 (-0.079263) (-0.317383), Vector2 0.102254 0.299133 , Vector2 0.164216 (-0.054399) ] -- The first 6 arguments are identical to the frustum call. pixD is anti-alias -- jitter in pixels. Use (Vector2 0 0) for no anti-alias jitter. eyeD is -- depth-of field jitter in pixels. Use (Vector2 0 0) for no depth of field -- effects. focus is distance from eye to plane in focus. focus must be greater -- than, but not equal to 0. Note that accFrustum calls translate. You will -- probably want to insure that your ModelView matrix has been initialized to -- identity before calling accFrustum. accFrustum :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> Vector2 GLdouble -> Vector2 GLdouble -> GLdouble -> IO () accFrustum left right bottom top zNear zFar (Vector2 pixDx pixDy) (Vector2 eyeDx eyeDy) focus = do (_, Size w h) <- get viewport let xWSize = right - left; yWSize = top - bottom; dx = -(pixDx * xWSize / fromIntegral w + eyeDx * zNear / focus) dy = -(pixDy * yWSize / fromIntegral h + eyeDy * zNear / focus) matrixMode $= Projection loadIdentity frustum (left + dx) (right + dx) (bottom + dy) (top + dy) zNear zFar matrixMode $= Modelview 0 loadIdentity translate (Vector3 (-eyeDx) (-eyeDy) 0) -- The first 4 arguments are identical to the perspective call. pixD is -- anti-alias jitter in pixels. Use (Vector2 0 0) for no anti-alias jitter. eyeD -- is depth-of field jitter in pixels. Use (Vector2 0 0) for no depth of field -- effects. focus is distance from eye to plane in focus. focus must be greater -- than, but not equal to 0. Note that accPerspective calls accFrustum. accPerspective :: GLdouble -> GLdouble -> GLdouble -> GLdouble -> Vector2 GLdouble -> Vector2 GLdouble -> GLdouble -> IO () accPerspective fovY aspect zNear zFar pixD eyeD focus = do let fov2 = ((fovY * pi) / 180) / 2 top = zNear / (cos fov2 / sin fov2) bottom = -top right = top * aspect left = -right accFrustum left right bottom top zNear zFar pixD eyeD focus -- Initialize lighting and other values. myInit :: IO () myInit = do materialAmbient Front $= Color4 1 1 1 1 materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 50 position (Light 0) $= Vertex4 0 0 10 1 lightModelAmbient $= Color4 0.2 0.2 0.2 1 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less shadeModel $= Flat clearColor $= Color4 0 0 0 0 clearAccum $= Color4 0 0 0 0 displayObjects :: IO () displayObjects = do -- resolve overloading, not needed in "real" programs let translatef = translate :: Vector3 GLfloat -> IO () rotatef = rotate :: GLfloat -> Vector3 GLfloat -> IO () preservingMatrix $ do translatef (Vector3 0 0 (-5)) rotatef 30 (Vector3 1 0 0) preservingMatrix $ do translatef (Vector3 (-0.80) 0.35 0) rotatef 100 (Vector3 1 0 0) materialDiffuse Front $= Color4 0.7 0.7 0 1 renderObject Solid (Torus 0.275 0.85 16 16) preservingMatrix $ do translatef (Vector3 (-0.75) (-0.50) 0) rotatef 45 (Vector3 0 0 1) rotatef 45 (Vector3 1 0 0) materialDiffuse Front $= Color4 0 0.7 0.7 1 renderObject Solid (Cube 1.5) preservingMatrix $ do translatef (Vector3 0.75 0.60 0) rotatef 30 (Vector3 1 0 0) materialDiffuse Front $= Color4 0.7 0 0.7 1 renderObject Solid (Sphere' 1 16 16) preservingMatrix $ do translatef (Vector3 0.70 (-0.90) 0.25) materialDiffuse Front $= Color4 0.7 0.4 0.4 1 renderObject Solid Octahedron -- display draws 5 teapots into the accumulation buffer several times; each time -- with a jittered perspective. The focal point is at z = 5.0, so the gold -- teapot will stay in focus. The amount of jitter is adjusted by the magnitude -- of the accPerspective jitter; in this example, 0.33. In this example, the -- teapots are drawn 8 times. display :: DisplayCallback display = do (_, Size w h) <- get viewport clear [ AccumBuffer ] flip mapM_ j8 $ \(Vector2 x y) -> do clear [ ColorBuffer, DepthBuffer ] accPerspective 50 (fromIntegral w / fromIntegral h) 1 15 (Vector2 x y) (Vector2 0 0) 1 displayObjects accum Accum (recip (genericLength j8)) accum Return 1 flush reshape :: ReshapeCallback reshape size = do viewport $= (Position 0 0, size) keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Be certain you request an accumulation buffer. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithAccumBuffer, WithDepthBuffer ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/AccAnti.hs0000644000000000000000000001066712121453247015630 0ustar0000000000000000{- AccAnti.hs (adapted from accanti.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Use the accumulation buffer to do full-scene antialiasing on a scene with orthographic parallel projection. -} import Data.List ( genericLength ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT -- j8 contains values in the range -.5 < x < .5, -.5 < y < .5, and have a -- gaussian distribution around the origin. Use these to do model jittering for -- scene anti-aliasing and view volume jittering for depth of field effects. Use -- in conjunction with the accwindow routine. j8 :: [Vector2 GLdouble] j8 = [ Vector2 (-0.334818) 0.435331 , Vector2 0.286438 (-0.393495), Vector2 0.459462 0.141540 , Vector2 (-0.414498) (-0.192829), Vector2 (-0.183790) 0.082102 , Vector2 (-0.079263) (-0.317383), Vector2 0.102254 0.299133 , Vector2 0.164216 (-0.054399) ] -- Initialize lighting and other values. myInit :: IO () myInit = do materialAmbient Front $= Color4 1 1 1 1 materialSpecular Front $= Color4 1 1 1 1 materialShininess Front $= 50 position (Light 0) $= Vertex4 0 0 10 1 lightModelAmbient $= Color4 0.2 0.2 0.2 1 lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less shadeModel $= Flat clearColor $= Color4 0 0 0 0 clearAccum $= Color4 0 0 0 0 displayObjects :: IO () displayObjects = do -- resolve overloading, not needed in "real" programs let translatef = translate :: Vector3 GLfloat -> IO () rotatef = rotate :: GLfloat -> Vector3 GLfloat -> IO () preservingMatrix $ do rotatef 30 (Vector3 1 0 0) preservingMatrix $ do translatef (Vector3 (-0.80) 0.35 0) rotatef 100 (Vector3 1 0 0) materialDiffuse Front $= Color4 0.7 0.7 0 1 renderObject Solid (Torus 0.275 0.85 16 16) preservingMatrix $ do translatef (Vector3 (-0.75) (-0.50) 0) rotatef 45 (Vector3 0 0 1) rotatef 45 (Vector3 1 0 0) materialDiffuse Front $= Color4 0 0.7 0.7 1 renderObject Solid (Cube 1.5) preservingMatrix $ do translatef (Vector3 0.75 0.60 0) rotatef 30 (Vector3 1 0 0) materialDiffuse Front $= Color4 0.7 0 0.7 1 renderObject Solid (Sphere' 1 16 16) preservingMatrix $ do translatef (Vector3 0.70 (-0.90) 0.25) materialDiffuse Front $= Color4 0.7 0.4 0.4 1 renderObject Solid Octahedron -- display draws 5 teapots into the accumulation buffer several times; each time -- with a jittered perspective. The focal point is at z = 5.0, so the gold -- teapot will stay in focus. The amount of jitter is adjusted by the magnitude -- of the accPerspective jitter; in this example, 0.33. In this example, the -- teapots are drawn 8 times. display :: DisplayCallback display = do (_, Size w h) <- get viewport clear [ AccumBuffer ] flip mapM_ j8 $ \(Vector2 x y) -> do clear [ ColorBuffer, DepthBuffer ] preservingMatrix $ do -- Note that 4.5 is the distance in world space between left and right -- and bottom and top. This formula converts fractional pixel movement -- to world coordinates. translate (Vector3 (x*4.5/fromIntegral w) (y*4.5/fromIntegral h) 0) displayObjects accum Accum (recip (genericLength j8)) accum Return 1 flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho (-2.25) 2.25 (-2.25*hf/wf) (2.25*hf/wf) (-10) 10 else ortho (-2.25*wf/hf) (2.25*wf/hf) (-2.25) 2.25 (-10) 10 matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () -- Main Loop: Be certain to request an accumulation buffer. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode, WithAccumBuffer, WithDepthBuffer ] initialWindowSize $= Size 250 250 initialWindowPosition $= Position 100 100 createWindow progName myInit reshapeCallback $= Just reshape displayCallback $= display keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/RedBook/AARGB.hs0000644000000000000000000000605412121453247015135 0ustar0000000000000000{- AARGB.hs (adapted from aargb.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws shows how to draw anti-aliased lines. It draws two diagonal lines to form an X; when 'r' is typed in the window, the lines are rotated in opposite directions. -} import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { rotAngle :: IORef Int } makeState :: IO State makeState = do r <- newIORef 0 return $ State { rotAngle = r } -- Initialize antialiasing for RGBA mode, including alpha blending, hint, and -- line width. Print out implementation specific info on line width granularity -- and width. myInit :: IO () myInit = do g <- get smoothLineWidthGranularity putStrLn ("smoothLineWidthGranularity is " ++ show g) r <- get smoothLineWidthRange putStrLn ("smoothLineWidthRange is " ++ show r) lineSmooth $= Enabled blend $= Enabled blendFunc $= (SrcAlpha, OneMinusSrcAlpha) hint LineSmooth $= DontCare lineWidth $= 1.5 clearColor $= Color4 0 0 0 0 -- Draw 2 diagonal lines to form an X display :: State -> DisplayCallback display state = do r <- get (rotAngle state) clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () vertex2f = vertex :: Vertex2 GLfloat -> IO () color3f (Color3 0 1 0) preservingMatrix $ do rotate (-(fromIntegral r :: GLfloat)) (Vector3 0 0 0.1) renderPrimitive Lines $ do vertex2f (Vertex2 (-0.5) 0.5) vertex2f (Vertex2 0.5 (-0.5)) color3f (Color3 0 0 1) preservingMatrix $ do rotate (fromIntegral r :: GLfloat) (Vector3 0 0 0.1) renderPrimitive Lines $ do vertex2f (Vertex2 0.5 0.5) vertex2f (Vertex2 (-0.5) (-0.5)) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho2D (-1) 1 (-1*hf/wf) (1*hf/wf) else ortho2D (-1*wf/hf) (1*wf/hf) (-1) 1 matrixMode $= Modelview 0 loadIdentity keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case toLower c of 'r' -> do rotAngle state $~ ((`mod` 360) . (+ 30)); postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ = return () -- Main Loop -- Open window with initial window size, title bar, -- RGBA display mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 200 200 createWindow progName state <- makeState myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) displayCallback $= display state mainLoop GLUT-2.4.0.0/examples/RedBook/AAIndex.hs0000644000000000000000000000623312121453247015571 0ustar0000000000000000{- AAIndex.hs (adapted from aaindex.c which is (c) Silicon Graphics, Inc.) Copyright (c) Sven Panne 2002-2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program draws shows how to draw anti-aliased lines in color index mode. It draws two diagonal lines to form an X; when 'r' is typed in the window, the lines are rotated in opposite directions. -} import Data.Char ( toLower ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT data State = State { rotAngle :: IORef Int } makeState :: IO State makeState = do r <- newIORef 0 return $ State { rotAngle = r } rampSize, ramp1Start, ramp2Start :: GLint rampSize = 16 ramp1Start = 32 ramp2Start = 48 -- Initialize antialiasing for color index mode, including loading a green color -- ramp starting at ramp1Start, and a blue color ramp starting at ramp2Start. -- The ramps must be a multiple of 16. myInit :: IO () myInit = do flip mapM_ [ 0 .. rampSize - 1 ] $ \i -> do let shade = fromIntegral i / fromIntegral rampSize colorMapEntry (Index1 (ramp1Start + i)) $= Color3 0 shade 0 colorMapEntry (Index1 (ramp2Start + i)) $= Color3 0 0 shade lineSmooth $= Enabled hint LineSmooth $= DontCare lineWidth $= 1.5 clearIndex $= Index1 (fromIntegral ramp1Start) -- Draw 2 diagonal lines to form an X display :: State -> DisplayCallback display state = do r <- get (rotAngle state) clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let vertex2f = vertex :: Vertex2 GLfloat -> IO () index (Index1 ramp1Start) preservingMatrix $ do rotate (-(fromIntegral r :: GLfloat)) (Vector3 0 0 0.1) renderPrimitive Lines $ do vertex2f (Vertex2 (-0.5) 0.5) vertex2f (Vertex2 0.5 (-0.5)) index (Index1 ramp2Start) preservingMatrix $ do rotate (fromIntegral r :: GLfloat) (Vector3 0 0 0.1) renderPrimitive Lines $ do vertex2f (Vertex2 0.5 0.5) vertex2f (Vertex2 (-0.5) (-0.5)) flush reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity let wf = fromIntegral w hf = fromIntegral h if w <= h then ortho2D (-1) 1 (-1*hf/wf) (1*hf/wf) else ortho2D (-1*wf/hf) (1*wf/hf) (-1) 1 matrixMode $= Modelview 0 loadIdentity keyboard :: State -> KeyboardMouseCallback keyboard state (Char c) Down _ _ = case toLower c of 'r' -> do rotAngle state $~ ((`mod` 360) . (+ 30)); postRedisplay Nothing '\27' -> exitWith ExitSuccess _ -> return () keyboard _ _ _ _ _ = return () -- Main Loop -- Open window with initial window size, title bar, -- color index display mode, and handle input events. main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, IndexMode ] initialWindowSize $= Size 200 200 createWindow progName state <- makeState myInit reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) displayCallback $= display state mainLoop GLUT-2.4.0.0/examples/RedBook/00-README0000644000000000000000000001252512121453247015062 0ustar0000000000000000This file lists the programs that are referenced in the OpenGL Programming Guide, Fourth Edition, by chapter. For each program, the version of OpenGL that is required is listed with the program. Chapter 1: Introduction to OpenGL Hello.hs (1.0) Double.hs (1.0) Chapter 2: State Management and Drawing Geometric Objects Lines.hs (1.0) Polys.hs (1.0) VArray.hs (1.1) MVArray.hs (1.4) Chapter 3: Viewing Cube.hs (1.0) Model.hs (1.0) Clip.hs (1.0) Planet.hs (1.0) Robot.hs (1.0) UnProject.hs (1.1) Chapter 4: Color Smooth.hs (1.0) Chapter 5: Lighting Light.hs (1.0) MoveLight.hs (1.0) Material.hs (1.0) ColorMat.hs (1.1) Scene.hs (1.0) Chapter 6: Blending, Antialiasing, Fog, and Polygon Offset BlendEqn.hs (1.3 or ARB_imaging_subset) Alpha.hs (1.0) Alpha3D.hs (1.1) AARGB.hs (1.1) AAIndex.hs (1.1) Multisamp.hs (1.3) Fog.hs (1.0) FogIndex.hs (1.0) FogCoord.hs (1.4) PointP.hs (1.4) PolyOff.hs (1.1) Chapter 7: Display Lists Torus.hs (1.0) DList.hs (1.0) Stroke.hs (1.0) Chapter 8: Drawing Pixels, Bitmaps, Fonts, and Images DrawF.hs (1.0) Font.hs (1.0) Image.hs (1.1) ColorTable.hs (ARB_imaging_subset) Convolution.hs (ARB_imaging_subset) ColorMatrix.hs (ARB_imaging_subset) Histogram.hs (ARB_imaging_subset) Minmax.hs (ARB_imaging_subset) Chapter 9: Texture Mapping Checker.hs (1.0) TexSub.hs (1.1) Texture3D.hs (1.2) Mipmap.hs (1.0) TexBind.hs (1.1) TexGen.hs (1.1) CubeMap.hs (1.3) MultiTex.hs (1.3 or ARB_multitexture) Combiner.hs (1.3) ShadowMap.hs (1.4) Wrap.hs (1.0) TexProx.hs (1.1) Chapter 10: The Framebuffer Stencil.hs (1.0) AccPersp.hs (1.0) AccAnti.hs (1.0) DOF.hs (1.0) Chapter 11: Tessellators and Quadrics Tess.hs (1.1) TessWind.hs (1.1) Quadric.hs (1.1) Chapter 12: Evaluators and NURBS BezCurve.hs (1.1) BezSurf.hs (1.1) BezMesh.hs (1.1) TextureSurf.hs (1.1) Surface.hs (1.1) SurfPoints.hs (1.2) Trim.hs (1.1) Chapter 13: Selection and Feedback Select.hs (1.1) PickSquare.hs (1.0) PickDepth.hs (1.0) Feedback.hs (1.0) Chapter 14: Now That You Know Color Plates: Teapots.hs (1.1) Some remarks regarding the style of the programs: To ease comparisons, the Haskell programs in this directory try to stay as close to the original examples in C as possible. Consequently, they should not be considered as examples for the best way to implement things in Haskell. The Haskell OpenGL binding uses overloading quite extensively, which makes its use quite flexible, e.g.: class Vertex a where vertex :: a -> IO () vertexv :: Ptr a -> IO () This single class subsumes all 24 vertex specification calls in OpenGL's C binding, i.e. glVertex{234}{sifd}[v](), with the help of the following class and instances: class VertexComponent a -- an opaque class VertexComponent GLshort VertexComponent GLint VertexComponent GLfloat VertexComponent GLdouble VertexComponent a => Vertex (Vertex2 a) VertexComponent a => Vertex (Vertex3 a) VertexComponent a => Vertex (Vertex4 a) There is a small inconvenience with this when used in "toy" programs: Haskell's numeric literals are overloaded, too, so the programmer's help is needed to disambiguate the type of expressions like: vertex (Vertex3 0 0 1) Let's assume we mean the equivalent of glVertex3f() here. One can either use an explicitly typed helper function: let vertex3f = vertex :: Vertex3 GLfloat -> IO () in vertex3f (Vertex3 0 0 1) This comes in handy when there are a lot of uses of vertex3f. An alternative is to use a type annotation for the literal: vertex (Vertex3 0 0 (1 :: GLfloat)) or a type annotation for the vertex: vertex (Vertex3 0 0 1 :: Vertex3 GLfloat) This is largely a matter of taste and normally not a problem in "real" programs with type signatures for functions. Sometimes different callbacks need to share some state, which is done via global variables in the C examples. To achieve a unified presentation, all Haskell examples use a `State' type for this purpose, which collects the different parts of the global state, i.e. one or more IORefs. There are alternatives for modeling this, which should be considered in own programs, depending on the use cases: * Separate IORefs: This makes it explicit which parts of the program need which parts of the state. * A single IORef/MVar containing all the state: This enables one to change the whole state atomically, which is often quite handy in multithreaded programs. * A custom monad: This can hide all the state threading behind the scenes. GLUT-2.4.0.0/examples/RedBook/Data/0000755000000000000000000000000012121453247014631 5ustar0000000000000000GLUT-2.4.0.0/examples/RedBook/Data/leeds.bin0000644000000000000000000257733512121453247016445 0ustar0000000000000000W‘ÍÙÜÐÛÜÀÖÓ“¯sm¥gbdo§os¥jp¥p€±‚°}‡±‚°‚‡¶Œ‚´‹‡½‘Šº½–˜¾›˜Ä£˜Á¢ Æª Åª¤Ë«¤É¬¦Ë¯¨Í´©Í³®Ì¸°Ï»°Ñ¿·ÒÂ·ÖÆºØÈ»×ɼÛ˽ÛϽÜϾÛν×Ì»ÖʾØÎÃßÖÃÝÕÄÞÕÃÝÖÇߨÂÜÑÌãÝËáÚÆâÜÉâÛÉâÝÊäßËãáÎãßÊàÝÏàÝÏãàÏæâÑåãÐâàÔææÖçæÓäåÔçæÕèêÖêèÖèéØééØêé×çèÖçèÚçêÛçêÜèêÙèêÛêêÛêêÛêêÙæêÙçêÜêìÝéìÜéëÛêêÜêìÝêìÝêìÝêíÞêìáêëßêëÞìëÝêìßîíÞììÞëíÞêíàêíàêìàìðÞëîßëðÞéíÝëíÝéìÝéêàëìÞêëàëëÜêìÞëêÞëìÞëëßêîÞèíàêíàêíàêíÞéìÞêïÞéîÞêíÞêíßêìßêëàêëÝêìÝëîàêîÞêîÝëìßëìßìîàéêßêëßìíßëìßêîÝêïÞëìÞìêßêëàèêàéêÞêìÞéíÞéîÜêìÝèêÞêéßéèßèêßéëÝêíÞêîÝëîßêëßéëÞèëÞèëßèéàéëÞèìÞèìÞéìÞèêßèêÞèèàçèàçéßèíÝèìÝéìÞéìÞèèÞèêàèéàêëàéëÞéìÞéëÞéìÞêêßêêÞèèÞçêÞèêÞéêÝçêÞçêÞçêÝéèÝèçÝçéßçéÝçèÝçéÝèèÜçêÝçèÝççÜçæÝççÞæèÞçèÜæèÜæéÝçêÝçèÝèçÝççÝçæÝççÞæèÝçèÞæéÞçêÜèèÛççÛæèÜçéßçæÞæçÝçéÝçêÝèéÝçèÜççÝçæÝææÞåçÝæåÜæèÛçèÝçèÝççÜçæÜææÝææÝææÝæèÜçéÜçéÜççÝçåÜççÜææÝååÜçæÝæçÜæèÜåçÜææÜççÜåæÜææÜçæÜåçÝææÜççÛææÛåæÛççÛåçÛåæÛååÛææÛæçÝæçÛæèÜçæÜçæÝæåÛæåÜæèÝåçÜææÝæçÜæçÛäæÜåæÛåçÜåçÛååÚåçÛåçÛåçÛååÛæåÙåæÛææÛåæÜäæÛäåÛææÚåæÚæçÛåæÜææÜæçÝåçÜåæÜåèÛåæÜæçÛæçÛæçÜæçÛåæÝæåÝåçÜæçÛåèÜçèÛçæÝææÜåèÝççÛåèÜæçÞæçÜçéÝæéÜæèÝçèÜæçÝæçÜæçÝææÝæèÚçèÛççÛæèÛæéÛåçÚåçÜæçÛåçÛæèÛæçÛæéÛçèÝæéÝçèÜåèÝæèÜçèÜçèÛæèÝæèÚåèØãåÛåèÛççÝççÜæèÝææÜççÛçèÝèèÛåçÜæèÝæéÝçèÝèêÝæêÛæéÝæéÜæéÜæèÝçéÝçéÜæéÜæéÜçéÛçèÜçéÚååÝæèÝæéÝçéÝçéÝçéÜçéÝçêÝçëÞèêÝèèÞæéÞçêÞçêÝèêÝêìÝèêßèêÞèêÝèìÞéêÝèèÞèêÜéêÝèêÞèêÞéêÞéëÞèìßçìàèìßçêÞçêÝéëÝèìÞèêÞèêàèëàèêßéêÞéêÝéêÝèëÞéëÞéêÞèéÞèêßéêàéêÞéêÝéêßéìÞèìßèêÞêëßìêàêêßèéÝèêÞéëßêíÞéêÞêëÞéêÝèêàêêàêìàéìàêìàëìÞêìÞëìÞêêâéìàéìàêìàèìßëìßéìßêìßêìßêëßêëàêëáêìßéìàëîÞëìÞììáëëàêìáéìáéìáêíàêìàëíâìíßììßêìàèëâéêâéìßêìÞêîÞìíßìîàììàêëáêêàèêàèìÞëîàëíßéíàëìßêíàéìßéìàèëßéíÞêíÞéìÞèìÝêëÝééÞèéßèëàêëÞéíÝêìÝêìÝêëßëíßéëßèìßèëÞêìÞëêÞêíÛéîáëìßêíÞèìáêìàéëàèíÞéíÝêìÞêîÞêëÞìëßëëßéêàçêÞèêÞèíßêîßêìÞëëÝéìÞêìÝéëßèëßèëßéíÞêíÝêíÝêìÞêêÝèéÞéêÞèëÜæêÞéìÞëìßëìÞëêÞéëÞèëÞèêÞéìÞéëÞèëÞéíßêìßêìÞééÞèëÝèëÝèêÞèìÞêëÞèêÞçêÝèêÝçêÝèèÞèêÝçêÝèêÝçìÝèëÝçéÝçèÝæêÞæêÜçèÜæêÝæéÝçêÜæêÝæèÝçèÛçèÛæçÛæéÜäæÛåéÛåçØäæÌÖÜÌÖÛ¿ÌÅm„Zhk.`o.pp7_S'^g4LU.OZ2=H;B!\Z!dg+ELOR-__8]X%RQ)[JHNLN FN >O%NN&IP'`T+KM#FILN$FZ'^h.U[,O]-WU(GT*EY%Ca&7U2ZZ*AO%MM-CW-B].Bh:C\-=]%3O""@*F!.I!9K&CT+5M'6R+1]0Ej12W).P%(K#>V):Q.0O-&N!#F G%K)D*C&1H#W(>Q%D_.8_6Gb<;_4Hc7Lb4@c*;d/5a-=Z.<]2e2Cd/4R,b55]4Ee5Ks@Ik=NvAFeE[wLJh=?`54W2>`;EX:BdCA`>HeCCc>;X5>`@>V=HmC4Z75X6?XB=\?F_BTxRNjM:dGU}V`}SIlM9[@;^SKjXDlPJtPIrTFjO_}Y[zMeƒ_aao…lj‰l_ƒe`‰o]†kYhoŒqb‚eQq_On`Y|jT€_KubBe`KjiaoXi^}r[|gX„n_ogŒ€a€xe‡{x’{‰¥’f]†rgŒ…l“…]…€`‰…d…€c†…d„„nއh‹oŽŠh‹ˆl“ŽrŒn’r––fŒ•j”—k’›p˜šl—›xšŸ|¢z¡zž¦‚¤«„¤«}£ª†¦«‹«¯Šª³¤¯‹­´†¥°€¦²‡¦²—±¶”±ºš³º¤»ÁŸ¹½œ¶¿ž¶¾Ÿ²À ¶Á¦½Ç·Æ˜´Á˜²Â˜¶Æ™¶Åž¶Ã¡¸Æ¥¼È§½È¦¼É¢ºÈ¢ºÉªÁÊ«Â̪ÀË«ÀͬÁ˯ÄÏ®ÆÑ®ÆÒ¯ÆÒ®ÄÒ²ÈÕ¯ÇÓ°ÇÕ²ÇÓ¶ËÖ¶ÌÖ¸ËÖ²ÉÖ´ÈÖ¶ËØ·ÍÖ¶ÌÙ¸ÏÚ¹ÎܹÌÜ»ÎݽÑݽÑà¿ÑàÁÓâÁÔáÀÓàÁÓâÂÓáÆØåÃØãÃØâÂ×ãÄØãÃ×ãÅÖãÆ×ãÆØäÇÚæÆÚäÇÛäÈÝæÈÛçÉÝèÊÜèËÝçÊÜçÌàéÉÝçÍàëÌßëÎáëÎàìÎàêÑáìÏâëÒåìÑåìÒåíÓåîÓäîÓæðÕçïÖçîØçîØèîÚêîÙéïÙèïÛêñÙêðÛèíÚëìÞìðÝíñÞìðÝéðÞëòÜëïÝëðÝíïÞíðÞíðÞîïßíðàìðàìðàíñàîñÞïîßïîáïîßïðàîñàðñâîñâïñàïðÞîîÞìíáîðâððãîðàíðâìïãîñâïîâñðãðñâïðâîîâððäîóãïñãïóãîðâñïâòñâñðáïóâîðáíïâíðãíñâððäððãñòáððáîïäððäîðæïóåðñäñòäññãóóäñòåññåññæññçòóåñðåñóæòòäñðåóòæñôæðôçòôçóôåòñãñðãññãñðäðñæññåñóæòôåñóåñðãñïåñðåòòäòòåñôçòóçòóåóóæóñåóòåòóåòñåðòæðóåñóåðóäòñåññäññåòñåòðåòñæðñåññåñõåòóäòóåðñÛéãåññæóñåóóæòôæñôåòðåñóæóóåóóæñôæóóæòòæñóåñóåóòåóñåòñåòòåññæòòæòóçòóåòñæòòåóóäóòåóòäòóæòòæòóæñóåòóåóóåóòåôòäòñåòóæóñæññèñóäóóæôóæôñåóóåóóåóòæñóäñòåóóæôòæóñåòñäñòåòòæñóæòóåñóåñóäóòäóñåñòäóòãñòäðôäïñåññãðñäòóåòòäòòåòóæñóåñóåñõäðôæññãððåñòåñóåóñäñòåðòåñòåðóäðóæòóåòóåñóåñóåñòäñóåðóæñóçñôåðòäñóåñóåñôæñóäðóäñòåñòåðòåïóäðòåñóæñôåðóåðôåïóåñóåñóæòóæóóãòòäòñæñóæñôåñóåñôäðòåñóãññãðòãðñæòòåñòàäðâðóãñôåòòåòóåòóåñóæðñæïñæðòåñóãðîäïñãððãððäðóâîòãðñåðóåðòãïðâîðãîïãðïãîðãîðãîïãïñâðñâððäîïâíîÝæéÙãæÎÖØÌÖ׾ƹhzFhr.i}8rCp)ui+na)sn*hN"ed*_e*]^(`bed"jUoZ"po,lp*jm'nt.lk&bU_k"jr#c\ea$nl+b[(^a(h^&\SfT#`_#_V"XR$`Y$`P&_e1VX%HN#gW"W\$_K$LM$BK$MR&hp6[M#ZF"MLGO!PRGJ"ZW%P]*HK+ZV'UT!MC9E9G/?-@OG!?M$9L#?T0;NUU$LPIR&GX&HZ+GV&FHAO!9I"IN"8Q2Q!AG!IN+:A$2E 2EGM)7N!@J!DP'1H+EGR!CW"BZ-8S%Gc-\e2JQ$?[2A\,>[&K",DA_(9W$BK#>O$,K,K8P!;L#B\,CW":O%FZ%2E3C$90L!:W%>`&Fi*@]#:O:X$=V$>Y$NW'Zd)GW"DX"AO GE!KD IG8H6HV\!fh)]^%RV'?W,AS)]j3[h1GW'bg3K_+\Y+DS&KH i]&Sj*U` EC:T%@I FH 8DIP%OY"XW.NU$Wa'ae0`]*IS$H[)O\(Ug3OZ(K`'@S$AJ!mk*P_)D`+Ea,g{9Nh/E^#B_*Op?FY'Yr;`w7mCSj.u‹d]i6os=Vj5dm/PV \h3[p1Yf+I[+ag0kh6Za-ge)ox0|z5w0yp0ju9sg5mi3]j5dm*}u7€|5ty6nv>ru@„x=u€B`}=ezy„Hou=`sAltC}t=}Cr|||:s€>ir=_x;]s4k}?j|?„ŠDi~Bu|7†}=w‹L†“Pt~Bw…J~…G|ˆJp†Jp…Bu…FgFg|=v…Gz†Fi;e{6j|8wŒCj|5Qr;bB\tDx†Gn„Bh}>Zn+]n/b};Yw8Yvi€?[r4]v3\k+h:bx7e~<]z9e;jƒA^y;g~?iz8b|9Zx?g…BY{?Wp,Mi/LV&Id.To4Lh-f8k…9_=_?Xr3?W%Xq:_x;Xs5Kp1_{h„DVx<]v;f~AaFu‹JcF_€Bd€Bd}=d=d…HjŠG`„FZ~Bh;l†@R|?hŒOe‹P|–W›PuHwKqLhŒNj‡Ci€AeˆMY‚I\‚AaŒMi‘QhŽT^†JcˆOjŠS[E\€Hm‰Hd‹Pb„Hg‰N`€Ho‰LVxEV€La…QX‹P_‹Kl–VjŠVj”Ow˜_p’SgRW…Pe‹IgŒOeS|™`aSz›]eXu“[}^y™ai’Ym–au™^o”ZbˆX_‡\b‰Y^`^†UQ}L_‡Kl•`}”Zzžd|šdt–ZoWiŒOk’Tv“Wk„Td‡Nl’Tyžer’^o™el—\‚¢g}š_vat•`r•_pŽRp•Wj‰Ph’Rl’TeŒRb…YnŠPqŽal’\t—Rp”\pSu˜^gŽdaeeŽd_†SMrFe‰Rk’]n”ad`hŽbh‹ay”`o‘ap–cj‘]y™jq\o’^p”il]r—du’lp“`g‹[q’]{—\~˜fhˆ^n–ly–i`Šfl’ai`kˆ\r—`s‘db€VY‚bi…\bŠbj‹Zqšj€—_y—g€œe‰ r‡i†šf‚—a|™`rZ‡\{œh€¡sw–k‡¤p|žtt“aƒeŒ¡f¥iŠ¢rФyޤx„w}›kƒšc€žb„ŸgŒŸi˜cƒ™jw›rmcv—c~–dy™du–_pŽdŠšeršrzšeyše}—gs_Œ¡ly™k}˜gn‘bqds‘ivšhq•gj‹bobk‹^h†^_ƒZm‡V‚‘fµÀ£ØáãËÕØÉÓÖ¶¿ªkg8fj*ih!il0re1r`"fW^P"\SeW(li0ic%T\ X^_Z"ig(gW!hX*`V!\T[S fbaU OP[L!_WgbhV mg"dd+TTHGUS YK ]N#TR&bU#ib"IMTARG"RU)RI!JKR^4W_&OS#CO6J"TM67PK!BMUNQR%XP#PIEM?C><:B:C!@LBQRUDJAG?L0=-E39HP EO>N6J=F7H"E_/E[(VU)EQ >W(9NIL?K3J@S&2@!0C0E3C>I9IBT >D?N#G_3SS#L_ 8^';\7V;OCb(L_*>Z,:\';ZC^ RWAM;Y#@R$K]%E_#4O9OJ[>H?N@Z'Ib'EX&1O:P1N:Q2F3F1@OO!AKG];I4;?Q:J7R,I;L=W%HP)=+B1N8Q$OWA_%Se%Zf'HS/D6J4QA]TY SZ$MGKH GCJ8@<BBGLEJHNIPXNSU(EO%W[ix2@P!CT%EW(OT49D DLE@GGIUNa$>NHX)MP%HF@JO]!WW!\i@Xd:jj6pyR`g*]_*Xl2kl.fo0]k-ai1df-\a)U^*hl*Pb'Sa%I["Pk(J\"gv:dp4w|>p}5dy5ts-y}5yw/hm+ou0pn5y„Ev~<|‚?y/jx)xx/]s4Zse[%ca&ej,mr6qx?x}7~{:|‰?ŠCy…C}>…>€=jr*Zm&ew7lz:gy-kv-z…Do{>py8uy;vv5{xAw†Dx~4~‡B}…?sy5dj)\x5uz:^y?g€?yŠDt‚:cxDq}Ar„=_o,m|;j~?ev;g}=d‚;c€A^{k„Bjˆ?Wx3i„8_;f„4\{/i=d‚Cm‚4c{+`|)^|1Yu5Vq)]z3\q.^w:av?`:[z4]r.Jd#Ud$[t6\t-Qr7Ii.Mf(Vu,Tv.Y}6Y€AOt:He+Yv1_y-_v,]u8Re$\}-Nm4Yx-_{2YwWx^00D7@+D:K!GV#EK%XPYU!DKJ\G_#@T%F\*0J7HRY!;\'4Y!Bi''B=H6Q%AM$$>-B@`'Ra'He*\d)7O?T(2K6K0J:_!;W :X3M6C-9CH@K>M2H)G,F,C-@%C-K;R9L,A-N9N8M:P/P5E,L.HCVHJBW;P!A[)C\$@_$Bb$:Y%Jl1FWBVB^%Id.2I1VHT9P;R2J)Dcx:c€Ciw2jn=h…=v‚8\{;^x6Uu-Yu5a{9^x2Uv,Xw.Me!Un%[v2Rm0Ys7[p9cu5`s3e€7`v&`u-`v,Zm&Ys0Oe*D]K]Yr$\i"v‚=bv:fx.[x2To(Mj!Xo#Wh#Ug"\w.d|6\s*`s,g|.Sl#Ut)\~-Xu/a~5g‚:d{1Vt,\u*Wy'Ss!Uv(Th%cy1On+Z{3Z|7Tu*Yp'Xu)e‚3]y*d‚6\y-Xt*Xu'Yv'_v)SlSr`}&d~:Yq)k†@Yr+e„9`w)_z.Yt-Xt/[v5Wp0^z]w/_x9\u2[r/[u-`~7f|:Qr];]"@\Fc'Qe#_o0Kc&Jh)H^Ib"@\Je'Rg&L_+G^%Mf)Le&Jh*Me%Nl-F\"A]$:HK]Le#Og'If'Mj*B^'Rk&Th+Tj)E`%Ec"?Z#5R5Q2RA^Cb%Ck,Ll*Gf(]s.Lj0Ul*Vm6\k%_v/]r'gy4Zu9Ni-Ps/_p(Qj(Qs0Rs/Bj%Ed!Pf'>V"?[#H\Gh&Jj'=Z"CXF\%C]%A]"So*AW!B^Fa$D_C^(;]+@U!B\"@X&3M=T;\%5S*?Z&vˆcÏÙÛËÕÝÈÑÖ®¸¬dT*`],gm+mQ!eT)QU+ZL&\S"_`\h(di#YX`T#`^)]Q-]Y0eY+\W8C!YR#OS)LG!][&UL#ST"TLONLJRS!HLGI"WZ'QI"[])IQ%VT$Tb-[T!SK"\W(T[&HU,Pb2e[#AU&FSI]%`]'S[&NHLP-E[+Kb&=U#>N?KFD"SO3AJ'6F*OJ%RB6; )@L$@F 9=C668.@.D+A9MBO#AI$>K)EQ!4KS_'@Y 1N+T"AJ7B5@,A5G*A(D&A6L*D7I7H.I,F*J!?5K+@0L=\'GV#D[%La&BT0M?W$>[&1M!-M?W!C\'P$<[(:\%-G3N9KGOYBW!Id)BW%W]$]\"LU!Q^*BVBZ"E^%=Q>RRk-_h-Nd+Ak2Nm5Zr3Lg+Xm5_s;Qo,Ur1bv;mn/_l1eu@au^u/ds1[m*a€Bjv2Tg2[j3Yn4ew.[m*r|:br-kt,bk)Td(\n0]p2pt,dh&fo,pn.i}?r{Cmt<_p3ml-am.iz0Wi&be)js/{g'`](IG"LO#`k/d_'fh.lx>lz>nr;sv5cs3\j,mj*Wi,tu1pu0tq1`m+zƒA=t9l;k;iu4jp.js/ft2dv9`r0[h+[g,dg'Zv3br2Zq1ds8fvm€C^i0^l2cl5_m7Vm8Ui*`v5]r6f|Am~;e}au4Si'Rj$Ws0Ur0Pe&]s+^r/YbSj%Ge%Lf On$Ln&[u.Jd(Wn/Qi)C\$Qf&Ei"Pp'Ts&Yo*Tr*Sp+Ql'Rq.Sp&Wq'\y0`~.Tv+^x)Wu*_v+`}.Zv)Ys)Yy,[x2bx<]m,]v4Zn/l}9d~EXw9[j&^w=_u9Sg-bu*av/]{6j}:bz:oBYq1Kh,Rk'G]N`Qc&\o.Xl/Vm.Xr2Zo-^y8Wn1Yw0]y9Le!Yr4Hj1Pp1\y4Lg+Ys/Pe*au[%@b/Jd.Wi*D^'Sj(Ri'He'Ke1G`1Ba&Ie)Pg(Wq:Qj,Nd*Md(Lp0Lj-Yo5Ql+Uu5N[%Rf,Yu:AZ(Li1Be1Tk-Mn3Wr4Ym)Vi2Jk-Ig/Db)>]*:U"J_F^%@X!@U >NC[ >S>THd)EZ)L_"M]H_(@YMd$Aa*D_)Jf(Qh*@_"Lc%Gh,H\$Zl/Ni1M^07L@a+Qj,Nh#Pk.\h-Vh&Id0J^/Ui-Si+@_)D_$Ge,DV$@R(Y$;Z'=P"Ac.>S%Dc.AZ,v’lÎØÛÈÓ×ÇÑÕ¥¶©WS+RO)QI"SJ#eL d_%]T[Q(`^&`e(`X#]R!WGSE$RO"ROHCUKSQ%RKRO$MN#DNAK RP*Pb&SP!\V)W_*T`/^c0\^#[\#?T#XT&Tb-aj/G`*MR$>V#]d2IY(AM :F/BJH=E:K@M@Q HT"=TJOAVDJ"CB$_\,OC36AAG-H?J;4:/A!>@HE&B6%&'2.A2N"+B/I$9O 8Q ?OGR!9F=M=I<>,C8R0GA`.M+L/P#?\)BW0.L=]$2P.J,G-L4K'B$>&C%@,G'D&G>Z(-N0M2L)K(I7Q*E3F5C(F-K3K-G)@%<!E,G'C*K#6P!1U,M0M?X!BZ$:W!Da#<^%;R2Z0O;O@Y)4Z#4W%,M9^$9K8O7KE\"C`'@R:U :S"6U$M]'Fa-F`%O_"CZ?U B[&^k,Ec)Lq3Ok,Rt1Qm-Jk.Jk2lƒH[t3Ml0Xv5]r)g„4cy2Vs;c„Abw.^w6oƒ>]A]y3cq/]n)Jp.ao.`u6bx5dz2Wo/_i/as3Va,R_&Va/Lc2fw;Xj0Rj/iw5To)Xm)Xj,BW!?X$H]%Pg([h/[s8Qi+Zl)[o.Xk-Wn0Or1Od+Nd-Re,VX!I`$\u9gg)h{:Vn:Zs)Vj+as.\y9\t4hx5Rd(ar3]u:ny-m†@rA_?^}9c}2ax0at0l|1hy8bw-ou/Si'Si$Se Xg#[m,`n0\i+^q/eq)^v6Se%Tk/im,Xj,Pd%aa'R[&gl2jd5e[)^j4X`3XX$yv4q€3ou;g}=gx6er2\u5^q/gw5l{9\t2fu6qv2q~2{‰@r{3u€9h{.dr-Vf'_o(kw;bs5cu1ax3ar/i€;p~>m{6Zr.Yn,c9[s8[k2\i,\u6a{:Xv4y}=dy3as3Vm0by7e{9Tt2Wm0Xl.m{8^u2[x0^m.Ym.Oe(N_"Oj%J`$EY%D^$F`&Ne$Zs2Ys5Zq+`x-Ys-J`$X5R 5V8Q&M 2U?O@[ Df(Im.J`Rj$Rm.Zx/Ij%Op,Or5E\!Mj,Oo6Fe(\x/Rp0Qn0Qe%Kc)EY$Lc(K[$6U$Mh'EZEc'C[)?[(>a4:T#8Z#A]$B`&Ce*?_&CZ*,GBSF^D_!Rg'CW>R7Q+MLa"Gc(Le!@Y C`&Jf*Id,B\!Tl.Ld,Kd'Ql,Rh%Qk'Ji+Pl*D`-Ma*Qn9Rk/He,=M3I CX$Bf28U>[#Fc"=YCZA^!;Y BV3A0K6S!;T=T6S@N7R>QGd&Ca&;MBX>_,>T8S"2I7O5R;]#@R A`$9_ DV=S3K.E9\#AT$EZ Ke#@Z!?\H`"=Z'BY'<[(AV I`Kh(z›nÍÚÛÊÔØÆÐÒ¤±ªSI,II&DD IMJUMHWEWT%]Z+P_*RH MMGH]LOSJZ*PS$\U)FN$DMGEIR"LPLI$]U(PV*OY"JV"LS VX$JR"AINNUNTX#ONNQ@H5CLE2O'FS!7C>M8H1I6@:NAR"EOGJBGSO=K0G?GMc.BG:FC@" ,%!5 BFFM#AC,9!:7T#F]#K^%3U 5T=U?Z 9S#5P!6\'0J>J@RC\#?W'5K0M!*J"+E3K(>(D1K(< .E,G-N+H*L+K,C+C(B0I-L1Q$';&;"?+F.I8LX"5T:Q/H'I?U2F1XB_"Gd&=W;X$-L/P!8V!3V=U:\&]s.ci+Re$^m"]t,ix's2w‡?w‰VB_$Gf#H^K`Oe(`q/`s)[z/a{2Wr._m$Yk%Mj"Ld"Xq/Zm(c}4\v0g‚3hz=j8Vi!Tj'Xo(Wr([r*]v+Xl+Kd"Ri!MbUp!YmRi!Ne Sk Sr4Xq)Nh"Kk(Sv9Vo)Rj B\BZRp4FbKd)BY@\!H`9K?WWm E`"AYMi'HbBYCbA]=YGf$@^F_Lh#Xf]s*ASJ_ Lb$M^ Lm)Ss*Uq%Rj"Xn&dy,`x,\s.e‚:a}/_o#Zt&Xn)f{2Tm'K\Qk&_y5[w9Mg"Xg&Rc]t0[p,Mi"Jg"Pi!H_#SiPl+E[UiESEOBL=W9S;TY @Y@]GX@W7O-G3F1L5QD_>S:O6RE_6WGc!Mk,B^$>T>LJ_"DZ*GQ!H[#Wi%Pg0B\*G]$E`0@W(>Q#C^$-D5LU%6O 6P?W.H6IC]7Q@KBTBK5I8P3L/H.G*?C\"5I,H"%<-B?Y5P *C4M.L4U ,GM5P:Y :[Db!Kc#F_({–nÍØÙÊÖÙÆÑϤ±¢OP.dS*SP%IN"SR"JHML#WR!YO-_X&ZU)PL"RD]`#AMRNIHNJ RO!XM#IP'HZ)O[)OV%G^'FS&HE FH62?KDQ%0K1IAA?8OK#IG!DKMM!.ABD5KRB9C >N#ULKQ":Y4V!BN FR!9C.7>C5?9K3F3C.>.E$<39+3IR3-C $1?FV&.I7X(@]!>["C\%?V&\&0S&CAU",D7O4S*I'H0X*E;X-5L;L4F*G1V'F*L.M.J>Y#5U (H%M.P ,L,K'D0Q 0P-B+F=W;T2R8[&@d)>Y"G_$<]1N;X D\$?R6R!AZ!ZA] Ka?]Ac"[!@_$AYGb"Hd(Ec$Fb EbH^ B^ D^ He"?`@^Bc%Pe"St8Pn,Fe%Ei*IaCZ Le!Li'H]>]/UHd"Hi)Lh"=[Ch"Gm#_u1Gl(Qi,H_ >X!7L:a&Xp+Gh.Kl)Vn(Ki+3L2J/M7X8[ D^DeIh&>\1Q;X/Q6L:MW^"=T:W#7])2^)/M1Z:^:[!Jk)Hl-<_,_(<_!Go2Gr,Rw5Su7_v2Zs2dy7`|B_}6f„6bv-cy1Yx5Vt1Ce%Vr:Uw-Pm$Oi'Rk"Sq*Rk/Ng,Fi/Fd)Tu(Qq%Nq+Ni*\o1Wl/Wj(Um<[y1Uo+Sn)a}*`:]s0b„BZx6]@Ps3Ik*Gn(Ij,WnVw6Ho5Po,W|:Xw0Uv-Yk'Um4Gc(Bd4Ib,Qo1Tq1Hh$Gi)Mm:Mn0C\(Mq;Jf-Lj-Um*T|6Wv.^w/_;b€BSn,\w.Yy,Qu5ay-f{,Wh+f}7`€8Ot5Sx5\~:`4j‰9\x0\r-dI_};`y7Ux4Wl._y5Wu-Qj'Yy:Ls0Hf-Qn-[{:Ut+Lm%Gi#Mj)De&Mh/Pj-9]!=[He Nn)g€8Xt7Ni)Zq-\r1Wn'^}3l‰?d€2^w_t)Xw4Hg+:U@`#Xt1Hk+Jf"D`Mh$Zz&e‚_.SA`$Gg(Je$9_D\Ci'@f#LgJa$Kc Gd+C\!IdHd!=ZD`=X:SH\ Le$Ri$C[A`@Y;W@^Qf!Nc Sl$Ip)Xt%Wo%Ee A`O^Ug*Nl0Hf&Ng(JbKe#Fd;[Nf!Mb#F`"C_Li(>bBh!Mm2J`"?`L`#C`@]#;W Gb%)J8\Ij$Wj'Ja"Ig1Ml-@`$Fj'Ge F]D]"Ga"6M9\%=]&0V?e ?b$.T9P;XD] Ge,Ca(BcGce@]Mp%Pg!`y.Tn(Bb&AW?Z8] 8b'>`#A]$Mi)>^!Jc&?\#0[$8c =a Bj Ca Fa%>c&9Z @g":Z 6X :[:X7P1P,M3R?\?^@`Gf!ASJ]!Mc(>^$;Z'CY )R&1Q;\#@Y"Ma*6X'5R7P;PA]*O0Q/Q&@Z"Gj06U'3R8X 'E1L,M,N4O2T 0U"=[8a 6_&-S+H4P+S (C8P0N"(L0W(P0P8U@N@_(=[$0V=\#Ab!:T,I6Y,M&H.O>b-U<["6O,H7U@^'9`'0T$?P=]!Nd&o’gÌÙÙÉÓÖÅÏΜ¯‚WV-LG$OGT@4AG=CG8JBB9LCC7I"RL QCHO#6J@LLH?DBEEH:JEK7P,J'BHX!BP>V#@R3Q:R%FT$;R*FY!=QBP#CJ6HOV)6N$<)9,H$D4G+<1L!;(@+B/H5U2N/H.I&>,L2P!\,E:V .S&,KDe)8^!2H>^>U:PHb#D_#D`&Ig,Je$Yk"So$Xo'I`Cc$Ng)Le*Qe*Mh-]u*Ti!Nf Yi%Te&[\%UY!KY Lg!Kd[w,]{1\t)^y3_w5^u1Qm/Nq-Nh"Wt.Nl*Uj#Vj+GY$Jb&^r)rq&Ud#Vj$`s*Ui)ew/Xh.^z3Z€4]u'Rj'_5Qo+C_#[t4Wt0]zWH[&Zs'Sk$Og'Yl'Ti%Ph&N` D]EbOk"Db J]Zh"[j'Vk(O` Rf'Kk)[x.]p Xo'bt'Yj&G[Wm*Jf'Jl*@dJb Mi#G\AWIf Gf&Lp#Lg!WpAa CZI^B` AV:Y Gb"Tm%Mj$PjRr'[m)Lh'Ok)Sg(Ng'Fh"Fd&Eb$>]"CVLf"B^#:UAXEbBc"DaFXF^ EV>[Pi(Yo+CdMr&Ln#Pl'Gb'<\$?^#9Q;M=T:XBa&B\E^C^4V:_ Gi&Mj#Be!DXDYFa)8Q"D\C]$Ba Dm0Da@]Z#Bf)E`#Ca'DaI[Li#Li*Pi%Jl*Id#D_Fd>M!H_$C\!DW%S%9L=M0L)>?U$3RW!F/)9>JBJCCJC;L4I@O ;EPIAS ]Bi(Ll'Gi!A_)=YEc?c#B]Cc @X?W1@ +@'> 8R5HXp1Pi Qv0[|2\v4Vq.Ul+Tn-Wt.Ol(If%Jr0Wy0Sp.Zu,Zq.cƒ8n†7mŠDlƒ9]t,Rp&Ke&Rl&Wy0`|8Yu/[{:Pu1Pu2Pm2Li+Id%G_ ?a&Im,N{4Fg'Tl*Wr0Uu/Rn7Ss/Ry0Yz7\7Y|.Z{7Wu/Sx<]{9Ty5Lo-Vr*\w8[m'Nd"Nf$Ld"Or(Wu+Rq)Om'Oq-Vw-Wl'^v*Xq*Kf&Mj)Jg'Vp(Ph$Vm#Pd Rh"^u3Gd#Pp,Ln1Qu2Uy/Xr*Po*Xu:Wp&Vu6Vw3Jd#Kk+Np5Nm%Qj&RiUq+Ee!Mg&Ic$Je,Pw*Jh!Qj'Pl/Qi.Kg'Mb+Xi,d|;Ld)Jh"]u0Zq'Kh/dy.Uo%Im1Yu1Nk#R{.GiTk#Hh)I_!Cb C] 8W?`Bd"C^Oj&IdQo"Qt'Xu/Ts'Qk Ww-_s%[r-Lh&Je!:X!B_"Pn&HcTl+Ca@XG` ?ZIa!=[NiCcBf%@b%Ij*Rr/Uj,Gc#C_5G@]>S?YMh&Xk+Pk&Ma"JbGd_{(^r*P_ Th&;K9Q4M?L:RGOBYJ]?Y A]GZScQhJc"@\"E^%BU@Y:X7PEY?_J]PhDc!>UIg(E_GdSs"Lp"Zp'ZjMfH`Ng#Rm(Jo.Uv-Ik!PlUn F]C^D^B^?VEdLn$E`HbJdRj!Nk)Ec(Vm$Ef!EbNh"E`M`=]#6U7\CjCeDdFeOr,Tm&Os4Mw;Ps*Ql*Zy1_€AL`Or*Vk$Ms'Jr4Hn,Pj!Wt(Um"Pj$Pg"Sp*Eg!B`GcJbTt1Tk'UeRdOj%Pf!Pj'Hd Gf"Kk#GaId%H]L^Jd"Fd$BcJl$HbGe!Ln&Ke"Lg$@Z"?`Lj&Bb@d!:[@[Cd+Jj-Jm3Il*Ul*Mi$Lm!H\Ig"=`$Dh%Hj)Fh+Pr*JfLk+Fe.Gd#A\"Ad%9]?b"Dd!Ji(JlOo%Nf'Sg Db&<\Bf!Ki%Gn&AaGa"E]9\Ba:O<_ BcJi ?c";X=^"A\Ge Bb =c!GbF`Aa =YLf&Dh!>a=` A^^@a#6PAWG_>U@S5Y6X4L=NCa>_!:Z!9\$^=ZBWG] Ce Ie);XB^!Ee Ce#>`%BS?Y>T;R:[B_(>TLf Mf,A`*@V'Db!Fi#7`"B[=](:X!F^"Lb+Fb&Ml"Pp*y–cÍØ×ËÓÕÃÌÌsT*>*7<2ECS?1B@R6B,>6>AH!77FL%KCI@35(?:58B6D ?O4;:L8K@M,E8MAG?I4C2D)B#3 4J/I4N=Z*4N CP&5.I1H"30N=L4E2M *C3N2B,C3I0L!<&;*@3K7J.>:H>JFV"6K 7O3L AY";S:N+H2O:Q:T!1Q#(I0L3F3K*J/F1P+H-D1HCM1J4X8P:X@_%(M/L9T*N)A=D2D=]"7S)G8N7X1L:R!:R-N!@Z#=X#Jc&E_#@\"B]B[ LdPbKg#Nf*Ge)J`Mj+Qm)Nh&QbGbIj)Fb#Gd'Kd'Ca$Ea$Fa@V @V)Ri+Pc!Lg'Jd!Gh$Lh&Qa[n*Id%Oj*e}?Ql2[yJSuL?\EiMj$Og!Ge%G`$H_#MdMf"^m Xm(\n-Sl'\r*Sj+Xs3bu(Ws*Sk\r&OfXq)La Jk+Pl'Id KYSg Rg!Ss3Zr,Vs0]z@[n&Mi#Rj"Wh%Ue(Zi-Ne$Kb!Ug Oe%N^B\H_H_Ef&Og$]t4Qm.LbG]FZ 8MAXIXGe%G`$Rk$Ph+M^Sh%Yn'_o1No+Fe*Ie*B^$H[Qg#Nc'M^MdKa L_#K\'Nj)LaNh&A[J]Mc$Ib)D]&Je&Hg%Te Ma%Ga#G\?_"E_*7P!.HI\Cc Jd%G`!H\*?]&La*.EG_*Md$G[Pe!Pi#Kf$Ha Ic%C[";U?YKfCZV3YDa'Hi&B`!Ni(Hb'Jb+C\#C^A`%?`(>W ?XA]=]D]?_ Gh)Eb'?MJ_DWOc!Md"O_ Jf$AYFY"Hi;=R,?QAT9M=K9Q>U ,O9XAL:S=SP[I^"6V#=\!:KC\ H[>S=S>S=O1JEZ!Eb"MZ?NB]D[(7N!6V&BS%?P$/Q=R>U@a!I`#BSJa%J_)J]&?T(2HBYCY Kd(C^#=N=ON] w‰aÌ××ÈÓÕÁÌÌr›[:G#-=7G

,E"3MC^.GW!;O%;O,G(H!7U'G^+4L-D.I.J/M3J,E+C.I8N=K0>HS(CR5J3J?O)G*N.P5O2M!2O0J)LE&E%C&@1J1T0Q0M'F'J #?'B1K1L4M7O;]!:W/O:Y T7N-N.LCc"8T5N9P3OD]'Pg/=\#;^$@[ -O;X"Hh/@\ ?R=R;X#+M1W ;[$Vl-Wu(Nj)Qi,Kh+Ge)Ja%Pl#Gg'@a$Nw?Rq,L]$Ca!B_"A`!?YOm)[y.[x-Ie"[w5Pp,Jk'A^ Ij*Z€>Dk(Kk+Jd$Mi'Kk)A`!Km'Pv2Jk$Ss,Ys(Ll-Pg(Mj*Nl-Gi$Np-Qj&IdVo+X_i…EOj&Qv;Ln,Mg,Km-Vr(Ri Ia Qj%Qq(Su,Tv0^6Zy0bw(Zk$\v0St+ax-\x4_{<^s)Xt'Y{:Lh)Pm/[v3az3Zt-Vy6ay'Rr*Zs2Zw.Os.Xt/Xq/]€Ab|4`{)[u-[{UE_&GYSi)Tk)]{(N\L`(^n+L]O^$Ym2Mh'Or&[r![l&e{0Xr'Tm*Ga*Oj,GVTj'Og#Rt*Ej">_A\Jf'Qm-Vo,Om%Ie)Uj(IdNdGc Mc G`%Gg(C[H\ Eb#F`#H_Oj!Fk'Md F]MgHaHeXu'Ov,Wu,Ml+\u1[t,Sr'LgShNgNj#Ie!B_Mb"Jh"L\?XGaAZ@[?^Na!Ni&EcC^Vn'Ke_r(He&Mm)CZ"F[NhQhQj!L_E[?Y@\ Ni)Gc#Kq'HgWm%Un$Xf$Vo*Sl$Xu+Sr)Qo!NdSj YhXkTi[p$Vq*_k#Ri(Sn(P`SfMhRi Ki#Gn!Qs&St%Su&Kc Je"He"Rq)Mn0Rp&Oi!Rg!OfPcLbLcFi&Gd!Sl(Xo$[v)Lh#G]Id#>_Pj&Ss%Ii$Hc#Kh'IgRp+Go+]v)f{4Hs/Wu#Vt'Mm!Xk Nl(GdRo%Lk(Vv.Ps'Rt+Tr'Vv4Sk-Md"PiQj%D[Mh"Ad$E^Gi(K_!B_D^Rj$az2Mu-Or)Wm#Tq-Ec!>WBa>`H`HdLeCWLd Hg"@['D_"Hi'?bUn'Kg(Ka$Mb"Rn(Fg'Mp-Pn(Oj%A\%Oj)Kb$Nj/Pi$Zt(Jh)F`Uv3Qk'dp.]o-Ts*On*Ll+Gd,Nj)Ru&Lm$H\I]Nj,Mj)@aFg!He!Ba>Y&Kb!Cb Hh*Zr&Le$Qm#Lm*C_"Ih$;[EaHc"Ca Fg#=a@eE`MhD_DbCa:Z?Z C^EhLi LbB]>`!Dc$>Y@_$@^%4XD\A[>`=\Ba!Po+=_#Ca"Ac Fe!H_H\#G` D^!Id&;X#DUF` 9PHXBQ9VIc(B_%=Z"Bb'd!De-x“fËØ×ÉÑÒÃÉËkR9T29Q'3L&@P%7K&6K;M6G#D2H 9I(8P'1D/M"AM! 1$H!=!@.E'?+B /G2A0M)C)@7N">]$9R#8T&BV5M?KFU(@Z7M!/N 0M1K1I;Q 6L4IAT"8U)+I-B,F1GR;H8KBW!BW!?ND_"9SGZ!DX#Mc)Ib%Ne.Tn.Pi!DbSn)Bb"Ga!Db&Gd*Tn/Je1Mg*Ln#@b Hg'Ig'Ia*H]!Fa'Ke'Kq-Kh'Uk&Ng,Mj-Di/B](Kb&Og&Oi!Df#Ps-@b(Rh$_u2Jf!G`#Fd!B\>YH_C\Ga'Pj#Gf,Yc#Wv-Ss'Qj&Ob'N_%L_ Wf-`:Tw:Qs1Zq/`u._w.Lg.^p,dw1d|8^}3ev1f€9h3\f&]p*Qh%Pj,Qi/G\'Ok+Yo+\u3]{4Qo4e~5Mq6Wt5d|:Xr+^u3^u1g:`x6Ps0Rt5Xo1Rl0Qk![v7Ys6Pe+Qh,Tp6Nh.Zm+Kp+Jl+@]"Mc"Ji+<\&La(Id,Oc-Um/I`"Wq-Oe'[j#Uh*Qi$Pn-Vq+Sn0H]M]IV ?RH^%Mi(>Q!D_&:X@Y Lh%H_!Of)Pe'Jf%F\!Kf(Ie#Mj&Ma%Td&Uj(Gf&Qd!Rf"D\Je!ETAJP\!AXC\'Ib'BZ#JWAW:S@ON]BX?JIU;MF\ F_BYM]$@UHOGWDZGTG^Wl(Vg)Ub#Ul2Lh.Qh&Qb"Sf$Hf&K^$Ng#_x5Pk.@YIe(H`&Ug$Me"D^!@U$I_%Nj/Tg%J^#D\ E_ G[H_ Qi%Sr/RaNe$H_!Ib J] BYOf$K[FZG_DdTi%Nh'Ur(Vr4Wp9Oq*Vd"Oj*Sl1Lk,Vm&Kj'Ng(\i$Yk)Pq+Ik'Ho/Ga*Jh+Oa"BY@YC]Nj$Ef&=UC^%B]*B\ALU4RE\G\"9W:V=WG\`*:S!CS#CX@^#Fg$MhHd"MZ H_!Hc$Hd(6Q B^@^ @\!A\"BZ@X @]EXATL`!Dc#Hf%B^I`Mf"Hl,Hd&Tu,Nu7L`Ci$F^#BZ%@]Jj1Bd-I_"Oi&Mg%F] G^ DX EZEe-Mg:Hc0GbZ$>^J_B^Hb"Fa"=Y6Y)V"5S:WC^?RCWFV)F[+1W&2P":Y 7O6R7X&HW >XCZ;T Y%9X"+N4T9Y$=R 5P5T5VFh(H^#J^!@\=O2G3>1K1NBSB[:RC^%B\J_"B[>`%7`*AXI^Jb(?]#5M?U8]$AZ?S1F>UI_3P?W=Z!@_$5Y&9\#A^ Lb"Mc"E^!Pc$H]%G_$?Z$GWLa+dÊÕÕÇÑÑÁÉÊeŠKCX.:O!6I>Y%IT&0M"MM#;R&4O=L5G:XCQ1J,F.F0N6U >RW#2I=V1I/A'I-I/N;D;S1Q8Q9N/A /P-L&D&@*=,E+B%@ 3L+J"<)H:Q:R)H3L -E-G8L4P ALO` C_>UDR5J/E+C?R9O+E2J4X7T=Q6ODZ6UB[B\$Eg%9VBYCUOg#Ja#C\Od$Ji)D\Vm'Yr+Rm!Rj._r)Qj+Mn#Ie"]o^x%\m$KdLm MfOp2On3Yw2[oKiVn&Ok Tr!Om&Ih*Gf#Hg#L]J_E]B_B_Mf)Da#Mh)K`Jk,Mj'Lk(OjWs'UoSn$Jj)Zp&e|-h~*\o!Oj#Pr+CcOn-Kg#Rm$Mu"]{(Qr#^n(_s'cs#]v+_v'Zu+e|0Rf"Mm*Mc$Tl'Wv/a{+\x+a{-c~4a|0Sq+_t/m2gx,Zy2b:a.Tu$Tl Li&Ri)Yt,Pr/Yt-VlXs*Pr/Xr.f€@`‚@\r+Xm)Xs1\s,Zv&[u-\x*Zm-I_Oj%Ss/Rt*GgJbJ]Ui$Ih%Qm1Lk/Fb(No$Mn)?[AS]l7Si.Df,Ne%\e#Po$Ff!\v)a}(Xs)_y;Zp-Wm!PfIeVv"WiPeBbB_D` Qv-BZLm.On#Xm(Oo%Qi!L_I`Qj,Rj#Fj$Qp%Wp&If!C^HaGb@[AVC^>QCSJYDVKg#CaGg'Tr+Pm EVJ]G_;XAd?` F^>XEYPd IaJfKd!Wn+Wp#Ja Me_k!Pr+TgRk"Oe Rf"Ki$Nj!^r$[q"PbVdR_Zu$\r#Yu*Od!Tg']k _o#Od%DZRj&L^I`K\Dd@aLl(Qp,E_Bg"Vj I_Wn$Rj!Sl%DY@]Id%Hk#KiPh$Gj M_IeSj#TeTq"JgKc Xm'Vj"Tj Om#I\BUFbH^JbE] A\>VDXJ]XhDcCa?XE\G\L^D\ Tm+o‡JB`Ie'Fb(E]!@WG\J^J_C^McLhL`@_J[KeT`M^@^G]TfPh"K_B_NhHaB_F]BU>]Ed@dCg"Vl"Qm%Hg"DdPhRj O_H\JfMfUJ_>_A`$Hc!AfG_!H`!Kd$HZFd%H`#@e#EaG`Jh Ol%HPGe?WGX@W9S@\Hk"Ig.@RKh"Aa%=W;[B]=\=YDZ1R6ZA^=[FZBZF`6V2S6OLcH_E];TBW;R3PD_#@_ ,O:MG^F\G_?Y5RX5Z6M?RB[DREUC]>Z4UB\"/N8X9[D^C\/M7S3T+L.Q3Y@X;Q5O4Q3R@X-R4M>W:OBW?XD`!Hf?]'N3M@V@Z?U,M7V?[>UC\A[@`Eb Kf?a">a @d#@\LZN\ IbEa GUF^$vŒaËÕÕÆÑÒ½ÉË\‚GCR->S&5P)B[)KT&3S).L#6W+=O%SN!*?:P%.E1E,O'/M"8X%5R"*H:\).K +L&E2R".J+L!D,S ,O$)L)I(D/I!@,H9T!,N#7V+K6L.M)U'+QC/K$C,N/P"8X'2O"0RAc,?V#4Y&:]!6R:X*>R"9]!)A"/%>*@6N3NE`3S 5Q*L2L0QB\!4U!;TEe%G^"Ad)Ej*Lj1Mk/Da(Vw5Un*Tn+bo*bq4Xj*dz3d?dƒ:i4`{9]y3V~4d‚EWr*Z~=Wv*Vt*Ip)Tv(Po/?aUj'Oi)Ff!Oo/If)[y3Qj&Fa Sl'Jm-Jl'=^ D^$Gb'?^%WCa$Hb*Vi#Ie(Dd%Lj"Ld&Jq4D^&Tk(Wm%`t(Yp(Th&Ll"Hb C_#Ql%Pj#Hc!DVE] Kh&Jb(8Y$D^!If'Kb#Ok/Wl,Id,Qg Qg Hl/Ke,N_ Ji#De"Jk(Kj(Mm+Ki&Ce Io/Fd"BcBd%Aa&Fd%Kg%Mg"Tg#Hf+Pm-Jh%Ig%Hf$F_C[FbB\?[Op,Lc!La"JbSg%A\Gh$Jf,Gf.Re$Uk%Pd$H`H`!Fa#Eb!A_"I]Mg&Pm&He#CTE`!Uo%=`$F`&>[#H]N`SiMi#C\@\=\$G]Sm0DdI`F`Pd ?VC[=Y@XD^Po+H_!C[A_!9PDa%Tk,Lc$Rm"Nk%Fc!Hh$Nd#Eb$@XSj#Hc$>_Lg#=ZA\Ml(Yu-]z9Vp0Rl*Ns Zs(Op*JfJh$BZCa!Mn$Mj)Gj,Bb!Da!Ob!Ka JbL_Ol#Pk(C[QaXl#Oo.F_IcB["<\$Mn2AYF^ OaMi(Kg)Gc)\|AOl(Lq'Nj-Ed'Hg!QhAc!@]!C]%Lb Gj*Kn0Zm&Qr3Om)Jd$Ok/[u-Uo%Yr,Tk$Gg$]u+Rz6Dk2Di*Ea%Om'E`"Og%To/Lg*Uo.Pr(Ll+Fk+Ck%Mn&Mm*Cd Hi-Ml.Gf%Cd)Ou.Rl%Wv)Ki*Mf$Nq/Mn.Qv(Fj)Ms*If#Gd%Gg(Rw1Ac!Tr*Qp%Lo'Ik)Fj(Ww,On#Pm(Ff%DgHl%Lm'Jm-DUAXHcJk)=d(He%@_4\!/P8SCa!?\!8X BcCc.:[+?`*;SLc)@b$Lm0Hj4Ac-Hh&@]!:X;]D_ F\$=[!A^#>\">\ :[$Fc!Fa"d+5P:ZA_!:_16O=]!1[!3R=Y!5W%8O@WDe"8RA]8["@b"5N4X?b!6P7O6K-T6O?\0S ;]!6]?]Qj%?c?e%?^@a#Da$Jh"C]$BSSh'Fb+9^*Ie#@_)AY"If(Lk/s‘fËØ×ÇÐѽÇÇ]{=9O+BX6AX+C_(CT&J]"B]*AP +L.N)@3E3H0L6N2L"9R'AN".G=M/B+H+J2M?R$A&>)L'J6T!+E&>*B,B.J/K#=0M&G#@%C9_%)<)? *G+C1G:_':I#8GAUJ^#Da=M>R5W!5R!0N%44-/$?^$Ga&FXLj!G]La#M`Qj%\y-Sm0Ne(Le&Pm"Lj!Jd!Mh#Ri)Rn0Qm'Po&]u+]y0]s)Ql([m(Xs.bz,a{7Zw.Xu*]}3^t#Zt)Sg,]s0Yr,Zr,Yw5[v-\v*Qd"Qf"Ie%Kb'Nb!Md"D]IYHcFXRi(Tk.[v7\x6Xm(^z/b|/_l*NaVv0Xh&`u5Xr'Wn.Ol%Rl(P`'Td%Ug'Je&Tt2\x7Qm)Tj$\o&`q)Le Og Rj&Lk.Ol2Qj$Ng"`u0`s)Rm%Wo-Ph#Si%Hj%Rr!PfHh%JbRk&If#Qj&Qe)Tr,Pn&G^WiSk%Qj!JeOh"RjNgEWH[Vf"Ki#E]BYE_F\E\MgE[GUF[A]C]Oa O^DUFXT_L[HW?NE_ Sj)Ll'Ki!Pm(C]'G_C[!;TE^!G_$Mh!Mf#Pe#Qb*Pf#P]Ti"_y,fv1_n+Vi'Ng&Se'G]Pg$CPGYC]E[?UALESBXSBXX Jg Uo!Pc$EXPf(\~Bgx+l}+s‡7_x4Xq-aw-_v4]q(ZfUl!Yi!^s+Xe#fu*Xp$[u/\p1\r*Lc$Uh#Ih$Qj$`s)Rd"Uf#^l&[s(Tq*Wi(QbXa^k#Yf&Wi"Ym!\r+[x2H[W^J_!Tm(by6]v8Yr0Uv1Yi'\l$Un'^u&ax2]z=a|8QrZy.[o!\n/NaOe+]s4Tf%Ni"br%`u.iw/Xm)]u)[u,Jd/Rl7Ok,[v-Qn*Jj#Pl,Lc#Ge Qf&Sj'Nj$Ts+Zo3Lc$J_ Tk%Pe%Mi#Pb"PfSm!Wm&Od Id,Zj"Ul'Zs(Ym,Wm"[mOi_lTl%M_&D_!Ts&Ij Kj`x)cp,Ga#Rg!D] Mk)Pq.Rm"UpVr&OeVt$Zs%Ql*Sq*Li!XlTo!Ok)LbSk!Sp+F]'B]&Eh6Ne&Ok'Ol&E`>]"Gk0K`#Hi-Lf![p2Lo=Th2Tg Jk"On$Ol1Kj*Ql,Lg)Pe!Nd!>]'Le(]q+Ke%Gd-Me'LbQj#Mh!Me#Mf$Ib$Qk)Kf&Ue Xr#Nl1Sn+G_ Nk!Ln+D`$Oe#Qg%Wp&Tg%Pi$Jf&Rm.Uo1Pi(Mg%Jj$HbKbH^!Jk#Mg$GeKj.Wp"Zm$Ok+Ok.Zk'[q4`q4Wm-Mk3Yn(Uo*Un/Mj,Rk._r0]l*Oo5w•gÌ×ÖÇÐÒ¿ÈÊguR)H`19I-H6L0D&C?#@,J#$A#B(K,N0L6M1N/E(?,P")B0M0M)64Q ,C(H#?,D(K3Y!1N0H8R(D5L#2J)F,F&C>[.H4T!4Q8K Le)9X =T5M:P4J#@=-(E$B)G?b,?[b">U!Lh!Ii(Qi'Lk)Ke$>a&Oj'Sj+Pg&Ig&[v4U` C`J`Ob$Je Jf#Lm'Xt+D`Kc(Kd'Dc!K]So)Yu3Np*Je%C_ Pn(Og"Vi$Oj"Ii'Jb(L`#Qm&Re!Ch)Pm'Xo(Ss'Mm%Zm%DX CO@]>OEaMi!Ie!F_!Oj"Me)Wf L_Hf#Up+GbC_!Jd#Jh%?WIi$HaVA\Ga DWAYG\:Z@[B\D` LXG] M^!G`#KdM[[r-Ig"To*Ye#E[@P?TGa(@\#Xg%Th$N\ N` Ud%Kf%Lc?ODZIc*OaYi$Vl)Xo-^u,Rn)_u-ct*[u(Xm%as+w‚9v‰?eƒ:bu-ds$jv.n‚@v~9dx'iz+kx,l|0p-dx,ly(fv)^x/dv0[r+dl-[j%^p#Zr(bs&ex'[w&[u'\j%Rh!^n"`q!hw,jy/^s/aw+o~=cu3`u5Ne#NfZm#^p-_q&^{9^9dz/d4f|2Sr$lw*e{-`t-_u)ReF[`s*Rj"I_Rn'Hc!Wr$]r(`|2Zs1_}8`„Cl|0f|0k€6Yx1Yt/by*Zq-[w7Sn(Pj*Z{-Kh&St+Vt&_v*_p+Xs-d{0ey5Xm*Rm0\z3Wv1Xy;Rs5[s)Zh"Mh+Sp'Om!Ke#Pf%If#Xl&dx%Sg"Rf"Nj G^Ni#Hc"Mq+Ld$Nk*Rl"Si&Jl+Mc"Gf$Oo0Sj!To,Zt-]p&Vt(Xo&K\TgTn"Qq$]v&cw)\q'Sl,Ml/J`"_x.St-lu&b~9Yo,Sb&Sj(Qk'Vu)Uu,_v,e{6i~5bx:bu-Vo/Qp)Tk+Wo(Ml.[o*Um)bm(go+dr(Tp,fw*_€4[s*^x+^p&Yq/aw4_t.]v-a}>Uq*c~,[p+Tl'Wd"hu/hy3Y}7\r0ev.n€?Zz[.9Y&5Y+NY-NX#*P%@V'6O!1S++M(+L#-L3S!/E&B#9%L,L,E'B*9*E%E)G%A#5=:4"C$6(J ?$?.J>Z-:M+G*B&H'A3Q(?Z!+BA\)Hi9Ro-Kb!La%Pk.Mk2Gg*Qh+Ga%Je,Yr.Jc$D]Oo*Gc'Ph'Hg&Gh.Cb*Ih$Cc$K^'Lf&Lj.Om2Rn/Lj/Rn)Hh$G["H`&Pl0Qi+D\ Ki/Nr9Os0Id Si(Mh)Ts1Lj0Oo+Sq.Mo-[p,Vr0Xo+]z8\w6Z}\!Hg#Hc"Rm(Oo*Jh)Vr8^x3Mj)Rn.Qq0E`"Po3XxX DVC]!FZ!WD_&N]CZQdLg#E_Lg$Gf&Id$@_Kg%Ic$@`(@]#Nk)He'B]#Pg)Hd%CYCe Hn'Gh(Sp4]z5Vs6Md BdVj!Rl&Lg$Ef'C`#E_!Ki'Pm#Xr*O^!Vm$Um$Rh!Pe(FV Pm"Hh"Qj%Vs&Ph(Lc&>PUh)Bc.Oi)F]Oe&Nb La$Ka+H`'Mb![g)Rg#[e!L_&Lb!?ZMj(Wp$\k&F]TeT`"Pb If*Lc(^l*Ri$Ss+^r%dv)^s-Ok)Zj"Ph#[t/]t/d{1^x/e:n}2`~3i„?fz1Xo'Qm!Wm(d|5az9ew(i{+m9lŒCZu,`z+[v.b{;]q0l}-]p'Wh)e}/`w)Zu-`x3\{1_v*Qn(Xu-Sm)Ri"]s(]x*[s*Ti'^p)j~7q|7bm+^r,bt1[s1^t.c}3^x\€?\o0iz1Sl.^{.Tv7gy/`w4p‡Fb‚?e6Po/a|?]1Zz0i†;j†B\€6Pq(bv2Rh*Pe"]m-_z=]z7h~6fz_s3j†>l@l9u„5q‰=fƒ?rˆc@]v-Zs'ay-Wt/Us&Pm)Vs(Su2Wn0Pg)Ql&Xu*Mi'Hk)G_ Nn6@e(?^"GaAXQl+E_LdWp$Ws-^x8Hi+Db"B[GaC_DdJa3OIb A[Kc Id$P`J]Dd@]"Hl/Cd"Ed'Wj"Pe!K`%JeXg#C`"A_!EZ#ESL[F^AVJg"Mh&Gd"Uq.?]#Ac"G`LZB^@SSGe%Uk+]s3[r.`w(UkYk%H]Pl'Hi(J^Og&Rl%dv"X{2Nm$QeSk$\u+^y3\o)Rl%Wn"VbUe%[r&La!G]Le#^q,UaIZJ_I^ KcOe!FbNf!A]=VL^LbG^KcNe"Ib Ok McVh,fz?UbKf"H\HbMj%Pd"Og&Tf"Xi%J] Pd"CU>X$>WAXC^F_=T?NBZCWFZDd#@]"C\Th IaNd"N`?Y9OB^!Oj(Mo*B_Nf"Rl-Gg'A[IcF\O_N_Vi UfPi"Ef$Nd(hy;Sp/Mm*Lc!Mf#Wg$E] Kd#GdD]LcUfOe K_Qe Jf%H]NZN`$N_WeZn"WfYbYgLd[b"bh$_p)YjXfYgcu$agVf&Qf OkHh!Ff!Td\dE\Ig H_NdM]Va^p*do,Xggv.Wp-Si*P`#Wf$GcKYQWXl)W`Kd'GI[o*^u.Xs+^s,ds&[r'Nf'[o(Zp#\q']|1_{,`{5c{:^n(i|/cu'\w0ax,dz/p;bx/a}:]v*_w,_y.d~4bn$^u3_jev)fz+dv,kƒ@dn)e{$^v1]w)`r&dv1Zq#_x%g8_z0Wi"`w0MhPi'Xw4gv*dx1fy4Xi#[p$Wq&Ym$dv1_r$dz(g€/Xw6a|3f€;`}IWv*[v&Rr.`p(Ws+F_Om$I_M]$Le#D[VeRr+Wu?Zl$_€Djy3m€=g€2_|9Wz;Px:]@Ux4Ss0Ww+_z.Xv-Tw)Qm*Om)Ml OdPl&Qk'Ol)]s/aw&_q-Vm*aw&d9a}7cv6]@^v,`v&Yn.eu*`v/\w.h}4Rx1Mn0Lh LbHePg$Kf"\u6Mk+Pm,Le%Nn"Xl%Ws0Og/Zv+Tz/Wu5Jn1Ri#Ym*au*Vp'_v,\w@]}?d|ex4g}9h|5g€Bf~Bb€?c~7_};h}6o}-o{J7L!A.J:S#%F+H(H)A*B/P"DX#/M4W)4S-L .I.O8Q%@Z![?`Cb"?RE[EY=[BZLg&Pj!KcLeQi#Ic!Pf%Rf%Vo,Nr+G`Nm%Wt5Ys(\t%Ne*Wj%CZOi'Nf!To&Ol#L\L_;XKcKi*Hf%CbL` Ol,Up(TiMf!Oc#`r*]p+Wr%e{.ar)dt)^l Tk!Zn!]v(Tr(gy*p…?`v+\t(_s+Xh [k[n*Uf&NjPbF[B]]l$Ys3d~4Wr-Xr)Wg$Se%Vc&[j.]v.Qj#Lh*G_R_!Ve"Zm&Xj+Wn$Us)e„A[t)Tq*dv,Hi&]w+]o#Mi(Xu,Wk'_u*[x7Vm+Zj"Wq*f~2e€1[s(^y1e{+bw)[}7d{1a}.by1k€:Zx+[s#s„.w‡4p‰Eg|0‰;l†@h}3_‚9`s.Sq*^„8d{3\u!Wr(^{(`t'Xq-Rk)Wt)Zx(dw*cu+bn'Tu+^y2_u-a|=[p3Zo1\r-a|/Ww0Yv+Xv-Zy+Vs'Xt(Pv&Pr$Vm)[nMt2]s-Wr,Km1Js(Or-Wz.]u/Wl \z+a{:az9b‚D[l'Y|0Kj(Uo)\v,Ts*Tv6Yw.`t2[y7Tp-Sn&Xs-\y3Nt0Y=Nl,Yn(Yq&Xw+b~;\{;`~;Wu3^A^u6Mj%b0Ql#[l&Xp+Pj"Pd'Ge$Jh!Ai(EaGf&Mh*Wl&Qj,K`&Tn7Ok+Zv'b~9Tl*RfKg$Uu6Ij3Pm1Ki$Ji!Jn)Ws2Vs1`v+[r+d{.`€J]|/hz/i<_~>`y.F-L"1K0M"DW&AX$.G5P#-H&D!D>*I1L*E2T%5V%Gd.[n;Qj5Y}@Us;G` Fo*C["@XH`!Hc!Ed*Id)Lf4Lf.Ou6Zo-\y8C]'So0Gd(^x;Om8^p0[o/Qj*Jh%Ml,Nm1Ph)D^(Gb"6T;NCW ;NDW#EV Ab,@W#Ca,Kh%Og%OdGe.He3Lb(Gc$@^*Li%9[%Bj+Mg$Kd(Ni'Bc+Lf/NX!Gb.Qn0Rk+@_(Db,Cb.Na'[t1Ml+[x1Rr,Mn3[r6Oi-\s.Pj0Qm6Xw5]{:[|4Su1[o3Vn4Wh1Xw8Or0Nq,Nh-Bh)Sf.Ro,Rh)Ts(Sk(Si [z.aw1Qr.Og$]u*]z7Sm+Wp+Qn3Rk2]x6]t5Mc$G\ Ma&Rf%Nj/Fg'Mg$Sg Pp,Mh&Lj)\r3Mi+;`!Ig$Il.Rn-Zw.Ke'Pf*H^"Mi&?ZB]Jd%Wj(Xm"Xb"G^Nk2Vv6Hd%G_ Nh#No(Kd%Kd%Tl.Rh$Mo*Wo/a{3Nu*Pl+Jk)Xl+Ye(Uk(Zl)Sr1Jn/Yr&Zq*Ri-So6Qg%Mg'De&Lj*Uo'[p'Qi$[k$cu+Zo#Pj"Wt-Ss/Xt*Qf!Qe!Og"PdQjQp-Ws,_AKm,Um"^h!Zt'J`$@[ L`'Uj(He)KeK] Id!Zo)Sq&QfRf$Xp1Yl*Sm*Ji#K_DWn:ir3m}.f|9g„JY€EYr=l„=q†Fk8g„Hl:i~@fw6j?eƒ>h‚8cAl}ˆ qË×ÕÄÍÌ»ÇÃMg1A\(:V"1@5Q,1L &D"B$?0G.G0E5K&8'I!?,@5 "6 'C#- & ") *F4PBb$4P/K=V9Z$5S=X:P$E^!3M;U=`'Gb'Gb%Sm$He";YCi!Fc'Nb">_$C["Hc'E_ IeEb#Le#>ZRn6Ph,Rn*Ig"Le%I]CSUn/Kl&Sp)Vl)as,Zl&Tf#Ld$Xm+Xl*Vn-G^!Nr.IcF`Ng$Sn/[p)PfPi!I`%Eh-Mo.Pr2Ge!Kk#Pi)Pi%Nl#Pq'F`Mj"Lm-Mm+Pe%Or/Jd!KeTk2]x/Wv?Ru/Zs7d|7Lo$\v(Tn!^q+Mk,Si+Tt4Tl-Qr-Oq.]{3[q3^z5Tx5Jn.Nm*Lk,Vv1Ki*Fc"GcHh!Pp5Qs+Tm(Jc!Gg"Ok!Wv-Ue!Vs-Rp-Pl)Hl-d{'Rm&Xj!RiRh#Xl&]s-Mm/Ym)Mh [o%Pl$Om.Vu3Jh&Ul$Ql+Pg"NjKi"XfRcTf"Oc"Ld$Si%Vp*Tx-Od^k#[j[u+Mi!Og%Mj)\o+\l#_v!Rk(RcMjWr9f€?Te#HcGaC_FbMn-\s&Ur,Zt.Zl%]}1YsZr ^t'\g[u(]z2Tr&Od%LfSoPm'Tl(Yr)[l!Yl To'_z(]|'^v`y!i€-Xu-Mq#Lm"Wv1Sh[r ZoRm"Xs&I`Pg Uo&]y/Mj"G[=UG[UiHbIiCf!Mg!MdRo"\{0PiGbMhGa"K`JfKePu+Cb#F^IdG`K\Le#Me%F\EdGaJYPh&@W;WA\G^Li#Rj Pd"Kf!MdHaHcGXUeObK`Hc#Oj'Pi"JcSm'C_$Gd"GaTj QbI^NbD]MbBYTi%YiPg#Pe![iYq Qj!Pl&Og%^r&c~,Xj Yk Y{2Wj#Mh(Pj)Oe!Sl&HdRl%LbVj#\p,`‚COj ]v2Ti#PcPeHg"Qq'Vx5PiLgNj%Uw5aZz,hˆ9h‚.m.j€=e1l‚-m„4f|.h~*i)^y)]t*Vu.Vs+f~6i{5g…;\z5iƒ2k†8m…?h†8j4dAuŠ@n„BtŒBr‡?b8Nv0f„:`s8k8\y3`y2Qs+Xq'Xu+ex0h‚2jƒ6^q2l~4e|2c€4\{8Nq6Pi)Rm-Vo.Xl0Yr3Vp+j€;g}7g€Ad€;h}1ˆmËÖÔÄÎ̹ÅÃ=V3=_+3O(+G0I%:!>9$B,H+B"/C3K/; &8,D'D:&B&>#A%>#;5 &;+L+F'E'B*E*B6N,C@Z#Ia(?^'C_*Wl/Id!Hc!Me%Jj%2V"3O:T ?U&5TI\G] Qi)Lh&Pp-Pp+Rn2ap3Sj&Lj'J`H^"Kd,K[Nf(BT!E]H_"DMFSPe"We$Yo/]l0Og(Kd$Qc!Ma"D]&F_%Md'Pf,Wp+Ut9Hn/Pj$Ml+Sp(Sr0Kh$Mg*Mf*Oi,Vp2Jh*Vr/Nn+Ol+Ec'Pn1Qo/Mi*No/`}7Ql+To.On)H\&Ol4^k3Wt1Wn#Nq*P` If(Ri$Sl'In2Rl%Ij,B` Lj&C\?[7S:ZQd"Ol(Jj!Fm'No-\l(Sh"Hc$Ol'Hh$Xn#B\!Oi#Pn-Ia!Vh#\n&Kb!Nd%Os*Qr(Vs(Ph+Li.Le$Kg#Bc%;_'Hh-Zj,PjRf"K`I]Ha!G_Se#Pk&On*Tj*Sc#Xn!^n-Xl)Rn.Sk+\s*g‚4Xu.Oo.Vj&Sj"_v.Ro(So%Qr#g|-]y+_y.c|6Pj!Vp-Oi He Hg LjJf!Oe&Qq%Ge$Lg"Uk`„;Bc#Oo&MeM^To(H_"Ec(Me$Dd$IbMj [u'ao*]w0Mg#H`>_Rm)Jo"Rq"Qj'HcZz+HcOm'Lm)Ok%Rn'Pe!EdH^MdFa?\#@[A_K^F_'Nb%Oe)M`$Qe&Lf%H^Ni$]p)Wh#Mb Ji%Sl$Hc'Ui$Ro"\w&Ws#UgJd#To+Ie#Jg)]q/Uo)I^C\O^ C]!Uk(Zn0Te"Wg$Of%Sl,_n,Yn%]p+Ur._u)Um'Vm(Yu1Zl]r(Yu#[q.Yr-Of,Uj-Vr/aw1Wp%Xl'Uj'Ok(Mm+Zs,Nf*Ja)Xl-Zr)Yo1Zu/\w.Tp%Zm#^v,]x,Ur+at*^s*Up%Ge(Um"Jq/Ts.Zp/Su+_x5]r%Ug$Kk'_y:Nr&Pn*Wt3Tl1Ji$[m Nj(Uf!Zp'Vm'[s3Yj(Wo!]t']w,dq(Xy0Us/Ol)Ud(Tr0Yx(Ws(`‚>^z0Yv0Ul'\l*dz/]x)Wq'du-X~:Vj$e~3_u3f@lAe{3_y-Xt-\w.kƒ4j}2Yt*e~.dy,e}-ey2Ys*_w-dz(Zw3]q*[l'as,`v'az+]~5^u+Yv*]s#Uk$]y1Yu+f|.`z)X{,Yt&\k"ex,izV#E^!C_(Qh%LcR_@d#Ia&Rm.[r3Kj2Ha$Ml$AS?O/H1LBREV$@U(Mi%>VKb'Lb&D\!>S"Uk5Oj)F]$Dh.I_"Tj.Lj.Tk+F`Ia!Ie(Ge"Cg&Pl.Vp*I\(Ml4Km1Fg1Gl.Rj0Jg)Li,Mj/Zy=SlVv-]v2Pm,]u*Ni%Li'Mc,Jc!Rf)Rm3So(Pi%Ni$=\%Fc+J`Jf"Ga%I](Je%Eh&Lm'A\!FbNl*Lm-Nm,@c!C^FdBb!B`!Ii)Me!Wl'LfLa#CaKg!Ng+Ml,Zj'Mi(Ml*Nj'RbLd&Mk&FaQm(Oi!Vv1Mj$Yo+Wq'Oo%LfMj%Ko/Na I^!Og[v*^z/Rn&^u-Wn$Qi*Og%Ug Yi&Ri%Ki'\p'Lh$Ll"Xu3c-`{'[w*Zw,Yv,Rh'Ms+Sm#Mh)Vh%Sp3]o&D_Ho,Ke%Ce#=V:KE^Eb @]Gb%F^JaZw1]s0Wr&Ic"Gc!Ff!=` Jh"Kf$Sj#Dc KeF\B_FZLi(Kf(Jh!Mn$ReNe Xs'JhQgIm%Lp)`s3^t,^t+Rl'Wn*Rl#Rf"H`P`!`j&_n(ez1Ym'`y,\f Uh'Ql+Rr/Nh$To#^u'av)bu%Lj"Us(Yw/Wn2Ne'Lf&cr'\s1\n/Rq*Vo(Sk,[o2[t3Wy-Uo+Wq,Uv3`ƒA[{<^{9i~:f}?Yl/_u.`x5`y8Ws'\r'Rs/Zp&_x,[w0Zu._w*`€4d|4d~6Sn-Zx1_r$bu'Yt,Ro-Sq(Ti.Qq-Qm'[z5ew/cv.gy'Pm Sl%Zq'Xr0\y5_u+Wi"Vp2\r0Xp,Ok$Ws'[s/i3`u'\w.NcJ`El'Wy5Pi*\t2fw2dt+Ui$Zr'`u+bz1[y0f~7b|9d|7Yq'Wl'Rj"^t0]r+c}3h}>k@n†9j€-uƒ4Vk'Xu)cy.Me#Mk0Kh.Qj'Zp#cr-Xp+Ws2Rq.`y2Z{:]w*\w+`y*cv)Vw0Xx3dy:t…:d{7d|:c~3e~._w1\t-_y2^v*b}0\{+Rv+^z.g~;e€>`x9by0Ur-f…>bƒ@`€2]r&\l(bt/bw*cv,Zv/Zo _}*i‡\G`"Gg#GeKl.Om'Vl$Oc!L_Lm#=_ CZGi#Fk(CaXo#Rj'Tm DfMj)Cg#Pj)Tv(Op$_f[u)bw([y,Zw*Ur6a}:]0Mm+[w,Xt/Sv1Wn)Ks.En-Hh)Qn%_u'Th&Wl$Wp,Wp)Rr+Pj,On5Ci*Sf%Wj(Mm5Ji%Pn1Jf3Om5G_%Rn*]s2Vt.Of0Hc%@[#Jf(Mi.Pd"Wm$G]$E]Cg*Kl)Qj(Sc-Ka&K]$Ri!ar-Mf,Ro/Sp4Pq3}gÉÔÔÃÎ̺ÅÃ5P#%H!#A'B.J'>%@#?#>%>+H#.G-M&D"?,D*D-L#;W7M!5N1E1I6Q;_"7N6QMk0Mk/Nl8Rn-G]"Ie.[l)Tq,Ee'Mk,E_&Mk)Oc E`;^XG[ 6SE`#Ol2CZ Qj#H^!Ke(Jl/Zm/Pi%Mb(G^-@_)Hd(Lf'Ke$B_"Jh&A_ B[%Gi1>X"E\"@[>]%Ec$E`%Mf+K^'Oi1Fe0Ij4Nl'Oi(Qm)Hd#Hf(Hb&Ri&Tn-Jh&Tu2Pk.Xp.`z4Wv5Ur.Kf%Hk.Lj$Vl Cl5Ri.Rp3Mb"Oj+Ln0Dg-Zu-Ru-Wr,Sl'Pg"Ws+Tq*Ni*Eb-Nn'Sn$Qm&To'Yq*Qm)Oh%Pi(Pk)Ji"Nq1Vw*BbJeJ]"?^ Gb"De"Ip-Fd%H_!Ld"Ol(=_<\Fe$LbMs3Lf#>\Ha&Of&Sl0Ws*Qk OrIf"Ee%Tn$Rt'Rt/Rs,Mm&^~2^{*Op*Pj'Qi&_z5Xw3[/aƒD[~5\w.\u#`~3Xq']l$Sh%ds+Rn(Lq&Ru%N_$Rl&Wm&Qn+Jj!Gn#Li&Sp'L`Jd&Pj$[i,LcEc#C^ IeOo&N` Li2Mk&d}1Sn.Ux.Kk.Nt/Wy2Hc Il*Nf!Qk+Uq2Zv.Os,Nu)KePf#Ml'Xs/_{0[~2c?oˆBc.g‚2\v,Zm%If Oe dy2a‚6g~3_€0`„>^…?d€8e~0ay*^v&j>qŠAhƒ1Zx+\y*Qn/Yk'ez/]u.Xw-Sp)Xx1Yv2Ol,Ts,Qp+Ic!<]%C`,Pt/Ll*Wi*[s-[v'Ni-f…C]}6Pr*Pp(Sy5Us,Yy+[x-d=Pi'Xy>Xs.Wx1cu(ay,\l%Ug#\j#e„>Vr&Rp'^w([n&Um+Mj%Jg#L^H`#Kh"Su5Qq*Wr,Ys.]s.\x.f{0[|-b€5d{.n.e;dy/Yr,^y,ax.Xx,Wv(Xv,\t'Wr+Xu.[p'i4]{'bt'\w,[u*PiZu*Xu0ev.i|1q.]w*j7n{4g|5\w+Wu4]v+Zu0bu'c;]x)[v$ju-Yl(eu.i{0mƒAf†@n„4q€P$Uf&Qn&Oh(Mf+Me(Lc%I`(EWD_D]!IYNg&Wr-Io.Og#C["Ld%Se$D^I`%?N Ba*Ga+CTOg'Pe G_!:M*Og2?^)C]'CT\$>_=X=WA[$Uj!Uj)Ol%Kl/Qp-G`$Og+Sl0Tm0Pr2Jb*Gl5Sr,\x5Pn(La(Yl/M`#Nj'Kh(Hd Bb)?S"D_%G`'K_&Lg$Jk-Lj#Hf'Ou7Fj3Nm1Zt5\p4Vw7\@`}-a}2Zt.Yk%Xs2Yr0]z9\z0Yu/_s(Un$Rf Pd"Rl'Pi*[l'az/bz0\{1Uk'b{,`z3h{0Z~;_n4Pr(Qo!Oi?\H_Wm"Qe$\o.Wt6Lq(Zl&Sl Md"Rj!DcM_"Tl&Ke'Xq'Fj(Ef!E]Hb#Pe&bu)Rm(Rc Vv.[p)Wo$Ul)Sn)`y/Vo&Nr-Mp%Kl!Pg Ol$[o+Zn.Rh#Sj&Rq+Kl&Wk%Pr'H`%Rh.Sm*Wj+gy-^}8g9Mv0Qn+g>Xu(LcKh Sq$Ni&Nh"Qp(Ul+Me#Ih'Um*Nh+C^!Qj$No'Y|<_y1dw'\v+]s'^w7Xw1Pu1[s(Ov+[x4Xs*iƒ5Qs-^w&f~,Vq'Rr3\s&Pl)Ys.Ws0\m%]k'Vw1Pr.Ol!dƒ1j‚.Zw%_m%b|2^~6_5_~6_w)a}.Vo)Nd$Zo.Fb'E]"F`&Lk'Je Lj+Wk/Vh4Mi2C_&De(Oj,Ql'Si%]u0Wk*d;gz3Zx1Xs2Qp0Tu!Zy4Qp*Yq)[m%]|0[x0_r7vŠ@gƒ>Yx%^y2Xr-`x0]{3V~5Zz3Ro'To(Vp,Uu)^y2Vw-Ro-Ki*Wo-\u*f|6h|0g~/l‚5a|1b~5c~8T{BY|:c{1_{-Rr*[w+dx2Wu6Ww2`w*]{4Xs"Mp&WfY_ev'Z|3i|2i},s€-b|)s†;f~6ez;^|;k8_v*ay)e|/_z/\y,nu'g|2k4du(Zw=s9i‚;z‹Lk,Rp(Ql"Pi%Zp&a}.Tn&Mu'HiMiLm+Qr*dt'^v,Qo+Sv-Vo(Lj(Eh)Fe%Gf(Me,Eb"Ia"Mk$Lk*Jp)^}-Yo+az7`x2hx4[€@\|6\{-Xx0j€7h~_&SiRj'Og&F\#G[:RHd$Ia#AV7OI_+Lh'Pk*BYI_"He/Cg/=b'CXAc%<\"Ji-Rn8Kf*Hi1Hk0Eb%Hd&C\!If-Jg&Wp7Ur6Sm.Fl3G_#Rj-Mk*Sr/Ux@Vn*Yw8Kf&Ba&C`#Ni(Oo2Om&Pm+Ig/Ol-C`$Wm)Gm)Sp,Ot3_x2f|4[u+Wv4]}?[v*Xz0X{0Rl'Pr)dz2Zv5Uq2Sk+J`Gg"La!Qh Si#Wn!Li!cw)_}3Tr(dx)]w0fy/h€1Xv5`8_2Rx;\|6Yu+Sp&Ko,PhBbPo.Pu(Mm'Zu0`v*PhVr%Nl'Tr$RiPh$To.Wh$Qr0Vu-^z*Rl$KbUq+Ia Mf Ih#Lj%Sv-Qk%Ol'Hf,Qv*^x4ay1d‚a-\{5d7Xo'Xr'Wj']v,_}@Yy-[o$dy,h~;^u/Wq1Zt)Xv3Rl'Tr'[u'Zr ]l%Xu.Fa&Wu3[y5\u4b{0f|4j.e{/Vo%To)[n(Qn6X{>Yt.^t*bw,Sl*Rl(Sg$Ql.Mj.P`&]p…Lu-[x9Ts+Z{2Ys-^m&Yu']y,Xz4Vs*Us(Rl#Ss-by-^{+Yy(Vt/\v(fƒj‡=qŠ=g‚.o‰:k‡?g‚9\~1Yt-Yv7b€8Tu/^w.^s(Up0Yt*Qq)Tn&Wt2Qu+ex*c5\w4Wq.Np+X{2a}6_i)c€4Zu2\€4Qp'_y3Sr1Wm%[x2Nk*Hb"Jl,Xo&au*`v0Ml'Nj'b}:j}.]ƒ4`4b1by3Pl*Fh)Pn*Yp,Pq0Kk(Dh"Id#Kk#Vr.Mg!Wj f|6Zv-c{1cy-`{0`w+`{0hƒ1h‚8gƒ<`~.fy+e~4m‚7r-hƒAo†?j…C_~9g…@d€;f„4h.k1a€2hu'ey8m‡?g†Clˆ?p…;n>f}>h|;WsX(@W%@SOc%H`$Mm.J_*Rg)Lf#\m0]h.Pc$Qe*Hd&Ql'Xq8Vm,Pi,Td)Pb%`r/Vk+Da&McC` CZ!?`$Lm1C`!>R9J?["9[@]&A^&BT Kh5Ie,Lh%E_'Jd%Uf!Jj0Km+Nl'Kd3Ni(Kl-Ge!Ce(Kh+Ii/Di3Gn1;Z ;WHV;U@`&El/Us0Uq1Xt3Mc,Om,Mg$Gj#Fc'Os;Pk)Hh.Ln7Gb"Xx@Ge'Kc.C_(3H@\+Bd*Vo5\p/Nl(A]@VMj%Ji"@SHd Li,@^"Lf$@\Fd(Dh'Mk,`€AV{/Qo&MkI`Nh$Zj"Ro,No)Nj(Ie&Km$Mi Po#No&Mk(_z,]x.Wu)b3_}0Uo&MfYr$Mi"\o$`:Ot1Yx6Yy0Xw.Xs*Qu-Y{0Tu,Sz1Dg)Nx1Y~/Xn"Ls(e~3\w&Mo*Qp.[{4Uw7Pl#Sp%Op"U{0QlOh&Ru)]q*[q&Si"Pn0HbWv3Vx8Xu3e8_~3Xu)Wy3Y{+`€6`v/\€;b}.f„@_€0f‡:Zz*e~5X€Fl‰?e„;cx,l:]y3`€9`y0d~1Vj%Su2[w.i6^v1a~2^x'`}>_€>cx:ay)]z/X{:Wt3Xx,Sv'ay5_s+`y5c€6^v(Ru)Z8^z.Tk&Wu;Xw4Rj$Pn"\u)\u3Xz0Ux0Zz/c_r(Sw)Xv/Us,\{3[{7Th#Pj%@`G]Vj#Uh!KdM_Sf!Of)^t0Yh!Zs/Ys&f}/c}_}-cy-_|.i€7c~9_{*b}2Rx7Zy-e€/\w4dw*c{,Zz,Wv6`}1c}0`„5b4p‚8m€3c~9e†=d‚;az2jŒ@d6i†9n„5\z(Sv)\{/Oo"[y3bw,KsSx,b9j/Xxat3e2}rÉÕÓÂËɷ»Tp1;O7R9IBY!NW$Vn=B^$F`&9L;NBMA[#;W$B`"GZ Mf+Pe%N[CY%Ie'To3Jd'BTAZIh!B`J_"Zk(^n+Zk%_s6Zt)Uh$Nd!AZA]#D[Hb&HZ#A\"Lh*Ml$OdGd"L]"@PBS"CWFZBREb#ObN`&K\ Ja%L\Gb$AUG\Je"Od'Wd Pb FbIg%i…1q‡St-j€=^~@ax/hƒ1l{0u†5i€@g|4g},_v.l„?^€@fo(S}Ag}2n€7fz,^q1Zq*aw3_w/Uk'Zu%\|6i{2\};Np,^w5b|=[t.Sm"a}/^u,i{,_|,ex/dr4l9f~)d|2[p$`p%Wp*[p%^r*bw)\m0[q&Un*en!]y*Yj)Kj*Ni'Ha"Md(DPSi%_l*bq)\q-\w0\p2Xj+]n&]t-\s'g~0h8Xo2cr5€•gÉÔÒÁÉɶÀ»Nb3AW'Wf-Ol-Pg2O`'Yd.Rm=Me0K`&On5So9F^!C]*ETIX@Z-L^,AUBc#Ra)DSI^/Og+Ea+Ea%Jh%C_#La"BRIYOg*Sm$Qj#C^'F[&Lg+Lf!Oc)Rf(Oi+Md1Mg%K`%Nd+E^+E`'F_!H_3G\!Gb$Ob+Pe*Ul-Qj.Qf&E]'Ji2Lc.Md.Ka%Cd+Rb+Ie2Jj3Jb$Md)J_(Oe(Ib Fc)Fk'Nf%Oi-Tp3Mj)Pi*]k-Tp2Ni*G`,Le&@Y;NCS#Oe(K`#D]'G^"Bb)Jj/Ic&Vn(Pl)Ph)Gh,Ke*Ki4Od*\p-Uo)Te(O[G[!Ge%Gj0Vj(\p9Sh.Wm3Xp0`z@n„EUt=Qe(Un0Vm Tn+Y{0Z{3Xl.Lm+Hh0Tm-_:Vt0d€4a‚7`w)^};hu1Pp-\k#Lh(Pe#Xr-Id&Pk$Tu)Os'Ol(Pn3Le"Dd%Rl&Xn&Ii&Sx2]y:Yr)En+Ig&Xt(\~;_z0[t+MhSp+Xw.]w-^y0gz.bƒ<[r+Un%Qj$Ul)Qo,`y:Yl(_l)ix+l‚5f~2g~4l1j~6m{1k†-m€,k‚Bg‚D^}>b\w3Yq2Ol+Rt)Wv(V{0Y{6Nn/Og&Hg)Je'Nr'Ws%]t0Oh-Yj&Xs-Yr2[m+Lr=On+Um(Up6Jk(Od Lg%Ni+Lm2Y}6Rq&Ri&C_DPFaLc%Pi"_t1Wd&[h'cp(bv2`t+Yo.Sr1[u<]j'To*_x*cx/Tl*Rg!f}5Ty1Vt*Nc Vf#Wh Pe.Ld#Mg(Wr3_u*]q'Gg)Xk)Tl%Wh \s,Uq+Qd%Vl#^s'Tm Vp(Lg!Qm%Ok+[t,_u,Oj'Sj&Wn IeMl'`z5Mj(Ge(Ge$Vr)Gh'G^Hj!Lg Lk$Wu&JgJXKWSq*Tm(Wi#au.Xn"B_Li'Id$\u&[p!Tr'Om$Qk*\s#]|1Ql&Ef!]t(Yy.Uv,Wv0Qj%Xq'bv._u)Qs.Xn%Yq'Zv%[q)`t*Sq&]t%fz.Zv3_{.Zu-^t(Zm(\m.lx4\r0aq.fy0av+_~;_w'Zv.]s0[o)_t*cy;`w/e{.Wm(NUSi!Tp%]r%Ro%On%Nn(bz1\{,]p#_x0^y5Zy3Zu/g9]u'[r([v-Vn'_w,h~7`:iy$e‚9n.o„1l~.j‚9g~9n8l|/f}d}=`}9h=e;e:j†Bj€q„<`~/d~/Xx2g7o‡Ai|4p†Bv’In‰Gq‡i>m…Dlƒ?r…j€.y„?k.i=p>j€?mBi†Dgƒ=cu4jz0^t0Zk'Yr2Sr1On.Xo4Yn/gt*cs)`n%^~9Yx/Uo/Zo'g{0v}7Yr0Xn3h{2g|3d~7b{5gu2cw8dx6Z|4^v.hy,_|=br1e}2f~7bVk*Hb'Ff'Tm1Vp4Rw6Yu.DcJh#E_&F],Ge-Ok/No1_u.]s(a|7fv6Lj6Op.Li.bu/Lf)Sm+Qp.OgIf(A^Ol7`}@Nn-^‚AJk)Jm0Oq+Qj#>`%Ca"Fg'Mn(Pp)[z5Ut3Xu3Kj2]m&Rv;Pk)Su,Rj0\o.Tr'Bm!Jn'Lh,Gn6Kf)Wj%Ux*Vs.[t.Sx0[{)Wu2Op+Ko&Sp/Tt0Yv!Nt+Qu-Sp/Ur3^q(at+Uq$Po+^;]v-[y4\vR{VJU?UJ_:_@d%D`#Gi(Cj!Je$4U%B^(Ce&BU>ZNd"Gh#Vl!Sk$Wx4Tk%MaD\Lm$G[@KI]Tc!Xn+ao-Vk!Su.Yx=Ss(]s,eo*bu-Vj&Pc%Jh$Ld_r)Xm'Uh"\u-`y>]s,\z2Sn'UkQl+^w-Uu(Hm&]s/_u3`z.Us+[w1`{5b}/So&Ti$Ro#Qp'Mm,Eb!Li(Jf(i…ANl%Uq#]w)]v1Vq1Ri&\y,by3]~1Vz-Po$\z3X{2Uv0St/^y/`v+_v%`|)\~2Tu1a},ay)Tv-Yx*Or)_x)]u,Uq%Om&Zz.[|.Ru.Vp,Rr(^{*f|']t$Vs*Yu*Rr*\€2c€8e{0dz*cw)ex&Zx+b{-[r/Yr*Sj*Rj"Xl!Wi$LSfr&ax*^x:pƒ@eA_p*Qq+Vr%`{4Yy,`|2\{/Yr+Xq+`z4`{1`z7Vw+X{5Qr+Uo(\u/Zs#]m$`y*_r'Ww0az,`}8Yy0f:f2j…/j4i{/u†;my‹IjCm…>t‡@€ŒCa}A_y9b6c:g…Fe=nˆEl}1h|2y†@qŠ>pŒKm‡En„Epˆ;i‚3l0k…>aƒC^}6]}6a‚6^}0gˆD`~:_x2Z}.Pr&Sq,^z<_z&]€5c~*l…;]‚:hƒ=p†]CUBX!BV=PGW Cc#G`Jh+Hh&Tv8Jh%?a&Da#Lj-Wu2Jj0Po4Sp+Si+M]%Gf1Pk*Ge)Ml1]o4b{4Wv7Ql+Sm)Xr0Vi'^r/Qn/Qn,Qn%Id'Ml4Me"F`(Ph+Md*So:Tp5_v2X~6Zs(Ym+Nj2Xl.Ol.Rd"Sk&NdFdE]EVOd!E_Vn6Sj.Xr(]v-]z6Sl1Ri&L`#CZT`Xr0Pj*Ij&Tl$Je.Wu7On*Lk/Nh+Nh*Vx,Sn+`z7c~;Zt(Y{2LeEf!Fh'>ZLj#He#D^B`$?`#Bc"Gk(Fl-Lm%IcRo(Ih%Af+T|4\|3Qu3Ij&Rm"Wo*Ph'H_D`#Rt-Zw.Gr4Lo,Po&\o,Og#Qf"\n#Vo,Xd$Yv,a,j…BWp(Sn*`{7`w/V{8[|;Z;b~.by*_r&c~1Px/[y8\u-bw0f}3f,n†5g~4Y{*g}2a|X ;ZKh%Of#Vl&C_Li"Vw-Lk'Lg+Hh#Kh#Fg&Kg(Mf%Sm)Uj*Ko)Wm+Sk4_t0Uk%Pi#Zt*Nl2Ne'Ga$?]E\Sp)Yu.Xl&`w/b}5b>\~5_z,ey/eu0Yw2az*bo%Up'dy.\l$`v,d}6\r._u)iz0fy.Yw'ez0dz-]{-Ym!Ww3c|1`},^x.a}4[y.Vr'Wv,fy-f{0Vx._x*^u,Tq(Ww1Wu.Xx3Vo1Pm*Sl!Om%Zo&Hi'Mu(Zu/Xy0Ll#Wk"]}1Yt-^y/Wv,Pt,]y5`|.`€:]y6l„4d€;\€;c|6_€;_}/^x'\v(Y{;`}6^z-b9`6f†=`~8\t1fz*g3c~7f}1lƒ4f„>r…7kƒ9n‡>f{.m…x‰?g}(d})[u-\r+f€2`{*^|6a~7e€@_€-^x/\|7Xv0Hn&Mt.Wo,[x7Xr-[~0\w*f6o8l:k‚1}Gk€>sŠBjˆi†>i+m~-h…Tn+b‚>Vo)Sh&Sn-Ss(Qm(Np+Ro+bu1by*hv"cd&eu1i~1p€7iu.Xs-\v+[p bv%]p-Sk#K^FbOk#Xm'Pi%Um$ew'l{/es)Wx8Yv*aw.cx1[r0[v-\z4Yy1Ws&f‚5[z5`p8a|:Zo1`z7Yu/Zo)Uo"Mf#Ro'Yk"Pk)Qn2Kf$Mh!Nb!5V?e @[5RFf$Ka)M_'Mb(D`%J_!Ro2Oi0Ng&\o-Yn1`o&Nj*^u2Rm2|cÇÕоÉɳ¿·[q=St=Pj/Pi-Xn3et@Yq;Xs5No2Ug.K_'Ma+O`-Qi*Jb&E`'@X.Bd-=[0;] AZ!Pf*I_&@\(B`"Ga%9^$Lk3Gj'Qe&Qi$I_#Ok)Bd,Ce0AY%Be,Gj/Dj2Oh1Ge/Hh/Pp3Of-Nj)Nd!Ii.Ge*Hg1Ea$Hi-Vr;Kh'Sr4Qp2Rf)Ph6Ln2Fb%Gf&De$?h0Mj/G`$Mc%K`E[I_E[!Gb&Da$Gj"Op1Lh/]v0Up5Vq.De)Nh,Vm.@[*Pi0Kh&Yr(Np(Uu8Ro2Vj,Wo0Xx1bv:Ql#Xn/Wr5Os-Pm,Or7Gk+;_-Kj0I_+Tu7Je%Hk(Pl,Sl'Yp0Pp5Ol+Po'Ie$Km(Ij$Fl%Ea#@b&Go+Mu,Bo*@_'Go)Rw:Jl*Hm,Dg+Su3Hk+Bd(<`&B_$B` D]Hm$Su4Tu2Eo$Fi!Tx7`z.Yz,e6`~0Z|4m~7l|4i|3Yt(Lh#Rs6]s,Tp,Mj,Mr(Sq+Yx3^u*Wr1Tr,T}>Ys)^x2dv+Rr*^y3Ut-Pw3Vs3[{5Jp2b|7^}3W{:edw1_u/a}5T{0Uu'^2Ps'Xv-Vi!Fa Lc$Ij,Lv5Ol$HeHXLh&Nr2If&Mo2Xv;]€k„=d}1d|.Ow.c€5iz1ay.jy/f>`7];_z,c„;bz6\x1`ƒ7kƒ>dm‰j;f~+d3hx1g}9l3]}/as'Wl&`x3bv-c=ey-hy2ct)by0rˆ?o„;i1h‚:c‚Ae4jŠGf‚b‚7c„?gˆ@j…Beƒ6^u2`|+m‚3j‚-mˆ<}Ly”Gl‡;sŒ8m…>u‡6m„3e…Am‹Ap‡?x‡hƒ?e};g†G_€=_|6k„@a}3ew+m4b~=]w9Ys1Vt7e„`€=_|/]w+\y0`y0\l%Xp1Tt/d|.g{6]x,^{(Yp%Yu0]p,Ot'IjJj(Pl$Rm"Vn(Ts.Ur+^x+a}-Sv5Qx1^~)a{(`(f(cu*ao)Rp-Mi'Eb(Hg#M_Bbaq,Wo-fu,hy+by>e€o…=h=d5d€4g‡7d€/`x/Zr-f|3f2Ys.\x1]u1d€3d5\s/fy(]n,]q,Ur6Wl,Mp0Ol'Do,Ji)Pl)Lh'Tk)Ga&Le'\p,Nl,Om&Vm+Yf)Pk1Rk2Xi1av-\{>]v7Xt3€’gËÓÒ¿Çɲ½®Vh)\u8Np9Z€NXs?_y1^x:\e-Xq.Xn(Sj,Uk8Xo8Si.Pb,R_*Wp5Ph!M]!Gd.Ti/Om8Me*A`%Qd$Si&Jf.Hf%Gj5GjBJg5Mk/Qk)Ha=Z#Xm6Ld/Hd#Ld)Tl/Qf(Pb"B[G]%Xj-Db Me(Pk.Ci)Fg(Sp-Xp2Og!Ob'Ce)F`9R@b,Xf&Ea%Uk'Og(Jj#Mg&Mj+Gd(Ic&Tl'CaRaIZEc(Kb ?\!Ha'F_+Gb!Je#Oi%Vi(L`(Mn6Xq.Ww7So*Tv4Zl*Xx2Gl%J_!Ke(>ZQk0Ni E\F]Lb(Ge(Ad&C^*Bb%Sh&OdXs*Gj#Rp#Nm/Wl+Gg'Li#Nn&Ii)Lh&Db"E^ Ac#@_#@d$DZDa$@YJl'DcDc%Eb'Mp2Hc!Ij(:["H`!Df"Kh$F^(Cd*Mj'Mm)Mo&Pi(Pv5Ij$Ym$Zh&Uk_x+Yy2]{2Sm'Pm)Rt-Pi&Rh$Yq6Pk+So+Jc!Ng%Rp-Xj,Og$Ja Wr+]|2Ur-]z/Vp,Kd"Ln0Zq%Wr%Vo,Ld%Vn+Mh'\m'Pl.Rj+Il,Zq3Ln.[v1Ts-Mn2Ol.Yv6Qf%Ww;^s6Ml,Me4Jo4Uq'Vn%Rr)Y~5Qs2_w0Wj.Qd/Oo1Vz5_x/[n(Wt-Jk)Me%Ki-Sl*Kn/Pq3Z{8Kl+Oc&Ri"d~3dy8Xt)Og!Og Ee"E]_s0\i$_s/Ro(Ld#Gg.Po&Xf%]s"Si RiHd#LbZs*Im+No,Rf \q(Ni"Rj!Nj!Jc Wt,Wu/_r(]t'Zg"^n)\o+Ri*Qk/Ys6Xl(PhKi*Yq-Yi'Zt.`t&_n(_p(p|(m‚2g5`{'j|,du.Yu.a:lj€1k€6u…Ag};X{9\y6h~4]x$v‡9g{0f‚6\|5^v0gy2rƒ=fƒAnˆCc{3^s*j+q-k„:n‚>lƒ>t†>]{0sƒf‡CmCwFu†:o…B_x4iu*^u+_z4Yz:^{;_y1Us)dr']s#iz5j|&g†@m‚@m…=vˆ=i€6f‚?t„=s„6o‡k1u‡={‰4n†=z†;r‚7sƒ4u€;t}4hz)Ys)er&[v&[p(cy<`l+`s,^r'[q$az/`}0dy2k€6q3m‚>u€5c|)g~/`u"i{,`z(`{4cm4c„8kŠCr‹d{5`}7iz-^x.d~/]}=[{4Rl*bs,Wm+Op-Vu5To6[{9[v2Tj)h{;bv4e~l~3q‚5j}1{Š6o€4~Š8n„5s„>i~7i‚Ap‡>p…Ak†;p†Bq†?k€9j~0m„Bo„8m‚3f{8t‡@jƒEd{;ky5ex7as-dw0eo)Rx4_u=c~5Zl&^s*f{1hy.VcUq%^x/Ul1Zu,f{1_t*d~-cy/^{.cu&Mr1`{2`z7e}2_s2iv$`y+at+g{3g}5\y6i5d{:by/j1o…Ecx:b~Ccz>dz?‹—hÈÒϽËdz¿±^y;Xp6Xr;Ng-Ok2Ll2Jg)Vu[FYG`DZ>\ Lh$Fe$Ni!Wh%Ba$D_$F]Ad+Ji'G_'H_B^'Jf&Mm/Hb!C\Jd!Kd%Ia&D^#Tn$Hg#Hg&\z9Ld$Ij-@g->g3Ae$Ik*Qj#Dj%Gf"Gn(Db#6YG_!NgHcD^I[D\?`$Hi$Jc%Ae#Ok"Ni(C]=[Pq2Tz2Vv'Sl#Ok,a{2Ln.Qr/Qo-Xv.Lm*Mm&[u,Rj$Ll/Sm*\r,Mo6Ws.Pp*Vu+]{;]v,Vv1Xu:`y0o‚g4d„9e„6mƒ5d9i9h‚3u@mŒ;f€*h€0j‚4`{-c~,c~4k‹>i…9h„3i-xŠ:q‰:j‡Aq„>h=wˆBc‚0m‰>a€u‹pD{FuŒBtCvŒBpŠ:n‰9j‚>i…9d„6Z}3]|4gƒ9o‹Ks‡<€Š4h‚=j‡;s‹Bs†:o„>p†@s‰Bi‡=ay+]t(_v'iv*On%l„Ajv0e:h†:g†1_y/d}.hƒ7i9cz,]z-Vz2d€7Xv0b}@Ys+bx3e{:av-l;`€2j…/g€2[z4c€?c}:l‡@e…@`z6c~y‹Eo…9j‰Dmƒ:t†7}Œ@g:i€8o€5i‡Cp‡>t‰Cl„6h~2q„5d5r€;vŠBsƒDm;r†m…;p9m3m€1k€9mƒ<{ŠDr‡:}†8t…6q‡Cvˆ:m„9o„=g‚3ax0cz+d4^{+Ri*Mj-az1`}5k‚k5`u,Yq-i„6h€9eƒ3kˆRp3Sk4Y|CY{=Vp:]{:Wu5Ba+Jm0Lp7St3Wl,Sg%Tu8Ww1\y<]{D`€>Tw:Ry;Rq3Ej7Oo.Ab'Jh+Gb'Gf)Fm6Mn4Kk5Kg+Ii,Hd"Op3Mq/Li.Oo0\w0Wp3Mg/Mg,@c%3_*Ku1Rs:Po*Vj'Id"Cb#@V7]'@_%Nl,Fe)B_Qr/Le!Gf(Mi+:_(:^%<\Dk/=]A^Ba#?^"P0N.R1SJf(?_$=b'<\/V#=d*;X&3X2a(:[>b,>_&?b)C\#=^8_"2^>^ Fc!Di2<`$6Y9S]"Eb$A]?`!@d=[Bc&?b+Cn-Ss+Q|FXr$Xu-Wv3Gi&Ok(Ns3Il/Hd$Fl+Mf"Lu0Gm,Tu,=i'Fl-@h)Jl-Xw2Vu0Fh.Cn'Nz0Ou0Ow/Rw3Fi'Jh+Kj,Lw5Tx9Vt.Sz?Vu5Jk0C`%@a%Sv1=h*Af.Ge&Pt2Jl*Lp%Zz-Nz0Oy6Gp.Ls3Fm0Ck,Gn/Ge'Da!Ke'Lj*=ZKm-Jt)Mr,[|8S{9c};b;c9X}:R>Sy9Ux:X~HPv9Z~>[x:V|:S}9Qw+Vy0Jn'Mm,Km+]o(]r(Sl(Il(Hi-Hi,Pm1Uz2Pu.Ur&Xv/[€4j;q„:j‡?j3Xx6Wv4k„C]{?d|=d€@d}=dv,i€7^~6St.Sk%Xv,cy+Sr&Pv*b|2T}9St*Qv,Un%Wm%Tv2_t*]y1Zy=\x*Uw0Kj&Ro-j{e„9lƒh/c{/\x+Vp)\y.\x/dy2f-k‹Af‰:f‡An‡?e…Bb6_}7nƒ:Y:W€@_~>[v-\u.Yp'b;c{:b‚=b€5\~1d5o…:iƒ=j„3m‹@`„4bƒ3cƒn‰>b~-Yq!Ot&Vv-Mu0Ot(Pt+Sr(Xy/]z.Ux,Su'Nx,_y1[€3]:\{-Xp)b{*^}'^{)c€8d‚/fƒ8n€5q†8w‡<{‹GtŒBuFn‰DjŽInSe‚=dƒ9_~:e‚4o…9_‚3\…4r:j†:c†3e„Bi…>f‡Bj†9lŒGh…:ZA`;jƒ4b„4k„=i…9m‚8j†;g-n†Bm‹Fc6f/b.g9_|7X}4^‚;`‚6Zƒš[jFsHrAiBv’Hp;k†;gƒ;a5j‡;l‹@sˆ;e„_…@_…Ce€4^~4a}:c€4m„g…Ai‚:pƒ;sˆ?k†=d…:cƒ=l†6r‰>qŒJn…Afƒ6i„f3b~-v:vŠ@k€;sŽGy‹=s‰B?uLzBs‘KuˆB’SvŠDyŠ@qŠHk†@n†e…D^~9Fe-]q.dv2n~1iƒ?g„?mŠAoˆ@pBmˆ?j…@`{:m‡9u‹@m†@oˆ?pŒCe5a‚?e‚9`|+[o0h4i~BpƒAqˆHr‚?q…Eq„@g†Ij};_r1e?e?b{5¢sÆÒÐÀÉÆµ»«]s6Si/BX)Qj4Vm0Wj1Rg9Yj*Ri-Zp.Ki/HZ(Pn.Gi2Ge5Gc%Vg%Sp2Ra,Xn5Rk)Ov?Wp0Sm5Pa&Jd)Li,Dg+Oi%Db/Ig/Rm5Om1Jm/Tp'Tr7Wr/Yu:Om0Sc0Xk5Ta+Pa1Qd+Rf Sl/D`"E_"Qr5Ie'Qi%Mf*Jb%BRHW@^"C\I_(A],D\&L\De':X=TC`$Jc'Fd)Jh)D^ G]%Rb(FQDY$DY<]%BW$@X%GT ;Q9R7U%*J6N#BPH_/On,Hh$@^#6O9Q6V#=X2PH`$?Z@\C\ Ic@[DX Ka#Ga$7V&;W =X2IBZ?] ?a*;X#=Y1KC\!Bd%Kf'If%F]Ng&Na"H]"Fd#Ia H` Mk)A[H[">Z"C["Jb+DXD` He$BYBZGc(Da&Kg$Rd#Wu.Oi!On"^>`o(Uk)Ni*Wj)>d,Dh-Nj(Pk(Le"Nm+Ps3Vq.Ll(Om*Nl#Rq&Il)Tl-Ie)Wp-Pn,Us7ay2Tr(Qn$Pe(Wk*Qg%Oh'La Hg%Yj RhFYG^j…Ct~0p4i…;_z0Rr-_t)\v1r}/l‚4e}5d|1j~0cz2_w-`t.i€?d~3[z4i4Rr-e}2e{6b|2\n,Tl&Vw/^x5[o,Zn)Xs1_w3^v/d{1g†E^q(Ut2Og Us&Om!Xu&No&Sk%Ok)Xz3Sm,Tq-Ur)dv+_r1Wr/Ws1Nj)Sq,Oi#Rn'Mh$Eb$Gf$Nl(\j!]|3n…3d|,i|)d3f„:i„>c5b{8b‚4kƒ;e‚;a}*e{%Vp&_r(`v)jy/jy2dw+iu"aw'_y,]y3Xw5`y,_y9]=gy0d€6m…;h‚4f4jw*_r-d}mr‡@i}.k†>u‹;f„>eƒ8sŠ?q†;yƒ>u†6tˆ6pˆApŠ?j‰Fn†@h?kƒ@i€9x…9k…2s†2}?o‹@s†;c@l‚8i{,h}'a†0`}0a|6`|:xŠ9r‚4p‡@p…;s‚9vBuŽHo‹A|‹@s…t„=v…i€4u…=q:o„?j5`t2d~@e5`}9d€=j;i5j@p„9o…>x‰Av‡<€ŽQyŠEt‡;o…Dg}?lD[w:\{<]|;i„?g…?l‚?v†Op†Eqˆ>~Š=x„>w‡Auˆ2~DvŠJ}‰AyˆBr…Fz†?p:f6Yy-Uq1j‚:`Amˆ@}‹ExDzŽJ{ƒ>w‰Es†6…‹A}P~‘Mt…>sDpˆC{ŽJu…4|†8Š@uƒ8s„Cs‚4f†>s‰Ek…6k1m:j5_{9o†Ai|bq2fz1mt2gs1ly9˜nÈÒѽÇɳ»ª^y;Wu8`}>]wHOg)Rm-Ki-Pe1Gb.Lb*_j%Rh1DY C`'D`*Pk4Jn9]v0Oi#K`#Rs8Jj'Og*[y3Xl.Zw1Sn7Le&Fi+G`!Mi!Ng&Kb#Ma"Oj,Mj*Sn'by8Xu5_o2Wo5Vl5D^)Sj6Tq+Mi'Rl)?["Ii,Gd&Id!He'Gh+H`(F_"G`"Gf%DaJg8C[#Oj*Hf*@UF\G]"Rg%Eb*Ei(LbIg#Nf&Ul-C\"8R>[$=_!?W.J0L4X6S6U .L@U#CZHb#?]*=\!@a#Dd%;R>[)Lj6Mg$Ii)Mo/Fj+Lj-Ml+Ce/0K"2O4P1UF`$:X<\#1Q,O-E6M >_&:UC\=T=W@ZBc&Ok)G]C_%DaDa#Qo'Po-Mf&Vs3Tt)Lo+Pm+bƒMTu-Uo*Sm(Lg"Wj#fv2Nt2Ou8OjSl']…DLl(Sv/[x2Lm-Hk'Qm(Po5Im(Bj*Go*Ql(Rh+Kb#DcHiFd#Uu1Vr/Tl+Uo&Sp2]x4_|:Zu+Rr*Kl,Mi&Ig%Lu1Mm"Ls(Vx5cv3\>R}5Wv6Su3Hn-Vr$Ow=Hm(Rt;Rv+Vt1U6Km'Ps6Yx1Jq.]~;Sn$l…7bv+Xx5Mr6Zy2Yt,Us3Im+Kk'e>b6c€6a=dƒ6e€.]{/Zx,VymŒIf‚;d/`y1a€1l~/g…;f„@j}:d@g€0bx1b3Jr'LiWo)Xx/Vh*Om&\z1d{0Ur-Kn-Qn%[x8Om-Sm*Vq,^{2\p%Wu+Le Tn-Zu,Mh)St7Qo*e}+Y{,\|-_}1Tx5\v3]u,[y-`€0[u&Mr2On(Hj*Wv2Xp2Yj'Yt,bx0h}0_<^}:Qw0_z2Vo'Yv-Sm$PiJj&Rs*Hj$Jh'Ji,Uw/Z9]z0j‡>f‚8j3_7c:f.bƒ;`y1c‚6d€3`x/]}4dy.j‡;j‡?g‡@uM|‘=d~=\v+_~7jƒ=_?`…?d€1\y9iƒvŽ9sBj‚6`€:d†@q†m‡?q†=nˆBy†8o…5o‡Bs…@g‚?sƒ7p}2b}1p…9p…?s†0uB–Do†>mƒ0h†=h‚?dƒ3e‹q‹:n†?kˆ>kŠtŽBt‰4‚Gs†Cp„m‡;q†Bm‰@uˆ>j€7j0wB}’C~“L€—ToŠEmd†Gl€>p‡=pIrˆ@u€-g~.{‰x‰>l‹?h…=f{.i}-f{*^s(Vs*]s/^x+d0q-Z~2e‚3lx.r5_~;e~3iy,k}/s1o€3n€-sŠ>o†Uh(Si)If(Ea"?T$Pg+E`#Gh-Da,D]6N@X!A^%=V'?^$H[)Kd,Lh#Nd&M_5Oh%Ti+D] A]#G_!Ji)Hc%D['Nh.Ee*Ic'L\"F]#Rj-Fe+Bc$J[&CZB]E`"Gd&E[B^)Fb+FWA]F_>^!B`"G_ Id&Gm)@`)G]#Mf!>YH_"BcLm-Ec*Bd)Ik)GZE]"BY#D]>V?[$=O>\#C`%C[!M^Kg#Gj&He'Kf-Hd&Sm0Ig(Qh,Kc$^o0Mg)Pk,Lj.Rn'Mr,Tl$Om-Nk+Il)Nn,Ul0Od Xo'Mr0Us0^y-`€@_z-_v3Tx5Rl+d}BQq0Ml+If$Xs+Gi&Xl+Pj(Pf'Rs3Tw6Qp.Qi'Mk"Hj#Gh(Fg$Qs3Rv;Xt/Xw.Z}8\z5`|4l…A\|8g€7a‡E[y:_w.c4\{,Pr%Ut+Mn,Mm3Lg%Mh%Xy6X|0Ro.Mi(Lk'Po$Of)Kl2Ni,Pl+Pu]zAjƒDUr1Zz4Zw3Yt0Qm%[v/\z4Xn)\t-_x;ez4c4Zy0^x6[{4Po(Zl*]r*`z3^s*^|4bx.Xt-Xt/d~8h€=n…;cy-Vs3Qu,dz3bw*c}8Pt*Xs*]y+Yn0Xm+]x;Wr3Oo0Ml'Xw;Zl/\t0Qs.Nm"Ut4Vw2]z._y1Uy-\z,bƒ@dy-bz5a{/`~:c?W}:`;Wu5Yu)Yw1Xo'Qr*Pq/Ef#Om%Wn-Db"]~8Nq0Vs/]z9Vr4Zm/Qt-^{0e‚5m†4`6b{2jƒ]|2Yu.Ww0Yr)Wr+[r(Uw3\|/`v/`{2f€2_‚-e5^|/_t2by1Yu(c:`|0qŠBn…Bc€j…Ik€9`u/nˆ>r‹Ad„;d?`{=du2b5r~1o‡:q…?m„;~ˆ:o‰Gl3f}7Yr-Lk(Kk)Li!Wq-Jf#No(Xs*e}2\z(Up'`w,d}Œ@Š5z‰@t€7v‡=l„{Ž@yŒGƒ–N‰‘D~@}‘F‡—R€‘BtŠDm‹DlŠEi†9r?r†?o…Bn…:r‰{‹=€Ž>–U}”UxGz‹KnŒMt…=i†;o…?m†<{Hg?h†?{…?u‰Iw‹?r†:i…>oŒGH€ˆ?x;vŒHw‡Csz1pŠGs„~†;s…:uŠ?o„3q‡=g€>pƒ2|‹8s‡^#H^%Qf#?W!C`-B^)Me#Ke&Ka$@`!Kb%Mk+Gh(Bb+Je*Fi-A_ Ga#@Y$9X#BZJf+B_!Jj+Hm/Pk:Lg(Uq/Qo1Vq,Ph Kh(Id+Pn+Wu7Uu4Ba#Ri Me#Pk0]w8Cd)Wp6Og.Jm-Le'Ji+Dc,L`(G] 9L8T>TGe(Nb&Tf&Ql2Ln2Ij+Wr.Ug%Qm/Yy6Ks4Ji.Mw?Ms-On'Ny6Mn.Rx;Vl&Fi*Ws,Mo(Kt0Rs.aw-dBSz>Jh)Mu7Vs2Qj+Ot0Us5Qs(`v*Ii-Xs6`8^z1Yy2aw-[€B[u-Sh&Rq,Hn0Ni+Ww=Nn,Pi'Qn/Yg-Vo-_u0Xv.g‚;\<_‚?_=_|3_x4^|3Vn-\x)Qt0Qw4Ou0_~9Pp+^s0Vw>E];]In:Uz5]}@Zx6dy1f;p€9b}=`{3_{1a~4[r-Uu*Xt+_s*Nq*Jm*P{?Tz<]y8c@^v/j‚3^w,]w)oƒ8k€:d~?`}=Vv6[v4^„9^3Wz3Vx3ZzARr-Zw3Xs6Om(f~3Xw/c|+]}4e~B\w0f<{“U`x:lƒ?^y4f}5Yw+e{0a7Uv,Pm!Yu*Qt,Sl%Pl%Vu/Wr,[t3Wv/b{=c€3\z6_z:_t-Li%Sx-Ss.Ss%\x.^l*Z{0h‚?_1bz5P{3^};Us/\y1]t*aw3Ws4Yx.a{,qDe…CuŠ;kƒf}3ke~4p„4v‹HxŒHs‰?s‡@n…6\|5Vt8Yu'Wz,Xw*gƒ?d7g6\u,gz2^|/uˆ7t‹=s‹CsHjŒEn„:gy2k~0g„9m‡4r‹:uˆ3{Ž?v‡e9bs'_y*au-`:g4m1n„;jƒ>l„:l})fƒ4i8f7nƒ:pˆ?rƒ5|@|ˆ:ŽBwŽ@~“Ht†>r‡:lˆ?|Aq†?oƒ7f|1u‰m†?nƒ:u‰Ht‰d8e€:s„@q‚8w‡?ƒ’Ix‰DkŒHq†?yŽ?tFvDi‚;vKwŒ?s†Bs‚=n†@oFl†9t‹7x…=oƒ3o…VCa":S @Z+D])D] 9O2S&Hc,4R)B]B\ Rh'Fc)A]"HYNa)Mi'Lg/MaIQH`#I`(Rl2Ll0Ge,Su@Wq5Xs1Zj)Nd&Fa%?V Ec.A^,Pi2Lh'Pi(Zn:Np.Nf'Nl-Ee*Jh8Tk,Uq/Kh'Gb+Oi,C[$Lf,Hc,Jd-Pk6Rn,J`(G^+Qd*Pg$Mh,Rd*eq/`i.Uu3e‚@f…D]o5iDYSv;^z`|=\„@i^};]|3aw,gy,cz6n2`;j…Pl(>d(Tk"]s([l)_y,Po7j†;j„Ak„=m‡El‚r„;jŠCpŠElŒHnŒ@r‹;g}+g„Acy4g|2a‚H`ƒBe‚Blƒ=_};_{4`{4_|6Y{9Zs3b|d€>h‡@qˆCt‹@vŽ?v‰Bs‹?h…t‰@yŠ=j‚EtŠ=q‡Ap…@m.c€:lƒ3h…DjŠDm†;rŒArŒMo‡Gv„:tˆAbƒ:l†;i=p‰?w†;uŒ@s…?b2pŒQ^?k0eƒ:aw0e|3cy6Xv;^|<_~<]p.fy0dv)gy2]y3`x/Xt0Vx2e{1bx+az,bw(g|/_v/dx2d3l€6i~9l3_|dy3Yp,\v-ft&bt'g|+e9i~7ey5jx&j0j~-e}2dx-jz+\m*dy3ix-l{1fp#Wn)`w.i|4l…Eo2v„5m…1o8j7a|,fy0e:Vs5`B[€8n3o;i€4i‚1p…@o‚;nƒD`{?j4kz,\o-_q.at*k‚>hz9ax1du._u(Ri#Zk"Zr-Vo*Up2ct.`}?au-So'e{3Ys1l‚?jƒ@e{7i|7e~7_v3Yr/Ol*`w5`{1e|/Vw>]v3Vv1Zw(Zo2Uj-[b$Vb(Li(Nf/Og(\q1c~;bp5em0gm)ˆ˜mÇÐÑ¾ÆÆ¤®„Pi:PxFRm.Lg4Sl0So.Od/B_)Ie.H`-?_)?V#Hf&Ea.HYKW(C`':Z#;W'9[*Ac#:R9U&Jd*BZ&Pl.Je&@Z%He)Jc,Fe"Ic(H]%Ca*Cj)Kh+Mj*Pi.Ph(Gd#If?U&B[&Cd+AS ?_"Eb":Z#Je)Fd*CUC[#Ha#Pl%Hg"Ll*Oh,Vu1Vi'Ul'Pn+Qy8Qm,Ro?Ok1Nl/N`'Nc'MbHa"Ii-Ug'Hc.Kk.[o/aw2\k(Hd+Wx;`y3Jk,Nk2Me.Un.Xq0aw2Pq6\s3Oo/d€@c}8_ƒ?Wi,ez=ky3s‹FSr+^|9Vo5Se'Rn*Ym*\s%Hd'GoY{4`y+Vv3_{4gƒ3cz3\w.Sr$Uz1b‚9f}0Rh+^|5e…;W|0lˆ:Y;d‡Hd‡Cc…<`ƒ=i†5m‹>f‹GmGkŠHm„:d~:Zv:\~6Sx'Qw1Nk$Nk$Vv+Oj+Ns(Pi+Rc HfYv(Nk)Zu1Wr0\y7^z9]Ajƒ0iƒCh…>tŠ]€0c~1aw.c‚:dƒAa‚nƒ@`}:d‚:^:d€([~0a}+d†@g„9g|;p†9mƒ>cƒ:W}4_~?]y4^~9]€@_}:`{5j„@b‚2Y/i†1i‰Ahƒ4k†6oFp‹CnŠ@k2c}2Z}+k5kBk‚5^2cƒ2j…i…8f…;b{0e}4[x.a6d€3f‚;dv*hƒ1a…8]7a{,m5m2b‚<\‚;gˆB_/f}/j3c‚:`v*]u/b4Uy-_:`x2^x)W|6gw*h€2U9m€/T{-X}-`w+[q/`~5d}0`{-c{+dx0]{3[|7e4a~2uƒ8g|/g‚:j€9n3y‰5h7dz3t„2p„1{Ž;u?jƒ8n€.v”Gr‡1e3m„1k0Xx.Wn%Xt1^|?f‚?e{2i{*mƒ9p‹@u‘Hu‹G{ŽGv‹>c:i„:n†8l}1s‰7tŠ@p‡Cmƒ7rˆ?x‹>€’AuŠ;v…6lˆ:e‚Ef{9`|8iƒAc0Z/h}4`}8\w%b‚4e~.b~6Yx/X{2c,s„g~1l†9o‚.s~4p‚7gx1l…Ca€>_€6`|-d2\t'[q-[p&dx+cy+p1f{5_y#j‚-s‚7p1l0ey.o„:r€8h4\s.j‚5m|2l…1n@~…8q…?i€3f„0_€*k2[x/dz2]s(fw.at)av0ey.bx0ez,_u,dq)^r2Yp.Xr-Sy,`{'Zu+`€/g‚7i‚1^x4Vt-Yp4Wj+^x.i*e7fo"i8^p1Mi&^r.`q#Pl!i~6c}8es2dx6_u1Qm-_r+c|/Wl YpXr#Uw-^o(Ul+\{,f}._y/n3f~[ Om+Kk/Gf+Fl1G`"7P;R"=R[!F`&BZ%DRG^%;] ?\(Jd$H`%9S"I]!C`"Jf-Lb%G] ?^!Jh/Ed0Od'E^%Sh,He&No+Pk%]z4Mm$Hc(Qk-B_)BZGa&Fb(Mf&Gg%Jj2Je.Jb0Jh,Qf)Kf(Oi'Jk.Si"Kc-Te'\l.Sk)Yq,Xz9^q,d>d{/]v/i=d}9l†Ia~9\x1Xn5[y2Sj(f7Vx:d{9Zo*Nm0Xv1BZ"Nl+Ro-Om+Rl*Uj+Oh*Op4Ww7Ol(Bj&Ek,Be,Jj/Li'Ie,Ik+Fm1Ip1Jh#C`%C`$Fj+Mi(Ic+Qk';] @k(Be#Fe+[u6Si,Mj5Ju3Kj'Fd$Cl.C`";R9QLg-Rl+Nh)Ov9Y};Pz:Ou+^v/Ov1Jq.Lo'Ny0Jm.Iv4Rv)b7f…>c€9rWd€8d‡EYH_ƒCT9g‚=a}.b}9hx.`2O|4Zz5Lr*Os*Jn&U|/S{6Py7\x:Ln.Z{.X{2Pp&Zy?_}/e:b‚:\w0Qs.Yv1Yv/`y-Z|5Ql,\y9ay8Yu7b|6a}3b~?h}2`q)cw,\r0\u4Zy2^{/j8[‚8d…=i„9m0g}5Z{0d‚6Y€:h~6m†?_}2k‡E^6_7^y3Xz7e9]|6Zv-d€5e„g€2i/b€1j…5gƒ;[t5^u6eƒA\w8b:iƒ>d„Ccz4i}0]}0[}4a{3oŠKe}5f~1g:a}*g€/k‹Gd‚6`;[~5d‚@eƒqˆ3i„4vŒAj„c…?g€8n‚Ie)Gc+Mg,Fi1Hb"D`'Ie-Hk-Hh6Qn5Ch2Ee,Pi-Wp+Sv2ZyXs3a|Ag†Af‚@m‡Baw4^{9e~5Yu'Mq4Pth€De€Adw6br1h…>`y/f;dw,cy6_z0[u)Up.m5j~/e}=c‚=Vy0Ww/\x5Xt/`}9f3a=Sr)Yn&b}3e‚0`|4`‚Be}0b‚;a}1\{=eDk†@l‰An†Ci:lˆDa=kˆE_~8Xu'_t._}Ah>Yw1b>`z-by-]s*e|=`z2Zz>^€8\}2Nm*_x*Un%Vu.^|/d~@iƒB]€?X|/d‚6a.Z„.`}0_u-d{0h}6Ms1^}6Y3l„/_€1]z*j…2\{:^y8ay5f|1d€0Sw9Xv1Lf#Kc Sh)Le Ke&Ss.Rx0a‚7\~]‚@b~9m‚<`x3]y/^w-]r.`w+k„9_6a~1`}9j€a;i‡Gk:r‹Jg†?m‹Ci‹Ir‰>l…Fp‡CzŠAtLxD€“GxŽFp‹Di‹8]Af€9l…@j;e†Bdv/_|9Z~8cy2`2a‚9m†>gƒ>lLx‡d})g…;o…:i]u.Uq(h;l}0f}4k{3e{=Ry7^z:Uk#Rj&Tm&Pm&`s&s]*D_'Ic(D`&Hd&Hb+If+Hg4Nf*Ee,Fa"E`)9SC[ AZ"Ie,Ad1Fd*Fg'Qi&Sp.Vv8[v0_q1Vi5Tp8Vu8Oo1Jn(F` A^%Nb#Mh#Lj)He-Of+Jc&MgLk'I_%Mb+Fc)Mf+7S!:_%Ca)Lb&Ta$Si4Rq:^t2Wz@\{e†A]|.Y<\{8Y|=_>e€=o8iŒHm‡Au‡>uŒHrŒAl†KlqŒLj‡;j‘Zg„;h„BcCWt6Yv1c;^y3_{.[v.Vf,Yz0du/Xy;d€;cy.c€6_z6c~8ay/\o(^q1cw-]u*[z-c}3Xz5Yr*k3dw2[w.[m*g~7^l(^w,[r)av.eu3ct)Xr.Tp0Zs%\|7fƒ4Wv*_v1e}1W{9Zy0`ygˆ@j„8i…2kˆ2h†7`.`z2_}5c7^~6cƒ=e‡7o‹BjˆBh‹Ai;h…=`€3\‚Ah†:]…@c„;Z|3Rx1Vu.]u:Ur+[w.W‚9\|2`r%d{)o‚@q~-h:Uu-Pv.`}8b~8i}-^z2_y9\x<`r'Vu.Tw)[{2]~?_rAsŠ>{‰>v‡Ci7h„Bd,Ok9Ql=Rs5Ur8Jo8Sq=Op0Op7Oj-Hh1Rl0Rp3Po2PxKPq?Qp(6Y!=Z)Fb-?W2X&:V;a"Bc'>Z(8T!6Y ?`!=_3Y*?a"D_%:Z#9[#@\)-V"5U*Kg(Bb%2T<^,Be,Jk&Cd&Jm4D`)Ck6>^*Lf+=h,Ij1Ml,Mo.El'Ec+Ac!Gf*Lg'Qq-Dd&Hf'Ki&Am1Eg/F]"Le-Qd&Dd'Lj0If*Tk,Id$Lf+Nf!Bd'Ji0Mj,Sn0Lo/Fe/Mk0Jp>Ni*Ml-Dn.Mh%Sp1Em(Ni+Hg3Lr2Gn4Om6Rp1Sn-@_(Ol1Gj+Hk+QvY„A^†F`=k‡Caƒ>c…CZt0Pg(_v,^y=_}=_€;`|;^DKq*Li(Mh%Dh&Eh Lm5Vx>X5b‚>a€1\{0`@gAWx;Pv-Os(Go'Ei'Rp'Xu0_w/Qz3`~d?r„Ah|6\t6a9ZE[x6dˆ@vŽBkBm‰Cf‰HaˆD^„I]}=c…8b…:k‰?ay3Xz:g‚Cax5[v8Wr>Wr9M]%Pc%Zl4Re&J_(Oi(^t5]y3Vr$\y,Zv,^u,c};Rq-Rq4d{6e…Adƒ;Vv,]{*\q,`z/`x.\v:]{8Xs)Ku'Rw2Om&Nl-Ni(^y5Uw6X{;Tq*\{-Sl&Wu&\s-Xr,b4\<_u2Z3e:c/Xu1Xu.Yw+Nk(Ns8Sv5`}.Zy.d}.]~7Ty*\w-a~/\;X{1[€6Xx*Jp+Sz.b…Z~<]~=Xs.[7e€6eƒ6e†Ch‚:f‚5a‡b„5e„>\~:c„9];`„B`{2`„=\8d†6d‰B]‹Gh‹Cl9e‡@`ƒ?Vy1Zx/[{.\>X~=[v1Yp$X~6Lt0Zu-Mp+U€:U{=Qy=Ru9]@]„G]€?Xv+Xv)]y2Zy8Qv0Ux3Vw1`x,g€1^},b|/`~4h}8e‡Gi‰IoŒOhƒ=_†FvK|RqJiƒ?iƒCn†Jd‹Ib„@eJfŒHj‡Bm‡Dk„CpŽDd‡@]|,k‡d€1e‚9e8^„@j‡Ah}=e;h†Di‡;j‡=vDsŠ@q†:n†:a~0c~?r„@bz2h~-f†7jƒ5oƒ>[z_|7j3_@[y-i-Qs3^€Bg‚Bc8a„=j‡Gg6c€1]y3_x,Wr1cƒ;j_z;c~0\y1^|>`z6^{:]w?Tw0X|:X€:cƒ=b„ARx4Zv-Ys,Pu:Qj([x0Vo0Nl)Ut/Zy7Si'Xp0[o,Yv0Z~@bF[u+^|,Qn*f>^v.^~8Lu9Om'Ws,g€@h|:[u0^s$\n&Oo(Zz4Um0]o.[x)du-_m$Yl3^n4ev?a}Ai~?hw+f~1c|1gy1m7Xo/]s+_u0]k*Nm%d~0m…9o„>n‡A`|/m„>j‚e>b„Ad@m‰CsŽC]‚Be>d|9`x.]x/h}.e€9e†Bc@`„Ca}?d‡An‹Gh…Bh‚7u‡Bi~3rŒCr‡IhƒFkƒ:i‚=o…9k„=p…9s‰Ho‡Eg‚Ak‡Bl‹Buˆl€9i5i‡Dp†7h2jPm$Gj/Lt0Lh!X{=Vq1Sv2]y3Vt2My9Kr*Ms/Ox6TwD]z2Rt2Rp0^Cd‡?Ww'Op0^?aƒA`<_ƒ@\€;^ƒ?T9Wy,c‚j1i9oŒDsŠGm†Cd:d@lˆ;b4Xv,Wn'[l-i6iˆBSm.\|;Mo:Vz336 G@\c&If%Xu7Vu-P}@\{1R}5^}:f€>j5f…?Uv(Fj+Ww.a|/_€2Su)Yr%Sn&Nn-Wx1V}3Zu&Po'\w+e€+Zv+Wr&Ry6Hl4Cj2Wm+Zx.Z€.\s*Ys0]j#^m"a3^y-Xx1`u%Yt&cz+j:X{6_=_}2e~4k„3i‹=kƒ7d…AtˆCm†AY=\€1]~.a1kŠBk‚7b€0g‚4n‰:f€5k†:j…A_…BVu-\x+`~/Wz9b1a‚5]‚;\‚>d†;Xx1[r*_€9Lw6Mr-ali4d„4c:c2c†9i9{‘Dn‰=d:tŠ?t‰qŽBwŒ@l4e;t‹@sCrHk‹CiŒ@h‡Ab€+i€=v‡;x‹:kŒDs‰Dp‘R”L}’FxDrGqDc„9iƒAsRi†=kFmŒDv‰Gv‹GnŒNpŒFu’Ph‰FeŒH\€8j†3|?\}-k…?fGd‹Iv‡Jr‡Av“Kp@xŽClˆCvŠi‡;wŒ>uF”K|‘@‚š>w•F•MŠš\‡™W‚”G€“G…”V‡›]…œTŒ›Q…šR}™N~’Lƒ—N‡–K|•P}–Gu…Bu‹B}‘Br‡A}“GlŒGj‹?lŒErCj„3uCl‹?m‹>jˆCk…Av‰Av†B\ƒ>h„?nj†5m‡>d‚3c‚9d.dƒ<_v6Yu+b~7Wy6f}-d….f„9^z'gz3i€6`|-Xw2_|1Ns)Ln"Vu$Tp$Lk(Pg$Kp._u0Wz:Mw*^{)Ov(Tj$Me A`#Vo*Ne6@g&Lr)\o'_v+Xi \p)\x(Fg&Pr0Hn(Ej$Nq&Kj"Rq'Tk!IjCi$Mn/De'?f[y.Zr+\p'Qj%De&D^!2MGaJk!Lt/_u*c„EZm+Yw-Qw1Vl0Fk+Ea >]FbG`7XL^Ha#Lf$U{(Vu,Ro(Xl/FdAe(KjMm0Tm*Ng!B`'Fa*D_ Hb&Lg$Jc%>c'Ii&Km5Lk6Nf-Ql+†œkÄÑϺÁÁ„QTk6Om2Vs1Pg.Pg0Sd&Vd0Rf&JX#Oe0G`*IY.Nb(Ge+Sh2Ne&C]&Qm9Ha*Fi*L_%Kd0?`'Ug&Kb G\ Hb'Hk4H_!Ii/Fe)Lh%Jf,@U%;T!.Q":X"3L0Q$8U:O.S1Q5Q">[@_*Fg(Fk=Kk1:O(Oe&Id,Pd&Ha&Mj;Ld,Ql,\s0Uk*Up(Lm1Sq0Om.Sp:>[$D`$Ph'Uh'Xl'Kd&Uo&To-Su8h‚B^~9_t,\s/eu(Ri&Yr*Uu7Uw:Wp.Sm0Zm'Xl*Ni.Pn/Uu-Cd-Lg)Ph3Xx1e-\x0Or5Uv6Np8Nt=Gk1Kd1Rl)Lh,Da"Jk2Io.Qv6Ww:WxAZ{=R{>Iq.Om/Kb-Nk,Bf(Lo1Pr3Ss9\{-W|6b€6\v7\yZ~A_z:`3]„8_0]z1Zu1dz(]u*[{/Lq-Pv7c‡6Wy2dw2\p&Il'Km+UuQx,Ro'Ph*Wu:Xu,Ws'a|=Os/`x/_u'_z2Yv.j|3au6d‚6_u/_{+\u+[u+_7a}5[|7]u)Zu5]|4Ut)Zv+Tt-e{3cx1cd}:_};]z/Tr-\0f…7]y/]{4Zy/Mj1`},Yw.Mu0Rv2Wv/Tv-]r,Zk&`€@au,e6e‰@e}4p†Ek}5h}/b6[w*^v)h/qŽ;k†=h…7f‡>pˆ?u‚6]v2c‚0^3`ƒ:]:[x,`|:bh„?k‡@i‚@b}:p†7o†Ev‰HsŒBnŒGg…?sFoŽEp…9t…k‚Eg}@c}t>vŒFu“MvŽDv‡@t‹pKz@oŒCu‹=o‡2v’CjŠEk‡Cl=iƒEpˆ?vƒ=c{'h|+jˆ;i6i|7j}9mƒBn…7h€3a0`z/f†8k€/m~._z6Ws0cw9c~=e4\/e.ju.dy0Zy)Xu0Wq/Sk+_3m}(dƒ0^y(_u.]x*m†Ga|:`ƒ4k…2e„8eƒGk‚/[x,c}4Yt1Ux5Yt0Xt'R{7Rw:Rr4Le"Rl)Jj&Kl(Ns+Oj G`#AYH`Dc FW!9OG`"H^FbGcNj(Ob*C^'I\"Gi+Rd#Mi(?bL_K`"OfRp-Lb#Da#K]"N`RnCQGY@QA_#D^"6S!Bb#Fb!>XCaATBWO`[o+Mf/`s0Sk.`n)Zl'HeLeMc#@` Ol)Mj*Gn(Uo!I`Fe(5]$A^!Ol%@e(H^=V>WJ^$Dc"De!IdF`&^p%Lo*Fi$F` Gb M`$?OKb#J^A]&Lk.Og)L`)Ma'Vf([l.Ke.Nh-Zm/ˆlÄÑиÖR[s3Rg*Oh*Kh(Li,Ml/Om4Qg+On+L^Dj%LX>R"Ld#[p9Oo=Qu>Wh'RkJk,Me&Mo:?\)Pi-Sd/Lg*Oh$Jg$Ih,Jj*Ha(Bd,Ei3Cd-Ec&Kk$Ef#Fc%Be)De,Ln4Jg-Cd!Di%Gd Qj#Ee%Ml0Np1Oi)Uo0Wr-Ol,Pv.Um)UuA]L\w7Sp-Uw>Wz9In'Rn(Qm(Or2Mn(Qs0Uo.Nr2Z}6\t0Ro%Ws'Qm!Yv,Vp)]u1b}/Ln(Sl&Od Wj#Ut+Gi'Ie"Lk,Ok-Nk&Li&C_ Kj&LaRr)Jl,Lo0Kk+>]$Pu4Ie%Nm*Cg/Lv?Gn3Hn+Ll-Hl'Rn(\~1_{0Nv1Ru2Mn3Rp6Vw1[p(X}:U~@Tw8Po)\}@Or-Ux.^;Sy4]:a€>Uu-\z,`€1[x1Yw3Uv.Ry3Y|?Uu7Xu4Tt2Sv0d~8^}-iˆBf:Qp)`z-]|6^~/`ƒBe‚:f„Bh~1d~:h}7[ye._;c€.m€;e1o‚3j‚Dh‚>a†:a„@o‰Dr†:i…Bo‚:dy0yŠ?]|2]~/f0Wk+O_"[|AR|1Ms#Vu+Rv)Ty4a|2\|1\}9_2f4j…;j2b{0\€3]w*\x7[y5hƒ>h€1j„4o†>o‰8b6c‡@^|2_~5ax-`v!]€9X{0]~-Zz2\}5]}5R}4Wv3c…d}iŠLs‰@w‹=i†Cl„Apˆ;W~3`~4h:fy5ey2i6f€9e„>k‰Cg‰?sŠ4rŠ;gŠ?`9g†;a‚9f„=c€1r‡;j„Eg…;Z€<^~6X{=Tq-a})[}(]y&i‹;`+`|-e‡-b};g~1k~8q„+p2k/q†8j†9s…7qŠIs‹Bj…]%;b-7`%7Y$6U'FX#:S"DSIZE[&;^-@e&Kk+Pe4Ij)@l-Lf)B\)Nn0Ip.Ml-Il0Lk0>a%Cd'Dd06^%Dh*Ik/Gn-<_#A_#@k)9XCa$Hd"@f$Ge'>_'Dg*Ij1Ju;Ki-Gl/Nk9Mm7Jo7On&Gn0Qp,Nl,\y0E_+Mp0Kr1Ii+Ld'HaRk!Nn0Tk-Ok.Ti)Qk1Nk(Ni!Jf'Uk)\x6Wu-Tp4Pk*To'Hh'Qr1Jm)Cg-Gk-Nr>Io(Ml*Lp)Iq-@b)Jm3[y6Rm*Tx>Jl+Im*>`,Jp+@d)Dj1Ij.Cd"Lp,Jl2Cl(Fj*?e'@a)Gn.Pp'Rm0Rp4Om'Jj1Pu*Nr0Ns2Ku5Kl*Sn)Sr.Gn*Mp3Ok.Pt/Mt0Uv9\~.Uw.`}5Ru6Vt)Nv7Hl-Sy;Xs-`|6Jr0Xr)[v3Vu-d|?]x:Wu-Yy6Rx0Px7[y0]x1g„=\|4j„2Rz2`~5Yt2[v.ax,Uw/Xr+ax0Sq/_€;]€f‚i…;f6f‚4g‚;eŒMZ„H[†Ee}5Z„[z6Ko2Qy=[{_€>o†An…A`„Wy-Y~,U€8\€St,eƒ>a7Ww/_7R€Ed…>dƒ@b=dsBpŒ8jŠ;m‡=h‰DsŒDl†=h„;nŒEpŒ@_„Da€:c„?kŒ@iˆk…=h;d…Eb}xŠAy”MqŒDr…8kƒ9sŠ;x†=k„=w‰CoŠ6uŒDqˆ9j†h~7b4bz3i|4j†?l‡` 8`,Uj)Jg+Hm0Ji2Ms8Ik+Qj-So2D`B_!:SDf*I]'Pg$SeE_BZe!Gh(Bd#Mp*Hhc|6mv‡;`:d„=dt'Yz1dy+m€-`v(e/iŠAX}5_7b€7^|7`~9Z{0k‡Bn„oŠBoƒ=dx._v,`y0_u(a}4Vp)]z3d/Zx.X{3]y-b„=h2e†>rŠt‚4i6j+i{2f‚9y;yCw‡uŽBu–Ox?€”PyMwŠ?sŒAuŽBwKxŽDuŒ@ƒGw’Gv’I†˜Q†—Qƒ“Iy‹?x‘B|‘H~’D‚•SJy’KEzEvŽ@‡—Gy‘Cy•Ox–I…šV„“L†™OŠ“B€L|LrŠqŽDl…?i‚@n‹Ar‹EkŠCu„5tˆAn~0rŒBe‚4g‚:o‰Do…dƒ8t†;u…Cw‡Bb~-g†m„8i‚@j„@p…5`}0h}2g€/c}0p…3mEmŒCt‡?p‹Ii‡?k4e‚6l†?\{3`y+_;f}3t„5g~6iz1c>h‚;f}7a‚=c‚;\~Af|.q€.ez*c‚7f|+m‚3a…4d~*a2b,\z5kv(^{+n‚6m~-k€5h†;oˆ3€‹8€†1g‚?n}"p„@e†9m†2^3d|3\r(Wj$aw#Xo d~(r€-i„1g„,e…8jr.ex0d‚4]z5Zw.Un&Rr'Vm \t$]y)]x-d€9cr,[s/aw,_2Z|-_,`v,Ut+`w'Uu*]u)_q(a7Wp9Xk#\r,Sn*[v-Xp)c}&f~;\‚=c{8_|7gƒ4_y(ds"Wo)Qs-Rm)Wr(^z+]o1Rm'Pk%Jg#Ji(Ke&Kg Qo+\p,Wl-Yl(Yz3i€9Ym,Pr1…—fÄÏͶÃÁtŠDSr1Op5Po-Ri)IZ*C[(Gd(D^%Ok(Mc <_'E_-Nk3Os7Nd"Mk(Nn-Ge"Gg%Gj%Bk%Ml*Kg#Ih%Kf=h#?_&Ed#>`)Ge%>^"Aa=\">c*:Y%Ae$b‚4h‚7h€0f{0b„?a…?j†5fƒ=`pˆ:kŒBe…7i‚9iˆCh‰An+a|%b}'p…,h€:m>i‚3s=nAn†5r;iŒDuŒEŽ:j‹?l‹An“Fu’Hm†1y4u9r>t:x•IoŽIvEhŠFk†rŒ:wGsIu‘I~•O€‘Fƒ’B€–F”Jy’H|’G™L‚˜S‡˜L…—P‚‘H‰™N…–J…›V‚Ÿ`Œœ\ˆšK‡›O‡—OŒ™I‰œS–K˜Kƒ˜G„—G‹™G}’Gz’C‚—Hy=‚”M„–G|“I{Gw‚’G“E‚“H‹•@ŒšL€–F~“?‰–R…—H‚’Dƒ–S’GxŽH|•Gy“Hy“Qr’Lu‘KxLv?x’K€”Iz‰>}Œ?}“FuŽ>uAv‹AvIuCn‰Ax‹Cf†C\t,`~3a|)ax*vŒw•Cw.uŒ=s8{‘LuBl‹Ar‰?y‘=}’=y<|CxŽ?€–C„—Bz“Jy—OpŽ@vA}Aj„Ao‰Cf…=`7rƒ:pŠ>l„6g€9p„oˆCkˆ@iƒ:l‰7`y.l„6i„9j…=k…Ab}1j…4f|5g.g~-eƒ*i„=l…8mƒ=n~*qƒ1n‡De€5g†5iˆCf€5m‰ApˆBsˆ6p‡@p‹:|Š;h‰;f€0bƒ8a};e‚:c€3f†;g.h†3d6c‚3mƒ.f}2j5b8e…=m†3p„2k‰=e…@l0j‚:b~0n‚.`ƒ7m‡c$:\Dg$Ji'Mk)Sk)Un)E]:_+>\"Aa"?[De%Ae Gh'Di)Ih+Ce"?g(Fh Ed&Ee Fj&E]?\>d/mƒ6fˆG\|/Z}+l‡Jh~^9uŒAr…>i‚5`‚3i…6b‚<^>`0iŠAv‹CzFuKvŽJoˆBr„6lˆ:a„9\x1]r*Xw,Zx9Ru,Mv1Y€/Qw%Ox.[},g2a€=d†A^}4e‡Di„5`|3c†@h…7h…9f„:a…@c=W|1^9kŒDe‡Bd…;d|2^‚9iŠ?k‹CiGc‡BoClŒ5l‡;d}-gƒ3_w._{+[€9Qv6Vs1Y~2ax+\v.]@\~5[},Ru*Yy.Vw*b|/dz._r'Tt)Zj cw+b€.k…8mˆ7q‹Gp‡Bn?p‘IpŠGvŽAl‰@xˆ=yH€—N€‹=|’Gy‘MxŒCwDzHs@w?}ŒB}C€‘C‚•M{–H€“E„’Hz’H‚˜J—AwŒ<{’At‘CwŒAw–IyŽz‘@”Fƒ™NˆšP„˜Fƒ˜P…™Lƒ™L…›Y„—BŠ˜L€”Dƒ—GŒ—Dz–My”D€—J“C†™IŠ¡P…Ÿ\‰¡Yˆ¡V‡ŸL OŽ QŒžZNˆœM‰šR†šMˆŸY¡X“¤QC†“C‰\‹›X‹œPˆœNˆ™RO Q‰™I‰›N„”BŠ–F€”Gƒ‘B~•?{•E€‘<{‘D•Fx‘Cˆ˜E—F}•D~=‚˜IwB}•R“A‚—H|•K…•?€–A€—H‚›M„šRˆ™VžPŠ›L€šN…˜L‡—Ex–K‰ŸW„™R•J‚”Ey‘=ƒ•Hw–Jz•Cu–Qu’Ki…:~ŽD‚‘Fƒ’Hx’Sv”Ix’Bz’C•F~•IuŽGrŽIl‹Bj4j‡=q‡5oŒAs‰9qGkGlŠ>hŒMtŒ7jˆCa3n„8m‹|ŒIwLw’Fp‰Kl†?sŽGmŠCu‰@lŒDm2vŠAi‡EiŒ@i‚:t>tDu‘Kx‹:xMvŒDuStLz”Ky‘GzFt@p‹CpŒB}PqŠAsŽBf>mC}’N€HzNy‘Hy’KvŒ=x’LtGnŒCyŠDu9x†:y™J…”Qt?t=hŒ?j…;uŠBk†>h†?xŠ>s–Lx”Mu‹D•Fpˆ8gƒ,o‡6z‹Ao‡=e†B``"JlLk'Fh&;X#=["E_-:Y"C^ E_Ej'CaGd%Gd-F`(Ng(Mm'Pl$Up,_m*Om;Le-Pi-Jj,Op1Nk+Mm)To#Ik)Ym&Sb$Pp0Fb!K] ?]Cf#?d'C^!<\Ke!@^$A_)Lj1Hf$Ns,Js/Bh)Fg&Gh(>e1?a(4^&=e"7f*Fo*Ej-Ek&Ab!El/=e0Ff0Bf,Tr,Df'Dk,E[!Db'9a2Qp;Fn:Hq1Pm4Pi$Ll,Og%Mj/Wr6j{7Sx;Mt6^€8a€4[}7Qs/Vw5Uv7Qw/Ij&Ig'Dj&Wl)^p)Zt,^‚EOx=XEg€4Xu*Ou.\~:Tn)c}@\|4Zz5m@b6a†Eg}7SzANi-Zx4`HgŒTm‰@S|3_…Ca2hy/i}<_€>c„?]x>h6j€6i‚Aj‚?i?bz(bx7c{1^?fe†?d9_„]v)]}:Uq'f…9n‰Dk‰?m‰Ge…@h†Emv/œ$‘En‹AvŒ@|“OqŽLsŽJv•Rt“Y}•Ny‹BvDmŽEsŠBuŠ>rBnŒFqJ•P€˜R˜M€˜M†™O˜N…žX„–S—P„™Xƒ—Q…šFƒ•H…˜M‡›N†›WŸNšYŽŸYŒœT‰›Rƒ˜R„”K~‘@‚˜]‰—Y…Ÿ]‚šP|™N‰›P‹UžZ‚“Gˆ›R‡•Nˆœ\ˆšO„™E‹œI~šQ•G}Ž>vˆ@nIs‘H|Š:zŽ:‚šS—F‹šBŽ M•¢UŒ™O†˜G…šT‚˜J†—C†šJ…–G}Œ;‹˜H‰¡`ŸZ‡œ[¢U‘ S‘\Œ›Q‡›P¡ZŒ \’›F‘ŸT‹œO‰ž]‘¢\Œ›IŽœQ¡_”¤i”¡]žbžL”¡\Ž \‰X‡šZ‰™Q‚—Q™G‰›O‚’;‚–E…˜P~“D‹šO†•L…•G…–B†žX€–G„™I|–L RœKšS’ WŒžL‚Q„—H}’Fu‘D„žY•M€“M„“E€’?{•Hƒ—M“I”GxEy“K„œPƒ”CoŠ>xŒClFpŠ?y“NuŒItD{9~“GiŒBm‹4uŒG’JuFxL†™KxŽN’Bw”HvŽ?{Cj‡:sŒEsŒDf‚2l‰9kŒ>x‘Av‹:rŒ@‹>{JpŒIr‘Ml‰@hƒ/o=~DzEuJwŒA{ŒG…CtLmˆ;m>u…5~I}FtŽDvŒ=x‘G‚“D€ŽP{CtŽKw‰NuŒJm„Az•P…˜Q}’B‚—Lx–Z’P}‹HvFm‘N~“KqŽ@uŒCjŒI{‘Gv‘J“Ix’G‚”Gx’Ju‘GtB{En‰CyGuŒFzCvŽ?vD|“Cx“P|’H~‘HzFu‘MsJqŒDr’PyŒ:Š?}”JuŒI‘=w‰=mŽNd};n‡@o‡=yŽCt‡5€?~“L…™LuF{?k„[p([|1V{0]x+U@\}3_ud~9Xt.]t7Ll0Qk4Pk-Om+Zo+Vr/Vl*Sj)Yo-Zr.Vo/\q.Zp/[l/ex-b|2fr3`{=^z;™oÄÏϵÁÁnŒPRy=Gi8Ul1_s0So7Ol.Vw9\{3Or5Mi(Jm2Nm(Vm&Ih&Ih-Mr&QeCd)Lm5Ws0Ro*Mp4Vt2Rn2Qq&>c)Bc(E`+Kd%Db'Ge#Tu+Zn&\z0Zz2Wo-R|@Tu8[}1Zr.Ns1Pv/Up,Mq1So0Ti+St+Xy7Qw5[|8a~?`„@i…Bgƒ2`;i‡@o…=d|,Nu.Yzc€@oŠIe…@dƒ7m…f„:k‚8b‚=j‡>gˆHn‰@kŠ@j†>iƒ?Y~6g‡B\y4`}5j‡Ej…;f„=tŽLe€:el‡?i‚:j‡9tŠ7{E€’@q‰€=ˆšH‰’8‡›E‡–@‰™Lˆ˜G‡›M€•F‹žW“ŸRO NœIŠœIšNžQ‘›P˜CŽT‹˜F†šJˆ˜EŒ™Fz˜R„˜Ly“D†‘<‚˜L€”7‰œCœS…—G…—M†”G…˜Gu‹?oŒA|Ž8~‹@~’8w’Cx“FvIr?t”I{“C‚”Cy@uD?’G‘Gu‹>~™Iy‘<|“K~•HyC{”R€“O|”Qv“H~•Ly“EwŠ>yŽ?}’Aw?oD”™H“H„>}‘ByˆqˆEv“Cn‡8mEwŠGv‹ArW{=_>b~@Nu2Fm$Rv4_€?Oz>Np7Qv2Np'Qp*Pv?\w.U|9Pq.Un0Sl3Tv4Z|8\r.Qs/]w2^?i…Hd†B\}5Zx.Nv)St4Zn2\y;Qr/Ol(Qm2Hm'Tr'Jk#Qs+Mf&Ro1Uq-Us0F`(L_Ci.Jo2Yl(bs-Yn+[m'Tn(Ur4Pq*cx&\u*bx0Zy.g>h|3‹Fs4m„7c~3k2e9j5i€2uŒEh†Bk…BzBeƒ?qHjŒEi‡Or…?vŒI_€7R~>]:e€=\x*e~4Xz5gx0h}>`M_|,i‡BbC[y1Xu/Xt:]x:Qwr†AjŒBlCnLo‡;r‚;e„BcAp‚?f;k†?t‹Aq…=tŠC}’Lz”W€‘Hu‘J–S{F~‘G…’D}–S€”H~“EnDqL{”KzC€‘FvM€“C…“G~–B‚–Bt“H€–P†™UX‰–Q†˜L†—M™Pƒ›U…›Y~’L’E}‘D˜LŒ—H…•G”¡O†[‹ŸT‘¡bN“ VŒœQ—G}“KtBw‹8oGp?{’?‚œP…Z‚—I›Z„™U…šX…›R‚›Q…›UŒ›TŠ aŽ¢džT“šN”¤R•¤[–ŸH‘¢b›Q‡Ÿ_‹žM†˜N‹—S†—NƒœQ†•L‹šOˆ›^¡[œY•LŽ™S‰™H›R‹žMžS’HŸMŠ¡\ŽŸY¢_Ž Y’£\‘žT›F‘Y‰™Nˆ•GˆšJƒ—KŒTŠœK›T‰˜L†“Cƒ˜F}•Cz–G–K„•:‡—I…Ž=†•H‰™R‡šI…•<‡”C†™L{A‹;}‹:y‹6r‹8q…0u†=v†?s€9rˆ;n€5s†8m…:r‹0x>jŒ?mˆ@vEm†=wƒ7k‹?t‹=tGo‹Eu‰@qŠ>hEk‡ArŽIvŠCl/b„?`€0t@~’H‚Œ:m…;r2v‹9sŒ@p‹J†“F|ŒG~’Wy•X€–R}’H|HyIvŽ>~–Mu“WxC{’LvŽHxKr‹FjFmˆ7vŽDx‰8yJu‰FxŠ?uŒC|‘AyŽDoJs‹?u>oŒF`ŒIjŠGp@uŒ9m†d}8hz4`ƒBiPw5ay+On(PeJd#Pl&Tv&Si'Rp1\q+Vr.Rq(Wu%bq'Pr1Id'Nh&Ea(Ol+Oi(Pr*Vk#Gd+Vt7Jd,Pk0Qk+Ok-Vm-Tm"_q(Us/bu0Xy6`o0_o,Rn*Yq&b{0ew.[s4bv.^q4Ss5Om/Y~@Zp,dq*Tl(Zp+Qt(]~.^w1Uz?\z9Xm$fy1`v1Nh+Ui%On)Ib'If$L_Sh$Rh$K^ Ld#Vj)On,Lh5Mh-Nf.Mf)Oj+Mg,^t4Qo(Nl2Yn1”jÅÎÍ·Á‡=o~?_u0Zs3L`+Pl05LAX$Fh3Cd0Vj2Md.Fa(Mj)Km5Lm-Wp9Wm/Sr6Rs1Sp:[o2Ut6Lo3Tr,Qm)Uu2Kj.Zy6[n(Tk%Kd$Pk,Oi+Ji)Pi&Qk'Pm/^t+Mj*Mg#Ni!Hf+D^%Ni.Mh*Pm&Sp+Il(Ki*Mi"Po.Sk&Lr1Qr6Qm)Mp4Pr:Pt-Pr6Uu.Su.S|A\p0_{7Wt2Kp2Tw3NsX}?WyGXu(Lq2Pu3Qu,Ru-Lu.Su6Il3Ru;Sp/Pk(Ju5Qw=Wt0\z<_z.^u4`w4]y;W|/Ry8Ur4Tu1Uv2Ln-Vz4\x.Xv.hƒ7qƒ6fz1a€8jw+hƒ:q„Be‚>jvŠ9rIu‡@qƒ:pŠ?u‡;qˆA}‘DtŠ5mŠ?tˆBtŠClŠ>uGyŠ=bƒ/k>z‘Ix‹<|rHrŠq‡?s‹=n‰AqŒCtƒ3nŠ=n„5tŽ?z=xŒBx‰Im†NvŠ>j„De„;h‚:f‚:oŒAp‹Fm‹;k‡DrŒDuŒ/q„3]€/l†5j‹Cvm‰=i.jˆDi†Eh‡De€Aj‰De|9]x,_|6a{9Yw6d~2e„Cd‚;j3m†A}Ž@o…~Ž?…ŒGsŠ?ex:`y,r†>j„?h€Ho/Mq2Qu8_|/Ko,Z|=Is2Hp3Ik+Pr6Qx8Y|6Lm+Op2Lq2Mw6Wy7Vr3X}4Y{4Rw@Gp6Tu.R|CKu8W‚APx1Ny3Wx4Oy?d€>\€?VEe†B]ƒ;_ƒHb~;^}=a†Kbƒ5c€7kˆH`~?\‚>]‚5^y5`‚@`;\s4[x1K_Rn3Pc$b~;]s0i{2m‚4mˆBgBe‡ClGXy+`?]z6f„-hƒ;T{4Vx/Sv+Oy?Rw4b€>b}5]y4g„?`~4`{;c…Fi‡@l‹AwC{IrAnEm‘]m‰EtPsI™Tx•K‚—N}”Lt•OqMoŽS{’JmŒFm•FmŽFu‘Hj‘Kp…>n‘Gt‘Js‹DzEr“Fr’HxŒDg‰Di‡D[„?j†BuŽBn‘@lŽHd„DeMdŒDeŠLhˆAd‰@fŠHkGo“Jl‰EmŠAqŒAoŒ>c‡@mGmEhŽCiˆ@kŒAdƒ7_„BW?]|4a…?X6f„/jŒCp‰Ky’]h…@a.e†BjŠ?j‹Bs’LnŠDw‹?i‡Bd…Aa„;Z};j‚5f€3iHsŒCmLeˆMgˆBlŽIg‰ClKx•L†šKƒ™Nƒ›TƒšQ›Py™WzœX›K„œV‘¡P¤\„¢c‰¡\Œ [ƒŸlƒ™D‚›S™V„›L“¤dŒ¥r’ \¤\‡¤]’¤e˜¨\’¥`Š›R‘¢^’¢W‘¤[“¡TŒŸT¡XžI¡ªg §^“¡]—¢W•¢`“¡MŽ ZžY‡œY~–Oƒ–O|“F…”Lv“MtŒH}•MtDz>{“G–M˜N‰šJ£Z¢S£\’£`Œ¡Z‘ U¢°~¤p‹Ÿ\†žU‹¡Z‹¢T‡¡\Œ›P„—HŠ˜K‡—I¢QŒ¢\‰ XŽ£X“ŸM“£\–¢X“¤YŠP’¡X•¡Z’¥_–¤T”¤] WšLŽQ‹PŽ¡P¡TœS–£[¢U¡Z‘ŸVŒŸV”£^‘R–¢S‘¢V¢X‘¢X‰›P’SŸS‹œZ†›Q‹XˆšN‰žH‡ a‡Ÿ[‰šX}–L|“Gy“GsŒCvŽA}™Ho@oBrŽ@|’@€”MlŠEo†:oŠ;n‰?lŒIiŒEiƒiŒ@`ƒ4`ƒDeƒ>`€;]ysB`…:Xu1l€0c5d„:iƒ:h„Ag…>]x0Z{4_w/_w/\v-Xm/]s/Yu5V|?cx'Ur'_s/d{0X|1a~=^v.]z8Oy;Pu+Pv;Uu4Hq0Rn([o+]v&dz7r‹9kŒDl‡Ci…Ab}6Zx>l…\€Da|4_y1k‚5e~1dx0^}6Yv:WAUs,Pn([o,Ur2Tt.Ww.Sv:_C\}0`}2eƒ2`m)Un)Ww4[y+Z}=Y?^r8bƒ8k|2n†=am-e~0_v1_{@Oo=Zq-Yp-Ym.Wo&Vl1Vu-[y+Ur4Ws1Wq0b};Ts7\p2Ii1Li8Qq4Xp5Ok7Ok1Mj0—lÄÍÍ·¿¾`q3Oh1<\+Ge$Lm6Fg3Of*F_+Ni1JR%D_'6U!Bg$>[!Af";^#Ec'B_Ci!Eg&9d':d#A^):`$A^#Ef"Me$Dc%Sk(`~>[t7Sr/Uq*Vo0Nm*Wm&To1Pp2Qs/Kk&Pk%Tm-To*Vo0Rn,Bg+Po-Ir@Rk$Pr/Mo2Qn0Vn,Yr8Su0\v8`}6`<\y:Uu/Ol.Sz8Sr-Nj*Kl-Hd.Cg(En1O{?U@Yz8`€AZv>b~:^=Yv4Vy6Tp+Vr0b|8]|BVy=\‚;Zu+Y^…Ca?RB]~5_„Ba9St4g~6h?]v.^x1bE_ƒE^Bh‡He‡Deƒ7]|3]„Ab„D];Z~;a‚AeƒAg…;ZƒGl‡Bbƒ;lƒ2i…Er„\w+\{6gƒ@]ƒBjŠ@mŽGmˆ\}@f‚>e0fŒ@mŠ>]6^{1[};W~4`„;h‚ClŽ?_€6jŽImŒGsŒOoHeŠFh‰Dk‘Ik“Ox@v=qAvˆ8yLk…El‰Aj‚7r‹>oˆ@s‘JuKpŠDs‰;iLl’Ls’HxBxOx“Mx‰Bz’SuNw“OrŒBs‰=u’Bv’>x™]~šY|˜Q…žX„œUƒšW…ŸT…T†›O‡X…›R‚œ_˜QžRŠœV…ŸQ…œL„šJŠ¡`†TS‹¡\‹¡YŽ¢^¤eŒŸV’›P…™N‡›Q‹žXŠ S…™T˜LŠ›LžZ†—I‰™V…šS£\¤dš\ޤf‘ VˆVŒ˜F‰šR‚C}ŒFy“Jo’J~•;€šM…™Gˆ—F~’Bu”Lx™U}˜T~“E€—Oy“H}–H‚•D‹ S—E„›Z~–P›S† Z…šN}—PyHz@yG–G˜Q„™L–G†—CŠšJx•L™K…™F—J˜IˆKŠ›NœNšMŠœJ‰£X‘ [ŽŸJ¢aŸQ—¥`–¡P•£\–¤`ŒœTŒU“¨q•¦sŒŸT“›O›G¢R’£P¢Sš¥\—¡ZšLŒ™Z‡˜H„šI}”Mx”B~”Mw‘Es?i‡uŠ@q‡:pˆ5m‡>tE{ŽC~‹A}A|Œ<}BrBx‘?’H‚˜Q‰—I‚”G‡—H†™P†–M~–P~•IrFz‘D…’;€—K~•H{’@|‘CŠ•J„—Pƒ’N}<—J€Ž@|–F€—K”Fƒ™Nw”Nw’K•F|‘EF~’JšUƒ˜S{’RˆšU‘BzB’G{”NsŒKoLrŠ>|”LoŽ@~’BmŽHkŒJk…:d…Fj†?l6l„>hƒ@m‡;e3dƒ=d…=m‚;e}1b„:b„4l‹;c4[u._w;lˆEqŒEq‰@“Gz“KuŽEvMv‘Gk‹EoŽOyDl‘NjŽ?mŠ?vŽHj…9ax1g„Ah…@k‰AlŠNr‰KyˆCv‘Eu‹;k†Y}/^z*du)l‚6n|.m6e~-i|-g}7i~=fv/ez,j~6ev*_u-k~+h4a‚0a~+_z.e:c‚?d~7dz*b0Zw/d{-^x0cv6Un$\r1Oq)]p.Sq,`}.Wn-_}2_q2g{1d{4_r(_z&a~4ny.py5k~+j„8n5f‚8m‚Bcy*\o'hx*Xj]m.jv/ft0e~7dw0Vm'`z3Zv9Oo2]o$e~/p€9f€Bay4Vr/Ur.Xw1]r3Vu4Jn3_zc‚CWx:_‡Bjƒ>k‡D_‚AnŠBv‹Ds‡CmŠIi„Ds‘LlƒCr„>oƒ>d‡BTx+^Gf=^Fk†Cn‰Bg8]‚Emƒ4dŠOn…=d€7`=l=o‚3m†Gi…@rŠHnŠIp‰HvˆBcƒDnŒHt‘Dd€<`|Bl?m‚@sŒAy’HqŒOv”UnˆIvMqE‚•G‚B‘NxŽNm‹Fc|3e~GZz7f7_u<]x1\7[y1Ys'a}2[€9Zy5S{;Yv8a{.g†F_>c‡Bb6i‡Fc…{•LoŒEj‰:_…CWv.d€:Yy,b‚:m„2e…9n†7pˆBjŠ@x•L€‘>{DwŽH~D}@q’Gp‰@}’Nz@wŒB’K€@”M~•I€•Ex‹=~™PŒœ\‘–B‡˜W‰–IˆšX’\•Ÿ\†‘N‡˜Q‰˜F…˜K‰’CŠ•?›W‹–XšU‹_”¡V…™J‰šQ‡•AŽBƒ–C…–KŠ˜N‚˜QzIˆG€”J‘K€F‰™\ƒ”Lv“F‚’KAzŽEg†5d9g{0bz/jŒCb~8n‡?yE€“By‘D{‘Gx’HoŠ?kŒCt‡DyBvŒG~H{‹>y„9u‡;l„;nˆBj„oˆDmŠDw‹Gx‡8k:€@r‹Hu„1r‚9p†@x…>m‚2g|3oˆBj‚5_;p‚7r„>lˆB`}:k€2Rm)\m"_q$]v'^u(Mk)Ts,Sm-Uo$Su&c€6_w4Tx3`s+dp&k}4r1^~2bx2j8k5Z|8e6_q4[r5`q0e„9`q&i€9j‚Aiz2cw3dv(Wy4Wt(dz)h€8dz/d2k€=_}?Y7f‚5l‚3e{,Zs6gƒ7cƒ=h{/j~9dq4^p4Vm)Ie!Nl&Rr*Lg(Yf*iu0Sk-[m)Yt+du/Zm+Kh*Rm(Nb+Yi,]l/]m+Rg+ak)`m+”jÅÏγÁ½Rl3Jk0Ro2Ro0Mi4Pm.Ni*Nk+@e4Ld-Qm7Io6Nm5Gj-Gk2Rj/Nk)Hk.Rs6Yu3Sj0Mn4Qn2Gh+Sq,Ki'Km%Hg&FrTv;Vt8[€2Wt:W|BJv:R}B_}5i‚9g‚:_~6\|6`7V~9`~:Wz8bƒGfƒ?]‚6\…AZ†Eaƒ@Z}BV€HUx6U{;U|3Ju9Px;O|Dd‚>c‚@]€8Y…CdˆB^€0i€`…?lŠLk‰KeŠBiŒIn‹?e†En†?jˆHb6`‚8[w4Z};^|>_‚?i…=f@Z‚Eb‚a‚Dg‡>m‰Bc‡I`:j‡FcBe…If†Ci‹Mo„;h†;h†GbˆH^ƒ@hy9iˆ7sŠGnCuLy”KuLuŠDm†Da‡Ln‹FjŒL_†Gm†G^~:aƒAZ€:vŽFj‚j>i‡EkŠBc„Gj€yM{‘Jn‹@iLsŽCo†>`€-q…4z@yŒ;wFxŒGy’ItG{“Rv8Kt5Hq3Lg1Yt4Us7Wt3Vv9Pr9Vo7]z:^v.Wu:_z:Zr2c|?by5d~>Vz;Np:Qj@Sq2Qo/_}CXt4O{?Oy7Wz?Lp8Pm+Z{6Xr.dv0_y6[{6Zv2Vy:U{-Mu:Gl0Kp2Ii)Vs5[€Pw;b?ZEUxTx6c~8a|;cFcEZz[}BRCbƒ8VCd~?Tu7^>Z|:\C]Dbƒ@\~=b‚A\DoHh…Jfz>c‚:]€@WxCdƒGjŠPvPu‘Md‹K_†@hLh‹Hg‰Js?nŽIiˆ?lŠHpCqJmŠ=lˆGaˆJf~;e}AoƒFo†Dh‚Bjƒ:h‚FjOiHpˆHpŒJr“Rp’OuC€™]|™O˜R—L€•\„š^‚™NŠšG„˜Uo“RzK|˜hƒRq‹OrŒNFfˆFe‡AfŠHn†5k‰@{ŽIwL{’N‚—P~˜a‚›\wJ”Wy‰JxJ~–`™Tv”Wx‘N~•N~’L’D„˜PŠ”Iv‡H{“F’F—Pƒ•EvSk‰Am…?u“R}‘Ol’Ku’SgŠCd€:r…C{’Hz‘GuCuB|‘FwŽFvI{•P}ŽLx“Jo‹DyHoŽJvP|”LrGz’FlHo’Ms“OnIqŽDmM}˜X•RlNq‘Oj‡FqŒHvŽ@l‰@n‡DpD~‘Cy‘U•M~š\|•Ov˜XoŽFn†>z–RpIu”KlŒF|K–Ou“EnŽLqNr‘Kx•Wv‘M|•V™W{–W{“Su‘PzJp‘OwŒJmO‚™S{”L{’J{“R{—YwLv‹BzGh„Fr‹Jd„Bc…?l‡?h…?yŽKz–R†˜QŒ e„œg†šGŽšTŒ™PŠ˜P›`•œNŽ£c‡Ÿ]‹¤gŠ¡\ˆ˜MŠ \šNšOžV’Ÿa’¢b‡š]‰™U\‹ ]†›ZŠŸa€˜M‰¡]ŒžRŽœMšI‹P„ ]ŽšR‡šW‹Ÿ^„—M„—Vƒ—V€‘H‹šYŠžSŒ›cŒŸ_™P‡—O™W†˜M‡™N†›MŒOŠM˜Oƒ˜L£b†šJŠ›K‹šJ [¤c ]ŽŸ`ž_„˜OŒ˜M‹P‹ŸUŠ›Nž_’ŸV‹›RšT‹šT“ŸX‡ e“¢] i‘¡_‡™KŽœLŸe›I‡–CƒC~Gz‘K~”Rˆ”Hˆ™L—RŠšL…–Iˆ—Q“W€—P~‘G€ŒI{H„’H…”O~šR”P”Kƒ”J~’<}“IvŽEmŒGv†9s‰@‚Š=|ˆi„BuˆAj‚9i‚/l‹G~ŒF|’Iy‘I†“G~‘Iv…Bz’G~ŽC{‡8tŒA~‹CxL–Vz‘F…›S|“D€‘D„“B{•M}‘FwŽO|BpˆBzŽBvŽ@xE}Œ=oHn…=y>rˆgAo†=|“S|G|Il‡Am†Ao‰JxJd†Cu†:n‡;m†:es-b?e„F`BmˆIe„Gj€9l…El=oFqˆ?|‘El‹D]ƒCm…C^€<]u7\x8f€2kˆBhƒ>dw7_r,c{2ay5d}:m†?Wt8Wr4Vl*Wo1Pp:\y7Ov5a{1b~CVo3Pn-Rh(Yj'Ru8P}8Rg'b|4e8]y0`x/b>hƒ=h„@\=oƒOs?So;So;Up)Vy@jw3`ƒCZ{d…@dBnŽOrŠ@w‘Ho’Jv’Nw•J“D~Ž>iŠ?y“J…—S™L—J›Oƒ™K}™V‚’K{‘H|F•FrJ~–N~™L†—I{–KnŽGp‘D€“F‚–Nz–O†œZ‚šU„œ_‡šS{—P™X‚›X~—E{—R‰›O„“H~—N€—K|˜P’D~•>uAvBx“A—N‚’L€”P‚”Ms’IlJlŒJj‚DjˆCoŠAtŠ=vFuDv‹@Ai†:j†@g„DiŠCnŒMjHeˆ@j‡=l‰Fk‰@i„5pŽNnKv•QrKpCx’Ri‡CwŒIsLjQu•Uu’Ot—Qw’H€•M†—O…’Jr‘M~‘H’KpŽDm‰@n†BoˆFh†=c€qŒBt‘J™S—JsJvŒ@u‰?i†?m‰7jŽEl‡Cr‚ƒ’D’G™M‹—Fˆ™ZŽ˜H€—M€@’Bz“K}•J~“E‚–O€•Jy–TqŽK}–YqŽ<€‘EpŠf€2n‚;f4g€9sˆ7tŒDrƒA{ŠI‹>{MuŠCvŠBƒŒB“HJxˆ@tˆ@t…;l‡;qŠ5r0r‹=p‰E\}>y‘Hl~.e‚2m…:Xz:_|6e2i>iz?fy/_t*^z4]|4b}6k7n‚6q†>i‡:dƒ4e}/Xp*Yj-Tq,Uu6Kj&Tr1Nb%i0bt+Wu3Vr)^t$]j+j€0`„Cd€<\x-qy0\v,ey0_}?a9\€;Zq1No'Up)MfSj Nu5`|=eƒEl‰9b|7f‚8g}1n|(n„2e~/j~0lƒNo0Tl/Tt:`v8]z9`x<\y4at4‹ŸkÄÍÍ´¾½n…?Yy;W‚9S€6Xu?X4]t1Wx8\„9Vv9]s9[€?^w8S€Ge€3Rp1\y8cy5No/V~9Ry5[w>dƒVu6e€?d?g~6a{7Sy6`y7d…}–TzJu•PeFoŠBj‡@~š]~˜O‚–Kz’G}“Ox–Zu†DjŒJd‡EdCpApHqŒHqŽFmˆ:u“Dy“Hv“L–Mr”AvJ~BqBa„Bp’Lv’D}–SwšRŽEr‹E™L|œ_}–QoGz‰JsMw–GyŒKx‡@s‰Bw‘S|–J|—Gz•I|™U…™Mƒ™S€—V}—]|—Z„œYƒ™[ƒœa†›W‡™[€“H{J|Jx’K}•Ux–Oƒ•Pu‹zŽCq†8kLkŒGj‰>n„7lˆ;w‰}DsŒ<}“H”G~‘@z‹C}L|’>z‰/n}-iz(]-gz*au*`y7];nyŠ8vŽF…“Cs…;s‰9kˆ@^€-d~0k4h…;f…6i€0c0f‚3g~8l~;^~>^}8j7jˆ>k‡Biƒ0oŽkŠIb„1h‡;e„Sl+Xy2d{7gy*d}2Tv4d{1No+i|&d}+e~9`}5l€0fx)e€0jx,\|0Wx-]}4Vs.Sq!Nm#V~3Xt/Zz2[}3bw2k‚5q„Af„>l„;o‡?f>eB^6ax3Zr/Ys$\0_y5Pr?`|9cz:n‡Aa|4l~/m€:b@b‡Gm†Aj‰Hl‘OqŠ?i‰Kp‡>_‚=_z/Y7X~@eƒ9`…JX|2dx6ey4Wy8\w?g}6SwAOr@[y;Wq8[t3Si%Su:Tz?a@n9q…@¡pÄÎ͵Á»e}:Yy6Sv5Hm/]{D\x4Po8`x)Yu.Ry9]x5\x2]yGe…?n‹?\€:h…?h‚?lƒ3]x*jy*m1cv8b€8Z}8_x,c~3hy0k…?o„?m‹Pr†Fpˆ;h3h|5f‚6h‚;]z:b}5S{;Up,^{8]z2g…Bix,jB`v:c€1e‚Ei‚Ci‚@|‹DsŒG}•Gp‹@gƒCm‰Ll…Bjˆ:k‡Eg„7Y|-a~7m;hƒ7g…Gf‚>o‰Di…Ad~:h…7c…9e„c„@X€9c…9b€7g…:_~@`~8`{1d~Ad~6vAe„CS~8_~/e~0Yz4Qu/]}4Vw%Y€0d7r„6h‚>h:d„7i†LmŠKh€>gˆU`„Gc†>\~.mˆEn„‚’Gy‹=pGyŒ?‹8y•H•G„™M„–H€•I•OnŽAu’IoŽCz“<€˜A~’D‚šOŠ—Kˆ•Jˆ•O‰˜LŠ™L‰ŸNŠ£\Ž¡`‘ŸTžQœR‡šG‘¡X†žQ‹ PŠ˜N€‘CšP‡™J‰›PŠ›N„–E“E‚˜C†“A€‘B‚’F†›N~˜C˜M„“F—Q~•C{˜I”Is’Ks’EwŒMnŠFt‹Fm‰?u‹>lƒ7yŠ;wŒ>nŽIt‹Ao‡Bq‡@r‰z’R|•NyE‚“F‘@AwŽHz‘F}ŽG@‚“H‘K}ŽFƒ”F~Ž@z‘Nz‘CtŠAr‹EmŠHl†<•H–@…’6†”@€“Hv’Ku;i‹BlMk‡6vŒ?•Ow‹FuByŽD€”L€™MtHuDt?|:uŽGy’At’F|•P–D”I”GyŠ<|7i‹Ej†AnŒIr‰@mŒDtOoŽNq†9oˆ>m‹:`BaƒDi…?s‚2r†>j„4vd‚AyHo‰@iHuŒ;s‹>q‰>xŒ6q†:b‚6]{7h‚.j4sŽ@qŽBx‹f‚6tŠu‹@x‹;q=y‘Pm,h…1c2{‡8do…0o…8h}&p…4t‹;r‹@p„?…Œ3…:y‚1u†„‘C{”Hy’?‚‘?€“?~‘=~=k‰>~?l‹CB|–Cm‹;v…3sŠ>s†?}‘N|—O~’Fy’Au‹D|@y‘H–Nz”Rx†:sŠ:v'm†;l‹1x‡0vˆ;n„/d„2n…:k‚+dƒ7mƒ&rˆ0v‰7f‚.a~2g>l†?f=d‚3g…5qˆ7i|1vˆ3z‹>Žt@w‘E|‹Gr-ˆ8wŠ6n‡=e†9b}2^€Ag€5d|'k1a|4a}6dƒ8]x2m3f>m€,p€,d}.q€1]}*a~.qƒAfv'[z)\u*cv#dz*\z&h…]~j…@d‚6c:h„Ha~;c:hƒGk‹Nq‰Ol‚?i€Bh…Ec‚;Vq4[xr‡@l„=k‰EjŒFm‰Du’G~I|’GtŠ5t†Bl‰Lj…BgƒCc=lŠ5fƒ>n‰Er€;p„5o…;xŒ?n‹EqDe~<`7c‰Dc…Ew‹F{Oy”Sw‹GpA~Iw‹B|’Q~’PwIyKsˆAiƒ?mŒ<{‘ExFz–Tx•[•Py–SvHo…p†C“Mz’J|N‰”J‚“Rx’Dv“TsHtLr‹Cg„EiŠAp‹Cc:a„=_…?oŒAi‰BiŠFj†:iƒCc„Ek‰Ijƒ=kƒ>h?iŠAzoAhŠGe„=iJp‰CgBsFd„Clƒ;fƒb€BpŒIv‘Hl‹Cj‰Ag†De„@e‡@k‹NbƒA_ƒDeCq„=d…A_}3_…Cd†AvŒBx–HqA€’Ly“NwG`…;_‰GnŒHxC|”M{CvBp…Fl‚;m‹HrDwIqFl†?tŽ@q‚:wŒAy•Se€3dƒ@m‹Dj„Ih„:w‘LjŒGtŒ?tŒ?t…;l‹f…z?k…l/l8g{-a‚>h„4s‡9mŠ>s†=pƒ0wŠ8d„;f|1f~9lƒ4N}8\y0`x4e|1i‹CxŠAs|@ew1`{9k…Dox9s‚9y‡Gj„?p/_6`z4Ov/^x2d}2]u+a}/\y,Yx1Yr-[q)Or6]r'c}-p‚3o‚;i~0c}0b:aw)du,cx.ay-_s%hz'js0m?m@iAjy5f|)hz/^u2\w)c}2\{;dz:b|:g?m„9Uv(\~:a|0j€5\u3dy7m6d}?]}3c{-d}>e~6h„?k;l€=m‚>m„:^|-Sm,Ki$Th*Zi#]j(gk$x"_p)\u3cz'[n(]r'Rn0Wm6Tj(Lj6Od,Rn/Rr.bw5\n,Ok)Na'Tr0Rm0Sh&Sn+^u'Ri.Ok'C`'G]$Ol'Mc*Ec*De(Ld(;["Db"He)Ia%Ji3If-I^"Fg!F^!;^!A_&La&Md#K`'C^"Gb&C\ Lf%<`(Sg,Nk+Ni,Om8Qi*W}7Yo$Wm,Qq8Um.Ti(Wn2Xl/f{4am+Qp-Ot)au2So7_|=So/Sr0Qo0Pj+[p-Vo6Vj.Nl/Lf2Wh/Ui4Zk'\vAbs6¡vÃÌα½¼_x3Oh,He5Op=XsCRu;So1Mp=Vp2Ur'_„CRu;Ln.L~>\„:Mr(Jq9Yy?Uv0U8R€8Sr.Lv6Kz;Qx5Rt0Ns3Lr6Lk,Oj+W{:X{1Nr-Uu/Yv0Wr2Xw,Uq'Wp*Ty1\}2Z‚<\€1[€5W~8V{0d„Db†Gl†8e†>O|7Ux@`+Z‚EW}1W~4dƒ:]4b8d3i8l…3Xv:Sx:j‹;d…;`†?c‡=dƒ<`}9b†Bb9W{5Ty0dƒ?b…;Zx4b†@]~9g2j‚:f†Akˆ9a…@d†Hl‰D{†:k…:_†H\ƒD`‚@g<`ŒJx•Rs‰AmŠ@mŠGo‹t†B|‰EpŽNsHs’LrGf…Bd@e†Cl‡Am…At=o‰DrGsHhHj‡oDmŒ>xGxŒ;s“Er‰7uŒm’JrKv–Pp”QzB{”@p“?u–Mo“PiˆErŽMjŒGo’Oz‘GrŒy†?l~3jŠ8s*kŠhƒ,h…2]{*`/f‚3gŠ;f@y’@y’Gq‘GkŒ>g…:kŠ;e‰;g‹l‚2c.e‰>e{0f‡?qŠ=n…6{•Itˆ>l„]~;c~0gw-Xv)`x._u.Z|9Np0Nc%Xw0Q€;_ƒ@Ry5^€9p9d}=b|8Zy*\p#Ww+Xv+Tq)Qr0Sq'St1aw)]q)Rn-Vy-j}2Xu+ay/h;[o.Pl-Op0Kh"Ko'Oq-Sz<_~-Ru4Eg#Pk$Ul#Vt,Gk&Sr*G]$Ib&@]#?`&Rm'=WBf @e)Hi/B`)Fd#I]B\Ty0Zu@Zs.Lg'Pi#Qp+Hj*Pe%Ng&\r*Wt0Sr5Rk/Zk#Nj0Lk+Op,Vl+[p3Ts9`y6ŒmÂÎ̲¿»Lh6Jb8Xo.]x3Wp.Tq3Sx:R}EWu)Qr>_~;Pl.`}5\y3j…9S~E[~5X~9Z‚kƒ=g„BtŒFqŠLo‹@n†:rŠ@h…Bk/m…7h€8r8c…Dj‚8k„9n„7c…8j’Mqƒ9qŠAn‡6k†8p…?p„;e0f€0g„@oŠ>lŠKv‹>s@q‹LxA|•Ky’Fx“Iy“Ks”@q=nŒAyE~•N†™RšV}™SoŒJuŒG~K~ŒB’Hw‘M€—L}˜Vƒ™L–P…–F—R†—M—Kƒ˜N}–G—F‘G†–J€–H„˜X‡™Mƒ“L„›O„–IšO¤y„•K€˜I…™N„“B‰˜O…™L}šN…—H†œL…—B€˜Nn–CxCq”Kv—MmŠ4qEoŠCuAoBn…:l„5`}-g4j…Di‰6oŽB{‘BpCt‡8tŠ3e‚4o‹5iŽ>rAv‘Dv‰D‚;}ŽBv‰0tŽ@r„/vŒ?}Ž8y•Cx’B~’?|“Rx”J>r‘AoAk‰;oŒ;{5nŒGx:q@p†=iŠHa†>e†9n’=c…6gŠ;o>w‹l…3oŒ=w‰?k‰>^„B`~8i‡Ff†DkFkBkˆ=v‡6e†=u†=m†?j…3uŠu’Flˆn‡1f‚1yŒ:j†3uŒ=nŠ=y‰@y‹?rŽ7lƒ4sŠi…@yŒBj…6{Iw†8]_.]=d4j‰Ce‰Ao‹Ge…qŒ?{ŽDrIv’HtLx–NsŽB~•ErC‚?}CzŽDt‘D}“F~–My™S˜J|“DiŠ@z“OgIo‰=m’Jx—Oy•Ew”N‘F}“E|E~‘Cv”Hy‘Pm“Hx–Ht˜Ln“O—O†—L”N†—H{˜W‚™P™J|™U„šMƒ—MvŽB{•JzBz‘AƒœO†›U~–Oƒ–N†—O˜N|“Lm‘Ks–Qw•L}˜K{›NˆšQ‡¡ašSx’E˜Q‚–L„–J|‘Jz™P€•Cr“Nv“Ev’Lr“L{’D™My—GzŽ@xŠ5sŒCf†?`ƒ?e‰Bm‡>p‘CpŽCy“ItJlŒFmŠFfŒNmˆFmŠDd…?k‚8pEyBnŠIdƒc‰F_‚5_|:mLd‚>c€5}—de@`„:^@Xw2g‹Bh‚5iƒ;Tv5Zy2bz1d€5^9bƒ>nŠ?t‹Bo‹DdŠFlEiˆqŠ8oŒEsEj…;`z9e„?h…@c…7s‹b€1Z‚0b.i„\?_‡?`}1[~:\v(Ny=Vx0Ml#]s(_x.]y5Xu+Xv0g~5Zu/au%Lf Mg Fh*B\!Fb(Ij/Fj GjMn%Ph$Ph&Pi*Oq/Pf)Ln(Pu,Rw)Xy#Nk&He#;X$Eh'_w0]n0[y-Zp-Pp.Ml#Tk,dx-a€8`q0Xy0Ju)\|+e}3cz.fˆ^(6P6S#D_#Ri*C`!Qg*[u+Tu2Y{3Yy?Sy;_€?Vt6Z}DWu9a€DOv;U~D]ƒE[|;[}:V€;Y€B_ƒARy?^|BIo0Vt8Vw8[|iˆAnˆMo†Bk†EnŠIfƒB^€Ag‚3ax-g~3c„?eƒ@k‚=lƒAg†Caƒ@b†Blƒ4eˆAeŠNr’Sr’QuJs‘BwDlŠ@mŠCgŒMnˆ=t‘P~‘Ow‘Px“F€—MšR•R€—X€’U}–S…—R€–G™U€“N„™W„—MxQ|”U‚•Q“O–N•L|”P|‹F{ŽM†–S{’Kv“Zw“SsŽG~–Mz–Oƒ—Zƒ—Sƒ—S…•K€˜Iz—R{•L…–O{C–Vz‘I•Vw–Wx’HyPm‹EwŒB|ŒC}IxFvCwJx“Ps’Op‘P|‹BpŠBtŒElGp‰FvTtŽCz•P’I}K€”Ox@{O{H{J|‘H~’Dƒ–I}‘Fƒ’K€‘BsŽCv‘P—Q~˜W}šM“Ox•Qz”W|š^…–M‚˜W†•P‡ž[†™O‚–FŽ™H„–H‚›Y~™U‹™H‡WŠ›K€˜Všdœg…šMƒž_†™R˜Pz‘J}>nŒBz•R˜Tƒ˜Mƒ™Y‚›Q|šZ~—Tƒ—N‚˜J…˜Q|”J|G~“Hz•Hv™Px“My–O{—Ot–Ry’H€—PvHuEn‰BxKh‚;j…EpHy’CtŒHmB{ŽHlH{I€–Ot’KpGq‹=lŒFmDpŒDgˆy‘DwJuDvŒBmŽFq‰:sŒAl†7`nŒEg†PbƒBl„Dc‚Cf„?iŠ@[=a…B_}8d„>g„Ed};c}2_|.j‚9]?cƒAm‰s:oŠ@_„?aƒDo…4i€*_‚:`v'Ts(^s+e3Zx2h‡;rˆ?gIfƒ9g6bƒ?aƒ:f‚1a}3_z6]=cz3du,Vr5Wu.`…HUq1Vv3_‚=]t.a},j‚2jz2d.h‚;l€3f€4k‚+Z€/`y2m…;n…@]{.]y7Xy3e}6i{-\|(i}+[y1]|1\x1`u-\|3i{*]s'Xu$ax,dy3dw'gt!hy,_x/Vk#e{.a,e‚@f€9`v-kv,e€8c{6[{.`|0]~-\z*Zi%az1m8p€3e_,:_,C`'Ff.Dl+U4S@e%>c$Hg,Wq.Ur)Tp,Op+Ok+Sp(Yw5Uq1]{4W|0Z€4Ow0`{9aw3Z}7W‚f‚Bk9Tq4^F]~6d‚?`}@i„EcCe…A`‚5d€9f}3f€-jˆ8`„8cƒ6m†Df‡Ah†8ly)`}4^:f‚8e…9r…4l†>`8m…2\x7hˆ?t‰Ao†?hƒ9|‡>rDpŽCr‹Fj‘Mg’OlIv‘Go‡?qŒBqŠ?oŒGoˆ:a7nŒAs‡:sˆuŽAm‹EpAt‰@uJoG|“Lw‘Fx‘C}“E–J{‘HnŠ8k†;^y.nˆ;g‡:pBp†>oG|•G}B„—I‚—H€’B‚™J~˜W„Q~—P‡•Ox—E„˜H‚•E|’H{’IzŒA{—Z…–Lˆ˜H|”J–O†–Hx”JsAu‘Pm…?yFy’P{’J‚”J†™Rx˜\}“P‚”Gx’J–Qu’S€™b–S‚š`{“NyOx–RrOw–Sv“MvŽL{ŽD~–S€“E~‘GvŽTp‹FrQw‘E|–M{˜Ns’Ax—Kt‘Cp‹9h‘PrEt’IpEƒ—IqŽ;nŽBz’F{•LwHxLy‘GpFy’Cƒ—B€™Iy’Gw”EwŽB™Ut‘FvGx’?u‘Dz“E‚”Dx“M|•Ky‘C€–C{’Hy•M’Ax“B|‘Cx‘IvŒ>nŒ?u‘@|“>“=wBv‰8uŠ:xDrŒDp‰>x@ƒ‘>r‹@x>{‘;}‘?@ƒ–O}—M„–Gz’Gz‹@m‹LvŽIwŠ@oLu‹GwŽHxEzŽ@}I™P†™H‚’K|–M{>s‹;‡šM„’Dw•M}’HpŒ;v?p‹?z‘FvK„”EyŽ@xElFy‘CwC–N‰˜O‡”EŠ¢ax‘N~•Kt–QrŒEpˆCrDyŒEyŒBq‘ClŠ?~’IrŒBAzIr†ApŒIyDs’?g†ClŒCuŒ?vˆ2wŒ?nˆ5rŽFx”LnCuDvŽMs‰@uŠAy‹Ioƒ9nŒGi‡8vŒ?v„3j‰Bp†8rƒ7p„4s‰Cg‚7uŒl‡>e4d€;bƒ8m7l„;nŒ?nAn‹l†;jˆ=w‡:k7g1l*eu'n„@].\x2Xu-^>]|3c~+]€:k5[x2[x,cv1_~3X|4[w&Vv+OdOkLq%b~8aw-ax.`5`z0^€6\€3Y4Yw+Yw3[v+]|/a}(]|+b€9e€8m‡;]€.Z~-_}/n€3Yy/eƒ9j|/]v)X{3a~1dƒCex+h}=b*ay&au9f|/gz%h~/_{'ax*^x+gu$i~1e.Rv+bz,Xx/bu)dv)g}-eu.[s.cx,^z)b.]w.\}1d{'bx.h…/_s"h,j„.l€/m‡An‹n}:az=hw0dw2cv.Zr-Gl Ro%Tw,[n'dw0ox([q(^o*Ys(Md(Uf&Pe&Tm._~:Vk.dy8p…6z…7}Š;wˆ>y‘Iu‡Eu†@sŠBxŒ:nCx„5s‹Dv…Bo†?g|=rƒ5r‡Dpƒ:h?k4o~+q‰?jq'qb!Kk(Cf&Qj)Kp2Pr)Nu0Z7Su2^~3eu5Mo5c8Yp'b}6i„=_…9c„8]}(]}8`;c„6d„?[‚C[{9Ys4`u+Wy1k‚1f‡7c‚?i†8W0^‚6S;Zz4[|7\€8X{2[|<]€?VB^€:Z~6i‚?c=^@Y€@jƒEh„AdˆeAmŠCk‚Dg‚?i†8f…6cƒ5e…Aoˆiƒ8mŽGwEx|–K‚–F•K„šOƒ˜Q‡ŸXšL…–Gz–J€—H—C„œU‹›Q‹šWŠžW›I†œc—K~˜Jx˜T‡™I’œS“žU“¡P†šLˆœPƒŸUšO„›XŠXƒ™O„—L‰œP†˜L‡›OŠ›XŠ—G†›X™SŠ™K‰¡bƒ˜M…•K—O~’I€”FšMŽœQ„˜P Xƒ™I…™P€•J‹–Lƒ™Sš\’Ly•R†™P€˜]{™R€–K‚™P€™L}™QŠ `šWšR”J}‘E™Y—L™Z€–Qw—Yz”M•I{–KrŽDqŽHlŽIsŠ;i€8`>bˆDl‡;}D‚•Hx•E{“L~Jz“PuFmOrŽ@eAgGwxŽCt‹CvDw”Bu’@uAwŒ;wŠD}’EpŒErˆ?tBr“Dt“Bw@p„7w†7jˆ?qˆ9_„;c2b€4_v-^}-e9_€:f‚;iy,f…8^†4r‹;s‹Ao‡;nŠ?qŒ@d…?o…@c‹Gg…?^y-g‹@p‹Af‹?m†@i‡=jŠAl†Cd~/\z2^u+`r&`v%e}-_„;`)g~'d‚+\w/_|*\y/_u&U{1Ys3Ol#Op'Kf"Yt.[t&]{(Uw(Yt!Tq)Ms*Wu&Ns(\y:Xt+\z-e,]~2]ƒ1^*]€4]x0g€.Ws,f‡4c„:a€:`8^4e„-c|(Vw1`{/X{7i‚/d…9kƒ1`1h€-g5k…;i‚3p‹8e3`€4^|8h~7a/m}1\}?fz*c~5`z,fx#]0gŒ?g…?tƒ5i|-nƒ:_{0m„1p~+s‹Uq,^y,a3_v/f€4nw1a~/e9Wq.Uw3Kk)Oj+Jd*Ie+If)Vk'Ni(Rl&Ok+Ea@VE\Jf"OcOhRn&Uj-Tl'Gh'Kj(Wb Zr+Km+[q(Sy<_p1Zy.by;_w*b})Ty2Lj#Jh&Ml&Vu@`s)Xv%Mk/Rz.Kl(\s*Zn-Wo0[m'\s+Up$Pp%Sm+Vr$Us6Ql(Un'Zv/`~7fz&]|1Wv*Xn'So*`}3a~.`y/ay'Tu3Wv.Kd"Ji*Jh&Aa)Wl"`s&Hl&\t7Pp/Ul-Pe/]z1Ve+Gf*B[#Pi&Hn)Xu3Nm,Wq,Uq5Mo6Qh+Xn(Mg)If,Tj)Vq+`yXr8l<[x/`{1b~2^~+a„:d‡Bh„?d@g…:r‰9wEn…/bz.h8i„Fh†:b/bu'j|&`}/dp.f9p…>i‰Ap„1mˆDl‡BsŠ9pŽLt‰EnŠAyŒAjƒ6i‰=q†6pˆCqˆz‰:sŽAx‹>t‹?qŠA}CyŠ:t‹BrŠ6}5Cz‘F‘B~Bv‹6€@}’Iy‘H~E„–F‚“@u?p†B|”I„–I˜I†›S…™Tƒ—Cˆ“IŒ–G†”AŠ™@„”D…—?Š—DŠ—EŠ–D‡™K…™T‰•F€•J€˜J|“B}’M€—[|•I•Gƒ˜Gw“LzŒ>~•N…–P•Ku•D“K}@}•GyŽ;qDrŽFu“S{šRqŽF„”C{—M{—^w–V}“Jv”L{•Ox—S{’C|‘E’BwFyŽ@o‘Hx?vA|–C•Q{‘B„”K…‘A~B|’E’J{AxEzI…“MŠ—Jz“M~•F–G‚‘E~G~”Qy’Eƒ—D‡•F„—K‡™G™J‚™IŒO…›Fˆ˜JœM†™S†˜F€˜E•B‚•C…™O†œ]‡—F˜I‚™M‚›QR‹œJ†žX†œX˜W˜T…–A‹Ÿ^‡›XŒSœT \žUŒŸY„ž\ˆšNŠœ]„œS“£S‘ P¤k‘ ] [Œ›W‰œO†˜H€˜Oˆa”¥_‘¥eˆP€œd‡›[›S…–Uw‘H•L‚—H†’B‚–Iz’M„Y„›]‚–K˜QŒ˜G‚šZƒ—I‚™P}”W|G€H{Œ=”LwCw‘Q|‘LzApˆ9nˆIi‰FhPj‹KlŒ?qŒCl…>k‚:y‹@x?}@uEj‹@uŽ?uŽFoŒC{‘<{’Ez‘Cu†3l‡0gŠ=sŒCt‰9x>v=:q@rˆ7u‰4n†6wŒQ6M?R:ZH\Pg Oa$Qe GcJXRk&Mj*Us.Ym#Pv(Vq&Th,N]B^?SId&Nd"Ri.Kb'Qc'GYH\RcLaPaLdKf Mh%DVHZM^Nj#Kg(Lk$Nh Qn"Kl#Pf$RcVeWo$Qo)Pn&GaMe L[%L] U`Rd He&CVCaH^#Dj!Kc'Pg&Th*M^!]o$P_AYP]B]HXRe%Ga#L^'K[ DYG]#HaE_!Pg&Ym+Yd)Rh&K_!Q^"M`$‰›dÄÍ˯»¬Fl,Lu:Mq*Kr3Tu0Gh)Hm-Eo7Dj0B^#Mk)Ii.K`$Fe"Ci39d @k(Go1Cr.:k$>o$@]:f5[:f*7c$Eg%Pt1Nr"Fs*Bh)Lp-En)Fj*Nm%GeCi(=k%Ch&@m'?d$Li(Mo&8b)Fe"@e On"B\?_>\+UA]>WAT?`%B_s”‡‘©‹_x(^z0No)[|*Mr,SmRmQy5Qo(Wu+Qv)\|(U3`„8\„5Ss+U{5W‚8[|1Rt-T}*f€4Zƒ5Wƒ7f0g~.hƒ;_…:a…5nMm‹Ho–J_‡Bg‰n†5vEwDkŠBi„>j~/g†Am‹Bg†@n‡9nŒ8n‡?mŒFuHm†Bg.sŽ@d‡-j‡1j…:pD_‰Io‰@V€@k‚8i$o‹3k‰9i-k„3m‡:nˆ=r‡3lŒ7d…+g†8a2p4n…7qy+n~-r‡5e„:m1m‰@j„1uŠAwCc:as ]{(kƒ/o‡9p‚/d‚?y†7~Œ>o†/k†@o†9z‹8e€3iƒ0e.d2rŠr0kB`ŠAb„‡—JlŠDx„2ƒ‘9r…4|…3cx(j/qƒ0xB‹CŒ9yˆ:r…?s‚5t‡3j2p„1d1Zs*_|3e~4n€3o{;hx/c|2`u*Xl%dw&Yx*fw&Yu&`u'Sm#Ps(Qv%_w)Yr#Vo"S_Rs(_v/f„<`{6]z2_‚\y$]|*e€1`‚<^{-Ty2Vn(Xs-Zo.Rp!NiWn#Nr'Pj'Km&Il.[x5Vw-]r(\s.\p%Yh!Ke$\r%Rm'Or1Vq-\p']x.\}7dƒ;h„?X|4]~0^3ar'ax%Sv0Js+Jk*Jl+Np/Zo1Of#Rp&Ih+Zh!\o Rr/Ws1Xs0Vs.^|1cv3^y/Tl,br(]f%dr/`z2Pk'Nk&Zp*Ys"Yo,Ul Kh%Lm'Ru0]j+Oo&Tj%Mi*]y0`t'c:Vr/Vv2_u1ap']p.Sq#Um*Qp/So.Hf.Uj.Tp/Vl']y0b|4dr7ŒžrÄÌÌ©·§Mp2Jr9Gmc Gi#Hn)>k)Ot0Bp5Kp,?e /UCg#7`Eb%Fh+Ep,Lq*Fn-Ls.Fk)Jj+Ko+Xq/T}:Oz0R{1Xv3Py1V}7Qw)Ux(Zy+Wr&W4`{-X†y”@u‘A„“A‚”=rŒBy’H~™I~˜HžR‚›]~˜E}•L}˜R—N…šVs•L}–GœP€–D”9z’Mt’G~›Q‚™V™J„›H‚•Gˆ[‚”D–P„›S˜S‚›P…S‹Lƒ•B…™X…šS… gœRv–\w—Y‡›Nv™O}™]y‘Gz–Iy•StFiŽRvHs“HtŽAmVmGpˆ@r”L}”L–Pv“J€”D‚œQ•D{–Gz’HzGšS|•Nx—OlŽEr‘Hi‹DzE|‘ItN…—G€‘Eu‘D|•D}–Kk’Jo‘?uBuŠ>{’GzEv@v‘@c…:`…9j‹:hŒCj‡BlŽInŒBmAt…=v>nŒG~‘Bw?nEd‹CfGe„:j‹Dc„hŒCmŠ=v@y’LrAuŒCg‹C_†=T=W~6iƒ4j‘Mw‹9mR[|7qŒEkŒAs‘AnŠA`‚8rŠ<`„qŽCj‹r…:lŠ;`‚1a2d2b~4oŒ;l…?h„4`‚Z‚:e„6^€*_€;[ƒ9^‡@g†>qBg†7k‹8a†Ckˆ9aˆu‰:r“GrŽ@d@[†:s@r“@w‘@n‡7t“Cs=v=z‡;}Lz•Gp4w‘?xŒBuŠ=s‰Gp‘I}—L‚•GsBfˆ9pŠCt‹@z‹DqŠ=k‰An‰Fk?n‹1kˆ;j~(f2^z.b‚=n}6g‚=f:d;k1a€0o}5d€3gz/f~5g…Ao:]„?bƒ6Xv7l€6`)`€3V{?b†Cg„6i…;r‹9m‚2h2c};]<\}:`x6f}.f€3dx,]y+Qs&Gi#Dg*Mk"Vu0Yt.c/cƒ@`ƒA]|6Ux3^u0Wo/Qo0`t([p-Tg)Oj2Pl)Me+Op-d~?Rq'Zx(^o0[n+dw0Rx.^=Pt=Vv2Sw,h3g2d@^„<`}8^{6bq4bv)Wx4Nn(Mk.Pl)Kq@Gh(Fl-Nk,Nm0Xs!Zt&bq(Pd%Hm,Oh*^r/Xy9Sr!Qz0as&\h'gr'dz3at0Vt@Op4Tr&Js1Rs/Vo;Od+Ls2Sy5Yx/d{3^5c„6Wj/Xq7Qo0`x.ax6X}9Ts2e‡@f„l‹A`…7d…Bm†ByŒ@zŠPwGp‘Lq’BoG{”R~’Hy•Ty–Q~–K„˜R…›f|’Dx“@—M…“E†˜P‚”J~—W~–J{”I|“Lƒ”B„—Hƒ—I†–Kˆ™QŠ™Oƒ›P™]—H‰šKx–L}–@}•Jz’G˜B~—G~˜Q‹œJ‚›S…šP…šV˜YˆšTŽœ^…›]}šU™O…Z™M|–M~’H~—I}šL‰šJ‚”M„ŸRƒ™K‰S†œR‰›P‚™S‡œL€—F~™I}›Wˆ˜FœP€˜J}”I}—Lx™N€˜X„œQ›Z‡™E‡ŸU™Q„˜M‡žV’I~˜S~—H‚™O‰¡Tƒ”O‚˜L„™L{”Sz˜Y{˜X€œb}“Qx’Iu“N~•Qƒ˜R{–Fr‘A{˜T“Iy“D~–R|•R{‘R{Go?w“I„—I|”InErB}’G~“C~’AƒšS„•N„—M’A„˜Gž[—O†™X…š]Œ›M†›Q›L‰™E‰šE™N‹™L…œUŠ›QŽ™K‡šP‡œS‹ X„ŸM…›J…•E~“Q…œXŠŸV‡šVƒšK›Kƒ˜Iƒ”E‹šH„™JŒšM‹™F‰XˆŸT‹¡`ˆšO‘OŽ—DŒ˜QQ„˜R†œN‚šN‰Q¡\^Œ™M›O†™Uƒ•Jx’Rs•Z}“OuI{‘IsHyBvŒGwŒH•Mz’E{Ž?yIz’Ku‘PtŽIuŒIyMx“Kv‘Cx“A~GG…—A†•G…˜P|’Px‘D}”H…–H~•H‡–G~’G~™YˆšS„“EJ˜N–D{“Bs‘Mf‹@w‘Fv‘@iIu’Ey’Dq“G}•E}•GsŒ>}—Ix‘HtŒJj†Dh‹>j…:eƒ8d„:e€1f†7d2h†4q‡.g‰Fj„7iˆ6a6h4d5g.b2l„2f€1_~4j~8g‚9k‰:h-p‹=gŠBl…;tŒ=r‰+jŠsŠ/w9v:u‘DnŽH|‘Gy‘6…“?xŽA‚“@v“Ao‹>iƒ4`‰@_‰CgŠAvŠ;|ŒBtƒ5wˆ=k‡=n„=hŒJz’Sm†1q@w‘;rŒ<}CuŒCuHsAsGnˆ@hˆ?sŽHj‡CvFx‘@zp‰:w;rŠ9l…6i„6b|)b3h€,m‚5u†9x„4oˆ=mˆ=j…:xŠ=vŒDyG„“@fƒ5sƒz‘M…•5€–_~AWz,\t)bs'ex7^n%Su.bu.Vz5m…Aa|3^~5Xl+\x8gu1f„DdzB_y6jy2^{2au1^s.[o2Xo4Mn4Um+Ri,_p-_x.[o%aj*er6Vr=bq*bv:Wy/^l%e{1hy(\z9`n#Uj%Wr5ev7f6pƒ1mƒ:^y3h}8lw3ft1g}0er/ay+_{/dt-x~,vƒ@tŠ?lˆDpŠGjƒ:e~7e‚4kƒ@zŠ@k;q‰d-5Z*0_':c-/^,1c.7d,0Z(=_"<_ 5W$8e).]+>e+@c,P3W 8]#>l,8a 3Y"9a&>c+E`!Di-2c'Gq.:k/9c(=h)4d(8^%Go'0a*4\$5e8Ej->m2:b#2]":d"0c).\/e%6e3?p(5o5Ho.Gr1Gk+;i'=b'@g)3\0^!7g 9\ Fi*6]#4_#7WA]7e&4[Ad&Dj(Be)Cd':d#Cb?d 9b"Hn#Il)?c$Qh&Gm+Xx0dAVz2Sx.Xy)X…?X[„@h†mˆ:r“IpŽBe‹9l‘In‡ArŠDh„9dˆ@fˆG_‡@\€9]1_{=`~1b~1W…CTz4\{*Sx+S4\…z–C|‘Ar“BmŒ?˜Rv?}•Ht”G|•Di„0mŠHo„;k†Cd„:k‰Cc†Am’Hu“Gi…:rˆ=m‰Jj‰Ba„?_0a†6_1_ƒ5]‚>f~9Zz8Ww-V{8Tz/^€0Y~9d5`=Ws)iz1Sy9Xx5^€4d…?_‡Bc~2ez.jx-Ur0V|6`2S}9Vv1bx*Ww4\n&Rk%i|&`{3Uu1Yt$`}-Tz4Yp.Wk,^r.Ps,Gl-Lo6Qm,Lh$Oi$Pj'Kd![m(g-On._t-Ps1[~5Z|3i…7i‚:d‚9_|>b‚oBmŠAk†9j~9j‡Mi‡9eƒCi„3d‚5d-`6]{=ez2e…ATBa|:`…>j„6k„?gˆA`Bdƒ@^{3R}R$3N"B`&Gf+;_*f#Hi)Hj)Ae%8_$@b'9b!=e%9]";`&)Y:UA\"Fj3Ih%Bd'Cm,@i#Ip,Gp-Dc#:V#Hg$@`;[!6^!?d&>d"Pl-Gf%>b#E`#Ff&Dc&>a%@g,?[@c?`4R@d$Fn02V!5^#8Z&@^=b"D_!H^"E_J^ Jf(Oe*Q{1Lo"]|(`€.i4\~9X}=d‡GnŒE_†C`ƒ7e‚1f‡Ac?d~:g~4T~B_†Lc~@cy.f}3o„8]ƒ>dƒGmˆCkLlŽIw—Qx˜Sr‘I~I„—Wv˜^€“V˜Z}˜]–U€•M{™d‚˜V…šS‚˜TyLm–R}“V‡˜T{’H€“OBpŽAx™N—G—M‚˜O†™H€˜K†˜IŠ›Pz’J”F€™Nv“N~”M†šJ}•Nx•Sy“M–Wz’Ky’Lv”Ny”HšJˆ˜R„šU—T… g‰ cTŠž[†ž^„›SŠžZŽš\ˆ›_Š¡d‰£n~›[ƒœX V‘ž` _’U„]ŠœV…›V‰š\ŒžcŠœWŠ›\‡˜R‰›M…žd„œcŠœ\‰ŸYŠU‹ [†šU‘›Qƒ—Nx’L€™M€™T˜V‡œQ†š^£gˆ¡b˜V€™X„ž\†œR…šQ‚Y‚ŸW…¡_†›U…—V€™M|™Ty“Q~šcƒ–F~—PšM‹˜X‚›\‚š\‰—J|˜P•Q„œk‹™P‰™O„ \„›F†™R…œSŠžT„—I•¤_Š™RŸY‰ž_–M…Ÿ]S™Vy”G†T‚™NžT„N›W…™Tˆ˜LƒšO˜L}˜N‚œXŒ™H~Œ@†”HzE“D~š_Š—FuŒ4oF‘9zŒHŒG{‘BzQ’Nw=}GxŽH}‹=w‡:sŠ=d…Ch‹GfŠHh‰Ai‚5h†?p‰JsŽFqHvBp‡7mDi‡GwGtAuCtAt>o†5tAuH|“C‚—Ey–HtŒ?mŒDgŒ@]‚?j?j‹Ad‹=rŽG{Œ:€™N|˜Tw”O|•Ho‘HtŽDr“I™S€–P€—X„šS€ŽEšK‚›T~”H{•C{—QwFz–P}’F|–Hv–Pw”Hy‘?y•JrŽExGsO{@uEz“Qz=v’P{“OqHyByDu†:…•GšL}™S}”BqAxŒC};ƒ‘@€–ByE„“@|’D{’C}—Rs‰@s‰=m…;oˆ;qŒ8t’FlŒHjˆ=uHo‹@kGwBl†A|ŽGmGwŽBz>uˆDuGp‹Co‹?vA~’Co…Fr‡@g‡CoŠAe…?Z~CYy;i4d‚B_~8`~*e~)e}3c{+dC_}.Xy3Su3Xx!Yv+`{1`v,Qi'Ps*f|,Wr*^|/`8]z,\z3p†Bg‚9rHwŒAi7l†6p‰5j€*z†6wˆ?kŠId‚>j‚4m†=m…:l…8oŠzŽEqGuŽArˆ>m‰>iƒ>eŠ>mˆp‡Dg†Da|0bx+i€/f…?i„6d1^w.bƒ8c}/a}(e~+]ƒ@Tr;]w?Vv9Ut0c9c|6\p,h‚8Oq.Ur(]q+jw*hBe€;Z~3e~7e€Bev-jt(k~6a}6a}5\w2\q.Mi'Tn)LcK^#VeGa(Rm+V{4b‚<_}1]z0mƒ3\v(b~0[};ds-^x1[j+Yp&]s1Og%LRNd Ih%Qk'Hj1Sm,Ri$RkOk#k{-f{0g„@f„?e‚3p},iƒ7f‚=e1h~-c1m„7j~0i‚3h„3k~.r…0q†7t†9r‰6l„7i}-q‚3t‚1u‚5g~8^n.\p&Ld$Si%Vt2cz.X~9_{?_r4Wm,Zo.[n-_p/Zr0Xr3m{/oƒ:i9]p)iz5j~?ox?›¥oÄÍ̤³…;Y68b-Hp69h36`-Ci04e.5[%-^,-`'0b&5a+^">[0_&Ao1;l3Fm:Hs5>o*?j+:l5=e&Cl-Ei&.]%@f/6d0Hb"9e"Dl#>l$8`&'\4`"Hu38k*Do&Aj%7a"5d)Fp.>` 7c'@l38[%Dc @b5^6`2Z<`6\.a#0`;h 3_ 5d'4_@c#?k.Ai&Cd$Jk"CjHv.Nv)Px&A_&Qw6\ƒ7T9W~0\{*_4_5Y€6WƒB_†Ih„;Y?aƒ,b„7c‚7a{6]}>_v4j†jŽFg†De‡@l‡BsVs=`:^6Y@^?g…9i‡bˆ>g†?o„6hƒ?c‚;lŠ;nƒ1sŽ@x‘GnŒ;l….i’Mn‹KvCgˆFlGf@c‰BsŠ:h‡:fˆ?h‡sŽHqIp‘FiŒBu’MsŽHuˆ?|’KhŠCi?g…Am‹@f‚?k…@p†Ek„>e>`‚9cˆBf‰>h„6q†8e=eƒ>[}3\|8bƒ?g‚:d…9h‹>l‚g…=j5X>Qv0a{-bw-^{6\v1j„Bc„3p‰Bk‰Df‹Me=by/d{:e{3`7Y{2U{9Yu3\}8aƒ7]w._z/cu.az*^z,Z}>T}5V~9l/Wr&a~+bv/g‚=f|:h=k}:i}/`€6[v/i}3`5d8s…@g‡@a{4]€5]};Yt/i€1j6Zz9g8d…@^w,_|7Y|Af‚=j=jz4d„@r„?h‚f B`EaCj#El)Bj&@`&Dd$Ln%Po%Ws2Ws+P{7Ly2X{6M};Kt1=`%?`FcBb@c;b#Dg%Aj%9dHk)Gi.ChF\Km&3Z!A`!Dd*IhCd=WB\ >e$Rr-Sm7]y8]4a/\.\}/Sx-Yx7f}4j6i„@p‹CnŽ@pŠ@{”FuEv‡=n‰@|‘GoLn‰3lŽEiƒ>n„5i‚?m…CmLiHk’PsŽ;t‹@p>lˆ8zJuŒIpTy‘Ms”Qw“O…žV•RƒšH—V€–P{–G€•[w‘Gx—Ss‘JqŽH€•O|“Pˆ˜U{–[žf‰˜U™YƒšXœY‰šU‚šZˆœ[‘Ÿ_‡š]ˆŸg‚˜QˆšM…šZ‘K€–S{“Lw’Nx“Nv˜R‚šO„—Mƒ›R†œZ€™RŠ›]„—d„m„›UŒ¢S†šUˆži£d†Ÿd¥m„›Z‘ _Š d£S¤j‹¥dˆœ`†ža¢fŒ£d€žh„œY‰˜Nƒ”N†•J|™M€›b† ]ŠŸ^Ÿc†Ÿ[„žb€—Lz‘Kz“U–P†™S„˜R‰œ\ˆ™Rq’J€•N~™U~›Px™Rs”Wv“_u@i‡FlJ|“E|ŽCv‘Kq‡;{“IpLx‹;}’GrŒ?sŒEn‰8mˆAu‘Pr‘Pn“Hu—Ry˜T{šV€˜TˆNŠžX‚–K‚šM’J’C‚’H}’H}–Ly’Fw–Mw–L}•sŽEsˆCtŠ=}?nGuFx†5t‹:g‹@g‘@wLuŽ@|@z‹<~‘GvŽKp….eˆEZ|=ZC`|.j…:i~=hy:k„Dh€2kEl‹EqŽEe‡Ar†=zFtŠs…;k…:o‡=l†?iˆAj…Dg>g}7k‚>q†?i…An…7r†9v‘?}‘;xL}‘Mz’Bz‘K’C}”Iy‡:nIfŽ;{’Ew“?{’N@„’Csˆ;‰—@z“@vC€‘Dl‹GzG“I|Aw“JlGnŽ?hˆs†Bs…v‹@t„/lƒ?u‚8ey2b}6ar0]w9e‚4f‚@gt.`p(es/ms,r5ix/s‚9r€+zŠ5xŒ@{‹Br†?u;s‚9v…;rAj~8o‚4i;y6qƒDz†C{…@uƒ=tƒ5€‰JŸ¬€ÄÍÍ¥kBa(8a,Ek,>e*?[!Bi,2e*-X)3Z*;b.Gi'2W#0M9R Ki*Ml3Qm;Ji4]u3Wt&GW#0K2R .F6Q/S$;d-9Y%<`&Cc"8_"@^#=h3Fm*8a':h#?`:Y1\"=Ye!2]1]3\&Af)8\(Gi%?d&Gi"Cj!Af>c"Al$Cg);`#Km!Ku1W8Tv5b‚7Z7\y5_‚>fˆBwŽ7v“Ay‘H|•IxŒCy•Lr—Nr—Q{”LxB{1nŠ?r‰?t‘?j…8q’NmŠGhŠ;m‡+f‚)[y4d‰EjŠ?o‡:h‰B{‘H—M›]™[„šM…œRp‘O}—Py˜Nš[y“H‚—L~—Q‚•O…–L†šLŠšP‡œ^„—P‚˜W†™V„–N†•E‚’JzŠ>šV™T•Gz‘Jz‘Qz˜LqCuBiŽGm’JrŽEr’@–R}’L–Ru˜K˜H–G’GvDƒŽ?“D…“B‚˜M™Y‚–JyŽEo’M—M„™O†™X‚—Oˆ™P‡—M—O}•T{’M|‘I{–Lƒ™R‚šQ|”Ew’Dw•Qv’Lv‘Hv”Dy”Mw’E~‘Hu’Dz–Fzy’Iz<}’@z@vFeNe‡>u•Eo’@f‰<~B{“Lx’It’Mo>m’FoDr’Kv‡HtBgŒ;pŒ?xŽEvŽ@g‘EkEq=`‹Fk‰d}3a+n‡Bg…8b~-^‚*k{3hx.^x(h‰>r‰;k‰@gŒ?p‹;p‡;pˆ:xKw‹An‰=nŠDjƒ?gƒ/u‹;oDsŠ~’F~•D~Š?Š’>z’G}‘CF~†5vŽ8rŠ5q‹:d€1d|3}3}H?l…Fy…?j:x‚3rŠ@s†Eoˆ>y’L‚’J~M|ŽCr‰;k‰LrŽTuŒHqŒCz‹>n‡2s‡@a„?pˆh…=t…@n8mƒ8e~5q„7p‚6e€7\@j-w…3hv,fu*i~5bv1l€/j0vˆ0w‡1v„=yˆ5m‡?qŒBt‰>wŠJ^z=g~6f{(ct*Xp0e{/]s.gy@o~0{ˆ>v‡/t‡@p„(dz4}ŒHLu€@s7k6l‚4l€7j‚;|Š?}ˆ9t‡Dq‹Iq‚3pDtŒFI„Š=™¨{ÄÍÍ”¡u\t6Gq4;p5Gj=Co6>d)Fd+Gl5Bd6:h?=d17a0:f7Gm-Mp+Um3Mo5Qs9Fuc+Lk+Di/Li/2\%Af26d(>d*8`+@^'8c.Ca0Cb"2X*_"Bf%Lj2Ko6Bd'Mp0Mm&Jp:Gj&U}:Ou2Jm6Gp0Mn+Cj)Dh+Bi+Ga"Lt4Dk)Kt/Ow7Sw/Sv,Nm(Mn*Kj&Gh'Lo-Oo&Lm%;`6X*;f&@i)Dn.` ?]"Ad/]u6U€=[ƒ9Ru1X{7a…>kˆ=d}=hƒ4k…?e„Fp‰@h†=d†F]…DfˆGkŠM]€=j†Ke‡@iŒBmˆCrŽHyCp‰Af‡@mI`…Cc…>f„†—H|”N”Iu‹HxHy“Oy”T…–Zw•]{–Ly–Z‡œdƒ™W‡›\‰cˆŸ]—P{”Yƒ™aš[™]}˜U|•T}˜R|˜TzIn‡@c†DsŠHoL}“Lz’Ex’Q‚–By’LrŠ?~•G}“K~‘J{ŽDyIn‰DhŠGf…Hl‡B|’Kv’Qz“Py’It“Su“O’EwŽIs‘H}˜Tp’PiJl‘MrGx‘DmŠEvŒDj‡BjŽOs‹CwJv”R{–N€–L}•XuJuNz˜Qo’Im‹Gb…Hg†>m‡b|<[z?j@[~>`|8n‹Bb‚@^>cy1^|=f~?a|?t‹Cp‡:m‡@ho…4v‡@a}:g{3g‚tŠ?c…FhŠ>l‹@i„@e‚Ce}8jy2d|-j‚6j9gƒ>sˆ?n‹Fd…Da†@rƒ=gƒ?u‘N€˜YiOsKr“Pt‘D}’ByŒ=rƒ5s9l/f~4tƒ1ˆ:u‡=o‡B{‰:q‹=s‰;k†?rƒ?oƒ;i…?y‘@FuCp‹@sŽHnˆIf‚?k~8l…?h~;l‚>t‰AzŽH~•N•K€—Rp’Or•QqJl„CvŽQt‹Ge‹IfˆBxŒHtˆCz‘Nt‹GwˆJpŠGlŠGr‹>b?c†CsŒGg…Duˆ@kuB{‘A„’Eƒ˜Z}š]‚•H|•N{–Zz—Lƒ˜P˜R–X{•Dv“OzJ}•Q•NŠ^ŒŸXw—\‚“LmŽ?f„?o‹FlŒBz‹B|‹C|CyKxD~”KtŽR{BsŽLtKo“Ip‹?lDl…@m…Bu‘@rGn‹EtŠL~:v=uŠ>|?x†>n‰CmŒIny3qGqˆGjŠA„?xŒ8l‹Ge†De‚6k„Cp†@k‰?Y…Bi‡=r‡=x‡:rŠElˆqŠDk‚Cw‚:wDl„?vŠGz…6l€4q|-e€9h…Bt‹Dw‰;”I|‹@w‰Ale"F^7]$>b$Es=Dn,Ef#Jn.El&9d$w“DsŽG}‘CvŽ@v•H{•Ex”Gx’Cƒ’E~”Ko‹:n†Cf‰=c‡AnGmFqŒFtŒD}“M|’N~—Kƒ™T‚—N‚–\w”IvD‚•O„˜Zv’Nz’Ly“SlŒI}—Wx–Ox‘CuBtD{’B{”Nr‘HnŠCrˆ6m‰4m†=mˆ?t‹@sR~™Zy”Mw“Jz–Kx“Bx”J~•PŠœ]¡e™QŠža†šWƒ•C…™G…™V€šQ…–N€•K{•Im–XiBz—Fz™Oz–U‚‘IvŽDv“Mw•HuLu’As‘Fu•Pw‘Ox‘@uD{‘Ku“H|–Fu“Kv–Lv’Fv‘Cy“Q~‘=y‘Fz“Jq@k„0b‚3kEsŽi…>m†C_ƒ4fƒ5b‚9rŒDn„7l†>kˆ?d€>j…@j7e5g„@b~.`}8c‚;a~/cy0j*f€/o‚6j~5j.q‚0l4q…:e…BmŠ:qŠ?y@q„;d†9z1w‹@x‘Cg†wŒ>nDnDvJqEq‰?p‹BlŠ;jŒFo…As=qAsDmŽ@i‡8l‚-h‡7sOyIq…5o‡:g€-j{'n€,l…0vˆ;bz2~‡:r2u…7k‰;o€3ft-_s*m5i‚3pŠ?kƒ1k(n†CwŠ3k†m…@m‚:hƒ:k9u/uŽTm@jˆB_:kŠ?k†;i3c„:\„Hg…:l‹?`„Bg†>m1p‡;s…–H}™Q€›I}˜U€šE~—K~“F|’>y•P|–Dq>x“Ilˆ6xŠuŽ>s‰;yŒ;xƒ-x‹:m8_-uƒ*`…@o…;h|0Sx(bƒ;m|'m|)_y'aƒ9l†9`9a0d{/bw/d|#_x+_„9l„2j…6`~4v‰>v;_†?j…6e=o†7eƒ;iƒ8sŽGyŠFw“I}˜P}–MuQzŽIt‰A}Jn†=jŠ?u‹Cw•Dr‚;wŒGwŠ<>‚–Az•KxIv•G~”E~ŽDu’F€“JoŒFz“D…—M~•M„‘B‚—M~’G}’JrŒFw‹;yDpŒ@’H€’GxŽK’DzB~ŠAy‹;{@oŒH{‘J”Eƒ“M{At‹Bo†Cn‚7uŒB~‹Br‹Dn…=oŠFyŒ>u@n‡8g…;l6j†@f1n„>s+q‚7f}-a~:oˆ>u…@l{2a„1k1d{5q„Kr‡Ap‡8p†Ar‰Bs‡zA}‰DŠ?j4w‚:t„:w‰@p†B{’HoŒKy‹Ae„5rŠCr…=k€6n…:Œ>|Dz‹Iv†=uJv…Ao}Bj„>x‹f%Af 9a&Cd%9f$El*Af!Ch)?e(?j/KgEj*:_*:\"?d(;^Ci&7g*3[6]%C`)0U!4]$2T 1f+@e'Ge*6a)?e&Dc?f,Hg'Ed%Gf)@f"Fc Eh$Hj'Pl,Gl%Fo+Ko/Gf";`'8`&Een”QnFtŠGcCo’Eu–Bv–M~“Mu•_zF€—J‰V—T~›[{”G‚—N—Vz“C}LoJ~˜N™R€™Sƒ™Wz’J•Hy–W{’Jy”N”B”TzBƒ•O‡ŽErF‚’J—K•J‚–N…—K–M†™N‚G{F•Av‘GqGoŒ@p’Cv‘3“H’?…‘EzFs‰I|•To’L„š]v‘Ex‡6oGmŽM“Pq‰Ov’Oyˆ@oˆAk†m‹DgŒAm†>xŒ9a…>tŒFkCx‹@o†6p„6d€7fƒ9o‡AtJmˆCbŠCeGqIkŠFo‰B‹Cg‚6t†@a‚9vˆ7j‚8n€?q„@l~=i~=dz3b4c†Hp€6f}/i‡7n…@s‹Ar‹@uŽEdŒBl†;i€.k…:m‡9n‡=zTg‡Fl†>mHm8h5d€6_~=j†;u‹Jiƒ1tŒFnˆl|8d:k…:o‚;n‰BrŒB=|‰9m‚Aq„?fx5c8sƒ;|‹>uŠC{=wDq‡3v†<}Š;yFl†?jŠJm…9oCx‰t‘Qz’G}’L{ŒF|Bt‡:zŒCu‡4r‘SoEnHtŽCp‡9qFt”Dh‹@u’JxEvExDƒ’Bz“M’Bn‹GD…B|…8g‚9s†Bm‚9e†?\n†:m†:Z}6\x>Z~:_ƒ5d/a4u‡;`5i‡?b‚;b{5\u2k‡:e2i€3hƒ4l‡8c†;h‚>iƒ=f‡@k‰>k€0p‹@^†l‚9i0i;€ŠA{‰;oƒ3DxˆL}Dn‰=o‰:t„Hp‚DrŒGyŠHo†H~ŠAsEuŽB{‡?{ƒ5uŒBo…>k„o†7n4u‰:e„?f?j„=d=s‡Ao6}‰s…>o‡Bv…Fj>l…Ck‡Biƒ=r€Bj‚=u‡9h3n…Bo„:nƒ:r~/m‚3n~7`€9`y?cs4ny6k~7m?k„3m2dz+c6k2_z9g€:p:uAn‰>m…7i€/n~1l}Ak…Bly6e€Bu†;q†5Gd/^†Bm‡Axƒ=r‡BtŠAvIn‡OcyAmƒ@p?ix4f~7r„>nFmƒg&Bg#Fm*Ff'Cl$>e!Cg(Fg%Bg$Ai%=d#0`#8b"Ah-Df$;_#?f ;b Al$@e Bl2@h+:_Cf#Be"B]:`#Cb!@e-Ip6@e)=i'3ZEg'Gr,Fj#Mn%Dp*Fj$Mo&Cn'Om"Nw.Kq,Ft7R{3b7`€-Sq(U~.Px&Qx*Km%Rt-Mv/Dm+W€6P9Nw)P{+Qu$Lt&?m&Qw0Lv3Lv+Ro&Hj$Os(Gs,Dn+T~8Z€?W‚?Lw4Q}2U~-N{3Jr+Iu-Lw,Ox(V~,Kw4Hi"Ll.Qv*In'U-Qq%Eq,Nx2Dp0Jw.Qn+Ko'OiJv*=l#Hw4Cp*Lo(Kn"A^Jm*Hm0QhHv-Hv%Pm'Dj&Qm$C\Bh$Sy*Ps&Rw&Sz-]„?c…6k;gi…;n…>s?w‘Irˆ5iŒ>fŽ:o‰3|“FzDv‘Mz“E–Fs?m‘Ar;w’Hm”Q|’CeŒCpŒ=m‹ByŽ@kŒBo‰Av’Nb‡Co•Kv’Ck@t’N{›Ow—Uša{’F{”Nƒ™Sƒ”I‚™Rˆœ\‡œY™Uƒ›Wˆ˜MŠœL†šP‰›Y cŽS’¡V‹£fŒ›G‘Z‰˜Nz’H~–NˆšU…™L‹›W„™R}”Hx‘ExŽBz‘?sŒlŒ>jFxŽA}“KrGu‘L|”Jv•Mo‘DsŽ?uAoŽCv–Mt’>v“Cu’E}‘AiŒ@g‹@d:s‘Mv‹:vAr’E}–F˜Nz•N€’L~’Iz’C}•IeMh‹Bs‹Dh‚1n‹;pFwE|Al‹AuŠKrGr‰7r‡3s‰;l‰9e7d~>rƒ?fAsˆ@r7s†Ahƒ6kˆ5u‹;y‹9u‹?tJ}‘lOm‹DwŽBmDjŠ@c‚6e…@nŒIy’Gt„6fƒ?qJr‘Jt‘Cq‹BtŒ9eƒ4k‹Bg‡>uKrFƒ“O>‘E|“JsŽLjŒEyEzEuEwFl=p‰;n†8~K~‘E}Ž>v‡:z‹Bz‘=nƒ6xˆ?}Ž<Ž@o‰E|’A‚˜Cx’NsBŒ?w‘?}‘K•F•H„‘=u‘H|–LwB„‘I|˜K€šR…›L…•E‚›Op‘Iw‘J~•GnƒlDj‰=i‹=yŽCuŒ?~ŒBz‹{™Nz—F‘F‚‘Bx—O€–Uy‘B€’H~’Mz”?x’=vBvˆ@xŽAm‹?j;o‡Ao=^ˆ=j…:Xz6]{)f…1j…5vŒIqŒDl>oŒBkˆ?mŠ:xˆBi‡8nˆ=i‰?nŠ?tFrŠ;k‰Cs‡?mŠ;i‡?l‚hˆ:i‰B~Dq‹>m…@l‡@o:p„8mŠIƒB“?|’Bv’InŠ4xŠ=m€6`…b‚Cp†;wŠ>rŠ>l„?i3m†7k‹Fm…DmˆBx†1o‡;k†B_}3j0gƒ=g~a{1b7\€4ek†Epƒ7d~7h{6m…>s‰BoIm‡E{‰H|Jž®‚ÄÍÌŠœ]Qo1Iq>e‘PW€BEk2=k,Kp8Os3Ch(h+Ea6].X;ZBh'Af(If!Bg!@e"Ed$Jj"Hp+T{5?k/Iq.Im%Oq+Kq#Ny,Rz.Oq'Nr4Ir/Or(Lp$Rv/Lm#Hr,Pv*MjNw(V{3Ox2^‰FS6To&P|2Mr1U}-Ln!Os(Sx)Lu)Gh(Gq+Jq2He)Vq,W|jŠCl‡?j‰1rŒ>l‹@j‹Af‰9b†=`‰Fo@m’GoFcŠAjGmŒ?mŽFq@hŒPr@z’In“HpŒGrŽB~B|‘D—L‡™\‚”@s•H—P~“L}”S{’Jw’Iu’G}•Cx”Ny•Gr”F’J|’I’LuŒGx‘ItFs–Py‘IxŽ9oJs‰BvGy—M}“@•?t‰>vŒE|IvH}’I}‘E“M–U‚—W™TƒšNy•F}—Qy”F~‘Cƒ“D{’@z>–MpDkŠ=uŠBw‰;rCmˆ;qŒ@r’Bo’Bd‹Cw‘OqŽGvJzIw’?}—L‘Cs‹?nŠ;tŽ?sR—Oy‘Kv”E…–Ix‘Du‘H‚–Ny‘M€—Lx”Nt“Rv‘D}–WuE‰—K~‘I~‘O{’Jz–Py>y’AwEŠ™I…ŽGu’B~H}L€—Qt’Cy’Mv‘B~‘@zKxHy‘G}‘GzFuŽC{‹@pŒLuŒDrDo‹@lŒy‘O|‘Ay’KqŽBlEqŠArŠEs„>q‚2qŒBs‡6gŒAd‚3kŠCj…4r‰9{Š;xDu‡:dƒ9l…}‘EyGs‘Ny‘HvBqBqBvŒHw’I|G„”?~J…‘GyŒDu“CoŒ9yGuD~A{F}•U}‘A~˜F}—M{=r†5tLn‰>n‹BnBp…sŠ;s>t‹EvAwB{†AvŒCtŠ=lŠ:i.u…?n†Bm„=mŠHl†9qˆ3v‰?pŠ@r†=i~/r‚@y‹B{Œ?xŠCj†8i„/k…3v>uŒDr†>g~7nŠ@v…/i…9j…7qˆ1z‰=oŒBnˆ>j}0c~;k‚0i‹:e€9n…;v‹Y|7]|5Ur/^u1h„6iƒ>g|2kh'Fh$>b#Gh"Fe%Cd(:_6d5]:c(5[&8d'0[*.`*Eg-Gk&7b!7^:`&Bd'A]C]#Cg,5a!9^ >\,S6]7d$Hg @i)Bk/Hi#Ei$@i$;`!4b';a!Db@c">f#Bi$?a$IeNk#Pq'Jk"@h"Ii'T}3Go"Hq'Sv$Lw4Im!Nx1N}2R‚/Js9Jy/Go&Oo#P€8Ej'Lr!Mu/Hp-R|-[})Ls$`€%d$W‚5]ƒ2U1U|2c|(Rp$Wx3Tƒ3W‚3Oz)Jw(Ms)Mw%Ip#Tx&Rn"Ox$HkOq'Mv,Ty(Qx(Kw,Fm&Ft)Gs"Jn$Pt'EcFk?oGp%GgCk&Ai&:o)DiFi =j$>f&Nu-Fs#Iv/N|6Pt.R€5Kx)N}'Rx*Ki$Qq*Hg"Do#Ku"Ix0Im'@e"Gv.Ms(Vy5Su*Vo(Js$Dn$U}*S{2Wz/Ss)Qn)Qx2Hv1Js%Lu(Zw#^v Rl">d"Mr"Km u‰@h‰?yŽFsDt‹Cn’F|ŽKy’Gy?x‘B{‹@sG~’C„šM–J…™J|—Mx–FsŽEwH|•SwŽEvBz>kŠ;j‡;x>j„>y‹Br-_/h…1e‹@uŒ?l†Lm‡Hv‘O}’FxŽG~5ƒC~—PxH€•E}“Mu†=yC{‘Ay‘<|”?|’Dz@wŽF~‘C~‘EwFlŒ6{Œk†E`}4Zy0by/[ƒ@d}3h}1_€n‡=v‹=gƒ4d}5h‚@hz2q€6q„?d6i{+q‚-qƒ=sˆ?fz2i}:i{/g„=kŠCi…?c1Yv&v„/\w,Py/Sv+Pu%h…?jˆ?cƒ0e„6[x+b|+Qs*\w5_€B]|7o…Be€:q…A`|4b{+Ux-]3i„6oHkŒ@v†3|‹>l‚5k‚0lˆs†9€As=p‰BtŒKtˆCp…3`ƒ9`1k}5_u7d8]~-d‰Fl7i9g.rŒ>w‰8x…ApŠIvEl†Lg}f.:l3Ak3:_'5o3?n&;e!Co/Ak%4]!;d-@o,Bh':^?m.8a$6g'?f'Gm4Bm-Bl)f"8`$An+Hn,Em)In(Oo%@cIe!Dj#?e,Cl(Fm#Bo#Hp/T€;Cw2Bp0Ml+HfBo4Ew/Cq.@v0@r+Bl-In"Ii@o*[€B[ˆBCv%Ax+Cs+HlMs'T|6L{0R{-Nz*Lz+Z(]‚.\(Rz-Kw-P}1Jw+Ry/T4Pz+\z$Qt%Yv*Px&Tu0Ps+Nz)Jy'Nw#Pv'Rx+P}1N}2P~&My%Fk!>j$Bg Lo'Fj+Hu0Hl'Dn,Lu.Hr'Y}'Gn#Ow*Z}3Kj#Cj Ns&Ft$Mw*Nv-?r+Jx/Gr&Kx.Wz,Lr'Jp$Rz.\„8]~0[6bƒ@\@]‡?_W},L|+b<\};h‡:?Y@i9j!Fh!Jt,Lq$Lt$Pq"Tr$Km%Ed)An0In$T{8Qx3[6X/cŠ>e†=W†B_‡@eŠ:d>eŒBg‰6j?m’Hj”Gt•HfŒ?mCf@e‡;iŠv“Go—Ps•Wv—Hq•Kn”Lr—F~–Gƒ–Gz“CteJt—TsCz™Kv˜Rt’I}•DšHu˜J„V†ŸW‚›Rœ\–Iv˜I€šM~˜QŠœU€›_{”K‚•Q„a–L™S{–Gy”Cv•Hv’Pv•Rx•Qx–Kx•Is’Do‘?t”Eq‘IjM`‹LjŒAn“Pn—M‚˜J|•L{—S„–M—R~˜Q}¡Y„¢l|žZ}—Fs‘Cu“Us•M€˜P—Or“Gq’Ez—GjŽCjŽCf‰BtŒ;yŽ=lˆ9i…;g…4e5a‡@v‹w–P~ŽBvŽCvŠ9{ŽAp‡=wGwB|”:l?s’Cs‰2u‚?v=uBp‹=g‹>jŠlŠBc…g‹A]y@a…Ce„EeŠMe†Ed†B`ˆCa6_=]4f‚8]~:_@a4g|3_x2gz6Kr0T~4Qv6U|^|A_v5¦zÂÌËj‡BEo5Wx8Ge-Or.Hb"Il.Dm4Gf*Ch(Gk)Cf,Ah+Hr/Hn2Kh1Jr(Mr1Jl0Rs.So.Mi*Pr2Ik.Nn.Mk%Fg"Np&Mq#Ii$F]$Fi)Ei%Nl,In(El(Hk(Ws1Nn*Lf#Jd'Tr3Ii&Ef"Gj%Fn'Fb Bd%Ef-Il2Aa$?^&B^!@\!;^Rh%Oo-Ge%?e,Hh*B]Kf%Eg!Gg(Pk$L\,Mm"8h-Jg)Hm+Ae#Gl'Km+EaAh+Rr7Gh)If'Dm)Qr,Ip*Lj-Ln0Lh)Ui+Mk+Ib+Ml*Ku%Dl#Li'Ff%@e&B^?h&Aj%HgCeBgJf$Uu(Go*>h&?e(Lz)O~0Lz Ml#by.[€<]w6Qy4Q}2R|(Ks(Kz4bƒ7c€4`ƒ@V}8V€-Wƒ;X‚.bˆ7]ŠA`„8d†=^†:[„>_„7\„1`})g…Cb‡3]|(W/i|3Zz,Mt(Ry,`|2Z}5_y,Qj&Ro"@i"[€;Q|;[…D_0X…@`}4Vu.Sx1Qs1Iq%Ov-P~4[;eŒClŒNtAk„A_€:b0d…;`ƒ4]ƒg@_ƒ3dˆ>nˆBfƒAjŒDiŒDpŽCvApŠ9u’H~”Dz“Lw‘JmF{“F|—V|’Gx–Io‘LmŽGq‘Bu–K|•C€’Jy–Jw—Jw’Ju‘Gx•Lt‹}‘>rŒKh‡En†=zŒ?r†=}†;u†0wBl†>}‘JsFqŠ9uŒ8h„9Ž;j‡?j‹>r„9r2l…Bt†;o‚?tKqCt‹=nŽBo‰C|G|Hy“H}B{DuŽ>z“AvˆCs‹BvFŽAyŒD|Dx”I–I‚˜P€“B“P‡”IŒ={‘Mƒ”O€‘Ap‹Aw‘Hw‹?y‰?uŠBzŠB€“O…”G€–R}•Hq…?q‹Jq‘J{”Lx’J|‘AuŽ@}“@xŽ?n‹?tŠBqD~‘GwL}™Vx•T‚–G~“G|ŽBw@~‘=mŒAhƒ;g‡A|H€;z;y‹3ƒ@‘ByŒAvŒ:xD„=‚•HwHj„=d|,q~:k=v‡@sŠ?x‹2s€)l…9l:s9l@q†;kƒ?y†0tƒ3s‡8i„rƒCpo†0h4p‚:c}1mˆC`„@_z-fy'h„8\v!lz0Qp+`y1^r'cz7Xu0Up-Pi#Pi"Wk'Qn,Pn1Qo1Qi!Le,Xp#Ux(Ro)Yp,]x+Yr/Ti/Xv3Pl*Pf'j*Al.Ad'@b1Ag+7c/Ct@Gn-Al0Co1Lr)Em$Am.Dt:Mr,Lp5Ir/Mu-Oo&Lq+Fp3Dm3Bm*Iv3Ho1Gs1Kx3?i(Er-Dr0X1c‰Bd„7[z-T‚4[„X9R:Z1S†c"Dg$Lu4Nk)Ok'To'Mt'Z|'Lt(Yz1V|/d„?Q{0QfŒCqDuEx—Pu”M“A‚šT‚›R}”H|–Qx˜R{˜V€™Z€›U€Ÿ\~˜\|›T|–\~—M}”Iy—I—I„—G€“H€‘C‚œZy–Y|•PuP}–K—H~–HqŽF|•GxCgSqAtFu‹9y:•LŒAuŒ?}‘Cu‘CpDm@uC€”Jy•Hy—Th‹HeˆIlŠBh…@fˆBqHj‘Ht”_}“F|“Bv‘Fy–Nu‘C˜O€˜Py•H|šLz‹ByŽMkŒEv?o‰8uCn‹Gy’Mq‡:v‹D~“Mv•N–KrKy•R~•Gr‘Az‘M{@u‘GdŒHlŒ>r“H—Lz—J{’FiŒJnDxBx’M|–Sr‘Cw–Mk7sŒk‡Fn…;g‹GlFh‰;r‰2v–KpŒ>oŠDoˆDn9b:iƒ6nŒc„Dk‹Ak„|‘B~‹?x@z“KmGr‹8g‹4gˆ=e†@m‹Jd†B`€8a‚5_z:]ƒjƒ9b‚5l…xŒEqŽKy‘TnGpDf„?i‚@i†Do‡Es“LlŠGo‡=p‰GtŒ@_†Aav6c}:j|>uˆCne…;oŒFn‰=mNkLj‰JoŒBf„>s?jƒ8`}>g„Ab~-S7S~?Y}0e~3lƒ`}/j~5b€;\‚?Q~9b‚9b„?q„6_‡8c€2k…:W}6c?Vs0c}2`v1Tx0Ww,P{.Uy9eƒAb7d‚AX?^ƒ@[‚?X}5a€=Uv8h{8b}7Xw9Yv8]ƒ5`y:Ps6\x=’¥xÂÍÌ\‚GBi9Ei0Ij9Sp5Cl6Ce28f,Di)?e&Dm4Mi-Hl2Ei(Ml.@e0Cn+Em.Em1Ej)Ri'>e*Lt4Ip7Bp7Hj%B^#If-Ig*Hp58Z(;`(@j,Hi-Bh)Bh+Jf'Em)Ej-De"Ln.Go-Ir4Fo+Dq5Jn0Io1Ih5En;Bo/Cd0@i0>^!De$=W"Hc$Dg2Gf"@f%Jo*@o+Ej#CcMt*Ol(Bi%>e%?h$Dl'8c$?a<_%C_&?f/Ag,>g2Ff(Fc$@_!Gb 3UCg,Ca%Ji)Bb%Ji*Gk/Bc#Ja#Hl/Ow2Ou1Nq.S|7Np:Io/Dp,Qx3Rt,U{/M|BCf Nq0Mx1Cl(@u2Rz1Ry,Y|+Lv6Jr+Qu1V€BZƒ8U-V|2V}/Wy0Z~2`=Xz4X}4\€8d‚>[z/k}1bƒ1g„3Ov/Mv4U;Q‚8]0U~3Xx,Xw/X{+Ps.Lt,Rx0`.Y}5j‚6R1Z€1Xt(Ru7`}0[~1e~'`6[{*]3X€=`…Ga„Ea‚@^z.[~4_{+V~1Zy5X{.[}.Y|9R{;`7k‡?gƒ/Z‚2cƒ5d€7Y:_„=e|,Y~*Pu'Vy/a~-X~;e†A]…F\5[€+oŠ:q1cŠ<_…=j…:^|+e‡?g†>`1i„4tBuŠAd…8eˆ5b.[€0W€7Ow"P|/[ƒ6c…7[}(_y(aƒ7eƒ4`„>hˆ<`z-i‡9g„;b~/jŠ>]„;\9by.e‰Cb„4Z5`„:f5l‡?j…:a†Ei…0Zy._.\€;`5Ux'X|,Zz)Z€;^„:e‰?W€4`2Y}+[x/Y~5Pu.Ty1Wx+Ry/U|)\w'Vt)Qw)U|9Su0Rt+Ks)Q{0Nw8Vu/Pt,Ms1Wu*Wy0Ou/Mn)Mk&Ck&Gc%Fe"Ki)Sq2Tw,R{3T€;Mx'^v6]v?]|;\{8^AV|u‹?m‹Lx>e…?d†@uKmŠBu‘Cq?x‘CHy•Pu‘My“OyŒB–P‰šL–L…•G‚’HwŽLv;mDuŽFy”F}Cy‰Ds‹@m…>g„>v„EuFfIiŠCs‹Bq…p„9f}?dhˆBw‹?t‹=o‹=q‚1l„?e‚?c~7]~m„@oƒ9n€;i‚As„7z‚2wŠCzAu‰=u2jŠ=q…4i4f€/t‚.~Ž@xŽFyB|•Lk‡@tx…:~ŽBsƒ:j‹;s‰=m‚;fˆEhƒC`}>d€:b|2m„=b„oŠJdƒ@uŽM_Bf†?q†6kƒ>wŠFkOr‡EyˆCqŽEj‰:p‡:j…Fo~?i„Dd}>^‚Eb?v†?qˆ9}†:x‰Lm‡If~7u†Cg…E`€Cmƒ>f5~†Ei‚7m‡Bk…BuŠE{‘Np‡Dr‡De€?s„;h=k…@tŽKn†@p‰W{2k„5i‚Cn†Gg†Ak†?`~@j‚?n„?iBm€Dl‹:_…Bx‰_y9b€>dv1i{/m€5r‹2o‡KlƒC[v;[y5d€;n…Cn‡DiGf‚An?c€Cc|Afz3cx>’©|ÂÍÌd‚9Bn3Bi-Ou(Ip-El&:Z!Bo-5e'6d(:e0>q5=d*?s:Js3Dp5Gm&Bh*Hk&:g)Sr.j+Cl+Hk.Kq/Ku+Er+GmBj*Gp$Ai)Ks-Nu5Hv7W~+Y~0Kj"Fr2Ht,Om%Ip+Or3Bn+Bo)Hl'Dl'Il+Lj+Gn'@l'=d$Gs"P;GeSx*AaDh>bAi$Di(Iq%Ks(Dm&Fm,Hl'Co(=j*@m+Fh#MlKp$=i)Nu+Ej Lu-Hv/Hp6Hz0Gr*M6Lq1Xy.e…0O|3V}3P{6[|.Rx%Q(S€)Mx/Qx0Mt:Iw3L|4Jq$Hy'Qy&Nw)Nz/_‡:Hz4Q€AS}0R~*V…0U€-R€;X~3`€5dˆ@\‚3a†;]†0Oy%X~*Ox*^g‹1n’>n’BsŽ3fˆ5iŽEm‰6d‰=u•1s’2irˆ@kˆ7hˆBjƒ1g…=f€(a2b…1h‰?v‰;ƒ™[w’@d†1]+o4lŠ2j…#h‰/d~/d‡.eŠ:j‡:s„;W,gˆ(bƒ0g†/xŽ=n’?f2\‚-V*[…7_‚,j‹8aƒ-_†6bˆ7Tz/\ƒ1`†1X-X)Z},W{*_}+Mt(Z€4V}3U{,M|.Pn&Z!Sv&Zx6St%Lx(Sw'd|#c1e}(Ww)Vm ^z/S~2Ly3Qi$_s(d„Bb…:qŒ?b„6k6|?rCqNz’Ps‘Hz•K}”Hy˜J{˜Oq’By•By?u•H~šR‚œL~šTƒŸR~™Z„šV}™Po‘EuŽ>y˜Gq‹=x•Z}œbz—O}–M€•Gy;x•Sv•Pp@v‘FmŒ?vŽBy—Cv–B|—H}“CpŠ=Ž:v…:qŠAu‹ExC|“:v–NrŽCv‘Ly’Xu—Gy’F‚˜Nt‘C~˜D€™XwŽGr‘?}–C„˜Xƒ™U‚™RuGz•A€“L‰™[y“I€˜N€“N‚˜Q|—Jx‘E|>€˜T•C—GˆœS„œV~–V‚›K}›E‚’?|B‚—Ds‘A•<{•C“N€›M‚œN„™Dv“G{‹=xtC~”?€@{Œo‹:nŠ8g‚+e‡6o„5j€6j}0h‚Cd€7c„Be0r~-l„+f2i€0_y)j…AZx4b‚?iƒ=jˆ,rŠ*uˆ3sˆ3r‡;j‚=hƒ>h‰?i‡.yŒ.oƒ:h‚/iƒ3_~0d….l…2a€9c†Ai„9i†:m‰8hƒ/`2g…;lˆ9f‡3d…/wŽ6g(l‚2qƒ2l€(k+a…6^/S{6U|,[y)x†,u6`…Cj>zCg€/h‡.t„'q†6m‚1Xu.Pu4Wq,]v+^~1]€5r‡2c~+a.e‚:^y,a}6_3\,b~.j†=x‹@w„7oŽBpŽ?sŒJm‰BvŽApˆ9i‚4nƒ:g};_/e7a|6_}4a}*g~(h‚5n€0d‚?`~8hˆBjˆDjˆBe‡7j…3j;m„-lz4e}Ak-i}-h~3pHh„Bf=d{.jz'h€2p‡@q‡=f„:f…6dƒ;j†a1nƒ2f†Bj‚6e4a+s‰5a|*`‚1[}6a~*Yy0`€>u†>h~6]|6bv0Yr0Yu,f1Ry6\u3˜«|ÂÍÌf‡DLr7Gl1Cd,Ki-Pp+Ck,Gg*Rj*Bg1Gj-Gr1Dm.Bl1Ii/Gf,El+9i*Cm*Cf.Pn-Ej2@f(Fg'Ae+Aa(Ii+Dk*9d*Aj,Cj/Mq/Df)Ce(Nv2Ov=Jy8L|=L~9U}?\.Vx%Qu.Uv,Mw1Ty9Lv4Oz8\}+T4Ou+Py6Tr+Qp*Oz2Sy.Jz4\€2U}3a}2\~8a„7S}@Oye‡A_„7_…9gƒ5o‰:d„C^5`4g‡9h„=Q{#c€2Ow+Vx5Ky6Ru+Zy,[~8U:fŠDn„/Z~9_€;\|:U‚=c†>aƒ9`ŒBm‘=e†@fƒ-\€*cˆ?_:kŠ8mŽD`„/k’@oDk‹8d‡Bk‰>t‚5k…Bk‰@n‡=q„4\z-]{3[r(Op(_u-Zw+B^!bg"Uv&kˆs„7q†EkˆC{’Jƒ‘HyŽA…ŽD„ŽA’K€”PqŠI~“M€”LxCtŠAwI~‰?tŠl†Ac;hƒ=h‰5gˆCrŒJea€4Yw,aw+b}1ov'c~1a}.\|/^ƒ2`3c7p€4d€/`},]€0dƒo†;l:n†mCi†>\|4j7gEn0i†9i‰DqŠJq‡FgŠ>p‹3e~e‚Bro†>q5u‚?j‚Je~Bh~=o…8rˆ@h„;j…6u‡Mh}0ŽG†Fr‹Bl‡FyŽp‡@z‘MvŠL~‰Q|Nk‰Jk‡GjAwEu‡?r…Eo‡@m|DfƒGy„?h†BjˆFq…?xˆHp…=a}=\}6hx0g|?lƒ?gt6b}6iy4i~9by?i~B_|Ar‰5i„B~…8l~6o6m…>o‡Cg€Fl‡H`„Bo…Do~5j‡BjˆMj†Fi‚>mƒ@b…Gc@g~4f>n}3iz=j‚Bc‚Cl‚Dl€@š©xÃÌÌdˆBBn1Jw;Ir5Gi$=f&Gh(Ir.Cn.Hr1Gl%9e%Ik+Pp/Fg.Ii$Gn)8g$@i*5`#:[=f"Cj$Gl'Ai%Cg&8`):m*;f(=c>g Io)@l$Dg"8c&@c#Bi):f$@fGf@l#Fk"Dd%Fg"B_0f-Ou.Fu-Lp+Hd=c)Ig#Ee#;f%Gi'Gl&Io#Lm.Hl#>b%Gi"Po#Lp"P}/T|2Dr.S|=_~5Pw'Am,Gt9Lu,Kz0I~DKu3Hr-Jp,Di&;g#Ci,Gn,Uz6Gr8Bn6Pu0W6Pz:O~6Jr3Ty1T;Q-b|6\:Y{+Ty*N€1O}4K~T;Q<^;Py7Ix5Q2R€6Lk&Fo-Lu/Qs/R}1My2X~:N{1]z-Ru+Z{3Qw'Lx,b†8]…4Yƒ1Q,`ƒ6`…8f„1aŒC]„oC]‡:b…*Z…2nŽy”L~Ž@t’C€‘Gx:wŒ@iˆ@qˆz?gŠ;uŠ=l3v–Fr’>}–Gy–Q}•Mq“LqDf‹BlŠ|‘Cy’I~“F{—Lw>yJs‹;m‹Bs‰-—[†™O‚“HsEx‡3o†,h‚4f†>j‚1p„j‡k‹=d†;a‰Cb6d†:Vy-Z3Yy2cx3^}7kˆ@bƒ6d„7f…1vˆ1v‰@s‡7p…3f‚-fˆ:sŠ7kŒFj}6oˆCf8z…;k„Lr†7q‰q‹2l‹Gx‰Fjy2f‰Cn‰>|Š>l‹MrŒ?jŠHo‡Cg…Ku‡pŒ:oŠGi‡;iƒ=l€9s‹Fu‡=nBc„Ce€/p…?p…2pˆ:m…FpŠFuLxŒBEqGs‹?7€‹@}™O~™L}–[r‘Sv‘EwŠD…“FsŽIr‹?xŽ@wŒG^ˆBu‹6~•Ou@rŠ=uŠCs‰;kƒ;z‰?nŠLk…Hj‚:jˆp„>e„:—ª€ÂÍÌWJHl:Ox>CkCJm6Jx=Or,Lm/Ln,Rs,Ot.Fd*Ku9Ky8Vv5Vx1Iu.Jc&Ls*Pv,Cp6:n,Or4Em1Cj,Ll*Kn,Jp5@n-Cu5Bp7Bi5Em-g*@g'Fo0Lu.Mr3Fn5Nu/Ls1Z{2Jn'I{3Q{1Ow.Qv-Gw/Sy/O|5L~;Hl%Rt5M}?^/H}9=i-Bl/Gr:S‚;R{1Lu2M~/Er5R4X~/R{4O~6Rx-M},Gt-U€T€D\ŠL[‰HZ…FN|2Mx._„HZ~/R€;P~;Y/S…D_„>Xx6M|?Is,Vx>X{6Fs5U|._…?[€3^€2S}@Qx6Ox0Uw7Rz.R{;U{:Uy4Qu4R}8S|;Ku8Pw0N:\‚:c„@^€1Ox-S}7Wy1O}6M{0\7Kz*cŒ?bƒ:R3c„6`…?gŽNbƒ7gŒA_„;X1i‰;_…;[†<`EeˆHm…:jE_‡;a‚(b€2mŽCdƒ1^ƒ7gˆ?_5`‚0aˆ;`…7b…2]8R€>P|;d‚:W0Y€6d‰9_€.`7T~<[„:dŠB]ƒ4[‡:]ŽBe†3X9d…5]~/V};\‰F]‡A_‚-[1Pƒ@Qz2Pv0[1V~:X‡CN‚3W‚>Y‰E]†6Z|0Sy,\{2W|8f…A_‡@f„0\„<[ƒ9d4b†D^7RD_=^„=^ƒB[‰:T{)[8]5_„:Ys‹@vŒCo’MiCjŒIf‰Le†Fn‹KoKu“Gp—Iv”FpŽLsŽHs…8i‰AqŒCs‡8ki‚8hˆ@m‹@i‡Djˆ>j…7q‹7h…8`€9b~5W}6i†>_9`z+c1kˆDfŠBl2l‚>]|;aCMv5`~,f„3b{1d},_~,f2bˆ>Z„:r…=pƒ;f€<`z4j„:b}7hx:ap*`u8]y7Rx.dz/\1]t,^y+Qp/Y|?_w9_|:Uq(^€1_€4]x0c~3ay8l…CX~:d„DmŠ?r‹nŒHjŒNtŒBu…@n‚Ei:jˆ>oŠEf‡Bs‡Hk‚Af};c€?^|Ad‚>uˆ7|DuŠFxŽFp‹MnˆDs‹K}LuNq†QjˆEDi„?wŒ>sŒLv‹R~ŒDlŠE`„@o„:g‹HsŠ@pŒPp’OiŒPe‹Haƒ?s†Bg†7`z9d€2c†Be…Bo…Jf„F^†Ab=iƒ:g@j{;[~Cd„CgˆHb„Cg‚C˜¬|ÁÍÌeHZ€4My:W{5It3Sv3Rm*T{4Py.Sx#N{6Wl%Uv5Sp)Rx0\5O{4Ov8Ss%Mt.Ss'LiPr$Md Jn$Kq'Cj(So(Pt2KjNk$Eg/Fk(?i1Ai-Ci$=b"Ch DdEd#Bi$Pn*Jq+Iu*Hn-Qo%Iq1BcIdFh"Ip&Bm#Kr#Qv-V|(So)NjPr$@l+Kl'Kl Bq$JjCj#Jj'?j&Nk$Ck'CdGc=b Mr&P|-Fl*Bn1Fj(In/Gn,Lp%Fi!Rs(Mx-Ij&Lp'Lk$Kp'_}/Or$Py*OoRk$Zz)Or%Ih"Qu2]„@U~2Uz4R=Oq(Mm-Lo*Kv.Lu.MiL{1Q;Rx4Q|.Lu0Rs+\}+Sw)Sy(Y|)^'Pr Xw0Z},Zy$X{*My5W}3S1Ly5Tv&_„9V/Ry0S},^…az5W~.Y}7Nz)[},Wt'S;e„C]„;^5g‰Cd6d‡6]~0X|6]|,Vv+`ƒ?Yƒ=T…:[-Wz(S}2_y0]}+\}-V{&Z~1\€3]}"_ƒ2b†6a„3Ry%V{$`‚'d„6h‡1j9b~1cCa/_€(b„9c‚-_f…8h‡9i‰.mˆ;eˆ=_†7e‡=bˆ@j`z+Yu.e~4Nx3Xv*Xu-[€'f-aƒ3^9Mx;U},Uv-V|4Hm&Sx,[x$Z}.Tu'Ls%Sz6]}9c-d}%Uz'a€)\x+d}&\{/_{*d}3]o,hw(Zw'az*]}'Sy0Xs)]x,\y-Tz*Xz"NcEXK^Ui]s!Ys'Wy1]v)_y,cx*_|.`~4r‰?h€?o>l/qFqŽ9{‘=p‹;x;~:}“PsLy”Nk‹ApC~’F…˜Kˆ˜IƒšX}–H•I€Ž@“E…“N“G|Š@z‹FpCvŠ?rDy‘MzŽC{‘JtŒCuŒCs’N|Dy‘Ix•Mr‘Gw@y‹<]x:u†1pˆC€ŒA„]t“RrŒ?n‡;l‹4b~9p‹B}Š?G}ŽKw”R„–V…œX‡šW}™Vr<{’H‚’G|’G…œLx–F€’@tEuˆ:u…8e*uˆ9j‡@q=nLv‘Gu@pƒ1iz*e)n=u’LpŽDy”CmG€‘=~’FwA’{5l‰?p‘Goƒ7rŒ9q‹Es‘Id‡;n‰6v‰0‹f7^;g~1\y.ez+Wv(h…/oƒ1iŠ=l‘Cf…4lˆ;l+l9^}*o‰;eƒ1h‚:m…=p„5s‰)d…6c!m‚+i‡?n„3m„;c6i†4s„7k„5j,i„,h…Bl‡?oˆ9p€/gu*hz%l*q…/l2c|4Zx,j{&a5n‚.}ˆ0x…2jŒ9o‹>a„=j„6k7d8r‹?o‰8~‘Ht‹Ep‰4pˆDq†F~ŠCŠB‰=€Œ;~ˆ0rŠ>s†3q4v€:j/s†0|Œ9p†5tƒ6n„,w„3h4p‡B€‡4y…3p}+p~7q‹E„=~ˆAxMˆ›K…—I‚“D•LzŽFƒ’J†’:vFt‡?…”K„’E˜V„˜P—P…A€’Iv‡9q„E{Š@yQ|‘C}–J‹Gsƒ9y‰@y‰4m„?v†?v“GvHx‰Bj…Gk€=r=h‚@j…Ep…@k„;nˆIq‰Gk„Btƒ@s…E˜ª|ÄÌÊ]USy:Ju9Gr6Jo.Jo0Jj4Jx=Kl,Js8Io+Hr5Gu:Fp5Hm1Qs9R{;Hq5Hy6Po*Hr1>p4Cp*Nr0Ps7Jq.Pr/Nt.U6Ct3Oy3Bn,Jo,Gj-Lr/Eh'g*>g$?j'Fl&En)Jn&En-Rs/M~=Fq/Py/Jx5Ju,Pw1Kw-Nx6P|3Fy1R}3Ny.Oo+Qy+P|,W}.Gl0Nl/Lp)Nu*Sr&Dy2Sv1Lp2Lv.V|5Pu0Lz8Ou(^z1O€4Ly1Nz9Z‚>Ir-Jt-Nv4R€5P€3Xƒ?XƒATy7X~1S€:K}1Xƒ6S|0W~0Z~.`ˆDb‡>Y~.Mw$M}0Ny&Gu&K~4K|=Os1O;U~/M{5X?[‚5f‚(X6Xƒ@[}AX6^~+\†;\‚.W…>JƒGiŒ>^ŠH_†ET@cŒ@b‰;Q8_ŠE]ƒ?[ƒ9X…?Z‡C^‚=]†?a‚4S}4Xz-R|;\ƒ8_€;O…GXƒ:]1a„/Z‚5iCX‚:a‚5[:Lx,[‚6`„4X€6X~5X†4Pƒ>W~2_‚:X…5[„:`‹;h0gB\‹CbŒAcˆ=b‰Bg†2^‚1Z~-[…7`‰Ff‰0]„7P;_7a‰8e‚-_‡4\ƒ8bƒ6eŠAfˆ=gŽKaˆ,`‰;h‘Ga2h€/b‡B]…9b†;^L`ŠB\>_6d…9];^€<]„?V€@qŠ;`„4_ŠAcƒ6b‡;Z:U/[„3T‚>Y}/^‚4`…8Lr/Vy5Mr0Qw6Hx4O{:Nl)Ps*Pz0Mn%Ih$Hi,Gq(Ho,Jv0Hv0Uo%Gs0Er3Ig$Iq,Mu&My,It5Op*Dj(Gg%Kt4Mi!Mr']~:S~6Ht0Lu.Pv.Sx5[€3^ƒ4Y„1Rz5Lt-Kt3Dm*Vr"Jp(Ft%Hu/\|+Qt.Ly0Hr.X‚:T}1`{(Pv*Z6\:`6Z„<_~=W}?_s‡@e‰=sJjDj‡9v†@xŒD|•JiŠDnŽCo’Kh†Bg‹B}D|Hw“I|“Cq’Dq‹HfˆDd„AqŽDpŽO{‘P{‘Dz”Lv@oŽAeƒBb‚3lŒBtEc„AlŠ@p„5j‰g…;m†El†?m†j;rŽ@q‡:p„9rŽ>xCu‹Df„;j0qˆ=mƒ>n‡>o‡?nŒj~@n…Bv…=n‡?rˆC~ŒAw’EvŠBtŒ@rŒ7}“J~“Sv†2|‹GtŠMx’HlŒCpŠ>nˆAh„>k†{Ž?r9t…?s„w†5q‚3m5i‚@s5q‰FyDo…:qƒ;p‡6j†Dh†@qˆ7h‡C’NpKx‰9|ŠGs‚Er„Cr„7i†Jm†>h‡Cs‡BqˆFk†FfˆB_|:_x@ar0g„Af‡Cdv@u…Bœ®€ÄÍÌX~IGi=Ks@Dk;D_5=e>;b4Dd7Fi7Qs:Mn1Bk;Ed.:d5=c(:a0Hi+Mk-Op@Iq:Di9Ro1Jg.Mo3Lh,Op3Nq4Ku@Mo0Lo3Mr4Io;Hk6Im0Mm-Om)Lj-Tx8Nn0Or6Pm,Iq-Fr3Mr5Hr@Ll3Lo/Ol/Ij2Hj+Cg.?d#?]#@b+Hg,Il+Ij,Nk%Kj,Nm+V}1To(Ri'Pu5Mq)Lg,VCIv8Sz+Rp'Kp0Jl-Ie&H["A`"Bj3Jh.Kl+El&Qi%Lh2Lp/Mn+Jp-Lo4Pn/Qw0Rv1Lq4Fp9Jp,Ms3Vx;Py;Pq-Pw4S~3Nr1f~2V|7Oo4Cj*`|3?k*Do(Pw-Ss,TxW{0T~NdˆC[{5f…Ge‡?^;_‡=^‰=h‚2`ƒ@[}4_„;V{7\3]‚2[‚G]~2Lp+\u-Zz2^2X{?[y2Mv5[‚7W‚Z|6Qo3S€B\…HPw/\{0Xw0c3YFp'Pv5Uy=Zy7_}0Wy2Nw0Kv0Ux,Qw/O|7Su.Pw5Ln'Ry9S|@Kt7Lv,Wv0Ps-Cn0Ri+Cm6Ai2Ei/Sl'Lr:Ii-Qy5Ii-Us9VxBGm+Lv5M|3X…:Tw/]}AUr/[|:Yz:Qo1Z|=Rh*Nu4Mt8Px?Ww8^w/Sw-Us+Xw*Ox4Hm,Fk.Ss$Kr.Nn.Wx*W€a„BmJa†C]7g?`2c:f}9\7V|:bBb€;]:i„8a~/`}(Os0Uu/]{2]…9a…8X|8cz,Yu)Vu*Mr)Ts(]q#Wy3Me&Sk(Su,]w&Qp&OfNg)[u3Jf0EZ$J_#Rf%^q$f€9`y/Va"\w*kˆ7i‹EgˆCn‹?oŒAb>jƒ>lK{˜]w’N}—S‚šRšQz˜W’?„•Hz’I}—R‚™N~’Nu’Z~“S…•H•M|Œ>m‡@p†?|Fw‘C|’Cƒ—SxŽF’O‚‘JyD‚–E€–M~–SrAx’C}‘G‚”LŠB}‘S€“R~G˜T‘K‘J‘E’LyMm‡Hz‘Ow’NyŽFgŒRlA|JzŒLy‘It‘Lr‰@d†@rˆEs„2jŠCp‹9s„4d9m|3h…Ck‚i„;aƒ;z‹@sŠKl‰:f}8f|8g?hƒ>q„8m„AgAj‡;s„:r…Ct‡Dpƒ;p…?m‚n…;ez3o…f‚;rˆ;nŠfx:fp*j{2b;l…Bo8o‡Ar‹@uˆHˆ=x‹Kp‰GtŠEuNq†EoŒLdƒCo„g}@tƒGn@x‚:iv;k€A”¦|ÃËÌR€EJ{?Gq1Fi.Np0;k2Og0Cp4>m3k1Bm3Dj0Ae)Eg&De'Bj+Gs/Hr.Ho+Es/Iq2Cw2Mx?Ou0Br9=m-Jx5Ot3Jt/Cr/R{:Is7Ow4Mz7Hu.Jr.M{7Fq4Y‚;[|.X~6Or.Q}/Fy:Z~/U.Kp*N}.S}.Y=R€;R}0Mt*Ht1N{4Mv+Jq(Tt7Pt,U{*Jq2S}2Uz.Qy0Ux0P‚DW€4Ju0Nu)Lz/J|4Mt/Lz4P}:Dn3Lx6Ku+Ch"Lx/GbLp(Dm-Nu Lq"Gh!Hn'Gp.Il0@s(Lw4Ov'Ro-Hp+P|,K|2Ex8Dn1Lz;R9Iv/Lx6My1W}8Z‚:N6S€9X0a†9Rr+^‚0b†9]‡4\‚0O}.^…2_1S‚2Z}0_}-_5\~?P{-_>Z€3W~8X„Ge‰DfŠ3`>_…?b5e‰;\‡l%Qx8Fs*Tr*Ej/Hs(Gq)Ly+V3P}.Qy0Z…=U‚BW~3Rx1]~9f‡/[ƒ9Pu,Pp+Nn)Qw-X€=Wy,O€3S3[/Pu&Gn*Jr1Hk'Sw0Vs+X{-@m(Kr$Cj'Nr+Lx1Cr%Ou,Gr(Ip)T}2Wt(Zx1Sq%@u5Iu2V{=L{BT€.Ps%My8Ow0Tx/Jv'V€2Rx-Ks'Tz2T{;Ly0Iu4Sx1W}0X‚9X5^„>f†7]€3f~7eˆA_†;]‚;Y}.[z2m†0h‚3a€._8_„)[z;Zz&Ts#Sz+Z{%_~%]}(Rx-Vz.]z,Xy%W|4_t)\u(Mu*Lx1`}*V…BSx;Z6by3a‚2c/\|-^{-`}2Hc!Vs']t$Gi#Rv*Oo!`r _q,Tg"Yn#D[G]Td`z+\|(d{'N`Z}.j~.m™Lw™P}›Ry™Hy“@…œ[‹›W€›KšO~”F†¡f† R†Ÿ[z’H}“B}—AhŽEpFqCr‹;s“F{—Uz”I~•MnŽBoGdFqDw”OuBmŒ>yGoAkŽBz—J~•Fv“Gy–L|™Sz“IzŒ@v•HvK€—A@€–Ey”FuŒH”H~?o‰Ge…Bpˆ?jEz@xŽKiƒ;g„:q‹4t†5k…@n†j†;g…:e…:d„,_z)i„;f0X;ZƒBl;m~4j‰Aq‹8n|5a6]{0c€7g„Aq„?m‰?kˆ/i‡3e2_{1by0b~5l…:^|3a.j‚;i‰=g†Cj‚3d6n…>u‹BnŠ?p‡3p’7j€3j…=o…7v?u…9pˆAm†Bl‹5mCh„7u9s‡C]|3l4f8o‰2q‹@p;o‚s‰@uŠ?mˆ5o‰FsˆEzIt“JyŠEtŒAqŒ7t‘?€•JyŒE€“JmEoˆ7h‰nˆ>s‹Aj‡Dm‹E|‹CoOm‡:pˆ:i‡=e‚Bg…D˜®ƒÂÌÍPt?@i3>g13d,7d2Ir2Gb)=k:Bl39e(4g6n3Dj/9g*Fq/?q1j+Dk,Qw1Lq,Lu4Nt2Hl-Pw4Kv7I~=Fo6Dr8@k,?j+Sy3H}?Oz9Rz5Px+Rr(Oz1Jt.Jp,Mq5Er1Q|/Fq&Dt+Es'Lw/Oy7Hs.Mx*Ir+My(Kv(O}5Ex)?j+X}0ms+hi&\€:Hr3V€)Qz0X}=Xv,Qv0M{2R{BW;X‚Bfˆ:Z7d†Cm‹@W€?hŠFb…8dŒ@\…5f…7cƒ>d6Z€1Nz,Y~,P|1U€4X/S~0Gv0Hp&Uv.Mv0Ju)Kz1Px/X‡dƒ;\ƒ=Y‰>V„0X7aƒ:Uy-V3\„=S†?]…@]„2V7R|O},Q{/Wƒ;^5e,c:U„:Ky@U~9Sx1Q{3Ou/Hr(Lu(Oq,Co/X€+b†6U|0T}1T~;a‚5W5Nv1R}3Pƒ>V|5Xy2R2Ny+X{,Tx6T~9O9X…>Z‡6V6Su%[}2Sv.Qt,Gu0Mt,Nm*X}5Gy+Y};N}>Dn,Wu-Nx-Ms,Hv3Dt)Cl.Lq(N~5W|.Cf'Hr1Lu-@r.Dk"Mx,Gs)R|2Lp/V{4R|2QS};Wx+Pu6Jt.Rx*_€Qq#TXsg$‡9dw3Yy/Kx3W}:\w'Y?Vy,[{.[v-[u'W|?YƒWv/Ko-Hz:_~v‘Fs‘HsŒ:n‹i†>r?y’Fu’Qu‹MqBeŠe}*h€>e„pŠFoŠEh‚=g„;`y6s„6pƒ7ez,]v2c|8]€4Wu2_}:b{3\{0[}*\p(`…;kƒ7h‡>rŒ^ƒIe‰:fˆCf…6mˆ>p‰Hg…Db‚@_‡Cd8lŠ>t‡@eŠGkŠ=]„Bn‹DqBx”Nx•HrMsˆFh>iŠ>g†Ah‚7Wz7c€=Ro2bz:–­ƒÁËÌMq4Ae*Ci(A^)Cf17V-Af/Ag4@d&Cc%Kb);_#<^/:e,/`&3d/9h53[#'X&6X%@e.Da->]'*^05_,+Y#/V 8Z&<^"@f/Fi&=e5:f*Ae0Em,Gn,Fl+Fc)>X%3](@_$5a-6a+@j*;e'Jk/Dh+8c(Ou,?j+?l,8b*;f#7_"@f+Dl4Gh4Gl/Gl,Ej'Pp(Mj,Hm-Py:Eq.Ru+@o8Ah/Dj0Ec"Gi%Kr4Fm%Je$Ie,Eh+=h.Fk-Ho-Fo6Ps.Fm(Kn3Hn1Dk2Go9Mp/Ci,Cl=7i/>g0Kn5Lo.Hl1Ek.Gr+@m.e‚:_5eˆ?\„5g‰B^>`„9a7Tw)Z5Rz._€4\ƒc0O{0Vx.Yw+X{.Rx3Lu&Ls-[u0Vo-^v*X~.Xy+Wu.Qs,Wy3^3Lu0Y~5[|3d…D[u!Ww+Qv/Y|>Tv=P=X9Z~5Ny;_‚>]1\{/f.e…7^„2Yz5[}5R{6Nz/Q|2Wv)T€A\‡GW„AZ‡A]…:_‚3[~6\ƒ3Z‚3b†5`€4P„?Zv/Rm(Wx1Mv0Pu/Bm,QyUw5Og%Wp$Nq*Pv%Bl.Ju.Ix+P~0@j&Nm'Vq.Lj)Ou-Pw;Q|.Vz.T{0Ul!Rv)Bs1Gl$Ij#Mo&Ht,Kr-Ok&\u,Lh(Da%Df$Be$Im,Hk$Mx-Pu)Zv0k~)nŠ6tk0l‰Al…6m„1gƒ.h„8q‡Bb|.`~,]x*_z+q†3l}5f„7y’PˆŸtb„;f‡3cƒ;e+`…>b„*e‡=dIhŠBp‘:^‡m…?uˆAe‰GsBm‰=t?iŠI~ŽCpŠIi„?vˆ;i†Gc€@d~3kƒDm†Bi…@qƒF_x/l„CnƒCgŠR™¯†ÃÌÍEu>3i=2b8Gn+@d,@q?Jv9?u8Kz9P€4Js3Ky>Tv3Gy8KD>o,Cw4M{/R~3Ox3>l4Jx?NzFJn.SAL@k2Gn.Io6Bl.Fv8Ag+Gw0Ky5Rw/Nq2T9\}7]8N€@N{4S…?R~4\}-\‚?S€>S}3Q{7FybˆIJy0Iw:W…?]‡EW†=Y?Xƒ3]@Zz.Rw1Z~2P})Ru%M|1Z€0Zz)]5RSw0Ox,]z0P};S{:XBX}(Mr/Iv-Mw1Z~.T{:Mu/Rs$b{0W€3\‚5P}9V€>Z>Us;Pu2\„F^†GU„>Xy8Iw7U€9S{?X>Q{:Qy5Tv1Kv'P|6Mx4Nv7Xw/Qw3M{:Kw/Gx0L~3S|/Mx/Gq.Fs/K{8Cq)Ht2Dl-Mq,Pz4Os/Sm+Qz1Mz4Ru3Mv.Dj+Xx.M|/Fr/Sv,Lm(Hs.Gr8Hx3Ju,Nw,Lt&Kq.Ks4Ds0S~4>i1Js2Jt+Nr,Dn+Ms&Ov/Lu4Ps1Mv3Ny:Ls0Ak,Gv:R|?Mz9W„?Mr1Ul‰>d‰>hˆ2d†8i…6oˆ@v‹Dc‡ClHs’@hˆ;l†3gŠ7j†c…?j†5f„9d„;j‚:lƒ@d‰Ca‡:j…6nCn‰=gˆ@f†d…1kŒNn•QoDGt’BoQy‘Fx•QsŽe€@d>b„Ce:Vq-Us7dx/c{,e1i…@p‡@mˆB`;iƒ7lˆA]~2g„9c9j‡;h„DcY|5Wy7\v3§}ÁÌÌGn94c-5e5Ae:8`9Ei2Mg,,Z&*X#@d(Ie,Fb*;d3<]/5]88`*Aa.:g,6c.@e0;[*<`4=e2Dg3=g6@h/Fu:Em2>_'@c,Ad'6],-a-Gr9Aj48]#Ch.Cf'Eb(Ee0@c%Cg+Bn0;b/:p1Aj/Ao6Gq5Fm*Em/?g0@j9;m8Bj':^/C_Gb!2_"4e.8f.Bg%/^,?pA?d-8^*6\)1\'9],3\*,[(5_-@`$3b44['<_0Eh19_+Mv@Lv9Fl)Nz7Es7P~@ZXz8Z€@X€:PGR€@O}7S;V{*U~4W‚?\4^ƒBR€?U„F^„=XA^>^‚:^€:Q};Hx2Xx:Zx4Q}=Xy?]y5\3R;Z~=Q}ZD[}6X;L{:X~;K{=Ms1Mt8Mo.Ry1Fk*Cm.Jq&Ku*Ko*Qz8O|:Ur1Sy6Ae'Cp%Iu*I}5My5Kp/A]%Mg3Gn/Mo6Di&N};Ry)Mk!\j+Xy:Lq0Ny:Dk%Hq/Hu9Uv2Oq2Di,Eh*Ds2Hwa€1Rz/P~1X}2]1YySu3Uy2\…COzYv2Or+Hl"Jo%Jq*Gh(Lt0Li"Ll(Ku6Ph(He&Tp-Oe%Rm-Wj)Jj/D_'Il.Or*Oz3Py3Bd%A_'@]Ir!?i$6e#Ou-Wx&Os%Ig$Hq.MhWj$Lo*Ae%/WCh(A]!:` Hs:[w2Ux3Q{ZHa@SJb"5N =V2OCd".H>V3I>O!Hd%^y.Mw3Xs Tv$\{-c‹G^{9b|*_ƒo…De>]{5k‚5e‚;d=f}?j‚Ae6U@_~8j};j„Bjƒ2r0e2_€Boˆ@rŒHmƒEb‡Hb~4_}8_w1jƒ?c€>g€Cfy,b}j7i€:^w7a}6bw1_|1a‚.Xu6aq/ct-]}1`~=]|9`=c†8gx2dx9e|6`|5eAm…:g}9a>f…9f~8^q-iCf4l…-`u.Zy0Y}<]ƒ?i†Do†@rƒ6r‰HhƒBiƒ>Zs;a3\x5Wt3c=`y;[x9c‚8¬ÁÌËIpGEg3:i;7j80_)8h==a,;h56[(8f1,Y20W(8d.;c51c59k0*R07U)@c1?i1Ck*8`/Br4Gd%>\3?e+4_,e*7a16e*5Y&5_+Cf+6`+?e(A`67`,7h+:d+7e05Z#?e/1d1DqC1d0>m)Do0>i'l2Lz4S€9RGS:`}.R€;O|5N}3O€6S5X|:O{;N{8WP|:Pw2Ny(Oz0Qx+N„;P0V{1S~5S~6Mx3O|4X}=`6Vy6Pv1Wv1Hu;Js2Iv:Cp1U|,Js*Lm/Ds0J{>Ky6Lw7Iy,V:Kx/Fr1LyV5`„=p‹EW|5W‚AZ;Xy+W~1U|6Rq-\7R|:V}2[B^ƒ8Z€;Jt2Iu/Lw=Kv7_z3Eh$Cp*Qu+Kn(Kq3Em1Ai3Eu:Hr)Ee"Fn)Js.Rr(Ei&Hv*Gs1Sq-Ox/M}0Jw.Mv1Ie%Po*Di#Xv0Fq%Hx2Xp*Cm+Be)Lm'Mn.BqTv0eƒHa:]Š/^€*eŠ:`6\~Mt1Xw0X~+[€._„Oz.]y/Qt'Pq-SeUhD`Mm!Cj,Qi Ni!Qv/Hj#IeA]%C`D`%Ll*C`Oh'F`?a@h!XjWbQe Tl Rl&FaHc!B[EaG[Ld?\G\Cd%2K,K1G=I:L3K0L-DF_BZ7Q9W A`(Fh%Ru1Lp*Mu0Fp"[~0Zz,X<_€8o…:l†5c„4i‚>^€/_‚:gEqz1iƒDf~9dz/j„3]u.Xw,^|4]w2g5_€7k…i‰Dd…Ah†>kƒ9j~5fƒ6_9h|/b?\6Xx-Vt/_|5b€Bd5^€5jƒ5\~;g†>d…9m‡Hn{4bv,Y~@g€2[}:]|/[:p…>o‡Abz2c4[~>W4a~4b—¬ÂËÌHoDJm3Rk/Ad2;g-Bl98d2Am38d+4`-1d71W.Aa*=^)1Z0=i;4b3>f52_2F`*Id*Gl78`0Ce$Bd)8f*b'A`$?b)6`*7^'Bb,;h-;d->g'Ac/Ik2Cf*Ej,Hp9j+Q{a…:O{%Y~8Pv,Ou4Ow-^}3W}5Ls>Nr.Rz3a‚;]*b„@\}6\}AX|0Uw2Qu/Gs6h†G^2Xy6T~]y;_~8Y‚7\;\6g-]Y~A]€;Z‚?Z;Z};Ru8Nx6Kx6Tr5El5Di*J\#vj(Mx4Sz5Ml+\{5Xv*Tr(Hs.?m/Ds/Qv4Pm*Tx;_z6_r0\HLz9Rz4L{:Jn.Gf)Jf*Po0Jl(Js3X{U7Vz/_=`‚?_~4YƒDX4W9T~:_z7Y4gŒG`ƒZ:bAfƒAWy_~SA[M^B]HaDc$Mc#G^$BW#Rj#@VD]!CXHMB^&9LCY>Z%6S;^!>ZMj(Ll)Zn3Ps7\q4`zCTs+`}4]w-]q+_t6]x1Vy5_w9j03f:;k23d4Bm/Ci3=g+9e/7g8:p@8j;Bt6Bo);l'Aq.Ag2Bk77j=Dg'%R)m4._,2^-9h/=n/Do/;i+7f1>f1i*5m<5i0Ej-9g-;i*Gr,@k*:n.4h0Dm.Gr2@x:>m6?l2Bq-@k.Bp&T~@r7@g%?p2Jz7Bn1Au:P>Jq+Mu0Eu2Pƒ=Bw2Jv7I{:@p2Kq6Cw6J{4Ds3SOz@Hz:Ky7L9Q};W„CX…e†>]ƒ<^„DEy:M~>M€/R€2O?W~0[z;Ut0[€5ZAZ…KZ…=[ˆ@`Š>V‚D`ˆBYƒA]…<]…?]ˆAX4[†4W5X-^ƒ@bƒX;K}CV€0W>X:c>Y€>V~7V|3Nw;Ju5Ov,[~0T‚?U€5M~DX}/Lr\|/R;V€=K{9Nx?\‚2]@[‹LW…9_‚=a~2Gx3X~6U9I}2M‚?^…B[‚ENƒ?U~.U9X€1Px0J{1T/Pz3Lw-M|?Fs0Tz0Pt+Mx-Js+Ir5Ju;Js+Fx3Ns'Gr+Ot0Jx5Hn/Fl)Jp0Ks;Sw$O};Y9L~?J>Nu#Rw9X:X},S€5[‰;[|:[ƒ=Y€1[…?U‚@[=T~6J}9Sƒ7Yy-Or-Ir.Uz4Nw+X{a‹BfŒ7_…9Y…;\€2iƒ;^7_ƒ)=&3 (< = 8&B(@0 ; *8 (C%>5H(E&H!B -K 8V:N,BBR'N'@1L&M,V1H4K5X 0H;["4N1M>V1H5O3H4BCC3O>XF] Lp,Dr'Uw.Um.Rm.Ks@d11V/Fh05b,8^*8c)Do5Ei.Df1@Y%:e6=h)Am1Gq;Dk7Dm9Fi3Ch86d0d*:W(:`'=e3Ae.Cl,:`.Bf9Je'6b69\,7h/An3Dj.Cd+Hs:>j7Ag:Oh4Cj-6h6An28e.=m7>b,?e2Ab%?g-Bd0;h<9k8Em/Ku7Lt:V{8Ip5Jr3Dq3Lp5Ln2Lr9Ly?Gw@Mm6Pr4Jx:Fn8@m4Pr2No-@k.Mm4Cr5Dl(@j)Eu6En/Jq4Mv9Fr4Lu8Go:JvANr9Ft-Hp3Iq;Q{R‚FU‚@Lx3X~BN~>Go0Hs-QzRz6Wv6S};\{6Ry5S~6[‚?V{>U{2[‚=Tp-Px-Zz4Mz:Z‚7Y|1P€CV~9f‚8Y€BV}9Vx0OCW;`†ATG`?u“]Y~>K|:R}6\‚M\ƒ@sMeˆES|@Tf„7dƒ3M}8Hs7Wx/Z€>Jo0X}8V{/S€8Q}2]„6\|;c„>a‚FX„K_ƒ@`ƒS‚B\@e5Q„@S?W„9S…?X@Iv.W>R~@[‚Daƒ=Y|>N…BZ€:^ƒ>c=hƒ@c„C_ŒF`„<^‡A\ƒ>`ƒ7^…<^5XAY‚JYƒAN~=Sƒ?_…>a†:[=lˆAf†>iAe‰C\†EY‚Ae‹@b…;iŒBqŽArHj‹Cz’T’±¤cMZ‰Ea…1g…Bc…BX>[9d…B\€9X~1\€3_BXv0V}?^y8R{@[€Gd‰KY|7[~Ff&9]Tk*Ke LaHa(Ws0\x?Qn)Ja#Ml+Jg([w`&A_$FPK`!Pf&Tr2Rp*Kh#Gg&?UBSCW:K>["Hc*De!>[ B_ ;Q;H4Q3K-O8Q2V;Z-I+O1P6Q7M=S -NGSB\0S9JDE5FZ"?TDV =R!D\#F["6O=V9W%G5G;M:S!0L?P †¤y¿ËËJp7Dp6An;;c,Cb$@i.;e,5a1@m6Bd.7l:=k/Fi/Lp/Sr1Dk.:r35`.:c.Cj*;k.;i'7c)Fi0Fk.=f3;l<7c1En.8g/Cd$Ai*Ll4Bc1Cl4Gl0Bo5Gl-Hr8Bp.;o3In7=i:Ba&Ot3Fn6Ep8Em0Gg)@o1Mu@Bp-Bl1Ru1Ak+Dl2Ap7Bk3Ak)@k-Ak,Hw6Fo3I{CHq4In4Jv>Uz4Jp+Es-Ey2Mw5Et7Gx7Ar@?m9PX4U€AS}6[†;Z‡@\=R€@\ƒH[‚?[ƒB\ƒ@b‰De…<^ŽL\|6Q}S}1Y‚@U2_‚6Xw*Nv/Z‚;S}_…;S@P…X}@Py]‚?S~3N|1X…:\€/Iv3Uw(Px+M4V~>Y8V€6V~,\ƒ=Vz-Lt/Iw,Y:Qx6E}1Y‚?f‚A_…9OƒGNx_‚@]‚BW|=\u1]„@]„4`3X{2X€8Z|5Jx6My7O}<^‰BV€1]ƒ?bƒ=h†:Y€>]‚4XƒDU€8U@_ƒ9_z;j…BY€6X…;X‚:T~3X@Zƒ?^„<\…>YŠM_‡=X‚9R~3Sy;S:OƒA[…9P€3Wv-[2[w+Wx%V~?Kv9Is2Lp'Tx)P}1Ty/Kw2Y{8Kp+Lx1Nz4Qu3Jq'Pu1Mw6Lp+Ot1Gp9Dl+Pw/Jr1O{3T~7Hw-Sw/Lx+Pu)Lk'Jo+Lo:Io&Q~=Ot'Tp-Hf#Bs+Pu/Nt*Vƒ=Ru(Fl(Mp2Mp,No*Vo*Lj!Bp-Ik'Hj"OgFs(Ku-Z|5Hq&Rx0Px%Rz*\„:d‚.Zƒ>\}8[ƒ=X}(S|1_w:[y1_‚Bcˆ@aƒBaƒ?_7cB\~:S{2_†;Z…<_„9Y3T‚BV€?`z9W|/_;f‡:lG[‰F^…=]†CW€>^‚7lŽ@r@d†?a„5_‚?`‚=]7X{/Uy,bz2\}*_€(_€0[{-Rz*]{,\v b'^,c&]}*Pq&]x!Nn+On/\q ^u$c€+_€-e2[€>g~0g€8n…;\;`}.X~-d…9d€4_}*d€5m„7f†;d2b„5g†0kŠ:kƒ5d;b5j„d(Ji$Rp.Ea!LaG`AcC]!BYFd?WB[C_A]J`QjTjIp-Bl*C`&Qm5Zu/@YFZJeNe';`#N]F[G`Cd!Ke#@WBXJ`FaHc Ei=XEZBbB]=S!,JCY>V9\=XF`FZHbG_Os.Lc@Y9ZI^Ea Rj'B`=\Bh&@[%5^4R@_Ih&B\7W9R5R=TBVB];W EeHe#Jh'?YJT>\!Cf"A_7YEc#@YBUe15e=3\.7d50c00\4=e2e2=g1Cj1@i-Di8=l2Ae+O}HQB[FMOW}8Rz0P}6M}?I|AVƒAM}DO~AJzDT€BX€CMz:Sx@R~_ˆCOƒAP~>Z~Z:My:X/\„<];P|4Y|>b„DYH[‡NR~C\}BPt0L}CLs3Pu1CwO;Jx7S~@P8Nz^ƒ?P€5WŠDW{;\D_€9\;[†JaŽHS‚FPHOz6[~@\~9W?P|CU@Y|.W~:T~CM?U†@T}AX>Hv5R{Ix;U{8Ty4[|+Py+P~9Fp0Er,Ju/Px1Ix1Hm+Sv>Iq/Fr:>i1Er*Lr'Is.Ns3Qs0Vƒ=Js3Vw3]‚>Xw0VBX{>R{9O{0Px/Nr0[t,WCY~:S|7Xx3U{:Pz1S}-Sy;^p(\|0Is;Ot.\{8X{0U;Z|4Wr([u%Z~8P}1R€>Gs3Sx:_ƒE^}2X~BW};Zx3cBXJX;\u4Vw*W€3Zy4Su.\v-Gt0Lq(Kl-Fm)Nq'Fr0Lf)@c'Jj'Jf%A`(Ae$Ej#Li%Mj+B`%Dg)Di3Gq5M{6Iv4V€>O~4Jy3Oz:aƒ4Y†H^>a?]‚8a„4e€-]t+by*[s3gr*Qe"Pt+[u*Wp&[v.b~8Wz-\s+Zr*Ws+c5^}*Xz/c|,h„h…?aˆ=^ƒIe„GX€;\€6W}5]€/_2dw(]v.b‰@Zy5Q0Wp%h5f+d‡?xHa…?cy=\t*n‚<`‚5^}3\n.Kh*Kf%:X#8W"I^"Ol*Q`"Vi&N`Gd D^"Qn)Ca'Gg%Fg!Nk)EeE\C_Ba4Q^#C]3\'I1NGW>W$JaAWIg-@a&B_'BX#@\$>U(7W'BZ:X$;S7W@NAO;N=V A\!O`#F]!GUGX Qb!B_%=_ Gi%Ib!>e"Af3Ab"8U8]$B\ C]"1MAc0R0V?Z!I[$Jo%Lt-Gm5D]":O?M=K9LBTD[Ea";V Ge*L_ F_!>X%=OEWB\%CX'D[-JY$‹¤€ÂÊÌ#7 ?1!8892I*%6< C#L'#BC17?@>81A,K$,P&2,2-& & 3  # :9?.N$(D5* , G ,   =+C3J$ D)N&@95.RE <HE$6, >"I(M,N!7S7`,$OO!+R&(U(Ci,Hl02\'/_*1^ /\(W")V&,\$7c,@a&Af)Lo-Bp+@d*4[1;b,,\'Om)?l7Ch.Ki-Lu/?`/?c4Dd+>f-Bm.@f5Ck(Be.Eq6Em-Cn/Ag%Gk/Ik+;h>Bt?KyBJw3Nw7Hp1Q}?W€AKz=S}ZRS€?L~@Z~CBt@Iz5P}>Rz7Wy6K|BS|5]@QHv+Lt1Gw5Gv:Mu2In/R|>Pu3W|0U{-Fs7Pw1S{9K|9Sz1T{5W~:Ls*`3V€>gƒ=Y}*X‚;Wƒ?IxPx3X€Ty?Jp,V|8Ov?L}RzA`ƒ5Tw2Vy3R{/X€>Px9Ux0Bk3Ou5Io&X€[ƒ4aˆ9Ty(_ƒ8\3\‚:[5[‚?^|2N€3Z.W0\ƒ?]‚C\‹JVz2W‚3ZƒA[?X‚4R},W|+P}4\9Nv;Ux5Vu1R|8Z5U~3Mz0T{2Z‚@Ju/Ox5Y„C^„;R9K{3b3[|0Uz8Y…CX>[?`*[†/W:P{;[‰Ge…Cd„>\‚@f‡@\†;D|6^†?`†_~6S„AS7\:[}6\€@PA]€=g†?W-K2Jv-V{@Qt:Nz1P{>Z~;\}6V„ATƒI`9W9[=[‚9W}6^|>X„@W|/Vz-S~3a{1Pr(Lu1Uz.Xz.P{/T|:]{-W{=No*Gj2Jv;Ms+Su1_w3V@Wt+Uz4S?P€9Pu0[|6\>T}0Q{&Tz/^ƒ4^†?\ƒ?Z~?Zz7V{5X~4Q~1VAW€=Rz7P{9Y~:[{3aƒ1^†CU~3Py4_€:a€;_ƒ>e€-i…D^}6a~-Ox0`w&_~4^u1Pr/[}3W{1Ru2Zv(Zw1Mk,Ms$Or1Ps0Tw6Nm,Kv5Jp&Kv:Fq,Gh"Hg!Gg#Hi#Cc"Gf"Dd"@Y.G.E+: * , .C &=%: $'G/U7P2Q?d#Cg#Mu*fG_‚He‚[T!H\$O_%C[9W;M4CFUŒ¡}ÀÊËOe1AX)0;#),7CFV6JI#AR31L&1S+Hc98X(2M#; "C?'0!,29E#Ld/R_);],'@%(@$%>);  "0+J"+  'CEU(6T)'    + '#3D[.&>!#+4F@  %4! # AE%D#% 0,I0 . $  *#=B B D&P'#K+M&H?9 ( " . 2& /-$ #+B)@=(B* !B@7@C I#)S"e+@i*?q4Bi7Fr/Gt8Fl/N~3Et4Lz@Bv5Cp3Pz5GvAEyL|>W~9c8Z5Oy0Q{/^6eˆ@\ƒ?X„BW‚>\„L\„I^„I`†CRBY9X„F_‚@Sz[€>Vu2Lv,];Rv6[y:N=`†?Z‚L\‡Lf‰>d8]…@Yz3[~4X€9[2Z1Wƒ7^1Z8a~7\y,Nx+[}3ZƒDR}3a‚8[1]lŠAa†6f?eƒ?e…6Z‚CX~;O;S€_^{3T‚2`|/X{FSr-Kp3Hu3Vv1]u)Wy9Sw4Y{8Y{:Xw@Nw:Rv.Mu+No'Hf%Mn!Ln(Em+Ek%Dm.Fl(Lx:Jf"Lm,Jm+>b @i$Gi$@`)Ip-Di);X#3IBR'JA+5 (   .* -<E_!OsuŽEtŒFo‹GiŒJt’Pk†CwFv‹BUAh„;k‚8m†Bc€;]€@]‚Gc€:Us-]l/Tu4^x4Dh)Tr8Yy1d1\p&Ur&Rx3]}/]„=W€4c5h„CQz9Su'`€7Os'Vs6Hm%Sr/Xo(Rt0Nz1Lg&_|6Z}8Rm!Nq)Xy3Ur(Lt/Qr&Mn.Hm'Qs$MeHg"Vx0Nm%Yr(Ul Sz@OhIe&O_OcL_Og#La$Li%KhJ_De LiBd#Hh$Qh"HdOj$Kg!\x*Pl"Xy1Rp,Lm,Ri*Ui&Xk+Tm*GeKm$E^ >Y#6Z?S4IBT$5O /M=Y:_$BXEh1Cd-AR)CY4U!3L?d(?_!Ad$J_Jj'E^"5SBd >`#S}=-F*A%@ =E%G1L-N*K.P7V 4S=X4PFYB^!;\#6V7Y>X=[#=`'D_&C\A]"‹¨}ÀËÊ_aOD;#8L=0C1@\.erFEM=PP8@N4CP;S`R/3,;EP#;-2L8;M1;J#7J-%?#IS3BL*]aHJdK   $7/9B & @G&2L!.>'-?"(   $CV+CO,*23556 '5*D 'H$HM(2A"?M!3J$ 3"4L07$ ,:?J  #&/1    )5#@'H !  "   & (:!@#BA) $+$G#+ #" =9&) &:F2-(   * <5, B$J%4    ,)L!)D(:(G"B(G,W$4C&@7-G . ,)H; !F&F>9)3/ >1 .1+ A&O 9>C ?9 )@/FCR#C;%! *'9;T ,N-I"N@9 5  ) 1 *6 !G#H?$D'E0  0C%P#"J #N"'IGe)(G 6#JCg,Ge2Id6&I&5?+I*.S#5b(;e1>c+7g1:n6Gu?Jm/9k72a)-i<@r/Mz^…;\>b…BTv>^ƒC^…D]„Ab€;a€;e„:_†E_„:Z€BW{>`‚=]€9N|5]x/Y~6T€@^}3V{1Xy6\€;d‚7X>a‡?T}:ZA]6X~BT}Ge8_ƒ=]|5Xv4`w5Nx2Uv,^5_{4b‚B`„>]„6a„5`ŒBV2Vy4Tx9Zz0`€;f†?g†<_…AY4]‚BPt8VATv,Vy6QuV‚2O€?Lz:W4Yz2[€@Ov-Jt8Su8Nx,O€>X}1a;XŠCY}Lv4\x2`…9\‚BZ}:_…BZCe…Ae.Y~:X~4[9XƒB]‚C\€A]ƒ<\}9Gs,Sy/Hx/Sx.Sx>Wwg';e+?l1@n.Kb'Bd,>a/cy=@a-/E,B&@ .$!  ,2-20=0>A^/S{Da„IQ}Ia‚?ZAe„Al†:a|2f8a€3dƒ/e„?d‡H_}Cgv5cC_9Rs1Su,c~4Vz0`y.Wx;d~1j~,m~1k‚5d€3_}3aƒAi†;ay:b~4_6d{&Xy3`~Q2N1G4L?S)E2V,G7K5Q9Z$N'L-I7[Aa=Q>0 9E5B87DN+G$;-   $'15J-M"/A$:% %  $ :, $& -1-9KZ%)8)= #*  " 5"9&?( %#. / !/ $4 " "%7Qa(2D&5 ,F1IGY"GZFd)( ""?1% !%7 2ICP%B[&Cu?Bj'\s1Vv:Ls.Pv:XyBW|5\>iƒ6`~:T{;]ƒ_ƒCY{.Tu/Zz1St/U{4U|4\q-Uz1]ˆ=V;\9T|6Yw.Xw1Tx1S}:^‚4[{.[)`†5j/k‚8qŠB]‚5dG^Š:hŒCgŠ:[~4X{4W?a€.d†:g…:[€;b†<_ƒ=W~.[€/k„9e„2a3e‚>^6_‚5Wƒ<]„AZz0\n)[m-[|7[~+b€.b…>_„>j†,d7_7V~:\ƒ<^‚?]‚4[x*b„;a„8X9_„=`z(Z~AY8[x3X~5\}1\x)Z~2Lw4Sz:Ty:Tx.XY2Wx)Q€?_€4[}6Oz0V9S|2^ˆC]5j†<]…:SA^…=_„C_‚cŒBl‡9W„:[‡FX‚;[‚9a@\}.^4Rw3\ƒ3]2`}6Qz-Ns)Tw:Lu2Pv+Z~2Y~ARv8Ag-Pp*Xn%Wl(\u'Kl(Qj"Ln-Of&;d'@g$Pi,G]>]:_=X@]0Z:[ =[ ?V#=W2J7G#D$/". $=*  %) -;)-   "8/1SGdZu6a~>e†Hg„PqŽGd…A_„5f…3[}1m€1_})`€>_v1X};Pv2Y€5Uu&a~;e€>^|/Xk,`|_-AOGSGXD^?Q ;K]3L 4]1P;V6Q>_5T=Y!5Q <\0NA[DY=PAX=KBV!1PE]>[!+H=Q?Z9PA\/N5K>]!9\@Q9L7N3Q2N#H$C,M!(I%B+D1K.=,C‡žyÁËÊ!)( #/,07,)"%:@CD-6*5),(! %/; 55  *1&./.   DEEJ&TM$ ,  63HD!XS)HE!-/     +-1?$HJDD!61@A&EK*BC&=N#(49!) '."06:LZ)TX3?D"-9,@F,"( !4% 1/0(;:M)($*.,=?3HFJ%1@*=<:&"$#(,    /D,*/9%7(9:H/?4GNg.Lf2IJ BW3CL! # !9 B(A+@3G"6 /E@FXl6W^)\U$  ->,A,5JZ/$@!; A <"%5?"2  /-K#2X+3U*9T&Xn@@N 9I";S#ES,BD !  $ #17?' 2 .9)1. (=!, /7+=Q'B`+&C )#B*B$!C%0(3@$9 $,8!" +- .  "?X5G@5BFCGN'Xc2LP,JW.JS$LP ?MGY)5FXa1cq2N^.t†\Nd,\e.Mh.\rE@Z.Qd1@[-Oc4Hf?MvJIqgyR;[ƒ@P};L|8O‚>X~?Ly=Mx>X€;Uy8P…H[7U„@V…?]„CX€?Y~=Uz:V}:f~;V‚=]†?\}?W„BSv-Z€4Jy;V}3XwV{>Oz6M~FLy?Vz;X{YFPALo6Or;YyDY~ATw.S|3Ff&Tp.Zx8De.Dm/Ii-Bd+Jk17])3^(7V=U=h/=a*?a'.[@_'=\#7W":X#1`3Cp4O~>R{@_Ekƒ>S}EeA_?[y3Ws.Zw0Mn-Z~^&Fg#Di$Ii+Cc FcBf#Mm!Nh Ii)Cb"Cm+Kn.Ji&Zv-LiOk"Kg$@_%?`"<\$=XCe#Hd#Lg Qg(Ik-Ed$Nf"On1Qk#Ee)\`Rr0Gb&C`%Ii5E^#Gi%Bg#B]!>_$E`:c#=_9\"4Q A`"Ei<] Db"FW">X#Kf#Mb"Bb"3]!=a!L`C^&F`%H]"Mi.Ee#Ah*>U9N?Y>Y.O4Q".P5S 5P+L6N7U8Q*O!-KBJ$ ! /4AE"a_2MM9:A6NCJSU[(da3\Y.hP"\P WX$/99?:( >GBG*=CR/JR,PZ#jc1ro=IA%GC&& 8'!  %-.1@L(a],OU)&43+>7<8@P)GL%RMGR)\h3;>BA%/0   0& % ! DO 7? %8:=4GM#5F HOO%YQ0LS,[\&HS!JN!Xb.MX)`d0dl$M?!PN+]I%efGMI)H4MC5%  $   0# ! 16E1YH!LG/" ''K9;=8% 6 ?6D9C:ACPR.*+TB WG)D0cD'H'08&-3=S+7@@[)Se4K[.;H"6O!5O#(C'9T(,G!'B,F!)K);:.K*+B!,C0K"1J'+@;U3/P%):'?"&>"9&@!$<"@ :7/?:8&HB#8$E#B4L&.G&.E/ $9'>??C@4 <$C0+ /-7.<X5N6NG\:]$>[@T=^?NHb =b Lh$Hk4Gg#Gb H_Mf!>_ Ul$Ld#7RGZ?R B_'CU!3]!9S>V2R;JAY5U:VF_-R>SEP8J8J .:7P$6U#6U6R"6V6P#@\$:R!:P:OA^&¤}ÀÊÌ   -+!.+,1>>E02/ (!'/. %7        8,     '# $ (- ) 6;$:1#==0KE,HC$ki?e\?NI$9,6/;4,')&.;*?8??BO7BM.C:PL/$ :;:0 ve1jj5b[%c^'dX"kOyn'dMlV2_J@& xW'ol?ZV;<emIfUnnDux8~p=2->730 +&,,BH$BH %. ,%>=FLX&6+ PR04?1  F4 UK%%!56MW'ak?NW()2 -'RC!BG@2 "    BKVP!NH82>>!" )AJKL`e2\vE$?F08=H(@D$'8BG !1)>&# ! %   $   !   #        +  &>--971-   $2)%%>O!6)?=6@DZ1*J2*N#?j'Am;Nw9Xw3_{8Li,Om3Gx9Kj$Li!Kk)Bi Ef"BbF`BZ @_+Hj+Bm%Fq0Gl,B]!H`)H]#6?0I)D#A"6 )9 4;        5@ '1%//; %:&) @M=W=i"Af&Hd Qo35`2Ee*Nq3Oo&Mo,Os/Sx1]u3\}/g3Ux/T{9[€/Rt&Lk'CiWw'Vq(Jk Xq2Jj$HlFjOr%V~1dv*QpLhSj!@_PoLn"Tp[r&^~&OlWp"GePk3_"Ip'Ol!QfIf%OdJeA]?UJfLo'FeJdKg =Z He!:`!9aHfMrPr(EaAeLaLl#8^'Ef 7d$Dh%"-S=-W;K1B1! )PD$dJ&:'.#ENCLBP3G/?.9;C>8$ #+%#*2 ,)<"5;/F$3H&89N?X"6H.D,<6M$% B-  "%-AU"A](Ae(B`,Gk=Kh.Wv2Vu>\{5Lt3Qm0`z=Lj5[u5Ph)cr)Tm*\v7Sp'Rs3Oj$Pm%Il1Le On&Nj&Jj+N_SlRj!Ml&Fm,I^!Pb#Cc&Ji"De"J_HbH_O_Qb"Tg#Nd$Gc#A_@a D[HbI`Og+CU!7R.R<_%Cd%=_&AS8OL^#?d'?]#BZ@`FS>V(>P6TG^!@a%:]?\2KDUGR;R.E)95E-L-C$D/F1M 9N BJ5J6L2K!…ŸyÂÉÉ#  '*$ &'3+" & 4 ;22""(( /# 0+$*   0+        (")%)-7%5?9CJ?GB-HJ3SD*8DC#"".&.?4@NA?B6.-2>:90F;! ?2;)D?" @3XG- ' '' J%M?M9ta*t\(M. eHK( b< e?Z?xR-bEkOu`'\HOG!MDNE`]1nb.i]._X(-006$=@)DO)*! 6EB\<844A)$ #!*." " (AB' $$* !   9* 1 !!  !!?& ;1 JU'&OK 9-PGZJg_0kj7tvHIDSR7WU2RM3*$!)'-+&-9N4%+&44E%>(.1A%2-+MY; LB\G#gX-xjJ`M*G<"   :0 #* "  "8B :C%".    $  4>#  )  / "28R&?U*5E!@\'8\E3SEb-/Q!@c*Fb#Gn.=f-Cc#Bc.Fi3Lr4Im/Gi.Ee)Be,Ik&Cc$Hj*Oe&/D+B'/ 3 .B 8A 1 .>#7/F2H"1*:DPM_&Sf)@Z!@\#<[$@g)C_CfGl"Ki LrAMi+Mr1cw3Pp*Ln&\z(Wr-Wv7Hk(Il$Sk#Nh%Hc!Ad)@d"BdG_ Jf Hg'B]?b'Fa@cDi!Ik%>_F]=X.I0L/Q4YEeCaD[<^9ZRl%D`&4S=bGgHdBc!Gc@TEcBW1R1S0R8Q0^CW6Y&I/S4Z/O-L5T,C-H0C"D%G(E/H:L0K=O”©†ÁÊË *&%*  0* % #:53C?!5*$'  "   (7+2,  )  %"B6   "(*- '"DGF8=**/"(.!5:/ @A1SI6<>@4A?./+/.9,2#=$M+@.0" (-AC$/, *0,<"(.,   $   (25?#     & " !   SD)M>?+% G'0B)1; MM2P;&NG+80-1@[7B\";d5>].?_,B]*Gb#Ld,Gd(=X"4W#3R>^'6V&4O")H,B4N0J3F-C,A,@+K:O#3J"3J1K4E#? -?!@L;M2P;G6X*0L7W#-I#>M :R"F\%>Z(B\"Pl3AdCG^56M#?`'OgJh(Nh'Dc"Sc%Ee+Hq;Md-H`,Sf)C\ De)Ne Ed(I`!M\ Hg+3T"?_#Ef)A\7UKf'B_%@^"4O3MD^De(@c@^ 1K@W!AQ>O#:P 9N?P0M6R3S>M/G$J*H? E 'M$C&>>$>$='08#A-E'9$9.=9N).H'0I Œª…¿ÊÊ    ''',*&8)!@: ;! :*UO*54%!$(  & #  "B?#   %C.,    #     "('" /2!  ,*!3;>5@"A0(>BA". "//!0$I4!R2 ?45! $ 2$8#* ' &">" + D70 )!$C6+' (r^1pR$4N:R4bI$\B X=iN#L6 R=M.aJ!X&cZ2`M!XN!RGB8?;M<QC `FaBaI'-,3.!#10@C3  ! *;  '**   (*37 0$  %1\9C3J)9% 7%   C( ]L&W>S=P?"JB$=B+'1  " ',/+*7% -& (+JO)ReEWlR_^?/,;@&$-DA 35D<.&6/@1E:B6:3@99,:+3&G?:'1$% ) %&1'1$ *+'"          !*% 0)  ""!      ($"'       2257),1)F7![M,IG(B8";0&##&+         NLBORC\]:JH>BA3?60><(8.3MTG\_;LM1B9>XW;NSDQIH`MHbQ=SROS27C7J5@R@DVOGVO>SM@S\]5N,G,P5NBY)H;Q1F'H -H )D.F(<2B5N#92H3M6Y%:P1K¡ÀÊË  %&")$ 7C2:0$('9C-36!87(        +.E5!          .&"&,8% +("*#+EI+;11<6&:% /-&$.&H?+>3) #( 5 % :)" -% 13 4" ' " bL(K+.D5K1F2S8D,R92' @*F-f;N/Q<NI&h\/=6/& WH+?,\EO?'TH"A7                   #-%@4%  6?-W<I1D9.!,# $9) 7#0(_H\J#PC$UE?:/2      /     .*$=@.LS5M\;:=" ,)*CB'72+0!'.(3.?90*8(.2.*3,%,0#%#   #&1.  &$          "6/                     "!-  +8+-(;?*',%-( # %"     &6% ,<$67$$.C# #2*5>UD!7 '% )8 $47K.-9:TD                       #  "          %      "      29%$$)# -7!EB#% 1/IH,`nYbflM`r,<4 -4+0D[AD^z)BY  (/8"??#D_b:@N:GO3BP?X_;IMIUI?V`9GH?KQPdyO_eGb`GONAKRBXe.HW>OT5F^->(21=P\7LZ8DJ+HS?MYNQ5LWHHI5BH5FTEOS;LP1:6+2+9+&(&/CP%/$<422/'7C2M]`;HD;CH?ED;EF2BF<=.5C95EW.9;3E43A>)1,36 ,:4,4'/04A55*B63J6,I':S)8M!AS?V#;[#8S?W?e+=_ If"G]&Pj)Gj):^,@_(7c*6a!5Q/S"`%,P"5V#N=F; =3               &-+L( :")" @B' dW I7:# =]A8&8'C5 XBiTTERG)/)&$        !('%&4@')!9:;9#' .*-+008:<(1$-#)-/8.#%" !' " !#!             !                   &$% (             AE&&2)4!AG3!/@A">G-4H2,& "'% &+)5 B;$                        #$               -5& #<#% KW:$' 8?2EE364%FMA,:$8 ;;"SfmE[f?MP /.6H1@M3Wio9BBP[WNfyDdy-88IXHFU_H[a@LT?@P=BH;J[FQcP^a@Xl>GJELg5MX=LJ?S\?T\7ETAJQ3;GAHT4AA$*&6<3CFPEKNDQ^B>KL,?DBCG@OZ2GV6AF-<3;GJPcMS6FH=FF,%$(**(26*9$$($/"  !& 5-)?%3K+8Q'COC_#BSEV!8P5Q BP4O.C1L$P,I,J0M.M9L+H%G2M+N?O@Z&2R 1M"2JBUOe.Jh+D_CYE_(Kc$L`-Jf-Œ©ŠÀÊË # &")4-72"01(BE'MB#MB%SI0DF*'.!  (        %'   ;.)) )84.$     $3)!0-;7$]\FbT4:@/"77(&% "*# D.- 4.% J6&%$ ;) *     ;8B2;% D1*'#" 8*H<+!BM4 L8K3R;KDSH)$ "!4,>&R21#  $            " "    &#!E >% OD??8#," +*,#C?A>HBC1 L6< H2 D'PG PH#C?0)**  !        $ "   109/ "& ) 88!/2)(%1&#$+)88!" &                         (    ,*           #            "&"0F.$, %2>#/   >F2&  )E6                    "  "5             &" *5 ,  &;6C=%/+B'BW-QS=KQ?@HCQRCFH5AK1HS3ENDOI=PL,?N;@B.?G6@?4HM183@CHH]`/>D7KT:=G?DG?ML&2A&%5*!$%(/2/%C/EM0?J5<@033"03#55"34%1D.:%* )'&05  &2#"#!,- :'"1&8C7N)1D-D0M!(;":,N&4X-(?5L3N /N3V$+N(9M:J(8N%/L$1P 3K3K6K3Q#3T"A_)@b(;[*>Z)E['©ˆ¿ÊËK4&/ 3/)K. NE& F#T:ZEK* K8TF#[G- ##;) `L'O)B)                  $ , ) ?%1$ .E) E0Y?!\K$G/7%;.3(0& D9H3O>"P8Q)M@hOlJ+]*kW#B6 "                 1&!"+&*&'+!%!#%%"$")%# %                ""//(%!! !" !* !!                  ! #                     !     $  !          &. #+"! ,/:Q: :?>:1;,V]HM\HADWFPOViq_eu[aqfr|^qŒcx…[h}an|XfyKQN8*&Yc`Sc{.(#Pek]eoVbrO^t0;S)'?S\D]GHa`O]\OcuMWsSgIOfHck/:+Lcv@PdAPaT\]GRlL^zIWcEUpBTjH_pHcl>NTGYU@JWHVbAPk?OY2K^+CN.?E4Mb9IX-7K08HEHLCTg7I\2?H:HT/S=BJ.:C3;H5HV@HODGF<<@5?C6?C=DC5HD;AL:BP<"/K10K-8P1*L)1H*5N&8M1%;#.A"3E&3H+1H!CS+=Q*[`G9HO+>KFUH*1C*7B"% *4?)(#%      31+$2,2*2#K4N=?- E=F<       #  3@2<:#8B.'%)<:23!0?8"$ !& ?:ME"`CD7CC1,-5=+&:* @3>.*. #" ##,>'>:!%VF F;=5 9!J. O3P?YII<*# G7N?=1;=             *6$$(%6. 2& N5WBA, ?#C6S;P: ^^"K7 0+3) F:S?^H?*hO!C< O?\;jX._C#y\?eW2>A#$$!!                ! )-$$)*/!/&! #%0!%% %! %        #!"%$& "    ")   !"                                 ,             %) $>&$$ P_6@LAMGAX[?EFANX@We=NZ+7L4FJ6BEBKL?E>?OQ7CK6?9.AB16G6=DCOI8EG+<3@HLDB`?MN)HR?SU:HTPZd3L`3@FBCIALS=>;5EB4;?@IL@HQEP_IGMAIL:BC;HO2;46BK3@K)1C5A>;GR2??*9/'<0)8@)59,@F"/"!#&$" $!',**  !# ! !# 1"#(%#%&0)( 2C@2B7*)# /&&)%*(2-"/.,2.(%%-%%&!'#(%-( ’§ÁÈÊ'-.%8*? %31?(4?'8G&BN@IU01H"9T%Ks%Ce(H^=W2C"9M*35 $= 0&B(+ '& #    94#H/f_?;+A2?6%             %%2 &(6)?K'.'()5$,73/"/1'!3.BG2\S*h]KQI/;8(HC( ! !>A.C8!B3$\F'\T5<5 # )>+:,8(92?)?*J<N7Z>J:-'A=!XA#<'-&. B+dOS@TG 3#   ! "!!                  9,<;$=+OB&OF,B8@0eElS,oU#|b4_O,8 B+N@mV5]H!O3O?#MD%7!dF&eR,= mH+eP4&&                 %*%$9*&"!#&##)%!" ))*&" !! #'        "%&%     "&!$#   $$(! ")  # !/ !%,                                         ::1;2$24NdnFV`BLG.6&>?:/.)V_eP_ncdoWdy8BQI\gdghuQ`‚ZnŠ`pƒdr€[o€[p„Ykƒ^fwW`mYguRl~Uf}PqZi|Mav991"(,GX\Lc{IarMidBWfQ]jITkAUlNTgHUg1<;8MS=IN:Q\BViIbvMDNELe@L]ISi5P^C^iBWjGUgKRdAS]DGa8CR;Fc=NV@Tg=J]Vn9JY@GU>L`8GZ.DT7E\;AG6IUG]CM]AMeBHXJTDJR/Ib3DR7>I,AE0AQ )/.:C.;H6G_0;M+K 2#!$,67&5(4B+2G#4<‡£”¾ÈÊ.CB$,$4:G)/-E&+='.J(9N'@H1I_&DZ0OW8Ib,BP5H1G$:I.90B*--17 +!5$-%4    %'  #"*)$"                 #1-  -1 !+9)7/-9)>:07>1-+,+."$3=9#  5E8NFdL!sd8     0&               " <)Q?!xg>oS$^?mM,yU!]L f[/yf3dJS:jU+hV'PF$QH'=,Q>S@VDXJ&WJ)U;%†mIC>2$!+$                    *%!+5&#,*"$(&&&&$'(%'"*  *$#    # *.$ $(, &40)./*1%('4%*$ &%   22$'$ "%*( # %.("8E#$ "$###"'"#!*!-")  "                               '0/6/1;::@4HXZ=FA;MQ;FEYbbAC/W`b]l{Ll€_h€Ys…BRTeu~^lwex†d{‘]l}Ws€Ne|YmxZqr_myZ^d\heXfiO\i\lwZj„Obu4:)MTA_oƒQbqTbsZd|S_iPn‰GVmK]rHZhE[mHUc@O\Td{HQZHXlM_[LXSCU\?]lE_mF`nL\j>NiARgIRbASfBKPLOV@BKAKR6CTBW`@FVAO\OW_FQ_CNT?LRIIL@OWJao:KW;BCIVe>LSDPWBFM@NSENTBLOBCV>A[JYdKO_SYbU_hCf€RfƒF^hNbqGRWOPOMfmQ_lN]wK]_CXjIYqGSfCSUGRZKQRS`lGNS;Nl2AJEP`FR`?GV*AL-0C,4G,>!+;&2>&6C%7D')$,1!47'3*#,1$,"&&4&'# (:0:?(9!"+5 "+"52/:8*('+#((.!#33 (($.$*,)/, &.3;4")>%0%&!12!)**?E-:H**6‡¦Ž¿ÈÊ)3E#+3-7/I!7B5?-BO*BL(8E?^":J"B_2Sp*K_)CJ)AY=[&>P2@0F(9M5I.2 +5,:1H *""'7 "                          ,2"66.))KM";H$BG1DI0:63FE/AB7KR3JJ(?C/BB/CG)(&2.)-2(# 71)*$.%0+$LN@),$.+.())&) **GD-iXB|m:fR1ZS4ogDH@((& PC dL"3303&$ 6' T=F1TB]G$a[8'     )&H=!(                !)PV@KW?]I(e]=}lHtZ)WL%jX;xc/i]5`Z2MQ7MK1i]5;;*&(CC-]b5>?&F-mR/…j@teG$'! !!            -+ !'#+%!%)-*. *$"))$'" !#)! +$ !"#!!' '"     (%)')'#!'#%$*()(0 #!72%$'/?&.*:%76%&2!!'$#",2'(+/#&'0$',01. &12>(-       #                              ($$$ *-* 92/*BA0BVRDC:OVLDIJJH?Pjx8F?L]dZbmZl}Xnˆ\bfP^[Zkeeqx`w|Wn}MUcYdk_t~\gtbr„OciWdqWfuVd~Jg€WiOcyZ^bKO@JbeSbpNb|NcyF_pRkuPXlK]iO`lIUq?LbI_dReiO[lM`lK_qH]eJdm4J`AKUJ_s?YhG\_BSa>QcAL]ISVC\]@JY>QYA\^,;-":5!'6$&)#2!+'$.:':",,$4&'(" !(& &%'&*1*% +.$!+21%.4%%)"(*()1%#*30‚£¾ÈÇ'=Q"CQ'31$3M&:Q'8P':Y)Oh2AS"Hm-Pt.La2Mm0@a1?X3BX0Jb#1H/J GX"6M!:S,8] 0C0O5P+81<1F.A$!-:# &$'" !-"*'6 " ! #!+& !!!(#     (       %!.4"&!-2/HJ$;F%DR2J].GR>RY8R_0OI8LU0CN2>G>Xk6M_1LX)@F:Xh,88;>>0CK&36(62$7A+8/)23&,2$"++2>?"38*/+4)=0   M@'j_.GC1 "#         !  *0/+M?#XFPP<\I64&!.'&>5(1=5  0%KG.vgCpjO;C/"&&'#%%!$%   1 ##! "# +)3)**,"**,(.7'&$%+0/)0'()&&/#&)"-$#(**!'&)$&*#)& #  (*'(! %#.+ %" ",# ,;%)"&))5(/6%5A%0(&,"&*$,+.3432!%''.(/$&!* &.%))'$+&)%!    %                       +#!50A;1GNREHGJOHFOLFGFKWbPjKXjFLdYSjM[lUasWbmR[eJ_oEWhGXeP_pOdmR[kNdiIRd\epYisGRlHPQEWjKRaFY-3Q&.:0>7*16&;J'*)(9$*< /C'5&./$*-3'/0A7$, $ !#" ,   ! %   &"(&''$$,,!& …ž‹¿ÈË Bi%CY";b!E_'Ib+Jj-D\.Ig-Pv%Jj*R‚0S:T{.Ox8Pv-Mr/Lr(Lr&@c2Jv(Gl$@`%?P%G`#H`8K9W6V8V(G9S5K,I0D6S1J-A$@P7@/?6J37!-'57F-3./#0)60E*85@)1 #0 $ '! &$"!  ' ! ! ! ) $% ! .+5!1&7$@P2G":U0Ia3Qe1NY1Xg3Wr2Oe3H`;Sd5Qe.O_?M]),6) (  " *5*9+"!(##&),  !&% !"#!  '   !  $&!!%#,'#%  "!* -3&7;63;F?9@<-,&$*/)3 &"'& !# ## 0 ## # !#3  !&#.*')($)"")* *.&'*(16$)*/"11$)-)40**,1(!*+#"#!%)!*(,,!%##%!!!#+ ('(& ## !+ "-!%6$/5;'5',!-0&#*%!=E 1@!#%..5 /0!9B(0:'57@C8@)KPU8:2EUW8ABG\jC_vU_mI^aZn|Uo{Zgƒ[l}aw€YvZr€\jyUiyZi„NkƒYlQr‰Xk€Zl]ods„Vk‚chyJ`qMgwPdxW_sYfsPi{Smz[rŠSmƒEd\h‹Xnˆ@StI_IdyMa€I[oPdpLXpJaHi…MgL]zG\iSimXkxQ^Ke€Rd~Ol‹DawMfyHc}J]pJbƒLb€L`C`sId{Pj}GfwI`jHWfM`rH^vFUdSayR[lC^sMarSehK`lDWrL]}J_sLauIc~G\rHcrLh}LddP`tL]kJ_pJ_rDZuF\eLXc]_d?Nd=La>MW?NbDNW:IX@Q[0AD,AN/6<(3= 0E"6 ',#-!$$!3>% 2 !#      "  '    #& )     ) #-*&¡¼ÈÊ-Bb)H`#C]&8V#Ep"Jx1Sq.R|0Eo2Os.Ux2Y„/Wx-I-R*Jx*Ko3Ry3Ps)Os0Qq5Rw(Ik$K`(Cf#F_$Cb9W4R";P 7M0P2Q1I8J3K2F3I6J4K6K0@(@+C*C-5(D0@2E&47!4%& "2!/!.(5 5"-!  ( +:#3 6 $7 )- //H&.$45C.9 <'?Q,9"9M'K[&>[.FT6L]/Ke-NdH\r5Pm3Kd#- 6B3@,/,2&()*"8-5"3'@,"+ + !% $                    /)$(8:*(&0;:;A/GSNBIIKZ]NMcPeuJ_\L_lN_lYeoYs]k€WjzZ\uYm€\enZh|Vh{_y†[n‹]fŽUf‚NayWlƒRtŠ`u‰Wfy\d{Wk…Pl{Sh„PcuMby]i{Mi€O]sO`pLXpI]rH]sIbxIhLi|NgUe~NadFYhCMhF_rGWp9HbHZdB`CZjMa|ASnAXvHcwCgxA^sM^iK]nP_vI`vIfwCXmCYa@Rq;M^8Qa1Mc5FS=D]?FT6Sf@\i$6F 659@")+"  *     "              * &.!/  ","!-#%ƒ¤¼ÈÉ,Cd.BU-Iu*Hk.E]&Fq(Hp3Sq*R„6Rx.Mt+Qz9Z}5P(Lw)Mq'Qu-Vp(Mr1Hp8Ko1Db2Ov$Io%Fp@h>b$Bh(&4'1)A#%!07 ?V";M G=["+K$;R(Jt*@[/Tw6L[4Qj3Os/WrBXrBaDYqJl’Riˆ?SoG]uC\o9Ol@^q8[v?ZoU/@W-Hb+J^7Pd#@J)=.C$=-&0+ # %)(;!2#5$+#$!)%1%-# ! 0 '  * $ #0)2-&! # 4(!&#$ ' ' # %$,!+, $ , !$ -2 & ()!3'!,:$'!,@6+05'"'5&;+9()"23+- %( "$4 !3*.*1 -1$2" /0.%./-''$*""-:!&" ,.:=8;$&&/8?.;C07$)>@&7<.>C(65.:6)1/",1$&.0#14'%$51&19% )+&,3.)&$#"')"% $. &%(&)48)8)!,.#,.A&- -4&*< 22":H!6: '/%54,C-F4B(3B06+;6M(. 3I-C)*,&++A 1A'2&)%3)6(: (+41>.5+1$ ) 1$ !  # $                    '29;<)+((DIG8<:J`BN_=IXE[e5FYR0?A$7J1DR2>Q0AR*O[+Mp>`~+*1: 7B2=03&1%. $&/ #.(6,>'9 '*< %"2-"*$5-5*1(7"0*(,,'-',$*.*6+86(4B2BF(;=&;?*'%-2<%94$R7?8C%>-K,H*?):,@-E&2+@1B)?+>"'&;1:$-)6!("%)2!(#&/) (!     ' $                           !-&%-&'-)74-=CEJ]3?R=Md4L]BOg:LZ4AO,FV0KT-@P!7M2@H.CM,BO$DR#1F.C/:">;!?M#.2!%.!&-(+56)5/"2*6!,= +;#"'.9"$' $ &-$,@!*8 )7 "'4%/ +" !                               "    ‹¿ÇÊ5Krb-Kn(D`.Tm:Rq9M|6Uv>Y€>\=Z‡AeŠ;\€=Sr>d‹7\‰FeŠ<[ŒEeD]o?a…?e‡C\>X„;O„CLm4Xw5W|6Li1K_0Bf(Mv/Ln0Mi7Ro&AZ*Fe%@\)CR3G0="(%7(#2%4 "'(%&* ))& )'!)' - +  . +/(7))(-#"#- ' +; %%3$   !*&#$#)!,%+$%;(6+B#+",#7$/ #. %':%1( +)".4&0>1D";L#;E&0<,).00?!.C-6-#1+9+>(/$.,8!.""(2(:$+$ *#3'-!&)7,, ,$*/2!02'0/(//+;>&;B*7='/H*?M$,3,+.,5-,/0(;E(19$13'JeANWBI^B\p7IY5HU>?Q+@V1G^'IXDJ\0BS*@N3DKZ!Ld6\>V@b6F1H7ZAX6PS3W#;W8MBg=PImA\$Cb+F_"?_.Oo*Ei%On#Mp0Rg1Ss4Zy5Rx1Vt9[w?eŠ>b‡,Yz<_†B^†9b‡Cgƒ@_B`y?WuG`}?e3Xp=]„:Rd5Yu2Sy)Wr*L]2Uv2Xr3Ok*Os.Pj9Td/Wq(C]!D[I&5>8I#:E-:M&8J!2C(5-G-;$3H#30?.6'9>3D3D*6"-@06&((+#/'+ !1$/ -?'&*#"$('5#/!- "*&/"& $#  "     +      &                                      zŸŠ¼ÈÉ=[€/Hv:No:Ty.Nz6Wˆ=T~3]y:Z€;R9U;P}.R‹8_1Z-\‹9U€-I3O6Ry,^/Ou)Or$Gx'Hf$Lj.Ek.Gl)Dq?\#Fm$Do"=\(=W"7iAk Ac Ah 9c&Dk!Cb:N?X6X4W%?Z!>[$<^%A^#;T!=N#?]Hl 3U1S";\%BZ!?Y#B]#S{;Ou4]6W€;bŒ?_…Bb‡@^…;Z„?d‰?d†HWrDeƒEb…Cb…?X‚CVy0Xx.Kl1Px>Sr0Px4W…-My2Ca)Ot0Ig,Hc'Gn'Cc,Hk4G^)=Y!;N'E'A!= 1'6 -%*#. %3 * (. / , 8; !!*$3!&,8* 1 ,&* -)4&/)/+%$!#"*$&&:"2% (&,/%) #)6,("  '% "/ &-/)>*+"0) %#),%'<7F$("/(-/&3.=&+!)1!*<%2!2)0/>!,$-$#$ % !  !$-!!+$3+ ) ()0&/(&#!)'(,&-1$0;&9@.;B3<4)74$A=#(+3?B),,%66!+3 +#' %"($!#'#%$ !&$($)%!!#(!-%6': *")'1$ "'&#0 .3&2#( + * ' #     )%               ".88,:='7H+8G-5$8C->.L$1$-3(<%5.A.7):*0%<0-#/+!/&,&1 #* !*!',!)%#!    +   '   !  '           ")              |¡¿ÈÉ=To6Pp-Px.Op2Po;Pƒ1Fy:Zv=X~3Xv4^za?`<`AR!>P%Ei;Y*Em/Em"Js0Ik.Rz)Gn-U€0Rt>`|X{1Mv?Mp0Uw7Vx2X~+Su(Mi9]|&Hl.Gd#Gb.Ih&Ba2J CV-?'-$=( ,"4/ !.%) ! ." "#!+ &  "+"!*>##()&- !#*-*$8&1 ! !* ##"$,"% "$!# "#%!' "%6 "(%6(<#)''#!+:)."9$:5(:!1;'0(+)##$ -#-#)& '"*'##%-'2'.  "&#'&"#-!!-6!!*,"36#3!(($,!) #)&)00-,5<63.,'2%01'%#'!(*!&#(2% ",%% "!"##!!! !!$ $         #                                            &'&0#/!7?%+.!+9#)/$.5:?W&K,Y 9UAT-P#Aj!8]#?b6XDZ!];U!C`2\cA^?dDhDn:`9iAj!Ir+K*Ms)Ny*U….U‡7Y*Q†6`Œ1Y€1`?`ŠBd‰6R€Fa‰4^”=fŽ;`x+Us4S€;X}=Rx7Ox3WŒ)Pu,Vv(Y|4\vIw3W~'Gm2Di1Mk'Ll%; 2 #8$+    % '4, '  ! , $   #"( $0 %'2') 0+ .  & '$2)#( ','"#- %0,  # 2%   ' && ! $,.< 0A#1;&1!%*07-4$2#+!,%0+!'&#* '$ $ +!'"(+3&( #&+(+ #&#(#,+&1>'$"9:,1&$( $,!!2=$# # ""! )""*/       !    $           "                 '"/(3'9 *#2!''; ."(#1,5 #0-&"2", * !< #+(0.%#$ !   "+)  #      "                y–ƒ½ÆÈ@aŠ._†4S~4P8XŠ5M{8Ou4Rv7S€3V€2R|9W€h%Cc:T@g A^Af ?U 8X:\7Z%E^;[;W?\%>_$Cf(6X">k!@R)Ed U Fb@f!BU B]4L=Y 6Z 9W>^#<\;[7V;SGe>_&Do*Fn#Ad!Bg)Gj&Kj@dIm,Py%Fm+P‚,Ko6Z5[6Vx/X}1L{3YB\…=d„7b‚@aw;X„BY†@aŽBfŽ?dŠ8Ry@`-Pv+Rt(Lj/Vt3Qo0O{,Mw*T+Py0X…#Db-Hh*Cd$>U$B`Bh 9M(7-C&3+!5"1 %"$ '  %  !       & & (##%&""'$+'%   &  !'    " . # *  %& (&'&' -5#0@ *@'+",:*7$))'5#!&&! % !'      ( &)!#!$ #%"$%$#%$%$"%$%!!$%#                 !   )         (   "                %)+3 ( . %%#+'5* " - $                     Œ¼ÇÊ7L„1Rƒ:W}.Nu4T}4Ps8P~,W{,VB_‹7Y„:NAV„7Z9d1W-\3Pz2Ev1W0Ku3U{,Mr+Rt*Hs)Mp-Jp%Ad-C_.D^$Em$HgHj@]":[!?_:Z=]">i?bA]"c!?n$>\+e%TBg"=X#?S5R5W&BR"d#Df%Ds%;Y7c`\…[Cf"9R#9K.T!1 8'!$         #                                 "     ## %(      "     $% !#!$#''( "%                                ˆ¢•½ÆÉ5Qy8X|A\€8X}4W2W|5bƒ9W„/R‡/S}3`+b‹4c7U€1S}1X€,P„&Mr0Qz4Wv3Ss*Mp.Or/Nv&Jm!Dh-Qk)Kc Cf%Fk'Dg'HmEi&Ic Fm?j@WFf"BV @b!<[&FZ >a3SCi"Cp%Hm$Jb&?b&F\=\ CmAb%Fk?P#Eb&F[9OBd>V=Y]=b7W?W9eZ#AW.F&)"                                                  !                                                      „£½ÈÈ0Zƒ.Xu:Ut)b‚0Rˆ/Uy1V†0T,U/R;^‹'Sƒ.U…4`Š1X~5Y‡1WŠ1Sƒ+M‚1V„0Rz)Su,Uv0Tv(Hp.Mo$Eg+Gp :j Fr'Lp!Gi$C^"Cg!Aa:X;fCiEkI`FpHr>e#=a$@e ;X7S$Ch5]$Cg>d5g@e$Hj Bi:`7[CcBhEi;[;U7c>L9Y?f?\gDmClBl;[?d.Lm%Lx*Hz+Rx/[ˆ,U‰(N~7[ƒ5aŒ3[‚;\q7]…7]ƒ9_†)R€5Rƒ+[‚/Sx6Lq3Lr,Ku(Pv'Sz$Ly$JxDf$BY'Nu#Bd"DhBkHsAiFk@S7M+B%?(7#,#                                  &                                         …¦“¼ÅÊASv6V…0Lx0Ty5Zu-Pz0M}3Yz.Ls8S<\‚+Kv;[ƒ:X{)Nv3^3U‚3X|4Qx0T2Nz6Py4Mw,K}'Jo)Ei-Im,Il"Kj+Hr)Ho;f Am&3]$Dg%D_"=^&a"@b;c'Em!A^=Z?_;W";[3P2P;[$=b:e1N;R!7Q@\)Be$6S1]<`>\6TBf=f#?c)R;\5V3Z9Z/VZB`:ZBc?`bBg Fl;g6X!>c?U;X6[j4Yh?g!Ku Cp.Hr'Ms&Kt P|%Np'T~*R~0Yˆ2W5X‚+Nz(P})X…(Rp/W)Y„-Ox/Qv#Ir$L)P‚&WyEl=aC_"?W\ :T&2W X3\6Z7c:gBg%Bd6V1]7^>a>eX1S5R,R/SFU.M*P5P3[1T :b0Y.H5V -J0Y=b6T:U6X1R0Q7] (O.R6W8SAd>]%Dd"6]Dm&Dp)L€"Eo(R€(Hr-Pp7S{&Dw'Ov-O‚%O‚'W(Tt!Gi-R~+N‰3S~&Ju&Gp$Ex"Dn(@f Cm&Cu!@]>VBd @]<[;_@W5T4P7N'E -@ "8!                          1- $/::#)0"# % #!%    #.                                      ˆ¢”¼ÅÇ9_.Pj*P9St-R})P},Jo0Uv*P„3Ju9Z€8Uƒ3U‰*P„9Z‡-Nu)R~.Uv1Qp-Mx#F}(Ks.Ju,Tu+Lo(NnEk>j$De"D_!=e7X"Cm@h6U6Y7X2Q1Z0N2O6W0P6[5U9X:X7\2N2S4L3L;Q*Ol&It)I}'Ny+Nr-_‰.Mm3\ƒ9Qx+Gv2K‚)Qm)Gt2S-Ww#Ki"Fc1Ih+=_?j:_ @eB^;R6Q/S7S9Me$AY Fj'An!Fr)Mu'Gh&Lm-Pu(Gi.Ws2Ry2Mm$Kx'Ps.Or$Bp%?].Im&Ko)Eb$A`'DfJqAb@X@:`?m!:N';_/H<[ S&Jb$Il7A   #        $$&      !          ! $                   +#!!#,!!'%1:     (77!%$ %    !     '                                         «œ½ÆÈ)Oo&Gd(Lr1E]-6]1N|.U0Y„1Y‚7^„-Pw4Wx7Q.W„.Uv(He)Nu)Or)Jr%Iw-Fl!7R.O!?_">V4O:U:Q;J3A,E2O): $>&D+E2K):+;8%<)D4L-W;X 9I?K!7C.J'H-@9+F3K+E+@.D4I(9 &@;U*D 3M)< "*%: 8 A.H )K.M(D,P)Q/Q3[3U5X5aBeCm Bb&Ko'Ho$Im&Jd#Li"Hd-Qw3On+Wv*Ic)Lj&Tq'Nr,Mk,Hg(:Y'G\&Eb$?W#@g%:N;\1S*P8O!;O7L7HWHeCY 8R%         )'!!0'.(*&"   %         -%"!%   '! '  %.(%      $    &&"$).$".67#*(   "#,1-6!)-    $                            •«ž½ÇÇ Cm'Lv-Pp%Ci*Mi'Ij*Nw7Pt/Lu4R~;R„D€%V‰0]z)O}/Jt4Gs,C_(Jo+M`Ci'Di'A[AW$>N$3Z;`/U #= (L.W &H*J(N!I'H (K1c0P,D8I*A)G0M ";8-L&B2B'B2BE*? (J)M"G)8 %>'? @&? !B E!+ (B $:5!E!D+W !E%O5Y)C 4J6>4Z<^:b6U#:b<\$>Y8T#?i$ClDf%Ls)MqE_Ji&JiGn#CZ!?_?j<`>h:\=`0T.T*F,G %C,@+T'B2N,K'C)K&        "                   '#' "        !#*/!"(  08 ##  #         !   &   #!     !    !" !   #          .> !                                  ª¾ÅÇ,HX&CW,@X'?\$:\/;Z'Bk.Rw3Ou3Vw4Ty/V1O|0Su-Lp$Fg>hT%1<:X~B_ƒBY{A^‚H^wC_€F`{@a )7F?]u@\y@b~!      ",*#%"%* &         !,4:!$$)%$!  $     "     #    "-"   !    "                                   ¨œ¾ÅÉ&:W7Y8X1O8X$5_Al:hEmFs#Gr#Lz Ix!@l#Bp! G H ;>>2 A =)7E+ &8?/2. ?54 ?458+#/, !2 ; !282 +, $,/+$!  " (1;3 / #06+32;CB6!;"GB@J B6+4 , 5"@          &        ;_{=^{+No%Sz1Wr,[s'Qx5\w&Me'2>[{9Wz:]tBcz>aFcw=bz:Z{ '7AayFfŠF]z *         *!  !!&% &     "%#./   ##    #%          (    "  . "$    &/                                           Žª£»ÇÊ*4O 0U1P.S :S:j'F)Q7^#@s#3i @r##B = ; 1&(: 0 6 + :2))5* / % * !    !    "%  % %/  % )+  $           %' ) %%.%,#,,3&,        "!+"**,*%1,)    "%(  "-HR=@!O'E_'AR/1Sh^ GnCl>_ BZ@_8h3] &M !>#9 '>5#*                            !#),! )$(/ / -*!+$-## ' %            *'$/:2 !        G1B$3 !      "! &%"#&  *,C7$RG;NK@/"&!#                                                                  ¬ ¼ÅÉ#/G+H"0R.Q!H 5Q7T*M7\!7N,P%@p#9b%D 5'3)      $* '!+" $3 #              !    !'+)3.'                  # *" 40<3(#     (( "*"%(O=03$+-+$.!'(%$  #                                     $     '                 —ª¢¼ÄÉ 1, "0+ "@"? )@(@)G"<6.#            )          &*/$-0%6&              !        ,))CI8.9&;3%@<(+-'$*#"!                   "%                                   ’®¦¼ÆÉ"      " "  $    !1!,/  ))     # )# )#    !       $ $'      $# & ,0&$6-/)#     $??:($"   !'$"% %         4%='D>*?.# !     $!              "                              ¬¥¼ÆÊ  +2   &               "!    )+ "&!$ !!'<>;     ',%,=.*+)&-0)6;-9+         "               "2 F6#@?1DB:TF4H@'7'?A.34.(0::8/06/32:9ECH(;?@A=                            (. *-(B@2;)MIINJ=R=)C6:?/$G-/((                                           œ°ª¼ÇÈ    &      #      #"  "(!%#4&"" !"   "& ..,*)"$(%()%?@+;?/=.$>C5>>2bZ]RG3   "&7;!$#                 66-J?)HB0]D>\E1UC+YRQWH:B>2,!!                                   š°§»ÇÈ                       ,-!#88/%0(!"!(#*!   #$# .:%,&"3.A3(2-")*')%6@?-.*h]L~vj&!   %B/C*1!& ( #-*7                     %5(A5,Q<+G?LG:XH,^R?neSbUGKC99/,                                ž±©¾ÅÆ"                 !%$&)#)#!+(#)"*'"  & -*!!+,!25+3?-;8"9:.,(!*'$:2-<@:jP<…wY&#       ! &A(G-!>&@>=                        '!4"6"B+OI;EF3\O-'@F>B>954.-!     # ( "!!)%($8:+B(!C::EBB% "    ;7=*!$                       *  5*&:6/G8'VB:RF9H/"XO=I;4[S?m\OW@<                 Ÿ¯©¼ÄÉ0D)B%C%O))Q&+W05`54_31V4Bg8/Y. ) $ &&.8    "- % -  ! # - % " *AA                    AB.D8,#&!&#=70!#     !.!  ++)"&*"#!" --+6:,((# )$  #%'8:386,3*"8)90%6/ 9/<7!B>/VKR™™—WM??."0,4?.-7%;;..()'43&0!<8%*,559:'83$D=)HF5=:(CH,&..(-3""9/!C@+J5RG0;: +7>E5'@/ -&!*(=2%96%?=&16$)" 2*$ #%,,*!.+       # $#                  &.+/7&9=6KH+TW<[N9gZCYM;vfOl`Tk^MYXO      ™°«ºÆÉ  %8 8"#K& :#  5!   %*"> -C&4\+?d8Da,:e6=0;(.*2,%%"$ !"'%)'CA4/-#-*0*?/>1#H?&F8 ?GBLLG•†oPP?2.'./&5$ :% 4#"  30  '#B/1&"<&$D4:-'  #0$&0+*%9%&//5 75 2*5,!30 :-/,%81&0$ "!  $       %"                     " &']O9n`XdXXV:4bLAg[KvtYobTf]SO>5     ˜­¤¼ÅÆ  *+ " +' '' &?3I!7d;Be;El:Ck8?l9Q);E.3                    02!:;);2!$! #)0/,)&#*!## %" ("+#  - .+# +!  '   +%! $>1%<="=/C>*B7*7.#?F.@?'A@.C?4œKLE81$0%23&-*.<6$A@1E8$7&. %   *%B2;'?0"A:'@1$D;/CG/38)+)9;"3(,.&;-C-4)=0*87*(0?;&G;% ("+           $ +(                     %&<,#_PBSN>SB5]OOhXKUFo^MkeY    œ³ª½ÆÊ   #''   3S$:U//[1Ch0=g4Cg0Ab)7]-0^25d/3a59b&F !)/   /#K?+:.7BJ"BU*  %()        /!61)B>)!#$ #  $ $   .&6+&!  (!+,% +$ 91:-@82'8#")    +*K>&&8%/6:A;9.:;3G@4B/+„GC7-0!), 4<'-,1/#' & )#XL8VSA[VAnaE‚qW`QN        #)(-¥´°¼ÄÇ#1#$        % -HB\/9d26a3@`+@h6>a3=d-3Z$3[37^3(B!&;#$ %/!  #(0KX48N.$ HW5 3F)"1<&9J,   #     (9*1%8' % %.)!& #     %$!  % ( ' !1+ C<-.':5$08%.(;1"%& 4% #*!/*4?3&#&&2@&.+9=)32)@E=]WBZZZIIH*34<1*AB255"7(-$2"3#<3-"$!!%%0$&;&C?(B."8#B6H:"A9:/&C3$8:$)*I:!2, ;*7: C8 :/H=.P?/A9(:F6.# %*            )              #%#*!NY_-4+MD5XXLSQN:$D*|s\oZcdY      "%B#A!  J/ mYJ)     0.            ²®»ÅÈ "+ +9   %&440;7Q(Dc8Dl/?e49d.?c-Eg1=b,@f-AZ&7R#8X%!? <+ " 04GD   (1+ 8, 5/LW7   "'$#%       "% 17-81,8/#HTG_f[P]V8.% ! "  GD5 $*#  +! 9#<->774;9&*+3++%%.<;602#  +;+::=:&&,>1)"!+!-(%/-=AL`>SP,1!66>@B@9,3(!9+1(/ ;1,5<8   8<&3,?71/A;$?;)B=+8.:17*7+>2#A@1FG'@."I@,<6?/NC&F:$>.$KE2@70-#    %!        " ! ! ) $  +               6'CA*A55*H$D4P7}rXo`RuV4~gWY=vQŒe…u_W[@      !       B@VK*B.:8 #           $@T!#$"'!  *-*:>ijdMT;2L-C2: 1   ZYNET O0cG9  K\4…’¢§ª´§©¸ª§¨NB.;I7C?L=G=J"1;4I9N%=P!;Q 7L9T!CQ$2!&#    00.HTo  *63 '!  ž³¯¼ÆÆ /F0 +     ,39ALH+Qf:Ki1@d7Gj5Cf<=o+GF>Ydp"&-cjlDB;.$"+ #, * Xag :"8$;&-'-*$,6%<9)?1%>5 *+ &':&*.>;5;??  4@1#!  GLVXD:585=/ ?379(5'!2)>=/;=? BAC&'*FPCF<3`gXh^GoogmyvN]XYcaHTV:G@Jsy>!%20BL[-9O$  *%!      =="DG7L]gKcg?8)1 1 '  >5)AH;EVQ()DQB9?.&&1 %%-2$:* 4-F9%<;)!%/'/.!/,!+EB%:GF&  SFHe`O --)DKAJJ@?B8@:,LB2DK:0BF   6ID6<$-0:1'>6*7;*:8'D6B8@>';:"-)2.;2;-#>.=>%>&9:$+'GC#QU?B@+,#    " "          !(#                           "'&+ !     A>'c\ColR}v\'!  &*.&  y\š•Š–’|‘ƒmd\@12"'&*1B;F!f.Gk+Eo6Cr4Kn6Em5Nm8Lm3Je(Lm1Ks>Jp7Mo0Fm6>g;Rl=@f-?^'*Q$>                ¡³°ºÅÆ  '-&C6IF# ' (.=.D;!H(K*R3T$7^1Df6Ac2Jh;Dl8Be-3G(<    )<#   # *2/B(**455>A5QX)Sg0    !*#)        "@9&QUMBOQOIA@>$' 1$-/%! ( )!MXT:3'8$;.<.B<,;7%:1!D?+=8&>8*;:,@89."B0"?< ?#D*dO3Q?J?*IB3=,-!,!?2)-#8%)     ((%"   "                    "           '    -+GQBlr[kkY + ' /#   †{K‘~^˜‡o™‘z¢šbP9'% 9D#ER'Ln>Jm7Cm.PuQ#?D%8Q(!%2P*3P %J #C#H"I$)O"0M'[zlIP5# -AJY:&<-'"<"9='?<:#>"G"'O#0X%3Z)?].:a0:Y :_,?d1@b8Bg1Bg/No=Ff'Ij0Pg+Fe6Gh.MpBAj.Gi,Ba#AW'        ²¯¹ÄÇ    '    )."2,DD#&- # )5#I#IFGA%M#0T(9_,4^*B\!.D'  *: !      %*(8#  ?R:(+, []4*> DM/;M)Rg8Ei-     $-$ &          % A:!HG?>HOIUGBA/ *&.*-"'! #6,Q_j$AB-80$@?(72!9)1*&#''2+)$ :&))0=39?1   8GC  CFH}xp *42ML=D@0LD3GK=AA:@D:;HN @B$ ' )  -('ykD“‡d•†iœ±¬«(.85N1:`17a':^*']5=h;1d:?e6:iA@n;Cs;Lt;Ju>Hk5Nf0Nc;Kt7Ap=Bb+CY%?P 9P%6T%;U(4U(+M$#Q%*^+)Y/'N*(Q)K>+7K"*S/*R-=Y*7Z 8^%.W"&O.Q,(4+G!5T)5[';W"9W#0J!&+  (6$:! NF"CI!JP+[l8--27HP&O]/Ig;5d3  %($,*        <2C8#APNNW^00* *$;3-!*#0 =C>M_l)331(4&0$/"/&.(87!'/%(9>+(#/.+,&)%-*(-=<%BEG  B7Cx…|&11GWI<@*A;6JRI1>=   ,B?;II5?1-*&0,00"2+!,1%@7%87";)<0<0B5'„yP„c8xaBlY:fU;[H.A?'9'=2$*-65 !  $%)!% "             #                    !            *&    &99   5lV?’|]›f¥›ª­¤/! -?^32^2=\+&7F N8(Q+)^,,Z/K)G#E&?5 '   "-1=!8 /4>C D: DD <"B&G(J&Q(%W,\*&]:-Z&-U((S,+V".W'.T*-X,5^17])7Y .T%7P%'H&6 , *77@?<+            ¢µ±»ÅÈ  !    "%   ,+# %:   # 28 :,"    *'$/ RPD>BI(5?@Oa8hsIMh.Qs=Ec,    #,#)  *(     !(#@N=E>- ) $ 0! % 273(R`W (+;HA7/0)2/3)111&9)80($+."%#)#+,3B; ?LH ;*/ˆŒ.'&GC7<4#G09;0@@?BG<@B5 HH!O!$X4/U),H!)H"!>. $        ! +<ACL(E $J#I!2R#+L!$B!<&+    £µ°¼ÄÅ  '$" ->          " $ (1    .0(    ) ' :C&LP%&&23JK"No>Ia.Hd/Kn3Cj3     %"   $      9#=2@;':6(BPILC*I>&3#+.  !**#NZ_&63 2%1'1*96%84#?8"A:>-!%06;  #$ACG  $ &%>@:$8-4HHBœ£§FFC:ML*33BKHEIFNK9BC:>@3B?,BD;6?;#"%*6 EI<@1#-(!')#/10 &%#:/=(.%IE64 B,xfJywWŠ€_‹‹xeI5phQzdM]CVL,:3!-+-,! B3(3!% +'   "     $                                  "    $"  "   " 0-)      $ ]O?      %n_=¤i yŸŒx¥£EA%#11@(:07F#<&2 !      # /F!%U*/^+2Y'=a.=_1:X-.Q'-@ 8 3                   £µ³¼ÆÊ   !   '*6:%':.$          #+;$ //:?=8HB-'J=^_5KD RT.Pf>Af7Gg1B^1Om?D_6             #>*B4,'@&G:1S:"32)   .&BA?",##1#%!@)@+2%9%$?" %7& !65= "  KLN"%1-3‹—,)*/BIFB<5FC0GD=C90KIG>%GC%;#(( ( " +IQE=1!(#64 &(/&' .& )%# - %*#* ;FG CPI#' 3.>Š‘—##(.)KXFHG0J>*9.7-CC;BLL :>D?:%4**"  ""*"7!4+B<$.8 2*A0hO1va2tH1t^=l\4}a@zmCne6|td}kCj]EN?&A5+)?A1=:'!<)SA*92     "                   (  &#"!$&&$   $ !.!    )$aN2P0# # BH9 -/ 7&~fCeŸŽi¬œy©¤–/%2:     &=J'#M!(O&4O&&A$    ,C G& H)H#%V) F2X,%O*%G%=/        ¥¶µ¼ÅÉ "            '  !)  #'&         BL11?   %..  CC%I\5 4(AB&*$3$3)@8)D7$+  '    JO66%EJ2A8$<*">FDCKS."1$<+ GJ4…†€’’x{]BW:€`K{W9zeJlT/‚€nfaG\L7fE1v]B^JES@;FA83$:3(L<0'     -,(4.$"                             " # #!/    .",($+'$    #&           "&  f]A~rjŽh†n5$ ) &*,9$!Œw^¢‡ª¢©¤•ªvG1'7 3D%F%B&%E%/"     # 89; C#:C&J"L%G#==. '          §·µ»ÄÈ  /&5'        $'    &%7&2+17    '*%+.:$3 ",  ??;:%1. !( KN%M\(+A>Q(0I)(;3!A&3F'>* % "1 #- + "&            (H3#<:$:;OL,A;;:% !   .0 '*-$   5.1(/$ (%' #  " 73 5C?!" !$›¢/*'XWI@4%?9'A5>=,BD<:B3 *B@9*70*!+#' #(" *"9/7).).&I5ŠtRˆvC|^1_0nT.v^1wiA€~fcP?uePYK2dT,_W>{w\bcK]G+:&D280   " $'       ! -'(               ' "+%     +& / $  !  #     &    ngC–Œzž“|™–‚6%   5(<) & Œ„_¨‚¤‘iª›}¬©EC-' ! ,=EA&H!5   6>:H K!AA> : 5"=?) %  ¥¶µ¼ÄÊ     !( ?58B"81('ID' +$ /4&8! *" #,&*:! '$5K(*;!;-     !           99*83!>6'=1$D;.(,D6 |e2~h<†f1uX.yb@~mPlH[bT\R;LA+O?+aK=nZE‡€t_iUhbNaVHUK/N=     +&2*!5(<-!       &)'                   .  #          (%    $    +*$  DA&e\9x{\‡c- " & 0( &* xJ¤›}¤’}¥—v¦ŸD1  #=!9 A*$E$ #  -@4 <3A :B* 6 * $2*     §·´»ÆÈ     #    -52:+0/5(<    !'&-@Q1  2:$ ! )'*2: '83        #            =,!>3!5:+80%O9/)      ""   !) :&"  0"-/&ALP&™¡£ %$#PF?B>C753#=("/+&) 81*;&,#/+"@%( :.RJ&yvMxe:g^=l]=}gueFvmMQC'\V;\ZFVZUx`Kj_OJJDC:(90 47$ULApaK!   '%                                             )6/%"30$      - '   $         ("&    1&.! $  .5)%#" Œ„r¨¡•ª¡“ª¦Ÿ°«š8<$   . 7=%,                §¶´¼ÅÈ  FF       #/GN&   ! $&    "1  %   "   #7     *   % "%           12<38*!CA/HNC     &$ 99,1)#""+5.?OD<8*B>)8;371."%.3,KF::;;-81&02&18= #!,#2)"7/=>15@1,',."&47)!#    %-#!.)  % ##2)3:*5*0&<'=&9 ( eG,IA#:&C93h7‚I#f="I.Z4R%l9#ƒlS$"                     '#(      *&! *(#  "     #)%   . G/! -"=?)% ˆn=­¤š¯¥–©„¨¤•16$   $ E9,         §·¶»ÅÈ "!$   )6 %          %*'&##     ,,#'            ))<75.C@+56 !! ++3'3")+! $    0)!%    !!$&"% 2/6C>C*2)O?5ŠŒŽG1!' #(' ;3!DD;-' %F?0<3>6 4488"6+?3":7,:/"   *'++:?11(;6#^YL]^D`bY`f[wx˜™‰lžœ™’Œ‚—–ˆ†‚…z]–—†ncK„oNsiM~{mƒ~`feGvpL{{hxzuŒ{œ†n6""     &  7.*#6)-*   )#                                    !       *      A&hL$   A++!' #%”Šf¦œˆ®£Š®žy¨€:7#       &          ¦¸´¼ÆÆ  ,3( 2.  % (:.  !  *,   #> %  +)-3&   "7(AOIFMJ=HB(.!)$ 66(.9*1+ 15,"'$ -&(#%*!'"/'*(""!!#!)(%"20*>@9>A6DF5980>KF@HL=?DGMBV[S’’‘`\SM]R?I?DE;JE:88(HD7@=/:42?9%?F1FJCF<&K='F:+B:%FB/:9$300"$$%/&*- " - (%.. 3/$A: C<'92&01 BC?‰‡rlXA‘€Q…v>lF|^Aj[:_[8\A"vfPywMeaDKE2NF(g^;neNqhUveM¯¡Ž^96$  # # ' #+75 ..                              #'            =:4!@@)). " $;:,  ##0 }pIŒhŸnªš†¬¥‡21+    %      ¨µ¶¹ÅÆ      4># ..* :.31 3:-& ,+@E @5OG!..119C 5/97$                           97<8".'%5)"  <2$0(.)0&% $ 1#",% +&- " & #'$  $ %)#"0) -%0%$3&)%&1-#;:&:/1&9.,8+!;1-EH8?A+02-" / 0"0 =,I2!…}\n]>x^?cDrF‘ƒ[q`?iS4vX?uV/y[6rU/OD(k^LTF?bR>RD,q`H²¥‘ˆ`;]R6$ ##+' ' )' # -    %    ! "                   '$+$   !  !       `F-A5* ! 4724  5!)ƒd>¦–z¦˜p­™x­©™;8(!                ¨··½ÄÉ  !   #.#203 #    +#   ,7-6*,03*? : 5. ->)@ *%4            ;4 ,)88!2118(1* 95()' 82$%+!#&%%"* #),.)66)5&$(&&)' $ !# '  &* !($,#%/-*<6*:2?9'(")$ DA1&)D:4ŽŒ–jsmJND.:&-2&22388.-%3,:9 )3(    47%$ '  :051?/udEu`BiX/u\2}\3yf4o]4tcFlaIrlCqjIk`Ajd=NG;CG5<;8G@6;10-)"( FD>qxi_e]QRNXJGWYXOOEJ>.<*=/KM=NK8GE6TH;\\XXahQX]T_TDRSS]hNbdN\g'/"&$7/ " - -+3,'$,%*%'IE,Œ€[~xd}eGubIudHoL+}eK€fF‡jQlS7qY=eP/|eBrQ-s_B\IAcWEwgR¶°¥‚V-y^C05)-!! - + 9"%%0 (    !                           0)   % (  # 0&  %9$& +(. +-## , "  !    1'% (! 7"      ni[‰|‹†|•ˆ~7("! ) *&'# K:#    =<+F=.I=9GB*‚yHFK>          «¹¹»ÄÈ  ' 1 +!  &3$2 !    #4&-&0 A655-+  ! %1(                '1):$) $3-+#%#!+%&+#6/01&$") */,<- $'&"-,/:'$# @II;GIA^nBQR 1=CYU.;$./'$94Ž”•EHI(7L&8C#*HHB;5 50!>2)7%:5,($DD;'-1 )  =PJ+$! . #;:-:,9/."2$G;(x_O{\N~dOliXp`:~_>aS@_\\$ SI8†€fo]>lO.iXGtZFp[N³«¤{Q3n[09)7"8&*3= 1%) *    ?6!," &     # (   $                  #."4& &3 5#!&% */%3#& +)/.  !        "   '&     LE0Z[Qo`L““x8%,# 31/   , a"h5 yF‡a5A?3        «¸¸¼ÅÉ  !;-   !    C5 B?!#   (           %)+>1)FA5@2/8$4$$&0,&=8/&.'$!& 0(.   2"%0" (2"8&;7;('* B>> +06 “‘–8;+ $ IFVB4(C1 A/"2%C3$@6(OF13.0 !!09A$5"&0.!., * &      ,' + )+$   &"         .' 6  # )! #) $ "# '                 /%%;/#H@01+=' " }X/žŒv¤œ—¤—‹£“672          «·¹½ÄÈ #"   +8"$  ((2 CM)>C"&( "&      #          #     " ,(.2#).),7!     " &%(*-#  %4-'$&  ! '=V\  .85 %Š–˜.1$ FQD?>$7>(*%=8+3&93 A;"$*  0CA ':8-* 0($&%$" CIGPF?™š™miH…{\{lMyoPu\;WI1F<6I>4pfEmaEimPeX7`\NwiN°°¥qP8ŒrW6 :$6( /* >/9&C&- 3( #    "# %   + %              %#    >'9   rW*¢ŒvŸ˜}¤‘l£x* ©»º»ÄÈ          ) %  : $&/.10  " !&            197'.* 36, #&#&  $* &$+".'&    ,''%" # (!$&+$" BGN'-5  *%#†Š‹.&   ADKHB/<:(C8,6%"9<&=.77;+%& CGK'*/".#"7.&.'#/,,92)xv_zoLjS/o\EsP1cK6\F5DCA :"zkNvdJ}a>r_H_WMpeWµ´­zS9ŽˆmO5<; 7 /2 :* ;)<): 8"&$ )"   %#)$- &% $                           M#pE *   sR+£’£‹i ˆeš’|)    ª¸¹½ÄÈ%  !    ! &&81,$   !                 !   !)1%!4$3$=1$<+ ,$, +&' ''*"##')"&*"   *',%@8,2718AH ))+)16ˆ‹;(  DNJQK8H=+HE397,7G6'OIB'()!  #9?53/80!.@2$<9-9*..01(@D:}~_ibNxaFjfGZI0l]@VA#GEC%$ \E4’ƒo†yY^[CiV8TG1hOC±­©…`H˜‰yM1N$@& A%E'D)?(* :&:,3 . :" + ) #   ) ;(#!  ' !                      "              &&       * $      ,"5 1&'      %     '          H8 i[L,%+    % t^3 tŸw‘€˜‰v0 !   «º¸¼ÄÈ       ! "-"        '%#         27#;/*)'-'61*'$" ( )$#%# '."(* %$!*('#  #$)*!%92&<>;! 8F\01,+9:6:?)01).,729†zwec`FXTAQIBKH??9KOH_TATG/G=%E?)PC4U^YFC8$&!(8:'0/$47"27!%.2")05570 ""&35'C@.2- '#,'GB5Œ€fudGxW‡€dm\+dN.H@5$  FC,‹†s}c1<11*;& 0% "# )0"       !                                  "(! "  !;."+.$     ( .""&* !               ' " $!  ,$%    * )%##   `G!š‡i¤‹v¦š† ›‹)  +    ­º¼»ÅÊ        ( !                  *):3!=5&((#))&!'&" #*%63!!( " $')&*  $$&! *&"9($B:4:9@ "'&FMP&&'"!0ry€@5.! % 5=6HA7JI@GI0OO2MA2RLDOTQ28<  (=DQ9;0"$)$'%$8/*05,71"RJ@‚yrawZBXG00B7   "*<>))#<0@2"+$)/!70!*506B8D83z\@nO;dG*bA"J?)F?!J:    €„ˆ|^ecG_Q7jXB`D®ª g?–ˆV_4B' A%?-<*C+A'7!;)0!8A17*!HA&,&0 %# '  * ' %. &" !! # )$$+*              %'    !!             1)#%( & (# 7,.(;$/+& ! * % ' "   &.  &           ! *5,-(/$ *% !)  # ( !       >1ƒmUƒkCwKC(;!<(1 9(  mT¡‘xªœ‚¦’y¤“~-!$#! !¬¹º¼ÄÇ   *(% *     ' 2,%/0               ' ,#) ! '$!51#0+%?3*3- $06+*" ,!)( ###$!#"*-)   ! )$!+"!>,!+/!6BK10 !RXb-,' $, JHJID;G@'?6'=@.EA";8+*.%;,1,#B>2G<6€vUxt`tjM|jGkK:V?.cV3^]SedW¬¥šyY7–^bB$L4E+D<&P5E'?'@$5'#>4*:-!A5,J0!::"+ *, 7  /2.% ( .5%5!/)-,:," ' # ('C+"( * $             (            & &!  ) '!.(#'+&! %&#%"    -&+0,%$%!$!1($!$!         8-)91#0:+&1-'(#4&!65.'1-!      E3•„uŠva ˜„\<:?1#8$/$- # cJ*¢ˆ^°Ÿ–¬œ— ˜xF==   ®º¸¼ÆÈ"  66$  $        -             !"          *&0.>0H3)[9'@6+&!0),0?=.E@./.0)0)/'!%"       7B<086 #XPXA;0 6=6HI/?,@>5@>0:5*HG3<=% (&   3CK'*!+ #1%*$<:'$%0<67+#xwbj`FviO]O;vuTzvdaN-I?&`V>mX@leTm]EqdF~‚l[G4jXDWF9wcG®¨¢oGštfLV=L8E4R? E'E-:!J>'E=!$;#C#YA$K?);%8)B5;05$ ?!P>3 =7@.1&/*'#   ##%(              $           "       ""%        5>(+9/"*&   )&     ,$nt\xœ›‘I3-51& !   ) vZ:£ˆ¤Žg¡‘y š‘1(2   ­º¼»ÆÈ      .+   (7'   $!#      "  "      $ +"PG4mdS…dS@("##'$#"/*58&,,&"$"$##  "(%! '-. " !$/94)/!13 "&*=\UR^XI ##.0"/.#><040 4:16@45@2 '     )$&$!'+8808+<2*=:5>1 "(0 kk\bX9NC/XC2oU~{jhbSucRsj_ifVxgL^WGQ>/†qbvfPkjYfY@ghU¨¨ž‘uZ—zefM-X< C4$4!L8">,D8F9WMA@91.:*5'5' 1 )09* *&)" -$ ' !  '/4+ )"#                            "!              ..4.G!+4"# %!-#,,.!       ,.YSG) &#"    '!jM&¤–¦£†¤Ž¥ŸŽGC?     ;$+ «º¿¼ÄÉ #    /$              ,#8.M>(‡x^‘ŒPG)0(/8 .:%,*-'0,%($&+$,$!"$& &* "3,+!&!  %(!"  &1&'+*  *,1ZYT|q_  14*)(%%'7-$=<.2+/#0C*A,7*:6%;5+.$',*)'$ %*,/:*<=&*" "4#{_G€\BjP;x`D|y^bO9q^?\G1dTCVK?mc?SH/TRBkfLocFG9$VE'mU=©¤Ÿ’zb˜‰qmO0XGF@'8 T; G8G.G3JD,=3#!4- %;* %& ! "                            )    !  !!         5.+5=2+(%  %8'#20!##  ,%2(O2F62(, 0 (dT'£y¨”¬¢ˆ§ž€:,6  % ¯»¼½ÆÇ      081?"            #& ?,F1-†v^omUC0"44)#1"%$/*)*(%1'-$"")+(( " #"$!$'!?5$364  !     dYT¨¢•ŠsZg^]JNLS`S'3##'" ,!20&6.2++(#&%04,79+#+)'+)$ )!0.#,'#!1!+%$(-E1%ˆˆx‚rXvgJuUIzs`l]Ri`JaH5ueH`YL^F!]I2dN9v\Dh^Q^K6_VRbZFªž’’fB–}a]@(C1)$% &#9$+ !')#        "              !      " #     *& $'  # '&*"$      )mN0D( $' 7j_8‘|¡–„¤y£–€]FF      *®¹»¼ÄÇ $:G,FS3,-                  2&JF6xvWj\B:-!:/*%*'-,,#&!"*$!75$2.-2)24,3./!(& $'   ** %2(!$%")%"%&$.1)'0#*3/-%2B?/0/$!(#"++)DA?•œ¡—˜TQK!$.!#!'-%! ))$'',+):%H;&: ;81>3).&0 . *!60!!% "! !    ! ##   $"                  !   ! $  "      ""%"      ,!$       $.1!)       !% & !/63")   #B."##1, +     (jR/£›ˆ¨€ªpž‘vRBD     (    ­½¿¼ÆÊ     !+@ )8"       !   ; JJE~vnž¦¦~qmumgIG6""            $ +'"G1‡m”“‡n]A83(")'# !""#$,1&38&-@2/4&33-*1#*%&9% -)%&'$"  "+)'&/")  8:*+2&'+=8"D86-&<,;;,622SD: ¤¤ª®­Ÿš‹_D-6:--7)&%"++**!))5))35+,")*!111.5)5/(. 2025&)&*' )&&$"(%&,0<3*$.)9*/.(wxKQB96,LY=c\Dj`FH;%<,'QWGL>+8)#67%<0G8:.!2'A0#d`R›‰|ydF’ƒgT@ F7"=4A8C@1H9'I0 ME/A;4,!6-=8 9 9&/!+ % .+    "    "                  ! %           )/!6"      "!           *(&&#$$&*/4,2(*')& !! :4ZN5   dg` %$%  '!`P¤™†¬˜|ž“¦ž†U@F    ±½¼½ÅÆ      '9#)- %%$//%% !    '            ’}†‘˜“–´»Ä±¸Ã·¿Ì±µº†Ž€‹˜MRB%                 &(%,&3&'bK6kqL—Šk…}`EB=$#"(*$#-(&,!""43'2,)-,#$-:9:J@6-'!7. 58/$32.-$4)&""#& #+&(,( $!,(  #/13!'" %319!&,##",'#7=G6,%]Xaœ¡ ™š…‹BGF.'$"(% &     #!')$3"/.$"R2!o; Jo9 `- ‡jKzsZc:%˜€S—‰j„dEƒmVމƒ~uycGgV@†…xz‚~¤¦¢”ˆr‡‹~SA0D4&N1*E7)H8%A5)JB2B:6D@31&&-%9+'$%+, '.)  !$+" $                (:*        #&!%.+!   #          /($'#+(.-'*** #&$*"!*   U5!”|l‡e=š‹pkH9<6(  #  ) X0™‚b™Šj¦›}ª¤PFL     ¯½½½ÇÉ  "   ,AQ1(  $$3   ) 9; " '     #1{•©§¶Ä«¹ÊºÇÑ»ÇÓ¶ÇÕ»ÇÓ£§®sql=%ˆ„sšŽ{§¢™lRG*#    &"! & jL"§¢¥˜z«¤›§žŒ]@A ¯¼½¼ÆÊ   *C&@F("       #3/;Ji x—°y¨‘ª¼¡´Æšœ´½ÆÓ¸ÅÖ¨¶Æ_f_>PT  '3$A=8$&          "  % # &( %WU>‹Š‚š•s”ŽvŸš”cmi:/&=<:%"$*++/2QXTMM@Zfj^`PMND:AAL?-<.*.-!70(,.'+&.,,<.86-17'")+&# ! +,''4 "*"+6(73.=;)C;5;1*=:,;;0>83-9.J?4¤§«®²¯¥ •gP48*'!&!#%+&&-.-,'!$ % # '%2&#))':=+7.=96%"!('#!81/.+$81"C85xpa‘”‹†‡{kcPoc|gPm]KpX@…od_K?yh[‡{jtdO~qcSI8L?/I7&G5,‡zygMpiPH?'C2=/;*D;".!.$:8.>:+6:0&1%+#(*  !$   ')3A2*-"'! ./-+    +%)        #      #        $$(0*;0"*' $                    2)**&)%41-)"++& ##&&".*/--3%$&)  -cYI‡‰x˜‘~fOC *& "  &$   % gA#§•~¬—€©“mª¤‘\Ta                ­»¾¼ÅÊ   ($+"--"      )   :%4,"./(7/'1-(+3''3"!')-!6'!)  "*&%A40;177!09-9>;;61@BB©£™®«§¨©¢Ÿ§£9:,+!  &"$%( !!(#,)##**&-"(*"'(&00-..!2/- !)"/',-6)!7<.eQ;kXG‚~qxp[ˆŠyneBe]=‡€c\QEdte~ra{v`j_Fjk[LL5^dQD=#aia~zm}mFfOCI0:@F41Œ™™²É‚™¯HW„J^z1F^ 4    7  8?     !         "!/8/A?2jbV‘Œ‚{ƒ€JH5 "'# #A<1@>A50'4**($ !"%+# # +,1%'+-*:6%=-+-/.*'%8BG/.%B9&¡¥¡´¬¤¬£˜umVE=<( #"(()#"#%!"$"% !)& $*' &""$7+1$$#"#7$!aeLug__ZIumTncOv|l?:1iqmGD4\L@sQ{mWjYAB@5>.%A1"@2&PGBslbngXaVD@4''#"'5.#$(/ 2*&E?6482$$!.-" ='">)"C <;7'DB/J/+7 :9H*(ks…’¥QE:A1)+!7P9/7"   (2#7 1" [>9mexF48) 0'#% 2 +)#   %         % %8.";:*#)(          #,    $ &     ('%' 9&bD,.  ' `M1•—‰‹‘–šƒ¥¡’NFB         #-%$lU(TF.d_[]TBIF2G7&1* ''!#$#*$0(&3)%cH7¢ž «¢ Ÿ†ii€m'+ )9,Tii`lY_h`[d_9:$78&‹Š„{Œ‹’œŒ‰•…€˜Œœ¤«–¦w^KI( E@*T\W0&#C8'FF=\d\KSGA9/;3+M:-ˆ†…¨¶Â¤¥¬¦§©©¦ª±¹Ä¦¶ÇoggZNJ@85(d_MXC.‚q^¯´¸§®¾ml‚(@Y--AXWEO:\ht”­´³Â̾ÊÖÁËØ¼ÉÖ¸¾Í­³½œ¡ªŸŸ¢}Ž¢   - '        ±¾À¼ÆÊ         +16,:LXo€ ¿OqŒBXjbvŽDh}$#m}’‚™¯›¨ˆ–¤™¬»}•§LYX$/&    $#       !!   %*&M[_zvejs`7(  '((+#&# &!%!  $!"&     !%)' #  !#&)&1  "#ƒxe¨•‘zƒbA7-   "&!'(+% !#"-(&* $!  $(!)# "&+-atyRe`801]YOo_I{xlefaB>*BC3]^H\TI^^P&! *-+LD6PK=bdTC5$@=11,(/& .("+&!/429/)<;$C7 w\I¸¸¬¾ÀÂ’"  ). !$".,77%bid«»É´ÃÒµÂÏ®¼Îš­Å…•«—ª¿„‚“‚up‚ŠD75-!:10<&%'4! 6!u_;£¥¨±ÂѵÄÕ²ÆÖ³ÂÔ·Æ×µÅÔ±ÂТ±Åq€œPfsNXg‚~O;88",!1:(                %!*     !" /'(?;';>3+50 (    &'      #                !   )  "_O9œ“y¤š•™Ž“–’[XV/-3-!8/!hbN„xazl_m]T“ˆm–Œ„¢£—³¿Ìµ¾È¼ÇÔ»É×¶ÀΘª¼/Fc.:-LdjŠ”¹ÅÔ¿Ê×¾ÌØ¾ÉÚºÊÙ»È×¹Àά»Ì†±',B/#!83A                 ¯½À»ÆÇ    !         %           3P!,#š¯k›¯">M?N]{™£nuƒ¨¶Ã¤±À ¶Å™°Ã™¨¶{†—EdeJ\x0& =CD><(       "H< E?*"        %    -&#E#‰jCi`Bec7:8%*2@'B,6%.*%,- 0->4(-!##"#"ZLDk[FdXH,()! $!,DG%- 4+<"@( $ $!!,#%#9-6&")/&|}g¢Ž€~jt`C„j:2"$pytoz&%&  3M! !!#B9"9;+ *    #+%+,1()&! ! O[WDMHDP[VTH(:602(FLC;14KE;(:.#! &;2"@7)89*6;,,+''! ,#-)#9;/@A05%#h`W¹»»¼º¸jg\!' )2   ")#+79KD𦤲ÅÓµÆØ¶ÅÖ·ÇÖ«²Ã𩼣£¥’š ¤ª·¨°Àš¢¯ueVQ5"L8ˆtV“xWˆmK­´º²ÂѰÃ×®ÃÔ±ÃÖ¯ÃÕ°ÃÓ±ÂÒ­ÂÔ¨»Ì›ª¸sYZmU¬¸À§¸Æ‚‡‰kYNqww†Œˆšœm€          *      !*$-+ <1*B<'<91# '$ "  )',*'      &!  "&(      ! $ !"(*#.&&-!6-!,'!     - M100;F0 !    "Q<š‹v¢™Žž—‹“o…xdKHC_H+w^>€a®²®´ÁË»ÇÒ¶ÁϳÁÆ»ÅлÇÓ½ÈÓÃËÖ¿ÊØ½ÉÙ¼ÉÖ»ÈÖ²»ÇdPPA8%H3"oXEŒ‹„³½¾¼ÈÓÁÉ×¿ÌØÀÍÙ¿ËÚÁÈÙ¿ÉØ±¼Ë•žS\dv~~[ivgE(€d;OG5        *;.!E  ²¾¿¼ÆÇ                   +       $A% 7Je;ESXj†nŒª™°Ç¤«·ªºË¬½Ì¤°Àš«¹;KH6CQ@X^7BLLx"        %  (fgZ{z78, !xY:9# pE4KI;,'(*ˆxV‹‡~hU<((-˜‹oxmH$."%#“ƒs°³°¬±±ild@HB4~ug±½ÈºÄ˸ÂÊ_iX'!('#V3K%u[RTaS*"!-43$""™¤µ¶ÆÐ¨¸Â<<;+-1-%/7**5*2& iKN€zV" "  ":A?JB3?A6‹‡}›œ–œ§´{ˆW^W26'76259 pœh~u&( !<;*  #$!)& 3,"=C6'-/!!*!&&)'*#! ;1  )Y-Y2g= cO; W;dN3fN/kM*-.  E;(€ƒl{~\xuc'.(,%#.+$$ ".%!04.8.%-,$85)/a;'º·¯»·µLG<7@C  %+*'1%&1/:,t‹“´ÅÓ¹ÆØ¶ÇرÆÖ¶ÈÖª»Î¡ªÄ¯¾Î®½ÌµÁѳÂÍ´Â̰¶ºª«­²ÁѸÆÖµÃÓ¶Å×´ÄÕ¯ÀÓªÀÒª¿Ô¥¼Ó¨½Ñ¤¹Ì£ºÑ¢»Î¢¼Ï¦·Ê¦½Ìª¿Ò¤»Í¢·Ê𮯗§¼“°Æ–©Àd              "5,#<5*:8!'+'    !   %!"!'#             $   #+0*4>*    ?6!ADB   LA2     O0‡……hžy “§ª§­©ª®µÂ¨ª®³¶Å¾ÈѼÉÓ»ÇÙ´Æ×»ÇÖºÆÙ»Ç׺ÈÙÁÌÙ¿ÉÚ¾È־ɨ»ÉØ·Ç׆›™š…‚­²Ã´¾Ä½Ê×»ÊØ¾ËØ¿ËÚ½ËÙ¿ËܾÊܽÈÙ·ÂÒ˜¡²Œ‰Ÿ©±•—©¬²¶·ÄÌ¡¦¹X7*=*5%      !        )"$ ,&Ba  #6±¾À¼ÇÈ   !   " 6 +&    +     DH[!5Mj4:C<10>:5ŒƒŽ»ÈÙ¼ÉÙ¹È×aa\(" 7 «µÁ¸ÆÑ¶ÅÓfgc1 (:'%¦ª¹¼ÉÖ­½ÈC2*",!GKG*+" SB?“‘}  >]K>  f][A;,?>/:"|n]”ކ…œ©XRM“vPˆpRzcBBD(=KRvšj_B_[LfU@a_<"CUKS_^LXWV`U.2$3&A:(W]QW_UPTMGTC BB:IQDNXBC^Q, RS<]Q0l]:B?.  79&?E2ED2,88 8,#!  1$& $$.#4*5:(:+!/"mUH¹»¼½À¼bB'1& )#!"#6"6<KF-,( I:!¥¢Ÿ¸ÇÕ¸ÆÙºÆ×ºÇ×²ÆØ±ÂÓ±ºË·ÆÖ¾ÊØÁÎÛÀËÙ¾ÊÚ»ÈØºÈ×½ËÚ¾ËÛ¹ÈÖ¶Æ×¶ÃÓ³ÂÖ­ÀÕª¼Î¥¹Ñ µÍ¡µË ´Ë£¶Í¡µÍª¹Ì¦»Î§¼Ë£¶Í³Ë–±ÉŽ¬Ç’«Å©Ã`|š             :,%0(&          % 6*$28%#/   " SA™†qžŒu¡Ž™Œm­­¬·¿Ë¸ÀϺÁÑ»¿Ð»ÆÓ»ÄÓ¹ÈÕµÄÕ·ÇѹÄÓ¸ÄѼÃÓ·ÅÕ·ÆÒ¸ÆÓ¹ÇÕ½É׺ÇÖ¸ÃÑ·ÄÓ¹ÃÏ·ÃѼÆÓÀÇսɨ¾Ê׿ÇÕ¿ÈÖÂÊÙÀÇ×»ÇÔ·ÂÑ®¶Æ®³Ä±»É³¶È¼¾É½ÆÓºÄÑ»Áε¸Ç¨¤ªšŽ‚–˜¤r_Sv^TYcb,"$       A<$@    ±»¿½ÆÈ%7$2'!2 .  C^vMQ= , 5!7,   $   EDy…Љ“ ›§·²ÆÕ¯ÃÓ•§½o‡Ž3+FUXUf“! =<4D/!YYNkP9K:!4:;HE/HOHHH@SJ6®½Ë¶ÇغÉÛ½ÍÛ½Ì×¼ÉÛ¿ËÚÁÌÛÁÌÛÆÑÝÉÓàÊÓÞÈÔßÂÏÝ¿ÌÚÀÏßÁÎß¾ÎݽÌÚ·ÊÛ´ÆÚ¯Å׫½Ô¢»Ï ¸ÎµÊ ¸Ìž·ÍµÉ˜¶Í ¶É¡µËš²Ì›´Ë’¬Ç’¯Ç“¯Æ–®ÉjŠ¥        "          Y%€M%˜xB‰oJ#0%#  &  +  A>žš¤œ•¦ ‹¢’…¤¦œ¶ÁβÃÓ´ÁиÁкÄ϶ÄÔ³ÆÔµÃÓ±ÄÓ·ÃÕ¹ÃÓ¶ÅÒµÃÕµÃÕ¶ÀѶÄÔ´ÄÒµÅÖ¶ÄÔµÅÖ¹Ç×ºÇØ¼ÉÕ¿ÈÓ¾ÊØ¼Ê×¾Ì×½ÊÚ¾ÌÙÂÍÚÂÌÜÃËÙÁÉÖ½ÊØÃÌÛ¼ÇÖ¾ÉÚÂÍØÃÉÔ¿ËÖÃËÖÁÌØ½ÆÑ»ÇлÅÒ¶»É®¯¶¶¼Ç›’˜[D>/        #*+-. ' -F6V±¾À»ÆÉ  )"('    %,9   "             &$( !2X&@^$ NdŠo‰†v‘M`L†ž³±¾Ï¶ÆÕ·ÇØ«ÀϤ¶ÃZnx&&0+;PHh& '    ! + DP+YQF ª®u†#( %  #%!B5-4'C,CC:=<4K;+{XBª«±´ºº·ÄË»ÊÚ»ÇλÅÎ¼ÊØ¾ÎÞ¹ÉÙ»ÉÔ½ÊÓÀËÓ¾ÌØÂÐÝÁÏÝÁÎܾÌÚ¾ËÖ»ËÖ¼ËØ¼ÍݾÎÝÁÎݾÍÙ½Ë׸É×ºÊØ»ÌÙ¼ÍܾÍܺÇ×¼ËØ½ÊÖ¸ÈÒ›ž–@3%:61D>6–™–rudLep$&4%%'9-2;16);%'#3,%KG;`WA~`J²ÃËŽž©&.@ .3 ,@53?BWu~rŠ——©¶oŽœ,')^^C    *++  5I(a;J, 3-?it  !AE$#%!C7!=A0W]R``AVb^'0-&%+;;?&+/258)5(5'mN<½»¿ÃÆÈ®®±\b@/' (/ J;&£‘©¤¥ª¶µ¶ÇÔ½ËÙÀÎÝÂÎÞÄÍßÌÓâÓØâÔÛåÐØáÑÙãÏÙäÎØâÌÔáÆÐ߯ÍÜÆÎÝÅÐß¼ÎÛ¹Ê󱁯ªÁØ®ÅØ°ÂÕ ¹Ñ ¸ÌŸµË¡¶Íœ±É–°Ç—°Ë™±Ì›µÎ•±Ë™±Ë˜®È•¬Å’­ÆŠªÇx’¯       '"              %'$ %(".8=AA606859984 %%!            ,#,)#      $"wvW“€›”’za\)   '%   A2 – –€§”€œ–Œ¤¤—­ºËª»Î°¿Ï°¿Ñ®ÁγÀÏ­ÀÑ®¿Ô®»Ì«¼Ñª¹Ë¨»Ï¬¼Ë­»Ì±»Í¬¼Íª½Ï©¼Ï©¼ÍµÁÒºÄÒºÇÔ»ÈÖ¿ÇÕÀÊØ¿ÈÖ½ÇÖ¾ÈØ¿ËÚÁÌÛÂÌØÄÌÙÄÌØÆÍÜÅÐÜÆÏÚÇÎÛÄÎÜÆÎÛÅÎØÆÍÚÆÌÚÃÌØÃËÛÃËØÇÎÙÇÎØÉÐÙÈËÕÁÇˬ¨¹~YHwN2                   ( 3 ²¾À½ÇÇ  &,d{ƒkwl;3(T`Ru€s;.2.+/          @Qd) 27=8'%œ¯Á°ÃÒ¶ÈÓ³ÅÓ¤ÀФ¼Î`SK18:+'-   GOAbhWTYE*'0 % %'*5%('#B8%LD-?+ed_‚rj´¿È»ÇÖ»ÍÛ½ÍÝ»ÍÚ¾ÎÝ»ÎÜ»ÎܾÏݾÍÞ¾ÎݾÎÞ½ÏÝÀÌÝÀÏÝÁÑÞÂÏßÁÐÞ¿ÎݽÎܼÎܼÎܼÍܼÎݾÎݾÏܽÎܾÌÛÀÎÛ»ÍݼÍÛºËÛ¼ÎܽÏÝ»ÎÜ®¾Ç\]P;=1cVP–‹emW=;RE%0!-.'!02:XH":% #WK?k‘¨@Y^+:/#J5‚Ї{™°n‡š¥‚¢µ%10   ! "  8 M9L0@2$ 1D=,0  (!=6"2)40&9:,-*#($!/7=HBKWJI>4/*2)-#w[E½ººÂÿ‹†‰((!!- :9*;?4cO5¬ ‹ÇÏ×ÉÒÝÆÑÛ¿ÌÜÃÍÚÄÏÝÊÒßÍ×ßÓÝäÓÝãÓÞåÓÞçÑÛãÑÙâÐØâÐÙãÍÖàÅÑÝÂÏÞÃÍÞºÊÚµÇÚ«ÂÕªÀÒ¨ÁÕ¦¿Ò˜¹Í¢·Í£¶É³Ìš³Ë±È—±Ë—´Ë“®Ê›´Ì—±Ìš±É™³Ê—­É’­Éx™±                      ??$NL4;94 '&!!#/-    &+      !###6? #      NE,ZA%eaKTI<! !   "L?—t¤d¡™ˆ£š¨¤¤¶Æ§¸Ì¤¸ÈŸ´Ç¤²È§¶Ì¦ºÉ£¶Ë¤³Æ¤·Éž´È¢·Ì©¹Ê¥´É¦µË©ºËª¹Î¬»Ì¬¹Ê¯Àа¾Î°ÁѶÃζÆÔ¸ÈÖ¹ÇÒ»ÄѶÅÒ¹ÆÔºÈØ»È׾ɨ¿ÌÛÂÎÛÁÎÝÅËÙÁÉØÁËØÀËÚ½ËÙÂÎÖÂÎØÃÎÛÄËÛÆÌÚÉÐÚÆÑÛÆÎÛÉÐÚÆÏÛÂÌÖ½ÉÒ³¸Çœœ¤'     61?  #!!( JO@   ´¿Â¾ÆÈ Pf”«¿›±È˜¥¼¡±È˜¢¯u„¢Œ¢ª!&#"   9KhaŸ[jr    (    2$,%#J[i£¹Ì›²É©¿Ò«¾ÑŒ¤¼w—±~•§:2,I;7,%(4ES'72        %   ! &%" -*E0 PPbCMIJckiph«ºÉ¹ÉݽÎÞ¾ÎÝÅÎÝÃÍÚÁÍÝ»ÍÝÁÍàÂÏÞ¾ÍßÃÌà¾ÎÞÁÏàÃÍݾÎáÀÏß½ÎßÀÎß¿Îà½ÍÞ¿ÍݼÌݼÌÞ¼ÏÞ½ÎݽÍÞ½Íà¾ÏàÀÌÞ¾ÎݾÏݽÎݸÎݽÎÞ»ÌܺÆÖc_d2$_WOI@*5/1Sgp3>-*.F\QD=%8C<*6(*-& >*&l…zBC9y€Š\]T9<5CPE‡„ƒyš³Äž¯¼gyew‹Zq…7A=$'# !&&-  $0=G2%9-    ("F9%0$ ($"2,,90" 95=GHUINS*"$AA@=22fI.½¹µÃ¿Ãw_L;;%.;-KA,2-"QC-–}]ÇÌÖÍÖàÌ×âÆÓàÃÑßÈÓàÌÙãÓÛâÒÝäÓÜåØÝåÖÞåÔÞæÒÜåÑÜæÑÜäÒÜãÑÚäÍÔâÄÑâÃÎá¿ÍÞ¸ÉÛ¬ÀÕ¤½Ò£ºÎ¤¹Ó¢¶ÎªºÐ¢¸Íœ·Î ¸Ð¢´ÏŸ¶Ì›·Ì±Ë¡²Í›±Ë”¬É˜±Ê‘¯É™¯Ëx™´ "     #               @.|_H9+!                        !!        %!!-& 1'#50$:1)  ) O0¥•{¤—‚¤q¢“‘ ¥©¢³½š¯Æ›°Æ ³Æ®Äœ¯ÅŸ±Ä ²Å®Ä¢®É¡³Å ´Ç¥´É¨´È§µÊ¦¶Ë¨¸Ì§·Î¨¹Ì­¼Ì¯¿Í®»Ï¯¿Ñ±ÁеÀ͹ÂÒ´ÁÔµ¿Ò³ÁÓºÃÒ¸ÃÓµÅÖ·Ç×ºÇØ»ÅÖ¼ÆÖ¾È×¾ÉÙ¾ÇÖ¾ÆÕ¼Æ×½ÌÛ¾ÉØÀÊÚÆÌÛÆÍÜÇÎÛÈÐÝÉÐßÇÑÞÅÎÛÁÊÛ¿Æ×¥¯ÃxcxC1,EHUC4=QW_jhw¦   6;@+&       "'  4_S=" *G  ²¾À¼ÆÊ  e€žŸ±É¡²Êœ°Æ–°È¡µÇ¤ºË¤³ÅŒ ·}œ*>>  #Ol‹TxOkŽ&!- )@M          "# ! /3  $/1Seˆ]n‚š±Ä¢®Á£«»PNJ7OI=|“±ÅΩºÂ•«³¦®©®¿Êª½Ñ£¸¢¹Ì£·Ãœ­³”ª³6>7 ', !* 2>%+4$         )#+?6+,  ")"$-6*!JB2;/#$)..*,!9<4HMMJW[UNO.)!,3#,'#Q<$º¸¶ÁÅÆ˜–g_JZN6pdP“Žœ‰vµÃÌÃÑÝÄÓßÃÑáÅÒàÂÒàÃÓàÉ×ãÎÚäÏÛãÏÛäÌÜãÎÝåÌÚãÊØãÉ×ãËØãÈÕâÁÒàÂÔâÂÑàÂÐàÀÎà¿ÌܲŨ¨¿Óª¼Ñ¥¼Ð§½Ð¢¼Ð§ºÏ¥¹Ñ§ºÓ¢¶Í£ºÏ›¶Ð–³Ì³Ì•±Ì—¯Ê—±Ëš¯È±É|Ÿ¹#  25)   5.&:2+            E:#•Ž}l\75#                          +=2&-%%     L;$ ™‡Ÿš‘~”†mžœ®Ã›«Ã—®Æ®Çš­Æ ²Éž²Æž®Æœ®È¡²É¥µË¥´É¢µÆ¥·Ê¨·Ë¥¹Ë§·Íª¸Î­¹Ë¬¼Î¬ºÌ¯½Î­»Í¯»Ì²Á͵À̬»Î®¾Ðª¾Ñ²ÃÔ®ÁѬ½Ï±½Ì³ÃѵÁÒ¸ÄкÅÔ¹ÇØµÃÓ¶ÆÕ·ÆÔºÇÓ¶ÆÔ¹ÃÕ»ÇØ¿ÈÓ»ÈÙ½ÊÙÂÍÜÂÌÙ¿ËØ»ÊÛ¹ÇÖ¹ÄÖ«·Í’’£Ÿ£ª©©©¥¯º³¾Ì¬Ã1-Q       Wkn‡šª®¾Ì¦®­‰¡¸«½Î¸ÊÛ©¹ÇµÉÙ¶ÈÕ´ÆÕ¤¸Í¢¹Î¨ÁÒ¬ÂÕ¤µÈ‰›¬gj[ !"%$ ':,      %!"    9:*6>" */-+-%VZI55+"#0(!*#/2,"bYW‡—y–QMP. "9)=3,Y9)¶µ³¼½¿·´·³³¸±°¦µ½Ã»ËؽËÚ½ÍÞ¿ÏÝ»Ïã½ÎâÃÒá½ÏáÁÑÞÄÏàÆÓâÆÖãÃÐáÄÐáÃÑâÁÏáÂÐÞ¿ÐÞÂÑàÀÎݼÎà¼Íß½ÌÞ¼ÌÞ¼Ëß»ËܳÅׯÃÖ®Âת¾Ô©¼Ò§¼Ó¥½Ò¦»Ó§»Ð¤¸Ï¦¹Ò¡¹Ñ™±Ñ™±Í˜´Î˜±Ì•³Ê›´Í”®Ëyª  K@<  C>5 LDB#G4"9(%         $ >&—y˜’˜e^S                           -%?#'    U9!—‘‰£j¤œ‚¢˜Œ¢¢ šªÄ™­ÄœªÆ«Ä«Ã¤°Å£±Èš±Ç›±Ê¢´Ë£¯Æ¤³Ç¦¶É¤³É§µË©·Ì¬¹Ë¯¸Ì®¶É®»Éª·Ì­»Î°ºÌ²¾Ñ±¾Ð¬½Ì­¾Ð­¹Íª¸Ì¨¸Í«·Î«¸Íª»Ï§ºÏ¯½Ï®»Ë³½Î³½Ñ¬¹Î¬¹Ì«¼Ñª¼Ñ­¹Í«¾Ó±¿Ò¯½Ñ´ÃÔ±ÃÓ±ÀÓ°ÁÕ²Á×±¾Ñ±ÀÑ©»Î¨¶Ë¦®À«¶É°¿Ë±ÁÓ±ÂÔ¯¼Í’˜°"     FL6‚‘\n      "  /8A34B     4!OGp™!!5  w€rh•±"&= &³½Â¾ÅÉ " @[oAXx%6<)9WRhŒowƒvqp’¤º˜¯Å ²Æ¦¹Ê¦´ÉŽ£«@<1%1CL`ŠL_p% $0 ))IO@E=?(6J$$      % #   .6BSip‚\jWv…ŒPXB#;3"]`j‡™¤š¬»£¯¹–†4&"B:0[]_5>8"         ''"   5$(&!>0]jqxŠ—¦½Ž¥°tkgª±Á»ÊÛÁÍÞ½ÍÞ½ËܽÍܼÎÝÁÎܾÎÝ¿Ðà¿ÏÞ½Ïß¼Ïß½ÏÜÀÎÜ¿ÏÞ½Îà¿Îà½ÎÝÀÎÞ¾Ðá¼Ðß¼ÏÞ¾ÎßÀÍÞ¾ÎÜÁÏß¿Ñà½Îß½ÎݽÏßÁÎÞÁÎܽÐݾÏݾÍÞ¼ÌÞµÅÒ¤™…¤œ¥¢´¶±»ÍÜ»ÌÛ½ÎÛ´ÅØª®½ƒ‰¦°Ãž®±fŒs‘¢Y€‹j`L‹§³Ä»Ëز»½¸ÈÕ¾ÍÛ·ÃνËÙ¿ÎÝ»Êܦ¬¹¥«²ª¸É®ºÇ›°Â—¦°oŒ§06$(%#,2#,"*6$  1;*) '()/:(,8),   $*#/&+-08KJ-=;)VD0@7&70#A=2166*)!!0DR_w‡NnDR\+&!0+(-$`D7¸²®ÅÃÄÄÉÓ¾ÎÛ½ÍÚÁÑܽÐÞÂÑâ¼ÏàÀÒßÁÐÝÁÑÝÀÓß¿ÏÞ½ÏßÁÎßÂÏàÁÑÞÆÑßÇÑáÄÓáÁÒà½ÎÞ¾ÏÞ¾ÑàÀÐàÀÏà¿ÍܼÍݽÍÞ·ËÚºËܶÇÙ¶ÆØµÅÕ³ÃÖ±ÁÓ¯»Ñ§»Ð£»Ñ§½Ô¨»Ò¤ºÒ »Ð¢µÌ¢¶Ñ›µÏ¡¶Ì˜²Í—±Ë›²É˜°Éjlt"+mti  TJ: 'r^># PM=86. *i[M/$% )   ! #!B=$˜†w›“†Œ‚5" &         !  $2)   #%+  %          & C0+ % '   C*š‘| š‹¤ Ž ›¦¥¬›¬Â ®Æœ°Å ²Æ¤°Æ¤³Åž°Ç¢±Ç¨µÇ ³Ë ´Ê¥¶Ê«»Ë¨¸È¨¶ÎªºÎ¬·Ë­·É­¼Î«»Í®»Ì®»Ì«¼Îª¹Ìª»ÍªºË¦¸Ë¨¼Ì£¶Ê¡²È¤¶Ë¨µÉ¦¶Ë¨´É¥µË¦´É¨¼Ñ©ºÉ¤¶Ì£´Æ ´Ç›²É ²Ê¡¶É¢²È¤³É¤´Å¡±Ç¢´Ê¥³É¦µÈ¥¶Ì¦¶Ë ³É¢¶ÉŸ±Âœ¯Ä§´Êª¸Ë¨¼Ð©»Î§´É”•¤3#"   ?AEVdwkiŒ.!!JB3?HP!!#     '4"c]JFTZ"%&31#./5!3,,#""5@I:!‘š˜-(> Lrt4 ID%Go¡ 4 ,KBY_#$³¾Â¾ÆÊ 8:Y|#LibQagu”¯h}uw˜®i…Œ¥¶¡¶É¨¹ËŸ±Ä^y}!$.)(%; &)B       !        "84p ‘¡Œž­@B8#""KHEy™ªt‘¢š±Æ˜°Ã>[~A[mg¨swm|†C]j$?G2?  5-           +1$*'9)=9+FGK=8;@74TYi•ž²«¹Æ¶ÆØ»ÌÞºÎß»ËÞ»ÌÞºÍß½ÎÞ¸Îß¾Ïà½Îà»ÌÝ»Ìß¼ÎÞ¿Îß¼ÍÞ¼Íà½Ïà¼ÎÞ¼Îà»Îà¾ÏÞ¹Îà½ÐÞ¼ÐߺÏàºÏá¼ÎàÁÏá½Ðá¾ÏàºÎݺÎß¾Ðâ¼Òâ½Ñß½Îà½Íà»Îà¸ËܶÌÜ»ÌÛ¾ÏÞ»ÍÝ»ÌÞ»ÌÞ¹ËܯÄÔ£§«¶ÉײÉÖ—³¾ƒ‘œEK@“–«¦·ÉµÆÔ»ÎݾÐÞ»Îß»ÎÞ»ÎÝÁÐݽÏÞ½Îà½ÍÜ¼ËØ´ÄÒ±ÅÖ£´Ä¥¼Ïz=FL/IN"3),,) +(+>,!-' %$-& $ &(&5*$'!%&$&  .)(;*  WPN#'3 !  "1+SB)˜‘y¢”}Ÿ™‘\PD   ?/.532 &,+  &           a_O,  G:(;>/   5*6<;H6%š”‚Ÿ£ œ’p§œ–®±¼¢°Äš¯Ç±ÄŸ°Æ¤²Ç¢³Æ¤¶Æ¤¶Ì¤¶Éž¶Ç«¹Î¦·Ë¥µÌ¨¶Î©ºÊ¨¹Ê¨·Ë§¸Ë¥·Ë¤¸Ì¦¹Î§¸Í ²ÊŸ¶Éš´Ç–¯Æ•¯Ç›¯Ç˜®Ä™¯É”­Å²È›²É¯Ç™®Æ—®Àš±Èœ®Á¢±È–¬Ä±Æš°Ä›®Æ”ªÅ‘©Á˜­À—«Ã—­Ä¬Ã˜±È›®Å ²È°Ç›°Çœ¯Ç𝯛°Ã ®Â›±Ç›±Æ¢²È¡±Ê¯Æ’¡µpyŽOLI2>? HH=06D  #!#izq†–ª„—©†r–€“«>HS510%      &# $&381?KW=A;Tu>Tb8Rj* 7P_ .QFT *' HG@ž­»02D,;I  .$+/63b      '"/³¿Ã»ÇÊ 5AX9DT  !1! +& 00/88+5:*,=7_n„œ®Áª·É¢±Á†‰€826    $8>         &C†›·¤¼Ï“¦­O`oSaYbl…€™²wŠŸe}ŸSgv) 0'(Miz   -+/     7CC    #,  )!&.&.* LTb-&"9)WMA…|„¯ÃѺÊÛ¸ÊÛºÉÛ»ÊݽÎÝÁÍݼÍÞ¿Íà¼ÍÞ¼Ìâ»ÉÞ¿Îß½Íß½ÊÜÁÎÞ¾ÌݼÍÞ½Îá¹ÍÞ»Îá¿ÎàÁÐàÀÌݽËÞ»ÌݺÌß¿Ìà¼Íß¼Îà¾ÎÞ¾ÍܽÍÞÀÍà»ËÞ»Ìà½ÐàºÍà»ÍàºÎàºÌÛ¼ÍÛ½Î߸ÌàºÎÝ»Ìß¼Íà»ÍݽÎÞ»ÌܽÌܶɨ›ŸŸ­¶¾¢ž£³ÃÕ½ÌÛ¼ÍÛÁÍÞÁÎÞ¾ÍݽÏÞ¾ÎܽÐܼÐÞ½Ïß¾Îß¾ÍÛ¿ÌÜ·ÈÙ­¼Î¯ÁÔ¥±Çp…Ž08,+-0,J?1OC-9E-   # ,#:7 8.)/!>;?= DF..BC-7@@D=4cN;@<IH,JK2XW1_fPfc]†„`\T/(!-'52(82'# # *#"%%'((#21#@7.pO5¹±´ÄÃÆÃËØÂÐàÂÎÞÃÑܽÎâ»ÑàÃÐáÀÎßÀÐâ¾ÐÞÃÑáÁÑâÁÑàÁÑàÁÏá½ÎâÀÎáÁÎàÁÑáÂÒáÁÑÞÂÑáÁÐÞÁÑà¾Îß¿ÍßÁÐßÁÏá¾Íà¾ÎݾËÜÀÍÜÁÌà¼ÊÝ»ÈÙ¶ÆÙ³Å×°Ä×±ÅÖ±Ã×±ÃÖ±ÃÓ¨¿Ò§ºÒ£¸Îž¶Ñ ¶Ñ¢·Ïœ¶Î¸Ðœ¹Ï¢¶Ì£µÉ ·ÎŸ³Ë˜«¿‹y_£±À˜£±€cUWI9„xqseM8$%`L7E- +uh\0/6  VLA# #$1:>1 bZ:¤š–¤¡œ¤¡œhO=  !             ,‰ƒqrS@e:!W3 %4. B;3#  441"E%šh—r“„n¤—‚¬±¼Ÿ¯Æ¥±Èž±É¡³Ç£¶Ç¤¶È£¶Éª¹Íª¸Ë©¸É«·Ìª¹Ì§¹ÎŸµÊ¤µÊ¢¶Ï ³Ì¤²È¥±È­Æ®Ç´Ç›­Å›®Ä™ªÄ—ªÂ—ªÂ”«Ã”¬Â™¨¼•«Äœ«Ã—ªÇ˜­Ã–©Ã˜ª¾šªÃ•©¼—¦½•ªÀšª¾™ªÀ›©Á—¦¿–¬Æ–«ÁšªÁ–«ÃŸ¬Ç™©Áž­½®Ä®Å’¨¿™ªÁ—©¿•¬Å¬Ã®ÃœªÁ¬Áž®ÇŸ¯Ä¡±È£°Ä” ²‚‚™E@KdZUw¥,/C# !"23JLNQ‘¤­š§¹¬½—ª•š¤œ©½UZ„@=N,<    @D>C?#\djHBY6imYv–IPY&  00£°»TRs@0)..N>QW$-Y  "   +# 7 '²ÀüÆË!_\@N[h_jG '3  '3^GoL]BihMtiH–›‘®¼Ìª»Ì¨¶Ë‘¤²\lm       %*%?L/ & #    Vcgž´Æª½Êm˜·>=M=NqWbn”™¤Žš¤ef]_NA'30"($).CS$&&G.\kurnh]ZF0*!        "$*& ! , (%D1B0LGB_aM‡‡€±Ã̺ÊÚ¼ÌÛºÌÚ¼ËÞ¼ÌݹÎà½ÏÞ»ÍÞ½ÎàÁÌݼÌà½Îß¾ÎÞ¼Îà»ÎßÁÏá¿Ðá¾ÎܼÏß¼ÌÞ½Ïà½Ïà¾Îâ¼ÏáºÎß½Ïà½ÏÞ¿Îà¼ÏÞ»Îß¼Íà»Ìá½Ìß¿ÎÞ»Íà»Ïß»ÎÞ¼Îâ»Îâ¼Íà¹Îß¾Ïß½Ñá¼Ïà¼Ïß»Îà»ÍÞ¹ÍÛ½Íà¼Ìß¿ÏÜ»ËÛ¶ÍÛºÍÛ¹ÌÛºËÞ¾Íß½ÑÞ½ÏÝ»Ïß½ÏݼÎàÀÏß½ÎÜ¿ÏÝ»ÍÝ¿Îà½ÐݾÏߺÌÞ¯ÁÒ¶ÆØ£³½t‡OYCAP3+$N?>„ŽŸ³ÄÑ·ÇÛ»ÌÛ»ÎÝ»ÎݽÌݽÌݽËܾÎݾÎß¿ÐàÁÎá¾ÏäºÎâÁÏßÂÑàÁÏàÁÐà½Îß¼Íß¼Îâ¾Íá½ÏâÀÏßÀÏÞ»Ïà¼ÏÞ¼Ïâ»Îá¼Îã¼Ïá¿ÍÝÀÎà¿Îß»ÐàÁÐà¼Îß¼Ìà¾Ïâ½ÎÞ¾ÐßÀÎá¾Îß»Ïß¼Ðâ»Îâ¹Ìà¼ÎÞ»Î߸ÍÞ½Îà¼ÌܺÌß»ÌÞºÌÞ»Îà¹ÍÞ½ÎÞ½ÏàÀÎݽÑà½Ñß¼ÏàÀÐßÅÑàÃÐàÂÑàÃÑáÂÑáÂÑá»ÇÙ³ÄØ°ÃÕºÉÜ¡µÁ}yjX0+#00()2-*,#++48'+ †yi>6( *Oju‚˜¥[is>:@dlsFB;PXHhzQUJ2-%;9ARebebU˜œ©¸ÆÕ½ÍÚ¿ÑÛ½ÌØ»ÌÛ»ÌÙfbc/%00)0.+)//"!# $%! $ - !5&" ‘y½±¤ÃÊÎÁÐâÃÑàÁÑÞÂÑâÂÑáÁÓã¾ÑâÀÏá¾ÐáÃÓá¾Ñá¿ÑâÁÎâ½ÑâÁÑáÀÐãÀÑâ½Ñã¾ÓãÀÓâ¿ÐßÀÑâÁÑä½Ðã¿ÎáÁÑá½Ðá¾Ñá»ÏàÀÐá¾ÎâÀÐâÀÎà¿ÍÞ¼ÌݹËݵÉÞµÈܶÉÞºËß»ËÛ´ÇØ²Ã׬Á×´ÆØ±ÆÚ­ÃÔ¤»Õ¥¹Ò§¸Ó¤»Ò¨¾Ó¨½Ó¨½Ó§¿Ó¨½Ó§¹Ñ¨»Ñ¥¹Ñª¾Ñ©¿Ó«ÀÔ±ÀÒ±¾É²¾Í¯ÀвÀα½Ì¯¼É¶ÁϨ¬¹†lZ€_L ˜‘{cZC)(,     * L%=*&B* @4&B)B,@ ?#:2$! * , / "( ?' (o…‡OTW+%  ($µÁÄ¿ÈÌHP|:Rk-Jz&"    2FEb‡u‹­¤¶Ë©»Ì©¼Ëª¸Ì°½Î ±¾Žœ }xj09, !     '"( &"   %)!RmvQh„‡‡š¦¶Ä¯¾Î´ÆØ¶ÆÖ¯ÁÑŒ¨À‹˜«ž­¸†‘…tlc¢®¼›¤µ¬¼Ì®¼Ì™¢´Ž˜¦‡•ª}Š˜…•“~‹œ>FO>LR?0,?3#!        ,""%2/A9!KG2G@+:?+PMBD8v­·½¶ÆÌ»ÉÙ¾ËÛ¹ÌܼÌÞÀÏà»ÌÝ»Îß¼ÐÞ¾ÎÝÁÎÛ¼ÎÜÁÎß½Íà½Îß»ÍÞ½Ðà¼Îà½ÍÞ½ÌÞ½Îß»ÍÞ½ÎÞ½ÐݽÎàÀÐà¼ÏàÁÍݽÎÝ¿ÎݽÐá½Ïá»Ðá»Ïá¿ÐݽÏß¿ÍÞ½Îß¾Ðà¾Ñà½ÍßÁÑà½Ïà½ÏݽÎݾÎÞ¹Îà½Îà¾ÍÞ½ÍÞ»Ìß¾Îß»ÍÞ»ÐÞ»ÎÛ¹ÎÞ¼Îß»ÌÞ¿Îà¼ÐáÀÑá¾ÒÞÁÐÞ¿ÐÞ½ÐÞÃÐ߯ÒáÂÑâÃÐàÀÐàÂÑß¿ÌܹÄÔ¼ÉØ¾ÍÛ¼ËØ¼Ê×·ÅГ‘JE/64. I\aIB4d[K•™µÇÕ ´»8D:05+RZIlx„LW_Ws{XekTcZ@@2==5\bpME=og\i]Z—¡ª±ÃлÍݼÌݼÍÚ»ÍܹËܺÌÙ™ž§4+'61/!  6)!C8+ZZHWYF_[JqmZ^hcnwiptd©¤’ÀÂŽËÖÁÑÞ¼ÎݾÐáÂÐâÁÑà¼ÑݾÐà¿Ñá»Ïà¿Ñà½ÐâÁÏà¼Îß»Îß»ÐÞÃÓã½ÐÞÀÒâ»Ðß½Ðà»Ñß½Ðà¾ÒßÁÒá½Îß¾Ðá½Ïá¼Ñâ»Îà»Ðá¼Îà½Ñà»Ïá½Îà½Îà¸ÌÞ¹ÍܸÌÝ´ÊܸËݺÏÞ¼ÌݵÆÛ²ÄصÇÛ¶ËÚ«ÁÑ¥½Ó£¿Ô¦¿×¤»Ô¨¾Ï¨¼Ö¦½Ô©¿ÒªÁÓ¦¾Ó¤¾Ó¦¾Ô¯ÂÕªÁÒ®ÃÔ±ÄÖ³ÄÒ®ÂѱÂѳÅÖµÅÕµÅÕ¸ÆÕºÅÖ¶ÄϹÈÖµÄÓµÁв»Å°²¹«¦«£š”N=:!$&6::161:1)2*1WK7©£šª¤’§£©©¨\;)+" $ $',&91%,3+# !''&+2, #"%$   3)!D:.*%#""*%)=@ #&'1/  %"%-8 #- *)#'  MF6`\HihVjdQ8)<*<9''% $   $$**!$0([>¥ª¥š±¬ ­®®¥ª®¤´Ç¨¶É¤³É¬¶Ê©·É¨¹Î§¹Ñ©¸Ð¤¸Ìš±É™¬Á’©Â™¨Ä“©Â˜«Â•©Â—ªÁ“­ÅŽ©ÀŒ¬Ä¥¾¥¿Ž¨Á”§¿”©Ã‘ª¿”ª¿“¬Âš«Á—©Áš«Á“¨ÃªÃ™­Á–«À˜®Å˜¬Á˜¬À›ªÅ™ª¼šªÃ™¨Á“­Çš¬Á–®ÇšªÀ’§Á—«Á™©Áš®Ç’§Á‹£Á•ªÄ˜¬Á—ª»“ªÁ•«Æ—¨Á–«Á“§Á•ªÁ•«Á•¥º™ªÁœª½˜¬Á•ªÃ›«¼™«Â›­Ã›ªÁ™«Â›¬Â𩾡¯Â¯Å˜°Æ—«À¥°Ã—®Å ³Ä¤¯Ä¢°Å¢®Ä¡®Ãgfo?'6-/8#%'&$#@55LMHvƒŠš­»†’£š£±¨¯¾²¾Ë±½Ê²¼Ëµ¿Ï´¼Í¸ÂÒ»ÅÓ¼ÆÔÀÉÕ¿ÊÖÁÉÔ¾ÆÒÀÄÎÆÌØÇÑÜÈÒÝÆÏÝÃÍÛ²¾Ñ­¼Ë´¼Ç¢§¼†~…WPA     +:(Et - //³ÀýÇÉ‹¡°qu&/ )&%..+(.**DIN`B@G@;5CL=/3(( "33+.-! $!>696";3 >9+VP:ek]wˆ‘eddx‡˜}vhŸ¨½µÇغÍÛ¿ÎÞ»ÍݾÐà¾ÎÞ¾Ïà»Íá»ÍâºÍà½ÌáÁÎÞ½ÏÝ¿ÍàÁÎà½ÌÞ»Îá»Îá»Îá¼Îá¼Îß½Ðà¾Ðâ½ÍàÁÐâÃÑáÀÐâ¼Ïâ½Îâ½Ñß¿ÑàÁÐâ¾ÏáÀÑâ½Ðâ¿Ñâ¿Ðâ¾ÐâÃÑà¿ÑàÁÎâÁÏà½Îá¿ÏâÀÏá½ÎáÁÑà»Îà¾Ðß½ÍÞ¼Íà»Ïà»Ïß½Îà¾Ñâ½Ñã½Ñá½Ñá¾Îà¿Íà¿Ïà½Îâ¾ÐâÃÐâÄÑáÄÔáÆÔáÆÒáÁÐßÀÏàÀÐßÃÒáÄÒãÃÒáÄÒÝÂÐáÃÎàÀÎÞ¼ÎàºÊÚ±ÀÈ™›‡}jœ–{¬²´¸ÈÔ¹ÈÖ¶ÉÛœ¬V\OhjGˆŒ‡‘¥°qnsnukZ]`nskpwpl}Š}¢Š”¢§¶Á¶ÃÓºËÛ·ÌÝ»ËݽÎà¼Îà½ÐÞ¼Ðà¹ÍÝž¬µ95.5/14<1#+#$!!'+(76/4,"$0)(G/) —·±«¾ÇÓ¼Ðâ¾Ïá¿Ñß»Îâ½Îâ¿ÑãºÑà½Ñá½Ñá¼Ñâ¿Òã½Ïâ½Íà½Îà»Ñâ¿ÐáÀÑâÃÓâÁÒã½Ðá½Ïà¾Ðà¾ÑâÁÒäÀÒãºÑá¾Ñâ¿Ñâ¼Ïâ¾ÐàÀÑã¾Ñä¼Ïã¼Íá·Íß»Ïà»Ðâ¼ÏÞ¼ÎߺÎá¶Ëâ»Ìß¹ËÞ¶ÉÛµÉÛ°ÅØ®Ã×®ÁÖ­¿Ô©¾Ø«ÁרÁÖ¦ÁÔ¨¿Ó«ÂÓ¨¾Õ®ÁÔªÁÖ°ÁØ®ÃÕ®ÃѲÂÖ±ÅÖ±Ä×±Ä×·ÆØ¸ÇØ»ÇØ¸ÉÚ¼ÉÛ»ÊÛÀÌÛ¼ÉÚ¼ÉÜ¿ËÛÀÌÜÁÌÜÁÌÛ½ÊÖsor'&0.-53#++$*3SA2¦¡–«£’ª¡–©¤›T@2% #.-"-916-*!         &==B5)&                %  B7I<--!/#7/)"   '55*>4('.*=7F1cZ9‚•¨­½Î±ÁÓ¶ÄÑ´ÆÕ·ÄÖ¡¶Ì‰©Âœ¯Æ›±Âª»Æ”¦«“œ©³Á¶ÆÓ²¼Ñ¤­Äœœ­¥ª­¦®½¶ÆÓ¶ÆÓ±ÃΠ¯¾{–š‰™©y…xOSK"#$ %.3'JE=B@1/=?'-+%."%>4PH)UL=HKCJZh:(¦¤”®°ªª¨£¢ŽO@:$=,(’xN‰eHXA4) (,--6'$# 2)-J*$j<_//)%H8$tF!m=+'    "cI0]4,?   !1#"$     2$X@/C9$    "'       ( 0%.91+6$&"!h`B®³¶¤š€¥ž„®«¦¨§«®ºÌ£µË¥·Ë©ºÎª¹Ë«½Ðª½Ñ©¼Ð­»Íž´Ë–«Â˜®Ç‘¨Ä—«Á•­Ç”«Á«½•©Æ«ÄªÂªÂŒ¨¿‰§À‹¨½Œ¦½”ªÁ§Á§¿“«¿©Â”©À‘ªÁ˜®ÃªÂ“ªÁ™®Ã˜ªÁ’ªÁ˜¬Ã“­Ä¬Æ’«Å“ªÄ’ª½•©À—ªÂ§ÁŒ¥½¥¾’ªÀ’ªÁ“¨Á’ªÀ’§Æ¦½Š§ÂŒ¨½•¨À–ªÂªÃ”ªÂ—¨½•¦À™¬¾š¬ÀšªÁ›©Á›ª½™¬Ãœ¯Á›¬Âš¬Âœ­ÅŸ¯Å›¯Åœ±Ç ³Ê¦±Çœ°Â¤²Ã£´Æ£³É¦±É¤¶Ë©¶Ë©´Ê¤±Ç…v™kd„‘˜mfh•ŽŒŒ—–˜Ÿ§»É±½Ì°»Î´¿Í´ÃÓ¶ÂÒ¶ÃÔµÅÖ·Æ×¼ÇØ¿ÇÕÀÉÔÀÉÒÁËØÆÎÝÅÍÛÇÍÞÉÎÝÊÒÝÊÒÝÉÒÝÇÑܹÂÔ°¶ÄºÄή³Ãž¢ª56XFGg4"%9<2&59:1,  #4  o6‡•'*1=8µÁĽÈÊ_`Z=Jx!/6"%,"3KJ">5 '*67PD+Œ—©¬½Ï±¾Ò®½Ð±ÂÖ«¿Ô«½Îª¼Î¬¹Ë¤¶ÊŸ²É‰ ²dlr525JTbN]Z;BD   #$"00'& ;BF)>,      4$]P2„eIUHJ,#   lg`¦±¸•¤±&#%   qmR[j}   C<40+  -&',6))F:/dUDª«©ª¦¡®¬¢¬«©ª«¬¬¹Ì©·Ìª¹Î¬·Î¨·Ë­»Îª»Ñ¤»Ñ§»Ñ¤´ÌŸ°ÆžªÄš¯É›«Ã—«Æ™©Æ’©Ä–©Æ˜«Å•ªÂ–ª¿œ©À•¨À‘¯Æ˜«À©¾—ª¿˜ªÃŒ¦¿—®Æ“¨À’¨Á’©Á•ª½•©À™ªÆ—¬Åšª¼™§À—¨»”¬Å‘§¾’¥¿‘©¿–¬Á’§¾š©Á‡¦Å–ªÆ‹¥Ã—§ÂލÁŒ¤Á¦ÃœªÆ•ªÁ”ªÃ–§¾§Ã—¥¿•¦Âœ¨Á˜ªÁ™ªÃœ®Æš­È­Çœ¬Â–©¿ ª¿«Âœ®Æž­Å©²Ç¥®Ç§²Å¦±É§²Ë¤¶Ë¦´É«¶É¬¶É«¸É®»Ë¯¼Í­·É±ºÌ®¸Ì¯µÆ«µÁ­¸É®¸È³·Æµ½Í¸¾Î´¿Ñ¶ÀÔ³Á׺ÄÓ¸ÂÕ¹ÀÕ»ÁÔ¼ÃÖ½Ä×¾ÇÖ¿ÆØÃÉÚÅÊÚÆÎÝÈÏÞÊÎÝÇÏÝÊÑßÊÑßÉÏßÈÏÝÂÊÙ¯¹ÇªÄ§°]¦JHLjry†ˆ…pxŠTTDKj‰BD<666 )  ]ONœŸª¹ÇdgwIWU¹ÂÅ¿ÈË¥¶ÂnaH@>,0,#98#HP3W^96?)KU?[gMgjHª»¬½Î³ÁΪ½Í®ÁѰÁÕ¬¿Ð®ÂÓ©¾Ðª»Ò¤¶Ì£µÇ ±Ä„—¢myzYix)-D#+     0,! '"& 1=6,%$   '0>2pq\©¼ÌµÁѵÄÒºÅÒ¶Æ×¹Ç׺ÆÕ¶ÃÍ£¤ªŒ‚‘Š„iFoX>si`‹€s®¯³¾ÇÔÀÉÛÂÌÜÁÍÛÀÌØ¾ÈظÇÚ»ÇØ´¾Ë‚’¢ei~{ŠœR^TPTIG?1D='>8'" -"X[G[^T0.92$FOJ75$@6'VLGncV{gX˜—˜µÅиÉ×»ÉÛ¶ÇÛµÈÜ·ÈÛ¶ÈÛ´ÇÜ´ÉÛ¶ÊÛ¶ÆÙ·ÇÚºÉÛºÌݼËÝÀÑáÄÏâÃÑàÅÑàÁÍà¾ÏáÁÏÞÂÌà¼Îâ¼Îà»Ëà»Íß»Íà½Ìß»ÎàÄÑâ¿Ñß¼Ðá¿Ðã¿Îá¾Ðá¼Ïß»ÍÞ¸Îà¼Îß»Íß¹ÍߺÍà»ÎáºÏâ½Îß¾ÑàºÏà¼ÐâÀÎá½ÎßÀÍá½ÏâºÎÞ¹Ìá»ÎÞ»ÍܾÑá½Òá¸Îá»Îâ»ÎÞ»Ðà¾Ïà½ÎÞ½Îà¼Îà¾Ñâ½ÏáÀÑáÁÓáÁÐáÂÑàÂÑâÁÏßÀÑá¼ÐàÀÐàÃÑãÅÔáÆÒßÅÓâÅÔâÆÒáÆÒàÄÐßÁÑâÃÓãÃÓâÅÑáÃÑÞÆÐàÁÑá¿Ïà»ÎàºÌß»Íà¸ÌܺÎÞ·ÌܺÌܳÊÝ´ÌܹÍÞºÎÞ¹Ðà»Îá¹ÌÞºÌݽÎÝ»ÍÜ»Íß»Îß»Íß¹ÌÞ·ÍÝš¬µ672-)%$$5/.OJC3*"*+#'(10/>FH% )&%:+#”‚y ™“Ÿž¥¸ÌÙ¸ÎÞ½Îß»ÎÞ»Îâ¼Ñá»ÑàºÎá»Ïà½Ñá¹Îà¹Ñà»ÑâºÎà¸Ïà»Ñâ¹Ðá¼Óâ¾Ðâ½Ïâ¹ËàºÏá¹Îá»Ïá¹Îá»Ïã½Ðâ¼Ïá»Ï߸ÎâºÑã»ÐãºÏâ¼ÑàºÑáºÐâ¼ÏàºÑâ½Ïà¼Ñâ½Ñâ»Ðà¾Îá½Ìá¶ËݶËݶËݶÉݹÍá»ÏÞºÍÞ·ÉݹËÛ¹ÊݶÇÙ±ÆØ±ÆØ±ÆÙ³ÆØ³Ã×´ÇÛ½ÊÛ»È×ºÉØ¶ÆÚ·ÉÜ·ËܽÍÞ¾ÍßÂÌÝÃÎÞÆÐÝÃÐÜÃÎÞÄÑÞÇÑàÆÑßÇÓßµ»Ç.   " N+`9o@ S*…x_)!dF9½ÇÓ¿ËÓŠ‹š5,$(&!+()#:9/™Œ…ÊÐØÉÏÜ\HE !‰w·ÆÔµÄÓSII  $˜“‘ÀÈÓ¾ÈÕZLK! &´ÁÌ¢£ª9-*   ˆ§µÈ±Ä-+,    wy}0&2*$  %".'VG?¦¥£¥š‰«­®­§š¨­¯¨¶Ê¦¶Ë¦¸Î«ºÌª¸Í®¾Ð¨¹Î¨»Í¢µË˜®Å—¯Æ™®ÅŸ±Íœ­Àš­Å•­Ã—«À’©Á”ªÂ•­Å”«Æ˜°Æš¯Å—©Á•ª¾“©¾—«Á—ªÃ”ª¿–ªÃ™¬Æ•©¿‘©Æ¨Á™§¿‘©À—¨½‹¨À•«Ä’®Ä’ªÁ–ªÃ‘§½˜ªÀ’ªÁ‘¦½¥Á—¬À•ªÃ’¬Á–©½—ª¼¥À¥¼—©Á¨½–ª¾–­Ã–­Ã™«Â–¦¼˜ª½š®Ã˜«Ãš­ÇŸ¯Éš¬Ã˜¬Ä¬ÂŸ­Ã¢°Ç ¯É¦²È©µÆ¥·Æ¤·Ç©¹Ìª¸Í©³É©¹Ì±¼Ï°¼Í±¼Ò°¿Î®½Í²½Ì²ºÎ³Ãб¾Ñ´½ÎµÀÑ´¿Î´ÃÔ·ÃÓ»ÀμÃÓ¹ÃÓ³ÁÑ»Ç×·ÄÕ¸ÄÕ»ÇÖ¹ÇÖºÄÔ¼ÆÖÀÇÛÀÉÚÂËÛÅÎÝÃÏÛÅÐÜÆÎÞÇÏÜÆÎÝÂËܺÄÕ­±Æ­ºÊ µ\g‚!!+<FNW+.@Nii#9$( #EFE”™˜œ±Âv”¶=Jehh_ºÂÆ¿É̹Ãа¾È¯»Ä¡­§ˆ‡rœ©®¤·É§¶Æž­²§·Å¬¸Ê°½Î¬ÂÒª½Î«¿Ô©½Î¬¾Ô¶ÁÕ³ÂÖ®ÁЬ½Ò©»Ð¥·Î¤¶Ì¡¶Ð—ªÂ•¬Äƒ™²WTR970(              $##'/BI7;0DHQp§M`l+3&    ,*B,01+9J<2>/ƒŒ‘±¾ÍµÀѱÀÑ´ÃÓµÅ×»ÈÙºÉܹÄÕ»Ã×·ÅÖ»ÆÓ½ÆÑµ¾Ì±³±¬®­ºÂÒÁÊÜ¾ËØÁÇØ½ÉؽÈÛ¼ÉÛºÈ󼂯·ÃÑ©±¶¢®»™«¸{~‡[`cMGJ—Ÿ¨ˆŒ“ZL5FD,QGB}‰—l|{LF/B<(XI4q`AŠ~l¨³Å°ÁвÄ×µÈÛ³ÇØ­ÇÛ²ÇÛ°ÄØ±ÄÙ­Ã×®ÂØ±ÃØ®ÄØ®ÅÛ´ÆÝ»ÊÞ¹ÉݼÊܹÌà»Íß¿Îà¾Îâ¿Ïà»Íâ¿Ïà¾Íá»ËÜ»Ìß»ÌݹÊÞºÌâºÌá¼Ïá½Ðâ½Îà»Ìâ¹ÍߺÍà»Îá»Ïâ¹Ïâ¼Ïá»Îß¼Íß¼ÍÝ»ÎàºÎâ»ÎãºÏâºÎà½Ïà¾Ìß»Ëß»Îà½Îà½Ïà¹ÎߺÍàºÎáºÌÞºÍà¸ÌߺÏà¶Ìà½Îà»Îà¹Ïâ»Îá½Îà½Îâ½Îà¾ÐáºÐá½Ðâ½Îá½ÑáÂÑá¿Ðà¿Îà¼Ïß½Îà¾ÎßÃÐá¿ÏáÃÒâÃÑáÁÑáÂÑá¿ÏàÀÏà¾Ñß½ÐâÂÐâÁÑàÃÐàÁÑâÀÐß½Ðà¹ÎÞºËݵÌà·Îà¸ÎàºÌÞ·ÉÞµÊݶÌÞ·ËÛµÌÝ´Ëß³ÌÞ·Ìß¼ÎÞºÎàºÏá¼ÍàºÍߺÍà¸ÌÜ} (&+,#3+(~xs«¾ÅPMF"%'*&"ZDD› ¦D@<%!$60'Ž…x’†ršž¢¶ÍÞ¸ÍÞ½Íß¼Ìß¹Îâ¸Ðà³Îâ·Íà¸Ìà»Îá½Ïá»Îà»Íâ·Îà¸Îâ»Îâ»ÏÝ´Îâ¸Îá¹Îà»Îà½Ïá¹Ðâ¹Îá¼ÏáºÍâ»Íâ¾Ðß¼Ïà½Ïâ¾Ïá¸Îá·Îã»Îá¹Ïã¼Ðâ¹Ïá¼Îâ¾ÎâºÎá»Ñâ¹Îá¾Îá»Îà¶Ìà·ÎàºÍà¼Ïâ¼Ðà½Îá½Ïá½Îâ¹Îâ¶ÇÛ·ÆÛ²ÇÛ±ÄÙ°ÅØ²ÆÙ±Ã򨁯¸ÉÛ·ÈÚºÊݵÇݹÊÛ¸ÈÜ¿ËÜ¿ÍÝ¿ÍÞÂÍÝÃÎÞÃÐàÈÑàËÔßÈÒàÊÑÝÉÒß¼ÅÑ0+3##((*&B?#œ™†˜—‰¦£§ šŒyU;&}`¿ÉÖÂÌÜ™•£N82I2*L4&\?*a\I®¡~ÌÓÝÈÏÜŽlo_:(P4&R5"kY>w`F£—½ÇÕ»ÆÕ}diG/$H-"E-D.M1#©¡ŸÇÍÙÅÌÚymnG2)D6297*F5$U:'¡¢žºÅÕ²ÀÒ^MPB*2% :(/'"F(#—š–±»Ë¥·ÉREE+<>(A+;$•–ŒTb„       R@3 )(#("/-@:,—‘§¥§©¤¤«ª¦¤««©¸È¨·Î£µË¤³Ë¤¸Ñ¢¶Î¤¸Î¥¸Ë£µËž²Ë™¯É™®Æ˜¬Ç™¯È•ªÆ—«Æ—«Ã˜®Ä–ªÄ—¬Å›­È“¬Ä—¬Ç–¬Å”«Ã™°Æ™«Ç›­Æ–§Á¨À•©Æ•­ÊªÁ¨Ä–¨ÀžªÅ˜©Á𩽗¨¾“«Ä§Ã’ªÅœªÁ˜¨»”©Áާ¾Œ©»‘ª¼—¦¿Ž¦Æ•¢¿‘£¾–ªÆ–ªÃ‘¨Á“©¾’©Á•¨Å™­Çª¿œªÃ™¨Â•¨Á›¬Â›«Ã›ªÃ—ªÆ™­È›­ÆŸ®Å®É¡®Â°Ä¥´É¦·Í¨¶Ì¬¼Î¯»Ñ¯½Ï¯½Î¯½Ï±»Íµ½Ó²¾Ó·¿Ó´ÂÖ²ÀÔ·Àη¿Ô¸ÃÔ·ÀÑ»ÁѸÀÖ¹ÁÔ¹Ã×»ÅÖ½ÇÑ¹ÅØ¸Å׺ÁÕ¹ÂÒ¹Æ×»ÆÙ¼ÇÚ»ÆÖ½È׿ÈÚ¾ÊÜÀÊÛ¿ÉÜÀËÚÁÌÝ¿ÌÚ¿ÉÙ»ÇØ¬¸Ñ…‡œ›ª¸‹›¯c``/1R &!,"!!   #$#2Fb --#0#:5=`xw¸ÂÅ¿ÈͶÆÓ³ÃÓ±ÁѳÃÓ­¾Î±½Ï­½Ï¬¹Î¬½Î±¿Ô°½Ï±½Ì®¿Ó²ÁÏ®¾Î«½Î®»Ñ®½Ñ®ÀÏ«¾Ñ§¸Í¦¶É¤¶Î£¶Ëž³Ë ´Ê²Èž²Æ–ª»‰–¡l|‰B8*1$!::=51  !           !%#  "-;;9/7#RI3SMFMYiYg{<;.?HK     2+-+"voZ§±¹vfD‡h°ºÉ·ÅÓ¹ÆÓºÃÓ¹ÅÒ»ÇÖ»Çֻɨ¹ÇÛºÅ×ÁÉÖÅËØÁÊÛÂÇÒ¿ÇÔÀÈØ½ÈØ¿ËÝÁÍÝ½ÆØ»Æ×½ÉÙ·ÈÙ»ÉØ½ÈÚ¼ÆÚ±ÁѪ»Ì¡²Â™¤¯ƒ‹†›—©½«¼É«²»Ÿ¡œ”‡{Ž„‚‡u”z¡¥ž£¢§«³Ä­¾ÑµÃÖ¶ÄӳŨ°ÄزÆÖ¶ÇÛ¯ÅÖ±ÃØ²ÅÙ¶ÆÚ°ÃׯÅÖ³ÄÖ°ÁضÉÛ¶ÇÝ»ÉÞÀÎÞ¿ÎݽÎÛ¿ÎÞ»Ìß¼ÊÞ·ÈÜ·ÇݹÊà¼ÌÞ¾ÍÞ¼ÎܾÍà¾Îß¼Îá½Îà¼Ëà¼Îá¼Îá¼ÎÞ½ÍݽÎߺÎá»Ï߸Ìà»Ëà¹ÎàµÍßµÍߺÍà½Îá·Íà·ÌܼÎÞ½Ðà½ÑâºÏà»Ïà½Îß¼ËÞ»ÍÝ»Îà·Ìà¸Îâ¹Îà»Ïß¶ËߺÊߺÌà¸ÌÞ¼Íà·Ïá»ÍâºÎà¼Ïà»Îß¼Ðß»ÎߺÏà¼Ïá¾Ïà¿Ñá¼ÑáÀÑáÀÎáÀÏàÀÑáÀÐàÀÐà½Ïà½ÐáÂÑàÁÐß¾Ñâ½ÎݽÏÞ»ÍÞ¾ÐàÁÐâÃÑà½Ñß½ÎÝ»ÎܸÍà¸Íß¹Îà¶ËàºÎß¶Ìß»ÍݼÍÞ»ÎÞ¶ÊݹÍݹÌݺÎÞ»ÎÞ»ÐàºÏß¼ÍܺÍß¹ÌÜ›ª´).0)'(/+'Ž˜žµÆÓr^VJ/%E2+˜›™°ÀÌWTUG'!R4%š†»ÁÉ·ÉÕ¹ÍÞºÏà¹Ïà¹Ïà¼Ïâ½Ñß¾ÐâºÌá¼Îà»ÐàºÎà¸Ïá·Îà»Ðá¼Ïß½Îà½Ñ߸ÐߺÐâ¹ÐߺÎà¼Ï߸Îà¼ÐáºÎá»ÐâºÍá¹Îà¸Î߸Îâ¼Ðá¼ÏߺÎá¼ÏâºÎß½Òá»Ïá»Ïá»Îà¾ÑáÁÑâÂÐà¼ÎÞ¼Ïâ¾Ïà»ÏâÀÎà¼ÎßÀÑá¿ÑâÁÒà»Ðâ¾Îá½ÌÞ½ËÛ¶ÇÛ¶ÆØ°ÄØ³ÆØ°ÄÕ´ÃØ³ÆÚ¸Ç×·ÆÛºÉܾÌÝÁÌÝÃÎݽÍÝÂÌÝÃÎÞÂÍÝÁÏßÇÑàÈÒáËÕàÎÔàÍÖáÂÊÖA43 '# 5B8,š˜‚‚e£“„¨ Œ¶²®½ÁÅÅÇËÇÌÙÇÏÚÆËÓÃÇÌÂÄÇÂÄÆÃÈÈÇÈÃÍÒÕÍÖàÌÖÝÇÌÒÃÇËÃÇÇÂÆÈÀÃÆÀÃÈÁÇÐÃÍÚÁËÙ¼ÃÍ¿ÂÆÁÆÆÃÅÆÅÇÇÇÈÈÊÎÖÌÓÞÈÓÝÃÉÒ´¬­«˜‰¤wYÀÀüÃÉÂÇпÉ׸ÁÒ•„–¶»¿¼ÁǸ»Â´¹Á³ºÃ¶Â˽ÉÕ¶ÃЫ³¼rI¼¶­¹¹µ²µµ­±¬­¹ÆXXv      1198. 1 ?=<^QB+'(-"$($'B0!ž™–©ª¬¤•…Ÿ’”zurž¬Âª¶Íª¶Ê«ºÎ§¹Ë¥¸Ï£¹ÌŸ´Ì›°Éœ°ÇŸ²Ç°Ç›®Æ™¬Ä˜­Åœ¯Ç›«Æœ°É›®È–­È¡°Â›²Å ¯Ç«Åœ®Åœ¬Ä ¬Â›©Å”¨Â–­Ã•«Æ˜­Å˜­Ç¬ÃŸªÀ›®Å—­ÇªÃ–«Ä”ª½–ªÁ˜«Ã«Æœ«Á™©Ã–ªÃ™ªÁ’«Á˜¨Ã˜¨¿—¦»™ªÄ˜¥½™§Á–©Ã—«Á—§½«Ä—«Àœ­¿¡­Â¡®Ä˜¬Å’ªÅ™­Æž®Åœ¬Æ§±Â ¯Ä¢°Ç£²Ë£³È©¶É«¶É­¶È¬¸Ì±¼Ë±¾Ð´½Ñ±½Ð²¿Õ¸Ã϶¿ÓºÀÓ¸ÃиÃÓ¸ÃÑ»ÄÕ¼ÆÙ»ÁϼÅÔ¼ÂѽÆÙ¼ÆÓÁÇØ¼ÆÖ¾Æ×ºÆÖ¹ÇÖ¹ÅÔºÃÒ¶ÅÔ»ÆÒ»ÄغÆÖ·ÆØ¿ÇÙ½Ç×»ÈÕ¸Æ×ºÅØ»ÁÔ¼ÆÖºÄÖ¸ÅÙ®»É©¶Ä‡’©’žª”ªnnwibXˆHDGC>B      sa3¹ººŽ‹š^pu¹ÂÅÀÈÌ»Ç׳¿Ï®¾Ò­¿Ô­¾Ó¯ÃÕ­¾Õ¬¾Ñ­¿Õ±¾Ó²½Ó±¾Ô®ÀÖ­¿ÓªÀÓªÁÓª½Ñ©ºÑ¤»Ï¢µÌ™±ËŽ°Ì•®Æ—­Æ‘§Ä€¢Â‰¦Ä‘§Æ‰¡Á€£½tªk‡”ZTZ`X`Xet'),+..60)695**'  .*  ' +"( #%'" *$XUhyŽ˜G]]7IH#@c#$   &4(73"Š®ºÊ¸ÁÒ±½Ê³¾ÐºÆÕ¼ÇÖ¸È×¹ÇÖ¹ÆÔ¸ÆØ½ÇÙ»ÉÜ»ÆÚ¾ÉÜÂËÙÀÌÚ¼ÈØÁÈܽÊÛ¼ÉÛ½ÇØ»ÉÛºÊݽÉÛºÉÛ»ÉÛ¸ÇÙ½ÈÛ·ÅÚ»ÆÙ·¼ÉŸ­°—ž±°Ã”Œ“yƒ|fa›Ÿ«´ÁλÇÖ¶ÄжÄѲÄÓ²ÂÔ­ÁÒ²ÄÖ·ÅØ´Å×°ÄØ¸Å׺ÇÛºÉܺÆÜ¶ÇÛ±ÅÛ¯ÆØ°Ç򱮯®ÆÝ¶ÇÚ´ÅØ²ÇÛ±ÉÛ°ÆÝ·ÉÞºÊܽÉÞ»ËߺËà·ÊÞºÇÝ´ÇܵÊÜ·ÊݸËݾÎâÀÏá¿Ðâ½Îß¼Îà»Íâ½Ðã¼Îá¼Ïã¹ÎàºÎá¹ÌÞ»ÎߺÎàºÎà¸Ìà¹Îá·Ìà¸ÍáºÎá½ÐâµÌÞ·ÌáºÌÞ¸Îà¸Íá¿Ñã¸Ëà²Íá¹Îá¶ÍàºÎà·Íà¸Ëá¼ÍâºÌáµÍáºÏá»ÍáºÌà»ÍâµÌà¸Îá¼Ñâ»Ïà¼Ïã»Îà·Ìá»Ïá¸Îá¸ÎáºÌß¼ÐáºÏã¼Ïâ»Íà¶Ìà¸ÏáºÎ߸Îá·ÍÞ»Îá¾ÐâºÎâ·ÏÞºÎàºÎÞ½Îà½Îà¸ËݺÍà½Ïá»Îá¼ÍÞºÎà¶Îà·Îá¸ÌàºÎâ¼Îà¹Ìá¶ÍÜ»ÐߺÎÞ»Îà¸Îâ¸Îá¹ÍáºÎà¼Îâ»ÎÞ»Íà´ÆÐŠt†zeŠ|o¨³ººÉÙŸ¥³™‡‡­ºÄ¸ÊÙ˜š–”’—§§ªºÇÔ»ÍܹÏà¼Ñá¹Ñã¸Îà¶Ìâ¼Ïâ¿Òâ»Ïâ¸Îâ»ÎàºÐà¹Îà¸ÏâºÍâ½ÑâºÎâ¹Îâ»Ïâ¹Ñâ¹Ðâ·Ñà»ÎáºÎߺÐã¹Ïâ¼Ñâ¸ÑäºÐã¹ÏáºÏá¹Ðâ¹Ðã¼Ðå½Ïä¼Ðâ¹Ïá¼Ñá¹Îá¼Ïâ½Íâ½Ðâ»Ïã¾Ñä»Ïã½Óä½ÑãºÐã½Ïâ½Ðä¶ÎãÁÎãÀÒå»Ðã»Ñâ»Ðã¿Îß½ËÞ¸ÇܵÆÚ±ÆÙ³ÅضÇÛ³ÇÛµÈÚ¶ÈÝ»ËݽËß¿ÌàÁÏáÂÑáÅÏàÆÐàÃÏáÃÎàÆÐàÉÕâÇÕâÌÕàËÕâÁÍÖC89!;4'KB+™‘w˜Ž{ª¡—ª™€¾»ÆÅÎÛÉÏÞËÑàÊÕàÉÖãËÒáÌÒßÊÔâÌÖáÎØâÏÚâÎ×ãËÕàÇÓàÉÑàÉÒáÊÒ߯ÎÝÇÏßÅÐÞÂÑàÂÎßÄÎÝÅÐàÉÒßÌÖâÎØáÎÖáÍ×äÍ×ãÍÖàÌÓßÇÑßÇÏÝÉÐÚÆÏÞÇÑßÃÎÝÃÏÛÁÌÚÁÄÎÃÌÛÇÎÝÆÍÝÅÎÛÂÌÛÃËÜÂÊØÀËÛ½ÉÛÁÈÖÊÒÝÊÓÝÁÉØ¼ÆÓ¶ÃÑ^gz     ‚rU ‘t¢’„ž‰z¦Ÿ•vl[§¬µª±²¦OA76(#%*(###"&!$$@6$¢ “±¥Ÿª¦¤˜‘¤˜z§¶Á¤¸Ì¦¸Î¤·Ð§¹Ñ¤¹Ñ¤³ÊŸ´Ëœ²Ë™±Ç™±Ë¡²Ëš±Ç›±Ê¡®ÇŸ±Æ¢±Ç£±ÈŸ¯È¥³É¢²É£³Ç¢µÉ¢¶Éš´É ³È ±Çš¯Éœ¯Çž³Êš²Ë›±Æ”¬Ã–®ÂŸ­Ã­ÄªÉ˜ªÅ˜ªÃ›ªÆ•®Æ–°Ã•¬¾œ­Çš©Å®Å¢±Ãž°Ä›¬Ãœ­Äš«Å®Ç›¬½›ªÁ—ªÇž­Æ¬Á˜ªÁ®Áœ­Æ›°Ç ¯Ç ¯Èœ«Æ ¯Çœ¯É ²Ë¡³Ê£µÉ¦¶Ë¦¶Ë«µË­¶Ë®¸Ì¯½Î¯ÁбÁѳ¾ÐµÃÕ¹Ã×»ÃÖºÅÖ¹ÃÖ»ÄÖ½ÆØºÆ×µÅÔ¹ÄÖÀÈÙ¿ÈÚÀÆÙÁÈÛ»ÇÙ¾ÇÙÁÇØ¿ÆÖ¿É󼁯¶ÄÙºÅØ»ÄØ¹ÄØ³ÃÖµÅÔ²ÂÕ¶ÄÕµÃÕµÁÓ¹ÁϸÄÕ³¿Ô³¿ÒºÅÓµÄ×·ÁÓ°ÁÔšŸ²umnO[yuŠ™f‹ [y—?Gl=8B02FF;2(7I$   (    ,96" (&& 7¨’eÆÌÒ‹…¡SgnºÂÇÁÈ͸ÄÕµÅÕ®Ã×­ÃØ±ÂׯÁÖª¾Ó¦½Ó¤¾Ñ©½Öª¼Îª¾Óª½Î¥¹ÑŸ·Í˜®Ç«Æ‘¨Å‹¥Â‰¤ÁŸÁ€¢¿‰¥À†Áˆ¢À…Ÿ»„Ÿ¹Š£¼‹¡ºŠ¦¿Š¤¾¦ÁФ¼‡ ¹n€•PA2TA)OA*?0'bGTtƒ’bmpBGDMKI82% +$ '()).#&3"=/%VKMPOZ.*'! & %! %'%ˆš­¢¬»·ÄÒ·ÃÒµÂÓ¶ÄÔ¶ÃÓ¸ÅÕ¶ÄÕ¸ÆÖºÅÖ¹ÆÔ»ÆÖ¶ÇؽÉÛ¼ÉÛ½ËݺÇ򼂯»ÆÛ»ÆÓ»ÅعÉÛ»ÉÛ¸ÇܶŨ»ÆÙ»ÆÓ»ÇÙ¶ÆÙ³Ã×¸ÆØ¯¾Ñ¢¨¶—¤°ˆˆ‘’—ª‹‡ ¦¶šœ¤µÃÓ¼ÈÙ½ÈÙ·ÇØºÇØ¶ÇØ²Ä×´ÆØµÆÛ¶ÆÚ³ÆÙ·ÅØ·ÅÙ·ÆÚµÆÚ·ÇÛµÇÛ´ÆÛ³ÃرÇÛµÄÚºÇÙ»ÉÝ»ÊÙ¶ÈݱÆÙ²ÅÚ´ÇÙ¸ÉÚ¶ÆÙ¶ÈÛ²ÆÛµÆÜµÇÜ´ÅØ³ÆØ³ÉÛ¹ÉÛ»Ìß½ÎÞ½Îá½Íá¹Ëà»Îà»ÍàµÌß·Í߸ÎߺÍá·Íß¹ÌàºËá¹Ìß´Ëß¶Êß·ËÞ¸ËݺÌã·Îã»ÎâµÌà·Ìà¶ËÞ·Ìß¶ËݸÍà¸Îà¶ÍßµÎâ¶ÊܺÎà¹Ìß·ÌݺËÞºÌà»Îá»Íâ¹Ìà¸Îà¹ÍÞ¼Îá¼Îá»Ì߸Í߸Îà¸Ïá¸Íà¶Ëà·Ëà¶ÌߺÏà¸Ìá·ÎáºÏâµÍà¸Ìß·ÍàµËÞ¶Ìß´ÊܺÌß¹Ïâ»Ïà¶ÌâµÌâºÉ߸ËݶÌàºÎÞ·Îà¸Îã»ÏáºÎà»Ìß¶ËÞ·ÌݹÎàºÎß»ÎÝ·Íá¹ÎãºËà¹ÌàºÎß¹Ìß¹ÎÞ¹ÍݺÍá»Îà¹Íß·È×¶ÇÖ¹Èֵɨ¸ÌÛºÌÙ½ÍÚºËݺËݺÌÛ¹ËÚ´ÉØ¶ËÞºÑß·ÎÞ¾Ïã¼Ñá»ÍÞ½ÍÞ´ÍÞ¸Íà½Ðà¼Ïâ»Îâ»Îá¸ÑâºÎâºÎà½Ïâ½Ïâ¼Ðâ¹Ðâ»ÎáÁÓã½Ïà¹ÎÞ¾Ðâ¼ÎáºÍߺÎá½Ðá»Ñã½Ñâ¸Îá»ÎàºÐâ½Ïá»Ïá·Îà½Íà¹Ïà¾Òâ½Ðä½Ïâ»ÎáºÎàºÐàÀÒã½Ñâ·Ñâ¾Ðã½Ðâ¼Ïà¼Îã¹Ðà»Îâ½Òâ½Ðâ½Îâ¼Îã¾Ëß»ËݸÇÛ´ÇܰÇÕ­ÃØ°ÃÖ³ÇØ·ÆØºÇ×¸ÆØ¿ÊÝ¿ËÝÃÏÞÄÑàÇÑàÅÐßÇÒáÁÎâÅÏ߯ÒâÈÓàÇÒâÉÑáÀÊØ=;?;>=50$aœv²©¦­œ‰¿ÁÆÇÎÜÊÑßËÓàÌ×áÍÖàÎØàÎÖãÌØäÍÖåÎÖãÑÛâÎÖãÉÒàÆÑàÊÒáÉÓâÇÑàÇÐáÈÑáÆÍßÅÏßÂÎÝÄÐàÉÒáÊÒâÍÕãÐØãÌÕâÌ×âÏ×ãÌÕãËÖáËÕâËÔâÌÓâÇÓßÉÓâÉÒ߯ÒâÆÏ߯ÐÞÆÑ߯ÑàÆÏàÉÑÞÄÎÝÃÐàÆÐÝÃÏÞÇÏÛÈÑßÎÖâÍ×áÈÓàÃÍÚ¸ÃÕsz“   #*#!"„}m¤™Œ¯£”±ª©¥¦²unp®¸È©»É›°@@6,&*+%& %?,š‹u±²±ª«®¢™–€ ªº¢±Ç¡±È¢³Ë¤µÊ¢±È¥µÍž±Éš²Ê ³Ëœ±È¦²Ë¦¶Ë¦·Ë¤µÌ¥¶È¥¶Í¥±É ³É¤´Ê£µÊ¤µÊ§´Ê§µÊ¢²Ëž²ÇŸ²É§²Ç£µÊ£´É²Ç¡³È¤±É ±ËŸ«Â®Æ ´Ëœ®Ã ®Ãœ²È¢®Éœ­Æš«ÃŸªÇ›«ÇšªÆ µÈŸ±Ç°ÇšªÇœ®Ç¬Çž²Â—¬¿›«Á•ªÉž®Éž¯Ç›®Èž¯È ±É›¬Æ¡®Æ¢²Ç¡°Ç¡®É£¯Ë§¸Ë©¶Í©¹É­¹Í¨¶Íª¹Í­¸Ë²¾ÎµÁÒ¶ÃÖ·ÂÖ»ÁйÄÓ¸ÃÖ»ÆÖ¿È×ÁÊÚ¾ÉÙ¿ÇÙ½ÈÙ»Å×¼ÄÖ¼ÇØ½ÇØÀÇØ¿ÇÖÀÈÙÂÉÛ½ÆÚÁÇÖ¼Ç×»ÁÖ¼ÃÓ»ÂѸÂÒµ¿Ô¶ÀÓ±¿Ò²¼Ñ³½Ñ²¾ÓµÁÔ²¾Ó´¿Ó´¿Ñµ¿Ò´¿Ò°½Ó°Àб¿Ò°¼Ìª°Á¦¯»kptHJ5HD>C5(*YTShbN\\Gll{¢®Ÿ¦³¤°Ä¤³Ç¢²È¨´È¤®Á††i  4<;NC%6("dce¦°¿«ºÈ­ºÌ®½ÏªºÏªºÍ­¼Î¬½Ñ«¼Î­¼Ð®¾Ò®½Ð«¼Ð¬»Ñ®½Ï°½Í«ºÍª¼Ñ®¹Ê®½Ë°½ÐªºÑ´½Ñ´ÁÓ±½Ï¯¾Ô±¾Ó²ÂγÂÔ²ÂÓ¶ÁÖ²½Î²ÁÒ¸ÁÒ³ÅÖµÂÓ¶ÃÑ´ÂйÃÔ·ÃÖ¹ÂÖºÄÕ¶ÅØ¼ÅؽÆ×·ÅغÆÖ¶Æ×¹ÈÙºÇ×·ÅÚ¼È󼂯½ÉؼÉÛ½ÉÚÁÇܽËÙ¿ÊܽÌܼÈÛ½ËØ»ÉÙ½ÊÛ½ÊØ½ÊÜ»ËÙ·ÇݺÇÝ»ÇÛ¶ÈÙ¶ÆÚ¸ÆÙ·ÈÝ´ÅÚ±ÄÛ·ÆÝ´ÆßµÅÙ¶ÆÙ²ÆÚ´ÉݶÉݵÈà¸Ìß»Ìà·Ì߸Ìß¶ÊÜ·ËݵÊݸÊÞ²ÉÞ¸Éß´Êß¶Ìß¶ÊÝ´ÇÛµÊÝ´ÉÞ³ÉÞ±ÉÛ¸Îá¸Ìà²Ëß´ËÞ¶ËÞµÊÞ·ÌàµÉݺÌà¶Îâ¹Íá·ÎÞºÌÞ¸ÉÛ·ËÜ´ÉÞ¶Ëß±ÈÝ´Ìà¹Îà¶Ëà¹Íà¸ËߺËß³Ëß¶ÎÞµÍà·Ìß¹Íà¹ÌÞ¹Ì߸Ëà´Íà´Ëß¶Îà¶Ìà¸ÍáºÍß¶ÊܶÊܹÌÞ¶Íà¶ÌÞ·ÎáµÌÞºÌà¸Ìà¸ËÞ·ÉÙ¸Ìß·Ìà¹Ìà´ËÞ´ÌÞ·ÍÞ»ÍݹËݶÉ߸ËÞ¶ÌݶÌàµÌà¹ÍÞ½Ìà¸Íá¸ÌÞ¶ÌÝ·ÍßµÊÚ¶ÌÞ¶ÊÛµÌݶÌÜ»Íà¶ÌߺÌß¿ÍÝ»ÌÞ·ÌÞ¼ÌàºËÞ¶ÌݽÎà¶ÌÞµÊÞ¸Ìß¶ÌÝ·ÌݶÍܺÎà»ÑâºÌß»ÍݺÍá·Íà¸Îâ¸Îâ¹ÌàºÎá»Ïà»Îà·Íâ»Ìß»Ðà»Ñà¹Îß¶Îà¹Îà½Ðá¼Ïá¹Ìà¸Íá¹ÍàºÎá»Ðß¹Î߸ÎáºÎá¸ÍàºÍ߸Íà»Ïà»Ñâ»Ïá¼Îá¼Îá»Îâ½Íà¼Îâ½Îâ·Îá¾Ñâ½Îâ¾Ïâ¿Ñá»Îá½Îà¸Îá»Îâ¾ÍàÁÎà½ËÝ»ÌÞ¹ÌÞ¶ÇÚ°ÅÙ±Ä׸ÅÙµÈÜ»ÉݹÊÜÀÌÝÂÍÝÈÐßÈÓàËÕáÌÔâÌ×âÍ×âÏÙãÎØâÌØâËÕâÉÓáÀÉ×O=<'"*%*70,š€†uK’r©¢‘¶¶¹ÈÒÜËÖàÍÕàÎÖâÍ×âÎØâÍÖâÌÖâÏÚåÔÙæÎ×ãÑÙâÍÖâÅÑÞÄÎàÂÎÞÃÎßÄÎßÇÏáÆÏßÅÏÝÆÏßÇÒÞÊÔßËÕáÊÔãËÑáÎÔãÍÒâËÖãÉÔáÊÔáËÔâÍÖáËÖãÍ×áËÓáÉÑàÉÓàËÒßÇÑàÆÒßÊÑâÉÓàÌÕâÌ×àÍÖàÇÑÞÇÒÞËÓâËÓàÍÖãÍØâËÖãÈÑà½ÊÕŠŽ¤    "…}jrV{Z¨ž…¨ªª˜œ«²½œ¡®>302! h?’`(šm1s=“{Xž«¿¡¯Æ¤¯Æ®É¢¯Ç£³È¤´Ë¥´É¤¶Íª¸Í¨¶Ê§µË¬·Ì¨·Îª»Ï¨·Êª·Ð¨¶Ï«ºÏ­ºÌª¹Ìª¸Ð­¹Ï«·Íª¸Ñª¹Ï¨¸Î¨·Êª¸Ìª¶Ë¬¶É«¶Ë§¶Ï¥¶Ìª·Ë¨¶É¤µË¦³Ç§²Ê§²Ç£´È¤³ÇŸ±Çž­Çž³Ë ®Ç›®É¡±ÉŸ¯É™±É›¯Éœ±É¡±É °Ã¯É¥±É¢®É¡¬Æ£²Æ¡¯Ç£´Ê¡±È§·Ì§¹Ë¨·Ê©³Ì¤·Í©·Ê¬¶Ì­½Ñ­¹Ò°¾Ñ·¾Ñ·½Ïµ¿Ð´ÁѹÄÑ»Ç×½ÇØ½Ç×ÁÇÛÁÉÖÆÊÛÂÊÛÁÊÜÁÉØÁÊ×ÁÉÙÅÌÜÄËÛÆÈÛÃÈÖÁËÙÂÊÛÀÉÙÁÊÚÃÈÚ¿ÈÖ½ÇÖ¼ÄÔºÂÔ¸ÀÒµÀÑ´¿Ð¶ÀÒ²ÀÒ³¿Ðµ»Ï°¹Ï±¼Î²½Ò¯¼Ï±¼Ñ¶¿Ò³¼ÒµÁÓ±¾Ð±»Î°»Ëœ¢‚£—¨¶¡±Çb€­er‰\lt>GU00/ioiš¢žªº†ž³"*  #  $-$&88+u|mKFA-.,hrwƒˆ£z›—’’š©NdlºÂÇÀÊήÂÖ®ÃÕ¨ºÎ¤½Ë›±Í¤µÑ—°ÈªÂ…¨ÅŠ¦Æ¥ÆŠ¥¿‚Ÿ½Š¢ÁŠ£¾{›º¡½€Ÿ½€£À~¡¿„¡½…½¦ÃzŸ»„ž½£¿†¤¾‹©¿’«Ä”­Å•¥Â‘¥Â“­Ä”®È’­É—­Å—¯Ç¡´É¢³È£°È¦´Ë£³Ë£³Ç›¨³œy“œy†ˆrmYbbEv…•—ŸcaLŒ’ “£±{‡~•¤¹ ®Æ¤±È¢¶Ì£³É›±Ë¦·É¤´Æš®¿‹›ŽqpWhfH& =9*^dd’¢¯š«¶ž®À¥¶Ê¦·Ï©¹ÍªºÌ©ºÊª¼Îª¹Î¢¸Ï¦¹Í«¹Ï«ºÎªºÎ¨ºÎ¬¹Ìª»Î«½Ðª¹Î­¼Ñ«·Ð­»Ï¬¼Ð®¼Í®¼Ï²ÁÖ²¾Ó±¿Ð±ÃÔµÂÓ³ÁÖ¶ÃбÃÕ´ÂÖ·ÃÖ¹ÃÔ¹ÇÖ¹ÄÓ»ÆÖ»ÆÕ¶ÆØ¹ÅÔ»Æ×»ÆÕ¼ÇÕ»ÈØ½ÈÙºÈÛ»ÈØ»ÈÙ¼ÇØ¹ÇؼÇ×½ÊÛ½ËÜÂÌÝÁÍÜÀÌÞÀÍÞÄÌßÁÎÝÁÍÛ½ÍßÀÎÞÅÐáÃÎÝ¿ÌÜÀÎÝ»ÊÛ·ÈÛ»ÉݸÈÝ»ÉØ¶ÆÙ·ÆÚºÉܹɨ¶ÇÚ²ÆÚµÇÜ¸ÇØ´ÆÜ¶ÉÞµÇÝ³ÆØ³ÊÞ¶Ëà¶ËܸÌß·Ìß²Íà·Í߸ËܶËÞ´ÉÝ´ËÞµÉÞ·Ìà¶Íß±Êß·ÌÞµÌà¶ËÞ¶Íà³Ëß·Éâ¹ËàµÌ߸ÍâºÍâ»Íá´ÉݱËà´Ëà¶Ìá¸Ìà³Ìà·Îà·ÎÜ·ÎàºÌà¸Ëß¶Îß¶Ìà¶ÎÞ·Îá·Îâ¶ÍÞºËÞ·ÍÞ¸Îá¹Íá¸Îâ·Îâ¸Í߸ÏâµÍà¶Ìá¶Îà·Îà¸ÎàºÏß·Îà¸Îâ¼Ïâ·ÌݹÍâ»ÎàºÍâ®Ëà¶Îà¶Íà¶Îà´Ìá¸Ìà»ÏàºÏߺÎà·Îá³Ìà¶Íâ»Îá·ÌÞ¸Ëà¶Îà¸Íà¸ÍÞ»Îà¸Ïà¶Ìà¸ÎàºÍàºÌß·ÎàºÎß·Íß¶Íß¶Îß·Îà·Íá½ÍݺÍß¶Ìà¹ÌÞµËßµËà·Íà·Ñã»Îà»Îà¹ÏàºÍà»Îà¶ÎâµÎâ·ÎߺÎâ¼Ðâ»Íà¹Ðà¹Îâ¸Îá»Îà»Îâ»Ðá¹ÎãºÎà¼Îâ¹Ï߸Îà·Íá¹Îá¹Îâ¸Îâ¼Ðâ¾Îâ¼Îâ·Íá¹Îà·Îà¹Ðà»ÑáºÑâ¹Îà¼Ìá½Ïà¹ÎâÀÑá»Ïà»Ðá»Ïà¾ÑâºÎà»Ðà»Îà·Îâ½Ïà¼Ñâ¼Ñã»ÎãÁÐä»Ïâ¸Ìß¼ÎÞ½Îà½ÎàÀÍß½ÌàºÌܹÈÚ¶ÄÚ¶ÆÛ²ÆÛ³ÊݾÍÝÁÎàÅÐßÊÔãÉÖãÍÖâÐÚåÑÚåÐÛçÓÛèÒÛçÐÚåÎÙâÐÖâÆÍÛJDE!$nK,1()-( …tM>:[D;¤–y´³µÈÒÝÉÔàËÖáÌÖâÌÕâÎ×ãÎØãÎÚäÒÛåÑÛåÎÚãÑÝåËÙâÂÒâÂÐáÂÍßÂÏßÂÎßÃÏÝÅÐáÂÒáÂÒâÈÑáÈÔãÊÖâÊÖâÍÖâË×äËÖäËØäÌ×äÌ×ãÌÖãÎ×ãÉ×äÌ×ãÌØäËÕàÉÓáÌÖâÌÖâËÖßÌÕâÊÕßÍÖâÐÚäÍÖäÇÒàÉÓâËÔßËÓÞÎ×âÌØßËÖãÉÐßÂÌÛ—›±)!C4" <'D/$ uzz…„kb]®®®¦­¸›¡ª§¹ËŸ°ÉAG_0-,&)$.%0,%=+%œ›’¦§ ¬¢˜¦ –¤œ‰©±¼¨µÉ¦¸É¥µË¨¶Ê¦µÉ§¶É¦¹Ì¤·Ê¦·Ëª·Ë¬¸Ñª»Ó¬·Ì®¶Ê¯ºÍ¬¼Í­»Ð¯½Ñ«¿Ô¬½Ò¬¾Ò°¾Ñ®½Ñ«¼Ì®¾Ï­¿Ï¬¼Ñ¬¼Ñ­»Î®¿Ð®·Ë©¸É©¹Î§¸Ëª»Ñ©·Ì¥´Ê ´Ë¤µÊ¥µË¡µÉ¥´É¢¶ÌŸ¶Ì¤³ÉŸ±É¦·Ë¡³Ê¢³É ²Ë£³Æ¢¶Ë§¶Ë£¯É¦¯É¥³Ç¥³Ê§³Ê¡²È£¶Ë¦¶É¤µÉ¬·Í¬¹Î®»Ì«·Í®ºÌ²»Ë±¼Ï°¼Ò²¿Ò¶½ÒµÂÓ»ÃÓ»ÁÒ½ÆÖ½ÇØ¿ÉÚÀÉØÁÉÛÂÌÝÆÎÞÃÍÛÆÌÜÇÌÜÅËÛÃËÜÇÌÝÄÌÝÃÍÞÄÌÜÃÌÙÃËÚÁÊÚÃËÚÂÉÛ¾ÉÚ»ÊØÁÊØ»ÄÛ¼ÃÔ¼ÄÔ¸¿ÒºÃÕ²½Ð±Á×´ÁÔ²¾Ò¶ÀÔ¶¿Ó²¾Ð²½Ð²½Ð±½Ó±ÁÒµÀÓ±¿Ó´ÂÕ®»Ë’Ÿ–‹–˜¤»P?GGAJ5?TCGBP\KcuŒˆ™žo{§AJl'B62+  719    -$B=4;%OF*^cƒLQfFGW4@XGVn4?I‰¡St©L^i¹ÃÉ¿Éͦ·Î¨·Ï¤¶Ðœ³ÍŸ±Í¶ÓŸ±ÌŒ¬Ç‡¤Æ‰¥ÆxãÁŠ¡ÄŠ ½wž¾‚£Á|½~Ÿ¿}»Ÿ¿tŸÀ…¢Ã‚¢Á†¢Â…ž¾s¡¼„¤¾Š¥ÄªÄ˜«Å“¨Ç’©ÅŽ©Â™®Æ•«Ã˜«È®È±Çš²Ë¡³Í¢±Ê¦²Êž±Ê °Ä£°Çž±É”ªÃ™ªÀ™©½›®Ç™¬Á®Á›®Æ–¬Ç“¯É°É›ªÃœ¬Çš°È±Æž®Æ–­Æ›®Ãž®Æ™«Åš¬À‹¡°ozw™¬¾›¯Å¢±ÊŸ°É£±Ë£²Ë£µË¥±Ì©¸Ðª·Í¤µÎ¤µÍ¡¶Í§¶Ì¤µÌªµÌ¤·Í§¶Îª¸Ï¬»Ï«ºÎ¬»Óª¸ÎªºÐª¶Ëª»Ñ¬ºÑ°¾Ò°»Ð°¼Ñµ¾ÔµÄÓ²½Ñ¶Â×»ÆÚ¶Å×¶ÃÙ·ÇÛ³ÅØ¸ÃÖºÆØ¼ÇÙ¸ÆØ»ÇÙ¿ÈÚ¿ÈÚ¾Ç׺ÇÙ½ÇØ»ÉݾÉÜÁÉÜÂÊÜÀÉÜ¿ÌÛÀËÝÁÉܾÊÝÂÊÝÀÎÝÁÍÝÃÎßÂÎàÆÎÞÅÍÞÃÏÞÁÍßÃÎÞÅÎàÆÏáÄÑâÁÎÞ½ÉÞ¹ÇÝ»ÇݱÆÝµÇܶÆÜ¶ÉݶÇÛ·ÇݱÆÝ®ÃØ±ÃØ³ÅÛ®ÃÛ¬ÄÛ®ÆÛ®ÅÝ®ÆÝ´ÉÞ³ÇàµÈß·ÉÞ°ÇݲÈà¯ÈàµÉáµÉßµÈܱÇÞ±ÈÞ³ÉݱÈÞ®ÇÞ´Éà´Éà±ÉܵÈà¶Éß´ÉÞ´Ëà±Èá¶Éà´Éâ´Ëà¶Ì߸ÊÞ¸Ìà´ËàµËÞ¹Ìá¶ÍãµÉß¶Ëà¸Ëß¶ÊÞ´Íß´ËݶÌà¶Ëá´Ëá¶Ìá¶Ìà³ÊÞ´Ëà²Ëá¶Ëà²ËàµÍá¶Ìâ·Ìà¹ÎáµÊß¶Ìà·Ìà¶Ëá¶Éß´Êá±Ëà·Ìá³Ìà²Éà²Ëà¯Êà²ÊÞ´Ìâ³Ëâ·Îâ¶ÌÞ¹Ìà¶Ëà±ÌÞ±ÊÞ´ÉݶÎá·Ìâ³Êá´Ìà¸Îà¶ËßµÊÝ´ËàµÌß¶Ëà³Èá³Êà´ÉݳÊݵÍß²ÊÞµËß±Ëß½ËÞµËàµÊà¶ÌÝ·ÌàµËß´Ìà±Ëá²Éâ¶Ìà¶Ëâ³ËÞ¶Ëà¶Ìá·ÎâµÌà¹ÌàºÌà¸Ìá¶Ìâ¸Îâ¶ÌàµÌâ¸Ì߸ÍÞ¸Íã²Ìß¹Íá½Ðà¶Íà¹Íà¹Íâ´Ëà¸Ëà¸Ìá¹Îã¸Ìã·Íâ¶Ëß°Ë߸Îá½Ðâ¸Ìâ¹Ìà·Ìá·Íâ¶Îá·Îá½Îâ¼Îâ¹ÏãºÎà¸ÍàµÍá¸Îã»Íá¹Îá²Ìá´Íá¹Îä¸Îâ¶Îã»Îã¶Íâ»ÎáÀÎáÂÎàÁÐá¼Íà»ÌÞ½ÌÞ»Éß¶ÈÞ½ÌÞÁÍÞÄÐßÅÑáÉÔãËÖåÍÖäÑÚèÒÝèÒÜæÕÜæÓÜåÓÛåÒÚåÒÚåÆÐÜN=D2"¥œ–@4.+#wsdL:(XL4‘}m¦¥¤ÁÏÝÂÑàÂÐâÇÕâËÕæÍØåÍØãÎÛåÒÛåÑØæÌØæÆÒã½Ïá½Îâ½Ìá¿ÌßÀÌÞÁÍÞÁÍßÁÎà¼ÌáÁÎáÄÎàÄÐáÈÓäÊÔãËÓãÇÒâÉÒáÉÓäÇÔãÆÒãÊÔãË×äÇÓãÇÒáÇÓâÉÑáÆÑàÇÓâÌ×áËÖãÊÖåÍÕâÌÔäÌÕãËÕãÇÑáÇÑáÇÑãÊÒãÌÕáËÓáÇÑâÃÌݽËÛŒ—®ED< sf]gp XNDmi`^5,’–”¢µ®Ä ´Êš®ÇCBV'"*+%e¢—…­®¨—››¤£—¥®Á¤±É ±Ì ±Ë¦¶Ì¬·Îª¸Ë¨¹Î¨»Ïª¶Ì¥¸Ì¬¼Ñª¼Ó®ºÑ­ºÒ°½Ò¯¾Ð­¹Ï¨»Ò­½Ñ®½Ï¬»Ò¯¼Ò¯¾Ñ­¿Ò­½Îª¶Ì§µË¬¹Ó®ºÓ¬ºÑ«¼Ï¯¼Õ®ºÍª¸Ï«¶Ð¤³Ë¤´Ë§´ÉŸµË£²É¦²Ê©¹Î¦µËŸ¯Ë ­É¡±Æ ²Ì¢±Î¥³Ë³Ë£µË£´ËŸ®ÇŸ³Æ¡³Ì£¯Ë§¶Íª¶Ì ±Ì¤¶Ê¢´Ì¤´Ì©¶Íª¸Ë©¸Ï¨¸Ï­¼Ó°ºÎ°»Ð°¼Ñ²¼Ñ³»Ó°ÀÖ³ÁÕ³ÂÖ¶Ç×½ÉÚ¾ÈÛ»ÇÛ¾ÉÛÂËßÂËÞÂÎàÄÌàÃÌÞÆÌÛÆËÛÂÊÜÄËÜÃÌÞÃÌÝÀÊÛÁÉÞÃÌÝÀÉÛÂËÛ½ÇÛ¿ÊÜ¿ÉÜÀÇÚ¾ÉÛ½ÈܺÃÙ¼ÅØ¹ÂÖ¶ÂØ±Àѵ½Ð±¿Ö²¿Ô°ºÐ±¾Õµ»Ð±ºÐ¯»Ì³ÂÓ²ÀײÁر½Ñ¯»Ð²¼Ð®µË•£UMaS@0jpˆRJb]hyX_xDMSM`…WKC›¬…™§GCDbPEGCR54,% !   ML>“ƒn¯²´œŸ§um‚q‰•/:Z<") %4 IV_·ÃǾÇͤ¸Ï®ÂÔ©¹Î§½Í¡µÌ™³Ì™²Ì’®É‘«Ç”ªÆ‹£Á§ÇФ¿‹¦Á†¤¿yŸ¿~ ÁŒ¢Á¤À†½€£À…£Á†¤Ã}¢Ã…¤Äƒ¨Å†§ÃŽªÄ‘§¿”©Å’®Ä¬ÈªÆ•±Éš­Å—¬Åš®Æž±Ç¡°ÆŸ³Ë¤µË¥µÊ£´ÊŸ²Ë£±ÉŸ²Éž±É ´É™­Æœ±È–­Æ ®Ç¢¯Åš®Çž±Æž®ÃŸ¯Æ ±É¤±Æ­Ä¡°ÄŸ®Æ¢°Ä£±Ç£²Ë¤¶É¢±Ç£°Å¤µÉ¥¶É¤´Ê¥¸Ë¡±Ê¤µÊ§¶É¤µÊ©·É§µÊ¤¸Í£¶Ì¨·Ì«¹Í®ºÎ­¹ÎªºÌ®¸Ì¬¹Ï®»Ï¬½Ñ­¼Ï¬½Ó°½Ô±½Ï°¾Ñ¯ÁÓ³ÃÓ±ÂÓ·ÃÓ¹ÃѶÃÓ¹ÄÔºÅÙ½ÇÛ¾ÆØ½ÉÝ»ÇÙ»ÈÙ½Ç×ÁÊØÁÊÛÂÊÛÀÉܽËÛ½ÉÚ¼ÉÙ¿ÍÛÆÌÚÃÌÝÅÌÞÃÌݾÉÛÀËÚÁÍÜÂÍÜÂÎÞÆÏÞÉÐÞÅÏÝÄÏàÇÐÝÆÑàÇÐàÆÑâÊÔãÈÓÛÈÓÞÈÑàÇÐáÆÑáÁÏáÂËÞ½ËÞ¹ÉÞ·ÉÝµÈØ³ÈعÊÚ¶ÆÛ¶ÆÜ´ÇÛ±ÈܲÈÙµÆÙ±ÂÙ¯ÁدÄÙ¯ÅÛ°ÇݱÉÞ³ÊݵÈܵÈÛ²ÆÛ°ÇÛ¯ÆÚ´ÊݰÈݰÉÞ·ÉݶÊÞ¶ÈݸÇܯÆÜ¶ÊÞµÌÞ¶Ëà½Íá½ËÜ»Ìà¹Ë߸Éß¹Ìà¶Ëß¶Êà±ÉݹËàµÊÞ·Éß¶ÌÞ¶Ìß¶Íà³Ìà±Ëà´Ëà¶Îâ¸Íß·Ì߸Íß·ÎâµÌß·Ìà¯Êß´ÍáµÌáµÍÞµËÞ´ËܶÌà¸Îá²Ìá·Îâ·Íá¹ÎßµÌ߸ÊàºÌáµËà¶Îà·Íà»Íá¶Ìá¶ÍàµÊÞ¶ÊÞ´ÌÞ¶Íà²ÉÞ¸Ë߸Îá¶Ìß´ËÞ±Ìà¶ÊܶËÞµËÞµÌà¶ÌÞ·ÎÝ·ÌݸÎß·ËÞ·Íß¶ËÞµËÞ¶Ìá´ÌÞµËÞµËàµÍß¶ËÜ·ÍݾÎÞ¶ËÞ¶ÍܱËà´Êà¶ÌàµÌß¶Íß´ËÛ·ÌÞ¸Íß¶Ìà¶ÍàºÑã´Íà¸Ìà¹Îâ·Ìà¶Ìà·Íá¹ÍߺÐâ»Íã»Ðà»Îß½Îà¶ËÞ¶ÐàºÐá¶ÍÞ¶Ìà·ËàºÎÞ¹Îà·Ìà¶Ìà·Îâ¶Íà·Ìá·ÍàºÍà¶Îà¼Îà·ÌÞ¶Îá¹Íà¹Îâ¹ÏãºÏâµÎà¾Ñâ½ÎáºÐâ¹ÎâºÐà»Îâ»ÎáµÍá½Îâ¶Îâ¾ÐâºÐâ¶Îã·Îà¼Îâ½ÐãÂÑã¿Ñâ¼ÐâÀÏáÀÏÞÀÎà¿Íß¿ÎàÆÒãÅÕâÇÓâÍ×ãÍÛåÐÚãÒÜåÓÞçÔÝçÖÝçÖÜè×ÝæÖÝäÖÝæÎÖÞ™y_dNB4<i?+»½ºt\F>%}W0oT1nE(ª—y¸ÅË¿ÍÞÁÎÞÁÏßÃÒáÉÕâÉÖãÍØãËØæËØäÉÒâÀÎàÀÍÞ¾ÐÝÀÎÞ½Ìß¿Ìß¿ÍÝÁÍÝÀÍÞÁÍßÁÏßÂÑáÂÏàÃÑàÈÔâÉÔâÉÕãËÕãÅÓâÇÓâÃÒàÁÎâÆÑáÇÓáÄÑàÅÑáÃÑáÃÏàÆÐáÆÔâÈÖâÉÖãÆÖãÆÒâÇÓäÊÔâÊÔâËÕàÈÓâÊÔàËÓáÌÖãÇÒàÆÐáÅÎݾËÛ†u‚-SH?  #–˜jtƒM97`UEL,!yZ.œ™¤³ÈŸ°Å›®ÅD?T*'%-)16$7!›ˆf¡“wª«ª¢™‰‘~¤±¿¥¶Ë§¸Î¤µÉªºÍ¢¶Ë«¸Í­ºÏ­¹Ï®¿Ñ¯¼Ñ²¿Î´»Ò°¿Ò±ÀÒ°ÀѱÁÕ´¿Ó´¿Ó°¾Ï³ÁÓ´ÂѳÃÕ¯¾Ð¬½Ó²ÀÓ´¿Ó³ÁÓ´¿Ñ´½Ó¯½Ò°½Ó¯½Òª¼Í®»Ñ«»Ñ¬¹Ì§¶Ë®¹Ì¤¶Í¤¶È¦µË¥¶Ê§·Ë¨¸Î¦¶Í­¶É¥µÉ¢¶Ë¤¶É¢¶Ì›³Ç¦µÉ¥¶Í£´Æ§¶É£µÊ©¶Ê©µÉ©¸Ë¦¶Ç©¶Êª¸Î«µÊ°»Ì­ºÎ¯½Ñ¯¼Ð¬¾Ñ°¼Õ°ºÒ²ÁжÁÔ¸¿Ñ¸ÃлÃÒ²ÃÔ¹ÆÚÁÈØÁÉÞÃÍÚÇÎÚÉÐÝÉÎÜÆÏÞÇÏÞÇÐÝÇÐÞÆÏÞÄÎÞÉÑÝÆÌÞÄÌÛÆÌÝÄËÛÇÎÝÈÌÜÆÌÙÃÌÝÆÌÜÃÊÜÁÉØÃÉÚÀÈÜ¿ÈÚ¼ÇÙ½È×»ÆÔ½ÄÖ¹ÁÖ·ÁÕ²ÀÓ³ÁгÀÒ³ÂÕ³½ÑºÁÒ¸ÂÑ·ÂÓ·ÃÔ²¿Ñ±ÁÖ¶ÃÕ³Àϯ¶Ãž¢ª¦¬°˜©·CC_WOfBE87@KJ>9— ®¼Q\~RTK&3B//4* y€bg^PdWCyQ°°§¾ÊÕ¸ÃÔ‰‰ŸYFd=6E1.;2+ Ufq8?TY¸ÄÈÀÉÏ ·Ñ¨¿×¬ÁÔ§ÂÕ¨ÁÖ¤¸Ò–³ÎŽ®Ç“­É‘­É–«Ê–°Ì•¯È¥¾ˆ£Áˆ¤Á‡¤½‰¥Ãˆ¢Ã‡¥ÁŠ¤Ã‰ ÀŒ¦Á‹£»¥Ã‹¥Â‹¦ÄŒ«È‘¬ÅŒ©Ç“­Ç–­Æ˜­Æ™«Ç˜«Æž°È ±Êš±Ê²Ë³Ê¡´Í£¶Ê¢²É²Ê£´Éœ°É¤´É¤µÊ§µÈ£±Ç¡±È¡³Æ˜¯Çœ°Éž¯Ç¡±Ì¡±Ç£³Ç¢±Ê²Ë®È›¯È¡°Ê¢¶Ì¦¶È ¶Æ¥¸Î£²È¢±È¥²É£±Ë¤¶Í¦µË¡´Ç¤·ÌªµÌ«¸É¥µË¤¶Î¬ºÏ®»Ò¯¾Ñ²¾Ñ®¾Î­ºÌ®»Ð®½Ó±»Ï«»Ï­¾Ò¬½Ó±ÁÓ°½Ó³¿Ñ°¾Ñ°ÀÓ¶ÂÓ¶ÃÖ²Å×µÆÖºÈÙ»ÈÙºÆ×¸ÇؽÈܼÇÙ½ÈÙ¾ËÛÀËÞÀËÝ¿ÌÞ¿ÊÙ½ÉÛÁËÜÃÍÚÁËÝÅÌÝÆÐ߯ÑÞÂÌÞÁÌÛÃÌÜÄÎÝÇÍßÄÐßÇÒáÈÑßÉÓßÈÐàÇÐÞÈÒâÇÓáÉÒâÉÓàÈÔâÉÔâÊÔâÈÒãÊÓ߯ÏàÅÏݽÌÞ¶ÈܸÈÜ»ÊÛ»ÉÛ·ÇݯÅݯÅÞ´ÆÚ±ÇÚ¯ÅÙµÆÚ°ÆØ­ÄÙ´ÆÚ·ÅÛ¯ÅÚµÅÛµÇÞ·ÇܵÇݯÅÙ¯ÃØ°ÅÚ³ÅÙ®ÄÙ¯ÆÛ²ÇܱÈÞ°ÇÜ·ÈÜ·ÇÚ»Ëß½ÊÞÂÎß½ËÞ¿ËÛ¸ÌܶËÛ±ËܰÉß¶ÇÚ´Ëà¶ÌÞ¶Ëà´Ìá´Íß´Ëß·Èà¶ÌÞ¹Ëß±Ëà¶ÌÜ»Ìà¶ÌÞ´Ìá¸Ìá´Êà·ÌÞ´Íß´Íß±ËÞµÌÞµÌßµÍß±Êà·Ìà·Ëß´Ëà³ÌáµÍà²ËÞ´Ëà¹Ìâ¶Ëß¹Íà·Ëß¶ÎÜ´Ìß¶Ìà¶Íá³Ìà¶ÎàµÌà´ÌáºÌß²Ëà¶Ìà´ÌàµÌ߸Íâ³ÌÞ·Îß»Ìß²ËݱËݸËáºÎÝ·Ìà´ÌÞ·ÍÞºÍÝ´Ìà´Íà³ÊÞµËÞ´ËÞ¶Íá³ËߺÎâºËݹË߸ÍßµËßµÊÞµËÞµËÞ¶Îá´ÉÛ¶ËÞ¶ÎÞ¶ÌÝ·ËÞ²Íß´Ìà·Îà·Íâ´Ëà»ÏàºÎß³Ìâ·Ëà¶Ìß·ÌâºÑà¶ÎãºÍá»Ïà¹ÍÞ¸Ìà·ÌÞ¸Ìá¹Îâ´ÌàºÎâ´Í߸ÍÝ·Íß´Íà²Ìá¶Ïâ·ÏâºÍâ·Ìá»ÎݹÍà¶ÍáµÎâ¹Îâ¹ÎáºÏâ»Îã¸Íà»Íà´Ëà·Îà¼Îâ·Ìâ·Îà·Îâ»Ðâ¼Ñâ´Îâ¹ÎáºÎâ¾Îâ¸ÍÞ¹ÍâÁÑâ¶Îâ»ÑÞÃÑãÄÑáÃÎáÃÏàÃÐàÇÒãËÖäÐÜæÒÛãÓÛæÓÛåÓÜæÓÞèÖÝèÕÝæÔÞæÔÞçÒÝåÌÒÙ°’³¥“¦›Œ©š‹¸ÇÑ©¤®¤š{µº´±¸¿¢–”»ÇÎÀÌݽÎàºÎÞ¿ÐàÀÒàÃÏáÁÐáÃÎÞÀÎâÀÏàÃÎá¿Ìß½Îá¾ÎÝÀËÞ¿ÎÞ¿ËßÁÌÞÂÌßÂÎß¿Ïá½Ïà¿ÏßÃÑáÃÐáÈÔâÉÒâÈÓåÈÕâÆÑãÄÒáÂÑáÀÐá¿Îá¿ÎàÀÍâ¿Íá¾Íà¾Îà¾Ìß¿ÎÞÁÎà¼Ïß½Íà½Îà¼Ìß¿Îà½ÑàÆÕáÄÑàÄÏàÉÓãÅÓãÂÑá¼Íà¾ÍݺÉÛ²ÂΖ~`™“xƒztcKC{[Iª·À™¡²mac‹†x›œ–›–”©±§´É£³ÊŸ²É®ÈHH]' '&!'"*œ˜Œ«©¨¬¤¨¦£—œ–‹¤°¾¦´Ì¨µÌª¹ÌªºÎª¸Î®½ÐªºÎ¬¼Ò®½Ò°½Ï®½Ò¯ÁÓµÂÓ±ÁÒ¶ÃÒ²ÀεÀÔµÂÖ´ÃÓ±¼Ñ¹Å×·ÃÔ²ÁÕ²ÁÕ´½Ï³ÀÔµÂÓ²ÁÕµÁÓ²ÁѲÁÓ³Àί»Òª¾Ò®½Ô­¹Î¬¹Êª¹Ð«»Í¬¶Ë¥¶Î¥¸Ì£·Í§³Ë¤³Ë¦µË«»Ë¦³Ì©¹Îª¹Ì¡´Î¤³Ì¢µÊ¢´Ë¤ºËª¾Ò§µË§µÉ¨¹Í¦¶É©¹ÌªµÊ­¹Ì¯»Ñ²½Ò¯»Ò¶¿Ð±½Î±½Ñ±¾Î°ÀжÄÖµÂÔµÂÕºÆÔ½ÇÖ¾ÈÖÁÉØÁÉÜÃÌÝÇÌàÇÎàËÑßÈÑÝÊÑàÈÐÝÉÑàÉÑ߯ÏßÇÍáÇËÞÇÎÝÉÏÜÆÑÛÇÑÞÈÑÞÇÑáÉÓâÈÎÞÇÎÜÄÍÜÅËÛÄËÚÂËÙÀÉÛÁÈÙ½ÆÛ¾ÆÚ¼ÅÙ¼ÅÕ¼ÂÒ¸ÁÔ·ÃÖ¶Â׸ÁÓ¸ÃÖ¼ÆØ»Æ×»Ç׸ÂÒ´Áز¾Ó³½Ñ±¾Ï´ÃÔ®ÀТª·†rM}p€O+0ve`bL7uƒXe‡&&APHJh^Ry€jB7;~}]q–³yri¯²´¹ÃÒ¼ÇÖ¼ÇØ²¿Ï±»ÉŽŸ±XlŽBJNLWr/+5DB:MZa»ÄÆÀÉÌ›¶Ñ »Ñª»Ó¨½Ö¡¸Ô“®Í§Ë†£ÆŠ¥Å’©Âš¯È‘ªÇ˜®Ê”®È–®È¦Å’¨Ä‹¥ÃŠ¢Æ‡¢Á†¢Ã‡¢À£Ã¦Æ¤ÀŽ¥½’¨¿œ¬Ä—©Ä˜¬Ç™ªÅœ­É¯É®ÉŸ°Êž®È¢²Ì¢±ÇŸ±Ê¡¶Î›²Í¤²Ë£´Í£¶Î¤´Ì¢¶Ï¥´Ë¦¶Î¤µÉ¤µÍ¦±Çž¯Å ±É±È ±É£´Ì£¯É¡±Ì¥±Ê °Ë£±É£´É§¶É¡±Ê§µÉ¢³Í§¸Î¤´Î¥µÌ©²Ç¨µË¦´Ì£¶É¢´Ë¤¶Í¦²Ì¦´ÍªµÌ«»Í­¼Ï¯½Ï³½Ò´½Ô¯½Õ³¾Ñ°½Ñ®½Ï³¿Ò¯¿Òª¼Ï±½Ñ®¼Ó±½Ô³¿Ô²¼Ñ¶ÃÔ´ÁÑµÃØµÃ׵Ĩ½ÈÜ»ÉÛ½ÈÜ¿ÉÛÀÉØ½ÉÕ½ÇØ¿ÊÝ¿ËÜÂËÝÀÉܼÊÝÁËÙÆÍÞÅÍÞÆÍÞÄÎÝÈÑàÇÏßÃÎß¿ËÜÆÎÜÇÎÞÇÏÝÈÐàÈÐßÉÐàËÔáËÔãÉÓãËÕâÉÓâÌÓâÌÓâÊÕãÉÓãÉÓãÉÒåÊÓãÉÑàÉÑâÃÌÞ¹ÊÝ»ÆÜ´ÆÚ·ÇݱÇÝ´ÇÞ²ÈÞ¶ÈݳÇÛ¯ÆÛ±ÇÙ±ÃݳÄܶÅÞµÅÙµÆÚ¹ÇÚ¶ÈÜ·ÈÚ¶ÅÚ¶ÄÚ³ÄÜ®ÄܱÅÙ±ÆÜ³ÇݲÇݳÇÞ¯ÃÛ´ÅÚ¶ÆÝ½ËܽÌÞÁÎÞÂÎàÁÉÞ¾ËÛ½ÈܶÇß´Èà´Êà²Ëà´ÊàµËàºÌá¯ÉÞµÊà¶ËàµÌàµÊÞ´Ìà¸ÉÞ¶Ëá¸Ìâ¹Íá¶ËݶÌáµÍá¶ÍÞ³Ëß´Êß¶ËÞ³Ëß·Ëß³Ëà±Êà·Ìà³Íß¶ÌàµÊÞ·Ëß¶ËÞ¶ÊݲÌá³ÌàµÌâ²ÌàµÊÞ´ÊâµËÞ·Ëß®ÈݵËÞ³Ìâ¶Ìâ·ÌÞºÉß´ÈÞ´ËÞ¶Êß¶ÉàµÉà¹ÍàµÌá´Ìà¶Íá³ÌÝ´Ëà·Ëá·ÌáµÌáµËß¶Ìà¶ÉܺÊÞ´ËݶËß´Éà¶É௽ҵÉÝ´ÊÞ³ÊÞ³Êà¸Ëà¶Ìà³Íá¸Íà·Ëß»Ìà»Îà¹ÌߺÌá»Ìâ¶Ìà³ÉÞµËà¹Ìà¹Ïß¶Ìà¸Ëà¹Éß¶ËÞ¹Îá¶Íà»Ìà»Îà¸Íß¶ËàºÍá¹Ìâ¸Ìâ¹Ìà¶Ëá¶Íà¹Ìà¶Ìß¹Ìà»Íâ·Ìá¹ÎâµËáµËà¸Ëâ¼Íá·Íá¶Íà·Ìâ·Îâ¶ÎâºÎâ·Íá¶Íâ»ÍâºÌá¼ÎáºÌà¹Ìá»Îâ½Îâ¹Íâ¹ÍâºÍß½ÎàºÎâ»Ìà·Îâ·Íß¹Ìà¹Ïâ½Îà¾ÎâÁÏá¾ÑàÁÑáÄÐâÎØåÏÛçÒÛæÓÛéÕÝç×ÞçÙÞèÖÝçÐÚæÏÛèÑÛæÎÛåÆÕâÀÍà¾ÌܼÍÝ»ÌÞ¼ÍÞºÍÞ»ÌÜ»ÍݾÍÞ½ËÙÀÎàºÌà»Ìß¼Íß¹ÌÞ½ÎÞ½Îã¼ÍáÂÎàÃÎÞ¾ÌÛ¾ËßÁÍÞÁÍÞÃÎàÃÐàÃÎáÂÎßÄÎÝÃÌßÃÎàÂÏàÂÑàÂÎâÁÍâÁÑãÀÑàÅÓâÆÑâÅÐâÃÐãÂÐâ¿Ïá¾Îã¾Îá¿Îß¿Íà¿ÌݼÌÞ¸ÌݽÌßÀÌàÀÌßÀÌÞ¸Ëà¼ÌÞ·ËÞ»ÉߺÉݽÌÞ¾ÌàÁÎßÂÎàÃÐ߸ÌÞ³ÆÝ´ÆÛ¯ÄÛ±ÃØ±¿Ô³ÀÓ²ÂѸÃѹÅÒ·ÅÖ´ÂÒ¬¼Ì©ºÍ¥·Í©´Ì©µÌ¦µÊ¢µÌ ³Ì ³ËTM` '(+ #'&”ˆy¤›—®«­®©¥—‹u¨±Á©·É©´Ëª¹Îª»Ð­»Ô¬½Ñ°¿Ï±»Ï´ÁÓ¯¾Ó³¿Ö¶ÃصÃÖµÀÖ´ÁÒ¶ÂÓ´ÂÖ·ÃÖ¹ÄÖ¹ÃÕºÆÖºÄÙ¹ÄØ·ÄÖ¸ÃÔ¸ÂÕµÂÕ·ÃÖ¹Â׳¾Õµ¿Ö³ÀÕ±ÁÓ±¿Ó¯½Ò®¼Ò¯¹Í­¶Î°ºÐ­»Ñ®½Ñª¹ËªºÎ§¶Îª·Íª·Î§¸Í¤¸Ìª¸Ðª¶Éª¸Ë¥´Ë¨µÍ¬·Í®ºÎ¯ºÑ©³Î«¶Ï¬¹Ìª¶Ëª¸Ê­¸Í¯»Ï­¸Ò¯¸Ï¯»Ï³¾Ñ¶¾Ñ³»Ï³½Õ²ÁÓ¸ÂÔ¹ÁÓµÂÕµÁ֏Ũ¹ÆØ»ÇÚÁÇÜÂËÜÆÌÜÈÐàÊÒáËÑãÉÑàÌÑàÈÏàÈÐàÉÐ߯ÏÝÇÌÞÇÏàÇÍÜËÑÝËÒÝÍÑáËÓâÌÓßÍÒàËÒßÊÐàÊÎàÇÍßÇÌÝÄËÜÃËÝÃËÚÂÊÛÂÈÜÂÇÚ¿Å×¼ÆÕ½ÅÙ¼ÃØ½ÆÚ¼ÅÖ»ÇØ½ÇÙ¾ÈÚ½ÅÙ»ÁÔ½ÃÒ¹ÁÕ´¿Ó´ÁÔ¸ÁÔµ½ÐµÁϵÁϲ½É´ºË¡ž±™™\u¢)#Y]WVIYln€OOvtim‘“¤¬¶³½Îµ¾Ñ²ÁÒ«½Ñ£¸Ë¦»Ï‡¢¾Vi‰Sevww‹††…ic€}y½ÆÊÂËÏ’¶Î½Ò¤¿Õ¢»Ó›´Ì¬Æ‚¤Å…¥È†§Äˆ¦Æ‘«ÅŒ«Æ›±Ë—±È“¬Ç’®Ç•¬Æˆ¦Á„£À‡©Ä}£¾‚¤À‚ ½‰§Ã†¥Ã«Ã‘«Ç–´Çš°Ç˜±Ê–°É­Ç›²É›²È™¯Èœ°Æ³È™°Ç˜®È ²Çž²ËŸ°Êž±Éž±Ê¡»Ï¤¸Î£µË«¹É§¹Î¤»Ë¤¹Ì£·Ë¢·Ì¡µÉ µÌ´Ì¢´Î¢³Ç›¯Ë£¶É¤¶Î ³È¤·Í¤´Î¤´Ë³Ç¡´Ë¡¶Ì¤¶Éž´Êœ³È£´Ë¢±Ì³ÊŸ¶Ë£µË ´È£µÊ¬»Ð©½Ó«¾Ò¯¾Ò­½Ñ¯ÁÒ¯ÁЮ¾Ñ«½Ò¬¿Ñ¬ÀЫ½Ñ°ÀÓ­¾Ó«¾Ñ«½Ò©½Ò§¼Ð­¿Ì¬ÂÔ²Ã׳ÅÔ¶ÆÖ·Ç×·ÉÔ»ÉÚ½É×¼ÉÞ½ËÝ»ËÛ½ËÜÀÍÛ¾ÊÚ¿ËÚ¿ÍÝÂÎÞÅÏÞÄÐßÅÑÞÆÑ߯ÑßÃÎÝ¿ÌÜÅÎÝÅÏÞÆÑâÇÔâÉÔáÊÕàÉÔßËÕâË×ãÌÓãÉÓãÌÖãÊÕäËÖâÉÔâÈÔàÇÓãÉÕâÇÓãÈÑß½Ìà·ÉݶÈÛ¹ÇÛ°ÈÙ²ËݰÉÞ­ÈÞ°ÈÞ®ÈÝ®ÉܱÇÚ°ÉÛ¯ÇÙ²ÆÜ³ÇÛ¶ÉݸÈÛ¸ÊݵËܸÉÙ¹ÊÚ°ÇÚ°ÆÛ¯ÅÚ«ÅݰÇÜ­ÉÛ«ÆØ®ÅسÅ׳ÇÙ»ÌÛ½ËÞ¾ÌÞÁÍà¾ÎÜ»ÌÚ¶ÉÜ­ÇÛ¯ÈÛ±ÉÞ±ÊáµÊß±ÍÞ¯ÍܳÌÞ­ÉܱÊÞ³Êß³ÉÞ±Êá´Êà±Ìà®ÍÞ±ËܯËÞ­ÊÞ°Êß±Ëà²ËÞ²Ìá®ÌÞ´Îß±ÌÞ°ÊÞ´ÌÞ³Ìß´Ëß®ÉÞ³Ëà²Îß³ÌÝ´ÊÞ´Ëß´ÌÞµÍÞ³Ìß±Ìß±Ëà²Ìà°ËÞ±ÉݶËÛ¶ÍÝ®Ëà¶ÌݶÌݱÌà²ÌݱÎÞ±ÌÝ´Ì߸Îß³ÌÞ¶Îà·Íà±ÌàµÍà¶Íà³ÉÛ³ËܰÊݵÉÞ³Ëß´ÉÞ²ÌÞ³ÍÞ²ËÞ³ËÜ­¿Í¸ÌÞµËÞ·ÌÞ¶Ìß¶Îá³ÌÞ´ËÛ¶Îß²Ëà¶Ìá·Ìß¶Íà¸ÏÞ³Îà³ÍÞ³Îà³ÌáµÌ߸Îà¸ÎÞ·Îà¸Îà¸ÐܵÏÞ´ÎàµÎà·Ïà¶Ìá´Ìß¶ÐáµÏà²ÍݳÍàµÌà´Ìà³Ìß´ËÜ·ÌáµÍâ¶Îá²Îß¶Íà·Ìá¶Íß´Ìß¶Íá·Îà´Íá´Îá¶Ïà´Ëà´Ìá¸ÐâµÌà¶ÍߺÑà¶Ïã¶Îâ³ÌàµÌݵÍݶÍàºÎàºÎà¸Îâ´ËÞ·Ðà¸Îà¶Íá¸Ïà¸Îà¹Ïà·ÎàºÏà¾ÐáÁÓãÇØåÉÙäËÙäÎÚæÐÝæÒßéÓÞèÌÜåÀÔá¿Ñá¾Ðà¼Ðâ¸Íà¶Ì߸Íà¸Ðà»Îß³ÎÞ»Îß¼ÐݺÎÞ»ÍÞ¿Ïà»Ïà¿Òà¼Ïß¹Ñà¼ÎÞ¹Ïà»Ëß»ÎݼÌݽÌÞ¾ÍÞ¾Íß½ÎßÁÍÜÄÐÞÄÒáÃÑàÄÏßÀÎÞÁÎÞÁÎÞ¿ÎßÂÑáÁÎà¾Îß½Ðà¹Ðß¹Ðã¸Îá¿Îà¾ÎâÁÐâºÎà»Ïß¼Îß·ÎÞ¼Íß»ÎߺÎÞ»ÌݶËÞ¼ËÞ»ÌܹÍà¹ËÞ·ÌÞ·ËܺÌß¹ÌÞ½ÌÞ¹ÊÛ¶ÊÜ´ÉÞ´ÉݳÊÛ±ÅÙ®ÃØ«ÂÕ­ÁÖ¬ÃÖ¯ÃÖ³Æ×µÇÚµÇ򵮯¬ÂÔ¨¾Ñ¤¼Ñ¡¹Î™´Ì£µË§ºÎ¤·Ì¦¸Ìž³ÇCIV  !   ~^’Œf™‚¡’’†x¤°½ªºÊ©·Çª¹Ì¬¼Ì¬·É«ÂÒ­¿Ñ´ÂÕ²ÄÔ²ÃÕ±ÁдÄѵÄÖ¸Æ×´ÆÕ·ÆÙ·Å׳ÅÙ¶ÆÔ¸ÆÖ¹ÆÕµÄØ»ÆÕµÃÕºÅÖ¸ÆÚ³ÃÓ¶ÆÕ¸ÄÕ´ÁÓ²ÁзÄÖ°ÃÖ´ÁÖ·ÃÕ­ÀÑ®½Ñ°ÁÑ­½Ñª½Óª½Î­¼Ñ¨¸Í¬½Ó©¼Ì«½Ì§·Ì©¹Î§ºÌ«½Òª¶Îª·Ì¥·Íª»ÊªºÌ©ºÍ¨¸Ë¨»Í¨¹Í¬¸Î­¼Îª¼Ð«½Ï°½Í­»Ñ­½Ï®¼Ï®¿Ð±ÀÏ´¿Ô³ÂÒ±ÁеÃηÄÓºÃÕ»ÆÖ½ÆÖ¿ÈØÀÌÝÀÐÞÁÑàÃÎÛÅÑàÉÑáÈÓàÊÔàÊÏàÅÐßÂÒÞÉÎÜÈÏßÇÑÞÉÓàÉÒÝËÔÞÍÖäË×ãÌ×ãÍÕâÊÕãËÔáÈÒßÉÓáÉÑßÊÑáÄÏÞÃÍÝÃËÝÆËÛÁËÛÁËݾÌÚ¿ÊÛÀÈÙ¼ÉØ¾ÈÖºÆØ½ÉØ¼ÊØ¼ÇÙ¾ÇÚÀÇÖ¹ÇÙ·ÃÔ¶ÂÕ¶ÃÓ³ÃÔ¶ÇÕ¶ÅÖ·ÆÕ¶ÂÓ®¿Ñª»Ì•£«~Š‘rsf‹‘“ž¤±œ§µŸ©±«»Ã¨¾Î¬¼Ñ°¿ÒªºÏ¥Áj™k…¤9U~&> @C?—¡«¥³Å¦­ª½ÇËÁËϱɖµÑœ»Öž»Ò™¯Ê‘®Ëˆ«Ç‰¦ÄŒªÊ€¨ÆŠ©È„¨È‰¬È«Ç‘«Ç’«Å“®È‹­ÄªÆ‹¨Ç‘¤Á‹¦ÅŒ¤Å‘©Æ«Â‘ªÈ”¬È’®É—°ÎŸ°Ê³Ì °Éš±È›±Èœ°Ë ±Íž²ÍŸ¯É™±É¡²Èž´Ì¡²É¤°È¤³É¢¶Ï¥¶Î§¹Î¦ºÏ©¼Ì¤¸Í£·Ë¦·É¡²Ì£·Ï¥µÎ¨²È£±Ë£µÌ¤¸Î¦¶É¤·Ê§³É¥¶Ë¤¸ÍŸ¶Î¥¸Í¤¶Ï¦´Ê£¶Ì¥µÉ¤¶Ë¡´Ë¦²Ë¤°Ì¢´Ë¥µÌ¨¹Íª¹Ì©ºÌ§¹Ð©ºÑª»Í«¹Îª½Ñ­½Ñ¬½Ñ©»Ñª»Ó§»Ð©½Õ¨ºÒ¤ºÓ«½Ñª·Ï¤¶Î¥¹Î§¸Ï«»Ñ¬¾Ö­ÀѳÁÔ²ÁÓ¸ÆÙ±ÅØ´ÅÙ¶ÇÛ¹ÄÙ»ÈÚ»ÉÛ¼ÉÝ¿ÆÚ»ÈÛ¿ËÝÁÎÝ¿ÌÝÁÎàÆÐÞÆÑßÅÐÜÅÍßÄÌÞÃÍÞÇÑßÈÑâÇÔâÊÕäËÖãËÕãËÖâË×ãÎÙåËÖäËÖåËÖåËØäËÖãÉÑâÊÒäÉÒåÇÓäÆÐßÅÎßÃÎß»ËÜ´ÈÚ³ÉݳÉÞ¶ÇÞ®ÇݱÇÞ¬ÆÝ³ÌܲÉݳÈß®ÇݳÉݳÇÛ´ÈÝ·ÉÛ·ÊÞ·ÉܼÌß²ÆÜµÈܳÆÛ®ÆÚ¯ÄÙ°ÆÜ­ÆÚ°ÉܬÆÜ®ÃݶÆÛ¶ÇؼÈÛÁÌßÂÍÞÀÎá¿Ïà½Ì߯ÉݱÉݲÈÞ®ÉÝ®Éà´Êà·ÌÞ±Êà³Îã°ÉÞ´ËÞ³Ìà²ÊÞ³Êà·Êà·Ìà·ÍÞ²ËáµÌà²ÊÞ³Ëß±ÉÞ´Ìá¶Ìß²Ìß´ÌàµËà°Êà¯ÊÞ´Ëà·Ëâ¸Ëà¹ÍßµÌà³Ìà³Êß¶Ìá±ÉÞ¶Ìß±ËÞ¶ËÞ¶Íà·Ìá¶ËÞµËܳÌà±Ìà´Ëß®Éß´ËܶÎß³Íà´Íâ±ÉݵÊáµËÞ¶ËÞ·ËݶËàµÎâ¸ÎáµËß²Ëà¶Ìà¶Íà´ÇܵÌݵÌß¶Îá´Îà´ÊÞ´Æ×·ÊÞ¶ÌݵÊß·ËÞ¶Ìà¶Ìá¶Îâ°ËßµÍàµÍà¸Íà·ÐáµÎã¹ÍâµÌâ¹Îã¶ÎâµÍâ´ÍßµÎÞ¶Ìà¶ÌâºÎá¸Íß´Ëà´ÉÞ»Îâ¶ÎâµÎàµÌà·Ìà¸Ðâ¸Ïâ¶Ëá¸ËÞ¶ÌÞ·Íà¹Ìß´Ëß¶Ìß·ÍàµËÞ¸Íß³Ëà¶Ìà¸Îá³Ìà³ÍàµÌß¹Îâ·Íá¹Ìá¸Îà´Îà¸Îâ¹Ìá»Ïâ¶Íâ¶Îâ»Ïâ·ÌÞ¸ÍâºÎÞ¹ÎáµÌà·Ì߸Îâ»Ñã»Íá·Ïß½Îß·ÎÞ·Îâ¶ÌÞ·Îá¸Îà¼Ðâ½Ðà¿ÏáÆÕãËÛæÊÚæË×å¾Ðá·Îß·ÍáºÎá¸Îà¹Îà¸Îâ¹Íá¸Îà»Íá¹ÎßÁÎá½ÏÞºÏà»Ðß»Ñà»Ñâ¹Îà¾Îâ¼Îà¿Îß½Îà½Îß¾Îà¿ÎàÂÏáÁÍàÁÍàÃÎÞÇÏàÇÒàÆÓàÈÕàÅÒáÄÑâÄÎÝÂÎáÃÐâÄÑàÅÑàÀÎà¼ÎߺÎâ»Ðà»Îà½Íá¼Ìà½Ïã·Ìà¹ÍÞ¸Ëß½Îà½ÌÞ½ÌÞ»Ìà¾ÌÞ¶ËÞ½ÌÞ½ËÛ¶ÉÝ»ÉܱÆÝ¼ÊݸÌݶÇÜ»ÈݹËÞ²ÇܝĨ¨½Ó¨ÁÖ­ÂØ¬ÀÓªÁ×­ÁÓª¾Ó®ÁÔ°ÄØ²ÆÛ±ÄÖ³ÄÖ¯ÃÕ¬ÂÕ¨»Ï©¹Ï¦¹Ì©¼Ï¨»Ïª½Ð¦¼Ï£³ÊOM[     "Šxj†{_ˆ~¤§©„}nš˜¡¯»Î«½Ð°½Ñ®¼Ñ­¼Ñ®½Ó±Á×±¾Î³ÃÔµÃÒ±ÄÖºÆØ¶Ç×·ÆØµÅ×ºÇØ½ÈؽÉÙ½ÇÖ¼ÊÛ½ÊÙ¼ÇÙ»ÉÙºÈØÀÈÙ½ÆØ½ÉÙ¼ÉÖºÅֻŨ¹ÃÙ·ÃÕ¶ÃÖ¶ÄØ¶ÃÕ´ÃÕ¶ÁѯÁÔª¼Óª»Ó±ÂÓ¬¼Î°¼Î®¿Ò®ÂÒ­»Ô¬¼Î¨ºÎ«»Ëª»Ñª¸Í¬¼Ò¬½Ñ°¼Îª¼Îª¼Ð­»Ó¬¼Òª»Î°¾Ò²¿Ò³ÀжÀÓ³ÁÓ±ºÒ­¾Ò®¼Í²ÀÓ³ÁÕ¹ÄÛ»Æ×ºÄغÆÖ»ÅØ»ÈØºÉÙ»ÆÚ½ÈÛÀÉÛÁÉÛÃËÞÆÌßÃÍßÇÑàÇÑáÈÒßËÒáËÑáÌÒâÌÓßÌÒàÉÓßËÓáÍÓãÍÕäÏÛäÑ×åÔØæÎÖåÎÕåÏ×åÍÔàËÑáËÓàÌÒàËÔáËÓâÈÑßÃÍàÅÌÜÄËÝÄÌÝÃÌÜÃÌÛ¿ÌÛÂÌܾËÝÁÊÙ¾ÈØÀÉÛÀÈ×ÀÇØ¿ËØÀÊݵÆÙ¶ÃعÃÔ¹Å×µÁÖ°ÁÓ³¾Ñ±¼Ñ«ºÏ«¼ÐŸ¬À­¶Ç¬»Î§»Îª¶Ë¬¸Î±¾Ò±ÀÓ®ÁÔ­¼Ñ¥¸Í–©Ã_l†NXsRf‰eo~GKly~‚§´Ã±¼Î©·»¼ÇÌÀËÏž¶ÎžºÑ“µÍ›¸Ì•±ÍŒ®Êˆ¬È‰¨ÉŒªÉŠ¦Æ€¨ÂŠªÉŒªÇŠ¨È…§Å«È¨Ç„ªÆ€¤Ä‰¨ÅŽ©ÀªÇ”§Ã‹«Æ‹¦ÂŽ§Ä˜®È”®É™°È¯Éœ¯Ê›°Ìš±Êœ³Ì ³Éž´ËŸ²Ë¤·Í±Êš±Ëž²ÍŸ³É£·ÌŸ±Ëž³Ë¤¶Ë©ºË£ºÑ«»Î§¸Ð¨³É¦¶Ì¦·Ì¤·Ï¤¸Ì¤³Ë£¶Î¨»Ñ£¸Í¨»Ì¤¶Í¥¹Î§¼Ë¤¸Ë§·Ò§ºÑ¤¸Ï¥¹Í§¹Î«ºÌª»Í¤¶Ê¤±Ë§¶Ï£¸Ï¥¶Ï¨ºÏª»Ï­»Ì¬»Ñ«¹Ò§¸Ð¬»Ï¥·Ó©½Ñ¢·Ð£¶Î¤·Îž·Ï µÍ¥¹Ñ¡¶Ë§¶Î©·Î¢¶Ìª»Î¥»Î¦»Ñ­»Ó­ºÓ¯¼Õ±¼Ï°¾Ñ°ÁÕ¯¾Ñ±½Ó®¾Ó´ÂÖ¶ÃÓ»ÆØ¼ÇÛºÆÙºÉÚ¼ÉÙ¹ÈݽÉÜÀÌÞÁÌÝÂÎÞÂÍÞÃÍÜÁÌÛÅÎÞÁÎÜÇÒâÆÒâËÔãÉÕáËÖäÊÖâË×äËÕäÉÓâÉÔäÈÔåÉÓâÇÒáÇÓãÉÔâÈÒáÆÑâÃÑÞÀÎÞ¼ËݹÊÞ±ÇÛ¶ÉݱÈÜ®ÆÜµÇÞ°Èß´Ëà®ÊÞ°Ëß°Éâ±ÈÞ°ÉݳÉݱÉÛ°ÆÜ·ÈÞ·ÉÜ·ÈÝ´ÆÚ¯ÆÚ±ÆÛ±ÇݯÆÛ®ÅÚ±ÆÙ¯ÅÚ±ÉÛ¶ÈÛ¹ÈÝ»ÉÞÁÏß¿ÌÛ¼Ìà¾ÎÝÀÌ߸Ìà°Êß°ÇݱÉÝ´Êß²ÉݲËÞ°ÌÞ²ÉݶÌâ³Ëâ±ÌáµËÞ±ÉÞ¯ÊݲÌà±Ìà³Íà±Ëà±ÉÞ®ÊÞ¯Êß±Ìà´ÌÝ´Í߯ËÞµËà´Êà°ÉàµËá±Éß´Éß·ÌàµÌß¶ÌݶËÞ±Éà´Ëâ²ËÞ±Ëá°Ëâ²ÍÞ°Ìà´Îá·ÌÞµËà´ÊÞµÌà±Èß³Ë߯ÌÞ¶Ìß¶ÌÛµÌà²ËÞ°Ìß±ËݶËÞ³ÌÞ²Ëß·ËàºÎà¸ÌàµÊÞ²Ëß´Ëß³ÊݯÉ߸Íá¶Ìß»Îà¹ÉÙ´ÊÞ¶ÉÝ·ËàµËá´Ìß¶ÌÜ»ÐÞµÎàµÎà´ÌàµÌà³ËàµÍÞ¶ÎÞ¶ÎàºÏáµÍà³Ëà¶ÌàµËà·Íâ¶Ëâ¸Íá´Ìà·Íâ·Ìà´Íá¶Íâ²ËÞ¶Íà¶Ìß¶Îà¶Îá¶Îà¶Ìá´Ëß±Ëß³Ìà´Íâ²Ìá´Íá·Ìà·ËáµÌàµËß´Ìà´ÎáµÌß¶Ìà¸Îà¶Íã¼Îá¶Ìâ¶ÍàµÎà¶Íã¶Ìâ°Íá·Îã¶Ìß¹Íâ¶Ìã¶Îà³Íß·Îà¹ÎáµÍâºÎá¼Îá¹Îá¸Îâ¹Ïà¶Ìá´Ìà¶Îá¸Íß·Íà»Ïâ»Îâ¶Íá¼Ïà¿Ïà¾Ïà»Ïá·Íà¹ÎÞºÏá¸Íà·ÍáµÌàºÎâ·Îà½Îß»ÏàºÏá»Ðà»Ñâ»Ïâ¼Ðà¹Íà¹ÎàºÍÞ¼Îß¼ÍÞ½ÎàÁÌáÁÎáÂÎàÄÓâÅÒáÅÑàÆÑâÇÓâÈÑãÉÓãÇÓãÉÑâÆÑàÄÑáÅÑáÂÎàÄÑáÄÑã¾Îá»ÍÞ»Ðá¹ÏàºÎá¹Îá¼Ïã¹Íâ·Ìà¸Ìà¹Ëà»Íà¸ÌÞ»ËÜ·ËÞ»ËÞ¸ËÞºËܹÉÞºÈÙ¹ÉØ²ÇØ´ÄØ¶ÇضÉÝ¶ÆØµÆÛ±ÅÙ°ÁÖ°ÁÖ¬½Ñ¬ÀÔª»Ó§½Õ«¼Õª»Ó­ÁÖ­ÄÖ²ÅÙ´ÂÔ´Å×®ÄÖ°ÂÖ®¾Ñª¼Ñ¨½Ò©»Ð«½Ò©½Ò«¾Ðª»ÌFJ_  ) ƒvWŠs[}xiˆ}œ™‡®ºÆª»Ñ±ÁÓ²ÁÔ®ÀÔ±ÀήÂÖ±ÆØ¶ÅØ´ÅØµÄÖ·ÇÖºÆÕ»ÆØºÆØ¸ÅؼÇÚ»ÊÛ¼ÈÙ½ÊÜÀËÛÅÌÝÂËÙ½ÇÙ½ÉÙ¾ÈÙ½ÈÜºÇØ¼ÊؽÇÚ¾ÆÖ»ÆÖ·Å׸ÄÖ¸Å׸ÁÖ¸Ã×¶ÀÓ¹ÃÓµ¾Ó¯ÁÔ¬¿Ð±¿Õ®½×®ºÐ®½Ð®½Ò°¿Î­»Î±¾Ð®¼Ò¬½Í§¸Ò«¼Ñ¬½Î¯¼Ï¯¾Ï®»Ð«¾Ó¯»Ñ±½Ò®ºÑ±ÀϱÁÔ´ÀÓ¯¿Ô´¾Ð³ÃÒ²ÀÓ³ÀÔ¸Å×¹Æ×¼ÈؾÇÕÀËÚ¿ÈÛ¿ÇØ»ÆÙ¿ËÚÀÈ־ɨÂÌÚÆÎßÈÍÝÆÌáÆÎÞÉÔãËÓâÌÓßÊÒÝÍÖàÎÖâÌÖåÍÖãÏ×äÑØâÎØçÑÙåÒÙçÒÚæÒØæÒ×ãÎÖäÍ×âÌ×âËÔáÊÓàÌÔßËÓáËÒàÉÐáÇÎÞÇÍÜÈÏÝÄÌÞÆÎÝÆÎÜÇÏÝÇÍÝÄÍÝÂÊÜÂÌÛÁËÜÂÌÜÁËÛ¹È×´ÃÓ¶ÁÑ´ÁÔ°½Ó¯»Ó±¾Ó°½Í¬¼Ñ¬ºÎ§¹Îª·Î¨»Îª¸Ì¤´Ì¦·Îª·Ë«¼Ð£¹Í¡¶ÌŸ³Ìž®ÉŽ•¯|€u¥¬Ž±{… šŸ°È °È£³¼½ÇËÂÌÏŸ¹Ï—²Ìš±Ì’°Ê’®Ë‹ªÉ®ÊŒ°Ë‘±Ë’¯Ë”­Ë“®Ê‹­Ë‚¥Ã‡§ÆŒ¤Ä‘«Ç‘§Æ‡¨ÄªÆ’ªÇ’ªÄ–¨Ä—«Ç’«Ã”­Å’ªÆ”«Çœ¯Å•°ÊŸ°Ëœ±Ë³Ë¤µÈŸ³È¡¶ÌŸ´Ë¡´Ì›±ÊŸ³Êž´ËŸ³Ê˜°É¯Ç°Ë¤´Ì¥¹Ë¨´Ë¤¸Ì¤·Î¥»Ð¤·Ì¦¸Ì¥¶Îž³Ë£±É©¸Ì¦¹Ï£·Ï¤¶Ëª¹Ï¤¹Í¨»Î¦¸Ï£·Ñ¨¼Óª·Î¥¹Î¤¶Ë©¸Ð«¸Í¨¶Í¨»Îª·Ë¨¹Î¥¸Ï©ºÒ®¼Ð­½Ð¯½Ï®¼Ïª»Ï¦¸Ï¤¸Ï ¶Ðœ´Ì¢·Ì¡³Ì µË¢°È›³Í¤±ÉŸ°Ë¤µË­ºÏª»Îª¹Ì¬½Ñ©»Ðª¼Ñ¯»Ñ®¼Ò²¾×¯ÁѱÁÓ³½Ô±¼Î¯¾ÒµÁÖµÅ׸ÇÚºÃÕ»ÇÖ¼ÈÙ»ÇØºÆÚ¼ÉÜ¿ÈÝ¿ÈÜ¿ËÝ¿ÌÝÁÎÝÂËÛÂÌÞÃÏáÂÐáÈÑâÉÓßÈÔáÊÕâËÖãÉÔâÉÒâÇÑãÇÒÞÆÏÞÃÏàÁÐÞÆÑàÆÐâÅÎàÅÎàÂÎÝ»Ëß´ÇÛ±ÇݲÇÞ¯ÆÞ±ÈߪÆÞ¯ÇرÉà®ÉܯÉܯÊÞµËݵÈÜ´ÉÞ°ÇܶÈÚ³ÈÞ­ÈܵÇÜ´ÈÛµÉܳÈܱÈÞ³ÈÝ²ÆØ°ÅØ­ÆÙ°ÆÚ®Ã򵂯¸ÈܼÌݽËܽËÞ¿ÌÞ½ÌݹÈÝ´Éß±ÉݲÉà®É߯Éà¯ÆÝ°ÈÝ´Ëà³ÊàµÊß³Íâ¯ÇÛ®ËÞ±ÉܲÈÛ´Ëß°Ëà²Éß´ÊÛ´Ëß°ÉÞµËÞ¶Ìß´Ëà´ÌÞ±Éà²Êà´ËÞµËß³ÊÞ¶Ëß²Ëß³Ìà´ÊÞ¶Îà°ÌÞ¶ÌÞ°ÈݯÉݯÊÞ²Ìß²ÉÛ¶ÌßµËß®Ìà¶Ìá´Êà®ÇݳÈÛ²ËÞ·ËݲÉÞ²Îà°Ëâ®Ìá¶ËÛµÊݲËÜ­ÉܱÊݳËà±Èà²ÊßµÌß²ÇÚ³ÉÛ³ÉÞµËݱËß­ÇÝ­Â×°ÈÞ¶ÊÞ´ÊÞ±ÊÞ±Êà³ÌÞ°ËàµÌâ³Íá¶Íá¶ËÞ´ÉÜ´Ëà²Ëà²ËÞ´ÌàºÎß´Ë߸Ìß³ÉÞ¸Ìà³ËÞ¶ËàµËÞ¶ËÞ´Ìà¸ÌÞ·Íà²ËÜ´Ìß¶Ìà¶Íß¶Ì߸ÌݶÌà¶ÍáµÌß·ÍßµÍàµÌà¶ËÞ´Ëß¶ËÞ³Ëß³ÌáµÌßµËà¸Ìà´Ìà·Íà¶Ëà¸Ëà¶Ìâ¶Íâ¶Ë߸Ìà·ÎàµÌà³Ìá±ËÞ³Íã¶ÍáµÌá·Îà¶ÌßµÊÞ±ËÞ·Îá¹ÌÞ¸ÎàºÎàµÎâ¶Ìâ¶Íà·Íà¸ÌÞ·Ìß·Ïá»Îá¹Íâ¼Ïà¸ÍàºÌß»Îß·ÍߺÍà¼Ïá¶Íß·Îà·Íà·Íß¹Íà»Íá¸Íà¼Îà·ÎàºÏß½Ð߸Îá»Ðà»Îá¼Ðà¸Îà¾ÍàÀÏßÂÎßÃÏáÂÐßÂÐâÃÏâÄÏâÂÏâÅÑâÃÐßÇÓáÇÕáÆÔàÅÒàÃÐâ¿ÎáÂÎàÀÎà¿Ïà½Îá¼Îà¼Îâ¼Ïâ»ÍߺÌá»ÌÞºÍá»Í߸Íà¶Ëà¶ËÞ¹ÌÞ½ËݹÌÞ¹ËÞµËݶËܺÈݸÉÙ·ÇØ²ÄذÃ×µÇØ¶ÆØ±ÃײÁÕ®ÃÖ±ÁÖ¯ÀÔ¯¾Ñ§¾Ñ­ÀÒ¬¾Ó«¾Ô¨»Ò¨½Ó±ÂÔ¯ÀÔ­ÀЮÁÕ±ÃÕ¬»Ó¬ÀÔ­¾Ô¯¿Ñ­¿Ó¯½Ò³ÁÓ«¾Ó©¸ÎRMZ0&!I7.€vb%/%žž˜‡‰C0œ˜€©¬²¯¾Î°¾Ó±ÂѶÀÓ¶ÂÖµÃ×µÂÖµÃÖ®ÁÖ·Áѵ¿Ó·ÃÕ¼Ç×¼ÇÕ¿ÆÚÁÌÝºÆØ¼Ç×¾ÆØÁËÙÃÌÙÄÍÝÁÍÜÆÍÞÁÍÝÂÌÝÀÉÛ½ÇØ¿ÇØ¿ÉÛ¼ÆÙ¼ÆØ¼ÇÚ½ÇØºÅ×¶ÃѶÃÕ¶ÁÑ·ÀÒµÃØ¶ÁÑ´ÁÓ±½Ï­ÁÔ®½Ò°ÁÒ±Á̱¾Ò¯ÁÕ¶ÀÔ¶¼Ñ°½Ñ«ÀѬ»Õ®»Õ®ÀÔ¯½Ò°¼Ò°»Ò¯½Î®¼Ï±¾Ñ°¾Ð±ÀÒ°½Ï®ºÎ²ÁѳÄÓ¹ÃÒµÄÕ·ÁֻŨ½ÆÙ½Ç×¾ÇÙÀÌÜÁÉÙÀÉÙÁÇÛÁÉØÁÊÝÅËÛÃËßÅÎÛÇÐÝÄÑàËÓãÉÒàËÓâÎÓâÍÔãÎÖäÎØãÑØãÑÚãÑ×ãÑØåÑÙåÑÙåÐ×åÏÖäÑ×åÐØåÏÖäÌÓâÍÕâÌÕáËÓàËÖáËÓáÉÑáÈÒàÉÑÝÊÎÞÈÎßÉÑÞÉÑßÈÒÞÉÏàÇÑÞÃËÝÆÌÛÃÍÝÂÌÚÁÊÝ»ÈÛµÃ׫ÁÔ±ÁÖ°ÁÓ®¿Ñ®¼Ð©¸Ï©³Í¤¶Ë¦·Í¤¶Ì¡¶Í¡´Ç¨²Ë¡²Ë ³Ë°Éž®Ç°Ç ¯È›®Æœ­Ã›­Ä™¬Å•­Æ›©ÀšªÃ˜ªÃb|¤˜¢¢½ÇËÂÊͨÁָљµÎ–´Î‘®É’±Ë“±Ì™¶Î›»ÔŸ¼Ó·Ïž¸Î™²Ì˜±Ì‘¬ÈŽ¬Æ‹«Æ©Ä‰¦ÂŽ«ÆªÃŽªÆˆªÆ°É“¬Æ‘­Ç”°Ç•®Çœ°Ç ´Ê°Ëš²ÌŸ²ÊŸ±Ì¥¸Í¢µË›³Ê•­Æš¯È—¬Ç–¬Æ‘¬Ç–®ÈŸ®Æ–­È›²ÉŸ³Ê¢´Î¢¶Ï¡µÍ£·Í£¶Ì¤²Å¢¸Ð¤¶Í¤·Ê¤·Ì¦¶É¤¶Ëª»Î©»Î¨¼Ñ§ºÎ¥·Ê¨¶Ð¤·Ì¨¹Ì§¶Ì§¼Î¤»Íª»Ð¤¶Ì¨¶Ì©ºÎ©·ÎªºÏ«¼Ï­½Ð¬½Òª½Ð©¹Î¡±Íž¯È ´ËŸ²É°Ç¢°Ç¡±Ç¡°Ëž°Ë¯Åž´Ì¤¶Í¤¸Ð©¸ÏªºÎ­»Ñ©»ÑªºÎ°½Ð°½Ñ¯ÁÔ®ÃÖ²ÃÖ±¾Ñ·ÃÓ±ÁÔ²ÁÔ³ÂÏ·ÆÖ·ÇØ»ÇÛ»ÆÖ¼ÇÚ½ÈÖ¼ÈÛ½Ç×¼ÇØ½ËÜ¿ËܽÊÚÁËÜ¿ËÝÃËÛÄÎßÁÎàÆÏÜÆÑàÈÑßÇÒàÈÔàÊÖáËÑàÉÓãÈÓâÉÑàÆÑàÇÎáÆÐÞÆÎáÆÒâÅÎâ¾ËÞ¶ÈݸÉÛ±ÇݲÆÛ²ÈÞ®ÈÜ®ÇÝ«ÆÛ³ÈÝ­ÇݱÈÛ±Éß®ÇÙ³ÈܰÈݵÊß±ÉÞ²ÆÜ²ÇܱÇÙµÉݱÉÛ³ÉܵÊÞ¶ÉݶÆÛ±ÄØ¯ÄØ®ÆÙ±ÆÚ®ÆÚ±ÇØ·ÉÞ¸ÈÞ»ÉݽÌÝÁÌÞ½ËݹÉÙ¶ÈÛ¶ÉݱÇݯÇݱÉÛ³ÊÛ­ÉܲËÞ²ÌÞ¶Ëà³Ìà±ËݱÉݳÌÞ´ÊݱÉÚ±ÉÞ±ÊÞ°ÉÜ®ÉݰÈÞ±ÊݰËݰËܯÊܳËÞ³ÊݱÉà´Ëà­ÉÞ±ËÞ²ËݱÌÞ®Ëà´ÉݳÊÞ´ÊÞ°ÉàµÈÝ®ÉÛ®ÉÝ´ÌÞ®Éß²ËÞ²ÊݶÍà±ÆÛ±ÉÛ±ËܲÌÛ¶ËÛ¯ÉÛ¯Éà²ÌÞ´ËÝ´ÊÞ´ËݬÈݲÊÞ²ÉÛ¶ÉÞ³ÉÛ°ÉÞ°Ëà³Éß´ÉܲÈÚ®ÆÖnkr–œ§´ÉܶËÞ¯ÉÛ²ÈܲÉݰÉݶÌÞµÉݱÌÞ±ÊÞ±Ëà³ÌÞ²Ìà±ÊݶÌÞ²ËܱËÞ°Éß®ÉÞ´ËâµÌà·ÌÝ·ÊÞ¶ÉݵËÞ®ÈÛ±ÌÞ¸ÎÞ³ËÞ¶ÉݶËßµÊ߯ÊÞµËÞ³Ëá¯ÊݳÊß¹ËßµÌà´Ìß²ËݱÊݳËà¶ËàµÎàµÎá¶ÎâºÍà¶Îß¶Íà¸Íá¸Ìà³Ëà²ÌÞ¶Íà»Îâ¶Îâ³Ëß´ËݳÊÞ´Ëá·Îâ¶Îá¸Íß·Ïâ¹ÎßµÌá·ÎàºËÞ¹ÌßµÌßµÌÞ¹Ïß³ÌÞ¶Ë߸Ìà¶Ìá·Ìß¹Ìà¶Ìà¶Ìà·Íâ¶Íá·Îà¹Íß¹Íà¸Îá´Ìà·ÎߺÍß·Ìß»Îà»Ìß¶ÌÞ¶ÍàµÎà¹ÎߺÐÞ¹Ìà¼ÏàºÏß¶Ìà½Ìß¼ÍßÀÏÝÀÏâÀÎßÂÏßÄÓãÄÒâÁÎà½Îà¾Îà¿ÏàÁÓâÂÒáÄÑáÃÑ߯ÑâÂÏá»Îß»ÎߺÎà¹ÌÞ»ÎàºÍß»Ðà»Ïà¹Ìà¶Íà¶Ìß¹Ìß¹Ìß¹ÌݺÍÞ¼ÍÞ¹ÌÞºËÞºÊÝ»ÉݼÌÞ¹ÊÞ»ÉÛ¸ÈÜµÆØ´ÄÙ¯ÁÓ¯ÁÖ±ÃÖ¨ÀÒ®ÁÓ®ÀÖ§ÀÖ«¾Ò¦»Öª»Ñ§½Ðª¾Ð­½Ð©¾Ò­ÀÖ­¿Ó®ÂÔ¯ÃÔ®ÀÖ¬¾Òª½Ð®¿Ò­ÀÒ°¿Ó³ÁÖ°¾Ñ°¿Ñ¬¾ÎCKY0'K<+!  :&Ÿ­¸-'.†qVx`K:&Œ‹¥ª°®ÀÏ´ÁÓ´ÃÔ¶ÂÓ¶ÃÖ²ÂÕ¶ÃѶÃÕ¹ÃÓ¶ÆÖµÁÔ¸ÃÔ¹ÈØ¼ÇÙ¿ÈÛ¾ÉÛÀÊÚÀËÝÁÌÝÀÌÛÅÌÙÃÎÞÄÎÝÆÍÛÁÌÚÃËÛÂÌÝÀÈÙ¿ÌÚ¾ÊݽÆÙ¼Ç×¾ÊØ¼ÉÙ»ÈØ¸ÆÖ¹ÃÖ³ÀÒµÂÓ·ÃÖ³ÅÓ±ÅÖ®Áѱ¾Ó°ÁÕµÃÖ±ÁѳÁδÁÓ±ÀÑ´ÀÓ²ÁÓ®ÂÖ±ÂÑ®½Í³ÁÓ°¿Ó²¿Ò®ÁÓ°ÁÓ³ÁÔ±ÂÕ·ÃÓ±¿Ò±¼Ð´¾Í´¾Î¹ÅÖµÂÖ¹ÄÖ¸ÆÙ¼Æ×¾ÅÖ¾ÆÔ¾ÈÕ½ÊÙ½ÉÚÂËÛÂÌÝÂËÝÂËÙÂÌÛÀËÚÉÎÛÈÌÜÇÏÝÌÑàÊÒáÌÖàÎÕãÎ×àÐØâÐØåÑØâÑØäÓØåÔÛåÔÛæÑÛçÐØåÏÖãÏÖáÐÕäÑ×åÏÖãÎØãÏÖáÍÖàÌÕãËÓâËÒàÊÓãËÕàÊÕÞËÓáÌÓàÌÓàÉÔàËÓàÆÐÝÆÌßÇÑàÉÑàÇÎßÃÌÝÃËÛ½ÇØ¸ÇÙ±ÁÔ°¿Ñ®½Ñ®ºÑª¹Í£²É ±Ç¦³Ê¢°Ç™°Æ¯Ì¡°Å¡±É¡¬Á›­Åš­Ã—­Ä™®Äœ¬Äš¯Ç—­Ä–¬Æž­Ä¬ÇŸ­Ã¤ÀFV~g|ƒ½ÇËÂÌФ½×¬ÁÓŸºÕ›¶Îš´Í›·Ñš»Ò¡»Õ¥¾Ö¤½Ø¤¿Ø£¿Õ¥¿Ó™¹Ð’°ËªÄ‹¬Ç‰©ÆŠ¨Æˆ©Ç«Ç‘®ÉŽªÇ®Ë˜¯È™°Éš¯Êž±ÈŸ±Êœ¶Ñ´Î¢µÍ ¶Í£¶Ë£³É¥¹Ð£ºÏŸµÌ´Êš®Æš®É›±Ê›°ÇªÅ˜®Ëœ°É£´Í¡³Ç¢³Ë¤³Î£¶Ï£·ÍŸ²Ì¤±É£µÎ¤»Ñ¡·Í¤¶Ñ§»Í¦»Î¦»Ï¦¹Ë¥¹Î¤¶Î¦¸Ï¤¹Ï¥¹Ð¨¹Î¦ºÏ¦ºÑ¥¹Î¥·Ï£·Î£¸Ñ£¸Ë£»Ï¤¼Ò©¼Ñ­¼Ð¬ºÏ§ºÏ¤»Ð¢¶Ê¯Ç­Éž®Ç¯Çž³Ë£³ËŸ±Ë¡°ÈŸ´Î£¶Î¤´Í¦¸Îª¹Î¬ºÎ¯ÀÒ³ÃÑ®ÀѶÃϲÄÔ¶ÁÓµÃÖ¶ÄØµÃؼÆÓ¸Æ×³ÆÖ¶ÆØ¸ÆÙ¹ÈÚºÇÚ»ÆÙ¼ÈÖ½ÇØ½ÇÙ¾ÉÛ¿ÉÜÀËܾËÝÂÎÝÀÌÜÃÎÝÇÐ߯ÐÜÉÓâÇÑßÈÑàÇÓâÉÓâÇÓäÊÔâÌÖãÉÔâÇÓàÈÏÞÅÑâÁÑãÃÍÞÄÏàÆÑäÀÌÞ»ÉÞ³ÆÙ³ÇÛ°ÇݶÉÛ«ÈÝ®ÇÞ­ÇݵÌÞ¬Éà«ÆÜ«ÇÛ«ÇÝ«ÆÛ²ÇݲÇܳÉܯÈÜ®ÈݰÅܲÆÜ³ÇÛ±ÇÛ¶ÈÞ¹ÈÞ±ÆÛ°ÇܰÉݰÉÝ®ÇÛ±ÆÝ°ÉܳÉÛ´ÉÞ¶ÉÛ¹ÌÛ¼ÍݸÊݸËܸÉÛµÇÚ°ÇÛ¯ÇݳÊÞ¯Êà°ÉÝ®ÇݯÈܵÌÞ¯ÇܯÊݱÌàµÌâ±ÊÞ®ÇܱÉܱÊÜ­ÉÛ¯ÈÞ°ÈݰÉݰÊß°ÉݳÊݳËß³Êà°ÊÞ´Íà¯ËÞ±Ëà¯Éß³ÉÞ®ÈݰÉÞ®ÈÞ®ÊÞ°ÊݱÉà´Êà³ËÞ«ÈÛ°ÉÞ±Éß²ÉÞ±ÉݱÈÝ´Éà²Èà´Ìà±ÊÛ­ÌݰÉà°ÉÞ±ÉݳÊà´Ëß³ÊÞ¯Êà³Ëß´Ìß±ÉÞ²ÈÞ®ÇݶÉݳÈß°Ëß¬ÇØomn££¨³ÈܯÇܯÈÝ­ÈݰÇݳÉÝ´ËÞ¯ÊÞ´ÌÜ­ËÞ­Ëß²ËݵÌâµÌâ°Ìà²Ìà®ËÞ±ÌÞ³ÊÞ¯ÉݱËß±Ëà­ÉáµÉß±ÇßµÉÚ±ÉܳÍß°ËÚµÌÝ´Ìß³Ìß±ÊÞ²ËݶÊݲÉÞ´ËݯËß´Ìß²Ëà³Êß³ËÞ³Ëß´ÌݱÌßµÍà²ÌáµÊáµÌÞµËá´Ëâ¶Ìà¶Íâ±Ìá³Ìà´Ìâ²Ìã·ÍâµÍâ¶Í߯ËßµÌâµÌà¸ËÞ¶Ìà¶Ìà³Ìß¹ÎâµÌÞ·ÌÞ¸ÍßµÌß·Íß³ËÞµËà¹Ìá»Îâ¶Îá·ÎàµÌàµÌà¸Íß³ËÞµËà·Ìâ·Îà¶Íß¶Ëß¶Íß´Ìà¸Íá·Íà»Îâ»Íà·Îß»Ñà¸Ïß·Îà»ÎÞ»Ïà»ÎàºÎà¹Íá¸Îà½ÑÞ¹Íà¾ÎàÀÎÞ½Îâ¾Ïá¼Ìá¼Ïâ»Ðá½Îâ¼Îà»ÏáÁÏàÂÐàÃÑâÂÍÞ¿Ïâ¼ÏàºÏà¸ÌàºÍà»Íà¸Ìà»Îá¼Íà¸ÎâºÏß¶ÌÞ»Ìá¹Ìß»Ìß¹ËÞºËÞºÊߺÊÞ¹ÍݼËÝ»ÎߺËÛ»ËݶÆÙ³ÄֱŨ±ÃذÃÔ®ÃØ¬ÁÔ¯ÃÙ­¿Ö«ÀÖ¬¾Ñª½Ñ§¼Ò©¾Ñ©½Õ¥½Ö§¼Ò­½Õ®ÁÔ¬ÁÕ®ÂÖ°ÁѬ¾Ò±ÁÕ¯ÀÓ±ÁÖ±ÀÒ²ÂÕ°¿Ô«¼ÏXLHG4%[O?" viJ¬¶Æ6)-*#%we`{o>&T2¨£˜¶ÃÑ·ÂѳÄÔ¸ÂÓ·ÆÖ¸ÆÙ¶ÅÖ·Æ×¸ÅÙ·ÆÛºÅÕ»Ç󼃯·ÇÚ¾ÉÙ¿ÉÙ¿ÊÛÂÊÛÃÎÞÅÏßÅÐ߯ÏÝÈÒ߯ÏÝÈÑßÅÎÞÆÐÞÅÎÜÂÎÝÁËÜ¿ËܽÇ׽ɨ½ÊܽÊܺÅÙ»ÇÙ¹ÆØ¸ÇØ·ÄѸÄÓ´Ä×¶ÃÕºÄÖ´ÀÓ¶ÄÖºÄÕ·ÂÑ·Ã×»ÂÖ¶ÃÒ¸ÂÖ³ÄÓ¶ÄÕ´ÂÕ¶ÂÕ´¿ÓµÁÔ²ÂÕ¶ÁÓ²¿Ó³ÃÕµÃÖ±ÀÒ¶Å׳ÃÖ¹ÃÕ¶ÁÕ»ÄÒ»ÇØºÅÙ»ÇÙ¼ÇÙºÆ×»ÇÖÀÇÙ¾ÈØÃËÛÄÉÛÃÍÞÃÏßÁÌÝÂËÝÅÌÞÉÑàÈÕàËÔÝÍÕãÎÖåÐÖãÐÙæÑÚâÓÙåÓÛæÖÛæÕÝæÔÝæÕÝèÔÞèÓÛæÓÙæÐ×ãÐØäÐÙãÏ×åÎ×åÐÖåÏØåÍØäÎÖãËÕäÌÕáÌ×ãÎÖâÎ×ãÎÖâË×äÌÔáÊÓÝËÕÞËÓáËÓàËÑÞÇÑáÆÑàÇÐß½ÍÛ»ÌÚ±ÄÖ´ÀÓ®½Î¬ºÑ¡²ÎžµÎŸ³Ë©±Çž®Æš°Ä ¯Ê˜ªÆ¢°Ç¢¬Ãœ­Ç›«Ç›¬Å™«Âž­ÂŸ¯Ä¯Æš­Èœ¬Çš­ÉŸ®ÆŠ¥¹uާ‚¥¼ÇÊÂÌÐ¥ÁÔ¨¾Óž»×¤¿×¡»Ó¢½Ó¤ÁÖž¼Ó ¾Ö¡¿Ö¤Áئ½Ö¤¼×˜¸Õ‘¯ÌŠ¥Æ¬É†¦ÇˆªÉ“®ÊŒ¨É“¯Ì–ªÃ’¯Ë˜®Æš°Ëœ³É¤³Ë ²ËžµÍž´Í¡µË¥ºÏ¦¸Ì¤¸Ì£¹Ð©ºÎ¥¹Ð¨¸Ï¦¸Î¡¹Í µÌŸ²Ë•¯Ë£²É¡³Ë¡µÊ¤µÏžµÉ£µË£¶Ë¥¶Ì¦¶Í¡³Ì±Ë¤³Ìž±Ëž²Ì¡±Ê¤·Ð¦¶Í¤¶Ï¡¹Î£·É¤·Ë¤ºÒ¡¸Î£µÍ¤¶Ê ·Ì¡³Éš¯Ê®Éž²ÍŸ¶Í™µËž·Î´Î¡·Ð¥ºÐ¤´Ï¦¶Î¡µËœ±Ìž°Èž²Ê³Ê›±Èž±Ë¤´Ì¨¹Í¦»Î¨»Ë©»Î®¾Ð¶¿Ð±¾Ó°ÀÖ®ÃÔ´ÃÔ±ÃÕ³ÂÔ¸ÆÖµÇظÆÖ´ÄÖ¼ÇÖ»È׿ÉÖºÉÖ»ÉÙ¼ÊÚ¼ÇØºÆÙ¼ÆØ½ÊÚÀÊÙÂÌÜÂËÛÄÎÝÃÎÝÂÎßÃÎàÆÎâÉÒàÈÒàËÕàÉÓáËÖãÊÖåËÖäËÕáÊÓãËØãÌØâËÖäÉÔãÆÑàÆÑßÃÏÞÃÏàÁÏÞÀÍÛ»ËÛ»ËÞ¶ÇÛ·ÇܲÆÝ¯ÇܱÇݬÇÞ¯ËܱÉÛ®ÈݯÈß«ÇݯÇݱÉݱÈݯÊÝ®ÇÜ­ÈÛ²ÈÚ¸ÉݸÉܹÉÚ·ÉܳÈݱÆÛ°ÆÚ±ÈÚ®ÈݬÇÝ®ÉݰÈÞ°ÈܱÉÞ¶ÈÛ°ÊݹÌß»ÉݵÈݶÉÚ±ÇÚ®ÇÛ²ÇÛ®ÇÛ­ÉÜ©ÉÝ­ÈÞ¯ÈÞ¯ÉݯÉà´ÊÛ·ÍÞ³Éà´ÌÞ±Êß²ÈÞ±ÊÞ³ËÞ³ÈܲÉÞ²ÊݵÊÞ®ÉÞ²ËÞ³Ëá®Çß±Êß´Ëß¶Ëß±ÉÞ´ÉܳÉݲËà±Ëá®ÈÞ´ÌݲËà°ÈݬÉÞ®ËÞ­Ìà­ÉÞ³ÈÞ²Êß³ÉܱÇÞ±ÇÞ´Ìà³ÊÞ¶Êà¯Êß±ÉÜ®Ëà±ÉݬÈܳËݱËß²Êá³Êß°ÈÞ±ËÝ®ÊÞ¯ÉݯÈÛ²ÊÞµËÞ¬ÄØGM]˜¡¬¯ÈÙ±ÊܯÉݯÉÞ³ËÞ¯ÉݳËà°ÊÞ²ÌÝ­ÌÛ±ÌÞ°ÉÝ´ËÞ®ÉÞ±Ìá´Ìà²Ëß°ËÞ±ÌÞ­Éß«ÇÞ³ÊÞ°ËßµÉÞ³Éà²Éß´ÌÜ´ËݲÉݰÊÞµËÝ·Ìß¶ËݵËà·Ëà´Ëà±Ë߯ÉܯËà±ÊÞ´Ìà´Êà³Ëà±ÊÞ³ËÞ¶Íá³ÌàµÌÞ·Íß¶Íà¸Ìá´ËàµÎã±Ìß³ÌÞ¸ÎÞ´Íß³Ìà¶Ìà¶Ìâ²Íß²Ìá´Ìà¶ÍàµÊß²ËÞ³Îá·Ïà¸Îâ²ÍߺÎà·Ìß¶Îà·Ëà¶Ëß·Ë߸Ëá¶Íà´Íß·Ìà³ÌßµÍߺÌß·Íß·Íà»Íß¶Îá´Ìß¶ÎàµÌÞ²Ìá¶Ëà¹Íà»ÍÞ½Îß·Îà·ÎáºÏÞ½Ïß»ÎàµËà¹Ìà¶Ìß½Îá¸ÐÞ»Ïâ»Îà¸Ëß¹Ìà·Îß¼Ïà¼Ïá¾Îà½Ñâ¾Ñâ»Íâ¹Ìß¾ÎàÁÎà½Îà¼ÎàºÎà¸ÍâºÍߺÍß»ÎáºÌà·Ìß¼Íà»Îà¶Íá·Îà¹Íà¹Íá½Íà½Íà¶ËÝ´ÊÝ»ÉÞ¸ÌÞ½Ìà¹ÌÞ½Îß½Íà¶ÉÙ´ÈÙ²ÆØ³Å×±ÆÖ²ÄÓ³ÆØ±ÆÙ®ÀÖ¬¿Õ­Â׫ÁÓ¨¼Ó¥»Ó±¾Ó­¾Ð«¾Ò¯ÁÖ®ÃÖ¬ÂÖ³ÀÕ´ÂÕ®ÂÕ¯Â×´Ã×µÂײÂ׳ÁÔ°ÁÔ³ÃÑ«µ¿œf©°²}eVjK;kRE›•š±»Ëvf]‚sR¨§ ®±µª¥Š·¸µ»ÃѹÆÕ·ÃÖ»ÇÔºÉֻŨ»ÆØºÆÙ¹ÈÙ¹ÆÙ»ÇؼÊ×ÀËÚ½ÌÙ¼ÌÞÂÉÛÂÌÝÂÌÛÅÎÝÅÎÞÈÓàÉÒàÊÒâÉÐâÊÒáÉÓàÉÑßÈÒâÅÑßÇÎßÂÎÝÂÌÛÁËÛÂÉÛ½ÉØ»ÉÛ»ÌÝ»ÇÚ¸ÇØ»ÆÔ¹Å×»ÅÖ·ÁØ¹ÇØ¸ÆÚ»ÅÙ¸ÆØ¹ÆØ»ÇÕ»ÇØ»ÃÖ¼ÇØ¸ÆÔ½ÉØ»ÆÙ·ÆÖ¶ÃÒ²ÂÕ±ÀÕ³ÂÒ´ÂÕ¶ÄÖ·ÄÔ¹ÃÖ¹ÅÒ¶ÄÔµÃÖ¹ÂØ¹ÆÙ½ÉØ¸ÇØ¶ÅØ·ÅÕ¾ÅÙ½ÇÙ½ËØ¿ËÝÀËÚÀÊÚ¿ËÛÃÎÝÃÍÛÃÎÝÂÑàÉÑßÇÑâÌÓàÎ×âÎÖáÏØäÓÚãÔÛåØÞçÕÛæÖÝçÓÞæØÞæØÞæÕÞæÖßçÕÛæÔÚæÑÚçÑÚäÏÙåÎÚçÐØãÒÚäÒÚäÑ󾄯åÏÙåÍ×åÏØåÐ×âÒÙâÏÙãÏØäÏ×åÏØæÍØãÌÖàÊÖÞÇÕâÇÑàÇÓàÆÐàÃÐà¿ËÝ¸ÈØ³ÅÖ±ÁÕª¿Ð¥¸Ì¤®Ë¤²Ì¥²Ë–°Ê¡¯ÆŸ³Ä°Êž°Ç™«Å›®Ç™¯Åš­Èš¯Ä—¯Ä›±Åž±È¢­Å¡®ÆŸ±ÊŸ±Ê“«Ábr™q¾ÇÌÂËШÀ×¥¿Ñ¤ÀÕ¤ÁÖž¾×©Á×£½Ö ¼Ô¡½Õ ¿Ö£ÀÖ¢¿Ø¾Ø »Ó–¯Ï¬ÉªÈ’ªÇ®È±Ê‘«Ç–±Ì“®Ì°Ëš¯Ë˜¯É—°Ç¡²ÌŸ²Ë ¶Í›µÐ§¹Ò£¸Ò¥»Ó£ºÐ¦¼Ñª¾Ñ©¿Ó¬¿Ô¬¾Ö©¼Ò¤¹Ï›³Î£»Î¢¹Ð¡¶Ì¡µË¤¸Î ¶Ë¦¶Î¤¶Ì¤ºÍ£´ÉœµÍš²Ë—¯É›®Çœ°Íš¯É™²Ë’®Ç𮯗°Éœ³Ê™¯É”¯ÊŒ¯Ì•®É™°Ë›±Èš°È˜¯É’«È“®Ç—¬Å—­Ç˜®È˜¬Ëš°É°Ë™¯Ê ²Íž´Ìš±Ìœ³Ìœ²È¢³Æ ®Ç¤¸Î¤¶Î©·Ï¢·Î©»Ï¬»Ì²½Ð®¿Ò°¾Ñ®ÀÕ²¾Ó±ÁÑ·ÃÔ±ÁÔ·Æ×ºÇÖ¶Æ×¼ÉÚ¾ËܾÊÛ¿ËÚ¿ËÚ¾ÌÜÀËÝÂËÛÀÌÞ¾ÌÚ¿ÍÜÂÏÝÁÍßÄÑ߯ÑàÄÑÞÅÐàÅÒâÊÔáÉÓáÊÓåËÓãÍ×äÌØåÌ׿ÍÖäÍ×äÌ×äËÙåËÙäËÔæÈÔâÉÒáÄÑáÄÎÞÃÎÞ¿ÍáÀÌÝ»ÉܶÉÚ¸ËܱÆÛ±ÆÛ¯ÆÛ´ÇÝ«ÆÝ­ÇÞ°ÇܯÇݱÉß°ÉܰÇÞªÆÞ­ÆßªÅÛ«ÇÜ­ÇÛ°ÇÚ´ÊÞ´ÇÜ³ÇØ±ÇÛ²ÇÚ²ÇÛ®ÈܰÉÝ®ÉÝ®Éß«Èß°ÉÛ¬Éà²ÉÞ²ÆØ´ÉܳÈܱÈÝ·ÉÞ¶Éß°ÆÚ®ÈÛ®ÄÛ®ÄÛ­ÇÞ®ÇÛ±ÉÞ­ÈÛ³ÉÞ¯ÇÝ­ÇÙ±ËÞ°ÉݵËݲÊݳÊݶÊÞµÈß²ÇÚ¯Ç󨁯¯ÇܳÌ߸Íá¶ËßµÉá¹Ëà³Ëß²Êß³Ëà±ÊÞ´ÊÞ±ÊÞ®Éß±ËÞ´ÉݱÉÞ¯ÈÞ®ÇÞ®Êß³ÌÞ¯Éß®Éà±ÉݱÊß±ÊÞ¯Éá­ÉÞ²Ìà±Éà®ÊܰÉà­Éá±Êà°ÈݯÇÞ²ÊÞ³Ìß°Ìß°ÉݰÊà±ÈÞ´ÉÛ­ÉÛ¯Éß±ËÞ¥ÀÓPLI´ÇÞ²ÉÞ¯ÈÞ²ÈÞ±ÊܰÉÝ­ÉÛ±Êà´ÉݬÉß´Êà±ÈÛµÌà±ËÞµÍÞ±Ìà°Éà®Ëâ´Ìà±Ëß±ËܳÈÚ­ÆÛ®Éß³Ëà±ÉÞ­ÇݳÉß°ËÞ®ÇݱÊݱËÞ¯Íà±Êà¶Ëâ¶ËáµÌá°ÊܰÊܰÉß±ËÞ²Ìá´ËÞ²Ëà¶Ëá³Ëà³ËÞ´ÉÞ´Ëà±Ìá°Íá³ÊßµËá´Ëà³ËÞ´ÍàµÊà³ËâµÌݲÌÞ¹ÎâµÌâ¶Ìâ´Ìß®Ëà±Ëà¹ÌßµÌß´Íà¸Îâ»Ìâ·Îá¶Íß±Ëß¶Íß¶Ìß´Ìß¶Îá·Ì߸ÌáµÌß¶Îß·Ìà´Ìà¹Í߸Íá·Ë߸ÍàºÍà·ÌßµÌÞ¶ÍÞ¶Ëá´Ìà¶ÌàµÐà¶Íà»Ïâ½ÎÞ¹Íà»Îà¹ÎàºÎâ½Îà´Îà¶Ëà»Íà¶Îâ¶ÌáºÏà¸Ìß¶ÎÞ¹Ìà¹ÎáÀÎâ¼Ìà¼Ïà»ÍߺÎà¼Ïà»Ïá¼Ïâ½Ðá»Îã¶Íâ¸Îâ¸Íà»Ìà»ÌàºÍà·Íà¸Îá¹Ëà·Íâ¶ÌÞ¼ÌÞºÈÞ¸ÌÞ¹ÊÛ·ËݶËÜ»Îá¿Ïà»Ëà¸ÉݵÈݳÇÜ²ÆØµÇصÆÜµÇÞ²ÅÛ±ÃתÁÖ±ÃÖ«ÂÖ«¿Ò«ÁÔªÁÖ¯¾Ò«¿Ó°ÂÖ°ÅÕ²ÃÕ±ÄÖ²Ã×µÅ×´Ä×µÂ×·Æ×¶ÆØµÄضÅÕµÃÔ¶ÂÒ¶ÄÕ¶ÅÔ¸ÅѶÃζÁζÁÓ¶ÆØ¸ÂÓ¶ÆÒ¸ÃÔ¶ÆØ¶ÅÔ·Ç×½É򼂯·ÄÔ·ÇØºÉÛ¶ÆØ¹ÈÙ»ÇØ¼ËÝ»ÉÙ¾ÌÛ½ËݾÉÚÁÎÝÂÎØÄÌÜÆÌÜÁÎßÅÏàÆÎáÆÑàÈÓßËÔÞËÕáËÓàÊÓáÊÓáÈÓâÈÒâÇÎÝÇÏÝÂÎßÄÎÝÃÉßÁÌݽËÛ½É󼮯·ÇØ»ÇØ¼ÇؽÅÔ¼ÇÕºÄØ¶ÇÛ»ÆØ¹ÅÕ¹ÇÔ»ÊØ½ÉÚ»ÈÝÁÉÛ½Ç×½ÆÖ¾ÈÙ¶ÇÛ¹ÈØ¸ÆÙµÄØºÄØ¸ÃÖ·¾Ó´Ã׺ÅÖºÆÖ¸ÆÙºÆØ¸ÃظÆÙ¼ÄÔ¸ÆÕ¸ÆÙ·ÈÛ¼È×½ÈÙ¾ÉÚ¿ÉÛÁÉÛÂÌÝÁËÚÄËÛÁÌÛÄÌÜÇÐßÇÑÞÈÑâÍÔãÎÕáÎØãÑÚæÒÝåÔÜåÖÛåØßåÖÝéØßèØÞèØÞæÖÞçØáé×ßèÔÚæÕÛçÒÙçÓÚåÎÙåÑÙæÓÚåÓÛæÑÛäÑÛåÐÚæÓØæÔÙæÒÙæÒÚçÑÛåÐÚäÏÙäÎØåÎ×ãÌÔåÄÐßÃÍÝÃÌÞÃÍÞÁÍßÀËÛ¸ÈÛ·ÆÚ¼ÄÖ®ÁÓ©½Î§µÌž­Ì ²Ë¥¶ËŸ³Ë¢±Ë ®Çœ¯Äš®Ç¡³É™±Ç¡°ÄŸ±Êž±Ê¤±ÊŸ°Ê °Ç °Çœ±È¡³Êž³È‘©Â}±¤­¾ÇÍÃËÐ¥½Õ§ÀÕ¡»Ò ºÕŸ¸Ó£ºÖ¤»Ó¤½ÑŸ·Ò¡¼× »Ö¤½Ö£»Ø¤»Ó”®Ê‰ªÇ‰«Ç­ËŒ¨Ë­È®É˜°Ê•°Ì®Çš±Ìš³Ìœ¯ËŸ²Ï³Í¢µÏ´Í¤¸Ï¢¸Í¤¸Ð¥¶Ð£³Î¨¹Ñ¨¼Ò®¿×±ÁÕ°¾Ó¥¼Ñ¥ºÏ¤·Î©µÎ¥¶Ï¥·Í£´Î£»Ñ¤ºÏ¤·Ì§·Ì¤±Í¤±Ê ´Ëš¯Ç›¯É•­Ç¬Æ›®Ç˜®É¨ÇœªÇ«ÈŽ§Æ–­ÅŠªÆªÅ”®ÈŽ©Â”¨Æ’ªÃŽ©ÈªÇ©Ã•ªÇŽ©Â˜­Ê˜®Ç“©Ç’ªÃ“©Å˜«Çœ¬Éž­Çœ¯Ê¡³Î °Ê¤¶Ì¥¸Î¢·Î«¸Ñ§ºÓ«½Ó®¼Ó³¿Ô±Àѯ½ÒµÀÑ·ÂÕ±ÂØ³ÄÓºÅÚ»ÈÚ½ÉÜÁÉÝ¿ÉÝ¿ÊÛÃÌÝÂÍÜÁÌÛÁÌÜÅÎßÄÌ߯ÍÜÂÎÝÆÐÞÆÐàÅÏÞÆÑáÇÒâÉÑâÊÑâÊÓâÊÕãËÖáÌÖâÌ×äËÖæÉÔæÎÖåÌÖæÎÖäÎÚäÍØâËÔãÉÓãÅÒàÆÐâÅÐàÂËá¾ÊÞ¹ÊÝ»ÊÞ¹ÇÚ¹ÉÛ³ÆÝ±ÅÛ¶ÇݱÅÚ®ÆÚ¬ÄÛ®ÅÛ¬ÆÞ®ÅÞ°ÇÞ¯Çß®Çà¯ÇݯÇÜ«ÇÜ®ÇÝ®ÇܲÇÜ·ÈÝ´ÆÞ­ÄÚ®ÄÚ®ÅÙªÆÛ¬ÆÚ°ÇÞ¬ÆÜ­ÆÝ®ÈÞ¯ÆÝ¯ÇÛ­ÇݱÆÛ²ÇÛ°ÇÛ²ÉܶÇÞ±ÆÜ¯ÄØ®ÄÚ´ÇÝ­ÆÝªÆÛ«ÄÖ®ÆÚ¯ÆÞ´ÈÝ°ÇØ®ÆÜªÄÛ¯ÇݱÇܳÉݲÆÚ´ÉݶÉÞ±ÅÛ·ÆÛºÉÛ·ÊÞ¸ÊÞºÌà½Ìâ¼Ìà»ËÞµËݵÉÞ±Èß³ÉÞ®Éß®È߯Éá±Ëá­ÈݱÉÞ®ÆÝªÄÖ­ÆÙ«ÆÝ®Éâ²Èà­Çà±ÇÞ®ÆÝ­ÈÞ°Éß­ÇÚ®Éß³Éà±ÉáªÈݵÊÛ³ÈÛ®ÈܲÈÞ±ÈÞ¯Èß±Éß±ÈÞ°ÉÞ®ÉÛ®ÇܰÇܬÄÛ‘¤€ƒ“²ÇÛ²ÉÞ¬ÇÜ­ÉܱÉß®ÆÝ²ÊÛ°ÇÞ±ÈݰÉÞ°Ëß±ÊÜ´Éá²Èà±ÇݰÉܰÊà´Ëâ±ÇÛ®ÉÞ³ËܱÈÞ®ÇÛ­ÆÚ±ÆÙµÇÞ´Ëß°Èß´ÇÞ²ÉßµÉà®ÇݯÆÝ­ÈܱÉÞ°Êá±Ëà´Êà°ËÞ¯ÉÞ±ÈÞ²ÉݲÊß­Éß®ÈÞ±Êà²ÈÞ±ÈÞ°ÆÝ³Éá²ËÞ°ÈÞ±Éá±ÊÞ°ÇßµËàµÊß®ÈݲÉá±Ëà¯Éß´Ëâ´Ëà´Ëß´Ëà³ËݶÌàµËÞ²ÈÞ²Ëà¸ÌàµËß¶ËܹÌÞ¶Éß¶ÉÞµÉÞ·Êà·Êß·Ëà¶Ëß·Êß¶ÊÝ»ËÞ¶ËÞ´Êß±ËáµËÝ´Ëß¶ÌÞ±ÊÞ·ËàºËáµÌß¶Ëß¶ÌÞ¸Îà³Ìà·Îà¶Îà¶Ìà¹ÍâµÌàµËàµËÞ¶ËÞ¶Ìà»ÌàµÌÞ¹Ëá¶ËÞ»ÌݸÌÞ¹Ì߸Ëß¶Ëà¹Ìß½Íß¼Íá»ËߺÌà»ÏâºÏã»Íà·Íá¹ÍáºÍà»ËàºË߸Ëá¹Íà¶ËÞ¸ÊÞ¼ÌàºÌá¶Ëà¸ËÞ¸Ìà¹Ëß·Êß¹Ëß»Ëà»Ëà¼Ëß¹ÇÞ±Â׮Ũ±ÇÛ±Ã×´ÅÛ¶ÉÛ¸ÆÛ¶ÆÙ¯Ã׬Áئ¿ÔªÀÔªÁÕ«½Ñ¬¾Ô«ÀرÂÖ²ÁÖ±ÂÕ±ÃÔ¶ÃØµÄÖºÄÕ¸ÄÖ¶ÅÛµÇÛ´ÃÖµÄÖ³ÄÖ¶Å׸ÃÖ»ÆÖ¼ÉÛºÈÙ½ÇÖ¹ÃÔ¶ÆÚ¶ÆÖ¹Ç×·ÇÖ¹ÇÙ¹ÇØ¹ÇÛ»ÃÖ¼ÇÙ·ÆÖ½ÆØ»ÆØ¹ÆÚ»ÅܼÇÛ»ÉÛ½ÈØÀËÛÀÌÝÂËÝÃÌÝÃÎßÃÌàÆÎàÆÏÞÆÏÞÆÑàÇÒÜÈÓâÊÔâÌÓäÍÓâÍÔãÏÕáËÔãÊÒâÆÏÞÆÑáÃÍßÂËÝÃÌÞÂÊÝÀÈØ½ÊÙºÉÚ½ÈØ¼ÇÜ»ÇØ½ÆØ»ÉÛ»ÇÙ»ÇØ»ÇØ»ÇÚ½ÇÚ¼ÇÔ¼ÇÚ½ÇÝÁÉÛÁÉܾɨ½ÊؽÉÛ¾ËÙ¿ÇÙ»ÆÙ¹ÆØºÇØ¹ÆØºÆØ¹ÅÓ¼Ç׺ÆÙ¾Æ×»ÆØ»ÇÝ»ÅÙ¼Æ×»ÇÚ¹ÅÙ»ÄØ¾ÇؾÈÙÁÊÝÁÉÙÆÌÜÅÎÞÅÎÜÃÌÛÃËÝÅÎàÇÏáÉÐãÌÓãÎ×äÎØäÑÚåÔÛæÕÜæ×ÜæÖÛç×Ýç×ßèØÞéØÞçÖÞçØÞèÖÞèÕÜèÔÜæÓÚçÓÛçÔÚæÒÚåÓÚæÒÚæÑÚçÏØæÑ򾄯æÓÜçÓÛæÒÛæÑÚæÑÚæÏØçÎ×äÌÖæÈÓâÂÍß½ËÝ»ÉÛ¼ÇÙ¸ÇÚ¶ÃÚ®ÁÒ®¿Õ®»Ó¤µÑ¥³Ê ±Ë¤®Å˜±Íš¯È˜­É›®Æ®ÆŸ±Ëœ¯Çž±Ë¯ÉŸ°ËŸ®Êž¯Çœ°Ë¡³Ì¤±Æ¡´Êž¬È¡¶Ë¦²Ê˜§Áœ£´¦±±¿ÉÍÂÌÑ£ÁÒŸ»Ö »Ó¡»ÑžºÓ•·Ó ¹Ò¡¸Ñ™·Ñ¨¾Õ¤ÁÖ¤ÀÖ¢½Ô“¶ÓŠ°Ë“®É¬É¯Ê±Ë“¯Ç•®È“±Ê—±Ì›²Í™°Êœ³Ë ´ÎŸµÎ¡ºÍ£¹Ì ¹Í¤¹Í¢¹Î¢¹Ò¥¸Ð¥»Ð£¼Ð¨½Ð°¿Ò±ÀÔ³ÅØµÂÖ¬½Ó¨»Ðª½Ó¥¼Ó®½Ð«»Î¤ºÎ¤»Ñ¥ºÎ¥¸Ï¡³Í³Îž³Ë—¯ÉŸ°Éœ®Éž¯Æ—±Ë—¯Ç–¯Ç‘®È•¬È’«ÃªÆŽªÄ“ªÆ’ªÄ‘«È”­Æ“«Ê’­Ç“­Ä•«Æ—ªÇ­ÅŽ¬Ç˜­Æ™­Êœ­Ç•®Å”®È™¯Èš°È ²ÌŸ´Ì¤³Ì¤¶Ì®¼Ñ­¼Ð­»Î©·Î®½Ñ­½Ñ°ÀÒ¯ÀÒ´ÅÑ»ÆØ·ÃÓ¼ÆÙºÆÙ½ÇؽÈÚÀÌÝÁÌÞÂÎÞÃÏÞÄÑÞÉÐ߯ÏÝÇÏÞÈÑÞÇÑàÇÒßÇÓàÅÐÝÇÑßÉÒÞËÓáËÓâÉÖãÊÕâËÖåÌ×åÎÖãÏ×âÎØäÌÖåË×åÎØåÌØæÎÚåÎÙäÎØæÌÔãËÕáÇÓâÁÎàÀÍà½ÍâÀÌÞ¼ÊÛ»Éà¼ËÛ¾ÉݸÈܳÇݱÆÛ°ÇÛ®ÆÝ±ÈÛ«ÄÙ³ÆÙ°ÇÜ­ÆÝ­ÆÛ¨ÆÜ«ÉÝ®ÈÜ®ÆÚ­ÅܰÇܰÇÜ®ÇݰÇÛ¯ÆÜ°ÆØ¯ÇÛ°ÈÜ­ÅÜ®ÆÛ¬ÆÞ®ÈÞ­ÇݬÇß´ÉÜ´ÈÙ®ÇÛµÉݲËݯÆÝ²ÇܵÊܯÇÛ®ÇÞ¯ÇÚ²ÇܪÆÙ°ÇݬÇÚ±ÇݵÇݳÈÜ´ÉÜ»ÉÞ¶ËÚ¶ËÞ¸ÈݹÉÛ¹ÉÜ»Ìß¼ÍÞ¼ÍßÂÐßÁÎßÁÎÜÃÎàÄÏàÂÎà½Ìß¼ÌàºÌܵÊݲÈÞ²ËÞ²Éß²ËÛ®ÉÞ°Êà°Éà®ÉÞ°ÊÝ®ÆØ¶ÈܬÉÞ¬ÉݯÉݬÉÞ®É߯ÉݯÉݯÈܰÊÜ®ÈݯÊݱÉÝ´Êß±ÉݱÊݲÊݯÈܰÈÞ¯Êà¬ÊÞ¬ÉݬÉÛ¯ÊÞ±ËܯÈܨ¼Î—¢«±ÇÚ®ÆÝ°ÇܯÈܯÇܱÊÞ­Éà¬ÇܲÉÞ´Ìà´ËÞ²ÊßµÊß¶Êà´ÉÝ´ËܳËà±ÊݱÌÞ®ÇÞµËß®ÈݲÇÛ±ÆÛ®Æà±ÉÞ´ÊÞ±ÈÝ®ÈݱÉÛ±ËÞ±ËÞ°ÊݲËß±ÊÞ´Éà´Êß±ÈݱÊÝ´ËÞ®ÉÞ±Êß²ÇݱÉÝ±ÈØ°ÊÞ°ÈݲÉà´Ëß´ËÞ´ÌݵËß²ËܳËܳËݲËßµÍ߯Êà²Êß±ÉݳËß´Ëâ¶Ëà¶ËÞ³Ìà·Êà¶Ëà¶Ëß´ËÝ´ËݶÌÞ¶Ìà·Ìß´ÊܶÊÞ¶ËݹËÞ»ËܸËÝ·ÊܶÊܶÈݼËߺËà·Ìß¶ÍÞ´ÊÞµËÛ¶ÌݶÊßµÊß´ËÞ´Êà¸Ìà¶ÌÞ¶ÌÞ¶ÍÞ²ÊݶÌÞ¹Íà¹Ìà¹Îà·ÎݶËÞ¶ÌݶÊÞ·ËݶËÞ¶Ìà¸ÌàºÎÞ»ÎÞ¾Ì߸Ì߸ÉÝ»ËÞ¾Ëà¸ÌߺÎà»Îâ¹Ïá½ÎàÂÐà¿ÍÜÀÑá½Ðã¼Ïß½Îâ¼Íâ»Ì߸ËÞ·Ëß»ÍÞ¼Ëß·Ì߸Ìà³Îá¶Íß·ËÝ·ÌÞ·ËÞµËݶÌݺÊÝ·ÇÛ·ËÞ¶ÉܶÆÛ¸ÇÝµÆØ²ÅدÅÛ±ÆÜ²ÆÙ­½Ó°Å׫¿ÔªÂÓ°ÃÕ®ÂÖ°Ã×°Â׳ÃÕ´ÄÕ¶ÅÖ²ÅÕ·Å×¶ÃÕ¸ÆÙ»ÇܺÈÛ¶ÇÜ´Å×¶ÇÖ´ÃѼÆÕºÆÚ½ÆØ¹ÆÖ¹ÉØ»ËÛ½ÊÙ½ÊØÀÉÚ¿ÉÛ½ÉÛ¸ÇØºÉÛ¾ÌÝ½ÉØ»ÉؽÈÙÁÉØ½ÉÚ½ÇÛ½ËÙÁÌÛ¾ÌÞ¾ÎßÃÎÜÃÌÞÅÏÜÆÏÞÆÐÞÈÒ߯ÑßÅÒáÆÑâÊÔÝÌÔàÏ×ãÍØãÍØãÍÙâÌÖâËÖâÊÔâËÕáÉÑàÇÐßÅÏßÃÌÞÃÌàÃÎÝÀËÝ¿ÉÚÂÊØÁÊÖ¾ÉÚ¾ÈÛ¿ÊØ¿ÊÜ¿ËݼÉÚ¾ËÛÂÎÚÁËÛÃÉÛ¾ÊÛ¿ÉÜÂÊÚÂÉÚÂËÛÃÌÛÄËßÄÉØÂÊÛ½ÇÙºÆØ»ÅÖ»ÇÔ½ÇØ½ÊÚ½ÊÛ¼ÉÚ½ÇØ¿ÈÙ¼ÇØ»ÈؼÉܽÆÕ¿È×¼ÈÙ¿ÈÚ¿ËÛÁËÙÂÍÜÈÑßÇÎÞÆÏÝÉÑÞÉÐÝÈÐÞÉÑàËÔâÌÖàÎÙåÒÝçÖÞçØÞèØÞæØÞçØàèÙßèØßçØÞè×ÞçØàè×ÞçØÜèÖÝæÓÛæÐÜèÑÜçÓÚåÔÛåÓÛåÓÛçÔÚæÓÛæÓÜæÕÞæÓÜèÓÛçÑÜæÐÚæÐÚäÑÛæÌÖáÇÔâÄÎß»ÈÝ·ÃØ¶ÃزÂׯ¿Ð®»Ð¡´Ì¤¶Î¢µÌ¬Æ›±Ìš¯Ëœ±Ë ¯ÈªÆ˜¯Ê˜®Å®ÈŸ¯Éž®Ä¡°Ç ±ÊŸ³ËŸ¯Ç¡°Ë¦®Ë¤³Ë¡²ËŸ°Ë¦µÌ¤¹È¨µË¥°Å¤µ¹¿ÊÍÃÌÒ¢½Ó¥¾Ñ¢½Ò£¼Õ›ºÔš¸Ðž¼Ó›¶Ð¤»Ñ£ÁÙŸ¾Ö§ÀØŸ»Ö‘®É®ÉŠ®ÈŒ®Ê‘®Ë”­È–¯Ë˜±Î™±Ëš²Ê ³Ê ²ÊŸµÌ¤³Ê¢·Í¥¶Î¢·Î¤»Ó¢¶Ï¤¹Í¦·Î£·Ð¥·Ï©¼Òª¼Ó®ÀÖµÆ×·ÇØ·Æ×²ÂذÃÓª¾×­¼Ó®½Ò²ÀÒ­½Î®¿Ï°¼Òª·Ð¡³Îž±Îž¯Ë ²Ê¡´Î¶Î³Ë¡³Îœ®Ê–­È‘®Æ–ªÅ•¯É’¬Ç—¬Æ™­Å—«Â–¬Å‘¬Æ‘ªÆ”¬Ç­Ê“­É”¬Ç“¬Æ˜¬Æ›¬Å˜¬Èž¬Æš­Ç“°Íž²ËŸ´É ¯É ¯Ì¤µÌ§¶Ë­»Ñ¯ºÎ®¹Ñ­»Ð±¾Î±ÁѶ¿×³ÁÓ¶ÂѹÆÙ»ÈؼÇÛ¼ÈÛ¿ÊÜÀÊÛÁÑÞÂÍÞÃÍÝÂÐ߯ÐÞÇÐàÈÑÜÊÓáÌÔàÉÒâÉÒßÉÑàÉÒàÊÓàÊÓàÌÖãÌ×ãÎ×ãËÖãÌ×åÏ×äÓÛåÓÛäÐÛæÎÜåÑØåÓÚçÑ×çÎÙåÎÙæÎØåÉÔåÈÔâÉÓâÇÑßÁÍÝÂÍÞ¿Ìß½ÉÛ½ÊÞ»ËÛ»ÉÛ¸ÇÞ¶ÆÝ³ÃÚ±ÄÚ³ÇÝ´ÈÙ±ÆÛµÆØ¯ÅÚ°ÅØ­ÄÙ­ÆÜ¯ÆÜ¬ÆÜ®ÇÛ°ÇÛ²ÈÝ®ÅݱÆÜ³ÆØ²ÆÙ®ÃÙ¯ÆÚ¯ÆÛ¯ÆÜ°ÇÚ­ÆÛ­ÃܯÆÝ¬ÄÚ®ÆÜ±ÈÝ®ÇݶÇÞ¯ÇܳÊÞ­ÇݱÄÙ®ÆÛ¶ÇݲÆÛ³ÆÛ±ÆÛ¶Èà¶ÊݵÈÛ¹É߸ÊÛ¹ËÞ¾ËÛÁÍÝÀÎÝÁÏà¿ÍÜÁÎÜÁÎÛÃÎÞÃÏàÆÐàÇÑáÅÎÜÅÑáÈÑàÅÐáÃÎß¿ËÞ¼ËݵÉܵÉݳËÞ´ÊÛ²ÉÛ°ÉܱÈÝ­ÇÞ´ÇÞ²ÉܯÉÛ®ÈÝ­ËÞ¯ÉܱÈÞ²ÉÞ¬ÆÛ¯ËÛ­ÇÞ±ËÞ³ÊݲÈÝ®ÉÛ°ÈÚ±ÈÛ´ÉܬÉÜ­ÊܱÈÞ´Èß±ÇݰÉÞ²ÊܳÉܱÉÞ³ËÞ¯È߯ÆÙŸ£®¶ÉزÉÜ®ÇÚ±Êß®ÈݰÈÞ²ÊÞ³Éá±ÉÞ³ÉÜ´ËܱËܶÉݲËÞ²ÉÚµËÞ¸Éà´Êß³ÌÞ¯ÇÝ´ÇݳÅÚ±ÆÙ´ÆÜ²ÇÞ®ÇÚ³ÉÚ±ÇÛ®ÇÛ±Èß°ÉÞ²ÉݯÉݲÉݰÊݳËÞ³Éß³ÈܱÉݱÈß´ËݱÉß²ÈÞ²ÇÙ¯ÈܱÈÞ²ÊÞ´Éß¶ÉܸËá·ËÞ¶ÊÞ®ÊÞ±ËݲÊݱÈܳÈݳËÞ°Êß³Êà³ËܱËà±ÉÞ·ÊݲÊÞµÉÞµËàµËà²ÉÞ´ÉܵÇÛ¸ËݺËÝ·ÉÜ·ÊܺÊÞºÊݹÊÞ¼ÌݼÍݺËÞ½ÉÜ·ÇÜ´ÈܸÊݵÉÞ·Ç߸ÍÞºÌ߸ËݸÌß±Ì߸Ìà·Ëà¶Ìá·ÌàºÎÞ¶Îß¶ÍÞ¶Íà³Êß·ÍÞ¹Ëà¹Êà¼ËÞ¶ÊÞ»ÎÞ½ÌÞ·ËÞ¹ËàºÌà½ËÞ½Îà»ÍàºÌÞ½ÌÞ¼Ìß½ÌÞ¼Íâ¿Îà¾ÍàÂÏàÅÓâÅÑßÄÑáÀÍáÁÎàÀÎà»ÌÝ»Ëá¸Ì߸Íà¼Îà¹Ìß»Îà·ÌݸËÞ¹Íá¶ÍáµËàºËÞ»ËݽËÞ¼ËàºËÞ¹ÊݶÈÛ¸ÇÚ±ÆÜ³ÇܰÃÖ¶ÅØµÆØ±ÄÙ±ÃÙ¯ÂØ®ÃØ­ÃØ°ÄØ­ÁׯÂÖ±ÅÖµÅ×µÇØµÅ×¶ÄØ¸ÄÖ¹ÈÚºÆ×ºÇÙ·ÇÙ¸ÇÖ»ÇÛ¼ÈØ½ÈÚ½ÉÙ»ÉÚ¾ÈØ»ÆÚÀÇÛ»ÈØ½ËÜÀÊÜÂÊܽËÝ¿ËÝÀÌܽËݽËݽËÜ¿ÉÛ¿ÈÜÂËÙÁËÚÁÌÛ¾ËÞ¿ÌßÂÍÞÁÌÞÃÎ߯ÑÝÆÑÞÈÒÞËÔàËÑàÉÑßÈÒáËÔàÍÕâÌÓâÐØãÑÚåÓÚäÓÚäÑ×âÌÖáÌÖáÌÕàËÖâÈÒàÇÒßÇÏàÆÍàÆÏàÂÌÞÃÌÝÄÍØÅÌÝÃËÝÃÌâÁËÜÂÊÛ¾ÉÛÃËÞÁÌÞÃÎÝÆÍÝÆÎÛÆÎÛÇÎÜÅÎÞÃÌÛÅÌÞÆÌÝÆÏàÅÎ߯ÎáÁÌÝÂÊÜ¾ÈØ½ÉÛ¿ÉÝÂÉÛ¿ËÜÃÉÚ¾ÉÜÀÌÛÂËÛÃÊÜÂËÜ¿ÈÚÁÉÙÁÈÜÁÊÛÄÍÚÁËÜÁÎÝÇÎÞÉÑßÉÐÞËÒãËÓâÊÓäËÓàÌÖâÎ×âÐÚäÓÛæÓÝçÖÝèÙÞæØßçÛàåØßæÙàèØÞè×àèØßèÖÞèÓÜçÓÞèÕÜæÒÛæÑÜåÒÚäÖÙäÓÛäÔÜæÒÜèÔÛæÓÚåÓÜæ×ÝæÓÛåÒÛæÑÛæÐÚæÐØçÌØäÆÐÞ»ÇÖµÂÔ°ÀÕª¼Î¬»Ó¤ºÑ£¶Î ±ÍŸ´Ë›®Ë™­Éœ°Ç™¯Ì—°Ê ²Ë¯Éœ±Çž®Æž°ÉŸ°É¡¯È¡®Æ °Ì¢µËž²Ë¤²É¥³É¢±Ë¨·Ë©·Ë«¹Í©µÍ©·Í¬ºË°¹¼ÀÊÌÄÍÑ¡¼Õ¡»ÖŸ»Ö¡¼Ö ¸Ï¤»Õ—³Ï¡ºÓ£¶Ñ˜·Ó¹Ö¢½Ö¡»Õ®É®È‹­È–±Ë‘¯Ì®Ì–²Ë—²Î™µÑš²Ë¤µÍ¤¶Í£´Ï¡¶Í¥ºÐª¼Ó¨ºÓ¤¹Ò¡¶Ñ›´Í¢µÐ¥±Ï¨¹Í©»Óª½Ñ­ÀÔ²ÂÕ³Ã×µÃÙ¹ÃØ³ÆØµÅܲÁÕ¯¾Ó®½Ñª¾Ö¯¿Ô±¾Ö®¼Ñ©¹Ñ¦¸Î§»Ï¥»Ð£¹Ï£µÎ£³Î•¯Î˜¯Êœ­É–±Ëš®Ìž«Æ›®Ç˜¬Ç”¬É—¬È®Ç™®Ç•­È–¬Æ•¬É•­É˜­Å˜­Æš°Ë”­É™°Ëœ¯Ì£²Éž²Éž°Ç¡´Í¢³Ë¤³Ì¤¶Í©¸Ñ«»Ñ²ÀѲÀÓ®½Î²½ÓµÄرÃֳĨµÅÓµÃÖºÆÚ»ÆÛ½ÉÛÁËÛÂÐâÇÎÞÄÐÝÈÑßÈÑÞÇÓáÉÑáÉÑâËÔãÌÕãÍÖäÌÓàËÓâÊÓáÉÓÞÊÒàÌÔåÌÕãÏØåÎ×ãÏØåÐÙåÓÚçÑØåÎÙåÏÙçÎÛæÒÛçÍÙåÎÖäÌÖåÆÔâÇÑâÅÏàÆÏàÁÎÞ¾ÎÞ¿ÌÞ»ËÞºËݹÆÛ¹ÇÙ¶ÆÜ¶ÅÛ´ÆÛ°ÄÚ±ÆÛ¯ÁÙ°ÃØ³ÃØ¯ÃØ³ÃÛ®ÂÚ¯ÃÙ®ÅÙ¯ÆÛ®ÄÙ²ÅݳÃÙ´ÇÚ°ÇݱÇÝ´ÅÜ³ÆØ²Ä×°ÃÚ®ÄÙ³ÅÛ³ÄÚ®ÅÛ®ÆÝ®Æ×®ÇÛ²ÄܶÄÙ±ÆÜ¶ÇÞ·ÈݳÈß¶Éà²ÇÜ´ÉÜ·ÇݶÇÛ¶ÇÛ»ËܽÌÞ»ÉÞ¼ÌÞÁËÝÂÌÝÃËÝÃÎÛÃÎßÁÍßÅÎàÂÎàÄÎáÅÑ߯ÐàÆÐáÄÎÞÅÎÞÆÏâÇÐáÅÐâÆÐàÃÎÞ¿ËÛºÉß²ÉßµÈݳÆÜ´ÉÞ±ÇÞ¶ÉÛ³ÆÛ®ÄÛ®ÄÙ±ÆÛ¬ÃÚªÅÞ°Çß®ÇݱÈÛ±ÆÛ²ÆÞ®Çß®ÆÝ­ÆÝ®Èà¯Æß®ÊàµËÞ¶ÉݲÈ߯ÇÞ³ÇÛ³ÉݰÈÞ¯ÇÜ´ÊÞ²Ëß±ÉݱÈݱÆÛ±ÇÝ®ÆÜ©¹Ë³ÇݱÇܰÇݵÉÞ´ÈÛ°ÊݱÉÝ´Êß²Ëá±Ëß´ÌÞ¸ËݸÉݶÊà¶ÉÛ¸ËݺÉݹÊݸÉݱÈà´ÇݶÆÛ®ÆØ°ÆÛ®ÇÜ®ÇÞ±Çà¯ÇݲÉÜ´ÉݱÈÞ³ÈÞ°ÆÞ¯ÉݳÉÞ±ÇݰÆÜ´ÈܱÆÜ³ÇÛ¯ÇܱÇݲÇÞ±ÅÝ®ÇݳÈÝ´Èß¶ÊÞ³ÈݲÉà³ÊÞ´Ëà³Ëß³ÊÞ¶Ëß³Êß´Éß±ÈÞ®ÇÝ·ËàµÉÞ´ÈÝ´ÊÞ±ÉÞ²ÈݵÈÞ³ÉÞ³ÈÞ¶ÈݶÌß¶Éß¶ÊÞ»ËݹËÞ»ËܽÊÞ»ÉÛ¾ÊܼÌߺÊÞ»ËݺÉݼÊÞ»ËÞ·ËÝ·ÊݶÊÝ·ËàºÍÛµÈݶËÞ¹Ëß·Êß¶Ëß¶Ëà¸Ìß´ÌÞ´ËܶÊÞ·Ëà»Éà¶ËÞ¸ÌßµÉÝ»ÌÞ½ËÞ¼ËÞ»ËÞ¿ÍÞºËà¹Ìà¹Ëß½ÎÞ»ÎÞ·Ìà¸ËàºÍàºËß»Íß¾Îâ½ÎáÃÏâÂÏáÅÑãÆÑãÄÐâÆÒâÃÏàÁÍàÁÍà¼Ìß½Ëà»Íâ¾Ìá½Îá»Íà¹ÌߺÎàºÍß»Íá¸Ìà»Ìà¼Íà»Íâ»ÌàºÈݶÉÞ·ÇÛ±ÆÜ±ÅÛ¶ÇÛ´ÄܵÅÙµÆÙµÅرÃÖµÃ׬ÄÖ±ÃׯÃÙ±ÆÛ³ÆØ´ÅضÈÙµÆÖ·ÆÙ´ÃÖ±Â×µÆÚ¹ÅÚ¸Æ×·ÇÙ¶ÅÚ»ÇÙ»ÉÙ¼ÈܾÉÙ½ÊÝÀÌÝÂËÛ¿ËÛÁËÜÃËÝ¿ÉÙÂËÛÃÌÛ»ÉÞ¿ÍÞÂÎܼÌÜÀÈÛ¼ÉÝÃÌݾÊÜÁËÞÃÌÞÂÎÙÃÍÞÃÎÞÄÎÝÄÐÞÇÏáÈÐßËÓâÊÔâÌÖâËÓâËÑáÌÕâËÔâÍÖãÐØåÔÛåÓÝåÑÜäÒÚåÎÖäÐÔäÍÕãËÔâÊÒáÈÑâÆÐâÇÐàÇÏÜÆÌ߯ËÞÆÌÞÄËÞÃÊÞÂÎàÁÍÚÅÎÛÃÌÝÆÍÞÅÎÝÆÎÝÈÑàÈÑàÉÐßÇÑÞÇÑßÉÑÞÊÏáÆÐàÉÐàÉÏàÆÍàÂÍÜÂËÝÁËÝÃÊÛÂÊÜÂÊÛÂÊÚÆÌßÁÎàÄÍÛÁËÜÄËÝÅÊÜÄËÞÂËÜÄÉÛÆÉÝÃÎßÄÎÞÇÑàËÑÞÊÎàËÓãÊÓãÊÑàÍÔãÍÔäÍÖãÎÚäÒÚäÔÝç×ÝæÖÝçØÞæØàèØàç×ÞèØàéØàèÖÝèÖÜçÕÛçÕÛèÖÛçÔÝçÕÜæÓÜæÔÙæÒÛæÓÛçÒÙæÓÛæÓÚæÓÜæÓÜæÓÙæÒÙèÎÖãÌ׿ÌÖåÆÓà¹ÉÛ°ÂØ«¾Ô§¹Ñ¤¶Ð¡²Î ±É°Æž±Ëš±Ê—®Ë™®ÊšªÇ¡®ËŸ¯Ç±Ë¡¯Ç¡¯Éž¯È¢¯È¢°Í§±Ì¦±Ê¤²Ë¢µËž±Ê¥³Ì¥µÌ¦µÍ¥µÎ¤¸Í¨¸Ì«ºÏ­·Í«¸Ð°º¿ÁÊÏÄÌÒ¢¿Ö¤¾Ô£ÀÕ¤ÀÖ ¹Ñœ¹ÓŸ¹ÖœºÔœ¶Ð¤»Ö¡¼Óš¹Ó »Õ’¯ÌŒ«É“®Ê­Ë’°Ë°Î—±Ë”²Ìš±ËŸµÍ£²ÎŸ³Ò¢·ÑŸ·Ï¡»Ó¤¼Ó§¾Õ¦¶Ñ¢·Ñ±Ì°Ì¡¶Ð¦¹Ó¥¹Óª¿Ò°¿Ñ³Á×µÃÖµÃØ»ÅغÆ×¹ÉÚ½ÉÙµÁÕ°¼Ñ®¿Ô­¿Ó®½Óª½Ñª¼Óª½Õ®ÁÕ®ÀÖ±¾Ô©ºÑ±Ëœ³Ì ²Ë®Ì˜®É–¬È«Æš¯Ì˜±Ìœ²Ë±Ë¢°Ì®É—°Ìž±ÊŸ¯Êœ°Ëš¬É˜¯Êœ®Çš±Ëž°Éž®Å¢±ËŸ®ÊŸ±Ì ±É¤±Í¬¶Ð©ºÏ°¾Ñ±½ÔµÂÒ´ÄØ±ÁÓµÁÔµÃÙ¶ÃÖµÆØ·Ä×ºÆØ½ÈܽÇÛ¿ÊÝÂÌÞÃÍÝÈÑßÅÐâÉÕãÊÓâÉÏàÊÒâËÓáÌÔâÌÕãÌ×åÍÖâÌ×äÌ×äÍÕãÎÖäÍÕäÍÙåÐÙäÐÙæÑÛæÓÝçÑÚæÒØæÎØäÎÚåÌØäÉÕåËÖãÉÑâÆÑßÁÐßÂËÛ¼ÈݺÈܸÇÛ°ÄÚ²ÄØ´ÆÚ¶ÆÛ±ÃسÁ׫ÂÓ¯ÁØ®¿×«ÁØ®ÁÖª½×ªÁÖ¬¼Ö®ÀÖ¬ÀׯÁجÁÖ¬ÃÖ¯ÄÚ¯ÁÙ¯ÂײÃÖ°ÄØ°Ä׳ÆÙ³Â×°ÃØµÅÚµÅÛ°ÁذÅÙ®Ã򨁯®ÂׯÄ×¶ÆÛµÄÛ¹ÇÚ»ÇݽËÛ·ÈݺÉÛ¸ÉÞ»ÉݹÉÞ¿Ìà½ÌàÁÌàÃËßÃÎßÅÐÞÆÏàÄÎàÅÐâÄÎáÉÑáÇÐàÄÑàÄÐáÂÎÝÅÑÞÅÑàÊÔàÈÒãÇÐãÆÎàÅÐàÆÑÞÄÑÞÄÐßÃÎßÀÌß¼Ìß¶Èß±ÈݶËݱÈݵÆÚ¯ÇÝ®ÆÜ­ÃÙ´ÄÚ¶ÆØ³ÆØªÆÚ«ÆÝ³É߯ÇÛ±ÈÞ±ÉÞ³ÈÞ²ÇÚ®ÇܯÉÛ´Èà®Éà®ÉݲÈÞ¯ÇݲÈà²ÉÛ±ÇÜ®ÆÛ°Èß±ÆÛ²ÇݰÇß³Èß²ÇݵÊݵÈÛ®ÂÕ¯ÅÚ²ÉܶÊÞ³ÉݳÈÞ¶Ìß¶ÍÝ·ÉݶÆÛ¶ÈݸÈݺÉÞ»ËßÁËàÁËÛ»ÌܽÈÞ»ÉÝ·ÇØ¶ÆÛ¶ÇÛ¶ÇÞ´ÇÛ·ÇÙ±ÆÛ²ÆÚ±ÆÛ³ÇÛ°ÈÞ±ÆÝ°ÆÝ®ÅÙµÇܲÆÛ®ÅرÄܯÆÜ°ÅÛ³ÅÛ¯ÇÞµÇܳÈܲÇݳÈݵÇÜ´ÉÞ³ÇݳÉá¶Êà»ÌܼÌÞ¸ÉÛ³ÉܱÇÛ³ÆÛ¶ÇÞ·ÉÞµÊÞµËà¶ÇÙµÈݲÊÞµÊÞ´ÈÛ±Éà³ÊÞ¶Ëã¶ÉÞ³ÅÙµÉÛ¸ÉܺÉÜ¿ËÝ»Ç×½ÊÛ½ÊݾÌÝ¿ËÞ¿ÌݾÊßÀËÛ¿ÊÛ¾Ëß½Ìá¹Ìà¸ÍÞ·ÊÞ¹ÉÞ¼ÊݼÊ߸Ëá¶ÊÞ¶ÊݱÊݺËÞ¶Ëà¶ËÝ·ÌݵËß´ÊÞ­ÇݸËݺÌà¼ÊÝ·ËÞ»Ëà»ËÝ»ËݸËÝ»Ìß¹Ìà¾ÎÞ¼Ëß»Ìà»ÍÞ¸ÉÞºÌâ½Íà¿Íß¾ÍÞ¿ÎáÃÐáÆÑáÅÑàÆÒâÇÒáÇÒãÈÒâÇÑâÃÏà¿Íß½Íß¿ÎàÀÍà¾Îà½Íá¹ËÞ¼Îà½Îá»Ìà½Ìá»ÌáºÌà¸Ëß½ÌàºÌߺÌÞ·ÊÝ·ÇÛ¶ÈÜ¸ÇØ¶ÆÛ·ÆÚ³ÅØ·ÆÙ³ÆØ¶ÆØ»ÆÛ¶ÃÚ±ÄÛ³ÄÙ³ÆÛµÇÚ»ÇÚ·ÇÚ¶ÆÙ·ÆÛ¶ÄÙ¹ÆÚ¹ÄصÄÖ¶ÅÙ»Ç򼂯¼ÇÛ¿ÉܼÊÚ¼ÊØ½ËÝ¿ÌÝÂÏßÃÎáÃÎÞÂÌÞÃÈØÃÎÝÁÍÛÁÎÜÃËÜÁÉÝÃËÝÂÌÛÁÌÜÂÌÚÂÌÝÂËßÃÎ߯ÐàÉÐâÉÒáÉÓâËÕßËÖâÊÕàÌ×àËÖâÍÖãÌÓãÎÖãÎÕáÐ×âÑÚãÒÚäÑÛäÒÛåÑÚåÒÙæÐØåÐÖãËÔáÊÕâÇÒáÉÑâÈÒâÇÎáÇÑâÈÏÝÉÑ߯ÐÞÆÐàÅÐàÄÎßÄÍÝÇÏáÆÏáÈÑßÉÑßÊÑßÉÑàËÒàËÑàÌÔáÌÕãÍÖãÍÕãÉÓáÊÑáÇÌÝÇÏàÆÏÞÃÍßÅÎ߯ÍÞÇÎÞÅÎÞÃËÝÄÏÝÄÍÞÆÎÝÆÎàÆÎàÆÍàÅÎÝÅÎÝÆÎÝÇÎ߯ÐÝÇÑÝÉÑãÉÐâÍÖâËÒÞËÓÞËÕãËÖàÎÖäÎÖåÐÙçÕÝçÖÞç×ÞæÕÝæÓÜåØÞçÖÝçØÞè×ÞèÖÝéØÝæÓÚåÓÜæÓÛçÕÜçÓÚåÓÚçÓÛæÔÛæÓÛæÒÚæÑÚåÑÙæÒÛæÒÙæÓÛèÑÚçÍØãÈÔáÁÍÞ»ÉÜ³ÂØ¯½Ñ¦¸Ï¨¹Ì§´Ë ±Ë›±Ë°Ç™­Ê™°Ë›°ÌœªÉž¯É¡²Í›±Ëš«È¡±Ìž­Èœ°Ç¡²Ë²Ë¢²Ê ³Î¤²Ì¡¯Ì£²Ë¦·Ì©µÎ§¶Ð«¸Í®¹Íª·Í®¼Ì®¼Ñ®¸Í±º¾ÀÊÎÄÍÒ¡¼Ñ£¾Ö¢½Ù¡¾ØŸ¾Ö »ÓœÁÕ¤ÁÔ™»Ôž»ÓŸ¹Ó¡»Õ¡¾×¡¹Ó™´Ë±É®Ë±Í‘°Ê–²É ´Ìž¶Í¢¼Ñ™µÍŸ»Ñ¡¶Í¥ºÑ£¹Ð£·Ò¦¼Ð¦»Ñ¢¶ÌžµÏ ¶Ð ·Ñ£¹Ð§½Ó®ÁÓ°ÁÓ³ÃÕ³ÅÕ´ÂÕµÅ׸ÈÚ»ÊÞ¹ÉÞ¶ÇܱÁدÂÔ±ÂÖ®½Ò­¼Ñ±»Ñ±¿Ñ°Á֮Ĩ±ÆÛ°ÁÓª¾Ó¤ºÎ¡·Î¤¶Ì•°Ë˜¯É™±Î™²Ìœ´Ìœ¶Î³Ìž´ÌŸ³ÍŸ²Ê£¶ÌŸ¶Ï£¶ÎŸ´Ì°Ìœ²Êš°Éš²Ê›²Ì¡µÏ¡µÎ¦¶ÌŸµÊ£·Î­¼Î©»Ñ«½Ó²ÃÖ·ÆÙ²ÅÛ¶ÆÚ³ÆÙ±ÃÓµÆÕ¶ÇضÇÛ½ÉÛ¼Ê×½ÊÚÂÌÛÃÎÝÆÐßÄÏßÈÑâÉÔâËÖãËÕáË×åÌÙåÌ×ãÎ×äÌ×åÌ×âÍ×äÍ×åÏÛæËÚæÏÜåÏØäÒÛåÓÙåÕÝæÒÝçÑÝæÑÜæÍÙåÉÕãÆÔâÆÓâÆÑ߯ÒâÀÎÞ¼ËØ¹ÈÝ´ÆÖ³ÆÚ¶ÄذÄÖ²ÁÑ®½Ô©ÀÔ§»Õ«½Ô¨¿Ô­½Ò©ºÑ«¼Ï«¿Ð§¼Ó¬ÁÙªÁØ«ÁÖ®ÁÔ®ÀÓ«½Ò­ÀÓ°ÂÔ°ÄØ¯ÄدÃÙµÅױŨ²ÄØ¶ÅØ´ÆØ³ÅÚ°ÃÖ°Ã×µÆ×´ÆÖ¶ÇØ²ÅØ´ÇÖ·ÇÛ¶ÈÙ¸ÇÛ»ËÛ¼ÈÛ¼ÊÛ»ÌÝÂÍÜÁÍÝ»ÌÝÀÎßÇÒáÃÑàÇÑàÉÓáÊÔàÉÔâÉÔãÇÑáÇÒáÇÓâÇÓáÈÔâÈÔâÇÓàÅÐßÈÓàËÔâËÔáÊÕâÆÑàÄÎÞÂÎÞÃÎݹÌÞ½Îß½ÍܼÊÞ¹ÊÞ¶ÉÞ·ËàµÉÛ¶ÈÙ®ÅÙ²ÄØ­ÃØ²ÄØ°ÆÙµÄÚ³ÇÚ³ÈÛ´ËÜ±ÈØ±ÇÛ®ÇÚ®ËݬÉÜ®ÇÛ¯ÊݰÉß±ÊÝ­ÉݯÈÞ±Ìà´ÉÞµÉÞ¶ÉܶÉÞ²ÉÝ´ÊÝ·ÊÚ²ÈݱÉÞ³ÈÙ¸ÊÞºÊÞ»ÊݸÊܹËß·ÊÞ·ÊßµÉݺËÜ¿ÌܽÊÛ½ËݺËݽÍß½ËÝÁÍßÃÎá¿ÎàÀÍÝÂÍÞ½ÌÜ»ÊÚ¶ÈÝ»ÊÝ»ÈÛ¸ÇÛ¶ÇÙ´ÇÜ·ÈݵÉݶÉÜ®ÆÛ´ÇÙ±ÅÚ´ÇÚ°ÆÚ²ÆÙ±ÆÛµÇÛ²ÄÚ²ÆÚ±ÇÙ®ÆÜ¶ÊݳÉÜ´ÊܶËܳÇݵÇÝ´ÊÞ´ÇÝ´ÉݶËÞ»ËÜ»Ìà¶ÊݶÊÛ¶ÉܵÊݶÈݹÌܺÌÞ¸ËÛ¶ËݵËÞ³ÊܳÊÛ°ÈݱÉܶÇÞºÈÛ·ÉݹÇܻɨ¶ÈÚ»ÌݼËÛ½ËÞ½ÉÜ»ËÞ¿ËÝÄÏßÂÏÞÀÎÝÀÍÝÁÌßÀËß»ÊÞ»Íß½Ìà½Ìß¹ÎàµËݸËß¶ËÞµËà¶ÌÝ·ÌÞ·Ìà¶ÌßµÉݳÉݹÊÞ¶ËÝ·ËݽÌÛ»ËÝ»Íà½ÌàºÊß·ÈݽÎà¾ÏÞ½ÌÝ¿Îß½ÎàÂÒà¾Îà¸ÎàµÌá¼Ïà¾ÏÞ»Îà»ÏÝÀÐßÄÒãÅÒáÆÒáÈÓãÇÖâÉÔâÇÓàÆÓáÅÑâÃÑâÂÑâÀÎß½Îß½ÎÞ½ËÞ½ÐàºÍà¹Îá¹Ïã¹Íß»ÎÝ»Îà¼Íà·Ìà·ÌàºËÞ¹ÌݶÉݶÉÝ»ÉÜ´ÉÞºËݺÉÞ¸ÈÛºËÛ¹ÌÛ¶ÇØ³ÆÚ´ÇØ·ÆÚ·ÈÛ·ÉÛ¹ÉÝ»ËÝ»ËܺÊÚ¸ÈÙ¹ÆØ²Ä򵁯¸ÆÙºÇÚ»ÇÛ¼ËÜ¿ÍܼÌÛÁÍßÂÌÝÁÍßÂÏàÆÑÞÄÑÞÃÑÞÄÏàÄÏßÅÐÜÆÑÞÃÏàÄËÝÅÍÞÃÏßÃÎÞÃÎßÄÏàÇÑàÉÑßËÓâÉÓÞÍÖãÎØäÏØäÏØàÐÛäÍØáÎÙäÐÙäÐÙãÍ×äÎÙãÒÛäÓÝäÒÝäÑÜåÏÛåÐÙäÐÚæÐÙäÎ×âÍÖâËÖáËÖäÉÖãÊÓàÉÔãÈÔâÉÑàÉÑàÈÓàÇÑÞÉÑàÇÑÞÇÒáÆÒâÇÑÞÊÓÞÌÖâÌÖàÎØâÌÖâÎ×äÑØåÑÚæÑÚãÎ×äÌ×ãËÔàÉÓáÅÐßÄÐáÇÑßÇÏÞÈÐßÈÑâÈÑáÇÓàÇÒàÇÑßÇÑáÈÑßÈÒßÈÓàÊÓàËÒßÌÕâÈÓâËÓàÊÒàÆÒâÉÓãÌÓáËÔäÎÔáÌÖãÍ×åÎØäÐØäÒÝåÓÞæÖÞæÖÞç×ßæÓÞçÕÞåÖÝæÕÞæÕÝçÓÝæÔÝçÖÞæÕÞçÓÜçÑÚåÒÛæÏÚåÑÚæÑÛåÐÚåÓÛåÒÚæÑÜæÒÛæÎÚçÍØåËØäÇÓáÀÍÞ·ÊÛ±ÁÕ®½Î¤¶Ë¢´Íš±Ì•°Ì¡¶Ë³Ê¤²Èœ±É–®ÌŸ°Ìž±Êš°É ´ÎŸ±È¶Ê¡³Êœ²Ë£³Í§´Ê£±È¤¸Î¦·Î¡´Ë§¹Ê£·Ñ¤ºÑ¨¸Î¨¶Ë«¶Î®¼Ð¬½Ð°ÁÓ®¿Î®¼¾¿ÉÐÂÍÒ£¼Ô¤ÁÕž½Õ¡ÁÖ—»Öœ»Ô ½×Ÿ¹Ó ¸Ñ™»ÕšºÔ ¹Î›»Ô›»Ö˜µÑ•´Ì”¯Ë“®É’°Ë–®Ê–µÎŸ³Í›³Ïž¶Ð¤¸Ð¦¹Ï¢¶Í¨½Ò¦ºÐ¤¹Ï¥ºÒ£·Ò§»Ò¦»Ò§ºÏ¥·Ï©¼Ò©½Ò­ÀÖ²ÃØ´ÈÚºÈÚ·ÈØ¹ÇظÈ×µÇÛ¶ÇÚ¹ÇÖ³Ã͵̯²Ã×®ÀÒ­½Õ«¼Ó¯ÀÖ±ÂÖ´ÇØ¶ÆÛ²ÃضÆÕ²ÁÓ§»Ò¢¶Ð™®Ì—®É›±Ì—¶Î™´Ï¡´Í¨¹Î¢¶Î£·Î¢¶Ë¢¶Î¤¶Î¤¶Î£µÏŸ¶Í¡³ËœµÌ´Ì¡·Ï¡µÎ ¶Í£ºÏ¥¹ÑªºÒ¬¼Ñ­¼ÒµÂÖ·ÆÛ¸ÆÙ³ÆÚ³ÆØ·ÆÚ¸ÆØ¶ÇظÇÚ»ÇÙ¸ËݽËÝ¿ËÞÃÐàÇÑáÈÑßÇÑâÇÔãÉÔâËÖãËÖâÍÕåÍ׿Î×ãÍÖåÌÖäË×ãËÕäÐØåÍØåÏÛåÐÛæÑÛæÒÜæÒÝçÒÜçÏÚèÒÜçÎÙåË׿ÉÔâÇÒßÁÎÞ¼ËÞ½ËÞ¾ÌÝÀËÞºÆÝ´ÂذÃÛ´ÆØ®½Õª¼Ö¥ºÔ¥µÎ¢¶Î¤¶Ñ«ºÏ¥»Ô¨¸Ñ¨¹Íª»Óª½Ó¬»Ñ¬¿Ö¬À×±Á×±ÂÖ®ÂׯÃ×±ÃÖµÅ×´Ä×µÆØµÅ×¹ÇÜ´ÂØ±ÂÖµÃÕ¶ÄÕ´Å×·ÆÚ¸ÇÜ·ÇÛ¹ÈÛ¸ÈÛ¼ÉÛ¸ÇØ¼ÈÙºÌݽËݾÌÜÃÏàÃÑáÆÓáÇÐÞÇÑâÇÔâÉÓãÉÓàÊÒâÉÑÞËÓàÉÒâÈÓâÆÑâÇÓâÉÖâÉÔáÉÔâÈÖãËÕâÈÔâÈÕãÉÓãÇÔâÆÐàÅÎÝ¿ÍݼÉÜ·ÈݹÈÞºÇݹÈÜ»ËÝ´ÇܵÉÛ¯ÉݲÆÛ¯ÆÚ±ÆÚ±Ä򱁯´Å×¸ÆØ¶ÆÖ²ÇܯÆÝ±ÅÞ±ÈܲÈݱÇݳÈ߯ÇÛ¯ÈݳÇÝ´ÉÞ´ÉݱÈÞ¶ËÝ·ÊÝ·ÊݺËܽËܺÊÝ·ÉÞ·ÉÛ¸ÉÛ»ÉݼÉÚ¹ËݽÌß¼ËÞ¼ÉݽÊÜÂÌݼËÞ¼Ìß¼ÍÞ½ÎÞ¼ÌáÀËÞ¾ÍàÂÎàÃÎÛÁÏàÄÌÝÄÏßÂÌÝÁÍàÁÌÞ½ÎÞ½ËàÀÎÝÁËÛºÉÛ¸ÈÛ·ÇØ·ÇÛ´ÆÙ¶ÇÛ³ÆÙ³ÇÛ³ÅÙ³ÅÚ²ÆØ²ÃزÅÙ¯ÄÙµÆÝ´Å򵂯³ÅݵÄ×µÆÙ¶ÇܲÆÜ¶Ëß²ÇÞ·ÇÜ·ÇÜ·ÉݸËÙ·ÊÛºËܵÇÛ¸ÈÜ»ÉݹÉܽÊÝ·ÈÞ¸ÈܶÇÛ±ÉÞ°Èß±ÈÞ³ÉÝ´ÈÛ·Ç×¶ÈܹÉÛ¸ÇܺÈÚ¼ÇÛ¼Ìß¿ËÛÀËÛ»ÉÜ¼ÈØÀËݾÌÝÂÎßÂÐßÁÎáÁÎßÁÍÝ¿ËݽÊܽÌÝ»Êß¼ËÞ½ÌÞ½Ìà»ÍÞ¹ËݶÈݶËÞµÇݱÇÞ»ÉÞ¶ÉݵÊÞ»ËÞ¶ÈÚ·ÊݹÉݹËݽÌÞ½Ëà¾ÌÞ¾ÌݸÌݸÍàºËÞ¼Íà¾Îß¼Íâ¾Íß½Îà¼Íß½Î߸Ìß¾Íá¿ÏàÀÎáÂÎáÄÐàÇÒãÇÓâÉÔäÉÔãÊÒâÇÐáÇÐàÆÑàÂÑâÃÐãÃÑáÂÎáÁÌÞÁÎßÀÐÞ¸Ìá¶ÌÞ¹ÍâºÐâÁÎá»ËߺÎá¶ËÞ´ËÞ¸ËÞ¶Ìß¶ÌÞºËݽÌÞ»ËݶÌݶÈÛ¹ÆÛ¸ÉݶÆÜ·ÈÜ·ÈÚ¹ÇÛ¼ÈÚ¿ÌÙ¼ÊÛ¿ÌÞÀÌݽËÞ½ÈØ¸ÆØµÄ×µÄÙµÆÛ·ÇÚ¼ÈÛ¿ËÝÀÌÝÁÍÜÀÎÞÃÌÜÃÎÛÅÐàÆÎßÃÐáÃÎàÆÏÞÇÐÞÇÓÞÆÏßÉÑáÉÎÞÆÑÞÇÐÞÆÐàÅÐâÅÐÞÉÑàÇÑáÉÔâËÓàÎÔàÎÚåÒÚåÑÛæÑÜåÒÙäÎÙäÏÖãÐÛãÑÚåÒÛåÒÜçÒÝçÔÝæÔÜäÒÚåÐÙåÍØäÎØåÍ×ãÍÖãÌ×äÏÙåÌÖäËÕâÍÖãÉÖàËÔáËÓâËÔâÉ×ãÉÒàÇÏàÉÏâÉÒâÉÓáËÓàËÓâÉÖâÌÖâÏ×ãÎ×ãÐØãÐÜæÏÚäÎØäÎ׿Ë×äÊÔáÉÑÞÇÑ߯ÑâÇÑâÊÒâÇÑáÈÒâÈÓâÆÐßÇÐàÈÑáÉÑßÉÒàÊÑáÊÓáËÓàÊÓáÇÔãËÔâÉÑãÇÒãÆÑãÉÑáÌÒáÌÓãËÖåÎØåÍ×åÏØåÑÛæÔÛæÓÚæÓÛæÓÞçÓÜåÓÝæÓÛçÓÜçÒÝçÓÜæÓÝæÐÚåÑÛæÏÛæÐÙçÐØçÏÙåÐØãÐÙåÐØåÐØæÎÙäÏØåÐ׿Ï×æÍØäÊÓâÅÒßÃÐß·ÉÛ±ÂØ§»Ñ§¸Ï ³Í °Ê˜°Çž´É±Ë¯ËŸ¯È°Êš«É›­Æ›²Ìš®Å ²Ê›®Ê›®Ê¡°Ç¯Ë °Ë¦´É¢´Í§¸Í¤¸Î¥µÎ¦·Ï­»Ñ«¸Ï«¸Î«ºÑª»Ï®»Ï®¼Ò®¼Ñ°¹¾ÂÉÏÅÍÒž½Ð ½Ñ£¾Õ¤ÁÖŸ¿ÓŸ½Õ›¼Òš¼Öž½Ó£ÁÖ¡·Ò£¹Ïš¸Ðœ¸Ð ¸Ð—´Î•¶Î˜·Î’±Ì•³Ì˜±ËŸ³Ì µÎž¸Ì¤¾Î¢»Î¤»Ñ£¼Òª¼Î©¼Ó§·Ñ£»Ï¨½Í§»Ì§½Ð¦¼Ò«¾Ò¯ÁЮÀÓ²ÅÕµÆØ¹ÈÚ½ÉÛ»ÉݼÊ󼂯½ÉØ½ËØ¸ÇÖ´ÇØ³ÃÖ±ÄÓ®ÀѰÀÔ­¿ÓµÅÔ¶ÇØºÇÚ´ÆÖ¶Æ×³ÁÕµÈÕ´ÃÔ ¸ÏŸ²É¡²Ì£µÌ¢¹Î¨»Î¨½Ð©¼Ï¨»Íª»Ï¥¼Ò¦ºÍ§ºÍ¥¸Î¤¹Ï¢¸Í£·Í ¶Ë©¸Ï§¶Ì¤·Ì©ºÏ«»ÑªÀÔ±ÁÓ³ÁÔµÂÓ»ÆØ²ÁÒ´ÅÕ²ÃÕ¶ÆÖ»ËÙ»ÉØ¼ÈÕ½ÈÙ»ÉÚÀÊÚÁÎÛÃÎÞÆÓàÇÓâÇÓáÊÔáÉÔâÊÖãÌØåÍ×áÍØâÌØâÍØâÍØäÎÖäÏØãÎØâÌØâÍÙäÏÛäÒÜåÒÜçÕÞåÔÛæÓÝæÔÜåÒÛåÎÛåÎÛãË×àÂÎÞ»ÉÛ»ÈØºÈÛ»ÉÛ·ÆÖ²ÂÕ­ÀÕªÂÖªÀÑ«¾Ö¨¸Ìª¶É£´Ì¡µË¤¶Ë¤¹ÎªÀѤ¿Ñª»ÍªÁÒª½Ó«¼Ð¯À׬ÀÕ±ÃÕ¶ÆØµÆÖ¶ÅÖ²Ä×¶Æ×´ÅÔ¶ÈÚ¹ÆÕ¶ÅÔ¸ÈØ¹ÇØ»ÈÙ»ÈÕ½ÈØ»ÈØ½ÈØ½ËÚ»ËÙÁÎÜÁËÛ¿Ë×ÃÎÚÃÎÞÀÎÝÃÏÞÃÑßÇÒÛËÒßÌÖãÎÖáÌÖâËÚãËÖáÌØäËÖâÍÕâÉÔãÉÓãÊÔâÉÖàÉÖßÊ×áË×âËØäÌÖãÊÔâÊÓáÇÓàÄÏß½ÌÚ¿ÌÚ·ÈÙ´ÆÙµÇÛ¶ÄÖ´ÆØµÈ×´ÈØ±ÆÖ­ÃÙ°ÆÖ±ÅÚ¶ÄÖ²ÂÖ»ÆÕ·Ç×¹È×·ÆÖ¸ÈÙ¶ÈÛ¹ÉÛ·ÉݸÉÛºËݳÇÛ¶ÉܱÊÛ¶ÈÚ·ËÞºÍÝ¿ÏÞÁÐàÁÍÝÀÎÝÃÏÚÁÌÛÁÎÞ¿ÎÝ¿ÌܽÌܾÍÛÁÌܾÍÝÁÏÝÁÎÞÀÌÞÂÌÝÃÎßÂÎßÁÎÞ½ÍÛ½ÏÛÃÎÞÃÐÞÁÎÞÅÓàÉÑàÇÑÞÇÑÞÆÐÝÆÑàÆÐßÃÍàÃÑÛÂÏÝ¿ÌÞÁÌÝÂÌÙ¼ÉÙ¸ËÙµÆØ¹ÉذÆ×·ÆØ°ÇÙ³ÅÖ´Æ×³ÅذÂÖ²ÂֳĨ³Å×·ÆÙ¶ÇÚ¶ÈÚ¶ÇØ·ÈÚ¸ÉÚµÇÚ³ÇܶÈÝ·ÉݼÈÚ¸ÉØ»ÍܶÇÙ¶ÊܶŨ¸ÈÙ½ËÝ»ËܽÌá¼ÍÙ¸ËÛºÈÚ¶ÊݳÈݶËÛ¶ËܶÈÛ¸ÉØµÈÚ»ÉÙÀÉØ»ÈÚ½ËÛÁÌÝÀÌÛÁÍÝÀÌÚ¾ËÛÁËÝÀÌÙÃÍÜÂÍÝÃÐÞÁÏÝÁÎÞÁÎÞ¿ÌÛ¿ËݾËÛ¾ËÝ¿ÌÙ½ÌÞ¼ÌÛºËÛ¸ËÛºËÛºÉÜ»ËÛ¶ÉܺËݶÊݹÊܹÊÞ»ÌݽËܽËÛÀÍÜÁÍÝ»ÌݽÍÞ¿ÍÞºÌÝ¿ÎàÀÏàÁÎÝÁÌݾÎßÁÎßÀÎß¿ÎÞ¼ÎàÁÍàÁÎÞÂÑàÁÐàÃÑáÆÓàÊÖáÊÖâÍ×âËÓáËÒáÈÓáÊÒàÇÓáÇÒàÇÓáÇÒáÄÔäÅÐàÄÎÞ¾Ðá¹Ìß¶ÌݹÎݼÍÞ¹Îà¹Íà·ËÝ·ËÞ·ÌÞ·ÉݺÌàºÍßÁÍÞ¹ÌݺÊÝ»ÉÛºÈÜ·ÉÛ¸ÊÛ¶ÉÛ·ÉÛ¼ÌÚÀÍÛ¼ËÚ¿ËÛ¿ÍÜ¿ÍÞ¿ÍÞ½ÊÛ¼ÇÚ»ÈÙ¿ÈØ¾Ê×¾ÊÚÀËÛÀËÚÂÍÜÀÍÝÁÎÛÂÎßÅÑàÇÑàÆÐÜÃÑÝÅÏÞÆÓÞÄÑÞÅÒßÉÒÞËÖâÍÔâËÔàÉÕáÉÓÞÉÓáÉÓâÉÕäÌÖâÎØãÌ×ãÑÙãÑÛäÒÛåÒÛåÑÛãÒÚåÑÚåÑÙäÑÚâÑÛâÒÝãÓÝåÔÞæÖÞæÔÞçÕÞæÒÜâÏÙãÏØãÍ×âÍ×áÐØäÏÛåÑÛãÍÚäÑ×ãÎÖâÏÖáËÕáËÖàÇÖáÉÓàÈÒáÉÓáÉÔÝÉÕàËÖàÌÖàÌØãÐÚäÑÛåÑÜåÖÛåÓÙåÑØãÑØâÐ×âÌÙãÈÔäËÓáÉÒÞÈÑÞÆÓàÉÒÞËÓßÊÔáÊÓâÊÔâÈÒáÊÔáËÑÝÉÒÞÊÓÞËÕàÌ×âËÔâÉÕãÌÒâËÕáÉÓß½ÊÞËÕàËÖáÌÖãÌÔâÎÖãÐÚåÒÙãÑÚãÐÚåÒÛåÐÙåÑÙåÓÞåÖÝåÔÛæÕÞãÑÜæÓÛåÑÚæÐ×äÑØåÐØåÐÙåÑÙåÍØâËÖàÌÖãËÖàË×ãÍØãÌØåÍØåÌ×ãË×áÊÒßÇÓàÆÐà¿ËÛ´ÅÖ«»Ñ¤¼Ñ«»Ï ³ÌŸ±Ì™­Æ™®Æž±Çž±È¶Îœ±Ë™³ÇŸ±Ëœ¯Èœ°Ê¢²Ç¢³Ë¤´Æ¤¸Î¢¶Ì¥¹É£µÊ¨¹Í¨·Ë©»ÎªºË®¼Ñ§¹Ñ«¶Ï©ºÎ®»Ë­¼Í±¾Ï°ºÊ³½ÁÁÉÎÅÍÒ¥ÀÖŸ½Ö™½Ö¡Àן½Ô »Ô˜¼Ó–¹Óž¾Ö¢¾ÓŸ½Öœ½ÖŸ½Õœ¸Óœ¸Òœ½Ô›½Ôž½Ó™¶Î¥¸Ò¦¼Ò¤»Ó£¹Ð¥¼Ó§½Ò¦¼ÎªÀÖ¬ÀÕªÀÖª¾Ô«¾Ò©¼Ð§½Ôª¼ÒªÀÕ¬¿Ô®ÂׯÂÕ°ÃÖ·ÆÙ¸ÆØ»ÉÚ½ËݽËÜ»ÌݹÉÞ¼ËÞ½ÊÝ»ÊÛºÉÛ¼ÉÛ·ÉׯÃ×°ÁÔ¯ÁÕµÃ×µÇÔºÈ×·Ç×¹ÈÜ·ÆØ¸ÉÝ´Ãש½Ó¤³Ì ³Í¡»Óª½Ó¤½Òª½Ó¬¼Ó©½Ò­¾Ñ®¿Ò©¼Óª¼Ñ¨¼Ñ¦»Ñ¥»Ð¦ºÐ¦¸Ï¨¸Ï¦·ÎªºÐª½Ñ¬»Ñ­½Ó®¿Ö²ÁزÃ×±ÃÙ±ÄÚ³ÃÕ¶ÇÚ¶ÆÙ·Å׻ɨ¸ÇÛ½ÌݽÌÞÂÌÝÁÍÞÁÐÝÄÓÝÇÒÞÇÑãÊÖãËØãÏÝåÌÙæÍØæÍÚåÎÙäÍØäÌØãÏØçÏØæÎÙåÌÛæÎÚæÎÚåÐÛäÒÜæÒÝçÓÞçÔÞèÕßçÓÝæÓÜçÑÜåÍÚæÉÕäÅÐà»ÈÜ»ÉÛ·ÇÛ³ÄØ­ÃجÁÖ¨½Ö¤»Ñ©¼Óª½Ó«½Ñª¹Ì¨¹Ì£¹Ñ¥»Ñ¥ºÔ¨»Ôª»Ó®ÂÓ±ÂϯÁÕ­ÁÓ­ÃÙ±ÄÛ±ÆÜ¶ÇÙ¹ÇÙºÆÙ¼ÉÙ¹ÊÙºÊÛ¸ÇÚ·ÇÙ¼ÈÛ¼ÈÛÁËÛÂÍÙÆÑÜÁÏßÃÏàÃÍÙ¿ÎÜÁÍáÁÌÞÃÍÝÅÏàÃÑàÃÓàÇÒÞÉÓãÊÔãÌÖãÐØåÎÙåÎÛãÍÚæÌÚåÎ×äÍØâÍ×äÌÖãÍÖãÎÖãÉÖâËØãÊ×âÊÖåËØäËÕãÊÕäÈÔáÆÓàÁÏÞ¿ÍÝ½ËØºÉܶÆ×³ÅÙ°Å×µÅÙ³ÇÞ²ÆÙ¯ÆÜ²Å×®ÂØ±ÅÖ´ÄØµÅØ¹ÇØ¼ÌÛ¼ÎàÁËß¾ÌÜ¿ÍÞ¿ÌÚºÈÚ½ËÞÁÎݽÎÞ¹Ëß´ÊÛ¹ÉÛ¹ËÜ¿ÌÝÂÎàÂÑàÄÏàÆÐàÄÒâÅÒâÄÒáÂÐßÁÊÝÂÍÝÃÐÞÃÎßÁÐßÃÑáÂÏÜÃÎÜÂÏÝÄÏàÇÐàÅÏÞ¿ÎÞÃÑÞÁÑÞÅÑâÆÒâÅÒßËÓàÇÒáÉÕãÇÓâÇÓãÆÑàÆÐßÄÑßÂÏßÄÎÝÃÍÞ¾ÎßÀÍÞ»ÉÚºÉÚ¹ÆØ¶ÇÕ¸ÅѱÄÖ²ÅÕ³ÆÙ³ÅÚ³ÄÚ´ÄØ³ÆØµÅ×´ÅØ´ÆØ¹ÉݹÈÛ¶ÇÛ¶ÆÚ·ÇÚ¹ÈÛ¶ÉÜ·ÈÚ¸ÉÛºÉß¹ËàºÇÛ¶ÈÙ¹ÉÚ¶ÇÚ³ÇܸËÞ»Ëá½ÌܽÍà»ÌÞºÊÝ·ËÛ³ÇݶÆÚ·ÊÛ¶ÇÛ¹ÊݽËÝÁÌÞ»ÌÝÀÌÛ¼ÌÞÃÎß¿ÌÞÀÍÞÂÎßÃÎàÂÐÝÁÍÜÁÎáÀÏßÁÎÞÂÍÞÂÎà¾ËÜÀËÞÁÌÝÁÎß¿ÍÞ½Ìß¾ÍÞ½ËÞ»ÉÞ¸ÊÝ»ËÞ¶ËܹÉÝ·ÊݸÉݹËÞ¹Ìß·ÊÞ½ËߺËß½ÌÝÁÎÞ¾ËÝÂÍÞ½Íà¼ÊÞ¾ÎàÀÎà¾ÌÞ¿ÐßÃÏÞÃÏàÀÐáÁÏÞÂÎàÃÏàÆÑáÃÒàÃÒàÅÑáÉÓâÈÖâÊ×äÍÖæËÕäËÕäÊÖãÌÖâÉÖâÅÔâÆÔâÅÓãÃÑâÃÏâÃÑà¿Ðâ¸Ìß¶Ì߸Íß»Îâ¿ÎàºËà¶ÌàºËÞ¶ËÞ»ÌÞµËݶËà¼ÍÞºÌݹËß¿ÌݼÌÞ»ËܹËÝ·ÉÝ·ÉܺËݾÌßÁÍÞÂÌÝÁÏÞÁÎß¾Ìß¼ÊÝ¿ÇÝÁËÞ¾ÊÜÁÌÜÅÏÞÈÐÞÇÑßÄÎàÃÎÝÂÍÜÆÑÞÆÏáÇÑáÇÑÞÇÓÞÇÒàÆÐáÆÑßÈÒàËÖâÌÕãÌÖãÑÛåÌØäÍ×äÌØãÉÔáÊÕåÌÖãËØäÎÙãÓÜåÓÝæÓÝæÒÚäÑÛâÑÛäÐÚåÑÛæÑÜåÓÜæÒÜæÒÝåÔÜåÔÞçÕÜæÓÜæÓÝäÒÛæÏÙåÎÙäÎØãÎÚåÏØäÐÙäÐÜæÓÜãÓÜäÒÜåÌØãÌÖãËÖâÊÓâÉÓàËÕãÎØâÍÕàËØâÌØãÌØãÏÛâÒÚåÓÝæÓÜæÓÛåÑÜåÏÛãÎØäÌ×ãÉÔàÉÐàÉÒáÇÒßÉÕãÉÕãËÖãÊÕâÌÖãËÕâÍÔâËÔäËÓâÍÔäÉÔâÈÔâËÖãÎÖâÌÖåÌÖâÍÕäÍÕäÌÖãÌÖåÏÖæÎØåÌØäÏØäÑØãÓØäÑÛæÐÜæÏÛåÑÚãÓÙæÓÛæÎÚãÓÛåÓÛåÓÜçÖÝæÑÛæÐÙäÎØæÎØäÎ×åÍ×äÎ×åÎÖåÍØåÉÔãÊÕâÉÔãÊÖãÇÓâÉÓãÊÕãÆÓãÁÒàÁÏà»ËܱÃÛ¬½Ð§¼Ó¥»Î¤¶Î£¶Ë›²Ì¢³Ë´Ì¡³Íš®Ì±Ë›¯Ë¡³ËŸ³Ì¶Ç¯Ë¢¸Í¤´Í£¶Î ¶Î¥¶Êª»Î¬½ÑªºÎª¹Î­ºÐ­½Ò©·Ì­»Ï¬»Ð­¼Îª½Ñ¯¿Ñ¯»Ì²¿ÂÁÊÎÃÍÒ¢»Ð ¿ÖœºÔ¡»ÖŸ½Ô»Óœ¼ÕŸ¾Õš½Ó¡¿Ö¢½Ôœ½Ó¹Ó™¸Ñœ½Óž½Õ™¹Ðž½Óž¸Ï¡¸Ï¨½Ó¨»Ò¨½Ï©¼Ñ­ÁÖ­¾Ó±ÂÖ°À×®¿Õ±Â׳ÂÔ®¿Ô±ÁÔ±ÂÖ´ÃÖ°ÁÔ²ÄØ±ÀÖ´ÁÖ¶ÇÙ¸ÊÙ½ÉÚ¼ÊÛÂÌàÃÐÞÂÌàÂÌÝ¿ÌݽËÛ¿ÌÞ¿ËÞ½ËݼÉÛ´ÅØ±ÃزÅÖ°ÁÖµÆÖ»ÊÛ½ÌÜ»ÇÖ¶ÇØ¶ÆÖªÀÓœ³Î ¸Î¥½Ó¥·Ò©»Ô¯¼Ò¯¿Ó±¾Ö²ÀÕ´ÄØ¸ÁÕ¯Á׫¿Ô¬½Ô­½Ò¨»Ï§ºÐ¬½Ð¬½Òª¼Ò¨¼Ò¬¼Ò°ÀÔ²½Ó±ÃÖµÁÕ³ÆÛ¸ÆÙµÃ×±ÅÛ¶ÆÖ¶ÆÖ±ÆÖ¹ÇÛ¼ÉÝÁÌÞÃÎÞÃÏÝÃÎàÇÑáÈÓãÇÓâÉÔãÍÛäÏÚæÐØåÏÙåÎÚäÎÚäÎÚåÎØäÍØäÌ×åÏ×åÑÚäÎÜæÍÚåÐÚåÒÛåÓÝæÓÞçÓÝæÕßçÕßçÑÝæÑÝæÌ×åËÖåÉÔã½ÉܳÅ×¶ÆØ°Ãת»Õ­½Ô¢¶Î¦¸Î§ºÐ¨ºÐª½Óª¼Óª¼Î¥»Ñ©ºÏªºÑ¨»Ô«½Ö³ÂÕµÃÑ·Ã×°ÂÙ°Á×´ÁÖ·Å×¶Å×µÆÙ¶ÈÛ½ÊÛ¼ÊܹÈÛ½ÈØ¾ÉÛÀËÛÀÌÞÃÍÜÆÐÜÈÑàÉÓâÇÓãÅÎÞÃÑáÄÎÞÆÑÞÆÐâÆÑâÈÔáÈÑâÊÖãÌÖáË×äÌÖâÏ×åÎØãÏÙæÐÚæÑÛåÏÚãÎ×ãÎÖãÎ×äËÖäÍÖäÎ×ãÎØäÊØåËØãËÙãÌ×ãÉÕàÇÓáÆÒàÁÏß½ËݽÉÙºÇÚ¶ÇÙ°Æ×´ÅֵĨ²ÄÖ·ÆÚ´ÆÙ³ÆÜ´ÄÖ´ÆØ¸ÇÚºÇÙ¾ÍÛÃÐÝÆÐÜÇÑàÅÑâÃÏÞÄÐàÂÎÞÀÌÛ¼ËÛºÇÛ»ÉܽÌà¹ËݽÌÞÂÎÝÃÐÝÆÑàÈÓãÊÔáÈÕãÈÓâÆÓâÆÑßÄÐÞÂÑßÁÑàÃÑàÆÑßÅÒàÄÐßÄÎÞÅÏÞÄÎÞÃÐÞÁÍÞÅÏàÆÑáÇÒàÆÒâËÓâÈÕäÈÖàÉÖåÉÓãÉÕáÉÖãÇÕãÊÔãÈÓáÆÓâÆÒáÆÏáÂÎÝÃÍßÃËÛ½ÉÛ¸ÆØ¹ÈÚ¶ÇÛ·ÉÛ¸Ç×¶ÆØ·Å׺ÇÙ¸ÉÚ¹ÉÛ¸ÉÙ´ÇØ¹ÇÙºÈÚºÊÚ¸ÉܶÈÙ¹ÉÛ½ÊÜ»ÊÞ»ÉÚ»ÉÝÀËÞ»ÌÝÀËÛ»ÉÙ¹ËݹÈÚ»ÇÜ»ÌݽÌÞÃÎÜ»ËÜ»ÌݺËÞ¹ÊݹÉݺÉÝ·ËÝ½ËØ¾ÌÞÁÌÝÃÎÞÀÍàÁÌßÁÎÝÇÑàÄÎÜÄÐÞÄÏàÅÎÝÃÐáÄÏÞÄÐàÂÎÞÃÎÝÂÍßÃÎàÄÏàÂÎßÄÏÞÁÍÝÁÎßÁÎÞÂÐàÂÏÞÂÍà¼ÌݾÌÞºÍÝ¿ÎݾÌÝ»ÌܺÊß¾ËÞ¹ËݽÌà¾ÌÞ¿ÎßÁÎÞÁÎàÁÍßÁÎßÁËßÀÍÞ¿ÎàÃÏÞÅÓâÇÒáÆÐãÄÐâÃÎ߯ÏÞÇÐ߯ÑáÇÑàÄÑâÅÒáÉÕäÉÒäÌÔãÍÕãÌÖãÌÖãÌÖãË×åËÕäÊÓâÉÓàÆÓáÇÒâÇÔàÅÐà»Íá¸Ìà¹Ìá»ÍÞ¿Íà¼ÎݼÎà¼Îß½Íà·ËÞ¶Íà´Éß·Ëà¼ÌÞ½ÎÞ¾ÌÞ¹ÌݺÌÜ»ËÞµÉÝ»ÉݺËÚ»ËݼËÞÀÍÞÄÐÞÅÏÞÀÎÝÁÍÝÃÍÞÁÍÞÁÌÝÄÍÞÅÐáÆÑàËÒßÊÓàÈÓâÉÓàÉÑßÉÑÝÅÑÞÅÑàÉÓâÉÓàÉÒâÇÒâÉÓßÌÓáÍÖÝÎØãÑØãÑØäÒÜæÐÚâÎ×ãÍØäÎ×åÎÖâËÔàÐØâÑÜåÔÞèÐÝçÑÛæÑÛãÐÙäÓÛäÓÛåÓÛåÓÝåÖÞäÓÞçÔÜåÕÝæÖÞåÖÞçÒÜåÑÛæÒÚæÐÙãÐÙäÏÙäÒÛåÓÜãÓÝæÒÜåÓÛäÕÜæÒÛåÎ×ãÌØâÎØãÎ×ãÌØãÎ×ãÌ×âÎØãÏÚåÏÚäÓÜåÓÜæÓÜæÓÝçÕÛäÓÚåÒÜæÏÙåÌ×åÈÓàÈÓàÉÓàËÓáËÕáÎ×ãÎ×åÎ×çÎÖâÐÙãÑÚæÎÖæÍÕâÎÖåÎÕâÊÖâËÖâÍÖäÌÕäÌÖâÎ×åËÕäÌÖäÍÖãÍÙäÎÙæÏØâÒÚåÓÚãÑÚæÒÚåÏØåÒØãÑÙæÑÛæÓÛåÓÚæÓÛåÑÚæÒÞçÒÙæÑÙçÐÙæÍØäËÖãÊÔãÊÓáÉÖãÉÕâÆÓáÃÑáÈÓâÈÒâÉÓáÈÒàÆÓáÇÑàÃÏàÁÌÞÁÎà¿ÌÞµÆÙ²ÀÔ¯¾Ó®¼Ó¤¼Ñ£µÍœ¯Ë¡±Êœ±Ì³Ëš¯Êž²Ì´ËŸ±É ²Ë¥¶Í§¶É¦¹Í§¸Ì¤´Îª·Î°¿Ò«»Ï«½Ñ±½Ôµ½Ó°¼Ñ¬¾Ð¨»Ð¯½Ò®·Ð­»Î­»Î°¿Ó¯»Ï´ÁÃÂÊÏÅÎÒž½Ó¡¾Ô™ºÔž¼Óž»ÔŸ½Ò ºÑš½Ó•¹Ö˜¶ÑŸºÔ»Ó—»Óš»Ó˜·Ñ—»ÔŸ½ÕŸ¼ÔŸ½Öž¹ÓžºÐ¥½Ñ©¿ÖªÁÓ¯ÂÖ°ÃØ±Å×­ÃÖ°ÃØµÇÖ·ÆÛµÃدÃ×¶ÆØ²Ã×¶ÆÙ²ÆÙ¯ÃصÄÛºÊÛ½ËÝÁËÞÃÍÝÃÏÞÆÒâÄÐÞÆÑßÃÑ߯ÒÞÇÏâÇÑàÆÒâ¼ËÙ·ÉÚ¶Ä×·Å×µÆÙ·ÆÚ»ÉÙ¸ÌÞ¹ÈÝ»ÉÚ²Æ×ª¼Ñž¸Î¢»Ñ¤·Ñ¢¹Ò§¾Õ§¿Ó­ÀÔ®¾Ï²ÂÕ´ÁÓ¶ÅÔ´Â×°ÁÓ®¾Ó±½Ð®¿Ò¬¾Ò­»Ñ°½Ò¯ÀÔ¯ÂÕ­ÁÔªÁÙ­ÂÚ°ÃØ³¿Ö±ÅÖ±ÅÖ³ÈÙµÈݵÆ×ºÈعÊÛ¾ÈÙ¼ËÛÁÎÞÃÎÝÃÐßÂÐâÄÎáÄÒâÇÓáÉÔåËÕâÌÙåÏÙåÎÚæÎØæÌØåÌÙäÎÖâÍÖãÏØãÏØäÌØäÎÚäÏÜåÏÚæÑÜæÑÛæÒÝæÒÛèÓÜæÒÝçÒÝçÒÝåÏÛæËÖãÄÑâ¿ÌÙ¶ÆÖ±ÃÖ®ÃÖ§½Õª½Ó§¼Ö¨»Ð©»Î¨½Ñ¨½Ð§½Ñ­¼Ò«»Ñ­»Ñª½Ó®ÀÔ³ÂÖ·ÆÛ¶Æ×·ÄÖµÆÙ±ÄضÆÙ¸ÄØ¶ÅØ¹Æ×¸ÆÚºÊÚ»ËܺÊÛ¾ËÛÁÌÛÃËßÃÎàÆÐÞÇÓàËÓáËÕâË×äÊÑáÇÏàÇÑâÆÓáÃÑßÇÓâËÔãÇÕáË×ãÌØãÎØåÍÚåÎÛåÏÚäÏÛåÌØåÑÛæÏÛâÐØåÐØåÎØâËÖãÌÛãÌÚåÊØåÊØäËØåÊÖäÊÔâÆÒáÁÒâ¾Ðß¹ÊÜ·ÈÛ´ÆÙ²ÄصÆÛ¶Ä×´ÆØ´ÆÖµÃÕ­Â×·ÆØ³ÅÙ¸ÆÜ»ÈÛ½ÊÚ¿ÌÞÄÏÞÃÑáÈÑàÇÓãÇÓâÉÓâÈÓáÅÎÞÁÌÞ¹ÊÛºÇÚ¼ËÛ¼ÌݾÎßÂÏáÃÑÝÆÑÞÈÑ߯ÓãÉÕáÉÔáÈÔßÅÑáÇÒÞÆÑàÃÐàÁÐàÁÐàÃÑ߯ÓßÂÑàÅÐàÄÐâÂÐßÂÏàÂÎ߯ÏßÈÓàÆÑàÇÒáÈÔáËÖãËÕãËÖåËÔåÉØãËÕãÇÔâËÕáÊÕãÉÓâÇÓàÆÑâÃÏÞÂÐßÂÏÜÁÎàÂÌÝÀËܽÉÜ·ÈÛ·ÈØ¼ËÙºÉÛ¹ÈÜ·ÈÜ»ÊÚ·ÇÛµÈØµÉݳÈÛ¶ÇÛ¸ÇÝ·ÉÛ»ÍÜ¿ÌݾÉܼËÝ»ËݽÌܽÎà»ÌÞ»ÉܼÊÜ¿ËݽËÚ»ÌÛ¿Íà½ÌßÀÍà½ÌÛ¹ÌݶËÞ·ÊÞ½ÊÝ·ËÞºÉÛºËá¾ÎàÃÌÞÃÐÞÄÑàÃÏÞÄÎÞÅÐßÄÎàÄÐßÇÒ߯ÑâÅÐ߯ÑàÃÐßÃÐáÃÏáÂÎàÅÒàÃÑßÃÑàÁÐßÄÑßÅÐâÂÏáÆÑáÁÎÞ¼ÌÞ¿ÌÝ»ÌÞ¼ÌÝÀÌßÀÍÞ»ÌÞºËÝ»ËÞÁÎݽÎàÀÎàÀÍßÃÍßÂÌàÀÎâÀÎßÂÑàÅÏàÃÎàÆÒáÆÓãÆÓàÆÑàÆÓâÅÑàÇÒáÆÑáÆÒ߯ÒàÆÑáÊÖãÉÔãÊÖãË×âË×äÌÖäËØâË×ãÊØäÍØåÊØåÊ×ãÉÔáÆÓáÁÏá¿Ìß¶ÌàµÊáºÏâ»ÍáºÎà¼Íà½Ñ߸ÌݶÌݺÎà·ÍàºËß»ÍàÁÌß½Îà»Íà¼Ìß»ÌݺËݹËÞ»Íà¼ÌÞ¿ÎÞ¿ÎÞÁÏÞÁÎÞÁÍÞÀÍÞÁÎß¿ÎàÅÐàÄÎßÃÏÝÅÒßÈÓáÊÖâÉÔãÌÕãÉÓâÊÔàÇÒàÆÒâÇÕßÇÓÜÆÓâÆÓâÈÓâÈÓâÍÖâÎØâÌÖâÐÛãÐÛåÑÛæÐÛåÍÙæÊÖãÎÖáÉÔàÌÖâÐÚåÐÝäÒÝåÑÝåÑÛæÐØãÏÙäÏÙäÐÛåÏÙåÔÝæÖÞçÔÞçÓÝèÖÝåÖÝæÒÛæÐÚåÐÛäÐÛäÑÜåÑÜåÑÜæÑÛãÑÛåÑÛæÒÛäÒÛãÐÛåÎÚåË×äÌÖâÎÖãÎØäÎ×âÍÙâÌÙáÑÚåÐÙæÓÝèÖÝèÒÝåÓÜæÓÝåÐÚâÍÚåËÖäÈÕãËÔåÉÓâÊÓàËÓáÌÕâÌ×äÎÙäÎØåÒÛæÔÝçÓÛåÑÛåÍØäÏÙäÏÙãÍØãÌØåË×ãÌÕãÍÔâÌÕäËÖâÌ×åÌØåÏØçÎÙåÑÙãÑØçÏÖåÎØåÎ×âÏØåÎÚäÎÚåÓÛæÒÛåÒÚåÐØãÌÚåÏÚæÏÙæÐÙæÌ×ãË×åÄÑâÃÒãÆÓäÁÒãÃÐßÁÐÞÀÍÝÂÎàÆÏâÇÓâÆÒâÄÏàÁÌÞ¾ÍÞ¼ÌÞ»ÌݽÎܺÆÛ³ÆÛ²ÃØ­ÁØ«½Ó¬½Ó¤¹Î¥¹Î£¶Ì£²Ì¤µÎ¢±Ì ®Ë±Ì¢²ÌžµË¢¸Ì¥¹Î«¸Ì¬ºÐ­ºÍ¯¿Ñ®½Ñ­½Ï±ÁÓ³ÁÔ°ÀÕ¯¿Ò¬»Ñ§¼Ð­»Î­»Ð¯¾Ì°ÂÒ®½Î´ÀÅÃËÏÄÎÒ›ºÎ›¸Ð—µÑ˜¶Ð™·Ï˜ºÑŸºÓ¡ºÏž¶Õœ´ÐŸ¶Ð¸Ó—¶Ò™¶Ñ›¼Ó ¼Ô™¹Õš»Óž¸Ñœ¹Ò¡»Ò¥»Ð«¾Ó°Á׳ÃÖ´ÅÖ¸ÇØ¸ÆØ¸Ä׸ÈÙ¶ÄØµÄ׳ÂÕ¶ÄÖºÉØ¸ÆÚ¶ÇÚ¹ÆÖ¸ÅÕ¾ËÜÃÍÜÃÍÜÄÎÞÅÍÞÅÎáÃÌÞÈÑÞÆÑàÇÓâÄÒàÆÏàÆÑÞÁÉØ¶ÆØ´ÃسÁÖ¹ÆÖ»ÉÖ¾ÊÛ½ÊܽÊݾËݽËÞ±ÂÖ¦ºÏ¦ºÏ§¶Î¤¸Ï¢·Ð®½Ð±ÀÔµÄ×´ÃÕ¶Ä×»Ç׏ŨµÄճŨ±ÁÔ°ÁÓ®¿Ò°¾Ó±¿Õ°¿Ó°ÃÖ²ÃÖ±ÀÔ¸ÇÚ¶Å׸ÃÕ±Ã×¶ÃÓµÁѵÆÙ¶Æ×¸ÇؾÉÙ½ÉÛ½ÉݽËÝ¿ÊÞÁÍÞÄÏàÄÏãÅÑâÉÓâÊÓáËÕâÎÖáÍØåÌ×äÍÕâÍ×ãÎØäÎ×ãÎ×äÎÖâÎØãÌ×âËÖâÍØäÏÙåÑÜæÓÛæÓÛæÒÚåÓÜåÓÝåÑÜäÏÛåËÚåÈÓäÅÐâÂÍÝ·ÆÙ²ÁÕ­ÂÖ®ÂÔ®ÂÕ§»Ó­½Ñ®½Ô¬½Ð®½Ë¨ºÎªºÍ«¼Ôª½Ö­ÁÕ´ÅØ»ÆÔºÆÖ¸ÄØ´ÃÖ¯Â×´Â×¶ÅÙ»Æ×¹ÈÙ¾ÆÖ½ÈÛ½ÉÙ¿ÊÛ¾ÉÞÂÌÞÁÎÜÅÎßÇÐàÈÑßËÓàÎÕàÌ×âÍ×ãËÓáÇÓàÉÓâËÓßÊÒÞÎÔàÎÔâÍÖãÌÖâËÖâÑÙåÍØãÓÖâÒ×ãÑÛæÑÛäÐÛäÍÚåÑÙåÐØãÐØåÍÕãÎÖãÍÖáÉÓáÈÓáÇÔâÇÓáÆÓâÅÑâÃÎà½ÊÚºÇÙ¸ÅØ³ÃرÃײÃÖ¶Å×¹Å×·Æ×µÄÕ¹Å׸Ç×»ÇØºÈÛ»ËÞÁÍÝÆÎÝÉÒÜÉÒÞÉÓÞËÕâÊÖãÌÕãÈÔßÇÏàÂÉÜÀÇÚ½ÈÙ½ÎÞ¼ÌÝÁÌÞÁÏÞÆÐâÉÑâÊÒâËÓáÊÓáÉÒßÉÓâÇÒàÆÒÞÅÑ߯ÐßÅÐàÃÎßÂÏÞÃÐ߯ÐàÆÑÞÅÒßÃÎßÄÎßÄÏÞÃÐßÇÐàÆÐßÇÒÝÇÔàÇÔàÎØãÊÓâÌÖâÎÖâÉÓâÌÔãËÔáÊØãÇÕâÉÓãÈÏàÉÑ߯ÐàÃÌßÃÌÝÃÎÝÁÎݽÎÞ½ÊݺÉܹÇÚ»ÇØ»ÈÚºÈÛ»ÉÙºÊØºÊØ·ÅØ·ÄÙ¹ÅÙ¿ÈÙÀËÛ¿ÌÜ¿ÍÞ¿ËܽËÜÀËÝ¿ËÝ¿ÌÞ½ÊݽÉÛºÊÚÁËÚÁËܾËÙÀÌÜÁÌÝÀÌݽÍÞ¾ÌÝ»Ëß·ÊÞ½ËݽËݾÈÙºÉÞÁÌÛÁÍÝÃÏßÁÎàÁÎÞÄÒàÆÑâÇÑàÇÐßÇÓáÆÐáÆÑáÆÐ߯ÏÞÄÑàÅÏßÅÐ߯ÑßÇÐàÄÏàÃÎßÄÐ߯ÏßÅÑáÄÑáÃÏà¼ÌÝ¿ÌÞÁÎÝÀÎÝÁÏÞ¼ÌݼÍÞ¼ËݼËÝÁÌÝÃÌÞÄÏàÃËÝÃÍÞÃÍÜÆÌàÃÏàÆÎàÉÑßÊÒàÉÒßËÓàÉÑáÆÑÞÅÐßÅÐàÆÐßÇÒáÉÓâÉÒâÅÑ߯ÑãÉÒáÌÔáÍ×ãÏÖâÍÖâÎ×ãÍÖâÏÙäÎ×äÏ×ãÌ×äÌÔâÇÓáÃÐà¼ÌÝ»ÎݹËß»Ëß½Ìß»ËݸËàºÍÞ»ÌÞ±ÇݼÉܺËÝ¿Ëß¼Ëß½Ìß»ÌÞÁÍà¿ÌÜ¿Íß¾ÌÞ¿Ìß½ÈܾËÝÀÌÝÀÎßÁÎÝÄÎÞÂÌÞÁÌÜÄÎÞÄÏàÆÐßÃÍßÇÎßÈÐßÈÒßÊÔâÊÕáÈÔâÇÕâÉÖàÉÓâÉÒâÊÒàËÒàÈÑÝÇÑáÇÑàÉÖâÍÖâÍÖáÏÖãÑ×âÑÚãÑÙâÒÜåÍÖâÎ×åÊÔãÍÓàÎÓáÏÖãÐÚâÑÜäÒÛäÑØäÏÕâÏÖãÐÖãÒÙãÒØâÑÚâÒÝåÓÜæÓÝæÔÝçÔÛäÕÙãÏÙãÏÚåÏØâÎÙâÐÛæÑÙåÒÛäÑØãÒÚäÑÚãÏÙâÌÕãÌÕâÉÔâÊ×âÌÖäÌÕãÍ×âÌÖâËÔâÍ×ãÑÙæÓÛåÔÞåÓÝæÔÝæÑØãÌÖãÊÓáÉÑßÈÐáÊÔäÌÖãÎÔâÏÓâÍÕâÎÖâÎÖãÑØãÑÜæÒÝäÏØäÎ׿ÐÖãÒØãÏ×ãÏ×âÍÖáÌÖãÌÖãÐÖåÍÓåÎÕàÎÖßÌÕàÎÖãÐØåÌÙåÍØãÍØãÏ×ãÑØãÑ×ãÏÖãÏ×äÐØåÑØäÑ×æÐØãÑ×ãÐÖâÎÖäËÕâËÕâÆÒâÀÌÞ¾Ìà»ÈÝ»ÈܾÍÞ½ËÞÀËÝÀÌßÀÍßÂÎßÃÌßÁÍÞÃÍÜÂÌÞ¿ËܽÌݽËÞ·ÉܶÇÙ²ÆÚ³ÃÙ¶À×±¿Ô©»Ó§ºÏ µÍ¥´Ìž´Î ³Ë ±Ì¤®Æ¤´Ì©¶Ì¦µÎª»Î®»Î®½Ñ±½Ò°»Ñ±½Ðµ¾Ó²ÀÔµ¿Ó³¾Ò°½Ï­»Ñ³½Òµ¿Ñ¶½Ò·ÀѳÀв¼Î·ÁÅÂËÎÆÍÓ›¹Ò»Ðž·Ñ›¶Ïš¸Ðœ»Ñ–¶Ñ¢½Óž¹Ðž¼×™»Ò »Ñ¸Ð¹Ï›»Ñ™¶Ì™µÐž¹Óœ½Ñš¸ÒžºÑ“¸Ð¤¾Ò©ÁÕªÁÖ¯ÂÖµÇÛ»ËÛ¼ÌÜ»ÌݵÊÚ±Ã×µÆÙ¶ÄØ´ÅÛ¹ÈÚ½ÉÛºËÛ»ÊÛÁÌÜÄÎßÁÎÞÃÎ߯ÑàÆÑàÁÎ߯ÑàÄÓáÆÑáÆÑàÉÐßÉÓßÇÑß»ËÛ¹ËÚ½ÌÜ¿ÌÝ¿ÌÝ·ÇÚºÌÞ¹ÇÛ»ËÜ»ÊÛ·ÉÙ±ÈÛ©ÂØ¤¼Ó£¼Õ¤»Ñ§½Ó¯ÀÓ¸ÆØ»ÇÙ»Ëܻɨ¹ÈܵÇ×±ÅÙ²ÃÖ³ÃÔ¯ÂÓ¶ÄÚ³ÅØ´ÃÔ±Ã×°ÄÕ´ÆÙ´ÇÛ¸ÆÙ·ÆÙ³ÄÖ´ÆÙ·ÊÛ¸ÆÛ¶ÆÚ»ÉÛ·ÇÛ»ËÜÁÌß¿ÌÞ½ËÞÁÍàÁÑÞÇÒáÆÒàÈÓáÇÓàËÖâÌØåÍ×åÌØåÌØãÏÖåÏÙæÍØãÎØåÏØåÍÙãÌÖâË×äËÖäÏÚåÎÙæÑÜçÑÛæÎÛæÐÜåÑÛæÎÚåËØåÉÔãÄÓâÁÑà¶ÊÝ²ÅØ®ÂÖ°Áצ¾Ñ©½ÑªÀÓ­ÀÔ­ÁÖ¯Ã×­¾Ð«½Õ®½Ï®¼Ó±ÂÔ°ÅÙ¸ÈÛ¹ÉÛºÈÖ·ÇÖ¸Å×·ÅØ¹ÅØ·ÇÙ»ÈØ¼ËÛ¾ËÚÁÍÞÁÎÛÁÎÞÃÍÜÄÐÝÃÏÞÆÐßÈÓâÉÓáËØàÒÚâÒÚâÌØãËØâÇÔãËÕâËÖãÎØãÎÙâÎØäÍØäÏØäÌØåÐÙåÑÙåÑÛæÓÛçÒÝäÓÝåÒÛåÑÛåÑÛåÑÛäÑÚãÌÙåÍ×áÌÙáÍÕàÆÒáÆÑáÄÐàÂÐàÁÏݾÎà¼ËܶÈ×·ÆØ·ÆØ³Ä×·ÇØµÇÚ»ÉØºÈÚ»ÊÚ¼ÈÜÀÈÚ½ÊÚ¿ÉÝ¿ÌÝÄÏáÇÒàÈÓàËÖâÎØäÌÖáÎÙäÌÖäÈÔâÃÑâÁÍÞÃÎÝÃÍÛÃÎÞ¿ÌÙÂÎÞÅÑâÈÑâÅÑâÉÖâÉÔãÌÖãÌ×âÈÓáÇÑàÆÔáÄÐáÆÒáÅÑâÅÑáÂÐÝÂÐÜÆÑÞÂÐàÄÒàÆÑáÅÑàÅÑàÃÑàÇÓßÈÑßÉÖãÆÖäÌÙåÌ×äÏÙåÍØäÎÛãÌÖáÌ×âÉÓáÊÕãÉÕãËÓâÆÖâÉÔâÇÓàÇÑàÂÏàÂÑß¿ÏݾÎݽËݺÈܼÊÚ¼ÊÛ½ÊܼÌݸÊÚ½ËÛ»ÉØ¹ÇܼÊܼÊÜÁÌÜÃÎß¾Îß¿ÎÞ¾ÎàÁÎßÁÎÞÂÍÝÁÎÞÀÎÝÂÌÝÃÍÝÃÌÞÂÎß¿ÎßÁÎßÂÌÝÁÎà¾ÎÞ¿ÌܹÌݺËÚ¾ÌÛ½ËÛ¹ËݽÍàÁÐàÁËÙÁÐÞÁÎÞÁÏ߯ÑáÆÒàÇÒâÇÑáÇÒáÉÔáÉÔàÆÑáÅÒáÅÑàÅÑáÄÑàÅÑßÇÑàÆÏßÅÒàÄÒàÆÔãÂÑâÁÐáÁÎß¿ÍÞ½ËÞ½Ïà¼ÏߺÎÞ»ÌݾÍÞ¿ÌݼÌÝÀÏàÂÌàÁÎÞÃÏàÃÎáÅÑÞÆÐßÊÔâÈÒÝÆÕáÈÓâÉÖâÇÔâÈÓâËÔâÈÒÞÇÑàÈÑâÈÔáÇÔáÇÔâÈÕàÇÒâËÕâÌÖäÎØãÌØáÍØåÐÚåÐÙäÓÜæÏÙäÏÙåÎØåÍØâËÕâÅÑÞÃÑàÀÎà¼Îà¾Ïâ¼ÌÞºÌß»Ìà½ÎàºÎÞ¼Îß¾Ìà¿Îà½ÌݾÌàÂÍÞÃÍà¾ÎàÁÏÝÂÑßÁÌÝÂÌÞ½ÍßÀËÝ¿ÌݼÍàÀÍÝÁÍÞÀËÞÀÍÝÃÍßÂÍßÂÎàÅÎàÆÑàÆÓÞÉÔàÉÑáÇÓáÈÓàÉÓáÉÒàÇÔâÇÕãÈÕãÇÔáÆÐàÇÓàÇÒáÉÔàÌ×åÍØäÍØäÎØàÑÙâÑØäÒÚäÎØåÌ×äËØãÌ×åË×âÍÙâÑÚãÒÛäÑÛäÏÚãÏÙãÏÙãÎÛäÏÛåÑÛãÓÛãÔÛåÒÜæÑÜæÓÝäÑÜåÒÛåÒÛåÒÛäÒÛäÐÛäÏÛäÏÙäÏÛãÐÛæÒÜéÓÛæÑÙâÌÔáÇÕâÆÓâÆÓáË׿Ë×åÉÖãÌÖãÎÖãÎÖäÎÙæÍÛäÑÜæÐÜçÌØåË×âÌÙãÊÔàÈÓàÈÓâÊÕãÎ×ãÑ×åÏÙãÎÚäÑÚãÐÖãÎØäÏÙåÍ×ãÍÖåÍÕæÏÙæÑÙäÑÜãÎÙãÍÖãÍÖäÌ×åÎØãÌÖãËØåÎØãÎÙåÐ×äÏØåÎÚãÌÖäÌÕåÍÖæÎ׿Ï×ãÎÖàÎÖãÍÖåÍÖäÎÖãË×åË×åÉØãËÖâÈÓáÇÑãÀÌÝ»ËݶÊÞ±ÇÛ´ÇܶÉܸÌÞ»ÉÜ»ÌÞ¹ÊݹÌݼËݼÌàÁÍàÂÎÞÁËܽËܽËܶËÛ²ÇØ³ÇÛµÇܸÂ×±Áׯ¿Ó©¼Ò©¾Ñ¦¼Î¢´Ì¡¶Ï§²Î¥µÌª¸Í®»Î¬»Ï©»Ð­½Ó±ÀÖ²¿Õ³ÂÖ¹Ä×»ÈÙºÃÕ¸ÃÔ·ÂÔ·ÃÓ²ÀÓ³ÀзÁÒ¸ÂÔ¹ÃÔµÂÒ¶¾Ï·ÁÆÁÊÏÅÎÓœ¸ÎŸ·ÏœºÒ »Ô›¸Ó›¸Ñ™»Ó›½Õ£»Õœ¼Ó ½Öœ¶Ó𽨢»ÔŸ¸Ò›»ÒšºÑ™ºÐ”»ÔŸ½Ôž¸Ó’¶Ò ¼Ó›¹Öœ¼Ô¹ÔªÁÙ«ÂÙ«ÁÛ«ÂÚ¯ÂÚ·ÆÙ²ÇÚµÅÚ¶Æ×¹ÊÚÂÐßÁÎÞÀÍܾÊݼÊܸÊÞ¹ËÞ»Ìà½ÌÞ½ÊÞÀÌÞÃÏÞÁÎàÆÐàËÕâÌÖãÇÒáÃÏÞÁÏß¶ÉݵÉÞ³ÃÙªÂ×§ÃÚ¥ÁدÄÛ®ÆÛ§ÀÖ¤¾Ö¤ÁÖ¤ÀÚ¤¿Õ¡¿×¤¾Õ¬¾Ø³ÄÚ¸ÇܹÇÜ»ÉÚ»ÈÛ»ÊܶÆÜ´ÄÖ¬¿Ö¯¾Ô´ÅÚ­ÀÕ±ÂÖ±ÄÚ°ÄØ±ÃضÆÛ·ÈÛ¸ÆÙºÆÚºÇݼÈÛ¹ÉݺÈÚ»ÈܽÊÞÃÎÝÀÌÝÁÏÞÁÌÞÃÏâÄÓÞÆÔáÄÔãÈÒáÆÑäËÖåÍ×åÎ×åÌØåÍØåÌ×äÍÖåÌØäÌØåÍÖãÍÖäÍØäÌ×äÍÙäÐÙåÐÛåÑÚçÑÚçÐØåÒÛäÏÛåÎÛäÌÛãËÖäÁÑâ·ÇÜ«¾Õª½Õ¨¾Øª¿ÔªÀÔ«½Ô«½Ö¯ÂÕµÁÒ°¾Ñª¾Ñ±¼Ô±ÀÓ²ÄÖ¶ÃÖ¹ÈÙ½ÉܸÇÙ·ÇÛ±Ã×¶ÃÕ¸ÈÛ½ÉØ¼ÊܽÉÚ»ÊÛ¾ÌÝÅÏáÅÎÞÂÎàÈÑâÆÑàÆÑàÈÒßÌÖàÎÖâÎÙãÑÛåÓÛæÐÝéÍÚäÏ×ãÍÖãÏØãÏ×âÐÛåÏÙãÎÙäÐÛåÎÚäÐØãÐÛåÒÜæÔÛåÔÝèÓÝçÔÝçÔÞçÔÝçÓÛçÑÛåÎØãÎÙæÎØäÆÓãÆÑáÁÏà¾ÐÞÀÍݽÍÞ½ËݸÈݸÇÛ¶ÅܹÇ󵮯¶ÅغÈÛ½ÉÛ½ÊÚ¿ÍÞÁÌÝÄÎÞÄÎÝÆÐÛÆÎÝÈÒâËÑàËÖàÌ×äÎÚæÑÛåÐÜåÑÚåÊ×âÆÒâÂÑáÅÍÜÃÎßÁÌÞÃÎàÅÑàÆÓâÆÓàÃÏáÉÕâËÔâÇÕåÈÕáÈÓãÆÓáÆÓßÁÏàÂÐàÀÏáÃÏà¿ÐàÃÑàÃÐàÆÑßÇÑàÈÐàÇÐ߯ÑàÆÒßÇÕâËÔãÍÓãÍÙãÏÚãÎÙåÏÚæÍÙåÌÙäÌØåÌÖãÌÕßËÓâÈÓâÇÔâÇÓâÇÑàÄÏáÆÍàÁÍàÃÐÞÃÏݾÎÛ»ËܽËÛ¾Ìß¿Ìß½Ëà½Ëà½ÌݾÌß½ËÜ»ÊÙ¼ÉÛ»ËÞºÊß¿ËßÀÌÝÀÌݾÎÞÂÎàÃÐßÄÐÞÅÑàÅÏáÇÒâÃÌßÅÎÛÀËÛÁÎÞÁÎà¼ËßÁÎà¾Ìà¼ÌߺÌá¼Ìà½ÍÞ¾Ëà»ÌݼÍÝÁÐàÃÍßÃÎÝÄÎÞÃÎàÄÏÝÃÎàÆÏ߯ÑßÈÓâÈÓâÌÕâÈÒãÆÑáÄÐâÆÎßÅÐáÇÑàÆÒàÇÑâÆÑâÉÓâÅÒàÃÐâÁÒàÁÐàÁÍà»ÍàÁÎàÀÎàÁÌÞ»ÌÞ¾ÍÞ¼ËÞ¿ÌÞÃÎßÄÏàÅÑàÃÎàÅÒáÆÑáÈÓãÉÒàÊÔâÊÕãÊÓâËÕâÌÖãÉ×áÉÖãÅÑ߯ÓãÈÒàÉÓàÉÓâÇÒãÈÓáÉÖãËÕäÊÓâËÕäÍÖäÏØãÐØåÒÛçÔÛæÐÝçÐÛæÐÙåÎØåÏØäÆÑáÅÑàÂÎàÁÏá»Ðá½Ìà¹ÌÞ»ÍߺÎà½ÎâÁÌÞÃÎâÃÑá¿ÎßÁÌßÂÏàÃÎàÂÑàÄÏáÃÎÞÆÑÞÄÏàÂÑßÁÎà¿ÌÞÁÎà¾Íà½ËÞÀÌÝÁÌÝÃÏÞÄÎáÂÍàÃÍßÁÍßÄÏßÉÓâÇÒâÈÒáÅÒâÅÑßÃÑßÂÐãÃÏâÅÑâÆÓàÆÑãÆÓáÃÎáÉÓàÈÔâÉ×áÌÕâÌÖäÑØãÎÚäÍÙåÌØãÎ×åÊÕäÊÖâÌÔâÌ×ãÊÚäÎÚäÑÜåÎÛãÑØåÎØäÑÙåÑÜåÒÝèÒÝåÓÝçÒÜãÑÛäÑØãÐØåÏÙäÒÛåÒÜæÏÛåÏÙäÍ×åÍØæÌ×äÎØãÎÚäÏØåË×äÈÔäÃÑá½Îâ¿ÏáÁÎÞÃÎá½Ìà¸ËÞ½ÑàÂÔãÇÕãËÖãÌÖäÈÕâÂÏãÃÎàÌ×ãÐÚåÑÜåÎÙãÍØâÐ×äÐØåÐÚåÎØåÐØæÍØæÐØæÏÚåÏØäÍ×âÌ׿ÍÖæÍÖåÏ×åÍ×äÌ×åËØåËÖãÌÕãÌÕãÉÕåÍÖåÎÖæÎÖãÎØåÎØåÎØâÊÕãËÔäÇÓãÌÖåÌÖãÌÖåÌÓãÊÕãÉÓâÉÓã¿ÐÞÁÏáÃÍá½Ìá¼ÌߺËݺÊݶÈÛ±ÆÛ´ÆÝ²ÇܯÇܯÆÜ°ÇݲÇݳÇÛµÉܳÉܹÊܺÌà½ÌßÀÌß½ËÞÁÌß»ÌÞ¿ËݽÊݽÉÜ´ÃØ±ÂÙ®ÃØ«ÀÕ©¼Ò«»Ñ«»Îª»Í°¾Ñ¯¿Ô±½Ó±»Õ³ÁÒ±½Ñ³ÂÓ´¿Ñ¹ÆÖ»ÆÜ¾ÉÛÀÇÚ¿ÆØ½ÂؼÆÚ½ÆØ¸Æ×·Ã×¹ÆØ¸Ã×´ÃÖ¼ÄÒºÀÂÁËÏÅÏÓ—µËŸºÐ—¹Ñ•¹Ñ—·ÎœºÑ¡½ÓŒ·Ð›·Ï—¶Óš¶Ï™µÐš¶Ï•¶Ñ”¸Ñ—»Î™·Ñž·Ñ™ºÐ¸Ñ™»Î—»Ó™·Î–¹Ò–¼ÒºÏš¶Ò¸Óœ·Ñ ½Ô§ÂÔ¨Â×¥ÂÖ£¿×­ÃÙ·ÉÛ½ËÜ·ËÛ­ÅÚ®Å×±ÈÛ¯ÆÙ¥Â×£ÂݤÀ׫ÁرÈÚ¿ÎݾÑÝÁÐàÆÓáÅÒß¾ËÛµËÝ®ÈÜ ÀÖ ½Ó¢½Ó¡ÀÕ£Áל¼Õ¤¿Ö¡¿ÖŸ½Ó¼Ô™¼Õ¡ÀÖŸ½Ôœ½ÓŸ½Ô¦½Ó­ÂÔµÆÙ·ÈÛ¼ÊܼÊÚ»ÉÚ¶ÇÛ·ÆÛ³ÄÖ±ÂØ¯ÀÔ«¿Ô¨ÁÔ¬Ã×®ÄֲĨ®ÄÛ±ÄÛ±ÃÖ´Æ×³Ä׸Æ×»ÉÖºÉÛ½ÉÜ¿ËÝÁÌÝÀÎÝÂÎÞÀÌÜÂÍÞÄÑÞÅÑßÈÒäÈÑäÇÔâÉÖâÊØâÌ×ãÌØáÌØãÌØäÌÙæÌØæËØãÌØâÍØåËØãËØäÌØãÌØåÌ׿Í׿ÌÚäÌØäÍÛãËØãÉÙåÉ×ãÄÐà±ÃÚ«ÁÕª¾Ò­ÁÔª½Î©¼Ñ«½Ï´¿Ô±ÀÑ®ÂÖ¬ÁÖ®ÀÏ­ÁÓ´ÃÔ±ÃÔºÆÚºÈ×¾ËݾÎÛ¸ÊØ¶ÇÖºÇ׺È×½ÌØÀÍÛÂÍÞÁÎÝÁÎÛÀÎÜÃÑßÄÏÞÄÑàÈÑßÅÑßÈÓáÌÕâÊÖâÎÙâÎÚãÑÚãÐÛãÒÛãÐÝäÏÙåÍÚãÎÚâÐÚãÎÚãËØâÍØãÏÛåÏÜåÑÜåÒÝæÒÝåÒÞåÑÝåÑÜåÐÝåÒÜåÓÛçÓÛæÐÙæÍØãË×åÈÖâÁÐàÁÑà¿ÏÞºÍÞ¼ÌÚ¹ÊÛ¶ÇÙµÇØ³Å×µÅÙ¶ÆØ¶ÈÛºÈÚ¼ÊÜ¿ÌÝÀÎßÂÍÜÃÐÝÃÏÞÅÑàÉÓàÇÓàÇÔâÊÕâËÖâËØãÍÙäÎÙãÎÚåÎÚåËÙãÆÒâÃÐÝÂÏÞÀÎÝÂÌÝÁÎÝÅÑßÅÓÞÇÓàÅÒàÆÒÝÆÓáÆÓáÇÓàÇÔâÉÕáÅÒáÅÐßÂÏÞ»ÌÞ¾ÍÞÁÍÞÄÑßÅÑÞÅÑàÇÔâÉÓâÈÓàÆÒàÆÓâÈÓáÉÔâËÖáËØáÐÚãÎÚäÎÚæÎØäÌÙãÌÙâÉ×âÉÕáÈÕâÇÔäÇÒâÅÑÞÇÒàÄÑàÆÒâÁÎÞÂÑß¿ÏÜÁÏÞ»Ìß¾ËÚ»ÌܼÌÛ½ËÞºÌݼËܺÌܺÊÚºÉÚ¶ÇÚµÇÙ¼ËÜ»ÌÞºËܼËÜÀÏÞÂÎÞÃÍßÇÐÞÄÑáÃÏáÂÏâÃÎßÁÎÝ¿ÎÚ½ÌÝ½ËØ¹ËÞ»ËݼÉÛ¶ÊݺÌÛºÌÛºËÚ½ÌÝ»ËÞ½ÌÜÀÍÜÁÎÜÃÒÝ¿Î߯ÎÜÅÐßÂÏÞÄÎàÆÏàÆÑáÇÒßËÔ߯ÑßÃÑßÁÎÝÁÍßÃÎÝÄÏÞÄÐÝÅÐáÄÐàÅÒÞÄÒßÄÐàÁÏÞÃÏàÁÎàÁÍÞÁÎÞÃÒÞÁÐÞÁÑáÃÎÞÃÍÞÄÌÝÅÏÜÂÏÝÄÑßÅÎÞÆÑàÄÑÞÈÑßËÕáËÔàÉÓàÊÖáÉÔâÊÖâÇÓàÉÓâÉÓâÈÒãÈÒàÇÒàÈÓàÇÒàÈÓàÆÕàÇÔßËÓáÉÓâÈÔâÌÖâÌØãÏØåÐÛåÑÜåÒÜåÐÛåÑÙåËÖâÈÑÞÃÎÞÀÏßÃÍÞºÎÞ¿ÌÞ»ËÞ¹ÌݼÍß¿ÐàÀÎÞÃÑÞÃÏÞÁÎÝÃÐàÆÐâÃÑáÃÐßÅÐßÄÑàÇÑâÆÑàÆÒ߯ÐáÃÏÞÂÌÝÁÍݾËÜ¿ÌÝ¿ÌÝÂÍÞÁÍÞÂÎßÂÍÞ¿ÎÜÃÑÝÃÑßÃÓáÄÑáÃÑßÃÎÝÃÎßÃÎàÁÑÞÃÑßÅÑÞÁÒßÃÏàÄÑâÆÒâÇÒáÆÔàÈÔßÇÔâÈÒáÊÕáÉÓáÈÓâÇÒáÅÑâÄÓà¿ÐßÀÑÞÄÑßÉÖâÍØâÎÙãÐ×ãÎÙäÎÚäÑÜãÑÛåÐÛåÑÛæÐÙâÍÙäÏØãÌÙäÊÖãÎØãÌØãÊ×âÈØãÉ×ãÉÖãÉÖåËÖáËÖâÉÖàÅÓáÁÐáºÍÞ¹ÍÞ¸Íà»ËàµÉݰÇܱÇÙ°ÈÚ®ÇÙ±ÇØ¶ÉÚ·ËݳÉÝ·ËÜ»ÊÝÌ×ãÐÛäÓÝåÏÝåÍÝåÐ×äÎØåÎ×ãÍ×ãÏØãÏÙäÑÛåÏÛæÑÝæÏÚåÌØæÌ×äÌÖãÆÖâ¼Ðà¾Ñà½Ñà»Ìà»Éà»ËÞÁÑÞÇÓâÉÖãËÖãÊÔâÆÔãÃÑàÀÌàÁÎßÁÏÜÆÑâ¿ÎßÁÏà¼ÌÝÁÏÞÁÎÞ¶ÊÞ±ÇÛ´ËݳÉݱÇÛ±ÆÛ°ÈܱÇÙ³ÇܱÆÛ±ÆÚ¬Á×­ÃØ­ÆÙ«ÃØ­ÆÛ±ÈܰÅܱÆÚ±ÈܱÇܲÈÛ·ÉÙºÌÛ¾ÎÜÁÎÞÃËÝ¿Ìà»ËÛ¶ÉÛ²ÃØ²ÃرÃÖ¯ÀÓ±ÂÓ²¼Ð®¿Ô¶ÃÖµÂÖ·ÂÓµÁѲÃÓ²¿Ñ³ÃÓ±Á×·Æ×ÁÉÚ¾ÉØ¾ÇÚÁÊØ½ÉÚ¿ÊÙ¿ÉÙ¼ÈÚ¾ÇØ¸Æ×½Æ×»ÇÕ¾ÉÓºÄÇÂÌÐÆÎÒ™¶Îš¹Ðž¸Î›¼Î›¶ÏŸ¶Ñš³ÒŸ·Ð—¹Ð•·Ôœ¸Ò™´Ð”´Î“µÎ˜·Ñ”¶Ñ™·Ô—¹Ó´Ð–·Ð‘·Ñ•¸Î—¶Ñ™¹Ò›¸ÑŸ¼Ñ–µÓ™¶Òœ·Ò™·Ò›ºÑ›¸Òž¼Ó•¹ÓŸ»Ö¨ÀÙ¥ÅÚž¼Òœ»Ó »Ôž¼ÔŸ¼Õ¢»Óž»Ö’¹×›ºÖ£¾Õ±Ç×·ËÛªÃÚ°ÈÛ¯ÆÜ¤¿Ö¡»Ó¤ÁÖœ¼Ó¡¼Ô¢»Ô¡¾Ô¡ÁÖž¾Ø–»Ö ¼Ö ¾Õ ½Ôž¼Õ›¾Øš»Õ–ºÕ¼Ó¦¾Ö«¿Ø²ÆÚ¶ÇÜ»ÇÛ»ÇÛºÊÛ¹ÈÚµÆÙ±ÃرÃÖ®ÁÕ«½Ô©»Ò¦»Ó©¼Ô®ÀײÆÛ²ÄÙµÇܳÅÚºÆÛ·ÇÛ½ÊܾÊÝÁËÝÀÊÜÃÎÝÄÑÝÂÒÞÁÌàÃÏáÅÑãÆÒâÅÓáÄÒÞÉÓàÊÕâËÖàÌØäË×åÌÖäÌÖåÌÙäË×âÍ×âÊÕãËÔäÉÓâÉÓâËÕâËÖãÉÖãË×äÌ×äÍÚçÌÖäÌ×âÌ×äÈÑݽÈÚ´ÁÑ»Â×ºÇØ»ÊÚ³ÃÙ¬½Ö«¾Ö±ÀÔ±ÂӱĨ²ÆÚ°ÆØ¶ÄسÁضÆÚ»ÉݾÉݾÊÛ¾ÊÜÀËÛ¼ÊÛ½ÉÜÄÍÝÅÏáÅÏÞÁÌÞÁÎàÂÎàÀÍÞÃÎÞÅÎ߯ÐàÉÓàÈÒáÆÔáÍÖãÏÚãÏÛãÑÛãÒÛãÑÛåÓÛæÑÜåÑÜæÓÛåÏÛåÌÚäËÖãËÙåÌ×åÑÙæÑÛæÓÜçÕÜçÓßçÓÞæÑÝçÐÛåÑÛåÐÙåÑÜåÑÙåÎÚåÌÙæÆÔâÅÒáÁÍàÄÎá¿ÍÞ½ËܼÌÞ¹ÊݵÉÚ´ÅØ²ÄÙµÆÚ¸ÆÚ»ÇÛ¼ÉÜÀÍàÃÎÝÂÐÞÄÑàÆÐÞÉÒâÈÓâÉÓàËÓâÈÓãÌÖãÍÚãÎÛåÎÚãÑÛåÎÚçÐ×ãÉÔáÇÑâÆÒãÄÑàÃÎàÁÎßÁÎÝÁÎÞÂÑáÅÑâÇÒâÄÐâÆÑâÆÒáÆÒßÇÒãÈÒãÆÐÞÅÐàÆÑáÂÒàÃÎÞÂÏÞÃÑßÄÐÞÆÐßÉÒâÉÒáÈÓáÈÓãÇÔáÈÔâËÔáÌØãÍØãÐØäÑØãÍÛåÉØäÎ×åÌÖâÌÕãË×âËÕàÉÑãÉÓãÇÑâÆÑáÃÐßÂÎàÂÍÝÁÎÜÀÏÞ¾ÍÞÀÎà¼ËÜ»ËÞ¾ÍÞÀËÞ½ËÞ¹ËÚ½ËÛ¹ÊÚ¸ËÝ·ËÝ·ÊݹËݺÊݹËÜ»ÌÝÁÏáÀÎßÄÑâÄÐâÂÎàÀÍßÀÍàÁÏâ¼ÌÝ»ËÝ»ÊÝ¿Ëß·ÊÞ¹ÇÛ¹ÉÚ¹ËÜ¸ÈØ¸ÇÝ»ÈÝ¿ÌݾËݽÌàÃÌÛÁÎÞÂÎÝÃÑàÃÏàÄÑàÅÐßÇÑàÆÒâÅÒáÇÓâÇÓâÅÐáÆÑàÅÐàÆÍßÄÎÞÄÎÝÅÏßÃÑàÂÐßÂÑàÅÑáÆÒàÄÑáÈÐâÄÑâÅÑàÃÑàÃÑàÇÓàÈÒàÈÑàÊÒâÆÑàÃÑàÄÏàÇÐÞÈÑÝÅÑÞÉÑàÉÑâÈÑáËÔåÊÕáÈÓáËÖâÈÕâÉÓãÉÕâÆÓáÆÓâÉÔãÈÓàÇÒßÈÑàÈÒÞÉÓãÈÑãÈÒâÉÐâÈÓãÉÔâÍÖäÎÙåÐÚåÑÜæÒÞåÑÜçÏÚåÌ×ãÉÔâÆÐãÇÒáÁÎà½ÎßÃÍßÁÌÞ¿ÎáÀÏÜÂÐàÂÎßÃÑàÃÑàÆÑáÇÑâÇÒßÇÒãÇÓàÆÐáÇÓÞÆÑÞÆÑáÈÑàÆÐáÄÍÞÃÏÞÁÎÝÁÌÝÀËÞÁËÝÁÍÝÂÌÝÁÍßÁÌÜÂÐÞÂÐ߯ÏáÃÏÞÄÏàÃÏÞÆÏÞÅÎÞÃÑàÁÎàÁÍàÂÎÝÁÍÝÀÌàÁÎÞ½ÎÞ¿ÐáÃÑàÃÒà½ÑÞ¿ÍßÃÏàÃÑáÃÐßÁÏß»ÎÞ½Ìà»ËݽËàÁÎÞÂÏàÇÒâÉÖâËÖáÍÙäÎÚåÐØäÎØåÐÛåÎÚåÍÙäÏÚäÏÚäÌÙæÌÙâÌÙãÈÔã¿ÐáºÍáºÍà¼ÐãÃÐàÅÒâÆÓäÀÑà»ÌßµÈݱÇÞ±ÊݱÈÛµÇÜ®Éß®ÇÛ«ÇÚ°ÊÚ«ÅÙ±ÆÝ¯ÆÙ±ÅÚ²ÇÚ°ÉÛ¶ÉàÇÓâÏÛäÐÛåÍÛäËØåÊÖäËÖãÊØäË×äÍÙåÏÛåÎØåÏØåÍÚãÌÙåÊ׿È×çÃÑã¶ÉܱÇÜ®ÆÜ±ÆÜ±ÆÜ³ÆÛ±ÆÛ²ÉÞ·Êà½ÍàÁÐâ»ÌÞ»ÌÞ¶ËݲÇÚ±ÉÛ¯ÈܵÇܱÆÛ±ÆÚ¯ÆÛ±ÇÛ±ÆÛ°ÆÜ¯ÆÞ²ÉÞ´ÈÚ¯ÅÚ®ÆÙ®ÆÛ³ÈÝ®ÅÙ¯ÈÜ®ÇݱÇܯÆÙ­ÆÙ°ÅÚ®ÃÛ®ÃÚ®ÁÛ®ÆÛ®ÆÜ°ÄÚ®ÂÚ°ÆÜ³ÇÛ¸ËݹÌÝÀÌÞ¾Îà·ÌÝ·Éß´ÉÚ¸ÉÚµÃÚµÅÛ¼ÇØºÇؽÉ×½ËÝ¿ËÙ»ÇØ½ÇÚ»Ã×½ÁÔ¼ÃÖ½ÆØ¿ÊÙÁËÝÂÌÝÅÎÛÄÎÜÅÎÝÆÍÝÅÌÛÄÌÜÁÎÞÂËÞÁÉÙÁÈÔ½ÆÓ¼ÄÈÃËÐÆÏÔ—µÍ›¹Î–¶Ò–µÍ¡¸Ï ¶Î—¶Ï–¸Ì”»Ð’·Ñ‘¶Ò—·Ð–µÏ–´Ï–¶Ï•¸Ï³Ð‹³Î˜»Ñ’¶Ñ¶Ðš·Ò•¶Ó™¶Ï—¹Ð”µÍ›¹Ñž¼Ò”³Ñ›¶ÒŽ·Óš¹ÐœºÓšºÓ›¸ÓŸºÑš»Ò ½Ó ¹ÔšºÔ”¶Ò˜¹Ó™ºÓ—¼Ö›½Ö•ºÕ—»Ó™½Óœ¼Ó ½Öœ½Ö¡¼Ö »Ôž¼Õ™¼Ó›»ÓŸ»ÓŸ»Òœ»Ô¼Ôž»Õœ¼Ö ¿Ö¡¾Öœ½Öš¼Õ˜º×“¶Óž¼Ôœ»Ó¢½Õ¤¼Ô¬¿×³ÄÙºÊÞºÊÞ¼ËÛ»ÇÙµÆØ³ÅØ°ÄØ®Áת¾Õ¬¾Ô¤½Ô«½Ô®ÁذÆÙ¶ÈܶÇݸÉÞ¸ÉÝ»ÉÛ½ËÞ»ÉÚÀÍÝÁÏÞÁÎßÃÏàÁÐàÆÑàÄÏàÂÑáÆÓàÆÔáÈÓâËÔãÉÖåËÕäÊÔäÉÖâÌÖâÊÖâËÖäÌ×âÌØãÉÖâÈÔäÈÔäÇÓáÇÔãÊÕãÊÕâÌÖäÌÙåÌØæÌ×ãÌÙãÉÕãÆÑãÃÐáÆÎ߯ÏÞÂÎݳÈÝ®ÅØ°ÃÖ²ÂÖ²Â×¯ÃØ´Ã׸ÆÛºÉÙ»ÉÚ¹ÇØºÆÛ»ÇÛ¼ÈÚÀÉÛ¾ËÜÂÏàÃÐàÆÑáÉÒãÈÒ߯ÐÞÇÐÝÆÑàÆÑßÄÐàÆÎßÇÒáÆÔâÉÔâÊÔàËÖâÍÖãÐØåÐÛåÐÛæÑÜåÓÜæÓÝæÒÜãÒÞæÏÛæÎØäÊÖãËØåÊ×ãÎØåÎÛäÏÚåÑÝæÓÜçÓÝçÒÝæÑÜçÎÛåÏÜäÑÛâÑÛãÏÛåÌØåÊÖãÆÓâÄÒâÃÑáÂÐß¾ÍܺÌß³ÉܳÆÙ³ÆÚ¶ÅØ´ÅÚ¸ÉÛ»ÆØ¼ËÞ¾ÊÜÂÍßÃÏáÆÐáÇÒâÅÔãÌ×âËÖåÌ×ãÌÔâÍØåÎÖæÐÛäÏÛæÑÜæÑÛåÍÚäÌ×ãÍÖâÌÕäÄÑâÅÑàÅÐàÁÐáÁÎÞÆÏàÃÓàÈÓàÈÑáÇÑâÈÓäÄÒâÆÒáÆÑáÃÐàÄÑàÆÑ߯ÑßÇÒâÄÐâÆÓáÉÓÝÇÓßÈÓàÉÓâÈÓâËØâËÔâÉ×äÉØãËÖåÌ×ãËÖåÌØàÎØãÌØåÌÕåÌÖäÉØäÇÓáÉÔâÉÔâÇÓâÇÑâÆÑâÃÑàÀÎß¾ÎàÁÎß¼ËÝ¿ÌݾÌݽËß¾ËÝ¿ÌݼÍß½ËܺÊݺÉÛ»ÉÛºÉÛ¹ÊܹÊÝ·Éß·ÊÞ¹ÊÞ¸ËÞ¼ËݺÍÞÀÍßÀÎßÁÎàÁÎà»Îà»ËÞ½Ëà»ÉÝ»ËÛºËܶÊݵÊÚ³ÇÛ¹ÇÙ¶ÆÛ¸ÈضÈÛ»ÈØ¼ÌÞ½ÌÞ¿ÎÝÃÑßÄÍáÁÌÝÅÎÜÄÎßÇÑáÄÑ߯ÒâÇÑâÉÓâÇÑáÊÔáÇÒâÆÓãÅÐ߯ÑàÅÏàÂÎßÄÏßÃÎßÃÎßÅÑàÆÑâÆÒàÈÔáÌÓâËÔâÌÖâËÔáÉÓàÇÕâÊÒãÌÔãÉÔàÈÕâÇÒàÅÑàÇÑàÆÐÞÃÑáÆÑàÇÔäÉÔâÊÓàÌÖâÊÒâÊÓàÉÔâÉÔãÉÔâÇÒàËÔãÉÔâÉÓáÈÑâÇÐàÈÓàÈÒáÆÑâÊÒâÉÑßÈÒàËÕãÌÖãÎØåÐÛæÑÜçÑÜäÑÛåÎØäÌÖãÈÓâÅÑáÁÎÞÃÐáÀÎàÅÏâÄÑàÅÏâÂÑßÃÏáÅÏàÆÐáÅÒâÆÒâËÓàÇÕâËÕãÉÕâÈÒàÆÑßÉÒÞÆÑáÇÑáÆÑÞÃÑÝÀÎÞ½ÌÛÀÊÞÂËÝ»ËÞ¾ÍÞ¿ÌÞÃÎßÁÏáÆÐàÆÒâÄÐáÅÏàÃÏÞÃÑàÄÑàÅÏßÃÑàÄÏÝÀÍàÁÍß»ËÞ¾ÍÝ»ÌݽËÚ½ÍܺÌܾÌݸËÞ¶Éà»ÌÞºËÞ¹ÊàºÌÞ»ÌÞ½ÌÞ»ÌÞ¾ÎàºÌà¸ÊÞºÌÞÁÍßÄÒàÊÔâÍÙäÎÛäÎØåËØãËÕâËØãÌØãË×áÊÖåË×âÄÒä¼Íâ´ÉݳÉÛ´ÈݱÉÞ³ÉÛ¶Ìà³Ëß´Ëà±ÈÝ®ÆÚ®ÇܱÇܬÇÚ±ÈÝ®ÆÛ®ÇܬÆÛ®ÆÛ´ÇجÆÛ®ÇÙ®ÆÙ¯ÆÞ²ÉÞµÊÞÀÐßÈÖäÈÖä½Ðß¶ËÞµÇݵÅÙ¸ÉݾÏâÉÕãË×ãÇÕâÁÓâ·ÌßµÈÞºÊÞ¶Êß²ÉݯÇÝ©ÃÙ­ÆÚ®ÄØ«ÆÛ³ÆÛ±ÆØ¯ÇÝ«ÃݱÉݳÉÞ±È򱮯°ÃدÄÛ®ÄÛªÃÛ¬ÆÛ«ÆÚ©ÄØ­ÃÙ¬ÃÚ­ÃÛ­ÆÛ®ÆÛ¬ÆÝ®ÅÛ­ÆÚ®ÃÙ­ÄÛ­ÁØ«ÄÚ­ÅÚ¬ÄÛ«ÂÙªÄÛ­ÃÙ©ÃÙ®ÂÚ¯ÄØ¬ÀØ«ÁÚ®ÆÙ¬ÄÜ­ÄÛ®ÄÛ­ÃÙ³ÅÙ·ÉÛµÉÛ³ÈݳÉݳÈݹÊÝ»ÊÛ½ÉÛºÉÛÀËßÃÊÞÇÎßÁÊÝÁÎÞÁËÜÁÉÚÁËÚÁËÛÀÊØÁÈÝÁÌÞÃÎÞÅÎ߯ÏÞÇÏÝÆÎßÈÑßÇÌÞÈÏÝÇÏÞÈÎÝÇÑÞÅÎÚÃËÕºÅÇÁËÐÄÍÔ—µÎ¡ºÑ™¹Ñ›¸Òš´Ó™´Ñ”´ÍŸ¶Ð™´Ï’¶Ñš¸Ò›¶Ñ•´Ñ™¶Ï–±Ì–¶Î–´Ì˜²Í—µÎŽ³Ì•µÍ‘²Ì“µÓ’³Ï˜µÒ˜·Ò˜¶Ñ˜¶Ñš·ÏºÔš¸Ó—µÓ·Ò—³Ð¶ÎŸºÐš»Ò™½Ó ºÒžº×”·Ô”´Ò™¹Ó™½Ö”ºÖš½Õ ¿ÖŸ½×ž¼ÖŸºÕž·Ò›¹Ñ›¹Ó›»Ô¼Õž½Öœ»Ôž»Õ¡¼Ö ¾ÕŸ¼Õ¼Õ—ºÑ›½×š»Ó˜¹Ó»Ô˜»Ôš»Õ˜¹Õš¹Ó¡¼Ô¦ÀÕ³Æ×»ÇܽÉÞ¹ÈÚ¹ÇÛ²Ã׬Â×®ÂÛ¬ÂÖ­ÃÙªÀÖ¤½Ó¥¼Õ¬¾Ø¯ÂÛ¸ÇÛ³ÆÖ¶ÉÞºÉà»ÉÞ»Êà½ÉÝ»ËÝÀÌÞÁÍàÃÎÞÆÓàÆÒàÅÑâÃÑáÆÑàÆÓáÇÑáÉÒàËÖãËÖäËÕãÊÔáËÖäÊÕäËÖäÉÕãÈÔäÉÓâÇÒãÇÓäÇÓäÆÒâÆÓáÇÓâÊÔãÉÕäÈÓäËÓâÊÖâÈÔãÈÒâÆÓãÇÒâÈÓâÃÓã¬ÁÖ¬¼Ö®¿×±ÃÙ®ÄØ®ÂֳĨ¹ÆÙ½ÌÛ»ÉÛ»ÇØºÇÚ½ÉݾÌݾÌÛÆÏÝÆÑâÊÔãÌÖãËÕãÉÓâÈÔãÊÒâÉÓâÇÒâÉÑâÉÔâÊÕâÇÒáÊÖäËÖãÎÖãÍ×åÐÚåÑÚäÓÜæÓÜçÒÜçÑÜçÑÝéÑÜåÑÛåÏÖåÍÖãÐÙãÐÛãÎÜåÐÛçÐÚåÎÚäÏÜåÑÛåÓÛåÑÛæÎÛäÐÙäÐÙåÑÛæÐÖäÌÖâÈÑâÆÓàÅÒàÂÓã¿Ïá¸Êß³ÉÛ±ÈÚ²ÈÚ±ÇÚ¶ÇÛ·ÉÚ¹ÉÚºÈܽËÞÄÍßÂÎÞÇÑàÈÓâÊÖàÌÖãÍØãÎØåÎØåÏÚäÑÛçÎÛäÌÚåÒÛæÑÛäÏÛæÌØçÌØäÌ×äÌÖãÇÕâÆÓàÆÒâÄÒâÃÑáÅÓãÆÓáÉÓáÇÑàÈÑàÇÓâÈÔâÅÓáÆÓãÇÓãÃÒãÅÏàÈÒßÈÔâÈÔáÉÕâÊØãÉÖãÉÔãÉÔäÊÕãË×ãËÖãÎÙåÏÜåÏÚæÍÙçÍØæÍÕâÌÕãÌØäÇÕãÇÔàÇÓãÄÓâÆÑâÆÒàÆÏàÁÎÞÂÏßÂÏßÃÎàÁÎàÁÍàÁÍà½ÌÜ»ÌݶËܼËÚ¾ÍÝ¿ÍàºÌÝ»Ëá¸Êà»ÌÞ¹ÌܸÊÚ·ËݺËÞ¹ËÞµÊݸÇݺÉÜ·ÊÛ´ÈÝ·ÈÞ»ËݽËÞºËܼÊݶÈÛ·Èܹɨ·ÇÚ¶ÅÙ¸ÇܸÇà¶ÆÛ¶ÉݹÉܶÉÛ»ËÛ»ÌÛ¾ËÞÁÍßÁÏÞÃÎßÁÌáÁÌßÂÎßÅÑÝÄÑ߯ÑàÆÓáÆÒàÈÕâÈÓâÉÔãÉÔâÆÒàÇÐáÇÐàÄÐàÅÑáÅÑáÈÑâÇÑáÊÒâÉÓâÊÕâÌÕâÎØãÎÖãÉÖáÍÖâË×ãÌÕáÎÖâÌÓâÉÒâÇÓâÇÔãÇÑàËÐãÇÒàÉÑàÉÓâÉÕâÈÕàÊÖâËÕáÊÓàÌÖãËÕãÊÔãÉÓâÈÔáÈÒáÈÓâÈÓãÈÑáÅÐàÅÐâÄÑáÄÏáÆÏàÈÓâÌÕäÍØãÐÚæÑÛæÒÛæÑÝçÏÛçÎØåËÓãÆÑâÁÎà¾Ïá¿ÑàÃÑâÄÏâÂÎàÅÎáÂÐÞÅÒâÇÑâÇÒãÊÓâÌÓãÌÓãÌÕåÎÖåÎÖãÎÖäÉÕàÇÓàÇÓâÄÐàÄÐàÂÌàÁÎàÁÌÞ½ËÞ¿Ìà¼ËÞ¿ÌàÁÍßÄÏàÆÎàÅÑáÈÐáÈÐáÆÑßÄÐßÇÒàÅÑÞÆÑàÇÑÞÁÐàÂÐßÁÌÞÀËß½Íá¹ÍàºËÚºÌÞ»ÌÝ»ËÜºÈØ²ÇܶÉß·Ëß»ÌÞ»Ïà¸ÊÞ»ÊÞ»ÌÞºËß¼ÌÞ¸Êß¶ÉÞ·Ìß¾ÏàÅÓãË×äÌØåÏØãÊØãÉ×äÈÖãÅÓâÄÔãÆÓãÀÑâ¸ÈÞ³ÉÞ±ÇÛ®Éß¶ÉÝ«ÇÝ­ÇÚ¯ÆÝ´ÇÛ³ÈܱÈÜ­ÅÛ®Æà­ÇÛ¯ÇÛ°ÇÛ­ÆÜ®Æ×°ÆÛ°ÈÛ®ÇÛ¬Æß¬ÆÝ¬ÄÛ­ÃÙ¯ÆÜ±ÇÛ´ÈݸÊß°Éß­ÆÜ®ÇÛ­ÆÛ¯ÆÚ®ÆÜ¹ÊÞºËà³ÊÞ°ÆÝ«ÆÝ±ÇÛ±ÄÚ°ÆÜ®ÆÛ¯ÇÛ¬ÆÛ§ÄÙ«ÅÛ¯ÇÝ­ÅÛ¯ÆÛ°ÆÛ±ÇÚ­ÄÛ®ÅܯÇÞ­ÅÝ®ÅÛ®ÃØªÁÙ¬ÄÛ¯ÆÛ¯ÅÛ­ÆÜ«ÃÜ­ÄÛ«ÄØ¥ÃتÃÙ«ÃÙªÅÛ®ÅÜ®ÅܧÂÛ¨ÂÙ«ÃÛ¬ÅÙ«ÁÚ®ÄÛ¯ÅÚ­ÁÙ«ÃÛ¬ÅÝ©ÂÛ£¿×©ÁÙªÂÛªÃÚ«ÅÙ­ÃØ¬ÇÜ­ÃÛ°ÂÚ°ÄÛ¯ÂØ®ÁÛ±ÇÛ±ÇܲÉݸÌÞ¸ÊݼÌÞÅÍàÅÏÝÇÏ߯ÑßÄÐÞÃÍÞÆÍÞÃÎàÃÍÝÃËÛÃÌÝÃÏÝÆÏÞÁÍÞÆÍÞÆÎàÈÎàÊÒßËÐßËÕßËÕâÍÔâÌÔáËÕßÊÍÛ¼ÅÉÂÌÐÄÏÓ˜¶ÌŸ¹Ì ´Î›·Ï›´Ì•±Î›·Í–¶Î“³Î“¶Î”³Ï¸Ò ¶Ñ™²Î–²Î˜¶Ï—¶Îš¶Î•´Î–µÎ“³Î—´Ð›´ÓŽ²Ì˜µÎž¶Íœ´ÍœµÎ™¶Ñ—´Ð›µÒ ·ÑžµÎšµÍš¶Ñ·Ô›¶Ò¹ÑŸ¼Ò˜·Ô–¸Ô–·Ò–¹Ó–»Ó”·ÓºÕ·ÒŸ»Òœ»Ô—ºÕœºÓ•·Ñ›»ÓœºÑ½Ô¡¼Õ›¶ÒºÔŸ¸Õ »ÑŸ»Ôž½Ó¡¼ÔœºÓœ¼ÖŸ»Ò¡¾Ö¼Õ–¹Ó–¸Ó›ºÑž»Ò£¿Ô²ÆÛ¸ÇÛºÆÙ·ÈÙ²ÆÜ¯ÃÚ¨ÀÙ¥½×¤¿Ø¨ÂÚª¿Ú©¿Ø«ÀÕ®Â×°ÄÙ±Ã×¶ÄØ¹ÇÝ»ÇÜ¶ÇØ¾ÌÛ½ËÝÀÌÝÂÎß¿ÎÞÁÎâÁÎ߯ÐáÆÑÞÃÑàÆÒâÁÐàÅÐàÆÐâÉÓãÉÖáÊÕâËÖãÉÔâÈÓáÈÓãÇÑâÆÒãÆÑáÇÒáÇÒãÆÓßÂÑáÂÐáÃÐãÆÑâÇÓãÆÑßÉÓâÈÔßÉÕâÉÓåÉÓãÇÓãÅÓà½Íß«¿Ó¤¸Ñª½ÓªÁÖ¯Á×±ÃÙ¹ÆØ¹ÆÚ»ÉÝ»ÈܽÊÚ¾ËÛÁÌáÄÌÞÇÐâÈÒãÊÔãËÖãÌ×åÌÖäËØäÈÖãÊÔâÊÖãÈÔâËÖâÊÖäÉÕâÊÖãÌÖäÍØãÎÕáÏ×äÏØãÐÚåÑÛæÒÜäÒÜåÓÝæÑÜæÒÛæÑÜæÒÙåÎØãÐÜåÑÝåÒÝçÑÝçÓÚçÐØãÍØãÌÛåÐÜåÏÛåÏØäÐÙãÎÙâÐÚæÌÖåËÕãÆÒâÆÓàÄÑâÂÐá¹Ïà²ÈݰÇܱÇÙ¯ÇÜ·ÊÜ·ÉÚ»ÉÙ¼ËÛ½ÍÝÂÎàÃÐáÇÐàÈÒáÇÒßÊÔßÎØäÎÜåÎÛæÐÙçÑÛçÒÛæÑÛæÑÜåÑÛåÎÜäÐÛåÎÛæÎØæÏØåÌÕãËÓâËÔâÆÒâÃÑ߯ÑâÄÑáÇÒáÇÓàÈÑÞÇÑàÅÐàÄÓâÇÕáÇÕãÆÑáÇÒâÈÐÞÉÔâÇÔáÊÖâÊÖãÌØãË×äÌÖåÊÕâÊÔãÌÕãÎØåÏØåÑÚåÎÙåÑÛæÑÚåÌÖáÉÕãÇÓãÆÓãÃÐáÁÏàÃÑàÄÏàÃÏß¾Îß¼ÌߺÌÞÁÏݽÍÛ¿ÏàÁÎÞÀÍà½ËÝ¿ÊØ»ËÝ»ÊÚ»ÉܺÇÞ½ËÞ¿ÌݼËݹÊÛºÊÛºÉÚºËݽÍߺËÞºÌÞ¸ÊÞ´ÅÚ´ÆÜ°ÅÙ´ÆØ¶ÆÚ»ÇÚºÆÛ¹ÇݸÉÞ¹É򵀯»ÇֵĨ¶ÆØ³ÆÙ¸ÉÛ»ÊܽËà»ÇØ»ÈÛ¾ËÝÁÌÜÁÎàÁÌÝÃËàÃÍßÅÍàÁÎÞÅÎßÄÐàÆÑ߯ÑàÈÓáÈÒáÉÒâÌÔåÈÕâÇÔáÇÓâÈÑáÇÑ߯ÑàÇÑâÈÒàÊÓâÈÔâÉÖáÌ×âÏÖâÎØãÌ×äÎØãÑÙãÏÕãÎØãÌÖàÌÓàÊÒàÉÒàÊÓàÇÓßÇÑâÉÕâÃÒáÇÓâÊÒâËÖâÍÕãÎÖâËÖâÍÙåÌÖãËÕãËÕáÉÓàÌÕáÇÐàÆÑßÇÏßÇÐßÅÏÞÃÏÞÃÎÞÆÍßÉÓâËÔãÐØäÏØäÎÙæÎØæÐÚåÎÙåÌ×äÉÕãÇÒàÁÎàÂÎàÄÏãÄÑàÆÐáÅÑàÅÑàÇÒàÈÓãÉÒâÍ×äË×åÍÖãÍÖãÍØãÏØäÌØáÍÖãÎÖâÌÓàÉÔàÅÑáÄÎàÂÎÝÂÍÞÁÌÞ½ÊÝÂÌÞÂÌÙÁÎÜÃÍÝÄÏ߯ÏâÇÑáÈÒàÉÓßÈÑàÈÑÞÆÑÞÆÑàÅÏàÅÑßÃÑàÃÎÞÀÍÞ¿ÌÝ¿ÎݼÌܽËÞ¼Êß¼ËݸËܶÇÙ¹ÉܹÌÞ¶ÈÛ¸Ëà·ÌÞ¹ÊÞ»ÌݽÌÞ¾Ïà¸ÍÞ·ËݸÊÝ·ÉÝ»ÉݽÎßÉ×åÉ×ãÆÔâÀÑà¿Ñâ¼Ïá»Îß·ÍÞ¹Ìà±ÈÚ±ÇÜ®ÆÜ°ÇÛ´ÊÝ®ÇÝ®ÇÛ®ÆÚ±ÆÜ¯ÇÛ®ÇÝ±ÇØ±ÉÞªÆÞ¯Çß³ÈÛ­ÆÛ±ÇÙ®ÄØ°ÆÙ°ÆÛ®ÆÙ®ÆÙ®ÄÜ®ÅÚ¯ÇÛ±ÆÜ±ÉÜ®ÇÙ¯ÆÚ®ÆÜ®ÆÜ¯ÇÜ®ÃØ¯ÆÛ±ÆÛªÄÛ¬ÇÛ­ÆÙ¯ÆÜ®ÅݯÄÚ­Å×°ÆÜ®Æ×­ÅÚ¬ÅÙ®ÅÚ¯ÆÙªÆÛ¬ÆØ¬Ä󨀯¯ÄÙ®ÅÚ®ÃÙ­ÇÜ®ÆÝ©ÄÜ­ÁÚ§¿Ø©ÁتÄÙ¬ÃÙªÁ×®ÆÛ®ÃÜ®ÅÜ®ÂÚ«ÄÛ¯ÃÛ®ÅÙ«ÃÚ¬ÃÛªÅÜ«ÂÚ«ÀÚ©ÁÙ¬ÀتÁÙ­ÃÙªÀÙ¬ÄÛªÆÝ©ÃݬÂÚ­Á׬ÁدÆÚ­Â×¬ÂØ±ÃÙ©ÁØ©ÀÛ®ÂÙ°ÃØ­ÄÛ®ÃÙ¯ÅØ¯ÄرÆÝ°ÅÛ´ÈÞ¼ÌÞÅÎÞÃÏÜÆÎßÉÑáÆÑ߯Ñ߯ÍÝÆÎÜÆÎÚÇÎÞÆÏÞÈÐßÈÐÞÊÑÞÈÓàËÓáËÔàÍÒáÌÕàÎÖâÏ×äÐØãÐ×áÎÑÝ¿ÆÌÃÌÏÅÐÔš¶Î”µÎ›³Í–¶Ì˜¶Ð“¶Ï—¸Ò”·Ñœ·Ñ›¸ÕšµÎ—µÏ† Ã™³Í“±Ì›¶Ïš¶Ïš·Ïš²Ì—¶ÍŽ¶Ì•¶Ñ˜¶Ò•¸Ñš·ÏœµÌ¶Ìœ´Ì™´Í”¶ÐžºÑ›·Ñž¸Ñ•´Ïœ·Ò›ºÓ—·ÑžºÒœ»Òš¸ÒŸ¸Ò›ºÓž»Ò–ºÒšºÒ•¹Ôš»Ó˜ºÐ™ºÑœ»Ò•»Ò˜»Ò—¹ÓšºÓ’·Ò•ºÓ½Ô”·Ó›¼Ô ½Ô˜»Öœ¹Ïœ¼Ö¡½Ö—¸Ô»Ò›½Ô¡½ÔŸ½Öž¼Õ¼Õ—»ÔŸ¼Õ§ÀتÄÙ­ÅØ¯ÅÖ®ÅÚ¦¿Ö¡½Ó¢ÀÙ¼Ô£½Õ¦¿×¥ÂاÂÙ®ÄÚ¬ÃÚ®ÆÛ±ÅضÆÝ¶ÇܼÊÛ¼ÌݾÎܽÌݽÌÝ¾ËØ½ÌÜÁÌÛÂÐÝÂÐàÂÑàÅÒãÅÑäÄÑàÈÒáÆÓâÆÓâÇÔàÈÔàÇÓáÅÓâÅÑáÅÒàÁÑÞÁÏÞ¿ÎÞÁÐß¿ÑàÂÐàÃÐãÄÐàÆÑâÇÓâÉÖäËÖäÊÖåÉÔãÇÖãÇÔäÆÑâ½Îà¶ÈܪÃÙ¥½Ò¨½Ô¬ÂÖ¶Æ×´ÆØ¸ÇØ»ÉÙ½ËÛ½ËÝÀËÞÄÎàÇÑàÇÒãÊÖâÊÖâÎÙåÉÕãÐÙãÍÖãÌ×åÊÕãÉÕâÌ×åÉÕáÍ×äËÖâÉØâË×âËØäËÙãÎÙäÎÚåÏÚåÐÜåÓÝåÑÜåÓÛäÒÝæÓÝçÑÝçÓÝåÑÜåÒÛåÓÞåÔÝæÑÞæÑÞçÏÝçÍ򾃯ãÉÖâÊÖäÈÖäÊ×ãË×ãÌÙåÌ×äÌÔâÆÓâÅÑàÁÑàÀÑà»ÍÞ¶ÊݳÉÜ´ÊÛ¯Æ×¬ÅÙ³ÈÙºÊݽÌß¾ÌÝ¿ÎàÃÐ߯ÑáÆÒãÆÓâÈÔâÉÖãÍ×äÎÛåÑÛæÑÛæÓÝçÑÝåÐÜåÑÛãÐÛæÌÛãÌÛãÏÚåÎÚäÈÚãÇÔâÆÒãÆÓãÆÓàÆÓáÅÑàÅÒãÆÕäÇÔãÈÕâÅÒàÆÒáÇÒáÇÔàÇÔâÆÑáÇÓáÉÓàÇÕáÊÕâÉÕâËÙâÍÚâÌØâÎ×ãÌÕäÉÖäÌÖäÌÙåÏÚãÏÜæÎÛæÑÜåÌÚåÇÔäÄÓáÁÑâÃÏàÀÎÝÁÏßÂÏàÁÏÞÁÎß¾Îà»ËÞ¼ÌÝ¿ÏÛºÌà½ÍßÀÍß¿Íß¶ËÝ·ÊÜ´ÉÛ¶ÈÙ¶ÉܹËÝ»ËÛºËܹÉÜ·ÉܶÊܹÍÝ¿Ìß¾ÎߺÌݹÇÙ¶ÇÛ·ÅØ¶ÆÛ²ÆÚ²Å×µÇÛ¸ÉÛ¸ÉÞ³ÉÞ·ÊݶÉÛ·ÉÛ¶Ç×¶ÇÛ¹ÈÜ·ÆØ¶ÇÚ»ÊݺÈÛ½ÈÙ½ÊØ½ÉÝ¿ËÝ»ÍÞÀÎÝ¿ÌÜÀÌÞÀÎÞ¿ÎàÂÏàÁÐÞÃÐßÅÐàÇÔâÉÕäÈÖâÉÓâÉÕâÉÖáÅÒâÅÑàÆÑßÇÑÞÇÐàÆÒáÉÓáËÖãÌ×ãÍØâÑ×âÎØãÍØãÏÚãÎÛãÏÛâÍÚãÎÙåÉÓãÌÔâËÖâÉÓàÉÓâÊÖãÉÓâÉÓáÅÓàÈÔâÈÓâËÕáÉÖàËÖâÎÙåÍØåÊÖäÊÖãÊÔáÉÕâÅÑàÆÎßÃÎàÅÐáÅÑßÅÐàÁÎßÃÎßÇÑßËÓàÌ×âËÖâÌØáÎÚäÍÛæÌÚåÌØâÈÔßÃÐÞÃÑßÁÑßÃÑàÁÓßÅÓãÇÓáÉÕáÉÕãÎÖâÎØãÎÙåËÙãÎÙåÌØæÎÙäÐÙáÍØãÎØãÍØâË×àÉÕâÅÔãÅÐâÅÎÝÁÌÞ¿ÌÜÀËÜÂÏÞÂÎàÃÎÞÃÑßÇÒàÉÒáÊÓàËÕàË×âËÖáÌÕâÊÖãÉÔâÇÑÞÅÑàÁÏÞ¾ÌÞ»ÍÞ¿ÍݾÑà½ÌݽÎß·ËÜ»ËÝ»ËÞ´ÇÛ·ÉܵÈÞ¶ËݶËÞ¹ÉÛºÌÝ·ÌÝ»ËÝ»ÌÝ»ÌܶÉÛ¹ËݹÌÞ»ÌÝ»Íß¾Ñâ»Íß¶ËÞ³ÉܰÉܵÊݲËß±ÈݱÈÝ­ÇÚ±ÇÜ®ÇÝ®ÇÜ­ÈÛ­ÉÜ®ÈÝ­ÇÛ­ÇÛ¬ÆÚ­ÇÛ®ÉÝ®ÈÝ®ÇݰÈÜ®ÆÚ¯ÇÚ¨ÃÚªÅÙªÅÙ¯ÆÛ®ÆÛ´ÉÜ®ÈÜ­ÇܯÇÛ®ÆÜµÇÛ¬ÆÚ«ÆÙªÄÛ®ÆÚ°ÆÛ¬ÅÙ¯ÆØªÄÛªÇÚ«ÆÚ¬ÆÚ­ÆÜ®ÆÛ«ÅÚ­Â׬ÃÙ©ÅÚ­ÆÙ®ÅÛ­ÅÚ­ÆÜ®ÇÛ¯ÃÛ­ÄØ«ÃØ­ÄÙ¬ÃÙ®ÅÚ¯ÅÙ­ÆÝ­ÄÛ¯Ç󻀯¬ÄØªÅØªÄØ«ÄÚ«ÃÚ®ÆÛ±ÆÛ®ÄÛ«ÅØ«ÅجÆÚªÄ׬ÂÙªÂÙ­ÄÚ­ÂÙªÃÙªÂ×«ÂØ¨Á×«ÂØ©ÂØ®ÂÙ¬ÁתÁØ«ÃÙªÃÚ«ÃØ¬ÂØ«Â׫ÁÖ©ÂÙ­ÁÚ­ÃÚ­ÃØ«ÃØ®ÁدÆÛ®ÆÚ®ÇÛ±ÃÙ®ÇݱÇÞ²ÇÛµÉÛ½ÌÝÀÎÞÁÎÞÃÎÞÆÏÝÉÐÞÉÑßÌÓàËÓàËÕÞËÓàÌÕàÌÕàÎÕâÏÖãËÕâÍÖãÎØãÍÙäÎÚåÎØáËÐÛ¿ÆÉÄÌÐÆÏÔš³Ë›µÍ¡¶Í›µÏ–´Î—³Ì•¶Îœ¹Ñœ·Î›¶Ï˜³Ñ“²Ì™³Ï•³Î˜±Ë˜³Ë•³Îž¶Î—¶ÏŽ®Ë˜µÎ˜²ÌžµÍ›³Î›µÌœ¶ÍŸ³Ë¢¶Ê—³Ð—´Î›µÏœ´Ð›¶Î ¹Ðž¶Ðž¹Ò™¶ÏµÐš·Ïœ¶Ð™¶Ñœ·ÒŸ¸ÑºÑœºÓž¸Ó›¸Ñž»Ñž»ÐšºÑ›ºÐ·Ï˜¸Ñ¹Ô¸Ó–·Ð»Ñ¶ÑžºÐ ¼ÒŸ»Ô¡¹Ñ ¹Ò™»Ñž¸Óš·Ðž»Óš»Ô•ºÔž¼Ôœ¹ÖœºÔš¹ÒºÑ ¼ÕŸ»Õ »Ô½ÕŸ½Õ›½ÖºÓ ½Ó¢»Ò¥½Ô©¾Ô¥½Õ¤ÁØ©ÃÚªÂÚ®ÃׯÆÙ³ÇÛ»ÉÚ½ËÛ¿ÌݽÊݺÉÜ»ËÞ»ÉÞ½ÌݾËÞÀÌÝÁÏßÃÏÝÃÏàÃÐáÃÑâÄÐÞÁÑàÁÑÝÂÎÞÁÎßÀÎÞÀÍà¾ÍÜ»ÌݹÉܼÌÝ»ÉÝ·ÊܼÍݽÍßÄÑâÇÓãÉÔãÉÕâÊÕãÉÕàÁÐá»ÍߺÎâ¶ÊÞ«ÄݨÄÛ¨ÃØ¨Áئ½Ö¨ÁםĨ¶ÆÛ¼ÉÞ»ÉÝ¿ÌÛÁÍÜÆÑÝÅÑàÆÑàÉÓâËÖäÌÖãÎØâÍÚâÌÙãÊÕäÉÔãÊÕãÍÖãË×åÎØåÌ×äÌÕáÊ×âÊØáÎÙãÏÙåÐÙãÒÚäÒÛæÐÛäÑÛãÐÚäÒÛäÒÛåÐÚäÐÚäÒÛæÓÛæÔÜäÓÝåÓÝåÑÛåÌÙåÌÖãÇÓãÁÑâ¾ÏàÁÏÞÁÑãÃÓàÇÖáÈÓàÈÓâÄÑâÃÑàÃÎàÁÏà¹ÌݶÊÝ­ÇÛ°ÆÙ²ÆÚ¯ÅÙ²ÅÙ³ÇØ¼ÊܾÌÛÃÎÞÃÏÞÆÑÞÇÑàÈÓâÈÔãËÕßÌÔâÌÖãÍØäÍÙãÏÚäÑÛåÐÛçÑÜæÑÜåÎ×åÉÖàÉÕâÇÔâÃÑâÃÑßÄÐÞÇÑáÅÒàÆÒàÆÏàÄÑàÄÎàÇÕâÈÓâÈÒâÄÑáÅÎàÅÐàÅÑÛÆÑßÃÐàÅÑáÇÑàÇÒßÈÕâÍÖâËÖäÍ×ãÌ×àÎ×âÌ×ãÍÖäÍ×ãÏÛäÐÚäÐÛåÎØäÍØãÉÖâÅÑâÀÎÞ½ÌݺÌÛ¸ËÝ»ÉܼËÞ¼ÊܺËÛ½Ìß¿ËÜ»ËÜºÊØ¸ËÛ¹ÉÛ·ÉÛ´ËÛ±ÈØ´ÈÙ²ÇÛ±ÆÛµÇÝ·ÉÛ´ÆÛ±ÇÛ·ÊݵÈܶÊÜ»ÌݹËß¶ËÝ»ËݶÇÙ³ÄØ¯ÄضÆÚ´ÆÙ±ÄظÆÙ¶Å󱮯¸ÇÙ¸ÆØ·ÈÛ´ÇØºÇÛ¹ÇÜÀËÛ½ÊÛ¸ÆÛ»ÊÛ¹ÈܺÉݺÈÛ½ÇÚ¸ÉݺÈÛ½ÉÛºÈÜºÈØºÉÛÀÌÝÁÌÜÀÍÜÂÐÞÆÒàÆÐàÅÑáÆÐáÆÑáÇÒßÈÑàÆÑáÇÑàÆÒàÆÐàÆÐáÇÒáËÔßË×âË×ãÏÚåÏÛãÐÚæÏØâÎ×áÑÚâÎØãÍØãÍÛäÌØâËÕâÌÕâËÑàÇÓâËÑàËÓßÊÓàÉÖâËÖâÉÒàËÓáÍÖâÌØâËØáÌ×âËÖâËÔâÊÕâËÓàÆÏàÆÐ߯ÏÝÈÐßÄÎÝÃÏßÃÎÝÅÏÞÇÍßÇÐßÈÒáÄÑßÈÒßÉÔâÊÖäÊ×âËÓáÉÑàÇÐßÃÏàÃÏÞÇÑàÄÑáÇÑáËÕãÎ×ãÍØãÍØâÍ×âÌ×ãÌØãÍ×âÒØäÑÙåÑÚåÍÖàÌÖàÌÓáÌÕâÉÒàÈÓàÄÑßÄÏßÄÍàÄÌÝÂÌÜÁÍÝÄÎÞÄÏÞÆÏÞÈÒâËÓâËÔáÌÕáÌÔãËÕàÌÖáÊÔáÉÓàÆÐßÃÎß¾ÊÝ¿ÌܼËÛ½ÉØºÉÖ»ÌÞ»ÌÛ¼ÌÞ»Èß¶ÆÙµÈÛ·ÉÙ¶ÈÙ¹ËݸËÞºÍà»ÊÞ»ÈÜÀËݽÊܸÌÞºÊÞ·ÉÞ¶ÈܺÊݸÉÞ´ÈÞ³ÇÚ®ÇÚ°ÈØ®ÆÚ®ÇÛ±ÇܱÇܰÆÞ­ÃÙ±ÈÚ±ÉÛ¯ÇÛ±ÇÛ®ÈÛ®ÆÛ°ÇݰÉݱÇÛ®ÇÙ°ÆÙªÁ׫ÄÚ¬ÆÛ¯ÆÚ°ÇÛ«ÆØ®ÅÙ®ÆØ­ÄجÃÙ®ÅÙ­ÄØ¬ÆÙ®ÆÚ®ÆÙ­ÆØªÂÖ¦ÃØ¬ÃÙ­ÅÙ«ÂØ«ÄÙ¯ÅØ®ÄÖ¬ÄÚ¬ÃØ¦ÀÖ¬ÂÙªÃÙ­Ä×®ÄÙ®ÆÝ©ÂÙ¬ÃÙ¬ÃØ¨ÁØ­ÂØ¬ÃÛªÃØªÂØ­Ä򨀯®ÃשÁدÅÙ¦ÀØ«ÅÛªÀÖªÃØªÁÖªÃתÃÙ¤¿×ªÁשÂÙªÀÖªÁÙ¬ÃÚ­ÅÛ°ÅÙª¿Ö¬ÂשÀÖ­ÁשÁجÁÚ¯ÃÙ§¾Õ¬ÁÕ¤¿Õ¤½Õ®ÀÖ§¿ØªÀØ­ÁÙªÁ×®ÂÖ­ÂØªÀÕ®Á×­Â׬ÀØ«ÃÙ®ÃÖ±ÃÙ®ÂשÀÕ©ÁدÄÙ«Â×®ÂÖ¯ÆÜ¯ÄÛ±ÆÛµÇÛ±ÄÙµÇÚ¾ÉÛÄÎÞÇÓÞËÓÞÎÕáÎØáÌÖâËÒàÉÑßËÑßËÓâÎÕãÌÕâÌÖãÍÕàÌ×âËÔÞÌÒÞÇÎØ¾ÅÈÁÍÐÅÏÔš´Îš¶Ñ˜²Ð™¶Ï™¶Ì•²Ì“µÎš¶Ð™³Ï¡´Ðš¶Ñ ¶Ï›²Ì˜µÌ—³Ì‘²Ë–´Ï–¶ÐŽµÏ•µÐ˜³Ì•·Ñ˜¶Î¶Ï—³Ñ²Î–±Í–²Îœ´ÏŸ¶Ð–³ÎšµÑž¶Ð¡ºÑžºÓžºÓ·Ó¸Ò¢¼Ð›ºÒ¹Ó›¶ÑŸ·Ðž»ÑžºÔ»Óž½Ðž¹Òš¹Ð™¸Ñ•¶Ñš¸Òœ¹ÓŸ¹Ò¢½Õœ¸Ñž»ÑŸºÑ ¸Ñ¡½Ð©¼Ó¥ÀÓ¤¼Öœ¼Õœ¹Ó »Ò™½Õ˜¹Ó›»Õ˜»Ó’¸Õš»Õ›»×š¹Ò›»Óœ¼ÔŸ¼ÔŸ»ÕŸÀÕœ¼Õ›½× ½×›ºÔ½Óž¿Öž½Ô ¾×¡½Ú›»Ø¦¿ØªÃ󱮯½ËÝÄÏÞ¾ÌܽÌÝ»ËܸÇݸÈݺÉÛ½ÊÜ»ÍÜ»ÌÞ»ÌÞ¾ÍßÀÎá½ÌݽÌÞÀÌÞ¾ÌÞ¹ÊÝ»ËÞµÉÛ±ÇܲÆÛ®ÆÛ­ÅÛ¬ÄÚ©ÃØ§ÄÛ©ÄÚ¯ÆÙ»ÌàÄÒãÄÓäÅÔåÄÒá»Íß°ÇÛ¦Ä󬀯¤ÂÚ£ÃÙ¥ÄÛ¡ÃÛ¢ÁÖžÁÖ¤ÁØ­ÆÙ±ÄÙ»ËÞ¼ËÞÃÏàÇÓàÈÓàÇÓâÇÖãË×ãË×ãÌÙåËÖåÍÚæÌÛãÉÖãÉÔäËÖäËØåËÚäÌÙäË×åÊÕåËÕâÌØâÍÛäÌÙåÍÙãÑÚæÑÛäÑÛæÑÝæÒÝæÑÚåÑÜåÎÛãÏÛåÐÛæÒÜçÓÝçÓÝæÒÞãÓÜæÎÛåÉÖä½Íà¸ÉܵÊà½ÍÞÂÑàÁÑâÃÐáÄÑâÃÒâÀÍà¿Ïâ½ÍÞ¸Ìà·ÌݳÉÜ®ÆÛ¯ÇÚ¯ÇÛ°ÇØ¯ÆÙµÈÛ¼ÎÞÀÏÞÅÑâÆÑáÇÓâÉÔáÈÕãÊÕãÌÖâË×âÌ×äÏÙåÌØæÐÙæÑÛæÏÜçÎÚåÐÛåÌÛåÌÖâÉÒâÄÓâÃÒâÄÒâÆÑãÃÐâÅÓáÄÓãÂÑàÅÒà¿ÐßÃÓâÅÒâÅÐÞÁÐàÃÑâÅÑâÄÑàÁÎßÁÐáÃÑâÅÑáÇÔâÉÖâËØãÍÙãÌÙäÌÖäËÖâËÙåËÙäÏÛåÏÛäÏÜæÍÛâËÔãÉÕãÄÒàÃÐâºËÝ»ÌÞ½ÌݸËÛ»ËÚ½ÊݼËÛ½ÌÛ¿Ëß¿Íà½ÍÞºÉÞ»ÉÚ·ÉܵÇÛ®ÆÜ³ÇÝ®ÆØ«ÆØ­Å׬ÆÛ±ÇÚ²ÇÛ«ÄÝ­ÅܲÆÙ´ÊݳÉÜ´ÊݳÈݲÅÛ°ÆÜ«ÂÙ¯ÃÙ±ÃØ°ÅØ´ÇÙ³ÈܱÉܶËÞ»ÉÛ¹ÇÛ¶ÉØ¶ÉÛ¸ÉÙ¼ËÛÀËݽËßÁÎÞ¿ËݽËÛ¹ÉÛ½ÉÛ¸ËݶÉÞ¶ÉÝ»ÊܼÇÙ·ÇÙ·ÉØ¹Ì×¼ËÛ½ÌÜÁÎßÃÐàÄÒáÄÏàÇÑàÆÑáÄÑàÇÒáÆÑáÄÑàÅÎàÇÑâÉÑáÊÔâÉÖáÌ×ãÎØãÎÚäÑÙåÏÚåÎÙãÎÛâÎÚãÏÚãÍÚãÎ×ãËÓãÉÓâÆÕâÉÕãÊÓßÊÓáËÓãËÔâÈÑÞÉÔâÈÓâÈÖâÌÖàËÖàÍØàËÖâËÔâËÕáÊÓâÉÕáÆÓâÆÑáÅÐàÆÐÞÆÐßÄÎÞÂÎßÃÏßÄÐáÄÏâÅÏàÆÑßÉÓâÇÑâÇÓßÉÓãÆÓãÆÓåÉÐáÄÑáÆÐáÇÑàÆÔáÉÕâÎØãËØäÌØåÎØãÎØâÍØâÎØåÒÚãÑÛäÐÛåÏÛåÏØåÍ×âÏØàÈÒÞÊÕáÅÒßÄÐáÄÐàÅÐâÃÏàÆÐÞÅÐÞÅÏÞÇÔàÅÑáÆÓãÉÓâÊÖâÍÖâÏ×ãÍ×áËØâÊÕáÉÓâÇÑÞÄÏàÀÌà»ÌÞ¼ÌÛ¹ËÛ¹ÌÝ»Ëß»Íß¼ÍݹËÞ¹ÉÞ¹ÉܶÊÛ·ÊÚ¶ËݸÊÝ·ÉݸÈÞ»ÊݽÌݼËÝ»ËܽËݵÈݶÉܹÉÙµÉݯÇÛ°ÇÞ³ÈܯÇÛ®ÇÛ±ÉÛ®ÅÙ¬ÆÚ®ÈÛ®ÆÚ°ÇÝ®ÆÜ­ÆÙ­ÅÛªÅÛªÇÛ«ÆÝ±ÈÝ®ÆÛ¯ÆÛ®ÆØ­ÆÙ«ÅÚ®ÇÛ­ÅÚ°ÈܱÇÛªÆ×°ÇÚ¬ÇØ¬ÃÙ­ÆÜ­ÆÙ¬ÅÛ¬ÆÜ­ÆÛ²ÆÛ°ÆÚ«ÅجÄÛªÄÚ¬ÅÛ«ÅÚªÃÙ°ÆÙ«ÆÚ®ÆÛ«ÄÚ«ÃÛ«ÃÜ©ÄÙ©ÄÚ«ÄÛ­ÆÛ¯ÇÜ®ÆÙ«ÃÙ«ÃÖ©Á×§ÃÚªÃØ®ÄÙ¨À׬ÄÙªÄØ§ÁÙ¬ÃÛ¨ÃתÀتÃÙ¨ÃÚªÄÙ­ÆÙ©ÂØ©ÁÚ«ÂØ«Â×®ÃØªÃØ®ÆÛ¥ÂÙ¨ÂØ«ÁÙ«ÃÙªÁÙ«ÂÚ«ÁØ­ÄØ«Â×¥ÁجÃÙªÁتÂÚ¥¾×¨Á׫ÁتÁÙ¬ÄÙ¬ÃÚ­ÄØ­ÃÚ®ÃØ«ÁתÃÙ«Á×­ÃÛ±ÆÛ¬ÆÛ®ÅدÄÛ«ÁØ®ÅØ®ÅÛ°ÆÚ±ÅÛ±ÄÚ´ÈÛ±ÆÜ³ÇݵÉÛÀÎÞÂÎÞÇÑàÊ×ãÈÕáÃÐàÅÍÞÂÎÞÄÐáÆÑáÈÒàÅÑàÃÎßÃÍÝÄÐÞÄÏÝÀÊÙ¼ÈËÂÌÐÅÎÓ›³Ë ¶ÌŸ¶Ï£¸Íœ¶Ìš¶Î›³Íœ³Ìš²Íž±Ì¤¶Ð ´Î›´Ïœ³Î¡³Íš´Ë™¸Ð™µÌš·Ð—²Êœ¶Í–²Î™¶Ì³Íœ´Íœ³Í²ËšµÍž¶Í¥¶Î ¸ÑœµÏŸ¶Ð¡¹Ñ¡´Ñ¹Ñ£¶Ò£¶Ï ·Ð ¸Ñ ºÎ£¹Ð¡·Ïž·Ð§»ÒŸ±Ð¤»Ó·Ð£»Ñ£¹Î£·Ò ¶Ñ¢¶Ñ¤ºÓ¨»Õ¥·Ñ¦¹Ò£»Ñ£ºÓª¼Ñ¦»Ó©½Õ¨¿Ö¤¼Ò£¹Ó¤½Ó¤¾Öœ»Ó›ºÒ›¸Óš¹Ó›¹Òš¸Ð»Ô »Ñ »Ô»ÓºÔŸ¼Ò ¾Õ »Õ¢½Ø›»Øž¼Ôœ»Ôž½Õ›½× ½Õ ½Öž¼Ó¤¾Ó±ÃسÇÝ»ÌÝÂÍßÁÍÞºÉÜ®ÆÛ±ÇݰÃÙ°ÆÝµÇÛ²ÇÚ³ÉݺÉݺÊÞºÊÞ¶ÉÛ®ÇݯÇÚ¯ÆÚ®ÅÛ«ÅÚ ¿Ú£¿×£¼×¡¾Øœ¾Ø£ÁÚ ½ØŸ½Ö¢¿×¨ÃÛ¬ÆÝ®ÇÞ²Éß°ÈݧÄÙ¢¿ØŸ½Ø¡ÁÙ˜¼Õ™»×¡¾×¢ÀÔ¤ÀØ ÁØÁרÁرÅÛ¹ÇÛ½ÌÞÅÑâÉÓâÉÓáËÓãËÖäÎÚåÍØæÌÖæÍÖåË×âÉÖâÅÒãÆÓãÊÖâÈÔâÊÖâËÕãÉÔãÉÔáËØãÎØåÏÚäÑÛäÏÙäÎÙåÑÚäÑÜåÑÜåÑÛæÑÚãÑÛåÑÙäÎÚäÐÝãÑÜæÑÜæÐÛçÓÜåÑÛçÑÛåÈÓã¶ËÝ´ÈØºÌÞ¾ÌÛÁÐßÁÑàÅÏÞÀÍÞ»ÍÛºËß·ÈܳÈܲÇÛ²ÇܱÈܬÆÜ²È󨮯ªÃÚ²ÇÛ·ÉÛ¾ÌÜÆÒáÈÑâÊÔâËØáÉ×âÉÖâÇÓâÉÔâÊÕâÌØäÍÙåÌØãÐÙäË×äÌÖãÊ×äËØäÌÖãÏ×äËÕãÈÕáÃÑàÀÎáÄÎàÃÐàÃÐÞÅÓâÄÑâÃÑàÃÐáÁÎàÂÐ߯ÎÝÅÑàÄÏâÁÐàÁÎàÀÏÞÁÑÝÁÑàÆÏâÆÑáÈÔâÌÖáÍ×âÏÚäÎÚãÐØâÍØâÎÙäÏÙäÑÚæÑÛæÏÛåËÖåÇÓÞÃÑÞÃÎß¿ÍÛ·ÉÝ·ÇܶÉÝ»ÉÜ¿Ëà¿ÌÞ½ÍÛÃÏÝÁÎÝ¿ÍܽÊܺÉܸÈÛµÇ򱮯±ÅÙªÄØ«ÃØ¨ÃØ­ÅÚ«ÃÚ¯ÃÙ«ÂÚ©ÃÙªÅØ­ÅÚ«ÄÙ®ÄÝ­ÆÜ©ÄÛ¬ÃÙ«ÄØ³ÆÙ¯ÆÛ±ÅÚ´ÅØ±ÆÙ±ÅÛ¶ÇÛ·ÈÛ¹ÇÛºÇÚ¹ÉÚ¹ÇÙ½ÇÙ½ÊÝÀÌÛ¾ÍÛÂÎàÀÏݼËݽÊÚ»ÈÙºÉÛ¹ÇÛºÈÙ¹Ç׻ɨ»ÈظÉÛ»ÉÚ½ÊÛÀËÝÁÍÜÁÏÞÃÐàÃÏßÃÎÞÆÐÝÆÏàÄÎßÅÏàÃÎßÄÏÞÇÒ߯ÒáÉÖâÍÖãÏÙåÎØãÐØåÍÙãÐÚåÌØãÏÙâÏÙãÏÚãÎÙâÌÔâÇÑßÇÒàÊÒàÈÒàÊÓàÇÑßÉÑßÊÒáÉÔãÉÓáËÕâÍ×âËÖàÍØäËÔâÌÖãËÖâËÒáÊÒâÈÑàÈÑ߯ÐáÃÎÝÆÐßÄÎßÅÍÞÁËÜÃÌÜÂÍÞÅÐÞÈÒáÉÔâÉÓáÉÓáÊÓãËÓßÉÑàÇÏáÄÐàÇÑßÉÓáÊÔâËÓáÎ×äÑ×ãÑÛãÑÛäÎÙâÑÙäÏÚäÏÚæÒÚâÑÙãÑÛäÎÛæÏÙâÉÖâÉÒàÊÓâÆÓáÇÑàÃÎÞÄÐàÆÑßÈÑßÇÒáÉÑßÊÒßÉÒáÈÕâÊÖâÊÖáÍ×âÍ×âÎØäÎ×ãÌÕàÉÓàÂÐÞÂÎÞºËÞ¼ÌÞ¼ËݼÊݽËÜ¿ÍÞ½ÌܽÊݾËÞ¹ÉÞ»ËÜ»ÊÚ»ËÞ½ÌÝ»ËÛ·ÌÞ»ÌÛ»ÇݺÇÞ¹ÉÝ»ËÞ¾ÍÞ»ÉÜ·ÊÚ¶ÈܳÈܰÆÛ´ÆÙ´ÇݶÇܰÇÞ°ÇÛ°ÇÚ®ÅÛ¬ÆÙ®ÆÙ¯ÆÛ¯ÇܱÇÚ¯ÆÚ¬ÆÚ¬ÆÙªÆÛ­ÅØ®ÆÙ«ÆÛ°ÆØ°ÆÚ±ÆÙªÆÚ«ÆÚ®ÃÙªÄÚ®ÅÙ«ÆÚªÂØ²ÄØ®ÅØ­ÆØ¬ÅØ®ÆØªÄتÄÚ±Ä󻀯®ÄÜ­ÆÚ®Å×¬ÂØ«ÄØ­ÄÙ«ÃÚ«ÃÙ®ÃÛ¯ÄÛ«ÆÙ¯ÅÙ©ÃÙªÃÚªÄÛ¨ÂÚ¬ÄØ®ÄרÂÖ¬ÃÖ©ÂØ¨ÃÖ«ÃÚ­ÂÙªÂÙ­ÄÚ¬ÁÚ®Æ×ªÃÙ¨ÁØ©Â׫ÀتÃÖ­À×±¿×«À×­ÄÖ¥¿Ó¦ÀÕªÁجÃÙ©Áت¿Ù­ÁÚªÁÙ«ÀÕ«ÀØ«ÀÔ§¿×¬À׫ÀتÁ׬ÅÚ­ÃÙ©ÃØ«Áج¿Ö®ÀÖ¯ÁÙ®ÄÚ±ÃÙ±Â󱁯­ÃØ®ÁÕ®ÀدÄÚ«ÁÙ®ÃÛ«ÁÛ±ÃܱÃÙ³ÇÙ³ÄÕ²ÃØ¶ÅÛ²Ã×®ÄÚ·ÆÙ³Ç󵂯³ÆÙ¶ÆÛµÈÙ½ËÜ¿ÍÜ¿ÌݽÉÝ·ÅØ·ÉÚ¼ÈÚ½ÊݼÊÛ¼ÈÚ»ÈÚ½ÉÚ¼ËÝÂÉÖ¾ÄÉÃÌÏÆÏÒ”´ÉŸµÌ›´Ë™µË›¶Í™¶Î¡·Ï›´Ì ·Îž·Ï³Ë–´Ë™´Ë ´Ì—³Ì¡ºÏ›¶Ï™¶Ì“·Ñ’´Î—µÍ–´Ìœ¶Ì¸Î›¶Ðœ¹Ï™¸Î™¶Í¡¶Î›´Ì¶Ï ¶Í ¹ÒŸ·Ñ¤¸ÏŸ·Î¤¹Ñ£¹Î¡ºÎ¢¸Ï¢¸Ñ¢·Ò£¸ÐŸ¹Ï³Ì ·Î »Ð¡»Î¤»Î§»Ñ£¼Ò¥»Ð¡¸Ì¢·Ì¤¸Î¥¹ÍŸ¹Ï »Ô¤½Ôª¾Õ©½Ðª¼Ñ¨¾Ô¦»Ñ¤»Ó¤»Õ£½Ö£¿Õ¤¾Ö£¿ÕœºÑ›¸Ñœ¼Ð»Òž»ÒŸ¼Ó ºÓ ¼Õ¡¼Ò£ÁÓ§¾Õ¡½×Ÿ¼Ô¢½Õ¢½Ô¥ÀÕœ½Ø›½Ö¼ÕžºÔž½Ô¢½ÓŸ½Ô±ÇÚ¶ËݲÊÚ©ÃÙŸ¼×¾Ø£ÂÚ¤ÂÙ¤ÁÙ£ÃÚ§ÆÜªÆÜªÃÚ¢ÁÛ£ÁÖ¤ÁÓ¤ÂÖŸÁØŸÀÖŸÁÙš½×œ¼ÖŸ½Ö›»Ñ½Ö¾Õœ¿×›½Öš¼×ž¾× ½ÕŸÀמ½Ö½ÖŸ¿Ô›ÀמÀמÀØš¼×™»Ø¢ÁלÀÖœ½×ÁÕ¿Ö¤ÃÚ­ÅÛ¹ÉÜÀÎÞÃÓÞÇÓâÉÔãÊÕâÊØãË×ãËÛåÌØåÌÖäÇÔã»Íà¶ËÞ·Ìà½ÐÞÃÒâÄÔãÆÓâÆÓáÇÔâÉÔäÌØãÍÚäÍÛæÎÚäÐÛåÐÚäÐÛåÏÛãÐÛãÐÙãÏÛåÎÚäÎÛåÐÙåÌ×åÐÚæÐÛåÑÛäÎÛåÌÜäÃÓâ¶ËݵÇܲÊÜ·ËݸÌÞ»Ïà¼ÎÞµÊÛ³ÇÛ®ÇÛ®ÆÚ­ÆÛ­ÆÛ°ÇØªÇØ¬ÇÚ¬ÆÛ¬ÆÙ­ÅÙ´ÈÛ¼ÍÝÃÐÜÆÓáÆÒáÉÕâÈÕáÊÖäÉÕãÇÒáÆÓ߯ÓáÇÔáÉ×äËÙæÌÖåËÖåËØäÊÖâÊÖâË×ãÊØãËÖãÆÓáÄÑàÃÑÞÁÐàÂÏÞÃÑáÅÐàÁÐà»ÎݹËݺÎÞ½ÏÞ¿Ðà½Íà½ÐÞ½ÐÞ»ÍܸËݺÍÞ½ÏàÂÐàÆÔàÊÕßÊØâË×áÌÛâÎÛäÎÙäÍÙäÎÙäÏØäÌÛäËÚãÌØâÌØàÈ×àÃÑàÃÏá½ÍÞ¸ÌÞ°ÇØµÇØ·ÇÙ¸ËܾÌÜÁÎÛÀÎßÃÎÞ½ÌÛ»ËݶÉÚ¹ÉÛ´ÈÚ®ÇÚ­ÆÜ®ÅØ«ÅÙ«ÅÙ«ÆÙªÆÙ¨ÃتÆÙ«ÅÙ«ÅÚªÅÚ©ÄÙ©ÄÙ¨ÄØªÃØ«ÃØ­ÄÚ­ÅÛ²ÆÚ²ÆØ¯Ä×°ÆØ®ÇÛ±ÇÜ·ÇݳÇÛ¶ÇØ¹ÊܼÌݸÊÙ¹ÊØ¾ËÝÁËÚÁËÝÁÎÞÀÌÛÁÌݽÌÛ½ÉØ¼ÇÖ»ÈØºÇØ·ÈØ»ÈØ¶ÉØºËÛ¾ÉÚ¾ËÝÀÍßÀÌÞÂÏßÂÍÞÁÏßÃÑßÄÒàÅÐßÃÐßÅÎÜÆÏÝÅÍÜÃÑÞÆÓáÅÔàË×äÊÕâÎ×ãÎØâËÖâÌØáËÕàÌÙâÍØãÌØãÇÓàÆÏÞÃÎÝÆÏÞÆÑÝÆÒàÄÓáÉÔâÇÓáÊÒàËÔÞÉÓàË×äÉÖàÊ×âËÖàÊÖâÉÕâÈÓáÉÑ߯ÑÝÅÒ߯Ñ߯ÑàÆÑâÆÑàÃÍÝÂÌÜÃÌÛÄÍÝÄÍÞÅÎÜÈÓáÉÕâÊÖàÌÖâËÔãÆÓâÅÐâÃÑÞÅÒâÆÓáËØãÌÖàÎØáÑØåÒÛåÒÛãÒÚåÎÛæÑÝæÐÜæÑÙäÑØäÐÛæÏÚãÌØâËØâÉÓàÇÓáÅÓàÃÏßÃÎÞÄÑÞÇÐÝÇÒáÆÔàÇÕãÊ×àÈÔâÈÓàÊÔáÊÕáË×áÌ×ãÌ×ãËÚãÊÖâÆÓâ½ËÞºËØ·ÊݺÌÙ»ÌݶÊÜ»ÌÞ½ÎÝÂÌÝÃÌÝ¿ÌÜ»ÌÛ¸ÉÙ¸ËÚ¸ËÜ»ÍݶËß¹Ìß¼ËÞ¸ÉݶÉÛ»ÌÛ¶ÊݸËݶÊÝ·ËÞ³ÈÚ®ÆÙªÅÚ¯ÆÚ®ÆÛ­ÆÙ¬ÆÚ­ÆÛ­ÆÚ°ÆØ¬ÅÚ«ÆÚ«ÆÙ«ÆÛ¬ÅÙ­ÇÙ°ÇÜ­ÅÛ®ÆÛªÃØ­ÃØ®ÆØªÇܬÆÛ®ÇÚ¬ÇÙ¯ÇÚ®ÃØ©ÆÚ«ÅØ­Ä×«ÃØ®ÆØ®ÅØ­ÆÙªÄØ­ÅÛ¥ÂØ©»Ó®ÃجÅ׬ÆÚ©ÅÙ­ÃÙ«ÄØ¨ÃتÃ׍Ĩ¨ÃÙ©ÃתÃÚ©ÆÚ©ÄÚ«ÃØ«ÄÚ«ÃשÀÕªÄתÆÙ¦ÃØªÃØ©ÃجÄÙªÅÚ¬ÀשÃÙªÃØ©ÁØªÃØ­ÄÚ©ÃÙ­ÃÙªÀÖ¤ÃØ¬ÄÖ«Á×­À׬ÀתÁØ®ÂÔ©ÁجÆÙ¥Áפ¿×§ÀÖ«ÁÖ©ÁØ©ÁØ®ÁÖ¦ÀØ«ÂÖ§ÀÔ¤À×«ÃØ¤½Õ¦ÀØ¬ÄØ¬ÃÙ«Á×¦ÂØ¬ÂÙ­ÂׯÃÔ¯Ã×°ÃÚ®ÃØ¯Ã×®ÂÖ®ÃÖ¦Ã׫Ã՝Ĩ¯ÄÙ¯ÇÙ¶ÆÚ´ÄØ±ÇØ±ÄرÆ×¯ÅØ³ÆØ´ÉÛ¶ÆÛ¸ÆØ³ÆØ¶ÈضÇÚ¶ÇÙ·ÆÖ´Æ×´ÇØ´ÈÚ³ÇÙ¸ÉÚ½ÈØ¸ÆÖµÇ×´ÉØ·ÆÔ¼ÆÊÄÌÒÆÐÔ£¶Ë¢¸Îœ³Ë™²Ë™´Ë›´ÎžµÌŸ¶ÏžµÌŸ¸ÎŸ¶Ë ´Îœ³Î—±Î™³Ëž¶Î—´ÌœµÐ™·Ì™µÏ—²Î—µÏ’²ÌžµË˜³Ï›µÍž¶Ð¡¸Î¶ÌŸ´Î ¶Ï¤µÏ¡¶Ï¡¸Ï ·ÍºÎ£¹Ð¤¸Ï¡¸Í£·Ð›´Í£·Î¡¶Ì£¶Ñ¥¹Ñ ¸Ë£·Ð¤¸Î¥¼Ñ¤·Î¤»Ð§½Ï¤¶Í§»Ð¤»Îª»Òª»Òª½Ò§»Ó®¼Ò®½Ñ­½Ò®¿Ð®¾Õ°½Ô®ÁÓª½Ô¨½Ò£¾Ô¡½ÓŸ»Ó¡»Ò©¾Ó¢»Ò¢»ÔŸ»Ô§½Ó¦½Ó¤¼ÓªÂרÀÓ¦¼Ó¤½Ó¤»Ó¦¼Ó£½Ô¤¾ÖŸ¹Ô£½Õ »Ñž¾Ñ»Ô›½Ó£¿Ø¤¾Ø¢½Ó¡ÀÕ ½Õš»Õ™½Ô¢½ÖŸ¼Ó ½Ö¡½×¤½×ž»Øœ»×ž¼Õ¼Ö »Ô¡½Õœ¼Ôž½Ö½Ö»Ö›½Õ›ºÓž»Öœ»Õž¾Ö¼Ô½Øž¼Ö¼×¾ØŸ½Õ›½Ö™¼Óœ¾Ôž¼Ö£ÀØœ¾Ø¡½Ø ÁØœ¿Öš»Ö Áל¿Ö¥ÁØ®ÃÙ¼ÉܾÎàÆÑÞÈÓàÉÓáÊÔàÉÓãÊÖåÉÖãÉÔäÆÒâÁÎà¯ÃØ©Ã×­ÆÛ±ÈÛºÊܺÍß¾ÍßÄÑÞÉÒáÌÕâÌØâÌÙåÏÛåÎÚäÐÙæÏÙäÑÚäÑÛãÑÚäÐÛåÐÚäÍØãÍ×ãÊØäÎÖãÑØãÐÚåÏÚãÌØãÉØâÀÏà¯ÆÛ¬ÂÙªÅØ±ÇÙ¶ÊÙµÉÛ»ÈÜ®ÆØ¨ÅÙ§ÂÙ¬ÇÛ«ÄÙªÆÙªÄØ«ÃÙ©ÄØªÂØ®ÆÚ´ÇÙºÉܾÎÝÅÑÞÇÓßÈÑáÉÒáÇÓâÇÔâÈÔâÆÒãÉÕàÉÓàÊÔâÈÔâÊÕãÉÓàÉÔãÇÔáËÖäËÖâËÔâÉÕâÉÓáÆÓãÃÑßÂÎàÃÏàÃÑàÇÓàÉÓßÃÐàÄÐà½Îà»ÎÞ¿ËݼÌÞºÌß»ÍݺÍÝ·ÉÛ·ÊÞ¼Ìß¿Ì߯ÑâÈÓâËÕâÌ×áÍ×âÌÚâÍÙäÎØãÏØâÎÙäÎÚäÐÚãÎÙâËØâÇÔãÇÖâÃÒáÀÌàÀÎá¸Ëß³ÇÛ¶ÈÙ³ÆÚ¼ÉÛ¼ÉÞÀÍÝÁÎÞÀÎàÁÌÜ»ÌÛ»ÌÛ»ÉÜ·ÈÛ´ÈÛ¯ÆÙ¯ÅÚ®ÅÚ°ÆÙ®ÆÙ«ÅÙ©ÄÙ¬ÆÛ¯Å򻀯¬ÅØ®ÅÛ¯ÆÛ¯ÆÙ®ÂذÂ×­ÄØ¬ÃׯÅÚ±ÄܰÅ×³ÆØ³ÇصÈÙ¸ÇØ»ÉܶÉÛ·ÇÖ»ÊܽËܼËÜ¿ËÛ¿ËÛÁÌÝÂËÝÀÌÛÃËÛÁÌÛÀÌÛÂÌÙÁËÜÀÉÙ½ÉÚ½ËÙºÇÛ¼ËÛÁËÜÀÌÜÄÏÞÃÍÝÆÑÝÆÎßÅÍÞÅÏ߯ÎÞÇÑÝÆÐßÅÑÞÄÏÝÆÎÝÅÑßÄÐàÆÑàÉÒßËÔâÉÖâÌÔâÇÑàÉÓÞÌÕàÌÖâÎØãÌÖàÉÓàÇÒÞÆÒàÄÍÝÆÐ߯ÎàÆÑàÇÒàÇÔàÉÔáËÔâËÓâÇÒâÈÒáÌÓàËÕßÉÒßÊÔàÊÔâÉÓáÉÒàËÓàËÒáÉÒÞÈÓáÆÑßÇÑ߯ÐÞÅÎÞÅÌÝÂÍÞÆÐßÈÒâÉÖãË×ãÌÖãÊÓâÆÐàÆÎÞÈÑàÅÎàËÔáÎØåÐØãÑÙãÒÛãÒÛäÕÛäÑÙãÎÙãÐÛåÏØåÓÙäÒÛåÑÚåÑÛãÏØãÈÓàÃÑàÇÐàÇÒßÇÒáÆÑàÉÓàÊÓáÈÓßÈÒâÈÒàÆÑàÇÑáÉÑàÇÒÞÇÓàËÕàËÕãÊÕâËÕâÇÓàÁÏÞºÊÝ´ÈÞ¶ÉÝÀÍÜÁÌØºÉÜ¿Íß¼ËÛÁÌÞ¿ÍÝÁÌÝ¿ËÝ»ÌݽËܺÈÜ»ËÜ¶ÈØ¹ËÝ»ËÞ¹ÉÞ¼ËÜ»ËÛºÉÛ¶ÈÚµÈÚ³ÉÜ®ÆÛ®ÆÛ¬Ä󨮯­ÅÙ®ÆÙ¬ÆÙ¨Å׫ÅÛ¯ÆÚ®ÄÙ¯Ã׬Å×­ÆÚªÃ×®ÆØ®ÇÛªÄÛ©ÃØ®ÅÝ®ÄÚ¯ÅØ¬ÃÖªÅØ­ÅשÄÙ¬ÇÙ¬ÆØ¯ÆØ­ÃØ®ÄÖ®ÆØ©ÃØ«ÃÛ§Ã×®ÃØ®ÃØ­Ã׬ĨªÃÖªÂÖªÂÖ«ÃØ¨ÄØ©Ã׬ÄÙ§ÁØ©ÃØ«ÃÖ«ÃØ¨ÃØ¬ÄØ­Â×«ÃØ¬ÂÛ©ÁØ­ÂתÀÖ©Á×­ÃØ¬Ã×«ÂØ©ÂتÃÙ¬ÁÕ§½Õª½Ö¬ÀØ«¿Ø«ÃשÀØ«ÂØ¥¾Ø¬ÁÖ©¾ÒªÀÖ¬À׬ÁÖªÀת½Ö­¾Ù©Á׬Áت½Ô¬¾×«ÁÖ©Àا¾Õ©½ØªÁÚ©¾ÕªÀÓ«¿Ö¬ÀÖª¾Ö©¿Ô¦¿×ª¾ÖªÀÙ¤½ÔªÀÓª½Ó­ÁײÆÔ±ÃÙ°ÂØ±ÃرÄÙ°Á×®ÁÖ«ÃØ¯ÁزÄÖ±ÃØµÆÛ¶ÆØ·ÇÚ¹ÇØ±Æ×´Ã×µÃØ±ÆÙ±ÃÖ·ÆØ·È󼃯ºÊÚ·ÆÙºÆÙ·ÆÙµÃعÉÛºÄÙ¹ÆÙ¸ÇØ»ÈØµÆ×¶Ç×·ÀÌ»ÅÉÃËÐÆÏÔ¡¹ÌžµÍ ¶Ïž·Î™¶Ì›¶Í¢»Ñ¥¸ÑŸ¶Ì–µÎŸ¸Ò˜¶Îš´Ì•³Ìš´ÍšµÎ—µÎ”µÐŽ¶Î’¶Ò˜³Ïš¸Ó–´Ð—¹Í—¶Ï—µÑš¶Ò¡¸Ò¤¹Ð¦»Ñ£¼Ó¶Í·Ñ¡¸Ï ¶Ð ·Ñ¡¶Ï£µÏ¢·Ï ¹Ð¹Í¥»Ñ¡·Ï¢µÑ¢¸ÏŸ¸Î¥¼Ñ ºÏ¤»Ó§»Ò£¸Ð¤»Ñ¢ºÎª»Ñª½Ð¬ºÏ¬»Îª»Ñ±ÀÔ­Â×®¿Ó°ÁÓ±ÁÕ´ÂÓ®ÁÖª¼Ö­¾Ö¨¾Õ¥½Ó§¿Õ£¼Ô¥¾Ô¦½Õ£¼Ô¥»Ó¤»Ó£½Ó©¼Ó§¼Ó¡»Ó©¾Ô¨¼Ô¦¼Ö¨¾Ô¦¿Ô¦¾Õ¦ÀÖ£¾Øœ»Ô¡¼Óž½Ø ½Öœ½×Ÿ»Ö£¿Õœ¿×Ÿ¿Ö¤Â×½×›½× ¾×¼Ó¡½ÖÀØœ¼Õœ½Øž½×Àֿט¾×›¼Öœ¼ØŸ½Ö½Øž¼Ö™¼Öœ¼Ö£¿×œ½Ö›¼Ö½Ö›½× ½Ö™»Öœ¿×ŸÀÖ¾Õœ¼Ô›½×š¼×š¼×˜»Ö½×ž½ÖžÁÖÁØžÀסÀؼئÃÛ·ÊÞ¿ÎßÃÑáÆÒâÆÔâÈÓåÊÕäÉÕãÇÓâÁÑá¿Îà«ÅØ¨ÂØ¦ÃÚžÁÙ£ÁשÂÚ°ÆÚ´ÉÚÂÐÞÇÔâË×ãËÙäÍØäÎÚãÐÚåÌØåÏÚäÏÚäÏÜæÏÜæÐÚåÎÙæÍÖäÊ×âÎÚãÌÙäÌÜåÎÛæÌÙåÊÔä½Ðà´ËÞ¤ÃØ¦ÃئÃÛªÆÛ±Éß±Éß±ÉÛªÆÖ©ÅÛ¤ÂÚ¤ÂצÃÙ¬ÆÙ®ÅÛ®ÅÚ®ÇÙ¬ÆÚ®ÆÛ´ÇÙºÊÛ¿ÎßÅÒàÈØãÊÖåÈÓâÆÓâÈÕãÉÕáÊÖãÌØäËÖãÊÕäÇÔäÄÐâÇÓáÆÓâÅÓãÉÔâÉØãÉ×åÉÖâÈÕâÆÓãÅÒâÃÑáÅÑàÅÒàÅÓãÇÖâÆÓâÃÑáÃÏݽÎà½ÍÝ»ËÞ¸ËÛ³ÉݲÈÞ·ÉÞ·ÈÝÀÏàÂÒáÇÒßËÖâÍØäÍÙåÎÛäÐÜåÐÚãÎØãÎÚãÍÚãÌÛãÌÚäÌÚäËÖãÍØãËÖâÆÔáÃÑà½Ïß®ÇÜ®ÇݶÇÛ¶ËÞ¸ÉÜ»ËÚÁÍÛÀÎÞ½ÏÝÁÍÞÁÌÜ¿ÉݺÇܸËݳÈÚ³ÇÙ®ÄÛ«ÅÚ¬ÆÙ°ÇدÆÛ²ÆÛ°ÆÙ°ÆÜ°ÄرÅÖ±ÆÙ³ÆÚ´ÅÜ³ÆØµÅزÇÙ·ÈÙ²ÆØ´ÆÜ±ÄÚµÇÚ·ÇØ·ÉÛºÈÙ·ÇÛ¹ÉÝ½ÉØ½ÊØ»ËÛ¾ÌÛ¾ÉÛÀÎÝÀÍßÃÏßÄÎÛÃÎÞÂÍÝÃÌÞÂÎÞÁÐÞÁËÞ¾ÉÙ½ËÙ¿ÌØ¿ËØÀÌÜÁÍÝÂÏÝÆÒàÆÑáÆÑßÇÑàÆÑÞÇÒáÇÑáÈÑáËÑâÆÎàÇÑàÇÒàÆÓáÆÑàÆÒßÉÔàÉÓâÉ×âÉÒÞËÖâÉÕßËÖßË×âÌØâÊ×åÊÑâÇÎàÆÎàÆÒàÆÑáÆÑáÇÑàÉÖãÊÕãÉÓàÈÒàÊÓãÉÔàÇÑàÊÖáÊÔâÈÓâÉÓãËÓáÊÖáÌØáËÖâÊÕãÇÓáÉÓáËÓâÇÑàÇÏáÅÏàÇÐÞÆÑàÉÕãÌ×âÌÖâÉÓäÇÒàÉÓâÉÔáÈÔàÇÓàÌÖáÎÙâÏÙãÑÜåÑÛæÐÛèÒÜæÒÛäÒÛåÏÛåÓÚäÒÚçÏÛãÑÛãÏÚåÊØâÉÖâÇÑàÇÒâÈÓâÇÕáÆÓáÇÒàÆÒâÅÓàÇÒàÇÑàÆÑàÃÏáÄÎßÁÍßÄÐ߯ÒàÈÔàÉÔâÇÓâÄÑß¾ÌÞºÊܶÇݹËÝ»ÌݺÍß¼ËÛ»ËݺËÜÁÍݾËÝ¿ËÝ»ÌܺÌݽÌÝ»ÊݶÉܶÈݸÈݸÇÛ·ËÛ¶ÉÛ·ÌÞ²ÉÝ´ÈÞ±ÈܱÆÚ¯ÇÚ±ÉÜ®ÆÛ­ÆÙ¨ÆÛ¬ÅÛ«ÅÚªÆÙ®ÆÚ®ÅذÅÙ¬Æ×­ÈÚ¯ÆÛ®ÅÛ®ÆÙ¯ÅØ®ÄÛ¯ÆØ¬ÆÚ®ÇÚªÇÛ®ÆÙ®ÅÚ«ÅÙ­ÇØ¯ÈÝ®ÆÙ®Ç󨂯®ÆÙªÅÛ©ÂØ¯ÄÙ¬ÆÙªÆØ­ÅÚ®ÇܪÃÛªÃÚ«ÃÚ­ÄØ¯Ä׬Ĩ«ÃØ«ÃØªÂ׬ÅÚ¬ÄÙ©ÂÙªÃØªÃØ«ÆØªÄÙ«ÅÜ©ÂÙ«ÂØ¬ÄתÁ×«ÃØªÁת¿Ø«ÁØ«ÃÖ®ÆÙ¯ÃÚ«ÀÚ®ÁתÃÙªÃØ­ÆØ§ÂØ«ÃØ¬ÂØ­ÃØªÁÖ®¿Øª½Ö¬¾Ö­ÁÔ¦ÁÖ¨ÃØ«ÁÙ¨Á׫¿Ø­Àת½Ó­¾Ö¬½×©Á×®ÁجÄÕ®ÂÔ±ÃØ®ÀÖª½ÓªÂØ¬ÂØ¨ÀÖ«ÁÖ¦ÁØ©ÂÚ°ÃÖ°ÅÙ®ÃÕ´ÄØ±Â׬ÁÖ±ÆÙ­ÃØ´ÇÛµÅ򵂯³ÇÚºÉÙ»ÉØ¹ÉÜ»ÇÙ¼ÇÚºÇÛ»Æ×¹ÇظÆÖ»ÅØ¹ÆØºÉÛ¶ÆÙºÆÙ»Å×ºÆØ¼ÆÚ¼ÈÙ»ÄÖ·ÆØ»ÈÙ¼ÇÚ»ÉØ½ËÙ¸ÃмÈÌÄÍÑÅÐÕž¶ËŸ¸Ð›·Í¡¸Ðž¶ÐŸ¶Ì£¹Î¡¹Ï¡·Ï¢µÍ³Îœ´Í²Î™²Ì ¸Ñ–³Î“¸ÒŒ±Î³Î‘µÎ‘³Ï’·Ñ“³Ò¶Í–´ÎŽ²Ì–±Íž·Íž¸Ïž¹Ï ¸Í¢·Î ¶Ì µÏ¢´ÐŸ¶Î¢´Ìž´Ï´Î¢¹Ò¡¶Î¡¸Ðœ³Ï¢¶Ñ¢¸Ñ¡·Ð ¸Ð¡¹Ñ¥ºÐ§µÑ¥¹Ð¦¹Ñ¤»Î¦»Ò¦½Ñ®¼Ó¬½Ó­½Ò¯ÁÓ¯ÀÖ®¿Ö¯¿Ó¯ÀÓ²ÃØ°ÃÓ®ÁÖ²ÁÖ¯ÀÖ®¾Ô¦½Ó¤»Ó£¹Ñ£¹Ó¢»Ò¢»Ó¢¼Ó¢¼Ò¢¸ÑŸ¹Ñ›¶Ñ¤»Ô¢¼Ô¼Ö¢½Õ£½Óž¼Ó¤¾Øž»Öš»Ó™¹ÑºÓ½Ôœ½Óž½Ö ¼×œ»Õ˜¼Óš½ÕŸ»Õ¡½×œ»Ô›¼Øž¾Ø ¼×»Øž¼×¢¿Ø ½Öš½Õ™½Öœ½Õ™¼Ö›ºÓ™¹Ö™ºÔ›½Ô›¼Ö¡½×›¼Øž½Öž¼Ôš¼Ö˜»Ø½Ø™»Õœ»×—¼Ö›¾×¿Ö™»Ö˜»Ö™¼Ö—¹Ô˜¾ØÀך»Ó›»Ó¤ÁؽآÀ׫ÆÙ»ËßÀÑàÁÎà¼ÍÞ¿ÎàÄÑàÃÐâ½ÎݱÇݪÂÚ¥ÁÖ¥ÁÖ À×¢ÂÙžÀئÂÛ©ÄÛµÊÝÁÐàÇÔâÊ×âÊØâÌÙãËÙåËÖâÎÖåÌ×äÎ×äÏÛãÎÙãËØäËØåÈÕãÃÓãÆÓâÆÒàÄÓâÁÒã½Ïâ¶Ìà¬ÇݪÃÛ¬Ä󻀯¤ÁØ£ÁפÃÔ¥ÃØ¤ÁÚ ÂÛ¤ÁØ£ÀØŸ¿Ö¦ÁתÇܱÆÚ³ÅÚ®ÆÚ®ÇݯÆÚ´ÈÛºÊÝÁÍÝÂÑáÅÓâÈÔâÉÕäÉÖäÊÕâÉÔãÊÕâÊÖâÊÖãÇÓâÅÑä½Íà¿Ðâ¾ÎÞÃÏßÅÓáÇÔâÅÑàÆÒáÆÒãÃÓâÆÒâÆÑàÀÍÞÁÑâÃÏãÀÎáÁÒâÄÒáÅÑã¾Ðà¿ÌܼÌݶËÝ­ÆÛ­ÆÛ±ÇÚºËßÀÏáÆÒáÇÓáÉ×ãÊØäÌØãÍÚãÌÙäÎÛåÏÙæÐÙäÏÙãËÖâË×ãÈÖãËÖâÇÔâÆÓåÂÑâÁÏà¶ÉÞ®ÇÚªÆÜªÇÛ±ÈܶÇÞ»ËÞÁÍÜÁÎÝÁÎßÀÍß½ÌܺËÛ¼ËܶÆÝ¹ÉÜ±ÆØ°ÅجÇÛªÄÙªÅØ«ÂײÇÚµÅÚ·ÆÙ¶ÆØ¶ÉÛ³ÇØµÇÛ·ÈÛµÆÛ·ÆÚ¸ÇؽËÚ·ÆÚ¸ÇÙ¸ÈÙµÈÛ¸ËÛ»ÉܽÉÝ»ÉÛ»ÇÙ½ÇÕ»ÆÙ»ÇÜ»ÆÙ½ÉÚ½ÊÙÃÍÜÇÐâÇÏßÊÐÞÄÏÞÄÏÝÁÍÞÂÎßÂËÝÁÌÞÀËÛÁËÛÃÌÜÁÌÝÀËÛÄÎÞÁÏÞÄÑÝÈÑ߯ÐàÇÐÞÆÑßÇÑßÈÓáÉÔâÇÒâÆÑáÉÒâÈÒàÁÐßÁÍÞÄÐáÇÑàÆÑáÆÐàÆÑßËÓâÌØãÌØâËÕãÉÓàÆÑáÀÏßÃÏÝÆÑàÆÐàÉÒÞÇÒáÇÒâÇÑÞÇÓáÇÓâÇÒâÈÐÞÊÓáÊÒáÈÑáÈÒáÊÒáÊÕãËÕâËÔâËÕâËÓàÌÖàÊÔâÍÕãÌÓâËÒâÇÐ߯ÑáÇÑáÇÒâÇÔâÉÑáÉÒãÅÑâÅÑâÈÓãÇÓàÉÓâÊÖãÏÙäÎØäÎØãÒÛçÒÜçÔÝæÓÝæÒÝæÑÜæÑÛçÑÛçÍØåÏØäÍÖãËÖ߯ÔâÇÒáÆÒáÈÒãÇÒâÆÑßÇÓàÆÑàÆÏàÈÒàÆÒàÆÑà¿ÏáÁÍßÀÍß¾ÌßÁÎÞÂÐàÃÐáÃÎß¿ÌÞºÉÝ´ÇܵÇÙ³ÈܶÊܶÊÜ»ÌÝ»ËݺÌݼÉݼÊÝ»ÌݼËÛ¼ËÚ¶ÉݶËÞ¹ÉÞ¶ÉÛ³ÉÞ´ÉÞµÉß²ÈܱÉÝ®ÇÛ¯ÈÜ­ÆÙ®ÆØ¬ÅÙ®ÆÚ¬ÃÙªÆÙ±ÇܱÆÛ­ÃÙ«ÃØ«Â×­ÄׯÆÛ«ÃتÃÙ«ÃÙ©ÄØ©ÅÚ¬ÅÛ¬ÆØªÃجÄÚ«ÄÙ¬ÄØ¯ÄØªÆØ¬ÇÚªÅÛ§ÃØ­ÄÚ­ÃÙ¬ÄØ°ÆØ­ÃØ­ÃÙ«ÃÛ­ÅØªÄØ¬ÄØ­ÃÚ«ÅתÄÖ¬ÃØªÄØ§ÃØ¨ÂÙ¬Á×¬ÂØ¬Â׫Ã×­ÃÙ«ÃÙ«ÃÚ¬ÃÙªÃÖ©Â׬ÁØ­ÃÛ«À׫ÂתÂÖ«ÄÙ°ÃÖª¿Ó®½ÖªÁÖ«ÂÕ®ÂÖ¬ÁÙ¯¾×°¾Ù®ÃÙ±ÁØ­¿Ö¨¾Øª¾Ö­¾ØªÀÕ­ÀØ­¿×®ÀÖª½Ó¨ÀפÀתÀ×­Àج½Ö®¾Ø¯¾Öª¾Ô­¿Õ¬¾Öª¾Ó­¾Ó§½Ó­½ÔªÀب¿Ô¬¾Ô¬¾Óª¿Ö¦¾×­ÀÕ«¿Ö­¾Ö­ÀØ«ÂØ­ÁÕ¯ÁدÁÓ±ÁÖ³ÃØ¶ÈܵÈÛ¹ÆÛ»Ç×¶ÆØ»ÇØºÉØ¹Ç׺ÈÙ·ÆØ»ÆØ½ÇØ»ÆÛ¶ÆÚ¹ÆÙ»ÆÕ¶Æ×¹ÅغÇÛ¸ÇÚ»ÇÙºÆÕ»ÆÙ»ÈÙ¸ÇÚ¸Å×ºÄØ¸ÄÖ»ÃÏ¿ÇÌÅÍÐÆÎÒ¡³Ë›´Ë¢´Ê™´Ë¢µÎŸ³Í ´ÌŸ´Ï¡¶Î˜³ÎŸ´Ì ´Ìš±Íœ´Í–´Í–²Ì´Ï—³Î³Ì±Ë•´Ï•²Ð“³Î–²Î±Ì“±Ì”±Íœ³Ï™¯Éœ²ËµÌœ´Ì›³Í±ÌŸ²Î”²Ëœ²È™´Í ´Ê¡µÍ›±Ë£´Ì¢´Î µÎŸ³ÎŸ¶ÌžµÌ¤¸Î¤¶Ë¥·Î¤ºËª¶Í¤¶Ì¤¹Ï¨ºÎª¼Ò¨»Î©»Ðª¼Ñ±ÀÒ±¾Ñ´ÀÓ®ÁÕ¯¿Ó¯ÀÓ®ÁÖ¯¿Ó«ºÐªºÓ­¼Ó¦¹Ñ ¸Ð¢¸Ïœ¶Ñœ´Ï˜µÐœ·Î£ºÑŸºÑ¹ÑŸ»Óœ¹ÑŸ¼ÔŸ¹Ò ¸Ò¡¼Ò¤ºÓ¡ºÓ–¸Ñš»ÑšºÑœ¸Ò›¹Ò˜¸Ñ»Ó»Ó »Ñœ»Ô˜¸Óœ»×œ¸Òœ»Ö˜ºÑ›¶Ñž¼Õ ¼Ö»Óœ»ÔŸºÓ—¸Ò™¸Ò™¸Ó˜¸Ò˜·Ñ™ºÓ˜ºÒš»ÓºÓ›ºÔš¹Ò™¹Ò™ºÓ¼×œºÓ—¶ÒœºÓ ¼Õ¼Ô‘¹Ñ“¸Ò™½Ø»Ôž¼Ö˜ºÕš¹Ó˜¸Ö›»ÓŸ¿Óž¼Õž»Ô¤½ØªÃÙ¹ËݹÉÛ³ÆÚ±ÆÜ²ÇݲÇܱÇÛ¬ÃÙžÀ×¥½Ö¤ÁØ¢ÀÖ ¾×£¿Ö£ÀØžÁ×±ÆÛ¾ÍÞÆÒàÈÓáÉÒâÊÔãË×âË×ãËÕãË×äÌÖâËÕàÌÕâËÓâÈÓ߯ÑâÃÑà»ÍߺÉß°ÄÙ©ÄÛ©ÅÙ§ÁØªÃØ§Ã×®ÆÛ«ÂÛ¤ÁØ ½×¥ÁØ¥ÀÖ£¼Ô ¿Ö¤¾Ö¤ÂÖ¡¾Ö¦ÄØ®ÄØ±ÆÙ´ÄÖ¯ÃÖ­Ã×±ÅÙ¶ÈܺÆÛ¼ËÛÀÌÜÅÏßÈÑàÇÓàÉÔâÉÔâÇÔãÈÒàÊÔáÆÐàÁÏß½ÎÞ±ÉÛ°ÉݲÇÝ´ÊÞÁÎÝÆÑàÃÏÞ½ÏÝÁÎàÄÑàÃÑáÁÏà»ËÞÁÍß½ÌݼÊÝÁÎàÅÑàÆÐà½Îß½Îà¼ÍàµÈÛ¯ÇØ²ÆØ´ÇÙ¶ÈݾÎÞÁÑàÆÑßÈÑàÌÖãÍÖâÎ×âÏÚäÐÚâÍØäÏØãËÖãÉÓâÅÐàÆÑÝÃÑà»ËÛ¶ËÛ±ÊܯÆÛ­ÆÜ©ÅÚ¬ÅÛ®ÆÙ±ÇÚ±ÅÛ»ËÚ½ÌÝÁÌÛ¿ÌàÁËÛ½ËÚ½ÈÙ¹ÇÛ·ÆØ¹ÇÙµÇÚ±ÇÚ±ÆÛ²ÂزÄױĨ¶ÅØ³ÅØ´Ä×¶ÄØ¶ÆØ¹ÆÙ»ÆØºÆØ¸ÅغÆ×¸ÇظÇÙºÉܼÈÚ¼ÇÚ½ÆÕ¾ÇÚ»ÈØ»ÈØ»ÇØ¼ÆØ¾ÉÛ¿ÉÙ¿ÉÛ¾ÉÙ¿ÈÙÂÌÛÇÐÞÇÑáÊÓàÉÑÞÉÐÞÈÏÞÄÌÙÂÌÝÃÌÞÀÉÝÀÊÛÂÌÚÃÌÚÃËÝÂÌÚÃÍÜÃÎÞÆÐÝÉÑÞÈÐáÈÑáÈÒßËÓßÊÑßÉÓâÉÑßÇÑßÅÐÝÆÏÞÂÌÜÂÌÚÄÍÙÅËÝÇÏßÇÑÞÇÒàÉÓâÊÓàÆÑßÉÓâÈÐàÅÎÞÂÌÝÃÌÝÅÎÚÃÎÝÆÏÞÆÐÞÇÎÞËÏÞÊÑàËÒàÇÏÞÈÑßËÒàÊÓâËÓâÊÑàËÐàÉÒáÉÑßÈÓáÌÕàÊÓâÌÓáÍÕâÏ×áÎÖâÍÓàÉÑÝÆÐáÅÏßÅÐßÉÑáÉÑáËÑáÇÏÞÅÐßÈÒàÈÒàÇÓâÍÕâÐØäÑØäÓÚãÔÛåÓÜåÓÝæÒÚãÑÛæÔÛåÐÙâÑ×âÎØãÌÕâÌÓáÇÓßÇÑàÇÏÝÉÐÞËÒàËÓßÊÒÞÈÑ߯ÍàÆÏ߯ÐßÅÏÝ¿ÌݼËݺÊݽËÝÂÍÞÁÍÝÂÌݼËÜ»ÊܸÇÛ¶ÉÛµÅÛµÅÛ³ÆÛºÇظÉÛ·ÉÚ¶ÉÝ·ÊØ»ËÛ¹ÇÛ¶ËØ¸ÇØ·ÈÛ¶ÇÛ¶ÇܶÈÛ³ÉÞ²ÇÛ°ÆÛ®ÅØ®ÃØªÄ×°ÆÙ®ÆÙ®ÆÚªÄÙ­ÄÚ¬ÃÙ¬ÂÖ®Æ×¬Ä׬Ĩ¯Ä×²ÆØ­ÆØ®ÅØ­ÂØªÃÖ­ÄØ«ÃØ¬ÂØ§Ã׫ÄÚªÃÙ¬ÃØ©ÁÖªÁתÁתÂרÁÖ­ÃתÃ×¬ÃØ«ÄØ©ÁÖ­ÄÖªÁÖ©ÁÖª¿Õ©ÃØ«ÃÖªÃÙ°Ã׫Á׫ÁÔªÂÖ¨½Õ­ÁÖ«ÃתÀÕ®ÅÙª¾Ø«ÀÖ©¾Ô©¿ÕªÂÕ¬ÂØ«¿Ö¬ÂÕ¬Â×­ÁÛ¨½Öª¿Õ­¾Ô«½Ô¬¾Ò«¾Ö®¿Ö®½Öª¼Õª¾Õª½Õ©¼Ó¨½Ó®½Ö§¾Óª½×®¿Ö¥»Ó®¾Ö°¾Ò®¿Ô­¿Ñ°ÀÖ®¾Õ®ÀÖ¯½Ö©¼Ñ«½Ó«¼Ó©¼Ò§¹Ð¬¼Ñ®»Ðª¼Ñ¬¼Ðª»Ï¨ºÐ©¼Ò©ºÑ«ºÑª¼Ô«»ÒªºÒª¹ÒªºÑ¦¼Ð«¼Ó±¾Ó«½Ñ®½Ó®½Ò³¿Õ±¿Ó³¾Ô²ÂÒ´Á×µÁÖ»ÁÔ»Ç׸Æ×¼ÇØ»ÂÓ·ÁØ´ÁÕ¶ÁÓ·ÀÒ¹ÂÓ¶ÆÕ¶ÅÖ·¿Ô´¿Ó¶ÀÒ¶ÁÓ¶¾ÐºÀÓ·ÁÔ·ÃÕ»Å׻ŨºÃØ·¿Ó¸ÀÒ¹ÂÓµÀνÆËÄÌÐÇÏÔ—³Ë”µÍ“°Ì³Î—´Í“±Ì—µÎ™¶Ì—´Ìœ·Ó´Î¤´Ìœ±Ë•³Í‘³ÌŽ³Î‘²Î—´Ï’´Í’´Í’°Ï‘³Ï“µÐ³ÎµÏµÐ’¶Ð”´Ï”¯Ë“±Ì•²Ë™µÏ™±ÌŽ°Ë’±Í›±Î›²ËœµÐœ·Î›³Î›´Ïž´ÌŸµÌž·Ï¡¸Ï³Ð¤ºÏ¡¹Ñ£¶Ð¡¶Ð¡¶Î¦·Í¤»Ñ¥»Ñ¦½Ò©»Ñ§¼Ò¨»ÑªºÑ¨¾Ò­ÂÔ®ÁÔ©½Ó­¾Ñ«¼Ó­½ÓªÀÔ¬¾Ó£»Ñ ºÑ¡¹Ï¡·Ñ¥ºÓ£¹Òœ¶Ð›¶Ñ˜¶ÑŒ´Ï“·Ò˜¸Ò–·Ð™·Ó™¹ÔžºÓ•·Ñ–·Ñ·Ô’¸ÓµÓ˜¶Óš¹Óš¹Ó›»Õ–»Ó–ºÔœ¼Ô›¹×˜·ÕºÓš¹Ó—ºÔ—¼Ó‘¸Õ“¸Ò“¹Ó™»Óš»Ö—ºÕ™»Ó–ºÔ—»Õ™¸Ö›ºÖ—¶Õ˜»Ö˜»×—¹ÔŽ¹Ô™»Òš¼Ö—ºÓ—¹Ô™¼×™ºÖ™¼×–»Ó™¹Ô˜ºÓš»Ð•¸Ñ—¹Ó—¼Ö›½×˜¼Øœ¼ÖŸ»Ñœ¼Ô”¸Ôœ½Öš¼Ó »Ø¡¿Ø¥ÄØ©ÂÖ¢¾Öž½Ö¢»Ó¢¿Ø¤ÃÚ¦ÃÚ¡Á× ¿ØŸ¿Ö¤¿Ö½Ø ½Öœ½× ÀÚ£Á׳Ëß¾ÑáÂÑÞÆÒàÇÒßÇÓàÆÓàÈÓãÈÕäÊ×âËÖáÉÓâÆÓÞÃÐá¾Îá»Íß±ÇÞ®ÅÛ¦ÃÙ¤Â×£Â× ÁÔ¡ÃÖ£ÁØ¢¿Ú¦¿ÙŸÁØž½Öš½Ó¢¾ÕŸ½Ö£ÁؤÀØ£¼ØŸÁÙ¨ÂÚ®ÈÚ¬ÆÚªÂÖ§Á×¬ÃØ¯ÆØ±ÆÛ¹ÊÞ¼ÌÝÁÏßÄÐßÄÐàÅÒáÆÒáÇÔàÈÕâÇÓâÈ×ãÅÑß¾ÌÞ¶ÉÞ¬ÆÛ¨ÆÚŸÃØ®ÇݶËÞ¼Ðá»ÌݸÉÙ½ÌÞ½Îß¿ÍÝÁÎÞ¸Íà´ÉݲËÛ»ÊÜÃÎßÃÑÞÃÒàÁÑáÀÐà»Íâ±Éà¬ÆÚ­ÄÙ±ÅÙ³ÆÛµÊÞ»Ìß¿Í߯ÒâË×äÏØãÐÙãÐÛäËÛåËØäÇÕäÄÓáÀÐà»Î߸ËÝ»ËܱÇÛªÄÛ¥ÄÛ¤ÃÙ¤ÄÛ¦ÃÝ«ÅÛ¬ÇØ«ÆÙ±ÆÛ¶ÈÛºÌÝÀÌàÀÍÞÁÌÛÁÎÚ¿ËÛ½ÉÛ¶ÈÚ¶ÇÙ³ÆÙ·ÇÚ´ÆÙ¶ÉÛ¶ÉÙ·ÇÚµÅÙ¶ÆÚµÆÙ¹ÇÙ¶ÇÙ¸ÉÙ¸ÊÞ»È󼂯¼Ê򼃯»ÉÙ»ËÝ»ÉܽÊÛÀËܽÌÛÀÊÙ»ÇÚ¿ÉÚ¾ËÛ½ËÙÁÌÜ¿ËÝ¾ÌØ¿ÊÛÆÏÞÆÐßÉÒàÇÓàÉÒàÇÑáÃÐâÃÐÞÆÏÞÆÎÜÆÎÜÃÌÞÀÌÚ¿ÍÝÂÌÙÁÌÝÃÍÞÇÎÞÊÒßÈÒÞÇÑàÇÓáÈÔâÇÒáÉÓâÉÑßÈÒáÅÎßÀËÝÁÍà¿ÌݼËÝÂÍÞÄÌÝÆÎßÇÑÞÇÒâÈÒÞÇÑßÈÑßÃÎÜÁÎÞÄÎÞÁÍÝÀËÞÃÌÞÃÍßÃÎÝÆÎÞÆÐÞÅÐ߯ÐàÇÒàÇÓâÅÑàÊÓãËÒàËÕâÉÔàÉÓßÊÓáËÓáÊÕâËÕâÊ×âËÖáÌ×ãÎØäÎÖâÍ×ãËÕâÈÑáÇÐ߯Ñ߯ÑßÈÒàÄÐáÇÓáÆÐãÈÓàÈÔáËÖàË×ãÍÙäÏØåÐÙåÔÛåÔÝæÔÜæÑÝæÐÛåÎÜãÎÛåÌÖåÌÚãÇÔäÇÒàÉÒàÉÔâÈÓàÊÕàÇÔâÊÖâÈÔâÇÑáÆÑáÄÐÞÂÎÜÀÏݼÌÞ·ÇÛ¹ÉÞµÈݺÊݶÉÛ¹ÉÙ³ÆÚ±ÆÙ®ÄÚ³ÆØµÆÛ³ÆÙ³ÅÛ¶ÇÙ·ÇØ¶ÇÛ¶ÈܱÆÙ³Ç󨮯°ÇزËܳÇÙ·ÉÛ´ÇØ²ÄØ¯ÃØ±ÇÛ±ÆÝ®ÆÛ°ÆÛ®ÆÚ±ÅÙ­ÆÙ­ÆÛ«ÄÚ°ÅÙ­ÄØ¬ÆÜªÅÙ­ÄØ¬ÅØ®ÄØ°ÅجÅÖ«ÂרÄÛ¬ÃÛ­ÃÙ­ÄÙ­ÄÖªÅÙ©ÄØ«ÅÚªÃØ­ÆÚ¬ÄÛ«ÃÖªÃØ¬ÂÖ¬ÂÖ¬ÆØ¥ÄÚ¨ÃÜ©ÃÙ©ÂÖ®ÃØªÃÖªÁÖ¥ÂÖ¥ÁÖªÂØªÃÚ¬Ã׬Æ×ªÃÚ«ÂÖ®ÂÖ¨ÂÖªÂÙ¦¾Ø©¾ØªÀÖ«ÂÕ­ÁÔ®ÁÖ¨¾Õ¨½Ö­½Öª¾ÖªÀתÀÔª¿Óª¼Ò¬ºÑ¬½Ð¨»Ð­½Ñ§ºÔ¥»Ô¨½Ñ«»Ñ¬»ÐªºÑªºÓ¦¼Ñª½Ô«¼Õ§¼Ó©½Ò§»Ð®½Ñª»Ó¬¼Óª½Õ¬¾Ò¥»Ô¨¿Öª½Ñ®»Ðª·Ð©·Î¦¸Ñ¤¸Ð¦»Ñª¼Òª¹Ò¨·Í§·Ï¨¶Î¨·Î¥¸Î¨ºÐ¥¶Ð¨»Ñ©ºÑ¨¹Íª»Îª·Ñ«»Ì©ºÏª»Òª»Ó®½Ó®½Ñ±¿Ò²ÀѳÂӳĨ·ÇظÆÛ¶ÂÖµÂÙ¹ÂѵÁѶÁÓ¯¿Ó±ÀÔµÁر¾Ñ²½Ó³¿Ò¯¿Ï±¿Ð·Àѯ¿Ð±ÀÔ±¿ÒµÁÓ²¿Õ´ÀÓ´½Ï²¾Î°ÀÒ±½Å»ÆÌÂÌÐÆÐÖ’±Ë–³Ì•³Í–¶Î²Í„±Î—±ÌšµÎŒ´Î’±Î”µÎ™´Îš¸Ðœ·Ï“±Î•´ÎŠ±Î³Í‘´Î‹´Ð‘±Ï²Ì–µÑ˜¶Ð’¶ÏµÌ±Î‘±Í”³Î™´Ð˜³Ï—µÌ–¶Ï±Ì²Î‘¶Ð•¸Ð”µÑ˜´Ñš´Í’³Ì˜¶Ðž´Ë¶Ð›µÐŸ°Ë µÌŸ²ÍŸ·Î£¶Ë³Ëž¶Í£¶Ë£¹Ñ¥¹Ï¥ºÑ©¶Î¦ºÍ¤ºË¦¾Ò§»Ð§»Ð¨»Ñ¦¹Ò¨½Ô©¼Ñ£»Ñ¦¹Ð¦¹ÐšµÑš¸Ð›¶Ð›·ÐŸ¸ÒŸµÎœ¶Ï“µÏ¶Ð”¶Î—·Ð—·Ò–¸Ò•»Ó•ºÓ–¶Ð”·ÑŒ·Ò“¸Ñ¹Ô˜¶Ó›»Ö–¸Ø˜»Ó˜·Ð¶Ñ‘¸ÑŽ¶Ò’¶Ñš½×š»Ó—¸Ó›»Ô—¹Ó–·Î”»Ñ–¸Ñ’¸Õ—ºÑ”»Öœ¼Ö™¾Ôš¹ÓšºÔ“ºÕ—¹Ñš»×œºÔ¹×»Ó’¹Ô”ºÓ˜»Ò—»Ô”ºÕ—ºÓ˜ºÒ˜»Ó˜¼Ô½Ö‘¸Ô“¸Õ˜¸Ó½Ö—»Ö˜»ÔŸ½Øœ½Õ ½Ö’·Õ—ºÕ¹Ô˜ºÖš¼×œ½×ž½ÓŸ¼Ôž½Ø›¼×Ÿ½×¡½Ø½Ö¢½ÕŸ½Õ¡½Ö¤Áט»Õš¼Öœ¼ÖŸ¾×§ÄÚ´ÉÝ¿ÏàÄÐßÃÐÝÁÐáÁÎßÄÐáÆÑàÄÓâÆÓâÆÑàÀÐà¹ÍÞ¸ÉÞµÉÝ®ÆÛ¡ÁÚ¡ÀØ¤ÃØ£ÁÔ§ÃÙ£ÁؤÂÖ¤ÁØ¡ÁؤÁÙ ½×œ¿Ø£ÁÖ¤ÁØ¢ÀÖ ¿ØŸ»ÔŸ¿Ö¡ÂØªÄØ¬ÆÙ«ÄÖªÃØ¦Ã׫Ũ°ÅÛ¹ÉݼËÜÂÎÝÀÏÞÅÏÞÄÏ߯ÑßÅÐàÈÔâÈÖâÊ×äÈÕãÃÑß»ÌÝ´ÉÜ«ÄÙ¥ÂØ¨ÃÚ®ÇÚ²ÉÞ²ÉÞ¬ÆÝ¬ÇݲÊß¶ÉÝ·ÉÜ­ÆÛªÆÛªÄرÇÚ»ÍáÁÐáÁÐáÁÐàÁÎà¼ÌÞ²ÇÛªÆÙ¯ÈÛµÊÞ´ÇÛ³ÆÜ¶ÉÛÁÎÝÆÐáÈÕâÍØãÎÚåÏÛåÎÙäÈÕá½ÍݵÇÜ´ÇÛ³ÇÛ®ÇÛ«ÇÚªÇÜ©ÃÙ¤ÃÙ©ÃØ£ÁØ ÃÚ¤ÃÛ©ÆÚ±ÉÛµÊÞ½ËܽÌÛÁÎÝ¿ÍÝÀÍÞÁÌÛ¿ÎÞ¾ÌݶÇÝµÆØ¶ÇױĨµÇÚ¶ÆÛ¹ÇÙ¸ÈÚ·ÇÙ¹ÆÙ¹ÈÙ¹ÇØ¼ÉØ¿ËÛÁÊÛ¼ËÛ¼ÊÛÀËÚ½ÌÜÀËÙ¿ÌÝ»ÉÛÁÊÜÀËÜÀÉÛÁÌÙÁÌÞ¼ÌÝÃÍÛÃÎÚÅÏÜÆÐÝÁÌÛÃÎÝÉÓáË×ãËÓâËÑàÈÕâÉÓâÈÏÞÆÑáÆÑàÇÑàÃÌÚÄÍÛÃÎÞÃÌÛÄÎÚÇÏÞÈÑáÉÒâÊÕãÊÖâËÔâËÖáËÖáÊÖâÇÒ߯ÑàÄÏÞ¾ÌÞÀËÝ¿ËÜÂÌÛÀÌÝÀÌÛÃÎÞÄÏàÆÎ߯ÐáÇÒÞÉÑàÉÒàÉÏàÇÍÝÃÌÝÁÌÞÁËÝÃÌÝÁÏ߯ÏÞÇÑÞÃÐàÆÏâÈÑÞÉÓàËÕáÉÓâÌÔßËÔâÉÓáÊÖáËÔâËÔàÎÖäÏØâÑØâÏÙãÏÚäÐÚåÐÛåÐÙäÏ×ãÌÕãÉÔáÈÒ߯ÐáÆÑâÆÓàÉÒàÆÑâÆÏàÉÑàÉÒáÉÓàÌØãÎÙäÎØãÏØãÐØäÑÜãÒÜçÐÛæÑÛæÏØäÌ×åËÓáÉÓâËÕãËÔâÉÖãÎÙãÎØâÍØãÉÖáÊÖâÉÔáÇÓáÅÒàÅÐÞÂËܽËÚ·ÊܳÆÚ¯ÆÜ¯ÅܳÅÚ³ÄÖ¶ÃØµÆÜ³ÄÕ³ÆÖ²ÆØ±ÄÖ·ÇØ´ÆÚ·ÉÛ·ÇÚ¶ÈØ±ÇܬÅÛ²ÆÚ±ÆÛ¯ÃدÅÜ³ÇØ´ÇÚ±ÇÚ²ÇÛ¯ÅÚ­ÇÛ­ÅÝ®ÅÚ¬ÆÛ´ÈܱÇݰÈÜ±ÆØ­ÆÚ®ÆÚ®ÅÙ²ÇÛ°ÅØ®ÅÙ²ÇÙ²ÆØ°ÄׯÅÛ®ÇÙ¯ÅÙ­Ä׬ÄÙªÃÙªÅØªÄÙ§ÂÚ­ÃÚ«ÅÚªÃ×®ÃרÃÖ­ÃØ¬ÂÖªÁשÃ×¢ÁÖ¨Á×ªÂØ­ÅØ®ÄÖ¬ÃÖ­ÂÖ¨Áت½Ô«ÁØ«ÃØ§ÂשÃÖ«ÃØ¯ÃÖ®Á׫¿ÔªÀÖªÀÔ©¿Ôª½Ô¬ÁÖ©ÀÕ©ÁÕ­ÁÖ®½Ö«¾Ô«¼Ï«¼Ó©ºÑ¨ºÑªºÓ¨»Ó¬»Ï¨»Ñ©¶Ì¤·Ï¤¶Î¨¸Î©»Ñ®½Ð§¹Ðª·Í¢»Î¤ºÑ©ºÑ§·Ñ¦·Ì©·Î¬ºÍ¨¹Ñ¬¹Î§ºÎª·Ìª¸Ð¦ºÑ¬¼Í¨¹Ï¤¶Ñ¥¶Ì¡´Í£¶Í¥´Í¤¶Í¥µÌ§µÍ¤ºÏ¨¸Ì¥µÌ£±Ì¢µÎ¤²Ë ²Ë¡³Ë©¹Í§¹Î£´Í«·É¨¸Ì¢·È¯¶Ë§¹Í¬¼Í§»Ð±ÁÓ¸ÁѶÂÖ´ÂÕ·ÁÔ±¿Ó¯ÀÕ¯ÀÔ³ÃÓ²ÁÒ²¿Ð°¾Î®»Ë«½Ï¬¸Î¨»Î¦ºÏ«ºË¬¹Ï¯¼Ñ°¼Ð°»Í®¸Í®»Î¯½Î±¼Ò°¼Ð±¿Ñ±º¿½ÇËÃËÐÆÐÔ´Í’³Ì³Ñ“³Î‘²Ïš¶Ñ–´Î•¶Ê‘´ÎŒ±Í•³Ï“²Ð‘´Ð‘²Î±ÎŠ²ÌŠ²Î‹°Ï‰°ÌŽµÏŽ³ÎŒµÓˆ±Î”¶Ò“·ÏŽ²Í‘²Ì³Î’²ÌŽ±ÌŠ³Ì“²ÑŠ±Ð‘²Ì²Ï±Ð±ÎŠ±Ð’²Î²Ñ•µÑš·Ð›¹Ï¡´Î•²Ñ–²Î›±È µÏ µÎž´Ñ¡¶Î¦¹ÏµÎŸµÎž¶Î´Ð£µÐ¢±Ð¤»Ñ§¼Î¡¶Í¦¹Ñ¤ºÑ§»Ò¦»Ò¢ºÑ§»Ñ¢¸Ñ¸Ð™µÐ—¶Ð”³Ï’´Ï–·Ó´Ñ’µÑ–·Ð¶Î´Ñ¶ÑµÑŽ´Ñ¶ÐŽ¶Ò·Ò’·Ñ“·ÑŽ¸Ô˜·Ó’¶Ó–¸Ó“¸Ó”¶Ñ¹Òš¼Ô˜»Ò¶Ð’·ÓŽºÔ™»Ó›¸Õš¹Õ›ºÓ’¶Ó—ºÓ–·Ó›¶Ó˜ºÑ–¶Ñ•»Ñ‘¹Ñ•¹Òš»Ô™º×š·ÒšºÒ™¹Ñ™ºÔ’¹Ô“ºÔ–»Ó˜»Ô•¹Ó•¶Õ™ºÖœºÒ”»Õ—»Ö¹Ó—¹Öš»Ö“¹Öš»×›»Ô–½Ö‘¸×™»Öš¼Öž»Ô»Öš¹Õ¹Ö›ºÖ–»Õ˜ºÕ™»Ôœ¾Öš»Öž½Öž¼Øœ½×ž»Ô »Ö½×š¼Õ›¾Ö›¾Õš¼Õ¾Öž¾Ö£¿×£ÂذÈݶÌà´ÊÝ­ÆÚ³ÈÜ·ÉÞ¹Ìß¹ÌÞ¹Íà³ÈܪÄÙ©ÄÙ¨ÃÚ§ÂØ¦ÁØŸ¿ÖžÂÖ¡¿×ŸÁÚ›ÂÙ¤ÂלÀػӤÁפÁÙ¢¿Öœ½Ö™½Ö¡¿Ö¢ÀÖ§¾Ö¡ÁØ À×£ÁØžÁØ£Â×§ÃØ¥ÁاÄÙ±ÇØ¸ÇÚºËݽÏà¿ÏßÀÍàÁÐáÆÓâÇÕãÈÓãËÖäÊ×ãÈÓâÃÐá¼Îá³ÉÞ«ÃØ¤ÂÛ¦ÄÚ¤ÂÚªÆÚ©ÆÚ¤ÅÙŸÃÚ§ÆÚ©ÇÞ§ÃÙ¤Á×¢ÃØ§ÃئÃÚ­ÆÛ·ÉÞ¼ÊÞÁÏàÁÏݸËÝ«ÆÛ¦ÃÛ¬ÆØ«ÆÚ­ÄÛ¨ÃÚ°ÈÜÁÏÝÅÓâÅÓâÊÖãÌØäÌÚãÉÖâÃÒá²Èß­ÇÛ¤Á×§ÃØ©ÇÚ¦ÄÙ§ÄÙ¥ÃÚ¥ÄÚ¦ÃÚ¥ÁÕ¥ÄÛ§ÄÚ¬ÆØ­ÆÛµÈÞºÌÞÁÎâÂÎâ¿ÌݽÎÞ½ÎݼËÛ¶ËܰÃÚ³ÆÙµÆÛ¸ÆØ¶ÇÚ¸ÆØºÇØ·ÇÔ¹ÈÛ¹ÇܹÆÛ¼ÉÙ¿ÊÚ½ÍÛÁÎÞÁÎß½ÍÞÀÊÜÁÌÞÀÌÞÂÌÞÂÌÜÁÌÛÂÎÜÁÍÞÂËÝÂÌÞÄÍàÅÎ߯ÐàÆÓÞÃÏÞÃÑàÃÐàÇÑàÉÓâËÓâËÖãÉÕàËÔáÉÓàÉÓàÉÓâÈÐÞÅÍÝÆÌßÉÒßÉÓàÈÐÞÅÒáÊÒáÉÒâÊÓáÈÒßË×âËÕáÌÖáÊÓàÅÑáÂÎݾÊÛ¿ÊܼÊܾËÝ¿ËÜ¿ÌÞ¿ÌÝÂÌÞÁËÜÃÎßÅÑÞÇÑàÉÕßÌ×âÉÖâÆÏÞÄÍÛÁÎÜÁËÛÁÎÝÃÎÝÆÏÞÅÐÝÇÑáÅÐÞÆÑàËÓàÊÒàÍÖâÎØãÌÖãÌÔâÌÔáÍÖßÏ×âÐÚãÑÚåÑÚæÒÚãÓÛãÑÜâÐÛåÐÙäÌÕâÉÖãÊÒáÇÒâÈÑâÆÏßÈÐ߯ÒâÃÑßÂÏàÇÐáÆÑâÇÓãÎØâÎÛâÎÙäÎØãÏØãÎØãÌØãÏÙâÎÙæÌ×ãÇÓ߯ÑáÉÒáÉÔãÌÖâÍÖäÌ×ãÌ×äÌ×âËÕãÉÖâËÕâÇÑà¿Ëß»ÉݹÉÝ·ÉÚ´Æ×´ÆÙ³Ä×¯ÃØ°ÂÖ±ÂØ²ÄÒ°ÄֱĨ±ÄØ´ÆØ¶Ä×¹ÆÖ¶ÇÚ¹ÈܶÇ×¶ÆØ²Ç󨮯´ÇÛ®ÅÛ´ÆÙ«ÅÛ¬Æ×±Ã×­ÅÝ«ÆÝ«ÆÜ­ÆÚ°ÅÙ«ÃØ«ÃتÆÛ¯ÇÙ´ÇÚ°ÆÚ°ÆØ®ÄجÃÙ®ÃØ¯ÆÙ®ÄÛ¯ÇÚ®ÆÚ¯ÅÖ­ÆØ°ÆÙ®ÅØ©ÄØ¬ÂÙªÂÚ©ÄØ«Æ×ªÅÙ­ÆÛ¬ÄÛ«ÃÙ«ÄÚªÂØ°ÃØ«ÃØªÃÙªÆØªÃÔ¦¾ÙªÂ׬ÁתÁÖªÂÕ©ÂÖªÁתÃשÁÙ¬ÂØ­ÃÖ®ÃÕª¾Ö­ÀÖ¯ÂÕ­ÃÓ«ÂÖ¬ÀÖ«¼Õ®½Ôª¿Ö§½Õ¨¿Ö­ÀØ®ÀÕ«»Ó©ºÑ¬»Ò¨¹Î¤·Ë¦µÌ¨µÍ¦·Î¨¸Ì¤µÊ¥¶Ì¨·Î¤´Í§¶Ì¤·Ë£¶Î£µÌ¦µÍ¤¶Ì¤·Î¤³Ë£´Ë¡±Ë¤±Æ ±É¡´Ë¤µË¦´Ëª¸Í¢µË£¶Ì£µÉ£²Ê¥´Ì¥´Í£²Ë¥´ËŸ¯Ç ±Ë¡³ÊŸ¯É¡¯Êž®È›®É ±Çœ«Äœ¯Çž±ÇŸ±É®Æ ¯Ë±Ç¢°Ë¦³Æª¶Ë¤¶ÏªºÎ§¸Í§ºÌª»Î­½Î®½Ò±½Ò°¼Î¯»Ï¯½Î«¼Î¬»Î®¹Î«¸Ë¥°É¥²È¥²Æ£²É¡±Æ£´Ê¦µÊ©¸Íª·Í¯»Í­·Ë©·È­·Ê¯ºÍ¯ºË±»Ì±ºÈ¾ÇÎÄÍÑÇÐÓš³Í‘±ÌŽ°Ë°Ë“¶Ï“²Ð‘±Î³Ï°ÏŽ®Ì“´Ð²Ì®Ë“±ÎŒ±Ì°Í‹°Ïˆ­Ì‡®ËµÎ±ÍŠ°Î¯Î¯Î’±ÍŽ³Í±Ï±Î±Í²Í±Î—±Ì‹±ÌŽ±Î¯Ï¯Ï‹°Ë°ÍŽ±Í°Í’±Î”±Î’±Ð•³Ñ—µÒ–®Ìœ³Ë™±É™²Ì›±Ëš´Ì°Îž³Ð¢²ÊŸ´Îš³Î±Ì£·Í¨»Ñ¦¼Ñ§»Ñ¥¹Ò¦¹Ñ£·Î›¶Óœ¸Ð—´Ñ–³Ï”°Ð—¶ÑŒ±Ò‹±Ñ”±ÍµÑŒ±ÏŠ°ÐŒ²Ð’µÑµÑ’·Ó–¶ÒŒµÒ“´ÏŒ²Ï“·Ò´Ñ“¸Ñ’µÓ•¸Ó—´Ï—·Ñ’´Ð‘²ÎŽµÎ¶Ñ“¸ÑµÑ–·Ñ–´Ñ“¹ÒµÑ—·Ô‘³Òœ¸Ô™»Ò•¹Óœ¸Ð›»Ñ˜·Ô—»ÔµÐ¶Ñ•·Ð–¸Òš¸Ó›ºÒ”·Ó–·Ô·Ò—¹Ó“¶Ò‘¸Ñ•¹Õ•¹Ô˜¶Ó—·Õ‘¶Ñ–¸Ò’¹Ó–ºÔ•·Öš»Ô›¹Ôº×šºÕ•¸Ó˜ºÓ¸Õ™¹Ô“·Óš»Ô›·Öœ¸Ô˜¶Ó—¹Ó»Ö™¼Öš¼×œ¼ØŸ½Õš½Õ¡¼Ö»Õœ»Õ—ºÕ˜»ÖºÔ›»Õœ»Ö ½×¡¾Ø»Õž¼Ø ¾Ù¾×Ÿ¼Ö¨ÁÖ¥Áס½×£À×¢ÀØ¢¿×£ÁÖ½Öœ½ÖŸÁס¿×£½Ø˜¼Ø ¼Ùœ»Ø¤Áؤ¿× ¿Ö¢¿Ö»×»Ö™ºÖš¾Øž¿×¡¿Õš»×ž½Öœ»ÖŸ½Ö¾× ½× ½ÔŸ½×¤À×£ÀØ«ÆØ¬ÄزÅÚ¼ÊÞ¿ÎÞÂÍÞÂÎàÁÏßÂÑáÅÒãÇÒãÈÓãÅÑâÄÐá»ÊÞ®ÆØ¦ÁØ ÃØ ÁÛ ÁÚ¤ÀÙ¢ÁÖ¤ÁÖ¡¿Õ ÀؤÁؤÁØ¤ÃØ£ÀبÁÛžÁØ¥ÂØ«ÇÛ¶ÇÛ»ÌݹÍß³ÇݧÂÛ¦ÁÙ¨Â×©ÃØ¨ÃÙ©ÃÚ¬ÄØ»ÊÜÂÐàÆÒãÇÒâÇÓâÈÓâÄÑâ¹ÊÞªÃÛ§ÂÚ¨ÃÛ ¿Ø¤ÁÖ¥ÃØ¢¾×©ÄÙœ¾× ¿×£ÂפÂÛ¨ÂÛªÃÙ¨ÁØ±ÅØ¹ÇÚ½ËÜÀÎß»Ìß¶ÉÛ·ÇÛ¶ÇÛ­Á򨀯®Ä󱁯¸ÇÛ»ÇØºÈÜ¿ÊÛÀÉÚ¾ÉÛ»ÊÚÀÉÚ½ÊÙ½ËÛÁÌÝÁÌßÂÎÝÃÍÜÁÌÚÂÌÛÂÍÜÂÌÜÃÎßÁÍÞÄÎÞÁÌÜÃÍÚÂÌÞÅÐßÄÒÞÇÑâÆÏáÅÐàÁÏàÄÏàÆÑÞÇÏàÆÐâÇÑàÈÎßÉÒâËÑáÊÑáÊÓàÊÑàÇÐÞÉÒàÆÐàÆÎâÇÐàÅÏâÇÒâÈÓâÉÕáÊÓáËÔâË×âÈÓâÈÐàÃÍàÂËܾÇÛ¼Æ×»ÊÙ»ÉÛ¹ÇܼÊÜÁÍßÂÌÝÁÉÜÁËÝÁÌÝÇÏÞÊÓàËÖâËÒàÆÑàÅÎÝÄÎÝÅÎÞÃÍÞÄÍÜÄÌÛÅÍÝÂÏÞÈÐàÊÓáËÒâÊÑßÍÔàÌ×ãËÖâÌÕâÏ×äÒØäÑØåÑÚäÓÜåÒÛäÑÛåÑÛåÐÛçÑÛçÐØæÍÔâÊÐáÅÏàÄÐßÅÐàÆÑàÆÒàÈÓáÇÑàÅÎ߯ÏÛÇÐÝËÓâÉÓäÊØäÌÖâÍÕáËÓâÎÖâËÔãÍÓãËÓäÈÓâÃÎáÄÐßÇÒãÊÒãÌÔãÉÕâÌÔàÌÓáËÔãÉÕãÊÔáÇÒßÅÑßÁËÞ¶ÆÛ¶ÃÚµÂׯÄ׳ÂÖ±ÃØ±ÂÕ³ÃØ²Ã×´ÃÖ±ÄÙ³ÄÖ±ÅÔ±ÄÖ´ÅØ¶Å×»ÇÙ¶ÄÖ·ÅÙµÄÚ´ÆØ±ÇØ±ÇØ²ÇÙ²ÃׯÄÚ°ÃÖ¬Á׮Ĩ®ÄÛªÂØ¯ÅØ¬ÂØ«ÂÙ¬ÂÙ¬ÃØ®ÅÚ¯ÃׯÃ×®ÂÙ­Ã×®ÃØ°Âت¿Õ«ÃØ«Â×®Ã×¯ÃØ­Ä򨀯­ÂÙ¨ÁØ©ÃÙ©À׫ÂÙ¬ÄÙªÁÚ®ÄÙ®ÆØ¨ÁجÁÕ¬ÁÔ«Á׫ÁÖ¬Ã׫ÁשÄתÃÛ©½Ö«ÂÖªÁÖ©¾ÓªÂ׫¿Ø®Ã×°ÃÚ®ÁÖ®¿Ø±ÀÖª½Ô«»Ô¬»Ô¬¼Ô¬½Ó¬½Ô¥¼Ó­»Ó¬»Ó¥ºÒ©½Ð¬»Ò«»Ð©ºÎ¨ºÐª¹Ð©¶Ì¨·Ì£µÊ§°Æ¨±É¤¶Ì§µË§µÌ©±Ê¥±Ë£­Ë£³Çª±Çª±Ê§³Ë¢³Ê ±Ë£±É¢°Éœ®È¤°Å¡±Çž¯Æ›®Ç¤±É¤±Ê¢°É¤³Ë¢°Ê¢®É¤²Ì¤³Ê¡³Íž±Ì¡¯Èž®È®Ç›­Æ–©Ã›«Ã›¨Ä—¨Äž«Ç—¦Ã¬Â›®Å™­ÄžªÄ ®Æ¡­Å¬Ã£°È¥°É§²É¤±Ê¡°Æ¡²Ë¤±Ê¥µÍ¦¶Ì©µÌª¶Ï¥¶Í¨¶Ë¤±Éª¶Ç£°Ë¢®Åž®Å£²É¤³Ì¤°È£±È¤±É¥²É£±É§´Ê§¶Ì¬¹Î¨¶Í­ºË®³É®¸É¯·Å½ÅÌÃÊÑÆÑÖ’±Ë‘±Ì‰°Í’²Ì–³Î˜µÎ²ÌŒ³Î³Î‡°ÌŒ²Î‹²Ï—´Ï’°Ì‹°Í´Í‹²Í}¯Î‰±Î‰°Ë²Î´Ì“³Í²Í±Î†±ÏŒ²ÓŠ±Î‹°Î‹±Ñ‰¯Í’´Ð‘´ÐŒ±ÍŒ±Ïˆ®Ì‹¯Ì±ÏŽ²Í±Ï‹¯Í¯ÌŠ­Í‘±ÎŒ³Ì‘±Î™³Ïš³Ë±Ë–±Í—²Í–±Í—±Îš²Î›·Ñ›·Ñœ³Ì³Ï¡´Ð¥»Ó¡¶Í£·Ò¤»ÏžµÑœ¶Ñ’±ÎŽ±ÏŽ²Ð´Ð•µÑ´ÏŽ´Ð‰±Ñ‹´Ð“³Ð°ÍŠ±Ð‹µÐ‹³ÒŽ¶ÑŒµÑ‘¶Ò¶Ò•¶Ò‘¶Ñ“·ÑŒ´ÐŽ¶ÑŽ¶ÐŒµÓ·Ô”¸Ó²Î•·Ñš¸Ñ‘¶Ð‘¶ÓŒ¶Ñ™¹Ö“ºÕŒ´Î”¹Ò–·Ó“¸Ó–¸Ó–¹Ó™¸Õ–¹Ó•¶Ñ™¶Ñ•¶Ð“·Ñ¶Ó–¶Ô‘¶Ñ–¹Õ˜¹Õ˜¸Òš»Ò–¸Ö•·Ò“¶Ô“·Ò‘·Ô˜»Ø™ºÖ•·Ñ–ºÔ”¸Ô˜¹Ô–¹×“µÒ™¹Ó›¼Öš»Õš¸Ó”¸Õ“¸ÓœºÑž»Óš»Ö–»Ùœ¾Ø™»Õ—·Ó™·Ô»Ö›»Ö›¼× ¿ÚŸ¿Øœ½Õ ¹×»Ôš¹Öœ¹Ö˜ºÔš¼×›½×•»Õ™»×™¼Ó£ÀÕŸ½Ö¼Öš¹ÒŸ½ØžÁך½× À×›»Ö¼Ôž¾Õœ½Öš»Ó½Öœ»×ž¾ÖŸÁÙž¼Ôž¾Øœ¿×ž¿×›»ÖžÀÖ—¾Ø¿×ŸÀÖž½ÖŸ½×š½Ö¼Ö𽨢¿Øš»×žÁטÀמ¿Ö—»Õ¼Öš»Öž½×¡ÁÖªÃÙ¸Êß¾ÎâÂÎßÀÎàºÌÞ¿ÍßÄÐâÆÒâÃÓáÅÓâ¿Ðà¶ÊÞªÃÛ£ÁØ¡ÁØžÁÙŸÀÚŸÀפÂÙ¡ÁפÁؤÁÙ¥ÁئÃ× ÀÖ¢Ã× ÁØ›ÁؤÀ×¤ÃØ®ÆÚ³ÈÛ¹ÊݬÅÛžÁÚ£ÁܦÂÚ¤ÁÖ¤ÁØ ÁØ¢ÂÖ¯ÅÙ¸ËÜÀÐàÄÒáÁÐà¿Îà½ÐÞ·ÊÝ©ÄÙ¥ÂÙ£ÁÚ¤ÁØ ÂÙ¤ÂצÁסÀ×§ÅÙ ÁØ ÃÖ£ÀØ¡ÀÙªÅØªÄتÃÚ°ÇÙ»ÌÝ·ÌÞ¹ÌߺÉÛ´ÆÚ°ÃÛ¨ÃÚªÀתÄÙ¶ÇÙ¸ÈÛ»ÉÚ¼ÊÚ¿ÍÝÂÌÜÂÍÜÁÌÝÀËÜ¿ÌÝÂÌÜÃÐÝÃÍÞÆÑÝÄÌÜÄÎÞÂÍÜÄÎÝÃÏÝÃÐÞÃÏßÃÎÞÄÏÞÄÎßÂÎáÃÎàÆÐàÆÑÞÅÏÞÄÏßÁÏáÄÏàÇÓáÉÓàÇÑãÇÐßÄÏÞÆÒßÉÕáÉÓâËÖãËÕâËÓàÈÑâÇÑàÉÒÞÇÑàÈÑáÈÓâÌÖâÌ×ãÌÕâÌÔâËÕâÇÓàÃÎßÁÌß½ÉÚ¾ËÞ½ÉÝ»ÉØ·ÇÚ¸ÉݼËÛ½ËÜÃÌÞÆÑàÇÐßÌÔàÎÖáÎÖãËÓâËÓáÇÑàÆÐàÇÒàÆÐÞÄÎÞÈÌÝÆÎ߯ÏÝÆÐàÇÐÜÈÒßÉÓàÊÖáÌÖâÎ×ãÍØäÐÙåÐÚãÑÚåÓÜæÓÝçÓÜæÓÛäÑÜäÑÛæÐÛäÐÚåÍØãËÖãÉÓãÇÐâÅÎßÅÐßÃÎÞÂÏÞÃÏÞÆÎßÃÐÝÂÍÜÅÐàËÓáÇÓ߯ÒáÅÑàÉÓâÅÒâÇÓâÇÔãÇÏÞÈÒàÆÑà¾ËÞ¼ÌßÃÑáÇÓãÈÔâËÒâÌÕàÌÔßÇÓâÈÔáÄÐáÂÏá¿Îß¹ËݵÇݶÆÜ±ÄׯÂÖ¬ÂÖ®ÁÔ³Ã×²ÃØ²ÄÖ³Â×µÃÖ²ÃÔ¯ÃÖ³ÆÖ·Æ×·Æ×¶ÇÖ¶ÉÙºÆÖ»ÆØ¸ÆÙ²ÃÛ³ÃØ±ÆÛ³ÆÛ®ÄزÆÛ²ÃØ®ÅØ¬ÅÜ®ÃÙ¯ÆÚ­ÅØ­ÃÕ­ÆØ¯ÄÚ¶ÅÙ³Å򵁯°Å֮Ũ°ÆÚ®Å×®ÆÙ®ÃØ­Â׬Á×®ÃÖ©Â׫Ũ«ÄØ©ÁÖªÃÙ¬ÃÚªÂØªÄÕ¯ÅÙ¬ÃØªÃØ«ÂÖ¨ÃÚ¨ÃØ­ÃÖ¬ÁÖ­ÃØ®ÃÖªÃÖ©ÁÕ¤½Ø¨Âب¾×¬¿ÕªÂÖ®Â×®Ä׬ÁÖ­ÃÖ­ÁÙ¬ÁÕ¨ÀÓ¬½Ò¬»ÐªºÒ¬¼Î¬¼Ñ«»Óª»Ó­½Ó¬½Ó­¾Õª¼Õ©»Í«ºÐª·Ì«·Ð©¶Í©¶Í§³Ê£¶Ì©´Ê¢²É´Ì¥´Ç¦¶Ë¤µÉ¡³Ë¢³Ë£´Ë¤±É¤±É¡°Ç¡¯ÈŸ®Æ£°Ç£¯É¡°Ç›«Ç›­Æž­Â ®Çž­Æ °Çš®ÉŸ®Èž­Éž®È ®Ä™ªÅš®Æž«Ä˜¨À­Å­Á“£¿˜ªÁ”¤½˜ªÀ‘¦¿˜¨À™«ÄœªÆ™©Ã•©Ã™­Å›ªÆ™¨Àœ¬Ãž¬ÆžªÄ›ªÄ­ÄŸ®Æ¢­ÇŸ±Ë¢±Çž®Ê¡²É¯Æ£²Ê£¯Å¦±Ç ®Ç›®Ãž­ÆšªÁž¬ÃŸ®Å¤¯È£®Å¢³Ã¢¬Ã¥³È§±È¨²É¨´É¨´Ê§·Ê¦µÉ¬µÃ½ÉÌÂÍÒÆÐֱ͖´Î²ÐŠ´Î’¶Î‹²ÐŒ°Î’³Î‰±ÎŠ²Ïˆ´Î„±Ìˆ¯Í‘µÐ’±Î’²Î‡°Í‡°ÎŒ³ÍŠ±Î€±Ì‰´Ï‹³Ï³ÎŽ±ÎŒ²Íˆ¯Éˆ±ÌŠ°ÏŒ±Ð‰°ÏµÐ‡±ÏŒ°Î‰±Ë±Î‹°Í‹³ÐŒ±ÍŒ´Ñ…³Ð‹²ÐŠ°ÏŒ±Ï†°ÎŠ°Î‰°Ë‡®ÊµÑ‘¶ÒŒ±ÎŽ³ÏŽ°ÌŽ´Ñ‹´ÒŽ´Ñ•¶ÐŽ³Î˜µÏ–¹Ñ˜¶Î”³Ð‘²Ñ‹±ÑŒ±Ðˆ±Ð‰²ÐŒ´Ðˆ´ÏŽ±Ð‘µÑŒ±Íˆ°ÎŒ´Ó…¯Ð‹²Ð²Ð‹±Í•·ÑŽµÑ¶ÐŽ¶Ñ¸Ò”¸ÓµÐŒµÒµÓ´Ó‘·Ñ’¶Ò‹³ÑŽ·Ô“¶Ó¶Ò™ºÖš»Ò‘¶ÒŒ¸Ò¶ÑŠ¶ÑŽµÑŒµÔ‹µÒ—¶Ð˜¹Ó”·Ñ˜·ÑŒ¸Ó“·Õ–ºÖ”»×˜¹Óœ¼Õ˜ºÔ–·Ð–¹Ð˜¹Õ–¶Ó–¹Ô’º×–»Ó’¸Ò˜ºÔ’¸Ó’¸Ô¹Õ›ºÔ‹¶Ó—»Õ¸Òœ»Ö•¸Ó‘·Ò‹·Ô‹·Ó¶ÔŒ·Õ—¸Ô˜»Ó–»Ô™¹Ó‘·Ö’¹×—¹Ö—»Óš½Öœ¼Ö™¹Ôž½Õ›»Ø—»Ó˜»Õœ¼×˜ºÕš»Øš¼Ö™¼Ö™ºÕ›»Ôš¾Ö–ºÖ“¼Õ“¼Ø¾Ù›¿ÖžÁ׻ך»Õ—»Öš½×™»Ø›»×œ¿×›¾Ó—»Ó•»Ô—¹Õœ½ÖšÀÖš»Ô›Áו½Õœ¾×š»Ö˜»Ö‘½Öš¼Ö”»×—½Ö™½×𽨢¿Úœ¾Øž¾Ö™À×›ÁÙ›Àך¿Ø˜½×œ¿Öš½×½×š»Õ˜¾Ø£ÃÝ®ÇݳËݶËÝ­ÈÛ´Ëß¹Ëß¹ÌáºÍ߸ÌàµÈݪÆÜ£ÃÚÁÙÁÙžÀؘ¾ÙŸÁØŸ¾Ù¡ÁÖžÂÚ˜ÂØÃÛ¢ÁØœ¿Ø¤ÀØ Áמ¿ÖœÀÖ£ÂןÀÖ¤ÃØªÆÛ¤ÂØ¢¾Ø¡¿Ø¢ÂØžÂסÂ×ÁÙ¡ÃÛ¥ÂÛ«ÃÚ®ÅÛ³ÉÝ´ÉÚ´ÊݶËÛ«ÇÚ¢ÁØ ¿Ø¢Á×¥À×¢ÂÙŸÃØ¡ÁÚ¤ÂØ£ÃØ£ÁØžÀÖÁØžÂÛ¤ÁÙ ÂØ¦ÃÚ¬ÆÛ®ÇÚ¯ÄÛ²ÇÚ®ÅÚ®ÆÚ¦ÀبÃÛ¤Â×°ÇØ´ÈÚºÊÛ½ÌÞÂÍÝÂÏÞÃÏßÃÎÝÄÐÝÅÏàÄÐßÃÐßÃÐÝÅÐßÄÒÞÁÎÝÃÍßÁÏßÂÑÞÃÑàÃÐàÁÎßÃÎàÃÏàÃÏÜÁÎßÄÐàÁÒàÂÍÚÃÎßÃÎÝÅÐáÆÑáÇÑáÄÑâÄÒâÇÒáÈÐÞËÒáÈÓáÉÕâËÖâË×ãÉÔãÉÔâÈ×âÊÖâÉÖáÉÕáÉÔáË×ãËØäËØâËØãÉÖãÊÕáÇÑàÄÏàÀÍݽËܾËÞºÌݸÊÛ»ÊÝ¿ÌÝÄÎÞÄÎàÇÔãËÔãËÙãÍÛãÌÜãËØãËÔâÉÒáÆÑáÆÐÞÆÐáÆÓáÅÑâÄÑÞÆÑàÇÑÝÉÕâÈÓãÊÕâÌ×äËØäÎÛåÏÙæÑÙåÔÜåÓÜæÓÜçÐÜåÑÜçÏÛåÐÝæÐÛåÎÚåÏÚåÉÕãÆÓãÆÐáÄÐàÁÏÞÁÍÝÂÍÞÃÎßÅÑâÃÎß¿ÌÞ¼ÉÛ»ËÝÀÌàÀÎÝÁÎØÄÍÞÃÏßÂÏàÄÎàÄÒàÃÎÝÁÑáÀÎß½ÊÞÂÌÞÃÌÞÅÑáÃÐáÄÑàÂÏáÆÓàÂÑá¿Ðà½ÎÞ¸ÌܵÊÝ´ÊÛ«ÆÚ®ÆÝ¯ÄØ®ÅÚ¯ÂÕ²ÃÖ®Ã×®Ã×®ÁÔ²ÂÛ²ÃÙ±Ä×±ÃÓµÃÔµÅÔµÅֱĨ¶ÇÙ·ÆØ·ÆØ¸Ç×´ÅÖ°ÇÚ²ÇØ®ÆØ¯ÆÙ°ÅÙªÃØ°ÇÚ²ÆØ«ÃÙ¯ÇÛ®ÅÛ°ÆÛ­ÃØ®ÆÛ­ÆÛ°ÆÙ¯ÆØ¯Æ×¬Ä򨁯°ÆØ®ÄÙ®Æ×®ÅØ«ÅØ©ÄÖªÂ×§Á×§ÃØ¥ÃÙ¦¿×¨Á׫ÃשŨ¬ÄرÅÚ®ÃØ®ÅØ®Ä׫ÃÖ§ÂÖªÃØ­Ã×¬ÂØªÁÖ¨ÁئÀÖ§ÁÖ¤ÀÔ£ÁÕ§ÁÖ¨ÁÙ©ÃÖ«¼Òª¿Õ¨¼Ö§¿Ó«ÁÔ©¼Õ«»Ò«»Î¨¸Íª·Î©¹Íª¹Ò¦ºÎª¼Ñª½Ñ¨ºÎ¦¶Í¥·Ê©¹Ë¨¶Ë¨·Î§¶Í§¶Í§µË¤·Ì¥¹Ê¡±É¤³É¥²É¤±Ê¡´Ì¢±È¡®ÆŸ®ÆŸ°ÇŸ®Æ ¯Ç¬Å¡±ÊŸ°È¢±ÇŸ®Ã›³Èš¯Ç—ªÈ–ªÆ›¬Â›®Á—©Â—¬Ã™®Ä—­Å™ªÄ”©Ã’«Â—¦À”¦½™«Á˜¨¿”¬ÃŽªÂ‘¨¿’¥¾¢¸•§¾‘¨Â”§¾•¨¿–¨½˜¬Á”¨Á”©Ã™«Áš§Á˜¨¿˜¬¿™¦Â˜ªÃ˜¬Â—ªÁ¨Ãš¬¿œ®Á–¯ÃšªÆŸ®Æœ­Æœ®Ãž©½šªÆ›­Ä¬Å›­Æ °Éš¯ÈŸ®ÇŸ¯Ä¥®Ä ­Ç¥±Ç¥²Æ¡¯Æ ³Ê§´¿»ÉÍÂÍÒÄÏÕ’±Ë’²Í‘®Ì“³Î€±Ë²Ì‡®É°Ë‡±Í’±Ì®É‹°Î‡¯Í²Ì‚®ÌŠ²Í³ÍŠ±ËŠ±Ëˆ¯Ê„°ÍŒ°É‰°ÌŽ±Ê‹±ÌŠ±Ì±Ë„­Ê†¯Ë‹®Ë…°Ì†®ËŽ³Î‰®ËŒ°Ë‡¯Ì±Í‡®ÉŠ°Ì‰°ÌŠ¯Ì²ÏŽ±Ï³Î†°Ë²ÊŒ¯Ë‡°Ë•µÏ±ËŠ¯ÌŒ¯ÉŠ±ÍŠ±Ì°ÎŽ°Ì‹®Í¯Ï†®ÎŽ±Ð‹±Î‰±Í‹±ÍŒ±Ì±ÏŽ±ÎŒ´Ð‹°Î‹°ÐŽ²Ï³ËŽµÎŒ±ÎŒ±Ï‹°Ñ³ÐŽ±Î±Ï’±Ð´Ð’¶Ð³ÐŽ´Ð³Ð‰²ÐŽ´Ð‘¶Ò²Ñ–¸Ï•·Î‹²Î’µÎŽ±Î”µÎ—¹Ó“·Î’¶Î”¶Í”·Ñ¶Ñ‘³Ñ‘²ÑŒ³Ï‘´Ò‘µÑ•¶Î™·Ñ”µÑ™¸ÑœºÒ”¹Ñ™·Òš¹Ó•·Ó—¸Ï›¸Ñ²Î–¶Ð•·Ñ›ºÔ›¹Ó”¶Ñ—¶Ñ‘µÐ˜¹Ó™¸Ò—·Ñ•¶Ñ˜¸Ó˜¹Ò•¸Ó¶Î–ºÓ—¸Ò’·Ï–·Ò˜¹Ó™¶Ñ•¶Ô™¸Ñ–¶Ï”ºÏ’¸Ðœ»Ñ’¶Ñ™»ÕœºÔ˜»Ö˜¹Õ›»ÔšºÓ»Óœ»Õš¹Ó–¹Ó˜¹Ó—»ÕŸ¾Öš½Ô˜¼Ô–·Ó˜¹Ò˜ºÒ›¹Óš»ÕŸ½Ô˜ºÓ•¹Ò»Óž½Õ˜»Ô»Ó—»Õš¼Öš¼Ö›¿Ö—»Ó—»Õ›ºÓ–»Ó•»Ó—»Ô˜½Ô˜»Ö–»Óš½ÓžºÔ—ºÓ—¼Ò˜¸ÓšºÓ˜»Öž»Öœ»Ö™»Öœ½Õ ½Õ“ºÓ—¼Ô™¼Ö˜¼× ¿×œ¼Ö»Ó¥¿Õž¿×¢¿Ô§ÂÖ¦ÁÖ§ÁÚ¦ÃØ©ÂØ¥ÂÖ«ÆÚ£ÄÙ¤Áؿ؞¾Ö Â× ¿Õ£½ÕžÀÖ›½Ö›½ÖžÂÖ›¿Õ¡ÀÕ™½×ž¾×ž¿×¢¿Õž¾Ôž½×¢ÁÖ¤ÀÖ¢ÁØœ¿ÖžÁ×¢ÁÖ¤¿ÖžÀלÀÖ¢ÀÖœ¿Ö£ÁÖ¤ÂØžÁØ¥Áפ¿Ö¤ÂØ¡ÃØ¨ÂÙ£ÂØ¿Õ£ÁئÁפÁØ ÀסÁÕ›ÀØ£ÂØ¡ÂפÁÖ¡ÁØŸÁØ›½ØŸÀÖ ÁÖ£ÀÖ£ÃØ¡Â×¢ÁØ©ÃØ¬ÁØ­Á×¥ÁÓ¦ÃÖªÂÖµÆÖ¶ÇعÈÚ¹ÈØÁÌÜÆÎÝÇÑÞÇÑßÇÒáÇÑßÇÑàÆÒßÈÒÞÇÒàÇÑßÄÏàÂÍÝÃÎßÅÏÞÅÐßÃÎàÅÎÝÅÎÞÆÑßÃÍÜÃÌÛÃÎßÃÍÛÆÌÞÆÎÜÇÏßÇÑßÈÓâÅÑÞÆÐßÃÏáÄÐÞÆÑÞÇÔâÈÓßÊÕâÊÕáËÖàÉÓàËÓáÉÓáÌÓâËÔáË×ßËÖáÊÖâÉÖáËÕàÌÕáËÖáËÕáÊÕâÊÔÝÃÐÝÃÎÝÄÎÜÀËݾËÜÂÌßÃÏßÅÒàÉÒàÊÓáÌÕâÍÔàÍØâÏÙâÉ×ãËÕâÉÒàÇÑàÉÏÞÅÎÜÅÑÝÇÑßÇÎÝÉÑàÇÓáÊÔâÌÕâÎÔáÎÖâÎØßÑÚäÓÙæÒÛåÔÝæÔÝåÓÛãÓÛåÓÜäÑÙäÐØâÏØâÏÙäÌ×âËÖáÈÒßÈÏÞÅÎÝÂÌÝ¿ËÞÂÌ߯ÎàÄÏÞÆÎÛ¹ÉÙ¸ÇØ½ÇÚ½ÇØ»ÉݾËÝ¿ÌÙÃÎÙÃÐÞÃÌÜÁÎÛ½ÌܹÌݽÌݾËܽÉÙ¾ÍÝÁÎÞÃÎàÆÎÝÃÎÞÂÎÝ¿ÍÞ³ÊݶËܱÈÚ³ÆØ¯Ä×¯ÃØ°ÄدÂׯÂÔ­Ã×±ÁÕ¯ÂÔ±ÂÖ²ÀÒ´ÁÓ³ÃÔ´ÃÕ´ÃÕ¸ÅÖ·ÄÓ·ÆÖ¸ÃÕ·Æ×»ÄÔ¸ÆØµÇÚ¶ÇÛµÇÙ°ÇØµÅÖ¶ÆØ´ÅÖ³ÅÖ¸ÇØ®ÆØ±ÆÚ¯ÆØ®ÅرÆÕµÄÕ±Å×±ÃÖ³ÃÕµÅÙ®ÄÖ°ÄÖ²ÄÕ­ÃÖ°ÂÖ¯ÃÕ­ÀÕ¯ÃÖ¯ÁÕ«ÂÔ«ÀÓ­ÄתÁÖªÁÕªÁשÁÕ®Ã×³ÆØ´ÆÙ¯ÅÙ¶ÆÔ®ÂÓ­½Õ¬ÀÔªÀÔ®ÁÖ­ÀÓ©¾Õ¬ÁÖªÀÓ­ÁÓªÀÓªÀÓ¨½Ó¬ÃجÁÓ­ÁÓ«¿Ô¯¾Ó®¿Óª»Î©¼Î©»Ï©»Ð«»Ñ§´Ë¨¹Ì§¶Î©¸Ï«ºÎ«¹Í©·Ê¨¶Ì¤²É¬¶É©³Ê§¶Ìª·É¦µË©¶Æ«µÈ¨·Ì¥µÉ¨°Å¨´É¤±Æ ®Â ­Å ­Ã ®Ã ¯Ã¢­ÈŸªÂ ¬Ç£°Ã¡­ÃžªÀ ­Àž«Ã «Á¬Ãœ¦¿™ªÅ›«¾—¨Á˜©Á•§À•¥¾”¢¼—¦¾”¤½”§¼¦¾”¤¿—¥¾“¤¿‘¤¾”£¼Ž£¼”ž¸¡½Œ¢½ º’¨À¦½”¨¾”ªÁ“¥½§¿™¦¾Ž¤½•£»™¤Á’¤¿˜¥¾¢·˜§Á—«Á™«Ã™ªÀ˜¥½™¨Á•«Â“ª¾œ®Å®Ã—©Âš©À™ªÃšªÁ¬Ã«Á ¯Å¡¯Ä›ªÀž®Ç¤­Á¤®À¥±Ã¡¬¶½ÆÌÄÍÑÉÏÔ“°Ë°Ì—´Í°Ê¶Ë´Í‹°Í‹°ÍŠ°ÍŒ±Îˆ®ÍŽ±Ë‹²ËŒ±ÍŠ±Ì‡±Ë´Ìˆ°Î´ÎŒ°ÌŠ±ÉŽ¶Íˆ¯ÌŠ®ÌŠ¯ÍŒ¯Ì°Í†±Í†¯Ì†¯Ë‡¯Ì‹­ÌŠ®Ì¯ËŽ¯Ï‹°Î°Í‹±Í‰°Ê°ÍŽ±ËŽ°Ì‹°Í‘³ÍŠ°ÎŒ®Ì‘±Ì‹¯Ë²Ð„¯ÌŠ­Ë‹±Î†¬Ì‹±ÐŒ±Ñ“²Î”³ÎŒ®É‹®Ëˆ¯ÍŠ°Ï‘³ÏŽ³Ñ±Î‘³ÎŽ²Î…°Í‹±Ì…°Í‰²Ð‰²Ð±ÏŒ±Î’¶Ð³Î±Î®Ì’°ÍŽ±Ð´ÐµÓ±Ï´Í†²Î‹°ÌŽ²Î³Ñ´Ò´Ñ“µÐ‘¸Ñ—¶ÍµÑ–¶Ðš¹Ð’¶Î¹Ð’¶Ñ—¶Ñ•¹Ò–¸Î‘µÑ–¶ÓµÒ™¸Ò™¸Ñ™¸ÑšºÑŸ»Ò“¶Ðœ¹Ô—·Ò˜¸Ð˜·ÒšºÒ™·Ô›»Ô˜¹Ñœ»Ñ»Ò”µÐ˜¸Õ˜¹Ð—¸Ò‘¹Ô–¹Õ—·Ñ’¸Ò˜·Ñš¹Ï•¶ÑµÒ˜¸Ñ—¸Ó•ºÓ‘ºÓ—¹Ñ˜¸Ô”·Ñ˜»Ô™»Ô–¹Óœ»×—»Ó›ºÓ™»ÖœºÔœ»Ö–ºÖ »Öœ»Ö˜»Õ»Õ”ºÔ˜ºÔ¼Õ›»Ô—»Õ›¼×›ºÕŸ½ÕŸ¾Ôš¼Ó¼Öš¹Õ»Ö˜·Ô™¹Ôž¾×š»Òš»Ô˜ºÔ•»Ö•»Öœ¼Óš»Ó™»Óš¸Ô¿ÖŸ½Õœ¾Ö˜¼Ö•»Õš¸Õ˜¹Ò¼×œ½Ó½Ö’ºÑ›»Ö˜ºÔž¼Ö˜»Ó“ºÖ•»Õ›½Õ–»Ó™»Õ¡¾×œ¼Õ˜¼Ôš¼Õ›»Ô•»Ó™¾Öš½Ö¾Ö ½Õš»Ôž¿Øœ¿ÖŸÀÖž¿×ŸÀ× ¾Ø½ØŸÁؤÁÖŸÀ×ÁØž¿Ö½Ö¢¿Ö™½Ö¡½ÔœÁÙÁÖž¿× Àט¼Ö¡À× ÁÚ˜»Öž¿×ŸÀÕ¢Áל¾Ö ÁÙ¤ÁئÂÙ¡ÀÖ£¿Ö¢ÁÖŸÂÖ›ÀÖ¦ÁÖ›¿Ö¡ÁØ¥ÂפÀØ¢ÁÕ¢ÁÖžÁØ£ÀÕ ÀÖ¡ÁÖÁמÁÖ§ÃסÁ×›ÁÖ¡ÂÖ¤ÀÖ¤ÃÖ¢ÁØ¢ÁØ¦ÃØÁؤÁØ£¿×¢ÂØŸÀؘ½×¤Àפ½Ö ¾Ö¥ÁÖªÃ×²ÇØ»ÇÙ»ÉÛ¾ÌÚÂÎÜÆÑáÉÓâÊÓàÉÔàÉÔàÊÑÞÈÓàÉÓáÇÑàÉÒàÇÐ߯ÏÞÄÐÝÆÎßÄÏßÃÐáÅÎßÂÎàÃÐáÆÎàÇÑÝÄÐ߯ÑÝÇÓßÉÓàÇÐáÈÑâÊÒàÇÒàÆÑáÄÑàÃÐÝÅÑàÆÏßÄÎàÇÑâÌÓàËÔàËÕÞÇÒ߯ÑßÇÒàÈÓáÉÕâÊÔâËÖâÈÔàË×âËÖâËÖàÍ×âÌÖãÌ×äÌÖâÌ×âÆÒÞÃÎÝÃÏÞÃÏßÇÐáÆÓáÇÓâÍÖáÌ×âÌØáÊÖâËÖâÊÓáÉÑàÈÒáÇÎ߯ÐÞÆÑÞÇÑÞÇÐÝÆÎÞÉÎÝÇÑÞÊÑáÌÖäÏ×ãÐØãÏØáÑÛãÒÛåÓÜåÓÝæÓÝçÓÝæÓÝçÑÛäÐÙâÑÚâÐÙãÏÙâÍÖâËÖäÊÑâÊÒáÉÑÞÂÎÜÀÍÛÂÍÞÁÎßÃÍàÁÎÞ¿ËÝ»ÉÛ·ÊÛ¹ËØ»ËÚ½ËݼËݽËÜÁÌÞÀÌà¾Èܽɨ»ËÞ½ËÛ¹ÉÜÁÉÜÀËÜÀËÞÃÎßÃÑàÀÎß¼ËܵÈܱÇÚ«ÅÙ«Ä׬Ĩ±ÆØ°ÅÖ±Æ×®ÃÖ²ÂÕ³Â×±ÂÖµÁÖ¯ÁÕ¯ÂÔ²ÁгÄѶÃÔ¶ÃÓ»ÆÖ¹Æ×¸Æ×½Ç򼮯¼È×¸ÇØ¶ÇصÆÖ¶ÆØ³ÇÚ³Å×µÆÙ¹ÆÙ·Ç×ºÆØ¶ÆØµÇÙ³ÈÚ¶ÆÙ¶ÆÚ±ÄصÅÕ¶ÅÓµÃÖµÄÖ±ÃÓ³ÂÓ´Å×°ÂׯÂÖ±ÂÖ³ÃÕ²ÄÔ­ÃÖ¬ÄÖ¬ÂÖ®Ä×®Â×®ÃØ«ÁÖ«ÁÕ¯ÄֱŨ°ÃֱŨ±ÃسÂÖ­½Ô¬ÁÔ°ÂÔ®ÁÖ­ÃØ­ÁÓª¾Ø¬ÁÖ­ÁÖ¯ÂÕ­ÁÕ®ÀÔ¬ÁÕ­ÁÓ«¿Ó­¿Óª¾Õ®¾Ó¬¼Ï©½Î«»Ï¨¹Ñ©·Í©´È¨³È¦µÌ¨·Íª¸Í®ºÎ¨¸Ë¦µÌ§¶Ê§µÈ¦³É¤´É¦¶Ê¨³È©¹Ë©´Ë§´Ç§¶Ë¥¶Ë¦´É¢±Ç§°Ã¤³Ç§µÆ¡±Çœ¬Á ®Å£±Ã °Æ¢±É¢°Ç¡­Ã¢«Ä£ªÁ£«Ã ¬Â›ªÃ›¨Å›§½Ÿ¬À™«Ä˜¨¾•§¿¥¼“¥¾¡½£¿Œ¢¿‘¦¿—ªÀ•§¼‹¥¾ˆ¢¼£»‘£½“¡¼‘¥» ºŽ¤¼‘¡»’Ÿ¶ ¶¡½Œ£À‘¢º—¨¼˜¨½’¢¼’£·‘©½“¨¾¤¼œ¦»’¢½–§¾˜¥»“ªÁ“¤»•§»‘¤¾–¤¿˜§À¬Ã›ª¾˜ªÀžª½˜©Á›¬ÃŸ¬Â˜¬Ã¯Å£±Æ¡­Æ¡±Áž¨´¿ÅËÅÌÑÈÑÔ’±Ê³Î’³Ì‹°ÌŽ²Í³Í±Ì…®Ì‰°ÎŠ±Î±ÎŠ±Ï‰±ÍŽ±Ì‹°ËŒ±Ê‰´Ï³Î°ÍŠ¬Ì‰±Í²Ë®Ë³Î‘²Î‡®Ì†®ÌŒ±ÍŠ²Í‰°Í‡¯ËŠ¯Ë‹¯Ì‹¯ÍŒ°Î‹°Í…®ËŠ±ËŒ±Ê„¯Ë‹±Í‰°ÌŠ°Î±ÏŠ¯ËŒ®Ë‰®Ë‹¯Ì‰±Ë±ÎŠ²Î¯Ê†¬Ê…­ÍŽ®ËŽ®Ê‡¬É°Ì‰¯ÎŒ±Ñ†ªËŒ°Ëˆ°ÌŒ±ÌŒ±Î‡±Ì‰³Î‹±ÎŽ±Ï‡²ÏŒ¯Ì±ÌŽ±Ï´Ð¶ÑŽ²Ñ…°ÏŠ²Í‹³Î¶Ï‰±Î³Ï²Î‹±Î‰±Î±Î‹´Ñ’µÑŽ·Ð‘·ÓµÑ—¶Ó—¶Ñš¶ÒžºÓ‘·Ïš¸Ò‰±ÏŽ¶Ñ–¶Ñ´ÑŽµÑ‘¹ÓµÑš¸Ð›¹ÒžºÔ›¼Öœ¶Òœ¹Ñ˜·Ò˜·Ò˜¹Ï—¸Ò›ºÓ¸ÒžºÑŸºÑ£¼Ñš»Ô”¶Ô—·Ó—·Ò»Ó–¹Ò–¶Ó—¸ÑµÑ’·Ñ’·Ô’¹Ñš¸Ó‘¶Ò“¸Ò˜»Ó–¹Ö›¸Ó–·Õ™¹Ó•¸Ñ™ºÒ˜»Õ”ºÖ™½Ôš¹Ó™¼Ö•¹Õ™»Ö–¸Óž»Ôš¶Ð–¶Ñ™»Õ—ºÕšºÕš»Ô›»Ô˜¼Ô™»Ó—ºÓš»Ô™»Óš»Õ˜»Ö˜½Ô’ºÓ™ºÓ—»Óœ½Ô˜»Ô’ºÓ™»Õ–¸Ó˜»Ó–»Õš»Õ™ºÒš½Ö™ºÕ—ºÕ›»Ö›ÀØ–»Õ™»Ó–¹Ô™½Öš¼Ô»Öš»Ö˜»Ö™¼Ôš½Õ›¼Ô•¹Ò•¹Õ–ºÕ–»Õš¼Ö•»Öœ½×™½Ó™»Õ–»Õ›¼Ô›½Ô½Ö›¾Ö—¼Öœ¿ÖžÀÕš¾Ö”»Öœ¿ÖÁÕš½ÖœÁÚ˜ÀØÀÖ¤ÁÖœ½×˜¼×˜¼Õ½ÖžÁלÀÖ¾Ö¿Ø›½Ö¼Ö™½×žÁÓœ¾ÖœÁØ—ÀÖ™½Õ ÃØŸ½Ó™¼× ÀןÁÙ¡À×ÀØ ÁØž¾ÕœÀ×£¿Ö¢ÀØ ÁØ Á× ¿×¡Á×¢ÁØœÀÕÀÕž½ÔÀÖš¾× Á× ÁÖ¡ÂפÂÖ¤ÃØ¥ÂؤÁØšÁÚ ÁמÁØŸÀØ ÂØ›ÁמÁÖ¢ÀÖ£¿Ö¡Á×£ÀÖ£ÁÔŸÁÖ§ÃÕ¯Æ×»ÇؼÈÜ¾ËØÂÍÜÆÐàÇÓâÈÕâÉÕäÉÖâÉÖàÉÔâÇÔâÆÓàÆÑàÅÑÜÂÐÞÄÐÞÇÑÞÅÑàÄÐáÃÏÞÅÏàÅÑÝÅÒÞÇÑàÇÒãÇÔâËÔâÉÓàÆÐáÃÒàÂÑàÁÑܾÎàÂÎßÂÎßÂÎÝÃÐÞÁÐÞÃÑàÅÒÞÆÑâÉÔÞÇÓàÃÐàÆÏÞÄÑ߯ÑáÆÒáÇÔãÈÓáÇÓâÌ×ãËØâÌØãÌØãË×âÉÔãÉÔáÃÐáÁÐàÁÐàÆÐàÅÒàÅÑßÄÐßÇÓáÇÔáÉÔâÉÓÞÉÔáÈÒßÇÏÞÄÏÞÄÎÝÄÎàÃÍÝÄÎÞÂÎÝÆÑÝÆÎÝÉÑÞÌÖàÎ×àÎØãÐØáÑÚãÑÞãÓÜæÕÞçÕÝæÖÝæÖÝäÒÚãÏÛåÐÛæÎÚäÐÙæÍØãÌÖâËÕâËÔâÉÔàÆÓáÅÑàÄÐàÃÐàÁÏÜÃÎÞÁÌÞ¾ÌÝ»ÉÝ·ÉÛ»ÉܶËݶÉÙ¸ÇÛ½ËÙ»Êܻɨ·ÇÛ¹ÇܶÆÛ¶ÇÛ»ÈÙºÉÜ´ÇÙºÈÜ»ËÞ¹ÉÛµÇݵÄÛ±ÅܯÅ׮Ũ°Å×®Ã×°ÅØ³ÄÖ²ÁÔ¯ÀÖ³ÂÖ°ÃÔ²ÄÖ±ÂÒ¯ÁÓ±ÂÓ±ÂÕµÄ×´ÆØµÆÔ¸ÆÔµÄÕ´ÃÕ¶ÇØµÆÖºÉظÆ×¸ÆØ¶ÆÙµÇÛ·ÇÜ¶ÇØ¶ÇÙ»ÇÖ»ÆØ»ÆØ¶Æ×¶ÇغÉÙ¶ÇÖ³ÃÕ±ÂÓ®ÀÓ²ÂÖ±ÄÕ³ÅÖ°ÃÕ³ÁÓ¯ÃÖ°Ã×´ÃÕ°ÃÔ°ÃÔ¯ÃÖ°ÃÖ®ÃÖ°ÂÓ°ÂÕ¯ÄÖªÁÖ­Ã׬Ä×°Ã×±ÃÖ®Ã׳ÄÖ±ÅׯÃÖ®ÁÔ«ÁÖ­¾Ó¬½Ô¯ÁÔ°½Ò®¾Óª¿ÓªÀÓ­¾Ñ«½Ð­½Ó¬ÀÖ®ÃÕ¬¿Óª¿Ó®¾Õ«¿Õ±ÀÒª¼Ð¬ºÎ¬ºÎ©µÈ¨³Ç¤±É¦±È¦µÊ¢´Ë¥µÌ§¶Ì¡µÊ«±Åª³Ç£´Êª·Éª¹È©¶Ê£¶Ê§´Éª¹Ê©¶Ë¤²É©´Ê£¯Çª²Ã¢´É›±ÈŸ°Å›®Á¡®Çž­Æ®Ç °Ä£®Åž«Á ®ÇŸ­Çž¬Ä®ÅœªÂž¨Á—¬Ã—«Ã˜«Ã˜¬Â“£¾—¦¿—£¼‘¥¾”§ÀŽ£¾¥½•¤½‘¥¾¥¼”¦½–¡½Ž£»ŒŸ»‹ ºˆ¡·†ž¸Œ ¶—¤· ¹‘£¹ ¹Š™²…Ÿ¸ ¶Š¤¹©¿—¢¸š¥¿Š¢½Œ£¾–¤»Šž¿‘§¼–©¿–¨¾•¨½’¨¿’£¼™ªÂ’¨À‘¤¼–¢¸’¤¼™©¼˜ª¿š¦Á™ªÁœªÂš©Àž¬Äœ©À˜ª²¾ÈÍÃÍÑÇÐÖŽ±ËŽ±ËŒ°ÊŒ©Ä‰°Ê‹±Í’³ÏŒ²Ð‰¯Îˆ¯Ê„­ÌŠ±Ê±Ê…®ËŒ°ËŽ²Ì‹±Î‰±Ì‰¯Ëˆ±ÌŽ°ÌŠ®Ë±Î°ÌŒ¯Í°ÍŽ¯Ë®ÊŠ¯ÉŒ®É‡­Ë¯ÌŠ­ÉŒ­É¯ËŽ¯Ë‰®Ê‹­Ë‹®ËŠ°Ì¯ËŠ®Ë¯Ì®Í’¯Ì•°Ë˜°ÊŽ¬ÉŠ¬Ë‡¬Ê†ªÌ‹®ÌŽ±Í†®ÇŠ¬ËŠ«ÉŠ®Éˆ®ËŒ°Í‘°Ë’°ËŠ°Ë±Î°Ìˆ®Î‹¯ÌŽ®ÍŠ¯Ìˆ°Í³Í±Ï“²ÏŒ®ÏŽ®ÍŽ¯Ì°Ð‹±ÌŠ²Îˆ±ÎŠ±Í³Ï°Î‘²Í³Ï´Ï‰°Íˆ±Ï´Ñ—·Ð²ÐŒ±Ï’¶ÑŒ³ÎŠ±Ñ—¶Ñ–·Ð¶ÏµÒ•´Ñ•¶Ñ–¶Ó‘´Ñ’´Ñ˜¶Ï‘·Ò¡ºÑ¹Ñ ¸Ñœ»Òœ¹Ñ¸Ñ¸Ñ˜·Ò™¸ÑŸ¸Ïž¸Òœ·Ñ¸Ñ ºÕš·Ñ™¹Ò˜¸Ó•·Ô›ºÓ™¸Ñ˜·Ñ—¶Ñ”µÑ˜¶Ð–·Ò–·Ó–ºÕš¸Ï‘¶Î™¶Ò—¶Ñ‘´Ð—·Ó˜¸Ñ›¸Ó˜¹Ó•¶Ñ˜·Ô—»Ô˜¹Ñ›·Ñ›»Ô•¶Ó•¹Öš»Õ›ºÖ£½Õœ¸Ó•·Ô–ºÕ˜¹Ô–¸Ô—ºÔš»Ó–¸Ó›»Ó“¶Ñ’¸Ò™¹Óš¹Ó”·Ô™¹Ö›¹Ó¡»Ó¹Ñ—¹ÓšºÓ›¼Õ™»Ö˜»Õ–¸Ö’·Ó˜·ÒšºÓš¹Ó•ºÕ’ºÓ‘¹Ö•¹Õ›ºÕš¹Ô—¹Õš»Ô‘·Ó–¸Ò˜¹Ôš»Öœ»Ô—¼Ó™»Ô›»ÓšºÓ™»Ò—»Ô™¼Ö™¼Õš»Ö›¼Ó—¹Ô™»ÔšºÔ’ºÕ™¹Õ•¸Õœ½Ö½ÖŸÀÖš»Ô›»Ò˜»Ô™½Ø¾Ø›¼ÖœÀÖš½Õœ½ÖŸ½ÖŸ»Õž¿Ö™¾ÖžÀØž¿×ÀØÀÖŸ½ÕŸ½Ô½Öš¼Õ›¼Ó›»Ö›¿Ø¤ÁÖ›½Ô¢»Õ¡¿× ¾×š¼Õ˜½×—¼× À×£Á× ÁÖ¢¿Õ¤¿Ô¡¾Õ¢¿×›¼Ôœ¾×žÀ×¾Õ¿Õ›½ÖžÂן½Õ ¿ÔŸ¾Ö¡¿×ŸÀØ£ÀÖ¢ÁØ¡¾×¢ÀÕ ¿Ö›¾Öž»Ö¾ÖŸ½Ö¡¿Ö¡ÁÕ¤ÁÖ¤ÀÖ§ÁÖ¥ÁױĨ»ÉØÀÊØÄÍÛÄÐÞÇÑàÊÓáËÔàËÒâËÔáËÖâÉÓâÊÔàÊÖáÈÓâÆÐßÅÎßÄÎÞÄÐßÅÎáÂÎàÅÐßÄÎÝÅÏßÇÏâÇÑâÆÐàÉÔàËÕãÇÓàÆÑàÁÎÞ·ËÛ°ÇÛ¸ÊݸËÝ»ËÞºÌÞ¸ÌÞ¿ÌÝÀÍÞÂÏßÃÎ߯ÓàÅÐÞ¼ÌÝ»ÌßÀÌàÁÎßÂÎÞÆÑàÆÑßÈÑàÉÓàËÕâÊÕâËÖáËÔàÇÑáÅÐàÂÎÝ¿ÌÝÀÌÛÁÎÝÅÎßÂÎÝÃËÚÄÏàÆÑáÇÑÞÈÒàÆÑ߯ÑßÇÏÚÅÍÞÆÐÝÃÌÛÂÌÝÁÌÝÅÌÝÇÐÝÊÑÞËÕâÎØãÎØâÑÙæÑØãÔÛäÓÜäÕÜåÓÝæÔÝæÔÞæÕÞåÓÛâÑÙåÎØäÎ×ãÎØâÎÙâÍÖâÍ×äÌÕãÌÒàËÒàÈÑàÈÒ߯ÑàÆÒàÅÑâÃÏÞÀËݽÇÙ¶ÆØºÆÖ¶ÅÖ´ÇØ±ÃÙ¶ÄÚ¶ÆÜ¹ÆØ¶Ã×µÄ×±ÄÚ´ÅØ¶ÅضÆÖ¶ÆÖ·Å׸Æ×´ÆÛ³ÃÖ±ÃØ°Ã×¯ÆØ®ÂجÃÖ³ÄײÁÕ«ÁÕ°ÂÔ¬ÂÕ¯ÁÔ¯ÀÕ²ÀѱÃÔ´ÀÓ´ÁÕ³ÁÕ´ÁÖ¸ÃÕ¶Ä×·Æ×¶ÆÕ¹ÅÕ·ÆÖ¹Æ×¹ÅÖ¶ÇÛ¶Æ×³ÅÕ¶ÆÕ¸ÇضÆÕºÅÚ·ÄÖ·Æ×¼ÅÕ¹Ç×µÄÖ¶ÆÙ¶ÄÓ·ÂÓ±Áѯ¾Ó¬¿Ñ­½Ó±½Ò´ÁÓ³ÃÓ³ÃÒ³ÁÓµÁÓ¯¾Ó°¿Ð°ÂÔ°ÂÖ®ÃÕ°ÂÔ²ÂÕ°ÂÖ±ÂÖ°ÀÓ°ÂÓ¯ÃÕ¯ÃÓ±ÂØ®À×±ÂÒ°¿Ñª½Ñª¿Î®½Ó¯ÀÒ¬½Ñ­¾Ï®¾Ó±¾Ò®»Ñ¬¿Ñ¬¿Ñ®½Ó¨¼Ó®¼Ò«¾Õ±ÁÔ°½Ñ­»Ñ®ºÏ«ºÌ¬¸Ë¦´Ì¢²É¡®Å ®Á¦¯Æ¦´È¤³É©²É§²È¨¶Ë«¶Ë­¶É©·Í«¶É©¶È¥²Çª¶É¬·Ì©µÎ£¶Ì©·É¦¶Ç¨³Å§®Å¡®Ç£®Á¡­Å¢­Ã«ÃŸ­Á¡­Â¢ªÁ ­Á®ÁŸªÅªÃ ¬ÃœªÃžªÁ™§Á›­Ä•¨Â™¦½˜§À˜¥¼–¦½˜¥À˜£»š¥¼“¥»’¤À‘žº“ ÁŒ ¹”§¾‘¦»‰¸ »ŒŸ·”¡³Ž¢¶Š¤¸ž¹Ÿ½Žž·‰ž¸Œ ¼’¡»Šž¸…¡º‘¡¼”Ÿ¾¢ÁŠŸ¼¢¹Ÿ¶ ¶Œ ¶Ž¤½Œ¢¿•§À–¤½˜¦»™ª¿™¥º˜£¹š§¿—¦¿š¨Àš§Áš¦ÀœªÀœ§Â›­Àž¬Àž­Â™£¬¾ÈÍÄÌÒÉÏÕ‹®É²ÉŠ®ÈŒ­É®ËŠ®ÊŠ®É‡­Ë‰®ËŠ¯Ì³Ì“²Ë±Ë•±Íˆ±Ì…°Ë‡±ÍŠ°ÌŠ±Í†®Ë‰«ÉޮɆ®È¯Èˆ®ÇЭɇ®È‹¯É°Ê­ÇŽ­ÉŽ®Ë†¬É®ÊŒ¯ÉŒ®ËŽ­Í‹¯Ê‹«É®Ê¯É­Ê’­È’¯Ë‘±ËŒ¬Ê–±ÊŽ°È’¯É‹®É‹¯ÉŽ®ËŒ¬ÊŠ¯ÌŽ¯Ê®È†®É‰®Ì‹®Í°ËŽ°Í±Î‰¯Ë²ÎŠ¯Î‡®Ë¯Ì‹±ÌŽ±Í•´Ï°Í—±ÍŒ°Ë¯Í•±Ì•³ÎŒ°Î†­Ë’±ÌŒ±Í’²Î‘´Î˜¶Î—¶Ð‘³Î’³Ï²ÎŽ²Ï‹±ÎŒ¯Ë‹²ÎµÑŒ°Î±Î²ÎŽµÍ°ÌŒ¶Î”³Î´Ï•²Ð—·Ð—µÎ’¶Ð—¹Ó–¹Î—¶ÑŸºÎ¡½ÓŸ»Ñ¤»Ñ¤ºÒ£»Ò¡¼Ô ¹Ñ¢ºÐ¡¼Óž»Ò¶Ð·Ñž¹Ð¹ÑŸ¸Ñ˜·Ð˜¹Ñ–·Ñ›ºÒ•¶Ð™·Î™¹Ô™·Ó›·Ð›·ÓŸ»Ò ¸Ñ˜ºÑ›ºÐ”·Ïž¸ÑŸ·Î™¸Ò˜¹Ô˜»Ó—ºÑž»Ò™¹Õž¸Ó™¸Ô»Ö—¶Ñ™»Õ›»Óœ¾Õ›¼Õ™¸Ô—·Ñ•¶Ó–·Ò›»Òž½Ö˜»Õ’ºÒš¹Òš¹Óœ¹Ó™ºÒ˜ºÒ›»Ó—»Ó–ºÓ˜·Ò»Ô›»Ö’¶Ñ–¸Ò—¹Ñ—½Ó•»Ò™¼Óš»Òš»Ó˜ºÐ˜¹Ñ—»Óš»Óš»Ö”ºÖ–º×“¹Ð›ºÒ“¹Ó™ºÓš¸Ò’»Óš¼Õ½Õ—»Ó‘·Ò˜ºÔ™»Ó›½Õ•»Óš¼Õ™»Õš»Óš»Ó—¸ÑœºÕŸ½Ôœ¼Ô›»ÖŸ½Õ›¼Ô›¼Ô—»Ô›»Ó¾Ö˜»Óž½×™»Öœ¼Ö™½Ó˜½Öž¿Õ¡ÀÖÀÕ—Àؽ֚»ÕŸ¾Ö¢½ÖŸ¿Õ¡¾Öž¼Õ ½Ö›»Ó™¼Õ¡½Ö¤¾ÖžÀ×¾Ô ¾ÕŸ¾Ö¼ÕÀל¼Ô ÁןÀ×¢ÁÖ¢¿ÕŸ¾Ö¢¼Ô¡¼Ôž¼Ô¼Ô¾×œ¾×ÀÔ¢ÁÔ »Î¤ÁÓŸ¿Õ¢¿ÔœÀÓÀÖÁؤÂÖ¢ÁÖ¼Ô¦ÀÖ½ÓžÀÖŸ¿Öœ¿Öž»Ö¤½Ô¬¿Ó¯ÁÖ±Ä׿É×ÂÌÚÄÎÞÈÑÝÉÔàÊÖßÌÕàÌÓáÉÓàËÕáËÓáÉÓâÊÕâÉÒâÇÑÝÅÐÞÄÏÝÄÐÞÆÐàÅÏÞÄÎ߯ÏßÇÒàÉÒàÉÐßÊÓàÊØàÉÒâÈÑ߯Ïà¾Ðá³ÊÛ²ÇØ¯ÆÙ®ÇÛ«ÆÚ­ÇÛ§ÄØ±ÇØ»ÍÞ¸ÌÛÂÍÜÆÑßÃÑÞ¸ÉÛ¼ËݼÊÚ½ÌݼÊÛÀÏÞÅÒÞÆÐ߯ÑßÈÔáËÖâÌÕâÊÔáÉÒáÅÏÞÂÎÝÃÎÚÂÍÚÂÌÜÁÎÝÄÎÝÆÍÝÄÎÞÃÍÛÆÑÝÈÑÝÇÐÞÆÑÝÆÑÛÄÍÞÅÎÝÃÌÜÂÍÜÃÍÛÄÌÜÈÒßÊÒÞÌÔâÍÖáÐØåÏÛãÒÙâÖÝåÖÝåÕÝåÕÜåÖÞç×ÜæÕÜåÓÛãÑÛâÑÛãÎÚäÑÚåÎÚäÏØâÑ×ãÐÖâÍÖáÎÖáËÓÞÉÓâÌÕâËÔàÉÐàÆÎÝÅÎÜ¿ÉÙ¶Æ×¶ÂÕ¹Ä×¶ÅÖ´ÃÔ±ÃÖ³ÃÖµÆØ¶Ã×¶ÁÓ±ÂÖ¯ÁÔ¶ÁÓ¶Ã×¶ÃÔ²ÂÕµÂÖµÃ×±ÃÖµÃÓ²ÂÕ±Ã×±ÅÕ²ÄÕ´ÂÔ´ÄÖ²ÃÔ±ÁÔ°ÃÕ³ÁÔ²ÁÔ¯ÁÓ°ÂÔ±ÁÕ³ÃÔ³ÃÔµÀÔ³ÂÓ±ÃÔ¶ÆÕ¹ÄÖ¸ÄÖ¹ÇÙ»ÇÖ»ÉÖºÆÖºÅ×»ÆÖ·Æ×ºÅÔ¸ÆÖ¶ÄÓºÅÖ½ÆÖ»ÃÔºÄÖ³ÃÓ°ÃÖ´ÂÔ´ÂÔ´ÃѱÁѯ¿Î±¼Ï°¾Ð°½Î®¾Ð°¾Ð³ÁÔµÃÖ±ÀÒ´ÁÒ°ÁÒ®ÁÔ±ÂÕ¯ÁÓ¯½Ô¯ÀÓ±ÁÕ­ÁÓ¯¾Î²ÀÓ®½Ó®¾Ó­ÀÓ®¼Ò®½ÐªÀÑ­½Ì­½Ñ®¹Î­¼Î«»Ï©·Î®½Î«»Ì°»Ë®½Ñ¯»Í¬ºÍ®»Î¯½Ñ®ÁÓ¬½Ô¨¼Ò®»Ë«¹Ë­ºË¥¶Ê¥±Ä¤®Å£°Æ¥²Å£µÊ¦´Å©´Ëª°Ãª¯Â«¶ÈªµÊ©µÊª·Ì­µË­·Æ­¶Éª´Ë¬¶Ê©¸Ì¬¶É¦³Ç¤¯Ç¡³Ä¦®Å£¬Ã¯ÅŸ­Â¤­Ã ­Á®ÅŸ®Á «Â¤®Ãœ«Á›«Á§Á™ªÃœ©¿¡ªÀ™ª»™¨»›¨¾˜¦º’£¶¤À“£Á•¤»•¤¼“¥À©½¤½–¢¼ˆ ºŽ ¾Š ¸¡»‰Ÿ»Œ¢ºŽž¶•¢º£¶ˆ¶Š¶ŒŸ»‹Ÿ´‰¤½‰Ÿ³ »¡¸ »Ž¡¶£¿½•¦½˜¡³– ³’¥»‘¢»—ž¸“§»“©¾š¦»™¦»™©½˜©¿©¾›¢¹”¤¿œ¨½¦½œ«ÄŸ«À¡¬¿¡­¾£­Ã¢©®»ÆÉÃÌÑÉÑÔ†®ÉŠ±ËŒ°Î†­ËŒ®Ëˆ­É‹²Ëˆ­Ê…­Ì…­Ì‡®Ì„®Ëz¬É²Ê±Ë±ËŠ±Ì†°Ë†®Ê~¯Ì†®Ì±Ì‹±Ê†¬Ç…¬É‹­ÊŒ±ËŒ±Ë…¬É®Ì‹­Ì‹±ÌŽ±Í–°Ë’®É¯ÊŽ°Ë®É¯Ë°Ë‘²Ì‘¬Ë“¯Ë—®Ë‰®Ì‹¬Ë±Ì†¬ËŒ±Ë‰®Ëˆ¬Èˆ®Í‚®É‹±Î†¯Ìˆ®Ì‡®ËŽ¯Î‹¯Ë³Ìƒ­ËŽ²ÎŽ±Ì‘±ÎŽ³ÏŠ¯Ì‰°Î‰±Í‹¯Ì‘²Î‰°Í±Í±ÐŒ²Ï±Ì³Ðˆ±ÎŒ³ÎŠ¯Í†²Î‰°Î‹²Ï”´ÏŒ³Î´Ï‰´Ïˆ´Ñ‹´Ñ‡®ÐŒ²Ï‹±Î„°Í‹´ÑŒ´ÏŠ±Ï‰³Ïˆ´ÎŠµÐ±Î‹´Ï‘±Î“¶Ò‘µÐ²Î“¶Òš¶ÒœºÕ ºÑ£»Ð¥¼Ñ¡¼ÓŸ¼Ô¡¾Ô¢¼Ô¢»Ò¢½Ô¡»Ð¡»Ôž¹Ï·Ò˜¸Ð›»Ò¹Ôœ·Ó™¶Ñ•¶Ñœ¸Ó—¸Ò›ºÕš¼ÖŸ½Ô›»Ñ›¸Óš»Ó˜»ÓšºÑ›»Õ“·Ñ•ºÎ–¹Ð’·Ó‘µÓŽ¶Ñ•¶Ó˜¸Ñž»Õ“ºÕ”ºÔŸ»Õ—¸Ó›»Ö˜ºÓ—¹Ô’¸Õ™»Ö˜ºÓ“ºÒ˜¸Ñ–·Ò—¶Ò•¹Ô–ºÕ·Ó—¹Ó¹Ô¸Ñ–·Ð”¶Ï–¹Ó™¹Òž¼Õ’¹Õ™»Ô’¹ÓšºÓ˜ºÓ–¶Ó‘ºÕš¾Öš»Ô›»×›½Ö—»Ö“¹Ö—»Ö—ºÓ·Ó•·Ó“»Ó’¹Ó–»Ô™½Ó•·Ñ™¸Ò˜¹Ó™»Ó˜»Ó¸Ò’»ÔŠºÕ˜¾Õ•¹Ó›»Ö”¹Ó’»Ô—ºÖ•¹Õ™»Õ›¿×˜¼Ò˜ºÕ—»Öœ½Ö˜¼Õ˜»×›½ØšÁØœ¿Ó•»Ô½Ô™¼Ô›½Ô˜¼Ø›½Õœ¿ÖŸÃÕš¿Ô–½Ó™»Ö™¾Ö™½Ó˜¸Ö—»Õ˜¾Õ˜¼ÓÁÖž¾Ö¢ÁÖ›¾Õ›¼Ö˜»Ö›¿Õ ÀØ›ÀÔš¾Õ¡¿Ø™¼Õ˜¼Õ™¾Õ›½Õš½Õš½Óœ½Õ¿Ö¡Àؾה»×›¾Ö™ÀÖ›ÀØžÁ×ÂÖÁÖš¾Öš¿×—¼Öœ½Ö™¿Öš¾Ö¢ÁÖÀÔžÀÖ»Ö™½Õž»Ö¥¿Õ¨ÃØ®Ä򱮯»ÌÙÀËÛÆÑÞÆÓàÈÔßÊ×âÊ×ãËÕâËÓßËÖâËÕàÉÓáÉÔâÇÔâÇÑâÄÑáÃÏßÄÑ߯ÑàÅÐàÂÑàÂÐàÄÎáÅÐàÆÕäÈÖäÉ×áÉÓâÆÓà¿Îà±È߬ÆÝ­ÆÚ¦ÃÚ¤ÅÙ§ÃÙ¤ÂØ¤ÁÖ¤¿Ö®ÈݳÉݱÇܺÍßµÌÝ®ÈÚ±ÉÙ°ÇÚ¯ÆÛ²ÇܺËÞÃÐ߯ÒáÅÑÞÆÕßÈÓâËÖâÊÕâÇÔàÃÐàÅÎàÁÎàÀÎÝ¿ÍÝ¿ÌÞÁÍÜÄÎÝÃÎÝÃÎÞÃÑÝÃÏÞÄÑÞÆÏÛÆÐÞÃÎÝÁÌÜÂÍÝÂÍÜÆÑ߯ÑÞÉÓàÌÖâËÖáÏØãÎÙãÏÜãÓÛãÑÜåÓÝäÓÝåÒÝçÕÝåÓÛæÒÜåÐÙåÎÚåÏÛåÐÚæÑÛãÑÚãÏÙãÏØáÎÙãÍØãÍØåÎ×âÌØãÌÖãËÖãÈÒáÇÒàÃÏàºÊÛ·ÄÔ³ÆÖ¶ÅÖ¸ÇØ±ÄÓ¯ÁÔ±ÂÖ²ÅÖ³ÃÕ¯ÂÔ¯ÃÖ²ÃÖ´ÃÒ°ÃÖµÄѱÁÕ±ÃÖ°ÀÖµÃÔ´ÄÖ±ÃØ±ÃÖ®ÄÖ²ÂׯÂÕ³ÂÓµÂÔ²ÃÕ±ÃÔ±ÃÕ±ÁÕ±ÀÕ°¿Ò²ÁÓ²ÀÕ³ÂÓ°ÂÓ¶ÁÒ²ÃÓµÅÖ¶ÅÓ¶ÅÖ¶ÆÖ¶ÅÔ¶ÇÕ·ÆÖºÈ×¶ÆÖµÆØºÆÕ¶ÃÓ³ÃÖ·ÆÖ·ÃÕ·ÅØ·ÃÖ±ÃÓ­ÂÖ²ÁÕ±ÀÕ°½Ò±¿Ò±ÀÔ¯¾Ñ°½Ð®»Í«¼Ï­¼Ð«»Ï§ºÏ«¼Ñ«½Ñ¬ÀЬÀѪ¼Ò¦»Î«»Ð©ºÎ¨½Ò©»Ñ¨ºÏ«»Ï©¹Ìª»Î«¹Ñ¨·Í¤¸Î¦ºÑ¨¹Ð¦¹Ñ¥·Ëª»Í¨¹ÌªºÌªºÍª»Î¬»Î¬½Ð­¼Ñ¬½Ó®¼Í­½Ñ­¼Ò¬ºÍ«ºÍ¯ºÍªºÍ§¹Í¤µÊ¡±ÉŸ­Ä¤¯Æ¥³Ç¡³Ä¢±Å¡°Ç ²É¦µÉ¦¶Ê¨µÌ¤±Ê§µÊ§³É¡´Ê¢³É¥²Ç¦¶Ç¦±Èª¶Ê¢¯Ç¡°Ç °É¢¯Ãž®Êž®Çœ®Á «½Ÿª½›©Âš®¿–¨½–¬ÄšªÁ«Ã›¬À˜ªÀ˜­Â™ªÁ—©Â–¨¿‘§Á¥½•§¿–§»“¡»—¤½“¤»‰Ÿ½¤¾Š¢¿‘¢»Ž§»Ž ´¢¶‹¡¸Œ º º‹ ¶Œ¤»Ÿ¹‡Ÿ»Ž¡¸’¢¸¤¾ ¶¸‘¤½Œ¤¸¥¼Œ¥º£»‹¢¿‰ ¸¤»ˆ¡¼§¼¤¾§º’¨¹›¤¼›¥½‘¤½Ž¤½•¤¾›§½™ªÀ”¤½–«Âš£º©¿—¬Äž®ÁŸ°Å°Äžª´¿ÉÍÅÍÑÊÒÖŒ®Ë‹±Ë‹°Íˆ®Ëˆ®Ë‰©Ç‰¯ËŠ®Ì°Î€¬ÌŒ¯Ëƒ¬É­ËŽ®Ì‡®Ìˆ­ÊŒ¬Ë†«ÌŠ®Ê‰±Í†®ËŠªÌŒ°Ì¬ÉŒ®ÊŽ­ÊŽ®Ê‹®Ê‡ªÄ­ÉŠ¬È’­Ê’®Ê–¯Ì–°Ê’¯É¬É•®È‘«È‘®Ë”®É«ÈŒ­Ë°Ë‹®Ì’²Ì‰¬É‘®Ë®Ê°Ë‘°ÎŠ¯Í‹®Ì‘±Ï„¬É¬Ë®Ë®Ì†¬Ë‚­ÎŽ°Ð‹«Í‹¯Ì“±Ê±ÎŒ®Ì‰®ÌŒ¯Ï°Í‰®Î„­Ï‰¯Ë±Î‹°Íˆ­ËŠ°Î‡®ÐŽ¯ÏŽ°ÍŒ±Ì’²ÎŒ®ÍŒ­Ë®Í‰¯Ï‰±Î‘´ÏŽ®ÏŒ±Í±Í³ÍŽ°Í´Ï°Ï±ÏŠ°ÏŒ²Ï²ÍŽ´Î“´Î‹¯Î—³Ð’¶Ï˜·ÑŸ»Ô™¸Ñœ·Ð ·Ð£»Ñ£¹Ñ¨»Ò¢¸Ñ§»Ö¢½×¢ºÑ¤ºÑ¢¸Ñž¶Ï›·Ð¹ÒœµÏœ·Ôž·Óœ·Óš·Ð˜µÎ—¶Ñ˜·Ñ¸Ñ™·Ô ¸Ô¢»ÔžºÔ »Ñ ·Ñœ¶Ó–·Ò•¸Óš¸Ð—¸Ö—¶Ô˜¶Ñš·Ñ›¸Ó˜¸Ò˜¶Ð–·Ñ’¸ÔšºÖ’¶Ó™¸Ô›¸Ò˜¶Ò™¹Ó˜¹Ô“¶Ó™¸Öœ¶Ô¹Õ“·Ó–¹Ó–¶Ò™¹Óš¶Ñ‘µÒ•¶Ò–·Ô•·Ó—·Ñ—¸Ò–¶Ñ–·Ó•¶Ö¶Ò‘¶Ó¶Õ™¸Ó™¸Óš»Ôž»Ö•¶Ó™¹Ò—¶Ó—¹Ô˜¸Õ”·Óš»Õœ¹Ò”¹Ó‘¶Ó›»Ö‘¸Õ“¶Ö˜¸Õ•¸Ó–¸Ó˜¹Ô™ºÒ–¹Ó—ºÓ™ºÔ“·Ò˜¹Õš¹Ò˜¹Ò™·Ô—¸Õ˜ºÔšºÕ™»Ô˜ºÓ›¹Ö—¸Ó ºÕœ»Ô˜»Õ™¼Ö»Öœ¼Ø–·Õ›»×–»Öš»Õ›¿Ö›½Öœ½Öš»Ö–»Ó—»Õ˜¸Ö¹Ó›¼Ö˜ºÕ‘ºÓ™»Ö”ºØš½Øœ»Öœ»ÓŸ½Õ™»Ô›»ÕŸ¼Ö›»Ô›¼Ö•¸Ô˜ºÔ»Öœ»Ö¼Ôš¼Ó¿×Ÿ½Ö»Öœ»Õ¡¾Ö½Öž¾Öž½Õ•¸Õ–»×œ¿Ö¡¾Ö£ÁÕ¾×¼Ô›½Ö›¼×“»Õ›»Ö›¼ÖŸ»Õ›½Õœ½×¥¾Õ¨¼Õ®ÂØ²ÃØ·ÇÖ»ÇØ½ÌÜÃÎÞÇÐßËÔáÌÖâËÔâÊÓâÉÒàÉÒàÇÒáÇÒáÈÔâÇÒâÇÒâÇÏßÃÎÝÃÎÞÃÎÞÄÐßÃÎàÃÍ߯ÐàÇÑàÈÑàÈÔäÇÒàÆÑà¿Îà¹ËÞ¨ÁؤÁØ¢ÁÖ£ÁÙž½×¢¿Øž¾Ö¡¾Ö¤ÁØ¥ÁÖ«ÃÚ®Ã׬ÅÖ­ÂØ¤ÁØ¦ÃØªÃتÄÙ±ÇÛ¹ËÝÀÍÞÃÍàÁÌÞÂÎáÃÏàÅÐáÆÓâÆÓáÅÏÝÄÎ߯ÎÝ¿ÌÛÃÍÞÁÍÝÃÍÞÅÍàÃÍÙÃÎÝÆÎÝÆÎÝÆÎßÃËÝÃËÝÄÌàÁÌÜÃÌÝÅÌÝÅÍÞÇÎÝÈÐàËÓáÌØäÎØåÏÙäÑÙåÒÛãÕÛäÓÛåÓÛäÓÛåÔÛåÔÜçÒÛäÓØãÒØãÑÚäÓÚåÒÙåÑÙåÍ×åÎØãÎ×âÎÖáÎÖâÎ×ãÌ×âÍÖâÈÒâÆÐáÃÎß¿Ì󼃯¸Ç׺ÇÛ´ÃÖ¶ÂÖ±ÀÖ²ÃÖ±ÂÓ®ÁÓ²ÀÕ²ÂÕ¯ÀÖ°¾Ò³ÀÔ¶ÁÓ­ÁÕ´ÁÕ³ÂÔ°ÁÑ®ÀÒ¯ÁÔ±ÁÕ³ÁÖ²ÂØ²ÀÕ³ÁÔµÁÔ¶ÁÕ¶ÁÖ´ÂÔ®¿Ó°ÀÕ¯ÀÔ¬½Ò±¿Ñ±¿Ò¯¾Ñ²¾Ñ²ÁÔ±ÀÒ³ÂѱÁÖ±ÂÕµÆÔµÃÓ·ÃÓ´ÂÔ¶ÃÓ·ÄØ·ÅÕ·ÃÖ¸ÅÓ¶ÄÒ¹ÂÔ´ÁÒ¶ÁÓ²ÁѲÂÔ±ÀÒ®»Ñ­¼Ñ¬¶Î«¸Êª¸Ì§¸Ì¦¶Ë¨¶Í¢´Ë¤µÍª¸Ë©·É¥¸Ë§¸Ê¥´É ²Ê¡²Ì£±Ë¤´Í¥±Ê¡´Ë£²ÊŸ°Ê¢²ÉŸ±Ìœ²Ë›³Ë¥¶Ê¤±Æ§µÇ§´È ³É ±Ê¥³Ë§´Ê¨´Êª¶Ê¦¶Ê©¶Éª¶Ë­¶Í«ºÐ­ºÏ¬ºÒ­¼Õ§¸Í¨µËª¶Ì©´É¥²È ´É¡®Çš¬Æž®Ç¡®Æž®ÄŸ­ÃŸ«Á¡­Å ¯Çž°Ç§±É¤²É¤®Ç£¯É¦®Ã¡®Å£­Ç °É¤±Éª²É¦³Ç¤¯Å¤®Æ›ªÇ ®Ãž®Ä—¬Á𩽔¦½š§Á–¨¾™¤½›§º™©Á•¤Ã‘£À˜¥Á‘¡½š§¿—§Æ”¤À—¤¸¤½¦¼Ž¥¾¡½“¢½‘£¾¢¾£¾Š ½‹Ÿ¹‡Ÿ¼œ´Œžµ¡¼ ·‰ »Œ›¸‰œ¸‹ ¹‹›¸¡»‡Ÿ·’ ¼’¢¹ŽŸ¾ž¹Žœ·“¡¼¡¶“¡º¡»Ž ½•¡¼¢½’Ÿ»”£½¢»•¤Á–¢º›¨½–§¼šª¾›«À¡ª¿›¤Á˜§¾˜¦¿œ©ÀŸ¬Áœª¿Ÿ®Â¡¯À ¬Ä¤©¸½ÇÌÄÌÑÈÐ׈®Ê–²Ì°Î‘´ËŽ±Ì‹°ÊŒ±Éƒ®Ì¯Ì‰±Î†¬ÌŠ­ÉŒ°Êˆ­Ê€®Ì†±Ë°Í„®Ì®Ë„®Í†°ËŽ±Ë‹°Ê‘²Ë‚®É‰®ÊŒ®Ì‘¯Ë°Ê’®ÇŠ­ÈŒ­É°ÉŽ¯Ë—°É®É‹«Ç•¯Éޝɖ°Ê°ÉŠ­Ç‘­Ë‘¯Ë°ÌŽ¯Î¯Ë±È‰°ËŠ°Ê‹®ÌŠ®Ë†¬Ê¯ÊŠ®Ë±Ê‹¬ÉŽ¯Ë°Í“³Î•°Ë’±Ì’²Î‘³Ì‹¯ÌŒ®Î²ÎŽ°Î‹±Î²Ï‹±Î±Î±Î•³Ð‡®Ì‰±Í…®Ìˆ°Í†¯Î‡°ÍŠ²ÎŒ²ÎŽ´Í´ÏŽ³Íˆ±Î‰±ÎµÑŽ³Ñ¯ÐŽ±Î‰¯Ð³ÑŒµÎŽ´ÐŒ³Î³Î´Ï‘¶Ð³ÑŒ±ÌµÎš¸Ó–³Ðš¶Ò ·Ñ£¶Ï¥ºÐ¦¿Ó¤¼Ï¢¼Ñ¥»Ò¥¼Ó¤»Ò£»Ò¦»Ð¢¸Ñ¥¼Ò ¹Ò¡½Ò ¸Ïœ¹Ñ¡ºÔ¢¹ÒŸ»Ò›ºÑ »Ò ¼Ò¡ºÓ ¸Ó¡»Ó£»Ñ›·Ñ¹Ó–¹Ð¼Õ”ºÓ™¹Ó›¹Ó™·ÕšºÓš·Ò¢¼Ô»Õ¢»ÔºÑ›·Ó˜¸Ó˜»Ö™»Ö—¹Õš»Ó›¹Ö—ºÔ™ºÕ—·Ò™¹Ó”¹Ó™ºÒ—¸ÓºÕ–·Ó›ºÓ˜¹Ñ‘¸Ò’¸Ó™ºÓ·Ó’¸Ô”¹Ô™¹Ó›»Ñ—·Ó–ºÓ“¹Ó˜ºÐ‘·Ò˜¹Ó™»Ó—·Ó•ºÓ“¹Ð”»Ñ’ºÔ‘¹Ó–»Ôœ»Öš¼Ó—¼Ò˜»Ò—¹Ó…«Ì—¸Ô•»Õ˜¹Óš½Ö˜ºÔ˜ºÒ™»Ó•¹Ó”¹Ô–ºÔ™»Õ–ºÔ—»Ô–ºÔ–»Ñ•ºÓ˜ºÓ–ºÔ˜¼Õ˜»Õš¼Õš¼Õœ¾Ö–½Ö–»Ó—»Ö‘¹Ô˜ºÔ™»Ö—½×˜½Ö›½ÖŸ¿Öž¾Öœ»Ôš½Õ™»Ö›»×˜»Ö˜»×ž¾Ô“»Ó›¼Ó›½Öš½Ó›¼Ö™»Õ™»Õ™¼Ö¼Õš»Ó—»Ô˜½Ô–¼Ó˜¼Õš»Õš¼Ö½Õ˜¼Ó™»Ôš¼Ô™¼Ó¿Õ¿×™¾ÖÁØœÀÖ¡¿Ôš¼Ö™¼Ö˜½Ö½ÖŸÁØ™»ÖÀÖ¡¾ÖžÁÖ—ºÓœ¿×œ¾Öž½Ö˜»Ö¢ÀØ£¾Õ®Ã×´Æ×¹ËظÉÛÁÌÞÃÏÞÈÑàÉÖãË×âÌØâÌÖâÇÒàÇÒàÇÓâÆÓáÇÕâÈÓãÉÓâÉÓàÆÑßÄÑÞÃÑáÅÒàÂÑàÂÐÝÄÑÞÈÖâÉÖáÊÖâÈÓàÅÐß»ÌÜ®ÇÝ¤ÃØ¢ÀÚ¨ÃÖ£ÁÖ¤ÂØ¤ÀפÁÖ¥ÁÔ¤ÁÖÁØžÂÚ¥ÂØ¥ÃפÁØžÂסÁÖ¡ÁÖ¦Â×±ÇÜ·ËݹËݾÌÝÁÍÝÁÍÝÂÏßÁÎàÄÐàÄÑßÃÎáÃÐÞÆÑÞÂÐÞÃÐßÂÏÞÀÏÞÃÐßÄÎÞÃÍÞÀÎÝÂÎÞÃÌÜÀÍÝÁÌÝÃÌÞÅÌÛÁÍÞÅÎÝÄÑÞÉÓßÉÕâÐØåÎÚãÑÚäÒÛåÕÝæÓÜäÓÝäÒÝåÒÚåÒÛäÒÝåÔÜæÓÛåÒÛäÑÛäÒÛæÒÝåÒÝåÑÛæÒÜåÏØäÌÖâÌÕãÊÔâÍ×ãËÖâÌ×âÊÔáÅÑßÅÑà¿ÌÛ»ÊÝ´ÇÙ·ÈÙ¶ÇÙ´ÃÕ°ÂÕ³¿Ï³ÁÕ¶ÃÕ±ÁÓ²ÀÒ¶ÁÒ°ÁÓ²ÂÔ±ÁÒ±ÄÕ¶ÃÓ±ÁϱÄÕ´ÃÔµÅÓ³ÅÕ³ÄÕ´Ä×±Ä׳Ũ´ÁÓ¶ÅÖ·ÆÖ¶ÆÖ´ÃÓ°ÁÓ­ÀÓ¬¼Ñ±½Ò°¾Ñ°¾Ò±ÂÓ²Áа¼Ñ®¿Ñ®ÀÓ±¿Ô±ÁÖ¶ÃÖ¶ÆÖ¶ÃÒ¶ÂÕ³ÁÓ¶ÅÖ¶ÁÓ±ÂѱÁÓ°ÁÓ²ÃÓ®¿Ñ²¾Ò®ÀÓ¬»Ïª¸Ì¥³Ì§·Ì¤´Ë¢²È¢²Ç¡±Æ¢²Èž²È›°Éš±Çœ³É¢±È¡µÈŸ±Ç›­Å—¬Æ˜¯È™­Æœ¬Åš­Æž®Åž®Äš­ÇŸ¯Çš®Â™ªÂ›±É›®Æš¯ÆŸ®Ä™®Å™®Ã›±Å±È¢±È¢±É§¶Éª¹Î«µËª·É£¶Ìª·Ê«»Ñ§·Ë¢´Ë¢³Ë¡±Ê¦²Æž°Åœ­Ãž®Ç“ªÄ™«Ã›©ÄŸ­ÅŸ°Äž­Äž®Æ™®Äš®Äž¬ÀŸ­Æ™®ÅŸ¬ÇŸ­Ã£°Åž®Çš¬Ç™©Áž¬Å¢°Æ¡®È ®Æž­ÃŸ­Ãš©Â—¨¿—¬Ä›ªÁ•¨Á™¨ÁžªÀ˜ª½“¦½’§¿§½™¥¾“¡»—¦½”§¿”¥¼–¨À–¡º”¤¼–£»Ž ·¢¼‘¢»Œ¡½Š£»Š£¼¤¹†œ¶‹›¶¢¼‘¤¿’ »Œ¢¾‘§¸’¡¸‘¡¸¤·ˆ£¼‘¥¼™¡¹ »¤Á’£·—¤¸‘£»›«¼—¨Áš¨½“§¿–©À˜¤½ª½—¦¶šª½šª¾’©½žªÁž«Àª½¢«Á£­ÁŸ¬Ä¡®Â£°¾ ¯Ä¥²Ç¥±Å¥µÈ¨µÄ¨¸Æ§°º¾ÊÏÄÍÓÉÓ׮ʔ±ÍŽ±ËŠ®Ë’°ËŽ¯ÎŒ¯Ê®ÌŽ®ÌŠ­Ë…®Ì‹®Ë‹¯ÌªË®Í†®Ë…«ÊŠ«Ë‹®Ë†¬ËŠ®Ì€«ËŠ±ÌŒ¯Ë„­Ê‹¬Êˆ¬ÉŽ±Ìˆ®Ë‘¯Ê®ÊŽªÊ”¯É¬Ë‹¬Ë‘­Ë­ÉŽ­ËŽ­Ë“­Ê’®Ê‘®Ë•®È–®Ë‘®ËŒ¬Ë°ËŽ®Ë¯Ì±Ë°Í‹®É‰«ËŠ¯ÌŽ­Ì•®Í“­ÌŽ­ÌŽ¯ËŒ±ÎŽ®ÎŒ±ÎŠ®Ì¯Í±Îˆ®Î¯ÌŒ²ÍŒ°ÍŒ±ÎŒ±ÌŒ®Îˆ¯Íˆ°Í†¯Ï´ÒŠ±ÏŠ¯ÏŠ­Í†®Ïˆ­Î…¯Ï‡¯Ï‡¯Î‹±Í‡®ÎŠ±Ï³Í‘³Ð…®Í‹¯Î–µÐˆ±Ï„¯Ð‘´Ï‹µÐŒ°Ì³ÑŠ±ÐŠ±Ñˆ²Ó”²Ñ–²Ò–¶Î˜¶Ï¡·Ò ¸Ð¤¸Ñ¢»Ð¨ºÑ©ºÑª¼Ô§¹Ó¤»Ñ »Ñ¤»Ð¤»Ò¢¸Ó£¹Ô¤¹Òž¶Ó˜·ÑœºÐ¹ÔŸ¸Òœ·Ñ¡¸Ñ¢ºÔ£»Ö ºÖºÓ·Ñ›ºÑ˜¸Óš·Ó”·Ð·Ðœ¸Ñž¶Ñ—·Óš¸ÑŸ¹Ôœ¸Òœ¸ÏœºÕ›¸Ô›¸Ôš¸Ó›»Õ›ºÔ™¸×™»Ðš¶Ó™¶Ñ–¶Óš¸Ô”¸Ó™ºÕ˜¹Ó—·Ò‘¶Ó˜¹Ó•¶Ò—·Ô–µÓ–¶Ñ‘·Ó•·Ó”¶Ñ”·Ò˜¶Ó·Ó—¶Ö•¶Ô޶Ӕ·ÑŒ·Ò‘¶ÒŽ¶Óš»Ö‘¶Ôš¹Ö“ºÒ“¹Ò–ºÕ¸Ó–¸Ó•ºÕ˜»Ô™·Õ™ºÕ™ºÕ¶Ò—¸Ó–·ÐµÔ—·Õ’·Õ—ºÖ™»Ö˜»Ò—¼Ó“¹Ó—¹Õ›¹Ó”¶Ò•¹Õ”¹Õš»Ö’¹Ò”»Ô—ºÔ™¸Ô”·Ó–¶Õ–¸Ö•ºÖ™½×˜¼Ö˜ºÖ™ºÓ—»Ó—»Ö˜½Ö•»Ö—»Ø˜½Õ™¼Óš¸×–¸×–·Ó˜»Öž»Ö”¹Ö–¹Ô—¼Õš»Ô»Ø›»Ö–¸Óš»Ö›»Õ›»×—»ÖÀ×½Õ—ºÖ”¹Õ™¹ÔŸ»ÔŸ¼Öž½Ö—»Ö¼ÔœºÖ™ºÖ–¹Ô½Öž¼Óœ»Ôœ½Øœ¼Öš½Õš»Öš»×˜ºÕš»Øœ½Ø˜»Ø˜»Ö™¾×¡¿Õœ½Ö£¾Öž½Õ¤¾Ö©À򱀯¹ÉÝ»ÌÛ½ÊÛÃÍÛÄÏÞÇÑáÉÓáÊÓáÊÓäÊÒáÈÓàÇÒàÅÒàÆÒâÆÒâÇÑâÆÒâÅÑàÆÓàÆÑßÇÐÞÆÑßÂÏßÅÐ߯ÎàÇÑáÇÒáÃÐâ½ÍÞ´ÆÛ¡½Ú¤ÁØŸ¿×¤ÃØ¡ÁØ£ÁÛ¡Áؤ¾Ö¢¿Ø¢¿Õž¾Ö¡ÀÖ À× ÂÖ¦ÁؤÁØ£ÁÙ¥¿Ø­ÃÙ²ÅÛ®ÆÛ°ÆÛµÊݸÊß¼ÌÝ¿ËÝÀÎßÀÎàÁËÝÁÍßÃÎßÂÎßÂÎÝÀÌÞÀËß¿ÌßÂËÝÃÌÝÁÌÞÁÍÞÁÌÝÁÍÝÁÍÝÃÌÜÃÌßÃÍÞÃÎÞÆÏÞËÓàËÕáÎØâÑÙãÍØæÐÛåÑÛæÒÛæÑÛæÑÜåÑÛãÓÜåÒÚåÒÛäÒÚæÒØåÓÙäÒÛäÓÛäÕÜåÔÝçÑÛäÑØæÏ×ãÎÔâÉÑàÉÑáÊÓáÊÓãÊÔäÉÒáÉÑáÃÎß¿ËܺÉÛ·ÆÛ·ÆÛ·Ã×µÃÙµ¾Õ±ÀÖ±ÁÕµÁÓ²ÀÓ²ÃÔµ½Ñ¯¾Ô³½ÓµÁ×®¿Ô²ÁÖ±ÂѱÁÕ°ÁÔ·ÁÕµÃÖ²ÄÖ¶Ä×¶ÃÓ·Å×¶ÄÖ´ÂÕµÄÖ´ÂÔµÃÖ²ÁÓ±¿Ó«¾Ò®¼Ñ¯ºÐ®½Ñ¯½Ð«¼Ñª¸Ð­»Ñª»Ï°¼Îª¹Î±½Î±¼Ò±¼Ô¯¾Ñ¯½Ó®½Ñ²ÁÓ±ÀÒ­¼Ñª¼Ð¬ºÒ¨·Ðª¹Î§·Î¥¶È¢µÍŸ³Êœ°ÊŸ°È¢®Ã «Æ°È›¯Ç–¬Ã˜®Å›ªÄ™©Ä˜©Åž¬Ç–¨Ä§Ã’¨Á‹§Á¦Â¨Äš«Å™ªÂ–ªÀš©Á–¦Á”¨Á©Â–©¿šªÁ•§Á—¤À•¦Æ—§Ã—ªÁ˜ªÃ“§¾žªÆ¡ªÆ¡±Ç¡±ÇŸ°Ê ±Ë¤²Ç›®Çž®Çœ®É›«ÅŸ­Å˜¥¼ªÅ™«Ã—«Ä˜©Ã𩽙¨¿ž¬ÂŸªÄœ¨ÅŸ«Äš©Â™ªÂªÁ™«ÄšªÃ˜¥Á˜¨Â¬Á›¬Ã›¬Æ–©Á–¨Çš§Àš¨Á—¤ÀšªÄ‘¢À˜¨Á–¦À’¨Áš¥Á‘§Á¡¾—¦¾•¢½‘¢º‘¤¾—§¼¹‘ »‘¥¿•¦À“ »•¢»• ¼—¤½“¤º’¥¼¢½ ¼Œ¡¹Ž»¹ ¼ŒŸ¹ ¹™³»¤»‘ ¹’¥¾•¡»Œž¹¤¼¨½Š¡½’¡¼•Ÿ¶’¤¾•§½‹¢¿¤¾—£º–¢»š¢¶š¢»•¤½š§½˜©¿›¨Àž¬Á•¦¾™¨»ž©½¢«Áœ¨Á©Âž®Æž«Ä ®Ä¢­Å¤¯Æ¥°Å¦¯Åª´Ê¨¶Ê­µÉª±¼ÀÉÐÆÍÓÊÐÖŠ¯Ç‰®Ç‹®Ë†ªÈŒ¬ÉŠ®ÌŠ®Ë|®É¨Æ€ªÉ«É‹¯ËŠ¬Ç‡¬É…®Ê…«É†­Ê±ÇНɋ¬È‡¬É€©Ç‡­É†®Éˆ­Ê†­Êˆ®É†­Éˆ«È‹¬ÈŠ¬Çˆ¨Æ‚¬È†ªÆˆªÇ…¬Ç‘¬È‰¬Å­Çޮɒ¯ËŒ­É¯Ê‘¯Ë–±È•®É™¯ÈŒ®É°Ç«ÉŒ®É‹­Ç‰®É‰®Ê‹®Èˆ­Ë‰®Ëˆ¬É†®ËŽ±ËŠ®Ê‹¯Ì‡«ÉŠ®Ê‰®Ë®Í„­Ì‹¯ÍŠ®ÌŠ±ÍŠ±Ì‚®Ìˆ®Ì…®Í‡®Ì‹¯Ì†®Ì°ÌŠ±Îˆ®ËŒ²Î…¯Í‚®Ì‹®Ì…­ËŒ²Í‚¯ÍŒ²Ì‹¯Î°Í…­Ë…¯Í…®ÌŠ±ÊŒ³Ï’³Í±Ì‰®Î‡­Ë„°Ï‰±Î‰®Ì‹´Ï˜¶Î™¸Í™¶Ð£¸Ï¸ÑŸ¶Î¤»Ð¦ºÏ¢¹Ï¡ºÍ£»ÑŸ¶ÍŸ³Íš¶Ï›·Î˜·Ï˜·Î–µÏ“´Î–µÍ˜¶Ï˜·Ñš¸Ò›¹Ï™¸Í›¸Ñ™¸Ñ˜¹Ñš·Ð—¸ÑŽ´Ð‘´Ð’´Ð™¶Î‘¶Î™¶Î¹Ñš´Í·Ñ›¹Ô•¶Ò™¶Îš¶Ò”¶Ó–¶Òš¹Õ™¸Ñ™¸Ô”¸Ò”·Ò•µÑ‘¶Ð•¶Ð–¸Î—·Ï–¶Ò—¸Ñ”¶Ð‘´Ì•¶Ð“µÎ’µÌ–¹Ñ–·Ð‘¶Ò’¶Î´ÍµÎ—¶Î“µÑ¹Ò“·Ñ’·Ó–¸Ô‘³Î•¶Ó—¸Òš¸Ò‘·Ï‘¶Ñ”·Ò—ºÓ“·Ö“¶ÒŠ³Î‘µÎ“¶Ð·Î“¹Ð¶Ñ´ÑŽ¶ÎŠ´Ï“¹Ò˜¹Ñ‘¶Ï”¸Ñ—¹Ð—¹Ó–¶Ò“·Ò–·Ñ•·Ñ—¸Ò”·Ò‘·Ó–¹ÒšºÔ™¸Ó•·Ï”¹Ò–¹Ó™ºÕ™»Ô™»Ó›¼Ó—¹Öš»Ô—ºÒ•»Ñ”ºÒ™»Ò•¹Õ™¼Ô»Ô–¹ÖŒ¶Ó—·Ñ™·Ñ•ºÔ˜¹Ò–ºÒ›¼×œ»Öš»ÖœÀÕ—¼Ó›»Ó™ºÒ”·Ò™ºÓ™»Ô˜½Ó˜»Ó’¹Ó•¹Ó½Ó˜»Ó›ºÑ–¸Ô›½Õ™¹Ô•·Ó•ºÓ–»Ó–»Óš½Ö—¾Öš½Õœ½Ò›¾Ó˜ºÕ—¹Õ–ºÑ–¸Ò›»Ó™ºÔš¼Ó»Õ›ºÖ•¼Ôž»Õ™ºÓ¥¿Õ´ÆØ¶ÇعÉÛ»ËÜÀÌÞÂÍÞÄÐÛÆÒÞÈÓàÈÖáÇÒáÈÒàÅÐÞÄÏÞÅÐÝÅÒÝÅÒÞÇÑÞÈÒÞÊÓáÈÒáÇÑàÆÑàÁÎßÃÎÝ¿ÎÝÁÍݹÎà³ÊÛ²Ç󨁯¤ÀÖ½Ô½ÕŸ¿ÕŸ¾Ô¢¿Ö¡¾Ö›¿Õž¾Óš½ÓŸ¾Ô¡¿Ô¡½Ö¤ÂÕ¥¿Ö ½Ó£¾Ø©ÂׯÆ×²ÆÙ¦ÂפÁÕªÄØ¯ÅÙ¸ÊÛ½ËÞÁÌÞ¿ÌÜÀÍÜÁÍÜÂÎÝÂÌÛÂÎÛÁÍÛ¾ËÛ½ÌÜÁËÝÃÎÚÂÌÜÃÎÛÁÌÜÀÎÞÁÎàÃÌÞÅÏÞÆÎÝÅÎßÇÑÝÊÕÞËÕÝÎ×àÎÙâÍØãÒÛãÑÙãÑÙàÑÚâÏÚâÏØâÐØãÎØâÐÛâÐÛåÏÙäÏØáÑÙâÐÙâÒÛäÒÛãÒÜäÑÛãÐÙáÌÔàÉÓßÇÑàÆÐáÉÒàÈÒàÇÒ߯ÒßÃÍÛ»ÊÙ»ÉÙµÅØ¸ÆÔ¶Æ×´ÃÕ°ÁÓ±ÂÔ±ÁÖµÃÕ²¾Ñ­»Ï¯½Ñ±ÀÓ³ÀѶÃÔ·ÃÓ´ÁѲÁѶÁвÁѳÀÓ¶ÂѶÃÓ´ÂÒ¹ÄÓ³ÁÔ¶ÃÕ´ÂÒµÃÓ²ÁÕ°ÂÓ³¿Ó¯ÃÓ¯½Ðª¼Î¯ºÌ®»Ì«¼Í¬¼Ì«ºÉ«¹Ì¬¸É«¸Ë¢µËª¶Ì«¶Çª¸Ë­»Î§¸Ì­½Ñª»Ëª¹Î§·Í¥¸Ë¥¸Ì¢´É¨µË¢³ÊŸ²Æž±Æ¬Çš«Ä˜¬Æ˜¨½—¨Ã”¨Ã“©À“¤¿‘¥À‹¦½Š¢¸‘£½‘¥¾† »‡¤»†¤¾Œ¥½‰£Â‡¢½Œ ºŠ¢¼‡¢¼‘¢¹Œ£¼©»‹¥½‹¤»‹¢»Ž¤»£»¢Àޤ½¥»Œ¤»‘©À‘¦½”©À“ª¿›­Á’©À•§¾•ª¾’§¾Ž§Â—¨¾•¨À‘¥¿“¦¼–§À”£¹•¦¾š©¿™¨½–¥¼™©¼™§¼šªÁœ©À•£¸˜ªÁ–ªÁ—§Â˜¦À“¥¼”¨À–¨¾œ§»•¤»˜¥¿§À–¦À›¨¼—§½•§¾”¥¼Šž·—¡»’¤Á§À¥¼¡¸“¡µš£º“¡»Š¥¾ ¼Œž¶Œž·‰ ¶‹¶¤»Š›º‘ ¹’žµ¢»Šº‹š·“¢·£¶Œ¡¹Œ¡»Œ ·‰Ÿ¹ º–¢º¡º‘¢»¤½“£¶—Ÿ¶˜ ³•¤·”§»’£¼“¡½¢»’¡¼—¤½•¥½¤»›¨¾š§·˜§¼—¨À›§»—¤½ž«Á ¨½›ªºŸª¾Ÿ«¾ ®Ã¢®À¡­Á¢­¾¡¬ÁŸ­Â¦®Â¤°Ç¥±È¦µÊ¥³È©¶Ç«¸Èª¹Ê¬´º¾ÈÌÄÍÒÉÑ×”¯ÇŒ­É“°Ì‹®È®Ë‡¬Ê‰«ÉŽ¯Ì‰¬ËŠ®ÌŒ°Ë­ÉŒ¬Ê’®ËŠ®Ê‹¯Ê†ªÊ¬ËŽ¯Ë®ÈŠ­É‹­ËŽ®Ì‰­Ê‹­Ë«ÊŒ®É‰®É‹¬Èˆ­Ê“®Ë«É‡ªÇŽ«Ê‘ªÇ­Éޮɮɕ®Ê¬Ì’­É’­É•¯Ë“±Í‘±Î“¯Ëš¯Ê’¯Ê’®Ç®Ë®Ì­Ì‰¬Ê‰±ÌŠ®Ì­Ë‰¬Ë­ÌŽ¯Î‹®ËŽ°Ì‹®ËŒ¬É‹«ÊŠ«ÉŠ­ÊªÊ‰­Ì‡¬Ë€«Ê‰¯Í‹°Îˆ­Î‡¬Éˆ®Í†®Î‚®Í‚®Í}¬Í‰¯Î‡°ÎŒ¯ÎŠ®Ì‰¯Ìˆ°Í…­ÌŒ®Í†¯Ì‹¯Î±Ñ‹±ÏŒ±Î„¬Ëƒ¯Ì„¯Í‹³ÎŠ°Ïˆ°ÏŒ±Î†®Î‹°Ð‹°Ì’²Î‘³Î™¶Î‘±Î—¶Ñ ¶Ðž³Î§ºÑ¢¹Ñ ¸Ð¢·Ñ˜·Ò›¶Ïœ¹Ñ•¶Ð•³Í—µÏ’µÐŽ±Í²Í—µÐ™·Òš¹Ñ˜¶ÓŸ¸Ñ™µÏ˜µÏ—´Ñ“µÒ’µÏ‹´ÑŠ²Ñ—±Î”´Ï˜¶Î™¶Ï˜µÑ–¶Ð™¶Ð”³Ñ›·Ñ˜¶Ó•¶Îœ¶Ð‘¶Ó•·Ô˜·Ñ—ºÔ—·Ó‹²Ï³ÑŒ²Î”µÑŒ³ÏŽ´ÒµÒ‘´Ó”¶Ó”µÑ˜¶Ð–¶Ï’µÐ’µÐµÑ“µÑµÒ”¶Ó‘µÒ’²Ï•µÐ‘¶Ò“¶Ó•¸Ô˜µÑ‘¶Ñ˜¶Ò”¶Ó‹³Ñ³Î‘µÑš¸Ñ–¸Ó“¹×”¥¹šºÕ—¶Ò¶Ñ’¸Ñ’·Ñ’¶ÒŽµÏ‹¶Ï”ºÓ”·Ò’¶Ñ—¸Ò‘´Ñ–¶Ò”·Ï–·Ð’¶Ó˜·Ó”¶Ó—¶Ï›¹Ò—¸ÐޏӖ»Ó™»Ó–ºÓ˜»Ô™ºÓ—·Ò›»Ö™ºÓ–ºÓ™»Ô“¹Ö™¹Ö—¹Õ—·ÔœºÑ—¹Ò—ºÖ™ºÑš¼Õ”·Ó—¹Ö™»ÕšºÔ›»Ó˜ºÕœ»Ô•»Ø”¹Ö˜ºÖ™ºÕ›»Öš»Ò”¸Ô·Ò–¹Ò™»Õ”¹Ó›»Ó–¸ÓšºÓ˜»Ó˜»Ò™¼Ô—ºÔ˜ºÓ•ºÔ™¹Ó˜»Õš»Ó›½Ôš»Ó—»Ô—»Ô—»Ôž¹Õ›¼Ö˜º×™ºÓœ¼Ôš¹Ô™ºÔš»Ò›»Ô›ºÖšºÕ›»Ö›»Õ »Ö²ÅØ»ÉÚ»ËÚ»ÊÚ¹ËÜÀÌßÅÏàÇÑÞÊÒßÉÒÞÈÓáÉÒàÇÒáÄÑàÆÒâÆÒâÆÑßÇÑÞÊÓàÈÕßÉÕáÈÒáÆÐßÄÐàÃÎà»ËÛ®ÆÙ©ÃÖ©ÃÙªÃØ¤Âן»ÕÀØœ¾ÖŸ»Ó ¾Ô ¿ÕŸ¾Øž½Ôœ½Öš¼×¢ÁÖ£¿Ö¢¾Ô¦ÁÖ¢¿×¢¿Ô¤¿ÖªÄسÈÛ¶ÉܱĨ¨ÂÙ¨ÂÖ©ÁÚ±ÆÜ¶ÆÛ¾ÊÛÁÍÞÁÎÝ¿Íß¿ÍÞÁÍàÃÏàÀÌÞ½ÌÞÂÍÝÃÍÜÁÌÞÄÎßÄÌÜÆÎàÃÍÞÂÍÞÆÍÝÇÏ߯ÏÞÇÑÞÉÑàËÕàËÔâÎÖâÏØâÎØäÏØäÐØãÏÚäÑØãÏÚåÑÙãÎÖãÍÖâÎÙãÎÙãÐØãÑÙãÒÙåÐØäÑÙãÑÚãÏÚäÑÛäÐØãÍÕâËÒâÆÑàÆÐàÃÐ߯ÐàÃÐßÁÎà¿ËÞ¹ÈܺÆÙ¹ÆØ¸ÆÛ·ÅÙ¶ÅØ´ÁÖ±ÀÓ´ÂÖ³ÂÓµÀÓ±½Ó¬ÀÓ²ÂÒ³ÁÕ¯¿Ö±ÂÖ·ÆÙ¶ÁÖ·ÁÖ¶ÁÕ²ÃÕ²ÁÕ³ÀÔ²ÂÕµÁÒ¶ÂÕ¶ÃÖ´ÃÕºÃÕ¶ÂÕµÂÓ²ÂÕ²¿Ò°¾Ò±ÀÒ­¼Ï¯ºÐ°»Ïª¹Ï«¸Ì«¸Í«¸Íª¶É¤·Í¦³ÍªµËª¹Í­»Ì§¸Ë¥µÌ¢¶Î§¸Î£µË£³Ê§±Ç ´Éž±Ê±Æš®Ç–¬Æ™­Å’¦Ãš¥¾©Â˜¦¾’£¼£¾†¥Á“¦¿Š¡¼¤¾‘¡¸Ÿ»‰œ¹‹¡¼‹¢¸…£¿Œ£¾‹¤¼Œ ¼Š »ˆ¡ºŒ »‹ž¸Œ£½¤À‹¢¾Œ¤»‡ž¼‹ ¹‰Ÿ¸†ž»Œ£½’¤¹¤½Œ§ÂŒ¤½¤¿˜¤¹’¢º“¤Ã’¤»‘¥ÁŽ¡¼Ž¤À‹£½‘ »’£»¤¸–¥½›©¿šªÃš©Ã™©Á˜¨Ã˜§¼˜¨Á𦽙¦Á“žº˜¤½˜§Á’¤¾ ¼—¥¼£»¤¾– ¸’§¼•§Á–§½‘¥¿Ž¦º’¨À˜¤¿“¥Á¦¾’¤»¥Á½›§¿š¥½•Ÿº•¤¼† »¢³‹Ÿ¸’ ¾’¤¾•¡»—¤º“£¿£¼”£»¥¾ž¹¤º”£½¹”¢º’Ÿ¹’¤·¤²ž¶—£¼–Ÿ»“¡¼—¤½‘¡¹‘£¾’©¾‘¦¾•¦À–¥¾˜£½‘ ¿ž¦»š©¾™¦·šª¾Ÿ«¿š¥ÁŸ§Á•¦À•¨Ã›¬Ã›«À—ªÁŸ¬Ã¤®Áž®Å©±Ã¥¯Ã¤®É¥¬Ã¨°Ç¨°Æ¦°Æ¬·Ç¬µÆ¬¶Ê«µË°µÌ±ºÊ¯¶Ë¬·½ÀÈÎÅÍÔÈÐÕ”®Ã‘¯È“±ÊŒ±É°É“°Çš±Ì•±ÉŒ°È¯Ê–³Ì”°Ê“±Ë±Ëš±ÌŒ¯Ë®È®È’¯È¯É¯È–¯ÉŒ­Ç¯ÊŠ®ÊŠ­È‹­ÇŠ¬È‘°Ë±Ë–³Ì”¯É°É­ÈŽ®Ê‘°Ê‘®Ê—®Ç’¯Ë’±Ë’°Ê–°É•®È›±Ì ´Ë•¯É˜±É—­Ç‹°É‘°È‘°ËŽ®Ë‰ªÇŽ°Ì¯ËŠ®ÉŒ°Ì°É‹¯ÌŒ¯ËŠ¬ÉŒ±Ë…®Ë‚ªÈƒ¯Ë~ªÊ…ªË…¬È€­Ê‚®Ë„¬Ë‚®Ë­Ë°Í¬Ì€®Ëƒ¯Ë‚®Ëƒ®Ë‡®Ì‚®Ì…±Ï}¯Í±Îƒ¯ÌŒ¯Ì±Ì„±Ì¬Ê~®Ì„®Í‡¯Î†®Î‡°Í…±ÌŒ´Í†®Ë€®Î„¯Í‚°ÎŠ³ÐŒ³Ì‡¯Ì³Í‹³Í³Í„²Ï’³Î“¶Î—¶Ðœ¶Îœ¸Îš·Ð™¶Ð“µÎ‹²Í³ÎŠµÑ‡³Ï†±Í‰±Ë‹´Ð“´Î’´Ñ³Ñ“´Ñ‘¶Ï¶Ð´Ð‡´Î†­Î²Í…³Ð‹´Ð‹¶Í‹´Ñ²Ï‰µÎŒ´Í–³Î‘¶ÐµÑ’¹Ð¸Ð“¹Ò¶Ñ‹¶Ñ—µÓµÐ’¶ÐŠ¶Ï¶Î…´Ñ‰´ÐŒ´Ð‹µÎŒ´Î³ÌŽµÐ‘¶ÎŽ¶Ò‘¸Ï”¸ÓŠ¶Ñ‘·Ï’¶Ð´Ï‘·Ð…²Î·Ï‘·Ô¶Î–»Ò¸Ñ’¶Ð–¸Ó†³ÑŽµÏŽµÑ•·Ó”·Ó“·Ñ´Î´Ì†±Ë„—œ«Çˆ°Ì‹¶Î‹µÍ˜»Ð“¶Ñ—·Ñ‘µÑ‘·Ò“·Ó‘¶Ñ¸ÒŽºÒŽ¸Ð¶Ð‰´Ï’·Ò–¹Ò“¹Ñ“ºÓ‘ºÔ–ºÐ”ºÒ–¸Ò•¸Ó”ºÓ·Ñ˜»Õ•¼Ö˜½Ö•ºÓš¸Ó›»Ö˜»Ó™½Õ—¹Ó—ºÓ˜»Ó˜»Ò—¼Ó·Ñ˜»Ó–·Ò”»Ñ˜»Ó”¹Ò•½Ö“ºÑ•ºÓ™½Ô”¹Ó–ºÔ–ºÒ˜»Ô“ºÔš¼Ó—»Ó“¸Ó–¶Ó˜ºÓ–¹Ñ–ºÔ“ºÓ™¼Ô•»Ó•»Ò•ºÓš¹Ó”¹ÑŠ·Ñ“ºÒ—¼ÓšÁÖ—¼Õ™½Ô–¼Õ•»Ô”·Ó—»Ô˜»Öš¼Ô—½Ôš¼Õ—¾Ô’ºÓ—¹Ó™½Õ“·Ó˜»Ó—¹Ó–¼Ó©ÃصÉÛºËØ·ËÚºÌÛ¿ÍÞÄÐßÄÑàÈÔÞÆÕàÇÓâÇÖàÇÒàÇÓàÅÐâÆÒàÆÓÞÆÓàÆÒÞÆÓàÆÓâÃÑàÂÎß¾ÍݼÎ߲ɨ¦ÂÕ˜¿Ö½Õ¿×ÁÕœ½Õš¾Ôœ¿Ö¢ÁÕŸ¿ÔšÁסÀÖœ¾Ô›¿ÕŸ¿Ö¾Õ¡¿Ö¢ÀÖ¢ÂןÀÕœ¾Ö¢ÁÖ¢ÃÖ¯ÇÙ±ÊܱÈÚ¨Ä×ªÃØ¥ÃØ«ÄØ³ÈÚ¹ÉÛ¼ËÞ¼Ìß¼ÌݽËÞÃÎßÂÐÞ¾ÌܽÍÝÁÎÞÁÍÝÄÎÝÅÐßÅÓßÅÑÞÆÑÞÅÑÝÆÑÞÇÎÞÃÎÜÆÒßÇÑàÊÕàÉÕáË×àÎØàÎÙãÎØãÏØâÏØãÎØãÌÙãÍÚãÌ×àÎ×âÏÙâÎÙâÎÚâÏÙâÏÚäÎÛãÎÙâÐÚãÑÛãÐÚãÌ×âËÕáÆÓáÄÐßÅÑßÃÏÞÂÎÞÀÍݽËݺÌݹËÛ¶ÈÛ¶ÇÛ¶ÆÛ´ÃׯÃÓ´ÃÔµÄÒ²ÄÒ´ÃѵÃÕ³ÃÖ³ÁÖ³ÁÒ¶ÁÔ¸ÂÔ¶ÄÒ²ÃÖµÁÖ²ÁÕµÅÓ´ÃбÂÓµÄÖ¶ÃÒ²ÁÒ´ÃÓµÄÓ¶ÃÔµÄÕ»ÄÕ·ÄÓ·ÄÓµÃÒ±ÁÓ­½Ñ­»Î­¼Ï®¼Î«½Í«»Î§¸Ëª¹Ì£·Ì¢³Ë¥´Ë¤¶ÉŸ¶È¢¶Êž±Ç¤¶ÊŸ²Ç£´Ç›±È¡µÉž³ÆžµÇŸ±Ã¯Ä—©Á•ªÂ“¨Æ‘©Å‘©Ã”©¿¨½Ž¦½‘¦»Ž¢»¡¾¢»¥¾Œ¤¿†£»‡¡»„¡¸†£½‡žºŸ¸„£½ƒ¡¸‰¸Œ ºˆ¡´Š¡º¸Ÿ»„ž»…£¿†ž¹‚¸…Ÿ»…¤½Œ¡·…žº…Ÿ¸…¤½Š¦¼‹£»‡¥½¦»£ºŒ¤»‘¡·‹¢»ˆ¢»¤¹‘£» º’£¼•§»–§¼’©Ã“¦¼”¨Â”¤¿¤½Ž¤½“¥¿¦¼¤º–ªÀ”©¼”¨¾’¥¼–¨»¨¾Ž¨½¥½Šœ·‘¤½‘ ¼Ž¢½¤¾‹¦½Œ¦¾Œ¡½Ž¤¼ ¼–ªÁ’¦ÀŠ¥À¤ÀŒ¥¼Ž§¸“¥½‘¤ºŒ¤»Ž¢¶¤¼Œ¥½Ž¨¿Ž¥¾”¢¹œ¬Ã”¢¼“£»“¥¾§¾Œ¤»—©¿¦¾£¹“¦¼Œ¢¹”¤¼—¥¼”©À–¨½–©Á“¨¹“«¾—ª½œ­Á—¨½›¬¾™¦»œ¬Á›¬Áž¬¸Ÿ®¿¡­¿š¬ÂŸ­¿£®ÂŸ¯Ä¤±Ã£°Ã±Á¨°Á¥°Á£±È§¶Ë®¹Ë©·É­¹Ë«¶Ç¬¹Ç­·Ê³½Ì±»Ì±»Í¯¼Ì²Àϲ¾ÍµÀͰ½À¿ÊÏÄÎÔÆÒÙ”®É°È˜±Ë›±Ê™¯É™®Ê–°Ê–°ÊŸ°É™®ËŸ²Î¡®Ë–­Ë—®É”®É–²Ì’¯Ê’¬É–¯Ë­È–°È–­È­Ç­Ç–¬Ê’®É“«Æ˜¯É“¬É•®Ë™°Ë˜¯Ë–±Ë“«Ê“®Êš°Ë–°Ê–°ÊŒ®ÉŒ«Ê—®Í›±ËŸ²É¡³Ëœ±Ì›°Ð™±Ì™°Ê”¯É‘¯É‹®ÌŽ¯Ì‹«Ç®Ê«È¬ËŽ®Ì“«ÌŠªË…®ËŠ«Ë«ÊzªÈŠ¬Éˆ¬Ë‚ªÊ†¬Î…¬Í€ªË‚ªÉ~©Æ{¨Ê…­Ì„ªÉ€ªÊ~ªÌ‚­Í€¬Ê~ªÌ†­Ë‚«Ì…­Ì‡¬Ê‰®Î¬Ì‡°Ì†¯Ì®Ì‡®Î†­Ì†®Î‡®Ì®Î…­ÎŠ°Î‡¯Í‚±Í‚®Í…­Ê†®Ï¬Ì‡°Î„°Ñ±ÎŠ±Í‹±Ë‡°Í°Î’³Î‘°Ï—µÑ—´Ñ“²Î³Ð³Î‰±Î…¯Í‹¯Î‰¯Ñˆ¯Ð³ÏŠ®Í‰¯Î³ÍŽ°Î‘°Ð²Ð‘²Ð†­Ï†¯Ñ‰®Ì†²Ï…²ÍŠ¯ÎŠ¯ÌŠ®ÐŒ±ÐŠ¯ÑŒ±ÎŠ³ÎŽ´Î³Ï’´ÑŒ³Ñ•³ÑµÑ´Ñ“µÐ´ÎŠµÑ²Ò‘²ÏŠ°Î³ÑŽ±Ñ”¶ÑŠµÏŒ´Ï·Ò–¸Ó”µÒ’µÐ‘´Ñ“¶Ô“¶Ð–µÎ”´ÍŽµÐ“³Í”µÒ’´Ï“´Ñ—¸Ó“¶Ó¶Ð”¸Ñ‘¶Ó•¶Ñ˜¹ÒµÒ—¶ÓµÔ‘±ÍŠ±Ê§ÀzŸº€£»†ªÆˆ®Ë‘±Î’µÓ³Ñ’µÎ“¶Ñ³Ð¶ÒŽ´Ñ”µÑ‘·Õ‘µÓ¶Ò¸Ð‹´Ñ’¶Ñ‹µÒ´Ñ˜¶Ó’¸Ó–¸Ô˜ºÒ’¶Ò’¹Ó’¶Ñ“¶Ò—¹Ôœ¸Õ’¶Õ–¹Ó¸Ñ’¸Ó›»Ô–·Ó“·Ô—¹Õ¶Òšº×—¸Ó™»Ó”¹ÓµÓ™¶Ó˜¹Õ˜ºÖ–¶Ô“·Ö—½Õ˜¼Õ‘¸Ð“¶Ò”¶Ó—·ÒšºÔ˜»Ô·Ó•·Õ“ºÓ·Ô¶Ò—¸Ô˜¸Õ’·Ô—¸Ô™¼Ô–ºÓ—ºÓ˜¸Ó—¶Ò–¸Ò•¸Ó™¹Ö–ºÓ”ºÓ˜ºÓ˜»Ó—¹Õ“¶Ó›·Óš»Ó™ºÔ˜¹Ó–ºÕ–ºÕ˜¸Ô—¹Ô•¹Õ›¹Ô˜¸Ó¾Ö®ÄÚ¶ÇÛ¶ÉÙ¹ËÙ¼ËÝÂÍÞÈÐàÉÒàÉÓáÈÔáÉÔâÇÓ߯ÒßÉÓàÉÓàÈÒâÈÒàÆÏàÂÎÞÃÐßÁÍÞ¼ÊܶÈÛ®ÃÛ¨ÁÚ¼Óž¿Ö—»Öš¼Ô¾Õž½Ø¡ÀÙš¼Øš»Õ ½Ö¢¿Ö½ÖœÀÖŸ½Õ™»Ö—»Ö£½Ö¡¼Ôš¾Ö¢½Ö¿×¡ºÓŸ¿Ö£ÀרÁÚªÁצÁ×£ÀÕ¨ÁبÂתÄÙ¶ÆÛ¾ËݽËÝ»ËܼËÝ»ÌÞ¿Íß¾ÌÞ¾ÌÞÂÍÞÇÎàÆÎßÇÏáÆÑÞÈÒâÇÑßÇÑßÇÑàÇÐàÈÏàÈÑàÊÒàÉÓàËÓâËÕâÎÖãÏØâÎØæÐØäÏØãÏØãÍÖäÍØäÎ×åÏ×ãÏØãÐØãÏ×âÏØåÑØãÎØãÍ×âÏÙäÍØãËÖãËÑáÈÑ߯ÎÞÄÎßÁÍÞ¾ÌßÀËÞ¿ËܽËÞ¼ËݽÇÛ·ÇÚ¹ÆÛ´ÃÖµÄÖ°ÁÖ®ÀÓ¶ÁѶ¿Ó¸ÂѸÄÕ¶ÁÓ³ÂÔ´ÀÓ²ÁÔ´ÁÓ¶ÃÔ¶ÄÖ´ÁÓ´¾Ñ²ÀÓµÁÓµÂÔµÂׯÁÕ¸ÂÒ¶ÃÓ¸ÂÖ·ÃÕ¸ÁÖµÁÕ¶ÂÖ´ÂÔ³ÁÕ²Áѱ½Ñ±¼Ï°ºÍ°¿Ñ«·Ð¨¸Ð¦¸Ì©¸Ë¨·Î©¶Ë§¶É¤±É¤²É¢±Ì£±Ë±Çœ±Ë¯Æ ®Åž«ÆŸ«Ãœ­Æ˜ªÄ™ªÅ’®Å™©Å›¬Ä“¦Á•¤Á’¡½‘£½™§½¤½‰¤¾¥¾Ž¢½Œ¢¿“£¼Šž½Ÿ¾„½ˆ¤½‡Ÿ¸‚¢»‡»ˆ »ŸºŠœ·‹¢ºŒ¤¼‹¤½š·†£¹Š¡¹†¡¼‹¡¿†š¹‡š»‡¡º…žº‡¢¼‰¤½’¤»‘ºŒž¸‹ »—¥¿‰Ÿ½†žºŠ£½‹Ÿ¹ »Œ£¾”£¼Š¾Œ¥Á“§¿•¦¼‘¤½˜¦½›§À™§¼—£À•¥¾–¤À‘£¿¢¼•¥À•¼Ž¡¾—£½Š¢½“¦½’¥¿¤»‰¥»Ÿ³¡½•£À”¦ÁŒŸ¿Œ¡½¤½Œ¤½©¿˜§»–¦»– ½ »ŽŸ»’¦Â—¦¾•¥Á¤Á“£½‘¤½Ž¢¿•¥À–¦¾–¥½‘§À“¤½š¨½œ¾š¤¼š¤Â”¡½•¥»•¨À‘£½š©¿›¥¸œ§À™£» ªÀž©¿™ªÁ–©Ãœª¿ž¦ÁœªÄ©ÁŸ©ÁŸªÁ¡­Ã ®Æ¤®Áž®Ã¤®Ã¤¯Ãª®Æ¨±Æ®·Ç­µÉ«´Êª»É°¹Ê³ºÌ±»Ìµ»Î´¸Ë´ºË´½Í·ÀÑ»ÂмÁϸÁе½Ï·¾Ñ¶½Î¶½Ï´¼ÁÀÈÍÆÎÔÈÑØ›²ÉžµÈ¡µÉž³É£±ÇŸ³Ë¥¶Ê¢µËŸ³Ê¡¶Ë¤¶É¤³Èœ±È¢²Ë ´È¤µÊ˜°É“¯É”®Èž°É•®Èž±Æ”®Å™®Ç˜±É–±Êš¯È”±È›²É–®Ç›±É—±É˜°È–°Ç•­É“¯É“®Ê—²É—¯Ç—­Æ›±Èš±Êš±Ë›²Ì›±É“®É³É˜²É’°Æ•±Ç•¯ÉŽ±Ë­É’­Ç“®Ê¬È‘°ÇޭɆ«Æ…­Ç…¬Éˆ®É†ªÆ†¬Ê‡­È†­Ç‡¯Ë„­É‚¬Ì€ªÈ†«É„¬Ë¬Ê‹°Ë…­Ëˆ®Ì|ªËƒ¬Ì‡®Ë‡¬ÊŠ®Ì‡®Ë†¯Ì‡¯Ì‡¯Íƒ¬Ë„«Ì‡«Ìƒ¬Ëƒ¬Ê…±Ë†¯Ë®Ê‚®È¯Ìˆ®Ëˆ±Ì†®Í‰®Ì‚®Ì„¬Ëz®Ì‰¯Ë‹±Í†®Í‹±Ì‡¬Ì‰¯Ì‹³Î³Î²Ì³ÎŠ°Ë‡±Î±Ìˆ¯Ë†­Ë‡±Ì‡²Ë‰´ÍŠ±Ì‰±Ìƒ­Ë†°Ï†¯Ì†°Í’´Ì‹³ÌŠ´Íˆ³Í‡±ÌŠ±ÌŠ¯Î‘³Ì³ÎŒ´Î¶ÌŠ±ËŒ´ÏŠ³Í‘³Ì´Î’¶Ñ’¶Í¶Î‰´Í‡³Ñ‰²ÎµÐ”µÑŒ´Ñˆ²Ï³Í‰¶ÐŒ³ÏŽµÎ¶Î”¶Ï‘¶ÏŽ´Ð“·Ñ•¸Î”·Îš¸Ð—¶Ð™´Í²Í—·Ð“¸Ï”·Ï—·Ð‘¶Ï’´Ð•¶Ð“µÌ’¶Î–¶Ò˜¸Ò’¸Ï’¶Ì‘¶Î’¶Ì•³Ì•¶Ì³Ë´ÊŠ°Ê“´Ë‘´Ì•¶Î—¸Î‘²Í•¶Î’¶Ð‡µÏ¹Ð”¸Ï•ºÐ’¶Ï˜µÏ’¶Í¶Ñ¶ÔŽµÐŽ¸Ð—¸Ð•¹Ð•·Ñ’¶Ñ‘¶Ò•·Ò“·Ô’ºÓ—»Ï•¸Ð–»Ñ’·Ð—·Î•ºÑ›¹Ò˜ºÖ•ºÒ‘·Ð’·Í›¼Ñš»Õ•»Ô˜¸Ó¶Ó–ºÓ™¹Ò•¸Ñ˜»Ñ”¶Í—ºÒš½Óš»Ñ”»Õ“¸Ñ¹Ò’¸Ñ”¸Ð™ºÍ—¹Ñš¹Ñ•·Ñ–¹Ð˜»Ô–»Ò–¹Ñ—ºÐ—»Ò™¹Ñ–·Ñ—¹Ð“¹Ñ˜»Ó™»Ó–½Ñ‘»Ñ—ºÒ™ºÑœ¹Ñ–¹Ó“¹Ó’¸Ô˜»Ï”»Òš»Ñ—»Ó–»Ó—»Ó”¹Ó›½Õš»Ó™ºÑ—¹Ñ ¿Ó®Ãջɨ·É×»ËÛ½ËÜ¿ÎÜÅÒÞÉÓÞËÖÞÌÖáÌÖàÉÕáÈÔáÉÓáÈÕÞÇÒßÅÐÞÄÐÝÂÏÞ¿ÌÞ´ÉÛ±ÅÙ«ÃÙ¦ÂØ¢ÁÕŸÀÓ›ÀÖ›½Ó™½Ô›¾Ö ½Õ½Ó™¾Öœ¾Õ¡½Ó½Õ¡¾Óœ½Ôœ»Ó›ºÓž½Öœ¾Ñž¿Ó½Õ¤Á× ÁÖ¦Ã×¥ÂÕ¡¾Õ¢ÀÕ¤ÀÔ¦ÁÕ§Â׫ÁÔ­ÄÖ«ÃØ´ÇÙºËܹËÚ¸ËÛ¹ÈÙ´ÈØµÈظÊÚ·ËÙ¾ÍÛÂÏßÃÑÞÇÒßÉÖàÉÓÞÉÓàÉÔàÈÓàÉÓàÉÒàÇÒßÊÓßÊÖÞÎÓàÌÖÞÎØàÍÙâÎØâÏØáÎØâÐØàÐÙàÏÛáÎØâÎØâÑÚãÑÙãÍÙâÍØáÍØáÏÙâÌ×àÌÖâË×àËÕâÉÓàÈÑßÇÑßÅÎÝÂÏÞ¾ÌÝÀÌÝÂÍÝÃÎݼÈ×¹ÊØ¹ÊÙ»ÉØ¶ÇصÄÕ²ÆÓ³ÄÕ´ÂÔ¶ÃØºÆ×´ÃÓ¸ÆÖ¹ÆÖ·ÄÔ¸ÃÖ·ÃÓ´ÃÔ¸ÅÔµÃѶÂÕ´ÂÔ¶ÅÖ´ÂÓµÂÒ´ÃÒµÂÒ´ÃÔµÄÔµÃÔ¶ÄÔ³ÃÓ¶ÂиÃÖ¸ÂÓ±Àѯ¼Ð´½Í¯¿Ï¯¼Í®¼Í¯¼ÎªºË«¹ËªºÌ¦¹Í¦¶Ë§´É¤¶Æ¡±Çž±Æ²Ç°Çœ±Ç™®Ãœ¬Â¯Ãš¬Ã”ªÆ˜ªÆ™ªÆ—¨Æ”§Ã—¦¼™©½—¨¾•¦¿—¦¾’£¼’¥¿‘¤ÀŒ¢½‹¢º‹¦¼ˆ¥¸‰£¸Š£¸‰£»‰¤»ˆ ¼Ž¢»†Ÿ¸Ž£¼‘¤¼‹¤¸‘¤¸‹£½Š¡µ‡£»…™·‰¤»ŒŸ·‡žº‹ž»¡»‹¢¹’¦¾‹£¿‘©¾¥·’¥ºŽ¢¸Ž¤¼˜¤½Œ¢»Œ¢¼‘§½¤¶¥»‡ ¶¤»•¥¼—¦¹“©À¦»—¨½•¨À—¦º”ª¾”©¹£»•¦¸“¦ÀŠ¢½£¾‘¤¼Š¤¹“£º–¦¼¤¸–¤»‘¤»Œœº¥½—¥½˜§¹—¨»¤¹™¨¼™¤½•©Ã—ªÀ‘©½–¤½šª¿˜¨¼–¢¼˜§½¤À‘¥½•ªÃ¦¼‘§¼™§½‘¥½™§¿–£¾˜¤»“¥Á™§¿Ž§¿™©¾™­Â‘ªÁ–¨À›ªÁ¨¾œ©À™¨¿›§»œ­Á¤°Á ­Â£¬ÃŸ®Â£°Å¢¯Ã¢­Ãž²Å¤´Ã¥³Ã¦³Ã¨®Ã©°ÆªµÆ«´Ç¬·É±ºË°¼Ê¶¼Êµ»Ë¹¾Ë·ÃιÁѽÄоÂϽÄпÆÏÁÇÑÀÇÔÀÇÕ»ÅÓ·ÁÒ³ÀѶÀдÀ͹ÂÍ´¼¹ÂÊÍÇÏÒÉÔÙ¢³Ëž®É¡¶Îž²Ë£³Ì¦¶Ë£·Í¤¶Ë¤¶Í¤¶Ñ¤´Ì£±ÍŸ²Ìœ²Ë¤¶Îœ³É¡´Ë™®Ëš®É›°Í˜®Èš±È—®É˜¯Ë›°Ê²Ê¡³Ê°Ëž¯Ë—°Êš±Ìš±Ì•°È˜°Ë˜­É—­È’«Ç‘ªÇ­É’®Ë’®Ì®Ê—®È”±Ê˜°Ëœ±Ë˜¯Ë™®Ê•­É­Ê“®Ç’¯Ë‘®Ç¯Ê‹¬Ê‹­Ê‹¯Ì‚©É‚ªÉ…®Ê…«Ê‹­Êˆ®Ì…«Ë€ªÉ†ªÉ‚­Ìy©Ë~¬ÌŒ¯Ê…­Ì†¬Ì}ªË~©Ì¬Ì©Ì‡¯Í„®Ì}ªË{©ËƒªË†«Í|©Ë«Ê|«Ë¬Ì„¬Ì…«Ì‹®Î„¬ÌªË…­Îˆ®Ï†®Ï~«Î€®Ì‡®Ì‹®Î„®Íƒ«Ì‡°Ï„®Î®Ï‚«Í†«Ëˆ­Îˆ®ÌŠ¬Ì‹¯Ì‰¯Î€«Ëƒ®Í„®Î‹±Î‡®Ë†¯Ì‚®Ì„¯Î†®Í„°Ð±Ñ†¯Í†±Î°Í…®Ì…°ÎŠ±ÏŒ²Ï„¯Í†¯Î°Í‘²Í‡®ÎŠ³ÏŠ³Î…¯Î‹±Ð†±ÎŽ±Ñ±Ð±Ì†°Î³Ñ‰±ÑŠ±Ñ‘´Ñ‹³Ò‘³Ñ´Ð±ÎŠ²Î†±Ï‘±Òˆ¯ÏŠ°Ò´Ñ•µÎ‘´Ð•µÏ‘²Î”µÒ”´Ò•¶Ò”¶ÒŒµÒ‘µÑ“¸Ò•¶Ò‘³Ï”µÑ³ÑµÏµÐŠ±Ì‘µÑ†±ÑŒ³Ò‹±Ñ“¶Ï•¶Ð†´Ñ¶Ó‹±Í‘¶ÓµÑ–¶Ñ’·ÑŽ¶ÑŒ´Ñ‘·Ó¶Ò‡´Ñ‹³Ð—¶Ð‘³Ð‹¶ÒŽ¶ÑŒµÒ¶ÓµÔŒ´Ð“µÑ´ÐŽµÐ¶Ò‘¶Ó’µÒ”¸Ó’¸Ó“¸Ò™ºÔŽµÑ‘¸Ó’¸Óš¹Ö˜ºÖ’¶Õ™¸Ó“¸Ó•¸ÓŒ¶Ó–¹Ó“¸Ô’·Ó“¹Õ‘¶Ö’ºÓ—¸ÓµÓ’ºÓ”¸Ñ“¸Ô•¹Ö™¹Ô˜·Ô“ºÓ‘¹Ò•¸Ó•¸Õ™¸Õ—¶Ó•¹Õ¶Ô—¸Õ’¹Õ‘·Ò–¹Ò‘·Ó“¶Ñ•·Ó—ºÔ•¹Ó”¹Ó™¸Ò’·Ó¶Ò›¹Ó’¶ÓºÓ¶Ñ—ºÖ’¹Ô–³Î˜»Ó޹֕¹Ó–ºÒ˜¹Õ–¹Ö—»Ö¸Ó—¹Öš»Õ–¹Õš»Ó˜»Ó•ºÓ˜»Ò¢½×«ÃÔµÈ×¹ÇÙ¾ËÝÂÍÞÃÐßÇÑáÈÓâËÖãÊ×äËÔâËÓâÊÕâÉÔâÆÑà¾ÌÞ¸ÈܶÈܱÆÚ©ÂØ£¿×¤ÀØ¥ÁØ ¾Õœ½Öš½Öœ½Öœ½Öš½Ö¤¿×¼×Ÿ»×ž¾Ø™»Ö˜º×š½Öœ¾ÔŸ½Ö¼Ôœ¼Ö¼Ö¡¼Ö£¾Ö¢½× À×§ÄפÀÖ¤Á× ¾Ö¢½Ö§À×§ÁÖ¬ÃØ¬Ä򻀯´ÆÝ¸ÉܹÇÚ´ÇܶÈÚ¯ÅÙ¬ÄØ¯ÆÜµÈݶÊݽÊÝÃÍßÅÑâÇÐàÈÓÞÉÔàÉÓâËÓâÊÓàËÏáÇÓàÈÒàÉÓâÊÔàÌÔâÍÕàÍØâÏØãÎÖãË×ãÍÖãÍÖãÎ×ãÍÙäÐÚãÑÚåÑÚåÏÖäËÕâÈÖãÊÓáÉÑàÈÒàÈÔáËÕâÉÐàÇÑáÆÏáÃÏàÁÌÞ¾Ìß¿ËÞÀÌÞÀÍÞÀËݽÊܺÆÛ¶ÅܽÆÙ¶ÅÙµÃÖ·ÅÖ»Ç×¼ÄÖ¼ÅÙµÃÖ¶ÄÖ¶ÆØ´ÄÖ¶ÄÖµÆØ¶ÅÖ¶ÃØ²ÁÖ¸ÂÕ¶ÃÖ¶ÅÔµÂÔ´ÃÖ´ÃÓ¸ÁÔ·ÃÕ¶ÂÓ·ÂÔ¶ÂÔ¶ÄÕ¹ÃÓºÄÖ¶ÄÓ´¿Ò²¼Í±¿Ñ®»Ñ«¼Ð¬¼Ñ«ºÍ¯ºÐ¬»Í©¶Ë£´É¤²Ç¤³Ê°Ë¦°È®Ç¢±Ç¦´Ç°È˜«Æ–ªÆ˜©Ç™ªÆš¬Æ­¾œ­Ã›­Æ¨Ã”¦Å‹¢À–¤Á“¨Æ¥Â¨½”¦¿£½Ž¤¾‡¤ÁŽŸÀ‡¢¿‡ŸÀˆŸ¹‹ºŒ£º ¼Œ »ƒ½‰¡½Ÿ»¡º‡¢¾£¾Š¡½Ž¤À‡¢¾ˆ¢¼¤¼‰£¿†¡»¤»†¢¼£¿¥¿¢¿“¥¾–¥ÁŒ¥Â”¥¿‰£¼Œ¤º¤½‘£»“¥º‹£½”¦¼£À‘§Á”¥½–¨Ã˜¥À𦽖§½—¤½–§¼”¥¿¦Ã•¥À•§¿•¤½”¤½‹¥¾Œ£Á‘£À•¤¿’¤¾Ž¡½Ž¦¾–¦¿“ ½Ž¤Á˜¤¼–¨¿™¦Â•¡¾•¥½Ÿ¿“¥½š©½“¥Á™¥¿š¦À›©Ã©¼–©¿˜ªÁ˜¨À¨Á–©À—¦Á‘§Â”©Â’£À–©¿™©Á™§¼˜¥¿›§¾™§Á™¨Á™¨¿›ªÂœªÁ›­Å«Å¢¯Ãœ­Å¤²Ç °ÇŸ®Ä£±Â¨®Ä¥±Æ§²È¦±Ç§³É°¹Ì«ºÌ­ºÌ±ºÍ²½Ðµ»Í¹½Ð»ÀйÁÏ»ÀѽÄÔ¾ÇÓ½ÇÓÁÉÓÁÉ×ÁÇÖÃÈÖÇÊÚÅËÛÃÊÛ¾ÉÙ»ÄÓ·Áи½Î´½Ï»ÀеÁÔ¶¼ÃÁÊÑÆÏÕÊÒØ¤³Ë³Ç¤¶É¤¶É µÉ¤¶Ì¤¶Í£³É¨¹Íª¹Ë¦·Ê¦´É¤²Ê¡³Ê¤´Ìž±Êž´Ì›±Ì±Èž±Éš¯Ç—®Éš®É±Ê™±Ê˜±É›´Íš²Æž°È±É™°É–®È”¯Å–®È”°È®É®ÈŽ¯Ç‘ªÇ‹«Çˆ­É‘®É‰ªÉŒ®ÉŽ¯Ë‘®É˜¯É’®ÉŒ«É¬Æ­Ç‹­Ç¯Çˆ­È‹­Ê„ªÇ‰®È„«É‚©Ær©Çy§Æ~«Ê}©É}ªÇƒ¨Æ‡ªÆ}ªÉ…®É…¬ËƒªÌ‡¬È«É‚¬Ç}ªÉªÊ}ªÊ†«É«ÊrªË€«Ë„®Ê®ËªË|ªË«Ë…­Ë~«Ç‡®Í®Ëƒ®Ë‹±ËŠ«ÍªÊ‚«Ë†®ÌŠ¯Ì­Ë~¬Ëƒ­Ê‹¯Ì‡¬Ë®Ë{¬Ë‡­Ë…«Ê­É~«É†®Ê‚®Î«Ì‚­Ë†®Ì†­Ëƒ­Ê…®Ë†¯Ë…­Ëˆ®Ëˆ¯Ì€¯Î­Ê„¯Ê†®Ë…±Ì{¯Î‡±Í‹¯Ë®Ë…°Ì†³Ì±Íˆ±Î‹²Ì’³Ïˆ±ÌŠ¯Ì‹®Ì‹±Í‘¶Ïˆ±ÍŒ²Î•¶Ð³ÎŽ±Í±Ì‹³Í‰³Î‰±Î‹²ÎµÑ’¶Ï‘´Î‘´ÎŽ±Íˆ±Îˆ°Î“µÏ‹µÏ’¶Ð’²Î•´Î”·Ï‘µÍ˜¶Ï”¶Ï˜ºÐ˜¹Ó”µÐ™¸Ñ•·Î’·Ï‘³Í’´Ì‘µÍ‘¶Î‹³ÐµÏŽ²ÌŽ³ÎŽ³ÍŒ¶Ï±Î³Ì³ÌŒµÐ‘´Î‘¶Ð‡³Î”·Î—¶ÏŠ¶Î’¶Ð“¶Ï¶ÐµÐŽ´Ï“¶Ðˆ±ËµÏ‹´Í‹·Î¶Ð“¸ÓµÑŽµÑ´Ï‘¶Ï“·Ð”¶ÑŒ¶Ñ•¶Ó–·Ó˜ºÓ™ºÒ•¹Ð”·Ñ¶Ó•¶Ó–¶Ð”¶Ó¶Ô•¸Ó·ÑŽ¶Ï‘¶Ñ¹Ñ•¸Ó“·Ò–¶Ñ˜¸Ó–·Ñ’¸Í”¸Ï’·Ï’¹Ó™»Ó–·Ñ”¶Ñ“¸Õ“¹Ó‘·Ð“¶Ð—¹Ð“¶Ó’·Ò˜¸Ñ˜¹Ñ“¹Ô”¸Ð•¶Ð™¸Ñ˜ºÑ–¸Ó’·Î–¶Ñ˜¸Ó”·Ï’·Î—»Ò—·Ñ’¹ÒŽ¹Ò’¸Ò“·Ñ‘ºÔš»Õ•»Ò—»Óš»Ó—¸Ó•¹Î™»Õ—»Ô“·Ñ“¹ÓšºÑ·Ñš¹Ñ˜ºÑ£¾ÒªÃײÅÕºÊÚÁÍÜÅÒÝÈÑÜÉÒßÇÒÝÇÕâÇÔâÆÒáÈÓáÈÔáÃÐÞ¼ÊÛ¶ÆÙ³Æ×§ÃØ¡ÀÕ˜»Õ¾Ö ¾Ó¡ÁÕ›»Óœ¾Õž¿Õ ½Ö£¾Öœ»Ö˜¼ÕŸ¾Öš½Ô›½Ó¾Ö˜½Õ—»ÔŸ»Õ—¼Õ›»Ó›½Ô›ºÔ›»ÒšºÓ ¼Õ¤¿×¨Á×¥ÁÖ§ÃÖ¦ÁÕ¬ÄÖ¯Ä×±Ã×±Æ×°ÅÚ´ÇÙ¸ÊÛºËÛ¼ËÙºÉÚµÉÚ³ÇÚ¸ÇÚ¶ÊÛ¼ÍÞºËÝÁÌÝÂÎÞÃÏÜÄÐÞÇÑÞÇÑÝÈÑ߯ÒâÆÑßÉÒÝËÓßÊÖÞÉÔàÌÕáËÖâËØáÎØãÎØãÌ×àÌÓáÍÓàÍÖâÌ×âÎØãÎÙäÏÚãÏÙâÏ×àÌÔÞÉÑßÇÐÞÇÓÞÈÖáÆÓáÈÓàÇÐßÈÑàÇÐÞÀÍݽÌÜÀÍÞÁÌÞÀÌÝÁÌÜÂÌØ¾ÊÛ¾ÉØ»ÇØºÇØ¶ÆÖ»ÈØ»ÆØ½ÇÖºÇÖºÆÖ¹ÄÓ¶ÆÙºÆÛ¸ÃÖ¶ÃÕ¸ÆÖ¸ÇÕºÈÖ»ÄÖ¸ÆØµÅÓ·ÆÖµÅÓ·ÄÖ³ÅÕºÆÕ¹ÅÓ¹ÃÔ·ÂÒµÃÔ»ÄÔ·ÄÓ¶ÂÒ±¿Ï¯¾Ð­½Î¬¼Ò­»Í©ºÎ­¾Í«»Ìª¶Ë§·Ì©¹É¨¶Ê¥²É¦´Ë£²É¢±Ç´Ç²Ç›°È ¯Æ£±ÆŸ®Á—ªÄ¬Ä™¬Æ˜¨Â—ªÄ”«Á’©Âª¿’£»’§À•¦½…¢ºŒ¥ÀޤÁ’¤½¥¼¤¼£¹“£¹ ¹†Ÿ¹¤½‰¤»¤»ˆ£¹“£º‰¢·Œ¡º•¢ºŒ¢¾Œ£¾ˆŸ·’£¿¥º‘¤»‘£½¢»¤½¢½Œ¢»£½–ªÂ“¨¼—¦¾•¤»Š¢½‹§½¤½“§Á§¼”¤¼—©À“§¹’¤¼—¦½™¨¾™¨½—¨À›«Â˜ª½š§¾‘¥½‘¥¼•§¼‘¨¿›§Âš¥Á”¥À”¥½—¦¼•§¾•¤¼–¥Á’¦¼™ª¼’§½š¨º–¦½›ªÂ‘§¼™ªÃ—¦À›ªÁœ«Â™¤À§½™ªÁ—ª½˜ª¾Ž¨¾œ¬ÁšªÂ˜¤½ª¿›ª½–©¿™©½‘ªÂ–¦À”¨Á˜§¿•¨Á™ªÂ›©Á›ªÀœ®Â›¬Áœª¾Ÿ«Á¢°Å£¯Â¡¯Å£°Â£±Ã¤´Å¤³Å©´Æ¥±É¦µË®µÉ«³È¬¹Í«ºÈ²»Ë²¼Í·ÁиÁÑ·ÂÒ»ÃÓ½ÆÒÀÈÔÁÈÕÃÈÓÃÊ×ÆÊØÆËÙÅÉÓÊÎÚÅÍÛÉÎÛÈÌÚÈÎÜÅÌÙÂÊ×»ÅÓµÀÓ¶¾Ï·ÃѼÅÒ»ÃÑ·¾¼ÂËÎÆÑÓÉÓÙ¦¶Ì£·Ì§¶Ì¨¸Ë¨ºÉ¦¸Ìª¸Ë¤¹Î¨ºÎ¨¶Í¤¶Ì¤·Ë¥¶Ê¦¸Ë¤²Í›®É›²Ë ²Ëš³Ë™³É˜±È”´Ë“³Ê±Ë—¯Ë›±Ë›±Èš²Êœ±È–°È°É®É“¯È’®ËŒªÈ®ÉŠ¬È‰¬É‰¬È„¬É„¬È„«Çƒ«ÆªÇ‡¬ÊŒ®Ê‰ªÆ‹¯ÈŒ±ÈŒ®ÉŒ¬Ê¬É‹«ÉŒ®Ë…ªÊ…¬Ç…«É†ªÈ‚«ÇªÈ‚«É«É„ªÉwªÉ„«ËƒªÉyªÌ­Éƒ«ÊªÇ‚¬Æ|©Éx©È€ªÈ†­Í†«ËªÊ„¬É{­Ë|«Ë„¬Ì€¬ÌyªË„«Ì‚­Ì‚­Ê¯Ì‡®Î€­Ì|«ÌªÉ†¬Í­Ë¬ËŠ®Ìƒ®Ì†¯Ê~­Ë}ªËƒ®Ë‰¯Í‚®Ë‡¯Î‡®Ê}©Éˆ®Ì®Ì­Ë†°Î°Ï€­Ë€¬Ê„¬Ê†¬Ë€®Ìˆ®Ì«Ë‰°Ï…®Ìˆ°Ì‰°Ì†¬Ë„®Ì«Ë…®Íˆ²Ñ‡®Ë…®Í°Î‹®Í‡®Ë‘³ÎŠ±Í‹³Î‰³Î…²Ï‡±Ð‹²Ï±Í±ËŒ³ÎŒ±ÍŒ±ÍŽ´Î´Ñ±Í‹²Î²Ï’³Î´Î‡±Î´ÌŒ´Ïˆ³Î¶ÎŽ´Í‡°ÏŠ³Î‡´Î…³Ñ³Ð¶Ð³Î¹Ð™ºÎ•·Ð˜¶Ð—¶Ò—¶ÐµÒ”µÑ”µÏ—¶Ñ”¶Ï’´ÐŠ´Î‘¶ÑµÑŒµÏ‹µÑˆ²ÎŒ¶Îˆ´Í‘µÎŠ±Î‡²Ï‘µÒ´ÑŒ¶ÒŠ´ÌŒ·Ì‘´Ñ‘µÑŽµÐµÐ‡²ÏŽµÏ“¶Ð·Ñƒ´ÏŠ³Î´Ð‹´ÑŽ¶Ð”·Ñ“·Ð´Ð‘¶ÏˆµÑ¸Ó’·Ó’¶ÒŽ¶Ñ·Ñ‘¹Ò·Ñ¶Ñ—¸Ó’·Ð–·ÒµÒŒ¶Ð’¸Ó’¶Ô’¹Ñ†¶ÏŽ¶Ò“¹Ò¸Ò‘¶Ð—¹ÒŠ¶Ñ·Ô’ºÓ’³Î–¸Ò˜ºÒ–¸ÏŒ¶Ò¶Ò”¶Ò‘¸Ñ•¶Ï—¹Ð”·Ï•¹Ñ’¸Ò‹¶Ò¶Ó’¸Ó’¹Ò•·Ð“¶Ï‘¶Ï•¶Ð·Ò‘¶Ò‘¶ÒŠ·Ò–¸Ó¹Ñ“¹Ñ–¸Ó–¹Ó·Ö¸Ñ–ºÒ˜»Ó•¸Ï–ºÓ—¸Ñ‘¶Ð޹Ӓ¶Ò¸Ó¶Ò“¹Ô•¹Òš»Ðš¹Ñž½Ó¢ÁÖ¶ÈÛ¾ÌÜÃÑÝÇÓÞÆÓßÇÑßÈÒ߯Ñ߯ÓáÆÑáÄÓâÂÏá¹ÌÞµÉÛ³ÇÙªÃÖœ¿Ôš¼ÔŸ¾Õ¾Õœ½Ö¡¿×ž¾×¤½Ò ¾Õ¤Àؤ¾Ö–»ÓŸ½Öœ¾Ö¡¾Ö—½Ô˜ºÓš»Ò˜¹Òœ¼Õ—½Õ™¼×˜¼Ôœ»Óš»Ôœ»Ó¨ÁÖ§ÁÖ¤ÀÖ¤¾Ô©ÁØ®ÃÕ²ÆØ²ÅØ±ÆØ³ÆÙ³ÇÚµÊÛºÈÚ½ÌÝ»ÌܺÌÛºÌÝ»ËݼËݽÌÞ½ÍÝ¿ËÝÁÌÝÃÐÞÆÑÝÃÑÞÇÒÞÇÒ߯Ð߯ÎÞÆÑÞÉÔÝÉÕßÊÕâÌÖàÌÕâËÖâÎØâËÕâÊÖâÊÖáÌØâÍÙãËÖâÌ×âÎÚãÑØãÐØâÌ×âË×áÇÒàÇÑÞÈÒßÊÕàÉÔáÆÑ߯Ð߯ÑàÅÑßÁÏÞ¾ÌÝ¿ÍÝÁÎÞÂÏÝÅÎÜÁÍÝÃËÜÂËßÀÌÜ¾ÊØºÇÕ¹Éֹɨ¼ÈÙ½ÈØ½ÊØ¼ÇØºÇ×½ÇØ¶ÃÔ»ÆÖ·ÅÖ¸ÄÖ»ÇØ¶ÆØ¹ÇÖµÆÖ·ÅÔºÇÓ·ÄÓ¸ÄÓ¸ÆÖ¸ÅÖ·ÃÓ¹ÂÔ·ÄÖ»ÅÒ¹ÅÖ¶ÃÔ°¾Ï±¾Ð²ÁЯ¿Ð¯¿Ò¯¾Í°½Í°¼Î¬¹Ï«»Ì¨¸Ì©»Ì¥¶Ë©ºË¥µÈ¦´Ä¤²É¤µÇ ²È™±È ³ÉŸ°Ç£±È¯Ä¢®Ãš«Æš¬¿›ªÂ’¬Æ’«ÃŽ§Â•ªÃ–§¾”§ÁŒ¤»¦¿“§À‹¤¿¥Á¥¿“§À•¤¼¤½Œ¢»‹£ºŠ£½Ž¤¼Œ¤À£»Œ¤º’¥¿¤À‘¥»¢µ¥À‘¤¾¤»“¤½Ž¢½’£½•¤»¦¹†¤Á§¿§À¦¿›¦º’¨½“©¿—¦¼’¨½–§¿—¨¿‹£½–§¾•ªÁ—©À˜©¿•¨¿•©¿›ªÂ¦¾˜§¾—¨Ä”«À—¨¾—¥½—¦¾•¥½™§ÀŒ¦À›ªÀ˜ª½–«Ã’¤¾™¨À–¦½›§¾•§Ãš¨ÄšªÀœ¬Ã—¬Á˜ªÄš¨Âš«Á›ªÃ›ª¿œ­Á ®ÄªÀœ¨Â›§À›ª¾›©¾™ªÃ™ªÁ—©¿™ªÂ˜ªÂ›©Àž¬Á›©Àš«¿›ªÀ›­Á¬Å›«Äž«À¢®Ä¢¯Å£¯Ã¤²Æ¨µÈ¦²Éª·Ëª´Ê«¹Æ±ºË±»Ë®´Ç¯½Î³¼Ñ¶½Î¸ÃÒ¸ÄÑ¿ÄѽÅÒ½ÅÔ¼ÆÕÀÇ×ÁËÚÁËÙÆÌÛÇÍÚÇÏÛËÑÛÇÏÜËÑÝÉÑÞÈÑÝÉÑÝÉÑÞÆÐÛÂËÚ¾ÈÖ½ÆÕ·ÁÓ¸ÁÒ»ÃÔ»ÃÓ½ÅÔ¸¾»ÃÊÐÈÏÔÉÔØ¨¶É§µÉ¨¶Ì©·Ê§¹Í§¹Í¤¸Ë¤¸Ë¤·Î£²Ë£³Ì¥µË¢²Ì¡³ÌŸ²É™³Ê™±Æ•®Ê•¯Ë­Ê’­ÊŒ¯ËŒ®Ë•®É‘­È–¯È®Ç‹­É®ÊŒ¬Èˆ«ÉŠªÉŠªÉªÇ‰ªÅ‚©Ç†«Ç©Æ‚ªÇˆ­Ë„ªÉ…ªÊ~ªÇƒªÉ‰¬ÉŠ«È†ªÇ¨É†«Ê…ªÊ€ªÉu¨Æ„ªÉ‚¨Ç{¨Ç¨Çw§Çz¨Ès¤ÆyªÈ~§Æ~©Æy©Ç€©Ê€¨É~¨É‚¬Ê€©Çt¦ÇzªÊ|ªÉ©É©Èƒ¬Ê}ªÊy¨Ë€«Ë~«ÊªÊ|ªË€«Ëƒ«É}«Ìy¨É€©Ë…®Ë€«É}­Ì†®ÌƒªË~ªÊwªÊ„­Ë~­Ì€ªÊˆ¬Ê‰°Ì€ªË„®Ìƒ®Í{ªËƒ¯Ír¨Ëƒ«Î«Ê©ËªÌ­Ì®Í‰¬Îƒ¬Ì¬Ì¬Ë†­Ë†®Ì…­Ì‰­Ë‚­Í†¯Ì|­Ë‡®Î…¬Ëˆ®Í‰­Ë‡¯Í†®Ìƒ¯Íˆ®Î†­Ë¬ËŠ±Î‰®Í‰¯ÌŒ¯Î…°Î†°Ë‚°Ëƒ¯ÍŒ¯ÍŒ³ÎŽ³ËŒ²Î‹®Ë‹±Î±Íˆ¯Ë³Ï‹²Íˆ²Ï±Ïˆ²Ñ±ÎŽ±ÌŠ±ÍŒ³ÏŠ³ÎŽ³Í“¶Ð‹´Î‰²ÍŠ°Î±Î‹²Í´Ð”¶Ñ’¶Î´Ï‘´Ì•³Í‘²Ð´Ñ”¶Ð’´Ñ‘³Ð‘µÎ•¶Î’´Ï‘¯ÍŽ±Î–µÑ´ÑŒ³Ï‹´ÑµÐ‘µÍ’´Î‘²ÎŽ±ÎŽ´ÐŽ´Ñ‘´ÐŠ³Ñ‰±Ë‡µÏŽµÐ±ÎŽ²ÎŽ³ÐŽ´Ñˆ±ÎµÐ³Î‹µÎ’¶Ï’µÑŽµÐŽ±ÎŠ²ÏŒ³Ð”·Ô‘´ÐµÐŽ±Ï‹´Ò‘¶Ð“¶Ñ’·ÑŒ¶Î‰´Ð–¸Ñ“¶Ð”·ÐŽ¶Ï’¶Ñ‘¶Î¶ÓŽ·Ñ’¶ÒŒ¶Ñ´Ñ’¶Ò‹´Ì•´Ð¶ÐŽµÒŽ·Õ¶Ñ·Ð“¶Ò“¶ÒµÑ¶ÑµÑ‹´Ï“·Ó‘·Ò“·Ð’µÏ‘¶Ñ’¶Ò“¶ÐŒµÑ³Ò¶Ò“¹Ð“µÐ’µÒ‘µÏ’¸ÒŽ´Ò‘¶ÓŒ·Ó¶Ñ“¶Ð“¶Ñ“¶Ï‘¶Ó”¸Ó—¶Ô™¸Ó•¸Ó—·Ó•·Ò—µÐ”¶Ñ•µÑ˜¶Ó—·ÑœºÕ›»Ô¤ÁÑ©ÂÔ¶ÈØ¾ÍÛÂÎßÃÏßÅÐàÇÑÞÄÑÝÅÒÞÇÒÞÃÐßÅÒÜÁÎÝ»ÌÛ®ÄÙ¬ÃØ§Àػԙ¸Ó›¼Ó¡¾Ó˜½Ò½Õœ½Ö ÀÕ¦ÁØ¥ÃÖ¨À×¥½Ô»Ôž½Õ›½Õ™¼Ö˜ºÖ–»ÕšºÑœ¸ÓºÕ»Õ•¸Ò•»ÓºÓ¡¼Ö¤À×£ÀÖ¤ÀÕ§ÁשÂÖ®ÄÖ³Æ×±ÅÙ³ÆÙ³ÆÖ¶ÆØ¶ÆÙ¹ÆÚ¼ÊÙ½ÉÚ½ÍÞÀÌÝÀÌÝÀÌÝ¿ËÛÁËÜÃÍÝÃÍÞÆÐÞÆÑÞÈÑàÄÒáÈÒÞÄÑßÁÏÝÂÌÝÁÎÝÅÑÞÉÑàËÓàËÒàÉÖàËÕáÉÓßÊÓàÊÓàËÖáËÖâÌÕãÌÕáÌØâÌ×âÍÖâÍ×áËÓáÈÑáÄÑÞÆÑàÇÑ߯Ñ߯ÐàÆÎÞÆÎÝÅÎÞÂÍÞÁÍÝÀËÜÃÏÞÄÎÜÆÎÜÅÏÝÇÑßÀÍÛ¿ÌݾÉܼÇÙ»ÇØ½ÇÕÀÇØ¿ÇØ½ÇØ½ÈØ¸ÆØ»ÆÛ¹ÄÖ»Å×¸ÇØ»Æ×¸ÇÛ¸ÆÓ»ÇØ¸ÅØ·Ä׺ÅÕ·ÅÓ¸ÃÒµÃÖ¶ÃÓ·ÂÓ¹ÃÔ¶ÂÕ¸ÂÒ¹ÃÔºÄÓ³ÂÓ²ºÎ¯¼Ð¯½Ñ¯¾Ñ±Áа¾Ò®»Î²¾Î¯½Î¬¹Î«¶Ëª¹Î¦µÊ¨²É¦¶Ê§·Ç§¹Êž²Æ›®Æ¤²É¤±Æ¤²È£±Ç›®Ç¬Ä®Æ˜¬Æ˜©Ã”­Å”§½–¨Á‘¤Á–¦¿”¨½”§¿Ž¢À’£½‘¥¼’¤½¥½‹¤º¦¾Œ¥¾‹£À£½¥À”¤¿•¤¼‘¥À£½Œ¦Á–¤½‘¤»‘£¿Œ¢¿˜¥À’¤¾‘¤»¢Àާ½‘ªÁ–§¼“¤¼—¤½Œ¥À›¦¾—£À”ªÄޤ¾˜§½‘§¿š¦½™£½–§¾ª¾˜ªÄ™§Àš¨Ãœ©Àš«¿›©Á–¦¿–§¿–¦»˜§º›«¿¦¿™ªÁ™©Áާ¿—§½—ªÁ˜¨Á›¦ºœª¿•ªÁ©Ãš¤Á™¦Âž©Â ªÀ™¬Ä›«Åž©Àž«Áž­Ã¡¬Äœ¬Ã™©Á—¥Áž¬Â¡®Ãž«½ ¬Ã›ªÃ˜©Â—©Â§ÄšªÂ¬Å–«Äœ­Ä¡¬¿Ÿ¨ÁŸ«Âœ®Ä˜­Å «Ä¡®Ç¢°Æ¢¬Ä¦°Èª²È¬´Ê¬·Ë­»Î®½Ì²½Î¶¿Íµ¾Ï¶¿Ñ·ÀζÁѽÆÓ½ÅÖ½ÈÚ¿ÉÙÁÉ×ÄÌØÄÉØÇÌÛÆÌØÇÍÛÇÍÛËÐÜËÓÝÌÒÝÎÓÞÎÒÞÊÓÝÉÐÝÊÏÛÆÍÜÀÉÙ¾É׺ÆÕ·ÁÓ¶ÀÒ·ÀлÃÓ½ÄÕ¸¼½ÃÊÐÇÏÓËÔØ¨µÉª»Ë©¹Ê¦¶Ì¤¸Ë¤¶Í¤µÍ¦µË¤³Ì¤¶Ë£±Éž²Ëœ°É—­È‹ªÆŒ®È«Ç‹ªÈ…¬Ç‡®É†«Æ‚¨Çˆ¨Å‹¯Ëƒ¨Ç„§Ç¨Èƒ«ÆzªÅ„«Çw§Ç©Ç†¬Ç¨Ç…©È‚©É‚ªÇ„ªÆ†«ÇƒªÈ€©Çv¦Ç}¨ÆªÈ~©Êx¨Æ†ªÇ©ÆªÉ„ªÉ¨É}©Ç€©Éy§Ç„ªÅy§Æx¦Äx¥Æ{¥Çu¤Å…¨Ç~¤Ç}ªÇ}ªÆ§Æ‚©Çƒ©È|©È„ªÇ€ªÉ{ªÊ‚«È…©Èw©Ç„«Êƒ«Ëw«Ê{ªË¬Ë­Ë…ªÉ€©Éˆ­Í©Ê¬Ëƒ¬Ë‚«Ìz«Ê¬Ì|ªÊ…®ËªÊzªÌv©ÊŠ­Ë¬ÉƒªÌ†¯Î…¬ÉŠ®Ì{ªË}¬Ê€¬Ëƒ®Ì€ªÊªË€ªË„­Éƒ®Ë‚­Ì‰¯Ë‚¬Ìƒ¬Ìƒ®Ë®Í‚®Ë‡¯Ë…ªË€«ËªÊ­ËŠ°Ìˆ­Ë‚¬Ë‚­Ë„®Ëˆ®Ë„¬Ëˆ®Ë‰­Ì„­Ë±Ì€«ÌŒ¯ÎŽ°Ë‹±ÌŠ±Ë‡³ÍŒ±Í³ÎŠ±Î‡­Í³ÍŽ±Ì‰²Ì…°Í‹²ÎŠ²Ì‡²Î²Ñˆ±Ì‹±Ì‹±Ì‰°Ì‹³Î‰±Í±Ì²ÍŠ±Í’²Ë³ÍŽ³ÎŒ°Í´Ï´Î¶Î•µÎ•´Í˜µÎ’´Í™¶Î•·Ð”¶Ð´Î”¶Î–¶Í•¶Ñ”µÏ˜·Ò—¶Î³Î´Î‘¶Ñ‹³Ò‹µÍŽ¶Ñ‹±Í²Î²Ì´ÌµÎŽ²Î‰³Ñ‰²Î‰³Îˆ³Î’µÐ‹³ÏŒ´ÎŠ³ÏŽ´Î³Î’´Ï‘µÑ•µÏ“µÎ‰±ÌŒ³ÎŒµÑŽµÑµÑ´Î•¶Ð‘µÑ’·Î¶ÎµÏŒ³Ð‰²Ð‡°ÑŽ³Ñ‰³Ñ¶Î•·ÑµÎ™¸Ò¶Ð·Ñ“¶Ñ‘·Ñ”¶Ð•¶Î”¸Ñ“¶Ñ”¶Ñ‹¶Î•¶Ï’¶Ð’¶Ð”¶Ð•·ÏŽµÏ‘µÐ‘µÑ’´Ï³Ï—¸Ñ’¶Î’µÐ•·Ð·Î¶ÐŽ²Í’µÎµÏ‹²ÑµÓ‘¶Ï–¶Í¶Î‘¶Î‘¶Î‹´Î¶ÒŽ´Ñ¶Ò˜¹Ï’·Î‘¶Ò’¶Ò’·Ñ–¸Ó–¹Ó–¸Ò‘·Ñš¸Ï™ºÒ”·Îœ»Ó »Ó¡½Ô¬ÃصÈÙ¹ÊÚ¹ÌܾÎÝÀÏÝ¿ÍÛÁÍÞÀÌÜÃÏàÂÏàÅÐݾÍÜµÈØ§ÀÔ¦ÀÖ¤½Õ—·ÒŸ»Ô›»Ó—»Ô™¼Ò£½Õ£¾Ö©¿ÖªÁÖ§ÃØ§Âפ¿Ö¡½Ó›»Ó—¹Ó—ºÖ™¹Ó˜·Ôœ»Ö—¹Ò™»Õž¿Ô›»Ó™¹Ò£½Ó ¼Óž¾Ó¨ÁÖ¦ÁÖ¨ÂתÄÖ±ÅײÅ×±ÆÙ³ÆØ±ÇÙ²ÅØ²ÃÙ·ÈÚ¹ÈÙ½ËÚÁÌÜÂÎÜÂÍÞÂÍÞÁÎÞÃÎßÂÎÝÅÐÝÇÓßÉÓàÉÑàÉÒßÉÑàÆÏÞÃÎÞÁÎÜÁÌÝÃÑÜÇÑÞÇÒÞÊÑßÊÑâËÔàÉÔÞÉÓßËÕÝÌÒÞÉÓÞÉÒàÊÓáÊÕáËÖâÍÖáÌÖàÉÓ߯ÑàÄÎßÃÎÞÃÏÞÆÑáÆÎÝÄÎÞÄÎÝÅÏÝÅÌÝÃÌÝÁÍÜÄÎ߯ÐßÇÒÞÉÕÞÈÓÞÇÐÞÃÌÝ¿ÌØ¿ËÚÁÉØÀËÙÂËÜ¿ËØ¾ËØÀÈÖ½ÈØ¼ÈØ¹ÆØ¹ÆÖÀÇÙ»ÇÖ¸ÆÒ»Ç×»ÃÖºÆÔ»ÅÖ¸ÆÖ·ÃÔ¶ÂÔ·ÄÖ¸ÂÓ¶ÂÑ»ÃÖ¶ÃÔ¸ÅÔ¸ÃÕºÆ×µÂÔ±ÁϳÀеÁѱÁÒ±ÀÑ®¾Ð±¾Ê±½Ï±¿Î±Áα¿Î°»Ë®ºËª¹Ë¨¹Ë¨¶Ì«¶Í§µÊ¤±É¦³É¨±ÇŸ°Ç¢²Êž±Çž±Æš®Æž¬Áœ¯Æ•¬Ä™®Æ—§Ã“¦Ã–©Â—ª¿™§¼–¦¾‘¥Â“¦À—ªÄ’¦À•¦Á“¥¾‘¤¾”¥½–¨À–¥½–§¿–¤À–¦Á•¤¿–ªÀ“¤¾˜¨Â•£Àœ§Á‘¤º’¨¾–©½•§»‘¨¾”¦¿—¤À•ª¿™¨»—ª¿–¨Á–©¾˜ªÁš¨½‹¥¾“§Àœ¨¿œ¨Á™ª¾—©Á˜«Á—©¼œªÀ™§¾™©Á•¦½•¤½”§¼–ªÂ’§½›ª¾™©Ä˜¦Å–¦Â™ªÂ˜ªÂ—©¿œªÃ›©ÁšªÂž«Ã«ÃŸ¬Ã¤­Å ­ÃŸ¯Ã®Ã¬Ã¡ªÁŸ«Ä¤«ÄŸ®Å¡°ÇœªÃ¡¬Âž¬Ãž­Âœ«Ã¢¯Æ¤°É¡°ÉŸ¯Æ ®Ä ¬Á¢¯Å¡°Å¡¯È ¬ÄªÃ¯Å¥°Æ¢®Äœ­Á¤°Å¦¯Å«µÆª·Ì­¸Ì°ºÊ±»Ì±¼Î°½Î±½Î²¿Ñ²½Ï³ÀйÁмÂÑÀÇÑÁÉÒÂÉØÂÉ×ÅÉÙÄËÙÇÍÚÉÍÛËÐÛÊÓÙÌÓÝËÑÞÌÒÝÌÒÞÌÓÞÎÔáÌÔßÌÔÞÍÒÜÇÏÛÃË×ÁÈ×»ÄÔ·¿Ò»ÀÒ¹ÀѽÄϽÆÒ·¼ºÁËÏÇÐÔËÔÚ¤·É©¸Í¨¸Í¤µÌ§µÌ¡´Êž²Ì›´Êš±Ê•±Ë•¬É®ÊŠ®Ë’±Ë†«Ç¨Ä«Éy¨Ç~¨Æ‚¬É€­Ê‚­Ë€ªÉ…¬É|¨Èv¨Çs§Çr¥Èw¦Ç}§È©ÉªÉw©Èu§Çw¦Æw¨Æz¬ÇzªÇ‚«È€«Ê|ªÇx§Çs§Éx§Çy¬Èv¨ÈuªÉ{ªÉ€ªÉ|©È„ªË~©Æ~ªËx¥Æ†¬É…©Ç†©Åz¨ÆzªÈ«Éƒ¨Èy©ÉwªÇz§Ç¨ÈzªÉv¨É{¬Êw©Éw§Æs¥Ér¥Ê«Ë~«Ë~«Ê|ªÉz§È~©Êw§É©É«É«ÊzªÉ|¬ÊxªÉ{¬É­Í{­Ëo¨Ë©Ë{©Æ®Ìƒ®Ê{¬ËŠ¬Ì…­ÌvªÊ…«Ë„¬Í‡®Ë‚«É­Ì‚®Ír¨É¬Ì€ªË~«Ê‚­Ë}­Ë¯Í€­Ë‚­Ì}«ËxªÊxªÊ®Ì~­Ì…®Ë¯Íƒ­Í†®Ë‚¬Ë€©Ì„®Ì†­Ë€¯Î}­Ë„¯ÌŽ²Í…®Í…¯Ì€±Ï‹¯Í„®Ë‚±ÎŠ±Î†±Ë„¯Î‹°Í„®Ì®Î†±Î‡²Î±Î’µÎ‡²ÐŽ³Ñ‰²Í‡±ÍŒ²Ð‰²Ð‹³Îˆ¯ÌŠ²Î‹´Ð³Ïˆ²Ï‰²ÎŒ²Í‰°Ì…­Íˆ±ÍŒ±Î´ÐŽ²Î“´Ì²Ï˜·Ï›¶Ñ—¶ÎºÒ˜¹Ñ™»Ó’³Î˜¶Ð—·Ñ’µÏ”¶Ï“·Ï•·Ò¯ÌŠ³Ï³Ì´Î†²Í‡³ÏµÌ‹¶Î³Ñ„±ÎŽ´ÎŽ²Î…¯Ì¶ÐŠ³Î‹·ÓŒ¶Ñ‡´Ï¶Ð´Ð‹±Ì³ÎŒ³Î‰µÐˆ³Î²ÑµÑµÐˆ±Î•µÏŽµÑƒ²ÏŒµÑŒµÐŠµÐ‹¶Ñ޶Ӓ¶ÑŽ´ÏŽ´Îˆ¶Ï‹´Ð‰´Î·Ò·Ò‘¶Ò‘¶ÒŽ·Ð‘¶Ò‘¶Ò¶ÑˆµÐ‹¶Ñ‰³Ï•·Î—ºÓŒ´Î¶Ð‹´ÌŽ·Ï—¸ÓŒµÑ’·Ó”·Ð‘¶Ï‰³Ð“¶ÎŽ¶Ð’¶Ñ¸Ñ´Ñ‘¶Ð´Ñ´ÐŠµÐŽ¶Îˆ²Ð‰¶Ð·Ó“·Ò’¶Ñ¹Ñ‘·Ð”¶Ñ¶Ò‘¶Ó“»Ó‹·ÐµÑ’µÑ—¹Ñ“ºÓ’·Ò¶Ò¹Ñ¶Ò¶Õ—·Ò·Ó˜»Óœ»Ó¡½Ó¤ÁÔ¤ÀÔ¤ÀÖ¬ÃØ´ÇܶÉÚ²ÇÙ±ÇÙµËÜ·ËݺËÛ·ÊÝ­ÃÙ¤ÀÖ¦ÂÕž»Ò”ºÒ™ºÑ˜ºÔ‘ºÕ½Ö¾×¤ÀÕ¦ÁÕ£ÁÖ¤ÃסÁן½ÕŸ½Ö›½Ö–¸Ô˜ºÓ–ºÒ™»Óœ½Ó–»Òš»Ö™¼Ô›¹Ó ½Õ¢¾Ô¤ÁÖ¢ÁÖ¤ÁÔ¡ÀÔ¦ÂÖ­Ä×±ÆØ²ÆÙ²ÄرÆÙ±ÄضÇÚ²ÆÙ³ÇÛ»ÌݾÍÞÁÎßÁÐßÃÐßÃÐÞÂÎÞÅÎßÃÏÞÄÑÞÆÓàÇÓÞÇÓÞÊÔÞÉÔàÇÑÞÇÑßÃÏàÂÎÞÄÑÝÅÎ߯ÐàÉÑàÉÓàÇÒàÃÑàÅÒßÅÒàÃÏàÆÑàÄÑàÃÏ߯ÑàÈÒâÇÒáÅÑàÅÑàÃÑßÄÐÝÂÐÞÄÏÞÃÎßÃÌÝÂÍßÃÎÞÀÍÝÂÐÞÅÑßÅÐáÇÓàÆÑÞÉÓáÈÑàÇÓßÃÑÞÃÎßÃÐÛÁÌÜÀÊÜÀËÝÀËÝÁÉÙÀÊÛÀËÛ¿ËÙ½ÈÚ»ÇÛ»ÇÛ½ÆÖ»ÇØ»Ç׻ɨ»ÇÓ»ÈÖ»ÆÖ¸ÅÖ¶ÄØµÂÔµÁÒ·ÃÔ·ÄÕ¶ÄÔ³ÃÒ·ÄÔ»ÆØºÆ×¸ÄÖ±ÁÒ²ÁÒµÂÒ·ÄѶÂѳÂÒ´ÁÑ´ÂÓµÀÒ±¼Ï°ÁϱÀÏ­¼Ñª»Ñª¹Ìª»Í©¹Ðª»Î¦µÊ§¶Ê§µË§µÉ£´Ë¢±É¤±Ç¢±Éš­Çš®ÆŸ¬Ãš­Æž®Æ›­ÅœªÃ—©Ã”ªÀ¨Å–§Ã”¦À’¥½‘¦¿Ž¥½”¦¼¤¼“¥¿Š¥½•¨Â–«Â”©¿Ÿ¬Ã˜©Ã“§½•©Ã“¦À¢¿¦Ä–¥¾—©Á–«Ã•ªÃ”§À–ªÂ–¨¿¦¿•ªÁ™ªÁ—¨À–¨Å–©Á’§Á“¦À–¨Áš©¿˜®Æ•¬Â›­Ä•©Á™ªÄš©Ä”§À”ª¿•©½”©À˜ªÂœ«Ä›ªÂ˜«¿”©Â“©Ã—©Âš©À”¨Â˜©Âœ«ÅœªÃŸ§¾œ¬ÃœªÂ—¬Æž«Æž°Å¯É ®Ã¡®Ä¤®Äž¯Ä «Ã ®É¤°Ê¤®Ã¡®Å®Æ ®Ä¢®Äœ®Ã°Ä®Å ®Å¡¯È¢¯Åž®Å¤¯Å ­Æž°ÉŸ¯Â£°É£¯Ç¤¯É¤±Ç§µÉ¨´Å¦µË¦²Ë¨¹Ë®»Ï°¼Î´½Î±Áѳ½Ï³»Í±¼Í³¿Ó¶ÁѼÅÓ½ÉÙÁËÙÃÌÛÄÍÛÆÎÛÆÌÜÊÐÜÈÐÞÉÑÞËÓÝÍÓàÌÓÞËÔÝÍÖÞÎÓßÌÔÝÌÕÞËÓßÌÔàËÒßÇÎÛÄËÚ½ÆÖ¹ÄÒ¹ÂÒ¸ÃÒ»ÇÖ»ÅÔ¶½ÂÃÌÐÇÐÖÊÔÙ§³Èª¶É¢²Ë¡´É¤±É±Ì›³É—°Ç–®É–®Ê‡­È…§Ä|¥Æy¥Çt¤Æ}¨Å‚¨Ç©Èv¤Æ~¤Å~¨Æ…¦Èx¥Æy¤Åu¥Æz§Çu¢Äv£Æw¢Å{¤Æq¤Èx¨È~ªÆz©Æy¨Æw¡Æy¤Æx¤Æy§Ç†¨Çz§Ç}©Æ{©Çz¤Çx¤Ç|£Çz§Æy¤Çy£Âu Âv¥Æz§Ç‚¦Äy¤Æy§Æt¢Ã€§Å‚§Çu¥Ç|§Ëx¦Æx¥Ç©Èy£Ã€¥Æy©Çs¤Ç~§È|¨Ç©Åƒ©Æƒ©Êu¤Ç|§Ç¨Èx¥Ç|ªÊ{¨Ë©Ë…©ÈªÇzªÈ}§ÇwªÊ|¨Ê‚ªÊs©É«È€ªÊ}¨Æ}¨É~ªÊ|ªË|©Ç~§É…ªÊw¨É{«Ë~©Ê}©ÊƒªË}¨É‚©ÊƒªÊ‚«Í„¬ÉªÊ…«É{©Æ…«É€©Ê€©ÉªÊ„­Í|ªÊƒªÉ‡«É‡¬Êˆ«Ë†­Êƒ­Í€ªËƒ¬Ë…­ÍŠ®Ë‚ªÊ‚¬Éƒ­Ì‡®Ì‚«Ë‚®Ìˆ­Ì…®Ë‹®Ë}«Ë†«Ë€©Ê‹±Ì‰­Ì‡­ÌŒ®Ì„®Ë‡®Ê‹±Ì‹¯Ì‹®Ì‘²Ð±Î‹²Ñ²Í‹°ÌŒ±Ì‰°Ë…¯Ë†°Í‰®ÍŽ±ÏŠ°Î±ÌŠ¯Ë‰±ËŠ°Ë±Î‹±Ð”±Î’³Î˜²Î˜´ÍœµÎ”µÎ–µÐ²Í–´Ñ–¶Ñ“³Ï–µÎ–¶Ì•µÌ“µÎŽ±Í‰¯Ì‹±Ë’±Ì“³ÎŒ²ÌŒ®ÍŽ²Î†¯Ì†®ÊŽ±Î°ÌŒ±Ñ‡±Ë²Í´Î¯ÎŒ°Í”³Í“¶Ïˆ²Î‰³Î‹±ÌŽ´Í‘³Î‰²Íˆ±ÌŒ±ÌŒ³ÍŒ±Í’³ÑŽ²Í”µÏ‡°Ì²ÎŒ±Í‰¶Î¶ÐŒµÐµÑ—¸Î”´Í²Ì‹²Ð‡±ÍµÏ‘µÓ‹²Ñ´Î´Í•³Î‘³Îˆ®Ë‘µÍ³Ð“¶Ñ”¸Ò‘³Î“µËŒ²Í±Ì’µÏŒ´Í’¶ÑµÐ’µÏµÎ’¶ÏµÐ³Í‘³Î³Ï‹³Ï‹²Í”µÒ”µÍ‘´ÏŽ±Í“µÎ–´Í³Í‹±ÌŒ´Í´Ñ‘¶Î–¶Ð‘²ÐŽ´Ï‘¶Î±Ñ’¶ÓŽ´Ñ·Ñ’·Ð˜·Ð“µÎŽ´Î‘µÏ–µÌ–¸Ñ—¶Ó–·Î”·Ï›¹Òœ¹Ó˜·Ñš¸Ð½Õ™½Ôœ¾Õž¼Ô¢À×¥¾Ô§¿×¦ÁÖ§¿Öœ»Ô ½Ö ½ÖšºÔœ·Ïž¸Ñ¹Òœ¹Ñ ½Õ¡½Õ¦ÀÔ£¾Ó¥ÁÔ¢»Ó¶ÒœºÔ—ºÓ™·Ð•¸Ö™¶Ò¶Ðœ»Ó˜¸Ñ»Óœ»Ò¤»Õ¤¾Ñ¦¿Ö¤ÀÕ¨ÁÔ¤¾Ô§½Ó«Á×¯ÃØ³Æ×²ÄÖ¶ÆØ³ÅÖµÆØ·Ç×¶ÄØµÆØ·ÈÛÀËÝÂÍÞÂÎÝÂÎÞÄÐÞÄÏÝÆÌÝÃÌÝÄÌÝÆÑÞÇÏÝËÑßÈÓÞËÕáÉÑÞÄÎÝÃÌÜÃÌØÃÎÜÄÎÞÁÌÞÁÎÞÁÍß¾ËÝ»ÉÝ¿ËÝÀÌݼÌÝ»ËÛ¾ÌÝ¿ÍÝÀÍÝÁËÝÂÎÞÁÎÝÁÌÜÀÌÜÁÌÜÁÎÜÂÎÝÅÎÝÅÍÞÃÌÝÃÍÝÅÎÝÃÍÝÆÐàÊÑßÉÓàÈÑàÇÐÞËÑÞÊÓßÄÎÞÅÎÞÃÌÝÄÎÝÅËÙÂËØÃËÖÂÉÙÁÊØÂËÛÁËÛÁÉØºÇØ¿É׺Ç×¹ÆÖºÆÕ»ÆÖ½ÆÖ»ÆÔ¼ÅÖºÆ×»ÅÔºÄÔ¸ÁйÃÓ¹ÁѹÂÓ¹ÃÓ»ÄÓ»ÅÕ¿ÅÖ¼ÆÒ¶ÂÓ¶ÃÒ¶ÁÒ¶ÁеÁжÁÓ¶ÃÒ¶ÂжÁÒ¶¿Ñ·Áѵ½Î³»Ê±½Ð°¼Ñ°½Ñ®ºÎ«ºË«¶Ëª¶È§³É§±É©²Ë¢²Ë¦²Ê¥±Ç¡®Ç£±Ç›«Ã ®ÃŸ®Çœ¬Ä—¨ÄšªÄ’©Ã˜§¼‹¥¿¤¾”¤½¤Á–¨Á˜¨Â‘£Á”¤¾˜¦¾“§¿”¤½—¤½Ž§À—¨Âš§¾’¨À˜¦¼—©¾›ªÁ‘§ÁŽ§Â’¥Á˜§Àš¦Å™¨Áœ«Á™¨ÁœªÁ—©Á™¥º—©À›©Á™ªÅ›¬Á›¨Ã¢«Ã™«Á›©Àž«Âš«Âž¬Æ›­Ãš­Á›¨¾˜¦¼˜¥¿˜¥Áš¥Á™©¾§ÁšªÂ›ªÃš§ÁžªÅ›¦¾˜¦À™¨ÁªÄž«Æž­Ã «Ã «Á¤«Ã¢«Æ¢®Ã£¬Ä¢®Æª°Å¤°Ä ¯Æ§±Ã¢®Ç ¯Ä¡­Ã¢®Ç ªÁ¤­Ã¤®Ä¥®Ç£®Ä£­Á¢­Å¡­ÈŸ°É£±Ê¤±Æ¥°Ç¦¯Æ¨°Ç¨±Æ©²Ê¨²Ìª³Í­´É®¶É±¶É±ºË°»Î±¼Î²»Í¶¿Î·ÂиÃÒ¶Á϶¿ÐµÀÒºÃÓºÃÕ½ÇØÁÉØÁËØÃÌÜÊÎÚÊÎÜÊÐÛÌÑÝËÑÛÌÒÝÎÕÝÍÔÞÌÕáÎÒÞÌÑÝÌÒÝÊÑÞÊÏÜÊÎÝÇÎÝÃËÛ¿ÇÕÀÆÕÀÄÕ¼ÄѾÃѽÃϹ»ºÃÊÏÇÏ×ËÔÙ¤³É£µÈ¤¶Ê™³Ê˜²É˜³Ë—¯É‘¯È”®È¬È…©Ç}¨Äy§Å«Æx¥Äv§Æy¨Æ{©ÇªÆ¨Æ~§Æz¨Æ{¨Ær¦Æz¦Å}§Æt¦Äw¢Ãy¥Äx§Åq¥Åx¨Éq¥Åv¤Æy¥Äq¢Á|¦Åw©Çv¨Çr¥Å|©Èx¤Æv§Æ~¨Æ{¨Æy©Çv©Æv§Æy©Çy¥Æx¤Æy¨Æx§Åz¤Äo¤Ç{©Çx¤Æ}¤Åt¥Åu¥Å{¦ÄyªÆ†©Æ†¬É¨Æ~§Æx§Çx¥Ær¥Å€©Æ}©ÇªÇ}§Æw¨ÇªÈ„ªÇ|ªÈw©È|©Çz¨Èw©Æ‚¬É„«Ëv¨Èz©Æ~ªÈ«Ç‚«É|ªÉ€©Ç‚ªÅ€ªÆu©Ç€ªÆv©È|ªÉ…ªÇƒ¬Êƒ­ÉzªÉ~ªÊ|©Çv©Ë~ªËªËyªË¬Ì‚¬É‰²Ì­Ì¨Èƒ«É…®Ëˆ®ËƒªÉ„®Ë¬È„­É…­Ë„«Ë†­Ê†«Ì«Ë‰®Ë|¬Ë…²Ëˆ®Ë‡­Êˆ®É…­ÍŠ­Ì‹±Í‹°Í‰±Ì„±Ë…­Ë†®Ë…®Ê‹°Íˆ®Ê‰°Ì‡±Ìƒ®Ê³Ë„®Ë³Ë±Î‹±Ì±Í´ÐŒ²Î‹´Í²Ì„¯ËŠ°Ì‹±Ìˆ±ÌµÏ²Ð²Í³Ì‰°Ë‘³Ì°Ë°Î’´Ì“´Î•·Ï’¶Í’¶ÍŽ²Ë’³Ê–¶Î³ÐŠ³Î–µÍ‹²Î•µÎ•¶Î•²Ë‘±Ê´Í†±ËŒ³ÏŒ²Ñ‹°Î’²Ë‰±Ë‰³Ë‡®ÌŠ±Ì‡²ÎŽ±Î‹³ÍŒµÌ“¶ÌŒ°ËŽ²Ë²Ì‰°Ë„°Ì„®Ì‹±Îˆ±Ë‘µÍ‹²Ì´Î†±Í±Í‰²Í‹³Ï‰²Î‡³Ì‘¶Î”µÍ’²Î‰²ÍŠ²Í“µÐŒµÎ‹³Î’¶Î‘¶Îˆ²Ê‹²ÌµÌ‰³Î’¸ÎŽ¶Ò‡²Î–¶Ï“¶ÎŽ´Î‘¶Ì´ÌŠ¶ÎŠ´Î‘¶Ð·ÑµÍµÎ²ÌŽ³Ì’¶Î‘µÏµÏµÏŒµÎ’³Ì‘´Î¶Î‹µÎ‘µÍ“´Ñ’¶Ñ‘´Ï‰²Í’¶Í”¸Í–·Î’¸Ð‘·Î†³Ì†²ÍŽµÒ‘¶Ð—·ÐµÍ‘µÍ’³Ñ‘µÎ’·Ï¶ÏµÐ•¶ÎµÎ“·Ó•·Ñ‘¶Ñ¶ÎŽ¶Ðž¹ÒµÐ˜ºÐ—ºÎ’·ÏŽ´Ð´Ì´Ï‘µÏ™¸Ðš»ÕºÒžºÒž½ÒœºÒš¸Ð™ºÒš»Ò˜¹Ò˜ºÓ»Ô¡½Ó½Ô¤ÁÖ¥ÁÕ¤ÁÓ¦ÁÔœ½Ö˜»Òœ¹Ó•¶Ñ–¹Ò˜·Ó—¹Ñ½Ñ¡¼Ò¡ºÑ¹Ó£¼Ó¢¼Ó§ÁÔ¤ÀÓ£ÀÓž¼Ó£ÀÔ¬ÂÖ¯ÄÖ¸ÆÙ²ÆÖµÈضÈÙ¶ÉÙ·ÉÙ·ÆØ·ÆØ¸ÉØ¸ÉØ¿ËÚ¾ÎÝÀÐÝÁÌÜÃÎÞÅÑ߯ÎÞÆÎÝÇÑÞÅÒÞÃÒÞÇÓàÇÑßÉÓâËÓàÆÑÞÂÎÚÁÎÚÃÎÝÀÌݽÌÛºÊܳÇÚ¶ÆØ³ÈÚ´ÈÚ²ÇÙ®ÅØ´ÈظÉܹÉÚ´Æ×³ÇÚ¶ÈÛ¿ËܼËÜ¿ÌÜ¿ÍݽÌÜÂÍÝÆÎÞÆÍÜÃÍÝÃÎÝÅÏÞÅÐÞÈÑÝÊÒßËÕàËÓàÌÖßÌÖàËÒÞÇÐÞÃÏÝÃÎÛÄÐÝÃÍÜÄÍÜÃÎÞÃÎÝÃÌÖÃÌØÂÊØ¿ÊÙÁËØÀÉÙ½ÈØ½ÈؾÇÔ»ÇÕ»ÇÖ¼ÇÖ¹Ç׸ÇÖ¹ÇÔºÅÕºÄÕ¶ÃÔ·ÄÒ¶ÄжÅÔ¹ÅÔ»ÅÖ¿ÆÚ»ÅÖºÃÓ½ÄÒ¸ÄϸÄÒµÃйÄÓ¹ÂѼÃÓ·ÄÕ¶ÄÕ¶ÆÒ¶Åѱ¿Ï´ÁÏ´ÀαÁÒ³¼Ð°¾Î¯»Ì®»Ë­¾Î­¸Èª¸Ëª·Ë¤µÉ¤µË¦·Ë£µÇ£±Åž®Ãš®Å˜ªÅ™­Æš¬Æ˜«Å–ªÄ˜«Â˜§¾˜¦½˜¨Á’§Ã“ªÃ“¦¿•§À’¨¿˜¦¾–©Â˜©Ã™©Â•©Á˜¨Ä–ªÁ’©Á™«Ãœª½“¤¾˜§Â•ª½–§Áš«Ã—§¿›«Àš­Ä™¬½Ÿ°Â˜¥»ž¨» ª¿ª¿š­Ãœ«Âœ«Â ¯ÂŸ­Á¬Âž­ÂšªÄœ«Âš©Ãž«Â™ª¾—¬Àš©Ã›ªÄš©Áœ­Â ®Áž¬Â ¯Ã®Ãœª¾š§¿›ªÄ®Äœ¨ÀžªÁªÃ¡¬Á¡­¿¤¯Æ¤®Á¨°Ä£¬Ã¢°Ä¢²É °Å©±Á§³Ã¥±Ç©±É£³È©²Å¦²Æ£³È¦²Çª±Æ¤°Ã§±È¢¯È¤²Ç¤¯Å¥³È©²É§²Ë«³Ç¬¸Ë«·Ê«¸Ë©¸Ì®»Ë®ºÌ°»Ì²½Ì´¾Ï¸½Í³¾Ï¶ÁιÃѹÁÔ½ÂηÃÓºÃϽÃÒ½ÄÓ½ÇÓ½ÇØÁËÕÃËÚÇÎÜÉÐÛËÓÝÍÓÝÎÕßÍÕÞÎÖÝÌÓÞÎÖÞÏÓÞÎÕÛÌÔÝÌÔÜÉÏÝÆÎÜÇÎÛÅÌÛÂÉÕÃÉÔÂÊÖ½ÆÒÀÇÒ½ÅÒ·¼¼ÂÊÎÈÐÕÌÔØ£¶ÊŸ²Ë–²Ì”±Ì’®É’¬Ê‹®ÈŠ­ÇŠ¬É…ªÊ}¦Ç}¤È{§Êx¤Çu¤År¥Æx¨Èv¤Æs¤Äz¦Æw¤Èt¥Èy¤Æ|¦Ç…¦Æ{¥Æv¦Ær£Èt¤Çt¤Çt£Çu Äy¥Çv¤Çs¥Æq¡Æo¡Äy¨Ç}¨É¨Èv¡Äs£Äx¥Æu¥Çw¦Ç€¨Èz§Çq£Æv£Ær¥Æp£Å{¥Çw¤Æz¥Çu¤Ç}ªÊ¦É„§Çw¥Æv¦Ær¢Å{¤Ç{¨É€©Çr¥Æ„¨Ç©É~¦È|©Èu¥È{§Çy¥Æy©Ëy©Ê«Ë§Çu¨Èy¥Çu¦É}©Èx§ÉªÇy©Êt§È~©É{¥ÈƒªÉ€©Ë|ªËs§Ëu©É†¬ËªÊv¨Êv¨É~ªÉ}©Ê€ªË~ªÊ€ªË{ªÌs¦Ëy¨Ë‚«Ê}«Ë‚ªË‡«ÌzªË}ªË„®Ë†­ËªË~«ÊƒªÌƒ¬Ê}¬Ë~«Ê…®Í…­ÌŠ­Ì¬Ë|©ÊªÊ­Íƒ¬Ì¬ÌŠ¬Ë‡®Ë«Ë„¬Ìƒ¬Ìƒ­Î‡®Ë†®Î­Ì…­ÊŠ°Í‡°Í…°Ì®Í‰±Î‡¬Î‡­Ë²Í‡®Ì†°Î±Í±Í‘³Ñ‘±Í†±Î‰®Ì†­ËŒ°Í²Ï‰²Í„®Ì‹±Î±ÍŒ±ÌŠ±Ì„®Ë²ÎŒ±Ì‘µÎ‘³Ì”´Ë‘²ÍŒ°ÎŠ±Í‡°Í±Ï‘²Ð²Ï±Í•¶Î“³Î³Í‘³Î‡±Ï‹´Ï°ÌŽ±Ê‹±Ì…°ÌŠ²ËŒ±Í‡±Î†®Î„®ÎŠ±Ð‹°Ê†°ÍŒ´ÎŠ±Í…±Ï‰°Ïˆ±Ï‰°Î³Í²Ìˆ±ÍŠ±Í‡®Í‹²Í‹²Íˆ°ÎŠ³ÏŒ´ÏŠ²Íˆ²Í…°Ï‡°Î‡±Ï³Ñ‰²Ñ¶ÐŠ²ÏŠ³ÏŒ²ÐŠ±ÌŠ±Í‘µÐ³ÏŠ±Î‘µÐ–¶ÑŽ¶ÎŽ±Í‡¯ÎŽ²Ë‹°Î´ÏµÏ‘¶Î´Ð’µÐ’µÐ¶ÑŽ³ÏŠ³ÏŽ´Ð³Ï“¶ÑŽ²Ð´Ñ²ÍŠ´Ðˆ±ÎµÑˆµÑ‹´ÎŒ±Î‡±Î´ÐŒ³Í†±Í‰µÏ¶Ó•¶Ñ‘´ÎŽ´Ï‡±ÍµÎŽ³ÏŽ´Î´Ï´Ì–·Ó–¶ÒŒ²Î–µÏ•¶Ð‰µÒ“¹ÓµÐ‘²Ñ˜¶Ñ˜¶ÎµÎŽ¶Î¶Ñ•¶Ò—¸Ó˜¸Ó’¶Ò•µÐ’´Ð•·Ò•¶Ñ’¶Ñ˜·Ò˜¸Óœ·Óš¹Ô•ºÒ¹Ò›¹Ò›¹Ó£¼Ó¢½Ô¢ÀÔ§ÁÖ¥ÁÖ£ÀÖ¡½Ó£½Ö ½Ó–·Óš¸Ò—¶ÒŸ»Ó’¹Õš·Ó »Ó¢½Ó¤»Õ¼Ô»Ö£¼Ô¢¾Ô¥ÀÖ¤»Ô »Ó£¾Ó¤¾Ó¦¿Ó­Ä×¶Ç×µÇÙ¶ÆØ´ÆÙ²ÆÚ°ÅØ¶ÅØ¶ÇÚ¹ÈØ¹ÇܾËÞ¿ÍÞÃÎÝÁÍÝÂÎÞÄÏÝÇÎàÇÑ߯ÐÞËÒÞÇÐÛÇÐÝÆÎÝÆÐßÄÐàÃÏÞÁÌÞ½ÉܾÌܾÊݺÉÛ¹ÊݶÈܳÆÛ«ÂÙªÂÕªÁÖ­ÃØ±ÃÖ®ÃØ´ÇÛµÆÛ²ÄÙ·ÇÛºÊÛ»ËܾÍÞ¼ËݼÊÜÀËÜÃÍÞÁÌÞÂËÝÁËÝÆÐ߯ÒàÊÓßÉÒáËÔàÌÔáËÖàÌÔàËÓßÇÐàÇÐßÇÎÞÄÎÞÆÎÜÇÍÝÆÏÞÄÐÝÃÎÛÃÎÜÆÌÝÁËÛºÈÙÁÊÛ¾ÉÛ»ÆÛ¹ÄÕ¸ÆÓ¼ÇØÁÇÖ¼ÇØ»ÆÖºÆÖºÅÕ¸ÄÕ·ÄÕ·ÃÓ»ÅÕ¼ÄÖ¹ÅջĨ»Æ×ºÆÚ·ÆÖ¹ÆÔºÃÓ¸ÃÔ¹ÃÒºÆÔ»ÆÕ»ÆÔ·ÅÕ·ÄÖ¶ÃÔºÁÖ¼ÃÔ¸ÄÔ¶ÃÒ±ÀÒ±¿Ñ¯¼Ð®ºÍ¯»Ì¯ºÌ¯¹Ì«ºËª¹Ìª¹Ë¦¸Ë¥±É ±È¢°Éž°Æ›±Ç›­Æœ¬Å­Æš©Ã•¨Â˜ªÂš©Ä•ªÂ–§¿•ªÂ’¨À¦Ã–¨Â”¤¾£¿”¤Á—¨Å™¬Å–ªÂšªÅ“§¾—ªÀ—©Á˜ªÁ’¥Ã–©Å™ªÆ™ªÄ ®À™«Æž«Ç›ªÄ¬Æ™¬ÅŸ«Äš©ÁŸªÂ¡ª¿£­Åœ¯Æ¡±Æ¡¯Ç¡±Èž­Æ¡¯Æ¤®Å©ÃžªÃž«Æ›¬Ä›«Æœ¬Èž°Çœ¬Ã›ªÂœ¬Âž«ÄŸ«Ä¬ÅŸ®ÇŸ¬ÁŸ®Ã­¿£¬Æ™©Á£­Æ¡­Ã¨¯Ç¢®Ë¤±Éœ°Æ¤±Ç¤±Ã¤¯Æ¢®È¤¯È¢¯Ä¤°È¨¯Ç¤´Ê¥¯É©±È¨®Ê§±È¥³Ê¥²Ê£³Ëª¶Ê©µÊ¦¶Ê©±É©²Ê©µË¦´Ë©¸Îª·Ë¬ºÌ°¼Í´¼Î¶¼Ï´¾Ñ¶½Í¶¿Ò²¿Ï¶ÁѹÂѸÂÒ¼ÃÒ¾ÃÓ¾ÅÖ¾ÆÔ½ÃÔ»ÇÕ½ÇÙÁÆÖÃÈØÃÊÛÉÌÛÈÎÜÊÏÝÌÔàÌÔÞÌÖáÎÕÞÎÖÝÎÖÞÎÓÜÌÓÞËÓÝÊÑÞÉÏÝÇÏÛËÎÛÈÍÛÄÌÚÂËÙ¿ÈØ¾Ç×¾Æ×½ÇÕ»À¼ÃÊÏÈÐÖÌÓÚ ±Çž¯Ê–®È‰§Å‹ªÈ©Ê®É†®Å}¦Âx§Æs¡Æm¡Ås¤Æw¥Åu¤År¥Ær¨Äx¤Çv¤Æw¤Âr¥Å}§Èw¤Ét§Æy¦Æ{¥Æ|¥Ç{¤Æq£Åw¥Çv£Æy¨Èx¦Çs¤Äs£Äu¥Ä{¦Æw¤Æs¤Ã}¨Çy©Ç}¨Èv¥Çx¥Ås¤Èp¦Æp¤Æx¥Æ|¦ÉlŸÆz¦É~¥Ã|§Æz¨È€¨Çp§Çy§Æt¤Ãu¤Ãy§Æo£Ã{¨Ç{¥Æs£Æw¤Æu¥Æu¤Èo¥Ç~©Éx§Çw¦Æ{¨É|¦Éz§É}§È|§È«Ê‚ªÈz©Åu¨Çv§Ç}¨Æ~©Èw¨ÈzªÈ…­ËyªÉªÇz©É€ªË~¨Év¨Ê{©Ê|ªÊ‚©È…ªÆ~ªË~ªË~¨Çy©Éz©É‚«ÉªÉ}ªÉƒ«Ëy¨Ë~©Ë…ªËªË«Ë€«Ê…®Ëx«ÊyªÊªÉƒ®É€ªÉ€©ÉªÈˆ®Í«Ê€®ËxªÊt©ÉªÊƒ­Ë‚­Ë{ªÉ~ªÊ€®Ì®Ê‚­Ì«Ë‡¯Í~«Ê‚«Ê†¬É‚°Í…®Ì}«ÌªË…¬Ë®ÊŠ±Í‘®Ë’²ÏŠ±Ì•³Ì´Ð‹²Î‘´Î…±ÎŒ±Î±Ì‘²ÍŽ²Í†²Í‡±Î‹®Í‹°Í‹°Í‰®Ë‰®Ë±Í’±Ï‡°Î’µÎ‰²ÌŠ±Ì±Ë‰¯Ë±Ì‘µÎ‹³ÍŠ´Ì—¸Î•µÎ³ÍŠ±Ë²ËŒ±Î‹±Í²Ìƒ°Ì€±Ì‡°Ë‡±Ë‹³Î±Í“´ÎŠ²ÐŠ±ÎŠ±Í†¯Ë‡°Êˆ°ÌŒ²Í„°Ìƒ¯Ì†±Îˆ±ÍŒ³Î‰°Í…±ÍŠ²ËŠ²ÌŠ°ËŒ²ÏŠ±ÎŠ±ÑŠ±ÎŠ³Ì‡²Ì…²ÌŽ³Ï…³Î–´Ñ³Í…²Î‰°ÍŽµÏŒ³Ì‚²Ì‡²Ïˆ²Ì´ÓŒµÒ³Ðƒ°Ì…±ËŠ³Ì…±Ì‰±Î‹µÌ‹²Í‰´ÑŽµÎ´ÐµÏŽ¶ÏŒ²Í‰³Ì²Ï³ÏŽ³ÏŽ´Í‰´Î‹´Î‰²Í²ÌµÍ‹³Ì³Ð“¶ÐŽ²Í‘µÑŠ´ÎµÏµÎ’¶Ñ¶Ñ‘¶Ñˆ´Ï´ÐŠ´Î‹³Ð‘´ÏŒµÎŠ³Î´Î¶Ñ¶Ð•·ÎŽ¶Ð‘¶ÎµÍ¶ÏŽ²Ï“·Ñ’·ÑµÌ•·Ð’³Î•¶Î”¶Ñ¶Î‘·Ò“¶Ñ”¶Ñ¶Í“¶Î˜¸Ò˜¸Ð—·Ó”µÐ”µÐ”¹ÑšºÓ ¼Ô¡½Ó¤»Ô¤¿Õ¨ÀÔ¡½Ö¦¿×ºÕ¢½Ó™»Ïœ¹Ó—¸Ò›¸Ó—¸Ñš»Ï¢¾Ö£ÁצÁÓªÁÔ¨¿Ó¥ÃÖ§¾Ö¼Ó»Ò¤½Õ§ÀÔ¨ÃÕ§Ãͻ̯³Ä×·Ç×¶ÇØ¸ÉÙ²ÆÙµÈÚ´Ç×¶ÇØµÃ×µÅ×¼ÊÜÀËÜÃÎßÄÑßÂÎÞÄÏÞÄÎÛÆÑàÆÑÞÆÐÛÅÑÞÆÑÛÅÑ߯ÑÞÄÎÞÃÌÞÃÎݽÌÚÁÌݾÌÚ½ËÞ¼ÊÛ¸ÉÛ´ÇØ±ÅØ­ÀÕ®ÃÔ°Ã×®ÆÚ±ÅÙºÅÛ·ÈÙ·É×´ÆØ·ÈÛ¹ÊÛ¹ÊÛ»ËÝÀËÚ½ÊÛ¿ÌÝ¿ÌÝÁÌÝÂÌÜÂÌÝÄÎÞÉÑÞÊÔàÌÔáËÖáËÖàÍÖâÉÔâÊÒáÉÑáÆÑÝÇÑÞÈÓÞÅÑÞÅÎÜÅÑÞÆÏÜÆÏÝÃÌÜÆÍÛÄÌÞÃÌÛÁËܼÊÙ¼ÈØ»ÈÛ»ÉÙÁÊÕÀÉØ¾ÊÖ¾ÉÖ»Ç׺ÅÓ·ÅÕ¸ÄÓ¼ÅÕ»ÄÔ¹ÄÒ»ÅÖºÇ×»ÆØ»Å׸ÅÔ»ÅÔ¼ÆÔ»ÃÓ»ÃÔºÅÕ¹Æ×»ÇغÈÖ¶ÃÓ¹ÆÕ¸ÆÖ¹ÄÓ¹ÆÔ¶ÃÕ³ÃÓ²ÃÓ²¿Ñ°Àѯ»Ð¯½Îª¸Ì®ºÍ­·Ë­ºÍ®·Ë©´Ë¤±É¢±Ç¥±Ç ¬ÄŸ®ÇŸ¬Æœ­Æ™­Â™©Àš¬Ã—ªÂ˜«¿•ªÂ™«Ã’¨¿•ªÃ˜ª¿—ª¿”§¾–©Æ—©Å˜©Áž©Ã“©Ã™­Áš­Æ™ªÅž«Å™ªÄ™ªÆš¨Á—¨Á—­Áœ­Äž¬Â™«Â®ÄŸ¬Á£¬ÅœªÁ¢«Å¬Ãž±Æ¢¯Æ ²Ç£±Å§°Æ¤°Æ£°Æ£®Ç¡­Æ«Åš¨Á›ª½ž¯Ã ±Å£­Æ£­Ç¯Ç¬Ä ®Æ®Å›«Ãž¯ÃŸ«Å¡±ÇŸ®Èœ®Ç¡®Ä ¯Æ£­Ã¤®Å¤±Ç©±É¢®É§¶Ê¤¶Ê¥¶Æ£±É§´Ê¤³Å¦²Ç¨¶Ì£¶Æ¨µÉ¤¯Ã¬¶Ê¦¶Ìª¶Ëª¶Ë«µÌ«¶Ì¬¹Íª»Ìª¸Ê¬¹Ë¬¸Ëª·É­ºÌ¯»Ñ´½Î¶½Ð´ÀÒµÀϳ¾Ò¶¿Ðµ¿ÑµÀÓ¹ÃÒ½ÆÓ½ÃÓ½ÆÔ¿ÉÔ¿ÃÓ½ÆÔ¾ÂÓ¼ÃÖ»ÄÒ¿ÄÖÂÉ×ÂÊØÆÎÚÈÏÛËÐÝËÓÝÌÒÝÏÔàÎÖßÏÖàÏØàÌÔÞÍÔÞÉÏÛÉÑÝÊÎÜÇÏÝËÐÜËÑÝÉÒÝÅÍÚÀÉÕ¿ÆÖ¿ÆÔÂÈѺÀÄÅÍÓÇÒ×ÊÖÙ“­Ç‘¬Ã‚¬Ç¨Æy¦Åz¤Ãx¥Än¡Åv¡Ãy§Ät¤Ãs£Åm¢Ån¤Ån£ÄmÄ{§Ç¨Çu¤Åv¤Ãv¦År¡Ås¥Çv¦Çr¢Ær£Åu¤Ä~ªÆm¡Âo¢Äl¢Æu¥Æs¤Çr¢Æt¤Æt¢År£Äq§Æt¤Æs¤Ær¤Æv¤Æo£Æv¤Çp¢Çv¥Ço¤Ær¢Ãs¥Åv¥Çv¤Äv£Æx¥Åz¥Çs£Çt¥Åu¤Ã€¨Æz¤Æx£Çs¡Ç~¤Èr£Äv¤År¢Æo¢År¢Ær£Å{¥Æs¡Åt¥Ås¦Äs¤Æs¡Å{§Ç|¦Æ|¦Ç}¨Ç€©Æy§Éz¦È¨Ç|ªÇr¦Êr¦Èu¤Å~©Æx§Èt§Ç€ªÇy©Çv§Ç©Ês§Èr¥Ê}¨Ç|§Æu¥Æ~¨Æt§È€©Ê©Ë}ªË€©Ê~¨Çt¨ÉªÊvªËs¦Ê{ªËz¦Ê|¨Êu©Ê|ªÌƒªÈ~ªÈ¨É©ÊªÊ‚ªË}©Ê{ªÉªÉ‚¬Ë…¬Ê~¬ÌªËªÉ~«Ë‚¯Í€¯Ë~«ÌªÉ‚¬Ë€«Ì~ªÌ}©È€«Ì{¬ÊyªÉ‚¬Ë€«Ë†­Ì‡®Ì‰­Ë‘°Í±Î—´Ï—³Ï³Î“±Í‹±Ì’²ÌŒ±Ì„°Í„¬Ë‡¯Ê‡¯Íˆ®Ì‰¯Ìˆ¬Ë…¬ÊŠ°Ì†®Ì‰®Ë…­Í‰­Ë‡°ÍŽ±Í†­Ë‹°Ë…°Ì„¬Ë‚®ËµÌ°Í’³ÎŒ±Í±Ì‹°Ì…±Ì‰®ËŒ¯Ë¬Ëƒ¬Ê†®Í‹±Î‹¯Ëƒ¯Ì‚«É‡±Ì‡±Îˆ®ÌŠ±Ì‹±Ì®Ë…¯Ì…¯Ì®Ë‡°Ì‰¯Ìˆ®Ì‹´Î…¯Íˆ°Ìˆ°Ì†¯Ë„®ËŒ±ÍŽ±ÍŒ±Î³Ï†±Í…¯Ì„®ÌŠ²ÏŽ²Î„­Ë†±Î‹±Í†´Ñ„°Ð‡¯Î‹³Ì†®Ë‹±Î†±Ñˆ±Ð‡®Ì…­Ì†®ÍŠ±Î‹°Ì‰±ÌŠ±Îˆ²Ð‰±Î³ÏŒ°Î´Îˆ±ÌŽ²Í‰´Î‹²ÍŽ´ÐŽ´Ñ‹³Î“´ÐŠ±Ë†®Ë‰³Ë±ÌŒ±ÌŠ±Í³Î‘³Ï³ÎŒ´ÎŽ³ÌŽ´Í³Îˆ¶Îˆ²ÎŒ²Ð–·Ó´Ñ´ÎŽµÌµÎ¶ÎŽµÐŠ²ÎŒ²Ñ•¶Ñ‘´ÌŒ³ÎŒ²Ñ‘²Ì•¶Î—¶Ï’³Ì³Í‘¶ÐŽ³Î´Í•¶Ð¶Ð³Ï´Ð”µÐŒ´Ñ—¶Ñ”¹Ò˜¸Ñ—µÐ”´Ï–¶Ð™»Ò–¸Ô™·Óž¹Òœ¸Ñœ»Ô¦¾Õœ½Ô£¾Õ¢½Ó›¹Ò’¶Ò“·Ï”¶Ñœ¹ÐŸ½Ï¢»Ñ£½Ô§ÀØ©ÁØ©¿Ö¦¿Ó£¾Õœ¹ÐŸ»Ó˜¸Ó¤¾Õ­ÁÖ¯ÄÖµÆØ¶Æ×»È×´ÆØ´Æ×µÆØ²ÅױĨ³ÃرÄ×µÅ׹ɨ¾ËÛ¾ÌÜÂÌÚÃÌÝÂÍÞÃÎ߯ÎÝÇÑÝÇÐÞÈÑÝÆÑÛÁÍÝÃÎÞÃÎÞÃÎÞ½ÌÜºÉØ¼ÉÛ½ÉÙ»ÈÚ¹ÇØ³ÄØ­ÄØ²ÇÙ°ÃØ¶ÆØ·ÆÖ¶ÈÖºÆÚ¼ÉÙ¸ÉÛºÉÛºÊݽËܽÊÙÀÊÛÀËÙ½ËÚÀÌÜÀÌÝÀÌÜÃÌÝÃÌÝÅÎÜÆÎÞÇÑÞÊÒßÌÓáÍÕâÌ×âËÔâËÓàÉÏÝÇÏßÉÒàÊÑÞÉÑÞÉÏàÉÒÝÆÓÝÉÑÝÇÐÝÆÎÝÅÎÜÂËÞÃËÜÄÌÝÀËÛ¾ÇÛÀÈÔÀÉØ¼ÈØ¿ÇØ¿ÉÚ¼ÈÛ·ÅÖ¹ÃÔºÅÓºÆÖ»ÆØ½Æ×»ÆÕ¼ÇÔ»ÅÕ¼ÆÖ½ÆÖ¾ÆÕºÃÕ¹ÄÔ¸ÄÓ»ÆÕ¼ÆÖÀÇÖ½ÇÕ¹ÇÖºÆØ¹ÃÕ³ÃÓµÃÕ¹ÄÓ¹ÅÖ·ÆÕ´Ãѵ¾Ñ±½Ñ­½Ïª¹Î¬»Î­»Ì¨·ÌªºÍªºÉ«¶Ì¤³Î¤±È¤²È£±Æœ±Èž±È¯Çœ¯È›ªÀ™«Å™©Â•§Å•ªÆ’¨Ã–¨À”ªÃ—¨À“¤¿‘¤Â—©Ä™¬Ã“¨À›©ÂªÆ—­Ã˜©Ã—§Ä•ªÁ”¨Á‘§Å•¨Á•¨Á˜ªÆ›ªÃŸ¬Æž­Ã›©Ãœ«Â™ªÁœ®ÉŸ±Çž±Ç¢®Æ¤«Âª²Å¨µÈ °ÊŸ³ÇŸ°ÉŸ¯Æ­ÇªÆ›¨ÅªÅŸ­Å ­ÃŸ¬Å¤­Ç¢®Ç ­È °Ãœ¬Ã ¬Â£­ÅŸ®ÆŸ¬Æ¡®Ä¡¯Ãž®ÅŸ®È ®Èž­Ç¤±ÉŸ¯Ê¦¯Éª²É¦´Ê¦²Ë©²Ì¦³Ëª³É¦±Ç§¶È¤µÈ©±Ç¤²Ëª²Êª¶Ìª¹Íª·Êª¶Ì¬¹Ì­»Íª¹Í°¶Ì¯¶Î¯¸Î¯ºË±»Î²¾Ï´¿Ï¸Àѵ¾Ò¶¼Î¶¿Ï¶¿Ð¹ÁÑ»ÂÓ·ÃÒ½Æ×¼ÇÕ¿ÇÔ¿ÇÕÃÈÚÃÉÙ½ÈÕ¾ÈÔ½È×½ÇØÁÉØÆÊØÉÌÛÊÎÛÊÑÝÌÓÞËÑÜÍÒÜÍÔàÌÔßÎÕàÍÓÞÊÑÝÆÍÛÇÍÛÉÏÜÉÎÚËÏÛÊÐÝÉÐÝÆÍÜÀÉÙÀÇÔÂÈÕÀÆÒ¸ÀÄÄËÐÈÒ×ËÕÛ‡©Ã~¥ÂªÆu¥Ä¤Æv£Á¥Äu£Åx§Æ}¤Ä~¥Éw£Çy¤Är¡ÃnŸÂ~¦Är£Ä}§Æ~§Çs¤Æ…§Ær¥Æo¤Åx¥Æw¥Åv¤Æt£Åp¤Çw¥Åx¦Çt¤Å{¨Çx¦Åy§Çz¤Åw¤Ç€¥Çw¥Æs¤Çl¤Åx§Åo¡Äs£Äu¤Ç{¨Èv¤Å}¨Éy¨Çp¤Ãh¢Äx§Æw§Æl¢Æv£Åz¨Ær¤Ãx¦Ã€¨Æ|¨Ær¤Ät£Äy¤Çz¤Æ|£Å{©Çr§Æt¦Åp¤Åp¤År£Æ}§Æu¤Æy§Çt¥Çx¦Æv¤År¦Æv§Æp¥Æw¨Æy¦Æ€©É|©ÉwªÈs¥Æt¤Åu¤Ä©Çu©Çr¦Éy§Éq¦Æ~«Çw¦Æx¨Æ}©Æ~ªÉx§É~ªÌ®Êt¨ÆªÊ¦É‚©Ç€¨Ç©Ë†¬Ê{«Ë~«ÊªÉ}©Ç~ªÉ€©È€ªÉ©Ê€«Êy©É}ªÉªÉªÊ©Éz©È‚«ËªÊ‚¬Ìˆ¯Ì‡®Êƒ¬Êƒ¬ÊªÌ€ªË}ªË…¬Ê¬É‚¬Éƒ­Ê~ªÉ„«Éƒ¬Ì€¦Ê„«Ë¬Ë…®Í„®É‹¯Ëˆ­É±ÌŽ­Ì’®Ìƒ®Î³ÎŠ±Ì‰®Ëƒ­Ë«Ë…®Ë‚¬Éˆ¯Ë…®ÌŠ±Ì‘³Í‰³Ì†­Ë‹®Ì†®ÌŠ¯ÌŽ°Ê†¯Êˆ°Ì‡°Ëˆ±ÌŒ®ÊŒ¯ËŒ±ÌŠ¯Ë‹±Í’±ÌŒ±Í‹²ÍŒ±ËŠ±ÎŒ²Í‰°Ëˆ¯Ê‡°Ë‡°Î†®Ì‹°Ì‹±Ì‚®Êƒ®Ë‡°ËŠ¯Ì‹±Ì‹³Î“´Ì´Í…¯Ê…®Ê±Ë‡°Ëƒ®Ë…®Í‰¯Ì‹±ÌŠ²Ì†±Í„°ÍŒ±Ì…±ÏŒ±Í’³Í³ÌŽ³Ì‰´Ï³Ì±Ð‰²Í‰±Ì‹´ÎŒ±Ì±Ì‘²ÎŠ´Î‡±Íƒ°Î‰±ÐŒ²ÎŒ±Ìƒ°Ì…±Ì‡±Í‡±Ï…±Î†®Î´Î²ÎŒ´Ì‰±ÌŽ´ÍŠµÎ‹²Ì³Î²Ë±Íˆ±ÍŒ³Ìˆ³Í‡³Ï‰³Î‰²ÏŒ³ÎŒ°Ì‰²Î´Ï´Ð‰³ÎŒ¶Ð¶Í‘²Ñ´Î‡³Ðƒ²Í’µÎ’µÑµÑ•¶Ï‘²Ì•²Ë’´Ð²Î‘´Î–¸ÑŽ´Ó˜¶Ñ’µÎ³Î‡²Ì‘µÎ’µÎŒ³Ì”¶Î–¶Ñ’¶Ñ•¸Ñ¶Ð’µÐ´Ï“µÎ´Î–´Î—¶Ï™¸Ñ˜¸Ñ–´Î˜µÍ”·Ï™¹Ñ™·Ò“·Ó•¶Òž¹Óž»Óž½Óž¾Ó£¾Óœ¼ÓžºÑ™¹Ò—¸ÑŸºÔ¢ºÒ¥¾Ô¦Á×¥ÁÖ¤¾Ô£¾Ò©ÀÕ¨ÂÖ¢½Ô˜·ÒšºÑšºÑ¡ºÒ¨¿ÕªÂÕ¯ÅײÆÙ¹ÇÛ¶ÇÙ¸ÇØ¶ÇرÇײÃײÅÖ¶Å×¶ÆÙ¼ÊÚ¾ËÜÂÌÙÃÎÜÃÎÝÆÐÞÆÑ߯ÐßÇÑàÇÑàÉÑÝÇÑÜÆÑÞÁÐÝÆÎÞÀËÝÀÌÛ»ÉÛÀË󼃯¼ËÙ»Ê×¶ÆÕ´ÆÚµÆØ¸ÆÙ¹ËÛ»Ê׿ÌܾÌÚ»ËØ»ÈÚ½ÈÙ¿ÇÛÁÌÝÀÌÜÀÍÜÁÍÛÀÌÜÁÌÛÀÌÛÄÍÝÄÍÝÄÍÝÇÏÝÈÓÝÊÒßËÔáÍÖáÏ×áÏ×âÌ×àË×âÌÖàÈÑÞËÑÞÊÑÞÊÒßÎÓàËÔàËÓáËÓàËÓßÇÑÞÆÎÝÇÎÞÆÎÞÆÍÞÂÌÜÁÊÜÁÉÛÁËØÁÉÚ¾É×»Ç×»È×¶ÄÕ·ÄÕ¹ÅÔ½ÇÕ»ÈÖ¿ÇÖ½ÆÕ½É×¼ÇÖºÅÖ½ÆØ»ÇÖ¹ÆÕ½ÆÔ¼ÆÕ¾ÆÕ¿È×»ÉÖ¾ÇØ¾ÈÖ»Ç×¾ÇÔ¼ÆÖ»ÄÔºÅÓ¸ÃÓ¹ÆÕºÃÔ¶ÄÖ¶ÁдÁϱ½Î¯ºÐ­»Î­¸Ê®ºË­ºÏ®»Ñ«¶Ëª¶É¤±Ç¤±È¡±Èš¯Èž¬Æ¯Ç ®Å°Ã𱯙«Å›¬Ä—«Å™©Ã˜¨Â”¨Â˜¥Â’§Á•©Ä•ªÄ™©¿—©Á‘§Å•©Ãœ©Àš¨ÁšªÁ’©¿˜¤Ã™«Ãœ¬À›®Å¬Á›«Åœ®Â¢®Ä«Áš¬Ã±Éž®Ä °Ç ®È¤®Æª¶È«¸Íª´Ë¨´È¥³É£´ÉŸ°ÇŸ¬Æ¡®Æ¤­Â¤²Ç¢°È¡°Ç¥±É£±È¢°È¢¯É¥²Ç§±Æ¦²Ç£°Æ¢¯Ç¢¯Ç ­Ã¡®Ç¤®Ä¥®Ç¨±Æ§´Ìª¶É¤¶Ë§³Ê©±Ç«¹Ì¯¸Ì®¹Ë°¸Ë¬·Ë¬·Ì«¶É®·Ë¯¹Ì®·Ç¯¹Î®¹Ê«·Ë¯¹Í¯¹Ì²»Ì°»Ì²½Í°½Ï²»Ïµ½ÏµÀѵ½Î²¿Î¶ÀιÀιÂÑ»ÅѼÆÕ¼ÃÖ»ÆØ»ÄÕ½ÇÑÀÆÕÁÇ×ÄÊØÆÌÙÄÊÚÅËÝÃÊÙÀÉÕÂÉÖÅËØÇÎÛÉÏÜÊÐÛËÑÝÌÓßÌÓÞÍÓÞËÓÜËÔÞÍÕÞÌÓßÉÓÞÊÏÝÈÎÝÉÑÛÊÑÛÈÏÜÅÎÜÃËÛ¿ËÚÁÉØÃÉÙÄÊÖÂÈÒ¸ÂÃÄÍÑÉÑÖÍÖÚt¢Â¥Ãu©Èq¥Ät¦Åv¥É~¤Æy¥Çy¦Æv¦Çs¥Çx¢Åv¥Çx¦Çu¤Ãv§Çs£Çh¢Ås¤Æz©Çp£Çt©Çn£Æo¦Çf¢Æq£Ær¤Æq¤Æu¥Æu§Çs¤Çn¤Çv¦Æq¦Çt§Æp¥Æs¦Æc¢Äw¦Æw§Çr¤Ær¤Åt¤Äs¤Æx§Æo¤Ås¤Ço¤Æs¤Åv¥Äu¦Èt¥Æs¥Çw¤Æw§Çs§ÇªËx¦Èt¥Æs©Çv§Æw§Ço§Çr§Æt¦Æ‚ªÇx©Èo£Æv©Èu¦Æm¢År§Ær¥Ço§É|¨Ên¤Çl¤Æs¨Çs¥Æu§Èw¨Çw¨Çx©Çw¦Æt¦Æu©Çx©Ér¨É{§ÇªÇ}¦És¦È{¨ÈqªÇv¨Ç€ªÇªÆ}¨Éy¨ÇvªÊ~ªË«ÌxªÊx¨Å}«ÊªÊu§Êr§É|«É®Ê|¬ÌyªÈu©Çz¨Éw§È€ªÉ|«Ê¬Ê­Ë~«Ëy§ÆvªÈ«ÊyªË}­Ì‚¬Ì‚¬Ê€¬Ëƒ«Ê~ªÉ€­Ë«É‚«Ê…­ËsªÉ¬Ì‚¬Ë|©É}ªË‚¬Ë‰®Ë{©Ìu§ËxªÉ€«ËªËƒ«ÊwªÉ­Ë‚­Í®Ï¬Ì„­Ëƒ­Ì®Ì†°Ë…±Íƒ¯Í®Ì€®Ì‰²Í~®Î…¯Ì„°Ì‹±Ìˆ±Ë‰±Ì…¯Ìˆ°Ë…°Ë‡°Ì‰°Ì‚±Ì„°Ë…¯Ì‚®Ì‰®ÌŠ±Î‹²Ì†±Ë‹¶Ì‹²Ëƒ«Ë¬É®Ìˆ±ËŠ±Î„±Í‚¬ÌŠ³Î°Ë…«Ë…¯ÌŠ±Î†³Î}®Ë‚¯Ì‰²Î„±Í†±Î‰°Ì‡±Ë‹±Ë„°Íƒ°Ë†¯Íƒ­Ëƒ¯Ë‡°Í‰°Ë…°Í†®ÌŽ¶Ð‹´Òˆ±ÏŒ²Ñ€®Ìƒ¯Îˆ°Ì…±Ëy®Íˆ±Ð‹¶Ñƒ³ÏŒµÎ‰¶ÐŠµÎ…±Í…¯Ì†±Î…±Ê„°ÎŠ²ÎŠ²Î…±ÍŠ²Íˆ²Î…±Ì‰±Ï‘³ÑŠ´Ð‰³Ì‹±ÌŠ´Ð´Îˆ´Í…²Í†²Í‡³Í‰±Î‹µÎ¶Îˆ²Í‚°ÌŠ³ÍŠ³ÍŠ²Î‹¶ÍŒµÌ“µÐ´Ð†²Ñ†±Ð‹³Ì´Ñ´Ñ‘¶ÒµÐ¶Ò‹´Í“¸Ñ“¶Ò´Ï´Ñ‰³ÎŽ¶ÎŽ³Îˆ´Í‰´Ð‹µÍ´Î’µÎ”´Î‹³Ï’µÑ’µÎ¶Ð‹²ÐŒµÐµÐ‘¶Ñ’¸Ñ·ÒµÏ”¶Ð–·Ñ“¶Ñ‘¶Ò’·Ò”´Ï’¶Ò“·Ó˜¸Ó¼Óœ½Ô™»ÓšºÑœ»Ñš¹ÓžºÓ ¾Ö§ÁÕ§ÁÖ§ÁÖ¤ÀÖ£¾Ó¢½Ô¢½Ó»Ô˜ºÑ—ºÓ”¸Òš¹Óš»Ó¤½Ó§ÁÕ©ÃÖ°ÃØ·ÇÚ¹ÈÙ¸ÉØ¶ÇÚ¯ÃÖ±ÃÙ°ÅÙ±ÃÕ¹ÈÚºËÙ¾ÌÝÁÏÞÂÏÞÃÏàÅÐàÆÑàÇÐÝÆÑáÅÑßÇÑÞÇÓÞÆÑàÃÑÞÂÏܽËܶÊÛ¸ËÚ¶ÉÝ»ÍÝ»ÊÞ½ÌÛ¼ËÜ·ÉÜºÉØ¹ÊØ»ËÛ½ÌܾÌÛ¿ÎÞ½ËÛ½ËܾÌÜÁÍÝÁÍÛÀÌܾÌݾËܾËÜ¿ÍܾÍÜÁÍÝÂÎÞÄÍÝÅÏßÇÑàÊÓàÊÔàÌÖáÌ×âË×áÎÖãÌ×ãËÓáËÑßÇÓàÌÓßËÔàÉÕàÈÓàÉÒßÊÖàËÖßÉÓáÇÒàÅÑàÅÏÝÇÏÞÄÌÞÁÎÝÁÌÜÁËØ½ËÚ¿Ë׺É×¶ÆÕ´ÁÔ¶ÃÔ¸ÃÖ¸ÅÔºÇ׺ÈÚ¾È×»È׺ÇÖ½ÈÖ¼È×½ÇÙ½ÆÖ»Ç×½ÉÙ½ÇÕ½È×¾ÉÖ¾ÈØ¾ÉØ»ÉÚ¼ÊØ¼ÇؼÇÖ¿ÈÔ»ÇÔ»ÅÕ¸ÆÔ¶ÃÒµÃÓ±ÃÕ±ÂÔ¬¾Ï¯¼Ì«¸Îª·Ìª¹Ñ§¸Ì¤¸Î¥¹Í§¶Ë¤´È¢²Ç °Ç±Æ›¯Ç²É¡°Æ ¬ÇŸ¯Êš«Ç˜©Á”ªÄ•«Å•©Á—©Ã•¨Ã–«Å’©Â©¿˜ªÂªÇ‘¨Ã˜ªÄ–¨Ã–ªÁ˜ªÆ–­Æ˜¬À˜ªÃ™¯Åš®Ç—­Æ ®Ã¤°Å¡²Ç ±Ç¥®È¡¯É¥²É¨¶Ê§µË­¼Í¬¸Ê­¹Ì«¶É¦³É¡³Ê ¯È£®Ç¡¯Èž±Å¤´Ê£´Ë¡³É¢±É °Ç£®Ã¢°Ê¤²Æ¤´È¤²Ç¢±É¤±Å¡±È¤¯Æ£²Ç£²Ë¤±É¥³Ì¡´Ì©·Ì¤·Ì©¶Éª¸Ì¨·Ë¨¹Ëª¹Îª¶Ì®¶Ë¬¸Ë­»Í¬ºÌ­ºÍ­¹Ë«¸Ì±¼Ð³¼Ï´¿Ïµ¿Ñµ¾Ñ´¾Ñ²½Ñ±¾Î±½Ï´¿Ò¶ÁÒ¸ÁѳÂѵÁиÂÒ¶ÁÒºÆ×»ÅÓ»ÇÕ½È×¾È×ÀÉØ¿ÉÙÁÈÙÃÊÚÃÌÝÅÌÜÅÎÝÃÌÛÃÌÚÂÌÝÅÎÛÆÍÞÆÌÝÊÎÞËÓÞËÔÞËÓÞÊÒÜÈÎÞÇÑÝÊÓÞÈÑßÊÑÝÊÑÝÈÑÝÊÐÝÉÒÝÆÍݾÉÚÁÈÙÁÉ×ÁË×ÁÊØÃËØÂË×¼ÃÈÂÍÓÉÔØËÖÛ}¥Á~¥Âz¥Áq¤Á¦Æv¤Å}¥Æk¢Ár Ál¡Áv¤Ãq¡Än¡Äy§Çu£Æo£Ár£Ál Áq¤Äo¤Æt¡Án¤Åo¢Äp¤Æl£Åm¢Ão¤Æp¡Ãt£Åv£Å|¥Æv¢Ät¤Åh¡Âp¢Ãn¤Åm¢Ãv¦Ät¥Ãq¢Är¥Åp¡ÂfžÂt¨Æn¢Åj Äo Ãs¡År¤Æ¨Çv¦Çr¥ÆqŸÃt£Äx¥Ãu¨Åv¤Äq¢Åv¤Åo§Çr¤Äv§År§Çp¤Är¥Æs¤Ãr£Æu£Æs£Åu¥Æ|¦Çv§Ås¤Ã|©Çx©Çu¦Æu¤Èw¨È©Çx¤Æu¨Æw§Çr©Æv¦Å€ªÆ€¨Æ€§Ç©Ér§Æp©Ç{©Ç¨Ê€¨Ç‚«Ç}ªÈ}©Ãx¦Åx§Æy§Éy§Ç~ªÊz¥Æ«Êt©È‚©Çv§É{©É{ªËuªÊ€¨Ç€ªÊ€¨ÇzªÆs©ÈyªÉ|©É~¨É{©ÉªÈ‡«Ë}ªÉ~¬Ê~ªÉ«Ê|ªÉ€«ÊzªÉ…­Ë«É†­È…®Ì|ªÉ}©ÉªÊ€­Ê‚«É€ªÊ…¬ÊyªËz«Êz©É©Ë€ªÉ€ªÉ…ªÉªÉƒ®Ë}«É}«Ëƒ«Ê~­Ë‚®Ê‚®Ë„«Ë‚¬Ë…­Ì…®Ë€¬Ë†­Ëx«Ë…¯Ë‡®Ë†­Ë‡¯Ë‹®Ì…®Ì‡­Ë­É‰¯Êƒ­Ê‰±Ë‹±Ì†±Ìƒ¯Ì„®Ë‹±ÌŒ³Ê‡¬Ê†¯ËŒ°Í±ÍŒ±Ì¬Ë¬Ë}­É~­É‡¯Ì„®ÌyªÊƒ®Í†°Ë…°Ë€¬Ë…ªÉŠ±Î‚¯Ì„°Ê‚¯Ëˆ±Ì‰°ÌŠ±ËŠ±Ì‚­Ë†®Ëƒ¬É†®É‡¯Ë€¯Ëƒ±Ì…°Î…®ÌŠ®Ë„®Ëƒ¯Ë…¯Í„±Ì„°Ë„°Ì‰±ÌŠ°Í†®Ê‡±Ìˆ±Ì‡±Ë‡±Ì‹¶ÐŠ±Í‰±Ì‚®Éˆ±Ë‡±É‡±Ë‚®Ë‚°Ë‡±ÌŠ²Ì±ËŒ°Ë±ÌŽ³Íˆ²Ìˆ²Í‹²ÎŠ±Î‰µÎ‡¯Ì°Ë‹±Ì‡°Ë‹±Î†²Ì‹´Îˆ³Î‹²Ì‰³Ì‡¯Ì„¬É‰³ÌŠ²Ì²Ì²Ð’·ÒµÏŠ´Ñ…³Î‡±Îˆ³ÌŠ±Ì‡°ÌŒ´Î¶Î‹²Ï´ÌŠ±Ì‹²Í…±Í²Ñ‘´Ïˆ´Î‘¶ÎŽ²ËŒ±Ëˆ³ÍŠ±Í²Î”¶ÍµÏ“¶Ð¶ÐµÍ´Ï“µÒ–¶Ð’¶Î’µÍ‘´Í”¶Ï¶Ò”¶Ñ”´Í˜¶Ï—¶Ï›ºÐ£¿Ó›½Ô ¼Ô™·Ñ™ºÑžºÑ¢¾Ó¤¿Ô£ÁÔ¦¿ÓªÂתÁÖ¦½Õ¤½Ó ¼Ó˜¹Ñ‘¶Î’´Ï˜¸Ð›·ÓžºÑ¢»Ð¨ÁÒ«ÂÔ®ÃÕ²Ç×·ÈÙ¶Æ×·ÈÚ±Å׫ÂÕ°Ä×´Æ×¶ÇØ»ÊØ½ËÛÂÎÝÄÏßÅÎßÄÎßÃÏÝÆÎßÄÐÞÆÐÞÇÒÝÇÑÜÆÑÝÂÏß¿ÍÛºÈ󵮯¸ÉØ»ÉØÀÍÜÃËÝÃÌÝÁÌÝ»ËÚºËÜ»ÊÙ¼ÉØÀËÛ½ÌÛÀÌݽÊܺÉÛ¼ËÛ½ËÚÁÊÛÁÌÚ½ËÛ½ÈÙÁËØ¿ËÚ¿ÍÛÁÍÝÁÍÛÅÍÛÇÎÝÈÑÞÊÑÝËÒàÊÒáÌÖâËØáÌ×àÌ×àÌÔàÉÓßÉÒßËÕàËÕßÉÒàÉÓßÌÒÞËÓàËÖßÌÓàÊÑßÇÑÞÅÏÞÈÎÞÄÎÝÄÎÝÂÍÝÁÉÙÃÌÚ¿ÈØ¿ÉÕ¶ÆÓ·ÃÔ¶ÃÓ¶ÄÒ¹ÆÓ¾ÈÖ½ÉÖ¿ÊÕ¿ÊÖ¼ÉÖ¼ÈØ¿Ç×ÀÇ×ÀÈÙ¼ÆÔÀÇÖÃÊÕÁÊ×ÀËØ¿ËØÀÉ׿ÉÖ¼ÈØÁÈ×ÀÇÕ¾ÉÖ»ÉÖ½ÊÖ»ÇÖ¶ÃÓ»ÄÔ¸ÃÓ·ÀϵÂÒ³Àί¾Í¬»Ïª¹Í«¸Ë¦µËª´Ì¥µÇ¦µÆ¦´É¡µËœ±È°Éž­Åš¯Æ˜¬Åš­Åš¬Äœ­Æ”¬Ç“¨Á“©Á•©Á—¬Æš¬Â“¦Ä”¦Â‘©ÅŒ§À“§Àš¨À’¥À–¨Ãš«Âž¯Ç˜«Ã›®Çš®Æ˜ªÀš­Æ›®Â¢²Ç¢±Ç§¶Ëª¹Ë§¶Ë¨µÈª·ÈªµË®¹Ê­·Ë°·Ë®¹Î­ºÍ¥µË¢´Ê¢²É¡°È¥²Å¤µÊ¨µÇ¥µÊ¥¶Ë¨¹Î¨³Ë§´È¦´Æ¤°Ç£²É£°Æ£°È£´È¢³Ç¤²É£³É£°ÉŸ´Ê¦´Èª¸Ìª·ÍªµÉ©·ÍªµÉª¶Ë¬¹Ì®ºÊ®»Í¯ºÎ«¹Î°¼Î±ºÎ²½Ï±»Ìµ½Ï°¼Í´½Ð±½Ð´ÁжÄÕ¶ÀѶÀе¿Ò²½Ñ·ÁÒµÁѵÀÓµÃÔ¹ÃÓ·ÄÓ»ÃÔ»ÄÕ¾ÇÖ½ÇÓ½È׼ɨÂÊÙÂÈ×ÄËØÆËØÇÏØÆÏÚÆÎÚÄÍÚÆÍÜÉÎÛÉÎÞÉÍÛÊÎÛËÏÜÉÑÜÉÒÜÉÎÞÊÑÝÉÑÛÉÏÜÇÍÛÆÏÛÄÍÜÃËÚÇËÚÅÍÛÄÌÚÅËÚÁÉÖÁÈÕÂÊØÁÉ×ÂÉÖÃÊÖ½ÆÉÄÎÓÊÓØÌÖÚu Àt¡Ày¤Ãr¤Ãs¡¿t¤ÁkÀr¤Ãp¡Åq¢Åu£Át¤Åm¢År¡Ão¡Ãu£Ãe ÂlŸÄr¡Ãj¢Ãn¢Ãu¤Áq£Åm¤Ãn¡Ãr¢Äp¡Än¢Áv£ÄkŸÃl¡Ãp¡Ãq£Åj Âl Ál¡ÃmžÃu¥Æt¤Åp¤Åk£ÅhŸÄt¡Âs£Ås§Çr£ÃmŸÃj¡Ãq¢Ãt¡ÃiŸÁr ÄožÁnŸÃp¤Ãp£Åj¤Ãq¢Ås¢Åu¢Ãw¤Ás¤Än¦Æk¢Æu¦Ço¢Ãl¡Ãr£Ãv¥Æs¥Ãs¥Çp¢Åq¤Ås¦Æx¦Åp¤Äo Ãp£Æt¦Æt§Ès¦Çz¥Æq¦Çt§Åz¨Å~¨År§ÆªÆr©Èo¥Äu¦Ç}¦Åp¥Æ{§Æ‚§Å«Æ|¨È|©Ès¥Æo¤Æi¡Ãz©Æv¨Çt¤Év¨Çr§È}©É~¨É{¨Èp§Éx§Èv§Çy¨Æz¦Èq§Êw¨Èl¤Æv§Å~¨Ç}¦Æ©ÈƒªÉ‚ªÉx¨È~ªÈ€ªÉz«É{ªÈt©È€ªÇ€§Ê~§Èy§Êy§ÆzªÇx©Ç€©Éu¨È„ªÈ©Ç«Éy©ÉyªÉƒ«È~¦Ç€ªÇ€¬Ê†­Ë¬Ë­Ëƒ¬Ë…­È~ªÇ€©É†«Ë¬Ë†°Ë~­Ê€­Ê~«Ë…­ÊªÈˆ­Êƒ«Çˆ­É‡­Ë~¬Ê€ªÌ‚¬É«ÈªÈ†¬Éy¬Éƒ®Ë‚®Ë~¬ËªË€ªÈ€­Ëƒ¬Ê…¯Ê†°Ë„¬É…ªÌ‚®Ì|ªÊ‡®Ê|ªÉ‡®É‚«É®Éƒ­Ë‹¯Ì‡±Ì‰®É„¬Ëƒ®Ë…¯É„¯Ì«Ê}­Ë‚­Ì«É€¬Êƒ­Ê†­Ê„«Ê¬Ê‡¯Ìƒ¯Í„°Ì†«Ë†®Ë„°Ë‚¬ÌŠ±Ê…±Ìƒ®Í‚°Í€°Ì~®Ì„®Ìˆ®Ëˆ°Ìƒ¯Ìƒ®Íˆ±Î‹³ÍŠ±Í‡±Ë‚°Ê‚®Ë†¯Ë²Ë†®Ë‰²Ë„°Ì‚®Ê‹±ÌŒ±Ì‹°Ì‰±ÊŠ±ÌŠ±Ë‡²Í†²Í‡²Î†¯Ì…®Ëˆ®Ëˆ±Êˆ°Ì†±Ë…°Ì…¯Í‡°Ì‰¯Ë‰¯Ê‰±Ë‹±Í±Ì‹±Í²Î‹±Ì…±ÎŒ±Ï…¯Ì’²ÌŒ±Ì±Ì‡´Î…²Î†±ÎŠ²Ì±Ë‡±ÎŒ±Î…¯Ì‡±Í´ÍŒ²Í…²ÎŒ²Ì–¶Í”´Í‘³ÊŠ³Í“´Î’µÑ´Ï•µÐ´ÏµÍ‘µÎµÐ´Ñ‘µÏ´Ñ‘³Î“µÑ“´Î˜·Ï–¸Ó›·Ñ»Ñ™¸Î•¶Ò›·ÓŸ¹Ó™¸Ñ™¹Ó˜¸Ó¤½Ô¨ÀÕ©ÁÕ£»Ó—¸Ñ™¶Ï˜¸Ï™¹Ò™¶Î—·Ï¹Ð£¼Ò¤¿ÓªÁÓ¨ÁÓ©¿Õ©ÀÕ¬ÄÖ¯ÃÖ°ÃשÁÔ¤¾Ó¬ÁÖ®ÃØ­ÄÖµÈØ¸ÉÚºÊÚ¿ÍÛÂÌÝÂÎÝÁÎÜÄÎÝÅÏÝÆÎÝÄÏÝÃÐÜÄÏÝÁÌܽÉÛ·ÆÙ¸ÆØ¸ÉØ½ËØ¿ÎÝÃÎÞÃÎÝÃÍݽËܹËÙ¹ÉÙ·ÉÙºÇØ¸ÈÛ¿ËÚ¼ÉÜ¼ÇØ¼ÉÙ½ÊÛ½ËÛ½ËÚ½ËÚ½ÉÛ¾ÊÚÁÌÜÁËÜÂÍÛÂÌÛÁÌÜÄÍÜÄÎÜÆÐÝÈÑßÉÓàËÑßÈÒàÉÓÞÉÓßÇÏàÉÓÞÊÒÞÌÓßÍÖÞËÒÞÉÑÝÉÓßÊÓÞÇÑÞÉÒÞÇÑÞÇÒÞÈÑÞÆÎÜÀÍÝÁËÝ¼ÉØ»ÉØ»ÉØ¾ÇÖ¹ÅÖ¸ÆÖ¶ÅÕ¶ÃÔ¶ÂкÂÒ¼ÄÓ¿ÆÕ½ÇØÁÇÕ¾ÇÖ½Ç׿Ê׿ÈÕ½ÇÕ¿È×ÁÉÙÂËÚÁÌÚÃË×ÁËØÁÌØÂË×ÀÇÖ¾ÊØ»ÇÕ¾ÈÖÁÊ׿ÉÖ¾ÈØ¼ÈÕ½ÇÖ¼ÆÓ»ÅÔ»ÆÔ¶ÃÒ¶½Î±»Ì­¼Í©ºÌª¶Ê¥³Ê£´Ç¤²È£±Æ¦²Ç¡±Èž³È¯ÆŸ®Çœ­Åœ­ÃšªÂ–ªÁ”ªÂ–ªÃ–ªÄ’¤½Ž§Á‘¤¿“¨Ã’¦À–ªÅ•«Á™©Â“ªÆ‘¨Á”§Â™¨À—«Å®Å®Æ ®Ç±É­Ç¡¯Ç¤±Å¦±Æ¨²Æ¤¶Ê¬¸Ì«»Ë«»Í®»Ì®»Í±¹Ê­¸Ë®»Í¬ºË©·Ì¦µÊ£³Ê¥±Ç °Æ¥´É¢²É©¶È©·Ê¤±É§´Ê¨³Ë¨µÇ¤²È¥²Å¢°È§³É¢²É¤´É¡³É¦²Êª°ÇªµÉ©µÉª·Ì©µÉ«¶Ê©¶Ë®¶ÍªµÈª¶É¯·Ë®¹Ìª¶Ì®»Í°ºÊ±»Ï²½Î®¼Ñ±¾Ð±½Î±½Î±½Ï³¿Ð¶ÂÓ·ÁÓ¶¾Ò´½Ï´Àѵ¾Ñ¶ÂÒ¸ÂлÂÒ¼ÆÔ½ÇÖ»ÆÕ¼ÆÔ»ÆÒ¼ÆÕ½ÈÖÁÉ×ÂÉ×ÀÌÚÅÍÝÄÍÛÇÌÛÄÌÛÅÍÝÆÎÚÉÎÛÉÐÛÈÐÝÊÐßËÐÛÍÐÛËÑÛËÑÜÊÎÝÈÑÜÉÑÜÉÎÞÇÍÜÃËÚÁÉÙÁÈÖÂÊØÀÉÖÂÊØÁÊÙÁÉÖÃÊØÃÉÕÃÊØÄË×ÀÉÕ¾ÂÇÄÍÒÊÒØÌÖÜ}¤Ây¤Âw¥Åw¥Âp¡Áx£Ãl¢Äi Äu Ám¢Æu¤Ät¢Ãv£ÅqžÂv¤Æx¦Ãs¤Ãp¤Æl Äl¡ÂmŸÁq£Äq¡Ãm Án Ãp£Ås£Äs¤ÆjÂnžÃt ÃrŸÃl Àcœ¿jžÃnŸÃ{¤Ål¡Ås¤Æt¥Æs¢Är¡ÄnŸÃv§Æo£Æv Ãq¤Æn¡Âo¢Ãv£Åq¢Æq£ÃmžÃoœÄnŸÃm¢Æi¢Ár ÃlžÃr¤Åp¤Ås¢Åv©Æs¤Æw¡Åp£Åk¤Åp¤Ãn Æz¤Ås£Æ|¤Ær¥Åq Ãu£Çm£Çp¢Çs¥Æt¤Æs¥Æ¦Äq¥Ç~§Æq¥Æm¥Æw¤Èx§Ç{¦Çv¤Æ}¨Æo¤Ä¨És¦Çt¤Æ}¥Çn¤Å€¥Æ|©É{©Ç{§Ç|¨Ét¨Ét¤Çp¦Çs¤Ä€§É‚ªÊn¤Ç{©Êz¥Çw¤Äv£Åx¦Æ}§Æ{©Èx§Èu§Çx¥Çs§Çq¨Éx§È{©Çu¦ÇªÈ‚©Éz§Ép¦Ç}©Ê‚ªÉ„¬É|©É{¦Èz¨Éƒ§Éw©Æu¦Ç{§Çx¥È€ªÌªÊªË‚­Ë~ªËªÉ„ªÇ{§Ç€ªËªÊ…«Ì€ªÌ†ªË}ªË€©Êƒ­Ì©Ê¬Ë}©Ë~¬Ê„¯Ë€«Ì~©Ê‚«Éƒ«É†­Êƒ«Ë†¬É­Ê€«Ê…­Ëƒ­Ë„«Ê‚«Ê„­Ìƒ¨Ê‚¬É‚ªÊ‚¬Ë‡®Ì…®Ìƒ¬Ê…«Ì‹±Í…­Êƒ®É{ªÊ­Ëƒ­Ì‚«Ë„®ÌƒªÉ|©Ç‚­É„ªÉˆ­Ë…®Ì€¬Î„¬Ë‰°Ê€ªÊ‚­Ë‚ªÉˆ­Ê„°Íƒ¬Ê…®Íƒ­Ë€ªÊ}«É†®Ëƒ­Ë†®Ì‡­Ìƒ¯Í€¬Ìˆ®Ì‰°Ëƒ®Ì‚ªÊƒ®ÌŠ±Î‰®Î„¯Í„®Ì†®É‡¯Ê…°ËŠ²ÍŠ°Ì°Î‹±Í…±Ì‡¬É…®ÌŠ°Ìˆ®Ì„®Ë†²Ë€®Í‹±Ì†®Î‡¯ËŒ¯Ê‰°Í‰®Ë†®Ì±ÌŒ±Ë‰°Í„°Ì‰°Ì†¯Ìˆ¯Í‚­Ì…¯Ë‰°Î‰°Î…¯Í‹²Ì´Ì†¯Ë‡°Ì…°Ë°ÍŒ±Ì‰²Í‰±Î‘±Ì±Ë®Ì‡°Í±Ë±Î‘±Î‡®Î‹®Í‘²ÌŠ¯Ì‡±ÌŒ±Ì³ËŽ±ÌŽ±ÌŠ±Î³Ñ±Í‹±Ì²ÍŽ±Í’³Ì‰³Í‹±Î²Ð’´ÍŒ±Í”³ÍŠ±Í³ÍŒ³Í‰¯ÌŠ³ÏŽ²Ð—¶Ó–¶Ð™·Ñ—¶Ï‘µÎ–¶Ï‘¶Ò²Ò¶Ñ–µÑ•µÎºÓ¢ºÓ¤½Ó ½Ò—¶Ò™¶Ï”¶Ô¹Ñ¸Ñ »Ó™¸Î•¶ÏºÑŸ¼Ó¡¾Ö¡ºÓžºÒž½Ô¥¾Ô§¿Õ£½Ó¤¼Ò¨¾Õ¥¿ÖªÀÖ¦ÁÔ­Ã×´Æ×¿ËÙÀÌÜÁÌÚÂÌÙÃÍÚÃÏÝÃÍÝÄÏÝÃÌÜÃÍݽÉÛ¸ÈÛ·ÇÚ»ÊÛ½ÌØÀÍÚÂÎÛÃÎÝÁÌÛÁÌÙ¼ËݽÉܼÊÛ·ÉÖ»ÆØ¼ÇظÇ×ºÉØ¶ÇÙ»Ç×¼ÈØ¿ÊؼÊÚºÉÛ»ÈÚ½ÈØ¾ÊÚ¾ÉÙÁËÜÁÌÙÁËÜÃÍÛÄÌÜÃÍÝÆÏÞÆÐßÇÏ߯ÐßËÓÞÉÓÞÈÏßÉÑßÉÓáËÓÞËÔßËÕÞÉÑÞÉÑßÇÐÝÆÍÜÆÑÝÆÐ߯ÎßÅÌÞÅÌÝÂÌÛÁËÝ¾ÈØ¹ÉغÇÚ»Ã׸ÄÔµÄÓ·ÄÔ¸ÄÔºÅÕ¹ÅÔ»ÄÔ»Æ×½ÇØÀÉÖ½ÈÙÀÉØÁËØÀÉØÀÈØÁÈÙÄËÛÂËÚÃË×ÄÌÙÅÌÛÄÌÚÄÍÚÃÍÚÃÌÙÁÉ×ÃËÙÂÉÖÃÌÙÃÌØÄÍÙÁËÙÁÇØÂÇÔÁÈÖºÃÓ¶ÂÒ³ÀÑ­¹Ñ¬¼ÏªºÏª¶É¥´Ê¦´Ê©´É¤³Ê¦²È¡°È®É¯Çž­Åœ¯Æ˜¬Æ˜ªÃ–©Æœ«Ã—©Å—«Æ¦Ã™§ÃŽ¨Â™ªÄ›ªÆ™§Æ›ªÆ¯Æ¬Ä™ªÆ–©Ä—®Æœ®Æ¤±É£®Æ¢®Ç¤³È¤´Ç¤¶É¦´Ç¨³É«¸Ë­µÊ±»Î®ºÍ°¼Ë®¼Ï±·Ë®ºÌ®¸Í¬¹Ì¬·Ë¨¶Ì¦µÊ¦°È¦²Ê©µËª·Ë¨µÈ¬·É¯·Éª¶ËªµÌª¸Ë¤°È£°È¤°Ç¤³É¨µÊ§µÌ¨´È¬¸Éª¶É«¶Ë­·Èª¶Ë¬¶Ë®¹Î­¹Ì­¸Ë®¹Ï§¹Ì®µÌ«¸Î±»Ï­ºÍ±¼Í²½Î°½Ï®¼Ï°¼Ñ¯»Í°»Ï°½Î²½ÒµÁÒµÀÔ¸ÂÔ´¾Î¶ÂѺÁÑ·ÁѼÃкÂÔ¼Æ×ÀÇØ½ÇÖ¾ÈØÀÉØ¿ÈÕÀÇ×ÁÉÖÁÇÙÅËÜÆËÛÆÍÝÇÌÛÆÎÛÆÎÚÇÎÝÈÐÝÊÔÝËÒßËÑÛÊÐÞÌÓÝËÓÜÌÑÜËÒßËÐÝËÐÜËÎÜÈÌÛÄÌÜÃËÚ¿È×ÀÇØÁÈÖÁÈ×ÁÉÙÂÉÚÁÉØÂÊÚÄËÚÃÉ×ÃÉ׿ÄÈÆÌÒËÒØÌÖÚv¤Áu¥Âw¤Æ{£Åy¢Ãz Ákž¿n¤ÃmŸÃn¡Äs¤ÆqžÄw¢Äk Ár Áp¤Ãu£Äx¦Åo¤Æs¤Æs¤ÅrŸÁs Áq¡Åk¡Âo¡Åq Äo¢ÅmŸÂp Ãr¢Åu¢Äi Är¢Ær¡Ãs¢Ãl¢Ãq¢Är¢Äl¡Ãp¢Æn¢Åp Åm¤Æm¢Ær¦Åp¤Æm£ÅjžÄs ÅoŸÅe Ãk£Åp¡Äs¥Äy©Æo Âu¡Äu£Åw¤Äs Äy¤Æ|ªÆx¨Æt£Æu¡Äu£Æu¢Æt¢Ä{§Çt§Çs¥Ã|§Æu¥Æv¢Åo£Æt¥Ãr§Åt¦Æz©Çw§Çs¥Æ{£Æv¦Çs¥Æ|©Çq§Æo§È{¦Åx¨Ç|ªÆv¥Æv£Å{¦Äu¦Çr¥Æt¥Æv§Æ{¨Ê„¦É|¤Év¥Æx¥Æ~¨Çs¨Ç|©Ë‚©Ès©Éy§ÉªÉw¨Èy¤Åz¨Èy§Èy¨Çn¥Å{¨Èƒ¤Ç€§Ç}©Æ{©Èv§Çr£Å}§Èz§Éz¨Ë~¥Év¨Ç|©É‚ªÇu¥Çz©È~ªÉƒ«ËxªÇ€ªËz§É}ªÇ|§Éw¦Æ¥Å‚©É…ªÇy¨É{©É€ªÊ~ªÇ}§Ç~ªË‚«Ë|ªÉ‡®ÌªË«ÊªÊ‚«Ë}ªÉ«É{«È«Ê‡­Ë†®ÌªÊ„¯Ëz«ÊyªÉ«Ê‰­Ê…ªÊ|ªÉ…¬Ê­Ê‡°Ë…¬Ê„­Ëz©ÈªÊ‚«ËŠ¯Ë‡­Ì‚¬Ê†°Ê}«Ë€¬É…®É‚«É†­Ë«Ì€­Ê‚«É‚¬È†®Ê„¬Êˆ®Ìˆ°Ë…«Ë«Ë„­Ê‚®É­É}«Ê~ªÉªÉ†®Ê†¬Ë„­Ì¬Ë…®É†®Ë}­Ì‚­Ëƒ«Ëƒ®Ì†±Ì‰²Î~®Ë®Éƒ­Ê†­Ë†®Ë­Ì…®Ì…®Ì‡®Ì…°Ì€®Ì­É…®Ê…®Ëƒ¯Ë†®ÊŠ´Îˆ±Ì†°Ëƒ­Ì­Ë†±Íƒ®Ë„®Ë‡±ÎŒ±Î‚®Ì…®Ë†®Ì‰°Í‡²Ìƒ®Ë…¯Íˆ±Ìˆ²Íƒ¯Ëˆ°Ë­Ë„®Ë‚­Ì…°Î‡¯Ëˆ±Ì³Ð…¯Ëƒ°Íˆ±Ì…±ÍŠ±Ë‚¯Î…±Ì†²Î‹±ÎŽ±Ì†±Ì‰±ÌŠ°Ì‚¬Ì†±Î‹®Ë‰±Ë…±Íˆ±Ï³Ì´ÑŒ±Í±Ëˆ°Ê‹³Ì³Í‰±ÌŒ±Ì‡°Í‰³ÍŒ²Î²Î‰²ÎŠ´Î³Ì²ÏŒ°Ì‰±Í‡±Î‹²ÌŽ´ÏµÏ¶Ï¶Î‘´Ñ”¶Ó´Î•µÎŠ²ÌŒ²Ï¶Ñ‡´ÏµÎ•¶Ñ›µÑœ·Ñš¹ÒµÏ–·Ñ•¸Ï›»Ó»Ñ—·Ï™¶Î’µÏ‘·Ñ“µÍ—·Ï”·Ñ“µÑ³Ðœ·Î·Ò•¸Ï›¼Ñž¹Òš¹ÓšºÒ™¸Ó£½Ó®ÂÕ·ÈØ¼ÊÛ¾ËÜÃÍÛÃÌÝÄÎÞÂÍÜÃÌÝÂÎÜÀÌØ½ÉصÆ×·ÇÚ¾ÉÛÀËÚÄÍÝÃÑÞÁÎÝÁÍÛ½ËÛ¹ÉÚºÈØ·ÉØ»ÉÚ·ÉØ»ÉÙ·ÉÚ¹ÉÙ¸ÆÙµÅÖ¸ÆØ¸ÆÖ¼ÊÙ½ÊÛ»ÇÚ¼È×½ËÚ¼ÉØ½ÉØÀËÚÁÌÚÃËÜÆÍÝÂËÚÄÏÜÄÎÝÅÍÞÈÎÝÆÒßÉÓÞÉÒÞËÓàÉÓßËÓÝÈÔáÊÓßÉÓßÈÑÞÇÐÞÊÑÞÇÐÝÆÏÝÃÎÜÃÎÞÁËÚÀÊÙÀÌÞ½ÉÛ¾ÆÛ¼ÇÖ¹ÃÔ¸ÄÕµÅÔ´ÄÖ¶ÃÖºÅÕºÄÕ¾Æ×»Æ×»ÇؼÇÖ¿ÈØ¿ËØÁË×ÁËÝÄÌÛÅËÚÅÌÚÂÎÙÃÏÙÅÏÚÆÎÛÅÌÝÇÎÝÅÎÞÃÎÛÃÌÛÄÎÛÃÌÙÃÌÙÃÌÛÄÎÛÅÍÜÅÌØÃËØÁËØ»ÇÖ¸ÆÖ¶ÃÓ±ÁÓ¬½Ð­»Ï®¹Î¨¹Ì¦µÉ©µÈ¢µÈ¤²Åœ®ÈŸ¯É¤±É™­É™®Æ™®Ä–«Å˜¬Ä˜ªÅ™«Ä™ªÃ˜©Æ›«Æ›®Ç®È°Æ®Çš®Çœ²ÇŸ®Ç ±È¡°Çœ¯Ç£²Ç ±É£´Ë¤³È¤´Ç«¶Ê§´É¨¶É¨¶ÉªºÌª·Ì­»Í®¼Î­»Ï°»Ì¯¾Ñ­»Ë®ºÍ«ºÊ©µË¨¶Ë§´Ë¥³Éª¶È¬·Ì«¹Ì­¹Ì­¸Ë¬¸Ì­¸Î­¶Î«¶Ëª´É©¶È¥µÊ¤µÇ¦´É©µÊ«·Êª¶Ì±»Ì¬·Î­¸Ëª»Îª¸Ê®¸Ì¯ºÍ¬ºÎ°·Ï®ºÎ¯½Ë±»Ì®ºÎ¯»Ð²»Ì²»Ì®ºË°¾Ð®¿Î°¾Ò±½Ñ²¼Ï°¼Ð¶¾Ñ¹ÀзÂηÃѺÄÓ¶ÃÓ¶ÀÒ»ÂÒ»ÁѽÅÓ½ÆÔ¿ÉØ¿È×ÁÊÕ¿É×¾ÈØÂÉÙÃËÛÅËÙÆÌÛÇÎÞÇÐÞÇÑÝÊÑÞËÒÞËÒÝÊÒÞËÓÝÉÒÞÎÒßÎÓàÌÕÞÌÔÞÌÏÝËÑÞÉÓÞËÑÝÉÑÝÆÌÛÅÌÜÃÊÙÂÈ×ÂÊÙÃËØÂÊÙÃÈ×ÄËÙÃËØÃËØÄÌØÃÉÔÀÄÈÆÎÕÊÒÙÍÖÜn Ál ¾s¢Äz¤Ãm¡Ãt¤ÃvŸÁy£ÆpžÁu¢Äo Áq¡Ãy¤Ãr¤Äf Ám¢Ãp¡Ãl¡Âo¡Áo ÂpŸÅh£Æk¡Äh ÃqŸÃnžÂn Âo£Ãe¡Ãp£Äj Ät¢Ær¡Äi›½rÂl¢Ãl Ão¡Ãq¡Äj¡Äm¤ÅmŸÃnŸÃjžÂi Ãj ÅmžÂo¢Ær¤ÇižÆq Åq¥ÃpŸÄu¤Ån¢Åp¢Æu¤Äu¢Å€§Æv¥Än Ãq£Ât¥Æs¢Ãt¡Æƒ¨Æu¤Çu¥Çs¤Äp£Ær¤Æu£Åu¡Æ~¦Ç¨È¦Åv¤Æt¢Ã|¦Æ|§Å{¦Æy¦Æ~¨Æv§Æx©Ç¦Æx¤Æ{§Å~¦Æ|§Ç}©É}«Êw©Êw§Èw¡Æw¦Åt¤Çt§Æj£Æj£Æs¤Æz©Ê~©É|§Çx¦Ç§Çv¦ÇqªÉ}©Çv©É€ªËp¢Åp¤Æs¥Åx¨Çs¦Çx§È|¥Èy¨Çy©É~¥È|¤Äw¥Å~©Çy¨Çs§È{©É~ªÉ|©Êw¨Äu¥Çx§Æ}©Éw§Ép§Év¨Éz©Èx¦Çn¤Çw¨È~¦Éy¨ÈxªÉ|ªË{¨É}§É¨È~«Év§ÉyªÉ~ªÊªÊ¬É…­Ë„­Í€«Ê‡«Êy¨É}«Ê{«É‚«Ë‚«Ê€©É†«Ê«ÉzªÉ‚«ÊªËƒ«É„«É€©Éˆ®Ë~¬Ì‚ªÉ€«É‚­È€¬É„¬ÊŒ®Ì…®Ë¬É«ËªÉ|ªÉ‚ªÇ~ªÉ«É®Ê~­ÌªËƒªÊ~«Éz©Ë€¬Ê€®Ì„®Ë}ªÉ~ªË|ªÉ†­Ê}ªÉ…®Ê}©Ë}©É€®Ê~«ÊƒªÉ«ÉªÉ†®Ì€¬Ì€¬Ëƒ¯Ëƒ­Ìƒ¯Ì‚®Ì­Ìƒ®Ê†®Ë‚®Ë‡±Í„¬Ëx«Ë†¯Ë‡®Ë†¯Ë…±ÌŠ±Î†°Ë¬É†¬Ê‡®Ì…¯Ì†«È±Í‰±Ìƒ®Ì…­Ëƒ¯Ë®Ì¯Ëˆ®Ê„­Ê‡±Ì…±ÌŒ³ÎŒ²Ì‹¯Ì…®ËŠ±Ì‚­Ë…¯Ë†®Ê‚­Ë}­É®Ì€®Ê†±Ì‡±Í†°Íƒ±Ë†²Ì®Ì‡±Ì‡®Í†°ÎŠ°Ë‰±ÌŒ³ÎŒ±Í´Ì‰°Ì†¯Ë±Ì°Ì®Ë„®Ì‰²Ì†±Ë†±Ë‚±ÌŒ°Íˆ±Í‰²Ì³Ï‹²Ï‰²Í‘³Í³ÎŠ±ËŒ³ÎŽ±Ðˆ±ÍŒ°ÌŠ±Í³Í³Ð‡±Í‹¯Ì‰²Í‘³ÍµÎŒ²Ì‘³Î‹²Ñ³Ì“µÎ’´ÑŽ´Ì‹²Î’´Ï”¶Î—¶Ñ—¶Ï“·Ñ’´Í‘³Î˜¶ÑºÓš¹Ñ˜´Ïš·Î‘¶Ï‘¶Ð“¶Î“´Îœ¸Ñ•µÎŒ³ÎŽ´Ï’´ÏµÑ±Í’´Ï›¶Ï˜´Ïš¶ÏŸ»ÓŸºÒ¡¾Ô°Ã׵Ĩ¼ÉÚÁÌÛÃÍÝÅÎÞÄÍÜÃÍÜÂÏÜÃÍܾË󵮯¹ÇÙºÉØºÉÚÀÌÜÃÐÞÃÎÞÂÍÞ½ÉÛ´ÇØ¶Æ×³ÇØ®ÅײŨ´Ç×µÈÙ¹Å×µÅÖ¶ÄÔ¸ÃÖ´ÅÖ¶Ç×¸ÆØºÇÚºÇÚ¼ÇÖ½É×¼ÉÙ¾ÉÚÁËÝÃËÝÂÌÝÂÌÜÅÏÝÄÌÛÄÍÛÆÎÝÉÐÞÊÒÝÊÓàËÖáÌÖáÌÖàËÕàÉÒÞÇÑÞÆÎÝÇÑßÈÒàÉÑßÇÑÞÃÌÜÂÉÛÁÉØ»ÇØ¼ÇØ¹ÇÖ½ÈØ½ÈÖ¹ÄÖºÃÔ¶ÃÔµÂÓ¶ÃÔ¶ÃÓ»ÅÕ½ÆÖ¾ËØÀÉÖÁÊ×ÁÊØÁË×ÂËÚÃÌÚÅÌÛÆÌÛÇÍÝÇÎÝÄÏÛÆÏÚÇÐÜÆÑÙÆÑÝÅÏÝÆÑÜÅÐÝÆÎÞÅÎÛÆÎÛÅÐÙÅÏÜÇÎÝÅÎÛÆÌÜÅÌÜÃËØ»ÈÖ·ÄÔ¸ÆÕ´ÁÓ±½Ò¬¹Ð¯¼Ï«¸Í¬¶Ì¨·È¤³É¥¶Ë¤µÊ¡±ÉŸ¯È °Èš­Æ˜«Ä™±È™­Å˜­Äš¬Æž¯Åž°Ç¥´Ê£±ÉŸ°È ²Èž±Æ›¯Ç ±Éž¯Ç¡±Æ¥³Èª¶Ë¤±É§³Ê¨¶Ëª¸É¨¶É©·ÉªµËª¶È­¶Ë«·Ë«ºÌ«¹Ï®½Í±»Î±½Í®ºÌ¬»Î«¶Ì­·Ì«¹Éª·Ê§¶É¦·Ë¬ºÊ°ºÍ­¸Ë©·Ë­ºÌ¬¹Ì©¹Ð¦¶Í¦±È¦³É¥µÊª¶Ëª¸Ç¨³É®¶Ë¬¸Ìª¶Ì¬¸Ï°¹Î©ºÍ°»Î­¹É®»Î³½Î°»Ï¯»Ñ¯½Î¯¾Î±¼Î´¾Ï°¾Î®»Î°¼Ð±½Ðµ¼Î²½Îµ¾Ò´¿Ð¶¾Ñµ¿Ò·¾Ò¶¿Ò·ÀиÂѶÃÓ»ÄѺÃÓ»ÆÔ»ÅÓ¼ÅÓ»ÆÕ»Ç×¾ÇÖ¿ÆØ¿ËÙÁÌØÄÌØÅÌÝÉÎÝÆÎÝÉÏÝÈÐÞËÓÞÌÖÞÍÔÞÎÓÞÌÓßËÑßËÔÞÌÓÝÌÕÞÌÖßÌÔÞÌÔÝËÒÞËÒÞËÎÝÇÌÚÄËÚÁËØÂÊØÄÉÙÃËØÄËÛÄËÛÃËÛÂËÙÃËØÅÌØÃËÔ¿ÇÈÆÍÖÉÒØÌÖÛk›½~¤Ár¢¿u¡ÁoŸÁq Ãu£Äu ÅoÁs Äo¡Ág›Às¢ÄmŸÂlžÃu£Æl¡Åt£Äm ÁkŸÁjÁržÁoŸÁkœ¿lžÂt¢Âu Âo ÁfÀkœ¾m Àf™¿n Ãh›Äp ÂrŸÂm¡ÃiŸÁhžÁd¡Äi¡Åp¢Æo¢ÆlŸÄjšÂiž¿iŸ¿jžÁm Æt¡ÃlŸÆi Ãj›ÂrŸÂkžÂp Ãn¢Ât£Ãm¡ÅxªÆuŸÆu¢Äm¡Áz Âs£Ã…ªÇx¤Æm£Ät£Æp¢Ås¢Ãq¡Äy£Ãr¤Åt¢Äw¡Çw¤È~¦Ç€§Ç}¨Æs¥Åv¥Æt¤Æp Äz¦Èt¤Ç}¤Æs¤Äg Ãp¡Ãm£Äs¦Æo£ÆlŸÃu¦Çx¨Æx¤Â|¤Æl¡Äq£Åq£Çs¤Äv¥Èv¤És¤Æu£Äo Ãr¥Çm¤År¨Æt¦Çt£Åq£Ås¤Å{¨Çy¤Åy¥Ç{¥Æz¦Ç{§Èx§Éw¥Éu¤Èu£Çt§Év¤È§Év¦Çx¦Èr§Én¦Éq¥Æp¤Çr¤Åz§Æv¤År§Ç~©Ér¤Çx¨Év¦Æ}¨Ç~ªÇs¤Çw¨ÉªËp¥ÇªÊu¦Çx¨Çw¥Çu§Çw¥Çr¦Éz¨ËxªËªÊƒªÈ‚©È„ªÈ‚¬ÊªÉ€©Ê|¦Ê©ÉªÊ~ªÉ…«È{ªÉ~§Ç„©Éx¦È~©ÉzªÉ‚¬É~¬ÉŠ®Ç‹¯Ì€¬Ëy¨Ë|¨Êy©Êy§È|¨Ç©Ç~ªÊ©É{¨É§É€ªÇv¨È‚¬Ê¬Ë„­ËyªËy©Ê~ªÊ©É}ªÉ|­Ë}­Ì­Ê€ªÉ{¨Æz¨É~©É¨É‚¬É~ªË¬Êƒ«É«Ë„­Ë‚«Ë~«Ê|ªÉ‚®Ì€®Ìƒ¬Ë‡®Ì~ªÉ~©È‚¬Ëƒ¬Çx¬Ê}¬Ê„¯Ì~«Ë«Ì‚ªË‚«Ë‡¬É„¯Ì…®Ë…®Ë‡®Êˆ°ÉŒ®ËzªÊ€®Ì„®Ì†­É…«Ë­Ë«Ê…¯ÌƒªË†¯Ì†«Ê‚­Ì„®Ë­Ë…¬Ë«Ë…­Ë{ªË‹°Ì‰®Ê‰®É¯ËŠ°Ì‹±Í†±Í„±Ì‚­Ê‚®Í‰¯Ì„®Ì°Î†¯Ì„°Êƒ°Ì„«É†ªÌˆ®Ë„­Ëˆ¯Ë†°Ë‡°Í†²ÌŠ±Ë‡¯Ê…®Ëˆ°Ì‰®ËŒ±ËŒ±Í‡±Ìˆ±Ì‚¯Í‚®Í‰®Ì‰°Ë†­Ì…¯É‰±Ì¯Ë‡±ÍŒ²Î‡¯ÌŽ±Í‹±ÏŒ±Í‡®Í‰±ÌŒ²Ì‹²Ì†±Í‰°ÎŒ±Î´Î‘´Î‘´Î¶ÓµÎ´Ï‘µÒ‘²Ë‘±Î²Í–³Ñ–µÏ“±Ë´Ì‘´Ð”´ÐšµÐ²ÌŒ±Í³Î±Î³Ð—¶Ñ’µÑš·Î ¸Ï¢¹Ðž¸Ñ ¹Ñ¡¾Ó¥½Ó²Ã×¹ÊÛÀËÝÃÌÛÄÎÚÃÍÜÁÌÜÂÌØ½ËÛ¸ÈØ¶ÆØµÆØ¶ÆØ·ÆÙ¼ÉØÁÌÛÁÌݾÌÝ»ÉÝ´ÆØ²ÃÖªÁÖ©ÁÕ²ÂÖµÄÖ¶ÆØ·ÇسÄÚ³ÃÖµÂÕµÃÕ³ÄÔµÅÖ³ÅÖºÈÛ¼ÉÚºÇÙ¾ÈÙ¾ÉØ¿ÉØ¾ÈØÀÊØ¿Ê×ÂÌÝÂËÝÅÎÞÇÏÝÊÐÞÊÒàËÒßËÓßÉÒàÊÒâËÓÞÉÑÞÊÑÛÉÑÝÉÒÞÇÑÞÆÏÝÂÌÝ½ÇØ½ÇÙ»ÄÖºÆÖ»Æ×¸ÆÕ¸ÄÕ¸ÃÕ¶ÃÕ¹ÃÔ·ÃÓ¶ÃÓ¹ÆÔ¸ÆÕºÆÔ¼ÃÓ»Ç×¾Æ×¿ÉØÃÉÛÄÊÚÃËÚÃËÙÄÌÙÈÍÝÇÐÜÆÏÛÈÏÝÉÐÜÈÏÜÇÑÞÈÑÝÆÑÝÈÑÜÆÎÜÆÌÞÆÎÝÇÏÜÈÎÛÇÎÜÉÎÜÈÏÝÈÎÝÆÎÜÄÌÛÁÉÚÁÉÙ¼ÄÓ¹ÃѵÀÓ±ÀÑ­½Îª¹Ï¬¸Îª¶Ë¨¶Ë¥³È¡±Ê¡°Èœ¬Çœ°Èž®È¯ÇŸ¯Èž®Ä¬Äœ¯ÆŸ±É ³Ë§¶Ê«¸Ì«¸Ìª·Î­»Í§¶ÊŸ¯Éž±ÈŸ­É¦³Ë©¶Ì¨¶Ë§¶Ê«¶Ì¨´Ë¥¶Ì¤²É¥±Ê§¶Ì¦¶Ì¬·Ì¬»Ë®ºËª¶Î¬»Î®ºË¬ºÎ¬»Íª¸ÎªºÎ¨·Ì«¹Êª¶Ëª·Ë­·Ë­ºÍ­¶Í¬¹Í®¼Îª¹Ì«´Í¥¯É¦¯Ê¥°Æ¥³É¤¶Ëª·É«»Ìª¸Ì®¹Í®¶Í°»Î¬ºÐ¬ºÏ±»Ð°¼Ì°ºÍ±»Ì°ºÑ´¹Í±¼Í±»Ì²¿Ñ³½Ì³¿Î¶¾Î¶½Îµ½Î·¾Ï²¼Ð³ºÏ´¿Ñ·¿Ñ¶ÁÑ·ÁÑ´ÁÒ¶¾Ó·ÃÒ·ÂÕ¶ÀÒ·ÁÓºÄÓ»ÅÓ¼ÄÓºÁÔ»ÂÕ½ÆÖ½ÄÔ¾ÈÙÂÊ×ÆÍØÅÎÛÈÎÜÈÍÜÊÐÜÉÎÜËÑÜÌÑÞÌÕÞÎÓÝËÓÞÌÑÞËÐßÍÓàÎÓÞÍÔÝÎÔÞÎÓÝÌÓÞËÓÞÇÏÜÆÌÛÂÊÙÂÉÚÃÊÙÃËÙÂËØÅÌØÃÌÙÄÊÙÆËÛÄÉÙÆËÖÆÊ׿ÅÊÆÎÓÊÔØËÖÜu£Áx£¿p¡¿w¤Áp¡Às£Åp¡Ãlž¾oÀl Áo¿kœ¿k¡ÃlŸÁeÀn ¿qŸ¿y¤Åx¥Äs£ÄlŸÀr¢Ãn ¿p ÂhŸÂo¡Âp¡ÃnŸÂržÃg¾f¡Á`šÀo Ãs¢Âp Äk Áq ÄkŸÀpŸÂm¡Äs¤ÂmŸÅm Äo¡Äx¢ÅižÁq¢Âp¡Ãs¡Ãy¤År¢Är Ãs Ãn¢Ãm£Ãy£Çk¡Äo¢Ãu¤Ãy¤Å~¦Æ¤Ãw¤Äy§Ær¢Ãk¢Ã€¦Ås£Æx¥Åw¦Äy¥Æq¥Åt¤Æw¥Åy¤Ãw¤År¥Ät¥Å|¦Åy¨Èv¦Çr¦Æq¦Æu¥Ç€§Åz§ÆxªÆv¥Çm¤Äv¥Æu¥Æn¢Än£Ãv¥Çx¦Ç€©Åo¥Æu§Æs¥Æs¤Ær£Ão¥É|§Çr¤Åx§Åv¦É}¥Ç~§Çr¤Ão¤Äy¦Çw¦Åo¤Æw¥Æq¦Åu§Åm¥Æx¥Æq¦Çv¤Æt¥Æw¤Çw¤Äs¥Ç~ªÉ~¨Æw§Æ~§Æv¥Æ{§É§Ã~ªÉs©Éu§És¦Äu¥Çn¦Æu¨É{¦Çp¥Çx§Év§Èu¨É{§Æy§Èz¨Èx¦Ç‚¬Ëz©Ç}©ÉzªÉ{§Ç¨Çp§Çv¨È{¨ÈƒªÊ}©ÉªÉƒ­Ëƒ«É€ªÇ‚«Ç~¨È€ªÉw©ÈyªÉ~ªÊ}ªÉ|¨Ç‚ªÇ~©Ç}©Év¨É|ªÇ¬Ëˆ®Ë…®Ë‚«É©É}©É}ªÉ~ªÉªÊy¨Ç‚ªÉ„«ÉªÉ~«ÇxªÉ~¬ËªÉy¨Ç„­Ë†°Ëˆ®È€«È‚«È}©É¬É„ªÊ~ªÈ‚ªÉ€«Ç«È¬É€ªÊ~©È‚ªÉ€¬Ë‚«Ê¬Ëƒ­Ê„«É~ªÉ‚ªÊ„¬Ë„®Ë„­Ë‚®Ì{«Ë€­Ç…­É~«ÊªÉ…­Ê‚­Ê…±Ì†®Ë„¯Ì…«Ê…ªÉ|«Êƒ¬È‚­Ê­Ë‚®Ë‡±ÍŒ¯Ë‰¯Ë†¯Ê®É†­Ê­Ë‚®Ë~«Ë‡°Ì„­Ì‡¯Ê‚­Ê…°Ì…®Ê†®Ë…¯Ëƒ­Ì¯Ì†°ÌŠ®Ë®Ë†®Ë†±Ê‹³Î‰²Í‡°ÌŠ±ÎŒ¯Ë…¯Ê…¯Ê‚¯Ë…¯Ì‡°Ë†¯Í¯Ëˆ¯Ë†°Ë‰®É„­Ëƒ®Ê®Ëƒ±Ì†®Ì…¯Ëˆ°Ë„°É‰±Ë…°Ëˆ±ÌŽ±Î†°Ë‹°Ë‰²Í´ÏŠ°Ê‡°ÍŠ¯Ê‹°Ë…¬Ëˆ°Ë†¯Ë‰¯Ì‹²Î‰±Î²Ìˆ´Ì‡±Î²Í³Ì´Í‹²Î‘±Î²Î´Ì³ÍŒ³Î³Ï™¶ÌŽ³Í•³Í±Ï”´Î—¶Î‘·Î“¶Î‘¶ÏŽ´Ð“´Î“³Ï•¶Ï–µÐ”´Í™´Í˜¶Ð ¸Ï¥»Ñª»Ñ§¼Ñ¦¼Ò›»Òž»Ð¢¼Ñ§¿Ó°Ã×¹ÈÚÀÌÚÆÌÚÃÍÝÄÍÝ¿ÍÛÀÌØ¸ÉÚ´ÆÖ²ÄÖ°ÃÖ°ÃÕ¶ÇÖ½ÉÚÀÍØÁÌÙÁËØ¹ÈÖ¶ÆØ±ÃÖ¯ÂÔ¯ÅÕ±ÄÖ»ÅÖ·ÇÖ³ÆÖ°ÃÖ°ÃÖ°ÂÖ³ÃÕ´ÃÕ´ÃÖµÆÖ¸Ç×»ÇÙ»Ç×¼ÇÖÀÉ×ÀÊÙ½ÇØ¿ÈÚÀËÙÁËÛÄÍÝÅÏÛÆÑÝÉÑÞÊÓàÌÔÞÉÑÞÉÏÝÈÒÞÉÓÞÈÐÞÉÓàÉÓÝÇÑÞÇÎÝÃÌÝÃÉÛ¼ÇØ¸Æ×¹ÅÖ¸ÅÖºÆØ¸ÅÓ»ÅÓ¶ÆÓ·ÃѸÃÔ¹ÄÕµÃÕºÆÖ»ÆÕ¿ÇÕÀÆÖ¿ÇÖ½ÉÖÁËÙÃËÜÆËÝÅÎÜÆÏÛÈÏÛÇÏÜÉÑÝÈÒÜËÑÛËÑÝËÒÝËÔàÊÓÞËÑÞÇÒÝÇÐÜÆÏÝÈÎÜÇÑÛÉÑÝÊÒÞÌÓÞÊÑÛÊÑÜÉÑÝÇÏÛÆÐÞÃÎÚÁÉÖ¼Ç׺ÃÔµÁÔ³¿Ð°¼Ð­ºÍ®ºÎ¬ºË©·Í¡´Ë¥´É¢¯Å¢¯Ç ±É³Çœ±É¢´Ê¥´Ë¦¶Ë©·Êª¹Í¬¹Ï®·Í®»Ì¯»Í®ÁÓ¬¼Ñª·Ì ®È¡²È¤³Ê¤¶Ë¨·Ê¨¹Ì¨¶Ì¬¹Ë¢´É§±Ç¤³È©¶É¤¶Ìª¶Ì®·ÌªºÎ­ºÎ­¹Ì«¸Îª¸Ì¬¸Ì¬ºÍ«·Í®»Î°»Ì®»Î®ºËª»Î«»Ìª¹Î«¹Ìª¹Ì­¼Ì®¹Ì§¶ËªµÉ§³Ç¨³È©µË¦¶Ì®¹Î®¸Ì®·Ì¯»Î­¹Ï±»Ì¯ºÎ®»Ì®»Î´¼Í°¿Ð³¼Î³½Î¶½Î·¿Ð²¾Ò¶½Î´¿Î´¾Ñ¶¿Î³Áζ½Ï³¿Ñ·¿Ñ·ÀѹÁѸÁÓ¸ÁÒ»ÄÓ¹ÁÓ¹ÃѹÃÒ¸ÀÑ»ÂÓ¶ÁÕºÅÒ»Æ×¼ÅÒ¾ÆÓ¿ÆÔ¾ÅÔÀÇÓÃËÔÄÍÛÅÍÛÉÎÜÉÐÝËÒÝÉÐÞÌÔÞÎÖßÎÖàÌÖÞÍÖàÌÔÞÎÓßÎÕÝÎÖÞÍÕÝÍÓÝËÓÞÍÒÞËÐÜËÑÛÇÏÛÆÌØÃËÙÂË×ÁËØÄËÚÅÎÜÅÌÛÄÌÜÅËÚÆÌØÇÍØÇÍ×ÀÈËÆÍÕÌÔØÎÖÜoŸ¾nž¾m¡Áv£Âr ÁrœÂpžÁi›¾jžÂgŸÃdŸÀ_›½jœ¿r Ät ÃhÂožÁlžÁiŸÅr¤Äq¡Áq¡ÁvÀnžÁmÂiš¾lÂiÀp Ár¢ÅqÃnœÃmœÂn¿m¡ÄgžÃo ÃežÂo ÂožÃjœÁnžÂl¡ÄhÃm¢ÅrŸÃq£Åy¢Æ¤Ãx£Åx¢Ãq¥Æw¥Æp¤Çu¢Ãs£Äx£Äv¤Æs£Äo¤ÆlžÄv£Æw£Ät£Å¨Çt¥Æm Ço¢Äs¦Çm¡Åu¦Æo¡Âz¥Ä§Ç©Éy¤Ån¢Åq¢Æq¡Äs¢Åx¤Är£Ås¢Çr¢Ær¢Ä|§Åv¥Æs¤Äo¢Æo¢Çu¥Çw¨Êy¥Åw§Åp¦Æp¤Æo¡Æu¥Çz§Èr¤És¥Çp£Ãn£Ãv¤Åq¤Æu¤Æu¤Ån¢Åu¤Év¤Äs¢Åt¤Ån£Åo¢Æw§Åx§Çq¤Èv£Èx£Æx¤Äw¥Ål£Åp¤Åq¤Çu§Éq¥Çy¨Ç©Çy¤Æx§Çr¦Ço¥Çv¥Çt¤Æq¦È}§Év§Çv¨Çp¤Çn¤Èv¤Éx§Ér§Êw§Év¤Ço£Ãt¦Æv¥Æw§É©Ë~§Ç©É‚¨Ê©Ê‚©Æ{§É{¦È„«Ê€ªÉªÊ‚«Êƒ«É…«ËªÊw¦Éz¨È~¨Ê‚©È~¨É~©Êz©È~¨Ç}¨Ç€©Éy§É„«ÉzªÉªÉ|¨Êv¥Ë{¦Ç€ªÊ|ªÈ‚ªÊzªÉvªË}ªÉ«Ë}«Éx©ÇªÈ|¨És¦É€ªÊyªË{©ËªÉ«Ê|ªÉ}ªÉ‚ªÊy©Éx¥Èw§Ê€©É€«Ë~«É~ªÉ~©Ç~¨É„«Ê‚ªËªËƒ­Ë„¬Ë­Ë­Ê}ªÉ‚®ÌƒªÌ„¬Ë~ªÊ…­Ë|ªÊ‡®É€ªÊ„­Ê‚­Ë…©É…«Ë~«È‡®Ëƒ­Ê†°Ë…«É…­Ë…¬Ê„ªË„¬Ëˆ°Î„®Í‚¬Êƒ­É‡®Ì…­Ëƒ«É«Ë|«Ëƒ­Ëƒ¯Í|«Ê„­Ê…«Ê…®Ë…­Ê„¯Ëƒ¯Ë|¬É®ÌŒ±Ì|ªÉ„¬Ë©ÊªÊ„­Ì…±Ì‰±Ì…¯Ì…¬Ë‡¬Ëƒ¬É„®Ì‚«Ì„®É†®Ëƒ¬Ë¯ÌŽ±ËŠ±Ë…±Ì†¯Ê¬Ë‡¯Í…°Ì…¯Ë‰±ÌŠ²ÎŠ¯Í…¯Ì„®Ë®Ë„®Î„­Ë‰±Í‡¯ÌŒ®ÌŠ°Íƒ¯Ë‹±Í†ªÊ°Î†¯ÊŠ±ÌŒ±Ì†®Ë²ÎŒ´Î‹²Ï‘±ÎŽ±Î†¬Ì‹±Í¶Ï³Ïˆ¯ÌŒ±ÍŠ±Í‡¯Ê‰±Î´ÍŽ³Ì‘³Ï–¶Î”µÎ“¶Ð•µÏ™¶ÎµÎ›¸Ñœ·ÏŸ¸ÑŸ¸Ò§»Ò©½Ô©½Ô§¿Ó¸ÑŸºÒ¤½Ó©¿Ô¨¾Ô¯Ã×µÅÙ»ÊÛÀÊÝÃÌÝÂÍÝÃÎÝÁÌØ¹È׳ÄÖ¯ÁÕ¬ÁÖªÂØ²ÃÖ¶Æ×»ËؽÉÚÁËܺÊÚ¸ÇÚ¶ÇÜ´ÆÖµÆØ·ÆØ»ÆÖ¸ÆÖ´ÄÖ°ÃØ¬ÁÖ¯ÁÕ³ÃØ·Å×µÅ×ºÆØºÆÙµÅ×¶Æ×¹Ç׺È×¼ÉÙÁÊÜÂÌÝÃÌÛÃÍÛÂÍÚÅÏÝÆÏÞÉÐÝÊÑÞÇÑÝÉÑÞÆÑÞÇÑàÆÑÞÉÑÝÉÔÞÈÑÜÉÑàÃÍÜÂÉÚ½ÉÛ¹Æ×ºÅÕºÆÖ»ÅÕ»ÅÖºÆÖ»ÆÕºÇØ»ÅÖ¹ÅÕ»ÅÔ·ÆÖ»ÇÕ»ÆØ»Ç×ÁÈÙÃÊØÃÊÙÃËØÄÌÜÅÎÝÆÎÝÆÏÝÈÑÞËÑßËÑÞËÓßËÔÝËÓÝÍÔÞËÓàËÕáËÒÞÌÓàÈÑÞÈÐÜÇÏÜÇÏÞÉÑÞÉÑÞÌÒàÌÓÞÎÓÞÍÓàËÓÜÈÓÜÄÏÛÁÉØ»ÉضÂÔ¶ÀÓ¶ÁѲ¾ÑµÀЮ¼Ï«»Î«¸Í§´Ê¡±È¥°É¨´Ê¥´Ì£²Ê ´É¥´É©·Ìª¸Í´ÁÔ¶ÃÕ±ÀÒ®½Ï°¿Ï°¾Ó±½Ï°½Ñ±¼Î§¶Ì¥´Ê¥·Ì¦¶Ë§¹Ì¨³È¨¶Ê«¶Ìª¶Ë£±Ç¦µÉ£²Ä£±È¦´Ê¨¶Ë©¶Ë§¶Íª¹Ë§µÍ§³Éª¶É«ºÌ¬¹Ì®ºË¬¸É¬ºÍ­ºÎ«¼Ð¬¹Ï®¹Î­¹Í©¹Í©¶Ë©¶Í©µÌ¦µË¨¶Ìª¶Ê©·ËªµÉ§¶Ê¯ºÎ¯ºÎ¯»Î³¼Ñ±»Î³¼Îµ¾Ð±½Ð±½Î±¾Ï±¾Ñµ¾Ñ¶¿Ò¶Àг½Ñ­ºÎ³½Ð¶¾Óº¾Ó¹ÀÔ¸ÂÕ¸¿Ò¸¿Ñ¹ÁѺ¿Ñ¸ÁÒ¶ÁÓ·ÂÕ¹ÁÓºÅÓ»ÄÔºÃѺÃÔ»¾Ô¹ÂÓ¼ÄÓ»ÃֽŨ¾ÇÕ¿ÊØÀÉØÂÊÚÆËÙÃÍÛÉÍÜÉÏÞÉÓÝËÓÞÌÓßÍÖàÍÓßÎÓÞÎÒßÍÕÝÌÓÞÌÕàËÔßÌÔÞÍÔßÌÑÝËÑÞËÒÝËÐÝÆÍÛÄÌÛÆÌÝÆÍÛÅËØÇÍÚÈÎÛÅÌÜÆÎÜÆÌÛÉÍÜÉÏÜÇÎÚÁÇÊÇÎÕÊÓÙÌÖÝqŸ¾o¢ÀrŸ¿j ¿s¡Ãn¡ÃtŸÃr Ám Àn Ã_˜½r ¿r¡Át¢Ãl ÀrŸÂoŸÀqÁs¤Áj¾ižÁm¡ÁqŸÃn£ÁnÁnžÀiœÁ`™¾k™¾i›¾fžÀh¾iŸÂw ÄhšÁnžÀež¿jŸÁq¢Ãm¡Âs£Ãs¤Æt£ÅlŸÁl Ãq¢Åq¥Äu¤Ãs¢Æz£Çw¢Åq¢Ãs ÂlŸÃw£Ãw¤Ãu¤Ãu¢Ås¤Æm¢Ãv¡Ãr¢Ãn Ão Âp¢Ãx¨Æp¦Çx¤Ä¦Åu¢ÄožÁq¢Ão ÄožÃr Äq¢Å{¦Çs¢Är¤Ä~¨Ås¥Åq¥Äq£Åu¥Æt¥Æq£Ão¤Äs¥Åk¢Ãv¦Çg¢Æv¤Çq£Ås¥ÆoÁv¥Æl¤Æn¤Än¤Äs¥Ãs¤Æ€¨Çw§Ær¢Ãq£Ão¤Æq¤Äs¥Ær¥Åj¤Ãl¥Çq¤Æq¢Âs¤Çq¦Än£Ãv¤År£Ãq£Æx¥Ås¥Æo¤Är¤Äo£Åv¤Æq¤Äp§Èx¦Èx¤Èt¥Éx¤Çx©Èt¨Æs§Èx©Èv¦Åv¦Æp£Æx¦Çp¦Æx¥Çx§Çz©Æu¦Æo¤È{§Çu¤Æv¥Ç©Çm¨É€¬Çm¥Çy¦Çz§Ç}©Ê€§Éƒ©Ç|©Æ~©ÇwªÉz©Êv¦Èv¦Èy§Éz¨É~©È~ªÉw¨ÆªÈ~¨È©Ç€©Ç{§Éx©ÊzªÇ€ªÉ‚ªÈ|§Æy¥Æ§Ç}§É€ªË|ªÉzªÇn¦Ç}©Ç|©È¨Èy©Çw¨É«Ëz§ÊªÉ„­Ëy©É‚­Ë}©É{ªÉ|ªÉ}­Ê«Èz©Ç{©È„ªÈ}©Ç{©ÉyªÉy©Èy©È|ªÉ«É©ÇªÉ}ªÊ…«É}ªË¬Ëu©Ç~­ÉƒªË…¬É~ªÉªÉ„ªÉz­Ë‚®Ë€®Ê‚¯Ê«ËxªÉ«È…ªÈ†®É~¬É„«É€«Ê­Ë„¬Ê€ªÈ€«Ë¬Ë†­È…«Ë‚­Ë‡°Ê‚«Ét©É{ªÊ}ªÈ…¬Ê…®È‚­É‚­Ê¬Êƒ­Ë}«Ë­Ë®Ë„¯Ë†±ÊŠ±Ë†°Ì…±Ë„«É†®Ì€ªÉƒ°Ì…­Ë‚¬É¯Ê†°ËŠ°Ì‚¬Ë€¬Ëƒ«É­Ë†­Ë„­Ê„°Ë‚³Éƒ°Ë†®Ë†­Ê‚­Ê†°ËŒ±Ë«Ë…¯Ë„®Ê‚«É„®Ê¬Êˆ¯Ì‚®Ë~©É„¯ËŠ²Í„¯Ë†­ËŠ®Í‡¯Ë|®Ë†°Ë†¯Ì†°Ë‹²Ì‡¯ËŒ°ÌŠ°Ì‰±Ì†±Í‹±Ì‹²Í‡±Î²Î‹²Î†®É‡°Ë‡±Í²Î†±Ì±Ì²Ì²Ì³Ì”´ÎŽ´Í’³Íš·Î ¼Ñ¥¾Ò¤½Ñ¨¿Óª¾Ó¬ÁÔ©¿Ô£ºÑ¤¼Ñ¥½Ò£½Ô¡¼Ñ§¿Ô³Â×¸ÇØ½ËÙÁÌÜÂÌØ¿ÎÜ½ÌØ¼ËÙµÆØ¬ÁÓ¥»Ó¨¿Ó«ÁÔ²ÃÓ¹ÉÖ¿ÊØ¿ÊÝÀÉÛ½ÊÚ»Ç×½È×¹ÊØ·Ç×µÇÙºÈ򼂯³ÄײÃÖ­ÂÖ°ÃÖ³ÆÖ·Ç×·ÉØ´ÅÙ³Ä×·ÆÖ¼ÉØ»ÈØ¾ÊÙÀËÛ¿ËÚÃÌÚÄÎÚÃÍÛÆÏÛÅÎÜÆÑÝÉÓÜÅÏÝÆÐÞÃÎÞÆÑßÄÒÝÇÐÝÇÐÞÆÎÝÆÏÝÃÍÝÂÊÚ½ÇØ½ÇØºÆØ»ÄÓ¸ÆÖ»ÆÖ¹ÃÓ¸ÄÕ¸ÆÕ»ÄÕ»ÆØ»ÆÖ½ÇÖ½ÆÔ¼ÇÕÀË×ÂËÕÁËÙÁÌÚÃÎÛÅÎÝÅÌÜÇÎÜÇÑÛÊÒÝËÑÝËÒßÍÓßÎÕßÎÖßÌÖÝÌÖÞËÔßÌ×àËÕàÉÑÝÊÒÞÇÒÞÉÑÞÊÓÜËÓÝÌÖÞÌÔÞÎÓÞÍÓàËÔàÊÓÞÇÑÚÂÌØ¾ÇÖ¸ÃÓ¸ÃÓ¶ÂÕ²¿Ñ²¾Ò¯½Ð­½Í©¸Î¤µËœ´ÉŸ±Ê¦¶Ê£²È§¶Ëª·È¬¸Ê®ºÏ¯½ÍµÂÓ±ÂÓµ¾Ð·ÂÔ¹ÃÓµÁÒ´ÄÕ¸ÄÔ±ÃÒ¬»Îª¶Éª¹Î¨¹Ë ¸É ¶Ê¦¶É¦¶É¡²É¤³Æ¡³Ç¢±Çž¯Æž±ÇŸ¯Éš²ÊŸ²É¢°É¦³Ê©¶Ì¦µËª¹Ì«»Î¬ºÎ®¸Íª¸Ë¬¼Í®»Ì«¹Í¯ºÏ­¹Ì«»Í­¹Ë«¸Í¨µÌ©·Í§µÊ¨¶Ì©·Ë¦·Ë¯¹Î±·Ì®¹Ì±¼Ï³¼Î±½Ò³½Ñ´¿Ñ³¿Ð±¾Ð³½Ñ³½Ñ¶Àе½Í·ÀѸÃÓ¶ÀѸÁÓ»¿Ò¶ÁÓ·ÁеÂÓ¶¾ÏµÁÔ¹ÂÒºÂÒºÄÒ»ÂÓ¹ÃÓ¹ÃÔ¶ÀѹÁÓ·ÃÓºÃÓºÃÒ¼ÆÖ¿ÄÔ»ÅÔ¼ÅÓ¿ÈØÀÉÕÀÉÖÃËÖÅÌØÆÌÚÄËÚÇÎÜÌÐÝËÑÞÌÕÞÌÖÞÎ×àÎØÞÎÔÞÌÔÞËÓÝÌÓàÌÓÞÎÕÞÌÒÞËÔÜÈÒÝÉÎÝÇÌÜÆÍÙÅÌÚÆÎÙÈÍÚÇÏÛÊÎÝËÐÞÊÎÝÉÏÜÈÐÛÊÏÜËÏÜÈÎ×ÁÈËÇÏÖËÔÚÎÖÛo£½ež¿a›¾i¢ÀnŸ¿mŸ¿l Äe›À`™½iž¿oŸÂiœÁhÀfš¿\—¿\›Á^žÁgžÁj Ân ÁkŸÁkžÃjŸÃo ÃgžÃf¿p¡Ál Áf›¿dš¿dœÁ`›Áf›ÁjžÄožÂmŸÃj¡Âh¡ÃjÂkœÃo¢Åt Åt£Æo¢Ãt¤Än¢Är¡Áo¡Âr¢Åh ÂgÃm¢Ão¡ÃlŸÃn Ãm¡Âr Ãv¢Ãn Ãn¢Ãq¢ÇqŸÃiŸÀj¡Än¤Âp¤Äs¤Ãs¢Ãw£Ãq¡Än¡Ãn ÃlžÁl Ãp¡Än¢Ân¡Ão¡Åm Ãm Äi£År£Äg Äf¢Äp£Äu Âr£Äv¤Äp Ãr¡Åo¤ÆiÄp¡Ãz¨Äv¥Åo¡ÃsŸÂm¡Åm¤Ãj¡Äo¤Äo¥Æm£Åm¤Çt¤Ær¥Ço¤Æj¤Ål¤Äo¤Åv¥Æp¢Å{§Çv£Æp¢Ãp¥Äs¥Äq¤ÆjŸÄl¤Äp£ÅlŸÃm Ås¤Ål¤Æm¤Æp¢Äo£Äp¢Äs¤Ãl¤Çp¥Ão§Äw©Çn¤ÈrŸÆx¦Çr¦Æj¢Ãx¦Çv¤Èo§Èm¦Åp£Åu¤Æw§Éu¦Çu¥Çq¥Ær¨ÇxªÉp¥Çt§Çl¤Åz©Ér§Åy§Çv§È§Çx©Çz§Ç{§È~©Èu§É}©Êx¦È|¨Ç~¦Ç|ªÇv¨Èz¥È~©Èw¨Èu§Èy§É€ªÉx§É€ªÇv¨Æu¦Ær§Ç€©Éz¨Èy©Ç}©Ç|©É€ªÇ€ªÈw¨Èz¨Èy§Èx§Ç€ªÈ€ªÉk§Èw©Ç~ªÉz©Èz¨È}©É|«Ê~ªÉ{©È‚«Ç€§È©É©Èv¨Ç{¨È~©É«Ê}¨Çw«É|ªÈ‚ªÈªËz¨É®Ê~¬Ë~¬Êx­É}¬É†«Ç…®É…¬É…¬Ë€ªÌ„¬Ë¬Ë|¨ÉxªÈ}«Èˆ­É}ªÊ‚«Ê{«Éw«Ë}«Ë¬È|ªÉzªÈƒ­ÉªÉ„­Êz¬Ê}«Ê¬È‚®Ê©É~«È€¬É«É€ªËƒ­Ë‚®Ì°Ë~¬É‚«È„®É«Ê‹¯Ê‚®Ê„¯Ë‰®Ê®Ëƒ®ÊªÉ„ªÉ†¬Ê}ªÉ¬Ë„­Ì{ªÉƒ¬Ê‚®Ë‚ªÉ„¬Ë€«É„®Ë…¬É…±Ì}¬È€¬É~«Èˆ­Ë„ªÉ‚­Ë€«Ê„®Êƒ®Ê…®Ë~¯Ë…®Ë…®Ìˆ¯ËƒªÉ…­Ê€±Ëƒ±Ì†¯Ë­Ê¬Ë‰®Ë«Ì}¬Ì„®Ê†®Ë‰±ÌŠ°Ë†®Ë~®Ë…¯Ëˆ®Ë…±Ì‰±ËŠ±Ì†°Ì‰±Ê…±Ë‘³ÌŒ°ËŠ®Êˆ®Ìƒ­Ë±Ì‹³ÍµÎ‹²Ê•³Íš¸Ï»Ð¤¼Ó¢¼Ñž»Ñ¥¾Ö§¿Ò¢¼ÐŸºÐ¢¼ÑœºÑ™·Ð¤¼Ó¯ÂÖ¶ÆØ¼ÈØÀÍÛ½ËܾËÚºËØ»ÈسÅÖ¬ÀÒ¦½Ó§¿Ñ¬ÁÓ³ÃÖ¶Æ×»ÉØ»ÊÙ¿ÉÚ¾ÊÛ¿ËÚ¿ËÛ½ÇÙ»ÉÖ½ÇØ½Ç×¹ÆÖµÇرÃ׫ÂÔ®ÂÖ±ÂÕ´ÅÖ±ÆÖ®ÃÓ®ÂÔ²ÅÖ¹Æ×»ÇؾÊÚÁËÜÂÍÛÃÌÛÅÎÛÄÎÞÆÐÝÅÏÝÇÏÞÄÏÝÄÍØÀÍÜÀËÙÀÊØÃÎÝÆÍÝÆÌÛÃÌÜÃÌÜÁËØ½ÌÚ½ÉØ¸ÇÖµÄÓ»ÃØ¸ÆÕ»ÃÖ¶ÄÓ¶ÅÓ¸ÆÖ»Ã׺ÅÖ½È×ÁÉØ¿É×ÀË×ÁÌÛÂËÜÃËØÃÌÙÄÎÚÆÍÛÆÎÝÈÑÞÆÑÜÇÓÞÊÓÞËÓàËÕßÍÕÝÎÓÞÎÔàÌÕÞÌ×áÌ×áËÓàÈÑÝÇÑÝÈÓßÊÓÞÊÓÞËÔÞÎÕÞÌÕßÌÓàÉÔàËÓÞÉÑÞÇÑÝÅÏÙ½ÊÛºÇÕµÄÒ´ÃÓ¶ÂÒ³¾Ð±ÀЯ»Î¥·Ì¡´Ê¤´È¦¶Ë¥¶Ê¦¶Ì¦µËª»Î­½Ñ­¿Ñ°ÀѱÀÒ°ÁÒ°½Ï²ÃÒµÅÖ·ÄÖµÄÔ³ÄÕ³ÃÔ«¹Ñª·Ëª·Ë§¶É¤¶Ëª¶È¥³Ê¤¶Ì ±Ç›­Å™®Å ¯Æ­Ãš¬Å›¬Åš°Ç±È ²É ±È¢±Ê¥±Ê£µÊ¨·Ë©¸Îª¹Í®ºË©ºÌ¬¸Ëª¹Ì¬¸Í¯¼Ì°¹Ì¬¼Ï¬¹Ðª¹Ì«¶Ìª¶Ê¨´Ê¤²É¦¶Ì«¹Ì©¸ÎªºÎ¬»Í®¼Ð´½Ð±½Ñ²½Ñ±¼Î³½Ñ±½Ð³ÀѰ¿Íµ¾ÑµÁζ¿Ñ¹ÂѺÁÒ¶ÂÑ»ÁÔ³ÃÖ·ÂѵÀÒ¶Àѵ¿ÐµÀÓ¹ÃÔ·ÂѶÂÒºÁÒ¹ÀÒ·ÀÑ·ÀÒ¹ÂÒºÃÒ»Å×½ÂÔ½ÆÓ¿ÉÖÀÈ×¾È×ÁÈÔÀÈÔ¿ÇØÀËÛÁÌÛÆÎÜÈÑÛÉÒÜÍÓÝËÒÜËÕÞÌÔßÍÓàÌÔÞÌÓÝÌÓÝÊÑÝÊÑÛËÒÝËÒÞÈÒÝÇÎÝÆÎÝÇÐÛÅÎÛÈÏÛÈÍÝÇÎÝÉÏÝËÐÝÈÎÝËÐÜËÑÞÉÑÜÊÎÝÉÎÔ¿ÇËÅÎÓËÓÚÌÖÜlŸ½s¡Àk™¿lž¿mŸÁeœÀl›½f½mŸÁq¡ÃeÃqŸÁmŸÁb›»ož½nž¾n¾s¡Âh›¿d›ÀdžÃpŸÁkŸÀg™Áa˜½ižÀgœÀgÄoœÂh™¾k›¿nžÂm Áo Âp£Ãm Ãk Äw¤Ån£Äz¢Ãt£Äs¡Äu£Åu¤Äw¤Æw¥Åp¤Äy¡Ãr¢Ãr ÃkŸÂožÂp›ÁiŸÁmŸÂt¢ÅlžÁwžÃv ÃpŸÃr£ÆoŸÄnžÄr£ÃqŸÃm Ãn ÆmžÃ|ÂsžÂu¤Ãp¢Ât Ãm¡ÄnŸÃh›ÁjŸÂhŸÂk¢Ãq£Ås¡Æp£ÆqŸÄoŸÃp¤Är¢Är£Äy¤Ãt¤Åv¤Åi¡ÆjžÃr¡Ãr¢Är£Är¤Ãu£Äw¤Åp£Ãs¤ÇhŸÃo Ãp¤Èq£Çk¤Äc¤Ås¤Ær£Åo£Ær Æq¤Ço¡Ãq¥Æq¢Ær¢Åx¡Ät¤Ãm ÂqžÂiŸÃq¢Äq¤Åw¦Æu¦Èq¤Ãn£Äk Ån¤Ãi¤Æt§È|£Æp¤Æs¦Çu©Æt£Ãq¤Æl£Æv§Éu¦Çw¥Æz¢År¤Æy§Å|¥Çp£Äj¥Çy¤Ç~©Ê|§Èy¦Çv¤Ç{©Èy¦È~¤Èu¤Éw§Æ€¨Éw¨È~©È|¦Çw¥Æk¤Æu¦Éy§É{§Ç~¦È~§Çw¦Æy¨Æy©È€¨Èz¨Ç{©Ér¥Çz§É~ªÊy¦Çz¦Èw§Èx¦Éz§È}ªÉw¤Ç|ªÆx¨É~¨Ç€ªÉx¥È~©Ç~©ÆªÈv¦Ç}§Æ~©É€ªÉ€¬Êy¨Éx©É€ªË~ªÈv©Çx©È©Ê§È{©ÈªÉs¦Èt¨É~ªÉƒªÊy§È~ªÉ«Êv©Ê€«Ëƒ«Ìv¦Çx©È~©ÉƒªË~ªË€¬ÉyªÉ~ªÊ~ªËy©É€¬Ë„©É~§Éz©Ê«È¬Ë„­Ê¬É¬É|­Ê¬Ë¬ËªÉ…®Ë}«Ë…«Ê„«É‡®Ë€¬É|ªÉ…«É‡­Ë„ªÊ{«Ê€«É€¬Ê~©È­È†­Êƒ«Ê}«Ì­Ê‚®Ë€«É†¬É…®É¬É€¬ÊtªËˆ«ËŠ°Ê…®Ê‚®É€®É¬Ç}©Ê†ªË†«Ê†¬Ìƒ«Ë†«Ë~¯Ë…®É¬É†°Ìz«Êˆ­Êˆ®Ì‚«Ê†¯Ê„®Ë†®Êƒ­Ê~¬É…¯Ê„¬Ë„­Ë‰®ÍŠ¯Ì†­Ê¯Ê€¬ÊНË~ªÉ€«Ê‡¬ÌyªË†®Ê‚¯Ìƒ®É„®Êƒ®Ë‰°Ì‰°Ì®ÎŒ±Ë…®Ë‹¯Ë…°É„¬É†®Ë†®É‡±Î~±Î‡±ÎŠ°Ì…®É±Ë±ËŒ²Í†±Í´ÏŽ±Ð”¶Ï˜µÏ¢·ÑœºÑ˜¸Ñ›·Ð¢»Ô »Ò¢¹Ñ¡·Ï™´Î²Ì¢¹Ñ®ÂÖ´ÆØ½ÈÝ¿ËÙÁËݽËÚ½È׺ÇÒµÄÖ±ÁÓ®ÁÖ¯ÁÓ®ÂÕ¶Ã×½ÇÖ¼Ç×¾Ê×ÁÌØ¼ÊؽÉÙÁËÝÁËÜ»ÇÖ¼ÇØ·Æ×¶ÄرÃÖ¬ÂÔ¬¿Õ¬¿Ô«ÀÔ¨¿Ó¤¼Ò£½Ò§¾Ó³ÂÕ·ÄÖ¾ÇØÄËÜÅÎÝÂÍÛÅÍÜÇÎÝÅÍÝÅÎÛÆÐÝÆÐÝÄÑÝÁÌݽÊÙ¾È׼ɨÂËÛÃÌØÂËØÀÊÛÃÌÜÁËÛ¾ÇÙ»ÆÔ»ÅÕ¶ÃÔ»ÅÔ»Ç×»ÆØºÆÖºÅÒ»ÅÓ¾ÇÓ¾ÆØ¾ÇÖÀÊ×ÃË×ÅÍÚÃÍÛÃÌÛÅÌÝÄÌÝÆÎÜÆÎÝÇÐÝÊÑÞËÒÝÊÓÝÊÓÞËÓßÌÕàÌÕÞÎÕÞÎÖÞÎÖáÎ×áÎ×àÌÔßËÑÞÉÒÝÇÓÝÉÓÞÍÖàÌÓÞÏÖàÌÖßÌÓÞÌÖàËÕàËÑÞÉÒÞÉÑÝÇÎÝÃËÙÀÉÙ½Ç×¼ÆÔ¸ÃÕ´ÁÔ²½Î²»Í¬·Êª·Ê£¶Ê©¶Ë¨·Í­»Ï°¼Ï¯ÀÒ´ÀÒµÁÒµÂÒ¶ÀÒ²¿Ñ°ÁÓ´ÁÒ³ÁÓ·ÃÓ³¾Ñ±ÀÑ®¼Ñ«¶Ëª·Ì¦¶Ì ·Ë¦¶Ê¢±É ±Ë ±ÊŸ°Ç¡³Ç¢±Ç›¬Æ›­Åœ®Æœ­Æ ¯È™­Çœ®É¡°É¦°È¢´È¦´Ìª·Êª¶Ë«¸Ë«¹Ìª¸Ë«¹Ë©¸Ê°½Í°¾Ì±»Ï­»Î®¹Í­¶Ì­¶Í®¹Ë­ºË«»Í¬·Ì®·Ê¯·Ê®¹Î¯»Î³¿Ñ±½Ñ±½Ñ±½Ï²Áѵ¾Î¹¿Ñ¶¾Ï¹ÀÓºÂѶÃÒ¶ÂÓ·ÁÓ»ÃÖ¼ÁÔ¹¿ÒºÆÖ¸ÁÔµ¿Ò´ÀзÀÒºÂÒ»ÂÓ½ÂÓ»ÁÓºÄÖ¶ÃÕ´ÀÓºÁиÃÓ¼ÃÓÀÅÓ¾Ç×¾È×¾ÈØ¼ÆÖ½ÇÖ½ÈÓÀÈÓ¾É×ÁÈØÂÌÚÆÎÛÇÏßËÔÞËÒÞÌÔÞÌÔÝÌÓÞÌÑÝËÓßÌÓÞÌÔÞËÒÞËÐÚÊÑÛÉÑÛÇÎÛÆÌÜÊÏÝÊÏÝÊÑÝÉÑÛÌÒÛËÑÝËÓÞËÐÝËÓÞÌÓßÍÓÞÌÓÝÊÏÔÀÇËÅÎÒËÔÙÏÖÜpŸ¾v¡¾o Áo Ãr ÁhÁožÁkžÀeŸ¿kžÂg™Ás¡ÅqŸÁr Â`žÀhÀožÁlŸÂoÁoÁiÀm¡ÃgžÃm Ác›ÁdžÁiž¿b›¾f›¿r¡Ãp ÅoŸÃlžÂlŸÁk¾p Äv£Ãy¥Åy¥Æy£Èr¥Çx¦Æq¢Æp¤Ão¤Ån¢Âs¢Åp¢Ãu¤Åt¤Ão¡Äm ÁqŸÂq¤ÃkŸÃr£Æj¢Æw¤Å{¢Ãn¡Âo Ãy ÂržÄx¢Ät£År¤Åu¤ÇkŸÃn Äp¡Äp Ão Âv£Æm¡Æo Ãm¡Âl¡Ãp¢Än¢Ãs¢Äv¡Æq Ät¡Ãw¤Æp¤Âo ÃqŸÂlŸÃn ÃižÄl¢Æq¤Ép¤Äp¢Äs¤Æq¡Åo¥Æm¡Äl Æm¤Äu¥Æo¤ÉkÆo¡Äk¢Æi Åo Æo¤Æn¥Äj£Æs¥Æm¡Âm¢Ãt£Åt¤Ãv¥Äq¥Æx¥Çl¢Äp¤Æw£Æw¤Äv¥Æm£Çp¦Çl¤Æp£Åq¤Çk Äl£Ås¤Çv¤Æv¥Èp¦Çr¤Ço¥Èw¤Çz¨Ér¥Çn¦Çu¤Çy¤Çg£Çp¥Ç{¨Éw¤Ém¥É{¦É}§Éy¦Çv¦Èu¥Èx§Æz¦Èr¦Ér¥Çx©Ç|¦È{¥Çu¦Éy§Éz¨É~©Ç~¨Èx¦Çw§Èy¨É|¦Ç~ªÊw¨ÈyªÈt§Èy©Éy§Èu§Ç{©È€§È}¦Çq§Çz§Èv©Èw§È|¥Ç}ªÉ{©Ç}ªÉªÈ|©Èz©É‚«Ê~ªÉz¦Êu¥Æ©Çz«É‚®Êx©Èw©Éq¥Ç©Éx©ÆyªÉ~ªÇu§È{«È‚¬Ëw©È‚«É‚ªÉ€ªÉ~ªÊ~«Ëu©Çw©È{©ÉyªÉƒ­Ì©Ë~¨Éz¨É|«ËƒªÉ‚¬Ì~ªÊ­Ê~¬Ë„®Ì{«É€¬Ë|ªÊyªÇz«Ê®ÊƒªÈ„ªÉ~«Êƒ¬Ì~­Ì¬Ë…­Ë€­Ê„­É…­Ëƒ­Ê~¬Ë€®Ë‚­Ê­Ì€«É~«Ê„¯Ë€¬Ê…¯Ë­ÊªÉªÉ€«É~¬ÉŒ±Ë~ªÉ€ªËxªË‚®Ë«Êƒ¬Ê€¬Ë…®Ë„­Ë‚¬Ë}ªË~¬Ë…«Ë«Ë…¬É†®Ëƒ­ËªÊ}¬Ë…­Ë­É„­Ê€¬Êƒ®Ë‚¯Ëƒ­Ì€­Ê€­Ë®Ì†®Ì…®Ê­Ê‚­Ë‚¯Ìƒ®Í…®Ë…®Ê‚­Ë†¯Ì®Ìƒ¯Ì„®Í¬Ë‚«ÊŒ®Ê¬Ìƒ®Ë®Ê…®Ë‚­Í¯Îˆ°ÎŒ±Ì‘¯ÎŒ°Íw«Ê­Ëƒ°Ì…®Ì‰±Í†¯Ì„°Ë‹±Ë‰±Ì‡±Ì´Í³Ì‹±ËŠ±Ë’²Î³Ï‘´Í—¶Ð•¶Ñ´Í’´Ï›¶Ñ¸Ñ¡¸Ðš¶Ð•µÐ“µÐœ¸Ñ©ÀÓµÆ×»ÇÚ¾ËÝÀËÙ¿ÌÛ¿ËØ¼ËÚ·ÅÖ¸Æ×·Æ×µÃÕ¶ÆÖ·ÆÕ½ÇظÉÛ¿ÉØ¿ËÚ½ËØÀËÙÁÍÙ¾ÌÛ½ËÙ¼ÉÚ·ÈÛµÆ×´Æ×¬ÀÔ¨ÁÕ£¼Ò¡ºÒ¤¼Ò¡¼ÓžºÓ£ºÑ±ÂÕ·Æ×¿ÉØÄËÝÅÎÞÆÏÞÇÑ߯ÎÛÄÍÝÅÎÜÂÍÝÃÎÝÂÍÝ½ÉØÀÇØÀËØÁÊØÁËØÀËØÃËÛÁËÜÀËÛ¾ÊØ¿ËØ¿ÊÙºÇֻŨ»Æ×ºÄÕ¸ÆÖ»È×¿ÉØ½ÉØ¿ÉÖÀÉ׿É×ÁËÚÃÌÜÅÎÚÆÏÜÅÎÜÆÎÞÃÍÜÇÎÛÈÏÝÈÑßÊÒÝÊÒÝËÕÜËÖÞËÕâÍ×àËÔßÎÔÞÍÔßÍØáÌØâÍØâÍÖâÎÖàÌÔàÌÓàÌÕàÌÔàËÖßÎØàËÖàÎÙàÍØâÎÕàÊÓÞËÔàËÔÞÇÒßÅÎÞÂÎÞÄÎÞÁËÛÀÇ׺Æ×µÄÖµÂÒ´ÁϬ½Í®ºÏ®¿Ñ®¼Ò¬½Ð¯Á϶ÂÒ´ÁÓ°¿Ñ°ÀÔ´ÁѰ½Ï°½Ð°¿Ò­½Ò®¼ÏµÀѯÀϰÀЭ½Ó«»Ð«·Ï¬¸Ì¢¶Ì¨´Ê¤¶Ëœ³Ç¤²È¡³Ë¤²Ë¢°Ê›­È®Çœ±Éž¯Ç®Ç¡¯É ²ÈŸ°É¦³Ê£µÊ¦¶Ì§µÊª·Í¬ºÍ®»Ì¯¼Î®ºÍ±¼Î±¼Ì¯»Î°½ÑªºÍ¬»Í¯»Î®»Ï®¸Í®¹Ð®¸Í®ºË±¼Ï­ºÏª¼Ï±¾Î²ÁÓ´¾Ð²¼Ñ´¾Ð±¿ÑµÂÕ·ÃкÃÒ»ÂÒ»ÃѶÄÔ»ÆÕºÆÖºÄÓ¶ÀÒ¸ÃÔ¹ÄÔ¹ÃÓºÂÔºÁÓ¸ÄÕ¶ÅÖµÂÕ¹ÃÔ¹ÄÓºÂÓºÄÓ»ÄÔºÄ׺ÅÕ»ÃÔ»ÅØ½ÆØ¿ÉÖ¿ÉØÁÉÚÁÈÖÂÆØ¿ÉÚÁÉÙÁËÛÃÌÚÇÎÛËÒÞËÕÞÍÓàÉÕâÊÓÞÌÒÞÍÒÞÍÕÞÌÔÞÊÓÞËÓÞËÓÞÆÐÞÇÐÜÇÎÛÉÓÝËÑÝÌÔÝÌÕßÌÓÜÍÕàÎÓÞËÓÞÌÕßÍÔßÌÓÞËÔÞÊÏÚÃÉÏÆÐÖÊÕØÍ×Üm¼rž¿j½rœÄnš¿kžÁq¡Ã]™¼mŸ¿oŸÁhœ¿qŸÁuœ¾g–½gÀj½fœ¾f›¿sžÀdœ½iÀk ÃiŸÁp ÄkœÁlŸÁjœÀkŸÀp ÃvÁyŸÂx Át¡Ãr¡Ãs£Äm Ãx£Åx§Æv£Ãx¢Är¢Åm¢År Äu£Ãn ÃjÄr¡Äx£Âr ÃsŸÃv ÂnŸÃs¡Ãr¡Â€¥Ãu¤Æq Ãt ÁoŸÁožÃy¢ÂtŸÄlÃw¢Âs Ây£Ãr¤ÆnžÃgÃqŸÃpžÄx¡Ãn ÃsŸÃj›ÂlœÂkžÃmžÂt¡Äu¢ÃoÃm ÅqŸÂjŸÂl¢Ãl Är¡ÂmŸÅešÁižÃq¤Æn¤ÆrŸÄ|¤Æv¢Äp¤ÄnŸÃp Ãs¡Äp¤Äj¡ÃnŸÄpŸÄk¢ÃhŸÁu£ÅmžÃq ÄoŸÂlŸÆp¤Æ{¤Åw§Æm£ÃnŸÃl ÃjŸÃu¡Ås£Ä|¥Æm Äh¡Áo Âr¡Åp¢Åw¢Äq¤Ål¡Ät£Ä}©Çp¤Æp¢Äy¥Çf Ån¡Æn£Çw§Ém¤Çr¤Æn¤Ç|¦Èm Äx¥Æq¤Ço¤Æv¥Èy¦É}§Æz©Çr¤Ãn¤Çy¥Æn¢Å~§È~§É{¥È~§Çv¦Çw¤Èu¤Æ{¦Ær¤Çu¤Èr¥È|§È~¨Æy¥Çv¤Åw¦Ço¤Æp¤Çx§Çt§Ç~©Èy§Åv¨Çr¤Æv§Èx¦Çr¥Ç|¦É}§Èy¦Çs¦Çv¨Æv¤Éz¦Çu¥Çu¥Ç~©É~©Êw¦Çx¦Æw¦Ç|¨Çs§Ç€ªÇ©ÊªÉ€ªÈ~©Æ{§Æ|§È{¨È©É€©È|©És¦Ç}©É}ªÊªÊ}¨Éx©É€ªÈ}¨È‚ªÉ€¬ËªÉ¬Ê©Çy©É~©É€ªÉx¨ÈªÈ}©É«Éy©É}©É¨Év¤Æ…ªÉxªÉˆ®Ë„¬Ë„­Ê„­Ë€ªÊ‚¨É{©É¬Ê‚«È«Ê‚¬Ë‚¬É}ªÈ€ªÈ{«É‚«Êƒ¬É|ªÉƒªÉ„­Ê~«Èw¨ÇzªÉªÉ¬É…®Ê„¬Ì©Ê…¯Ë‚¬É}¬È«Ëz©Éˆ­Ë~¬Éƒ«Éˆ¯Ê…«É†¬Êx¨Çy¨Æy©Ê~ªÊ†¬ÊªË«Ì…­Ç«ÈªÇw¨Ê€«Ë…®Ë‡®Ë­Ì‡®Ì…®Éƒ«É~«Ê…­Ê‡«Ê«ËªÉ…­Ê‰¯É¬ÉˆªË¬Ìƒ­Ê~¬Ì}ªÊ‹°Í†¯Í‰®Ì‹°Ì…®Ë­Ë‰°Ì†®Ì‡®Ë‡®Ëƒ®Ì…¬ÊŠ¬Ê‰­É‡®Ë‰°Ë…®Ë…¯É„®Ë‰¯Ë‹¯Ë…¯Ë†®Ë†¯Ëƒ¬Ë‰°Í‡¯Íˆ°Ì‹°Í‰±Ì°Ë‹¯Ì±Ì–µÎ–¶ÑšµÑ›¸Òœ·Ñ¢¸Ñ¬ÁÓ·Ç×»ÇÛ¼ÉÙ·Ç×»Ç×¹ÇÖ»ÈÖ¼ÉÙ½ÊØ¾ÇÚ½ÇØÁÉØ¿ÉØÀÉØ¿ËÙÁËØÁËØÁÌÛÁËÝÁÌÝÁËÚÂÌÛ½ËØ¹ÇÖµÆ×°ÃÖ§¼Ò¢·Ñœ·Ï˜³Î›´ÏŸ¶Ñ ¸Ñ¬¾Ò³ÄÕºÆØÂÇØÄËÛÆÎÝÆÐÞÄÏÛÄÍÝÃÎÝÅÎÛÃÎÝÃÌÛÁËØÃËØ¿ÊØ¾ÊØÀÊØ»ÉÙ½ÊÖÀÇØÁÇØÀËØÁËÜ¿ÈÚ»ÇÙ½ÆÕ»ÆÖ¼Æ×¾ÇÖ¿É×¾È×ÂÉÛÃËÚÁÊØÃÊØÂË×ÃÌÙÂÌÛÅÎÛÇÎÚÆÍÛÆÏÝÅÎÜÇÐÜÈÒÞÈÑÝÉÒÞÊÑÝÌÓÞÌÓßÍÓàÏÖàÎÕàÎÖßÌÓÝÎÖßÎÖáÐØâÏÖàÎ×àÍÖßÍ×àÌÖÞÉÔàÉÓÞÎÔàÌÑÞÌÕàÍÕÞÍÖàËÖàÊÓÞÉÒ߯ÏÞÂËØÁÌÙÆÌÜÅÍÛÄÎÜÄËÙÀÊØ¾Ê×¼ÆÖ¹ÃÓ·ÅѳÂÓ°¿Ò±¿Ô±ÀѵÀгÂÔ²ÁÓ²¿Ñ®¼Ò¯¼Ñ´ÁÓ²¿Ó«¹Ð«»Ð®»Í±ÁѰÀÓ³ÀÒ¶ÁÕ´ÁÒ¯¿Ð­»Ì©·Ê¥µË§µÉ¥¶Ì¢±Êª´Ê¤³Ë£±É ¬Ç›¬Ã›¬Èž¬Åœ®Æ¯É¢°Ê¦²É§µÉ¤µË©¶Ë«¸Ì«·Ì¯¸Í¯ºÍ®»Ï°½Ï®¾Î¯½Ò°¸Íª¸Î°¹Ë­¹Í¬ºË¯»Ì°¼Ï­¹Ìª¶Í«²Ë«´Ë®ºÎ®»Î°¼Ñ±¾Ò¶ÀÒµ¾Î²¾Ñ³ÀÒ¶ÃÓ¹ÂÒ¶ÂÓºÅÖºÄÖ¼ÆÖ´ÁÓ²ÁÓ·ÀдÀÒ¸ÂÒ¹ÁѸÀÒºÂÔ¸ÃÓ¹ÁÓ¶ÀÓºÂÓ¹ÃÔ¸ÃÔ¹ÄÓºÄÕ»ÄÔ¼ÄÔ¼ÁÔ»Å×½Æ×¿Æ×¿ÆÖ¼ÇÙÁÈÚÂÉÙ½ÇÖÀÉØÁÊÙÂÊÙÄÊÜÇÎÝÈÑÝÊÑÞËÑÝÉÎÝÉÎÜÉÏÛÌÓÝÈÐÝÊÑÝËÏÝÊÏÛÈÑÜÉÎÛÇÎÝËÓÞÊÑÞÌÑÝÎÔÞÍÕÞÎÕßÏÖÞÎÓÞÎÕÞÏÕÞÍÑÝÌÒÞËÎÕÂÉÌÆÐÓÊÔÙÍ×Ýnž½pžÁ`½k›½o½`¿j½k¿eÀiš¿lÀk›½^š½gš½f™¼o¾h›¿^–¿mžÁlŸÁe›¾fœ½hÁgœÁkÁmž¾rŸÀoœ¾q¢Âs¡Àq¡Áv¢Ãv¤Ä£Ås Á~£Ã{¡Ãv£Äw¢Âu¥Ãv£Äs¤Æo£Ãs¢Âu¢ÁqŸÃp¢ÀiŸÂs¡ÂoŸÂs ÃkŸÁk¿sœÁižÁmŸÁeÁo¿iŸÁkÀp¡Äv Åt¡Ál Áo¢Ãk ¾w Ãt¢Âq¡Âw¡ÂrŸÃy¢ÄmŸ¿p Âf›ÀnžÁižÂlžÂgœÂpŸÂqÂožÂmÀmž¿p¢Ái¡ÃgŸÄr¡ÃjŸÁi Ám¢ÂdÀo ÂjœÀbžÁr¡Ãr Äo¡ÃrŸÃl¢ÃjžÁh Ãi ÃkÃcžÃr¤Æo Âq¤ÂjŸÂl Ãg Ãk¢ÂhŸÃh Äp¤Ãp¥Ãl¡Âq£Ào¡Äm ÃrŸÄs£Ãr¤Åx¤Äq¡ÄjŸÃw§És¤Äh¡ÄlŸÃpÂy¡Äp£Ás¦Ão¤Ão£Äk¡Âu¤Ãs£Ãy¦Çr¤Ä|¥Çr¢Äq¢Æh¤Ãn£Ãu¤Èt¥Ær¤Æp¤Âw¦Äu¡Ål£Äs¥Æw¦Æv¦Æq¦Èr§Èq¤Äp¤Äp¢Åv¥Æs¤Åy¤Åq¦Å{§Æz¦Èv¦Åy¦Æo¤Å|¥Äy¦Æx¤Åq¥Çw¨Åy¦Æ|ªÇ~§Æs¦Æp¥Ã€©Æy¨Çq¥Çv¥Çs¦Ç~©Çv¤Æz¥Æw¦Åu¥Å{§Çv¦Æy¤Çx¨Æ€©Éy¦Çz¥Ä~§Ç|©È~ªÈ}¨Æ{¨Ç{©Ær¦Çz§ÆƒªÈy§Çw¥Çu¨Èw§ÈªÉ€«Çw¦Å¬Ç€©ÈªÉ‚¨Ê}¨Ê‚ªË€«Ë®ÉªÈ«Ê€¨È„«Ê«Éy¨ÈzªÇ~ªÈ}¨Å©Çx¦Ç„«É~©Ç}¦É€ªÉ~«É~«Éz¬É|©Èy©È~«É~ªÈ{¨É|ªÈ}©È}¨Æ|«É€ªÇ}ªÇªÈ‚ªÇ}ªÉ~ªÉ}ªÉ{©Æx¨Æ~©È{ªÈªÇ†«Ë‚¬Ê}ªÉªÇ‡¬É‚©Ç…®Ë„¬Êx©Ç®Êx«Ê}ªË|ªÉªÈ}ªÉ}©ÇxªÈªÉ~«È‡«Ç†ªÆ¬ÉªÇ‚¬Éx¨È©ÈªÊªÈ~«É~¬È‚¬É€¬Ê„¬È€©È€¬Ê~ªÉ€¬É‡­É€«Ëƒ¬Ë€«ÊªÉ‰¬Ë°Ê„°Ë¬Éˆ®Ê„­Ê‡­É‚¯Ì†«Ì†°Ëˆ®Ëƒ®Ìƒ®ËŒ¯Ç¯Ì…°É‰°Ì…®Ê¬Ç…°Ê‡®É†®Ë‡­Ë‚ªÉƒ¬Ê‰¬Ê†¯Ë…±Ë‡¯Êƒ¬Éˆ¯Ë‹°Ë†®Ë‰®Ë‹¯Ë‘³Ë—´Íš·ÍŸ»Ò¦¼Ð­ÂÖ´Æ×¸ÅØ¸ÇØ¶ÅÔ·ÇØ¸ÇÔ½ËÖ¿Ë×ÁÉÖÁÉÙÁËØÆÌÙÁÌØÁÌÙ¿ËÙÃÌÙÃÍÜÁÌÙÃËÜÃÌÙÅÎÛÂÍÛ¾ËÙ½ÉØ²ÄÖ±ÃÖ­ÀÓ¢¹Ò—¶Î•³ÍŠ±Ë–µÎ¤¹Ð®¾ÒµÅÕºÆØ¾È×ÄËÚÄÎÛÆÐÝÄÏÜÃÍÜÁËÜÈÐÝÆÎÜÂËØÃËØÂËØÀÊ×ÀÇØÁÊØ¾ËØÀÉ׽ɨÁÊØ¿Ë×ÀÉÕ¼ÇÓ»ÆÖ¾ÉÖ½ÆÖ¼Ç×½È×ÂÈÙÁÉØÁËØÃÌ×ÅÌØÃËØÂÌÚÁËÛÃÍÛÆÎÙÇÏÚÇÎÚÇÑÛÆÏÜÇÒÝÉÑÞÉÒÞËÓÝÊÒÝÌÓÞÍÓÞÎÖßÎÖàÌÕàÍÕàÍÔßÎÖàÌ×ÞÌ×ßÌÓÝÎÖßÍÖàÍÖáÎÖáÎÖßÍÖÝÎÖÞÌÒÞËÓÞËÓÝÊÓàÉÑßÉÒàÊÒÝÆÑÛÂÌÚÁËÙÂÊÚÁÍÙÂÌÛÃÍÚÂÍÛÄÎÙÃÍÙ¾ÈÕ»ÅÕºÅÕ²ÀÒ°¾Ð¶ÃÔµÂÓ´ÅÓ¶ÄÕ´ÁÔ³¿Ó±ÀѳÀб¿Ò®»Î¬½Ï²ÁϸÂÑ´ÂÑ·ÂѶÁÒ¶ÁϰÀЭ½Ï¨¹Î§¶Ê©¸Ë©µÉª¶É¨µÉ¢²È¢´É ¯Æ ±ÂŸ±ÆœªÆž¬Æ«Äž®Æ ±È¦´É©µÊ©¶Ê§¸Ì«¶É®µË­ºÌ®¸Ì®»Ï«¹Ï®»Í­ºÌ¯ºË¯ºÏ­»Í®»Í®»Î®¹Î«·Í«¸Ë¬¹Ë¯»Í°·Ë®»Í²½Ð´¼Ñ±»Ó±½Ò´ÀÑ´¿ÏµÂλ¾Ï»ÁÓ¼ÃÓºÄÓ¸ÄÓ¹ÃÓ¹ÃÓ¶Àѵ¿Ñ¶ÀζÀѺÀѸÁÔ¼ÁÓ»ÅÔ·ÄÒ½ÅмÁÒ·ÂÒ¹ÁѹÃÔºÃÒ¸ÃÓ½ÆÒ¾ÆÔÁÇÖÀÆÕ½ÇÓ¾ÈÓ½ÉÕÀÉØÃÈØÁÉÕÃËÙÆËØÄËØÃËÙÄÌÙÆÍÛÇÎÛÆÎÛÆÌØÇÎÝÊÑÛÉÎÜËÏÝÊÎÛÉÐÛÈÓÛÊÐÝËÒÝËÓÛÌÒÞÌÑÛÌÔÞÌÕÝÌÔÞÎÖÞÏÕßÏÔÞÏÕÝÏÕÞÐÕÝÊÐÓÂÈÍÆÏÕËÔÙÍ×Ûrœ¼o Àl›½jœ»lŸ¾l¿hšÁpÁj—Àl›¿l¾n ÂižÀjš½h™¿dš¾jœ½lœÂlÄožÁo¢Áp¢Ãuœ¿q Ãz¢ÄwŸÁrÂw¥Ä}¤Æt¤Ãr¢ÅxŸÂm¡Âw¡Ãx¢Ä€¦Çw¤Æu¤Æp¥Äs¤Äo¢ÆmŸÃpŸÄnŸÃsžÆt¢ÅižÃqŸÁx ÃpžÃrŸÃpŸÃnžÃmœÃmœÃv¡Ãt¤Är ÄqžÃp Ãp ÄkÂpŸÂtžÁsŸÃiÃmŸÂdœÁnÄo Ãv ÃsŸÁqžÀv¡ÅnÂkÂižÄe›ÁjœÁv¢ÅlÀnŸÃlŸÂjŸÂnžÃiÃnžÄlœÃkÃhœÂežÃl¡ÄjžÃn Ãr¢ÄnŸÃsžÂiœÁmŸÄgžÃ`¡Äl Æk Æi›Ár¢ÂožÂu¤Ãl¢ÃlžÁnŸÂmÃjŸÄkžÃhœÄo¢Äl£Än¢Åq£Ãp¢Ãn¤Æo Åv¤Åj¡Åt£Æo¡ÅlŸÄj¤Ãp¢Äk¡Æp¤Än¢Èr¢ÆlÅmŸÄr¡Ãr¢Än Ãl¤Än¤Är¥Äp¢Çq¡Äj Æp£Æu¤Çy¤Äq¤Æn¤Æk¡Æl¤É‚¤Çp¤Çs¤Èr¦Çk Æu¤Çt£Æv¥Æt¥Æu£Çw¥Èj¡Æx£Æl¤Æu¥Æs¤Çw¥Çm£Æi£Æt¤Æ{©É|¨Ç}¦Åx¤Äz¦Æv¦Èy¦Çp£Èt¤Ço¤Èw£Çy¨Èx¤Æv¤Åp£Æu¦Çx¦Çs¤Çz¥È}§Ç{¨È{§Çx¥Æy§Æ{§Ê¨Ë|©Êu¦Ç|¦Ç{¨Çw¦Æw§Æz¨É~©ÊªÊx¨Ê|§È|©ÈyªÈ}ªÈ‚ªÈ}©É|©É~©Ê…ªÊ§É€ªÉ|¤Ço§Æ¨Ç}ªË~ªË}§Éƒ©É}§Æ}«Év©É«Ê|©Éy¨É©Çy¨Ì~ªÊt¨ÇªÉ©È®ÉªÊ‚ªÉ‚ªË|§É|ªÇ«Æ~ªÉzªÉz¨É«È|©É{§É‡¬Ë¬Èƒ«É‚ªÈ~ªÉ€¨É€ªË¨Ê€©Èˆ­É­Ê€©È}ªÉ€¨Ç}§Ç‚ªÈy¥È‰¬Ë„«Ê…­Í|¨É‚¬È‚ªÈ~©Êx¦É€¨É†­Ë‰®ÉªÊƒ¬È«É¬È|©È}©Ê}ªË‚¬Ë…ªÈ­É„¬Ê®Ê‚¬ÊªÊ€¬Ì‡¬Ì~©Ê‰°Ë|ªÉ|ªÈ|«Ëƒ®Ëƒ«Ë­Í‰¯ÎŠ¯Ë®É®Ë€¯Ì„®Ë‰¬ËŠ¬ËªË„®Ì€­Ê€«Ë€«Ë€«É†ªÉªÊ|§Ê„¬Ì®Ì„±Ë‰°Ç†­Êƒ«Ë‡¬Ë‚«Ë‚«Ê…«Ë‰°Í…®Ë†°Ë‰­Ë‹­Êˆ¬Ìˆ¬È†¬ËŠ¯Î“²ÍŽ³Í•µÐ—¶Ï¡ºÑ¥¿Õ³ÆÖµÄÖ²ÃÕ±ÃÖ²ÄÓ¹È×½Ë×ÃÍÚÃÍÙÃËÛÄÌÜÃÍÞÀÌÛÁÍØÁËÜÁÌÜÃËÙÂÌÚÃÍÝÃÌÜÄÍÞÂÌÜ¿Ê׹ɨ»ÇØ´ÅØ°ÂÕ«¾ÔœµÏ–´Î’³Í–µÑ¨»Ò¯ÁÔ²ÃÖºÇÙ¼ÆÙ¾ÊÚÆÎÜÅÑÝÃÎÝÁÌÛÁËÜÅÍÝÅÍÝÃÍÛÅÍÜÄÌÙÁÌÛÁÉÙÁËÚÀËÝÀÊÙÀÈÛÁÈØÁÈÙ¿É×½ÊÖ»ÈØ½ÇÖ»ÆÛ»ÆØ¾ÉÚÃÊÙÃÎÛÅÎÛÆÎÝÄÎÛÃÍÛÂÍÜÆÌÝÇÎÝÆÏÞÉÑÞÇÎÜÇÏßÇÑßÉÏÝÉÐÞËÒÞËÓßËÓßÌÔÝËÓàÍÕàÎ×àÍÕßÏÖßÎÔàÎ×áÌÕâÍØàÌÕáÍÖÞÏØßÌØâÍÖâÍÖàÌÕßÎÔÞÊÒßÌÓÞÉÕàÉÑàÇÑàÇÑßÄÐÝÄÎÞÁËݾËܻɨ¸Ç×¹ÇØ´È×·ÇÛÀËÛÀËÜÂËÚÁÊØ½ÈÕ·ÃÔ·ÆÖ»ÇÖ¼Æ×½ÆØ»Æ×ºÃÖ²ÃÖ±Áѯ¿Ð°½Ï¯»Ñ®»Ñ±¾Ó¶ÃÖ³ÃÕ·ÄÔ·ÄÓ¶ÁÓ¹ÁÑ®»Î¬¼Î¬¸Ì­ºÑ¬¹Ë«ºÌ§µË¤´Ì£±É£³É¤³Ê¥®ÉŸ²Êœ®Çž°Ç ²Ê§¯É¥´ÊªµÌ«¶Íª¹Îª¸Ï®¹Í®»Î«¶Ê©·Ì®¹Î®¹Ì®ºÑ°»Ï®¼Ñ«ºÍ¬»Î­ºÏ¬¸Î­¶Ë­¹Ì®¸Ì¬¸Î®¸Ï±½Îµ½Ñ³½Ñ³½Î´¼ÑµÀѶÀÓºÃÓ³ÀÑ»ÂÑ·ÀÓ²ÂÔ´ÀѵÁÓ¶ÀѶ½Ô·¿Ó·ÁÖºÄÓºÂÓ»ÂÓ¸¿Ð»ÁÓ½ÆÓ»ÆÔ¼Æ×¼ÆØ¼ÄÓ»ÃÖ»ÂÔ½Æ×½ÅÔ¼Ä׿ÄÖÁÈØÀÈ׿ÉÙ¿ÇØÁÇØÂÇØÁÉØÃËÛÆÌÜÄËÛÅÍÛÃÍÜÄÌÚÆËÚÆÊÜÆËÜÅÌÜÊÏÝÉÑÝÌÒÝÉÏÞÊÑÜËÏÝËÐÝÌÐÞÌÑÝÍÓßÌÔßÍÕÞÍÓÝÎÕàÎ×àÑÕÞÏÖßÎÖàÐÖàÐÖÞÊÐ×ÄÊÎÈÎÕËÕÚÎ×Üh¼gœ»d¿kš½hŸ¾gž½q›Àkœ¾mžÁf›¿pŸÁ`šÁs¡¿mžÀmœ¿j¼r¡Àq¡ÂsŸÄu¢Âv¡Á{¤Áw¥Äo¡Åy¥Ã}¤Ä|¦Æx¥Ã{¥Æx¤Ãv¤Å{¥Ãy¤Äw¥Æx¤Æu¢Åy£Äs¢Ãr¤Ãv¥Ãx¤Äo¡Ãr¢Åm¡Ãu¢Än ÃhÃp£ÃfŸÂižÁo¢Äm Âr¢Äp¡ÃgžÂm Át¡Ãt¢ÃjžÃj Ãq ÂiŸÁl ÃlžÂrŸÂlÁhžÂlœÂt Ât ÁlžÁv ÁxŸÀrŸÂtŸÃ|ŸÄr¡ÃmŸÀaœ¾cÁfžÂjžÂkžÁkžÁd¿fÀiŸÀkÁhžÁj¤Ãp¡ÄiŸÅpŸÆi¡Ãs ÁfÁf ÃmŸÃlžÃz£Ál Än¤Æn¢Ãp£Ây¤Ål¢ÅmŸÅm Ál¾r£Än¡ÄjŸÂp Âs¢ÃlŸÂm£Äl Ãq¡Ão£Ån£Åj¡¿q¤Åg¡Ãl¤Äh¡Âm Âz¦Æm¢Ãt¤Ãk¤Âm£Äj£Ân£Ãi¤Än£Ãq¤Æl£Çm¤Æx¦Æp¢Äq¢Ãm¡Ãm¢Åp£Ãp¡Åq£Åo¢Ãz§Æp Äq¦Çy¥Ço¤Ås¤Ær¤Är¥Çp¥Ão£Áo¥Ãv¥Æv¥Æl¤Çt¤Çz¨Èz§Æu§Ær¤Åu¦Æw¨Çy¥Æs¥Çv¦Èt¥Çw¤Äv¥Åz¨Çs¥Çx¦Çr¨È|¦Èv¤Çw§Çv¨Æu¨ÇªÈ{§Ä}¨Çv§È¨ÉzªÈw§Çx¨Ç~ªÆu¦Æ{¨Év¤Æ|¥Æ{¦Çu§Ç{¬Ét©Çz¨ÆªÈ«Èx¨Èq¤Æt§ÇxªÇ©Æ{ªÇ~©È{©È§Æy§Çz¨Æ‚ªÊ‡«Ê}©Èv§È{¨È|ªÉ€¨Ç{ªÉ{©É~ªÉªÉ€®Ë®Ë†®Ìz§È‚«É…®È„¬ÉªÊ„­Éu©Çy©È|©É€©Éx¨Ë~ªË{ªËw¨È¬É…¯Ê„­Ê~ªÈ«Èz©È~ªÉ|ªÊy«É€­È}ªÇ~ªÈ~ªÇ}©È~©É«É‚­Ê€¬É‚ªÈ«É€©È|§Æ‚¬Ë~¨É«Ë~¬Ë‚®Ë°È{®ÉªÊv§É€ªÈªÇ|«ÉzªÉ‰¬É~ªÇ†«Ç…¬ÉzªÉ~¨È}«Ë¬Ë†­Ê~¬Ëƒ®Ë~ªÉ‚­Ê†¯Ë¬Éƒ¬É…¯Ë‚¯Ë‚­Ê‚­Ê~«È€¬Ë‚­Ë„®Ë­ÊŠ­É€«Ë°Ë~¬Ë€®ÌЬÊ|ªË„¬Ë‡°Ê…¬É†°Ë®Ê«É¬É‚¬Ë†®É~®É…®Ë‚®Ê…¯Êˆ­Ê‚«Ê¬Ëƒ«È€¬É„®Ê‡®Êƒ°Ë†®Ë‡®É€®ÊŠ°Ëƒ­È‡¬Ê²Í‘³Í’³Ë‘³Ì³Îš·Ð¤½ÔªÀÖ±ÂÕª¿Ó£»ÒªÂÔ¶ÇÔ¾ÍÛÃÎÙÃÎÝÂÎÝÄÌÛÂÍÚÄÎÚÆÐÚÃÎÜÄÍÝÁÌÚÁÌÜÃÍÚÃÍÙÁÌܽÉÚ·ÆØ¶ÉÖ±ÆÖ®ÃÖ°ÃÖ¨¿Ó ºÏ™·Í’µÍŸºÑ­ÁÔ®ÁÓ²ÅÕµÅÕµÅÕºÉÙÁËÝÄÎÝÂÎÝÂÌÙÁÌÚÄÎÜÄÏÜÄÐÛÄÐÝÇÏÛÅÎÝÃÌÜÄÌÛÄÍÛÄÎÙÀÌÛÀÌÛ¾Ë×¾ËØÀËÚÁÊØ¾Ê×¿ÊØ¼ÉÖ¿ÉØÂÍÜÃÎÝÆÍÜÉÐÞÉÒÞÆÑÜÆÏÜÆÑÞÆÑÝÇÑÝÈÑÞÇÒÝÉÓÞÊÑÞÊÒÝÉÒÞÊÕàËÔàËÕßÌÖÞÏÖâÏÖâÏØàÎÙàÏÙàÍ×ßÎ×áÎ×âÎ×àÌÖßÌÖÞÌÖàÌ×àÊÖàÉÕÞÊÔßÉÔßÉÒÝÈÒÝÇÑÜÃÏÞ½ÍÚÁÎܻɨ»ÉÚ»ÊÚ¶ÆÖ²Æ×©ÀÓ¥¼Ñ¦¾Ò¢¼Ò¦¿ÔªÂÖ·ÉØ½ËÚ»ËÚ»ÈØ¼ÈÖÁÊØÁÊØ¾ÊÙ½È׺ÆÖ¹ÅÕ³ÂÔ°ÁÒ±ÁбÁÏ«¼Ï¬¼Ï¬¿Ñ´¿Ó¶ÁÒ¶ÂÔ·ÄÒ³ÃÑ®¾Ñ±ÀЮ½Ñ¬¾Ñª»Í°¼Ð­»Î§·Ë©·É¦¶Ê§´É¢°Ë¥¶Ë¤±È¤³É£´Ê£´Ê¨²Ê©¶Ë¨¸Í«¹Î®¹Î°»Í­ºË®ºÍ«¼Î­»Ð°ºÏ­ºÏ®½Ï®¼Ï®¼Î­ºÍ®¼Ë¯¸Ì«ºÎ¬»Îª·Î®·Ì®»Î±¼Î´¿Ð¶ÁзÁжÃÕºÃÓ¹ÃÓ¼ÆÖ»ÆÔ¶ÁÕ¸ÃÒ¶Äѵ¾Î¶¾Ð´¾Ñ²¿Ò·ÀÒ¼ÂÕÀÉØ½ÇÖÁÇÓ¾ÅÖ¿ÈÖÀÈÕ¼ÆÕ·ÅÖ»ÅÖ¼ÃÒ¼ÅÖºÅÒ¼ÆÔ½ÅÕ¼ÅÖ½ÇÖ½ÈØ¾É×ÁÊØ¿ÉÖÁÉÕÃËÖÃÉÚÄÌØÄËÛÄÌÜÆÏÝÇÍÛÈÏÚÆÎÜÆÌÜÅÌÛÇÍÛÉÏÝÉÑÛÊÓÞÆÐÝÉÒÝÉÒÜËÒÝÌÒÜËÓÝËÓÞÎÕßÎÕÞÍÖÞÐ×ÞÎØàÐ×áÐ×áÑ×àÏÖÞÏÖàÊÐÑÃÌÎÇÒÖËÖÛÏ×Ýmºnž¼kž½rž½lž½f›½jœÀu¡Álœ½pœ½nž½r ¾v¥¿u£Ám¾r¡Àu¤Áx¢¾y£¾}¥¿}¤Ày¥À}¤Ãx¦Ä€§Çw¤Ãz£Â}¦Åy¤Ã~§Åt£Åx¡Ä{£Æy¤ÅrŸÁl¢Âu£Ás¤Âq¡Ãw¢Áo¡Áq¡Ãu¡ÁkŸÁj ÀnžÀs¢Âlž½j ÁjžÃjžÃnžÁi¿kœÀp Ãw£Âl Álœ¿kŸ½lŸÁjœ¿k¡¿l ÁjœÁf›¿nŸÀjŸ¿k¡Áu Áx£Ãt¢Áu Às¡ÁpŸÀpÀkœÀmžÁf›ÁežÀeÀeœÁmŸÀq£Âg¾iŸÀn Ál¡ÂjŸÂeŸÁdžÀgÀjÂp¡ÂlŸÃq›ÂfÁ]™¿dœ¿kžÂjžÁo£Áo¤Ãt¤Âr¤Ãs¤ÁkŸÁpŸÃu¤Ãn¡ÁdœÁk¡ÃižÀi¢Áh£Áo¡Âs¤ÂfœÂgšÂlÁqÁo¢ÂfžÃgŸÂi ÂiŸÂfžÀm ÁhžÁm Ás¤Äm£Âh£Ãm¤Æl¢Çj¡ÄlŸÃn¤Ån¢Ãr¤Âp¤Ãm£Ág¡Ãj¢Ãp¤Æt¤Âv£Â|¤Ãn¤Æi£Äg£Æk¡Ãs¤Ãr¤Ás¤Äp¤Çj£Âp¦Ål¤Ãp¥Çl¢Ãm¤Äm¤Äs¦Çx§Åy©Çx¨Æv¤Æn£Æl¢Äq¤Æs¤Ãx¦Ãu§Çq¥Æo¤Åw¤Áq¤Ær¤Æo¥Ãu¥Åv§Äx¤Äu¤Ãr¤Ã}¦Æ¨Çj¤Ä{©Éy©Ço¥Å}©Çx§Ç|¥Çv¥Çr§Æv¦Äv¥Åy§Åx¨Äw¨Ç{©Æw¦È{©Èr¨Æv¦Å©Æz¨Ç~©Æw¥Æx©Çz§Çy¦Æ{¨Çx¨ÆxªÇz©Æz¥Ç‚ªÇ‚ªÉy©É~ªÉo¦Æ‚©È~¨Åx©Çƒ­É‡±Ì~®Ìz§Ç~©Ço¦Å€ªÆzªÇw¨Ä}©Çx¨Éx¨Ç}ªÈ~¨Ç{©Èy©Çr¦Å}ªÇ|«È‚¬ÉªÊz¨Çr§Åz©Æw¨Å©ÇªÈvªÈ|¨Çw©ÈƒªÇ{©ÆªÇx©Æ~¨Æ~ªÇyªÉ¨Æ€¨Æ©Ç…ªÇ‚«Æ­É€ªÉ~ªÉ…­É{ªÉªÉ~ªÈv§Æ}ªÆ€ªÉ…¬È‚®È«ÇªÇuªÇªÈ¬È‚®Ê­Ç~©Ç€«Ê…¬ÉªÉ}ªÇzªÉ‚­ÉzªÈ~ªÉ{ªÈ­Ê|¬ÈƒªÈ|ªÈƒ­Ç‚¬Ê‰®É„­É†®É€«È„®Ê€®Éƒ«Ë}ªÈ‡¬Ê„¬È~¬É€¬É†®Éƒ«É«È~©Ç«È‚¬É‚¬É«É€¬Ç~¬É‚®Ì­Éƒ­È­Çƒ¬Èˆ¯È…°Éƒ®É€®É„®É†¬É‚ªÈŒ®È‘²Ë’²Ì—¶Í²Ì”¶Ð›µÐ“´Í—µÐ–¶Î–µÎ˜¸Í±ÅÒºË×ÃÎÚÃÌÛÂÍÛÃËÓÂÌÙÂÌØÄÏÚÃÎÚÃÎÝÃÌØÁÌØ¾ËØ¾ËØ¹ÉضÆÔ¶ÆÖ®ÃÕ©ÂÔ¤¼Ñ£¼ÏŸ¹Ñ—´ÎšµÍŸ¸Ð¦¼Ï­ÀѰÁÓ´ÅÖ±ÃÓ°ÂÕ·ÆØ½ÊÚ¿ËÙ¿ÉØ¿ËÙ¿ÊÚÃÍÜÆÎÛÄÎÚÄÐÛÅÎÛÄÍÝÃÌØÆÐÚÅÑÜÆÏÜÄÍÙÃÌÜÃÎÛÀËØÀÌØÃËÚÃÍÝÁÉÙÀÊØÃËØÃÍÛÃÎÛÄÏÚÇÓÝÉÓÝËÓÝÊÓÜÈÓÞÇÑÝÈÒÞÈÑÝÇÒÝÈÑÝÊÓÞÉÑÝÉÑÜËÒÝËÓÞËÓßÍÔÞÌÔÞÍÕÞÏØàÎØÞÏØàÎØàÎØßÎÙâÌØÞÌÔÝÌÓÞÈÓÞÉÔÝÉÔÞÇÓÞÈÓÝÃÑܽÌ×¶ÆØ«ÀÕ©ÁÔ¨ÀÒ©ÁÒ¦ÁÔ®ÃÕ°ÃÖ¥¼Ï›¹Ð•µÎ–±Ë—³Ê”µÌ‘´Ì‘³Ì¤¹Ï²ÃÕ°ÅÕ³ÃÓ¾ÊÙ¾ÌÙ¼ËØ¹ÈعÈÖ½Ç×½È×¹ÄÔ¸ÅÓ·ÃÓµÁÏ«¼Ñª»Í®ºÌ¨·Ì®»Ë­ÁеÃÒ¶ÃÓ±½Î­¼Ï©ºÎ¬¼Ë±½Ì®¿Ìª½Í¦¸Ì¨¶Ë£¶Ë¡¶Ë©¶Ë¦·Ê¦¶È¥´Ç§µË¥¶É©µÊª·Ë©µÉ¬¸Ì®»Ì­ºË­»Ì«·Ë¬»Ì¯½Î±½Ð³¾Ð±½Ï®»Î¬·Ê¬·Ì¬»Ì±ºÌ®»Î¯½Ï¯¼Î®»Ë®»Í¯½Î´½Î·¿Ñ¹ÄÓ¾ÇÓ»ÆÒ»ÄÔ»ÇÕºÄÑ»ÂÒ·ÁÓ¼ÁÒ½ÆÑºÆÖ¸ÁÒ³ÀÕ»ÁÏ¿ÄÔÂÈ×ÅÊÕÄËÙÅÊÙÃËØÀÉ×¼ÆÔ»ÃѺÃÓ¼ÃÓ½ÅÓ½ÆÕ¼Ç׺Ç×¼ÇÖÀÈÖ½ÇÔ¿ÉÖÀÉØÁËÔÁÊ×ÁÊÖÃÊØÅÍÛÆÌÙÇÎÛÆÐÛÈÏÜÇÎÚÇÏÙÇÎÝÅËÚÇÌØÇÌÙÈÑÛÉÑÛÊÒÝÊÓÝÇÑÝÊÓÜËÑÛÌÓÛËÓÜÌÓÜÍÔÝÐÕÞÏÖáÐØáÐ×ßÏ×ßÏ×ÝÎÕÝÎÖÛÉÑÓÁËÏÇÒÖÌÖÛÎØÜsœ»išºlž½mœ¼oœ¼sž½s¡Ár ÀpœÁržÀpž¿s¿vŸ¿užÁr ¾~¤Âu£Ã~¥Æ€¤Â€¥Ä…¦Åz¤Á{¤Ã„¨Ä¥Å}§Æ{¢Ä}¤Äx¢Ãu¢Ãs¡Ãy¡Åw£Ãt¡Ãx¡Ãw ÁtÂr¡ÂqžÀqŸÁr¢¿r¢ÅoŸÃožÃe™Áj™½uœ¿mž¾rž½n¾nŸÁpŸÁfšÃm˜¾nœÁnž¿eš½r¿jœÁe›Áj›¿rœÁm›¿jš¾kŸ¾pžÀsŸÁlœÁtžÁnžÂi™Àvœ¾mœÀpžÂtŸÀl›Àlœ¿fœ¿dœÁišÀrÁkœÁoœÀjœÁu Âr Át£Âk¡ÄnžÂišÀiÀr¡ÅoÂl›¿pžÂlÁjÀgœÁlÁoÁs¡Ä{¤Ãp¡ÃiÁoŸÅo£ÃmÁhžÁgœÁnœ¾p¾o›¿nŸÁgÂkžÂg›ÀmžÂoÁx¢ÃgŸÁpÁbœÀr¡ÃkŸÄhÂkžÂjŸÂiœÁl Âj£Áp¡Âm¡ÃhŸÅmÂtžÂq£ÅcŸÁn ÃiŸÄl¤Æd ÅgžÃx¢Ãx¢ÅpÁu¡Ã|¤Çu¤Äw¤Ãk¢Âv£Æk¡Âq¤Æl¤Ãr£Çq£Æv¢Äp¥År¢Åm£Äo£Æu¥Äz¤Äq£Å§Æu¦Åw¥Æ~¢Æu¡Ãx¤Æy¥Çx£Ä}¥Æ€¨Åy¥Åv£Äp¡Çj Âv¤Æz¤Æo¥Æy¦Æ|¥Æw¤Æs¥Åz¦Æu¤Ås¥Ç{§Év¤Ç}£Ä{¤Åv¤Ã§Çw¥Ç}¦Ç}§Çz¨Æz¥Ä|©Åw©È~ªÇz¦Æ{¦Æ¦Æx¥Æu£Æ|¥Ç§Åz¥Æw¤Çy§Ç|¦Æv¥Ä|©ÇªÉ}¦Ç§Æ{¥Æs§Çv¨Éy¦È}ªÈy§Æu¥Å}ªÉ©È}ªÇ}¤Æ‚¦Çz¤Ä€©ÇªÇ}§Æz§Æu§Æw¨È~¨Çz§Ç}ªÉ|ªÇ~¨È©Ç|¨È|©ÇªÉz§Ç}§Çv§Äz©Ç©Æ~¨Æƒ¨Å©Æ€¨Çx¨Éy¥Æ|ªÈªÈ€¨Æ}ªÇ€ªÉz§Ç~©Èv§È}¨È~«É}©È€ªÇ©Çx¨ÆzªÉ€ªÉ{¨È¨Çz¨Æ}©Æ„ªÊƒªÉ†ªÇ…¬ÉªÉ¨È€ªÉ}©É©È©È‚ªÊ€©Éƒ­É}ªÉ}¦Ç©Ç…«Ê©Ç‚ªÇy§È~ªÉˆ­Ëy¨Ç‚©Ç‚¨È…«ÇªÈ„¬Ê†®É„¬É„¬Êƒ¬Ë©É|«É€¬ÉªÉªÉ‚ªÉ„ªÉ…¬ÉªÉ…«ÊxªÇƒ«É}ªÇ†­É€©Ç…«ÉªÈ„­Ê†¬È«É€ªÊ«É‚ªÇ‚­É„¬É…®Ê„­Ë®Ë‹®Ê’²Í”³ËŽ±Ë‰±Ì‘³ÌŽ±Ì°Ì”±Ì–±Ë¢¹Î¹ÆÒÁÌØÀÌÚÁÌØ¼ÈÚÀÉØÀËØÄÌØÃÎØÃÍÛÆÌÚÂËØ¿ËÛ½ÉÙ¼ÅÖ»ÇÔ³ÁÓ¬ÁÓ¦¼Ñ ¶Ñ–´Ï”¶Ð˜´Í˜²Ë—´Í£¸Ð£¼Ñ­ÁÔµÃÕ²Ã×´ÆØ·ÅØ»ÅÖ¾ÈÚÁËÚÃËØ¿ÊØÁÉØ½ËØÀÎÝÃÍÛÃÌÙÂËØÂËÛÂËÜÆÎÞÆÎÝÆÎÞÅÍÞÅÎÛÅÎÛÅÍÜÄÎÛÄÍÛÂÌÛ¿ÊØÁËÛÁËÜÄÌÙÆÎÜÉÏÝÈÑÝÌÓÞÎÕÝÍÕßËÔÝÊÒÝÉÑÞÊÑÜËÓÝÌÑÝËÓÝÍÒÝËÒÞÊÔÞÌÓßËÓÞÌÒÞÎÔßÐÔßÎÖßÎ×ßÍØàÍ×âÐÖàÌÓàÌÓßÍÓÝÌÒßËÒÝÌÓÝËÓÞÆÑÝÃÍÝÁÌÛ¶Å× ¶Ïš²Ë™²Î±Ì‘µÑ—±Î˜µÏ’±Ë˜´Ì“±Ì’³Ë’±Ë•´ÌŽ±Ë‰®Êˆ®Ê­Ë›µÏœºÐž¸Ï¯ÂÕ¯Æ×§ÁÓª¼Ô´ÂÕ»ÉÙ½ÈÚ½ÈØ»Æ×»ÇÕµÆÓ´ÀÏ®»Ï°¼Í°½Î­¹Ë¯»Î¯¼Ð³½Ò®½Í±»Ð±»Ï®ºÎ°¼Ð°¿Ð±»Ë«¶Ì®¹Ëª·Ì«¼Îª¹Î¬¹Ìª´Ë§´Ê¦´Ê§¸Ë§·Ì§¶Ë«¸Ì¬¹Íª¶Í¯·Ì®ºÍ°¼Î²½Ð°»Í±½Ñ°½Ó±¼Ñ°¼Î®»Í®¸Ì®ºÍ²ºÎ°»Ì¯ºÌ¬¸Ì°»Ì°»Î·»Î±»Í¶ÁѹÃÓ¿ÇØ½ÇÖ½ÄÒ»ÆÓ»ÃÕÁÆÒ¾ÆÕÁÇÖ¿ÆÕ¿ÆÒ½ÄÓ½ÅÔ¿ÇÔÂÇÖÅÊØÆÌÙÇÍÛÅËÙÂÊÚ½ÆØ¾ÅÖ¼ÄÒ»ÃÓ¼ÅÒ¼ÄÒ¿ÄÓ½ÆÔ¿ÇÕ¿ÈØÀÉ×¾ÈÖÁÈÖÁÉØÃÈÕÅÌØÆËØÇÌÛÆÎÜÇÎÝÆÎÛÇÎÛÇÎÚÈÎØÇÍÚÅÎÚÈÌÛÈÌÝÉÏÛÊÐÜËÑÛËÑÛËÑÝÌÑÜÌÑÛÉÑÝÌÓÝÌÓÞÍÓÝÍÓÞÏÓÜÏÖÞÏÖßÏÖÞÐÖàÑÖàÐÖÝÐÖÝÌÐÏÃÉÍÉÐÔÌÓÚÍ×Þož½oŸ½n ½m¾l›»k¿kŸ¾jžÀuž¿o¡Áv¢Á€¤Â¤Äz¢Äy¤Áu¤Å…¥Ã§Åo¢Ãt¢Â…¥Æw£Ã}§Ãz¤Æz£Å„¤Ã|¥Äy¦Åu Ãn£Ãnž¿w¡Ár¡Ât Áv¢Ã|¤ÃnžÁnŸÂlŸÁgÁožÁk¿gÁjÁfœÃo¡Æl¢ÃhÀr¢Árž¿m¿q›Àjš½e¿cÀ`žÁdÁpŸÁjœÂo Áq›Áh›¾i Âr¡Áiœ¿i›½jÁmÁi™Àn›ÀsŸÂoŸÃnÂl Âg™¿d—½lžÁmœÀpŸÁešÀj›ÂhÃk›¾kš¿bÀe¿nŸÁjŸÅj ÃpžÃdœÁr ÀhŸÁlŸÁk ÃkÀm Ágœ¾n ÃkÁr¤Ãr£ÃnÁožÃfžÄj£Äl Åk Âhœ¾m ÁgÂlÁn¡Ár¢Âj›ÁfžÂlÂožÁo¡ÂkÁgŸÁašÀq¡ÃjŸÃcÃfœÃežÁjŸÂj¡ÄmŸÁj¢Âh›Ào¢ÄgœÃhŸÁq£Æp¡Ál¤Ãp¡Âj¢Ãj¢ÁdÂgžÅx¥Æk¢Ãi ÃiÂk¡Áo£Æj¢Çl¢ÆjŸÅpžÁl Ãk¢Äv¤Äo¤Ãp¤Ão¤ÆfŸÂq¦Çn¢Äl¡Ãu¤Æl£Ãk¢Âj£Æp¥Æw¤Æl¡Âk¡Ás¢Ãh¡Är¤Ãw¦Æv¤Ãg¥Æi¡Æx¥Èr¤Æk¤Æm¦Äg Ål¥Å}©Çu¦Çn£Ço¤Âw§Çv¤Æx¦Çv§Æ~¦Æy¥Çu¨Çw¤Çx¦Ær¦Ãr§Æy¨Æp§Æz§Çs¦Æx§Ço¤Æq¥Æj¡Äv¤Çn£Æv§Ç©Ær¦Æy§Èw¦Çv¦Æp§Æq¥Çv¥Äy¦Æ{§Çx¦Ä~©Åo¤Æw¤Æ{¤Æv¤Ãx¤Æy©Æv¦Æv¤Ãs¢Æv¥Çx¦Ç¨Çz¨Çx§Æv¦Çs¦Æy©Çw¦Èo¤Æu¥Æw§Çz¨Åw¨Çt¦Å{¨ÆƒªÉ|¨Éy¨Æ}«Èy§Æx¤Æz¦Ç}©Ç|«È{§Æ{©Éz¨Ç€ªÈ{ªÇy«Èv©Èv¨Çy¦Ç{¨É}§Ç~ªÇz¥Çx§Ç~©Æ…«È{ªÇr¦Ç‚©Ç€«ÆªÉw¨Çy©É~ªÉ€ªÈzªÇ|ªÇ€§Ç}©Éz¨È{¨É}©È‚«É{©ÆªÉ€ªÇªÇ„ªÈ©È€©É€ªÇ¬Ç~ªÊy©Çv©Ç‚¬Ê®Ê„ªÉ€ªÉxªÉªÈ…¯Ê¬Ë«Ìv¤Ç€ªÉ‚ªÉzªÉ„­É}ªÉ}¨Ç©ÆªÉƒ¬É‚ªÉ}ªÇ}©ÈyªÇ«É€ªÉzªÈ®É€ªÊ„ªÊ}ªÈ~«ÈªÈ…«ÊªÈ©Ç„­Éƒ®Ê†ªÉŠ°Ê‰¯Ê„®Ê†®Ê‡¯Ëƒ®Ë‹°Ë‰°Ë—¶Ë³ÅÔ»ËØ»ËÚ¼ÉØ·Æ×¸ÈØ½ÊØÁËØÃÏØÀÌÙÃÌØÂÌÖ¿ËÙ¸É׸Æ×°ÄÖ©ÀÔ–´Î—¶ÍŽ°ËŽ°ËŒ°Ì‹±Íˆ°Ì‰±Ì‘²Ëœ·Ð¥¾Ó®ÁÔ´ÁÕ´ÃÖ¶Æ×·ÇÙ¿ÊÚ¿ËÛÀÌØ¿Ë×»É×¼ÇÖ¼Ç×¼É׺ÊÚ»ÉÖ»ÇÖ¿ÊØÃËÚÄÌÛÅÍÙÄÎÝÃÎÝÅÎÞÅÍÜÃÌØÃÍÛÂÌÛ¿ËØÀÌÝÃÌÚÃÎÝÅÏÜÇÑÜÇÑÞÌÓÝÌÔÞÌÖÞÌÔßËÔÞÉÓÞÉÒÝÊÒÞËÓÞËÓÞËÒÞËÓÝÌÒÞËÔàÊÓÞÊÔÝËÔßÌÕàÍÖÞÌÖÞÎÖÞÌÖÞÌÕàËÕáËÕàËÖÞËÓÞÆÏÝÃÍÙÂÍÚÂÎÛºË򱮯–·Ñ„®Ê†®É…¬É‹°Ë–³Î’±ËŠ±Ë’°Ì’±Ë°Ê±ÌŽ®ËŽ±Ë•²Ëˆ±ËŒ±Ë®Ëˆ¬ÉŒ¯ËŒ±Ë•µËºÑŸ»ÑžºÐ§¾Ó®ÁÕ¶Æ×´ÄÕ·ÇÖ¼ÇÖ¹Ç×»ÆÔ¶ÃÓ¬¿Ð¯»Ô±¼Î®»Ï­¼Í¬¿Ð«»Î«»Ñ¬½Î®¼Ñ¯¼Ì®¿Ë¯»Í­»Ï­¹Ì­»Ì­¸Ì®½Ðª»Îª¸Ë¨¸Ì¨¸Í§µË¨·Ë¨¶Í¨¶Ëª·Ìª·Ì®ºÌ¯»Ì¯»Ð±¾Î¯¼Î±¿Ð²ÀÒ³Áе¾Ñ±¼Ë®»Ìª¸Î®¼Î°¾Î°»Î¯»Î­¹Î­»Ï°¼Î¸¿Î¶ÁдÁѸÅÕ¶ÀѶÃÒ¼ÃÔ»ÅÖ¾ÆÕ¾ÆÖ½ÇÖÀÇÖÀÉ׿ÈÖ¿ÉØÀÉÚÃËÙÆËÛÄÌÝÆÍÚÃÌÛÃË×ÁÈÖ»ÃÕ¶ÄÔ»ÄÓ»ÁÒ¼ÆÕ¼ÅÖ¾È׿È×ÀÉØ¿ÈÖÀÉ×ÁÇÓÀËÖÁÉÕÃÌׯÌÚÆÎÜÉÐÝÆÍÚÆÎÜÆÎÝÇÎÝÇÑÚÇÏÛÇÍÛÉÍÛÉÍÜÅÍÛÇÎÜÉÐÜÇÏÝÈÑÜÉÐÛËÒÝËÒÝËÓÛÌÒÞÌÕÝÌÔÝÌÓÝËÓÞÎÖßÐÖßÐ×àÐ×ßÏÖÞÎÕÝÇÏÓÀÉÌÇÏÕÌÔÚÎ×Ün¾fœ½oŸÀr¡Áo Àt¡Áu£Á{£Âz§Æƒ¥Æ¤Æ€¤Æz¢Áv¤Äp¡Áx¤Ãy£À|¥Å}¤Ãq£Å€¥Ä†¦Åy£Å~¦Æv¤Äw¤Ãw£Ã}¥Åx¢Ål¡ÂmŸÁiŸÄl ÀtŸ¾sž¿nžÁqŸÀjžÂlžÁgœÁh¿k›¿e›¿lžÁmœÀlžÂt¢Âaš¾gÁk›Ák›ÀhÁj›Àg›ÁfœÂašÁh›¿dœ¿lš¾`›¾n›¿r›ÁlÀtžÀlÁo¾iÁoŸÂj›Ápœ¿rŸÂmœÁrŸÁf›Àa›ÀgœÁi›Ái›¿nœÁmÀjœÁi›ÀkœÁh›ÀjœÀiš¿sœÁgšÁržÁožÁ`ÁkŸÂg›ÁgšÀo¡Ã`˜ÁhÃsžÂj£Ãm Ãt¢Ås¤ÆjŸÃjœ¾pžÂr£Ãm¢Ãj¢ÂlžÂjŸÁkŸÂjÂjœÂkœÃdžÀdžÂkžÃkÅkŸÃr¥Ãeœ¾f›Án ÂjœÁhÂi ÃeœÂg›ÂjšÁh™¿h›ÀqžÁmÃn½o¤Äm¡ÃqžÁiœÁp¢Ál¡Ãm Ãp Âm¢ÃnžÁj›Ãk¡ÀižÀlžÃm£Æl¢Ãj¢Âj¢ÃmÂiŸÂhŸÂjžÁmžÁl¢ÃpžÁz£Æf Äl¢Ån¢Åt£Æz£Äo¢Ãm Ãz¤Æl¡Äm¥Æl¤Çp¡Ã_Ãx£Æt¢Åu¤Åq£Çr¥Äw¦Æq£Æs¤Æl¤Ãx¥Æo£Ä}¦Æy¤Åx¦Çs¤Çv¥Æl¢Ås£Åo¢Åu¤Âo¥Çq¤Èt¦ÈežÅr¤Æ{¥Æz§Æ{§Çz¤Ät£Å{¦Æo¥Æq¥Æt¦Ç}¥Æx¦Åt¤Æs¥Çp¥Çs¥Çk¤Åq£Çp¤Äu¦Èv¥Ço£Å{§Èx¤Ço¤Åj¤Çn£Æv¤Äo¥Æ|©Æw¦Åy¤Åz¨Æu§Æ‚©È{¥Æy©Æx¦Ç¨È}¦Ç…©Êw¦Æz©Èt¦Èq¥Ç{¦Ç¨Èz§Çr¥Çy¦Çw¦Æ{¨ÇªÈz¨Çy©Çr¥Æ€§Æ€©Æ¨Æ|¨Çy¨Ç{¨É~§Ç©Ép¦Æx¥Æt¦Ç}©Èu§É}©Éx¦É}¦Çx§ÆªÇ€ªÇ‚¬É«Ê€ªÇ}§Ç~¨È{ªÇ{ªÇ‡¬È~¨Åt§Çz¥ÆƒªÊ§Éz§Ç‚©É~¨ÈªÉ€ªÈ¬É€¬Ê«Ër¥ÇªÇzªÈ}ªÉzªÈu¨ÈªÈ‚­É„«È„«É~©É{§Èx¨Ç†«È~ªÉ|¦Éƒ©Ê}ªÊ€ªÇ«ËªÊ}¨Ç…¬Çx©Èx§Ç€«É€¨È†ªÉw©É{¨Ç€«É}«É}ªÆ€¨Æ€©È€¨È­È‚«Ê€ªË~©É‡¬É¨ÈªÈªÈ‚ªÈƒ¬Ë«Çy«É~«Ê‰¯Ë‚¬Ê„ªÉ†¯Ì„¬É±Ë¢¼Ó¯ÃÖ³ÇØ´Æ×´ÄصÅÖ»Æ×¿ÉØÃÍØ¿ËØÁÌÛ¿ÊØ»É×¶ÆÖ¯ÃÔ¥¿Ô•µÎŒ®Ë‚¬É±Ë°Í‹±ÌŽ°Ì–±ÍŒ¯ËŠ°Ë”´Î™¶Ñ©¾Ò¯ÂÕ´ÃÖºÆÙ¾Ç׿ÊÙÁËÚ¿ÊÙ¾ÊØ¼ÈØ»ÆØ»ÄÖ»ÆÖ»ÅÖ·ÃÓ¹Æ×¾ÉØ¿ËÙÁËÝÄÌÜÄÍÚÃÍÛÅÍÜÅÐÜÃÎÝÄÎݼËÜ»ÇÛÁÊÙÂËÛÄÌÛÄÐÞÇÑÞÉÒàÈÓÞËÓÞËÔÞÌÔßÌÕßÌÔÞÊÔßÉÓßÈÒÞÉÒßÉÒÞÌÓÞËÓÝÌÓÞËÔÞÊÔÞËÓàÌÔàÌÕÞÌÖÞÍØàÌÕÞÉÓÞËÖàËÓàËÕàÉÓßÅÎܸÈÚ¸Ç×µÅׯÁÕ·Ñ„¬Ë„®Êޝɂ­Êƒ­Ê‰«ËŒ°Ì‘±Ì’±Ë°Ë“³Î•µÌ‹¯Ë‰±Ë°Ë³Í°Ë’±ÌŒ«ÌŽ¬Ê‹®Èˆ®Ê•¶Ð˜·Î–µÎ›·Í¢¼Ó¨¿ÖŸ¹Ñ¤½Ò©ÀÓ«ÁÖ·ÆÖ¹ÇÔ¯¿Ó¯¾Ó¯¿Ó¬¼Ñ«»Ñ­½Ð®»Ï­¼Ñ±¿Ñª¼Î¬¼Ð®¾Ñ±¿Í«»Î°»Î¯»Î­½Ï®»Ð®¾ÐªºÏ«¹Í«¸Ì¬ºÍ­»Î±¹Ì­¹Ì¬»Ï¯¼Ñ°»Ñ¬ºÍ­¼Ñ²½Î°½Ï³½Î³½Ò¯½Ð±¼Ñ­»Ð¯»Ï¬»Í±½Ð®¼Ñ°½Î®»Í¯»Ï±½Ñ³¿Ó·ÀÑ»ÄÓ¹ÃÓ»ÃÒ·ÀÓºÂÒ½ÇÔ·ÅÕºÄÕ»ÄÕ»ÅÔ¼ÆÖ»ÅÖ¿ÆÓÃÈØÁÌÛÄËÛÅÌÛÄÍÛÆÍÛÄËÚÂËÚÁÈÙ¾ÅÓ¼ÅÔ·ÂÖºÄÔ½ÄÕ»ÆÔ»ÆÖ¿ÇÕÀÈÔÁÉ×ÁÊÙÂÉÙÄËÛÅÍÙÆËÚÆÍÛËÏÛÇÎÛÇÐÛÆÎÛÇÎÞÇÐÝÇÎØÇÎØÆÌÜÉÍÛÊÎÜÉÎÜÇÑÞÉÏÞÉÏÝÊÒÝËÒÛÌÒÜÌÒÞÌÕÞËÕÞÍÕßÍÔàÎÖÞÏÕÞÐ×ÞÐÖßÏÖßÐ×ßÑ×àÐÖÞËÏÏÃÊÍÆÐÕËÕÙÍØÜožºx¡½z¤Â{¥Å}¥Á†¥Ä†©Ä|¥Ã§Æ~¤Â}§Å€§Ã§Ä€§Ây£Áv¢¿r ¿y¤Ä€¥Â{¦Ä„¨Ær¤Ã{¥Ä{¤Æu¡Ã}¤ÄuŸÂt¢Ãn¡Áp¢Âr¡ÃkžÁq¡ÂkÁoŸÃrŸÀv Áo¡Án ¿i›½aš½\š¾eœÃdœÁg›ÂkœÁi¡¿cš½kžÁj™ÂjšÀe›Ál¿k›»m¡Ádž¼e™½fš½b™¾aš¼jš½g™¾nž¾q¢ÃmžÀišÁd›Án›¾j›ÁlŸÀu Áw¡ÁpÂkŸÂbšÁh›Àl¿pŸÁx ÀnŸÀeœÀf ÁhŸÃjœÁr Àk¾fš¿aœÃk ÄiÃnŸÃjŸÃgÃjœÀl›ÁlžÁmžÀnŸÂl Äo¡ÂjžÃ£Äo ÀlžÂe›Àm¡ÃpŸÃiŸÂhŸÃfžÂhŸÁh¡ÀnŸÁkŸÁl¿fÁhžÂjÁhœÁj Á^›ÁkÁkÁm Âo Àd Ãl£Âf¢Ãl¡Áo¤Âjœ½p¢Ákœ¿jÁhž¾lŸÁi¡ÂcšÁpžÃl¢ÃlžÁkœÀj Âj¡ÁjœÄn¡Ãi Ãl Âq£Âk¤Ãl¤Æp¥Æl¢Ãm ÃjŸÁnŸÂižÂj Âj¢Ân¤Äp¤Æi¢År¢ÆmžÂp£Æp¥Ãt¥Äs§Çu¥Æq¤Ãp¤Ån¢Ãl¡Ân£Ãp¢Ám£Ãk¤Äo¤Çt¤Åv¤Çz¤Är£Áx¤Åx¥Æj Äx¨Æt¤Æp¥Æn¤Æv¤Åv¤Ãv¢Ãs¢År£Ám¡Ãu¥Çu¥Ås£Åm¤Æm¥Ån¢Äo¤Ås£Âv¦Æv¦Æv¤Äl£Æy¤Åq¥Æv¦Æs¤Åy¥Åp¤Åt¥Åy¦Çs¥Åw¨Æ{¨Çz§Æ|§Çv¦Æv¤Æx§ÇqªÉu¨Çu¦Æv¨Æ}¦Ær¥Åv©Æz©Ç©Év§Çv©Æw¨È{©Çy¨Çv¥Çz§Æ|§Ç|§Èz¨Èr§Ç}ªÈw§Æ}¨Æ|¨Æ|¨Çv¦Æu¦Çx¨Ç{ªÆn¤Ãw¤Åt§Æy§Æw¦Çv¦Æx§Èz©ÇxªÈs¨Çy©Çw¨Ç~§É|©Ê}¨Ç}ªÇ~¨Çx§Äy¨Æw§Çw¨Éz§Ç©Æ‚ªÉ€¨Èz©ÇªÆ{«Ç|ªÇ€¨Å€ªÇƒ«Ê}ªÊxªÈ{ªÊ¨È~ªÇz¦Å¨ÆªÉ©ÈzªÈ~ªÉyªÉ€ªÉ}©É‚ªÈ„ªÊ‡«È‚ªÇ}ªÈ|ªÊv§Ç}ªÇ|ªÇ€ªÈ«É|ªÊ|©É{«È|¬È|«Ë«É„¨È{ªÈ}©Æ©Éƒ­É­Ç¨Çx¥Æ‚«Ç‚¬Ê€«ÈªÈ©È«É~©È¨È‚©È~©Ç}¨È€©Ç‚©È„©ÈªÇ«ÈªÈw©È€©È‚ªÉ€ªÉ„ªÊ…­È‚¬ÉxªÆ°Ë’´ÌºÒªÁÒ£¹Ò¥½Ñ±ÂÔºÇÖ½ËÛÀËØ¼ÊØ¾ÊØ·ÆÕµÄׯ¿Ó ¹ÏŠ±Ë±Ë‹®ÉŠ­Ë„­Ê‡®Ê…®É‰°É²ÍŽµË±Ë—´Í¦¼Ó±ÂÖ¶Æ×»ÇؾÊ×¾ËÚÀÌÚ¿ËÜÀËØ¿ËÙ¿ÈÕÁËØÄÍÙÃËÖ»ÆÔ½ÉØÀÇØ¿É×¾ËØÂÍÙÁÌÜÁÎÛÆÐÛÆÑÝÇÏÞÆÎÝÃËØ¾ÇØÁËÙÀÌÙÁÌÜÁÎÛÅÑÝÇÑÞËÒÝÊÒÞËÔÝÉÖßËÔÞÊÔÞÉÔÞÊÔßÊÓßÉÓÞÉÖÝÇÒÞÉÑÝÈÓÝÇÒÝÈÒÜÈÒßÊÑßÊÓÝÉÓÝËÔÞËÔÞÉÔßËÕßÌÖÞËÖàÈÓÞÂÌÛ±ÄÖ¢¸Í˜·ÏµÉ³Ì‰®Ë‰®Ë†­Ê‹¬É‘¯ÌŽ°Ë°Ë±Ì”³ÍŽ±Ê—³Ì±Ì’±Ì“±Ë°Ê‘±ËŽ²Ìˆ±ÉŠ°Í…¬É‡¬È„ªÉŒ®È’¯ÈŽ®Ê‹¯Ê—¶Î—´Ï±Ë“²Ë—²Ë™¶ÐŸ¹ÍªÁÓ±ÃÔ®ÁÔ¯¿Ñ­»Ïª¹Î­½Ð©¼Ñ«½Ñ±¿Ò®½Î±½Í°½Î¬½Ñ°¿Í®»Î®½Í¬»Ð°½Ñ®¼Î°ºÎ­»Ï¯½Ð®½Î¯¾Ï®½Ï²½Î²¼Î¶¿Î²ÁÒ°¾Ó³ÀÓ°½Î´Àв½Î²¼Ñ±¼Ï±¼Î°¾Ð²¿Ñ®¿Î®¾Ñ±½Ï±½Ð±½Ð²½Î±¿Ò²¾Ñ³ÁÓ¸ÁÔºÄÓ»ÃÕ¹ÂÓ¼ÃÓ½ÆÔ»ÄÓ¶ÃѶÃÓ¹ÄÓ½ÅѽÄÒ½ÆÖÂÉÙÁÉÚÀÉÛÀÉÙÂÊØÂËØ¾ÉÖ»ÅÖ»ÃÒ»ÄÓ¼ÃÓ¸ÄÕ¹ÆÔ»ÆÕ½ÇÖ¿ÊÕÀÊÖÁÊ×ÃÊ×ÁÊØÃËÛÄÌÜÆÏÛÅÎÛÆÐÝÉÎÝÇÎÛÇÌÛÉÎÛÈÏÜÆÎÝÇÏÜÇÐÜÇÏÜÉÐÛËÐÝÉÏÝÊÓÝÌÔÝÌÔÛÌ×ÞËÔÝËÓÞÍÓÝÎÔÝÌÔÞÍÖÞÎÕßÎÖßÐ×ÞÐ×àÐ×ÞÏ×àÏÖÞÒ×ßÐ×ÞÊÎÉÂÊÏÇÑÖËÕÚÎ×Ý€¤Á…¤Áƒ§Ã†ªÄ‚ªÃ€§Ä¤Äƒ¦Å{¤Å{£Âz¤Âz Áƒ¤Ä|¤À{¤Ã~¤Â¤Ã~¥Æ¥Ã€¥Â©Æv£Äz¡Áu¢Át¡Ãv¢Âx¢Âx£Áv¢Âr¢Âx Às¡ÃpÁnžÂkžÀmžÁgœÀjœÁjš¿cœÃm›½_›¾lœÀf›¾kœÁe™½d›½kŸÀdš¿j˜Àg˜¾`›¾i™¿dš¼k›¿d›¾d™Àd˜¿eœÀdœ»o›¿r¿k›¿lœÀt¾r¡ÃsŸÂsžÀvŸ¿r Àu¾sœÁzžÀvŸÁvžÁlÄs ÁnŸÂj¿ožÂj›ÁožÂkÂt ÂmžÃrŸÁjžÁlÂkœÁhš¿iÀf›Àd›ÁhœÁhœÁe˜¾pž¾uŸÁyžÂu¡Âr£Ãs£ÅlžÄj›ÁjžÁfœÂk Ão¢Áj¡Âh¢Äo¢ÃlŸÄoŸÁg™ÀhÁ`š¿jšÀfŸÃlŸÃgžÄh™¼mœ¿jÁkœ¿q ÂnŸÂiÂp ÃjÂiÂrŸÀp ¿e¾fš¿^›ÀeœÀmžÁjžÁt¡¿hŸÁcÀcšÁiœÀmŸÃv¡Ãm ÃmœÃgœÂjžÂk¡Ãj Ãm¢Âs£Âo¢Âq¤ÄkŸÅl£Åt£Ãm Ám¢Ät£Ås¡Äo£Äo¤Ãl¡Än¡Ãq¤ÄmÀl¡Áq¢Âr¢År¤Äq¦Æq¤Ål£Ãp¢Åp£Áx¢Án¤Ær¦Ær¢Æ~¥Çl¤Ær¤Æx¢Äv£Åx¥Än¡Áu¤Âo¢Är¢Á}¥Åt£Åy¤Ãm£Âp¢Ãv§Æy§Çs¥Çs¥Ås¦Ål¤Ås¤Än¤Äv¦Æq¢Ä{¨Çp¤Çl¡Åp¢År£Ã|¦Æy¥Ær¤Äw¥Æy¨Æ|§Èr¤Æo£Ço¤Æl£Æz¤Çy¦Æx§Ç|©Éo¥Êq¦Çs¦Åw¥Èz§Çp¤Å‚ªÈx¤Æy¨Çy¨Çs§Æ¨Çv¥Æz¥Æw§ÇªÈ}ªÅ¬Ç~©È{§Çz§Çv¦Çz¦Æy¥Æ¨ÆªÆu§Æs¤Æ|§Æw¦Å€¦Æz¦Ç}¨Æu§Æ„¨Æ¨Çx§Æs§Èv¦Ço¥Ås¨Èw¨Æv§Æ‚ªÉz©Ç}§Å€¨ÉªÈ{ªÉ‚ªÇ{¨Æ‚ªÉ§ÇªÇ{ªÇ~ªÈw¦Å©Çy¨Ç‚«È©Ç«È~©Ç¨Ç{¨Çy§Èy¨É¨Ê§Ç©Æ€ªÇ}©Ç|ªÉ}ªÊ}ªÉ€ªÈ€©Éƒ«ÈªÈ‚ªÈzªÇ«É{¨Æ|ªË€ªÉ€ªÇ„ªÈ†®È€«É~©Ç|§Éu¦È~©È„«Ç}ªÆ¬É€«Ç€«Ê€©É~ªÇªÉ¨Ç¨Ç„©Ç†­É‚¬È…«Êw¦ÇªÇ©Èƒ¨Ç€©Ç€ªÇ©Ç†¬É{¨É€¨È„ªÈ‚ªÇ‡ªÉ«Ç„¬Èƒ¯Êƒ­Ë‰°Í‰­Ë‘¯É±Éš¶Î¥½Ñ¯ÂÓ¶ÆØ»ÉغÈÙ¾ÉØ¸ÈرÃÔ ¹Ï—¶Í“±Î¯É‡«Ë‚¬Ë«È‡®Éˆ¯É†«Éƒ®Ë‚«È…®Ì•µÏ¬¿Ò³ÄÕ»È×¹Ç׺ÇÖ¾ËØÁÌÛÁÍÜÁÌÜÁÌÚÁÍÚÄÍÙÆÎÚÅÎÜÅÎÛÇÎÜÄÎÛÁËÝÁË×ÁÊÙÁÌÛÃÌØÄÏÛÇÑÝÊÒÞÈÑÝÆÏÝÂÌÛÁËÛ»ÊØ¾ÉÛÂËØÁÌÛÁÎÛÅÑÞÈÓÝËÓÞÉÒÝÉÒÝÈÒÝÉÒÞÊÒÞËÒàËÓßÊÓÝÇÑÝÅÏÝÅÏÝÁÌÜ¿ÌÚÂÌÛÄÐÞÄÏÝÃÏÛÆÑÝÆÑÝÆÒÞÇÓàËÓßËÕßÈÒß¾ÍÝ­ÃÕ–´Ì‘±É‚¬È‰«É‡¬Ë„®Ê‡¬Ë‡«É†®É“²ÌŽ³Ì”´Í”³Î±Ì‘®Ë“²Î–²Ê’²Ë”´ÌŒ°Ë‡¬É†°ËŠ®ËŠ®Ë…«Ê¯ÉŒ±ÊŠ®É®ËŽ®È‘®Ê•°Ê•±Ì‘±Ë“³É’±Ì–²Ê•´ËŸ·Î©»Ò¬½Ó­¼Ò­»Ñ©»Í§»Ï®»Ð®»Î®¼Î¶ÁѶÁί¿Ñ¯¿Ó³Àѱ½Î®¿Ñ°¿Ð±Àδ½Ò´¾Ñ®¾Ò¬½Ñ®½Ð²½Ò±¼Ð²½Ï¹ÁѵÁÓµÂѳÁÒ´Àг¾Í²¼Íµ¿Óµ¾Ð¶½Ð´¾Ñ´¿Î±¿Ï±Àѳ¾Ô´½Ð³½Ñ²¾Ð³¼Ðµ¾Ñ¹ÀÑ»ÁÔ»ÄÓ¿ÅÔºÆÖ½ÆÖÀÆÖÀÆÔ»ÂÒ»ÄѸÃѺÃÔºÃоÆÖºÅÕ»ÆØ¾ÇÕÁÆØ¿ÇÖ»ÈÖºÄÓ³¾Ó´¿Ò´¾Ò¹ÂѼÄÓ»ÆÔ¼ÇÕ½ÇÕÀÉ×ÂÉ×ÂÉØÅÊØÅËÚÇÌÚÈÎÛÈÒÜÈÐÝÆÎÜÉÎÝÆÍÜÆÌÜÇÍÚÈÏÛÆÏÛÈÐÚÉÎÛÉÏÜÊÐÛÉÎÚÌÓÝÌÕÜÌÕÝÍÔßËÖÞÌÓÞÎÖÞÎÔÝÎÔÝÌÕÝÎ×ÞÐÖßÏ×ßÎ×ßÏ×ßÐÖßÐÖÞÑ×ßÑ×ßÑ×ÞÌÎËÄÍÏÉÑØÌÕÛÎ×ÜŠª¿¦Á|¦Á}¤Áz¥Ä~¤Ä{£Ãz¢Â}¥Â}£Á{¤Ã~¤Ã{¤Á}¦Äy¤Å|¥ÅЍÆ{¤Áv¥Áz¤Á{¤Áwž½v¡Áy¢ÁnŸÃmŸ¿u¢ÂtŸ¾ož¿rŸ¿t¡Âw¡Ák ÂgœÀh›¿g™½eœ½j›¾kŸÀfœ¿lœ¾e™½lœÀjœ¿k›¾jšÀiš½g•»d›Àdš½`šÀgš½ešÀgš»a—¼`˜¾`š½k™¾l™½eœÀg™¾qœÀrŸ½n Áp¡Ádš»lœÂlœÂq¿vŸ¿xž¿|¢À‚¦Á¤Â€¡Â|¢ÃsŸÀkœÀkœ¿oŸÁl¿i¿hŸÂjÃh›ÂnÁnžÀo¡ÃjÂ^˜½h›Áj™ÁnšÀfšÀoÃnœÀvž½iÁhžÂlžÀd›ÀnžÃlÃn¡Ámœ¿hÁmžÁjŸÃs¿oœ¿oÀmœÁlœÁqŸÁeÃl›½k›Àd›ÀešÀjœÁmŸÁkŸÂižÁjœÀešÀi›Ái¾j¡Án¡Âo¤ÃiÀm¡Âkœ½k¿b™½e™¼\™¾h Án¢ÃkœÀo¢Àl Àc™½iž¿jŸ¾`Âg ÂlŸÃeÂ`™¾o¡Ãk¡Ãj¡Åo Ãg¡Ãn£ÃjœÃqŸÁm¢Ão Àk Ân¢Âk£Än£Åt¢Æv¢Än¡Áh¢Áq¤Æi¡Áp£Ás¤Äq£Æy¨Åu¢Ãp¢Âv¤Ãr£Ák¦Æu¤Ær£Æs£Åu¤Æ…¦Æv¤Áz£Áu£Æy¦Ås¢Áq¢Âu¤Ãs£Æu£Åv¤Å|¥Åw¦Ãl£Âk£Ãw£Äy¨Ær¤Ãr¤Åp¤Äu¤Åu¦Ær¤Åu¥Ån¤Æw£Æx£Ål¢Än¡Âo¤Ät¤Äv¥Ãs§Ån¥Æx¦Æx¦Æt¥Çq¡Ãn£Ão¥Äv¤Ãv¦Æu¤Æy¦Æ~¨Èx¥Äv¨Ç}¨Æ{¦Åt§Çw¨Çu¨Çy¦Çv§Èy¥Æx¤Ây§Ç~©Æ©Ç©Çz¨Æy¤Çz¨Æz¦Æn§Æx¦Æ|¦Äz©Æ{©Æy¥Æz¥Åz¦Æz¥Æv¦Æy§Æ{¥Æy¨Æ‚ªÇy©Èw§Çu¥Æu¨Èo¤È€©Æ~ªÇz§Çw§Æy©Çy§Ç}©Æu¥Ç{©Ç}§Å«ÇªÈ€¬Ç{©È}¨Èt¥Çy§Ç}ªÈªÈ«È«É«Èz¨Ç¨Ç|§Æ}©Èv¦Æ~©Ç|©Ç«Ç‚©Ç¨Éy©Ç~¦Æz¨Æ}ªÇ}«Ç~ªÉªÊz©Ê‚©È€ªÉ€©Èu§Çz¨Ç„«É{ªÈ~ªÊ…ªÈªÉ©Ç¨ÆªÆ{ªÇªÉ}ªÇªÇªÇ‚ªÉ~©È¬ÈªÇ€ªÇ~«Ç{ªÈªÉ€ªÈ|§Èy¨Æz§Æ„©Æ‚©ÆƒªÇªÅƒ¬É€¨É©ÈªÈ„ªÉ}©È«Ç…®É‡­È‰¯ÉŒ­Ë­É‘±Ê˜µÎ™¶Ì£¼Ð³ÆÔ¶ÆØµÆÖ¸ÆØ³ÅÕ®ÁÔ¨¼Ï–´Ì•±Ëˆ±Î‹®Ê„­Ë€¨È©Ç~©Ç‡ªÇ€ªÈ€ªÈ‰¬È‘²Ì§¼Ó¶Ä×½ÇÖ»ÇÖ»ÇÕ¾ÉÙ¿Ë×¾ËÛ¿ËÚÀÊÛÀÌÙÅÎØÆÎÛÄÎÜÆÍÚÆÑÛÆÐÜÆÏÝÃÎÝÁËØÀÉ×ÂËØÂÎÛÄÎÛÇÑÞÉÒÞÅÎÝÁÌØÀÉØ¸ÇÖ·ÇØ»ÉÛ½ÊÚ»ËØ½ËÛÄÎÝÆÑÝÂÏÜÃÎÚÅÏÚÅÐÜÉÑÝÈÑÝËÑßÉÑÝÆÐÝÄÏÚ¾ÌÛ·ÉØ«ÀÕ©¿Ô¨ÁÕ­Ä׺ÊÙ¿ÌÛ¾ÍÚÃÏÞÂÍÝÂÎÙÃÑÝÃÐÝ±ÇØŸºÓ°Ë‚«È†­É‚«Ç„ªÈŠ­È‹­É†ªÌ†¯Ì‘°Ë†­Ë…®ÊŠ±ÊŠ±Ë°È±Ì—²Í—²Î”²ÊŒ°É‡®Ë…­È‡­É‹®Ê‘¯Ê‘¯Ê…­È‹¬Çˆ­Éްɕ±Ê”²Ë’²Ë–¶Î“³Ë’®Ë“®Ê˜±É–²Ëž¶Í¤·Í¬¼Ñ¯ÀίÀѪ¹Ì¨ºÍ­¼Î®½Î±ÃÑ®ÁίÁѱÁÒ¯½Ò±½Ì±Áб¾Ï®½Ñ±»Ï°½Ð°½Ï³Áд¾Ó®¼Î±½Ð²½Ï³¾Ï´ÂѸÁÑ·ÃÔ·ÃÓ·ÁÒ³¾Ï´½ÒµÀÓ¶ÀзÁδ¾Î·¾Î¶¿Î¹¾Ñ·ÁÑ´½Ð¶¿ÑµÁÏ´ÀѹÀÒºÅÔ½ÆÖ¿ÈÖ½ÇÕ¿ÆÕÁÈÖÀÉÖ¾ÇÓ¼ÆÑ¹ÄÓ½ÃÒ»ÃÓ½ÅÖºÅÑ»ÂÓ¸ÅÔºÂÓ»ÂÓ·ÁÓµ¾Ð´¿Ñ±½Ï·À϶ÁθÅÓ¸ÄÖ¼ÆÓ½ÇÓÀÈÕÂÇ×ÃÊÙÂÌÙÄÌÚÆÌÛÉÎÛÈÒÛÊÑÛÈÏÜÉÏÛÆÍÛÅÍÛÆÌÜÆÎÛÈÑÝÈÏÓËÎÝËÎÜÉÐÙËÑÜÌÓÞÌÔÞÌÔÝÎÓÝÎÖÝÏÕÞÎÕßÌÓÝÎÔÞÎÕÝÌÖÝÎ×ÞÑ×ÝÐ×ßÑ×ÞÎ×ßÎ×ßÐÕàÏÖÞÐÖÝÉÍÍÄÍÏÉÓ×ÎÔÜÏ×݉¥½€¢¿~¢½|¢ÀuŸÀr¢Àp¡Á} Á{ž½„¦Ät¢À{¡Á€¤À|£Âz¤Á~¤Ã¤Â…£Án½o ÁsŸ½x£Áu¡Âv£Ãw£Æq¡ÁsŸÁož¾lœ¾oŸ¿q Áq ÂnžÀp¿q¾m›½i›¼f˜»[•»a“ºi—½[”¼^˜¼bš»]˜»X»d—»^˜¼`—¼a˜¿c˜½gš½`–¹iœ½V—»S‘¹d—½m—»i˜Àk›½i˜½h™¼g™Àfœ¿b™¼gœ¿pš¿wžÀ{ Á¡Á|¢¾wŸ¿zœÀ{ŸÁŸÂwžÂq¿~¡ÁjžÀb˜½Z–½f”»cš½c˜½gš½iš½jš¼iœÀd˜¾j™¿kš¿jœÀmœÂkÀhžÃožÄqÀlœÁj›¿rŸÁišÀgš¿b™¾b–½oš¾mÀd˜Ào›¿oœÀgœÀl¿n Àjž¿jžÁhš¾iš¿dš¾e›ÁfšÁg›ÀgœÀiÀi›ÀhÁcšÁc—¿^š½aš¾iÂr¡Áh›ÀiÁe›ÁX˜½]—¾l˜¿i˜Àb›½lž¾gš¾_˜¾]˜¿g˜ÀdœÁb™½h›¿nœ¿eœÁj›ÁpŸÁhžÂiœÂjÁl›Àlœ¿kžÁl ¿k¡ÁoŸÁjžÂl Ák¡Ál¾gžÂl£Âr¤Äp¢Âl ÃlžÁmžÀr¡Ám£Âo£Ãm Ås¡Ãx¥Æs¡ÄrŸÁl Âv¤Ål Ár¡Àr¢Áv£Âs¢Ãm Âx¡Ãu¡Äo¢Ão¢Áv¤Âm¡Ãn Äx£Æg›¿oŸÁo¢Ãm¢ÃhÄs Ãr£Ås£Án¢Åp£Ão¢Är¤Ãt¤Äp¤Åm¢Ãy£Äx¤Åw£Ãn¤Ãw¤Åi ÂsŸÁf¢Çm¢Ãs¥Åq¦Çq¤Çu¢Æo¤Ãm¡Ãl¢Äu£Æv¦Ès¤Äu¥Çy¥Åy¤Âv£Äu£Âw¤Äu¤Ãn¤Ãj¤Æu¤Çv¤Ä|¥Ã€¦Ãz§Äq¡Ãv£Åp¢Æq¤Äu¤Åw¥Är¤Å|¤Ãs¤Ây§Åt¤Äq¥Æy¦ÅcÄw¤Ât¥Äy¨Ãz¦Æl¤Ä{¨Çx¦Çl£Åx§Èu¤Åx¥Âm¤Áy§Æv¤Æz¥Æ}§Æ{§Çy¤Å{§Æ|©Æy¥Æw¥Ç{§Æy¥Æ~¨Çz¦ÇªÆ{§Æz¨Æy¨Çy¨Ç{¨È}§Èz¥Ç}§Åz¦Æ|¨Æ|¨Çy¥Æ}¨Æ}§ÆªÊ}©É{¨Æz¦Æx§Ç~¨Åy¤Æw¦Çƒ«Èz¥Ç|¦Ç~©Åv§Ç‚¦Ç}¦Æ~¨Ç~©Ç|ªÉ{¨ÈªÇy¤Ås§Äw§Å{§Æ€©Ç}¨És©Çw¦Ç}¦Æ{§Äw¥Äy¨Æ{©Æx¨Ç{¨Çt§Ç{¦É|¥Æ~¥Åv¤Åw¦Æ©Æu¦Æ|§Ç€©È}¨Ç©Ç}©È~ªÆ}ªÅv¨Æ€©Çƒ©Å}¨Ç«È®ÉŒ¯É’µË’±Ë ·Î¡»Ó¢ºÑ§¾Ó¦½Ò¨½Ñ£¹Î®É…¨È©Ç}©Ç«È‚©Ç‚ªÈ‚«Ç©Éz©ÇƒªÉ‡©Èˆ«È ·Î¶ÆÕ»ÉÖ»Æ×ºÇ׺ÉÙ½É׿É×¾É×¿ÊØÂÍÛÃÎÛÃÍÙÁÍÜÄÌÛÅÎÜÆÎÚÆÎÛÃÎÝ¿ËØ¼É×¿ÊØÁËÚÆÍÛÇÐÛÈÑÝÃÑÛÃÎÛºÉ×µÃÕ¨¾Ó¬ÁÖ±ÁÓ±ÃÕ°ÃÓ´ÅÖ¶Ç׻ɨ¾ÊØÁÌÛÃÌÙÅÎÛÆÎÙÆÐÝÇÑÝÅÍÙ»ÉØ´ÅÖ«¾Ò˜´Í™²Î“²Í¯Ë¥»ÐµÆÖ¹Ç׼ɨºÉÙ¯ÃÔ±ÂÔ²ÄÕ¦¿Ñ‘®Ê‡«É…©É‚©ÇƒªÉ€©Ç„ªÇ|ªË…«ÉŠ°Ë†¯É†­È…­É­Ê‰­Ê…«ÉŽ¯Ë±ËŒ¯ÉŽ°ÉŠ®Ë‚ªÇ€ªÇ‰¬Ê‡­Ê­É®É‘°Èˆ«È†ªÊˆ­É‘¯É—°Ë‘±Ê•²Ë‘³Ì’¯Ë±É–±Ì–®Ë’¯Ë—°É™³Ë§½Ï¬ÀÒ©»Í©·Î­¼Ï­ºË®ºÎ°¾Í®¾Ð´ÁÓ¶Áѳ½Ñ´ÁÒ³½Ð°½Ð°¼Ï±¼Í²½Ï±ÁÓ²ÀÒ±½Ð´½Î³½Ð³¼Î¶Á϶ÀϳÁÓ´ÁÓ¸ÂÒ¸ÁѶ¾ÑµÂѸÂÒ¶ÁиÂкÂйÄÑ»ÅѹÃÖ¹ÃÔ¸¿Ò¸ÃÓ¹¿Ñ¸ÃÒ¼ÃÓÀÆÖÁÇÖ¿ÆÖ¼ÆØ½ÇÖ¿ÈÖÁÇ×½ÆÕ»ÃѽÆÕ½Æ×½ÄÓ·ÂѶÀιÂд¿Ñ¶¿Ñ¸ÀÒ²½Ò³¾Î±½ÏµÀÑ·ÀжÁÓ»ÃÓ¸ÃÓ¹ÆÕ»ÉØ½ÇØ¿ÇØÂÉÙÂË×ÄÌ×ÄÊØÇÎÙÆÍÚÅÍÙÅÌÜÃËÙÅÌÙÃÌÙÆÍÙÆÌÚÇÎÜÉÐÜËÎÞËÎÝËÐÛÌÓÛÌÓÚÎÓÜÌÓÝÌÕÝÌÕÝÌÔàÎÔÞÍÕÝÍÓÜÍÖÝÎÔÝÎÕÞÏÕÞÐÖßÐ×àÎÖÞÐÖÞÏÖÞÏÕÝÇÊÌÄËÏÇÐ×ÌÕÛÏØÞ…¤À}¤À~ ¼w£ÀrŸ½t ½…£À{£¾t¢¿u¡Ãx£Á¥Ãp¢Áv¢Áw¤¿v¢Àv ¿y¢Àpž½r¢Às¤Âv¢½pž¾w Ás Áp¡Âj¿mœÀkœ¿i›½jœ¾]™¼h›¼k¼a˜¼f˜¼e™»fœ¼`™¼b—»iš½\–¼]˜º\˜¼_™¾\–»_™»^™¼_™»`—»Y•»\—½d—»]—¼c˜º`—¼dš½b—»i›½\™¿b›½^›¾e™»iš¼jœ½m¿u¡Ár¡Â ÁŸÁy ¿£Á‚¤Áz¢À~¡ÀtÂlœ¾p›½]˜½lœ¾lœ¾jž¾cœÀgš½g˜½_˜½T–½eš½dšÀhœ¿j¾nŸÁj›Áq Álœ¾i˜¿mžÁmœ½dš¿iŸÀj›Àl™½i™¾f™½gš½kž¾qŸÃnž¿pž¾n›Áh›¾d™¾fš¿]˜½a›½[š¿fÀg›Àb˜½i™Áe›¿dœ¿`œ¿dœ¾nžÀd¿g›¼gš¼b›¾d›¾e˜¾_™½`˜¼bš½dœ¼kœ½i™»l ¿pžÁ]—¿e–¿p¢ÂlŸÂl¿h¾jŸ¾jžÁe›ÀhžÂfžÀl Àk¢ÁiÁiœÁhÁdš¾aœÁjŸÂk¡Án¡Âh¢Âd Ái ¿oŸÀjžÁj ÁežÁkŸÂk¢Ât¤Äw¡ÀjŸÁi¡Áo¡Áož¿m£Ár¤Ám¤Äk¢ÅkÀlœÁlÀmÁr¢Às¤Áu¢Ák¡Ám¡ÃežÀnŸÁu¤Áo£Ám Áz¦Æn Ãs£Ãn£ÃfÀhŸÁq¡Ào¢Án¢Âl£Åm¢Äp¤Æo¢Äl¢Ág£Âh¢Âr£Åo¡Äo£Ãu¦ÆhŸÁo£Âv¥Ãp¤Áo¢Ãq¤Æv¥Æq¤Ær¤Ç{¥Äv£Ãq¤Ât¥Ær£Åm£Ãi¢Âv¤Åx¥Äj¢Âo£Áx¤Ãp¢Ám£Ár¢Æv¤Æt£Ä{¥Â‚ªÅs¥Än¥Än£Ãp¤Äv¤Âx¥Ãs£Åp¦Æt¦Ås¤Ån¤Âv£Än£Äu£Äz¤Å{¥Åj¢Ãx¦Åu¦Ås¥Ãr¥Åw¤Äw§Æn¥Æu¦Çw¤Ãu¤Áy¥Ä}§Äu¤Æp£Åu¤Ãx¦Åm¤Æ|¦Æ~¨Æy¥Æ{§Æw§Åy¥Å~¨Ç{§Çz¦Ç|©Æ{¨Æw§Åw§Æw¤Æy¦Æz¨Èv¤Æ„ªÈ€©Æ~©Ç}ªÇªÈv¨Èz©É€¨É€§Ç€¨Éo¥Äq¥Åz§Æ«Èu¦É©Æ}©É€§Èz¥Çz¨Æ{§Èx¨Çx¨Å}ªÇw§Æx¦Æ‚©ÇªÇt§Åt¦Äx¥Æ~ªÇy§Å¨Æy¦Æu¥Æv¦Æ{¨Æx¨Åq¤Äw¥Æy¥Åw¤Æv¤Çw¥Åy¦Åw¦Æ~§Æ„©Æ|§Åw§Æw¨Ç„§É…ªÈt§Äs©Çu©Æ‚­ÇªÇ€ªÇ‡­È‹¬Ç“±É†®È°É¯Ë‹¯Ë‚¬È‰®Ë…®Ì‹°Í‹®Ê‚ªÇx¨Æ}¨Æ~ªÇ„©Çz¦Æƒ«Ç…ªÆªÆ€«Ç{§ÇŠ¬É·Í©¿Ó²ÄÔ¹ÅÖ¼É×¼ÊØ¿ËؾÊ׿ÉÖ½ÈØ¼ÉØÁËÚÀËØ¿ÌÙºËØ»Ê×½ÌÛ½ÌÜÁÌØ»ÈØ·ÆØ»ÈØÂÌÛÄÐÛÆÏÛÇÑÝÇÎÝÃÍÛÁËÚ¶ÅÕ­ÁÕ¤¼Ð§½Ñž¶Î¤ºÏ©ÀÔ¨¾Ò­ÁÔ¸ÇÖ»ËØ¿ËØÀÍÚÅÌÚÇÏÛÆÐÛÁÌÚ·ÆÖ­ÁÓ¨½Ð£¹Î¦»Ï“²Ì°Ë›¸Í±ÁÓ¶ÆÖ²ÇÖªÃÖ¤½Ñš¶Ñ¢¹Ðž¶Î±Ë‹±ËŠ­ÉªÆw©Ç«É…ªÉ©É~ªÇ¬È…­Ë…ªÊªÊ†¯Ë…¬É‰®Ê†«È®É‘¯Ê‘¯ËŠ®Ë‡¬ÊŠ¬ÈŠ¬ÈŠ®Éˆ®É–±ÈªÈ‡¬Ç‰®ÉŒ¯Ê›µÌ˜±Ë”±Ë“²Ë˜´Ì•±Ë•±Ë’®Ê›²Ë—´Ê–±É…¬È•°Ë´Ì ºÎª½Ñ­»Î¦ºÐ¬»Ì®¼Î¯½Î¯¿Ñ²ÁѶÂÑ·ÃÓºÆÓ½ÇÖºÃÓ¸ÁѶÂѶÃжÄÒ·ÂÑ·ÂÔ¶ÁÒ¹ÄÓºÅÒ¸ÁѸÃÓºÄÓ»ÃÒ·ÄÒ¹ÃÕ»ÃÒ¾ÆÕ»ÄÓ¹ÄÑ»ÆÒ»ÆÓ»ÆÕ¼ÄÔ¾ÇØ½ÇÖ½ÇÔ¹ÂѺÅÖ»ÅÖ¾ÇØ½ÇÔ¿ÈÖ¿ÇØÁÈ×ÃÉØÁÉѽÉÖ¿ÈÓ½ÇÖ¼ÇÖ½ÆÖ¶ÃÑ·ÀѶ¿Ï¶½Ð³½Ñ³½Ñ±¾Ñ´¾Ð¶ÀжÁÒ¶ÁѸ¿Ï¶ÀйÃÑ»ÅÔ½ÆÖ¿ÆÖ¾ÅÖ¿ÊÖÁÈÖÁÊÕÂËØÂÍØÅÌØÃÌØÃËÙÃÌÛÇËØÆËØÅÍÛÆÏÚÈÍÚÉÒÜÉÐÛËÓÜËÑÝÎÓÝÎÕÞÌÔÜÎÓÞÌ×ÛÌÖÝÍÖÞÎÕÝÎ×ÞÎÔÞÎÖÝÏ×ÞÎÕÞÎÖÞÎÖßÎÖÝÏ×ßÏÖßÑÖàÍÕÜÃÉÉÃËÏÈÒÕË×ÛÍÙÞ¤Á| ½€§Áz¥Á{£Â|£Á~£À} ½pŸ½s ÂvŸ¿€¥Ä{¢Ä‚¤Äz¤Àv£¾vŸÁu¡Âx¢Áu¢¾r¡½pŸÁsŸÀo Ám¾o¼m¼nž¿q¿iœ½qÀj™½e›½f—¼c–½i™½gš»b•¹b™¾U—¿Z‘»X”»Z”ºc–ºa˜»X–½o›½`™¾i›¿c™½W”»`—º\—º_•»[˜¾`–Ài–¾`‘»[“ºe›¾b™½i¿S“¹j™½hœÂo¡ÂpŸÀz¡¿}¤Áz¢Áx ÀtŸÀsÂw›Àm™¾i›¼m¾c›¾lžÁgšÀfšÀi™¾fš¾f›¾a™½f›½cœ¾ešÀpÀlœÁuœÃnœÀl¿s Àe¿oœÀp›ÀlšÀs¡Ãe™Àj›ÃgšÁhš½hÀf™¿mÁ{¢Ãt¢Äu¤Ãgž¿dš½iÁcšÀa—½fš¿e›¾d™¿`™ÁfÀjœÀh›¿d›¼c›¿iœ¾nÀlšÀešÀhÀf›Ái¾k›½p¡ÀiŸÁdœÁcœ¿d¡Âb™¾iœÀj¿f—½gš¿i›Áp Ão ¿bÂašÁbšÀsŸÁeÀj¡Ãf›ÀnžÁjŸÁk¢ÂaœÀiÁj ÂlŸ¿f›¿n¡Àm¡Áp¡Ám£ÄnžÁq¢ÁmžÀl¡ÃgœÃt¡Ár ÂlŸÃt¢Ãm¢Ái£Æm£Åu¥Ãn£Âo¤Åp¥Ær£Åp¤Ãr¢Äw¢Âl¡Ãv¤Åw£ÅlžÄiŸÁg›¿iž¾s¢Äj¡Át¤Åo ¿t¤Ãw£Åj¢Æj¤Ão£Än¢Áo¤Ãm¢Äj¡Ãt£Án¢Äl¤Än¤Åo£Äs¢Äw¡ÂožÁt£Âq Ãq£Æx¤Èz¥Ãp¤Áu¤Ão£Ån£Åq¤Åy¨Çv¤Æl£Æp¤Ãx¤Äs¢Ár¤Æv£Ãp¤Ãs¤Ãx¤Æo¤Åy¤Ål£Ãm¡Ât¤Ãz¥Ãr¤Äv£Âr£Ân£Äu§Æv¥Äv¦Äu¦Äp¤Æw¦Är¥Åo¤Åq¤Ãu¤Äq£Än¢Ây¤Æw¥Æv¤Åu§Å~¨Æu¥Äs¤Ãr£Åz©Ç}§Çs¤Ät¦Äv§Æz¨Ç~¦Çt¥Æy¥Çw£Æ}¤Æw¦Ær¦Ãz©Ç€¨Æ€¨Æz¥Æv¤Äu¤Ä¦Å|©Åw§Ç{¦Æz§Ç|¦È}§Ç}¦Åu¤Ås¥Æ«Ét©Ç{ªÇ|§È€ªÆ€©È©Çy§Ç|¥Æ}§Æ‚§Ç~§È|¨Èy§Æ{¦Æv§Çv¥ÇyªÉ|¨Év§Ç}ªÈ{©Éx§ÇªÇy©Ç}©Çv¥Çw¨Ç{¥Æy¥Å}¥Ç{¦Æz¦Æy§Æw¥Æ~¨Çy¥Æt¥Çv¦Æx¥Æu¦Æw¨Ç|¨Çu§Çt¥Æ}¦Æs¥Çz¤Ç§Æ‚§Æ©Ç€©Çƒ¨È{§Æ}ªÈªÈƒ«Ç}ªÇyªÇ~ªÆ‚«È†ªÉ†ªÉ’¯ËŒ±Ê…¬Ë{¨È‚¬Ç‚ªÈ…­É„¬É€ªÈ|¨Æ~ªÈ{¨Èu¦Ç¨Æ‚©ÇƒªÇ¨Æ‡ªÈ„ªÇ†­É†«È‡®É’±Ê—·Ð©¾Ó²ÄÕ¹ÇÖ¼ÉÙ¾ÊÛ»ÈØ·ÇغÈ×¹ÈÖµÇ֏ɨ±Áת¾Õ±Ã×»È×·ÇÖ°ÄÕªÁÓ¸Ç×ÂÍÛÆÎÝÆÑÝÆÑÜÆÐÜÃÌÛÀÊÚ·ÇØ­ÁÕ¨ºÒœ·Ñ£ºÑ˜´Í›´Ïž¹Ñ »Ò«ÀÕ±ÅÖµÆ×¿ÉØÄÏÝÄÏÛÃÎÜÁÍ򼂯²ÃÖ°ÂÔ¯ÂÓ£»Ñ“²ËŒ¯Ë‘²Í ¸Ñ™¸ÏŸ¶Ïš¶Î•¶Ï•²Ì”±Í…­Ë…«É†«É€ªÇ†ªÈ…¨Çˆ¨É†«É„«Ë…«É‚ªÉ…ªÉ…­É„­Ê…¯Ì‹¯É‰®Ë…¬È†¬È±Ëˆ¯ËŠ­Ê‰ªÈ…®Êˆ­Ê‡­ËŽ°Ë”¯Ç‹­È…¬Ç“°É—±ËšµÎ¤·ÐžµË™²Ê™°Ë™±Ë—³Ê•²Ë’³ËŽ¯É±Ê—±Ì–±É±Ë™´Ê©½Ñ¯¾Ñ«ºÐ­»Ìª¿Î®»Î®¾Ï³ÁÒ¶ÃѸÄÔ»ÈÔ½ÉÖ¾È×½Æ×¼ÆÖ¹ÅÔ¸ÄÓ¸ÃÕ¶ÃÔ¹ÃÒºÅÖºÆÕ½ÅÕ¸ÃÔ»ÄÔ»ÆÓ¼ÆÒ½ÆÕ½ÆÓÀÈÕ¿ÆÖÀÇÖ½ÆÔ½ÇÔ½ÇÖ¾ÇÕÀÆÖ¾Ç׽ɨ½É×½ÆØ½ÇÖ¼ÇØ¾ÇÖ¾ÅÖÀÈ×ÃËØÃÉØÃÌ×ÁÈÖ¿ÈØ¾Ç×½ÆØ¹ÃÖ·ÁÔ³ÀѲ¾Ñ·ÁÓ·ÀѶÁÓµ¿ÑµÀжÁеÁÓ¸ÁÒ¼ÂÓ»ÃÔºÄÓ½ÅÔ½ÈÖ¿É×ÀÆØÁÈØÂÈÙÄÊØÃÌØÅÍÚÄÊÛÃËØÃËÚÃÌÛÅÌØÅÍÚÇÎÚÇÐÜËÑÛÌÒÞËÒÞËÑÜËÐÜÌÓÝÌÔÝÎÖÝÎÓÞÎÖÝÎÓÞÏÖàÎÕßÎÕÞÎ×ÞÐ×ÞÏØÞÎÕßÎÕßÎÕßÎÕÞÏÕßÎÖßÍÖÞÍ×ÝÄÇÈÄËÐÈÏ×ÌÖÜÐØÞ¤Àx ¾{¡½¢Àu ¿r¢Ãs¡Áv¢ÂyŸ½x¡Áy¡Á| Áy¡Â~¢Åu¢¿v£Ãr ÀqŸÂož¿p£ÂsÀožÀvŸÃeŸÀoŸÀq¢Âhž½oœ¿i¿i˜»g˜¼bš¾d›¼h›½cš½[•»c™½cš¿`™½b˜½_–¼_”»d“»c™¼W»f˜½jšÁi™¼i˜½_™½Z˜¾\•»X”»_•¾a—À\š½`˜¾g–»g™¾g¼`™ÀbšÁb˜½lžÀl›Àv ÀŸÀw¡Áw¡Ä£ÃpœÁpŸÁk™¾n˜¾l¿hšÀkÀg›¿hœÁgšÁnš¿j›Àg™¿^–¼a›¾`œÁe™¾n›ÁmÀh™Án Áp¿sœ½pžÀo ¾kœÁq™½jš¼lšÁk™Áf›Á_˜ÁešÂiÀe˜¾kœ½s Âr¤ÂlžÁjœÁp›¿ižÂgÀf™Ád—¼p¿`›À_˜¾^šÁb›Ád˜¿g™¿fœ¿d›¿`™ÁhšÀjœ¿hÁjžÃ_›¿eš½jœ¿k™À`™ÀfœÀgžÁišÀnœÂcœÁ`œÁbšÁi›ÁeœÁf›ÁmžÂkžÂd¡ÃeŸÃhŸÃdšÂh¿v¢ÃjŸÁl›ÂeÂl ÃlžÁcœÀeœ¿hŸÁlœÀeÁp¢Âl¢Æm Ãt¤Ån¡ÂkÂfœÁiÁn¡Âj Ão Áj¢Æl£ÃjÁjžÁk¡Ál¡Âl Ãe Æu¢ÄkÁp ÃlŸÁq¥ÆlŸÃjœÃo¤Æg¡Änºo¡Áp Âq Ão£Âp¤Ãw£Ãs¡Âr£Åp¢Äu¤Ån¡Àp¢Än¢Án¢Âo¢ÅoŸÃn¤Çp¡Än¢Äq¢Äk¢Äs¢Ãp Äi Ãp¤Ä{§Çh£Äp¤Âo£Ái£Æo£Ãu¢Äv£Ãz¦Åt¥Æw¥Æu¤Æn¢Äy¥Çw£Æ}¤Æo Âu¤Åy¦Æk¤Ãl¦Åh£Ås£Ãz§Æw¥Äu¥Äw¦Åm¤Åx¦Æq£Ä{¦Æs£Ão¢Äv¤Åq¤Ãt¥Æs¥Åq§Çr£Åw¤Æw¤Æu¥Äy§Åy§Çx§Çp¤Ær¤Ä~¦Æ~¨Èv¤Æx¥Æx¥Æy¥Çx¤Äv¥Å§Ér£Æt¤Æw¤Ær£Ãv¦Ç}©È©Æy¨È‚ªÆp¨Æy§Çy©É~©È¦Å~¦Ç}§Ç‚ªÆx¨Æ~¨Æ}¨ÇªÈw¦Ç|¦Æ€§Æ|©Å~ªÇ}¨Èw§È}§Ç¨È~©È‚ªÇ}¦Æ¬È~ªÇv¦Çz§Éx§É|§Éx¦Ç„ªÈ{§És¨Èu¥È}©Èy¦Çn¤Å¨Ä{¥Æ¨Æ|§Æ}¨Èt¦Çx¦Åu¦Æ¨Æ}©Ç~ªÈ€©È~¨Èr§Çv§Æ~¥Åo£Ã€¨Åz¥Å{§Çy¤Çz¨Ç}ªÉt¦Ç~¨Æ€ªÇ…¨Æƒ§Ç~ªÈ‚©Ç|©Æ«ÈƒªÈ†ªÈ}ªÆ†ªÇ~ªÉ„­ÊŠ®Ë€«Ê~ªÈ…®Ç{¬Éy¤Æx¦Çz©Ç‚ªÇ€¨È©Çy¥Æ}§Æ©Ç{©ÈƒªÇz§Ç‚ªÈ‡¬Éƒ¬ÊªÊ‚«É‹¬Ë¥¹Ñ­ÀÔ´ÄÖ¼ÉÚ¹ÈØ°ÂÖ±ÂÕ±ÂÖ®ÂÔ¬¿Ô¦¼Ð ¶ÎªÀÔ­ÄÖ©¾Ó¢¸Ñª»Ð¹ÆÖÂÌØÆÐÝÇÑÝÇÑÝÇÑàÃÌÝÂËØ»ÇÖ¶ÄÕ«ÁѤ¹Ð¥»Ñœ¹Ð ºÑ™¶Î—²Í—µÎ›µÍ£¾ÐµÇ×¼ÊÛ¼ÊÜÁÌܽÊÙµÆ×­ÀÓ°ÂÔ®ÃÖ˜¶ÏŠ®Ì†­ÊŒ®È’±Ê—´Í’²Ì•³Í–µÍ°Ì†¬É…¬É}«ÈªÉªÉ©Ç‚¨È‰ªÈ…«É}«É†­Ê«É|©È~¨Ç~§Çƒ«Ê†ªÉ®É‘®Ë’²Ë“±ËŒ¯Ê…ªÉ†©È‰¬Éƒ¬É¯È±Ì•³Ì”±Ë¯Ê˜±Ë˜²Ë³Ì¦·Ï¢¶Ñ›´Ë›´Ìœ±Ì’±Ë˜±É•°Ë’®Ê°Ë—±Ë™³Ìœ³Ì—³Ê¡¹Íª¾Ó£»Í©¹Ì©ºË¯¿Î²ÁÒ³ÁÓ¶ÃÔ»ÇÔ¾ÇÖÁÉÖ¿ÊØ¿ÈÙ¾ÉÙ¿Ç×½ÆÖ»ÇÕºÃÕ»ÅÖ¼ÆÔ¼ÅÕ½ÆÖ½Ç×½ÉÖ¼ÇÖ¿Æ×¿Æ×¿ÈØÂÈ×ÁÈÕÂÉØÁÉØÁËØÁÉÖÀÉ×¾ÇÖ¿Ç×ÁÈ×¿ÇØÁÇØÀÆØ»ÇؽÆÖ¼ÇÖ½ÈÛÁÉ×ÂÉØÁÊ×ÀÉ×¾ÈÖ½ÇÖ¾ÈØ»ÃÔ±¾Õ¹ÀѶÂÓ¸ÀѽÂÓ»ÃÕ·ÄÓ·ÁÒºÀѹÂÒºÄÓ¼ÁѺÃÓ½ÇÖ¼ÅÖ¼Ç×¿ÇØÀÇØÁÉÙÃÊÕÁÊÙÄÌÚÄÌÛÂÊØÂÌÚÃÌÙÅÌÛÄËÖÇÍÛÈÏÛËÑÝÌÒÞËÓßÉÑÜÉÐÛËÑÝËÑÝÌÖÝÍÕÝÎÓßÏÖÞÎÕÝÎÖÝÍÓÝÎ×ßÎÖÝÏÖÞÎÖßÏÕÞÍÕßÌÖÞÎÔßÍÕßÍÖàÌÖßËÓÝ¿ÈÏÅÌÓÉÐÖÍÖÝÎØÞuž¹x¤½v¡¾u¢Àv¤ÀrŸ½v£Áx£Âx ¿y¡½m ¿s¼tŸ¾v¡ÁtŸ¾p ½q£Áh ½iŸ¿s¢¿jŸ¾dŸ½j»pž½k ¿fœ¿l½i½^˜»Y”¹_—¼W–½[˜½Y•¼U”»U–»Z’º\—¹X—º^š¼b˜»O”»R”¼c—¿\˜»X“ºW—½^•ºbš½Zš½bš½U™¿Q’»T“¹Z–ºc—ºg—¸_–»[˜¾c–ºe—»b–¸i™»jœ»mš¼pœÀy¢¿v£ÂsŸÂv¡ÁwŸÁqž½rŸ¼q¿j™½pÀeœÀd›¿aœÀ_™»h™¼c˜¾hš½^–»T”¼]™¾bšÁmœÀmžÀmŸ¿fš½iš¿kš½nž¾l¡Áj¢Âeœ¿hš½lŸÂl¿dš½mœÀfš¿hœÁgšÁc˜½d›Àj›Àiš½hÁc¿b›½fž¿hœÀfšÀaš¿c›½_™¼Xš¾W˜½`š½f›¿dš½dš¿a›ÀfÁc›¾bš¾`˜½^›¿V—½`™À^—½^˜¾^›¾Z™¾až¿fœÁ]™½dš¿hœ¿\˜½_›¿eÀkžÀ\›ÁeœÀfžÀnÂ_šÁdÂiœÀf›¿gÁc™Àg¾d¾jŸÀhÀcÀd ÁbŸÁgŸ¿fœÁl¢ÃlžÀnŸÀlžÀfžÁc›¿f ÁkŸÁi ÀjŸÁj£Áv£Äm Áo¤Ã`Áj¡Äj¡Ão¢Áe ¿gžÁ_›Àl Ák¡Ãj¢Ál Án¢Ãi¡Ás¤Än¡Ám¤Âd Ãn¢Ãm¡Ám¡Áp£Ân£Ão£Âo Ál¡Âk ÁjŸÀq¤Ån£Ão¤Âh£Ãg¢ÂjžÂl¢Ãn£ÂhŸÁm¤Äl Âc¡Ão£ÃfžÃq£Æg¡Ãm¡Ãf¡Ãm¡Àv¥Åq¤Ãf¡Äl¤Ão¢Äi¢Ãv¦Ãp¥Âj£Âl£ÁižÁm¤Ãm£Àm¢Æl£Âi Âj¡Ák£Âq¥Ãm¤Åq¤Ä€¦År¤Åo¤Äv¥Äl£Ãt¥Äq¤Âw¦Ây§Ãu¥Æw¦Çr¤Ãn¤Ãs¤Äm¤Ãp¤Äs¦Åm¤Ás¤Æp¦Çq¤Æj¤Ãj¢Âx¤Æq£Ãl¢Ãs¥Æm¤Æs¤Åw¥Âu¥Án¦Äw©ÆªÇz¨Æx¨Æv¥Åy§Æt¦Åt¦Æ{¦Ãv¦Äz§Ç…¬ÉªÉu¦Çw¦Åw§Ät¦Ås¦Æs¥Æz¦Æz¦Çx§Çx§Äx¨Æ~ªÆz¨Æu©Çx§Æy¦Çy§Ær¥Æs¦Çu§Ät¤Æs¥Åq¥Æw¦Çu¥Çy¥Æ|ªÈt¦Äv§Æy¨Äz§Æw¥Äv¤Äx¦Æt¥Äu§Æt§Æz¦Äw¥Åw§År¦Æx¥Ær¥Æu¥Æz¨Èx¥Ät¤Äs¤Äq¤Ät¦Åv©Çz§Æv¦Åx©Åy¦ÆzªÆy¦Ç€ªÄw¦Åz©ÆwªÇzªÇt¤Æv¤Å~©Æ…«Çy©Ç|ªÉ{ªÉ­É«É|§Æ‚©Æw¥Æv¥Æx¨Æv©Çx¨È|ªÉ{§Ç¦Å}¦Æz§Åz¦Ãu¦Ær¤Æ|¨Ç{ªÇ©È©Ç‹®Ë–·Ïš¶Ï«ÂÓ±ÄÖ¨¿Ô ¹Ñ¤¼Ò£»ÏŸºÎ™´ÌŒ±Ì’³Ì›¸Ï™·Î—¶Î©½ÑµÆÖ¼É×ÂÎÚÅÎÜÄÐÝÃÎÙÂÌÛÂÌÛ½ÌØµÅÖ©¾Ó¦½Ï¦»Ñ£¸Î™¸Íž¹Ï—³Í‘¯Ê’°É‹¯É¤¹Ï¯ÂÓ±ÃÖ±ÄײÆ×©ÀÓ¤¼Ð¢ºÑŸ»Ð±Ë~ªÇƒ­É~«É‡¯ËªÈ‚¬Ë®Ë‚®È~­É‚«Çx¦Åy§Æ~ªÉy©Èy§Æ~©Æ„ªÈ‚¨Æ‚­È}ªÈ|ªÇ„ªÊƒ©É§Æ~©Ç‚«È‰­É‘²Ë‘²Ë—²Ëˆ«É|©Ç|§Æ‰®È}ªÇ‡¬É°Ë›µËœ´Ë›²Éš´ËµË˜³Ìœ¶Í¶Î›¶ÊšµÌ•´Ë“®È˜±Ë—®Ë‘²Ì’±Ê±Ë™²É ¶ËžµÌœ´ÌšµË ·Íª¶Ìª»Ì­½Î¯¿Ò´ÃÒ¸ÆÔ½É×½ÊÙÀËØÂËØÁÍØÀÌÚÀËØ½ÊÖ¾ÇÕ»ÇÖ»ÆÖºÅÖ»ÆÕ¹ÆÖ¼ÆÖ¼ÈÖ¿ÉÖÂÈØ¿ÈØÁËÙÃËÙÃËÙÁËØÁÍÙÁÎØÃËØÀÉØÁÊÚÁÉÙÃÉ×ÁË×¿ÈØ»È×¹Æ×»ÅÔ»ÆÓ½ÇÖ½ÇÖÁËØÀËÙ½Ç׿ÉÖ½ÆÒ½ÆÖ»ÄÖ¶ÁÔ¶ÄÖ¶ÃÒ³ÁиÄÔ¶Å×·ÄÖºÅÔµÂÓ¸ÂÓ¸ÅÓ¶ÄÔ»ÅÔºÆÓ½ÇÕ¾ÇÕ½ÇÕ½ÇÙ¼ÉÔ¿ÉÕ¿ÊÖÀÌØÃÌÙÃËØÃÌÛÅÌÙÁÎÝÂÌÙÅÎÚÇÐÛÈÐÛÉÓÜÉÑÜÇÒÝÉÑÝÇÏÜÇÑÜÊÓÜËÓÛÌÔÞÍÕÝÍÕÝÎÖÜÌÖßÍÕÞÌÕÝÍÖÝÌÖÜÎÖÝÌÖÞÌÕÞÌÕÝÊÔÞËÓÛÇÑÛ½ÌÙ²ÁÁÃÌÑÇÑÕÍ×ÜÎØÞ}£¸rŸ»€¢¾už½x ½tž½y£Ão¢Àx¤Á¤ÁsŸ¼| ½nŸ½lš¼pœ»p¢Àm¢¿u¢¿u ½oœ¼jŸ¿kŸ¼i›»mœ½jš½iš¼eœ¼iœ»f–¹d–¹V”¹^’»_”¸Z–º`˜»Z–º[”¹^–¸T“¹W’·`•·bš»V”ºa›¿]š½U”»h™ºU•¶Y’·W·Y“¹b˜½W’ºZ—»j—¹fšºjš¹`–¹d–ºj›»k›»rŸ¿m¾sš¼s¼w¢Ás ¿w¢À¤Ãkž¿qŸÀpž¾nš¼n»f—¼a˜ºiÁd›¾c›½cœ½d—¼d–ºdš¼[˜»\–»ižÀg™½l¡ÂnŸÁh¿hš¼g›¿g™½fœ½hœ¾i¾nœ¾lž¿l™º[˜»e½d›½m½aÁaš¿f™¿gš¼jš»gž¿fœ¾kœ¾gš½pŸ½h¿eœ¿`˜½`˜¾_š¿Wš½]™½^š½^˜¼`™½hŸÀ`š¼g›¾\—¼[—»[–¼b›¿b—»dš¾gÀj¿ež¿^™½_š½]˜½iš¿e˜½dš¾eœ¿f›¾\—»`š½i ¿c¾c›¾fŸÁd›ÀfÁ`›¼l¡Àg ¿g¿fœ¾bœ¾fœ½e›¿bš¾fš½hš¼hž½aœ¾l¡ÁgœÁf›Álœ¾v¢¾lŸ½ež½`œ¼]›½fÁe¿e¡ÀiÁe¿n£Ám Àe½hŸÁp¤ÄkšÁl Ãt£Åk£ÀfžÀn¤ÁjŸÁm¡Áo£Äo¢Âj¡ÀhÁnž¿f¢Àd¡¿p£Ám¡Àiž½m¡Ág¡Àjž¿eŸÁhŸÀhŸÀhŸ¿m¡¿kžÀi¡Àp¤Ái¡Ák ÁiŸÁp£Áu¡Ào¡Âp¡Áj£Ãk¢Ãi¢Äj£Ãk¡Âe¡Ái£Ãe Áh¡Áo¡Àj¢Ág¢Ân£Át£Áp£Áp¤Âm¦Ãf¢Ào¥Äk¢Âq¤Ãs¤Åv¥Âs¤Âu¥Äs£Âq¥Äo£Át¦Áq¥Âs¥Är¦Äw¤Ât¤Ãr£Åo¤Ãq¥Áp¤Âr¥Ár¥Ás¦Är¤Äq¤Át¤Äy¦Ãv¨Åu§Æu¥Ãk¡Áp£Äv¥Är¤Át¤Ät¦Åx¤Ät¥Âv¦Ãu¥Äo¥Åx¦Æx§Åt¤Åt¤Äz¨Ä{¨Ãu¤Äw¥Äq¥Åo£Âz¦Å{©Ç€ªÅv¨Åw©Æx¦Åz§Äu¤Åu¥Äy§Æq§Æt©Æv¦Å}ªÇx¦Åv¤Çv¤Äv¦Ä{ªÇ~«Æv©Çv©Çw¦Æq¤Æq¥Ãy¦Çs¥Æy§Åu¦Æu¤Ä~ªÆy¥Äx¦Äu¦Äv¨Åy©Èx§Æw¨Æ~©Æy©Æw§Æw©Æu¥Ä|¥Æy¨Æp¦Åu¦Åy¦Æz¤Äz§Ãy©Æp¥Ær¥Åq¤Âv¥År§Æy§Çt¥Æv¦År¥Ãm£Ãv§Åy©Ä~§Ä~©Æ{¦Å}©Æ~ªÅz©Åv§Æz§Å}ªÇªÆy©ÇyªÆ{§Ç|§Ä}©Çz¨Æ}¨Çw¨Æ|¨Ç}§Ç~§Æz§Æ|©Æ{©Æx§Äy©ÆªÆ|ªÇ}¨Ç€ªÈ…ªÆ…«È‰®Èž¹Ïš·Í“´Í“µÌ˜´Í™¶Î±ÊŒ®ÉŒ®ÊŒ±É‰²ÉŒ²Ë©¾ÑµÆÖ½É×ÁÌØÂÍØÁËØÃÍÛÀÌÙ¿Ë󼃯²Â×±ÂÓ±ÃÓ«ÁѪÀÏ©ÀÒ£¾Ï¤»Ñœ·Í—¶ÌŠ®Æ‰¯Ç˜¶Ì˜¶Ïš¶Î“²ÎŒ°Ê‰­Ê±ËаɩƪǪÇz©Æ€ªÇ…ªÈ„¨Çˆ¯Ë«ÇªÇ|¨Æz¥Æu§Æ}«Ç‚ªÇ}ªÈr¤Æ…ªÆt¥Ä€ªÉz©Æƒ«Ç}­É„©Ç„«É‚ªÆx§ÆªÇŒ®Ê“±Ë±Ë®Çy¨Çz©Ç}©Æ©Æ‰«Æ‘¯Ç“±Ê›µË²Ëœ´Îž¶Ì ¶Ë µË µÌŸ¶Ë¢·ËšµÌ•±Ëš²ÌšµÊ•±É—´É—²Ê›µÉ ·ÎŸ¶ÌŸ¸Î ¶Ë£ºÊ¢¸Ì¤ºÌ®ÁÏ®½Ð±ÃζÅÔ¼ÈÔ¿ËØÁÎ×ÄÌØÆÎÙÅÎØÃÍØÂÌØÁÊ×ÂÊ×ÀË×½ÉÖ»ÈÔ¿ÇÖ½Ç×¾Ê׿ÉÖÀËØÃËÛÅÎØÇÏØÄÌØÅÌÙÄËÙÄÌØÆÌÙÃÍÛÃÍÛÁÌØÄÌÙÀÉØÀËØ½ÇÔ»ÆÖ»ÇÖ»ÈÖ½É׿ËÖÂËÙÃËØ¿ÈÖ¿ÇÓÀÉÓ½ÈÔ»ÆÓ¹ÃÕ»ÄÖ·ÃÑ·¿Ðµ¾Ï¶ÂÒ·ÅÒ¸ÅÒ»ÄÔ»ÅÕ¼ÅÒ½ÄÓ¹ÄÒ¼ÆÔ¼ÆÒ½ÇÔ½ÈÕÁÉÔÁÉÕÂÊ×ÁÊÖÂËÖÂÌ×ÃÌØÃÌÖÃÌÙÅÍÚÆÎØÇËÙÈÌÚÇÐÜÇÒÛÉÒÝÆÏÛÉÑÝÉÓÚÌÑÜËÓÚËÒÝËÓÞÌÖÝËÔÝËÕÝÍ×ÜÎ×ÞÌÖÝÍÕÝÌÓÝÊÒÜÊÒÜÈÔÝÈÓÜÇÑÜÅÑÛ¾ÌÚ²ÂÓ­¼ÁÁÍÐÆÑÓÌ×ÚÍÚÞ~Ÿ¼u»z ¾y¢½}ž»t»} ½w»rœ½zŸ¿y¢½uš»rž½sœ½u›½u½mš½jœ½iš¾vž¿m»t ¼mš½j˜¼h–¹dš¼f™¼d˜¼b“ºb–ºa’º`Ž·bޏX¹\“ºb—¼_—¼`–»b˜·X”·Z“·b–ºb–½g—¼_–¹W’»Y“º`–ºY’¶_‘¸d˜¼b—¹`޹d“»g™¼hš½Z”¸`”¹`•¼d™ºk˜»pœ½u ¿}¡Â€¢Â…¡» Á€¡ÁzŸÂt™¾p˜¼p›½t›Àl›¿gš½h–½m˜¼g–»Z•½b•¾`—½`™¾f™¾g˜»i˜»d˜¼i˜»b—¾hœÁjÀd™½k›»l›¼e•½oœ¾iœ¾^—»g˜½c™¿fš¾ožÁi˜¾n˜½lœ¾j¿lÁl›ºjš½g›½l™¾l›Àrš¾j›½kœÁm›Àh›¿a˜¼hš½d˜½g™¿k¿\˜¼`˜¿_˜¿V’¼^˜¾d™½kš½i˜¾d—½c™Àa˜¾]–¿d˜¿hœ½i¿h˜¾lž¿j™½a˜¾bš¿dš½g›ÀnŸ½jœ¾i›½nœÁb—½ašÂo›ÀmœÀc™¾i½g›¿n›Àiš½_—¼j›Àf™¾jœ¿h›Àgœ¿jšÀb™¿mœ¿qž¿o›¿j›¾gœ¿i Áf›¾iš¾tŸÁo¢Ão¡Ãj¡Ákœ¾jœÁg¡Áq¤Äo ÂnÁl¡Ãi¡¿gžÀjÁm¢¿gšÀkŸÁvœÀmœ¿fÁ`™½kžÃn¡Án¤Ãm¢Àm¡ÀržÁnÀiž¿lžÂfœÁk ÁfœÀkœ¿t ¾n¿j›¾išÁnÁf›½jœÁnŸÀo¢Ám Âq¡ÁkÁu£Ãj¡Ãj¡Ãk¢Ãk¡Ár¥Æw¡Ás Áo¡Âr¡Árž¿l Àm£Ãp£ÁsžÁk ÁmžÂm¢Âr¡Ár¢Án¢Áu£Ãv£ÅpžÀk¡Àq¢Áu¥Â{¢Ât¢Ãp¤Æj Àq¤Âu¤Ão Â{£Âq£Áy¤Â~¤Äw¦Åz¦Åz¥Åy¥Ãu¡Ár¥Âw¥Äw¤Ár¢Ãl¤Æt¥Åz¦Æw¢Ãz£Åt¤Á{¥Ãp¤Ãt¡Âx¤Åt¤Äz¥Ås¤Â~©Æ|§Ä{§Ä~§Æ{¥Æy¦Å}¥Å{¥Ãw¥Ãu¥Ãx¥Åx¥Åy¦Æ€§Æ|¦Ç{¦Æt¤Âw¤Âx¦Å}¨Æy¨Æy¤Å}§Æz¤Çx¥Æ}¥Ã|¨Æw¦Æ§Ç|¥Æy¥Å€¨Ãu¥Ås¤Ãz¥Â|¥Æ{¥Ã~¦Äv¦Äy¤Ãu¤Æx¥Ãn¤Ãt§Ä{¦Åo£Ãy¤Äz¦Æy¦Æq¥Åx¤Æt¦Äz¨Ä{¦Å¥Ãv£Ãq¢Ä|¤Æu¤Åx¤Äu¤Ãs¥Ãw¥Ä~¦Åx¤Æx¥Æ|¥Æx¦Ç~¦Çz¨Æ¤Ã}¤Ä{¥Ãv£Äw¥Å{¥Å}§Æ~¨Æw¦À{ªÇy¦Æ‰¬È„ªÈv¥Æy¥Ç©Ç~©Ç{¨Ãt§Çz¦Æ~¥Æx¥Æ~¦Æ|¥Æ~§Å‚§Å}§Æy¥Ã€¥Ã|¦Å|¦Å{¦Æ€¨Ç}¨Ç|¨Ä„¨Æ‰­Ê‰¬Ê‚«È©È…¬É†®Ë…®ÈªÇ…«É‡ªÉƒªÆ«Ç—´Î§½Ò±ÃÔ³ÆÖ½ËؾÈ׽ɨ¿ÉؾÉÙ¸ÇÖ«¿Ó¯ÁÔ¯ÃÕ°ÃÓ¬ÀÒ«¾Ñ¥¼Ïž¹ÐŸ·Ì•±Ê…¬Èˆ¬Çˆ«Æ…ªÈ†ªÆ„«É}§Å€©Ç€©Èz¨ÇƒªÆ¨Æ…¨Æ©Æy¨Æ€ªÈz¨Æ~ªÉƒªÇªÆ‡ªÇ†ªÆ}¨Æ|©Ç}¨Ç¦Æ~¦Ç}§Ã~¦Ã…ªÇ†«Ç‰ªÊv§Æ¨Ç~ªÆ‚ªÇ~©Æ©Ç„©Æ”¬ÉŒ¬Ê€ªÉ‚©Æ„©Æ‚§Æ…ªÇ‡«ÈŽªÈ­Ê–±ÊŸµÊ£µË£¹Ì¡·Í¤¶Î¥¶Ì¥¶Í¢¶Î¤¶ÎŸ³ÉµËš±Ë–±Çž¶ÊžµÊ›²Ë¡¶Ì¦¸Ë¤¸Ì¤·Ì ¶Í¦ºÑ«ºÌ®ºÎ±ÁгÂϺÄÓ¾É×ÂËØÄËׯÍÛÇÎØÈÎÛÆÍÚÄÌÙÃÌ×ÄÌÙÄÌØÃËÚÀÉØÂÉÖÁÇÕÃÉ×ÃÊ×ÃËØÅËÚÇÎØÉÏÙÇÎØÇÎØÉÎÙÅÌØÄÌØÉÍÙÇÎÛÆÌÛÆÎÝÆËÚÀÉÖÁÈÔ½Ç׺ÇÖ¼ÄÒ½ÆØ¾ÇØÃÊÚÄÌÚÃËÖ¾ÇÖÀÉÖÂÈÖ½ÄÓ»ÆÕ¹ÅÔ»ÅÕ»ÄѹÁ϶ÀѵÃÔµÂÒ·ÁмÅÓ½ÆÕÀÈ×ÀÇÖÀÆÔ¾ÆÔÁÈÖÃÉÔÃËÕÂÊØÃÉ×ÂÊØÂËÙÄÌ×ÃËØÃÌÙÅÎÚÃÍÚÆÎÚÆÌÛÇÎÛÊÏÜËÑÛËÑÙÊÑÛÉÎÛËÐÛÌÐÝÍÓÝÍÓÜÏÔÞÎÔÜÎÔÛÍÕÜÎÕÝÍÔÞÌÓÞÌÓÞÌÓÝÊÑÛÆÏÛÃÎÜÁËÙ·ÈÙ¬ÂÖ¤½Ò¤¼Ð°½ÃÅÌÐÈÑÓËÖÙÎÙÝ{ŸºvŸ½~¢½x£¿yŸ½rŸ½o™ºu›½u˜¿yž½uœ½m›½s¿lžÂn¾w¢½yž¾lœ½e™»j›¾mŸÂjžÀeœ¾c˜»\–¼j™¼e˜»`–¹\ºY”½T’º`•ºc•º_”½_”¹^“»Z–»c™»a–ºd˜½\”¼aš½a“»d–¹_–»P‘»X–»^‘¹b˜¼_•»_Ž·[’¹Z‹·`˜¾S‘»Y•»Y–»`”»b•¼nœ½sš½y¡Á}£Áƒ£Äx¡Á¢Á£Â€¢Á~¢À|ž¿wœ¿wžÁr›¿mš½e–½d™¿jœ½k™½a•»^—½\“½c—½b—½c–¼_—¾h™¼`—¾h™Ài˜¾i›¾e™¾oš¿`–½l›½pœÀh—½^–½]–½_”¼l›ÁfšÁa›Áeœ¾n¡ÂiÀvÂnœÀp½kÁm›Àiœ¾h™½k›¿tšÁkšÀf™¾`–½ešÀ_™¿aš¾cœ¿kœ¿f—½a”¼d—¿`™¿bœÀfœ¿e—Àd˜¾c™À`—¿ešÀbœÀ]˜¾]™¿a˜¼eœÀd›Àg˜¿b˜½dšÀi¢Ã`š¿f›ÀcšÁp¢¿cÂrÀgÁg™¿o›ÀcšÀdœÁlžÅgžÂf›Âh›¿h›ÂhÂiÁmžÁg Ág ÁgŸÁe¿jžÂiœÁoœÀkžÀkœ¾k Àq¡ÃjÃsŸÁižÂjÁk¿mžÁp Ál¡Âl¡Ál¢ÆkžÁmÁjœ¿p¡ÁgžÀd¿p¡Át¢Áo¢Ái¿ožÁi›ÁmŸÁw¢Át£Ãq¤Ån£ÄkžÁfÀsŸÁižÀkÀjÁlžÂn Âj Ân ÁiŸÁi¿hÀo£Ãq¤Ãl Ân£Ãu¤ÃnžÀiœÁjÁmž¿n£Ãm¢År£Æj Ãm¡ÃnžÂoŸÃs¢Áp¢ÃnœÁn¡Âq¤Åt¤Äm¡Âo£ÃjŸÃržÂt¢Ät¡Åv¤Âx£Äu¤Ån¤Äx¤Ãm£Ãt¢Ãx¤Äp¡Ãp¢Ãs¢Åp£Ãk¡Âw¤Åm£Åu¡Åv£Ã{§Åx¥Åy¤Ãs¥År¢Ät£Ãy§Æo¤Åk¤Äj£Å~¨Æo¤Çv¤Åt£Åy¦Æv¤Æz¥Ãz¤Åw¦Ç}§Çy©Éx¨Æu¤Åq£Å}¤Å~§Æx¤Æz¥Æw¥Ç}©Èt¦Æu¤Ä~§Åv¦Ås¦Æx¤Çv§Ç|¨Ç‚ªÈ|§Æ¨Çw¤Æw¥Æx¦Çv¦È|¨Ç{¥Éy¨Æx§Çz¥Åy¥Ç€§Ç~¦Èx©Ç©Éw¨Çy¥Çs¤Ä¥Åx¥Æ~¦Æs¥Çq¤Æw¤Æw¥Æx©Æ¨Çu¥Çz¥Æx¤Ær£Æ~¦Çz¥Çw¥Æv¥Æ§Æ|£Æ{¤Æy¤Ãv¤Æo¤Åz¨Çu¥Åt§Çv¤Æ‚©Æ¦Æw§Å{¦Ç|©Ç§Ç¥Ç§Å§Åv¥Æ€¨Çx¥Æy¨Æ¨Åv¦Çz¨Çx§Æy¦Ç|§ÆªÈp¦Æ}§Æ{¨Ç{¨Çƒ©Çx¥Çy§Å©Ç¨Ç€¨Èy¨Èv¥Çy¥Æ¨Çx¥Ç©Ç©Ç}ªÈz§Ç}¦Æx¦Æ¨Æ…¨É§Ç‚ªÇƒªÇs¥Èx§Èy©Çƒ©É‚©Ç}¨Ç}§ÇŒ­Ë–´ÑŸ¹Ñª½Ó¶ÆÕ¸ÇØ½ÉØ¾ÆÖ»ÉسÃÖ­ÀÓ«ÁÒ¨¾Ñ¢¹Ñ£»Ð¡¹Ï˜¹Ï—¸Ð˜µÏŒ¯Ë‚«Èw¥Æƒ­Ç~ªÉƒªÈ€¦È‚§Ç‚ªÈx§Æ©Ç©Ç€ªÇ‚¨Çz§Ç¦Çƒ©Èy¨Ç{¦È~ªÈy©Ç{§Ç}¦Çz¥Ç~¨È}¨Ç~¨Æ}¦Ç„ªÇ…ªÈ}«É~©É|«Èo¤Æ}¨Ç~©Ç€©Ç‚ªÈ€ªÈƒ©É‚ªÉ†«Èƒ«É‚§Ç¦Æ}§Æ€©È‚©È…­É®É›·Î¤·Ë¥·Í¨¸Ì¨¹Ð©¹Ñ¥·Ï¥¹Ð¤¸Î¤ºÌ¤·Ìž³ËŸ²Ë¤¶Ì¢¶Î™³Î¤¸Ð¥»Îª¹Í¤ºÍ£µÍ¥·Ì µË¨¶Ì­»Ñ­ÁÓ°ÂÔ¶ÄÕ¼ÈØ½ÊØÁÌØÅÌÛÆÎÛÆÏÜÄÎÛÄÍÚÄÌÚÆÍÚÅÍÙÂËÚÂËÚÂÊØÁÊÙÄÌÙÁÌØÅÌÚÇÌÜÇÏÛÈÏÛÆÐÛÈÑÝÇÏÜÅÎÜÇÎÛÅÌÖÅÌÙÃÎÚÃÎÜÁËÛ¿ÉÛ¼ÊÚ¿É×¼ÆÖ¼ÄÕ»ÅÖ½ÇÖ¾È×ÀÉÙÁËÛÁÊÚÀÉÕ½ÇÓ½ÅÔºÆÖ»ÇÖ»Æ×¸ÄÖºÅÕºÂÔ·ÂÓ»ÅÔ½ÆÒ¾Æ×ÀÉØÁÊÚ¿Ç×ÂÉÙÃÉÙÂÌØÃËØÄÉÚÂÉÙÆËÙÂÊ×ÂÌÙÄÍÙÅÎÚÆÌØÆÍÛÆÌÚÈÍÝÇÏÛÆÑÜÉÑÞÇÒßÉÔÝËÒÞÌÐÝÌÏÜÌÐÜÌÓÝÌÔÝÌÔÝÎ×ÞÍÕÞÏÖÞÎÓÝÎÔÝÌÓÝÊÒÜÇÏÜ»ÉÚ¯ÆÖ®ÅÖ«¿Ò¤ºÏ£·Íž¸ÎŸºÎ¥ºÄÂÍÔÇÏÓÌÔÙÏÙÞ€Ÿ¹~ »u ¼pž»sŸ¿rž¾r¼mš½jœ»mœ¼o½h˜ºj™¼jš½eš¾n™¼nš½c•ºg˜»]š¼^•¹f™ºY•»S’º\‘»Z“¼_—ºa™»W–ºX•¸V’»SŽºY¹[ºU¸X¹U·aš»[“ºb’»\¸VºWŒ»V‘¸]–ºZ–»V‘¹Vµ_’»\•»bº`•¹]“»Z“»[–¹`‹´\“¸`Ž·Z“¸g–»p›Ár¿s »z£À€ ¿„ž¾¢ÃuŸÁw Á|¢Ã€ŸÀtž¾v¼t½n˜¾^˜¾d—½f–½`—¾_–¸[’¹U’º^•¼_“¼h•¼i™¾g™Àe˜¾Z’·_•¾]—¼`–¾W»c—½h–¼^—»^–º]™½bš½e˜»b–½^•½X•½l›½k›¿jž¾d™½cš¼aš½k™½b–¾a”¼f–¿m›¿b›½c—¼`™½i˜¾^—»`š½^–¼^—½`–¼^—½c˜¼`˜½`˜¼d–½_•½b˜¿Y–½b™ÀZ–¼bš½k¿k™¾\˜¼jœ¿bš¿e›Á^—½kš¿e›¿iš¾_–¼h˜½nžÁl™½d›ÁdšÁfš¾jš¾c˜½ešÀ[—½]˜¿bš¿e›Ádš½kžÁdœ¿a™¼f˜¿`—½nžÁašÁgœÁn Àkœ¿cš½kœ¿f›¿i›Áf˜¾_•½jžÀc›¾^›½k ¿mÁi›Àcš¿mÃiœ¿lœ¾k¾džÀjžÃgœÀj¾kœ¿mÁp¡ÁmÀp ¿w¤ÁmžÁh›¿h›¿iœÁkœ¿jž¾kœ¿eš½gš¿h›ÀmÀp¡Ágš¿oŸÀo ÂiÁj Âq Ái›¿jœÀiÀgÀq ¿ožÁd™¾mžÁt¢ÃgÀhžÂkÁgœ½s¢ÁlžÃoŸ¿p¡Àw¤Ãlž¿n¤Áh¡Áo¢Ãt£Áu¤Ãy¤Áu¡Ák Ák Ào¡Âm¡Ák¡ÂmŸÁp Âl Âs¢Át¤Âr¢Ám¡Ár£ÄlÀq¡Än¢Ãw£Â{§Åy¦Åq¡Ãx¢Äj¢Åx£Äp¡Ãv¤Ès¤ÅežÀt¡Ãt¢Åy¤Åw¤Åo¤Ä{¦Çt¤Äv¤Æu¥Äw¤Æw¤Ãy¥Ãp¤Åy¥Ä{£Äw¢Âz¢Áo¡Âq¢Âq¤Ãv¢Âs¤Åt¥Åv¥Çq¤Ås¢Áz¥Äs¤Ãq£Ät¤Åx¦Æw¥Äv¥Åx¤Ã{¥Æv¤Ãy£Åw¤Äl¥Æi¤Åz¤Æ{¦Éy¦Äx¤Åt¦Å}¦Æ{¥Çz¤Æs¤Æu¤Æz¦Äz¤Ãy¤Æs£Ã|§Åw¤Æl¢Äs¦Ål¢Äq¢Äp£Ät¤Åz¦Äw¤Åy£Æu£Æu¤Äz¥Æv¤Åv¥Äx¦Åx¤Ãt¤Äu¥Æ}¦Æ|§Èr¤Äu¤Æw¥Äz¥Æ}§Ãu¤Æ}¤Å€¦Ç§Æy¤Åw¦Æx¤Äy¥Åz¥Æx¤Ãt£Ä€¥Æv¤Æ~¦Æ|¨Åx¦Æz¦Åz¦Å~§Æv¦Ç}¤Åv¥Æt£Äz¤Åv¥Æ}§Ås¤Åt¤Æv¤Æv¤Æs¢Æ€¥Äz¥Æx¥Å¦Å¦Å}¨Æw¦Èy¥Éw¤Æy¦Æ{¥Æ|©Æ|§Æ~¦Æ‚«Èn£Å}¦É§Æ‚«Æƒ«Ç˜³Ì£»Ï±ÄØ¶ÆØ¸ÄصÅ×®ÁÒª¼Ð£»Î”´Ì’±Ê’±Ë“±Ëˆ®ÊŠ¬Ê‰ªÇy¨Æ€©Æ¦Å~¦Æx¥Æw¤Ã|¦È€¨Ç~§Æ~§Äx¦Æt£Åy£Æ~¦Ç€§Çx¥Çy¤Çu§ÇƒªÇ§Æu¤Ãx£Æ~¨Ç}¥Åy¥Æz¥Ç}¥Æ§Æ€©Æ~¤Æ~¥Äx¤Ä}¦Å{ªÉv¨Èƒ¨Çz¨Ç©Ç~¨Ç¥Ç€¨ÆˆªÈ…ªÇ†©È©È}¥Ãy¤Å§Æ¬É”±É™´ÌŸ¶Í§ºÑ­¼Ð©»Îª»Î¦¹Í¡µÌ¤·Î¤¸Î¢¶Í ¶Ì¢µÌ¥¸Ë¢·Ì ¶Ìœ±Ê—³Íž³ÌŸ¶Ì¡¶Ì¢·É±É¡¶Î ¶Í¡´Ë¤·Ì©»Ì­½Ð¹ÆÖ½ÈÖÀÊØÀÊ×ÀÈØ¾ËÙ½Ê×ÁÊ×ÁËÖÄÍÙ¾ÉÖ½ÈÖÀÉÙÁËÙÁÊØÂË×ÃÊÙÅËÜÆÎÛÇÎÛÄÌØÆÍÚÆÌÚÁËÙÀËØÃËØÂËØÂËØÀÉÚÁÉÚ¿ÉØ¾Ç×¶ÆÕ²ÂÖ«¿Ó°ÀѵÃѺÅÓ¼ÆÖ½Ç×¼ÈÖ¹ÆÖ·ÆÓºÃѺÃÓ½ÆØ¹ÂÔºÂÔ»ÆÔºÄÔºÅÖ½ÆÖ¿ÇÖÂÇÔÄËÖÂÊ×¿ÈØÃÊØÃËÙÅËÚÃÊØÄËÛÃÌØÄÊÙÃÉØÂÊÙÅÌØÅÌÜÄÌÚÆÌÛÆÎÛÉÏÚÇÏÚÉÑÜÉÑÛÊÑÛËÑÜËÒÜÌÑÝÉÑÜËÑÜÌÑÝËÓÜÌÒÝÌÔÛËÓÞÎÓÞÍÓÞËÓÛÉÓÜÇÐÛºÉפ¹Ï ¸Í£¹Î›³Ì—³Ì´Ë›±ËœµË¦·ÂÂËÑÆÐÖËÖÜÎØßo¹y¤½vŸ½rœ»oš»h•¸jœ»i™»e™½fš¼n›»h™»oš¹`”»l˜¹nš»^™ºc˜»]˜¼\š»e›¹iš¼k˜»eš¼Z™»W”»b•»\—»a™¹dšº`—¼g”¹\–ºZ’»T¸]“·]’·[‘·[–¸c”¸\”¸TŒ¶[“¹R•ºa“º\’º\—¸W—¶X’¸_»b’»`’¹`–»a•¹_—»Z•ºb–»\’·d•º\“¸kœºm›¼nž»sœ»r›»v¿xŸ¿t¡Âv Áv ¿yŸ¿už¿tŸÁmšÀd˜¼g—¹_”ºZ”º^–¹[•·S”¸T”»Z‘ºb’¸i™»a•·gš¹R’¼]—½X–»c—¾`—½^•¸S¹_—»c—»cš½g˜ºf™¾e˜¿\’·b•»_–»e˜¹e˜¾eš¾_”»bš¼_—½hš½_—»Z“º]—»_š¼b›½^–½\•»^“¼^˜¼fš»W•¼U•¼]—½Z–½]˜¾`™¿\—½g›½cš¼Z˜½d™¼cœ¿d™¾a™¼a›¾a—½d›½a™½\˜¾i™¼eœ½\˜½ižÁhœÁcš¼k›½g™¾lœ½`›½cš¾a›ÀižÁdœÀiž½h¿fš¾hš¿h›¾]™½^›¾d›Àc›¾hž½fž¾iž¾m¡Ácœ¿dš¾iœÀjžÀkžÀk ½qŸ¾iŸ¿f¡¿e›½hœÁfÀa›¿w¤Ái ¿l ÁjŸ¾v Àgœ¼g›ÀhÁgŸÀhŸ¾lŸ¾d™¼o¿hš½g¿m ÁlŸÂjœ¿iŸ¿mž¿iŸÀ_›½a¿jœÀižÀiž¿b›¾i¿bœ¿nœ¾i¿jœ¿mŸÂiŸÂežÁn¢Ái ¾hœ¿p¢Ájœ¾n¡Àp¡ÁgžÁgŸÁk¡Án Át¡¿m ¿o¢Ào¡¿l¢Áj Ás£Âm¢¾l¡½n¡ÁlŸÀn¢¿jž¿lŸ¿l£Ân¢Ãm¢ÀlÂw£Âu¤Ân£Ân¡Áo¢Ào£Äp Âr¤¿r£Âq¡Ãu Áu¢ÂkŸ¾r£Ãx¦Ät¥Äu¥Áp¢Áp£Ás¤Âo£Äu¤Çu¥Çx§Å}¦Åv£Ãw¤Ãx¦Äs¤Ãu¤Åo¤Åx¥Åx¥Ãx§Âw¢Än¡Ãu¤Ãu¤Äs¤Ãn Áu¤Âu¦Ãv§Ãw¤Ãz¤Æp£Ås¦Æv¦Åv¦Äs§Ãv¦Ãu¦Âz¤Å{¥Ä}¨Ä|§Æ{§Åk¤Ãt¥Åt§Æt¤Æw¤Æv¥Ä~¨Æx§Äp§Æs§Æy§Æ|¦Äy¥År¥Æw¤Ãx¤Äu¥Æt¦Äy©Çz¨Åx¥Ãx£Äu£Ãr¤Åu¤Ãt¤Ät¦Ås¥Äx£Ãy§Äy¥Ä|¦Æ¦Äx¦Ås¢Än¤Äo£Äq¤Äv£Äs£Âx§Äx§Æv¥Å}¥Å~¥Är£Æ{§Å}§Å€¦Ã}¥Ãq¦Å}¤Â}§Äy¦Æv¤Ã¦Çz§Äv¥Ær¤Ã{¦Æv¦Åx¥Æw¤Ä|¨Ç|©Çs¤Äu¦Är¤Ãp¤Ãs¤Ã|¦Äu¤Äv¤Äw¦Æ{¦Åz¤Äx¥Åv¥Ä~¦Äx¦Äz¦Ä|¨Çz¨Çv¤Ãr¤Äv¤Ä{§Åx¦Åy¦Åy§Ç|¦Æz¨Çƒ©Æ€©Æ}©Å}¨Æ‚¨Ç€§Çw§ÇŒ«É‰¬É“³Ë¯ÁѰÁÓ­ÁÓ«ÁÓ›¶Ï„­É†®Ç…­Ç€ªÆ‚©Ç«Ç‚©Æt¥Åx§Æ{¥Æ§Æ¨Ä€©Ä§Å|¨Ç}¦Å}¦Æ|§Çt¥Å{¥Å{¥Ã€¨Åx§Æ}ªÆ{§Çv¦Æy¥Ç¨Åy¦Æ}¨Å~©Æz¦Æ~¨Æ~©Ås¥Är¥Æw¤Ä¤Ã~§Æ|¥Æx§Äy§Çy¦Ät¤Ãp¤Ç{§È‚ªÆ„«Æ€¨Åz§Äv¦Åƒ«È‚ªÇ€ªÇz§Å„ªÆ‘°Ê°È–²Ê¡¶Ë¤¸Ïª»Î©¼Ï©»Ïª¹Í¤·Í ´Ìœ¶Ê ¶Ë™´Ì•°É ·Í¤¸ÍµËŸ±É›´Éš³É™µË™²Ëž·Ì™±ÇžµË¢¶É¤µË µË¶Ë›²Ë¤·Ï®¼Ó®ÀÒ«¾Ñ°ÂÓ¯ÄÔ­ÂÓª½Ò²ÃÔ±ÄÓ±ÄÓ»ÉÖ½É×ÀÉÙÀÊØ½È×ÁÊ×ÄÌÙÄÌÚÄÌÚÂÌ×ÁÌÖÁËØ½ÈÕ½Ç×ÀÇÖ¼ÈØ¹Ç×¹ÇØ¶ÆÓ³Æ×®ÀÓ«¼Ð¤¹Î¤¸Ì¤¹Ð§¼Î¬½Ñ®ÁѳÄÓ°ÃÓ±ÁЮ¼Ð±ÁѶÆÖºÆÔ¼Ç×ÀÇÕÁÉÕÁÊÖÁÈÖÀÉÖÃÊØÈÎÛÆÏÚÅÍÚÆÎØÃÍØÆÌÚÇÍÙÆÌØÅÍÚÇÎÚÇÎÛÆÏÚÉÐÙËÐÛÇÍÙÅÎÚÇÌÚÆÎÚÇÎÛÇÑÛÉÑÛÉÐÝÊÐÚËÑÛËÓÜÌÕÝËÔÜÌÓÝÍÔÜÎÖÝÌÓÛËÓÛËÓÛËÓÝÊÒÝÉÓÛÇÒÜ¿ÍØ«¿Ñ™±Ê˜²Ë˜±Ì‘¯Ë™³Ì”²Íœ²Ìœ¶Ë¢¶»ÂÌÑÇÑØÌÕÛÏÙÞp ¹dš¶kœºiœ»`š»mœ½fš»_œ»j›º^•»e•¹^˜¼\–¹_™¼d™¼]˜»g˜¹e—»_’¸\“¹\“¹U޹f•¼_•»d˜ºY‘¶WŽ·SŒ¶S¶`—¹W‘¹Y‘º`’¹_’¸X‘¹V·VŒµV·\¹ZŽ»Y–ºZ•ºY“¸V¹Y¸YŽ·S·Y‘·[»X‘¹W•¶Y”¹Y·V’¹X‘º[¸[‘¸W¹\·W™ºl›ºnš¼p›¿j›¼mœ¿i–»xžÀ¡Áqž½uœ¼wœ½wœ½m›¾g—¼^•¼_”¹U޹\”¹Rº\”º]”¹^•¹Z¼T‘»X•¼Z˜¼V–»]—ºT‘»`’¸\‘¶\–½Z’¸\’¼b™½_•¹g–ºa•º`–»_•»d–½Z–½]—¾X•¹\–»_’ºd˜»Y”¼e™½Z–½^—¿W–½d˜¼`˜¼`˜¼_˜»[‘¹^”½W‘»dš½Y˜»a—»Y’»_•»W“ºT’½Y”½^“»Y–½a™½c™½h”º\—½\—½\˜¾\“½a˜½g™½a—»Y•ºb–¼T“»]—½`•½`–¿nÁfœ¾dš½fš¿_—¾^—½]–¾c˜½fš½`š¿c™¾dš¾d™¼g™»^—½`˜¼aš¼gš½iÀhÀkœ½e˜½g›¾c˜½g›¾jŸÁfž¿jŸÄl Âb™½d›½eœ¾`™¾b™½h›½`™ÀdœÁh›ÀiÀfœÀf™ÀeŸÁ`š»eÀcš¿kœÀmœ¿e˜½oœ¾_›½gÁe›Àe›¿jÀgž¿jÀl¿lœÀdš½fœ½e›ÀcšÁgœ¿jš¿uŸÁpž¿f›¿c›Áiœ¾d™¿bšÀmÀgœÀmœ¾nœÁhšÀe¡¾l¢¿i¿f™½ižÁt Ây¤Ás¢Ãm ÁjŸÃpŸÁl¡Á`œ¾a¾j¡ÁnœÀrŸÂl£Ãl¿mÀk Àq¢Ãy£Ãl¡Áo£Ãi¡Ád ÂjŸ¾i¢¾h ¿q£Âo ÁoÀr Âk ¿s¢Àn¡Ál¢Ár Ám¢Án£ÃgŸÀq¡Áu¤Æm¡Ãk¤Æq£Åm£Âk¢Ãm¡Ás¢Ás£Àr¤Ãl¡Áj¡Ár£Ãx¥Ås¤Á|¡Àt ÂtŸ¿s£Âs¤Ãv¤Åw£Âx£Äs¤Æp¤Ãs£Äw¤Æl¢Ät£Äs£Ãt¤Äz¤Ãy¤Äu¤Æk¢Ät£Äp¡Ãv¢Äx£Æx§Æs¦Æv¥Ær¥Çu¦Æu¤Æy¤Åx§Æv¥Ãu¤Ãu¦Æw¥Åp¦Åy¤Ã}¦Ãv¤Ãx£Äw£Ãw¤Äw¤Æl¤Ãs¤Ãh¢Ãq¡Áw¤Âv£Ãs¥Är¤År£Ãv¥Åq£Ãs£Át£Áp¢Âu¤Ãv£År¤Åy§Æx¤Åp¤Äw¤Äv¢Æt¤Ãz¤Åt¥Æt¤Ãx¦Ãw¥Ãy§Ã}¤Æn¤Åu¤Äz¤Ãu¤Åu¤Æy¥Åv¦Ær¥Åx£Åw¤Æv¥Æt£Æ|¦Çv¥Æu¤Æz¦Å{¥Ã|¥Æq£Âr¢Ãq Áx¦Äy¦Åu¦Åv¥Âx¤Åu¢Ät¢Ãs£Ås¤Åt¤Är£Æt¦Åv¥Äu£Ãx¤Ås¡Är¤Ås¤Æs¤Æ|¦Æx©Å€¤Á§Åx¤Æ~§Æt¤Å~¦ÇƒªÊž¶Ï©¿Ò¢¹Ñ·ÎŽ°Ê‰«Æ{¥Åu§Æw¦Ç‚¨Ç}©Å¨Åu¤Äu¤Åv¤Æx£Äu¤Ãs¤Æ€¦Æv¥Åw¤Åv¤Äy¤Äv¤Âv£Åt¤Åz§Èy¦Äx¦Är£Ãv¤Ãu¥Æ¤Ãx¦Çr£Åv¤Å{¦Å}¦Ç‚§Æv¦Ær¤Ãn¡Å{¥Æt¤Æz¦Çv¥Ã~©Æt£Ån£Ås£Åy¥Çy¨Çw¦Æ{¥Å€¨Å€¦Äs§Æ}¨Æw¤Å}¦Ç‰©È‡¬ÈˆªÇ‘¬ÇŸ´Ë¦·Ì©¸Í­½Îª¼Ñ¥ºÎ·Ì›³Ê ¶Ì–³É‘®È†ªÈ…«È‘­È’­É˜±É˜±Ê—¯Ë®É‘®È˜±Ë–±É–±Èœ´Ë¡µÌ¤¶Ìž·Ëœ·Ëš³Ëœ´Ì›µË—°Ì–¯Ì•²Ì˜´Ìš®Ê ´Ëš´Ì˜¶Í¥ºÐªÀÕ¶ÆÖ¸ÆÖ¹ÆÔ½È×½ÈÙ¼ÈØ¿ÊÙ¼È×»ÈÖ·ÅÕ¶ÄÕ´ÂÔ±ÃÒ«¿Ó©½Ð§»Ð¤¸Î¤¸Ð©¸Î¤¹Ì¡·Ì¡µÎ¢·ÎœµË¢¶Ì ¶Ë£¼ÐŸ·Ï¡¸Í ·Î£¸Ï²ÀÓ¸ÄÔ¼Æ×¿Ç×ÀÉ×ÂË×ÃË×ÃËØÃÌÚÇÎÚÆÍÚÆÎÚÆÌÙÈÌÚÆÌÚÆÌÙÉÎÚÇÏÜÇÎÜÇÎÜÇÐÛÉÑÛÉÑÚÈÐÛÆÎÛÉÎÛÇÎÙÆÍÚÅÐÛÇÎÛÊÒÝÇÑÞËÑÝËÏÝÊÑÜËÓÜËÓÝËÓÛËÓÝËÓÝÆÑÜÉÒÝÉÐÛÃÎÛÃÏÛÂÎÚ¹ÊÙ¥ºÏš±Ë¯Ë–±Ì–±É–±Ë—²Ì•²Êž²Ë¥·½ÂËÒÈÑÚÍÖÛÏØÜoœ·p›·i—¹i—»g”µd•¹k–ºo»j˜ºj˜ºd•»e—¹Z¶g—ºe”ºe’¶k˜¸c‘·f˜¹^’¶R¶XµY‹³W¶YµT޶^¸aŒ¶V´X’¶X޵Z‘¸X’·TŒ·^޵d’¸VŒµO‹´_’¸U¶\•¶V޵Sж]‘¹`“»^¶Q¶X´W޶Z“¹[¶]޶SŒµZ·X‹³W¶U޶W”¸W޶Z´f–»yœ½tš»p›»lšºh—¸m˜½nš¾t›½vœ»w½y›ºo»h–·b‘¹Y‘ºV¸S“¸X¸WŒ¶V‘¸[’¹`–¼Y·Z“»U޶a–¼_¹R‘¸X‘¸^–½`”»\’µ[‘·`‘¶h“¶h™»d•ºc—»V“»W‘»V”¼Y“»]“¼W”»_˜½`™»d•»e–¹f—¼]’»`”¼b˜¾\”¼Y•¼Y•»`–º`”»d’º_”¹Z•¼_–¼]‘»_–¼_–¼_“º_”»^–»b˜¼^•½i›Àm™¾\–»b™»b—»b–¼[•·`•»X‘»_—½a™¿a–»[•¹d–¼\–¹_—¼f™½`—½kœÀ`˜¼`™½Z—»d—¼e—ºf˜½i™½fš¾b™¼jœ¾a—»g›¼dš½^˜¼iš¾cš¿gœ¿a™¾gœ¾jœ¼fš½k›½i›½iš¿c—½ožÁjœ¾ež¾nœ½jš½g™¾h—½lÁb—½eš¾n½hš½h™½i™¼j–»e™¾iš½g—½d™½q Àkž¿j˜»j™»jš½lš¼hžÀi¿eœÀpœ¿l›¼l™»kš¾eš½i›ÁišÀgš¿h›Àk½m½jš½hš¾cš½f¾j™¾`š¾mÂmœ½pž½m¾o¾jœ½mžÁiŸÀlžÀo Àp¡¿o Áw¢Ál ¿m ¾lÁs¡ÃlœÁz¢Ái¡ÁlŸ¿pŸ¾iœ½mž½pŸ¾n¡Áu¢¿lŸÀq£Àv Às£¿s£Àn Án ÀoÀv¡ÂsŸÀt Àv¡Ái£Áo Ài Ái¢Àq£Âo¤Ãu£Ã|¡Às¡¿mžÀiŸÀr¢Âr¥Âp¡Áu¢Ãe¿o¢¿v¡¿z¢Ám¡Ày¤Âm¡Âs£Äu¢Àw£Àz£Ân¡Âu¤Ás¢Âs¤Ås¡Ãx£Á{¥Äz¥Äv¤Â|¤Âu¢Áv¤Âq¡Át¢Ãm¢Ây¤Åz¤Âv¤Ân¢Âs£Åw¥Æy¥Æm£Åy¤Ä|¤Åv¤Äz¦Ãp ¿s¤Âs¤Áq¤Äx¤Áu¢Ãv¢Ãy¤Ãt¤Âv¤Æ|¤Ãw£Áx¤Ãq¤Äz¤Är¤Ãy¤Äy£Äx¥Äl¡Às£Ãt¤Âo Ãs¤Ãx¥Är£Ät£Ãv¤Ãv£Ãt¢Ãv¤Äx¥Ät¡Âo Ã}¥Åv¥Åk¡Áz¤Ãv¤Ât£Âw¢Âz¤Æw¢Åq£Ãt¢Âx¤Ât¤Ãq¤Ãs£Ão£Ãr¡Äx¡Ã}¤Ã~¤Ãq¤Ãq¡Ãu Áz¤Ãv¤Äx£Ãw¢Ât¢Âv¥Ãt¤Ây¤Âq¢Äw¥Ä€¥Ä€¦Ã|£Ãv¢Ãz¤Æw¦Åt£Åx¤Ät¥Åv¤Åy¤Åx¢Ãu¥Äv¦Ár¤Äs Ãv¥Æy£Ãw¤Äw¦Æt¦Åt£Åy¤Å‚§Æ„¨ÇŒ¯ËŽ°Ë®Ëˆ­ÇŽ¬Çƒ¦Ãw¥Äu¤Âv£Ã|¦Ãt¥Åt¤Ãv¦Äs¤Æ}¤Ãy£Ä¥Çn¤Ã|¤Æy¥Å|¦Æt¥Åt¥Äw¢Äu¢Ãw£Âu¤Äq¢Ã{¦Ç}¦Æu¤Äy¤Ä~¤Ãn¡Ã{¥Ãy¥Æ~¦Æw¥Æu£Áu¤Ãy¡Á~¤Ã‚¦Æu¥Äw¤Ä|ªÆx¥Æy¥Á¤Ão¢Ä}¥Ä|§Ä¦Æ§Çx¤Åy¥Ä{¦Å¤Ã¦Ã„©Å„ªÇ‰«È“¯Éž´Ê«½Ï®¼Î¬¼Ì¨ºÎ¤¸ÍŸµÌ›³Ë•±Êš±È‘®È‹¬ÈŒ©Æ†§ÇªÇ‡«Ç“­È—±Ê“¯É’®É‘®Ç”®Ç•°È“°Ê–±Éž²Ë´Ë›²ÉµË¡µÌ´Ë˜¯È—®È‘­Ç–°Êœ³Ë™±Ë˜°È—¯Ê”°Ê›²Ë­¼Î²ÃÒ®¾Ñ¯¾Ò¶ÃÖ»ÆÖ¼ÆÕ¶ÀÓ°ÁÓ²ÂÑ®ÀÓ¬¼Ñª»Ñ¦¹Î£µËž´ÊŸ¶Ê¡¶Î¨¸Î¨ºÏ¨¹Ì¨·Î©¹Ì¤¶Ì¤µËŸ²Éž°Éž´Ë›±Ë ±Ëœ²Ë¬½Î¼ÆÓ½ÇÒÀÈ×ÀÉ×ÁÊÚÂËÚÂËØÄÊØÇËØÈÎÙÇÏÙÆÍÙÉÏÛÈÏÛÊÏÚÊÏÜÊÑÛËÐÚËÐÛÉÏÜÉÑÛËÓÛÈÑÛÈÑÛÈÎÛÉÐÚÈÎÚÉÎÛÉÑÛÉÐÛÈÐÜËÒÝËÓÛËÓÝËÓÜÌÑÜËÑÚÊÑÛÊÏØÊÑÛÇÎÜÃËØÃÌØÃËÖÁÉ׸ÆÓ¤¸Î´Ë”±Ë—°Ê—³É‹®È™²Ê•¯É˜²Éž±µÄËÏÈÒ×ÌÕÙÏØßp›¼h—¸mœ»m›»iœºj™»d˜»fœ½_“»b˜»d’»_•¼h“·g—¸^–¹_—¸]”»f—¸Y’ºWŒ¶c”¸_’¸R¸Uޏ[¶^”¹\‘ºU“ºW‘¹TŽ·\’¹X‘¸R¸U¸[‘¸[‹¸W¶`—»Y‘·U·X¸YŽ·S¶VŒ¶Z•»\”¹S‘¹T’¹Z’¸W‘¹XŒ·VŒµWŽ·R޹SжRŽ»a–¸S‹µPŠ´T޶]ºi˜½nœ½oœÀj™½i–ºd˜½i˜»p˜·o¾tž¿uœÀp™¾d˜¼a“¸[”»X¶R·Y”ºS‘¼R¹LŠ·W¹\Ž·W‘¸W‘¶T”»f–»^’¸T‘º\•¼W•»\•¹R“¸X’½]‘¸c“»_•¼T»_“¸]•ºg™»\“¸b•»b”»c•¼e–¼_—½_•»^–¼T’¹]”¼b˜½Z’»`—»_–¼d™¼Y–¼^–¼V“¼W’ºXºb•¼^—¼b˜¾fÁY–»Y’ºc—»^–½l›½c™½b•»Z–½^˜¿_–¼c˜¼\—»a–»X–¼_š¾a˜¿Z—½d˜¼h˜½c™»^˜½i™¼e›À]™¾e—½_–ºd™½e—½^˜»\™½c›¿a˜½_•½b™¾f›Àjš¾f½mšÀc—¼^˜¼a—½f˜½hš½gš½e›¿lžÁc›¿h™Ác›¿e˜½d™½e›½j Àlœ½n›Àjœ¿cš¿eš¾d›Àd›½kœÁe™½i›½iš½kœÁe›Ág™¿fœÁg›½gœ½fœÀkœ¿k›¿m›Àp¡Àkš¾eœ¾hœ½g›¾i›¿k¾mž¿^š¿dš¿bš½d›¾c¿hžÁaœÀl ÁnœÁiœ¿dœ¿bœ¾a›¾iœ¿lžÁm¡¿pž¿n¢ÁnŸÁeœ¾ižÁs¢ÁsŸÁm Às¢Áfœ¼jž¿mŸÀhœÁh›Âe¿hŸÂk ÁnŸÁo Ákœ¿dŸÂnŸÁw¢ÃnŸÂn¢Ãn¢Ãl£¿o¢Àt¢Âm¡Âs¡Ân¢Âo¡ÂkŸÁs¤Ål Ál›¿p Áj¡ÁlžÁm£Ão¢Án¢Ái¢Âo¤Âx£Äw£Âp Âs¢Án¡Ät¤Æo¤Ãs¥Â|¤Ãu¢Ãt£Âq£Ãv¤Ãs¢Ãq£Àr¤Äv¥Är¢Âr¤Ãs£ÃižÀk¡Âl¡Åp£Æw¤Æv¤Ãu£Ãw£Âu£Âq£Âw¤Âz¤Ä¨Åy¦Åu¤Äy£Ãs£Äu¤Äz¥Äs¤Æy§Çu¤Æ{£Áy¥Ãu£Äu¢Ák¡Át¤Äu¤Äv§Æs£Ãr£Ãv¤Às£Áu¥Ãv¥Æv¢Äx£Ãs£Ãs¢Ãz¤Ây¤Ãz¤Ås¢Ãp Âl Ãu¤Åo¢Äy¥Æ{¦Åv¤Ãs£Ãs¡Ãx¥Æw¤ÅrŸÂt¢Ãs¢Âv¤Ãx¤Âm¡Ãr£Â|¤Æv¤Äq¤Åv¥Äu¤Åx¦Æu¤Äx¢Äl¢Áu¤Ãs¢Äq£Åo£Äx¤Ãy¤Åy¦Æu£Æv¡Ãw¥Ãy¥Åt£Å§Çv¤Ãs¤Ãr£Âs£Ãw¤Åv¤Æt£Æv¤Æx¦Æ|¥Åu¤År£Ãr£Ãq¤Æp¢Ær¡Åw£Æm¤Æn¤Ão¢Ãt¢Âw¤Åt¤Æx£Ä|§Ær¤Ã{¦Çw¥Åy¤Å{§È}¤Æ©É€¨Èx¤Æy¨ÈxªÆs¤Âw£Ån¡Åv¤Ä|¦Æw£Åx£Åz¤Æu£Äv¢Ãp¤Æy§Æ}¤Ær£Äu£Åv¤Åy§Çx¦Å|¥Åx¤Æt¥Ãv¥Ãs¤Äy¥Æv¤Çv¥Æv¦Æu¥Ãu¥Ås¥Ãu¤Æ{¦Å~¦Är¤Æt¤Äx£Ã}§Æ€¨Æy¦Å|¦Äy§Æw¥Æv¥Æz§Æ€¦Å}§Åx£Ä|¤Åu¤Äu¥Ãy¦Æ|¨Æ…¦Æ„¨Å‡©ÇˆªÆ˜²Ç¢¸Ì«»Ñ®»Î­¾Ñ«»Ð§¸Ì¡µË µÊ˜µÌ˜±Ë‘®ÉªÈ‹­È…ªÇŠ¬ÇŠ­É•°Ë“®É“­ÊŒ¬É‡©Ç‰¬ÈŠªÇ•°Êš±Ë›³ËŠ®Ê•°Êš³Ìš²Ë–±Ë•±Ê—±Ë’®É–°Ì—°Ê˜®Èœ²Ë—±Ê‹­È‘®ÊŸµÍ¨¼Ñ©»Ï¥»Î¬¿Óª½Ó«¼Ñ¬»Î­¼Ï­»Ñ®»Í¬»Ñ«ºÐ©¹Î¨ºÎ¤·Î¡·Î¨¹Ï©¸ÎªºÐª¹Ð¢¹Î¤ºÎ¦¹Î¨ºÐ¢¶Ì§·Í¥ºÎŸ´Ì›´Ê—°Ë ·Î¸ÅÖÁÊØÃËØÃÊÖÃÊ×ÂËÙÂÊØÃÊÙÆÍÚÇÎÜËÒÜÊÒÜËÑÜÉÑÝÊÒÝËÒÝÊÒÝÈÒÜËÒÝÌÓÜËÓÝËÐÛÈÐÝÇÑÛÇÎÛÆÑÝËÑÝÉÒÝÊÒÝÉÒÝÉÐÜÉÑÝËÒÝËÑÜÊÑÛËÑÝÉÓÝÉÓÜÉÑÛÄÎÚºÇ×½É×¼ÈØ¸ÇÖ³ÆÖ§½Ò¡·Ì›³Ë”¯Ë’¯Ë™±ÉŒ®È‘¯Ë—°Ë–²Ë¦¶»ÅÌÓÈÒØÈÑØÎ×Ýnš»j“¸g›½g›½mšÀoœ¼d’·mš¼[‘·c•»[”»`•ºV‘º^’ºY’¶\“¸^’ºc’»\”»U‘¹Zޏ]ºZ»[¹ZŒ¸V¶TŒ·Y¹Uй`¼]º^“ºa•ºa‘·W޶UŽ·Y·RŒµ]”¸Y‘·Z“·Y·RŽ·R·V»[’»ZºOºU¹TޏW¹W‹¶T·]”¸a–ºQ¹_·cŽ·X“¸X’¸^’»i˜¼i—»o›½h˜¼c“»e™¿j™¾j™¾mœ½o›¾k™»k™½a—½^’º[‘¹SŒ¹_“»QŒ·O¸U‘·[’¹T¹T޹Z޹_»d’»S’·W“¼P‘¸O»S»\”½]•»c”¾a’½]”»X’»W‘»V‘»Z“½_‘º^“½X’½\•½S’½P‘»]”»`˜¿`”¼b”»Z‘»^•¼[•½\”½`“»Z‘»]’»]•½[”»V’º\’»\”º[•¼\—¾a—¼a˜½Z–¼^—¼_˜½\’½Z‘»]˜¾]–½Z–½d–¾b˜¾X“¿e™½_–¼_”½e–¼\”½^“»_˜»fš½b˜¿i™»b˜¼b—½a™½j›¿iš¾a–¾b—¿]—½W•½d–¾a˜¼^—¼\˜¿^™¾`—ÀkšÀfš¾`™¼e™¿e—½c˜¼fœ¾i™¿b™¾fœÁg›¾kš½lš¾c˜¿`™½hš¿iÁašÀgœÁi¿jœÀe›¿a˜¾hšÁešÀeœÁc›Àfœ¿jš¾[“¼f˜¾b™Àcš¿c™¿b™¾i›Àcš½mœ½b™¾h›ÁgšÁh¿eš½d›¾kžÁd›ÁmœÁd™¾gœ¿g›¼nœ¿gš¿hœÁhÁp¡ÁlžÁlžÁg›Áb™¿jÁj ÀhÁj ÃjŸÁiœÁižÁg›¾jš¾nžÂfš¿džÀl¡ÁoŸÂd˜¿k›¿p¡Án ÁgœÀkžÁl¡Ãs Áo ÁmÁlŸÁežÁjŸÁp¡Áp¡ÂkžÂm¡Àp¡¿f›¾mžÁdŸÁk ÂfžÁi Âw Ár£Ãt¤Äm¢ÁiŸÁm¢Æn¢Âj£Án£Ãy¦Åp¢Ál¢Âp Ây¢Áq¤Äo£Ãv£Är¡Ãr¢Á{¤Áu£Ãs£Ãv¡Ãw¢Âs¢Ão Ás£Ãl¤Åo¥Är¡Ár£Áq¤Æv¤Ä}¥Åw£Äp¢Äu¤Ãy¥Åv¢Æp¡Äw¢Ãx¤Äx¥Äy£Än£Åu¦Åm¡Ár¤Æp¢Ãt£Åw¤Ãw¤Än£Æv¤Æw¦Åm¡Äk Ãr Ãs¢Ãy¤Ãr¢Äu£Ãs£Äl¢ÂiŸ¿s¢Ãu¢Ão Ãw£Ãk£Ão£Ãx¦Æq£Åt¢Ãt¢Äu£Ås¢Äs¡Ãp¡Ãw¥Åu¤Åw¤Åw¢Âx¤Åu¢Æs¤Ãs¢Äq¤Ãy¦Ã|§Æp¡Ãv¤Ä|¤Åu¤Çl¤Æp Åz¦Å}¥Æz¤Ãw¢Åv¤År£Ãx¤Äj¢Ãv¤Ãq£Ä€¦ÆmŸÁt¡Ãu¡Ão¡Ão¢Ås£Äs£Äq¤Ås¢Ãt£Åu¤Æy¤Ær Ãu£Åz¥Æn£Äw¤Åz¦Çw¥Åw¤Æu¤Är¤Ãx¥Æy¤Æn¡Ãs¤Ãy¤Å€§Æv¤Æv¥Æv¤Æs¤Æw§Çp¤Äx¦Æy¤Æ‚¦Æƒ¦Ç|¦Ç€§Æx¥Æs¤Ål£Äv¤Åy£Æv¡Ãm¢Ãt¢Äz¤Åt£Ão£Åw£Æs£Åu£Æy¥Åo¤Ån¢Åt£Æ{¦Æw£Æu£Æp£Æw¢Äv£Ãz§Æy¤Ãy¤Äs£Æv¤Æv£Æu£Çp¥Ãz¦Æm¤Äj¢Ãl£Æs¢Ât¤Æ€§È}¦Æ~§Ç{¥Çx¥Âv¤Æp¤Åx£Æz¤Æv¥Åx¥Æ~¤Åw£Å{¥Æy¥Æv¦Å}¨Ç„«É‡¬Ê‹­È”°ÊµÌ¥¶Ì¬»Ï¬½Ñ¬»Òª¼Ò¡·Îš²Ëš²Ë™²Ê’­É•®ÉŠ«ÇŠ«ÉŠªÊ†ªÉ“±É“±É”±ÉŠ­É”­É’­É•¬Ç“±Ë®Ì˜®È‹ªÈ®É’®ÌŽ®Ë’®Ë–­ÊŒ­Ë—¯É›³Ê—¯Ê–¯É•®Ë“­È¬É°Ì•¯Ì˜±Ëš´Ê›±Ë¡µÍ£·Í¨·Î«ºÏ®»Ï±¾Ñ±ÀÑ´ÀÓ®¼Ï¬½Ï§¹ÐªºÑ«»Ð©»Ñ«»Í«¼Íª»Ï©»Î«¹Ï¬»Î©»Ð§¸Î¤ºÏ¤¹Îœ¶Ë—±Ë™¯Ì¯Ê©»Ò»ÆØÁÊÛÄÌÛÆÎÛÅÍÛÆÍÚÄËÚÇÍÛÈÏÜÉÑÞÉÐÝÉÐÝÉÒÜÊÓÜÊÑÛËÑÝÊÑÝÉÒÝÇÐÜÈÐÝÆÐÝÆÎÜÃÎÙÈÏÜÉÐÝÊÐÛÈÐÝÈÑÝÆÑÞÃÎÝÇÑÛÉÏÝÇÏÛÇÐÛÄÎܽËÛµÈØ³ÃÙ«ÁÒ¥»Îª¿Ñ¢»Ñ³Î–±Ì—±Îš±Í˜²Íš²Ë‘¯Ê•¯ÉŒ¬É“¯Ë®Ìš¯Ê©·ÂÃÎÔÉÔÙÈÓÙÍ×Ýd•¶W“¶_•¸gš¶e–¹b•º_•»e”¸i”¶_˜¸e”¶]’º`’¶V޶YŒ¶_“º\”º\´X¶N‹µS‹µW‘¶S‘¸YŒ¶R·WµW³RŒ³RŒ¶Z¶S¶T޶S·Z‘¹S‹´U‹³NŒµXŽ´N·N‰·S‹·TŒ¹TŒ¸UŒ¶R¶OŒµRбPˆ±Q‹¶N‰²SŒ¶UŒ´S‡±R‘¶V·Q‰´L·UŒ¶T޶T¶Wµ\–·Z–¸_–ºn—¸c˜»e“¹l—ºh•¸l™»g™»\–»b’ºb˜½a’·X¶R’·O’·T“·^–ºOŒ·Y“¸O‹¶RµR‘ºU’¶OޏR·P‘¸X‘¹O޶SŒ¸[‹·S‘¶N‰³]–¸T’¹\”º[“»\’·UŒ·^•½V’¸Z“¹L‘¶NŽ·]“ºR‹¹\’»]‘º^–»X’ºZ•»U’»]•»U¸Z’¸]•ºZ’»N¹a“»U޶T¶a–»]•¼V”¹Q‘¸`“»U’»X“ºb™»^”º[“·V’º\”»Z“»R޶^”ºa•¹X’¹Z“»L»\‘»Z”»\”»]“»d˜¼e˜½a–¼^˜½a™º[’»Z–º_–º`•¼b—ºb˜»`™½b™¼`—½a˜½b™½`–¼_–½eš½\™¼g›¾iœ¼_•ºd›¿n˜¼c–»]—»^š¾_š¾dœ¾d—¾d—¼gš¾\—¼Z–½dš¾b™½`™½]™»b—¼fš¾f™»e™»e›¼Z—»g˜Àg™½a—½dš»`˜»W’¸]“»[—¼d˜½g›½^—¼d™½d™½_—¼aš¼eš½`˜¾b˜½e˜¿jš¾o›½h›ºb›½mŸÀbœÁgÀcšÀk Àhœ¿\˜¼f›¾iš½_˜½aš¼g¿iš¿gœ¿d›¾jœ¾aš½c™¾d™½k½lžÀj½l›¾lœ¾l¡¾f½fœ½k¿fŸ¿e›¾jÀk›¿m ¿eœ¿b›¾g¿q£¿n ¿j¾iŸÃlœÁnž½jŸ¿j¡½hœ¾hž¾q¡Âi¡Áy¢Áv¡Àk Áe ¾g ¾u¤Ák¡Ám¡ÃiÁs¢Åo ¿s ¿j ¾k ÀkŸÀižÁt¢Ás¤ÃtŸÀp¡Ár¢¿hž¾l ¿r¡¾m Àq¡ÁižÂp£Ân ¿u¤Ãn£Ât£Âu¡ÁlžÁjžÁq Âj Âs¢Áp¡Âl¢Ål¡Àr ÁlŸÁr¢Ál¢Ás£Ás¡¿p£Át¡ÂuŸÀf¢Á~¤Ät¤Äl£Ãv¤Âk¡Àj¢Áiž¾oŸÀl¿lÀm¡Âs¤Äs¡Ák£Ák¡ÀhŸ¾o£Áp¡Áu£Âk Ãk Âi¡Ãk¡Àt¥Ãk¡Âs£Ãs¢Ät£Ãl Ãw£Ãq¢¿kŸÁjž¾r¡Ãh¡Àr¢Á}¤Ãp¤Áu Àr¡Âk ½p¡Ái Às¤Âf¡ÃgŸÃl¡Àu¤Äv£Ãu¡¿t¡ÂsŸÂo¡Âu£Âmž¿p¡Âu£Âl Ár£Ão£Ãp¢Ãu¡Ãt¡Àt¢Ás£Àr¤Ãp¢ÃeÁkÃoŸÂp¡Ãi ÃkžÃq¡Ãp¤Ãr¤Áo ÂlŸÂn¡Ãt¡ÃlžÁgÂu¤Æu¤Ãy¥Åw¥Åz¦Åu¢Äx¤Åy¤Äs£Âw©Æ‚©Çt¤Æ€¤Ât£Ãi¡Âq¢Ãq¡Áw¤Är¢Ãq£Áu¤Är£ÃkžÁrŸÁu¢Âl¡Áq Âu£Ät¢Ãt¢Ät¢Ãu¢Âr¡Âh¡Ãs¤Å{¦ÅrŸÄm£Ãr¤Ãm£Ãt¡Âr¡Âw¤Äw¤Äl¢Ãu¢Åy¥Ár¢ÂkžÂn£¾s¥Åp¥Åt¢ÃgžÄx¨Ãy¤Ãv¤Ås¤Ãy¤Äs£Ã¥Ã~¦Ä¥Æw§Ås¥Äv¡¿z¥Ä„©ÆŒ¬Ç‘¯Ç—®Ê¡¸Ì§ºÌ©»Í¨½Î®½Ï¬¼Ì§¸Êš±É›¯ËŸ´Ëž¶É™±Ç“¯É‹«Æ‰©Ç…©Ç…ªÇ‹®È®È—°Ë–®É–®Ç˜®Æ•¬Ç‰¬ÈŠ­É¬Ç¬Æ‘¯ÈŽ­ÉŒ¬Æ’«È“­ÇŒ«È’¯É™²Ì›²È“®ÉŒ¬ÇŽ¬Ç‘®Éš±Ê ²Ëœ±Ê ³Ì¢¸Ì¥¹Ë«ºÌ­»Ë±¼Í¯½Ñ±Àϲ¾Ñ¶ÁЮ½Ì¬»Ë¬»Î¬»Í¬¸Î­ºÑ­ºÎ°¼Î®»Î±½Í«½Î¬»Ìª¹ÌªºÍ¤¸Íœ±Ë—±É‘®È‡®È¯Ë›´Î®Â×¼ÉÙÂÌÚÃÌÚÂÌÛÁËØÁÌÙÁÌÙÇÎÛÈÏÛÈÏÛÈÐÜÉÑÝËÐÚÈÐÚÆÒÛÅÏÜÀÌØ¿ÌÚ²ÇÕ¦»Ñ·ÇÕÀÌÛÃÎÚÃÎÚÄÍÛÁÍØ´ÈÖ¯ÀÓ¼ÉÖÀËÛÁÌØ¶ÇÕ­ÁÓ©»Ð¦¼Íž·Ë›¶Ë›³Ëš³Ë’¬ÈŽ®Æ­Ç®ÅŠ®ÇŒ®Ê”°Ê–¯Ë“°Ë–¯Ç˜°É™°Éš³Ç ±¹ÂÌÓÇÓÙËÔÚÎØÝ_–¸_‘¸l•¸e–¶]’µ`“»\·X¸W‹¶VŒ¹_Ž»Z¸Yޏ]·W‘¹W‘·Y‘·d‘º^“¸Yޏ[·X’¸`’¶X·YŠ·\޵YŒ¶RŒ¶T‰·Z‹¶]·N‰¶XµV·W¶Y¸X¸b”¸\޵Q‹µY޵N‹µQ‹¶S‹¶P‹·R‹¸T‹¶W‰¶R·TŒ¶SŒµV¶Y‹¶Q‡³P‹´WŒ¶Q‹¶W¶[¶X޶Z–·X¶c“»i•ºx™ºj–¸]“¸_“»g’¹\’º`“¹_ºg–½i—¾^’¸c’·\”¼U‘¹RеV’¹TŒ¸UޏQ¸[’¹VºY‘¹S޹]ºT·a’¸[‘º\·VŽ»\‘»]‘»P‹¶[‘¹T¶]”¹Z”»^“¹Z޶]’»_•»V’»]‘º^“¹W’¶\”¼`Ž»VºW‘ºa”º`•»]”»Xº\”»`’»X»^’»R¸^‘¸\“¸^•¼`˜½]”»d‘¸e•ºb–»`–½]•¼_“»Z»_–»^•½[‘»b”½_’¸`•»`•»`”»O¸]•»]–½b’»_•»\‘»]’ºf˜¾f™Á`—¾`—»d˜¾b•½h–½h–¼e˜¾Z˜½a™½`•¼f˜½d˜½h™¼c—½[–½`–½cš¼_—»eš½`š½d˜½k™¼e™¾b™½d™»j›½g›¾a™¾dš¿i˜¿a–½f™½c˜¼_–ºa–ºg›½jœ¿Y•¾h˜¾g˜½e™½`–¼c—¼f—¼g™½h™½c—¾c•»g—»l™¾f™½fš¼a˜½g™ÀmœÁj™¿kš¾c—ºd™½`–¼hœ½f›¾^š¾e›½mœÁ_™½iœÁlœ½lœ½gš¾d™¾kžÁqœ½lš½h™½e™½g›¾`—½iš¾h›ÁlžÀl›Ài›¿e¿jœ¿_šÀiž¾jœÁm¡Ãn¡Ám¿e›¼fš¾dœ¿q¿lœ¿n¾fžÁhœÀjœ¾nÀkœ¾i›Àkœ¾mœÂnŸÂkž¿k¢Âo¡Àh¿pŸÁi Áq Àfž¾t ¿s¡Âm¢Ã} Àn›Àl ½p¡¾r Ãx¢Ás Ât¡Ám Ãm£ÃfœÀlŸÀs¢Ág ½r¡Áq¢Âq£Ãu¡ÃoÁt¢Âp£Àm¡Áw¢Áu¢Ãx£Åx£Äw¢Âm Án¡Áož¿o Áo£Âr¢Åu¡Ãt Ãm ÁjŸÀq¢Ãn¢Âs¡Áo ÁqžÃr¢Äy£Æv Ás¡Át¤Âs Àk¿s¢ÃmžÁu Ãs¡Ás¢¿n¡Ãk Áo¢Ât¡Ãr¢Ãw£Ãt¢Ãs¡Ãs¡Ám ÂoŸÂu ¿sžÀqÁn Ão¡Ât¢Ãm Âr¢Ãs£Ât¡Át¤Ãv¤Ã}¤Ãx£Ãv Âm¡Ãs¡ÁnœÂx£Ãx£Ãx£Æt¡Ãu¤ÄlÂw¤Ât¢ÃqŸÀz¤Ãw¥Åp Àt¢Âw¢Âv¢ÁrŸÁu¡Âmœ¾u¡ÂoŸÃmŸÁq£Ãs£Ån¢Äo¡Âr¡Âq¢Ân¢ÃrŸÃu£Äv¢Åm Ão¢Ân¡Ãt£Äp Ãp Ât¢År Áv Âx¡Âr ÂrŸÃjžÂdžÁp¡Äy£Ã|§Æy§Ær¢Ãr ÃužÃp Äp Äy¤Å|¥Åu£Ãn£ÃsŸÁr¡Ãv Ãt¡Ãr¤Äm Ây£Ão¢Ât¤Än¡ÃrŸÃsžÄv¢Áu¡Ãv¢Åt¤Æs¥Ãv£Ãw£Ãu Âo¢Åv£Ãr¡Ãu¤Ãu¤Ãw¥Äj ÂsÃo Ãx¤Ãs£Äu¤Ãy¤Ãg¢Âx¤Ão¢Âw¤Ãy¢Äz£Ãu¡Ãs Ãu£Ão¢Ã|¤Æs¢Ãs£Âx£Äy¢Ãu£Á|¤Äx¢Å{¤Ã}¦Ä}¥Ä†ªÆ¬È”®Çœ±ÉŸ¶Ê¤·Ì¨ºÏ¬¼Ð±»Ï®¼Î©¼Ì¤¶Ë¢´Ë¤¶Ë§¸Ð¦¶Ì¥¶Ë—­ÈªÇ“«É«ÇŒªÅ‹­É•¬È–±Ê–®É”®Ç–­Ç¬Ç•«Ç‹ªÈ“¬É‘®É‹­É•­É¬ÈŽªÆ’ªÉ›°ËŸµË¢µÌŸ±Ë›°Ë“®Éœ°É¢´Ë ³Ë£·Ì£µÌ¥¸Î©¼Ð¯¼Ñ±¼Î´¾Ñ´½ÑµÁѲÀѲ½Ñ±Áѳ¿Õ¶¿Ñ¶½Ð²¼Ð®½Ï³Áѱ¾Ð±ÁÑ´¿Ò±½Ó±½Î²¼Í­¸Î¤¶Ë¶Ë˜±Ì‰©Æ‹«É¬ÆŽ­Ë”°ËšµÏ§½Ò­ÁÕ¨¾ÕŸ»Ñ§»Ó«»Ò¸ÄÖ»ÊØ»ËؽËÚÂÍÛÅÍÛÃÌÚ½ËÚ²ÆÙ©¾ÒµÏ™°Ë—¯Ë¡¹Î°ÂÓ»ÉÚ»ÉØ¹ÉØ®ÁÓ ¹Î›³Ë¤ºÐ§»Ñ¯¿Ñ¨»Í›³Î ¶Ë£¸Í’²Ì—°É™°Ç‘¯Êš°Ê™°É–¯É’¬É™¯É–®É—®Ë˜°É–±È˜®É›±Ë›±Ê™°È¨µ»ÄÌÒÊÓØÌÕÛÎØÞe“¶^“¶i—¸g–µa—¹k–¸h“¹_“ºV·X޶Y“¸ZŽ·]‘¸a¹\´]‘¶P‹µ^‘ºV޶^¶Y޶R¶\‘¸^•ºTŒ¶W·V·U޶X·PŒ¹QޏXŒµU¶R‹¶W‹·TŒ¶W‰´W޶Y“¸UŒ¶W¸WŒ¶UŒ¶X‹´W¸R·S¸^—¹X’¹R޶UŽºO‹´SŒ¶P‹´R·X¸PŒ¶O‹¶WŒ¶R޶[Œµ\¶W¶`”ºc”¼[’»^”¸b–¸c–»a”¹`•¹X·U’ºS’»Y“»Z¸RŒ·W‘µZ“¹Q·UŒºTޏX»SŒ¸PвS¶Y‘¹W‘¸]“»\•ºS‘¼]•¼VµV‹´Z‘·S·R¶PŒ¸U’ºNŒ·W“¹W‘¶]Œ¸`‘¹V޹S‘¹P’½\“¼Y”»S‘»T‘º_”»^•¼]–¼\–¼_•»`—»a˜¼a˜¼Z–½\¼[“º]™¼]“»[•¼^”»a“»e–»\’»_–¼b—½Y“»`“»Y“»^—½d˜¾_•¼c“¸c—½a—¼_•»S’¼\‘¹X’»Z•¼_”¹e•½^”¼e—¼]•»_–»d—¼bš¿a”½`•»f•¼^˜¼Y™½]š½b˜¾`—¿dš½d—½k›½b–¼b™¼f›¿]—¼_˜»Y–½e˜½e™½f™½hš¼g›½`š¾c˜¼d›¾d˜½e™¾jœ¿Z–¼e›¾a–»gš½^•¼jš¾nš½jžÀg—¼d—»k›¿`™Àa™¿k›½`—¿jš¿]•½h™¾eš½dš½b™¼a—¼h˜¼f™¿iš¿bš¾l›»lž¾iÀh›½e›¾c›¿f›½gœÀe›Áe¾m›½l¿l›¿lš¾jš½n¿i›ÀqœÀlœ½h™½eš½e˜½i›½i›¾h›Àeš¾m¡Àgœ¾iŸ¾p¢ÁhžÀe¿e›¾n›Ágš¿iÁnŸ¿gš¾l¾c›½nŸ¿jŸÀr¢ÁlŸ¾q ¾r ¿fžÀp¢ÂnŸÀiœÀu£Áu£Ánž¾p£Ãk Ák Ái¿o¢Åt¤Ãk¤Ân¡Âp Áv£¿l¡Ás Âi¡Ân¡Äo¡Át¤Ào¤Âv£Ãn¢ÁižÁiŸÂk¡Ãq Às¡Àr¢Âo¡Áu¤Áz¢Áp¡Âp ÃlœÀj¡Âm¡Âp£Ãn£Ãs£Åv¡ÃkÂlÀpŸÁr£Än£Âu¤Ãr£Áo ÁsŸÁlžÁm Ãk¡Ãn Ãl¡Âr£Åi¡Âv¢Åv ÃmŸÀp Äu¢Åm¡Ãy¥ÄmŸÀn ¾y Àh›¿hŸÀs¢Âp¢Ák Ár¢Ãm Âl Ào¡Âu£Ãm¡ÂhŸÃqÂu¤Äs¢År£Ãt£Ãs¤Ät¢Ãt Áu¤Ãu£Âs¢Áx¢Áj¤Âo¤¾rœ½s¢Ãr¤Äu¢Ãm¡Är£Åw¢Ãp¤Åt¤Æy£Ãk¡Ãq¡Ãp Ã~¤Ãr¡Ão£Ãr£Ãm£Ãv¢ÃpŸÂq ¿rŸÁv£Ày¥Ãr¤Än£Äq£ÄpŸÁq¡Ál ÄkŸÂjžÁw¢Ål£Ãt¢Äo Äs¡Ät Âv¤ÃrŸÃpžÁw¢Är£ÄlžÃt Ãk¢Âs£Æv¤Äm£Äs£Äw¤Æu¤Äx£Æx£Ãz£Ãy¤Ãs Ãt¡Ãj¡Än¢Ãm¡Ät¤Âr£Ãr¤Ãq¡Ãp¡Ãn Ão¢Âr¢Ã~¤ÅožÁu¢Ãs¢Ãk¡ÂoŸÃm¡Äw¥Æt¤Æw¤Åw¤Ãt¤Ãx£Âv¢Ãx¤Ål¢Ä|¥Æu¤Åu£Ãy¥Åy¤Ãy¤Â|¥Åm¤Ãz¥Æt¤Äw¤Äy¥Æz¤Æm¢Ãp¤Åm¢Ãs¥Ãm£Ãu£Än¤Äx¦Æy¡Áy¤Äw¤Åz¤Å}¦Æ¦Æ†©Æ‹¬É“¯È­È”°È£¶Ê¨ºÍ¨ºÏªºÑª»Ñª»Ð§ºÍ¥¸Ì ¸ÎšµÌ¤·ÌªºÍ¨ºÐ¤´Ìš¯É—°É•®ÈŒªÉŒ¬Ç¬È“¯Éެɔ­È–®È’°ÊŽ®È‘°É•°É¬É†«ÉªÈŒ«Ç•­É°ÉŸ³Í¢µË¥¶Ë ´Ë£¶Ìž³Ì¦·Î§·Í¨ºÎªºÍ¬ºÏª¹Ð©ºÎ­»Ð±ÁÒ·ÃÓ·ÃÒ¶ÂÕ³ÂÑ·ÃѶÃÑ´ÂÒ¹ÃÕ¹ÂÑ»ÃÓµÁÒ·¾Ñ¶¿Ñ´ÀÏ´ÀÑ´ÂÒ¶¿Ñ®½Î®»Ð­ºÎ¥·Ì—±Ê™±Ë•®Ê‡ªÆ‹«È®É­È‹¬È”­Ê­Ç­É‰©È‹ªÆ®Ë–¯Ìš°Ëž¶Ï¡ºÑª¼ÑŸ¸Ï™¯Ë’¯É°Ê­É¯Ë‘®Ëޮɑ°Ë¢¹Îœ±Ì›³Î™¯Ì—±Ë“±Ë’¯Ë›±Ë ¶Ï™²Ì’¯Ì—±Ë™±Í›°Ë™±É–°Ê™°Ê ±Ë–±Ê˜®É™°É—±Ë›³Ëœ¶Íœ´Íš²Ì—³Ëœ´Ë›±Êœ°Ê¬¹¿ÆÎÔËÔÙËÖÛÍØÞ\‘¶\¶`¶]‘¸W¶^•ºW¶S“¹[‹·Y¸X‘·QŒµM‹µM‹µPŒ·PŽ´UŒ³\¸S‹³QŒ·OŽ·S’¹O‰³IжSŽ·X¶ZŽ·Q‹´RжOŠ´VжO‹µU޶P޶W¶TжTŒ¶VµQжP‰µTŽ·LжQ޶MˆµUޏSŽ·P‹¸H…¶O‡¶PжO‰´P‹¶Pˆ¶Lˆ´VеSˆ´RŒµQޏTޏW‘¶U’¶V‹¶_¹e“º\’»X·]¸X“ºW“»U¸P‹¶TŒ¹T·ZŒ·UŒ¶UŠ·P¶S‹µKжR‘ºTºS‹¶U޶N‹µQ¶U‘¹N»NŒ·J‹¶M‹¶Z‘ºMŒ»N‹¶UŒ¸M»V‘¸QŒ¶K‹¶PŒ¶V“ºLŽ»M¸P¶T“»U»V»W’¶W¶N‹¶KŠ·V“»S‘ºW‘¸^“¼Vº[¹`•¹U»V‘ºPŒºUŽº]’»V»W“»[¹]‘»_–»T‘»X–¾_”»]–¼Jޏ]µ\¹]”¼Q•»Y•»X‘º^•¾U•»W‘»X‘»`•º_“º\”¹[•¼^—¾^”½W•»[–½b–ºcš¼Z•»\–½_–¿W”¼[’¼^—¼^—»cš»[”¼^–»a™½[™¾]˜¿[—¾`—¼c˜¼\‘¹c™¾d—½`•½]—¾R‘º[—½d™»d—¼\•¼_—»c™½]–»]˜¿\–¾]˜½S–¼[”¼`”½_–½_•¼]•½W•½\—¼^š½Z–»h™¾`˜½[˜»^˜½hšÀb˜¿`˜½c™»d™»e˜¼_–»X”¼Z”½c™½_˜¿_™½`™½`—¼d˜½kœÁ[•¼f™½k›Àh™Ág›¾_š¿e˜½d—½a—½dš½b™¾c›¿d¿nŸ¿e›¾d—»e–»X˜¼`™½_™½gÀj¾d›½e›¾mÁhš½f™½e™½hš¿gœÀbÁeœ¿o¿mŸÀs¡ÀhžÀl¿hÀ`›¾g›Àlœ¾gœ¾mŸÁož¿p¡¿b›½p¢Äj¡Âgš½w£Ám¡Ág›Àtž¿g Ám Âf¡Âl¢ÆgŸ¾j¡Ám¿m›¿f¿hžÂl¡Äg¢ÃdÁu¤¾fž¿nŸ¾l¡Àn¡Âw¢Áp¡Ár¡Áj¡Ãk¢Àq¡Ál Ãl¢ÂmžÂkŸÂi¡Äy¤Än£Áa¡¿gœÁm Ál¡Ât¡ÁkžÃnŸÄl¤Ãm£ÃhŸÁtžÁs¢ÁsŸÁpŸ¿l¡Ãq ÂiŸÁs¤Ãu¡Ág™¿hÀn Áh¾eœ½n ¿q¢Ãn¢Âo¡ÁqÁnœ½oŸÃl Ân Ãp£Ål¢Âm ÁnÀlžÂg›ÀjžÀn ¿o Âi¡Ãn¡Át£Áv¤Än ÂdšÀlŸÂr£Ãi Ât¢Áv¢Ãn£ÁjÃrŸÃo¡ÁfŸÃp£Âp Áp¢Âk Âi£Ãs¡ÃqŸÃt¢Âr¡Ãq Âl¤Ãj¢Áj¢Ãn¤Ãs¡Ãj ÄqŸÄn¢ÃiŸÃn¡Âq¢Äo¢ÁlŸÃlžÃoœÂdšÀk¡ÄkŸÁd›¿k¡ÄiŸÃgœ¿o Âq¡Ár¡Ãi£Ãl¡ÄiŸÁn£Äl Ãp¡Ån Ãs¡Äl¡ÃeÃi¢Ãr¡Âm¡Äy¢Ãu¢ÂbœÁjŸÁu¤Äs¤Ãh ÁjŸÁs¡ÂsŸÃkœÀu Âv¡Ãk¡Ái Âk ÃkŸÃo£Än Ãu¡ÄmÁjŸÂm¡Ãt£Äm¢Ås¢Äi¢Äu£Âx£Ãs¢Âg¡Ál¡Ãl¡ÃjÃr¡ÅlžÅl¡Âi¡¿l¡Âj Ãl¢Ão£Åu¢Åu£Æn¡Än ÄiÁq Ãs Ãu Ät¢Âx£Äp¤Åt¤Äk¢Äz¤Ã„ªÇ‰ªÇ’¯È­Éˆ¬É™´Ë¥¸Ì­½Í«ºÍ©¹Ð¤¶Ìœ´Ëž¶ËŸ²Ë¤¸Ì§¸Ì«ºÌ¬»Í¨»Ì¥¸Ì™µÉœ³Ë®È’¬È“¯Ç‘¬Ç—­Ç…¬Ç‹­Ç“­É®É”®Ë‘®É’®È•­Éˆ¨ÆˆªÅŒ§Ç—¯Ë°Ë¤¶Í¨ºË©¹Ë©·Íª¸Ë©¸Ì¥¶Ì¥¸Í¦ºÎ«»Ïª½Ï«¹ÏªºÌ¬»Î®½Ò³ÀѶ¿Ö³ÂÓ·ÃÔ¹ÄйÃÑ·ÁÒ³¿Ñµ¿Ñ·ÁÓ¹ÁÒ·ÄÓµÀÒ´Ã϶ÁѶÃг½Ð°¿Ð®¿Ñ®½Ñª¼Î¡·Ì ³Ì“®Ê‹«Æ‰«É‹«È‰«Ç‡ªÇŒ¬É‰«Æ‚ªÇ‰«Æ‰«É‹«ÉŠ«É®Ê‘°Ë‹®Ëˆ­Ç‰¬Êˆ¬ÈŠªÆŠ­ÆŽ¬ÊŒ®Ë’®Ë†­Ê‡«ÇŒ«ÆŽ¬É®É“°ËŒ®Ç‹­Ê®È®É–®É–«É‘®É®É“®É’®ËŒ®Ê®ÉŽ±Êœ³Ë ±ÌµÍœ²Ì™±Ìœ³Ì¡µÌ£·Î¢´Ì¡¶Ë›±ËŸ´Ë£µÊ®¼ÆÄÍÔÇÓÛËÖÚÍÙÝk•´i—µe“±]”µ\’´XŽ´f‘µ[޶]‘¸T¹^“·U´T‹µ^¶VŽ·[޵Y’¹W‘¸Y¸SŽ´W´Y‹³T‹³R¶Q‰´UŠ´S¶TŒ²\Ž´\޵P‡²Z‹³M‹´L‡³O‹¶[‘·\޵XµW³XŒ²NŒµLеQŠ´TŠ´X·Q‹³[´UвR‹´V‹²O…³M‰²L‡¶O‰³X‹µYŽ´P‰²WŒ¶OеR‹¶XޏX޶TŒ´X޶XŠ´^¶U¶Y޶OеX¸QŒ¸UеSˆ³_µXŠ´QеQ‰³W¸Z·S·OŠ´U¶S‹´QгY޶U‹µX‘¶_‘¶`’¶]”·V¶Zµ[³WŠ·PŒ¶TŒ³W‹´]¸[•¹Z‘µT»R‹¶R‹·VŒ¶R‘»\‘º\’·WµY¸U‘¸g’¹Y‘¸[”¸]‘·X‘»]‹µY޶c’¸_“¸b’¹[’·Z‘¹\‘¹YŽ·Z’¸Z‘º[‘º^“ºR‘º]’¸b•ºX”º\’¹_•ºa–ºb“»a—»W“»[–¼\¸]–»\‘¹`–»^”º_’º`•º]“¼[”½]“½^“»[—»c›»\–º_•¼Y”¼\•º_–¼`—½c˜¼_—»]˜»`–»lš½e˜»]–¼b—¼e—»_—»a˜»fš¼`–»f—»b–»b™¼_—º_—»Z”»]™¼e™½j—½j–»eš½a”»e˜¼e•¸^˜»j›»e—»f˜½]’»g™»_•»e—½gš½_˜¼f™¼dš¼f˜»b–»a˜»d—»f—¼i˜½a™½fœ»h›»j™¼f™»dš¼g—½h˜¼iš¾hš¾rœ¼h™¼dš½j™¼pŸ½n½bš½fš½j½e›»gš¼b—¼c›¿jœ½iš½m™½h˜½o™»k™½l›½j›½d™¼g›½iš¾eš¾iœ½d›¿lœ¼lœ¼k™¼gš¼hœ¿i›¾eš½gœ¿m¾rž¾n¼qž½n¼l›¾lœ¿iŸÀp¡ÂrŸ¾yž¾h¼j¿s¢¾r ¿lžÁk¿h¡Àt Àk¿lŸÁm ¾k¾dœ¾cÀm Áq½k ½rŸ¼m½u£Át¡¿s Âx¤Ãu£Ár¢ÁrŸ½x¢¿x£Án¡Ák Àp¡ÁmŸÁs Át¢Àx¢Àp¢Àp£Ât£Ál¡Ár¡ÁmŸÁqžÀkž¾z£Áu¡Ás£Ám£ÁuŸÁfœÁsŸÁp¡ÀmŸ¿u ¾r¢¿k¢Áp¡ÁpŸÁu¡Áq¡Ãm Àv£Ày£Ãi¡¾o ¿m ÁnŸÃl¾kÀmž½mž¾u¡¿q ¾r¡Àk ÁoŸÁiŸÁiŸÀm Àh¢Às¢Àlœ¾t¡ÁlŸÁkžÂo¡Âx¢Ãs ¿v ¾q ½rŸ½r¢Àt¡Àk ÃiÀn¡Áw¤Ás ¾j¢Ão¢Ák¢Âu¡Ás¢Ãy¤Ær¡Ãr¡Àv¢ÂqŸÁt¤Ão ¿rŸÂožÃoŸÁp ¾q£Áz¤Âj¡Âj¡ÁiŸÀiŸÁo¢Âu¡Âu¡¾w¡¿wž¿l›¿lŸÃu Âr¡ÃhŸÁs ¿pŸ½v£Áfœ¿p¡ÂnŸÀn¡Âo¡Ãx¦Ãq¢Ãp¢Âq¡Âp¢ÂkÁr ÃpžÂr£Áw¤Ãv¤Ãv£Äy¤ÃrÁmžÁt¢Âm Àq¢Âv Àlž¿vŸ¿z ÀmŸÁoŸÂm Án Áo£Ãn Ál Ár Áq Áp¡Á}¤Äj ¿g¡Ãr¢Ãy¥Äq¥Æs£Ãu¢Áy¡Ãm Ãn¢Ãm¢Ãp£Ão¡Ãlž¾kž¿w£Ão¢Ãu¥Åx£Ät£Æl¡Ã|¤Â~¤Ãv¤Ãs£Ã|£ÃoœÀz£Äy¢Àw£Á¥ÄޫĔ®È—®Ç—¯È‘­É›³Ê¦·Ë¬¼Ï®¿Î­¾Ì©¹Ê£¶Ê¡µÉ¨¶Í¬¹Í®»Ë¯½Ð±¾Ð®½Ìª¹Ì¥·Ê¤µÉž³Ê™¯Èš±É˜³Ëž³É’¯Æ’­Æ™¬Æ™¯Ëš¯É˜±Êš±É°Ê®Æ’¬Ç•¬Æž²Ë µË©·Ìª¹Î­¼Î®¼Í­»Í®ºÍ¯»Ì­ºÍ®»Ì®¼Î­»Ï¬ºÑ«»Í±¾ÐµÁÑ·ÀкÃѸÆÑ¶ÆÑºÄÔ»ÄÔ¹ÄÒ½ÆÑ»ÄÑ»ÃѹÄÑ·ÃÓºÃÒ¶ÃÓºÂѸÂηÀж½Î²Àΰ»Ï®½Ð©ºÎ£¶Ë™²É²É“®ÆŽ«ÇŠªÆ‰¬ÇˆªÉ‰©ÇŽªÈŠ«Ç¬ÅŽªÇ‹«Ç­ÆŒªÇŒ¬È‹¬ÉŒ­ÈŽ¬Æ’®ÆŽ©Å’®Ç†ªÆ®ÉŒ®Ê¯Ë­ÉŒ­É“°Ê­Ç¬Æ­Ç’±È’¬É’®Éœ°Ê®Ç–±Ëš³É­Æ”®Å•°Ç–±É”°ÉŸµÌž¶ÌŸ´Ê£³É ²É£¶Ê¨ºÍ ¶Í¤·Î¬¹Ì­»Ì¯»Ë¶ÁÅÅÍÓÊÕÚÌØÛËÖÛ_µ[’·Y’¶`”¸`–¶W¶R޶V¹V‘º]ºW¶M‹±S‹´XŒ¶NеPŒµOеWŒ¶\Œ¶V‹´[¶X¶h—·V·O‰µTˆ´SеYŠ´UŒ´T޶X¶S·R‹¶R‹µT‹´OˆµUŽ·OµQŒ´U¶[¶N‰·SŒ¹TжPжR‹¶XµU¸X޹SгK‰´Rˆ³O†²Q¸T޶W·Z¶XŒ·X‹´XµQ´SŒ²Y·XºR‰µ`¶SжI…²T¶S‹·PŠ·P¶U¶PŒ¸UŒ·RŠ´SŒ·PŒµJ†³PжS‹ºRЏR޹W’·U¶V¶T¸SŒ¸Tж\»PŒ·WºR¶T¹Z¹VеV‹¶W‰¶SޏOŽºR»V’¹T¸V’¹`•»V¶\Ž·`’ºU’¼[“¹Z“¹W¹XŽºO¶Z’¹V¹QŒ¹V޼Q¸Z‘»[‘¹Z’¹U¹X’¼_’¸V‘¼Y”¼\“º_“º\µ_’ºR‘¹`”¹^”¹]–¼b–»X‘·V‘¹Z’¸_“»Z“»e–»c˜½]“½]•»\¸`•¼_—»d–»^–º^—¿`—¼b”½[’»Z’»^–»e–¼^—¾Z—½Y”½^–½_”»a“¼c˜¼e›¼]‘·[•»^—¾U‘»]–¾`˜¾_–¼\’»f—¼_•¼e˜½c˜¾b™¾b˜¾c™½[•»_˜»_–½d—¼`–½d–½a™¼f›¿g›½e™½]–¼b–¼`—½m™¾]—¾`™Àe™¾d™¼a•ºb–½\—º`–¼f˜½a—»kœ¿c–¾l›½e˜»f—½i™¼gš¼dœ¾cš¼a˜½b™¾i›¿fš½l¾gš½d—ºfÁg™¿a˜½kš¾k™¾eŸ¿d›½`—¼a˜½jš¿h—»g˜Àp›½pž½gœ½d›»hž¾`˜¾mÁeš¿lœÀkž¾m¾iŸ½eœÀb™¾iœÁlœÂlÀi›¿gž¾jœ½aš½dš¿hœ¿cš¾iÁg›½iŸ½k ¿l½m£Áq¢Ãeœ½m¤Áu¡ÁjœÀmŸÁiœ¾m ¿dœÁk™¾iœÀm ÃnÀmžÀh¡Áp¾s¤ÁiŸÁjŸ¿i Áo¢Áq£Ál¢Áož½t¡Ái Áq Ào Ân¢Ãj¡Ãw¤Âp¢Ãp¤Ãq¢Ás¢Ás¡Ân¡ÁkÀk£Äm¡Ãj¡ÃmœÀm¡ÁjŸÀp¡Ão¡ÂoŸÃnœÀp Àk Àu¡Ám¡ÁqŸÁpŸÀhÀhÁo ÃqžÁjŸÀr¡¿p¢ÁeŸÁh¿qœÁiœÁp Ãn¡Âs¢Âu£Âl Ãhž¾nÁjÀgžÁlžÀg›¿hŸ¿k ÁnŸÁnžÀkŸÄr¡ÂmœÁqŸÃm¢Ár¤Âg£Ão Áv¡Âw¢ÁjžÂpŸÁv Ás£Âp¢Àr¢Áp¡Áq Ãr£Ãr¢Ãp Âo¢Âs£Ãp¢¿p¡ÃiŸÃp¢Ãm¡ÃlŸÁiŸÂcŸÁf Ão¢Ãu£Áo ÁjŸÂt¡ÁižÂqŸÃh Áq¡Ãr Áq¡Âfž¿m¡Âo Àr Äu Áq¡ÄkžÃp¡ÁvŸÂu¢Ãm ÃkŸÃlÂr¢Âr¡Ãu¤Ãr£Áv¤ÃkŸÁm Ãk ¾q¡Ât£Äy¦Äo¡Áj¢Áq¢Âp¤Än Äw£Åu¢Ät ÃjÃožÂr¢ÂiÀjŸÂj Âu£Åp¡Ãn¢Ãt¡Ãq¡Ãl Âo¿ržÀp¢Ãq£Åj Æv¤Ån¡Ãl Áo ÃnŸÁx¤Ãs£Ãt¤Åm Är£Åu¢Ãq¢Áv¤Ãv£Ãv£Ãw¤Ãx£Än Ás¡ÄtÂp¾tŸÂ|¢Âr¢Âw¤Â}¥Æ†«É®Ê–¯É—°Çœ´È¡µÊ¦¹Ì®ºÑ®½Ò­½Ñ©¹Ñª¹Í«¸Ëª·Ì­¼Î­½Ï­¼Ñ®»Î¯Àѯ»Î§¹Í¥¹ËµË¡±ÊŸ¶Ì¤¶Ì ´Ë˜­É”«È•¬È–­È’¬É–®É—®É—­ÉŽªÆ’®Êœ²Ë¢´Ë£¶Ëª¹Í­»Ï­¼Ð°½Ñ®½Ð°½Ñ­½Î±½Î­½Ï®½Ð­»Î®»Ñ°¼Ï±¾Ñ´ÁÒ¹ÃÓ»ÄÓ»ÆÒ¹ÂÔ»ÃÑ»ÄÑ·ÄÓ»ÅÕ¼ÄÖ»ÃÓ¼ÆÓ¸ÆÓ¹ÃѹÃÑ·ÀÓ¶ÃÒ¶¿Ò¶ÁÑ´Áѵ½Ï±¾Î®¼Ï«»Î¦·Ì²Î–®Ê’ªÆ‘­Ç‹«Å†©Å…ªÇ‹«ÉŠ¬Æ«Æ‹ªÉ‹­Ê°ÊŒ¬É‘®ÈŽ¬ÉŽ«ÊŒ­Ë¬Ê’­Ê•®É—¯Ê‹­ÇŠ¬ÉŒ­É“®Ë‘®ËŠ­Ë‘®É‘®É•°Ç°ÊŒ¯Ë®É–®Ë“®Ëš±Ìš³Ë”±É™²Ç˜®Êž°ËžµÍ ´Ì¢·Í¡¸Î§¹Í§¹Ë§ºÌ¦ºÎ¨ºÍ«ºÎ°½Ð¯¼Î³½Î¸ÂÈÇÏÔËÔÙÏÖÜÎ×Ü^ޱWŒ¯Rа]’¶[Œµa’¶[Ž´UŒ¶X‹³ZŒ´S޶Gƒ®V‹¶`ޏN‹¶VбUŒµQ‰²TгPŒµU‹²UŒµT´RŠ´O‹¶T‰´ZŒµUвU‰±WŒµPˆµVŒµP‰´O‰´UµVŒ´N‰´N†±X‹²Sˆ²Qˆ³WŒ¶NеU‰²P‹µNеP‰²Q‹´SŠ´R‹¶R‡´R޶M‡³Q‰³S‹³RвUŒ²RŒµW‹²L‰±YµKˆ´SŠ´T‹³R‹¶U‰²Be¨N‰³N‰µOˆ³OеM†±PˆµO‹¶RŒ¶QжMˆ²L‰µRгXµOеOŠ´SŒµS†³^‹´Mˆ³UµU‹¶OжN‰³R¶R‹¸LжRŒ¶M‰´V¶RŠ´QжCƒ²KжN޶T¶T‘¶T޶R‹¶O޶W¶Y’»U¶R¸U‘¶_‘·]’¸R޶R޶SеPŒ·VºWŽ·\’¶T·\‘·\‘¸R‘»[’ºQ·X¹\¹U¶b•ºXޏY’·X’»[”ºX·]޹W¸_˜º]”»Y“ºX”¼S‘º_–»b•¼Y¸WޏU‘¹e—½_–½T’»ZŽºS·]“»Z”¶]“º\“»X•»d™½Z—»\‘·_–º`—»[’º`•»_•ºW‘»Z“º^“º^“¸[“¹i–º_’»\”ºY’º^–»_˜»[’¸\”»d˜¼\˜»Z’¹gœ½d—»c”»g˜»_—º]˜º^—»c”¹i˜»^”»_•¼d™½b•»_“»f“»a–ºZ–»a—»a–»c™½c—»d“ºX’¸Y‘·_–¼g˜ºa•¸`˜ºd˜»f™¼dš¾e˜»a—»b™»b˜½X—½e™¾gœÀ^˜½a–»d˜»c–»d—»`˜½f˜½eš½bš½e•ºg™½f˜»c—ºh™½eœ½h›¾f›½h›½d™½hš¼f™½`™¼_˜¼e˜½e™½a—»f›½h™»hœ¼gš¿eœ½h›½dš½kœ½cš¼fšºgš»e™½c™½gž¾e›¼mž½j Àd›½r ½j¿g™¿iš½f™¾kœ½j¿i½j ¾i¡¿j›½j™¼mœ¿rœ¾g›½tŸÀrÁjŸÁp ¿j™¼l›¾j›½nŸ¾užÀp¡Âr£Ák ÀkžÀgÀkž¿t ¾jž½m¢ÁgŸÀhŸ¿sŸÂk¾qŸ¿jœ¾kž½i›½ož¿jž¾rŸÀo›Àdš½oœ¾fž¾h›¾k Âi¢Áiš¾l¾fœ¿b˜½b–½sž¾mš¼kœ¾k ¾iœ½n ¾kœ½mœ½lŸÀlž¾i¿dš¾jžÀgŸ½o¾l¾nž¿fžÁnœ½uŸ¿mž½kœ½t ÀkŸ¿i¾r¡Àu¡½l Áh¾i›»n ½jŸ¿l ½kÁjžÀqž¿k¿j¡¿ež¿u ÀrŸ¾s ÁržÀiŸÁqŸÀq¡Ásž¾oŸ¿pŸ½m¾r ÂkŸ¿o¡Áe›½r¡¿rŸÁu¢Áo¡Ánœ¿qŸÂp ÂožÁm¿m Án¡Áo¡ÁhŸÁo¡Âo ¿lžÁp¡¿hš¾c›¿p Ánœ¿kÁjžÀoŸ¾jž¾i Ài Áo ÂlŸ¾j›ÀkžÁj›ÀpŸÁq Âe Ág ÃjÂs Àt¢Âk¡ÃfžÂo¡Àr¡Áo¡ÁjŸÁl Àkž¾j›Áp›Àq¡ÂgŸÀl£ÁkÀhÀgœÀk½u¡Àr¢ÃcŸ¿r¢Ãl ÀkŸÁm¡Áf›½q ÃrŸÂkÂjžÂl¡¿jœÂr ¿v£Âp¡Ãv¢Äo¢Ãn£Ãs£Ãw¡Âfš¾mŸÁs£Äp Áu¢Ãq¢Âr¡Ãu¡À¥Ã‡§Å†ªÇ”¯È–¯É™°É ´Ê¬ºÍ­½Í¯½Í­¼Íª»Ìª¸Ë¬¹Ì®»Ð¯½Ñ®¿Ð«»Ì°½Ð®¿Ì°½Ð­½Ï®½Î¨·Î«¹Í¥·Éž²Ê±Ç–®Æ–«ÇªÇ’ªÇ˜­Éœ°Èœ±Ê¯Éœ°È–¯Êž³ÊŸ´Ê¨¸Í­»Î­ºÍ¯¼Ì¯¼Ï±¾Ï¯½Ð±½Ð±½Ð¯¼Ï²¾Ï°»Ì¯»Î¯¼Ð³¾Ðµ¿Î¸ÂиÄѺÃÒ¼ÆÔ»ÅÔ»ÄÓºÄÓ»ÄÒ»ÄϹÃÒºÃÓ»ÆÓ»ÄÖ»ÃÑ»ÂÓ¶ÃÑ´ÂѶÁзÀÑ»ÃѸÁѳ¾Ñ²¼Ïª¸Ì¤µË ´Ê“¯Ê‰¬Æ‡©Ç†©È„«Æ†©Ä†©ÅŒ©ÅŽ«ÆŒ«ÇŠ«È®É’­ÉŽ®ÇŽªÆˆ©ÅŒ­Ä‰¬Æ‘®ÇŽ®ÆªÇ¬Ç”¯ÇŒ¬Æˆ­ÆŽ®ÉŒ­É®Ç–¯Ê’¯É®È—®É•®Éš±É›±Éœ°Ê›°Ëž³Êš³Éœ¶Éœ±Ëž³Èœ³Ê¡´Ì¤´Ê¨¶Ê­ºÌ®¼Ï­¾Î¬¼Î³¾Ï±½Ð¶½Ë¸ÂÆÆÍÔÊÔÛÌØÝËÖÚ[±]´WµY´j—·Z±U³PµU‘¶V·OŒ³F†±PŽ´Oг^‘µW‹³UŒ±R‹°S³V޵NвRŒ³V´TŒ³SŒ´QµR‹¶\·RŒ³VŒ³M‹´PŒ¶PŒ¶PŠ´W´PŒ´P‹²R´XŒ±Sˆ±K‡²Jˆ´LŒµQ¶WŒ·S¶P‡±XŠ´UŒ¶SеTŒ¶UµPгR¶V¶WбQ…²Q†±Q‰²KŒµS‡´V·PŽ·G…¯I‡²S‹³OгQˆ²JеT¶PŒ¶O‹µK‡³O‰´P‰²O‹²SŒµMˆ³RŒ´R’·L‹µR‹¶L‰³S‹³T‰±QŒ±S’¶X‘·TŒµNбQ‰³OŒµTŒµO‹¶XŒ·PŒ´T‹¶U¶S¶Z¶P޶R޵VŒµX“¹S¹S»S¹TµV‘¶V·U‘¹X¶M‹¶R·R޶O¶TŒ¶YŒµY·P޶U·S¸RŒ·T·Q‘¶O‘¶Y’¹Y“¹[·\¸_‘¶a’·\“¹V’¸[”¹^˜º]‘´X’ºZ“»T»X“»W•ºZ–¹X‘·`“¹[‘º_’¹_”º]—»b™¾^”»`“ºTޏW¸Z”»\–»]”¸[•º[”º\’º\ºO‘¸V‘¸^–¸_˜¼b–¼`˜½^•»^“¸_–¹b–º\•¹W—º\–ºa—»\–»b–»`’ºY’»`–¹]–¹^•»Y“ºY’º_’ºY’½b•ºY¶]–»X”º`—¹`—½W‘ºc–¼d˜»g–»^–º^•·`—ºb™¼^—¼`˜¼a—¼hš»c™º_—º]—ºb—»d•º]—»j›¼g™½h™»`˜ºb˜»]–»^–¼cš¾e›Àl¼jœ¿_™ºe›½_–½]–¼k™½hš¼ešºiš»fš¾e™¼e™¼dš½e›½g›½fœ½d–½jœ½lš¾i¿fœ¿d›¼fš½`š¼c›½gœ¾h¾l¿dš½_š»e›¼dœ»g›¼j›½c™¹kž¼d™¼e›½g›½lœ½d›»fœ¾i›½p¾oÀl¾e½k½d¿q ¾ož¾s¢Àgž¿kŸ½lž½o ¿k¾e›½e½s Às½pŸ½tŸ¿l›¼fž½m ½lžÀo Ào ¾s£Àu£Ái Ám¢Àh Án ¿j¡¿eœ¾jž¿j›¾m¿m¡Ál£¾m¢Án¡Ái›¾e ½`›¾o ¾h Áo¡¿lŸ¾h¾gž¾mŸ½_›½mŸ½iœÁh¿jŸÃbš¾gœ¼n½fœ½hœ½hŸ½r¡ÀnŸ¿iŸ¿g¾gž½bœ½l Álž¿k›¿nŸÀoÀkŸÁmŸ¿sž¾f½j ¾jž¾m¡Àl ¿hžÀg¾rŸ½fŸ»`›½o¢½u¢¾r ¿lŸÂr¢Ãq¡¿lž¾o¡¿s ¾w¢Ào½u¡Âq¡Áf½j ÁgŸÀož¾p›¼fš½g¾pŸÁgŸÁl¡ÀmŸ¾jž¿kž¿kžÀm¾p¡Âo Às¢ÂpŸ¿gž¾qŸÁoŸÁs Ál¾i ¾o Áo Áiž¿h¾mž½pžÁq¡¾u£¿e½o¢Âj¡Ãf¡¿pŸÁk›Àk¾j ¿i›¾kž¿i¡Ãj¡ÃmŸ¾h™½n¢¾lŸÁu¢Ár¢¿n Ám£Ãm¢ÃoŸ¾q ÀoŸÀm¡ÀlŸÁh ÁhžÂr Áp¢¿pž¿hš¿kœ¾p¢Áq Áq¢Âp¢Ãl¡Är¢Ây¤Ámž½m¢ÁfÂo Ãk¡¿gžÁn¤Ãe½jœ¾p ÃjŸÀlÁp Ân¢Ãw£Ãy¤Ãu¢Ás¢Áx£Àt Ãx¢Ãu¢Ây¢¿z¤Ä„©Å…¨Åƒ¨Å‹ªÆ–¯È›±Ç§¸Ê¬¼Î±ÀаÀÍ®¿Í«»Í®»Í¯»Í°¾Î°½Î±½Ï­¼Ñ³¿Ñ²½Î±¿Ñ°Àв¼Î¬½ÌªºÌ¤¶É¡³É¶É–±Ç“¬Å™®Ç—­Ç›±É ¶Ê¨¸Ì¦·Î ¶ËŸµËŸµÊ¤¸Êª¹Í®¾ÑµÀѶÀѵÀбÁÍ´¿Ï´¾Ï±½Î²½Î°½Ì±À϶ÂÒ¶ÂзÁжÂѸÄѹÃÒ»ÄÕ»ÃÓ»ÃÔ¿ÆÖ»ÆÔ¼ÅÓ½ÇÒ¼ÄѹÄÓ¼ÆÑ½ÆÒ¼ÆÓ¼ÆÑ»ÄϺÄѶÄѵÂÒ¶ÂѵÂе¿ÎµÁή½Î¬¼Î¬ºÏ›²Ê•®Æ‘ªÆ­ÈŒ­ÈŽ¬Æ‹ªÆŒ«ÆˆªÇ†©Èƒ©Æ…ªÇ“®Ç“¯È“¯Èˆ­Ç†¬ÈˆªÇ’®Ç®ÇŠ«Ç’®É­È–®É¯È•±Ë’®È—±Ê’°Ë—±Ç—°É—±Éž±Ëœ´Ë›³Êš³ÉŸ·É™³Çž´Ê˜²ËŸ´É£´ÊŸ¶Ê¤µË¦¸Ì®¼Í¯½Î¯½Í¯½Í²¾Ð¶¾ÑµÂйÂλÆÇÄÏÔÊÔÛÍ×ÜËÕÖe’¶^°]¶[´VŒ±S‰°V‹±[³T¶W‹¶WŒµT‹¶]‘¶YŒµP¶R‹¶S†µZŒ¶Sг[·WµXŒ¶XŒ³UгYŒ´S‰µQ†±YµY‹¶TгQ…³U‰µQ‰³Q‡³S¶PŒ¶L‡µTŠ´ZµP„³L„°N‡³O‰³Q‹³O‰µR‹µTŠ´M†±Vˆ´O…±T‡±S‰²O‡µO„²M†²P…²P‡³S‡³V‡µIгP„²OŒ¶UŒ²VгXŒ¶TеN†¶K†µLˆµT޶VŽ·R‡³SŒµW¸U¶S‡´I„µF…³H…´K‡´Yޏ[¶X¶U‹µR¸M‡´Jˆ²J‡¶P¹U·[‘¶\Œ¶Z‹´S…µR‡·N†³T‡²S¶S‹·P޶RŒµNŠ·X·RµR·\¶c•»W–¹Y‘¸[ŽºT‹·XŒ¶]“ºXµW‘·X޵]’¸[¸WŒ·S¸QеTжS’º_“»]”»]“»b‘µTŠ´[·UµZ’»S‘·X޵U‘ºc•»]‘»[¸W‘¸[¹[¹Xº^–º^‘¹X‘¸]‘¹W·Y•¼Y‘¹W’»X‘»^”¼Z•»`”»e“¼\”¸U»Y’º_’¹\“º\”º[•º]”»a”»^“»f˜»e•¹]”º]‘ºf–¹`—»`–»d•»d–»W‘¹[’º_—»]”¸\’¹a˜½]‘»_”¼_–¼_–»_”¸]•»f—»d“»b”¹a’¼_“º\—¶g–º[’¹b—¼g™»Y–»c˜¾a”¹^•»Z•ºb™»^˜¼c–»f˜»`˜¼b–¼a–¼h˜¼e’¹_–»_–¼h™¾g›½d—»`•½d–¼c™¼^–»h—½jš¿f™½d˜¼_™¾e™½f—»h—»gš½j™¼d–¼Z“ºb–ºj™¾m™½_•»e›½eš¾e™¼a–½iš¿jœ¼fœ¾o½m›½kš¾d™½iš¼f™¾f™¾f›½e™½gœ½k›½e˜½lš½h™½j›¾fš½h˜½hš½oœ½kš»hœ½g™»j¾g Ád›Ák¡Ál ¿mžÁhŸ¾pœ½sœ¿p›¾fšÁkžÀkžÁlœÀhœ¾n½jœ¼m¿s½eœÁižÀkŸÁlž¾lœ¾o¢Àk½nœ¼l¡ÂgŸÂjœÄlŸÂpŸÀo¡½s ¿hž¾fœ¿lžÀu ÂuÁrŸÁjŸÀr¡½lžÁr£Áiœ¾kžÁhœÁtŸÁi¾kŸ¾aš¿iŸ¿aš¼h›Àq¡½e›½užÀo ¾e™½kœ¾g¿gÀl ÁtŸÁmœ¿qžÁi¼kœ¾sÀjž¾hœ½jœ¾gœ½c›¾l ÁoÀl½mž¿kŸÀkŸÂq ÀoÁkŸÁošÀr¿uœ¼jœ½iŸ½iœ¾mž½dž¿o ¾r¡ÀsŸ½qœ½eŸÀfÀiŸÄr¡ÃižÁižÂq ¿qŸ½jÁi¿hœ½k›¾oŸÁož¿s Áw£Ás ¿hžÀiœ¿bœ¾q¡ÂlŸÁs¡¿n Âr¢Ãr¡ÂqŸÂmŸÁj ÁdšÁqžÁrŸ¿m ¿uŸ¿r ÃmžÂq¡Ãeš¾l Álœ½o Àj Áu¡ÁpÁw¢Ái›ÃmŸÀl¾fœÁk ÁgžÁu¡ÂlÁt ÂoŸÀv¤Âp£ÁkžÀj¢Ât ÂmžÂožÁoŸÁp¡Âp ÂqŸÁu Âjœ¿mžÁn ÂkŸÂqŸÁiœ¿o¢Án Ák¡Âx¤ÃmžÁkÁwŸÃrŸÃrŸÀnžÁlœ¾h›¿k¿n Áw¢ÂlœÁgÃl¡¾s¡Än¿q¢Ãu¤Ãs¢Át¢Áv£Äs¢Ãs¡Ã{£À†¦Æ†©ÆŠ©Æ«Æ›°Ê µÉ¨ºË¯»Í°¾Ï²¾Ï°¾Ð³»Ì±¼Í±ÁϲÁÏ´ÁÑ´Àб¾Î´ÁеÁѶÁÒ³¾Ñ°¼Ì°½Ñ®»Î¬·Ë¤´Ë›¯É™±Çš°Éž®ÈŸ±É¤´Ç ¶Ë­»Ì«¼Í®¾Ï±¾Ð°¼Ï³¾Ï³ÁѸÂÑ·ÀÑ´½Ï¶ÀϵÁÑ·ÂÓ¸ÀÏ´½ÐµÀг¿Ð³¾Ï¶¿Ó·ÂѹÂѺÃÒ¹ÃÒºÃѹÃѽÆÓ»ÃÔ½ÆÖ»ÆÕ»ÆÖ½ÇÖ¿ÄÒ½ÅоÅѽÆÓ½ÆÓ¼Å×½ÄÕ¼ÃÕ¼ÆÑ»ÄÑ»ÃÑ»Ãζ¿Î´¾Ñ±¾Ñ­ÁÑ¥¹Í›²Ê—®Ç’®Æ—®É˜®ÉŒ¬È“¬Ç’«È­É‰«ÇŒ«Æ‰ªÅ•®É‘®È‹¬Ç’®Ê‹®Ë’®Ç‘®Ç“°Ç˜®É–®Ê–­Ç’¯Ë›°Ë—±Ëš³É™±Ê›²Ë±Ëš°É™°È—¯Ëž±Ë¢³Íž¶ÌŸµÊœ²Ê ³É¢±Ë¢µË¤¹Ì¥¹Ì¥»ÎªºÌ±½Î±½Ð²¾Ï³¾Ï´ÀзÁÒ»ÂѾÆÑ¾ÆÇÇÏÔÌÔÚÐÖÜÍ×Û_’´_޲]®`޳R‹±Sˆ³PгR‹¯RжR‹³VµZ¶P‡´Z¶]ŒµLгT·VŒ¶VвUŒ³W‹µ\¶MŒ¶XŒµS‹´WŒµSŠ´[·\‹²R‰´ZŒ¶X‹¶V¶VгO‡²V‹´RŒ´SŠ´ZŒ³UŒ¶SŽ·T‹´NгO‹¶YµP‡³Q‰±XŒ²Kˆ´S´O‰µQгYˆ²O†±QгY޳S‡´SжWŠ´P‰´RгR‹´W޶V‹´P‹µV‹µZŒ¶\µOˆ³P‰²Z‘¶U´P‹´R‹µPŒ¶QжQ‰¶Lˆ±U´MжM‹µVŽ·Nˆ³Lˆ·R‹¶RŒ´RŠ´L‰³P‹¶X‹¶U‹¶W¸PŒ¶R‹¶V‹´SгKжY‘¶R¶M‹¶[»]ޏU޶WµW‘ºc”·[‘¶R޶_Œ´[‘º]¹U¶NеV¶R‹´YŠ´S¶Y’¹\–º[“»X¶ZµW·VŽ·S´S¶VŽ·Y’ºZ’ºZ”¶]‘¸]“º^“¹]•º_’º\’¶f—»d™»^޵Y¶SŽ´Y޶]’¸`–ºWºW¹b“º\¸Y·]¹`‘¹W’¹V‘»\’¹_”½b“¹`“ºY޹[’·]–º\“º]‘º_“»`–½\”¸^”ºa–»]’¸_•»\“¹X¸c•¸e—»^’ºb”¹_–º`–¼a¸_“»]“¼`”»`—»c™»e—»X”ºX’ºh—ºe—»g™»e™¼]—½f—»\’»_–¼a—»d•¹^“»d˜¼f˜½f˜»_•»d–»]”»d–»a—¼c˜»eš¾hš¼iš¼^”»k›½f—¼c™¼kš½i™½g˜»jš½_–½l›½l™½_–»b™¼b›»d™¼k›»f›½j›¼k™»k—»i›¿b—½f˜½e™¼i™½d™½b™½nœ½j˜»h¼e¿kš½_˜»jš½g™½b™»bš»d˜ºe›¾eš¼l›½j›¿l¾m¿b—¼e—»iš½gš»c˜¼lž¿m ¿m¡Ákž¼iœ½fœ½m½g™½l¼j½e›¿lŸÀj¼l¿g¾m›¿mœ½o Àl›Àm¿r½n ¾h›½mÀhœÀgŸ¾t¡Àr¡Ál Áo Ákž¿q¡Àqœ¼l¿gœ¿sÀo¾oÀr¡¿f›Àf½oŸ½oŸÀjŸ¾p¡Áq ÃkžÂ{¢Ài›¾sž½pŸÃr ÁlŸÀt¢Áj ÁižÁl Á`š½h½k½j¾d—½k›¾rž¿i™¿eš½cœ¿fœ½hŸ¾dœ¿iž¿kŸ¿nÀw¡Ãmž½iœ½hž¾hœ½j›½h¿pž¾n¾nž½i›¾nŸÀhžÁgš½mžÀi¡¼m Àj ½n¢½jœ¾gœ¿lœÂl›Ár¢Árž¿qŸ½sŸÀe½q¡ÂmŸÃož¿pŸÃx¤Ãw ÁjŸ¾eŸ¿v£ÁrŸ¾n¿tžÁr¿q ¾u£Ãu¢¾j Às¡ÃpŸÀqŸÁpŸÂv¢Áe¿q ÁmžÁp¿jž¾pŸÀfœÁp¢ÂkŸ¿f¾lž¿k¢¿l ÂcœÁh™¾lŸÁl¡ÂlÄr¡ÁwŸÀgš½k¡Ál ¿p Âl¡ÂnŸÂq Ãs£Ãl Áx ÁnŸÁoŸÀq¡Âj›¾kžÁjžÁn ÂxŸÀo›Áw¢¿u ÂkŸÂo ÂnŸÂr Àp¿k Ág Ât¢Ãm ÀiŸ½l¿r¡Às¡¿v£Ãw¢Ât Án¡Âj¡Ãh Âw¤Áv ½r¡Âv£Ãv£Áu¡Äp Át£Är¢Âp¢Àv¢ÀpŸÀožÃu¢ÃtŸÃs£Ât¢Á~¤Á‚¥ÃŽ«Æ¬Ç”«Çž°É¦·Ìª»Ì¯¿Ì®¿Î°ÁϳÀͲ¿Ï¶ÁÓ¶ÃÓ¹ÃѵÃѵÁϱÁж½Ð´½Ò·ÁѶÁÒ±¼Î±½Î¯¾Í­»Îª»Ìœ´ÉŸ²Ç¤µÈª¶Ì¬»Î«¼Ê¨·Ë®»Î®¼Ð°¼Ï¶ÂѹÂлÃлÃÓºÆÓ¹ÄÒ¸ÃѸÂÑ·ÃиÁѶÃÒ¶ÂÒ·ÃÓ´Âϲ½Î¹ÀÓ´¿ÒºÂÒ»ÃÓ½ÆÔ»ÆÔÀÅÓ¾ÅÔ¾ÄÔ¼ÅÓ¿ÆÔ½ÆÖ¾ÇÖ¿ÈÔ¿ÆÖ¿ÈÓ½ÆÓ»ÇÕÀÇÓ¿ÇÖ½ÄÔ¼ÅÓ»ÆÖ½ÆÖ¶ÁÏ·ÁѶ¿Ñ³¾Î©½Ï£·Í—®Ë™®É”­É”®Ç”¬Ç®É«Æ‹ªÆˆ­ÇŠ©Ç‰ªÇ˜®Ç’¯ÉªÄ‰ªÆ‰«Æ‰ªÈ“­È—®È”°Ë˜±É•°Êš°Éœ±Ç’¯È°Ê±ËŸ¹ÌŸ¶ÍŸ¶Ë ¶ÌžµËž´Ë ´Ìž³Ìœ±Ë¢±Ë£¶Êž±É§¶Ë¨¶Ì¦¹Ì©¸Ìª»Ì¬¼Î°¿Ñ³À϶ÂÑ·ÃÒ¹ÄѼÇÓ½ÆÑÀÅÑÁÈÊÊÒÖÍÖÛÎ×ÝÍÔ×d‘¶W´TŒ°R‹´R‹´RбS‹¶U޵`¶[¶V‹³RгW¶Y‘¶J‰´XŒ´RбP‰´_’·S´WŒ¶V‘¶TŒ³XŒ¶Z³]µU‹¶PŠ´O„¯Lƒ°S¶Q‰´S¶OгMˆ³VгN‰³Pˆ³SŠ´OжM†´UŒµR‹²L‰²N‡²R†µNвR‹µH„±O‹´TŒ³T޶O†²Oˆ³KеN‡´S‹¶XŒ³P‰³Q´GжUŠ´RеN‹¶K†±Lˆ±OŠ´OŠ´Q‹µK‰²Qˆ²NˆµLˆ³Nˆ²L‡´L‡²T¶MŒ´P‰´P‹·UеQ†´Oˆ´R‹´O‡²M‡²Kˆ³R¶XжW¶PжRŒµNŒ¶SŒ¶LŒ¶N‹¶OŒ¶T¸KгPжR¶UŽ·P‹¶OвOŒ¶V¶PжW¶W‘·[µR޹T¹X¹T‘»S‹µXµOŠ´[¶[Œ·T¶U¶MŒ¹Q¶Z¸U¸W‘¹RµX·M‹¶X¸[“º]–»Y‘µ\µP¸XŒ¸[’¹Y–¼`”¼S’¹XµW‘¸]‘¸S‘º\¹X‘»\‘¹Q»WºZ‘¹a–½c•»^¹W·`•»P¹Q޶[‘ºU’·Z”¸Y’¶U“¹\Ž·Z’¹_•¼Z“»d“ºc–ºY’¸V‘·T¶\•ºR’¹X•¼V“»[‘¸_¶_”¹W”ºc–»d–»b–»\–»c™¾_–»]’¹^–¹`–»Z–»`™½]—½`—¾g–½^—»b–»`˜»`•º\“º\“»^—¼b˜¼e˜ºe˜»c—ºY“ºb–»`—º`—½\”ºj—¼b˜»hš½a˜¼\˜¼e›½b—¾_˜½a—½`–¾e™½j˜¼_—»`š¼_˜¼d™»_—¼e˜¼c˜»iœ¼fœ¼d•¹e™¼c—»b˜¼c—º_š½aœ½gš»e™¼^”»_–¼a—»jš½e˜½_˜¼g›½a™¼i›½cš¼kœ»eœºgš¼cš½c™½b˜»e™»d˜ºa˜»e›½f½j›Àlž¿fš½i›½c›¼d›½g›¼e›½l™½h™Àg›¾jŸ½nŸ¾u ¿gœ½i›¾j¾`—¼i¾lŸ¼q¾o ¾qŸ¾lž½i ¿gœ¾j›¿r ¿m ¾n ½p¡¿iž¿gž¿a›¿h›½d›Àiž¿j Áiž¿r¡Àhœ¿d›½r ¾gšÁižÁižÁi¿cŸ½bš¾d™¾l›¾kœ¼mÀežÀkŸÁhœÁe¿bš½eš½gš¾e›¼eœ¿lŸ½hšÀdŸ½iŸ¼v½hš½kœ½kœ¿mž¾h›¿hœÀf¿o Àg›½eš¼cœ¾j¿kœ¾u¢Ái¾l Às ¿iš¼k›½f™¼r£Àkž¾jœ½kŸ¿t ¾t Àp¢Ágž¾cš¿g¾j¡Âs¢ÂoŸ¿m Ào¡ÃqŸÂo ÁlŸÀn Ág¾l ¿lžÁk¢Áh›Àmž½kŸ¿jœÁj›¿dŸ½gŸÁhŸÁo¡ÂkŸÁhœÁjœ¿l ÃlŸÀoœ¿q ¿až¿hŸÂdžÁkžÀož¿kœ¾pŸ¾hŸÁl¢Ám ÀoŸÃl Ãq¿h›¿j™¼p½jœ¿bŸ¾bœ¾i ¿lŸÂn¡Ãl¡Ás¢ÀiŸÂ`šÁi¾i¡Áo¡ÃrÂjžÀkŸÁhž¿kŸÁo¡Ãu¢Ão¡ÂoœÂg›¿s Án¡ÂiœÂgžÂm¢Âi¡Âk ¾kŸÁq¡Ãv¡ÁlžÁv Ãw¢Ãp¡Ãm¢ÅmžÁp ¿r£Âm ÁjŸÁnŸÂo Âr¡Àm¡Ár¢Án¤Ãt¢ÃuŸÀp¢Ãk¡ÁhžÂn¡Ât¤Ä{¢Ãy£Áˆ«Æ’«Æ™°Ç¡³É©¸Ë­¼Ì­½Í²¿Ï±¿Î³½Í´ÀͳÁѲÃѳÂÒ´ÃÓ·ÃѵÃѳÁϳÁзÁѳÁв½Ð¯¿Ò°½Ò®½Î®»Ìª»Ë¨¸É©»Ë¬»Ì«»Î®ºÎ°¼Ì°»Í²¾Î´ÂλÆÕ¹ÅÓ»ÄÔºÆÕ¼ÆÖ¼ÄÒ½ÆÓ»ÄѸÅÒ¶ÂдÂÓ³ÀѶÂÓµÁÓ¸ÀйÂÑ·ÃÒºÅÑ»ÅÒºÆÓ»ÆÔ½ÆÔ½ÆÕ¿ÆÓÁÈÔ½ÇÕ½ÆÖ½È×¾ÆÖ¾Æ×¾ÇÖÀÇÕ¾ÉÓ¼ÈÓ¾ÈÖ¼ÇÔ¼ÆÔ¿ÆÔ¹ÆÔºÆÓ·ÂεÀβÁΪ½Í¢¶Ê–®ÉªÆ¬É®Ê•­É™­Ç«Èˆ©Æ‡¨ÅŠ«Æ‹®Ê‘®É‰¬É‹¬ÇŒªÅy¢ÂŠªÇŽ­ÈŒ«Æ¬É†«Ç‘¯Ëš³Ëœ´Ê˜¯Ê™±Ë™±ÉžµÎž´Ëž´Ìš±Ì£¶Ê¢¶Ëœ±Ë´Ëœ±Ëœ±Ìœ´Ì¤´Ê¦¹Í¤¶Ë¤¶É©¹Ì®¼Î®»Í¯½Ï±½Ð³ÀÒ·ÂÒºÆÒ»ÇÓ¸ÄѹÂϾÆÉÆÏÖÊÖÜÎ×ÞÐÚÝa¶`Œ±X‹±]Ž´S‡³Z޶X‹²RŒ¶XŒ¶Z»]µS‹·V¸PŒµU‹³SŒ´P‹´Uˆ±X†³SеRвR‹¶_‘¶]޶XŒµ[޶P‹¶P‡µQ…°Z‰²[¶W‹µRеPŒ¶Q‰µSŒµQ‰´P‹µRµSгQ‰²H‡±Hˆ¶G…¶M‡·QˆµRˆ´R‰³J†±Iƒ²O‡´L‚²Y‹µR‡µQ…±G…±K…±P…²Z‹¶LŠ´Qˆ³R‰¶H´M†²PˆµK‡µMŒ¶N†³L‡µL…´I„´L‡µT‡³Nˆ´Vˆ´UŠ´N†³Sˆ´PˆµRжT‰µTгL‹µL‰¶MеZвX‹µO‡´P†³Lˆ´V‹¶PжWŽ·Z‹³G‡µO‰²SŒ·P‹¹T¶W‘µU‹´S޶X¶Z·R޶W޶Q¸YޏVж[Œ³RŒµT޶S‰µQ‰µQˆ´Q¶NˆµLƒ´Tˆ¶SжT¶Q‰·V޹V¹O‹¶Q‹·PŠ´X¸TºT‘»R»a•¼S‘º]’¸S¸P¶S¸RŒ¸Y’»\»R¸X޵Y‘¸^’¹X޹W·W¸\’»W’»]’¸j—¹[¹^Œ¹ZºU’»Z’»[‘ºT¹_“º\“ºUºZ‘º^”¼^’»c•¼]”¹Yº\‘¹Y’¹^»`»[”ºY–¼Z’ºY–»[“¹\‘»]—º`‘º]‘¼[“»_•¼i™»_“»a—¼a—»Z‘»d“»[‘»Vºe–»`–ºe–½]•»Y”¸V‘»_“»`–½b–»^“º_–ºe™¼hš½hš½d”»f”»^”»\•ºZ•¼a–¼c˜ºb—¼g˜ºd•¼b–¼^–¼b—¼kš¾d˜Àp›Áj—¿i›Àf–½e˜½\•¼f—½`—¼`•ºc–¼g™½X“º`•»`™»[”ºc–»]˜¼^–»iœ¾lš¾l™¾g˜¾f˜¼iš¾h™½e™¼`™¼g˜¼_—½c˜½g—¼c™»gš»g™¼f—»h˜»gš½h˜½gš¾b›½i™¼q ÁsŸ¾m½dœ¾b›¿išÁg˜¼d˜½bš½fš½j™½k›¾e˜½k›Áf›Àd˜½d›¾g™»i¿l½iš¾gš½jš¿mœÁnŸ¾iŸ¿eœ¿gš¾jœ½d™½lŸÀiš¿l›Àlœ¿mŸ¿h½kœ½gœ¿n›ÁiœÀj›¾r¡Ál ¿h¾cœ¾e›¾l›¿gœ¾g˜½a™¿g™½gŸ½t Àgš½d˜»lžÀe—¿c˜½e™¿d›»eœ»išÀf™½g™½j›¾h¾n›Ánœ¿m¾mœ½g™¼g™½e›¾h›¿j›¿n›½jœ¾eœ¾g™¾k›½bš¾gœ½fœ½i›Àd™½_–½j™½mŸ»s¡½cœ½iŸÀk ÂlœÂkž¾g›½lœ¾nÀnÁfŸÂgœ¾pžÁkš½o Âp ÀpŸ¿q Áj¾t›¾pœÀf™ÀhœÀgš¾gš½hš¿k¿lžÀf›ÁmœÀnŸÂq Äo¡Ân¡Ák ¿kÀk›Àlœ¾o ÀfÁešÁo¡ÄižÁjœ¿ržÂj›¿iœÂo ÂkŸÃjÃm¡Ágš¾l›Àp™Áj›Ánž¿g›¿pœ¿nœ¿tÁm¾d˜½k›½i›ÀqžÁq¢ÃfšÀjŸÂn¢Ákš¾jœ¿wžÁn¡Áfœ¿eœÁp ÃnžÁmšÀnšÁl›ÀišÀr¡ÁlÂjžÁhÃlÄtŸÀužÂkš½s¡ÃeŸÁn¢ÃjžÃu¢Åk¡Âm¿lš½n Àv¡Ám›Â|¢Ãv¤Ãm ÂvžÃtœ¾p Äl¡Àv Ây£Ä€¥Æƒ¨Ç’«Ç™¯Ç²ÈžµË µÊ¨·Ì­ºÍ¯¼Ì´Àѵ¿Ïµ¿Ñ¶ÁÒµÀÑ·ÁÒµÁÒ¶ÂÑ´ÂÓ¶ÃÓ¹ÃÑ·ÃѶÂѶÁÑ´½Ñ¶Ãе¾ÐµÁб¾Ì®»Ì®¸Í¬ºÌ±»Ì°½Ð°½Í±¼Î´ÀηÁÓ¼ÅÔ¼ÃÓ»ÄÒ½ÄÔ½ÆÕ»ÆÕ¼ÆÔ¼ÇÔ»ÆÓ¼ÄÔ·ÃÒ¶ÁѶ¾Ò¶¾Ð·ÁлÄÒ»ÅÖ¼ÅÕ¿ÃÕ½ÅÔ¼ÄѼÆÑ½ÆÖ¼ÆÖÁÆÔÁÇÖ¿ÇÕÂÆÓÀÇÔ½ÇÖÀÇÓ¾ÇÓÀÈÖ½ÆÖ»ÅÔ¾ÆÔ¾ÅÕ¼ÇÖ¾ÇÖ»ÇÓ»ÄÔ¹ÃÒ·ÁѱÁЯ¼Í¦¶Ìœ±Ì”®É”®É•­Æ”¬È”¬É‹ªÆ¬ÆŽ«ÈŒ©É‰¨È…¤Ç†¦ÇŽªÇ‰¨ÆŒ¬Æ‰«ÇŠªÈ†¨ÇªÇŽ­É«Ç­Ë˜¯Ê™±Ê ²Í¤µÍ ´Ì¢µÍ¦·Î¤¶Í¤µÌ¡²Ë¤µÌ£¶ÍŸ¶Ì¢¶Ë¡³Ë¢¶Ì¢´Ë¤¶Ì¤·Ì¦¶Í©ºÍ«ºÍ®½Ð®»Ï®»Î³¿Ñ²ÀÒ·ÁÓ¶ÁÓ·ÂξÆÈÈÐÔËÖÛÍØÞÎØÝl”³j™¶[°[‘°Y³QŒ³MбU²X‘¶WŽ·X޹Rˆ¶]Œ¶U´S‹±L‹´S޵Jˆ´O‡³U޶[”º]¶\Ž´VŒ´]޶ZŒµ\Œ¶W޶YŒµT‹µX´S‹³PŒµO‰¶K‡³TŒ´V‹µO‰¶WŒµT‹µQˆ´P‡±L‰³QŠ´O‡´QŒµN‹µMвLгPŒ¶J†´Nˆ±L‰±M†±P‹´G°Vˆ±Pˆ³RеS‹³NвC„³E†´S‹¸QеV‹³OŠ´K†´Gˆ³M‰´YеPˆ¶WжOжUŒµL‹¶M‰±NŠ´OеNˆ´N‹¸S·P‰¶OеMŽ´M‰²WµU‘¶N†´R‰¶OŒ¶P‹¶Q‡±J‹³P¶O‡²O‡¶R‹µL‡´O‰µ[¹RޏO‰¶Q¶M‡¶JŒ¶Y’ºV¶]µTеOµW¹G†µU‘¸Nˆ±U޶V´PеY޶U޶P‹´P¶PŽ·OµU·VŒ¸c’¹V¸R‘ºP¹U’»U޹[“¹\”¸MºVŽ·N¸Q޶X¶X·S‘¶M¹[’ºV‹¸^»O‘ºU“¼\’ºR‘¹X‘¹W‘¹S“»T‘¼UºV“ºZ”ºZ’º]–ºZ“º^¹\”»S“¶Y”º_–»_”º\’¸_•»a•ºa’º]‘¹`•»[—¼Q“¹V¹X’ºW‘¹`’¸^’»_”º`š¾_™¾[–»a“»c•¹`—»\”»\”»a–º[˜»g™»b•»]‘»_’º`–»Z’ºY•¼`˜½^—½b™½Y•º^˜»b”¸]•»_—¼b˜¼d›½]˜¼[”º`•ºe˜¼_”º`˜¼a˜¼a–¼a™¿_™½dš½e™¼]–¼a˜½d™½]—¼W—»b˜»fš½j›¼a—»bš»h™½]–»e˜¼i™¾f™½c˜½f™»e—¼e˜½d˜½j˜½d™½[—½b™½hœ½g›½e˜»a˜¼eš¼f›¾nœ¿g™½b›½h½hš»cš¼gœ¾lš½g™½c—»l½`™½c›½cœ½^™»a˜¼]—½eœÀjžÁf¾jŸ¼nŸ½`š¼jœÀnž½dš½h¿d›Àn¢Áj½j½kœ»j›½c™¼gœ½iž¿mœÀjž¾g›½h›½jœ½d›½k¡¿h ¾`žÀfŸÁo™¼kŸ¾gš½q ¿gŸ¿eŸ¾oŸÀhœÁf Àm¡Ão¡Áe™»m›½k›½pž¿nÀeœÀkœ½d›½fš½jŸ¼^›¾a™½lœ¿j›¿g¡¿h¿s ¾lÀeœ½fš½e˜¼fœ¿a™¾hš¿j›½h›»k½_™¾a™½i¿k Áeš¾a¾o¢Áiž½a›½j¾fš¾jÀmœÀiÀjœ½m›¾h½f›»g¾i›½jš½q ÁjžÀlÂqž¾eœ¿jŸÁbÀežÀi¡¿eÀg Âp¡ÁoŸ¾l ¿m¾f›ÀlŸÁr£ÁnžÀfž¿kŸÁe¾jŸÀh Áo£Áp¡ÀjŸÁo¡ÂgÁi ÂižÁhœ¾h›¿e¾j¢ÃkžÁ`œÁkœ¿j›¿pžÁo ÂiŸÃhŸ¿kŸÃiÁl¡Âv¤Ãeœ¾dš½`š¾ižÂkžÁc›Ãp¢Äv Âq ÁjÂgŸ½kŸÁj¡ÃhÂdš¿gœÁjÀmž¾eœ¿ižÁfœÁi Áe›¿e›¿ržÁjÁm¢ÃjŸÁr¡ÃežÂh¾jŸÀgž¾l Ãj¡Ám¡¿l ÂgÁožÀk ÁlžÂpœÁn Át Âl Âo ÂuŸÃm¡Âh¡Ám£Ãi¢Ãl Ãp¢Ãv¤Ät¤Âv¢Á|¤Å‹ªÆ”­Ç²Ê¡¶É ³É§¹Ë¤·Ë©¹Ë®»Í°Àϰ¿Ð³ÀжÂÒ¶ÃÒ¸ÄÒ¶ÄÑ·ÄѶÄÒ¶ÃÔ¶ÄÓ¸ÃѶÃÒ¸ÃÒ¶ÃÓ¶ÃѶÂÒ´ÃÓ¶ÂÓµÁвÂÑ´ÀгÁѱÁѲÂÑ´ÁѶÂÑ»ÃÓ»ÅÓ¼ÆÑ½ÇÔ¼ÇÕ½ÈÔ»ÇÕ¾ÇÖ½ÇÕ¾ÆÔ¼ÆÔºÆÔºÇÔ¼ÆÓ¸ÃÒ¸ÃÑ»ÃÑ»ÃѽÆÔ¼ÅÕ¿ÇÖ¾ÇÖ½ÈÖ¿ÇÖÁÇÕÁÈÓÁÉÖ¿Ç׿ÇÖÁÉØÁÉ׾ɨ¿ÇÔÁÈÓÂÇÖ¿ÈÖÀÇÕ¿ÈÔ¿ÈÖ¾ÈÖ¾È×¾ÇÖ»ÆÓ·ÄÑ·ÃÓ±¿Ñ®ÀѦºÍ·Í˜²Ê•®È–®Ç“®Ê“­Ç“­ÇŠ¬ÇŽ®ÉŠªÇŠªÅ…§ÅŠªÅ†ªÇŠ«ÈŒ¬È…¨È‰¬É‹­Ç­ÆŒ®É’¯Ê‘®Ê’®Ë–®Ê™°Ì´Ë£¶Ì¥¶Ì°ÀЫ½Îª¸Ì§¶Í¦¸Í¤¹Î¦»Îª»Î¤¸Ë¤¸Ë¡¶Ë¤¶Í¥·Í¢¹Í¦»Ï©ºÎªºÍ«ºÍ¬¹Î¯¼Î®½Ñ°¿Î±¿Ñ±¾Í»ÇÌÉÑÕËÕÛÎÙÝÎØÝh‘¶d·]Ž´U³O‰±UŒµSˆ²[³VгYŒµW‰²Q‹µYж\ŒµWŒ´RŒµWŒµWŒ³Z’¶W‹¶OŒ´R‹¶X·c’º_Œ¶aµYŒ³VŒµXеR³Q†±P‡²S޶P‹µU¶UŒµS‹µUгSŠ´Q…³XµRˆ´RŠ´Tˆ³Jˆ´R‡µU‡²Q‹³OвM‰³E…±S‹²M…±Q…²Q‰±H…±K…³L„²P‡µLгRˆ±L‰²SµXвR†²PŒ¶MгNˆ²R‹µQ…±M†³N‡³T‡²S‹µJ†´K†³NŠ´U¶R‹´O…´M†µNˆ¶H†¶M‡´TжKˆ´WŒ´Q‚³R‡´H‡¶L‡¶M‰µT‡³PŒ³L‹µV޹V‹µM†³QŠ´QгNжL‹ºO‹¸R‰¶XжNгS¶OеNŠ´R‰¶QŒ¶R¸RŒµO†´M†µK†³Nˆ³Z‘¹R޵NŠ·TŒ´P‰µSˆ³O¶L‹¶T‹µX¹S¶SޏP·VŽºL‰µY’»Q¸S‘¸X‘¹]‘·\•¹V”»[‘¸Z·[¸]¶ZŽ·W’·_–»_–½h–»Z»X‘»W‘ºMŠ·X·Y»Y’ºZº\‘»S¹N¸_”ºQ޵a–ºW’¸[”»Z”¼_’ºPŒ¶\•ºZ’»P¶T·_”»_•»X”»_“¸]º`‘·Yº]–º[”»]”¾\‘»^•»e—»W‘¸^•»\’»_”¹_–¼^•º`’¹^–»d•»`–ºX–»\–»Z”»a–ºb–¹f—ºc—»b˜ºR“¹Z’º\“º]”º^”¹]•ºa™¼c˜º_—»]•»_—»a—»c—º`•»b˜½g™¼c™»`—¿^”ºd—º_•ºd˜»_•»h›¿a™¿fš½b•»_”¹k—¼e“»d™½b—½d—½`œ½dš¼`˜½g™»g™¼d™»Z˜¹a™½cœ¾q¾d™»f˜»hš»c˜ºiš½e˜»b–¼j˜½e˜»h™½e™½h™¾d—»dœ¾Z—½iœ½ež¿fœ¾i½fš½nŸÀcš¾kœ½j›½b˜»h›¼e™»k˜»h›½eœ¾c™½hœ½cš¾sŸÁlž¿dŸ½j½i¾c™¾oœ¿l½iš½ižÀq¡Àe™½iš¾jžÀlœ½oœ½pž¿lÀq¾jš½iž¿ožÀg¾lž½i›½gž¿n¡Ák›½jš¿jœÀkš¿d™½`š¾]•»i™¾fœÀg›¾b™½s¡¿jš¼hš½j¿f™½ižÃlÂhš¾u ¿bš¿c›¼fœ¾jž¿l½jœ¾j½eš½hž½i›¼lž½g›¼hœ½dœ¿gÀiœ¾jœÁg½eœ½eš¿lœ½l›¾jœ½mŸ½rŸÁr Àmœ¾o¾f›½dš½lÀgž½o¡Âs£ÃhŸ¾eš¾ržÁo›¿_˜½jœ½mŸÁjÀfÁkž¿i™¾_—¼dš½hœ¾q ÁoŸ¿kŸ¿j¿h¿jš¾nÁmœ¾k›¼d¿l ÀežÀt¡Ãlœ¿jœ¿d›½g™¿eš½lœ¿kœÁnŸÀiŸÀm›Àkœ¿eš¿jžÂiŸÁe›ÁqŸÁj™¾hœÁl›ÁdœÁl Áj Áiž¾bœÁjž¿l Ák ¿lš¿mœÀeÀi¿fšÁjš¿kœ½e›ÀtŸÀhÀ`—½ešÁr¡ÂkŸÂi¡Áo£ÂrŸ¾g›½iœÀiÁm Ãr¢ÃnžÂh Ák ¿gŸÁn¢Âu¢Ãl Ás¡Âl£ÂjŸÁp¡Ã~¤Ây¢Ãt¢Äh¡ÁhžÁq¡Ãs¡Ãu¤Ãu¤Ãw¢Ã„¥ÃªÈ–­Ê¯É£´Ê¥·É§¸Ë©»Ì¬ºË¯¼Í­¼Ï°¿Ð´ÁÏ·Á϶ÃÒ¶ÃзÃÓºÅÕ¹ÃÕ»ÅÓºÄÔ¹ÄÓ¹ÄÑ·ÃѸÄÓ·ÃÒ¸ÄÓ·ÂѸÃѸÀÒ·ÃѶÃÑ·ÄѶÂÑ·ÄÓ»ÄѺÃѼÄÓ»ÆÓ»ÆÓ»ÆÔ½ÆÖÁÇÖÀÉÖ¿È×¾ÆÔ»ÆÔ¼ÆÔ¸ÅÓ»ÅÒ»ÅÔ»ÆÕ½ÇÖ½ÆÓ½ÆÕ¾ÆØ¾ÈÖÀÇÖÀÈÓÂÇÖÁÇÕÁÉÖÁÊ×ÀÇ×ÀÈØÀÇÕÁÇÖÁÉÓÀÈÔ½ÆÔÁÇÖÀÄÕ¼ÇÓ¾ÇÖ¾ÉÕ¿ÇÒ¿ÇÔ½ÆÕ½ÆÖ½ÆÖ¶ÃÓ¶ÃÔµÁÏ®½Ï¦»Ì µËŸµÌ›±Ëœ°Ë™¯Ê¯Ç‘®È‹¬ÈŒªÅ‹ªÆ‡ªÆ‹ªÉŽ®Ê‰ªÆ‰ªÆ‡«Ä†¨Äˆ«ÈŒ¬Ç‹­Ç•®Ê•°Ë¬ÆŒ«Æ•®Ç³Ê¡·Ë¨¹Í«»Î±ÀÒ¯¿Ñ«»Í¨ºÌ§ºÌ¦¸Ì¦¸Ì¥¶Ì¤¸Î©»Î¥·Ë¨¹Ì¢¸Ì¡³Ì¤·Ì¥¹Ì§¹Ì§¸Í¬ºÎ¬»Ì¨»Í©ºË«¼Í®¹É¼ÆÊÉÐ×ÌÕÜÏÚÞÎØÜh’±]‹®_°UŒ¯S‰¯QбYбW‹°YŒ±WНW‹±WаYвU‹³RŒ±U±S‡±Z‹³\‹µ^±[²X³Y¶e’¶cµh”¶e‘µk‘µeµaŽ´X³X³S‹´R‰²U‹¶^޶`³Z³W޲V‰³S‰³Vˆ³M‚±J®Sˆ±S„±N…±L‡±MŠ´O…²H†±Nˆ±P…³M†±Hˆ±I‡¯[бA}®L…±L†°MŒ´VŒ²OвK‡³P‰±M†±L†±Kˆ³Mˆ³M…²Sˆ±H‰±Q‰²Qˆ´Q‡³M†²O‡³P‹µMˆ±P‹µK†³Pˆ´Kƒ²J„°N†±PŒ³L޵QŒµXŒ¶R‰³O‰²Sˆ´L…²H†²UŽ·RŒ´L‹´S‰±R‹¶VеR‡³Mˆ³M‡´MŒ³U޶KŠ´N‹³O‰´OŠ´P‰´N†²Mˆ²TµNвQвRвM…±QгO޶X‰³OŒµO‰µQ‹²Q´Y’¸PжMгQгYŒ³RŒ³LеN‹´RŽ´Q´S޵]ޏS¶PŒµR¹L‹´V‘¶Y’¹]‘¶\‘·M¶X·V’º]‘´X¸X‘ºW”ºW‘´X¶VµOŒµY‘·W¶X”¹M·[‘·Z¶Z¶_“¸X“¹[‘¸Q¶Y”ºV“¸\“·_“¸V·UŽ´[¶W‘¶X“¸Q’»\’º`¸V·\”·Y’¶T“¶Y’·\’¹^•ºa—¼e’º_޶]“¹\“¸\”¹`–»a–º]•»\’º`“¸`—¸Z‘·`˜¼`—ºe—»a•ºc•¸a”¸c•¸e–¸[’¶b—¸`•»[“»f˜½h™¼`˜»`”¹\”¹^–»^–»^–»_˜»`™¼h—¼d˜»f˜»_“¹d—»j™½a—»]”ºi˜½e™»a˜¶b•¹d—¼_•º^–»b˜»f˜ºjœ¾_—º`•»[—»c–ºi™»a˜¼_–»^–»b˜¼_•»b—ºa–¸\–º`—¹g›»`š»dœ¼l›¼k˜»iš»m¼j¾f™»jž¾m½pÀjž¾f˜»`š»h›¼eš¼qœ¼a›½`™½e™½m›»h›»kš»iœ¼lš»iž½mŸ¾j¼dš»d›»g›¼gš¼c™»m›½bœ½ež¾c™½b™¼j›¼iœ»fœ½b˜¼h›½e™½e›½d–¼d˜¼p ½jœ½mœ½nš¼fœ¿jš½i¾m›Àgš¾f›½_š¾g›½_˜½j›¼eš»d˜½`˜½c›½jš¾m¾h™½e½f—»c›¼kŸ½m ½`™»g™¼d™¼iœ½mœ½e›¼aš»dš¾iš¾f™¼nš¼b˜»iœ¼h™¼`˜¼cš¾f™½b—»mš½f½lœ»kœ»lŸ»kœ¼j›¼eœ½kŸ¾jž¾e™»iœ½eœ»dš½c›½h˜½ižÂjŸ½i¼iœ¼b›»c›½c™»iœ¾kžÀpž½mŸ½iž¼kœ½jžÀs Ájš½c›¼lŸ½h½fš¼hœ¾hœ¾j¾d˜¼iœÀg™»j›½jš»e›»o›¾jž¾`—»b˜¼fœ¿aœ¼k ¿lœ½h¾lœ¿lœÁi™½f˜½t›¾g™¾iŸ¾t Ám ¿mœ½lžÀk Ák›½s À^›¾dÀi¾k¾g™½qœ¼k›½lœ¾jŸ¿lŸÀi¾_™½q ¿hš¾l¾r ¿dÀrŸ¿q¾cœ½i¢¾jœ¾n ¿rŸ¾nÀw¤ÄeŸ¿u¢Áo¿iž½v Át½lž¾t ½pÁg¿m ¿u¢ÀtŸÀlœ¾l½oŸÂl Âo¢Â{¥Ã«Ç™²É§µÈ¨¶Éª¹Ë®»Ì¬ºÊª»Ë­»Ë¬»Ë²ÁÏ´Á̶ÁζÁÑ´ÁиÃѺÄÒºÅÓ»ÇÓ»ÇÓ¼ÅÔ»ÄκÄÑ»ÄÑ»ÄÑ»ÆÓ¶ÅѺÆÔºÆÓ»ÆÓ¹ÃθÃλÆÑ·ÃϹÆÓºÄÓ»ÆÓ¾ÆÕ½ÆÏ»ÅνÆÒ½ÇÓ¼ÆÓ½ÇÖ¼ÇÔ½ÇÔ¼ÆÐ¾ÄϼÆÒ»ÆÓ»ÆÒ¼ÆÔ»ÅÓ¿ÇÓÁÈ×ÁÈÖÂÈÖ¿ÈÓ¾ÈÕÀÇÕÀÉÖ¿ÉÖÀÈ×ÂÊÖÂÈÑÁÈÖ¾ÉÓ¿ÇÓ¿È×¾ÈÖÁÈÕÀÊÖÀÉÕ¿ÇÓÀÇÓ¼ÅÓ½ÇÒºÇÔ¶ÄкÅÓ¶ÃÓµÄѱ¾ÎªºÌ¤¶ÌŸ¶Ëœ´Ëš°Éš°È•¯Ç­Æ«ÆŠ«Ç‹«ÆŠ¨Ä‘«ÆŠ­Æ‡ªÇŠªÆŠ¨Â†§ÃˆªÄˆªÄŠ«Æ«ÄŽ­Æ¯Ç‘¯Çœ±ÉŸ±Ê¦¹Ìª»Îª¹Ì¯»Î­¼Ï°¼Î«ºÌª¹Ì£¹Í§»Î¡¶Ì ´Ë ¶Ì£¸Ìª¼Î£·Ê ²É²É¤¶Ë¥¹ÊªºÍ¡·Ì¤¸Í§¶Ë©·Êª·ËªºÇ¼ÅÉÇÐÖËÕÜÌØÝÍÚÞd’¶k—¸m‘¶Wа_Œ³WвW‹²Xµ_‘¶_·Z’¶]¶Zµ\޶R‹´WµPŒµZ‹µRŒµ]¹V޵_¶o‘¹o•»l˜ºp–¹q–»g•»g’ºa’µa޵eµdŒ²gµ[޵c“¶XŽ·Y¶P‰²Tˆ³Pˆ³O‡²UŠ´MеP‡´M‡µH†´L†´Kƒ®I‚±N‰²O‰´Jˆ²Oˆ´M‡¶N…²P„±N‚±Oˆ³HŒ´Mˆ¶MеK†´I‡²M…²Q‡±Oˆ´Pˆ´Kˆ´Lˆ·J†µL†³L†²M‡±Uˆ´Uˆ´O†±OŠ´Oˆ²N‰µK‰´MвP‡±I†±Sˆ´E…²J‡µI´J‰·OжNжH±R‰³J…²N…´L…±R‰·K†³T‰¶R‡²N…±Rˆ´P‹·OжK‰´RŒ¶SޏO‹µJ‡²Rˆ³R‰µK†´P¶RŒµOжQ‹·N…³U‹µT‹µR‹¶NŒµMŠ´Mˆ³K†¶QŒ¹P‹·S޶SŒµR¶U’·LжU·^¹U‘»Rµ\·S޶X‘¹Q޹S¶PŽºXŽ»T»PŒµ[¶]’¹U‘¹QŽ·O¸Y’¼[ޏW¸TŽ·]“ºR¸PŠ´NŽ·T¼\”¼X‘»V¸Z¶^’¹]“º[”¼U¹U¶X¸X’ºZ’º[–»_–º]–¼\‘¹\•¸`’¸U»d“»a–»_•¸`’º^‘¹[’»S’¹i•¹]—½]•»_“»\‘ºl™½a—¼e˜¼d–½[”¼X•»bš¼_“¹]”¸f—»Z”»^”º\•¹\•º\–º^—¼V“º_”º^‘ºb–»\•»]—»g˜»`™»^—¼d˜¾d˜½h–½h˜»_•º[“»b˜¿d—¼^–»c˜¼b–¼f˜½^–½e—¼^‘¹]’»g–»eš¾f™»g—¼e—»c–¼\–¼]‘½f˜½`˜»a˜¼b—»h˜¼b–¼`—½c•¼]“»f˜½a˜¼`š»`™½f˜»d˜¼a—¼\’¹e˜¼n¿d™¼mŸ¾e™¼e™½kœ¿rÁd—»`™½i›À`›½`›¾h˜¿`—»gš»hš½kŸ½j›½eœ½d›¼a˜¾g™½iš½g™¼fœ¿f™½m›½jŸ¿p Àmœ¿rŸÁf™¾jž½jš½gœ¿c›ÀeœÀj›¿k›½k˜½pœ¾iš¾gš½eš¿cš¿iž¿dšÀcš½j›Ák›¾e™½e›Ájš¾dš¿eœÀd—»d˜½b•½f™¼eš½d›½cš¾c™¾jœÀd˜»cš»iš¾k›½h™½h™½fœ½g›½c™½hœ½gš¼sœ½i™¼d˜½b˜»jš¾cš½eš½k™¼g™¾iš½`–½a—¼b™½`˜½eÀh›½i™¼j˜»f™¼dš½b™¾iš½iš½`™½lœ½d›½f—»iž¾e™½`œ¿e™¾hÀe½ož¾kœ¼l¿ožÀd¿iÁkÀjŸÁcžÀgžÁo›¾r›½o Áe¿hœÁhžÂtŸÃmžÀmž½nš½oœ¿e½f—½hš¾f™¿g›Áh›»gš¼bœ¾mŸ½pŸÀdš½iŸÂlžÂiŸÂp ¾i˜½i›¾f™Ádš¿e™¾eœ¿jšÁkœ¿nžÁl¡ÂmžÁd›¿fœ½hÀhŸÁm Àk¾l ¿dœ¾p›¿i›¾nšÁf˜½e›Áb™ÀhœÀu¡ÂqÁk›½pžÀl¡ÂiŸÁmÁm£Äj›¿l£Àu¡Áp¡Áo¡Áo£Ál¡¾c›ÁešÂmž¿qŸÁk Àf¾oŸ¾m¡Äs ÃfœÁl Ãt¤Àv Áj¿€¤Ä„¨ÆŽ­Èž´Ë§·Í©·Ì©·É­»Ë®¼Î­»Ë®¼Ð®½Í³¾ÒµÀѶÁÑ·ÂѹÃÒ»ÄѺÅÕºÆÔ»ÄÓ¼ÆÓ»ÄÔ¼ÆÔ»ÅÑ»ÆÐ½ÆÓ»ÅÓ»ÇÔ·ÆÓºÅÓ½ÆÕ½ÆÓ¼ÄÑ»ÆÓ»ÅÓ»ÄÔ»ÅÔ¼ÆÖ»ÇÕ½ÆÔ¾ÆÓ¼ÄÓ½ÆÕ¼ÆÕ»ÆÔ½ÆÔ¾ÆÕ½ÇÔ¼ÇÕ¾ÇÕ¿ÇÖ¾ÈÖ½ÇÕ½ÇÖ¿ÇÕÀÈØÀÊ×ÀÉÖÀÉ×ÀÊÖÂÉÕÂË×ÀÉÖÀÉ×ÁËØ¿É×ÁÉ×ÁÊØÁÈ×ÁÉÚ¾É×ÁÇÖ½ÈÖ¿Ç×½ÉÖÂÉØ½ÉÔ½ÈØ»ÄÓµÂÒµÂÒ¶ÀѵÁѰÀÕª»Î§¶Í¨¶Í¡µÌ¡´Ìœ²Ëœ±É›®Ê“­É‘­È“¬É—¯Ê˜®Ç“®Ê«ÇŠ«Æ†©Æ„ªÅ‹¬Æ…ªÇ¬Çš¬É•­Ê–®Ç°Ê ³Ë¤·Ëª¼Í°½Î®»Î­ºÏ±½Ñ¯¾Ï­½Îª¼Ñ£¹Î¤¹Í£²Ì ´Ë¡³Ë¨¸ÍªºÎª½Î¢»Í¡¸Ì ±Ëž´Ë¤¶Ì¥µÌŸ²Ê¢³Ê£µÌª¹Í¨¹Ç¾ÇÍÈÐ×ÌÖÛÏÚÝÏØÝXްVޱV‹±P‹³Z°ZŒ¯\Œ±W‹²\³]Ž´^޶\‰´\ޏVŒ¶XŒ³T޶`“¸T¶Yޏ^·e·[‘µjš»q›¹s¸sœ¹n•¶r˜µo˜¶h’·i–·j’¶e‘µj”¶e’¶a޵X‹µ`ŒµO‹³Nˆ´K‡³N‡±D„±I†²J‚°Nˆ³L‰±Q‹´E†±Gˆ²H†®M…®L‚®Fƒ°G‡¯K†±M‡³C†²G‡²H†±Lƒ±PвNбMгI…±F†³M‰µM‰²@ƒ±J„®L‡°Nˆ¯I…±Nˆ´E‚²K†´I…±M†¯Iˆ²E‡³H‰´J‹¶Jƒ¯RŠ´Oˆ²E‚°P޵K†±Oˆ³H„±O‡µPˆ´D„±G‹±GвLбJ‡±R‡²M‡³O‹´LжK†µS‹¶H‡³I…²P‡³T‰²G…±NгMеMгJˆ±V“·NˆµOˆ´X¸Rˆ³Oˆ³L‹¶OŒµKˆ²QŒ³RвSˆµQŒ¶TжJжQ·S’³I‘µLޏ]·PŒ´K·T“¹NŽ·MжQµQ‘·X·LˆµFжM޶O‰µP¶S¸S¶R¹Z‘¸[‘¹W¶N¶SŽ·P¸T”¹b–¹X“·Y’¸\“ºU‘¸X“ºV’»U’¸\“¹Q”¶S‘¶X‘·\¸W“ºV‘¸T¸Q’¹R‘¸R’¹_’¹[‘¸X’ºM޶Y•»V”ºS’»W’¹Z’¸]‘·[‘·Y‘ºW’»]‘¹Y‘¸^“·`—º`—ºZ’ºd–»W¹]•º[—»^—º[™¼[–¹b•ºb–ºa–¹]˜»\’¹X’º\”»M‘¸\–¹`—ºf—»\’»]’º_–·b˜ºU•»\˜º]˜¼S“»`—¼d™»\“ºa˜½^—¼_•¼Y–½V“º`•»d“¸R‘¸_–º`–ºe™½]˜»a™»lœ¾g—»e—»\—º[•¼]—ºZ–»\—º^™»bš½]˜»c˜ºe™½]—¼c˜¼g›½e˜»a™ºe™»i»nš½f™»b˜½aš¼`˜»b™ºkž¼e™½e˜½lš¾c™½X—»a›¼lš¼_™¼dž¾i½e™¿d—½c™½`–¼\—¼`›¼m ½e›½m™½g›¼f›¼dœ¼gš½a™¼_š½ež¾gž½fœ¾hœ½dš½aš¾b˜¼dœ½dœ¾eœ½i›½fš½c™¼`š¼bš½fš½c™½b›»aš¼a™»eš»i™¼a›¾`›¾gœ¼_™½c™½d™»^˜¼]˜¼a—¼c™½`™»f˜½c™¼c™¼_™»nš½f˜»fœ¼eš¼e˜¼fž¿fš½jœ¿gš»d›»bš¼`™½a™¼gœ¼hš¾e™½a˜¼c˜»c˜½hš»_–¼h½k½^˜½d™¼e›½_™ºfŸ½o ½i™¼lž½`š½d›½aš½bš½`š½b™¼Y–½^™½b›½b›½e ¾g ¿o ¿lŸ½nœÁl¿j¾gœ½oŸÀfžÂjž½fž¼e¼hœ½h½i˜¼fš¾bš¾[›¿eš¾`œ¾c½h™¼f™½lœ½dœÁfš¿lšÁhŸ¾g¡¾e™»_—½j¿d›½b›Á^—½dœ¾bžÁi›½d˜½h›¾l¡Â_™¿i›Ádž¾g˜¼e›¼m¡½nŸÀl½f™½aš½bš½ežÀež¿`›ºf½d™½c–½k›½nžÀs¤ÃkžÁcŸ½g¡¿dŸ¿eš½h›»mÃs¡¿ržÁm¢Áj¢¾l¤Ám¢¿y¢Âjœ¿d™¾\™¾n¡Ãi¡¾l£ÁhŸ¿lŸ¾kœ¾hš¿mÀo¡Às¡ÂmŸÂ|¥ÃŒ«Ã—¯Ç¤³É¥¶Ê©¹Ìª¹Ë®¿Ð©¼Î®¾Í±½Ì°½Í±¾Ì³ÃϵÁеÄÔµÅÓºÅѸÆÒ¹ÅÓ½ÇÓ½ÆÓ½ÆÓ¹ÆÑ¹ÆÓ½ÆÓ¼ÆÓ»ÇÒ¼ÇÔ½ÇÓ½ÆÒºÃÓ»ÃÓ»ÅÓ»ÆÓ»ÇÓ¸ÆÓ¼ÇÑ»ÆÑ»ÆÓ¹ÆÓ»ÇÒ»ÆÔ¼ÇÔ½ÈÔ½ÆÒ½ÇÓ½ÇÓ¼ÆÔ¼ÆÓ¼ÆÔ¾ÇÕ½ÇÕ¿ÉÕ¿ÉÖÀÇÔÁÈ×ÁÉÖÁÉÕÀÉÕ¾ÊÖ¿ÊØÁÊÖÁÉÖÃÈÕÁÈÖÁÉÖÀÉØÃÊØÂËÚÂÌÙÂÊÖ½ÆÔ¿ÇÕ¿ÇÓ½ÈÓ¿ÆÕ½ÇÔ»ÆÒ»ÆÒ¶ÃѶÂйÁѶÁдÃÓ«½Î¬»Í«»Î¦¹Ì¥ºÌ¤¶Ë¡µË±È™±É™±Êœ±Ê—¯É™±É•¯É«ÆˆªÅ|¦Äƒ©Å…ªÅŠ«Ã‡­Æ–°É“®É—¯Ç³Ê ¶Íª»Î­½Î°Àѱ¿Î±½Î³ÁѲ¿Ï°¾ÏªºÍª»Í£¸Ì¢µÎ¤¶É¥¹Ë§»Í¤·Ì§ºÌ¤¹Í ¶ËµÊž³É µÊ¡·Ë²Ê°É µË¢¶Ë«·Ã¾ÇËÇÒ×ËÖÛÎÙÞÏÚÞh±^Œ®`Œ±]Œ°\³WŒ±]³]‰±f¶]‹®b޲h“¶_’¶Z·_µ[Ž·]Ž·`’¶c·\Œ±_‘µ_“¶qšºu›ºu›¸}¹z™¹}›¸q—·wœºq–·o˜¹n˜·e¶i’·f“·o–·^޵U‹³U‡³J„±N‰²Qˆ³O‡³Vˆ³MбN…²Pˆ²Oˆ´J€¯N…°Q…¯I°Nƒ±YгP„±G±Hƒ±L‚±Lˆ±O‡²P‰³UбQвL†²J±I…°H…°G„±K†±PвR‰²O…¯P…±Eƒ±Lƒ²L‡²L†±H†³O‰³R†±K‚±O†±M°I…°K…²I„´K†³N‰²P‰µJ…²L„µH‡²@®V‰²G‚±K†±M‰³UŒ³Gƒ±H†´Kˆ¶NŠ·P†µNˆ³PŠ´N‡±J†³PŠ´K‡³Nˆ¶N‡´P‡³I‡´Nˆ³Lˆ³SгXŒµN†³N‰µP‰µP‰¶V‰µS´UŽ´R‹·Q‰³O‰´R¹TޏO‹µLˆ·\“¶Y¶X¶VµR¶MˆµOˆ¶M¸X‘µOŒ±M³X¶XжYгP‰µW·Pº\’·X·[Ž·TŒ¶]޵ZŒµXޏQ·PŽºU¹T‘¸Y޶`‘·\’·X‘¹X‘ºL‰¶O‹¸T‘·W¶Y‘¶RµMˆ¶N‰¶W¶X‘ºW¶[ޏZ’¸P¶X¶`’»\•»R޹_“¸XŽ·a—¹\‘¸Z“»Y¸]“»a•¼d•»[ºd™½Z•º\·\Ž·\‘¹`•»Y·]’ºX·_•º`–¹c•¹\¸_‘ºYº_”¼\”º[•º\”¸\•¸`—º_—»^–»e—»]–»W’¼f˜¼_˜ºa˜ºg™»_˜»^’¸g˜½b—»e™½]•º]“»f–¼`•»e˜¼f˜»_•¼e—¼`˜»a–»b–»e—¼l—¼`”¸\”º^—»[—¼`™»f™»a–»g™ºZ”¹_–¼`—»h˜½d˜¼jœÀfš½c•ºj˜¼d™½hš¼`™½`š½]—¼f˜¼s›»g™ºe™ºk™»hš½fš¿e›¼`š½m˜¼lœ¼e˜ºd–»e˜»a–¼eš¿b–½d˜¼i›½i™»jš¼kš½e˜»f—½lš¾h˜½\–¼h›½]—¼oœ¾i™¼d™¼c˜½dš¼\–»b—¼b™»a—½d–½g›½d˜½a™½iŸ¾d™½a™»j—½a•»d™¼e™»e›»`˜½fš¼]—¼c—»iš½`–»d˜»h˜¼_™½eš¼c›¾e™¼m›½j›½g˜¼o—¼h˜¼d˜¼h˜½hš½d–¼b—»mš¼f—ºmš½d˜»]—»[–»e—½fš½q›»d—»k˜»j™¼d™ºmš½jš¼]—¼hš¾m›½l›½c˜¼d™¼eš½f™½h—½iš»jž¿eš½i™»fœ¾jš¾mœ¼iš»ož¾c™½iš½l›¿i›¾d™¾hœ½e™½k›½p¿g›½b™½_˜½i˜¾iš½kÀcš½eœ¼h›¾j¿o ¾pž¿`˜»eš½\–½g™¿rœÀq¡½g™½b™½lž¿k›½n™½f™½hœ¾d˜½ešÁl›¿lœ¿j Ár¿^–¼g™½e™½a™½eœ½gž¿fš¼n¼j›½f˜½f™¾hšÀf¿gÀjœÀjœ¾sŸ¿fž½kžÂpÁfŸÂkÀhš¿eœÁjœ¾k ÀkŸ¾rŸÂmœÁmœÁlŸ¾nžÀo¢¿dž½fœ½k™½t ¿pŸ¾l›¿l›¿h›Âh ¿g›¼kœÀmš½o›¾q Âw¢Â‚¦Äš±Ç£µÊ§¸Ê©·Êª¹Ë«ºË¯»Í®½Î±Àб¾Ï³ÀγÂεÁ͹ÁѺÃÒ»ÄÓ»ÇÓ»ÆÔ¼ÆÓ»ÆÒ¼ÄѹÄÓ½ÆÒºÆÒ½ÆÓ¼ÇÕ¾ÇÕ¾ÇÕ¿ÇÓ¾ÇÒ½ÅÒ½ÇѽÄνÆÓ½ÅÔ½ÆÔ»ÆÓ½ÆÓ½ÄÑ»ÃѼÅϽÆÓ¼ÆÔ½ÆÖ»ÆÔ»ÆÒ»ÄÓ¾ÆÓ¿ÇÕÁÇÔÀÈÕÂÉ×ÁÉÕÄÊÖÅË×ÄÊÕÃÉÖÁÈÖÀÈÖÀÉÖÁÉ×ÁÉØÃÊ×ÄÊÖÃÉ×ÄÉÖÃÉ×ÁÉ×ÃÉØ¿ÉÖ¿ÇÖ¿ÈÖ¾ÇÔÁÉÕ¿ÈÖ»ÆÓ½ÆÓ»ÄÓ¼ÄÓ¸ÄÓºÄϺÄѺÂѵ½Ð®ºÍ®ºÍ¬ºÎ¨ºÎ£·Î¤¶Ë¢¶Ë¡¶É¢µÌž²Ì¡³Ê—±Ë•¯Êˆ©ÆŽ«ÇŠ©ÃªÅŒ©Ä‹©ÃŒ«Æ•­È—°Êš¯É¥³Ì®¸Ë®»Íª½Î±ÁгÂÑ´ÂÑ´ÂÓ»ÂÒ´Àγ¾Î±½Ì«½Í¨·Ì­»Ì§»Î¤·Ì¡±Ë¨·Ë¥¶Ì§¸Ê µË²ÊŸ³Ë£·Í²Ì ²Êž°É¥µÊª¶Â¿ÇÍÈÑÖÌÕÝÎ×ÞÐÙÝ\Œ°X°^¶Uбdµ[ޱ[³g‘·]¶]‘¶j™¶m’¶l”·^“·]޵_‘¶e’¶X’·dµ^¶k‘¶h’¶u”¶n›¼| ¼{ž»{Ÿ½€ž»~ž»…Ÿ¼ž¾zœ¸|˜¸u˜º_¶i•¸aŒ´a޲aŒ³S‡±Lƒ±Iƒ°L†´K„±T„²S‰´RвQŠ´PбU‹²J‡¯K‡±D‚¯Fƒ²N…³L„±G‚±S‡±O‡±O‰²R‡±P„³P†±O†±TŠ´Qˆ²XгH†²I†±Mˆ±O†²M…°Oˆ´K‰´M†³O†±PвN‰³Q‰±RŒ´Qˆ²R‰µI…²J…°Kˆ²Oˆ³L‡²I†±M…±L‡²Lˆ³N‡¶L‰±NŒ³QгOˆ³NŒ´G‡µK„²F„µH†²Jˆ±HбSŠ´P³Rˆ²N†³K…³UжP‹¶RŠ´N†³NбM‰±P‹³L‡´M‡µQˆ´RµNˆ²V޵N‰´T޵R·U‹¶NжM‹µM‰³OŒµR޵[µT¸U¸X‹¶RЏ^¶Q¶W޶SŒµPµWŒ¶X޶SޏX’»Z‘¶Xµ\‘·Wޏ\‘¸X·a•¹W‘ºX‘ºP‹µY·]‘¹YµUŒ¶a’ºU¸Q¸X¶]¶[’¸W‘¶SµV¹Z”ºT‘·[’¸V‘¸`–¸Y“¸\¹Y޶W´S·\“ºY‘»\’º_”»X’¸\‘¸_–¹X“·^•»\’»f’»f–ºa‘¸X¸`•¸Y’¹`’»b’¼_”¼\¸c”¹_—ºc—º\–¹Z”¹Y‘º\“»\“¹c–»b—»d˜º_–º^”º[”»Z”»Z”»d–»iš»j›»hœ¼b˜¼a’ºg—»d•»_˜»`™¾`™½b™ºj›¼]•»h—»b•»aš¼e˜¹`˜»b—½b—»c—»_–¼_“¸c•»`—¼c—¼a•¼f—»`—ºe˜¼a•¹`—»dš¼^—¼c™ºb—»dšºi›»b™»k›¼g˜¼l¿e›½e›½m½c˜»jœ½d™½i›½h¾lœ¾lœ¾fœ½jœ½e™»d—ºjž½h™½g—½e™¼iœ½mš½oš»m›»mœ½_™¼`˜½fš½a˜½aš½gš½fš»r›½hš¼hœ½g›½h™¾d˜¾iš¿l½h½dœ¼f›¾_™½gš½`˜½fœ¿l›¿jœ¼k›½i›½hš½fš½d—½e™¾d—»_—»iž½a™½a™»e–»i˜½Y”¸Z•»d™½hš½f™»kœ»f™»dš½h™¾q›½e˜»h›½g™»g½kœ½jš½hœ½i½f™¼a—»e™½j˜½f›¾mœ½jœ½c˜»nž¾f˜»b˜¼dš¼m›½d˜»c–¹f—»`˜¼i›½j›¾dš¾dš¾lš¿n¾ož¼g™»lž½d›¼p ¿gš½nœÀ_™½hŸ¾j¡½_˜ºk›¼pŸÀkœÁi™½f—½iœ¾iž¿i›»c™¾g›¾g›½jš½nœ¾iš¾gœÁo›»f™»hš¾i¾kŸ¾iž½q Àg™½mžÁeš½mœ¾jš½nš¾sž¾g›¿eœÁgœÂl›Ák¾rœ¾iœ¾f™½eœ¾iœÁmžÁeÁešÀa™¼j›½f™½^™½gš½mÀmœ¾g˜½lš½j›½jš½mœ¾gŸÁrŸÁkŸÁeÁmÁlœ½o Àež¿k¡¿jÁešÁg Ãu¡ÁržÁl¡ÀpŸ¿n¡¾i¾gœÀn¡ÁrÃlŸÂv Áuœ½n›½t¡ÃsŸÁr ÁsžÀr Às¡ÀmÀsž¿x£Ã„§Å•±È£¶Ë¦¸Í§¸ÍªºÌ®¼Ë®¼Í±½Í°¾Í±¿Ð±¿Ï¶ÀеÂлÅÔ»ÅÒ½ÇÓ½ÇÓ½ÇÔ¼ÇÓ½ÆÑ»ÇÔ¼ÇÖ½ÇÔ½ÇÓ½ÈÓ¼ÈÓ½ÇÒ½ÇÔ½ÇÓ½ÇÓ½ÇÕ¾ÇÒ¿ÇÓ¿ÇÔ½ÆÓ½ÆÓ½ÇÕ»ÆÕ½ÆÕ½ÇÕ½ÆÑÀÇÓ½ÇÓ½ÇÔ¾ÇÕ¾ÇÔ¿ÈÖÀÇÖÁÉØÂÉÖÄÊÖÃÊ×ÄÊÖÃÊ×ÂÊÙÄÊÙÄÊ×ÂÊÖÂÊÖÁÉÕÂÊÔÃËÕÃÊØÃÉØÂÉØÅËØÆÌØÆÍØÆËØ¾ÉØ¾ÆÖ½ÇÖ¾ÆÕ¿ÇÖ¿ÉÖ½ÇÔ¿ÇÖÀÉÒ½ÆÕ¼ÆÓ½ÆÒºÃÔ½ÇÖ¼ÅÕ·Âе¾Í¯¼Í§ºÍ¥¶Ì¤¶Ë§µË§¹Ë¦¹Ì¢·Ì¡·Ìž²Ë­ÈŠªÅ‰ªÆŒªÆ†©Ä«Æš®Æ˜°Ç•®Êš±É®Ç¦¹Ìª»Î«ºÎ°¿Ï²¾Î¹ÁѶÁÒµÄÓ¶ÂѵÁѳÃÒ°¿Ñ±¿Ì³Àϲ¾Î©¹Î¨·Ì©·Ì¥¹Ì¤¶Ì¥µÍªºÍ¤ºÌ¢¶Ìœ²Ëœ±Èœ°Ë ³Ê¥·Ë¨·ÄÀÉÍÊÔØÌ×ÝÎØÝÏÙßZ±^‘±S‰¯VаX‹°T±Yޱ`’¶f’·i”µm“µi’¶n“¶_’¶]‘·e“µ\´d‘³g”·o•¶l“¶p˜·v¸x º~¢¾ ¾ƒœº…žº…ž»¢»…Ÿº ¼zŸºn™¶o—¶i–¶m”µ\Ž´WŽ´QµI‡°Oˆ±L‡²S‡²Q…´K…±OŠ´F…±Jˆ±I…±F†±E…±L…°I„±E…°J…±K‡±K…¯J‰³Jˆ°E‚³Iˆ´K…°L„²Qˆ³P†±K†²Hˆ´Lˆ´Iƒ±L†°H‚®B±I‡²O‰²K„±L‡²N‡´Iƒ°G„²Jƒ°F„°L„¯J„±C‡°O‹³NŠ´L†²H„²F‚°C†±H‡²J†±LгH‡´O‰±N†³L‰µG‚°Kˆ±E„°N‰³NгM޹OŒµM…³Oˆ´P‰µMвD…±M²Hˆ´Iˆ´N‡±OбM‰±N‡²Nˆ´RŒµNŒµMеR‹¶S‰´S‰³M‹·O‹³O¶O޶NŒ¸J‹»RŠ´R‹³]“ºNжK´LŒ¶Q޹N¶QŒ·SжS‰µP‹µC‹³MŒ¸W•»O¶Yµ[‘¹XµT’¶O޶QŒ´Q޶V‘¸Q¸Z•¹S¸S¸U¸Q¸J޶UŽ·Z‘¶c•»V’¹Pµ[‘¸O·O·R¶W‘¸V·W¸W“¸\•º_“¶X‘·Q޶]‘¹\’¹S‘»Z•º^•¹Y’ºY’¸[‘º_•º`•·X“¹Q¶b”¸]“¹Y’ºV–¹\•¹V“ºZ”¹Y“¸W‘·_—½^–º]’¸^•º[”¸S‘¶]•ºT”»\’¼g–»`—»`—»V”¹c™»`–»_—¼`š½_™»X”ºf—»b–»c—º\—º\˜½^˜»b™¼b—¼a–º]—¹`–»[•»b•º_–»]–º_—ºY“»bš¼`—ºZ—¹^˜¼\˜»`˜»b˜»]–»iš¼h™»gš»e™º^™»_˜»_š»fš»`š½e™½kœ½jš¹eš»c™¼f™¼`˜»d™¼fš¼gœ¼_™¼]—ºg›½h›½fœ¼f½f¾`—½lž¾_˜»dš¼nž½d™»d˜¼c™½m½fš¾c™¼a™¼hš½b˜»ež½`›½[š½]™½lžÀiŸ½i›¼^—½b™¼b˜¼^˜½a™¼`™¼iž½bš½e˜½b˜»c™»Z–½`–»f˜¼f—¾cœ¼p¿b—½^–»]–ºb—¼]–»_™¼b™½gš»aš»f™½_˜½]˜½`™¼b”»_—»i›¼_›»d›¾h™½`˜¼_–ºf™¼b™¼a™½a›½cœ½a˜»gš½d˜¾e™¼`•»g–ºj¼e›¼cš½eš½a™½]”»f›»e›½f˜»gž½hœ½jŸ¾hš½iš¾_˜¼g—»b˜»d›»dš½f½j¿g›¾fš½e™½eš½iž½e›½e›½f›¼f›½jš½g›¿dž¾jœ¾d½gœ½i›½ežÀ`˜½eš½h™»eš½c›¾d›¿jœ½iž½o¡¿aœ¾b›½iŸ¿gœ½hš¼gœ½gž¿]›½e¾iÁf™»hš¼`™½`™¾j›¾jœ¾l ÁhŸÂiœ½hš¾eš¿^—ºa˜»jÁ\š¼d›¾i¾f˜¼j›½d›½h›¿h›½g›½f›½iŸÀpÂg™¾j›Ág›½dš½hš¾gÀfŸÁoÀh½hœ»d›½b›½gŸ¿h¡ÀfÁpŸÂoÂs¡¿lž¾l¾l¾s¡¿k£ÃjŸÂlŸ¿iŸÂpŸÁrŸ¾iš½e™¾n¢Áj ÂeÂs¢Â‚¦Ã’¬Æ´É¥¹Ë§¹Ë©¼Ì­½Í¯½Î°½Ð°¼Í®¼Ì®Áϯ¿Ñ³ÃÒ¶ÃÔ¹ÃÒ»ÆÔ½ÇÖ¾ÈÕ½ÇÓ»ÇÔ»ÆÓºÇѺÇÔ½ÇÓ½ÇÓ¼ÇÓ¾ÇÕ½ÈÓ»ÇÕ»ÇÓ¼ÈÓ½ÇÕÁÈÔ½ÉØ½ÇÔ¿ÈÓ»ÆÔ½ÇÔ¼ÆÓ»ÅÓ¼ÅÓ½ÆÕ½ÈÖ½ÇÕ¿ÇÔ½ÈÓ¿ÈÔ½ÈÓÁÊÕÁÊ×ÃÊØÅËØÄËÕÅÌØÄÌØÄÌÖÄË×ÂË×ÁÊÖÁÊØÃËØÂÉÔÃÉÖÂËÖÃË×ÃËØÁÊØÃËÙÁÊ×½É׿ÉÕ¼ÈÓ½ÇÔ¿ÈÒ½ÉÕÁÉÕ¿ÈÖ¿ÉÖ¿ÈÕ½ÈÓ½ÈÕ»ÇÕºÈ×»Æ×¸ÃÔ¶ÁÒ²ÀѰ¿Ï®¾Ïª»Í«¹Ì«»Î©»Î©»Î¦ºÌ£¶ËŸ¶Ë™±Ç®ÈŽ¬ÇŠªÆ‘­É“°Ê³Ë—¯Éž¶Ì¤¶Î¤¶Ì¨ºË­»Í¯½Ñ³ÃѶÃÔ¸ÄÓ¶ÅÒ¶ÄÓµÃÓ±Àϯ¿Ï®½Î²ÁβÁÑ®¿Ï¬½Ï¨ºÌ¨¹Ë©¶Ëª¸Ì©¹ÌžµÌ¡µÌŸ´Ê›±Èœ±Ê£±Ê¤µËªºÃ¿ÊÎÈÓÙÍØÝÏÛÝÏÙÝ`®_Œ¬]ޝU°RаX‡±]´j˜¹i“¹o—µo•¶p•¹pšºaŽ´r—¶r–·o“·s™¹x™µ{™¸x˜¶p˜º}Ÿ¹Ÿº‚ »†¢¾†£½ˆ¡º†œ¹…¡¹„œ»Ÿ¼|™»zš»r•¸i“¶k“¶d‘´Z´N†°M…°H„±O‰¶J‡´PгP¯P„®P‰¯E…±L…±Nƒ±H„®I„±Rˆ´K…±W…¯M­D¯I„±QеC€²S‡²O‡±T‡³G}®O…±K†²O†³K†µJƒ±R‡³R…°R†±O‚°Hƒ°H†²F„±J„³N‡²I‚±K®L€¯C‚®J‚¯Nˆ´H„³L†±O†³G€°M‚°Pƒ±F°G„±VŒ¶I…±L†±O…°M…²P„¯SŠ´N‰µC‚²K†µS‰²G‚³H…±N…°Jƒ°H‚®G„°L‡±Fƒ±L…²J…´Mˆ²Rˆ³S‡²O„²Pˆ´O‹µRвP‰µS‹·Oˆ³V‰´L…³K‡±Oˆ³M…³UгJ†°K‡±UŒµRµOŒµRеT³PгQ‰³[ޏW‹µWˆµU´T‰³[޶[Œ·R¶U·TŒ¶Z¶RŒ¶UжN‰¶TŒ¶U¶S‹¶SжRŒ¸X·X޵T‹¶]‘·[·R‰¶NжPŠ´^’¹R޵W´O¶^·WºVŒµ^‘¹W¸S‘¶[“¶\’»X¸VŒ¶Z޶Pжc’¹Z¹X¹a–»_“ºk—»\“¸[ޏ\¸i”ºZ’º]•¸b–»]»b“º^Œ¶_‘¸_“º]’¹[¹W‘·a•ºa•º[‘·[‘·c“·\“¹\”¹b˜¹g˜»[–¹b“º_‘º_•»b˜»`–»_–½a–¾d“½]•º^—¼\’¹e˜»_–ºX“»\’¸^•¼[“ºj“ºi’¹`”ºh™»`—»`•¼a•¹a—»\’¹_•¹e–»h˜¹g—¼f—¼f—»h˜»c–¼b—»e—»b•¹b—»b•ºj•»g—»j›½i™»g–¼j™»s›»o˜¼c˜»j›»iŸ½pœ½lœ¾h™¼_•»c—¼d˜¼e—»iš½jš¾h—½g—½g“ºm˜ºf•»h”º]“¸h›½b—»c–»e—ºc–»d–»e–ºc–¼_—»iš¿`—¼e™½j½f™½i˜¼jš»`–»eš½\”»h˜¼k˜¼h—»e“»f–ºf–»f™½^™»e›¼^–¼c’¼]“»kš½l˜¹c–»]”º_˜»c˜½]”¼g–»a•ºe—»h•»]•»c—½gš»k˜¾e˜¼c˜»i˜ºg—ºc˜»h˜¼b–»d–ºe˜¼g™½d—½e—»i–»g–»e—»mš¼f™½d˜¿h™½i—¼mœ½j—»b–»f›½jš»i˜¼f—¼j™½f˜¼h˜»j˜»eœ¼dœ½m½b˜½f›¾h˜¼g™»b™¼]•»d–¼l›½`˜»c—½d˜¾j˜ºi–»kš¼gš»hœ»f™»c™¼eš¾jÀs½m˜»f˜½h™½c™½dž¿hžÀmŸÂfÀj™½jš»d–»jš»d–»i˜¾d˜»g–½f˜½l™½k˜¼b—¼d“»g—»j™½iœÁf™¿`š½c›Àf™»jš½e™¾c–»e—¼f™½i›¼lœ½dš¼c–½a–½l›¾j›½c™½fš½lœÁnŸ¾k™ºk›¼oœÁk™Àjš¾c™¾g¿jŸÁsŸ¾iš¿h›¿mœ¾s ½s¾lœ¾j¾nœ¾o ÁjÀpœ¿j›¾n™½mÁmŸ¿mŸ¿t Áj›Àlœ¿d›¿ižÁkÀrŸ¿~¤Ã©Å˜±Ç£µÊ©¹Ë­ºÌ®½Í±¿Î­»Í¬¼Î©»Î¬»Î±»Ì³¾Í¶ÂÒ¹ÃÒ»ÄÓ½ÆÓ½ÇÓºÇѼÆÓ½ÆÔ»ÅÒ½ÅѽÆÓ¼ÆÓ½ÆÓ¾ÇÕ½ÇÔ½ÇÓ¾ÅÓ½ÆÓ¼ÆÓ½ÅÔ¿ÆÓÁÇÔ¿ÈÓ½ÇÕ¾ÆÔ¾ÇÓ¾ÆÓ¼ÆÒ½ÆÓ½ÆÔ½ÆÔ¾ÆÓÀÇÔÀÇÕ¿ÈÕÁÈÕÅÉÕÅÊÖÆË×ÇÎÖÃËÖÆÌÙÄËØÃÊØÂÇÔÂÉÕÃÉÖÁÉÖÂÉ×ÃËÖÃÊ×ÃÊ×ÃË×ÃÉÖÃÉÔÁÈ×¾ÉÖ¿ÇÓ¿ÉÖÁÈÕÁÇÓÁÆÕÁÇÕ¿ÇÔ¾ÇÖ¾ÈÖ¾ÆÕÁÈÖ½ÆÔ½ÇÖ½ÆÕ½ÃÒ¸ÁѶÃѵÀѲ¿Ñ²½Ð´¼Î²½Î¯¼Î®½Î®ºÍª·Í¥¶Ìž³Ê²Ê™®Ç–­Æš®Çœ±É™®È—®Ê´Ë£´Ê©¹Ë±½Í±½Í´ÀεÁжÁÒºÁÑ»ÅÓºÃкÆÓ³¿Ï¶½Î¶½Î´ÀϵÁϲ¿Ñ¬¾Ï°½Î§¸Ì©¸Ëª·Ëª¹Ìª¶Êª·Ë§¸Ì¥´Ë¨µÌ¨·Ë¬¸Ë¬´ºÃÉÍÊÑ×Í×ÜÏÙÜÏÙÞ^´Z³P‹±Y’±]Ž®f±n‘²i•²d“´^’¶o™¸s˜·v›·}™µv›·x¹u™¶{›»{¡»|¢¼|ž¸Ÿ¹‚Ÿº‡¢»€ »†¢»‰£¾…¡»ˆ ¼ˆ¤¼‰¢º‡¡º{Ÿ·xœºy›ºo–·o™¸d”·VŒ²V‡¯Qˆ¯O†²J…±H…³Gƒ°N†³M‡³M‰°H„®H®P†²L†²E…±O…±H‡³S‹²Pˆ°Nˆ²S‡±G†®L‡´P„°S‡²QŒµI…¯R‰²RгQ‰³I†°P‰±PвG…±I€°Mƒ°J®V‡°OгJ…¯L…±Iƒ°G„°Pˆ²H‚°N„°P„¯Z‡±N‡³K‰²H‰³I…²Gƒ±N…±R…®Rˆ°E€¯I†±J‡²G†²J‡²E…°J‡±P†±D‡¶Gˆ²H‡²E„°O†²O‡²RŠ´K‡±M†±Oˆ±M‡±QбH†²J†±L…±Pˆ³QŠ´N†´PвP‹³H‡³OŠ´U‹³L‰±OаV¶QŒ¶Uе_Œ¶KˆµN‰³Q޵S޶XµPŠ´M‡³P‰´M‰³[¹Q޶U¸R·R‘¶PŒ³RµV‰´Q´OµTŽ·Xޏ]¶XŒµR·RжIˆ²Y¸O޶U’·RµS¶Y’³]’µPŒ³Uµ\·U¶PŒ¶S’¶S’¶X³]Ž´X’¹W’¶]•¹]’º`’¸\“ºZ‘¸c•¹\’¹[“¶[’ºX·Y¸b—¹]•»_•¹Y•·`—º\”¸[“¹c—»g˜½d—»f˜¼c—»^”¸a–º`–¸]”¹d”¸`–»\“ºa•¹_–º^•¶_•»_”»g˜º_—»_˜¼a–»]–»`™½Y”»e˜»d–ºa”·b—º]™¹a˜»dš¼\“·_”ºa”¸^•¸d—º^”»`—»c™½_•¸a˜»c—»e˜»_–¸d—¼`–½f™¼c˜½aš»f˜»d˜ºb˜ºa—º`–¹g›½a˜¼b›½bœº`—¹b–¹gš¼h™¼e—»gš½jœ¾jž½dšºc˜ºe›»k»tž½k¿iš¾iœ½kž»iœ»m›¼j™»Y’ºd—¼l™½iš¼d™¼`™ºn™»i™»c˜º`—ºgš½j™»dœ¼d˜ºcšºe™»hš¼c—»^–¹eš»g›¾g™¾eœ½hž»c˜¹b˜º^˜¼h›½f˜»c›¼e Ácž¿f˜»h™»f™»e—¹d™¼d™»a˜½j™¼a™¼a›¼l˜½\’»e”º`•¼\“º]™½a™»e›¼j›»a—¸c˜ºgœ½i›»b›½eš½fš½d™¹g—ºh›½b™»d—ºd˜»c˜¼g˜½b—¼d™ºc™ºcš¼fœ½e›¼f›½gš½dœ¾j›»`˜¹`•¸cš»c—»d˜»bœ¾dœÀg›½d—ºc™»hœ¼g›½dš¾f™¼i™¾gš½gž½c›¾aš½hœ¼p›»c˜»f™¼`˜½a™¼_˜½i½qž¾n›»e™¼jœ¼j™½fš½h¿gœÀnž¾h›¼i›½jœ¼d›¼fœ½iž¿iž¾iÁd˜»c™»e–»g»p¼f›¾_š½lœ¿iš¿e•»iš¼kš½iš½a™½`™½gšÀk›¾jš»nœ½m½i™»n ¾a›¾i›¼i¼iœ½lž¾h½eš¼`˜»`›½i¾bš¾nž¾jœ¾kœ¾m½iœ¼p¾r¡¿o¢Àmœ¾h ¿n ¿qž¿j ¾iž¾n Àjœ½p£¿qŸ¿m ¾gž½hŸ¿o ¿uÁl Às Ãs Áv¢Ái½p ½lž¿rŸ¾iœÀz£ÁŒªÅ—®Ç›²É¨¸Ì­¼Î®¿Í°ÁΪ»Ì¨»Ì¦¹Ì¤¶Ì¦¸Ì®¿ÎµÃйÄѼÆÑ»ÆÓ½ÇÓ½ÇÔ¼ÆÑ»ÇÓ¼ÇÕ½ÆÔ¿ÆÓ½ÈÓ»ÆÓ»ÇÓ»ÇÔ¼ÇÕ¾ÇѾÇÓ¾ÇÒ¿ÉÖ¿ÇÔ¿ÈÓÁÈÔ¾ÉÕ¼ÇÓ½ÆÓÀÈÔ¾ÈÓÀÉÕ¿ÈÔ¿ÈÔ¿ÈÕÀÉÕÁÉÖÁÊ×ÃÌ×ÄÍ×ÄÌØÄË×ÇÎØÇÎׯÌÙÅËÖÆÌ×ÃËÕÁÌÕÃË×ÁÉÖÂÉÕÃÊÖÅË×ÇÌØÃÍÚÃËØÃË×ÁÊ×ÀÇÓÁÇÖÁÊÖÁÉÖÁËÕÁÉÕ¿ÈÖÁÊÔ¾ÈÓ¿ÇÑÀÈÔÁÈ×½ÈÖ½É×¼ÆÖ½ÆÔ¼ÅѺÄѺÃѺÁѶÃÒ¸ÂѶÃѶÁѳÁί¾Î­¼Íª»Í£¸Ë ·Ì¢¶Ë ²ËŸµË¡·Ë›³Ë™®Çš±Ê¤¹Ë±½Î°½Ï´ÁÒ´ÁÒ¸ÄиÂÑ·ÃѶÂкÃѹÃÑ»ÂÓ¹ÁεÁзÅÑ·ÂжÃβÁб¼Î¯½Î¯¼Ì®¼Ì°½Ë±¼Ê±¼Ì¬¼Í­½Í«¼Î¬»Ì°¼Í°»ÄÄÎÏËÔ×Ï×ÞÐØÞÑÙÞfŒ±W‹±]Œ±aŒ´`¶^¶e´o—µi’´b’¸p–¸s˜¸v𻀻™¶x»zž¶žº…£»…£¼ ½€ ¼€¡¿‹¤¿‰¥½Š¤¼‡¢¾Š£½ƒŸ»„ž¼† ¼‚ŸÀ€ ½„Ÿ»yœºt–¸n•¶g޶^ŒµW‡³N„¯M„¯F„®M‡°Fƒ°Q„²F±M†±Nˆ´U‡±J…°L†¯I‚±Q„²J„°M…²S†±I‚±M‚®L†°D¯O„³M°S†´N‰²J„°Rˆ´QвRˆ³Q‰²Iƒ²Oƒ²Jƒ±N„°P…±M†²O‡²P…±I…³G…´D¯G‚¯Lƒ±K‚±G€¯H‚²P†±R‡±Kƒ³F…µF„²J†²H†±LгF†²R‰´G€®M„±H‚³I…²G„´N†²RеM†²N†±L…±SжI†±Q‡³H†±F„²Gƒ²SеQ‰´F‡±Nˆ´H…³K†µQвPгS‹µWµK…²R‰µO‰¶M‡¶L‡²NжMˆ¶R†µR‰³PгNжN‰´Q‰¶P†´Q†´RŒ·O·X·O‰´S޶O‹µQ‰µO‰¶W´Q¶X·[‘µJ‡µSŒ¶NŒµQЏLˆµQ¶T‘¹VŒ·QŒ·UŒ·P‹µW‹¶SŒµQ¶X¸Z·S´X¸N‹¶QŠ´QŒ¶WŒ¶\’·W‘»Z“»_•º]’ºb·Y‘¸_”ºW¹YºX’»V·W¸X’·]“º\’»W”º_“¹`“»a–»`•¹a—¼a“º\•º_’ºa“¼[’ºZ“ºd•»f—¹`·Z‘¸Z¹_‘¸]’¹\ºb•»a—»_–»V’¹^”¹a”¹]’»b’»i—½fš¾d˜»d“¹]’º\‘»f”»c•ºf—»a•¼`“½b—»dšº^”¹Z“º^“»iš½]“»b—»f–¼b—»b—ºc—½\’¹a–»d”»_•»g™¿c–¼f™ºf™¼d˜»^—»a–ºb˜¼fš¼a’»a•»f˜¼g™»^–»j˜¼k›½i½m¿l›½f›¼mš¼`–¹`–»m¾gœ¼c—½b”¼h™½d˜ºg˜»g™¼bš¼c™»_”¹_—¿f—»`˜»b™»a•»`š¼jš¼d˜»a—»a—¼_˜½_—¼^•»e›½a—¼d˜¾h™½b˜½f˜½d˜ºdš½^™½d™½g–¾f™¼hš½d™½c—¼d™½jš»f™¼c™½\•¼a˜½\“»X•¸b–»c™½d˜¼d“º_“»f˜»`–½h˜½d–ºg™ºi™»g™¼c˜½e˜½c™½h˜¼b˜»d™»a–º^–»^˜¼b–¼b–ºh–¼b•¹[•»a“»c”»a™¼c™¼fš½a—¼g˜½b—½c˜¼k›¼_—½b—¼f˜½_–¹c›»c—¼h›½gš¿a—¼k™¾e˜¾eœ½`›½c½_—¿b™½c—½iš¾k—½e˜½gš¼fž½e™½d—¾`–¼f™½oÁk›Ámž¿r¢¾r›½e–¼dš¾`—¼kš¿i›½f™»c›¼f½c™¼[”»`–¼d˜¼iš½h›¿lš¿b˜»jš¼f™¾jš¿b˜½i›Áfš½dš¾c™¼h™¼lš»d™½lš¾e™½gš½`›Ád˜½nšÀa™¼iš½h™½g™½b™¾f›¿mžÃf›Ámœ¼h›½f˜»g™¼i›¼`˜½mÁkœÀkžÃl¾m¾k›½l¾a˜¾fš½išÀrÁfœÀg ½jÀkž¾g›½eÀiœ¿iœ¿oœÁu¡Âj›½nž½lž¾eœÀlœÁk›½tžÁwžÂx¡¿~¦Ã•­Ç™±É™²Êž³É«¼Ï°ÀÒ²¾Ñ«ºÌ¦¹Êž²É—¯Èœ±É¦¸Ì±¾ÏµÁѹÅÒ»ÅÓ»ÇÕ½ÇÕ½ÆÓ½ÆÓ»ÆÓ»ÄÔ½ÆÓ¾ÇÕ¾ÈÔ¿ÇÒ½ÄÔ½ÆÕ½ÆÕ½ÅÓ½ÇÔÀÈØ½È×ÀÇÓÀÇÓ¿ÇÓ¿ÉÓ½ÇÓ½ÇÕ¿ÇÖÀÇÖÀÉÕ¿ÉÔÀÈÓÀÉÕÁÇÔÁÉÖÃÊ×ÃËÖÃËØÆÌ×ÇËÖÄÊ×ÅËÛÃËÚÃÉØÃÉ×ÁÊØÂËØÂË×ÁÊÖÃËØÂÉÕÂÊØÁÉØÃÊØÃËÙÄÊÚÁÉÖÂÉÖÀÉÕÀÇØÀÉ×ÂÆÕÃÈÖ¿ÇØÀÇÓÁÉ׿ÇÖ¿ÇÔ½ÇÖ¼Ç×»ÅÔ¾ÆÕ½ÅÓ¼ÆÓºÇÓ½ÅÓ¹ÃÓ»ÄѺÂÑ»ÃѶÂÒ³ÁÒ¯¿Ð«¹Î«¸Ï«ºÎ©¼Î§¹Í£´Ì£µÎ¢´Ë¢·Ì¤¶ÌªºÎ°½Ð²½Î±¼Î²ÁѳÃÒ¸ÃÓºÄÑ·ÂÓ·ÁѺÃÒºÃÓ·ÃѺÄÓ¸ÄÓ¶ÅÓ¶ÃÒ¶ÂгÀѳ¿Ï²ÀÒµÁѵÁÒ±Àе¿Ñ²¾Ì²¼Î±¾Íµ¾Ð³¿Ð´¼ÁÄËÐËÔÚÍ×ÝÏÙÞÑÚÞS²\‹¯W±g޳h³r•¶h”¶m—ºf¶s•»q•¶p—¶n—¹w›¶x›¸»‚ »„¡½ˆ ¿Š¢»‰¢»Š£½‰¢¼‰£½‰¢»‰¤¼ˆ¤Â‡½†Ÿ¼‹ »ˆ¢¼‡ž»~žºƒ ¾ºr™¼h’¶W‹³VбT…°F€«G¯H…²I„²D‚´D‚±F°I¯F…±I†²Qƒ±Iƒ±S…³J„³N…±L‡²N‰¯L…±Q„±H†°M…°G„³K…°L‚®Q‡³H„²I…³L…´N„²M…´L‚²Jƒ°D‚²H€°I€°Jƒ°K‚±L‚±I‚±H~±Lƒ°L‡°H‡²Gƒ±Iƒ±J¯K„²G…±PжH…®D‡²F±C…±@°J…²Kˆ³I‚±P€°Lƒ°S‡±C‚°K„°D°IжKˆ³K…´K„³M‰²E‚²R´Iˆ´F…³E‡µOеPŠ·S‹µPˆ³Lƒ±F„³M…²N‡³K…³N†µM…´UбO…²N‰±RŠ´J†µSеUжF‡·OŒ¶\µJ†²K‰´LжSŒ¶Jˆ¶L†µSŒºRжPŠ´UŒ¶Q‰±H†²P†µL†´Rˆ¸R¸OŒ·WŽ·N†³OŠ´P‡µN¶UвT‹¶VµZµT¶NŒµPŠ´N†µQŠ·T¸_“»O¸Z‘·]¶WޏO‰µW·S·Qޏ\‘º_“»\‘¶W¶Q·RŒ´`•¶U“º_–·[”»X–ºb’¸[޹\‘·\’¸\»a—¼d–¼e–¾_—»i–º\‘ºY¹X‘¸d–»f˜»e“¸\·^“ºg“º\“ºW“¸Y‘º\’»]”»\‘º_•»d—»`¹\’»f–»_“»^“ºX‘»Yºe•ºd•»X’º^”¸W»\–¾`”¼]–¹e•º]”¹g—»i—¼d—»e•ºb“º]–»c”ºh—»i—»a–¼_•¸f™½e–¼[‘¹e—ºh—ºg˜ºe™»g˜ºa•»b”ºe”¶c–»i—¼f—»j›½e˜ºo™½nš¼j›½p›½m¾j½i›½k¾l˜¿i›½j™»b˜¼d™½f˜¼fš½e—½e˜»d™»_”»b–»e˜»f˜¼\—»c™ºc—»fš¼k™¼h—¼eš¼`˜½`—¼e˜¼e–»g™½dš½jœ¿e–¼b—»c™¼e™½aš½l™½f–¼b˜½]”º_“»_–»_•»d•»e—½a—¼c—¼_™½^“»e–¸b˜»_’º_”ºZ“ºd™¼d—¼a—½_—¸`•¸_—»X’ºj–ºg™º`–»g™¼a˜¼^•ºd—º]•»]”¸^–¼`–»c–»a”¼c™½\•ºb—ºk›¼g˜¼e–º`˜½c™½f™¿j™¾h™»gš»lš»^—»`˜»i˜½c•¼d˜½^—½a–»d˜½j¾c—½]–¼d—½nŸÂb˜»d˜»d–ºdš¼`š½b—»c˜½a™¾d™¼l™½nœ¼dœ½d™¼l›½`—¼{¤ÃsŸÀh˜½g›¾kš¼c—¼c›¼j™½c–¼_–¼jš½kš¾i¾j™½cš½`™½jš½b˜¾d˜¾d™½e—¾b˜½k›½d˜¼i˜¾m™½l—½d™Àa—¼jš»m™½j›½_™¼`˜½g›À`›½\—½`™¾b™¼bš¼a™»kœ¾gš½eœ¾dš¿g™Àg™Âd˜¾qœ¼g˜¼h—½f›½fž¿jœÀdœ¾hœ¿h¿u½tžÂjš¾mŸÀe›¼m¡Ãk¿o¿u¡¿g™½j›¾g›½j™½m›¾nœÃržÃk›¾jš¾p›¿ožÁv¡ÁqŸÂožÁ‹«Ç¡³Ëž´ÉŸ³È¬»Í²ÁаÀЭ»Í§¶Ê¡µÉ ³Éž´É§¶Ë¯¼Í´ÀѶÃÑ·ÂÓ»ÅÔ½ÆÕ½ÇÕ½ÈÓ¼ÆÔ¼ÅÕ½ÆÓ¾ÆÕ»ÇÔ¿ÇѽÈÓ½ÇÓ¿ÈÓ¿ÇÔ½ÆÓ¿ÇÔ¾ÈÖ¾ÇÓ½ÈÓ½ÇÓ¿ÈÕÀÉÖ¿ÇÕÀÇÔÁÇÖ¿ÈÔ¿ÉÖÁÈÖÀÉÖÁÉÕÃÉÖÂÉ×ÁÉ×ÂÊØÂË×ÃÌØÆÎØÆÌÙÄËÖÃÈØÂÈ×ÀÉÕÁÊ×ÂËØÁÉ×ÂÉØÃÉÕÄËØÄÈÖÂÉÖÁÊ×ÁÉØÀÇ×ÂÉÖÂËØÃÉ×ÃË×ÃÉØÀÉ×ÀÉ×ÀÇÖÁÈÖÁÈÕÁÇÖ¿È×ÀÆÔ¾ÄÓ¹ÄÔ»ÄÓ¼ÃÔ½ÆÓ½ÇÓ½ÆÔ½ÇÕ½ÇÕ¼ÇÓºÁÒ²ÀѲ½Ð®¼Í°½Î±¿Ñ¬¿Ï¡·Í¢µÎª¹Îª¹Ë§ºÍ«»Í­»Ð´ÁÒ²¿Ð±½Ñ´ÁÑ·ÂÓ¸ÃÓ¶ÃÒºÅÒ»ÃÔ¹ÆÕµÂÓ·ÃÓµÁѺÄÒ¶ÂÑ´ÀгÂÑ´ÂÓ±Áв¾Ò·ÃÑ»ÂÒ·ÁѶÁѸÂѶÁÑ·ÂÒµÀÑ·Àжº¾ÄÌÏÊÔØÎØÝÐÚßÐÙàT‹°_Ž®e‘±e±f´d“³i’±]‘µi‘±rš¸p™¶r›·œ¸x›»r˜¹~Ÿ»|¡¾~¤½Š¤¼¢»Š£¼†¤¼‡¤½€¢¾Š¥À‡¤½Š¡º‡£¼ˆ¡ºŠ¤¾‰£¾†¢¾…£¾† ¼yœºt›¸j“¶b’µLˆ°K‡³Iƒ¯F…±Dƒ­J‚®P‡±F…²G‚®T‡°M„°H…±K°K†±O‰±Gƒ®K…±K‡³K†±L„±M†±F†¯E…°G…±C°Hƒ±Oƒ³M†³M‹´Jˆ±G†°G†¯F‚°J‚°H…³M†±P…±G¯Jˆ±M‰±H†²C‚±I…´G‚²O†³L†±>¯A€¯A„±MвG„±M±L„±S…²K…±Lˆ°Lˆ²B„°I…°P…±L…´MŠ´I…µH‡µL‰²L‰²E…±A„¯C†¯J†±M‰³N‰³A„±N‰³M‰µR‰´J…±J…°J†²Q‡¶P‰´H†±H†°Kˆ²F‡²Oˆ³TгM†²O‡³OвJˆ³E†²OжMŒµJŒ³S޵MŒ¶S¸Nˆ±O¶T´RµI†³WµO‘¸T‹·V޵QŒ´VŒµJ‰¶LµN¶IŠ´OޏQޏR·X¶X“·N·S¹SŽ·S޹\”ºY’·\¶Q¶X¶VŽ´X‘¹X޶NŒµX¶O·N޶X޵RŒ¶[‘·Y¸\“º\”¹N‘·P”¹N¶[’¸X¹X¹c’º_•¹Z’¹Y•¶]–ºb–º`“¹^—ºf—¼e™»g›»g™»dš¼hœ½c™¼c•¹b–»c—º_”º`•»^–¹c˜¼a—¼]•»h–»]•¹^•¸_–»Z–ºc›»`˜¼U“º_“¹[•º^”»X“¸e–»`—¼^“ºa•¹]–»[“¼\”º]–º`“ºW‘»^–¼_–½Y–½_•¹^—ºc–ºZ’·Z•ºi½c™»gœ¾i›½k›¼h›¼d˜»e—ºe˜»_™½a˜¼^˜»h˜»h—»j˜ºe–ºd˜»e—ºq¼m¼r£½x¾qœ½g¼hž½j›¼eš½m½jœ¼e›½iœ¼h™¼]™¾b™½rš¼a–»kœ½]™»]–»a–»g›½d™»g˜ºc˜»a˜º_˜ºg™»hš½a˜¼f™½e˜¼\•»d™¼\™½_š¼_˜½d—½l™½hš½a—½aš¼^—¼fš¼fš¾f›¼d˜½c–»a˜¹\–¹g›¼c˜½\˜¼_–ºe™½_•»g›»b—»`—½_—½]˜ºW–»c—»a–»a–»a™»i™¼d—¼d™»i™¼`—¼^˜»a˜»b—¹c˜»a™¾eš½a˜ºc–ºdš»d™»a•¸c˜»`—»b™½X•¼c™ºl›¿i›½lœ¼h›½^™½_˜»X–»^—»d˜»d›»b˜»`˜¼d›¼_–ºd›½d˜¼h›½iž½b™¼b™¼f–»p›¿^˜¼f˜¼iš¼hš»f™»kš½fœ¾e›Àb›½c›»aš¼^š½f¿e™¼i™¼lž¾k›¿bš½b›»cœ¾`™ºkž½f›¾iš¾d™¾kšÁbš¾cš½^›½a›½i›¼b–»gœ¿e˜»e—½e›½l¡Áh ½h›Àh™¿l›Á^™¼lŸÁeÀd—»a™¼a™¼e›½g™¼nœ¾a˜½eš½fš¼a™»eš¼f™½cš½f›¾gœ½jž¿u¿ež¿h¾d¿jŸ½dš½kŸ¾e›¿i›¿u¢Âu Ám ¾mŸ¿kœ¾lž¾lœ¿kœ¾m¾iœÀeœ¾k¾l¾mžÀ`œ½oŸ¿l Áv Àiœ½kž¾pœ½w¢¾†©Ã“®Ç™±Ëœ´Ë®¾ÏµÄÒ°ÃÑ®¿Î©ºÌ¡´É³Ê›³É¢¶Ë¬¼Î¯ÀͲÁηÃÑ·ÅÒ»ÅÒ»ÇÕ¼ÇÔ½ÈÔ½ÉÖ¿ÉÕ¼ÅÓ»ÇÓ½ÇÓ¿ÇÕ½ÇÖ¾ÉÓ¾ÇÓ¾ÇÒ¿ÇÓ½ÆÒ½ÉÖ½ÈÔ½ÈÕ¾ÉÖ¿ÈÒ¾ÉÖ¾ÇÕ¿ÉÕ½ÉÕ¾ÉÕÀÈÖÁÉÕÁÊÖÁË×ÃË×ÁÊÖÃÊÖÅÌØÆËÖÆÌÖÆÍÚÄÌØÁÌØÁÉÕÂÉÕÂÊØÃÊÕÂËØÀÈÖÁÊØÁËØÃÍØÃËØÁÉ×ÂÉ×ÁÉ×ÃÉÖÃË×ÂÍÚÃÌÙÂËØÂËÖÁÊ×ÁÉÖÀÈÔ½ÆÔ¿ÇÖ½ÈØ¿ÉÖ¼ÈÕ»ÆÕ½ÆÒ¼ÅÓ½ÆÓ½ÈÕ½ÇÖ¾ÈÕ¾ÉÖ¾ÇÓ½ÆÓ»ÅÓ·ÅÒ·ÂÒ³ÀѶÁÓ±¿Ñ¨»Ï¨»Ì«»Í­¾Ð°¾Ð±ÀеÂÓ´ÄÓ³¾Ò²¾Î³ÃѳÃѹÇÓºÃÔ¶ÆÑ¹ÃÑ·ÇйÆÒ·ÆÓ»ÅÓ¸ÄÒ²ÁѱÁѳ¿Ñ²ÀдÂѶÁжÅѺÅѺÂÓ¶ÂÓ·ÂѸÂѼÆÓ¸ÃÑ»ÆÓ¹ÁÂÆÎÒÍÕÛÎØÞÏÚÞÐÛß_Œ±_‘¶\Œ®X޲f’³^‘±dŒµk³i¶j•¸p›¶x›¸sšº|ºyŸ¹‚¡¼‹¢½… »‹¤½‹£¾„Ÿ»…£¼Š¤¾Œ¤¿¢¼Œ¤»‰¤½‰£½… ½‹£¿†¥¾ƒ£¾…¤½žº}»q•¹l‘·^Ž´PгM‡²Q‰²Qƒ°Pƒ¯M‡±I„³B}­Jƒ°M†±M†²QбL‡±G„±O†°F€®J‡¯H„±Cƒ±Iƒ°R…°L‡±K„®R‡²M†±N„°L†±I†²C…±K‡³Lƒ°Kƒ¯Mƒ®J„°E‚¯Fƒ±L…²G±G±I¯H‚¯I„±J†²N…²I…±Hƒ±Gƒ²F~®L€±Oƒ°G®F®R…µHƒ±H…´I†±L„¯G„°H‚°M…°MгG…°J…´M‡¶P‡²N…±Qˆ²J‚°K…³P‰´Jˆ³\ˆ´H‡³K†³D„°Nˆ²M†²L†²F…±J„²H…´L†³M‚±L†±H„°M…²K‡³Q޶QжR޶PгO‡±X¶X‹µUжS‹´G„²RжL†´O·Oˆ²SŠ·Q‡²S¶Q‹³P‰µR²Q¸V¸OжT‹·ZŒ·YŒ´T·RŒ¶MŒ¸K‰·T¶Y¸R¶X޹W·[‘·SеPŒ¶Z¹UŒ¶X¶QŒ¶W޶U‘·P·Y޶R‹¶R¹\’¶N‰µV·\·X‘·Q¶S‘¸R‘¹W“»S‘¸Z‘·R޶\’¹Y·V޹W޹\’¸_“¹h™»l–¹j˜»d—¼iš½mœ¼i™½c™½a•¸kš¼k›¼o˜½g–»b—¼j—¼f—½i›¼h˜¹[’º`’¸]“ºY’º`–»_–¼b™½X’»^’¶^‘·]‘ºf—½a–¹]”¹`•»^—»_–»X’¹_·Y¹^“¹e•º_—»\”ºe•¼`–¹d˜»i”ºe–»l”ºl–»f˜»b–»l™½kœ¾h™¼e˜»f™ºa—ºa–»_•¹c˜º_–ºd˜»f—¼d—¼k™½mš½l ¿iŸ½k¡¾l¡Àw¢ÀmœÀqœ½lœ½j›Àhš½f™»c›Ài½f™»d˜½mœ¾i™¿i™¼_™¼eš¼`—»l˜»pœ¼f™¼c™¾e˜¼`–»`™½^–»`—»`—ºf˜»k˜½e™½b™¾jž½c™¾hš¼b˜»b™»c–¼a˜¾e›¾f™½gœ½`˜»X–»d›Á_˜¼a–¹h–¼Y“»f™½_–»a—»]”¹`–½e’ºa”ºe“»b“º_–»`—ºd™»e—¹_—»]–»]’»]•ºe˜¼e˜»fš½j˜½_–½eš½`—¼eš¾d–¹b˜»`–º^–»a—¼`™½^—»e˜½a˜¼d—º`—»_–½_™¼d˜»hš¼cš»Z”º^–»a–½c˜½b™½aš½]˜¼g½d½eš½i›½_–¿n™½hš¼j›½dš¾i ¿fš¼e–ºj™¼e–ºe˜»d˜¼d—¼iŸ¿i¿fš½a™½n™½b–»f™½fš½mžÀg›¾h›¾\–¼\–¼d—»j˜¾cš½_˜»^˜¼`—½g˜¾`˜»d—½c™¹a—»dš¾hœ¾d›Àb˜Á]™½e—»l™»`š½`˜½d™¼_™¼hšÁf”»e˜¼dš¼eœ½jš¼`š½g—¼fš¿i›Áf™¿h™¼gš¼i™¼h˜¼eš¿e›Ádš¿eš¿iŸ¿t¡ÀrŸ¾eš»cš½dšÀg›½i™ÀmšÁa˜½fœ¼jžÁ_œ½kš¾kœ¾j¿eš½dšÂfš¾lžÁlÁj›¾p¿k™¼oŸÁmÀs Án›Álœ¿|¢¿‚§Æ‹¬Èž²É¦¹Ì¨¼Î«ÁÑ«½Î¡¶Êœ³É²Ê±ÇŸ´Ë¨¹Î¬½Ñ³ÂзÃѹÃÒ»ÅѼÅÓ¼ÇÔ¼ÇÔÀÉÖ½ÇØ½ÆÓ¾ÉÓ¼ÇÓÁÇÖ½ÇÕ»ÇÓÁÈÕ½ÇÕ½ÈÖ½ÉÓ½ÇÕÀÈÓ¿ÈÔ¾ÇÓ¾ÇÓ¼ÆÕ¼ÇÖ¿ÈÕÁÉÖÁÉÕÂÉÕÀÈÕÁÉ×ÁÉ×ÀÉ×ÃËØÄËØÃÌ×ÃËÖÆËÕÄËØÃËØÃÊØÂÉ×ÃËÖÄËÖÃÉÖÁÊ×ÂÊØÃÉ×ÂÊÕÁÉÙÁËÖÁËÚÁË×ÁÈÖÃÉØÂË×ÄÊ×ÃÊØÂÌÙÃËØÂËÖÁË×ÁÇÓÁÇÖÁÆÔ½ÇÖ½ÈÔ¾ÇÕ½ÇÓ½ÈÕ¿ÇÔÀÆÓÀÇÕÀÈÕÀÈÖ¾ÉÕ¾ÈÖ¼ÈÖ¼ÇÖºÆÔ½ÄÒ¸ÂѸÃÒ³ÂѰ½Î²¿Ï¶ÁеÂѹÃÓºÁмÃÓ¸ÄÒµÁжÃÑ´ÄÓ¶ÃÓ¶ÆÓ·ÃѶÃÑ·ÄÓ·ÂÒµÁѶÃÓ²ÁÓ³ÂÒ´Áв¼Ì°»Ï¶ÁÑ·ÃѹÂÒºÄÑ»ÇÒ¼ÆÔ½ÇÓ¾ÇÒ¿ÇÓ½ÈÕ½ÅÓ¼ÅÒ¼ÁÅÆÎÒÌÖÚÎØÝÒÛßÒÙàe‘±eޱkޱ]Š®[ްj‘µh“´h‘µo˜¶j”µu“³€›µxš¸v›»s™¶|ž¼z¡¼†¤ºˆ£»¤º¢»Š£¼£¹‰¤½‡¤½‹¤½‰¤½¤»¤½Œ£¼ˆ£¾ƒ¡¼|¢½yž¼pš¶p˜µg“´c”´Rˆ±M…­Nƒ¯Q†­J‡°PбK‰±O‰²O„«P…®I…±L…±K†¯E…°J†¯I„¯H„¯N‡°D…±K‚°T†±N„®G‚¯Hƒ®O†±S‡²M„®F¯?€®H„±G…°I†¯K†±J†±Lƒ°M†°L‡±G®D‚°K†¯J…±C‚°P‡±Q…°H°H®E®G‡°RбM†¯SвG°E„®J‰±C¯H…¯D…¯N‡±A¯J…´L„°J„°Jˆ±S‹±G…±G¯H…±Gƒ°Q†±M†¯UбP‰²M‹²E†±Lˆ³L†³LгQ…°QаI…¯Lˆ±LбI„¯H†³H‡³@‚¯KŠ´J‡±O‰³Q޳R‰²NеH†±Q‹¶I‡±MŒ±P޳L‹´PŒ³M‰³UŒ·Y¸M‰µPŒ¶R³M‰¯Y¶T޳R‹´Qˆ¶Y¸QŒµPŒ²Oв[¸PŒ²Q‰²UµMŒµW¹K‹´U¶U‘¶Y´SŒ±V³Q¶R¶X·Z“¶W’µZ¶X¶`‘µ_‘·Z¸V’·UºO¶R²S“¶Xµ]’¹W’·c•º\’º_”¸]•¸X”¶Z’¶]”¹_•¹d–ºd—»c˜¼i™»b˜¸j™ºo¼mœ½o½mš½k›¼lœ¼j›»kš»j™¹nš»q™»k™»f•¹c˜º^—»g—»e—ºh˜»_”º\•º_–»a“¸`–»i›½^—ºa—¹Y“·]¶\”·`•º^”º]•¸a—»`—·\’¶_–¹c—¹\–·Y”¹`š½i½h¼iš»i™»oœ»n™¹q›¼p ¿kœ¼iš¹bšºc™¹h—¸e–¹j˜¸e™¹`˜ºgš»fš¼i›»q›»p›»zž¼r½u£Àp¡¾u½iÀkœ»d–»sž½kš»d˜»dš»aš¼f›½dœ¿j›»f—¹`—¹b–ºiš¼_™ºeš»[˜ºd›»c˜¹e–ºh™ºi™»d™»b—¼_—»d˜ºb™»eš»e˜»d˜»cš¼_—»a—¹e›»\™ºb›¼e›½g™½j˜»]•º`—¼`™»^™»a›»cš¼c–»]’ºh–º`—ºZ”¹a—¹e—¹]—º_–¸_—»[”¸b–»`–¸`–¹_›»g›»a˜ºgšºa•ºi™»f™¼W”º]–º]—ºcš»_˜»a•ºd•¸b—¹_–º\”¹`–ºc™¼`™¼a›½h™¼c–¸i›ºiš»^˜¹]™»`™»^–»b•·e—»p›¹^–»`™»dœ½jž½d›¼d›¼hœ¼i™½`–»b˜»\˜»_—»e˜¼]–¹d™»c—¹hš¼i›½_™½dš½_˜»iš¼_™»gž¿cš¼g™»h—»nž½gš¼`š¼cš½d™½jœ¾iš½`–»b–¹]–»g˜»d›½h›½f›¾eœ½e–»f˜»iš»d˜¼d™½bœ½cš½b™½f™½dš½cš»k™ºm»gš»e›¼e½c›¾e˜¼e—¸iš»h›»iŸ½dž¾h›¼eš¿c™½l½mš»g›ºe›¼nŸ½iœ¼d›¼g¿iœ¿jœ»i½i ½lŸ½lŸÀk¾iœ¿cœ¿g™½g½f™»dœ¼f™»gœ»g½hœ¾mÀn¢¾l½g˜ºl½m¡¿j¿i›½a›¼jŸ¿w¥ÄŽ¬Ã–°È™²È›³É¢¶Ë£·Ìš³Ê’®Ç–°ÆŸ³È£¶É©¸Ì®¼Í²ÁιÄÒ¶ÄÒ¶ÆÓ¼ÇÓ½ÇÒ¼ÇÒ¾ÉÓÁÇÓ¾ÇÔÀÊÔ¾ÇÕ½ÈÖ½ÉÓ¾ÈѽÇÑ¿ÉÓÁÈÓ½ÇÓ½ÇÓ¼ÈÕ½ÉÓ½ÇÓ¿ÈÓÀÇÑ¿ÈÓÀÈÕÁÉÖ¾È×¾ÇÔÀÊÕÁËÕÄÊÓÂÊÕÂÉÔÁËÖÃËÖÄËÖÃËÖÄÊ×ÂÌÖÂÉÕÁÊÕÂÊÕÄËÖÂË×ÁËÙÀÌØÁËÔÃÊÑÃÊÖÆÌØÃËÖÂËØÃÊÖÅÌØÇÌ×ÃÌÖÄÎØÃÌÕÅËÕÁËÖÃÉÖÁÊÕÀÉÖÀÉÔÀËÖÁÈÒÁÈÕ¾ÈÖ¿ÈÕ¿ÉÖÀÉÖÀÉÕ¾ÉÒÁÉÓÀÈÕ¾ÈÓ¿ÇÔ¿ÉÔ¾ÉÓ»ÈÕ¹ÆÔ¸ÅÑ»ÄÒ·ÅÒ¼ÅÒºÄÓ¹ÇÓ·ÇÕ¼ÉÔ¾ÇÖ¾ÇÒ¾ÇÒ¼ÆÒ»ÅÑ´ÃδÂдÃÏ´ÃÑ´ÂÒ·ÆÑ·ÂвÁϱ¿Ïª½Ìª»Í¬¼Î®¼Î±ÁйÄÑ»ÃпÇÒ¿ÇÒ½ÉÓ¿ÉÖ¾ÈÓÀÉÓÀÉÓÂÊÓÃÉÖÀÄÇÄÎÒÌÕÛÎÚÝÏÜÞÑÜÞi•¶eµm–±m–±e‘±a‘¶h’¶e‘´k”µh’¸o•¶v—¸x¹}ž¹œ¹†¢»‹¢½¤»Š¤½Œ¤¼Š¤»Œ£¾Š¤¾Œ¤½¥¾Ž£»‘¥¿†¡¿‡¡½‹¢½ƒŸ»€ž»wž»z»}žºt»m•¸jŒ³P‰±O†°P…°M„¯P‡°B…±J†´L‡¶Q‰²G¬R‡­M¯Oˆ²O…®P‚°O‡´R‰²UбJ‡±Lƒ­]Œ±PаH‡°J„°Pƒ±O„±Iƒ¯L†±Nˆ±I…°J…±O…±O‡µLƒ²Gƒ¯Lˆ±D€¯I®K‚°N‡±J†±Nˆ²J†³N†°Fƒ¯G…®Eƒ®E€¯Bƒ±J†²Rˆ´M‡²C‰±J‹±H‚±Hƒ®D°M…±?}±G„²G„°L„­H®NгR‡±Mƒ±M…±Eƒ²H…²K‡³Lˆ°Qˆ±Tˆ±Rˆ²SвOŠ´I†²I‡´Qˆ³P‰²P‹²R†±R‡³Gƒ®Mˆ³O‰³K‰µL‰´M‹²R‹²PгX޶N‹´UŒ´Pˆ³F†´MŒ±O‡±W¶QŒ³L‰µS·OˆµMˆ´O†³K†±W²QŒ´RŒµRޏS·TеQŒ·W´O¸XµZ޶UЏP¹P‰·OŒ¶U¶Tޏ[‘·U¶[Ž·N·S·Y‘¹R¶]“¶^’¶Z‘¶U‘·_‘¹P¶Z·a“¸P‹¶Xµ^•¹`“¸`•¹X‘¹X¸[’·[“¸X‘¹\•¹`”»a˜ºe–»i˜¹f—»j—¼rœ»rœ¾j½}£¿u¡Ào½pœ½q½už½n›»ož½w ¾nž¾m›ºoš¼j–»i˜»b—¹^•»\’º[“¸d•¹d—½_’ºe—»\–»g—½W’¹X‘¹_’»`—¹^–¸]’·^—»W•¹_”¼`—»b”¹_–º^–¹_”·c’¶e•ºi™»m›½i¿x¡¾~£¿v¢¼wŸ¾} Àr¾nš»k™»lœ¾o›¼d›»i›»f—¸jšºjœ½mœ¼sŸ¾v¡¾w ¿w¡½v£¿v¿v¡¾v¢½v ½kœ½t½l ÀmŸ½uœ¼rœ»mœ»d™»iš½d™¼b›½e˜»]—º]–»gš½e›»b™¼d™¼e™¼dš»dš¼dš»g–ºh—»c—¼b˜»g™¼h˜½jž¿hœ¼k¼a˜ºh™»d˜»`˜»dš½b—¼a•¹i—ºiš½aš½_˜»mš½a™¼c–¼_•ºf™»`˜»b˜¹_’»\“ºd˜»b’»b•»c•ºd—»b™»_–¹c˜»]˜ºg™»f™¼a˜ºeš¼d˜ºfš»hœ¼e˜ºa™»`˜¼g—½e—½d˜¼c—¹c—»_—»_—»`–»a˜¼d˜»j™¼d™½`˜»dš»e›»f–·b™ºe˜½d˜¼c˜½c—»hš¼hš½p™¼b˜»e˜»cš½gš¾iœÀf—¼b—»a™¼j½i—½d˜»_™»d˜½e™¼d™ºc˜»f™½j™¼lœ»h›½l›½gš¾i›¿^—»fš»h™ºg™¼iš½f˜½i˜¼d˜½]–»c—»`•»e™»^–½a—¹_š½_˜»eš½e›½j›¼aš»j¿c•½e—½c˜½e™½a™¾f˜»bš½m»lž½o¼j›½h›½qš½i›¾dœ½d›ºfš¼i™½g—¼h™¼d˜½d›À]˜¼kš½k›¾p½pŸ¼s›¼u ¾b›¾jœÁjœÂn¤Àeš½iœ½l™½d˜½hš¼iœºf›½l ½k›½iž¾o¿nš½x¢ÃmÀlšÁe›¾mš¾pŸ¾u ¾lœ½qžÁf¾l¿gŸÁ‚§ÆŽ¬Ç‘­Æ‘®Æ•­Çž±Èš³Ê˜­Ç—°È ³È¥¶Ë«ºÌ¯¾ÍµÀϸÃÒ¶ÄÓºÅѺÆÓ¾ÆÓÀÊÔÁÊÕÁÉÔÂÉÖ¾ÉÕ¿ÈÔ¿ÇÕ¿ÇÖ½ÈÕÀÉÓ¿Ç̾ÉÔ¿ÇÕ¾ÆÓ»ÇÔ¼ÆÔ½ÇÓÀÇÓÀÉÕ¿ÉÔÁÇÕÁÈÖ¾ÇÕ¿ÇÔÁÉÖÁÊÕÀËÖÃËÖÄËÖÅÊÖÄËÖÄËÖÂËÕÃËÙÄÉÖÃËÖÂÊÖÆÌÖÃËÖÇÌ×ÁÊÖÁÊÕÁÉÖÂÊÖÆÌØÆÌØÇÌ×ÆÊØÄËÚÄÎØÆÌÙÄÌÚÆÍØÇÎÙÇÎ×ÆÍØÄË×ÂËØÃÊÖÁÈÖÁÊÖÁËØÄÊ×ÃÊ×ÂÉÖÁÉÕÁÉÕÁÉÖÃÈÖÂÉ×ÂË×ÁË×ÁÊÓÀÈÕÀÈÖ½ÉÕ¿ÆÖ½ÇÒ½ÈÓ¼ÇÔ¼ÈÒ½ÉÓ¿ÈÓÀÇÓ½ÇÖ¿ÇÓÁÈ×ÃÉØ¾ÉؾÉÑ»ÇÓ¸ÂÒ´ÁκÁÒ¶Áѯ¾Ð°¿Ñ®¾Í®¿Ï¨½Ï ±É¤·Ë¬½Î²¿Ð¶ÃÓ»ÇÔ½ÇÖÁÉÓÁÇÓÂÈÕÁÉÖÁÉÕÂÉÕÁÊÕÃË׿ÄÅÆÏÒÍÖÚÎÙÝÑÛÝÐÙÜi“°g–·m—¶r–³k’°^³d³UŒ¯`ް_²k–¶r˜¶}™·‰Ÿ»…Ÿº„¢¼‚¢ºŒ§¾Œ¤½‰¤»‡¤½Œ£½Œ¤½Ž¤À¦¼¤»‰¤½…¤¼‡£¼‚ ¹~ºn—·p™¸u›¹p˜¹qš¹l™¶_µNˆ±M†±JбQ‰±Q‹²J‡±O†±H‚­M‚°M…®I†®QбQ†¯Oˆ±M†°Vˆ³P„±O‡°J„®E°N‚®M…±P†¯I„®J†®I†±O„±K‚±J†³K„°Jƒ°F„®Jƒ¯J„°H„±I…±E¯D‚®L†¯Mˆ±M‡²J„±I…±Gƒ±Gƒ°M‡±I‚­F¯S‰²E„±H‚±C…±H„¯M‚¯G®S†±N‰´H†¯G€¯K„²K‚²J…²@„±@ƒ±D„±J‡²Hˆ°Mƒ³L†±Oƒ®N…±M†°I…°K‡²H‡°F†²L†²O‰²R‡±V‹²J†±UµG†²J‡°Qˆ²F‚±J‚±Oˆ³I…°Iˆ±KŠ´F…³KŠ´MеP‡³RŠ´SŒ³O‰²L‰´RгK†±[޶R‰µNŠ´K‡³N‰µOгJ„±V¸QŒ¶SгL…³TгQŒµS޶L³MŠ´O¶O‡³\‘·V‘¶O´P޹OеV¶W‹µS‘¶^”¸ZŒ¶RŒ¶T¶PŠ´[޶TŽ·_“»XŽ·W·R޲R޳M‹³R³NŒ´P’¶W’ºW‘·X”»[¶a”·[’·Z“·_•»f—ºi˜½j™ºp›¾p¼i›¼lœ¼w¡¼¦½y¤Á{£¾y¡¾vŸ½qœ¼oœ¼u ½q¼mœ½j›½f—¼c”»b¸c”¸[’·[•¶]•º[“¸b—»O¹f•¹]”º[–·]—¹c–¹X¸[•»a–»d—»X’¸^”¶`•¹Z‘µ[•º`—º^•»]‘¹j—»m›ºs½t¡¾~£½z¢½‚¤¾{£Àu£¿£¾tœ¼pšºjœ¼a”ºe•¹gš¼l™ºqš¼nœ½iœ»k›¼qŸÀs ¾y¡½sŸ½¥Àxž¾s À}¡½kŸ¾gœ½g›½pŸ½uŸ¾mŸ¾i›»lš¼h›¼f–»l¼j™ºd™»hš½`—»`•ºb˜»e—¸a—ºb–ºb™»e™»b™¼a˜»^˜»c˜»\™ºbš»cš¼d˜¼h›»c–ºj™¼h™¼i›½d˜¹d˜»_•»dš¼g™½f˜½mš½qš»^“¹]•»Z”»dš»e•¹\“¹`—¼X’¹`—¹_•¹]“¸i—»d™¼]–ºb”¸_—ºe–½a™»b™ºg˜»]”ºd–ºZ—ºd™º`’¼e—º^˜¸`—»^—ºdšº]–ºc•º]“ºa™½f™¼d˜ºeš»m˜ºf—»`˜»e—»hœ½i™½a›»f™»gš¼c˜»`—»bš»g›½kœ½`˜»h™»_™»eš¼i–»_–¼c—º`š¼aš½b—½b—¼f™»a˜»_˜»gš»eš½\—»e™»b—º^˜»f˜»a˜»`•»lž½iš¼^–¼bš½hœ¾f›»d—¸f˜½`˜»_•»`–¼d•»`”ºeš½^–»k™½d–¼dš½d˜¾iœ½e›½d—ºd™»c—½e›½_—½b™¿b™½j™»b–¸b˜»a›ºaš»bš½h™½b˜½b–»iš½hœ¾e™ºmž½kœ¿b–¼\–¼dš½g›¼iœ½^™¼c™¼fœ½g™½gœ¾iœ¾gœ¾rŸ¾r›½i ¿lŸÀd›½eš½g›¾a™¼m—»ož½i¾nŸ¾mœ¾jž¿r›½o¾g›½l½`š½ož¾jš½p¾kœ½n½lžÀs¡Á{¥Äv¦Ã„¨Åˆ©Æœ±Ç¢±Çœ°È›³Ç¨¸Ë«»Í¯¼Í´ÀϹÄÒ»ÆÓ¹ÆÐ»ÆÑ»ÆÔ½ÇÓ¾ÉÖ½ÈÓÁÉÓÁËÖÁÈÓÀÇÓ½ÈÕ½ÈÖÀÉÕ½ÇÒÁÇÓ½ÉÖ¿ËÕ½ÇÓºÅÓ½ÆÓ½ÆÒ½ÇÒ»ÇÓÀÈÕ¿ÉÖÁÉÖÂÆÔ¾ÈÓÁÉÕ¿ÉÕÁÊÖÅËÖÄÌ×ÅÍØÆÌÖÂÊÔÂÈ×ÁÊÕÁÉÔÀÊÕÂÉÖÃËÖÃÌÙÂË×ÃÉÕÀÉÕÁÉÖÄË×ÆÍØÃËØÃÌÙÃËÚÇÌ×ÄÍØÆÌÖÆÍ×ÆÌØÇËØÇÌØÆËׯË×ÃÉÓÃÉÓÁËÖÂÌØÃÌ×ÃÊ×ÃË×ÃËÙÃË×ÃÉÕÁÉÕÂÊØÀÊ×ÁÊØÁËØÁÉ×ÃÈÖÁÈÕ¿ÈÓÁÈÔÁÉÓÁÉÕ¾ÉÓ¾ÊÖÁÉÔÁÊÕÂËÓÁËÓÀËÖÁËØÀÉÕÀÉÖ¿ÇÕ»ÅÒ¼ÅÓ·ÄгÁЯ½Ï¯¼Ï¬¼Íª½Î¦·Ì§¹Ë«»Î®½Ï°¼Î·ÃÏ»ÇÒ½ÉÓ¿ÉÔÁÊÕÁÊÖÂÊÕÁÉÔÃÊÓÃÊÓÅËÖ¿ÄÄÇÐÔÎ×ÜÐÙàÓÛÞÓÝÞq™¶q–µyš±u›³f–´a±^²[޶e޵c¶m•µu™µxœ»€Ÿº…Ÿ¼Š¤Á‰¥¿ˆ¡»€Ÿ¸ˆ¢»‹£½‹¤¿ˆ¢½¦À‹¤¿‹¤¾£ÀФ¼‡ »‚žºrš¶h¶k“·p“·m”¸rš»o˜¶[Œ²O„¯H‚°M…°M…±Kƒ°M…±S‡±Jƒ±Iƒ¯L„¯L…¯Q„¯N†¯Iƒ°Pˆ²O‡®N°Q„±Hƒ±M…±L¯N…±Q‡±SŒµS‰°X…°Pƒ±B}ªC€¯F‚°P‚®A€°Iƒ®M‚±L|­Gƒ°D}°F‚°@‚°Kƒ±E‚®G„°J±P†²M„¯H‚°G€¯H®Iƒ±G¯J„¯H}±O…±Jƒ³H¯J…±H‚±I…±I„¯M„±Gƒ°H€¯G†³J„³F„³N„¯I…°KбN†±U‚±J„±H‚±G…´Qˆ´MгM޶PгQ´O‡²L…²QŠ·PˆµOˆ²G…±Oˆ²Lˆ²Qˆ±M†´H…±RŠ´L‰´R‹µO‰±XµX¶S†³Lˆ´R‡³Qˆ³P†°RµOµRŒ²N†²O†³G†³PаWŒ´O‹²MŒµS¶Y·Z¸S‰¸O†¶O‰´Y‘¶MаTŽ´XŽ·M¶WжOŠ·\¶U‹³KŒµR¸[¹R¸T޹^‘¸Z޵[¶[”·X¶MŒ¶X‘¹Z’¹Nж^‘º[‘¶NŒµS޶S‘¸SµZ‘·_’¶e”ºe”»`”¸c–»a–ºh˜»oŸ½y ¾y ¿{½Ÿ½€¢½xŸ¾zž¼xž½£¾x¢ÀqŸ¿‹§Á|¡½xœ¾xš½s™»e•¹_–º^–º]•»[‘»WŒ¶Z“¸U’¹[”¹X¸Y•ºa–»a–¼c’¹`‘·a”·_“¸b”ºd™»a—»_—¼a”»b•»d•º`’¶^•¹`˜¼a˜»jœ½{ŸÀ|£Á~¢¿„¢½‚£½€¢¿€¤¿~¥Â{ ¿tž¼oš½l—»l›»r›¼o›»l™»k™½rœ¾o ¿ržÀs¡½uŸ»x¡¾l ½s¤½r¢Átœ½m¾jš½pŸ¼rœ½n›½u›½jšºsœ½lš½jš½f™¼c–ºc–»i™»c—»Z”¹]•»f˜»h˜¼fšºf™¼kš¼d–¼e˜º`˜»]˜½b—½b—¼e˜¼lš¼kš»h™½c—»f™¼_—¼`–¼c—¼X”»d›¼g›»dš¼d˜¹g™¼l›½e—½h–»g—º]“¸fš»f™»e˜¼a•»h˜»e—½f˜»d—¶^’·lš»c–º`—»_–¼d˜¼h›½d—¸e–ºa•º]•»d–ºa’º]“¹c—½b˜¼i˜ºd—»^•¹_–»b—¼a—¼b˜½gš¾e•¼a•¸h›¼a˜¼dš½g™½_˜»b—¼kœ¾eš»d˜»e—¹i›¼g˜¾gš»d™½o½f¾c—º`•»f™½`˜»b–½d˜»`—¼_™½^–¼fš½b–»d™¼g™¼e™¼g˜»_š½l½b˜½g•¼f“ºb–»\•ºcš¼b™½`›¿c›¾]•»a–»f—»`•¹[”»_—¼_˜»c—¼^—»h˜»e—»h—½i—»c™½d™½a–ºiš½kš¾k™¼i™¼\—»e›À^™½c™¼g›¼`˜¼k›»f™»jš»d˜¼i›½]–»dš¼g›½q¾nž½d™½iš¿gšÀc˜½c™¾a˜»q½`›Àg›½f˜¾hš½Z˜½e›¾e›¿mœ¿kœ½e—»lœ¾jš¿mš¾i–½f›¿g™¾oœ¾o¡Àc›½v¾p›Àd™¿dš¼jš¾l¾kœ½n½nž¾mœ¾jš½eš½rœ¾y¤Â|¦Ã˜±È¥¹Ë¦µÊ¦µÉ«ºÌ®»Í¯½ÍµÀеÂѸÄÓºÆÓºÆÒ»ÅÕÀÆÓ½ÇÒ¿ÈÓ¿ÇÓ¾ÈÖ¿ÈÓÁÊ×ÃÈÖÀÇÓ¿ÈÕÀÉÓÁÈÕÁÉ×¾ÇÕ½ÇÔÀÇÔ½ÅÕ¿ÆÔ½ÅÒ½ÆÒ½ÇÕ½ÆÕ¼ÆÓ¾ÇÕÀÈÕÃÉÕÃÊÕÃËÖÁÊ×ÃËÖÄÌÖÆÎׯÌׯËÙÅÉ×ÃÉÖÁÉÕÂÉÕÃÊÖÃÉ×ÃÉ×ÃÉ×ÃÉØÁÉÖÃÊÙÃÉ×ÄËØÂËØÂÌØÃÌØÆÎÛÆÍÛÇÎÚÇÍØÄÌØÃÌØÆË×ÅËÕÃËÖÄÊØÄËÙÅÊØÄË×ÄÊÖÃËÖÂË×ÂÊØÃÊØÃÊØÃÊ×ÃË×ÂË×ÃÊ×ÁÉ×ÁÊ×ÂËØÂÊØÃÊÙÃËØÂËÔÀÈÓ¾ÉÔÁÉÓÃÉÔÂÊØÄËÙÃËÙÃËÖÁËÖÂÊØÁËÕÁÉÖ¿ÉÖ¼ÇÔ½ÄÖ¸ÂÒ´Áа½Î®¼Ë«»Î®½Ï²¼Ð±¼Î²½Ï·ÀϼÃÓ½ÇÒÀÈÔÁÉÖÃÊ×ÁÉÖÂÊÖÃÊØÄËÖÅËÖ¼ÃÀÇÐÓÎ×ÜÐÚÝÓÛàÒÛß{Ÿ·}œ¶¡»u›¶f³YŒ¯YŒ°`Œ³e‘¶]Ž´j”¶r—µ|œ»†»†¡»†Ÿ»§½‹¢»‰¤½‹¤¼‹§¿Ž¤½‹£¾Ž¤¾¥ÀŠ¥À‡¤¿Œ£¿Œ¤¾~žºyœ¼w—¶t›ºsºrœ·r›ºk˜¸^Œ´S‡°Q…¯H„®J…°M†¯M„²O„®Kƒ±UгM‡±O…­R‡°Kˆ²M…°I…³H…±Pˆ±M†±P‡³R…¯T†±P…®Q…®P…±M‰²P…°N†°O†±Jƒ®C®F¯Gƒ¯I„¯J…°Iƒ±M‰³G€°Jƒ±Kƒ°G€¯Mƒ°L…°L…²Gƒ±K…²P…°Oƒ°Tƒ°L„¯H‚¯M…±G…³L‡²O‡µO¯Iƒ±L°K…°K‡°I‚±Mƒ±O†²G°L‡®<€­L…±I°Lƒ®L…µOеLˆµM†±N…²O‡³K†²P‡´Pˆ²K‡³Nˆ´MеR޳I‡±I…±M„±P‰¶M‡³MˆµZޏT‹´Y‰±U‰²P‹´LŒ¶R¶R†³OгR‡µPеP‰°M‡±M·R‰´SжM‡³W޵M‹µP¶YŒ¶U‹µZµRеRޏOгUޏR‰¶Q‹¶QеWŒµQŒµTŒ¶Y·R¸[¸PŒ·P†³NŒ²S¶M‹µ[Ž·Y·Y‘¹\‘ºPŒµQŽ´]‘¶Z‘µY“¸VµZ‘·T‘¶]‘¹`‘¸SŒ¶^‘¸X·Y‘·Y¶^’¹]•»f”»i˜»u¼¤¼x ¾|£¿}¤Âu ¿}žÁƒ¡Á~¢Àƒ¤À‚¤Àz£¿{ ¾xŸ¿z¡¿s ¿q¿pœ¾r›¼gš»k™»b–º[’»X·_”ºa—»\–¹`”¸[’¸[‘¸\“º`–¼\•¹^’¸a“ºb‘³c”¸f—¼a—»]•¸a—¸a–¹c™»oš»e—»g–»oœ½{£¿|¢Á¤Â¥Á‚¥Âˆ¤À‹¤Â†¥Àƒ¤¿€¥¿‚¦Áz¢¿q ½wž½y ¾tŸºq›ºgš»oœ½u¡¿q Àt¡¿y¤½i›¾t¼v¡Ày¢Àq¾nœ½lœ¾w¡¾y£½u ½oœ¾nž»g›½oœ¾rž¿pž¾h˜»mš¼h›ºd˜»e–»_–»f˜¼c—ºi™»f—¼cš»g˜¼e™»gš½a—¼d˜½d˜¼e™¼b—»fš»b•ºh˜¼e—»k—¼d–»i›»e™¼j›½k›¾h—¼h—»c•¼d˜»_•¼]–»_–»g™ºeš½d˜½d“½c–º`–¹d–»j›¼i›½j™»p½d™»`™»d˜»e™¼jœ»f—»^•¹_—»b•º`”»a—»d˜¼d˜»j˜¼]–»e—¼g˜»f˜»gš»f™ºa˜¼b—»d™¼_˜¼b™ºeœ»rš»`—»g˜ºd™»e˜½i›½fš¼kœ¾gš¾i™½d›»bš»d™½e˜¼e™¼g™½f›¾eš½e˜»e˜»f“º`—»e™¼gš½a™»eš½hš½fš½e™½f™¼d—»i›½i™¾c˜½dœ½fš¼a™¼d™½i˜»]•º\•ºaš½b˜½c™»`–»g™»f—»k—½`“»h˜½fœ½k›¼oœ½g™¼g—¼eš¾f–»eš½g›¾d›¼jžÀgœÀlœ¼mš½b›¼l™¼j™¾fš¿iš½b™»h™½j›½g™¼m›½mœ¿p›½k¾i›¾e™½l›¿mœ»iœ½gš¼g›½mœÁsŸÁgŸÁl›½oš½s›ÀnŸ¿i›½i™¼gš¾o¿k›¿iœ¾l›¾b–»d›¿l¾hœ¾d›½gž¿gœ¾ež¾j›½mœ¿jš½oš¼užÀj™½kÀnÀnž¾q¡¾}£Àš°È¬¼Ë®¼Í«ºÎ­»Í®¼Î°¿Î¶ÁϺÃѺÃÑ»ÆÑ½ÇÕ¼ÇÖ¾ÉÕÀÉÕ¾ÇÔÃÉÕ½ÉÖ¿ÇÓÁÉÖÁËÖÀÊÔÁÉÓ¿ÇÓÀÇÕ¾ÇÓ½ÇÒ½ÈÓ¼ÇÒ¾ÇÖ½ÆÔ½ÇÖ¾ÇÓ¿ÇÒÁÈÔ¼ÇÓ¿ÇÔÁÊÖÃÊÕÂËØÅÊ×ÄÊÕÆËÖÅÌ×ÇÎØÃÌØÃÉØÄÉØÂÉØÃÊÖÄÊÖÇË×ÄÌ×ÃÌØÁË×ÅÉÖÃËÙÄÌÚÆÌØÇËØÆÌÙÆÌØÇÍÚÆÏÚÆÌÛÆÐÛÉÏÙÊÎ×ÈÎØÉÍØÆÍÖÆÌØÃÌØÄÌÚÇÎÚÈÌÚÈÌÚÆÎØÄË×ÅËÙÄËØÄÊØÃÊ×ÃÌØÄÌ×ÃÊØÃÉ×ÄÉØÃËØÃËÖÅË×ÃËÙÃËÙÁÊÚÃËÕÃÉÔÁÉÕÃÊÖÃËÖÃÍØÆÍ×ÄÌØÄÌÚÂÌØÂÉÕÁÊÖ¿Ç×½ÇÓ»ÅÓ¹ÃÒ¶ÁЮÀΰ¾Ì³ÁѲÃѱÀϸÁѼÄѽÆÔ¼ÇÖÂÉÔÄËÔÄÉ×ÂË×ÂÊÖÃË×ÅËÖÇËÖÃÈÉÊÒÕÐ×ÝÏÛßÒÛàÓÜဟ»y¹rº{›¹u–¶e‘´e’³S´[¶bµc“¶o™¸}Ÿ»‡¤»†£¼‡¢¾‡£½„¤¿‡£½Š¤¾ˆ¤¼ªÁ‘§ÀЧÀ§Áˆ¤Â† ½ƒ¢¾¢¾¡¼z¡¼~£¾{¢½y»r›¹sœºc¶L‡´R‹²R‰²I…°RгN…´M‰µV‹´P†³K…±NжC„²S‰²Rˆ²Oˆ±VŒ´J…²M‰´NŠ´N‡²O‡±Rˆ°RбM‚±N†±K…±O…²Iƒ±K†²K‡±F…±B~®I²C°G‚±N…±C°H†²I…°TŒªJ„°G€¯Iƒ±Iƒ±Hƒ±J…¯L‡±I„°Oˆ³B±H†´K„±I„³G†±M†³H†´E‡µN‰³NŠ´N†°B}®M¯L‡²H…±Hˆ²K‰³L…³G´Eƒ²H„²O‡±G…°J†²K†³JŠ·M‰³J†²L…²H†±N‰´PŒ¶T‹¸J‹¶H†±Gˆ´QŒ²R‰´J‡±R‹µJ‰µKеK‹µK‰´R¸SŠ´L†±LвJ†³]¹OжD†²I·LеPŒ´H†±I‡´J‰¶X¸W’¸N¹PŒµXŽ·UޏRжSгQ¶Q·TŒ¸S޵NµR¸OŒ¶WŽ·P·W¸J‹¶P¶U¶O¶[’ºT·W޶\’¹\¸V¸Q‘ºXºW¶R¶V‘¶S¹X‘¹[“»Y”¹Q‘¹Y‘ºa–¼Z’¹[–¹X‘¸`—»d˜¼xÁ|¢À„¡¿ˆ¤Â¦À~¤ÀyŸ¿y¡À~¦Â§Ã¤Âx£À{¢¾|¢Àr¡¾r ½{¢¾rž¼wŸÁmš»h™»_•ºY’·[’·^–º_•»`•»[–»a—¼e–»\•¹\’¹\•»e–¼\–»_–½c–½`•ºe–¸^›½`™¼X•¹^“º`•¹gš¼vžÀsŸ¿|¦Á€¦Á~¤Á…¨Æ„¥Â‡¨Å‹ªÆ†¨Ã†§Àƒ§Ã§Ä£Âz¡Àw¢¿{£Á{¡Áu¡¿tœ¼r›¾k¾k›½sž¿f›½s¾l¡Às£¾x£Áv¡¾tžÀr Ày ÀuŸÀr ¾r Áx£½y¡¾p½nœÁpž½nœ¼cœ½d›¾f™»`™»_™¹a™»g˜»dš½b˜¼eš¾e›Ápž¾hœ¼i›ºd›¼b–½g™¼i›¿e˜½d˜½a—»b˜¼g›¼`˜½`˜ºe›½c˜¼d™½d™½h˜»iš»g˜¼c•·[•½Z”½`—»d—¼fš½d˜¼g›½a˜½Z“»\“½c—»d˜»`—º_˜»j»\™»`˜¼c–»_–¹f™»i˜¼eš½j›½Z–ºa“¹`”¼`–»f˜»_—»[•»cš¼a›½a˜¼`™½b™¾i™½^˜»eš½`˜»iœ½fš»[™»bš½b–½d—¼a™½f˜½c˜º`™½dš½dž¿_˜½bœ½b½ož¿g›Àdš½d™¾i¾c™¼c›½a–½eš¼d˜¾b›½d›¾aš¼j›¾g™¾dš½`™½b˜¾cš¿h™¼d—½i™½o›½dš½c—½^˜»`—½_™½i—»d›¿a›¾cž¾c–»b–¼d˜½^—¼`–½`™¼b™Ájž¾d›¿jœ¾mœ¿f™¿\œ½e Ádš½lœÁgœ¿d›½`™½c˜»^™½d™»dš½fž¿j›Àf™¿eš½f›¾kžÀcš½hžÀjžÁiŸÁn Àg¾m¾jŸ¾dŸ¾o¾dœ¿mžÁbœÁmŸÁiœ¿cš½jœ¿gœ½j Á_™¾fš¿iÃl¿jŸ¿hœÀlžÁjÁjœ¾f™¾kŸÀh¡Áeœ¾g›½gœ½iœ½sŸÀjœ¿cš¾fœ¼kš¾m›½€¦Å•±È¬½Ñ­¾Îª½Ð«¼Ï®ÁÒ°ÁÒ±ÂÒ·ÃÓ¹ÆÓ»ÆÒ¼È׿ÈÖÁÉÔÁÉ×ÁÉÖÁÉ×ÁÉÕÁË×ÀÉÖÀÊÓÁÉÔ¼ÇÔ½ÉÖ½ÇÖ½ÇѽÇÒ½ÆÔ½ÉÖ½ÈÕ½ÇÕ»ÇÖ½ÇÖ»ÇÓ»ÈÔ½ÈÕÁÈÕÁÈÕÁÊÖÂË×ÁÊÙÆÌÚÅÎØÆÎØÃÍØÀÉÙÂÊ×ÁË×ÂÌØÁÌØÁÌÙÃÊØÆÌ×ÅË×ÃË×ÃË×ÃËÙÆËÛÂËÛÆÌÛÇÏÚÇÍÚÆÏÛÅÎÚÆÍÛÇÎÛÄÎÙÇÏÚÈÎÛÉÎÙÅÌØÄÌØÄËÙÅÎÚÅÌÚÆÍÛÅÌÚÅÌØÆÌÙÃÌÚÂÊØÅÌÚÃÌÙÃÌÚÂËÙÃËØÁÌÙÅÌØÃË×ÂËØÄÌÙÂËÙÂÊØÃËÙÁË×ÁËØÃÌØÅÊÙÆÍÛÅÌØÄÍÛÅÎÛÆÌÛÅÍÛÃË×ÁËØ¾ÈÖ½ÇÕ»ÇÕµÆÔ³ÂÒ³ÁÑ»ÆÑ¹ÇÒ·ÃѺÄÓ»ÇÓ»ÇÖ»ÆÖ¾È×ÁÊ×ÄËØÃÌØÀÉÕÂËØÃËÖÅÌ×ÁÈÇÊÓ×ÏÙÞÑÛàÓÝáÒÜኟ¹†ž¶€¶xš²l–±iŽ­j•±\®f‘±h޳l‘²o•µu™¶}šº†¡¼‡¡»†¢»£»¤»†£¼Ž¦¾¢»†¢»„£½‰¤º†¢¹ž¶¸zº€ž»ž»{¼wœ¸xœºsš·j”·Uˆ²R†°Rˆ°U‡¯ZŒ²X‹²R‹´Pˆ²T…±N…±T‰°O…®M…¬O…¯S†¯[„¯Sƒ¯T‚­X†±Rƒ­Q…°R€­Y‰±O†²K€±M‚±P…¬M„®N‚¬Mƒ®Q…±I®C­M„®E€°J‚­Mƒ¯K…®E€¬Fƒ®F‚¯K¯L€°I€®R„¯E­Iƒ®H‚¯F®H¯M†±P„®M„®HªD¬P‡²F„±F±C{®I®N†±H­C}®H‚®K‚¯K…±O„°M„®H°M…³J€¯M„¯L„®N„°Q…±O…±R…±M…³O‡°H„®L†¯N„±[‹²N…¯P†°N†±Kƒ²M„°O‡²M…°L†¯M†±N…°P‰±S‰´R‡²KНK†±X†°R´O‡°M‰±RеK‡±P‰µR‹°Z±^‹¶Y‡±P†±U‰´O‡µRŠ´QŒ´W±_‹³S‰±Mˆ±S‹³M†²O‹¶Y‘¸U޵`’³WŒ´P‹²Q‰±YŒ²OвPˆ±[µ^‘¶c‘µYŽ´Z´R‹²Q‰·RŒ¶_“µ[’·X’³^‘¶a“¶Z¸]‘·\’¸Y‘¸\‘»Z”·c“¶d’·d•¸k•¹pœ»¤¾…¤À†¤¿…¦¾ƒ »Š¥Â¤À‚¤¿‡¦Á‚¤¿¤¿{¢¾‚¤À†¡¾¢¼ƒ¡½}½už»o›ºk—ºi—¹^‘·]´^µX޳\’¶\”·_”º]”º]“·\’¸X޶W¶_•¶[–¸]’¶_—¹c˜¸e˜»b–¹h“¸d’·i—¹jš»u½o¢À~£½ƒ¨Á¤Á†¤¿„¤Á…¦Á‡§À„©Ã‹«Å‰©Ã‰§Ã‹¦Ã„¤¿£À¥À¢¿|¡¾v¼s›»rœ»o™»lš¼y ½xž½{¢¿z¡½s¡¼|£¿x£¿~¡Àz¤¿{¡¾€¤Áz¢Á{¢½z¢¾¤¾yŸ½o›½j˜»f–»d˜»f™»d˜ºkšºdš¹f™ºd—¸e˜»j˜ºf—ºh˜ºišºh›»e™»g–»g™¼b—¼jš»f›»f™º`—ºiš»e•º`”ºj—ºc–ºb•»f—½f˜ºd™»c—·d˜¼j—¹\–ºe—»hš¼e•ºg˜»d˜»e˜ºk—ºg™º^–ºc”·f˜ºb“»`—ºb˜¼g˜¹b•ºf“·]”¸`•¸h—»c˜»c—¹f—¸d˜ºd•ºf”¸b—»d”ºh•ºc—ºe–ºb˜½g™½f™¼^”¹d˜º]˜º_—¹d—ºdš½kŸºh™ºb–»d—ºg•»`–¹c›¼jœ¾e˜»f™½b—¼jš¼kšºb—ºišºe˜¼g˜»iš½i™¿a•»g—»d–¹mš»f»_™»gš½c˜¼b–¼k˜»e—ºa˜º`˜ºk—»gš¼c˜¼g™½_—½a—»e˜¹b˜»b—ºd˜»_•¸d–½e˜¼m›½e˜¼h˜»`•·d˜¼b–»c—½]—»`—»l›½d™ºa™»b˜¼`–»f˜¼lš»f™¼g™¼_—ºhš»k›¼lš¼i™¼ož¾g˜¼g˜¾f˜½gš»f—»hœ»`˜¼gœ¼nœ¾e›½iš¼l ½n ½hœ¾f™»nœ½k›¼jœ½i›½a˜¿iš½e™»jœ½hš»iœ¼j˜¼o¼lœ¾d›¾h›½iœ½b—»o›¼m›»h¾f¿mœ½n¾kŸ½lš¼i™»l™»pŸ¼iœ½r›½rŸ¿‰¦Â¥¸Ê®½Í­¼Í¬»Ë«»Ì¬ºÍª»Î³¾Ï·ÂÑ»ÄмÆÑ½ÈÓ¿ÇÑÁÇÓ¿ÉÓÀÉ×ÂÊÔÅÌÖÆËÓÄÊÔÁÉÓÀÇѾÅÓ½ÄÒ¿ÇѽÇÓ½ÈѽÇÔ»ÅϽÇÓ½ÅÒ½ÆÒ¾ÆÒ½ÇÔ¾ÇÔÀÉÓÂÉÒÂÉÕÃÈÓÂÉÖÅÊÖÆÍ×ÇÍ×ÅÌÖÆË×ÃÉÕÇÉÔÃÊÔÃË×ÃËÖÃÊØÆÌØÉÍØÇÌ×ÇËÖÅËÕÆÊ×ÃÉÖÄÉÖÆÍ×ÈÐ×ÇÎØÉÎØÉÍØÉË×ÈÎÖÈÌØÇÐØÉÎØÅÌ×ÆËØÆË×ÇËØÆË×ÅËØÂÊÖÁË×ÂËÖÂË×ÅËØÄÉÔÇËÔÃËÕÁÈÔ¿ÇÖÁÉÖÃÉÕÅÊÔÆËÕÅÊ×ÄÊÖÁÊÕÁÉÓ¾ÉÔ¾ÇÓÁÉÓÄÌ×ÇÎØÇÎØÇÍ×ÇÍׯÎׯÎÚÆÌÖÆÌ×ÄÌÖÁÉÕ½ÇÓ½ÇÒ½ÅÒ¿ÆÒ¾ÅÑÀÇÓ¾ÆÓÁÇѾÆÒ½ÆÒ½ÅÑ¿ÆÓ¿ÉÕÂÈÕÃËÖÄËÔÅÌ×ÇËÖÆËտ¾ÊÐÔÑ×ÜÒÛÞÔÝàÔÞà€Ÿ»xŸ¼z¶{ž·l™³aŒ°`®e’³]¶`¶f¶wœ¸u›·xžº£»Š£¼Š¥¼…£¿Š¤½‹¥¾‹¦½‡¤»€¢º~¢¼… »‚»xœ»s›»w™ºužºs¹t›ºk—·s™»p™»j•·_¶P‰±TбQ‰²R‰³VбQ†°M†±I†±Q…²Tˆ±P‰±R‹±U…°S‡±T…¯M†²OгE±S‡±J‚¯R†°Vг\µL„¯U‹³M‰´O‹±H‰±P„±M…±G‚±I®D®N‹±I‡±F®G†¯K‚®E®H‚±Lƒ°G‚±G…²I…´C±M…±Dƒ°B~®M†°D„±I„¯K†³F€±E…°G„±B°H€¯I…±H‚±G…´K…±G…±D†±H±M„³L~°M„²LˆµH„±Fƒ±H†±GŠ´J‡±I„°J‚±O„³J†³G„¯H…±R‰°RŒµM‹³VеQ‰²X¶P‹µO‹µZ޵RµQŠ´QеOеS޵M†´M†µJвK‹¶MŠ´GˆµN†±MŒ¶S‰³S…´Vˆ±S´OµJ޲W‡µSŒ³SŒ·O…³WгS‘¸O޶R‘¸EгQŒµ^·R¶VŒ¸Q·W޶T‘·U‘¸K¶P·U¶PˆµNˆ´OŽ·M޹S“·U’¶V޶_·U“·W¹[‘»W¶O¸TŽ·Z‘º^‘»Z”»Z’ºS‘¸X–»_—»_—½^”»]–»d—ºu½zž¿Š§Ã‡¤Á†¦Â‡¨Ã‡©Áˆ¨Ãƒ¥À†§¿‹¨Áˆ¥Àƒ£¿„¤Á‚¥Áy¤Àz¢À| ½o¾wœ½t˜»\”¸Y•¹Z’¸Y’·U‘ºU“¸d–»]–»a—ºe™»W•¸Z•¶Y—»Z”ºf˜¼d˜»]”¸e™º]–»_•½a–ºf—½h˜¼lš»s½nœ½y¤¿¦Â‡¨Ãƒ¦À„¥Âˆ¦Á‹¨Äƒ¥Á…¨Ã…©Ã‰©ÄŠªÂ‹¨Â„§Â„¥¿¥Àv½sŸ¾mžÀk›½p›¼x¡¿¤¿z¢¾€¥Àw¤À{§À€¤Ãz¤Ã}¤Â|§Á¤Á¥Áƒ¦À|¤Áz¢Ãy¤Ät Áj›¿kžÁdš»hœ»c™ºj™»h˜»a™½b—»cœ¼d™¼aš»f™¼l›¾j›¼h›½fš½g›¾d›¿c˜»h™¼c™½dš»gš½a™½d˜½d›À_œÀ\”ºc˜¾a›¿f•»g˜»d™¼c•»\˜¼]–¼d—¹`–¹\—»b•º\—º_—»c™»a™¾gš¾b“·j›»`—»aš½c˜¼g—º_—¼]–»b—¼_˜»[—ºe˜½]—»b˜ºZ•»_•·d™½f™¼iš¼`˜»fš¼f™½b˜½g›¿eš¿\—½d›½d¼eœ»hœ½n›¼e™¼b•»d˜½bš¾lš¼_—ºe™¼d™½fœ¾d›½d—½_™½c¾eš¾d›¾g¾hš½o¼f¼`š¼cš¼c›½`š¼h½jš½a—¼m›¾f›½kœÀašÀkœ½cš½eš¼h›¼h™¼gœ¼iœ¾d›½_™»U“º]•¹gš½a–»g›¾n½jŸ¾hœ¿]—½_™½d™½_™½fšÁg™¼mŸ¿dš½c™¿bœ¾f¿]—»iœ½hš½g¾oŸ¿f½`›¿eœ¾k ¾nœ¿g¿iš½l™½hœÁg›¾eš½c›½k ÁjÁh¾f›¾h›¾mŸÁe›Ádœ¿lŸÀrŸ¾jÁj›¾kœ¿j›¿lÂgÁj›¾i¡¿f›¿^”½f›¿lŸÃkœ¾lœ¾j¿iŸ¾l ½rž¾kš½pš¿k›¿nœ¾g›½dœ¾p¢Àm Àiš¼q¾sž¾s¢À€¨Å•°È§ºËª½Í¨»Íª¼Î©¹Íª¶Ì®½Ñ³ÂÒ·ÅÒºÅÓ»ÇÔ¿ÈÓ¿ÈÖÁÉÓÁÈÖÁÉÖÅÌØÅÌ×ÁÌØÃÎØÂÊÔÀÈÕÁÇÖ¿ÉÕÀÈÔ¼ÇÔ½ÈÕ½ÇÖ»ÇÔ½ÇÔ½ÆÒ½ÇÓÁÉÖ½ÇÔ¿ÇÓÀÉÖÁË×ÂË×ÀÊÖÃÌׯÌׯÌ×ÂÍ×ÃÌÛÄËÙÆÍÙÃÌØÃÌÖÄËØÄÎØÈÌØÈÍÙÈÎÛÇÏÛÇÐÛÇÎÙÇÌØÇÊØÇËØÉÎØÈÏÜÈÑÝÉÒÛÆÎÝÊÎØÈÏØÈÏÛÉÎÚÉÎÙÆÌÖÇÍÚÄÏÛÆÍÛÅÊÙÃÉØÂÉÙÁÉÖÂË×ÃÌØÃÌÙÃÌÛÃËØÁÉÖÀÊØÀÉØÁËÖÃÌØÂÌØÃÌÙÅÍÚÁËÖÁÊÕ½ÉÓ¿ÇÓÂÊ×ÇÎÚÈÎÛÇÏÛÇÐÜÉÏÚÊÏÚÉÑÛÉÐÖÆÎÚÆÎÛÁËØÁËØÂÉÖÁÈÓ¿É×ÃÌ×ÁËØÄËØÄËØÁÉ×½ÈÖ¼ÇÓ¼ÆÒÁÈÔÂÊ×ÂËØÁÉ×ÄËׯÎÛÆÍÙÂÈÆËÓÖÐÚÝÑÝàÔÞáÔÝ↢¼x»sœºq–¶e´e’µe²g‘³i´c¶^¶h’¸o—»vœº~¼‰¡»‰£»‰£½†£¾}ž½€ž»ž¾ž»y ¾ž½z»p˜¹sš¼r˜¼p—»n”¼k”ºd’¹n™»q˜¸f·S…±T‡±[‰³V†³R†±Q‡±O„°Q¯J€±F³Lƒ±WвPƒ±O…±L‡µK†±Q†²L³H‚¶K³N®Q„¯V‡³R‡±R‡²V„²N±K…²L±O†°C²M†³Nƒ²N…²Lƒ²K‚±N†±J„´Gƒ²G…´H„²K…²H„±K‚±C±Jƒ±Kƒ³I°G€³K†°I„²S‹²H€²G³I†³B°F°M‡°N…·K†²G‚³K°H„±B±O‡³G±I„²L†±N‡³K‡³L†²H…µH‚³N…±K†²K†³P†´H‚²N„³L…²E€³P‡µM…¶Mˆ´SŒµVŒµOŒ¶VŠ·P‰¶P‰¹N‡µRˆ¶QЏP·Lˆ¶M„´X†µO†¶L†¹H†·L‡¶SŽºS·RЏXŒµQ‰¶TŠ·U‹¶]‹·QŒ¸Q‰µRŒ·V‹·Rй`Œ´QŠ´PºMŠ·UŒ¹N‹µS¹V‘·Y¸WŠ·V‹¹R‰·YºWŒ¹QŽ·X·\·_ºW·K‹¹QŠ·a”»W»[»QЏXޏYޏX‘¹YŽº[»`‘»[‘»[’º]“¸Y‘»b”ºd–½_•¼h˜½y˜¿„¡À¤¿Š§Àˆ¨Â‹§ÇŠ¨Æ‡¨Å‡§Å‡¥Å€£ÀЧÁ‚¥Áƒ£Á„¤Á„¤ÁyŸ¾oœ¾zžÀu½sœ½f–¼a“»b”»_•»Y¹R¼_•¹a–¸_•»g˜¿\”»b“¼`“½c—º`—Ád—½h˜½e˜½_•º`”»`˜½d™¾i™½jš¿j˜»vŸÀ†§Â‰ªÆ‚¦Æ‡¦Å€¤Á†§Å†¦Å„¦Å¤Ã†¥Ã‡¦Â‹©Ã‡§Å„¦Åƒ¦Æ…¥ÄvŸÀnš»t½vž¿¡Áx¡Áx£Å„¦Å}¢Á‡¥Â€¤Ãy¤Ãƒ¥Ä‡¦Æx¤Ã~¦ÃŒ©ÈªÆ†¨Æ…¥Å¤Å~¤Âtœ¿n¾mœ¿lœ¾fš½l›½o¿g›»i˜»c–¼iš¾f˜¾jšÀc™½eš½h™½g™½j™½iœÁ_–½f˜¾j™¾gœ½dš½a™¾b–½q¿k™¾c—½^•¼h›½c—»iš½f™¿p›½i˜Àa—½Z”»_•»b–¼Z»W’¼_•½`”»b–¼d–¼b–¼c˜½d˜¼h™½_–»l™¼h˜»e”ºd•¼^—»Z“»`•½b—½^–»g™½d–»e—¾]”½_•½iš¿aš¼f™½`™¾e›¾l™Àhœ½e—»`–»e™½fš½i›½cš»lš¾k—¾h˜¿`–½lÀnœ¾lŸ½kŸ¿`œ½e—»h—¿e™½hœ¾hš¼k›Àd˜½fšÁg™¾lš¿f˜¾gš¿g›Âh˜½h˜¼f™¼a™¾fš½k—Ài—½d™½gš¾j›¾]–¼d˜¾a˜½j˜¾i—¾d•¾j›½c˜½a˜¿a•»d™½eš»j˜½i—»\–¾d™¿a˜½a˜¼c—½k™½c™¿fšÁd™Àe˜¾h˜Áj›½lÁjžÀk›Ác›Âm—½kš½b˜¼e™¾a™½eš¿gš¼iž½kžÂj¿f˜ÁkÀf˜Ág™Âf›¿j Àg¾e™Áf™Â\•ÁsÂjœÁo›Áu Âmž½u ÁpžÁj›¾hšÃoœ¿mœ¾fœÀhœ¾jšÀe™¿ešÂiœÁlÃmÁo Âk›ÂqÂkžÃdš¾nÀišÁlœÂlÂu£Ão Âq¢Ào ÀnžÁ{¢Æ•¯ËžµÌµÎ§¶Ì¤¸Ð¤¶Ìª»Ð±¿Ï¹ÁѶÁÒ·ÃÔ»ÅÖ¾ÈØ»ÈÖÁÉÖÁÊÖÃË×ÆËØÄÌ×ÁÊØÁÊ×ÀÉØ¿ÈØÁÈÕÁÉÔ¿ÇÔÁÇÓ¿ÇÖ½ÆÖ¼ÆÖ»ÇؽÇÓ½ÇÔ½ÈÔ¾ÇÓ¿ÇÕ½È×ÃÉØÄÊÙÆËÚÆÌÙÆÌØÄÍÙÇÌÛÅËÛÅËÛÅÌØÆÍØÉÍÚÈÎØÈÐÛÇÐØÉÐÛÇÐÛÈÌÛÇÌÜÈÌÝÇÎÛÇÎÙÊÑÜÈÐÛËÏÝÉÑÝÉÎÜÈÌÛÇÍÚÉÏÜÈÐØÉÎÛÊÎÛÇÌÛÉÎÜÆÌÜÅÌÛÄËÙÃË×ÃÌÚÃËÙÁÉÙÂËÙÃËÙ¿ÉÚÀÉÚÁÉØ½ÈØ¿ÉÙÂÊÙÁÉØÂÊ×ÀÉÙ½ÈØ½ÇÙ½ÈÕÁÈÕÆÌÚÉÎÛÈÐÛËÏÜÈÐÝÇÐÜËÑÝËÐÝËÑÜÊÑÜÉÎØÇÌØÄËÚÂËÚÃËÚÆÌÚÇÎÙÆÌØÁËØÁÉØ»ÈؼÇÔºÆÓ½ÈÖÁÇÖÃÉØÄËØÃÌØÅÌ×ÄÎÙÆÍÚÁÇÊËÓÙÑÙßÓÜâÕÞâÕÝâ ¸uŸ·uŸ¶m™´f“³e“¶_¯i—´V¯\¯^´l³h“´u™¶zœ¹†¡¼‡¤¼…¡»} »~¡¶| ¸z º€¶yœ¹{œ¹u˜·n˜¶g–·k˜¸i˜¶f”·^³g’¶hµbµ\²Z±TޱX±T†¬S…­Q‚¯S†°M‡®I‡±F„­P†¯L†­WбQ‡²W‡´X‹¶RŒµO‹±L‡¯Lˆ°N„­S„®T‡¯Tˆ²R†¯U‹²SвK‡®C‚¬G«K„°N…±Jƒ­F­F®@€°R‰°I†±Kƒ°H‚¯J‚±J†±M‰°Cƒ­Nˆ°G…¯J‚®G°G‚­T†­I‡±I†±H‚¯Lˆ³O‰±H…³G…¯F„®M†±Q†®C‚¯Fƒ±M†±D‡±D…°G…¯I‡°O†±K…°Lˆ±J„±NаJˆ®M‹±H†²QбS‰±H‡°F†°Jˆ±D†®F†²O‹²S´S‰³P‹³[·ZµVµ]µa“µP‹±OŒ²T´RŒ±O‹²LбN±H‰³I‡³W‘¶W‘¶YŒ¹Y¶Sޏ]’¸[”¶Q‹±R±O‡¶Pˆ¶ZŒµS·\´P³W³Rµ[´SŽ´PŒ¶V޵U’·Y‘²V³Z‘µ]•µX‘·[’·]’¸a“¸\·\‘³Y”·X•·[’¸V´Z“¸X¶[’¸_’»Y’·Z’¶[•·V’¸Z•¹Z•¸_•¸\”¹j˜¹g›»l»lœ»l¹p»¢¾‡§Â¨Æ©Ã‘«Ã‰ªÂŠ©Á†¥½…¥¿‡¦Á„¨Â…¤À†§À¤¾¤¾~¤¼x ¼v¡¾uœ¼h˜»b–¹\”¶^•¸]”¹]“¸Y•¶]–·_–¹`•ºc•¸\•ºd™¸_–ºe–»f˜»`˜»j™»iš¼d˜ºb˜º_˜»a™ºbš»lœ»l»u¤À‰ªÆ©Á…§¿‡¨Á…¨À„¨Áˆ¦Á‡§Ã…¦Â‹¨Â‹¨Ã‡©Ãˆ¨Â„¨Áƒ©Ây¥Àq¢Áv¤Á~¤À¤¾~¤¾~¥¾~¨ÁªÁ‚§Á…¦Áƒ¦Â¤Á„¨Ã‰¥ÂŒ«À‡¬Å‰ªÄŽ¯Å®ÆŒªÆŽ©Á~¥¿s£½ož½k½ož¿eš¼už¾tŸ¾eºhœ»lœ»c›ºmŸ¼nœ½o¾lž½j½jœ¼n¡½l ½o ¼sŸ½kž¼oœ½ož½o½`›»cš¼lœ¾c—»h¼i›¼d˜½d˜½hš»e›»_™»]šº_—¸_˜¹e˜½d–»gš»]—¹`™¹_™ºc›»b›»i™ºe˜»_—ºh˜»`–¹c˜ºc›ºa™ºcš¸e—»]–¹d˜¼k™»e•ºc˜»c™¼b›ºiž»eš½c™½e™½iš½dš¼j›»^›»`›ºj ¼j ¾jŸ½rœÀ`—½e½iœ¼fŸ»iœ»e›ºnœºbš»g¾f›¿bš¼ižºe»a›¼iŸ½lš¾i™¾jš¾b™¼`š¼kž¼cž¼iŸ»h›¼oš¾h›½i»iž½fš»dœ¼aœ¼i¾e™½e˜½eš¼e™ºh¼aš¼b›¼h½`˜½h™¼m›½iš½eš½^™»j™½j ¼eŸ½mœ½]—½c˜»`˜»cš»gš¿hœ¿g›»nœ½m›½kœ»m›»fœ½o½i¾`š»e½bž¼aš»gœ½i½f›¾jž¿jž½p¡¿i ½jŸ¼fœ¼l ¿gž½f¾t¢½m¡¿m£Âp£¿lžÀmŸ½m ½o¡¾l¡Áx£¿f ¾j¡½h¡½o¡¿u¡¿j›¾t ¾`›¾i½hž»h½t¡¾wž½r¢Án¾lžÀn Át£¾l£Àr£¿v¤Áx¤Âx¡¿z¤Àl ¿tŸÀx¥Á~¥Á¦Åˆ©Ç¡³Ë¦¹Ì§»Î«»Î±ÁήÁÌ­¾Î±ÁиÃйÇÓ»ÆÖ½ÉÔ¿ÊÕÃÎ×ÅÍÖÅÍÖÃÌÕÁÌÓÀÇÒÀÈÖ¿ÉÓ½ÇÓ¾ÇÓ¿ÇÔ½ÇÓ½ÉÒ½ÇÒ»ÇÔ¼ÇÔ»ÆÓ¾ÈÖ¿ÉÔÁÈÓ¿ÉÓÃÌÕÂËÖÂÍÙÇÎÙÇÍØÇÎÙÆÍØÇÍØÆÎÙÈÐØÇÏØÉÏÚÇÏÚÉÐÙÉÑÛÊÑÙÉÑØÈÑÚÉÒÛÉÐÚËÑÛÉÏÜÊÑÝÊÑÛÊÑØËÓØËÒØÊÐØËÒÜÉÐÛËÑÛÌÑÛÉÒÙÈÐØÈÏØÈÏØÈÏÛÈÍÚÅÌÙÃÌØÃËÖÁÌ×ÁËÕÁËÕÃÉÕ¿ÉÖ¿ÊÖ¿ÊÖÁÊØÂÊÖ¿ËÕ¾ÉÔ¾ÉÓ¿ÉÕÂÊ×ÃÍÕÅÌÔÇÐÙËÑÙÇÑÛÌÓÚÌÒÜËÓÛÊÓÛËÒÝËÖÛÉÓÜÉÏÛÇÎØÄÌØÃÎÖÄÎØÆÎÙÆÎ×ÃÌØÂËØºÇÕ¼ÇÓºÈÓ·ÆÒ½ÇÑÀÉÖÄËÖÆÍ×ÇÍØÃÎ×ÅÎØÆÎÖÂÇÂËÙ×ÒÜßÖÝâØßäØàဠ»~ž¼x›·q—´g”¶`‘´aµ`³[Œ±^вiµl´j’·v¶}Ÿ»}žº…¢»… »~›¼…¼v˜ºz»oœ¼zžºr™¹c¶^‰¶`³dŒ¶j¸g·X‡´Y‹¶NаUбR…®U„±S‚²I‚²N„²L„³Jƒ®Fƒ°H€±H~¯Mƒ²Mƒ±Oˆ²S„µT‰²WŒµRˆ±Uˆ³Pƒ±V‡¶Wƒ±Pƒ²S…±O‡±P‡°C~¯P„±Oƒ²G°O‚±I€´K…±H€±C®Kƒ°L±Oƒ±S†²N„²Mƒ´Hƒ²Gƒ²Jƒ±C‚±E°O‚³C{°N…´L„³Iƒ¯R†³L†´OеK„´Kƒ³N‚¶N€³K…³I…³L…±L†±T…´Q„³N…±M„²H±M…¶Lƒ´M…±N…³MŠ´Q…³M„±L„µG³Eƒ´O„µH‡³Pˆ³PвH†´M‡³M‡´Oˆ¸\¶\´W·c‘ºc‘¹TŒ¶QŠ·R‰·MŠ·WŽ·S‰³OˆµPˆµX‰¶Rˆ¹I†¸K‰³TŒ¸R³Zˆ¶Z¹O†·OŒ¹Y¶T¹X‰¶XŠ»U‹¶Qˆ³W·T¶]ޏ[޹Y»XŽ·\Œ¹[Œ¸QŒ¹V»^‘ºX·X¸`ºZºXŽº\޹]‘¹Y¹]¹T·`‘¹^“¼Z‘¹]Žº]»[‘»_“·Z”·a”»g•½]‘ºd”½b•»b–ºe•»g–½mš½qœ½v¿}ŸÂšµÇ¥Ä†¥Á„¦Ä©ÁŒ¥Ã‘¥Æˆ§Æ‹¦Ã¥Ãƒ¥Ä¤¿£¿w Á| Â€¢Áxœ¾sš¾lš¾i˜½d–¼\“»\–¹[’¹_’¼e“¼^“»]‘¼a’¼Zº`—¼g˜¾c”½d—»e•»g–»l—¼l˜½d–½a˜¼g™¼b˜»j™½t™½qž½x¡Á¥ÃˆªÅ†ªÅ‡¤ÁŒ§ÅŒ¥Åˆ¥Å‰§Æ¤Ã„§Ã…§Ã‰ªÄ©Æ¨ÄŽ¨Ãˆ©Äƒ¤Ã€¤Ã¤Á~¥Á€¤Á€¤Å…¥Å…§Æƒ¥Å~¥Ã€¥Â…ªÄ~©ÂŠªÃ’ªÆ’©Æ’ªÇ”®Ê“¯ÆŽ®Ç‘®Çˆ§Æ…¦Å‚¢Á€¢ÃvÂoœ¼u¢¿qžÁu ¿y¢¿t›½p™¾d™½i™¿mœÀb›¿gš½f½gš½qÄožÀpžÁp¿l™ÁmšÀjœ¿l ¾eš½gš¾j–»hš¿fšÃf˜¾b™½gš¼d™¼h›½b–ºl˜½h˜»b”¼Z“¼]”½`–»e˜¾d–»c—»`–¼f–¼l–½^–»_™½e›»a™»`˜»hš¼n˜¾c—¼b–½b˜½d›½[™ºe—ºc˜¼i•½i—½h—¿lš¿jœ¾g›½g›½h›½f™¾qš¿d—¾dšÁcš¿b™¿d™¼^š½f˜¾i›¾cš¾kœ½nžÁfš¾hŸ¾f¼_™¿jœ½oÀf™½c˜¿ižÃi¾cš¼kž¼fœ½e™¿e™½n›ÁmšÂkšÁe¿_›¼aš¾_™¾l™¿k›Ài™¾b˜¿iš¿e›¿hœ¼j›¾d™¿f˜Ájš¾_–»[•½eš¿jš¾c—½c™¿c˜½i™½kœÃc—¾`˜Ágš¾c˜¿aš½g›¾g›½gÁlšÁnš¾g›Àg›¾g™Àdœ¿h›À`˜¾l›¿k›ÁmœÁh™ÂkžÃn¢ÁhŸÁešÁkžÃjžÂmšÁhœÂsŸÂi¡Ái ¿i¾oŸÁnœÃlÃjœÄ`›Âj›Ãl¡ÁnŸ¾mœÃjžÁpœÂmžÂiŸÂo¡Ãh ÃeœÁxŸÂlžÁlžÁjÁrŸÀsœÃo ÂnžÁmœÀržÃmœÂkŸÂl¢ÂnÁl Ãr ÃlžÀiœÀt¡Âs¡Á…¦Æu¡ÁvŸÁ„¦Ç’¯Êž´Ë¤µÎ¥·Í¦·Íª¹Ñ©¹Í­»Ñ±¿ÓµÂÕ¼ÆÓ½ÉÖÀÉÕÃÊ×ÁÊØÅËÖÆÌ×ÂË×ÁÇØÀÉ׿ÇÓ¿ÇÔ½ÇÔ½ÆÔÀÆÕ»ÆÔ»ÄÔ¼ÆÖ½ÇÕ¼ÇÖ½ÇÔ¼ÈÖÁÈÖÀÉØÃÊÙÆÊÛÃËÛÆÎÙÈÎÛÈÎÙÇÎÜÈÏÚÊÎÜÉÐÛÊÐÛÉÐÚÉÑÛÊÒÚËÑÜËÐÝËÑÝËÎÞËÐÝÊÎÝÉÏÞÉÑÝÉÒÜËÑÜÊÏÝÌÑÝÌÑÝÌÐÚÊÏÝÊÑÜÊÑÝÌÑÛÊÒÛÉÑÜËÏÛÊÑÛÈÎÜÇÍÚÇÌÚÅÌÛÄÍÛÅÍÛÆÍØÆÌÙÆËØÁÉØ¿ÉÚ»ÈØÀÉÖÁÉØÀÉØ¿ÉØÃÊÙÃÊØÃËÙÄÎØÆÎÛÈÏÝÉÒÜÎÕÝÎÒÝÍÓÞÏÒÜÎÖÞÌÕÞËÓÝËÓÜËÑÛËÑÝÉÎÜÈÌÙÆÌÚÃÊÛÃËÛ¼ÊØ·ÆØµÃÕºÃÓ»ÃÖ¼ÅÖ½ÆÖÂÉÙÃÊØÄÌÛÆÌÚÅÍØÉÏÛËÏÚÄÈÇÍÖÛÒÜàÔßã×àåØáä…¤»ˆ¢¶ µo›µwž¶d®e“±`‘®dޝ\®\‘°j”®u™¶p›¶tš¶~¡º‚ ¹}¸~·pš³m˜´j•¶o˜¶n›·j™·d´Z޲V²`‘³a‘³[Ž´W‹´V†°Oˆ±K‡°L‰°I†®Qˆ±R†¯Lƒ°Q‰±Q‡®K‡°PвJ‰±P‡²MбV³Q‰²O‡±]ŒµN‹°MбT‹²S‡°PŠ®VбK…°L…°J†°I‚¯M‡±O…°N‰¯I„¯P†¯N‡±D‚¬O„°H†°Jƒ°R†°Q‰²QбD…¯Kˆ±M†°E®M‡±Nˆ±P‡²G…¯Oˆ°Kˆ±H…¯Eƒ°Bƒ¯P‹²RбKˆ²K‰±Q‰±S‡°H„¯RŠ´P‹²L‡¯L‰³H„®F®Mˆ²E…®L†±G…°Kˆ³F…´K†±I‰³Q‰°H†®PбM…²NŒ³H‰²O޵RޱSвQ‹´Z‘µUµ^’¶`’¶X޵Y‘¶]”¶VµR޳S“µTޏQ’µPŒ¸R³[¶R´\‘¶W“µMвM‹µ\·TµX‘¹SµRŽ´X³Y’±RŒ±Z”¹V޹R¶[•º[·W¶`•·U’¶X³W¶W‘¸Y‘·\’¹\”¶[•¶b–¸U”¹Q·\“¸P‘¹X”»\“º[¶]“¶[•¸\–¸j˜»S‘¸d™»`“¹b—»b–¶g–¹]’µ^—¹e™»_–¼d™»m™ºu¤¾|¤½{¡½|¤¿¤À§Ä‹©Ã†¨Â…§ÁªÃ‹§À‡§¿†¥¿¤½¤Á€¤Á£Ày£¿o ¾m»rž½gœ½jš¼b–º^—º^—¼[•¸^—¹\”·X”¸^—»f—»h˜»Z–ºf›½d˜ºh›»a™»e™»h›»g½mœ½rŸ½h›½s ½xŸ½y ½u¤¿|¥Ày¤¿€§Ãˆ©Ã†ªÄ‹ªÃªÅ‘ªÄªÁ¬Æ¨Ãˆ§Â„¨Ä‡©Ã‘¬ÅŒªÄŠ«Ã‘®Ä‹«Äˆ©Ä„¨Æ€¦Å}£¿‰¨Â…©Â†©ÃŒªÁˆªÃŒ©Å…«ÄªÆ­ÇŽ°Æ„«Ã®Æ’°Æ“®ÇŽ®Æ“¯ÆªÆ‰ªÅ…¦Á~¤¾s¥Áx£¿v£Áx¤Áx¢¿v¡¾m½e™»iŸ½nŸ½t¡¿jžÀq ÀkŸ¿jž¾ož¾p¢Àl ¿k¾iž½j½sŸ¾fÀdž¼fš¼e™¼c›»r¡½hž½b™»gœ¼gŸ¼_™»`š¼aš»k›»g›»jŸ½a™½X•¼b™¼h™½_š½mœ»`š¸jž»`—»c™»a˜»b—»eš»h˜¼b˜ºa™¹c™¹fš¼c™ºi›½e—»c™½gœ»dš½hœ½bž¾cž¿g›¿e›¾i›¼f›¼dœ¼e›»i½f¿qÀo›¾eŸ¼f¼f›¼h›»d»k¢¾k¾dš¼g»dœÀ\œ¾\™½k½j›½n¡¾v ¿oœ¿gš¼cœ¼o¿gš½i›½kž½o¡ÂjŸ¾mž¾d›½jž¾gœ½j¾gœ¼dœ½b½d›¿eš½f›¾`š¼i›Áež¼hž¾eœ½eœ½aœ¾fœ¾`—¼_™½hœ½p¡½gž»_˜ºd™¼[™¾dœ¿f›½j Ár À_—»]š»_™½d™½g½f›½kžÂfš¾gš½d›½l ¾fž¿k Âl ÁlŸÁe ¿q£Áo ¿hœ¿m ¿gœÀg¿s¢¿n Ám¤Äq£Âl¡Àq¤Áh ¿k¼p ¿v ¾mŸ¾l¢Ál ¿x£Ân ¾b ¿o¢Áj Ál¤Ãj£Ãj¡Ão£Âl¢Át£Ãm¡¾gœ½z£Áo¡Àm¢ÁiŸÀr¤Âv¡¿u£Àu¢¾pŸ½x£Âk¡Àm¡Áy¥Äo£Àv¤Âx¤Ã€¤Á‘®Æ›±É¤¸ÍŸ¶Ëš²Êš±ÉŸ¶É®¿Í³ÅÒ¹ÇÓ½ÉÖ¿ÊÖÀÊØÃÌØÃË×ÃÌÔÂÎÖÂÌÓÃËÖ¿ÊÖ¾ÈÖ¼ÆÓ¾ÇÓ½ÇÒ¾ÈÓ½ÇÒºÆÒºÆÓ»ÇÖ½ÈÕ½ÉÕ¾ÉÓ¾ËÕÀÉ×ÃËÖÃÌÙÄÏÚÇÏÛÈÑÜÊÑÛÊÑØÈÑÚÈÑÙÈÑÛËÑÜÊÒÜÌÓÝËÓÛËÓÛÉÓÛÊÓÛÊÓÜËÓÜÌÓÝÉÒÜÉÒÛÉÑÛËÑÜÉÔÛËÓÛÌÓÛÌÓÜÌÓÛËÔÜÌÒÝÌÓÜÌÒÛËÓÛËÒÛËÓÛËÓÜÊÒÜÉÑÜÊÑÛÉÑÚÉÒÚÈÏÙÄÍØÃÎØÄÍØÂËÖÂÍØÃËØÂËØÁËÖÃËØÃÌÖÇÏÛÇÐØÉÐÛÌÒÝÌÕÞÎÖÝÎÖÝÎÖÜÏØÜÏØÞÍ×ÝÌ×ÞÌÕÞÍÔÞÈÐÚÊÓÛÈÓÙÃÎÙ¼ÊÕ»ÉÖºÇÖ®ÁÓ§½Ñª¾Í°¾Ð¶ÃÑ¿ÈÔÄÌÖÂËØÂÍÛÄÍØÅÍ×ÇÐÙÊÑÙÂÇÄÎÚÛÓßáÖáäØâäØá䎧¾…¤¼} ºzž·w–¶f“³l’´i’³e±_±f’²f•°i”µy™·u™·t º|Ÿ¹vœ¸m˜³p›»j‘³l™¶k‘¶n’¸e‘µY‹³\µZ‹´[²V‹´TгTвTˆ³M‰®SвT‡³Y‰®W‰²UвTˆ°S‡°R‡°Q†²Z‹´YµP‹µS‰³[ŒµSŒ±R‰´S†´T‹³QбS‰±P‡³P†²G„®N…°O‡¯P‰±H…¯M„±Q‡¯M„®L„®B‚®J„¯Q‰µL†±YŒ´Q‡±M†²W…°R…°J…±K‰¶L‰¶M„±Mˆ±Oˆ°Mˆ±L†°N…±P…±H„±I‡±L…²E°B°M…°O†±Qˆ´L‡±L„±L„³K„±I†°UгO‹´F†±L‚±H‡´H…´K‡±N‰±N‡±C‚°G‰°J„°K‡±K†²Q‰µW‰³K…±P‰²R‹´YŒ´TŒµ[¸b•º]“¹b–º_”º`•º`“µ]¸Y޵T‹¶Q»OŒ¸OŠ´Y‹µU޵X¶SŽ·]¸d޹W¸RŽ·e–»XŒ´d’¶\‘´`’¸\‘¸_“»\º]¸W’·[–¹d”¹c’ºT’»_’»V‹·Zޏb–ºc•º^”¹`“º\•¶^–¹T‘¹\•¼\•»a”º_”¸^”·f—¸d›¼dš¾^•¼_–»`“½e™»Y“¶k˜»e–»e˜»Y•»g–»f—¾_“»`’¹jš¼oŸ¾€¤Áy¤¿z¢Á¤Ä}¥Ä…§Ã‡¥Á‹ªÅ‹ªÆƒ§Á„¦Â€¤ÁožÁ~£ÁvŸ¾tŸ¿y¡¿tž½{¡¿tœ¼k™½g—½b•º^”º\“¹[’¹a–»f˜»c—¼X“¼g™¾j™½jš½tž¾i›½pž½o¼pž¿kœ¾kž¾n ¿vŸ¾pœ½y¢Àx¢Á}£Ày¤Âƒ¦Åƒ¨ÇˆªÇ‡¨Ã©Ä©Å¬Ç•¯ÈŽ­ÉŽ¬Èˆ©Æ„¦Ä‹ªÆˆ«Æ’°Æ”¬Æ‘¬Å•­ÈŒªÆˆ§Ä‡¨Â„¨Ãˆ¨Â‰«Æ‘­Ç‘«Ä‘«Ç‘«È‰«ÇªÆ“®ÇŠ­È—±É™®È”¯È±½Ñ¢¸Ç¶É•±Ç’®ÈŒ¬Å‹ªÆªÃ¨Å„¦Ãw¤Áw¤Áv¤Ãy¢Áx¢Âz¤Á|£Át Ày£Ãu£Âq¡Àm ¿n ¿q Àr¢Àu ÀtžÁj ¾eŸ¿q ÁrŸÀk ¿hÀr Áj ÀjžÁg™¿i›¾d˜½jš½hŸÀgš¼f›½k½b—½i›Ài›¼b˜»]—»^•»g¿eš¼jš»i™½f˜»g˜»^—¼f›»a˜¼fš½\—¼e˜¼mš¼c˜¼g›½kœ½h›»b—½`˜½b›¾bœ»gž¾lŸÁnŸÀiÀl›¾kžÀd›½c—½d›Àh¡ÁmœÁn¡¿iŸ½ižÁl Ãk¡Áo ¿jž¿pŸÃmž¿gž¾mŸÃpŸÁlŸ¿t¢Ás¡Áh ÂkœÃfŸ½gÁfœÁeš½lžÀiš½bš¼hžÁiÂlŸÂjÁeš½e›¾gš¾q¡ÃižÂež¿dœÁgÀjÀiœ½pŸÁi¾ož¾g›½`™½b›½_™½f›½nŸÀc˜½k¡Áiš½iÀa˜½fž¾_™½m¾eš½m ¾l¿mž¿dš½c›½h›Àjœ½d™½j¿s ½mž¾rž¾hžÀk Áh›ÀeÁl¢ÁkŸÁhžÁr Àv¢ÃkžÂg Áw£Ãy¥Ãr¤Áj¡Ás¤Ãw¤Ãp¢Ãr¡ÃjŸÄk£Âiž¿l¢Ãm¡Ày¢Ár¡Ãt£Ån¢Ãl¢Äo¢ÂoŸÄr¢Áo¡Ât¢Áu Áp¤Âw¢Äq¤Än¡Âf¿w£Ãw£Ãl¤Ãt¦ÃlžÃx£ÅiÄp¡Ás Ào¡Ãx¡À~¥Ä€©Çy¤Åƒ©Ç€¨Æœ´Ì˜³ÉŠªÅ…©Å—°È¬»Î´Á϶ÆÓ»ÇÓ½ÇÓ¿Ê×ÃËØÅÎØÅÎØÂËÖÂÌÚÁÌØÁÉÖÁÈÖ¼ÇÓ¿ÇÓ½ÈÕ¾ÇÖ¼ÆÖ»ÅÕ»ÆÖ»ÇÓºÅÓ¾ÉÕÁË×ÁÌØÂÌ×ÃËÛÆËÛÆÎÜÇÑØÊÑÙÊÒÝËÒÝÌÓÜÉÒÝËÒÝÌÓÝÌÔÝËÓÜÍÒÝÌÔÝÎÔÜÍÓÝÎÕÝÌÓßËÓßÉÓÞÊÓÛËÓÝÌÓÝÌÓÞÌÔÛËÑÛÉÓÝËÒÜÌÕÝËÓÝÌÔÝÌÖÝÌÕÝÍÔÝÍÓÞÌÕàÎÔßÌÔÝÌÔÝÍÕÝÌÔÝÊÓÝÈÒÜÈÏÝÈÎÞÈÎÜÇÎÚÅÌÚÃÌÚÃÎÙÄÎÚÄÌÚÃÎÝÉÒÛÌÑÝÌÔÞÐ×ßÐØÞÑÚáÑØâÎÖáÏ×âÏØâÎ×ßÎÖÞÏÔÝÊÕÝËÕÞÈÑܽÉÚ³ÄÔ«¾Ñ±ÂÒªÀÑ¡¸Î«¿Ð²ÁѽÇÖ½ÈØ¿ÈÖÁÊ×ÃÌÚÄÍÚÅÏÜÉÒÛÌÓÛÄÈÄÑÙÜØÝã×âæÛãæÚã劤¾„¤¿| ¼w›»t™¶p•±g°XŒ®\¯d‘µ\³`‘³\µj°l’³sœ¶m–µl“´f—¶g–¶l—·s™³l”¶e’µSˆ°TНP‰°MбOˆ²Wˆ²W‰³P‚°N‰¯Q‰¯Oˆ¯J†¯RбZŒ³S‰±W‡±[вP…²R†³P‰³OгPŠ´SŒ±O‡²S‰´X´Qˆ¯M…±S‡²Z´Y¶W޳M…±L‡±L†±N‰²Q†°H„¯L†±K‰²I‚±Fƒ°Lƒ²M„³M…²O†±H°O‰³L‰²H‡³E‚±Q‡³Mˆ±K„¯L‡°LгLˆ³J…±A‚²G‚±Lƒ±M†°N‡±K‡²L‡´L‰µC…±F„±J†²H„²G±K†±N‰²L‰´G†²N‡²I‚¯K„±RŠ´I†³P‰²SеO¶H…³UгGƒ±H…²N‡±V޵Q‰³NеO·PŽ·UºV‘¹b—»f–ºn™¼h•¼[·R¶Q¶Q´Q·M¶Y‘¹U¸M¶RжNµX”¹MŒ¶WޏV޶Y»TŒ·Y޶d—»_’¸V‘·[‘¹T·a”º`•»d”¹c“»`”»S“·_’»P¹Y’ºZ‘¹\‘¹\–¹[’¸U¹[•¼WºW‘»V’¹[–ºZ–¹^”»^—¼\”º^—¼h˜½d™½f—½]’»a˜ºc–¹]•»b—¼b™¿^–½_–½`•»_•»e–¹nš¾pŸ½tŸ¾y¡Äz ¾wž½€¥Á¤Á„£Á‡¥Á¤Ã…¨Æ€¦Â}£Ày£¿~£Àv½nš¿o¾n¡Áh¡¿j¾j—½b—¼^–º\“»e˜»]•¼\—¼\—½]–¼^—½a—¼o—½d–»vžÁoÀqžÂqŸÀmžÃl Át¢Ât£Áv¡¼tžÀs¢Âp¢Àp£Á‚¦ÆŠªÅ‰©ÅªÇ¬Æ”®É‹¬Ç’¬É’­É‹ªÇŠªÇ‚©Å†ªÆŽ«Æ­È’®É‘¯É¬ÈŽ¬Æ‹ªÄªÇ‹«ÆŠ­È‰«Ç†ªÈŠ«ÈŒªÈ®È•±Ê“®É—°È•¯È˜±É–±Ë–°Ë—±Éœ±Ê¤ºÌµÉ”¯Ç—­Ç‘¬È‹«É‰ªÇ‚§Ã„§Äƒ©Æx¤Ä~¥Æv£Ãv¢Â}¤Å|¤Ãv¢Âs£Â{¤Âs¢Âr¢ÂhŸÁmŸÃl¢ÄižÀq¡Ál Àr¡ÂlŸÁqÀp ÂhÁe Ân¡ÂqžÁ_™½fš½hÀhœ½h›¿`›¿b›¾dœ¿d›½dš¾`˜»[™»d˜½eœ¾bš½e›½_—¼b—¼\–ºhœ¼g˜¼_–½b—½a™½]š¿]˜¼d›½f˜½dš¼iœ¾b™½`™º_š½c›¿d›¾eœ¿bœÀ`š¾a›¿ižÂc›ÁlÃcœÁfœÁc™½j¢ÁkŸÀh›¾f™ÀmÁe›ÁiÀeœ¾jŸÁmŸÀlÁjŸÄešÁbžÃe›¾j¡¿v¢Äo¡ÃbšÂcœÃmŸÄfœÀhœÀiŸÀl£ÂdœÀgœÂk›ÃhŸÃežÂdžÁbœÁk¡ÃgœÃfœÁcšÂeœÄc›Àgš¿aš½`š½`š¿d›Âf™ÂnŸÁjÁ_—½iœ¾eœ¾gŸÀp¡ÃkœÀeš¾qŸÁdšÁi›ÂeœÁe¡Ácž¾hžÁlšÁgšÁiŸÁlŸÁfžÁeœÁn¡Ák£ÁiÀmŸÂjÂp Ãn¡Äl Ãm Âf¡Ár£ÄpŸÃl›ÃhŸÂm¢Åm¡Æl Ãn£Æj£Äk¤ÆhžÆk¢Äu£Æk£Ãn£Äi Ão¢Äk¤Äx¥Æn¢Äj¡Ãh£ÅdŸÃu¤Æv¤Æm¢Ät¥Åu¤Ås¤Æl¡Ãp ÄfÁjÄw£Ãh¡Åo¡Ãm£Åk¢Ãp¥Æl¤Åx¤Ãy£Ãn Áo¤Ät§Ær¤ÆqžÃv¢Äv¤Ã‹®Êš³Ë—³Ë‚¥Ç…¨Çž¶Î¢ºÐ°ÃÓ¼ÆÖ¹ÆÓ»ÇÖ½ËÖÁÎÙÂÎÙÆÍÙÃÌØÆÎØÆÎØÃÉØ½ÉغÈ׼ɨ¼ÈÖ¼ÇÕ»ÆÖºÅÔ»ÅÓ»ÇÔ¼Çֽɨ¿ÌÛÃËÚÄÌÚÅÍÚÆÐÜÉÑÝÊÑÝÊÒàÊÓáÊÕßËÒßÊÓßÍÔÞÌÔÞÌÔáÍÓßÍÔàÎÖàÎÕáÌÖàÍÖàÍÖÞËÕÞÍÔÞËÔÞÌÔßËÕßËÔÞËÒÝÊÓÞÌÓßÌÔßÎÕÞÍÓàÌÕáËÖáÌÖâÍÔàÌÕßÎÕßÎÕàÎÖßÍÖáÌÖàËÕßÊÔßÊÔßÊÓÞÉÒÝÉÒÝÉÎÝÄÌÝÀÌÜÃÌÜÁÌÝÄÎÝÈÐÞÍÔßÏ×àÏÖßÐØàÏÙáÏÙäÏØâÑÙâÐÙâÒÚáÐØáÍÖßÈÒÞÆÏÝÃÎݾÌÛ®ÅÕ¬ÀÒ©¾ÑªÁѤ¹Ñª¾Ó²Â×¼ÉÙ¿ÊØÀËÙÁËÙÃÍÛÃÎÛÇÑÞÉÓÝËÓÝÂÈÈÐÜÞØâãÙäçÜäçÛäç‹¥¾€¤½ožºr›»x»p–·l’³_ޱ`Œ¯]³m’¶f’¸b޶i‹³h”¶Z“¶d“³h‘µf”¶j”·l’¶g¶\Œ³^´UŒ²VŒ³O‰²U‹±Oƒ¯W‰³R‰±W‹³VвW‰±V³WбP†±V‹µUŠ´U‹¶V‹³ZŠ´W‹³XŒ²[´_в_¶Y‹¶T·_‹´P†°cŽ´_’¶\‹±c·W‡´S‡µTˆ±P‰³J…±Jƒ¯Rˆ±O„²I…±J…´Q†´Lƒ±K…°U‰±U‰±PгQ…±VжQ†³T‰´Q…±K„°S‡±M…±N‰³H„³K…µK†´N†±]µS‹²NвI‰´L‰¶O…´K„´S†¶O…³Q‹³R‡³R‹±X‹µP†µT†³P„µP…²H…µK‡¶Rˆ±T‹µMŠ·J„±P‰µM†´N…´G…³L‹¶VŒ´Pˆ±TŠ´`¶^‘¹c”½fšÀf•¼`”·jš½k›¼]•»Tж[º^‘¹RЏV‘º^“»Z‘·[¸`ºR¹S»WºY¹_’¹_”º_’µ]“»a’¼c“»V’ºW‘»_•¼e“¼f•»a—¼`š½j—¼\•½^‘»\‘¼\’º_•»b˜¼b—¼e˜½a•»]“½Z¼X’¼[’º^”»a–º[•»\’»c—½\–½f˜½f—¾d˜Àd—»b˜»`˜»g–»h–½g–¿e”½f•»e“»m˜¼l›¾mœ½kœ¾tžÂ{¡Áƒ¤Ã€¦Ã}¤Á…§Å†¤Á†¤À„¦Ä€¦Ã‚¦Åy£Ã€£Á€¤Âq¢ÀsŸ½iš¼u ¿ržÁnœ¾d™Áf˜½j™½d™½d™½f˜½d™½f–¼a–¾b“Àf˜½j›¾p¡Àx£Ãq¡ÀpŸÁqžÁož¾nÀv¢Á€¤Ä¥Åy¤Ä|¥Å~¥Å„¨Æ‡¨ÇŒ«É­É•±É–°È’¯É•­Ç“®È”¬ÊªÆ©È‡¥Å„¨Å¬Æ”¯É˜®É’¬È’®É‘¬Ç’¬ÇŒ«ÈŒ«ÈŠ­Ê‹­ÈŒ¬È¬É•®Ê˜°É™°Ê–±É›¶Ìš´ËžµËš±Ì›²ÊŸ³É¢³Ì¢µËž²Ëž³Ì˜°Ë”¯É‘¬ÈŒªÇŒ¬É…¨Æ„¨Æ‚§Ç}¤Á…¤Á€¤Ã}¦Æƒ©Ç‚¤Æ|¤Å~¤Ã¤Äy¡Ãw£Åx£Å~¨Æs£Çx£Åu¢Ãw£Äy¤Åt£År£Äi ÃoÃn ÃgžÁlžÂf›¿ižÀv Ái›¾jžÀl›¾pœ¾l™ÁgšÀl›¿iš¾fœ¾h™½fÁj›¿j›Áq›¿f—¾j™»e›¼b›½h™½b™¼lœÀj™¿e˜¿g™À`˜»gž½f›¿fÀiš¿e˜½ožÀlœÂdžÁn£Ãk¡Ãk Ál¡ÃjŸÂsžÁj¡Äs Æo£ÃtÃiœÂjŸÁr¡Ãh¾q¡Ãi¡ÃdšÃqŸÃo¡Är£ÂpŸÁlžÃiÃqŸÆqŸÆl¡ÃrŸÄqžÃižÁnŸÃqŸÃk›Äp Æu Ær¡ÃkŸÄr£Ãq£ÅjŸÂj™ÁfžÃe›ÃnžÄgžÂl ÂdÁežÃhš¿iœÁj Ãh—ÃpŸÃjžÃ}¥ÇkŸÁj Áeš¾d™¿kšÃqœÃl›Áe›Áh›¿d™ÁrÂešÁl Âg™ÁrœÂeš½qžÁlŸÂeœÁd›¿p Ãd›ÂnÂmÂn¢Âf ÁpŸÁt¡ÃgžÃn¢Ãl¡Ål Ås¤Æy¤Åw¤Äq¡Åq¢Áu¤Ær£Çy¦Él¢Æv£Æt¢Æm¢Åw¦Çx¦Æl¡Åj¡Æn£Æl¡Æu¤Æw¤Æu¡Åy¦Çr£Æo Äv¤Çl¡Æz£Æo¡Åu¢Åw£Åv¤Ås¤Æp£Ær£Çs£Æp¢Æt£Ær£Ät£Ãw¦Æv£Å}¢Æq£Æu¤Ær¢Âx Âu¢Â©Æ©Æˆ«È…¨Ç€¥Æ“°Ëœ²Ëª»Ñ»ÇÖ¼ÉÖ½ÊØ¼É×ÁËÛÃÎÛÆÎÛÇÎÛÇÎÛÆÍÚÀËØ¾Ë×»ÆÖ½ÆÖ¿ÆØ»ÇؼÇ×»ÆÕ¼ÆÖ¾ÆÕ¼ÇؽÈ×ÂËÙÆÍÚÇÍÛÈÐÝÉÒÞËÒÝÊÓÞËÔáÍÓàÏÔâÎÕâÎÖàÏÕâÎÖßÏÖàÑÖàÒÖâÎÖßÑÖáÓØãÑÖâÑ×ãÑØàÑØßÐÖáÎÕâÐÖàÏÕàÎÖàÏÖâÐÕãÓÙãÑ×âÏ×áÎÕâÐØâÏ×ãÑÖãÑÔâÑÕàÑÖáÑØâÑØâÑØâÑ×äÐÖáÏÖáÍÖáÍÓßÊÓáÈÒÞÄÍÝÁÌÝÂËÝÄÌÝÅÎÝÎÓßÎÕàÑØâÐ×åÑØãÓÚâÓÚãÓÛäÓÜåÒÛãÑÛâÏØâÌØáÈÓßÂÎÝÂÌÚÄÎÛ³ÇÙ±ÃÖª½Ó¤»Ò«¼Õ¶ÃÖ»Ç×ÁÊÚÅÌÛÇÍÝÇÎÜÆÏÞÈÏÝÇÒÝÉÒÝÌÒÝÇÎÐÒÞàÙãçÛåçÝåéÝå鉢À„ Áy¢½x¢¿e™·r¸e”¶]‘¶]·b‘´f’¶a—¶`•¶`˜¶e—´_’³X‹³c¶l˜»j·k•·V¶U޳S‡²P‰²[Ž´WгUŽ´RµV‘´\²T‹²\²X‰³Z´\޵\µ_‘µXµi”¹j—ºg‘¹[¶]޶g•º[‘·_µd‘¶i‘¶p•¶j–¸i•·f•¸j‘µ`•¶Xµ]¶`µU‹³V³TŒµNˆ²L†¶OжUеXŒ¶L†²P‡´XŒ¶R‹³SŽ·Q·S´TŒ¶T‰´\’¶R‹²S‹³X·O‹¶S‹¶O‰´MжO‹µS‹µ[Œ¶WŒ·NŒ¸LŒ¹K‹µRŒ¶P‰µW‘¶O‹´T·S‰¶V‹·K‡µW‘¸L‡´WŒ¶NеX·\‘»^‘»S‹¶Q·O¹PŒ´P¶S‘ºZ·Y’»X¶Z’¸c•¼W”»^—¼c˜¼`—ºlœ¼d•ºd–»[–¼eš¾b–½X’¼\“»V“»b–½f•¼i–¾a—¾iš½b•¾X“¶d–ºd—½f™¼e˜»kœ½g™¾i™½m—½iš½m›½n›»mšÀmœÁY–½`™¿_—½h˜¼a•¼dš¾f›½cš½`˜¼o™¿g˜Àc—¼fš¼^˜»aš¼^˜¼b—¼hšÁ`—¾c—¾f™¿k›¿iž¿fÀn Ãlž¿f™½k™ÀuŸ¿p¡Án¿mœ¾lœÁp¿p¡Ál Áu£Át¡ÄnŸÁm¾yŸ¿z¢Á‚¤Å€¤Ç|¥Ç~¦Æ†ªÇƒ©Å€¨Ã|¦Á§Ä€¥Áu Áp¢Âp Àp Âm¿d›½j¾mž¾l¿c™¿g™Àa˜¿gœÂh™¾cœÀm£Ãz¤Á~¤Ãz¦Ç|¤Çy¤Æy¥Æ€¤Á€¦Âƒ¨Ã¦Ã€§Å‡©È‰ªÊ®ËŠ®ÇŽ­É±Ê®ÉŽ±Ê–²Ìš±Ì™³Ê˜³Í•²ÊŒ±ÉŽ¯ÉŠ¬ÇŒ¬É”°Ë–±Ê•±Ë•°Ë–°É‘°È­ÇŽ¬ÇŠ«É•«É“°Ì®Ë’²Ë–³È–´Ê›¶Ë·Î ¶ÌŸ¶Ë¢»Ñ¤¶Ì¥·Ì¦ºÌ¥»Í¦»Î¤»Í¥¶Í ¶Ì›²Ë–±Ë“®È—¯È‰«ÆŠ®É‰¬Ç€¦Æ…§Çƒ¨Ç‡«É†®È‡ªÆ€©Ç|¨Æ~§Æ€¦Æx¤Äz§Çw§Ç¨Ç~¦Æ}§Æ„©Ç}¨Ç€ªÉz¦È¨Ès¥Ç}¤Ær¡Ál£Ák£Àl¡ÁlžÁbœÃdœÁrŸÁ~¤År¡Áj¡Âp¢ÃlœÀj›Áh™ÀmŸÄt¢ÂjœÁjœ½f¾fÀqŸÂkŸÂhœÁe™Àk¿l ÀcŸ¾o Áq¢Ãq£Ãv Ãs Âs Ân Ãw¤Än¡Ã|¦Ç{£Æ{¥Èv§Èr¤Çw¥Æu¤Åq¤Ån¤Æx¦Åy¥Çu¦Æx¤Æs¤Çk£Åt¥Äq¦Æs¤Çv¤Äu¢Å|¤Æx¥Çs¤Èp¤Æw¥Çr¤Æ|¤Åv¤Åt¥Çq¤Æu¤Çr¤Èp¤Ål¢Äu¤Æt¢Åo¢Äy¥Åq¤Æn¤Æs¢Æn£Çh Åp£Åk¢Åu¢Ær£Ån¡Æf¢Äo¢Åj¤Ål£ÂdžÃs£Ãw¤Ãz£Ãm£Æq£Ãk¢Âq¢ÃlŸÁlœÃp¡ÄlŸÃs¤Äp Ás¢Ãt£ÅkŸÂy¤Ãr¤Âp£Ãr£Ãq¢Ål Âp£Ãn¡Ãl¡Ây¤Äs¢ÅkŸÄt£Æt£År¥Èu¦Ès¥Çy¤Æv¦Èv§Ç€©Èv¥És¤Çv¨Ès§É}§Èy©Ér¤Æ{¥Èy¨È©Év¤Æy¨Çn¥È~¦È|©Éz¨Éx§Çz¨É{¤Æz¦É~§Èƒ«É~ªÊx¨Èu¥È~ªÈv§È|¨Çy§Éu¦Ç~¦Èu¦Ç~©Éw©Éz©É€ªÊ}¨Ét¦É~§È}©Èz©Èw¥Æ}¦Æ{©Æ~¥Æ}¥Ç¨Éy¤Çu¥Ç†©Æ¬È ¶ÌºÉØ¿ÉÙ¸ÈØ½ÉÚÁÎÚÇÏÝÇÑÞÇÐÜÅÏÝÂÍÙÁÌݽÈ×»ÈÛ½ÉÙ¿ÊØ¼ÊØ¾ÉØ¼ÇÖ¾É×½Ç×ÁÊØÃËÜÆÍÜÄÏÞÈÑÝÊÓàÉÕàÌÓâÎÕâÏÖäÑ×äÐØæÔÙãÒÝãÓÛãÑÚâÓÜäÔÙåÒÝæÔÛåÓÝæÔÛæÖÛåÕÝçÔÝäÓÙäÓÚãÒÙåÓØåÓÚæÑÙâÑÙãÒÛåÓÚåÒÙãÒØåÓÛæÕÜçÖÝæÕÛæÔÛãÓÛåÓÛæÔÚåÕÛåÖÛåÕÛåÓÚåÒØåÑÙãÎ×àÍÔàÊÒáÉÑáÄÏáÆÒâÉÑßËÓÞÎÙâÑÛãÑÛæÓÛåÓÛæÖÝåÖÞæØßå×ßæÖàæÔÝåÑÙåÏÖäÊÓáÂÍÞÅÑÞÈÔß½ÌݱÆÙ¦½Óª»Ó¶ÁؾÊÝÂÍÞÆÓÞËÓÝÌÕßËÖàÈÒßÉÒßÎÕáÌÖâÏÖáÊÎÎÖßáÛåèßçêàèêÞç댣¾zœºwœ¸p•´i‘³n´f±\Œ®\‹®bŒ®WЬ\‡®hбb‹®RªX‡ªU†«P‰«T‡«[…ªVªY…±V¬M¬Q€ªU…«R‡¬R„ªQ€¬[…±^ˆ®Z‡¯[‹°_‹±c±[‡¯f‰±eŒ²^‹²kŒ¶dŒµe¸h¶h”¶g޶dеg³l޶u—»p—¸k•·c‘µp“¶gŠ´l¶gŒµa‹¶_‹´bŽ·R‹¶P‰´T‡³QжRЏR‰¶S†´L†µM‰·YŒ·Z’¹WŒ·]ޏWˆ·V†³[жV‰¶U‰¶K…²UŠ·Rˆ¶O‡·TŒ¸OеW‹¹VŽ·VжX‘¼S¹VŠ·M‰·Z»\ˆºQˆ¶W¹R»LŒ¶N†¶T‹·ZŽ»[Š·WŽ»S»Q‘¼S‘»S޶PˆºQ»W‘»V‹·P‹ºUŒºX“¼_–¼R’»Z»^”»a”¾n˜Âj—Àc—¿d–¾^˜¾_œÁqœÃnšÀošÁiš¿l˜Àe—ÀešÁe—¿o›¾k˜¾j™Âm›Ãb—ÀdšÀt¡ÂlÂmŸÂjšÁ|žÃt›ÁqŸÃi›Ák›ÁoÂožÃlÁk˜½^”½g—Àf™¿mšÁc›ÂhœÂešÄh›ÁlÂi›Ág™Ád˜¾\•¿b•¾bšÁfÄiœÁ`–¿i™Àj›¿g™ÀkšÁoÄoÃmÃv ÅgœÁm ÁgžÁlšÁp Åh›ÂlšÄlÄm Â}¤Æv¢Ân¡Åv£Æw¢Æ~¤Èx¤Æp¢Ä¤Å}¤Æ~¤Æ„¦È~¥Æ|¤Çw¤Åt¢Ãs£Äs¢Äu¡Âu¢ÆoœÄlÅhœÄi›ÄjÄeÃj›Âe™¾mœÀfšÁjœÂ~¤Æx¢Çu£Çz¥Ç§Ë~¦Æ†©ÇƒªÉˆ«Ë‚©Ê‹ªÍ‰ªË†ªÉŽ®Í‰®Ì®Ë“²Î™¶Ñ™µÓ˜³Ò£ºÒ¤¹ÓœºÕ¹ÓŸ·Ò—±Ì’­Ì‹¬Í³Ò”±Ï–°Ë‘±Í“°Ì®Ë—±ÍŽ¬ÊŠ­ÌŒ¯Í™¶Ñ¶Ï¶Ð—³Íš¶Ñ¡¶Ò¥¸ÓºÕ§»Ó£¼Ó¥ºÕ¥¾Ôª½Ó¨»Õ«¾Ö¬Àר¿Ö©½Ô¤¹Ôœ¶Îž·Î¡¹Ñš¶Ñ›²Ñ”³Ð—´Ð±ÌŽ°ÏŽ®ÌŽ¯ÎŽ¯ÎŽ°Ï‘°Ð„«Ï‹°Ïƒ«Êƒ­Ë…¬Ì†­Í‰ªÍŒ«ËŽ¯Ï‡«Ë…¦Â‡­ÌŠ­Ë…ªËªÊ~¥Çy¦É|¤ÉzªÊv¥Éz©Èw§Ëw£Ç}¦É}¦Ép¤Çu¥Êt¤Çt¥Èt£Æt¢Æn Æw¤Çr£Çv¢Æo¡Æu¤Çy¤Æq£Ån¤Çu¢Ç{¥È§É|§Èx¥Ê~ªÎz§Ê{§Ê{¦É‚¨Ê§Ë…ªË~©Í©Ì}ªÌ­Ï|¬Ì‰«Íx§É…«ËªÎ‚«ÎzªÌtªË|ªÍ€¬Î€©Íy©Ìƒ©Î~¬Î~¬Ï­Îu¦É~«Îz¬ÏªÎƒ¬Ð‡©ÎªÎªÎ}ªÎ|©Í|©Í©ÌƒªÏ~©Î«Î}ªÎ¬Í~¬Î}ªÎƒ­Ð¬ÑªÏ¨Ë‚«Í{¨Ìy¬Î~«Ï|ªÎ}ªÌªÎ€«Îy§Ê€¨Êx§Ë€ªÌ~«Ìw¦Ë}§É§Ê{§Êy§É¦Éx§É~©Ë~ªÊ}©Ìu§Ê}§Ëz¨Ë€¦É€§É‚ªÌ}«Ëx©Ë«Ë|¦É~©Ë|§Ê|¦Ëz¥É}¦Ê{¨Êw©Ëz«Ï€¬Î‚ªÏ…¬Ð†®Ñ„¬Ñ~­Ñ„¯Ñƒ®Î†®Ð‰°Ñ‡¯Ó‡°Ñ…®Ð„ªÑˆ±Ñ~­Î|®Î€«Î€¬ÌªÏŠ®Ñ‰¯Ñ‚°ÓŠ±Ó®Ò„±Ò¬Î‚¬Ï‹±Ò²Ñ†°Ð„®Ï­Ñ¯Ð±Ð‹¬Ñ†®Ò‚®Ð¬Ðƒ­Î‰°Ñ¬Îƒ¯Ñˆ­Ð‡¬ÐŠ°Òƒ¬Ð‚­Î„®Í‡®Ï…¬Î¬Î‡¯Ì†«ËªËˆ«Ì‚§È‘±Ï¶Ó®ÅÛ·ËÝ»ËÞ¿ÍÞÆÐàÉÑÝÇÑáÇÑâÆÑãÆÎâÁÌßÁÌÞÄÎÞÅÏàÆÎâÄÎàÀÉÞÃÐÞÄÏáÄÏàÈÑáÉÓáÊÕåÌÕåÍÕæÏ×çÒÜêÒÝèÕÞè×ßêØàêÛàíÚáëÛàìÜáîÙáëÜãìÝâêÜâìÝâêÞãìØÙæØÞèÞãíÚâíÛáíÙáìÛáêÛãîÚßëÛáêÜàëÙàêÚàëÙàéÜâëÛâìÜãíÝâíÛáìÜâìÝãðÜäïÛâëßâîÞãìÞäíÛâëÜâëÛâí×àì×ÞêÖÝêÖÜèÑÛèÑÛèÔÝèÖÞéØâìÚâîØãîÚâîÞåïÞåëÞæîâæñàæðàçñÝæðÛãîÖÞéÍØæÌØçÐØçÏØçÉÔäÁÎâ¶Êâ¸ÉÝÃÎàËØåÏÙçÒÛçÖÝéÓÖâØÝéÔÜéÔÜçÐÛçÓÞèÖÜçÍÔÔÙàäßåéßæíÞçìàèìGLUT-2.4.0.0/examples/OrangeBook/0000755000000000000000000000000012121453247014461 5ustar0000000000000000GLUT-2.4.0.0/examples/OrangeBook/3Dlabs-License.txt0000644000000000000000000000275612121453247017724 0ustar0000000000000000Copyright (C) 2002-2005 3Dlabs Inc. Ltd. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of 3Dlabs Inc. Ltd. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. GLUT-2.4.0.0/examples/OrangeBook/ogl2brick/0000755000000000000000000000000012121453247016337 5ustar0000000000000000GLUT-2.4.0.0/examples/OrangeBook/ogl2brick/Brick.vert0000644000000000000000000000213312121453247020272 0ustar0000000000000000// // Vertex shader for procedural bricks // // Authors: Dave Baldwin, Steve Koren, Randi Rost // based on a shader by Darwyn Peachey // // Copyright (c) 2002-2004 3Dlabs Inc. Ltd. // // See 3Dlabs-License.txt for license information // uniform vec3 LightPosition; const float SpecularContribution = 0.3; const float DiffuseContribution = 1.0 - SpecularContribution; varying float LightIntensity; varying vec2 MCposition; void main(void) { vec3 ecPosition = vec3 (gl_ModelViewMatrix * gl_Vertex); vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal); vec3 lightVec = normalize(LightPosition - ecPosition); vec3 reflectVec = reflect(-lightVec, tnorm); vec3 viewVec = normalize(-ecPosition); float diffuse = max(dot(lightVec, tnorm), 0.0); float spec = 0.0; if (diffuse > 0.0) { spec = max(dot(reflectVec, viewVec), 0.0); spec = pow(spec, 16.0); } LightIntensity = DiffuseContribution * diffuse + SpecularContribution * spec; MCposition = gl_Vertex.xy; gl_Position = ftransform(); } GLUT-2.4.0.0/examples/OrangeBook/ogl2brick/Brick.hs0000644000000000000000000002524612121453247017736 0ustar0000000000000000{- Brick.hs (adapted from ogl2brick.c which is (c) 3Dlabs Inc. Ltd.) Copyright (c) Sven Panne 2006 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Prelude hiding ( sum ) import Control.Applicative import Control.Monad import Data.Foldable ( Foldable, sum ) import Data.IORef import System.Exit import Graphics.UI.GLUT infixl 6 $+, $- infixl 7 $* inertiaThreshold, inertiaFactor :: GLfloat inertiaThreshold = 1 inertiaFactor = 0.5 scaleFactor, scaleIncrement :: GLfloat scaleFactor = 0.01 scaleIncrement = 0.5 timerFrequencyMillis :: Timeout timerFrequencyMillis = 20 clearColors :: [Color4 GLclampf] clearColors = [ Color4 0.0 0.0 0.0 1, Color4 0.2 0.2 0.3 1, Color4 0.7 0.7 0.7 1 ] models :: [IO ()] models = [ drawCube, renderObject Solid (Teapot 0.6), renderObject Solid (Sphere' 0.6 64 64), renderObject Solid (Torus 0.2 0.6 64 64) ] initialDiff :: Vector3 GLfloat initialDiff = Vector3 206 16 10 initialInertia :: Vector3 GLfloat initialInertia = Vector3 (-0.5) 0 0 data State = State { diff :: IORef (Vector3 GLfloat), lastIncr :: IORef (Vector3 GLfloat), inertia :: IORef (Vector3 GLfloat), inertiaOld :: IORef (Vector3 GLfloat), theScale :: IORef GLfloat, lastPosition :: IORef Position, shouldRotate :: IORef Bool, colorCycle :: IORef [Color4 GLclampf], modelCycle :: IORef [IO ()], modifiers :: IORef Modifiers } makeState :: IO State makeState = do di <- newIORef initialDiff li <- newIORef (pure 0) ia <- newIORef initialInertia io <- newIORef (pure 0) sc <- newIORef 1 lp <- newIORef (Position (-1) (-1)) sr <- newIORef True cc <- newIORef (cycle clearColors) mc <- newIORef (cycle models) mo <- newIORef (Modifiers Up Up Up) return $ State { diff = di, lastIncr = li, inertia = ia, inertiaOld = io, theScale = sc, lastPosition = lp, shouldRotate = sr, colorCycle = cc, modelCycle = mc, modifiers = mo } -- Our tiny vector math library... ($+), ($-), ($*) :: (Applicative t, Num a) => t a -> t a -> t a ($+) = liftA2 (+) ($-) = liftA2 (-) ($*) = liftA2 (*) step :: (Applicative t, Num a, Ord a) => t a -> t a -> t a step = liftA2 (\e x -> if x < e then 0 else 1) dot :: (Applicative t, Foldable t, Num a) => t a -> t a -> a dot v1 v2 = sum (v1 $* v2) drawFace :: Normal3 GLfloat -> Vertex3 GLfloat -> Vertex3 GLfloat -> Vertex3 GLfloat -> Vertex3 GLfloat -> IO () drawFace p q r s t = do let texCoord2f = texCoord :: TexCoord2 GLfloat -> IO () normal p texCoord2f (TexCoord2 1 1) vertex q texCoord2f (TexCoord2 0 1) vertex r texCoord2f (TexCoord2 0 0) vertex s texCoord2f (TexCoord2 1 0) vertex t drawCube :: IO () drawCube = do let size = 1 sc = 0.2 delta = 0.1 a = Vertex3 size size ( size * sc + delta) b = Vertex3 size size (-size * sc + delta) c = Vertex3 size (-size) (-size * sc) d = Vertex3 size (-size) ( size * sc) e = Vertex3 (-size) size ( size * sc + delta) f = Vertex3 (-size) size (-size * sc + delta) g = Vertex3 (-size) (-size) (-size * sc) h = Vertex3 (-size) (-size) ( size * sc) i = Normal3 1 0 0 k = Normal3 (-1) 0 0 l = Normal3 0 0 (-1) m = Normal3 0 0 1 n = Normal3 0 1 0 o = Normal3 0 (-1) 0 renderPrimitive Quads $ do drawFace i d c b a drawFace k g h e f drawFace l c g f b drawFace m h d a e drawFace n e a b f drawFace o g c d h display :: State -> DisplayCallback display state = do loadIdentity translate (Vector3 0 0 (-5 :: GLfloat)) Vector3 xDiff yDiff zDiff <- get (diff state) rotate yDiff (Vector3 1 0 0) rotate xDiff (Vector3 0 1 0) rotate zDiff (Vector3 0 0 1) sc <- get (theScale state) scale sc sc sc clear [ ColorBuffer, DepthBuffer ] (drawModel:_) <- get (modelCycle state) drawModel flush swapBuffers nextClearColor :: State -> IO () nextClearColor state = do cc <- get (colorCycle state) clearColor $= head cc colorCycle state $~ tail toggleRotation :: State -> IO () toggleRotation state = do rot <- get (shouldRotate state) shouldRotate state $~ not if rot then do ia <- get (inertia state) inertiaOld state $= ia else do io <- get (inertiaOld state) inertia state $= io -- To prevent confusion, force some rotation when (dot io io == 0) $ inertia state $= initialInertia printHelp :: IO () printHelp = mapM_ putStrLn [ "", "Keyboard commands:", "", "b - Toggle among background clear colors", "q, - Quit", "t - Toggle among models to render", "? - Help", " - reset zoom and rotation", " or - stop rotation", "<+>, <-> or - zoom model", " or - rotate model", ""] resetState :: State -> IO () resetState state = do diff state $= initialDiff lastIncr state $= pure 0 inertia state $= initialInertia theScale state $= 1 calcInertia :: State -> IO () calcInertia state = do lastPosition state $= Position (-1) (-1) li <- get (lastIncr state) ia <- get (inertia state) let t = pure inertiaThreshold f = pure inertiaFactor l = (pure 1 $- (step (fmap negate t) li)) $* ((li $+ t) $* f $- ia) r = (step t li) $* ((li $- t) $* f $- ia) inertia state $= l $+ ia $+ r lastIncr state $= pure 0 keyboard :: State -> KeyboardMouseCallback keyboard state key keyState mods _ = do modifiers state $= mods postRedisplay Nothing case (key, keyState) of (Char 'b', Down) -> nextClearColor state (Char 'q', Down) -> exitWith ExitSuccess (Char '\27', Down) -> exitWith ExitSuccess (Char 't', Down) -> modelCycle state $~ tail (Char ' ', Down) -> toggleRotation state (Char '+', Down) -> theScale state $~ (+ scaleIncrement) (Char '-', Down) -> theScale state $~ (+ (- scaleIncrement)) (Char _, Down) -> printHelp (SpecialKey KeyHome, Down) -> resetState state (SpecialKey KeyLeft, Down) -> diff state $~ ($- Vector3 1 0 0) (SpecialKey KeyRight, Down) -> diff state $~ ($+ Vector3 1 0 0) (SpecialKey KeyUp, Down) -> diff state $~ ($- Vector3 0 1 0) (SpecialKey KeyDown, Down) -> diff state $~ ($+ Vector3 0 1 0) (MouseButton LeftButton, Down) -> do inertia state $= pure 0 lastIncr state $= pure 0 (MouseButton LeftButton, Up) -> calcInertia state (_, _) -> return () motion :: State -> MotionCallback motion state pos@(Position x y) = do postRedisplay Nothing Position xt yt <- get (lastPosition state) lastPosition state $= pos when (xt /= -1 || yt /= -1) $ do let li@(Vector3 xl yl _) = Vector3 (fromIntegral (x - xt)) (fromIntegral (y - yt)) 0 lastIncr state $= li when (xt /= -1) $ do mods <- get (modifiers state) if ctrl mods == Down then do diff state $~ ($+ Vector3 0 0 xl) theScale state $~ (+ (yl * scaleFactor)) else diff state $~ ($+ li) timer :: State -> TimerCallback timer state = do rot <- get (shouldRotate state) when rot $ do ia <- get (inertia state) diff state $~ ($+ ia) postRedisplay Nothing addTimerCallback timerFrequencyMillis (timer state) reshape :: ReshapeCallback reshape size@(Size w h) = do let vp = 0.8 aspect = fromIntegral w / fromIntegral h viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity frustum (-vp) vp (-vp / aspect) (vp / aspect) 3 10 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-5 :: GLfloat)) -- Make sure that GLSL is supported by the driver, either directly by the core -- or via an extension. checkGLSLSupport :: IO () checkGLSLSupport = do version <- get (majorMinor glVersion) unless (version >= (2,0)) $ do extensions <- get glExtensions unless ("GL_ARB_shading_language_100" `elem` extensions) $ ioError (userError "No GLSL support found.") readAndCompileShader :: Shader s => FilePath -> IO s readAndCompileShader filePath = do src <- readFile filePath [shader] <- genObjectNames 1 shaderSource shader $= [src] compileShader shader reportErrors ok <- get (compileStatus shader) infoLog <- get (shaderInfoLog shader) mapM_ putStrLn ["Shader info log for '" ++ filePath ++ "':", infoLog, ""] unless ok $ do deleteObjectNames [shader] ioError (userError "shader compilation failed") return shader installBrickShaders :: [VertexShader] -> [FragmentShader] -> IO () installBrickShaders vs fs = do [brickProg] <- genObjectNames 1 attachedShaders brickProg $= (vs, fs) linkProgram brickProg reportErrors ok <- get (linkStatus brickProg) infoLog <- get (programInfoLog brickProg) mapM_ putStrLn ["Program info log:", infoLog, ""] unless ok $ do deleteObjectNames [brickProg] ioError (userError "linking failed") currentProgram $= Just brickProg let setUniform var val = do location <- get (uniformLocation brickProg var) reportErrors uniform location $= val setUniform "BrickColor" (Color3 1.0 0.3 (0.2 :: GLfloat)) setUniform "MortarColor" (Color3 0.85 0.86 (0.84 :: GLfloat)) setUniform "BrickSize" (Vertex2 0.30 (0.15 :: GLfloat)) setUniform "BrickPct" (Vertex2 0.90 (0.85 :: GLfloat)) setUniform "LightPosition" (Vertex3 0 0 (4 :: GLfloat)) main :: IO () main = do getArgsAndInitialize initialDisplayMode $= [ RGBMode, WithDepthBuffer, DoubleBuffered ] initialWindowSize $= Size 500 500 createWindow "3Dlabs Brick Shader" -- Note: We don't use an idle callback, we redisplay more intelligently. state <- makeState displayCallback $= display state keyboardMouseCallback $= Just (keyboard state) reshapeCallback $= Just reshape motionCallback $= Just (motion state) addTimerCallback timerFrequencyMillis (timer state) catch (do checkGLSLSupport vs <- readAndCompileShader "Brick.vert" fs <- readAndCompileShader "Brick.frag" installBrickShaders [vs] [fs]) (\exception -> do print exception putStrLn "Using fixed function pipeline." materialDiffuse Front $= Color4 1 0.3 0.2 1 materialSpecular Front $= Color4 0.3 0.3 0.3 1 materialShininess Front $= 16 position (Light 0) $= Vertex4 0 0 4 0 lighting $= Enabled light (Light 0) $= Enabled) depthFunc $= Just Less nextClearColor state -- display help keyboard state (Char '?') Down (Modifiers Up Up Up) (Position 0 0) mainLoop GLUT-2.4.0.0/examples/OrangeBook/ogl2brick/Brick.frag0000644000000000000000000000141412121453247020232 0ustar0000000000000000// // Fragment shader for procedural bricks // // Authors: Dave Baldwin, Steve Koren, Randi Rost // based on a shader by Darwyn Peachey // // Copyright (c) 2002-2004 3Dlabs Inc. Ltd. // // See 3Dlabs-License.txt for license information // uniform vec3 BrickColor, MortarColor; uniform vec2 BrickSize; uniform vec2 BrickPct; varying vec2 MCposition; varying float LightIntensity; void main(void) { vec3 color; vec2 position, useBrick; position = MCposition / BrickSize; if (fract(position.y * 0.5) > 0.5) position.x += 0.5; position = fract(position); useBrick = step(position, BrickPct); color = mix(MortarColor, BrickColor, useBrick.x * useBrick.y); color *= LightIntensity; gl_FragColor = vec4 (color, 1.0); } GLUT-2.4.0.0/examples/Misc/0000755000000000000000000000000012121453247013326 5ustar0000000000000000GLUT-2.4.0.0/examples/Misc/Triangulate.hs0000644000000000000000000000766612121453247016160 0ustar0000000000000000{- Triangulate.hs (adapted from tess.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates polygon triangulation. Two tesselated objects are drawn. The first is a rectangle with a triangular hole. The second is a smooth shaded, self-intersecting star. Note the exterior rectangle is drawn with its vertices in counter-clockwise order, but its interior clockwise. Note the combineCallback is needed for the self-intersecting star. Also note that removing the TessProperty for the star will make the interior unshaded (TessWindingOdd). -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import System.Random ( randomIO ) import Graphics.UI.GLUT display :: [DisplayList] -> DisplayCallback display displayLists = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 1 1 1) mapM callList displayLists flush -- 'Float' is a dummy, any marshalable type would do type DontCare = Float rectangle :: ComplexContour DontCare rectangle = ComplexContour [ AnnotatedVertex (Vertex3 50 50 0) 0, AnnotatedVertex (Vertex3 200 50 0) 0, AnnotatedVertex (Vertex3 200 200 0) 0, AnnotatedVertex (Vertex3 50 200 0) 0 ] tri :: ComplexContour DontCare tri = ComplexContour [ AnnotatedVertex (Vertex3 75 75 0) 0, AnnotatedVertex (Vertex3 125 175 0) 0, AnnotatedVertex (Vertex3 175 75 0) 0 ] rectAndTri :: ComplexPolygon DontCare rectAndTri = ComplexPolygon [ rectangle, tri ] star :: ComplexPolygon DontCare star = ComplexPolygon [ ComplexContour [ AnnotatedVertex (Vertex3 250 50 0) 0, AnnotatedVertex (Vertex3 325 200 0) 0, AnnotatedVertex (Vertex3 400 50 0) 0, AnnotatedVertex (Vertex3 250 150 0) 0, AnnotatedVertex (Vertex3 400 150 0) 0 ] ] myInit :: IO [DisplayList] myInit = do clearColor $= Color4 0 0 0 0 rectAndTriList <- compileNewList TessWindingOdd rectAndTri starList <- compileNewList TessWindingPositive star return [ rectAndTriList, starList ] compileNewList :: TessWinding -> ComplexPolygon DontCare -> IO DisplayList compileNewList windingRule complexPolygon = defineNewList Compile $ drawTriangulation =<< triangulate windingRule 0 (Normal3 0 0 0) noOpCombiner complexPolygon noOpCombiner :: Combiner DontCare noOpCombiner _newVertex _weightedProperties = 0 drawTriangulation :: Triangulation DontCare -> IO () drawTriangulation (Triangulation triangles) = renderPrimitive Triangles $ flip mapM_ triangles $ \(Triangle tv1 tv2 tv3) -> do randomColor drawTriangleVertex tv1 drawTriangleVertex tv2 drawTriangleVertex tv3 -- CFloat has no Random instance, so we go via Float randomGLfloat :: IO GLfloat randomGLfloat = fmap (realToFrac :: Float -> GLfloat) randomIO randomColor :: IO () randomColor = do r <- randomGLfloat g <- randomGLfloat b <- randomGLfloat color (Color3 r g b) drawTriangleVertex :: TriangleVertex DontCare -> IO () drawTriangleVertex (AnnotatedVertex plainVertex (_, e)) = do edgeFlag $= e vertex plainVertex reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 (fromIntegral w) 0 (fromIntegral h) matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 createWindow progName displayLists <- myInit displayCallback $= display displayLists reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/Misc/SmoothOpenGL3.hs0000644000000000000000000002016112121453247016263 0ustar0000000000000000{- SmoothOpenGL3.hs (adapted from freeglut's smooth_opengl3.c example) Copyright (c) Sven Panne 2009 This file is part of HOpenGL and distributed under a BSD-style license See the file LICENSE -} import Control.Monad import Data.List import Foreign.Marshal.Array import Foreign.Ptr import Foreign.Storable import Graphics.Rendering.OpenGL.Raw.Core31 import Graphics.UI.GLUT import System.Exit import System.IO data State = State { vertexBufferName :: BufferObject, fgProjectionMatrixIndex :: UniformLocation, fgColorIndex :: AttribLocation , fgVertexIndex :: AttribLocation, projectionMatrix :: GLmatrix GLfloat } checkError :: String -> IO () checkError functionName = get errors >>= mapM_ reportError where reportError e = hPutStrLn stderr (showError e ++ " detected in " ++ functionName) showError (Error category message) = "GL error" ++ show category ++ " (" ++ message ++ ")" varray :: [GLfloat] varray = [ 1, 0, 0, -- red 5, 5, -- lower left 0, 1, 0, -- green 25, 5, -- lower right 0, 0, 1, -- blue 5, 25 ] -- upper left numColorComponents :: NumComponents numColorComponents = 3 numVertexComponents :: NumComponents numVertexComponents = 2 sizeOfComponent :: Int sizeOfComponent = sizeOf (head varray) stride :: Stride stride = fromIntegral sizeOfComponent * fromIntegral (numColorComponents + numVertexComponents) sizeOfVarray :: Int sizeOfVarray = length varray * sizeOfComponent numElements :: NumArrayIndices numElements = fromIntegral sizeOfVarray `div` fromIntegral stride initBuffer :: IO BufferObject initBuffer = do [bufferObject] <- genObjectNames 1 bindBuffer ArrayBuffer $= Just bufferObject withArray varray $ \buffer -> bufferData ArrayBuffer $= (fromIntegral sizeOfVarray, buffer, StaticDraw) checkError "initBuffer" return bufferObject vertexShaderSource :: String vertexShaderSource = unlines [ "#version 140", "uniform mat4 fg_ProjectionMatrix;", "in vec4 fg_Color;", "in vec4 fg_Vertex;", "smooth out vec4 fg_SmoothColor;", "void main()", "{", " fg_SmoothColor = fg_Color;", " gl_Position = fg_ProjectionMatrix * fg_Vertex;", "}" ] fragmentShaderSource :: String fragmentShaderSource = unlines [ "#version 140", "smooth in vec4 fg_SmoothColor;", "out vec4 fg_FragColor;", "void main(void)", "{", " fg_FragColor = fg_SmoothColor;", "}" ] checked :: (t -> IO ()) -> (t -> GettableStateVar Bool) -> (t -> GettableStateVar String) -> String -> t -> IO () checked action getStatus getInfoLog message object = do action object status <- get (getStatus object) unless status $ hPutStrLn stderr . ((message ++ " log: ") ++) =<< get (getInfoLog object) compileAndCheck :: Shader s => s -> IO () compileAndCheck = checked compileShader compileStatus shaderInfoLog "compile" compileShaderSource :: Shader s => [String] -> IO s compileShaderSource source = do [shader] <- genObjectNames 1 shaderSource shader $= source compileAndCheck shader return shader linkAndCheck :: Program -> IO () linkAndCheck = checked linkProgram linkStatus programInfoLog "link" createProgram :: [VertexShader] -> [FragmentShader] -> IO Program createProgram vertexShaders fragmentShaders = do [program] <- genObjectNames 1 attachedShaders program $= (vertexShaders, fragmentShaders) linkAndCheck program return program initShader :: IO (UniformLocation, AttribLocation, AttribLocation) initShader = do vertexShader <- compileShaderSource [vertexShaderSource] fragmentShader <- compileShaderSource [fragmentShaderSource] program <- createProgram [vertexShader] [fragmentShader] currentProgram $= Just program projectionMatrixIndex <- get (uniformLocation program "fg_ProjectionMatrix") colorIndex <- get (attribLocation program "fg_Color") vertexAttribArray colorIndex $= Enabled vertexIndex <- get (attribLocation program "fg_Vertex") vertexAttribArray vertexIndex $= Enabled checkError "initShader" return (projectionMatrixIndex, colorIndex, vertexIndex) initRendering :: IO () initRendering = do clearColor $= Color4 0 0 0 0 checkError "initRendering" myInit :: IO State myInit = do bufferObject <- initBuffer (projectionMatrixIndex, colorIndex, vertexIndex) <- initShader initRendering m <- newMatrix ColumnMajor (replicate 16 0) return $ State { vertexBufferName = bufferObject, fgProjectionMatrixIndex = projectionMatrixIndex, fgColorIndex = colorIndex, fgVertexIndex = vertexIndex, projectionMatrix = m } dumpInfo :: IO () dumpInfo = do let dump message var = putStrLn . ((message ++ ": ") ++) =<< get var dump "Vendor" vendor dump "Renderer" renderer dump "Version" glVersion dump "GLSL" shadingLanguageVersion checkError "dumpInfo" bufferObjectPtr :: Integral a => a -> Ptr b bufferObjectPtr = plusPtr (nullPtr :: Ptr GLchar) . fromIntegral vertexArrayDescriptor :: NumComponents -> NumComponents -> VertexArrayDescriptor a vertexArrayDescriptor count offset = VertexArrayDescriptor count Float stride (bufferObjectPtr (fromIntegral sizeOfComponent * offset)) triangle :: State -> IO () triangle state = do withMatrix (projectionMatrix state) $ \order buffer -> uniformMatrix4fv (fgProjectionMatrixIndex state) 1 (order == RowMajor) buffer bindBuffer ArrayBuffer $= Just (vertexBufferName state) vertexAttribPointer (fgColorIndex state) $= (ToFloat, vertexArrayDescriptor numColorComponents 0) vertexAttribPointer (fgVertexIndex state) $= (ToFloat, vertexArrayDescriptor numVertexComponents numColorComponents) drawArrays Triangles 0 numElements checkError "triangle" -- The OpenGL package offers no interface for glUniformMatrix*fv yet uniformMatrix4fv :: UniformLocation -> GLsizei -> Bool -> Ptr GLfloat -> IO () uniformMatrix4fv location count = glUniformMatrix4fv (uniformLocationToGLint location) count . marshalGLboolean where marshalGLboolean x = fromIntegral $ case x of False -> gl_FALSE True -> gl_TRUE -- MEGA HACK because UniformLocation is abstract uniformLocationToGLint = read . head . tail . words . show display :: State -> DisplayCallback display state = do clear [ ColorBuffer ] triangle state flush checkError "display" loadOrtho :: (Matrix m, MatrixComponent a, Fractional a) => m a -> a -> a -> a -> a -> a -> a -> IO () loadOrtho m l r b t n f = fillMatrix m [ [2 / (r - l), 0, 0, 0], [0, 2 / (t - b), 0, 0], [0, 0, -2 / (f - n), 0], [-(r + l) / (r - l), -(t + b) / (t - b), -(f + n) / (f - n), 1 ]] fillMatrix :: (Matrix m, MatrixComponent a) => m a -> [[a]] -> IO () fillMatrix m xs = withMatrix m $ \order buffer -> pokeArray buffer . concat . rearrange order $ xs rearrange :: MatrixOrder -> [[a]] -> [[a]] rearrange ColumnMajor = id rearrange RowMajor = transpose loadOrtho2D :: (Matrix m, MatrixComponent a, Fractional a) => m a -> a -> a -> a -> a -> IO () loadOrtho2D m l r b t = loadOrtho m l r b t (-1) 1 reshape :: State -> ReshapeCallback reshape state size@(Size w h) = do viewport $= (Position 0 0, size) let wf = fromIntegral w hf = fromIntegral h if w <= h then loadOrtho2D (projectionMatrix state) 0 30 0 (30 * hf / wf) else loadOrtho2D (projectionMatrix state) 0 (30 * wf / hf) 0 30 checkError "reshape" keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] -- add command line argument "classic" for a pre-3.x context unless (args == ["classic"]) $ do initialContextVersion $= (3, 1) initialContextFlags $= [ ForwardCompatibleContext, DebugContext ] initialWindowSize $= Size 500 500 initialWindowPosition $= Position 100 100 createWindow progName dumpInfo state <- myInit displayCallback $= display state reshapeCallback $= Just (reshape state) keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/Misc/Pitfall14.hs0000644000000000000000000000212612121453247015423 0ustar0000000000000000{- Pitfall14 Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates pitfall 14 (Careful Enabling Color Material) of Mark Kilgard's "16 Common OpenGL Pitfalls", see: http://www.opengl.org/resources/features/KilgardTechniques/oglpitfall/ -} import Control.Monad ( unless ) import System.Exit ( exitFailure ) import Graphics.UI.GLUT main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] createWindow progName currentColor $= Color4 1 1 1 1 materialAmbient Front $= Color4 0.1 0.1 0.1 1 -- re-get to avoid any rounding issues mafBefore <- get (materialAmbient Front) colorMaterial $= Just (Front, Diffuse) mafAfter <- get (materialAmbient Front) unless (mafBefore == mafAfter) $ do putStrLn "ERROR: The ambient material property changed!" putStrLn (" before: " ++ show mafBefore) putStrLn (" after : " ++ show mafAfter) exitFailure GLUT-2.4.0.0/examples/Misc/Gears.hs0000644000000000000000000002454612121453247014736 0ustar0000000000000000{- Gears.hs (adapted from gears.c which is (c) Brian Paul) Copyright (c) Shawn P. Garbett 2004 Further hacked by Sven Panne This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE Command line options: -info print GL implementation information -exit automatically exit after 30 seconds -} -------------------------------------------------------------------------------- import Control.Monad ( when ) import Data.IORef ( IORef, newIORef ) import Data.List ( intersperse ) import System.Console.GetOpt import System.Exit ( exitWith, ExitCode(ExitSuccess), exitFailure ) import Graphics.UI.GLUT -------------------------------------------------------------------------------- type View = (GLfloat, GLfloat, GLfloat) data State = State { frames :: IORef Int, t0 :: IORef Int, viewRot :: IORef View, angle' :: IORef GLfloat } makeState :: IO State makeState = do f <- newIORef 0 t <- newIORef 0 v <- newIORef (20, 30, 0) a <- newIORef 0 return $ State { frames = f, t0 = t, viewRot = v, angle' = a } -- Draw a gear wheel. You'll probably want to call this function when -- building a display list since we do a lot of trig here. -- -- Input: innerRadius - radius of hole at center -- outerRadius - radius at center of teeth -- width - width of gear -- teeth - number of teeth -- toothDepth - depth of tooth gear :: GLfloat -> GLfloat -> GLfloat -> GLint -> GLfloat -> IO () gear innerRadius outerRadius width teeth toothDepth = do let r0 = innerRadius r1 = outerRadius - toothDepth / 2 r2 = outerRadius + toothDepth / 2 da = 2 * pi / fromIntegral teeth / 4 w = 0.5 * width render p f = renderPrimitive p $ mapM_ (\i -> let angle = fromIntegral i * 2 * pi / fromIntegral teeth in f r0 r1 r2 w da teeth i angle) [ 0 .. teeth ] shadeModel $= Flat currentNormal $= Normal3 0 0 1 render QuadStrip gearFront render Quads teethFront currentNormal $= Normal3 0 0 (-1) render QuadStrip gearBack render Quads teethBack render QuadStrip teethFace shadeModel $= Smooth render QuadStrip gearInside type Renderer = GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> IO () -- draw front face gearFront :: Renderer gearFront r0 r1 _ w da teeth i angle = do vertex (Vertex3 (r0 * cos angle) (r0 * sin angle) w) vertex (Vertex3 (r1 * cos angle) (r1 * sin angle) w) when (i < teeth) $ do vertex (Vertex3 (r0 * cos angle ) (r0 * sin angle ) w) vertex (Vertex3 (r1 * cos (angle + 3 * da)) (r1 * sin (angle + 3 * da)) w) -- draw front sides of teeth teethFront :: Renderer teethFront _ r1 r2 w da teeth i angle = when (i < teeth) $ do vertex (Vertex3 (r1 * cos angle ) (r1 * sin angle ) w) vertex (Vertex3 (r2 * cos (angle + da)) (r2 * sin (angle + da)) w) vertex (Vertex3 (r2 * cos (angle + 2 * da)) (r2 * sin (angle + 2 * da)) w) vertex (Vertex3 (r1 * cos (angle + 3 * da)) (r1 * sin (angle + 3 * da)) w) -- draw back face gearBack :: Renderer gearBack r0 r1 _ w da teeth i angle = do vertex (Vertex3 (r1 * cos angle) (r1 * sin angle) (-w)) vertex (Vertex3 (r0 * cos angle) (r0 * sin angle) (-w)) when (i < teeth) $ do vertex (Vertex3 (r1 * cos (angle + 3 * da)) (r1 * sin (angle + 3 * da)) (-w)) vertex (Vertex3 (r0 * cos angle ) (r0 * sin angle ) (-w)) -- draw back sides of teeth teethBack :: Renderer teethBack _ r1 r2 w da teeth i angle = when (i < teeth) $ do vertex (Vertex3 (r1 * cos (angle + 3 * da)) (r1 * sin (angle + 3 * da)) (-w)) vertex (Vertex3 (r2 * cos (angle + 2 * da)) (r2 * sin (angle + 2 * da)) (-w)) vertex (Vertex3 (r2 * cos (angle + da)) (r2 * sin (angle + da)) (-w)) vertex (Vertex3 (r1 * cos angle ) (r1 * sin angle ) (-w)) -- draw outward faces of teeth teethFace :: Renderer teethFace _ r1 r2 w da teeth i angle = if (i < teeth) then do vertex (Vertex3 (r1*(cos angle)) (r1*(sin angle)) w) vertex (Vertex3 (r1*(cos angle)) (r1*(sin angle)) (-w)) let u' = r2 * cos (angle + da) - r1 * cos angle v' = r2 * sin (angle + da) - r1 * sin angle len = sqrt (u' * u' + v' * v') u = u' / len v = v' / len currentNormal $= Normal3 v (-u) 0 vertex (Vertex3 (r2 * cos (angle + da)) (r2 * sin (angle + da)) w ) vertex (Vertex3 (r2 * cos (angle + da)) (r2 * sin (angle + da)) (-w)) currentNormal $= Normal3 (cos angle) (sin angle) 0 vertex (Vertex3 (r2 * cos (angle + 2 * da)) (r2 * sin (angle + 2 * da)) w ) vertex (Vertex3 (r2 * cos (angle + 2 * da)) (r2 * sin (angle + 2 * da)) (-w)) let u2 = r1 * cos (angle + 3 * da) - r2 * cos (angle + 2 * da); v2 = r1 * sin (angle + 3 * da) - r2 * sin (angle + 2 * da); currentNormal $= Normal3 v2 (-u2) 0 vertex (Vertex3 (r1 * cos (angle + 3 * da)) (r1 * sin (angle + 3 * da)) w ) vertex (Vertex3 (r1 * cos (angle + 3 * da)) (r1 * sin (angle + 3 * da)) (-w)) currentNormal $= Normal3 (cos angle) (sin angle) 0 else do vertex (Vertex3 (r1 * cos 0) (r1 * sin 0) w ) vertex (Vertex3 (r1 * cos 0) (r1 * sin 0) (-w)) -- draw inside radius cylinder gearInside :: Renderer gearInside r0 _ _ w _ _ _ angle = do currentNormal $= Normal3 (-cos angle) (-sin angle) 0 vertex (Vertex3 (r0 * cos angle) (r0 * sin angle) (-w)) vertex (Vertex3 (r0 * cos angle) (r0 * sin angle) w ) draw :: (DisplayList,DisplayList,DisplayList,Int) -> State -> IO () draw (gear1, gear2, gear3, autoexit) state = do clear [ ColorBuffer, DepthBuffer ] (x, y, z) <- get (viewRot state) a <- get (angle' state) let translatef = translate :: Vector3 GLfloat -> IO () preservingMatrix $ do rotate x (Vector3 1 0 0) rotate y (Vector3 0 1 0) rotate z (Vector3 0 0 1) preservingMatrix $ do translatef (Vector3 (-3) (-2) 0) rotate a (Vector3 0 0 1) callList gear1 preservingMatrix $ do translatef (Vector3 3.1 (-2) 0) rotate (-2 * a - 9) (Vector3 0 0 1) callList gear2 preservingMatrix $ do translatef (Vector3 (-3.1) 4.2 0) rotate (-2 * a - 25) (Vector3 0 0 1) callList gear3 swapBuffers frames state $~! (+1) t0' <- get (t0 state) t <- get elapsedTime when (t - t0' >= 5000) $ do f <- get (frames state) let seconds = fromIntegral (t - t0') / 1000 :: GLfloat fps = fromIntegral f / seconds putStrLn (show f ++ " frames in " ++ show seconds ++ " seconds = "++ show fps ++ " FPS") t0 state $= t frames state $= 0 when ((t >= 999 * autoexit) && (autoexit /= 0)) $ exitWith ExitSuccess idle :: State -> IdleCallback idle state = do angle' state $~! (+2) postRedisplay Nothing keyboard :: State -> KeyboardMouseCallback keyboard state (Char 'z') _ _ _ = modRot state ( 0, 0, 5) keyboard state (Char 'Z') _ _ _ = modRot state ( 0, 0, -5) keyboard state (SpecialKey KeyUp) _ _ _ = modRot state ( 5, 0, 0) keyboard state (SpecialKey KeyDown) _ _ _ = modRot state (-5, 0, 0) keyboard state (SpecialKey KeyLeft) _ _ _ = modRot state ( 0, 5, 0) keyboard state (SpecialKey KeyRight)_ _ _ = modRot state ( 0, -5, 0) keyboard _ (Char '\27') _ _ _ = exitWith ExitSuccess keyboard _ _ _ _ _ = return () modRot :: State -> View -> IO () modRot state (dx,dy,dz) = do (x, y, z) <- get (viewRot state) viewRot state $= (x + dx, y + dy, z + dz) postRedisplay Nothing -- new window size or exposure reshape :: ReshapeCallback reshape s@(Size width height) = do let h = fromIntegral height / fromIntegral width viewport $= (Position 0 0, s) matrixMode $= Projection loadIdentity frustum (-1) 1 (-h) h 5 60 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-40 :: GLfloat)) data Flag = GLInfo | AutoExit deriving ( Eq, Ord, Show ) argInfo :: [OptDescr Flag] argInfo = [ Option ['i'] ["info"] (NoArg GLInfo) "print gl information", Option ['e'] ["exit"] (NoArg AutoExit) "auto exit after 30 seconds" ] opts :: [String] -> IO [Flag] opts args = case getOpt Permute argInfo args of (o,_,[]) -> return o (_,_,errs) -> do putStr (concat errs ++ usageInfo "Usage: Gears [OPTION...]" argInfo) exitFailure info :: IO () info = do rendererStr <- get renderer putStrLn ("GL_RENDERER = " ++ rendererStr) vendorStr <- get vendor putStrLn ("GL_VENDOR = " ++ vendorStr) versionStr <- get glVersion putStrLn ("GL_VERSION = " ++ versionStr) exts <- get glExtensions putStrLn ("GL_EXTENSIONS = " ++ concat (intersperse " " exts)) myInit :: [String] -> IO (DisplayList,DisplayList,DisplayList,Int) myInit args = do position (Light 0) $= Vertex4 5 5 10 0 cullFace $= Just Back lighting $= Enabled light (Light 0) $= Enabled depthFunc $= Just Less -- make the gears g1 <- defineNewList Compile $ do materialAmbientAndDiffuse Front $= Color4 0.8 0.1 0.0 1.0 gear 1 4 1 20 0.7 g2 <- defineNewList Compile $ do materialAmbientAndDiffuse Front $= Color4 0.0 0.8 0.2 1.0 gear 0.5 2 2 10 0.7 g3 <- defineNewList Compile $ do materialAmbientAndDiffuse Front $= Color4 0.2 0.2 1.0 1.0 gear 1.3 2 0.5 10 0.7 normalize $= Enabled flags <- opts args when (GLInfo `elem` flags) info let autoexit = if AutoExit `elem` flags then 30 else 0 when (autoexit /= 0) $ putStrLn ("Auto Exit after " ++ show autoexit ++ " seconds.") return (g1, g2, g3, autoexit) visible :: State -> Visibility -> IO () visible state Visible = idleCallback $= Just (idle state) visible _ NotVisible = idleCallback $= Nothing main :: IO () main = do (_progName, args) <- getArgsAndInitialize initialDisplayMode $= [ RGBMode, WithDepthBuffer, DoubleBuffered ] initialWindowPosition $= Position 0 0 initialWindowSize $= Size 300 300 createWindow "Gears" state <- makeState gearsAndAuto <- myInit args displayCallback $= draw gearsAndAuto state reshapeCallback $= Just reshape keyboardMouseCallback $= Just (keyboard state) visibilityCallback $= Just (visible state) mainLoop GLUT-2.4.0.0/examples/Misc/ExtractContours.hs0000644000000000000000000000764312121453247017043 0ustar0000000000000000{- ExtractContours.hs (adapted from tess.c which is (c) Silicon Graphics, Inc) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE This program demonstrates contour extraction. Two tesselated objects are drawn. The first is a rectangle with a triangular hole. The second is a smooth shaded, self-intersecting star. Note the exterior rectangle is drawn with its vertices in counter-clockwise order, but its interior clockwise. Note the combineCallback is needed for the self-intersecting star. Also note that removing the TessProperty for the star will make the interior unshaded (TessWindingOdd). -} import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT display :: [DisplayList] -> DisplayCallback display displayLists = do clear [ ColorBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 1 1 1) mapM callList displayLists flush -- 'Float' is a dummy, any marshalable type would do type DontCare = Float rectangle :: ComplexContour DontCare rectangle = ComplexContour [ AnnotatedVertex (Vertex3 50 50 0) 0, AnnotatedVertex (Vertex3 200 50 0) 0, AnnotatedVertex (Vertex3 200 200 0) 0, AnnotatedVertex (Vertex3 50 200 0) 0 ] tri :: ComplexContour DontCare tri = ComplexContour [ AnnotatedVertex (Vertex3 75 75 0) 0, AnnotatedVertex (Vertex3 125 175 0) 0, AnnotatedVertex (Vertex3 175 75 0) 0 ] rectAndTri :: ComplexPolygon DontCare rectAndTri = ComplexPolygon [ rectangle, tri ] noOpCombiner :: Combiner DontCare noOpCombiner _newVertex _weightedProperties = 0 star :: ComplexPolygon (Color3 GLfloat) star = ComplexPolygon [ ComplexContour [ AnnotatedVertex (Vertex3 250 50 0) (Color3 1 0 1), AnnotatedVertex (Vertex3 325 200 0) (Color3 1 1 0), AnnotatedVertex (Vertex3 400 50 0) (Color3 0 1 1), AnnotatedVertex (Vertex3 250 150 0) (Color3 1 0 0), AnnotatedVertex (Vertex3 400 150 0) (Color3 0 1 0) ] ] combineColors :: Combiner (Color3 GLfloat) combineColors _newVertex (WeightedProperties (w0, Color3 r0 g0 b0) (w1, Color3 r1 g1 b1) (w2, Color3 r2 g2 b2) (w3, Color3 r3 g3 b3)) = Color3 (w0*r0 + w1*r1 + w2*r2 + w3*r3) (w0*g0 + w1*g1 + w2*g2 + w3*g3) (w0*b0 + w1*b1 + w2*b2 + w3*b3) myInit :: IO [DisplayList] myInit = do clearColor $= Color4 0 0 0 0 rectAndTriList <- defineNewList Compile $ drawPolygonContours (\_ -> return ()) =<< extractContours TessWindingOdd 0 (Normal3 0 0 0) noOpCombiner rectAndTri starList <- defineNewList Compile $ drawPolygonContours color =<< extractContours TessWindingPositive 0 (Normal3 0 0 0) combineColors star return [ rectAndTriList, starList ] drawPolygonContours :: (v -> IO ()) -> PolygonContours v -> IO () drawPolygonContours colorHandler (PolygonContours simpleContours) = flip mapM_ simpleContours $ \(SimpleContour vertices) -> renderPrimitive LineLoop $ flip mapM_ vertices $ \(AnnotatedVertex plainVertex col) -> do colorHandler col vertex plainVertex reshape :: ReshapeCallback reshape size@(Size w h) = do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity ortho2D 0 (fromIntegral w) 0 (fromIntegral h) matrixMode $= Modelview 0 loadIdentity keyboard :: KeyboardMouseCallback keyboard (Char '\27') Down _ _ = exitWith ExitSuccess keyboard _ _ _ _ = return () main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= Size 500 500 createWindow progName displayLists <- myInit displayCallback $= display displayLists reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboard mainLoop GLUT-2.4.0.0/examples/Misc/ARBOcclude.hs0000644000000000000000000001233212121453247015566 0ustar0000000000000000{- ARBOcclude.hs (adapted from arbocclude.c which is (c) Brian Paul) Copyright (c) Sven Panne 2002-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( unless, when ) import Data.IORef ( IORef, newIORef ) import System.Exit ( exitWith, ExitCode(ExitSuccess), exitFailure ) import Graphics.UI.GLUT data State = State { anim :: IORef Bool, xPos :: IORef GLfloat, sign :: IORef GLfloat, lastTime :: IORef Int } makeState :: IO State makeState = do a <- newIORef True x <- newIORef 0 s <- newIORef 1 l <- newIORef =<< get elapsedTime return $ State { anim = a, xPos = x, sign = s, lastTime = l } petrol, orange, white :: Color3 GLfloat petrol = Color3 0.0 0.6 0.8 orange = Color3 0.8 0.5 0.0 white = Color3 1.0 1.0 1.0 printString :: Vertex2 GLfloat -> String -> IO () printString pos s = do color white rasterPos pos renderString Fixed8By13 s idle :: State -> IdleCallback idle state = do time <- get elapsedTime l <- get (lastTime state) let timeDiff = fromIntegral (time - l) when (timeDiff >= 20) $ do -- 50Hz update lastTime state $= time s <- get (sign state) step state (timeDiff / 1000 * s) x <- get (xPos state) when (x > 2.5) $ do xPos state $= 2.5 sign state $= (-1) when (x < -2.5) $ do xPos state $= (-2.5) sign state $= 1 display :: QueryObject -> State -> DisplayCallback display occQuery state = do clear [ ColorBuffer, DepthBuffer ] matrixMode $= Projection loadIdentity frustum (-1) 1 (-1) 1 5 25 matrixMode $= Modelview 0 loadIdentity translate (Vector3 0 0 (-15 :: GLfloat)) drawOccludingPolygons -- draw the test polygon with occlusion testing passed <- preservingMatrix $ do x <- get (xPos state) translate (Vector3 x 0 (-0.5)) scale 0.3 0.3 (1.0 :: GLfloat) rotate (-90 * x) (Vector3 0 0 1) withQuery SamplesPassed occQuery $ do colorMask $= Color4 Disabled Disabled Disabled Disabled depthMask $= Disabled drawRect p <- waitForResult occQuery -- turn off occlusion testing colorMask $= Color4 Enabled Enabled Enabled Enabled depthMask $= Enabled -- draw the orange rect, so we can see what's going on color orange drawRect return p -- Print result message matrixMode $= Projection loadIdentity ortho (-1) 1 (-1) 1 (-1) 1 matrixMode $= Modelview 0 loadIdentity printString (Vertex2 (-0.50) (-0.7)) (" " ++ flushRight 4 passed ++ " Fragments Visible") when (passed == 0) $ printString (Vertex2 (-0.25) (-0.8)) "Fully Occluded" swapBuffers drawOccludingPolygons :: IO () drawOccludingPolygons = do color petrol drawQuads [ Vertex2 (-1.6) (-1.5), Vertex2 (-0.4) (-1.5), Vertex2 (-0.4) 1.5 , Vertex2 (-1.6) 1.5 , Vertex2 0.4 (-1.5), Vertex2 1.6 (-1.5), Vertex2 1.6 1.5 , Vertex2 0.4 1.5 ] drawRect :: IO () drawRect = do drawQuads [ Vertex2 (-1) (-1), Vertex2 1 (-1), Vertex2 1 1 , Vertex2 (-1) 1 ] drawQuads :: [Vertex2 GLfloat] -> IO () drawQuads = renderPrimitive Quads . mapM_ vertex waitForResult :: QueryObject -> IO GLuint waitForResult occQuery = do let loop = do -- do useful work here, if any ready <- get (queryResultAvailable occQuery) unless ready loop loop get (queryResult occQuery) flushRight :: Show a => Int -> a -> String flushRight width x = replicate (width - length s) ' ' ++ s where s = show x keyboard :: State -> KeyboardMouseCallback keyboard _ (Char '\27') Down _ _ = exitWith ExitSuccess keyboard state (Char ' ') Down _ _ = do anim state $~ not setIdleCallback state keyboard state (SpecialKey KeyLeft) Down _ _ = step state (-0.1) keyboard state (SpecialKey KeyRight) Down _ _ = step state 0.1 keyboard _ _ _ _ _ = return () setIdleCallback :: State -> IO () setIdleCallback state = do a <- get (anim state) idleCallback $= if a then Just (idle state) else Nothing step :: State -> GLfloat -> IO () step state s = do xPos state $~ (+ s) postRedisplay Nothing myInit :: IO () myInit = do exts <- get glExtensions unless ("GL_ARB_occlusion_query" `elem` exts) $ do putStrLn "Sorry, this demo requires the GL_ARB_occlusion_query extension." exitFailure bits <- get (queryCounterBits SamplesPassed) unless (bits > 0) $ do putStrLn "Hmmm, GL_QUERY_COUNTER_BITS_ARB is zero!" exitFailure depthFunc $= Just Less main :: IO () main = do (progName, _args) <- getArgsAndInitialize initialWindowPosition $= Position 0 0 initialWindowSize $= Size 400 400 initialDisplayMode $= [ RGBMode, DoubleBuffered, WithDepthBuffer ] createWindow progName state <- makeState reshapeCallback $= Just (\size -> viewport $= (Position 0 0, size)) keyboardMouseCallback $= Just (keyboard state) setIdleCallback state [ occQuery ] <- genObjectNames 1 displayCallback $= display occQuery state myInit mainLoop GLUT-2.4.0.0/examples/BOGLGP/0000755000000000000000000000000012121453247013405 5ustar0000000000000000GLUT-2.4.0.0/examples/BOGLGP/Chapter03/0000755000000000000000000000000012121453247015136 5ustar0000000000000000GLUT-2.4.0.0/examples/BOGLGP/Chapter03/TrianglesQuads.hs0000644000000000000000000002256112121453247020426 0ustar0000000000000000{- TrianglesQuads.hs (adapted from TrianglesQuads which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2004-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( when, unless ) import Data.Maybe ( isJust ) import Graphics.UI.GLUT hiding ( initialize ) import System.Console.GetOpt import System.Environment ( getProgName ) import System.Exit ( exitWith, ExitCode(..) ) import System.IO ( hPutStr, stderr ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff (_, args) <- getArgsAndInitialize opts <- parseOptions args initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] (if useFullscreen opts then fullscreenMode else windowedMode) opts initialize -- Register the event callback functions displayCallback $= do render; swapBuffers reshapeCallback $= Just setupProjection keyboardMouseCallback $= Just keyboardMouseHandler -- No need for an idle callback here, this would just hog the CPU -- without any visible effect -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop fullscreenMode :: Options -> IO () fullscreenMode opts = do let addCapability c = maybe id (\x -> (Where' c IsEqualTo x :)) gameModeCapabilities $= (addCapability GameModeWidth (Just (windowWidth opts)) . addCapability GameModeHeight (Just (windowHeight opts)) . addCapability GameModeBitsPerPlane (bpp opts) . addCapability GameModeRefreshRate (refreshRate opts)) [] enterGameMode maybeWin <- get currentWindow if isJust maybeWin then cursor $= None else do hPutStr stderr "Could not enter fullscreen mode, using windowed mode\n" windowedMode (opts { useFullscreen = False } ) windowedMode :: Options -> IO () windowedMode opts = do initialWindowSize $= Size (fromIntegral (windowWidth opts)) (fromIntegral (windowHeight opts)) createWindow "BOGLGP - Chapter 3 - TrianglesQuads" return () -------------------------------------------------------------------------------- -- Option handling -------------------------------------------------------------------------------- data Options = Options { useFullscreen :: Bool, windowWidth :: Int, windowHeight :: Int, bpp :: Maybe Int, refreshRate :: Maybe Int } startOpt :: Options startOpt = Options { useFullscreen = False, windowWidth = 800, windowHeight = 600, bpp = Nothing, refreshRate = Nothing } options :: [OptDescr (Options -> IO Options)] options = [ Option ['f'] ["fullscreen"] (NoArg (\opt -> return opt { useFullscreen = True })) "use fullscreen mode if possible", Option ['w'] ["width"] (ReqArg (\arg opt -> do w <- readInt "WIDTH" arg return opt { windowWidth = w }) "WIDTH") "use window width WIDTH", Option ['h'] ["height"] (ReqArg (\arg opt -> do h <- readInt "HEIGHT" arg return opt { windowHeight = h }) "HEIGHT") "use window height HEIGHT", Option ['b'] ["bpp"] (ReqArg (\arg opt -> do b <- readInt "BPP" arg return opt { bpp = Just b }) "BPP") "use BPP bits per plane (ignored in windowed mode)", Option ['r'] ["refresh-rate"] (ReqArg (\arg opt -> do r <- readInt "HZ" arg return opt { refreshRate = Just r }) "HZ") "use refresh rate HZ (ignored in windowed mode)", Option ['?'] ["help"] (NoArg (\_ -> do usage >>= putStr safeExitWith ExitSuccess)) "show help" ] readInt :: String -> String -> IO Int readInt name arg = case reads arg of ((x,[]) : _) -> return x _ -> dieWith ["Can't parse " ++ name ++ " argument '" ++ arg ++ "'\n"] usage :: IO String usage = do progName <- getProgName return $ usageInfo ("Usage: " ++ progName ++ " [OPTION...]") options parseOptions :: [String] -> IO Options parseOptions args = do let (optsActions, nonOptions, errs) = getOpt Permute options args unless (null nonOptions && null errs) (dieWith errs) foldl (>>=) (return startOpt) optsActions dieWith :: [String] -> IO a dieWith errs = do u <- usage mapM_ (hPutStr stderr) (errs ++ [u]) safeExitWith (ExitFailure 1) -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit when -- ESCAPE is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (Char '\27') Down _ _ = safeExitWith ExitSuccess keyboardMouseHandler _ _ _ _ = return () safeExitWith :: ExitCode -> IO a safeExitWith code = do gma <- get gameModeActive when gma leaveGameMode exitWith code -------------------------------------------------------------------------------- -- Do one time setup, i.e. set the clear color. -------------------------------------------------------------------------------- initialize :: IO () initialize = clearColor $= Color4 0 0 0 0 -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- setupProjection :: ReshapeCallback setupProjection (Size width height) = do -- don't want a divide by zero let h = max 1 height -- reset the viewport to new dimensions viewport $= (Position 0 0, Size width h) -- set projection matrix as the current matrix matrixMode $= Projection -- reset projection matrix loadIdentity -- calculate aspect ratio of window perspective 52 (fromIntegral width / fromIntegral h) 1 1000 -- set modelview matrix matrixMode $= Modelview 0 -- reset modelview matrix loadIdentity -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- render :: DisplayCallback render = do -- clear screen and depth buffer clear [ ColorBuffer, DepthBuffer ] loadIdentity lookAt (Vertex3 0 10 0.1) (Vertex3 0 0 0) (Vector3 0 1 0) -- resolve overloading, not needed in "real" programs let translate3f = translate :: Vector3 GLfloat -> IO () -- top left preservingMatrix $ do translate3f (Vector3 (-6) 0 (-4)) drawPoints -- top middle preservingMatrix $ do polygonMode $= (Fill, Fill) translate3f (Vector3 (-2) 0 (-4)) drawTriangles -- top right preservingMatrix $ do polygonMode $= (Line, Line) translate3f (Vector3 2 0 (-4)) drawQuads -- bottom left preservingMatrix $ do polygonMode $= (Line, Line) translate3f (Vector3 (-6) 0 0.5) drawTriangleStrip -- bottom middle preservingMatrix $ do polygonMode $= (Line, Line) translate3f (Vector3 (-2) 0 0.5) drawTriangleFan -- bottom right preservingMatrix $ do polygonMode $= (Line, Line) translate3f (Vector3 2 0 0.5) drawQuadStrip -- Hello, this is C... :-) for :: [GLfloat] -> (GLfloat -> IO ()) -> IO () for = flip mapM_ -- draw grid of points showing dataset we are working with drawPoints :: IO () drawPoints = do pointSize $= 4 renderPrimitive Points $ for [ 0 .. 3 ] $ \x -> for [ 0 .. 3 ] $ \z -> vertex (Vertex3 x 0 z) -- draw grid as individual triangles drawTriangles :: IO () drawTriangles = renderPrimitive Triangles $ for [ 0 .. 2 ] $ \x -> for [ 0 .. 2 ] $ \z -> do vertex (Vertex3 x 0 z ) vertex (Vertex3 (x + 1) 0 z ) vertex (Vertex3 x 0 (z + 1)) -- draw grid as triangle fan drawTriangleFan :: IO () drawTriangleFan = renderPrimitive TriangleFan $ do -- center vertex of fan vertex (Vertex3 0 0 (0 :: GLfloat)) -- bottom side for [ 3, 2 .. 0 ] $ \x -> vertex (Vertex3 x 0 3) -- right side for [ 3, 2 .. 0 ] $ \z -> vertex (Vertex3 3 0 z) -- draw grid as triangle strips drawTriangleStrip :: IO () drawTriangleStrip = -- 3 rows of triangle strips for [ 0 .. 2 ] $ \x -> renderPrimitive TriangleStrip $ for [ 0 .. 2 ] $ \z -> do vertex (Vertex3 x 0 z ) vertex (Vertex3 (x + 1) 0 z ) vertex (Vertex3 x 0 (z + 1)) vertex (Vertex3 (x + 1) 0 (z + 1)) -- draw grid as individual quads drawQuads :: IO () drawQuads = renderPrimitive Quads $ for [ 0 .. 2 ] $ \x -> for [ 0 .. 2 ] $ \z -> do vertex (Vertex3 x 0 z ) vertex (Vertex3 (x + 1) 0 z ) vertex (Vertex3 (x + 1) 0 (z + 1)) vertex (Vertex3 x 0 (z + 1)) -- draw grid as quad strips drawQuadStrip :: IO () drawQuadStrip = for [ 0 .. 2 ] $ \x -> renderPrimitive QuadStrip $ for [ 0 .. 3 ] $ \z -> do vertex (Vertex3 x 0 z) vertex (Vertex3 (x + 1) 0 z) GLUT-2.4.0.0/examples/BOGLGP/Chapter03/Polygons.hs0000644000000000000000000002016412121453247017307 0ustar0000000000000000{- Polygons.hs (adapted from Polygons which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2004-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( when, unless ) import Data.IORef ( IORef, newIORef ) import Data.Maybe ( isJust ) import Graphics.UI.GLUT hiding ( initialize ) import System.Console.GetOpt import System.Environment ( getProgName ) import System.Exit ( exitWith, ExitCode(..) ) import System.IO ( hPutStr, stderr ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff (_, args) <- getArgsAndInitialize opts <- parseOptions args initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] (if useFullscreen opts then fullscreenMode else windowedMode) opts state <- initialize -- Register the event callback functions displayCallback $= do render state; swapBuffers reshapeCallback $= Just setupProjection keyboardMouseCallback $= Just keyboardMouseHandler idleCallback $= Just (postRedisplay Nothing) -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop fullscreenMode :: Options -> IO () fullscreenMode opts = do let addCapability c = maybe id (\x -> (Where' c IsEqualTo x :)) gameModeCapabilities $= (addCapability GameModeWidth (Just (windowWidth opts)) . addCapability GameModeHeight (Just (windowHeight opts)) . addCapability GameModeBitsPerPlane (bpp opts) . addCapability GameModeRefreshRate (refreshRate opts)) [] enterGameMode maybeWin <- get currentWindow if isJust maybeWin then cursor $= None else do hPutStr stderr "Could not enter fullscreen mode, using windowed mode\n" windowedMode (opts { useFullscreen = False } ) windowedMode :: Options -> IO () windowedMode opts = do initialWindowSize $= Size (fromIntegral (windowWidth opts)) (fromIntegral (windowHeight opts)) createWindow "BOGLGP - Chapter 3 - Polygons" return () -------------------------------------------------------------------------------- -- Option handling -------------------------------------------------------------------------------- data Options = Options { useFullscreen :: Bool, windowWidth :: Int, windowHeight :: Int, bpp :: Maybe Int, refreshRate :: Maybe Int } startOpt :: Options startOpt = Options { useFullscreen = False, windowWidth = 800, windowHeight = 600, bpp = Nothing, refreshRate = Nothing } options :: [OptDescr (Options -> IO Options)] options = [ Option ['f'] ["fullscreen"] (NoArg (\opt -> return opt { useFullscreen = True })) "use fullscreen mode if possible", Option ['w'] ["width"] (ReqArg (\arg opt -> do w <- readInt "WIDTH" arg return opt { windowWidth = w }) "WIDTH") "use window width WIDTH", Option ['h'] ["height"] (ReqArg (\arg opt -> do h <- readInt "HEIGHT" arg return opt { windowHeight = h }) "HEIGHT") "use window height HEIGHT", Option ['b'] ["bpp"] (ReqArg (\arg opt -> do b <- readInt "BPP" arg return opt { bpp = Just b }) "BPP") "use BPP bits per plane (ignored in windowed mode)", Option ['r'] ["refresh-rate"] (ReqArg (\arg opt -> do r <- readInt "HZ" arg return opt { refreshRate = Just r }) "HZ") "use refresh rate HZ (ignored in windowed mode)", Option ['?'] ["help"] (NoArg (\_ -> do usage >>= putStr safeExitWith ExitSuccess)) "show help" ] readInt :: String -> String -> IO Int readInt name arg = case reads arg of ((x,[]) : _) -> return x _ -> dieWith ["Can't parse " ++ name ++ " argument '" ++ arg ++ "'\n"] usage :: IO String usage = do progName <- getProgName return $ usageInfo ("Usage: " ++ progName ++ " [OPTION...]") options parseOptions :: [String] -> IO Options parseOptions args = do let (optsActions, nonOptions, errs) = getOpt Permute options args unless (null nonOptions && null errs) (dieWith errs) foldl (>>=) (return startOpt) optsActions dieWith :: [String] -> IO a dieWith errs = do u <- usage mapM_ (hPutStr stderr) (errs ++ [u]) safeExitWith (ExitFailure 1) -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit when -- ESCAPE is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (Char '\27') Down _ _ = safeExitWith ExitSuccess keyboardMouseHandler _ _ _ _ = return () safeExitWith :: ExitCode -> IO a safeExitWith code = do gma <- get gameModeActive when gma leaveGameMode exitWith code -------------------------------------------------------------------------------- -- The globale state, which is only the current angle in this simple demo. -- We don't need the window dimensions here, they are not used and would -- be easily available via GLUT anyway. -------------------------------------------------------------------------------- data State = State { angle :: IORef GLfloat } makeState :: IO State makeState = do a <- newIORef 0 return $ State { angle = a } -------------------------------------------------------------------------------- -- Do one time setup, i.e. set the clear color and create the global state. -- Note that there is no need to set the polygon mode here, because we always -- set the front and back mode together. -------------------------------------------------------------------------------- initialize :: IO State initialize = do -- clear to black background clearColor $= Color4 0 0 0 0 makeState -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- setupProjection :: ReshapeCallback setupProjection (Size width height) = do -- don't want a divide by zero let h = max 1 height -- reset the viewport to new dimensions viewport $= (Position 0 0, Size width h) -- set projection matrix as the current matrix matrixMode $= Projection -- reset projection matrix loadIdentity -- calculate aspect ratio of window perspective 52 (fromIntegral width / fromIntegral h) 1 1000 -- set modelview matrix matrixMode $= Modelview 0 -- reset modelview matrix loadIdentity -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- render :: State -> DisplayCallback render state = do -- clear screen and depth buffer clear [ ColorBuffer, DepthBuffer ] loadIdentity lookAt (Vertex3 0 10 0.1) (Vertex3 0 0 0) (Vector3 0 1 0) a <- get (angle state) mapM_ (draw2DSquare a) [ (Line, Fill, -4, Color3 1 0 0), (Fill, Point, -2, Color3 0 1 0), (Fill, Fill, 0, Color3 0 0 1), (Fill, Line, 2, Color3 1 0 1), (Line, Line, 4, Color3 1 1 0)] angle state $~ (+ 0.2) draw2DSquare :: GLfloat -> (PolygonMode, PolygonMode, GLfloat, Color3 GLfloat) -> IO () draw2DSquare a (polygonModeFront, polygonModeBack, deltaX, c) = do polygonMode $= (polygonModeFront, polygonModeBack) preservingMatrix $ do translate (Vector3 deltaX 0 0) rotate a (Vector3 0 0 1) color c renderPrimitive Polygon $ do -- resolve overloading, not needed in "real" programs let vertex3f = vertex :: Vertex3 GLfloat -> IO () vertex3f (Vertex3 (-0.5) 0 0 ) vertex3f (Vertex3 0.5 0 0 ) vertex3f (Vertex3 0.5 0 (-1)) vertex3f (Vertex3 (-0.5) 0 (-1)) GLUT-2.4.0.0/examples/BOGLGP/Chapter03/Points.hs0000644000000000000000000001546212121453247016756 0ustar0000000000000000{- Points.hs (adapted from Points which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2004-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( when, unless, zipWithM_ ) import Data.Maybe ( isJust ) import Graphics.UI.GLUT hiding ( initialize ) import System.Console.GetOpt import System.Environment ( getProgName ) import System.Exit ( exitWith, ExitCode(..) ) import System.IO ( hPutStr, stderr ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff (_, args) <- getArgsAndInitialize opts <- parseOptions args initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] (if useFullscreen opts then fullscreenMode else windowedMode) opts initialize -- Register the event callback functions displayCallback $= do render; swapBuffers reshapeCallback $= Just setupProjection keyboardMouseCallback $= Just keyboardMouseHandler -- No need for an idle callback here, this would just hog the CPU -- without any visible effect -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop fullscreenMode :: Options -> IO () fullscreenMode opts = do let addCapability c = maybe id (\x -> (Where' c IsEqualTo x :)) gameModeCapabilities $= (addCapability GameModeWidth (Just (windowWidth opts)) . addCapability GameModeHeight (Just (windowHeight opts)) . addCapability GameModeBitsPerPlane (bpp opts) . addCapability GameModeRefreshRate (refreshRate opts)) [] enterGameMode maybeWin <- get currentWindow if isJust maybeWin then cursor $= None else do hPutStr stderr "Could not enter fullscreen mode, using windowed mode\n" windowedMode (opts { useFullscreen = False } ) windowedMode :: Options -> IO () windowedMode opts = do initialWindowSize $= Size (fromIntegral (windowWidth opts)) (fromIntegral (windowHeight opts)) createWindow "BOGLGP - Chapter 3 - Points" return () -------------------------------------------------------------------------------- -- Option handling -------------------------------------------------------------------------------- data Options = Options { useFullscreen :: Bool, windowWidth :: Int, windowHeight :: Int, bpp :: Maybe Int, refreshRate :: Maybe Int } startOpt :: Options startOpt = Options { useFullscreen = False, windowWidth = 800, windowHeight = 600, bpp = Nothing, refreshRate = Nothing } options :: [OptDescr (Options -> IO Options)] options = [ Option ['f'] ["fullscreen"] (NoArg (\opt -> return opt { useFullscreen = True })) "use fullscreen mode if possible", Option ['w'] ["width"] (ReqArg (\arg opt -> do w <- readInt "WIDTH" arg return opt { windowWidth = w }) "WIDTH") "use window width WIDTH", Option ['h'] ["height"] (ReqArg (\arg opt -> do h <- readInt "HEIGHT" arg return opt { windowHeight = h }) "HEIGHT") "use window height HEIGHT", Option ['b'] ["bpp"] (ReqArg (\arg opt -> do b <- readInt "BPP" arg return opt { bpp = Just b }) "BPP") "use BPP bits per plane (ignored in windowed mode)", Option ['r'] ["refresh-rate"] (ReqArg (\arg opt -> do r <- readInt "HZ" arg return opt { refreshRate = Just r }) "HZ") "use refresh rate HZ (ignored in windowed mode)", Option ['?'] ["help"] (NoArg (\_ -> do usage >>= putStr safeExitWith ExitSuccess)) "show help" ] readInt :: String -> String -> IO Int readInt name arg = case reads arg of ((x,[]) : _) -> return x _ -> dieWith ["Can't parse " ++ name ++ " argument '" ++ arg ++ "'\n"] usage :: IO String usage = do progName <- getProgName return $ usageInfo ("Usage: " ++ progName ++ " [OPTION...]") options parseOptions :: [String] -> IO Options parseOptions args = do let (optsActions, nonOptions, errs) = getOpt Permute options args unless (null nonOptions && null errs) (dieWith errs) foldl (>>=) (return startOpt) optsActions dieWith :: [String] -> IO a dieWith errs = do u <- usage mapM_ (hPutStr stderr) (errs ++ [u]) safeExitWith (ExitFailure 1) -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit when -- ESCAPE is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (Char '\27') Down _ _ = safeExitWith ExitSuccess keyboardMouseHandler _ _ _ _ = return () safeExitWith :: ExitCode -> IO a safeExitWith code = do gma <- get gameModeActive when gma leaveGameMode exitWith code -------------------------------------------------------------------------------- -- Do one time setup, i.e. set the clear color. -------------------------------------------------------------------------------- initialize :: IO () initialize = clearColor $= Color4 0 0 0 0 -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- setupProjection :: ReshapeCallback setupProjection (Size width height) = do -- don't want a divide by zero let h = max 1 height -- reset the viewport to new dimensions viewport $= (Position 0 0, Size width h) -- set projection matrix as the current matrix matrixMode $= Projection -- reset projection matrix loadIdentity -- calculate aspect ratio of window perspective 52 (fromIntegral width / fromIntegral h) 1 1000 -- set modelview matrix matrixMode $= Modelview 0 -- reset modelview matrix loadIdentity -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- render :: DisplayCallback render = do -- clear screen and depth buffer clear [ ColorBuffer, DepthBuffer ] loadIdentity lookAt (Vertex3 0 6 0.1) (Vertex3 0 0 0) (Vector3 0 1 0) -- draw a line of points of increasing size zipWithM_ (\ps point -> do -- set the point size pointSize $= ps -- draw the point renderPrimitive Points $ vertex (Vertex3 point 0 0)) [ 0.5 .. ] [ -4, -3.5 .. 4.5 :: GLfloat ] GLUT-2.4.0.0/examples/BOGLGP/Chapter03/OnYourOwn1.hs0000644000000000000000000001705612121453247017503 0ustar0000000000000000{- OnYourOwn1.hs (adapted from OnYourOwn1 which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( when, unless ) import Data.Maybe ( isJust ) import Graphics.UI.GLUT hiding ( initialize ) import System.Console.GetOpt import System.Environment ( getProgName ) import System.Exit ( exitWith, ExitCode(..) ) import System.IO ( hPutStr, stderr ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff (_, args) <- getArgsAndInitialize opts <- parseOptions args initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] (if useFullscreen opts then fullscreenMode else windowedMode) opts initialize -- Register the event callback functions displayCallback $= do render; swapBuffers reshapeCallback $= Just setupProjection keyboardMouseCallback $= Just keyboardMouseHandler -- No need for an idle callback here, this would just hog the CPU -- without any visible effect -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop fullscreenMode :: Options -> IO () fullscreenMode opts = do let addCapability c = maybe id (\x -> (Where' c IsEqualTo x :)) gameModeCapabilities $= (addCapability GameModeWidth (Just (windowWidth opts)) . addCapability GameModeHeight (Just (windowHeight opts)) . addCapability GameModeBitsPerPlane (bpp opts) . addCapability GameModeRefreshRate (refreshRate opts)) [] enterGameMode maybeWin <- get currentWindow if isJust maybeWin then cursor $= None else do hPutStr stderr "Could not enter fullscreen mode, using windowed mode\n" windowedMode (opts { useFullscreen = False } ) windowedMode :: Options -> IO () windowedMode opts = do initialWindowSize $= Size (fromIntegral (windowWidth opts)) (fromIntegral (windowHeight opts)) createWindow "BOGLGP - Chapter 3 - On Your Own 1" return () -------------------------------------------------------------------------------- -- Option handling -------------------------------------------------------------------------------- data Options = Options { useFullscreen :: Bool, windowWidth :: Int, windowHeight :: Int, bpp :: Maybe Int, refreshRate :: Maybe Int } startOpt :: Options startOpt = Options { useFullscreen = False, windowWidth = 800, windowHeight = 600, bpp = Nothing, refreshRate = Nothing } options :: [OptDescr (Options -> IO Options)] options = [ Option ['f'] ["fullscreen"] (NoArg (\opt -> return opt { useFullscreen = True })) "use fullscreen mode if possible", Option ['w'] ["width"] (ReqArg (\arg opt -> do w <- readInt "WIDTH" arg return opt { windowWidth = w }) "WIDTH") "use window width WIDTH", Option ['h'] ["height"] (ReqArg (\arg opt -> do h <- readInt "HEIGHT" arg return opt { windowHeight = h }) "HEIGHT") "use window height HEIGHT", Option ['b'] ["bpp"] (ReqArg (\arg opt -> do b <- readInt "BPP" arg return opt { bpp = Just b }) "BPP") "use BPP bits per plane (ignored in windowed mode)", Option ['r'] ["refresh-rate"] (ReqArg (\arg opt -> do r <- readInt "HZ" arg return opt { refreshRate = Just r }) "HZ") "use refresh rate HZ (ignored in windowed mode)", Option ['?'] ["help"] (NoArg (\_ -> do usage >>= putStr safeExitWith ExitSuccess)) "show help" ] readInt :: String -> String -> IO Int readInt name arg = case reads arg of ((x,[]) : _) -> return x _ -> dieWith ["Can't parse " ++ name ++ " argument '" ++ arg ++ "'\n"] usage :: IO String usage = do progName <- getProgName return $ usageInfo ("Usage: " ++ progName ++ " [OPTION...]") options parseOptions :: [String] -> IO Options parseOptions args = do let (optsActions, nonOptions, errs) = getOpt Permute options args unless (null nonOptions && null errs) (dieWith errs) foldl (>>=) (return startOpt) optsActions dieWith :: [String] -> IO a dieWith errs = do u <- usage mapM_ (hPutStr stderr) (errs ++ [u]) safeExitWith (ExitFailure 1) -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit when -- ESCAPE is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (Char '\27') Down _ _ = safeExitWith ExitSuccess keyboardMouseHandler _ _ _ _ = return () safeExitWith :: ExitCode -> IO a safeExitWith code = do gma <- get gameModeActive when gma leaveGameMode exitWith code -------------------------------------------------------------------------------- -- Do one time setup, i.e. set the clear color. -------------------------------------------------------------------------------- initialize :: IO () initialize = do -- clear to black background clearColor $= Color4 0 0 0 0 -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- setupProjection :: ReshapeCallback setupProjection (Size width height) = do -- don't want a divide by zero let h = max 1 height -- reset the viewport to new dimensions viewport $= (Position 0 0, Size width h) -- set projection matrix as the current matrix matrixMode $= Projection -- reset projection matrix loadIdentity -- calculate aspect ratio of window perspective 52 (fromIntegral width / fromIntegral h) 1 1000 -- set modelview matrix matrixMode $= Modelview 0 -- reset modelview matrix loadIdentity -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- render :: DisplayCallback render = do -- clear screen and depth buffer clear [ ColorBuffer, DepthBuffer ] loadIdentity lookAt (Vertex3 0 10 0.1) (Vertex3 0 0 0) (Vector3 0 1 0) -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () color3f (Color3 1 1 1) drawCircleApproximation 2 10 False -- Hello, this is C... :-) for :: [GLint] -> (GLint -> IO ()) -> IO () for = flip mapM_ drawCircleApproximation :: GLfloat -> GLint -> Bool -> IO () drawCircleApproximation radius numberOfSides edgeOnly = -- if edge only, use line strips; otherwise, use polygons renderPrimitive (if edgeOnly then LineStrip else Polygon) $ do -- calculate each vertex on the circle for [ 0 .. numberOfSides - 1 ] $ \v -> do -- calculate the angle of the current vertex let angle = fromIntegral v * 2 * pi / fromIntegral numberOfSides -- draw the current vertex at the correct radius vertex (Vertex3 (cos angle * radius) 0 (sin angle * radius)) -- if drawing edge only, then need to complete the loop with first vertex when edgeOnly $ vertex (Vertex3 radius 0 0) GLUT-2.4.0.0/examples/BOGLGP/Chapter03/Lines.hs0000644000000000000000000001634212121453247016552 0ustar0000000000000000{- Lines.hs (adapted from Lines which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2004-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( when, unless, zipWithM_ ) import Data.Maybe ( isJust ) import Graphics.UI.GLUT hiding ( initialize ) import System.Console.GetOpt import System.Environment ( getProgName ) import System.Exit ( exitWith, ExitCode(..) ) import System.IO ( hPutStr, stderr ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff (_, args) <- getArgsAndInitialize opts <- parseOptions args initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] (if useFullscreen opts then fullscreenMode else windowedMode) opts initialize -- Register the event callback functions displayCallback $= do render; swapBuffers reshapeCallback $= Just setupProjection keyboardMouseCallback $= Just keyboardMouseHandler -- No need for an idle callback here, this would just hog the CPU -- without any visible effect -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop fullscreenMode :: Options -> IO () fullscreenMode opts = do let addCapability c = maybe id (\x -> (Where' c IsEqualTo x :)) gameModeCapabilities $= (addCapability GameModeWidth (Just (windowWidth opts)) . addCapability GameModeHeight (Just (windowHeight opts)) . addCapability GameModeBitsPerPlane (bpp opts) . addCapability GameModeRefreshRate (refreshRate opts)) [] enterGameMode maybeWin <- get currentWindow if isJust maybeWin then cursor $= None else do hPutStr stderr "Could not enter fullscreen mode, using windowed mode\n" windowedMode (opts { useFullscreen = False } ) windowedMode :: Options -> IO () windowedMode opts = do initialWindowSize $= Size (fromIntegral (windowWidth opts)) (fromIntegral (windowHeight opts)) createWindow "BOGLGP - Chapter 3 - Lines" return () -------------------------------------------------------------------------------- -- Option handling -------------------------------------------------------------------------------- data Options = Options { useFullscreen :: Bool, windowWidth :: Int, windowHeight :: Int, bpp :: Maybe Int, refreshRate :: Maybe Int } startOpt :: Options startOpt = Options { useFullscreen = False, windowWidth = 800, windowHeight = 600, bpp = Nothing, refreshRate = Nothing } options :: [OptDescr (Options -> IO Options)] options = [ Option ['f'] ["fullscreen"] (NoArg (\opt -> return opt { useFullscreen = True })) "use fullscreen mode if possible", Option ['w'] ["width"] (ReqArg (\arg opt -> do w <- readInt "WIDTH" arg return opt { windowWidth = w }) "WIDTH") "use window width WIDTH", Option ['h'] ["height"] (ReqArg (\arg opt -> do h <- readInt "HEIGHT" arg return opt { windowHeight = h }) "HEIGHT") "use window height HEIGHT", Option ['b'] ["bpp"] (ReqArg (\arg opt -> do b <- readInt "BPP" arg return opt { bpp = Just b }) "BPP") "use BPP bits per plane (ignored in windowed mode)", Option ['r'] ["refresh-rate"] (ReqArg (\arg opt -> do r <- readInt "HZ" arg return opt { refreshRate = Just r }) "HZ") "use refresh rate HZ (ignored in windowed mode)", Option ['?'] ["help"] (NoArg (\_ -> do usage >>= putStr safeExitWith ExitSuccess)) "show help" ] readInt :: String -> String -> IO Int readInt name arg = case reads arg of ((x,[]) : _) -> return x _ -> dieWith ["Can't parse " ++ name ++ " argument '" ++ arg ++ "'\n"] usage :: IO String usage = do progName <- getProgName return $ usageInfo ("Usage: " ++ progName ++ " [OPTION...]") options parseOptions :: [String] -> IO Options parseOptions args = do let (optsActions, nonOptions, errs) = getOpt Permute options args unless (null nonOptions && null errs) (dieWith errs) foldl (>>=) (return startOpt) optsActions dieWith :: [String] -> IO a dieWith errs = do u <- usage mapM_ (hPutStr stderr) (errs ++ [u]) safeExitWith (ExitFailure 1) -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit when -- ESCAPE is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (Char '\27') Down _ _ = safeExitWith ExitSuccess keyboardMouseHandler _ _ _ _ = return () safeExitWith :: ExitCode -> IO a safeExitWith code = do gma <- get gameModeActive when gma leaveGameMode exitWith code -------------------------------------------------------------------------------- -- Do one time setup, i.e. set the clear color. -------------------------------------------------------------------------------- initialize :: IO () initialize = clearColor $= Color4 0 0 0 0 -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- setupProjection :: ReshapeCallback setupProjection (Size width height) = do -- don't want a divide by zero let h = max 1 height -- reset the viewport to new dimensions viewport $= (Position 0 0, Size width h) -- set projection matrix as the current matrix matrixMode $= Projection -- reset projection matrix loadIdentity -- calculate aspect ratio of window perspective 52 (fromIntegral width / fromIntegral h) 1 1000 -- set modelview matrix matrixMode $= Modelview 0 -- reset modelview matrix loadIdentity -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- render :: DisplayCallback render = do -- clear screen and depth buffer clear [ ColorBuffer, DepthBuffer ] loadIdentity lookAt (Vertex3 0 10 0.1) (Vertex3 0 0 0) (Vector3 0 1 0) -- function to draw a series of lines of increasing width let drawLines x = zipWithM_ (\lw line -> do -- set the line width lineWidth $= lw -- draw the line renderPrimitive Lines $ do vertex (Vertex3 x 0 (line - 3)) vertex (Vertex3 (x + 4) 0 (line - 3))) [ 0.5 .. ] [ 0, 0.5 .. 6.5 :: GLfloat ] -- draw a series of lines of increasing width without stippling drawLines (-5) -- set the stipple pattern, 0xAAAA = 1010 1010 1010 1010 lineStipple $= Just (2, 0xAAAA) -- draw a series of lines of increasing width with stippling drawLines 1 -- disable stippling lineStipple $= Nothing GLUT-2.4.0.0/examples/BOGLGP/Chapter02/0000755000000000000000000000000012121453247015135 5ustar0000000000000000GLUT-2.4.0.0/examples/BOGLGP/Chapter02/OpenGLApplication.hs0000644000000000000000000002015712121453247021006 0ustar0000000000000000{- OpenGLApplication.hs (adapted from OpenGLApplication which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2004-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( when, unless ) import Data.IORef ( IORef, newIORef ) import Data.Maybe ( isJust ) import Graphics.UI.GLUT hiding ( initialize ) import System.Console.GetOpt import System.Environment ( getProgName ) import System.Exit ( exitWith, ExitCode(..) ) import System.IO ( hPutStr, stderr ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff (_, args) <- getArgsAndInitialize opts <- parseOptions args initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] (if useFullscreen opts then fullscreenMode else windowedMode) opts state <- initialize -- Register the event callback functions displayCallback $= do render state; swapBuffers reshapeCallback $= Just setupProjection keyboardMouseCallback $= Just keyboardMouseHandler idleCallback $= Just (do prepare state; postRedisplay Nothing) -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop fullscreenMode :: Options -> IO () fullscreenMode opts = do let addCapability c = maybe id (\x -> (Where' c IsEqualTo x :)) gameModeCapabilities $= (addCapability GameModeWidth (Just (windowWidth opts)) . addCapability GameModeHeight (Just (windowHeight opts)) . addCapability GameModeBitsPerPlane (bpp opts) . addCapability GameModeRefreshRate (refreshRate opts)) [] enterGameMode maybeWin <- get currentWindow if isJust maybeWin then cursor $= None else do hPutStr stderr "Could not enter fullscreen mode, using windowed mode\n" windowedMode (opts { useFullscreen = False } ) windowedMode :: Options -> IO () windowedMode opts = do initialWindowSize $= Size (fromIntegral (windowWidth opts)) (fromIntegral (windowHeight opts)) createWindow "BOGLGP - Chapter 2 - OpenGL Application" return () -------------------------------------------------------------------------------- -- Option handling -------------------------------------------------------------------------------- data Options = Options { useFullscreen :: Bool, windowWidth :: Int, windowHeight :: Int, bpp :: Maybe Int, refreshRate :: Maybe Int } startOpt :: Options startOpt = Options { useFullscreen = False, windowWidth = 800, windowHeight = 600, bpp = Nothing, refreshRate = Nothing } options :: [OptDescr (Options -> IO Options)] options = [ Option ['f'] ["fullscreen"] (NoArg (\opt -> return opt { useFullscreen = True })) "use fullscreen mode if possible", Option ['w'] ["width"] (ReqArg (\arg opt -> do w <- readInt "WIDTH" arg return opt { windowWidth = w }) "WIDTH") "use window width WIDTH", Option ['h'] ["height"] (ReqArg (\arg opt -> do h <- readInt "HEIGHT" arg return opt { windowHeight = h }) "HEIGHT") "use window height HEIGHT", Option ['b'] ["bpp"] (ReqArg (\arg opt -> do b <- readInt "BPP" arg return opt { bpp = Just b }) "BPP") "use BPP bits per plane (ignored in windowed mode)", Option ['r'] ["refresh-rate"] (ReqArg (\arg opt -> do r <- readInt "HZ" arg return opt { refreshRate = Just r }) "HZ") "use refresh rate HZ (ignored in windowed mode)", Option ['?'] ["help"] (NoArg (\_ -> do usage >>= putStr safeExitWith ExitSuccess)) "show help" ] readInt :: String -> String -> IO Int readInt name arg = case reads arg of ((x,[]) : _) -> return x _ -> dieWith ["Can't parse " ++ name ++ " argument '" ++ arg ++ "'\n"] usage :: IO String usage = do progName <- getProgName return $ usageInfo ("Usage: " ++ progName ++ " [OPTION...]") options parseOptions :: [String] -> IO Options parseOptions args = do let (optsActions, nonOptions, errs) = getOpt Permute options args unless (null nonOptions && null errs) (dieWith errs) foldl (>>=) (return startOpt) optsActions dieWith :: [String] -> IO a dieWith errs = do u <- usage mapM_ (hPutStr stderr) (errs ++ [u]) safeExitWith (ExitFailure 1) -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit when -- ESCAPE is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (Char '\27') Down _ _ = safeExitWith ExitSuccess keyboardMouseHandler _ _ _ _ = return () safeExitWith :: ExitCode -> IO a safeExitWith code = do gma <- get gameModeActive when gma leaveGameMode exitWith code -------------------------------------------------------------------------------- -- The globale state, which is only the current angle in this simple demo. -- We don't need the window dimensions here, they are not used and would -- be easily available via GLUT anyway. -------------------------------------------------------------------------------- data State = State { angle :: IORef GLfloat } makeState :: IO State makeState = do a <- newIORef 0 return $ State { angle = a } -------------------------------------------------------------------------------- -- Do one time setup, i.e. set the clear color and create the global state. -------------------------------------------------------------------------------- initialize :: IO State initialize = do -- clear to black background clearColor $= Color4 0 0 0 0 makeState -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- setupProjection :: ReshapeCallback setupProjection (Size width height) = do -- don't want a divide by zero let h = max 1 height -- reset the viewport to new dimensions viewport $= (Position 0 0, Size width h) -- set projection matrix as the current matrix matrixMode $= Projection -- reset projection matrix loadIdentity -- calculate aspect ratio of window perspective 52 (fromIntegral width / fromIntegral h) 1 1000 -- set modelview matrix matrixMode $= Modelview 0 -- reset modelview matrix loadIdentity -------------------------------------------------------------------------------- -- Perform any data-specific updates for a frame. Here we only increment the -- angle for the rotation of the triangle. -------------------------------------------------------------------------------- prepare :: State -> IdleCallback prepare state = do angle state $~ (+ 0.1) -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- render :: State -> DisplayCallback render state = do -- clear screen and depth buffer clear [ ColorBuffer, DepthBuffer ] loadIdentity -- resolve overloading, not needed in "real" programs let translate3f = translate :: Vector3 GLfloat -> IO () color3f = color :: Color3 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () -- move back 5 units and rotate about all 3 axes translate3f (Vector3 0 0 (-5)) a <- get (angle state) rotate a (Vector3 1 0 0) rotate a (Vector3 0 1 0) rotate a (Vector3 0 0 1) -- lime greenish color color3f (Color3 0.7 1 0.3) -- draw the triangle such that the rotation point is in the center renderPrimitive Triangles $ do vertex3f (Vertex3 1 (-1) 0) vertex3f (Vertex3 (-1) (-1) 0) vertex3f (Vertex3 0 1 0) GLUT-2.4.0.0/examples/BOGLGP/Chapter02/OnYourOwn1.hs0000644000000000000000000002012512121453247017471 0ustar0000000000000000{- OnYourOwn1.hs (adapted from OpenGLApplication which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2004-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( when, unless ) import Data.IORef ( IORef, newIORef ) import Data.Maybe ( isJust ) import Graphics.UI.GLUT hiding ( initialize ) import System.Console.GetOpt import System.Environment ( getProgName ) import System.Exit ( exitWith, ExitCode(..) ) import System.IO ( hPutStr, stderr ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff (_, args) <- getArgsAndInitialize opts <- parseOptions args initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] (if useFullscreen opts then fullscreenMode else windowedMode) opts state <- initialize -- Register the event callback functions displayCallback $= do render state; swapBuffers reshapeCallback $= Just setupProjection keyboardMouseCallback $= Just keyboardMouseHandler idleCallback $= Just (do prepare state; postRedisplay Nothing) -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop fullscreenMode :: Options -> IO () fullscreenMode opts = do let addCapability c = maybe id (\x -> (Where' c IsEqualTo x :)) gameModeCapabilities $= (addCapability GameModeWidth (Just (windowWidth opts)) . addCapability GameModeHeight (Just (windowHeight opts)) . addCapability GameModeBitsPerPlane (bpp opts) . addCapability GameModeRefreshRate (refreshRate opts)) [] enterGameMode maybeWin <- get currentWindow if isJust maybeWin then cursor $= None else do hPutStr stderr "Could not enter fullscreen mode, using windowed mode\n" windowedMode (opts { useFullscreen = False } ) windowedMode :: Options -> IO () windowedMode opts = do initialWindowSize $= Size (fromIntegral (windowWidth opts)) (fromIntegral (windowHeight opts)) createWindow "BOGLGP - Chapter 2 - On Your Own 1" return () -------------------------------------------------------------------------------- -- Option handling -------------------------------------------------------------------------------- data Options = Options { useFullscreen :: Bool, windowWidth :: Int, windowHeight :: Int, bpp :: Maybe Int, refreshRate :: Maybe Int } startOpt :: Options startOpt = Options { useFullscreen = False, windowWidth = 800, windowHeight = 600, bpp = Nothing, refreshRate = Nothing } options :: [OptDescr (Options -> IO Options)] options = [ Option ['f'] ["fullscreen"] (NoArg (\opt -> return opt { useFullscreen = True })) "use fullscreen mode if possible", Option ['w'] ["width"] (ReqArg (\arg opt -> do w <- readInt "WIDTH" arg return opt { windowWidth = w }) "WIDTH") "use window width WIDTH", Option ['h'] ["height"] (ReqArg (\arg opt -> do h <- readInt "HEIGHT" arg return opt { windowHeight = h }) "HEIGHT") "use window height HEIGHT", Option ['b'] ["bpp"] (ReqArg (\arg opt -> do b <- readInt "BPP" arg return opt { bpp = Just b }) "BPP") "use BPP bits per plane (ignored in windowed mode)", Option ['r'] ["refresh-rate"] (ReqArg (\arg opt -> do r <- readInt "HZ" arg return opt { refreshRate = Just r }) "HZ") "use refresh rate HZ (ignored in windowed mode)", Option ['?'] ["help"] (NoArg (\_ -> do usage >>= putStr safeExitWith ExitSuccess)) "show help" ] readInt :: String -> String -> IO Int readInt name arg = case reads arg of ((x,[]) : _) -> return x _ -> dieWith ["Can't parse " ++ name ++ " argument '" ++ arg ++ "'\n"] usage :: IO String usage = do progName <- getProgName return $ usageInfo ("Usage: " ++ progName ++ " [OPTION...]") options parseOptions :: [String] -> IO Options parseOptions args = do let (optsActions, nonOptions, errs) = getOpt Permute options args unless (null nonOptions && null errs) (dieWith errs) foldl (>>=) (return startOpt) optsActions dieWith :: [String] -> IO a dieWith errs = do u <- usage mapM_ (hPutStr stderr) (errs ++ [u]) safeExitWith (ExitFailure 1) -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit when -- ESCAPE is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (Char '\27') Down _ _ = safeExitWith ExitSuccess keyboardMouseHandler _ _ _ _ = return () safeExitWith :: ExitCode -> IO a safeExitWith code = do gma <- get gameModeActive when gma leaveGameMode exitWith code -------------------------------------------------------------------------------- -- The globale state, which is only the current angle in this simple demo. -- We don't need the window dimensions here, they are not used and would -- be easily available via GLUT anyway. -------------------------------------------------------------------------------- data State = State { angle :: IORef GLfloat } makeState :: IO State makeState = do a <- newIORef 0 return $ State { angle = a } -------------------------------------------------------------------------------- -- Do one time setup, i.e. set the clear color and create the global state. -------------------------------------------------------------------------------- initialize :: IO State initialize = do -- clear to white background clearColor $= Color4 1 1 1 0 makeState -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- setupProjection :: ReshapeCallback setupProjection (Size width height) = do -- don't want a divide by zero let h = max 1 height -- reset the viewport to new dimensions viewport $= (Position 0 0, Size width h) -- set projection matrix as the current matrix matrixMode $= Projection -- reset projection matrix loadIdentity -- calculate aspect ratio of window perspective 52 (fromIntegral width / fromIntegral h) 1 1000 -- set modelview matrix matrixMode $= Modelview 0 -- reset modelview matrix loadIdentity -------------------------------------------------------------------------------- -- Perform any data-specific updates for a frame. Here we only increment the -- angle for the rotation of the triangle. -------------------------------------------------------------------------------- prepare :: State -> IdleCallback prepare state = do angle state $~ (+ 0.1) -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- render :: State -> DisplayCallback render state = do -- clear screen and depth buffer clear [ ColorBuffer, DepthBuffer ] loadIdentity -- resolve overloading, not needed in "real" programs let translate3f = translate :: Vector3 GLfloat -> IO () color3f = color :: Color3 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () -- move back 5 units and rotate about all 3 axes translate3f (Vector3 0 0 (-5)) a <- get (angle state) rotate a (Vector3 1 0 0) rotate a (Vector3 0 1 0) rotate a (Vector3 0 0 1) -- red color color3f (Color3 1 0 0) -- draw the triangle such that the rotation point is in the center renderPrimitive Triangles $ do vertex3f (Vertex3 1 (-1) 0) vertex3f (Vertex3 (-1) (-1) 0) vertex3f (Vertex3 0 1 0) GLUT-2.4.0.0/examples/BOGLGP/Chapter01/0000755000000000000000000000000012121453247015134 5ustar0000000000000000GLUT-2.4.0.0/examples/BOGLGP/Chapter01/Simple.hs0000644000000000000000000000776512121453247016740 0ustar0000000000000000{- Simple.hs (adapted from Simple.cpp which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2004-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( unless ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT hiding ( initialize ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff getArgsAndInitialize initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] -- Create the window initialWindowSize $= Size 1024 768 initialWindowPosition $= Position 100 150 createWindow "BOGLGP - Chapter 1 - Simple" initialize -- Register the event callback functions displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboardMouseHandler -- No need for an idle callback here, this would just hog the CPU -- without any visible effect -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop -------------------------------------------------------------------------------- -- One time setup, including creating menus, creating a light, setting the -- shading mode and clear color, and loading textures. -------------------------------------------------------------------------------- initialize :: IO () initialize = do -- set up the only meny attachMenu RightButton (Menu [MenuEntry "Exit" (exitWith ExitSuccess)]) depthFunc $= Just Less -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit on a -- left click or when q is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (MouseButton LeftButton)_ _ _ = exitWith ExitSuccess keyboardMouseHandler (Char 'q') _ _ _ = exitWith ExitSuccess keyboardMouseHandler _ _ _ _ = postRedisplay Nothing -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- reshape :: ReshapeCallback reshape size@(Size width height) = unless (height == 0) $ do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 90 (fromIntegral width / fromIntegral height) 1 100 matrixMode $= Modelview 0 -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- display :: DisplayCallback display = do -- set up the camera loadIdentity lookAt (Vertex3 0 1 6) (Vertex3 0 0 0) (Vector3 0 1 0) -- clear the screen clear [ ColorBuffer, DepthBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () -- draw a triangle renderPrimitive Triangles $ do color3f (Color3 1 0 0) vertex3f (Vertex3 2 2.5 (-1)) color3f (Color3 0 1 0) vertex3f (Vertex3 (-3.5) (-2.5) (-1)) color3f (Color3 0 0 1) vertex3f (Vertex3 2 (-4) 0) -- draw a polygon renderPrimitive Polygon $ do color3f (Color3 1 1 1) vertex3f (Vertex3 (-1) 2 0) color3f (Color3 1 1 0) vertex3f (Vertex3 (-3) (-0.5) 0) color3f (Color3 0 1 1) vertex3f (Vertex3 (-1.5) (-3) 0) color3f (Color3 0 0 0) vertex3f (Vertex3 1 (-2) 0) color3f (Color3 1 0 1) vertex3f (Vertex3 1 1 0) -- draw everything and swap the display buffer swapBuffers GLUT-2.4.0.0/examples/BOGLGP/Chapter01/OnYourOwn1.hs0000644000000000000000000001000012121453247017457 0ustar0000000000000000{- OnYourOwn1.hs (adapted from Simple.cpp which is (c) 2004 Astle/Hawkins) Copyright (c) Sven Panne 2004-2005 This file is part of HOpenGL and distributed under a BSD-style license See the file libraries/GLUT/LICENSE -} import Control.Monad ( unless ) import System.Exit ( exitWith, ExitCode(ExitSuccess) ) import Graphics.UI.GLUT hiding ( initialize ) -------------------------------------------------------------------------------- -- Setup GLUT and OpenGL, drop into the event loop. -------------------------------------------------------------------------------- main :: IO () main = do -- Setup the basic GLUT stuff getArgsAndInitialize initialDisplayMode $= [ DoubleBuffered, RGBMode, WithDepthBuffer ] -- Create the window initialWindowSize $= Size 1024 768 initialWindowPosition $= Position 100 150 createWindow "BOGLGP - Chapter 1 - On Your Own 1" initialize -- Register the event callback functions displayCallback $= display reshapeCallback $= Just reshape keyboardMouseCallback $= Just keyboardMouseHandler -- No need for an idle callback here, this would just hog the CPU -- without any visible effect -- At this point, control is relinquished to the GLUT event handler. -- Control is returned as events occur, via the callback functions. mainLoop -------------------------------------------------------------------------------- -- One time setup, including creating menus, creating a light, setting the -- shading mode and clear color, and loading textures. -------------------------------------------------------------------------------- initialize :: IO () initialize = do -- set up the only meny attachMenu RightButton (Menu [MenuEntry "Exit" (exitWith ExitSuccess)]) depthFunc $= Just Less -------------------------------------------------------------------------------- -- Handle mouse and keyboard events. For this simple demo, just exit on a -- left click or when q is pressed. -------------------------------------------------------------------------------- keyboardMouseHandler :: KeyboardMouseCallback keyboardMouseHandler (MouseButton LeftButton)_ _ _ = exitWith ExitSuccess keyboardMouseHandler (Char 'q') _ _ _ = exitWith ExitSuccess keyboardMouseHandler _ _ _ _ = postRedisplay Nothing -------------------------------------------------------------------------------- -- Reset the viewport for window changes. -------------------------------------------------------------------------------- reshape :: ReshapeCallback reshape size@(Size width height) = unless (height == 0) $ do viewport $= (Position 0 0, size) matrixMode $= Projection loadIdentity perspective 90 (fromIntegral width / fromIntegral height) 1 100 matrixMode $= Modelview 0 -------------------------------------------------------------------------------- -- Clear and redraw the scene. -------------------------------------------------------------------------------- display :: DisplayCallback display = do -- set up the camera loadIdentity lookAt (Vertex3 0 1 6) (Vertex3 0 0 0) (Vector3 0 1 0) -- clear the screen clear [ ColorBuffer, DepthBuffer ] -- resolve overloading, not needed in "real" programs let color3f = color :: Color3 GLfloat -> IO () vertex3f = vertex :: Vertex3 GLfloat -> IO () -- draw a triangle renderPrimitive Triangles $ do color3f (Color3 1 0 0) vertex3f (Vertex3 2 2.5 (-1)) color3f (Color3 1 0 0) vertex3f (Vertex3 (-3.5) (-2.5) (-1)) color3f (Color3 1 0 0) vertex3f (Vertex3 2 (-4) 0) -- draw a polygon renderPrimitive Polygon $ do color3f (Color3 0 0 1) vertex3f (Vertex3 (-1) 2 0) color3f (Color3 0 0 1) vertex3f (Vertex3 (-3) (-0.5) 0) color3f (Color3 0 0 1) vertex3f (Vertex3 (-1.5) (-3) 0) color3f (Color3 0 0 1) vertex3f (Vertex3 1 (-2) 0) color3f (Color3 0 0 1) vertex3f (Vertex3 1 1 0) -- draw everything and swap the display buffer swapBuffers GLUT-2.4.0.0/cbits/0000755000000000000000000000000012121453247011721 5ustar0000000000000000GLUT-2.4.0.0/cbits/HsGLUT.c0000644000000000000000000001007012121453247013131 0ustar0000000000000000/* ----------------------------------------------------------------------------- * * Module : C support for Graphics.UI.GLUT.Raw * Copyright : (c) Sven Panne 2002-2009 * License : BSD-style (see the file LICENSE) * * Maintainer : sven.panne@aedion.de * Stability : provisional * Portability : portable * * -------------------------------------------------------------------------- */ #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__WATCOMC__) #define GLUT_STROKE_ROMAN ((void *)0x0000) #define GLUT_STROKE_MONO_ROMAN ((void *)0x0001) #define GLUT_BITMAP_9_BY_15 ((void *)0x0002) #define GLUT_BITMAP_8_BY_13 ((void *)0x0003) #define GLUT_BITMAP_TIMES_ROMAN_10 ((void *)0x0004) #define GLUT_BITMAP_TIMES_ROMAN_24 ((void *)0x0005) #define GLUT_BITMAP_HELVETICA_10 ((void *)0x0006) #define GLUT_BITMAP_HELVETICA_12 ((void *)0x0007) #define GLUT_BITMAP_HELVETICA_18 ((void *)0x0008) #else extern void* glutStrokeRoman; extern void* glutStrokeMonoRoman; extern void* glutBitmap9By15; extern void* glutBitmap8By13; extern void* glutBitmapTimesRoman10; extern void* glutBitmapTimesRoman24; extern void* glutBitmapHelvetica10; extern void* glutBitmapHelvetica12; extern void* glutBitmapHelvetica18; #define GLUT_STROKE_ROMAN ((void *)&glutStrokeRoman) #define GLUT_STROKE_MONO_ROMAN ((void *)&glutStrokeMonoRoman) #define GLUT_BITMAP_9_BY_15 ((void *)&glutBitmap9By15) #define GLUT_BITMAP_8_BY_13 ((void *)&glutBitmap8By13) #define GLUT_BITMAP_TIMES_ROMAN_10 ((void *)&glutBitmapTimesRoman10) #define GLUT_BITMAP_TIMES_ROMAN_24 ((void *)&glutBitmapTimesRoman24) #define GLUT_BITMAP_HELVETICA_10 ((void *)&glutBitmapHelvetica10) #define GLUT_BITMAP_HELVETICA_12 ((void *)&glutBitmapHelvetica12) #define GLUT_BITMAP_HELVETICA_18 ((void *)&glutBitmapHelvetica18) #endif void* hs_GLUT_marshalBitmapFont(int fontID) { switch (fontID) { case 0 : return GLUT_BITMAP_8_BY_13; case 1 : return GLUT_BITMAP_9_BY_15; case 2 : return GLUT_BITMAP_TIMES_ROMAN_10; case 3 : return GLUT_BITMAP_TIMES_ROMAN_24; case 4 : return GLUT_BITMAP_HELVETICA_10; case 5 : return GLUT_BITMAP_HELVETICA_12; case 6 : return GLUT_BITMAP_HELVETICA_18; } return (void*)0; } void* hs_GLUT_marshalStrokeFont(int fontID) { switch (fontID) { case 0 : return GLUT_STROKE_ROMAN; case 1 : return GLUT_STROKE_MONO_ROMAN; } return (void*)0; } /* -------------------------------------------------------------------------- */ #if defined(USE_GETPROCADDRESS) #define WIN32_LEAN_AND_MEAN #include void* hs_GLUT_getProcAddress(const char *name) { static int firstTime = 1; static HMODULE handle = NULL; if (firstTime) { firstTime = 0; handle = LoadLibrary(TEXT("glut32")); } return handle ? GetProcAddress(handle, name) : NULL; } /* -------------------------------------------------------------------------- */ #elif defined(USE_NSADDRESSOFSYMBOL) #include #include #include void* hs_GLUT_getProcAddress(const char *name) { NSSymbol symbol; /* Prepend a '_' for the Unix C symbol mangling convention */ char* symbolName = (char*)malloc(strlen(name) + 2); if (!symbolName) { return NULL; } symbolName[0] = '_'; strcpy(symbolName + 1, name); if (!NSIsSymbolNameDefined(symbolName)) { free(symbolName); return NULL; } symbol = NSLookupAndBindSymbol(symbolName); free(symbolName); if (!symbol) { return NULL; } return NSAddressOfSymbol(symbol); } /* -------------------------------------------------------------------------- */ #elif defined(USE_DLSYM) #include #include void* hs_GLUT_getProcAddress(const char *name) { static int firstTime = 1; static void *handle = NULL; if (firstTime) { firstTime = 0; /* Get a handle for our executable. */ handle = dlopen(NULL, RTLD_LAZY); } return handle ? dlsym(handle, name) : NULL; } /* -------------------------------------------------------------------------- */ #else #error "Don't know how to retrieve GLUT entries" #endif