lhs2tex-1.18.1/0000755000175000001440000000000012022734320012361 5ustar andresuserslhs2tex-1.18.1/lhs2TeX.fmt.lit0000644000175000001440000003524712022734320015164 0ustar andresusers\begin{code} %if False % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % %endif %if not lhs2tex_lhs2tex_fmt_read %let lhs2tex_lhs2tex_fmt_read = True \end{code} %-------------------------------= -------------------------------------------- \section{Format definitions} %-------------------------------= -------------------------------------------- %-------------------------------= -------------------------------------------- \subsection{Verbatim style} %-------------------------------= -------------------------------------------- Also used for \verb@\verb@ and \verb@\begin{verbatim}@, so no conditionals at work here. % \begin{code} %subst verb a = "\text{\tt " a "}" %subst verbatim a = "\begin{tabbing}\tt'n" a "'n\end{tabbing}'n" %subst verbnl = "\\'n\tt " \end{code} %-------------------------------= -------------------------------------------- \subsection{Typewriter style} %-------------------------------= -------------------------------------------- \begin{code} %if style == tt %subst inline a = "\text{\texfamily " a "}" %subst thinspace = "\Sp " %subst code a = "\begin{tabbing}\texfamily'n" a "'n\end{tabbing}'n" %subst comment a = "{\rmfamily-{}- " a "}" %subst nested a = "{\rmfamily\enskip\{- " a " -\}\enskip}" %subst pragma a = "{\rmfamily\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %subst spaces a = a %subst special a = a %subst space = "~" %subst newline = "\\'n\texfamily " %subst conid a = "{\itshape " a "}" %subst varid a = a %subst consym a = a %subst varsym a = a %subst backquoted a = "`" a "`" %subst numeral a = a %subst char a = "''" a "''" %subst string a = "\char34 " a "\char34 " %if underlineKeywords %subst keyword a = "\uline{" a "}" %else %subst keyword a = "{\bfseries " a "}" %endif %format \ = "\char''10" %format . = "\char''00" %if not spacePreserving %format alpha = "\char''02" %format beta = "\char''03" %format gamma = "\char''11" %format delta = "\char''12" %format pi = "\char''07" %format infty = "\char''16" %format intersect = "\char''22" %format union = "\char''23" %format forall = "\char''24" %format exists = "\char''25" %format not = "\char''05" %format && = "\char''04" %format || = "\char''37" %format <- = "\char''06" %format -> = "\char''31" %format == = "\char''36" %format /= = "\char''32" %format <= = "\char''34" %format >= = "\char''35" %endif \end{code} % Unterst"utzung f"ur Meta-Haskell. % \begin{code} %if meta %format M.a = "\ensuremath{a}" %format M.b = "\ensuremath{b}" \end{code} etc~(for all lower and upper case letters). %if style == code \begin{code} %format M.c = "\ensuremath{c}" %format M.d = "\ensuremath{d}" %format M.e = "\ensuremath{e}" %format M.f = "\ensuremath{f}" %format M.g = "\ensuremath{g}" %format M.h = "\ensuremath{h}" %format M.i = "\ensuremath{i}" %format M.j = "\ensuremath{j}" %format M.k = "\ensuremath{k}" %format M.l = "\ensuremath{l}" %format M.m = "\ensuremath{m}" %format M.n = "\ensuremath{n}" %format M.o = "\ensuremath{o}" %format M.p = "\ensuremath{p}" %format M.q = "\ensuremath{q}" %format M.r = "\ensuremath{r}" %format M.s = "\ensuremath{s}" %format M.t = "\ensuremath{t}" %format M.u = "\ensuremath{u}" %format M.v = "\ensuremath{v}" %format M.w = "\ensuremath{w}" %format M.x = "\ensuremath{x}" %format M.y = "\ensuremath{y}" %format M.z = "\ensuremath{z}" %format M.A = "\ensuremath{A}" %format M.B = "\ensuremath{B}" %format M.C = "\ensuremath{C}" %format M.D = "\ensuremath{D}" %format M.E = "\ensuremath{E}" %format M.F = "\ensuremath{F}" %format M.G = "\ensuremath{G}" %format M.H = "\ensuremath{H}" %format M.I = "\ensuremath{I}" %format M.J = "\ensuremath{J}" %format M.K = "\ensuremath{K}" %format M.L = "\ensuremath{L}" %format M.M = "\ensuremath{M}" %format M.N = "\ensuremath{N}" %format M.O = "\ensuremath{O}" %format M.P = "\ensuremath{P}" %format M.Q = "\ensuremath{Q}" %format M.R = "\ensuremath{R}" %format M.S = "\ensuremath{S}" %format M.T = "\ensuremath{T}" %format M.U = "\ensuremath{U}" %format M.V = "\ensuremath{V}" %format M.W = "\ensuremath{W}" %format M.X = "\ensuremath{X}" %format M.Y = "\ensuremath{Y}" %format M.Z = "\ensuremath{Z}" \end{code} %endif \begin{code} %format M.alpha = "\ensuremath{\alpha}" %format M.beta = "\ensuremath{\beta}" \end{code} etc~(for all lower and upper case greek letters). %if style == code \begin{code} %format M.gamma = "\ensuremath{\gamma}" %format M.delta = "\ensuremath{\delta}" %format M.epsilon = "\ensuremath{\epsilon}" %format M.zeta = "\ensuremath{\zeta}" %format M.eta = "\ensuremath{\eta}" %format M.theta = "\ensuremath{\theta}" %format M.iota = "\ensuremath{\iota}" %format M.kappa = "\ensuremath{\kappa}" %format M.lambda = "\ensuremath{\lambda}" %format M.mu = "\ensuremath{\mu}" %format M.nu = "\ensuremath{\nu}" %format M.xi = "\ensuremath{\xi}" %format M.pi = "\ensuremath{\pi}" %format M.rho = "\ensuremath{\rho}" %format M.sigma = "\ensuremath{\sigma}" %format M.tau = "\ensuremath{\tau}" %format M.upsilon = "\ensuremath{\upsilon}" %format M.phi = "\ensuremath{\phi}" %format M.chi = "\ensuremath{\chi}" %format M.psi = "\ensuremath{\psi}" %format M.omega = "\ensuremath{\omega}" %format M.Gamma = "\ensuremath{\Gamma}" %format M.Delta = "\ensuremath{\Delta}" %format M.Theta = "\ensuremath{\Theta}" %format M.Lambda = "\ensuremath{\Lambda}" %format M.Xi = "\ensuremath{\Xi}" %format M.Pi = "\ensuremath{\Pi}" %format M.Sigma = "\ensuremath{\Sigma}" %format M.Upsilon = "\ensuremath{\Upsilon}" %format M.Phi = "\ensuremath{\Phi}" %format M.Psi = "\ensuremath{\Psi}" %format M.Omega = "\ensuremath{\Omega}" \end{code} %endif \begin{code} %format M.forall = "\ensuremath{\forall}" %format M.exists = "\ensuremath{\exists}" %format M.not = "\ensuremath{\neg}" %format ==> = "\ensuremath{\Longrightarrow}" %format <== = "\ensuremath{\Longleftarrow}" %format /\ = "\ensuremath{\wedge}" %format \/ = "\ensuremath{\vee}" %format M.= = "\ensuremath{=}" %format M./= = "\ensuremath{\neq}" %format M.< = "\ensuremath{<}" %format M.<= = "\ensuremath{\leq}" %format M.>= = "\ensuremath{\geq}" %format M.> = "\ensuremath{>}" %endif \end{code} %-------------------------------= -------------------------------------------- \subsection{New code style} %-------------------------------= -------------------------------------------- \begin{code} %elif style == newcode %subst comment a = "-- " a %subst nested a = "{- " a " -}" %subst code a = a "'n" %subst newline = "'n" %subst dummy = %subst pragma a = "{-# " a " #-}" %subst tex a = %subst numeral a = a %subst keyword a = a %subst spaces a = a %subst special a = a %subst space = " " %subst conid a = a %subst varid a = a %subst consym a = a %subst varsym a = a %subst backquoted a = "`" a "`" %subst char a = "''" a "''" %subst string a = "'d" a "'d" \end{code} %-------------------------------= -------------------------------------------- \subsection{Math and Poly style} %-------------------------------= -------------------------------------------- Some things modified due to introduction of @poly@ formatter by ks, 17.07.2003. Since both formatters share a lot of declarations, both declare |anyMath| to be true. The common parts are then declared in a conditional checking |anyMath|. \begin{code} %elif style == math %subst phantom a = "\phantom{" a "\mbox{}}" %subst comment a = "\mbox{\qquad-{}- " a "}" %subst nested a = "\mbox{\enskip\{- " a " -\}\enskip}" %if array %subst code a = "\[\begin{array}{@{}lcl}'n\hspace{\lwidth}&\hspace{\cwidth}&\\[-10pt]'n" a "'n\end{array}\]" %subst column3 l c r = "{}" l " & " c " & {" r "}" %subst column1 a = "\multicolumn{3}{@{}l}{" a "}" %else %subst code a = "\begin{tabbing}'n\qquad\=\hspace{\lwidth}\=\hspace{\cwidth}\=\+\kill'n" a "'n\end{tabbing}" %subst column3 l c r = "$" l "$ \> \makebox[\cwidth]{$" c "$} \> ${" r "}$" %subst column1 a = "${" a "}$" %endif %subst newline = "\\'n" %subst blankline = "\\[0.66084ex]%'n" %let anyMath = True %elif style == poly %subst comment a = "\mbox{\onelinecomment " a "}" %subst nested a = "\mbox{\commentbegin " a " \commentend}" %if array %subst code a = "\['n\begin{parray}\SaveRestoreHook'n" a "\ColumnHook'n\end{parray}'n\]\resethooks'n" %else %subst code a = "\begingroup\par\noindent\advance\leftskip\mathindent\('n\begin{pboxed}\SaveRestoreHook'n" a "\ColumnHook'n\end{pboxed}'n\)\par\noindent\endgroup\resethooks'n" %endif %subst column c a = "\column{" c "}{" a "}%'n" %subst fromto b e t = "\>[" b "]{}" t "{}\<[" e "]%'n" %subst left = "@{}>{\hspre}l<{\hspost}@{}" %subst centered = "@{}>{\hspre}c<{\hspost}@{}" %subst dummycol = "@{}l@{}" %subst newline = "\\'n" %subst blankline = "\\[\blanklineskip]%'n" %subst indent n = "\hsindent{" n "}" %let anyMath = True %endif %if anyMath %let autoSpacing = True %subst dummy = "\cdot " %subst inline a = "\ensuremath{" a "}" %subst hskip a = "\hskip" a "em\relax" %subst pragma a = "\mbox{\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %if latex209 %subst numeral a = "{\mathrm " a "}" %subst keyword a = "{\mathbf " a "}" %else %subst numeral a = "\mathrm{" a "}" %subst keyword a = "\mathbf{" a "}" %endif %subst spaces a = a %subst special a = a %subst space = "\;" %subst conid a = "\Conid{" a "}" %subst varid a = "\Varid{" a "}" %subst consym a = "\mathbin{" a "}" %subst varsym a = "\mathbin{" a "}" %subst backquoted a = "\mathbin{`" a "`}" %subst char a = "\text{\tt ''" a "''}" %subst string a = "\text{\tt \char34 " a "\char34}" %format _ = "\anonymous " %format -> = "\to " %format <- = "\leftarrow " %format => = "\Rightarrow " %format \ = "\lambda " %format | = "\mid " %format { = "\{\mskip1.5mu " %format } = "\mskip1.5mu\}" %format [ = "[\mskip1.5mu " %format ] = "\mskip1.5mu]" %format = = "\mathrel{=}" %format .. = "\mathinner{\ldotp\ldotp}" %format ~ = "\mathord{\sim}" %format @ = "\mathord{@}" %format . = "\mathbin{\circ}" %format !! = "\mathbin{!!}" %format ^ = "\mathbin{\uparrow}" %format ^^ = "\mathbin{\uparrow\uparrow}" %format ** = "\mathbin{**}" %format / = "\mathbin{/}" %format `quot` = "\mathbin{\Varid{`quot`}}" %format `rem` = "\mathbin{\Varid{`rem`}}" %format `div` = "\mathbin{\Varid{`div`}}" %format `mod` = "\mathbin{\Varid{`mod`}}" %format :% = "\mathbin{:\%}" %format % = "\mathbin{\%}" %format : = "\mathbin{:}" %format ++ = "\plus " %format == = "\equiv " %% ODER: format == = "\mathrel{==}" %format /= = "\not\equiv " %% ODER: format /= = "\neq " %format <= = "\leq " %format >= = "\geq " %format `elem` = "\in " %format `notElem` = "\notin " %format && = "\mathrel{\wedge}" %format || = "\mathrel{\vee}" %format >> = "\sequ " %format >>= = "\bind " %format =<< = "\rbind " %format $ = "\mathbin{\$}" %format `seq` = "\mathbin{\Varid{`seq`}}" %format ! = "\mathbin{!}" %format // = "\mathbin{//}" %format undefined = "\bot " %format not = "\neg " \end{code} % Problem: |!| wird sowohl als Infix-Operator als auch prefix f"ur Striktheitsannotationen verwendet (|"\mathord{!}"|). Unterst"utzung f"ur Meta-Haskell. % \begin{code} %if meta %format M.a = "a" %format M.b = "b" \end{code} etc~(for all lower and upper case letters). %if style == code \begin{code} %format M.c = "c" %format M.d = "d" %format M.e = "e" %format M.f = "f" %format M.g = "g" %format M.h = "h" %format M.i = "i" %format M.j = "j" %format M.k = "k" %format M.l = "l" %format M.m = "m" %format M.n = "n" %format M.o = "o" %format M.p = "p" %format M.q = "q" %format M.r = "r" %format M.s = "s" %format M.t = "t" %format M.u = "u" %format M.v = "v" %format M.w = "w" %format M.x = "x" %format M.y = "y" %format M.z = "z" %format M.A = "A" %format M.B = "B" %format M.C = "C" %format M.D = "D" %format M.E = "E" %format M.F = "F" %format M.G = "G" %format M.H = "H" %format M.I = "I" %format M.J = "J" %format M.K = "K" %format M.L = "L" %format M.M = "M" %format M.N = "N" %format M.O = "O" %format M.P = "P" %format M.Q = "Q" %format M.R = "R" %format M.S = "S" %format M.T = "T" %format M.U = "U" %format M.V = "V" %format M.W = "W" %format M.X = "X" %format M.Y = "Y" %format M.Z = "Z" \end{code} %endif \begin{code} %format M.alpha = "\alpha " %format M.beta = "\beta " \end{code} etc~(for all lower and upper case greek letters). %if style == code \begin{code} %format M.gamma = "\gamma " %format M.delta = "\delta " %format M.epsilon = "\epsilon " %format M.zeta = "\zeta " %format M.eta = "\eta " %format M.theta = "\theta " %format M.iota = "\iota " %format M.kappa = "\kappa " %format M.lambda = "\lambda " %format M.mu = "\mu " %format M.nu = "\nu " %format M.xi = "\xi " %format M.pi = "\pi " %format M.rho = "\rho " %format M.sigma = "\sigma " %format M.tau = "\tau " %format M.upsilon = "\upsilon " %format M.phi = "\phi " %format M.chi = "\chi " %format M.psi = "\psi " %format M.omega = "\omega " %format M.Gamma = "\Gamma " %format M.Delta = "\Delta " %format M.Theta = "\Theta " %format M.Lambda = "\Lambda " %format M.Xi = "\Xi " %format M.Pi = "\Pi " %format M.Sigma = "\Sigma " %format M.Upsilon = "\Upsilon " %format M.Phi = "\Phi " %format M.Psi = "\Psi " %format M.Omega = "\Omega " \end{code} %endif \begin{code} %format M.forall = "\forall " %format M.exists = "\exists " %format M.not = "\neg " %format ==> = "\enskip\Longrightarrow\enskip " %format <== = "\enskip\Longleftarrow\enskip " %format /\ = "\enskip\mathrel{\wedge}\enskip " %format \/ = "\enskip\mathrel{\vee}\enskip " %format M.= = "=" %format M./= = "\neq " %format M.< = "<" %format M.<= = "\leq " %format M.>= = "\geq " %format M.> = ">" %endif %endif \end{code} %-------------------------------= -------------------------------------------- \section{\LaTeX commands} %-------------------------------= -------------------------------------------- New, 21.11.2005: @lhs2TeX.sty@ is now included from @lhs2TeX.fmt@. \begin{code} %include lhs2TeX.sty \end{code} \begin{code} %endif \end{code} lhs2tex-1.18.1/cata.snip0000644000175000001440000000225012022734320014163 0ustar andresusers%format map = "\textbf{map}" We start by defining a datatype for constructing fixed points of unary type constructors: %format Mu = "\mu " %format In = "\textbf{In}" > data Mu f = In (f (Mu f)) Ideally, we would like to view the |In| constructor as an isomorphism of |f (Mu f)| and |Mu f| with the inverse isomorphism given by: %format out = "\textbf{out}" > out :: Mu f -> f (Mu f) > out (In x) = x %format (cata (x)) = "\llparenthesis " x "\rrparenthesis " %format (ana (x)) = "\llbracket " x "\rrbracket " %format phi = "\varphi " %format psi = "\psi " The general definitions of catamorphisms and anamorphisms denoted by |cata phi| and |ana psi| respectively, can be expressed directly in this framework: > cata :: (Functor m) => (m a -> a) -> (Mu m -> a) > cata phi = phi . map (cata phi) . out > > ana :: (Functor m) => (a -> m a) -> (a -> Mu m) > ana psi = In . map (ana psi) . psi lhs2tex-1.18.1/Setup.hs0000644000175000001440000004601212022734320014020 0ustar andresusersimport Distribution.Simple.Setup (CopyDest(..),ConfigFlags(..),BuildFlags(..), CopyFlags(..),RegisterFlags(..),InstallFlags(..), defaultRegisterFlags,fromFlagOrDefault,Flag(..), defaultCopyFlags) import Distribution.Simple import Distribution.Simple.LocalBuildInfo (LocalBuildInfo(..),absoluteInstallDirs) import Distribution.Simple.Configure (configCompilerAux) import Distribution.PackageDescription (PackageDescription(..)) import Distribution.Simple.InstallDirs (InstallDirs(..)) import Distribution.Simple.Program (Program(..),ConfiguredProgram(..),ProgramConfiguration(..), ProgramLocation(..),simpleProgram,lookupProgram, rawSystemProgramConf) import Distribution.Simple.Utils import Distribution.Verbosity import Data.Char (isSpace, showLitChar) import Data.List (isSuffixOf,isPrefixOf) import Data.Maybe (listToMaybe,isJust) import Data.Version import Control.Exception (try) import Control.Monad (when,unless) import Text.Regex (matchRegex,matchRegexAll,mkRegex,mkRegexWithOpts,subRegex) import Text.ParserCombinators.ReadP (readP_to_S) import System.Exit import System.IO (hGetContents,hClose,hPutStr,stderr) import System.Process (runInteractiveProcess,waitForProcess) import System.Directory import System.Info (os) lhs2tex = "lhs2TeX" minPolytableVersion = [0,8,2] shortversion = show (numversion `div` 100) ++ "." ++ show (numversion `mod` 100) ++ ".1" version = shortversion ++ if ispre then "pre" ++ show pre else "" numversion = 118 ispre = False pre = 1 main = defaultMainWithHooks lhs2texHooks sep = if isWindows then ";" else ":" lhs2texBuildInfoFile :: FilePath lhs2texBuildInfoFile = "." `joinFileName` ".setup-lhs2tex-config" generatedFiles = ["src" `joinFileName` "Version.lhs", "lhs2TeX.1", "doc" `joinFileName` "InteractiveHugs.lhs", "doc" `joinFileName` "InteractivePre.lhs"] data Lhs2texBuildInfo = Lhs2texBuildInfo { installPolyTable :: Maybe String, rebuildDocumentation :: Bool } deriving (Show, Read) lhs2texHooks = simpleUserHooks { hookedPrograms = [simpleProgram "hugs", simpleProgram "kpsewhich", simpleProgram "pdflatex", simpleProgram "mktexlsr"], postConf = lhs2texPostConf, postBuild = lhs2texPostBuild, postCopy = lhs2texPostCopy, postInst = lhs2texPostInst, regHook = lhs2texRegHook, cleanHook = lhs2texCleanHook } lhs2texPostConf a cf pd lbi = do let v = fromFlagOrDefault normal (configVerbosity cf) -- check polytable (_,b,_) <- runKpseWhichVar "TEXMFLOCAL" b <- return . stripQuotes . stripNewlines $ b ex <- return (not . all isSpace $ b) -- or check if directory exists? b <- if ex then return b else do (_,b,_) <- (runKpseWhichVar "TEXMFMAIN") return . stripQuotes . stripNewlines $ b ex <- return (not . all isSpace $ b) -- or check if directory exists? i <- if ex then do (_,p,_) <- runKpseWhich "polytable.sty" p <- return . stripNewlines $ p ex <- doesFileExist p nec <- if ex then do info v $ "Found polytable package at: " ++ p x <- readFile p let vp = do vs <- matchRegex (mkRegexWithOpts " v(.*) .polytable. package" True True) x listToMaybe [ r | v <- vs, (r,"") <- readP_to_S parseVersion v ] let (sv,nec) = case vp of Just n -> (showVersion n,versionBranch n < minPolytableVersion) Nothing -> ("unknown",True) info v $ "Package polytable version: " ++ sv return nec else return True info v $ "Package polytable installation necessary: " ++ showYesNo nec when nec $ info v $ "Using texmf tree at: " ++ b return (if nec then Just b else Nothing) else do warn v "No texmf tree found, polytable package cannot be installed" return Nothing -- check documentation ex <- doesFileExist $ "doc" `joinFileName` "Guide2.dontbuild" r <- if ex then do info v "Documentation will not be rebuilt unless you remove the file \"doc/Guide2.dontbuild\"" return False else do let mProg = lookupProgram (simpleProgram "pdflatex") (withPrograms lbi) case mProg of Nothing -> info v "Documentation cannot be rebuilt without pdflatex" >> return False Just _ -> return True unless r $ info v $ "Using pre-built documentation" writePersistLhs2texBuildConfig (Lhs2texBuildInfo { installPolyTable = i, rebuildDocumentation = r }) mapM_ (\f -> do info v $ "Creating " ++ f let hugsExists = lookupProgram (simpleProgram "hugs") (withPrograms lbi) hugs <- case hugsExists of Nothing -> return "" Just _ -> fmap fst (getProgram "hugs" (withPrograms lbi)) let lhs2texDir = buildDir lbi `joinFileName` lhs2tex let lhs2texBin = lhs2texDir `joinFileName` lhs2tex readFile (f ++ ".in") >>= return . -- these paths could contain backslashes, so we -- need to escape them. replace "@prefix@" (escapeChars $ prefix (absoluteInstallDirs pd lbi NoCopyDest)) . replace "@stydir@" (escapeChars $ datadir (absoluteInstallDirs pd lbi NoCopyDest)) . replace "@LHS2TEX@" lhs2texBin . replace "@HUGS@" hugs . replace "@VERSION@" version . replace "@SHORTVERSION@" shortversion . replace "@NUMVERSION@" (show numversion) . replace "@SEP@" sep . replace "@PRE@" (show pre) >>= writeFile f) generatedFiles where runKpseWhich v = runCommandProgramConf silent "kpsewhich" (withPrograms lbi) [v] runKpseWhichVar v = runKpseWhich $ "-expand-var='$" ++ v ++ "'" lhs2texPostBuild a bf@(BuildFlags { buildVerbosity = vf }) pd lbi = do let v = fromFlagOrDefault normal vf ebi <- getPersistLhs2texBuildConfig let lhs2texDir = buildDir lbi `joinFileName` lhs2tex let lhs2texBin = lhs2texDir `joinFileName` lhs2tex let lhs2texDocDir = lhs2texDir `joinFileName` "doc" callLhs2tex v lbi ["--code", "lhs2TeX.sty.lit"] (lhs2texDir `joinFileName` "lhs2TeX.sty") callLhs2tex v lbi ["--code", "lhs2TeX.fmt.lit"] (lhs2texDir `joinFileName` "lhs2TeX.fmt") createDirectoryIfMissing True lhs2texDocDir if rebuildDocumentation ebi then lhs2texBuildDocumentation a bf pd lbi else copyFileVerbose v ("doc" `joinFileName` "Guide2.pdf") (lhs2texDocDir `joinFileName` "Guide2.pdf") lhs2texBuildDocumentation a (BuildFlags { buildVerbosity = vf }) pd lbi = do let v = fromFlagOrDefault normal vf let lhs2texDir = buildDir lbi `joinFileName` lhs2tex let lhs2texBin = lhs2texDir `joinFileName` lhs2tex let lhs2texDocDir = lhs2texDir `joinFileName` "doc" snippets <- do guide <- readFile $ "doc" `joinFileName` "Guide2.lhs" let s = matchRegexRepeatedly (mkRegexWithOpts "^.*input\\{(.*)\\}.*$" True True) guide return s mapM_ (\s -> do let snippet = "doc" `joinFileName` (s ++ ".lhs") c <- readFile $ snippet let inc = maybe ["poly"] id (matchRegex (mkRegexWithOpts "^%include (.*)\\.fmt" True True) c) -- rewrite the path to ghc/hugs, and to the preprocessor writeFile (lhs2texDir `joinFileName` snippet) ( -- replace "^%options ghc" "%options ghc" . -- replace "^%options hugs" "%options hugs" . -- TODO: replace or replaceEscaped replace "-pgmF \\.\\./lhs2TeX" ("-pgmF " ++ lhs2texBin ++ " -optF-Pdoc" ++ sep) $ c ) let incToStyle ["verbatim"] = "verb" incToStyle ["stupid"] = "math" incToStyle ["tex"] = "poly" incToStyle ["polytt"] = "poly" incToStyle ["typewriter"] = "tt" incToStyle [x] = x incToStyle [] = "poly" callLhs2tex v lbi ["--" ++ incToStyle inc , "-Pdoc" ++ sep, lhs2texDir `joinFileName` snippet] (lhs2texDocDir `joinFileName` s ++ ".tex") ) snippets callLhs2tex v lbi ["--poly" , "-Pdoc" ++ sep, "-Psrc" ++ sep, "doc" `joinFileName` "Guide2.lhs"] (lhs2texDocDir `joinFileName` "Guide2.tex") copyFileVerbose v ("polytable" `joinFileName` "polytable.sty") (lhs2texDocDir `joinFileName` "polytable.sty") copyFileVerbose v ("polytable" `joinFileName` "lazylist.sty") (lhs2texDocDir `joinFileName` "lazylist.sty") d <- getCurrentDirectory setCurrentDirectory lhs2texDocDir -- call pdflatex as long as necessary let loop = do rawSystemProgramConf v (simpleProgram "pdflatex") (withPrograms lbi) ["Guide2.tex"] x <- readFile "Guide2.log" case matchRegex (mkRegexWithOpts "Warning.*Rerun" True True) x of Just _ -> loop Nothing -> return () loop setCurrentDirectory d lhs2texPostCopy a (CopyFlags { copyDest = cdf, copyVerbosity = vf }) pd lbi = do let v = fromFlagOrDefault normal vf let cd = fromFlagOrDefault NoCopyDest cdf ebi <- getPersistLhs2texBuildConfig let dataPref = datadir (absoluteInstallDirs pd lbi cd) createDirectoryIfMissing True dataPref let lhs2texDir = buildDir lbi `joinFileName` lhs2tex -- lhs2TeX.{fmt,sty} mapM_ (\f -> installOrdinaryFile v (lhs2texDir `joinFileName` f) (dataPref `joinFileName` f)) ["lhs2TeX.fmt","lhs2TeX.sty"] -- lhs2TeX library fmts <- fmap (filter (".fmt" `isSuffixOf`)) (getDirectoryContents "Library") mapM_ (\f -> installOrdinaryFile v ("Library" `joinFileName` f) (dataPref `joinFileName` f)) fmts -- documentation difficult due to lack of docdir let lhs2texDocDir = lhs2texDir `joinFileName` "doc" let docDir = if isWindows then dataPref `joinFileName` "Documentation" else docdir (absoluteInstallDirs pd lbi cd) `joinFileName` "doc" let manDir = if isWindows then dataPref `joinFileName` "Documentation" else datadir (absoluteInstallDirs pd lbi cd) `joinFileName` ".." `joinFileName` "man" `joinFileName` "man1" createDirectoryIfMissing True docDir installOrdinaryFile v (lhs2texDocDir `joinFileName` "Guide2.pdf") (docDir `joinFileName` "Guide2.pdf") when (not isWindows) $ do createDirectoryIfMissing True manDir installOrdinaryFile v ("lhs2TeX.1") (manDir `joinFileName` "lhs2TeX.1") -- polytable case (installPolyTable ebi) of Just texmf -> do let texmfDir = texmf ptDir = texmfDir `joinFileName` "tex" `joinFileName` "latex" `joinFileName` "polytable" createDirectoryIfMissing True ptDir stys <- fmap (filter (".sty" `isSuffixOf`)) (getDirectoryContents "polytable") mapM_ (\f -> installOrdinaryFile v ("polytable" `joinFileName` f) (ptDir `joinFileName` f)) stys Nothing -> return () lhs2texPostInst a (InstallFlags { installPackageDB = db, installVerbosity = v }) pd lbi = do lhs2texPostCopy a (defaultCopyFlags { copyDest = Flag NoCopyDest, copyVerbosity = v }) pd lbi lhs2texRegHook pd lbi Nothing (defaultRegisterFlags { regPackageDB = db, regVerbosity = v }) lhs2texRegHook pd lbi _ (RegisterFlags { regVerbosity = vf }) = do let v = fromFlagOrDefault normal vf ebi <- getPersistLhs2texBuildConfig when (isJust . installPolyTable $ ebi) $ do rawSystemProgramConf v (simpleProgram "mktexlsr") (withPrograms lbi) [] return () lhs2texCleanHook pd lbi v pshs = do cleanHook simpleUserHooks pd lbi v pshs tryIO $ removeFile lhs2texBuildInfoFile mapM_ (tryIO . removeFile) generatedFiles matchRegexRepeatedly re str = case matchRegexAll re str of Just (_,_,r,[s]) -> s : matchRegexRepeatedly re r Nothing -> [] replace re t x = subRegex (mkRegexWithOpts re True True) x (escapeRegex t) where -- subRegex requires us to escape backslashes escapeRegex [] = [] escapeRegex ('\\':xs) = '\\':'\\': escapeRegex xs escapeRegex (x:xs) = x : escapeRegex xs escapeChars :: String -> String escapeChars t = foldr showLitChar [] t showYesNo :: Bool -> String showYesNo p | p = "yes" | otherwise = "no" stripNewlines :: String -> String stripNewlines = filter (/='\n') stripQuotes :: String -> String stripQuotes ('\'':s@(_:_)) = init s stripQuotes x = x callLhs2tex v lbi params outf = do let lhs2texDir = buildDir lbi `joinFileName` lhs2tex let lhs2texBin = lhs2texDir `joinFileName` lhs2tex let args = [ "-P" ++ lhs2texDir ++ sep ] ++ [ "-o" ++ outf ] ++ (if v == deafening then ["-v"] else []) ++ params (ex,_,err) <- runCommand v lhs2texBin args hPutStr stderr (unlines . lines $ err) maybeExit (return ex) runCommandProgramConf :: Verbosity -- ^ verbosity -> String -- ^ program name -> ProgramConfiguration -- ^ lookup up the program here -> [String] -- ^ args -> IO (ExitCode,String,String) runCommandProgramConf v progName programConf extraArgs = do (prog,args) <- getProgram progName programConf runCommand v prog (args ++ extraArgs) getProgram :: String -> ProgramConfiguration -> IO (String, [String]) getProgram progName programConf = do let mProg = lookupProgram (simpleProgram progName) programConf case mProg of Just (ConfiguredProgram { programLocation = UserSpecified p, programDefaultArgs = args }) -> return (p,args) Just (ConfiguredProgram { programLocation = FoundOnSystem p, programDefaultArgs = args }) -> return (p,args) _ -> (die (progName ++ " command not found")) -- | Run a command in a specific environment and return the output and errors. runCommandInEnv :: Verbosity -- ^ verbosity -> String -- ^ the command -> [String] -- ^ args -> [(String,String)] -- ^ the environment -> IO (ExitCode,String,String) runCommandInEnv v cmd args env = do when (v >= verbose) $ putStrLn (cmd ++ concatMap (' ':) args) let env' = if null env then Nothing else Just env (cin,cout,cerr,pid) <- runInteractiveProcess cmd args Nothing env' hClose cin out <- hGetContents cout err <- hGetContents cerr stringSeq out (hClose cout) stringSeq err (hClose cerr) exit <- waitForProcess pid return (exit,out,err) -- | Run a command and return the output and errors. runCommand :: Verbosity -- ^ verbosity -> String -- ^ the command -> [String] -- ^ args -> IO (ExitCode,String,String) runCommand v cmd args = runCommandInEnv v cmd args [] -- | Completely evaluates a string. stringSeq :: String -> b -> b stringSeq [] c = c stringSeq (x:xs) c = stringSeq xs c getPersistLhs2texBuildConfig :: IO Lhs2texBuildInfo getPersistLhs2texBuildConfig = do e <- doesFileExist lhs2texBuildInfoFile let dieMsg = "error reading " ++ lhs2texBuildInfoFile ++ "; run \"setup configure\" command?\n" when (not e) (die dieMsg) str <- readFile lhs2texBuildInfoFile case reads str of [(bi,_)] -> return bi _ -> die dieMsg writePersistLhs2texBuildConfig :: Lhs2texBuildInfo -> IO () writePersistLhs2texBuildConfig lbi = do writeFile lhs2texBuildInfoFile (show lbi) tryIO :: IO a -> IO (Either IOError a) tryIO = try -- HACKS because the Cabal API isn't sufficient: -- Distribution.Compat.FilePath is supposed to be hidden in future -- versions, so we need our own version of it: joinFileName :: String -> String -> FilePath joinFileName "" fname = fname joinFileName "." fname = fname joinFileName dir "" = dir joinFileName dir fname | isPathSeparator (last dir) = dir++fname | otherwise = dir++pathSeparator:fname where isPathSeparator :: Char -> Bool isPathSeparator | isWindows = ( `elem` "/\\" ) | otherwise = ( == '/' ) pathSeparator | isWindows = '\\' | otherwise = '/' -- It would be nice if there'd be a predefined way to detect this isWindows = "mingw" `isPrefixOf` os || "win" `isPrefixOf` os lhs2tex-1.18.1/lhs2tex.cabal0000644000175000001440000000325312022734320014741 0ustar andresuserscabal-version: >=1.10 name: lhs2tex version: 1.18.1 license: GPL license-file: LICENSE author: Ralf Hinze , Andres Loeh maintainer: Andres Loeh stability: stable homepage: http://www.andres-loeh.de/lhs2tex/ synopsis: Preprocessor for typesetting Haskell sources with LaTeX description: Preprocessor for typesetting Haskell sources with LaTeX category: Development, Language build-type: Custom executable lhs2TeX main-is: Main.lhs hs-source-dirs: src default-language: Haskell98 other-extensions: ScopedTypeVariables NPlusKPatterns GeneralizedNewtypeDeriving TypeSynonymInstances build-depends: base >= 4.2 && < 5, regex-compat, mtl, filepath, directory, process other-modules: Auxiliaries Directives Document FileNameUtils FiniteMap HsLexer License MathCommon Math MathPoly NewCode Parser State StateT TeXCommands TeXParser Typewriter Value Verbatim Version lhs2tex-1.18.1/lhs2TeX.sty.lit0000644000175000001440000001251212022734320015203 0ustar andresusers\begin{code} %if False % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % %endif %if not lhs2tex_lhs2tex_sty_read %let lhs2tex_lhs2tex_sty_read = True %include lhs2TeX.fmt % %if style /= newcode % \makeatletter \@@ifundefined{lhs2tex.lhs2tex.sty.read}% {\@@namedef{lhs2tex.lhs2tex.sty.read}{}% \newcommand\SkipToFmtEnd{}% \newcommand\EndFmtInput{}% \long\def\SkipToFmtEnd#1\EndFmtInput{}% }\SkipToFmtEnd \newcommand\ReadOnlyOnce[1]{\@@ifundefined{#1}{\@@namedef{#1}{}}\SkipToFmtEnd} \end{code} %-------------------------------= -------------------------------------------- \section{\TeX\ definitions} %-------------------------------= -------------------------------------------- \begin{code} %if latex209 \input{amstext.sty} \input{amssymb.sty} \input{stmaryrd.sty} \newcommand\ensuremath[1]{\ifmmode#1\else\mbox{$#1$}\fi} %if euler \input{euler.sty} %endif %else \usepackage{amstext} \usepackage{amssymb} \usepackage{stmaryrd} %if euler \usepackage{euler} %endif %endif \end{code} % \NB Die bedingte Formatierung wird \emph{nicht} verwendet, um gleichzeitig Math und Verbatim formatieren zu k"onnen. %-------------------------------= -------------------------------------------- \subsection{Typewriter style} %-------------------------------= -------------------------------------------- ks, 17.07.2003: Added a conditional that only includes this part if the selected style is typewriter style. ks, 28.07.2003: Removed the conditional again as it breaks compatibility. Not sure what to do here. Maybe create a new, clean @lhs2TeX.sty@ that should be included into new documents. \begin{code} %if not latex209 \DeclareFontFamily{OT1}{cmtex}{} \DeclareFontShape{OT1}{cmtex}{m}{n} {<5><6><7><8>cmtex8 <9>cmtex9 <10><10.95><12><14.4><17.28><20.74><24.88>cmtex10}{} \DeclareFontShape{OT1}{cmtex}{m}{it} {<-> ssub * cmtt/m/it}{} \newcommand{\texfamily}{\fontfamily{cmtex}\selectfont} %if underlineKeywords \usepackage{ulem}\normalem %else \DeclareFontShape{OT1}{cmtt}{bx}{n} {<5><6><7><8>cmtt8 <9>cmbtt9 <10><10.95><12><14.4><17.28><20.74><24.88>cmbtt10}{} \DeclareFontShape{OT1}{cmtex}{bx}{n} {<-> ssub * cmtt/bx/n}{} \newcommand{\tex}[1]{\text{\texfamily#1}} % NEU %endif %endif \newcommand{\Sp}{\hskip.33334em\relax} \end{code} %-------------------------------= -------------------------------------------- \subsection{Math style} %-------------------------------= -------------------------------------------- ks, 17.07.2003: As with the typewriter path, this is now conditionally included for math or poly mode. \begin{code} %if (style == math) || (style == poly) %if times \usepackage{times}\renewcommand{\ttdefault}{cmtt} \SetMathAlphabet{\mathrm}{normal}{OT1}{ptm}{m}{n} \SetMathAlphabet{\mathbf}{normal}{OT1}{ptm}{bx}{n} \SetMathAlphabet{\mathit}{normal}{OT1}{ptm}{m}{it} %endif %if style == math \newlength{\lwidth}\setlength{\lwidth}{4.5cm} \newlength{\cwidth}\setlength{\cwidth}{8mm} % 3mm %endif %if latex209 \newcommand{\Conid}[1]{{\mathit #1}} \newcommand{\Varid}[1]{{\mathit #1}} \newcommand{\anonymous}{\_} %else \newcommand{\Conid}[1]{\mathit{#1}} \newcommand{\Varid}[1]{\mathit{#1}} \newcommand{\anonymous}{\kern0.06em \vbox{\hrule\@@width.5em}} %endif \newcommand{\plus}{\mathbin{+\!\!\!+}} \newcommand{\bind}{\mathbin{>\!\!\!>\mkern-6.7mu=}} \newcommand{\rbind}{\mathbin{=\mkern-6.7mu<\!\!\!<}}% suggested by Neil Mitchell \newcommand{\sequ}{\mathbin{>\!\!\!>}} %if not standardsymbols \renewcommand{\leq}{\leqslant} \renewcommand{\geq}{\geqslant} %endif %endif \end{code} The following definitions facilitate the saving and restoring of column width information as well as the redefinition of column specifiers. It only works for @poly@ style. \begin{code} %if style == poly \usepackage{polytable} %mathindent has to be defined \@@ifundefined{mathindent}% {\newdimen\mathindent\mathindent\leftmargini}% {}% \def\resethooks{% \global\let\SaveRestoreHook\empty \global\let\ColumnHook\empty} \newcommand*{\savecolumns}[1][default]% {\g@@addto@@macro\SaveRestoreHook{\savecolumns[#1]}} \newcommand*{\restorecolumns}[1][default]% {\g@@addto@@macro\SaveRestoreHook{\restorecolumns[#1]}} \newcommand*{\aligncolumn}[2]% {\g@@addto@@macro\ColumnHook{\column{#1}{#2}}} \resethooks %if standardsymbols \newcommand{\onelinecommentchars}{\quad--- } %else \newcommand{\onelinecommentchars}{\quad-{}- } %endif \newcommand{\commentbeginchars}{\enskip\{-} \newcommand{\commentendchars}{-\}\enskip} \newcommand{\visiblecomments}{% \let\onelinecomment=\onelinecommentchars \let\commentbegin=\commentbeginchars \let\commentend=\commentendchars} \newcommand{\invisiblecomments}{% \let\onelinecomment=\empty \let\commentbegin=\empty \let\commentend=\empty} \visiblecomments \newlength{\blanklineskip} \setlength{\blanklineskip}{0.66084ex} \newcommand{\hsindent}[1]{\quad}% default is fixed indentation \let\hspre\empty \let\hspost\empty %endif \end{code} %-------------------------------= -------------------------------------------- \subsection{Some useful definitions} %-------------------------------= -------------------------------------------- \begin{code} \newcommand{\NB}{\textbf{NB}} \newcommand{\Todo}[1]{$\langle$\textbf{To do:}~#1$\rangle$} \EndFmtInput \makeatother \end{code} \begin{code} % %endif %endif \end{code} lhs2tex-1.18.1/polytable/0000755000175000001440000000000012022734321014355 5ustar andresuserslhs2tex-1.18.1/polytable/polytable.sty0000644000175000001440000006337012022734321017122 0ustar andresusers%% %% This is file `polytable.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% polytable.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{polytable}% [2009/11/01 v0.8.4 `polytable' package (Andres Loeh)] \let\PT@original@And\And \RequirePackage{lazylist} \let\PT@And\And \def\PT@prelazylist {\let\And\PT@And} \def\PT@postlazylist {\let\And\PT@original@And} \PT@postlazylist \RequirePackage{array} \DeclareOption{debug} {\AtEndOfPackage\PT@debug} \DeclareOption{info} {\AtEndOfPackage\PT@info} \DeclareOption{silent}{\AtEndOfPackage\PT@silent} \newdimen\PT@colwidth \newcount\PT@cols \newcount\PT@table \newtoks\PT@toks \newif\ifPT@changed \newread\PT@in \newwrite\PT@out \def\PT@allcols{\Nil} \let\PT@infromto\empty \let\PT@currentwidths\empty \def\PT@false{0} \def\PT@true{1} \let\PT@inrestore\PT@false \newcommand{\defaultcolumn}[1]{\gdef\PT@defaultcolumnspec{#1}} \newcommand{\nodefaultcolumn}{\global\let\PT@defaultcolumnspec\undefined} \DeclareOption{defaultcolumns}{\defaultcolumn{l}} \newcommand{\memorytables}{% \let\PT@preparewrite\@gobble \let\PT@add \PT@addmem \let\PT@prepareread \PT@preparereadmem \let\PT@split \PT@splitmem \let\PT@finalize \relax } \newcommand{\disktables}{% \let\PT@preparewrite\PT@preparewritefile \let\PT@add \PT@addfile \let\PT@prepareread \PT@preparereadfile \let\PT@split \PT@splitfile \let\PT@finalize \PT@finalizefile } \DeclareOption{memory}{\AtEndOfPackage\memorytables} \ProcessOptions \newcommand*{\PT@debug} {\def\PT@debug@ ##1{\typeout{(polytable) ##1}} \PT@info} \newcommand*{\PT@info} {\def\PT@typeout@ ##1{\typeout{(polytable) ##1}}} \let\PT@debug@\@gobble \let\PT@typeout@\@gobble \def\PT@warning{\PackageWarning{polytable}}% \def\PT@silent {\let\PT@typeout@\@gobble\let\PT@warning\@gobble} \def\PT@aligndim#1#2#3\@@{% \ifnum#1=0 \if #2p% \PT@aligndim@0.0pt\space\space\space\space\space\@@ \else \PT@aligndim@#1#2#3\space\space\space\space\space\space\space\space\@@ \fi \else \PT@aligndim@#1#2#3\space\space\space\space\space\space\space\space\@@ \fi} \def\PT@aligndim@#1.#2#3#4#5#6#7#8#9\@@{% \ifnum#1<10 \space\fi \ifnum#1<100 \space\fi \ifnum#1<\@m\space\fi \ifnum#1<\@M\space\fi #1.#2#3#4#5#6#7#8\space\space} \def\PT@aligncol#1{% \PT@aligncol@#1\space\space\space\space\space\space\space\space\@@} \def\PT@aligncol@#1#2#3#4#5#6#7#8#9\@@{% #1#2#3#4#5#6#7#8\space\space} \def\PT@rerun {\PT@typeout@{We have to rerun LaTeX ...}% \AtEndDocument {\PackageWarning{polytable}% {Column widths have changed. Rerun LaTeX.\@gobbletwo}}% \global\let\PT@rerun\relax} \def\PT@listopmacro #1#2#3% #1 #3 to the list #2 {\def\PT@temp{#1{#3}}% \expandafter\expandafter\expandafter \def\expandafter\expandafter\expandafter #2\expandafter\expandafter\expandafter {\expandafter\PT@temp\expandafter{#2}}} \def\PT@consmacro{\PT@listopmacro\Cons} \def\PT@appendmacro{\PT@listopmacro\Cat} \def\PT@gaddendmacro #1#2% add #2 to the end of #1 {\PT@expanded{\gdef #1}{#1#2}} \def\PT@expanded #1#2% {\expandafter\Twiddle\expandafter\Identity\expandafter{#2}{#1}} \def\PT@enamedef #1% sets name #1 to the expansion of #2 {\PT@expanded{\@namedef{#1}}} \def\PT@addoptargtomacro {\PT@add@argtomacro\PT@makeoptarg} \def\PT@addargtomacro {\PT@add@argtomacro\PT@makearg} \def\PT@add@argtomacro#1#2#3% {\PT@expanded{\PT@expanded{\gdef\PT@temp}}{\csname #3\endcsname}% #1% \PT@expanded{\PT@gaddendmacro{#2}}{\PT@temp}} \def\PT@makeoptarg% {\PT@expanded{\def\PT@temp}{\expandafter[\PT@temp]}} \def\PT@makearg% {\PT@expanded{\def\PT@temp}{\expandafter{\PT@temp}}} \newcommand*{\PT@gobbleoptional}[1][]{\ignorespaces} \def\PT@addmem#1#2{\PT@gaddendmacro #2{\PT@elt{#1}}} \def\PT@splitmem#1#2{#1\PT@nil{#2}{#1}} \def\PT@elt#1#2\PT@nil#3#4{\gdef #3{#1}\gdef #4{#2}} \def\PT@queuefilename{\jobname.ptb} \def\PT@addfile#1#2{% \immediate\write #2{\string\def\string\PTtemp{#1}\string\empty}} \def\PT@splitfile#1#2{% \ifeof #1% \let #2=\empty \else \read #1 to#2% %\show #2% #2% hack, because it essentially ignores #2 \PT@expanded{\def #2}{\PTtemp}% %\show #2% \fi} \def\PT@preparereadmem#1#2{% \global\let #1=#2} \def\PT@preparewritefile#1{% \immediate\openout\PT@out\PT@queuefilename\relax \let #1\PT@out} \def\PT@preparereadfile#1#2{% \immediate\closeout\PT@out \openin\PT@in\PT@queuefilename\relax \let #1\PT@in} \def\PT@finalizefile{% \closein\PT@in} \disktables \newcommand*{\beginpolytable}% {\edef\PT@environment{\@currenvir}% \begingroup % new in v0.7: save counters \PT@savecounters \PT@toks{}% initialise token register \PT@scantoend} \let\endpolytable=\relax \newcommand{\PT@scantoend}% LaTeX check \long\def\PT@scantoend #1\end #2% {\PT@toks\expandafter{\the\PT@toks #1}% \def\PT@temp{#2}% \ifx\PT@temp\PT@environment \global\let\PT@columnqueue \empty \global\let\PT@columnreference \undefined \PT@preparewrite\PT@columnqueue \expandafter\PT@getwidths \else \PT@toks\expandafter{\the\PT@toks\end{#2}}% \expandafter\PT@scantoend \fi} \def\PT@getwidths {\let\column \PT@firstrun@column \let\savecolumns \PT@savewidths \let\restorecolumns \PT@restorewidths \column{@begin@}{@{}l@{}}% \column{@end@}{}% \PT@cols=0\relax% \let\fromto \PT@fromto \let\PT@processentry \PT@checkwidth \let\PT@scanbegin \PT@scanbeginfree \let\\= \PT@resetcolumn \let\nextline \PT@resetcolumn \let\>= \PT@fromopt \let\== \PT@from \let\<= \PT@toopt \global\PT@changedfalse % nothing has changed so far \PT@resetcolumn % we are at the beginning of a line \the\PT@toks \@ifundefined{PT@scanning}% {}{\PT@resetcolumn\relax}% \ifx\column\PT@otherrun@column \else % we are in first run, print extra info \PT@prelazylist \PT@typeout@{\PT@environment: \the\PT@cols\space columns, % \PT@Print\PT@allcols}% \PT@postlazylist \fi \let\PT@firstrun@column \PT@otherrun@column \let\savecolumns \PT@gobbleoptional \let\restorecolumns \PT@gobbleoptional \let\PT@savewidths \PT@gobbleoptional \let\PT@restorewidths \PT@gobbleoptional \PT@restorecounters \ifPT@changed % we need to rerun if something has changed \PT@typeout@{There were changes; another trial run needed.}% \expandafter\PT@getwidths \else % we are done and can do the sorting \PT@typeout@{There were no changes; reached fixpoint.}% \expandafter\PT@sortcols \fi} \def\PT@savecounters {\begingroup \def\@elt ##1% {\global\csname c@##1\endcsname\the\csname c@##1\endcsname}% \xdef\PT@restorecounters{\cl@@ckpt}% \endgroup} \def\PT@sortcols {\PT@prelazylist \edef\PT@sortedlist {\Foldr{\noexpand\Cons}{\noexpand\Nil}% {\Insertsort\PT@ltmax\PT@allcols}}% \PT@typeout@{Sorted columns:}% \PT@PrintWidth\PT@sortedlist \PT@postlazylist \PT@cols=0\relax% \PT@prelazylist \PT@Execute{\Map\PT@numbercol\PT@sortedlist}% \PT@postlazylist \edef\PT@lastcol@{\PT@StripColumn\PT@lastcol}% \PT@typeout@{Numbered successfully, % last column is \PT@lastcol@}% \ifx\PT@currentwidths\empty \else \PT@typeout@{Saving table information for \PT@currentwidths .}% \PT@expanded\PT@saveinformation\PT@currentwidths \fi \PT@typeset} \def\PT@typeset {\PT@typeout@{Typesetting the table ...}% \let\PT@processentry \PT@placeinbox \let\PT@scanbegin \PT@scanbeginwidth \let\\= \PT@resetandcr \let\nextline \PT@resetandcr \PT@prepareread\PT@columnreference\PT@columnqueue \let\@arraycr \PT@resetandcr \PT@resetcolumn % we are at the beginning of a line \PT@begin% \the\PT@toks \PT@fill% new in 0.7.3: balance the last line \PT@finalize% finalize the queue (possibly close file) \PT@end \endgroup \PT@typeout@{Finished.}% \expandafter\end\expandafter{\PT@environment}}% \newcommand{\PT@from}[1]% {\PT@checkendentry{#1}\PT@dofrom{#1}} \newcommand{\PT@fromopt}[1][]% {\def\PT@temp{#1}% \ifx\PT@temp\empty % set default column name \def\PT@temp{\PT@currentcolumn .}% \fi \PT@expanded\PT@from\PT@temp} \newcommand{\PT@toopt}[1][]% {\def\PT@temp{#1}% \ifx\PT@temp\empty % set default column name \def\PT@temp{\PT@currentcolumn .}% \fi \PT@expanded\PT@checkendentry\PT@temp \let\PT@scanning\undefined} \newcommand*{\PT@dofrom}[1]% {\edef\PT@currentcolumn{#1}% \let\PT@scanning\PT@currentcolumn \let\PT@currentpreamble\relax% necessary for preparescan \@ifnextchar[%] {\PT@expanded\PT@dospecfrom\PT@currentcolumn}% {\PT@expanded\PT@dodofrom \PT@currentcolumn}} \newcommand*{\PT@dospecfrom}{}% LaTeX check \def\PT@dospecfrom #1[#2]% {\PT@checkglobalfrom #2\PT@nil{#1}% \PT@dodofrom{#1}} \newcommand*{\PT@checkglobalfrom}{}% LaTeX check \def\PT@checkglobalfrom {\@ifnextchar!\PT@getglobalfrom\PT@ignorefrom} \newcommand*{\PT@getglobalfrom}{}% LaTeX check \def\PT@getglobalfrom!#1\PT@nil#2% {\column{#2}{#1}} \newcommand*{\PT@ignorefrom}{}% LaTeX check \def\PT@ignorefrom #1\PT@nil#2% {\def\PT@currentpreamble{#1}} \newcommand*{\PT@dodofrom}[1]% {\@ifundefined{PT@columnreference}% {% trial run \ifx\column\PT@otherruncolumn \else % first run \let\PT@storeendcolumn\PT@add \fi \def\PT@temp{@end@}}% {% final run \PT@split\PT@columnreference\PT@temp %\PT@typeout@{splitted: \PT@temp} }% \PT@expanded{\PT@expanded\PT@preparescan\PT@currentcolumn}\PT@temp \PT@scanbegin} \let\PT@storeendcolumn\@gobbletwo \newcommand*{\PT@fromto}[3]% {\PT@checkendentry{#1}% \let\PT@scanning\undefined \PT@infromto \def\PT@infromto{% \PackageError{polytable}{Nested fromto}{}}% \let\PT@currentpreamble\relax% necessary for preparescan \PT@preparescan{#1}{#2}% \PT@scanbegin #3\PT@scanend% defines \@curfield \PT@processentry{#1}{#2}% \let\PT@infromto\empty \ignorespaces} \newcommand*{\PT@checkendentry}% takes one argument {\@ifundefined{PT@scanning}% {\let\PT@temp\@gobble}% {\let\PT@temp\PT@endentry}% \PT@temp} \newcommand*{\PT@endentry}[1]% {\PT@scanend \edef\PT@temp{#1}% \PT@expanded\PT@storeendcolumn\PT@temp\PT@columnqueue \let\PT@storeendcolumn\@gobbletwo \PT@expanded{\PT@expanded\PT@processentry\PT@currentcolumn}\PT@temp} \newcommand\PT@firstrun@column[3][0pt]% {\@ifundefined{PT@col@#2.type}% {\PT@typeout@{Defining column \PT@aligncol{#2} at #1.}% \@namedef{PT@col@#2.type}{#3}% \@namedef{PT@col@#2.width}{#1}% initialize the width of the column % add the new column to the (sortable) list of all columns \PT@consmacro\PT@allcols{PT@col@#2}% \advance\PT@cols by 1\relax}% {\expandafter\ifx\csname PT@col@#2.type\endcsname\empty \relax % will be defined in a later table of the same set \else \begingroup \def\PT@temp{PT@col@#2}% \ifx\PT@temp\PT@endcol \relax % end column is always redefined \else \PT@warning{Redefining column #2}% \fi \endgroup \fi \@namedef{PT@col@#2.type}{#3}% \expandafter\ifdim#1>0pt\relax \PT@typeout@{Redefining column #2 at #1.}% \@namedef{PT@col@#2.width}{#1}% \fi }% \@ifundefined{PT@col@#2.max}% {\@namedef{PT@col@#2.max}{#1}% \expandafter\let\csname PT@col@#2.trusted\endcsname\PT@true}{}% \ignorespaces} \newcommand\PT@otherrun@column[3][]% {\ignorespaces} \def\PT@checkcoldefined #1% {\@ifundefined{PT@col@#1.type}% {\@ifundefined{PT@defaultcolumnspec}% {\PackageError{polytable}{Undefined column #1}{}} {\PT@debug@{Implicitly defining column #1}% \PT@expanded{\column{#1}}{\PT@defaultcolumnspec}}}{}% \expandafter\ifx\csname PT@col@#1.type\endcsname\empty\relax \@ifundefined{PT@defaultcolumnspec}{}% {\PT@debug@{Implicitly defining column #1}% \PT@expanded{\column{#1}}{\PT@defaultcolumnspec}}% \fi} \def\PT@checkwidth #1#2% {\PT@checkcoldefined{#2}% first column should have been checked before \def\PT@temp{PT@col@#1}% \ifx\PT@currentcol\PT@temp \PT@debug@{No need to skip columns.}% \else \PT@colwidth=\expandafter\@nameuse\expandafter {\PT@currentcol.width}\relax \ifdim\PT@colwidth>\csname PT@col@#1.width\endcsname\relax % we need to change the width \PT@debug@{s \PT@aligncol{#1}: % old=\expandafter\expandafter\expandafter \PT@aligndim\csname PT@col@#1.width\endcsname\@@% new=\expandafter\PT@aligndim\the\PT@colwidth\@@}% \PT@changedtrue \PT@enamedef{PT@col@#1.width}{\the\PT@colwidth}% \fi \PT@colwidth=\expandafter\@nameuse\expandafter {\PT@currentcol.max}\relax \ifdim\PT@colwidth>\csname PT@col@#1.max\endcsname\relax % we need to change the width \PT@debug@{S \PT@aligncol{#1}: % old=\expandafter\expandafter\expandafter \PT@aligndim\csname PT@col@#1.max\endcsname\@@% new=\expandafter\PT@aligndim\the\PT@colwidth\@@}% \PT@changedtrue \PT@checkrerun \PT@enamedef{PT@col@#1.max}{\the\PT@colwidth}% \fi \ifnum\csname PT@col@#1.trusted\endcsname=\PT@false\relax \ifdim\PT@colwidth=\csname PT@col@#1.max\endcsname\relax \PT@debug@{#1=\the\PT@colwidth\space is now trusted}% \expandafter\let\csname PT@col@#1.trusted\endcsname\PT@true% \fi \fi \fi \PT@expanded{\def\PT@temp}{\the\wd\@curfield}% \global\PT@colwidth=\@nameuse{PT@col@#1.width}% \global\advance\PT@colwidth by \PT@temp\relax% \ifdim\PT@colwidth>\csname PT@col@#2.width\endcsname\relax % we need to change the width \PT@debug@{#2 (width \PT@temp) starts after #1 (at \csname PT@col@#1.width\endcsname)}% \PT@debug@{c \PT@aligncol{#2}: % old=\expandafter\expandafter\expandafter \PT@aligndim\csname PT@col@#2.width\endcsname\@@% new=\expandafter\PT@aligndim\the\PT@colwidth\@@}% \PT@changedtrue \PT@enamedef{PT@col@#2.width}{\the\PT@colwidth}% \fi \global\PT@colwidth=\@nameuse{PT@col@#1.max}% \global\advance\PT@colwidth by \PT@temp\relax% \ifdim\PT@colwidth>\csname PT@col@#2.max\endcsname\relax % we need to change the width \PT@debug@{C \PT@aligncol{#2}: % old=\expandafter\expandafter\expandafter \PT@aligndim\csname PT@col@#2.max\endcsname\@@% new=\expandafter\PT@aligndim\the\PT@colwidth\@@}% \PT@changedtrue \PT@checkrerun \PT@enamedef{PT@col@#2.max}{\the\PT@colwidth}% \fi \ifnum\csname PT@col@#2.trusted\endcsname=\PT@false\relax \ifdim\PT@colwidth=\csname PT@col@#2.max\endcsname\relax \PT@debug@{#2=\the\PT@colwidth\space is now trusted}% \expandafter\let\csname PT@col@#2.trusted\endcsname\PT@true% \fi \fi \def\PT@currentcol{PT@col@#2}} \def\PT@checkrerun {\ifnum\PT@inrestore=\PT@true\relax \PT@rerun \fi} \newcommand*{\PT@resetcolumn}[1][]% {\PT@checkendentry{@end@}% \let\PT@currentcolumn\empty% \let\PT@scanning\undefined \let\PT@currentcol\PT@nullcol % TODO: remove these lines if they don't work %\let\PT@pre@preamble\empty %\PT@scanbeginfree } \def\PT@nullcol{PT@col@@begin@} \def\PT@endcol{PT@col@@end@} \def\PT@Execute{\Foldr\PT@Sequence\empty} \def\PT@Sequence #1#2{#1#2} \def\PT@ShowColumn #1#2% {\PT@ShowColumn@{#1}#2\PT@ShowColumn@} \def\PT@ShowColumn@ #1PT@col@#2\PT@ShowColumn@ {#1{#2} } \def\PT@ShowColumnWidth #1% {\PT@typeout@{% \PT@ShowColumn\PT@aligncol{#1}: \expandafter\expandafter\expandafter \PT@aligndim\csname #1.max\endcsname\@@}} \def\PT@StripColumn #1% {\expandafter\PT@StripColumn@#1\PT@StripColumn@} \def\PT@StripColumn@ PT@col@#1\PT@StripColumn@ {#1} \def\PT@Print#1{\PT@Execute{\Map{\PT@ShowColumn\Identity}#1}} \def\PT@PrintWidth#1{\PT@Execute{\Map\PT@ShowColumnWidth#1}} \def\PT@TeXif #1% {\expandafter\@gobble#1\relax \PT@gobblefalse \else\relax \gobbletrue \fi} \def\PT@gobblefalse\else\relax\gobbletrue\fi #1#2% {\fi #1} \def\PT@ltmax #1#2% {\Not{\PT@TeXif{\ifdim\csname #1.max\endcsname>\csname #2.max\endcsname}}} \def\PT@numbercol #1% {%\PT@typeout@{numbering #1 as \the\PT@cols}% \PT@enamedef{#1.num}{\the\PT@cols}% \def\PT@lastcol{#1}% \advance\PT@cols by 1\relax} \newcommand{\PT@resetandcr}% {\PT@expanded\PT@checkendentry\PT@lastcol@% \ifx\PT@currentcol\PT@lastcol \else \ifx\PT@currentcol\PT@nullcol \edef\PT@currentcol{\Head{\Tail\PT@sortedlist}}% \fi \edef\PT@currentcol@{\PT@StripColumn\PT@currentcol}% \PT@typeout@{adding implicit fromto at eol from \PT@currentcol@ \space to \PT@lastcol@}% \PT@expanded{\PT@expanded\fromto\PT@currentcol@}\PT@lastcol@ \fi \PT@typeout@{Next line ...}% \let\PT@scanning\undefined% needed for resetcolumn \PT@resetcolumn\PT@cr} \newcommand{\PT@fill}% {\PT@expanded\PT@checkendentry\PT@lastcol@% \ifx\PT@currentcol\PT@lastcol \else \ifx\PT@currentcol\PT@nullcol \else \edef\PT@currentcol@{\PT@StripColumn\PT@currentcol}% \PT@typeout@{adding implicit fromto from \PT@currentcol@ \space to \PT@lastcol@}% \PT@expanded{\PT@expanded\fromto\PT@currentcol@}\PT@lastcol@ \fi\fi} \def\PT@placeinbox#1#2% {\PT@colwidth=\@nameuse{PT@col@#1.max}% \advance\PT@colwidth by -\expandafter\csname\PT@currentcol.max\endcsname \leavevmode \edef\PT@temp{\PT@StripColumn\PT@currentcol}% \PT@typeout@{adding space of width % \expandafter\PT@aligndim\the\PT@colwidth\@@ (\expandafter\PT@aligncol\expandafter{\PT@temp} % -> \PT@aligncol{#1})}% \hb@xt@\PT@colwidth{% {\@mkpream{@{}l@{}}\@addtopreamble\@empty}% \let\CT@row@color\relax% colortbl compatibility \let\@sharp\empty% %\show\@preamble \@preamble}% \PT@typeout@{adding box \space\space of width % \expandafter\PT@aligndim\the\wd\@curfield\@@ (\PT@aligncol{#1} -> \PT@aligncol{#2})}% \box\@curfield \def\PT@currentcol{PT@col@#2}% \ignorespaces}% \def\PT@preparescan#1#2% {\PT@checkcoldefined{#1}% \PT@checkcoldefined{#2}% \PT@colwidth=\@nameuse{PT@col@#2.max}% \advance\PT@colwidth by -\@nameuse{PT@col@#1.max}\relax% \ifmmode \PT@debug@{*math mode*}% \let\d@llarbegin=$%$ \let\d@llarend=$%$ \let\col@sep=\arraycolsep \else \PT@debug@{*text mode*}% \let\d@llarbegin=\begingroup \let\d@llarend=\endgroup \let\col@sep=\tabcolsep \fi \ifx\PT@currentpreamble\relax \PT@expanded{\PT@expanded{\def\PT@currentpreamble}}% {\csname PT@col@#1.type\endcsname}% \fi {\PT@expanded\@mkpream\PT@currentpreamble% \@addtopreamble\@empty}% \let\CT@row@color\relax% colortbl compatibility \expandafter\PT@splitpreamble\@preamble\@sharp\PT@nil} \def\PT@splitpreamble #1\@sharp #2\PT@nil{% \let\@sharp=\relax% needed for the following assignment \def\PT@terp{#2}% \ifx\PT@terp\empty% \PackageError{polytable}{Illegal preamble (no columns)}{}% \fi \PT@splitsplitpreamble{#1}#2\PT@nil} \def\PT@splitsplitpreamble #1#2\@sharp #3\PT@nil{% \def\PT@temp{#3}% \ifx\PT@temp\empty% \else \PackageError{polytable}{Illegal preamble (multiple columns)}{}% \fi \def\PT@pre@preamble{#1}% \def\PT@post@preamble{#2}}% \def\PT@scanbeginwidth {\PT@scanbegin@{\hbox to \PT@colwidth}} \def\PT@scanbeginfree {\PT@scanbegin@{\hbox}} \def\PT@scanbegin@#1% {\setbox\@curfield #1% \bgroup \PT@pre@preamble\strut\ignorespaces} \def\PT@scanend {\PT@post@preamble \egroup} \newcommand*{\PT@setmaxwidth}[3][\PT@false]% #2 column name, #3 maximum width {\@namedef{PT@col@#2.max}{#3}% \ifdim#3=0pt\relax \expandafter\let\csname PT@col@#2.trusted\endcsname=\PT@true% \else \expandafter\let\csname PT@col@#2.trusted\endcsname=#1% \fi \column{#2}{}}% \def\PT@loadtable#1% #1 table id number {%\expandafter\show\csname PT@restore@\romannumeral #1\endcsname %\show\column \PT@typeout@ {Calling \expandafter\string \csname PT@restore@\romannumeral #1\endcsname.}% \let\maxcolumn\PT@setmaxwidth %\expandafter\show\csname PT@load@\romannumeral #1\endcsname \csname PT@restore@\romannumeral #1\endcsname} \def\PT@loadtablebyname#1% #1 set name {\PT@typeout@{Loading table information for column width set #1.}% \PT@loadtable{\csname PT@widths@#1\endcsname}}% \def\PT@saveinformation#1% #1 set name {\PT@expanded{\def\PT@temp}{\csname PT@widths@#1\endcsname}% \PT@expanded{\def\PT@temp}% {\csname PT@restore@\romannumeral\PT@temp\endcsname}% \expandafter\gdef\PT@temp{}% start empty % this is: \PT@Execute{\Map{\PT@savecolumn{\PT@temp}}{\Reverse\PT@allcols}} \expandafter\PT@Execute\expandafter{\expandafter \Map\expandafter{\expandafter\PT@savecolumn \expandafter{\PT@temp}}{\Reverse\PT@allcols}}} \def\PT@savecolumn#1#2% #1 macro name, #2 column name {\PT@typeout@{saving column #2 in \string #1 ...}% \def\PT@temp{#2}% \ifx\PT@temp\PT@nullcol \PT@typeout@{skipping nullcol ...}% \else \PT@typeout@{max=\csname #2.max\endcsname, % width=\csname #2.width\endcsname, % trusted=\csname #2.trusted\endcsname}% % we need the column command in here % we could do the same in \column, but then the location of % \save / \restore matters ... \PT@gaddendmacro{#1}{\maxcolumn}% \ifnum\csname #2.trusted\endcsname=\PT@true\relax \PT@gaddendmacro{#1}{[\PT@true]}% \fi \edef\PT@temp{\PT@StripColumn{#2}}% \PT@addargtomacro{#1}{PT@temp}% \PT@addargtomacro{#1}{#2.max}% \PT@gaddendmacro{#1}{\column}% \PT@addoptargtomacro{#1}{#2.width}% \edef\PT@temp{\PT@StripColumn{#2}}% \PT@addargtomacro{#1}{PT@temp}% \PT@addargtomacro{#1}{#2.type}% %\show#1% \fi } \newcommand*{\PT@savewidths}[1][default@] {\PT@typeout@{Executing \string\savecolumns [#1].}% \def\PT@currentwidths{#1}% \PT@verifywidths{#1}% \global\advance\PT@table by 1\relax \expandafter\xdef\csname PT@widths@#1\endcsname {\the\PT@table}% \PT@loadtable{\PT@table}% \ignorespaces} \newcommand*{\PT@restorewidths}[1][default@] {\PT@typeout@{Executing \string\restorecolumns [#1].}% \def\PT@currentwidths{#1}% \let\PT@inrestore\PT@true \PT@loadtablebyname{#1}% \ignorespaces} \def\PT@comparewidths#1% #1 full column name {\@ifundefined{#1.max}% {\PT@typeout@{computed width for #1 is fine ...}}% {\ifdim\csname #1.max\endcsname>\csname #1.width\endcsname\relax \PT@typeout@{Preferring saved width for \PT@StripColumn{#1}.}% \PT@changedtrue \PT@colwidth=\@nameuse{#1.max}\relax \PT@enamedef{#1.width}{\the\PT@colwidth}% \fi}} \def\PT@trustedmax#1% {\PT@TeXif{\ifnum\csname #1.trusted\endcsname=\PT@true}} \def\PT@equalwidths#1% #1 full column name {\@ifundefined{#1.max}{}% {\ifdim\csname #1.max\endcsname=\csname #1.width\endcsname\relax \PT@typeout@{col #1 is okay ...}% \else \PT@rerun% a rerun is needed \fi}} \def\PT@verifywidths#1% #1 column width set name {\@ifundefined{PT@widths@#1}% {\PT@typeout@{Nothing to verify yet for set #1.}% \PT@typeout@{Scheduling set #1 for verification at end of document.}% \AtEndDocument{\PT@verifywidths{#1}}}% {\PT@typeout@{Verifying column width set #1.}% \PT@expanded\PT@verify@widths{\csname PT@widths@#1\endcsname}{#1}}} \def\PT@verify@widths#1#2% #1 set id number, #2 set name {\@ifundefined{PT@restore@\romannumeral #1}{}% {\begingroup \let\column\PT@firstrun@column \PT@cols=0\relax% \def\PT@allcols{\Nil}% \PT@loadtablebyname{#2}% \PT@table=#1\relax % nullcolumn is not loaded, therefore: \@namedef{\PT@nullcol .width}{0pt}% % checking trust \PT@prelazylist \All{\PT@trustedmax}{\PT@allcols}% {\PT@typeout@{All maximum widths can be trusted -- writing .max!}% \PT@save@table{.max}}% {\PT@typeout@{Untrustworthy maximums widths -- writing .width!}% \PT@rerun \PT@save@table{.width}}% \PT@postlazylist \endgroup}% \PT@typeout@{Verification for #2 successful.}} \def\PT@save@table#1% {\PT@typeout@{Saving column width information.}% \if@filesw \PT@prelazylist {\immediate\write\@auxout{% \gdef\expandafter\noexpand \csname PT@restore@\romannumeral\PT@table\endcsname {\PT@Execute{\Map{\PT@write@column{#1}}{\Reverse\PT@allcols}}}}}% \PT@postlazylist \fi} \def\PT@write@column #1#2% {\noexpand\maxcolumn^^J% {\PT@StripColumn{#2}}% {\@nameuse{#2#1}}}% \def\pboxed{% \let\PT@begin \empty \let\PT@end \empty \ifx\\\PT@arraycr \let\PT@cr \PT@normalcr \else \let\PT@cr \\% \fi \expandafter\beginpolytable\ignorespaces} \let\endpboxed\endpolytable \def\ptboxed{% \def\PT@begin {\tabular{@{}l@{}}}% \let\PT@end \endtabular \let\PT@cr \@arraycr \expandafter\beginpolytable\ignorespaces} \let\endptboxed\endpolytable \def\pmboxed{% \def\PT@begin {\array{@{}l@{}}}% \let\PT@end \endarray \let\PT@cr \@arraycr \expandafter\beginpolytable\ignorespaces} \let\endpmboxed\endpolytable \let\ptabular \ptboxed \let\endptabular \endptboxed \let\parray \pmboxed \let\endparray \endpmboxed \endinput %% %% End of file `polytable.sty'. lhs2tex-1.18.1/polytable/lazylist.sty0000644000175000001440000000512512022734321016774 0ustar andresusers% Filename: Lambda.sty % Author: Alan Jeffrey % Last modified: 12 Feb 1990 % Modified 24 July 2003 by Robin Fairbairns, to change file name and % licence requirements, at Alan Jeffrey's request % % This package is (c) 1990 Alan Jeffrey. % % Version 1.0a % % Use and distribution are subject to the LaTeX Project Public % License (lppl), version 1.2 (or any later version, at your % convenience). % % A copy of the latest version of lppl may be found at % http://www.latex-project.org/lppl.txt % % See the Gnu manifesto for details on why software ought to be free. % % Tugboat are given permission to publish any or all of this. % % This package provides a pile of lambda-calculus and list-handling % macros of an incredibly obtuse nature. Read lazylist.tex to find % out what they all do and how they do it. This \TeX\ code was % formally verified. % % Alan Jeffrey, 25 Jan 1990. \def\Identity#1{#1} \def\Error% {\errmessage{Abandon verification all ye who enter here}} \def\First#1#2{#1} \def\Second#1#2{#2} \def\Compose#1#2#3{#1{#2{#3}}} \def\Twiddle#1#2#3{#1{#3}{#2}} \let\True=\First \let\False=\Second \let\Not=\Twiddle \def\And#1#2{#1{#2}\False} \def\Or#1#2{#1\True{#2}} \def\Lift#1#2#3#4{#1{#4}{#2}{#3}{#4}} \def\Lessthan#1#2{\TeXif{\ifnum#1<#2 }} \def\gobblefalse\else\gobbletrue\fi#1#2% {\fi#1} \def\gobbletrue\fi#1#2% {\fi#2} \def\TeXif#1% {#1\gobblefalse\else\gobbletrue\fi} \def\Nil#1#2{#2} \def\Cons#1#2#3#4{#3{#1}{#2}} \def\Stream#1{\Cons{#1}{\Stream{#1}}} \def\Singleton#1{\Cons{#1}\Nil} \def\Head#1{#1\First\Error} \def\Tail#1{#1\Second\Error} \def\Foldl#1#2#3% {#3{\Foldl@{#1}{#2}}{#2}} \def\Foldl@#1#2#3#4% {\Foldl{#1}{#1{#2}{#3}}{#4}} \def\Foldr#1#2#3% {#3{\Foldr@{#1}{#2}}{#2}} \def\Foldr@#1#2#3#4% {#1{#3}{\Foldr{#1}{#2}{#4}}} \def\Cat#1#2{\Foldr\Cons{#2}{#1}} \def\Reverse{\Foldl{\Twiddle\Cons}\Nil} \def\All#1{\Foldr{\Compose\And{#1}}\True} \def\Some#1{\Foldr{\Compose\Or{#1}}\False} \def\Isempty{\All{\First\False}} \def\Filter#1% {\Foldr{\Lift{#1}\Cons\Second}\Nil} \def\Map#1{\Foldr{\Compose\Cons{#1}}\Nil} \def\Insert#1#2#3% {#3{\Insert@{#1}{#2}}{\Singleton{#2}}} \def\Insert@#1#2#3#4% {#1{#2}{#3}% {\Cons{#2}{\Cons{#3}{#4}}}% {\Cons{#3}{\Insert{#1}{#2}{#4}}}} \def\Insertsort#1{\Foldr{\Insert{#1}}\Nil} \def\Unlistize#1{[#1\Unlistize@{}]} \def\Unlistize@#1{#1\Foldr\Commaize{}} \def\Commaize#1#2{, #1#2} \def\Listize[#1]% {\Listize@#1,\relax]} \def\Listize@#1,#2]% {\TeXif{\ifx\relax#2}% {\Singleton{#1}}% {\Cons{#1}{\Listize@#2]}}} \def\Show#1[#2]% {\Unlistize{#1{\Listize[#2]}}} lhs2tex-1.18.1/polytable/polytable.pdf0000644000175000001440000060073312022734321017054 0ustar andresusers%PDF-1.4 %ÐÔÅØ 3 0 obj << /Length 1933 /Filter /FlateDecode >> stream xÚ¥XKÛ6¾çW¸=´21âC¢xkZ$@Š¢=thz m,’œÍ"ú×;Ã!eÙV’="‡äð›÷Ð?Þ={ñš—+®™à¥ZÝݯD©˜*ªUU•LÔbu·[ý•ÝíÝúﻟao5ß+Sõª =Çu.ª¬kžF»iÒö ÖUÅdÁ§ýv»†ïÖ¥ÈìC: Wœ3S–ä¥`0ÊEÍj¡¼lw½Ö¹„³¿ü³VµÉº=ÕÅa%™©V9‡ÒñÎïØäMçöl·x¹R¬, \®çt\…yÁù‹‚Ç ëU wTA:i¾Ê¥bB%¬›aìívŒ»õlwÎA15W„Ϩ¤g¢qEÚ©Q;:h'ýáØ¸ƒkqeŒ-~Êìýº¬3Û{K‹´ÖÝÓ"ˆ|jlÿ¾ß>ä·&s´ŠüLöÞ÷]{ 1ðÄZ-$| Њ!ˆ{×ãÁZgÛ®9Ú!Nàæ0Ø€o˜<ø÷ˆÇÅ5KŸÖâ:˜Q¨Þ»k~o ^º~Ó<-ð?6vëv yÀ^\¢Q¬Ç±S€²6¬Ó?Ñ4 ÃÖ¹REöS‡ªþw6þaRM¾±Þˆ EŽOHïNãðp<»ïzZv,rÁ Q€ûî¡·8©$`€½u¶sÏinƒ¦•±w ¨Á1r'Y¬¸bRUäíà¦Ââ‚UUEÌùÜL”Ù›v-9(·Cƒg»Óvô]K\ꕟ„ÈMp°8Ÿ;£¨äÌKrF$^;#Ò,~:cuጸ†ÎˆßèŒä„:‹ÜˆÏÙ ‘'ÚBðìu-Ó¶Gß44ÚÚ4÷np“nC“K“_׬äçü¹âVGl'¦=ù®èè»óÃ1wòÃ~ºû@£û¾;œñ„Á0BDØ=ZÖY׺‰Æ0%Å¥x6Ü$Ñ…Ä.D‚T Á-Ãjd­²_H½ª QÉ:¤¬ŠÕì+¦Œu+1øX ~5Ût0•¬”%Ò¹Š€^Íè3òŸä]ˆ>ðȬoלF -aÀ$¬d1P0‹N*!×÷1òní) ªÖ¼Æœ—Å´VLWòR›¿ÁåCÉ `>L?8ññ{¶Œ’!£6^U Þ¢³=-Q"¡C{´,­aâ¯ÖPò^¯k§KýÖE†Q‚Z©4õ¶;ʰàÀWþÿ–KEh>Þwݧͧ¥(™íÚØþÓÇþÓbf˜ùHåJAK£SH‰RÍ£÷>RíDS2S—ÿ7ƈ„±sP"Tëҥᓬ05ž[P¼6¬‚BoeÝ‚âP»åä…ãÞF>F(\ÄTU]*ªq÷cʇÛ='§Š'C®Ä°œ€J™€Âès@±…:«ìµÔ°‚‹+ À2tpaïöA‰ XŠ ]@¤›«¨§„c†ôjлO¡¤!)´¦œõ]>X+;R°.kª»8MæB…(Îc‚6£û0Ò–(Ã1ÔC·õx$¸˜¡ˆÄUKÓÁ…¦á³ñ(É!?MzÄÀd<.Ø]¦…I;Sðai‚ýâÖYÄÅEì¶ä õýd~"Fá8ÕrXí‰>™ÆA0dÔï\îÂ5Hw´½Å B–«õ¥Îê/ r¡[y+šÍ(Åw·bB³?ù?^]ªØ.ab¨ÓiF&ƒÛb#¤ 79& dd‰Ò“œáF”è$û 2DÊi±°ï嘸47•‡ÂŽêS(?Aú²v”þëÕèwGÙ¦·ÍÂÕð«þO‘^±êœ8ó©ÎÂã¤çˆIÞC“X÷êšÚ= Œ¨Ád{²;Pmd^c<Üø6Ž‚»Ö)8p`SŸ¿Ê5gea.sÚËX%Ü#™$²BSØè%gœRR,¥îð3)‚Ëš©RÎ5…¿Ï) ÐMž“ª‡„gìUb @Ø;õ®}ÀÚ&´¦‡€Æ6+¼/`dÐÃNMRÒ •/<åǸ*ô[?âsç{°QãÚ´…·Y<sRwX>$Lcª¹-©\û6> endobj 1 0 obj << /Font << /F15 4 0 R /F16 5 0 R /F17 6 0 R /F26 7 0 R /F28 8 0 R /F27 9 0 R /F30 10 0 R /F8 11 0 R /F31 12 0 R /F7 13 0 R /F32 14 0 R /F33 15 0 R >> /ProcSet [ /PDF /Text ] >> endobj 19 0 obj << /Length 2376 /Filter /FlateDecode >> stream xÚ­YÝÛ8Ÿ¿"èË9@£Z–ì»@Øâ°XÜâÐÁ½l÷Á“(o{j;7tû¿)JþHœ6íEŠ’É%’"Õ7|þàZ2ÃÍÂÄ ãR.Öû›?þŒ˜üu3™¥‹G·tË9Ë’dQ.ÞÝüçæŸ·7¯Þ¦‹ŒeZèÅíDe,͈JAd¶¸Ý,þˆJ»í–ÞþzóËíÍÇAk3žª«hÍ4“šOµ¾¹jÚn¹’RFõUÔíkO±ˆD3Íå5°-˜É¦PZ»®«ÍEH`Šiy•³*f)?:‹nW4ÇH–<š£´b"¾ e`}z¦)îwK‘F3Þ¡2äúïøxâ×:“Œs ¿ÖàiF«Küú Z…6L 1Õº/6›ÒÒòWbÆ…wZ®@ñ˜)ÉÏs‚Û\€w› € ÜæûUϸMÊ™€Ý¿†Û¤Š¥ñEéðZ}:œhº<Ÿ¯ÀçÀ³úÅœþù® ?d¾³ä€ÞmŸ wÛ1€KÜö»Uϸ-ø$Ž«¸­,M.ËvWÐÜv¬uþÇm|ÄjšÎVEëº<ì«ö+yñùP¥0,1Éêì-‚t¹âQ7î€{‡|>àÞ!Ç€/qÈç«Æ0¢dwIBªß÷‡&d£×Ë•RIô˧|ÿ"´ËïJW‘,VJëÅJr–¢Lp»Ã…†G¶ÿ ô•#á,Ú¢íZ¹ó€ßm}hˆ*‹Ê¶l¹J½)Ë“È]¾&úî—ØÖû Æ~ê¼ÜÊsœ%[± Ì^ùÝq¨sç"¡ï„òߣ?‹—86ÑÝ¡;ZÑû8ÐyÓµ­Ë²vNÖcêqÀØCÒ6¶¢³öºÎ6Uë¶>” áª-šO Å’µ$mQ¸o)úeX\:rˆSܾ ‹òލ#dRJ']DwËÕ ./‹ûÊn^ÒTfˆ>þUà*Î ºÒÒ#GîôÄ‘öÒà^"ã}œÄýI­<`r’ÌÃ¥!ªÝY‡ìvGf!ÍêuõfÍ'gÀ´&4Eë3GQmìí Pýù å¶G‡ &aEZ;RG¤7çØÿ]¦2²MW¬s ¥DEwyƒb“$Ê] ëÐÚ ±ºš8ë2oŠí A™¥ùºòŸ¬Ñ#¸ƒËœ±ÁÜ–(Š(¹óŸTœÀ"ãf¢Ñ綃0B9™!Ûá7ÇŸÔX±>” 7G½ Íâ.@ÎÐRGÿ®;KLﺎò¬!Œ@AO‡Àñ½æÆëÚ™ú°Äl‚Jà÷iÎ-¼Ë ŸýV|p®‹îÁ¡RÖ*‚é<ýlIÂ×5ÖKþWÝÇ¥ðhŽlóu¤æÝù¬À1€PY”o;ç]I÷Mö¾@r¸DŸ5.ËóÌ%-b6­@Ìù‹—²wá KÀ¾˜–Y*úߘNxXâëºé!—S©Nê¸Â…uU>Ñœ/]±LkÃj_®ÙPÞõ̆rÒ×GÀ…ób`áIn›zUñéJnX¬ùtK ríl¸5] ÇùË—,Ú:j­ö'Ԯ߆»Ýá·£›¨‡|‹>,±R¿÷ß=®#Æé¦¾ƒ[à‰F÷¶#¢)6Çý§•µ~ŠÌ9¾î6Ö5ÞŠP¬·§}G£œ~h#Ñx½¡*ùt—ö ˆöò ~«ÝU.L<,ôý¼“Ýxž»ªŸÈZ4¹¡¶ÁhmSØvÎ#ÁèÓC…ê’•@¦iX Åþ*rW„@д:8[×ÈfÕœ2Îb.ÆúBž8 €˜)–á–j"Sf}×ÜX£·Ì·.n¡oõÓÁͽ©}w…ÏJzºI®Œ’&ÁØ™^|Ð÷Èö\Ì`O˜Îúà}9#_¬ûMØ‹s2ÄhãwPïCàƒW§*zé+ÒP)÷ =%½{7Âæ††C/à8Þ7ìpî<Àrù£ËÁàËd,°­„£O£f<+cÒ 0å7UP±º1ã<›jx‡•¨‚Ý˱aZQc¬5=ƒ ‰ ȸŸÂ†w#äSÑæ{Gßw¹*ú­¸›òf.F„àLÇ}¤A1{€CŸ ÈX'Ã5âÞ¯Š¦®B‚u™H»'G2ÕÀpsÔŠÐÓ£âÜ·™ôÌÃG/bôÖM?}µ¿Ò&~÷íÎP}…uë@Œ• Ý;LøG$·îÕ, jOô+©y=—•iÍ8ü•ô/jäù`ŽÍ„!¾ÑP'L çEâ}Aý,DÖÒ½¯à`èÈ”vO:ñÊ|=;“’û#ývànˆw1þæ3>’J¦‡dìÞ ø.Æ%ÇØU´aÊôéÔÙ‚K[¹ÆiØ“8l0Üÿ®ûÂ¥šÙy¢1rüf%$ã©€à•paHRÙÿoëÿèYM endstream endobj 18 0 obj << /Type /Page /Contents 19 0 R /Resources 17 0 R /MediaBox [0 0 595.276 841.89] /Parent 16 0 R >> endobj 17 0 obj << /Font << /F8 11 0 R /F34 20 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 23 0 obj << /Length 2936 /Filter /FlateDecode >> stream xÚµÙnãFòÝ_¡·PÀ˜C²›×¾e€ âE€`±ÆîIÚR["L‘ ±ý÷[WS¤D;òHybwõQGWU»êËýÍç¯Ù"÷ó$J÷‹0V~’ëE¤~Å‹ûõâ7ï±n–·*S^·µØÐÐ(š5ÃlµŒ2¯k^—Ðñ—·q{¿ËÐ{ZF©gŸ‹Ö~‚™yâV+¯†VÕESz->ãvu_®y¾„q³Â ²úay‹3ºí@S!äÑ6BNae?@@_³üãþŸŸ¿ªpÄm°¸ C?…ÏßC¥w}Ù«ºìw/K'I|•ǰŒ¦×°s<ØjCÔ$±¡TæÝU<öhV²ŸF(³–'íà©&6VvÝ7–Á<¬½oÈ´-vEiêj²(@Ò2(éW™#§ŒÞ åv÷yèqë>u쇉r|ò +šºÚÉi.¥™`"ÞíKë†ìÚÇ ·*ð£0Ÿ¢¼'ºAýk°“À>(¢0âë~³á }ÓñâSÖVÖ®Ú¹íŠ ttgº¢®pXÙmYÁ°ý{ê¦íx _àd‰3«sj?×Z8H˜ƒ]±^—° Ê#Õ¤ÅÚÁºep[ïì3h¸ÌBÄ „ã-üÊ òZ»ª«õƒÝ¶±SÜŸˆÒ#=6x.)¨ØCk›od†k†1:P)êkœ{wJ%Læuö¥“µ 2D¡)*© ¡!TF†´:[sPA;>í9ÁãItëü÷ReÝsge*n´–¸ˆúhoÓám‚]ÑŒƒÙY+k‡ƒÁbÇ]Ð>b#jdLŠmD»ãk`†Jæd Ø '×x"¸a {¬ûÝ:¶ášÂû›tü‡=B>q¬jf†gV+™"¾`ýž¿Ï¨î15Â-Š-yù˜ ñ@n)z^6¥ÙËñ =rm‡áÁqà˜‚•À/Ò‡E&ñOZ}óÓýÍŸ7!,ÂE˜+? ÂEœÄ~¤“ÅjwóÛÁb ƒ@7\9Ù♦îp:ŸD¹ø÷Í¿n¾œDyîGi[e~¦"æµ´Ý)V¸Vü8ɯ5Šb?…-&X×ÄD,óqv†¤,öó<½ Iy䇩ž’äTþˆ";C D~E× E¥æGgâb¿ % šæ-Ùh¥ý,R× HëpJLãœÖ Ú$…ußuF½!*“¼ŠzljŸ¥éYê}9ÖA½ÇXÇ üͨA— ²Ðtú6уÆ\NiÌùóa¬3£C_©ø*£! Îsˆ—c4fŒuª1ê÷wœû{‹€hŽ€Áé]NÀàôÞ"@Í0¨ìåÊŽ‘Ÿ¡²Æ:£²Qî«ì*«"€çã.FŠ ›«|ŠtþŸþß½áó.&H%¹ŸèxJÐìýý=ƒ>]L©Ó˜–3Ôé£Hg´)о3¾†:™$giÓåHÿ7BzIû É¹L bc·‡VéžBñ=–8iLâ½´%ÂílUW2ŸSh#t£gÕ­lcJQÓ ¸oé sx0=M¹… bÍàüÜb ¹E³ß7µá7÷OGwtZ½Ðº5-3ÅÊWñQ޳0:‰½5-ÉZ'’6Cès±î¶-QÄÚ¥±aǙԙÉáù˜ ‚iUÓû;žHßbއ[š®ÄÃÌëöžTm¹L4hÍÉT<ô¶¥ ²ZÙOî †¤hÊ3'þƺ²g9>Q6g#À5§²¬,ç7¬—d†/' jz›D’.†ÿ¨B("U1a{?›öi©€®“OèMBom¹ëòC'GûE!˜µ˜ÃJ(?JÍ ä¹)ºs#Øa–±uà+a¾¸3%°MLaƒT‡–ô 8[0¸4LäÜrÊÆ¤#™£ A¦ïŠÇ¾œO™²Ø •AÎ2Á(bªo0‚ƒ+I#bò1I£ÓÉX>ÐrÓð’ǾZ¡F -b¬cӘݮ¨6 (MµéY °ŠÓ¯3$®-^ibH™¦KYÈÛ45gj(E‰‚­¡æ©­•$=у‰M»*1·…ÛW¨ÚÝœzåõ­å½ÃtÛ´sÚ—mñPPÊ+óÚW˜&¸Ânîµ]Ó¯:°ã–‡)ƒðu\)`ÙeçqÐ嬀_lÖkí*t¼fr·ä^ñ™(§‡‡Ó›3_”®dÃ$ó)¯íÙ‘qÏðà¤r’âÌðæm€EQÔJÈÍЛîhëSÎaðèq ƒû=%„3ï×ÊáÕ—ýÙbN‹¢€³ë¡˜=0™=LYùdì÷­mn…ÊtÃVE…ÝžP³£$»£¼(×A ¸éV³KJ°¥áxõ%®Xi:Ëu0ª’Âa¸8Ø’a€c8Ê}„°£à'‚Ÿ–Ç|Ÿ%¨Â0K'FŸ–µ¹O©SLÆBÔ±¯ãüL‡¥â”‹°q¸\âtô—mÍÓP†5Ùú`9×¶ ÄX°/’5…Ó774mÌ6 -#aà-üw湚2ý?tTjG¶Bߟ ™ GQ$Aä=P± ßñ‡‹œÐj]¹‘Ù¸BÖ(wÕ‡8S Ô uòBq¡+6åW“ ¾rºô'Z¹vj1u‘ ù=ýC(-79‹hŒ{Ø.Cr¿)ýáÀ1ç~–¥îßFÞþ”¡Ÿ@ endstream endobj 22 0 obj << /Type /Page /Contents 23 0 R /Resources 21 0 R /MediaBox [0 0 595.276 841.89] /Parent 16 0 R >> endobj 21 0 obj << /Font << /F8 11 0 R /F31 12 0 R /F30 10 0 R /F7 13 0 R /F32 14 0 R >> /ProcSet [ /PDF /Text ] >> endobj 26 0 obj << /Length 1846 /Filter /FlateDecode >> stream xÚÝYÛrÛ6}ÏW¨O¥f"„¸’LÓÌ$$M¦MzQ§©û@“Å„…Ûêôã» €´(Q±“zŸùVéÄ—¾ÕálG‰“0½Î³÷Nƒï®ÈH Ã^%>\G’Pªe¨U¡bGG%Ø¡ÎÈ\h0÷MNÙ)äž-#|@½ÂÅZ×zbš… IDg JI$¥q.©WüÄ5þÕ‡[¥`£l|øp.±=GX„D±aŽ¯Ž Î¯›AìÏð!(u•g‡ÛYP¸" ¥{Dt8ÐQ„,8:Ç7‡s"XxHØÑÞG„=ñ™˜6%º)â–M‘wkÊQdßät<ŒÔ4…¥$,ÿ' ?­æ zU>åÌTÁîØ‹‹ør&_íA=šl„u‘•‡H†:®BÙgö𛌌CL¤Vÿ çÞY™qŽ?„—@pÌu«mWªO|*ʬͪòá|!„8æ%T(8–ë=vŸž°HUOA‘aã7 Ú âGᘠn‹]3DÆÑ*@‘ü£ÖÁ!œCâÒ®pj w°óÅmQ+¨’L—sPj­l57:;¨_ÚÑ-*m7vÂfÊ‚€øÀ¬ko¶Իĉo;qhèà(o'V¶ËI‚Êp'ò1:u”>ÜÖÃ2Û‰ õ‡Y¾¢9'*4žý†fø_ÑŒaôM~ÔæOr˜–ª2³£¦Á&Œ…´Ýb£ÆØÐcØ<ú<€¹.»lþ6Áù%ñæñ9ÊÇ_w^ÜLÿÌÒwzÇÝâ}pìí­]q}7Ê s$öc là_àY\^{êîÏbb_‹%Ý‚S(pœMϳ³®vy)79¼ô¾›w˜dê<·‰­R§§1½„ü46™ìZyÿÂâCªO¸€­·ôCÂj– ™£‚€AÀï îf ¤o6y–ÄXGL¼aùP—àxW—<ÉÛuÕ­ÁØHz/ñ#¼uŒŸÏY€æ¡ä¢ÎÚRj£Õ®³Æ¶6q‚šïæ–=sº+Ì´±7¶ŸÆ¥×I†NâFv˜²ÛžªÑ÷ç ÉÝúÒ@ßs\½µ¿ üÕ™ׯ9ü±Wd6ã×µnZ>üªðxk×¶U­lO味¢u%Cfê3P1@‚• ŒÁÓêǵŽFqåý”C[[ykÏFN’¹Å¶8qÕYáªêÊt´ÕW¥ øu8ëĆœEÜ àÊŽÝ1Lgie¿eÕÚÆZ7Y·N¯­ì$ÈÈñqššºwn:tÜ“›~ùØÍ—T]žNaŸT»ó¬L\vµe,³ª¾6t½¾•0…+[«q¯© ãíŽÊJ2å` g$Eéâõ×úØ0sø=÷Iˆ÷;0äw´S[1¸¸aºÓ6ñG;÷HÖæÐÜÚ÷æç†'UÞecœš—)Û~Ûáñc«'y@o€¬Œ í¥]ÿo‰}b·Öð22.€·ÕðB½KÚø"²vx‘aŠ`ô¢>50Và¸T'9܇©í› +·)LÄ3¿vßGì4 ¾^øN(„‰ðÚëük¥Ñzô.èÎ=‰õlãO1©øêºŠ»¼…­ 8G› ?ŒwÊaâ~ïUW[yßwei\ÚFc7ƒ—Ä&|͵k8‰0¡±ýY³p@ ÈÀ#¥„»\(al¨²r¶C Â3QX:€·(HU]¾z÷ž-ïý ‰C endstream endobj 25 0 obj << /Type /Page /Contents 26 0 R /Resources 24 0 R /MediaBox [0 0 595.276 841.89] /Parent 16 0 R >> endobj 24 0 obj << /Font << /F35 27 0 R /F8 11 0 R /F32 14 0 R /F33 15 0 R /F14 28 0 R /F11 29 0 R /F30 10 0 R /F42 30 0 R /F31 12 0 R /F34 20 0 R >> /ProcSet [ /PDF /Text ] >> endobj 33 0 obj << /Length 3095 /Filter /FlateDecode >> stream xÚ½ZK“ä¶ ¾ï¯˜ÜÔUÛ´HQ”äœâª¸²9¸r˜T¶‰3­¬ZjKêrå¿ @=ºÕ3cçqiQ|@ ÀþîþÃ7ßçw…(Œ2w÷w2M„)ô]gBªôû1N»½Ê#×4®ÚíM¬¢²kÎÇ–Úõ@ÏîqtÜeùéú¾ëÅn”dtØ‘óðƲ8zÀ·šW¹G{nF¦Ó3 ÇÍñàÂw@-:Ú¶Úý|ÿ×o¾Oä‚ùøn/¥(Rfû'™è¶cÚ̱_´Üpž‰86°Ô/Á½$I\ºê#6ud›†úˆO8îT³Fz{ ùÐKåÊÆö®ø±»}¦DlÔš³¿uû³eY|˜híèŽ ? 3ÒH÷HC~óØñØõÇ]Ë$é´Üôj˿ҩK²\hà…—˜h²˜‘ˆ<Óaèôçð§Ü &3˜<‹pƒÅµ]+! æó8Ê]Q}<5uY³0fáƒDJËŠLô]DŒF"¨-a²ô¦$®¿›‘¹ÖͤK•g‘-ÇúË.5hº×Iý Ïmå~Š¥nñT`ÇÄ$¾Œ;2‘ÞS¢mÙIÅ®‹žë@oýåa8iLï¨ó`qñ—Ÿ†Ö,Þïh!–mr{4²ku™Xd2ûŸ*?¿ELð×â;¹òŠËH4¨A­<§™F(8éà8Ào ýg)ˆo—ÈèKÝwí‘Úãpý=I.’¼ :?¸gX­MT·øÌ¢/±È¿M‚ ʨµÔÈ¢v'£7/C³Àý8щ Ôå@3IáÔò~fŸl‰S>{zb§¾#•˜“Àœ­àóûMã.„Š“ ÇÓC÷ÕUä`´g½¶ƒÓ8_8ÅÓñbi~1>Ú‡3ø/?¡Z¦ã¶ï툚‰¿$…ÅS«z¬;Ø˜Ž¥·`ÿDeê8ö¦êú _Q(aòÉ<—ì¬?¨¥Èu2;kJF³Àn±-ÁTÔÂõh™GÛÑE½Ù’g ¼ƒàH††@ËÀçÒÎðÝ6C·ñÑå9ïb¼ñUp‹Ç.]Ùö>d!’´˜HomÄ#“ùàîµÖ|uu Àßmq¯™üM‘Û.&÷?z\Àˆcpþt% °ÎõµmèÍx’ïôçê«ãíèrii›=¾ÌRaÔ…¸J0´]nbdÔ¸öi<`,2Eôp©×ž-:ZdÁ(4-ûÔÛÓ†ŽÞW ‘¥Ð ‘Á<[Q$!§AÞÀ|Âuì>Œ Ö‚é.ñ) ßâÖCïìçÚÏ5x¡Û ;á05·1ýС—"´^µîL/á;7·GÛóK´_‡X왾ñSœÆàØà /<£k÷[Ì×69V°JÂNãµã O^­:žê¶%ì„q˺3-ÒÄü¶cêE¢)²#á¦n½yèéÕrãkð±\&ï0ð¤˜>†îß[ȹt™# @ÛÉÅéíÝÒŽuä~9[Æ¢³ub¤ïh¼‘Ÿw…LéPuÃPƒP×ÈkË ’ž¿ÙS_?yØ>îmS?µ¼èÀ«ÃY$¨+á´k½ŽDßuãaË—‚’Rõ¦[ƒ ’ÉÉÜtg2]èûø.R^¶5ýyBS— U mÒßìï ’¿ò§ÞíŸÁªQò€*êõ^DÞ°ßX ™Lñïfø[ï§ÛФ€( À—VµU!L<… ƒ;Ø» zdì³Â—]žø§±×‘G2#g{Œªº1¢'·G·ñ°Cbä@dŽ0L‚ƒFã^ú~¡ãèeh¯€‰åÕî&Ó‡óú IôOø%jð2xý‚¨K‘³Cí ÏyG3 ó›þ6´{qæ‘Û„ À[ÿ>'ôpÜá›ÝàP®q1ÅÊ·iÿäM~ßZ܆I£ÖQ óYã‡æ«ì=(+:{û.Û-¤•Šxy–½"ŽäßÍ_éñ|¨=b>ð+" æTu¢N9b˜I =;øžŠ^»–梥0» !Ø®6kI½møªÈðP¢w¤}ì9èo7ª2× M3ù¦èâyÊÍ£)å+'s n-?}v‘ùìÂïÌ`¥%‹^híxƒ £õŒìHÐR¥.‚⤘â ç£]ÜÌ—Šrå.| Œ}Ù]e×TIùhzRÃ9¬)»ãÉŽõCÝ@ÔóÛËuÄóÙ‰øCó²•&O‘õ¸8Å!näFdê]ÁªH’7õdê}Ø{T€·›®— MRg€£/ÒµûM}«X$J¾ÍĘ9·¿¹#%Ó7?Ä{m^7â3/_õ 6€ ô2›!5JBäDgh‡-nò\¨EróßÈ—@XRïr•Ål&a'ZÆ€ª¾Ž˜å«äÀdê†z¤ŒÔÛá|³yÍ3Ðן=¨ï?Ä‚ì~ s†2žx¤¸"•ÐI~-šù ý^2ØËÀ…Ò0ÅVö4k|ù 0Ú‘Ñ2¬yYyî{æ×»t$0ø°d† º+¥ S£U)…(‘Å—ºCðüÙ¡î|mNP­®u4ÉVXzñ ÙØµ‚¤Á­=âÙÛ°•¡þ|špº‡7×5OA¯êw˜ó#N.ÜºÔ ½7/ûņh3c&çããFÈÊE6—^ãJúÜ«80Å#ˆ/rõÉó¸Qe &½8‡¯üì–v-eD•ØT£õ¶ˆ½ŸèQuôô8ƒsÔ°ôVžâ‘¶9ñœ-¯‰<Îߥi6‘½vNÏ"ŽºrINÂz‚N£O˜ 3çê‰ÉX}áuÊjü›Ï U R’êèö…{0ѹ†¦=öŽúà ϣ­yìÈ#tÖ‘vëo%Öƒ\Œ9[éÿ”<úzHº¨‡°Ë 4V¯öݫڷŸÐÍ[W‚-ëߌÁ)”Pn‘_‡RbSeDý#œ8@@{’ìp…ÄûÔsyè±cßÇwJšSûEF½QW¶‹æÁ)ú¢yŠæÉeѼ¦B¹ëmyàCýÔÖx±b…5·EòBƒ>ß…'–Þÿàñõu@Öxߘaô…ä;€O¸.ÉÚ)'€7/³,f™áð†ÌЪói–››†Ê­T=‚.€x8‘ÒòÇæŠ ¼œA»ƒW.z·45\#B60% Èë:>ÍÔU!µ4¹,ÞIÑH­gŸ÷a«¤ #hÕôÄÖ þ(ÏQEŒ¹£$ÈOlÀûü­s‰eb¶¥ù$˜•ÛùöæñĬ¡ìf¾È4ŒW>-=¦¸Dî†h»²ˆx†“}u ëSX2ÖG7ü‘²ÝƒkKÊ|5Ë`òw}àŽÅ»±…'׺ÞRu3E7t:ûòEJLØâGÙ×'ºtxóÚT还s<Ì€¯,ëT³Û%Å16Àˆ«AU0;£ )}øóý‡nÎu endstream endobj 32 0 obj << /Type /Page /Contents 33 0 R /Resources 31 0 R /MediaBox [0 0 595.276 841.89] /Parent 16 0 R >> endobj 31 0 obj << /Font << /F8 11 0 R /F31 12 0 R /F14 28 0 R /F33 15 0 R /F34 20 0 R /F30 10 0 R /F35 27 0 R >> /ProcSet [ /PDF /Text ] >> endobj 36 0 obj << /Length 3443 /Filter /FlateDecode >> stream xÚÍZYÜÆ~ׯØ<… h)öÅ&Ä@K€ƒ zÙ‡’¸3œÂr@r´Zùï©‹çpGì‡Ý!«›}T×ñUUÿýöÕ›wÉU¦±Ž¯nwW*NÂØ$W>ò¡Òîêv{õ!ø[{}cʺÚã“ 2¡t‡œÚìZûàóµN‚üM“·]ÝHË.Ϻ3¿˜àcä¢ü˩̊*ßrûÝõ ~TÖøí=tPL/Zþ¤ª;&œÛ|ûúúÓí?ß¼3j²déP)ñb?*c7uy>VÜwº»£|ÅêêF©0u²½mþ1R¶*º¢®`Rca¸`c-l™–·ÉJnèj¦×U.„ì®ÌCX¡wÁûJ¾Úd·ÊÐBΘ(«#Òw}.»âTöǼåÆû¢;´ ØÜlÉ<½ñ<ýwÌ ŒI÷8dÖTвä'äµäÓSÃ{Ûž7ÈX ÁgÕVÆ=H¯6ßÔ=qW7Ǭz×<7ØÚâaì`úI€_õößåBf–â—ʆ©µòyÌŸÿƒØ,ÒZ ÿÚßÌ8=¾ô¼ßrO‘³ &`yüpÈ+~*`Ŧèøms}£˜ìZ2Ÿp×—B¨½]šL…p›ï28ÙGeQ§:tVÏyÂLØ-²a»Â‡^+¡£2ÀXek¬Š#I©²Á¡nŠŸë yÓõ´ñ¦nIÌy9ÊN5ߘÐ)Ýïà ›4SM ïú[Óµq´µ†).7‡é„Q`š¼Ìº‚m¯•´Lõ9¼}QU´Õ=“ëÝ¢‰ÙäÚJâÐù…º³rÓÊ/í‰ß6JM¾eÁD5ã>Ì×ür(6hõrb|Þ­qÍ#D§îñ#¼%óǨGÔ½KÁ{lçrõ×_ÖNÏ…qªž;<ÛwØ5×dûXl×N0 Ul'87¹Ó±þûam=Qhã—¯¸ëÉñßfm4ã¯èӥХa\,*°^ç 2¿;\ãÜô|Ê6(‡?];d{"::Kjlò)(I4šÉrìUÓÅ–•œ’ñjvn—«ÒtZÈD•߃äD:ÈY›|U`p³¦c“ d†#ÕÛ(ØÀ`dæœÃÃt/Vê_/Éc‡€>äÿ-ëuó€®lÏ‹î¼|u)Ž¿ek2n 4÷ʪrOú“èuƒ×s¿@—öC¤€ò/“ feÞì²M~Ñ´7S)í–)dÀÆ5ó¡Ž*šº:Šð–µÒ¡ŽÓ¹¬ F2±§ýyÜHhG¶ ˆ5vG à •fŽ{G„©¸á×´DüœÌeì'æ››»¢k2îÿbfx4îà#JKìC™+FÖôë‚e64‰‡Ýni¿.t P@WVöúv »« ù?¼>Srq[ÙH4€ÌÄD‡‰[0ñ.+³jÃ\ÓÁ¾©Ï'T_g4[hO@ôYøŠfMïh&ÿM à”Àëdh—#ÓÓ#3 LjLšÏÐiÌð‰¸)“7Ò¥æÇd›du,Q£A%ðgqB›µ9—™´ŒB–´ Õ»þ«œ.ØËTgÍþ<89¢Ù çâè½ ]Hm}BñÄMë$ž‚˜~A ¥©`ñ,B§qPìä Œö@WzÝzàWX-waË2vŽaÒ^¡!ü€aÉêaÃ]ÓCFl^CFÅ!Ä“ÓçC£,²/3OËvÄ Á˜ FX“ÂeÆ aÎ^¤¤Gñ]×qÌǰzFiS̃AÚ—ÈcC«Ç3è\d'¾g®Ú¼ad26uüˆm€cË$‚m¦ D<·„K¬—AØÂþÇÏNG‡íA<Ë׃]è” Ð‡Ü÷a3ù•œG`1õS?E¯÷lXJ™z´íå'ÏhgØÂ“MduÅÌ%÷ÉÑXýTŒhØÌê÷þX1â§?JŒèžˆ1ó9p‘tÅ2*‚ŸÏ6Yz2Lgïº<˜)2ÏÄ~ÊLCÒ{6Y8$kŠ+/`"%íj¨éãиY¨ùýËBMŠe5†!"¥³)Bd‚‘ªææÞ‘ã3;r|BáoïÐ¥CÇÙ´>¨¡ïÏÍ'W|Í1ktÝvˆ2¾¬'ïzç«9)ƒ‰>òîÚ<ê¬åǸtÔ©ª3Zì%ÎÓ¶pÛþ…t£yÈ;«À»Šp赌yIJ_Q¬%ô7QŒg`Z¢D„®¥à*xÅ]’Y´ §K—øœäÏ¢YŒ\ŸÎ…§1 /#èE~ù=bFñzNùàUdC¥Õ‹ó_¹hб…C„eúmHlÙ0Ví:$äÝ‹‡Òw-òÓˆŠ×<*ØhýœM˜YDÒF/€Ð(ÝG´ðTPâSõ¸x%$¥f†¶zTQrùñøÙ Äð<9CþzÌ­cóèϧrÏLæ¡ÒC^–¯%jt¡]ÖÝF»éà.({?ðMzçÇS‡šõ {Çdو듯üB(àPid6`§¶h0¥|M‚wƒR£ t˜X+0 cmæþõÓ‡æÓs âvÊú$NƒÆ¹EF °!ým$ý=ÖG†LUJ.Ð ' íP†Yd¶ f=ˆ|´yÇÔ¦ØÈTÝde±¯ž*4ÜNÊ4!7UDäÐ_þò+²‘úëü½34yµm…ûÃv§n Ó¼fÝâñÜçj›õ}Z †²ÂЇm€·3î½Ì‹3\a´}I-Ç~›´/x'ŠåÀ©³ ñ‘òRø0È'¾Hr$R¤„y&/«È ¿éZ­`ؽuƒ4®›c&ÉsÖ‡áŽ×Õïa"`z^BŸéöØÆQ¨Ô"çÒFž8…¡fMFÑú 8‚‡- ž 4´N²þМ1‘KðPW;ü0dí6\=N8¿âÄçN ?æÊö†ß=nðòðù˜o,Ià®7CàžÐ'v7ZHäÝxèS<ÕMן ýĵy3®Î…kD)±nßÿðþ;îóãñ„qa=Þc¸ñ×Ë »2]f¨(_ölá5‚rÍP% Ì¢í]S»z­ÐgU˜Xóûú~ùú ®«WW@ÎùäÅÆü7Y úÔ•QâÐgñ-§i_]Og5Dî4 heÄñ?°E’ÖJ[ó>C‡ãÕkK—G:†VüÊ»¾¢#,y! k™LÜCòPÇó‘Ô‘ è¸áŽ\S‚&­D ½CY”®\JåÆ$äÚÃäžßÚº7›’0#_”˜ßTÀÄq³rzŸaK†Tˆ>†bkN bk{.H¥ŒÔà‡æã¯ ™vifðà#?®bá“.éå¾n@hØ÷‰L9Éú„:ÐL,"v[­{€wóc=ƒî¸µXL¾qïÕüPfÍ>_KߘýdR6 ‰.Ì…5Ö#Ãz)|ƒj0ødmXgÊ ò7î'˜Ç}m&(P”Íy¼h°HRãßj¤Ý´vUcQÏpz˜ 80’+¹Y·~G7µTÉ™L†) 2Ê—¸Á‡‘_¦%a;¡Ã\|ûHbÕ%×U’hrSp=Yî|˜¸µ]´ÑÀÄbyz©àOØîú05r%Æ~¯ÞÞ¾ú¿pš endstream endobj 35 0 obj << /Type /Page /Contents 36 0 R /Resources 34 0 R /MediaBox [0 0 595.276 841.89] /Parent 16 0 R >> endobj 34 0 obj << /Font << /F8 11 0 R /F31 12 0 R /F14 28 0 R /F33 15 0 R /F34 20 0 R /F7 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 39 0 obj << /Length 2807 /Filter /FlateDecode >> stream xÚÍ]ܶñÝ¿b_Šè€œ,Q”(¥O—"nS8nÐv€ò´Ü]ÂZi£;_ü÷εÚ;9v ôáNäp8r¾g¿¿}ñòU¹©âªPÅæv·Ió,.*½1‰‰S•on·›wÑxpW×Jë¨uÇøêZ§yt{p½@ý€ßÍ4þ½cÌT_<¼O0B+[`)£ÂÖ#SÏÉ(+,¿ÂÒ™_a)©É»˜½€t\VÕå#^îÒ™‰¶peÇû$Õm˜ 8²^pWœM•å,ü_ë8^q=.1›=ð™2yÖ5`”¡ 6ˆÁä­ë‘á쥘1’#O@ændBv' Àµuk•Êý q)¶FÒöh˜ §‘¡XñƒýÔ®»ä©ßÈÅo¼µè1îÑ_©»f:¶âLÐ"yèÛ]×-Æ¢Ïú•RËÛîèÈäÑaWYÔa¤ËJýþ@rÄiÊ>вïaFRüöŽÜÛnäÍ]Û< ÖAÖ{”QâÎAŽlØ)… p+w“wm=.i¬˜+STð.¶ñè%Zá—@ɰpΟSïî}7É"yÉ˜ÝÆ ÂÉÄFóFè?ൻ©ÙòtŽ »Þî‰8@Ñó‘hòûÈ./Qsa÷åðrPÀƒŸõ'ÏC9Bžu¤ ”+˜ÂÃwð8‘ Áëw<#åî)rõ¤qÑW6O°‰CFBG?btÐ ›°0¬¨_YâÌy:úÊg÷JQLó[_@—³)°ÓÓYE(I+. £¸À Á!à¢Î0»IoŠ¡.=Ò²lAS5…ßîÄåÍŸaZ‘ßÉòS´£!Т›[nÝÎN`2;Ë=ïÁ¡˜ æi½FÝ¡ýb:ˆ‚R^ñ?¢ž˜3¹< .l˜ºI¾s²‹øù0°ãu†µ¢ÛJ A¤øÛñ^¶¡ñ¾2d0Œ נ茻¢ÞÉ—ìkͳA1Q”ùÿ™g‹ƒ)¨Û²ËkÝàœlà’$hOµ)S±Ég…‹íôñ¹J]¬ „OÖ•¥¸îE®J ÕhÙð@Êß½çüG¢C¨‹°±w‚_naã§X¥¢ŸÎ¾bÆÆÌjE*ËlyÙAÀ‰¨½$I” Áwï׆¾È\#]¤"!(Çç¨?Ð)0¯¤jÖÜøt x’>ò âÊVP:†„ltÉËn@ù6Õü² /†ƒ§ñ« !ÅÕ­]#縵;Ÿ7@r¹ZáÍÙGdR°¬wð0 ¬ëb2Á·N*ìv &ÂM@ù|φ°sÅègÒèíUù‡DXÈ(ˆ!ùƒ=úCºÕ^éâ+1aÙ¹ãÀC0|ç’&”¬#U kŠÏÃ…nG6…CÏÝŠLqÐL«hω¹”‚µuöò Þ»Y|rÞºEª Êäªøc‹„IJ‚s)–ÈDÑI–Àbl’üÉ‹Œ¶Yi»³&R§Cëè{1†¢ÁÒzhvû`bÒ »›ößòÂxè&°Š4Z± q ¯üžÃ kþ‰gܯÅ/zlÜR§ëLºÁ8ø›X`ÜÐçBme7—R8§ôŠhÛqvº`íàú‘>Ömh1ÝÔ×ò^çV%M°:ËÛ—îhÈ’Ì–/­Ù0E½7>q;r¥EKBÇ™.BKüt¥åy4$˜Q“GÁ#R|gM« F)– q©4oOKç‹¥ˆ‹|ÖÌÃû$ÉÉ,JHûç r_QÙ½[¡%BQ𜘞`*}Ón)‘ÃùëÎ0]^I¡*Æ!ð›‰òPÓ3ã$‚”›ž±ú©U¡4æÕeítþ1ÄxøÃJçÜÒR=Pß?\ay±=­;q<ÿáÜyXžUÚŸkì¿?¬kªŒÕ¹ðö9uÜŠ+À (&Êélj¯p-=Ô’îò‰÷:Ч}ê¾Mœf©(7íJq ‚®TzÎÓ)WºiÄk{Š\¬2GIil¸'d=õîpõÜç’ ¸‘Sb£$ùSÜÕÝ2’m¥J®ò<ÿÀ¥.n£ãBWÿí;Kï9ƒÒ¼JŠK7ú PeØ ù°˜Q޲ƒÚN”ÛR¬Å%êX¨,¡ž°¡ž°†µüM7:^ãÜ‘è’ûE÷Š6Œ2L¢õô»µKç ¢™ùò¥Á}åÅì¼ðj›ùÛê n:‹M8iÊ«8KždŸBC ¿fùñ ³Ü¼Å@3õŒ ¸€#CáYÒÂð§‘×P„i€y—&ÄXzñÃí‹ÿ1¨³ endstream endobj 38 0 obj << /Type /Page /Contents 39 0 R /Resources 37 0 R /MediaBox [0 0 595.276 841.89] /Parent 42 0 R >> endobj 37 0 obj << /Font << /F8 11 0 R /F31 12 0 R /F14 28 0 R /F33 15 0 R /F30 10 0 R /F7 13 0 R /F34 20 0 R /F45 40 0 R /F47 41 0 R /F32 14 0 R >> /ProcSet [ /PDF /Text ] >> endobj 45 0 obj << /Length 1656 /Filter /FlateDecode >> stream xÚÝY[oÛ6~ϯðú$1+^Ef]vh¶†böÐôA‰™D-5’Ü8À~üEêB‰Î¥ÍºµËÒѹ_¾C_àY x†9EB±™ )Égg›ƒ·ïâÙ ¾žÅˆ*9»nH73jH×ëÙo^.žË™BJ1[ž÷¼G<‘³åjö6ús.i¤ç Ë(ËçDFuYÌð¹Úž5÷U”Úǹ¾¶ßkCvó¡¡r¯ž­Óªš¿[¾~zLÉP&eˆS£T#í÷re‰<½$R\µ$çEiY§óÑ{}VWNîeZÛgéj“ÕN¹Ü‘—+]fùš/Ñ/îqVÙǧi¥Ù³…ñS.0æVlaØP 2tÀ #¥x«â««€ 1,[ŠÆGŽ-(F‚ -a|@=eI€$¦-Ë“˜Ç!ÍL&ŠQ:ÔŒ „'-I:•Ñ쟃lI0ÐÐOiüXƒ :‰´¯K‚8Xïëâ9pGp}©K=Uxc¤"΋Ì//µ a®w&ø”A0Kín®³\Wöò"û8'I¤û€Û‹QVÃûUv‘§õvŽ£Ò¾Ì\zyº^{ X´Ñõ¥+'©8‘4‘FÇÐÊ›ŒÒbÎqTl>˜´4ÿ¾ÀàuF»Ð…3€+<òº^‰éŠô»=IDïâ@ÇnËŽ¦XC± Q©üêì“ãQòwj?›2KPÂT ³÷òø~ÊêšÈizÆ{]~‡*É=TáUø—õÊ^Ïï£Ç/Â9Ì9"’þŸrø¥­õbY Ö‘QoÒ]ÀMX¡Xà‘¯=n^Ü70¥'®”0BýÊšÀÈ{ºÀ !þm»éoYžmÒµë¨Ð ׺v=|¥ObÌò¬ÎŠü€cûê3TÃô»_ÑÚ¶^†œ «Žø^½{†b•øYâ¬ÜV]ô'ÈáäArÌ+´%uPç´u4Ú¥›QÆ…â,Ó Ú§nêµîÞ&fåÀæ(ŽGçEåÍAj/ŒÚOHjJ¢ÂÜê'4‰*Cœ6²ªCKÚ€?x”9ÆÕ6 t]xIá¸é ´p3|On2ÉÇÍ ™<8f¤kä­)º¶n¦D"‚GýÅàt!†%ß²¼ªÓüL.æŒF/Ø÷l"ˆÉ7ž†k D›Ç#0w.S›3pg¥ÏÓíº¶ï®,gõ-Âʉ=Îʪ6ÁKxtmY;bß›šj²@3Ã{(z__*ÒÅ*s2j]nŒiŠY_¨½ùÀ”6}`:€áÐN*€ ­¯Ôjª*NmU "ü³l­,÷44cXc~7"ƒÍ“Šn.ºüã°5e>Ê?Æu‰µÎ–03)™WYUþ Iãpó™¯o,E“†e“@Ú>û8‡í/]ou·Hy“D4×Ýæó&Œ`æï•À÷vR}µM×™ ÓÃ{!î‡ò¯fI^—¾¤¯kOÂZ7•ÔX–æOLê3Ø[óU@Ø‚Z°%{Þüi6©ŸóÝ.b^”:­uÙ.>q=1î ­#BÕÝëÆJ-Ú™<G…*ƒÝô> É«‹]3p9lµ8Ô?ãáVxX•¡[vjü<‡@BÉq¶xŠ, £$ãáQLb_À¤aŠ>‚Y…’×Yè0Ѐf÷×,”Çx`Á„ÉJ]ô³ÚLµ´Ìªö ¦pí³Lë¢t0ÀAv;´Ãdå°C{Òãú?e}óõÚcBoúEè@‚2${—„Ð7¨ƒÁ£ _ò¨ÏMEt0ŠÝ£Oª}à@;bPºd¯ªm.Œ–%©ÀÓ#Z•<ß<û:s/¿ «÷¾¹-oø·”7ŸèŸ½¹óüÊ`%$A˜&üq–§k\àËîіnLÛý¯òçpáð}ßE-ªï·ÂÐ/CÝ‘‡7Ú¬CýQD¾Ú³2%äÖC#)}X?ië·­yœ!ã»a½ôa}¨¹Ã¨båŸGÓ!ÎIä>¾~z<°±?³oîÄâßÂû•Ú¹³Ö2:y3ÙA`ýöb±ûï0ß rðjyp5ù%“‰bA?ë—L€‹p,l¡’¶ÝíbÛ63ÖþñèÇþŒ©…?§Õ_ÍáR 6ÏÜ1‡{UïRs|Ò$“¢°ßIãF «¤ûÅT¶¶ýmÿb endstream endobj 44 0 obj << /Type /Page /Contents 45 0 R /Resources 43 0 R /MediaBox [0 0 595.276 841.89] /Parent 42 0 R >> endobj 43 0 obj << /Font << /F8 11 0 R /F32 14 0 R /F35 27 0 R /F33 15 0 R /F14 28 0 R /F11 29 0 R >> /ProcSet [ /PDF /Text ] >> endobj 48 0 obj << /Length 1886 /Filter /FlateDecode >> stream xÚYKÛ6¾çW(‚Ê@¬ˆõê)-šé¡)Šzhz -Ú&V–‘ÚÅÆØÿÞ)Ëìj÷dŠ΋œofèßnÞ¼ÿ”ϲ°Ì“bv³ž±4³,åQ²8ÝT³ƒtþßÍï?%|V„e–q$ÌÂ,Íf|e ¯¥ÁŸ¿n>´Ú¨FÔ~m*œ‚b0´  …eZ›lŠœ¿å·^uò/±ºy¨Å÷‡Zió8MDþ2S^jA1…}%׎ý¾“^ÿiüË+üYF¹çéï”'3®ù'ŽÂˆ3'¡ ,º&" ³8ÿ ­6Oá¶žXÁØN™'í߬g òÂâI½Ò’dó³;+ºN<8ý‹Y ã 7ò0a(€‡%ç´ûf+ç‹$MƒvoTÛи’Ë~ƒÃ,¸WuM“+ÑkGû5J#A뫶Ѫ’XÖnQìÚ¾™ÇE`ãõ|‘¸‡¸ƒ›„¶7ûÞÑš•4\0®p ±œ/€)áqì;E2dû(#CxÌCL5ë–f•¦AŸ«v·ïÚÒòLðØ1Ì?,Ø•nwŽ©6ÂôúÈ´Û +µNõ„E0&*)V¨â¿@SôK–Ö^ iZZ줨ifìXÉ;yâìDÊáÀ`¬U-ÉVBø3Pè;Q7#u·¢©pS’ø³†àÆzC “+Ù¡qƒ{\]šjZ^ƒ?iäNŠŒ°ÜüaÍ,¨À¿áåõÎ`‚Oºø¿ËU-:ùÅúâ`÷8_¤qJþ«ùØT_Ö..\:ª‰˜¾B<5PƒA˜<¡QMT#{…öV˜Çkà&Å'Õiã/н4®H$}º«¶ß×n Ã;¹Ø“&³f`V3>º”j»Âk~ò 1öS>ÉO¼¯ÔN6Ϋ¶¾W•ÙN=ŒbªpDcŽBôTåkX„™(!ަJ0í­ö`8•?›Ê_Ù<¯Öè!À¢¬¦Šˆ§Št­†˜›Ê=™Êý¾SÆä²Ë`:ò…Óg§HÂF”,S–žU ¢®WgÌ*éÔsÔšœ£‰GC4A~@à5˜˜_£Ä[ŒX"©0#ü.Ûïí8 í–Ï÷ùH¨(üÊŠV–ˆ4Fdq<öMŽUyšAOk¤±É P僃ö”`oçXul$$È4‹‚æEb­ÌcHŸÊ(¼ü·¡_Ӻ߭[»½A^ô‰ÒÑì"î·jHãÈAÓo'!GjI5ƒµ&—Äâò`ã²#6>Ø?U}i”—e<…T %)ÌFÙ©‹>7Žw°ön”‘åi&ç 6œ*y7Zv0­%ToeÝq&2s("ê—ú[Jàþµ§r½ï—5xȑ٠óDv÷ÑÅ_ظ 88×MM›ñóÙûí… ²èUâ¦eécû%TM¦ÅO¼‚ÑŠ@íϲsñ5b©ðŘðçjºÞl‰ànÕ¶¨{©±”ä<¸ATøò;Ü/¿Éß²êWòŒ…V;$Ü]­Ö^Ï×oqþBW¬ú®ƒbÄæa}æç_¼ð>­E­å!š|°å ùƒÛåMeŸD/¾7>€çrlÁE‘…1+N¯‹ÓMôµ¡%Ò2äì¬É²9­½B'lòKb[O¨õ^®./1‹Š0åñ ¸”lÔxÆyìĪk¯`&/CVž·ÐSdaÞCÆÈõû’4PkÌ¡r… ^¹yã5¢«è:¢©xýÝ·Þão`Û™Õµ¬ óôÌC %@ßÔ™VaÁ_¡u¿Ãä¶oŒó4è›A3Z`ÚÏ”¢vK™W©³# ¨³-Î[¿s·ƒ8vâV¢¡ÁÒ«ÐÕW×úX›#1ü¥ñ%»Ck>$“•3ïhgÍ$lzAk5>\\ÙÇÙvvsŒ²‹Ûpø‰=Nºø5:5W›º]Šú4D/tÃy<ڵƒeÁd=“WuÂcé—î<Ôä( E§}ÚÂÚcà·“»¶{°=…­=gc´ÈF¸¢ô툊a—WqBTÕ“¸ƒ é¾VÆNÆü:T^`©­»--ó(‚ëÿÁ„ôÒP|õSßå%œdYÈòl–Ct'ì4ûB XðÒ4†î‡÷’Ž‚¢Ã¥©Qí÷·^önI ÒíkL\žžðcƒCðZ¦Š¢ßr¹úEçˆ:tHÉSz‚o<;D•@^Vúìkú)ôAÔí}€âÔ‡M»ž&NRuÊÃ$JÑÆ°(ŠÑ_o>Þ¼ùå~äq endstream endobj 47 0 obj << /Type /Page /Contents 48 0 R /Resources 46 0 R /MediaBox [0 0 595.276 841.89] /Parent 42 0 R >> endobj 46 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R /F32 14 0 R >> /ProcSet [ /PDF /Text ] >> endobj 51 0 obj << /Length 1227 /Filter /FlateDecode >> stream xÚµX[kãF~ϯ0˜¹¬g5w©´à–ì>–jèCÓŹ"º!É$iðïÜ$Û±RÏ8铎FGç;ç›sé×åÕ—o|Â@Ìq4Y¦H1`1™ðˆèd¹žü`6ûkùÛ—o˜L"3F”& AHà$4*w“\têr»\$ëõlN8¢Á~¡…±r7·Væ01-÷„«Q'hD"aéõ`Ý=òDoë<ëfsÌø¬—< cOÈ4+“<ûGÌæ†¡~؈ÈüýÅÐ›ŠœŠáZ¬r¹+7u—Uå‹lUó¼ÓuñK÷µ\ߤ·Éê!Ùè¤5Om­¸º;¹qÛT+ѶÆV½2™3X„4Q1‚ºËÅZÜo7Z‹FJHz¤“•ie Å€@juØ©Å^‹ŒZêžkQm;£÷¶Z+÷¹ìŒ1åÕzLš2+7†•Hš‹bŠañ„Æ€sëåïY‘Éݑ٠yÐUöú·Í&ŒßÆÆ¨§TîÑ6Of( š§S$ÌGQ¯['+¥ø0£4ýY¢ 0xTk ê¢„"Y5U«ähp§n²RévæV3ºQê[µ M‘¨]¢0lKwÐ1A*°9Æ8È« -‹ÐàZÔ²¦¸rå kc“@”ʯÜ7‹•É£ÏæNÆ¢M(y•Ø÷ZÑYCYØ–v +O pšà¡ôƒ˜ØqCCÏqóÃËaÚ¹V…g»‘™c"=ÎjÝ|§S¨ŸÚ~¹ iXW¹©byµÝαIÑÑá'3žÄG%mJpÔªQ>¶Š/eó-”Q2‰/™Cñ{ÓéÌ'uŠ|?nÌþª›Å¦º¿.£Á3O >v¨¾6¸ÔžfÛÍžš‘ó‡]øÝí\Ïg4ò„ß÷në±[ý'‘Ç 6üƒç;Ó'#äv¢£ê’‡‹M¹ÎôÁ^÷¦Óa£UVU>2m€r̾³Ôý—±à.„¤i;s“µú0¨L— 8Q8—B¡„ªíLÒ+Ͷ«$‰FN›ª0Òø¸‚r¸ó8vœWP6èÎG'fI¼2[‰üÙÈ:|#Jž†!Ò*!“ÂpÔ€1˜½:GdzRÀ~.!5—ÌŠ"(zF‘`ys}óã~ýɈmUØ·²¶ÝжW6¶$´´ÚqUi.UO3 šryM«^Cso{Ú­ceR(Ãçæ =‹¡O¬)œ¢)Ö9¹pþ4bÐéðœ¥åVüžk’}£CGÆä‰îȬmÀ¨sؾpìðØàÁˆ8|5Îz^Ò¿ZWn+sQ¸ ‹ÅˆGèØ#â«È[á#õŽq¿ù^A¾!ÈÌõ£€9Qf®¸ýÆy‹Ò‘©Í"'ÿ?Jßäs4~·¿:iæzháá0vWá…­Fr9S2¥S6åÓh»6Û!8òi> endobj 49 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F32 14 0 R >> /ProcSet [ /PDF /Text ] >> endobj 54 0 obj << /Length 1995 /Filter /FlateDecode >> stream xÚµXKã6¾Ï¯0` V ÄŒø’¨=u&™ $XH€Mj‹m -KIOÃðO‹’%[žv#»›*YÖã#?,ß}ý}<‹XK3[>θ–,JÔ,cÆ…ž-³Ùƒ8¹ûsùã×ßK53,‰"…œ"d¡â³XþàRýº¼O‹|]®ªâ~ΑÒ<§+û?ÜßIƒ¡ª ¯Á‚‡,Ñ éaBd­ÆT>a0D"ÙÇK;æb.çj®çÑ<ž›yBúÞO(äw‹¯úî\Æ¥œõ³E,X˜DÎp££‘ãk[ïJ’df  Ò°BëNÐr“7w ÅÁ6]Õ WiIƒø3í¨Ea3§­ÿ§¿gÇW5y›W~é~ck¿pwÚ䩬ðkO_í¦ÛxâŽg“"˧ÁªÖ+F&¹áO—Ζ2d±Šf` dÞ7—ö+& :ìÄ´t®ÔLKt®|Œìéj6 ÿNž—*b"ÄXãp´Þõ¨¨”2XÛ ,´DÈÙmKïó¬Ý4ÄPçë ZÚ²»…R*øÁ/Ìïx,ð³³ -KýjtUZ—À—kâN[šëÅÙ2£™êñl&«Üa­v[[zÁžÄ\‘,Þ*#ߘ+ƒÐ{=Ô«ÙpðÛ¶/϶ڵ÷‡ßÀ-4DÊ'?BÇã¿þ”.íï4dŒßßZ.ô”> "Ë ý¦ýXfßUÎíÔÖ´b¼u4±µTŒGrljºzJ×ö78d8áÃsU¼´éCa'mðëIñ‚â AÊ0aúÄ?|ëýÓ䨧«MZ®mÆèë?gže®ê­«P¬ÝWÇIå¼Ì±ÌM^ÕCZàöÆŽk[¤Ÿ} äaȤL| ŒG5pµ«k8H>Ï ÎÂ笾Šn¹(&a1—³áÂU»œ2Øb¢býlè;ÅÒ'… v VL$e»š²¨-æÝ MWó ÇmÛúYI5¸š¶¢mºä)éÒ–fH]W;sÏŸå„\ÚzÑw¾Ú¶\aEÆë)Œ€"óз­—¿|÷Ë¿‰¡¶ÛjTŒV•~–$8íÜ€J;¶‚¯€’È $Ö®A4ùÃI ,£@à? 2¥’31>ÇñÉ,º%#+?ÝéìË¡•—Ñ[ÜW‘ïÒ¼lˆBž…AN3¶.Ó‚(eºµ_áÐP3KK&ô!@"}UïÉ J° õk®©¼ð 'äÌœ÷oÉ©À«À~î­2Zá+¼ }ø _ãĚπvˆï‚Ÿ ÈX™…0R¥ïêHq±Éƒªh&rxç ¬yzl2rD‘C8?Æ@k¦¸šÎêlN|‹ëŒéó3t¹žõ,]I]Œ‘Ž"H›ª¶ûA.Óh ¾‡câR”’(ê+V¿7ý¡¹´¿‡Unzò„$躹¼")¾"©´{Ô‰-ì©·/bΩ0œ´¹Tj§d2ޯ޾bvöíªÙT»"Ã,‰ >BàÁPkŒÎý´ýüœ:TdGC>ÒIûÜUUd¢IM6"e`ÙT Æ‹BqÂÐÚC¥èO•Z¸çƒ]¥P©OiFzì‰ÂJ€*ÿØ«¥¯ •*éT§än‹¿D×ÄáðrVOòºô…<°ˆÇš©Èš Ž¡Eèi-{0û¢]n’b­ÝRã©ê´~!Úµ¨€rÀ¥ÎjšÛá² Kð—‘ü,UCî7ù ý°¡‚”{àë[#Pkû×ÎkñÒáæºÚ2†Z³;‡ÒpýAÞ§; €I ƒÃúg’7bØaÅr¨‡îdï»ÿ/ÇøÓ)‰ hÇ"^Cµ%ámHø¤#ÅaÎsy¼ß&üü5]ÊV—Ò_þ¼†}“3±âUì;°íŸHâNº|Uú\ü_«Û ÿ™ ¶g3‡¹8·JÖSÏIôÆ4èÛñá2/ò-Ìo¼ê%ñ[ß\N-þšø´=N£NúðJàš ÐqðXÅÞÁm¡Mÿî¡»wM%›ž#àƒ λg ¤™'4ÕÖ¶¿Õi¾í$¹[8RTÖô^‚‚*ñxP¤u,M[ïVí®¶¯ßÇóF?®Aã+õÅÌ—2g/Tӵ̙4ÃW¿O<¹ùrOqn3÷½Ý;QÇ*{ô·=1ÁãÉË^·ÃeßãÝ §ždº¸ÀÙÜó·^V»ñ\¯k‚mø¤3y][j†Gî…HAÀ8# ˜Šü‰ÐɶŒX¨£+e}ÂM®0j&”\ص$Ç¡Šª~òbñJ€ÿkhÔt½Ã4AÊÐQžn)­M3R¢È_Æ 3g—q‹ Â"6Uç`Èǹ·ÿ©dPL'f:ú0$ÂD4Ó£hæá•Þrñ¥j¾ÜçYV؉™ -Û¼}™(ôõ·Ä<Þï0YnŠù!þrØt7Df.âÉ@ŠãsÞ_¬bÆrIaï‡Ååþ¥²Ë· Yp¤ùâÕK²ØôÇ,œ Á5‘8ñÖpé õáâ«fc[ÿ`†ócPxY@ÑØÆÝ¢GeTÜxò¶À;¯£Ý)¹`šh”\㛂BôÎŒ‡¡Üù»Ëwjç°& endstream endobj 53 0 obj << /Type /Page /Contents 54 0 R /Resources 52 0 R /MediaBox [0 0 595.276 841.89] /Parent 42 0 R >> endobj 52 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R /F30 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 57 0 obj << /Length 1335 /Filter /FlateDecode >> stream xÚµWKÛ6¾çW È˽¶š¢=åࢇÍd‹¶ÕèáZ2¶éÂÿ½Ã‡žæÆô9‰ g¾o83ý¼~÷á#eNŒ’0dÎzç°ÅAâD~„0 œu榣—ÁÅÃà@ Ëô WŽ/—Úr™t.Ãû¹Ùë½DÿŸØ]¬b™þ\œÜOvÆÅ.qé–4ö­IóŽi•ñÌø¾ð´¼<^.Rºmª´äËU@Ï¥B«L / Û8al‚£ˆt]l4&Uf¶È-[¯ÝC”» ñ‹K4¿ž­­{j"£îßg~–вí^%[œ ' PÈô1¬¢=ûÌÛÕEQ‹¬zΫ½ÉfרõξXbOk§êÑäå±Ð"é[-ëxRO €T\ÁxæíAçA"qŒp”̺ïSAÔï ø=xa!`‘Q¡ÌG,ž…Z]? 0åxBý@ÏÔ²­Õ§öÀ•¼’Rã wKrÀ$ ˜÷XÂ^Á€@Ê£qO9…EPw'Fðé³Ù©i ^ð®ôuêF^~2å,Á³Î,ôɈ¥Œ#Þf {½ú, ÝZÉÓ hÕ°ó¤ÞuÕó(Œ½Ÿ¥ªäoUÞAÐAéy –µ»´hjµÊ¸`RqCÀ|c‘Žjy/Æì>^Î`'ˆ^]铲ŸÙŒ`’Ÿè´í!mUO•YÞG^ÔÝYWÈòJ·hõ„ nêÄò']/Žº^ü†Á2J |¦)EO]ý7^´/.¾ïhãJü;ñt9.¹XK«¼“ômíç$BîDœ˜‰K]ÖÏ«Ý\* ÍdLÎxÖpÍc¹w¬›´o ó¯z#ÖèØnìÑf4·G®…b/s[,äðSÛ¯êU”Ãä»ì—b±­«¦’föƆ"¯ô‹œ¬9D÷ׂœL=뙘Ä7‡D9Ñ”%Ïò´åâE]×ãÚjÚ\™#8ƒàÓZ Š]~ rTûi™$Æ¥o*Pû0õ~°]˜v¼îê[ÿÝQSMS Sq46^ð¶ úCZ†\µsæƒZàEía3+ØbìB¢‹£vÉÂxpÓËBfÖ¡~îÂco<¼i\X“féöË{µÜðmznt äúTxÓðªÍӢн"ïþI(kL‘UX m§îÇ\þ¡ÝŒE× hü=X¥ß.·nÌ76†o·øYŸ:ºxA<ÿç¯R·Ó’ì\–_íïHFîÂö Á ®Dµvf¾Ù½òôÿoÜ5ÇÓ#1"¦pŠQÜß-BïÝ/ëwÿ;“®O endstream endobj 56 0 obj << /Type /Page /Contents 57 0 R /Resources 55 0 R /MediaBox [0 0 595.276 841.89] /Parent 42 0 R >> endobj 55 0 obj << /Font << /F34 20 0 R /F7 13 0 R /F8 11 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 60 0 obj << /Length 1828 /Filter /FlateDecode >> stream xÚ¥koÛ6ð{…"€<ĬH‘z (Ðh¶:`ÝE¢c.²äé‘4+òßwÇ£dÉV¥ûbRÇã½xOÿtõêÍÇh²$ âÕÕvÅeÂ"!V‘1.Ôê*_ýáq©Ö^ýüæc W1KÂP"ªÌçÁÊ'œ/<7Eu¸+t»Þ(¡¼×üíkñH·Ç|6îö†û,QIÏ'DL yŽfØsÉTÙçz‹ËoWïµ>¤µ¾¯M«·¦Ð¯ù·‹‰fñ"]Í~¯s“¶?ªƒ.«®uÜ»¿;ÝYÊtok]¤_[#Y$ÉÈÖGž5yì˜(Ö䊟Ékædñ×b¹Í•x¹Í³¢jôÄèKíª‚EÜðQMéÈ›ÿ÷¤J~瓚rq)5ÿ¢á _tkÊ´0ÿXe_ð”Ñ" í묻\»x^»d™v¦¹mÓëB7Ý_qd” |Š8G,Ž]„DL¬7r¡wµÓëM)O—ë€{w¦®Ê=íïÅ«˜ †Æ,ˆ„t9 ½]ê:-ð#òÌš{9p/¥SÓÐÚV´~ñ¹¬›–°›,-ÝqO-«Êµˆ½Ä‘׺ÛÕöŽ­ÄÀq 5]¤ó´ÌiÓ´U­‰[»T+Û~09Ú*$… ˆ"ýÇ¥­n‘žvÐZߘ¦µ·k ÃÖ›0 ¼OÓ;[}`¥QE{¯+›KØ IÂ#ì°Þåª1­©Ê†`¨¡eÛ#eUÑíùkºPçºvè™&:¸Â–ëV×{SêŒïýp…+ œ¶(I „¡ëÐÊ‚PëQ7·½¶PÚjxK°~Þe¦¼éÏ­„ˆõU;JV%XÓÜ8Ô˜çædn $ÙŒ³obŸ Gq!øÑç¯á)ÊCU<ôgŽêîù½Ÿ¢f" ½}šYÉp¼6­[¶ÆÀÍÓ>ÅÐlÂûÔb³«º"[¾ôvVé{ë+wö·v'eåðÉ8šXgiQèœrSë¬-Ö±ôÜ¥kJû§ÎY§ &<¤•uT\S\¤÷Ëy¦Q>“¡X æË€î¿?7“„XŽÀºG¤+ËY1ïp.%Á? pµ'1ÈFCòèí%„÷yVmÒ”àí6ýÒ-²:nŽq†Ÿ.Îêþð[ï­sEülÚ]ÅÛ„Š%<™ú¥ @˜iIOO@L?PoØL®`ˬ2r99ôåäRßgÕ~¼øvî¯çOAy:²(éÍÛ[/K6©µñšÜ!” a“uuí’%t‰µÈF&~θócëb‰{ˆ'ÜCÍ»‡܃Ä9s<l©(Aùˆq”° cƒBAÕeOa¦2E1“ðâî:Ÿä.îQ‚{Sä",˜†ÖËÑç">(7IƒcÉõºíí~}$kE°» ·¢¢´yë^KzÛ « æÑ1+éò$!ç ò)kˉ4àšøÕA&z Ã(ÉÂx:¶¡¡81.tˆ @ûÅ1ßmŸlècŸ6zk{ôŽ\€K»ªp¶a¿¢Ì›ºêst-ö Ùà9²Ôç–Ø àm‡ëÏ¢iÛ¤wšvYÕ•-Öô…Üå¥À‚ÈᥴÕBÚ¯›o½v”Õ§j§ðÈò—êI»­ÀÉuÅBˆÍ³.0þ£Gˆ|hˆƒi`]½!Wÿ«k\‘È5¶¬¥v…Ôb¸F•rri ëêçb¢QÃeã? M§Š¼ hÐ"q¦¸Ó]Ì›é9Ý?CeÔ#UP=íû\j†+AèypÞÖ¤ÜǺ.i LÕ¶}â6/E6/F†ìt† [™­[[Zkš- H’»¬¤ ‚ã@ù Mj¢å=¤Å³\¤Œ¦)o?m÷†ö%ÆlàZà½ë÷}óâzÉ>ËâÙnR³ñÿKp´w!´ûÂé•Ü­+ó³>ÕA°ÁDƒš›¹>{T¬í“cMàÓþ,ષ¥æD²ÿ˜j—£sŒù-<-¨v9ã<"RL@ƒ6 gºN„Ïû¢þÎYSwNž'ÌŸ'>HuÎ ^# ÇCОKâ¸1n&­·iæÎ\‡×Ð×ugŠœ¶m»7lóîØ¦r¢eNUrý­<ŽÇ¦K7û/˜$/q95¥mð¢£8ïû‡ièú ¬ÍÁŽn:3È)# óŠÚèìA,›|lWϽ_`Ž«/熔Ý©n‡•¦—æ`´“ŒºúQ 3jñ娉¬¶i¯Í=r4:œŒªí`£­²¦„Ô½Oqäž‹›¥¢Äë›écŸþ±¼ô¡k5}ÐëÂiVÕ8»t<ýäÞäí®‹)È!Ÿq¾s÷úñÃâ´;ÚÙAàp4Ý Øšc5á½Ó¯xÄY |&}7*pÛ–¼úpõê_~›åþ endstream endobj 59 0 obj << /Type /Page /Contents 60 0 R /Resources 58 0 R /MediaBox [0 0 595.276 841.89] /Parent 61 0 R >> endobj 58 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F30 10 0 R /F8 11 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 64 0 obj << /Length 1815 /Filter /FlateDecode >> stream xÚ¥XmoÛ6þÞ_a¬(&±*Š”Dmë [± º6`ÝÆ¢c-²ä‰rœ4Èß’%Giäõƒa¾‰ÏÝñ^ò‡å«·ïå,õÓ8ŒgËõŒEÜS1K‚Äga4[f³¿<£›ù‚‡Òk6šµ^ëZ—+×mªùßË_߾笷•Œý(œ´ÅGÆÅ¾Ìô:/uF‹û°Qèó@´‹/p×Ô»š/`o½R{ãpr'Gn迬ÜÀýWºN©a9ó²9óº†?_Á½å‡?|C«þÝë½ÛV•V¤Ù‚qéËP@ƒùiä´ïëʹ·‡‰·7 õœŒÔ¹.ª+UPûvEžªsuUhCCÊ}CVäÂÛV[]¢äÍ·n¦¾§0¨XáìF•×î‹fº¨Æ' &³ØO.Ñ‚ ÍUðS!IrKw.b&ÁÖ±°G,ü(MûSêêÚnÁ Øý}yiVªl*]foæ‹(Œ¼ßÔRÿIÍÕF¯nFpû.X¶K[ ÒIUyÿà §èk†ãÇnøfªI0"A(ü€ñV‚V릺1æn¶PëF×v ¬·¢èqL·1‰ÐCÂÆD~2£îÞî^‡ãö³Ã)ûçë»Þþ®©ËÛ¼®JðÃf*ƒ¸a<ê£Q,سÕ[UÅ~[ºÀ c°¢µöv×Ü94íy‚.¾½Í‘à$/M"š$`îj½Sµ>Ôy£GŒ0/ž„×s[‡u­›Cž53)™âIº0zª·È©¦š|. `tŒ†Ç¸Véÿ´ß1 MD’Áû­óGª7iäÇLÂ!˜ãäèúÅ2 |)»bù3¸óV¡Ä;Ì©…IämÕM׋=eÚQ[oî©×h,cت÷¥®¯¥F©WÚU·ßTôŸi0Ó¢†>³5 ÇWU]ëUÓvÐ×­®Á°¨’nSë˜dÏU9žA?c=<0lbµH… ¯ÿ˜KÞVñB÷êôSZ#à4ƒ¸{ÔrˆÄ¡É»"ã*,m—y“«"ÿäêºråžvrKÚ’ïäú0Q·¼lÌxièÇŒZ/œV]ªl…‰Ë`ÏuÈ€yùœ®èÂ`C«.7ºvÂ[ÆÖ×fg‰SeL~•ÀëÈ+­Ù+ZjÞÎüªªi¦¿­ÚI"c ^¹é#rðß}•;ÃÞ¾xÉñ’Öt|J<;Ãu«4  ‚Öz8ñlËšRœë¬Ñ!GÇcsSφ8An2 „ÏûWƒØï¢Mu?²#­¸U™FŸµ)"MÐÇÃTz;£÷Yµè;Ò ¾X |&ºôvy¥¯óòr*Wîø&Óp9І );Á¨£ë×è 8Q­²ÕzÛÁnÆÑ‚,’©Í6ƒ$¦ ƒ¾ÊdOSìa4³äeMÁüQÒÙ¸X6¢g˜ú°çѤ V^^E@Ù{N9Ç»Ž@½:I:½¨ó1ˆÌòÇu Æ„Ä;HÈ=ÊQ0÷Ë×[§;Ü e;Ýc„®^`%³¯]Ë×cé2±~ýâire»¦É‹‚6‡K]¦3æ=æËXœo4%Šèxœd—ü&“oŸƒ‚güø0}óI|ŒX¥yP:(ÔÝ›‰Á¾D@r¸ÚV4PoÕÔt•˸•¼ÇbËRÛ(Š ?%þ‘Ñ`^š…y1<±sä…ƒ/=‡¨¢#zQµ›ú–žCÎß@MʼnÎÀùî§©ÎPhƒ9>©ÙÀ7él­ð%Ȇ†{'Z¸±ô;eÚ'c»œ:†bØ[«úÛ l:•õý¦/ÕÁ iË·m4ôos>6lX•äXì:úOµ˜ïY5U_Bn#a­w¼úiùê?‹›x© endstream endobj 63 0 obj << /Type /Page /Contents 64 0 R /Resources 62 0 R /MediaBox [0 0 595.276 841.89] /Parent 61 0 R >> endobj 62 0 obj << /Font << /F8 11 0 R /F31 12 0 R /F7 13 0 R /F34 20 0 R /F33 15 0 R >> /ProcSet [ /PDF /Text ] >> endobj 67 0 obj << /Length 1656 /Filter /FlateDecode >> stream xÚ­XÛŽÛ6}ÏW(‚Ê@¬ˆuK_œ¢ ТÔ@ 4}ÐZôZXY4$ywÓ`ÿ½3œ¡ek•]9Í“†×¹òðP?¯^¼~ŸÎ2?‹e<[mf" ý8S³$H|!£Ùª˜ýí}0s™zwóE*ø€¬Q½¼ÑÔÙÌö //>ÓÐÆ4<‡>nq¼£Vs¨ýù?«ß^¿Of±Ÿ%aŠÊ!ˆr¶ðU)éYJC5KÁÌXáL™ú01 )ŸD¨º­ÆÏÇÕ²37íÈÖ´b!?‹Ž[gS¶^–›C]èMYëâ (h×y]—õõÃËgÔd´‡ ‚5aê‹0rz¾<|aóÝênmªÃ®ÆžFWù½Ótš¨E¨|‡ JA°móvÓi;é} „jÚ>î¯H:Mã¾)klv´Bßw g­¬!»¼+ äk¡”òþœ§¡[whY+ ½µ¡4}Zê5›3›Bo—¯ÃA'NàŽ€ÈÅ}ô)ýW&™‹_g`ã$õÖ¨v«á“x7Ôu·Õ ·á†ód*Þ$'©ƒÌ¡48diæ]͸z“ß0Vòœ»²ªHâ9¼sI:°?ñtÅ' Ü™-Ør™ZlìŽp´L·u‡«9&‘k݆oahn “¡2Ÿ;Z‰+L1¥þËÍ}Ÿ®Rƒ!;–§éyþ È)útá¸a8²¡’~ªŽ;¾œ/"ywš¾6é(`Òñ»)m¦Q¤L£„‚;ù0Ð’1Œõ ,SÏZÆ¡Üãÿ÷sU‚S7¦nÞ}Þksè–]t}[6¦Þéº{CNƒ'¤³E±Ýçke¸åȼœlc]ðz„à,<·º¨(¥»t‰wo4 ˆFÀŠíUx¼d—ß8ìƒV{p*»mÞ9I?ÉÑDHvaY›Ý.¯Ñ$!Ø5õ —® {‡ÝÂlê願0eãà;±È‡¾&±÷¶jÅep&ÇnøhÖQmÜà =ÁávϽê³w^ëÀ”Ú•©¯Ý­Zk]èb"u‘Á$~QiWü‹NPõx@¿qEpm~«‘P@[œîksuUi³GWSU‹ TC¦ K½v÷ž_¤Ý…^ÈËB¾ß•E·Åä‹èº^¦œ½wúE”<éüc”ÉÎQ惾sôJù6ðο!ÇÚhdmÌØ.ÿ¼ç:·DjËd£hz–¾‹ÁjJ,ú  AÖ˜i®þŠÔR$^kvxÔ5µÜùA¹Ï*  !…Bˆ[h ¶¸ÊQ§½pƒ4@Ä…þ#Ç eJÖÀLF{&(׊rw°1BÐS¯P/<›d&H•Ì„ø(¿d•úóŒ áÍ͆? [œøYv|h ‹ï½'óÀ.„MÔÔM@gz^a#;^&8@^âd]:c/[ÜÓì©iaç4ÚFÊ‚¯±Ééuœ÷x_¡LL¦ž"d§¾ßC‰Z¸s`«;F‹©š²ïü ‘Á7?h S»®šKb×nŒÃ»Õ®"šŽ ÑS~º‚—âûd¾6cÐÀ=³ue¼)ï÷Þä[ÊoÌ÷92LPN{ <0Ö™ŸD 2 ›HyJ–k}íªK#?Ž˜ýÇù­·vî°ñ÷Ǧ‡™¯à…/ý@…üWh„ªûaƒaý¤•µ9‚»%Â~¡›ßôŸtÿå°ÙÑú?!<&Ï­q¿|ìózúßü‡ÐV' ýM‰Ô‚h@ÁŽöd$° 2Øq”ˆD©Ÿ&jð·CŽ1àQ–ž¦¯Ð›¯æèün ¥ƒ½àÝ*Âã¿>ÜþJ_ÃùkÌa?† 4°s<©ÊÙü¥®øÆ?ˆé'i á#éË(9³þº2Wyeß‚mï®/A—=iuAý'?žž8zØYñÀÄià~ß§q@,­ëj¹\ßì» @fÔ×…MêÃã#'“ÜQ±ŸJ¦¯Ä$^¼[½ø~'à endstream endobj 66 0 obj << /Type /Page /Contents 67 0 R /Resources 65 0 R /MediaBox [0 0 595.276 841.89] /Parent 61 0 R >> endobj 65 0 obj << /Font << /F8 11 0 R /F7 13 0 R /F34 20 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 70 0 obj << /Length 2051 /Filter /FlateDecode >> stream xÚÉnãFöÞ_¡Ë `1¬bm @÷i ¦ äž-•,b(R K^ºÑÿž÷êiQ*Çt6Kµ¼}ÿÏúÝs±0i¡”X¬w £SÉÌBg:e\.ÖÛÅŸÉ–‹ß×ïû¶s›¶î—ÿ[ÿöãG³(àWøH©”iµÈèúzo—«\É.Ÿ ®Ur»\q´ÝÖv=í”]¸†pí–Ö·Kn’'ºàöK–À–TîÛ®úÚ6xÇ•5í°IÚ¾rUÛÐÖðuDˆJŽå]Àõ%“ÙCµu{X°9ªWŒ¥…”çÔg¾FB2“ÜYG[óé€ÿo=ZÛyÂáhÓ6½Ýœ\u§¶~Zš1UsGˆöå‘\Ũ*ð0BÊϵÆO¥aSQÔå×'ÏÌ5n“r5ÒøCáìÀ(yÎÆ¯à-ó:¿Ž&,ÕY>Ü~ØWÝ|‰ ®`ø×ÓH¾†b˰µ¥½’>Át–%Â+ûý³u‹ûÇ®õÊ­¶6ÂÈXÉõT6Ájç#Ë5Cbj>2tƒô‹À—F¾¸,¼¥‚«u\edO¸í!†M4•É!Å×£ ÏÐErt<À1˜'£¨åèĦçÝ!€D³_ ‰+u>¸QÁ†¹ÑIïºÓÆÃ!…Lî0Ú.ºL<¢°ã²Ê™ü ñ2bKEšeb¸‡jŒƒ°ô|a}ªê¨,-8?z¡FM#µ»¶Þ[Wœ*òñ0ÆØÁÄ1›ÖËv{M‰Ði¦Gõ‡H³ÊEžjváe¤´„Y2^é>†ÁœhÄ#L9 H’T³k;Xö¸|-Öë!Ö³H¬ç"ÍØHî·`Ü`QÓ0Þ`À/d1@ç1è&Õü2 e»} …x!`ÈMÊr9¡ÿ#¨ºûv®¥Á¿_í‚1}ÿWL~ö‚!@ò”K=!à9ܱâP>†uYט?¿GÑ`håÉh÷t´íɽÿö9ÔX’eYÿï(¾¨˜ÕLt¿wUãþðåÕ?Õ¨ž‰êØöî圄©¡¤™TŸ|d¸!ï±åVЫÆR5§o”}_Ý5¾ú‚Ý’6#%à ]è]Ò-þÚuí^|µ];Û!ÍLöÑ`~ÊðúåãlMsÅû÷î-²™ ¡‚ËûÅËcØmN‡[Û[W–3ÛLûǶó:ì·Æ²ºì±*~?ÄÏÏ®«Ž?{+›Þ˜Ï^þV§ÿäe:¸}ÚllßïNuýtC[³QÇœwccœEnÎà ­}¹ ß ¡ nÀωÑNx§“4žª =:ŠÚÌ%”J»`yoÏh‹ó £°ŠYòßU¯„²ÇhvÙÂ7P³ø GÈ}ã,ËÒ2äÑç9œõ~†òlÑâï§ìÂbeö†à¸¾S‘mTÊTO¡ˆ\Œ¶ŸB½Êàðzô.töa*õ%cb‰¡"Ò€ä´qÇ‚‚ÒuwÀÒL½Òòù2cçÐðï*‰Á(„ï`p€† É NÎp§Þ#ðGÕŒ—éªÃÎn˜2 Üx[dÔ)f¡®rhÜÔõ$-Ê‹Qz–d²4™êÊÙƒ¥^ 4‡œk>”bô£³ÇºÜøPéÂDÖåh?vUé,AØ€÷t6P0%–+ߟQ{8Õ® 9îÚvxªŸ•y:= Ö—]Ì ö™K? -^è1¥L¥Ö³´ÎòÑ:‚P”IÊ»²jAüO™a(ŠÓƒIÓÏ&áľ¿CÑ&Œè òN¯ur{ )ýùs'1­ŠTg&2l ¿‚©„ÀßW]Û Úý¡§[}¨«&Ü;”,£n–|@Æn¢ó2‘Šél ±ÎC¹žÊ0ˆ ÃÕ*àú[4| hÛ°96D <“\ÉT11å²)!g£@¯‰‡7LÍPkqˆ=Ïô¢Ážû&g)ÙKó[ŸßNá~x5M&’ÏžŒ©wM(ÜsþÝÛ«Dœ¦ñ´-ÈYÅpmÝØÏ´® uv8ƒÕzLï>VTÍmû8³–âm¨{Hˆ·ö]QC(H.·Ï††¯ã–oÀ?A¢â*±ú@IfÓÍŨހqt¶U!ä‹8§±K§ c#/RcBÌ<Îw¿¬ßýÈsÝ# endstream endobj 69 0 obj << /Type /Page /Contents 70 0 R /Resources 68 0 R /MediaBox [0 0 595.276 841.89] /Parent 61 0 R >> endobj 68 0 obj << /Font << /F34 20 0 R /F8 11 0 R /F7 13 0 R /F31 12 0 R /F32 14 0 R >> /ProcSet [ /PDF /Text ] >> endobj 73 0 obj << /Length 2220 /Filter /FlateDecode >> stream xڥˎã6ò>_áE0€ ´ñ¡W6Y ‚ÍrÈ,r˜ÉmÑm¢eÑ«Çô8ƒþ÷T±(YR«{DÉb½üqÿæÛ÷é& óTd›ýqÃd¦œoÒ( 7ûbó1àqºýmÿó·ï…Üdaž$·ò vn"Úò‰ ùŸý»K­/ªÖµV…‡lÙ«ZXôú¿Nwš0g›óï¸ S™mvL†¹”tÁþ¤·;‘§®¶< >›ÚVg·´Ðž”=™²ÄQÜow°ÁŸ´šUº ÕÆ:€­î¶;ÉDpP4â9Ò‘þR<Œ·7þ6Kÿþ’±!"r¡—P«î»RÕ/Ù•Q'Ã6[/ Ú "ÉA",Ìc¯U×êúOB³ð#"ԺП"&+Ý, —I(«¿—¨™E&JAÀ|.‚³­µ»ˆª*F:ÀÑínš›ÿ%ø’&c°;1¦åcô°$¹4ŒÒaoª,Øo3Xº ÌñóÖ©ÜÛ‰»÷dš;D†–f!“l*×§­7!U¢!‚F· äÆQÈ×Ñ ;E.cðXmWÓE{>ƒìB:8öÈ;Š“Ü!ë]2[ã’¥n'dírG½³Ö˜‚K—È}Ýe”;ÓC)]Ñ[¢%—lhãã}F_h¦ÕO4+ Zž7•GK¿‡Úv—ÂX¢SCÜ8‚}-Ÿ§<”1›… ÇÅ——l¾eßœÃYÝäQ2³‚pK@õ}èZ3`Vt[p'S=дua)&nî!î=¢#$qƒ`¥²–â,PàBÚÙÉCW×·@†"Þ;ZÒuãŒhŸÐùã/E:‚yÿAe,Œ£á„rNî6ÝE‚±ã—R4ÚÃvÇÚ’aìæ_‘ §]ÓÇoËi†¡AOùuÆAÎã ÷ñÒ —Ãȇ‰2X:X´?L´S×C”£òêÈSÈÃu›É`É#ÁÁÍfþ˜¯L‘c±ïboé÷¤é¯ê~ÐÒßу{ý`ªÊI§öè÷ÑϹÓ:?þÅ"OÀ6Ïoê€qÓªº¥!I ê4éR—›Ï=uf‹øL{š…¨vñ®³ z޹:#ŽûRcÌ–"ø%íÏŒÒÅ‚¹{Ó˜g °ï8[•ÀҌ̓ðæ 0Çš ƒÉ,3 …9´pªY45c3ûH¢•öá´üv¥&ÿÛaÅBÖ[ô´›Æ¾9k¿Ú:ÓöõØß]ï Ýg ïÓ>€¯5ü„­a $êùkíc³€šN@²]¨ùJ™Áý½Uú‰Æ»W¦¡øÎ{*•«Z&~Uª¦ýÛ>ôÓMÞ}­€¯¾E/ãCi=3+Äþd}ˆ¡·„êÊ0+‘&+él¯m»öÝ×÷¦2ÍIáóÛµw¬j¾ô— „u„œìù˜A¿ëíª}îiц‚,¿Ù{Žåq˜eÞpÀ‰ rCKü‚&RçaPoê£:,¸ Fî Š^:ÿ ·¶g8šñàsf8Ô|‰<¾å!ºä\Ó^E°3™è#•¯ìÍ­v‚µ®é ×@¸%ž;Št°e m&È¥¶µ:Ÿ©šAޝ%_I`úîCäD1;¨µ„„b’ƒ9›ºòO…„.‡O±6Ù‹k6@˜’I¿+™Ú“õ{f]£Xn¸pèV´ó$ ÎêP/µ\ÐñGY:÷~Oê¬á‚NdHŸ˜fï½kŒ- kc×x±½ÃJ;žØí‹Y ¿ášŠð)ü¥å0[^¡.)=g ýÇnc¾…-`!À¬ïÄaG…")%NÃ$Õ›®HÈâÞVdP©³+h6ên|r=,^h‡Ù¸làÆ›"<¦ê‡nÖã<ó¯° ;Vc»æå¦‡aP-¦½@2~#Ḋ¸Æ(_²,(B†Q”¾hV $Ñ©âñê  AqõEãÃão>Ý;†˜îÚËÑ#šË± uTt˜ü„á;wæú©7?íßü!á, endstream endobj 72 0 obj << /Type /Page /Contents 73 0 R /Resources 71 0 R /MediaBox [0 0 595.276 841.89] /Parent 61 0 R >> endobj 71 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R /F30 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 76 0 obj << /Length 881 /Filter /FlateDecode >> stream xÚÅWM›0½ï¯`EÚ­/¶ù°oQ¥î¡ê¡‡*¥9°`²¨"‡¨YEü÷š` Þf`+õÄGȼ™÷æíÏ‹»§gßò÷)³±…Ž|B,ßö&®µˆ¬åñÝÇÕâëÓ3u,†¸ç9Õ§”!L]Ë®¿ù‰©‰¸º|_Ì ±Ùõ}¸—RdE˜§ûMö8s‰û€Êi° =ÓgØFÜå ´g€&L%ÙFŽC¼ú«^8Ne-Û ‹D¤c™oZµ•P8V}¨B÷^sCØA.gí42ñ;Ì7•GÃe‘çÛ¢\âÕrebP‡¨Á˜c¶©dÙ˜6`GƒzlIÿ±[ÃV“øÐ¨nÕ¥xRÉÈÍœÖݵE}£* ö©~h÷_l´ýo½ÏœÚûÌ×ûá« õ"+ä[«H(,ÈÁ©(tè]dY’­«Ç½B“LD'ÃY3†‘‹Œ°ïtrŽòÊ¢×)¹ù\eD‘ÇÏùí÷éØA© xÓ~g0³Ÿ¸tP§k†‘çúª]aòr{¤ÆØJl^RQ½•" Ú¼™ÅnÈ·ú1Îe}£¾ßRT ßH¬™{4”æIœ‰C¾r9]Ak¾=‹Žf/Eùn+ÂÖjÒ¡>8Ÿ¶Š èÚÆ4JpŽq}ãîxƒ5ü”ÇR·Ä·`!~è!^"¨ó¸Êââ» x6ÁË ;û0§7#uæ/AÚ‚#ú×,I¹ž3à`o´¯¢C·0œ›$¦¶=Vâ^íãufM*x Î}öaúR›Àôm”{¸ÅO¿KÖY.ʼn ÐÔ¦f-œ±Ztòú°ã¨íT¢ƒ?ÁLÈŒêÁtiÖSR¾ÛÿFÒ}3él,é-á?Î8Èø¼™q£8ǃ½u$AãpŒ`2~™¾“£˜‚ýÞ·«ÊO}§HŠ€P€ç:ÅÎíE^÷O!“ ­oå>.ß›üêÄÓÁ­®C3˜¯B*¨w÷Š:LЊt'À!M«®Úõ×ï ãDq¤ÿÕ‹ÏnÆïí© e0u\êÐDƒ82ûŒ °w‚«楱Y;(G 7«rƈf%TF¥À6MÎÇ®ù®Ž¯Ìâ*ñN£ƒÄ™Â%1¦ «õ¿û²¸û§ èi endstream endobj 75 0 obj << /Type /Page /Contents 76 0 R /Resources 74 0 R /MediaBox [0 0 595.276 841.89] /Parent 61 0 R >> endobj 74 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 79 0 obj << /Length 1693 /Filter /FlateDecode >> stream xÚ½XÍoÛ6¿÷¯0P‡šER”z ´Xwv0°CÛƒbщ}½40ü¿ï‘´%‡i”nØIùô¾?~Ô¯ë7ï?ÉEJrɲÅz» <'2I2–„&b±._"–°å·õïï?1¾ÈHž¦Üò„de.)aÙ‰þ¡ªëåŠq™OÌ*޶ *îu=î쇪½Å-}§pï¡*õÝ;³N¢Rí–à¿,<vŽ›û€FýÞí<, ©uì*—Dæ,¥àÞu‚äBÆ¢ª%?¯DJd ‘J $ ؽí»F<ê>qF¯ïªÁHÈ"ÿD%ÍF³«U/4jšºÐ•µζÖcê®.q)^W›J‡â "²t ç´d°Ì¨§lŠMߑ劋<ú¬äâÞ:ϪŸtÑkôhÂA^*K]‚úC—*\ð3q q7¶¾ÃÓ™cÌ€ Ü #­ÐƒÑ‡s§p±9t7|ÙÊñq.ãQaÓ v j9°4ÕO~*³|V™µêaÓ5 (ÿËa’Ç/ìÛÕÌòúk™1£?Â(ÛsÜk ª‚“ŒÑ9Aå”Pâ(ÂòÜv—2ìLY Úì?ÖNgDˆgit³×f››"’^_h¦JãÒÎ~f{ª š«4Ó´pI€!ï0R{ÈÙ øSëV•ïðlè¶uO­¾»Dh «´«Û¦QeUhU?âéØZ›g¡:’ð„Ï­Æ<¥sP0©bhvI~‘V, Nbzâéóhs§6÷P30úÇÃ[œ–îÓéä`tÎLM(¥š§y…¨mnä.“`I0wmÁ7ƒÖ&=î½·ícx¨4žbP´ "Ìã¿mSÁJwVƒöò'a¢iBây™ÏR’Ò“¹ÁªOâh„ ô¾KfÎóªË~qš36‡/øþ‚ýáj®€—ñ–e]lî‹[õ±ï»þ°ëêG]8þ@§[¸ç:Øáx u0Æ MY ŒÛ7‡ÎP¸¾k‡n×ßã>Î=•]«>ÌìÆL¼.£ªƒô*0Ïìöª.¾_¡­Ú¨a(úGg¯™f1‚‡s½>þX›Z>¼M޳#+_ 1Ñš·l´Äõ=œ‘½ñÖ¶Ru9WŸl¶Íñó©Œ~ÚWòiF­M‰$‡kÆm³C 'HFdL_AIÒÓ7 #0Lç?0æ)ÛÌxb lòšöa î”L6¦zßñ7ÁüIŸH] ÷¾T.1.ì!2„a|W;+sH‹NúÆ|‰jÎÓyãN^ݶÿfØ}¥¶Zõç:´hš6í8ÿz’R ×ÙŒ]¶„üu-Á7Tó ×;ýøB¶{9<ž#†®:bP)8™§ÔÝ’I2Mf{ ›àO/® > endobj 77 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 83 0 obj << /Length 1901 /Filter /FlateDecode >> stream xÚ½XYÛ6~ϯ0°*»ŠHQW‹"ÍCŠ¢0Л<н&ªÃѱGŒýïáZÙÖf•<ôI¼æžo†Ô¯«7ï>$‹ØÏ’0]¬¶ &2?á|‘‰Ïx´Xå‹/ŒøòÓê÷wB±Hý,Žõ£,]tæíGŠJÝoê²”Uþãç®®sÝnd“«ªkŸnا·Äi,óÊrºbŸE™“¾.s $QàY…ê¬È}ÝvûFÉr]¨ŸqM•ûîÑn‚6•ªò§Ùj< O–£Wµ{Á! ü;œOˆãÂXèÄŽ œàlÏçÔqN¦8§c;T®¶–Þ<\°§)݉îDõtŽtÌÃü¤rgGW7 ÙÔE_V#ávHëŸ{Õ«¹šds4yΣs ®oë5$Uw_ÏßhüaÚû¦Þ¨¶5‰ãìï›æ¤ÜÓÈ?6µÃ`Á¨qüD@ZñÄQL²a˜{«Z^…Iäu– ›¾j‰UºÈ@y##BꇩµðÃ2 ½ºŠ,ó”Ü,yêíhFš].¯‹½{ÜP´aüJC]m릔®+·çƒÀ+妩[Zëv²£‘ttkÙªœ†Ž²ÛÙ½ Øäì%óJV€;HïJ–ÊQaàý&-ϘSg'i…¬ø¡¥Y‡f<îa’:’P´¯üKœ‚]ë+< ]÷dríjËhgÉ; åØïAg,\Kžx° ¬ÙˆíØ AJ#ŒÜ»×y‡þGŠ…Bb¸NŽ‚³»ºÑ ð‹ñ11±¨ZX·ÚF–îwª±„–ƒsŽ“\Xâ¶“UÇ#ÅDöòv02—CÙ‚De^!;ÕØEr¨À8‚Wúõ\SÌ‘(Õô7wt4á Ï%&P0éMÊà-&,·†XØ(ÅyX‰Ç-û¢ÓÖØ3DÄ‘Ïwz#‹M_˜„ný ìc†úA„õ=óGE`«›¶Ø]¿$ hd½ï]Ý"^" ‰bˆ:À…&]ñ5€ÆpF4òÑhÜ‚”º‚ ËB·–,Š–¤ ˜sÇl€ ±p1¢vJ7–¹€#Qx²Š®6`Ã’¥ûøŽJœ€ßØ8*/y)Ìü(NÚþëD´:WÏbÌ€t§›º*-˜3è ¢K‡áñVu4™ø'¡Ä~òcS-0yÚÀ½`ß™ĨŠö 0lJð¨‘Άš‰42ωÈjØs6!œê­e`0g¤1vEžÔŸ1»örªÊèjU©5 úãúc[t±æ˜|C‘‘ ™¢ú{+#ƒ%Ìgx‰ûLXüfv"? £ÅhùË¡¦¯¾­¨À¸ÝKhŒ8N\Ÿ€ÕRßÞ‹¢Æùý³ç vÅŒ[r·W-=I3 ¨¼?ŠâÉiüÞ¾ðÙOî!$L3äØèþµ¹…3h:!³-Œ‹p…e[‘™í|Hd¿xÍ5Уí#Rf…̓r¡ Ì­ˆSÁ.Ïw&÷\gÁEÙTPrZZ¡2 ›;–‰‰Žv6ÕlGÜÕmUÑ4W(¾RVü–SÕ8‰|β“û€°”ª³¸\9š#SØO c”¢AG ‡d f¦åaÉÄ9FÕzëŸàœB‹{¦\Áׄ–chBk˜™¬Ãâa¦X‹F0w´c»,2p…ï`ÙiÉÔp ¡?ì ½Ñ]ѽÑ&¤ù%-» PTugI?÷¦Ïö,™Rt~¥ aÈ@~è »+-ûÆ—Ïts» ?Ý€ÔùO ˜Ï{]ëm7ç­†¼:Ð;áú‚ûÝã^M¿Y¦^EñÔãSp?üô½…Œë¾»>¼G™¦!Gp£vÅÇö$4ÙÛ Öü‰6)ø½`þ¤nVâ‰#Ä”n‰‰#\ãüpêƒÃE8-‹8œÈоW–Ià'z(Ý=ã‹¢¹i#8°‡˜ýG{ãÊ;CÛøUm­2¦IªÖ§CxÂ;u[7æÒŽWZ¥n;6ÀtÛgníl ’Yþ6n®ZóH’«Yís¾!Èé,¡2¿“ÕF=?¿[2qýH_†;*äÃ7ˆÎæáŒžÃr ÷ œêíƒéË-æI?ÎrC/ws`ø4aÉÔ«=*bl%éo]*»¸¯­Z¶9Øì°iƒ¯›`t›Ä@;؈7Ïs¬b'&°Y1UE«æÆ*á³¼²V·P›ºß¿¦«+¶I8‹ñÉ/¨¯'ú´SÄ,A6»Ž7Ñ Ù’¦êfûa’~=ƒðÏÝYÒ­«*÷òÑŽåRë\%+èD¥x–ñ/dÄ´•É,+Á{÷tq<üEZOvÉ"9mL:˘­žmJ6Ï;U>+µÛ4˜ÃI='A˜²ÿ¯ù§|^ 9­Í¹./Ø/p¹{Nñ¹çU‚ñ­ëë5ïš5Y•ÒyÅâ•«ÏÙÛ„±ÔOc¸orx‹¥V7iòæ·Õ›ÿ„ç‡ endstream endobj 82 0 obj << /Type /Page /Contents 83 0 R /Resources 81 0 R /MediaBox [0 0 595.276 841.89] /Parent 80 0 R >> endobj 81 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F30 10 0 R /F8 11 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 86 0 obj << /Length 1924 /Filter /FlateDecode >> stream xÚ­XKÛ8¾çWh iF|è5§L€ 6 l0‡^ì!ÉA-ÓÝÚ–%Cî†ÿûV±HÙ’ÙÛšÁœD‘Ūb=?òÓÝ»Ÿ“U̲D¦«»íŠ«Œ%B¬’0a\D«»Íê[ ÓhýãîŸ>KµJYÇ IU¢hÉw.Õ¶$ªK~·DuËC–E™cûØ –*áø~!’t•…ˆ /™²4^ŠeJÝçu*ƒ¦]ßÊ,úÇ54‹¼[ßÚ¿Vòžæ_Ö"q4yk]¾ið\Öv¡Þ¸}ÚÑ”}ëÆr:àBz".ëmÓîò¾lj¢Ø¶ÍÎi¦í‘ùŤ,‰Æ3³|øé;µ¥ºålh]ò=äªÒï»ÊðLF©â`£q©6Ñ+rªl»Ë=b…b2Ý‹¹æÃ3¦²‘†õíÐõzsÍKEL€ã³êºÚt¤o¹5=Ð yCí³aë[•òàËÖnº°4HÓÄ ³xj£ûõ-Ú¥hv…I›×Qäe•ßW𦫼×í{—èL©‚—²ªh¦¡M6íK[öv(ÜÙ¡U³D}:æI Ct |Uê’ ñ$H!û.sêc¹E3lK0Âñ»ES}¼è2—!A´–mé›Ùv4¢ê|§AÔLÌñ†{EY3YÙ’B¡î! ò-X+Ýã§èPõm$¢à¬‚ *³­Þ þ,éÓѯœ§êdთuÓênŸº;Ùàê—v‚ŸiA‡+D;Ԩ¯c?Ë Ž¦N¬ ÑWÁýÐÓ fª™ÁPj¡Žu®²àb[æ AF*OÏY³›†6Sq‚‰Zë Må5Ò¬ÜÍÆD©ã6-YHI“ ©¥\ý'©E§uYUcrègÖ³©Ô56•œ¢0÷_ð&š{›€Ê“ IM‰n,ïöaØis„¾³|Éf°­ëÇ$%·Y¹ÆyKó0ãž°€eée\Ôú ÉâÖïùoòÇ·¾P´¬f±(|±¨XÈå$'}ÑUÊ7‹G]<>¶`¼wØÔD ^Ë‹¶¡á³ñV[š2m—©}â(§O¡Û>/kûC¡oÆŽáX¹í¶ÚöFLl†Â1ÏíV°&6r£Žîºüay1éŒýB…ÊÔióíè ‘M"Žâà«~±K5}ŸC–þ u%Å.ãèí‰ Ýn_•EÙWúwº[Jœ8pç4{¬.¶qü˜Ÿ;Íä¾ÜçäCe³Àñ4á¼7¹§ ²}ûV'.˜ä¢¹¯„‰)¹7|yôªeÑëm^œõ‡½öw/b1-l_3aÖ̶Ríu±¼‹e>|s'|"ò¼x‚0ý÷¸oªC˜âtüw=±¬ó1Y:ÖÉ£ˆe?S$Y¨÷~xøxürË(Ï(bp­G“_ëáƒqÌd’]F¨A­<`:º‡âtVsî•Ó¹…O`o,˜ ghÿ?ˆö±Êƒþyeú‹ˆÏyG]fz»r†ÇÓw´ôRÂmÁŒônß» ¿. ±ýR&Ò¥‚cWF4ª¸-ŸfOÙ®‰ ¼{Ô$‘j]Q --@Õð„îBÿ­¦Æß 4ºH5í·ö2cº£m åÖtHw\rêoaà -6鹨,ï—Ù5ƒxåöçkêÁ¾C¯pÐêÊÝOÞ‚º* ߬ËJÅqq±P!_VŸþÆè‘:=Ä+Ð[ý 9úÆÞ3kÈ%ѱ-˜ C&¥3â̼”ÈÓ«êDЖÇ5 ÀPÉX… a]´:ïô\.ªÝJùôˆ ‡ߊ”®Ä8[ëqP{@yXs„ ¾6xÿ‰r˜,‘yëV-NM BX @Á™èž:ç2­¢fÍn}¤à;U³Ù›L)'¾n›]ß;?<ŽäLòñrXÚ §ë¢Ì­ê‡ÞüJû¸šôPF0'âñi!ñ€^*‘‹xF.B£†ÖC³ƒD“ᵿùت0vëøÜ„lÑhÈóÞuüAãb¡b‡¤¬9=`΄ïå4ŽÖ^~hå{…%Óì=u }«ŸËfè`šSBÅja껬1ŸÉ4dÃèÏÙPòØé|ņ1áU>]³MBD"[Ó¾§}À¡IÓó`ÒÚÐБÑYد„!Yöœ11ï=qÚW,C75?òT M!‹Û欧mIÁ²mõQŒeSýou¡Nq#–âwFËðûõUáx# ‰Û²E?Ì[V÷Ø •¾ù³mö÷ZÛuÃÐ!ã{½Å[û5øƒvšG‘6¹ÿ¡Ç—…ñoP˜À§žÆ§9˜·”®wªF,dªßk`‡OÁ$ø’vvvK°å|ÓYúD8wÑÓ(doêvè ¹Keù°¼L¡lG3œ`áÊ׆œEOJ8êíL÷Tî/# c>$ÏeÂâ ÔKc[e„©Wï~¿{÷?t~`Ï endstream endobj 85 0 obj << /Type /Page /Contents 86 0 R /Resources 84 0 R /MediaBox [0 0 595.276 841.89] /Parent 80 0 R >> endobj 84 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R /F14 28 0 R >> /ProcSet [ /PDF /Text ] >> endobj 89 0 obj << /Length 1205 /Filter /FlateDecode >> stream xÚÍXËnë6Ýç+d Ö_z´Háè]tU ºè킱hG¨,zĹ0üï%EÒµäIL¥zW¢(jæp8Ç^¤1I¼åÚC4 bŒ½8Œ„™·Ì¼?}¦³¿–¿~úL¨—iQ5'r¤ê!_¡¢h„wjq®ÇÍQ¤,5Q$I€;µøÛr±ªŠ]žµ÷½‡—'^f|ÝŠZ½.J¾]#FŸ Æô@ PÂ¥Ô¢Ø[]]‹²•h‚ÎAõ×¢à/€7kcä;Í9_gùv4ùÕûªQÓÍf¾þ¶¸EM€2Ó#ÞBÇÀh°#®;íug¼—BdºÕVú¹zäåÆ|mM£‡€Ð¦5†Äb —0˜dâ¡Û,öva:y‘oJý-:|¯¿Ü]p|œ<§i@ˆu\”|¯¿žµÁ‘çJ?,1Æd4é~~&-¦¤Áb…ÁúÁ‰/¢;(#|rùGÙ«‘î\ã’8¦‚Nº¬­;áºØ©£i¡"˜‰õ~áÞâÁ5ݰñ­s=,ñR9 GzóÒE*Z4ˆ“X^ªÍFñ›>)¡þºªuWk¿uå Ç~[Ïß5­ìD~f` “ ”Ø Ž`k)䦦ǔxž±ÈçE'šJ4†ÌbÄ)²!@ß÷cü.î—!yócòÌ/±ü7Þǯq.M?Žø¥í!ócvÅú/õ]ý_Üã+r?”S˜'ßóãÔ5.SÿÙb“ÐݸXý]‹ZÒ¦«mäj(,ŠS¦–•sxR]¹LÄ•³ÊîÔ” $ N6HÏ{3É5/šé¤E¨S¨!.½¿—‚,F cò¯ˆÂ,v‹î_ß3Í_Œ¹Qºeµ3,«C ¦†q8ŠXäm´· ÑN[V3 µ%Ý¡ÅN‹ f-¼ ’ko§“/(פRŠ{€'ríYB|¥Êhêó¦ézÍFY:y«{µh“ ­:fX~Ô_B$Ø™~QiÑÿ¨”Ý×§Ù\>D#Ìмä¥tÆAI›u®ŒžÁg8 á±ü íJ¥·SÞ,>^Zì d×èî­àMW÷¬,C WÉðÎ’15· GYªeB¯Y«õH²>È%~¥,¿è!Ò’­}[+Í¢i¿R¿«ªÌt§jåm^•<%²‰F┆.ë­ˆ¼ß."ë™[ºM±}°ù.ܶРE.@6EõÀ ˆç¬>>;Á8ÀÓðì™—«1›iæxø:Ðl*HG†uÆC\ðLÒÐxâí ‹^dœëŠh¦(s=SÙòƒÍŠ„,> endobj 87 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 92 0 obj << /Length 1443 /Filter /FlateDecode >> stream xÚ­XÛnã6}ÏW‚Êņ+R”HµHá^6@‹Û?ÈæA–hGˆ,’œ ÿû/’-›±é¢†xçpxæÌÈ¿M¯>ß³Q„bðÑt>Â4FŒóÂ$M³ÑƒGÃ`ü8ýëó}@GÅQDåRÂaåÈ×K¾á€.Šj–²õÏt’VÅkžµOw²?)“¥X7b£'&×-“·íÞußþ­Þõû(ãÎ<½Ì|’½$e*ŒoCz³wý4“­X®d³EòæŒ'tÁ“ϳ|y€áÙOé £s‘‘“¢Ìô|ÊTdp„ƒ°Cu£m¾Û¥™nµ•~¦OI¹0³í“ihçƒ0{ `gQ—db¶^L6¿®#)òE Ù\“íOzææœiÞ™æÓ×¢^—Î{®{ yE™˜o¸Ýظ½qFà$zóÜQ"GÍ*×'˜ ·Ó´"°óΜpžÍÅ¢ENn¶IéÝÿ#¥vßÛTŒ2ÒØ®b×äîã€iVIj0æ‘ÞêÕ¨¬ö¨•ÆàPå"îí ° Ñ^v«]z„p< ­÷Zìt™VÊZ¯ù—„E$Òd£ˆ)€Å”êÅ÷y™Åû˜Þ§ñmÞë˜pOÈ6õÖcì­ÆÀR/KZ3¦r \˜®ëZ”rukªb½,ͪÊÀÄ{0'ˆÓ zMŽAÂYA »Ȧï1C„I·pŒŽ »¸$©ã¢ßÊ´Ú_úv+÷þöQ€£8žà“ª¹…h—Ùþœƒ#“îdÊðxJ¤·^:Ã#•m­òzIS-Eû”— óv.k4ÙÒn—ÎÖÌìæ!žšOzæ´)YÏÈmR¨Ç³yñ lêÄð!ƒß"}ŒŽ s/©U#öòÒ èG“·ë¤Í+3 »Õæ ëÛ’TòØË¡!*W5t„}É«~Ew½ ß|LKyp¹›æZƒÆ·QÌ•³å¢¦WÐ î ïÈÔíŽÑTUôÕ·ªšó.¢ˆúñˆ ¬vúõ˜<ÞìM † d‚050¾ìï ÿkc<"CxÖÞ–è!²Ã˜ÀøSùÞ¼x 5Ö/Š|܇ðf ÁJ^Ö¢i«ºOR-Of@½ßeêZi\TÀ°ÐM;{á"™Ñr`·­¼#p‘Ý5(%¹‰`h@BÑJÍ0G²[ä¥Y!S¢^™Vk-±S™Œóˆîâ^UaÒV+ÓK“²Ôâ±op¨Ôj_Õ©{݇]“•:š-tŽ”Ÿ •߯] ,ÇZ9Qêñ´Z.×›c¯oðãÃã3—™—»@;‚ôP¿o –ÍìÅý€¹ýÙ¸ ÅLé1ÈCp&Um,Wí»ëG7‹/³ÖñCv×pÂy.ÕÍ÷ÿëÉÌ@¹. 蹚;›ÐÍ—ûôë_Ígq-–ÕËîS½1MW¦ÆÌçý¬ùÏ#«ÊZóQ_ÕÏ®èÈYtCo¬j!ÉrVˆþš]NÆÌýÎÄ"/çµ®»Ó³‘aôcbl-‹w»/…†z®/ЦJAbêé’;ˆ­±.++FÆ”ü˜×'êlKÞõ!‘ÒnY_‡Â¶I£Í$º»LÒZÕ~¬ó>ŒÍ ÀÕz*×Ãý@•~4h¥j—Ý õòVOªúì¶ú‚òxXKé\ùv ßäÿg­©Y® êÍ«ZÙ}ryÁ½¤^YLĈî}¬×”ZÕ¾ƒbƒ‡†]mm.nëªÖ<ºÐžüFÛ3§4Ûòql$AP“Ð‰Š®«/ӫ¢Ž endstream endobj 91 0 obj << /Type /Page /Contents 92 0 R /Resources 90 0 R /MediaBox [0 0 595.276 841.89] /Parent 80 0 R >> endobj 90 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 95 0 obj << /Length 1737 /Filter /FlateDecode >> stream xÚXYÛ6~ϯ0°*1#^:úP- ˆ‹hú µh›®êèîÖØÿÞ!‡²e[›•÷Åæ£¹øÍpÈŸW¯Þ¾çþŒRKÉf«ÍŒJN‚XÌB?$”ÉÙ*ýé…DÎHïsY·ºØÎ<”^R¤8(æœz]>çÌ»…æ©úÀÔîÖeÖåE3ÿkõëÛ÷Ñ,&qÀ£ÒŸ-hDx£²e ˆØËç,òºµùÝáL1§HƒŸ´13‘×–¸jYhÖ ‘–…ÂåªÕJî%Yæ>Ù9¶;#¹¬¿!¥Äþc#ÖÎ>Ê“u]68nºªÊtoSŠœî+ðÒ:f#‹ŽÖyÎÞÓ€„L¯åÉ’ÿ2Ý´—Qâ”Pô|Ubãòm.a¶ŠÌ‚ûÞ—y$Œ1,ö½¿;bGU]Þuê–üÛ¨;G§©nÁ ]I†Së2Ïa{¤L”íÉZgºMZ'<Òµuu!BEÎßmì° ³ „qdP"‚x¶`>a1CÞ¯”‹O«å»{µîZåDáiÛgõO§ŠµºŒR³á7_t»sfÐ'N!ûx^ê?•+!øa— ¤"iâÈCáÙý²£rÓC½ž™ýêKÿÎaרõÕ§\­Û–(2­“×HB¡=)òèÿ‹·F)‚| ãÓ0at (¨ð~o:ÀþÃ<âÆnP0ˆŠÚ¢Cp øs&#q§M²0aÓ £p:Oª iLJ¸2?ª>‘fB┄XŠÃµjºÌÖ“aº8ø¸°òÞÎÅ 8@ôÁq g‰CYŒq2lj1òDŽ ‘ "ãxƒTmNѰ7äû2Kë3øRåUûð8b¼ >¸÷&DWšp@úBBõ½¡7lo~ÝÞ„Ñh4“>ïÊ»_lŽs(A!í®v¶ôIß•ÀØâÈTÝvÛ-r må³ÅTÀ&í lÂ*${Š#[’á¿ìÚªs\X>aÒmªYÞàR, þ; ªZµí“õÔÖï—ÜW䳈ÁÀתº°¹`¶ªÅEPcRâ^5¸`ËÌcy³SE’«Æ :¦‡åªîK?¦ª8ò#׺,@¸Ôíc(w…P^”už8œ÷Äø$„÷¡@ #¬Û­Á9 ó—)sÌVó-oo3Õh÷ F½¯È“l]LΟøZð1x€ïë©©û#Ú˜ P9{mû =KÈŽÇv9?–¡NªíŒé‹\ö^Â,€o9fÇdïÙóÞßн©Vé³þó§ü‹žóï‹N VÑÇ'÷1:W(&ïcûP)€órÿz²7rD8åç'ûÑ 7‘dz[À6Äü8–(åL_0IŸº¯ {“ ԛõŽ]ÐrÉs7­W©Î ¹n° ᆑ<¹·Ú‹ ±\>Ž!%Ÿ™] œ¶ÖÕiúOM< 4g‘=Õº¼¡#“S3EúþËv¥ /cv<Ѝ7ƒN©®!ñãÀ5üŸàJ6r­ðÅE†Éžbî´Hð˜8¶böÔæ¼?\ßàz׸î¬Ç¦Î0x2GZN;˜3v21ŸžMÒgWn– TБVï·¤ÚV©*Z íÄûq"”¥Ï_b™­µOš7^š{«à†ÅHÑQ¬Ôzó °%d!¶„,4]¼£óþ6é: {ï5+îÐÀ%'ÊÍØm—3Â"öüu—E„‡#÷‡f]1áÇ.Ö¸÷„opsæG•¶MäÞ‡KK¼Ñ8wÉй¡çö’Œ7ä C¤ã S«,¹¿4fÁ³ÍúéÓ€é™y`Ô\ö~mÉv˜f }$`Ìö¹#†FâXL0„Ãõš,Æö0pM£éä¹ÄîÐYâ üf#£*¤t‹ÿ0³³}µ¡°(»ë) CÐCOÝM@ÇS]'=Ïlqeþ ®> endobj 93 0 obj << /Font << /F30 10 0 R /F8 11 0 R /F32 14 0 R /F34 20 0 R /F31 12 0 R /F7 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 98 0 obj << /Length 1955 /Filter /FlateDecode >> stream xÚÅXK㸾ϯ0°D Œ¹âC¯=5òXdrÈY{ÈæÀ¶è¶0²äHrwþï©b‘²dsÑÚA°9t›"©zU_}¥?n>|ÿ£T«œiªV›Ý*,ç«,ÎÉjS®þýÂ¥úÇæ¾9L·më»oþöýùª€—DŠ/e1ËsµŠiÿf_õwëT‘îûê±±y4ì Í6æe Ñ¶mz³= ÕÓlðË8>ðÿÃÝç;' uRýËõéа»5—2Ž~¾Ë%IÈ#]÷nkgÈ2Yò‰ÍñjÍ9+ç$8Xë~º—$,£{h†”d X™Y+3k¥”ŠÜÄõ_b®]Óƒ7ÖÊÎV)+2™£ìuR°¤HÁÉ •“Š„+gñôj¸‚¹7o¥4»›ËY'"‰¾ãªœ€5Áï«Jª„b1—^ÕëG§e8M{î_I]Õ— ‹<Ò[œÙÓŒQ»×üçäàž«ã;äú‚èñ\õˆ/Š«¨Ú9{'öʲ@E Ä#¡ A $ :]:šfmBÂ.í(«{ ®¤{Ÿ²Îȶ?9aˆ¦NðsU×´÷ÑÙ3ñâ½@w-GšÑÞbí…¤Ú¶‡ÀÚë ̽-&¾"~Ÿøzªùrá¦ô™¹7Û¯&š¡;Ïáý»<×û*ø>Xí^¼R k¨c®q!ýb‰:S÷f©@(sÆe²ÐæT×aœ˜+…¡ž¨Y¢fÜÇ\XúE£½È¿M³Ñ•·¡Þiʺꇷ`ä8ùW–$‹\ßU‹]K ºvïƒô' BÇ?Y„¹Ùô-lJ¶È”i3¨ËrìGH·O¶©7tsÆ÷¨¸xiç>-¶6ØTÅpiÅŒd÷G½5¤ÌÛs•·á>ÎIºRZ,="!¡³¹uýíʰ¥G!ã% ŒÉPG,ùÂ6| ƒ¿ÛÏ:x´ÄxpÄ[Ü ËEU›Á§îV7 >3;ÐZ~$½¾àÛ8Â[$¦}Ìû&É…‡0=²··‘gÆø}Ç’s1{k‡Õò¶£Ê˜TÙ-‡Þïé.I¨™®´%"ÍC{h3¡_ˆâ’f eÙ…Iy¾MËlúâ/ÑÉP9ê¿^¹¡–|KâI°Ã‘A{>\%LfWì )HGµn¾ºá„õÐŒ½W Á6‡îFÝÍñ¡udéŠ@*P>î 'TÑ:+tŸg.zíØÛ°ïilO~µ%B0ÀdèÛ) EŸ¸.ql†è€a\ÌO©8u³ƒîì0'r–ù¾5³â?¹%{#07m´`^Œêysb”Ò_ æìy*,V}¨cpI³±îÞ?˜Çª¹ï#žB’F›/þò¹-þ l]gôõeèôvðNö+QÛ€ º®†ŠÜ6Z[ÎAÆEúÛB?QÓæÆ}kFõštõæ¨;=¸~Üöq,X/K•¼bµR}#«E|XÎgeòá³£úôwå³2ûóY™ÿÎ|V.£¿âÂL¤4;EþväÈŠ/2å·óÈ÷iãìÃ\µÀÏ<øuQd¤˜øû‡¿l>ü†9õ« endstream endobj 97 0 obj << /Type /Page /Contents 98 0 R /Resources 96 0 R /MediaBox [0 0 595.276 841.89] /Parent 99 0 R >> endobj 96 0 obj << /Font << /F34 20 0 R /F8 11 0 R /F31 12 0 R /F7 13 0 R /F30 10 0 R /F33 15 0 R >> /ProcSet [ /PDF /Text ] >> endobj 102 0 obj << /Length 2007 /Filter /FlateDecode >> stream xÚ­YKã6¾Ï¯p0@bŽDêA²0v°sØÓ1C²Ù¢ÛÂèaHòt7Œþï[J–dM¬ÞäÐ->«>VëAÿs÷áó×hŠ8Rzµ;®Äz¾óÛZ+ǹ4fð\› ‹EFœÏùx akl‡ª8_Z“®72ŽfKͬÐEÒfL¹.™N´x®×3t´cÓÚQä‡ËÜž¿áéêh‰à2ZŸìsÓqâo’gO%"Á…{‹œj ÿ^L#è®…v B–:r’úéRÜø)­aÈεݢ&)ŒkxäJ Àдú¿•ò3ˆÝõœLAM·ƒ ¦MêÖB.Ó >#¬&%…tõTMù¥( ¨”²»•owãHÓ\гUôÛSÒv-Ãk­€êWGKÆáN_IƲǩr²uOÊ®pÝËŒÈ$ØqÜÞýcfòô^\ÊU7žñ/4z%´Û;Å`Î)ú`ÑzÈ85Ç»›þÑû(?ÝAOƒÍ PÑ®dÝe’QÜéKj4G4znó•ÉÊ'î²IÃò¤¨.Ý¥Ç ´yü>Ÿ²ÖX_ÍP7¸£ÀÕ—¦çAWŠ;YÙ˜šï%,´S`±æÆtx%¬”&:¶Ûž€ø ßðx¾czã);…#³±åø£óà ÝaøÒQfõM9U[8çÀ!y½ tqlœnØ/d@%ÜWðfWžØ~ôD‘¼ÌÆ3Km8¢%#I¿'åÁLp(Ý¿òwƒ³ã’ckjì„wæ"­.S^1‡–0LÀê%`s“|7ß‹*]L6^BÖÜ®LkŠs§_Û:;!·swÎy5Ì Ü%óëÙT—v{MÒ”nJ~ß íáw ŸÅ¼ Ü€7òX &ŠGiV`îÊÄHÈHçòKzB>á“Ùë@ko?–É<õÏæ£”²qýè½Tïm9¯E9Üi¿}i·!_)Yw<‚‡Ù+‰k[|ƒ„()®Ûë[”—nÁèÚŠÆ!)¡iû:{ÄÙ45%Ϲiñóe·­«gQ‘rªž‰O'ßÅ âEÇèé¾Í…xå /ôÇ!žóF7p²‚³XxÒ:?sš†+0IrCÊ}±Oé56ÚŽ¦×÷1Î8ËPú¿¡E¯žS‚Ù¥<Ã1(pŸßÔ4YmRªô=g‡•~Å3ಙuG:5ôn™Ù#i @ªJ«p¤VèêAW½«G’øà4«:z@˜Ëw„ïëé³ûÛqj8Ô¥72ÁnÕ‹‹ŸLPÒÓä=à 3ùʳïy@ŽÜœHvdtóMßÖNÒÇ)ÏÞ=ø6¤Û)ñÁ£#c¼ônm„kƒ™_Nò±%Î8ÒÂÂ?{9ÓRø2²A0ìâRøÞ—³ˆÁÓÙø7Þ> €ÑCF¶ÊùšÕMû³MúlHO¬ö× zƒâÔ±Kí (wèy=‘à'ÄœIæùbØz)ìäÐ^XÁ7Þb33³y-yvÈÚá’ º†ƒ“-Å/ÅmJ|mOÅ#Ê]5¹K(KÏu9—Ä~¥pu¨Ró6sCOH‰¿ÈÄBkËF’]~ø×îÃÿ é endstream endobj 101 0 obj << /Type /Page /Contents 102 0 R /Resources 100 0 R /MediaBox [0 0 595.276 841.89] /Parent 99 0 R >> endobj 100 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 105 0 obj << /Length 1656 /Filter /FlateDecode >> stream xÚµXKÛ6¾çWHÈA­ˆ”¨Ç!€Ñ"ÚC‘ƒšh‰ö «$9»†±ÿ½C%KZnB/Г(’šÎ|óÍP¿ïÞ|ü­B7‰üxµ;¬H¸¥«È‹\BÙj—­þqXDÖÿîþúøÅV±›„a ·ÒÀõˆ¿òpÏå;ñƒ¯»mz'Òû´.2qÈ+‘]Þ’§÷øñTÍF¼!ž›°dPCMjb0hÐò’jV¢>]èðmuÔÅCžõwŸäû¶â¥8uâ‚ Û·Ô-ù£½ÒÀF)Ï~ð* ýë £ÌÙŸñ¹1ZC”5r©´6‹Ù˜•ʲÎÄ/dƃÌÐ Ó]â³…ƒ3±?·—%)Õ|0:U X˜Y©*D/Ù¶(x»Ǽúôîý;k%ñíJD•ݤ"¹E… x'KÞ¶ü ðn«,ölb.@¤%ˆbrkÀ{ñØ¿*à1}mÀå»Ûúdï+ÿu±W¬²Ût¯AÏ÷7BÀ*í¹eÆÇ¡‹<ÄvjÁK}Ó ^î 1²–-Þ"[¼‰Ç†W”Ó;”³=O7àÑÄ Ià†”ÎÊbÚIÂFÈ_)»?7B#7kq ÅÉ-ŒW l¢áPx£ y›nþ»^ÓØyøm½ ˜ï<Ȱ6 ‰SòûÉLJò”œoáÌ©ƒÌÂa§æb§\oˆÃÓ¶Ö¦’‰$‰]ŸÍâµ-ïQî3“qý`Ü{hëòª EÓÉ!!Ãn.Í’”ósÑàŒØ[˜†§rßýš1‡…+÷Cä tBà© !Ýíîòn  ÁC©ëð•ã¾CÝB¡Ãq×·Ê_jYËáíñTŠJ~ÙË@xž`ŵL|÷HPÄ箤aàÒxæÉÉW†.a#FFÕhI+6úÄÔsŸÎOÜ i—çáN´Â` *H¢™)Ýo›çvØ1úü§N!¥Aàü¼’Ï" ^8nÔ¦ºËû¼®ô¾ú€O…9¹ 2ëTV8™ÖèLíÓÎ…ü#Äù¶Ž}”É´LÑÊØàÑâ†Lˆ¢™}Î^úõÖ*/ž D–¸±ÇÌ<&ORa›ŠÇz¢™W|ä:£|Uì×§¼gò‘`Ëâeº›•,™5^×+ÅÌHâoÉ„p†^½q1Õ­aQcØ/ÅMŠ êû´¬/•€f#ÃñA%:Õ]ÎEý€ ¯¼ëòc½ioû/ ­l¼ú @Ô¼øϨ!²Òp½tJ ¶²¢Û«‰­:‡¯<½‡ ÃgIš—¦.Îp%‡‹äåÏ¢G®«øß=æUõXí¡kí`Š<]nè6+˜ïñ†Ó†žg%pÀ÷ äò?ïÐOÖJÉX-fÓô5)gÌ;4k–yþ-™&ù7£ºTûÖ¨½àfT—·£š+5/ý4Š ÿÏD)e“Ó 3Æt™Ö@GI—ûPH_¼ù¼{ódLkI endstream endobj 104 0 obj << /Type /Page /Contents 105 0 R /Resources 103 0 R /MediaBox [0 0 595.276 841.89] /Parent 99 0 R >> endobj 103 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R /F32 14 0 R >> /ProcSet [ /PDF /Text ] >> endobj 108 0 obj << /Length 2079 /Filter /FlateDecode >> stream xڥɎã6öÞ_a  mµ¸H”æÔ`˜¹L€Ô-=ÚR•…ÖbˆR*… þ=o!eËVeÜ=ÃäããÛ7꧇w>›MF囇ÇÐEl¤Ü˜ÄÄB¦›‡ró[”%fû߇ø¬ô&‹,Óˆ*uœµIç‹Pú±f´K‚;¶I\¤E ˜ßE°¬ñï—‡§¡ÂŸm÷MõçâõÇ»9ßÊ©wã+ùxå›ÈŒx¥qR`¥ãBk&ó¹îlÓ¼ls½ßît’EÏ[™GÕv§ lÇ‹²ú’Ýyðxô ç¼ ¢¯þ^}×V´‰f=ëîÚi»C.]éÒ{> K`±AŠø ¨Î,úN°–wtkCtt!£=Ó­»'Þ¹KÜ‚>ý0T‡õUQ¼Ý2‰PÄ%:ÞîâÂl2‘±2âÒð`qT}_=ÕÝ­Œó" øµ­ëÇ™`[ïX7iÒXfÙR¹³¸`J„h?™´(¢çm•yPš7®òçãš.‚Èú-]‡ªºÕ§ÐqnL¸SN™™Q ³¡¶^šaê¯lWþ(;)Š8».ô½–è¹.!nE2±ÎnDRJùØ„…RJ£PñJò‰DÄZ°PW¹Ï>‘¬dDè´ž}kÒ.ùðåe’ ±–ä9T²ÀåÏkú rÜ÷€aeІ¥wè’àõu­Ðå+$…^r Vßk€sÝ¡¿þ?ôÿŸ*ÎÎL×U̾WÅ?ˆïVÑÜ¥"ä,¨„«‡ix¬«¦d¿®³ZõäZoR*Ör¡Ïþiè§Ó MzE´¸‹èU§#ÆaqQ?uýP¹“=Tîõ^¾2Yõ™ßá3è1÷zKÊ{rÑnïôTw³"yS©dÃÅQ2Ù"Öi†"Îsà&6Ðzaê‰~µ[% ýR%4)—_\€ýÇ~˜áP%¦¶ã5• w[_Ñôy¬r/üÏþŠ6 _á%ä{?´v¬{:óóžÌ- 7ÎÒ\@sEɈSWBK§SËm+>#¹làÊäVHÕä-nÁ$2Ú*c‘yhØ)蜣/¹{‘ævꬬ_9w´cX’[µ­ ´ì¤Eq=8û{ÅÆ]±h–Åi>£óÜœf­X7¡V´îHè'ƒ,Åä²S¢Ý„‰x’ê›Ò’aشȆgH«p ¥fðc_ ‡®ÅNq7_ŽÒ,"»4‡ÛÛ–ÈeœçX´)©$Zêx¶ŽV{\iMú!¤µ_ðŠPvŸV˸D€=@ùq8¢Ö{0@ãoÔᘷ)d´™ã+>ÑL€.ÃùD|«EzÙ´ÊÍ•8pÇ~jJ^>Bˆ>sAaNYXsÊÒ`,k8k+Û¹@…ƒÈôíª€ËìÕp»~:†pÐYÔU”aÚÇü£; …lNÖ¹€°·$ÅW°˜É)dž ˆWïÙ‚áI¨×TáÁ1Ôcµdd»5íôGÝÔvx9xè$Ä\¼ |ø©³ØUÄÆJÊoÉÛ &DþV-ˆ ™~c¨9ì@n. žOþaT2€=ÏCH±è zm ÝL|…*<#’"Ùõ _Z·‚+k­®_`Ž·ú‚1Ðôß[C&±×Ï%o·èæÐÅlA£¬0ì@.[¨)ä:Ÿ ¡ƒþ„á‹F èð4+@û*Ò«rÒÎåN%Eä¼­õã '3-ÿq7„1/ØIqNÆaå–«´»È(¬Ê@&p½oU{ä^ÚJ訥öÖŒõ©ñ¤atk‘ß?rÈ»é€F8ònYWÀ]E]vxûøº‰×ëÀæ¢~rá|“AžíðÁ/áW·¾Í pÓ›áã‘ 'ùGÿ‡ž×€»œZ+#ÚùЧéCÖ0I•¼zúö ñ"íqËi¿ò9À§=«èFpèÕ­Œ¾0 l`:ucUâH?2Xj`„Ö²³hƒ%ÚœK4@ªJVéi…Û®Ÿ†ƒGðB^rÆzxuc¨à]ú~µÔÑì¦)óçRªÒ0™hì)ŒxÍâË1˜-‰«–ÚcQ7ôµ‡q¢>°+Î7äAð1#6LžÕ—$M( n\ ´H2É&åX¯1Y… µbŒÌÒvOŒ»8ˆ·Ãý£ì#äÁ3 ðaè›ÙE*a)èà4ôз[30áÊ ‡eíFˆá©vG€4ˆ®Çðó.žÍ3´y(³g>åºð·?TqDçi?Üh¦ÿc;ú=ƒP?_ ö"Íàs$×gŠ‹YX@Ss(×€<1¢bÅSA$ž®ýpÎþ‘?­Ñð´”KŸ'¢›.i`T<yÈëÛF€ÝYŸ»³oñ;c²è“çƒâKQå—' 5?M@„y¬”z\j–5§䡧*/ q¨\ÖÜN`F|Á äÓÙ_¸©± ¨‰£ß;þ‡ÌãQlFì‘SVb€´§i õZâSŠ"K`œ»‘'ËßÌnë:RÞMÍEVúÀ£ŽÃšü|Ödþvˆ¥3¨m¡ÐñÕztLT<‡þ€•ò± Ep–7Ÿn¥ÿt+ýGá‰Ï’Bî„y6éâ[-î/E0$ÂÜ0cö…Ký«óØÍ@$Aõ TC5 NÖãyŸPßüÊ çcÅCIéÜ0ô¾¬ð5ŒG6…ÄKSóÈÐ\¨žçøf×"V…ÿè.écÍ»>¼û € endstream endobj 107 0 obj << /Type /Page /Contents 108 0 R /Resources 106 0 R /MediaBox [0 0 595.276 841.89] /Parent 99 0 R >> endobj 106 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R /F30 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 111 0 obj << /Length 2086 /Filter /FlateDecode >> stream xÚ½X[‹ëF~?¿Â0 h–qG­nÝa—Øe7»„<œœÕ‹È’Ñe.ÿ÷­ê*É’¬‰•“e_¬r_ªëúUuÿõñÓwŸ£U,âÀ VÛ• "¨hº¡ž¿zLW_œ_î"嘻µ "çµÊKÆN³ã±_]©‹$¿‡atÞ'oÙþÎ öN:{Úóš¥Í®¶+C'+p¶)i9}Ëò,©ÞÏÜs#îÖ¾ïD‰Ãݶ›j[Vû»¯ÿX­¥±Öð•"öYxbÉ^r KÜÁÖ¤ÉÊ‚§w¦£P*^™TLÔmG5»¤AÊsžbn› EÝð iˆÈjú%mÊá@é<3éT4ÕÖ&Eý¢ÈyÜÁzÔÅk\´Ë6Gb“ÔHI~–]AS äð²:Á?/¬Ž$ô)Ì+¯@A‘h‹ÔT“Sêdϧ@Û4p+yUÒLV›"%¢Üžgf”IKk°M»“Ñ ò*å­gµ³)÷{T(AS¥Èâ»ÏJÃT†ÂÓ0¶ •JÿçñáÅTÙöBŒ6 C; …’q·¥I~³fBï>˜Óº(”¿ÍÎz¤9T,¯I!zYÙQkÏÕÂ$«{Ô As(ôP–çD%y]µÁÓwÆ~~£¡lË‹èS™ª-x¦¦oa6¦®13"í`IßéOÉêº5Ì÷%‡°*U–4@ 뱇Ñ>vØç¬ªÔYË>•F›˜”(´xfŸlÐa8Òð·Ïü@kÚš&2Š?S*Ó 9ì,©Ó›’çéÛl„ wŠîIhz±+$„‹-Í.Uó´P®î÷C8(ç'HLW ÐLþØ7/®ÐB~Kãx†²3P„§®“‹Ë<Ïè Ñ`ꦬºÅ›2o÷EM^3pƒÝûj¾ZÊaÖÑþK5øÎ »•œ ÷èO„ÛkNŸXŠ@F“ôIZ„7/d©^3úôàli›W¸h×Á\äð6HÚ§Üìkú~¶;¬p€à)ŠrœÌ!G*>”~ù^l 3A¿[& p>3žÉ 2¶]" sf¹½- (<óTÙ-aÁ–26þ¥ržZÞ>ð1üKÒ4ƒHÇš–ä4ÄþÅØRšïþlaeFh›T nðܸ¸%aà¸>(nOΚv/€­Ä|çïÍÚ0õ0LÕ0Æ`†cÌR)‘ã —Æ…€j vyåÑœdß÷ÙòØTmÝ`µ®‡ÐÅ ú( =X _ÑêÀÓ38éæÇñ0¸¡Fräþåx X§/êëÞ°›¯·P<ß¹ñè˹ai.ŸvZÑø ïÛ=ý àH–k->ý¸ÓÀŸÑPÅ•ªÓÀŠü€§f{!Až‡OÀ¹§ã:ÝΜÅ&gsgE"Õßl›fûõƒ{hðoeòämî»or@8s€Š„TþðóvW$[ÈRü›{Ц.l†  ÏJr@ØmEJk~`gÁœ™SžO$ÙúP‰–(oÀýK•ÿ?ÊÞÈ«:v")w‰ŽÛl¡†J.aGÙq¼ñNÇÅâjûpùð¸SðFB^&©ÞËZº"ŠúbúS‰0ñzO]\ßËû€…¶-òcyE-™xè.~Ò0µKj"¸ñ1̧2Ä'r¶U¹gŽó•šÏðìà›MïIPª1]Wà OÉi½¡NMFÎu$`Ÿhd{ £ J«vQChm˜5EdM- ”©Ëƒb@ªsÑŸ Àè-B·?§ë7ñBålÈ=W ×U(WÞGP>Ò pH˜ È’¾ Hf)Ãv»‚žàPަ¯®ƒòíLrC{ý:“ÝÜ©=XC–P†@¸²æÔ£|¿æ½½ôµä¼‰4èï®'¾¿$ñߦl›‡¥|ƒ«yü[’ç¶GÛÌÙ¸©øº³ç*R,ý™<ú&‡‰ÙÌgL¤YTƒ¸D@y'§}tźnîxQˆ, bL·oàéô¢bõg+Þ+ú›ø\ò‘1‘Ö$8—ÙÇPzî.«æ °hâ_ÐÞEäEãѺ ÛVøžÂ aÂ5 »xÖ&ñ÷?1P…2éq,Vcö‡ÓHµå ,LøßìviœmQ|á¹ÑÈ +á@„ëÚó1–Ý”Ç]ÃóXûã‰C¤n’Šƒ†›÷¥F¹Þºp5°¯û¶Ôߟ›FãÇ7³i‚â%‡ã –ùÊ:ôÅÑÏæÅTµá È[XYŸN—À u($\‘àw2’ˆ>ýøøé¿‚Ø6k endstream endobj 110 0 obj << /Type /Page /Contents 111 0 R /Resources 109 0 R /MediaBox [0 0 595.276 841.89] /Parent 99 0 R >> endobj 109 0 obj << /Font << /F8 11 0 R /F31 12 0 R /F34 20 0 R /F7 13 0 R >> /ProcSet [ /PDF /Text ] >> endobj 114 0 obj << /Length 1566 /Filter /FlateDecode >> stream xÚÅXÝ‹ã6¿¿"’r«³lÙ– ×–;h¡PÚ@ööAë(‰©c§þØì²äïŒ>¼YG¹(=hŸ,¤ùÍŒfF3úqñæýçt’,ød±šP–‘4 'iÆ“Årr;Kâ`~·øåýçˆM8É’„áÒÃÊI —|¡“;Q-Ū“ þþ¶øøéQæ}'G“Ï£ÍûXŠÍû†$‹3+uqB£øXŠ_Åîž®2¯Ë~[90|G„ XJâøŒž T'·»ÃAýý.dÓJ3!ÊDh‡r8ššd`€€Ä<{aê—O2"LPˆ4&qF­?Ìo¢(šµEµ.%ŽÙÌlTô¢5ób¦³‡yÈgr©I÷øó¤·t»p+ò¦&.+Á)"H4NµGËRç,§K€mÜáÔ1¡>Èabbé¼kدz†[‚Ðë:+çæòò$ºÚË·âñÒòV%.“J6¨Ö% #ÕÊJCýi¥áµ/”¸ÙUK[¶RÏfïß=Ô `%âRqâ‚!±Öx¬UÆ7è{öEYâˆA“Ušö&¢GGNJX8ÕÙ«§snÂSÂhj·²FÐ6DTБ@!‘ðÙÏ•3墕ãå¶7‹Ö<"qN8 _+Z1ˆAeBÆ2,A?ó E—0H{RVèÀ&,Í›àŒ¶ ®ns$oä²/¥å$GJ=¤èãm ôG[‹âÔâÕVÕfñÇ…•1pÊû-¸:ºÖ¹W):z•â±×«T%÷¦ôÿîù$æ·ôî®Ñ—ÝÇ;ï4–\ÿÖ¤ßM‡F÷åIÉÖÙ:'˜JúvJï®x[âéuoKyß4²ê´ ðêñ}dâÜh1GÇaƒª¤ªHepª‘ÞþçœG*XiŒþ þ°×?ÐuÈÆ¦$³Hš}U@ZÀ1›©,Üoqõ½ò.Ùè œ4¶/¡ô¥GıÉÅ8Tƒáý”b«–CÊoÕ)j.Ò‘CFn=AÜ—òÔ 1%a0äèuÈ2F³Á Œ2s0T¾mMØ¢“𦖭 }×Tú×äXñnìºqHÒ˜„épÕÙ€8•–QHCƒ“?ª9ëämd4)+Jà 3¹©X"U½ù´xó¼îTl endstream endobj 113 0 obj << /Type /Page /Contents 114 0 R /Resources 112 0 R /MediaBox [0 0 595.276 841.89] /Parent 99 0 R >> endobj 112 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R >> /ProcSet [ /PDF /Text ] >> endobj 117 0 obj << /Length 1231 /Filter /FlateDecode >> stream xÚµXKoã6¼çW0‹†+R”(R¸ì¡‡bÑ5v ¤90•¨•(¯Y†ÿ{I‘’%/“PAsmÓß7Î iÿ²¹xÿ!\D P°Ø¤ è{ ˆð‚¸@ä/6ÉâÆ‰Ë–¯Pè4¬Z]zžç<®|ß¡yËÔKÊ5¨ÄЩ›²ÒŸ4zð-Kš‡Zޱ“® S•…z!gÜn~ÿÁƒ#È0D{W´Ý©Yc¬„½~Îß.Ĺ}qѪô×H{`ÛŠÕL- ¨Êd€ˆx¡¬|‰<B¼¸„ˆTù Œ4N¼„wB@Ѐzø>/ïh.G4y¤ÏÕ‡™p´8v¨Ô¿ðràÐ,—Ä™¬ ÐñvrB„ ¬ Bü(ÓÆÙ·¸, !Æ&jŽ7ðöF¨“¶y³¾5tÖ%϶Ì7mî‰ÓA û-+Ûf}¸Þ±¸m:’¥üåÇu#IWì0ÅeÞ¼V3n–ð˜U¤:a ld¤(€ÅmU1Þ(Kh¯WbÓ(gn”q½ºž‘ªµöx8ׂw{!³–½ý„æ¶tj¿1Ðñž‰ëZéy´ãKøN‰f Õ3m¥çäHiJŸˆW“Ɖ í4¾ÎÒ– Xg‰àtg-Zâ"»I.¼mX¢–Ô­_¯¹¬¦$dÚI›ŽÖ'q=;tYšdÅùù¦¨˜œl?ætø'³ž;‘Í0MQè#€|rf“ÃKYU iTÓÇçÕ_ÿ$òjûk§'é0s8éÆg}[ˆñå÷,y"$ÌÅëâeÞ-类$»­Y/Úçx7÷%¶}™l%> endobj 115 0 obj << /Font << /F8 11 0 R /F31 12 0 R /F7 13 0 R /F34 20 0 R >> /ProcSet [ /PDF /Text ] >> endobj 121 0 obj << /Length 1481 /Filter /FlateDecode >> stream xÚXÛŽÛ6}ÏW¸X, 1#R¤D°m‘   hÜö¡mÙ¢³Btƒ.»v ÿ{‡ie›YÓõ‹HQœË™™Ã¡Z¾xõ.š…(Ž>[nf˜Æ("dù„͖éì//"ÑüŸå‡Wï:ã(C*?%ù8˜ùú›ýß8 wÙ¦/S±ÉJ‘î]Þ5¢íªFÜɵ¦*’²ì Ñ$ù|Áónða¸Õ’§6,ŒäöQÌâÁn±!àìȆ•øš•_›ª¯-’Í÷'’c‹dFaÑ Y ÎE'ë*ï‹RŽÀÁMÖ´]Ó—wú­E£‘s¬1ð4‚Û¾ñ~"O¶·Î°“ˆ•Q”ä¹Ô¥ ü”凋𸠉¸ú’WIÚ%«\¬veRˆý 9¸û¸jQÞÜà3gô¢Š[¸e¯À’Wó¬5ï«N¤§"}©'ݽhÄÊ൳%ÌÉÙ;‰"Dpo<7fi­è1K»ûÃÞ¯»+P]!Xß‹õ7¨3ãbÓ·³’È5”µŒß¿»<»B8wþcž¨)ÛEZ$ÛÃþ¸®ÀÍÆ aˆ‚(>â&©nW‹ªïîö`‚4gE_艊šI§ubòk%&0‹TO ³£Éº1„ý`µÛXsl7µñP„‘ÏÓP´ÉƒÐ¥µ—:Vfç‰|=6¿—ÊÕǪéîwG(µç0ÙP_8@1Ð%®P4ßÙûàÿ ¬k÷ Œ©sIUmwmMQQ‚8%Sé¢LÕ±k5Û|~"ØF7„CrÊéCbü!šl“­“.«Lm±šn‚ègۯעm7}Ž)_*õQ@Ä h‡æÆ»¶…Ïb0…„*N ±¶ü4>_Aà=ÎIä™1pT ]%ŸT¥¢y¥òvN¸'+\® ‡dÒøio ƒ ž˜BEQ8F%ýöÜ^è›È$&>†žÙú+NPÌ1 ˜FC4l¼Œ)@Àí-Ãt7Øs³÷$æÜ­•œFýsò0öôÜUð™#¸„D(T^ ÷ž’Æ. ˜m ÏËEûh…R~|,•ù;U§ÎÚ¬2ìÖgôYÒ 9Qù¨ZÈ€të¬Î­»ûj²Blë¤L“M'9-+ý•i˜-CŒÂOµ­[ÙùèÀ?s˘6„† ÌNË™ •œ˜C/’÷«o·bÝwBM?&õðZo.{¸ïèã7ñ šVœtòw‘ñ‡ãŠ1ç{žñíQw"æM6ò+\µòësÆâ ùþæŸs ¼š É_¥x"Å3ö\WE!“ë{Ô;eTµö}FTe,ùp„øZ>´£.8껓½«ùÂ4 0YC½Ë^/À×»A¤ù@z (ñ>‰Gý.+õóÁGü5¬a_6!ÜST¦üPhi?’Ä“˜ŒVʱ¶ìÉÊhDä¨ÏˆCÄÈHíu·ª¶"=G.ˆÃc$G†?ÐÆO§D]8‰R휲]l»EQ)äRãƒ*v9€ƒþ^/r³ˆÈÜ«¤—F C¡‘ctNá’pû‘÷^¢ÌàžÕ7åK9Œ”aLe^T*Ô#ò§ámÔzɪϓæÜgÊà‚/À¸Œ°@‹Ù$; xÒw$ec³æD&ïLß&æëƒA­‘Ê´óf±ÒˆÃic µXؘ5šJK•Ї{½]4`›DðyRšÌ_CªµÊ™½3…†ÄåÜ2佩ÿ eee¨¡¨»c—×é2*4"gš¦ñÄ4B؇¶ˆÂ%6 éØ^¼]¾øRÄŽ endstream endobj 120 0 obj << /Type /Page /Contents 121 0 R /Resources 119 0 R /MediaBox [0 0 595.276 841.89] /Parent 118 0 R >> endobj 119 0 obj << /Font << /F7 13 0 R /F34 20 0 R /F8 11 0 R /F31 12 0 R /F30 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 124 0 obj << /Length 779 /Filter /FlateDecode >> stream xÚÅWËnÛ0¼ç+t #¾ÉC @´§|k{mÚ¢‡!©MÃÿ^J$m%aªF‘ƒ ‰^îÌ.g(úÓâêæNDH†X´ØDbÀ$‰xÆD4Z¬£ïñb§’”f8Þ4eÙ$HÄE½5Cy—¤0îŠmÀ¸žU=Dôæç¢³aæ¶ËW âñ=HRIqüe“ü\|½¹ÃpJA@Ž2¾_6jmâ¦L1XRåpVyYêhöm*óô0ð*4Á~WÔÉóºéwzD ?µ)B\D)„@RÛŠ>_þ*óÖK‡Aäè¤IŠ1Ž›Ö[„¹È¼mó§×éžÓ™žþ.Ú¦®l? DW¤ßG0][gžº¦R}Q©Î„¬›$Õ3Tçâ”yh‹íÎ.•ɤ*1KHÇ ’÷Ÿ$ïÍ1¶°Ç\}ò÷^O“§§Wi-Kè_+ÛÙˆgç6}&.࣠à“XvÊ ÝuŸ ç[åAÃ`ìäÚÂS5Bó¹¤1nñØŸ«Ï‹«?¿t endstream endobj 123 0 obj << /Type /Page /Contents 124 0 R /Resources 122 0 R /MediaBox [0 0 595.276 841.89] /Parent 118 0 R >> endobj 122 0 obj << /Font << /F8 11 0 R /F31 12 0 R /F7 13 0 R /F34 20 0 R /F45 40 0 R /F44 125 0 R /F47 41 0 R >> /ProcSet [ /PDF /Text ] >> endobj 126 0 obj [513.9] endobj 127 0 obj [493.8 530.9 456.8 530.9 456.8 314 513.9 530.9 245.4 273.9 502.3 245.4 816.3 530.9 513.9 530.9] endobj 128 0 obj [513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2 685.2 913.6 913.6 0 0 571 571 685.2 513.9 742.3 742.3 799.4 799.4 628.1 821.1 673.6 542.6 793.8 542.4 736.3 610.9 871 562.7 696.6 782.2 707.9 1229.2 842.1 816.3 716.8 839.3 873.9 622.4 563.2 642.3 632.1 1017.5 732.4 685 742 685.2 685.2 685.2 685.2 685.2 628.1 628.1 456.8 456.8 456.8 456.8 513.9 513.9 399.7 399.7] endobj 129 0 obj [525 561.1 488.9 561.1 511.1 336.1 550 561.1 255.6 286.1 530.6 255.6 866.7 561.1 550 561.1 561.1 372.2 421.7 404.2 561.1 500 744.4 500 500 476.4] endobj 130 0 obj [277.8 777.8 500 777.8] endobj 131 0 obj [500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8] endobj 132 0 obj [638.9 638.9 958.3 958.3 319.4 351.4 575 575 575 575 575 869.4 511.1 597.2 830.6 894.4 575 1041.7 1169.4 894.4 319.4 350 602.8 958.3 575 958.3 894.4 319.4 447.2 447.2 575 894.4 319.4 383.3 319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.6 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 606.9 319.4 958.3 638.9 575 638.9 606.9 473.6 453.6 447.2 638.9 606.9 830.6 606.9 606.9] endobj 133 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 134 0 obj [511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.6 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.6] endobj 135 0 obj [666.7 638.9 722.2 597.2 569.4 666.7 708.3 277.8 472.2 694.4 541.7 875 708.3 736.1 638.9 736.1 645.8 555.6 680.6 687.5 666.7 944.5 666.7 666.7 611.1 288.9 500 288.9 500 277.8 277.8 480.6 516.7 444.4 516.7 444.4 305.6 500 516.7 238.9 266.7 488.9 238.9 794.4 516.7 500 516.7 516.7 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 434.7] endobj 136 0 obj [569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3] endobj 137 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 138 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000] endobj 139 0 obj [625 625 937.5 937.5 312.5 343.7 562.5 562.5 562.5 562.5 562.5 849.5 500 574.1 812.5 875 562.5 1018.5 1143.5 875 312.5 342.6 581 937.5 562.5 937.5 875 312.5 437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 342.6 875 531.2 531.2 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.8 675.9 1067.1 879.6 844.9 768.5 844.9 839.1 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 581 312.5 562.5 312.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.8 437.5 625 593.7 812.5 593.7 593.7] endobj 140 0 obj [571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4 742.3 542.4 542.4] endobj 141 0 obj [892.9 840.9 854.6 906.6 776.5 743.7 929.9 924.4 446.3 610.8 925.8 710.8 1121.6 924.4 888.9 808 888.9 886.7 657.4 823.1 908.6 892.9 1221.6 892.9 892.9 723.1 328.7 617.6 328.7 591.7 328.7 328.7 575.2 657.4 525.9 657.4 543 361.6 591.7 657.4 328.7 361.6 624.5 328.7 986.1 657.4 591.7 657.4 624.5 488.1 466.8 460.2] endobj 142 0 obj [514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6 514.6] endobj 143 0 obj [489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 272 761.6 462.4 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.3 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 489.6 272 489.6 272 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2 516.8 516.8 435.2 489.6 979.2 489.6 489.6 489.6] endobj 144 0 obj [450.9 483.9 418 483.9 418 287.3 470.2 483.9 222.6 248.8 457.7 222.6 745.1 483.9 470.2 483.9 483.9 320.3 360.5 339.6 483.9 431.6 640.6 431.6 431.6] endobj 145 0 obj [667.6 693.3 693.3 954.5 693.3 693.3 563.1 249.6 458.6 249.6 458.6 249.6 249.6 458.6 510.9 406.4 510.9 406.4 275.8 458.6 510.9 249.6 275.8 484.7 249.6 772.1 510.9 458.6 510.9] endobj 146 0 obj << /Length1 1131 /Length2 5519 /Length3 0 /Length 6231 /Filter /FlateDecode >> stream xÚ­”u\”ÝööipP$DéfhAº¤»$‡a€aH ƒ’–IIéîF@îFZ„wÏyÎãïœßÏ}ÿq_k_{­ï^{Ͱ0jëñÈÚ ¬¡Jgˆ$”×3ñA¼üüry$Œ‚!œÀ(¨8ôø±P jþ@¿âÂBâü" <ÂÅ ³³GÙå9þ2‰e Hì Ô£ì¡Nè0¨‡€À (o^ ,Ôýk‡PêEz@mx ÐA­¡v0gß_L*ζ è¿Â6î./y@‘nh( ûoL Òá ÷Ú@m|št5(šåÿÖ'Wr‡Ã5ÁN¥ÿÝ©ÿY;ÁàÞÿv œ\ÜQP$PaE:ÿ·Õú/89üʨ ÀpDÖÙòÿ+sS‚yAm´a(ˆ=Ð wƒþŽCmþݸß|:ÚZÊÊ*\ÿ¾Óß‹Ú`˜3JßÛå?iÿrÿÖ 4º;H˜ДÝ^Úˆ~þþ2ÿ¯bŠÎ„ ÌÙ( ,#‘`ozzÐJø„9Û@½€P/41¯3…ÞD·Äh‹@þºPQ1 Ÿæ_¡ß }C|àÔc ä?Jí„ àè[ÿ;âçòÙü!A@>è?~´úÝà¿#‚‚èˆvúgÏöG ´Åî)ä³ÿC ùþ4£‰àÿHt‡ùþ€CO3â?R½èFBáPÛˆ„@ÿŽ"ÿ¨Ý=¨ˆ?B£ ÿh·?$zê‰&óøC¢éùÇ™ÑU½ÿ)†öú@‘ÿBýßA’“Cx=çD÷–G@˜ÿ¯JBÀÇB"~ÿÇ qG¢úý3EÏãßÚ†ž^(Ô |ûŠ€H:$Öú+æŒárbÊÙ}ŽÖüÔ:ÞDøz:žß¯æÊ¹Pi|UœBN´»ÁàyMçÖè«3¤tðÒ5:iòfÃÃj#ŧŽÎø8EÃ{ÝåÑùë↚‰“]aL­/ …ñ&¹]é‡Ý;ïµÙô7ñç1ÚL=ªÚRED•Rà!A•¬‚Œº$I®…o„Bæ=IâcqæG^û;„ÔrÍ!ÝÉ®r²ân,1.!xáán´o¦P„÷föè¤_ùÕ-V‰ò<n^ÍØ,ɬ)¬Öà+£k]¶Äu­$ïåYwfÆ´Z_õðjUa¾¯˜îÉ@+øUô´dáådóÍ5Oùjrâ±ÍA>šGäßטR¹ ÄÉ¡*йÕU-EZW`ëtÕFU |Y…m‰ôr›Pá-¯÷H/HçôAvûÂ[äkkµv~÷ßǾ‘‹Ä¿©8Á +²÷)uš]pÕôN»R™~ÿžýo8;.sã Ù£ Ía½ÎLÀ.,Ž– ƒ73á•Ó§3yÁ¨ ¤oÃB£ï=FlóyÅpœbz#BÊŸl .jÕè$¡î1zJÚ{.b-VÂrZ}òmqhšˆ‰~tIfƒÂß>i²×woñÌ>_Š÷-ÆzÞ‰â•k=oÂîþFh¾íÉÏlúöm(vÝ#í$ü4ƒM“2Î ‘¡ÌìÖÔŠÓy)̓ é$þ D3«mɳÇ<Çìxœ#™ý††”¯}U“wEe¦ÝFx™ÃúÉ•â ^™hŒÂ¸4Z¨:‡vóc;‰~5ŸãR7꙳6Ï]½…J]ŸuH˜‹xì“QÚz˜&;3d­Ð™q®|eÞ©pe}Ç*ò±Äg6ÍmGœÝZòܸÝ5%#fÊ-IBà°­*8ï1ÃÝÙâ/zIêŸþrü`†l²é¥Ýõ!ï±I«A×W‚†Ÿæ¯ñŽ¥®ÅIàÑ£x™nñËlMÙ‘²öæìv “œKxÞç,5£cez‘Óª‡ÈÜÁñâM èPÌ8Ð-.VPŠRö¥áþÖB¼Ù÷i2kº õ£è{NÍ|¶ ™Åx±k~©é€‚Z‰¶š™˜>¯Ò;Vå ø>Þ±+*_BOK¢^c4>ÖÈ!lÓÅ»l³Èþ©í9……ùÏ/hy¡‹~Û·ÈéÙ{?&2¤6`í´rméy,DdÈí¦‚ý´/üJ6y³xmwæx½½Ï€s¶lÓÞŸiØh®)‘„áCò¿û¸m|WOl—ìyz ÑdºIÑm¦…¶ ¦ñˆTm/ñ#îÕ8)=?¹ñ]¸b³çSxT`Áû'ƒ¹m†Z|p±#/§O} \_û±¦t~Qä~ÒÀ]<Í¡¶u³¨(%<)ßûñà ªæ“‚’:“ÂtÙþ*«ºOWÌBŽZÃóÃÐ4óxãðJ”Õƒ¥[.fLï…úþ®üÅIGmå WsŒ¤CFÉž_ùGjª³sèlïú’HÊFб\é?â‘6œÉ½sÚŠáYP}Øñò9¥’¦_ûÖÉIí“Ûð‡Ù¾Ç–mXñÕ+õüK\ov½nCáÎv̺¹’!êîC»’oX·ì±ô¢…Ge‹¾±FuT¦m$ª‰e@—M‘–/5¿œc‚ÁµO¿Zý0ŽÞ=§°Z½ò\°\îV&å¾ÚÆ,{mûåiìóθöxÊ'âžtv«——Â\gáͧÚ¾T}¯o $–6=šÈTnh0D‹²0øO£ÆãƒT„M¹mWà¬B Î嘶¸ú•.W4!ÇËØ˜iä?Ár;j3⾞x;/²Ê_ô¥ÓÚe/}µÉ‡ór ³U{?|ž†87"ØÁ#ñ§’²®¡Y”/_Ïèš»³gŒã÷ð炇G•‚gm­{ù®ýNÇŠ—x4îš%6òÂD$œ‚M0“º\ÑÇc(ÎlXÑ>ÍW¹=1Ïîíy»ª[Ci³çÚTòî Íæ‘cïwÇw¶ì9J%FØŠßXß}Âb)ðò÷ÐP8Íÿ6“ ÉÖƒñ¤Dª=q#«Feº'1ŠsÞ0cÕå%sùª}.vÜg Ÿ'¶¼g´7[Xç‡Ê޹Wð’ªæ®î-zæ…‹Ï#™×æ’FRXv’ÙÐñ”#]YÏIÝä‰Õi½}3›h~õáCBýÕµ­jë`Ú³Ež7E¯Ârlß }þxó”,…1Z\²Ìèˆ'ÿäÃL YS˜®|F%?£>-¦˜UaióÓ”&÷s-©õäéYå…êÀãø–Â9VÍ’÷ye,yzÖò{ƒ-_’ R±×¿ƒ¯Æ›)ÈçØ(÷a¦¶´Åzî9”‘ö‰_áR&}" ¢œÀ€ZïW‰$W,±Ž00®‹7ƒD%§‘i«–’.N¹'H-Ì‚¢*DGâʦœ ²ËYæØC¾ ®°zçQ³­„š/su uרä>UªÂHàô_¼Âæx½¢#îR©·G† UIR¾%_K"‰öÿû’v"È_Zåäó¯é®A&œãæZ­31-ý‹¶Úï¹—wHø%F,µ™TëºÜìH=|›Ý‹KçTbV‚ÙóçV„S™Ó0ƒ(^ Nùh; E@FWƘ[¼ëÈ!¤ OØâ¿u”‘ 5x î+ÎÅŸ“¨dMb­ŒùײØö Ù°)Æ’Vhê§>ÔÃŽh<‹+‰¸é®¹eP)ØÈx5XlZÛåâ¾H˜Ž´öÖãNMdÚD×Þ¥Xn¢Œë}§ç+Â8w;N­¢Ž{  ojwü͆Ûî§ ¤ÛwñSQç ý¨nˆ’óFÞ—2º£^Õ©+ðj^KD1cÞ´gœWÚ¼®u”òü¤äN\3(œž{†‰î§ôÃú#ì êh›|b{ë(`µíDMú×N†ÔØìYòíuõÎÈw€‡CBÇtá•A4p’²µf·TiseJ{Îÿ¸"žÅD%µhòÛå F?ÅV›»Ïû›%€3Œ1b¾¸û±ÕßrfBpØxÞ‚ïç¬6Å8"F¼,+í^Š}<# òï‘dyfr5ç+¹f)ÝŠC²î‡A. »øË_úê­l|5æÌ+_ÚØÌé )´ý9"¯ÒÄ 4¾óvJ,]ßJ‚aÇÉoÏVÇV=`¥uɦne:X—RTQoê üi™ªÒHª`»¶À·tÕýÙµ°>\.9ÔÛxËðWØp’¹¸< 7ö¡ð*ÝÀ!»gàLímzÍæðTð'˸̇aòÖª{G sÆu.© Ŧ,™°ååUÖ“ ×õOr×V|k*XÄVßYŠî– ¢X¶wZ}¸yh˜ºc¾·G™lÈ}[NUÔÜChÁãT¸¿}|ƒÑÜ–r€óeqšŒËÔ²[ LøW»lµzwÿSôþíûÉñ:´R=f]žœ‚õc£á£Ó²ZË4rÕ|b*™i}Q»Ùsge\iy¼ž€å@ýF›4WŠ+®#ÏË™5µ"¯Åùþuí–^Ùî7I½FqQõ_×*ª±dü„$°fS½-G´yð.'ú­Ÿ‘äZP«'ùÕ^Í?øØu |ù/kì"|¥¨×úS¤ÆÂwﬡæ5âU£BŸ·HfºðåÐÙ]TlǸõ»"Sš ƒg•æ-÷?'ªÏ^ÅJ”Ívˆöõ”±ðÈ*_ÄèÙkIžB¢’E1)ŽpZú¨Bý½ÏÖ¶úS –êoh1ÙQf’í™Zû—Ù™*ض o/§”:¤ÏVˆã›1¿óå€×¶›Ü¹)Së#ÆDn)šrJ™&á´ß7Y^£ä|Ðä6&‚«3¿ÜŸ˜k1Ôåì*jüZâ*ŽyÿÜŒhaÔÆÞ‹^B-è Ñ’Ús—|÷~ãÒO«»L?ÑX¾};w=¤ïC*3‰ÑÀG!¦q|®ÿñ*J„¹=¯·)3‘åCl§F˜8¢S‡2kqšðõ6…Ǧ‚ü¥Ó¼ír ÎU¥×”tgï67²‡iÅø ¸«þYñ)#w´nL#%цï¶˜Ø ¶%ðF/!`­X{LrâÕ$îÌZ_ø¢Ýßêþ#ð—é4¥.CìÓ“µ;~/Ù,—ˆ\¾Bçº3ëR€^RU®fVI‰n…tûç¤guzeTµ†Á3šØ;´-F/0ˆÕ¾â<蓽wÔ?c]r|?€ó—!à4þ‚K¥šO³µ´†l”(;ÞFaì‘O!³©ÅñˆQe¾(ù+>i8!€;P>ö„Gq¡ãÍà%ÍÍ8-ÓV¨ó'ý‹ÁCTmŽ ]è´f²¬¢ßt‰®å'…§¬+Wþý^žZóSnÓÄ¢VŸ $Žuo ÝËeܪ2×:mXò*{Èè{Ô‹Y—§l"äMƒ ;jƒÊ_¶éø ïLFßOx5 ä/>òÀ,^æ-Zêy™X#ÇF£Í‚ó€}äMfo¡Êé#dWàƒÕéÔïQ À÷jî‚6ä{TѾê;‰m¹)3×;(´œ/?ÂÀ^Iƒ ‹rÄ^Ü©eç©×oÍ>»7\G‚ý̇®N¹Ép#Æèúê%ç=§d1©z¼ë— èþXvø†wÌÁµ×èrÕ¥'ËK5­·~<öÒ/ÌUõl}GóÑÚõF“}žÁ”þÚ¦ò+ "ÈŒµâÑû\z %§ÿôp>ÓÜ—¹-²]ß}7pGl¼¦÷+)H¡hšCÝyÌ¥Þ·~Шtðƒ¬|ëûæ1ðu€¥AѬQч ïm5ijD¦…ª ŠÛöbš˜óL2§´…£ÆNª?²;dêÌ=Nç±—ÞÓèHKu‚¥NÁºªSÎKÜ‘ôP*Áþ–Ÿ)’Æ.e?ˆtCi´Üe݇~硱tĦtÀ Þe²ª°´«ö|ó"ŠƒrçÉ®‚~ºÔ­í_*ñDÁÁ¼ÍŸÓ#+}Ì0‰ UåÕ škò¹-•0‹ë<·V®)D[ì«8 ‘†ø4WW~§{4»¤/Ô×-@Z~‡?sõæîJ[ܬÒ}? ¢;~žm·2·"Ú?L=ÏTF¦5ô&W¿ÖUî‘[º‚8ôÂz·g%"¼³­ŒêýXF†Œ0áà…-Yà]¾wf6}cÜÅ®ý§x)î]Æ}zç–Šg•ðuÅEUSÍ0Eá׫³?y•g`‘8tÄ̾ëãM2Mei‡Ÿ :00TæÆgïgÈaU\¶ÇL’»&Ÿ=ªieäë"ZšÀ¬˜¸¬},ÓÜ×µ<®vhaèb7ghRÁíÃÝ ä*<œ «=äôË;‹4S’‘ÏbªÊ ”Uñ«d•%­ 2¼˜Úó*ÊÐîRVŽç:¼8áÙ;ãÌ)³íÚsÐ%bM™£/¾ñˆ«n¾¼ê‹ŽÙ¶ÔœŠÃëÙïjæ— –…)Þþ$©4_PÈ<2¢¢³j.Íà¥û!TÂFÆ•Ô^dðÚT&,vFGœÿÝÊ7ˆ¥TOâÒÁÍŽN²H"<;/ÞÛÀ#cÏ6ÜÇFAˆ>N›¹éYZCÍà; »àGœœáÐþFCt/0d¸i¢Ä˜Öõ•¡ãœ:ßê,h¦ÓP$•.Hð\¥ü~V¡ÈuÅm5»QœÝñг[‹É)S=çÄVÛàT`Yò%½5“q ØÒ×’ö¹ŠìaŠ`²¿HÊØ$¯Ñ‡i"¤\k˜Øë^]Zò²©A†ÃØDZd$꣹7{¯fîÄD8>eb&]›ÔW§c§@6üýç2¾Û}cbUçÍe™{¹†š²týr¼; ×;bŠ%^Š .ög樄0#n"bîM`ŒÎ8òlc—©ŠT\«5s¶×mú‘UÅRö²œß ¥ª7bÑð¾™ÌUìß;Ô™°ë3|ÛädÙðm‹^/xuÎuøÝÇW¡§4K–·QåP—]p½í°sßËÑÓåèŠbó“fÒ+r·² kš~Hç)>ìjÐY“‹YÛ1î(H¹j,‘ÌÌŽmþ-ã ó´²KVÆ®xz«ÅŽí·ŽdɤŠðcªgLä2ÏW”¢Nªï™0ÃxN[/p¨¤MËö†º„, éÂÔݲšRûZA¸ëM?bÞ:oI4([öô6v3T4Ò6_Wû²[0+|Ä㮹ÿ‘W÷qü“y-:‹eœ5B9;ξ_)€¸$B¤‘„fHegÖû'Ugý+MXL ÝZ¨ÌFûdÜ2#/º¸Rî]kûcÕL›•Ö X%‰l˜dFrò¼0–UKlñ­ n*(iJ•ß-€’„O»4$ª-¿V¾ò§›Y 2éÚ¢ã®ç3›r3þj@«Ì‡8…Ï(º;„hì.ÝO`ðrrš”MÆ.ÁÓ_CT÷^DÂ&9q(ôï$ÖQ¬è…6_kã—Æ6¢úÿlo,0 endstream endobj 147 0 obj << /Type /FontDescriptor /FontName /QPOGGI+CMBX10 /Flags 4 /FontBBox [-301 -250 1164 946] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet (/N/a/c/colon/d/e/eight/exclam/fi/g/h/i/l/n/o/parenleft/parenright/period/r/s/t/v/w/y/zero) /FontFile 146 0 R >> endobj 148 0 obj << /Length1 1375 /Length2 7629 /Length3 0 /Length 8431 /Filter /FlateDecode >> stream xÚ­”u\ÔݶÆA¤[iFºa€¡ié.Éa†îî”î–é IA@:¥P:î¼ï¹çÕ{ο÷3ÿÌw¯g­ý¬µ÷þ1íç©2Kkî /=GúhàRÿ1#ˆ_@W6ÝV+4¸–‘÷¹:AªCi_è²+Abüãåñ@›PŒf¶ÅcX»ó“›ŒÜ„{c‹ÏÚ&—Š?’Ýq7ôoâF/ŸÔø•Dl8ç*¥éÅTþ23X¢ÉØžDe|e:ew2L«ê´_¨úš]¨­‚AÎW&® € ‰hí(|®…TWÍè;Þ´œßnm¢¯|A=Z0Ce­(÷Ðæ!r¸V?…ÓÚHÅ¡2’íãU3g°Ð?(ð*ÏÇÎËÜUÖû¦Q;ÆÕàíÚȾ¯³ì& U¥ŸÞ á_i˜;Iš— ìÇâa]ç ­Mp$ºa‚)Cñ¶»®L&@ñú¥ w…9ëóúÄ“ßÿ¢ñ´B>F†Ÿòz¦Z‹é|cÔ—;ÈJQŒ‘&†ÂCi¨eD¯«¾Ã´,èŸ}YW^Ã4.‰´»Ö }‘ûúh‘¡äT¸Â©Âa¤ƒ-…¦9îËGA¹(Æèú1ÑE¹R·?ø,ûCêþ~Îêc_{Ý¥Ž¯ê{äUSÌ„sвt~ªõqôÂÇ#ývîm*.úïíÒg˜„ôÙ¹jª‘ÛÊã«Î{‚õ§šyÅXÂ!¾º7Œú”[yK6mÁ‚š¼_¿ê…^³ñOÏ`¦·/ÛÌ"÷¢ì°wp —y Û’¹|K’Hyß<õ"Ÿ)ªóåÈho KŒ™/lyŽ^”Ѳ4äHó`f›=’,ŽÔ{ (G6¦Ë¿ŠÊœ?vÿ@ÔÙ·ÖÊÑÆòþT[êzàˆM¸¿Â¿Q#Á6–šó #¹Ž™‡»œ˜ç¶À^CS_ÅknÞºÀeì!´4g,{};pë|¶Û‹Âë}^eç¾âòêõxŠ=>jn¨¼<öÏSŸå]¢CT«d©n×sBóL):L9a¨Ö•ÈñÜC*3ÇT‘6cÁÄPí´y…‘ÓÕð~óø ù“D‘·þGÂÛÈ5a#ÉaÇ»c)â`#è‹J|AC./ågâ&jö'´ù|Óhžö±´_ŽÜ‹vˆ²§‘\¯¾ðn.Ø\?¹1«v¡ä’„ê†ó­¢F©¬’0æê`þÈ|F9•Öî&ßk­1O-©«:ÜÈøý®ì}˜ktÈìlREÞÈ^?%J˜ ênÿŠe&5Óò]˜oÿtˆaÂ5Wõ)|Íù‹Åúz-%û¶ÒK’±‘ÖÏÙÞq0Þ˜i#1òîàÜÊü²ˆú!€¯(0½‘c~úM×&)k4¾ëÜ÷]IQË÷ÅÏo£Ò©uÇÄÑV ¥bðÏp&9+|Yì¼–“ÚAW™QË´úÞßqë ï3ßðé EyKÍœoȬ¨Å]Ê~3ÝqRõØ~î²낯Q:ܵ.¦t[iÇ$ˆfÄŒOÃsà]Ôj§ÐÆjì‰4KlsGR’ž&¦°n·Ðn 2Û Õö¡ÌNQÖŠ)^bä]î””$H·§7Y¡é:öfnm yw·P9ê葵ìÉýg±rá^{à{ùÝÓ`BÊˇ>¢ì>3{—Wœ±mV—´¼ó|91•ËÃÞUÁ]ïQ¸Dp"k-dðÆ}ËFÇËŠ{¸-)“•V Ãä0¤P^¶+½m•»¼~ä‘ ×ä²[F~9àvgÑç‘ ±UºÓüI­}Æž{tˆ„…KªýÁãwS™ô˜ÒH×WýÊm_˜àÙ¬÷'iuIÇÒ¤E„ªz•Âl¬9t6ˆdÚæsØŒQv·lXa §âÍ"ÚV° ²p¶&èÑ– [e=ÃáW~?ff ãÖ-ŒÐ3S¾PlÄ/^´¡}»?á©A|”2Ü•½Õ ¦fÇ‹OˆqV>KæŠеK:1¤¼¬t•±ž¬Ã_9p‹°¨{}&MW I5o©®‘•X)½Ÿyþ¼¡OÛÿ«ó,œ±Ûw/ÍÆœUo Uìéû³€bò™ÃÕ×Vj>Ý# æÝTMRƒ&• ù«(t«P^©ÞÙœ1a!U TY/¢Ã{Q¹u*egg)ƒ”Ž«2)Æ”Ò{zú–1˜‹ ±7ˆn6Ï$F“Æ÷´ßbmy’õÔi:½ÇU)™z.šQBCAˆ†=•'Zë\s2éüМ3ÜE²Æ#X³›…LTàԋV¡|ÃH¤^8qÐû_?:wôM§t‹4ú<ú†&ö³º[„ú>9“4 ×ö%M!Ö[ƒ7”ÌÓe¨uä8=+g @˜Œ»¶Uÿ^=7E«ó*xÛ)zét1]Ó‰ô%nÏT;ËË!ãü¥JDiþ ™K[yû‚r½Òƒ[‚ñ§kùGЀÝíHfþˆQ{ŒÀ¯ïˆýRl÷>>ŒJr•wÑ?»ðfÒÞw‰7ü <¶ýH6Éäž²õaó­-èpÒF©Œ¼J¶5Il‰j:Ã&ƒ‰Ÿx*K˜Ô ¶~äj<Äô¸NÆÖûEô~Íe¶ýõ‹§»Ž"ÏŒk /ð1y5¯×ÝhP›ñh¾QóÈúG¢.‰|š ¹Ù#3+½µŽ©±®‚l:éí„õê~JÃ(æÐðTŸûòèý"!ΡƗ:ý~þ8檑["me°W¥ ™¢8lé¤Ö‰ÝØNýýigQHrÃ*Á¸«fÀŽ‡ÇŸY‡ßA†‚L°vó´dþ©²FòŒ“qâš’T½ê®B|¦†"ÛÕîtô›¯Ú/x>’:«–:ŽÛœÍUXSÓ_;bYa#É9Ü¡÷;C\€ïu èß´ó§bÉþ%.)¾ÂÚ™ìn'ˆÎ(šÍܳŸý,Ééw’¿˜YÂÕ=<£LUzkïßÙà>l0”ÙÄ!Xå¥|¯´tͶ´ £Ñi}]ƒÊ#¤4³AÂù]„ú@›§GÓE—(¬°[·´N§ÑæNN“Ï.—ÔrFhÒYüdhù³Cä§û?²‹˜õL¨yÜÈý¢£ÿ×® i¯kvÕŒ§uà#0 ‡ù,÷î½a–¢sAže]y‚ÑÂõeXœ+d:²`ú;³ßpZ¢¨½NW¹’y;¾Ãc7ƒˆÃ²á RÆ žI=õ†GÃm‰©Àa‡hâ…_o1ñ|q²¦ Ì‹:±`¦Ôdg÷NW²d’ãÍ]ò ÅVóª¸+µðvÈÑ7X£Z°ë 8¼å:7H‰ ŸÌÏ©šòo*»¢»ÞÄCâé/QntiÎz \ósDo-Nðe#<;ËûaV2F¥ž‰´{Zú.­ú­^’!§ yû¢ò% \Ä‹ö¹¦ þÂwc:ßÍÌ:eû<+u\É|({ÒU-7·L¡êê”"‚éã'®ÐˆÎŠ ÚÆwd,ÆiïÐZí´5½b±);•À)L¬üæê;ïHèkW?Ûh¶ªôßj1@é·»¿rÖ–#0®½ï•ðHr½L`S:Y\å•wÅ“í½¾³ÅyRþ ÇÍÉ»HÔ0”¦Ük÷ÉžØk˜ XíA(Zƒv´ÔŒšJ2Zá@®ŸX»ƒn3Em¶¨õ¾³WÚrK‚cKêÓžž–:Ó†˦Óé`PšVµx§ÕTÅàlU ‹½ˆW„þP´ÅVó°¥OK´;E­£´ÍLî$ ½ïÚQ¡rŠÉR]Hø©[./fÎÅöC$ÞEÐ ¥OóÂÄæƒ 93ïüb²6“Œà,<ç0G½O©€GâÅ 'â®tKJŒj*uæY4"àatfqkDºìà!ªúÊšb—‡º2°:}ûÎý±ÜX±€Á`Ç{`e¡Ü{†úý…hK…? ˆ3R•æShƒ…åÀ`ö;åiò‰9V³õéùëö„¶-–ti¢‹±u…š•ÙÎAVÑtáu,üobóŸ@M&'õ:³ß”uZ” ò“­ÄSql»I•&èHWŽ(oºˆ¬£¼ôD´Wõ¥ÍÞl|ï^Ûzz†åV_z¯Sâ6s3EÖÀ±.ðM ÷]…Nx ž•Ò:§v–U‹DtÀR Û¥àD?^A@çÙŽ<»$ž˜«ñºŽ‡"–öXâ3ïÚŸîd!çW“‹S¾F->CŠYQ C)[°= 6w˜ŠA«5¸`Vàq-îÕ¶p!nNmíA¶üxïŒÔªd͵Ö"aõ®þ'Éë/Ù“MaŸŒ3¯5¶¶Gp9¤—ôí¨*8#- hIŽòÿ™(>µø’WIæ†ÙE3(ez?†ï+sbñ¸¨‹ù&#§Ñ^ÅoçNL1‹•X†ûWàHýš(ÏAõÈGIs+.wïkáBÁ‹cЬq#¾dÑs7Pèpco„Õ5·ÎKûlsIPžï°׊Б¿XE°ø^y|´ËøÆØþ°v¢9Ä¡–ím;¾vªãG=?›uEy ,?z :‘jÓ[AS˜é[ézJ3ñ÷LÓ‹UR®2¦ç¡ãù§¬´–²1s¯ôb¥ï_mßÄ8«¥à+ÆáHÖ-\®UrÆeÑiTxÁ5—7:nçŒÈ³„á³R±k¼#fͺÃ6Æö Þ^¯¦[‹û¤i{XŽ®æÔç³è¸Ž¥ìÀÎQ<^ }ª<C¬µõÎêoaQÇFßÚC-÷‰ìv?cc…änOBõ¦©V“Ð<Ä^/Ú³>•¬‹ÉB#9#(%¤oš¤åÞ+«>­w€§v))Ê Ži…ÇôÈvÝ<µÁ0ŽðªÜ ²:û"Hvø ó5ò¿I —ýQ”+]s÷ÆCY‘ÜWÞÁ%ÒãÖÆ#O¡¢$¡jªIaíïÌvƒIú4˜- Cx Íl=™ãìmP†ËMøÅ碠7F^a6PI!Hë¬ë!’b2·‹‘­^¥û…Hƒ‘_™]#1†#GðÖ¶[ÌRÈ‹Íz¥¡¨¹Dé.úuàêRà(³:$x¿ùù鱯tvªÿðfÇ*w0×ö]ïðãìöÐW·†"ÛÍÉù{C c•¢êÎoHü™ËãÊ­Óì˜"Ÿ:“3 ^éMÀüŠy1úŽDÒBÜSþ/Äa³Go_$²4¬î¨žŠÎ§ VáTf};6ÞÆùjåg”8ü0\7á>ýÂ@-.O… ÝŸjÎg“Ý7‹àlÅÊ…ÝvUq—Fcx¾+WáNóZù­çŠÚa¯²em³·[·¤fý©Yêk㣡¸Ç ߯!oyž³õÙ N‘¹UýÐP`´M¿Sׯ‹ìÛ­Pø¹ 0®óº šMg 7)@Ú}§Ýa“üDa £seVZMx‰§Ó=øÖø¼„váI\ë ³ß×eL‹ÊÖB]vÕJÚôh‡š™d\LÒ¹ê|n¼~ÖhÝ'™§>5/æ½úñˆÛ ðÔ¢Aãóx Ra”ôë×¶Uß’p|Qí49™Ê,åp^Ñ”4Љ¿ÕÝ+ Iß[™j $eK$ƒÉ^Ľ&¹#%TÈŒèh@=ŸâVµÈ.*`&ÀJÚ]½y¦žÿòäL4«l=æþh0 ,µiZˆçå‹¢µÜ››³Ö™#ìg˜[Öûo[ -NÂH°Èx`÷JëÊT=#씪#Ë`ÌPµØ¤ÒëþžŸà~ìÊnÌMúã‰#ú Ì ¥ *g·:´¬¬´y)=6&#¤fÖ WÖó/ÑíA.:ï5b·ò¦¤"|o>ÜG*ªãë Ý-­è¦¿lC{“¢¶ŠÖŽ52TX$ %ôÓôÒæQðDÛ÷ÕªL Ô€ä¶ÕTYÊLjx™Ï°2Qý¹ö+Q“°w?S0ªš%zý‘ß\Ltºõ9½<ÁÙ•µfZx V@ë®'÷í{‚ô?6" endstream endobj 149 0 obj << /Type /FontDescriptor /FontName /HIBXFY+CMBX12 /Flags 4 /FontBBox [-53 -251 1139 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 109 /XHeight 444 /CharSet (/A/C/H/I/M/N/O/R/S/T/a/b/c/d/e/eight/f/fi/five/four/g/h/i/k/l/m/n/o/one/p/period/r/s/seven/six/t/three/two/u/v/w/x/y) /FontFile 148 0 R >> endobj 150 0 obj << /Length1 821 /Length2 1985 /Length3 0 /Length 2549 /Filter /FlateDecode >> stream xÚ­Ry8”{j¢lÉ^d‰ÆcÆv”¥dÉ2(dc F³0‹%KöýØ¥¤&ei±&KY:ÊÙ÷DMNÖFÔúÎòuþý®÷Ÿ÷~žûw?÷u?œ´• Xßä†5"©`¨ T047°× *ª 99C2MÅ‘ˆ§ÐT¬6ÕÒ‚ú4O@M€"´am58H0$ù’qž^T@ÑðØIÐ'`É8 š˜£©^XKƒÆ6$ K TôñxÀzç°ÆR°d?¬»  Üq*à†õÄAC&D ñ£ìNóù³å‡%SX¦E–ÉcË¢;‰ˆܱ ˆ‰5 Ëròÿ0õ³¸ ·@väwBúWMÀáÿK |hT,0'¹cÉÄŸ©vØÞ HøM1¡¢ñ8Œ>ÑT”p#\ÖÝ GÅxh<»[ÇݶÀJm×äô9;˳g•ls·g…Æ©¶>©îw1ôoÌʆŒ UUTU¡,"ëûóÏù§Y§‰’;ŽÈ:8@“Éè@ë.XAÑ`X†!*D•õ`%xÈ e"àD§´‹Xû ÿFšÄío¤@0!(T€ÿY:”@¡îÂ'c`@ Ã5°œeª4àª!ÿCÄÐÈd,‘º{s¬|ÿÄ8Ö6°Ø,4<@ÂèDy_­Š) =}§»ˆS‰ÍÀóIªEyCoýþÈ¡46|A›™¯ÒD™ýfñ5Á N†”ÿ–8%¡.Ùi´Ýÿáçʸv驸ýò5óÀ>2둳k«úVçàl–=í…™ôßn,µÌæ[)ž²ýÈ=&½§Ñѯ¢ñzBÃÞèþ\lt™…•ãT§œ‡Ï|Föݤ_`ZîU/:oªÁ‹qÎ(8ÑìR õÎáêÈù\&µçƒ)Zé+°ÔG3~Ö˜vø÷^L| ·ÿ=qA§Ædà]ÆC¼rgüêmšðhÏsF3×Öÿ 3~2Âñbÿjz¹÷għ´jy+±QÑ@:`v¼²yY93ó:à¿"ÜS>"‡ÏY·½yñÅcËwùñuKgc%ïiäÊÕÑèvï@$£,ÑÖCjvïe6©ýß=Àof"œD¸eeúw¢=z\y ÒЮڳ”ì{µ(à°ïT}˜øÄÌrÞ’ȯ…oÌêšKw›’“Ž7@/‚n<¿ûÕŽq>žç¨¯§ §Ç7#>ůœ6* „õÐ5Þ}e€Ní…DG²üû\‹)Ú•ñóò¼¼´J¯×·TùjÄÑ··O Ühã¡ùÀ8›œ³B¾§âƒ|‡¯*¾’í7ùÀfq9§¤ qÿ/éa6~Ý+ËaöÖ¯ïZ:µN0çÏD˜qÃzÕÅÕ3(ÂC³”†•îÓÂç°KÁUM— üòÀ»èRÎE|Fü^§g•*¿,ᤄwÙÆž¬—¼D—)?££Q9¯øç4'…šÚËRÎ:Í*7GŒjõ~Ýc)×–ÜÛë"Ookóïé{3¯4®ÓЬg§ßÖO˜J öšÉ4ñlé8—¤»Ù!¹¹­Ù;?"ö jªkîÙæ«A‘ù_Œš¡nº)Exæ1åq½®[}a)È»uW×(Ÿ\ÍC“;Q ãù±ãbmJ¢ƒlÁÆåŸõôÔ¥¿Ì“Ǹ冓ú2_8×dêGD}´’Ú¯7ÚjRj»õfd_BPw ù²¹óMocÛÝW‡?F÷€0GfâÃ6˜”qÑÖêÝšŽ§À¼˜Ï7‹¸užn[Y]ÊQ(> endobj 152 0 obj << /Length1 789 /Length2 1257 /Length3 0 /Length 1806 /Filter /FlateDecode >> stream xÚ­RiT“×U„ª[Z@ ^ˆH" aŒ2Ê,Ää ’/é—„@mª©–¥¢KAI PEF¤j¨ˆ¤@|"¡h) >†*/`}]þ}ëþ9gŸ}ÏÙw߃¶ Áºs„{!†–`‰8" x2™¾DÐÄ öD –„'„w°$ ©T ð“òÉœhdÙ …žBQ*ÂKH”[OÌÉ ¸ „ÇfÁ€É’$BM6‹B„l$IÅw>/݃`H !)‡"‡Ç–€½PFá—4ùÂ\!pzs¤¢¥kDÛe™ ÉÂüTÀ¸(üN¡f¤Ñòÿµ²9CÊçïd –Ú/;õ·:KÀã§þÉ DR „¦!ðJj8ô^â𤂕U_ ‹Ïc»Ã |`‰Ž8‚ã{œ'fðd''a'.‹/†–qæ¬T¢ñoY>ÊcwTÝŸ_»\ dñ`Ihª„¿ØË9ñ¯\c“hŽ@ jˆšó!Š]1Ì f 9<8ÈÀBV*J³DšŒ äDÀƒ9 @2b<J4W€Æ™tÀ"¨¥%Sž-XKð2B!|ÂÒòiìû/Fx>$/¬‡‡P&Ç:–DÖ '8:'2!ýˆl)‚@°dy¡4–}ȹ<Ë$ƒØ(U¯ír0)§öpY†WaçeŒØ<·äàý›‡jr]p/] zºŸC¡Ï_éÒOâ•oÌžð¯Äs¸ä'¦µîiJyþP¿¾rƒæâÙµ“ì1{´Úòî¶~"8tLµY-ª³›|d53”rS§*à9Ñ©Àtâ˜vY_ïÛ×Éû:ž¨tÏp¬F³Q±yMYÐîgC™íóãÞÂB¡ª¨Í8æìŒá;•ië@wòã ¹TEsÍ/¹®¬'`dÜáñ\òfUĪ_m9¥gw~.XµÉÕ27­¡ÞŸùrÝH†:b™«×íûUz¶O¸oØ³Ë Øef|Wï"ÓÕPukT³À ¾uD]ô•Aru'Éõ4QT—…ŽŸ{‹~µå¸ötìÂÂ࿦͓l¹å*“ïµÂíœÏÑSlí^`îLu~£´Œd%ž“¸Ó}u·+î ЇÓf™ ‚úË~£ÞÒo¬T$ÔsÚœ 'ßžew¥^y2ÆK¶ŠyÞ6\ðûo·›çH{žÑƒñ×CûìÚ*®µî0¬8¢«¬g0 ·Ô¯öx[ºš»|ºÑ=F O¨nuË2Ço¤çç,Êi”óݸŒþœ¦¬›(¡XdèŒ~m–|7ºUîürÍMÿŠøÔN犫ʟ>³Éᄦaƒr’ËËüË R§¨ë³.S«'®ÉO»1í^‡›‡d‚*[ÿ}3[1wÑq÷*¦$3 âqH$ýzs+ŒÀêïçä)¤ë»âÈ.1 ïºÝJ‚/É¿Û79Õçhq4EÓî¡šŠ¼¾ÌÎX<ø¦ß[ª«ïU?Z]Îøé :òõKúR+׈Jk·fÓª–§³Ûƒ°$}n¨œÀ´;¶zxÍi(T¡9Fê6V‚­ÊDÉ4üÑwÚV6ˆ‡tñÛ«…Ù»ñêþí5KIÀl ±ö­åo]¥5 =û:ÛD=ƒ8ÿÐÇéZþ ýñÅÀ¨7ç]‡ºæ¥û ïMëøW““Ë\ŒÉŠ7æŠNwo5*æöuÙ_qk!ýhDk6 yœzõL鯽gõ¦on¹0Ð–Šª´ß6UÐQ¤gãŠ>?dià<¢ž¯ü}¦8~ôÈmº"Q6V­öH­‰ÿ-P>éʨ&Y^ojÃ^¸Äjrcêp³:»dqù=~étÂö†]OÛN3Tx-Øæ‘ÅÚm¿GØ š<.¶ÂjùY|{R±³-{ß»º¾ùg›âëêÌz±ÒYÙÚðç=£f¿6¹8‘6¾PôºK{”ýÏæÖØoøÒãÜ?ºô?qÊ5„ª-v†Ù4ÚJ®¡óŸXJ¢àÛÕ·1Ñ-•“Ó7.”Ò}RJèû7eÞ}Õþð©W×gžkõ…k>.~8ñ²·ä‰OuËD|Ç*ÌÃuG?ÿâ ±Ýòس[ˆºY¯½Y\|’|*3áˆ3r’D^Û¦{%f0pSâ-ÇÑû !Ÿj—# w¾=bPÓØÄ-Ú±¡‡ùÃɃÏ|A‡¬kïy[ëÊÖå4ÛåyRJÚï%”]rþhÂ/éAâ©3‰a{N ´Ò®Ž],dWÐO&+9é5ØÑJÕqÝt¹áŒ¢G¯9ð“– !X­ãæöŒ¸¤ÛÁ”Õô‡ŒÖÜ2Ô+¸ìŸâC‹aNdNÅÞ^a¹ endstream endobj 153 0 obj << /Type /FontDescriptor /FontName /ZBVZQH+CMMI10 /Flags 4 /FontBBox [-32 -250 1048 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet (/comma/greater/less) /FontFile 152 0 R >> endobj 154 0 obj << /Length1 749 /Length2 1011 /Length3 0 /Length 1533 /Filter /FlateDecode >> stream xÚ­’{4”iÇK‰¡tê1r–0ΰéŒë‘¦‘K1H¯yßáÕÌû2—r‰nbÝÎê¢ YbéH*±”¢ŒŽ¨” i´.Û²*Z­K¹ì‹ítVÿîyÿy~¿ß÷ù>Ÿçû¼Æ†^,F\pLbA§Ðm#›íÆÄ’F#;ŠH‚â˜$AlÉ´Û¥`ih6¶ +[ƒd ñð(*&ަ³"À""”a€ IB!áÁƒÀ 硈$ŠXðœÝ!žˆ@` ‰N0Ê“€`$ÅHÔY$7Œ›ù6, ÿ2:€ˆÄ0™Ã4$Œc‚(#|u'Nœ†,ÿÖBs©@°ÎÚÏõÍ¢‚¨¸0\*AD€Ãˆ[(̳݃±• NÝ$å±°,è[(´-ó}Tì‚F"°*á…>$#s}ƒ’ñÍqP¹¾{Ø^fó;7ó€PLâŽÚWñ\MÿZ‰ÐHàO£ÐhtBH|_V ÎrÆx8Œb!À’a ‘Š"Ñ+KÄЊÁH$@" `*Ã%Ä@ ø¸ˆ4ûªÖt@ qèl›ôí5ðÈ K&°°d¾4°aÐbÿ#äIE"“Ìý)D_j>Jä‡ ‘¤x†óìâÃÎU&Ç9´\R6ëË.Æ?ª=Q!³£ vÛ­lU=ñF6ŒhŸÐCK´Î¾u/¥Â|F¯n%ëÐý/ê‰çÚ÷5tL/dy© óö*5æ6È5…9IŠ}áUfÃFã=j•¯îxM·É×}›¼´¸ãÙÔhÜþÃͽ µLبÿ,)0÷ÖŽ d÷«žô‡C®x®(l\5¾jZ¡+ïzºÿ7 3%—½¤]¶ur9Í4’ÿ{3‰ž½£Â÷'æv/[U}ëgã‚Þr²šJû6,ý4é9àÛ4Æ=U«`$|zòb8Ÿ´…É¥ËX Z?PúNwg=Ò›^­Üµ*½,»îLôâ›v ¡µÙ›W Å¡>Ì©‹®æÖ¼;ßÒz}ùí<×àéÔº×J$“ò:òS÷7—?­ÛÇ¡ck…bRbv_`K› {·)zP?¯DuƆ-{'t-Ç3¼'ù­õž¬ÏI6讉W×s(9Ææj̬Ð\}­Š|e0ñðX’¯AÑDZ‘›“ϮŃk>”¨EÄé¤Äd>1%V÷<GFœŸ¤Õ÷ò/PaVO¶ŒT8H‹Ú—Œ»û™ã$ãµ”R¯v[Uo=x»ø×žÄ´ÎÉü—æ÷ª›½ÍL áûçä5¬»šã¡Ÿ¿ãS¢K¤…#lóu¿´µN¯’˲šý|9åIëì_êyúoÞftwÚëxán®®µAî‘z©*^û—ýyÝ=Æ nR;£JßÏ^ñ!k+Õ΢ãã;[äÛ®ËóT™fj¹ü¿×Ÿ [®vhQepAC†¬bèÚ£ðÆ÷[#*½J¸ Zwäòçè}G8MÉî3wfÌ2LÿT´Qº%÷¹œ‘ƒ[^Ö¬—˜Ôÿ «»Aš…ÅÖ›¬±´N[^Îì1ö‡O•]¯zYç¸óø²¡‹­Ü¨Êg:çrµ2Sîcí¶AÎô€ŽNÃ`ÃSšöÊO«åßg²=„?ÆBî÷oâ±,W»ÝRka}U¶RY“pd ãu“×ïbŸ•Ê1^Y|ËoøïÛ•>)ºÆØ¡ì~GË®p4®»ëô_G#¨:ç™.äá7d%¤ùî»UF®ï¯xúliq4Cû§¤5&3h‡ó Ó8K3>fž?µˆ›üŒ§$îmÎ2"Ù•shr°·­4ÌQ¿zœ²·|RZÓ^+s$”¡ëÎË´É'e‰G«Ü“^å…ç/iu½ý ¾èŠZ›l³çh¨É¦õA_c¿wÆX€º=¯0ø”qж´ô²>¹¾G$SÅ2'B>$VÞŒx_¡ŸÌ²ï’Æ­ŽM%÷öDmVy+t¼aU‘×ñQRì‘ endstream endobj 155 0 obj << /Type /FontDescriptor /FontName /ZPXWMS+CMMI9 /Flags 4 /FontBBox [-29 -250 1075 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 74 /XHeight 431 /CharSet (/slash) /FontFile 154 0 R >> endobj 156 0 obj << /Length1 1963 /Length2 14266 /Length3 0 /Length 15334 /Filter /FlateDecode >> stream xÚ­·eTL²¶;Á%Á6îîî‡àîwwwwww‡`ÁÝ=Hp înÏÌ9“Ìyÿ~ k_UÕUwWu÷^Ê+Ò ÙÅl¬ié¹Â2 Œ F:!8RRa{ ¾£™µˆ¾# ÀÈÉÉ||øøåbeábe‚#ÛØºÙ›™˜:(„)ÿ bZíÍ õ­2úަ@«†ú–EC3 £@ÐÒ ðÏ €Ðhï 4¢ƒcd™: €&fÖpôÿH’°6¶°ÿÛlädû¿.g ½Ã‡(Å¿dR>DÙX[ºŒ€Æpô²6Õ€Zþÿõ“‹9YZÊê[ý“þŸFý?n}+3K·ÿ °±²urÚdlŒ€öÖÿ7Tøom2@#3'«ÿë•pÔ·43´6±þm2s3sÉ›9šŒõ-€ÿ²­þ¯ˆÎýK½’ª°ò×oÔÿžé¿|òúfÖŽJn¶ÿÉúOð¿˜ñtÇÞÌ ÉðÑ^ÆÀŸÿý¤ýj‰ZÚ™Y›˜XÙúööúnp§çƒXŒ3k# +èú!˜žÎÚÆñc à£'^c{¸ÊÆ  üÇôobÐ ý!v½ðâЋü!N½èˆ@/ö‡ô_ÿ€^ü1è%þ €^ò}T—þCÕeþÐGuÙ?ôQ]î?ÄñQ]þ}ÔSøCõÿÐG=¥?ô±wå?ôQ]å}TWýCÕÕþCç˜^ÿ}ø þЇ2Ãÿë‡ÏÐÆòã¦ü¯……å‹•ÕŸõŒ òþÂîÿdøPõïsúŸ¦@+#}Ó¿lÛü8‡ÛØþÉcçôq½þ×ÂüO«¡¥¾Õ_Õ>ºeü?Öÿ…,ÿ Ù_e>ø²2ÿƒÎÄ2þcøSõŸp'û¿ª}˜ü…ùÿfù‡©›­)Ðú¯ˆÛ_õ>ºaþ~ Ââ/üè¶å_ø1Š¿vúqéÿdfýXjmfý—öönóGÌÇb›ÿrlÆöû#™­¾=ÐÚhüg4,Œÿcµÿ¯‰±|¨¶ýx÷lþšò?­²ûsj>’Û9Ù8 ,ÿ+#3ËÇ'eæüÏ›ÿ™Ù_güh ÃŸ],rZ™ý÷™dý'èüWßY?’8|<@ÿÙÁG·,ÿëÄ1~lêOYÖ;šÚÿ:¸rt±ùkÁG§¿ðcXÎá‡2—¿ÚÇj׿ð#½Û_øÑ.÷?â>2¹íÿ]êÿ}ˆ…„l\=h™>~üaøçºq8Ù8½þ+ÒÐÉþclŽÿúžû¸GÿËÆf¯?è 4„[^´1ä4Oi.ó-˜.‡¤2ù+ÛÐ=÷>`)Ô²xTÊŽj½^í©"íÓ>ä>Ë ŽCx‡ç· ±s?»ØÔ…·}g½ýt÷Vµ«t·=[¢û€c¤öæù›VP¹Ùõ±²Dõ¬‹Áãä ŒÂ¨D@6ZpM–ûQÝ™ ¬IÑPçsšÖ5ÂWR6íõâ]]fj]ÓBÉ¥"†‹ø›Ê(òG÷·#@òg~‡T‚ɦï¹'R‚c^”Š¥$!b«91–Æ@zÆ4º;ã§›Lå/‚ÞpD¶ü‰ïNéÚ‚^Åpf;ÈOæB”/ÞrðHýƒ<ò‡ÙXÙMøÒRý XöôøÑ—[BÑnt5›Zòs‘ (2/³2J`ž]¤¨k(6†ë %UŠÍ‚ùÞ~»~‰®“¬Æ8üyÙpTÁúÊÁv ¼ûÕP¥ŸdE?aA9;ï·7R¥“TvðÕŽz¸s¿•ÊrŽ?[)iÖwôgë`¦AWd%*[Î_Àœ«f˜‚4ÿ⪠„çô§°g‹ær\ƒe«‰1ëÁ²'¡ç&¤‘ú e—W"žx ’Pô T½ÙtBþZózRÚRmŠ‚”Êž¼çw ….ñmCÓ ‚)Ÿáµ ÉIƒ£é …ª¢‡*÷KÚËv–]ËêM’|ÛQæe«g×Ðx²DôxBÄ,äf[ ×!q±újˆ*º:œ8”ÅÁÎcŸvh}`¬0¨(ÂfÆÙÈnä„aèõ ÷ùÒr?¨&‰^Ñ \…¬îÎì'ÓP^€•¡C·Å©0¹ƒ-å^›Cëïp’>&óÙk¹¯M_9CI«ŒÓîg°Ž¤%ODº¬ÊAÒÖ_™ X“µ Üý#®ÌN†Ý©q#«,]›÷ôk¡S:©‡F™œî$pÕgîXÅøìL²|äDm\¤¨Þ®—¹é#ÒÞÚD¦0ŠÑ¾â åM¸òò5HNîœ2Ì¥EŒ·—>Ý[TAím@°ÌB¿øÏ/ÅÒíÂ9cõUWŽyN‚0fA¹”[}ß$…ÿ“læò#2 úõÇÍ´šˆ¬—WœkÔQšg'¤h,Ég)‚ ø¥—bøtŸEÙìBþVÔlnŽbGËÎ&²IçÙ5šÖZ+F¢vaEÈyÚÃÁfôx‹W‘ ä°ãÓwxt)ÜŒYZ7ƒ·£7ÆáÂÞyó\dSœ²DØË#¹<‹ämÂ`IÑ|É•Ã;Üœ™ç¹T‰¼ÇÔ>ìÒ7¶é°O؅ɤHÜÍàm|Æï‚ôæLÂü?(Mfî’sMoN¬|Sìíz(4'yä””˜ã¼7¼-üÂCÉlA8^‹El«qVëÊn®„òÆV¡í(ëÇ:¦Ù¨ásœu@½¯Št ¨üýû¤]¿0—£ÂÏók‹Cœ>ŽK|)°Œ›¼È¡[›ítéʳ~(©¬„°ÉÌÀ·H—¦ÅÈ’¯úSQ¾ð­Í4´ Oö=/…)!Â$éµ»|Òâ^fÍrÖÌ*¢w•¨4š˜ÌÝ»ö<1§›û^µ˜m 2R7(§õoìA6yèúWk2 Íš7ë’Ãd`>Ɉ¸å)'C&ä{ ãìúµGkK³Ü·#Tafú­—¸`éð#7̲G’š%9z!Œg7Ý~¼©—­ØÖ#ÄÊ©s_FkìRuK ›é07 z×Õ0YLë}¥ˆYÞë¨RR<0¥ðøÙBNÖ9Ú¸>KbÈê‚Å"ß¼ç £0E‡EúZûþ¼E“Ç5eÄR}Ó”ý·X÷Û‹ZO¹ÕÑD#  V¥Ûåhÿê~f픾ƒ¡\ÎüD…–˜ ÔR]\}ÆÉ÷I¶m7îš#ÉÂ;ª¥Ã%bóÕ+0!“µ‘¯\´ y[õІ¢·Gü]<—ZÁ@_|g´D”¼õJ¬Çcpðà¨1Ö¢yù·Ô6Sÿl÷®üjKÒ#²âŰ`ÃãÖÌÖ4ŒãïVvåÆîëJÓu[¾äO½b‘õoù*ÑÄ«½ ‡Íy]„¨é0Qa;õ®Z_"ÈØ¯MËø*Ds|åX;‰K““³©ú7wk#P&0@$ÎÄz`ZM…1²D`„„ØÀo3ôc.šO_h—qÉšoØc_+Ú y[𧘄û.‹8T­ºð îX0r+õÅÁ™@¾ésŠ}Cq•±–>x2ß¡Þ}eàåÎÇYm4\.Íl¡~ªÀ|½*Dc·…BÈœU”©9y{–•h®ÁП_y­´]R·9Û7›)õ#Gd‘ö‚nE)þ$õ""K%ÐÊØXt‡†Ë7,®1aítB“Ôß]T¥í¿‹á‚à¬Óö«Dkq˜Y~SÖ†ŒïÓõÞr];∛ltÕ ùÉ„^` *I2^Nä.«#ìô+2·ë!Ìé4ñç¿Æ”¸W"*_ðÙCµI.{½×*—(MrEÁ ×5ŸM èºV8N|ûjš¦ŠcFd,Wä9M+nºh]η~ÿ¾$Uej$^/ Ò\à3ïóP õÛ…z¾8Ê7xQùºÞ}]õÊÒ`Të5ßìþk¹Í†åbøÙÂýˆç‚WŽÞ µž #|{¹ælMP¤HE²íý+¶~b ~fâѣÙd£¬@Þº´2’Å G™ZäÎþguð´ß³‹ßñxVÙ†º»8x½Èo.˜€—'$º74æoo¿TdHØüH©peVE±ÆOq}a¾:,ldŸwhí~¡ªŸÒ¥BÙÙ¨¹‚ßã›ÈB3Éÿ,zù™55«ÌÎËÉxæçU¹kæ©pàH$HWHèÅíwpš5ñ¶Q9 QÍ2ê/ǧÉÏÚ†<®ñjÀ°ãýÁã{³Ì{übQU¦äßç¼v¾¬bóŒÈÉÁïˆÏiÄþ¯‚—ÐkÉG” ++»Å+À#E¡[k߬n=o=ç$–Ä ô3æ­dÑïT 2v¥Ž¥û¥K„À ‡´.qãóNP•N'H†V·Yâì,¾ÛDÇx„œj¢.¦âó2T=¥á*I ½‘¯|¼ÖÛ€ M«ÃÏç¥_":ÈšêÜýlæ†DùjÄ„‚wÀ‡€©hž!éùS™AüÜv¶Þã);¹†oqß“‚v}ûðf=wxÓýÕ¥57”ym ‚䇜%ÞŸ1ìÖ¨= Ï ›ú2 ÉJäMÍŠ…cKŒ¡s·ha;ÜÛÌ'ïÛ…UnS+_ä(Öã÷ ƒFØÁ¡º<we; «‹ ½Ñ£G’Œ–"jü| ªme‘_@°Î‹«v _7¿çé¶uî†á¯‡r{}êš{_P"U—Ÿ:L{­PñQ­o£x!n†ìëJh©ä2@íB`lãk•P}cÂ#8Äq>ñÂËJíÂN’%ƒvŸ˜À‰]:¼ry!öá›'äSïH„©ÿC¦h߯ë…Süú½… _ðMèÞîaQ™ê÷?µ/Æ~4(¶=°ãc2´“2"‹XãŠû¶d¿|4{ûúôä£,[WºÇ’C2+îs®‡Â ¢ ,¼v#¦Ómú:’r^ú7ÃK’óÆÔ86:—4H‘{rÉz(4-I¾r³X û~ª©ÛAIá«s?Áº¾ d“OÒÉRP²óR íëQÎAnX1TšÈ¶‡UÍDBÙßYD¦w½á³–F¡C®Ò%g¤‚zBˆb>É r`ZµzéRÌæÂpáÌ_7µ&|B_c‘6c£W•éAȺÎQ§o.™'^ç‘Hêîk‚gF9rè_uP~‡˜b«L±âCé¡­#aÅ$ð^ØÍü­ °•°€.lè4Ia\ÀôÙ-ºõÆœªq·Ðo?7•SI‘òêï÷µ61ê﹫!Û^Ú¢V·í¹Ùvâ¬Us¡ %R¨lPM¶dþ„†·C6(FOi9è€>~Ã…ZìÙNÿ»Â? ûY0šzk–»Íà;7½Ë  ÑS >”¨ú1Ø;³Ç}8QV¶®P½¢.×1õ™L8sÔÔ*‹~‹xqö< ¤$PV.x¬ôóǶ {¡ØÜ¬µ¯=-k‚}IëgĊ̦•вAŒ±º&q›ý£E4SÐtôÖ±:›”Âq{áâ)¾¼iKÑ$H·X«P_kÒ‚l7Œ®0‡.·i&%ò$Õp6ç‚*¼ºm¤ü¤f(^W5Ú˜N’…ûåà-š‡#{…5É›0ÚÙ/ž€7T´ Q ´éQø®¼üg‰,¢&ënƒ²( ýrT§Zâªý†?ø£aÓrr^a,̓•M«ýŒ|0&¿ •ˆ%‰=‘k#’~J»fÕáS0ê!/yY嚘‘Yý廵Ƞ>ÝÑ/A{ ûÀÆa2U‚•F)!"½Ó€q¾n«vÿ»Îê0"¢\·BíDu–ÏO§Nƒz¨Ã<¶#“‡ Y°ßRi‚¯iLOšnÆ2BšÆ.ðÇ”É4zÞwªâÉ<{àEF¬’zˆòއ¹D/ʃ;50 ¤J5©ò4H¶`ëLFíç²gq@:­´´Ü‰Yée'»=˜ÌbЯ\Y,z°¶/wyžÇ)H Œqdîò<@Œæ³×TôÑd‹Š%ä^•û½¿¦"]b—Âgqâp¹ ‘š&ŋЭq´"Ýíz’¾›¤ëÛ×-+Ò߃¡µ÷;ÏòÉ>´–V¬Gsì®füà°ºÈZCJx9€ÔXgUi'•ø)ïÏjúÁö@³~õ®»u¢~ZÞ5!¶Á©M°à‡ µDë­ ž<¹õ*ÂPzˆ}¦OÞNþÕí‰²Äæ‚~]ÒlAá˜Ô’Œý+ Ï#ôé Ò$;öWè›ÏëjöøÊ¥T ªß™êP¦™‘¦j2”Œ ÐGεÅé3ã¯ûð%Óá8öÐõ2¶AòðÀÐf\eòÒºsO•'Ç'…s•Π"ÓhDD-ŸÆºJ‹Ùr¸Jn§v߉µê'‹Ì› WƇ Þ˜ˆ…·>\â58Ñq Ÿ ¢ÒjF D…Cƒ'QSc£J^åÏ©'†ÉÑ(ÜgÄrÝL 2,Ü6Ôo¢>_^¾΀ÒÉðh>AßÏúm@lù5¯ I{yé9I6ão–QˆçÎã é&Â6á󜰖4ÛDÿÖI—L¸Íˆv6÷˜2ÿ^þÊÌ&ìò‰g™Ú9oã¡W²±LfbnÙslCë%Da'ÆÝóÓkÉ®þ3Ö@B2HŸ³ÓOëèÏþ+Ì·]™ Œ.µ {K*UB:R5T²=:ô>·;ì_\ŒGï2±Ö;/°ñïÆ¦Ã•«ÚŸGPÎТwïdÐ:ÃT爾‘½ > b¶DVlzÝŽr~åwžÔWhŠÓ©å4hÐÜfÉXmƒ>þY™–§¤úcË×,0ÿ ñÂ&%î²*lXæÄIç;ü3¹²Ÿ¾FT×r¬,µOT˜ªåËæ½ ±hÊ–îøo§£~=®±³ç¦±h0„¿æöU¯Ú/ß–OœSTcŒA{ ß&3t4ÛW.ìöÐÉ¡’žønlMZJ rõ¥+í¿-‰ã”Æøå÷™ü¾eAD|p ÷.ʽ i¼µ1X•%ý²P°Ø¼tœŸ~Â’_ 9«Û1”rãEÛGíd|×.9/›­Á8¶Éäydh¡ê+Ø¥ˆ¬§Ùt…“wê.“Ò³Ñ÷=ñHMoY.u ´Ð=Ù¬iô[að7dMq•.؇yôê–I³eé¶ßü ¥¯Í7³¼nµ“ykÚçzQ-!܉$f#½îPCƒe ëüºO¿ÈŠÂ02Ìnãïp‡Ç@B”ÒküFJFšÄ¦¾…,5kY?ùBf²%ãSã‚:Κƒ(º½Ýv-¼#- ÊJWÃv7ð6 NÇ5c—¯¶¿Çï¶HW6Œ.¬µ÷‹ T w#(5®Ú¸›”û)Ÿ†P]«l{T#EP”Ã3ð“Í)Gy±˜®=þâLW¶7â‘ Áijß$˜ÇÛ¹¸†m—Éãñû¼é+>rÛ˜ªäŒ¼lƘ]0ªØDÅÄ14¦ ÃˆÄ3Lv[Öð¯ïxqR’gkHqÃq¢ðK2žKä߬™;1.«,8Í)6ê c„3™ôG"¾OÈ\*Ò A¬´ã¨Õˆ;Z…¦ÚYC¥¿æÍã-»pƒÉýBù¤¢]±øK©×#åƒ(IÇ"ʰ3Ÿ >÷yÃqD‡°Jv¦® jÔ|¶ú½ðÇì½m4îµÅ3ãžÑ{;I&Á^·ÒO8™Díåq&;’E˜†Ö£‚òxpPžUÂw,&ÁÆÜû ç×ÙÃÖV+¹å«ÌœßM¼x!%çYðÉ}UNL‹$Rð|WÖ3b®výŠÒÔ1ùU~rš&HL“QÑU!ô¢µÅ1jÍÿ†”åk:^(j sþòŠËi¹V?Z”³­)ó@’ëv”1í/V)­Ê÷o´? \ ¤õí3Ú0yXôù O-:4³×h8Ä£q±G ÷õ…Fy‡»ºÂ®„°!¡~•õ†ëãüLÅ}\¬h1À‚SÝi 7÷U©Lhy©ëóÔk5t—Nbs²ê•ÚÝh†zÏU[¬ùÎ}i]"Œ°®²λzè`ÖŸO¤C€·2% FªE­;3>ï'Ø—àåÚ…™Ç²– *¶…í}¡Æ_³^LM3&âÐ+Áa,ÐÛМÚF˜6ŒdûvªMO‰ÊLí1Ó„ˆ¸xÛ´Y’¥KK%êXƒ;±pÐXú¡Ã÷ó¡ãûñ3¶É÷ ¯«æo#È83%Bj轡wrcÝã™3„pz¢°'¨œ´Ê#²ïåùlEû³ks¬ªMW¿Í.b#oôõÀýó8~Ìeáx—nšK±¾¥öÅÌêxŽñ‡–68$[Q‰ÿ~çZ24Õ9®FVú`o¾i3ïþi»áÍErU ’š¿ìzލ×Öÿ°©»ú ±¯Ø¼·?® egH`=$yȾô±DzîÉűhÂØUÎ/Ï({ý ›ö³Ñ (ñ \”æP†ê¬£ë65{3~ŒSŸ:ø;(å¼âO ɈªjFi—³Iþnbgï´ôŽ!6¿5Öryöà$6•Ò°î×M—a£¦jÒ~÷¹ñ¹;±·­TÝ’Iš«ï%æ@dd~‡óŒh¹eœêظñiư] ga%Éb~ù߷´ªÿ¼D+ùº#`ñ»ÂÚLnò}Ñ´2öÕa `˜‹VIi™PÔ2'>:N~@› P±?݇g‘½1ÐíA»•ô±] Kðü‚÷%ƒã*h~ºÉ€¢¸ß>ŒÉ|k3ƒè|LDžÛ4¢%ÏXròÓ{ òt¹Å˜:ÜÜ!ge=pYñ/X¢ÙeŠs~.ÑJÛÂE;yƒO»êßFdz?7ÐmLz1Ή£[0ž7r‚¬Ú¼@a„š´šS4ð…!%GYë)oXsª]ûÑ£ÑåzQ´:iÀÇ՛л‹bæE{¨4zWÑ®ˆcµ¹ì*M0¼¯ Q*‰ûJ`Á4M%™¢åž‹ßÌSÍߊµÊ|$y¼Â§2”‡=y9”%²ºJ5¹êdüšsì ­]£á-&foÛfí3¬ nÃÙl?$°©ü6zy6¥’ •ókL×EÓ?D[²–{ëªTúA n=áRž«4«Ÿ±•öÓÇ çr :_¡*mxñžV{úV~qg7IUÖ×u½ ~¢Ýwé8y=Ùð後òìn¯š3{œ3ð±ë°LZ4*–è,»Ù· ن٭«ŒR‡ž¬PXä>‚oYDñ[tΡ/£¢II¶µ,3¥Ï«Y ïr%h[À_,÷)Í‹G»½ÂscðwlAeX“·ŽŒÎå´ðJ{q¯R·2¬µ2eÃy‰éûö›ðI#¤ùŠ(ËÅ@§îŸéÙ,Õ9øÚ|Pò ý,þÇ¡}þî31sÝËŽÖ!Ñ/é7x0Låã ÌÝr{¼àxEœðo ïJÚ3ñYrØWy=GY&M¯Ã®°»­-¯¥ò†I¿\‡‚Ë s›‹‹ÏÒÂ#TÙ Ú&¥,À%»îE?…î°zƒÎGÓ±š^ ˆvd9*)ÁÈC Xü¸d= v8‰¿Ü—i_±hdm2áy²]`ÿ´!%°þõûÆLÀç7ÄM…8|‘2”þÙþÝ]«"Lõ‚OÔ„]aíã0Á'O6ʪÏ6Dåì…D^ç È3¡ÞŸ \_¿ŽBR 8ào\ÍÐÚ+á=y7 èr)!Tã—sÈLíHÀ ‹|IsDÛŠ/Ø ðNúÕøV}=³ïªQMó£Á"ñEߦŠ"y¶§aŠù Ø¥{ W€r%*+ó-û¤ÜŸ¿†œç内®ÔÐùT”8 ¦›VÛ€xÛº£¡ 6Žu[С,ïÑÐV<­¬q>ÚóJ}'ÈH×^{dl$#Cµ V"­ŠfSPH±ØÒßNmïØ¶p>¬VÐr¿ÅÉc8CYºéä;—ž±”4–ºSë1i¸=b]S9(±¹#8T—åVÆØM|ET: ›:6§eÁm—)qåó¹¾_ú‡²†³j¢êòÀmé{_ÚioQ©w¡¾12ö²mìmàÈ%ºnùrm''þ ­P’ltÓŽÊØ¸LBãU{g¸@jeiyAÉéjCb'ïeT*”vÍ×Gh^(ùžpÁÕ Ì2"ënaúidZ½ ß*.B<"Ýøµr‹¥'§&>Ø^¢ˆòY‡æÒ×t"B½ïÑë{B% ö'±`Îíg%WÚ¨|ÒæšÅYœ δpÊ$ .ÌÍœ`]CEPŒezíå¡W=ŒbúCªjgÇ©Qó.f ÎE ”U2XWŒmï`eÑ)v§üjúY]ôH¸¬³üŒ¤“¼j"Ššž–q ˜M7èùCBYtÕW­¹– øªÈ¿ ¡œ {¿ÕáÊd]œéðÙÐjÞòªaêêH÷Õû ÊNsxi›‡Ykš4©¿Ï’”†ZË6Í—¼ÄÇÅR8;‹Æ¬±OžÖ‰ xóVi×Ä£0&Ž‘n[ÊDÂQ‘ÞðwÚŸ°´–s#·Ì_O_¤ZN o `g?-¦l ºçìß ¿ùÝLæ¶Ô•æe£ª+–‹÷LìHø=ÿ¾Ó#á iLJ0òÕt?WŒÞú¬˜Ç&ˆÃÌð&à)I‡pZòç'{!g’\î¼åMzЉi¦eìaºÝsØ¥<óplP"Fug­ˆžOj• (P¬yxAûç»Ï +Œ†®)~†ècMD“¯ÉºŠó¬£ïÍ…[;µÄ ¡™è¶Vú§à»OýE–tkܽ°/JsV2à ™­Ô¼$T:B·5¤£ÄÕ{M¢<"¯¤0Û+öf;åZ÷®P°êÃ6®ßùô\,²JæÑ ò¡¥³ r¥‚Ç{n~\3œô”šåŽ¡XE+›¤¦ß þªÙš¤ñ÷Ëô6}ª$¿þÔ¿…WÁ¼ðõ{†mwÛØÇ¼‚‡N†¿ß½¨¸ãmÑ÷õt›Á—6KÊ걎‚KHë¡Ö‹–Yi¹>¡ý ŠLBµ…|ÏJ’.èä\W?+é³Ýg2P†9ΡP!Årk=öqàwh[Ó¥.™|¤]”–Hï`ßòwxê¯ì:ÙtÎaß¿®ɹÆÞž×½lOA^«dlð~Ï‚Yýnl~. ÍKXøBûœç¥» ›µœ¥(|Ëå±v[w7äã–a±|«JóR|ÿëñ,;õ¡€uÏÓöG€5ƯÉ?ÙI—@b™ÍPßüÊ’jèŽOÔË×óív¶ý¹dm*TØ9*ÂÎKÐ0OnìíqÊA±½ê/;2 7&hqõ.xp8?¿%¥ÿäà*Åö"Ý­ÿÜ ~ËEJïS³’8)Ç}B»ZE·‡Zùd¢ô®ñ²º?(Ù0u3Ðx„'¨˜_ÑÌŠ\Í΂žœß>±ÖXüŸó¤Š(xŸVö@8¦›KÿD…+Ò!Ìʇwå(' Ôå“B ËWrˆMwÿ¶”Ó¦2!É( YЏÓxÏþ\ŠGURÇ},}>;>L‘…x$¶;~€TD‹ÀC}I©hà“‘U·¼¢=~fGܲ!€ŠØíë‰t²h2É—”Eƾ—´'™y|kÀN,¯ëæ¢ß“,/ô7nä²f"óšø4Ȱ=ò_5pDéâ‚yÇE-3G 4èæ2…¥õB’fg>(|xúüƒÎ„ƒ³…êYÅ1SŠJù =”3îÃÏ…ˆ°H8dQ Q—ù ëøÓºš:µ/]]'ƒq‘ÁŽÈé[V~Sv%ñã¯AÍõC'÷qøîe6{\¡.­s N½x•™ê1ƒílÒ*šÛw7 ©Ç*/Z»›lžødL"+´fŒÒÜî Î4˜²ƒ'&hÕ¸¿$ýá]¨£Hb³x$€T7îAÄéAJË,I_½çn x’µKDgðKR&ää¤cPüS=2Uwð„!õq½]ëÖëH~ Ž"ÍîÀC³Ùµ\„‰a:/¦OŽå\ "UèáŸØÓßR ”·¦G›Dÿ¦¾EÝ ò&è–jÞG9/¦.¾S':fÖ\·pÊ#U£RZñžtºÅPî\sÁb§B6 Z$4 ³Œˆ#G…Þe\Æ”K·Æwe¬+Û#÷~,Gââô¿õe>Bš’pEb„7¦wzäF¶5IMÊt®u{#@l=LaŠ#cšb¬8—‰+y˜põjfpUœ‰©nÒt+{Ò0Î×»7ïGo±œXîB“•€ÉÝËBwíÂDcl™ç6}*ÉàÛdz’nÚ(Y~âbna#F–€Ñ›†Næx%1?ùÁóÕƒïed nFV®DY‰ª\×îó³$ÍeügˆK¨ìê¼: ëq Wú>9uæ.±êùlö]83E ,7·¾ÍuK—¼Î¡]ðD\Ìakà’î2DAW·ièç3©¯Jº}½X¤É!;Uä7ø¤$%:'ØÁ…× cç¿‹`ìCÌ"´IÝ ‘ +ÓÉn|â­Â•u\@‰u¸áÔá§‹®’c²öÎYÉ# ¹Š®úOÖ¿vò‰Ä…~Þ_úçU‘£…ˬã¬*gHŽ õ~¾ua:ª—Eß×ÂúZÉCgø£d˜çüh¬¶$ÆYd„¸¶LC˜ øš/ik˜ÿº”‹¼±]8͹žuw ´QÁrßû×”%À³¬› àÃÝB)%T>†¾.†ô® S7#Âg›Úq„À+¡uK öHE ŽàÕs3Ö~9¦IFô<n‘!äu”„bÃCÿcÕ«åÃÚ[>‰KºlÂËÓ¦¨ˆósä¾<ßéqÁáúSfGåíN—îR5·]‘¾Ì‚ ×-!Û5^k6Át»­{«%[ *kª¸J}E!–99Ì!I%ÏéŠ7Íx…Òg+=Нó—“Ë+Éu)º«Ñ-«ƒk0RwìC:ÅñHìù›zòá4Tü³Ë£âÌ&9—tĽ ïŽ^Œf{øyÔø.§¯Üô«fN¿ùh©¸r™jqJ1=ò*®+Cèë±Ö¾ný“Љ)µð²ÞÑÞí0è.%ÞÈÎ,ß¶(a€˜EŽ’LmÒA­<³dñâkÙh»ˆ]^ŸV%ß {μǑñvš»Ö†²pãS°òË–Y Pš¤„zz¥Uçç±³Í!æªéN‹Œ#¶l¦—áñ¡VVz&(‡§$ ´Rô"8^Ãë°ygý6"?I=&ÐŽ¯ÑÎ}c_Üîó¢2äÓ/)[úLõÑÏÞŠ+µå³Áåôüdû#@Ê$8YÃhí´€ÀìbC6ò¤H{>ËߪX§Þý‰L³ðráØKšRw~ïwžý¸¡m=:–œ «@m<kÙ½×—»V÷ƒjE¯ã ¸ÑòÓsÓ\Åùoeïp6Üb¿}»ŒÔÝòmfšòÆ€´jÉÑlÉñ°­iã•ëÏ$1݆*r®\Òf Æ¥>#Ϙì‰û1ADó¢–mÐD® ú¤?âLüAØàæ¾ÅðÁÿg×E< endstream endobj 157 0 obj << /Type /FontDescriptor /FontName /TWCUGQ+CMR10 /Flags 4 /FontBBox [-251 -250 1009 969] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/R/S/T/U/V/W/X/a/b/c/colon/comma/d/e/eight/emdash/endash/equal/exclam/f/ff/ffi/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/quotedblleft/quotedblright/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 156 0 R >> endobj 158 0 obj << /Length1 960 /Length2 3141 /Length3 0 /Length 3765 /Filter /FlateDecode >> stream xÚ­’y<”}÷dzeßo ¥ i±Í flɾï»ì3 c†Yl1*Ù2!1 ‰´ØC¨1*BîìY³S!²%"‰gªß}×Óóïïuýs½Ï9ßÏù¼Î9ÒÖvò:>سC,† Q€¨z¶E¢æ–ÖÃ!à£' ÔˆšÐ!úŠ`SWRUC9¤=lP8åëGNèü^¤è"p(o8°€üt o8°Ãz£„p@l¿¿À¶<‚ðQà€@”78‹ðEa8@ß ™`X@åg؇ôO*ÃÓM'è&Ot‹>X :ðA 9@–Xz/ÝÉÿ‡©?Å ‰h´%<ð»ü÷!ýOˆB‡ÿ_60ˆH@à ¬‡ù³Ô ñÓ›ÂE ü3kB€£QÞ:_4ÿ ¡ð†¨0„5Šàí áh<âGñùÓ}n?,€¬­ÎXºèËþÜçœ5…!؇ý«ú½øC~1}:8Tà Vƒ!ôBú÷ÏŸû½ 0ÞX†~PÇáàáôË 8PD€£)`°ú€>“(‰Åq|_' €t¾‡~ ™ÿK0ùüBE:¢8…ÿ­€¿¡2òû…ºæ_„Ò0(Ìoåô‹aÿEe5:ýWš®†û énµV¦«áÑpü¯vPz7Bèozª(ûøßéêbÃÎÉ+)òŠP ¦ª ¨@ÁQÿUçMÄáÂó§/úF¢èg@„!¼9†±Þ—ü¯×Æ‘ zŠYdt}¥Z>lè{Âóú*ú^›Y°ÌD•óvI– Ï,Ëì‘Ð1üåúH›NÕ Á©™»³!^³YT1çµ,‹ð™ É͘¼´ÚþõE(ƒUïD{Qú™;-7W_|È·>¡o?Ç:&±¯Ñ5¤º1ûLÅÙ0 í[uLI–/3¸(A9~<”/=y¼;†äÏöXvô#¶ž(°]À–wm×m}¾WÛU8gæŽéò DûÁ“ÈÆ²ÊGÈÉÙÔºí²VRí±ÔLL¿fÎ58Ìà±TÚ@Û´hdõM’ÂűþØö<óPE…ªÙû7ñc"–gÛ#´ìM¹5ÇqLåbó†’a¥šÈ÷y¯NØ ™XáÙ74Æ´-JMü$Eå çfKÉ4ÀJO7«BÇo°¸%ñç”çܺÜk”¯äÒ§8RdÝË”q_Õ\i·P êš‚ñö4hnð+#½÷UKaºPIµ8¹ÇufïüUF‘ñÛב‹âiw%â]u2S"„󃬛ZÅ,õh*kƒU*]”5{ßMÞü\ÞØ0ÏõT¿ôœŽðµ­r§ÍljK·Ç’{¦••MéìÆ znºlÓxíƒuo|Îà€¿o½Â‡ 1½ÆØVýçär|Ê ëòíñJ‘ò„R÷ŠYð»¿8”3Aý Í_JßOdåSU²þvoq3UË·Wð0W¤‘iª]&'aÖ¥X·PÁp-qËB(“½9S<¼”®PÅ_Áýl£¾XÒ¤” ©] U„éñø³ÓT¢ÀðÛœâÔxÊc/Òb=*Ý`¡Ù”Ì8yfc©/ ¬ÎªDå ƒ6’ͳB¾/Ìée1š¡•t•sçr4“5°á±µsL»¬,ßñswŠB-œ—ô>ÞôXû\§>Šº¾’ U¾7Q“]Ûâ²ÉvîNqôP™Ý¡+J9-´Ë²Xüe¹s½*Øš¯àSÀ’Û t·ùíŽw=ëV­÷r]õça`шæóø‹÷>rL•Ujˆ&˜¼è”–{$*Gj‰Û“æ <ýŠ›%Çî~òéÂqJ¼:ßð¾°cA~q_¹ß`0rÏ!Ø/Àó>V¥”™Ñ €&¿×;i¬!Éo-«93Ô6n.:%™¼¿eõmF®‰r°çˆc»o4]­CD mA\‚ûï¸Ö7nŒ±è»^£±UÈÈ]Îô[÷êSÌe2'iVFUNâLŸŸîÝòs& Uº^ :óì!è[Ô–ƒ&{yçèöÔvµW¡v.û §™k*OOjëÄP­äÎÖûÁ;?¸Ý@MÉq8ªCÊùfI,5 2ÝuubŸß±ËiOJjÀsý4Pø…Eæ ‘¼•ø¢‚Ƶ3îÓßK)À¡‰·êF"‹ðªì}»ñŒúݵ×^²l=Z_Ï››*k‚Ù͈›/ˆ3’ê£Þý}òsš]ÒŽBOJ‰Í®‡yôB©ÓWR­ãÈÚrÏ¥ƒ5›~5( SÅu~oÿGé^Ñ·vfž#I›âC% v#\È.†Ë£B%v¥èNÈ}¶Ž<°8‚¤™Ÿ 1O®«é-ïMø;Jš¹4ìüþ±#–4!‡Oe¬ÉbÓ^;à`š“„ Þ‘‹çAlë@:nè©{ü¦´—‹«‡œGô4:Ýÿ$à!iêÛYêÜøž¥éÝÀË¡›¨¯m¶)Œ|m%¡¬‡öç8úzÆ|‹G…pÏ…Õ6â¨m„•äŸ1UB̽¤RzC¸¯ÝÐl"F¿‹x7c~2ñò„uµÔÌÆ±3Jif3‚×®þýF†ß¼L=‘ÙŸ$2ŠmVYØ_†¸Œ¿{{s-$ñ`ÙTGÝr‹Ð0Þœÿ:2N2v0©ô䟫ÓfÂ׆©Î¦åPãÔ×õ}nǯMÞëaø|7?«ôpq}rÌâ:—ÞE˜ÊS³Øð1~I ؉‘oÅ´ÉHËd»iñ–¡öKÕC+zeiÿn…}¢ Ÿ“D»ød¶ïaÏHfñˆmӚɋ"\òÌ6ó#DYë³b0îYµ²Ã\¯¤lW›ÆíoGï&TÈ,²v)ê-£aÜ|JÅÍò±ÏT/LßiÊ>½úP;8sÏ¡•\#p¡çõõÝžèþ¦çt­!KÚJj;µlÛìú#ýpL-©ZfÅýL•†F|uÙ»Úx ¨wL<…þì5PÁxˆÈc–Ü–(ž|)^¯¢²‰ÕÈ{/šøÑá%sçSy:嬬¬Ñ›?wÖ¥ûñ¶ýê^ X\0T~¼Fs°¤^)oÕ·-’òÉɉISµ!öh÷ÝÐi×Í}H|Ή\ VÏœÊe6Ô$ÌšocFÔ|%§“î±[š qÃê0¦¾™ÊO¦ë¸W„‹i´8·Qú. s5æ§̲Ç0SÍ `œsï6ëŸh’9O‰œšSí>û¬¸ŸáÁÔ)•5n*olœÒa;¾”3ëeÞ Àªgn¾•ë\8ySWŸ2ΦáKù6ú0``‹=£_Ñq§\UÃÒŹÛXÂÀ_À#/ËÁ½dí Ê8o<ñz}Æ»#¤^ºiÔPß:ÈgDݤ~án©ŒJ¦V@‰ûÖ·˜‚¼QhžisCB®T‚¦ª…Åu:‡MÌ“ž ˶³è{&‰ú9õˆ¢`„´DL›xû""ž¤•¶±äm ¦&ø!æ™»£ÄOÙÅU\"Þ» ¬×#ïÀ“Šë©L¡üý)_îzý-˜C8' ©‹Ý)ßVæß™ééã«d]úå R$º¼1Þß3ävêFµv.ÓƒîFÒÛÿ}F]­a"sAûúåЕqÓïÏóÈèZDž«¶µéÑî?ÖmmÛt pð,ß0š”WÕ÷s:ªÑ„“,͉AjSöÒI~;š®´ªÌ­vÑÊP¯i~b`!”‡ª_&Ã39™X_yØpP|T°T>pïò©sÆ‘È3ñ-O‹c*³1TJMýsšEº…ŒÁ`ª%ÅŠ‚-uE¯ô(WÖ¿=üeP î4r<š¿»2)»—=ŸjÖ|Ú{FWèA(æ-9 ÌöU¦à|­T6.^o_«^óÝ£Ú{å(z/7*¸Oœ_õÈhÝÞܓ摛}Ø«]é²"!"³YZKÄNî>»^·(Ç0\95|œO2Q„ KòHd!ï: |ÊBúçmɆOŠb¥¼:‡á«JAžr‡§—E™Àä²+9ÛõcϪJÊ€óqeš]ë¶W¦ƒh™ÄÜô¬ð7ljBK“9ùEè9£zžô,:vÀ®vu)sJ5÷qE\4‹]¸fœ˜Èßã/ž>1øv ²=W”ç¿2#Á.ìËÓ™ ×Ãâ|Ÿñ<—RÓÚ¶S਻Ã[^¶îçOÀ”Î__ç‡ò{æ ‚ªk´uŽÆËÍ»n dö%û<ðŠ°ŸŠX`çësdM²ªKÛvOs{ eãFñ½+Kú*g*ÃUà·w«æêW)r—˜Êµ›cŽLþ6H* endstream endobj 159 0 obj << /Type /FontDescriptor /FontName /POYNZD+CMR12 /Flags 4 /FontBBox [-34 -251 988 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet (/A/L/d/dieresis/e/h/n/nine/o/one/r/s/slash/two/zero) /FontFile 158 0 R >> endobj 160 0 obj << /Length1 838 /Length2 2342 /Length3 0 /Length 2908 /Filter /FlateDecode >> stream xÚ­Ry8”ýF9eŽ]ÊÒòZ†±Ž±Í „lÉN”,cæe†Yc˜²fÉ%”hÊ %¡„O¢EBÈž%eù"Ë¥3ê|Ëéû÷\ï?ïý<÷ï~îë~¨”£Š–ì š‘IT„*B0±v@ „ª 5¡€h*žL:Ц‚ºBGûêjB[W¥«® &ä:ï‹£0…m0"‚<M¬ÑTHdk`ÐÀ‘ŒÁƒTº*`D Û/‚0¤Ð@¬*°x ð}ñ$|Û%ɇ –±Á´h %ˆm €±M*l‹X2‰@° nCfÏÙNþ¦~7 &lÐÄmùíþÑFñú db@0¤Öd,H!ýJuz³±ø`â¯]K*š€Ç‘|  ö³„2Ç‚X;<ƒ|Є ðG$a5ÁÎ퇸«©‹ÕI'¥ŸûüѳCãIT'zÀŸªÛäñf§CÁ‡njªjj6‘ýýñçþË,S†ŒÅ“Ø¡¥  )4¾ 6ÒÎ"< †`(Û0\•D¦²ŸìLÂ2²½N”&wÚ.ý@ì ÁÑ!Žù!Øóáàß ÷ýd áþÙJþA„:øÿ™”±19ô¬Š† ¢®¥èhjHMðÿáa‚)Dýq„ì¸ÿÀ>xör@0Ä@zɽX¿«ã‹"Ló;îr+rû>ºdSÑðö·Çô§q [¬G¸~+ÎáŸäž<²!”Tfßfö%:ðRVÏÖ$Ík2ûÌcIׯÙÖô‰iVÌgÚ‡ÝK3Zœ¶]#¯‹2N÷@NCÊA0+°(Aóüpˆ`ÆåÃob"üÎï®Vz·@® þ–¿;7}Ës—G."Z6ËݳƒQ ©^NÊÌo¿ -P¨p+¡ã…7ÔSuakä–AàVÖó`ˆÈUÎßÊøsrvû¿›œ}+apÿÅ2Ìvö0æH\Íû ?.Ò•+=ÎÁ’g×8ÌöÞ­V¼xåy,©ÛÄPºôï¾{@ù>£HÂ7_­¯U6žVYl¿mu.”YƸý©Ô¶æ¾Ììrþûp”»ƒ¨yÓÝâÔGÜ–Á¤šÔ%ÓûÇ,Êdïµê÷˜’S•#´3üÜlT3³2Y¯l-E('êÍŽÉÄÇöÈ_–±ÀOö—,¡ePºŠ „¢2­@Ê(HÍlŸÐ^”‘"bœ:ëgm|WPVâjói´J ö¶z1.íÚx=»É’ð¯ÒÉ%Ž?«ÚÝ mÊŒìæÅG{oú-EšwGí£˜4í9ÏlTÕ›AK¨NäíÍ “;¾ÒèíK:‚Pæ ƒ¿¿ù-Kú»óŽS=P³«1s]où‹Ëw𬺅̮5<â¿ePÔ‹¦ÎBó&œ03EgǬt&£…3Ñûš¡*×÷c­¬ÚN$Ë«5²”PmSrÉO¨ËžF¥•¯†«÷’­;d:øC´‹¼XŠ ‡‚t…¸Pêm¸uï„[WCLXÑRÖ‹šXQ"RÝ:!,Øæ‰°­ð´ËÕçg Êíìpržq$ž ‡ó hÕ^KjE'rº¢D‹2pG.Cm|×GcYô¾¸ ùs;#ïÐéËÙ¯’~SÉJµ‘¢Ž¯/¨;^äЯ}_Éÿ<žZÆlÁ8Ùmαn”ã õ–ê¢øå2‘‰+ù¦sãÅýÌ/‰„£CÕçå“úšQúSÏ…W¿ìQ¬|žõ"슽RD3qÐï-UHi~ýéùw»®Ëk·–ñˆûMD8Ìh %Iò_æ¹'¾RÆÈ@E7_ÎàèösFï»ö1ÅôX$#9~²Š©™óå'xá è²ÖëÓ©Êã5ÿ^}G ˜‰jÓXë‰`ÝyXô!Oú(c-¿ÑÚUÝúÚ¶òèx[sqÒ4P¦Dð.sÖéÝc‡a5qRúFü•þ:)¡G?\ŠÍH¤h[ho4¢a®¯*p@Z ¸äñ…g³{¤7ÿ¦}cÖØ@™‡}ìFlF)µå¾G ä“Vè®WÉ@—tÇ‹¨FÔõ¸¬ƒ«ÃQ¦ø9ÃeC§všß—¨–eµýo‡.É2¦bE·LZʰµÏÐÓí¬‚"ˆl/z°”VïA+K·MÚ0­@ŽNX åï±¹/À+¡æ´Ìòâwù¹ÆE{×”WÙát‚êbŒ®\#ÓTÄö{pªì 2ú*¸Ê}Áü¥gúf8Ý‚umH—™J+êxÉœ©ŠüÖ’gqlPœÓ oV¡þ)ð8Û@ŠCÉmî‚æ^ÞHÍåË÷bƈûÊÍ\ Ú芩%s²­îà§#½_"”9ª¿W¾~ÑvqÞ´úŒ¼ó };›ÐÜÓz…‚+ê®MgóR—ƉÓq¯~_ÉÂXäÇ|¦6íy´§’+s‡Xû‚>w‚yˆÏèIÿ}ã'˲ã3¸OËÄ:‹+„.-Zõr©qmèÝʺAÔ³vØfÁ8—,e7h™Uâð˜;”‹3B‘Ê+÷즻ȄãÊ„xÉŒÅ!ËBn-§¼bgzè´agŸ2~ÿH{÷±¾·KK«Í|}Ê&;w©¸7$öRCnv%Ø”‹p0›ñ5囕æžn¯g¢B$?>IsL1ˆM?•Y%×çÀ‚[>½ôóT_2Çà´ Ì4mC6)½J9[僸äìŽÖ÷ÝWÝXÉU[–÷ÚàÊ—èCÐù´V{±ÂS)h$W· ¿{KõG©ÆÃïš>µö:&=­I&éµ–‚HýCßsE™#[e~D¥C‹k>õmeÂQÐÆWÓ¤áS«wŠq,ÙuæF23–;9O‚øXKV8JKÔ1ÝûÃ4Vçb·µO /bª/¯Ž7e1 uø®õwXe¯BE—øÇÜp˱E‡vh¥ÝR_HíˆZÿ$úzPuòZ-_Œm.èâJ¿|ºz¡>°H|bÇp^¯õä:/6¥Ç_¸»B™c.CeŽuÉ3b'?MÔr"îÔôÞ¯Î-õ®À- ²hRõC³FÑ5Ÿåüƒ¼Õ¥m.8HfäN.Õ`'‡üõÔ:øŽÿËs¿O•-™õ§ÅÚ“¯'E!J 6æNW ˆàñ7O!¹‰wº‹¡üöOù¼nÿjHøôznìdÇÂ(yïßµ>­*Ãb7Så4Té£ÁëèBže3홎̖7ÞMÝ{¥ÛåXE%b‹YâG8j¤­z%Ë–¶×º4W³öǼU»íQ¡ðš¾äÜ{:úuÙIYƺà=Ήî,ÕT&!ÌÌ äy[TÆ›kÂ@§‡æ“ÏÆ ËŸyùw—â×da\¢¯Œ%‰Ô+àêÚí ] *z’¯˜°%« ª¶¤íRwT4‡Rž%¦…žðo€_S›öwÃXAñMŽèÍMÙ óÄ™”¦Â >ÞÄÆôuÎiï2cóäIߪ£( y{ÛûâüjÚ¾fžÎ…æ+C¿½6˜×Éy‹¯“+,­dèßýX’'‡À¤HÂq<à ýÒ«/5·ì Å7™½ú×,úížk‹‚Al?äM¼@¥ë%éßRº.Ù;wvs©صN‰g> endobj 162 0 obj << /Length1 903 /Length2 2776 /Length3 0 /Length 3388 /Filter /FlateDecode >> stream xÚ­RgXSi·fFŠTé"xé5!t^R¤#EBrB)B Ò±H±`AAzU¤I“. H.Eš‚ RnÔ;ãwýþÞçü9kíµ×»Þ½_1ak[9=Ñ4&Èryˆ``a£ @ä™ÄÄ H ‚Œ% dP€¨«C½/ª@T4”Ô5 &1À€èK!a½0d@Ò@ê»HÐÃ$,A,d ˆ§z 8À–ˆÄ‚dŠ< ‡Ã6ß;üÐ$‚(y&@a‘dÀô˜¾çÐD@õ' ðý§’ü©¡IjH)€E$à( D3)X©gÔ$ÿ¡~77Àá,øïöÔýWÇâ(ÿ['â}È ° ¢@áw©#ø3šˆÂà¯ÂÉ©Gð€âO ëoŒ QÖX2 8ðP¿‡ ŽíGCg'™ÛüQ²F` d;Šï¿¦ßµ?0ä¦Î†„ \å!T!õûçÏí·£ŒH" K >eA"!(LÔwAEÊ@(ÀP`0Só*Ȉdj @I€&’˜¾/SEPÐûNý@T …ŸCù—QÐØ@ð¥ÄÒ/BP ` ¿0u@ø˜šDÁ  ¿•¡Þï_ Èø=ŠT&ˆøËS PI?‰ÿžµ¾>18Tª ÈA© ¨*+†ý!2€D äϘº±0KÝ/ƒH¦‘!"R3ÆûVUÜ“p£¬×ùIÓê{U'Y–7¾­;=|ƒ—Óiî'=Qæ´[ÎÉ:ÿ×üÉ =ÿ+/.œí1^‹ôKº=x0è1ŸòLÀi3Ý‚2ç+ò5z™­¶jàËŠ2­Õ›‰®'©ÎÙ­÷×Û–YKÚ-п¦ir ¬hº£¢êdœŽ³-W¶a¿í÷ä,~<ˆ=5ùÏñ¾èpïx†™± â‹€c»Y S\·j:k3öpÍ‹EÐMزÇAØ <­ôé¡~b&sâÀ¾ÿLŠëò+k¡oã¥#!ã¯LŠ&ônt]EÀοöÝWlù0¬—0nd"•y¶|[°èÂ¥(5ý¨ý!vé«(Gï]¾“ÙQe.ÈÖô\U§¸án9hXçOm¤]ŠWßôòˆ{)äšn~ô³Õi1‡ËŠ…;lGÇŸj"Íž{;“X³ÉÉ*}l”‚l?ŒíöÙ‹Ä##áÃ_ˆMqWÏk«OúåÉn|‘õÙ¸Ÿ¸ÞWKlëgz+ÚÈ §/P=ôõ CJR§Û»„)-’JR³Ê ÙBJ¿~þй|ÇSQn¡Ó;¬d"ô¼ÇDÚ2+'p¸‚N±âx~Ü‹§ùõ\ßfáž¿uŸ­}9<ŒÉ5 žãR„Ÿ¢0ŠM ¾m)Æðó¦Nƈi~n=Ùb\÷3ìîJ¾ƪ±kïã}Ëxÿ1­æö$›-Ñ^ÁŒN¥1ñÜŠ_—æŸÀÍN…Úh·o& ¡ÎÇâä 9âön¡6,_§e¸"áÐÇ÷u§0'».f™ý¡Ýuç2ãÒÞØ‘‡ŸtÙ`5ƒÝx Ûá#/5ÚØ{Gç3 \ r=a\_H†œ®–-÷`<ÏírWvvÎ5øu¦ âóâÚ+[ ÕÈ~#,BtÂ;§”Þ&‰I;ç|äyžgTÒpSÁ0 Â}FèÆx¶iµ6,\5_8Z’œÂâ]}Aä߈–žoU£8ÛÃI^Æç¥±| ‚>´§P"Y¥ÌæQb>—rgì¼Åî #2ÕâÂOП6oJM7ë¸>4Ékìg‹ý†dg $¡¦m"Ìg“9¥A¶´úÄõU²Æ»ËMÛU«¯:EM'}Š;N<æÞ†ù| qôý¤¢Ç‡¼ït±»oÏÂô²Ot‡„-‹Ô³ÙºØlƒ¹Æ\×O³ÞZVV³ðô{ÕçÎóþÑQg‡Žp˜Á°ôÀÜ/Aɨ t4 qÑѼJþy)!Mæ>&iJ¿¯gÒÁì–¾¦ èøôÁÑ9uŽÛf×µöä¯ÖmMqb`n{˜Þ”uÆûù[oD}‹›B¤Ëtêùû¯ÀfÇx¦^Ç„ödÎÙOr4ঠ?¢[ÜÎù8p}?öý€ÇYVåò)ü’ùÚ¢ÎhÁ¤—¯Q~2稕'v%â’¶+…Œ( ´õ¥AÅèÁ¾!Û‰«ïGÓ,F:]øt¦/œï¶›»Í\àö9·•‰Ýô†çèzÕq=v×gý´.¨Ê™Ñ‹/ÖRaRÕ÷ŸÔOä&ÇB±ívU”œëÐï–뉅ï{”)ý¼OkØëíÍ WUc»ÛLáÝÕοමXß—Æv²˜N3Èb}éÃxïCfCëß9hŸlÐ9>Ó½oÉ:…V<+OKDú¹ÓRˆt¤ÁÊíÕLþÕá½í¡Ž# QÎ;p6•SÊöÌ\î}ËKÑ|¹Õ[©‡YG,.åR«ÚÚu<ýKŽ]x“ ÞÕ³Ùµ\‹¾#.“æ1 ÷WWÙ>ÜåÄ\ßaZ¨¨wi?=òÜ_,;(.®4NÈ뜕ø’ËÐѽáWr³õU]ž’•¬¹ç­ƒ'—2œò¯Öªgò´š¿w!—~âed”Oõ‰â®©6ˆuÚe¬;¸y!õ[F·r§…šÝ¦âk‘—Òèc‡h½Í íõÒ÷"É߈ªË~y¦ ÌœGM¾„ŽÈYdóu~¶z¬Z3gÉÏêŽpôã"¤ú‹¹']¼²–‘;°TêëÀ†`5âg£ŽÓÂZÒ;ç¾±Ž>ÔÀ5¼}}ü}#Øë®¿sƒ ÊõÒÖMR¬™v–a¾Iu“…°À+­ÑWÙ…’,Û¡“¢R‹Ž_J­â|×á5fáÃý@p³§K»Õ¦\}ÏL¿èä DnVnlܵ0qó|u?‡èý‚}„òÝNñôݵ҉KU÷XmIq5h±þ¼£Nç’Ë&,‹­|SµÂ¸ÎÜÜ‚ß7¢a¬‰ˆL>p×±£E”x|<'Û>lÂŒ¼Wyañ%¶ûÀlŒîêßÁ¦ZK%ÞÎDÙe¹¸c&[½¦÷NÿšM‹²¾Oç´¢™˜¨WÐÊ£)-]bÆá ú£Öl™üŽb©‡!{}x¢u˜zC‡[νÙù¸c¶g"7t‹þüª`¶pæÕ—âsߘäï–:ñô—Ç_opø|\Ϙ‰u)oÛØJMsxÑ›8iz_nÊ£¿´Kpœù¨ôiçjâÚ•×¼ A°¼J6G8ûÁEù²¹‰ÚvÒà÷OªM9¶‚¶—^ÂN¸!K··sxÂî„q¥¸ÃZˆìvú³7lä^ô dݨíY·_ÝÛ. ‰Ìªˆµýc2,3Ý’ÕVˆüe¬’&–I[7±åj ÑFÊn¾±yŒ Brèú`$Èø¹žóñ)/È5:>­²¾¶2•–c#Y¨É˜ÐÝgÅY›û©eíƒMoÞ’Íá´JÙÁÇ¥½ëÛžuÑ•VÆWÚ[cö¬OgüCœ…¯yä}ßêk2/áœ(ì6Ë• gë»èĹØ,âkþèè˜æ endstream endobj 163 0 obj << /Type /FontDescriptor /FontName /VDRGYX+CMR7 /Flags 4 /FontBBox [-27 -250 1122 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet (/A/eight/five/four/nine/one/seven/six/three/two/zero) /FontFile 162 0 R >> endobj 164 0 obj << /Length1 1178 /Length2 5547 /Length3 0 /Length 6264 /Filter /FlateDecode >> stream xÚ­–gX“˶€AФJ“f@zºtAz$Ô„ÐDEšôÞ¥ƒ €tÞ«t¤Jb£H¹ÙûÜsäîó÷>ߟïµfÍ›™5ÏV]ˆ€" e WE!=@‚ i ²–¾$( ààPÆÀ¡N(¤ Ô. II€Šž@a H\ZTJ,à*£Ð¾'G ·2Ï_I@EW8ÆÉŠjA=á®ØvP‚²s‚{ø  þ_3Üúpw8Æ €@@˜“Ðîà„ý壎´G%þ5 óDÿ;äǸc¥€ÜXI V†B"|0¸=@H…] Ž5ùÿúgqUOBêúWyìýWêê„ðýß8ÊíéǵP08ùÏTcø¿Ô´à0'O×FÕ= ';E¤þד»ª“¦ëäaç´‡"ÜáѰJ`·ío!##-C=¾¿Oóï.Ô éaà‹þOÑ¿rÿfÐÆî ÆÉh.,(, Â&bŸ¿Yþc©H;Ì ‰m°8ŠÁ@}ؾÀè:!ap Üë+$ˆDy`§±[´Ga¦¸PHù¯¡¿IR (dðž–ôI…lÿPÈî?$†g‡ruý“  Á®!(¿†"@!û?(Š%ĵ(–®!¶ºãŸµÀXòE;‘×2°cN×+îr ±æ×«cÕ]ÿ +z­ö¡®!Výgmq,aûuí—°v˜kˆUqÿ3k⎀º;^KÀÖð¸†Ø Ïkˆuõº†XWï?ˆ½òB>×ëêû7þwû))¡|üD¥€"`á¿¶T(ø?‰vž éñ÷ÍÆ6ñ¿ÙÞ Ûòp¸Ü07²“ qN®}QòäAÞX)/®’C]ŒvuÛD Iðl,.¢pà‘ïR•ÉYYÚm²M‚Í»ÞçŒîáÍþzêÏÜbR¦.7½l6Ó70š|KÓòÝ@³ï’7ÕNþØãêŒ/ –$˜æwgöìæêr«lÝ\`Åi7÷zßž".a¢š†0 }^Å)ʪO‘âVòR,tÑ›"!q4ø‰s(Q=ßüªÙ“ê,('þÒâ˜&šÒ®ù®¨þ*/µþ–ü^q~(yåUWß[…t Ü$øD¤? œuûÅÛÌÇ ¬?ÒáÜ{™ÞQtoPæ\£°í¾C½t[’¿d”4ê7ü°ìëE¬I^ËE).Œ-ú‡"í=ºSªÿY’× ÞjF‹ “´/Ĉ_õÊU%ÚÝHã·)ý´ýÔBâX …Qóò…3’¥•ê¿«pÞð¦f°ªX®Ñ²ÎÖ–VK:õAå köŒÔ\ŒÄèYe.ç}wFdDuP’–3Ñ-¦ü¯FY%" Škæã‚>;Ð}~¨/U³ÕmŽñ½I]^æ¥S‡uVtÕà*(µ<“_ÎX‚ ͘‡«°ï„ú%ROÝ¥Œ'aNn÷¡í3g¼HO–¾Ã(:$#EOSN}4øœÀ»7‰£ír cföE Úiû6w4Dz!Z⺡ßÐòáYÄžß ”Poù/ÕVuA}¼;ßÔË,C*RIDÅ4¤Ü~F]œÌNæÔË™ 9iK3ÃܾÓ@9Ÿ“gŠê®Üé׉°ª¾á`ANR~¥=a á¯3Fœäf=ì+¶1|(’ÐaâR¼½§T=ܵÏÍAP*ä¢RÜ—(Pá7 x4ž-7æüeƒ|d~S‹‰æžÖ]8éVÇŒ­Í¡CGÁâ ׋ïº$DÍÔ¼7¦×7Ú”H¨µ*-÷Ôã¾#yš\ óºÒ¶‹oš+Î`dà>œ_ÁÅ¿Z)65k+te¯ãz>q >/ÌyE§ã‰£¨‹WËÓ[/ü@ý!–¦¡r%mÖzÏåÆÈ%×I`H)<ë#—â‰ÕQ8®äœœl'“áÍЙŠ*I x 1HNáµÝ÷òšàBÛ9ØqÛ¥–^àVÙš·7÷;ÝruÏBÖ7Þ#Qú±_áO­òL>†ôÊ©½üê?)}Æð­?W)Õ›/Êà“5 1 w˜•áÈ0=?aµ_8Ñ9ÎûplÄ”¸ÆÒ@&<{ß(æcLzd Q~)aŠH<ÎÇ£~EÑú7 Ù .³SŒåÞ[r)N/×A}dòŸí}jóLU—Ž)Ò³¡£OSº'ƒë ë&!…Ç\àrØqjÕ’©Õå윭îpêØõÆÛMÄKË&ùšÀ6ó„ŒÙÍ‘,°Ò°cŠÝ'c© LË"T  :+°1µ5ÃVóê¢}<÷HB¥ó+ƒñèî îEÊÜ8ùr ºÐå!h¿»NJÐõí‹>ί¹ÄÌô» „–.¹ô¸ŽÐß ²ïØØb å ""„ŒCÙºƒ„6ðt™Ÿý®×ë}œš—©±1Ì™,<æ2V¶¾Àgïßã4Áë¹³Üóê<ÿ•ŽøI ÛXæô£«»®ûÅ@}ØÕXS¸´ùØiû+ÅŸ `§åü‹¢°”sêØ„ä„-¨4´-GB7ÈvöU·aÌ™&|´0/*;G]S½ É ÜpóÞ²å6¥³|ƒÜ!ã(‹ÀÜ„ðÅÂîÙ•_ÓÔ`àcž£ö–Lµƒæ…ægã 'ëm!Ž”¶”^¥_Í<’e+*•Æ-nde¶lîÕßbÙ”±`Ã{H¬ø´ÊÁyà±Ø‹ñŒ‘x¦²±¯’R~Ú!¢‘úýCæâ WõPOñ仢ÐÖà {YÀŽ¡¡ôj«h‡5¼sÖBÓfû¼JîÉî:‹qz¢¦\úäXs1ÙëÙ^YvùÜcñà5U‹{9æwõ‚˜w/:eª-Ìò·úä߸–{<úq¥µÎØEÏŸì–™²æûÊÐÊξ‚4°s5&™kã[ðk›Ž ù­@‹ÓüJæoE…÷‰,2&>š¬¼A}_Û¤µñ!¨¹¼@«GÏ9°Ùžß°ëáqÜ8°Õ ŸËw×þhùbI"i:.-+§ï›oÉMã‰NUŸ-“_~Òlÿ¶.ú­ác›ú9zOÈùýÓ&bxì2¿â¥Ytë﵇ŠeÁ4 {_×ÉãÖ¢5Ò UýK‘zél€Ñ•Ô4ºwÖòÖ_’•-$¡eó©ý¹Äó†cCyíÕÊmK’\ù¤Ÿ´€‘ŒŠ¯¾jg|¢N*³\Ûê?Ì.%%"øf¯[9Ö¬%–dwœoqïÿþÀ”?ЩºÐÛzî1\¿Mä#èwÛˆãáú$üóP t}¼ž!ö©:{rcE{òðInäƒ3çyï*?–ÛAzÄÜ€ÛŒÎdQ¤ÒfáuVhOz‹–§OÔëÜW†Ÿ²Ö¢o?ËÄ~MDèÍgy²´Öolx1äÕ"î†w»åY£ä…(&ÊhÓM 𨠶Ùû‡92bÄùÜÕî‚=–æVmN„•W`ÃË[Þì ŸXBiãÀ\æNæü몜wøšC‚,¸üاçÝ~â^¹’CUÃÌÿ:H•›Ž§(X“õ <ÎG€[úð§qï¸a~OÔ‡Ša–É(ü @Ú“Áèó&’H9Ku‘ì–E–LhíûEì¢@ÛÏ\ÏåI¶‘Îó\VÇŽNýªKpÙM:ðyhœðgع)K£]oUUY_äüýQËÃàdÛvᛨôye§t6ѵüå˜3$ošBî‰;d 7†˜ðéó Ã4Éj µ »¹…Ÿ¥–y\§ñw·ò—ÙnŒ:nïØú=6²¶÷öõûÓ$wovYIÓ͵  ÖŽ©ketˆ¯†3…8¿æÜ3ÅãìmÞ‡ôÉöµøÈ\0^‚Qi.i¨àæ=ß~d†ºñàµoóÑQyG‰Í!:a{ˆëWô(Ôâl×%×c¯ØjJ~œó6¿õlî£äÄ$b¬fÏH’}Væö[l×/W9ÙëÑ3|F™SÀìʬÞ±ísÆ\»‚ûûù.¹óP…Ó=^Ù.ñ{ܦó¡Ç›ŠþJQCþÌ—äûS'éOC¸ÃË‚(®©È ¹Rn+¢EDXürm…¬¿¤•Hqumo ü½\ˆ%ü)wo :¦7*±‡…²W§ï‚AƒÎÎÓÑwNåfM<šþLND=_–ëÒæÓvY¹û/ÃÄÊQR>Š ˜ãtÆê·J_¶Þ§W½ùbí3ª¾Gø1šqO×e€PeJŽ‚(Î½× l|YlJþÇMÿw7Ÿ¥òßë] ÏøîÓfë¢ó+ÈüHT¼ª2Ž×{KeÃÎxMø[“¨£fUðp¢‡ÙˆIn8„xêýüþ5Í·˜½ÜÝ,m3òËÉ´ª’ë5è†Êu'/FÄp~ÞíŠaC³¾ê#Vþéøb{á¤ð,lŸC©çKOYø(uôÌ-ïnÂ{"¶v$76ÏZ|D—£ ]Õăî2ñ 9ooTÿF7KMC#?wÉÆVzÉ¥à)×2Øô‡“o»@sŽ1B7³Ä:بùŽ´7Ù²Ö0w¿8¯PÃeQö#ÂÐ1£äáp'Íù—¥£“{šµ®,S½Ûp¦$NÒt5«¤túo\¢S½I>º^z²‹;Á•àçÚØJ ¾לÑ4˜÷ŸÝÙï{þb‹"ÄDZP²ÑG¢Kap\kh*Y–ÿ.–NÏg ˆÊàô¢;²£/=‘°ÏØ¢×ã–4¯W?$~8úÃßÇIÓVƒÎái ©¥8pÓ=b¾ÒÆ àjí2‰"§œ¶~´ÍǾâ3Èct5¦š’<¢âF–ô ó ¥t0ÏyP<r„Hß‘ýyn&bC”jìøžã0f¿Æ¾(Ÿ´*YÁðÞ"q ˜µê‰ïãDM¥ív>[ãÞ¼a%ô1gFïNMgا>Ä•é«@¨7y™Üp«]]òÅ[æ+CŸ›É©@.-û|·~Áš}¯ÌÙŵÕãÑtö#¿‹…ûá|ÚËöç’ÎÌÕ±‹£/‹´Ì\¾¦,§üNíáßls“RYAeª&“øn÷²29Vû6=¤>7m›|zZÎÑXÖ¯%Ÿùµ—\ÇEoÐCFß5=iüõ ‹%Ä¥ê՜؋˖÷¡‘®1gp¨§pËFÑk-íH±ùËo–E¤™³¹ßZÜUýŸ}ŒèÒà#èkh ™NÎÌœy‹ào葟°úáeç¤-îOEÒçt'îûVï ¯9Cec‡\§³ŠC ííHŸRÏâ%Œ”ß_Ï3)u÷œòF,áóIµøUÛÄUÚ9¿q”ò²­XÑäÉüªï¦ÝU-7”©š$Úþµc¨Am Ñc:"EszÆÚ?ãœy7?`OšëeS” Ò×ÊL0S¾þlˆ{-É*bö0Læ“&mJͺœ†NCõóøt¨‡&oî«L¾jrSí8f"¾†ûÂi”]¢BϬ » !—¡”¡Yãp?þãnöÓ=£#×j.œe(ͽ8*‰½}„â—úÑ™cæïºÔtL7åõh)ü•Y§ü¨Va–>HJœ¥0ãÿN°¥l:¸/_XGn±BV—ìîŸiEÔ/פXÖ¢¾þ~Æ/—hÑa€:ÃõÕÙÂÊ×HyÖNzZ9Áþ JÇ&c’]nèf¤ÀGcê e}]hCù¨8LÑ», r Ź“Z¿¿v˜÷aw´ ‹ÖJõP´Qw·ÉœDç#³2N†“«IN@ÕDïƒ>é;wÜÔ•:sjáA/1…AÐ&…­³ÒWµ4z‰{ër!›„[ŽŸ,$èåì¹Øj\»%S÷{Ù€Ÿóz„ïØ;á%ûÜm-ÈÓ¬f9Ùò›(/ùÛ)¨´ç7ä¨R‚ºÞ·ÅÈ„.—‰¬¶ZjKÆ´Ý똈υÔ/žËvC#>”FØìfgšhlUdñöpÓëÁ÷s×&YË 8WýÔÛød®§jndei“Óì¹ßÇy{DÖžF'‹ž  +§¬ÈŠ~~cÌéûýù¥ Ñ|ûé“q4ÛK$¿G³³tYÀå Qç‘ZŒ¬²npŸðnê{¯l €ÞަD‰«Ö°ü5¹xÓßLäb©¹I#¯ÚÂì_ÏG´ýçëaMɼù€1î`œí‡¯ RñÄQ‡Ktn²tðïÇ}†]åEÿe'á endstream endobj 165 0 obj << /Type /FontDescriptor /FontName /VVMUQT+CMR9 /Flags 4 /FontBBox [-39 -250 1036 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet (/C/T/a/b/c/comma/d/e/f/fl/g/h/hyphen/i/k/l/m/n/o/p/period/r/s/slash/t/u/v/w/x/y) /FontFile 164 0 R >> endobj 166 0 obj << /Length1 1134 /Length2 4007 /Length3 0 /Length 4691 /Filter /FlateDecode >> stream xÚ­–gTSk·…A¤7•*n@„ !¡…b;Té ½(-  „ЛôÞé Ò{¯" UPÞ¤åFÏ÷¹çþ½#ò¼kî5gÖ»öáåÒÒË °–HE,–äÔut„¡€°”’—W‡´À£°y GbÿAÜï=cEýûF7þs£¿‹Z( ^×ÍþŸ¶¿Ô¿YøæƒC¹&P!(T˜ $|þûíá¿Ì0p,…!¬„8 °Àá,Ü( »A qÀC@aHWéJH Â`ñ„GÂP¼+,Žò×…Â`Dö×Ñß$@þ! arï”jˆ Ôü‡$ ÊûH €èþC„{‡Xü!Ibù‡]àÿ0 @gÐyEˆõ$¸ØœAq‚:ƒô$ÙýAÂe@0g`„=ƒ"Äþ |Î Áw ¾Žg0%ü$üx§?Hxm!®gàëv ¾î¿ñÿ,ÖÕ À"âPÂܤ q)¯ÿ¥ƒ;ápH þ÷»JXÊÿ²аÂH¤+Nùi ¿`û¬"(Ï[áU>™±¬ueŒFiÓ`=•ÿX,1:û½ªƒÀd‰áÑë$&Ú²…«.'ìŽauž÷{7|b‡.8›/$¹W³~ORw›·çÞ÷_¥«­ÚY'Öü8Ù÷Ä(³ýÅfÇêK-~yÝEòÏ\DÍ&ÎeÍÉ0 CÅ$´^p`ÉuQ.múD‡¼±à/.ôOâH¿ôù{Û_¨º1±…­sbF=Ü Ï,ù áÔ-‰ˆÕ«Z‡[_bæ *|Õ/[5–A›$:?uSëQÕò.s]müTïÄîÎå÷Ío¤1Vqµ¾à š%­Ë–'EºÖ…Œ•ääRníéÅÌ{¦O*±¹‹->.¾K zÉÂþ¯$Õ*Å!Æñƒ°Arî-pÝËžŽ²º–ÈóEc•¿¬iSG×0=ò›™v£#*¹ÌÙâÞ ¹WIɺ¯>åI*¾Îq±~×.CŽÁ§a_*úÙêS#òux‡›w »â ëëâñú—¥—{µè"ºç»[lÅd½n©SËñÑóÇû6~b×Üá”EßY“µ°{¡©9K˜ÁԉΛr¾èÖw^ç·MíèRüœ‘mÿv|ï|åŒXß·A•ìKm‘ü¸ôàmŠ˜w¦ˆ›íáffF1ë Ž40ÖÆ°Ç¾yV»ÍÅúL„]Ms¨½w–LÆìyN!&j}á«~lÅ¥>ž"ívÚ_©z›SY…ÁŒ_¦/,„ïµþ…CìØó0³¿Žoÿ”NïDÙÍMD6,©>v:‘´"±¬ŸÂ>›DT™¨‚\÷²R¾ºgT <Ô®6´HffX‡KÙµ5qÖ’¡T·sÌ2 ¡µF (ý~¿hýCÌ4aLlH”eÍ>˜ìÂÛ¨žÖ4çx Ï-̬μV*¯ÀjkñƒSÎú·N›/íêNõ¥ì ¡ŒDiª™–Ìj¬÷X˜Ëù D•¸L—ÇD²+aT„{Oxœ¿¼tÄ1W+:˜ÃùJD"†§:ËR›:T(útRšÉ©6¾½¹.År§>lPe<ÄÖ[mù•ÁëZbP§ÇX‚°8ò$º²“sâkiD›m¾¦Á<÷)ÎpÐÑžQ(]¡§»F¶®j5»ÑH:ýù&ËÓPHŸs,ý³EÕLâf°ÆÁƒ~Q”BO×Nxt©i¶Î¥B˜£êÕÔI¼Y£‰Z<+¾0rÈÜ&á©/8SU9SïœÆÑ¥"n¦Æ°-oÊKÖ)‚/¼ ÍDzõb ¹•N´*–Þ‘ßXÔá1Ï,6-á^é©§gIª£á*Ñ'G>Y4ûôÄ‚¸—_ðæú&O9¼÷õ)c¡Ê$pî™p8º¨'.mxRNsl¸ÁðÞç&Ô1©;'—ÚøcÿJŠ_Ó=:mÅ:œ{ç4‰«!OïÝj!#Ú}óU[ø®“ÒòaàíŒg\5È«…^¯-JÈoû(<Äà?ðlÄË”¯~ç¶jŒù`_}åDÁpîìœW«wsäu öµä-HK º }W óö¨]{ºò3‘ ãt’ÇÈ®¿¡«ÑÓÔÐIʾyƒœ=øþxû|#÷¹Û•æ°À̓JFN‰±©Ð¹Í¸¤¥¤Ú™WøuV£éN»º€ùÃ"»™â«?ÒBóÑ —Éë÷tVÍ~ÐDGúÉrf’¼J§Ô/í-jâm1Ñß7ÿ”âLסgÎ"5{ýtÏÙ0ýHGËíº2WXÝì[FÅ8“ftÍæÌ¬ß½ks‡–Po¹×rÙÅÛž£çs›õkƒ»³'[äÄ&½XOP©MŠNiÙ@ùËá§}Õ¶döTý’ʶ$oßò•ø ¯sñ£ÂMÚã :¿¸¨¨KVîû¶‡ÏöµP´v¦ ²ó¹ŸÝö­žµÑP“æ©“LÐ-ÊŠ7®0Lôc4=>IQ}•‘ݘÎϚ…¸ ²’̯©÷íÄa!шâqÖDò›³ŠÈ°X§e…\zÃÖGy§$÷n-Ù–u3sÜÓ˜ù}ôPe4£ ¿AÚ©r¯þÔ+¨L ÿ°æJî€[☈©­£þ3Ïeû¨—U¡zר­¿ÞnµíïÞ³Oób=y_W,½$,I]‰ñ›÷1Vlü"êÕˆÈbdÈÇpYn$¨ÓÔ^¤²¾½Koê°Rñ>|ÓFfËM %‹ãàå÷ˆ’gâßD¤ìjÖ¬»3¸ïßEÛÛÈ…óÖ& xP½‰J1,÷ŒˆÉìÈ.KH»Ñ]›;V4`)>ÁsëzÓÈr_»ÇÞ_«NôÉyÃåeÚ9ž‹sDO¢ˆÎ…8Æ µö}ômÿ¾ÙX¬Ô RGV‚¦)³wf§Š¢Oæƒ+Ÿ1ÿµDjg3Ÿ8£ -l9–ر-œ$Rl ÁFà–K¨Ý˜Êçp’oƒ[ÍÒZ”Ρ´a@ÐÊ=$·åúï„h½£ZW3Ñ ]ñyµdF§þ!¨ ©bl]îAÚ#‰-ÏPÿ Ìðª(7Üý´˜q™.Wq×ê‰ÛoÓ¢¿0 K¡Ó?Eä7šME‡·°|Îá Œå£NOö7•.8 ÖyqœÙzâ=tt,'Ƕ²sD2ŸrUŠZï±ÏUw{h8k …`RLñYzWG*ç{ÙN êºLÕ [ój%«2 *hŒ‹v‹$½šžµUñ„—÷¦¥-ø[|<þ XÝÄ‹MÁ_.úÛ€ÉÛ'žAwFyo:cU—±° ùÔΊ\±Îq½`‘Ãx·"m›šRŽ¥à£VúUr¾­/$Õ ƺΙ¬ïmSÙh†V(5¦´Ø%ãÁV;Jf^Ê+ô‚œ(ÿø¬Ÿ•7‡Átn(wù×(8—… 8vÝi_Šê‚‰$]ãº<¼Ls1¼™ðŸ–Ç@è›P“#é—[1¾‡K•ý‚3Pb7Á:wúfŒ4ê1¸G„~²jˆqÞÆÜ/·¼ïη”Õlæ-Ú®‹™6£o9K´²m%WäG/†ÝnXWϘ¤ê aË %†´¦‹È™”á§)™ÔÑÛ®LÂé'ïè‰Cß¼·ùPö-}îT_ŸYͪÄÇNFûÝtì±U€-X™·¢7²ÒL5w´§M*T”s×Îþ:ÔÛ@<ª0ÚvՊǹÜOê%…Ý`Ô½1dÝ–È‹À¶a¶¨ô'–¿Z+Ô¡Øåk¦ýó³GñõQö´Ïªz>ÁM™3ÍèCìÕ,ßU¤Jw62 }Ï¡”ŸÎRŸV£ÙT›Er7]½‘ €º”Ú ‰‰çõìƒÝŠq~ïx7Üá|cÅ/ÚY}º÷öƵ"£¬ð˜ ]ï§Î(>ÔÀ¨ù÷© }VzV(#‘'VupîŽHÒùö©Ûgfj.6Á»¦v·s±&n{É nÒaUm—|Ò‡–@éô^Ìk¸»>¤*…÷ž«W|ö¸65¸ ªüÑó6ð¿ð.Ì!±tæ惀ýÛ¯ 3qñtCüáJ%ð=¥°¸Ð¶>ØœÇ*ýj%iŽ ·tü΀hуƒÔ(Ð@  S߾󲘿ÐzZ±b¯(~ú@åÍ‘%'Ä¢øVÙÖæÍÝýáɧ™Ÿ:îÍez¤v“«IéµïP9•¹»,x3ä…‹ÊñÕç¿r0oºKÊöeu6œ[[”wW¾†Þs.õñpkî8øgÐÇÛ‡ðŸ6J!ÒSZ‘ô2ñ’ì?¥¥3mwÔ±Ü~)ÀEwæÚ%½žìW'Å•cBCž{ºÎ”>~’`Ýg‚zã¦'W'.}”µï ávoeûžïðN5•¨êÖɦÒüaK—žÒÎíŠ ÑÚlyìâŠÃ: d²ÒÝq'¡ž¹ÓÓø@Á,ªŸh sª…ßz#d¢õá†1)Úì×'ý9óåÊR›æ,¦)]ê³k›ßéTPCºïŒSGºTµÝ ÕÅ9o$BÖA¿%ñêUÃè〆%Òã–ÌÕÌe5Ç`f:ˆÁÏ[™'Wý­"'n+j´].¹™Ër’ª<¹åØMÚqÊ•µfÖ»EGFUSë,Ï…¯­ W’ÿöT> endstream endobj 167 0 obj << /Type /FontDescriptor /FontName /UZFVQY+CMSS10 /Flags 4 /FontBBox [-61 -250 999 759] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 78 /XHeight 444 /CharSet (/B/E/G/L/O/Q/T/a/b/c/d/e/g/h/i/l/m/n/o/p/q/r/s/t/u/x/y/z) /FontFile 166 0 R >> endobj 168 0 obj << /Length1 842 /Length2 1828 /Length3 0 /Length 2402 /Filter /FlateDecode >> stream xÚ­’{<”ùÇ)’‰vHSk£G.±53ã>j\fEã:DBcæ͘™‡1˜q«~îŠÙLa5$‘Rn!É­UD¨Ü©Ür©HKjë7´mûkÿý½žž÷9Ÿï9Ÿ×9G]ÅÁ‰§B> bs‘ư :;c J¦®nÁÉ\:Ķ$sAccd„ðA¾€Ž6€10ÖÕ5ÆÁÔ ÈŸÏ¡ûášZ+"Ï9t ™ ÉÜ# KTƒBfÎ…rù(ÏdN+/'0äƒT ƒ¨t ð}élzÅÑ>6  ¾„©Aþ_SÁ 'Pd ЙÔD©›É¨ †¶ƒD½@‘“ÿ‡©ï‹‚˜L;2k¥üê”þ•'³èLþ_ ˆåÄ9¢‚ö÷ÒàsDJb}ŸÝÇ%3é<Û— Ú_Bô@Rè\Ê€Ff‚«qMýÞ„hp«Ð®ÖĶ»þÚèjÒLgsI|ÿ¿Ë®¨WóEóáÐy€‡6J[#о¯žß5³bS *-: ¬>@æpÈ|˜è6D„Â0MyÈ9F£ØWô % AØÊBE[A“WB_È@ûüMQG4øe™ßPt.h訠ýÿúšû uDbþ*þ{Vææ/ ‰5:XmÀH×0ÀFüŽÄá€lîêŠþ•itÑz@R`½O ŠI4ã×òØ‚H+aÇÉŸÅÍ}+RìnÖuÝÞÕsZœyé¾mÀÏC7Ü– ›6ŽKŽoùøS`bM¸cáõñ€”s?„ÞúÉm^@äùïXŒšþ¡º¼{a+nß9ô  Í=·)óMótŽƒ¦%iBj@Eì®GpéÝóÑúnÓ%.憆®Šü\@A¼^Ü`<íŒÄ`{T$#n}å®þ9¨&H~Y¸þ·ÔOÞR^¿åÀ޳”!Tó©@玘ŒI´Ñþòñ\BWÈ–öÄ÷9øž,³»»ª„Œ¸>˜Ã-ÖäÑNWO¿Ò^›eNÕ‚¶8zrؤl:6«-ÙI‰{õ=W}wjã²F!»UW€*´l¹\-³KŸÖô6Õ/¯ÇEk¼" ›ýÏw:9|¯+ÇMR3•®¥ ÑišØ-«Ü-~_ÃÇOb vº”Äó¯ ];z¡'“_ó”©ÙpùüÂÖÝ•¶Õ™}yxËhשW “áÖñŽT½u5zh;6Ç=’Q£ÖEâ>Œ¦nùX3il3_1fyçæ¹J^ì¡ö”ø~Çõ#rgͧ%Á®K.*ä¤ÃIÙT‡;áÎëfç;ˆh¯Wµ7Lž ½A s=½Àc‡"{ [_¦e¿-¼vÿ”%·P$[i]•èéØú¤Ç«¼¶@@:v×[ñ2jGº”íJú¯“¾nêŒuFz#7%ÔkËè½ù ÁÃ;Ú`úY#R„>˜ºÁ;djíFRD36öüXŠ“¿t‹âôŽÝâx$/ݳ³4¡´q»<¸IvîcgS¦4÷Ù~„²÷"š/%6b‘¢Ó¡&i^±&ßI‚ŽßvDº>Ì8›7Ó‰ýrxõLsCgWâ­ K÷éD¼t¤ZÄèÙª%ã£Ûüwß2þYÁöÄÁ1F.îATäÕE—þ˜Êä7ø"û âDíú/›¢_O¿ñ‡Åp·̉‚ët17$5Knš_^u›+¶gUz© štÓ?{ÞØšmÐå> kJ¥„¶Zê*”ä˜Ö X Ï&0'ìôØ‘i½VHÏG­»NùÀ'^#\µü8êßĦ;ŸPzãwΡêÌC™;…ëhP­ƒô»¦Um"ü‡ð– GÎ]#ù€hÅm&EŠájåŸéxÙ?ƒòÉjÞ±N÷nÕ(\’Tn`¥çíÌZ05¯ÒŠ@,VV—÷¾=é1Á…G­^ºöw~ùx)WsAmíd¾u-OqÄG¿¶xöÇöWÓÂHÔ€¾ŒEÆ3cpÜÌÀ¥¸íaçÚkò{6¨›» xD ŠL±–Á¹$¥u¤dòÞÌGÛ ÛB—3j®¿<Ë‚L´¶xL^#–”»ÚëG”™HÌ/ö#ÂŽ&#]ž™ <ÛÉ9M¸ìæh°rFQv9-ºŒP¾ _(M‡TÅñÔmÄKÝRJkkŒ×Õ$ÀWÔ=n6Ôh0×10)Õ—^ýñCQ%V©.6̶p÷¾òÌ2ÕaÆÛC ¿Ø9!­9‘gäþ)èV¥BÍâF/²dn oó …sr¯Kg÷-M\:¸þÝ=Å8'¿‹jºÀ‰þoë˜Àô5jòö†&V¯ã’\Ö±å"®´ïÌŒS¬æ?—”ø¼ûéæÇÜìûsêrΆ$Ô±awᇮŸO¾½(Å/»·u›Õ²ÑîþE­wðÚ·KU‡[M2_n³QÌc*¸ŒÈ¯úE˜ Q_áÑýy]$#d*´1äýz+ÉønF¿|´\é¸{—†ùÁn+Æ4Õ-Lõáiö»yRfðDßöbÓfIT#Ù* (d¿ÖçQ«ºáæ“åN^ñù^!§Î“Ô¶ L@ÿ‘ƒp„©^éQ½CBwï’Ï/dŽ&’_ÜÝÒÕéÎf¹6H@õõ”çBß\LÇc[Gþë_Ã÷îiµ^f»¶ä‰é|Ó·sv®Ñbó¼¢Q>;®·{žÔã@Ëz^4ËŸ=ùˆëƒ¤¨VZ¿‹S±®Í:}¾ZAª¯‹`å"H™­çñÜÝU1îòÝž#׺9³Ó %ïý-öJµªÀ“•NØÈ´ÁKÍ/áBBËiûîg´îÕÁGy¯¹GQ‘USvK–~î1åiÒóâ‚Éíw¦&då” óÌæžœ1ˆõ¶it{[òD\óûÒdÀƒ‘²ÄSoEtßö­íé~e30FVöód8Û´Ç'Áý"dguåb>𡏍®_8°§B¶"£{ÿÒ3§‡ endstream endobj 169 0 obj << /Type /FontDescriptor /FontName /CVHMWK+CMSS17 /Flags 4 /FontBBox [-58 -250 939 758] /Ascent 694 /CapHeight 694 /Descent -195 /ItalicAngle 0 /StemV 76 /XHeight 430 /CharSet (/a/b/e/l/o/p/t/y) /FontFile 168 0 R >> endobj 170 0 obj << /Length1 810 /Length2 1729 /Length3 0 /Length 2281 /Filter /FlateDecode >> stream xÚ­Ry<ÔýF¤HHT·ð#†ˆ™± Óf,ccWÒ˜ùá§1Ã,eËÞ$Löµ‘BJÈRÉš$ I(·T *e§;t{ß÷öþ{?ß¾Ï9Ï9çù<ç(ÊÙØ©aˆK!ÓÕêH4`heg§ ÕBŠŠ†TO‡(d#<DH==$€ax‰Bkj¡5´„CŠ“ yyÓeÃ}k$€ñ©O¬ðtoЗۃ€'vÒ™ê†Dpk4Ò@jHTB""D  D‚¯ 2#{RÔÏ0‘á÷+Ri\Q€2Wä>€+‘H!“˜ô‚[S¸³@®’ÿ‡¨ß›c$’5Þw­ýšIÿHã}!ó¿НƒR+ ¤’§:?µYDˆáû{ÖŒŽ'A Ù‹ˆŸ!ˆ†…‚@¢ D'xžx \ƒdâï"¸¾­K€[»˜aLTîs=gƒ‡Èt{¦ßŸ]×ÈëùæºC…‚€cuÉ%r߯ŸÛo³ŒÉ "sB[ÀS©x¦÷2¸H8 2 À ®`¸:™Bç–\OBO UhmÜÀñk¡ŸH€þDHîD8ø7¨ À½þ¹¥§þ‚H î·ÿi†%è´šŽ& ¦¡ÍU‡Ð@(DÈÿ *$Ó×ké/ì q‚A Ah B8å“VSjÌî.Pá5ðª¹h]Ùø¬^8òe/©¨ÃÂ_e¸Ây±4Sbë˜À˜làònZü½3¶]Øéÿ‹é/VÇNŽe×ívþšiÅ|ï'?9!z·úù7Ž6ïÑÞáÇÅ,—Â9ŸÛ& l”ì?¾–ãi:PÕ”¥ƒrÆf’ÎEWÀ4åpbéþűZç†ÅXÉüCO#C}ÎmªUüB¹ÇضÈÞ”Ÿ²z|N2QœPÿd<6A°JoðùǪG=éºÛØmP_µÁVÇ'ÑÌÙ¨¹#ß°Ú(ŒwªÛ%A¨`¨–^Ó?‡Ë[²·”j•å/…¨›ÑIͼÎ9øk«˜@¾QžeØ;šKmD7üL•Ê1¹~…yøôÔƒI—ÙÖØK8Dz?BÇ.Øžp ™äæïô&a°+õÆç½ža»ä·æ§u”|z÷éE¯t޶CYвó(ÚîhHñ×Ïrs°/&[q;²|4âq8üi9ZÀ“ðzÔ°3þZ„8Û“Ëñ?é£s¡eZºv1iÇ š<Пùëý¸«}ÃG˜<*]E70SQw¥¦*)¾-H†¥?H_-Ỿ’ÖõGY„xŠ'á)0{ç«¡­xs}ÙüÏ…Ñeæ&ƒ´•ÊÞ Öv÷¥Î:ÖŠºw§RÇ6«px@On¦räUË“ìÊÑ ¤d½ñY/-¿¡–0µ {t|¼£ôMÍ C‰(ƒ ?C „ÿêÙ3œŒ'ÔÙ¹$é3Cáë´Ê¶ÝŽy(V›.‰ê²ju­Ër’%Oww€1Fw_‹‹r»ª{^|DtæY¹m†EssÝW£Ïè/ÖMyœèaÙ£?8í2bQóåZšû …Ðþ“¹±–MÀQuç%Ù¿!¥fv©ûDÞÈAv`ÈÎÕ”Âmó‚»7håÄ& ⌄«Œ“ŸìŒ‹¯È}#æÜÓצÚ8È~³'&a¿·ÌÿÒ׋q‡Â Õ§ìÒ¤wŒéËû*n`,Bß¯Ü w=0ã]F‚gíªd_¶ÝþÄlÐ~ê >K­"mlƒˆ”‚œŠB@‚À—~Qš|·Írøá+üªIó³RNõ‚‡!¶Èžv%zãKbº¿ítêN…„k eA,'’1Ú/¾;ïáióEbû¡)mâ@b­"'{oOk‹­#_gà-‰ç…áRÒ!êíÏ®Öhb  ›±í°Ú•Ó÷7 …ãÅ–6V$Ï$¿Êȶ•:òÐÉVøÎ¡êLZË7ó¶¦3èázw#÷ÏΩ¨:¸—1MÍ"ÓžJýøî|¬úñõo¹ã^{ÃN1'³fé±#î0»ªÈ¬VŽÄÌÝáê¼vf*¦ù»9ßJAqGiÕT7K²Ä°ùˆOÖæÚáj:p <÷ͲÒÜóýlò÷¥=1 «óÆî-BfüÝÛyÕ¨#óÓÕI’=EâÃåhGZ¨q˳Ús“ÊDß/#> endobj 172 0 obj << /Length1 833 /Length2 1873 /Length3 0 /Length 2434 /Filter /FlateDecode >> stream xÚ­’y<Ô{ÇëÊ6Ê–,S7¿²$5fÆ5Ö« “²&3²»ÆÌcÆÌ˜{’Ë$tK %YG˜\û2–ä1Š$nH$$‘(d­Džán=õïóúýóûœóùžó~sÔöØaah"Í 4§QY0¤Ò0³ÁbM©…€¨©™1@<‹D£bð,Ð@ t  -ÈëêüdˆÐ…¨f4z(ƒäãË4Ìö¯›ô´?È ðTÀÏòý5x €¥H +T @S(€ýú &`2AFHÔ‚ ‘‘D`^ ‰ ¯3YP½i€ÞŸab ýïTÈ`   ä~@€H¤Q)¡ô†Àmi‚^ €äÿõmqó@ Åï¿^þ¯9}çÀû“(¡yhþô@ÈlhDAýÖêþ‰gJ£|×È‚…§hª†HLsRH´#±¾€7žÂ7â •ø-‚`pp++ [+Üvº‘¶Ã“¨,\(ýŸÂëþ üW &Ä …®-)0 ¾¿ÿÜ¿iw„J ITÁQ t<ƒ…®C P@8 Q‰`†˜áZTKð %ð¦1 ë+ìŽ_m($ÀI_I}NùW"YæWR€³þ•ÚHú•Ôàaòûù˜šÒBÂazH¦Ð" =}DÄÿ HemŸ`Êko’`'  ÏžÒF1~תÎrOá<¾-¼Ÿ¹+%/æÑ]vEŠ‘ÖÛ!#Ù' Þ8p÷œ [ÆT üLâ:Qe,âžQgž|ó"±mùÝQ‡öìÖ·‹Û¿^yhïçR5 p³ÅÇ‹JFw¹)Š9 ÉÉOnVáÙ_6 ×€ÝÜÓ æ7ÿ*öU;“mÓ+S•~ø3n«Tšt´Wkëå.çŽs¯FFs²AH¥#³’Ü3+rëŠ ‘J±¦ÚCnsÒ|µïúYÉ™Hù¥äWÑÚ‡¥:– ± FôUÂÝñ¾s¸*·w~ÏŸWª>!\9§géÆºç?· E´T)%Mi7|Ž9a‹±*›¿«°dÖU·Rv5’'ÛT….IÍP=ûjyá¸þÄ'¨ Nì˜r¡Q‚§>ô>ü5«C…?²tŽyKä2C®IFLV­ÆºÔf¥-Kw¯Uv£³ƒ+åNE í, }ÆRŸÉ Œˆðd“uoòÏÒŸy³ùƒœ(B1$É'ü–%Ñ”p,/£w‰ì[Dn>¾º 7¸27YWLž’š=æpßxjÕ•‰AÔõhnjÔzÈÝ{cϾñ3¯A~ÞO£ ‰-»î ðÆ!5Oîõn¾™\SV¼–h·ø³Æë¡/„Ý:P{YXîâù¦3Añ(öÆ« /À™óÇ£fÝ-bÍ¥Éf ˜x^ÔÛsz 'ßÛQÒeEãžñªËÎЭ} Yö çÃXÛ eJ˜#†¼ŽçÞi%ã’:à sj—<)ur\ÍèO¾¡îï]Úõýb Õu|”ÊÁ×NkQÏ¢´ò–V‘kXÉÜ[ÞGø ½ãK`æÀîÞ “Gxt…ñ‰Ý“úäéK¹ûÌ**gËLÍx¯lÕ¯ht—…Õ™©‰¬Ñˢ˧üa¡£Ýgâ§M³áƼò€»±q&Â'Ô+íÄÎu¿HmŒAèÍV[ìž–šè|4‹_•Y^B“fcˆúfôp÷O{?¸¯H ™ÈÇVú;`•½ªòMÓ—7G7ê§M’¶ëÞ)ôm’] ¬-µJiÄ ˜y7™$ÒOVGŽ+’Í1´L•Qt¬Ó¶f „¯Ò"¡»‹ jnk*{t,¦KºZîØ3£ØxP8@Å}[UyOøgGrºVï­"_Ï@æ`¬L¡óÑçì2uŒ)A—Ï®ñBK0 éÊÅ+À¨`Ëxtìµ½3G}k JåæŽ¹Úß|‰ŒLC”‰)Þ—êyרã-O †·Žéal~Èä+tÏN%)&{älùÑœí}ö>þJ–¦ûÞëÛ:{ÙUO:bñúQéþÔa g“ÊjZé崥듭=}Oë?ˆ ÊêÕ‹·êTG\ÑY¨^ðD­½QiÑ—þ°íöMÝ2 §MžBf«ëâcÒ@„*JqÍYíÓ¡‡øüŸ yé¦t]£(åI‹kS¹÷Ù1¸ìÎb8Û<ÃÐÐ=lxÉCò]zƒã‰ì;•@‡q¬ÍÅÉf“ï9M61Wö—ôÍj×—.gï:,iû~ÙK‰CRRÈ}Ú¥Ïsa/}ßñ‹Z-rZg#_¿_žÊ5ÏÏ”¸év)tXœ´&ßSrÚ¦b>ñQ·5æQÞ¹I`ûÌÔ©Žœ¢[ŒÃB¦Ýï•ÙjÓÆÕ~¦Ó{Vª:í•í_di€¨üÌi\’ëDõ¢Nç–6 Ù #Y§Ñ¢ …K~½; cy5Kœ Õƒœ¼%TØjgÆû³;©EaXc:V1R°ÓJx×ζ¿ªpMÁÒöWÎNÙÃlþAe‡Â‡]N«:Q&ãìOÑ{X»{zA&†­8м¶HËté™°ïe^›eª£X~²©Ø/Œr-›V%^r~šŠúD|Søè`]ƒø}¾Xý¥Õ—Á¿{lÖmhϯGíÝ÷¥¿ßÅÆBõ¼GSÓ†‚ŠÔ×µ-¨s³Êœ¯5ê™-õË9H[ؼt·ˆÞžÚsé•=ë#ýH'GüÚ+[™/Ïfÿ³²D endstream endobj 173 0 obj << /Type /FontDescriptor /FontName /KKINKT+CMSSBX10 /Flags 4 /FontBBox [-71 -250 1099 780] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 136 /XHeight 458 /CharSet (/a/i/l/s/t/y/z) /FontFile 172 0 R >> endobj 174 0 obj << /Length1 970 /Length2 1763 /Length3 0 /Length 2411 /Filter /FlateDecode >> stream xÚ­“yà 1a6 3ëÈ–íÈßÓŒ €Ÿ(âòS€6bR@,28lV(À€|P*9 Bœü?LýYÜ&ˆÅ¢‚þ³åçºô/úìÐ Ž@ââ²ÿ”nƒ¾›£@ 8ÈÿOjËY0Ìf² 3ÔÇâ ß̳ÃæÓ}Ńæò›ñ§¤}sF0n[œÈÛõ~Ìu:€0›ïØ_ê¹÷+FºÄ…€;V‹Å!BäùùæùÇaÖl:‡³™€Á¹\0…l€0³€ˆcŒ>›ÃG>ÖD>.jv¬8¬!€ÙLo.Hß ñYVðƒþɾô'4Ä!ŒËå„0¼Y¿<þù=Ãoû+T÷F¦ ýCC0P` ² 6²J?óÈaÌÙûqŒlÎÿÀ° ï÷,ù'6Äœ»><Èó#ÿ’…G†60ÐÆFHÓp8#€H$Dü&¤q¹›?wQÿŒ}`d= HÑQ­-ºIŒßÑ’ýùBë¬Æó 1Òµ—ÞµJVm/ž€4Â)ÇÕLþ¹þ̮⤥ÝMÊ[è&iŠÜ"•Dj‚×ÈYŋŢ39Û“£·ôŸÓ”B£EGMë­ë·­ t=–±¯ké·;=~ÍúÖ‘5‘µ²§};²nŽ¿j‘Y¢ëtHWC•Øš'Ù.¶\)´ýícõ¡²È£÷LéÚ¶Ú:(ñlDëš|Ìd¼GÀ±”§OpS“žc/¹úI_Wˆ2ãÛbû„[8XÍÏwh9‚Q‘pEسºI¥æ¸÷‰™£áöÒ¨[jwÛkbîuaFmº©¶uem7ÞwRµVzd)û ?¿°·L¥Þ¯Çåj.v¦OR5[ø%ÜQšªf5ðw`n…鸋Rb„¾]É1·ç*jdZ*–áÍŸ´Zœ8-M} !2 )óMzQz3hø ¥qÓ¹î(ÿy²*'Ã=KQ‰ö Í´Dbõ›WîŽ[ï( ÜYòºNÌG®­L’a3‘øÜÑöˆY¡3cìÔ‚é Þy[c#v€@]Ùw,>4êÀ”ÜE:ì“li¨k@hú°òabÑ^@ãu¶Á̤ħ¯«Z½–¤¶à»‚&àš8| °‹µˆܘŸã6Ø&Pw!8šMI‘"©oÒó„~3Þ~¡.wŠŽ€¼õU#”ÐÇmÂäͦ-VË^\Šßpðxõ¶{eÒ­+dû5à”sª…ùJ3ÙÏ'I¾Ž6Šö1úw{_ú&ç)î,Ù|;»pÕDÁúã›F¯zôßT¿QØÖ_‘¬hlëy¸^Oꯡ®…|“ âEϳ݉ KwÉ6䫌Pîì7¶go JAîãàeæu¼UÃ`Y$½«xÿ…žED‘÷^ã9_m¼«m{tÛ>]'­g%ësr&iT/HÖ"—xº"­àÃg€$ïKî´$©:µÞ• ;(+#òãieû3ìA^G©y¬«kùLA«š×«`‰%w_myÓáôy‹åÇ*;–1C¶&]>wQ›¸˜e"õžgç}»å6öÒÙ.ûìÝSInça÷[/ë!]+8êvÒ|OË’>5¬˜J4¶c$ûT¬H©ÚKöE"þ¯Ë£‹-=Šb_Ðê\½°¹’ô$(7§&{±¡Î~ßøÃÖe“YÕV®êÝh·áTì}ƒ¦zŒ\ ¸;;îb`äê[µÎ›nâ î¤ÈµM[5ÜKU1Ü\UoVCÆÔ¥é õ^¸çCŠõžO¢½$ †‡Ç• žŠ;0…׫Z{õŒ}²B´v£È×zsÔƒ•‡Kq¢»9”Mí_ «” —ÖÛc”m›ôW¼Ò±ûROÜh–Éë"–Û56ЬY~ú³ô—8ÖÀ‚áSm_uÏrDv-ÉWduÌçé ¸ºßþÒžÉÂ`εøò·Óû:ÍW¨.9-ð»ë 5OÛoÛ sªáó¥;N‡)›{^%^v$zü½Óº==˦¼\=Ê-Q‰ûÎêe`¯¼‰G:ììûØ­RZfžgÔÅìäz©búOL×H¨ì?™;4È‹î›lœ*¿Žl®ÔN2ºÝè½Ü’²@]i3¯Ië#uGàeâăè>­×Õ¥ŽÌ¹k«>i;M|ÜÈÿV‘íü¢« %¶k´â?MýIŒ¯ÍvÍׄòIÑícha_Õ ™£+|'Äi¨¡üN×Qñ§9qÖyG—†XGÈ­Û])ìQIÚpä'Ä•/ 8˘c—'ë^jqIt.É²Ó ù⯽Þ1”‡2ÓqüâPAU‡#“dh–5ØÓp9.g"þXCj‰æFŠ”²æÚå¶1žë¼ô–ÞPtl½ ?vÍE›š~rÆŸY¾V]µ‘¥õÁM9aÌTÇ ¼)y1·ÛÊ=Ÿ®š¾¼áÙ—ð±ÁöÔýÙ;£çßÂökz°¦ö+ï ‰[güݰ¡0yìê³ë2•Í‘¹ËŠÉHŠ¿_K–_ ªD‹µßL“P&k¯·ÚâgWª0Ð’ªûŒ6yj:—&ì’.ºmûšÜÖ—OŽÛªEA¦›—Õ_;ÿÎü5§6¥g©±Iœõ5÷Œ˜‡©ÃU2VYŽé'àâ5=ÏïÚ¢y$Aí`ÔLZÌ ¸x–ýÉi—Òî"£…“ «½#§E˜î O˜ ÿð¸É¥èÒˆóF±¹‹™˜íƒ3W®œ¯7Ðá¿+úærm*½~^ѱ:MSËZqÞa9§ endstream endobj 175 0 obj << /Type /FontDescriptor /FontName /YLPRAX+CMSY10 /Flags 4 /FontBBox [-29 -960 1116 775] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 85 /XHeight 431 /CharSet (/angbracketleft/angbracketright/arrowdblright/arrowright/bar/bullet/equivalence/greaterequal/lessequal/negationslash) /FontFile 174 0 R >> endobj 176 0 obj << /Length1 809 /Length2 978 /Length3 0 /Length 1533 /Filter /FlateDecode >> stream xÚ­’{XLiÇ×%4äi+JŠ—·©™9ScTbKÅD5f*bÉiæéhæœéÌ)Mít‘[QºHÊb…V6É5”<)"‹R.ñPhh]ÛSñØÍ¿ûœÞßïû}ïçùþs‚Hbï&#B Söqs|$ANasLæ¢Fà(âä„·@ø€+pæñœyÌ!ÔZS„R`Êœ©=&pSA“¢8ðA©P¨¢gHQ%R RZ6pS*¸ç†ˆ¡’‘PÆf aR „@†38=@B\NA_[¡þ*EBRCC)4äT@#Ê\©2(gp| ú-H“üPý‡{E(•¾¨ªg|OHßɨ Sj¿•:‚‚$ð!dÄû[Á>6(Ã"TýU!…*1©®PB`8²¹ü>ÓxaQP&Â(i(£J ìíC\Ö…N¯„ãç ž¿ˆÕ·Õ^M„b8å¯UCÀýfî­‘o5‰E¥\6—‹ÐFúûzZÖï-O\JÈ0\xüé%ITËàÒ£x|>ˆA†Ë`€Q40‡}ÐÉ耜 =KE¸Ž€ƒâŠ•†AJ åTá‹Æÿ·Ö·Ð¯¢-ièˆ1M½ÌÐÞþ÷)¸»Q1ö\`ïÄŸÄq:ºÿ¥$ qª÷?£³üZË1:£ ”ÑØ@H]Ö¬Ìøc]Q¬çžÚÃw—=mzfqil6&ÓIø¹ '(¨‚g»[J67»ná-uÙnJ³Ñ7u¹>ßô`Ir޾śãùìÛsmbrºÑgÖägÂóá;rÖ¶Œu® [³’lìõ6q—GäÊÚÜ—ì9Ýu¿a¸É4ñÖi-…Cï m®½÷¤~üëÒ¸ŒK®Òöš; „"sWòäëòYÃCôèÛ‡ŒeòÈÚA:‡×¾œƒ¬ ÍLÕü}ž*Ôjϫ̪ØY;–Ï;í»áùn•Þ‚Êzéw5Ò4¾.¡Ì6²Ì³›»-ÌV÷)n7¸0VTå0á’USÓÖèœUÝfÕÞÖªx>Ql>®>U ¶ c<ÚµZÕ§ÅëŒ*]_>&ËÿÂÙ©ó/‚7’ÔQafî qd™X©j”ÁB낸Î`\‹Õ°ý / ’ö5m9¹ëÅÉ£¹~CÖ‘8–C.š5Z-HÓùʘƒœXV×Kß8L³3Ýà[üKæž‚çF‚ÍÏŽ¿Ö©çï5Ö¤æ#\Vý©˜§ô.ò/}6¤©<Õ¯¸ÎÀds”'vo“þ ‹µŠ>ÒÜÁsУÙfJYõ© +üSóê?ëšýýÚ׋,%¿êžß¹_UåW¤1e›¥x[£œÑ¹z¸[Í­z•ý0¯éìôº½”_¾'‰|òéaúݪï¢ û¦½ú4ë+ÚsúÇ…ywËW´'°¼®•ÙOE—Ë÷,IO +š-TsãÑÝô¤ +þÌv;ïNtÖ°€—ÏWŽŠI~aÓa»nÖºQ~]— ï7眶Vï1ŒÒ䋵Ì6æ–ÖaU§\[Ÿ¡JÛ\EeÎê- ;£"T‚"ç6ª4ì$W[Ê M4îUƒså­š‰Û ÏI´»ÅýA9ýMš­Ë(Ð 3’sø¨I–áû ƒÑËMëc7q·­~óñæfvËÀ›#,ÄÖÌÖ¼ŠTïhö¾bã /×yl%;jî{ÖIæU6ù K"Þ/ÅNJMÚÀ¬Lx,#,wO{Œ9<µË¾µÿsù_á^ƒ߸Öqó¾-ôšõ±ÂÕáKeÂýn&¿'f…&­ŸÂRœwtºúA/:‘,´øIçê endstream endobj 177 0 obj << /Type /FontDescriptor /FontName /OJURKW+CMSY9 /Flags 4 /FontBBox [-30 -958 1146 777] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 87 /XHeight 431 /CharSet (/angbracketleft/angbracketright/asteriskmath) /FontFile 176 0 R >> endobj 178 0 obj << /Length1 1018 /Length2 5071 /Length3 0 /Length 5723 /Filter /FlateDecode >> stream xÚ­•gXSÛ¶†¤ºt H( !DéM@ªÒ[ ”Cè¢H/‚ Ò‘ÞDz/R¤÷*½JR”ËvŸswŸ¿÷YëÇ|Çs~ßsÎgñpjé É"±V(%,/C¥€òzªPa ,,,àá‘Ç¡,ñh,FÁ’B%%E€J(«ËÁå+%&.ðå±N8´-È'ú«H(ëˆÂ¡– †%Þåx¹ÂÒ¨‹E Qx0PÖÁ¨ó× g Ê…sE!Á(ˆD#ð@+” €üåIcJüFº8ý;åŠÂ9_šòý¶ ^šDb1@$ÊÑÄ^ª¡.½üØúçâJ.š–Ž-ÿ»Sÿ•·tD;xü«ëèä‚Gá€X$ ‡ùgécÔßæ4PH´‹ã?³ªxK4Bc〠AïüG;+¡ÝQH-4a ´¶tpFýŽ£0È:¹ìßoy--m=ymí烙%ƒ×ópB…ÿSý›¡ÿáË&áÐî@cáË.C/ /ŸLÿ!¦ˆA`‘hŒ PDLh‰ÃYz.Ñ%‰½ @4‰r¢Ü/CÀ,þr ð²3Þ@k,ð×¾^n Äò¯Ðß$ „ þ— ÂÂ@ò„!¨?P±þï!¶ ‚þï!à¥ãð²9Ìx)„ý/…œþÀK!Üx)äüŠ!ø?ðòû\þÀK]·ÿ È¥®ûx©ëñÿ{Cåä°î^BPqQ ˆ˜ð_.Ä’â’Þÿ§á‚á0øß·æò\ü›­Ñ—G …rG!cXÌß.¶"ðý3ÅŒ‚«ì×CÝÜ£  µCçÓÄl=øAZ‹Í³TÈ>m÷Ò…|¡m§¤¥%è’n#6LÌ;RÚš©ß…¬Np,;U lOÞ:œsm þ¨¾•HgÙ ½ú~|ìçþ3ûç½óäqÈ[_c¦)µêѨGks‘ݧ›ÊØ ìDV“IÂ!ݯ –æ™!ûiÊxɰ ¢Ñxøù5a»õB/šhÏ1a,©rQT¶JÍ îtÓŠÿ¢I)‘“ó¤…†ÝnÈŽ˜Nâ禸?ÇýçMŸp5³noGÖ©®ˆññ3]%Ã%Mä´Þá×ñ[6Èá}­s ÇV‹Ô)MÕu$gy‘4˜ÏûÁo˜ n×¢MGÞ¥#†™Ö*]{ªÂY¾×É£·NO¾d,ÔØç“ÑyE=›L¨øÔ© èÑÆ 5·Æ§¬ÚýS ÔʮӯUÔè xŽÜOó½ Øª{–«þb×&{É ß6R>:fƦ)$ O1Çqz«§Ä4ÚDãKàd/(1 Ç bAÑ"z§z“…+T#nAÞ,uC å®EßÈ^<ùy…Üb&ýøX¯Žt£³Ñ…Õ[@Dñ]ü]ËÊÖ¢‰—rü´ }ÇXÍsª®ï!¸{[ºK6á΢¡ÛÂ_Þg%a“™’Ù™-1?,DÞû\û¶Àí彃-;î…Ä]˜9dGCoËóÇ<{8Â6c1¶LGœ`pªÙŽr/ʘƒèïlؼV¨ÿÆó8d[ófïÂ7ùïSÑútà™~ÉB~öæ/ä·qE¦ÙÔð&£Fö·ZâÛ£1.wµ»Å‚Aâggˆ,¿+ 0ÚVSß»&dpÒt°âº·7~Nìk˜‘ûmó|Ö­4 ZÚ2(¬‚áº#ùpi‰s\µw™}: ^Û® `±s_똮*Z•ó€y3Íé\{ÒÉQ¥’4»VÇ%-÷b¦ËÜ;—|´yÌŽ._uV›5¨›×^E·—¢HJ“¿ Ö%µ¸ÅyÝ™í…Îæ‚°$¯–¨c$¦µxùIÓS:°'kxa–™Pëu5¨%.Šäq‹–ò>Ëœžcàƒ´§F┩×,>· ÈmÝÂŒ{ Ùðe¿âƒG•êYÌý &æyž/mÒ˜@ Ë +­\¶rUðnÈ)q†#«á‘¥g¡3pëäe5ì)NáÞ ?pªC²t”üŽövBR~òX.ùýá¨Òž€å´X•n‰Df[a™ýöaÖŸ^¬2ÇM™ð¹ ÁqVî¾S`j#v¾cyÄjë}>æ üÆ®Bìô®tЋÓ".«z­€2ùT ‡I~ë¿®îNN¶P{˜z.ÛœºYŒ‰N.-ú¾p„Öqtso6áš™¡6WÑÞ8~d¢ÀûŠ(ú Õ9žz'ô ,w\¸ÄèÜ|Ôö1Ìਭ®0ƒùcᦠ³¦=Ê)ìì_ N :WI'ΰ?õùYeá¥ûÒH‰ª¹œ5dÙÒÇØÌ^23-“S„ÂNËA£ÙCÈýÎ Ï.0Z¦ë¶ÿ¨ì[î’ÏE6K­Hè<=µ!¸ùÃØ×$¦À–QÏô›F/¦Å³[ì Ž^?Þ?¥Úc”Ùn¬>¾•5ª÷5'xR¿«óm:—ɼ‘ÔK—e yÄó‘å¡B¼(ñCŒ×!¹~µ,ê«I ä#sSäIåµ`ÿÝËk¨[V¢°þoØc£D¿ZZb¿(õF¬ÂÍ8e+orlnÇž»·§¤ÂëËÄC!B(IË>ˆoº·*Zæî`p¹feè¦påQÈ>S××Z65¹½¹ÂÁ•Zz:·kç ý8¤Ù7‚ì28ô-~Ãh¬2d÷¸ÈîžÊ «wâm­Rqi¼Â±ÿó©Y¥ÎGœöt Î'Ìè£JQã“É17N·¦ÂwŠmtª¬NŸB#± ›É¤Ú-‚È—Ý!D½\lð+;ÉÁcôŽ_ÕŸTßX¨EÙÞùÞ¸Ñ9Dâ#™N¹kÊ-•'ܹÍ~‘ªZ,縈†Ø÷ðŽkf”é"Zi7ᎄì…ñØ¥1Gç2öR±²àG» •J`rW¡Âr~ý5ˆKÜócóñ)ô 0þønrö³\‘ƒY¨Œ2&¶]Ùå »RöÖJÀY¢ÒÍ53+"¼Éw§ú ±Å„úÝtVHI¤¾›ëÌлà¬ÎGµÄ1 ¯»¶EÒÐ[ð>máŒÜ5â¸ÉÊJ²™ ÕvêU+¿:ò Od}Ïúæ0ïgÖÔúƒƒ ËÀÜ}Mñ»luÚüæ¢ÎHGõÜžª]þ,„¦(wÚ:×Ä âž`MhšTøLÝÃ”Š…Z„߯û„äÆ¿°œXL¤—§ƒÓ{X ßú‘>8D) ¶uEWH×Íï=øHU©VrÇYFDÐQïi<ç"Ãócâ¤M²Êó“Ë­x½µMçw·Ê²‹Šv§¨óѪî=xfæY•–£÷eªg_Ó'¬SYòÍfƒGWñ4›H©Þ[(½‘³™¬:/èšÝXºÚæ;ͪ£D¨õJ7õ3Kv®%û„h3‘?P‘¨”æ§¹Á ~¼J[ÖŠ«é†Æ/É‘õÑ!Gw•ßÐæ¨1µœ5ÆÉjMOiì˜ïtt´h:Õ¢tt òÓÒ­&â ?Ù{Ü?ûážã‹ºWÛ+¼ý#^ÿ«á"U8¸oçË|(fó›Oâã¬ÐÚª&‘î ›Q,ŽÊãëŒQTRZoáiqää:Ö:²”øiÏ „Z*ôózš:AZI_}E•ÆhdE&ÅJÞ²ªÒCZ`Îj î’ìGÔ0‚z˜Ã×Ì1) Û&’ù¤? s«×%“!š¶ºGY+ǃvN±Ú¬µãþ±AIÈ‹eCÀªÓ”¢§8ÝîžÜ§ÊÙ%¢î7o}¹óKâ+8©àÍç(ÁäYð [œ(Óû~e´o¨±jð¸Ì`pa^q󻇋"œCC{_‘Þ‡¬2D›MzõšY0ŸMÿàÓªožnì5fd³=büàÐH„‹Ÿe Jµëbî‹]èºÝc4ãÖvw)™QWÕ0ë³c%)¶Ò!†¡Î±¿oÓaÆnÍm:«•Pg >7æ"ùõ^4ŸsM¶ès!R-luD&'ÄgärnTKžÉ­N¾¦¾ÇÛÄ3 ë²câ¹Àqèy-‚{„(>Ø=q™D¼¬c3i“–®à:¨~–¨SÀ¦ì»÷s•~ÿ*£Ã–¨Š}dÊâãþX:„ ‚œP ÷ùºJ” a^ͳP×i˜¨n~ÇA¼Bý'?;àLåž0ßCïÃ9£— Ûë<.Ô/WqXÔr¸uO¯åÙ‡•±‚:Mâãã—Tb!<¢¹pžÒ´Ý²´d›DÌ[ÎúXrÌŠBa¤[ÈmYFE‹›ËgîN6œî¡%Õõ*óÖÃëŸ ŠZ؃®ëÍü¸ÀqþùiO3ÌÊ.¦æB² uÉ•í[N‹ÂÖ&ˆg5F¬WcchÍE׿ÌzD. +îçÈ„M8™Ëy=¬Js¯|G”4̦ÝMÌ û©£œ-GzkûËmð ï$¼Ïÿ*É|t[N­\Ñ;¤3²(È­½Oy.?µ{eïÔÃypÍËñáF T4N†î­ßï·×Sï;Æ•îo“l0ßçrªDy%Bâ… éùW(êtd^ß ÑדÖ%›mЩaéœ'âYI΄BÙÑ?ñ¢Ü^½ª´€Ñ»C:ÃCAâ™]‡‰³SGÍt]9îápËHœôdsÄÀX«\ÿ 9äÍ‚ îŠÕLN­VÒŒú)ƒá ]¸cubÕF[_DZ÷U–úÖ:5lLþßsÑÔÇjJ‘û+2ÍOM]õG ªIDc\ÇkÂF\$ ÆC#ñ«:¡»‹Cž—T0™fƒM$>PKç}5j¢½Ån3}'ï¢À—L6*Ñí!k).I¶Âw:6ªž©4Ï®Š¢· ŽŸïMñ t8S“Y™ñ‘‘˜÷p,v,Œ~NM° ÷û˜SÈ ‚¨$‹°Uö`ä‰ý£}±ôÞÊ~H·­ &KMÆÛ,z9 ú›€‚€„ZÓ•õoÃ,Êr‰=»À›Ô^OI'®ª±Ú²–ç}‚gg‡ëÆê…Žt9¼:(<ɉΗ=E(,ž ÿæüd=ACo õÓS”'V™¦[§‘ûœø\aT®,9Œ<=î²°*Žúe“žÎ[…_ö²lÜÒœ>ÒDO¿:Ìð™žFÞ<ûpÙ·Î?9£tÖ‹¶°íàÈí’U—žôã‚$9OÖäQæLg—Kh”¾Û ½UÿÔ°²ŽˆàµfÝK÷Û6Û¾|¶÷cÎôõß-õ]ÛP¬ }=RŠð#¡)ÌduNR²áŒ ¸yTT]h€­€š¥–3g lÏg°Ïâ„‹6O.òØŠåvkæÍ܉ ÊOåq[=ó_2ñ.·°¡Ú¬…j|Œ“«þ›¤t/­Æ•1bo£½o]÷Äy‚œæî<­?n¬»ÿõÖZgó︻[?ã6÷¾‰à¥¡×føfý¶šÔ^…æŠÚn?™a'vª@‡ÍÌõ?»¬uæ½®°SÎTu݆A8RkUš!µfèßFÄ&¡d2®D`:ÅÉ?Mu§”ÒŽƒ• oôu¥ê «¡ó ›)̸âcˆ½øÁÒ:“DøÕùQŸ0ž\(‘ûV§”½½ÐËn—Óø3øu’ÛGo;š•ŸùÇ$+¤L4–ßáÆMîI¹ï.zÒÑ$ä êsW?;RáOè+¬è·¢:¸¤I]Wæ-¬ · Û¿1]xC§Ñ•GRÚEnuΨ1d¡B µ¨ùr’ ­Ä^ùÜp¶ë­ÀƒãmZÚî(µ¶l]0~Xœà›ýÐÐ*ä|“êœ Tþ³Ÿ®ÿ›Âù™ÎZkÙ[lÍ*¿ Œ§åVÞ'p¿ÖR?yM¨¨{MoiU’Â5bU(X§þ!Ä(]Î_8Ewkã¡]\{ïFilTþ;ÎJ(çoƒžÅøGÇ×Í*ÒÙ <ç 9–Òçðf¯î˜—¸é”í–°œF&:ïµ… Ö¢bðuÃi«X-Õ©Q2žª¼ æ'xÚ¼ó#ñ"F²všj¥)é>‰GaÈ©‘ š¢¡ Î\Ãq©ÍçÓR‰ú—²‡í5}ñDm4`Žj鯲Ùõ9V˜D¹ï¾·úŽAÎ1¸! \wL(£ö$VëuöôŽ’&%LHÖú ¯ü¸4£–Z7õk"£û¡°ûlÇÕ­µÅÃu[]¤]éëäKD”B>íî‘|Å»*éÝÖ"®ö€–!—«¼ÎŒyè WÛ½ˆS–Y\1ØRï|2…¦7ž|kʨ²²ñ0†TÕ”ØË¤0sMÔæú™þ Øßæø¤mIgì£\[¶ Ò,ED±•b]—×¥Šd»é?AÓ™‹Y'}à‰C „­¸Êñ–J??_`”4se~£‘\C$äYœ5ÆÇO)}Åðc@ŸÂJb´ªËk2A8@]êà”IÁ6ð(øê†/Ófú”Øò½tlX„ —éIxj¸KM[nV õ+!T¦´+ƒá†ò{úػۜmö¶lql²œà ;‹X§>!Ç–§‹¬í'’B\ÂcôÝ9Ø0¶”ÄWü…Oö¢x :04“Ó Äó‰*PCŒ~žDän¹¨AlÅnÀ]‘c—7ª…zÛSôêâë*³LŸAg± 2M€¸‡Ÿ"j¯ . Z ÄÁÆa¬"êÀú5'ÁåÇÍ”7'=&‡š™ìÕKíŒ#Z©D{­ói{Œbó†ü€{D}g m¦tuùr¤«èóÂÏÐòþ1쾫¹£[ì§›7öiz3á†ß×’\á´íÑxÖ’Èå•_†LÂÿFÁË endstream endobj 179 0 obj << /Type /FontDescriptor /FontName /CPPQTC+CMTI10 /Flags 4 /FontBBox [-163 -250 1146 969] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 68 /XHeight 431 /CharSet (/a/c/d/e/f/h/i/l/m/n/o/p/r/s/t/u/w/x/y) /FontFile 178 0 R >> endobj 180 0 obj << /Length1 1644 /Length2 9601 /Length3 0 /Length 10538 /Filter /FlateDecode >> stream xÚ­weX›kÖ5)n¥¸·¢Á¥¸»» .EŠ îZŠwŠ»‡¢¥¸;-Å¿œ33§yÿ~Wò#k˺×^ÏÎ+tTjš¬âV ÄÑ•“S ©¬¥ÅÉàdãà@££“t™»!ŽRæn A§€@ÜÉÀÅ àääæ‚½Ñè’'o°­€Q’é¯">€¸ÈliîP6w³9À8,ÍíšK0ÈÍ› noÐø«Ã r¹x€¬ØÐ89V`K7€ÈìˆÆþ—&yGk€ï_a+w§ÿ¤<@.®0QÆ¿e2`"­ ŽöÞ+5» v¦åÿ‡¬ÿ%—q··W1wø‹þo§þOÞÜlïýï ˆƒ“»È  ±¹8þo©.è_â”AV`w‡ÿÍÊ»™Ûƒ-ÅmìAŽ…À®2`/•ØÍÒàæâú; r´ú_ 0çþVÀ.­¨¦¥dÀòï‡úwRÍìè¦åíôë_ÕcÎßf Ø `Èó—V{ýç“ñÿ&íh ±;Ú¸xxæ..æÞh°õ!€'ìhò€¼`‚ÙÙ!n°Ì?€5Äí¯'ÊË`ÿ+ô/Ä `—øøì’¿‘lžÀ.ÿñØUþAüvµßV©ùqص~#XŸÞ?¶ ìæÿ ,gîà[5s˜Ãÿ¨€õ›»ýnYüF\0dnùÆÕÞÜÕöŸ('L…‹¹%ÈdíöG˜çßá-é?$œÿ ¿¹ýW½ðŸøÿ4ÀŒ±üMË›Þê£ý–ÿrv‡-ý?cÂhaÏÇÞÜáØÖ@X‰Ío XÒæ¯k¶Ø¿K`¶ü11l4ðfì›? Ì´ßxazíA®®äaý¡¶¹ìŽ¿õ¨Ý,þºlÿ¨‚MùrÃ( Ž ?Ò0ÕN¿Ó0J'sã9ÌÍùïèûË [JØ€!¸Ê ³Äù·&ØiÎî·ÿy’œœ0Wþ0‰&ý19a¼¿‹y`‡»Ùº€~kæ‰tó„üѳÑý³ÑãáùÇvÁº½þ€0zï? ÌŽ·¿'„1½¹üë¨ÿ{—HH@¼|X¹¬\0óù€œ°/‡ß•Yº»Àlsûûž†ÝGÿÁÖ`Øåy,Ñç!–B!v©¡¥þÒ“eHÌð6Mq*u]3íèÁ ñðöÅ#ŠÎÌßjõnË3^`í íPzÞ“ºB?ûª‘9 tŽK›{Üñ0ÛÉxÛBªw‘¡ì½íD}|ˆÝÖ8{uį:ým´4I¿°ÿÃÙÀaž£”Öîó*¸nCúîÌ^>=™ {í°÷µô@* œ4çÒpî°UOœ¤ÄÕ‰`»0”f–åsÈgw¼Û”ÜÄGS¸KäÈ .‰ì…¦ ;‘° VbþU#)››Õ(c\]q';Efewzeäl«ãbÛõRçäºfkM·7ÜìýªóâÝA%Æç“®ºÇÏËe05¥›*”qÞ¸"| –{ÏÁõQúŠ0I4SõÄlP˜ÊPRûö‰\q<˜¢§ñ=aÊd8¨É0*ü½çUŪtâ…T·Ê–¯BMÂ/2øÏºxUÀ«Îƒx”'܉T|åù#§ü¾î­KƼCº-º; ‚.Æ1ž?)%Þø‰Øa„¬Z2h&!”í£¬±òçL1SíÓ½³ßÑ–&ɲåaUz¢Ú v`â–M+p,:¾,"wA»™þ^ÝPÜs1ûºY I÷úLÌçĽ(‚‚!¿íÝ«zsOã=Š›CaØQJ²Í-lè `™´|ƒx?†~‚Ù3ç`}æPKË/ÍH=zpözÿ D –Á±k‘ù]‹W·Ò2»‚ß]d¾*ÔéWþ[ìÈ]È϶7—/^—w¼¼,²¨«‚Ž1l,ßAY~ºÎ@Û<~_¥¦Î~iLÙ]äqUXZz‹oÑ;«0÷ºÀPw{²á]ްÅE½s?7ƒõò¦•CµÄ[€íûç®õb ·º¼{AÂgD_i¥Ë0Œ‰Ý(‹!Qfthc ÒŠ(©#ŠqYÁEÖ.ÉaÇŠ&Þë¡fª/MBϲos<Þ_üxæ?dà©V‡SQÖÅÛÊ‘hæ;±|ÔzåŒLåŠÇ1Á¸Ð2 ¤RZÏÜ]¤NRàwÏXAÎÍ ª‡.ù2 ùX6väËZÝ+OúW×:må„E¨ðÊ[ȵÆS¸ØÊ]ÖéÐ<ЇVž¼c™;û.5ÒŒ”êh«á\˜L»Í#«yLWTñ63Óä襑47§ÏD¢{¦˜ gÜK/š=Ö¤BléX *OÔBT5á¾>ŒîðÎ%ãã\Ù_R"̨¿MáÈ~6¹:°ÖüÔZIR§\öÀUæl ÏAò3VÌ÷¶ï)ªÊ=j€ÙTN6yy<Ó¯“‡•$awÊjo¤ž2îy›Ä íQ‰¢vŒû¸àãâ2ޤ\nJ,ÏMƒ÷+smçwðÉÄqõ‚ÂgÇÕ}ÅÍ;ßwnµhÑñÞ£mßj™“J/ ¿Õ«³„;.³¾à Çlt"G²,ð‰¡¦AìÙâ<5ý¥[{Ç.&´W(9LNꡇ^°¦‰ ¬Ï´‡2j‘þTäŒwŽ™Fƒ’±M‘h¾g³´.ÔçÂ&ÝIbD8ö4ªÚÄC~ÝaùòN˜…“‘äzbNÍkOPèXtÃ7Ëum5änèS~"ïº"3…ðÎÁ½¿~îf)äV=üâF$Ÿ•9Οì4Žr5‰§öÈöújmÎ;þ`är«Üöa‡A«²fÝÈøV1Sm"Ãý]n~¾¦pÕ=æü¢´ Ö°–4œ‰êÏO9{l ¡¶s}C>zN•#Ö½Œ/@' ì1>cUŶ»¾×wÀ¥œ1+òš÷~‡yŽzÜÙguõÚ;ÔÔM,œ2¶ÙçËW{ÂAköÜjñrÐ6‘—¢ @è=|žÇM˜vr4;-%†‰eE(…‰ÿU­uÂ.Ò@௽–ù³ü±MD× ÁôL8¼ÅY%“!bmbF¡jHËO¯D–Š–¨èÔN1êçOø˜tóÀWÔöÏ’‚ãÒxZ¢¡[¹özýɤ5²¨qÙ‡øÉ½»œæ¥¹»¶SMR±v+®9{ûù÷*{THó¶èC1—„u‰üñ2çů+WŒýºŒÓ#ù2ÝØ»Û…Þ2ymRâ~G,¾Š¦˜½pˆVI? F[bf-¥ªƒQE©ÆŠ¤‚ C 3Kk0eð¼wTYâ:CçÌ1veZZ2”2òÙe„!ðºÒRšX˜¾Ÿêr7²îÌȉ³XlFÑßVð©H¥Xäı›é]L‘š¾Y•DŠÕ,~Ñôù9ø%Êþ n edHL¹ë˜[—Ä#Õ‘#Z‹Êy·k*úK—¨ëRMn8¬Eò#êK‘í²ÄŠ :tÑu’@0ÕbMÏ_êŒVÎ. ¬Öèa*Ta/ªÄr¸tÚˆiT“ÎoϽo%m‰öBï­îrÕ¼ROÔ mç‚$¼”3ÞòŸÒepÏ<Ç»Þù±á/²|¯¨©XÕ0ñ‹]“JÅwV'¡Ÿç ë” ÀÈ"¯°—žj}eì:Fõ¾ß®’eVý¸68 úŒ“^ÔaS²·ôúJǨOÑØ“ÑŽÂçV¼Øîû·ÆUí:¤À=Ð § ’HNúûºÆzÙzŸf8¹¡êîÙ+gò›òÉ/ç”Z#p-†I4jR÷‚Õ–\E¢Ó%¿Lk",>‘y8z—œV« Õôl¹ì»ðh˜Î$˜Ò™#Nï÷ÇB¢°²y¼Z·×]…^ïgyZLºÑD“ܵÑ,H x:[JQÚ 6Š¿¯‚Ó ®‘7¶¬ÄŠÀÆ$*ÅæÈ’lyV¡.ÒÒ»ëqZ¡VŒÁñ2#ñyÊ*,í«™¦‡Þ˜ÒN¬@ÃŽv¸²‰‹íæp©r=”áÛl;’MÓù .Æð_äˆ>Ók•vmXâCÍ×ðm·—£†w%½Â*NÑ›rf︎)Îâå\båx½’\¸gù$X–¯dõEeΊÅdH¥Ùh,–}Ay´9ˆ'q¦ý!ŸÙà^kq=‹#Ú_-˜W r3õ)ü,öylÏXÎÆÂ¹^‡YŒA^ëZ8œö¾þÏÀ»¾Ïx¿BÃbÆ-3§3hp©mm|äüöS Ï+׫äR>LÇŠ»*Ž8#Öº1\¯[ Ä ÷ù½šêêÅá8DÆ=È8€÷AWB¹^6 {ªiùàþ¢¨ån}K®ÌßüM@x:Xõ.‡í¢x«A“”šÒ<ÓlŸ…¯Ü–3e2œ^ø_ÀÝ\_Ê€ÛkŽÕíÙ)Ú/¿Q=»áHMJøš™Ⴊ=¡"Æ¡¯M)(üˆ2 ¬s×1ôùU±¾ñ3VDM÷¤Hä†Lþâ%ÔMRZXK÷Ò 8&mX’l»PfT’„šòåšR,’mëñcm‡ãÇˆŠ¯‰‘tÄ4à>íµZÜó­òk¦ðU™<7ó’qx ¢-‹~M¡a_÷Zg´£<ËÕhþÞ:h„:)íg£kEgw°í D~X8¡j([”AÒvêF zJ§¡ŒZòa@k’M¾žOú.¾æ‰¼™‰/õ\jÒ‡d‰Õ[-e«ß_¨K®*ŒªÇÂBXˆèµYèw?tmÑI\ÁFâ„ÿø¥lö½°=@¢ñ;þ¯®IÎ}ÓÖ/Žkïo&Î;^¨ù(Ä–»”s"ÞÖ¶v²HZ!ÕkÑÝ k„R·®Ö”¬ \"¡+T°žV‡=œa©÷ …ØOÑ#°¶&H–­k'Ï[uð‡ :™ç]xä•¶Oñôbà4 ù¼mÚyf®!¦ÎÚŒi3:OªpZ3þ5YxÂñ{°?Óç!I™êkŒ7R$±Ô-×AÀ8œm·iM‹^tïäw’yÇxR•²û¬*lõà’w»^Ò ×ÑB²Ú¿†Ly¿Ebs.‹:l—¿ð?ÀfljNtvÌS|bÿjsê¾ìrнðåöà‚š;Œ¨ú‡Ò‚ä~ÁލÊbœÈèÂÞÙÃÚ:#û³{+nú@%«+„øÝö»(ÏÁ™à¡ëÆN=úÖ´„Çæˆ¸¶mÉ{jRW”Ôê×È©(ÚbSmΈEwà:N pBaìxå} *![L!å‰ÛFEÇŸtòw& ‚`giÎ"´â1¡3-#=j5ß“y ⼋Ô^ë&£Ë-@gÿÞ¸ñQëQšá” –{¨QŠî¸ýMV³qdVj¢¨øK© ‚˜ü¢W§mfLß©Äj73ÉSÖõÎcìs9äî Ü ˜Î) cBü)<÷IQ劮û/¨pùƒÁSöî·ú~±ìaý‡ô%7Áîü›´,Ê%µ¯6[Ø—´»,k¾™¿ ašŽp€0%î Aô¹|Ê"¯Ó©ÔËð%‰’ª7 ¹˜+Ňm®ÑAaˆÄHÉ~ß.æk¸`oèÚò¥9¼º:4†Îä,r"½l>²³»¨B#:êKæyÕ£Ÿ[܉ÉÇP&taþެ»µ‘’íÊ©­8ŽÍJtüW“?Âú¹Jªòƒ¿XXÑ5>õ®žL×´ÙB~àë«qq©”Z dº¾ ò‚CŸWõ–_|¨è¿áAºnßk­÷iM`^/³â}Õhl?—Ëù•zÜøIèy[}zÉ%ê+¯º…—8p~Ãç²MŽiçéÓÿò=¡g®ÍáíQ`‚aólátÉMǺ=¯¼µq¾”/Ðõ(•Ê|ù¡«º"v-RaæBZªTeÖvØS-Ûw<Þïœo…L‹.—ÃÐBN¶6¹3y4ó±!³ÑØ'i}Ò lRUí»gÙŸ~F_½}«±EDbHmÇ¡“ºoƒ·ø]áeû>pl¼¢`çã£Þ4D¨+ó`¨áA%ÙCˆ…"7ëj­ )~éH–dŸ¼Ü´€¹ƒv³~ŸAÜÍþòlF©ƒWDÝÚì$šôTdÑkÞã‡bþ¦°¨À;ÅåǸ/|úÛ(Èß=ƒ&s“$ÈÉ‘9à5yÃ5Ô`#Ù«A}æs{òÈ{ÆùO ÓÅ@¨ow$°’ÒC­Ó~qQ£Y%¸ó¥©}îä¸:”* ÃŽ]Xl¾_ô”yéjN>Ø ‡:¼j*÷ìÚwÀ*ÇœÁ‰ø èö š$x!mçßú"ÌI3lȯÍË×Ë~ü(Ϭ3v»šNˆüˆ¹Ktø€î"ÈjÇQ½[jb•jWï»ÙØ‘!5•›,}ïphch[Ѱý†‚I½ÂYåØÅ4Ïݸõ>G`Þ€ü ÷“SÐhA¬EvŽ×#ûR­Z Úw3|s;æôäçâc““Å_¤ƒsÓQUFN7¶Ví½! «p\†(~¼¿¯q?3ßô§êUô€ùQYü’ÀÌ„V˜¤Ÿp¢·u4ªÈ1Ò7)˜]Yo°aXÚ•[>ÎËê&¸„É~VñÀ[©…6‹í‘©¤7Ǭ´Ž íÍ»ÊnúÔu/ml(|/ˆ•T9™Ö$hˆÂCâ/oóM_·[}¿!&CA—vFBôα@xQ›—œUU¾*z°LhEPÝn<y’ê¿´"4Ï€.Êx\V`ÝÍêHûÏz;RûžµÖŸ–ÆîgüšÕÌe„Ì®FÛ·«p¿uã°™ !• ðÀ²©SÃB$Îî!†gCB)Wf ŒÛ€L-û³>. ~Mµ «ÆŽ»: ¬ÓÇ ФcèÆJ ¤—ÜÚ×Ê:ï|™Z‘)S›! f¯ùã1±öæÐ¦«­|/-îòÔÅåœm¨ó³«8o\`s¨h¶d¯u8ŠL½ŒxðŠ!ë{Úg¥•|ÝÍ·€®²_Ió)a’Ø~a× {öLhS™“ö¡KY•ɨ¾›îÊ”,žÄÑéÕÀ%gû b›©Ç!#ò­¤ÐPêºìN . ôXGñ‘ ]eþ¬H ëâ^º;cñ9^w¢[aD§œ7ÿ,œŠF0{2}´JÛí'¹„D_ò‰?x6•á„Ö¤ a8ÒP4•yEÓ¢Tûóüí«xéõ2ÈJšžEß*ÔÐàƒ6ö.”™‹·B_O‘./ñ²,Ë X}Gžpªr_ú¹]kϪeQ˜¦ƒø#Õ ª!fæG8¨wLi{ëО€ûÎxuÝWÖ9y¿cÕ{¢¹µdãû²ëcϲLá$pQ0&ÉÛ†ôÐü&Øqä¤m,)#»å”˜œª5×¹ËòÈjÖÈ>ûh”ÂXå-O¦æÝXE³ódâÍÊ<é¼;ÂÐòØú’²?ÈY{~CÌêf&hx…\ç,¡fõÓZ8tàq1F×÷ ªH`lc+§I¦ƒæ ·ŸEgcÉ ÍubÉÔ‘Þ¦‹'îés7ŽpI­šøz±:jóÃöÖa#“Ô,^=fŽQšÀ3nî‡÷NùYÅÔ26¾”,í¥rPýûø"á0 eMuOô–'½ÐjóºÀåÏý×ó¯ïª©ºÕ4›‰3”w)ДmB×g6ž6ó¯ eI"ŠŸ=8õp!®:kéRÑ YEË9}Ê¢•¼-V:{ØÜ—?+æF²kó¹J Λ¶Í'ª"8 é˜mµü¼A:0îÆÁú• ähÓ‚’¿ýe7°_ß,|}þ¢æ%{æ:ðëàÌ5 Ü“_¨Û”Ü&*Fpì–o>†Fü¡¥–0§§~)מּ‰xšêÛœÆð6­H v8ó³}@ÛNq)jÁš:mP‹ËþôšX% „HñG ’¥i<¯R– (½¹Xî¾@¶¥Ï@#gDoÂñ•˜*‚C˃;}‡ŒÁ-+$¬g*bR_ï~Ígô{¶ðÅ̲®bB:¥ £¥Ó Åjý–¨5šæ‚Ö(­LS§‹õ¼í[]ü£9WDþiqûKCE}+C‘Ô(èžÜe¢‹^¦d‘Õ\ŠÈÙwÕVBŽ"«ü9Bg¥Æ\ˆÃaš{6dX_‘æ­•\ly¼ÝJÝŒ‰5zgÅÇøñ›më²¹§t!1¼’ñý’ž}^Å$¿Ä©ä¡³iñWÒ¸º‘zoïÙyJÓóJä}öª¯¶?ž½£3Z]ØWÛXPô±vÓ‹2Œv0w(I9¡óÀ)IžÉhà‰š37J#Òœë= – íÆ7wàŒyðå}/:¶Yó†%{ ¤g`?2̹äx}~£Ûlóï¾´:•ÏôƒÍN¿½)³Ø~ë¬ÁyÑD_q%ÛØKâX.µÍv(ZÒÚ/]¤*¨æà®+ÑJk$©,^mÔ¸°)´4˜bŽ¿c¸^Y=Πœ~E™£mIœo r:™äûQBý±HÊq[%.ð]éõ<žVØÓˆ­(žxþ+{…Òçk÷éÉòsI¤nn\8Vl?2îùö]„!K2¨3ý&êà™t±Álü³<Ò|Ô÷áÁDK¹äÒêo¼0ÍU!• …±š_XÝH„ñ£ýª]Ðí;|<Ÿ±i»ÔN ¦iØN¬ƒ„œuÌ„0beŒ¬ÈæÖ.­…˜ò(œÉH¼aïÿ°¸)Ì1ä¿Ø$ òANò­­khbÉÁ~*vRcôæíëóÙMo-£0Ñ^›ö­h™x¸¦y½†„6/‰–ŠHTaúhÙÝži}‹«†l˜âæÜ©nÐ…á 솣‹V>ÒXÆ×Ò#ºv¬š&Ì 8àCên/ÉöÉn¶àœ˜AÎÇŽV3×¾1}2îAòïD ~ üªT­ÇZœçzI‹ìl|º„/“?”þçÌ'‰á7¤½eä (A»µŽó`qdüüÔiû^„"ÜM‘©Áã+¿sÌpgö´…“§ÄÏ®n‰shR àÕ$?Eaa$!UxŠMI–ï{r9 o5/S>øÊ7Üž'ÏC@ÎÅ©`3½E8¹a×æè„—ÞHq° æ]^1ÞѳTõµ´½³e8^Xnàgå)Fä¸\xgP¿ÄqPo ‡eOl°×³ç·1ÈäÌ÷ǺG‹J³„©­i×I%AKµý±‚¶ï¼×n®¦¢0Ç.;‘ßÔyh‘@èc‰p_“­ãÀ—ö—ï°æÌkI#.”†9zxZ?ó„og‘†hnϤ£B'ÖLSx†?WbØ egÀ Ã|.ÎRc>³–¾Ò˜74BžCsîãtqI‚6“#ÖHôß’O¬Òc}BEÂÂu Çz?l‰/dÝãD…D/†F倛³/½¾Æ hã5tœ2ˆ}éè õ#ØŸÝ¡ÀýÇ'á¢ýµÚtÓ1ŸãÊ,ÊUI‡©ÃëI«¹£@‹jµ×í!û¸“Ɉ­úÈÊÒj>ñzw}4È]¾ÛÁÁ—Ô›ýỖ!oÅÛO6ƒåÏKI¥£fq-Âá½Ú}‹©uÌ3Àü‘g›ùW×úZRÈzÛñ±™áKD|†Õöá_þÒåá,þ9Z¢is‘mÐ,£¶ìƒHX“}ñàÄŒî Úä²:¼Yİ“wޱ$¦…ý²ºœ¢°Ý°Óúö¸ªäà„+b’ÏÐÎ Tö/Æz«Ò²0Œþ*ÖŠEŒvà}8bdÈ—µhÆá°JT¶+cäj[?7ûfª%n¯…nl×.t’£ºsQ÷9p„þLm'ØYEaüXó‚F¦J˜øµR㯤邎v @3†…¾ÉÚZ€iRù¶pÙsf×¥Nt½ÿrД¿¨Ûbr.àÆGphŠüvæi„àV«ü¦®deÄ1xì(g´ S$‘ÛWÃß®M°F1ƒ8.wÙ%‹=BHfÛ‡Ëô›ÊÜç{2¦Ûk B¿ƒ>½D½>Â’/)zQñôJ²ñd¥¸«ìD–d*£‘áåîmÔH5[§¸JoA넉²¿ìE4ZÕEÅúÜmœÔÄÍvÆ0R…O²@§¶ªÌíËxÖxnlÀ!‡ÅÓA·¼(aj»ÔÐc§ãêE°ž)Yî« ÓsJ”3ÎlÐ]Ù=ãÎâ_# Ûn©¬5‡;j [×eaõ\}úb'”#eðþ”É˃{½wd¶àó…vw‰@Ù“¯wàä+Ï•œöÞª:•­ÚŠÔ¥…îè}ŸtÖË%Õ®H¢œ.ÔfÜŒcáû–7I¡±«jOÝÜÀ}l3û¦­…ï2?·q#×™îs®6&W¤9Õ\3Ñwر ÐS&â…”ÒBÂ7¡G?”'\ƒ„÷]…€®ñØÎŸÙEÄôi$Rôo—\¢Kà¢AypEî4ýnQ÷n!X³ËÆ8%Õ$€Ú¡7±×ý™¥£6®RJx+Ml,=¹Ÿïý=7Û#è´ó•ãÁŠ/éE9]"™žk’º7~v T“]+9gë‰Ú©µ*4¤î·›oÉ÷[ eñ0Ç=yg÷0&¶Ó”•¯u‡¿å-ÇBbÁu)ÍëCÕÀðà×—lÕ3 §›l{—vF–`Ëa ý¾¨§pË _FÃa„âðcƄԓF†r±öx+rš…Få1”Á5•œZ–>F™×XÖ£jïá,Ÿ*(–«€Bõƒ“vH™e: jIdX$] Ñ«Q•\]s Mí÷ôyý dƒÀq?ŒC“DYf/ûou\§¶6#¢Õô Îd¾À"ää+K[¶Ï®îž‰\5ãeVX¦–÷ð y_ .¸»Ú v×?/ƒëò!24†ã èzQµ¢Œø}¦j­rqôUha3 ^Ķæw1ÊEñŽpYºûõ3å€çþ¿CðôIÄ:o W™”øbûW5OÚ[t“й`n¨lÁ£qr‡·o’x.åözF:ÅhAi‘jM¬ËÜßSãÒ$ƒ‡ÏT­Û¿búŒ6Þ¬A\ŒDð‰æç6zDxߤ§b–bÊêÅ.xJ« –ecS`nwõ½Åco:JøHU:L;aÈSü£þ!*9Ÿ+n0›,åi·§fõµÎü˽wÕŒtƒ‡Õ(*9¸XÀ%™óàð6 P:«?wÔÿÿ¥¥ˆW endstream endobj 181 0 obj << /Type /FontDescriptor /FontName /EKPTLZ+CMTT10 /Flags 4 /FontBBox [-4 -235 731 800] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet (/A/B/C/E/I/N/P/S/T/X/a/ampersand/at/b/backslash/braceleft/braceright/bracketleft/bracketright/c/d/e/equal/exclam/f/g/greater/h/i/k/l/less/m/n/numbersign/o/one/p/parenleft/parenright/period/q/quoteright/r/s/t/three/two/u/v/w/x/y/z/zero) /FontFile 180 0 R >> endobj 182 0 obj << /Length1 968 /Length2 3136 /Length3 0 /Length 3763 /Filter /FlateDecode >> stream xÚ­–y8” ûÇmÙ·l‰ðD2‘Y0–!b1È.”aŒÆ cÈ.»”}ËÖb)k’%[T–¥,9Ù—,Ù"Ž$å:ï9§_ï¿¿ëùg>÷úû¾Ÿëz$›˜ÉjâHŽ .‰H‘E@(17GÈ(œURM±<‰¨¥€(¡¢‚4½]98€PD) Q Ь’šäáGÆ»¸RúÔ %@Ó$ã°Dƒ¥¸‚îÔNX`Frƒ?( I ¦?2¼SÐ $û€8(+àðNÀtÁYa?éI€Ò_fœ·Çß.ìE@¨"OT‰8‘àà@gV˜‰Ú ¤*ùÿõ{q]oÁëþ£üÏ)ýëŽ'øý7‚äîáMɆ„ÉÄßC­À¿Äa@ÞÛýw¯>KÀ;i] ÿË„÷ÒÅû‚8<ÅÉ ½ÁŸfˆû]un?À´ -ÑF†2ÿ]èO§ O¤˜ûyüSõGôOFüËÔññ¾€- ‡#¨Ôçï_ö¿5Ó!:‘px"õ"Š–LÆú±ROƒJH à‰8Ð}©‚aP"‰BM¨3 œIdÖû¤.†ýaúIŠ T¢üƒ*ÊÌñBÀá ÷ "ø Rs]ÿA$•ü<\Aâ/Ôr„A-÷‹—z|0Ò/(À<þ-§H%êí~é 6$ÿ‚ÔŽ^¿ 5ãß‚£V÷û‰ÿ»+--’o€,•“Wr €¢ 2èÿ„9y“É ‘òó- îûovÆS}A'ÖwoINªnµQÅÁ:ù¯KIÓj¹gæñ6¥ØF2ëdf1£ÿ,Ú6>Ö@Ë =£3Å7ŸšNªQš;{b¡wz9k—>VÎá.2n¸rÌÌÆQê?yª?®%y¸X—<õ…ßk+.û›Õ v^ö^5Ÿ|§8ö}ˆ_fÐ}н´ Úç<{¾„ªµ%rWn–ëxlí-:RÏOƒÈŸ´¼§„xà·\ÁRf·Ð~ïT_°eŒÌ5×)¥®@ÔM„Ûuùƒ`6˜˜¤²ãN@ïÆõtÿfö¸O˜W-™ÑçèÖ$e\BÎV¥ûöDNìÃtÚMÒƒ5­.½!­¶ÍI· V­\ÓŸPê‚Mmny²Õ}´Ë·.-ËW ¾Øý¶Å¾ýÆTk?Kƒ´ò)‚ç—7“H³«ç¾u²^ÉÁþ9hÑ<Õ5vÄ:òœª}£²‡gà  ÊL?,:š3G0—-N–}EÁYî=Êݰg¸qÎÕKo²ž¤‘cÖg91ÈSFE°7¹Âìk*6 s¸ŽV9)ŽÇ£]Ï«öô$)ƽR¸ï®z#zúõÝ+‹’æú1×hÄý®‘dt¼“7rYâ6Ã¥E>ú±Û‹Á¯]èÁ´®­ÊH4ºÅó>ªv>o·L{ÏÌw ®g~…‚*ÐÖÒÈ2ÞŠ—±ßñWé{Ü]r/ÙÓ{¾ŠÎb';”äYQV‰§³bÖž\ Ø»eÂdç¨U|‡3¯YX;ÏpîA„Ïàù‹»­ECú@Ðuü†9¯ßÃw%2ª$½¯¢1pþ›&ÒCvE¹hä,Ô~õnÔnOgkäM ¸ùž&»—Õ&·—X¶N‹©¢ÜÏnp¤}f‚©'iZ@ŠÏ-¯÷¥²<¿D<ÔI»o‘ÍBŸpÔ®½)|¬›Á™a«ÑÇö ¥N4y=ö´nDg¼—½Ñ·á¸²´±óÈ”aÁ½ågòµA§VóŒ ׃ÒÁuF6×€ý¤,d×*€ÐœÃöé.Ùqˆî3D†D&ÏÄå›q Û­¡[˜§Æ‡+jGnÌñr] ð"çÏï[ú^3‡¶ÉÌ +à n6$/@Ìa6¼ ;Kö‹ã§›égƒYë"n›nHjW~LGKøÑ°Ùã:[!uʲv^õüyÊRõ#aQe5¢woÞ•ÒûÌL{µ9¯<_uû ‰W¥à9öØ¢/ãz¨ÚÌáCEE×Mb‘Ðãi KAôcÌŸ)£z‚—ÖÕs>f)oD™Õ”Q;r9›Ž''6ÐgÐôL7à±+¥µ8’ߎÃñËóùþ„³ÿÓdœaq Öýð¶<øR]Iœc•ƒÐê%U”g jo,,oLy]Žûþ {D1¼Oý5&µ„¢%DK÷¥™CÚ”½žÀÏyPÃ%½¯¤,üŒS؃‰†À–çz×Hʺ÷¶S–Ì)rÈ“[<Ä}TV#Úÿô-rÑ›EÞËa°gÅ©Wý_NÏ(H‰Ï ÝÝy˜BÖ7B\P^\x6‚OžÂt‹yî]3a°X¨Ãtý‚怚ó»zRžïḑ›Wº´ª‹œÇ‰#mppñƲm[vZ)æÌÁ[ݳ•ÓÞ"Qov/¥bžŽíõJÍ}6JmO 7d™Ía dÛð|rhæuZÔ#±A»2ž|¸oàŒÏäFÀ’Œ¢å?ÄȦYœû€Î¦Õ!Ý:5at­1j@8Æ™,û§>E"f&³äù(n²îŠÒüšÖf­RDƒH mñŠÙRv[…·Æá­¿1„çÔÏÀÛ®±IFt ª_0Z ¾Ç»|‚7ö]þã¦Pý©Ö¼éˆÞg3o}Ô ÛÜ¢Æ5Zf#„ÜŸzr—à½-âÌmx³ÊÝCAí‹bkWI„c>6£Äao§vDÐn¡ˆ(ý­ÂÆö)óùГJÑn7¶ ¿%ñÓ¯ŒzNêø]Jˆ‡H—Áîw&ú9KÞLjÇb[—C@Ÿrèèô®ú`ÜÎ'Ó*Fn¯à䙄4ÅÂÿƒsµËK5Ûd¾k•j{l¥^¦Ô#!¡íGQЕH‘´Jãâv¼òZ//æÃ€`I¸d#8Ò£K¶FV¼½žú²±+ÁàÆài=#F‡¶(Œk3R`õÍUΫäëªòÿxíþ¶7 dìT2†èà’úáe·W{&Žb¢ä0©ÀºƯ ”>Y›`g‹´†ïB°S[ÅâPÝbæÀé?ÞŒ±´`õâúµÊg}0ì]aé«òËlL ñÕ‡ó5ÛŠµ™ÑVŒ_¥då®Ï Ìý½/×ä€%)„Ø‘\jŽl|hÄÖ]㥦‚ø#ùxÞËëð"ó[¥¤)”éFpW™m¼JSÁÞ º,ûêäj\ Âg@“Î:Â…nELÚB&†[’/ìUñŽÂ´‚CByàSôÙÒ­b”WqÃIIÿ…Ó—Ði¸Ñúž‰©Ü&tìÝýõñÀP!ùI¸&ǧþŒwéûn¢=µ39„ Gÿ åQÉ®^G)L-ÿ~¿”‘ñÏC®ÍôI wæ_l'„”®ÜhŠž Tpâ^ÌHº##›Æíßõ±]¬¤ẕòž®» Í¡7é×2ißç(ëØ.™4¦¾|ðJ£UCù󨣔EhÊYü¶´elæ-3µMQÙ2t6,ûÚ óá¶~#‡PýÉ“üÂ復|†;âÊ"²/UùÕChxÞ ÝƒÕ†èéðqÚV˜­|Áœ7ùtHØcIã…N+Þí „™œwƒÖK•û§|„_Í~‚ª;âCl£aЬ´Ò¨€TÓP¯æ¼ÁkèÜÕà'õÒjf—Ï-}eÁÈo%,s¥0žßß|”EÇÖ;[-w.G™ô}]}¶Ï¯]´€Õ=ÌìTQÞq4à6J†‡ëÆ&iA`¥¯/¤å±ën æ½»B¬Q¤P¶TÆTƒÑJ]çÐrÖš.qŽOMA1§Ysozåc‰›ÛñÛU9\•ÃAç¸Bq “;8áGM¦km¿þÙ2Quìz©§ƒLe_¹¸ÂÖx®ñÈN‡l¸§þžšÍK£žþé¡¶j ¼"õ£áÁpˆÄ¤@Ë’W.ÏÍobÞñeEnÙ%¾i%H£›ñöÅ5Ëó'ìnñÄ‘u|ØÄ1È ÆÖtEƒ†'­jqòúê6&BŠ`Rï[úÄ?v†h´šôi8§ €Î¥ö´üÞ,·% W>i›‡¿î—ÐJž8­¬·*YÜRb£j,Ñâ—±+A_Múbð`° ·ÌpöøQ‚K>5WsÒ ^`»èJ‰j;J»¾^¿*g·ï"KôäÑk…£þ×_¦j¯¬Œ,ÜÉWypØ?ڨɩ€Ì¨[ï ŸcVemrzÈ‘¢;ŸëýRkËGEš—+ŒÑy[/˜¤²óžÕ|Á†¹ß2ñÍ­èk&»:)¹üV8o|5ý4¿¼^ÐXÖþ~w»yÌÊ@ÚŠšc®¡N4SØÜ‘An¢h3Âɽ²ëdæ=ê5sy1“w=ËÂc~ÆR›ÿãÅlƒ¾æÿÛ·ÊQV‰-ˆ?"X·¯$¥†©x¯uy6'PÜé&çóÓ‹)b-ô¿F½HÖ:ß3$pI@Ãn¯ß£ZÅÂû-ðÆ[LhÆ¡YÍ_໩Ùö¦Œ:o endstream endobj 183 0 obj << /Type /FontDescriptor /FontName /DLVCNL+CMTT12 /Flags 4 /FontBBox [-1 -234 524 695] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet (/a/at/b/d/e/h/hyphen/l/n/o/p/period/r/s/t/y) /FontFile 182 0 R >> endobj 184 0 obj << /Length1 2091 /Length2 12458 /Length3 0 /Length 13595 /Filter /FlateDecode >> stream xÚ­wcxÝß¶uœ46Û¶ÆF“4ØáŽÝ4¶Û¶ÍÆl¬Æfc6zwϹ÷ßžs¿¾O¾dÌ9×câ·Ö³)I•ÕEMíŒRv¶ÎŒ¬L¬|$â êê¼$¬L,ð””âŽ#gK;[ #g +//+‰¨‹9  +<%‰¸½‡£¥¹…3 8íï nQ€£¥‰‘-‰‚‘³À”ÃÄH¢fgb pö`"ITŸp"Q8]¦Lð¬¬$¦–&Î$ÆsK[xæß‚dmÍìH¸ÿm6u±ÿ_—+ÀÑ $Š„$’–$ÑÔÎèAb 0ƒgV´q@JþˆúïäR.@ ¢‘Íïô¿›ôÜF6–@ÿ °³±wq8’(Ø™mÿ;T ðom SK›ÿöÊ:-MDmÍ–›,¤,ݦʖÎ&$ÎŽ.€™¶¦ÿ­Ô¶)`ÖÑ•QVÕ¤ÿ÷8ÿåS6²´uV÷°ÿ'éïàaÖ?ÔGKw=&VP èïÿÓÿ/.I[;SK[Ð>pr‘9:yÀƒ„8I¥ˆOùñ©þA >µ?ħþêÓøƒ@욈]ë±kÿƒ@«Êlôr9™XZšX:š¸Øücç`ûmm˜¥“õŸFývþs”×ø062±v9YüceeãømvüËªÉØÑȘ9ÿeæüó¿?«²²þÛl pþx^öìÿuÔ\“'H¢‰ô5ÿSÇo‹ÍŸ°²€&`úduÒÔü[3hA™’‚"ÿAÊõÛïàúÞÿÉÒZN ‘Í_Y@2û“aféúWÚßn;—¿iA!æH@~óß7&àïP9ºÍj¢…‡½Àö¯Íò/oõmƒõ_Ô¯?Ep89ýåu÷¯ŠXA¨8A¹l-mÿTÄ¢¶u±1þ}¡šÿ% t3Ûý Êi÷×)VVP¡öÜ {#G€íÌŸƒõ¬ÿ9}v{€£ Àö¯P®Ù,íLÿ¢uÖáÏ΀"\ìœÿs%ÙyÿÇúŸ¬¬ –ÿ5VP‘:Ä :ä°±üÏ¥ãüpýk,œ $N ‹ð‘ áÿõå°‚Tý¡åìláøk_@qv³ûë(‡Ë_4K׿ H™Û_ßè´û_”Þã/Áç?â@™>ÿMõ11;wOF.F6ÐÖs‚n.^¯ÿ3qqÊù_/-èQù_lf zw€ üò‚  UrSp©·dþT4¸˜yóWÅúžÙN„€¥Xp`Ñèºõ:í_åiÈûÐûÄnÏNá_T&¤Îý¾¦Ì¿î»~ÚOûÜJ }•¦à±gOvp‚ÒÞ4wsÊ ®4³>Vš S0y1x’«L#¡~»J öMϵá[z ·¶TP#$¨ŽŠT5Å¡4”#dÍ 5!jm2ÀÛ*®…~åÒ®ÃýW>\Nü«!Ø£ L„?›XÖRó¤•`H#-ëwC}ÜAíO$:žû¶¶Ïq¼‹åÌ-csØ.-§WDÚ=~Ì d^:3™oÞŸ¶3~|rœŠµ6ÿ˜–FÄyI•TtG#-ðI.‘ÛÔbÓ–VwáxŸ™€ÆÉ©;sƒŸõ”@±lDŽÑ’õšîÀÊ.R'sÄO´rAï“u#M†²Åº8/ÿžKCØvì´h#Æ–TGüÙÄ?W+—vXa—C&¶røCªéƒõ3š+3làösD,ÉBè´½®xæíÞz5]ŠH¿©1ÒŽB• Üü²7Ç~ÞqglöG4•ŽîÚ(Ú"¾°••,vò1ÿ)v—”a%úÒ/·x6 ïO‰VÂÌödz–¿%Œ°±&¡>‰³1˸¡\òϹSyc’‡j â‹@á ÕÑ¥ÃJ…tm8/CwEÑuÓ79ñ¦û §'Ó®i˜ú%J‘~ål}H¨¬‹§pÜ ­Ìëìl˜2\ÅÊ«&a,àjoÂÊÁÑQ£Ña~I²£j$@84D›þbö²@ ÔÒàòðÍVØ÷ýD¨P@ õ0ƒ¨ …Ñû9?]ÛÚ¹Õ­Îe¶çCîɯ—®ÖctT.åXó÷;ÃV6bû¼Æ!´ÀÄ´t3)(mÁK>q«Å+xŽ~ëRÔiƒò:¼Ná'/ÉU!®‰âæ·Üƒî²€s·øtô”µ¤·³Ò¹h%îôX²1Š ÇçÃ/ònwΤš§cÅ8Ç»*‘“î$©ˆ6þ|o' øycËojÍ2QÛoTueøN¾b<l%W…¾¦ÉÌö³7ZD@': ”/‹!߀eè®2ØN&±ù( cU¹üª5ý ¢Õ0“˜Ydv2£îJaP¶fÇÚ|]é&$‘½Øj[fáža{ZðN ýùþM-[¦a2Öë²7©ÕãÖÐ 4¼OªR©ß’ÒË)u#óÔ‚2’P 9j3±Í¹GÏØJ0¨lˆ{o{žrª¦ûÓ´_Ða€¯W3âqîüñZ—vrmKÁÓx“c¢¨ÂÖx˜ÖÆÆ4Ó M]³j¶šÂw(z£ÑïÅv»¿/ïþ ˜B©ùøÒGsy¾ý>;æÔ.(™9™!1f‘ï½ÀŠl§7v›ôQ÷—H³Ÿ3okù%ú– ”‹Ä MŠÝïW4[ò§e1Øá@—¢` œé¡23ýxæp†ûŽÃÇ×à½úç–Áï]iy(ëvTÙ;Óó÷žçM-@u|É^ÎIJòßovÖׂšP+Öí~]2– GN2¾—h*Bl‰‹­VrÒDž$Y™ö¡ÎU`í1tàËÖKS ìC2­sEi¨whð$ é'*³ûù\ge¼=׺RõN6¡úÝïþæ–ÆmIU¹#â »¥E~=­ùÏ´¾&'Ï ±CX’°œ~½"hÏb¿žØýYoSšº yuyœEÑ‚ëùÚÊV¦­‡öÑb@‰tKª•G í32T1Ì|r• ¦'q«[ FbÔÖ{)ëÁi´/C Àœ’ºá˜Ÿ ó4‚ÉT”Â6 ‘‘Ü¥Ïé§Ÿ‡hñ¬x yÎLìÀ‘HgnRŽœÎ?Î㫈YÛ²NsA{á|ú4ú+W²xø„ßX€pžp Éè«<¡kÊ®¡gaéáÍòþÉmÈ´îÃû–W_Ξ/)o«šgÕØŠŸ"uãP\žŸ^~ɤVÂÆ*þÌxÌzÛ ¶C“ò<ÓËÛæ_±«£|s®íÍq,éø*‘I¨Y>J:š/õ•¯W#Y Â7òjaÅ+˜³__)„ßkÛ9®´i|ï¤GÈ[(8 ÞSÕønÑ£‹TAà‹(oJb}I.µN.ƒs²„Xù' w×Ãn}¦9kðJC+J[‰)A2)±xø,— ¸nXˆç*ü`5w[h±\ç=%´‡é¬Çþ/x’©¥"XÖ/M¶s‘hµD|Êt 6Y0*M¾‘‘­ô!µyÞ‘u ÛKm)|Úòuh¢ÕgC­ ²mÖ·­,æC êeaYÕ Á«'0÷]ŸC~Ô× ÄO5·ëåÁ•®w<ãºwGCLw(ô‘¼8"…ãòLÐB° édžãß'eÏte+æñF&„°ÜØczâèÒ¼ð˜‘ÕVŠp«ìVs6OZJÊH-ëš«)5chöÀz\Da~½Ë–coã½Ñ¦ƒÙÙY9/]ÑãÝþ`ÑUœöqo’Ûò”}ÒW?Í7ß¡H|êwEûDZéE|‹(.’ä‚xošÁ¤ÁA%4ô ëަ¤’#±%ÝÆpäŠèÅ‚–œ?XW×Ic:½ÄWôJ(¹e·"– u":êÂeíe\Õ|¨R‹ÉÉÛ™V›øôk^’ÖIëšÿÄœó5š:-ôо„qÐmGÅÛW"Ü!ƒÔÄô¹uQ³ZÛ‚“¡vse<Ì„œ×úaœÊ…¹Ÿþ[Ó“é}f¶ÃWU‚¾X¶“ˆÔó3›«Ç†Ã‚@£—[ˆ>Œ/»ŠpÊsn¶šf?%=fáó:O dh™R –MŸ˜Nv&ŽÜú5Ky2SD”òNW,5^‰·c&áÁ2E“J1 ‡‹Š‰l«‹¡ÂVÉ Ä¢1 ö™LüŽDßjÁS"lTsßwð¿®uÉm}àèVC_Ó=óâ@nØæŒ¨•¦¥gd/_±¹_>VÇ#šv¹döŸKÛŸ‘=°d/½¢$D;ËùUŽâ¤5<{r ± C„r*ÓhÇç^Ò)'¡ "ƒe3%|‚aˆ:õèKð¢1XX—ݬî³MK¹Î{ï^9®±í‰Ç¸ò07:â*m*¬|†°- ’ò ”—7Ÿb‹RðRÒúiTÈœËO'κ—J¥»Ž8Œ;ÏhÝúzùúlPq³d ±ª·hÖ¾JQÇ™ãÉNÓ^[2UeŸ˜+äˆmy»&`ˆ>f…,‹ Ù!u76>ä;˜™~ª_®Î/øB}OܾDwŽ+[«óñ<·‡K}p$L„+ÆJûL×3óètY|}«|Ï£ÙÊNñ9íª)vXNâMƒòÜ•0TÍÛlonX¼®_ú—VOç4 CP{Ó¼˜ÖñE‹]À¦j†»Íi7—Æ£ŸN“…Aà€ˬ€ å0õ&£ÉCVÇ ðÛìîÚœvòÀöi^$øØ$d]ÃOêó¾º@‡Ù´½«þ\i¢«™Â1‡£¶ËyþÐ5UìæGÈ•±¢eábVÔß 3ï)rô †Á[2)"ÿê×¶'¦Yr!šžE$]Cßm•«[ûÏä‘ѤÑÝ5E5kmðøœ[óhöÅeã#M ·Ò¶Ês[¡AïÆx|ÕŽ•¨Óð °E¥yÇ ŽyÖ¿«ïêS~(4’=çôí‹G Ïh–e~M¢É²Ë=òBÕÒ6íÝÄë˜ê4Sq¨Y›¿Aò>!Ä›;43GÀ”C¢( ;?o‚’ÖfýºáU@=¡áJXVd,‹U¯aµèëŒé[¾-’„‡A©¢(,òj‘º±ŸCìÇÈ@(yEùå[‹ÄG‡-$[‡ð2®4í_,vZê‹@¸ íʾI³óWp§ÒžiaÏň€ÎO·ù‰ ¾ ôDô™(ôZi°ƒY‹°~Þ*jÂi¯<‹IuNÏ ì½>Ìô)I©Ç™¥=Niù´±ä’_(;õ拾íÓwEjE±¹³H’êkQØR›FhÌlØ-¥ØÝHÈÃè09ímÔ÷ø-Ð-¯óÙÁÔ„¥QÓWé·åó‡Cö“rÛ’æ' µ+´1Ê¡!›ÛWv§”ìA9Ú%¹y~떱ǒ™&xvë’¹Sø[¿žÂä£ [¼d¦ÝJüY$nÞËÞ¡ˆÀ›—Ùé§®Ù-³†ôçB¬È9Š2\Ñ©éJ¼36XXa‡døR8x³ë}ê5¯Š-“uv1ܓH&'tik„òå‹BŽ)õn(›ú‚ëÇž•}ï¢unã CýËB8î¨+¿vœOM±ÜX%õ')1˺`ìO|o(µE@¿é&FóŸNÛñöúã®ú˜Ý|²Ù4¿«}®Î²Ü}ŽÔj@KÕdã¶Þó’éP(-ö%cZVº”ÑãŸ3ŒG‰Â#ÍýSñ¨‰Ö82XÑTOAußÖEÑLl?íPPlr¾æåWX‰\ Œ7œ¢3B°†€‡[¥u˜Lb[òÊO‹×¾I#©9U!¸»V©Hû*ÏîG ”¶–õ!,‹bÆŽ”â+F*ý¥‡öXÓjÉæ•é¤nl¾_Ð ÷5–*?\ƒl:™sïÌ|/þšî¡cÅõQ±0""=7@'­~[2”ãPúQkoMtÅXä4U){Ý–5ÆVDѸ´d·¥ÜµéˆÇØ¡~–ܤ-¸£(¬á|R±í ¬Æ<Ý¡‹2Åžs}þ¤bì_ ¯ubðnò³Êx¤FÅ×êh«Ðw>9€ªxµåœñ4“½Íxcs:?Ö(eá¾·ùš‰9Ÿož…¯Ìgrº™rß3á0ÿ¸x໼øD ÆO7â¦îÛ³úhHçßœ&txJ=¡º¢"û•ÛB¹$ò >„9ßwì\!Ç÷{WW OѸ2Ÿsº.Æ‘g¦BÕ€÷§ÙÜÞÄú„PŠ4jÓ‹¤[ônRNc{¢Eñ­/Ò#™¸‡këÕ}T\ÉË«¨Ä6çºíÛ³o…³q³%d®:¹ñhsg¼ItpíB§T\ Br*éÎm«á4A¹·Nb7þp>زî•ËT©*3²U€6´iÒÅl–ET½¶Fz‰s|¡ÍƒÚèÒ>½xçŸd. @½Ð;¡æÅ¶¾²ô kª%Ô!^s«Ð¸¢(EJ뙘¤³<›–qÔÌͳì\5E—¿E¤ ž¯jýÝt>î7TÆÌC¦ÒýZ÷§s,I²0ÑhÁDz¸,wåQÓ“@¹EÇ7, ½z 4Åi‹ûk/ ­’Ï1,øOnÍŠ*¯´ €–>5WäÆÈêÕ’^â“JÁú:ëË-ñ¥áï´Çµß©™Xá« ëp‚ÏÃÓuÁò¢1‡L˜‰+BWø§€s[ˆqäáÒú+& jF×Ê”á'+/1w.Í£>¸4Â&­F¸šWv8œ£:2k¯ÌÉM[©#S6«*•IyO ‰ÒáY€ Ë~(J>äJ3Žû¸x0ótªç#4<JXJ„ÞÌýà‚*àÕZó‰7þŠ'X«sÆ× z«–M^|Þ—£€!œ<±ÓZOÅ*üH™õ’ûÄL[‰IxšêTôÉ?:ºéT‚I5š˜¶yƒê&âÒÈ™nP¶é¦Ü"IB6# ÷<§_ÑS™­(”/C;µÅ¿ä 1KÔÉpc˜´b…Ìg6æ.s—rD&²£èG¶3 g­&âöP‚²•î‚w.Ö\ã†dý4ú^f4ßݓץG^—•ôê´v_œ¦ù|¨ ÏF1³ûÕ¸>ó*•0£RpPê—ħC@J«X¼²h Üá%ÀYÇ̦¦Ž/'ø'~êÑÙ ì3;=Š=´ƒWÄÑ/¸&ºóÛšoÙü`gÔ¤T 8^o-ö«P!\GªãÁd{ãü¦‹&sæ)x-²¬+öç<³°&œ'V'^¦ÖϤha¡•›øið‚Eg4íeeÃ-Z¯ËÕ,¼aØ2ŒJz!ròŽñhæËЧ±{‡E‚ôlŸÁ+[ïâ7ÏñcG ÒùèÍqëƒé¡²‚©Èt-gR•2ºÜèM*¬¢õ<üã^ÅW…P riåºkú8âò¡!pÁPËÑ„¨;Nxm¹ŒåEQC9%ë%Õ\®¾¸æ“¡Nø‘ËÈ >+a¼gGqv™G^j*­¦ /µýi`bˆ`!.Žæš¿e:(b‡­'êmÇ=¼‚÷ ›Á·Ã í¸|¤òi„{¿^—íØò~‚Ž?‚Z4ZѾ-é]eÓK7E¯yæÎ‰pt¦zÖƒãÐ(SïêfÏö‘ìíõŠƒ>ÝDèÉõý¤½Æ„#€ë¯¹íÒô<4r—G‚¥2ˆžî=ËÃËÛÿ“àl#UýÛœ/KJù÷ xù\ü{¯L{Ý.†¶jÄ“ÑiñÌ5*‹{“ñà¨îõJ›IœZã·MÈ6>ΧÄP~Êf ªv÷l\h’ͲWžUÎŽ© _$€I= rÁ“jS  ­¯%›¼¨C´ù£O¥Êˆ·ÎV-iæœIØÔ»8p{uE›/£8orÊö¢t¾_üªh9>»Z1¯§e½F{ÑhRãØ}-;Þä5Ð>Çõ<Εê>´˜ë,ßÜÉ5žN¤7nÑ‘×ÔCÎí² ZB7:é{S²cro¡"Ekú2IÑ·<󾑷·'C"íÅYÝ­xïE9ÓAyRç{mtD é¯Ná ×ÓSlþ»öÞµ”Ž¢¢Ö«Ëó+ä8æ¨9Ù]”}]¯ýp…µH1TkcÅRáx™ðû¹é6O-ŠË3_Ø0ûæ)*\!5ýWAÖø.‘ïrâJáñcí; ‰}mºñÄ3A-kÑY)“™VÛXýžÔ¥BSæjz™]Úµ;G¾Kˆâ¯G,o¥Ã#ã™àç.wfáf›€šåÚ=Ú Ó‡žW4” R§C¯ôŒXÝ¢=QÈ“éhÛúE.–(?C;}4}&ïkÉÚÂrœxYÏñ?ˆ«—ʤ\²Gä´…¥µÎë‹/‡àOŠÙËws¾)ë ?§jƒêÝÆðοæ¤sæ²tàó¨fÎ'¦c™~žªq«ý±ÌÌÍÿh€'B`Lh§qX\~‰ä¡âSq±˜ôß™/ŒRî£þ„Ô ˆœñÉñŠøKy©ˆ†&­H~ÜÊ8#zŽþø¡«„Q…Pl€Î'[ñmÍæ´y!½rå†é¥ªƒñzžÔîÂFDiLûÉâ îfï§ûþÃá>|/\ÆÙ,ò!®YŠî毱ãODf…1ûùI" É>¹ÉËHɇëÆÊ@:*Ì+ÔA2>þ¨ŽìÅ:>†#-¢pk¯‘ìóÆLœLDF*Lg¤òtˆÜ]ú¯íF\j°ûºŸ¤šß*Ô8!î—9FŽäú³ü”Š÷ˆ.vkž‹Ï*¹®êÏ@~ ˆ‡2œ²¼—¢ŒØ‚ì®1„ŽJ¶ƒmÐ(k¯VÄ>×KeµpÓPVÞ6óA8MÃjØû^/×»PùŠcg¾àýî¤iöc¦Lv Ásî ªÑ‹Ÿ†±3*´wïºði?‚|¿ŸeÎæê‚èûÝX%fïЧвm dÈ· nüæÉö¨“·w¡[ ¤ÙRŸ£^g>ÿ˜7å-¿¸mfE±fãþÁ0\)ËñŠÖgŸÃ&‰ûë`™š›o{; þ5J×ËÆ7î3ºiušð–«6ôV›U¾ï4(‚‡÷|¾Í>i(÷é´p‰I{²Bk+šRM·4*Eà˜‘÷8U¡—´Óƒè­¦(½¢Ì¯¦½Êg*/ÁHÌÝÚá|ôUyH2Q×Áî<*•÷7t¬ZO7LÙ˜ÊI#p þrvDHcá èÙ˜ü¯Tä²1yº35ï*˜Re5½Eýa–Ù{`Ã÷tb;–àågÄm{g2pM!~7ˆ_š¿ëg·†„;ZÐ9¡ ’Já4è<&¥yÄK£°^AUFþ"ÂRÎÀ$‚öx=él`B#“yg8_¸ ;.ùKH/ «wß4Gá(ÀÐžÏ U~°rNv§Ž|Ç._›9‹Ûõv©6ãó‘ó|Íõ3WTK(¦V䑯¢«„æªJñ]³þØq8 å²si†ÚùYÆB<ެ1$”D6ªinãðyAÛ¼<¹ÿÏÑåo³Ó{éÏŠC>wQo)ÛßQTe;¥¾ÂdïŠp UئšðÙ/²d”8Û7O2¶^‡JñÊWÆo ’>ôð|¸ÀZ§\n ·) …È7ù rœÊAâg"Ù:?Hyi¿¦‘%v•L†Ë!ïF/ºá×/×Gë8¸zËÄ,Ðŧ§Ùwð1£»}±t‚MŽ{[”ÌF'x³ÆHŠ7 ð–ŽOgdš•ef8¹IO%qàÒlå’¢rÁ γ1¿§§õa¬ÝS;•4ƤÈ+(×i¤¡VJàŠ"ÇtFëe¥l­2AÑ„/7ÛèÙºãû¸qêå›x¦§›bXö EL»íWÀÀœxÏ‘$ü±š…‘|µžUlâM4Ó üS2‘¶9˳r®³wùpMÖ;Ax^†Åžf6¨dÞŒ#†*‰{Ы½6Ä©W9R*­äŸ‚9XùûÎô`‚<„Ô}º\ˆc9ö<ÅÈU6,ù#6Ü}6Ô-…u~;ñ¬–.Ü| L|¤ó—ªŠO.3ÅéßÉ(3~ EÚiEsO½SbNâlÍávY[…Ó1¬R=m¤»(ñ\7A=ˆŠÑ!I—æH¾:gl`Ë7HÃXÙ¬ËJ$/ 3;‹¿Þ ªú>sÛä%+oUmm@~Ì»‚qFfÈ×}a „|7£&  ×å4ìu„C˜)mØØœm;36\ïsYñ9ˆ Õ¨ç-{º(üøœÏ }X: ¦ŠÀ“øR}ñ|D“í´H2îÞkB&M;kdÇâõÀL}¿”„¶Š st9yJ¯LŠŽ¼òí=–Æ/B]ÕHA —¶Ä¢ïÃÝÙõv•;*FhÚ #œðê\½|[-ùÆMa…x›~3_z_>¼a4Q˜k ©í_K,¨®Â¼Gz>ûb@/fìºkqëFF/Â_W›>`¹³Ô4`¬ƒßú.ßþ.(©P ’¬ˆ¯Èª¦ªš9—vá(ÂcšXdÍ#pµ6sL"ºX‘ÕSb€ ·âQŽ´nh†WŸG—ÿ{ŸÖã ¿ô/ 8¡Dí¼ëWïwœ(Ðädèúm!IQÑã;1HcŒ0½7øSâ©A?›ß$ ¾Ow«\ ô©æ¹ˆh›Þ-5Ù†ÁjŠar•;Ui?Ù:õV8äÁwk‚yw6¢²RQöj}3Š=>ÊÝ/ÆÄOĶÂ\Ô׀Х'¾/öµ·v$çfŠ(næÙÿz1LÛ`‘äiÚ©QnÑš\Wàé^&º“Åæ†õ]kÅ Vm7ìI&žZ–†âohÑ‚ÆÂè_£?éh,/{B5Ê2‡ÝZò•°¦j¼]mÍ™ùBò8®›ñ6íc“×öCOúCÉ÷ke ê=ºôIOK½`gªlôF¤ÍSãX—EÕËWN6~ŒÝ8ægÑ¥úäFv~uV [EÇgãþú8-G~ÈÝJ±«œàZSz~øðWtÓpåøÌ_~Aá[±ØÜ2¹am'§Í»õFi†AІS2#úÀbçî™ôhÖß× (R&ò ƒyZèmpWRWÓrß'­’ÁagU¿Õñ3Æ\·LH…îšYž3z<¯WüÛSÖÛ³í°iF0ȳy{Ö”º{Œ»Û?÷âc^ÀW°Ø¾®šh‚¡I5Mmmý桳`û|xåFsš4hÜɉwd6÷Nûð4¸Jj> o[À+%˜zZ;ë}iœ5B¸|U0;åt€¡'©ß÷TÓ%Gi°Æ¸]YØõY<3ŒKÕÜn†o]EHUþͺÚòNÀ0°ôBfKê ö)éwøó'»Z4[„+ì_ !“­héó {µq[Œ.!esH_ð¥d LU«XNÞÆŠgZê0ÆsO›¤ël”®÷m?ØÇ(RîÈs¸•(ñ6ŸB¨Déj¹Û€!ïk‚”ÑÀCؘm ¯€ˆÎ1ßê“ ?Z3Ð*  bgU¹çLQ…¹¢Œ’›GÕzŸÜ; ‚³Ú †Ã‚ûáM(ÐåÔSK ^óò L A–ïSßµŸžéIIyãМíN<Ò¼@Ö½¨Ç‹LúïÒmêPˆWŽ]Œûf¹”VÞt ‘‡Q¨zùC Û’²­$ÁÊ š‘U «ûÞÐç%iæP‚®ÈâG'üî¬x“ë«-Ó#'ki37LOL‚Íùõ}‡PñMRÊâò¼e‹qz¤Ñ¼Õ§e „ýXjª|îªÆ\¯fà¢Zº}AÝó`ðCJI4ÿ>C‡]ö¡€¸ÙPïªúŠªæ^±|\÷yv^Õi³Ö±âòÂvºI™êWßJ _¥®l·žÇš1 NÒR7‡ù{#‚û&ü«j·@Øë$¢l8™ìѼ¸ën”!0¨;k»ЩóCuZ]7Å#Ô?'®üt·s^’ÜiÚbØq³3×ÿ\º‹Ãtr®Ò]±/h{nÖB¾à|§ ÏŸÙ[òëm—ÜÆ\+=( ¾©Á™Né’œÝÅ]S]ÕÂ@ Ú#ƒ‰™ãËùl)L;i··À[ ×A3žÜÆ-`TJ6e® bi÷CÈ=§Îµö7x™dáŸwOÖf‹€‘y68ÃY¹ùÝä¥:óóè—Ñ\ÆyOë²G® 42t$:bâ§à8Ñ`ü; Mã<ß[U-ôw_M Ó0.rÉú´•E¡Vx=[˜ºâ,Ù¶#:Å}ŽˆÝ†D³‚õëý™á:Õ´"O ²ñ:´± ¹=±°!›²¸ö}(éP˜dô)çZ)‘Y±ÄŒviînBhWϰú´®3ËÅY%¾7-î-Ï"Ýþ4Êæ×ºf'Þ'%x©ìÔ礊½‡cïÌ´cËÐGT#â]-×ËômFãnõä ¡ÝYÑRíhë‹<=Ô+^4±…¡æñê0Å4C™´Ó}eÿ¼YOqÍpð–4‚›ù8n"‘p~Ñ>Ã\Ž„òÂØ(}4"qµFÀðÅV¢Û#Eb»ýóx4úg áyrg…Ë{ÊA¸ks§**Ÿ§Òßy÷nëÑ*øf%Ür´×|¦îR6* -Åõóà·º‹=GVNóƒ»Uó¹¸ë»’Ìu®—¦¨Èh™6J,£åÑÜoâ‰×´k(2‘i}A³—вŒcaÈvô0c%>ž•¥Œ²?£/(®Œîashê†a4 „4šNNגʼnƒ•s™-õY€Å£Ap…Ǭ~#}>TeÿJE™€céW·”GxG´'s¤¯QËýPT¸§ý²Î§üÀ0·/ó¿‹`aæ½Nî¶êQ£%D¦X+©µC=µ›ëí _žd™ˆU Q—ç:áà ?Ñ\IíSDå›àêW¬c­Y„.;^‘€1±5Büâ¸#ƒq¥ƒÒ«öüIñ ¾Å%ÉŸ¬¬yÞ´¥þ1^Ê„é5 @CXÏšÍ ×퓆NDŒå b| ËQ6#@"h*>ð$^¼ÍHý)ŠÚ6û Î!7Dn..¼·Ë÷ÔÿM…H:æ-%¬¥Ÿ\wU„µ¯àôa0nNéçù•ÒϘú¼s^j‹3åÝÄ1N‚o2Ç[fý£ãWÝS](Âê2²Tæ4®ÆæÓá“.†ÏÏé÷+#Î*ªRAÕ:Äšñ(|Ú»D°&œØ-T&¹ÉYΟgŽlû#UÕ³¯ñ.o%üoG2¹/=L&›’¶£¡ž”«™¢p^4Rz T/YG6¨º´±¹â+ƒ}mRÁJLaüUÂðá~CCÜ¢ì2“B+#ÀqŸÜ0ËKyµ¯/剟ê³!xT÷Û˶fB¥ ™A®à´æ^1„ÞÍOR4˜sÑlÁ¿l>‘¸3ÈVoûÙR‡Êx7€›Üc7µ¦HÞèpq·èTÄÙ©Iï˘]Fùðw¡z&ëI®&’+%´¥ôá€ðøè¬ú‚Ÿ1X~‰ð“~ì&·´ÉÊ©™Q2~­·T߉AæÒd_W¦“Fâ÷×’®t…{vQƒ¬ˆ€cˆr©ì/øWo,¤ dm#…«*;p©G·k~D 6o=Øb©»Ä‡ñ>_r£åm#æ–²Dq}&L“s$tj¾Yýy ÝÐ endstream endobj 185 0 obj << /Type /FontDescriptor /FontName /YZHPRV+CMTT9 /Flags 4 /FontBBox [-6 -233 542 698] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet (/A/C/D/E/F/H/I/J/L/M/N/O/P/R/S/T/U/V/W/X/a/asciicircum/asterisk/at/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/dollar/e/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/q/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/v/w/x/y/z/zero) /FontFile 184 0 R >> endobj 27 0 obj << /Type /Font /Subtype /Type1 /BaseFont /QPOGGI+CMBX10 /FontDescriptor 147 0 R /FirstChar 12 /LastChar 121 /Widths 132 0 R >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /BaseFont /HIBXFY+CMBX12 /FontDescriptor 149 0 R /FirstChar 12 /LastChar 121 /Widths 139 0 R >> endobj 8 0 obj << /Type /Font /Subtype /Type1 /BaseFont /EUWOLL+CMBX9 /FontDescriptor 151 0 R /FirstChar 65 /LastChar 116 /Widths 141 0 R >> endobj 29 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZBVZQH+CMMI10 /FontDescriptor 153 0 R /FirstChar 59 /LastChar 62 /Widths 130 0 R >> endobj 125 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZPXWMS+CMMI9 /FontDescriptor 155 0 R /FirstChar 61 /LastChar 61 /Widths 126 0 R >> endobj 11 0 obj << /Type /Font /Subtype /Type1 /BaseFont /TWCUGQ+CMR10 /FontDescriptor 157 0 R /FirstChar 11 /LastChar 124 /Widths 138 0 R >> endobj 6 0 obj << /Type /Font /Subtype /Type1 /BaseFont /POYNZD+CMR12 /FontDescriptor 159 0 R /FirstChar 47 /LastChar 127 /Widths 143 0 R >> endobj 4 0 obj << /Type /Font /Subtype /Type1 /BaseFont /XEWKYT+CMR17 /FontDescriptor 161 0 R /FirstChar 84 /LastChar 112 /Widths 145 0 R >> endobj 13 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VDRGYX+CMR7 /FontDescriptor 163 0 R /FirstChar 48 /LastChar 65 /Widths 136 0 R >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /BaseFont /VVMUQT+CMR9 /FontDescriptor 165 0 R /FirstChar 13 /LastChar 121 /Widths 140 0 R >> endobj 14 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UZFVQY+CMSS10 /FontDescriptor 167 0 R /FirstChar 66 /LastChar 122 /Widths 135 0 R >> endobj 5 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CVHMWK+CMSS17 /FontDescriptor 169 0 R /FirstChar 97 /LastChar 121 /Widths 144 0 R >> endobj 41 0 obj << /Type /Font /Subtype /Type1 /BaseFont /NZBIAG+CMSS9 /FontDescriptor 171 0 R /FirstChar 97 /LastChar 112 /Widths 127 0 R >> endobj 30 0 obj << /Type /Font /Subtype /Type1 /BaseFont /KKINKT+CMSSBX10 /FontDescriptor 173 0 R /FirstChar 97 /LastChar 122 /Widths 129 0 R >> endobj 28 0 obj << /Type /Font /Subtype /Type1 /BaseFont /YLPRAX+CMSY10 /FontDescriptor 175 0 R /FirstChar 15 /LastChar 106 /Widths 131 0 R >> endobj 40 0 obj << /Type /Font /Subtype /Type1 /BaseFont /OJURKW+CMSY9 /FontDescriptor 177 0 R /FirstChar 3 /LastChar 105 /Widths 128 0 R >> endobj 15 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CPPQTC+CMTI10 /FontDescriptor 179 0 R /FirstChar 97 /LastChar 121 /Widths 134 0 R >> endobj 12 0 obj << /Type /Font /Subtype /Type1 /BaseFont /EKPTLZ+CMTT10 /FontDescriptor 181 0 R /FirstChar 33 /LastChar 125 /Widths 137 0 R >> endobj 7 0 obj << /Type /Font /Subtype /Type1 /BaseFont /DLVCNL+CMTT12 /FontDescriptor 183 0 R /FirstChar 45 /LastChar 121 /Widths 142 0 R >> endobj 20 0 obj << /Type /Font /Subtype /Type1 /BaseFont /YZHPRV+CMTT9 /FontDescriptor 185 0 R /FirstChar 33 /LastChar 125 /Widths 133 0 R >> endobj 16 0 obj << /Type /Pages /Count 6 /Parent 186 0 R /Kids [2 0 R 18 0 R 22 0 R 25 0 R 32 0 R 35 0 R] >> endobj 42 0 obj << /Type /Pages /Count 6 /Parent 186 0 R /Kids [38 0 R 44 0 R 47 0 R 50 0 R 53 0 R 56 0 R] >> endobj 61 0 obj << /Type /Pages /Count 6 /Parent 186 0 R /Kids [59 0 R 63 0 R 66 0 R 69 0 R 72 0 R 75 0 R] >> endobj 80 0 obj << /Type /Pages /Count 6 /Parent 186 0 R /Kids [78 0 R 82 0 R 85 0 R 88 0 R 91 0 R 94 0 R] >> endobj 99 0 obj << /Type /Pages /Count 6 /Parent 186 0 R /Kids [97 0 R 101 0 R 104 0 R 107 0 R 110 0 R 113 0 R] >> endobj 118 0 obj << /Type /Pages /Count 3 /Parent 186 0 R /Kids [116 0 R 120 0 R 123 0 R] >> endobj 186 0 obj << /Type /Pages /Count 33 /Kids [16 0 R 42 0 R 61 0 R 80 0 R 99 0 R 118 0 R] >> endobj 187 0 obj << /Type /Catalog /Pages 186 0 R >> endobj 188 0 obj << /Producer (pdfTeX-1.40.3) /Creator (TeX) /CreationDate (D:20091101204554+01'00') /ModDate (D:20091101204554+01'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6) >> endobj xref 0 189 0000000000 65535 f 0000002139 00000 n 0000002027 00000 n 0000000015 00000 n 0000190242 00000 n 0000190806 00000 n 0000190101 00000 n 0000191805 00000 n 0000189534 00000 n 0000190523 00000 n 0000189391 00000 n 0000189959 00000 n 0000191662 00000 n 0000190383 00000 n 0000190663 00000 n 0000191519 00000 n 0000192089 00000 n 0000004903 00000 n 0000004788 00000 n 0000002332 00000 n 0000191947 00000 n 0000008127 00000 n 0000008012 00000 n 0000004996 00000 n 0000010284 00000 n 0000010169 00000 n 0000008243 00000 n 0000189248 00000 n 0000191235 00000 n 0000189675 00000 n 0000191090 00000 n 0000013751 00000 n 0000013636 00000 n 0000010461 00000 n 0000017530 00000 n 0000017415 00000 n 0000013892 00000 n 0000020660 00000 n 0000020545 00000 n 0000017658 00000 n 0000191378 00000 n 0000190948 00000 n 0000192198 00000 n 0000022687 00000 n 0000022572 00000 n 0000020836 00000 n 0000024897 00000 n 0000024782 00000 n 0000022816 00000 n 0000026435 00000 n 0000026320 00000 n 0000025013 00000 n 0000028729 00000 n 0000028614 00000 n 0000026539 00000 n 0000030375 00000 n 0000030260 00000 n 0000028845 00000 n 0000032502 00000 n 0000032387 00000 n 0000030479 00000 n 0000192308 00000 n 0000034628 00000 n 0000034513 00000 n 0000032618 00000 n 0000036595 00000 n 0000036480 00000 n 0000034744 00000 n 0000038945 00000 n 0000038830 00000 n 0000036699 00000 n 0000041476 00000 n 0000041361 00000 n 0000039061 00000 n 0000042668 00000 n 0000042553 00000 n 0000041592 00000 n 0000044648 00000 n 0000044533 00000 n 0000042760 00000 n 0000192418 00000 n 0000046848 00000 n 0000046733 00000 n 0000044752 00000 n 0000049083 00000 n 0000048968 00000 n 0000046964 00000 n 0000050599 00000 n 0000050484 00000 n 0000049199 00000 n 0000052341 00000 n 0000052226 00000 n 0000050703 00000 n 0000054377 00000 n 0000054262 00000 n 0000052445 00000 n 0000056655 00000 n 0000056540 00000 n 0000054505 00000 n 0000192528 00000 n 0000058989 00000 n 0000058871 00000 n 0000056783 00000 n 0000060949 00000 n 0000060831 00000 n 0000059094 00000 n 0000063344 00000 n 0000063226 00000 n 0000061066 00000 n 0000065746 00000 n 0000065628 00000 n 0000063461 00000 n 0000067616 00000 n 0000067498 00000 n 0000065851 00000 n 0000069152 00000 n 0000069033 00000 n 0000067721 00000 n 0000192643 00000 n 0000070938 00000 n 0000070819 00000 n 0000069257 00000 n 0000072034 00000 n 0000071915 00000 n 0000071055 00000 n 0000189817 00000 n 0000072176 00000 n 0000072201 00000 n 0000072314 00000 n 0000072949 00000 n 0000073112 00000 n 0000073153 00000 n 0000073688 00000 n 0000074315 00000 n 0000074706 00000 n 0000074861 00000 n 0000075212 00000 n 0000075335 00000 n 0000075726 00000 n 0000076358 00000 n 0000076995 00000 n 0000077638 00000 n 0000077967 00000 n 0000078448 00000 n 0000078900 00000 n 0000079065 00000 n 0000079258 00000 n 0000085609 00000 n 0000085918 00000 n 0000094469 00000 n 0000094804 00000 n 0000097472 00000 n 0000097704 00000 n 0000099629 00000 n 0000099868 00000 n 0000101520 00000 n 0000101745 00000 n 0000117200 00000 n 0000117705 00000 n 0000121589 00000 n 0000121856 00000 n 0000124883 00000 n 0000125115 00000 n 0000128622 00000 n 0000128890 00000 n 0000135274 00000 n 0000135569 00000 n 0000140380 00000 n 0000140653 00000 n 0000143174 00000 n 0000143407 00000 n 0000145807 00000 n 0000146036 00000 n 0000148589 00000 n 0000148824 00000 n 0000151354 00000 n 0000151690 00000 n 0000153341 00000 n 0000153604 00000 n 0000159447 00000 n 0000159706 00000 n 0000170364 00000 n 0000170814 00000 n 0000174696 00000 n 0000174955 00000 n 0000188671 00000 n 0000192736 00000 n 0000192833 00000 n 0000192886 00000 n trailer << /Size 189 /Root 187 0 R /Info 188 0 R /ID [<6761417C7E9EEA56D1F4A32CC8B5E1E8> <6761417C7E9EEA56D1F4A32CC8B5E1E8>] >> startxref 193141 %%EOF lhs2tex-1.18.1/mkinstalldirs0000755000175000001440000000133012022734320015164 0ustar andresusers#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain # $Id: mkinstalldirs,v 1.1 2003/05/07 11:33:44 cvs-4 Exp $ errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" 1>&2 mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here lhs2tex-1.18.1/install-sh0000755000175000001440000001273612022734320014376 0ustar andresusers#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 lhs2tex-1.18.1/Examples/0000755000175000001440000000000012022734321014140 5ustar andresuserslhs2tex-1.18.1/Examples/Unlit.lhs0000644000175000001440000000770612022734321015755 0ustar andresusers% lhs2TeX -math -align 33 Unlit.lhs > Unlit.tex \documentclass{article} \usepackage[german]{babel} %-------------------------------= -------------------------------------------- %include ../lhs2TeX.sty %include ../lhs2TeX.fmt %-------------------------------= -------------------------------------------- \begin{document} %-------------------------------= -------------------------------------------- \section{\texttt{unlit}} %-------------------------------= -------------------------------------------- Literate-Skripte, die Bird-Tracks verwenden, in Skripte "uberf"uhren, die die Pseudo-\TeX-Kommandos \verb|\begin{code}|, \verb|\end{code}| verwenden. Das Programm realisiert einen einfachen UNIX-Filter. Synopsis: % \begin{verbatim} unlit unlit \end{verbatim} %-------------------------------= -------------------------------------------- %if code || showModuleHeader > module Main ( main ) > where > > import Char ( isSpace ) > import System ( getArgs ) > import Auxiliaries ( (.>) ) %endif > data Class = Program LineNo Line > | Spec LineNo Line > | Blank LineNo Line > | Comment LineNo Line > > type LineNo = Int > type Line = String > beginCode, endCode, > beginSpec, endSpec :: Line > beginCode = "\\begin{code}" > endCode = "\\end\&{code}" > beginSpec = "\\begin{spec}" > endSpec = "\\end{spec}" \NB Damit \verb|"\\end{code}"| nicht das Codesegment beendet, wird ein Nullstring eingef"ugt: \verb|"\\end\&{code}"|. > main :: IO () > main = do args <- getArgs > unlit args > > unlit [] = getContents >>= (putStr . convert) > unlit (filePath : _) = readFile filePath >>= (putStr . convert) Fehlt: Fehlerbehandlung, wenn die Datei nicht vorhanden oder nicht lesbar ist. > convert :: String -> String > convert = lines > .> zip [1 ..] -- number > .> map classify > .> format > .> unlines > classify :: (LineNo, Line) -> Class > classify (n, '>' : s) = Program n (' ' : s) > classify (n, '<' : s) = Spec n (' ' : s) > classify (n, s) > | all isSpace s = Blank n s > classify (n, s) = Comment n s Die Formatierung wird mit einem einfachen endlichen Automaten mit f"unf Zust"anden vorgenommen. Es wird darauf geachtet, da"s die Anzahl der Zeilen nicht ver"andert wird. > format :: [Class] -> [Line] > format [] = [] > format (Program _ a : x) = (beginCode ++ a) : inProgram x > format (Spec _ a : x) = (beginSpec ++ a) : inSpec x > format (Blank _ a : x) = inBlank a x > format (Comment _ a : x) = a : inComment x > inBlank :: Line -> [Class] -> [Line] > inBlank a [] = [a] > inBlank a (Program _ b : x) = beginCode : b : inProgram x > inBlank a (Spec _ b : x) = beginSpec : b : inSpec x > inBlank a (Blank _ b : x) = a : inBlank b x > inBlank a (Comment _ b : x) = a : b : inComment x > inProgram :: [Class] -> [Line] > inProgram [] = [ endCode ] > inProgram (Program _ a : x) = a : inProgram x > inProgram (Spec n a : x) = message n "program line" "specification line" > inProgram (Blank _ a : x) = endCode : format x > inProgram (Comment n a : x) = message n "program line" "comment" > inSpec :: [Class] -> [Line] > inSpec [] = [ endSpec ] > inSpec (Program n a : x) = message n "specification line" "program line" > inSpec (Spec _ a : x) = a : inSpec x > inSpec (Blank _ a : x) = endSpec : format x > inSpec (Comment n a : x) = message n "specification line" "comment" > inComment :: [Class] -> [Line] > inComment [] = [] > inComment (Program n a : x) = message n "comment" "program line" > inComment (Spec n a : x) = message n "comment" "specification line" > inComment (Blank _ a : x) = inBlank a x > inComment (Comment _ a : x) = a : inComment x > message :: LineNo -> String -> String -> a > message n x y = error ("line " ++ show n ++ ": " > ++ x ++ " next to " ++ y ++ "\n") \end{document} lhs2tex-1.18.1/Examples/HelloWorld.lhs0000644000175000001440000000033112022734321016720 0ustar andresusers\documentclass{article} %include polycode.fmt \begin{document} This is the famous ``Hello world'' example, written in Haskell: \begin{code} main :: IO () main = putStrLn "Hello, world!" \end{code} \end{document} lhs2tex-1.18.1/Examples/UnlitP.lhs0000644000175000001440000001011412022734321016060 0ustar andresusers% lhs2TeX --poly UnlitP.lhs > UnlitP.tex \documentclass{article} \usepackage[german]{babel} %-------------------------------= -------------------------------------------- %include lhs2TeX.sty %include lhs2TeX.fmt %-------------------------------= -------------------------------------------- \begin{document} %-------------------------------= -------------------------------------------- \section{\texttt{unlit}} %-------------------------------= -------------------------------------------- Literate-Skripte, die Bird-Tracks verwenden, in Skripte "uberf"uhren, die die Pseudo-\TeX-Kommandos \verb|\begin{code}|, \verb|\end{code}| verwenden. Das Programm realisiert einen einfachen UNIX-Filter. Synopsis: % \begin{verbatim} unlit unlit \end{verbatim} %-------------------------------= -------------------------------------------- %if code || showModuleHeader > module Main ( main ) > where > > import Char ( isSpace ) > import System ( getArgs ) > import Auxiliaries ( (.>) ) %endif > data Class = Program LineNo Line > | Spec LineNo Line > | Blank LineNo Line > | Comment LineNo Line > > type LineNo = Int > type Line = String > beginCode, endCode, > beginSpec, endSpec :: Line > beginCode = "\\begin{code}" > endCode = "\\end\&{code}" > beginSpec = "\\begin{spec}" > endSpec = "\\end{spec}" \NB Damit \verb|"\\end{code}"| nicht das Codesegment beendet, wird ein Nullstring eingef"ugt: \verb|"\\end\&{code}"|. > main :: IO () > main = do args <- getArgs > unlit args > > unlit [] = getContents >>= (putStr . convert) > unlit (filePath : _) = readFile filePath >>= (putStr . convert) Fehlt: Fehlerbehandlung, wenn die Datei nicht vorhanden oder nicht lesbar ist. > convert :: String -> String > convert = lines > .> zip [1 ..] -- number > .> map classify > .> format > .> unlines > classify :: (LineNo, Line) -> Class > classify (n, '>' : s) = Program n (' ' : s) > classify (n, '<' : s) = Spec n (' ' : s) > classify (n, s) > | all isSpace s = Blank n s > classify (n, s) = Comment n s Die Formatierung wird mit einem einfachen endlichen Automaten mit f"unf Zust"anden vorgenommen. Es wird darauf geachtet, da"s die Anzahl der Zeilen nicht ver"andert wird. \rightcolumn{52}% > format :: [Class] -> [Line] > format [] = [] > format (Program _ a : x) = (beginCode ++ a) : inProgram x > format (Spec _ a : x) = (beginSpec ++ a) : inSpec x > format (Blank _ a : x) = inBlank a x > format (Comment _ a : x) = a : inComment x \rightcolumn{45}% \rightcolumn{37}% > inBlank :: Line -> [Class] -> [Line] > inBlank a [] = [a] > inBlank a (Program _ b : x) = beginCode : b : inProgram x > inBlank a (Spec _ b : x) = beginSpec : b : inSpec x > inBlank a (Blank _ b : x) = a : inBlank b x > inBlank a (Comment _ b : x) = a : b : inComment x \rightcolumn{45}% \rightcolumn{37}% > inProgram :: [Class] -> [Line] > inProgram [] = [endCode] > inProgram (Program _ a : x) = a : inProgram x > inProgram (Spec n a : x) = message n "program line" "specification line" > inProgram (Blank _ a : x) = endCode : format x > inProgram (Comment n a : x) = message n "program line" "comment" \rightcolumn{45}% \rightcolumn{37}% > inSpec :: [Class] -> [Line] > inSpec [] = [endSpec] > inSpec (Program n a : x) = message n "specification line" "program line" > inSpec (Spec _ a : x) = a : inSpec x > inSpec (Blank _ a : x) = endSpec : format x > inSpec (Comment n a : x) = message n "specification line" "comment" > inComment :: [Class] -> [Line] > inComment [] = [] > inComment (Program n a : x) = message n "comment" "program line" > inComment (Spec n a : x) = message n "comment" "specification line" > inComment (Blank _ a : x) = inBlank a x > inComment (Comment _ a : x) = a : inComment x > message :: LineNo -> String -> String -> a > message n x y = error ("line " ++ show n ++ ": " > ++ x ++ " next to " ++ y ++ "\n") \end{document} lhs2tex-1.18.1/Examples/FormatAlign.lhs0000644000175000001440000000263512022734321017061 0ustar andresusers\documentclass{article} %include lhs2TeX.fmt %include lhs2TeX.sty %include spacing.fmt \begin{document} It is irrelevant how typ is formatted, but it must be a parametrized format for the bug to be triggered. %format typ(a) = a This is a @lhs2TeX@ bug. The double colons are not aligned, although they should be. \begin{code} map ^^ typ( a1 :: *, a2 :: * ) :: (map ^^ typ(a1,a2)) => a1 -> a2 zipWith^^ typ( a1 :: *, a2 :: *, a3 :: * ) :: (zipWith ^^ typ(a1,a2,a3)) => a1 -> a2 -> a3 collect^^ typ( a :: * | b :: * ) :: (collect ^^ typ(a | b)) => a -> [c] equal ^^ typ( a :: * ) :: ( enum ^^ typ(a), equal ^^ typ(a)) => a -> a -> Bool ^^. \end{code} This is a workaround: \begin{code} map ^^ typ( a1 :: *, a2 :: * ) ^ :: (map ^^ typ(a1,a2)) => a1 -> a2 zipWith^^ typ( a1 :: *, a2 :: *, a3 :: * ) ^ :: (zipWith ^^ typ(a1,a2,a3)) => a1 -> a2 -> a3 collect^^ typ( a :: * | b :: * ) ^ :: (collect ^^ typ(a | b)) => a -> [c] equal ^^ typ( a :: * ) ^ :: ( enum ^^ typ(a), equal ^^ typ(a)) => a -> a -> Bool ^^. \end{code} \end{document} lhs2tex-1.18.1/Examples/lhs2TeXpre0000755000175000001440000000046612022734321016074 0ustar andresusers#! /bin/sh # wrapper for use with GHC/GHCi # -pgmF lhs2TeXpre -F LHSHOME=.. if [ "$1" == "$2" ]; then cp "$2" "$3" else if grep -q "^%include" "$1"; then TARGET=$3 # echo Calling with TARGET=${TARGET} ${LHSHOME}/lhs2TeX --newcode -P${LHSHOME}: $1 > ${TARGET} else cp "$2" "$3" fi fi lhs2tex-1.18.1/Examples/MaxSegment.lhs0000644000175000001440000000456612022734321016733 0ustar andresusers% lhs2TeX -verb MaxSegment.lhs > MaxSegment.tex % lhs2TeX -math -align 33 MaxSegment.lhs > MaxSegment.tex \documentclass{article} \usepackage[german]{babel} %-------------------------------= -------------------------------------------- %include ../lhs2TeX.sty %include ../lhs2TeX.fmt %-------------------------------= -------------------------------------------- %if style == math %format alpha = "\alpha " %format a1 %format an = a "_n" %elif style == verb %format a1 = "a$_1$" %format an = "a$_n$" %endif \begin{document} So ist |\x -> x + 1| die Nachfolgerfunktion. Diese Aufgabe ist dem Artikel `Proofs as Programs' von Bates und Constable entnommen. Gegeben ist eine Folge von ganzen Zahlen |[a1, ..., an]|. Finde die zusammenh"angende Teilfolge, deren Summe maximal ist unter allen zusammenh"angenden Teilfolgen. F"ur die Folge > seg :: [Integer] > seg = [-3, 2, -5, 3, -1, 2] ist die Teilfolge |[3, -1, 2]| mit der Summe |4| maximal. Die Funktion |segments x| berechnet alle zusammenh"angenden Segmente der Liste |x|. > type Segment alpha = [alpha] > segments :: [a] -> [Segment a] > segments x = s ++ t > where (s, t) = segments' x Ist das Ergebnis der Hilfsfunktion |segments x| das Tupel |(s, t)|, so enth"alt |s| alle echten Pr"afixe von |x| und |t| alle "ubrigen Segmente von |x|. > segments' :: [a] -> ([Segment a], [Segment a]) > segments' [] = ([], []) > segments' (a : x) = ([a] : [ a : y | y <- s ], s ++ t) > where (s, t) = segments' x Die Funktion |maxSegment x| berechnet auf effiziente Weise die L"osung f"ur das oben genannte Problem, d.h. sie realisiert die folgende Spezifikation. < maxSegment :: (Num a, Ord a) => [a] -> a < maxSegment x = maximum [ sum s | s <- segments x ] Die Vorgehensweise entspricht im wesentlichen dem oben geschilderten Verfahren. Beachte, da"s |maxSegment []| undefiniert ist. > maxSegment :: (Num a, Ord a) => [a] -> a > maxSegment x = snd (maxSegment' x) > > maxSegment' :: (Num a, Ord a) => [a] -> (a, a) > maxSegment' [a] = (a, a) > maxSegment' (a : x) = (n, m `max` n) > where (l, m) = maxSegment' x > n = a `max` (a + l) Zur "Ubung: erweitere |maxSegment|, so da"s nicht nur die Summe, sondern zus"atzlich, das dazugeh"orige Segment zur"uckgegeben wird. < min a b | a <= b = a -- vordefiniert < | otherwise = b \end{document} lhs2tex-1.18.1/CHANGELOG0000644000175000001440000000026612022734320013577 0ustar andresusersChanges (w.r.t. lhs2TeX 1.16) ----------------------------- * Cabal-1.10 support * Fix for file permissions problem of installed files * Several improvements to the documentation lhs2tex-1.18.1/configure0000755000175000001440000034034212022734320014276 0ustar andresusers#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for lhs2tex 1.18.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='lhs2tex' PACKAGE_TARNAME='lhs2tex' PACKAGE_VERSION='1.18.1' PACKAGE_STRING='lhs2tex 1.18.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_subst_vars='LTLIBOBJS LIBOBJS SEP LHS2TEX stydir MKTEXLSR POLYTABLE_INSTALL texmf KPSEWHICH DVIPS GV XDVI PDFLATEX LATEX FIND UNIQ SORT SED GREP DIFF TOUCH MKDIR RM CP MV LN_S INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM HUGS GHC PRE NUMVERSION SHORTVERSION VERSION target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking with_texmf enable_polytable ' ac_precious_vars='build_alias host_alias target_alias' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures lhs2tex 1.18.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/lhs2tex] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of lhs2tex 1.18.1:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-polytable do not install polytable TeX package Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-texmf=DIR path to an existing texmf tree [$TEXMFLOCAL] Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF lhs2tex configure 1.18.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by lhs2tex $as_me 1.18.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu VERSION="1.18.1" SHORTVERSION="1.18.1" NUMVERSION=118 PRE=1 # check for Haskell compiler # Extract the first word of "ghc", so it can be a program name with args. set dummy ghc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GHC+:} false; then : $as_echo_n "(cached) " >&6 else case $GHC in [\\/]* | ?:[\\/]*) ac_cv_path_GHC="$GHC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GHC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GHC=$ac_cv_path_GHC if test -n "$GHC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GHC" >&5 $as_echo "$GHC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # check for Hugs (only for documentation) # Extract the first word of "hugs", so it can be a program name with args. set dummy hugs; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_HUGS+:} false; then : $as_echo_n "(cached) " >&6 else case $HUGS in [\\/]* | ?:[\\/]*) ac_cv_path_HUGS="$HUGS" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_HUGS="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi HUGS=$ac_cv_path_HUGS if test -n "$HUGS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HUGS" >&5 $as_echo "$HUGS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # install command ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # symbolic links { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # other programs # Extract the first word of "mv", so it can be a program name with args. set dummy mv; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MV+:} false; then : $as_echo_n "(cached) " >&6 else case $MV in [\\/]* | ?:[\\/]*) ac_cv_path_MV="$MV" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MV="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MV=$ac_cv_path_MV if test -n "$MV"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MV" >&5 $as_echo "$MV" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "cp", so it can be a program name with args. set dummy cp; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_CP+:} false; then : $as_echo_n "(cached) " >&6 else case $CP in [\\/]* | ?:[\\/]*) ac_cv_path_CP="$CP" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi CP=$ac_cv_path_CP if test -n "$CP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CP" >&5 $as_echo "$CP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "rm", so it can be a program name with args. set dummy rm; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_RM+:} false; then : $as_echo_n "(cached) " >&6 else case $RM in [\\/]* | ?:[\\/]*) ac_cv_path_RM="$RM" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi RM=$ac_cv_path_RM if test -n "$RM"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RM" >&5 $as_echo "$RM" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "mkdir", so it can be a program name with args. set dummy mkdir; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MKDIR+:} false; then : $as_echo_n "(cached) " >&6 else case $MKDIR in [\\/]* | ?:[\\/]*) ac_cv_path_MKDIR="$MKDIR" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MKDIR="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MKDIR=$ac_cv_path_MKDIR if test -n "$MKDIR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR" >&5 $as_echo "$MKDIR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "touch", so it can be a program name with args. set dummy touch; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_TOUCH+:} false; then : $as_echo_n "(cached) " >&6 else case $TOUCH in [\\/]* | ?:[\\/]*) ac_cv_path_TOUCH="$TOUCH" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_TOUCH="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi TOUCH=$ac_cv_path_TOUCH if test -n "$TOUCH"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOUCH" >&5 $as_echo "$TOUCH" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "diff", so it can be a program name with args. set dummy diff; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_DIFF+:} false; then : $as_echo_n "(cached) " >&6 else case $DIFF in [\\/]* | ?:[\\/]*) ac_cv_path_DIFF="$DIFF" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_DIFF="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi DIFF=$ac_cv_path_DIFF if test -n "$DIFF"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DIFF" >&5 $as_echo "$DIFF" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "grep", so it can be a program name with args. set dummy grep; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else case $GREP in [\\/]* | ?:[\\/]*) ac_cv_path_GREP="$GREP" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GREP="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GREP=$ac_cv_path_GREP if test -n "$GREP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GREP" >&5 $as_echo "$GREP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "sed", so it can be a program name with args. set dummy sed; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else case $SED in [\\/]* | ?:[\\/]*) ac_cv_path_SED="$SED" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi SED=$ac_cv_path_SED if test -n "$SED"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 $as_echo "$SED" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "sort", so it can be a program name with args. set dummy sort; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_SORT+:} false; then : $as_echo_n "(cached) " >&6 else case $SORT in [\\/]* | ?:[\\/]*) ac_cv_path_SORT="$SORT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_SORT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi SORT=$ac_cv_path_SORT if test -n "$SORT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SORT" >&5 $as_echo "$SORT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "uniq", so it can be a program name with args. set dummy uniq; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_UNIQ+:} false; then : $as_echo_n "(cached) " >&6 else case $UNIQ in [\\/]* | ?:[\\/]*) ac_cv_path_UNIQ="$UNIQ" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_UNIQ="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi UNIQ=$ac_cv_path_UNIQ if test -n "$UNIQ"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNIQ" >&5 $as_echo "$UNIQ" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "find", so it can be a program name with args. set dummy find; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_FIND+:} false; then : $as_echo_n "(cached) " >&6 else case $FIND in [\\/]* | ?:[\\/]*) ac_cv_path_FIND="$FIND" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi FIND=$ac_cv_path_FIND if test -n "$FIND"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FIND" >&5 $as_echo "$FIND" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "latex", so it can be a program name with args. set dummy latex; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_LATEX+:} false; then : $as_echo_n "(cached) " >&6 else case $LATEX in [\\/]* | ?:[\\/]*) ac_cv_path_LATEX="$LATEX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_LATEX="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi LATEX=$ac_cv_path_LATEX if test -n "$LATEX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LATEX" >&5 $as_echo "$LATEX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "pdflatex", so it can be a program name with args. set dummy pdflatex; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PDFLATEX+:} false; then : $as_echo_n "(cached) " >&6 else case $PDFLATEX in [\\/]* | ?:[\\/]*) ac_cv_path_PDFLATEX="$PDFLATEX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PDFLATEX="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PDFLATEX=$ac_cv_path_PDFLATEX if test -n "$PDFLATEX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDFLATEX" >&5 $as_echo "$PDFLATEX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xdvi", so it can be a program name with args. set dummy xdvi; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XDVI+:} false; then : $as_echo_n "(cached) " >&6 else case $XDVI in [\\/]* | ?:[\\/]*) ac_cv_path_XDVI="$XDVI" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XDVI="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XDVI=$ac_cv_path_XDVI if test -n "$XDVI"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XDVI" >&5 $as_echo "$XDVI" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gv", so it can be a program name with args. set dummy gv; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GV+:} false; then : $as_echo_n "(cached) " >&6 else case $GV in [\\/]* | ?:[\\/]*) ac_cv_path_GV="$GV" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GV="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GV=$ac_cv_path_GV if test -n "$GV"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GV" >&5 $as_echo "$GV" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "dvips", so it can be a program name with args. set dummy dvips; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_DVIPS+:} false; then : $as_echo_n "(cached) " >&6 else case $DVIPS in [\\/]* | ?:[\\/]*) ac_cv_path_DVIPS="$DVIPS" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_DVIPS="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi DVIPS=$ac_cv_path_DVIPS if test -n "$DVIPS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DVIPS" >&5 $as_echo "$DVIPS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # texmf tree # Check whether --with-texmf was given. if test "${with_texmf+set}" = set; then : withval=$with_texmf; case "$withval" in yes|no) texmf= ;; *) texmf="$withval" ;; esac fi # Extract the first word of "kpsewhich", so it can be a program name with args. set dummy kpsewhich; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_KPSEWHICH+:} false; then : $as_echo_n "(cached) " >&6 else case $KPSEWHICH in [\\/]* | ?:[\\/]*) ac_cv_path_KPSEWHICH="$KPSEWHICH" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_KPSEWHICH="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi KPSEWHICH=$ac_cv_path_KPSEWHICH if test -n "$KPSEWHICH"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KPSEWHICH" >&5 $as_echo "$KPSEWHICH" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$texmf"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a texmf tree" >&5 $as_echo_n "checking for a texmf tree... " >&6; } # If user did not specify something, try it ourselves if ${ac_cv_texmf_tree+:} false; then : $as_echo_n "(cached) " >&6 else if test -x "$KPSEWHICH"; then ac_cv_texmf_tree=`$KPSEWHICH --expand-var='$TEXMFLOCAL'` if test -z "$ac_cv_texmf_tree"; then ac_cv_texmf_tree=`$KPSEWHICH --expand-var='$TEXMFMAIN'` fi fi if test -z "$ac_cv_texmf_tree"; then # try some common paths for i in /usr/share/texmf /usr/local/share/texmf; do if test -d $$i; then ac_cv_texmf_tree=$$i break fi done fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_texmf_tree" >&5 $as_echo "$ac_cv_texmf_tree" >&6; } texmf="$ac_cv_texmf_tree" else ac_cv_texmf_tree="$texmf" fi if test -n "$texmf"; then cat >>confdefs.h <<_ACEOF #define TEXMFTOP "$texmf" _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for texmf.cnf" >&5 $as_echo_n "checking for texmf.cnf... " >&6; } if test -x "$KPSEWHICH"; then texmfcnf="`$KPSEWHICH --format=web2c texmf.cnf`" fi if test -z "$texmfcnf"; then texmfcnf="$texmf/web2c/texmf.cnf" fi if test -f "$texmfcnf"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<_ACEOF #define TEXMF_IS_WEB2C 1 _ACEOF texmf_is_web2c=yes else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } texmf_is_web2c=no fi fi # Check whether --enable-polytable was given. if test "${enable_polytable+set}" = set; then : enableval=$enable_polytable; POLYTABLE_INSTALL=$enableval else POLYTABLE_INSTALL=yes fi if test "z$POLYTABLE_INSTALL" = "zyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the polytable package" >&5 $as_echo_n "checking for the polytable package... " >&6; } if test -x "$KPSEWHICH"; then POLYTABLE="`$KPSEWHICH polytable.sty`" fi if test -f "$POLYTABLE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POLYTABLE" >&5 $as_echo "$POLYTABLE" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version of polytable" >&5 $as_echo_n "checking for version of polytable... " >&6; } POLYTABLE_VERSION=`$GREP " v.* .polytable. package" $POLYTABLE | $SED -e "s/^.*v\(.*\) .polytable. package.*$/\1/"` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POLYTABLE_VERSION" >&5 $as_echo "$POLYTABLE_VERSION" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # does polytable need to be installed? { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether polytable needs to be installed" >&5 $as_echo_n "checking whether polytable needs to be installed... " >&6; } POLYTABLE_INSTALL=no if test -n $POLYTABLE; then if ( IFS="."; a="$POLYTABLE_VERSION"; b="0.8.2"; while test -n "$a$b" do set -- $a; h1="$1"; shift 2>/dev/null; a="$*" set -- $b; h2="$1"; shift 2>/dev/null; b="$*" test -n "$h1" || h1=0; test -n "$h2" || h2=0 test ${h1} -eq ${h2} || break done test ${h1} -lt ${h2} ) then POLYTABLE_INSTALL=yes fi else POLYTABLE_INSTALL=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $POLYTABLE_INSTALL" >&5 $as_echo "$POLYTABLE_INSTALL" >&6; } fi # Extract the first word of "mktexlsr", so it can be a program name with args. set dummy mktexlsr; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MKTEXLSR+:} false; then : $as_echo_n "(cached) " >&6 else case $MKTEXLSR in [\\/]* | ?:[\\/]*) ac_cv_path_MKTEXLSR="$MKTEXLSR" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MKTEXLSR="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MKTEXLSR=$ac_cv_path_MKTEXLSR if test -n "$MKTEXLSR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKTEXLSR" >&5 $as_echo "$MKTEXLSR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # docdir and expansion docdir="$datadir/doc/$PACKAGE_TARNAME-$PACKAGE_VERSION" stydir="$datadir/$PACKAGE_TARNAME-$PACKAGE_VERSION" # lhs2TeX binary path relative to docdir LHS2TEX="../lhs2TeX" # search path separator SEP=":" ac_config_files="$ac_config_files config.mk src/Version.lhs lhs2TeX.1 doc/InteractiveHugs.lhs doc/InteractivePre.lhs" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by lhs2tex $as_me 1.18.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ lhs2tex config.status 1.18.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; "src/Version.lhs") CONFIG_FILES="$CONFIG_FILES src/Version.lhs" ;; "lhs2TeX.1") CONFIG_FILES="$CONFIG_FILES lhs2TeX.1" ;; "doc/InteractiveHugs.lhs") CONFIG_FILES="$CONFIG_FILES doc/InteractiveHugs.lhs" ;; "doc/InteractivePre.lhs") CONFIG_FILES="$CONFIG_FILES doc/InteractivePre.lhs" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi echo "Configuration succesfully completed." echo "Say" echo " make to compile and build documentation" echo " make bin to compile the binary only" echo " make install to (compile and) install" lhs2tex-1.18.1/config.mk.in0000644000175000001440000000210412022734320014561 0ustar andresusers PACKAGE_TARNAME := @PACKAGE_TARNAME@ PACKAGE_VERSION := @PACKAGE_VERSION@ DISTDIR := $(PACKAGE_TARNAME)-$(PACKAGE_VERSION) bindir = @bindir@ datarootdir = @datarootdir@ datadir = @datadir@ stydir = @stydir@ docdir = @docdir@ mandir = @mandir@ prefix = @prefix@ exec_prefix = @exec_prefix@ # binpath := $(HOME)/bin GHC = @GHC@ # GHCFLAGS := -Wall -O -recomp GHCFLAGS = -O HUGS = @HUGS@ INSTALL = @INSTALL@ MV = @MV@ CP = @CP@ RM = @RM@ MKDIR = @MKDIR@ TOUCH = @TOUCH@ DIFF = @DIFF@ FIND = @FIND@ LN_S = @LN_S@ LATEX = @LATEX@ PDFLATEX = @PDFLATEX@ XDVI = @XDVI@ GV = @GV@ DVIPS = @DVIPS@ SED = @SED@ GREP = @GREP@ SORT = @SORT@ UNIQ = @UNIQ@ polydir = @texmf@/tex/latex/polytable texdir = @texmf@/tex/latex/lhs2tex INSTALL_POLYTABLE = @POLYTABLE_INSTALL@ MKTEXLSR = @MKTEXLSR@ lhs2tex-1.18.1/Library/0000755000175000001440000000000012022734321013766 5ustar andresuserslhs2tex-1.18.1/Library/polycode.fmt0000644000175000001440000001310612022734321016315 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % polycode.fmt % % better code environment for poly style in lhs2TeX % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % % Andres Loeh, November 2008, ver 1.11 % % TODO: use \[ \] in arrayhs (fleqn problem) % think about penalties and better pagebreaks % by using \allowdisplaybreaks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_polycode_fmt_read %let lhs2tex_polycode_fmt_read = True %include lhs2TeX.fmt % %if style /= newcode % %if False % The follwing subst replaces the bad default from lhs2TeX.fmt. % The idea is to just provide the basic structure in the subst, and % let the rest be handled by a LaTeX environment. %endif % %subst code a = "\begin{hscode}\SaveRestoreHook'n" a "\ColumnHook'n\end{hscode}\resethooks'n" % % % This package provides two environments suitable to take the place % of hscode, called "plainhscode" and "arrayhscode". % % The plain environment surrounds each code block by vertical space, % and it uses \abovedisplayskip and \belowdisplayskip to get spacing % similar to formulas. Note that if these dimensions are changed, % the spacing around displayed math formulas changes as well. % All code is indented using \leftskip. % % Changed 19.08.2004 to reflect changes in colorcode. Should work with % CodeGroup.sty. % \ReadOnlyOnce{polycode.fmt}% \makeatletter \newcommand{\hsnewpar}[1]% {{\parskip=0pt\parindent=0pt\par\vskip #1\noindent}} % can be used, for instance, to redefine the code size, by setting the % command to \small or something alike \newcommand{\hscodestyle}{} % The command \sethscode can be used to switch the code formatting % behaviour by mapping the hscode environment in the subst directive % to a new LaTeX environment. \newcommand{\sethscode}[1]% {\expandafter\let\expandafter\hscode\csname #1\endcsname \expandafter\let\expandafter\endhscode\csname end#1\endcsname} % "compatibility" mode restores the non-polycode.fmt layout. \newenvironment{compathscode}% {\par\noindent \advance\leftskip\mathindent \hscodestyle \let\\=\@@normalcr \let\hspre\(\let\hspost\)% \pboxed}% {\endpboxed\)% \par\noindent \ignorespacesafterend} \newcommand{\compaths}{\sethscode{compathscode}} % "plain" mode is the proposed default. % It should now work with \centering. % This required some changes. The old version % is still available for reference as oldplainhscode. \newenvironment{plainhscode}% {\hsnewpar\abovedisplayskip \advance\leftskip\mathindent \hscodestyle \let\hspre\(\let\hspost\)% \pboxed}% {\endpboxed% \hsnewpar\belowdisplayskip \ignorespacesafterend} \newenvironment{oldplainhscode}% {\hsnewpar\abovedisplayskip \advance\leftskip\mathindent \hscodestyle \let\\=\@@normalcr \(\pboxed}% {\endpboxed\)% \hsnewpar\belowdisplayskip \ignorespacesafterend} % Here, we make plainhscode the default environment. \newcommand{\plainhs}{\sethscode{plainhscode}} \newcommand{\oldplainhs}{\sethscode{oldplainhscode}} \plainhs % The arrayhscode is like plain, but makes use of polytable's % parray environment which disallows page breaks in code blocks. \newenvironment{arrayhscode}% {\hsnewpar\abovedisplayskip \advance\leftskip\mathindent \hscodestyle \let\\=\@@normalcr \(\parray}% {\endparray\)% \hsnewpar\belowdisplayskip \ignorespacesafterend} \newcommand{\arrayhs}{\sethscode{arrayhscode}} % The mathhscode environment also makes use of polytable's parray % environment. It is supposed to be used only inside math mode % (I used it to typeset the type rules in my thesis). \newenvironment{mathhscode}% {\parray}{\endparray} \newcommand{\mathhs}{\sethscode{mathhscode}} % texths is similar to mathhs, but works in text mode. \newenvironment{texthscode}% {\(\parray}{\endparray\)} \newcommand{\texths}{\sethscode{texthscode}} % The framed environment places code in a framed box. \def\codeframewidth{\arrayrulewidth} \RequirePackage{calc} \newenvironment{framedhscode}% {\parskip=\abovedisplayskip\par\noindent \hscodestyle \arrayrulewidth=\codeframewidth \tabular{@@{}||p{\linewidth-2\arraycolsep-2\arrayrulewidth-2pt}||@@{}}% \hline\framedhslinecorrect\\{-1.5ex}% \let\endoflinesave=\\ \let\\=\@@normalcr \(\pboxed}% {\endpboxed\)% \framedhslinecorrect\endoflinesave{.5ex}\hline \endtabular \parskip=\belowdisplayskip\par\noindent \ignorespacesafterend} \newcommand{\framedhslinecorrect}[2]% {#1[#2]} \newcommand{\framedhs}{\sethscode{framedhscode}} % The inlinehscode environment is an experimental environment % that can be used to typeset displayed code inline. \newenvironment{inlinehscode}% {\(\def\column##1##2{}% \let\>\undefined\let\<\undefined\let\\\undefined \newcommand\>[1][]{}\newcommand\<[1][]{}\newcommand\\[1][]{}% \def\fromto##1##2##3{##3}% \def\nextline{}}{\) }% \newcommand{\inlinehs}{\sethscode{inlinehscode}} % The joincode environment is a separate environment that % can be used to surround and thereby connect multiple code % blocks. \newenvironment{joincode}% {\let\orighscode=\hscode \let\origendhscode=\endhscode \def\endhscode{\def\hscode{\endgroup\def\@@currenvir{hscode}\\}\begingroup} %\let\SaveRestoreHook=\empty %\let\ColumnHook=\empty %\let\resethooks=\empty \orighscode\def\hscode{\endgroup\def\@@currenvir{hscode}}}% {\origendhscode \global\let\hscode=\orighscode \global\let\endhscode=\origendhscode}% \makeatother \EndFmtInput % %endif %endif lhs2tex-1.18.1/Library/colorcode.fmt0000644000175000001440000000337112022734321016453 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % colorcode.fmt % % colored code for poly style in lhs2TeX % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % % Andres Loeh, January 2008, ver 1.7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_colorcode_fmt_read %let lhs2tex_colorcode_fmt_read = True %include polycode.fmt % %if style /= newcode \ReadOnlyOnce{colorcode.fmt}% \RequirePackage{colortbl} \RequirePackage{calc} \makeatletter \newenvironment{colorhscode}% {\hsnewpar\abovedisplayskip \hscodestyle \tabular{@@{}>{\columncolor{codecolor}}p{\linewidth}@@{}}% \let\\=\@@normalcr \(\pboxed}% {\endpboxed\)% \endtabular \hsnewpar\belowdisplayskip \ignorespacesafterend} \newenvironment{tightcolorhscode}% {\hsnewpar\abovedisplayskip \hscodestyle \tabular{@@{}>{\columncolor{codecolor}\(}l<{\)}@@{}}% \pmboxed}% {\endpmboxed% \endtabular \hsnewpar\belowdisplayskip \ignorespacesafterend} \newenvironment{barhscode}% {\hsnewpar\abovedisplayskip \hscodestyle \arrayrulecolor{codecolor}% \arrayrulewidth=\coderulewidth \tabular{||p{\linewidth-\arrayrulewidth-\tabcolsep}@@{}}% \let\\=\@@normalcr \(\pboxed}% {\endpboxed\)% \endtabular \hsnewpar\belowdisplayskip \ignorespacesafterend} \makeatother \def\colorcode{\columncolor{codecolor}} \definecolor{codecolor}{rgb}{1,1,.667} \newlength{\coderulewidth} \setlength{\coderulewidth}{3pt} \newcommand{\colorhs}{\sethscode{colorhscode}} \newcommand{\tightcolorhs}{\sethscode{tightcolorhscode}} \newcommand{\barhs}{\sethscode{barhscode}} \EndFmtInput %endif %endif lhs2tex-1.18.1/Library/exists.fmt0000644000175000001440000000152212022734321016015 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % exists.fmt % % Format exists x. y as \exists x. y in TeX, not as compose % Based on forall.fmt; look there for slightly more % documentation. % % Andres Loeh, September 2008, version 1.1 % Duncan Coutts, September 2008, copy'n'pasted from lambda.fmt % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_exists_fmt_read %let lhs2tex_exists_fmt_read = True %include lhs2TeX.fmt %include forall.fmt % %if style /= newcode %format exists(x) = exists_ x "\hsexists " %format exists_ = "\exists " % \ReadOnlyOnce{exists.fmt}% \makeatletter \newcommand\hsexists{\global\let\hsdot=\hsperiodonce} \AtHaskellReset{\global\let\hsdot=\hscompose} % In the beginning, we should reset Haskell once. \HaskellReset \makeatother \EndFmtInput %endif %endif lhs2tex-1.18.1/Library/greek.fmt0000644000175000001440000000345612022734321015603 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % greek.fmt % % Formatting of Greek characters. % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % % Andres Loeh, November 2005, ver 1.1 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_greek_fmt_read %let lhs2tex_greek_fmt_read = True % %if style == poly %format alpha = "\alpha " %format beta = "\beta " %format gamma = "\gamma " %format delta = "\delta " %format epsilon = "\varepsilon " %format zeta = "\zeta " %format eta = "\eta " %format theta = "\vartheta " %format iota = "\iota " %format kappa = "\kappa " %format lambda = "\lambda " %format mu = "\mu " %format nu = "\nu " %format omikron = "o" %format pi = "\pi " %format rho = "\rho " %format sigma = "\sigma " %format tau = "\tau " %format upsilon = "\upsilon " %format phi = "\varphi " %format chi = "\chi " %format psi = "\psi " %format omega = "\omega " %format Alpha = "\mathrm{A}" %format Beta = "\mathrm{B}" %format Gamma = "\Gamma " %format Delta = "\Delta " %format Epsilon = "\mathrm{E}" %format Zeta = "\mathrm{Z}" %format Eta = "\mathrm{H}" %format Theta = "\Theta " %format Iota = "\mathrm{I}" %format Kappa = "\mathrm{K}" %format Lambda = "\Lambda " %format Mu = "\mathrm{M}" %format Nu = "\mathrm{N}" %format Xi = "\Xi " %format Omikron = "\mathrm{O}" %format Pi = "\Pi " %format Rho = "\mathrm{P}" %format Sigma = "\Sigma " %format Tau = "\mathrm{T}" %format Upsilon = "\Upsilon " %format Phi = "\Phi " %format Chi = "\mathrm{X}" %format Psi = "\Psi " %format Omega = "\Omega " %endif %endiflhs2tex-1.18.1/Library/lambda.fmt0000644000175000001440000000172112022734321015717 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % lambda.fmt % % Format \ x -> y as \ x . y in TeX % Based on forall.fmt; look there for slightly more % documentation. % % Andres Loeh, September 2008, version 1.1 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_lambda_fmt_read %let lhs2tex_lambda_fmt_read = True %include lhs2TeX.fmt %include forall.fmt % %if style /= newcode %format \ = lambda_ "\hslambda " %format -> = "\hsarrow{" `arrow_` "}{" lambdaperiod_ "}" %format `arrow_` = "\rightarrow " %format lambda_ = "\lambda " %format lambdaperiod_ = "\mathpunct{.}" % \ReadOnlyOnce{lambda.fmt}% \makeatletter \newcommand\hslambda{\global\let\hsarrow=\hsarrowperiodonce} \newcommand*\hsarrowperiodonce[2]{#2\global\let\hsarrow=\hscompose} \AtHaskellReset{\global\let\hsarrow=\hscompose} % In the beginning, we should reset Haskell once. \HaskellReset \makeatother \EndFmtInput %endif %endif lhs2tex-1.18.1/Library/spacing.fmt0000644000175000001440000000143612022734321016126 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % spacing.fmt % % Formatting sequences of ^ as spaces of different width. % Note that the default formatting of (^) is affected by this. % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % % Andres Loeh, November 2005, ver 1.1 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_spacing_fmt_read %let lhs2tex_spacing_fmt_read = True % %if style == newcode %format ^ = %format ^^ = " " %format ^^^ = " " %format ^^^^ = " " %format ^^. = %else %format ^ = " " %format ^^ = "\;" %format ^^^ = "\quad " %format ^^^^ = "\qquad " %format ^^. = ^^ "." %endif %endiflhs2tex-1.18.1/Library/beamerboxed.fmt0000644000175000001440000000225312022734321016755 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % beamerboxed.fmt % % Displaying code that is set with lhs2TeX in poly style inside boxes from the % beamer class. % % Permission is granted to include this file (or parts of this file) literally % into other documents, regardless of the conditions or license applying to % these documents. % % Stefan Holdermans, April 2010, version 1.0 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_beamerboxed_fmt_read %let lhs2tex_beamerboxed_fmt_read = True %include polycode.fmt %include beamer.fmt % %if style /= newcode \ReadOnlyOnce{beamerboxed.fmt} \setbeamercolor{hsbox}{parent=block body} \newlength{\hsboxsep} \setlength{\hsboxsep}{.33em} \newcommand{\hsboxrounded}{true} \newcommand{\hsboxshadow}{true} \newenvironment{beamerboxedhscode} {\let\hspre\(\let\hspost\)% \beamercolorbox% [sep=\hsboxsep,rounded=\hsboxrounded,shadow=\hsboxshadow]% {hsbox}% \hscodestyle% \pboxed}% {\endpboxed% \endbeamercolorbox% \ignorespacesafterend} \newcommand{\beamerboxedhs}{\sethscode{beamerboxedhscode}} \EndFmtInput %endif %endiflhs2tex-1.18.1/Library/jfpcompat.fmt0000644000175000001440000000163612022734321016467 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % jfpcompat.fmt % % jfp.cls is incompatible with array.sty! This is a fix. % This is included in the lhs2TeX distribution because % lhs2TeX depends on array.sty, and many lhs2TeX users are % JFP authors. % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % % Andres Loeh, November 2005, ver 1.1 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_jfpcompat_fmt_read %let lhs2tex_jfpcompat_fmt_read = True %include lhs2TeX.fmt % \ReadOnlyOnce{jfpcompat.fmt}% \makeatletter \def\@@authortable{% \leavevmode \hbox \bgroup $\col@@sep\tabcolsep \let\d@@llarbegin\begingroup \let\d@@llarend\endgroup \let\\\author@@tabcrone \ignorespaces \@@tabarray} \makeatother \EndFmtInput % %endif lhs2tex-1.18.1/Library/forall.fmt0000644000175000001440000000346312022734321015763 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % forall.fmt % % *EXPERIMENTAL* % Semi-automatic formatting of the . as either function % composition (normally) or a period (when used after a % forall). % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % % Andres Loeh, November 2005, ver 1.1 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_forall_fmt_read %let lhs2tex_forall_fmt_read = True %include lhs2TeX.fmt % %if style /= newcode % % First, let's redefine the forall, and the dot. % %format forall(x) = forall_ x "\hsforall " %format . = "\hsdot{" `comp_` "}{" period_ "}" %format `comp_` = "\circ " %format period_ = "." %format forall_ = "\forall " % % This is made in such a way that after a forall, the next % dot will be printed as a period, otherwise the formatting % of `comp_` is used. By redefining `comp_`, as suitable % composition operator can be chosen. Similarly, period_ % is used for the period. % \ReadOnlyOnce{forall.fmt}% \makeatletter % The HaskellResetHook is a list to which things can % be added that reset the Haskell state to the beginning. % This is to recover from states where the hacked intelligence % is not sufficient. \let\HaskellResetHook\empty \newcommand*{\AtHaskellReset}[1]{% \g@@addto@@macro\HaskellResetHook{#1}} \newcommand*{\HaskellReset}{\HaskellResetHook} \global\let\hsforallread\empty \newcommand\hsforall{\global\let\hsdot=\hsperiodonce} \newcommand*\hsperiodonce[2]{#2\global\let\hsdot=\hscompose} \newcommand*\hscompose[2]{#1} \AtHaskellReset{\global\let\hsdot=\hscompose} % In the beginning, we should reset Haskell once. \HaskellReset \makeatother \EndFmtInput %endif %endiflhs2tex-1.18.1/Library/agda.fmt0000644000175000001440000000310312022734321015367 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % agda.fmt % % basic definitions for formatting agda code % % Permission is granted to include this file (or parts of this file) % literally into other documents, regardless of the conditions or % license applying to these documents. % % Andres Loeh, May 2009, ver 1.1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_agda_fmt_read %let lhs2tex_agda_fmt_read = True %include polycode.fmt % %if style /= newcode \ReadOnlyOnce{agda.fmt}% %if lang == agda \RequirePackage[T1]{fontenc} \RequirePackage[utf8x]{inputenc} \RequirePackage{ucs} \RequirePackage{amsfonts} \providecommand\mathbbm{\mathbb} % TODO: Define more of these ... \DeclareUnicodeCharacter{737}{\textsuperscript{l}} \DeclareUnicodeCharacter{8718}{\ensuremath{\blacksquare}} \DeclareUnicodeCharacter{8759}{::} \DeclareUnicodeCharacter{9669}{\ensuremath{\triangleleft}} \DeclareUnicodeCharacter{8799}{\ensuremath{\stackrel{\scriptscriptstyle ?}{=}}} \DeclareUnicodeCharacter{10214}{\ensuremath{\llbracket}} \DeclareUnicodeCharacter{10215}{\ensuremath{\rrbracket}} % TODO: This is in general not a good idea. \providecommand\textepsilon{$\epsilon$} \providecommand\textmu{$\mu$} %subst keyword a = "\Keyword{" a "}" %Actually, varsyms should not occur in Agda output. %subst varsym a = "\Varid{" a "}" % TODO: Make this configurable. IMHO, italics doesn't work well % for Agda code. \renewcommand\Varid[1]{\mathord{\textsf{#1}}} \let\Conid\Varid \newcommand\Keyword[1]{\textsf{\textbf{#1}}} \EndFmtInput %endif %endif %endif lhs2tex-1.18.1/Library/beamer.fmt0000644000175000001440000000125112022734321015730 0ustar andresusers%if False %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % beamer.fmt % % Utility commands for use of lhs2TeX with the beamer % class. Note that this fmt file is not required for % using lhs2TeX together with beamer. % % Andres Loeh, November 2008, version 1.0 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %endif %if not lhs2tex_beamer_fmt_read %let lhs2tex_beamer_fmt_read = True %include lhs2TeX.fmt % \ReadOnlyOnce{beamer.fmt}% \let\savesavecolumns\savecolumns \newcommand{\saverestorecolumns}{% \savecolumns\global\let\savecolumns\restorecolumns} \newcommand{\resetsavecolumns}{% \global\let\savecolumns\savesavecolumns} \EndFmtInput %endif lhs2tex-1.18.1/TODO0000644000175000001440000000070312022734320013051 0ustar andresusersFeatures planned for 2.0 ======================== * Finish the manual. * Formatting directives parameterized by arity. * Facilitate Windows use. * Use ndm's FilePath library. Features planned for post-2.0 ============================= * Configurable lexer. Features planned for future versions of polytable ================================================= * Private columns are not shared with save-/restorecolumns. (?) * Support for rules. lhs2tex-1.18.1/common.mk0000644000175000001440000000056712022734320014212 0ustar andresusers .SUFFIXES : .tex .dvi .pdf .ps .tex.dvi: sh -c ' \ $(LATEX) $(LATEX_OPTS) $<; \ while grep -c "Warning.*Rerun" $(<:.tex=.log); \ do $(LATEX) $(LATEX_OPTS) $<; done;' .tex.pdf: sh -c ' \ $(PDFLATEX) $(PDFLATEX_OPTS) $<; \ while grep -c "Warning.*Rerun" $(<:.tex=.log); \ do $(PDFLATEX) $(PDFLATEX_OPTS) $<; done;' .dvi.ps: $(DVIPS) -D600 -o $@ $< lhs2tex-1.18.1/LICENSE0000644000175000001440000000206712022734320013373 0ustar andresusersCopyright (c) 1997-2005 Ralf Hinze, Andres Loeh This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. As a special exception, permission is granted to include the files (or parts of the files) lhs2TeX.sty, lhs2TeX.fmt, as well as files (or parts of files) distributed in the Library subdirectory of this package that include a notice in their header, literally in other documents, regardless of the conditions or license applying to these documents. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA lhs2tex-1.18.1/src/0000755000175000001440000000000012022734320013150 5ustar andresuserslhs2tex-1.18.1/src/Parser.lhs0000644000175000001440000000716612022734320015126 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Deterministic parser} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module Parser ( Parser, run, satisfy, lit, lits, wrap, nonnull, eof ) > where > > import Data.Char ( isSpace ) > import Auxiliaries > import Control.Applicative > import Control.Monad ( MonadPlus(..), filterM, ap ) %endif Deterministische Mini-Parser. %if style == math %format (MkParser (p)) = p %format (unParser (p)) = p %else > unParser (MkParser p) = p %endif > newtype Parser tok a = MkParser ([tok] -> Maybe (a, [tok])) > > run :: Parser tok a -> [tok] -> Maybe a > run (MkParser p) inp = fmap fst (p inp) > > instance Functor (Parser tok) where > fmap f m = m >>= \a -> return (f a) > instance Monad (Parser tok) where > return a = MkParser (\inp -> Just (a, inp)) > m >>= k = MkParser (\inp -> case unParser m inp of > Nothing -> Nothing > Just (a, rest) -> unParser (k a) rest) > instance MonadPlus (Parser tok) where > mzero = MkParser (\inp -> Nothing) > m `mplus` n = MkParser (\inp -> unParser m inp `mplus` unParser n inp) > instance Applicative (Parser tok) where > pure = return > (<*>) = ap > instance Alternative (Parser tok) where > empty = mzero > (<|>) = mplus > > satisfy :: (tok -> Bool) -> Parser tok tok > satisfy pred = MkParser (\inp -> case inp of > a : rest | pred a -> Just (a, rest) > _ -> Nothing) > > lit :: (Eq tok) => tok -> Parser tok tok > lit c = satisfy (== c) ks, 06.09.2003: Adding eof that accepts succeeds only at the end of input. > eof :: Parser tok () > eof = MkParser (\inp -> case inp of > [] -> Just ((),[]) > _ -> Nothing) |lits s| corresponds to |mapM_ lit_ s|. > lits :: (Eq tok) => [tok] -> Parser tok () > lits s = MkParser (\inp -> case splitAt (length s) inp of > (s', rest) | s == s' -> Just ((), rest) > _ -> Nothing) \Todo{Better name for |wrap|.} > wrap :: ([tok] -> (a, [tok])) -> Parser tok a > wrap f = MkParser (\inp -> Just (f inp)) > > nonnull :: ([tok] -> ([a], [tok])) -> Parser tok [a] > nonnull f = mfilter (not . null) (wrap f) > mfilter p m = m >>= \a -> if p a then return a else mzero %if False > {- > lit_ :: (Eq tok) => tok -> Parser tok () > lit_ c = MkParser (\inp -> case inp of > c' : rest | c == c' -> Just ((), rest) > _ -> Nothing) > nonnull_ f = MkParser (\inp -> case f inp of > res@((_ : _) ,_) -> Just res > _ -> Nothing) > -} %endif lhs2tex-1.18.1/src/License.lhs0000644000175000001440000005323112022734320015246 0ustar andresusers > module License > where > import Version GPL-related program information > programInfo :: String > programInfo = > "lhs2TeX " ++ version ++ ", Copyright (C) 1997-2012 Ralf Hinze, Andres Loeh\n\n\ > \lhs2TeX comes with ABSOLUTELY NO WARRANTY;\n\ > \for details type `lhs2TeX --warranty'.\n\ > \This is free software, and you are welcome to redistribute it\n\ > \under certain conditions; type `lhs2TeX --copying' for details." > copying :: String > copying = > "\t\t GNU GENERAL PUBLIC LICENSE\n\ > \\t\t Version 2, June 1991\n\ > \\n\ > \ Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n\ > \ 59 Temple Place - Suite 330\n\ > \ Boston, MA 02111-1307, USA.\n\ > \ Everyone is permitted to copy and distribute verbatim copies\n\ > \ of this license document, but changing it is not allowed.\n\ > \\n\ > \\t\t\t Preamble\n\ > \\n\ > \ The licenses for most software are designed to take away your\n\ > \freedom to share and change it. By contrast, the GNU General Public\n\ > \License is intended to guarantee your freedom to share and change free\n\ > \software--to make sure the software is free for all its users. This\n\ > \General Public License applies to most of the Free Software\n\ > \Foundation's software and to any other program whose authors commit to\n\ > \using it. (Some other Free Software Foundation software is covered by\n\ > \the GNU Library General Public License instead.) You can apply it to\n\ > \your programs, too.\n\ > \\n\ > \ When we speak of free software, we are referring to freedom, not\n\ > \price. Our General Public Licenses are designed to make sure that you\n\ > \have the freedom to distribute copies of free software (and charge for\n\ > \this service if you wish), that you receive source code or can get it\n\ > \if you want it, that you can change the software or use pieces of it\n\ > \in new free programs; and that you know you can do these things.\n\ > \\n\ > \ To protect your rights, we need to make restrictions that forbid\n\ > \anyone to deny you these rights or to ask you to surrender the rights.\n\ > \These restrictions translate to certain responsibilities for you if you\n\ > \distribute copies of the software, or if you modify it.\n\ > \\n\ > \ For example, if you distribute copies of such a program, whether\n\ > \gratis or for a fee, you must give the recipients all the rights that\n\ > \you have. You must make sure that they, too, receive or can get the\n\ > \source code. And you must show them these terms so they know their\n\ > \rights.\n\ > \\n\ > \ We protect your rights with two steps: (1) copyright the software, and\n\ > \(2) offer you this license which gives you legal permission to copy,\n\ > \distribute and/or modify the software.\n\ > \\n\ > \ Also, for each author's protection and ours, we want to make certain\n\ > \that everyone understands that there is no warranty for this free\n\ > \software. If the software is modified by someone else and passed on, we\n\ > \want its recipients to know that what they have is not the original, so\n\ > \that any problems introduced by others will not reflect on the original\n\ > \authors' reputations.\n\ > \\n\ > \ Finally, any free program is threatened constantly by software\n\ > \patents. We wish to avoid the danger that redistributors of a free\n\ > \program will individually obtain patent licenses, in effect making the\n\ > \program proprietary. To prevent this, we have made it clear that any\n\ > \patent must be licensed for everyone's free use or not licensed at all.\n\ > \\n\ > \ The precise terms and conditions for copying, distribution and\n\ > \modification follow.\n\ > \\f\n\ > \\t\t GNU GENERAL PUBLIC LICENSE\n\ > \ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\ > \\n\ > \ 0. This License applies to any program or other work which contains\n\ > \a notice placed by the copyright holder saying it may be distributed\n\ > \under the terms of this General Public License. The \"Program\", below,\n\ > \refers to any such program or work, and a \"work based on the Program\"\n\ > \means either the Program or any derivative work under copyright law:\n\ > \that is to say, a work containing the Program or a portion of it,\n\ > \either verbatim or with modifications and/or translated into another\n\ > \language. (Hereinafter, translation is included without limitation in\n\ > \the term \"modification\".) Each licensee is addressed as \"you\".\n\ > \\n\ > \Activities other than copying, distribution and modification are not\n\ > \covered by this License; they are outside its scope. The act of\n\ > \running the Program is not restricted, and the output from the Program\n\ > \is covered only if its contents constitute a work based on the\n\ > \Program (independent of having been made by running the Program).\n\ > \Whether that is true depends on what the Program does.\n\ > \\n\ > \ 1. You may copy and distribute verbatim copies of the Program's\n\ > \source code as you receive it, in any medium, provided that you\n\ > \conspicuously and appropriately publish on each copy an appropriate\n\ > \copyright notice and disclaimer of warranty; keep intact all the\n\ > \notices that refer to this License and to the absence of any warranty;\n\ > \and give any other recipients of the Program a copy of this License\n\ > \along with the Program.\n\ > \\n\ > \You may charge a fee for the physical act of transferring a copy, and\n\ > \you may at your option offer warranty protection in exchange for a fee.\n\ > \\n\ > \ 2. You may modify your copy or copies of the Program or any portion\n\ > \of it, thus forming a work based on the Program, and copy and\n\ > \distribute such modifications or work under the terms of Section 1\n\ > \above, provided that you also meet all of these conditions:\n\ > \\n\ > \ a) You must cause the modified files to carry prominent notices\n\ > \ stating that you changed the files and the date of any change.\n\ > \\n\ > \ b) You must cause any work that you distribute or publish, that in\n\ > \ whole or in part contains or is derived from the Program or any\n\ > \ part thereof, to be licensed as a whole at no charge to all third\n\ > \ parties under the terms of this License.\n\ > \\n\ > \ c) If the modified program normally reads commands interactively\n\ > \ when run, you must cause it, when started running for such\n\ > \ interactive use in the most ordinary way, to print or display an\n\ > \ announcement including an appropriate copyright notice and a\n\ > \ notice that there is no warranty (or else, saying that you provide\n\ > \ a warranty) and that users may redistribute the program under\n\ > \ these conditions, and telling the user how to view a copy of this\n\ > \ License. (Exception: if the Program itself is interactive but\n\ > \ does not normally print such an announcement, your work based on\n\ > \ the Program is not required to print an announcement.)\n\ > \\f\n\ > \These requirements apply to the modified work as a whole. If\n\ > \identifiable sections of that work are not derived from the Program,\n\ > \and can be reasonably considered independent and separate works in\n\ > \themselves, then this License, and its terms, do not apply to those\n\ > \sections when you distribute them as separate works. But when you\n\ > \distribute the same sections as part of a whole which is a work based\n\ > \on the Program, the distribution of the whole must be on the terms of\n\ > \this License, whose permissions for other licensees extend to the\n\ > \entire whole, and thus to each and every part regardless of who wrote it.\n\ > \\n\ > \Thus, it is not the intent of this section to claim rights or contest\n\ > \your rights to work written entirely by you; rather, the intent is to\n\ > \exercise the right to control the distribution of derivative or\n\ > \collective works based on the Program.\n\ > \\n\ > \In addition, mere aggregation of another work not based on the Program\n\ > \with the Program (or with a work based on the Program) on a volume of\n\ > \a storage or distribution medium does not bring the other work under\n\ > \the scope of this License.\n\ > \\n\ > \ 3. You may copy and distribute the Program (or a work based on it,\n\ > \under Section 2) in object code or executable form under the terms of\n\ > \Sections 1 and 2 above provided that you also do one of the following:\n\ > \\n\ > \ a) Accompany it with the complete corresponding machine-readable\n\ > \ source code, which must be distributed under the terms of Sections\n\ > \ 1 and 2 above on a medium customarily used for software interchange; or,\n\ > \\n\ > \ b) Accompany it with a written offer, valid for at least three\n\ > \ years, to give any third party, for a charge no more than your\n\ > \ cost of physically performing source distribution, a complete\n\ > \ machine-readable copy of the corresponding source code, to be\n\ > \ distributed under the terms of Sections 1 and 2 above on a medium\n\ > \ customarily used for software interchange; or,\n\ > \\n\ > \ c) Accompany it with the information you received as to the offer\n\ > \ to distribute corresponding source code. (This alternative is\n\ > \ allowed only for noncommercial distribution and only if you\n\ > \ received the program in object code or executable form with such\n\ > \ an offer, in accord with Subsection b above.)\n\ > \\n\ > \The source code for a work means the preferred form of the work for\n\ > \making modifications to it. For an executable work, complete source\n\ > \code means all the source code for all modules it contains, plus any\n\ > \associated interface definition files, plus the scripts used to\n\ > \control compilation and installation of the executable. However, as a\n\ > \special exception, the source code distributed need not include\n\ > \anything that is normally distributed (in either source or binary\n\ > \form) with the major components (compiler, kernel, and so on) of the\n\ > \operating system on which the executable runs, unless that component\n\ > \itself accompanies the executable.\n\ > \\n\ > \If distribution of executable or object code is made by offering\n\ > \access to copy from a designated place, then offering equivalent\n\ > \access to copy the source code from the same place counts as\n\ > \distribution of the source code, even though third parties are not\n\ > \compelled to copy the source along with the object code.\n\ > \\f\n\ > \ 4. You may not copy, modify, sublicense, or distribute the Program\n\ > \except as expressly provided under this License. Any attempt\n\ > \otherwise to copy, modify, sublicense or distribute the Program is\n\ > \void, and will automatically terminate your rights under this License.\n\ > \However, parties who have received copies, or rights, from you under\n\ > \this License will not have their licenses terminated so long as such\n\ > \parties remain in full compliance.\n\ > \\n\ > \ 5. You are not required to accept this License, since you have not\n\ > \signed it. However, nothing else grants you permission to modify or\n\ > \distribute the Program or its derivative works. These actions are\n\ > \prohibited by law if you do not accept this License. Therefore, by\n\ > \modifying or distributing the Program (or any work based on the\n\ > \Program), you indicate your acceptance of this License to do so, and\n\ > \all its terms and conditions for copying, distributing or modifying\n\ > \the Program or works based on it.\n\ > \\n\ > \ 6. Each time you redistribute the Program (or any work based on the\n\ > \Program), the recipient automatically receives a license from the\n\ > \original licensor to copy, distribute or modify the Program subject to\n\ > \these terms and conditions. You may not impose any further\n\ > \restrictions on the recipients' exercise of the rights granted herein.\n\ > \You are not responsible for enforcing compliance by third parties to\n\ > \this License.\n\ > \\n\ > \ 7. If, as a consequence of a court judgment or allegation of patent\n\ > \infringement or for any other reason (not limited to patent issues),\n\ > \conditions are imposed on you (whether by court order, agreement or\n\ > \otherwise) that contradict the conditions of this License, they do not\n\ > \excuse you from the conditions of this License. If you cannot\n\ > \distribute so as to satisfy simultaneously your obligations under this\n\ > \License and any other pertinent obligations, then as a consequence you\n\ > \may not distribute the Program at all. For example, if a patent\n\ > \license would not permit royalty-free redistribution of the Program by\n\ > \all those who receive copies directly or indirectly through you, then\n\ > \the only way you could satisfy both it and this License would be to\n\ > \refrain entirely from distribution of the Program.\n\ > \\n\ > \If any portion of this section is held invalid or unenforceable under\n\ > \any particular circumstance, the balance of the section is intended to\n\ > \apply and the section as a whole is intended to apply in other\n\ > \circumstances.\n\ > \\n\ > \It is not the purpose of this section to induce you to infringe any\n\ > \patents or other property right claims or to contest validity of any\n\ > \such claims; this section has the sole purpose of protecting the\n\ > \integrity of the free software distribution system, which is\n\ > \implemented by public license practices. Many people have made\n\ > \generous contributions to the wide range of software distributed\n\ > \through that system in reliance on consistent application of that\n\ > \system; it is up to the author/donor to decide if he or she is willing\n\ > \to distribute software through any other system and a licensee cannot\n\ > \impose that choice.\n\ > \\n\ > \This section is intended to make thoroughly clear what is believed to\n\ > \be a consequence of the rest of this License.\n\ > \\f\n\ > \ 8. If the distribution and/or use of the Program is restricted in\n\ > \certain countries either by patents or by copyrighted interfaces, the\n\ > \original copyright holder who places the Program under this License\n\ > \may add an explicit geographical distribution limitation excluding\n\ > \those countries, so that distribution is permitted only in or among\n\ > \countries not thus excluded. In such case, this License incorporates\n\ > \the limitation as if written in the body of this License.\n\ > \\n\ > \ 9. The Free Software Foundation may publish revised and/or new versions\n\ > \of the General Public License from time to time. Such new versions will\n\ > \be similar in spirit to the present version, but may differ in detail to\n\ > \address new problems or concerns.\n\ > \\n\ > \Each version is given a distinguishing version number. If the Program\n\ > \specifies a version number of this License which applies to it and \"any\n\ > \later version\", you have the option of following the terms and conditions\n\ > \either of that version or of any later version published by the Free\n\ > \Software Foundation. If the Program does not specify a version number of\n\ > \this License, you may choose any version ever published by the Free Software\n\ > \Foundation.\n\ > \\n\ > \ 10. If you wish to incorporate parts of the Program into other free\n\ > \programs whose distribution conditions are different, write to the author\n\ > \to ask for permission. For software which is copyrighted by the Free\n\ > \Software Foundation, write to the Free Software Foundation; we sometimes\n\ > \make exceptions for this. Our decision will be guided by the two goals\n\ > \of preserving the free status of all derivatives of our free software and\n\ > \of promoting the sharing and reuse of software generally.\n\ > \\n" > ++ warranty ++ > "\n\n\ > \\t\t END OF TERMS AND CONDITIONS\n\ > \\f\n\ > \\t How to Apply These Terms to Your New Programs\n\ > \\n\ > \ If you develop a new program, and you want it to be of the greatest\n\ > \possible use to the public, the best way to achieve this is to make it\n\ > \free software which everyone can redistribute and change under these terms.\n\ > \\n\ > \ To do so, attach the following notices to the program. It is safest\n\ > \to attach them to the start of each source file to most effectively\n\ > \convey the exclusion of warranty; and each file should have at least\n\ > \the \"copyright\" line and a pointer to where the full notice is found.\n\ > \\n\ > \ \n\ > \ Copyright (C) 19yy \n\ > \\n\ > \ This program is free software; you can redistribute it and/or modify\n\ > \ it under the terms of the GNU General Public License as published by\n\ > \ the Free Software Foundation; either version 2 of the License, or\n\ > \ (at your option) any later version.\n\ > \\n\ > \ This program is distributed in the hope that it will be useful,\n\ > \ but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ > \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ > \ GNU General Public License for more details.\n\ > \\n\ > \ You should have received a copy of the GNU General Public License\n\ > \ along with this program; see the file COPYING. If not, write to\n\ > \ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n\ > \ Boston, MA 02111-1307, USA.\n\ > \\n\ > \Also add information on how to contact you by electronic and paper mail.\n\ > \\n\ > \If the program is interactive, make it output a short notice like this\n\ > \when it starts in an interactive mode:\n\ > \\n\ > \ Gnomovision version 69, Copyright (C) 19yy name of author\n\ > \ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n\ > \ This is free software, and you are welcome to redistribute it\n\ > \ under certain conditions; type `show c' for details.\n\ > \\n\ > \The hypothetical commands `show w' and `show c' should show the appropriate\n\ > \parts of the General Public License. Of course, the commands you use may\n\ > \be called something other than `show w' and `show c'; they could even be\n\ > \mouse-clicks or menu items--whatever suits your program.\n\ > \\n\ > \You should also get your employer (if you work as a programmer) or your\n\ > \school, if any, to sign a \"copyright disclaimer\" for the program, if\n\ > \necessary. Here is a sample; alter the names:\n\ > \\n\ > \ Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n\ > \ `Gnomovision' (which makes passes at compilers) written by James Hacker.\n\ > \\n\ > \ , 1 April 1989\n\ > \ Ty Coon, President of Vice\n\ > \\n\ > \This General Public License does not permit incorporating your program into\n\ > \proprietary programs. If your program is a subroutine library, you may\n\ > \consider it more useful to permit linking proprietary applications with the\n\ > \library. If this is what you want to do, use the GNU Library General\n\ > \Public License instead of this License." > warranty :: String > warranty = > "\t\t\t NO WARRANTY\n\ > \\n\ > \ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n\ > \FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\n\ > \OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n\ > \PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\n\ > \OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n\ > \MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\n\ > \TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\n\ > \PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n\ > \REPAIR OR CORRECTION.\n\ > \\n\ > \ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n\ > \WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n\ > \REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n\ > \INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n\ > \OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n\ > \TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n\ > \YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n\ > \PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n\ > \POSSIBILITY OF SUCH DAMAGES." lhs2tex-1.18.1/src/MathCommon.lhs0000644000175000001440000002245512022734320015732 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Common code for math and poly formatters} %-------------------------------= -------------------------------------------- ks, 15.06.2004: I have moved common code from the math and poly formatters to this module. Poly has been created from a copy of the old math formatter, therefore there has been much overlap between the two modules. > module MathCommon ( module MathCommon ) > where > import Typewriter ( latex ) > import Document > import Directives > import HsLexer > import qualified FiniteMap as FM > import Auxiliaries > > import Control.Monad > when :: Monad m => Bool -> (a -> m a) -> (a -> m a) > when True f = f > when False f = return % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Adding positional information} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > type Row = Int > type Col = Int > > data Pos a = Pos {row :: !Row, col :: !Col, ann :: a} > deriving (Show) %{ %format r1 %format r2 %format c1 %format c2 > instance Eq (Pos a) where > Pos r1 c1 _ == Pos r2 c2 _= r1 == r2 && c1 == c2 > instance Ord (Pos a) where > Pos r1 c1 _ <= Pos r2 c2 _= (r1, c1) <= (r2, c2) > pos2string :: Pos a -> String > pos2string (Pos r c _) = "'" ++ show r ++ "_" ++ show c %} > instance (CToken tok) => CToken (Pos tok) where > catCode (Pos _ _ t) = catCode t > token (Pos _ _ t) = token t > inherit (Pos r c t') t = Pos r c (inherit t' t) > fromToken t = Pos 0 0 (fromToken t) Numbering the list of tokens. > number :: Row -> Col -> [Token] -> [Pos Token] > number r c [] = [] > number r c (t : ts) = Pos r c t : number r' c' ts > where (r', c') = count r c (string t) > > count :: Row -> Col -> String -> (Row, Col) > count r c [] = (r, c) > count r c (a : s) > | a == '\n' = count (r + 1) 1 s > | otherwise = count r (c + 1) s Splitting the token list in lines. > lines :: [Pos a] -> [[Pos a]] > lines = split 1 > where > split _ [] = [] > split r ts = us : split (r + 1) vs > where (us, vs) = span (\t -> row t <= r) ts % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{A very simple Haskell Parser} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - ks, 27.06.2003: I'll add some explanation which reflects the way I understand things. Since I don't know Smugweb and I haven't written the code below, it is possible that the explanation is not adequate: A |Chunk| is a sequence of \emph{delimiters} or \emph{applications}. Delimiters are keywords or operators. Applications are everything else. An |application| is a sequence of atoms that are forming a Haskell function application. The list must never be empty, but can contain a single element (for instance, in normal infix expressions such as |2 + 3| this will occur frequently). An |atom| is a single identifier (not an operator, though -- those are delimiters), or a chunk in parentheses. > type Chunk a = [Item a] > > data Item a = Delim a > | Apply [Atom a] > deriving (Show) > > data Atom a = Atom a > | Paren a (Chunk a) a > deriving (Show) The parser itself differs between the two styles. The math formatter cannot handle unbalanced parentheses, the poly formatter has a heuristic that allows successful parsing of unbalanced parentheses in many, but not all cases. % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Making replacements} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > data Mode = Mandatory > | Optional Bool If |eval e| returns |Mandatory| then parenthesis around |e| must not be dropped; |Optional True| indicates that it can be dropped; |Optional False| indicates that the decision is up the caller. % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Making replacements} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - ks, 23.07.2003: This substitute function does not work recursively. To change this is on my TODO list. Substitutions without arguments, hovewer, do work recursively because they are handled again at a later stage (by the call to latexs, for instance in leftIndent). > substitute :: (CToken tok,Show tok) => Formats -> Bool -> Chunk (Pos tok) -> [Pos tok] > substitute d auto chunk = snd (eval chunk) > where > eval :: (CToken tok) => [Item (Pos tok)] -> (Mode,[Pos tok]) > eval [e] = eval' e > eval chunk = (Optional False, concat [ snd (eval' i) | i <- chunk ]) > > eval' :: (CToken tok) => Item (Pos tok) -> (Mode,[Pos tok]) > eval' (Delim s) = (Optional False, [s]) > eval' (Apply []) = impossible "eval'" > eval' (Apply (e : es)) = eval'' False e es > > eval'' :: (CToken tok) => Bool -> Atom (Pos tok) -> [Atom (Pos tok)] -> (Mode,[Pos tok]) > eval'' _ (Atom s) es = case FM.lookup (string (token s) ++ pos2string s) d `mplus` FM.lookup (string (token s)) d of > Nothing -> (Optional False, s : args es) > Just (opt, opts, lhs, rhs)-> (Optional opt, set s (concat (fmap sub rhs)) ++ args bs) > where > (as, bs) | m <= n = (es ++ replicate (n - m) dummy, []) > | otherwise = splitAt n es > n = length lhs > m = length es > binds = zip lhs [ snd (eval'' b a []) | (b, a) <- zip opts as ] > sub t@(Varid x) = case FM.lookup x (FM.fromList binds) of > Nothing -> [fromToken t] > Just ts -> ts > sub t = [fromToken t] Whenever a token is replaced or removed, the first token of the replacement inherits the position of the original token. > eval'' opt (Paren l e r) es > | optional = (Mandatory, set l s ++ args es) > | otherwise = (Optional False, [l] ++ s ++ [r] ++ args es) > where (flag, s) = eval e > optional = catCode l == Del '(' && not (mandatory e) > && case flag of Mandatory -> False; Optional f -> opt || f \NB It is not a good idea to remove parentheses around atoms, because that would remove the parentheses in @deriving (Eq)@ and @module M (a)@ as well. > args :: (CToken tok) => [Atom (Pos tok)] -> [Pos tok] > args es = concat [ sp ++ snd (eval'' False i []) | i <- es ] -- $\cong$ Applikation > sp :: (CToken tok) => [Pos tok] > sp | auto = [fromToken (TeX False sub'space)] > | otherwise = [] To support macros of the form @%format Parser (a) = a@. > set :: (CToken tok) => tok -> [tok] -> [tok] > set s [] = [] > set s (t : ts) = inherit s (token t) : ts > > mandatory :: (CToken tok) => Chunk tok -> Bool > mandatory e = False Code before: < mandatory e = null e -- nullary tuple < || or [ isComma i | i <- e ] -- tuple < || isOp (head e) -- left section < || isOp (last e) -- right section > isComma, isOp :: (CToken tok) => Item tok -> Bool > isComma (Delim t) = case token t of > Special c -> c == ',' > _ -> False > isComma _ = False > > isOp (Delim t) = case token t of > Special c -> c == '`' -- f"ur @` div `@ > Consym _ -> True > Varsym s -> s /= "\\" > Op _ -> True > _ -> False > isOp _ = False > dummy :: (CToken tok) => Atom tok > dummy = Atom (fromToken (Varid "")) \NB We cannot use embedded \TeX\ text here, because |TeX| is not a legal atom (|string| is applied to it). % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Adding spaces and indentation} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - There are subtle differences between the two styles. For inline-code. > latexs :: (CToken tok) => Formats -> [tok] -> Doc > latexs dict = catenate . fmap (latex sub'space sub'space dict . token) lhs2tex-1.18.1/src/Version.lhs.in0000644000175000001440000000475512022734320015725 0ustar andresusers%if doc \newcommand\ProgramVersion{@VERSION@} %else % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Program version information} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > module Version where > > import FileNameUtils > import Data.List > import System.Info > > version :: String > version = "@VERSION@" > numversion :: Int > numversion = @NUMVERSION@ Used internally to distinguish prereleases. > pre :: Int > pre = @PRE@ > isWindows = "win" `isPrefixOf` os || "Win" `isPrefixOf` os % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Search path} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > searchPath = "." : > [ deep (joinPath (env "HOME" : [p ++ x])) > | p <- ["","."] > , x <- lhs2TeXNames > ] ++ > [deep (joinPath [env "LHS2TEX"])] ++ > [deep stydir] ++ > [ deep (path [dir]) > | dir <- lhs2TeXNames > , path <- if isWindows then [] else > [\x -> absPath (joinPath $ ["usr","local","share"] ++ x) > ,\x -> absPath (joinPath $ ["usr","local","lib"] ++ x) > ,\x -> absPath (joinPath $ ["usr","share"] ++ x) > ,\x -> absPath (joinPath $ ["usr","lib"] ++ x) > ] > ] > > lhs2TeXNames :: [FilePath] > lhs2TeXNames = ["lhs2tex-@SHORTVERSION@" > ,"lhs2tex" > ,"lhs2TeX" > ] > > stydir = replace (replace "@stydir@" "datarootdir" "@datarootdir@") "prefix" "@prefix@" > where replace x w y | ("$" ++ w) `isPrefixOf` x = y ++ drop (length w + 1) x > | ("${" ++ w ++ "}") `isPrefixOf` x = y ++ drop (length w + 3) x > | otherwise = x %endif lhs2tex-1.18.1/src/TeXCommands.lhs0000644000175000001440000001171712022734320016051 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Pseudo-\TeX\ Commands} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module TeXCommands ( module TeXCommands ) > where > > import Data.Maybe > import FiniteMap ( FiniteMap ) > import qualified FiniteMap as FM > import Auxiliaries %endif These don't really belong into a module named TeXCommands: > data Style = Version | Help | SearchPath | Copying | Warranty | CodeOnly | NewCode | Verb | Typewriter | Poly | Math | Pre > deriving (Eq, Show, Enum, Bounded) > data Lang = Haskell | Agda > deriving (Eq, Show, Enum, Bounded) \Todo{Better name for |Class|.} > data Class = One Char -- ordinary text > | Many String -- ditto > | Inline String -- @|..|@ > | Command Command String -- @\cmd{arg}@ > | Environment Environment String -- @\begin{cmd}..arg\end{cmd}@ > | Directive Directive String -- @%cmd arg@ > | Error Exc -- parsing error > deriving (Show) > data Command = Hs | Eval | Perform | Vrb Bool > deriving (Eq, Show) > > data Environment = Haskell_ | Code | Spec | Evaluate | Hide | Ignore | Verbatim Bool > deriving (Eq, Show) \NB |Hs|, |Haskell_|, |Hide|, and |Ignore| are obsolete. ks, 16.08.2004: added EOF. > > data Directive = Format | Include | Let | File | Options > | Align | Separation | Latency | Begin | End | Subst > | If | Elif | Else | Endif | EOF > deriving (Eq, Show) > data Numbered a = No !LineNo a > deriving (Show) > \NB The |Show| instances have been defined for debugging purposes, the |Eq| instances are necessary for |decode|. > conditional :: Directive -> Bool > conditional If = True > conditional Elif = True > conditional Else = True > conditional Endif = True > conditional EOF = True > conditional _ = False Encoding and decoding of commands, environments, and directives. \Todo{Better name for |Representation|.} > class Representation a where > representation :: [(String, a)] > instance Representation Style where > representation = [ ("tt", Typewriter), ("math", Math), ("poly", Poly), > ("verb", Verb), ("code", CodeOnly), ("newcode",NewCode), > ("pre", Pre), ("version", Version), > ("copying", Copying), ("warranty", Warranty), ("help", Help), ("searchpath", SearchPath) ] > instance Representation Lang where > representation = [ ("haskell", Haskell), ("agda", Agda) ] > instance Representation Command where > representation = [ ("hs", Hs), ("eval", Eval), > ("perform", Perform), ("verb*", Vrb True), > ("verb", Vrb False) ] > instance Representation Environment where > representation = [ ("haskell", Haskell_), ("code", Code), > ("spec", Spec), ("evaluate", Evaluate), ("hide", Hide), > ("ignore", Ignore), ("verbatim*", Verbatim True), > ("verbatim", Verbatim False) ] > instance Representation Directive where > representation = [ ("format", Format), ("include", Include), > ("if", If), ("elif", Elif), > ("else", Else), ("endif", Endif), > ("let", Let), ("file", File), > ("options", Options), ("align", Align), > ("separation", Separation), ("latency", Latency), > ("{", Begin), ("}", End), ("subst", Subst), > ("EOF",EOF) ] > > encode :: (Representation a) => String -> Maybe a > encode s = FM.lookup s (FM.fromList representation) > > decode :: (Eq a, Representation a) => a -> String > decode a = fromJust (lookup a (inverse representation)) \NB We cannot use arrays for |decode|, because |Command| is neither an enumerated nor a product type (|Vrb Bool|). lhs2tex-1.18.1/src/Value.lhs0000644000175000001440000000541612022734320014742 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Value type} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module Value (module Value) > where %endif > data Value = Undef > | Str String > | Bool Bool > | Int Int Dynamic conversion routines. > str :: Value -> String > str Undef = "" > str (Str s) = s > str (Bool b) = if b then "True" else "" > str (Int i) = show i > > bool :: Value -> Bool > bool Undef = False > bool (Str s) = not (null s) > bool (Bool b) = b > bool (Int i) = i /= 0 > > int :: Value -> Int > int Undef = 0 > int (Str s) = case reads s of > [(i, [])] -> i > _ -> 0 > int (Bool b) = if b then 1 else 0 > int (Int i) = i Lifting unsary and binary operations to |Value|. > type Unary a = a -> a > > onStr1 :: Unary String -> Unary Value > onStr1 f = Str . f . str > > onBool1 :: Unary Bool -> Unary Value > onBool1 f = Bool . f . bool > > onInt1 :: Unary Int -> Unary Value > onInt1 f = Int . f . int %{ %format s1 %format s2 %format b1 %format b2 %format i1 %format i2 > type Binary a = a -> a -> a > > onStr2 :: Binary String -> Binary Value > onStr2 (++) v1 v2 = Str (str v1 ++ str v2) > > onBool2 :: Binary Bool -> Binary Value > onBool2 (||) v1 v2 = Bool (bool v1 || bool v2) > > onInt2 :: Binary Int -> Binary Value > onInt2 (+) v1 v2 = Int (int v1 + int v2) %align 41 {\setlength{\lwidth}{5.5cm} > onMatching f g h Undef (Str s2) = Bool (f (str Undef) s2) > onMatching f g h (Str s1) Undef = Bool (f s1 (str Undef)) > onMatching f g h (Str s1) (Str s2) = Bool (f s1 s2) > onMatching f g h Undef (Bool b2) = Bool (g (bool Undef) b2) > onMatching f g h (Bool b1) Undef = Bool (g b1 (bool Undef)) > onMatching f g h (Bool b1) (Bool b2) = Bool (g b1 b2) > onMatching f g h Undef (Int i2) = Bool (h (int Undef) i2) > onMatching f g h (Int i1) Undef = Bool (h i1 (int Undef)) > onMatching f g h (Int i1) (Int i2) = Bool (h i1 i2) > onMatching _ _ _ _ _ = Bool False } %} lhs2tex-1.18.1/src/FiniteMap.lhs0000644000175000001440000000607312022734320015542 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Finite maps} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module FiniteMap ( FiniteMap, empty, fromList, add, lookup, (!), keys) > where > import Prelude hiding ( lookup ) > import Data.Maybe %endif > type FiniteMap key val = Trie key val > > data Trie key val = Leaf [key] val > | Node [(key, Trie key val)] (Maybe val) The value associated with the empty sequence is contained in the |Maybe b| part. \NB |Node [('a', empty)] Nothing| is not legal. > empty :: Trie key val > empty = Node [] Nothing > > fromList :: (Ord key) => [([key], val)] -> Trie key val > fromList = foldr add empty > > add :: (Ord a) => ([a], b) -> Trie a b -> Trie a b > add (x, v) t = insert t x v > > lookup :: (Ord a) => [a] -> Trie a b -> Maybe b > lookup x (Leaf y w) > | x == y = Just w > | otherwise = Nothing > lookup [] (Node ts w) = w > lookup (a : x) (Node ts w) = lookupList ts > where > lookupList [] = Nothing > lookupList ((b, t) : ts) = case compare b a of > LT -> lookupList ts > EQ -> lookup x t > GT -> Nothing > keys :: (Ord a) => Trie a b -> [[a]] > keys = keys' [] > where > keys' acc (Leaf x _) = [acc ++ x] > keys' acc (Node xs v) = maybe [] (const [acc]) v ++ > concatMap (\ (x,t) -> keys' (acc ++ [x]) t) xs Derived functions. > (!) :: (Ord a) => Trie a b -> [a] -> b > t ! k = fromJust (lookup k t) Auxiliary functions. %{ %align 41 > insert :: (Ord a) => Trie a b -> [a] -> b -> Trie a b > insert (Leaf [] _) [] v = Leaf [] v > insert (Leaf (b : y) w) [] v = Node [(b, Leaf y w)] (Just v) > insert (Leaf [] w) (a : x) v = Node [(a, Leaf x v)] (Just w) > insert (Leaf (b : y) w) (a : x) v = case compare b a of > LT -> Node [(b, Leaf y w), (a, Leaf x v)] Nothing > EQ -> Node [(a, insert (Leaf y w) x v)] Nothing > GT -> Node [(a, Leaf x v), (b, Leaf y w)] Nothing > insert (Node ts w) [] v = Node ts (Just v) > insert (Node ts w) (a : x) v = Node (insList ts) w > where > insList [] = [(a,Leaf x v)] > insList ((b, t) : ts) = case compare b a of > LT -> (b, t) : insList ts > EQ -> (b, insert t x v) : ts > GT -> (a, Leaf x v) : (b, t) : ts %} lhs2tex-1.18.1/src/Auxiliaries.lhs0000644000175000001440000001205512022734320016142 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Auxiliaries} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > {-# LANGUAGE TypeSynonymInstances #-} > {-# LANGUAGE FlexibleInstances #-} > module Auxiliaries ( module Auxiliaries ) > where > > import Data.Char ( isSpace ) > import Control.Arrow ( (>>>), Kleisli(..) ) > import qualified Control.Arrow as A > import Control.Monad ( MonadPlus(..) ) > import Control.Monad.Error %endif > infixr 5 {-"\;"-} <| -- same fixity as `|:|' % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Operations on chars} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > unNL :: Char -> Char > unNL '\n' = ' ' > unNL c = c % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Operations on lists} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > splitOn :: (Char -> Bool) -> String -> [String] > splitOn p s = case dropWhile p s of > "" -> [] > s' -> w : splitOn p s'' > where (w,s'') = break p s' > rtake :: Int -> [a] -> [a] > rtake n = reverse . take n . reverse > inverse :: [(a, b)] -> [(b, a)] > inverse bs = [ (b, a) | (a, b) <- bs ] > merge :: (Ord a) => [a] -> [a] -> [a] > merge [] bs = bs > merge as@(a : _) [] = as > merge as@(a : as') bs@(b : bs') > | a <= b = a : merge as' bs > | otherwise = b : merge as bs' %{ %format (sub (a) (b)) = "{" a "}_{" b "}" The call |breakAfter p [sub a 1,..,sub a n]| yields |([sub a 1,..,sub a i], [sub a (i+1),..,sub a n])| such that |p (sub a i) = True| and |p (sub a j) = False| for |j < i|. %} > breakAfter :: (a -> Bool) -> [a] -> ([a], [a]) > breakAfter p [] = ([], []) > breakAfter p (a : as) > | p a = ([a], as) > | otherwise = a <| breakAfter p as > breaks :: ([a] -> Bool) -> [a] -> ([a], [a]) > breaks p [] = ([], []) > breaks p as@(a : as') > | p as = ([], as) > | otherwise = a <| breaks p as' > -- isPrefix :: (Eq a) => [a] -> [a] -> Bool > -- p `isPrefix` as = p == take (length p) as > withoutSpaces :: String -> String > withoutSpaces s = filter (not . isSpace) s > group :: Int -> [a] -> [[a]] > group n = repSplit (repeat n) >>> takeWhile (not . null) > repSplit :: [Int] -> [a] -> [[a]] > repSplit [] xs = [] > repSplit (n : ns) xs = ys : repSplit ns zs > where (ys, zs) = splitAt n xs % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Monad utilities} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > lift :: (Monad m) => (a -> b) -> (a -> m b) > lift f a = return (f a) > (***) :: (Monad m) => (a -> m a') -> (b -> m b') -> (a, b) -> m (a', b') > f *** g = runKleisli (Kleisli f A.*** Kleisli g) > fromRight :: Either a b -> b > fromRight (Left _) = error "fromRight" > fromRight (Right b) = b % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Miscellaneous} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - Some useful type abbreviations. > type LineNo = Int > type Message = String > type Exc = (Message, String) > instance Error Exc where > noMsg = ("unknown error", "") > strMsg s = (s, "") Reverse Composition. > (<|) :: a -> ([a], b) -> ([a], b) > a <| (as, b) = (a : as, b) > > impossible :: String -> a > impossible name = error ("The `impossible' happened in \"" > ++ name ++ "\"") % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Obsolete code} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > command :: String -> String -> String > command name arg = "\\" ++ name ++ "{" ++ arg ++ "}" > > environment :: String -> String -> String > environment name m = "\\begin{" ++ name ++ "}" ++ m > ++ "\\end{" ++ name ++ "}" lhs2tex-1.18.1/src/Directives.lhs0000644000175000001440000003105012022734320015760 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Directives} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module Directives ( Formats, parseFormat, Equation, Substs, Subst, parseSubst, Toggles, eval, define, value, nrargs ) > where > > import Control.Applicative ( many, optional ) > import Control.Monad > import Data.Char ( isSpace, isAlpha, isDigit ) > import Data.List > import Parser > import TeXCommands > import TeXParser > import HsLexer > import FiniteMap ( FiniteMap, (!) ) > import qualified FiniteMap as FM > import Auxiliaries > import Document > import Value %endif % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{@%format@ directives} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > type Formats = FiniteMap Char Equation > type Equation = (Bool, [Bool], [String], [Token]) ks, 20.07.03: The |Equation| type contains the following information: does the definition have surrounding parentheses, do the arguments have surrounding parentheses, what are the names of the arguments, and the tokens to replace the macro with. ks, 06.09.03: Adding the |nrargs| function that yields the number of arguments a formatting directive expects. > nrargs :: Equation -> Int > nrargs (_,_,args,_) = length args \NB Die Substution wird nicht als Funktion |[[Token]] -> [Token]| repr"asentiert, da math |Pos Token| verlangt. > > parseFormat :: Lang -> String -> Either Exc (String, Equation) > parseFormat lang s = parse lang (equation lang) (convert s) Format directives. \NB @%format ( = "(\;"@ is legal. > equation :: Lang -> Parser Token (String, Equation) > equation lang = do (opt, (f, opts, args)) <- optParen lhs > _ <- varsym lang "=" > r <- many item > return (f, (opt, opts, args, r)) > `mplus` do f <- item > _ <- varsym lang "=" > r <- many item > return (string f, (False, [], [], r)) > -- no RHS, try implicit formatting rules > `mplus` do f <- satisfy isVarid `mplus` satisfy isConid > return (string f, (False, [], [], tex f)) \Todo{@%format `div1`@ funktioniert nicht.} > where > agda = lang == Agda > tex (Varid s) | agda = operator s > tex (Conid s) | agda = operator s > tex (Varid s) = subscript Varid s > tex (Conid s) = subscript Conid s > tex (Qual [] s) = tex s > tex (Qual (m:ms) s) = Conid m : tex (Qual ms s) > -- ks, 03.09.2003: was "tex (Qual m s) = Conid m : tex s"; > -- seems strange though ... > subscript f s > | null t && not (null w) && (null v || head w == '_') > = underscore f s > | otherwise = [f (reverse w) > , TeX False > (Text ((if not (null v) > then "_{" ++ reverse v ++ "}" > else "" > ) ++ reverse t)) > ] > where s' = reverse s > (t, u) = span (== '\'') s' > (v, w) = span isDigit u > operator s = let parts = splitOn (=='_') s > start = "_" `isPrefixOf` s > end = "_" `isSuffixOf` s > in (if start then [Varid "_"] else []) ++ > Data.List.intersperse (Varid "_") (map Varid parts) ++ > (if end then [Varid "_"] else []) ks, 02.02.2004: I have added implicit formatting via |underscore|. The above condition should guarantee that it is (almost) only used in cases where previously implicit formatting did not do anything useful. The function |underscore| typesets an identifier such as |a_b_c| as $a_{b_{c}}$. TODO: Instead of hard-coded subscripting a substitution directive should be invoked here. > underscore f s > = [f t] > ++ if null u then [] > else [TeX False (Text "_{")] > ++ > proc_u > ++ > [TeX False (Text "}")] > where (t, u) = break (== '_') s > tok_u = tokenize lang (tail u) > proc_u = case tok_u of > Left _ -> [f (tail u)] -- should not happen > Right t -> t > lhs :: Parser Token (String, [Bool], [String]) > lhs = do f <- varid `mplus` conid > as <- many (optParen varid) > let (opts, args) = unzip as > return (f, opts, args) > optParen :: Parser Token a -> Parser Token (Bool, a) > optParen p = do _ <- open'; a <- p; _ <- close'; return (True, a) > `mplus` do a <- p ; return (False, a) > > item = satisfy (const True) > convert [] = [] > convert ('"' : '"' : s) = '"' : convert s > convert ('"' : s) = '{' : '-' : '"' : convert' s > convert (c : s) = c : convert s > > convert' [] = [] > convert' ('"' : '"' : s) = '"' : convert' s > convert' ('"' : s) = '"' : '-' : '}' : convert s > convert' (c : s) = c : convert' s % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{@%subst@ directives} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > type Substs = FiniteMap Char Subst > type Subst = [Doc] -> Doc > parseSubst :: Lang -> String -> Either Exc (String, Subst) > parseSubst lang s = parse lang (substitution lang) (convert s) > > substitution :: Lang -> Parser Token (String, Subst) > substitution lang = do s <- varid > args <- many varid > _ <- varsym lang "=" > rhs <- many (satisfy isVarid `mplus` satisfy isTeX) > return (s, subst args rhs) > where > subst :: [String] -> [Token] -> Subst > subst args rhs ds = catenate (map sub rhs) > where sub (TeX _ d) = d > sub (Varid x) = FM.fromList (zip args ds) ! x > -- TODO: The above lookup can fail badly if unknown variables are used on the rhs of a subst. \Todo{unbound variables behandeln.} ks, 24.10.2008: A bit messy: For Agda, we explicitly exclude "=" from the set of varids accepted on the lhs of a directive, because according to the Agda lexer, "=" is both a varid and a varsym. This shouldn't matter for Haskell, because "=" will never occur in a Varid constructor. > varid = do x <- satisfy (\ x -> isVarid x && x /= Varid "="); return (string x) > conid = do x <- satisfy isConid; return (string x) > varsym Agda s = satisfy (\ x -> x == Varsym s || x == Varid s) -- Agda has no symbol/id distinction > varsym Haskell s = satisfy (== (Varsym s)) > > isTeX (TeX _ _) = True > isTeX _ = False % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Conditional directives} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > type Toggles = FiniteMap Char Value Auswertung Boole'scher Ausdr"ucke. > eval :: Lang -> Toggles -> String -> Either Exc Value > eval lang togs = parse lang (expression lang togs) > > expression :: Lang -> Toggles -> Parser Token Value > expression lang togs = expr > where > expr = do e1 <- appl > e2 <- optional (do op <- varsym' lang; e <- expr; return (op, e)) > return (maybe e1 (\(op, e2) -> sys2 op e1 e2) e2) > appl = do f <- optional not' > e <- atom > return (maybe e (\_ -> onBool1 not e) f) > atom = do Varid x <- satisfy isVarid; return (value togs x) > `mplus` do _ <- true'; return (Bool True) > `mplus` do _ <- false'; return (Bool False) > `mplus` do s <- satisfy isString; return (Str (read (string s))) > `mplus` do s <- satisfy isNumeral; return (Int (read (string s))) > `mplus` do _ <- open'; e <- expr; _ <- close'; return e > > sys2 "&&" = onBool2 (&&) > sys2 "||" = onBool2 (||) > sys2 "==" = onMatching (==) (==) (==) > sys2 "/=" = onMatching (/=) (/=) (/=) > sys2 "<" = onMatching (<) (<) (<) > sys2 "<=" = onMatching (<=) (<=) (<=) > sys2 ">=" = onMatching (>=) (>=) (>=) > sys2 ">" = onMatching (>) (>) (>) > sys2 "++" = onStr2 (++) > sys2 "+" = onInt2 (+) > sys2 "-" = onInt2 (-) > sys2 "*" = onInt2 (*) > sys2 "/" = onInt2 div > sys2 _ = \_ _ -> Undef Definierende Gleichungen. > define :: Lang -> Toggles -> String -> Either Exc (String, Value) > define lang togs = parse lang (definition lang togs) > > definition :: Lang -> Toggles -> Parser Token (String, Value) > definition lang togs = do Varid x <- satisfy isVarid > _ <- equal' lang > b <- expression lang togs > return (x, b) Primitive Parser. > not', true', false', open', close' > :: Parser Token Token > equal' :: Lang -> Parser Token Token > equal' lang = varsym lang "=" > not' = satisfy (== (Varid "not")) > true' = satisfy (== (Conid "True")) > false' = satisfy (== (Conid "False")) > open' = satisfy (== (Special '(')) > close' = satisfy (== (Special ')')) > varsym' lang = do x <- satisfy (isVarsym lang); return (string x) > isVarsym _ (Varsym _) = True > isVarsym Agda (Varid _) = True -- for Agda > isVarsym _ _ = False > isString (String _) = True > isString _ = False > isNumeral (Numeral _) = True > isNumeral _ = False Hilfsfunktionen. > parse :: Lang -> Parser Token a -> String -> Either Exc a > parse lang p str = do ts <- tokenize lang str > let ts' = map (\t -> case t of TeX _ x -> TeX False x; _ -> t) . > filter (\t -> catCode t /= White || isTeX t) $ ts > maybe (Left msg) Right (run p ts') > where msg = ("syntax error in directive", str) Hack: |isTeX t| f"ur |parseSubst|. > value :: Toggles -> String -> Value > value togs x = case FM.lookup x togs of > Nothing -> Undef > Just b -> b lhs2tex-1.18.1/src/TeXParser.lhs0000644000175000001440000002302112022734320015533 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Pseudo-\TeX\ Parser} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module TeXParser ( texparse ) > where > import Data.Char ( isSpace, isAlpha ) > import TeXCommands > import Data.List ( isPrefixOf ) > import Auxiliaries hiding ( breaks ) %endif Care is taken that no character of the input is lost; this is necessary for reporting the correct line number if an error occurs. > texparse :: LineNo -> String -> [Numbered Class] > texparse n = number n . compress . classify0 "" To be able to catch errors the maximum length of arguments is restricted to |maxChar| for commands and to |maxLine| for environments. > maxChar, maxLine :: Int > maxChar = 1000 > maxLine = 80 * 500 A simple Pseudo-\TeX-Parser. \NB Pseudo-\TeX\ environments must not be nested: \[ @\begin{code}...\begin{code}...\end{code}...\end{code}@ \] is not parsed properly. |classify0| is only used at the start of a file or line; it recognizes bird (and inverse bird) tracks. > classify0 :: String -> String -> [Class] > classify0 _ [] = [] > classify0 n ('>' : s) = Environment Code (n ++ ' ' : t) : classify0 "" u > where (t, u) = unbird '>' s > classify0 n ('<' : s) = Environment Spec (n ++ ' ' : t) : classify0 "" u > where (t, u) = unbird '<' s > classify0 n s = Many n : classify s \NB The preceding newline (if any) is put into the code section to be able to suppress blank lines in the \LaTeX\ text. > classify :: String -> [Class] > classify [] = [] > classify ('\n' : s) = classify0 "\n" s Commands disguised as comments (AKA pseudo-comments). ks, 19.08.2004: changed |classify v| to |classify0 v| calls, to recognize (incorrect-Haskell) bird tracks directly after a directive. > classify ('%' : s) = case encode t of > Nothing -> Many ('%' : t ++ arg) : classify0 "" v > Just cmd -> Directive cmd arg : classify0 "" v > where (t, u) = break isSpace s > (arg, v) = breakAfter (== '\n') u \NB Text starting with @%@ is ignored; in most cases this is what you want (exception @\%@). Environments. > classify str@('\\' : s) = case span isIdChar s of > ("begin", '{' : t) -> case span isIdChar t of > (env, '}' : u) -> case encode env of > Nothing -> cont > Just cmd > | pred v -> Environment cmd (arg ++ w) : classify x > | otherwise -> notFound end str : cont > where > end = "\\end{" ++ env ++ "}" > pred = isPrefixOf end > (arg, v) = breaks maxLine pred u > (w, x) = blank (drop (length end) v) > _ -> cont Inline verbatim commands are treated specially; otherwise @\verb|a|@ would be mistaken as inline code. Furthermore: then we are able to write @\verb|\begin{code}|@. > ("verb*", c : t) -> verbatim True c t > ("verb", c : t) -> verbatim False c t Commands. > (cmd, '{' : t) -> case encode cmd of > Nothing -> cont > Just cmd -> case nested maxChar 0 t of > (a, '}' : u) -> Command cmd a : classify u > _ -> notFound "matching `}'" str : cont > ([], '%' : t) -> Many "\\%" : classify t > _ -> cont > where > cont = One '\\' : classify s > verbatim b c t = case verb maxChar c t of > (u, c' : v) | c == c' -> Command (Vrb b) u : classify v > _ -> notFound ("matching `" ++ [c] ++ "'") str : cont Inline code. > classify ('|' : '|' : s) = One '|' : classify s > classify str@('|' : s) = case inline maxChar s of > (arg, '|' : t) -> Inline arg : classify t > _ -> notFound "matching `|'" str : One '|' : classify s Short verb. > classify ('@' : '@' : s) = One '@' : classify s > classify str@('@' : s) = case shortverb maxChar s of > (arg, '@' : t) -> Command (Vrb False) arg : classify t > _ -> notFound "matching `@'" str : One '@' : classify s Everything else. > classify (c : s) = One c : classify s > notFound :: String -> String -> Class > notFound what s = Error (what ++ " not found", s) > isIdChar :: Char -> Bool > isIdChar c = isAlpha c || c == '*' % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Parsing of arguments} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - The parser satisfy % \begin{eqnarray*} |parse M.s = (M.l, M.r)| & |==>| & |M.s = M.l ++ M.r| \end{eqnarray*} % The function |nested n 0| recognizes arguments enclosed in matching curly braces. > nested :: Int -> Int -> String -> (String, String) > nested n depth s = nest n s > where > nest 0 s = ([], s) > nest n [] = ([], []) > nest n ('}' : s) > | depth == 0 = ([], '}' : s) > | otherwise = '}' <| nested (n - 1) (depth - 1) s > nest n ('{' : s) = '{' <| nested (n - 1) (depth + 1) s > nest n ('\\' : c : s) = '\\' <| c <| nest (n - 2) s > nest n (c : s) = c <| nest (n - 1) s The function |verb n c| recognizes arguments enclosed in |c|. > verb :: Int -> Char -> String -> (String, String) > verb 0 c s = ([], s) > verb n c [] = ([], []) > verb n c (c' : s) > | c == c' = ([], c' : s) > | otherwise = c' <| verb (n - 1) c s The function |inline n| recognizes arguments enclosed in vertical bars (and converts double bars into single bars; therefore it is \emph{not} equivalent to |verb n '||'|). > inline :: Int -> String -> (String, String) > inline 0 s = ([], s) > inline n [] = ([], []) > inline n ('|' : '|' : s) = '|' <| inline (n - 2) s > inline n ('|' : s) = ([], '|' : s) > inline n (c : s) = c <| inline (n - 1) s > > shortverb :: Int -> String -> (String, String) > shortverb 0 s = ([], s) > shortverb n [] = ([], []) > shortverb n ('@' : '@' : s) = '@' <| shortverb (n - 2) s > shortverb n ('@' : s) = ([], '@' : s) > shortverb n (c : s) = c <| shortverb (n - 1) s The function |unbird| recognizes code sections marked by bird tracks; |blank| skips the next line if it is blank. > unbird :: Char -> String -> (String, String) > unbird c [] = ([], []) > unbird c ('\n' : c' : s) > | c == c' = '\n' <| ' ' <| unbird c s > unbird c ('\n' : s) = '\n' <| blank s > unbird c (c' : s) = c' <| unbird c s > > blank :: String -> (String, String) > blank s | all isSpace t = (t, u) > | otherwise = ("", s) > where (t, u) = breakAfter (== '\n') s |breaks n pred as| returns |(x, y)| such that |as = x ++ y|, |pred y| holds and |x| is as small as possible (but at most of length |n|). > breaks :: Int -> ([a] -> Bool) -> [a] -> ([a], [a]) > breaks n pred [] = ([], []) > breaks n pred as@(a : as') > | n == 0 || pred as = ([], as) > | otherwise = a <| breaks (n - 1) pred as' % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Post processing} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - Collaps adjacent |One|'s into a |Many|. > compress = foldr (<|) [] > where > One '\n' <| ts = Many "\n" : ts > Many s@('\n' : _) <| ts = Many s : ts > One c <| (Many s : ts) = Many (c : s) : ts > One c <| ts = Many [c] : ts > Many s <| (Many s' : ts) = Many (s ++ s') : ts > t <| ts = t : ts \NB The first two equations make |compress| incrementel (?); otherwise \[ |do s <- readFile "Examples/InfI.lhs"; mapM_ print (compress (map One s))| \] is silent until the complete input has been digested. Adding line numbers. > number :: LineNo -> [Class] -> [Numbered Class] > number n [] = [] > number n (t : ts) = No n t : number (n + i) ts > where i = case t of > One c -> impossible "number" > Many s -> newlines s > Inline s -> newlines s > Command _ s -> newlines s > Environment _ s -> newlines s > Directive _ s -> newlines s > Error _ -> 0 Number of newline characters in a string. > newlines :: String -> Int > newlines s = length [ c | c <- s, c == '\n' ] lhs2tex-1.18.1/src/Typewriter.lhs0000644000175000001440000001112112022734320016032 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Typewriter formatter} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module Typewriter ( module Typewriter ) > where > > import Control.Monad > > import Verbatim ( trim, expand ) > import Document > import Directives > import HsLexer > import qualified FiniteMap as FM > import Auxiliaries > import TeXCommands ( Lang (..) ) %endif % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Inline and display code} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > inline, display :: Lang -> Formats -> String -> Either Exc Doc > inline lang dict = tokenize lang > >=> lift (latexs sub'thin sub'thin dict) > >=> lift sub'inline > display lang dict = lift trim > >=> lift (expand 0) > >=> tokenize lang > >=> lift (latexs sub'space sub'nl dict) > >=> lift sub'code % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{\LaTeX\ encoding} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > latexs :: Doc -> Doc -> Formats -> [Token] -> Doc > latexs sp nl dict = catenate . map (latex sp nl dict) > > latex :: Doc -> Doc -> Formats -> Token -> Doc > latex sp nl dict = tex Empty > where > tex _ (Space s) = sub'spaces (convert False s) > tex q (Conid s) = replace q s (sub'conid (q <> convert False s)) > tex _ (Varid "") = sub'dummy -- HACK > tex q (Varid s) = replace q s (sub'varid (q <> convert False s)) > tex q (Consym s) = replace q s (sub'consym (q <> convert False s)) > tex q (Varsym s) = replace q s (sub'varsym (q <> convert False s)) > tex _ (Numeral s) = replace Empty s (sub'numeral (convert True s)) -- NEU > tex _ (Char s) = sub'char (catenate (map conv' (init $ tail s))) -- NEW: remove quotes > tex _ (String s) = sub'string (catenate (map conv' (init $ tail s))) -- NEW: remove quotes > tex _ (Special c) = sub'special (replace Empty [c] (conv False c)) > tex _ (Comment s) = sub'comment (Embedded s) > tex _ (Nested s) = sub'nested (Embedded s) > tex _ (Pragma s) = sub'pragma (Embedded s) > tex _ (Keyword s) = replace Empty s (sub'keyword (convert False s)) > tex _ (TeX False d) = d > tex _ (TeX True d) = sub'tex d > tex _ t@(Qual ms t') = replace Empty (string t) (tex (catenate (map (\m -> tex Empty (Conid m) <> Text ".") ms)) t') > tex _ t@(Op t') = replace Empty (string t) (sub'backquoted (tex Empty t')) > where cmd | isConid t'= sub'consym > | otherwise = sub'varsym > > replace q s def = case FM.lookup s dict of > Just (_, _, [], ts) -> q <> catenate (map (tex Empty) ts) > _ -> def \NB the directives @%format a = b@ and @%format b = a@ cause a loop. \NB Only nullary macros are applied. Conversion of strings and characters. The Boolean indicates whether we want to convert a numeric literal which could contain an exponent. > convert :: Bool -> String -> Doc > convert isNum s = catenate (map (conv isNum) s) > conv :: Bool -> Char -> Doc > conv _ ' ' = sp > conv _ '\n' = nl > conv isNum c > | c `elem` "#$%&" = Text ("\\" ++ [c]) > | c `elem` "\"\\^_{}~" = Text (char c) > | isNum && c `elem` "-+"= Text ("{" ++ [c] ++ "}") > | otherwise = Text [c] > > conv' ' ' = Text "~" -- NEW: instead of |Text (char ' ')| -- for character and string literals > conv' c = conv False c \NB The character @"@ is not copied verbatim, to be able to use @german.sty@ (@"@ is made active). \NB The coding of characters is not independent of the \TeX\ font used, eg @\/@ appears different in italics and typewriter (@\@ is \texttt{\char'134} in typewriter, but \textit{\char'134} in italics). > char :: Char -> String > char c = "\\char" ++ show (fromEnum c) ++ " " lhs2tex-1.18.1/src/StateT.lhs0000644000175000001440000000271412022734320015070 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{State transformer} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > {-# LANGUAGE GeneralizedNewtypeDeriving #-} > module StateT ( module StateT ) > where > > import Control.Applicative > import Control.Monad.Error > import Control.Monad.State > > import Auxiliaries %endif |IO| with internal state and error handling. %if style == math %format MkXIO (m) = m %format unXIO (m) = m %endif > newtype XIO exc st a = MkXIO (ErrorT exc (StateT st IO) a) > deriving (Functor, Applicative, Monad, MonadIO, MonadState st, MonadError exc) -- XIO exc st a ~= StateT st IO (Either exc a) -- ~= ErrorT exc (StateT st IO) a %if style /= math > unXIO (MkXIO f) = f %endif \NB The state is preserved upon failure. > toIO :: Error exc => XIO exc st a -> IO a > toIO (MkXIO m) = do > (r, _) <- runStateT (runErrorT m) > (error "no initial state supplied") > case r of Left _ -> error "unhandled error" > Right x -> return x > fromEither :: Error exc => Either exc a -> XIO exc st a > fromEither = either throwError return lhs2tex-1.18.1/src/FileNameUtils.lhs0000644000175000001440000001602212022734320016362 0ustar andresusers> {-# LANGUAGE ScopedTypeVariables #-} > > module FileNameUtils ( extension > , expandPath > , chaseFile > , readTextFile > , openOutputFile > , modifySearchPath > , deep, env > , absPath > , module System.FilePath > ) where > > import Prelude > import System.IO ( openFile, IOMode(..), hPutStrLn, stderr, > hSetEncoding, hGetContents, utf8, Handle() ) > import System.IO.Error ( isDoesNotExistError, isPermissionError ) > import System.Directory > import System.Environment > import Data.List > import Control.Monad (filterM) > import Control.Exception as E > ( try, catch, IOException ) > import System.FilePath > import System.Info > > import Auxiliaries A searchpath can be added to the front or to the back of the current path by pre- or postfixing it with a path separator. Otherwise the new search path replaces the current one. > modifySearchPath :: [FilePath] -> String -> [FilePath] > modifySearchPath p np > | isSearchPathSeparator (head np) = p ++ split > | isSearchPathSeparator (last np) = split ++ p > | otherwise = split > where split = splitOn isSearchPathSeparator np > -- relPath = joinpath > -- absPath ps = directorySeparator : relPath ps > isWindows = "win" `isPrefixOf` os || "Win" `isPrefixOf` os || "mingw" `isPrefixOf` os > absPath :: FilePath -> FilePath > absPath = if isWindows then > (("C:" ++ [pathSeparator]) ++) > else > (pathSeparator :) > deep :: FilePath -> FilePath > deep = (++(replicate 2 pathSeparator)) > env :: String -> FilePath > env x = "{" ++ x ++ "}" > extension :: FilePath -> Maybe String > extension fn = case takeExtension fn of > "" -> Nothing > (_:ext) -> Just ext > -- dirname = takeDirectory > -- filename = takeFilePath > -- basename = takeBaseName |expandPath| does two things: it replaces curly braced strings with environment entries, if present; furthermore, if the path ends with more than one directory separator, all subpaths are added ... > expandPath :: [String] -> IO [String] > expandPath s = do let s' = concatMap splitSearchPath s > s'' <- mapM expandEnvironment s' > s''' <- mapM findSubPaths (concat s'') > return (nub $ concat s''') > findSubPaths :: String -> IO [String] > findSubPaths "" = return [] > findSubPaths s = let rs = reverse s > (sep,rs') = span isPathSeparator rs > s' = reverse rs' > sep' = reverse sep > in if null s' > then return [[head sep']] {- we don't descend from root -} > else if length sep < 2 > then return [s] > else descendFrom s' > descendFrom :: String -> IO [String] > descendFrom s = E.catch (do d <- getDirectoryContents s > {- no hidden files, no parents -} > let d' = map (\x -> s x) > . filter ((/='.') . head) . filter (not . null) $ d > d'' <- filterM doesDirectoryExist d' > d''' <- mapM descendFrom d'' > return (s : concat d''') > ) > (\ (_ :: IOException) -> return [s]) > expandEnvironment :: String -> IO [String] > expandEnvironment s = case break (=='{') s of > (s',"") -> return [s] > (s','{':r) -> case break (=='}') r of > (e,"") -> return [s] > (e,'}':r') -> findEnvironment e s' r' > where findEnvironment :: String -> String -> String -> IO [String] > findEnvironment e a o = do er <- try (getEnv e) > return $ either (\ (_ :: IOException) -> []) > (map (\x -> a ++ x ++ o) . splitOn isSearchPathSeparator) > er > readTextFile :: FilePath -> IO String > readTextFile f = do h <- openFile f ReadMode > hSetEncoding h utf8 > hGetContents h > openOutputFile :: FilePath -> IO Handle > openOutputFile f = do h <- openFile f WriteMode > hSetEncoding h utf8 > return h > chaseFile :: [String] {- search path -} > -> FilePath -> IO (String,FilePath) > chaseFile p fn | isAbsolute fn= E.catch (t fn) (handle fn (err ".")) > | p == [] = chaseFile ["."] fn > | otherwise = s $ map (\ d -> md d ++ fn) p > where > md cs | isPathSeparator (last cs) > = cs > | otherwise = addTrailingPathSeparator cs > t f = readTextFile f >>= \x -> return (x,f) > s [] = err $ " in search path:\n" ++ showpath > s (x:xs) = E.catch (t x) (handle x (s xs)) > err extra = ioError > $ userError $ "File `" ++ fn ++ "' not found or not readable" ++ extra > handle :: FilePath -> IO (String,FilePath) -> IOException -> IO (String,FilePath) > handle x k e = > if isDoesNotExistError e then k > else if isPermissionError e then do > hPutStrLn stderr $ "Warning: could not access " ++ x ++ " due to permission error." > k > else ioError e > showpath = concatMap (\x -> " " ++ x ++ "\n") p lhs2tex-1.18.1/src/MathPoly.lhs0000644000175000001440000005211112022734320015415 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Poly formatter} %-------------------------------= -------------------------------------------- ks, 28.07.2003: This is a new style that is based on the old @math@-style and is intended to replace @math@ style in a future version. Because the former @math@ style should remain compatible, I've copied the entire module. Essentially, there are the same functions here doing the same job, but there are subtle differences, and they will grow over time \dots %if codeOnly || showModuleHeader > module MathPoly ( module MathPoly, substitute, number ) > where > > import Prelude hiding ( lines ) > import Data.List ( partition, nub, insert, sort, transpose ) > import Numeric ( showFFloat ) > import Control.Applicative ( many ) > import Control.Arrow ( (>>>) ) > import Control.Monad ( MonadPlus(..), (>=>) ) > > import Verbatim ( expand, trim ) > import Typewriter ( latex ) > import MathCommon > import Document > import Directives > import HsLexer > import Parser > import qualified FiniteMap as FM > import Auxiliaries > import TeXCommands ( Lang(..) ) > -- import Debug.Trace ( trace ) %endif % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Inline and display code} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > inline :: Lang -> Formats -> Bool -> String -> Either Exc Doc > inline lang fmts auto = fmap unNL > >>> tokenize lang > >=> lift (number 1 1) > >=> when auto (lift (filter (isNotSpace . token))) > >=> lift (partition (\t -> catCode t /= White)) > >=> exprParse *** return > >=> lift (substitute fmts auto) *** return > >=> lift (uncurry merge) > >=> lift (fmap token) > >=> when auto (lift addSpaces) > >=> lift (latexs fmts) > >=> lift sub'inline > display :: Lang -> Int -> Formats -> Bool -> Int -> Int -> Stack > -> String -> Either Exc (Doc, Stack) > display lang line fmts auto sep lat stack > = lift trim > >=> lift (expand 0) > >=> tokenize lang > >=> lift (number line 1) > -- |>=> when auto (lift (filter (isNotSpace . token)))| > >=> lift (partition (\t -> catCode t /= White)) > >=> exprParse *** return > >=> lift (substitute fmts auto) *** return > >=> lift (uncurry merge) > >=> lift lines > >=> when auto (lift (fmap addSpaces)) > >=> lift (\ts -> (autoalign sep ts,ts)) > -- |>=> lift (\(x,y) -> trace ((unlines $ map show $ y) ++ "\n" ++ show x) (x,y))| > >=> lift (\(cs,ts) -> let ats = align cs sep lat ts > cs' = [("B",0)] ++ cs > ++ [("E",error "E column")] > in (autocols cs' ats,ats) > ) > >=> return *** when auto (lift (fmap (fmap (filter (isNotSpace . token))))) > -- |>=> return *** when auto (lift (fmap (fmap (addSpaces . filter (isNotSpace . token)))))| > >=> lift (\((cs,z),ats) -> (cs,(z,ats))) > >=> return *** lift (\(z,ats) -> leftIndent fmts auto z [] ats) > -- ks, 17.07.2003: i've changed "stack" into "[]" and thereby disabled > -- the global stack for now as it leads to unexepected behaviour > >=> lift (\(cs,(d,stack)) -> (sub'code (columns cs <> d),stack)) > > columns :: [(String,Doc)] -> Doc > columns = foldr (<>) Empty > . map (uncurry sub'column) % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{A very simple Haskell Parser} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - The parser is based on the Smugweb parser. This variant can handle unbalanced parentheses in some cases (see below). > exprParse :: (CToken tok, Show tok) => [Pos tok] -> Either Exc (Chunk (Pos tok)) > exprParse s = case run (chunk 0) s of > Nothing -> Left ("syntax error", show s) -- HACK: |show s| > Just e -> Right e > > chunk :: (CToken tok) => Int -> Parser (Pos tok) (Chunk (Pos tok)) > chunk d = do a <- many (atom d) > as <- many (do s <- sep; a <- many (atom d); return (Delim s : offside a)) > return (offside a ++ concat as) > where offside [] = [] > -- old: |opt a = [Apply a]| > offside (a : as) = Apply (a : bs) : offside cs > where (bs, cs) = span (\a' -> col' a < col' a') as > col' (Atom a) = col a > col' (Paren a _ _) = col a > > atom :: (CToken tok) => Int -> Parser (Pos tok) (Atom (Pos tok)) > atom d = fmap Atom noSep > `mplus` do l <- left > e <- chunk (d+1) > r <- right l > return (Paren l e r) > `mplus` if d == 0 then do r <- anyright > return (Paren (fromToken $ TeX False Empty) [] r) > else mzero ks, 09.09.2003: Added handling of unbalanced parentheses, surely not in the most elegant way. Both |chunk| and |atom| now take an integer argument indicating the nesting level. Only on the top-level unbalanced right parentheses are accepted. The end of file (end of code block) can be parsed as an arbitrary amount of right parentheses. Primitive parser. > sep, noSep, left, anyright :: (CToken tok) => Parser tok tok > sep = satisfy (\t -> catCode t == Sep) > noSep = satisfy (\t -> catCode t == NoSep) > left = satisfy (\t -> case catCode t of Del c -> c `elem` "([{"; _ -> False) > anyright = satisfy (\t -> case catCode t of Del c -> c `elem` ")]}"; _ -> False) > right l = satisfy (\c -> case (catCode l, catCode c) of > (Del o, Del c) -> (o,c) `elem` zip "([{" ")]}" > _ -> False) > `mplus` do eof > return (fromToken $ TeX False Empty) ks, 06.09.2003: Modified the |right| parser to accept the end of file, to allow for unbalanced parentheses. This behaviour is not (yet) backported to |math| style. Also added |anyright|. % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Internal alignment} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > data Line a = Blank > | Poly [((String,Int),a,Bool)] > > autoalign :: (Show tok,CToken tok) => Int -- "Trennung" > -> [[Pos tok]] -- positionierte tokens per Zeile > -> [(String,Int)] -- alignment-info (Name, Spalte) > autoalign sep toks = map (\x -> (show x,x)) > . nub > . sort > . concat > . fmap findCols > $ toks > where > findCols :: (CToken tok,Show tok) => [Pos tok] -> [Col] > findCols ts = case {- |trace (show ts)| -} > (break (\t -> not . isNotSpace . token $ t) ts) of > (_, []) -> [] -- done > (_, [v]) -> [] -- last token is whitespace, doesn't matter > (_, v:v':vs) > | row v' == 0 && col v' == 0 > -> findCols (v:vs) -- skip internal tokens (automatically added spaces) > | length (string (token v)) >= sep > -> {- |trace ("found: " ++ show (col v')) $| -} col v' : findCols (v':vs) > | otherwise -> {- |trace ("found too short")| -} findCols (v':vs) ks, 21.11.2005: I've fixed a bug that was known to me since long ago, but I never got around to investigate. When a parametrized formatting directive directly precedes a token that should be aligned, then sometimes that token was not aligned. The reason was that in |findCols| above, the recursive calls used |vs| instead of |(v':vs)|. > align :: (CToken tok) => [(String,Int)] -- alignment-info (Name, Spalte) > -> Int -- "Trennung" > -> Int -- "Traegheit" > -> [[Pos tok]] -- positionierte tokens per Zeile > -> [Line [Pos tok]] > align cs sep lat toks = fmap (\t -> {- |trace (show (map token t) ++ "\n") $| -} > let res = splitn ("B",0) False cs t > in if null [x | x <- t > , (row x /= 0 || col x /= 0) && isNotSpace (token x)] > || null res > then Blank > else Poly res > ) toks > where > splitn cc ind [] [] = [] > splitn cc ind [] ts = [(cc,ts,ind)] > splitn cc ind ((n,i):oas) ts= > case span (\t -> col t < i) ts of > ([], vs) -> splitn cc ind oas vs > (us, []) -> [(cc,us,ind)] > (us, (v:vs)) -> > let lu = head [ u | u <- reverse us, col u /= 0 || row u /= 0 ] > -- again, we skip automatically added spaces > llu = length (string (token lu)) > in case () of > _ | (lat /= 0 && isNotSpace (token lu)) || llu < lat || col v /= i > -- no alignment for this column > -> splitn cc ind oas (us ++ (v:vs)) > | not (isNotSpace (token lu)) && llu >= sep > -> (cc,us,ind) : splitn (n,i) True oas (v:vs) > | otherwise > -> (cc,us,ind) : splitn (n,i) False oas (v:vs) The function |isInternal| returns |True| iff the argument is a symbol or a special internal symbol. See @HsLexer@ for the list of special symbols. > isInternal :: (CToken tok) => tok -> Bool > isInternal t = case token t of > Consym _ -> True > Varsym _ -> True > Special _ -> True > _ -> False > > instance Functor Line where > fmap f Blank = Blank > fmap f (Poly ls) = Poly (map (\(x,y,z) -> (x,f y,z)) ls) % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Automatically determining centered columns} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - We use a simple heuristic: a column that contains only single tokens and at least one ``internal'' token is centered. For centered columns, we create an additional ``end'' column to make sure that all entries are centered on the same amount of space. > autocols :: (CToken tok, Show tok) => [(String,Int)] -- column info > -> [Line [Pos tok]] -- aligned tokens > -> ([(String,Doc)],[Col]) -- cols+alignment, plus centered columns > autocols cs ats = (\(x,y) -> (concat x,concat y)) $ unzip > $ zipWith3 (\(cn,n) ml ai -> > if ml <= 2 && ai then ([(cn,sub'centered) > ,(cn ++ "E",sub'dummycol) > ],[n]) > else ([(cn,sub'left)],[]) > ) cs maxlengths anyinternals > -- length 2, because space tokens are always there > where > cts = transpose (concatMap (deline cs) ats) > maxlengths = {- |trace (show cts) $ |-} map (maximum . map length) cts > anyinternals = map (any (any isInternal)) cts > > -- deline :: [(String,Int)] -> Line [a] -> [[[a]]] > deline cs Blank = [] > deline cs (Poly ls) = [decol cs ls] > > decol cs [] = replicate (length cs) [] > decol ((cn,_):cs) r@(((cn',_),ts,_):rs) > | cn' == cn = ts : decol cs rs > | otherwise = [] : decol cs r % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Adding spaces} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - Inserting spaces before and after keywords. We use a simple finite automata with three states: |before b| means before a keyword, |b| indicates whether to insert a space or not; |after| means immediately after a keyword (hence |before b| really means not immediately after). > addSpaces :: (CToken tok) => [tok] -> [tok] > addSpaces ts = before False ts > where > before b [] = [] > before b (t : ts) = case token t of > u | not (isNotSpace u)-> t : before b ts > | selfSpacing u -> t : before False ts > Special c > | c `elem` ",;([{" -> t : before False ts > Keyword _ -> [ fromToken (TeX False sub'space) | b ] ++ t : after ts > _ -> t : before True ts > > after [] = [] > after (t : ts) = case token t of > u | not (isNotSpace u)-> t : after ts > | selfSpacing u -> t : before False ts > Special c > | c `elem` ",;([{" -> fromToken (TeX False sub'space) : t : before False ts > Keyword _ -> fromToken (TeX False sub'space) : t : after ts > _ -> fromToken (TeX False sub'space) : t : before True ts Operators are `self spacing'. > selfSpacing :: Token -> Bool > selfSpacing (Consym _) = True > selfSpacing (Varsym _) = True > selfSpacing (Op _) = True > -- |selfSpacing (TeX _) = True| > selfSpacing _ = False \NB It's not a good idea to regard inline \TeX\ as self spacing -- consider, for example, a macro like @%format mu = "\mu "@. % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Left indentation} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - ks, 16.07.2003: I don't quite understand the meaning of |auto|. Even if |auto = False|, the stack is still updated. ks, 16.07.2003: I'm going to implement the following relatively simple heuristic for indentation. Based on my current experience with the @poly@-style I think that this is sufficient. If not, one can still indent explicitly via annotations. > type Stack = [(Col, Line [Pos Token])] The stack is a list of pairs of column numbers and tokens. The head of the list is the largest column number, and the column numbers in the list appear sorted and descending. Indentations occur at the beginning of a line, and the position of the first token of the line is relevant. First, the stack is adjusted: all elements that have a higher or equal column number than the current line are removed. In the now topmost stack element, we then look for the final token that occurs at a column less than or equal to the current element. Relative to this token, we indent. Note: this happens in \emph{all} situations, currently. Perhaps, there are a few situations where this is not a good idea, but let's see. As a final step, the current line is placed on the stack. > leftIndent :: Formats -> Bool > -> [Col] -- centered columns > -> Stack -- current stack > -> [Line [Pos Token]] > -> (Doc, Stack) > leftIndent dict auto z stack > = loop True stack > where > copy d | auto = d > | otherwise = Empty > loop :: Bool -> Stack -> [Line [Pos Token]] -> (Doc, Stack) > loop first stack [] = (Empty, stack) -- done > loop first stack (l:ls) = case l of > Blank -> loop True stack ls -- ignore blank lines > {-| Poly x || trace (show x) False -> undefined |-} > Poly [] -> loop True stack ls -- next line > Poly (((n,c),[],ind):rs) > | first -> loop True stack (Poly rs:ls) -- ignore leading blank columns > Poly p@(((n,c),ts,ind):rs) > | first -> -- check indentation > let -- step 1: shrink stack > rstack = dropWhile (\(rc,_) -> rc >= c) stack > -- step 2: find relevant column > (rn,rc) = findrel (n,c) rstack > -- step 3: place line on stack > fstack = (c,l) : rstack > in mkFromTo fstack rn n rc [fromToken $ TeX False (indent (rn,rc) (n,c))] p ls > > > | c `elem` z -> mkFromTo stack n (n ++ "E") c ts rs ls > -- treat centered lines special > Poly [((n,c),ts,ind)] -> mkFromTo stack n "E" c ts [] ls > -- last columns > Poly (((n,c),ts,ind):rs@(((nn,_),_,_):_)) > -> mkFromTo stack n nn c ts rs ls > > mkFromTo :: Stack -> String -> String -> Col -> [Pos Token] -> [((String, Int), [Pos Token], Bool)] -> [Line [Pos Token]] -> (Doc, Stack) > mkFromTo stack bn en c ts rs ls > | bn == en = -- this can happen at the beginning of a line due to indentation > (rest,stack') > | otherwise = (sub'fromto bn en (latexs dict ts) > <> (if null rs then sep ls else Empty) <> rest > ,stack' > ) > where > (rest,stack') = loop False -- not first of a line > stack > (Poly rs : ls) > > > findrel :: (String,Col) -> Stack -> (String,Col) > findrel (n,c) [] = (n,c) > findrel (n,c) ((_,Blank):r) = findrel (n,c) r -- should never happen > findrel (n,c) ((_,Poly t):_) > = case break (\((n',c'),_,_) -> c' > c) t of > ([],_) -> error "findrel: the impossible happened" > (pre,_) -> let ((rn,rc),_,_) = last pre > in (rn,rc) > > sep [] = Empty > sep (Blank : _ ) = sub'blankline > sep (_ : _) = sub'nl > > indent :: (String,Int) -> (String,Int) -> Doc > indent (n,c) (n',c') > | c /= c' = sub'indent (Text (show (c' - c))) > | otherwise = Empty % \begin{verbatim} where |a = where |Str c = [ [ ( { |(b, c) = |c@(..)= , | , ; ] ] ) } \end{verbatim} lhs2tex-1.18.1/src/Verbatim.lhs0000644000175000001440000000617212022734320015437 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Verbatim formatter} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module Verbatim ( module Verbatim ) > where > > import Control.Arrow ( (>>>) ) > import Data.Char > import Data.List ( intersperse ) > > import Document > import Auxiliaries %endif % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Inline and display code} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - The Boolean flag indicates whether a space should be typeset as \verb*| | (|True|) or not. > inline :: Bool -> String -> Doc > inline b = latexs b >>> sub'verb > > display :: Int -> Bool -> String -> Doc > display width b = trim > >>> expand 0 > >>> lines > >>> map (group width) > >>> map (map (latexs b)) > >>> map splice > >>> intersperse sub'verbnl > >>> catenate > >>> sub'verbatim > > splice :: [Doc] -> Doc > splice ds = Text "~" <> catenate (intersperse nl ds) > where nl = Text "!" <> sub'verbnl <> Text "!" > > latexs :: Bool -> String -> Doc > latexs b = catenate . map latex > where > latex ' ' > | b = Text "\\char32 " > latex c > | c `elem` " \t\n" = Text "~" > | isAlphaNum c = Text [c] > | otherwise = Text ("\\char" ++ show (fromEnum c) ++ "{}") ks, 11.01.2005: I've added {} after @\char@ to prevent ligatures like @--@ from applying. \NB Comments are \emph{not} typeset in \TeX, hence the name of the style. This is really a feature since the enclosed code need not be Haskell code. % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Deleting blank lines and expanding tabs} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - Delete leading and trailing blank line(s). > trim :: String -> String > trim = skip >>> reverse >>> skip >>> reverse > > skip :: String -> String > skip "" = "" > skip s | all isSpace t = skip u > | otherwise = s > where (t, u) = breakAfter (== '\n') s Expanding tabs (assuming a tabulator width of $8$ characters). > expand :: Int -> String -> String > expand n [] = [] > expand n ('\n' : s) = '\n' : expand 0 s > expand n ('\t' : s) = replicate (n' - n) ' ' ++ expand n' s > where n' = (n + 8) `div` 8 * 8 > expand n (c : s) = c : expand (n + 1) s lhs2tex-1.18.1/src/Math.lhs0000644000175000001440000002552612022734320014563 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Math formatter} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module Math ( module Math, substitute, number ) > where > > import Prelude hiding ( lines ) > import Data.List ( partition ) > import Numeric ( showFFloat ) > import Control.Applicative ( many ) > import Control.Arrow ( (>>>) ) > import Control.Monad ( MonadPlus(..), (>=>) ) > > import Verbatim ( expand, trim ) > import Typewriter ( latex ) > import MathCommon > import Document > import Directives > import HsLexer > import Parser > import qualified FiniteMap as FM > import Auxiliaries > import TeXCommands ( Lang(..) ) %endif % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Inline and display code} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > inline :: Lang -> Formats -> Bool -> String -> Either Exc Doc > inline lang fmts auto = fmap unNL > >>> tokenize lang > >=> lift (number 1 1) > >=> when auto (lift (filter (isNotSpace . token))) > >=> lift (partition (\t -> catCode t /= White)) > >=> exprParse *** return > >=> lift (substitute fmts auto) *** return > >=> lift (uncurry merge) > >=> lift (fmap token) > >=> when auto (lift addSpaces) > >=> lift (latexs fmts) > >=> lift sub'inline > display :: Lang -> Formats -> Bool -> (Stack, Stack) -> Maybe Int > -> String -> Either Exc (Doc, (Stack,Stack)) > display lang fmts auto sts col= lift trim > >=> lift (expand 0) > >=> tokenize lang > >=> lift (number 1 1) > >=> when auto (lift (filter (isNotSpace . token))) > >=> lift (partition (\t -> catCode t /= White)) > >=> exprParse *** return > >=> lift (substitute fmts auto) *** return > >=> lift (uncurry merge) > >=> lift lines > >=> lift (align col) > >=> when auto (lift (fmap (fmap addSpaces))) > >=> lift (leftIndent fmts auto sts) > >=> lift sub'code *** return % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{A very simple Haskell Parser} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - The parser is based on the Smugweb parser. This variant cannot handle unbalanced parentheses. > exprParse :: (CToken tok, Show tok) => [Pos tok] -> Either Exc [Item (Pos tok)] > exprParse s = case run chunk s of > Nothing -> Left ("syntax error", show s) -- HACK: |show s| > Just e -> Right e > > chunk :: (CToken tok) => Parser (Pos tok) (Chunk (Pos tok)) > chunk = do a <- many atom > as <- many (do s <- sep; a <- many atom; return (Delim s : offside a)) > return (offside a ++ concat as) > where offside [] = [] > -- old: |opt a = [Apply a]| > offside (a : as) = Apply (a : bs) : offside cs > where (bs, cs) = span (\a' -> col' a < col' a') as > col' (Atom a) = col a > col' (Paren a _ _) = col a > > atom :: (CToken tok) => Parser (Pos tok) (Atom (Pos tok)) > atom = fmap Atom noSep > `mplus` do l <- left > e <- chunk > r <- right l > return (Paren l e r) Primitive parser. > sep, noSep, left :: (CToken tok) => Parser tok tok > sep = satisfy (\t -> catCode t == Sep) > noSep = satisfy (\t -> catCode t == NoSep) > left = satisfy (\t -> case catCode t of Del c -> c `elem` "(["; _-> False) > right l = satisfy (\c -> case (catCode l, catCode c) of > (Del o, Del c) -> (o,c) `elem` zip "([" ")]" > _ -> False) % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Internal alignment} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \Todo{Internal alignment Spalte automatisch bestimmen. Vorsicht: die Position von |=| oder |::| heranzuziehen ist gef"ahrlich; wenn z.B. |let x = e| in einem |do|-Ausdruck vorkommt.} > data Line a = Blank > | Three a a a > | Multi a > > align :: (CToken tok) => Maybe Int -> [[Pos tok]] -> [Line [Pos tok]] > align c = fmap (maybe Multi split3 c) > where > split3 i ts = case span (\t -> col t < i) ts of > ([], []) -> Blank > ((_ : _), []) -> Multi ts > (us, v : vs) > | col v == i && isInternal v > -> Three us [v] vs > | null us -> Three [] [] (v : vs) > | otherwise -> Multi ts > > > isInternal :: (CToken tok) => tok -> Bool > isInternal t = case token t of > Consym _ -> True > Varsym _ -> True > Special _ -> True > _ -> False > > instance Functor Line where > fmap f Blank = Blank > fmap f (Three l c r) = Three (f l) (f c) (f r) > fmap f (Multi a) = Multi (f a) % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Adding spaces} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - Inserting spaces before and after keywords. We use a simple finite automata with three states: |before b| means before a keyword, |b| indicates whether to insert a space or not; |after| means immediately after a keyword (hence |before b| really means not immediately after). > addSpaces :: (CToken tok) => [tok] -> [tok] > addSpaces ts = before False ts > where > before b [] = [] > before b (t : ts) = case token t of > u | selfSpacing u -> t : before False ts > Special c > | c `elem` ",;([{" -> t : before False ts > Keyword _ -> [ fromToken (TeX False sub'space) | b ] ++ t : after ts > _ -> t : before True ts > > after [] = [] > after (t : ts) = case token t of > u | selfSpacing u -> t : before False ts > Special c > | c `elem` ",;([{" -> fromToken (TeX False sub'space) : t : before False ts > Keyword _ -> fromToken (TeX False sub'space) : t : after ts > _ -> fromToken (TeX False sub'space) : t : before True ts Operators are `self spacing'. > selfSpacing :: Token -> Bool > selfSpacing (Consym _) = True > selfSpacing (Varsym _) = True > selfSpacing (Op _) = True > -- |selfSpacing (TeX _) = True| > selfSpacing _ = False \NB It's not a good idea to regard inline \TeX\ as self spacing consider, for example, a macro like @%format mu = "\mu "@. % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Left indentation} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - Auch wenn |auto = False| wird der Stack auf dem laufenden gehalten. > type Stack = [(Col, Doc, [Pos Token])] > > leftIndent dict auto (lst, rst) > = loop lst rst > where > copy d | auto = d > | otherwise = Empty Die Funktion |isInternal| pr"uft, ob |v| ein spezielles Symbol wie @::@, @=@ etc~oder ein Operator wie @++@ ist. > loop lst rst [] = (Empty, (lst, rst)) > loop lst rst (l : ls) = case l of > Blank -> loop lst rst ls > Three l c r -> (sub'column3 (copy lskip <> latexs dict l) > (latexs dict c) > (copy rskip <> latexs dict r) <> sep ls <> rest, st') > where (lskip, lst') = indent l lst > (rskip, rst') = indent r rst > (rest, st') = loop lst' rst' ls -- does not work: |if null l && null c then rst' else []| > Multi m -> (sub'column1 (copy lskip <> latexs dict m) <> sep ls <> rest, st') > where (lskip, lst') = indent m lst > (rest, st') = loop lst' [] ls > > sep [] = Empty > sep (Blank : _ ) = sub'blankline > sep (_ : _) = sub'nl > > indent :: [Pos Token] -> Stack -> (Doc, Stack) > indent [] stack = (Empty, stack) > indent ts@(t : _) [] = (Empty, [(col t, Empty, ts)]) > indent ts@(t : _) (top@(c, skip, line) : stack) > = case compare (col t) c of > LT -> indent ts stack > EQ -> (skip, (c, skip, ts) : stack) > GT -> (skip', (col t, skip', ts) : top : stack) > where > skip' = case span (\u -> col u < col t) line of > (us, v : vs) | col v == col t > -> skip <> sub'phantom (latexs dict us) > -- does not work: |(us, _) -> skip ++ [Phantom (fmap token us), Skip (col t - last (c : fmap col us))]| > _ -> skip <> sub'hskip (Text em) > where em = showFFloat (Just 2) (0.5 * fromIntegral (col t - c) :: Double) "" M"ussen |v| und |t| zueinander passen? % \begin{verbatim} where |a = where |Str c = [ [ ( { |(b, c) = |c@(..)= , | , ; ] ] ) } \end{verbatim} lhs2tex-1.18.1/src/Document.lhs0000644000175000001440000000574412022734320015450 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Document type} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module Document ( module Document ) > where %endif > infixr 5 {-"\enskip"-} <> -- same fixity as `|++|' The pretty printer generate documents of type |Doc|. > data Doc = Empty > | Text String > | Doc :^: Doc > | Embedded String > | Sub String [Doc] > deriving (Eq, Show) |Embedded| is used for embedded pseudo \TeX\ text (eg in comments); |Sub s ds| is used for replacements (eg |Sub "inline" [..]|). > (<>) :: Doc -> Doc -> Doc > Empty <> d = d > d <> Empty = d > d1 <> d2 = d1 :^: d2 > > catenate :: [Doc] -> Doc > catenate = foldr (<>) Empty Substitution strings. > sub'thin = Sub "thinspace" [] > sub'space = Sub "space" [] > sub'nl = Sub "newline" [] > sub'verbnl = Sub "verbnl" [] > sub'blankline = Sub "blankline" [] > sub'dummy = Sub "dummy" [] > > sub'spaces a = Sub "spaces" [a] > sub'special a = Sub "special" [a] > sub'verb a = Sub "verb" [a] > sub'verbatim a = Sub "verbatim" [a] > sub'inline a = Sub "inline" [a] > sub'code a = Sub "code" [a] > sub'conid a = Sub "conid" [a] > sub'varid a = Sub "varid" [a] > sub'consym a = Sub "consym" [a] > sub'varsym a = Sub "varsym" [a] > sub'backquoted a = Sub "backquoted" [a] > sub'numeral a = Sub "numeral" [a] > sub'char a = Sub "char" [a] > sub'string a = Sub "string" [a] > sub'comment a = Sub "comment" [a] > sub'nested a = Sub "nested" [a] > sub'pragma a = Sub "pragma" [a] > sub'tex a = Sub "tex" [a] > sub'keyword a = Sub "keyword" [a] > sub'column1 a = Sub "column1" [a] > sub'hskip a = Sub "hskip" [a] > sub'phantom a = Sub "phantom" [a] > > sub'column3 a1 a2 a3 = Sub "column3" [a1, a2, a3] Additional substitutions for the new @poly@ formatter. Added by ks, 14.05.2003. > sub'fromto b e a = Sub "fromto" [Text b,Text e,a] > sub'column n a = Sub "column" [Text n,a] > sub'centered = Sub "centered" [] > sub'left = Sub "left" [] > sub'dummycol = Sub "dummycol" [] > sub'indent n = Sub "indent" [n] lhs2tex-1.18.1/src/Main.lhs0000644000175000001440000010125712022734320014552 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{Main program} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > module Main ( main ) > where > > import Data.Char ( isSpace ) > import Data.List ( isPrefixOf ) > import System.IO > import System.Directory ( copyFile ) > import System.Console.GetOpt > import Text.Regex ( matchRegex, mkRegexWithOpts ) > import System.Environment > import System.Exit > import System.Process > import Control.Arrow > import Control.Monad > import Control.Monad.Error > import Control.Monad.State ( MonadState(..), modify ) > import Control.Monad.Trans > import Prelude hiding ( getContents ) > > import Version > import TeXCommands > import TeXParser > import qualified Verbatim > import qualified Typewriter > import qualified Math > import qualified MathPoly as Poly > import qualified NewCode > import Directives > import Document > import State > import StateT > import qualified FiniteMap as FM > import Auxiliaries > import Value > import License > > import FileNameUtils > --import Directory %endif % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Main loop} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > main :: IO () > main = getArgs >>= main' > main' :: [String] -> IO () > main' args = case getOpt Permute options args of > (o,n,[]) -> do hSetEncoding stdin utf8 > hSetEncoding stdout utf8 > hSetEncoding stderr utf8 > (flags,initdirs,styles) > <- foldM (\(s,d,x) (sf,df,ns) -> do s' <- sf s > return (s',df d,ns ++ x)) > (state0,[],[]) o > case reverse styles of > [] -> lhs2TeX Poly flags (reverse initdirs) n > -- ks, 22.11.2005, changed default style to |Poly| > [Help] -> quitSuccess (usageInfo uheader options) > [SearchPath] -> quitSuccess (init . unlines $ searchPath) > [Version] -> quitSuccess programInfo > [Copying] -> quitSuccess (programInfo ++ "\n\n" ++ copying) > [Warranty] -> quitSuccess (programInfo ++ "\n\n" ++ warranty) > [Pre] | length n >= 3 -> preprocess flags (reverse initdirs) False n -- used as preprocessor -pgmF -F > [Pre,Help] | length n >= 3 -> preprocess flags (reverse initdirs) True n -- used as literate preprocessor -pgmL > [s] -> lhs2TeX s flags (reverse initdirs) n > _ -> quitError (incompatibleStylesError styles) > when (output flags /= stdout) (hClose (output flags)) > (_,_,errs) -> do hPutStrLn stderr $ concat errs > hPutStrLn stderr $ "Trying compatibility mode option handling ..." > cstyle args > where > quitSuccess s = do hPutStrLn stdout $ s > exitWith ExitSuccess > quitError s = do hPutStrLn stderr $ usageInfo (s ++ "\n" ++ uheader) options > exitFailure > incompatibleStylesError ss = "only one style allowed from: " > ++ unwords (map (\s -> "--" ++ decode s) ss) ++ "\n" > type Formatter = XIO Exc State () > initState :: Style -> FilePath -> [FilePath] -> State -> State > initState sty filePath ep s = s { style = sty, > file = filePath, > ofile = filePath, > searchpath = ep, > toggles = FM.fromList toggles0 > } > where toggles0 = --[(decode CodeOnly, Bool (sty == CodeOnly))] > [("style", Int (fromEnum sty))] > ++ [("version", Int numversion)] > ++ [("pre", Int pre)] > ++ [("lang", Int (fromEnum (lang s)))] > ++ [ (decode s, Int (fromEnum s)) | s <- [(minBound :: Style) .. maxBound] ] > ++ [ (decode s, Int (fromEnum s)) | s <- [(minBound :: Lang) .. maxBound] ] > -- |++ [ (s, Bool False) || s <- ["underlineKeywords", "spacePreserving", "meta", "array", "latex209", "times", "euler" ] ]| > preprocess :: State -> [Class] -> Bool -> [String] -> IO () > preprocess flags dirs lit (f1:f2:f3:_) > = if (f1 == f2) && not lit > then copyFile f2 f3 > else do c <- readFile f1 > case matchRegex (mkRegexWithOpts "^%include" True False) c of > Nothing -> if lit then > do h <- openOutputFile f3 > lhs2TeX NewCode (flags { output = h }) (Directive Include "lhs2TeX.fmt" : dirs) [f1] > hClose h > else copyFile f2 f3 > Just _ -> -- supposed to be an lhs2TeX file > do h <- openOutputFile f3 > lhs2TeX NewCode (flags { output = h }) dirs [f1] > hClose h > preprocess _ _ _ _ = error "preprocess: too few arguments" > lhs2TeX :: Style -> State -> [Class] -> [String] -> IO () > lhs2TeX s flags dirs files = do (str, file) <- input files > expandedpath <- expandPath (searchpath flags) > toIO (do put (initState s file expandedpath flags) > formats (map (No 0) dirs) `catchError` abort > formatStr (addEndEOF str) > stopexternals) > where addEndEOF = (++"%EOF\n") . unlines . lines > input :: [String] -> IO (String, FilePath) > input [] = do s <- getContents; return (s, "") > input ["-"] = do s <- getContents; return (s, "") > input (filePath : _) = chaseFile [] filePath Converting command line options into directives. > uheader :: String > uheader = "lhs2TeX [ options ] files\n\nAvailable options:\n" ks, 20.07.2003: The short option for @--align@ has been changed into @-A@. Otherwise @-align@ would not trigger compatibility mode, but be interpreted as a valid option usage. ks, 24.03.2004: The long option @--verbose@ has been removed for now, because with some versions of GHC it triggers ambiguity errors with @--verb@. > options :: [OptDescr (State -> IO State,[Class] -> [Class],[Style])] > options = > [ Option ['h','?'] ["help"](NoArg (return, id, [Help])) "get this help" > , Option ['v'] [] {- ["verbose"] -} > (NoArg (\s -> return $ s { verbose = True }, id, [])) "be verbose" > , Option ['V'] ["version"] (NoArg (return, id, [Version])) "show version" > , Option [] ["tt"] (NoArg (return, id, [Typewriter])) "typewriter style" > , Option [] ["math"] (NoArg (return, id, [Math])) "math style" > , Option [] ["poly"] (NoArg (return, id, [Poly])) "poly style (default)" > , Option [] ["code"] (NoArg (return, id, [CodeOnly])) "code style" > , Option [] ["newcode"] (NoArg (return, id, [NewCode])) "new code style" > , Option [] ["verb"] (NoArg (return, id, [Verb])) "verbatim" > , Option [] ["haskell"] (NoArg (\s -> return $ s { lang = Haskell}, id, [])) "Haskell lexer (default)" > , Option [] ["agda"] (NoArg (\s -> return $ s { lang = Agda}, id, [])) "Agda lexer" > , Option [] ["pre"] (NoArg (return, id, [Pre])) "act as ghc preprocessor" > , Option ['o'] ["output"] (ReqArg (\f -> (\s -> do h <- openOutputFile f > return $ s { output = h }, id, [])) "file") "specify output file" > , Option [] ["file-directives"] > (NoArg (\s -> return $ s { fldir = True }, id, [])) "generate %file directives" > , Option [] ["no-pragmas"] > (NoArg (\s -> return $ s { pragmas = False }, id, [])) "no LINE pragmas" > , Option ['A'] ["align"] (ReqArg (\c -> (return, (Directive Align c:), [])) "col") "align at " > , Option ['i'] ["include"] (ReqArg (\f -> (return, (Directive Include f:), [])) "file") "include " > , Option ['l'] ["let"] (ReqArg (\s -> (return, (Directive Let s:), [])) "equation") "assume " > , Option ['s'] ["set"] (ReqArg (\s -> (return, (Directive Let (s ++ " = True"):), [])) "flag") "set " > , Option ['u'] ["unset"] (ReqArg (\s -> (return, (Directive Let (s ++ " = False"):), [])) "flag") "unset " > , Option ['P'] ["path"] (ReqArg (\p -> (\s -> return $ s { searchpath = modifySearchPath (searchpath s) p }, id , [])) "path") > "modify search path" > , Option [] ["searchpath"] > (NoArg (return, id, [SearchPath])) "show searchpath" > , Option [] ["copying"] (NoArg (return, id, [Copying])) "display license" > , Option [] ["warranty"](NoArg (return, id, [Warranty])) "info about warranty" > ] > > formatStr :: String -> Formatter > formatStr str = formats (texparse 1 str) `catchError` abort Compatibility mode option handling. > cstyle :: [String] -> IO () > cstyle args@(('-':a) : x) = case encode a of > Just sty -> cstyle' sty x > Nothing -> cstyle' Typewriter args > cstyle args = cstyle' Typewriter args > cstyle' :: Style -> [String] -> IO () > cstyle' s args = let (dirs,files) = coptions args > in lhs2TeX s state0 dirs files > coptions :: [String] -> ([Class], [String]) > coptions = foldr (<|) ([], []) > where > "-align" <| (ds, s : as) = (Directive Align s : ds, as) > "-i" <| (ds, s : as) = (Directive Include s : ds, as) > "-l" <| (ds, s : as) = (Directive Let s : ds, as) > ('-' : 'i' : s) <| (ds, as) = (Directive Include s : ds, as) > ('-' : 'l' : s) <| (ds, as) = (Directive Let s : ds, as) > s <| (ds, as) = (ds, s : as) We abort immediately if an error has occured. > abort :: Exc -> Formatter > abort (msg, context) = do st <- get > liftIO (hPutStrLn stderr (text st)) > liftIO (exitWith (ExitFailure 1)) > where text st = "*** Error in " ++ at (file st) (lineno st) ++ ": \n" > ++ unlines [ "included from " ++ at f l | (f, l) <- files st ] > ++ msg ++ "\n" > ++ unlines (take 4 (lines context)) > at f n = "file " ++ f ++ " line " ++ show n % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Formatting} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > formats :: [Numbered Class] -> Formatter > formats [] = return () > formats (No n (Directive d s) : ts) > | conditional d = do modify (\st -> st{lineno = n}) > st <- get > directive (lang st) > d s (file st,n) > (conds st) (toggles st) ts > formats (No n t : ts) = do modify (\st -> st{lineno = n}) > format t > formats ts > format :: Class -> Formatter > -- |format (Many ('%' : '%' : _)) = return ()| -- @%%@-comments used to be removed > format (Many s) = out (Text s) > format (Inline s) = inline s > format (Command Hs s) = inline s > format (Command (Vrb b) s) = out (Verbatim.inline b s) > format (Command Eval s) = do st <- get > unless (style st `elem` [CodeOnly,NewCode]) $ > do result <- external (map unNL s) > inline result > format (Command Perform s) = do st <- get > unless (style st `elem` [CodeOnly,NewCode]) $ > do result <- external (map unNL s) > modify (\st@State{file = f', lineno = l'} -> > st{file = "", files = (f', l') : files st}) > liftIO (when (verbose st) (hPutStr stderr $ "(" ++ "")) > formatStr (addEndNL result) > modify (\st'@State{files = (f, l) : fs} -> > st'{file = f, lineno = l, files = fs}) > liftIO (when (verbose st) (hPutStrLn stderr $ ")")) > where > addEndNL = (++"\n") . unlines . lines Remove trailing blank line. > trim = reverse >>> skip >>> reverse > > skip s | all isSpace t = u > | otherwise = s > where (t, u) = breakAfter (== '\n') s > format (Environment Haskell_ s) > = display s > format (Environment Code s) = display s > format (Environment Spec s) = do st <- get > unless (style st `elem` [CodeOnly,NewCode]) $ > display s > format (Environment Evaluate s) > = do st <- get > unless (style st `elem` [CodeOnly,NewCode]) $ > do result <- external s > display result > format (Environment Hide s) = return () > format (Environment Ignore s) = return () > format (Environment (Verbatim b) s) > = out (Verbatim.display 120 b s) > format (Directive Format s) = do st <- get > b@(n,e) <- fromEither (parseFormat (lang st) s) > put (st{fmts = FM.add b (fmts st)}) > format (Directive Subst s) = do st <- get > b <- fromEither (parseSubst (lang st) s) > put (st{subst = FM.add b (subst st)}) > format (Directive Include arg)= do st <- get > let d = path st > let sp = searchpath st > modify (\st@State{file = f', lineno = l'} -> > st{file = f, files = (f', l') : files st, path = d ++ dir f}) > -- |d <- liftIO getCurrentDirectory| > -- |liftIO (setCurrentDirectory (dir f))| > (str,f) <- liftIO (chaseFile sp (d ++ f)) > modify (\st -> st { file = f }) > liftIO (when (verbose st) (hPutStr stderr $ "(" ++ f)) > formatStr (addEndNL str) > -- |liftIO (setCurrentDirectory d)| > modify (\st'@State{files = (f, l) : fs} -> > st'{file = f, lineno = l, files = fs, path = d}) > liftIO (when (verbose st) (hPutStrLn stderr $ ")")) > where f = withoutSpaces arg > addEndNL = (++"\n") . unlines . lines ks, 25.01.2003: I added the above function at the suggestion of NAD, but I am not completely sure if this is the right thing to do. Maybe we should strip blank lines from the end of a file as well, maybe we should do nothing at all. Hard to say what people think is intuitive. Anyway, the reason why I added it is this: if an %include directive is immediately followed by another line and the included file does not end in a blank line, then there will not be a single space between the last character of the included file and the first character of the following line. It would be possible to split a TeX control sequence over two different files that way. Seems strange. So we add a newline, or even two if none has been there before, to make sure that exactly one linebreak ends up in the output, but not more, as a double newline is interpreted as a \par by TeX, and that might also not be desired. > format (Directive Begin _) = modify (\st -> st{stack = fmts st : stack st}) > format (Directive End _) = do st <- get > when (null (stack st)) $ > do liftIO (hPutStrLn stderr $ "unbalanced %} in line " > ++ show (lineno st)) > modify (\st -> st{stack = [fmts st]}) > modify (\st@State{stack = d:ds} -> st{fmts = d, stack = ds}) ks, 11.09.03: added exception handling for unbalanced grouping \Todo{|toggles| should be saved, as well.} > format (Directive Let s) = do st <- get > t <- fromEither (define (lang st) (toggles st) s) > put st{toggles = FM.add t (toggles st)} > format (Directive Align s) > | all isSpace s = modify (\st -> st{align = Nothing, stacks = ([], [])}) > | otherwise = modify (\st -> st{align = Just (read s), stacks = ([], [])}) \NB @%align@ also resets the left identation stacks. Also, the @poly@ directives @%separation@ and @%latency@ reset the corresponding indentation stack |pstack|. > format (Directive Separation s ) > = modify (\st -> st{separation = read s, pstack = []}) > format (Directive Latency s) = modify (\st -> st{latency = read s, pstack = []}) > format (Directive File s) = modify (\st -> st{file = withoutSpaces s}) > format (Directive Options s) = modify (\st -> st{opts = trim s}) > where trim = dropWhile isSpace >>> reverse >>> dropWhile isSpace >>> reverse > format (Error exc) = throwError exc Printing documents. %{ %format d1 %format d2 > eject :: Doc -> Formatter > eject Empty = return () > eject (Text s) = do st <- get > let (ls,enl) = checkNLs 0 s > when (fldir st && not (null s) && atnewline st && (ofile st /= file st || olineno st /= lineno st)) $ > do liftIO (hPutStr (output st) ("%file " ++ show (lineno st) ++ " " ++ show (file st) ++ "\n")) > put (st { ofile = file st, olineno = lineno st }) > > liftIO (hPutStr (output st) s) > modify (\st -> st { olineno = olineno st + ls, atnewline = enl (atnewline st)}) > where > checkNLs n ('\n':[]) = (n+1,const True) > checkNLs n (_:[]) = (n,const False) > checkNLs n [] = (n,id) > checkNLs n ('\n':xs) = checkNLs (n+1) xs > checkNLs n (_:xs) = checkNLs n xs > eject (d1 :^: d2) = eject d1 >> eject d2 > eject (Embedded s) = formatStr s > eject (Sub s ds) = do st <- get; substitute (subst st) > where > substitute d = case FM.lookup s d of > Nothing -> throwError (undef s, "") > Just sub -> eject (sub ds) > > undef :: String -> String > undef s = "`" ++ s ++ "' is not defined;\n\ > \perhaps you forgot to include \"lhs2TeX.fmt\"?" %} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Style dependent formatting} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > out :: Doc -> Formatter > out d = do st <- get; eject (select (style st)) > where select CodeOnly = Empty > select NewCode = Empty > select _ = d > inline, display :: String -> Formatter > inline s = do st <- get > d <- fromEither (select (style st) st) > eject d > where select Verb st = Right (Verbatim.inline False s) > select Typewriter st = Typewriter.inline (lang st) (fmts st) s > select Math st = Math.inline (lang st) (fmts st) (isTrue (toggles st) auto) s > select Poly st = Poly.inline (lang st) (fmts st) (isTrue (toggles st) auto) s > select CodeOnly st = return Empty > select NewCode st = return Empty -- generate PRAGMA or something? > display s = do st <- get > (d, st') <- fromEither (select (style st) st) > put st' > eject d > where select Verb st = return (Verbatim.display 120 False s, st) > select Typewriter st = do d <- Typewriter.display (lang st) (fmts st) s; return (d, st) > select Math st = do (d, sts) <- Math.display (lang st) (fmts st) (isTrue (toggles st) auto) (stacks st) (align st) s > return (d, st{stacks = sts}) > select Poly st = do (d, pstack') <- Poly.display (lang st) (lineno st + 1) (fmts st) (isTrue (toggles st) auto) (separation st) (latency st) (pstack st) s > return (d, st{pstack = pstack'}) > select NewCode st = do d <- NewCode.display (lang st) (fmts st) s > let p = sub'pragma $ Text ("LINE " ++ show (lineno st + 1) ++ " " ++ show (takeFileName $ file st)) > return ((if pragmas st then ((p <> sub'nl) <>) else id) d, st) > select CodeOnly st = return (Text (trim s), st) > auto = "autoSpacing" > isTrue togs s = bool (value togs s) Delete leading and trailing blank line (only the first!). > trim :: String -> String > trim = skip >>> reverse >>> skip >>> reverse > where > skip :: String -> String > skip "" = "" > skip s | all isSpace t = u > | otherwise = s > where (t, u) = breakAfter (== '\n') s % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Conditional directives} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - A stack of Boolean values holds the conditions of @%if@-directives. Perhaps surpsingly, each @%if@ gives rise to \emph{two} entries; if @%elif@ is not used the second entry is always |True|, otherwise it holds the negation of all previous conditions of the current @%if@-chain. ks, 16.08.2004: At the end of the input, we might want to check for unbalanced if's or groups. > directive :: Lang -> Directive -> String > -> (FilePath,LineNo) -> [CondInfo] -> Toggles > -> [Numbered Class] -> Formatter > directive lang d s (f,l) stack togs ts > = dir d s stack > where > dir If s bs = do b <- fromEither (eval lang togs s) > skipOrFormat ((f, l, bool b, True) : bs) ts > dir Elif s ((f,l,b2,b1):bs) = do b <- fromEither (eval lang togs s) > skipOrFormat ((f, l, bool b, not b2 && b1) : bs) ts > dir Else _ ((f,l,b2,b1):bs) = skipOrFormat ((f, l, not b2 && b1, True) : bs) ts > dir Endif _ ((f,l,b2,b1):bs)= skipOrFormat bs ts > dir EOF _ [] = return () -- nothing left to do > dir EOF s bs = throwError (init $ unlines (map unBalancedIf bs), s) > dir d s _ = throwError ("spurious %" ++ decode d, s) > skipOrFormat :: [CondInfo] -> [Numbered Class] -> Formatter > skipOrFormat stack ts = do modify (\st -> st{conds = stack}) > if andS stack then formats ts > else skip ts > andS :: [CondInfo] -> Bool > andS = all (\(_,_,x,y) -> x && y) > unBalancedIf :: CondInfo -> String > unBalancedIf (f,l,_,_) = "%if at " ++ f ++ " line " ++ show l ++ " not closed" > skip :: [Numbered Class] -> Formatter > skip [] = return () > skip ts@(No n (Directive d s) : _) > | conditional d = formats ts > skip (t : ts) = skip ts % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Active commands} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - ks, 23.10.2003: extended to work with @ghci@, too. ks, 03.01.2004: fixed to work with @ghci-6.2@, hopefully without breaking @hugs@ or old @ghci@ compatibility. New, 26.01.2006: we're now starting an external process @ghci@ or @hugs@ using the System.Process library. The process is then reused for subsequent computations, which should dramatically improve compilation time for documents that make extensive use of @\eval@ and @\perform@. The function |external| can be used to call the process. It is discouraged to call any programs except @ghci@ or @hugs@, because we make a number of assumptions about the program being called. Input is the expression to evaluate. Output is the result in string form. > external :: String -> XIO Exc State String > external expr = do st <- get > let os = opts st > f = file st > ex = externals st > ghcimode = "ghci" `isPrefixOf` os > cmd > | ghcimode = os ++ " -v0 -ignore-dot-ghci " ++ f > | otherwise = (if null os then "hugs " else os ++ " ") ++ f > script = "putStrLn " ++ show magic ++ "\n" > ++ expr ++ "\n" > ++ "putStrLn " ++ show magic ++ "\n" > pi <- case FM.lookup f ex of > Just pi -> return pi > Nothing -> -- start new external process > liftIO $ do > when (verbose st) $ > hPutStrLn stderr $ "Starting external process: " ++ cmd > runInteractiveCommand cmd > put (st {externals = FM.add (f,pi) ex}) > let (pin,pout,_,_) = pi > liftIO $ do > -- hPutStrLn stderr ("sending: " ++ script) > hPutStr pin script > hFlush pin > extract' pout This function can be used to stop all external processes by sending the @:q@ command to them. > stopexternals :: Formatter > stopexternals = do st <- get > let ex = externals st > pis = map (ex FM.!) (FM.keys ex) > when (not . null $ pis) $ liftIO $ do > when (verbose st) $ > hPutStrLn stderr $ "Stopping external processes." > mapM_ (\(pin,_,_,pid) -> do hPutStrLn pin ":q" > hFlush pin > waitForProcess pid) pis To extract the answer from @ghci@'s or @hugs@' output we use a simple technique which should work in most cases: we print the string |magic| before and after the expression we are interested in. We assume that everything that appears before the first occurrence of |magic| on the same line is the prompt, and everything between the first |magic| and the second |magic| plus prompt is the result we look for. > magic :: String > magic = "!@#$^&*" > > extract' :: Handle -> IO String > extract' h = fmap (extract . unlines) (readMagic 2) > where readMagic :: Int -> IO [String] > readMagic 0 = return [] > readMagic n = do l <- hGetLine h > -- hPutStrLn stderr ("received: " ++ l) > let n' | (null . snd . breaks (isPrefixOf magic)) l = n > | otherwise = n - 1 > fmap (l:) (readMagic n') > extract :: String -> String > extract s = v > where (t, u) = breaks (isPrefixOf magic) s > -- t contains everything up to magic, u starts with magic > -- |u' = tail (dropWhile (/='\n') u)| > pre = reverse . takeWhile (/='\n') . reverse $ t > prelength = if null pre then 0 else length pre + 1 > -- pre contains the prefix of magic on the same line > u' = drop (length magic + prelength) u > -- we drop the magic string, plus the newline, plus the prefix > (v, _) = breaks (isPrefixOf (pre ++ magic)) u' > -- we look for the next occurrence of prefix plus magic % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Reading files} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - > dir :: FilePath -> FilePath > dir filePath > | null d = "" > | otherwise = reverse d > where d = dropWhile (/= '/') (reverse filePath) lhs2tex-1.18.1/src/NewCode.lhs0000644000175000001440000001132412022734320015205 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{New code formatter} %-------------------------------= -------------------------------------------- This is a more sophisticated code formatter that respects formatting directives. It should even respect formatting directives with arguments, in a way that is compatible with the @poly@ or @math@ formatters. %if codeOnly || showModuleHeader > module NewCode ( module NewCode ) > where > > import Control.Monad ( (>=>) ) > import Data.List ( partition ) > > import Verbatim ( trim, expand ) > import Document > import Directives > import HsLexer > import qualified FiniteMap as FM > import Auxiliaries > import MathPoly ( exprParse, substitute, number ) > import TeXCommands ( Lang(..) ) %endif % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Display code} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \NB We do not need an |inline| function because we are only interested in the ``real'' program code. All comments are deleted. > display :: Lang -> Formats -> String -> Either Exc Doc > display lang fmts = lift trim > >=> lift (expand 0) > >=> tokenize lang > >=> lift (number 1 1) > >=> lift (partition (\t -> catCode t /= White)) > >=> exprParse *** return > >=> lift (substitute fmts False) *** return > >=> lift (uncurry merge) > >=> lift (fmap token) > >=> lift (latexs sub'space sub'nl fmts) > >=> lift sub'code % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Encoding} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - ks, added 10.01.2004: This is based on |latexs| in Typewriter, and therefore still named this way, but it is a bit simpler and does not use anything \LaTeX ish: the |latexs| and |latex| functions itself are copied literally, but |convert| does not do anything except replacing newlines and spaces, if specified by an appropriate @%subst@. It's questionable whether this functionality is actually desired. > latexs :: Doc -> Doc -> Formats -> [Token] -> Doc > latexs sp nl dict = catenate . map (latex sp nl dict) > > latex :: Doc -> Doc -> Formats -> Token -> Doc > latex sp nl dict = tex Empty > where > tex _ (Space s) = sub'spaces (convert s) > tex q (Conid s) = replace q s (sub'conid (q <> convert s)) > tex _ (Varid "") = sub'dummy -- HACK > tex q (Varid s) = replace q s (sub'varid (q <> convert s)) > tex q (Consym s) = replace q s (sub'consym (q <> convert s)) > tex q (Varsym s) = replace q s (sub'varsym (q <> convert s)) > tex _ (Numeral s) = replace Empty s (sub'numeral (convert s)) -- NEU > tex _ (Char s) = sub'char (catenate (map conv (init $ tail s))) -- NEW: remove quotes > tex _ (String s) = sub'string (catenate (map conv (init $ tail s))) -- NEW: remove quotes > tex _ (Special c) = sub'special (replace Empty [c] (conv c)) > tex _ (Comment s) = sub'comment (convert s) > tex _ (Nested s) = sub'nested (convert s) > tex _ (Pragma s) = sub'pragma (convert s) > tex _ (Keyword s) = replace Empty s (sub'keyword (convert s)) > tex _ (TeX False d) = d > tex _ (TeX True d) = sub'tex d > tex _ t@(Qual ms t') = replace Empty (string t) (tex (catenate (map (\m -> tex Empty (Conid m) <> Text ".") ms)) t') > tex _ t@(Op t') = replace Empty (string t) (sub'backquoted (tex Empty t')) > where cmd | isConid t'= sub'consym > | otherwise = sub'varsym > > replace q s def = case FM.lookup s dict of > Just (_, _, [], ts) -> q <> catenate (map (tex Empty) ts) > _ -> def \NB the directives @%format a = b@ and @%format b = a@ cause a loop. \NB Only nullary macros are applied. Conversion of strings and characters. > convert :: String -> Doc > convert s = catenate (map conv s) > conv :: Char -> Doc > conv ' ' = sp > conv '\n' = nl > conv c = Text [c] lhs2tex-1.18.1/src/HsLexer.lhs0000644000175000001440000004116712022734320015243 0ustar andresusers%-------------------------------= -------------------------------------------- \subsection{A Haskell lexer} %-------------------------------= -------------------------------------------- %if codeOnly || showModuleHeader > {-# LANGUAGE NPlusKPatterns #-} > module HsLexer ( module HsLexer ) --Token(..), isVarid, isConid, isNotSpace, string, tokenize ) > where > import Data.Char ( isSpace, isUpper, isLower, isDigit, isAlphaNum, isPunctuation ) > import qualified Data.Char ( isSymbol ) > import Control.Monad > import Control.Monad.Error () > import Document > import Auxiliaries > import TeXCommands ( Lang(..) ) %endif A Haskell lexer, based on the Prelude function \hs{lex}. > data Token = Space String > | Conid String > | Varid String > | Consym String > | Varsym String > | Numeral String > | Char String > | String String > | Special Char > | Comment String > | Nested String > | Pragma String > | Keyword String > | TeX Bool Doc -- for inline \TeX (True) and format replacements (False) > | Qual [String] Token > | Op Token > deriving (Eq, Show) ks, 03.09.2003: Modified the |Qual| case to contain a list of strings rather than a single string, to add support for hierarchical modules. Also added Pragma. > isVarid, isConid, isNotSpace :: Token -> Bool > isVarid (Varid _) = True > isVarid (Qual _ t) = isVarid t > isVarid _ = False > > isConid (Conid _) = True > isConid (Qual _ t) = isConid t > isConid _ = False > > isNotSpace (Space _) = False > isNotSpace _ = True > string :: Token -> String > string (Space s) = s > string (Conid s) = s > string (Varid s) = s > string (Consym s) = s > string (Varsym s) = s > string (Numeral s) = s > string (Char s) = s > string (String s) = s > string (Special c) = [c] > string (Comment s) = "--" ++ s > string (Nested s) = "{-" ++ s ++ "-}" > string (Pragma s) = "{-#" ++ s ++ "#-}" > string (Keyword s) = s > string (TeX True (Text s)) = "{-\"" ++ s ++ "\"-}" > string (TeX False (Text s)) = "\"" ++ s ++ "\"" This change is by ks, 14.05.2003, to make the @poly@ formatter work. This should probably be either documented better or be removed again. > string (TeX _ _) = "" -- |impossible "string"| > string (Qual m s) = concatMap (++".") m ++ string s > string (Op s) = "`" ++ string s ++ "`" The main function. > tokenize :: Lang -> String -> Either Exc [Token] > tokenize lang = lift tidyup <=< lift qualify <=< lexify lang % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Phase 1} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - %{ %format lex' = "\Varid{lex}" ks, 28.08.2008: New: Agda and Haskell modes. > lexify :: Lang -> [Char] -> Either Exc [Token] > lexify lang [] = return [] > lexify lang s@(_ : _) = case lex' lang s of > Nothing -> Left ("lexical error", s) > Just (t, s') -> do ts <- lexify lang s'; return (t : ts) > > lex' :: Lang -> String -> Maybe (Token, String) > lex' lang "" = Nothing > lex' lang ('\'' : s) = do let (t, u) = lexLitChar s > v <- match "\'" u > return (Char ("'" ++ t ++ "'"), v) > lex' lang ('"' : s) = do let (t, u) = lexLitStr s > v <- match "\"" u > return (String ("\"" ++ t ++ "\""), v) > lex' lang ('-' : '-' : s) > | not (null s') && isSymbol lang (head s') > = case s' of > (c : s'') -> return (varsymid lang ("--" ++ d ++ [c]), s'') > | otherwise = return (Comment t, u) > where (d, s') = span (== '-') s > (t, u) = break (== '\n') s' > lex' lang ('{' : '-' : '"' : s) > = do let (t, u) = inlineTeX s > v <- match "\"-}" u > return (TeX True (Text t), v) > lex' lang ('{' : '-' : '#' : s) > = do let (t, u) = nested 0 s > v <- match "#-}" u > return (Pragma t, v) > lex' lang ('{' : '-' : s) = do let (t, u) = nested 0 s > v <- match "-}" u > return (Nested t, v) > lex' lang (c : s) > | isSpace c = let (t, u) = span isSpace s in return (Space (c : t), u) > | isSpecial c = Just (Special c, s) > | isUpper c = let (t, u) = span (isIdChar lang) s in return (Conid (c : t), u) > | isLower c || c == '_' = let (t, u) = span (isIdChar lang) s in return (classify (c : t), u) > | c == ':' = let (t, u) = span (isSymbol lang) s in return (consymid lang (c : t), u) > | isDigit c = do let (ds, t) = span isDigit s > (fe, u) <- lexFracExp t > return (numeral lang (c : ds ++ fe), u) > | isSymbol lang c = let (t, u) = span (isSymbol lang) s in return (varsymid lang (c : t), u) > | otherwise = Nothing > where > numeral Agda = Varid > numeral Haskell = Numeral > classify s > | s `elem` keywords lang > = Keyword s > | otherwise = Varid s > > > lexFracExp :: String -> Maybe (String, String) > lexFracExp s = do t <- match "." s > (ds, u) <- lexDigits' t > (e, v) <- lexExp u > return ('.' : ds ++ e, v) > `mplus` lexExp s > > lexExp :: String -> Maybe (String, String) > lexExp (e:s) > | e `elem` "eE" = do (c : t) <- Just s > unless (c `elem` "+-") Nothing > (ds, u) <- lexDigits' t > return (e : c : ds, u) > `mplus` do (ds, t) <- lexDigits' s > return (e : ds, t) > lexExp s = Just ("", s) > > lexDigits' :: String -> Maybe (String, String) > lexDigits' s = do (cs@(_ : _), t) <- Just (span isDigit s); return (cs, t) > varsymid Agda = Varid > varsymid Haskell = Varsym > consymid Agda = Conid > consymid Haskell = Consym %} \NB `@'@' serves as an escape symbol in inline \TeX. > inlineTeX :: String -> (String, String) > inlineTeX [] = ([], []) > inlineTeX ('\'' : 'n' : s) = '\n' <| inlineTeX s > inlineTeX ('\'' : 'd' : s) = '"' <| inlineTeX s -- added 18.03.2001 > inlineTeX ('\'' : c : s) = c <| inlineTeX s > inlineTeX ('"' : s) = ([], '"' : s) > inlineTeX (c : s) = c <| inlineTeX s > > nested :: Int -> String -> (String, String) > nested _ [] = ([], []) > nested 0 ('#' : '-' : '}' : s) > = ([], '#':'-':'}':s) > nested 0 ('-' : '}' : s) = ([], '-':'}':s) > nested (n+1) ('-' : '}' : s) = '-' <| '}' <| nested n s > nested n ('{' : '-' : s) = '{' <| '-' <| nested (n + 1) s > nested n (c : s) = c <| nested n s ks, 03.09.2003: The above definition of nested will actually incorrectly reject programs that contain comments like the following one: {- start normal, but close as pragma #-} ... I don't expect this to be a problem, though. > lexLitChar, lexLitStr :: String -> (String, String) > lexLitChar [] = ([], []) > lexLitChar ('\'' : s) = ([], '\'' : s) > lexLitChar ('\\' : c : s) = '\\' <| c <| lexLitChar s > lexLitChar (c : s) = c <| lexLitChar s > > lexLitStr [] = ([], []) > lexLitStr ('"' : s) = ([], '"' : s) > lexLitStr ('\\' : c : s) = '\\' <| c <| lexLitStr s > lexLitStr (c : s) = c <| lexLitStr s > isSpecial :: Char -> Bool > isIdChar, isSymbol :: Lang -> Char -> Bool > isSpecial c = c `elem` ",;()[]{}`" > isSymbol Haskell c = not (isSpecial c) && notElem c "'\"" && > (c `elem` "!@#$%&*+./<=>?\\^|:-~" || > Data.Char.isSymbol c || Data.Char.isPunctuation c) > isSymbol Agda c = isIdChar Agda c > isIdChar Haskell c = isAlphaNum c || c `elem` "_'" > isIdChar Agda c = not (isSpecial c || isSpace c) > match :: String -> String -> Maybe String > match p s > | p == t = Just u > | otherwise = Nothing > where (t, u) = splitAt (length p) s Keywords > keywords :: Lang -> [String] > keywords Haskell = [ "case", "class", "data", "default", > "deriving", "do", "else", "if", > "import", "in", "infix", "infixl", > "infixr", "instance", "let", "module", > "newtype", "of", "then", "type", > "where" ] > keywords Agda = [ "let", "in", "where", "field", "with", > "postulate", "primitive", "open", "import", > "module", "data", "codata", "record", "infix", > "infixl", "infixr", "mutual", "abstract", > "private", "forall", "using", "hiding", > "renaming", "public" ] % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{Phase 2} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - Merging qualified names. ks, 27.06.2003: I have modified the fifth case of |qualify| to only match if the |Varsym| contains at least one symbol besides the dot. Otherwise the dot is an operator, not part of a qualified name. ks, 03.09.2003: Deal with hierarchical module names. This could be made more efficient if that seems necessary. > qualify :: [Token] -> [Token] > qualify [] = [] > qualify (Conid m : Varsym "." : t@(Conid _) : ts) > = qualify (Qual [m] t : ts) > qualify (Conid m : Varsym "." : t@(Varid _) : ts) > = Qual [m] t : qualify ts > qualify (Conid m : Varsym ('.' : s@(':' : _)) : ts) > = Qual [m] (Consym s) : qualify ts > qualify (Conid m : Varsym ('.' : s@(_ : _)) : ts) > = Qual [m] (Varsym s) : qualify ts > qualify (Qual m (Conid m') : Varsym "." : t@(Conid _) : ts) > = qualify (Qual (m ++ [m']) t : qualify ts) > qualify (Qual m (Conid m') : Varsym "." : t@(Varid _) : ts) > = Qual (m ++ [m']) t : qualify ts > qualify (Qual m (Conid m') : Varsym ('.' : s@(':' : _)) : ts) > = Qual (m ++ [m']) (Consym s) : qualify ts > qualify (Qual m (Conid m') : Varsym ('.' : s@(_ : _)) : ts) > = Qual (m ++ [m']) (Varsym s) : qualify ts > qualify (t : ts) = t : qualify ts Join backquoted ids -- because @`Prelude.div`@ is allowed, we do this after |qualify|. > tidyup :: [Token] -> [Token] > tidyup [] = [] > tidyup (Special '`' : t@(Varid _) : Special '`' : ts) > = Op t : tidyup ts > tidyup (Special '`' : t@(Conid _) : Special '`' : ts) > = Op t : tidyup ts > tidyup (Special '`' : t@(Qual _ (Varid _)) : Special '`' : ts) > = Op t : tidyup ts > tidyup (Special '`' : t@(Qual _ (Conid _)) : Special '`' : ts) > = Op t : tidyup ts > tidyup (String s : ts) = strItems s ++ tidyup ts > tidyup (Space s : ts) = splitSpace s ++ tidyup ts > tidyup (t : ts) = t : tidyup ts Note: @` div `@ is not joined; in such a case, a potential format statement @%format `div` = ...@ is ignored. Breaking a string into string items. > strItems :: String -> [Token] > strItems [] = impossible "strItems" > strItems (c : s) = case breaks isGap s of > (item, '\\' : s') -> String (c : item ++ "\\") : Space white : strItems rest > where (white, rest) = span isSpace s' > _ -> [String (c : s)] > > isGap :: String -> Bool > isGap ('\\' : '\n' : _) = True > isGap _ = False ks, 12.01.2004: changed the definition of |isGap| to be |True| only if the character following a backslash is a newline. Otherwise, the sequence |"\\ "| will be incorrectly treated as a string gap. I am not convinced that the special treatment of string gaps is a good thing at all. String gaps don't work in newcode style, as it is right now. > splitSpace :: String -> [Token] > splitSpace [] = [] > splitSpace s = Space t : splitSpace u > where (t, u) = breakAfter (== '\n') s % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - \subsubsection{A token class} % - - - - - - - - - - - - - - - = - - - - - - - - - - - - - - - - - - - - - - - We distinguish between white space, separators, delimiters and non-separators. > data CatCode = White > | Sep > | Del Char > | NoSep > deriving (Eq) \Todo{Is the class |CToken| still necessary?} > class CToken tok where > catCode :: tok -> CatCode > token :: tok -> Token > inherit :: tok -> Token -> tok > fromToken :: Token -> tok |inherit old t| adds |old|'s attributes (eg positional information) to |t|. ks, 29.08.2008: Made the non-backwards compatible change to add curly braces to the set of parentheses. I did this because it's necessary for Agda, but I also never understood why it isn't the case for Haskell. This affects spacing of some constructs in Haskell mode, but I think it's an improvement. > instance CToken Token where > catCode (Space _) = White > catCode (Conid _) = NoSep > catCode (Varid _) = NoSep > catCode (Consym _) = Sep -- Sep is necessary for correct Haskell formatting > catCode (Varsym _) = Sep -- in Agda mode, Consym/Varsym don't occur > catCode (Numeral _) = NoSep > catCode (Char _) = NoSep > catCode (String _) = NoSep > catCode (Special c) > | c `elem` "([{}])" = Del c > | otherwise = Sep \NB Only @([])@ are classified as delimiters; @{}@ are separators since they do not bracket expressions. > catCode (Comment _) = White > catCode (Nested _) = White > catCode (Pragma _) = White > catCode (Keyword _) = Sep > catCode (TeX _ (Text _)) = White The following change is by ks, 14.05.2003. This is related to the change above in function |string|. > catCode (TeX _ _) = NoSep -- |impossible "catCode"| > catCode (Qual _ t) = catCode t > catCode (Op _) = Sep > token = id > inherit _ t = t > fromToken = id lhs2tex-1.18.1/src/State.lhs0000644000175000001440000001105412022734320014741 0ustar andresusers > module State > where > > import System.IO > import System.Process > > import Version > import TeXCommands > import qualified Math > import qualified MathPoly as Poly > import Directives > import qualified FiniteMap as FM > import Auxiliaries > type CondInfo = (FilePath, LineNo, Bool, Bool) > > data State = State { style :: Style, > lang :: Lang, -- Haskell or Agda, currently > verbose :: Bool, > searchpath :: [FilePath], > file :: FilePath, -- also used for `hugs' > lineno :: LineNo, > ofile :: FilePath, > olineno :: LineNo, > atnewline :: Bool, > fldir :: Bool, -- file/linenumber directives > pragmas :: Bool, -- generate LINE pragmas? > output :: Handle, > opts :: String, -- options for `hugs' > files :: [(FilePath, LineNo)], -- includees (?) > path :: FilePath, -- for relative includes > fmts :: Formats, > subst :: Substs, > stack :: [Formats], -- for grouping > toggles :: Toggles, -- @%let@ defined toggles > conds :: [CondInfo], -- for conditional directives > align :: Maybe Int, -- math: internal alignment column > stacks :: (Math.Stack, Math.Stack), -- math: indentation stacks > separation :: Int, -- poly: separation > latency :: Int, -- poly: latency > pstack :: Poly.Stack, -- poly: indentation stack > externals :: Externals -- catchErrors for external processes (hugs,ghci) > } > > type Externals = FM.FiniteMap Char ProcessInfo > type ProcessInfo = (Handle, Handle, Handle, ProcessHandle) Initial state. > state0 :: State > state0 = State { lang = Haskell, > verbose = False, > searchpath = searchPath, > lineno = 0, > olineno = 0, > atnewline = True, > fldir = False, > pragmas = True, > output = stdout, > opts = "", > files = [], > path = "", > fmts = FM.empty, > subst = FM.empty, > stack = [], > conds = [], > align = Nothing, > stacks = ([], []), > separation = 2, > latency = 2, > pstack = [], > -- ks, 03.01.04: added to prevent warnings during compilation > style = error "uninitialized style", > file = error "uninitialized filename", > ofile = error "uninitialized filename", > toggles = error "uninitialized toggles", > externals = FM.empty > } lhs2tex-1.18.1/doc/0000755000175000001440000000000012022734321013127 5ustar andresuserslhs2tex-1.18.1/doc/InteractivePreIn.lhs0000644000175000001440000000107612022734321017056 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} %if style == newcode module InteractivePre where %endif \begin{code} %format SPL(x) = $ ( x ) %if style == newcode %format QU(x) = [ | x | ] %format ^^ = " " %else %format QU(x) = "\llbracket " x "\rrbracket " %format ^^ = "\; " %endif %options ghci -fth -pgmL ../lhs2TeX -optL--pre This is a rather stupid way of computing |42| using Template Haskell: > answer = SPL(foldr1 (\x y -> QU(SPL(x) + SPL(y))) (replicate 21 ^^ QU(2))) The answer is indeed \eval{answer}. \end{code} \endgroup lhs2tex-1.18.1/doc/CalcExample.lhs0000644000175000001440000000064212022734321016017 0ustar andresusers%include poly.fmt \def\commentbegin{\quad\{\ } \def\commentend{\}} \begin{spec} map (+1) [1,2,3] == {- desugaring of |(:)| -} map (+1) (1 : [2,3]) == {- definition of |map| -} (+1) 1 : map (+1) [2,3] == {- performing the addition on the head -} 2 : map (+1) [2,3] == {- recursive application of |map| -} 2 : [3,4] == {- list syntactic sugar -} [2,3,4] \end{spec} lhs2tex-1.18.1/doc/stupid.fmt0000644000175000001440000002770712022734321015164 0ustar andresusers%subst verb a = "\text{\tt " a "}" %subst verbatim a = "\begin{tabbing}\tt'n" a "'n\end{tabbing}'n" %subst verbnl = "\\'n\tt " %if style == tt %subst inline a = "\text{\texfamily " a "}" %subst thinspace = "\Sp " %subst code a = "\begin{tabbing}\texfamily'n" a "'n\end{tabbing}'n" %subst comment a = "{\rmfamily-{}- " a "}" %subst nested a = "{\rmfamily\enskip\{- " a " -\}\enskip}" %subst pragma a = "{\rmfamily\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %subst spaces a = a %subst special a = a %subst space = "~" %subst newline = "\\'n\texfamily " %subst conid a = "{\itshape " a "}" %subst varid a = a %subst consym a = a %subst varsym a = a %subst numeral a = a %subst char a = "''" a "''" %subst string a = "\char34 " a "\char34 " %if underlineKeywords %subst keyword a = "\uline{" a "}" %else %subst keyword a = "{\bfseries " a "}" %endif %format \ = "\char''10" %format . = "\char''00" %if not spacePreserving %format alpha = "\char''02" %format beta = "\char''03" %format gamma = "\char''11" %format delta = "\char''12" %format pi = "\char''07" %format infty = "\char''16" %format intersect = "\char''22" %format union = "\char''23" %format forall = "\char''24" %format exists = "\char''25" %format not = "\char''05" %format && = "\char''04" %format || = "\char''37" %format <- = "\char''06" %format -> = "\char''31" %format == = "\char''36" %format /= = "\char''32" %format <= = "\char''34" %format >= = "\char''35" %endif %if meta %format M.a = "\ensuremath{a}" %format M.b = "\ensuremath{b}" %format M.c = "\ensuremath{c}" %format M.d = "\ensuremath{d}" %format M.e = "\ensuremath{e}" %format M.f = "\ensuremath{f}" %format M.g = "\ensuremath{g}" %format M.h = "\ensuremath{h}" %format M.i = "\ensuremath{i}" %format M.j = "\ensuremath{j}" %format M.k = "\ensuremath{k}" %format M.l = "\ensuremath{l}" %format M.m = "\ensuremath{m}" %format M.n = "\ensuremath{n}" %format M.o = "\ensuremath{o}" %format M.p = "\ensuremath{p}" %format M.q = "\ensuremath{q}" %format M.r = "\ensuremath{r}" %format M.s = "\ensuremath{s}" %format M.t = "\ensuremath{t}" %format M.u = "\ensuremath{u}" %format M.v = "\ensuremath{v}" %format M.w = "\ensuremath{w}" %format M.x = "\ensuremath{x}" %format M.y = "\ensuremath{y}" %format M.z = "\ensuremath{z}" %format M.A = "\ensuremath{A}" %format M.B = "\ensuremath{B}" %format M.C = "\ensuremath{C}" %format M.D = "\ensuremath{D}" %format M.E = "\ensuremath{E}" %format M.F = "\ensuremath{F}" %format M.G = "\ensuremath{G}" %format M.H = "\ensuremath{H}" %format M.I = "\ensuremath{I}" %format M.J = "\ensuremath{J}" %format M.K = "\ensuremath{K}" %format M.L = "\ensuremath{L}" %format M.M = "\ensuremath{M}" %format M.N = "\ensuremath{N}" %format M.O = "\ensuremath{O}" %format M.P = "\ensuremath{P}" %format M.Q = "\ensuremath{Q}" %format M.R = "\ensuremath{R}" %format M.S = "\ensuremath{S}" %format M.T = "\ensuremath{T}" %format M.U = "\ensuremath{U}" %format M.V = "\ensuremath{V}" %format M.W = "\ensuremath{W}" %format M.X = "\ensuremath{X}" %format M.Y = "\ensuremath{Y}" %format M.Z = "\ensuremath{Z}" %format M.alpha = "\ensuremath{\alpha}" %format M.beta = "\ensuremath{\beta}" %format M.gamma = "\ensuremath{\gamma}" %format M.delta = "\ensuremath{\delta}" %format M.epsilon = "\ensuremath{\epsilon}" %format M.zeta = "\ensuremath{\zeta}" %format M.eta = "\ensuremath{\eta}" %format M.theta = "\ensuremath{\theta}" %format M.iota = "\ensuremath{\iota}" %format M.kappa = "\ensuremath{\kappa}" %format M.lambda = "\ensuremath{\lambda}" %format M.mu = "\ensuremath{\mu}" %format M.nu = "\ensuremath{\nu}" %format M.xi = "\ensuremath{\xi}" %format M.pi = "\ensuremath{\pi}" %format M.rho = "\ensuremath{\rho}" %format M.sigma = "\ensuremath{\sigma}" %format M.tau = "\ensuremath{\tau}" %format M.upsilon = "\ensuremath{\upsilon}" %format M.phi = "\ensuremath{\phi}" %format M.chi = "\ensuremath{\chi}" %format M.psi = "\ensuremath{\psi}" %format M.omega = "\ensuremath{\omega}" %format M.Gamma = "\ensuremath{\Gamma}" %format M.Delta = "\ensuremath{\Delta}" %format M.Theta = "\ensuremath{\Theta}" %format M.Lambda = "\ensuremath{\Lambda}" %format M.Xi = "\ensuremath{\Xi}" %format M.Pi = "\ensuremath{\Pi}" %format M.Sigma = "\ensuremath{\Sigma}" %format M.Upsilon = "\ensuremath{\Upsilon}" %format M.Phi = "\ensuremath{\Phi}" %format M.Psi = "\ensuremath{\Psi}" %format M.Omega = "\ensuremath{\Omega}" %format M.forall = "\ensuremath{\forall}" %format M.exists = "\ensuremath{\exists}" %format M.not = "\ensuremath{\neg}" %format ==> = "\ensuremath{\Longrightarrow}" %format <== = "\ensuremath{\Longleftarrow}" %format /\ = "\ensuremath{\wedge}" %format \/ = "\ensuremath{\vee}" %format M.= = "\ensuremath{=}" %format M./= = "\ensuremath{\neq}" %format M.< = "\ensuremath{<}" %format M.<= = "\ensuremath{\leq}" %format M.>= = "\ensuremath{\geq}" %format M.> = "\ensuremath{>}" %endif %elif style == newcode %subst comment a = "-- " a %subst nested a = "{- " a " -}" %subst code a = a "'n" %subst newline = "'n" %subst dummy = %subst pragma a = "{-# " a " #-}" %subst tex a = %subst numeral a = a %subst keyword a = a %subst spaces a = a %subst special a = a %subst space = " " %subst conid a = a %subst varid a = a %subst consym a = a %subst varsym a = a %subst char a = "''" a "''" %subst string a = "'d" a "'d" %format # = "#" %format $ = "$" %format % = "%" %format & = "&" %elif style == math %subst phantom a = "\phantom{" a "\mbox{}}" %subst comment a = "\mbox{\qquad-{}- " a "}" %subst nested a = "\mbox{\enskip\{- " a " -\}\enskip}" %if array %subst code a = "\[\begin{array}{@{}lcl}'n\hspace{\lwidth}&\hspace{\cwidth}&\\[-10pt]'n" a "'n\end{array}\]" %subst column3 l c r = "{}" l " & " c " & {" r "}" %subst column1 a = "\multicolumn{3}{@{}l}{" a "}" %else %subst code a = "\begin{tabbing}'n\qquad\=\hspace{\lwidth}\=\hspace{\cwidth}\=\+\kill'n" a "'n\end{tabbing}" %subst column3 l c r = "$" l "$ \> \makebox[\cwidth]{$" c "$} \> ${" r "}$" %subst column1 a = "${" a "}$" %endif %subst newline = "\\'n" %subst blankline = "\\[1mm]'n" %let anyMath = True %elif style == poly %subst comment a = "\mbox{\onelinecomment " a "}" %subst nested a = "\mbox{\commentbegin " a " \commentend}" %if array %subst code a = "\['n\begin{parray}\SaveRestoreHook'n" a "\ColumnHook'n\end{parray}'n\]\resethooks'n" %else %subst code a = "\begingroup\par\noindent\advance\leftskip\mathindent\('n\begin{pboxed}\SaveRestoreHook'n" a "\ColumnHook'n\end{pboxed}'n\)\par\noindent\endgroup\resethooks'n" %endif %subst column c a = "\column{" c "}{" a "}'n" %subst fromto b e t = "\fromto{" b "}{" e "}{{}" t "{}}'n" %subst left = "@{}l@{}" %subst centered = "@{}c@{}" %subst dummycol = "@{}l@{}" %subst newline = "\nextline'n" %subst blankline = "\nextline[\blanklineskip]'n" %subst indent n = "\hsindent{" n "}" %let anyMath = True %endif %if anyMath %let autoSpacing = True %subst dummy = "\cdot " %subst inline a = "\ensuremath{" a "}" %subst hskip a = "\hskip" a "em\relax" %subst pragma a = "\mbox{\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %if latex209 %subst numeral a = "{\mathrm " a "}" %subst keyword a = "{\mathbf " a "}" %else %subst numeral a = "\mathrm{" a "}" %subst keyword a = "\mathbf{" a "}" %endif %subst spaces a = a %subst special a = a %subst space = "\;" %subst conid a = "\Conid{" a "}" %subst varid a = "\Varid{" a "}" %subst consym a = "\mathbin{" a "}" %subst varsym a = "\mathbin{" a "}" %subst char a = "\text{\tt ''" a "''}" %subst string a = "\text{\tt \char34 " a "\char34}" %format _ = "\anonymous " %format -> = "\to " %format <- = "\leftarrow " %format => = "\Rightarrow " %format \ = "\lambda " %format | = "\mid " %format { = "\{\mskip1.5mu " %format } = "\mskip1.5mu\}" %format [ = "[\mskip1.5mu " %format ] = "\mskip1.5mu]" %format = = "\mathrel{=}" %format .. = "\mathinner{\ldotp\ldotp}" %format ~ = "\mathord{\sim}" %format @ = "\mathord{@}" %format . = "\mathbin{\circ}" %format !! = "\mathbin{!!}" %format ^ = "\mathbin{\uparrow}" %format ^^ = "\mathbin{\uparrow\uparrow}" %format ** = "\mathbin{**}" %format / = "\mathbin{/}" %format `quot` = "\mathbin{\Varid{`quot`}}" %format `rem` = "\mathbin{\Varid{`rem`}}" %format `div` = "\mathbin{\Varid{`div`}}" %format `mod` = "\mathbin{\Varid{`mod`}}" %format :% = "\mathbin{:\%}" %format % = "\mathbin{\%}" %format : = "\mathbin{:}" %format ++ = "\plus " %format == = "\equiv " %% ODER: format == = "\mathrel{==}" %format /= = "\not\equiv " %% ODER: format /= = "\neq " %format <= = "\leq " %format >= = "\geq " %format `elem` = "\in " %format `notElem` = "\notin " %format && = "\mathrel{\wedge}" %format || = "\mathrel{\vee}" %format >> = "\sequ " %format >>= = "\bind " %format $ = "\mathbin{\$}" %format `seq` = "\mathbin{\Varid{`seq`}}" %format ! = "\mathbin{!}" %format // = "\mathbin{//}" %format undefined = "\bot " %format not = "\neg " %if meta %format M.a = "a" %format M.b = "b" %format M.c = "c" %format M.d = "d" %format M.e = "e" %format M.f = "f" %format M.g = "g" %format M.h = "h" %format M.i = "i" %format M.j = "j" %format M.k = "k" %format M.l = "l" %format M.m = "m" %format M.n = "n" %format M.o = "o" %format M.p = "p" %format M.q = "q" %format M.r = "r" %format M.s = "s" %format M.t = "t" %format M.u = "u" %format M.v = "v" %format M.w = "w" %format M.x = "x" %format M.y = "y" %format M.z = "z" %format M.A = "A" %format M.B = "B" %format M.C = "C" %format M.D = "D" %format M.E = "E" %format M.F = "F" %format M.G = "G" %format M.H = "H" %format M.I = "I" %format M.J = "J" %format M.K = "K" %format M.L = "L" %format M.M = "M" %format M.N = "N" %format M.O = "O" %format M.P = "P" %format M.Q = "Q" %format M.R = "R" %format M.S = "S" %format M.T = "T" %format M.U = "U" %format M.V = "V" %format M.W = "W" %format M.X = "X" %format M.Y = "Y" %format M.Z = "Z" %format M.alpha = "\alpha " %format M.beta = "\beta " %format M.gamma = "\gamma " %format M.delta = "\delta " %format M.epsilon = "\epsilon " %format M.zeta = "\zeta " %format M.eta = "\eta " %format M.theta = "\theta " %format M.iota = "\iota " %format M.kappa = "\kappa " %format M.lambda = "\lambda " %format M.mu = "\mu " %format M.nu = "\nu " %format M.xi = "\xi " %format M.pi = "\pi " %format M.rho = "\rho " %format M.sigma = "\sigma " %format M.tau = "\tau " %format M.upsilon = "\upsilon " %format M.phi = "\phi " %format M.chi = "\chi " %format M.psi = "\psi " %format M.omega = "\omega " %format M.Gamma = "\Gamma " %format M.Delta = "\Delta " %format M.Theta = "\Theta " %format M.Lambda = "\Lambda " %format M.Xi = "\Xi " %format M.Pi = "\Pi " %format M.Sigma = "\Sigma " %format M.Upsilon = "\Upsilon " %format M.Phi = "\Phi " %format M.Psi = "\Psi " %format M.Omega = "\Omega " %format M.forall = "\forall " %format M.exists = "\exists " %format M.not = "\neg " %format ==> = "\enskip\Longrightarrow\enskip " %format <== = "\enskip\Longleftarrow\enskip " %format /\ = "\enskip\mathrel{\wedge}\enskip " %format \/ = "\enskip\mathrel{\vee}\enskip " %format M.= = "=" %format M./= = "\neq " %format M.< = "<" %format M.<= = "\leq " %format M.>= = "\geq " %format M.> = ">" %endif %endif lhs2tex-1.18.1/doc/HelloWorldBirdSpecInput.lhs0000644000175000001440000000022012022734321020340 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} > >< main :: IO () >< main = putStrLn "Hello, world!" > \endgroup lhs2tex-1.18.1/doc/AGExample.lhs0000644000175000001440000000123412022734321015442 0ustar andresusers%include poly.fmt %format ^ = " " %format ^^ = "\;" %format ATTR = "\mathbf{ATTR}" %format SEM = "\mathbf{SEM}" %format lhs = "\mathbf{lhs}" %format . = "." %format * = "\times" %format (A(n)(f)) = @ n . f \begin{code} ATTR Expr Factor [ ^^ | ^^ | numvars : Int ] ATTR Expr Factor [ ^^ | ^^ | value : Int ] SEM Expr | Sum lhs . value = A left value + A right value . numvars = A left numvars + A right numvars SEM Factor | Prod lhs . value = A left value * A right value . numvars = A left numvars + A right numvars \end{code} lhs2tex-1.18.1/doc/Indent2a.lhs0000644000175000001440000000073712022734321015312 0ustar andresusers%include poly.fmt \begin{code} scanr1 :: (a -> a -> a) -> [a] -> [a] scanr1 f xxs = case xxs of x:xs -> case xs of [] -> [x] _ -> let qs = scanr1 f xs in case qs of q:_ -> f x q : qs \end{code} lhs2tex-1.18.1/doc/RepAlgIn.lhs0000644000175000001440000000127212022734321015302 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" %format \ = "\char''134" %format let = "let" %format in = "in" %format -> = "->" %format != = "{\origcolor{hcolor}" = "}" %format llt = "{\origcolor{hcolor}" lt "}" \begingroup \let\origtt=\texfamily \let\small\footnotesize \def\texfamily#1{\origtt} >> rep_alg = (\ _ -> \m -> Leaf m >> ,\ lfun rfun -> \m -> let lt != lfun m >> rt != rfun m >> in Bin llt rt >> ) >> replace_min' t = (cata_Tree rep_alg t) (cata_Tree min_alg t) \endgroup lhs2tex-1.18.1/doc/RawSearchPath.lhs0000644000175000001440000000075712022734321016344 0ustar andresusers\begin{code} . {HOME}/lhs2tex-1.18.1// {HOME}/lhs2tex// {HOME}/lhs2TeX// {HOME}/.lhs2tex-1.18.1// {HOME}/.lhs2tex// {HOME}/.lhs2TeX// {LHS2TEX}// /usr/local/share/lhs2tex-1.18.1// /usr/local/share/lhs2tex-1.18.1// /usr/local/lib/lhs2tex-1.18.1// /usr/share/lhs2tex-1.18.1// /usr/lib/lhs2tex-1.18.1// /usr/local/share/lhs2tex// /usr/local/lib/lhs2tex// /usr/share/lhs2tex// /usr/lib/lhs2tex// /usr/local/share/lhs2TeX// /usr/local/lib/lhs2TeX// /usr/share/lhs2TeX// /usr/lib/lhs2TeX// \end{code} lhs2tex-1.18.1/doc/Card.lhs0000644000175000001440000000030712022734321014510 0ustar andresusers%include poly.fmt %format abs (a) = "\mathopen{|}" a "\mathclose{|}" %format ~> = "\leadsto" The |abs| function computes the absolute value of an integer: \begin{code} abs(-2) ~> 2 \end{code} lhs2tex-1.18.1/doc/FormatStar.lhs0000644000175000001440000000015112022734321015716 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format * = "\star " \endgroup lhs2tex-1.18.1/doc/AlignColumnSyntax.lhs0000644000175000001440000000331612022734321017261 0ustar andresusers%include tex.fmt \newcommand*{\bslash}{@\@} \newcommand*{\atsym}{\texttt{\char64}} %format \ = "\bslash " %format @ = "\atsym " %format @@ = @ @ %format > = "\texttt{>}" %format < = "\texttt{<}" %format columnspec = "\Varid{column\text{\itshape -}specifier}" \invisiblecomments \begin{code} term(\aligncolumn){ent(integer)}{ent(columnspec)} \end{code} The |ent(integer)| denotes the number (i.e.~as displayed by the editor) of a column. Note that @lhs2TeX@ starts counting columns at 1. As |ent(columnspec)| one can use about the same strings that one can use to format a column in a @tabular@ environment using the \LaTeX\ @array@~\cite{array} package. Table~\ref{columnspec} has a short (and not necessarily complete) overview. \begin{table} \centering \begin{colorsurround} \begin{tabularx}{\linewidth}{cX} @l@ & left-align column \\ @c@ & center column \\ @r@ & right-align column \\ |term(p){ent(dimen)}| & make column of fixed width |ent(dimen)| \\ |@@{ent(tex)}| & can be used before or after the letter specifying alignment to suppress inter-column space and typeset |ent(tex)| instead; note that this is usually achieved using just one \texttt{\atsym}, but as @lhs2TeX@ interprets the \texttt{\atsym}, it must be escaped \\ |>{ent(tex)}| & can be used before the letter specifying the alignment to insert |ent(tex)| directly in front of the entry of the column \\ |<{ent(tex)}| & can be used after the letter specifying the alignment to insert |ent(tex)| directly after the entry of the column \end{tabularx} \end{colorsurround} \caption{Column specifiers for @\aligncolumn@}\label{columnspec} \end{table} lhs2tex-1.18.1/doc/IfSyntax.lhs0000644000175000001440000000023612022734321015405 0ustar andresusers%include tex.fmt %format ... = "\dots " \begin{code} dir(^if^) ^^ ent(expression) ... dir(elif) ^^ ent(expression) ... dir(^else^) ... dir(endif) \end{code} lhs2tex-1.18.1/doc/SaveRestoreNo.lhs0000644000175000001440000000053712022734321016403 0ustar andresusers%include poly.fmt \begingroup \begin{code} intersperse :: a -> [a] -> [a] intersperse _ [] = [] intersperse _ [x] = [x] \end{code} The only really interesting case is the one for lists containing at least two elements: \begin{code} intersperse sep (x:xs) = x : sep : intersperse sep xs \end{code} \endgroup lhs2tex-1.18.1/doc/FormatId.lhs0000644000175000001440000000026512022734321015347 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format new = "\mathbf{new}" >%format text0 = text >%format text_new = text "_{" new "}" \endgroup lhs2tex-1.18.1/doc/Indent3In.lhs0000644000175000001440000000027512022734321015436 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt \makebox[0pt]{\phantom{X}}} >%format foo = verylongfoo >\begin{code} >test 1 >foo bar > 2 >\end{code} \endgroup lhs2tex-1.18.1/doc/HelloWorldDialogue.lhs0000644000175000001440000000025412022734321017365 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} \begin{code} $ lhs2TeX -o HelloWorld.tex HelloWorld.lhs $ pdflatex HelloWorld.tex \end{code} \endgroup lhs2tex-1.18.1/doc/FormatArrow.lhs0000644000175000001440000000015512022734321016103 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format ~> = "\leadsto " \endgroup lhs2tex-1.18.1/doc/Accidental.lhs0000644000175000001440000000063212022734321015667 0ustar andresusers%include poly.fmt %format <| = "\lhd " > options :: [String] -> ([Class],[String]) > options = foldr (<|) ([],[]) > where "-align" <| (ds,s: as) = (Dir Align s : ds, as) > ('-':'i':s) <| (ds, as) = (Dir Include s : ds, as) > ('-':'l':s) <| (ds, as) = (Dir Let s : ds, as) > s <| (ds, as) = ( ds,s : as) lhs2tex-1.18.1/doc/InteractiveGhciIn.lhs0000644000175000001440000000061712022734321017202 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} %if False module InteractiveGhci where %endif %format . = "." %format forall a = "\forall" a \begin{code} %options ghci -fglasgow-exts > fix :: forall a. (a -> a) -> a > fix f = f (fix f) This function is of type \eval{:t fix}, and |take 10 (fix ('x':))| evaluates to \eval{take 10 (fix ('x':))}. \end{code} \endgroup lhs2tex-1.18.1/doc/CalcExampleIn.lhs0000644000175000001440000000107312022734321016305 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt %if stc \let\small\scriptsize %endif \def\tt#1#2{\origtt\makebox[0pt]{\phantom{X}}} >\def\commentbegin{\quad\{\ } >\def\commentend{\}} >\begin{spec} > map (+1) [1,2,3] > >== {- desugaring of |(:)| -} > > map (+1) (1 : [2,3]) > >== {- definition of |map| -} > > (+1) 1 : map (+1) [2,3] > >== {- performing the addition on the head -} > > 2 : map (+1) [2,3] > >== {- recursive application of |map| -} > > 2 : [3,4] > >== {- list syntactic sugar -} > > [2,3,4] >\end{spec} \endgroup lhs2tex-1.18.1/doc/IncludeSyntax.lhs0000644000175000001440000000011012022734321016421 0ustar andresusers%include tex.fmt \begin{code} dir(include) ^^ ent(filename) \end{code} lhs2tex-1.18.1/doc/ZipPolyIn.lhs0000644000175000001440000000115212022734321015533 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt\makebox[0pt]{\phantom{X}}} \begin{code} zip :: [a] -> [b] -> [(a,b)] zip = zipWith (\a b -> (a,b)) zipWith :: (a->b->c) -> [a]->[b]->[c] zipWith z (a:as) (b:bs) = z a b : zipWith z as bs zipWith _ _ _ = [] partition :: (a -> Bool) -> [a] -> ([a],[a]) partition p xs = foldr select ([],[]) xs where select x (ts,fs) | p x = (x:ts,fs) | otherwise = (ts,x:fs) \end{code} \endgroup lhs2tex-1.18.1/doc/HelloWorld.lhs0000644000175000001440000000023712022734321015714 0ustar andresusers%include poly.fmt This is the famous ``Hello world'' example, written in Haskell: \begin{code} main :: IO () main = putStrLn "Hello, world!" \end{code} lhs2tex-1.18.1/doc/FormatRecurse.lhs0000644000175000001440000000022112022734321016413 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%% THE FOLLOWING IS BAD: >%format text = "\mathsf{" text "}" \endgroup lhs2tex-1.18.1/doc/SaveRestore.lhs0000644000175000001440000000057412022734321016107 0ustar andresusers%include poly.fmt \begingroup \savecolumns \begin{code} intersperse :: a -> [a] -> [a] intersperse _ [] = [] intersperse _ [x] = [x] \end{code} The only really interesting case is the one for lists containing at least two elements: \restorecolumns \begin{code} intersperse sep (x:xs) = x : sep : intersperse sep xs \end{code} \endgroup lhs2tex-1.18.1/doc/tex.fmt0000644000175000001440000003206312022734321014443 0ustar andresusers%subst verb a = "\text{\tt " a "}" %subst verbatim a = "\begin{tabbing}\tt'n" a "'n\end{tabbing}'n" %subst verbnl = "\\'n\tt " %if style == tt %subst inline a = "\text{\texfamily " a "}" %subst thinspace = "\Sp " %subst code a = "\begin{tabbing}\texfamily'n" a "'n\end{tabbing}'n" %subst comment a = "{\rmfamily-{}- " a "}" %subst nested a = "{\rmfamily\enskip\{- " a " -\}\enskip}" %subst pragma a = "{\rmfamily\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %subst spaces a = a %subst special a = a %subst space = "~" %subst newline = "\\'n\texfamily " %subst conid a = "{\itshape " a "}" %subst varid a = a %subst consym a = a %subst varsym a = a %subst numeral a = a %subst char a = "''" a "''" %subst string a = "\char34 " a "\char34 " %if underlineKeywords %subst keyword a = "\uline{" a "}" %else %subst keyword a = "{\bfseries " a "}" %endif %format \ = "\char''10" %format . = "\char''00" %if not spacePreserving %format alpha = "\char''02" %format beta = "\char''03" %format gamma = "\char''11" %format delta = "\char''12" %format pi = "\char''07" %format infty = "\char''16" %format intersect = "\char''22" %format union = "\char''23" %format forall = "\char''24" %format exists = "\char''25" %format not = "\char''05" %format && = "\char''04" %format || = "\char''37" %format <- = "\char''06" %format -> = "\char''31" %format == = "\char''36" %format /= = "\char''32" %format <= = "\char''34" %format >= = "\char''35" %endif %if meta %format M.a = "\ensuremath{a}" %format M.b = "\ensuremath{b}" %format M.c = "\ensuremath{c}" %format M.d = "\ensuremath{d}" %format M.e = "\ensuremath{e}" %format M.f = "\ensuremath{f}" %format M.g = "\ensuremath{g}" %format M.h = "\ensuremath{h}" %format M.i = "\ensuremath{i}" %format M.j = "\ensuremath{j}" %format M.k = "\ensuremath{k}" %format M.l = "\ensuremath{l}" %format M.m = "\ensuremath{m}" %format M.n = "\ensuremath{n}" %format M.o = "\ensuremath{o}" %format M.p = "\ensuremath{p}" %format M.q = "\ensuremath{q}" %format M.r = "\ensuremath{r}" %format M.s = "\ensuremath{s}" %format M.t = "\ensuremath{t}" %format M.u = "\ensuremath{u}" %format M.v = "\ensuremath{v}" %format M.w = "\ensuremath{w}" %format M.x = "\ensuremath{x}" %format M.y = "\ensuremath{y}" %format M.z = "\ensuremath{z}" %format M.A = "\ensuremath{A}" %format M.B = "\ensuremath{B}" %format M.C = "\ensuremath{C}" %format M.D = "\ensuremath{D}" %format M.E = "\ensuremath{E}" %format M.F = "\ensuremath{F}" %format M.G = "\ensuremath{G}" %format M.H = "\ensuremath{H}" %format M.I = "\ensuremath{I}" %format M.J = "\ensuremath{J}" %format M.K = "\ensuremath{K}" %format M.L = "\ensuremath{L}" %format M.M = "\ensuremath{M}" %format M.N = "\ensuremath{N}" %format M.O = "\ensuremath{O}" %format M.P = "\ensuremath{P}" %format M.Q = "\ensuremath{Q}" %format M.R = "\ensuremath{R}" %format M.S = "\ensuremath{S}" %format M.T = "\ensuremath{T}" %format M.U = "\ensuremath{U}" %format M.V = "\ensuremath{V}" %format M.W = "\ensuremath{W}" %format M.X = "\ensuremath{X}" %format M.Y = "\ensuremath{Y}" %format M.Z = "\ensuremath{Z}" %format M.alpha = "\ensuremath{\alpha}" %format M.beta = "\ensuremath{\beta}" %format M.gamma = "\ensuremath{\gamma}" %format M.delta = "\ensuremath{\delta}" %format M.epsilon = "\ensuremath{\epsilon}" %format M.zeta = "\ensuremath{\zeta}" %format M.eta = "\ensuremath{\eta}" %format M.theta = "\ensuremath{\theta}" %format M.iota = "\ensuremath{\iota}" %format M.kappa = "\ensuremath{\kappa}" %format M.lambda = "\ensuremath{\lambda}" %format M.mu = "\ensuremath{\mu}" %format M.nu = "\ensuremath{\nu}" %format M.xi = "\ensuremath{\xi}" %format M.pi = "\ensuremath{\pi}" %format M.rho = "\ensuremath{\rho}" %format M.sigma = "\ensuremath{\sigma}" %format M.tau = "\ensuremath{\tau}" %format M.upsilon = "\ensuremath{\upsilon}" %format M.phi = "\ensuremath{\phi}" %format M.chi = "\ensuremath{\chi}" %format M.psi = "\ensuremath{\psi}" %format M.omega = "\ensuremath{\omega}" %format M.Gamma = "\ensuremath{\Gamma}" %format M.Delta = "\ensuremath{\Delta}" %format M.Theta = "\ensuremath{\Theta}" %format M.Lambda = "\ensuremath{\Lambda}" %format M.Xi = "\ensuremath{\Xi}" %format M.Pi = "\ensuremath{\Pi}" %format M.Sigma = "\ensuremath{\Sigma}" %format M.Upsilon = "\ensuremath{\Upsilon}" %format M.Phi = "\ensuremath{\Phi}" %format M.Psi = "\ensuremath{\Psi}" %format M.Omega = "\ensuremath{\Omega}" %format M.forall = "\ensuremath{\forall}" %format M.exists = "\ensuremath{\exists}" %format M.not = "\ensuremath{\neg}" %format ==> = "\ensuremath{\Longrightarrow}" %format <== = "\ensuremath{\Longleftarrow}" %format /\ = "\ensuremath{\wedge}" %format \/ = "\ensuremath{\vee}" %format M.= = "\ensuremath{=}" %format M./= = "\ensuremath{\neq}" %format M.< = "\ensuremath{<}" %format M.<= = "\ensuremath{\leq}" %format M.>= = "\ensuremath{\geq}" %format M.> = "\ensuremath{>}" %endif %elif style == newcode %subst comment a = "-- " a %subst nested a = "{- " a " -}" %subst code a = a "'n" %subst newline = "'n" %subst dummy = %subst pragma a = "{-# " a " #-}" %subst tex a = %subst numeral a = a %subst keyword a = a %subst spaces a = a %subst special a = a %subst space = " " %subst conid a = a %subst varid a = a %subst consym a = a %subst varsym a = a %subst char a = "''" a "''" %subst string a = "'d" a "'d" %format # = "#" %format $ = "$" %format % = "%" %format & = "&" %elif style == math %subst phantom a = "\phantom{" a "\mbox{}}" %subst comment a = "\mbox{\qquad-{}- " a "}" %subst nested a = "\mbox{\enskip\{- " a " -\}\enskip}" %if array %subst code a = "\[\begin{array}{@{}lcl}'n\hspace{\lwidth}&\hspace{\cwidth}&\\[-10pt]'n" a "'n\end{array}\]" %subst column3 l c r = "{}" l " & " c " & {" r "}" %subst column1 a = "\multicolumn{3}{@{}l}{" a "}" %else %subst code a = "\begin{tabbing}'n\qquad\=\hspace{\lwidth}\=\hspace{\cwidth}\=\+\kill'n" a "'n\end{tabbing}" %subst column3 l c r = "$" l "$ \> \makebox[\cwidth]{$" c "$} \> ${" r "}$" %subst column1 a = "${" a "}$" %endif %subst newline = "\\'n" %subst blankline = "\\[1mm]'n" %let anyMath = True %elif style == poly %subst comment a = "\mbox{\onelinecomment " a "}" %subst nested a = "\mbox{\commentbegin " a " \commentend}" %if array %subst code a = "\['n\begin{parray}\SaveRestoreHook'n" a "\ColumnHook'n\end{parray}'n\]\resethooks'n" %else %subst code a = "\begingroup\par\noindent\advance\leftskip\mathindent\('n\begin{pboxed}\SaveRestoreHook'n" a "\ColumnHook'n\end{pboxed}'n\)\par\noindent\endgroup\resethooks'n" %endif %subst column c a = "\column{" c "}{" a "}'n" %subst fromto b e t = "\fromto{" b "}{" e "}{{}" t "{}}'n" %subst left = "@{}l@{}" %subst centered = "@{}c@{}" %subst dummycol = "@{}l@{}" %subst newline = "\nextline'n" %subst blankline = "\nextline[\blanklineskip]'n" %subst indent n = "\hsindent{" n "}" %let anyMath = True %endif %if anyMath %let autoSpacing = True %subst dummy = "\cdot " %subst inline a = "\ensuremath{" a "}" %subst hskip a = "\hskip" a "em\relax" %subst pragma a = "\mbox{\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %if latex209 %subst numeral a = "{\mathrm " a "}" %subst keyword a = "{\mathbf " a "}" %else %subst numeral a = "\mathrm{" a "}" %subst keyword a = "\mathbf{" a "}" %endif %subst spaces a = a %subst special a = a %subst space = "\;" %subst conid a = "\Conid{" a "}" %subst varid a = "\Varid{" a "}" %subst consym a = "\mathbin{" a "}" %subst varsym a = "\mathbin{" a "}" %subst char a = "\text{\tt ''" a "''}" %subst string a = "\text{\tt \char34 " a "\char34}" %format _ = "\anonymous " %format -> = "\to " %format <- = "\leftarrow " %format => = "\Rightarrow " %format \ = "\lambda " %format | = "\mid " %format { = "\{\mskip1.5mu " %format } = "\mskip1.5mu\}" %format [ = "[\mskip1.5mu " %format ] = "\mskip1.5mu]" %format = = "\mathrel{=}" %format .. = "\mathinner{\ldotp\ldotp}" %format ~ = "\mathord{\sim}" %format @ = "\mathord{@}" %format . = "\mathbin{\circ}" %format !! = "\mathbin{!!}" %format ^ = "\mathbin{\uparrow}" %format ^^ = "\mathbin{\uparrow\uparrow}" %format ** = "\mathbin{**}" %format / = "\mathbin{/}" %format `quot` = "\mathbin{\Varid{`quot`}}" %format `rem` = "\mathbin{\Varid{`rem`}}" %format `div` = "\mathbin{\Varid{`div`}}" %format `mod` = "\mathbin{\Varid{`mod`}}" %format :% = "\mathbin{:\%}" %format % = "\mathbin{\%}" %format : = "\mathbin{:}" %format ++ = "\plus " %format == = "\equiv " %% ODER: format == = "\mathrel{==}" %format /= = "\not\equiv " %% ODER: format /= = "\neq " %format <= = "\leq " %format >= = "\geq " %format `elem` = "\in " %format `notElem` = "\notin " %format && = "\mathrel{\wedge}" %format || = "\mathrel{\vee}" %format >> = "\sequ " %format >>= = "\bind " %format $ = "\mathbin{\$}" %format `seq` = "\mathbin{\Varid{`seq`}}" %format ! = "\mathbin{!}" %format // = "\mathbin{//}" %format undefined = "\bot " %format not = "\neg " %if meta %format M.a = "a" %format M.b = "b" %format M.c = "c" %format M.d = "d" %format M.e = "e" %format M.f = "f" %format M.g = "g" %format M.h = "h" %format M.i = "i" %format M.j = "j" %format M.k = "k" %format M.l = "l" %format M.m = "m" %format M.n = "n" %format M.o = "o" %format M.p = "p" %format M.q = "q" %format M.r = "r" %format M.s = "s" %format M.t = "t" %format M.u = "u" %format M.v = "v" %format M.w = "w" %format M.x = "x" %format M.y = "y" %format M.z = "z" %format M.A = "A" %format M.B = "B" %format M.C = "C" %format M.D = "D" %format M.E = "E" %format M.F = "F" %format M.G = "G" %format M.H = "H" %format M.I = "I" %format M.J = "J" %format M.K = "K" %format M.L = "L" %format M.M = "M" %format M.N = "N" %format M.O = "O" %format M.P = "P" %format M.Q = "Q" %format M.R = "R" %format M.S = "S" %format M.T = "T" %format M.U = "U" %format M.V = "V" %format M.W = "W" %format M.X = "X" %format M.Y = "Y" %format M.Z = "Z" %format M.alpha = "\alpha " %format M.beta = "\beta " %format M.gamma = "\gamma " %format M.delta = "\delta " %format M.epsilon = "\epsilon " %format M.zeta = "\zeta " %format M.eta = "\eta " %format M.theta = "\theta " %format M.iota = "\iota " %format M.kappa = "\kappa " %format M.lambda = "\lambda " %format M.mu = "\mu " %format M.nu = "\nu " %format M.xi = "\xi " %format M.pi = "\pi " %format M.rho = "\rho " %format M.sigma = "\sigma " %format M.tau = "\tau " %format M.upsilon = "\upsilon " %format M.phi = "\phi " %format M.chi = "\chi " %format M.psi = "\psi " %format M.omega = "\omega " %format M.Gamma = "\Gamma " %format M.Delta = "\Delta " %format M.Theta = "\Theta " %format M.Lambda = "\Lambda " %format M.Xi = "\Xi " %format M.Pi = "\Pi " %format M.Sigma = "\Sigma " %format M.Upsilon = "\Upsilon " %format M.Phi = "\Phi " %format M.Psi = "\Psi " %format M.Omega = "\Omega " %format M.forall = "\forall " %format M.exists = "\exists " %format M.not = "\neg " %format ==> = "\enskip\Longrightarrow\enskip " %format <== = "\enskip\Longleftarrow\enskip " %format /\ = "\enskip\mathrel{\wedge}\enskip " %format \/ = "\enskip\mathrel{\vee}\enskip " %format M.= = "=" %format M./= = "\neq " %format M.< = "<" %format M.<= = "\leq " %format M.>= = "\geq " %format M.> = ">" %endif %endif %subst code a = "\begin{colorcode}'n" a "\end{colorcode}\resethooks'n" %subst keyword a = "\keyw{" a "}" %if False %format dir(a) = "\text{\textbf{\%}}{\let\Varid\mathbf " a "}" %else %format dir(a) = "\text{\texttt{\%}}{\let\Varid\mathtt " a "}" %format = = "\mathrel{\text{\texttt{=}}}" %format term(a) = "{\let\Varid\mathtt\let\Conid\mathtt " a "}" \let\keyw=\mathtt %endif %format not = "\Varid{not}" %format ent(a) = "{\langle " a "\rangle}" %format syn(a) = "{" a "}" %format many(a) = "{" a "}^{*}" %format manyp(a) = "{(" a ")}^{*}" %format opt(a) = "{" a "}?" %format string(a) = "\mathopen{\text{\texfamily\char34}}" a "\mathclose{\text{\texfamily\char34}}" %format string' = "\Varid{string}" %format back(a) = "\mathopen{\text{\texfamily`}}" a "\mathclose{\text{\texfamily`}}" %format ( = "\mathopen{\text{\texfamily(}}" %format ) = "\mathclose{\text{\texfamily)}}" %format { = "\mathopen{\text{\texfamily\char''173 }}" %format } = "\mathclose{\text{\texfamily\char''175 }}" %format ^^^ = "\qquad " %format ^^ = "\;" %format ^ = " " %format ::= = "\mathrel{::=}" %format (test (a) (b)) = "-" a "-" b "-" lhs2tex-1.18.1/doc/PlusDefinition.lhs0000644000175000001440000000017312022734321016574 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >\newcommand{\plus}{\mathbin{+\!\!\!+}} \endgroup lhs2tex-1.18.1/doc/AccidentalCIn.lhs0000644000175000001440000000154212022734321016262 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" %format \ = "\char''134" %format let = "let" %format in = "in" %format where = "where" %format -> = "->" %format != = "{\origcolor{hcolor}" = "}" %format !:: = "{\origcolor{hcolor}" :: "}" %format ^ = " " %format C = "{\origcolor{hcolor}" %format D = "}" \begingroup \let\origtt=\texfamily \let\small\footnotesize \def\texfamily#1{\origtt} >%format <| = "\lhd " > >> options !:: [String] -> ([Class],[String]) >> options != foldr (<|) ([],[]) >> where C^"-align"^D <| (ds,s: as) = (Dir Align s : ds, as) >> C^('-':'i':s)^D <| (ds, as) = (Dir Include s : ds, as) >> C^('-':'l':s)^D <| (ds, as) = (Dir Let s : ds, as) >> C^s^D <| (ds, as) = ( ds,s : as) \endgroup lhs2tex-1.18.1/doc/ImplicitIn.lhs0000644000175000001440000000050212022734321015675 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format omega = "\omega" >|[omega, omega13, omega', omega13']|\par >%format omega13 >|[omega, omega13, omega', omega13']|\par >%format omega' >|[omega, omega13, omega', omega13']|\par >%format omega13' >|[omega, omega13, omega', omega13']| \endgroup lhs2tex-1.18.1/doc/HelloWorldBirdInput.lhs0000644000175000001440000000022012022734321017525 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} > >> main :: IO () >> main = putStrLn "Hello, world!" > \endgroup lhs2tex-1.18.1/doc/ZipPolyTT.lhs0000644000175000001440000000122312022734321015513 0ustar andresusers%include polytt.fmt %subst code a = "\begin{colorcode}\thinmuskip=10mu\medmuskip=10mu\thickmuskip=10mu\relax'n" a "\end{colorcode}\resethooks'n" \begin{code} zip :: [a] -> [b] -> [(a,b)] zip = zipWith (\a b -> (a,b)) zipWith :: (a->b->c) -> [a]->[b]->[c] zipWith z (a:as) (b:bs) = z a b : zipWith z as bs zipWith _ _ _ = [] partition :: (a -> Bool) -> [a] -> ([a],[a]) partition p xs = foldr select ([],[]) xs where select x (ts,fs) | p x = (x:ts,fs) | otherwise = (ts,x:fs) \end{code} lhs2tex-1.18.1/doc/verbatim.fmt0000644000175000001440000003001512022734321015447 0ustar andresusers%subst verb a = "\text{\tt " a "}" %subst verbatim a = "\begin{tabbing}\tt'n" a "'n\end{tabbing}'n" %subst verbnl = "\\'n\tt " %if style == tt %subst inline a = "\text{\texfamily " a "}" %subst thinspace = "\Sp " %subst code a = "\begin{tabbing}\texfamily'n" a "'n\end{tabbing}'n" %subst comment a = "{\rmfamily-{}- " a "}" %subst nested a = "{\rmfamily\enskip\{- " a " -\}\enskip}" %subst pragma a = "{\rmfamily\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %subst spaces a = a %subst special a = a %subst space = "~" %subst newline = "\\'n\texfamily " %subst conid a = "{\itshape " a "}" %subst varid a = a %subst consym a = a %subst varsym a = a %subst numeral a = a %subst char a = "''" a "''" %subst string a = "\char34 " a "\char34 " %if underlineKeywords %subst keyword a = "\uline{" a "}" %else %subst keyword a = "{\bfseries " a "}" %endif %format \ = "\char''10" %format . = "\char''00" %if not spacePreserving %format alpha = "\char''02" %format beta = "\char''03" %format gamma = "\char''11" %format delta = "\char''12" %format pi = "\char''07" %format infty = "\char''16" %format intersect = "\char''22" %format union = "\char''23" %format forall = "\char''24" %format exists = "\char''25" %format not = "\char''05" %format && = "\char''04" %format || = "\char''37" %format <- = "\char''06" %format -> = "\char''31" %format == = "\char''36" %format /= = "\char''32" %format <= = "\char''34" %format >= = "\char''35" %endif %if meta %format M.a = "\ensuremath{a}" %format M.b = "\ensuremath{b}" %format M.c = "\ensuremath{c}" %format M.d = "\ensuremath{d}" %format M.e = "\ensuremath{e}" %format M.f = "\ensuremath{f}" %format M.g = "\ensuremath{g}" %format M.h = "\ensuremath{h}" %format M.i = "\ensuremath{i}" %format M.j = "\ensuremath{j}" %format M.k = "\ensuremath{k}" %format M.l = "\ensuremath{l}" %format M.m = "\ensuremath{m}" %format M.n = "\ensuremath{n}" %format M.o = "\ensuremath{o}" %format M.p = "\ensuremath{p}" %format M.q = "\ensuremath{q}" %format M.r = "\ensuremath{r}" %format M.s = "\ensuremath{s}" %format M.t = "\ensuremath{t}" %format M.u = "\ensuremath{u}" %format M.v = "\ensuremath{v}" %format M.w = "\ensuremath{w}" %format M.x = "\ensuremath{x}" %format M.y = "\ensuremath{y}" %format M.z = "\ensuremath{z}" %format M.A = "\ensuremath{A}" %format M.B = "\ensuremath{B}" %format M.C = "\ensuremath{C}" %format M.D = "\ensuremath{D}" %format M.E = "\ensuremath{E}" %format M.F = "\ensuremath{F}" %format M.G = "\ensuremath{G}" %format M.H = "\ensuremath{H}" %format M.I = "\ensuremath{I}" %format M.J = "\ensuremath{J}" %format M.K = "\ensuremath{K}" %format M.L = "\ensuremath{L}" %format M.M = "\ensuremath{M}" %format M.N = "\ensuremath{N}" %format M.O = "\ensuremath{O}" %format M.P = "\ensuremath{P}" %format M.Q = "\ensuremath{Q}" %format M.R = "\ensuremath{R}" %format M.S = "\ensuremath{S}" %format M.T = "\ensuremath{T}" %format M.U = "\ensuremath{U}" %format M.V = "\ensuremath{V}" %format M.W = "\ensuremath{W}" %format M.X = "\ensuremath{X}" %format M.Y = "\ensuremath{Y}" %format M.Z = "\ensuremath{Z}" %format M.alpha = "\ensuremath{\alpha}" %format M.beta = "\ensuremath{\beta}" %format M.gamma = "\ensuremath{\gamma}" %format M.delta = "\ensuremath{\delta}" %format M.epsilon = "\ensuremath{\epsilon}" %format M.zeta = "\ensuremath{\zeta}" %format M.eta = "\ensuremath{\eta}" %format M.theta = "\ensuremath{\theta}" %format M.iota = "\ensuremath{\iota}" %format M.kappa = "\ensuremath{\kappa}" %format M.lambda = "\ensuremath{\lambda}" %format M.mu = "\ensuremath{\mu}" %format M.nu = "\ensuremath{\nu}" %format M.xi = "\ensuremath{\xi}" %format M.pi = "\ensuremath{\pi}" %format M.rho = "\ensuremath{\rho}" %format M.sigma = "\ensuremath{\sigma}" %format M.tau = "\ensuremath{\tau}" %format M.upsilon = "\ensuremath{\upsilon}" %format M.phi = "\ensuremath{\phi}" %format M.chi = "\ensuremath{\chi}" %format M.psi = "\ensuremath{\psi}" %format M.omega = "\ensuremath{\omega}" %format M.Gamma = "\ensuremath{\Gamma}" %format M.Delta = "\ensuremath{\Delta}" %format M.Theta = "\ensuremath{\Theta}" %format M.Lambda = "\ensuremath{\Lambda}" %format M.Xi = "\ensuremath{\Xi}" %format M.Pi = "\ensuremath{\Pi}" %format M.Sigma = "\ensuremath{\Sigma}" %format M.Upsilon = "\ensuremath{\Upsilon}" %format M.Phi = "\ensuremath{\Phi}" %format M.Psi = "\ensuremath{\Psi}" %format M.Omega = "\ensuremath{\Omega}" %format M.forall = "\ensuremath{\forall}" %format M.exists = "\ensuremath{\exists}" %format M.not = "\ensuremath{\neg}" %format ==> = "\ensuremath{\Longrightarrow}" %format <== = "\ensuremath{\Longleftarrow}" %format /\ = "\ensuremath{\wedge}" %format \/ = "\ensuremath{\vee}" %format M.= = "\ensuremath{=}" %format M./= = "\ensuremath{\neq}" %format M.< = "\ensuremath{<}" %format M.<= = "\ensuremath{\leq}" %format M.>= = "\ensuremath{\geq}" %format M.> = "\ensuremath{>}" %endif %elif style == newcode %subst comment a = "-- " a %subst nested a = "{- " a " -}" %subst code a = a "'n" %subst newline = "'n" %subst dummy = %subst pragma a = "{-# " a " #-}" %subst tex a = %subst numeral a = a %subst keyword a = a %subst spaces a = a %subst special a = a %subst space = " " %subst conid a = a %subst varid a = a %subst consym a = a %subst varsym a = a %subst char a = "''" a "''" %subst string a = "'d" a "'d" %format # = "#" %format $ = "$" %format % = "%" %format & = "&" %elif style == math %subst phantom a = "\phantom{" a "\mbox{}}" %subst comment a = "\mbox{\qquad-{}- " a "}" %subst nested a = "\mbox{\enskip\{- " a " -\}\enskip}" %if array %subst code a = "\[\begin{array}{@{}lcl}'n\hspace{\lwidth}&\hspace{\cwidth}&\\[-10pt]'n" a "'n\end{array}\]" %subst column3 l c r = "{}" l " & " c " & {" r "}" %subst column1 a = "\multicolumn{3}{@{}l}{" a "}" %else %subst code a = "\begin{tabbing}'n\qquad\=\hspace{\lwidth}\=\hspace{\cwidth}\=\+\kill'n" a "'n\end{tabbing}" %subst column3 l c r = "$" l "$ \> \makebox[\cwidth]{$" c "$} \> ${" r "}$" %subst column1 a = "${" a "}$" %endif %subst newline = "\\'n" %subst blankline = "\\[1mm]'n" %let anyMath = True %elif style == poly %subst comment a = "\mbox{\onelinecomment " a "}" %subst nested a = "\mbox{\commentbegin " a " \commentend}" %if array %subst code a = "\['n\begin{parray}\SaveRestoreHook'n" a "\ColumnHook'n\end{parray}'n\]\resethooks'n" %else %subst code a = "\begingroup\par\noindent\advance\leftskip\mathindent\('n\begin{pboxed}\SaveRestoreHook'n" a "\ColumnHook'n\end{pboxed}'n\)\par\noindent\endgroup\resethooks'n" %endif %subst column c a = "\column{" c "}{" a "}'n" %subst fromto b e t = "\fromto{" b "}{" e "}{{}" t "{}}'n" %subst left = "@{}l@{}" %subst centered = "@{}c@{}" %subst dummycol = "@{}l@{}" %subst newline = "\nextline'n" %subst blankline = "\nextline[\blanklineskip]'n" %subst indent n = "\hsindent{" n "}" %let anyMath = True %endif %if anyMath %let autoSpacing = True %subst dummy = "\cdot " %subst inline a = "\ensuremath{" a "}" %subst hskip a = "\hskip" a "em\relax" %subst pragma a = "\mbox{\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %if latex209 %subst numeral a = "{\mathrm " a "}" %subst keyword a = "{\mathbf " a "}" %else %subst numeral a = "\mathrm{" a "}" %subst keyword a = "\mathbf{" a "}" %endif %subst spaces a = a %subst special a = a %subst space = "\;" %subst conid a = "\Conid{" a "}" %subst varid a = "\Varid{" a "}" %subst consym a = "\mathbin{" a "}" %subst varsym a = "\mathbin{" a "}" %subst char a = "\text{\tt ''" a "''}" %subst string a = "\text{\tt \char34 " a "\char34}" %format _ = "\anonymous " %format -> = "\to " %format <- = "\leftarrow " %format => = "\Rightarrow " %format \ = "\lambda " %format | = "\mid " %format { = "\{\mskip1.5mu " %format } = "\mskip1.5mu\}" %format [ = "[\mskip1.5mu " %format ] = "\mskip1.5mu]" %format = = "\mathrel{=}" %format .. = "\mathinner{\ldotp\ldotp}" %format ~ = "\mathord{\sim}" %format @ = "\mathord{@}" %format . = "\mathbin{\circ}" %format !! = "\mathbin{!!}" %format ^ = "\mathbin{\uparrow}" %format ^^ = "\mathbin{\uparrow\uparrow}" %format ** = "\mathbin{**}" %format / = "\mathbin{/}" %format `quot` = "\mathbin{\Varid{`quot`}}" %format `rem` = "\mathbin{\Varid{`rem`}}" %format `div` = "\mathbin{\Varid{`div`}}" %format `mod` = "\mathbin{\Varid{`mod`}}" %format :% = "\mathbin{:\%}" %format % = "\mathbin{\%}" %format : = "\mathbin{:}" %format ++ = "\plus " %format == = "\equiv " %% ODER: format == = "\mathrel{==}" %format /= = "\not\equiv " %% ODER: format /= = "\neq " %format <= = "\leq " %format >= = "\geq " %format `elem` = "\in " %format `notElem` = "\notin " %format && = "\mathrel{\wedge}" %format || = "\mathrel{\vee}" %format >> = "\sequ " %format >>= = "\bind " %format $ = "\mathbin{\$}" %format `seq` = "\mathbin{\Varid{`seq`}}" %format ! = "\mathbin{!}" %format // = "\mathbin{//}" %format undefined = "\bot " %format not = "\neg " %if meta %format M.a = "a" %format M.b = "b" %format M.c = "c" %format M.d = "d" %format M.e = "e" %format M.f = "f" %format M.g = "g" %format M.h = "h" %format M.i = "i" %format M.j = "j" %format M.k = "k" %format M.l = "l" %format M.m = "m" %format M.n = "n" %format M.o = "o" %format M.p = "p" %format M.q = "q" %format M.r = "r" %format M.s = "s" %format M.t = "t" %format M.u = "u" %format M.v = "v" %format M.w = "w" %format M.x = "x" %format M.y = "y" %format M.z = "z" %format M.A = "A" %format M.B = "B" %format M.C = "C" %format M.D = "D" %format M.E = "E" %format M.F = "F" %format M.G = "G" %format M.H = "H" %format M.I = "I" %format M.J = "J" %format M.K = "K" %format M.L = "L" %format M.M = "M" %format M.N = "N" %format M.O = "O" %format M.P = "P" %format M.Q = "Q" %format M.R = "R" %format M.S = "S" %format M.T = "T" %format M.U = "U" %format M.V = "V" %format M.W = "W" %format M.X = "X" %format M.Y = "Y" %format M.Z = "Z" %format M.alpha = "\alpha " %format M.beta = "\beta " %format M.gamma = "\gamma " %format M.delta = "\delta " %format M.epsilon = "\epsilon " %format M.zeta = "\zeta " %format M.eta = "\eta " %format M.theta = "\theta " %format M.iota = "\iota " %format M.kappa = "\kappa " %format M.lambda = "\lambda " %format M.mu = "\mu " %format M.nu = "\nu " %format M.xi = "\xi " %format M.pi = "\pi " %format M.rho = "\rho " %format M.sigma = "\sigma " %format M.tau = "\tau " %format M.upsilon = "\upsilon " %format M.phi = "\phi " %format M.chi = "\chi " %format M.psi = "\psi " %format M.omega = "\omega " %format M.Gamma = "\Gamma " %format M.Delta = "\Delta " %format M.Theta = "\Theta " %format M.Lambda = "\Lambda " %format M.Xi = "\Xi " %format M.Pi = "\Pi " %format M.Sigma = "\Sigma " %format M.Upsilon = "\Upsilon " %format M.Phi = "\Phi " %format M.Psi = "\Psi " %format M.Omega = "\Omega " %format M.forall = "\forall " %format M.exists = "\exists " %format M.not = "\neg " %format ==> = "\enskip\Longrightarrow\enskip " %format <== = "\enskip\Longleftarrow\enskip " %format /\ = "\enskip\mathrel{\wedge}\enskip " %format \/ = "\enskip\mathrel{\vee}\enskip " %format M.= = "=" %format M./= = "\neq " %format M.< = "<" %format M.<= = "\leq " %format M.>= = "\geq " %format M.> = ">" %endif %endif %subst verbatim a = "\begin{colorverb}'n\tt " a "\end{colorverb}'n" lhs2tex-1.18.1/doc/ZipTT.lhs0000644000175000001440000000123012022734321014645 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" \begingroup \let\origtt=\texfamily \def\texfamily{\origtt\makebox[0pt]{\phantom{X}}} \begin{code} zip :: [a] -> [b] -> [(a,b)] zip = zipWith (\a b -> (a,b)) zipWith :: (a->b->c) -> [a]->[b]->[c] zipWith z (a:as) (b:bs) = z a b : zipWith z as bs zipWith _ _ _ = [] partition :: (a -> Bool) -> [a] -> ([a],[a]) partition p xs = foldr select ([],[]) xs where select x (ts,fs) | p x = (x:ts,fs) | otherwise = (ts,x:fs) \end{code} \endgroup lhs2tex-1.18.1/doc/Zip.lhs0000644000175000001440000000110212022734321014373 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt\makebox[0pt]{\phantom{X}}} \begin{code} zip :: [a] -> [b] -> [(a,b)] zip = zipWith (\a b -> (a,b)) zipWith :: (a->b->c) -> [a]->[b]->[c] zipWith z (a:as) (b:bs) = z a b : zipWith z as bs zipWith _ _ _ = [] partition :: (a -> Bool) -> [a] -> ([a],[a]) partition p xs = foldr select ([],[]) xs where select x (ts,fs) | p x = (x:ts,fs) | otherwise = (ts,x:fs) \end{code} \endgroup lhs2tex-1.18.1/doc/ParensExample.lhs0000644000175000001440000000042612022734321016405 0ustar andresusers%include poly.fmt \begingroup \setlength{\abovedisplayskip}{1pt} \setlength{\belowdisplayskip}{1pt} %format ^^ = "\;" %format (ptest (a) b (c)) = ptest ^^ a ^^ b ^^ c \begin{code} ptest a b c (ptest (a) (b) (c)) ((ptest((a)) ((b)) ((c)))) \end{code} \endgroup lhs2tex-1.18.1/doc/GroupExampleIn.lhs0000644000175000001440000000042412022734321016536 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} \begin{code} In the beginning: |one|.\par %format one = "\mathsf{1}" Before the group: |one|.\par %{ %format one = "\mathsf{one}" Inside the group: |one|.\par %} After the group: |one|. \end{code} \endgroup lhs2tex-1.18.1/doc/FormatIdentifierRedefs.lhs0000644000175000001440000000030412022734321020220 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format ++ = "\mathbin{\mathbf{+}}" >%format undefined = "\Varid{undefined}" >%format not = "!" \endgroup lhs2tex-1.18.1/doc/Guide2.pdf0000644000175000001440000117075112022734321014755 0ustar andresusers%PDF-1.5 %ÐÔÅØ 2 0 obj << /Type /ObjStm /N 100 /First 808 /Length 1277 /Filter /FlateDecode >> stream xÚVMoÛ8½ûWÌ­É¡HQ"µ( )šXY$»ØC¦eÚ"K†>œ¤¿~ßH¢í¢å,@4ÉyóÞ|PDa@1©˜Ò1‰€M"ÄŸ$¡HÄø¥IøeH†IAR)I,Àž×c cÌ$&’•À0$) EÖ5EJPh(Ò ëÉDIŠáAEÃ-HhP`¢À, awH: aK˜‘&ƒuÌø‹™DO0J¤¢8¢$J ø$:À7¤¡)0ðQ,NC«Ó_ ABŠxb T‚‰‰ðåy% B8Âìà…˜'¡¾ÀSÃaSˆ`~¤«;ºº)ïKºúLµK›¬,>ˆKúôir1—mCùº–÷îßËWwË~÷·¢nlžgÅê„I;ß[y/×lòÕ¦vå¨))ëÎD‘Ç(×vnó·c„=FZËlÕVîjcÝ낇í_Ë'vµÎjÖŽVUÙ ªÚ¢`*OY³:f?ìîMëæ%w'y«}žÒuævŒ–›mîž)·/H]Ý#1¹Ùl[æ/ïÞ;„ôº­›r“ý`à7c 1º­ÊE›öÔî˜ÿ–EÈf³Â= ¿;ìúõ€E=îç¬â‰Ý©­±¯Ë4oLa™ýúÀ;ö!½GŸè® @ïugº·ûRVÛ4ðvÒö~û‰K çxtE=b=d軫· å¹N}Rle7®©²?ÓâTPq†ª}¸ø^>\RûŠßcŸ 퉹åQ ¹ý³LÑïÿG¯oè—,EŸCóKâænmwYÙV8u@`¹t¬b´’ iž­Š Àú -föÝ_{¶Ü÷#û¥?-Òlœõ¾G,ÃCS,[œª8ª—廯óÅ“oyˆÆU¶›D¬›'çŠóîÉNF ãs!Ϭã éÚ1$jž«lµnÞw€˜I˼݌´´ñåpg»ƒ¼CqçþìdÈìYý^怔 ¤[fÝ=´³Ufçc_â«éؼOYú‡B0¨/‹EÆ36?íG‡kßÕT.¡í¤©·óçò˧CßwÝ2w/Àó¡~ty~Ú·ð¾ï¶6Ë,vï6xÔ8{FÀ`è“éMÏ휶„ÕÐ)7®pU–z)çZMrmó´Íû>{ÝқɽQ÷^[·+䢢Õ:ÍNûÛ¿Ú¼)›ÐƒÄkù,¾û÷ÚO®ßb¿˜,ájÞVeê꺬Nö™Yìl‘rOo›‘fCnn³f ÂõÕ—é_¿î¶Û­C?˜úÞ«ÔòÕüê%pÐ4õ!ýÇUsðÙüSr‡ñY§äÔ”kÚ½‡ãÚUÝrt+v7ólÖ4Èÿú(=# endstream endobj 232 0 obj << /Length 1181 /Filter /FlateDecode >> stream xÚåXÛr£F}÷WðˆªÂxzî󶎳¶“ÚJ¶6J%Uë<` K”¸Z[ûõi`@o•µsyBb˜î>§»Ï4PoáQïüˆŽ\¿ŸŸå£D)&½éµÇ@.¬§ #­7{ŸýóM<&“Ô/²úš,óÉŸÓŸŽÏ„ènЄJ†æ«¬~¦ç€p%›g¦å3P¹öAŒRõÂûf æuîÿ±3ŠÞHQ €[¢M0 Lýì%•ô:[×1‰Öyœ¥õ `à:4椱+Všã†pðΈÑÎï§0¹®÷^Äéר³ JYm ŒÄp1šjãi¶ºÝqº¨w¯²uXdëíüï껿¥q_±­ÿgÎ×/÷eü`üyíPÛ®? ÓjV‚'ÝVîÖ'Y–!¾›e«$¼"Ù= gds3ˆT0ÂAÚÐ@mâ$W>£Ü…\¥BQ"Áz˜î(¹ÄÅj)"é¬eËa†” À™cˆ×Ïþ>±Ì’$˜N,õ··ÑÜùýðqu¹Wƒr°]ªWaœ¼ 1ð(’,Z’y4ˆÓáJ"­KЯÑm­®"W'Æ¥„QèpÇDÌ`w ¡‰aФ9-¢´¨úâ°¼©·^xõOç®Õ,±Š©ÒÅÑÔí2 4:=¹Ê6Åaíö©²!ä@‡í‘D a{ý%ˆ5="Ým/ì+ì®Îíª»Z‰ð>Ì(>AåaЄËý®cËi^„IÒVþ0 4 ñ×#€Ì(5ŒGáÑTQ_<%Ùñ\Â3e{Ôå×à+³e(vmÞ‚»g7á¢'“qÍ@>PÚqBÔ­>þn%ZÖ'@ Ä’>œP>–PͬáK ÿà"ìøÚ7¿ôâ#¤ËSsw¨þë©NjÄt^…É ÒÃ9¡æÑôÀhz†ë“Õ§üyä½MÎ^˜,Ìr¼èµwÙšeé%¥l±©OŸãUxõ= #Þ®Dß‚Wñ(¯}¹Dšñ\û¢Ì(_dwûM°ŒÝyS,z-ÖÙ&uGðz“¦m ÝÅÅò!)+I9ä½––r&}5z61œm9ÇUD8AŽˆŽ4 £‘8îúúœ´=Nób›”;%DýÔã cÖ‚í«¡h«“Ù2޾´°q<¼M¢{ÇA¸ÅÉ#ïÕÅ%cü6K¶xÄËzÅÎ0)Ý—Ñ §›¼ÈVñ×–ŒçÕ†ý[õÄ>›µF ?VœÍ7³N5ï†#ES>°ã2l„¥\J£»ýÕŠé¼´áæ•x’¢J'$?ÄëhVàëÛAàœ‚¶>Ð1¢ûU;7ϒͼe¸<Xa†Qí> stream xÚíšKsâFÇïþ:ŠÚy?r#ÞµãT’r²$•ªu²@!Q’ð†ýôI3$V6©`Ø zLÏüúß==À™9À¹½æõ'pÒ™Süv{õýøêÝ Ô‘ždˆ9ã©ó(×G&¡3ž8Ÿ\îao0¸÷~ê/Tž†_Ôd0D¸Ó$]øyƳêû$LP¸*ÈÃ'• þÿXwÀù4$ ¹º)ª›:‘C£ƒâB²s¹ N!ô$¥1€¿$úV8b•mØ|óyu¶lqÜÏ ~*lho6t#žrˆq>WY{ŒR·~ZÚ8Y´Ì¢eíOIàG/ H$ð™Àc½uÉ ¼»Å2 ƒ0oñkØáD\€yoŽÂp¼i(ïQÍý§0Y¥Õ×0¶‚œ‚œ*› ªËY¾ŽÚú¤Tžq€O1£â­u‰§S›3D´׃Eá,^Ô ,¢„ð2‰ÖúH¶è´‚I¡{$ËëÝ=Ù™ÛMG¶½' ]žî ^ÏRè`À’µú:b[tßqJ‚Å&ÁŽ&O~Ô›[«,Oá—΄).&Ïä»bjÜ1AŒ‰û0ŸêˆÊÞÝ (uG¿¶Ú•õhwTTÒ¹ïµ Tàç¶ïÝ?F"Ævñk–m£2CS„Ü?BW¥šÏâ;­QXí´?éKvÚ¹ g©Æ¾K³Q™e ˜ÅX M@g*Ýì26ÿ±ùN;Ï ¦ü-bÁKµ£—,“´Úþ1;z™ ¦Ÿ“8É r“VÚãüͪHôÆE ®ÑáŸ':4¤oͨˆøÿñØ]†4dBW R/¯¥Ç±¬˜ Îw>Œ¯þúTU½ endstream endobj 283 0 obj << /Length 2238 /Filter /FlateDecode >> stream xÚµY[oëF~ϯл¨O5Wiô¡E{zAî¢ö§ªØãXˆ,¹–”4[ì_r8’%GvŒ¬Ï‹5š¡8äü†¤ãè>Š£ï®âðüúöê‹÷<–WL*#¢ÛUÄ9g†«(ç¢ÛeôqÆÙõ\Çñì«»ªm®çBdzb]_ÿvûãï•~ž –&)p÷ß "9Ø"a©í(n‘fx’DsÉdbiþ[?o˜Md4˜þÐ1Ô‘eÖƒüæÛî®y:«îwÙ†&zÑyØ$‚ i_ˆ>Ü ¶IùXtÅ”Ñ“Ò EW,U<L ÍóšžÙP8d\¸º®v´Ò¬³&Œ²7þªÈ·Ëš à÷YýàŠ‚^êªõ¼añ×8EgK^nÁŒ(å<5LÇpr`u«5Iúk¬c/Eb€ÝÆ5ë¼¼ÇW=«Û2G¦‹Ü•MñLdY‘?8øŽYV.i>èµl^\¢…UµÛdMã–4ÛK KAq˜]d%MÝ9š|‰ ÄcÑWí®Y»¹èÝ3=Ú›2a:ádJË4º.3&øÖWÓ—ÖÀ{²½Ùͳ‹‘Ù´–L=–ö}$uf›máÞÑÛ¢*ë|ÙiÑx?†Áª*Šê‰L¯dD?¤Ó»Á®X Á ?ß]}{{õÇzkñ>¬NXá·Ø\}ü-Ž–°‡J¦Ñ“'ÝD!ŸŽ£"úåê_=Zì9Ù¦\FFf$?ÅÈcPÝžÁU¥’!V\–k'«Vœ)n_á Äš²%À™²DË“f×– «Ï4{ÊàSl{1M§æÂ\;QcËÒT¼5ŠA99esÀüÍNÔ@ ɉIÑ{b¨Q%ï#ú-7» „#®)Ói è •¤}™Úx_¶79ëR¥C†s…Q”LäO/Y ÎbÙïþå;8?ÓëÑç\D8º¤¾óX>vônè¼à­›vŠàiÒ‹EASo”S×rUÂ^ì \˜³|Ð3‘ ”În=æØJ€W>«V4}¤sb©J~­s"^vNÎ+¡isÄNf߯±ï€s‹¶nªMþŸì®pìzn`9èÀCe€T›jô"E@¡-öOòªì§}‘Îã }3®Ò( Ág…xK»èl¥¥ ¥á¹ÈŠ›%8ÆË£ï«íw3†íñ¢nž 7%¶Þ7è°¯§Íìëgâ¼t« N©åÑ>™d"Ÿ²O†¢…\P¥#ÃQAP9Oj,¡žà£ƒ jÿL½"ÜÀOSj;©eZ&c/ ^”Ô‹RrV»Â-¨³yFƒPúÐK‘—27™Ý×°±Œ“Ù7n •$ÕM@æ $ ¢¬&Ƽ½lxï+uÌ&RJ¨ ?izå²’ŽH*l# X Ûz”‹üÑæMÈq–¹o®¥ÄeèZ5­øṄµq–”…>Þ.w¡­Ýî1wO”âtðvè¡[¥‚pAH¤Ìè£è£oiû©Ó’Þ2Þ­H ˜±Áëõ†Ä¦.fWó.]_ýB¢Ö¸"ô»OÊ<Ž;±G„nšÉZ!õ-ÍÈÍóÖa¦èvAh‘Ê^hnuGèg±™Ýµž;»PáI½u‹<+è%4p½#"+Î?¸g¸ÔјËú]è1C"âií2ðð]òYì3‡Œ¸-ˆÌÝ Ã®Îàqòq(Ï;C~=ix„73ÈÏÐÐHìà'_dE×úØëOå°#wÍê|¸ÈïKì]º«Ë{ÉàêzÅ3H¢³´:‚2ö¡>ÐJ¤/´²c­Ì^+;Û´M‘o©ø´{ż• hfGš°}z`˜ºÀ¨ÝÒÕSØ®9Sûœ¢3Ö^ݹHbÏ rïæÓ§b­:°õÒaðv,ö­N]_Œ5è¿ïv¹tûœ°%íx–-K÷tLp yî€Ä7Öë¢]«´×—¼6Ò¤Cm¤µ{mh¬M ðpXTOÄ|…Œ«@˜ä@§½#u~ÒÚð‰x§Ï1­ç\ –€$ýÑ'Õ¬Ì6a„`„Ϧ[¢tÈýåϬ¨«ª èþ¦ñsÕÒrä°ÜVÛ¬®Ç3Ç.lY Dħ¼°QÙ2èCˆì‚Å øY¬âÑKÌñ~ß‹&œ×}â$Àè+X4%%©A>J•f‰îÿZ÷ç'ÜÜBjzèlë Û‘³Uc\~ÊÌ7ŸNI9”ª7Ú ÕÕ¡Söé‡`Ѓ‡êRK0šâ ’¤ä$-Ðÿ¨£ä endstream endobj 292 0 obj << /Length 1848 /Filter /FlateDecode >> stream xÚµYKsÛ6¾ûWðЃ4SÁă$˜[’É«ÓCÛ8ÓÌ$9À$,qL‘ŠHZñ¿ï.¤H[VlW¹Ë°X,öñ ƒeïÎBß¾º8;ËCpŤŠEpqpÎYÌUˆyÁE|™ 6_Da8ûP5­)Ë¢ZÎ" g媙»øãü­RaÄxÂa šMcî,”0C.p°x’ Éd’ÿãÇ,MD0bî%FAÊÒXÄ(pÁEÂçÁB–„ÂK^Ùíœë™%Íø£]Ñ—ÿ¬7mQW }\Õ["ЇöÌÃp´:O"¦¥¾·ç±†Š¥ZL·¬˜#/“2oY1­D0b¦Õ¿†QX;­s¿¯œ:.o©µ¦±0ˆ¿@1ÃI“õǶuy¬€à,"Zã«ñ½iã %û |j›¼7ÙµYÚãKÒäÓ,øÚ\š’ýâõ^—¦iŠŒVÌêêkŠeGV?_›kËFŽíVq޽pÎ!ø±HY˜Ê>‚¸¡f#g¬'þv ÀöK@˜0‘ªC¶³(‰§Þb|0Í£±·ëò`Ä} ¾ÒˆÅ1ÌçÚ™©/PUiØLsmÞ*™ýUš"hM]_¼Í1Ü·hx$þywÓ“Éqã (šÚ’øýº°MKܹõÝ5õ.­ïÛm[ÀÝíŠØwjõrkÖk2?t{Ý)Âòä)>Ü>€<©IlMÙÔD9¤Ž÷!×iäºý°Ë®(óßç %x¤þËT9 Y›Ê>ÒƒõPò†ü¢ñ|šª»åj¢ª?¬‰1u|ÏÔ”#˜ü¼;{sqöý 'à´¾DZ°Rv¶>ûò- rè˜Lu°sC×L`ˆJ€.ƒgkì%OÅj.ƒ( !JÔ1±0ÆDé#¤*-Ö•ÓJt ö€Ã•*$¤l}G*UXÈä1n]MXšQœ²HÑ þ™AD³ “‘Ý&7­N›~`ì0ð†híc;ØêÙ»zÈVÎ]@*–g¸‹‡#ãœ3H• 8N9:aBÞºœ 5$èõÚ…öäõ®*k“7Ô×ö3 -Ù~Âfˆì(šÂM¤z6ñ³ ©XÈþžé­íc96e å@ñéQGå«sn7¶Êm•AæÀ*Ý㽃z@ߨmpÄC“«£àC„)Zþ|ð炇*¸ÒTêD_êÄýR÷šüõÉ….WáñÏ ]tÒB§Áa©Q¡óAúŽ@†Éì¶îˆX™KTïmXwðÛPÓÔ²~øØ¶¸ìe‚¯I!f»U‘­¨×UšýäS^œ·’ÞgÝlîT9P2ƒ^Ë‘…cñëİÕð×ÂVФóžzôž\ŒžvåJ=|°úÞDxî0\Ì8ÄsÐZ —-†ø›„*ÿÊ. ¿u‡qá MVø]$ |EOÍEÑ'•¿d«âÆ¢À0š½lšÎãèoW¦%ªðíÊ4D\Z‹ ËÈ/謜·•ûmem½½õVæ“N4„ÕÛù¼©×v—{èH"0q8à?L\Ò!“ŠkÌícJ»’#O\Ú\¹ŒN\ÚO+µ×à‹áÒyTªŠXÅç±¥]Á IÄ´^çÔîõKõ…ý¼à Ò ?Rë·]µ\eD´m·ñ"ëꪀûˆ}úTNŸ>­Ï'Ï·ë1pRÄïiÁ…Œ5ýÓ‚`Àjý¬G²ððŸ2“òÒ9Lå‘fÚ05yÍë[Øòþç8 endstream endobj 301 0 obj << /Length 2122 /Filter /FlateDecode >> stream xڵ˒Û6ò>_ÁTå@U™¼[•ƒ“r줜d“èà-ÛJ¢F¬P¤ÂÇL´[ù÷m ARÒPÙ_D¨ÑlôûÒà. ÁëêŸßÎon¿g4 1Š«`¾cD1h®ˆ2,˜¯‚÷áf†‡U7‹„4á6¿Û´¸,³l…«tµÍ˼ië´­jí²z›7M^• ÚjØXWõÖ7ÙìãüG`ƒÑ6¸Š U péئd³(æq˜—M›…çˆu¥—¬¥i³™EŠêðeYü ‚AM&ޱÍê2móû¬ØÏ@úðÅ,’T„{'¯á2-qÑdÅŒ…ٲſ€Pãªzp¼g¨Uþ¢Zü[ìo—‚^Ê;žÑ€”pÏ‹E»:[çM õ¸Gr¥õŒ%á]·ÍJà˜ÇÔ`â X‘XéþœeU®ó»®Î¦’šP-zÔY”’€3ÁÏë›Wó›?o¬þiÀ?R† ,-·7ï?Ò`›?”“u€F•–ƒ"øýæ×Á;GÊÇd&¥’u‰, SІ¹‚ªL‘Š?3Õ‘WN‹Ÿ ÊI’œRÅøä,HÀJb|jb ÐÔ$ ñ5†¹ç½Ï|s»ÝßZO,nwuuW§Ûæ’éFm|.ßç´á¨2¦>Ç!¦Òg$Ö:P‚ŸqÔÇ|“9ß5pû@pd˜"lYu»Âƒª5Š|Q§õ(åEÖàN»I[/«­§ú·„›¦–£Æ5IäX|2 ˆI†Œ5wIJ /E z¡þÊÃHnàwÈÇS°{›Bþµ)År´H›|é…šfΈJùyÃ| Y\R~œ—lîOÛ™å2\åhŸ¥ÍÁ ˆÃî•+,3<Ú– Ydø\W]¹ò }ÿšß;g< ó¤èü±èêŒèüÔ,–¼´¾d T!A™õJb•­Ó®ð²5ºçrƒ*ãÒ}Z¢v©ó5HáyƒÏÔ?×UQTÍu©˜ˆõÜ©86 ‘L?s*~^ª=¯V>'—©rJ€Šxm.ŽvÁäLEœ)ØysÀÿ½ùå§Wß‚Gò6û+b„%„ÝÞ>ú$Î<{w‡\<3™Ä}šàùSß¾ùÏ_½û{zû¶kj_ˆšMZgWi䟾iýúW>õ„O¡=!ç0?m»Ç\_Çî'ðyÖÚ|^ƽšæ)µ§Z•×—zKVgÏÔ«ôTã˜ðÄç‹7¾Uy1=­†#pª^ I(†¥Jâ1ÙŸ Íû©“õjJä*+«ÖÖ.¥|uUÐ@u52î† Ø¹O‹ÎõK°é:ª[Ö=Vùªôã`ݧuž.l“5ÁmÄ`¦¡üd¦±˜b˜ sñ´ä8Rzù'Õ £/ê¿-ßRøò­X¸ªºEá×M‘6¶2+ºf@m—¹Î¨ ¤Ë'Êp‹m––Mÿ^O¡écOTÕ9*(ˆ´!ŠŠ©!Ï5:L‹¦ÂUCk™­\ç!ÂֽРò/Üiì\ìgdìèßÑiחã¬ÊöË ¶B¨í`,‡Æ±ÜÂü5„¥ñ:—`O­ÉZÔc‚ps:ñ[ J'ÜÒ˜Á-']ˆÅ„&ñ5>Ñf†æß]}À»*ïéAè/8´ù÷†AfŠ8 îìÓ%YoÛÉ» ÁoNtHE ºüÇê±ÍeÕÚóÝrœàÏ8ÁŸMzïÑYVú.õÀÆîÞ\ÓŸr#‰És÷§jD¬Í3÷§ÏKuà¦äÉ:&]¼NÖqØž*F4 ò„Ãlì£ñ‡Þ;D  Ó‚9g%¢Õ;ÇO³H‰ðßðËÂ_à—‡¿Í" Q/høÒýÿÙýÎGJã™2&Zªñ†(â:L;U½—ø “(^K¹g×xÀÎÅ®*öð”iÚ}‘½ðè½{¶þÅ·#'ŠëBNzA0" ä;n^N2 ñ î?b Ù-qÙõ— }v`žð;da—.ÿHï†Rv4&D,:«ãFÇ ØZ%nŠ3à_ŽVkÚñ¢‰3s‘þw_äM{Ždœ8‡èIÖ^‘uög—×Ùê«kZ­ÏwÑK–¥ªž½Óâ†È¾Óú¶Â ux!dëѲèV.UÁV^â gj&ãLúe‹&œ¾²Wêù¢Ã+d ±×=ÀÜ™?DAílq±Kk¿Â«-¨‡Ç%vÞŽkHdÌwHšhˆО2'As,™0ÖG´Ï¯¿™—ŠH~ZˆzÑ}alƒÓnªîÌá¢ìjPƒPI˜Þ§yÙÅî­±Àoå5šº¼Ç)~2ÔÐïæ3-×?Ov˜ÀßÐ`¾wbý—õ]€‹ß^ßÀó[è›xq×±ÇOñ?Ú°^^ÛB>°k:(®^ô±Ôâõ‘½tdɱW]_€ö>ÌvZõ6-¸C-3ÀtA㳂ëy§:¿\üdSÂÅ áfYç»}È‹YYe­ýVTf~c“aãaÿ¤ˆÒtyë]…S³Ù‰«€½]s¢CßDù:¼Ïê£'Nl> stream xÚµZÝÛ6ß¿BWôÁ Ä\~S*r¤@¯Iàpè íƒlk×BdÉ‘ä8Æáþ÷›áP²äÈÞíÆ}YQCr4_œß ½ö¼ó­ÿHæ|`~i9s*ïx‰æóÀv¾­ŠC‹£°kì4.™•²ÛÕVS¬çÊ*¦NT^VåCþ¸«'ÙjǸSW²;7{zK'A™¼¡Ñ2m²W8ŒIC?»¯hÐ _6»¦¥Ñ¯S³MZîÀ¢§¢=“À#¥GQ-ƒƒðm¿Î¼Ã3rh•” ¡¢Ì%]”%L¨ä¹AÛÀøm/vm~+f>2€¸Ï‹‚F¨[‰'Í7`!›ØÙ›¦ÙmÈé~"mi9ˆC¤uú9#RJÔ¬ ¹NRÍÀÏ—´%[dľ8J1«qÜíšúÎ p׬Ó:»k³/›‡É(†qÛÇ&ºÜ$]GGBšx¶k:ŸÕ{žérgŸ½kaÉ"Ìn‹téM…/=0ëƒLîãÞór´ÀcÂ9îd©D¶X¶U}˜²XÁrÝ©1­?þ½ƒ|/ž<)%ÖtÌÒÒëÇgÍnÑdŸvYÙ’8†)KTøÜ°r0üùùæ§û›O78ðHôé×à )FËÍÍoðh“¿Dœ©$Žö~é&RN2®Œ‹è×›÷IýÈyÌ6*²Z3nô%¶°œƒ)“gpÕ±bÚÊ+síeUŽi'Ÿà*YŸr%X“"ŠÁOVSì:–$ )$Ê„|õýíÜ@†Þ|'M}É+½¢/霢Þ× ±H½Ä×ÜJÁ`‚ו²p™n2 ÆU  i›u1­"¡™BÇTÁb6+Èk†óÙÛjO»}^†ç:oaø>ÖÕ®;uˆvÿ²ÏÛ5ŠuCÕzøM@&D*å¤`Žaà J”Ž ç@\io˜'-KÀ¢ò‡©Ó;Wœ3a°îÌñPíügaªç2œYWá™Ò£@Hh³RÞ¦ÍÇÌ#¼4ˆ<„–a’ì‰0G >‚~®™NÄW!2Kb1¶l‚ÀðHáN‘BDòeY`I‚ùR†ËP–p„ßí±Š ¢“‘¸ÊP“‡€¶eÛP1ëë§€E H£›AL‡‚‚Ò‰¡ÌëÕ¼i…/ˆ8”!+?Ç4üÀp½ÿß•´¡?¬Ãf`‹BŽXS!'Àa½·€zôL…Êñ±N7ˆÛè& JÓ±y™5Ü #µ¡f©[Â{‘P¤O vÚ¹NúLi3ÍPªÏÜ‘Õ$&TÑXrÀ(mh‡GTX_•ßß&­4µû«*l˜!lõêÚPŠ4ÿbŸ‚æ6†¬&OêåÌ2xªSz,Š´üÎ9X-³‡ªSƯí2Dú²œdŠâ‘À°’`êðE_0µK˜‹¯ ˜×åÚËj%“Z]æ*!±ëøÙ€©!-kÙÅ,fŠåD.ŸýðC¼ûÍaüuÃ3t8³ýïð4š¤]ûk[¿/iÁwoá`V¯èe_ÕÅêoß=œ_®þ%pF®\ë+ƒ³Ö L…@œCK–ú|i ˜—TÃ-zyr“¶aƒ"ùœ‡AF—Øo(ìtÁ0ð0Š]q¼ÜÞÆ ŽœÜ±½2±!eb Ë7ÛPXÌVDðêÄáFaE}ë4Þ.h°w4åÑ7íóf¶þë|Õï_…o=Phl.|ÛÕLÎá½T—¥Z 8?[ J™ãuËYÃ˳G뉞þ}Œ€ÇŸ:kŽu¤Ê·GÈœÜX2£’'×É>(–Ðô¦KâQÞÁ2ž=w!2%õµqWÅPÙ[{eܽ.×^V›0+ÍUqWÅyÞ×ß¼¯ÿbà}¹þ—€¹ji¯ ¼Ê(èµM¼}‘m çÁz¬SVô'£|̈†¦CõJ@¨v-5K@ô-Æ$vÐ꿉H!@m¶ê j$g_–Ù6Ük›Ð¡rÔq%ûÒbÒ:‰`Rœ´ví:¤…Çõiö¿f=¶#àŸº5SÌ3Ì+‘0uÄ×2ÛŸã¦ñÂ¥_è[¿ÏÂd#:[~5îGß—:Ä}’’ñÈð`â¢7Sü@ßmկꜗÄôs†žÎõùC׫Jî:@ƒÑùB)±Ìô×$÷ë°þýqé@p$| dëî¼ÞLÇ^§B·ìÏâÕP 0|M|;i±‰è/ŽyLÈïÍ®îÁg`ŠJ3'c°V:Þ0Mà¡?ð½~Jûð¿ÈùSÖ°†É£±)øÙØD®Y¹:ÏÓ€±øà‡”g઄Sh »2®ÊxÄêʸz]®½¬pR“§p)ˆþ\\•Ðys‘œ†Sì|)æ¾l{Fñ™Øz _nµKhŒ\Ýe®/@c)5$+=jƒ•”] mF÷k›”á‡Ö“¾ÊO®s°ƒÌö èûôpRú`ðŠ˜mpɨú^ÄGŒŸö5…ìî_aIãïç‘´OSwñh!íÉ“ô×Ý$vÔÕ&î|W«!¹]¾„„ô7üÉWë$  °Í>íòÏ©ÿe®l‰äs7ÐËâÆ²Ø³²èTŽIñõS²à5%`E¦ï~…‰í*“Cæ´›¶ÙÄÀ» Í6[^2Îòœ‚ ~òïpñ.ZCºÔá.ÉN.„DñgÄ endstream endobj 317 0 obj << /Length 2793 /Filter /FlateDecode >> stream xÚµkã¶ñûþ %@Q-pfŧ¤Cܽ\R(ÚÛrùÀµ´kádɵäÝÛöúß;á^^ÚN/ɇ]‘Cr8œ÷Œ“è>J¢·W‰ÿ² ðïíÕ¿®8@’ˆGœsf¸ŠRi˜Ò*Zo¯~ú9‰ Xü[”0™gÑ£Ûºd*X¢R×Ñ»«\D›q¥B3‘›sha{Ârÿ¬*“Lñch5™f™ÌÎcUš¥ÆaýúæêOßpÁ£Œåƨèæ¦,ÏRÉr)£›"ú)~Ï¥º-ï«æ?Ý®\ÿ÷úçÀ­<¡nËÖVÍ5@t¿|éßýýz¥…ŽßÃþø…s¯Nu¼;ôïúý÷ þòÛ²®Û4yl÷uñÅ—!DHcÙ…3–½¹ Èâó¹vN«‘ùç¨# #ÑQ†„ᱚ” á¥ñCSWÊë•”&¶ôùÖv€M4Y·Û]U—ûëTÅÀ7©³¸ÞtÈDŸÌÑK 6Íàv‡X {æ$(–g|Øqã8¯˜R&Z ·ü‡gJD3ðDPÑ–š¶÷4Úý5ÏbÿŠê޾·m¿¡Q×?Õá֯ÖU_îmïÏì‚ö~o·+wûŠ+ øº¦åZ{ýªšûë•È’x¼Q¤y|èÊ‚À¨~é7%:»õ›Þ'‰¨Kæ¹"Õ‚s9Kó‘s_úï80OÉaÓ ÄŸºÇâ=Oí®™è¡#‚=E©œ!Í©®Û¢ ] æ›ñtØe›"„ŠçÌh1ljÊÇSØ”dó¹> ‘€jŽ ÿ*ô””™L<çËðEòQ¸¾ˆæ±Þtë‰&‘îj»vz†+OþÕ;€Á#ׄ֌ ½äÚã¦Zƒ€½ÇÛÒ6Èh!€¶' )€6ö¡$HÁAª¦(›>ø$£¸à_ 6 Úî²y¨H„ÍðvÃ%tië– p4 Öôvg¨·öº°+÷õ“·×,e|Ðï1èŽg&uÉôh²Æ…C(€KŽïÀ?6è%”ŒÊý­í«mè­Ü;™ðÍu.âòcOçnËþ±,œëÛK3±a4±WÁ+˜Q£ÙÌt×ÝAÅ *!÷¨ˆÅ°ôqÒr ·u»þ@@:ün›Á¦Ù’#ì*”J¤ÀýpìIFö0¯™ˆ¿»£-NÃpäl s³GÛôtέk6½ö?„~ÆÂŽúãpïv¥Ý´úµ'¸ aL3*®zoC4Ûè¥5eY ºB:áô2õ¦ ó²[Û]Y¼ =|+ÏFõ|$ÊŒ†œ“™‰o6å^Œ“ ÞÕø»‘œ%5DEÐR!G4*;ËGÈ"åHÂýeɌׄ8mé‰iüM»÷ øh·»º|º|%Àkq¤C¯ª‚ò/Líðké³úÊOƒD¦;q3ºZ'ÖŽlÙÝ7ÄïDêqéÎЕMRM² ø çv´ÔA—1²/„›ƒqéçî‚t«¿ûpç§}:é-æÎ‚'ÞùK4rQÝ>]²†O'-PŸ·ÀEZë,ÐÌ,0€4‡ÄrÔá—ˆ-~ÂK>%Z~d›À™qN[fOü"œgC²+±(J\0y)9“P(ÎMþ¯Õ¾\÷ÕCÙ¬aJŽ>øuÐOƒµÈQú8‘$N9¸OàdNFÁì®…ÊöÑi@)AL†Ä7‰*D` !¶¡ù©rr<9ñâ÷(犂rBàX]õà©å= ,Y‡#½2^pÑÙQÆkCRK¬ñ-Å ­à›€ÆDÎszWAlí ÖÊ=ž,„Á1ç‰ø}—’oÁ¯ýàÉÁf…¯mRL¶*`:‰$Gýô\v:J;Æ&¸¦}u[úׂ÷÷U0P ÅË‚ÁEÙÛÊçÑ.LÀ÷]éîs­êbìï#üóíUô“Û¤ÝòС8e`CþÍé¶wë¤Æ0´Ý‚H‚V–k£•½kQßgÜljh÷cuQЪg!Äιëwd XA¹ÃI»^öt¶Y—ð·¢cÁ2J9$kÁYн… °ùqÓC'Çï^úvÁ¸ßí:WÀ¯P=f`'Ÿ:!dL>Ç%Ö]»–<еòÿC‡5B´œ9(†4|¶‹½*ŸØ÷ýtò.L‘àDNîZ {ds2Ç~δí3PgpG‹R6ôòÓ”¯ž«—ld¾br¦õQû鯱AòIoÝí¾¯Åg}že-¢Y2õyÎ*IÍ¥ž†€p5U«—ôDƒ5O…ëdŽ@®«;%Ö³ÂRúb ¾ nââ¹gYi0ð›07 mÏ]»vÁÞ³ú™ÍSÿp}\Æãàë3HRþ‹4AÂPžè—øËF§ “ªéKßôÚQ›€.òsq2¬CÈTòrt'£S6þ;n"‰7‹< mcRiP™µh€gOA|ÛËe˾E™%eÒÓ>ÊâéH¿ÁtÝMN½7‡œYÊ_ñÞ N!œ$ŠD±@ó$ñ ðã©ßPKVƒë.˜@þ`’Ñ^ŽOQÄZš°#¤¾éI`Ÿ!ˆ:æ¸NÕ€î,1#=)¨fþ¤Kç7ØÛ–r¥håi[ØÍÚv¥Suô]×¶ë*$k(‰ÆRaÙ††RÁŒ1lWÛ!¯ÀÍ Ÿ.r™¥-”¨« ò*³"<´ßÛê~ÓJEöu¸ßœ×!Ìè̯Hè.˜ÌL…8D)ü=‰ ŠPHÅDæ7+ôlIÿà[ûsªÁÉÎÎÑ*{nè‹;R65¨ˆjP×ÂŽŸ•Í©6,ÿ7ÿ8ÙàÀÛ§:¨Ï+ž¦…Àîº$pÌ`+Ú) Œ:rõè@ŒŽK‚z‘âÈÖ†3^f0¶/ý†–¾pö€2ï=¼Òrá¯êêßéøß$†gºîÂ,xÙš"@¸ ÿMIOh ?Ò'ü×5¹r’ßQ×o†eg÷ $‡Úú¯å¸äÃ#ä‰Ö'ÓO18»-C®n½±Í}Y°…FšÍ3É4äU+£˜Ñ>ÃIƒ{ßÜ\ýó»÷ endstream endobj 203 0 obj << /Type /ObjStm /N 100 /First 894 /Length 2452 /Filter /FlateDecode >> stream xÚ½Z]o\·}ß_Á·$/\’óEF%Û Ä~hkˆ,om!ŠVÖmÜ_ß3\Âч½÷ÚÚ?˜¼W¼³‡Ã™á™!K*!…’4 ± hr 9ámÎ!³¡-!W¦À¥ å ¢h%hËh5TÊ«’-4óç2þ¡ÓB.Œ‘©âMHÁë9Y¥¢C![ó‡Üâ‹#Qÿª©«R‚Ø?Ç8v9D¡hñ£ã  B È á­ ^¾ªŠNiŠ ¤ˆ1×Âóe^¦@Z1†9P–¨©w4pNÞ1L›Ì90¹Tn³-’«x'¶æ¸‘­ŠPdø-@WQ B º®À‹/E‹wjó•¤%ŸS šÓÑ4û”µ¥5cœ2ž æ¦ê15öŽ­jÁRñÏk°¬þy FXíb)`¬º¶‚‰ù›ÌR]£`³,Ækâ 5»Ö!´º°b}±ñU-è4Èú*c)TaÿCF§B°jœV’jÅïLº¥|BsÛ‚Åd ƒ±´L°¨æßÃB` Ý:ø’`ÖJnZdUð‹Í0sŸTk®††¯„– ]R‚)¦>˜âÛ÷°rÔí¼4'èÁ4ðÎ?Åš®È­?)þ÷Ùæd°Ê.¥bæÈŒÛ[»ø»æ=¨„ÜÞaùøÖí ôwø6“› [z&“Õ“'aý,¬ÿ²}¾ ëÂ×7ï^ÝlÎvçÛËxé›ðí·«¯ºÞ^m¯ýÝéEøÏM ?n/·7W§g›×ßÀ{'ço.Û\îÂéåëðïíõo§»Ýùå›ðßóÝÛðË/x|ûÕWáf÷þbó@â wþ~ë§ç»—.ïÉ“Õúùû«MXÿtúf³Z¿½ÜAø 4ÜG®Ö?on¶ï®Ï67Ýû«7¯ÏO¿Ûþ^$¼&±ÛçXÛË$];>WX~ry¹…Ä=äø¯{ÈÙ·2Z­¶Ž¶íÛ’F›G[F;ä•!¯ yeÈ+C^ÙË{¹º3ãŽkµ~öîÕ®?ÿýüò×Õú»íõëÍuŸYz¹þëúoëï_äþàº8Û…°”'ÌÙ`/£ÂæX,¦Œa'áÁJŽeÌ}‹¢P,ÍãxŠ ~Ê$1µrF9"Œ"QÁ5ÇìÑÔ•èÝa‘}Æv]Žª’…Z‹n#ˆ=Q<ÌÜ4–ôBÕ¢Çoà‰„Á±!Nc¡ã› )0!†"lÅìAÌ,"€4•%`0Eq¦Á) \˜D"µÃŽÃ ¬ e¸¯v­ÐM® /b¯¹ANtZÌ ŽLê4”%Ì5Z(¥a­ªthØŸ§±,`' ØX_c'¹Ôƒf"  PŠLl6ª3@“¨‡}F¿. ¤Ñ@ßÀt¢óûŽŠxj]t‰Äû˜ÂGsz_éðÂØ*Éøy§À 8=¹h±ižR‰-áÁ ¢Ñ¹jqÏuêžkLI§±ÜqáÛíÿüWØ+œÎ#6…Ëw/?=6ïÇ’FEZ2k0Ò–ˆìçÎØ§`€óÓž.‘ ˆ”Ê9ýþ!'ÏÑl»Ï=­>àž¦äžepI\’‡äÁ!ypH’‡äÁ!ypRrdÈ‘ÁIeÈ“!O†<òdÈ“!O†<òtÈÓ!O‡<òtÈÓ!O‡<òtÈÓ!φ<òlȳ!φ<“£rãáºS}ÿHͳVb8ˆL;ß9 n„ •@Œ&íÐZ›F²å°”}7E¸€vÈ‘eìl3´"ÇÇ¢ ¦=z‚s }PðÒd3Ô²Àæ¦ØRS¯ú w€½:4äÛÓXØUkN½Ä=ulYg襣UD5'Ê]-hr8³« hûªGþ’@9dª´É½­.±Ï*ö|¯(!ZdžHæØˆó4–¨2RþØ«Z úqlTgèe' §äÅZ­QÙÓ ½,äY7g/Aƒ™ull2e 'ˆnŒ•JΛ”i( 9„q¯X¹½ììÐDg¨e '(à%D¥3h‡¦3Œe‡ü?Z¯^åN ›4 æ`Œk ($Ã>ü\‚S¬6`MW¯Ú"½V"!߬ æhà v8èç´@=¯¦È~¼Aˆ°#U¨:¹'cK¨D4&?yò ø+ö[¶ÃJY`ûa&0ÉŒµ‘n.,ؘۤ™xit0´·“Æ=Ü2{•Dg`Y¢ú[<÷#=‰Û±¥šg€Y`3ä„ÇÖ“¸ƒËeŽf–¨26ýô‘¥y-àò‹Y ”E†('~&‹ÕBö¶By8Øæ%ŠŒZ¢ +GÏKW™áFËxE­Ò`Ž¸Ì³„f¨Ž}|ÎO<Åuh˜%êô)!wËÍæ‡ŸÀ6s—¨7PY­ˆ¹ý䜒bcšØyV@ `'=ºøáGùDöôêjsùúü÷x²@©Ñ£šß¹`¤e~Y¸Ô&O N){2¨²X %Lž¨›𯲀ë E–üÔþÜnõÊÓ4–v R8šø¡2Ï,[Í3ôÂ÷ËÁfóÊÁ·«¶·K³wk¸ÙoÔÔÇÕf+=¨ÍÖ/ºpk–õ3ŠÞunÑû Ù·k×xrBS?èÎï&ÕßyA¤ÚõÚÞ·hé‘5ï:jµ=®Æ›B¾eå~ÓÀËÞˆŠð~ë1~õB‹ùyîG­üì|·‰W§;¿±ò‡» %#¯o€"~ëÁ0kîGRš†qÊÛÓ³_±÷Ý­åù†xwìÄéËÇ+"xØYƒ% B¬ÎÜi„Ûü6Xãã™<¥üÐäÛ#M¾ãViò¾Áy@/~†`ûÀn§!ùúDÕ|oòÛ‹÷»ÓW›ãÙ<|?Zù€E`FÒ::`ò§ÿ{q~³»gó~ïq[Ì-Kx4ïZÐ-Ãûb›±û6ã×ýµýøù^oìpd÷Mâyƒ…¼v1S²ŸBˆ´c,ÄŸô-凫’?kU¨È=Oör­C¢qpMãò ˃Ç:°¬¹r`?\éå¯{Y`¤ÂíϺmÂ(~§‚Sê¦Äpj¿}íW׸Õ?-E/0{òÂj±_jîWÄJ¯¼M©ã˜ †˜×_ýôÜ“,ìë§£úTuøã9—;Vþ ÷ÎuoîG³‹ŸŽÁtg f[Ö™c©õƒÉYƒI‘,CaÿLÃÂW endstream endobj 330 0 obj << /Length 2613 /Filter /FlateDecode >> stream xÚÕZYoãÈ~÷¯Ð¾I€Õal6 ì;Àf²‹¼$1° xŒ€¢(‹1%2"5¶ùñ©êƒ—Z¶<Ö Ù›ÍV±ú«£«ª`ò0 &Ÿ®ûüx{õ§?Ó€O(%q²Éí š”H*&“DÆtr»œÜM¡d6ƒ`úSºÎ³/ùöa6ga0MËMUdÏæ¥H復ÍËSÞ¬M«Yg¦ñ™1^•ÅžÂôÔÍ¡Èf÷·¿"Œp“X2‰(‚Éœ*xfüÛuKÅ{T4&!€X!k/Æ ÜQ™!çLEÓ*Ûmr^6û¢É+÷SRäÛM¶u¿&Û¥i4ë½íÊû´ïUY×ùÂ1hJóLËmÝìfjºO׳™#ÌÉ\0¢ª•oe0ÊŒ¨S&¨GB+@w;øØÜƒu¶ÌjóÞœPRDI ˜““€]|Z I,±–€­嫦74X§'Ó¿›Q5Í@àafKb§V¹ß™F¾­öd¥ƒëÚÁ zðÀL´B0ŸBl)n5A„€Šp˜eºÿgÛ¯À¡zÝ¿ß`ÿQXàß§«Ÿo¯þ}…Ü‚ mCŠ ‘"𤛫»û`²„Z»Ošt3ágÅ)]Lþqõ·6Ruœ‡lå`IL¤Øy Ïà*'B² suXCN §¯qg‘±5ÁšÑ ÆE Œ«Á]b€* eÖ[¾æÕlN™„X}s­œâ.¹‡èÍÂéüƒyÞ-ÆŸ.¹^ÀƒÞkc6ÒÙþ0 ±ë7íÜz dð™r‘†‹!ÿ{üs#0psІ¡cׯ?XÌ?¤úÓ!îä~þ¤é)܆+Rí³¼IjïíZÜ,ú]­œæã¡`7–㈽&¬-eý* Ú¡àÉe¶O7ôÝý@Sv¶UÉ®É1¾Îæ²Çª*ècY^µÛ:¯á¯oŸ>ðÞ¨øEeÏ ¬T¬ƒ Ám¹3¿ÕY‘aÖkþ÷˜g£ ÅcñžÖÙ.;fòÜñjêë•5ƒP7ýUAÕR f}Õiæù¦ûH ÓŒÇÛ‚õî)¯³ž/8>Àåù¦ãs*ê¹@òŽ)*’`0E¶”ÆßLmÙ×þ-W  ]â¹]ç6ãØ¼%Rí2Ϩ¶ëç4¢HMge˜ì›.„ŠI Ø…“Âe¹:¬\AH=ÕH"æ5%ÇIA¨ˆD´½Û”ß‘BU@ƒØåü4ÝôÆr îu3Ð)ÒÙwîçþè3Ž ñ|õB[ZÜ[Xn´!át?x8Pð€ðuí ô²( &|x"º²1ñ©Ÿ÷+®k¿L—/É$“íÒÆå.ÞJ7`6§QHB)û1ßLÆ[l?úØÅDÉfµƒ¸ÐVé}nªT§ÙžÂd0V‰–¨ð ö—{ .9T«•¾!!ˆ1öKž2!ª?ü˜ñ©Ë.ÇFTVÀ9§ÔÿÞyþ’JÄX%}ÝKvë±|,pm#ŽT2ä…gðhM“ú|ŽD’ Ôê‡wþtÒMÔÿCì;Äw }çƒH½š;'ôG(Æ"Â¥:®˜së)ÿÕgîXYïžÐ!Ä=ÙÍA‚¸ BµKS€Žf´ŠO‚YƒˆÍ7@%IDç£ZøQE¡•7¶SIXÐ¥¯Fí£€;ˆ›uáù=&5Cèý¥È-`Á ¨…8íX_«ÊªIXNAõŽÇ 5•€õ=o‹Ê>‹H¹÷°P0¡¾„-çzVc0ñ,ú‘U ”ËÇsºQâÄT²ܤ >^ÂýÁ’®b}A æEsþøA~¨X,îή,ÇpÆh¶f$ê¦÷µ7{*¡Î/·_1gâtMÃp@D'÷04Tæñ\_ Zµ{ÈÏn/xàÃê”QA`Îq¿V½’oЪåô’j`öv «•lׯe1ÒÞ“ž¿úFï}‡Óm{FaÐ ZYÝŽ‹V·G *ßV;7µ?«‰ˆŸ_<¯|¦‡ó·D€ù4nµ:-:—¤Kb6 ŸLëž¶iýÙ¯Îãó³æi-Š hñµby®˜Þ¯¸ÙëÚìvÒ.©Î‹¨â69_¯í¾cè¥}Bd½Ìöö yD»#‡_V³9×»„jºßšv¾õ¦APêœÛXªÁYÚ5ƒ†§N· øW,zõt‹<Ý’þÓ-Ûý»©Ò» årŸâ‰+ñô¯ÝHPóGTÂú[ 'i'ÉO~@\ÇìŽìÛP¥å23­fF§úP_6É£F Í}m Jk§î¤“öµ^NânÛ­Ó$ ÿùüœ3 ŽÄè¤2I“4–#\/ºN|‘öÔ»×Xëc×"˶¦«®²4ÿ,M ð ýë2«ó‡m¶4xʉ½HdùèhìÛf ¶¬Ç%;|ôFíÓ:Ç“UXoBA°Û$M£·¯ñý/Iý˜áI1¾ †Él³_'ííÐ}(÷¦‘˜Ýqó’o›Ì‚#jÓgž*6Z•àK¹s¿æÛG×Lšbkr}å@‚qó‡µm.trÑÈ«}aúVÈ:öšfµßUeÕ×øÊ xìoÁãËSV¤åÆrÔ'ÊÐY”壥µcÚMÿxº,Ó=þ'nM1V1"ñyZ!Iœåh°œ£R *Ñ+ oÁd÷01¿º‚Ÿ¨ýÉ„.ÿÁIÁüE ‚pJ§Ë/&,öÆ.Ô]QÁÖ‰¸‚§2]&û.q…ÝÂ@G0tÀù‘ŽHµ\ùpà%®øÔGOÎt¨÷d½c¢/sã6iSî÷¤=RÃïøôcv(õ ’˜[ÇF²ü’lÓÌv÷/‘ÀkYé»#×ÞÛ°°†¨ “äè2°ÖAÇ YŒ ­ö[}gÀ4 dežyc·#ÅAÖˆ‚ÔM¹ëÝh"Fû¿¬|"Djøœû$ÑÑ}¼WUîkwæf…Ù|ݶ,Žu¹/–¦­€>µkˆÑ<Æ£"°³Ìž‹ZûÍ&Ù†s Vm±y|"TcÁŒ‹¸u£6ƒ¥ ÀøÞ9Xþ%³âv¡ sÙ";€ÿŒGŠuìoƒ—‚çæÆ)†íÒ€¦Å~é…¶¢â»cË·E¾ÅGÓ/Ùn1xcÞðÐÊ»is¨²:kLgRI1Gs¡Ú5t÷{ÇV¹Ò"¶×ß°Ñu-Š2}¬}A¿§Œ¨ÁB Žh ¬‹|Øšª*wF͆nUn›k—×ì'R_Ëà_žºhZ6‹Ò˜ÆÞ¸23ze“0FÆM²=kµ©^{U•í˜Ë5¢óx¼Áƀ‚¹=|Q^Z¨ñÿ ¨µÑb endstream endobj 337 0 obj << /Length 2228 /Filter /FlateDecode >> stream xÚ½YÝ㸠Ÿ¿Â0ñÉ’?·èÃÞa»w‡{h{´Åìà ØJb¬c§‘3Iýã%$žÝéÞÇK,QER$õ£Â¼Ç¼÷wìêûíÃÝ7 ™ðò Oxâ=¬½'Ag^ ß$½‡Ò{ô?pž,ž~ìâªx´ [FÌlYW›f§šn±ä1ó ÙPc¥èû1¡ÎÕª¾P_ïUQ‘«ò/vI»Û×êLZ^Úc§©#‹0ó-£}«5°Q7¢Z’lË0 ò8þ}öµ¬¬ :[­*íDÝWª¤ö±)¶²Ù@x“´+7‚ð(ÈY ß<… ÞQÀƒÅ2fÌÿvW}ªšÝkëìŹطõ¾‘µXw!­¯åf g½ˆ¸? ‘&þº­ëödXcW%˜:¥Úµî²Sš(ÝVv®e'=Wú(kjËý^Ƀl ;Ö®é;•)$§i‚½@^#àè Ю‚‡~ÓÒ÷$/Ô(«¢Jê­,µÞj§5ûlQºóâs–ÛgýŒ# ,Šð8!¢¿³ô, ½ùßxD\ 9û¡4rÜÑêYŒ… CŽYÕUW›©³îÚ²Z[uȺÐÿÞ;³ù2äYFS3ýsîï”l_.Èè@Z·‡ì::Zè—IUtÕ³Ò x*Rÿ{+÷ýbñÌ?)šÛ.Ä̇ü«]UØ1#ŒÕj#‹ËàуIE˜ÏœQ»nÎî! â¨%ç°Á3­)- œàDëŸQ‰¶1ŠGÇ¼ÃÆ£Æ?ßßyK.˜ÿ6à“HÆèfq¸0ƒh7.B¿Ø¶­¦Àª¤OwÙ«Ó¡êÀ6¦¿nMÆ‚érCs›’Ça=&ÌÓr§ˆ¤/»U[k7.;»ÚzÈØó­O•j-µK&Íœ}#ðÙ<ü¼y!•@clÝÀ˜#ÈÀðóþîÝÃÝ­ùBˆ”0HÂÈK8yzÅîîñ‰y% ‚„È3ïd¦î<‘ò€A|0¯ö~¾ûGoàó”m /Î\âslzDç¯àe"ˆþ;su²FÀ5_àšãWléÚŒ¸‡©s-¦  D…´Ás:ŽOÕ~±„LŸäþ›7AâÄ”O؈ÁGEhI«[Ɔ¼§Î Ýù©w!RsÌ?Üÿëb™§å_U·uübö…LZ>×»ÜlbâÆí#‚4ý>Ä5_t1믙®Üb¿ hœ­&¤Õ-©xIm§dâtµz¾!ŠÔãcfÕ·²¯ì(ÍÙή›èa™Ím)µcõE!¡¿`ö…̇ß8ŽÜÆO£Û«{/]eÒðåáÌþmÛÖN߉'Ý×ù¾Ÿ09ö‘ # pæž–ŸAí4Í'= ‹ò@CZÕ±)i8ȧá,ÎîO’Qø`+µÛg´ý .[‡q&¡÷c¦}Îmz4ì´Up­»üoª ÜCI£"NâóÄI,Øñ@e±¹ò&†²l[¸§EPGeĹçuž8ÖÀù¥Œí’àoHW/eA¼­€Äõ-&—½ãš"Ü#Ê™œ/ „CœEø!­sƒE[*Bd3ÒíÑÜ£…€¥BmÇF7,#¢±0Y„¹ó“¦‡'q €à>qÓêð¬J€±i/ø¦Añ5‘7ªQƒS ŒáŒQß‚7žåF’ ƒW@> ïoyÄÏ\Í£ûšñ0Uåî{È* XÙÈûô߆¾àšƒÔ•¢Åo6’fZþÅ<ÈÒüK #ù¤CÞ'ûŠ4Ø % yO<ÏM\¨Š"~[Ÿõ¥ºL_ÇF6Oê±W.­XÌÖiìºB¶Bûû¡-Oë±Ð:™LS³á„¡f#$i‡ušŽ+êוt˜^xGyj©a›ö`{è ÓöP%…<|ÐWÐç§aó4ˆÓÐÆPÄ"ó ¬›íÞÎWW"O@ÐaÚPb%/”X|RbYMÆ¡} õ{û~¹µ?n¨X•,gtžQui+«<8ç×(š!¥ª>ßKýQÕ5uúL“RQ4Ö³¡ÿʽK·í—[ПZO„/?í¥ÂÂd;5vo¬{!yú†9ópô²470nªböª¦¶¾5{L¤³ëZŒçþÁŒ Òûku¢†:Cê ¡µ’ÝÑæG ˆ(óèh–Üïk[èæÓ‚ÖM RÐDD˜ªbKóñyÈ 7M&‡DP|™'–LÔ…]Ѷw² sÚ±¶¡¹Œ@ÎWŽ],ÃúöYÕ&7 £@¬:šìò»å\W]µ?ÈÍNê¹ÊŽPä®NÌGû‹Ü¼mUµêçP­EyåfX#Su(l"‡¯:švéNi ù_SoßVMgKT›åÇ"´‡jS5²¦½¬_Ï<Ȩ¬PQà…6àîÖ½»Û”­ßd ‡fù׼ɼ.a p²áB%5/u3!’° û:ù¥ðà€¿oî5`[¶ê:¦·ò4± x,Ø\—u8V†âêAƒ E7D}Âü·øìp?'>À)–f¯?ÉúYFª$…è¨óÒš$àIjJK0BŽ dtI¸¢ÍƒÕ…ÆìùB ð=Í*ÛâˆH[qÿ³€Z¦=’–y¤I2URoÛcížFõlꊜwÑ>“¸• Î4@ˆÉ3p0·Ã.Täp,A ïÙW·³>îvòp™>%…à Qô[žŽÇÉ·™&Ù'm@™6öÊ?øU`!].²ÖW¥jŠúXÎÊ·…IõŸ ›ƒV«º->öÐNv3"õ §ÿ¡¨×œø/¾ÖÿyÜ;ÛËÄ"ÉûYnÆGg4¬(²‚é»…ËJD(ÇKŒôëÿ•¸Š1€Ûýi.?Bªÿ_Ä´+u¹:ÃA®8 p·euqh}>;Šî_ñxǰ endstream endobj 353 0 obj << /Length 1991 /Filter /FlateDecode >> stream xÚÕYIã6¾×¯Ð%€h3Ü)å–Áô0‡™60:9È2m­Å#É]]ä¿Ïã"YR©Ê*wu¹XE¾õ{ i"ýr‡'OÃ~~¹û‚$á‘bqÁ£¬¸ûôŽvðñ×#–Äѽ[ZDLQ„¹‚q}¼û×U²1a‘¢ÑD>G–c”ˆdU3Ä%}eª¬B DH|…ª;ÅrBöo›»ÿA(‰b”Hɣͨ*”$ *C cÑf}Zý`Ê,?ïô»?6¿Âz,ëe‚ýÊnáš ¼JýãwŒiÞíñZ‡Íë ³g¶¯ê"m¯óòëZS<Ÿ©ß‘x¥³Ö| À’ JéŸf§ËÖìuýcuÒuÚÂ÷ÅrýïºH[}0Sµï9Ïpà1Å»mù±¡ýÛ}¾Mh·ðà4¬Î§Y©‰ ˆªd"öŸ×ÅÖån‰Ð,AìµEæQØ=9× ÜßÀ¢!ÌÚêpx ÌÌþ:V7c&YUîLkªr97z‰6–´grJëvìžmš¿„1¨¸ö?%C‚‘Š{fU±5¥RÜ›ö8ÇLB6•ýoE‹=ŠbâN{ þ¾Aí¿S*Gd§Jػԣ>ý7]_²ë’ƒë3»i/¶9¢ŠØ”ÍH:Ïg (I„¸M6ßåÊÕ6¯²ÏN±jiëg"‰UY…Ùæ¤3c#KûœÑ¯}oßÔ*ÝCšðûÒÓ)a+'a,&Þzï<‹ƒN²“òd\=çbu.30ÍÁ¿Ê`J˜÷‰H[©¾v·þ[ê9tþéNE˜5ે“¾µGí?Tµ6Ø%:xkª³ãé‘„Áê`<_îF©Ò“r¡;L83g§žò´kß[ÈÖï;¬ýƒ(àzZc„1#êâvØA ä+ÿt}D!ä;ê}og+ ]7~|1¼@ÛSù÷°ÒÏÑñâH-XÛu–ÖÃcÓÃê, Ûª,;×a¦l2qeU®CX)æBÛ¦!Å`a®iý†îàFiðúŒÀ‘Pñ>~~˜ó™@”õ>³±¡’ß@ÕûJDá̰°PÁ68©„¦䆴V§™Mšðø¾3pÈüŽ}•çÕ½,°‡’+>6ŒKzÃäãz—ù¼4ʽ!àOù¹_rÓLÎq§ªµ÷]èq8[]ÀËV´a :ÿçh\ó€ÙS¡Ãí¹ŸÝ9ê £“©Ñ±Å‚kR`äu/ª/A¬5²œv:TC™ð<¦á“)Á_¡ò´zg-Hh¿ì©1ÅɹÐîéCƾÓßkHÂÝ!ŒPÅÒIDP j¸d ï@Öx"A˜¿díÄ–v?9.Æ6Õp~I³ûª/ñ "ÙžË%Oczq_Làšf™»²]¼²œr'U®0 ¤¥<÷†´È­Â‘£ö§Œp&)tÓ¤ÝﻞsfêÔ4=‰®t©ë4ŒN1mom™õýw}ˆüàß¾Á…æ€<êzmÑ„^Ä?Àà§àÐ5.z`ÞEϰÁ˜ô©ác–?U_ ’b̯F ý†¸.«û&tOÛêÜ"ëòdõÏ´|j#BÕñ…†Å€M56ìÌuæc—鯮gÑ»±ÓŠjÔYè65ùxEŸÉ|bìφåéO϶Z`Ê„óoiµ>êÀÿ£gø z`‘œ;3õGm«ËLq‚ã½€C~ê{àvè±XŒ‘áÑó-§½¿Œa ضh®õIª'ô瓄Ȭ9›kö Qú†!#ö öœ»¿Üb@?MÅË ûè:w¶ì&óB'€¤û«äÌ›¼BÜŽþÞ:!NèMAkÿäÃo2‚o2ôw䂱á? Ø$“Á9c†Î¨öÌ™S"r‰þE„šÙªBc$ù¢4_hÿ0df†bEoÄ:duAÞ®Fú ^~t¿(ëÅX½!àÙ+˜brë¿hööÖ‚[ èà¹B˜‡÷'AÙ=?lîþä‘-Š endstream endobj 359 0 obj << /Length 2513 /Filter /FlateDecode >> stream xÚµZKsä¶¾ëW0‡Tª<0ñÓ¦j³YâÄ«*;µëÅ¡4¬pÈñ£Ê•ÿîn4À‡Ä‘&ëÙà <@£ûë¯ÁM“û$MÞ]¥¡üëÍÕ·ã©L¸bR‘ÜÜ%œsf¸J¬0Ø–Ül’+î×:MW>nªæþz-tºú”¦¢.»ë_n¾G9:ÉXf„A1i²‚ÙT€úmy˜Oò?м¡ÊmIeåW(7¡õ‘Êz;,’NáÊ0g,æKQ,s<ޏÁФà`kÁ¤ ç{Úɤùç¿Ðòý¶ ûåçmÞǾ2,˧[sœ¥RÇuÿ޵¸Aн”qä¦:\s·*‹¾z(çkÞµ‡ïPÀspðçÝÕÛ›«_¯ðti‡›3.cV‹¤Ø]}ü%M6Ðù}’2™¹ä³ºK¤,Uêuòáê_ƒAŒ’çb—‰±ŽéL½$†§,ÓÙR•“ -î²RǽB©ø+R%K "•\BðÄÁEaY–LË„ä‹ ÚÎÀ[¤¿Ï” 3XÜ6Œj"Q2;ÚùC“ï–„I¦MZ½tý£F¿ôì§4ê ¤š—¥ž2ª€2S›¤jÉdtzž´–œ¯º}YT¨„l Q½Ar±êÊÜ{J±£À?†Ê> <Î15ºÞÿö|ð|„ã´GÚiØÍ>ï·ß@UX€‘ªØR«GB¬Ü†a»v•€Ò×"%<]ƒî2­i‰cçÁe•ÍaGÛìʦ§Æ‡üPå·nñ§×p§@‹›”©l°Ìõ?—4¦cER´»]ÞlHz]5eXgßWmCõO©N»²¤…óºk©yŸßû=K;Ü'TùñÝUòÑо;Z‘÷Í1)ámÅk…[Å×s­Dç1ü)¢bS‘;RIŒD Õlª"ï½5‰‰ÍA½o©¼ ¿I`F†ó§«=©¿(»®Üà ËlUþ7/úú1ŒìÂRw4¡ê½]b°œn¿h›na_ÈÕ×BÁêeCMUÓ•¿SúEýþ$ØP´C´ì‰gÁN· ì)‚Aï¾­šô ޏzz«.Ž*iÐ ’`”Rü²Ë.dÂm”¿«‡¼Æù[—Ü@Ôˆ¾Ü­­ õZK &œ:+ÜÓ´hÓ ¢ „€Áø?ªWÍþØ/Zr&Ý0Õ«Éla =Z(.¸+‹mÞTÝŽ~ÆsœB-é À¼ªqñ¥œ‡÷%¨<ø±ïi6å¾lÖ•0*Ú¹ýnÈð€²ø£@n±4;w8;0Æ¿çÝʺžÄîÛj·o}ÇΡDÚfÌHuiJ¤ «/L‰.+uØ«V˜½"U¢å¸åø-§”HklÕ2ÎÇÿ)š¢L Õ"UÌŒú›ëµ«ýßø¿ï'õwãü URŒ+|èïôêMÝoÛãý–,âPÖùÈ–=ûÊm×ÖÇ>4cÐEŽu*ï˜q?½‹OŒ9'ËGêb9X>ÝÄS.·J4+› g›Kˆ¶Ò¸S9ÂL sšOrŠfß t–¨Fëú­*h¹+óþxãbc×ÚæÞ;6üÚT]qÍWÀV 4o|@ÈVÊ>Š ×h€^;?7’±b;jšjœÌ³¤™ SáJ>ç3[)ð@8|Zè ‡¿›@8üZ-•›²5-$q@P8;‡U¹û¼ÄªQªÎÌ¥XµàL[›h(EŒŠï‘kdæåG–£ƒ®Ô=§| 5P>¨†eŽT4³ÄÑ¡­+{0Q Ø§c™`\ÿüÝ.Ç‘‘=à6>W<°¶?TžÃ‰÷aØkØo;ÑU<™?UOU¨gÖkÝœ„Dj8X~´Ê® ®²‰/U±iäô|j·lô г">±À¸‹o4<¼Ò˘>›‚N&Ŭʞi}&ø•5sµk vÇgá[CC2i Ñû·=`3xTÕÒÝ®Á¹8L[stwEÓ?”å!Ç K­".#¢IדRŠ ·å6¨0½òí±¿;aoÅÊŒMòäwMWM›lÚžZ·Ô¼)Ú ¥ܬn°×д¯ûð÷ÖgÐöP…hÃfÆð'DkšÚt¿ñÔ]x ‚¤v@ŸË¦ðás0êØUMµC=ûÁ»öHÙ©Ë»cS ªæuÕ?RÓ6Â=„ AáJ¸cØzC)‰ð©ø4± ê9…‚eB|½W¼9êLjOJžö´{0¼HšöÚØX½b1Ùd Àù¼…d8rTdPD…Š‹­®£®á¾æ¹›ˆy–ˆ©ÚRrž¥L§6*aßÖhIìn·˜Á¬QÓülãß×Üï‘–ê€CÕáÂÆ|Äo&Bœ05?ñM¢'¯ sý3¾ôèÔGä¶8âÛÄYϘàU§úÒœ¢“0粜ý²R‡½JË2ù²PHI­Ðg¿bJgÀ•Ô˜ÀÆ;)ê¼ë~ƒË«Šºüßདྷ7Ôµú™ý=²oËûªù-®0z’Ũ…ÃÊf3ôûb½¼ÄÅP(&-—záÔ,u:‘<ó'¼pzf¤1$•…P ù>° (ƒ°q2ozËÂá-ux¢zóœ Ú”wù±îÇ >ázJfê)‚,!‡p‹rtýc÷èY_XlA¾áÌÚW4åg´Å¸/%¾&gs\ñ+!PëY«0bU*|ÛPÝã5””î|ñ,©¥ ÓÂ4„ïNPõâ;ŒVrôkt½Õ£à ʃ0ê§úy´7åϧZ[¦å Ï€Dá JsiHVÂÅ]/+uØ«±,ê¢_vèLqõå„uOïð5`úòݽ„LÂ愺ð·¡S1PÊ„4ä/O[¸&€ÁŽð”ÀÍ*–áuí.L÷Èã“t8ŠS›Å vp¼æ73nx3Ɉk| Z;ßý"b­ñêá߈^F1~ú ŠûT"…y*H}œ™¡l‡Ÿ›3}*UW¹?›ÿi†©\=$Â¥#‰ƒ:±z—Æ/ /¯ê–æl¨ox +<+0‡üí =¼‹Ï¶pŒgÜ•œúÁC6å Ÿô Ô÷)üd ˆóÅÁ€·¿' T¯ endstream endobj 366 0 obj << /Length 3029 /Filter /FlateDecode >> stream xÚÍZëoÛÈÿî¿‚(PTª-÷A.ÙC?´@äpȵ‰ï w@ireñB‘ qÜ¿¾3;Ë—LÉŽ­úE܇³óøÍÌ®|ïÆó½W¾{²ðóêâÓ‡ßã眅\yZ†LÊKw~õ½ &¿÷|&ãÈ»µKwžÔ‚ùJC»ðÞ]üëA²—žqxŠ,,÷YÄ ª"ÉT(ÎLµç5Œú4U°d0§ú«‹¿¼ä¾ô"‡¡ò®6@4fÊUHKé]eÞ‡Õ›Ë_¯¾§•šq-9®Ô,æ(T»âÇËu(VWö÷ÅåZje;'¤V?Ù™wvè…m¿íGp-½þ’:ÿ´«Þö´ ý³m¿†_é–þ4}ûçÉÒ·“½¶mzá62ÙrèƒVúüõrDÁêjkjs¹¿ê“Q«­èyífzüâû¢0Ž´àÒqÌB¢#]lqeÞ³¦½[â#PÌ¢_Ün“Ö}¥h*\ï­¥3¥¹·v6b¦UÙ&yÙóèxÚ'µ{½Ú8æ·Žë}mŠ.s̤ER'm^• qr¶ž7³ÙvÓæEAMó%oZ·dSÕÔH«ÝÈ\çENÛóÖ À3gÌÖ&iàKvrìyÿtTËê¶g¸M“ÖdßÍW6Ûª+2'FLÕ©5¨“÷r,«vQé‹ô ô^¡y™¢h²¾çDZÞÍEyWun×Y•v;S‚4HAàê@?ðö®ª Ã?~qµOwåS‰TU=#B^ ’¡•œà,ÐÚ C0FÑ&_·èŠÜ*h­ö¦Þ˜´-îhx_5M~¦„“èF8š™&¿)©M"ÅÙêÖ ùuÔ¹q$É!p¢¾äÑÊì‹$u«š&Ì—Ö”µÁÜCZAÞ%(…ƒR§ð¤ÉS4÷À9~„‡ ¬ŒF-ðtA³DÓŽO™³ËšÖ$xPà‡$ XŸ_ò•#ŒfhWóà-`6`ià Râæªîfk;¿|ûs–M–÷–Ìý©>ckßWÅ]Ze†mvƒÙO•L†ƒÙƒÜÆ @õ³ŽÑó—Q¿x¥ôÍr·U´0Å‹ V¯74§FBë°#HN8Ú˜4HÐz#ÌÜæíÖMU;C-pH«aØ©b>˜<©D6IW ü-s‹x(p 3´Æ#¼JƨF(Äik0Fo9‚î[)`ÇÈ3ö…Vƒˆ;XÅ÷oˆûz¾YR7¾øLÛ‚ÅbP·XÒ‰bq4„‘+K¤£Bo-˜”!¿pã‘Þdø=ÈUÇ„Ãðìöb/Â5ÄDÒ ßR(€V i1ž‰õs¡# —v¦´2j©»±r«vîS»=õ?RûªõCœN·Iyc¼ È>µÜƒôÞþCôlŒûÓ4Ž5‚½)„ôò#B/xNàʧmà³kÜÀ1Õø·R}KÝX&Kz&ôhLÛí©y 9‹s¥Éú d"‘¯¾â3}d›K¦Ùy?Tö‚iÌgS'…Ó‘ô!<€ÛAë Ö«×%!Aë<"\¥ È–BC~‘¤[Zç+OÁFÉ qøÚЈ3¥Ô4 ¹`Ìí1¿16Á’ë;?¢DÉA úÛéÐú<øMEÜ KQæ bÆÕ\j.DZ&¼ëšv–£,"·d~ü¡@À—èüåp™ä#ãA Y0&¼@”ÏS)´—L5yy3$—¸ ¹ÔLödÊÔ'7A(€¿ðÜ`pÈÆ£3€ç¥:ð*ÀÂÔT%šmôˆP °b¨F ¯%þ{©ŒX Öö÷IQ÷f(×úö«¥8âJÔ]oªÖô€Þ@×Dþ…ê*„&TÓ'ì}V^ELe˜’\Ã¦Ä c?^°¹:ŒXÐE©É ¹ûáý1¥ Z’÷Á%²à¹˜ƒ‹„Ra2üÞÕ$9”LmþÙ@zC#$ëò$gm Œ3KÅø³ˆ§Iy¤œôŠ$?]NuèñÔ¤E>ý/o,ZØX_jþ0r²XCþ‰p€íqÈouo’‹òõ#Ì ÆeOòPXp6˜¦äÍΕ¯M‡Ì–ŽÍ’•­#ðqP'þÂ¥ÊË}·(_ª* îåísÛõ™æ# ¹ƒ_ú1¹1‹æË™R÷G•§OšSå)Råê9å©ô jKäО`Y+ v{ÚVfþêeUï’¶EC\ˆ^‚/Úwª¾Úš#W4†Ù?n,É%r2fZ î>ÖCàšX *ʪ &L¨»¯n¡lî êµUåZöŒÅ¥uR6ø=ëHvÑÖ‘šFбªµ»v#vÊÎ5aB³ 8ÈÒö…±à+!?¹0û‚í¨béÊœíöûª¶Uv1¥Â…Çòb@ÞX>œSñgÔ,sÑêS—÷»À3©Â|ÁòÊ.:m‚á[7íÊxçÚ€)·0Ãò L-™ðÃC—ÉUõq€¶>d¢;0ëÙn8IÊ èƒ/n\Â^¶ÃQ£;Mƒ„¸yTþ£dÈt,Ïÿ(@1œ9ÿ9/ÕžW€$ê:M8ÐKø1GQHâ8Uó%‘@äBì§3Ü>K‘Ó ß•*·ÕGS.ÐÁS÷1îç‹ÙbˆÄ[ ¡Ùr2ð 9Í1f$ØøXåã HB ›H*‚Ì@W žýz’´ƒ×Ó•ïÄy¯ ° 5¶jXŠš°æ®þ×á¹u3Â×L3;éàAÍÏÖLðûjHq?:Ô ÖÊ;ÓÖùû¬m3DÌGèe’ΜO/%ptÄe?”ÅlJÜñ° ÷—C@ÈÓþaqoÓoÀÖð,†„þ-,iî.2†éU”à×}.Iͪ„%‹ƒÈªõÙE¼Q¼L öæë#:ѽY¢ì˧ð”RËfÀò›[ÉÁ$Çecf†¿G,îë âA‹srŸ…ó¬9¸“Ž¿‰œf^À¡R‹ðßÏ >'õ¦,U,á7xÄüˆ?LŽÅUZ•Çc|ŒfÒ@ÐÂv6ÃÓgƒ<.è¾ ^3·Ž"ž¬Ò+ÍÝîº*šÙ=o8ÂUº]C:³zgì­Y‘Æëo_]xÖ€Ñ+Í,ž uãHXÁ)7Ñv²Kû J›Fñ”Gœ65Höé‡Qd¸ ±Ï åh%·7ñuC³È³=”·½O]Räë¥;ìáú~¼ÑÕ«®´/М»Y¦£˜,+ZMÿh`o8îó; »öœ/™»º´TTì ƒSëB²³³·f‰U²¬($˂缑ASšë‡5…oôÑ’x™—IQ @Q’uFxáI»O“þ,[î²´ÒКˆÐžØOëåÝá‡ì_&ŠüfÛÞü¥ü7Bÿg ûœ ú©©ÝÅFxÏp¨?ןý3ckº:oÚ:"QüçÚf8Gëÿ¨wÓŸÇ-Öõ‡ß´éËC6žœ§¢?(Æë/ÝŸ.óûçËGN7Žœ;s Dj£æã•ýÿ.ttÛjèZ¶MòÌé2ˆ nÉÔ8h¤rÏ~z2°;…æ!ãά=ýR«ÕðwÄá6É]Ž Ú¬€GbÀ¿â,RNŒ\,.† ý?ɲL endstream endobj 371 0 obj << /Length 2593 /Filter /FlateDecode >> stream xÚ­ZmoÜ6þî_¡( Ã1#¾SŠC‹æ­Zº¸+¨¼«µÕh¥­¥­Ï0òßo†¤ÞÖôzãêËŠ†ÃáÌ33Ô&Ñe”DoO%ðóöä¯ ”$¢¥”(*"ÍRDËÍÉÇÏI´‚‡?G ᩉn,ë&âš‘Dh—Ño'ÿ~T¬¡<ÒL–ªCb=!©L* 'B±™¥vº*-ˆÑéa©R˜}Oê‹“—o(£‘!©R"Z¬A¨&i šr’r-VÑÇø»u}½ÉÚÓsÉdœ•Û«Ì ¿w—çŸ(–üüôó¦ŽÎ%)5îm|z‘_Õݲ^å_;¿LËÒfÕC›âþ£—›ñ£€\œ:¯VÃÄ#;¾^6èé¦<ä£(U™§¸¨Û DF)lSnƒ¼PE åÊ-t{}JM\¯vËlÂd×»v»kݸ)6E™]»›¶ö×«Ü ÖuYÖ7Euùê…úi%jJçŽ7%b Ÿ9Þæ•ÚëÊ¡ì'¡œ$Š·“‹ûñ¦xJ$…l°ªdÌ*ˆ”Y¦Ì³€ ¤„ Žš‘v ßw ãéRbT/c+4'R¥ûó€, ë8^†&Ò„™^Fjx"Íèd¢Gôɶ? Ñnîe Âø]`´qŒËårwm£5¯l°ZâÚ›‡&#AF™Þ<ÈíÏÇR¢DoÅ›¢½BÈä]ˆãà]Ö|ÉËohŒ`èÈÛúº-êjPbü‹Ê"Ò>% +ý[™ÓÞݸñ¹ßsôetb@HIMe¶ÌWj.n÷°ga_T¬/!kÞÚkûÀX°hDþݽ¶¬7›¬Z…Œ&AVïà}b Ù öÜèÞ‰Qœ×mç!4Ûnó53OûÄ\y–Rp9ˆ™‘fà ƒfŒ '7kb‡ÜÄ™” M#¦&ýl¯t\Ö­ØS&viº-Ni\]:Òªp;´l‹¿­·;°ù{ö×.¯ÚòÖÑv n¾Z¬€\àÎçÀ7ŽÚ½[oó묭¯½ÌÁ)ð¦ô‹çSÝ_¶‚éhšÄ«'¨pN¼EcàÕåU‡ÉØÜ43}l°½IM ïOB¨#ý gwi5/w«œÀæå ®ßiÚL/ó!'Eˆ’½;œ…ô£0ßÀS4N®ßÃÎ ™'üt¤ˆ,”Zœ…ìÅ{ =;RÅáé(‘œŽý/¨zJÄॻj•¯ Ü€ÀsÕ,Vy“ýÅupÆÆëàŒÛu y´É&ë€=÷_¡ ¡©˜.àœ‹$~ 8XFôñ]A°„¬Ù(™lÂ?WþUh"cnÆÊ¬]uü~íæ¸­wn’²®¿¸QÖ†–¥!÷Yâƒ-òßÉz\ž@æ½Í¼½p*ž\¤„ê¯U—@0Q0ú*îW‹îv_oæ ÏÕ~­ùg}qT•)%x+•sW™êA.õÌUæ¼R{]ñ*Ía©P ™DÝÕI$ˆ¡û]@Ô¹Ð{=ݶÜùëy¨»š x`§Çr.êöX1¦ç‚%SU~9ðXøt˪Qª’éÌE¢HÕ¨ÇÎw¹ ¦ 03E¤6vwBõ z°‡4'q_7Óö/s—ƒ€ M]æ4D®ƒ†*í*Ž`‚å)dÓÛ·gYÔa“-]ûêAc( ‚õ‘…<+Š"z?Õ(¡…C¤™aHh¨ì†æ•:èJ¡“{D(ƒ.;=…¤0ðûÁ“«üÆWôwcµ#€…«‹¢º;ÛgÃÏÙ×£Nsž¬û!@¡‰¡sáƒD§u$l¦ÖÎ&®&`]M@GÕ5P-Dâ ÉÚ¢±õùʱaïçK‡êÖ lk\S@élW¶Ý µÂvXð4þs×ø§nÒ. älœÄO€òÐÏ=Tç×ç××Å Ë@U›Ñ®eĶÐUÔÆöäQ[dëm¦5µdD¸ÖePcgˆNú¢gR¡¸éš%t/£ž½c¯.ZpòضÅ/|Ç }´hÓ¥»VÒ¤q¯oÀàÅûg¤Þ+™€f[2du³¥É6~ÔÖ_òÊ=íýÀÊép œ¦Ý«&.3«;°Ô•ç-÷»;‚ VÅ ès_ôùx¬þº“ŽTÆÔìè˜è¥ÍÜè8«ÔNW®¥=+›³H ÿ•ÇiFöãõÀã?+Øþ“AèÞõ_ŸR·=;ªV{ºa4JåzæR+J4¿]¼…ffT|™·nð`‡.(áBú‘-KåD¦˜`!z~ܦ®b ¡aJdJÂ=LyÍÏ)‹ŸÁ/XD‡„[‡Uåí)Ø"Füò/u›»÷m¿Dl0X2©Y­cµ„MÚpœ¹Ë¸>42ž¬6ÂS"äÞ¡£=M˜O{ ? è#kF”1ª¬ö”ƶÅÅ›e槺ÈÝÕ !_핸…l“·îfrªf) }ƒFU:~ßq5NÄvšƒý’¥$ší­ØNF½´[9l§K$HÊšà)3x*MÇ›„(R„3«‚H`ããfâ {H ò)F:,¯²êÒ%Èê?y ]ýB­¥œŠ{6¡Þ&nXx¡n÷˜àD=TñÓéî¹3% jèÒžLo`êfÿ,cðtNý™ŸkEFg~eGN1³·O›99Î+µÓ BÙ#R‡3G'GiŠŸ¾s¹fñîµ¼ùõÇ_ÿûþ—·îöýoîúã?½zr>ìéGå³§¯ùP>cÏæþ@Å4tð:ûiaŒ@ ¡ Û>îlX¤à=¨Ø3Œ¸À´‰öËŠ~8×A³˜Ès0ëBµaíVÃTÊx€Ä$ÿ<÷\!ýQÌì'EÃ⛫byåÃX¯›ýn¤µý„2oGªŠe·ª+÷Ùÿý sö>Ú<´¾ÉgŠoÎåQ°lÌLI—9•ˆ³²©e[7Mqa{ Û€ëÐÔ!OæˆÍíæ¢.É5$@,*äüŸ£‚cø lW„yö]µÄ&Ò«c¿v"Ý~7„tô§sØ©÷ ù‘m•„Éá»rÕf€ÊGå0Üt>û?…‡È×sÿSh^©½®LÙsžæ0Î¥¡ ý‘—ùæt„½–¥ûKÏqˆúd"*HU©œQAÕý‹cqe£‘i‡¨ÁâK‚í >cNì†ãôûüž$Çêl\ÃLaá: ,Üd^ D ü~eÀ=Ûÿš:mcRü‡„çø'b†OMð”BA–ý öâž÷sXZ’Ük‰8´?$W³Â5d 4¤³#{ÄœP%ŽpÅ&CW>B­ˆ=ŒjÚþÙ…?” þ³Àò µoVÇÐ1>1 Ûÿ 2捻߶)ö_ }dt×Hh;-ô‰Pèxh <È 1ÿÿÎ¥{ endstream endobj 376 0 obj << /Length 2202 /Filter /FlateDecode >> stream xÚ­ZkoÛ8ýž_!À)j.ß’ ì.:ضÓÅ Ýè“Ù,Ó±0²ä‘ä¤Ù¶óÛ÷’—’¥D±½†¾D4‡—ä}œK†7 Þ^Pÿýþêâ/oc$VŠW+(2¢™ B®‰ŽYpµ ~™…„“˹¢töÞÔY^ι¢³UYm’¦ÉŠ›Ë_¯þi‘T“Xsmh0gü’qµ60JÓY•ݬ,®“b‰¥:[šÚÙ¬\aUÝý^fÕ%‹f&m²[ìKg Vá¢ô°XY7U–¢¬€Ú”ØvM½²âZd+0ÊÚBjá!±|—å9–œÄðÅÝæ¹ô-÷~ÜÚd¢pöwr“d…•@F³7¥ïd>'›mn¬ì1ŸevéšÏîË6¯“[3&i’£Éòupi®)åE«’ ~ê­I3ÛŽiêœÕMÞ^¼¾ºøã‚Á,4`êk͈ŒEn.~ù•KhAˆˆ£àÎuÝ"ä„ÊÊyðñâ_E푇°V€!Ô!XèNRG•‘ Ró‰Q;Y¥ ¡GP9‰¢‡¨èS8 ¬í[ã·.%$q ˜Pzò 8®fþ ¿Åϳk&dg\[«u5‡Ž­Û‰³e~j'œ2ªRòeðîµï;T‘P„¸`;ê©Ó[pÞÃr°è ‹¨ù»ÚàÏfm·ïv»ßwë,7óèšn“*KЦ~y’€ÿ:šÜ(„6µL º—”8©i­€*/zÔ žÌ µŠgÿùò K¾ýÙ·ÓìáléÚ JOl*Rðå¸+¯|tGk€àÖ`i‚±ƒC€È|M³Î|ïVÕ›¬ômw‡÷ ªîÚÁ¾*ÝUØ©hÆÈ³¿=Ça´'¾’I«s‚É!&âût”ç ȹ1‰b=Œ{ÏÇ€ᢅµ¬„ÑÙ§Kˆ¦Þö‹ò 7Æ;Šk΀5ˆˆ1 ¤%̤[¨k*©Ÿ(ahõ×ê@ÀAé¶'c‚I¢С~OÎeç¬Æ–Í9ѰØn#GÌ”£¤¾Ó \ìüêêu¹Ë=¸ëü_ ÌÒ;ÌrHNqJ £É] pmÂÄÄ.pRÐNR©ˆ’Óº@”%Ôc.ðùcP7@òO'çË{ÈéYT!'wz‚Õ:= ô¡´j-w,˜öäÀ–’¼.±ä Z0õ¤A3ª ×jÄ¢£ð Eÿýtsv a8û°B™ÒrWÕÆ <ÞÖ&^xç}ýz°P'ƒ«Ø˜2Á¬Þ`ÃÊåP(ÊbŽù¨áa<ô‰õýfQæ™§ø`æEã8¿©N£7ŠF„MoÛ2 Ú¶'í$ÕœìÒ$ ¦áɶ-!«Ö£¶]˜;wÜt`Þм^¬¾@#’—ðáBC4æsCá¸í@lÕ`\ôĸßÜü=ïâF¢ ¿µ«ës"Å:y‹*£žám¤‚D†ùÛLí1Ó°¦9‘¥†;R€[?â ‘Ñ{ÔÆØEsï·¦néGR?¤! =¨hú3>AdÜMh=‘'–Y1‹˜Þuš0ææ$ìzG¨ö;”l·&©N[‚†Éh<¶~W…¬]‚G<·× þ@\º‡Ìmv÷$÷ z#Пàç$d°LªÉýœ_ «˜ØÑMŠÚÊ*THDÚƒ¨ FbÜ DßÓqH5.Kaó+ŸúçÌBáÂ0˜FÔéó«Ë¹æ³»¿ïÝßw½òÛýøýLà9˜ì2‡—àš"e/+o]YÝ2}oËk“þ¾§Ùxk` ¹©1'²CŠööÀŒ_,³Ê_±ú”âÍàî,˜ÐC½⤕Ï|Þ‚Q¶wsÍ—f/:*Ó›ÁÕ]æI½» õ¦wPÙ1üÐÐíù!]W1á±:Q×"ÄøA¢& é!„òHO Ú Æ„‚9Êä¬Ñ ü‹ÐVPØÂÇÕï0@^ýð o>üøã‡OïÞ¿ÅŸï>â÷ûWÿxyR<Ìø-%¨WmHî…é#1¹Ý׳÷`|c^‰0Gž£W£ˆ?8;¡9 {pð! Ûª\îRó(äDýc‚¨)•9½)!¶Æq?j>LÇgÆ<< ›Âã§òñ*Ág…=ËðaºõDþ¾Æ×çe¹ú¨|]ã¬à{“jJë": +º{‚+ÿ¨#A9æÜ<öàŒ½êŸ[oÕn> stream xÚ½Yëã¶ÿî¿B8 ˆ œ>$Šº Z =$(‚¶·ZÜ%€,Ó»jdɱ¤ÛÛùß3Ã!õðj}‡í¢_̇†ÃáÌo¤ytñèíŠûö/7«¯ÿ*xe,ÓRG7‡HÁ´ˆ£Tj¦3Ýì£÷ëÓy#̺Ù÷…m7[™ðuÓw§¾£~[Ë*?Ó k6?Ýü°b¶€Ÿ·«ïnV¿®lÇ#1r’¥REÅqõþ'íáãg*3ѽ#=F*•ŒÇ)ô«èÝêƒÌ#ç9[#T”rÁ\c äœeIö\c£X¬å s ²êÚì3\“„e©¹à:XÍ€ÕtLVKY–¤œI.Éh7wM¤‰«X9Ê”)­€£ù-^à\@GÁÌys–¤:¬8ôuÑ•MMÖ.š#À €¢ƒ]'ßµMó4ú˜W½ï6Oà×—ugoíùÍu̸³icW“dL‚F¿ 1† `šjfñR€ISÆ~a®ƒ¨œqàp©b\‹E¼Ì@ c®tš°Ø˜ ,ð'P 2P ³Ä)ß3spÀá{ âðý—·§Pñl›§p1jû¹ŠYÖ6¡Mgàæ¥àBÉóþ©P‚ѹêL?'š^ÉZ)&=6¾¿U&%ÇΔ1ë²¥Ù¾µ{êÝ—Ý_Ò4~‰½'êÜe“ÛþhëÎ/Ì}[ÖûtöS÷z³¥\ç4³·‡¼¯:´Ç]Sùµ-¢Nµ…dIB’·ý®íʂўBΞð¾íóªzð±ÈãPð‰²”¤­BÅžéFÄŽ”'Ñ <åkâ¹ ¹±»Ë}¯ôA²èÛ®9–¿å»ÊzêâÀà‚¯ßYR*¢žŒ|¾¨óÏ·«è½£Ê}tβ©ˆŽ/Q¸­ q´•J‘)‹aÄ“2~lp=IR[PV}K²!öNù9?Úî\þ´¸/Ï(ëGÛ.ém€>Ó~ÿÞd*XiäºÈëºé¨x¡NNÍÅ>Fà>Ú‹ˆ\î–² tÎåígx—×{êµå>Ðü°í=/ðeKÀùÞ§¨¶?óóÃÜ"XwÈsnç­ßÔUBû¡@ò™îМy7*u¶±§%‡ð<}­•V”·WU5÷í›™ýÉæ÷YÇó³|R?Z45ö†¢àÏþ0`‡úÖÙÖEÕ •õ¢ÏHè&¯–p‘0©.<徬*ï3A©N“’ÓoZ•=n‹ÐE„6£«y¿ö ”$ƒS<©©­àYåu¥Ÿ­«l]lñ@ts ©²ó­3ž â-õ#Æ¡†ýÑ4vêÑbPñêÉ‚zªÜ+&[ï.vÈ‹âM¢šƒÛ%”CX½˜?£:RÂÿ2•ˆ 8•j§8œBʶ¥–r§¥^ãIsÿ¡©·óгSÏÃñÌóüž¤^üº³Kê¹T6÷Êžö߯ÚˆqáÿE›µ+„8ŒågW|lá\e×÷‡°FˆØ_†2 ˜P.²Œ§s¹l°ìWiê5„Z& ÂT{ÊÝ 'w¶»·¶´aQó‹­=ž¡9—.°ÓEö`™/ÔþB iMgœÊøú€IÇÙ9¯»™}½³“@¯CTkíy &Gù>ª²(»wƬHqf9ñòËŒ›øŒû÷ü x¸³íõÌé×½kÓåщ¨2À0^¤àþ†×lhåä0+l!Õ] żD8¸/-­ÈiH•“g{ò(F (÷˜ÜÜB¶KŠtµj1x'ìóxÝmÄ̓}”&d¹˜«¡~ôKvn’þS_׳_Hº ¸Tgx%pd׺¥r]Ý Šœ&#…—v£//,3e|Íp¥¹qÇ‚{Q¬ÁvL)²ïü¼‰e4™þ [ Â±³óÒ—5éê¹.ÉE5Ú7fÝT÷\Bõ)ûD³ì$S{ ‘»Cóµé‹óeøBI›Jäâ ª©ˆd! Vö€„z(°ôP`i_`éPAç²hƒ)ôWl/N†uo¬Ñ).Î;àÍŸwÊ~Š%Ì‘Ã]dAò±´Ré ä“Ó¾¢”ƒˆ5LÌXÇ Lg‡?;ôÚæ÷ž¦¹dry|ܨ%šI¥(ˆáì‚Rx²þ›í–NÔûø\5Í/>mwáQeýí§üxªì›/yƒ :K3ñÒ¯qJI—È~{Y®AV¨Üà2ÿ™G„Ô0«Å´_ã”L¦dµ?Q † “õÏ?o¶&†dð-_áýò›WƒµIøÇë°–;AÊ™ sªÞp¸g œ¿øm&KQlóùp7K¡¬;{[Öÿ-š½ý}‰d²Q>c¼Ìðê©p¸›ÇÓ=Ámàù\az·<=𿺨ÁÖûQ O>SyÜ>aמ~+¬½ìÓŒ¡5j|Gö¯ºÍGJ¥áõÿñÃEŒî«ÃÕ—J´ùíuxÅF€”2ÚÉL(D²H úýG Ÿ endstream endobj 389 0 obj << /Length 2098 /Filter /FlateDecode >> stream xÚÕÛnì¶ñÝ_!°Fβ¼“*ЗÉAÒ Ehq’²DÛ‘¥íJk§ úïr(­¤Õ®7†^úbRäp8wÎÌš& M>ÞÐ8 øóñæ_7 VhÂÆÑL&Fh"•Lòç›O?Ѥ€ÍïJDj“×úœà •æUòÃÍ_ßDk™H W„§úZ§$UéX¥Dj¾2ÖžVm a,½ŒUI"­º «!i reDRuQ®*nÔ•rµH4œªXI¬À8µze¬‘T2¢ŒºŒTH’š9Ò?ÞÝüî&dbIªµLîÆ%(ÜÖŠä®H>mvk»Û-7v“ápï³Éoºƒ»’m¤ùöý:I‰ÂßÀ5QÔë"ÿHíÆtbÄt¿€F®Å [¢ ç–|ËVRpN=eà*šËö(¡Bü&ö²Eöh:eoËmŠø¶\œEÌI™ým‚‹øÆWœÃœ^&0¥Ù2f™ð×w ¾ñ~3¾Ì0ðR½¯8 ÝŸÕqãñð §Ûh¦ŒŽECA$ÊÌÝo"> 69ÀKhRb tÌ\mŽÅ .3’¢´sEà]m²vL¾›1µ m}^‡:ß¡m™0D e§”®lê3, »á&\AgŠ÷`Ä“/PÅ”E¨×uÈ+ð³×2ë­`Ûæ@òxä)È&Es¸¯ââ)çprÂ9¹,ÂÙXû(©ˆš À_$¨Þ¼ºªÂY¿ˆTz9y†§ì/µC€Öu8ipOð‹íÎåeVáÇî°ß5mDÕìÜ>ë€=£6–˜á2>ø×Ï?/±϶@âÕ=A‡6ˆÛ“Ý ±Y^Ve—ÙqÈ5×’™NLY·ní0Sæ¿'”µ=:pyOâ“¶Lpò·7ɧbÐ?Y!rxê½2Å”ƒï]×S„#<^ˆûÈRÝ„*|D³ëIziª—êÓЋ¯e÷„3ŒCÛªj^‡ce½;t¿¿”³ô«RŠP¾vI§¤ Vó•Kºu±ö´JM!½x#²)Ñ”-æ,ŒF)&&mJr"Ó˜Œ‰¦x»UàÀîÅÇ?Ëpø_ü¹jUÝï³ü³‹°_LÄ~?ƒX¨^<ܽ{,ë_ó¦pÿ]iËÿ8Äàså#Mþ‹ãô+¸O~ûxé&Wçï™°~zU6 ÿÿ…=#гÅB4æ÷›Ý¥Üc—±¾#—€P•»ð^ú(ƒ¡©=TÝ1ž^r¤ÐPf­s$W ,¹rÌYkO«€êËJõfõEµ¾¾R”‚A:ÏWn#IvªäÊm¤u±ö¤Boß@)@¦ìú&’„z‚#ÅiÏRVz¬%޽ÃÎuK¾[ìôÅý'v~-vx-øntFüljyG da12¼".áÏYYýD³ÅV7†/q¼)8; °‘&YÕ68»q±†éŠxÎ×ó³eIðøãV“ç‡ØÍÝÅ—ßí½…s¨º¡ ¢³¹I˜õºÉtdeÌf˜^Ÿþâ4  endstream endobj 394 0 obj << /Length 1857 /Filter /FlateDecode >> stream xÚÅËŽÛ6ð¾_!(Ö dY>$‘ ÐC$i‚AÑ=HràÊ´-D–IÎÙü{g8¤m9Êîf뢓œ‡óâˆæÉ2áÉó3Æ'Wg¿<rÜQx|\ï}€aVè.¶=ºã8‘‰ÜîÜü߸aBu¿7>ع™ÁÁÔP-gϪÆÖõç ¨F3TBJ¸ˆŠÂÍ“o;ühÂy0=Ò¼Ї¢ƒ“²n{7Ô¶n½‘NŸ`ÈùË÷e»Aߘœ>ãLˆ}Dë#0öÌY'r°l”ÒUK<èl„†Þ®®\Ox»´>nþ†gÜö“æü‰eT\q_‘8)À}þqM&Ññ•ƒË=f”Û@@¹ { 4¤@KP¸ˆô(\€9˜^Dµ"€÷‰{Z˜‡ÞáÆ ÌCT…»@%$Uâe{ÈÐ h¦1ì9Ÿ½€ìª¬†È¼K¤‰Û•Ä~ ý8Gå‡u—ýçf°àÉ’–(“fÞÊžÞíQ~;(íK" œA¤®ªrEèÚ–ïzšZ ¦VXÔÝ&ªUåÑ”aK‹Ö+àzÂ0+ôlÛû; 8:ÛWŠ~¾‹Q ´Dú½ßÂeÉÚ²Üv¡Ê~ãÊÊ» p¥íý9‡s¸]cº8´ï\PÊ—EÀ€*º{•!Þ–`™†¦–ho\ôÛë¾ìª ^. IGp/ÆMW­ÝœÑޝ†½¨¶«ìu¶Âd‹ü¥ò¹0³m9´¦BØÜ®õ°:ºRÃýC(¦Ø5¾"âô¾ö*ÌÛ0Z¢ðZ† ‡mPœ htCSs>¨†ñb×öË&ûèàò:°g«}2=ºU¯ ÷Y;*ÚRøø÷P†ÉLŒ½µ!Wcáø„—¤‚‚‹ŽÌ}™iæu‚qÔªÐúIhž ‘_C±plªp }§ëˆ ‡éÓMÕŒ˜$½¦MVü6”0 Û«ø ±s—À«ëømêÑ|îÕôŸâalbÉš»OŽ>HÈÃ~Z®l#ÊŽìPÐ]½ ït®k{÷³dõ½âvûä¾9Ê‚³L©S?)H]0¥Ó?)œVjÔU9ãFœôÍQjÈc!¦^æÖni¿}›óàÉW¹›×÷è€]¨ÃÕùuþöæÞ¯—Äñìz>õ|øßõüDg½ÏÂÃãê¶'Qd̘=!ð»ÿC‘…dy¦‘f“¹Ðþ´ÇÜpæ8æTF endstream endobj 399 0 obj << /Length 1870 /Filter /FlateDecode >> stream xÚíYKoÛF¾ëW°ŠP€µÝ7—zH&Hom|s ƒ)›‰D²$eGE~|g|É´DÛJ€>.ârwøÍìÌìÌì{7öÞΰ{þr>ûñ Á Q(©ôÎW!I½€J$CâÇÞ…~›ÌT`™—åœ(?©Š<‹ÓìÆNçÛºØÖvœV?Í/Ï›!Làçíì×óÙŸ3 ±G:|BQ@™·ÜÌ..±ÃâoF,TÞ½!Ýx, óÆkïýì÷Vêy«óLâ,cŠp*W qIOŒÚÈ*%A!;‚ÊШ=Tk7&ÁnŒ3k6…Ö’bDáiÌv¡ „{ ,¹¦d°(†âÞQ€ tR;CCqæ(`ÀÜQä›ä&"l ‰ÁFñD(G%`3ˆJh*JQJ ¦BXR<Æ"¡oÑ#{ªø® ¾ÖÄ×¾êÁE¸0½ÔTÞ‚ŽDÂÀzÆÉm²‡¡¸Á€/p ƒ¡ ‚Å,Ù¸ÕÄêõÈþk† ˆ;òßc·ãüڃ݋˜ÅA”Ðÿ-öÐbP H-ZG±&A´Rõ•¬cÚ:õv:~,Ÿ7)òùÉ챩«ªèUÂXmC!'9CÌ©àu–×·I µ Uþ*/7v”¯ô3ôÓM1'þ:]¦µÐ$Q]ÛÒGfëÕѧ¤²Ãb-“á:@C­oÝjJ²fhŸ×I'KT/\D‚=0QÀ½ë$ž/¥~œk¶Œ¶b§’Ì­¥™}eºIª3xa¡5«V6C·²qz“Ö•‹˜V/¶¨‘­ݧ›M§QX,¼Ìê2‰AB-=v‚K+øµÖ‡R †~þ6‹“²‚ÊÒ|†æ N™«8ÊÎFUî¨A-vĪ;·ÔµhæYe—R÷\æ›"ªµÞ¯ÓuZïæàV¾cðnÕÂ<é í´Ýn™*áo’TICn¾½Ûi%Z«ÂЊ"üªX‚aäžÃ}W‘Yã Њ¨¬ܽ¥2½¹ukÆa5ºaÌ-ºF^Œm§e &ÃÔH©Ÿõ®¥Öö%r“ÕöºZ–iᦵ ç0aåÓ#m#CÒ,­“•Ö#ÂÙq¹-«ôN»Jc )ý×7Qš9²uÃ}븯ó4üɉTÚ&³7äs´)Öɤë‡!„yêë‡ q¢N|ý8-j#+ $â!?‚ª¢+Çb+%½$EH•ˆªs‘3Ì6†Í‚‚c^¥­ñzYzæãQíSsXƒÿlg¾ÿ5‡žŽÊ2¿wsGqÜÙÑÃ>Ž™~PteD:Nf9N›BuY+ЩQºÏWdÚç+z”j7i7'ºÚM’i"Ö¨ôÕÑ— X9§;³6fQD_RTS™¥ã=ίGuüž7‘ÝÇÇØÉç±\‰@›R·^@q.}À_”З°–ðÕ€ãw'f‡ÙàŽ‰Ø…ÄùÁZŸMS£B‰8ÆÜFï““ñ¾7\o{”nìda­v‰ ø¦®a·P0ðdD?žÔÈzv²>X¤Ž§/(Ò˜g¯¼´_¥Q>p»ƒÄj±ÿ¦ß£‚jí:¹îÒ|[º*ÎÝ—ãt¥/å+¨q3÷ç]UïÖ‰i€´ü-ó^…ÞÏÁ%ˆ¶+w©•Rùà£~YiûWÎòûâÅ©kÔé]â ̮ߢ_Šb&q+}›‘zRIŒ8n ðo;?íÈ(¸gûÝÝ’9Ü E‘¯w£8ÀMõp¬˜Y<¾ÂXØÐfÉý2“1PçGµ„Öè -Tén.öCžfwãúã­:ëzLÞN–ˆëázž0ÊòlQDe´Iê2ý«1á¨ÁÁÆMWèà–†("¾öŽï’òzÔðºtám ·8$‚†è1sƒ/ J‡æv \=õ„¤7™kèÅÈýùˆ©9=½ž/8~œ/·sæõÛR÷Ïô@wžõÓ5p Ç!¶³¦ñÚ-çˤªŒ€z.u]H1Ÿ6,\X1ãm÷UÛrÖ£M×Xàå Ù-¾×»Ïé\x-o<;øãíÌ»0DÜÀb¡Gµ‹Dé¼Í pH@îÏ¢F‰!Uü Oä¹ endstream endobj 403 0 obj << /Length 2418 /Filter /FlateDecode >> stream xÚ½YYãÆ~Ÿ_A?™¬:}ñ °²€c 0ž vEQ#byÈ"åYýû|Ý]M‘Îáõ /£šf±ººÎ¯š<¸xðã §ßw7ù‡à*š)Ëàn!X,tÈØ¬w»àc˜²ÛMÄyø÷ººo›²n72âaÕºßORªcW_ð«ÝJ?\êòö×»ùQ±,–±σ”,áÒ þÏ¡ßF¦q8,‘„ù¶ª«áB«[NyÛï»S³d>ËÏ ’Òí‰ÿ@ }w>ÝŠ4,è…OœK¿eÕ»µ£åè¶ù¶¾áe!¡éúÁÅèãdQät¯šcwrk ÍÃ}™n+óžÊœ*xPzo >±„àšÁôÜ “kÆÒ,K¥ç¸³:h¦á”dJ‘o~ õTË`²üßwfw‰sCǪ­/N)w*hÕ–_Iq{>KMO^k,ï\=c$uô:¤o¬°NÊÔÜHfoù”:$‚f5Âï±ëûj[—öí$Üžz>Ìù¬·2©Øua¥X‚½ÚÛÊÃbg{^åó¬?׃‘+3Šf±z_´±yñ¶¢üž Ö–´9Ø‘]ƒÏqJßÝ2&”òmSøÆI~.¿æÖQëñ—Śʽˆ}W×ÝÃj^‚ °C÷@‘Ôw>Ö|ecêØYåóÊ ? z ¿~ÁZµˆ>WáXŠŠ€??ÞüpwóÛɈDJ¡Ô© hn>þʃÂnLeið`Y›@%’q€®ƒ_n~KÌUò\l*T!æ•|Nªé¡VzY¦N3¨æ-ez=u"˜–úy¡ê d.Õ®,FÊ.æAOÅ”Y1þÿG‰ðT?ç5|¯“T„ïo7‚ÇÊö'¡´ýW†Ÿ-¯ 7ô’yÔ8Ò,YžŸÊ|o–dØøwgö»®(|7ŠE‘Ý#¿Î­{ë´7”õô6¦0ÄU.ŒcÄ>:–÷³~ƒU# Þ»Ä\½hTOÆÞ=­ •kB¥).áÞà‰cÊ Ì™:,¢L…@=ÚÁ*8¬î0¬këŒi îê®äÚÍçsSµß»oº©›‹|È?ßÊr–ßUtë‹Ç¬»d}&¯}²|{`?•.¦Z©òy©OU R¦¥r”I–òÌYõ§®ûâ:ž)íŠÖ5 ‡êþ€ê~°øÉ÷ÄûS~qö3+®9 @ê4²µ×Uh1C왲ý˜ C=¬•q¡Ãó8ô`6h;ÒÊë)õûÏC5H§8NðÐà Ó*›c·ò·sîð¸ÒYØ_šmWÛ®Ÿ0•E~6èÀ<2½ÛþöîwޝÌÊ–„tvPp½l #M~©šªÎOà B»•²Ú®XK©äˆÄš5c¥˜G{š4’<à13Ž€Ì¿€%°*2ÖT85!÷ÜD(+¤,ˆkÌšÿ(fÝ?ÙM™7<ƶŠÎh+ž•B³(óNórŹ*cRŒÃŒ±üj–£Æi×"½"2Ž˜B]÷"Ç)ÆÎ –4+•²X-fR76œ[šsbšs›øîúÂÍ'vÑÍT`ê|\õÕÎâ|ƒ»óºïæ|ã ÆÉÔ>SÛäþ°jã_\v`ÎlrG’};•°bQwבúHGoÍP2ÂÊÎOK“+?Ã݉‚p z2ÂÓÙ,äèÕ¤æý÷¯B«*N˜o VUÁ./ K ¤¢óõpõm¥z]e¦™æ/ôuX)EwYkÀJf:1f¬*Bâ¡R]c¹¶‰äœ‰ô-L"9³dn‘;ÛãSJrûS-C*aïÑßB…Š•ˆ¹.v,6¬™UÄðÑ«tišfO›–Ã[âÓ&1¦jõ& #„zѸs=ª½zÃ*Ä2ÿã†f†}Å…Ä·—ç.$ŒTÉÿÌ…ÄìâwcÄPÚ_ÿJý[ÕxQ=ûöÚ‹`=NC vy{o§]Ðî+£š´´²1üùoHX9”çSÕUá8Ýg=á§3³2ø.ޏÞÊmL—Ìæe™z[š1`eT˜áýÅ%ú*âî®øù˜èo®ëúŒÙSo¿ü¦ç¾`Ø/•óouãÝH<‹vTÒ>tE¶ÊŒ˜üc-‘ endstream endobj 410 0 obj << /Length 2268 /Filter /FlateDecode >> stream xÚí[Ýsã¶÷_ÁÞLÇÔÌ Å7@O®3×4M“ÉK{~èŒÏ´DYj(ÒÉ8îäï R”DK²O—ä:z1Ap±Xì€ßÊ4ºhôí Ob¡¾½øÏƒ±ˆ1F4“‘šH%£Éòâæ–FSøø}D‰HlôèI—‘0œPi G.þq­e"2\“°}li”©åL¥@ÉOË´•T+I­÷35†HÁ·¸þåúâOc‰Ž I eÑõ ˜B;A1†G×Óè&þã¬\-Óz4V‚Å_ý‚Ïwøxó‘ ™Ï§ámt{ sGcfIÂþgüV>Ô‹²¨Å1n9DˆnÆŒj_]ù­dØ-â›õjQÜß"‹q`õ‘*zóužVÕí[ ±ØA7k@%?ÿ»éU"ãY™OWë9¿úÅO±–¦ß™Uu³zól•=3é›qš/î‹7Ûss­t§h7Ñ´z[]pPZµBð֎䯋 è{Çr4挫¸Â®v(°9昌ü°a}íH L„Ÿå†/¯.—WU;|Çh[’YÖr³A¹¿+&y3Í‚¨.p[rݲRøa±óÓ‹ýC!˜µÏ){Häš®¶åÓ¨—É7' ÖäèØ¶2×òôòÊ7×ùêõ©e_Æv\Í~®ÏelÌXTA’L4ט±Wš )çzž9£ˆø~•>¹ëòÇ ¢ß÷>.rÐJŽ/w´) oQÔYáòDšçOØïC4›"—»l’6UQϳÀ¼ªÓUeækE¨Òe†]“2w ’‘DÏm–…³¦¢ X=ÇVýXb£\ás fã ßðe’M!ñaWõN² ÛY:™7)EUxFMýÐÔØÎËòÇ@š†'¤º¼|¬®ö¹E§jÛ5§Þr5UD ÷z£ ¸ä{îi¹¶²*) ¥vrmˆUzÐ……Œ¬ -ÙÛt5•„YNÑÛ®Ðã×äàèV(`æ ¯œýâ«@(4„†Â³¥öñ–èÏ *êp«àÃ%á&iÉn…âk E5-Á†DoP&(.†e2„'©ßå‡d¢„Û™6ÔÄÁGeKñv€‡ VÚÓ«gÌe·µn3„3! ¹qp¸S÷YKJ”å-ëwCÁ • <¯ ¨?ØÐ¾§zÊ0¢#ùz€‡!b½JÜsÀ}[©O›ü›­mz„-€•ØU%}U&‚Pm6UùèƒÁçPL•ñ*´‘g}&eí¤ýÃØ¦jLdÄ>Ý$„q¾«ßmg2ë¨F¶;‡³5m3éÌ=ÈCy¡ºä0À2×Úi5hkeÙ®­á|Áöì!&i·@@âÆ¶çÑÄê†ä…¬)“ƒÛOÕ„ýÂe»Ýz ® —!¶éi=%l8ÕF]Ž/ÃA´v{Él6lÇígÙ˜ãM] ÆÞ^ð–ó¹õ·õýWYðõŽÛ]H¸1g×}­ëæg×ýõ]×_J9eöËôÛÝS¸±µbÓ«ß÷NýÙLn$ÜsÍ—z8uxýÝjê $œ1)?1ê à©¸îÃÒÆ9p†Ýål ×è”ø9-œ “´:õ— Ë<k1Voß6D±p¶^î»IæéOù]–8ßË€n\«cšMòt•âuÄ÷”³ ’Äã™{iSe7 òØktÚX8lÁÐTM^‡ŽEϺt(‡Nâe3™c—‡1°y—Õ^tO:½é|q­WLe;oܹ>¯)™u¹­Å…ko—ɪ§å]™WK)߈ßÀµD L7`œ²vª !ÂÆ?ù†–˜-üÓgÏÂÄï«0 >Ö®õ6dM =Þ =¢Âó&¶üùˆãlËÍKCÎ3xÈÒ®;Ïfõ8Ä› üÙÃo@W”uëGœXÎ659ɳ´ÈŸFb u…¢=ØQÐøÚ5<"Ž!BÀ}ã?H¸Ió¨×ý/¶(ªlUWø’âcº˜9ýÍBHuøº,›¶žC!îu‚ÓÓ s4>• Úzm=ËÇNëq”EbT¹¯N«bó#æQ ,ʼñúƒlYbošçØ¡­öY5«‡Õ¢‚˜pð­T-–yn ÿÝTuàµ$ÙÏõ* ㈊$í,Ò-  úõ…Öm" ØkBô ZŒx×j ìÏÓÚ…”ÿØfà"ˆì±ÚŸöqÝP˲8«•B­ù©±ZÉ5I€ÇIË£'eÚJ*”‚ƒ˜8iyTrå¶»/º:ª~“ê¨<®:ªñšê¨8X®{¶:*^[c´Rb뢠îÏZ'ª3nˆ±–FÍË5}ÒÒè–XÇ×E_ŸSöÝP„«¶y⊠Ñm² gò®‚XN›®hX·•ÂI¹ åź_:> stream xÚµZKoã8¾çWh 8è1W|Sfi`vÐ{Ù]L ¤û Ût,´,y,9ýõ[d‘zØŠ“N¼—⣪XU¬úŠNšÜ'iòûUzÔ~¾½úëßiÊ“ŒdŠ©ävP¦ˆ”&ÑЪŒ&·«änö•1uýíöÝF·Kv¹‡¿úײ¸¯¶¶j¯çL¦³¢ÁvYow‡Ö®ðkg÷qxe±·(ëåwrÂg(ÝÍ)%™”ïî_/ðÅn»ijfa&}`S¶‹H£^;Æ'*TœÈLFŽùX˺o{ð×SJLC‚ïÒ\X0nyŠ2XœŠLo6‡¸F5?,ÛX¸—3ÚúÝVyÉÔÎÛQjÞåí¨ËØ Tµ$ä‹ >: ÷:õr™7`ü¼,ÝMÖo:Ì»>”Øokl‹j‰w8o,®ÆÐS+»Îe ߨ¶-ªû&ðXcËp ›øDò} íqÉD„ô(Ås>{àqøÌ—ËbeCÈtß3„åxlè,,TaÓƒÝ?c¯,¾Ûòù'ˆÓË!éø¸©QƒÒ8ÍàÀ þÆY%„™=äå!îÃl=Ć{ï‹e[†ÍÄÀrÃ/®bÏF~ñz{È͇@ï¹>`g‰hóXøURB IWŸ+|ª°r¹±hŸ’"`è’S—Em—l:/9&é4W,JKzƒ²1çÚ©Ã×JxI [%`±/•·~Ÿ¿b†t mW—ÏÆ;ísi§0ŠSƒ !‰ÿ~Ò[¹¸T³rÓ¡ªt°KiâbOˆ!l²  YKo½ÊBÁaô·0nKÃÿæ\°Á¹„ƒ5vßâh¾Zy`‡9ÃT‹CÞn`a­ã¸»š~~–EÖ9t#æ·W¼éQ]ôŠSpšÎn£Ù÷×fv(í¸ÖÏC»®Ë²~l±LÔî_Ö£ÚåBÆÑ£¢¹Ï\g–7£ÔI¤=…~9ê®Ê 5ÄCQš°µâ¶î+°Ó¶yç«6Ü4ˆsõ¡jo^AÐT•±?>z÷0 …ƒan À]˜Œˆo±=ceˆa¯Uk\v+ªN"d7RµŸrJtfËh4Ûp}ç1Þ™©†‹«ÕXG½ºàþ¨>òí·> @²ý¿_¦þéŒðX4þl,žˆê(.íŠ[„‘Áý€ÑÇÂÃG¥¹Üâ€w-3uUKÊöþEFûSSÕƽ5èi1£&®Á‘ƒG_îòCi×í¸‚8ã6Òᯬ5µT[¡‹Tý‰áÃ>åÛ] [+»­+H¼³›#©G›KÙ76€éHjä¥ n ²W`iVü@]sQ¢¤Š“Œfç‰òbu6 u3•@-£¡¦èën´ÏLÞªDÀéìPAJú `I!f77×P^(æKòWÌýJ6}R¨”ë+íáè]þmr€ÂMp:‘/HöOlŸ¤ðÜá~Vf"LÐÙ§OØB²\•è]ÚiVƒ6’»þ@£PâžúÊb‡;ÝìÊ–¶µ=sw8À´"J{Ê$£LNr©‹ã=7‘ðkuÔûÝà\!å¨êóTßQHq÷@}q¯’Ü…Kÿl½0IfŒ˜ŠíÚ1YãƒRù<„o ÃE©‹‡á”•ê ¿/]–j”•iîŸÎß@¨]ôt =¸Ä@œRÂD¸)1æu)º_®á¬Cv7΀³›˜îUÿ@cH¬cšzêé™xäQDö¿ü4EÂ9  ÑýÒårÈÄq¨’ƒÑI^pOx ©€_ö?/ÜM+EHz| ! WgÆùoSï„§êB¼&ý¸úòšQ˜³4ó¿çÌÃ9·°réϵOþÝK»„~ÊHÉNüþ_¦XÕ©ìiЬ`O×B*ø;厌PÆúŸþ~8ÖŸ!Rˆ·Ü°Ó¦ÀÅ-áAÏÐêIPâ„uR¢˜ݘ9T@|™+F¤ÇõÛ¼‰y@/½ù^0›D}|g_ƒ7ï®ç࣪¹¾0¼aàMü‡ÌûBÏ*ûäP†P}Aä†Ç‘›n㎘»]ßÕC€$”{š d<Ì´À@-b„ 4 µª[QWÓ Ÿ¹¸Gäþù°ÿ5ô1`†!ŽŠPaTÊŸÀ|»rCÛúáx‚q –1—ÆŒ È<†%%…º êZúªÃÀ1oý¹Š1NÕGWj-C=ç«p¬ç@øB Ú£ÏA=7Åòíµè|Sß­ñu´¾`ƒ+9ËWrºŸð•´‰}×I µð5(Ô<íQ¡FU îcN#],Ãâ¼½ {¿ÙÎÅ)šIbÞ÷{Ö ÿˆ6ú¯‰ à0¤}*Ý bxw§£ê4¶pæÿšæHÄ endstream endobj 418 0 obj << /Length 2504 /Filter /FlateDecode >> stream xÚÍZ_oã6ϧн)¸šÇÿ¢ô€] ×Þ½ÍÃiP(¶ kKv$7YûÝo†É¢£8î®QÜ‹%’Ãáp83üÍÈûÖõ2D쯎­oEliWsšë[—Ö ,f•«¢»ÿ—fSvÕ¦lŒ9E׸;{(W‚ˆ'lfé¦z\ua¤n:ê+:„ØP•AXÖÜg ý$°›Æmºo^e:¥õ<ªŠõús81PRx_3iÑ?šßAJ'Ž ‡º¸ÞÃØn»â©ë¹Ð ÂSØÓ LˆÜÃD|Û6mv†­ª>"Œ€×x6laî:ËÓ‡½×  `ž¤RÕ3™— y¡çásx–u³ôÚÖi»-æ%‚\À¬VòôÃú¹øL¬~/Ÿª%Í!­«´ÙwÛaÍåÑ !Ñýº›Òýºi>„+è¹(ÛzËóSÐÈT<íÖs· ÐM³¯qi«ƒ5@_ß¿„‰ƒ^ &â3¶æE†h¦YTˆŒqí™e|ãs8abÙô¬Ë0të…T€˜<ܸt&?ø¼d2êþ/­ÝÔßg¸ÝHWÀÍ­wÚ–»}YÏ'Ñ,Ä”>’@lZµ!˜Â´:g™¢•ÇÒÖŽt-o›–œMZȶÁ^|¤UÑQÿÈR=“hš%k@çÉXúË®¥0+½4Ñ>ƒç~ÉÇýwâ{È,% á}vtKòETï¯ê£I-Æ é Êî¹,©µ}R‚¼B¢؆4k2[+j¯AÕ«@¦!IÁ.d ¦¤t–þ»>"5î‹^“*¤EÐMã*D¡ÐW¾›íÚ‡¤ƒ®%™%ÒVí”…(.˜±rÊLþòË”©X„ÞíÊÈ4mÎŒÉâãPŠÏ›ÍÎú±½¹÷¾c·/_Î]_/í)Ø…\Áá.„º$˜) V9=˜kTC4@_ÁPBßIá$ŒÐ% ÝíªynišWE'¤ò1(æØHsM— ôþT´ŸJE)` zQPá*DüÑNþ¼ÜמÓ[ÂVÎô!áhá–~S±Jæìp«=?U]WRÁh§þHžZ{l†Å¡¢­æáu[í{¤ ôg¹±6† ë.íÆZf¸>ml °ýó½ø¢L{Ió0)Ìi¦Î2—ÛI†npÜŒ‹‘kHŒ´³ÑyÏ4žÍÍÍ5¤cpÕa‘Ú(‘Îþ‰O™FM‘!£wÝ÷ñì +<ì;Z)—áñ‚é7,¬ ¹†Û WTyÆ\ÈÌAP.p¤«âå&Є•=Ÿ9À b!Ó~”8@*æD$ÒÝ=í{˜÷‰N ýæ¥Ó=™L! ¨…È`#ž;ZôûðxµkIepT@h\F Qî4чü)pÙÅ»ò´*â²»ù->¡^Ýaý]hÝ ìÎÓ_o§Â4råÂ^8;È”tA<¡b5¥@m3G MJŸ–”2Œ_](  åâèâ²\{Y%\†Û÷¸B’¥ÔÙ5h%%Álú&:PC‚Ås}N ÚÓ?S×ú©BO—;y®þ¢ ô_Püýv!N×~@Œãòb„±d±P 寗 ö¹=®øBxW|±zIèøÜÆø,Ö¤å”P’3ɹKGŒ…—Æý§¶t9]Þ¶Lsoñeò£ ˜…‹>²óBãr¯ê×ãS…EL¦Ž5–<:ׯÓÉ´J¢µT2:6H-áÜD¬‘;¸«ž´Ô¢¹½ä›— àZF¶_*Rf ü,£|/N#nSÕâèx?RAå«LɳjMǃ¿ÝÔ&sFÇjÝMù ÈÃfßüRb²ƒCÊ7,`&ñýÈ+/p€Jž4þ*ܽe€£}ôIÈó# ÜM^bLZøŽÍ"3Þ–%bü$â’pϲ '˜€J¥=.;÷ê#d8žÉMˆœ‰L¿Y²X»ïÌoÀ§P&²UüÒ(S‚+Y‘KåšÿK‚ÍþƒdT¤ÅÞ‡ò±ÂÿTà»ÿ7ÉDv.Œ†Ã{`"QæfvâF%iæœ>ýO tñáœHÖŠ„ó…{ÍG€‰6%é+ˆiÕ…±ESÒÜð=^üÇâ×Qæ6.1™‹+¼`p9­±þXSE1燚´ËÓe¨–oÂHõîÕ_fò %ÃüÖÁéìýÇ1>šÐ–óƧ@útíÒýšŠív]ù2§ëk™@‚ûÃŽPì£&|C¤Ï„B5")'‰Áöÿ8¼Æõ endstream endobj 423 0 obj << /Length 2073 /Filter /FlateDecode >> stream xÚ­XKÜ6¾Ï¯Ðe5`1$E‘R€¼A6™Ü; °}ÐHìiÁj©#©g2 ö¿o‘UTKíž¶ãÌEâ£X,Öó#yôñèçNÿÞÝ|÷/Á³¨`…–:ºÛFB¦…ŠŒÔL"º«£÷qÓÕ¶›l½IÒ4‡ÈcÛ–Sóhqdêé¿£œËaœ°S¶ÍCOý'Û½°ªµ[ZÒtgSÜô±é#7}MÍã§]Síhá¸ùx÷«;Tº8gBfQG+² Tm™Å¥ÿŽþkÃÊ•: ¦sÊò‹Ø&ÑRÄw^ªLÅc¹÷­4¶¿Ú²•ôN•‡CÛØg·ý€£SXy(§Ém™êHp–æB¸=¥È/žï7‰ÈUüñ’t†™"}I84Ú,R÷Û•©W¡c%RI8g±Vѽ}hº®é@=©ˆŸšiç¨o~º»ùíÆé„G"¹ó.Y‘GÕþæýGÕ0÷+¨=…¡'O¹Ì»UmôŸ›_t½ízcOÛÐìÔã÷Äxöá¥&¢Ä&sEjÓ(1 “qrõKV)3R¬,œ¾lay²ðìÛh'éH’L°L¤`Ä‚‰4EÒœepîŒóø9”ºëÞNOÖRÇŸkŠ nWccé<Äâpäz´Û­7މ‡ÃÔõt\•£߸v,dÖ^é¨vö84ãÔT8_•4ÞÚ²Æ!´…ŽÇãpRrHíò½ÀxÇv½™5¸?X“¡M:ÏI¼ÙøÚ`àNß{Çf9äEøü|æâ”µÐ,çúš§F2®Ììå!Ñž8¯Ùæ`7Í3¦ÕÕÐáÎyЬø ®*O™Òò•¹Y3¥˜4ò:Wm —¨3®ïàôÎm´ÂRcXQ€¤Ê‘·Å? UîKðÆ 2ò¶ï±ñþíðÜö݃vÄøµDª|Îú³êkû¿K$“uÉ|™Çb5Ÿã¼ßÑO߃+;™3©Ôš‹¤¤yaÊÉ`»ú$ÁKNìôí}ÉNÎUWnÒoqÕ+˜lÀtfð¤oçT1ØèÓá8}U(eîõæ•C òËRñÊ¡ôº\ƒ¬ÊÀ?+®sM¡hšâ¢…Rõy(©J€Î¾>çîmŧС¦ˆP –ì¢Y¹ö2úiò"/ðÿ P2—k}”UÕ{Éj¤—1‹ûû³CƒÀ(ÂŽ(Ý2ûöè´ŒŠ5²`Ò4Ûgl7[üß÷^+ËM–hN.‘žäÞVÀÙ¹Åe!@=FB§q˜kG î ¯‘ëÂÄŒèÂÒôs(o‚*hkBÄV”3dÇ}ÿH»¸û‘Çj5úÀ ·Roû¼È~ ós¬ÿF,29£^ÁÀ”n}Hx¥,Â=×L«ç½»¨TدÀú{"õvw«Ÿv´aÝ™{yî˜kˆåBP߯Tpå®èÞ³e<PÞ‘œñ.xÁéúd´?¬é°çÍn‚ÙME¸õV–Tçf7î†F¦ÛÛztô´PŸÎ ƒ‡~lÈ(ó Ò~hΕ- ;•²Krc4AI‚°Î•ŒAꑆ·øŸ Ò.å>‡œÓ¶Øê|Jô<ïi9%:ËE¿­¦cIÄ”òŽåˆ‹`óK—Žr(÷vš?|–“fmD诌8âØ' BC+؆fuB;¨“¨æ[»ò‘È›nžCFM í+ÃÉP8ýè’ó`ë³x\‰INU†Pºñ+îÿ…|1Ð";L¥TAx ªã~œÊ“д»™)_&uÅ™4ϸã|ãð®ã£˜@™M ÞþDã¹Ñbøî^C×^‚‘/‚VQ°ó“uÜI¼Ö¼Mç[ö8á57ãÁO‘eŒK³v÷4–,ÜNðpÓ…•»òp@_Ϩ> stream xÚÝYKs㸾ûWpotU„O’“Tj&™É&[›l’ñaªfæIÅ EzIÊJå¿§ R¤L[¶ãì! F?¿†“è2J¢ïÏ’£_–Áþ|öó‡™$â眮¢T¦´ŠV»³Ï_“h ‹?D “yÝxÒ]$SÁ•¸Œ>žýý$ÛŒË(š‰Ü<ÆÈ–ëü \U&™2╹ö²š$aIžžà*9ÓIzÄö÷g¿þ#<ÊXnŒŠ.6WŠåi²J–K]¬£Ïqyþõâ LôˆR¦Ì¤ ø‰Ût [—ÕùBè$^Õå~W…}“aã"ÜÔo_>aåªÎ5/âÞœæÞ—Û§^@gÌdzzÄU TbD™2V'ü+PhåL*‰ ,˜÷Û@ ÕXJ–JÝS¬‹«fØÁ´4=U1'ʄϿçôÁ 3à¤dg¿¹‰"ü¸ÞÐï—$·nM7źÛÎHŹbJñWº^z|½©Mx®XšÊ©QÞ¾SEÎׯh•ÎÝÎÞž%&?iõ¨Mg"¯ê¶-0ÔÆÊ0!QbO}RÇŒ-}·w»e]ÒT@È´€ÙÌÓUômË«­­ö;׫@¾†K„P=O=•HjüŽõzrTp>t­krpqí2ª Õ¼r7‡zßQ¥_ïW}ƒJ·a¯+–+5=å¢ÏÍí]ÕÙÛû‰{&ѤãÊ<’gŽ]Ãh&ElUïv^'^èöÍcõ OÜ \V@ßùÊ]JA™IÓW~ìz]®ƒ¬z¥P§J"zþ„·.¸"žô\ê1CN €€<Í^Ëa—uéšY„ ª|žPœÍŠÄÁ/}åéG ºþbTwg˜êê`úÌw§S¨çå&~ ô W.^ôP<jz®Mx:Ê"ƒŽÀ³eÆ9! 1 ©þÀ¸èÝaÄJþÔÙ „¥téÁ:|Ðð\÷¥WÇ®—±ÂKoÁ£/H×E{UÚ;*ß:^ÞMŠ·†êTtuƒ%”¾}ªÄýôC¾<×ñ_ñIÅg^ð~”x} ŸCqùøÅïÞ{ÅB7;<â¶mü;…HAˆ}Õ`ñ_(RXòe~,d"âwí¼Ý”`é!üNî±±5Ð5gæ„ ÞMñ¡ˆîà[1øjí/âAކ*E]qê»â1è±»°¥íPŠW„é+(Lb‡øöLô(1L4ˆƒ©¢ê—fì) úŒ ÚÙ徴̓îîªë"4î¡_ô×f5ã[ãq6½õ‡R¦SN¢@·iÄ ½È»91dlëdþ |цyÁ¤ êC˜Ï ÄGÓŸæÔ³ä½¶iìÝÜÙäÚ ^õ9àMNø—ÿÆêøÆ_± ÄgWßì¥côÄvèµÒ°IÜCÑ0¹õ–~´6h%}æ óÔŠàÀ­\ÛÚ¦ðx &ç\•®s!YÀL}íšëÂÝ X“) êÓ VÉrÞ«¬þÓûŸÞBz÷þ= >|z÷—¿ýøá»ïzÍɈL.Ƙ]@ª‘¡¢ƒC1|ÝMâöš<ø Ø«q-ä²a~üߎ¢"ŸMȱªfþ‚dÎc瓘äöë7[/Œ(Qà”­|ªÍÂÝ2AÏÅ¥³×$Ô dù°*½` U ò+øÁˆ.ñf_­s½í–‰ý¤LT\ÖÕ¥ØL´‡Ô ¼¼‚þ‚. g»ýð.š‰p¡@ßÄ=¾Ý‚…þêØ`@Q*aÿ©ø”¸÷ûJwíJâ‰2ðû×ËÜ0ÁÍôŠØ„÷ƒ›ÀGP`ßÐôšÃ›’¯ž/¸=´ÙEŽá}¿Ü¯ÝЃT>„Ò©xrc¡Š^Ò »µ¨Ïi÷Tt êÉ›Ùç—ˆ§:…‚7÷ÿôG 5K ˆñ?òÂ×– endstream endobj 326 0 obj << /Type /ObjStm /N 100 /First 868 /Length 2025 /Filter /FlateDecode >> stream xÚµZK7¾ëWð¸{¡XÅ"«œÞ] ±I ÆŽ°0Ö3c þ÷ùª%Ëj©§§¥î$ôƒE²XõÕ‹lÖB¦¤„Ì-P3\¼Î¤zs(Ið˜C‘†& ¥ùs ZW f²ÊÙ%FCÁµb G”C–„›‚B8á“°àMá@Ù¼ 7EÑYr M7È„V¬QSSùæâ787ÂM \œï’׊)ŠÖvK l?6ŸªPà–ó*;KÉîCQEo_-^L}pæÜ|4uΜÂÉÈ*š¢È.óåbVIÉV# yoˆ•CZA¸ëŒ‘Ù@¯)ˆ¨ú¼‚Ë šÊ˜IÑI»&Œbhòaç•Ú|H©$—«A!äÜ4äJÌV "ˆ@ÉU%ƒ•½dLZŠ9)ØRîXÅjÃbJCGŸ*Ù7® ]:Ë­€ ÈToÎXT•ŒQ—ŠñpSC­˜ÕrZù(Ö‚›FX^â Ée+A~Pœr*Ã+ƒkhK’йãoJÂÂñÖÚJM a`¤F.rà T)x°„v$ÌGèe@Þp0ÆüBxãê†^‚I׫+‰W¡Xõ&@ØM/€^äÐGÞËÀ¶0šZvb -©ß€&W0ä计‰µÕ‹«õá-[û%¬ýíw;VPg¦˜ ¥ÛÏŸ>½[}÷]Güj{û^¼ëW„yºéú½"ÈÊqôõ P‡iíŸ`…lõаçC?¥(as˜vÿ+ã¼ë†Ù×?ßm?¼Þ<„·aýó¯ÂúÍæ¯‡p`ìÍ—?7h¸ùßfµþLnnîÝ`¼ûjýËæ~ûùîÃæ¾sÝ«ÿnþøxóýö¯ðÖiJ+‘!+Xu´ö³ÝÜa—ùËÛÛ-F|Û¹ gédæ®}µ~ýùýC÷üÓÇÛÿ¯ÖßoïþØÜu3¤wë¯ÿ³þXà;çéCÚ¢9ú™£»²ÍM:Sä" {ÙÉûuXÿkûf ®|øø°‰n?}y¸yÿióO—Ξ×%ìäH—©Ó¥jŠ%÷UyN»Ó»æ+@2‰˜•£Ûàc é+{ $}8õ!°é H¨ó‹<§«1£g˜Ée&f°œY˜¡îထ莲rîvá°bÛ5·˜X1sÿùý=:ÜÞÆ—‘O1“ëtÌä_Q[ w<‰Xr†c±iÄy‘’L#fn‘$/€FÄ|nrÀXõX;ŒÍ)Ÿ"®ÐLÄÉÎ$<4¿–ýµî¯º¿Úþº[¦'+‹"¶Fõ©u®…Jއ<Ä( ;¹Î·E:FêLLcjîeÖƒÜ$&¤=Ü4Zfâ«ÉÔg`CKT7Þ¯lX‰&6ʆ>5GÏU8¬~VñÜòS>DŸE$%EA^và¥ókö/ó3ð_Ú<ÁúªÁ³åQõ´g`ƒiƒ®Ý‹Œlpñã(¡ô |Äšì=IÇÅAü | $8íà‹HÇùȧá®ðôpwLËÒO^k*Ü™Œ w›Òuyt?`õBÔ§xJ]2pÌÎ’×v½p)È3P}V¼®OùŽçŠ· oäÆCÄÒ("3ŸŒôk¤>^úÉp/5Y ~ªõ Uf¤î¸õ͉Ý5/šiÀD=©ñ¼ÑÅDÆQ}#‚ˆ<×Ì8<¶úò ¼è[#¬ži4dážæeɸ–[!† tè5DCNë.­ð^ôÔ–j™nK}Úy”„"<˜jdšhL}ÑÙ°¡õM«gvGæ3ng'åéQép­Ù)›]»ÈìtWRIUÓ4uMŒL} ô‹ð¾‡aYÍO9ÔáìÁ%’ÐÛê.0¦6`LÜZ”2Õoöé$Óé)½dO²§oJ¿RÍž#œ¨ÙO#/P³¤zb1~ð9U”'´ã™Î qQ‹iêÈ b[¢z’%=rÞ8æ6ûšžŸ© ¥sýÙ5úûf¦~ø¼ ™úncB”ƒìý+0àÅbIÉÍõéØÓ"ÑOɧãkè|jŸÇ`ÐWîX‰2r†ØO†-%¯ÖûY¤óCÿyvKÓ#Ý íÞ™cUºÊ¼úrÛŽ3Ä#}\-X;l+X½¸L˯¦Ÿc÷åx‚ëùÁƒÏƒÏ |Aðà_5Ç£ÝAZ$9ƒ[îÃÄT¢7LÓXë}åxKoÇ ·séÌÁ;–d·Û}ù³d¥”5úg^…ᦑDúþ|E¡”säœ/-”f~IS5ªøgjê_Î ÇTqêÅaäúø‡47ww7_Üô•[ë¾…‹þm"RÇκÇe#‰À endstream endobj 436 0 obj << /Length 1831 /Filter /FlateDecode >> stream xÚíZ[oÛ6~ϯPÈÀÌñ~1°ÝÖ¶uƒb³©QÛJm9I1ì¿ï"%ÛQdÇálØClš¦>CžË÷YÁÙU†³—g8¼# xyyöáŒÀ ÎHFA’ðL1‰¸àÙdqv~³)|ùm†3:»õKSa®`<Ï~9ûé ¬&,ST jd,,ÇÈs*× qI£F[…шHu• LíÁ~9>ûìBI¦‘‘’gã·€ª1`*C†±l<ÍÎó7„ñuqc'å|³X®c¸A6 –6K.íÕlùǤœÚ?»–Ì–•]­¯áφJ+‘FX!p^ †‚Š|øEý~^\ÜŸ8„è~ )Á8?F`âsøBÀ­Î pT½„»‹‡·ËéÃnßÙÚ‰r9ÿXV¶˜Ç±7Á®«Ùòªž˜ëpÁl]¿W-B¼-Wõ`>[Wç1)—U1[6¨E.°Å: «Û²ع]ØeµíéÖ?g_¹Jyü~¯×ö:ŒÞÀËÝèn ï$LÅm¿«mÕoþ’­Ï; ; îÖGÖVf½w¤ì’«¯l Y&õ)e«ÎY,2TÖ9P5A.ñ®>‡è¡°‘妺ÞTõøÖÖïW¶õyßJ¤¢©«« ÂW×´¨ÑV. †BåH1r¬/¯B2$iÿÆÂ©Gn,D)  ;‘l_•BXËĨÑTè/ÊÐ~PÆ‘Q¦3þßîY”#&¥‘ûսΘö -Òðüâ‘ËŠ|î@k$´ŽëаBPH>Æ™[ a žEÙ. ¢8ïº Ä¯Ø¿Ç6Gí-.:lˆauÐuÐòX#v†„KµÛ?öb¯ÎH‰”€ƒãpô¼7É8‚ Ô;×Ã.P0EÓ.xìYÝuœ§ía¿œ´îw!2D¡—Ù×:cÝ89Åû '€ ÃN)œMã¼GvV€ ¶øšoœž¯¹Ñj@t8›ûìÂÏÞæ&kÞæ¿·j‘ÂÀó67¨y[}ÝSsŸ‹Ð«Só@Ž©¹ÁS{¸y{§¸±Þ¦m1\sßîÓ¶˜´¨ÑT§ý¡â¨Â’ßb¸¦HB!¼Oi©Òž}v¤N]SBî8®ÛÔŠ‰ý ܉V‰ÓmÏêÀ€]4M™¯ðž-ö›m™t›jµ¡H vÐ$s¼Iíþì¦!C¬Ý Ã0û|>T™NŒžÊäÁ O•o‘Õ&çŸ5³çB#Ý{‚áH³ …ô«rq]ÔeÒ™Ó±¾2jžWeœ _5"ÅOúËnËÍ|ZO^†…WviWEe§aŬzW¶F®Gð–qߨ%`¿eì{#’¸åBËiêAZM€*¨K¢O-ïßú¼áM·”‹Üd}”"ãR™ÈÔŠŒc(™B%VdiQ£­ vžX‘q•2u»Ä ¬S·Ë¤¨ÁT¦€Ÿ2™V‘qLâü(M&AaöÏi²¿Aí‹2™@>U”Q‰0¨ŠÇ+fà -ž¤h©‡RZl©2îd‰’¦V%¤_”qƒ¸’'èJ•S™Äe¦*¥*sj¬O”A^vP§‰²Ó³¼§v:PÊTZQÆ€¡`Nþ[¢ŒqÑdw&sÄGv™´¨ÑT ûÀTZQƪÿeÿfQvzdôU&UL§eÉ)hMî¬`"%¹w°Ô5rcRkê:"'‰5CZÔÆV÷dàˆ®¼²³?±ªÂ9ÿ5Ð’À^Åb™BÄ»¯. C~|?Jšÿè__ûןåãÃùsÿùÿ:n‘¶2M–ÛÜX‰üÕÛØÒbs{k‹j³Úëx›µ~¦BïZ±‰Ú›Y¼`mo@[ÏÃ7›e|€nó]k˜~YåÄ5ÅHRž(ÄñÁc§ãN+·Ë¼Ÿž~³£Nªžæô­éß‚3Ëj,„Ö›õÔs@€Ñ QNvÉî弜¼¾Ñ×I¹‰^EòPÌgWK;Eî¿pþë@qhù“wÍÔ=¦p[¬7ØÛ ö÷‡ÿ¨ƒ ó5%ûºœ¬ŠË¹íÜ&h¹í£œëbò¾¸²=’Ê‚çÞ_ÂbÚìúû±Ü„ue¾»?Ÿ–’¤¡8ŸÌmÕå l'™Îj*>©f7ùsÇ{ÿÕå‚‚K+ÐwP¤yxàEEçjˆ•¿wØŠh endstream endobj 442 0 obj << /Length 2477 /Filter /FlateDecode >> stream xÚÅYKs㸾ûWðâ-9cað @ •I*›Úš=%Wv«f÷@I”Í,E:$e«öÇo7¾dè[N.‚îF?¾nÑè6¢ÑÇ êG¢a?/þsÁ`…F,bŒÅâ(ŠÄ2Ž–›‹/¿Ðh/ˆ(FGvë& '4N`^DŸ/þq”¬f"J¸$ܨCda;%Fš¨ÆZXñ3SíxU %Z¡ª(Ib½CõÛ›‹÷ß3Î"MŒRqt³¢ 18Äݬ¢/³Ë"k¯~¹ùöJ"b[9#±à@Ènºó;D<¢&H"d·ã!­Ët“(  dân_îwLøR„óžÒ‡„v”—þŒìë}}Åô,kš¼*C,% [9a)š[£­ÌY oO•û%gÁ*G5Qq¯ê?^͹„_°(Åpiì– 1Irú•¥÷÷E¾LÛ0ß1%Œ™ï9×&Llš&=ÿÕ}V§mU‡l Ôúd’ìtFù®~aCB¸R‰“Zsê Ýõ3¥"@iΩ ”'`àʉ~E @!ô `âH†hÕ³UVmè00o>øÊ_+¢ ŽnGmµ PašPñÌÉhBØÀܳ±+-×$æÿç‚x˜¯B,HW;.ðïÐUB4’G7õ6;¥ƒt$aCôý>-š E˜0974,$²ßsÕ´u^Þ†èARÏŲlÃK"’ÞÊí‚HЦ”Hª÷è‚è>ýýL% ù&Äfsú¥¾0ØOøšd*`‹‘Œ®Ôë&ÇborÐU€­äìQè›oB^öÁôévûÛoûˆ$§ùðá DÞ8ƒ8:qN pYþ|"¯–åÝ»3¨ôݫ٘¿šÂ^Má=îÕßÝ ——‡j-¤ªSÝWk¹Jb ÄÅ•‹¾žªä„ÇN¸ï&ѳ¹š !f©[Â>[ló¢uëk»Yß>-ªªÈÒî æYÞÞe] ct|´‘€ã‰s GÔƒœ*L‰ ¥Î)%È’#ú5°)E—ÅFLçe›Ýfuc7Ä nëP—š$Qƒp/=æ)šêjÎ ¯²e¾th€êHØÌaÒrå&^»yµmЧîSÀº¼ÌüD%é¢È÷¸m0}ÛiSAñfgøÁ×C;©Ön´W”ÛÜ"Oî²OC@<šÌnî€"ÙnÚ´kyQ¸Ù¢ÛõÛ´Å“ñqYmî¡4ÍP|N[7¶Õ6ßdÃRàú$O> šQ¡;½?Aïíe•;V—mþ¹ÛÛ#ün"lÞ`‚ì”^-A¶l…‚3:û´vïÒÒYí6Õî±Z.·µÿ|µµÊms ]»…â®é¦†¡|ïøå!‘ EëÞ"o¬1‰cÀ* åÝѯk€'£åŸÜÙþ~`¶Nó‚x;špšL5ñ¯+Ãgƒ] &gK”\°ØÛ0.á-ãxŸ¢¢Ü¼­Ü®=r2 >JÅ[JŠ\Œ" ðbÍ —5ÛËÁÇæ©i3¿§È²Â‹õäFçI®ÄI äjª¤=& KÐþ.çEHDˆBF²#‘Šäê£Ù¼9NÜkc#‡5´¼Ì¼mÞ£ý5þ¾ãJרKâµæ¼P÷&ÍK7Û6vIÛ £0ƒy7úý˪\åxŽ Žø!Ç嚸ןÑù¼öYª¾ÜäŸ/¢/v³p¾OA>ò…˜«Ù_[G©íy…èV¶èVFÏlâ°IÇ ‰aç.+ï é“›´~aˆ…ãt€[îü½¹Ójº7N=î)/»—‹åP¿Ò¡½q¹®êM cÂFÃaŒtûEä¤ä®ÈP \¯Äjª?ß„)(QR:û{²Ç˜ï ya2@Tã“ý'”Š'Ô²úÉMë+=Ûúe«÷¸¾¦„iyÔóÙK=-ð†»+0`Ò§¦xƒ2iÈoápk‚0¦~½±àc·ìø¶#_"6ÀÕÎäð{/Œ´púÀåÒos«{ð¢s óY<†=2¨uPŒª±K:âBTS=;À‹§»üˆ'¦ãå‘ò™×M™‰b·‡ûXy¡ÄðÞ[®C”ä¸OÖC à©X§Òï€Hu·—~:û æetæB"ådYV«ì‚Å­‚‘97mËìqÑi`Ø›MÞÂlÙÆEÖ'–Õ4ù´YÓmANìaÃdƒaú$&4‰§zúÔº–u>ë©ÛÆ­ÜW€åϬ>Öy›¹éªZn1çú/m8‚åÔo´ Õô‚ âŸÜÌ©ÀxàacŒÝ½J·m>žÁ}]o ÌÌ‚*{4Ž«|dÖÙcpÙªÉVdœYˆŽ‹™Â¸IÍü¶tíg6ÓãóŽp÷®àÙ‡×c5°x»læØXgi»õu–[Yx ,ï²å¯É—yÛtWžÉvêš!JW ÖM;Æ`õ؃p _@מ 7ümŒîÂ@s(w¹ûî[WÚcu©w*ÅÆ-.»· [¡&Þ%p%÷oƈQ¤§â»æ©lÓ¯nîªØdÖQÜwc²œ|Ë ÛaÚš ˜™gXô@O¨ë³E‡Rçþ§\€‰ªÏüOùy©v¼r Š>L*3lÏŸú?¹€bh/!|Ú”Š$ƒ¥¼Í_Ó»}ú¹h¥’éŸmŠ»ÍH¨Ó8S¡;Ÿ]fEP®éBÿ›¿Áç €•毓K÷r»u£«}®ƒ«®\9ÝkؾÔ2µk‘¦¢ìÌíZW€…—ðqÀª‚›}-  ÉÐc™Ós^°RAÕiíi¸NhM*ÝÆ±:j*w-´Àôë1Ç·D"øÍÂ/¤õ"okÀÜ…±I˧ ´dà$z·¶_pÃÃÈS®±o¨ÙìÇ» o"0?N4ŒÈ¡¢¸ ŸE8áv¦¥mÁ\ZV[(4< E´›t-|½Û´Úµj¯}%@¸Xîô¯mw JÐUv®bÛœrð¨2õ}{Ì[ÿCý­‡ CctZ û »°Á÷€åJÛ›j‚‘DíÇÒ•»½ì¾‹cÐuzÓº¶súMãLîz:¡î°ÇõO‡›»p‚™·m}Œy¯l;lGÂŽÿü¶¬¼}I¿­ï»Í%%ÀèyVÁ­M—E endstream endobj 448 0 obj << /Length 2928 /Filter /FlateDecode >> stream xÚµZëoä¶ÿî¿B P@²¬HêÅýksIÚ}œ ¸K®Äõ ÖJ=ìÛÿ¾3RÒ®µöõÚûb‘CŠÎó7³Ž‚û ~¸‰ÜóÍÝÍÞòHœ3•$"¸ÛÁ³”ÇA&R–*Ü•ÁûGŒ³ÛMEá¿{ÓßnD…펞EÛ”ÕPµ®ûÛ_îþ‚G&b*)žžÃ,¦³îö¦7ô¦înyºIßÌùÁÃÞm?øomCãñEN¾AV¦›Ò5gžxÌTcöâÄØ!Òg/-/‚# +v÷ß`N‚@ ÝÐ`¯‘_¥Â²ÚáÅv†î× ´áÑt=0×Ó ™¶ÏƽuÔGxÁÒªf±†ƒQõf í¦œúv´)¦‘¨ÝŽ›@iq¢Â?› Þ̪bqã£y5÷(<8Åš‚Rh I}ÿ5ÒDXï'ÍFK$,Ž•—ˆXS>È9~Çe"†—Ò`#˜”)Ñ¿wô<Á‚ü3qbŒœíMÛr, ­˜ L¤£1Kêå‰z¶bwgqR‘2ߘB½™w!)–quaV(b垇[C„Ò ÔSù±ÒDw´YݸźjÜ[í-•¨¨¯bÇhá)ì š"ÑEAwÐà_?Üïí&uf©–㶤aÓÒ©‡¶¬³Bûó. à™§-Í ç•󰯦ïuwrû[·ý©Š=½u³oCND\¤ŸãxjK”`&kž• Ë&RcJ« !H;èã({÷âº0uMgU÷>ж§¶{ ¥í8ø7éK2ì÷íX»/4í°&T}<m9sŽœ¹OGi¸k»ƒ²• "àPµ¡ Zèlôó½Ñ%Õj•‡züXÕ•U.:£³á®Ÿ”Ͻu¦h+Ì™¦¨Û?:ÛšáɘÆ9._úv±$˼Ðm“ˆ$| ¡Õ¬:ºbɬ$´÷•C¹b2ɧC1üìÖ“’åÙ6ÊŠâ(¸Å£y;¸’AäÿÚ¿«Ó5¿VŸn!!†(ÛX…()ÔÂ~º·µGíuOkzðܺÝ€©hR:Lw™pp%¬ŠD2Að ÆÕ%—gaÕ²kzJ5s&¢ô\˜`Ë`´º®1Ä<<ÖF÷”F`ÖŽÃq0oÄÒÅâØY%|¬t³ç‰ÉÎIny8{nÓ6øØ}éˆ$ve#øö”ð(¹º:œêEšõÒ>‡ ¬{ò†c w_QŠ,Î&3îÖŽEr{ódígMÓjJ®>™C{yÌA2=¹ü9SÈA ™Böª)L¨aÆ3Vù2J &Ï”š9ˆ­ªAC5ÍÐÔñ¹0&Œ1" wD9к&â„ãð )çü9¯'@| ˜Š/r ;¹t… Ë~®¡ï™úvºf%Û1‚Ýö>úÄ7˜bßT¿æ<ñl`.¬ É;J§\8çä,ŸŽzàÕjÛ¹|Ë~zš8ÈÂÏ·¥{è6êf,ÝÎ5?KVœ i““Øë%)pÆ/PƒªVrò ¤õ¦†ãL‰@Æ”AÝÞmf[¢ÑEl=»ˆtržcÓcUºOéÒï¤ 6ÀÓcS®éxkœWhg"ÇñI%Žßõ4™Ê»Ç awä —«ÛWòˆÀJó)"Œ äsD€5'@åj¹”C­Ä§àÿõÚ±1K¢éÐþ¨ óxëÚ.Ìrƒ(^:Á äæì™Ì ¯ºLŠElŠ4Ú¤8U.¬—ã[‹Ïal¡&.-së)ÐÃüÜ& جI6NÁq¦;é®Óë!+Ï3NÇ~]UœqÉÿËóLóX¹T ø€¥ “3»#ëmäq9vý¨Ž&ínx¥ Û)îz;Öº[IŠMyÄú IÒ¤1e‘©Ûâ¡÷¬f%,zÔ„ÌàŒýêíSÍB²nÿ-:G^‘j HfÊšW…*cƧäêEä¤ÁógU˶äLðéÇmûÑ”×°e,毭ŠŒaÆ©WÓ½€Ð/ϤqÝ^Án’éŽ5xÊG©Õ¼39{·õ­R-2Ê<äÉ\ì„T`{ým>-ìÎ}4ÉUp–¦Ê¡Ûu8)¼yÛgÔêÀƒ`p);BƱ@²“~<ÛÎ`œêæäféS]Û‡–B óª@%˜¢˜Â¤¢©»b±<sèÛÄ<¹VˆŒ-´ ›4„èÓaÛ®÷µÎ£*$‰ ª®Ÿ°NÌ]EšKHãXDXš«"íȦN©'O•­*`´uË$‰c­ —Ù6<Í :¸(p¶˜\óŒoæ²°¾"Ï]ì͘"Ϙ"Ï<‚!uXD/»³l-d\Œ¶Ì¦=˶1ÎõçäÝ8Œs~¼ÌËsGlÙÆ»R¥’%9µ*âÏ«¢kP˜ òÏlŽêdœÚ~è&ËX XbÊsÆÎ}3ôîòÿéÊô,™â®-¯OmãJm_3Îߘ{® ³TÅÓñþï ¹_IêÏÛªS7Uåað¯§!¶ƒ„BU q!eª_‘ a¹·IßjˆvE<,Vñç¨àÓ‚ˆmWÊð'Lp0RrߟRhVG‹(W'f$º‹¶5Qäß|´ö©rïë ¬ kzá7ý¸í  ûf 'uâÀb*O­W!ͶTr¬"’ñÁùtöÔyÎø6c&"ªpïAWî ãØ[Š5‚aù²ŠM§´iõ#!pÙ¨Âc*Ý1ÕuûD$MË!ÒÞŒ]eZAKO³…à”Έ1ßšnpo#–ì=Ý…šW@¢ÚÞŸVùï¬çÐ W¿ )ð«ø•š™³%gñY:v5ZA!»R¢ÙæmÕëòQCÑxï(VÈ‘òá) =»©2 >po¨9»‚‘šÁ;=ÖîÅÞ¹¯,Jc·wlz=Týî4•[ËîèCšÎì±A¬DøcûdÉİÌÊIC<œü?ËÉ'²ÌW[UÞ@ØV÷nîoý œšÆ ¾§U‹aû*€H¹!s¹žîJؾRx¡CféÕN¸¤ˆ¿\H·â‘`ê-Š.WYˆqXÛM½=Ümˆ×¢E(ßÁ޵⯤›ûÄçíd“:Ù¤á"OmJ«3 VÃh•’ë€gý×#ÿÓŽoÖÚM‹®¨ûƒ×f†š´FíV§˜©&žmX>¬ª à3úÁ›äE4ò}§ù­ÞÖ§"¸7ÃÅo ¥é]çRãláä¯+Nðõ@ÝŸh4tUñà†-=±°óË$ ¾,ýqJ¿ºñ«Nå6}± G_§`1s>Å`B–ãáp‚Aì˜>šNm×;Ð,°™¯¶±"¨ [zúŽ–m«+X*ÚÎ ýH%¢ßKh ²ow›‡#ËžÛbUoR0\˜”oÚz:0L¿ÍÁûË.ÎJØW6J×÷y¡3œÏEÿiŒKׯ~¾Í­ž+9W׸ˆ½#ˆúÍ="µX…omS_R‰¯ÁiÑÇð'²)ÿÓ¡ŒÞÃó~¬JìSàó²Ýz‹Qž.œi×"˜°çðÔzú¢­‚NwÖV¡ÇYÜð燛ïïn~s­V>ý˜Ë2‡›÷¿DA ‹ :(óàÉn=2ƒ‚/Ʋ¶ÞÝüsêÅÎ'Ÿ›s.Y*øKÇÂvˆ’‰ú„Sã\2DêÿßS=¯\A•™¿rªÀ†B~q*ýk0„1:¢(Üp*˜Hr÷˜7)ümí×Û Ørþ‘¦_ù‡wâ~å½_ééßûÀeüíW/©ØKíóïwMjh8\%,'ü ÉÖÿCå æ)ÁÒ$ x’3øE‚ìì§ÿ„;ÿ:0Þ÷ endstream endobj 454 0 obj << /Length 2173 /Filter /FlateDecode >> stream xÚ­Y[oãº~÷¯(ªµ*’º¶Ø‡mqNÎéKÑžX`wÈ–«+K®(Çýï›n^9Iy1‡ÃÑp8CÎ|¤}çÁñë•/í_nVüYù¡“zi¤#çæÞQJy‘ œXG^”*ç&w>¹·¶¸úró7UþDVûžJAÉ܉ÄL[âE±é%ŠÇ¢}:íŠöJ%nqµ6AäŽ]þÚÓ¯#ÏqÿyÝ,Í ŒCdì!ÛŠæÒbºyaKž"ÿpbßÝ;êv"›»fŸuå–ù¨¥¬x¬¹gfµ³ýü3hí…*é ÐK6^š¨^â%€ÀÊÖÚ3&bþOÂOåL؉½6QëÔΓ†!šc•ƒu:uö˜UÕw{Ȧ.¼«uÄî_›üo ‚»è‹¿[Œ¬J•gÂÁõww\›ôbtaö³nÆ i!ÞJÃâ‚ÁS¥]š(­{‘YpÙQ&¥sGQÄuè_ ¢G/ÆPÈcŸÇP;öGž÷™´ÂŽÐ*©YÍ6«Y/îæ4u^¢ê¬ º†Eî›Îóìq»c*«amYÇöÅ`ßâ@«B¿šyŒ¶MŽÛÄ(Z¶›¦Ûõ¡0“P„©gÔ°K 8r!`vç±Ï~è7í’6zi:hƒUì.hÓ™hSlcVçLÔÅi\íž*!ÑCÆh÷¡¨‹|1Y? [tÜÉ›íq_Ôâ$©Åèxî&šP›@ü…Ô©DeH‰Ã1øÐ]>ûæQ$ï‰ÑìEš ©®ÛId+ýϾ¯+Ì ÆÝŸÁÄív˜\‰jÄ„¦ýÚ›Õò¬ÛnÈ4¸¾ Þe°Ó%‡Ñù(pºšRÃÊK`gÂÏõê§›Õ¿e«¡gÈg(R¾`äÃûç¶k¿~ÔÍ ‰ÎðP¨L^€º&p(—PÏ*¹²/è<ä³ÁÓäxn©hXíÑC¬(‰C3$q¤#yÚ•=·¬«ŸŠàÀ+›ëï|m±òQ^ö…­|<× ÉÝË&i °X©SOÃV°¦sỿÖUÙWBÞ¿x`Cº$j¶C`8îÇ¥ ­ãØK"„ ˜Úå¨Åß*M.Y[nʪìžn‡‰‡ð!±+ªSÝ•r!Ûrû•É 'V%©—$Ñ[^…ÎO,Î^Ö]Ã¦ç …¬ÛiE@ÖC!md ¯/èJû§Â³“wÊjÜ·*å½ -!i¿¶EÛõ´Dh^‹RaÓ×­¿Ô¸¿èf@úûYyçÎÄ7Uƒñ Rä–·´¢«–eöPlˬb99_ ¶cxvx0ã>ü%³_‹ªâζÙ# ýÓk0Y Ù‡ëÛc²[¸½-&{[­ƒ­~éô…:‰Ü‡DþZL€¡ÈñŸõ;9V_àx%O¥r7Þ­GexWÊSW|[Ò¢À®!×"13 µ ó¼[ÿ÷5ØçÇ}òö àø¦æ±IBÊO´¼_ ÐørÛA î¿xaNv8Y+ÃtoEf/M×A è¨âƒ‹¦7§zô=„Ö$/è1-òâX/qš=D.q¢HiO§ß…q¶Þ¶K2yfó1³1¶ó](p_å'%d ä÷øÎw›c·–TjÄ„gåú@o.i:Þ!ƒ0’ Ü,„\›=H—’OšöWË4=s6É<h€Dž1#?î÷O2vÀÛ5]PSIÚ¤-“oËAÁ*ÆÇˆ³›i•ÕG¶KǬ [@½ôŽ´$HÄ,p±ç›¬Žûç øE‰áJäÐÚlÛ–è‘­|ÅáȸcKoØ}̪2§"=rHOm–Z2»¶§Ê=ð=ÿ¡ÍðªŸ"àiy¤.{¾òtP104°¿×,+.RJr7°¯Æ¢—öEÃA‡Â÷Ú¢êðae¶†Y™t?Aá 1‰i•³Á6Ø4=*ƒ ÛÉ#a³èe=üë—¾€ì–qœÿ„3ÞžÖ†£õázQT_|8•’>¢ÖE`@ÖgÀî—áuUc`èMN³ ßk£ŽœFlk™É(yóSý›ŸŸ¥ˆË¢à½ ï„qÛ‰ëv"{[—t-¤ ý’$ÎN Éͱ+ø]Ã>Ýg-wð¥nô„?ö)­%PGÏÞÞŽ¾½Ó^”œ½ÓõZ?É‹§âQ&èEÔ5ç¡_ÆOí“íŠ=vü¿¢¤×Màó˜v7™¥SN¹€Ûi†ˆäõØYžÛ’‡TdP#á64÷Ñ4#„óêc_¾ nXÖ°<C¥S¸œ„piM®'‹ÂPÒÿ•€k) endstream endobj 460 0 obj << /Length 1313 /Filter /FlateDecode >> stream xÚíX[oÛ6~÷¯ pÚ™ãý’¡@3 M7 @—øa@’²-ÇÚlɳå¤AÛÿ¾C‘ºÙŠí%ÐyIñÜøòðâà&ÀÁYûièÀç¬óO‡À€‚$ábqÁƒá¬syƒLþ`ÄŒîrÒYÀE˜+èOƒ‹Î;ÅjÂE¢Fn äaöÊ5C\ÒK-låÆ ÁÔv©”R­‰ýµßùù¡$ÐÈHɃþ¤*d ˜Êa,è‚Ëîãt1 ³£ž ¢ûé¨G°ÀÝ7nøCÑ\÷AkÐóæ·ð}rmÁwEÿe7ÛI¿¾ÉÓ“Áø‹ü¶[ÆÅé‡5£k2`rÓÉòa0¹‡´&ífyÕ¢3‹gÑr7ëðØOb;cß! 8ߺ&)m´Í¸!^;ñVù º‰“/Ãt}k³ rÖéçùÂõÞ…Ã,]ø…\6÷Â×Öa²šÝ† ‹·P¢{ì~þ–d^Æõÿ§ù6œ®¢£•t›^J!”|k•j-Aœˆ¦q_½„‹Õ,'³´jÒ¸ f\쓺1oü¿¿£qÖ´˜`Ü}Ý$ZÄ7“•UM5¢œ7U ›¸?¨²"³Ó+-è¬ÚžáˆpÙÔ[bçµ½‹t´ Ÿ>|¯ž|öú|è%œ<&œÔÐÜ”WÓ—ˆòQQv•eOH·•eV,SO)˘u•p\juà a¨¾óUZWÚ'#¨žÏ¢$ZÄCW…½—GÓ©DŸÃÙ|ZÛÆU±gq,€>;;IR¨ëlÊjtÉ–Ò±kC×Tòa8Ç¡}¥±ƒlúÞ0LlGu^Fv?–‘Ÿ]-]É]ûtàmÃ5Û€ñ*5¦möÛ3SîÓ~^ªCéc u %±ôI¤ÿ¯awÔ~ÿ¹aÈ2¹W†`•ùõp að„Yœ&¾Ž}û0ôy>ß±»‹›ÀuÎÏ: Mø)çq›E#ÿc$k*îOrMÜ8ܹ†ót¹Œ¹àgœ@åí&lF?y¦d8]Ü*¹ö•;üÅù- ³ø6ò‚“*üe¸¸w$YêÚWzeÅŒ.^,—)Ù´?Î<^‰k°Ëª›³æMð©ÂNtg_VZÝN‘®be˜ŒÚ¤SBDótzß&ª™',³ûi„ž)=$d †ˆÌŸ?jZi!Ìü þZåX endstream endobj 465 0 obj << /Length 1836 /Filter /FlateDecode >> stream xÚíZ[oÛ6~ϯP pЉãE¼ÈC÷°a+:`@‡fOiRȱ¨–-ÏdA’ÿ¾C‘’(›¶”ÄI÷°—H–¿sûx)WÞa{E nàÏû£¿<Á !H(L ˆGÁåôèìCxù{€‹UpSˆN&)‘„û,øtôg+¬",T!ªø>XH˘‘b(ô ˜¥ÅHñLF(bLlÀþ|zôÃo„ò@€J¦‚Ó1 ‚ú •[œƒ³Þwéø$äŒô–«Ûldnß½3×Ùèæ2ŽNÎOAi¶›Aã|1MVFê¢íýÅIHÁžE=./û‡­ÒϘãþk•wwo}¡½ãû‡6¬ÉN¬³ ¬ó&±`£lÙ† . 4íêåVp>ýøäØèÑÙêÖ 45®Ùw‹úÝ#Vh˜¤»5Ôï¶4è÷§¦Ód6¼+ NÀ›Û‡â”_çóѬøaž,'é<„éRÓõýýÃC'ÐÅèe–/Gw÷÷.$ˆDÓµ~òÐU›:IÛLå…©g°ÔÅ4–žoz %>b6æÐ¤ !iCX|ñPzqw#ÞÒ7z™^M“ŽÄõŸ$óyÇñpŸd™SšÔw_Wì߈6 <:nKä4Ñ,h9žXµ_îŽö·Ö?;hEtEë¿í£FdVét´ÜãÑlÆ;'£«tv§;gÒ¬nç¶+ý‘Ì/LYzkÊR$UÁxíÓÌ™$JU·²•+üi7õ}èš¿î¸å£Îh!6ŽV]\©çØ’TÏ#;]ж‚º¬Öb…q„s$°pM,ͨÇ/ñú÷ªÂÚxNKìâ¹Æ+„£8²Ì2\˜–Rf¸_N&ë:!\öúà`߯¡¶fâXS™í@×*þš¥+3BÄXôôÏF$™y´áÃÌȈɞi7¬ÊCºoè§õÔz¤™IÖ˜ ¬g4d6ÍI%Uê·Z¶Iª0?WûÂâ¼ÚMívÞÚ´\äÊÉt·úÄ™å5pU= #§Ò $±6ýþ µ žîÎú÷×SϲúKà} Uù) ³²Æ<ˆQ,¨0+k‹Š)¢‘ñô#4wÕË/GËåh=€ã^:ÓëÁÌÌ%¨º6ϳÛRÊUA)İ’*VëßÔÕõÈÜäëÕ|½2÷YžO–æ6±×qžeùͲ¿/ê¥#LÁfF²Cﻘ”jÉþdŒb?bçuXÔÒV*ãvâA&ÒÏ(HŸˆ C"XÛÊ‘ä¶ð¹êÝçÅß‘M=‹œ±” ŠU™z(½VˆSà‹X/!¤”—0¢–`H°g nóRà3ÆÌ!‹RæÜg²Òråõ6¤¼²tUs½Þ¨Õ•îQH*fĈI HŠÀ‘Ú Æ5˜±£¾è`¤7ËŽÔ;ŸJ „­¶s¯ín˜âJ¹¦¿ñi&Æ‘èª-ïôƒ²AfTƈªÿ ûvõ¸ô[x”À$+;Þø   `^‰,=fpĈ|%Æè›ÐWu¢¯jÒ×uº‰¬Â£|6qDëV”øìa`y‚sûÁ¶œ±Œ1p¤—¨Ðziž>Ÿ¦b“¦Í)ñ!)ö-³àš Ž0&¦‚¶ªÅ_¹`p² ·ä0%ë–ȱÏ_†${™‚ðØÔ7XˆaÉí™U9hnŒh BZûʳúD*Š ùÿaæu’&â.îKØ1TE%=€ïé+9þi=Ý1cxÇ’¤’«íç@ŽÃTŽ¡r!E7JþF=ÅPv©=xQnà ¸@ŒÆ.Ú¾Ææð ; ´Ä ›[\WAûy–p6!„¬®×e_.—wˆqÔ-Ä<ðImô"ÖðÒׇˆd ÿÏÌWcæÂ´„Ÿ™”4s²Xîd¦³ÕÕ¸¯ËÌ?ÄV±-‘‹Q'fêZûbÌ´ß<‡~z2E;ѓ՟˜<©¿;O,8RL8_Ú¨¿é‘zšîÊù³õòÞÏl`f/\*Ÿä¢:Ü,Q[³¤ípáßx÷.hØç.°b­g sº@yT,y̦ ®1îý’d—ë,Y¥ùÌ|éý“LçÙÈwŒ€aòë¨ÙCŠÓòìÀ¤³«&Bñcyß”g ærYkL2óhn¦~>£Á5r:Ó‡:xã¿ 8“bÝJÈ7¶ßö Cþþ–žÜ) endstream endobj 470 0 obj << /Length 1413 /Filter /FlateDecode >> stream xÚíXKoÛ8¾çWè²€ŒF\rHŠd€^vÑívo‹õa$Ç’¡¶åZv‹¢íïÔ»´4 ö²K¢Gg¾yR4ZF4z{Aë+Ñxƒ?o/>\0\¡‹c$e"R<%BŠh¾¾¸¾¥Q†þQÂŽ>9ÑuÄ*Þ¯¢.þ> «H&=‹â”i€*4'"…gFmtREÙiTP’ÊG°¿M/~ýƒ‹41i*¢éQ1UåÄpM³è:¾a\dùÂ^æåzoöwù²Ø|± ³Ì^ÝÃ$‘ ão“Û)j%µ)G0òMæ^úvTÞïRmó¹ašh0C¹õlëw½¡’¾bøËüó5»„K~ë^Lš7ôóõë "IIüY^–³]±Yúçrá¯_-ô•Eþê’¡:}УêØçúöªVЪç~TQUqQlŠ}QnF*â¾ç•ëÄjô«úzœËG2¹Íw‹r·n™Üßçþf–e}í7£¿ïóYvÖ ˜$6ºn·«b>{4Ù*¬æ5¿ÑfUT{W}Þìgó}1¯mžeÉÿÆã³)ئW¯È¼™ª×êÌ© na%…Ÿ©à¾|Q,_úòU£ J”bÞÔínÂt\f‡y^²´}™S"´~î¦"˜!XRŸ·§<+h£)(ARqT"ªQA—pÑï(–M©QSe׺:‰ž°²)º îD5’ʨ-W“xüªEO÷`,   "±Ùv`X@›ø:„fˆÒª»Ä\LU îšÆ<޹¦t»ým-!¡“H”íö³ŽešVJ¡Q»lÏÌP Ü"¤bJ´0D¿WVrÐQ*ŽŽÎ.GÜÖô«©hrÀcÀL{Õ¢,”~$Z®ÓšñŸÇÁ1>0[¨ê&@U”B7‚×an…l¡ «P8!'2í…S¢Oõ ®4#\Žx|¾¸º¡šcY}gJF(oIí¼8Ü\‘´‹¿eÀìD "Ð{£9ëo8çïP¼Ž¬Çœ,†á B–¾l¼ÊGÔ-ýàƒ“õÊbQ_$®ú¡*7òÙ›n"tÁ¶ýí&ÂÐþ"%F‹ql @.Ü ¶p*ƒTé°«9 óÿ{úižv³V7I;÷'éã5Åà ØÞS5Îø ¡©9ãùeèxEáᕜ×ô‹TòýÒ ¡æeè÷ÇKrïØàݱ!°Ž)ÊÀÉ*m&òùˆ~WQâacÔ¹sÈϧ§Ž!Uö„cÇ¢„f¡†½sœÁT=ô2 xn£4þ}¶ZÙRèøÀH轨PÞ´ƒÔýaY5<ð9'Œµ]©Ü… 0UXW«–÷ó¢sYwbÂlQDÚy|8éw6ˆ8‹ ¯`âmYUÅÝ*÷«ûÒ¯ÎÑŽ“Ñ&Nz”ªs;'@õ؆!’¥±Ë¦>Ç‘•o3Ü÷‘ªÀ¾Ð’÷K¹µ•),ÁbÒGE]ÜöXÚЕœòøÝÆïd™pœÜöÝÞneÿ©ì|Ø3 0F;ÿÌË,ú‡ÛY‹ÙìÃã½”^ºÚ^å&,^ݷʬÄle­ò´›hËîÔ},°i`ƒO•uؾ©×µÀäë–ÿÅͱõ­Êò}åo±Ãûõš wm=1$Z†a¬‚míVVA U°g›¬ ¹:µ·¡è>z|œ­‚A„E©D¸ºŒjÙG«› ¹˜]ìZDÏRž{Uѵ ±ü™¡k‘)Œ3ß8]¼-ösiUOFåhBúsV½Ï]ðáC±Ùç;ÿ¹#Ç»ºòç+ Ù<#®ºÒÑ×uì0_Èk"ðð/êêÎYP òwûjD endstream endobj 476 0 obj << /Length 2618 /Filter /FlateDecode >> stream xÚÕZ[oëÆ~÷¯`¡£-÷Â%é"Ò&9H$5ÐIhi%‡"u´¤e#ÉïÌ^x‘W²ëóÐ9\®†³³³3ß\ÖI´‰’èýUâž¿½úËw4I£‚’ÉèvQFIšeQÆ$‘nWÑÏñíV]/“ñ²?®i«¦³U³ïÍ0IV;ºcU×vtçf:Ï¢\vÕ½²ŸìÚU_+r½à ƒE*mI¶¥”nÕ¶ß{ÎíÚ~ºl­>öªY*}sýëí?£n‚G JI‘¦Vð¶ê¼p«Ã`ßêÊ­oºZ©w0,òø¾¬{¥íôJá^µ²¯Õ)“¹OÛ›‰¥#Tã]ùhwn¢×gÇ…ÙJ2ßÅÞ®¦u›þ+RjvF f¿ÅA£6¥Ý¾ù%b¤X«²³rº {J8j›úÑ͵‡vT­OV˜m'ü6iAc<;œ+—Kµï`‡Ó}H»s¬i× jm‡Þ~`x÷hŸV0ЪVËÎ(ËPvêà4£ëLÄÄ,8öïAt.œè8X¶»]Ù¬ð…ÇuÕ¸i<O¬Àh2óAhšÃ6 ×?·ûOÀ‘ÎÜF¤„¥ÌS®*+§3u\Bwå¡Óv|¬ºmh½‚‘œžÉf»¬BK±„Œz*8d.SÜAãv·œòŒ$àÖî+Ü)òa ·F·‚!£#œ»3üÖÍç‚E“éÿØ•Ú0¼DdóSÑý= ¾qË.¤ÈóìY Âdê©*ÇsYÖµZ{ð,[PÈáXitžfqÕY¢RR¤g¥ ’‘‚blûþT1ÓR™Åߨ½jVÕ5›ýüÖ(ˆINs Y{ï;nðïÌñæÀEŠÏz¼ – ˆÙnwn´Uý¡Ò]µÔö½kíS=t}7éwX6ú3ãµÙh»;!iûÎYS! ;Õ•ÅÜE„<ó(*ÃH±´ˆ¿^ã»!êl´ïœ|àÙ&¤##»}ÝYJÕàU¡}Ù±Åõ P^ÙIuFƒ6P¿W‡;ìÂ9Ï4Y·È‘bØ ¥Ì-,ú…r±Wødc„äÀ¦6.oð“MG„xKr(7U­n[°°5ZØZlà&Á²o€*V µ£Œ'çÓP€šJ 9t’ ¶‰G€Í@'4dγÒÛöè,‡dÜ`á,ÀåOvu§¶å}…ùišb Á9“ ÍR­íûËñ}Y6£N´”×{YÕÄjô›ÖN5mçyîÕÒ»¶5bSV Qh&õ®78`΃€•ìäh/ú÷à2¯6îs.ƒ¨\Ë^ƒƒÏXägæÜ=[HÉ$d—F”Š9C’Äÿ€‘ÐCVL?Í8á£ÉÌ­oBÆ2à1@/”MþDÊR´†É0cËM&1©ûðÚºnŸçY;Z¤öf5_Æû‘µ(0\g Þ¤ê:a—ç6y> ¾y ú§ŸýAsY"ßýß”«—Uèx^äšD&4hÉsfE‰¢ PxœÔH‹Štsxf´XoêRoÚã Fû|À­ Îþf ×Õæà7Õpæh|´ósIìS”Ò±v_–6Í™M ‰×n¦ ™[æ+x¦™y÷+Œ4†w@j‚ Iß8Å7?Û:nÝã^9¾.gúí¦ùãÝLÐ|Œ†â÷®üྦI@:|ùòáËÿÿ=´m\³/;åC7œ‰ó‰küñ"@~½½]däÊ.s}g/ÏÐ<ù8­=kÕ„P>ä4O üt,%é¬ZDöZ*­Ëö>¸°àÓ;<ŒPú nü|yÌ •mÈX¶gú7’+çnÆœ$ Œ?¨Çckòô•åŽ&Ru.=|Ω<íÆa—‰Sku¸7U8ŒKÿÄåcøÀI¬²lÃʼaÁ­-E¼‡zÞŽÜAþgWJŠÓ’ ØD[f¿jƒZ måÊ>l\µíöª]U—‡yHäåE‘ˆCF‘ ùÖ‘ˆ§RÊü#ÑÛrd5ñ]æ*a…xWŠ8|—õšÀ3}¡^s¨¹á85þfjÍ2’äò¹zQÁE‹ç`&(>„‹\ÌŠ;A¸DA¡æÉR_Ç'ìaĆ 5ª•M 4ˆ7޲R—"`!8Hî~ž­šš÷ØZ v8¦‡ÄóãŒðTLIh€2þd© ’¤ù@ð§ Ä!OyL%Eó.LhγO]'ZäØ|¤óogÁ2(Ò€‰$tØÒW¡¥ “ û@à‘B¾D·éHtY(ˆŠì‰ŽÎæÞy^kç—ÀÃ{x YÅ“ä˜Ãö4M…œ&‹øfg…IñÝ$‹!CH8ìþD³!_¤$Ëåó¾˜A¡Uüx#˜ù¤›v°$ÊþWw„l'¯Xç¼RÞA¢A‹IhÆak{hëvcÞ7cÙ”E§IØ‘ðýS=5 V|L3'¬fåßÌË¡4Z¢0ûi•þÄ<„LOÕ|z8O,[ &;)iŒÛ´!1<35wQ¨üâaøï‹ÐBóˆ<ŸÙõsµÎ[g4.U®iòÖµÃðÁ\Lÿ¡í°Ø){!fF•yÒ¯®´î[­«»Ú“¶öi3póÉɵ‹™t¯ŽDÛN0+u°÷“*ÇnçMªB(DüÏËa[™…ieªCcî—Q<{µäî‘X.IÎN.‹7‡rG‚}4¬õ!_álèѱOíÑÍÛºŸ­GÉd¬Ks‡­µ¶¯WvòÎýX.·•ºW+KÐëAø“›Op<ç/¸ùt¾jt§J·àÐ7ŸW˜ÉÆ(p±§ÇF§[HÊâïðÎ 9Û–0·Å—-SêõõÎp x¹jàV5O|‰gƆ<Ëz×j?׬°éÝlúJoË;äºÔÿuRœ»1fXs¹ ·,P¥×=˜‘ã¼j•“È4Ðq`.ݺ.#€‚* vrª«M3üm‡ëÆÚ3öøºZV®cû±/›®Bì_–cǼPÖ]'u­¹ìÅÁx¿0þù Þœ”‡ª¼óßìP[ÄLNþÞRP PÅ¢…» 4Òs$ý/‰ endstream endobj 480 0 obj << /Length 2049 /Filter /FlateDecode >> stream xÚµY[ã¶~Ÿ_¡]ÄF× ¯"åb @𢨇q€›  ‘å±°²äZòÎ šü÷òP7í™ÝufH“G‡‡çú‘¤Ñ]D£ïo¨o‰üûþæ¿7 FhÄ"Ɖ™Œ´ˆ‰T2Êv7ïÞÓh “ÿ‰(‰‰îé.š*5ôËè§›Ÿek˜ˆ4W„'ñ%¶@NI¢’p•Fó+síd%ìŠË\MBbÊN¸þsuóÍ¿g‘!IËhµ¦š$ H*H"D´ZGïf¯ê}[ÔU3_(®fÛãï-3¿‚µ¢g$aÉÿ³›âaã”ΖËù‚QEg›ú–%N§Û_a"õüü—)Œ±“¡n!¯' ¹Ž_æ ´J»ßÝ ãzµ-ü¶6Ç*³ûÅ_Ýhí¹µûÜóeBæÓò˶ä×!AÓj¿·éÿ5£é쯾^Z!íßï!nvÍcÚæ^°¶>ç×øƒØEFöÝ*ຟïd—¢7–à—¹ž‹^ô]ª¢|—Ç軞+„™½]ABÒYQí­í2gS;ÔvsMºËq*Èò}‹£à®8ØÓeÛ´ºË×Va°8££Å9ÕÄŠCObI'rJÈBv”ëâ0gf–ƒÏ}ÌmP6]Û^ꪾwî°àŠ!ð ð_¥MY×`[ü?õí¦.Ëú¾Y^²o¯3*‰dúÚyT%‚pe®œG¯Ëµ—UhÂ5¿Ì5æÁ勸ºDª’„ˆø²^U<Õ õj®ÆN“k©UkBM|e®¨šù\Íã’P pˆ“Qq:[Acb¤wü_)åC˜¨­ZyfK³¥'TâQHaé Ñ‘ñÓ“U•³¸§HC+A­4¬£ xXâUõ,l­#ˆOÖ ez‚¿„XØ„ ãScI@щI‚ë¡?uha$á1›Ö*4΂kÕø©4à"”õ[zZ*!&î³jˆHKã—èV D—…‚êÁŸèèlì‚çsýüRòž<ù¬äÑ—Ç'ÐN)AbÀ|#Ô#¨¡û«µ¨GPƒ¨Ç{¾['&®¾Elh?¬êÖó­ÕúÛPÔhF´êãó5sæ RÀ~G©ê×q'ñšÝ›™Ñq9QƒÀŸà.AV:±šê +À]A¹å,ƒ DÆjâ’ .Æñ;å>"ú˜áEkÀ‹C*JbsÎ.¼äSf´o®Î[—2ð{ļvýE`c¹Rý%SDˆ³øc*ký.Š /,rƒ³ÎÏMQÝy†Íþïu–7 ÀÉ´èÞªMŽñ*S³¦hÁj‘,ƈ„á]pG×ÅÆþ².šËIŠ N¶«ìxÀªgÊmL'LKuo5¯Pëú ]9×äÅ`ÁÓ¹ñïü¸‘< ÿâwV8™ß„•¾ô¢â6cŸ?`œ·X{xÏ”wbXÓ"y…ݾ¹–ðA›ö¸uèÍaÒ 7tv›gé±ñdi«¥þˆkîóNÇöW•çkÀü®o[¶…£Á.m±ßÔ;Oùï´ùÛ.×Nm^5ÝÀ™y$cë5›4këÃ㜠BdÁƒæç°YïèLV/¸wÛíÔe©v Æí0<©Ú¹Õ<á³|·/!öqÆËguÀ9žJ-!|éy æ ³A/[„D‡·(—ÓÓ‹å"$ž›ìämÝn‡d3>¨AÑ¢¦ó¢*¿Ïêuô6e(ê‹Ã”$¦èíëò1ÄŠs8jö¾Ý´¥=m *Î':{L>¸x “„Å&x CEUÓæfvÌÚ&´˜^Á¦z¾ÛfEp#@šôpÓy¤4ÞüÐ9ÛpÒVŠ=Úìlhëphë>´íâEÛäåûî -:•Ô³²€ Dg„a—ØtùÑG¨Ûú˜gPKŒ»Mó/öw»·A}‡w<š×› Ý"ÐÿžµTAÎ'jdœ€–µ·c<Êèü|Ö€ƒ¤þ&]»ømQ¥j0™tV‚ñÔº¤uö²#Ø4Ç¢MoKŸF¶ƒ¹ íÜL±2Iè–À§”»X@uæº\;Y9ÀyÆŸ»å±w‚¿øb[$€®G¯¯º2nïEúá­ÅðÃåólþ:Ü›bo¸He¡ûÙW…¿*v5Ƴò¼F¥îÉgca~üy$Kw©m'Þù‹ä‰$þ×ûgÙþöxv> stream xÚÍZßܶ~¿¿b 4ÀêcDR¤ÈEຉ[7@“ö\ØyÐîjïk¥íJëó¦èÿÞ©kêîz¶¼œ¸Eg¾™ù†¼dq³H//ÿdðçåÅ¿/8ô$ ¾àœ3ÍÓE&5KUºXï.Þüœ,6ðòÕ"aҚź[ÈL°$Í ]-þyñÓƒÓ.™PLX}ß´0ó¬AVíö'ïŸUY¦4?›õO×_ϵ0Ìj.®·0iƬI%³R.®7‹7ËëÛ²½¼*Y†gNCÞÝj·Ýq_n¨}—Ÿ¨Ñlé¹nvûcWÖ7ô3ô<¶}×õ¥Ëb·¯ò® ž¿äí»¢ª¾¹üùúÕhÿß]OT@Ò‚&²”ß P€°ê‘ 0ŒÃ¬I”Ÿ YÆ£?ó¬^Tm%3Â>0©dÉ d:†€H™Ô&•ÁäyÝÞ©Á8\/,“9- S‰†¹Ü°?úLYf3Fü>2Gʲ$ Þ&* cÆbI–Im›jsà1qR–™K'“¹LÚË\ÅVSLÉ^¤€ÈÌ,O~ ÃzÖëgú ÈøÄ¡˜ÖzÓÚN>¤óý¤ƒÄ±Y”U£Y8ì*±Ë?ÄD‚mÁ?¯ÍN’éc N6ö·È$¨¿ôlcÆÎ Εd"Œ?\r³,öU¹ÆÈ³Ž`&ëw*xÜÆ©Ê°qÆû5EdŽ”A–øw){ÍEÈvž!âaÇÅ]œTß?é\ÜO=$NÁ`>õølàãÏ$ •õ¦(6!¥°{Õà3ðÓså}$Dg‰Ó'‘¯‰'QB§?m IØÒØæòJ%Éòùæ}^¯Ã¾×Ƕkvå¯yW6õ<¹Zhœ,Y\ ¾*z…âásmI•ðlj×a–›’^¯»ò½ÓÝæµns?¼n|Ï©èè»UQÔÔµ)Úõ¡\›o¼8<‰#Ò„eºúWíqÕv1¹%gÒô{‡”˜®ò±œáÕ±åÀŒ°qP:OÕâ ƒ°R4Õ ¸‰4鲺mú3–ÙìÌS§¢¥`•^²k·x/ù+Á$d ×ÿï7©XŒº_Óâ]CÏ`¾‚~æÕ®u@[-‹÷ÅÁ‹š·{Ø(µ‘Rá³ìZßqì€[‚2.É_Ü'ðu~ã€FÔº+«Št“èlªš¼v¨²Ëö¶9V¾M¶Æ†w6ë¤Ç'ÌKsÐp»Üçëw.ÄàHu<Þ§NUû¦:uùª*bø»‚íAÄH§:t¡R‡) ŒÇy#väUySïœ8øÒŸ{ú÷ÒÛ™ƒâp”Ç)'hÞ ?™:‡ÍÙ^&™ÊÔ#\ ‰î¬o¹Ý„Èã~ÐnšfC¤µú ÀA&UÒN•®rÀ\ y2p§M±ÍU~@tu‰|Áó¨u^Scå?Ø6Çz8V4´Øõ+ ì‰ëâ5ÛW`)‡TîÅ× :ßxxšu¸YPã//o³—îu P®Ó`κk‰ù7u… :sê€w‡Žzˆžì]¢Á[zAQ:ò½sÊ…|†Ñp»,rF=~³ÄJâŠvi]f›d™›æP- Šš0? k€aüPxCœïÇ²ÛæUÕ~ýý¥RËç? O‰X%³#æœrŒÅë#y þZƒÕËS&þBÑñ¹x”ûÊ©PÄ+õá Dv÷É ˜îÈÁAàD™rÛX4ÅRë,·YC±,;e:8%.¾ò²!¹û62ŒÅø{íÇ7ÞÒØ.}¨–‰e©à‘0£Ü1ÄK ­¶ÏÏ_•õº:n¢Q,U@üûB-‘áÔ.FB+[þ0|¾‘qÒ’f‰Õ àþÚÛðyœ(H‹‰tö ª »¾–$ Ûs?rôÖ#" Û)èí.o»°Gé}¸7ˆ­¦ø'Šš%KŸ’¥§îØå¤€§wÀuÑú$‰¶#Ip¸«L°°îr'˜ûÑ[FN  éEËÞˆÈv#úE¦"z uAÚ~“½ÔWv·Ôš# b(íŸPQ<µ¼²¥Ìò3òÜé-“c½I¯féœ Ÿ#u#£•YÚoKÎn+µL'êËqZZ}wtõ´F&–Ë8Ù0ãÃ9Lï¤W ¨é9Š'Ʊ«ÑVsˆ­q…'R•Óµå ç³ÌÈìì0Gd˜¾»ƒ5¦ðD.¿'Ãìè-”/-¥- eœqÿQS;¶'¼ïâ‘z4e+H,æd÷SƒEÅ?«b USß„šº@,åPmqΗl&]áyO¸cø×%€®hq'™òõžóð‚Áý°ÜÛ}¥šyú‚Ñãx𭆕‡8ËM Á@›žÅY³éyâR3‰‹O‹š^Œñ^é#–‘ѽʰÁˆÄ’´ÿ|wB3vÅ6rÒñjY´é}”|øåH4L EŸ°g4Ì• €ñeUÖŽ Åñ®¨NQl€Þ‰'zDäáP¯á£'ÑŸgGõ‘Ú>D)5¢8¸Ù@<>äuªáá‹$½äË«ð7Uí>o V§æˆ  ©UÛPñÌ$Ô®I •Ð%,¼ô:ÞЋ¯ «¯aÌ}iüw‹$ÏÝ·õßÄ™:ù1ÆfBÅUø v”šGA#õ¸ z ‰vî+Êÿôkþ7 Ы¨^î ›.”;«â¦¬ëþf1ÜA‚²}têc‰JÆ|å<\q•B>áÓ@EU”)-HK‹XÕ›/™àÅîDÏuXØøÑ«ªY¿k©í*á£Uî¿ÀlSƒÓ}fÁßçYÓÈ·BHL*ðLýêÝi$öô hú翈¯`ÑåiÀÄ^èéÑ´a˜Q6îܦ9vrD¥š3Cí}ôÛ­ªbÎV¡z™±„4h²©…¢A_0•ðOù­U„àî¶~Ü©™XÞ¹C|/¦ð°B —]_¢˜ÂŬ@²3XÁ+júl!f9×,KzQV`Èþ†x"1¤eú ï<ŠÝ̤Ó1t ±J0.Ψm£9è̹6ŸÝìKB7ÅSYõ‚.¸êºøóΟ™>ÇAsºàŠ©QA×<¹¸véÅ™"{=Þ‚œhŸ¼›Gí$3~‘€«YÊKW¶)w-]›y®hÂùt…ƒê(ððMÌOOЛ@}­®!,ªl8Í=Uåp*<Ù>^Ëièö“×îÖ …w5:ô¹3ÙgxEW´ÃÜÓx°œWåGÒ&£ÂÑ&tŸRUŽ<ÂÏÐí­ö,dG㨠Ì4~xµ‰;píQ´ýs¹é§,S˜¶îæäÜs„ŠcÔS+õ`¹Ùµ`™>ÿ? í©˜æAOÐã± e5^ûDË~~¯Ÿõê…Évy}¥œ¾ÅëEb0„”ïosºÜÆCñ¶©Ž]á¶á·«ºaD¹)rê¹m.úãñþ˜\à T»ÿ7r2É4:ö»ë‹ÿPG endstream endobj 490 0 obj << /Length 1990 /Filter /FlateDecode >> stream xÚÍZIoëF¾ûWð2€ Œzza³»'§ É ·`|ð’%Òa.z$Çùõ©^¸ª)J~²‘ƒMªÙK}µW‘8xpðãž]‘„ø÷ãÝ×;#8 !E$ ¡ˆ 슻/¿á ‡?1%ƒW3µ˜ ‡îóàÿw?¯n+ &ˆPrn[˜Ž‘âê‚]CÉPÑïÚÑJ¹DXqv×0Tˆ>Ûö?wÿú¯¦H"EaðøÊà^‘RHp<&Á—ûvŸ•Í!Þ¥¿=þ+0­ˆ8¢\e¦î«×‡ åø¾­ìõP?y_%GXmb{iŠ8Ïíí×c\¶YûfUOöº¯êìϪlc7kLÀ„ä£`ãXgè¸5¹eU%ßFY™¾æYySÚR7Ñìkî@^Y2µ«ºm^í^.¦÷÷´Þ–ùG“ëFö;HN•R!.Uwõ¢ËnÆ£žCŠfvü7Î@³GÿØÓŸÓ2­ã6MìO kSkæŽå`ý ¤‡ç¡…ˆQ2š3Ó#!ÅÄ_ºËâÜ #¢Øy€a.¯ØhÑíã:ÞµiíEªaûTPauêH|;R‚° g!…!"W"úsçFÓ8y›YI'¼Á²z“·³Ó?Z/ÁŒ!FÕ ”Ÿå8 Œ<ÊT° ©³< Ü¹ˆ qy%¦¸Çnd&)ŠB¾¦ÑB 1÷ŒŽÉn±ï’ºq >U—! ÕšœC(MÑ.mxSM¿ZÈþ81E¬@É]AaÄ#6‡\f‰3GBÈóòU(ì*ÐÜ@Êø+Ƽ”õ`m\·}zÍÚýtÅñpH “6»¸I/pt:¯Öžù,/Õò’3G×S^¸L¢z½–q²Æ vɵhÞŠ·û>*›¶~÷Ç][uÌx+¶Uîe!¢*\ e{†üDŸ K+T¼ÍÓU@Œ †WÌ—¨q>3ßm¼{ùz¬tJæÙ×ç@Ær¨Ñ‘¶î;èä»ò'\³•¬H hŒÎª-ÈBëÏH¥ºâfù<å?#+á„D YðÔ¶ùñádî\ÑÑ.¢,ÂbMÙB$çi˜¨vNŸe=ç—Î&$B”­$¶P—…jîä Sê|¼Ž]ò«2ÝŒóœE:)Ä1Ž×2;©S1og4 ^ãÆÂ¼»#l9‘ˆ©µ”G2…3Ÿy¨ãç"þ"´‡,ïLx™L „Š5äàè¬þ†ÂÈkAbÑye%’ò2e·zc؆Ž"†¯—wtF‰øÜÍ‚ï„Ð?õ’¾½Vuò‰e÷ÿâæ%íÚ öx-ÞÄŸ­0$$[ÏV0 çþ)?%¹!.*,.¸ö¸àÞh*\O5U/pšú@î{e…᥺PB*ÎQ„0ém(s‡WÆÝÁ…mïû (Èh½ßP€±÷ÞXÙó¨ißòt¡HÐhÊû}ó’>¦Xꯞ´§5]k}A±F8Mi?ãXfm³˜‚…t!û¸l«â†êG¸e‰fL€ôð»ëÚÁ\ófA¯Ý»¹¯YbJ#ß³S†Y3o«]>q­¿ˆ0^Éý$E½úȱé²ÛñŽ1«@Œ‘Þtõ˜6]=vÛ,˜=qÑnÅŽV´I…|l·æ½=5µû[ä}æ7_‹ñ5ëÝPpõDÌ;È‹Vìë7?ÕUL[ô[Ðìåò¸/M«Q”ÖœåàÆà~\Ø«ûnboSŠéWŸt ÏûÞ„ð~Æ?twç>-“ˆE½b{ß|0à‘˜á:è.×}pŽØ\J×7s[yÚ1–úË>ίq@ÀªÜûþ„b °¬jTwLóëu]+¯T2â\“T7‹L˜ÄʨÁƒš÷ ®ËŠåBÄÔ@‹—2ê¥îzPÄ'JÒ‡²]Ú4½4ñÈȹÂm£Ûºx™ðqQÄôf"ë"&|:™×‹PФu_4y÷ÖÀ8{tœ˜äÇf˜8­çÍY†Û}-4R°uß—§OígªÏÙÄyö\¾“Pó:sWå—²Ø0ˆ…qC,\-±v¢Õ/µ/OÍmo9ðÜh÷|6ÜÛc`]eJ˜ZV­/pŽQÇ=P›,_ûn%º6M4‹ôóä˜Úç6¤ gÚ»,-ᯱϴ5ëgšv3Á¸ ­ñ­i6ú‚8iÕó1+yºqþ›ƒmÉpš½èš;Öov»lé"Afe²ÔM™yÀëëêÓœ¹k¢›C ±CÈñ~è1ê®xÓiŠ%äÀä,•ü8I§GŸùüðèù~è¾ô9÷ å)XñŽo¨Ö®ö#€®:ä¶æ¥C¢#¥šM¼û^CÑû¡ÃÍþmØÑí|1£ß;!€TœƒIÒfWg‡AhÝ·Cƒª<>›ƒš ùÐ?šã¶9·a"Ó4ö&‘dÖîÚìwûÙÁÅ è!lDd óHwMlƽ›ðÿk%²˜ endstream endobj 500 0 obj << /Length 2623 /Filter /FlateDecode >> stream xÚµY[Û6~ϯðËb5@Ló¦Û¾ì&Mš¦»]Û ÐEÒÚ¦ma$Ñ¥q¼Xô·÷‡ºØ£i¦ Ì@‡‡·ÃsýHÓÅ~AožÑð}yûlõ-£ñ"'y“ÅínÁ# “‹”'$ÉÙâv»ømÍÍ’Sµ‡Â>’±èl:ÇãQ¥Î¡³é ƒ=s œµi7?ß~›1:ÝLÆDòdñÛMynÕºÔĶç0þB¸”öCU½]0#Y*úA¥úß¹,lûØr‰$iÚÞ57,‹LÕŸTã!ʃí§N7Š9¡ ëçò¹Õ%ɳaÄ­,)ÓÅ’!ä¿üL²Å„ý“g/Eú¡|±£äqŒ'jŠuצcµW9P`•©“iîŠzmá§7­#‰#ÒK,&SØ(%œæ¸ÑwÊÞé²tKˆÈíYï-6T£‘YŽ¥:ë-6OE{0]뜦SbÇ/iµ%sjâR¹å (p1œÓ~ð¶+[lOì›u6Æ×¨¼~á å™rÞoÀÙY<øÍÁò[ýÙUíœÄqNRÎûÁ)åþ˜œ‚çï5xŽ3˽6¯ðSëöÜëÆ¢õ€kvø}ÄÓx)‚«ñ‡®–<âjüÂÕÈÍRP½·*Kôã<ñáŽÛVWÅôŽJŽaÁ$»T2L£Ú´Hµ5PM‰M¿ƒÌœÕ|ÛÈ£ŽÜ¨z˜ŒÄèÞИso8SýÛœnrî[<¢`AcBeü±œÎÇrÚDz²R¦ðoCh³œvåÎO2Y­ü6Î}2•w$èÙ™‰¢Þ”ÝÖÇ @ô©9Ë@IÅQ]°©o„ÅK³Q%NC]/dêÌ;ãLxðLÀiåã#¡Do¼eaéµ'—Â¥]ãÇe€—)$ ~…ܿŲgá_[äøû“§0Í2yþÀw÷!OèžpåW«Ë¢Ç )ßõ6½^CV®‹:2ñ+šE÷…B"\ÒÈ*Ÿ>h” ½I¥G\,Á ê:«Â€­.‹ªh=Lv=@p„©wÞnáßk)K¿âÅË‹âÕ‰Â9‰Ä–gÉ¥•ˆÔ|b‹sHlCæI(^„ëÃÖµ‡h¦ÏI(œŽqÂÃì M5BY‘O‚ú,d ÝÄsmXצsžÆ† ­ýeÑï;“Y‚_1¸µmºP½fœF°î:]±ð9 ›{£dšÈî:‚7²±Ýˆzs0Ô}pðCZü8p-ë#ìÑÔÛ¡MIQ½ñ ^Wè:Õ¡…åI…k“’8e‰ILÙ‚‘Dâ s Éà £€½yD 'ˆbÝW;uÀX_€OCcÔ§ôP¸Ö6T·‡ù7†ä7döLÈ]c*¬2×R wï·[K¯R·£ÛÊ=ÕŒ=uÏ–¸8*./÷nÆp3ñ Û‹£ô¥&$nž2’ñ+Sê ÜT€ë2d>C’•?ø›¼„„XxôvœÖŸÊGÉÐ|<$çx"¤ƒy{Ý8Ô=ILºå!S—‚0ô?z§ Gôµkxf/PKÎIJ9ÎüÀ~¾˜²ø>I£õ6¤:°GÆ1¹¨Ê0÷AÓ€úý»ärÒg½ìbzQ… ‹dŒLýÈ{j?xž[.¦$ˆ‘jse„#¹bLw‹žúç³ë}DJä Ë¡m[­6­ª‰iö+À«K¢àš›8ƪR›ÆØU8p’œf×e&­P¸—ÒÕ øêBÇ™– jDƒø¼JçA1Ñ÷zç,…Ïcúò•õBSiF¨dŸS<1¿~Èž[N&$qó×<䙄5Õ÷’ÿ͇>ˆyÍ7íÁ?v ½Tªñ¯_É?÷åÑ+£ŠÖ'@ð㩤ß6* šÆ•ëǸâp¿‚i`%„Nß³ƒïߣ\/Þ‘ÎîQ5ôYÌL<úAÕPŸn>€ÙxôêZÌx:ÈÆ’®#u‰&cT’Ä&€ôýØ_1¥‰m`*¯Üõj«Zµzñþ*ðˆãv÷D3ò_Eœµã·ªÝ­ž‹è‡nçåZù2ÂE@á@¼R÷E ¿Q øÓˆ6.UŸ•¤ø\l¥„·\Õ4ê<·ψ˜$¿?X1ÉÆéS‹ôÁÕÿLv}/; ®FÿÒÞ®ZcJ»ò' ÛöÓÄXüÙòã0s(?2Ü]þK£„³áôõ§cišʿѵnŠ 6ÂÏPó/ 49&Ów‡W8,oñ§Jh¼oªè_´Þ×…ÿu¡í.§—ZX² ÃcÏ©²’Ye}‡òd‰SÿC륃‚›¡ÁOžfÕ°ÚeÄ¥³‚ÞöW¢É|4z¾å ÙÓ=œ1÷|þ«cX{¾ > stream xÚµ]ã6î=¿Â`âZò÷]`‹kíKÑÛÁµÀì PlÍD¨?r¶2É,îÇ)ÒŽzw{èíCbŠ¢ø%J$zÏ^è½Û„üýî~óÍ"Œ<QœJïþÉB©ˆ½L¦ˆóî+ïÁÜl“0ôÿ¡½.•ÕÕÍV&¡?Ø×Z7÷?!ŸÄ+‚"•)² ½­”AJbðc ²Ø·{3 ùoÝVæ| Ã<ôOšÐ'S×DZv/º'¤Ýk±VzMIöéû®· ›Fõ¯7°÷hm\¤þûu‹Ñ=‘SCgZ;\›ÁùaÓ^ŽlÝ@{äf ˜È•~RÇš ­\Ñ™|wP½5å±Vý, T-Ge©ZÆ”ö¨j„£Ó•{Õ>ë*ÃÂßI’c܈¢1ð‡þ¿œwt¿SÖ4w¨lè2‚ ÝÁ7ž«³~D£x:“ô ‘A’@ëhó+E˜ŽTN"ÄD”fìùÏNå wù4òx ”Û§8¾PƒÏEgç«®<6ºµ4 áXZ·W0¥˜•áÉ=!"ð­vy GçÉr÷€Ñê–üd pôá »”‡o]£'ªtG÷q:ß4tÿ2±›¶^ѧíÚ-Ñuˆr8óŠÙ>uh˜S™Ž…Mᇿw›ïï7ÿæBL7bRDA–^ÙlC¯‚IˆÓ *rïäH/ÊdÆÀµ÷~óËt‹\8/Ùæ"ò’\i(>ÇÈCðfñ¸ÆyàMþÿå:ê§°»Ñ—¸ÂÅgù[Ê5Rxx ð`ªÉ‚¢UE £œBå£("”‰§,ïƒz$`û†»kć0 Õí>âqº>ȸk®ßÔˆúÕ]Én„ >ˆ(VÄp·ä?c¿Q‚„½‰]^ÌTw ·ovÛ7¥[¸ÔZ=n߀-ðW~Jkâ‰ÔgïÔpa‡˜ÝÝn†™L¤áÒ&Öl7fG9|Q›ß§O$@Òø%?<®ùÈÝÝ.o³<»òÒÒ7ßu]½ê±?o oá7ߘ¹Ú3¡¸â@Ÿ3™zÑø©««žæ]C0ü/ÊœÉ;P2A /eöº×fr¾ð²ÃíÓl§þ³TÊÝânÿFúóÝe…“æLsË~e.\èýÉ zŠ‚™Ôó݅˧.ºñîø§üS—ÞŸÈV~ží§îO.TçYpâgp5q¢ù¹å”VuÚe¦RçªVS‚‹ýz?•¬áœc(À¢)ýʵÜE.GŠ{·%qC™¼•Aqµü=ãóXz3ôoœv;úBýfô‹&-‡#VsMNrPaýQDþ½«œqê’ñs²»Æ2Š[ÆŒ–ÇÎr—’…H‚,.–9¹Q¸„*1€•žL Ë·46˜¶9sJ¶V„àŒLþE{qݘàiTºúø&÷¥u)?ËX>…+Eçu®Ó’‹n·£i ¢`aÚ‹¡Ôß"/Ìòà`,zðKV¤ya‘²j„¸6—3›Êâ50âM²½)-Õ"qʵÌRÍ W,\@U3t=ͨÃàéŽêy@6êu¾Ú ²5‹ Q¸ÜÅn*«ÓÎzé³ÙÕšbÁUz€¨˜GÈ@EŒÞÀùišú? *HËmFQQP‡Z§Õ`4Sºœ:P `U™±ÊBîU¶k¥<–š¦}Â0 §h@¥™‘˜¤€îhGK°b"EÃÓ¾#¥e8"œhöP«r’Åì²±:vâ™)}Ê®fVkšïºs°V¶cšËãÈ³Ü -:KÝ"¾ ]è$ÒÕõ„P4^@\¸; QLE]îËjílžÛ¹ )s‹¶$æo¨ç| ‰áªFçÖtM?è̪ú«ëfÚÚ`¢Eîbá–Z9z¼nn©+%Ý™œ ]Ý• _lÀë`°¯èRì¸O—Õ®,Ïß8$•:“ig¹¯A–§ÞXÝϺ™¯ë,µÖn°ÙØ\îøl»ö•u…ã>jfõùªÏ+»ƒß­Ž-?¬¾Àå vvý ù%à=:ÚKgÓ´C×g‘ß{z%°ö#À¼¸öHY1U)Ö®q’dùB€¯BùB¸lúJÐ`C)0€‹wE`‘A'™ñUûÍøúUBµ¼Ã«ÙcÂ0šUP,Ò´¬ÉÎ0™Kùð]xß•:^²gk\ôQE`–fWï\Ó£@]»GÞ&.™ÓÇq°]c>ª©íëÝ"ä.64ªa š…,ø¸FÙ*1Öÿ¶Þaç endstream endobj 515 0 obj << /Length 1883 /Filter /FlateDecode >> stream xÚµXÝä¶ ß¿Âyó;®üm/Ї\pIZ @‹n‘·‹B¶5;ÂÙÖÔÖìÌýãKŠ’?f\ÑävEQùIQô0ïÕcÞwÌŽAüûáîßw!p˜zaY˜xyœIšxuw÷é…y ,þÙcA\ÞÙˆv^œGKr [ïïwû¢Ú"Œ½ŸÅ¸¥›Vrü"šMC‚%7:ËŸ^¶¼u䃖Zªþ~—ù¿n=ôA©ö<·(`?§Î2àß›ÆG.tà÷^µÍ@k£hE­@ÿË èb|žeË OàºDk¿bVxu¢"ˆ’±¥½ËlVûEhÿ³ÆnÏrp'yœw  °(Y#²J”dg9Š)kF/³’E‰øø´Q{~C•øµú›1ðU”ÿ?õ—ŠK½¼ ÈLñ!­iÉ‚4 É®÷»¨HüFìù©Õ0+cT ¾ÚÓžB"õäãgѶį]¥Ú‘&|¸ ßî—#MÇQ4ÄêÔ,ú=×§·íõpùÁý. #ÿ{1²²5ïkñ0¥2Ü¢4µ‰rµä!LÂ%X©„ì_‰"ÀÜ ¡;pø`6©óHów-惘è™ÂÿSow5¹Mè°(œ…Á’Ý_ó~>[€ß£×£bÒb刮ãZnXo$¨ÖòMŒÄÓŠdù—öæÊ¾€JGŽðÑÄ2Q„±ƒæ²'²½–ÏŒEbƒ-Gãaã8ÕrD*óÏœâÇŽÓÒÿ,®gŠj3’(žÚHV‚ùzháO‹Æn2.‚-»F ñ^Ô†„§ä‰ìqùBu×j°8nk£Ñ(/|òڱ嵉{^úÕ•VI˜WQðƒäÚ2猂}B×ù¸L(òÀ!gA}mÅ¥3y–[~U'mÕ÷%Ì…Á-G€4nAßcã’ˆQÌBmçè’ÖÒs¶£ –Æîæ‰áÍ8=Š™…‚›hèU¿sgW܃ ä`¯‰2çŒèö˜CÛ¨4Súg°x%Þº.§ó®¥0q6Þ>£ 7-p 핵CGb䥠Xjî3v[¨ÑO½è^ÀWgó‰ ÷ àŸ¬rì¥ Kp\h¤møÈ(–ÔEÁì<ð£‰Æà8u_[ðÖÝ[”‡®ÛÉ#ÿ§ƒ4mFîzÛœAk£m B_90vçžÛ…eƒ…¿0°X\d%[©9˜9¥áV P•9ÐнCo uCI{!úqB¿f`Ôná}0dh>|‰©öô‰´±o$m¿FL®W˼×wžøö !ºc«ða73, Æ ¹ÔIC(6|ßñ϶tÙcëVoUö>…™}ÿ^Ù~ÉÛ(iß©îh+$¶Ý¦¯C@ ZÚ ÜĶWÙ¶„¾Iu‰£ÏjµÃ²mö²rÞ»Wm«Î”ª0µ5¾'in¾¨±mF°[ØUONC/^¹žº­/ÎÚƒûݱÕÇ-|\g¹«ÑÑVe„z[„NâÉ€I‚$É ðQAü–_$‘·`ÿÓÆ„ÛÊߨç”òŸ&¡§nò¨Ÿ(ýÍ7˜v«fêQÓ$ˆY†ÞȃØz#.6e?>Ýýé”q endstream endobj 520 0 obj << /Length 2834 /Filter /FlateDecode >> stream xÚíËrÛFò®¯ oPU8Á¼0@ªö Ô&ÙMí¶V)§Êñ"!k  дüõÛ3ÝxQ×$+ŽËrÐhôôô{f:œÜMÂÉ/!ý³ðóËÅû pÂ'œsq512bJ«Élyñæm8™ÃË_'!“I<Ù:ÔåDÁBe`\Lþ{ñŸ£dc.'Fh&’èY@Y¢“¨ªX2‰g¦Úò Ãd¨QU0õ.Ù¯/¾ÿ™K5‰YEjr} T <#$K¤œ\Ï'o‚Oùêòíõ¯€ Ó P…›?D¤.§BÃ/"Êh’0©¤Å‹Xdt‹ö¦EN âéRÅbÕ¾Kïµèßk@Ô"¼òVCå·7š…üY™˜‚R‚?BúØ1 .³+“‘øAAqÇÐwþ%{ZØDÔ 8á–'Ù­nDlš„L€š¦d ;–1Z¨dº›÷o>b ‹£Nã@äõ¥ƒ¼YxˆI°ò^®qEáh©±êÄUø¦ÔL÷ÂHÁXMÜÉd¨F`^ˆ3ô¸OVøêOP 8ð©懨)a”µOüc.9¬69ÓËÏÊPúÓ½«¿ò‘€¨—¨BÓ0ú3ŸÕ1ñ‘`}óHiž!ê‹|ü%Bß±È÷¢L̼’Ða²ËÄŽyG¢ù Duæíœþ“OÝ1ƒWOwiÍâÞ$~ðÑP,ÄõÚËà;>'{™‚µ†FìªoÄUÄÂ^={¹ê–ãçÊhWÞèÎ#&ÂŽ¥O(ö;®$`ØS?.7NáÏXyâ$n`bA¨È bo¼»øézXTi0!!&‘1®d;PT)u]WUIg'O!A¡êlTÐ =ª_)qA"’mNžŠ$t%H¬ö8“V@BŒSÅ*]7y“W¥7QX÷à_j¢ø±ª _`ßPúë ôf$X[ ¼ÙW]ÆçVÜ#m p,ù xeÐXQqgb*ÔÊF%Ì(5ý½¹º¨°Â¿¾ð¦ÁXú½ÌÞšµSÀmUÌ×H¯ÎŠlÖøØ‡-ªà…€×I¿Tû8:Cªä¿‡Š>ð_Ù‹¹[<(o(>ØõÅ_GâÛ:^¸ßÌý®iì™FÀ°ß‘LPÞžeˆ„ñÈœ:§ijjSF^CßÖÞ€&âœð?ÿþ‚''«ýKçÉ›#ˆ÷æv`žw¬}ô @Êäô̹_Šò¤(Hqª“A>NN•fÕ,²õ6¯3ŸCD¬_ÝYâ|ƒzœn”ƒs QÕÒ0=á(èÐ!›%Ë“ÝwȆ |›ÀÚa[íò2Q cÅd¯yábL€²q—ó¬lR à`Ë;m‚wÙªAˆÕtgßáÛÛjƒŽP‘ÞWú¢ÎÊrÂzõ´~—Ñ'œmµ)æ8¼q6K™ÚrBkä6ûY–TÌó:­›õ%ƒjS[”fé¦Îð¹ÔY5§Ñ2¿[4ø¶¬TTå]¶Æñ ¡}H‹|nUïÈB]äwå%– •–vÚ î•¾îã¬ô±¼rTø_¯zG­Ñɨ Ø=ÝåR<»p ¨3ð‰&[£¶¾Yí|H6 ¨[<Ѧ¡ýÈiÙ K--Ë +‚ÚÚT¤ƒC6²Á3ÆÉ£6¡ÙA¾tÉH˜Ï¦§&s ¯6å”H¹0â(‚€–º!:°pBr"‚ÿt¶È¡ðéõ®ª,²J¸›¢Á\b¨Q""$&…FeSãŠ;à¤-hKe —iA2/‰Ç4Dµ€=Î*Q€‹>šjÈhÔFšyöªß â„50@´û³ööïŠ)µÃàj0#ä.L:jÎ=“N)éÁ«EŸðœgøÌÚ²»lçfý§õZàjÛìh‡ê61Ä”⽎ Ø}ëÏ™Ç:ÙÜw°}°+÷Í+`“Ѩ£DÜZ¶)-޲],Y:P…ÿ®°´ƒÛV.ÃØmrÀP©53&y¨zÛ PAlk]FÊû_•™}œA¶[–6…'657Öñ-]ÄŽ›í‡Z±¾P³O]–vzƒd N¶¶…HŒûºõ|–t5Ÿ»Ba˜¢ñB{HçØ×x%#Û+|û ‚zQmk„Stç¸ýÅÝËÁ?Ý¡YŒ!EU×À !9º«°ŸŽî*¤r÷3të4§i«vzï5KµÎïòÒÝKw5xÔ–øD+±—FÐí»|ê®þ¥Œé¶÷nc¹ªÃ])Ð5Ug;ƒc{Û$ØÛ—wßcKØ•ô[§¾ÑÀNÒ„[w‰ë¸¡ÒYÄPÆ*ãë!°gÄ[wn,mº¢ÄeÑŽÓYq9:T–£Ö|…'îÖ‚!Ëx'øî0“ý†©¿1ÊeÕà¤Nëxa®¢àŠ Ýj–••½sõÎlÛÿÉTÙÃ/„Rî˜ÉM#/2¸äÿaC³ endstream endobj 524 0 obj << /Length 608 /Filter /FlateDecode >> stream xÚµT=Û0 Ýó+<:ÀEõ§¡[~ C§lmÛRádɰääòïK™rç²7$¤dŠ|ï‰T¢$ú¾J‚ý²[}ú–&yÄ£vû(MSBÓ"ª2J(K£~Ç]íŽë¿»Ÿ>¸¼ ÎJ’±RMQÖ]”Xo²„ÆâMZg½_Âa©Õ÷Aë÷üpÕš®¯l¤’nÆ!ö,¡èäÅÑá¦;¡%°feüKœñÃ^ÔnÖé6Ö6Úè°²œiøÔe7m͹àè²@ð^Š’Œ3ÁÞg2d„Uïd€¤ÆEcò,ù†1’å`­HZ©ÿdYîå[`;v]=L…¯¥aE±¤Gè"ê§÷®0k¥0ÿÞ PÐI}À5—(dëäIØ nV¸€l•–Ô¦Rÿ¯5šK'®ÕŒA‡«’ºU# íAêñA?K sVÅ'14뮤õv»K/¬p¸YÛeèËzSäE|> „>¿¥Ý} L´½sÛj”i_±Ï“%;1ªˆ¬¤ñhÃCF4ýkz3 Ì·7Ú½x—ÝŽÐéð'[Œ«b{éƒWSáXCVïà  .0Òy uõ}sš^ µ3ƒ%~{Õž4T†‹Á¢ÀÞ ã×`¯¬†“àŸa¯€ÑÐeè ~óºå ¯’íŸ)<8—©ÑxQ•˜+ªÍ³k;Z=4yo¬• ûXiz…o²Å›[bhM/ç×rÔ-ŒÚáaÒn¯SIIš—ôyNÙ‹äiô×ÝêøÏ±ô endstream endobj 433 0 obj << /Type /ObjStm /N 100 /First 882 /Length 2056 /Filter /FlateDecode >> stream xÚÕZM7½ëWð˜–Í*~ƒ“ÎØÛvwàƒF£x–¥Y}¬íòÛóªGžU«%¹Õ­À†Ød‘¬z|Å*’¼3ÎO&Cì8òµÑpÖßl|NhÎhSiÔ¥ˆd’ï/&s…€îÉ£/™âtŒhJdÈ9S úÔQÝQç*Zˆ†T¡Š™Ð…Du5 ÉH{e‡)TÈALˆh’„^Ñ*E d˜F¨Ìh"­ñèEZã1|€&ì Æ‰Åpôab6œb‚1΢* I¼‡Œ 1W Æ;ÒB2ž`=ÁBOI!@FNÅøz à¡Ëˆ j`ã£×¦ ¼Œ&a†)–¤6¡©VXû¢údtÐÅ‚Z†]¤5œÊ(¨Nž0»ÔˆàKXMÂÈ¢=Y±AÏ H²v­‘¨_ÅD‡õ …LT°d"zŒ‚ˆ‰¬K\ ¥Q`Uyô013„ …´&˜D³Ð帰6©ŒHIiS’I’3š³)¢#“ ÕÑ1ZxŒœYÌ^™û³ÏÊ*ÈRxµÀ=sàJ£Ž,(¨¾P%cD #`J$gr~KÅ)†è%.;4¡†”cè)¶D°UŠG +Pj) u š”ž EÍlFjX œ$-2Ì@Œ¡†äR#jDð«]J´gpFWW£ê{sXàx/MõÏý^álÂÔ9;‹aæ›ÙìÍè›oʲ6èÈÂÖ•“ÂDTì}±žÐ~±˜¯ÍÕ•©^ ÐU¨û½ §.“?a.†ÙÛ/x‘‡ôö ;ƒvÛ/@ÎâžGñªký… «Ÿ–‹É«éÚܘê§ï_˜êõôãÚ<ëòúÓã ã·ÓQõôšÎ×+P zT½œ®›ådºª÷žºêÓ»‡ñ·‹æF'Œ%Zκdd¥¼Álã%†€x Æ.<[•:áÞ”}‚›‰Mðø>P6áÚƒ2éŽó‡A‰U܇2¸>PV×óù#ÞÔû¾ª´7sÝ>ª^mn×õ÷ßæïFÕ·‹åÝtYÏàÞT«~¬¾»¡úCušÀŸ² ¤;M¶^7Ç\@plJ"6'¹ëâW¦úañza°B_­Ðóa1·ä¾Vdv–.P÷enÊ>-sŒ¥›0ö*Ë:râ” íñ¥Á‰¦#î1_á¢|‘6_Ò@¾„'å5ê_’7E¬†”{b S…2b³H7Nò¦ìÒf ÙÛ:¼f5¤³-ˆ"Q‚E\<¬Ææö™ÁdC‹Ãù ç6-³O6ÅÐMë=;Ê:@žÒ}‡~-J7‰Ú$ñŽ›ô¥m -ÚFHÛø¤ &™¤-s°ÎÉ:®Ãz}RA¤ÎåŒÝî\5Â6ÔK@ XØ녳ĚýBwXÉÃzj7›ñÛ}¢gÂ6e·¼š:vFîmqB8ÎÂïšLÛÛtmž§¶î¾ M®ÍPÊÐ<Œ™{”@èK¢G¢hN±*zŒoK:A‰·÷-B”3Q­1ÁIúå­Íul®x3°6òz¯ql­qòóÖºCÙ”Ýæ­)`*:¥žVóùPžÊbÁuïy”¹í.é–ƒµ'vѵ±+2ÐéÊAôªº>¬¿ýÞÞ9”Ï¿q[·ßiû{*…>–3ÓÿrfÛRåò¤·íAȼÞÒFõÒ­ã×~_]_]Õ3T×õ‰®zUýüòGýÿÕýzýø×ªš¬Çs»X¾­ÖÓ/'÷ÿVïÇ“åbUÍÆ¨¬&€sùp[=.fŸj¯¾>r&ü²öäÙ€¦ÀYh±™¤¶ÆQù?×þ{½äÖ§ˆÏØG²ìèÔ~6þõÓìaµ¾ôœm†?jî¢o2Þc)ÿ9”ç’ë•m@lÒ×ãÒÙÊøðÁNVv³±óYõÛx¹¾ß,o«»ñz\]ÿ€ïaÛãÝ/ýöY量힩´Eú)üEÄ—Óÿl–Ó»j½XÌVÕx¹²wë>EXŸ -ùé'†òç±#{ËØ.™ìÐV‚]^p>îÇ“w6ö~¼z7ÍÔœûŠ'ëp¾`°YY‘€ib‚`Ë.¡Zõ\Y,ßﺠ÷rF"P¤æ@ëº {)ÖçÒQ8&Ë)wæh‰ºÉrñ¶ÄŽ*sb«Ï¬Ý„ƒ·ÎuUƒ‘]—ré£ãNÂÙL¯z§Pe?…Ò7ì3R¨H¼—BéÓùÏ-ÁÃk"ÕÚzn !À‹Àc¢£ç–ÏÜû/!ú¼ßÕ!ödO¿„NÙtö™afGaÎØÞ²ïõp²—½>úFj}õ/zPhÇhê~ÂÜ“ÝÞ)8oãë °n\åÄ=\ó½Tÿ~gû`ý…ûÍ `Ë®­ Ŷœí¡ Z‹'_÷‡èæ Móx~y([/z‘y ”Üáêwã`[ endstream endobj 550 0 obj << /Length1 1449 /Length2 1754 /Length3 0 /Length 2672 /Filter /FlateDecode >> stream xÚT 8Tyÿ¢UÆ¥¢"T[.1æâ2D®¥÷©3Ç8Ìœ£¹0Ø‘[RªU¤r‰V¢RÔb\²ÙϺDJQ¶vUD+û­M¾3.ݾïy¾ï™ç9sÞ÷ý½·ÿÿ÷;:ÚnžF¶,,vÂP•D±ö g//*P(&$ Ř £ã…8ðÇAÇæñ µø bσ!îs€8’¡`‹¨&€J³ š[P(À˜B¡Ï1žp€Â`À …ù{,4‚‡°ƒx£¹W Ï\¨tº9q:Øra„PÀ€A0ïÈ„8Àc"° â‹úVAA¨™N‚¸|Æc[¯#‚pD<`>Ì ƒY@º4p¸ðÜn$‚ð Bø3O,Pñ`€;8FùxŽeÁ<€·žÎÛ€k(ŒÎ€·Íˆ`öt•DýXn6[ZA§“!&ã†Bh‚²A «Ó6’@$ eI‡áùP„p 0=;œlÝ„¯8» ŸÉCB|áH—$KËàç숲ì1.F|‚t>„3ñƒ ÏÝoŠ…£QÍ@eJa CÉÛQdŸvv˜á.Â'3 …bnNð>‹˜Adi ¯ˆPx:H•ºñ-ÄQ¡X(ÄÅH Œÿ¢øP ¢aóí¢1kûÏDlÙþ•ï|ûú÷¹Êi®*Ê+–wíï\G_>7亙ín!w¿±Úwð”–šòö¿ô¶ø*”¿W-–¨ø?èüÉNÉlÿýÄMAép€¦O¡¹EuKñDdëÆêyµÄüÃÙz}#ÄüÆñ®m²'¢×¬‘ÐZ‘ÏNŠdSËE/ûlž)©N ë‡}«N¶=8¡Ý´hd—ŸIa?U«ý{ÃBÞ†½ÅÞ"+$ó¨1Ë4QȪw;ôÝ#ÅâPÅX¡ÂäÆyWÜ©ð$š¸}ŠTi“}Q‹®)§RÕCßÿó¹Je•£Ú’õ¦Ùæ;k“Œ‰­×O\:8d¼°ò`‰¬ÓΜ‚s¤«"ëVvèOuã¹:aoîý0?É“ç×ÔP˜¤œYÖh0’§÷íÚò†tÄ;©hø²qåsуš¼÷eüa½¦Ñ‘Ÿ´Š#c—ž4TIÖ°Ì3äÛ¾.·iêôdÊËŽ¼©«·rLÏÞjð9FÈA­ùàJñ¹´Æçë6» "¢˜ÄV™?íhi¾ðšjå²à=‚÷¿{±õž¤ º²!ÿúNî³'¯H †À±€â(KT­Š™ü}±úëJ¯®3K¢›ûF׸œ‰‡$9Ëv.(¹›ÞC2ª;òÞñåÒ-LQfù«Öô>QÐü+\”&½Ö¸J–ç]PX²»Â©³*îÀNõ­][W.€dàq휵Yú©eY±´s•m™Û¡®Ê€Î»Ë²Çw>f®8¥0n~'7=©ß$ocÞºõ¥:WÔë–µ¿Ú¸ºnš¨K((ð…}ê»—5*y»¼8|8!’@¹ ®î¯éQ¾¤y«ÛFÒíe²ãJå¥uÞß`°açÈPãÖ¤çî.Å>]e0OÇ:K+z(4eQL-µCž›˜+J7ì.ôËnªl,Ѭîmql:»t`<¬õÇ¥‡FekwlÃyqìVïd·„Ž¢]Оì¦\þæ»G+w®ŽçVšÖ¹1”æÝY¤|ìi½uYÌПìŽ~íD—ngwçÈ )1¡äÉójÒ …Ö]rÓn¹œÞ]°¦#5(†–o´àûä€Ì?ÕO»;æÊ<)àõ«:¬,¤oOS­+LKOV1« [¥ÎÏø%ÞFw©ÓäBŠÕ°Æ™›ÁÇ›±ô%DñN¾Çž23sÐkZÆ4“»òóqkRû]¸}€:¿do\Šíú %û²¨ºKnú™ë »»®ËR}3 ›Å?Òjn Ytº²ÿ¨¹×a3¤òìÜââÌ3ì‚w# ’ÅiÍÌR& Ó —¡ö¦½ºõÝÏ+'9¿õxT‹à{ \Ï@7£½{t§3jÍ©ÕkÏŸžÚ´êù`Wüp–áz5¶NÂÞ÷«$ ³~#ü¥%£FêB'ÚšûE â‘«ßY·6|ðTD Ñö’Q™qF÷/°â`¾$'»é{¤Sr»½úñ »ä{ªV\V–ù'¦{Ü+1eáDB¯²ÍnPzȘÊ@އ­Zû›…ÆC×úvâ=syí‚m‹3Ôÿ.ùU€È–ÍS•[´:*ßÝ_.Û4¶ö’|Âè/ïßk^ûqX£¸ÅÔÿí¦rXæ•…&2Šù]ôý&emÛ¢¦R‹6Œ±•]N¿yÜ‚æ-z›»¯€ü¡¿÷FqU›Þ+=áT{öJ#¦%QþìÊcz·ÏÿºJÙ!ædéŠÖŠ?Ư_/ò´ÿ‹U`œY„Ð,¯åå¤Þïçܬðÿ9¦¡£·ôJÑXMì²×÷GV¹ß‹Ð¥X]γ;Ç“¿¹ØÆ¹üÿ“ ¤FgÍS?­ è›4ŠZ¡êVÛôæ–ö³µ+ʧN'ê$1Lìi$ª\8qÇ³Š±¾»9OE—§ûñ»ÿ>bõöZ½¡õ¤ú?ŒK©~º«|ܪV3ò\ÉãÈbå[{®ØÔèÊ;P91ÎäüŒo{ÛžÚ«^=˜’uBÑë²çµ•,™oèÎjî«Ú¢|Bré §.¶îÿëÖ äÔã¬_?)_–=¸Úƒc²ž±eâaB¦„ÿm¿SÒ/6 endstream endobj 552 0 obj << /Length1 1418 /Length2 6013 /Length3 0 /Length 6973 /Filter /FlateDecode >> stream xÚwT“ÛÒ6‚ E¥ˆH'*pè$ôÞ{•R“ ’DJ(‚ô*½7¥ŠHïÒ”* J¥ƒ)*J/_,çÞ{îÿ¯õ}+k%{Ï<3³Ÿ=ϼë ×Í;&‚ÊŽ(L…Ä ‚„€2U}}mŠ "”\\¦pö·’ˆÁÂQH™ÿ@¨b``Á¦Æ€ú($@ç€$d@’2@ @”þˆÂÈÔÀžpG€¾@…„a)¹TQh ÜÙG¨ó÷À値¥%~…”Ýa8Œèƒq.0wBE(0AAá0œÏ?Rðȹàphaa///!°;V…qVàxÁq.c†ñ„9~R€Ýa¨ QrL]àØß”Î Œ Cb !÷Ž0 €P`¢­0DÿÁz¿€?— þ•îOôÏDpä¯`0ŠrGƒ‘>p¤3À Ž€ 5ô„pÞ8éøF`Q„x°'ŽC€_G4”`Ã?ü°P à aሟ…¦!\³:ÒQåîCâ°”?ϧÇÀ „{÷þÓ\7$Ê éû÷Î ŽttúIÃñZØ ÷¸ÓVûƒ!˜(ÿms†áâ@)IQ)qÌó†ºÿ,`ꃆýr‚~š ü}Ñ(4À‰@æw‚~(}±`O‡¹ó÷ýOÇ?w” ÀÅ 0g8’òßÙ f˜Óï=¡ÿ¸7ÀHüùù×Ê– 0Gáóoø¯ kjÜ5×1çÿCù_N”7ÀWPT ("€€bRIÂÂÿŸyþu³ÿe½†ÿ9ÝdÔF:¡?KüdA¸¾¿™xþ‘ÏŸ¹áü³„Š h€çßú·Š¡„/Ðÿy ~…üÿÄÿ3Ëÿªÿÿ>‘Æ=â—Ÿç7àÿñƒÝáŸ?‚ ïáá"Œò¿¡°ß­s„ßsÿo¯6Le¤3Aè‚ 1! Øo;«÷†9Þã .¿Åôw75p$ì ÿùà!Dÿå#ÌÔðpÁzöÛÆ÷«½?÷0¨ýóêH(ÊñçLŠˆKÀ ؇’ ÂNà " ¯#Ìû—æÂBHŽ pö8¡0”?-! ÆâÀ˜ŸVÊd†ÞÃ`¥I‚Pöïý¯Ñ‡Á¼aPÊÉ T6ĵ&¤õ°J™ÅKpeXŽt+ýÐRDp¸ÐŽ×£>j¿˜h’“=¥[¦1Ù Ò°sí0Pñ8Ì{¿ã»\ËQç#¶/È¡±æÌ‰Ÿ8ß¿0žä{Àzk‚º‰è‘Eª »L ¦‡è[4M'…¢£s µß_5]’¼¸éK5$uB[ Ú;«J³õX¥Í?4Æ5CúMWÄwÿÊûèþ0x)Æ&2Í ó–®\ûe¢W%ÍBß@ÿ m7Û‹è Ï+ß8Ãp´ê²ý¬jb—*Íg_ý‘Wâ¹™Iç Ѽ¦´éØótž7õ°Æ`Ûey{Óö&Or§¤‹C²S è3þˆ=C¯’ŽÉ/XrœÎ ç iìSH:ÀšweÀµ^Î=ûÈæ¦ªë35Þ5²ðãžnš¶õ›ÞýDù³òåÏþõ\m±žNaÄ-U¥Ò.«ó3dónø;?îåDäÌìó„Ž[ˆXK¥»´š*ÏH‡´ZÒŠŠ^ñ„§W˜]®ÿÔw©Èjß/vöx§½]…{Ê£2Kƒ_¨ñË,|t¼~UͨŽQÅ{¹/îûUz/Úêõ¹£ŠüŸá[ÝÅ¿,¼§‹AÉ8rŸltD…Ä2 µDÞz6½Ô±Ç^NïHTjÿôx7ˆáu/ª•H”Ò³4(æxºIœ 0 D×áIËî\—5íp–è{ÜCE¬0)pþ]¡%Í0PGÌ]8tj,Ú0ÑÌGßïÛÎÿ˜¡e™Nšv1~oå~ò²¡µ‹¿àµiž¸+èúƒ×Æ´*/ì6çEóŽU³Œ¹ÜZ*D.$ýäSö殨3 óN¶üUëv{ŽsÈ9Êþú7VóÂùãÞƒ—¶-nq|a"^nÈÉz¹Þ^GÝÕÀ&ð†$rm9Šl7{Å<6¦¥°§æ¿÷|:'¡Ç*åjë—ºjëÝŠ`çÒ«d H{s¶NØÏ¡Ý%¶rŸ÷…—UðÔšèšü­Æ’HÒçЙòZº “IcècnÒûþtè3ÁÑ § ;ødž²‡!†7_ßYCï,t°ÙÇ”*kùˆñ~© )p¡Fé!Þ¸¾Œ,•0“¸y¬è›‡Ýòìb ‰™ßðƒÍä`ªÁP1{²¥k¤t3'½ÃÇ -þ‘)Ú± ÔŸ-êkDШlµ“ì§‘$íÞ Nïµj­9lMÕ÷_¸f÷GóŸP-/3l2ÓifRËxË™DtÍn^VŽÖMóƒ™ Ç†› ²Žb L‹¨'Åe–Ž=éoCuòÍLÈòãß\¿dSI‡¿â¸Qh46ïÕ£öè…H¬€bµ›‡ui¸Caoß$ÈGl857È}sÕý7ÆéÖ„ØŸã²ßuç´¥É^ìÎ_¹áÖ¼ÏîVXsÓ²§S/¾½áðQ_‚YZÕ~Ö@?qlªÅÚ=óÉꆙõöžÿÀ†*_œÉŽB…Šr ûÙr*m3–WYðÍA³Ü)ÌÉšïÌ@JõaBÂÒIJ}#Ú6Þhà“9‹ÛÍ>ë“ Þ;Ix{,ä³QøPÖxùW?ÐÒ®åã:ž†¤¸%Uþ°ªöAy¿mp­øšæ]PcÒ–NbãSÏ‹¼¡Ø’k¾ö@§‰ýˆŒŸ£ŸÅ šoÍ€ŸrJ¯¤K{ï¤Í7kíÄ$O¬OÇ :ÆËÕúýIM’GYEƒ!i‡àÝ›1Lì¹›:]”Z¼¬£ýøz6#ñý‚û¦Œ=a…aq7ºÏŒòF^ Ï$ÄDÜf‘Iy/ðØÌžAïŽbB}ßÀ ÕŠUýýwð­wW¦R®Òö¾9ˆX¹¼ò]”ï½ëm‹®µ ©µhÎí1¿íÜ›QóCQMgÌëSzI²ö÷)Ru´9ZR»¬úy>02¸{¬];(бfL pš !‘H}*Qûñ†=è¸`,À @õ|ó «‰©"è¡b09Õ΄òxϼ‚çÁ’Þ…æ7¸çù$[fñt_?¯Qt2=uWåc8‰7¥—ŽŸVo&.²0tœJxC]¥µŽ^e¼ Ö"c¿Enƒ/<}I#<:Æ¢îjNê›ŠÜ ›V§˜ëŽŠûXèúáGw–Ò¾ùM5à.ºª8®‡šËWà'E§:M'tZW­kÚëÏÞ‰:œz柡‘˜`³ËúæeYûBŸ®Y âÖ2Ò׫žÕˆàsÞ}O)" §”3‘ÀêݳÏ!™«QDy-DÚ› #lö¼9w3vÆía4êWMpWŠÌ âŸ_«.*E?@õˆÓôy멽îPNj¸ÚcPÌöÖ˜ ý%Û©×{UD'õÁ2¿fj"{>[öfäI öJ×dklðÇc!Ìy ûŽºõA’òÓÆÏ{WׂKƒðm©+1¤Ô £œE*eTzÄÂQñŸdšTösï¹5YrG‡A÷$€¶X‡ ÊÄݿ̖$žj±¼ùžõo*5§‚´n­Ï›s{SÝŠwOžë²W¸GÏ*ÍÙ*ÿµú¾ónËX'¹§1ŒÂ}\ÍšäYlg,:`ð[Å·H*2Ë™$åS)weüäާ싎í²·–3ÉFKÛÑó­ûi×›˜T5‹¯&¼Í«Šëž÷“è^ú*AÓ©<0Þçà°Üî*#LE|ƒèníÃÀó3³b.¾c ›; *«‹IS r+wb8Ñ$®Ï;{×½ºp¡üðÒ9xE¡NÙxnãq@›YQÏà7ìšUKŽk¨ÿcJ›—8-ÕK[Gì”j‹+€ç¾pX÷Òå ’r¹G•,íoNý^ ù¦A«Â‡À¸‚ž†©ûªäéü__³6±NÞm:Cs¸¿Ó€K¨ë8ÕË5´b݉xçoÌŠ’–ãæWàYN —·ÛÍSÕ ™@éõOöÂÏýÝôF”>})yePS¾Ûî©Ë‡ ^·Ê¬f8…d,áP kwãÐ[ó\(!Œœz“Ñð ,ónôW×Ê% zÓ™Ö·W8Á[ÁÌÆÓUÇX§äº‚Â6îP7ªšõ>yøÐêüÅÀêá­hÕ .î°SËk›ÚY½ãé1m6Ó /¼:ÿxb C9x&.¶`o ?¿¯¨Ìvz§:|¬úÉD³é>:l|Çìqðp¿r> Ϥ­þ2Ó{Zj úý™x» g#ï Sª³oÞúȳî–ÚáÅÕc‚˜ðœg¡_怃n&Qè‡mÊ߈]J0XªÐ¶R×IgnÑ­ÍCšê.ãÜkŠ×ƒC×*XRr–”¤£o¦£l”ô’À¦i¶Æ8ªÏÔøŽÊ¿˜ù^˜É† ª0¯„&¡ž›B>Îvˆ/W6vühInWxúY×ÛC´«há•=®„íYÖzü[¿‹÷\À‚!ùUõ¥Ê–d¡-»Lm‘L›–B9lmêÎÐlí¸låÁ‡¾÷BüÝ-²×¿×ë/*ã±Xˆ|nÌäi¶I‰Þ> Û*Lœ–»¤ÑBm˜¨þòiâkôœ‹¦äÂ>˜]ª0³‘“gn»ßÎLôZ¥GfÝøÞÖÒŽ*é­§çžÑM{®g´D±ŠéyÇ3ƒÊlc«âB¥X™vÛ>Y-‘ŠÐ¶EDG] ”žnùŒèNÑÁîMyÁô† ÷A˜Y¸/"–’4sêv"¼â;O¶>’ŒÊοòðu/ÉÒç")M.ÚHôpë«ÍÞFýï2c)ÇÈÓ—œP“ÀMñ›e‰¹-À”¨SJ¡7S–Õ(ÆnKÉ^¾ÿh»î|{‘-Ïn£JÞYõÛㄺ YÅ£µÍ÷øK²±ö¶I­˜Â¿=­¤ÊHaܪ®5 Õ'’šÎqÍéG¯Xd¨Tä¥9÷.}ïÛdäÌâk”HØ;îwÁPïÝ ¦à€•Ë® ^ µè*u 8Ð<ª§/SÎ)–Šb½áUQæe—†š*Ÿ&?£™@r.4¸àåc;?a“=ƒñpÿz¦˜+ô¡H·áx_ÖwoÏ´YìMXgÞˇ%·ÆiÈÚÝ6º¼_h»¨Ë÷—DÙ&Úb¦‰þWZ¾j?8ù’%2ËTqûJQøÅŒ³kŠª4Êw‰Ð{§>ÍfÆAn $ñ„7’úH–§¯ƒ:ÂBüZ-ïŒç›·õð¬ãçF6Ü}=Û⺠p|yCß3¡4DjÕC̉Tö²8·ñ9Á¬œ 16®’’RÒ£­ ¦Ë‡³_j˜/(æñT„a_9UsñÌœ ‡Õ¦µn‰p“¦ ¢£¨t·ª"!K»¢7åï©ï­'§‘ólªÉÉÖºVu4ÏOj¯‰`éÙ7ÌŸ(×9‡i&½60é‹‚öŠŒÿhy¡ ›]’|§g§ª’¿½VE/?‹‰qHݦÏFx<ã±íÈ0€±äè®%kÙ>+–Œ¢A©ß©ìbÓ·¯Ò_§u¸`rÎ!¯;{®¨~´ªË’•Å]Ë¿Y€±á¡à´~#ì=m'Úüheö¨Ü#˜´žØ!xr Lõ,ÉLª·¯χÆ^f=º¢^´p+(!øw†db¹‰‘">oÂ*B&üÙŸ¯é®Ð57 ¾ýTŠy1&7­.Óî5“; ¥£JÊë*ï’×Þ[,Ñésøö*Ù’×Ø{k.q=ž¤Û›B|DhÊ¥ô6y‹šÓFÞ$°ŸZð¢™A§èòRXÓVP‘ŒÇE†Þ~ÝÙº3 Y9«ó¼·¡?ºü¶Ÿ6ÎSŒÓ^Û5ÆtœsTn)wC6Zû êN–å\ü.0€ý”¤vGÕ@Lצav{UQýöwcäèAÊ­E·Û³y»‰J&ùÇ~:T¼ç»Z6YÈèý’G=ÍÕäxS·l ³N ¿¦<ÿ–Xþqn]ómí‹$R¢ÆLSÎ5mýýEŸh¢L)1a}6¿ªÆŽÛyò̽¤Ä¤ ¸+׆¥ÜØá×Èä G)ÙyÍ(—ò#øÙeå¯d]Ôœ¾/E#i‚As‡ÕpFºí-¿VZ"¯/NëF¼L½A{ æw’¾ ©üÈžAu§.5R Lˆð{3¶ÑnÈÎ;ïñv…F#G‘j˜G\ ï]SÔÒC=uåC±ýjüyÍ)Z娡ôJ˜²ÿã#ªE;jyoû˜OÍHŸ?ìœ$aHîª2µ$¥ªòiEôy,Q«uÜ®ZòdÇ%w‹bûÛ‰hðyªŸ/­¶Ãõ³.8ìîŶ é䘢o‰ö++q¯ú(µ}aø8ö@˜Œ,”¸3%¼ÿ7ÂLåM•²³Ç?ÄÀ'Ù°¥õÆþÐHn—ä‰5 l6½P;íöN<ÍÑ{œªWìèf–\ñð1•ëc_ô¦’ßÌöŒ¸øCó ½•UóW<4c|·ò /œø»»ùıVª…É£¥¦âX~ e¯ëº”mÖg ÙêËl L¸™ØÙ¡þ€=³­iDFÀ_éž•l'ŠF>”® ¡os “ï¿ J÷¬‚êÑ\ Ù­3½H›÷ÐOKKœ}΢wÌ&9^ôL“ÿnç`žJLõ|Tdž|9÷P©äS©€ûáñ·ÓGz;)/¥8®7pÔô´5¹èœ4¿Èg}Ìã{Yác÷ÃŰ@G“€t=@DãVUÝk¬œy‹Qyh4ùàÇC ¦àí4ÁÒ®éÚ#Úûx”xpÑÌÓZÇrõûI'Ü]ô>õ–Þ×kRÖÍ ¾[š2qP½Lô@ÒfšYÈP")¢B£q5s£U8S C‡0ÖÑobB†ÞœÞ‰ÞŸh¿ÇZ61å—:KéjÒÛÖÞ š@íâ‹-‚¿ ÂeúÈ,Zù·/¦éÖ¶vü˜0½èõé Ö#Ü´¼Ýåfjc[/‰[ÆÂ*ª»5#°ä\VX¯ç¨N¬{)ëŠÒ‰è;›¯&2R þr¾¸^·ˆ¡©*îHµò± ]ôgËÅBäöâjmõŒÂ€[|‡ º_RÞó7*)À„§Pec×ÎT™*˜¨/¦>ê D ÐlõŽØ0ó_çôìB¥ªeL9‡Í“Ÿùmä¯9".R3@bÖø¶†ö+ðù.‡Á“‡ÖAÜÅ=Üáç«ã?<„*¢Ù:fß…ßè.ÚìC$›{‹î™æ”]ÞçÒƒà™É &ø±:9”Lü;“6d@È ¸—ß!ýw'Ñ×U™Áϲ¸_ÃëßÖ„{^2ðõÝäš´ŽYÊLçÏk¦B)±NeêÅU¨E°Ž¡¿àx•óR·/Ýk¨ÏËU"Cí±”w—nÐ.>¦"”‰ßÊ·o˜¾¡# \–¥x°Ö›¡Œ±‹æmöä;JÔš[…ÐéíSÙy¸1E56ÍmÊ(}œ÷¢xÑ?Sl¨>Y’ç„a^Mþæ!ªý((ê k%½«(F3ÁÔ0ÚÝh8õ¤ÔÓDC2]*+•–¹í0úFì"ö-8žU&is?Z49îÕåoÚÑþ$¼²%3‹ž’~÷äÚ¶ìV¤¾ž£ïƒà ämrŒx-Ì`¡1ÚZö˜_VüÜ¥Îç* Ž`“€´(í ¤“m¸‡UûHªâ;v<Œ²\"\wÎ$Š´ Ò¯k‹ÒžÇÜAÉÅÎ(¶HÒ`)ÒE›OÖ}Yú¤Pޱ endstream endobj 554 0 obj << /Length1 1500 /Length2 6403 /Length3 0 /Length 7396 /Filter /FlateDecode >> stream xÚtTÔ[û.H—( ’R3tww‡äŒ30 ’‡EéVAéP@ºKZiP:þcœóýÏwïZ÷®Yë7{?oìý¼ïónVc~E'„D Gñƒ€Re]# BÄ&P ò&æ0ƒ =¡¸ÔÿrPFBÀ( ¦Faütp€– €Ä¤@âR@ @”üÛ”¨€½¡N]€ñ$æPF¸û!¡.®(Ì1/ÜŽ<¤¤8߯p€¢ uú`”+Ä s¢#0F8B!(¿¥à–qE¡Ü¥}||Ànž¤‹ÀŠrAð€?g(ÜÉù' '/wAS8Ôà ¢©òÇÿs ¢@ P\Rñ@|]¦7ñs‡ü2‚~ÂAîw€3†$ê Áüx‚½!Ò ð¿ ÿÞƒ@'¨# àq‰ÿ“Cœï1ÍGB}V@Œö@àÏß?+Œ¼œp˜ßÜõWÐXߨÄÈ÷7ãlJJ_@¿À/$ €~ŠL³úwš ð7ù_¨úçrÿ+£&ÜüÍS¼¿yxÿ‘÷Ÿ‘áüû=FË÷¤o :b> ÿïøòÓýÏ,ÿ/éÿ÷…Ô¼`°_fî_öÿà vƒÂüþ8`¤ì…ÂŒ….3ðÿv5‡üe]ˆÔËí¿­š(0f<á.°ÊõTƒúBœ  (G×ßú» ˜ô0(b€ð„þ|lü˜†ý— 3pŽ1Š'¦W¿LÌ<ýûHU¸#Âéçà ‰ŠÀH$ØÓzÌNÂL¨Ä÷—´‚p ÀÐ 8#Ä?;* : ÁŽ!˜7ÑõÓøþÿÝÁ¿ b˜ˆ‡¦Q#½ ºcžø¿ˆ€þ ÿÁäu‡yyþþÅÄÑ ‰ñFýÒ†æßû_ï â q$žG8J‡?¨ o´¦ Wá”n§öW™¨À)›I•Âvú·! 4ý¨ ªlÒ?áÆ"͸5÷„#cmç®]SoÙþƒÒc““¼»þ‹XíÃýˬŸ†–Ù`¥Ö¯E:jÒ¢q©8°DNÖ‰å´ÃY+ç˜ÚySŪiÆŠôÑ.ÈÂVO®Ò]‚&a •ÜÀ–  ˜+c^§—êz<9ëÁ’¦ÂKB­l™§uå<Õ™ˆYëKlöùhÓoDƒkbϳ‡}Õs áÝ%wÒbèW åãϲX'†ˆu„°h+¬²Òn_. æasްxLè¸q;–kYfŒ‹ª§2!e߈Ò@X5—5œ_ªâ6×íÅ«AÅ›ZäåxS•ÊZXZ(4g{€8þS± ⻡fƒíƒ-›cãcw’c‹?ÞT›pñaS}–à³oÍX~Š0”XxAB2dÿè½L&3XH˜z-ÓðÕm·ªæt2c¾×uo>'|¡ôkauõÛ·éò½ôöò‡â)›4$v}9xVÏ›%| dD@cL‡²¨Ï'XÓädÒb©uµAHm/ÐWáó4Se, }ZÂÖ¦%WÁ4SJ0Wb Z7ãyŠ;kÜ3¥çËÝ ½kDASKSØÔ ߃n2ÈØhÒÁ ñ=Á}Egg5`a}›¶ûð»aN9™‰Áõï°œSbÈG¾$÷«i†0d°kòYm²ÍþÓð8{^Xá1Äðxü©‚3­˜0ƒÆ‚Ø{ÈŸÞ´ŸÚîmv?U×ýó=ôJwÏx¨â‚=+£J_åI'[*+ó£•i^qwë_z Ë%ubÛ9QÕ²þÙdj Æl»Ùºõêã/{_C¸™Ia5”C; ûY /C/Þå)¶³C9é=¾`ÿÞª!bDCùBŽ/Nð¥çãÛã=ôæ 5ßÏ;£/.Wn‰ñÕ¾f~?ª§oe²ÙÜõD÷âµ»÷A+Y&SdbêÑdg‘RIò/vjx­¥r©2謅vR¸{\$5øP/j4Vû-vΈt~Ë·ÑdX¨Ú7>ÉdœÞaÌ+léÅ/…NWoÚ籓Jo],ÜkŒ‘éz•û|¹“2œãÙòJR¦Z=LYÕ>ÂìkžëbSoµaò€Z! ©cièvX0;úiÛ°pã±ä„äÖýxOÉ(l.ûåRf²-ä´ù©”޳­Ï‘ÝÏjXðÃH3l™Ìç"8…D|(Šaþ$kì£Bæ»”•>s][ú’×ù«lú¯²)?ö›·ßS£°™|e3¬ Šî}fmø¼íŽÚ=ô,Ô„f?~ÃVpäd—¯kViÌaòN¯^[<¡œ×(u|Ë Y˜~Ñcù£“rÛÒÔX1ÉHZ{S¬Ä„'â«jD– ~Æ6ö#²o¤–žÂJã_ß$±¤dz³O7jbÔž=&[8Û)V][E?v>1ð шȡüF`~Q%=£ÎT4U&ܘaûÓÛÖ}…äRºL¢4ð›ª~ªTÅ`ǘȯ0„9v•.÷A>«æõÝû‰A¸eÀƒ{á@Ø o¦2ûz.MXÎeðbëjÕE[ÏòðUË_îʸƒ7lIB']7õâØgÖì¤/»Ÿœ‘–JxùͲ#RæŸ{;9z´óжú=b½œ³Ë<»sÒ²uÓ”¯»•ó•Ò8ÈiÖè˜á.³ƒè‡~eR3k¾òħ‘{ãµ±ØÁ¯.ýe¿Ã?,+"]ã¾5G‚é¶÷d 3Ù ÿ²-Ýâ'¥x?Ž=“¥Ú÷²te›‹ònTZI'4ü#ÂáÇLÐå …Ù§¡ÎŸÃ.Ö l¦ÿ¸ôæ év àê7^nSi蛂ù]°Ð‰'Óä‘ZþW~WÚéöµÚö}¹º—¨z:ÁIõèÕ99J0n”äj1¾oixQä¯ P)<Úî\E.ÈŸwÍí"éÊÎtVÔ‰m£°«{j?i;\§®}$-Z‚_àÓ½Ù€»¢‰ôØU,vV|¼`yêõ&¤mn¥ý ihwk˜Âyë+“Ê#©„øi'f£Bœ9@²"ê6é&?ú)ÏR=]Ð[ïºôYÒjôµ×5¡ñ:¤v}øííb°ûŠKoò{ý0«¥¾±w<ºÃòýp5¹S®ÜÕyÖlq¬ tenaOôWY¢4ýÜöÔ§Á2ž·éòÍ}©ÝõŽÏ Õ°à)HËnl{¯… ¸o¶X¨Çg£7ªÒºl§Åîìfù Ûƒ÷r)^õÅX•ÄܲnîSÍÊoóahÅÛ3ß!Íõ_ƒè€Ãi)‚||»Þ«pž³ÔìK¾¶kþ uåùä%~ïfÀÍr˜üýbÿÃØç)båj×%¶YÜùu†8{òÏqvµíåöUEmö)y;sz=ÑòõÞŸºl­/þº—D=~iøñK‘žƒsïLcó|x‚(~êµ)Q£ÿСË7—~ðÊ“§^Uj9C©2í”g~sµè7ƒ7Îî5Þèq9º‘·²i{*R¤‘ÖŸ—>qfÛ:è¡ATf¼4Ý>|Dz\˜”4(.·ÅÓUp˜ªšu£¾¨TQœík€J¤‘Œ êR·³ûû©çê«ó‡’šß“œó‹3†p–®?_žóRN½²PÝzr«GàÛÖ–Áv¶{Z3Æâ7[¦-™Ë 7ðvÌ1qO)nh‘ò–¬E¨k ¤˜¦ý‘¢—»Ê.æ]iÌ`byû¯»3te:/®E^ï¬Ë§c}æ:Ú:n? V£u2S×çã]§ñ¤~£~U°h+X[ìQÕŽÛ{„í×Iþæôô>óÿp•b”©ð1„"-={CwRA«ýŠnc´ÜõD^ïõ£/Åm3­±ÀõõäAC¯•‘1=´]&=Š=$Ît—7^æ'=3’Æ‹aiÔ>¹;h’SsSíøÌzáòØv4‡‰‡D:•¨%ð›@źã1™†×¨ØµaçåàK®LCáiß»µOX„YŒû¤ÐnoÏpÔ¢´ å>æê_ïd0!ÍæCÛè}mÞÖá7Êñ,íf·VÛ„À2OqDÍ·¬ÖsÕ¤oñéqqQB‹c¬+ô [54Fû¿²´È›Hm+LªíÒ®ë]“[´Î+dÞð4¸.šã‡6‰8ש©Ô¸&ÌL¾3¹ÁckŒ7ÄÏ÷ ºä#‰¾¯W«J=¨Œý½ü˜Ä’$ÞRíß6z´'Ü8lMü~µ}ueùEÔ>Ví‘]ºok|ŽiV`,—ERuwT¸º¹éø-1Mk–ÔðõÙ#¹ ©^3»ó½rc¯$ïiƒhFª­Ù&© w…M§ý»ö{½VÔ2œqú¦ "~,}äQ}-AþøÂ´0ã̇§lÏ…2æµÇ¨Ô¢Óƒ»…uå³ÔÑ®Ý$…ž2þ:…$bmuñ„e¶Ò@ÃÁ¨kè³UÀýÏÀˆÇAù:cUÆ”1…R!Îè1·Æ×mŠÂ» ã{Æ$B²ô‰ãVïœj&“/´2¬gßÑ0—2Ð8nMÓ…\œ’âB5? u¥+®#¯b¨ËZ†Ê®èû´¼Ûø´Y±‰ª">?7›ú4ƒøåEºax•Õ켌i«…#îãéyGÞ#ŽÅ ¢m½†Y%cQÉÈ“°ÖwØñè,¶öñŽŒw.&_çVlŠÍ; ñg¸+ï±â|ðßœlðPÇÄ%/GØRé±"KÛ-ý e #9i‘/¤4•ïØ F‡ó?`‹ù[‚÷]Ædh‹0ÜëÕæ§Ÿ˜3/4^5ˆí/SD«s…uÐt̞ѾîSÝšÔ0o¥-gÞ¶\1ïå¯Të+µmˆRjóYtëÌ;&ÏUåi¦9]ßW ¯ßÀ'+Ž›wbà;#é{¾|U¤qPì”vâ_h6¼¾‚”–.‰Ö~/Ʊ­V °I×âRwÉÂu:Î4´Pñ¾4Šlת£jsí‰ÒÙ^õ¸&ò±\?õu‡?Š·F£,’ÛRÓnÑ•PÑKJõ “HħÝóŽüè>§Ã‘ÌG¥´jýÂúØ€§ÑÏ£ùÄ}_O*Fƒ!ÎÂÏ÷|=ž]/²b‡Ôñ–Öù•÷:t9¯—Mùó9•hN64c'¶Ë…Èi^ŸqKÄêGcJnhTÍä÷ Å[ýüóà“Qõ5“ðêf¦B·<ð·Äb]¯i•žIÔM3A9‚]ì±Ã‚î»5c¢Ÿ{Ô,mãà_ñ^úò»s[³D’Â.7[*É\xcÜ’PûŠŒ¤³¶r¡±DCË3ä_óUµéã¢ý/®q™_®j;vëÏó‰4?‡ŽĪ7|<¹lä½·XŒ¥=Àpé7Ðm0©žeã_š}2Ãõ)w¨b\;ǦžZ+-iCÜ—h¨÷ƒ°¬g·@¶fi/ºŽs°¼n«NÊéÞäæ‹N¥0›ù«cî¢ål'ÿ2Â*œ_ Ú¹¨ýwúåtGërc š°Må.F‰‡áR‚çFÉ8›Þ3ñTÜ7.‰NÄeÈyÖ,Ay RpJ—R9Ìä«êlÑ0¤‹GràÕÔ¥“ +£øVÄëÆv­4I¬@ž”šopw:-¦eº.‚­ÒgãêÞãϩʥXäýê{Ö…ÙX6¼¹&­Çð÷CÉZUFê¦eè> stream xÚwT”íÖ6 % Ý0t ’J§t 0À3À ]‚ Ý’J Ò HHIJw§ø¾¾çœ÷üÿZß·f­™çÞûÚ{ß×ÞûzÖVFm=^9[¸5DCò ð$ == ñ@‚x¬¬úP¤3äo;«Ä…Ã$ÿ¡à#Q6E0Ô€ÃUg@@•“AHâo Ü]P{Bm >@ƒ ðXà®>îP{$ªÎ߇ ' !!Æó;s¸CmÀ0@Œt€¸ *Ú€=¸ ‚ôùG i$ÒU’ŸßËË‹ì‚àƒ»ÛËpò^P¤  A@Ü=!¶À/Ê€&Øò‡+ ïEüåЃÛ!½Àîep†Ú@`TˆÌâ ªz*ꀖ+öXý/ð§9€ŸÀ¿Òý‰þ• û ¶±»¸‚a>P˜=`u†ZÊê|Ho$†Ùþ‚pT<Ø u[£¿¯”åt0Šá~w¨+Á‡€:ÿâÈÿ+ ªÍJ0[¸‹ †DàýºŸ"Ôbƒê»ÿŸá:Áà^0¿¿OvP˜­Ý/¶®üaP7ˆŠâ Ê„÷o›= ˆ€@ qq Þ6ü¿ èû¸B~;~™Qü\ᮀŠ$jAýàù!Àžéî ðûOÇ?Ox€-Ô XCì¡0¼gG™!vQów‡z¦ Ôú  _Ÿ=™£6Ìsöù7ü÷ˆùUT´åä¹ÿPþ—S^î øñŠ ¼‚" @BB‘þ™æ_ ø›üo«6úçrÿ‘Pf$þâ€jÞß<<ÿ,ÇÕpÿ¬  G­3àø÷ö›D@6¨/ÿ³~‡üÿVÿW–ÿuûÿûFÊÎοýþ?ØêìóZg$Jp”@`ÿ 5„ü¥g ˆ-ÔÃ忽*H0J"r0{ç5ŠP†zClµ¡H‡¿¶èï9 Ò;Cam8úëð €@ÿåC‰ÎÆ õVA ¦õÛAiêŸ%•`6pÛ_âÀîî`<jÃED?”Jm!Þ¿—àçƒÁ‘¨E/°ƒ»ãýš)*/?Ò þˈ÷Ä6îî(Õý>ªêßç߇@¼!6xSp©0Çê°æó*9Z/Þ•AìùÅ–¨xãîH$Û×\?õÛéGÝä­lË©úS´'KÃG&üi¹vχ¼ÍÚ3ƒç’å Ñ”º—å÷yóú.ŽÚí!ô¶pûÏb)QËw÷t般L1MÙ '®ŸŠu­U¬ühA¬™Hl.@Ñ)1c2-2V.»e #Ú˜‘eùÉØŒ8ŽÄÝ4ÕC_åñçÑи3ùæê ŸeÓ¸´Oß¾õföt§æ«uVŠ–‡“R“ùª2f÷¿øHMž©Z@c“9U(MÚëDËíÿ„=ºM`­Óy¬“•ây+êÖí÷6F·h¶ ê’vÔbphÄ%áÊœ^÷­ùnˆ@íM˜%=SqÕÉw¤„;'éÙ[ô J¬IüŸÅŒõÎa)›`¼"ÙÍ®%„cr­ˆ0UR\ù}ÁÆïS:OXÈ›Kñ_`ó%ös$ýÞZ÷ie ‡[¡ YaÐ¥í=KQXHÊIEèÔGb;Ã5 ¶u ÃJQ¡ bÀF]|ºÈµ:¿Ntd¸m€…Ïìnßë9 /M¥«~IpRñÞz«øîfiž·ÄXRÞ1ò–ßž‡ÿmWI:Æ9›ºsßg"'4‰™—úžÄFY{STÕöm½z`¹ü Õ×þ)Å\È”ù܈‡`Ä}¶Y·b–)Xønê>»4eânmãÜ(©ªf=]Ø"Å›Hýq#f„µØ_½.&œL¥ù†V;QY˹K{#Á²”ñÝ~3/ª>8ßzœsò|q kÃÛlïˆW‘?ïÝ.lC²aðd,+ÀuW.‰“ÕŠ;¸"%àEd„Ó°æ¼e—ô¡ÉfV±OB}G‹s!Ô’¶ÇfÒâê²Og¦ þ±×Qkêgçê ƒÏm÷î¬f·¼o¼ï• „«UÒïߦôoL8~V~*—Ê}á:`0ɵWÓnõA社¿¢Í¶1Åæ–çAŒg˼Ü-^KSÓë5äݶ¦Œ Á:0ƒ‹ÄÄíx‰f)´¢Z´¦Ð×õ‘Žª%ïÖv^sÚK ë99×"F³‚„q‹Ú.qia!G±?Ch=?Í(³mÌ‹Ó9¦õøzÉž4¿Úìuͳ")“g1õÂoXÓ¥R\uä ÕÂÜÄNEÉÞ9æØQOË*fÞæªõ}Þ©;vIß “Á‘J¬O]¡-PwTÙ:5·+ï¸ÛoeQ’,©SÞWØ–æš+Ûy¤%Û^±×\IŽÔÅvU¼™ƒ_MYXK»ºn*Ù $Ý^Øì|pë‚þÈÞîzKMD]£}ÛEkÚm­p#HÒ¥‚ý6=³‘Ùù hÙìªý…1ÌæcóuD‡b0@nYís_‘ÁttÔ_ÆAª)\눒˜, ¶!úÛ†eOÎ Ñž¯h¸‘rçä€e£jAPH@»äFI„1#ÖÜÞõØÂϲp»³½’ÖÚ[Mm7½Ç/á&ÔíßÔôê £j]‹hBùOÅŵ´^JÊÕrm™=Ž$L3¨Žæ÷Œè÷ÅkÍÚ÷4&9&ãI'Ú½Xïq×Q*¡/Ýa,–™ÞSÒ½~óë£ë½§soæÑœTû6m(‰G÷^ê‘/翤¢x]#—dYL–ÁÇè–ôÚIRPû·Í¾°ÿ²…–Ï ÒX9šíµãTäöÕQÁXö¹Eí*”¦ë™‘\Ö7D6'µ“Ľ„âéऩ\57úÄÔc ûÝŸ"82²]_’C†ö'oŽÓÜïÈ.Ã¥E8ê7,_áš{ñ©Öå#p“ÐCÚØ/fiêÆ¡v¥-ÅfAGrÐt|ª-ë>’™šÔ´Â:õgó™6 í§T©Ù¶­•£ÔoÞÉ÷«:¥åùQhʼˆ!'Dv¾Û¹$;?Éz˜9ļñaÀ6F×ûy¶)ÉÏ ;ˆÜZg?’þ°"C jP¶W‹:©P¥ô¤ˆpÆØ ÁÚ¾†ÚË0ä.JZe¯ºÒÏÕÈ“¹µv*ø c9¿Kï·òÍ®éÖ$=ž:Ý 4?¾ <¢ p.XÒO k«b¬UÙ3‹S:ÝrÃ[ùúñ6í h–Qž#Qþé|Ü›±#š»Œ§’usÃ¥'™IÓ˜’î šDn1Ëw8P’¸IÔq'‡Až ì0-ÊÝ6úþëP‹§:-ˆþ¸ôðæèl.WbÆ\ÖHû:ƒÆdD”3Ž´‹|L1ZºœoúbÄãZ—8TójŒ^xýT+%ᮦOå§Cá *CSÑŽzÒÛÐrÌíýÍ爇g¤?“ž¾H($wï‹“7„ñ"=í[=Aù*¦.\º» ë¡ió¶fôèK;²F±X{k±‘ñZEã×wÞ}‘«Úègé®þT°;=q§m®^¸ÏÕ¹|Îþ†3ÑRsýcï‚»£R|«‘fæ&vZ‘YþRb€Ð@EaïXq§~{B…W蔕íì µGµZ™{¥aÊ n9.Žab~ÎC|X·Ñˆõ¤ºÌÑŠŽOñw¥¹ª‰RIç€øgƒ¸ñN8Mgœ¶S»Qy þÎ%»BMb¹è±¯wÍI؉«Ïˆò7Û±œ§±ö}ý¾xl³_VÕß¾ c>¸{Õ…ÎÅ#ªFÜíj/ûEs@2.‹¤>—X2§üÍ'ñÔÃ(^¤IÛ†œj£54×äWnáœb_Oˆùȩᩑ³ÅJ¥Üå’tû¨oƒúÃÛ¦m<Ë|ÖûýŒ¸šíjÖ7h>Qº/IBÆ©•žtϤ®º3ΘÛ)ŸÇ6ÕF> )ÍQù“7!ñm}&HÉŽÑ•öβl-`‡¦VJLU/_*ìä !2]HùcÖÚÓÍF|r…>KS§ðQܺCipó‹šH¦SèÓ ž²q Ag=Ÿ/\¾¾®äöâCü®ƒÌÞ±UcÝÁÅaø©äÄûe#Â×äAïí"Œ7܇”ʤð¬*»åÅÈüýásD­´oÙ&ð!ÌXb÷?¡½×  ¯*×üœ(zàäzƒÙ26Ó´@åñx!«;¥«Cá¿ãiéí§4z9¬ó2_e:Ë*ӱޒ¢@;§Æ÷îQiз* ²†…õó'×ë»ÚÐùS†–Ùi=îäïM7P­¾$$$|û•?{U™ÙEûð»›Öy䓞ºkp~VMPü¢' cD‰x¯£©ÔÆOëuÆ:‡Š”éÜ!]r"k´Ý‚[LóùmñAtðEc$‚Üø˜Š §tÐ_5¨„°6²ÞAá:Y­þ1>R1+T_öÇ”£•´¹Cãc;èaÞX'ýÌqÍí²wŒBXæ\;°™už±ÌÛ¦UXf¡}wË–úl°3A5V5"Úø3­Z í}wŸÔ{ÊBæÁ2<Ç4‰eÞ7+·Ê“Ͼôz éÜ}=q§ô¼(+Nñ@o¿æÍ@qNgºµ½ UA—Úh›ñgenÈ=ÚRáÁ«)äÚ¦qÿeÀœ™^—O|0!ÀÍÀæÄ/Ð4?b¬*ûÙ£CÕ*gìÐ\ ÇÆ¤. ÔjHÞÝJähpÅošJÄŸÖ‹ r…GuØ…xß-zs'z…BÂóÛØÆEïËÖ «Ú©%å­š¬¾=ÓþXu@~Ó¥1Î9‡*vsQákEËáÄùÿR¶•) ½¨[°ò Ë"ùxŠ,MÌý´~xJG™X&ƶٮ]øß7ÇVå®—e0ý„‚óV–1&zíšA£LiJKÂWE’8¬Ý¼hˆ_‡@à=±•õEÃ;2ôgi mÑãá7B8‹‹±uÈSué‰OLXn®ûþE£5dô¯k>Äb›×IÊɪ´ÃÍ“TG?&iX§ú#×4´˜~4pNvd‹ÞP€o… ŸŒYVKzæÕ /?&õ*­Æà„ @­I‡± ªì;÷‰¢û®“EC{1áò4ldœ~ëdz˜[C·Â ßs1Rºv¡ÄÁëÌJ@zšCXH"üC¶­(·—]÷ÛÆfr urhB®5عu»ñ㪸Sq‘Ê0‹U/&eÝ^ð(ÓØɠ(SÂ)>F™„Cç,µdy³f)±)“É#7*aM.¡‰tE™Å 1ñk‡<'þ§H4Rxõyy^ºb•$EüÊu‹]Ñ&T&ø¹r /ÍZ0M°¿ÖäÕÂ<ó‚)·¹5öøŠÿ°LÛÞjxì#ë²-¸]¦Jú7áô¢õµpR)Ó„ „¢ºycâÐ÷ÖŽ%º™ýSý^æ#ΡQžŸðlht…ê¡sÅä¾ÈÔ“GQÄ DQŒ/h’ÆîðÕ]‚K^JÞ"²a ‰—1LºàAji1"!‰w3¥‘;NûÓàÍnl|˜‡ß 7{ª0wȯ ººœ=vìž´ð[È@¼%Ûmû^ÍŒ¨Lò$‚ ïØœóY]fûîx¹’„4a7¯6ñçÐöÜ÷¥“Í$V öµÖñÔ#vsoYï…O³»Çr’\¹]ºc½ù”H;sÏÌ5†®²¼t举ã¨ZïD4ÞæLúœ¬Cò93sî<¥IbT6ñ5Q‹Ÿ¬>«0qÆ%ÓòÛ»ú›Åß6½‘ÜuLBƒMÞ4'*´ÅQ«O…«CSkÞEóžÏeIu—ñ¹2¾Í]LOØ;Ž”!¿Ï}jîSÑòÆèAgÓ|M|4ŽÉgžû˜„†a± ¡S¥É#Y-ø­ÔÈñhN¦E¬éñ¤~+«Ó˯µ!!EdÇ&Ζ~T†U¡Ð<ÃÙņ{&Æ+©}J2òŠãæ²}[!‚sêö5)–q$¤wÃ9úÄ© bwd¢Õób]dwåÔ7:×?dúÂ3C¶5éî+úuÂj¥“& eÞÅËUó7Æ[úØœG~êº÷Îý«Õç>Öõ‡’4¨N†U7ëÀ)—$Q;àà¾çöøHsê+tþQjo\BuçaSb`ñ‰îMFWŽWhšI}LÒõ–4ŤãÔŽyd©öÑÔY%?:'µÚÖjZ¯+sYëuà¥âBÂëŠñ!Ò#MSœÈÓêàÁ®³@cP©F}¬­±~_G„!؇·rÄ˳•ñBöûSš…džöR{­Ï>^ñ̘ÎñuŒ7Él¥”eÚg©ð¼ŒQ®çç2ü ¹ar4A›_QøÎê-}ª"9Iæyƒ£‘œT´u;•?èÐ=·{ÉRõÐj±½³mܵu€¹tèàtè\¦„ÁUÁóöç«ãŽHLN4î}‰Àœ–оƒ¼›‡íIë „ý§Â¬ô4p®~dÙª½eS#µvºÉêO|ŸÇ1ò˜¥·¦Í"àI8t¹¾Ê˜}}f¦ [¸CPö8ny«ƒcuÌ3|#–Pý·®¸Ï0£&e,4Â\q/’'–?­Á‚_?®UIæáÄÏYÅ7 /Wˆèø@íE{Áû¸žk‘'â>4há“›ÞõØTí!‘¾ùÜÓrš O¡çBãDwIc'¨[Êfá>?5?ÝôT(˜2Bé[¹ ¨?™çñ«<Ý‘ÄKáñRø3’ó«»a^çÜñU³"B0/»ȵ¾J .g›fºº=\¦èùbMCËN¦à¨©äÖOê ѥĕ^ÇéòŽ#ê ÁÃXû‚p¦rºŒQQï±ònRÎúYÞõêêä÷;‹òP·Jþ­ŒX¾{ ¢Ïiᢗhû˜>}¦^£›Íhæ)ÔLqïƒÚF˽Ÿ­Üæ+R8~tК?Lõ¥¥ŒKM/ËE±þ<^¯Ñd-Éobª-‹Fg?Â]åÕῚY˜Ÿ,—̼l”Qt/HX%qQÐ`>B½ ‰á¸Qìæ]¦µÒooÕè®ß.üI?þˆ]]UJ Ϙ"]0‹é«èÝñJ°íP«|?¡Ù÷áïaçåØâÓì>ê#ëý–íkÞíC·YÈpJäyø0Ëò¸žÆC-ËfÂÕuG1ÅçƒæÞ)“öf)áÉåñïE¥‡lVâmÔšõÄ®„5ăŸ)>^½‹¹ü„§™êø£­¾ø'ƒ¼P‚j€H ã,£óùé-aÈg5b•¹¸’oÙ×ê<>'_µ‡…X,±~xrÈÍví½®¤C‹£ü:Æà¸‹èdîkd-Ï ¤{þ’Ôc(˜µžíǦßHí*n‚Þcåî8N×P‘øÃ„ª×ûÏÞ„'hZô~)±R§-)  TC¥Ë$ëµJ@šµ*cóW¦Lòò.*ÒÇ û&˜‹íï.k:+Nž¼¢í‰Sp²{^ÀnɃÀ…â1^…hèã`¸šãâ3b+~î!²©Ö‰*ÁŸÊ­ï€î¿'Öàmé{ö´x^BÄ#º¸s¯>™`å²¶rÛ[±ªeØ9©·¨¶-ÚÑæ%™QÝjÛP‚0ñ’Òsç8¼ÏÖÂÂ’Ö¡c›évUÙÂLHS=™»ûÞXU’À™¨Ê¦3ÉJ¥o%<ØG¯ËôhÒ˜Àt¤.rB¯TôÇ´ElþÕ¦BÀ6/s³€}ì@ v¶“PÕ”$®8Û%Û½óWùwÔÅ÷¾mq^)‰äFêjËoç`­~9FýÃ6O7¡Kœ²wöö픋©ž²Þ^¤©-ÝT:΂T†‚A’¶ ÐUðvâÄ{Ã'\ŸçÙµ|£gª»+-5ºL½M˜ÀþºYvp{“²§ÐÜÝŽGFߟqã!cF)Þœb(‚[œÌ×á=bª%ŽŒ°”ýÔ·m? ºO#ç…KÏ©ØNg°>;{6¹~iѯÂFøpF ÿB¼éäÔ |ôl‘Åš™ÙF¬>íäeL´fÔ…TS‡ÜŸt»e?r Ñ£žðY!¿;åa8ÙÀjÄJ.>Uºð3Û¢I„A™=ãxË_.ì“¾Òø;7ˆCÐVþ¸õ(€‡Óú“u±½P'áÊkçäøí~Ñ|-L~³CÍù‹Nø¶‚®Ñ‹kì..½JËâæ°n§Ï|fô=¦a]† ÇH!9Ÿ/‘äìÃThUÉ·¡¬MØèzÎá_G¤=ÜWG¸9¥‘%N¸0 8b1o³ß–OúIª¶…ž_•SÎNYÖ¼aRÙ#Ò"l?àáõÅn!+ñ†Ô7h©wý5Æ\&~ê¢o™¯ùƒt«Åõ›<ÁœÕ{Þ±$¤,çÅjøWÚãf\Ö' ›kÐ^„[˜&^TQõ«²†¤¥ÚG1š–ª!¨|x oöíªÎÙrR¦„ß$«ß°®¾=¹}{fwa4õÅûÁõlÍçLœK¦³Ãs¥çþ£,Sk1W©~ü6b¬íßÙƒyIiߨcg4;lf&’Û®oM¡zØ<ÉÒ<ä¡ü§nÒo5>10X=¿“=LÏâíòÆiý¡ˆÑË¡ p0â#N> stream xÚvT”k×6t— <ˆtÍ‚ Ò J)ÃÌÄÐ!Ý% - 4ˆ€€AJ ‚´"%ÒÝ(ßçœ÷¼ÿ¿Ö÷­YkæÙ{_{ßûº÷µŸ5¼ÜÆ¢J0Œ-\ƒÆŠ‚Å@ò€Š®±±IŠ@ä¼¼&,þÇMÎkwuC`ÐòÿPq…C°8Ÿ*‹ÃébÐÀ-w$–À2ò`Yyäþb\åUˆèŠ·0h¸9¯ ÆÙÛaï€Åó×# Àrr²"¿Ò%Ü… ]ÖŽÂ… c Çzÿ«„€‚ë,/.îéé)A¹‰a\í¯ Šž¬`wƒ»zÀaÀO€ÿÍLŒœ0q@¸ýöcì°žW8€s P8Ú —ᎆÁ]Üေ– ï Gÿëüˆî‹ÿ.÷'ûg!úW2 Å œ!hoÚ°C ှºŽÖ +@аŸ@Ò ƒË‡x@Hˆ-ð«s ®d@pÿÐsƒº"œ±nbnäOŠâ?ËànY SÁ Pp4ÖügªW8wíÞâ¿'ë„Æx¢}ÿv4Ìî' ˜»³¸)áâ×RýÁ¹ÈÿñÙñ€4º ’à.Ü ê þ³¼‰·3üWüÓcàïëŒqìp$àþ;8î‡Ü× â°®îpßÿ üÛ"ƒŠláö4ù?Õqn¸Ýo7|W„` Âi €~~þ~²ÆÉ †A#½ÿÿ𝏩†¹®Ž¹ðoÆÇ”•1^€¯¨Œ$ *! À Y@Vøÿ»Ìßðù_^âOs *j¡í0€Üo¸Ëû‹‡ÇYüYAàß'èapZ†ÿHß $ ‚â¾Àÿçø•òÿÓýÏ*ÿ›ôÿ»!uw$òWXàWüÿ CP¤÷NÊîXÜZèbpËþoèmøïUÖ…Ãî¨ÿŽja!¸õPBÛ#ÿ¾F„›: 3@`¡¿5ô×på‘4Üã†øù²DÁ ÐÅp u½PÜp³ú‚ãöéßGª¡¡ØÏÅ“– ®®orÜèq–4à Æm( îõKÚ€¸ƒÅ¥8zþ€Æ•üçDÁ8©‰Ãú~›` ŽþÅümJÉá,ô¢eqìß&®Gq¬ç?p°ÎáõËüWÏPwWWÜ2ÿRŽÐ_ö¯7Ã@¯…:>m<®Rb÷]è'™™kŽJ4Æòçù:èfj ¹(ÛÀ*X{Ó &JÃ?Œù± m¿÷²jÍšNÕÌÅâ©uÎ+o‹>~÷m¯ÕÎ Ã\´M‹š§Ûz`x‰ÆÆ’È’?ùöØi˜l›äҳłÍnKrk (:¤åNeÇÆ)å4¯Ęs_™Ãö˜[ÑÆÓ»Z¦»›h™ü ˆAÄ)7Ʋ}óž·ŒÏ虚êÎ~Û™&¹ûD»½R¦"œÑçwNoRÓƒì[/Ýðø”¥UJ“%·FÚñòz{H†Ö)ýmöÙªkiL¼õ¶7m˜K¨³rר2?Ÿˆ«ÔõV•o›–ŒT5à……¯Œ\ß¼ F·§í[KvvX¬§÷°{<©åÁgÄ{,¶ ¤ÏW€×©Bu©’JK‘g¶¥ÉØÑˆñ²?gõJp$sy8IϪ׋¯¦¡jc:pÀVÚÚ͆ÚÁgÁ©ÛMwJ$ø6Óô¸ª2L^T‹·Ås˜«Bˆß:±êàÓÅÌnW+ í½”d©yÞË:·¶Í‹3ï WÕçká‹~-‰™áHr¥¸ßž:Ä¢–G%@K Ùp$æâ’¯þ€qL&ÒÝ–ò)‚Ñ íb¸ô0”W= ¡Œ •ø¶kº^·6í¬`fÑ”2˜yOµ…÷¡§KâDÓP:Hÿ4„"DÓ¯ÉîøT…¿®h?.„³FbçÕšžzý$å¥þ˜áÛd1*Ì.“êë¡k ú9ðs¸›±¿Qؼlo ýºC[fA¨* £JRλìÂ÷ØNTRm¢>ÓŽùGé/_;͹~¥^6¹ÏDh#àöïQd´Ýëf‘X‡Ý™G¤ì»(+|žÁŸº(èm8{qHá³íM¼tüÔûMô9 ¦Ð{!Ó3SH˜¸i0 íŒ^×ëNAð./èȸàká#ÂxiòSß ·°i!"بÁ|?Cq‘<­r¯öðòÜìIÇì»þ©=yxë|:£á½{’ˆs7uÇóCòú«nå¾ÛŠc©V¬‡xW±ƒÓª¨Ûšº’(åÛ^C {h¸ZëRh ŒšË"ip‡g¤njR÷ÑSP^±9«^"–“’{sð®^®I5Q?6nO"’! Zf^í ËPå,ÝW.Ño‘\ŠÝ¥ÝmQÂ^—ûšÓ·¡Ta•\åøb’Ÿié0áÈð–êŠÑY¯\§¿áãÙ‘9››5gìçMDF™&:ú×]ËDI^¿*WàP~|@Ò#Sá±TG„è2MW¹qPsN©Dže[ßÝ|sx¥sL%ñ3 x#—lü¯žµ.,vað3ïš _ÙÐ|•è8Íd2Ÿñš‰Ht¡pSG…ò³5ìbð:T:ߣNN0Ao/1IMèæGæEµÅxêO¡´'’ÎT{¶¢ñªmÝW«-©ø¹ØëŽåÌ ›Â!׬îÉQ[:od¼®J]&* 6×é>¿ÿ´#·Žtm"B‰æ¸{,.9U$xH›p•!7‚Ö%|a¬Y䟻ËDã}ŠâÛô¦í•jqP÷"Ë–Ú>í-Ca‹Ã©7`RÈÄÍË _.¶Å5’[­\’ÉüÏñ&J| _¯Y¸ ¾-!¸s©ãôí™°ttíÔMª•çïßáÍÔîÓE0œP?x’+}ƒ ã%Ìí‘$ÑKIêr£’¶¬?J‡ö™ï¯ÔűlйVíÕLLÑY\iþP_¾x¾àý¤g!e~YÍyîEJ% Xýý^Oñ]êÆ“0ýõ%¸¾ãóª¥ͱŽVF¥ ±)²*§d:soh›W¶o+FàO¿ãe;£ÞÜK!$×§ó¸#õN?:CöKºÖÄÎÚÁÀãxõ;„•›µSço¬}µnkVél«>±‘¬‡61ŒØ?ŸÍ\Sž\jüÂEÆR@èõ†€é!góÑqvÉË¥>¥›Ž=o"¯2ÖTWäúʒ峕5ÎöúrÞ7Ìt埭çØ,¨5LÕušîkðÌcÚÙû6w‘÷H†5Â;WÄzN‹ïuüFÈ1|ø×ÕW²e'8) &]=80?,¬ÆDÞ¨‰»Õ ËÌÏׯ¥ÛþD¶Y¾s¾MäÃÌçé2F»ç'Kñô·Z»Ÿ{Jm4éUn¼))zêg[h‰þ"®^¹/í"Ièe…Y?˜r™Á~û4ÊCVš@?5Æ[tçºÅ¢uQÜB1Ûòù¦ èËw/çwNŸ¨…‰Ï˜"ü™RußœÜpß0´É¼>KeˆÎæK©K©w.ÕóôÏ™L"aeêAnÓ«MbnîÓìW.Ó&?œÅò8s¹0Ù1NµLG";PTÆý½¿Š¸ ñ,;Æ6U¬Á‡¤dÜÇÜ™ñŠy¢˜òê ¡’:;”² á(°‚‡·Ë︤ņ§ósŽÎw)V®;Ҧķëé´¶c j—rÛN$¤-ÙñÒ„e¹”o9¼a #8ߟíàFj0Õ£&‰FÛ†Ú¬áíGd|ëYAjf’»)E;OŸJç6»©ºÏñË'Jz߈eîzòé;¿ÁŒ‹©Cü{EÕÐûZ¾¶­Õ©kÆ b®WW’ø’žkžÄx$ÝàÎ"Þ-³Rrhöú$P_/î×o÷Ñ5Ýöß7Kþ€_ ±¢š> ô-†qËðtÞiœóÞ™µ]¿¼?¶²ÕkmïÂ,ec²N_××ôÍ/3Ïd×#˜‰u•L }{àø@¡Ð°>P…ߎ“5ײ®°1…ðb(—Û‡õðÎé§öóuù_ÍLØEW ÷î(3ÃVRÞµÔ©[d´d¶á?©»•j‡rÝ{šÐ¦tÏêÆÓî¦Â\o6—ëgý gçT²H>™—xÞµkbúœ'Š:lèªùÌ7=ãKBW>ËfI ‰DˆlévV(TV$¥$¸˜VõLµ÷RްŽë¯Í‰%IÞm œÏÿÚÂòaoø¤Ð%âÕHT¶_F•á í¨RCA½„eá‘‹=Þm IBÉ™šªg‹W®S/í¨äm„ß­*{5sÔ_ ¥ Ý÷ƒ¼¿ž×\r/̱F~ñH£Ì/‘óùG¯/¼Ü‘¢oؘ>Ü5ü²Gæ5ù˜8ïUíåºFûCbÑn³\ª2¨'¼®¦©Á^&¨(ÓÖ­«iIù…œ}3÷Žºrî;0»HŠJr «*¥üX¢‰@—ߎœ¬3»;°t¾à­I¬±kmNåiSZ%H·»á7–-YÉy†ŸÍ𺿸[¾aÓÝöIµàX°!Åt”“è¡¡"> ããH ÐÛU!èH¾§¦Û\ÊÆŒÃ0¹ †;W¸vb9Ö7ØÌÉÿNQ8_ Áærtr•l-H …’Øò|Ä­›{rb¡~¤ÖùogXY¥ó*ä¬<;JN²Z‡Ãp¡}À”‹­€?ÃMÌàÂ둲2t°%i°lCòìÍ7õ lɱ œEójÑŸ—%vÐT¤$Äö=Ûë‚Âczüd*;›.)ù««˜Iv¤¸Ù·‘ЎŲ\ý¬°w·d9y¸{àèÛvÔ ä~«‚´Ûó¶·cGጊï9ô¢­µ…xâ>eR=%Èkß-Ôê±!äµBn½0$Ò ;£n¦mè_ ~ånrääz_Ö÷Ôl|?ïyGí%6Eç-ß‚SÓ´—7 ˆìÑÇ—Hɵ¦45F7‹ÑDt¨ÉÛ78º²s”$æ]u /µS)|.l9>†*ê:}ßÛDƒî÷ÖE°W™\Ô ì۔ʲ:§+L÷ûPþ)"ÁBȉ©UoÿŒÖ›1¿:e¬Ã•êʵ¡×4)\¡@ýpè@ÎÞ™¹\¿ÝB·•{{÷íõ¾À"ÈŽX©£ûD8[Î:¨_¤ô-w­Ç|ËÛ²úÇYSÔ-ä2yý¤‘hqö…Nyž‹•„Ðëðc7¼Ìà#¼ošä3è{c$éŒ×دµRÐïxŽ4H_ºÈ¥(ÿ…äj«·¾Í1ÅT¤:{³€)Q@ÑSóNB¿ÒÕ,cQiîÍ\ª°ÓK'³fI»¨¢„7k’ºlê· VðœêœGyƒ®¼\°b÷ŸN[+`æõ\¸ÀýŸxƒÂÓ»pº¥ùÁƒýñÊŽ©Y*>¹©¡ÙÒȹ–}p+{JH#CWÑ{ÅÃjF‰wNQ*D÷ò$H®& d}±~Æœú—ãîGÆX0þÈL’nÂÒß‚j3â­ÈÛ÷C¢ž›ÌG‰›|ˆd™½örô­2rQ,5™0“{¬9Æ·n$Gz Û¯ –Ã?epyæq67],˜èCüb±If!:Gm/¯™'‘…R&¥ü£âÚo¾DZðÆùÚ˜®6ߨ•ÊšÔÎ~Måt){å™§aߛܺŒq~¨2Zž!yyŒá¾nÜÒÒÅ{⦘Ñ<’è;ÿ¨Ù3#¿hðê›g­,ú×XŽ.$#SŠ "DKÎ]R9â'áٓ瀺N5„@.”¨øñÃЫ~7(´šŸ$òpª[>鼕;¡Ø¡¬qÕ™EZ-NPHF5™ ¤Ø-©¼*$pjbèj_”Ýf\¾Ýi£±ßýVíÛ>—•<€|:º‘X”áUZ½î/Ò¦ ‘%^–«WRcàûàÓ ‡¾›g÷brµ9bÒ½ ?ß ?óÂ[”Ëo©Ÿð°aä[)æ õõ˜ð æ},¸ŸäÚƒx§Ò‹VF>k«³D½jÃÌôí­™l?®µ\.àóóy-ø¬MÒëdµž8Ç+oIMÕîåhÔSR–¯- o!ÅÆg¿­Nå†õ+¸“-ÖÎqY§ã\.,½„9ªNì5A>ÛÌÎz`ÚiÆÚi§§½%¥ ^rÿE·a$ìrV³*Ù½kQÏΕÕ"†öúê Ôv„úl,®8}Am«]¥·Z*EjÜÒ·F‹ÏLî –¥äø¶±ñYG†Îaß ÍÎ3Ʊ›fĽ*Ú/‚ ü­ôjßóè\ØÝë5›¥ØcQ ãî_âÔYZ'íXßaX›ðÍÄÞ0S«Ð¾'&@üÔx<’f”7zšÉsn¢] L¯¶yZó¥™Xâ«MÆc8ÇóP·fJMæJ©]†çMÌ.†üAZ‚dXiìÈ##4mªW,ÙÚ@ô^æ¼ÛË mj¤{–…[’¬‹ØÓNóPUlÖövÃB1âQaMNjgµ­Á(N]ÛÇê óâž(»Y¥§v`¤¥ã©ã»Ñ!ˆ@!÷†‰þ˜Q.Ÿ/©ø¹…»ŽTÒ´žÿZ þé°lo]þYÌqtÑsÝÓNRÚ>•[fùö£ÙË0‘Ë_Ž©t ewİfеZö¿3ìTĽ\m¿ÖŒNɽH_wšwc>.¦–m ¬]*6é~HCSßéÜœÚÖŠ~ í |j Ëêú§q¬_çÖ0vZïÈ Äùx'Pz×SUhØþh•­ã=«m9ªx,ÞÀOÎUCêÈLò*wªÈÝeä|ÖÏ•‘H»hÈþÕªÇCP&ÙÌ-QTäñг’üÔCÊc€9¿ñ³áî…òãë@á;ùZïRnê[(n! ‰‡ ùôìŠõs"šççX{¸±S ;œK·Žüœæ­kä~tF¼ Ñ»pwù–okL±ì†ÏÃñ‰åZ²¶¹ ôñfÇqƒ°%ŒoØb÷>Ç7»;¯C‡X#©j=ž„­VAKâë8»Ûw2î­íŸô‚£Du6îš}=—!ùßÃyûÒÞ„—µ9àÙ Ô¡h7ašI5“%ï¢;K–ÂÅ÷‚N?«ŒÏxÜY‘ßå¿õÉpò8ð#ÛçîgÔq+f~È-j.À„4$ÇhþI½Îx‹YÑc*DB@¯¦hù­˜‹ÏéiÀÄêt˜§ðNUê?e.’½Bl eênprån³ñY§kmöAjÏKVÒ¾ã[ûdîL¥“ÉYOo"x¤g;¦¿ù¦w…N ,yŠQ㣢šdM4^Ø;5Àý…Oû¤À*[ ¡X|$)I9Ât­t¥Cj¶{Jš³è4lN@©’Gì,d%_´õâkˆD·Ÿo¨íx‰ò¹Óû6±õö®“¬.Ù®øŸÒ¥É†Ž$2iê>î3åÁ³/ÝN­¿Ÿ–¨;ÓFNÙöùóìu…FQÃ9pzÃéꬎ“3bƒœÌNg`{…ÑJ{9½ÞPBœX³øhåèGÞH -œX]ãâz-¤†×ç00a\3Dà Æ~g²êä²Éòÿh›o(’Æ&ÏE¾ìRøª"BóãY—õÇfUè~­¤…ÉwÖÛäþáÂKÂ\—´…YŽe†õ¾]ðÜiE]·ê_ÌŽÑ?`ÐáSÚ$ ,ÚœÊV™’½gññÇñxáô“(lP˜«k£^¥iJ|K‹m¯Œ{<•ž¤ˆà/x«_p<õr¿Z[Ñùoê,ï“ÂÔÓSný­È[–¬¤¸‘žJž‚ž/í¯Ó&¯ªƒ—UÏÈ%œ›åV"B·>éíÓÅMOgGïsT´Ý–Pš qj¢½ÐgPHŠ”Ÿ±É ˜šy²¶ûåã–j 'ÑÝK4³¦Í9F‡o QtfpÞ%EÁ® ò<‘[³{eô¦o7é*¤óTe[°7™ža;P°\!?”¥V'Swlg‹yî…€yɽÇö7ô jÎfO6óøŸËg5úO?Í£òO"­ÔÒ885kû=Úi8²Ô»Ø÷³ÿkE‘™ endstream endobj 560 0 obj << /Length1 1409 /Length2 5991 /Length3 0 /Length 6933 /Filter /FlateDecode >> stream xÚTuX“ÿ×ÔI‡HO$¥6º‘îfŒƒ±ÁåD¤EJº;””AFR)AJº¤CÞé·~ßßûþñ^»®gÏçœûœó¹Ï9÷Ãq[߈_ÁeSE!1ü`PIÇÈHñ„@ !Ç}8ûÇà0¡=à(¤Ô`”Ð0gS†`pP¨é‰‚…`1)°¸$ÿ¢ÐR@eˆÜ¨#ÔD!a%”›/îè„ÁUúëÈ å‚%%Åù~‡\ah8‚ê@0N0W\E(4BAá0Œï¿RpË8a0nR‚‚ÞÞÞWÚQއè Ç8 a0´Ìø‹6Pâ û›œ€xß îñ‡Ëå€ñ† a@œ‡Â¸ O¤= ÄÕihõÜ`È?ÀÚø€¶ÿîÏè_‰àÈßÁ(åêAú‘Ž@8ÔSÕÀø`ø€¤ý/ áÂÅC¼ pÄø}yPUÁÁqü“¡ wÃxxÀ¿X þJƒk´ Ò^ åê Cb<¿î§ Gà¸Îû þ=b$ʉýçìGÚ;ü¢bïé&hŒ„»{Â4”ÿDáL€lŽ0 PI€Ä€0w Ìê$ø«È}_7Øo'ø—ÇÃë†r:à¨Àüà0Üëñ‚1hO˜ö?ÿ>À` =ŠÚÁáHÀ?Ùqf˜ÃgÜ á>@ n Á@ЯßßoV¸=³G!¾ÿÀZPI[EËH…÷oÒ»Q>@,¿8È/$ ‚A’’@q Ðïß™þîÁ_ü[õ!ð?ï÷5( ä4pýû‹Š×ŸûÁý§|x€ÿ® ‹Âí5 Èý ,A¢ (îþ‹áwÈÿ¥_Yþ2øï;©z"¿ÜAþâ Gøþ‰Ám¶'§N+Èÿ†šÂþ·" aÿß> §¤#âïVÂ=Tá>0{}8êôÇ*ý5 \r ÓGyÀ}|€ü`è¿|8õA]pܼ~»`8qý»¤ вÿ¥B!Q1 †øpãÇDX0N®ö0Ÿß@¢0¸ ŽœÐ…üš*.¯ ÆõËøWb¨'“ßïñãªþuþ­uÌLŽ£ ÒÁÎÕÁMÇ• ŒÞü+eˆvRŽñ,°¾†éR±Yˆ3Ê̘Ò*Qì«Z;·è*ºgÍ~þ]®a­õ9ägU]wdµ{>~yˆÿ){ÄÄ6N^—kš¤È"õÝ…§ÏAÑz]ÞޱˈƒüWuÇD¼7'ÍKUqÍ&ÝæÖÊ—Ú7™$M¾.bìzîßâÊ^t ZŠ´ OÖMcÓ’i>Äy¿¢˜ïî뙡ìdn‹Ðô \ùΊ¡T‘îaR¹úÊd&ì<û…×VÖNúÞ–}Wé¤ïÛ é<=ÑtÚ¶û{×bù±ªígÚy¨¤’T'aÖöS}ìÀHÛ|8¢PxûB[ÞãJ­´êEðÆ}èCzoG-Èû™+ì„j,ʯ«!˜[©#bâô®­ìŠ-Á,i. ,Ÿc+¾²¤pθÚØ+¼´RªÎÏÛ.ŠRTUô%X]™&PsA9%µ¶H,”K2>Ñø­ëï ¤Bì?åen8ν^å]‘f¼‘=ôxÿ^®Å‚h› ¹}ÄÒû^EàhÒÄ›ñ{p¸lOöÇ62ʃ&‘€ b¾Âøћ¡hßàÕëì9µo™F{‹zߘòtÄ” ¡?’çj5?6ÈP]§‰e%Ý!šÜ!¹º|ä"ÎÑy¤f´•†.ÀÊ<ÞwèàŽF³Fw~ýÊÐ.džpÖûòL_÷ÔÖñ‘½çcê“g¯‘:pif[BëÛjm iOœ ¢Ž^ ]‘7ŒU¹(O9² Ьÿà~Q)ÿdv"ü¸ yquæ}·ëQy¦ “ÛPp¹Üª§ZŽäúe³ªN>}d±…d­ÄóšWÙòvÇÚ6M âMš4ù°úÁœM…V±§ÅgåPƒs:’þB}ç·ï’c×üI…³á•‘Åê›Ê¿qKI{#2ô^fκ±=5O8˜QºQš·\ÝN’ •Bã“‚G²‘<ïK?9¾ú¤!kw§l'ùêqjy :ÇãTÕñv³Tà™F‡xö·gˬüë¯Ý-{=Ürw6òñ„©Ç^käKàøËá\EÙ¡ŠÔ~ž¨U1¸é‡÷Y¼ý”óÜîøßæ’ôö”¦ùMX¶ºÍX;*È ÐòŸþôþù7±WÝ“.‹´#«1“W¨pïŠÌ$þY²Q¡[èeÈ5ÕKÊ¢F1&^º¤JäM÷,½Ö ºÏ7 ”%¼æ×ï(Ñ"(j•†PfÁ‡kŠ–ãä +tT$¶’=ç7ÀU™ö­¼Sx׃Ðt‚‘õ|Ò=ëíuŽÃ„F»}–c7é§÷nÖʈBbwœ6Zž½9Š£g¦¢Ô:Ô6¨O¯‘}³W§’ú¾J²\9l-ýuHÊÌ{€ ‰Á¾!Ânèv.^‘C‰¸RcSËæÏ;T Ýh77Úµ•èn髯H>ÀÖèN•-Šù›ˆ|°XbÓÙ<2*³ê|HaùitV.v]{ˆÍÙJ¿™!âY-⡯ã ù =RºUñLÁ„бÁO2dŸ“ÑxÙmqõ¤<ýIEt§„¬?ø0V1è±~°²iý¥z‚Ô‹{R¬ãôQúálfn–ÙfzI~¡A×Õ.^œ‚CËÐ$¶Q¦ÙqçúƒzŠÙ_ª? €Òê%¼‡$]vuØ–ú 3­oa_˜ŸÏ÷Öž!ÓŠå{7N~ŽÅr­“5ë›VÎÕîü?®œ G†Œ^ácöÁ›w&ÍVá3½w£!áÌ„Žµ:wtÞ¬MÂù|[ë%/³n|P¥v ù–ò,0æ&{VívBÏg©Hÿð;™%]xÒ¾ëåA;D…'õ÷êW…ƒ‚³õ³ð׆ô.ÓX:J8åÚàUúWòc_Q¿“)M†6©óÝ8±µòF/špާ×ÄFLë’h‚3Ë«‘1»Æ¾7}F¶No‚ò|#­kË:ÖËø¬§ßÆ}“…ÄQµaµNá´ø>Á¼köØ!|Úö i|­‰[óКÄNŸÐº7îß¾ŠaËÚs „cv, \T´+?D‚{FN¹6Í ¬Ö®½QmÒÑïŽ(ÒG”ÎHߤ# ™çí^i† ןÏw&ì¹ÈåŒ6*kîMp•\\ u—ÉâF×…ü˜ÔoØbÍM[lÍ|p…ÔâRi¤'µ2&wÐ;Xîã:œÖd=}zÎTRäÚ ;7axAç>t'é»0ÉÅ­½ÜÉ™:>Ÿl†¦ä–B²[*Âê:ŠÐBjÇ$7¾ŸÛýxb‡còǵüΚªÖ¦Ñ}A"}%ñòÞG«uß–-A¾E­Œ7yÑÑü3äÆÃw’âÊ¥ N”•åTºÓ27ñ]IÍkÂÆ T¶ª™ÆÒ¹·ßŒÈP¥z¥àן¹ÎÑêðùŒaƒé÷ KÁ<ƒÞÉÎÓüWHîøbš3x>„M’î:™[¤0åÎqÜåºÝ^VŸ˜’ús>óÆwÙÒs|º8æØk–Cc]ÕÞEMÍÖûÎpŠÀÝ ³Û®„F¬Ð]<)&_óÃûÝH‹hÀçqÑ¥©Þôó-óÓàm£ôIS¤¼6ìÎ`Õö…‘ÂàGgCÔ˜nFr>‹%v•óBÁKÌÏÏÉçˆÁmÙÍ5eœ8’ر©mtßصTÁꬩì픳÷`+Šûãobns™ýŠ­#Û\Ì™váE âG¾:MâÃlÓ̃kÌíD{„Ãå½a¡EûçӃºü€ëœÉHç#¥r÷áè™IÑå7†àwyûgÍ'¦}löÕÆѱ…üy?æ]½hËÃŽ^²ÚG-*µÁˆMÿ×&€M²Ò "ø"ÛÓNê¿a^„js)Ðq‚Îc¿#&¨ ŽDt”±s£{Ò }_m(ïèÙR–ª÷Ëõyf³mϧœ·ßLŠŽ¦nüÐÙ .3¾uK–‡òöAEFC>gŸ+þhÛñ›]œ^G"ú¨l‡bx/ï6Þª8¡s ò¦yA|}×É‘;?ø¤jØ@Eù>šgtˆ„á6+GÈÝNÁráËIsëÅL¯Ü¯aJF1­é ²¥?µ¾”M0:Ù«6½œ–îîiØí_üþ̪9’P\‚MÉîí ‰Jë{®«(Лþê¨/ùþ=apx"éÇÞgi¯Ø‹ì¤|ÖÄŠãÊïffnæIÅÇ—QëÌ Ý%el ­zÒí'*•1s¼w{ªöÈÚç¨ñ_³¢_ƒÝ×`KÛ[ `Ũ„Rú²ù²ÊVËÆ|M½§³ósÛ'„øadÁ§vIa ~“T|UÓ5b˜Ork÷Ð ã+m²ýÊ{ÂÃßc.…®*Tnͯ?w‹ù¤ñò!YÜ™ƒÃ¶iO" ó{1ÚGjÍ7íû®YŒÞýdx/Å¿ÀSç.岯÷ëoü®‰µ·´\¼Ø}™èw7åI™ušOQٙΨˆè,´4"õ#ÑâAÑž[ÚºnÝ‘752ÑÎòQŽhÛ÷Áijào é®xù&ü ñŸ—Õ£˜{Äe¯ÓñÜÉÊï#§‹O•´Å$ ›³«†ÄXÖ×™¼é>[éMÆ©OºÐê:UÏÙT²Ù9·éá·Hf iN)ÀµÙ›xz—ÄÛ²c“ý;°¯GEOÓ¨ÏÍ£ÓS4U?AŸßÿ<õÎÊE‚E¿6úÁNráÈnaAÎzñ\PdS‚ºl[eØîLCˆ¹ÀRÙÓÛ z€§ ‘ÂnµW¡©¶ U\†¯ãÏT…™¯ÇGy¥XˆL&Ü è¶³I­¹*±[\WØÐÖ<ÝŒyfCZÃ|9Ÿ:ø‹õ…ŠGL§zºxÌ¢IÕmûx5Ö.d\Ëô)蹊L·/ÒÐ}'.–2|6Ba‡‘åÒŽ¢–K/õ|8]¾¨:˜X»#]ô Ñüí;e/_ËÎH§Æ²¶îh¼‚âÙ°ƒ µðBHÁÛôbïXñ…3íÚûcW=9±bóFÖú©{=gœ¥€eksÈÞñ‚ôè$E֌ѭo kRÍGñYUSöê0¶ïUH¨ÄܲsàuÈ“äc¯«¨HÈþôµ½Ü²˜œ%ñZ¯KTXÜ¡\¹éòùñI‡¶`¹î—øÙ”ýv܆ÄýáhŽBUcך§?É}¼™õé=à‹0‚~¿”_ BV´‹û"õKZ òa|¶Un^¾•æ§ÛŸ™£ë22'VjI*çÞÖ=7}H´ä•t¼ƒ;L UI¥'Ë?ˆL6…*ÙÈ¿'Y>:!1Ûê?½„øÑ²s?uÂ:ÐUñÓ÷<Ú(`à)ÁîV‚WCö'WÔ9žàíÔGæÅž—q×ì/¥«»8Ó.mî¼8=Ç8jiq}˜«dd»rÍÓ€ïÒÿ´Ð1>Ì¡õËg=Œän)·-Í6£OII3¾›°ù“{?B£qDxSéèŽÖ^L)åXT,¶ç‡ ¡6õæÎœE~«1¾œ QûAäŒ üú$-1™Gf¹}”Õ‚H—ÁÂׯK°$ýÎF«pômG€ø€lû+»Ç{Ø 0ÊuA› òÃk&¾ä]¹ÌÃEéI–/¬ÂLrº6½öOôŽÓåšLªä†`>mX+l„oàx¤ÁTÊüÖ¸„{Qjç<;€eÕ$3×háˆ*ƒ\¾¥Vf¦@Šä5ÜgkÅñFü\ç‹y¹ÙJr"ÍœÍ/¸j{DåT©Ÿ2Üûã:¬—nÓ!öìCëíÅÀø&ñ›‰!Åõ£ÎΡwëœkÕÞ;ôW¸@›¡;¦YÔË UÔÌ9˜ÿEa’>…|åñy7‰I«~ûó#ªl©N|úésÁÒ`$8Qr, ÚNÕ]™ KÌ T'Üî#ëž\ì`R²ß'ÝÎÎk33¾Bó`l7f̬Çû¢¾ySN:à“m¶+{n—Pë|¿ÎÝo$[xdkF¤¼Åö]š„oµ•ìBöR]ä æD& nç‹t€Mâ;ß»x¤#JüôX}˶’Jp·ôc÷£(¯Úê)šè°ó³ÑuzäÊq^W[þWOKºRF|Ù-Wò¯Ée>?”7¼èè…úªêfq(-w4ïpÿf¢·â÷ðÊve ¬zåÞš‰Öi8!3wsÙmÝÑih-iã"ªÂ¶îÄe.+“ïÌÉÖá_=Ès´ñá`Ø‹ÝOq¢)iŸ5GgÕsÉ{©í°NâÍîz¼CÔ¤.±15U!ÞGM@0ÖÅ\¦JäKYˆ –n:ËXåòôøþÙ›2ß¼DnêÇ"è ·Þj+³ǺE·5Ô7=ÞT¿‹±¡Lø«prÒZZ?ìð>çíDzô†nžHÙÁc‹:Ú>‡èˆ°Å·×$=ïô爣¹þ=ÓVì¯J` Óçx4ÀðVj˜Qjøå¥õç´"_R}I”aŸŽ°ú ÿè`x¸@>fü=r&D@y+ðSož|W½þ‹Þ-Ú¤!fïƱáïÎDáv¾ÓBzûT$¼ÅK~ÝÃä‡ÞRo²Û_]nËÍtöÔi•…0nˆh×<§ ¼ð˜ºÙ[WFgIi±Š<èR ú8h™AÔ“@ûum~ýlŒHžžêˆ¢g/éŸ/q”¼­Òr‘D=,X¾j3¼j_Ö2tíÏO½]uËîMÀv×góâŠJ÷Û;OÕQ¡Â¤7Ïø{W"ïµ ~[ï}µN@^FNLã9+¹iQ^â~¾¼ŸS-~;MjØ2'@%ÛÏ:†Íéuåÿ 8,Ê',Ï¡ñF¡|·Þ¬7•Â¥ºqÚÈʯ“vIv÷ÞÒ)“9Z]€ZÊÍý‘ªyæ‘-ðãõoYèÞ7‰òR“gNDÊ祼軗 s²÷Uާ“f]e£Ä2ôvs ¿å5/üœà"è.)+±'žVaàåˆ÷ª‚p$Ì#¼i½… 0ÍqG±wVü| Ae±ÍGFBŸcš´Mcö„ÎB…ië&ݡZ 柔¡Jî,¤ÏÄ>z1¦P¦Ô(±½TnÆÔÙ§Žiz—¬j9‚&dgÔWëWÍDÉ,¼Piêñš´Ïœç YR±T&iy¦¨üw­Í»ý·â´ão­ÃÊܤt v³ÚEæÞY5“ áj¼;tm†¬*ŇK]¿©Z±æÛ(:‚#‰Ÿ:Þ335£Íñv*úÉåãȹë”,zxª5q+»©¤5ÐÊÀ0©éž]ÙþïÛ$÷0)¿S­VÙÈí¨;[QãVGïGçaa³”&‡Rt'b­ žãsìÚä=­@9b¦" KÚ^l°­Ñ«É…˜ƒ¶ÆNˆUr"O‚‡Éï«™è—9˜‡vwE€Ó-vð²÷mý«ÎÏߥªÏÕ@Ôz™Öe>K‘âó&Èe<ç5tBT*Ô뾊€u7õVøjIù”²Ó‡Xš¿;Ý'IçfÝlTñ©hÍåöA5;g¶Ï ÔaYÚúNì¼TKçèâC¶'­Þ‹SÒrÿèÐm%BŠmÞô‚'ÐH5„Q8ûMm•¹ÖÙÃȵg¥êæëšý±ã‘ßÜ;zÈ}-xeÂýººdŒÆ6¾7®7¼¥{/)»¶’|àà]ˆJ ¹‘®W‰#Ë5Ê,Új¶ÎSоVܽLº5séÿñóõ¹]tuB“+ à‡ ‚ýÏèoœøÍU·±K-OÎ1ºÍ˜ê3nµ]ïO‹R0Ó¾Ô§Jµ§åã_Ö¥N-m©Ý!V¼m®wí|„ÎýÊDO¢nš=Õeíš™Ëî/ Í­ìò¢žÑ)a@Ô%—zQúQu§•íAJÕ1€sé óÃTã¦0¹ =éոɳo|SíÝ/GÇ\EèÈÂ’Yâ.cÉ‚©kJòUC4šn "©ŽÒ^ ¥ÆU:JÄHï¼_¡š‰]4E_jcx¡?-矜{>ÚÊw7ìíçgŸ‚, ˜E¾YQ"àEZ|z>Uö¬z¼NÈãËV[úe†êâ6ªìø²¿²ÿG£1ßNµx[ÁÖ#wöEÁÖžqåÜò ÄãÒKã’ælçík_|J>®×oQƒÁPS_5BTæz¢=ú=¯;Úf4ƒœ{Fð•+ »â÷r; ¤îµ…ƒî÷J|èiZF(г~7¥˜Ñ LIò¶ á‹ü;é±!ä™ßÖ˜˜4ž7{Õ}c§½£çÍ•ÁÊw/#Â'Õ,öÅ݉G «çü¤aïnè±æÊ‰‡Ð:/h¨¶¶–¾¹Ö2Ýx®×f¨ï>¼ÃѳÃSV›$¬\—í?ͤԬÏKX½×Уĩ“ôîÕQ{ßIDÄæ‰×b¾Ù±ÌøøôþÜj<ÞàTJ™Ðí ‰;ŸŒ×£Ã¹íÏ?óW(ÄýxjΩnPëq1LÑ -ä—ùÚżNh¼Ç`[•ç—ó®Ù¼ù“m“Ši/^J›ú´ãå á“ Ú®Ÿ‘Z䫰Ń&ÁJP–„^y™(˜7{bŠ>£ØÚð±}ÃiXVIà §ýܺýÃ§Ž leuBê‘¢žœ’FkxÀ»ž4ž/­ÃYvdvž‚ª’¯XóÜ¢)K˜™’õrØ_¾K Í-¼í»pssî{Ô !í!ÝÀ§ÈN¡ÐÛFmDt¾Ñ.6sð4>ùÜ>!*3SšGÇ 5Œ §ü«:Ñú…Š­v&ݽš7 ‰˜|¹¸æe‡”©e46ª$br•­}àû-ÔŒÖU©¦¹Ÿ}©Õu¼ÔätÝsÙŸrø:0Àn¶=‹°d4^šàj³EcPmçè\µR`ûlKd߆N7éf0yE ¦ág€8I¯šÀ±wea-€zžÿD’¨p endstream endobj 562 0 obj << /Length1 1770 /Length2 8035 /Length3 0 /Length 9178 /Filter /FlateDecode >> stream xÚ¸TÓí7NII# =îîé.‰Á ƆltwH# (ÝÒ!(HK+Hw# ‚¼Ó'~Ïóüÿç¼ïÙ9Û÷þ\Ÿ«¯ëÞÎX™ô y@p;°*†ää(iš „ù„ðYY H(ø/ŸÕ쎀Àa’ÿ`(¹ƒH¦ D¢ˆÚpà‘ ( •“ HüE„»K”ž@›ð#ðY•àn>îG'$ÊÏ_{N€ „„Ïou€‚+Øb„´H'°+Ê£= 0„ÛCÀHŸ™àvB"Ý$ùù½¼¼ø€®>¸»£,'À ‚t€`wO0ð+e€Ðügj|ø¬#'â!ÜétPb†!P*0Ø€ò0ÔÐèºaµþ ðþ,@Oðosjÿ2ýVÚÛÃ]Ý€0Ìà‚ºªZ|Ho$ý"¡8Jè „@v(ÂïÐU}•áŸù!ìÝ!nHý•#ÿ/3¨2«À@JpWW0 ‰ÀÿŸ2Älª»ÿŸÍuÁ½`~ 0ï4@nüÆ0Ȱ†òŸ„ÿ?ÌŒˆHˆŠŠÀO`o{'þ_Œ|ÜÀ¿…¿aT~np7€* pÄŒúÀ÷C=Á¤»8ÀŸð ˆ=`v„Àðÿgƒþ8£úïñX  ÆO ðëõ÷“jÂ@pÔçôß-æ7006±0ãþ3å¿…ŠŠpo€¯€WBT ((( üÛÎßø+ûߨògtÿ°¨s€$þHU½¿ñüs28þ\NÀ¿=èÀQó püoü ˆØ£ÞÿŸ—à·Êÿßìÿ²òÿÿF¤ê…þ–süAøÿÈ®¨ÏŸ Ô<{ Q»¡ Gmì¿TSð ­ A<\ÿ+Õ@Q;¢sDÍ9¯àC>‡à„*Ä Òƒ íþ˜¥¿šò…ÀÀzpä×½ƒÒø µzö.¨»jÙoµYÿö«³‡ƒ~­ ˆ(èîôÁGMê$ðDí*ìý{Äü|08¥@åp€»ãÿj¬ *N~ ÌÑÎhïFÝ‘È_„?e"ÿ”ýÑп„ÂB(™»;Üë_*¢ÿ!£Pª²„ ªÛNÿð à·ºÿ@™ýåüŸH„ÿ„ÿmU~ó×%ñ?® {âñBÁ0Ô0þÍðCᎿF Uˆ¿a”WÌñ7€ ÀÕŠ„¸¡*ü·M¿Ê5„ºQi ï/‰¨ðoêEíŠô©=±­%–%{ªéôu„X·ðfõÆ«›NĦ…Ä.ÀP|N”N‹ŒWÈëÜÅxjÎIJŒ4L’@æn™éa¤ajF ±)Šœ+•¥%1S¹F²-bÚŠ-þ˜,ìkOîöhtÔQ ¹«ø±É£.2-“×½xBg³–côŸð~KJŒOm‹"k í|0ó°FšßƒEÉÀ®ï\¸Õž„—”^˜kaÌ7Åᆠ[oŒÝ¿´ÏN²J“Š÷}©(ªepr0¿–NÓ°’ëi`ê09/{ =àáûö²RaƘ ;ÛjùÐ1Øug9 §˜I2{“½û~'¹YCäü© —Š(²NsÞeÙ˜—8dŸ‡¥×Þ©&e!/1;Æœh"L\`D:c¤µ‰–©ƒg.¡Îwˆÿ‘ðmó¬ñ0ßL¡>Úó¬k"hÕæåGú7} t™oÇözÞ°§mz«7^c‘Û ªIö3‡A+šEÚ”¾ôQÄ[öµ:ÎZpÝ»?:4}'´¼z¸âf½Õ¨sèö£ü‰¢2€Œ˜}6BBxµJ;˜M‹ Ú$H™ð›8!p¬1ThƇæäЄ¿•Óœ§,ܵdyÚKZ¥ævtÞC÷…¼­ŽŽÿQ¿¯ýfQ¨ªøO=áÏ_ùÍtE?ø(À»êw7­LŸÐ*‡j·bG›?\*9l!-4OœúXh¦§r¤u#´j#Ôz·ªµ ®žæ‡/Hå=A}o`‡½«ÃƒÚ¿Nxy~eªÃHo­òì¤x?«5qãìÛ³ÕL(£ê-åã -R 'ÁjÕ<»ãâªÑî((¡Ò¥ ¸h¡›7œÎÓa Æí0z?W{wŸ±>à*GgϵÍ|PedP¹aUî¹Fò R®Y®;0‘À¤q7îõäë›÷¿þ´ANšJeu}<Îì÷çxPŽäúXB>y×øE®Ÿÿê·oú@áuÕR(fZ穸7V%-Ϋ dŠº©BiwÕŠT=Ó¼ÉâØOB¥¶Á{a&ðúŒ϶¼½¹îúgŒRÏrëd†>Ëò„÷­–Tt>f®øÞ”–M5n°ÇÓ@)m¶+W_Ù ŸšhRÞ†'¯Ÿr(—ø e¼tSAãRÏ£¼>Ëk.›¼¤1 îëÂa!æý#‰!v dÏpÐXO£ÞÁOs¤lAAp0l^ÓQ°Ï¿çù.qÔ² õÇ,C‹«nün–zXd*™ô¢{£—C AžÉS<}, ÌNÆ%Úrgõ»rË©n\ÓábžD3T2 z‚ˆ€U5âTùW:)"ÖGÂi1Fëõâm‘ý⨰V]ÎðÂJ±É V¢¼p5‚WW)¾/ÉOO¶ý¢Æ¬I•>ŸI¯úee­(¦ íL\½í›ËC9°+ú,®ÔÚôWOVË[Ù3ˆ§ÖÁhÄž°‡Qo kF_?tÑ•¡ÚÿY!?m H)ý åù¢WyºHµá‚ñ)‹‹H ÷ ¦å<öÞÅUóÈìÖäcx{¨õ K3[Üú鉩84-q­ÑÊþŽ?ieÅš3›Éhý}0ðc¹ò`n¬~™2ä!sTâVÚµ‡5ša ¾‚ÈI–¨¢ éB¡'l!Ëh·*+±n´ƒ9bü¢ŒÜŠ{˜7(À/z¼o@>2û)]6„ý¦Ì8âXXm˜ü:åWN¨SŠvèÄŠø^¾}”@kYÖyEº¶^i2¿6ÒÖ,˶:Û’›â!ÀØ?±C@S3HD“ou£=»mJ° ¶?ÖK$¬1õö™ôÝ.ðÞ%Ñ^´º‹^t¼“*ª·Hßêê[óœep!ð!M lTOñq“¢Q˜Y¤:Sï æŽI„[U~ɱóUS’cf õ)òbÚªK*2ÐÛbÙhn•¼}ó‰sàM‚ʃ٭"{eÏz-okÁ!4~Ú^ëqB@Ô\mÜìg*סˆ‹kš÷…ZDâ£oÏæâí‡NGá÷æ0*cs´Ô‹>µi~>;mÊãÌü†ó${fÁÞÜ'­w¸½(?ŸÜFûcÜ-¯|=Ž™ ö -ûYîhÝØyÒ°tà1HîK9G˜yXÄû ÓFó·ûª³Ò[ŠõéÛ.õ =8KûóS£ÖB³¬$ ×7{®áíhq#ÄÛP×0øä‡½²‡ÔúëmUá>ÏÉýSç=ɹ“^å3¼¦ÒhŸðéõfŠvßî Õ9=å.r6óZœ9§§Ô°í©s°É¬&@P¼Gx€“ŸgÕ(X @•ô6î·ÿf-ÇZ«ÉÔñR¬Zi%T,TÓÖôžï¢{¾Í¾Ì5f?öò‡C‘fÚ€bŽ®û=iu‘‡Ô¾üŸë›æ|'´z,Âý[c”Ñúò_PÙwkŠ¥±0¼j9Uè_ŽªÄ®ÿ°L=Û¢°ö¬õÝ$´³nDý¦ÀÍ(Ä1¢]H¡ÃÕð .K,v(îDór™ºÏp©.È)†[šaŽë9 e ŸýÒPÑc"é"#‹ñ=Ýïëõï*’Ý:ûeLJô4š¸öod,S?)ùè¨4H|š|8û¶-]Â÷NûºQ´Òbÿ{d`[rofä8=×~†D\Ÿûè”ÆÓ¸sñ¾æ9¹·sAöð%·`íôëc‚¨²Ö¡¾¦pÈE“/ ~Öqò†]zÌüÍ6˜wOÿ’(._,$ŽKEäA(êøÆ: ª(Ä¥… øR•«UÓ/3>‰iNÜ–™êo³ú†OÞôºuÖìMa·0RÃGà}çK>¬É1½–©^ч)?PùšâæV£ÊUQú­n1ÓóÐ]w4ƒÝ}E:é ÆUC»g&ù­sS¶¿#[’kxQ‹Þc8ž¢G"… ˜â,ÅMïGÑ.…Ç96¯âØS«Éµb¦Ù±`ÒÄî;gqúQ~žvp>z·~ʨãiOVÒ‚ÖÈÑ£ÝÓmkeHéeñ‘$Búùç¡n¦ã{‹ÆQWþ9hé°¿‹˜„ï:ŒÇî<Ñ ¸¸žð—¹ËFýžéÑõ×ëÁÞBdK—0$¬­§ráÓs;º)óÔò¼“ñw®!UËù6Er˜^Ó˜1KGķͯZJK;Ð:$P˜Ž4È]n‹Åàc¦ó8ÑPw鿯M»º<Š‚7È×Ö­¤‡ÜÚí(L —¬èSlw)2˜œ²I¨¶Q&9Ëà?µ’Tl=÷óºScC,"|Q¤zà8ÙUÿð¹bÖÖZΞBiÙò›'¯G†ˆ—Þ.Ž?lĉeˆz•4v X­çpÿ^å)Ï´ao¾èÙjǺî¯J,“¿¼ó´ýJÐÑX÷#žê¬+ÈûBå6Ÿ6¼hg”/  uäîÇgÍ¥TŸG;U‡³žÙ×Öe'‡ÊܯzçÀD…ÎÈ5ô¦œ›Ó û}Œx‡üÜÜÓl_Bû–7ò=:l®y_^Êš1}pMÊ@)‰Lo™'L”Ô·.Ÿ‹r¡šJ¾#ís™«ãA|†³STú¦—¯¸ï©ÓPô>*ôš¤ÅEAÃ*Š“Jû’8¨É°pãÖ<}ÖH•8ÅVÊe@ߟÌ~m/F¼rÿš­yÀ_zi¤÷UÆE'Ã8Í~-ÙíÎ\9÷3{¢ªà&é‚@v×=„t–ñvˆ„“M'F‰~Çü·5öbµ†Ãå;™²D½¥Ão­È`§Âf² |åæ”÷ƒet.#ÐߨÁéãýžPÙ™sÈ2ωsm=ív)õ¾„¯Ä^¢}ŸÆ¨¯v&*{­´^Z½ &xC›D± zá§’B1XÔóÔ+dŽz9‹”…ÂdyÓ‰™{îëÂââÂbõp·†ëÈÞ¡¥àª†¤] Ë4]þdèô‡ðóó 7F¨~Í‹Tý¬,»åR ~·SôÆÓtF©O:UÇűl~N)¦tÁvÉõ?áܺj&ø±ùJIOuåa‡¸ž¬ZBÄ>ŽR6ìæ¾“Ñ«hßÝfåæ¹±ÕZuXŠÌ¸YìÏ»7)" ocƒÝƒµ‘²>25‘\«!vJ˜Ö„o½´ îuPö¦ËÞâ´ëSôÇg³ùtZ!»az©lbH$1ƹ‡š¯”¦ãÃùÓñx©fNæíz©«Ï†iéÝžo†Ž®¿)ÖËu= kçOQe5æ«ÝÄÆ8ãþ¬©?.@Í<8Y1.³rŒØ^Üó†?²Zž)gúèu-ªû…/ài^0rw(H„ô¨Ðde¨¬ž»’´¨¹²êí5½Xl½1"4»zº¬Ïgs}ð}*ŽQ~œ’ȵš»ãŠ1ö{‘,‰Qqlþµ‰]±¸i_ÔÊ×fÅó2v j°µ=×—8œ©%a«KÂãÑBØñ~ŽÕˆU¯>ÆGÓûº³É4Ñ®D|q/ªŽð ,;©Æ2á:ÒÎ6p²‡n¾ï¬"Ÿ%z+ÀH|ñX;è¹ý4‡ä,8±Nî<"r•Ü"ë!ƒf´cVYïÖ«î²Mbrù¸\£Êg€)và93kŸ¦¿­¾fÀ׫'Ê‘¹©1D§lÁ7ïÅ%øn¦KÚ7íh<í¹ƒTº¸åDŠ£Ù gf­z²c0Ç3< ÕMI¹nä³Ù$lCcÝû>"g!%WË¢¯ºb²!.¦W.E…eo0†ÌjØÃ^ÐSæStK—¼žÑYׂƒœ3DÂ$Q²YhiŽÓÇ‘ìfi n±º#5lÜ,Pœ¸_¯ÕIœkësþ(ê»}Ç$yí3 E Oê§æ‘Øæéç?½ànägÛYLY*ïõž‹©ÊÁï¾wÖ#–X9©bÎy瘪û` ÂQOyŒÆSé=↨Axï©çI«j’®®EÍÞÞw*¹Ûj!:v?Í•gqÜÉ×Ô‚,‘säÑ}öæÚ‹A™ÒµÏ^:ëÏëÐrÉ–K]‘%½µp¯›±X&ÍEᘱ!fëõñïŽO~JÔ9¨ôqH¹1Ëüt°ŸáËqQCìO) 톬Æâé~?Þµ%Ä-qKÉôkY*Õ¥RJ×¼QÂä÷ª}îz§âó á'–jý ãJZg…§É-”Þ™^x_;‹é#T[sî°2‡¯©¤ÊGú7IÙb÷xþ`½dœ¯1²Ü·ŸÆ¶: cÄ2«eÓ8Ç/U`‡ûÄ!=½§$=@úÉ”>6÷^˜SË_Úqo¾Ó´š…Öxeõ:Y5{­DÒ¥¬É ‹Cý.Ê!‡ÃQÞËÊ¡Ø$k¨Ûr'(p7NPõû6ƒ5±‚°g%^ÿŠnŽçD ]“º'¾ïÕºQËâÕÀÜ—{vÎsÐ-s|}FS¦X°À‚• .S" …=[ŽÞy¿$™;>¦²]GÑk²WÉ5›>ò½·­ÆËW¸¿ÿRèQ—ê·÷K?’öQ´+ƒ2±y'¶Ý‘/‹út˜†Ë *ÀZxã±¶ó­{cƒ93è‚Ýã`П‚IvAø‡@CrMßÇ:÷ bÃ7¯W/(UvpxVÁ&B¤2ÚTprÎ{¼!ìûM¾¾’œ 1žo‘ŒžùÊLÜ¥oÚö"L÷æÛxòC.]ßm|ö-§ÎöÏ*ÌÙ®—>ÏÎŽ’'îíÈ슑=3¿ŸÕp~ùáh‡GA6¨±¤›ÆŸ+wý16k™Ð ˆàkÐáÚ|mÔV—Hºn’“1b˜ ùʼåº`¨tDá^~â ú¢ã|¿ÆáÄ£¼ø<ç^·Mi÷–'þ°Ï1ùr¦-÷öœ© $\QM×Ä–‡ö¡Bá¹F­ iÝåÌÇË;‡ú ¬·C¤ë}|ñ$ï§q(9f­ÏóŸ™W—†dw¨-¾o§ÌÖ“X^jô}ðçÞH3—yUõ6-û£T±¶¬‰^ª*YB[ÍÍ µæø½èOÆN)òøÌ* u\G.Õ¼ë.hZè¥h‚F¹•INŒwf¢:£lp™ºñE–¸´Í…R-GJRC¡¥¶[˜¼/"É©Uuì¬ÊÈîæõî K?I[*Ù"þI@¿Ösư±ZO:ñ0ŠsC'ÎÞù®©iw;H|§”4øÃƒWž-ÍëGI”è8ÖIšøÎž±ºiö¤L)(jYÝšôA ‚ßF¥"áá傎˜ÚØúŒ1ziÆÝ®ÕÜ}Q]K¤K:³<‘7Ó5e*¯-HV‹ñÎ~øûÚóZžå=ÿÞ¦øüÓ¤{_EMM‘F÷Ü…‹!¾óBÆÍ/”¨n ×å’q\¦Mé^«u…¼NújØ÷yùE×vÊ+€Ñ˜/à+¶¸H( jÓô8纀D*ì˜D7V.hŸ“P°9hÜ«í'¸O†#Fœ­9CѲ?%…û³z´A—¿û7NâÝ.ï® ×ü(È]ëzš—ƨW]œµywÛYIÙž£ñR­ÕÓ)"FD~ê|ÞrôoÏ¿³×[Y4§{¼HMö¨VÍ;U™´ê³Ê¼¼sˆV‰0(m.n%ÌXþ¥¥5w0?š_{®:'5¦—î'w¶î¸®ÌãÎH{W¨:vË}ÈqN¼])(g«IžX²”êVùLel™0ì–‡eÿlò·ÑD{Û±HƬŒ/¿EÂúƒÎMŸ¿“Ñ=þbfjºamÌÁv™bI\Á/*˜@WKÚ–Íj×ðŽ úvJÈÂpÞ¬óëø–2ƒz×U ÍÅ»ú‘%¶Âe*99B³`îÑ·Ia"OE üÓhE]ª/Ÿçr¨]­ÇYR*þÆ;Ž¹Î«€¦NªžtUï)p1¢ý9œè£'ÔâgÆWwy¡òê=²ïˆBïÌ*2&’Úéq¤Ç¼ý^_UcÔÁºÆwA€C×¹ê`ÜÎÿ8hq¨EôedÄìõ‹  ÓÒ?2&`†‹3áÀów!JbJúËulÍðொOõî´îó.O¡üQõ8½0¶pfÚ†¾ô\ÍÜÕM¿°}}ð.&àËž‹æ»Kýb„l f¢Rl>üL‹š¸Tèñ®é¦±Ž ÿÝ|² Û¯2¾£G7þl+}£ô@˜MèAù}ŽYmmdÉ¥JYeûÓ4µÃrUB9›¯ØRàTìj( GaW5ϼ$~3üIРCçO¢…|,;C[ÁqE8Ú¨!)®Ṫ}FÜVÊ€*]©c[B—gv -qNå̾ÅÛtÞÝTð íå×ÎÕ`>=aâEãmúôø`“//àñTG­Ý[——¹gv¿vlúíGé0 n¶ý½gŸþF2 ܰÛ±sŠáÂ#ÞHÆ]ﮡs.ˆ:`Ü“¢§'^neµødOÄgÜM¬÷~ÆÔ$TY-àýë&ä÷ÈÎDõñ]ƒƒ‡M‚ï*Sî@:   .&oã ×›kÀk#BZ{*¾Þ¶ƒ™& m;%Õ¢·Z/ÓÚ…Oý\WpnÝv¬D‰rú«'¶yÙÎw+XÈJÙ¿J!èä˜Ñö~æ žnŒ¼5|î²ù)M‘îjq9†®7*P+ÇÃÕMQ_qAƒÞñCüÅ‘§ Úù£¨?R»@ý:š•f5•uÊ×Ò8 žð ýæo¡V ¸Õ½TúQÁ eS_àj«õØ<~sA–„¹bP2Ó’ë:,X+•#78Z–$²ID¦ÒwÿÄ&oÇ|a“ŒgfI›U¡ë×CØQŸ&#°ÔR-¸›÷ücWŠÊ'ë2ôhPÖ5u Äi ’ðÁçÕ®j%ÔÆúŸäÄ™â_¦&‹Ëªä¾S6ô^:!}Rêü-@¡ÿKœÀ$¢U#¸¸­Å¤'×ýË]1òa\µ-r¶ûSXTœF¡<ìߣ üñ/|ÕÞ˜H=¤³² Î¯ï£ ÷^86¨{¸E|!-Ü{`-=´3ó̳ªøqDÇŒ%=)¨ߨíðtPÚ÷Ïy£»‰sê$*¥Rû‰%àÍÞÚžzZH°•[,¢¤ÓHÕEFÁ –Ò›—ü¾üêë]Ї¼Ž# þ qšÞt,Èhœ¥Dá ÇKëÜýž ¶ë Ù„/k)h>à»0®³EÍqñú“º~|S¥«‹QÚ Æv|~¤|Ø-2ù:±«Òy~[|Åwµ?8&°¾^té [ð')="½U4æ°&娄ä5º‚Òñ Ö†&ÏHA%–øyÏ™*ŸH°¨Ró“„çI2Í«ü1°oñD‚ªNò‡Ù C”Ÿì' Øße\…®«\y‘Ô±´T{Ì m'SC\F¦:{‘h›N\ ¾ÐÚRy]Qa§5JëШ¯ú]ÎZi'T¼ü‚­1ÝL…©^Z?Î3Äou~[éäæñTÇ9iÅÄsòÄŸ¹?5—|žÇSª2sW*úæ¥úãÖŸØG¶ž†¯Aø¢2W¯"0ú¿æM-Y?£¶ÔM½}5ò¥òê{fàðQrÚ‘OÆn´,†-yÞ)N…åâø"œÑ~&ÄÛ~ YÓLŠ×éé¯'J9öü³Óñ%·Cw4¼-¯ƒ%¿ž~~ÉDuìçØ5ÆfR¬$o>½‘5¡›1Ô?5´ô æó¡3ÓÀgÖØ_’yYÓ‘ô©xaxMÉšŠ:óÓ#}© S–²Ë™‡SêRwDc ïž-å^Ï+ÐúQݾZÜÄÍbŽÀüÿŽ­á$ endstream endobj 564 0 obj << /Length1 1423 /Length2 6215 /Length3 0 /Length 7176 /Filter /FlateDecode >> stream xÚtTTmÛ.)HHI×P¾ÄÐÝHIJ7ÃÌÃ Ì ‚ÒÒ©twH¨tˆ€´ŠŠÒÒ òc¼ßû¿ß9k³öZ{ïçºë¹žûº.6}C~%Òª†D`ø…€ÒCs)(" qqÁ0p蘈ˊBÃéÿå ‚‚‚0ט*sí§ƒD´<à!€¸´„4¥þvD¢¤ª O #ÐB" h".¤› æè„¹.ó÷/€Ì ’’’àûPr…¢`` Â8A]¯+‚Ap€! ƒb|þ•‚GÖ ƒq“ôòò¹¢(Gy^>€ ãxECQžPà'a€.Èú›™ÀÈ †þ"0^ p Àa`(}á€@Q€ëâCMm€žñÛYû·àÏÙ„„þ“îOôÏD0į`Œtu!|`G€ è©i `¼1|òÓG#¯ãAž díðkç €š’tMð=4sàÐ0øOŠ‚?Ó\Ÿò=Déê E`ÐD?÷§ CAÁ×Çî#ø»³.¤Âïφ€8ü$ñp4FÀÜ= šª\®!¢0G( ” î¨7ØIðgz#7è/£ÐOøšA€ŸÒ àpMs€^ˆüÐ O(ƒò€øýoÿWDBB ŒØCa¢²_ÃP‡ßëëæ£`ÞKàµö„ÀŸÏþ¬¯åA"à>ÿ¸ÿꯠ–¦™žá_¿ÿǦ¬Œôøñ Kø¥Ä$BB¢â @À¿Óüçþ&ÿ ÕÁþløOFM„ õ›ÃõáýÍÃó,xþŒ /àßt‘×Z†xþ‘¾P ¾~ ýÀ¯ÿ›îfùIÿ¿7¤æ‡ÿ2óü²ÿf+ îóÇáZʘë±ÐA^â¿]M¡¿GY y¸þ·Uº%„ãµÄù…D€¢¿qZ æ …èÃ0`§ßBú»×5à0T‰†ý¼q®£€Àÿ²]OØåúVAþô z=Tÿ®{FB~NŸ°˜8„B|ˆ€×"ø ])êýKßAs¸æp@¢ˆ~¶U( ´GÀP8ÔóÓöùÿnâOü_uÁ(ÔõTþ’Çõ¦þ^ÿº Po(˜èóG$Xæ±sÝã–“%F/þ¥¡3smqæ½áb˜;“9~NÚêãîÊvJºÁTýO¥acýï~?ö¶ê|<¢‘Áº×» ¼ÃŸÛºßée G$R#(¶ã ˜Éì,ñ,¹M?^„Jt‰¬T-\¶¡W,¤6®€¢#r¶FLŒRVÛN”9çfÀÜŠ<–e™æa¤i‘÷æu|ŸˆGƒ£®J0±^à»Fzxd¦¸@R1‡Ž‡µ ·k¢ž[=©,Å3´gºÉx#N¿úª_evÀ*HuA¶˜`šFϵ;È™®ÃË—£ô©+P âpÖoü({¾~FtRé%Ýâx8w:G¨+ºS—КST1ù°GZƒ¹)RB»è%nB ³d“ó§âýïçüÝ·¿†Ó©Ån(/6Åóì®§1øúIÙ%—)c±ßÐÅç¯"¥y:bm<30<Ñè3aC]ÕÕKA=ó¹I{dQѸlð¨î5«Þ;%ò½ï¢"®iÉþ}{Ýg/É%äü܇EÜÿ!ÓPSvMÍ^…úL)¯:9Ž6S¼ààûT·ÐºˆßPƒä´¬bf°}«Oïá‹ÞV‡™—ÉïrC5Ñ)ÄÚnu¡Þ³p-Åöêf¿D ßS¬ü;¥2D^¾²tŽc>`}é£R»í0’Ÿq«Bc".N—Ô}zÛ÷˜°hÚÛ‚sòÏ`ºÙn¶¾Ç‡ìÉÙõ†l™£iÛ%v%XwÒ£ø¼¨¼wçfî3í{û{ì2e%ÓmŒ®2FM–¤ÌìrÜNÇ»OÅs R(½¬l¥|mwKEÕ…«aýNuœsô×Û±ýò.múþ4[5“ãO,?5ouŒ0PzÀewkt‰ŸÞ.ûZYe†gTëy1Ï/¹²Ol ‰(Ô[ƲdѰ °QßP ðã´#¤¼Q‘ g²^Ìä cã×ýLÛ…Y2vó§u𗪵âCCK-5óU—ìÉÁÇ®KÉ\RGïsp]kß †å¾“mVYµ7Y豸œRz5žxOýÉ©Ç=¾­ö M²¼6*{ç$äV"7¹ûŽ‡Ä”í©¸‡¨[bÂØ*–þÁ^·Íp‘õÜIP¬ÀR®fæ†ÞS•— Ït¢Z…‰úµy¬6¯¶áž#âïË´hB”ŠY÷K£š /Yu„f3KÁJKàĉƒì\ †K+z'•’J,±nB‚ ºÂ1œ³3í4!ÝÌÚLW"›~ZcR|‹Ô²Šb’óõÆÉä×›¼"†ön>:WŸLßF]'óä« ›,6×ÝEî—ÑgÅ&j vGÓµ}¡ª¾Äʸ Se)_³0¸ì~d³Î1e`t&ªlNŸ_õܸ Vb‡×$VÇF‰ÓȗСãûÆk,…ès…ÃÍ’ îO[_éøW`"Ÿ~ZšÏ×”Û_äóg1g Â}Ÿ¶J×lEËÀc§ÜÌ5ëԤϧ½É[L,Ì19NUÅ&ç“Õ÷\ÚájÈÇG•Ö-fݼK˜T«…Y»Wôñ#h}ÃK¤ª½¨3· ? (-â°”û|Šä~TMÞÐiµ÷íºÑeû‘©c,óÄè›5ÓéXv² =Ÿ¹0WèæÄ2ñä’s{}ˆõF^øÒç%÷åÚôœ¨ÂÃ$«ã—l͆ 9?ƒ¦VšFExD»i”dx¡IÜÝh½-´kÖÜìb•/möCŸã¤€ÂqBuh‡¤‹Z ¼'b/&÷­ç7ñx7w™ ô“N[æ”Úd‰n–KG[É ºý!ë™/AÆÎûk¯Þ0˜®¡Èc4Iç÷ ƒ<ͧ/‚Åv}ƬJöffý7»©"V΋,FbŸªæ<(AÍmú´µ¾Ä™™a7<}FÔ`¬=ZcÎÐÛ¬£Á–[h™«6àêuËÖ_|Z"$¤J~óÝÞ#­•Õ·[ff!ÆÄÊʬ_µé›Þ<¹ß¨Ubš*¦Áq )åXÛÇžé&Yò)Ú×w)ˆJs¤ä`_­ÙÞ êcŒÓgcíþ¤é‹´“R5)¨ÿ ýýç̲7Xñ½þÞTМÉUj;r°Òêæ‹r6‘²bgÛ27ÉóW÷(¿‘TWK¼JÏkî£Îê(Žÿ(_kƒWn˜VnZ¤d˜0HvgŒ§/g~©3©t8i¡š]“{äì¶+eÖ•”<~·[„ãµ ´Æ™é{¯#¥Ø@®ÂØ™ø LË±ÃÆû>z¯Žˆ}Ã(þy/#ãàÉ×3GîzYïàL N=ì¼ö&­/+Y’¼IfÁLâ21-™”.ê{äÌè»Ô¯tlÑfdC/•V´ømÄhøˆ*ÊMgB„1v¢¡]iÛ^öȹ3•t²ŠaAµ‰ATH~àÌa\ïÇp|¡ŽÛ‹ìO#ýúßav65í P‘É·rJG*\Ï_@ûš°Ã¹û¼É³ˆ£¨OqäK†­x+9gœä®ï&ðÅü¼ U•~™Né®õÎw]MO<¤ñÖÄñÌUb2ßh¬R¹Y ¢óû'µë]Eɺ4Yˤ¡–-éj"†[ÄxßGD›ÎlP%±-Aî4sìúŸ> ?†;^I•#€ÝDb’u-“³{C‡®ùIokP¿ÀŒŸF:öK¿24`ºFª¡ë")AÌ%JžñÖYzQX`Dvšz²·G1ñ*r¿€ô$¨Ì‡' C\h9Ö2äÃ_†ëäIè1‚ïõlŠÃ÷_8f¸ØJþ˜ë°|¤ƒÊ$'Õx6Úe½D-þ±=xwŠ§È¶Ù]¶ëH€¯jƒ¢´­GRÍJüB$ó)§Ç«ƒ‰ÚÀ]rÖÀLþ+Þº·7Ƈl¼Åé\zw‰,ÜàÖ*«„ÉißGŽD»|L΂H1ˆ×Yé‰0ýµ¹®p£lp´ êø,ŽQ{Jéäyö5öÍI6x2Øà rŽ ’;qÆ”˜,¼èÈIŸ^Õ"Dás àTµ¦A†ÃVi4•‰Tªkš*°(!í[Fß/𼿑é|ÙéWÝc‰t=éy‡“]B2jfìÚ©Õîa²°ßü ÒA²^zŸ¶ÕMü0üƒ‘ÊFY(ÉÞýByxÿœm:£¥ËU‚l=Âûâò“ûa «¬äÔŒœ§~¬Ï‹ ìÓfÎòb™±“5ûäÜJàú”í³ˆÄ© 8Ü®©¡€ãa0Å'r¸&bôˆß€ÁîÅüë­¹˜òéÃ'ãAZÁÙJOI¹Ü¶8ȉ:?ŸÚše?ºÇ0ÊáEO·!*ƒf¦žPÅ}ªö¨?bÁ'áíÀcZk¤á)ûkcZèêC±y¦çµªì}Oï:5å0m•KÔdxÛšÐ@ë6›ã6:áT”ï{qõ2!‰1 ÚùÍ'´£Á˜ÒÉj·}+»(Û+?³Üs t‹N‚¡{çžžïë—RËŒù"‡é³ÑxÁl÷®gFçó‹Íúöi.Kž¼óˆ±1ŠÃkåA‹6&G­fL‹ Zuõõ Ùö±žR[ˆ­Õb¯T½jjrh-nd¥L½Ò Ÿu±ÀѹºÊmâžc?g®fÝ ²h£Âwµ‹„p6¤½ëÎ’WeZ„kA ¡¶ fK3iÐ ¼a¾VOE5ÅZxzÑZEjSI–&£óŠÉ)šÝâP=`Ù›d,•Ñ­P•:C+]RϤ˜ÓåËú61QwåáXݤ4~$m‹yÙ*Éœ§Ë3c=›žSøì\‹²<*ܽ6ßD'µßUØnkö7ÕR4]`ÊùœW^˜G®«²CV@“ØcÌʤÎÖ/ïI,»Fágÿæ»]¿öÊ-ž¼SNg²£~mAï½5C ìtFqpˆx;<ºÔ­šŒ¿{xQ1’2ìÓEhüZÃÂ'ò 9­×7†u="/Ú×ÍKö¸¥Ÿñé%Wƒ#žÒÖôí*Lh½ÉÞ~Âü|˜zû¢»Ù…bx€ö–›õê¶—i³£Mü!YõÑ˃Ð2¿ØØb™T]I0ëC™SDΉˆûˆ3"Çî oýA÷úVÁ7ÂÛㆵ=ŽtS{qè¤qšì…ú³¶¬ýlÛ´$îfË~”5Öð#¶*ˆs6F¼Y'°c6¹>©øö“s‚ 9­ËÚD­ù£¶Ü¹òÑÑQøjýðyc¬˜8ï}Šj GæFòéû³!ÍÍ_©F™]Lo[«þøL1ª±tvøô‡ áå‰Ô|dH8ZIÒÍßC*ë·Tí9†óh#ËÍ ·¯`,²ÅC\¢¦ÁIÐ >y`'tF·[^W•þV§d|³Ý=N%¼òÄÎМlºÌLMöò¾¯@)2:“›ífn–rÌÈÅ!rx:ÃT{墲†Ed% çÚ“¾ìhë^rœ]À¨hég[^ÉØ€mƒƒæÎÜßO‰ê9×ÑŒÌ"9úÍM _Rb¼V‹n lio|ÑDåáöir9uããíœTY®ùÜ,U…$˜”âÀ=eäI/Fãd¶,UÊ Ý,nv@„ΫÌÊÇ&ü.˳–™˜¸fÿ²<Â;z;ù¿€’Bšc ë \]wóD!#=³iTjÍrÎ8¹*<÷¶à«[îyç;q…?6ñ¤ÌªÃFèX7gIÂБ ’¦ÓZ²c˜¢ÃååE® ³iÐØÓŒ2™Ñm8GÐxL‚m®À'—Øa#Ç‚$¥ž`l*Å“©˜­”)Èä…m¦ËÌ€ri\Ä<Ñáþ©"“n¸¡Ì_ò,o¹É ªÞ oèxˆ?œôcMÞÄcê¿YPèA5|‰}§üpÓÆOÚY:Î4?û…S—´ÌÆêÄÅòÂûúôûbj$eíi,C•!x# 3,ñCä`[aÁ E6†û ü€uç ŸŠfzÛ¯þ$rŽŽæÎQXkÒDHM§–I#å¢ö¯ʼЉ é9² nóŸh’$8?n¢¾Â¸ÍqWÖ/ŠÏ–Nvä )1¹M65ˆk²î?#îS¥žÐc÷³öU87΋³·»º¼©ÁóQã$vàv¸ÇzÀEhæÓì¤R½šïQqÒê"‹=˜B)›a[{¸\ŒE8oSÑ8r’úY:}¡øðÒÅ·Cä‘Ôy>,úKAù™ü‘Râ&PkõU<ùâçõZ«Sù]L|k0Û®ºiÙ«é²e‹5îâL÷°ÎÔ­Ë×£”ÆÌœß|FsÕ Ä¥Tân4ˆ»“÷¿¡Ä÷~çáÕêþ̼éú±$œGé;ÁÄÚÉé yMòF‹— ùw%Nƒô- Î~Ü„¶†t…Çz{mOÒ©i§?(ñ»¬u³Ê/í‘jð¯>?£wT¥–áùBq/æ¹/x’[‚u[(umL&[T^튾áíAÃv¶œÂ©¾öÉ#¤‚|4ã7”1O¨¤pÄML•/6=ÌÂ=v|–BDE…•LˆÛå$)nÜ”h–½ÿ17Kø[æP–úªÕ\˜)Eì rÎØ'áû2 {ÈJœ»Qc¤¹·ï7Ë‚>ŸYW÷oŒø.ÓTGvj 廑œÁÊu^øü‰)Þø5¬³+–?*O#rüuLÕ5a™á”R Ó›Ç~ÎÅ¿?ésòÌÅäæç|Jèr<¦Çñëȹ~ø†JViKíÁcÌ`h/ÁD“P=nZ Uƒ4^¶ãøÀ°‚À%Ý÷1kçY^aG…µõW¨íÉé¾É@¢§wž7u ñŒ}ˆÃ{MÜs´‰¿FüÎ3ASîžos‚űœûÞ†çíã@Ó:µˆáóÍ`âÍhs'c‚¤ñ#qªQÖÑõŽ7¹±ùÕ7N„¸Ôê¾ùv$éÑ©’žÑß~¹3öâ^Y×ô é–’ Qõj´—=¸Ç U—‘ºà[Á1ÑÆJæˆ\ª?t¸Œ){.ãëö´œž+|áµåMR¦FÏûùwUõ—!œŒMo^¸¬ÔDß<|X yœl{Ä£ÍH žÂÿxõ¸Ìsõ¬>ÓYø‹Ïé&KˆN×Ì­ÇrêÃ)éÁqU:ÎafÎÿòº¼Àý"¶¸r‡AŒ–Zrf+ýüƒ¶êLsü+¨àä¯m•ì¶1ý=27®^àºÒþÆËˆV݉l!'øð;/S’hË9=ýˆ»Rz-Á(âçú+ÌÚ­ »'Ì÷ÙaÜW–vï…B7ÃÓ"Cl,vš~|I¢Ÿ•uDÔìùÌ,Q¤å[Üûå>ýh¿ø‘ÄŒ¶:5jÃäM}¤ÏôW¨â½¦­¡ËÂSq¯«íoœÑ±ƒç|4D §íd ª5“ÉÖ™ÉM|R{°™]˜ôèÏÓz…§Øh¾—wà.ˆPy à¾K…Ô†{Ûcsr®<í¦*ÇGŠRK˜K­ðÜŠÆ+µÕ¨F ¹†Âx€ün§Š©àñx+LˆìT®Z¡ÜûËhôÄ´v"×1Â`þ÷w^ 9èà_ÉÅçzóÄäëõŠ0ªöl ¯‘ˇo¸“kjT(Ž×IÎßJv—x”0Ò©¾SÌo%S>[ Ù(Ü6“‰øKɼ(|²ÐË3´ _µ€Ib[‰Þ0,–o_tùr§øè }ý"&=flðèùwâ‰,‰æ<ÆèJœ¹!ÐF%CèæÈ8²Q¯Oý ¥;jé]idÕUØÐæbûûp®mÓ-høÒ(g2°”th7(,rcK†"à~dò3pÅÖM/pz¯‡ §øË‰^{:]FF‡Í°Ðâ³nk¦fûá=9úþý8¹„DD—Ö˜‚c6xÏJª›JàÕeãÃJÎþþȱùscÇBš€snº›.ä)´ æñƒ²eþ\­¿^iB!ç–ÿnÿù­õ„ah|\ûñV k!'mÔ——GMù_h¹—sKòï^pà.gQæ)RÅÈF/E%+£•]ßì»Ô¡É¿ìÞšêÿôòQÎrý¼LÍy¼ô0[ï3l—I\5erER;—3Ó¿f¦D]ñD§¼`o†E[y¢¢–kŸœz­{¨Ge¶ñ¼ë6q¦ëãë;AiW®LƒÒí%TBz7Œ•6 Ã#…x{¥xþÏ߉ò·ž·Æ·¤I-ãÀ³ë3ñïh‰á¼‰õ˜+}ž§¯V>¯šÓ MâH*¢ f‰™ v¾RÆÄ"9¨à³ïx—æIW;ªÒhS[:Æúœc“ñÓµ*ûŠöÓ$j¦‚ZB²œ3AÚþ«Éêog:©E95ï:åN·ê<¡«c.Žž„q™Io“ݧèƒFš÷[ªËš×•øü§»•x"–N?Yr†#KLyd"V·’$b‹â­8 ÓÆ,DuÜ? ¼”’4–^oÄ{sIB¤Óo— ]t/Ùj¨­Û#©e™¨Môtò“L‡Y¨´$bO¸ÆpQ¾¿kòuFSqéÙ–9Ë„}îy©Ïí:h,Ç>¼@ð!é*°³®o`²°¡³7EÌ£íäï@T‹g%-L‚*§ø¦†µå‰„ x„â´sPFí¯ãqýfš/+n½Ó¢ç? D8¢cg½ƒüjW˜yMI6v??ysñ¤~"öfĤT sÇK>œ}v‰x ±ú‡ãOú_a¡µes²ë‹ºt™x™¸ ‰î¤ä-Ü®ò;ÃwãF§è>m‘t¾L^`ÄþDϗП÷03ßÊQ+‘zW@¸×´ê.»KtŠ8ƒìh˜q¤ó4õF;Ñ’z’ˆθ4ý·ØrÅ÷lת…YÖCVd=ÿZe\`ˆsí®¶€z(ò¯"ÅQÎôw#ü.hÉXH¶C>”>üòã ‚Ø–ŒgFæ(,¯{ÉönŸÑŠÅ›ç-œÚ.Fºmpˆ½µÚ÷¹]w®L°Øm>?ÿ®TH:ºe¯}“2Åä†ôÄKsª‰gNÕ¶^·ÙãSRŒ F'¸Þ>õ"!ü4>›@.Þyy®4Š,E Üë]ΕC¸—ÉÕ_Êx ªc9UŸ zâ®:ñš­ º]­<‡vûIÏY1çq»ÙÕ¼g”6ß“¼§y¢_¤(XQágˆW~{ÄRZ_Òþ?Ô0í¯ endstream endobj 566 0 obj << /Length1 2178 /Length2 7764 /Length3 0 /Length 9044 /Filter /FlateDecode >> stream xÚ·T”í6Ž”t7 ÒÝ ‚tKˆ”À²,ìÒ°KKH7Hw ¨t§tHHH7H‡H‹|«oèûûÿÏù¾³ç°{Í\3÷\sÏ<ωþ‰.—¬¥£XÑÑÎÅÇÍ+ÓÐS0ðò póòòc11éAávàìXLú`ÔÑAü†œ GØäpQÃÑ êjàð ‹ó‰ˆóòøyyÅþ!:ºˆänPK€7@ÕÑ Ãb’stòtZCàˆsþù `±øÄÄD8…díÁ.PР„CÀöˆA@;€®# †{þ'«$wçáqwwçÚø]¬¥Ù8îP8 †]ÜÀ–€Ÿ’š@{ðßÒ¸±˜z(ì/‡®£Üè vP؆qu°»§tUÔZN`‡¿Èê87ÀÇÍ÷oº¿£&‚:ü ‚@ŽöN@O¨ƒ5À jh)ªsÃ=àœ ƒåO"Ð戈º¡v@ áWé@€¢¬6ˆPø·>Èê‡qàv?5òüLƒh³‚ƒ¥œ£½=ØÃúYŸ<Ô BôÝ“çï˵uptwðþYA,­~ʰtuâyêuv«ÈÿÍA˜°~Û¬Áp€//¯(??ì {€ P+0â Ëtà.®`ï?ÿEX||K(°[C°~gG˜ÁVaÄý»@=Ƽˆñãðþüüûë9bÂ,ì<Ó]1œ’®‚®Çß’ÿu>~ìèðæâpñ ð„…Âb‚Ÿÿ¦ù·ÿˆÿe}„þ]ïï„*Vޱ¿4 š÷·¿ƒõï­aü÷MGÄ8ƒ¬¿§ß„Wˆ„øÃ÷ÿ¼¿BþÿFÿg–ÿëôÿoEŠ®vv¿ü¬þ?~ =ÔÎóobœ]áˆÕÐpD,ˆÃÿRŸÿÚg °%ÔÕþ½*p bEd¬íþm$¦õ[>ÂA_#óÏ5 ²ÛAÀOaП/ïÿø;²E+G¬ŸW*,à‘ýiú xÿF"ˆQûD<òÿ"Êo„ˆSÿ‰"|º¿‘ €Gï_$†È ü9-~#~‚lav@ä_+¿àO³Ëo» x`Ä³Ü þÛ.ð¯ý¯©û×!àý‹„g‚í ÿÇ"(øÓboÿ»®Ÿ7ÁcùD þ݉ŸÈÙ1¬¿ ˆÒ­þ€ˆR¬óNëŸo °ËÄ¡ˆäEÜôˆ(òwzaD5v?§à·!Éþ·D°=ÔÁõ"Äáˆ(Ùñ7xWýáFTèôÛˆuB¼.þÓ^A¾¿­ÿm®âBÀ.ˆ×ÂT„|'»ÿ”ƒ°8ÿŽAhwvu„ƒ--~‹ûÛøßü||ò}ãChý31bòþ$#ªqý}ñî¯× äèò§\ÄQî B¯Ç!ÔóüϦ\]âῆˆ5üÿzåÁ`Öì´#H"Ȧ*¨å²B–Úks„_·÷kÄ7Œg ”n_´ä$¯N "gd;&·"¯VˆöøKîêm ÈxmM—_¤EŠ“ÍÖ´ YY¬s¾#’ºÞƒ©»òo©µ·™ 8XZ“5èô»“™`#çt>ÙœÊÜQ’dnxwñrtŸ¥nŸy$:ò>…¨¨rP«lfë»Ç•²“m*Œ°¯2# 4Š;Wi=CüBk½s¥œ÷ «iÔ»»¸Njß2w¥S·?S©™&˜6>(PÜı|k zÉjë|_6ôPo‹ä)šrªÛFýA‚[u÷ðgšp-Žé’\ C­0ëºÏ²V$nÛÈ™?„wãÖ’& —ÜcØ5’è®3bB2‘Ÿ¤ÑO1Lu‘OÕX6©9^ zÛÆ@Û-;]ZÑÃZ<~æÛw¤Øœ&?@b‰Ý†r ã•ÅÍ<^L8É=šµmQšÊ‚÷€œ®¯{Wj7kDÀÈ7ªÚ•”‹"B©Dòq…KŒáÍ79NÝé›=» hÒÁ©AOÕ±†ùêåfÄ$Ï>®è­F×mXºC^Ø+û¼x‰W3gò »ÒÒ5¯ûû+ØzÖ>ŒFt媸ùãMfþkí­9:ý£<©’ïÅnÕß±¾ö0vÎ÷ïñn7‰m=ñž0ª=ä¹Ñ!žºÌ6joxÔàãå²-ϵñG`öæÇ‹I.¨Øfü‡ŽÊhˆÙ÷˜CÔÚ7b /¤´,<‡Q+Òt Ió sŸPéî¦ß•=TÊ{Ä0òý©èA›Ú؈[(d@7þâü¦ûdGê€Ï5r”,Qúëª {Ì‘E²ûGÒ‚»O|×Ñ3Ú˜å¹óø²»CËKaÉa6ïœéžî¸a° 8“]8¤Õ(‹šîÈVZO}ÒµZUÏ|¶FU7@S‰_z¹@~ts Àüþ}Ëo åt »Gdépr¡F›úZ’âÎìÂ,qóþZt¶pÆôÛOsûøêÏüÖRaWæX˜]ÝC>aNcšÎ9Q|Ä„Av=·¯7Ó,uq^?ŽjW“á]Jã{~D'Mîïb_d=©«NºÅÑ‘”g½*`Æ=å“~ +ò¦ŸV~°ðäxÝ#ãa»ÔRT³c½úÞè-Ê¡JÊ hïÞm:9÷ ±Ì—BJ•äZãŠö”ì‚ÞZw”º‹¶ã®FÅÌïxÙéöžÆUÛÀºBåswë|$·ÇÍŽ“Ùe1&Á[×þÊG-—Ø|±*™\£n¤ú»ƒžkLÑî,ïC,פµÎÕÊùÁƒt®Ô}„Íq?Š‹ïø^{èõ¡¨ÌIJ–R÷ßé}o ƒl_}ùbJßM;þ‡Á&‡»©ácWîG·ÑñÀ¦9û+M ™FRµÒ^[ÆL¨AsåÑ6Ù‡ªÇK»-Åßž…UOëã+ÈPŽñÓÙ5ðÍòùŸÛoÛB1Öëû ÚÒ«énqãYvÛ€:‰%•ÍËW6 ÷Û½;›èƒí²–{ʳ¹Äv¯¤—ÄŠÚäu—øM¢_3„BˆîmÕé4¼œrdÁ‹r7ɧŸ«`±”»oðf:ÁÃ^`º®¡@ìfóE©Ð&¾n»‡¬…|*¹Lñy‹sú>¦:ÕHíúÞFH•Ð/þ:öè]gÄ^¼ÈMžÌ‚w¤•PÚL‰œQÏè”p×ΘhZ~½k«l ¡i§ÕÏN 3TŒq@™kíÏ ûLóøRå¹’ÓÁ5Å _•0Éæ¼#~ Voú^èÊÖàÎÇÞfÀD~؃ÐÜ…d—X¨¾ï{ðû6f°CYÈüà½2šQèòIÝ«u"Ù–º‹MUŒ×É?pš¡'}ûlÕÍœÏx›O¿x&?‘õ×M;éî¡à¾ß²îêñí¨£·´p¡ZW;58PÙšgïÔ [uFkAµ¥ˆØþÕÚ:%Ùý;ÀìŘH–Z Ÿ§%éÞÍä²Ùë¶¹ñ‡çh&~ E’"3Ýø¨neý:—Š=[rÊUD*^Nþô$ëW!I¤C4g^ÓBýH' f…âÏŠ¹öâéÙC¢­„Þ¡véÛŽÏqžd× ÐOmDµiÖ4[ž}ê¡SÊ'5ËܧkªÖ>ÂÆ.Ö×UÓ y= È]9[¡4Ü6˜´1D¥åL*éJ­LCmI²p=ø¿Û šj6bmbzKÊú«Ä}0‡`Sm–ôVtµÒtû’)žaaþo 0iYÊ!7UнÇú¯ü«TÊî3~ðY:ôVzØNÑZ¾jc¨(´®OJÿ©äEÕ÷‹Â¥JÏ–N›Š·u\Ù ¬~o|P“֢䗨HÖ%ãüUV3òMèULã¶ôž›)$gûè—Ôé?ÈÓ‰% k:»ìêœãÙ7ª.V\ç ô¥`R¤JzûœÎX„P6˜TÚö-ÈU\÷ÈpàH—AȪ›ËfQbƒØòøõœ-:Ä"³ƒp™°o×ô˜ð¯DKáÏ w3¥D§6„ÂX•·­ŠÝý@š€¨g¾dv¦é騄}g75eÓÙ¤{ gO1ýª–)LaŽ$ñ¡s\Œ<1š÷57ñõåÏËßp+V¶ç—²)ÔX³ÏË´¥“s¬'Š)ö¡àßÓÅð¦-B÷¦D=‰öæ6:=„¶…A׃-…¿n¾Óú†k¶¬ZV-æÓÀ†s±cÌÓUöqk4œ¾|E@ÛI.@ÁÑŸ-[pi¼ór{§K‰îdN¬³UØé¸Ý²­8­CL¶œN-ö ¸4ô@MóPO\U¥Èò^ä½û.ƒ¾g¬]ăÉq®£bk±þQ¤bxL'ôJsÓÒï\œ¢Z«Ü¶…©‚P䬊ÖÏý°™''„>º!Yü6‘ãü|”’MX Ý€d‘±¢VÁ/«±â~5üNÿehyïýŽHÆ… P¾rO ø¨T½ÊÎ|õ~µi‹¾Ê¾ªÇaôì¶e~Q eKÊÉ=#%¥*Ø©8›g\¹ñÑDz‚Ñ䌄g&°,Z›¼/Œ½Þ n’!…úÜ(^µ«0rëCÉ×¶Í„ xÐ_²ÀNÝ­Ëò;®xÚyÚ/CW%«—…*¨EÖÌ]ÌŒ®‡y\Ç>´ŒIø’ñ8¡~Qê†uc1Élה͌ìžT6êÁ¶t¬)–‘Ä4ïÜ ô†ÓÀ£W¿ÄX„wVhqX™ ï)\ê-‡÷É\R2x_Üáª+è“Ô.H‹TŒ‹‘H峤rÐ:>ðÞ·›àlÃ]Ùÿ;~[q”ˆcäÓZYŠ»Û†(í ̲F¶CY 96¯GŸy«äŠ|nîUQì[—ãcâ‚Ö`ƒÀÃ;_•ûœ…1›I§òlÃíÄ"©’hßÑ^’\sk®Ì§oÛ†pöØË¹Ô”æiçY˜c‹fÔ*Õ–ÇBD3ä„¶q¤Æ{ä‚£îÓÜoÏäö{ÌŸ«v,à>êoìUÄŠi ¹Âã Ë/¾)÷Ž9{¾ÇÁ–ßµÐÁ0ªPtJâ_,ÝêDN>YO? ^¾ORÔøH(`ô6—u¿¤¨e‡Çÿ…ÂÌ×a‚Ú"ŠîÈÑøÏ³žQLoB¬¼‘ûgq­™‰µŒ¾Þî²}"sJ’@­SÃ;£æo<•úB/júŒ«•©‹7Ûr>X/¤W·È݇»ø˜ê4 íT°®,Æ>%sW©Go® _+ÊԄƧsë‡Äê>4œ¾é ~;õvØ%!»‹—ÍÙdU°|•©¥¢T êZ…FšTŒwöÙ·Ž| »Ê©øÛعJí‘Ù)œ3P“Õ²Ðg#šV(hŠN8>l2ú‹ha)“:F|É”ÀŠ ðÕ£ø#óê±Wó–ìe±’:9Hc„ú“K1&Ù<Ûè`æê§¬¤ cñÓÄvd2C-öåçã³´Ú÷ä¨ê’ó—hƒ±Åk>–s¨Ä9Œ€àH@µ¨äÊpp¢ßåÀK€:³8À~c6ñhm2\ë¤9 ÿe¶ëÖg0l¿ýU}ãIÔÁs“¦ñ¯‚¢Y¶÷¹[®C°äl0]¹Ï0}ÞðõÚˆ¼Øi°%~KäGL³L's³1¼ªŸÓ"«åŒ±”tNÆbóæ ÂbÔ"’‰o9óý ¡ÄŠZ(ß#±é·ž€¹1+&÷ýx™ƒ*âöÕ,p“;wlGuqZU¥ºvuÞ7¢™`à tÑ)¡Ø³ÝeäìBjõÊÁwÂ_Bð^ƒ0ôHiŠÊγ$·ZÔÇkGSmEJl*ÓjØé×ÜžÅ?J„pcŒfŒ|c±{ÆØ°»`B‡sKzƒë Ñ\å(Ëd{Â(žñꢖßÒ-üäë «²J ¤×ä»êIÁ³…o†ïÚšÚεY©tèmv“A°<¶MÌú2Üé³ñjÄ¡ Ù%3˜Á‡ÝŒúIÍÍ˵‚jFióæ)›Ì³Fš³ü/1 ¯¿<ÔýX)gEÁÿ­QM>â‰vyÿŽpj¸'AËC0…ÜHûØ7l@­1«IMØcÛ¶”4ÉÑW0Å]ÝFO›ÞÚ‡Üú™*“õÃñïfeõ,ŠžR2`Äiî\…bÖ½ª`îPáÊ$â4ú~¤Vx‹œK‘Øm€ŽÉ}ãþ^!SJôýþ¹³ÞÎûU­å9NXÒ9³º±†fç}ÝXÚ¿¶ÙÛŽå)&+ð$NÊzaÜ7“«ât ç ( Á²øÐJ_! ð^lüºã·!š’òš”Wª‡Xº9{LàÕ¶¿ƒä¼Q÷¡Óyð­È¸Qê¤äîÜ뢡7•Daa@ñhIѬք–“ÕkxææÞÌMÛ²«~uð­àçv Úk<œàt)&%¸¶Nù½àS/°¶ô"›v–ÛÙÿö¸kÔXn–锊»Es¤Ô“H¤—f¥œÈY„u9§ªÔÅtÂÕsÐû>;}?ằy227ݹâœÛ&ñG”޼¨Ê*ÂH®¢·òtÅ2~õmº:[èw‹3î•£ «}Ò£¸í•rB¿”5Ï‹kŒn°·Z–¤ØHv¬*…„UKPß&ÛÏÈ(•Š7‰¬rûŠYü|­”@ñ95uaÎ>ÔàÞƒ¨—iÕm#>gsêªQ–†ÞœÊij³úµâÌ~3.¿\W¦‡ÜlÝvvR.a)>‡ñ»¶,QK>>ñEF“{»ÀDs¢ÓÔÓ+£Ràš†ë=ñxêƒ^I ©&?q]™Ùæ£Ú¯¶GWÄ4ýÂEޤˆ4€‰ÏHÑêäá¥NaØ—õªÈ&}-„4ÑZXú0™ƒZ8ù,õ!ä$A„ö‹•W¯„f’¦­eŽ5’¥ø!Ù¼îKIƒ×Æx¯i?¾¯Ì¦¢ºï{RH¢tÍvI³‹žøTøåLdR¤…^DÉUÂ>(,Œ5aÈB¶»x4N‡’wÛ•„C+#Ô4„Öµš›Ød)RA§(—J-<ÂSG»+Â(BfPˆ Ò|#":XÛµžþlÝ…Îl'f£m~)]TB” t˜ü•OºKC£Ý&ñÇ´c"Žìðð@¢t£Sùž[Žˆ{>YàÅl4]v«ª³q̃7÷¼,X”HH¦vHE^S=óºÂ@Ùþ*jø=:4¥)G+Rfé­ÖVL¼—ÖÚAª#ÎîLýî4-7«^ß®1=•Fä®'7oÅVz*•[ëö¨ÛQÖǸ-­£±4{!%2*Ћ¨“C¥kFÊiz« êm{&<©HE«¾§³òéÞŠ;¯ÀBÉN[-'òò´éTc^}ëö 䚇Œ#Ü´4Û=ÒTÓF®ÐNœ§;yJ¡ÑYÛZ¤ñyØ9º¡Ùj Š×‚L€%³®DµA2ïú'1ÝžÖè”ðæ]Äõtž‘uò¢˜•ålÉ2¤Ðù¿|R-~ØdB6Œ6lÎÄÜi ¸–9#©ÞñޱÇ;F ¹ºo˜9¤0öNHŒåŒ+êU“ê·f¿/8}:œÝMZ^R«K }yŽ»Cƃô¨ÇùadæjKdµè;_/iÊ9_2ÂÞÇË•µ±ÝÊmût%%d¬ðsã2ùu3ä» h]øÄÂÍv-ªs7Ǩ…º ¿VkR>ê3J9Êÿ,ðš¹®Qž°gAwþ4h1:ä³ó¾ò š'wªŒtUàáY•vt×V˜[]ªúN™(Iu•wµB¥Û æ1Ãö–¶&‰ÀãLšS’¹à”J¢œÔtr—AN ºçcª`x®Óë)üö­Pí4ß䫃 Ì‡ÙæÒKZ ­æqÒ¢CÐïJÕН"’­lÀÏŽ¯¢¹Æ1eº¥]IwàìI—“°Ò<—xª¶òçér#¹“Úh:ýÙ-,ÙZlD4ë*³y5ô“¡¥÷ü®ox72 ªò<$µ#l*R HFâû΋.®¿À÷Ã>­Kp&Öý>^=f9ëuæ{º^ÞÝi¼!§aÚ逦;+½K2SôÉòW¥1zû9¢;\q™9º…¤Î…GþKÏè8ñÜê4©€tôQÒK MÓï/Ç ¾È~¯šš“ä¾údŸØR}jFÌÝÏêw;î&,ašGƾóLدD³¥¢!ëq諭Pê «ŠgØNõõJ,.1 K2Í¿ëKAÎ(E¢+TolÃ/›Ò‘ëI²‹˜6}÷–Ž¥¼f”ÈzîÄb…[?šù¬s˜–«qFÿÆ¡ù²&’=‘'ùT«ÖÆ4*üÉ|–‚¶ÿïÇë~ÇÏ3—8Ì|\@R²ä"s¸F‰’Ж;±¨j]Ò­E*ùûÜÔ‘š2 ¦ô1ÎyíHº#lzöuB”¡Ü~?ÜwÃÂ¥OnätÄóTÓëý(‡ÎÞ>“ñ™) $Æç4³3Xó›Îì~ ?ó]ö‚m"½ W•wôuÞØ}v8Øb.Ї{ |øâ(ìÇw Òb÷ùñç«å-ÖP“9÷½XŒ÷¾ŒÖ –‘ó¡-.…¾VTÏa¦Æ ÂÄ3xË*«ûŸ V|æÃ ojÕX5hj–‹9u‚Z9mèV§˜ûØßkC(UÝx·R‹›Çµï‰ l#É‚ØyyR_§¿®WdšG%ªvdÿÐXiV/·9¤`µÒUÇŒáñ|;g{m7^s?ƒ†ç÷tq—\ž°ð¶]Æ1â˜[¸Ù½¢F7·uÖÝÐcYX¸û<70r¿À£Kf³q{ÚFš‘>6tBðF}€EìyCC·¤d«¦¨3áâ|¤?D435p·¡'GS×¥(ÿÓ[ýhKÞİhô žM¡'JšAr'_?5ˆŒ© Ç5|Ì` ')?¨å¬RÙ-6¶WO'å½|ôZ°\H­¤${ÀJPî̶ãϵð¶L¯Ò}œÖz˜zŸG„#4o'‚¹©UóÌaG Åo‘t«-i§![¸ÿÜ‘`.Ï·ój–Uà.ÒàrâAI¸ô¹·2a×í.ËÒw·¾g¾³Ð|2ÌhiC€Õ­áð’þ2Vˆ‚&ö…=+^†…õ°Ã(ÆB~óqsÖëÆ¡žÝ!át´ôx_ ‚¤ê± ±7J1屦®éºÕ,¯ƒãtX«l.Ø7ú i`)è‰fY­ŸÒŠÊN ^ßK6•¸.²+pÝb¯˜œé— {PéEäš./KVŸ×ñ–û½ÖdžÈòÂB™òáÛjS:çÏŸP’%P6«É˜DÓt@†÷EæKqü¼•DÝ8 ³Øúû”•5t lû8vÃÆ›`œÊµ§sÃÜ´U$Ü •|ã $4SµÇk¹ÏŒ&Z„ú·›?eDÏÏÓ1θ×óŒÓ†|â¢VUÔ€9«ßy-›á/ ¦›žŸ‹!³®|ÊB)cz“]†S ôx­¼å\'4'î&¯C¥û »Í=˜’šlïõ…„ Ñ<» •mÎ xϨ(§D K¥­tŽ;ØìeX fQÛúJȬŒuÅ©| §ÌX0yˆ$ÎІyâTkÒ‹þÎLGGû0¿§$i£Îõ“ ¢0>§ò iÓ oõÞ3š#†ÌOẖH‹P©"ú¹3höÍÎk+ã¹`%ù?· ²Ïœú^†à ?VÜû˜lÒ&/‚ahŽÚ?K籜xGçÔíóíÊYm òðGšûõš[^”ЖŸa ‹ Ñ¦SÄ•1æîxlŒ‡e×ýèjzÆ`ìŠî9ñ,Ø@‚“¢þ‡h,}~™¶žÔÓ›ó(ÀÊ­lî]yÃ>´dÈ PØEÊ~±…=Ï›+`?ð çÏ79ö±6…Ⱦ\\Üókâ¹D«Ó­ƒçº"5NÉ“etçs•Ñš*©ØÒuLާAU¿fOßâ%T†½8Êò¬($H¡¥»€2QÆTpß6‘> ô¢SZ›ÖرlᾪÞ´T´ÃRƒK 3/Ø ÊϬBqßÕï‹ç+ÍÞƧhX˜3hù ÷×îEr¾&Ì=âZĘβéE/=¸zÀŶŸ«“+º2ÂfHJÅÝžX|›ôát¢9|µUß'#¢Ž>[»ÞÞ§²kÆí"Ùýĺ!W‡ÏôTÉmÐç6ü^4dV¢5h•;§C§q {5ºu®\|Å0¼Ë%<*Ò½ÂPã®êÑxDû,»‚ýò†xÕ¡êf¦¦5š$g+¼à„ðÿ9ÝÅ endstream endobj 568 0 obj << /Length1 2196 /Length2 12738 /Length3 0 /Length 14046 /Filter /FlateDecode >> stream xÚ·p‹.ÜØjìÛ¶mÛY±íÆhؤI£6nlÛ¶m[u³qöî9ÿ?s﬙¬õ¼~^|ß„ŒHQ…NÈÔÞ(noçBÇDÏÈ ‘SÓä02²Ð322Ã’‘©ZºØÿ#‡%S:9[ÚÛqÿf!â4ry—‰¹¼ÊÙÛ¤]mL,&vn&nFF3##× í¸¢Fn–¦9z€´½Ð–LÄÞÁÓÉÒÜÂå=Ï~(M¨L\\´º„lN–&Fv9#  í{F#€Š½‰%ÐÅó¿BPòZ¸¸8p30¸»»ÓÙ:ÓÛ;™óSÑÜ-],Ê@g “Ððe€¼‘-ðojô°dU Kç¿*öf.îFN@À»ÀÆÒhçüîâjg t¼g¨HÉ€vËþe@ ø»9&z¦ÂýíýG K»?LLìmŒì<-íÌf–6@€‚¸,½‹‡ -ÀÈÎôC#gûw#7#K#ãwƒ?K7ˆ )ŒÞþÍÏÙÄÉÒÁÅ™ÞÙÒæŽ „yo³˜©ˆ½­-ÐÎÅöúD-€&ï}÷dø{¸ÖvöîvÞÿAf–v¦fÐ0uu`P³³ttJ‰þmó.‚ýWft°122r2³€Ž ‡‰Ã T=€*™þ¿sðõv°w˜½ÓúZšß¿`½Ü€'W ¯÷ïŠÿF°LLSK€1ÐÜÒößèïb Ù_ø}þN–Æ÷õc0þñùç—Þû†™ÚÛÙxþkþçˆä•„UTiþ¦üRXØÞàMÇÌ cfa°±2عX¾ÿæŸü‡üŸRE#Ë¿‹cü7 ”™=€ë/ïÍû·¿ƒòï«¡üwyû÷u(ÿÝ~]F6F“÷?LÿÏ7ð§Ëÿßêÿåÿºýÿ[‘¸«ÍŸzÊ¿ þ?z#[KÏ¿-Þ×ÙÕåý4äìßÄîM5€ݳÐÔÒÕöµR.Fï'"dgnóO#-Å-=€¦Š–.&mÑæðÞÆÒ¨hïlùÇ@ÇÄÈø?º÷£3±~ª8¿OëOðý¦þ;¥˜‰½éÇÇÌÆ0rr2ò„e|ß0f66€7Óû•š=þ\n½½Ë» àž/ÀÌÞ ö™²³„ÿý‰8Y *ÿ"Vƒê¿ˆÀ ñ/â0hþƒ¸ÞuFÿ f¶wäädïþ×ôÿ1zw1þ11¿G76rúMðžÜØÉÈh4sùMÌö·ø¢1ý%¶ºü—=Ë?òÿqà0˜üƒØÞ‹1±·yoû$¬¬HlmÿåñÇ<Lÿ,ï­2µ·±ù½æ÷SeþôÝø_IÙÿÐ;º¾/ö¿.̳ßà{½æ¿Á÷*,~ƒïä-ƒï}¶þ ¾“ø7òÀÈÖØôwïœmÿeøÌÖÒÎÕù_¦w†v¿Á÷ríÿµ÷~§ý¦~/Ýá_õ»¯ÃûkÅî¿úÏÊô·ô¿»ÏúÞ‡÷ÚÿÖÏwªŽ®ö.@SãßÚÃô.ý­ÁLï5ÿ[/ë;g#çß:Äôøß4ïgÂàânÿ›úÝÃõßxöç‹ÏÙÄÞéwbïLÝ[¹÷(¿ÁwÚ^Âÿ:=W§wš.>ßïò?øÏ— è4]œ³7á ¶ª n¹¯Âu§Ûã›&ÛÕH¦¢ó^tju}D„J¤*O\wºJìB^Ù£¼\"|ñ>n¬ kJPj~òy6ø¢<¹Û »0Ñ7ž{,TÝ‹ƒG§*¸çóâè£` ÖÒ.M–éèʉ¨˜zïÞ#áQÝ[´<:·«´WÎ.÷\4E­¥?C–eü}‹Ò…šúã…ÒÌÍíôÇŒñ7Bé/4°¾'Ñ,yÞÚÌ1³^«%ªÌÎؤØÚXø`7G&ɽ…’¤1ç½ó@& lØÆ<îN “y£sƒg•_ó¨wð Ó‘=új²tC¿–ƒ¦‰´Öb»~x¡(ïŽKy(A&À‘<$Ó}Z8‘ˆIs@Nu&Ä}ý¼O­Œ™`^f7÷C•€"è³lêyïÊ1‘ ¶)oK¥GÆ—F+VḆ–T¿à =®¤í[‘~°ºÁh+»¬—³bŽ<ûÒ›”âDZÄ8ÇqÒ"3ùª4Û ËzÄlT„|õþRÍngü×6„zÙúÅÅ6]tSvŠeĨH©òjìI¥T‹lFWßÜ¡v³A+¤r‘WžÝ”¤å“&‚›ë· &:¬!‚œF%û¦˜ùâ8*´*!tl±”¾'œCårÀqiMú½dÛBûñ \¯2®š †/‰ýj6“VšSò½<æ×•ž|‹­„gà ‹^Ôyü[{ļÈY Þ¬¡y…-ìÛ—)Ω0Å4Ö&¢Ûo—¨,ÅNo‡ÄFß>]Lä¬Fh‚üª²:†Œ¼ån6Ò €¨yAè‹FŠ:[ÈÀEéK¾%äŽs߈?·MZø8j<Á´v#!úÍ ‚…׎0Yí;”:wQCú4?¿ªH·p)ùvÛf`”/X¯\oX‹ÏþÉhzb;;V#¿ …’Ô­dPò#I*WnaNž+S•⩆ë½Ü¯Gûú™cññ)«—Ô›¬¹_V°"m8`ÇBüðY(´+¿Á§yË(OÀ’5ÉÇ,ÝÅà5ÿ,-Ì@ÀéEM8Ò 3,”=¬o¢ïÙQ}¥ÇáJ¼ÄU½ûÓÒ’®×ÒÚx8ÿ>Ó×7„^‹#žV#=ìÔÓÔq©¥p%„Y¥›xЉð²ªѶ›³°ñÜ®sßfá÷¼Lä¸#‘Æ^$îk/! éu” ¿œy~Ý9콃6(Â×ér³Ê!\Oz†Á[ûäx‰!2±ÿÌß3Q üV¹‡”¢êRé‡}Iím¬NÆ6ÂÉ»›Ìdó•ê 8Ïo6Ô¸ÛIÄ­þÓÞHa#“ÉGøG¡…,‘~gâ6Ø„©j¡ŠA¢ àTÿò¸ËºTªÛ’$rùG˜“©´GÝo°Ñy·3YšGòG‚ÒpÈ·¦…[(TÌÊú©å”€½lªødid§ò¯~hgp±Ly³^\e!t¬z—¯r1ûüÇs¹x´á)mã±Dó ç†Â:Ê>3jY‹î -„ÔgA²°÷%x™Ç$Uõá©Z‰ )¬e}©âoàçºVݽŸý:ƒýyᨠ®Ί˅·ššÄ3T”Üó ƒwbÛP\í8»2=AÈO^úÕ;žË*JàHtj¤Òoý=ϱkÌ™ßrdz’‡‘×!ïÏìEA¯P_i.aÛÛ'À”?|åW›i}+㡃¼îÆ64&ŒÃ‚O¹y[7÷ޱ( »(eîç:PÛê†ÊÌFê:rä¼|LN˜eÆŒŸ«KÕ€ì.^bƒÑ5!éÿLý“€á Â*¿ªÅˆ¾ƒ%üMx³°öÍv¥<FõG]ï©æ#Ó„'rŒ@¢Á¯¯ ø¼¬úê˜f MRR ÒÅ¥óa÷2X·¤¬(#8î¹Ê3µ½@â—È\†ˆ™ÇZÉõÆ=-#„(þÓÅ¥P~-vèKÄÊ“JÚ—‘k†Ì“˜E¨°W8¢U¨þß‘|µ›JH¡M^”mçH¡@gÄi‡D¥#Ó‡])/ÐÓoRßdo§Ò…qÜ®jF‘Òª)3ZÑÞ8é¹u ÖÂ~ÍÏ7è ˆ””ÄøD[P&2Óy-œTä¯}œgm‹ÑþôMÞÙrèÏP §š‹â„{lOûfCJ[ñ×ìr¨TÊ!çê ? áÐÕ~}®ª=»G_—Ž’I˜7 ­ÏصôÉmQQ[ä1(æÓo(1Ö&”XÛ}!_ášM#‚<¹-ki³JüIcw-1Ûï\­éöDÚ±¶@?UÄ,pç‘mIõf<Ÿ]xŸ)—2Ïké=XÎM>Rªj·"cdïvöâ)Ö.ŠæPíÿ¥ÉG¹´'ŽHÉKùÙlęŠñ XP/Ø^uóÑ¢O ‚¥/‰Ÿ;¬s«íxcš€y)×á³"¼Ö„i¬ÒÎ\E]öO 8FÓ2/ß»ò+©l6)ü(V1<ÊäÖeΧ›Dת ˆÍBXÓÇUï¿\ãNoZ_Ù«ËÑ?§¡‘1“Ê2¬!ýìÁ ؘüîxÜû¸kq›ªµ ‰%ž/5hª‚%†}ã¡ÔÔ02²Ÿª…šÄ¹F‹‰…²ÃèÚàŽ¾¹zè» éÝ3ê¤'¬q¦X.°ÿHbV—x‰m{„Díu{ªXÉ,ýÎ ±ÈCÏ^eÕàÿa°;ãÕaeRy1X¬{E\³Í#¿ÎæGží¥l$…ÒÉš¿Wö”ñsÖƒº}õϪÞF¾bÄ1Z‰”ƒŒFEš`ŸÁѰY¡>εTþ¸à3òH¨XN…œ]QÅ[WC~ÌD¤ûß®*<*Æ^^>$Ts~B¼þU¤KÛ>×]´V†Ž9LbÑÃÇìýrqª;Î æ°šNŸÆ¥¹5Ý©´Xš hø0†‹Óe]£m˜\KÍA€7Ôˆ¥ºY¡%[{ÛQÚµoõ“'6ëNÇ×-Îc¬ªˆÇ®ª6z;îé$£¾ºé¾—% ¼5w•?'ëÚk{a-\໬wó숾Àå<.¼ŽÇÀL "ó‚~ÎÌ)êÛ°é@R¸`¶è  î‹ùLžž3Ó_5zVÞZ œÑÈÏ‚ Gb²ÅëxWßè…!:ȫ̌Ͷz1^9¼²È§éÍÖŽšÃ}(ˆ­C˜ðQHÏ( lyÔZ.–G,ê-Èo`a„àÔ¾LRS|6êÚ}FBT™”`~ò¿\æc.Ê$-Îć>¾YÝK—ÆIyÆåÃ:a›-dìfò< Ó1q4æŽdM»ÊíÿeÙ1g°ÒÞ¦o¬}É3ªø,ðs»YŠq7l¬a«0Í• L•©àöX6Ë—å'ª;jBÜên!4Ô(œ3øNž›îûÿqˆgÕÞÄt°Á.3¼<ÅW»ØŸf~ÝLãyHFÝ> Ã_2ñ8m·!‹M*ØmÀI>§t)Áæ4ô¨m©nWÞ¹r“õ·')ÉúÅùÚ/Û¡eæXó2†¬ö|i`ÖUSh‹ª´&ªÍAI¢P7™MöT‡¼¡h¯¹4`í“ô­ôqß©dµ0Û¶ðÖÆUÅb=×ügÍælGÁû¶ín?U;rÙôVt" LMS9]Ÿì§*ΞêL5~à !¡ÿm;WvaT~ÖÚ&ÝÛšçFsµÎ º° —Ž-@|–?ß4[Õ÷ÑwZ€Ç`©åÇã”ðqʳ£ä}ù´³IÂ’­¦"H¯GsðiTÓ ‡û?§1˜“ÕåeË:êøÃô†¤¬›£Á?Û[z.>ý*çúbC/R[P‚°@[p-ÚÉË7ä±è§®/I85^ÀýŽYn%@%Ã:pÕ»è·r›÷ìi c/9›<^ F¼#ƃŽÏ…Å'¢¦å}Åܶþ–ƒ±¡ì®ÈÃ1™)ÏØîŸ5|{-ë{„|ð =5`5?†Trчœ[£µó£œÁ7°ßî@ø ãÐÔñÍF¬ó>Ê1Ç^¦pPÞÚ!²` DPœèâÓòOFЍ24•|5¹¬sÕíà=‚ß=”·‘¿®Z”ŠaôÒd÷©)E{=˜ cŽË˜:÷ŽB…!8—F[ˆàcOžf_ý™1Dn` äþ E…EßœŠoa|°ISpF)†ü°7F²´êtàð¢¼Õ^±³8ß'ÊÉHÇî鬒SK¼SÐÆ¢om=@,¤ôU-[9=£–|BÉat´ª6*^oø¹í) a6¯å.ì`Æ!Í”ŽxûëæúM´Š:Žó §ùš…æðGÞ HPxû  *® õ;‚‹ŸöƒRõG8´*º¦ýX Ï¯°Î–z2†‘–RRH#WبçëK*:,™HÌ~ÌÕÈ)Y4.+ÕL‰3ì*Ð jØå›%ûê¸w?¥â”b.,KÛ Û<¶±H™º5òîšU&¬[ò¾ åöÖWhÊB*SŠDy#ü˜JBxÐæ÷£Væ\-òdd©ñêÀlåg°†Šgå”ò…>­Ä›£&€?PÛˆåG£ó4ïnNÄ;Ñó ˆÅÈw_°‡­4+ ³øñ4*ò;£²ì»À)P© sP}'P^ ôv=)šícæä dWÅqÈOfF£iиeœÂ*žùº&¡…ùˆ_„"¹ –ü9¡À„öi€ÝF¹â¾÷¿ÆªM·|t:®s=<~†¥Ý°‡‚sìàÉù’ãü¤à~*§ùàNúyæK¶ñ­+o|®™Ûì܆'¤òÉÚob3,ÒJÊŸ+‡Âðx³$#Úe1¦ gÈIm<îÁ#[¿>Ë[02`¶«¾´ÝÁÜ‘!ÒÓ‰¦ž˜¢u+˜T¥àÌôÕ¶D[JQË©ù µ*›Ü„¢EsΟץó.>›¥9¤#»×2 dŠé q ºGé‰êT¢õµû×Ö6+Ûà 2ùZ•Awlêj$1Ðç*‚ˆ‚ôˆJ`âMÕ-4t¼ ƒGC츂èùÏ¥ôS?ç;.ч©#[Óðó i|º­U.P*¤îGºêhÉþ¦˜3 ´âN¾·w¢rÝ )W²måÈCä…ŽÓöÜsÕõ‡³_ðЇzx¸Ê*m„ jXa@ïIÂh ~4B;ºÂX'‰ó~²DÁ&F¨Š~û%úq·pèQA™$ß³$ƒqÔ‰Ša“3_ iÞža~ƒ(½nFd@U‰ó4M:õpÚl™ËØáGYC*5ë¹½Ó±¤hÕiJñ¶~¼½W¥5p%šáð„„ ¿hro1~D66/=yÆ$Ý·†Žyfýëkÿ| ¨Õõè¨>Q©UF™E)jNN%©WÕërZË©Wuàç4"Иëì–£·nuP»ùº#G°1qV~=²º,5Þ=æ2ì) š«'cG+R°ÒpBmíŽ2NÇ\6§´(Êø¾0…GwúŸ6ê²7øˆõÎrÐ+É'àYŽ˜E8(»”·ì« ƒB§™z&»ˆ×®Ÿa’a €ˆjÕÓfN1ˆHí+;q_’M6Óô±Qs™%E?ލówâ^¡ªÒÄ'*1/R%¬E2.>& ˆí<Ž|©úv—íBtg>ºcEJeFSæ“…‹"µfh£ §#”~9S+BÀ™Ä.lÆ®©^& ¨JéZqiX r Jk¬@¢YìùqÊ%OŠ–©'f)‰G°…}mæ~â[ëzÙ£Á)¿ñ(98+¤ ?Oïå ;œ¾êå&T¹j eÇéÑàª.¯Ÿm°Yk€8-òÔC Ö¨Q”Š´#9¶?A@Óh¯E>&VrA®v·AP=奃&>ƒz3€}òŠƒyð=n@ë–®À@Na/Ë Ç(Ó1 ž¥U䆛ÁàÃ$Ô/áqV'¢á®Ã@w×\ Z}¢¶Öw=å›KIýI°ÐŸyÑ{rƒ‘óQäÝ„Eཨêè‹‚°s‚_{ò•Aœ(KKÎeaÝ %—žoßÒ- Ù·º k׬æ.%\ð§&. 3.c9 ¶5reäÄý0U„Ð|ªú(Œµå"íF`Àü-»óKPc5+Ѐ0&ƒ,µs²o½ÿÚ¾‡«K¸50 uËœPrÊ‹ˆ“-ÄBFÏû…±2…s¼è~^X“³‰-^6÷˜;Ü =Ô£õÙü ·ü«ÕÜuÜ9YïFï4ðN„çÆý Écj‰NO=Î͉ƒ£³¼½\¼Ì—¾fÃ9¥·Öb7B¬zb‹sÎ¥ÕÅóòhx%·`2Q~œ$hôQ±ËÝObµ¯}y?2æÑ'~>åèõ…3b²uÙÝó÷÷ (õ`UÀåÒ†sSOq`ÌÍA°hhyë„&(³JEB—ÁGfç¯*S*(?NåÕ Üâcrœ•¾èƒmã)ê)â|SÞ,5*ÿÈVäJ§q‚³9ôr?€ëh¤Äþv~“ÿÝxpo— ó âž„DТiiá {°.ä3+‚³8×Ü·CíÀ+ü¹º\vzÇ€D•Y¯ÏŒ ÀQäº÷ú't”O\[ )È¡V¡Ð×=£ø(´*´>ÀÉL_ðßáC¨f!zøÇÍC½+Z/2Wd;$«(1R¿£–W–”GÖU9¾°gÿaÁ±m²H„Öø”µ¯qXÓ¨ò´Ìß´ö[¹T\§¨c>0:Êá7;*ƒÌÝ,T_¸Ãt\Üôß.û¯g-*Uì8ÓǪBÆOÐ|TaŽ…qµ’¬0«ãjHBcÏ„~Í®‹3'@ϯdÕ¿eй4cm‚Ïñ>Œ.©6'(LJoSfØ3Q¹p-¯?íÖÚèð(Œç©NS^â6óF®h ÜñàéÁ¹LÙ§ÖšvG‘ÈÙIÒžwHiwÛ¬LuÉU^Õ&ŒëC[xÍ”ª!TWë©KO¶¥œ%V'‘ ·—B$ðXáØï]ÚL”Êîž\›DnØK«ÚÊÉòk3g©E"¶²š½¾õƒ>kóݽŸ|>LÇ¡4~š˜°ªæ¥Þ Çìo䩜âa¸¡4†Pq~ïwÝå5µÁý‚šÕŸhö‰ƒÈm9b¦( é,g„%ϯQãÊk'ì~Ìò ò”uÉ-ϳ´¨´ÀÕÑîÍÕõŒ¡d{bfÙf²¬Bý-©|  Üç¾Úêµ5g‹$®_ö´‹ZG0¼3•Â…€©_œNùÙ¢JÈÞši¡;ÓMš!&V´hz¨¯7å,æíWd óH…~Yõ\**·—$k •Á‡ÜÜۖı.ìeˆqåT½ ’#ŽÂf(×O çÆ®¬W™9ÚÈÁ+Þ2a 1Mç±ä$Z~š}²Ò4VtèK:[T’55&9×S5“§` ³KJhéš;ëä°øÅ«-œ°ö>!y\è;4BXü²HßUb[ƒ {!©•œŽÇáã†R@É›žâBØÑ#>ï_ø²ì¯Ž×óý‘'°Õ¥Võ„ìcù{ôœýPu‹G>rô†¶äÀÃ’±‚.Ö¦[h¢'ükÒ£_ìd¦SX'H`ˆP#;oRÝþ†?ÔE àjU ¹–ÄêL/$?t ´“ʸѹS8iŽíÛ`‘+ܽ°_%gÅQ•Pï6û@Ä×î$?X:‰ú£ ôE~µeƒùûŠžTIv7gÙÛ ×–ß%þ`Î͵k7«Å¹3 ð"QA “·\£ al†Påb4ú\ñ‰ÆQή[G96µ.!¶i£u¼~"dìJŸPø -¦ëu±Àe1^í@ÓåùåÃ=?q)Éf‘÷íªÀÂ+Ûµ~ÝcVÁn?>ÄUºcíó`ãh[˜ ~= áì¸WáÃßHÆÀÁÒëj_äŒA—1Mø¼I^æ'ø1 ¡7RäF Çò”,àN(°žÅDû ÎÛ¦ÕÄÊwƒ»îÑðB·5I±y=Üm¤ý:µuw|½4ß‘fdjK³×ZèqQõnú{TräøWÜtÍ•@Y~q«{¹é1 ;X¾ôºøþ6~!…7<7RJgÕ°B+›ñe´£i‹–%Õ·P‹çC#b™x pnY„±SŒUST¾<”4÷£Q,é2Rqµ]goôŽœM#êjäš7vh!Ojï4±°30a“‰ç„"äÎã\PJ‘+ EÌøÏ¡ 'ลGÙ=éõ72µkªÙU<-¿„ä±û¸Î÷‚ÃcIºýg׉LÇ.a“b&ùùlKSÆ~1÷$Þh´†ŽÙ>Þ6£l£¿é©ÓSq'±' ý! Uiky·z“=ó$‰IÏÖ,ö*‡b›ÅUW’Eia+©Ù”K"òø)‘7~‘|C€ÿ‰Í-ü¡lbÿè+$ò*N€öØL9M™àÅ’gL8}¨;£@ü‘±:Lôø\ò˜Yò’²Ü±â" W0Ã&ûÊ ç:³°’O]z‚76¥R1B‚rï…kÈ¢üG:¥ªÒœ£ÝiO¦{Ÿ·#Ìü– ±0GÔY±š"o9$¬¢¨Zœ,¨VŽ{ˆgìŠ}Àw( ø–`ÇL>õW§¥¬Å5Ä;³Ž¡¨¢ïÅÖ1 <ÓÊ#»YPßo¢š?;pšÛà¸Â±JGIêO² KLžhÌûy^Ü|Z((^ËÕ‡;â)†ÿº‰®”×P“üÁ“‚µ¢ÞY•¡ët@‡ *¿&«aµ#±w¯þ˜Å.ãÆR‘fÍ¿Öw«|:-ó(v“ÞÌ:‡‡ÕØCTSÀ";EžþÅjèêêð”-÷dTÄÀI”<ãé˜%»ÖÓ=!¹žÄáÍ»X=DEèÜY™ŸQ•_c.±50"‰¨³÷0¹Dë*¨å ›v¨Ò°ÎĽjýÃäA­ï&q3âÌ_F†¸p$áÌ"i¯žNýÏÝE¶‰?*ãef°cñLîÑíµ¾A]¢’bQ IÔNƒ#®&§·À‹K`¢µ6ÒñAiÄW“¾&úÈèæmüPßt»ƒ]å¬þDÜJ™Ø¯¤^¾æEÄ6RªERE7‚XóŽM(;Ù˜p·Wœî‚QMèRö\#«…o3a ISz€Étâ’$^Í&È•RÉikv¥—¼•BñÉŠÊõ8Xwî¦Êê‹b{Àª¾JMòL·P®|KJÀJuse´ée½ŸIœÉ,Yf©ÅJ~Æð-# ‘,.M$ðš[è“é°“[¾ãÃÒJóxïrw§^¬¨ 3Q¤ãšéR&eü$ìllËÀ´¸;RÇ6V…Qþ"¡£ ÿƒí†â«ÑI‚œß}  £#)Ðíüj‡ñœ7M“{ƇVƒòøábqªDKA$‘ÄVØL ˆf0Å£z9þã1Â~fÑÁñÂ{?./§Úqµtãì¯êôV‰/¢0Á!23 ŽÐ16š”¶«©(¢!¾Lœ4“‰ûˆ{4n­)[ø¹ÝÉ= ‰Š08@!|† Ô€ò ösT'(É6î“zÎ×t¸¾™`ýpŸ˜±±äfòm *O#Q;<ãsÖrÑ;‚ýÒé¹~©¡Áonc#?xn›Vµ&®ÄÝò,€/…ÎinUû,ùB¡N"|Msë5n×NCfµ|)o\l W6P–.ÍTÖ;t"ê&¦\æÓ˜&lÝ·}ó¢–—rªñï¹ÕÉI„¬8æ&ç<¸ó×!…_¹ïŽ­;?>&C”\uÔÐ×ö´¨éî12­[jTî|*p|šãýµ¸þÌŠ¦È°ð1&´ý)èð›àDà4Ë×!¾ýêR+IÖb¢ÇxìKboÒÅt‡Uô”´ÇZ̬ûÒE¶ô¥”1¶M»ݨõg}ÏÎ2ݦÎ=:BkAáÌli,…‚™ï!µs‰£{I´jŒ@<'b_Ôû65s+n¸€[ß“fÙ­¦Å‡ÏœæëÔÒ{IsŒå=mmî5vÞý¥V´Á”’Åê/tP'm×8ÜÏ<>×?À@¦ÀºŽN°QUíÍ%-:¾¦¥Uå7÷Ô<’áÿbÓÁ¯üà=Î7ë+5Ü\C,TFÙLgL’yy»Èf&,<Ž (‡7%ç@vRË´é9 —ôºÂÅá;×<>ÊÏ+êù:JÌ©¼º°—hüí&×XÂ{rLCX¬²ÞzI–®Z°›÷ø˜…J%£þ~˜¤ÛNÿAÑ£| ¯Œ¯°ÿgÙÙa…Ï.|F÷§õ &ð—ðÕ‡æE»È³ÍåV]ʹ{Þ½òñ|ï{–±*€&òÝY ]iÃYµñRR È”åÇœÅiê¡÷Aè:k_Þ $üüÔáú ™L€”«ªŠ< Ú‡ßûäÌÛf Œ˜Ë{ž!<Ž};êA ›çz°8C„cÓ}U­Ë,T”>æów&‚„n,»ÕPk~(t‰µÆlj›Ucµœy3çÏÔûJÏ&žz¹²çô¬‡¤ì‚KO3b«n[1=4 …–-$Ëa«7év/eþF\ y¬ÇÊ€G‹fŸM–õ™o@.to¥1T½¿`–‰éúˆA0*ÌEþ##™ñ½Þ Yõ’ž¢RG­-û¹ÉŠöµ+GÔ Át§œ\xϺçGDNèǦ{Ó=±’¢«^ ýP¢ -ºrm‰šoc2ôjR‰®NÉÉÆE›N}iÉ/ÌÁТeœ‘]›™"øCßB£¿ËÕÖ†VÉòmJ&KÆèKkdƦuËg²¯nSeBx€ ¬^‚:‘l} ¸Éhê±!»Ëi s¾ßjv ʼ¡ßÙYŸ=TËš³b.uê1h˜µñÙš­'1VÛ—ØÛþÙÇ¢\BµJu*%àå#ï, *~Qq¿Û¯òÆXK©PÌ—'Š/ tÉt(úÜÄúsÏuÒø±7pµÚO†€”­qÚçLáxŠ¢;©¥ÖâîW'/ñÑd• ñ­…ñº”kBÀH¸¯E´ñº‡;ñËyyWT =vo÷]Ô1ˆ[§dh£'É–ð@s|xb†—D[v\pe`ûÇ'ï×,ñ< „%lg‹‘þ™ž¯"prëý9s>­)4ÆÀ±çë»iƒàa6ˆÅ'@ Ë8ñ›9·ÂYSü ~À†Gªx!sÌ9Û_VÝÕ…I»ë7o×BÚ¯u©Ê&tnûÝýÖÚðk¿8ü׉ÿì;í6]µOàõ9€¡€ÖêÐe{}6¯…ù”)ݤå~„µ© Ö^ª"¡"ðʤ»ª ¬iÚé?£‰IMsî¬]uàNf)±j¢Ù®>žø™½>å ÛÛ“ê—CÝÚ ­]³bt…îŠ o bÏvËctÙúñÅ®TPÄ0hOø¾-) 9û'á'B%–nK«óÛ3‘†““£;ÐóN+?Ã7ßïj&Ë`9 1UÕä«›º«?¬3›hT¢*¹öñÜÌ…µÙ’¹Ä`œô3®]-8]/ä/­aKç ®ã÷‹0jìšTPøPîÐŽ~y[‚7€RcÈF&}­çÃHýΑat·Wçh»2•>E"X—ÖšJ(ÂüK‹@¸î¢œðs@Ô¯ØfüŸ Ià paJR3(Jùߪè %GÆÐrjÒ8Êh[áâæw~pQ»k3NëpcÅwõ†ÉÙö‘ 7)fúBp¢Å´|ï5Õî› Ùnø©mÌÙ6#œ Î÷š’wCT|ªMvBôP·áóùÏÆ›èOú„wEÈd ,Â"U¸ÎãÃdÉÂ=7ýî¥ ]ˆŠ¢V¨ýÔÝ`¾ò;Ma[4ƒS“Q+Èó¡Ýq‘ñÈä¨Ú­]glBâ«X¼NåNÊÖo¾ù%÷ÅQß>»<Î_æ À£NxarÙ´1Ûj±ÁA3…/u… í[¡¯æô_ÊÓ`µæãm›2+?ÒÒ„ÊI:ùÁ¯™†v}vü@£ïû¥RB dƸAçœâ›+ãGî8|[ë! ì×i®äð„¦l=2îêÔÅèb“ ½ï«I p*íØ@Ôr ³º¹Œêço©ä„?áú($9yS±X\ü‡||lo`ô§RB©4]ÂÔÉb.šO°’n#X{ˆåk*ô19¶¡§l5wÎù«‘ (×tw]Ò„úg41T·¯ÏéÄxkó~À¸ìS`.Goj°@ò4i…pÀ \½y¯órËŒÖwíÅÂj&Ü xòÞÙ{Dô|ýþŸ òç´ŽèRñ­Å¶y“N;;D¡Þ£M¹Ñ”Íì¬%ö#m_«Ú‡!QTª"J¼œZãò–Á=A?÷µz°/ö‹_Z$þ’Ä2·í:/TÂQs6¾±kxpË×A‰@„çÇŠÃ õKóŠw`f˜¤€êN LK.ónˆi»•â¨¯ÝæÀ£…é«“L‹%q…,õÍÒJq•¬hÛ) £› k `É]Uâ3}y‹%)Ý(O…I6(þÉ|<4s]cñ약ÚFo“E¶c¦qp •ԖܶôÆ û+V?ßl•å*Pr­[=Äü cšr|#TÔH£ñ¦Ë‚XdT JXùÛüâ·`Úë![–½ø!qS1ò4×¥dÍÏÔ;†:Zî#9íŒÂÜ05·ú#?{rºw-—r 4ù¥%š&÷‰ü÷oÞ2u“%düFÑXГ}fEZã°`*¤âÀ¨<Š©jvH¯÷ú ú¤åùæÎ÷4Ö“R›C%ç¶åkZÃÕ¿0!Íu¤‰Eq9ˆtn `ÌíN ¸Ç‚åÑÅB—l¿*„ pÑ’üÚß ýdÈžµ " 6y@½§¤ïŒ¦Ÿr™êÒꡌ÷Éžéð=C×nåigäz°Í‚Éù ×"R± ›À„)]¤ê†Ìv­*uúÄÁ;èùù´:Sœôÿu]Q endstream endobj 570 0 obj << /Length1 2499 /Length2 16820 /Length3 0 /Length 18277 /Filter /FlateDecode >> stream xÚŒ÷PÛëö ãVÜ)ÜÝÝÝÝÁݽ¸S(^¤ÅÝÝÝ]Š[bÅ¡øeï³ÏnÏÿûfîÌ$y–?ë]ëý%$Êj "æ¦@I{WFf^€˜‚º: 3€™™‘™™‚Bäj ü¯Bèìr°çýÃBÌhâú&7q}3Tp°ȺÙXØ,œ¼,\¼ÌÌVffžÿ:8óÄMÜAæF€¬ƒ=ÐBÌÁÑËdiåú–ç¿_Ôf4.ú¿Ý"v@g™‰=@ÁÄÕ h÷–ÑÌÄ æ`ºzýOj~+WWG^&&F;FgKAz€ÈÕ   t:»ÍQ(šØÿ¡Æˆ@P·¹üG¡æ`áêaâ ¼ lAf@{—77{s 3à-;@MF ä´ÿ±ü èÿ4ÀÂÈòo¸¼ÿ ²ÿÛÙÄÌÌÁÎÑÄÞ do °ÙJ’òŒ®ž®ô{ó¿ Ml]ÞüMÜM@¶&¦o—nQ˜¼1ü‡Ÿ‹™3ÈÑÕ…ÑdûG¦¿Â¼µYÂÞ\ÌÁÎhïê‚ðW}â g Ù[ß½˜þ9\{{Ÿÿ" ½¹Å_4ÌÝ™4ìANn@ñlÞD¿e–@W3337+èzšY1ý•@ÝËø·’å/ñ?GG€Å  Èøöàãbâ¸:»ý|þTü/B`a˜ƒÌ\¦@K=Âïèob ÅðÛù;ƒ<zÌoãÇ`þëõï7ƒ· 3w°·õúmþ÷3骨J‰ŠÓýCù_¥¨¨ƒ'À‡ÀÀÊÆà`ãpòpüþ7Ê¿üÿËýo©² èŸÚþˆ'coáàù…·Þý—†û?sAýÏÒÐþ7ƒ¢ÃÛ4Ô¿‡_Ÿ™ƒÙìíåÿó üíòÿoòÿŠòÿ:üÿ·"I7[Û¿õÔÿ1øÿÑ›Øl½þ±x›f7×·ÍPpxÛûÿkªüÏ:+ÍAnvÿW+ãjò¶!"ö–¶ÿ6ä" òš+ƒ\ͬþž˜ÿÃ[t[=PÙÁô×}``afþ?º·•3³y»S\Þëoðm£þ7£„½™ƒù_«ÇÊÁ 0qv6ñB`~›/V€ËÛŽš=ÿm£½ƒë› àÀÂÁá¯#åä0‰ü%úâ0Iü‹¸˜L’¿ €Iê7b0IÿFoQä~#N“üoÄ`RøÞ2(ý‹¸ß2(ÿFl&µßˆÀ¤þ½ÅÔü¸LÚÿ"ž· &¿Ñ›Ÿ‰‹dr6s³ûWÎÂÊùÂdküWÎÎú—øíÀA.6¿ñW×ß1ßò™þFo¦&f6.¶&.VÄgÿKìü‡à©³‰Ðháú‡˜ãñvãߨ,ÿÛ]ÿÇž‡í_ùÿqxk¥Ù¿ˆã­D3Û·9ú—û_;»ß­ùkÀ˜Ìÿ€o)À7^À·Ä–¿;ò¦´üë‰üƒ!ó[Šß`#fååh´ÿÃâMú¾õðíälþ€olg|+Öö¯Ùÿ­cüǾ]}L¿Sq¼Å²Û™?ôoô~W÷æìð?ê7FŽÿ·˒ÉèüötûÝavοe ‡ß=ckŠ£­ÛE½ý2`rúæ­#Nn®@sÓßLÞ.áÿÿç`Ùxþ‘þï±²°¼…ø£Ç,oüŽý­Ìÿ3w,oÑ»¿]L®¨ß<Ü~—òíï¿‹™ƒóŸÍxk½ûð­6?Fö-¨çð­±^À·Fzÿ®ð-’7Ðù?üÏ]eææìüÖÞ¿'oÙñß¿€@O Âò¢ƒ_ˆumHû¯j|†½I9Š=­4Ÿeç·dØO4UYÁ›Î·"ŸFzQ×v%¨o„WˆŸ}Ž[êaÃ[“TÚ}ŸŒUgöÚ¾McNå‹Ô Â0¨ ïû>;ùjÙ@¶€wÉRä:¹q#+ÁøåÑ/åY7Pº:¶¸§²_Å)÷î©t–!V#F?¨hž"Ïôó.)Œ+!-ú¹'ÊüÍízÎÔ+±l"‚ßI,[îkÜý‚÷z¹:«K79ž..!ä úø ¥èYœ%Ÿâ˜M¥lfF°Íñbß±.’S^=ytf[çe©qr¿¶:¦ í>Dø¬=5cGÚZÇcä%\: I©/JÍ…ý†ûÃáðwÎtæ îñ°Š^>ûÛËP7:Ç7rǧµSzÞ£z;ð;XkM¢ëâÏáN~˜ 0×ûÜݾùÖ™%ä5>}ÖS'Žsžûžjƒe?Ý`ó?¥£ bäg4rQŒ$ÞÔ`°ëÃWñ´™‚Áë÷Ðèà­Hj¬2:]ì¿°Ÿæë¦qË=z{x4xÙ&OÊp˜¢7[›%žêb•C §GÑ'qåä/Ž”ÊÕðþ"–]5¯ži“<ŸP?¸ë1*Í{4G#³¤«}8hú!x5¯û9Ü$ ¹)U‹ Jñ3JšC‡ie—_·v0ÿG~^ø@86¾ÄDÞØ$en¬Ì»^ö w·H1ßaRPp­m,š"õ*²(°EŸFF/«${…,UÓåJê "'øÕ攃›»_QâË nJwôÆ ú’– ªÉüÓÆuçzt¿yzWÅÔ†× iQŠë%΂eR¢7ìµ.ð‘ò´…*ûÝûu&nvõ͘Ü,Z3=OÆæ®ŒI7¬ÛïÇýôˆ™Shš£õ´k^ÀÞשLſڿ²1÷­t´o$–Üʈۿr µ9®&ˆÊ´nçE©°ŸJr¹U:bÙ™ÍÀ¥ÓçØÏÝôN³¶ë¹NÏŽŒ¦¬|©Ï²ºNj6ÍÚ~¡]&„ D0,0Ž"(‡"†fFò¡’ç^”ÐÄ•øjÌœ –ÇXàÀÜ—aˆ7ä»þB7Oí-Ê(ÏÌ☸j ÃoÌÿiÍÕCq ~MÅÞÁF£ÁŸ‰Sg›vŠx¯±6-yXs—ÐÂ’ì*1<Û´þEiæK  ^ß×ZICU¡†ÏŸ>_ö:a‡Àf‘<Æ@вXzܰvç±3ææ4³u —íèWsy¯šxͰÒD61n¥Ÿ_EKxëPµ—ÞqDHšØ[w²ît,À,šaþHð`AŒ}ú5þƒ-Ð4GÆ <+ªÇ«¹–7nü;’Åb^ÉÚQtÒÞÑEác±…å E—cÞ#?è‚X‰ˆšÊ§$~¡v Ù£ìEm_ ˜IÅ-þz16ƒ¿SÇ:5Ù½ïGt'Y(ºPì0ÛšxŠaõ¡'õ§naÌ»ãåWªO aÈàJ>3’i‘}&Û™ZÃA¿¦ø8Ö³ò•íDæ‡ér5—F½×G¿~Ì4Ã&Ç5f3TGFÈQvG |_]½ÛsTžhp§ªšY*V eXÅñÌCv-rºM'4$zL~°6Ds$ü±–·ˆZ‹jŸ2ìEt@ªÁùã¸z^اlP Jˆ(½ÍgÈâJÔ€É2 ÒL·‹¶e­‡ã3A´Cc"°zêOsT0vé„ïä¨Pävæ¨sв$¶”éy~øD©±I±ª" sêçl 1œ/bkÇR®þ¸ Äft²J냾ÓÁϹ|´ 6)-ö_V¬Ôpœ(2®¨¸ÞÉPà©ùn„)k9kêA²“Š8ÞîÒ4ª>› V!Þ i<«åDbÌóhK2~ý‘_Cµ×k¼eeÓ‹¨®/Sf/ ´ýÞø­câãeÜ]_®1úúíânPZàíÒ:€ª˜È1b™ZªL‡¥eÿ¶,2W£k¦¼˜éDéZ˜ò„À'„Wn€—Qì4!Çó¥ËSz€Ã}GâižÝÓˆƒ(b/>w¹õ)*£Ÿþ:»È|Ç–ƒÊtÌt݉>Eú– ”Týƒ{`^QÑþN·_êÖÉm‚¨i¨fQ!¢óºÇòñpÞœ ‚ÖáÔŸ¶¿#}»µe´ ˆéøk¬åg­ŸJ Ø uÊ™Èûi…]Bc!bvت/úe:z±áìJõã K—{ޏöÓ7ëM¨«6Gƒ”™:y' ¢e«°1_œbÜÏaîbUÑÊ@ï]I¨šØCcÉ;²°J$Ýe/ÞƒyC}_%i¸¿Šd¹Ó¥N:-%ÃUV ~ðÆ4Þ'ñ} ¨0¡­œ0?Ðx—KÃè*C`唸ôADË ™ëô3°µ&°Jð DkH~€mx8~‹ ¥?GɵQÍ7öœÃ™òªÅqðÛËã7nØÍOZiNâòíq>k§Æµ˜IÃæÉø¾K!HR²¯ÞLMY?¤©:uÉC"—ÁÒ¿)LæsÇæoÅÅꢎGÄçÃñsmúTÉ;n õÝiÒP` oÿ°]cûr’®îÿ$fïÇ.ؤûê<\íÓæŒÓ£¡ûÊ#Qš³8/U¹í–Èγ"¸eì€çÔ9Áœ¿íˆì¹“¯ê›eÁC¼T.Ô­}Áè6,êi!e*ñÄè¡Å÷šî@ß S *oc#×àËcgiùDn{è[FÙŽ8‹‹¬0lBûužü6’°Ël­Qð„KãÄì0`¢¯¶ Œª 3ܾYe:}’%&ã Pkc°ì¶xùUs ±$MÑ †Žçu… -ÚK …z¦÷es©8©·;Š´Â{tÙA©×(Ù·ÜL÷…À[4ÿƒp“n ñzçý–°ÉW gʾ©P é$Ö'ð×XîгŸY‹8‘‡ê…–¢õ¶P˱<Ï’G²UB¤èz޽ïV G'­b¾õäNv,¾Ó€àœZHòÎ;Øè”ª |€HÂyâ%’‹æ«¼yÈÓz¥×N¹"ÿ΋c:Âã¸[/ihž!:I´(«J ΩǠN{ÊN’;ã¥fL¥ÐðL ù®®êtT£LY„lÐ"1PÔ‚ †Jx—ú¢]DùQµ³_bèøA1«|àQX?'â… 7å8“¨ ªÅ‡Û”$œV戆sWÔ&þhHmfpï–MrNr¬&¿Ç -þMë=ÐçÁ3y'{ ¼º¾pP"¿Gï>™§î¦òá…wýRà°A¢~¬˜zWmtl‚™1©«*Žeƒæù#vô²«Q˜ ¾¶@eôŽ‘†‹lUð®—OO?>µÊ@Ò'“ e~N ºÝ5Í™š~Zâö][•šÊÞX?Óçk•FD°܆1cجò$Öž„ÁÌe!âÝÂÚFkIÙCÅv%#êÛ¢h™¹ûd¥ÖÔóÎÈN€…úF7­hRÄO!­BáBúO”B8Ýo¼Ýò„M?ÀGÀƒ<ëÍ×WÑ)»eNŽ`ÐãñâWZŒÑà‚XÔŽÔÌ¡¯Áp÷tȆÓä÷VÜÌôã.ñBGaÿìú„fðî—*ºÁ´¤L¥ºçy¦µ¥i¶t’9#5/BÏÎYYcÌ4D*E¾£SWéµ v@¹ á¡·'ýŠáÇ 3çÌN‡Ê¦°†–›¼árWé$õ5±ç©%À'%¾i§ î{rL¯æ&Ñyg¤@‹îÆrr*€ä¯?Ú›÷´ÑÈ襮æ._°3ÅÀ½ÍÛ2Šƒ9¤ü'¾õ6gG¬Ñ„óæeèàQ»¦.ÞT]ü{S&Z"õ¥é‚ì¸tÏ…n›²Dê—IÒXàÜÅ:ÛMØöÍÓS>O5 A(í¿à²]_gý”ŸN’]û±¾ÉzÖ}â^žS%XÝfÄÑ÷5v[ÕÊÀ'n(º¦8la뉈 åêÕ_p¶S”%n8z‰žºLΕ¬°)¯}W}Ù©dÝ•Úñ¾rseŸ®V ø~aÚ¥DaA35š¦ôWZÊUÏl©ì…ŽæÅX&wýI7KÏ3Œ9™¬< ¶†Bý°é@¦iѸJ2ÁYg‹…YÓô\Žs}GÕ;~K[ÿسÔD*¹) µ½ ƒcsáˆü@#XŽi—­àÇ›5¬Á#¦ËÖèqM‚u·}ËïÉÏyÑ‹?Qý¨Øm?M'ï ßWu)Él¶páeN1ù$By{1˜;Oàz"YàçuŒ? sÉnÎ,^ü Yšë¾«Wû\²K•óßÛ¯åØ´¡`ÎÌFÙÎ0ìs^Mo߯ oü]™¹ ’$õÍѪ¥äsôDÁÅ'L¹?DÁòOv‚(%Ò`¸{êÒ‡žà=4î²NØS¿­ôÓgm ÃuŒ7[hß tèb®ói›>û·âw{¯µòoxiì‹M ‡¥ê| ÃÏ7hÛ´sû6Éùè§tˆ'Á¨nÚ ‹¶ÐâŸfÄ¥ù¥þ'^.L=>»ê!iª›âièzÃB'þ)곫€‡©îw!@nT£“IÃwøÄFðæ©t¶eê¤>D Îj#wgM¥Uì/apà 0)9Á¥V6-™Ò=ÛòªgNç4X….-Å~bª•a’9"øéÈÀÊéßDÐwÎ݉¤©*Ã*Û€øï´ÔÁ÷’ò¶Ž#\'•">*fØŽÇߪûÐê3«¿› ¢]ÙËUÌE¬‚fNNuÄ{=}‘?¯OÖ®¯AZÙ¸O6Q„Ù4 Bwng_JZÆ»7ï,MíI>p¯âÀ¬ƒ8jÍâbõ‹[¨Ò5™ (ƒ ^]ÊVµ¹ _2æ§íì¢3Vù$*ªäú ²¤}+Ô’z«k›d7Ã]°]Eç¿Æë‹öª»ÛQJmojñïÓwÃwÅ—!jœÈØ÷QûçÀüŸ=]$làp¢:ê–¨iP0+05~Øêyê&i“Á9eSX™ó–9…mó/çÚ…Ft®É,y¬4"‹È>›Å¿ÎvÍ>,Uç&–{+ÓªŒ•¤ª-©î™ÓØ*žâ|‹7Ű /Á„ðèp3(‚Ä%`ÞÄe+0ê²ë€dú± rq]çfq½óá‚J^êKێІ“uéE: ÂhÜqÆ\-]vcžúÐ á´ó—¶NJééd1žE;ghß>.çZô+©{ ÞðKYç—Fþ ê2K)ÃÞþú:ÿ*OåCÃ@¹y<œž-Pñ±$Ò_ÍÉä˜BM\D©+›~h-µÇ¾;üˆ8`{Ê¢Ú¡SúrÝøçxþâ‘ìü¸3šø„é†0~–– Ú…³CàQtEÃ#üÊÜæ2Ûw™ø.è`¦ëÛØƒ M.6¬7CŠZžx7KzöX»Õ9È÷žÍW$Ñ[r[‡ýV ö›ôhšìvQö!ÿ+&EV‘©^š’PßÅVŽªGøfËDÇW!Òl­=ß@¾…JΟ±ÉÚTúæQ?äî¯]üXcð|TDh<Þ˹ÂjoÅaØÜbTÑÙ Ô38M}‰ü>ò²>vsᙊø…夿/מWâ±ÂM0gÎÝí¤­fzˆv±è(00%ìÛH•“HãâcY#Ѫ-"«¢y§‹C nD¾ÆË©!ü.Úþ.y…»ò¡³ƒLÓ®äB9¼TS¹L™}û‡f|KÂK¶= ±¾‰ªN„BhçeT%(ûàj‹2‹šúý°« EuËáèX=£MÝ£ë0‚ʯ/ÉùUÅTŠÜ( °t¼î1Q£¤!Ís¥g%ÛI&…žØ|S:ˆqÆuvˆw5“ƒÀØË³³RS—-“ }ÿ{]ûQ¾âL¶ýÞàô8uAåà7‡ÇB¬v€ù‰ê}ÓkNÃËZùtUäŽ,¯™u)[a°+‚âÇ^61±>%ÔQwRþìá:!®ùp“s¸Ã>˜ cmQ·”~òûönŸ p ØWs4õÆ·è¿…š“»Þ–%°16ú,Íõ˜ÍMͦe´¼Ö¸Ê<Ò®¿ž3àç÷2¨Ÿ‘¹xÇö ë†é.­#¼9†© >}<IM˜3ãÜ3뢻®ü+ZdÇuZ.«ðlýzQƒöý ¦EžgŒ¢«ÓaÛ¹ÝCâÎ}©Šè´ëIüú¨»qõlCö„ã,Yæ qOèÞlGpG@Ú·"£ñœyŸ3ök’´` ¦½h=«ßO@èmÔ¡‰cAˆ&:+HÝ6å ùå" ï@ðH±U?öiKm4Ú±Ìy¿ÓÒ=–³óë ŽãJWn*³¿Œù^Òù…\„>Ü{­C‹f¼q&ó±>ÃñhqVJ‡D Ò•ôÉûÓ: ÷`÷9¡ÙÂ@ÒÇ[OÊ+ÝnA&öâšmTà%u-×ìN[8űI<“¡‡S£DñhÞ^›ÇE’,ð€ýk½¿Ð3‡Õð–x˜Ás\L£Ÿ3;[—µÐ ¨ï´ä;”§òlÁ´Ð˜{„ËaµJã$ ŠlṨ9¿2s=QR†¿0 aηÜ{öÖéßíhSóeÿd z~gÀ¶«¼“ôÑÐ[wLãî ·¹ :Ö2QY¶¸\p9ÒžBjtÐH¶0é¾[˜­ô2L8?ú9˜x1&pþ =Éè2Ú É>…l¨/ uÃàÜ”|qHy΃¢Yš¼ø¹õ…¯Áµ¬·F4jl™ÚyV)ŸÁC˜­“|’QuÓö*º†|T•‹1íBÄz£w±$ fcBt ¾Ì9CŸ¨ÎÇcDV´ÒÓr0>ÄίqD‚úüÂî)Í Ã°é€ÂAZùxM~eßú”yÌj8éCJóuÄ€iIò*ºÅšàC”ýÙÂ#iªiM+¡8¾þd(ó´í¦O\ò‘øÇ¼²Àv¡ï;×.AE£?Iy€<J}ìÀ¦’éÃ\^‘zÇSS*Goq©ö}“i|²—0,Åïý£ûl4pËÑ‚7% uGÑ3/Žz¦Ð@fž+Ñ«e2æê’³e8/Úi0EBd5SåýP¿²ó¢Õº¯õœ‚(D(ªC[p5/ûÕª!è-”töy†é«!m½4žE0ªýuWv®jO»:wSäWKbÁ¹>š$¯+NBH¥ûèåòe†¼ä ³«~#¬ ï¾K«™[Jgñâ’ÝÖçÄ󞣳­ë#_7ÏäÚÛ-ž¿!!ɱž´ywÖÑÄ1?Þ$óÝtž]Ü ùˆy ÷g#˜PY4@–±ý8£YîÒŸÜÓÖ:_±ØGçcÿO©hª\ÃwuÀèy ]—Mƒb¼þÒyü"ƒL‹¦ýí€3‹«ÙCDõ1ñGªÈ¹ x(ºýfr'Ütcótü0â2¡Ëž––Aßl¡ó\w$Å Ð/±ò<&5›‡)´RºÃÛwø–k;¡ì‹.ÎÏ,zé¢ÏŽ.”¨¼ÊXp ]~øm6ø÷öóX Ä× à«t·Há¨âéÓqtxÖÚˆ˜î½Œü1‰›F¼=_°F¨åøÆh:Ú÷ü_ ”9™ê90£¡I7ý Ô'Æô…úéxƒ¯ko…;›I*dì,4e7òQËž¶K"û*;sûû/UÝÈ+%4ù¨ˆÝ·ÀwåbŒŽB³ƒŸ+œf‘6&šöT6ùù]ýÏž¾+ *q@øâßž‡–Æ#¯Žwô+€êª˜v&jý\{íÊ|w8…nõ¹–1z$š€fÕ×{`awÐðîVK®Tf¾û†öµ4vï¾*u9'̹'£t$u°ã ­ßŠ¡§T6FÞj³\v(SE&a?åí:Õ+-¸-##^Ÿ‡^©½¿Â½4T_øL¨Bi°u]àÝZŸE 1НmL g½’M™s.~ƒåIZÛàî}¿â8Xëp×íV²fË&Æ…åúD:¹ºÉú’¯Ç±!潆>ôÑׇ V²´œ Æ\î³ø|Åè<²2ŽŒ%;œ¼ ¬b'fGÈ-LÏŽ0º$mc;SNƒ@/¾6¢(»Tñ¢ªÆCª•x(ãHÈ'‰(aÞXÆ ƒå¨ŒsÁhtêð®í`þ;ÑÐÚÓ5å5Ùg4›ƒ O$b>ˆg)—û½«Šx¢ô»¶{Dkî±D¯3À Ú&1T÷©Ë÷´‰€vš.¦0Zfñ¯µEÎÞ‚çkMX yŽŒZ+7æ3,DA‹Á„/y¢Uû_X¢‘9Ä0H¥]©Ý?q´ꘉ>—¶i86Œ p‡x1G²œù’AH|BèAˆ‘ ÏXŸ.¶9òÕ’µöò°ÌÇñ"ÚØ©Uýñy¢ýCkÊSà³X¦Ìþ ÝÔ¤üìaÂmSBn½ Ò!wT4žÚ®œ$ j$¬mš'þš*½'3ZÔ—(Z”ÎVèð'çlw£a;ïC^õ!'ÂÎðú=+Øóš­ÆU:ÎÁL¤áÍe3‹MCÚ+Õõ4pW Åú‘y'¥ŽZiÜ´ÊLìî^4rå%ø³îÜŠS•€"]W=eîoÿƒ=>ÁN>e:«Â“cjÁUÄ8õö·˘˜K"rsf´‚i ±) kÕÌÞíçÔV`€µùŠÙÁ‘þ®¢rÜ„ øìGk¯=ÆéÚ½I—#+Aa)¨3¬V…wç‡IqÇ\,&ô á³ ªõô#+âhÊ„´Q¥"3€Ñ"a¼¸ŠÆw¶DÝïsã·õXYÖ0šCN÷Q~ÖÃ×IÑìÑO¤ŽÌû>ƒà¨Ë˜Fã‚>ÓýÁnJØÀÂK:® ·¨’È“4¶súóÜfl¡ù×D_ª‹"EËÚÂ’Á¾'Cþ:_™ò/òZvN/lîý\èE^Þ“²þ ItÍ:À—‚€ ûMºÝ¥…¹RËAœŒê¼ì$ý¤ÃÜ’ïæF·|õ×\Xˆ>u%ºê HïÈe~¡IKHç=Ú:7At­J¿Ç‰Òœh²½ï4\"*›E°þaHJÉÈ_Á>x·5ÞlôÁ|wfTØ3$l­8ûŠÍ»Qƒq#Eí¼Å2iùÜÀ=.‰c²_c=ÇCrÊû&Ïî×Ä×G²ŸA0\ÖÆ¬ð³»šð€ƒ}""äuÆ‹ )Q8#°¯¢Ì'_;Qt…ðúN€áJ-|ªÒJ"Î{PÐö2jq±;y×ø•Áwà咝帗~¨…ú€f%?w½ó[’Ž&90¢’8\4K…]# ä¿HZ”²€W¸I€u…39TûzfJ÷9¹q¢j½V˜ #ïëžÏ¡±¡Âí#„3E©A¤&ÝY;#H_n{ë*Wÿ™Á=mÔ{KX Y¼{a³MfîCìWûðX•¶žmÌÐÏúéIëxv÷ ªI¶{>Y6°[¦·üˆ*±$§iɼ¨ÆÀàHãÀ‘¾qôÁúÌ›z¯…ñÞ”„ÂÕ"l†f¤&­>±µÏ©ŠE#•tƒù;ü(¬"ç'Ík饿R9g0G~r ’x…m Ä…~š{ÕSXˬ‡úð…L&ÓéZÔë˜êûÄ‘ÙC ?ó ‹ñ}éçû ±uÛêw.€RK”LMÔêç¯ó¸3÷Û.*¹+.>¸Þá•&»X0̧ú™tì—¹0¢”lŸwÇÊ ™ò“]gDi“Y\Q€¦9XŸ‡Äwº‚'\iæÇ¤…Äg\X,ÉS•&x~åÑ®, 6áé£~‘þö ,ï'¯ùÌ™”ož»"ÒºÀ/t•H§jE}Fæ2šÍe}µ¢q§ƒÁØR¼ã¦†Ò[+‹Q;TY ¼ºù¼æ\ONl›9‡áaÓÞRwÜÛ_‹Å<ª&óä›ëP‰pÿXáŠù¯w [¥33¾ÁŸ†B*‚òrЬ¢ÄÇF ãˆy6@û~):ïHÇ—éãùÖ_•°±>Ì&.ªfîüòÑ@Ì17W@2eèç³çs³È–<«ˆÊlÍûVpY­ì n‘þÃ}3IŒO¤l"ˆyIÓ€ŽþPÉi¦Roe†/³"U™$Žy@ya’Œˆ¡‚[çê/¦ïÌr–TéCç>€$§œÕ˪¶á¡¤Ž"ðr6~TƒABÐD¤5H½ŒÎ³£>ÓŸÔ²;œ|‚ذr ÓGáG÷ö œESf C¶KhoåÉØ B”rË6Íq]8a˜c1 ¯ÝhìÓo'7‹eH6à´©RÍý_i€Ÿ†‚_äcWdÃÂ@Þ0D[™Òß瘞vÕ/äüÏ9$e.n¡ôžè ³ƒúòã,k2¯ý&'½fÎm®>±·çû¬ú "_¦ÉAðk¯å`ø‘»VKÑÞ"8ô-™¢´ƒÃÛUåžæ)Í¢¹N·Ɏ誚ñ™Ë µ»ióz‰ G¥óí-)c¸ì†k^‰Ës ¬- ˆ™È&qw)sxR{¬à’3§€e{=,a|sw{NÛQ5™ã%Ø‘ªË™Çã¦=³ ì×;y/…\D"÷ÆÞÚB¶+ý–/ez´³ê[-Åè¢Êhã{¹¢1lx™Ñ„Ä—xº4 ¼Öc8½2?ôº£c}YÏ€ÔY®¤(ªIÂvñT„0K ÏF¢|=cšé6lN#â›kåùw—'4¨I–¹ÃïeW:ÞÁù6œàô«~§X`¢>!–êçßl”amß%©¡®Ø±A £±aøöÞ®•1À½*ùáˆè¸¼[½9;1…nñ³¸¼¸~þÔ€=´±Þ-éØÁYœ} ¦TèOÜÕ[p$|ÿ£· Ã>îŸÐc¥½c£Ìkø€²8W7‡Kû˨‰k!ì“õj­€ÐŠÕöºÌN*Rдw,“ûì2ŸÌ‹w”³rB/P¤À”\pow˜L“Ö¥,÷”êBœqTA †=ÞÉ{Ÿ2ÀâëïÍk$¬â#NŽe˜÷=øÈ 9ÜÅn\¹eÎÝ¥*ÙM%Ø•0æe3â÷o?W5·9ž”Ÿ^Rür·—ã÷xíBdéW±ý5`Š ÀDIíry6 ½;P,ýÉ "ô:˜‰2ø§Ã§œo#r‹;íë&‡†UdõªX…wAv' ‰øÈ!Xpêâé“÷„+þŽ˜AG¹×÷ 3”BâÏÒ!%ßžKÅ–ªØ` Yª†,]èúX¡éá‰áRuîÁï‘%Sà¦¡à¼Æ| 8ãÙTpÉÈHò.s÷Â÷]©–°WÆ3 ÄqÂ1R»£Ü Q¨77Ð{?Õw)ÁÈ`t[F°sŒ#Åýtìã†àAÁûm¡âÝЯÑç¯îsž£Ñ¦ì¼üDZtØ"8ÍCøÝ¬8ü5s’5ï€"ày “ø{)§íiÌün_(ŠQK-ï¯ÜÏrnïëç1Ã+¬óµ…Ë0<3ƒŸø/ök$d~ p Y®ò?tÕyMÌGúî)?‘‘»&~C¹U¤ØÄL¬ÙàMI¸I1CÆÅ4¦L?ÕäF_GH,ʶ½pP©3Ó…¨a°$!,ÚÎ[Þå÷5Â2v³L­£+")TC¾ à“}Í{m 8®äU¿ÄC°&æâ)ЩPšcßÖ1É:ìV¥‘‘³ÔÒ±£‘Oòôb¹û?\€A`|m$kÍÍDï‚ÁaoDKH¹è̻ӇŽåw”ǼáiöÀ´n8â‚*å}øŠžóe[Õ&½~¶Vß[Õè’ÅÿxŒü°í#ÁF³âŒÝ¡ô;¾Àù–— ù <ýè‚êûçvøD w¥š¼amb0õJë.–[¸v²Ì¶n·1Ïo Bƒ­Š¢~qðÖã(êÓ†â¢J\ˆ¥ì:\ýY}û¤gMÍÖÂV p^Þmó„Ã3‹jõÁ¤"ì#ŠêMRí†INâÂ)…Ú‰¡ÞãdFqʰîlÄæ9q/+Ù$ew¥ÙAnÜ—j*l—šaÉ\UÚ9»íÕH‚õµ)`éÃÒ‚w>Ó’A†5F7ýñ¼?~ ¢X¨‘©ÕµŒÝ¸ Qîl²¤5 ò©¯Aß*xe±:íVK•èi¢ƒ)]Ž£M; ë‹£LñäÜ f§.Nª¼•d—ñ•m”(þýÇöyѵE Lô$¡ã}ÕtŒ%m)±ÝÑnÝé’"} A]ù¾©9 ùp ~ï÷Y¢–ðùÕŸfqÝ¿Mòêh;h°ûQmñ~›Ô~.pü¶èÛ΂Õ×Û WA²Làõ,ó1Ð×*ÞYù~¬ÔƒˆÒOwÌ‘„ðQÝg¿,ÙkÜ­itU“EÉÅQ ÑŽ$…ΨÃ*ÛhíÝÊÔ^¥&LÝ}êºÇNšnªh‚N¿—dýÊy¹0E‰Qïä‰Ü@¢ ŽTLŠÕ.ÚêO†OîíSE¤‚¨ ~¯öïÓ>„”)½ /¡øNJ?n#5ÙȬP)6|’€j¡aÞ;7ú0ÂA\çSÏï7ÉNý„Al5[$àäïrh±Í° ó—¢åH(óÆÆì¿Ûqgôßš  ­‡U]Ôq“Õ £§xaˆ3lïB‘ÒŠ˜ÂÈ×`ß°†0\¬ž%7-m42›bp˜ò°Rh5‹Ãfè^¢òÈÊecÕnjü¼ùbVK°³;‚F¡àî|­ŠžãdzF»†ÖÁ­2í‚+G§¼‡wË.PYöa w¸\–á!ÞFSk E©dx)RªÓ‡€j4s%tIûÍ+5¯qCý: nl…ûšOE®ðàB¯ÃbT‹výWû°^Æ·(TO[§[Œ¸Iu‹à] ©™¹ÈCC|p—\>Õ‡¡êýç4Èx+ª{¼Ï–¾])½nUœ×`£Gk7etÒÞ¦Oï¤JØÞÙVêÉ3)QŸËºR%†‡™`â¼äëEˆkãƒæFmÞ?Û3rI¸Š“¡ˆp%ãßS Hí,JŸ’ú`Sø>Ý[ºi£ë¹øýb¡‰~ï—Þq¢,IùÔÅ;j¤—ã§gýq¦úC Æ”ŽÐÏn©ªÀLù\µM¢5>¯ÏmP÷ô´@Š­Š÷K*ΗçzÈä ,+ª|èhRZ”5kæE­sIûŒŽÚ”œóU™Ž~ò6vlhR÷òÁ¹yKtðÙ$žƒÛ‹& ¡¡´N}÷*¶yAVÔ3¢ê5·¶é¤ò¼—7Î_E`„Üú`ö—ú äOº5¶µ4Ûé /u5ÊÖn8nzÛ]/¾—"¨Ä =1OÔ³öå†LœV ö‚–‘H)]…z±Ë„W$l´|q{8­À¹M‘Á†R·§øÁ®ÀzÊׂm…=Wž ò'_a²y%…ÍâV¸ÑÝ£ïëR÷ «›§ü9O-Ù¹s4Jcüi¿ÏŽàZà}ÃIs€…ã§S~ˆŠ“æ“8ùD&Þ\YFR•öÝ¡2¤‚삊žÝ.VYŒm®f¼4ÔdZƒ¬L©>ý1ÑS¥5ÜxÝ X”+jÉô“ aœušˆ—þ†Pâv¼èX~ÛÚ˜á˘Ï瘰1îâMúf0zÂcõö˜Øq†«ˆ®¦É±ÈZ¶ð+vŽ6$ÝRÒêk¡=axüeš5?ÎV°Žšç6P 'å§N-QmÞg¡ÈeÓ=§ÿ‚Ô…‰?E 3%i C ¨|8g+ºÞÔiÂ|g÷IT¤mñ²ZÀ‡$ë$.rÜÿjÌ]×e ÍjCË ¡ïÀÓ™… n`7*{0ðläƒÚ‚c˼ÁÐæâºÆÜí­Í`“8fÁ…sJw˜Õb÷þtP­±=J º÷.d.þÄÕ³1Žo¬$—w³_ºÌMDüã§| qÖxð”P úÇñYd _"M(pxI,˜ mÑõÑ¡VÏ93DÂx÷…gZ(¹˜¥çˆÊöïB›Ë¿J¬Ð»µ–G®s_‘&.¥U úÊl„9ð°søÔõ#Øk;#*ÏŸà[ÑQä&ÈõÔå5u=kªâmh’J¿¬µiÄ×çØÀ|ý³/"Mcú«"j?’†ÒmEÒÊ]}}@·‘DÿÌ8W¬[ÉÏ_19îS…&òe¦Qý™ÛL××Â*ò%d†4Ikz¦C}JïZPd6~wƒ¹lƒq¼¼–³]´ÀªõJü‰ŒEY¨ó©õnš‡;µT¼<ïŠPª©uàžv0pfì§ÒQõ~M¨ÐP²@kI© I,üÓ=/gFQ-‰œe"nO®sól/µÞÄè¥@ð¦`7ñ?®‚¤?•‘”~"ÌW‚{6…µƒ™bm5èÔíã@q|ª=’ÉKD°¥ÝÉ¡õU§ükxQàtR¬]T··ªýêDÎÆç|[®*ÞÛÒÏáþeP¿œÅÍùΗ㡑î¯b´æ+¨¥{]Q‹u÷¯ÝƒŽ‰w})}¯­k½‹™=b¬Ñ§¿¦öŽ­9m‘«°n’Kõ‰µ6L]pypcÊ{‰Syœ'¶µíXÂmôWÃB¾bW\;—µ‰"·³=Ç@x‹À1ï`´ÐéMW"¹­N-ܤ5¶‚¹º¥<Âw4IÒíö¬sÀ™yJ Œˆ_󫪤iâ\5ñ¬±õŒ \Rh`¬WŠ£™GÕ¥À”âi+’¡ÆêÏÁ(Ñ1¤Þ?³Nó­ëϱUÍß2É|[œ§ây(‘.ã“c…YŸÇY«¬‡ƒ‚^ú”U“&c ¸ø){››¿”´µqïB1Õ” -8Õ^@/ T¥â3¾7ÿF®õâ-£° »½¿V¹‹+âA×Åü‘Màóûñ\¾X¹=É~Ý‹^Átpfîu)cBN繫]¸=C<›ÁJ¸Äw©rG ׸úœ\¢’Æ0óÂý¶%3‹)X4éDñÂ’˜½š«€dEÌMg]"Ï+A¤š§Z®­=3ÜÕaNVøî€¯sr •~odÌÓoí÷i•6©•bH O-qð‰™QŠl§1?N®¯c¨ñfª  =}w2hvÙb5i¢È%${,»7m韮±Dç8Ú¦©Ö˜d‘¶;"ÈêÎ×K <á}aLØ[«éš~šŸnWK*äåñ‘|¬mÅ¢üáå=ôéý–«•»Ãí¥¥tÜV[ŸúI%Mf¤¯ÿ¬n^ ›±“ ²ö*ʲmÛ×®/qQûNÀ9àÔ>ñÕÖ”Àu›k‰–Ép$^)rfÓ”Q´S´¼„pÞ ëoÛŒæƒÑ{‹†Q’dÒéÏOü*ÈÊõÖÆ›1 lF^3‡³ŸcYž!‚oJÞì롵œ;”Dy…£2ÉÁã¢r:G:D8>û[ï5¡Òd‘Îîi{ Om½„¶¯o†DNQ¶ÝÜñøÕ«™©[˜-ëy¾B@'ÏH峊º+‰{Þ'¼GÌÉA2gy«±V™ìÌHó''à¯ôl…ë»þÒ?Ú‘·)sâ_D­Î'û<èíe…O{p3-=Ó¼KùNt…\Ö¯EKžG­“âU1bu×a™RŽ¢[4×Íò«gZ7b€i…](?‡ž;_–DØQ¨CÖÀ†ÕvÖ}¾ÜlpÔ>!>57ÙÊLöòtÖ¬~µáÜÛÃ+¿xŽ¢¦bÉÇB×í¬ûœøA!CXû¥¥ü5U̾£àü‚Š¥Þˆ)ÔBÒ-¥Š1U­÷å ¶º”æ`ºŸEó ˆþXí[~Ø;7t³™/2œ! ö#¥Ÿ&rêË×áO0»!ŒÇ÷·Ì4Ÿ4]4Ëö ÷BѪ=r` -xZÕ"×3*Åû÷3òiè}û#7E~ ÚW™õJ´B@ߺd@”wøØˆÑ‹] q¢Ã`~Õæ¹ýü=p6óW1P…Rîîe¯ÈÀŸ!J}VÓµ +‹af£²½¦ªžîÄa=Œz.\rY4Cfš]|=‹1?núÒÚýé*mk5~£|R1¿xŸ_æ±/^•Vz³@'¸¼@ÝnkÅ™¸jýâ‚zÙÀZ®ã¼jHI_«¶nø1£â Œ–Æ–GõkŸŠí“ͰN.‹…‹ÞI}Œ»mA= 8[‘Ê#j­ÃŒ®Úë,ÂçB£3×Ò:œÔŠÚm‡IÃAýƒ‘Æ:Î ²;ÄjyShJÙê‘1³ÎyòK+Ý‹ Œb0TQ®„ø@? EÀJDƒÒ,¬¯*"Ø «È¸Ï!7‘>ÔÐÌëý•[L;Lwü¥ÝÊ­cŒÂI¹.®qÒD°K…2$rW².ÕZµå¥Ž¿×=¥Ù°búÜ„SÕ´0O–Rñó~áró“tÖ'µz7²¯sPò²:ÑQóƒT$##'t^9a«Ó‡ÔɹèŠyüÖÐéÑ: 5Ùˆ×Å™à {C²ÌàsüTŠ| ‘9K&ÏGŒÆBt7 +ù·;޵œlÁúˆë㼡w .b…*TÐw7íóÖéU­l&ù&*õpS|$3`šõâø;Y’gÔ’ßÉoðˆ§+Wg1{Õ?6aštSS4å,ÿÜvÔªíð Ð<« ÒùÙDSu]-õ=d?ô¬T®r~mÜãÞ)DqýqgJ?é2N\¥ok>Ml˜slº²ç;k2±˜–³W‰‹a»f)ÖRþÖ÷RÿXÐ3&æ”4Ã*Ú­1hÏXC?ÇL>—ɰ¡¥ÿ'¬Sú’~nŠ¢ýÉÉÙ—5dWpo™V~¨R•M †Äç:^ªs{®öf°ûÚ}PÁ@ó(;‡ž9ÎÒÌ(Dt?T-­ák5Kã­‹¾I )«ètKDù– q±çÕ¿šª.Ó³¬ˆÖð¯vëü`Å.­mDç·N±ãX„Pãt» áèú¹ƒãR ¶”¡žÒÌfrœ%ºüØ}A‹™žŸždŽswm8Û¤¥0 uxn˜+îVb/ÏoGÙ§†¤%Wò±{lì{ž_Ú7…§À‹.Ž|ÒÃ,›¿pBN¾ âm毛pÀžÙ‘¾¼x?4ÜpÌ%H œ5¤GØTßxú„‚ÃAO@PS.2ÁÜ-`Á»ÂcYÈyJ‡Ðǽo¨´É<Ù2úºc;\‡þ™èÅË4ÈM{B yÈÌ+ßÑ[a£ÏýbUŸ‰¨èJãŸD5Óú—ÌVÞ.ĸ h­x¨Ýl9^„–‚ϦYöw­3õd=¢ ‘°³oø}–×zN|Ó¸GÓúSt›2«èh½¾·Ð÷vBåÒünσ®•>®ˆlwÝdMêWC’ÙT  Õê%^ã>fý42žˆ“üÂÖ^Ù: ?õ[:¤m™SgNïÞy«~ñì¼[¤BÆÐ'~Ñ%äùÈyÌF™Ižd¸¬èû þ§°‘èêÄ<­ÎìbcQ( ëaVÝºÊÆ!¦jK½uÖ @ªm'jfÂX¢UNW†¼Kþ >; R©g3K³<ïV  üÒÅëüä’Ô»Uë$–ô7J×°µÉZ¢‘?¼&)¡-tH´SYôÛUÉo%OÊåL îæs¿Ð7µ¿ƒ†Í·Ö­üÝòÌ—ÙºŠ JÊgQL±ÖWBþ ê¨ñ“ "Y'^$ác¦ì±è<óÑT_S|Œ 0Íèž}„G¿Úl\{¼ôŸ|ýA“ØÇm"r LwiQRd¨¡‹Ž^1}?+M]3éUÜ ¯N’Ä)õ£÷}’O—?úrqü»óÚëùTõü²§K6d©À/ }; Ý}^U*ÔÐl°U2ÔÉkÀ½àOsXèéÌ5ìðã¢YIÐú.L¤ñu¥0.ËŸùehYÌŠDÝÈFdÓúÇ?uëKx’úFà”G¦ihgö¤ªÍ²L•TkË(‹4f1^§BR‘äÊT(vö†&ëþï#ÍΣß=°m…xð*¹»%ð«,ÊæÎÒv»VÙ”˜19d3é¶jææ ¦&‰•m å1ál=m"²±óWgÔ¡²[.*Y^U— Ûë¥q…¶`l²ÕŸçjçb»UÊ´‚b-ùàœÀÄãy®wíòýÚaŒÑzZ1Â_݈"kE§åå³+üV y%jêß!^·Å_À 7wÉ_Ô«‡¥Òˆ“ÀâÏ)(“zaMY‰ØdÖ+X°y¾)óQ&a3"ÿ„2 äò§/2m|3¬í4ºã”[ØÀ_N—.^‚áµÁ¾¯sšhîfXÛLSO¿(p0CÕ ª­ò‚í0ÆgDñ#Ì%èÞôä˳„˜GÞ+2jÚo¾ tÈÆ í®* úøš²¡>dåÞªY~d§ ñK‰˜Z1+v‡Ä†è·< €n(üÕªø¿ùªnD¥¶ÎŠ/%õOÉ>Q/½ôQ˜fYÂ{ñæú²ÇhV‡9Mì— øänÎö2Ï,è¬:³'Xn±üÉbH¶/ýnîŒFZ,jK­…˜›ô± rFJýVý¢{F‘ªTµ«S'n!“œ!›¹Œ½7vëWAulVü>绋Öóê²Ûs(sþºUT'è2&b¢½q«º%èºÜ øVkißÊÔ#¸1 endstream endobj 572 0 obj << /Length1 1711 /Length2 4316 /Length3 0 /Length 5368 /Filter /FlateDecode >> stream xÚvTTkÔ¶J¨€€H¨Rr‚’î’$„a†˜f†A‘‘Ž‹"ÒR*^¤»{ @ä¸Ö½ÿ¿Ö÷­³Öœóì~Þ½÷»F˜ßÌRJuAêa1D)(¢h›XYA¥DH3 [¡‰žÈŸr&á‹H<Å(ýa¡GˆT™ŒH54ÁbCO*@å• ç” @QüiˆÅ+:0_40†X ’À$¬ÅàÑ®nDjžŸŸ€(\ €**ž“Üw4½x4†L`D7¤5#æ Xbáh$1à_!DU܈Dœìçç‚y@X¼«š˜$à‡&ºHï‹D{” 0/äj &aÀÊ MøGa‰Eý`x$@x¢áH êâƒA ñ5;`i` ˜â˜Œÿ1~A…ûá½Ùw†ÁáX/ €Æ¸(´'0Õ3ý‰’ ƒØ3„y°T˜/ í s¡ì—ô4Í•á~8#@´çGð^ê1ëbÚX//$†H`Ú«OG©çþÑ\ ÖCú‰Ph µGáƒ[cÐÞ>H6TÓo™+’ÈA é ýánà½V8侺'¦r&á°8E¥ F£Ô‰óED¼2˜ô§â߈ h8pAº¢1L¿£SÅHÔ?˜Ú<Ú°‡PÇ @öž__ŽÔ C`1ž¿Í÷[ Ö2Ð9o¢%ñƒò/¥–Ö IA)iY@NZW”‚ÿåÿŸÜ÷¥f0ôÚ ¿ã`PX@ñ Ô³ûIÃ÷Ç\ˆþX1àß.`©ÓŒD¿D§þ@ÿÏ+°ïòÿ›ü½(ÿëðÿ·"=OÏ}½è?ÿæ…ö øaAf"u3L°ÔýÀü×ÔùÏ:› h¯ÿj ˆ0ê†hb\=$š ‡öG"ÌÐD¸ÛþÄül5º'ƒ4ÃÐ{÷ …@þ££®܃z§¨ÍÚW!©õ8±·zÒrò ‡0A¨ó%-' ÔE ý÷Gƒ0X"Õ ² PX<Ó^KÏ`ØžhÉËRñTTÀ.¿‘"†ÿB{Å‚@(Fþ¥0ê(€]ÿ€ÔeN_E¤êé—·ú³‹ £;oÆÒs)(È=Q§™R÷T«X³»§Þ@ˆ°®Ñ¹t÷´ÞÜæƒÖ×Òrãmó%iÐcxççáŒ()ójI³Mòk1<­ÇKW0Ä›‰Öª\’Òåú´ãs¶ºà%‚Fšɶaíì™ÎÞÖ]¢b2ÁÐ0v9%‹÷p¾htæ5ÊrFÑ¡ècë[}A[é8 ²¡~iÅD;ËõrXÿ´.ØØ>–¶=,úÎüË¥$j…ï–í—ŒŒÁt°xÑbŽm™C÷æ5•ã1þ\z§E÷ȽáÞ:xñ$S?ÕN*1…Ж#çWýšFµî%™ Um ‰oc7ºéç³_oL&ûÉÞX{ü˜‚í4TyùI·pUÁ±gƒ÷(´¥ÄÆöØYFLÜgó+’ª­ù)  £yŠŸÎSXë£WhùWl‘Ç‹ÚòF½á`ôŽºïèmçžÍžêPªíóô éÛŒ‰¸97Ž6‡ÑãXøå&EuLÜ¡HÀE#éìôrbï÷·jE‚šBFP3b~ãZ*9ÂûHèxt†å°â,‹’Ý糟åv3¿…p0ÎÔ›¬O—ïPr/â? Nù0ôò§*Ú‡ùó>e‰ÃW†ß £”ù*ïŒeUÃ$Â0~aV–L2Þ.‹ œÿ&òA·Lû{Ԝ…=U2)c PÙß»-ñÓ–aæñ L“ŸÇbM‚„”þ¤@…ʉ§›Ñ¦‰àÍ6\ëxZ˜ß‹)ÍÖ{!+‰´Û$ ”† aÜ©òMC‚©{,@ÿšðÐCíûënF”ûêÏcitTÏÛ=»f1±ÅÆ÷pˆ®r>æ@Iöó|ÚãÊà¾v‹Ïˆ’†I0Ó½Ò¨ULͰÛëçBtÒi;nõgž½õòTàÝÅÔæûòÜst6# 5œúÜÛƒ’æ'§.´ÆUVfÉ¡ <§SNX—<æõ´–W Ú¦±èxà,Õx]¸®Úh=õ)RjV«¨­ R˜lMf*rv×ã&×.=Ø¿ø¼8…çñ~J¯ÝíÆG~ד›ú*ò{©[° ãÊâ^Õ§8ßpüÙýA!]H×Õ!#¡–³àºùõ ½¯Xò™€Ü“;)±¨È×QS2¼ àö3ñ6Ùë—} ù€ïìèÍ>ú„X+Ô-»Äc„ί¶7Î8g\8q¦ÜTšÅ½0’•1Qêpä}²¤Rk†|Ô ¯7a4¹#+"‚6‹¿J ¶óãQŒV6±uãšC”½Gü2/ûíO=è@k *è«%ø”t˜Þ)Äó@`~`ÃÒñ¸ñõÐ5^×b­\eU°P¿ÿßvY¼k× \]lÛÜ ˸ûµ!‰#Á±®54 K^+>•º9ÉqOËï‚ï9ÊŸ¥»Ý¸}â_Œ„Óª°Os3YT‘™¼tufBi¹`ŸÞ#°¾É+¯¾¹‹}õæ³`†I/c0eþ®ÓÁšcl= åoßoV?:ŸIéžvôKnC³Jp 6Íï Ó8zžæe¨ ïSTã¹U_¶:íPËJO¾®¯Ska:ªÍäøü¦8R$Vf©#¥ÄîŒMƒèžœŠ|—éºröÞ–Ö—œüKŸ·pJ¦ ”M_¼lmy»]Ö’·‘11Ár_PdîݧÿÊòóá.ñõ7cÐêsòµ™Fˆ X S“²»^žã§§ÒÜèúç•foÍI!B £±‹Ký¬© ªASs•‘œyý€$!Üê+žç›“ýÉø#‚™îŠÙ645œŸžqèQΞyaá퓟\qÔ÷ä–}­t"Ãé+sN½n±!„ 9ÇÃ3h-ú´¤Ã§ ?•–E«ÐÞßµ³†7ìI½F­ôón]÷¾¯4¥•žCÃyª³ÇÁÝë¢é¬¤&J³Ö4‡KbDJäø¨V1f¥Âõ˜9Æ@>;Åz÷xÆ>ÏvÛÁáKIS}æMe‹½3 ¹‚ éñ§{Ÿ£†Þ¬«ßx"¢fQ¸•zºº-Ð="nA*ˆ»+Üœz‹8k }G—î»aË·| ÃÀæ¹j» Öã¦Ë.φª#´æK9ŠËÈH2çð Ö÷Î-†V¾°üˆ`‡¶o”ø›i{I׳X§zëL<ñ Ñ<sŒlmÚº9’|{pð¬¸]Ýz…œ"°2¦ÆŠcQbÍþqäêñä%±²µÓiM¸LVÒ'Ìð$_^{2­°Àè»”1‰JЩP©˜„a|’ŽK9VÖ¬8Çd®»Ãœ·’qðŠ‚sbćA²ô)íÖ±+RÞ;¼GrÁ† ÷­µ˜“éÂAÕú ”Ôanµbú‘Юx¼ô߬Á»õÅcŸZ8ñ7ÁñGUy†J+ýzÞ§€d„cÒärɺdøÂ†æŽt`M¥>{T¤”Ðø·2Q;?¸$ífšu‹”¤õY<õôÚ²4Ó‡]"¾kpŸçÉK&²VYšK7+­ÿhN •(˜Ú¯^Ué%ñ‘{ÄÏ5è 'g«Å p0›™“¥Wª£(}¡ëáô‚Qì‡h‰hÈÓ5í"Û¢KvêÑ´í\&… Òæ°“}eÚ[:ÍB|Ó^ÚŒ‰GN"$ûŒ·|¯†ãb»W4ÎÛÒ{íwãoXŒ”ÊæúeÄøÒàÓ×þ˧¿ù2¿ˆF¯Eò!ž5êÙ±O]ÛÙï®wÃØvb‚rMkDÚ]Þ&š’a3-Q`¹n*KcÉ+WŠÛÕ³àYÃö9`ÉÛ¤7ù¹0ö.üK.“’¨ )©ÏºZŸ/ˆd0h>Á‘%ÏhFw,}`­ÂE?ß;@J™—#aj‚J¦J•>» õyl_.Ùˆ-ùö,§:a‘3tÂîáÀ_öl‡õµJÖVg»iƒ¤¢ÄÛÚ8ßLºé©:s¥€õRyBWÖÙšN{Òµ–®\>VÍÆ0V#ÐS~àêÕ;Í­×"ªPá·Ý’ę߄˜…35Æ­¿VJ1qJê h8zúq†¶á©´mJZ±ŽVGñ‰F¯|k Þ|óVggYïsWé@;̨ѭº¿£Ò¨âKƒŸ]§lÇ–Ç> #fû¢Õ¶ß†¦¸u®•ý°o|ryù†Eän¸ýø$‰^Û‹á^pCܦhÉU3Ú¿…ºŽßº¨­)xðyÐôŒ¬bD­z¬Ó¡1qN¾nï0gvKʤDݯ½¯íà €^ ´ËûB Šûðõ ª0WÍ>jŽ7(Â~Ÿh:_{®¡ycõdó E ÁÇâ3 kg>š’"-}Z#mcDz9ÂÎÁ‰…ßonuœöél¿­?þ•Å´C•Yí¦#l°œ%xQÆySzNßä iBÃðé!ÑÕ¤Ššµž£÷AZ^—•@„@r‹Š'ý«&“8Óxz·Br¹S¦ŸÎ#UÙ»–ó”5½3CXoÒÁyDåùƒ0t‰;¢fæÂSm²ƒ¿X>úÜ­\zæ´/õʸ'Ž®·:¯Ê¹|XÞ¡¤¾lñÒkªMÌfM ;|ð/ˆßýÃ×µYÉ­Ú ¼/Õ´9¡yŽ$Ä”ŸÀœê-Ž-[2ÅË…ÜÜYdÑV€K*f¥×”Í+ò¼ÈÌ“š>ÚêÎNÁõQx?sÕàçêÜtÓË@åÍÞ o™ã%îKpwàë2µâ[€vÅo˜f3ÃôÙ¤n§k3*v33±˜\„ìBËÇ/ªÊ[«´íS¾ñ>×ðš:\cªö -7Kò-®\òP°VDpX>+ S,ª¸¯r˜®Ä:ùš‚²"’­ËýµHƬS mœú_.×·u—EÎ)9´äÕ¢T^u‰¨¿m¡Ñi²ýŒ/Sx‹.ò¹]—_ jG¸Ýäêó¿ ÝÍ/?™;i+œmcäÓ%ßMÓž|ÿf qb¤-<èPaü¼!É#^â{|”÷ñ12]m4àÊé|LŒnO$¼ÕæÜÙ6²¾ï\âž­˜­Ý MPëëBX^‚´^s˜íhbiÇÙÞ?«q^Sv&‡e'I¥KSR´©´SYÈ~°´x–[÷W†Í×"W˜úÊÿ%œ½ endstream endobj 574 0 obj << /Length1 2239 /Length2 7910 /Length3 0 /Length 9226 /Filter /FlateDecode >> stream xÚ·T“6.Ò ’:Rš. )IiP@cÀ6ØFIJI)ˆtŠ HK ÒÒ‚4‚‚tww|SßW}ÿÿ9ßwvÛ}ÝyÝñ<}~k„TGóƒ€RE- (, spÀÐÐ`b#(CÀ¥þ2PDBÁh ¦Fcì´p€º‹$ ‰IÄ¥€@€(ù¯!)P»Â¬ZuŠ"æPD8y a¶vhLš¸ ܤ¤8ßOw€‚# ƒ€á-0ÚêˆÉ;ôíñŸ\2vh´“”  ›››Ø%€@ÚÊróÜ`h;€EºB­?´ÁŽÐ_̈9v0Ô/\aƒv#¡ àƒ@á(Œ‡ ÜŠ`’ôÕ4÷œ ð_Æš¿ øÿôý÷÷@0øOg0‚ptÃ=`p[€ Ì ¸§¢)€vGóÀpë†`ãvÃÀVƒŸ•ƒ* º0†à?ôP$Ì @Á~PüÓee¸µ"ÂÑ G£ˆÔ§CB!˜¶{þš¬=á÷üG°Á­m~°vq4„Ü] jJÿ˜` â?˜- Â@Ôu‡Ø þoàáý©ý€1 ¼=N ¨7ÌŠù"öD]¡4Òêíù·â¿1°†AÐ+¨- Nü':†Úü’1ÃGÂܦ@ÌîÀŸß¿Ì1ëe€;xü1ÿ9_AC}=e#Þ_ŒëîÜA¸<ùEüBÂBQQ€˜¤$Àû¿A~Óÿ—úOT û§4àŸxjp@òLëþeáúÏRpýs0Ü€ÿfÐF`6 àú³øf@Q óôÿ¼þ?]þÿ¶þG”ÿÛâÿoA*.?Õ\?õÿ5Øæàñf‘]И£ÐB`Nþ¿¦ÆÐ_‡¬µ†¹8þ¯V ƇÜÖáwa(˜;ÔZ††Øý\—‡€‰îƒCu(Ø' €þsm{ÌÓ…ÕOsLÿͨ ‡ ¬\¨ŒD‚=ˆ˜åx‚0çi uÿ¹×A8q`ØylHâªý€~IâA­ß’ ¨óGÂXêÿ‘D1+ø[’ÄøÿH" Á 0$ÄÅñ7."ôÇ´†²ÿc,´ú#aL¬À{”e÷ ‰ü€‘˜b¬`Ôjƒþ ýþµt¿£‚~ÁöPôì%…ãÿã „ü–D1%B˜ýN„™” õ_"&ô·(öCrvÁ¬ò /›?1ym`®W Ïgàk½Åßä8õ.†b„²‹»†µúε!r»•2'ÇõÆ×n8Õ–<|Í¢o™*£á½Coó€×æ°t<¾9,¡Û—(k%”¯r»Óä+ýóÓVéåÕÁ»ŠAW-:Á´±Õ& ñ,8f=yŽMN¦´f)÷ ¦J;ô×§Wé/õ4_­ôïwh5’y¢³ODãõxNrGzy7EWÑûïx@áR9Uu_I;lVCª×uÎf›7•øÉ)³¬´¼sÌÖä…·ƒ¾¬£Ksä"In X®{¥ÈÇ´»4 ºÉ¿bµ¬qùG¢gŸ¢ç[ŠùVSFÚ·¯†sKÏXu¬ÖìïsjVmxk§|)¥ÛQ€±O–J™–Ëð¢Ì¢Äœñ÷UbOœß‘ á–p(ûÈ? ·ÿR~cë¨ÿ VÏEà¡)ì¾F›³éó§#×£L+$ùÀÏçöÙĶ)Ðãçµbþ[²ôÜäó5õf§ÅˆJw„Õá¡5Ü ‡¥Êt“Kº–XUŸ'Õq(îÔGâᬅp|£ÊùàÜC¡¡g‚$Iºl‚TÒßl¾çøº.àEŠ»y/–_öÎfðŒ¿Jp_Pͺˆ…¼ÂÇhM%kÑEKººÔ´:—›KŒç!$8.']^¾9îøÅä¢xáÎÁ.UHX`ÉRŸÌ’-3`A4ïÀ¬ý˹BEYÏâÅ÷ÇÛ…¡¯[¾³Ô”(Z©7"}ÞmtÔ·¢M3`Æz¿( &Zû^ ›¼ÙþPþâô‰]ø«t]êpi©¨Òò`;…I,B~m·×az "iÊn®u`Š“ù9µd¢Ï‘T6™1Z.SwNï½9*¢žjìúl¼ºŽz¬§F~iÊz¿)¾6–=䶯¸¨Õß‘gÐ}°=‰.Ô—?üX5šÏQúÈ4ºƒ’Ú±¸“8â«bK›¥dúMÂã°+yˆt×Nl Ã3Ç—76E7èˆãêV¶‹õ,©S©é‡—¤¢|Óç ¯ ïТæ &ŠÒ°¿ß¶í/Ë212+÷‘æzã És'Úªr~.ä€8Eа©dÊG0ê†à· Ä^{F{ý‰¶ë<ÔêÊÐ'Þš*”`‹Ü§ÁKZÃTMê¨}î¦æÝé“ΠNé0 UNV³Ùyž–/Ó:Æ–‹±o)&‚˜ð>^±W§¤ŒÝFï¨}4"šÔ*¼5;ñÝKzRãÙCî5&~.õÙPhFŒÈ‘¨Ún}þ6ñFìânñ2JJìfDüY„ÕIòSê÷Â1gJüLBä”5•…’š‰6¥÷úè*·㹞½·e}5å¿9d倬šq&”ñç×ôíýèV*k‡#Åk}‹ô¨’ÉQ5žÙ܇¿>R#+îÂ3=JØ®ÔnôÓ›Jó%ëKPî-ÏØ¸ë3yæ^Æ9àH9 i¨PL´ê’§â½>W¢¡ h¼p°ü¼p5¾âe«lxíUàÒGÒäâZ¼ivt¬ŒY)Wx4Ës}A9q#}4Ç‘9%õ°Ç èLû“Žú-ÁfŠcó#-êÌ.8‹|Ô·ò';8vöæ6׳/ih´¯qÚS¹_héyzålü…mO¯¶™NÆÆmz[wXΰ¢Òè÷Z<;¯Í½Ú5_¶SZE KññŒ[Ô«Ø×›®§½_™k—Üxx ñÆqÔ%ô3)­À«üïCí´t¾ŠTëûZ~HÔ¯\'bØ¢¿:;µqèÛ—€#½%pß¹™±7^¥HVàšä(Ómמ.¸KKPépû]Û—Ç*Ÿy€É ÷éqžÆ±.Æ›Ø6F&I|—-@Ji»ËœÌŠÚïY. }hnßæÊd¸Í÷º¥wÛ\¦%Ÿ³U?g‘)Afï€Ã‰Êâ©Û#~?â¸kÓ›š dw_è½gj‘¸á$øzZ—ÙR”çiÜÅ¥jAÍ´{m€L?ŸàõáµÂ'ÇÆ yøäŸ%”t½S¢-äÃõ¯ñD6Ì,Ÿö¶aÅÏíÖ ²ÄЈð£qTð¢ØÔ¼ÑíB¬¶|2áZ'Ö§!~MY/¼ßB]9»8x††©Gcà¥Mî¨v*¨À ˜7¹û¢ŸS}ÇlL€_0pÿvi^ø‹ãîÝZ êÉ.ÓšWN®,‡kWª'4=gÈx½Iš-k‚dßScQ˜f²30"] õúÖöå#ÁÓD½_õfOõ"^ *R>pCUQf•;ôlžÏoÖ\r&c«êçäã¬u{ä.y[ÞŠ K»Ï¾}iøÃÙÃrËûÙ ¦ ·&«Öù®ÉŠÍSo+¯‰ïæ òl}Ó,}Q’|Ë« ¼»sWøÑ†Úb½Öz]—!ãå»Âž lq4+>Æiä5ÁŽäy=³´#ËF™ýÔ#æK­C•Ûû;L¨t¾Ó5«æýáµóï× ¼—U»’—‘àçv¡–'æt:QúÎr?ÿ«˜ÚˆKËNjDµ¤ï°S'»¶˜$£òÎuOw—¬Ï&1=Á„媩¥Šýšó¤ÙCÄ Ý›R&+ó¯€ ¶ÚkA7>N±JãÄYJu¿ŒY³¶¦I:ÆnoÇó´8ö³æ oW›ÞÇ£µædyØ¡ÑI*©]‚my·,[p_\| ç; pÿ*êÜ,3Ú²m§+ác‘¾Þ«o#FŒÍIÕÕJ0Ulw*æ7V9WpÊ­-~âQ6vHå0*gA"'C™úæ2êÁlžžJf± -DZ 9îpú\’µkQ('ß:[)a T W¸G={Þ^¶Oðè)ÕËZöF÷Òã…—å:Ê„Ï?Ï›WR›2Ÿ×J±TœØ'ÏÚÉ èçÛÔ¬8sþlTÍvÆ&xwЪ<©Éª¿á¡ À°Y²[Zìc©BÝ×h¬Ç’ m`±ø'Ü=¼è÷[o)Ê•/ë!¤Õ:Ê(1ŠË¥º«æElžËºÅל먳¯ZÝ+ÙÚgÁ™à“}#ùÎd…5As¯b£Q>Døïóí!Á üÜÊu»1¹c)¥…u—Ö‡Ðd\æmE:4êrx|¥MñCË+ûËͬ%×w̾®×l“îÓ92H¾´œzÙ.Á?ô9Q¼& ?Å…‰f´'¢yš™ùoéÙZMmxw2sg¿¥Ñ±’Aº ²Z·Ã¤DÝöI÷÷ÔÜ]Q©hÆp °¿#‚}[|¯{€¥dö±Ñ€­ö¶oðúº›n›½g Ÿßà Ãò9^*˜¸úÐo~ÎøàFTYб†A Ûµ‹§ì¥¥¥Ý¶¨DJàö·*ùJì;sÅbMŒ\vÀØ5OöMHÂ"°—±ŸMB{¤‹ÖÙCY®xàÁöâÅ»FUïlÓJ„„LÈø“ ä(®Çv„ZýëÇ›ÂY%ñ†±ì!)‡dN>Së#¿G!¢ßFp"ì=g±ÐîíÔ«__AÛÅë„}Ö>–ð»§.¦~Xªd‘«•Ô"Û9n*óÃ<Š“bØyf™AÙiyîÓ呼*úé)‚mO,¾h8J,?vKÍ­ $ž¦»Ëô="Ã+–DÁRk‡0`¯eÙ®m)~)ç5-|6²V‘u¬eÇÂçG$‡ƒÇ•'ÞQ­N¸ûI‚W_V¬fÁÃíq¥Cë^ž—ðJlúRe·f›Ê/YZÂàù¥Ï2ët$CÐèz9(g3›Å”w!9p1 [ûÃ.(ã¹àEPYÞ2 ?ñí—‚'kR"]©F’MUã” . õòmhò1m4vù~BB@òòq, Ùý¾Üæ„Ýj&©NbYÝ%Õ˜û‘‘.¸\|O“ ïú*ÝH–< ò•Ó[¨RåaONÕ˜Îy&ñ¡3—xØÚ|¸¹€´±Xÿ[üóg7k¡5Ùïìⶇj|sã‹Zæ´lÒ’àw/À£Êã ”ù»üÜ 1´XL¬+SBÖOP¿*¼«©=”•oCTu¢-²ƒÆ|-›)%iWx'–¤ÃCfÜä¾Rp-‘yL+îZãÞ Q ÄE'1ÅzIuUëHãѺ|9‰$tmµÎ|ÔÌcLSû_†ÝìùÚšWEþ ÛØ|B?ù´û±©C·fW[?ö4ý˳1kp2ü  àåD0µzÿ|HœcÖ«Tè4"óê†Ø‹;ßÓq»y“I›Ç2—¤ªtÞ‹Ž‹Û³»Œ²qòØîòd Ì(2,²O½WpbÍ·»ÊϹ^ÿ­™zÒpÙ¡F—)w+{€W§µ˜Í4`ûÈÄqË« ¸ZÞ­ÿ¼øA3Ò¼2aêÉù%ÄIšUVbŽ/hJ"\ˆïbË쟼"|mÎêIšfD=±ÈVëø±·¢'®aPXÿÍÆR·( M—‹ŸoŒi´}4Çj'Üy±-¤(þ>RÎNEõÉ#ËNwO€6å0(£þñå$žX›l}‚UÛÞ€®$ˆ9oUrW5¸ŠÂþõ'ö)À«óq«$î’½d–­½.J,)ï‰&öÓü´ÿ˜§ØŒ€æ†%*M³Á½ëôŒí9áË úªŽ¢]‘=RÎÚù„¬_ÐÄü»ÒRÓ!©×/â?}2'£¥ódPµRJºhå¨s U ¯ö”®Qò~)þc ^²¬kÉÖ ™ø›%YSIòmùµ„ç²nž — سbjÜ»:çE!œnÁÃÙêRò·cO6%qÁG‚LyúÞ9÷ô² b}˰»à•¤Ð~Ë;6Ù§™ê£T°üMËÔ±p8ÍøÊŒÃqnŽMïå{ ÇÅésŠVGèÐÉÔšOƒ§ÁUî-gGÁZw­êìyå+n.€D¬ëA>Ñ^J=¼{C×ï\-¸Ïõñ­˜>E‹‘»ÝëŠ<þ‚f­Ñè°”“DÎþz¢iJòÈÈú”`å½¶M6}×Ã:øÝ}¾>£! 07NHžvn}A"ƒùîÖÙ'?“]ìRvcT¢!Qn•·ÛÑ"ýÒÛ¾JËe.Ê¥ EËcîj§ô¯4œ©bØ¡k‰DÜ„£¬A9š¥.¦ëœXôÓmÀ«=«W—gÛïÊž½R_Îàcßø*Ö™Tù*‹cf}W˜ÔE°ù‡z  U<~==)}ôÆ«|#BKf ðypÓ¨Wœú»·Ú1mô@J²<ÿÚ£ÊÝC‹—Äæ8é™X‹î§†ŽBí׊×i$“d¾1ªú¯'渵_¤FMzHÆLÁ•Sž¤’GŒè“—߬W ¸§Äß7;/lï(áœíüÔßbò ¬òÖî­ ›¾ìe˜Gn„E×[{w/G‘5wßéÙ±øwé9 Úª˜wòÑŒ·ñÞ;?câbõyÀbôT?Ù–\â©èÒF"¹¡4ÿƒÝ·–z%xetO•Šˆ”V‚Ì4ë-ÀÀ¶ù^ƒx;ö"ÿä§ÜQ2°lmtú ÌÁ"IÜþýÌåÔ=}GO¯÷¶ù×Ðx/æ]ƒ±àVBÂh„\4_9ÝO–t½Ù}V²}r“µÕn/Âúæöúçöà×û Ω–áÃ%=o`¸ž‹½þË$ÄÌÍËÕ—§ ]SÃýM Jô×£;õ ¨Ÿ6~m1xT–Þ4‚“Ìà´îä5È’GVi&Hâñ™ûpñ´+ÖÓNJ3¤YÌ_F¤ }NÔ6Þl`ú2[p֙㾠C¯€÷†e”ò–ÓžJpC‚9,Äï=1,z¬¨æ·ÈáÂð@f• _ô¨°{ºä®¯Ñ« ®©¼]ºŒ´PWAû¡šÜ/جDµç d.!ö!Ó¦? 7 iÃ&MÈâu¯;¿GžøeôŒd³zúöDØŒGU¨ ©ùËáL&vÇ©5¨ƒºZ-º/HêeçÜTð=u²R¹ƒ6kmJ'¨é4§ÉæØ$Á‚@­È¡…i3ߨ³“¡4£oc2Ó?ÉÑ&V›Ïûp‡ëR’õ÷š‘ÆJ®…_4ô´“â´/§Ÿ¸ÙÅiQÍTßqéÞÁ.æm>ð—n•¨)\ #ÌÕÃÎ{N“9_Ô%Xz—_ÔG8{—§ÖŠ—üiÂÎ*ŽM¡büƒ†ãá‹Êz³-=‚¡'=ÓÛèÛÎÕ+´9µìÓ¯øcÔ"›eü*B(jw €O yyqfDòéá&¾ ĩ̑©ðGØgÙœ»Ò‰.XçǾ½±&ËŸY–«´ÐTœ§R{õÍØ³ñØSpÑ£:Ï„aÉÒ® é¹äóºîŽl×»«j¼È# ݳˆ÷ëŽEÍÝìOVž¢8æüµ^01ü„kîï ÜàGWUÜŠÿ~eƒý“‰Âì‡ìxö¬ðÕÌ )Á÷b°àáW_´â;»Ù)ûânÌÛ€×ÊÏÂ%N…î;FA"fÒ<É,Í ˆ¤(r¦m>g0OÙ§òÅ’ÓZ^2Ï{ZÈà„œöïwy…ìX¡ß³hª xÒT :}äF²Zeç£&Õ‹‘ y¤±@¬>DÇÇh!Nu®áaÊCÈ6½,£U”‡ ¤~c‹hÜcç5žò–®IWÁæ.ÖûUAu‡$˜²r1•Lþ±—œ[˜ŸB´Ìw÷¡²ð;€Ç–ªæ£jø;æß¼Bý×»^\V$ÇÝÃ˰š² 2”ɽ¿ÜdO“YÈâ‚wÉ/MOY=ÿX]ºÅ¿k¬Hc!Xm"E—ƒ»,ÞÚ“—mA×t8IQ^eÜ ÒBjÜ–isd,…ÉQòz¿¯+¾mtÀK¥",&}XeFà ¯XÉcs?ºqQ$MA¬zènÙ9Ó½rcˈWsW½8W> cØÎûöªÜ;ù“ÅòÞ†Ñô;ÇØX#ñY xoKýíVeÓùóé[mç Œä‹É¼ënîë^äèÛO¶rdس/ôeî;=|ñÐ,³ž'„Ó^×°Øk£÷â}R#{ŸÂCA»Qcý*_ÈëaÓQÜÓ+Ýã±4¯·ß¥ (ëš’@xïוÇn§.½V%¹†öxÖcÙØˆD0J/Ä®¥ùѨŒ¾ðÈ»ÂQ\Ò\¾Fù˜nñA´#ι¿;׬_sö|ƒo›æ!.IAã¹A´myÏóAÔê%ÐðM½tgÃŽ°øv©>u®Jä5nž-Ÿ¬‚·zÉF)Uú#ݬ ÕJ8]m¼:ý DömN”Qó5Ñc¨9ÏÌî 8NK÷¢ †&s'øzag¶r/¸Í ¢Ä2kµ)Ò×ß•‰s!I8›ãQ/—½82.b`õß ÇvuwQfO;¯Éèàq¬.7<û|eOyÿ~çnvßhQš¢Éû¸ð…gT}A«h«…²õì3#_8}€+;ùI£§§j½ïé™ Š®ù¨Ü•£½Š-¶rço-xÆÄr„Å§ÚæÑÂåD¯õûXX‰ ÿ&m0° endstream endobj 576 0 obj << /Length1 2787 /Length2 17713 /Length3 0 /Length 19293 /Filter /FlateDecode >> stream xÚŒ÷P\kÓŠâî$Áapwww·àÎàÎ`Á5@àîî,ww·à‚KÐ3[þ½¿{«Î)ª†yºûmyºû]k(IUÔEÍMRŽ FV&>€¸¢†/€……‰…… ‰’RÃdü[ŒDùèâjíèÀ÷/q  ,“0írnvVv++7 €……÷ÿ ]ø&îÖæE&€œ£Ð‰RÜÑÉËÅÚÒ ó_4f´V^^n†?Dí.Öf&EÐÑÌÄ îhf yýÇ€äÄÇÌìááÁdbïÊäèb)DËð°YÔ€®@w 9à‚J&öÀ¿*cB¢hXY»þ%Ww´y˜¸`µÐÁ|ÂÍÁè¨Ë*”€+üeÀø›+ë?îþ>ý‡#k‡?›˜™9Ú;™8xY;X,¬í€e)&'ˆ`â`þ‡¡‰«#ø¼‰»‰µ‰)ØàÏÌMR¢ªp—çjæbírerµ¶û£Dæ?Ü€Y–t0w´·:€\‘þÈOÂÚh¦Ý‹ù¯ÎÚ:8z8xÿ ,¬Ì-þ(ÂÜ͉YÓÁÚÙ (+ñ· X„ô[f 8YXXxØY@gÐÓÌŠù÷^NÀ?•ŠÁøz;9:,ÀE}­-€àHÞ®&î@ÈÅ èëýoÅ++ÀÜÚ 0ZZ; ýö-þÂàæ»X{ôXÀ³Ç `ùãïŸoàñ2wt°óúmþg™•´t%Ĥèÿªø˜˜£'À›‘ ÀÈÆÎàä`pñò|ÿëäŸòÿ¯ô?¥*&Ö§ÆòÛŸ¬ƒ…#€÷¯ ÀÔý_îÍß C øo%Gð$4¿_Ÿ…“Å üÁúÿyüÿ<òÿoêÿðòÿ6øÿ›”›ÝŸjš?õÿ?j{k;¯¿ Àƒì/…¢#x5þ×T ø×"+Í­ÝìÿW+ 2/‡¨ƒ¥Ý?4Z»JY{ÍU¬AfVŽËÿ5ìÝÎÚ¨âèjýÇM`deaùxÛÌlÁ·‰+¸Uª€àeúoDI3Gó?¶Ž“ `ââbâ…Ä.6NN€7+x=ÍžÎ5€™ÉÁ>Wç °ptAú£¡\œfÑ?D!.³ØoÄ`–øxÌ’ÿ n³ÔoÄ `–þØÌ2¿;€Yö7GPø¸ÌŠ¿8žÒoާüâÇSùÀñT#p<µßOý7â0küFàj5#p.ï#p.Z¿8í/XgòbëLìÀ;ðÇÝö 8’‰«™µµ™µ‹™›ý?rV6®¿ k;sà?rðn‚ÅàA³vµýMòN@¿}‚#™þFà¦&f¶®v&®VÿòÏñ‡Øå_0¦.&f@; è_bοÅmä?^YÿÛAÿ±çeÿGþ?À1ûq‚S4s´Ïï?…qü!±·ÿM؃Íü›)v0!æŽvvÿÎ|Ý1ÿæ<ÊÌÀÿåúCïì¾þñÎ<Øv&ÿ¢šÌÅo/ G·GŸ±üí¬·üãñ ü· 8ûßär€9³òr²:üË,³þçjó/ÛA0=¿sæó`÷Ç:ÿÖƒÉüW¬`ƒß¡8Á¾À×À¿ô`g>ìø5¸"§ßj°3'ðßá?}å`ý[úß®²ƒcGü`ÿ—)ן2kÇß½ã3èdçö¯ ÀïDÌο݀ésvsÍM—ÍËõ·ð?‰°óþ-ýo"¬¬`ÿj+˜îßá8Á‡\öÖÿ3ràäÿg+XÁ1;?w˜AV.À˜‡ã¿€}¸ýNõÏw#W3G—3 î§û¿ 8­Ø©ç¿ 8ª×¿ ¸;~ç öôèòWÿ¹ÓÍÜ\ÀíýùÐ_øÿ‡ÿ|­=fHË Žfü!6õ!_ïkE <÷&g)÷´Ri½—]:ÜÐà“hk2ƒ6]nE“†{0Öv$inDVHž½´6ÂlKPmôy2ŠS›ÞkGZšz70YøC´¡Ÿ‘QCdßçÙÙç} -t+d§e®³šJ>ö½GŸ´gCùêXØÂžê~ —<òSù c´f”~`ÉežiÖ<.ˆ‘ëÜ}îæv+gò•D.ŽÉ÷$š½È[w‹-æ×ü‡õJ 6×.< <]\"謱i*o±Ãd9œEïÒâ¨MÁÅlZ&ˆ%‡îüs1sÃ[æ"R6FéEz¿ËbÓiî€Ò=•]ð‹9„+ÔMê6¥#gó9»RËãøŒJïOM†DuA,oaê;oêFè•E»ÍZU²,OƒH­õ³­6= ùÅ蟚´[©ÖrhýëÓ°«¾™È^C‹ž1bw‡:õf‚*Ì³Ò –OÊD\S H{WSø;uÒ?mý˜•*føÓjè싲»gâò9èñ)ò¡H4ƒ%Í%骞Œ ¥‘ânÞŽÀ›3U¶kÌòNÞß®‘§ì󢦨û2›¤”´¾«8"º%™áà‘|/€*”¦ÄŸ‰ÿe>{mï¶Cw” ´ˆ¬ÐÖèÓl„Úô¬)Î|ê´eÿʰ[Œgéì{E«“9 v¨ÔÕÓ73Ë^íhœ™•o:ɦ¸©ÃÚèàN% C`êt!_gJÌÚ/ÊÇMy¢](Œ¥ºv6J˜ë²\n¯O¿†®ß÷$ð‰Ý\AïÉêSø¥ÎÅå7L†7çǤ¾[}s?”9ÔIº{œ\ß]§ÚÕ¨Nc¤0ᵫ=bI×AJ.Æ/eþÆëÕ]Š©Í³‡Jk-gò`Æ,B^oæè[ÕƒÍuRðÚjý¦F&£•MKêLW<ßBýñ˜©Yÿl¾'Á/¿)Kb[\ÿtÃÝdƒ‰ÒFª(vv˨ öýc{¶;˜®'±¨LÙ±X´>¿XçJ)´­£ 7uC\ˆsYIÁIºi¹)¦*]°³Ÿ0ì˜ <':u L¬6ò¢®Ñü­Eç}í1wÆj†s^$âª^íá1Ch{(_©¼ñÜbÏU-¥¦ðŠÜíêUòÎZÊjóǺ»F€}‚Ò^vHžî…m˜‘pT˜Ž¼Í+Öª_{ú7¦½àíUç\¬ÞÙ|•‚^Õï҄ǃp+Gäs=: úX•2èÅýc7þkl–õžF|D{èÔ”·Y K&ó¹éIä ·1¯›–x\F#ùg«¿l€ë»Û¸‚Ê–Ù*!š”IÉŸ,>’?‡º¯ëº}Ý„ÐÝ'{ß«)9œóàQuÿÌx I!Òî·8‚z÷eÙ°ûh"KŸŠ¬vŒ1ÖY§’üZü_û«8€ Øñƒ(£‹þ§MpqD¯©‹ûç–ÑÐ&2ÿ»ÞÙ›<$|ˈ˜ZÞOìU(K½¡8eÝøñ¿Â#Í(QêZ–ÒV½jäÄË>À'žâ`Îèîii‰#eBAï÷ûÙKíÓ^«yqºƒÎ³µœŠÃéwìb»?’°[æ–’sð¨âv‹4©øÍ0ž¸‰ÌÖIœ½×'pU/‹çñäG –«®œD­¦vŠM¼Djó{‰5¾Áºü%‹ú…Ⳍ´N.hÖ5ýHG!Ó†òÙ¢2sÚsðèD.~%Êåd}í[é–~Ál;þÚÝÞ€\ÅiY!G€øQ¢ýÀFClûu¹l’!ßÈ[eŸN7&ÃïÓJ˜nWø™¦Æ'Ó¼mœBõ…÷ærr¡(µ}ç,§×WÚŸ‹Ï‡‰œns`ô&@Wë[ØÄ°Ãn‡$†”KÅ—ÆDÔ7H,þy(0²Þˆ$¡\6‚yxPc‘KˆÃE+í£ýÜax÷C©Ïßà&WO°û­ðy?¿)C¿Éiû(l'Óø5ö2å€'V¹Ú¢0ß^Û!²8ut3U%ªÃÚúeiØ@› -éTìÑÓ?•“h°Ò‚Pò[øFõ7 ÐÖÁ‡^‡Q¯<±Pâþ>@ƈq—#*æeä-:C®Ó"E¾ˆ'Õ³ñY_)‡ŒÖÏ(9îR± ­tüŒ©žŠ7âuÃ*ûS™Ý¾n{|²î,{1!]ߥcòáçºíB^åá]oéõJêó´oÖŒ=ðgYb‰#†e­ f¡j• ¼v(>l«ÛÍO¯No·©pň¾9‘ùG­‘ÏKË™C JeÝëd;Fû"tЦO`?În—ÀÒþˆ}¶”ºÇ2S3O±„h;¸ú•Ã`$…‘Qàèƒí¶«WùýÍ휪,£Ù[ ךä-µ³èÇ2Œ„Ñq¦#÷—­Yé·²“þêeèïSÅ#­4=¥Ð’A?‚ ±'&ñ¨ýTÌÆ_„gacßÏܰ‹®5,°­Vx૨BGV ¡Y™#SèCy%Œ¼ËVw±yÄHº@~ö†æ³õÎ\ÞÄqTÑÙ¶ÉDŠXǾ}kÈiPV9ÕŸFþ,ݤҼ¾lÈ¡§˜¬Ú8YySwàeÊTØóypgªÈÖj>y `ÃûåƒåSÚPÏ%sÛw)’ÝôÂÈü¢ÕM´DQîÇ·0꾟ip|zZ<:0©<5‰" îöM¦ð­ñÍ©´ŠÜ âÁHÀšçþÚpV¢YÑɆYŸDç–9"˜LÜg>N’‹þ)È&×Ëè{lyÃóCÿ¡ë´1éPÒQ±´H4'ÃlHl§Ô5‰\Ÿ|B*§úG¨õáA'ÜssôÃÁõHöA‰½W÷£¡äª«5V¤&÷pjÂC%—’<øˆA¬“ݯ] lH‘rb$ ¿V[ìQ©5·†Ⱦ¼0l+97H¿ü¾!˜Ò¶Ó„âÄèÝ™|ÕÜìÓmøZjÄIÿ•Ì)é\VØ *xÒÆs ë‰7Ÿ £V`ÀkÝMÛpCº¹mûôl¹î²OÏGZI^^ ®ÒÓ¢’%a@ˆn—¼îqA¡û-pnmõjT4tè²ÚéŸËp«ÐüfKbé,ÝØ²Ù=¼\«ŸtZ=Û ò® .§… …z°yÌ4>Úž[ŽÚpÏ:¿Ì^^Õý!᩾Ô:mû¹Éâûv2¨ÅªóD·žÆ‡îr?P;ž‚BR²aÀ“g×Z¥¯cûq™ÙªÆi ½Õ²²5‡Á¥lT'~ý*ÒþÛv6ÅÀy²µÏ–Aµ>Ϊ‡€îŠ3$®$‹TÌÀ°.!kÐJðöøO®WJu¸«#Þ;Dþy5Öt„¢Ú$åËæR9ï7=lÀ7úm~ŽZ»©£¹¾‚Nü*2ÊÜHðȘ† :´¿ÈP¨ “X?¯«_[Õ ´!Wº@-5ª¥a}ÇÖ§þ™i‰&¦òµvnòVNr4ò`ÊÍÚ˽CÄÓ©Û3e"*|Ö°î#:ƒþËëÆ¯]Ês%á‹ÍEQTµà¨#ŸRù.•_¢Ìá—uŒZÛYIY§é3?± SÖßèîÊ2ò,ôGçªÔøaã%Z‡$ÄËžëì|w!©@SV¬ãÇpy­ ýhc9¾=àÉàÂp·úî4?]JÆA²ƒ¸9]›X‚ì×,šAn(ä³*ÖÖ¢{“Žo Vn©æ£,®ºwÚ0÷ŠàtÙÌ <Š”X†mÈ5RñAà#4“Yßÿõ.(çT÷#»Ú#zäþr³î¸^JJ\ÕÌΰ•ÄËO­¨ê¦´¸ €OŸ:²ÅØ$z:x‡­õÖ[Ð1WÖ fŠ*†å¹u³=‘VÍÂjð~¡ŸÍ¬ô¾03¦Á8=7,A¼OŽ5‹9gZ¡Fë5UÇÌv¸¾°0b –ñ¦×׬„gRAܧ´®ß2˜ò«N /STÜe“pÆn:d;0¢~Š> h­We&ðöL–ƒÁ—<× BrécÚ­¥Æ˜ÐØsðù –/C·:b!©?7ÓU! bBª{*hoŠ;ìîŠGO¹¹ ‡¤N æ¾BçËGì°a¸“›dõLõ¹rÎùl;z!´ñ˜¯u-vè\5{šÕ:mgeÔU¥¿Œò(aàÏkŸ ùlÙý¸¦°ì3õînPú/Á±±)¶¤éaÕY7lcŸ‚ETãè p°Ý§}ç8?°Ûo-¥_2Ü”Ö4Tæà5¡G\ùuMI[œCàHŸ”Ç%p$1U}:,æ|¼§Ì[i5ؕ̒‰´p^ ðü4 FØxù£ÀLBÝ àF`ÊlÞ¹ÂÞMv”„|®ùø‘ÀdFÚw/÷°Ý¥>ÉÂ@€" ö¼†Í­©@àÙ]àrQIÛ'_tèIß¶p ™ ^E§j`z–X™¿´½CL-“¶ªÌ±òèýqmï¹ú˾@_P*¿I¿*1k”Û–pù>J"µawHKþ8ïj÷ÛŠ~‚ŸS»~K£†¡ð]<"íå:·Íó-4KøÕžçËI4 A*mKÆö*nº ‚K–3ÏÚ1ÉŸ ñN~K2VÎ>=‹;&Ä­CÝèýÂ1YÓËwŸç]=¶4¢©*ÊŠuÇZži%BeªðÂ@å@”/c\ù-¨~=œw‹_„3ñ—ªs'a·»{à7mÃw‰B ]˜h¿$Ù5Þæ% yÕã ‡«ViM³³…Â§ÓØ•îü@%ŠÜŸö T^4e”J>˜6`J&¬VËR‘x›(0W·#ñ¨¼%Û’a ÑSÝ£K"ü—6”ß…vÓ-ÿc𦪶ÐxakX*ØRÕhDéû[X‡Gg•šö¶æ #šTË%iy*û¾6Pˇž£§*#ÈrGäEcŽ’…ŒÑܬ¶gæè®IŸ=Jõ=Qusây Q¼ôÓÒÕ¾@äoΜœOÚAŒ‰Ì¬f„^­í÷45RÀ”Öœ“&è1¡nöž úlÝ€í'og3½÷^ìçÅÏ„šþÌÚ¬(êy»Î‚-/VTÜnW0Ò×ïKDæºÙûŸ~}ßöë1 ÍíC±|¬‡‚’¦zœ[LòÁ=¿·Úhêý´ûÀ2\h¶œY):§MS“¾ðÄ‚ñÇÃ8²HX =ýÇ-ˆà¶]Qí6|ëB˜äD‡*ÛVüfäYaä8¹h#/vCÌX³ñ{_Ÿw& ´ħèwÐßùYÝãEò6¼1%g*+†FÑQQÒßäw3§KžpÓ £7ÍÑs÷hÍÁ¦‡3ççø°ÅçK÷¢"›e3®8iÕ«1µ—IÜ•"Á™ ¡Cˆb3Õö^=}F¬  §þ‹ÓÜ»9»äW$vyg$ï¿Ö&£±ªÆzõ+!g¿~8‹‰·#,ÿh@iZãôl™µFÂ-@@Ûú^«·õ>bZ)ïÛÒ‹ß ²añÇÔƒ¨9T"(wãÈŠ'wãéöèHýáÚ¹V-¥Ï)B.ïê:ù‚y¬ê×Jâ'[fûK÷”(ècon(HzŠ4òáØ"'ŕןÞçs“îÕ¡¸·Ý “ŒbCм=3Q“V(NøÈu/­¿±Ž|,·ËDöBíýbè£ú˜W«0nÖI…7%ãO»†€8Y:òkÈÇ ˆÛ‹»ŽÚå{–!{ߦ8y?˜¤5N‡NϨ[ùc“Á|£ÜË"¯ÔÞ}.ÄøÂCD`¼‚èØ¸„g©%S‰U{º¥½î‹C­¢dܦî&fñŽ‚!ël>iVávn÷ªYðÁݾŞà=ÆÜb²]`r¸†²¯€kQ‘L{4x‡ð6ÐùëžDŒˈ½+¯0Q_vºQzì¾½ƒŒñŽh¨è"¦ýLzÒÂZU‚IüY~2ÄaÔO ‡1Í¥Õ´¨^ñìŒV“P3sÔÚAß~Ä¥ûêÚâæŠŠ3¡$…’Š¡Ñrhù¯C÷º–Û2tq=ÀK§OiZ±ÇL «7ÖuŠåìë—C‹ ’­ªh2ó®m.UxY“Ž»™¬0´~I¦moêYÖ™¿ºS°çÓh±ç雲‘Ç(§úatŒùcS"«9I?Ê;*¨·§(ÍÇßZ©XíJœ¯|Q‹KÃeüRÝŠ¯~y´ÿ)ä ]1ð²xo¾Pç†$’´<…adòrH…û¤a½ôW€ñ0™¼É~|çIy ž¹Gü‘¥Ž]Ä7¿w8|ÌABÕº¥üÀ9©no%ò\ï™Sßan¯{K$ìT+<õæÐ|”-cn1 Þ»CUq*yW87»‘9¹æt ®E(ë —pÉ)mKˉo›Tî#C2F²Å´ ƒë j¸Ût1uͰª=–ÃÚ5néï¦âÉÊ)>—}V˜)$ãp_k-êY.sèm×¼!…EÚ›ûù¸©#r¯ñÆÛÌ}³-Ž>þÓ„λ„Qzgkƒ{„ŸÌ† ´;Ä‘‘Dñö^›¬ø‚Wáå›°cPÓjü¼­›@Þ3+ÂÔaÙêÍñšv;2&0§\‚â6†ïo¿J­…VcEÂ…KÙá!+ zE@[ ìK +å­Ó™tc&G´.AõuãsηíÎv$õD‘¶WF˜— ²¡}Ú™È@³~(õ`&›äw¶Ðº$‹I1D¨Þa¡À´t 9«1ѺÊs?¶gzÏ[íb6Éöæë4' }hÆuŸ¼7Pñ‡?§£‚·õá¿Î³ àZ ›Aó†¢l›G5Ôf›Vˆ²4È‹¿'¸ {o_Ó\Y¬håy·›£BuF3åC°dù˜?e¸P€3ôŒØW8?êsZ×Fsbn;´‡ßyœ7±Ö-0—í<)GíQ)ö³TÝAPèŸm©¼n¬\—[´i6wÝš€R­Ÿ)OwÅœ:Žù؈QÝ‚öÕòs=¯î­‹û®X\ó5±–¼`Šÿ®jœ /†Àd×{Æ*E ©¡ÏF@3AAYŸáäØ"•v®ÏQ¬ë±¥õë´ªà’.,Ì£—Y˜=€½Þ ¤‹ÍlËUhˆ‰vOfz¯¬]S0ò~ö9Àc ãÝ4´°nµ’}¸¦XãÃêSÜBl¿]@— ¿¡`IùÝWfˆÉ@ò[¡ÎêNóˆ]ðç8f&gyQÉqdâ}®äXô‹ªâÑã^ãqU ÑÉò)"ê‡b.xåÒg陊m‰ñøk=ÕöW% ®TK¾¥¤RßXžØñ·ß„]íf/¤yÉ($— Þ_˜+n”d*½mnHáN°´÷xÊÔñ¾÷žR#äM&›æ«_%A³J1a2´EÞ¢W‚Wµú}ù·-ÍÕ¶‡¯Ÿ=$_çíÒ3ûÿg¿kx&ûñ˜…}°øCgQãTYHAKñ½zf²·x2,“–ÇáÀ„,gž¼ƒØº c×O‰öüµg Vm\(/`ÅÅaч„:Wà!ã™Ln'!•´T}ÉÄÊ»eŒ3X3o‡ç~™}ÍE gÞíÙ† ] ƽR8~ùŠÂŽò‡iÙ©$­kzàEhGµ;ËÄ#½ŽÙ(ß4±Nw •Ÿßˆš¡;ªF¿ý¬Ô¦·J…Ð\a>¯¾=·ds:[J.¬èšÝGØZ¥]€)’lí¬kZÿB‰ò¾$£PP2 rýr‡+!QÄ÷®~À¸xÐsúS¬ð/Öeó•€yó‚þ•ãY²Nî0· þ—ëkq£|„¤öÈӤʈ‹q¼¦àOݤš3ŽJ Œ´3lQI~óˆC/F& HÔG a ­‡ý/nú ŸfƒÈzŠR¹ÙòŒá­ÊÛaû䯈^’€¬È ¨_–7áæ5N,ó3,È…|Á¸H¾Ï)ÚŽUoœM ø´a¸œ´$!Ö“‘ˆDö¾+´||’£#✠å݉’±ߦ?X=»e~Ñ\æ@ø9Z^VÕ‰e*&`k§ÊûõF+ðVÙ­õÊ|Gã=¹Yìp›I¹úxÁ@û¤xNµÝ‚] ÷ƒ,º‡ƒzéÜJ&̨oM¹ËþÕ~g›­e=dr‰Ô ö¶7¾žùÝéÏJ° X˜QÖ˜ÚL8Úªá>‡´9¶+Ÿˆ¥á“NŸº›ÞROõ¹¥á„ZyWB;'™xuÉç- áÛÎúË ·<ÿ(f¯{.ødïÝŒ íf° 2?Tr[Àà‚B:õÒ’0ߣæ¥àÅ ®Á=Á؆lŒj2ì,"oQS¦ uy…zçÀPÏùº+&&3ÒûðÎL;âµê gR‹ÿÖóZ÷*¦r™!ñ–Há™:¥Iq¥î•.Ü£("ÚåxÁuz¨þhÌv‘§*ˆ¸_½T^* 9¨×2P„Î ÛÆõäÆ,Q»/ ŠœÌ-"å¬ Æ,«0CÍ0 ¾ù€ž}$C@®þxªê ÝÈø`—Úzouw~MÑ|ã»ñúAˆ x<1ŵ†öPœÓ¿4ÕÆîJ׆°õËqÌ>¬ ¶¦I Òö¹A÷~%éCµPJã³}@á|Ö€¶á¤¶ªé¡.Z ®›Ìç™DɾªÑ5JêRD¹Ü–­2èLONe’›èø|Ülq¡1«~Ë9~|©À› A6{XcÁ\[¹¼éâ–‡ˆ~ON¦}ðþ#ÝÄůy÷»´ƒ£¤:9IµB¤öPȉOÍã¦(M¹Èf ¤ßÔ`Ï>#¶ÃT'”fêñ^ªc 5×ÈZ %B{SÏíŠEêÏÈ®e¶ËÁ´z^ßW²WXn]ñ^’µ?-¸Q^,šåÙ(ð²2NÖIYO·]áWAºqÚ{K‹±®¡²ªî¡”î}¥‹Pt3ƒþÐ4#‰2S´°5<öä(äU„¸¨ê]Ö è ç¸K¸Ó7ȧ^Ö¨Ù éÖŸiÖ6¹•(XIf'lþߦŒ¸è¹‚àë~ı}+ßAˆ.ÿÒáLH›ŒÁÀZºÎ¤OÇ ¬Ä~hleU -£Ñé–çâÀ;úIð‚Þæ]¸é„ÌtÙå Ž›»e|®:?~“[½×;mÑCÌ-M]±e*s+¾¼ì!gykVä;]‡­ÿ7áÞJÀ¸¶®^8Í}XŸ9Z@èZ&ÇþsúÄ~éºB¢ ×uþ度•«¶îæh­n-tÑzÃUÞ~·ª(ý4 ÜC©Ï¡ô*‰Lƒ¹ÚSìûz—£}ß‹‡Š³£þ ©—–›!£ì5›µÙeÂ8‹Øc\-ærn{äŒù+s‘W;²pЉïߥ63„¡ûE‘PÁÐBŶ£="bÁæö§®úúWrž©VÕ¥Ñp"Y!]l›´îQ4<ù—öÚœœ½·ÄÂ/RÊÏR?´ PSøÕ‰¸÷¾kÖË87ˆI5Vø§E[}HL7k°I!Aë´+Í¡X ¾ˆô(S˜cvÅ雚œg„:.£cc¡F÷W“ÎKY˜ óˆ÷£5؇ù˜âF°ê'\ðÂÌGdÇË_¸–VFÿE1{pjiåX¯ÂèÛgBo- Ÿ¦Â<³.d;/2MM{¥«žæÓ¼¹¹ñ$~%^Ùdå§ÕØ"u»Ý\÷G¼–×”oêåþÅ814íJ)À’z‰«ÁT'êÝoLH(¶‹ \tÒáŬùÑùthûñÚô$'š9re¥9N©ìZš2}Ó{ ±Â«(߆ÖÐ?Gs¸ÕcÎð–ÇæI=¾c&:u7ݲ€òû)(4æ‡0EÂWú¢µÖ{”3QKùŒ{Ÿf©Å}Î?a'uÛ†)tÝ<²~£=ôcýãTSï–B<ÿÙjk'WM÷~ùpÌ2ì‹aãÙÏoýUGCót•h\Œ?ð.7‡m;ü€¦ P) ½|T‰|þì( yÅÚëØßÌ{Êf(yí‡g?3M•«pˆÓGd®ò œ:. ¶Y„~¹'Ò\žÒGõ’"H”Íøv¶ ©G´å@.Ë*`G»¼¦ùïá¿{Ÿ~ØQ™Í~żsšé‡ð\ñ ·lGã{Ü[•–JžŒ9©Úwñ 6QèñØJ ÑÚK»}Ø«Ê:'¦¦À°Îua ¹_¬•\o9¦U¾/Ò(³}­o˜>ÏkJùžðæŒv>h™µ @CxDë†ø±Î+Øç—è•ÚZ±Ø~ý ïÅ6âv]ìÐrôU‰V®ƒ'ÃlŸ¸¢µQÎ:pßË·Ðhñ©sû!‹vî[5¢á§²D¦ÈÛßd#/V”R¡$ÏdÄY^-È~n±ìVÚZ£1ÿ]@ÜJKEÄ[N9Ïë:eViTBÏ%ÔdÖL Óþ_1®4bĨÃ:¼ØéÖ[(Xžñ(诌•²ÒýCibòíK-1ø!p†(yßôÄ @?”DÞú¾ÿØÝõ†™”ä<ÆÿéO~r‹h¶Â.†7ë^]g?™öÑs}£ûS}6½Óë3×OÿŒÀ» Ø`u§]ˆ†èÖŒ·q©L›TÎ*òÖ»6A¨£ rÌqjÁû¤ûÏoÜ}HÃ|jtÜDƒã¸ØïxZ2KDÇêý…u{G@âPÈ{X¾È=¤ø?QPëÂnSÐðŒ™•¾eu7NÎ×ȔƑ5šÎ£ÂæIÑZC §/«Ó¸à=/õ$ëq…ÐÊQ©ÑZ‡¡Œ¼¹¡( xcHªlòÔô#Š“½ÄÊÄd•8wU-î2µð ¾l£¤+ð~ùškv<ïqù%ª'¼é޾£½Ú`¶qwèI”£!ÄË¡zêÔÐ8ªÖêÒÿá§Ò·„°ä;ÅœœU]7ËD›3•«¤0óg¢À{CÙP¼‡ïëŸ+ QhSݪ©ç¾ ?°* .“Q ÷Pð}µê $†üò¥>ú¸GÏŽÞïuóç¶ž ²'ÔŠb0ä ý91#ð˜tÖlÞX…è3Lv—bìcÓl°d‚?YÙDª{Ca`S³Í8c¥.¹EhfÿÄ4 ‚¢Ïo¨&îúb#kdV}IM¹àwÞ¬ílU ÿh1-OûÊXNüFµZ /‡ÞóÊŒZ‰xíÛ°Ë|pW‹ñnT¾[£b†KÁx½[YŒQç;·}ØèŒ(µ·Äð£6Y {Þüm)YÑ ¦ËÒŽއârŒÅÑð5¡¡-yÆÈ„n1ì´P$•×¢Ò+ØR¹‹nÉß¾üJ_ô¸»Uþ¾†‘ö AÕ'qúDMÜíWy­ «ªê²Â ½†Óñ ô¬j1©V]ˆÄ ðN2µ}1—Y9ž¥1¦r œ¥Â7Šv‹ƒtö±LY¹Blàô*¾‘™(H@²MßU‰¤ŸÄ CËDµÁž÷€™Ú9fa#¹9)ÌK±E*øýÄÃ‘ŽŠêšj ž«6 6ó*™š0åž±ÃVHVô>—Á]Ð,Ë‚ŸTÀý'š¢½\¡ç /³Ú¸‚ÇŽ@v <³|_½}·$(]¤;¬‰íL½¾ù#ÒÁ‡’çrWù×m ÌU =z¥ÑKÈ7 ¸D£w¹(ÙÁ•³ŸvM_—êÐÌ[Ë–ZòOƒtÕ‰ Y$Eè¨ Xn\p]~¶Âܯ´©TTÐ+»6ÇH 2c©-£]H‘s»FòòIËòš¦ß )÷q¡v÷O¾N }ˆlvóõd7$ß\ª1û¤z݆ûÖ§˜êÖÆŠ,¦{J‘$¨fH½.îaá¬ß°Ò˜U™ŠÌµ¡TÏÁ™Ç¾ë½5:hº£³]£•/†6Õ^é~òã4йºaOò[‰‹ùe‚[éýŦ=,êèÕN 7øP‚36£‘–¿Ìô¹og]à¸jÌò6¹5­³ð}”¹Å>_dcìç\GΧ‹„È…>%@•j¡W´‹ËøÆ.öÅóëµÔÖÕ5¼ÜxãÈýU@/—pœJ©Ï·<Ê^lÕ”÷Û¾sU"a'ëÚx7ÏÎ/(f8³FâÏá^³{ª+<6Ø›9¼ëC9õ?"™¾0x=i¾j%ç3p©}3M \|P6¦Þ1ðkK‡Áyõÿx4þnpŸî»•P\/ÔÃç&ž v%ê^ék!ÌQëû6Ù`ÿН¬S~`IN{éM­‚¯òLß>¬·Ü¹ _Ú¦Ê{h•ÒÑ EÙv·Š~àhte„D͆»i}…æÐ’*Š8W{œ° àœQ?M)Þ`å*ÑŒy7ØÇܪºÑrµ´8½Ìæ)³Tµv>ô´ºæ&{ø¹ùSïò™2ïGò¶ØÄ¸ÁPýjn3°׬ֈ{$ªÇ†TE™U[È›¨é0\yõ »{ Úl÷P¡Ñ½¬‰`´TDEéÒ~ƒ$Ü=Pæ¾â&â]ð5@Ñ ²øÄX9¤å×c¾6N²ß6¢:‘§œó:×e¥Ù\ÂÄ ý®Õ6uççÇp±4.UÔŠòz\{‰ù’G¼dí‡^–ŽŸ•ê×e4'ªªòÅ#1¯â·y­Úèâ/Ív”’­÷TJÚ°Èè2=gœö¨.v˜b©tÄÇW±€`« ˜ó‚t¢†Í+o9UÑzÖàB¨4ñëþ÷©Á‹Üóv›1ç¨Ò¾Â°/yv ò…úž‹l0'0mÆê /ägOú¥„ú{ Œ—±IA²ÓedC°õº0C/öðW0½ fó” ¹w½KïL1Rê8ùõ 61#¶˜éã˜åH²·çÉËh{'kêCEÌõ"ä`ñ•‰¤¹ªÇ색Cè ŒöV`bÞÞ‡#/ª0Ö-›# ÒxÙ´ÛËCË•¼B«Åû!Ž3žúÉ…ÒO½ˆ”.)zßÄ1۽͠ MK&µ¿œÌ9 UÄ%Æ0™¥Û¥Í—"(´‘l‚ͽq1ÒýÔ1õÄÆªpp/Ðñ½û”v"ÖŒ^@ûÖÍ<óÉV¿çÍ,{jkL”ª€ÜgxšmÍfb2.:,Q4Žðs€²¤ÀìÇào£¦Õ…ägä„Äìe‚í!TŸÒ˜c§´³ýÞƒéF ¹—]ƒÜ&Ly5²ŸÀ’[HÕ²#¦>oeäitã;ÚŠànÅi^Åù\t’&ëwÝÓâ~s “h µ?ìe…ûRVpKDŸAÐÒú\bߎñó}¨ñÕ’UnöôºÛwžGsmx:!i–*EFq’Ð ’#õ%£2KE‘} d³Ê¬µ,ž…o \èCNÂî™_ËH¢ÛÎØ¥R7hǾm„2M676ŽÎmZíJ\ø~™nD?#§DfêÊ^È{§çCœ7ûta9û›|Z/îЬ„ø^¤…Ò«oj6°éWÅj‘«ÍÛÄÝxp2Å7"mç« ŠÏ º¶wì??¥§™ç1~M¦l6Ž]ñNr‰ò-ÎWrO+ã÷Jþ€ŸþöCå$âP™5÷í¼ÝÛ–)Ÿ•cŽÍ̬î÷âo*¶9R±–cOßЙ©‘**;h•û»­ªáz¬2-ç@v\ˆ‘cq!wEe4<µD7i²a>;-°¾®*<¤¦2â*‰‰† åÞŠ÷a&B#[ó’e!gaÛŸ´nˆj êäG"PlŒn`÷{©iílî·a¶¶y]3JMˆŒé±Å5´ KàfÌ+Åæ¿WØšÅÏÖµÀ q>>~éN…ùÊ{Âè¹K)n5Q‰ì˜µv7jåAA'Lld®(è‚êøM8Ü•­¼Ä”?)õZf„7$FŠ”·ï»ƒŒ%“ äû~Äæg®Ì $ÛŠA9¶rlä‰íCAŽ þüj^.GÝSÊë]ƒ§ûüøV0ÇŽRò5yOÄüýÍ\|±åѤ;=UöÑ ø (óñ׃~P°Í¬ÃL"Ã%U’%¢šŽÑÀ^›ƒß®Ñ!ڬㅉ-<“‚ +øçïÏ]U…{dãÓXÊ rWœÅ#©1È7JbM‘*-°|—éµ]¹#É%ËL¡†Äu·#ê±Îq:"\o¦-Þœ*Ùþ˜y;ƒæ+:×5èí¥øˆÔ²2'‡óÍýG wmíMºówuÉ-QmЗ…žƒÐ®Pì÷…VÏ…¹ÃsNì;£žŸï¶l7‚" |c àrR3V1%­èˆ>,ðW˼²Îè©>œ`œfõXÖe‹?é®×EÞ·_’¹Ê im=“ÜT2~Í}°”ôÐŒ»‡ÏbX“r=h^|t0]C»n!9ÿUÍl™®™~yæë`ùÐGyŒó2ÀóÌÐ]»í‘âærÅ›àêÝ›l4R-¢vŽ×‘lÍ€)8·¹]òÓ|¸?SÉZ‹ÄºUÌŸ’ñsÅû~_Œ˜KýdžÜ‚-&|&öì§«ác,¥ª¨UÍtMy^^ÞYD¿W[U9(é÷V ‹p¶cTÕzmK¨#.uû/¶E³zÓÖ,§Ôš›GMk×Ò¦g|Z&p'æ±S¶e¡¼=DºÊ>õ†W%šãÃ3”%‚å%QGOp9ò©|­þí>pL¼ã°h{ÄȬò:ËŠ7&˜é e\Çu>Õ”‘úÑÌÇ¥éõCjBØìÌTµl”¥  dÒwdj”j(|¶'9‰²kU5ÈwcsíÉ+bºµ^4/ÐtþÓᨠŸ Ñ‰WÉÛ9%‘±Ž±¨Êß틙켡8|ü‘àëyHG|ÄeîÞ1N†}?o_7–ònˆë™lž_w^›H[ü·`ç.ï/Ê|S ÐE<­xf ‘cYÙÀµûåƒù&êä>C[xH“-¯-•S ðœÅ>0u½Ôä$òš™ÂÏR£f5€z@ƒšÃ%ÿdÍæ!ED Ûp'ñÐ ¿ÆûPXÄ¥ñ‰¹W®õM•ámÓg×FRNµðm¨(¹ª¹8ÄîÕÄ3ò+5½••¡ö¼•ñÝ„¢ŽœV«ç¦ÖñÞ%wKmÔ£/þ®o””¼ßWsôçžóõ³‹ãr>å…Š åÁ5'¢± Ì×´‚Ú¨NyÃ=Eâõ”ã¶ôÄöÎÑ*¸QÝf9DÁÅrȘRÕk¡ä§•Õã7ñßàvÌ}Ç&gâ1Yœ{UkÍ3ˆEZo §;W¸eW̃¤ÙKé›ÈH è$¶±ðÏ`’ÏÑÚ¼Ø)F†]ÍžQíƒûºö䘖®È'jb x™¦W†eÕ» ?Ì8„*à7K¬Æq›Seæþ@úë¨2\ŸOHòv¢1U`F¤3øî•ÿ~pÐX*Ñó{Ùlß‹Ãë Eâ–ª9W›À|›ž«ÈHq[;Ï·Úé©=tSúðʪj‘gs?¿ˆ} r+ås…po¡Jå‘ó¨O§Œ¡;U¯[¤„ÀßFž†´ÅxÇ0çæ‘“Zi(€_á ‰…l‡y±?Åìqj¡dÖ»ÄzG9¸érÿ,Çã§¼|9òtãÁ•B,š8IÈÇúSÍ1"p}ž 3ØÐô¸†AÏ}xæ¸e.G¶´‘·ÎûMaí¨ÍCe#5éhl=žùwyö&âÈá¢tšosµ„bèJØ{!"ËÛ|‹ù$–Þ¼ž(%Ÿ%“æF–ä;n‡)÷Z®$gØpeGhØË ÕKgÛ»ò[Xœj™oÿP<Ód ñh@0°Õ¾Ýšµç×èpÕD Ê¡³€ÁqU··Ð‹B´…@©,w%nËxûŽ\P k_â±a—¬T+ Â3"Räm$ž®‰GL­ìçôÍ‘¿d~Á§Oüg¦>Eh73jtÙø@+œðÖCÖ¸l …Õªk!c£*ÐÃ~y\dûˆÂŒˆýÉüê#@w9ø¾¢l¾ µ íYŽ´ÑæÉqQšìÍíi«˜rEFžwmã)åz§þÕ0y7°GKnßÚ-Üêý²¦¼¤•åthÖa—ú­˜Û|mD_Æí¼ÁÆøzeQÏ4§"©FˆÜ³SÜ[Ö¯.hÌ¢§ ‚›WxŽúLd§ß©„ß•Á|#t£Ëî©áÊùê ›òßíEÙb–mLý¤Œ÷Nñ·ÊÌi‡e«ƒœ»; “®üüЧÙb$˜aÿ ˜ `´ÅËGCÓ ç|9Äšq3E盯r{¢™Ÿ¨?ãV¦*rß¶¦È·.dÎ7'YèTHJDlèÂêb³t‘SnS5b9{)ø>›,Yzy}ÖD1Í˪(2þ:qm^[=µ Á³T<-þ íÛþBD›ŒÕ2ެ"ZÒ¶ôA<Ç$#Õ›Õü’hEÝfÞ7ÁÈãu$?ªz-ã»’(î¿j)£ú ·^±æƒø†}!lü9hå˜]EáJ”W:ňv,4Ènalí›cü>œ³&©"ñ–èÖ{uÞL Ç´Šæ.PO-CvÌ©©â½Cçñò·ë{çµ,æ ÍhÎé§h‘…—$õc>†¨oUj>L›Ù¸Áú‹+ž›{NŽ¡UÂé? ÷^~B¾ÀB+üº|>±•7ÄYü´Ä·eУ÷ŽX7=âÁW„ò‹"ûŽ)ŒOIØ ÀžÔiÿ•í¼—XK·™{i:þ*OÆÑ 6d¥S ‹¥y¤r”Oœ‚©lÒ‰ál¯}ÝÈž‡h}€V y–Á^AÝð6ófJPøÖ£cÍŒ¾j—^&³áV˜Pï«ä]¶šˆ¡=þa1ÂZºé9Â}öʦ}®?•µ5µqj»ÝCok‡Ô˜Ö¦ÁœÃ1þhñ°PD¼Ã¬¡5hÛˆ|ëk¯¢©v®1pëh¥ëµHî¸=žE¦’ƒõ’èÎ8ø—³Mò¬“ÿëÛBèxy{uU^•ÚÜBÔS?g'‹ay#’ mv>ˆÜ€¬ü‘Éåx,ÒAްh<ÿ'€꫞uÈkT?ix@Í…ªм>Âfi¥eƒJi(¤² ¨ê"óYàÞ"29¸öÅX\'³’£Ä~:,®¢„>ÿ¼Aÿ¼9ÏMê!Í=$ltW&³Kn)ê^õ0ù9EBº(8΀{1 ?Ü<á!bøPWô/¹vjD§êäÕ–ÓÏчµk ?S<¹~‹…WÖ ØÂª¨ODÄò!åÇ««!µæµ°¹WÌ4{íÆGëű^!¤Ô™¤õ¥uTX'vïë`Š~å`ÅÌV ÚmM06RÛëÉÉ4ˆ4嶘×iÞ/ ;ÃõÎÚgÀ?Ñ:ú»Ú°&*‘WãÙ¶hÃù‘Œðy×à,ŸQù˜U8£îÕX¬×b_mEÊ3˜hº‰ê~é}zòÎÃþW3ѧwÿöxKüf’lÐÙÒoÈ;|^)“·ö@·â\¹R”’‹ÅÈš¤/ýÜlNÛò’Ä8¥hzh|-'nä[•[«\Ê_Qˆ» gä •”hå#±¯)ð^0„c8„» Áæ ¨ïÔn©2]ykÌ4c®#c­¿§vQñ-ê&ˆìâ$¢+‡‘W‘ÿ]íQW™s X?åÖP…¿Qm!WsiO1ÏQ Tƒ%ÐXÏpÃÍ€Ç8<ØácçÂB8Ê–@¯°ºÉP¢ÉM‚`¦¯‘[I!GùÒ#òsªÍ‘óQo`ˆŒ;(~ø¹'¤- ù†TÈ1íE‘:I³¥>ˆð(TõO©òêÜз’ò;#¥H z€Ki"Fí Mâag‘æeˆM ‰Ù meiWñ§ˆÇÜšJ-÷)­qÔô¹âÁÞ-ãX”'ÐXÁ!8Ï«4‹TË«k²Áé¶víÕ1F”ÜÐ:_N÷’=å4 N ÷탇qžæ¥;åPí#㉂­olsR l®„>Ob¼=¯µHa@}DÛôùÇ].lY¿×¢Ñv*"4Üê ðêÔ ²ØqAa{ó7o%¼fdlŠ4$˜ëyå ÙŒpJÌô¡cgŒˆmYÀA>Zâô/Ü ½Ó}`Niôˆ†¬­o ª¿ÀU|¤žÅr ç†>,ØYz)Õ‡—68õ«Wé^îÜi¸.ƒtB˜ r4Á_ÐþöÓþÜ>ï>ZƒÈ˜UÑÿq¡³u¿˜ —˜ûà <ôÖáG(>‰‹Jýöˆùš(‹)JñùµN)ab¿d@`ÑŸmÇ¢Ó±Ž´šà§4(bA–VO o¯)X[ãc!g:^4•v $Ž®¡…ŒÛ× °ÆÉ~ŠoN¡x¹½–ÏÉ.*Da£œuÍùÝk’ÜÈ“œ?ÆoQ¨âs;˜VPíä:äåCz%C›"¯a7×õrê˜\ áÇrÆ"ÀÅ…C ˜w—ŒõËmâÈÔÈÛßDÏ~¿…Žê/N^¨°@Û GÅ牔øËh½]7mß« óßóVn…|šflQáv)Ì™ç5Ö)çüä•èDÎkù:H‚·?wv “Q‘óøXšgXëþx´ lÈ"}ð‚•Xµ÷@Ë™Eö£3|×’8bEãH)”Ñï<,ÿåÇÈ=ˆ}`³4”dÍ™8qéqŠußX¬ÿnáÉíɈGÓ늷kÜVpúÁ §£µ76ªº ¢ÖU±D?3—×¾ˆ&°”®Mfë ­›9$¼OÁ±Y²­h+äÌ×& ¸"÷< ¤€æƒl$½ºÐ;1ÒáæÝÎH"ôÈË„ÙȦ@ot*¯9%4êEÍŽ¶®/&»Øúo–NÙEŽ Í{}¤aϳðЏ: {ǃör䤱‰á™â÷0RŸÞ»A’ì|ä­Â3¼í™õoÌØž’ADMÒæ¡šg ‡– TÓóõ;º<¢¥(qÌ,v¥¨.<Oš“Î@G!‘i; ý¼˜§µ*s!ã”w;H«ào÷ZàŽVWm!H(pÅÀ*&WÓ Ñ|‡ÒØ'|MgŸx:”ëSÔs[WRk£µ9rUÆ»D„ÐÙ\Ö¿¡SZlÉN¢dþE6ТLx-Ü 0Y(œ¶œÏ=m4J¤ã™,x5‰i é×ÒÝë,G dÆäAã%±êÚKÿ?æûåñMå- â¨C›‡ùë"âÂA–ò›Õ‚­m¢z g¢]OÃ~q»Ó¶jÈŒ˜¯Îf‹»€& éòkSÓ,¯Ú ÏŠW`ºÜ£Ow_ö°A\®yO1†¡{¸‰VŒ1O°´+’Òš|û'‘;l#~ÀÄø\§Bx'ë„Æ¹õ¸÷Z[õcž1!°¨Ywfðn[P’b 81Y–‚Çõ7N}²ƒ‘ªÄ)§Û¹Ò”¾ÜŒŒÏƒóÚ¯^ïO„ø½sÓo«X8%D¢Ts&& ZÑDŸü~Ïiá(>DQÉRò–o-¥5IÉÇ|q>º¼=‚ûÊNÜÒ¹HÉUÿ òtlCïx  9U;tC ü+> stream xÚuT 8Ôm÷NR¶¥~ö%ËŒì{öÈVĘc3cflYS²d‘%{Hd˾“}¢,‘ìÊRÊZü‡÷{ÿïû½ß÷]s]Æs?÷9÷9÷9Ïðq™˜‰ªÁ0pm š )&{CÁIô‚BBˆƒ$©ùø4pp‰AkBp@‡ !ÞXƒÀ² r€$A"Zºã!L@ ,}üE 0$”8ÀH4µø±ä ´#KýÃܱÞyÀqx’ ø/u!€¤ àQÞ îH-®Ázã' (4‘p0qG@DŽkü•ûg”†€„ÂÁ¿Eÿï`Ž'àî8 pGÃà8€àtŒÌ8Žƒ H1Ç’¢ñ¤¼NVA\ÜÓÓS vÃàâP’ îHG`Qb/‚ †  ‡"I)à^P8öØT ǹ"ñ'm#ñA+0 E¹Ãà$yîHr Àâ0¤{WÒ )• O0ƒâX€Á&šÚ€#ŭ('µ0Ž$& uw…“âÿ¼#@h<@€{Žuà¤9à±(ˆ7I—” ‹Cž”àŽG¢©‹\E@p0’÷ØR.ò¸ üq ê_†@°X”÷I,æ„õÿúHŽrüùh»£PFW’“ÇKo!ðÇþâŠDyÿÅ=¦þ“óG¤A2CT^LôŒÄk#½à0$ê8BP¤:Opóã£h8ÉÏ“VQ0ô»[NH¨ ú¸ñ?ÓYÂÿX$S8ÂÁý£8öÏÊIžÔ-®§nb §víŸïí„¥…†b`ÇÎIHËâMMzF¤“4à&÷:^'@\ !B¬;Á4õñ+’—Ä!(¬ä>AÀ äBÈß!9@qu€ý ËâWÒ|ÿIâ8'Ìßi@D¸þÁù÷öLHE¸å… ¿ú=9ƒÿ:“ÚÅ!½€; ÒÓ>öøäó×ÿ¶ÿÅ2uuŒà#* D%dey +)é÷ïL¨;GZ¯“’óžOžî‡Ra ×:'&'J.§wôiÞôU””¼,!1÷»é‡ü öjÇVbh ù÷ïN++]û¯>•‚}”¼DûÙèW€ŽwE³â™Øººn›Mþ'}†«/‡W‰-‹„•k½ÁdêÉÑEzÍU®˜Ág~wgê3V¬o]µn ¨šÖ¶5û¥4Þl!È{½x«ÌÒ·¦wáûª~˜¡ñqdšN†ùæ‰ÕFñ”êuá Ç*3þºUiÃ#l;I܃X¿rEõ«vŸlZþ'¬ÛÁÈýεŸäBÑ»ÎÎÆNŒ|f-=Ûx·¤«UJ#›á>sCb¶4¡·se‡âèÖcV®h>ôÌ/w­îip±5²È/çliT¦! YE‚RµUÐ-ÖõɯøÃ†äÎ÷Öàêm¯¢è°§õkt4JFè°d˜¶ô2„M9A|í0ÞÁ9oÕOÑõãqy¾|õ‹í GTH*-µÄ¸á¨Kt*vHáË••ûÁœd_ªL°ÍÏž`:îÜ ~¬B-®˜’JZ¥)(ùðÅ”ËäΧzãŠAe`vö»ÖzƳÒËYô—¡n¦²™§›c ø¾2GY €Ëê^¬^î\§ Õ“e™™K‘)¥ÖÒ#2#敪uÏÆh»\.èe÷B8­ý~O^¦öXLûØ´—e¢ qþhö—AÇÝ”#°>UÉU»:“£¾eÊßè³+‹©èšÌžcY…¬¨ù3@‹q—bæÃ8ª“œ'ïÚóém5iíwqõ.ËÞ«ë„KK ;ŸM+Mëó%˜lس£%óúvמЦҠhò=F¹OÇLä+ÓZŒP¦”ÑîÅ­9°d‹×&íÄò?ÉY«XüÈ­:Ä E]ƒÖ”Î&x4³³ Nã0{è«-y§aÜÒöоÛ-øYÝ{X54ŒÂª½Ÿ€¿g5ÆFrA[Ȧ›è¾ßã´b3ï†Ûn))+‡àÈF­ÕD|Fv»3ºon>ÈÀ-iÏsMãgªgÒAï/ÌDIçô>·øQ¯¸(\[EÓd(»c¢ž÷µôú¯ðS×ܦsRôi,JÈaDú,Æ\~e=I¡•vE}ÕKvÂN˜=^…>ŠÜO͕ՊF1 ¢§{a¨oTë{õ~‚²#(å³Vˆ7ÚXÔwØœšƒ›çúê‡ð=5®ô§Å…;žïö„f‡ßd+¥Ú`LÚ¼_UO•3(×e%D¯ÊtœK_gxÀºH†)ãŸ[OÐвúôˆNÂ?ìg kh<ý€Á™«Ïܦã^tÝ2í‰Ï-i†¦Ýs€›éÕâõz^&ºve+$ÏqçÍ·g´Å†"Z꿤›œ.bµÕÛyrIõNRB{Ò(k÷|ZOÝhrXdÁßÑ("ËÉ q.=àá!¾çIá63^‡é­ ,/\6éêré´7|(Ç£cÊ0´A¤»ŸùÔ'ŽávâBa“ÎÓLÊÅŽY“„l¯t­ƒOY“^ËË._i“Ý-MÍ$uÅ»ÃÇV3S n Ï $"žQº"WÔº !|9Ry(ç‹.™jD{¾R–ª’k¢ÌúÉxÆ%±%àK:—æESYvòûÊïn_¿jä]ž¨É±ž2æ.¯÷]`µ—™žsI" Êmö<¸±Qz)R>Ê¿oë¾%1µ’•u33t8úv´VÍ\{q+«Úšåþpûp& …ÝCãë9ÞRAƒ~)uÉ;k7“:/w5Û´…‰1Ú5“¿o*€\ø4*…ë¤ïÈÜ(i6í÷ð>:²fódc¢G3!ÛåâŒmìM7*\o¾w4||Z[S'4¸j¦Á2û”?:9ÏZmyšÝèQ=Nb?´œûöUöÅꘉ€sq5ű¯„_(õÚ|SeqŽÅÿ¸¯ùT¯),¦’“¾jåvßHÝ{š/hE½ðGóNêÿ´ýCÍZo­®ÁqEv"å§ÅA BœêÏ»oqì¬Ä*¨béÅswúËüüaNu‰rv§R€º‡R/¿F·1×iÜï­¾Õ´Ãq·ýzDáÚž‡ð™ô*·d‰R®á×)­U[uõ·8–»Ynˆ7~’/ý’ŦL6³P@çÍUc‘müì ì¹\Õ‘v&HXK<•ö²àaHhµ¾8±½¤e¬i5‚zÉKAr ~Œ]´QÖÅÒ W]P®±¡®:ç<5ž—ºEÙMVÑ4oƒOY{Þ°<çà™ô§8ìõ­×;“Ì·5Þ0ä–ÅpÞù!îØ¼¯\`õe£#÷°7¿üµ c'9ÕèghPð©ËåÆû%A[Š/ØÚCr˜D²—Å¥÷f ±½%ÈžÅz» ^ðbɰ½R=v®¼~Œ¹Óxv†pn²µûÕüZ6{~´³Ae ìÜx&‡p®è DGbë OñÊa÷èѼq„÷Urb×܇ŠG£‚ÜÛýçdÎÇéº/×9v+»£P3ôÂt›Tz<ç5vt÷Ž9Mþý8K ýôsGÍWk3iOI,/ÉéÊ4,¿py[WšGXNܾvHü&‘å/Úc¬1«Tn$ðÜGßÂܬٞޫùNé=s&_åÂʹ˾9ZƒÍS¨ù±u*ªAÝú䢵ôɶ¾ÄõŽW¿ò²F¾†ª×‰jöîÿ-à'Ÿ¦óÿzÓßý§Ù¥BÅ?.¡AøEñå!õ$Ã5ÝÒ"è~ßlžóZÂ7TDøÏ\Ô9-+ª.É‘><õÝzÝ):azÚÔdÈäÌ+ÝxµøâàÓì%aÆ­²1pz,7ýíž‹²°¦=ç]Š´øº½ÓaŠäSiÓ}?ŸåTÙGeÍ&/Ǽ¢,Xš`ùü“¾ˆ®2•É®‹Æ83ÿ!þ­%ïÓ/ÑåD–ü1]S}çœ^e¿Ðu›Á³z¶§yz3¤Þˆ!ÞU1«·5ß,ÐÐò‘žò —5zF•3­ã… ‹”íVöÔXá˜z»ˆ‹(©¸‹\`t=¤ ©EçüSÄZߨoú ¨vÄIâ'ã7Äu~IÂ.cÎk^ûî¹'î~]-ÚÎHÚ¿¢N·>ñ}«w4•Q¦€Àüaå€ûÁ W††±@ÕSÈ-^ENÛäa‚p›òöÝØóc‹Ž>…[÷„ÕŽÙ¿V=󫾿EÑÁØo(öNZv½ÂÁîÇA¶n{òÞ‹Œ&´·\-¸×ã'ÒŒ –Î…*¥|ê h^÷ ÌÈ/µoªõJQÕQWœUß¿2÷Zã±OÌšžïB.šs¬Ž>XÂFE¥)®œ”·úÌ‹"¼]Tp~›v÷#9ëÛrƒÔ=&Ù»?Óvd̵œå#‡¿%WI·Ú–(îwcÙ›×cÈbõ{V9ÑÑw)“Tñ ^É>Z5Œ"Â#ÙRÅ!ËV¿t_fU{ôÌî ÈÖhßbàB–a¶³—è36Š:¯ƒÍº[<4ür=ÚÜfª#l×Ü<Ý'~¥NàW¨zôA°»qí¯r„•8˜yÍ‹;.¼a[*®^j%«¥àñ<={5kò #\Û»àòóX‘æÕ÷‡ÖRSU·ÄQÀi*ëį…|á—ñ??›¹$–œjh <-â±==‚Oæ^¨* ãlTÄû.º‰¼{%BE5§k¦¦ürÝþ¶7ïí÷6Jü=¼ÀÛÎ ¦K‡˜‰0†PN (ñÁ± 4¾éee\¡ðÊËæk (Up™”.SÕÃÔhbn›QÈÇ­·ù®ö|ßáŸçËîÁ(ÅZ-¶(\J\ 㼈dìßYö}7e×ÂrÎe>¶ «.˜ú2_<:KHºB/ÆôáûέPÐõÙ'j=@%kïuBÖOKâ¼vI«ÍL¿‹ï·HcáêzÓwããV…—^{äTÔŸS¿$:¸²½5»Q&óUB¶ã3<«]RrD·Ýÿeä{†LýºÏFÄm£vÚĮܢú »þǪ1AgVlrñ,·x)Õ„IÎë°·ÔásÕz1Ï^ã5àçcÆ?žúTÒóëQ›ue`iƒýí»ÖÝ Ea?‰é[ JºAe]d‡ÎŽfîÏ_M…š~Äj²É4Á“Á9Üþ¨Ø3¹›Û@£ß |±>5Ñ,%œ÷s¢¸Ü½ìÁ-|Zã:g¹g·ð‚®RãÓÛzC~­íÞDÌÈÜf÷uj¥Å«Ç|thþ5EÙGMÖí<3_ø'á°Î’ûÆåÕ7—úh”o#œ™©¯xµF,žxN•ûuy<Œ²UÙçÛP›mm×Z%ˆyºü¢Ð^å•g»–;!u§™æÔKÁ³cVç¬Ä¨9’òä2›,LBÖ²UA-¿]òÚók¿xŽ;ì&lên–B—µî¿d>]ó´jÞ0Õ’,zßhÝÀ‹È îoX¹xï¡?Í$ëÜXïww¾¶{¿aq7FDnDúDéó';ª¤(–½KbÐ5jù9ËKÍ7ØYÈ…¨\è7 V´M\È]ÊN`}UA~2_Ú¤‹mkØÏ`õ‹Enrn†ä6”ö/-&´oõl>1•]DÂ|wﯰSDK"¨¤yYÚ2D´ðVñtLY·Õ9öˆ?jÇ»s

> stream xÚtT”k×6!Ý t Ý0tHH#=„H‰ 0Ä Ì Jw# ¡tw(%Ý-Hƒ„  ê9ç}Ï÷ÿkýÿzÖšç¹÷¾v\û¾ö°3ëð+ØÀ­ ªpŠ_H( Ð6PЀ@ PŸÝŠr‚ümÇgA ¡p˜ô!”0êÖ¦ FýÂa 7'€@H\ZHBRái€2ØjÐhÀa$>»ÜÅ µ³GIþùpYs„¤¤$ø~‡œ!¨5Уì!η­ÁN¸5‚òúW .{ÊEZPÐÃÃC쌀#ìä¸ùP”=@‚„ Ü!6€_”:`gÈ_ÔðÙ†öPä‡ÜåF@·'¨5†¼ qƒÙ@€ÛꃇZ]ìXë€ð×pBBÿ¤û+úW"(ìw0ØÚîì†yAav[¨ «ª%€òDñÀ0›_@°~vCÀV·€ß­ƒª ø–á_üÖ¨ )€„:ýâ(ø+Íí˜U`6Jpgg …ÄÿÕŸ2±¾»—à_—ëƒ{À|þ>ÙBa6¶¿hظ¹Á ®n‡ÊanMøÿ±ÙAP1 ˆ”¤â €xZÛ þ*`èåùíüm¾åàçãwØÞÒ€øAm!·/|$Ø@!Ü ~>ÿíø÷ _H`µF¬ vPþ²ßš!¶η÷€zÌ€·ò=ÿ|YÜ*Ìsòúü÷ (ª¨jðþEù§¢"Üà# à¿•«ˆˆ@èV׿§ùg“ÿmÕCÿjî¿>„ÙÂ8Üïoî ƒë¯­áü»‚üVÎ×ÔoZßþýïÀïÿ›ôeùªÿw¤êæäôÛÏõðøÁÎP'¯?7'âŒ!¶XbusþßÞ‡(ðíb(Àìœþ© õ„ØèAQÖö´óÛ¹]‰ǪÀ¬á6¿vGXLF À^øÀ[‹‰|„n—Ìâù[›AupqCùláü_W"" DººAínkÿ™õ­û·G\ x«-𯮜 ¶ÿªmí†@ÜîÕïë½mìïóï%†@4ø‘Õ0ut"zGòçÂxb -ѵÑ”¡uø@636ï6£ eqrW3k<ª>Ó ös^4¨HU>uÝVwu{õÝv'—¡Éx’·5Ó«´ ƒZ¶!»“ú¢üͳø íÝû›a뼜þZgŽ)oÄbxb•…±#xšÞ¼_§-™î…¼ø6éBkW÷$ÿ©ýüðõž Fâ«:ÈÅQôÞä‡5Œaò¶Üž‡=£åê TÈéÚCFõxÏ›ÉíÅòm}7ØbxN6=yµ¤«+þpÁè°DàZ…W$7Ò€~c›Ð¦¶Êö]¸Ô+æY¨rEÓ±Q…ÿs ‰×cdžôY->Óº»ž€5 ¹ápÇ«&‘j× ;-r¤Éý$ͼߡYåERéÜ)‰y«1î{ú5å04Ó4oS›ã1PÚ¼Sõ[D¨¯?÷PàKÑô™è½æ°Öwjb©¡j“2)áíS4Í*5¬•«ð̱„2¾O0« |Ç2 •Â4áQÆS±!²Çõ¨,M7ŠéÔƒÕ0úy™¦zfû†1ÉHü^ŠÎX m+yn\§÷‡eÞ›‰ÂÁÊ)>d*J”ï GšºÚ>b[Ù#* ðÍ—©RÈãEï5Õñm áÜíøô;ÈÃ-ÄŽÊ­…µVj“KB´ƒ-åé åžš\ñ5­:@ùD±'þ\ïÄÂOƒ 󩸊TUÚ²ž}Jkl$Vtý -Ô•ò3aø!ƒÄŠZMdæô0w:f‚âFjƒްŽG¬~›èd¦ô<Çœ&ðSãÅJ~xNÌÛy?äåÃ^ÞÜ¥àô§?)‚“âoo~„“h„‚gø¤ò=Zð$¥+2îֿܸè‘<¢Sl|]\×1“x‘xÉÁ€î%ðÄÊ2Y®ë©éýo ýÌŸDoDSa84ãTÓÓ’UJvŒD˜HK‚䈫ªsücñ…¯s%ýÛ¦ ÷YkêùƒŽ§z¡b'5¹÷y\öÔæ2ÎW[b_ÁÒÒ*^‰ðñ©q,~›¸§ŠVKß½°TŒuÐá…g©kB! *¯¦¹hAy}äXÏã—C›ž˜)¬x³¹dÆn•šh7ñóbRÿø›´IÆa0¨…W†—ìíh­¾´Tola`ÌxÆ¥Üh<»¦3ôC9ÀR/öó]E*Y{ì<–ë(’Ø€…&.áO˜o¦Nœs°Í_ÛÝd½¥x’2àÚ™¦û1½–É~â­Ú‰•y#ô¡¶À†nk1nrѵ…íñ|ØÑŽn\cJr÷-­Ðƒ‘N~zêW?Ó~~!LÉgZ ª³syc¨ U_%IÖ‘ÛréóIëÒÒk ì˜ ´ŠãK‡çw/:ýr8´Áe Ð)Y9áÎí³õ?’v”{J·½-¯yÊ++B™*½µÆ Ƈ‡ LŸz)tRÆÉÊÙ 4•û)‡Š,âá£oÔ^7"Ú¹¥nF{Qã˜ÍŒ†W=¬|Çþ®:ßÜÊØ9S/F¾ ]_@4±I]U‘­N¹í7¾aÂsñV2Ý׎nüò“a\áHS±z;J)ycM¢ÝYB?ŸUg‘ä•^ÃCànÕ+{Û¯&Ÿf˜ÎóÒZ.Sv<^5¤DåIUŸXtÑB,E޶Z>G‘0µ,ÿ¨w³ñl&Ï©¬&%{†é1ï ÝꌩƊ¨dÑ÷»ÜÃí"%õâÖ85N¤>L¾dÒóJN12‡VÜ0ñŠ~oK·Þ|Æ(® ˆäƒ.?ï9?©÷}Y“«Dxz6ë3; x)[B“k-?A(ë´7nª~/mT?¨F(2oÍù€g¹Ø—X ‚†›Â^­_ÙÚ&cŸ8“”-!ãm1b×@‹D.h6Òâ]O‘ñÝŽ ç’¬gó_Û< î§sˆê—}Û‡ê•%¤KÑöq^3qäùe¸éìèä´©¯¥ÌIó*¿Z×W |e¤çZüqöŠè&¬;håX)ƒðǾüb2sÆò6¶Á]é›Wy·ò¦D¨ž™2-9úVd9þDW[‹*‰]&ãv$ïzmÄHÜ{—BÑ·ŒÕ Ü+á#eÅÛl‹)ÎÂn”N[m(ã‰ô¨Ðþ,öº\ˆ>PqÂÚ·§+gï5ÏÙë´ãËDéj’~Ü÷Ó÷ÃU+/Wñ&Òw#êñI†2ÃÃð·z ?ºð`Ûv`To»„úêè?¦Ž\ÆÕ¢’' ó8Óï©V¥Æ4+Ûúº]ÆÆûü„™©Ì‘适0:¤¾f;N+aDÖ뜊ßAcʾ Çeºné¡!½?õƒž¼a´F$7~š&Áfv>í´læ” ‹Ùßú¹`çëT÷œ[;ˆ@uZïÁl%}à¼dy]øúÚy PS½·`dª îº É±|e ñJ {bŇXE#±)e/Ï»ŸJËFšO§Î=ÉNÝx(?öqABR‘D$’JbdªvÒý.UÝ”×òê/JеâN·ED3>Õè?Vêü˜‡ºC¥>:\Í9C¨¯¶¶U{'üuº¬´-³— Zf†¡Ð…E?tTg1Yëj€^YC`óÇËà¾úRg*´ðë}7ôü­ÿ&WbT»Øv¨ž\š´ªf#˜XƒÞ“ < Í1unÛ7›tp¨Ÿ* ¿x,lö°b0ðyÁúEƒšòhÔI#ëf¤`xÒ¾xQä0iŠ@^íšÌœ]ŽýÎú¢+1QìÚHb EÌ,éë•VaÛ»Œ£ïAõSW)˜9$× èÕ&–lͳý³«!‡H‘SÑhóQ‘w»Ka Ä‹CjãEPç R.»ÄdYç¥(Ûî뺙7 #1²l±Ò¾ËµÕ` ³nméhëiꇾ¼„útë {[Ò·i–m,Ó‡™Ûb£«¤}î ƒFló… šOXæìI×KÎŽ§hzV©öY”ç+6Oj"ÌØwÄŽr1¢v8µ^UzûÂi±>Ÿ]^ƒÕÀ|¹Æz›ï é¾y%a†àFPºîE0 ˜r”dc ­@ž.ƒ>!1¸IôÃîSÆÌnA_IJ_£°×€ý+Þü&6|Yçígå‚á?T4Ê ÇÛÏ\ƒqÔRÎTJ}¶îá^’ͨ0”¨Ék3l²m^9—Z|6~g©nÔ÷A€f4£¡Áè•_t.iE¬H\ 0Ôvè©ÇTHL3W £“ÀÚgSî_ÊéÚX‰wÀW¹×lÒ}Æ?™ôÅ‚bîkyû[çø<$[äH®V¤ rbŒ… ÕWòò¢#.ZoÕž·P£¶½>ñÝîU{}d"æÞ¦YY¤¥ÙDÄü€ÁŽ/$ê¿y$6#¸g«ãžFt|¬4å ;{²Üýðúø„÷eŒ–åÂh ÝhïÉ(7÷àb˜¼bO/7úa­Â7Øã?M»DÚ¡,1®8f–`öé·Bßêr³²,æ_í&31%cxó³³Í%^ƒ¨Šxp¥ðâºÐ××ļ›êŒO)t<WƥĦ+:~`¡.nÜdÐ(’é&:ý¬Ø]d>‹Äžn Z~`oÓ/½{7pQÊ”ˆ™ÖñP]‚§ã]q†²!¹ ¿ÆáHÆÍ›,·¹s ÄM\{~Ή@Çîè'!¹xf·üDzCHg¯äŸ—$°ZìâÊ"_È”!•Ћ± V€…16†5ð§ÌÖ?j‡©,ß©ëä’6ž‡jÍÅøš_dwe _b*q(z\6~&ÒÙ€aÌnE JbrøXÐÓížz~³r²ú)µ­Cw†o#\Ôaâ«aû´É òLHÄWÐ0f¶…óAºåë‘©Ü»ã#8Ã}ýŽU­%…JšyÐ(‹N‰Ý¬Ÿ»ÕkÇï]ZÞ¹N#ÕøZjõ§YŠ>jÊÜuÔb±f3• kdHË…Žó%ñbÅÂâÔóoå4á<çÑÎ÷?]€·+&°Š¦DÝ(’·—T~ŃÝÅ‹Þ.èBË ^züÊ·sÒò-ñ£¿Šç3–…êw«È=É«î[wòä˜åy΄4´Ùv#œRÙéàŠ¨! :uõ²ŠódPEž?švê¾V@x;üž¢YˆSHˆRœ‡–M³ÌÑFèBÃXд̿ùòîÜs­¤‹¸¶ÆHnçÔ“rLÖr-té/l¥ˆÇËÂë×ï~IÁ%WÙE¹«%$)”+“ ª9&%±Â?§ç1 Ô:¸š®×ñ,>%JªÓ®«âÑ<7 ÖiYŽÓ½ÉLˆ\mÚÅf—vÛã@­†mØ›«¸‡/O + ¸dxÑ%wv%Ù|ïÜ?òšœ}jÛánh^¼ï>Ü…†µ(é‘Ö®9(V²#cÙ “Ęû\J2!:£L²kW–!Ë‘SØ‘MzáBm²9{²íè&ÜiÞÙn+HÔ€–µ­ËfÒ‚3Þ×ðLþPêBÁ•›6Ö|A7¤Ü›Td½·ÖDa©Â~~l#ì|ëèj-eM“v¯ÝÍoaé(–Šv”Õª×âjQÔãŽK¡;שLe¿®Z!¸Øq?òÝt‹ CáÚ"•ÓåæûÔ€WÁ.H-$-¢ŠÝ$?š%!|Jwï°$½{|RõºÙôŠÀÿHмwÿ$Má»ÿøÛZæôŒÞ[;Þä"‚¬.ÔãCȤÙ<"¥ï_I͇Ģò”1¹C6–bS£·{*Óë]4³ãÜ÷ÂrìèÓDQf7wë¼bžŒÑÓÙè¹¾¸ö„*Õ™FQ»pÖÓ°DoOâ,tš•°þkañƒúï¡­UH–dÿ–XáÉþL/‚…>ÇëÆûDg'O<áÔ´ª}áóã“!qÍbº _ VMÑzCvì»mMXl)Ô±Ëf’ǸôBÁÜOÝIÙ`ø€ñüûÞ÷ WçÓEÒÏÅšŠ¡ËGâî5§)Cª×C~¿ö;‚ú¨à&¹Z²…ãØ©EyÛ(™SBq{írYJõ {îdÚ¼¡ȃµ~’FRMGÔcî DzèÎ3+ÓfvW/Œ^÷ÄS-Ç)‡Pöaß°¼Žh¼m«ì>U{hâ,p€…2õð±s)C]ö¸@TÝŽÕ :5_WÁZ†öéÜ‚7°G„q\Î9ÖqÛÝ•”JÅ>Ñš;õ÷ë²Õ÷Wkæß±º¹jh£ž!, ãÓ5êN%×tÖ !I!žskŒMf^’(ºp{Åp§oß?–;ô^å'D©.bßÁ±¯R`&WŸ$lá-Þ=ÐÁ‹ý(íûH¹ é]U^Ö”±ì†ñ°‰s…µo„ßó®ÍeoevJˆÄ;²Òy3ÎI=Öí›hľ¬·oâÃF§L¾w :K"¥ÊÿF«_’NË^A[1àÔûÜ¡ÏUöí¢Ô-=Ïu¥–ΉÞù5k߸1ƒòºVÓÐÞŸß,w»#y/À?⊠­Ná™s°à‘äŸn¬@:DãÝ@‰ÁóÆ A¬Ô{8™ýVÓ³mª!&±¡æ™ž5餦®ïùNü•)2ù¯e¯ØÐTm›ƒÄ®I÷­Ú)7¶¯ï q‘(iu¦¡*q%.äïï‡Y}V†–ž–9‹SƒðÒFûb¯ØÆYVŸ’Úûæï›Ó{°¦ŠÌèoŠ·5Êð¸M>ïû.N»,B}ß’Ý%”ØKÈ~-Í_CÜÏe¨pwÑÅž#V!Õ’ðôMýÌ €‹£ oíWÀœÖ“ÂCoV*EˆPÏthÜb@6²èš]‚³ÀcnÎÁÜŒ¨ J¤þV3ÿÌÆ×"x)êýCýh³ÏºyKhâýCgƒ2-:°FŠz¦Ü¼JüÄ–”[‘b1Ï*ÍxxB}Óò:25܉ڰ¤ì,d’‚|ˆ˜£ø˜?’Üo¬iY {6ÊE}ÙÉóΛÁ0¨¸´<Žïó©”J–t Íaž‚ëä&n½Ÿ}óW‚d߬Љ;Qûl! ‹‹PIgN•Øb|ÙÇÒ!Ww(å&mV´qµ^0M+7‡” 4í oË?ÿ$¦ŸëxveAN%¨~QçB·tõ’dá~[‹ìµÏM׎v+™×8Oz’>3ÖÞ()ÕbƇâkSXEÎRÖ”´xiß\ûÝiF4ÝWûмúŒ| Ê'¶…Ä­š”å-‰ûiâ;ŒšI^òµnpy=íµzS|%Tû,ž+Þnàý´¬Ç8.æñV×ÙÜp³"×¹×ã‹ÇUwУ6¦_æ×ãT°–ÚFJá-FKdçxþÈKä'suÓÈ^¤ {„ÃÕg:Ö%©F^%<‡ôŒ®eÏ«ãÅ }IsÒk'>ÇÕú°=c’µL“W ÀÍm¶ÖÞÃ&õ­?ŠYn5Ì.’Ndÿ‚¤>ǘ±¬¸Y'õ™ Çý9›`>±ª qÀT²*ÿiÝ"²Ó@™Õ½â¤œˆ¨u­ I4¶*Wª»Âæ-ÊBzýÕÆÝSÒ8.^Àƒ'QsXrº­¯…HÄZ8G{¯ ã›|<å±"ŸYþl2z¯t ˆÏ |–|>·È´š‘xÜUï< ¢è ðò®)·>*ÜÐö´ùhJ:¶ï ¡)Iœ7˜0ŠP°kOÁx“¥-fWgðU¨í㮞 ¹GÝÀ´§ø¤ß¾C±m„bæøNÿépÅ endstream endobj 582 0 obj << /Length1 740 /Length2 1311 /Length3 0 /Length 1850 /Filter /FlateDecode >> stream xÚ}R{<”ù¬°ÙèrÄ½Ø 9c.ncRr]£´|LÖ=¯™oÆûjæÍ|\]$!—]—%ÎgV-ã’V‰Ü™bHB‹$rQ¨´íI—¶sÎvÎgßßïïy¾ßçóý>Ïó#êºyl9hä„"‰jBa|,䉬„p>õŒOpÝ1Ùõ—ƒ‹ñÇ}­£ŽåÀH@3·@©à«À#s Š À¸ ! qßdÅð B€ÅÁ(Oem–f™Ë âì0[ƒ>dÍ2÷ßÙ?Zrac‰"þ=¡5ë1õ?±+ˆñ`!àK1¡P¨8?oþÿ§E;;TD‘¨4:@¢YáÍP)tS€N3ù#™-àñ [Kø°>ÆÁ0¾/Bl•áû({ïÉc9ù¹X•ÆEi·ƒoo´µ©©6¹ÚôÒŠ©]Ü–žÔºqToõ–——sà|Ôµ¸Ãî ¥¯Ò'ÒÊhÀ×¢šfk…ÌúúN¿ÅÝÝ®s—ïÍ¥×´NÛc³Æ²Srvùi.‘ÍÒëáèëÞ¼˜€G7‹f½Yï†Ï®Ùßó÷x»oYlŬ„%w÷kv/¸¨/Ï즪5ž;_hÀ³Ð„[2¼žWŽp¯”ÏÉYZ}i¯´í{YJ=pYÜ™÷àªîaP¦üe-¦{çÅÑWXÀ¯;¶fîÜ'¨P_æÝØ9¹ä#¶èÞQ Šõ–(® ñS ^zZfDi/Ü®H“Ã'=M&}ž$r\oÛ¶mªq­ˆi’:Íh?Öþ­gJð8þ.ª =T2™p¾¦ƒugþ’˜Ä š|³uÀ÷B}è TBèsÕhxlÐóO›4ïžø¡35æ·èµª¶2Äòã¯u‰›j¯Év¦!Ê“ÝóºvvcPª‚¢ü÷IìtçŒôbRV¶ss‹Î‹CÎ:ã7 ùöŠƒ-££!þvŠe?-“ W\$Å,ÓhšÕ“¼QÊ;Àø{QîDéÑùª1Štå6¦äùMz¢ŸÿXuó`ɆÀ{ d·ÙÓ7e©íõUb·ÆzöÝ7s<ŬÓÚ*ËÑþª2[ímv¬tèÄ_M ÒôCêËN¥¼»ëÄn~¶qÑl•qd:ÎÌYlmS/g7H”_±LŸxûC’Ó¡TÓk>˜éÚ•ñDyü–~üÒ³ÚÒK¥ƒÖÖ§$¾”ëØ¹]'l…[Puñ¹N’\u¾#¨iþÝ3÷7Çm·ú`­6ê¬àÚ÷YòA•?·Î4ÿÃÒ(¦v!¶o¬3Öº{UÕǘԞrñ~­šºi2›ØSµ÷¼¿#Z- ÝÁYÞrì=¹+õg£Šë™Š1)6_d”õºÿÄÌ3px߯][þËt1ßka'Ní×}Xî³­8åÛ–~UëAÕ!«ýÙ‹iG¯ƒí­š»Âìµ²X¿Ð¯ˆ‡ümÈq¡ÀË&yq`gMVÓoɌȅêÕ¬ùÃg4ôê¹úŠm„,¿T—G?Ȧ-sÙª™Ú*– A{ÄIÊêBÕ¥- oÖ¢­ëfqv[ñgyGŠÔdƒ‰ÜËziF33{ƒ5»«™øÃ¬_Ùï «ΪåÄzÌ^E*Ë@rÝ—›7eývrÞ†¬¶;ìû¼E¹:%à–­™ƒD ßx‚tt&Ò Qœl›yÒ´fj²y6+Wë qUÌÉ6ÌSe½sqÕý³sñÛ =¤¹IZO_1˜âó„)‡qG‘¸TÙF>Ï›»ùa{òäM/›'‡¶õt—¢0 瓳³wYßñ>ðt8Ϋ†º]ø/Zb~À endstream endobj 584 0 obj << /Length1 1614 /Length2 21899 /Length3 0 /Length 22734 /Filter /FlateDecode >> stream xÚ¬zct¥ß—flÛ¹±íTÌŠmãÆvRaÅIŶm;Û¶m'Nýþ=Ý=«§?Íô‡»Ö{6žýìýœsÞ{׺$Š* ¦öÆ@ {;Ff^€š²†¢‘‘©¥½,ƒˆ½)௙Ž‚BÔ häbio'fäähMb@++€…‡‡Ž jïàédiná þ‹ACGGÿŸ–BÆžÿîù›élin üûà´±w°Ú¹ü…øNT.@€™¥  ª ¨%%/  –”WHí€NF6EWcK€¬¥ ÐÎH0³wØüÛ`bogjùOkÎŒ±„Fg ‰åß4 ‡ Ðá=Àèdkéìü÷`é 0w2²sù;{€¥‰«é?þÚÍìÿEÈÁÉþo„í_ß_0E{gg'KÀߪŠbÿÆÓÅÂÈåŸÚΖÝ{³¿‘¦ö&®ÿ´ô/ß_˜¿^#K;g€ ÐÃåŸZÆ@€©¥³ƒ‘çßÚÁœ,ÿEÃÕÙÒÎü?М€æFN¦6@gç¿0±ÿ™Îö ø?º7rp°ñüW¶ý¿¢þƒƒ¥‹3ÐÆŒŽ…õoM—¿µÍ-íà˜þÙ*Rvföæ³›º:ü»Ï èô¯Qÿ³ghþ’02µ·³ñ˜Íà˜äí]þ–Pÿ¿©Ìø?'òÿ€Äÿ#ÿÈûÿ'îÕèÿ8Äÿ¿çù¿BK¸ÚØÈÙÿ•ø÷; øç’ù¿‚l-m<ÿ»ðÿ©ü7ŽÿŠ”‹ÑßAÛ™ÿƒ™‘ùߌ–Ζ@SEK €™‘Íß)ýË®fg t²±´þUó_ƒ0°03ÿŸª…¥‰µÝ?cçø7ÐÎô¿Rÿ+пˆ3©©ŠŠ‰IÒýß7ê¿âÿ*ï¢êéð—ÚÿîDÎÞô?ÿ ˆˆØ{~0°p°ؘYþ¸¿|xØ8|þ›Šÿbùϵœ‘‹“¥@çoÛ3ÿiþþs¥÷_`ÄíLìMÿÙ+*.Fv¦·×þq›¸:9ýUõ_'þoÓÿ¾þ×F=€&p«Kö&ß‚¬R3Ò\j±s†&ÄtúzXÀ‡‚JT óý«íû¥†íðT¾×36Nñ~¶y.ž9|HÓŽô`ÙPýN^åøÑôæ£nRvpÑþdÒ/AL;×øõãzAvB›“YýpwBIY¿øŠpªƒÍ æú™ÆŸÌ-߃üÉÉ×$¥>³¥­¶àìœ2áäù‰j`txhð÷-dï>]v ,Å7#lߤ3’DOC§‡“OÈW7ޏ2XyBî º-e… ÃÙSðœ-ÿ0£l ~A’j“2ü¿f¯^ò©}î™C8gjk¯…/üŽ»†ù}§P$‘§ïB@Õ¼:“ó¡s……G^ ã€:)àÑJ È7ÒD—í¶u\¹ØäøiºÙÄ1æïH§É-¾u„¸ùßâ{²’ièWÛ–[•?‡9ètøþª€w‘^šÏÎpðƒè¯2FçÿŠIÙ^5¸à¦u0è ÿþ:rÙ“âD9ȶ{ÃYæÇ mý÷ùvµFÓÙVdÝ«ú4€"sþçJÂ9ft¨‘FûUCáÙ·w½Æ!øõœ ôRàe §ß姯3¤Ûˆr~&øq„r²¨5ÂX$çõ.Š€kœÊ·‹/Vf¤_D¤5õ4¿LN¶L™„¾zV¿ÝÉp#Ñ%˜é×ÏòÀôˆG[8H(»˜ÿ¢§÷š5Có÷`®ËLà(ö‚=µIËŸi‹áÔ-§S|T=ðJ¸ ãä§ÏÏdƒe¼±¨ 6ËËÕÒ`†ú ‚!LÍ v‚ÙkG–|ŠÙ&"V¹(ШâÏ{{Im¶î*6±‹šÜÂg†(å‚Ü„ÊÀz5|Þþµä'Vv qAT‘%æ3Wà?OJ‚œˆnƒH‹ÿ¡^ÙDVþýáõSꉇŠd®Àš÷¥S¬Ôë”G¯Ž²B0`tM€;RËåírj—y=X—a×}ÆšÚf•‘GbbÒ/@…³ˆYºË)œL,<~§ï«JߘU_ñBÜþ:¬ ZT(åû¡y®P¾zm- C—¯ò’½Xÿ†„æ "A¡ -ÚÛÓcµ¯$ô®âJonGœµ˜œkkFd±&næÙ+mê…R¶ÜUÛi0ÞãÔ#†d|-2{Ô2!ˆl|DH=ŽM£|8|ŠlãzŸ J¼No޾$¬÷¾…¬:wLf!§ ¡NàÆ„J~°À{\ÑÙüuzÏ÷uTdwKPç£`«/Þ¡aÒy1R¬m檳 µø£Žãê<·N§ýuë%…¶,QÊ9>W¾n× Hù^ñ ã’(~8D/-å tŠ(–8âƒ"ùR_ !#°éé ¥®ªÑRaEþ› wAu”C»àKèßX¶õ¶¨Ð¹u'QY°ÅZ¼Î‹Žq‘¯gy÷&l)qK¡ü5Èõ ¿Œ«íwf7$x_ìW VSàwÛa†W)ÚYE\Ó ŸáîIÏXqöÒ·‡Ç´únƒñ²æ÷WrØvp#¨˜M›CÇä+PYþ<ÛŒxÄÞc›Àl0Nh;®Aý϶’„9¯»­Í¦Tl=?bÇÎ’AÄHc=È üæÐå8ȉµET7P ±€‹Ê“’B],e]ùQà¦Îǃ_v-ò;3Jrp¾>„CâBô·oË"圔ôcääÁ2*Є¹kÚ,­åÞd剺T,uJò§$Œ]Â÷ÖhGð VA“žÓá˜û÷ߦT£6HX]ÝR÷´…nò‰þì«È1­É‹˜Ü²;àPêƒJ¦Ò0„˱f¡-{t¼E= iƒèH£O[Ü|æ²ä¶ÕþW@f,rà•a©kÄ£‹ÀÐ_§ýÉiXÐô³aô÷Ê•¢ 9p²j|?¼ck,Ö›ºÝÃ3\&v§ŸØyPVßIuñkž§À#L‘ÆÞšøã¹ñN·ÆY²°l¶å·rc] ð1îôåmÌ銱’±>à£aÌêOáo¹‘7a†¸>–ãÅW5À‰šõ¶O¶PãÝ‹ÛøkÈFMÞ¢Oõv½W(ÛYo²&¾ Tð¹+¾¹¬ñÏý¦ghKJ=ï{–ãVŠÀGó!6–æâE€uuè² WÁ©Jà©ÇRœNw 솾]÷æ£o˜#2Öy›«ðŠ;Ñ+„øãD‡öò“¬Ëfœ‡èž°ž ‘¥¦+û6› Êoä²5ØA‹Äxƒ72šû¤ yZß­kË%¿MS‚êG#3ëö¤ÐÔ×R¨©j äX˃¸ éýŒ³þ¼ïîAÜ*æbÀf>Mµ³‰K?¡_…nüö)aßxwÎ:é¹õ$ÐB1$€@ÊÁo¶qˆ’È-­ù7«æRs¡5Sø÷póGÓÏFŒ‰™ù[ûªhoô*a©áDAåöòPð¿*ýP‘i`‹ºÜ_ê§Ú8Ü_sˆ Ü„G3»Ú\f“|B+ Hžväƒs"B%aídÈü™š°…söÑf—Ïù–´bÉÃbPm蛣÷£ã“Wá|0“ƒ2³ÀgX¿ð´A˜‹Ïö…Ä'”èåœÿœ×TËaýݱ)£”0è‹‚€ŒØ~ñÖÿ•—ô[CÒ“&ìú™}YZwЖFž±;Ü0茉ëüôÃÃ<³àEU˜cO³•˜—¯-!»Òr–Æ9G›ôV]/{p̶_ÓÓ~†º)€«½ PžOþ9EžÚ‘÷l7c<Ø Á ø!í˜8Q¾cÀ†Àùaø Šx\‹`ÑÄÄb/Û´ó]Óày»T ‰ x¢ ŠÁc™l È‹íe´žâ;ÜÕ²1fný;ënVø 1ã墚2™‘I3âÆ©Ýä%KÎvrCäg ;ÎZÐ2])“Ë®€”H#ÂoDì–ñÅG2‚‡î§TÔ×®ÊÌàeØâˆ½Ëï¢OÒ¯h°#LÏe^eÁ3æ;£´ü`ÖÎÒ†ã kpCåeŽŠ»Q#EË4ßb“ÈÏD±à²¤]»OWZ±U¬Ç{óË…w‹’˜;°ÁºZkC¶Jb÷ÕŠÖß&NsàA—©¥’Ñ)`§8HÏeÁ6‘ =›Q¡žÓ:WN¸>øí#Ń"í·JÑi˜{u‡¤—_ô½š÷ФƒdÜyìÌ ×·hZ^ñŒ`V„ü©¸­Ñ[UaåÚÐ¥ŠÀàNKõ?ûpˆ€^KšQ}aBþù;ó' q¤k™n&eÁ. üˆlÛÔ+‡vsL^´*—bOŒ]µ)vþ÷õÕ¤T—Iã<’ñ÷ÆSéUDùNBþÇu3Lܽ<”U;¾à/è—p¾QÕ18RBqaÅþN?£/ʪÒ§$â\‚:¢r¬]¿P§È?m炽ˆÚ"¦cXu¾lã(‘‹ÛºÆ•˜=F°/t{±º*‚ßS»ç9KAnÉÐC5–šÍ«ÚI‡ž<Õàì>ø&‡E¿ŸÉc&h&húH:q&É…AdŒóí?ˆoà†â¼±ç¿·Å‡,Èóã}aa¥×ã¹ÁI‹¡-Á./f5´Œ=N$j ³ÿö]~E5FO‚Gz0–ÆòÈœ*B©ÀfqT“ÛU?‰,3o6dW*þ`8¬_™Ý3ðª!!ÿ ‰AŸTÎRµVœMÉmâU’Hp#Ê]]ß ÛˆmŠÿÇh¹Pr_W£| ¥+ðµpìÎ|rS¤K˜ñIÚüFfbœŠïâwþ&ªŸ»GyƳßDSŤU×I_‰‚ìFj¶8²cp'9¦+4„Åp¢t&[Öù͸*½7 7JVb¬²QeJÍÀ {3KÛ¯oXñW3Þ4‘ÅÆE[¸¨›9-.럂BKÐ&z®R«{ƒ2ž˜*™‰i®wÏDºÇψÓ^úÞ{É¢ø}×lßy¦)ã[q Âs `N £ñÎGçúûL¿¬L‚„£'”:Á-TR  ¢Q-wÏ믣VfŠÖs39ëôÞÌEQÑt Q¶÷4- &ËpÍA§øè¦òÀŽê¾’qR~öØÖ¨‡Ò _çˆau—ââE®SÁø¥6rô}:Ð/ë@‹6,Š]åB#®PvÆ$ ïî³Å3ZUô§ "¥ÀÄ?Ïȹ/x$Ò#º“0éæBçu¶bï‡Ì©ª â(T89yÓðI;y”ìrßÅgvë7é:ÆíQr/`£DE31F;ÙÕ'­¤}E]¨¦ô:{7Òƒ÷X¬Ì¤KcUFÀ Ó7L ©‚ï‡ì{HfߥEVÙ‡,ntc+ÉÙÜ%Ä Ý˜Ã´“…@ô{âåÑp÷Íèz âÒÕ‡$µzQ3K¢Ú-®id¤e࿦3øÉÒÉ‘ï7.¹üÊP_p‘%̧om¾w?¯¦›4ÖSèr¾Ó±ös3)Q³:MûƒoDmBíïºXm~$qYŸX2­Î"P&Ñ⻲”ËÑò”ÌÎyÛDÙT8Í;ç[4ÖÛ-¯=׎/ÅÔ½ÃSÿZ€/ º}X‰äIÒÁèÿUÒÍuRXL2&Qu¬”dõÄÝ Mu¾ÿÒÝo»ÏM˜ú÷ñèøÍâ €UpgÙö±I9ý$…Eá‘áÙ/‹qE¿?4Öætr$‰, æ¼»ð˜a³†móß(YêÊ5 |Ù„xI ïš·9«2óËXÖ˜ðqŽ¿,¤-ä†ÅN¦Ç¹~7wyZ‡iIL¶©)Ö ¯ž¸33YÊF§-{ƒùº&¿%7Œ^ýôÔºb<,G V?xÕÀ%!fzã)ça¿°I 0ªÉæ-€á¬Q¨;l_û}Ó¿eîÿ]ùî•Ä·ÖÀnÜȬJ)ßfXl5ñÇ`i Þ)ÊÈV¥áªO=Î[ד=ñˆM˜„ÏO12‚o>b}È ×Þî #! Ï IUü­]Æ:u³.• Í%õ§^_¸Fàx¹hz(F/\)+i:6sçlO¶5WµHÜ%¤:4%Ǹ3Æ`LˆB²È;}ÈÞ&½Öj/Wnú“pîÂüTXk .BÞä@Ìã~¥2©ë*bŒëÂþŠ@1b ô“"þ*ØÂ´%±Ÿ/»Ôå¦qu+pjpŠòцˆÛHK±óRëçe ¢ñç´ÀÒA¹,o0¿ Ÿâäƒe‚çÔƒ­•É…l£¸¿d”ÆãÝÒh™Q—8['ŒQŽc+=ý!mÕ´iõ%Fh ¤Û–Z̵gß"ã06L>£\ü‘XF}ÈBF¾ÓØô†BÓkBŽÆÝRC^`Ž¿;e^t–¶X>OS僮¼00¬çÁáRrcÅÇY8?k±aT»ƒ·iªÑ¨±ôÃ;ˆB@õx>ñ˜†ºÏ.¹Æ«©G>ŠEõH…ï’:¾äÕµƒ9m¸'D¾Ã± q8ÌÌyï ƒEJâÙ‰Z.ÊÁ|Ý÷ôi°‘ÜLp­p¯N1øt,üYuR/BöئÔÈîQ¢qß±bÍq}ìÿë݇×o *ÜlÁÃ}yËY«'\~’fp|¯c>3xk\†Ô±[%©á½npoK‡ ìu›4ÅØó¶•Ú@ÿϧQã,fÊvñ³.löW¡DøáJ¿ªâòÂ+Œ5ØãŠ×¢¶Lá›ùìd~ƒ0ô11NÐRü›Ìk4£ŒyÛÇA{Œ=mŸ‘®y²PÞ]j`£ÝÁê7ñœnôÏš#œ$Ö®gü§Sž"F¤g9åb¾eðžõ"œ€ VÎ…×m8‘C¡mCd–ÎHÆZ¡8üém,ÞE3Ê 06@.–ýÁâd>– µ²tNÁµpƒOî=Ó/“;%1Ä3.zT»o0$ôÓ)?ôO[¹fÒyw 䬋c‰&eøhç+!hO)rg£Iù:+T·!?¯0¿×ß ,Ürõqÿ¸ßiVÇ´¸†>¯|p âIžk¯æc±Bq¹t’­v©šeØíh&mcýæ^õ‰¡¯/U“É»S¦l¨R9Øóe Õ?²áIáCǤÁ‡Ÿd$mmk$……™„=믿úG› Íõ-ýN8¦øöw‰6G-ÿCŽ?æÆˉ-se?1s`.–}Hë2ý]åÕtq=C`¶#]Áó¥] yçGެZmæ51žªŽ5¢¶.lþ3ê΀ï¹S3CŒ)h™r»ž"¨13ŒÙn·DP<½¨º1òèF! ¦X¸¨˜‘ÚÏ»' d@Ðòä?ßaš•ˆ¥:†`jÓ™úÍ5…ôBÇönÚ\ö„G±½+j=jöèËãieyàºÜáx^D%¥‡uwN->«‘ëc'ö5„0C¬pÎMÃ9l9Añ››¨-8¯¼Ð ظz©â%9È¥¾DÝn“¬’jª.¢S—£AG-ËÓPÔê‰LÊ¡-—¬é¶«Ø¤»L\, Ü~ÇØÜüØ¢šH&‹ªcÄ-2¤hì×iÞ*hx6.92äpÎ@däÛžuO¨Ö'!0œ_n®¦wWbÄ@Žè×cðÊ–Ê£¢s +ºäÇéÄ=9ƒßѶ·.aôª¤;£Â(Áz*svÜ„ý8BèÁ$Z3Q÷µj,îÞoNÍ””Ã-tÔ°ýžPµxÑkÅÂ'A’®TOú2â>ã22* c?ëޚư»Å‘•€D†w3ا·ë¢ï?–ß=ŸÃVõu;Çò¡é0 °ß·ÏŽrh*_…J#;È¥MR)è_˜\÷tN&«É=j¨“Y/?@¾ö r ïYŒ­Ì8Sœñ‹õ1?ñc-‰Á–ð›guíN”Ôæ¦ÌZ˜ì°…g “ùÝXŽÂßç¶l7¢‘ç m¹ó¯Ãc‹~Nƨ'?–‰4ÑwÖY…Ãè!!M\)R{¦0Ý@@‚( ¢@éíPY,R kéÌ)=Šbõë^Œ_6Õ…±F˜ÂR“À ªU)²‹Ic6k2ô°Ô+Üõ–â0 SôµŒú3éK ¾V³Ð–4¾¢·“ Nž!f躙ªE¹Fj[:Ñ‚ñÚlªBº¾o8T=Òh¯h.5pã©êqsH½„³ÄÅÏIlx‚UGÒú¹ðê¼;Öc_/fô å€°ë&BßíåìªÊ‹ø‹^yÃhžTÚÞ½Z‡3~7cBO.ó=·>BˆZ·–r»øŒ}9ï£ØîÃÁï_/8ïÝ8 ©l) AyQg8}(lÄhµTÁxÚ üßbºìçVaS<~–å ½mG 5úþø4–Á»ÔÎÕ`Í^‘gÚeVÃE Wêö»…>06Ð<^ Öõçes3„¼äº(‘ÜÙ•VK,@ð} ÓŒÛb:rÜcCs7W¹ÑVð‡ÜRY¯)ëÃ<^aP?œªï1B8Ôúd{›3ô܆ù°è;Ú¿ûô©-› Þ»íÃäi4ÇSKO •t¸‚ש8a?Þ«â.Éy€û‹~J‘g´#œ8Õ×\ï9] þ·6ø–¥¾ÛgÎôçaErô9ªƒqiŠi©–°“"Ÿ­ðz2Ÿwöåú©hß&‡>â¶5„eãÊf PLUíuÊÐÉÕž=µãR1Ë`ÏNöÃ^™Üʇ ‘]~Ôಲ½I°}6ÙØ‰÷†DtÐÖ÷ŠÓܶ±Æ·ŸÒ Íæò· 2éÎp)Ï–L‡{$\v¼®»TÊV’&*8c…à*T•‹¸+@Úª•íÍH,²eX̉óVг¿4jmGÊ?@3’ŸWù>}‘rǪ}Ó¾‚Ó8ÈS ‚d©ú^¾RÒ˲†Àfžàµ#n_†3‹<æ$DðsW—&eª,Ó¸y™µZ1öþd]Í[þ{,.xü¼Ì½»ªÂbÈt¤a2:ÑYºŒj[Ü Ù ¿*ܽ`m«¹tªÐbÍI•³ºªCÃlÌ÷iæÈ¤£˜Ú°E±˜âáxx™ývì­ÍÝåIñÕÛ¤rVPávÎyGoý²'ÕŒS¥íxEwÄq¶ºO?Žû˜·Ðª.s¨ÞÆÙ´nE…˜ÒÎz¥?*b?´ Ù³µ¡ ŒæíJºàüÛ!T–t¿¥ œk`L,ôI& „,ê>¤¼1Q\('$%¯Sf2þt¥ƒ,$bë'P6 nÓGbÁNK.¥Óªz1Ï-®;gö…s"z—to=gÎ&ίâÏ÷íRf Þt»÷Ê2Y7ì‚"p~Q>~;ºÜ.hŠ`¯9õkš¾Òœ>t“…•£ŒoZ€KEúžeÑXXWŠ“Þrèà2/O‰¬¬Ê¬ÞVÁ•uÆ:MÎ#ÿ`³* 8‡)•¾¨|MÚ$ÙYá³|JÓ…ß–©Ù%à Æpig,š¬ 3P`¦ãÍ,p ŽÅŠP©Ô:‰ß=: œSÕAÚaç'~6½„лÊYÁÈà¬]Œœn6êÇF#”¬ .µ"‹îdµå+“–(]áÚU£ù= P܆cpé,p!ÑÎ2 Zö+‘uà¸ú„búQèi/#ô±*¯»ßÅñÎŽˆô†}¾š:Bs‡…ŸÅW¾û<ÀÓÍ(Žö;J5:#îÖÒʼÓó¾Ò¿^ù9J´4Þ|]<ÚŸÍÔ0f«ß…›ROD`øê’Q€b¥¾¿_ˆ¼Ëš³vž÷Å…tݹ(Ä“+Óº\}©hJæ¹Í¤¾KFðÆ7p|rÞ¦‡šÞ¼ÛHc…9D©S"ù¤ZüSwÍêµ€$tM5ºÌr›ÓVUJ²¨GžÒ“'ë¬` ÓB‘Kå Bø¹HÁÏ¥>Z›-7-O—©˜íY¬Zº}÷ÿ–©‰ÝkJþ&ñ†ùMÇW‡7âT-G¥ƒ0º(TŸ¿WöûT—žˆÑÏø±3èX‚ž@¦p°’æ„‚9ƒÛÞóŠ–¥w Τ ûºc1y$`J+ªm%…H1(€N žºñ+§åsÓí-Cn;·lsCIpböU‚XŒµ ¤‚&&šú'±½•“™§u ÛõI Åä½Eß/?>R¹M‘ácëØo™§óR"—…ì=4ÉõŽÓåŒuìfßL1éß_†i¦ßÌè:b©ûéŸ-Lq‹¾†`vηs(¡ˆÇi&ACb\îÂýƯ¾æJÊ:t›„\¬ë¸8‡7A´?ÿ¹3Eþ³ë+Y¨‘øšnÒÝŽ¼ÏàüIZ£°jBæÎ9̘$EI­r_{2Ä¡@ºð>NßR5’ôÞ][–Gz™v¶ âîm¡·}´p€£tçê}XÁ@>¬Á&’ErÉØc¡‘; ¼%eâÖü½x¯2t}âó©í…ù­¿ú:. O;ˆºkX@(êÁð2›§†+¬½ƒåÛƒ¦"اK-?‚u€€wp’»>ôƒ%îc5ìq¡Gå{+*;Ã|~ƒò6QäóxeÏ2ï4÷ÿ³Ûã=ŠUŠdœ ¢|À^„/¾(¥2èmã@ºü±é÷ÙIbÙûG†!\ÓœšoÃó7!>øQme[£§k+y¬â.c³bžiÔkîAÁvÔ© †9¡ôDc¬Dp öÆfÑæ‹µ¶æ¢ÚöÓ¾²øÌ‹à˜1&eâ`Væ~¿W…½ó´A°W±Cunæ_òŸ]…ËF §‚~VT}1\>JA6oQñMZpz¿«®Äè è”âì:N÷ë!¿Ê“6åŽ+ÈøÔtõ½•¹δ¶Ï¸Y žÈꉾ)K¶»¨Î‹>‡•¯§÷“µµùr®*÷„Ø ¡#)M£_g\A ¡ÍŒæ^mr®ô1¢Ú‚ ¦ræ9ØÞf<ðøÚRƒÞö”`Ö³õün¸¾ƒ½;T×ëÅÅ‚1„cËu~HúË `ßk³£à<þít¢@òÊžc|º0¢¼äª_Çòeé‰Xî¡ÙC†¿|{Žu¢fÑØ¹Â%…r·Ü@°NVÂê×`h1~n]Ìq6Qs7Õ>àhUíCÄÓ+ÁÅ(¿¸gÅgum”Aeëf±/& 4éÅ@ÕÇQ6VòØó™›gvOw¢=R“jÌtìe#>sD¾ã‘'€•,ÏAùZ»7Jïð§MÍŽ(E­8¾lø7Cqj‡ý¦Yð:å£ñ~<õMä ¤ñŠ,ýO¿õe\Þ>ÙjŽ-¹emª¨Ÿ¼Kx…˜µ™Äÿ:vNQDRVÿT„ùQàU–¡•Ÿ£tÌy^¾)±Ò”ñ,æS&¼-dõdC!ŠBÌê8YBC‹ÌÔ!Õ6Á8­-*Pn!™º7áYq0k@ÆP§ ‰Ä1Ê‹½ªX^#÷Ĩ ²ô|ýú˜rW¹eøçÑžg…Ô(Cæf†ÎÊc#„Ïûw ¨*ñ¨ Mn)y%ßà°ÒÌ]^Ï)‹òÖHý)çþ¡XH‰Té‹KYu'Ù·ögçŸù¨ö…å6¥ p`³­°¿TÕȳ1ÅmœFg¨NI¤êô©xw%Z$P×ۧYÆÿ–XoH2>¡6yê%Wõ´!|á+fÍ”ÑB@ÂûýëÝ$æâKÑm öŽiÊj“û“CMÂ5k‘¯u/è“×N)ÿüÞ‘¬ÐÈß̘הk¬ÿíy°jxJ§˜Fóí«nÝÄ—\‡KŒ˜'ɽw=Fqü-öã©•WŸ×'$Óy!09c}`TSµ!]Q†.~Ùõ”Kñ£Õs‡*ÞC‰gßgpðfe*:,—RÖÊë :µ…ZÓ˜þs&`¥ïÉÅ Q…e¤HÚ ¯Ï&q*Í2 “û7ɧxÞOolõ“Eóšcûä‘ó•z-& Ât‘¡±rE‘ñª+ør˜¢‚þû´_ó¬1ˆ£¦uÉnäÒŒm,pcÙ7J ʲòÁå¹[¹ ïƒ¾Þ ‡(‹Ð¸0¬”f°Ô„Á¯Hy"ž¾ÈB½Z°í`'h?Mͯˆ–@<ØM``,­´á!O×öøxoºÅÊÏ;ü¡nÔï ‹Z<· ‰Ý(!¦›ÜFí]|¯Vøjè[ÞQa­ð›½/#PÍwõ6Àî6º”+=¨ œˆ©QA¶B¢”aÜImW·‚íTº+évN¶²-#£ñúîímÅ~kuD.Ù|lO MnL„GK]ÿþŒ‚æBòÎmu¸²û –ëà}Öí»ð´MØZµ|”ç¬ô@0¹þ=–Eq&鬑ô,í âü”¾ödºRÊs\ôÊ«¢@¬ÂL˜ UŸ~üôÓ£ï`Bx¡Î&Ð:´à-ž¤%sT`pà”{zJÓ,¿N¢¬ Õ9!ÆÃe‘ÇÑŠòǤArOÝ*Õ«ýÌñbÈM´mýjkÒѵ›pôš÷P«§¢èá›}x&¯9–ûÂß%lÏ9Á°Rah{™:aRV]T”køÚ F7¢ûËñ–\5È쯸¨L_Ò°§ÙÝœàïó_)¼)Tc¨gJØüˆ³4kH˜G2˜Ôì˜-Ÿ¶—ØŒcC÷³ËÛb¿Ï+ŠX$‡+Í9>æðWòäJx¹ Ò_ì~>[Ç©§VJl;ujn Y.e§¤Ò”¾ai9šwl¼‚Cii ð,§“‹+UˆZH³KbR6VOYXv0 ÚµV·ÉöIç²¹‡I¤q<2;ïÌ:‹¡/d®ïízÌO¡çÅ’ñ ÷¥#Ÿ4ÿ¤õâ±í—éÿ&â>*vªôu½!Sv §FN-øÝôÆ "ZØAUn{p$œ‘ì÷S¦ªè;N˜4”¶‚î É¯?Šèî9Á‰P†È!:b*áØ_Ão3ùóÛÆ©,sÝrcãâò{Ôøë­³=ئåØÅ—¢Ï®”ÇÁBæ7 F±bw—Ñµ¦vt@2ÅEáÍf0ÍV"™P!\Ý÷Æëª@K«˜}𥹓³ŒÏø0˜}3ÓtwTåÓA¬iûècÊJOY¸…!¹<䇄[`Ñ[aº?9¥äÕúnã÷¾ SMí­vBþ]ûSÆtô‚‘ƒ,Í—Áj(ÂÒ\˜ÔüA‘­<¼nÞ…$µÖ§»ÝêCÐäh::’T﯇iÏfGz–¶Þ—’íÊó¡(Þµ¦¶1fâðÅm¨~S|öEŒÏj€LÐvÍÝŠD /øf®…4h_%/Ï>L£7Uóº3#f`\[´UV,SUXÔ>Ù)“Þí²8K™f}Ó¼S˜¿G|î5ÝZü‘7ÿæqß9KƒsÈ•sð]A" yå'Cí „ú†ÉG)›0'“€ž.uôæ%¬š܉ûDÒ”èÞE#³”û΋ò”§IP!¢|À -äµµæ xJi1irþüÕ:Ïß.‰]ù¦zÈ+ÆZl˜62é ÅsõŒøøÌòlX—±W´1ÛHXíèöñ¾Ü“TØ8îž‚]Ò&5íOέ¼á#ÝÖôj@0/}±™ê$!ÒÔ ¹3ìl­0ä,'a§20ìo.àž€&8bZêäìŒß—¾UŠžÌÓ_WD‘,  @âNËÖRSmÙ‘¸½ÀËxt8E†@ÚCfõ&?m2vr7ß ñM TÀI͸&PkÄE§?SgâLÙo°Â0¿‹"b»¶±+UÊf¡TÔp#ÃnR´ƒÝt;CÈ6ŸZÓÇ™OYÏm¤SX0™C–ÿ‚H0>)Ìe§Î˨]Ù»·n³%]‡ù«¹¨`T1S·¼‰p,¸Þ%dìÅÌé0'Bn)^Y”ôNæg¢› ÓDú1×ÃüÎ< <] úZºÏï&l3ÓÒ÷-? ½=Šo©}N¸Æ¸×ã7À /£L•ì²J£“£AЇj~eN2š.ª³@ýŽø Ê&“ Ë4˜®=˪jNÁÙFêç’gáå= ÇÉyßRÉõ€ùÁ]Âþš¾ÖOtÚ¹oD;Ø, 4ƒ‹U¹&´ç»Z/ÇÆònKf]è­«\ʇW¾È(â9µ- œ`¥¬ùBË>¹‹(Í]¢ô‰±%?Üã#ùUÅžGÔ¬é}¶1`ùõV„¡¥lWpö<óÍ Ó: ÔŽ_ªoqµhbü4¬u„~´Ð±HQ>uóa=P&¹ñ+Y‘éèÃßâliwµÿëøPHYz NнýŒ¢d G{7¸s«:]qÈÈKˆv„Z}`gxãm'Uq 5É¢†ÞJ&¬lé 1n_¾ÓŸÛ¿6ÅR ™ÀÇÓT’Qžxœ)ìÑ?)'Ê­ÛaÈŒû=é7ã¨95–™ÅY{nëA¨þlÇ‹§°ù=Ìöíy9_jOà€\ÚÍB.‰·ÊÂD²(â}ÃJƒµd¼Cr¡Y±åLL»äÞ)ÈØ\–ñ=C”óç8þŸêy8vÈÓ³ÙeÐÌ,ŸÆ:[í5ÜÁEqáÜø)ã æÍ qœ—ÿøŸp 5⢞½C?ˆÊ@„Ûø³3‡`BeH|òòYOgE7ìO›‰oä98¥7Ù·}wÌXÍ\¤Ê¶Ù¤çgXŽFJOÇý! ÏsvèW®#áˆÝíf%ÌrÜý6<ì³Dä£|G#«YÏ?Ñ ÈçkÔ2*¡>¹÷ç·"ùJª;±ÞîÞʽëÄ4Ï@ @]¬Êqu°Ô Ðóhaœ`ÜCOïë‹oâˆTÝß~ kQšãÔw±;äN9'xen³ó—z–s²špžä¬àÎéù×êµ`?o =–Axƒ÷ÚÕÍcÑùæA,¡ÙÃýìo^d³œ5ß™¿—«‹j˼kÄÊ®w05± ÏZê|Çä–ÿ Ë43Åt®ªÝ°*­Å¥ØT´Î­V޶ñièr VJ3À'3Kɉi/1ô°»ÏÐ{‹´Šý¶6˜Ø ¾_ÉÀfèúÿHu#¼QçF„•ãxEíL¦A¹µ¯;7 4ÄH‹-4Ñeœ.+Ë3R“ûµ« ý‹–vFÃ~ 9æJïÝË5—þKú8~-q†ð:÷ö‚{àbÞ=“Ç3›\nÑ  lÓq HǬ.tß™l×¹¥J†['4/¢æ•.v·9hGâ¦À¶ªmŸï’v¢˜Yöüsmèǽ25*wk,‹gॠ§ÌÿʨÓàÛ©êÇtq(VÕöÚFÿ”œŸ’Ó—wwʽ:C–†®w+PÆ.ª#Mÿ¬’4¾o®ãü½GÑyªßö¶) 9jÌåpC ^.¦éÞ—À¦Ûy"Mþì>‹uQXúM·žÇB¾˜êyDCoæz¯XÜ/¦’÷¼ WÅV삃¼hʦ ΂ðñ6@ž_Ô8û!=ŒEÈZ:6CIuó=;[d{ÄíÒye™…YmÏ„÷hŽxÚaȃ3O¸#Œ©¢²ù™kµFÇãqóÀ†ð“`*CO$‰òE@y›“y­ÔÖ“i|E2DG›c6EÇ›ªO‹"Ô„|Çlž•#8–ªŸ2í^øSn¯ßÕ¶˜û=êk¶bÊ©û²Ãj³ßb¦¡¿†šº  BÌ:‘ã¾]Àû+# ­£æu\¬$#|F¤w4 ᡇ OËH»é-[6+¿ý(X2-yolÒ—m‚J@læo<ІîJËÌ/ÝÃUtóH?_9¸ñè/±|}T»FU^2¥Wbj妫˜ñš—Äž” Ƀ‰ÌaãØÕ•,;M>k„Ù °ü˜×ДZù Ü DßT­ñðt¢XN÷¿ÑJLƒ®éÓ!}ïÔÀÙ};û’•…~ ˜Î/›pøÞþôLoτϛ`1…°ü ÞG‚èño[æ£F•SS—‡ýC•ÆኻoÙ†ûÚ'eøGUåÊŒº«Ö.8ÄZ.Î)6"îú‚NhèySh•T“±™?{G F9†«= Ma4Š^•²f/|u9 É`Êj‹)óñ&îw»ð¢^îͳ™ÍäDsÛ%Á^úòX¤Œ†›÷ÒUøŸÁê.ù[öŠ™³~™p¥šë®Y”:§Ãa»¤¢¨- ž(4g?Â)Âm-rL‘^DqËýhi 8¾cŒúk1‘zëp¦†ô˜åFmɬ‹Eª„¬âD5`/C[CÛ1²õñÌØ€Áy(iE.»NŽù…Òs"õ ÷„º1£V#ÀT=K382LŸ™pÉ Ð£-³ÆàËaÀ^ éˆ!;휚"÷ߪ|èîpa5_á³ÅïIÀããH²áÓ#æhŸ½-&‰ÌÜtkAh)M¼Ùz\)Ã"•²jU )~r¢\É2°ó$0Í×¥Ú³"†¸áN~•ˆËüÈöTðTîvoƒ¤×`‚é#fìÙ¿zô5• s̲9Z «ñÔ1ØZîx`·%“ÓuÈúÑn³5Ùö]ˆ“§F6 ÝjÝï} U£,¦º³ÎÈ&š2ý§nÜ=x°q¬AëÉ²ì¨ ±“/µ¼Åôï—†B¹…Ñ•NŽP‘yo(Ø›'ì)*ÃW·›iÁuß3K'K¢¥ó%Çõ½2˾ Sy¸;(FD醘 ±¯øÐ»ƒÃê3V~©Ìë,[GÇ·³_Î9¯ ei,¶“~IfE’]²,[ñ´Š=vS×qˆc1\Ó \šaPúpO}ù¼è£ª+bM’aS«\‡Š&“rÛÎ}ß<ËŽ&ÇãW‚¶Vc7›ɼ¦ûŸuè K­+ f˜B¸[ó.bÜafZ'rwÝ¢‘†ÏÚAž¢j,k®O?®O7—GN}¬i8Éú«6¾îLªñX ®I•¶ƒôÑã›dÇê:VÙw.Hž'µlEpAñAsðe¶T}–ÂD†Äg?îØÀ-&ôo˜I*æû2a}ï¶åÒŽ&g].:ŸåÖÁæ,=;ôµ5hÏ…H§¤(ø<¢¿‚›% {ꆔpjÏ_§ëè9øØK>pà Ÿý=Q>LÊ‚d=ÞPÎ9æ¯ôð‡˜ƒÛ8}[ft6U[ØW™rLàÓþq."3VC|ÍÁ*É }2×:ჼ6¦ì¼ž. e9F³W¸¼£TÓŒ³;{樽>HÄɽSî”g‚3úIÎ(8®,®²û]Pƒ5|ëé$ øugz꩸ã@B#J¡„ÖmÆ¥x6×è„®€i²)˜g,Bc®=­Ù‘~›‘ƒŠ ŽÄSw ”/`à$H¸­¶>QŸøñùô‹D½*âÒ}Û÷ÍN %¶)weߨ X¿ œô«ú0Á7àRV܃MVFdã)í1½Y‹â/­áßr“#ä¢Á)T¤yòAçBgÄiä0UÆ=TŒ™Çê~˜ƒÛÉ©ïu®ªi[<¿!…Êפ&:é-Gݺ(ì°K`;NUÄRŠé*µ{ûõÝï£i2þT}£J €«ÈÝŒ%ü° ä1º;°?G¦I‚“†+m­x^‘'ú–<øRXqÐöà›`¢0O÷ÝÆÂA*nêÆ9è0ªcäL±y.#0s¢8Úç“Áoœ úV¾ëq¨e…i€˜ÌC¥;&_…@3:H~·…ë&¸öÍFLF5mEk×/˜`¶cŸÜR‘‡É ©©™ç•Œ×|ˆ>Ê&Šï¡Ô‡~š`2`‹é̯¥H¼ 2D*é$eÄŒ¢“.{iüº}C+9ÃÁûŒÁ»j}Àmÿ2fAäÐv¤Ìš~Z>R0Ñœ¥Q9«ÛØž:%öe/|G I¢X\~âæýÌu˧2› Í™õk “ïìnt÷×¾füî×NÀÊ”×Io-]oØ5ÒÓü—'xA‰ü¦ƒ¨<šÓ7ô嬴"}*\t?ú.ŠL›7¦C0úȹW厜﫱w«¶j ǯ=^r*²*\¥ ~§Êüw&1öZ~Ϧ•þq4ìÏ'¹Ä˜¬‘¯Ý-Öñÿš#Ð섹¥…¸ô3ñH†½—¨³í{¶;x¿Íx{2ÒRÉ—;ð+뽂‰Æ) .ÄSÝD?Û¨jÁŠÿðÉmÌöŸüÒÇ(âÇ5@ÒPVâfc¼aZ1ëùbi^xbìc@ øŽ±A­_ÙÒŽ£ZãÄpðí MG²gÜåmô}lr¼†§ºðöÝ ù¡"Ið€Ågg ›}Jéê~C²žXɸfV[ Z%6:…©;‘iN=ã={\rGè͙ԡD|ýÜ£ó cú*sÄä1h*ÜPz=ì "p.QJNäÔ¸`åĿ۳‘gñ‹|3*L\’= ¨|ò¤‚zŽ@yÀ÷)CAš§ñ¤î͹Óx«È[FË ã,ýë!éÂ!ŘjE¼ò§M3Y\ð¨1m¹ª€«o4HÁZ_¿GzÿŽ6ÎTqêÓöSmaI±ÒðIï‹úwSf ž7¶F™·.œcuÅ·kè9lISDi`裴|‚Îÿ§4ufg(Ó‡û½¨ tÅ¢¹¯Ÿ˜Gd!*ûœáªÉßÇŸoÅ-îá:<û僡åù:}˜Kwïè…¸ÎÆÑr€¿ÞYá–‹%€ºFm­Ó†u¥6)Æ."Û¶ì/Ï{¦€²Ï)7ÿðcÏlé±=d*$ÍßÏ?òyߣ±|€{¦ò$íâ˜hGH‚ç *t—PæÉ?ü1Mù›•±Ðˆ#Í)Éø0Ž9P »6wÛaScm6«Á‡5ïÎ;Ê…éo1ÎBl7I1žµš5ä?šÜýõ ”†® d9臛 U¿|ðâä+…|ÏÃ`×iÿ•aFÂ'-€tÍÖƒî}@ñ.gòL¶Ø ”º‹O_ïb’/¦ºAD2µã:­hŒ¥MF:«“ίxEèk@€ZÆ€›´ö»VRì¦p.ŠsbÖ±²‡­MíÇxŠ¡ÁšØ.¢^˪»¡€\½Xmü:<§9#¡¾2ð•â‰üæü®j§]ñKMB¨­WsgœŽùqåurbÀ>Ý„s$K×j‰Ô°0Mš’‡ÇóV>WU·ü³šŒÉ.³í6>eï*³1Òº@:¡¼'WŠìòºn,ÿ7èÀL¹‘]ßÖ CxQn\Kˆ¨ÉeÕ¼Þ?|œwÙþÍ*32wÄ,zõR»’¶¶€yk^ÌÀ‚ûgÏîSÝò2-l pÛèP$â /7bÕ&z®·3ó8C˜‹Òá¯æ ÔvEvVÛ¥ñŽ5•xD7†Ïú«©GrÜ,I-×-¿B¢îoÛ¥ó†K=>í1-Gô¶Oî%¡„ö—ä]eÏ*<2¹ÚkÖ ÕŒiÝ‹áA ¥ŸËi|B‚æ ]I¡¿îs! TîלÒ1Wöž×_+™·?þd«C]ŒÔéû‰y0:"©m†ØÝó!§ëo¤lQñï³Ð¼lÎVp PŠ×›ø¶-cµÛ)QU©ºfHv¾%äÏë"kÖ°ÓÔ¡F W] ¢ „QÃ^Ö»[ó~ ™˜-|”Oä>vù½ÿûnÎÖ­—obgÍºä² ´ìŽJ Nˆ¡®¿±=ª nß’2=$Ÿ{†×J5[!þ?¢~* P-‰q[(bÄ7q×î&‰töÁÙûi˜¯ß`Æ‹Ûx>ʵ¶R¨ŠÛ-Á—¼kªñvÈÆV7uH-/qÅý½“e_1%wSIÒŠ]Î3fÙ}áY²ÿâ¯~+ñ\U€îß‚¢²aAø´¦éà…'ʸ¹Úˆ?dÉ«B¹N<Œõ×mŸS¸»=‹†áš<ãȨI¡_åQä¹'¨0“s3ºÊ‹LÉv¶¹#¢&é¾?ÿ°ýØZ|øü> òGwë‘~ÐRN•>lLœ9uǨòÛiÍ5°ËÁ.¾§©æVå0IvV TtÍ5t}lظ‡,ê0j5œp—v~&uôÊeÎ{«eD¨ Àªkf1}Gí<øÐ¡q„o«Øð¨‚¥t Ë)ÒÁ"éʰpŸÆžn*(’!‡Eí"ËmóÖ¢oɰ.°ŸÑ¶FJ1:c¯TíxúÊ~]tøG*m¨ü à6œUYš9ˆ£@ÖÌ•µ~ÜaaM͸û†öOüäÎ0ñaÜÉ—Ô§ÌNþöƒÚó!­(‡ø$ÓRE…-¶~Ý@®Z§°épw­ý¶m¶C""¦”1ê÷‹‡WògUBdUÕ†vþë.'‰¡/»ÁÒÀ ÛMÅcÌÇ€¯à½0j'ïQÎ|þ‚³1Î7ÇE‡Mâ9Oj­Z›Ç–ÌÑŽ3Ú|!šµ+ò'ÔB£¶Á`–uÀCð] ìbÖ¼TQI6ÓœÛÍ«W‰K?óFA~h€Õ}§ ì{Ì@Ìc~ͺâ¢ìtß乡HÙb"oX6 ^ý¥=ò¸ùô® :ûå(è±<‚%²ººèê0cë‘*Ê7ò¾æP7k9Ëø%x&X½¯cèÖ–žt:‚lÒò°~ ¿.NâÿÈ™›î×äê4µÇ¨çV[ï,õü¸;©B´Rb“$ê"—JÞO1jM‚cõ^!•ÆAü¼©•îú ‰ËÁ®^žÎ/ˆŽ|‚÷••å.¸eóE7ú‡/½bŒ·É¤Pêtï5F9Fó­ÍäÕîFå‹C/‡hd‚ó™8ÆË!wdYhÞI¨L²4ý€Š˜¾jòZáóÎ2ÛÐÇK(Mdôk¬¸`3w- ç%F)æ>gÜ%Á„†ŽWÕ”í´ƒ60P{ »Ê3£Ù3/†sÜ Òy¾ñ’;‰ ²3¤Ô!€¹Íò|š6S†¡‹%à–E=ö ž/„ÆÅz ÷/M §Û~ïo›–­ÐEàQÈî™DçY*f­39Çx;÷Ñ¢ªª|ãxÝG-€ŸÉÙ¿¦‡!Ý6¦ý»ägˆ¼œ½Bzu4_ ÝJ¥Y)g ¥œªüí6Ù ªA©‡ÞI6áGdÅHø_ÛØwñ2ýûêîÈfïÒü—è¢Øª¾m´zPZôœ‹øÞk:ôa»øÙOÒæ&h6 £iÒOÍ®5öBKRIñ‹ãØpŸ1õª7pèUàÝ’;e˜ätTrvÙÌèÉ©”n",ÈC AWU§à»Übá½*6uû†A> 4Òdñ82í¤ð_Ïîèb…$¯[e9*¯+Ä6Õµ‹©n#ÇOí_ûÅ;0Øk.7øÞÚ€ècCÉÒ'ÿ ÃG×Iö‚œš @U«ERȾƒf¤2¶YIAÔF3É}.úB ÒÙðν½9sÛ¡‹€³]¢™˜ª>°‡KiúJpï¬"Q_XëÕ(}8Vd_¾–Å~žÀp-&º‹ÅIéðd4;™H<úÛCüµ½cí¼,·›WÍëìŽÂi-Ý äf‘Î"UY}¤n@Ù¶0lߺÊ"¿/¦š¶ÁÎq}‚«+¨!@îAJÇ¢KMçX!cÈs§„{Q6–‡ÄŸ:Çl»'2À˜OÚE1šÑate!¸zzYí"Ñ<ýõ™rí;û‹?­´ž‘ø‰§FÃѼÈüë³Ð(ïö‡RWQªS!¦k§ú[C3¾_Œ·$C&s‹ ÇÌ3֧ʶ§8M£¬€°´G.¦_kÁÆzÖVg˜tz‘©1üƒ¦(%›«Œ9³äŠ¥I7b+ŠM€ãV†Tül®´üý¼ àã6ºùÕm«¶¡‚pZõ]‰Zfu¤Ca ÜÇAã¼¹Îz|­ÁÆåö߯0vZ7JxÉ MËEûƒKhaÞ• nj\"ö•èÖ Sèmg”®~¥cæc øP‰|óÿ¦æ…E®?׳Ç,õ¶Ã€+–;ÏÓ#¥, ±évÑbòª¨ºœË‹Øñæe:+&WhS;R…U=…/ör†2¯jû[ÞÑ©¶BÿÊlþÁõÑJÈ–k«|0Ü@ÂØ¦s‡0-ÌìJ ½Ù8¶>$ŸKr´ÛzçÍX"ÿ·ÖàDtû“Ýø† ÿîh7YƒW@†^·óJHL²3b?äL¶huÎ%bK5ËýS5Á+Ìl @ZîÒ¤-,éê¬w‚ïÆµ;ïêŽäØÙ¢88MžmÜ+Æ#8ãiÁW(ž^ìq¤Ìü £l\â’«éµ2k0É[Iµ 'ºµµo³/ŽÃ¤ø9×´›º X;âòVë!Y^yå¾’R?`ºK&* Ð;ò­ŒázoݼyÎÈw…ÆN]ðY$×L£ÞUZB¿föÉ£ýý¡RSìZcfÓzÌäÖÄþ‡ û‰,;Àå ÁQ`#ŒÞШKÚ{° úq2§Í\»LîéˤÌÅ·€µÄ îÌÚË«ýA‰ÊqÐö]-¡e£uÐËŒ^-9åy bR…c"ü!&.É~›K(§éCg*Õqä}SvëÞ/ «1bWÇ•ØÕÔôfÒSïÕ£µÍ`LCwÉ:¦ƒÍ?”¹Ó}%î@ëç>Çá¹Lfî‰M‘>R*óC14>Ýçè-ßEô dO+9êù‰±œ¿º¯.ìg®’–%Àkä¨îVV$tMØ€P?á2ÛYµœ¢ÑΕÞï$$ùjû†¶;ÛW]®Ÿ~¬$nÐ B¸I#üEAÕMÒö´„‹mLO-ÔŠ+—¸ó}›·Äzʶ¾„Gm1 ØXVÜZÔHŠ˜Qü~ ÓUâÇùòŽ OBLÅh¥Ê×tÄWì:—f³Á~OÐØ»<–¹ÚŠýã–b+~`]åéËÌ”GÏñÄ¡Òtu%æª1 rgŸñé qŒ`"#Å& z9àø~zÕZîÑ,fRÈÔÃåI q"èÓ–2NBž ’6Ñ>£tÍß̲-`-wH•§5PLÖ 2çâWÄÛH‹~zZV,’]EŠËØ ˆôûÇÙ²Ã*6ìÛ7•Yaå9IŸŠ¼iš!e¦)’DF޴ć"\Óí0–¨ï¾Òo‰òùdïgðRáï²Û†î›bÖÈ.SS*uæÎîæÁÔ«Š!à [vüØðéd»pWzI¾‡ûËÙ}B‘ñ_úŸ0ólËI޼èí¼0Z#m´Ëêlå#*±_RluïíZÊ38 ¯ÈúmaE(¸Í«Œ¿|G9{Ú_ïÏ*Ÿ†ŒŒ"¡˜Œ²ZÒå¦cªöâ-$4§|ÓÎÀ¾mSÀÜ9tÓ*Úswý¢hÃZå ¤Yƒj™…ÅrȦ¬xuÌ¡žEÏ7†0,@q†é‚a[#FC ÝÏ/„×E ÛsÎ`[é•[Á…î»?g:Vئ… †ðîrHÀ‹a_G槺䟼ðôž´ÁkŒ„ÿR(ºªÓEºZÚ¤hwýe– õâÿÃ7âí˜lk@VŠè}VJžü[g‹ ¸9¬mË핽^ÁžP* T 5$¶Ìà®Ì¼SÉEVsXX±EÀ¸…ˆwY¬ï&7¤ -ßËÀOâþRMž&Sy:~ÜàÀ)kAËÚäûT˜w³J)ç(Z‹j1¼ª4—‰Ž¨äz:ö»\ $úÿBøùϰ VS<©ä¸ÎŸ,),ü3ï[è8}50ç6vò_ÊRBþùa Ʀ÷CæmÞ„®îkOªwû'üú•²¦.dͬ LFUŸÐíeÍ<]¢MíóóÊ@í=È<ÍÑò³ˆÊâô}H¸O§'Òp8iŽ+ÌÂRs¦‰?×ã-I.^9O+D‹@³`(*_FñR™`Mà x<ÍBóO'‘ÓEju× ›fÇ[¶:6×{f MsöÆ×N¨Å á“0Á×KÞ§y0ô„i‚egÍu—vRêìŠPfj<Ü‘ÿ^MÁ~›9ß ËöÑ•iæ]9G™ªxßüÑ ,¿úþ²×ðí$á¶à–ø³icþ_±°“W¨I=ȹю…Þ(>£¤3\i6£$°šXƒ4Kïµó}© 2g_!ýÈVÆ>Übä©z¦Êõº÷ïô´AJ×ÌçÌI¡#ß[þ¢FLp¨IøÀ{<2úkxê81޾!€˜Ù$Ûû!ú4kùDË»ºiL:Ì›Ÿp¹jtÇ¿¾Ôñ ”\XFæëS¬æYN5åg˜Ïº«Eø#÷[eåóÈ˾üÌO“«f+ ]rNç†'QÄ«û•K |’’’ѳ*ÉúKômÍ3—‹zà$çœacø1ד؅Y'uê@ênf‘;½%ÇÙéýáÏþXù)Lˆ7L‡®cŲ¹Dõ?â•©Øp’n9ÞO™Û 5˜‹2äpñ½¹g©þѦOP©‹©|û¡#W3õ\r¥A$yBz¬ln»–„|þ'Ä`7úAwÄ6…êèAê‚ÈÀ¦ã¯Â}žÄ1‚'ÁïýÈîVú]2ðÃ^§n2 ÉÓ>êÜœÕÙ/Ùk6|5³Ùô¡ÿþ„!~IýRQèÿDEŸð/|Yól qG Ï:q4ì/xnÈX:.Ü™NsâèjÁú%¾:nƉNlºFšÇ­ßªâZ™¼†¼ê|éÔ a‘¬& „öMîÿw8'Q‡õëIGOæ(‘ {ý¡Ð7ØHÞòZQ/¼œ„H39Kå[¥ÖàÆ¨•æL‹9¦Ú8ü?ûðµ÷¯ó'8ð$ÒGÑSJ”ȯÐ6ϦIQ\*Ð,ËŸÁÀF“èvP£‹Ÿè#)Ì.ÿm]‚(QS´ð¹S2:›“Ž6ŸÃ+~ˆ9@©ðbre!¢ž’€Wª˜·ÊZ²…'–CeÐZkáÔ]õö͹+3ŒRi!"ñÁûVËK7ôÕ è„´œd7´¼4c(ùl»Ào¸ež•Sö¾•…ý{ªÒG£Aá6©³ÇÂɞ܇üeÞnÈzRjó§×øÕ”,2z› ‘Ë´É6ÅN· Š‚㡞«kñ«$ƒÖáéM£Mº7s…ªLÚ:*Û¯ùçS‚{ÿ&…*œŽÖX†‘¿÷×¼»Óy)f; R[ÛåÝá¥Q;½\,S¼þ endstream endobj 586 0 obj << /Length1 1630 /Length2 5485 /Length3 0 /Length 6305 /Filter /FlateDecode >> stream xÚ­TgT“Û¶¥ªô*MJhÒ!tBï¤#E $‚!$ô"UAº‚ÒD:¢ ôŽtD©"]¤wyÑóÎ=wœwÝw~$ãÛk®5×\eo^Ns5(ʦBbEÄEòK3k0†ÂQ†"ê(T Fp4)/¯ÆÂQHM0&°†Aš0@B Hy(O4ÜÕ àÇñ ÿeùåpöÿÁEbà®HÀM܇ òô€!±8Šÿ:Ð`Ý`8иeb£g¬à×1¶èÀ04®og0„C`H Là‚B ÿUFÇ¥†€OŽ ƒùA`ž¿ a€' íÇ`pß8àŠ#±¸`Q8‚ð†þ€³» ~ òD£p8 Gf‚Â`14Ü Àe5ÑÔþC'Ö Œý•ÇÁ” Ί‚xÿ*é7†£Á¡X0‰`a~Ø_¹œa(ã‰ûãrãÈ<Ñðß2¼1p¤ë_ „h˜+ EÀ0 ŽûWwþªðoÕƒ==þ¿£Q¿½þ¥ŽÅÀ.¢¤â¸œ,.·+I*ök]ô.(€8ð;ÔÛóŎþÝ þ_;#€†¢æB*fŒÂâRøÿ»)‹þsCþFü øïÿo¸ŸÑ¿]âÿï}þ;µ¶7a ö€ýüùÎ ¿À¯—ù?1`8Âÿ?EýÝÓö‡Ô_dÇþàVCºâf"ýa…c´á~0¨  q¸€¸ný¶["¡04Ž„á¦ú»¡q ðo˜…rù«ýÒ@0$ôïÚqƒú­\LKÏTCËLè?¿®¿}Mp[€µð÷„þ7‘µ ú¯Ã/&uu” PD\‘ÄÉÊJ@’ÒÁÿ!ëo"ñ¿ÎF`,î°ŠâÜÿŸ¿¿NwþF£…„  ¿öÆ FBq«ö/Ã/âFã&üûöã ÿóü{éa0?„tjQ¸çž‘‰­bÌíдko'ìŽò,~eQð<¬Õš3*uúQ%Z;$ÿó­ÿ§uÏ‹e}Á•ÞV_Klûk0·@ÛsšÙ› ²B+bÅ™Ö ; çˆle€V+ ¦fE?®° 5H¢¯íœ„qû<£ç9ö¤ ¤×$]o¤®Å£­Ê_߸™òí䘯ó}OwWËqÛò ¡§I$¼ `ÆÇ뜩X'ôá+ÈOâ3YLEÍëG¬›w1Döh2=Œ™SR<•s£Âܦ"Áý´ a¨ñ÷5G4’nï–xî¾XùgÔVàƒÀ¦'_Љ?ÿ®Ìv=aNP0ãΧ»Ÿ‰¢ªo¶UA0ùJ/Sµ:N‚ìÛ¥ fYúÆ`6U3ïŠö°v”нûú& ôó‡‰mtŠù$BQ™úÐ9²ñÔ<9•’€‡·dk"ËÐãE¼´ú{}lñnâ÷™ÉDú[d_oöŸ ÂìR~¶> æ…(4–”óé®E7ˆNSoÌ‘ÄUt±GÝ Ýày*­]„z—x/껸›×çz]§?:2ƒ¢vŽa±)DÆ1*Æw>òzM®–ÏM¬ÐMWÚ}§øÎ±Ühz¦¡G¼ XetýfÑ’óÑP϶nj6dvѾëÚSIÕÄÝ­÷ •LÌc¥#xÏå=­’¤–NV*`!ã+·hNoÆo#¬íØà½€¸ÜÐ"¯oL¾lFD~¯éžT3|¸9ÄÖ±]5D‹O 'ŽaÉ8f-*¾#®¡OòæVÒ§‚N€§áñÙL~×)öˆÖA×§~eo5gä•\“$òñ½½.<ÕPMÑG;¢xõ_B-;…ûž+­š÷T™¹•ÕNš=¢TRu%øëÖÙº·ëdjJã˜~­ŒC¶~L‡øâ"Ó0Úàmà`»h€Xmì£wÉÁvÉ?~ä”ÏKðS…òkÉ´Ñ; Þ¼ùå[|ËBß¹ƒóP„XÃ…LÆýV9™žõ–Eõ—EGût:94&Ø«΋ô®|=Ò>ѲwMgPÛyt©¾iÐQ“M~qÒPVI>“í¶`Eçõí$&c•óäC¢åˆ0¥Ø@DëËkô[S¦Ö*)7çJ¶hwã“ëæ3@°Å¾3 ¿J°±¢#7Qø2´Ù›•OìH "Òr?¼ìÛÜøÇ8 s¼Qšîð¹ð›ÕD-Œ|aÕjû ðkã«z €ÌûÆ«sœòëé¼ÃABÙm^Õ´þG³œæG· 3UÆ"ñ¢ŽjjÇÂöX e ‡èªÄâ ‹´Lª%öÛ´ !¶4ß^\)y@Ãíßû…»ÇöØP¶ë&ÔÐëαâh¯$Ž¢Oc®±á{‹Çî>]zÿÝ]!cþƒnK—g0/Ûp\ Áø‘òÈ @S0V;¨ˆŠÔ|ožàÈç¶Â÷KŽmå‘ëàç!ZgÚ9õt£ZJHž(Eõo#øu½cìL+Á§”%OÜê_éRÆW÷K£û‚Å Dh 6Dr¹?<8˜·ºÛi¸î]𲚞v_°ÀÛÒFŸÙN„–H L—qe"Ž‘š‘ž1 >RÍ»—=uïÓ ¥=p¥@¤FdrA^àôjYÌò][—Æ7íÔ•n’Ee–,Šví“»é1½Ñ¡§£Ì­Î›OêØfj ­§XI3Úo—£¨º$%)Æ,¾Â±¼Ïe™Ÿ¥ .q7y»ÌÝzYxÇÊžòBeâ§ú®Ó¨ä6ŸÛ¹ûÎÌš(*0‚8¯*û2w[pyi‹¯[Ý1kvôȰºÑõnÆ€ üÝ5¹V£<ëûh9Œœ‰?©ñ¨l;‹5©î"%…Œ‚O?èu™Ù À•šøO®¼íÑšøDü¡k ¦\}Zæ×-â½×—¾Š4/]­tµ}’éèÔâÈÏ ³~DOô)åˬ~æ€Ùˆt"æÞTá03‘¢{<‘S¶†/$¢S.Ź¢ø§1!$Pë W%sïg{M¾º‚ÐêV³wÓ‘ŽZµ*«ÌË"e‚O½ØÑcÑyò†Œ43l¤†å/`ÓZ"ÐVQªÝŠW° ÎUuKY}»$Æ¡Ÿbä«Ý&Ø’ÜGt¯Ú˜ÚåµxÄ…€~¬ÄÅìK=çÆ»W7êݦC£ãç –ÝÜÄéô)›Ÿ”䪦Q„l3Ÿ;sgzm—ávúÄgÙÈ<ÝI¯2”Ô4ä>Ó—Ve; Ø"9,~Þâ4ÀNk~OöAp˜ƒµo•°\þ^šø8|\ÄÝÊž/pN¶<Ç=- ÕYõH5Ù[uö@ÛLgàmÓ[}&6ïs)úàÇa¤á·©ˆ—§U€"ž¯²/œs)ï½>ÌtÑ9"02ô›È ]oèKé?uc™¡xßÍè°[tèÓÝ„áët·Ã2¸£Œ,eá ‰¯“Ê"é뫈ª”w Ë~ȰUˆý¼#oË•ŸÀ™ºÓ°é~ktù´íúÚêõ»¦;’¼.JDBwôJ¼öx¹,ܺõ0Ì哤E¡5C°C$9Ô:´Fã<íò¾í}Ý×(“ m}±›7Ï#6#PÛ¬GÒ±Òäu®[!¼îÆyåfŽÀM,J“Ìëwt´ƒ´Ö´ÅGÈ/‡ÐOBèè¤Ûi_‘•ÐZjbÇ)û®‹±¯†¡ÍUbñä™àͺ@ëC ÉæCμ -å6«@„H0ϹX¥ŸwÌhC»³œ‚³¥£ä=qU´’qî;éT²VbÕ5,’ÑS4ôÑ”z5~è:'íô–ô/XÛ¦(¾d`]‰Oi®N)¥‰]+‰&Ù›i€å(úÙ¸xe $f”ÒÚ?'¨Ê;^§í Ñ}¥ŽÝYÔG|ij .z}ïë©×ç‡Vê0:»£kµý/Uðó£ÃVªø¥ÔŽåB$Ù98Úeô”F_ã_9Ÿÿè÷(’´kùöɛ٧NŸz„Á0>!ã³Æ W·¹'¿xÆâX•–ò„ØË¶÷Ûü¼ÄÛ ö®õöU)ALM¾äiï2@ ùÕ½v,®Gã'·öÂ&a°'YZQŠ<ÓËrFî2c™V%èòl̾TéñE–Iàd¸`>³â*gù÷«Ù¾nV²³á¦Ýô$£šìªÔBgÀ{s,ðI….ÆÝª`'Ãz­ Ë{€dUü(oј_bÔùü¨l,ôM~ÈÆâ»‰Ùqù4/]Hð+Æu ÖT33@ ¿À¹öŒf èÂÅ7fª4A`gl°i%ã[«›žé›Ó×o‰u7o{¬Tò•&G„‹™zTÆŸîžLݯþ(Í›“pä@n§‘hfI³Uêt#º^ÈTûô'޾°N}ºLý.x¬ÐËã–QJ•'ÄÍ:•ƒ€Öˆ§ÜTù%ëéÓ¬'ç+os0Umhõzµã¦Ot ¨†[+’®zA œ¥X£¯2œ¸Ö«pvÊÒI ¶²Ÿ{´;=íÜ)¤yÒè¥ëʹÒè–0þfE@1}ĦlÐFZù|)¢®4¶:¸ÓI•LâÉ“Ã#dæÇ½ùì'á€QØfvňy3Õ{Ùãrè¦èe¿ú%k‰vÙýñ—Ï¡¨4DCUB!3‰ÇådG}¨ÇEž¼ƒÏ¥é¼¢Œ2#²)wtªõE€Ó*æPû¶O†á¾k°²7:Ç4¿jékDµ)”|:j¼eNæßlz¡¡K ìˆTHÖ õª<ß¼âœF>>Nj‹’|íî`k‘EÉíïuÜÊèµÕÂg8'M‹g̘]jš$ú&óý8Nó~žËÒ6Ó\“ÃÑçÂ{~y ^6)à×ð‘Î ¥2ê ¬¦÷$Ö¼^\÷èûÊà~·,aTäö°ßѧJÅ>}“x ·v]ûnûÔ`j—S¡YßO{ŒeJÔ‰˜^º/M`­óÏÙ÷jçè:ßf_˜àµÏ«äY©¯˜{¥2E‹ì²ôÆ¿ã>kM¥ùÜX¤…Zõ*¿c$~kÀ<öÞV9‘(–0+Ù,µEÒpcç1ïÌæOÛL=w½÷‡¦W´NâÚ†ì ‡Wt ˜Ž÷]Ǿc‹¯¨­ökrPrà æUç"'qâzÚQ´e´Í¼fFãðxx[ûªsÑ|ITtNk!g¥b¸Êñ•'§ÏC€ëŽ #ÐEÀÿÂóiâFë"¹šm‰·×ûê† ø©i¢j‘‘Rño’b¥4ëîi8WÁ!ZÝ›‘s;ó™ZfZ6ª_6)ì-®ÐÏÆpò•»ÈÒfד¼›˜‰qÉ“9Å/€Îê†R}•> s Æo\[ÕÙ«=Qk1ÿ.<ùub}ÒÀ@_F•ÚÃ[δ_:fQ@‡Az¨ˆSÔ<ÊÈ"‰1\¶iï{ygËrwq7ÏzŒѱ¥bš90,î <ÝþÚ¼ìð …‚oBäíD$¯QÀýŒØŠï¹£w¨ߦ¯[ÿ ìjÃsÍQÒVûÊ=m]"5»þ¢ÃQÛM(+±S¶_ð…âudíiÞ•ówœ·_}yʸÈc]ÏË/¢³×v]3c>Zl_~ºí ºº6‘ë²›ïÉu6*Ï›.ÊêöNÜ^€NÆ[}=ªŸ×›tdÈÄ+<9Rò9ÓYøPà:¿_p.}<«ÿt~.Úï2KùáòŠÐd@„Xî(S©ËžÆw6àܹAMŒkš)Ì$)êý7ãaŒò e»”Û"¢¡2½€5<ÁF¹Eu’P¯Ùíð¹8ç²Ô¼§Ò¡¬¬\Ý>Ãûs,ëÁÄšæFêèû.ÑõqŸÏ†¨–L_:M‘„ì6Ü-W‰Öõ£)(å”Í~vxßkÑF³ngÆ#3F^bi ÿ–ý¥€î×[)Ä–ê³Úœ·ÁV¡#yÌÚ)ig<„þ¶5 O-iruï¥?ÓEL±$!?Úní5Üxý¹åEÇ{Úæ-É÷Ý-ÛœYÉ*ªh|%‚IÉ7Ë»O±)Òê&u–ÎŒ€gÆ“Ê P²e÷¦ÚÏvU¢Wl¨·ƒCuû»˜„ÎëVØ?îw’ Ù -túô0Ð0uy¼4ÏW”Ûåç¿é>Ù+¡pY.Øo4õ°òŠ™º]âp3sSñ û’€š“ÏaÉT*isÑNñ#uÓ&*¤Žcv$[m.,AâMmÝû`ZŽ88³-ðìZè¶sÕ„äÕµ)©Î7=x…ã]u£C”KÆ ze+Ÿ¾œnþ-nðç¼›éÕoÇ5=I ÙR6¥loƉ£;.Y4üxõò÷žÖªø•p\ëøÔ¹ø&ûãóÞ|ùÊ~âÙ¸‘¹»m:¾³gV5žóg×N„bT[ÔÜïŸú|tHg›ŸW2}q Œà"è IS†¨+z'ñ(ê‹+MQ‰U=ýêT<íÆø8³e-¿ã)|e-ªz ›{K“öÚÕ†™öÊk’ã—ú”JÅŠIüWvõ ·¾ÓrØð<øþƹ/ŒÝ;6².@\0ßøÇ1ód!sji¬i“n|5p‡Ñï±”¼á;µ+ö?N%†WÀʺ¥guý]NĦ1âzVÖÅ3ø2÷ËÖ§ø¯¾ãÙÉîìû™hIà7ê"áKÕYŸY#eî/ð°7JÆþhÍb7f¼ LóC9—úƒ[ÀÜ¥Ù¸±Âàš5~î6ïX’^hÜÁ–N|Å+B²—TyÒvo»W*&¹¶– „Ý`äv¶Š#¬äY˜¶l O%Ú6èÚï]@—(žJ6*Éï]ÞG&W‚ȳê"  yoçe_u½¦hIçý±®Yì¸^ßV¸¶|5a ž\2ó,S–iËVl-1i¨ïí“àï¿xÙñNj<ŸˆF:º¥Y+!¹Fb–}I§v)>?<> stream xÚ¬»c”¤[°&\¶íʲmÛ¶mÛ¶mwÙ¶Ñ]f—m³«ºÌ¯Î¹sçκ3¿æ›¹Ö»#b?'b¿kçÊ$#RT¡2u06w°w¥c¢gä¨)k(ÙÚ™Z9ÈÒ);ؾÅl0dd"ÎfF®Vö¢F®fÜ 3S€¨™ €™ÀÄÅÅCqpôr¶²°tP~cPÑÐÐþ—䀱×j¾wºXYØÈ¿ÜÍlíÌì]¿!þ¯7ª˜™\-ÍæV¶fE-)y ¥„¼@ÂÌÞÌÙÈ èflkeµ21³w1£˜;8lÿc0q°7µú'5úo,!€ÀÅÑÌÄê{›™§‰™ã?*Z€£™³•‹Ë÷3ÀÊ`áldïú]W€•½‰­›é?|ËÍþ ÈÑÙáÛÂî[÷ ¦èàâêbâlåè øöª(*þqºZ¹þãÛÅê[ p0ÿ¶4u0qû'¥uß0ßZW#+{€«™§ë?¾ŒÍ¦V.޶F^ß¾¿Á­þ ÃÍÅÊÞâ¿" 8›Y9›Úš¹¸|Ã|cÿSÿÊð¿doäèhëõïn‡­þg V®.f¶æô0LÌß>M\¿}[XÙÃ0üÓ*Röæ&Æÿ›º9þ§ÎÝÌùßQþÓ3TßA™:ØÛzLÍÌaä\¿](ÿïX¦ÿGòÿŠÿŸüÿ„ÞÿäþwŽþ—!þÿ;ÏÿZÜÍÖVÞÈÎìßM€ÿ7‹²;`ÚìŒêG{SJÊúeïø3Ý,ÎP7OT$îEh¤Žþ&M è=H-@( Åçä)§O¿ÆGG†ûoÁqiò ÉxŒ0ýÓΉR]½ ï›M>Á_ÝÙŸ“z4*;³¼¯ãšH,v|ÍAw#`&±·UTDâ{X”ùsäí)æ~PÎ×lŠ¡¹/My¾»è·½ŒKíãBÄ£`÷ñ%w‰¼?-ó^8îWsV©Ššz3ç2‡Žë=1m;Œ.ëèÄ\ƒáT‰¿Øn×[õ™¼ù&¦:Ìè ÓJÇ÷Ï §:ÓhÑ÷lƒ¥ºà>o³çêH”Nœ5ã¤ñõÕ”ïlÕn”Ø/Ú1>­»ì Jù(¢-eï4»+3$;ygù”Âß#zÎÜF½à½?àéÔ±õÇÿÆi•©:Pò‹rðð1 ¼£=ò q6}¾¨"MçðÐý6+¢·Ï*ík¢¯éÊšXÌ4mª= ÷×\&§LYƒþ˜ñúµõ…ÏaÀOF3Ù½!5[7iEZè«É5ó‘]Š*Ë‚qŽ9°Íu¤ìû»=ÑÜæQ½¼ìðtdTŽº»³'§fŸÖx7[F;ºÄ?Þ¾¸ˆr-¢Fá%"eí^‡\{Á ¤Åì}“ÈIUà Ú_çÇtAíN!ª¾>xW#@Ýê´?øzõ íp­5áSŽ÷ý¬Ú+ô¦»7:"Q ôÂv) _dÁJ—Þüzgµø«y,ÁžnãLêÇ-`q‘* 1ß‚lõm*"ÀXïÇ‹w¶NÎÕP, µ¸ï£^i9™ùõ4®âÙÇg(n/ aÀ²ýÖ«†ÐÔ3ª¹¦›9¾Ý>ÊÖc™Á™R̹>y@B–›3¨ Õ4Ïdµº½þvkÁ?D3@C1¶…¢QåºB2Ï­-!hWÁñHš;s‘šxrÕ‰ðóžZhF[›¬Ú‰áFÕíÐ÷EWÒäF݉ŒÇ¿Ë!©Ç–OxDÊbÆqdøQÒK<é­ÊÃRûÖí`p2üùT_Ì$Ú :xåR'íʬÂ[ÒÖcÍF¥c\üF ù–vÚpæh×DöžæpL³ˆÅØIĘ̂=˜•–aôçYÌX¹Ýw«öUT¥Ã'GYž+ëååÆw!m¼\Š~Wë¯ÙõØ÷ˆÖ Ä{ªlG˜-11)í ϽˆØFJ,­t³Ý1ô²ï’âÛqú¬é~ü)x”wžæƒ³Z,`½Ža!Ëò6CFõÜØqbª-Ï¿W€ëÖ×±¦ðöüXþ)ÏúB1&Ë¿jBüBàV¾EÃ’ËßÖ>ÐW …#Rm0Aއ†Y'ë­Ñ û’cäÜ”ûcá=¢<¿?¥æqiLbLXåñnr$_7ÞøCYl‹®`‘Î"Ó¼E·ûñisúš¨#^çk«uXì‰z+áWX·5‚âÛ›FaØJ±Á²Ì[Z“am@EÚæäjùÂsY7õÑàÆ> F®ŠÓøZCœ2†¿ jà€9¹Á2g4Þì”Ù_ßÔëY¥É³~òvÌ6£ƒ–ÕrjŠ_À§}¹ŒÇ5‚5-ªKúQ%î¨#ià¬Xì…UšV^³?âv[y PZ[ïÕ˜í×zr[ª—é·*m{pòÿ"²W¢KçhŽá½ù >ÿŶYîÞ‘>ó™b¦QÚáÀXx-°>Òt /H¡p5QÚPÌœsÞZÆi’4Y À_f tO¦K§.f‹óä_Ï»D% d^êÄŸÞìú¨'Œè*~ ö=òýÌ‚•«“e*eõ¢eê`MÕ`ߜӣ‡ƒÀ#»<ìÀxµXLä]$µ–Ÿ‰«e ãä6D8í0¿GŒt”8¥úYrÉwAgÅ}ø-©ŸòÝIXïÚÕ‡*ägÍé Õ<ŒÑ\7ˆð« ÒËFáË €ìÀYIÃ#»8(´"U>¤ cà/Å=*±êRBUŒš¨ˆý@H¤nMíë_'ÿÈê¿`¾•r¢§±Ð®‰¾ƒRñ‡ߺ}mD™‡ ?œä/åÌG°T }=˜iÛÑFd8Ñf%•ÕF¼¯s‚IàÃÅœù)ǸëÙIN Z(#¿# +‹Ï²ÛT\®ªùjÎ ½ŒVÉoÒ½å8ó ˜Çt/(%i\TG[ßåm™ñKÐ`÷䚦£­ cã6Àý€lL«A ýÊÔª‡ÝÇÈÛUÅÔT|ÝÓe¦Ë‡¯ð”72bN4N^©vZëü@k[±Iø» ˜c¤2øècüÔAÝNÏ ¨é÷–o©Ar^ ü` ÆÜÃ߉Çn‘ìTjGÄ$ºiùy«ÈuÜWAg­xKmü™YF8hf=u¯l¤0Ø,ª´ 7 ¨ŒÙŒÊ…r'>gè“Åà^æu{˜ëNpËcJq hXþèÅÿäÈäÊ^dG¡·&TEáÔ¸¹á îFázNß=Ýó£üœ‚† ݸ¥ŸöËÃ06Ä !®™¸†ò¡O0~ǾKKŸØ&ˆéb7.œÐÅ«IjHœ½· ¼¥2R¬ ¤ƒêX­½QMØ …#éëÈV¥ðoR.*£bO\~v'f³âVö¤º]!Ú:@+ŽA‡ïÍhe? mðÀyT†Ó°ìSo·o[$Ùˆo~üöAÜ–ÀXMeÉFÑØ}=KꃌÁ¾ªèàÊ._#ìS+”ìeC¾U>H Þ¸ïÁB¥K¡¢û6´5«WyOR¿©†_¼W`€)Û»Qy¡[x•ú_‡²Ç¿(bÀVª oŠ¥³QIÄ:‹ˆ$yÙss‹ø+ƒÓˆÚ”HŒkz‹­W@‘êF´ü…„ضœj ¼¥K²u8|>Ø”lël¶Qàθ$ô‰¥³ô‡‚j™ˆ-ªj¶Å‰j…Òò¦W;qXÍY·Þ±ívù­FЉc\³êœ!ö½²sŒVèTè:Ðrxg ýଈ¾œèž<¹^º;ÕÕΫÛÛ`ï(++ýºìÚDì[ÚFI¹pK­ùH4sÖ+oÐý1r–ßÿ›“ñ>{cö2¥E!y·Û!WÍ9„¡!tðѦþy©ZRC¶”–èŠ KOz¬ãëÒ>hPÃlfJº‰.=¼ÿñÞÚÌF–¬&iÏ›fÚú_D-ÑÅÔ¼iX­R|þl ,Îò6žÚÊåʼn³Éõ蓞íÜî7Ž+…ën?–vI­ÉG¶õ¿ Bydu¿ñûçÖfz©ÕÒj–m,‰U5vˆ¤ØX¯IäŠ<bár!Öº`^Ó‘Íd ò¨PÜíd¯¿ÙÕrÒ<^ß }ÔÉ4îå²Ýj0}ù#ÊêJè’Ü0Ù¬ÕZbá@ôž6ŽÝ©Èkœ^¾Ë˸žx«ÒO…Í¿­û‰dàþ²(Ø@~n¦Ç4?A©(¯ãè WR°R×K{÷@¦Ú"$¦]Ýã­zbÙIŽýýû5à hf%!à7=Uô=sSøQUR1%ßj‘ùb`£ÞŠìߣõ º’ ÅÆøN;¹ð›J(Ó C$Ø&­]ïdÚ¿ N’?ÜK×ù·@/” »Ì'}$ß$ôTÊúGy¡Œ]Ç;ŠîÀšÒ ÅÁŠ€Umì ²˜j2~jtè!È BPuõïÓl2T@v¹lŠpÐö8ä%O퇄@ãh¶”»ÁÉAØÜ;FUú϶V¿&‘9#A fSze2Æ vñ=¡ó±šÅK=ï9á¬Yžö­kÙ˜‹ Šnšßí¥eX ë£.6n¼jIÎÆujù¶M[@†\Ó0L‰éÞ.G-¯z#Dã¯"ší³¢Òq¡¤LR*84Ê» :õÔ2¸F˜`e”‰ª~>G]S5†Ù©Â7õ‚GG!z²'ïìV¢¾‹!½\&½8q…`<r¼'\éeaªÈ¥JrëΚEy¾Ý£¶±ÒÏÔnÎÝ­À\Øa,—Ø"jžé¯R3V{~1ôßðÁ£À!s`‡CAÈ8ã—èMäD+9Ù!BXT.Yªøƒ¹xZ´rQS` f¸Ê«ò‹´Ùà äž\H(¡³¨’W"°UFé (¬ãbð¸×bxö@¸¦@É ï¸"yA”. v‹û£6W¸Îè/ ÁNÊ=’òqBñá‚åÂ÷RŒì­Ñq6ö0vÏöÏÙ´†[³ðe‚ vCŸ‰ûƒã|aèð”†&øã q„ ûeù¯ta? -Þì0*ÿ€–S7  ªÐ´{ýΚâ¯0'‰ž¢wô „4^[ 1ðžCçá² mî!óî³îÓŠ˜S¹XV2ºzw”ÓÞ'%¡ïé ‚(›ús°Ýꋹ­\’z•'Y€ÿ•HXK—]"?_¿#Œ§Å¥P¨! 1*~ƒ<1CÅ ¢5Sg0œw½¯ûc Á‘»˜tø!Œ&ÒÝí eë¹SR}B`"´Ç)ek*®×7[ÆâìêÜ:÷°ˆ³„F’Á±ªDˆ(•ipÕ]á"›±/o@u–ã¬0y‡¬º1…ônBÕEœÀ—ðŒL5å|N-Í.Ãèøû8e‹·=«™zöYo‘VÓdõºð¥c:>ìØè8<¯C-¿´@àÐ;5A‰ÈΚ;ËJeº¡dÿ_½7xðº¢íé?Ù S—!tB ¨N™©ô‹=ÞërS<£µ?)Ä|êT§ q}™ ͺ)º¿ø¶×kaF\µ0^±ºüà§fç’–6í§÷üÙ@v}ȯ¸{71k7Ч[‚ïAg†²“b'½b×!r ˜xJb•$¦MInôŽ +èÁ»2ëÃúEÉå¾›õPf´!~ì×õUBE«s·¡² ky><*>…{žÁþ=WèK_å.WäZŒhmºÆÌ N¯<Ô±$_ ;Û/ž[¯(}Á‘;$±GSPÏ©ÁC@ ƒ”Mà¹Ùš·±ûaa eK…Ÿðßkô,¹gM^ÐÌÓV×ãò½-±ÈsjIáÏ!B\¢õFÐĈNÿ¤ï;‹øðE®¡Û2´à¦ É ˜ ‚ÿ®ñõ0;š³€LQš¦ÐÉo)ÃÂíËýZXaê'8¿?÷,uûSßÃÄ„y©Â4ÏPô¯I‘Qîø¥ŒŠ‡-Sl¨‡f¼«Ot4UCÌ Qà˜Ò¬¯Ç#éÝÌ'f²fó>xÊê;Ã?Ï‚ǃ¹¸Ç&~-øç¼ÁZO f\U噢^MÓóŠõŒbSŒQoeR”É÷•ròàÇ-\…ºˆd}qÒ¬M˜9ëQö³oY¢Ø”‰9¿Ì½}Ðm¯6a7¼ã3èz¯2°meô^m9xÕ†å CÍF%“Œi¾ª ÏÅn[§ÊÈ eÃȤÂFðS‹åfÝJ¯Ïd;ôž›Fþt.½ÜmÛ)ŒI„E§×Óù#Ö”CC¬þjǤ–ÄÈŸq;Éijyn¯„ŸD‘IQ,ìwâ ºG螟oõšG=„¦GÐ玷Ä[Q‰Øò$yGšò Ep‘Ø9!‡&øÀ²¹æ~õFXÒðC2è.W`*°ZƒmnWKÌ[`AzPÿ Í~ü€3Ù¬ÜàØ½ü¥ ޹×ÑÀÆörnù¾í¿Gñ¹°»¾ŒÌ%j¾%p›Íþ'€ÞTÛ`}V_)j'.q®ÙBX-³íWÑcÙ¯b÷ƒœ®ít•&¤MÝh‘‰ß™àÍŸMãœ!“kR¯TCmi–Õ+ž»¯ƒT­ÒË4GP9‰ßå×8ß Z³‡#ż9NDÌ(ƒ"úö¨E< `Pþ$ViDN`ö÷¨äé!šÄ›G¿öýI)*ÿôŸlR¾î/àÖ¦ÕÄœÁZ‡¬‡ÛcÃ…´~Ôë C z3¿XK•¸N¨NçA+úùÜfWn“qx.îK( µ;òkíºý­"¯O ªºm$ò ͯçyuÓ¦ÜðC=’¯c>®þO³Õ›¿%Ñ’fGyxˆ‰÷ìoªuôcOÉ ÅƒÆâ$–¸£q£æ*ÇzáK2ÿÊø]­=/)Vµù(ܵŠ'KÎhá &ìÖÂ5 Ÿ_S‚AJW%£«tÏ‚ÉÍg=H9óøÐ1è7Å'^tÕÍï "!Ê|ÎÓáò(Ï ÏõHtX®0¼cË|½[112ïѰÔF¹…h÷Æ‘¤8BN@ûÐmOj‹uo ÁаÞ7™¼4Ö¥áfÃR›ðÒqı–¢ÊJ¼ýÃôe¼&ØÛ yAÂh7 Ö#Á~eAå•Õ˜gB4;&Œ­V+!Ÿ©ñ?0ülòÔ ¼äx­`K2k[¬ËVW*l€ßŬ½9 [? B®>'Ÿ·+®ÿ9ÐL¡n*Ì“'+ „5N†Þú÷Á#ÄF…Yçpà¾íÓúC©]sOÖ3J˜É¹.éÕR;™²\‡Ç÷Óïg gÒ—>i½.õW3vÀ)é<Pª“~ƒ_³ëîÁœù ’¤'P(ktµ¦VµDc2¹'äÅYÄpøµbÏÜXòNâ殣¯ˆ? W¶ç-—Ñ(ðÓ,f©µOßÔ¼ÿ/.ÛYÀuñ~ ‰êÜp¼°¤ô›ãæ)^#,-KñÁ kµ†ªÏ_‹hš9] PÚ^} m¡”sI‘yÇ)i©!ÉÑt ³«‘öç¸ü"^=Ï`*,©M¸…Ïô=gÆëÅóË7áb„Aä dTƒ\%‘2×M‰gà×”-½‘§‘º¨&oö½Ÿ¤Nky{S!„÷iŒÅ¡·QzŽlÎÚÔw£àE.«jJÅùa9Ço™—F®—¹ðÅ’,‰­•¨Æ9×Ðg# Q“”¥+û8Ïøk°íhù‚©6âÇFãÏ÷¯§>µJÊJ‹b8£¢±˜Øc g9“.OÛ%oï; @Wv.À£CîOì–ŠØqécvVD‹£nÑ™6æ[㋬á;>=àíÙé÷÷5s…¡–±s¯Sž EÑ^»êó0— #†ÔDÍ’Y%cÏHxAÓ[þtí¤©C÷j´—¼¡ÏàŠ±ÒpQH¢YíÌdEръ”ý­Š+»Äg0”Ìö"»ÝǾ‹“ÃÕÝ<ÿ¿´­‡lƒ‰Áý1F“1—:×ÑF¶ß»£8®u®°ùí×"÷ÁPî÷jï4Å ¥$øÀ\ÆÅ"”¯ ·v§·˜ÿš?¥ ^ºú•!2»zŽg¸{^pòSË!ìØa¯’F°å?ÊÂ%ëTt6@¾Å}ŠTŠô\@Y£µÖ// †#3ˆnãs•ÒJèq‹ÜºpSœœuˆP0 ÅjÊÿ)×pQä‰óó{[¢39Š•,gQˆ…„g¡-C‰]¢El>N„jÓ‰ Êü]1N~q4l&$|ýË6’y§W¡µ.³¤þn:ØSVªÍÊeè­úƒºÅQï Ì Ùú£6S²Ñ`¦Rp!9Ã1ªß‰®Mö’Å%_ë>o9ºëø¦tNˆnÉ–áçî0¢Z…\à†7e‚öº¤¶©tK¬‹œa”b²…(JKM¾‹êeãŒ+5Œþ¥×§.ì_ðHéÕÇyåG³Á~ìbV±”Ipp‹œä2½Ås0Ýæ`ŸÍÝ+lC•º|©å\Ä3žúíÞ˜ÓÔ[,Y/¨UÐO»ò½ýë$iÍOrÎÊiSÃÄ,oOuˆêIF‡¾qšÈѨú;^t÷ßÇjzVW{3PÖDPÑ XÈ\±xvÙü²?Rè–’RŸ]zL›¤~C„½R_'Mþpªð£Rû¡•wYÃZ§ÏÞ©GË2úRÁ´‚tÅÕuuôj¸Éßåºó×>Ƈ=uÛÆ¡•…sdÞè1q‡¹²“T%€5LÒ‰è¿ÿ$©â¡/Zí<Sxo$UÕUÜŸ³ ÔŠOóJ ¶‚ž¥Ñp›t>‹’bùý±Ð#v[¼ùOBo~,5#I!}"8Awc¨Ð±ÍD Ó€"S…šh.ÉZ‰_ׯÑè¾ùÚ$ÍNù È_u„¾=çÖ0üíëlK&|zPô“=nz##™± ¬Em!4Y…ž€˜à¹—ÊÍi+ô•ÝËÖ g¢sªÔÏ¡›{¤:R’¡®}¬-]죽_Gg²5ÒVb&f§¶AÝ—+ºÖ¶õˆ.jÄCš`>Hò7µøå”ŸeÆ! <`ooÜuŠäá$œêt‰\X°ËtÍVТ?‡dm aéÇg#Òö‡ÁÖÈ'ðyd&—S8Êa(ÈDéŸÏÀ ÆüÜ,Ãq“-Q0É ÚQšÞ¾?pw¡ËÞH,ð0X%²§×Ö¢EÙíi &ñ;‹á-ë±Ï¶Šwï­ÒúWô,u‹«ïmIا¥ãô¦ÂycBÑ>»FÝs—‹ÓŸp°üþû%1÷f¼„K?éf2­ñ»ðŒô­Ô€=¼š·ûúò…À«n±«ICÆÌˆö@Í+_¹‰¡Ú»€¡[WÍAº`°:*Ïcè”ȹ9Å>Ét4°ºF:‹¤»@ÈM]8Sù ¹°;…軣‘Ì&URhó‰ŽöJ#héêù3U4öh<H“žxtÜ¿ O ð~íðÊÃòŠ=+…¶Ç“cEb§o ²…5Ý­é!dêx²%ÖÕG¬áûjlt„¡¤mõù5É‘0Œ3…ûÞ¶³ŒÓÊ¢Bž—úz1Òÿ*G~õr˜W]…9 åJaÙ“Z-ׄ²%va¢ Ö£sãl ”¨^‡âhhlhÖœ ˆª—Ú¨{7*·S&0¹ÄFj»¢AúçlÌ.}§Ô×0[Ûq.ï!-øûraÿr•E.‰QĈ­‘̃d·ÖúYÄðrrñ—HY>Å’ÎCÖ s¼æƒnüüÒéöhS%ž;úS­>i1ïcŸt±šáíl¸ßBQ™šRÞæ3ÎR¨—â=hÚN|"N5¡†¢ŸVÈz>i¡œëEž™‹Ï>+›H¬úˆ¢Í¡:šVVðdªé›Ú"Þ0Ž”DiXl”ȃÔva‚¶¨b8¨«D1›žÁ‚ðAb™Â×£2r,Zì]´_Áë=CnRÉñ³ü™Ë|âw‡ Aûî3™‹á_Aýn<DìˆH«OªäÆ ÖªÑü%ã¸jvq“ ¨"Ì®ZÆŽDËiÅÇy«¼Ìg¢äºÊc'âk:«NfÍBƒÂe‡áðˆ_”Õó·Ìýη}H"г£+­#‡²—âÍàËþºd¼‰ª¤ô?‘\þ& mh?ñ·sû°}:¯²Û’PžË‰òžä\TzÕJ7n†¯öväÕ–©9+[f¬ÁÅÞ.™8(b&BüzyäVÉl­A0¢ ±<IÄÎWð@zÑO™0% ç©‚8÷óL9—´Q°UQp«)OƒcXß,"F8‚(ó³¼’½‡ª¥¯v§¶'C4gkf"o»7ØÆ€j*Ëa(»žóÈ›¾u܃D÷É´f½bÿ;ظ†·äÍ©Ãë!#ÄÓ#O¸*"ë Õ«@ĉÜv²Ü ÏKôäÔáqTC˜mßEèQ˘…N1m2Ï¢Ñ*>šã%œÚJX‰eÕA bؾjû2@•‰”iú´å_ÂTîÉ­Ï0Dá ¤Â5Qðó Ù·6`$Àê…¨%8»µHw‹Ú£@©õ¸8ÿ(ΔNX†'ȉÎûÿ%+æKnÀd‚0Ö“‹è ±6&i1Uùè%²…%@Û³¨Çz¹&нézÄÊÐ* ÂÞK´æ¿>Û75ʨý§Ä‹ ¬‰„ÃÆðù7û¦ÊcÎiØ‘„C‰R÷Ú ­T[{)Õ:– ÆšˆÖÒ°?ä*JÄd4Þ qþ²ÚdÓ[žyP‚…|ZA¦êß`0†@Ž1)„b#úU¤!lt èu/”`P†^f”è‘+B ^Gí&uÖÛ GñÐiG()¾‹2Ù6Y㕵r÷Wn®®]‡ÆÞMµ›\í>‘Ã~»ÑǺ}:¬dYÀ™Ïa¼²~|"6m{œ•8öBÛ“£‰°ippŠ{߸WÙÇ©Ž#¢æá÷+''Ä÷díD ;G{E!iœ$÷~ðF Ž›}rªÜAId¾Êni/0ÄcV7/t\ǦvüZQë¬û>&­|´^öO‘Ù¶`ö›Î){V¥›ß:‹ßbò aVÐEBÏó(Ôo÷ uN³~µÃèz\RS6*Í'Y,Ìû]ú´E®à W/ö{¨IK ˜ÄLÔžžŠ+‡Wá’ÿ¹ÏÂB÷£ç‹ÚÆjsß"F†©ì¶3x›Ž|,¦å—e[8eç’‡ê²HÅyðÁôÖCž ³‚*oK^[ ¡„±´s†Qu 7næqCãîΕ۽^çPÌÜ"tRéèpÃ"vðÃnNdŒ±ŒŽ ê:®žÔµ:Ã"Õ¬œ….¯ìæÌa¹Îb4åq=Y÷»l%¢©K6Ncù½[Wt®uÕû’ B0·>èÓ<ß®úÙ]sYå?¡¸@&”oI¬†¸(ÁcQx².“J(5Öp&âš·=Õ:´튉·iêGÆlötÏ A{¨Ýã¤mfË41ŽÂL:áÏtýy½¦[jݱ‹Èdp@qšq¥BòZ!-ˆe±CÔl8ïTËe¾î&q!²~u›ãl€¼íD‚åâ"H”£ŸN.øWæMIâ¹ÝGµ\Ù¤±bÅÿ¹…Oížá komûU†{ ±lþiOS¸ÅÍEû– 4M¥ ‘hÏÖ§2ŪOYïYœ…ß(ÕOI$¶<,Ì~SÑJ4ø#)ƒgDÌ¥V–ÑJ­ÕÝÍH×[/¸šQZÙ ý\Ȱ÷í#è«¢âk¸Ë ÂÌ$µ&_Pª§Ääïݦø–ì3óî{˜tüÀªGÝ82ÍLêÏâeÂŽ¬5›SI×n><š´š’/E•%ðßVqM˜Ú&¨ˆÓ·ÎÈŒi⦅”žÙÙO½Hž?…«ë[¬ tóþr»DÅA%ý®Æ[5±a€l\Û­f!.§(+¦Óg}…†v÷®œI—kÄÐÒ}a58 ´ú!ЄvÅèw¦ò5hó#Ь0šoìa&Ôyె®œ®Ùœä¸¤r>ÄÑvßygÝ‹­«ŠÛl/†˜ÇU«í†ã½ oS‡ {’‚YŠãjÀ¶2Ï\ „°³Åš_ýVÆ*‚_0µ3)œ6jm½hz%ÚˆØ#¥šüîúuu“7@ø¾GCͧÏmÎ+‡[ tæúgƃÿ5&º¡vþ>Þ3»=Í×V¶ú>|»Ãm&Ôä†ÃŠ3ƒôÓÖ<–Kïáox/ï£ê·PîýŠF:Þƒ¾½Y·ô_Ó°+ ‹Úp‡Ï—™·PfGÑ>¥z,(-kÀ9ßœNªo.¨œ'ÞQÉÌ×iÃÇxú „éð õBÕ–~Öýt2GZOYKZÕ¯-ã"âx¦Æ÷Pücû"Ô>j²eü“vGt+^~ÒóPx£•ç9x_[ä@0Ђ¾éHpø¦Ô®oˆˆW X¿³³2˜cG€˜ÜWjê33Ïš¦±„û6ª¦½³oZfgj²®½\·Ñ­o”†_WlÍNIÀ*IKAO¼ZÛ6ÁRd8sâUw‚’“0æ£Ëð^ø“~1ü8}«?"•¥„p‚dâx´Ï?M€X,Áý*Ù>|‡¨¿2Ä–÷ƒÚ¿÷§‰ÌL:* ÿû&å=¥"þþý ô¯p,ˆ“…Ò{¬¿lB7¦¯Ø\og ±F‹ð$ËéÐíŠÁô%î¢Å«û ÝãÇŒ‡½8p~½O`š–­WÆýáå§)»r›ä¾\è[^,•Èõpeu€ÛdÒ:¦&º³†b¯aþìoì2î¼E>69Q“Hƒ9DØØc´8 ÿb5.xrÒ'rÄ&Ä¢­pÇ ¨Ò6!ùË"ûvhF iþKΧrӵ䯌Åx†NQâb©¼ SäaœÁù¶oˆëÌ;"-ß@?ó„øÛs‘ÏV̬Ši˜|kzWh°DÿîÌ œ‡6F„ÇÚæj×ôwõs£ÈÅá¹÷è·ûk}oÚýdˆyÑÌžäÔàVHxÝð7v{î%’à ®^Q—ÎïrµÞ©é:K(Œh©Vü 'dÎãMãÔVo",ul0¶¤FKªÅ¾Ð*å5˜5Í«‘·^…„ŸÄŠÚ¨µ‰Ã¬ßÚ 1ng [áZ¥SÌ¡!Zïg¼«x1fˆJU¦È€¢{ß3lîyB‡Dn—-”d‡DÚ ­z¹´Ä| #ér6ptI%ÄÃ~@òþœíéY2vËÝ ‡kÖš8$x¸'D¡ÜG d?JÑ·6›zûôg4ŽÒ[Ù)NW‰VŒFLKðèŠ %¬=Úëůis$ • à ÖîPÇ]øÐ'ެ¶†/Ñ/}õýU³dÝ0¿ý[©ºI/(‹§èþ*Ñš›Š 5{?ë•0Ù=ÓaN"l. 3yÁ‹1¶­?Q‰Ãµ$cD {A"ø‡\ü:!pê)¾ü`“x7´ ýy„¶iŒöK!Y<ô>ƒÌòC!ô”K±Ý¼eÓ(âË´Œ½²aºP1/m":¬ò¼Ð´ÄÉV‘¹þ™ÝáØ˜~¦Qu†SãMíî¦Æð­òÜ,U&?˶_Ëç=«D }œOTOpüíTX+@˵qÚmI_,FÕìþî:Ê¢’¦?L=“;0ךŒaÖ¯ºež£š;÷ô§iòYö ™5Ž è_Mëç"Ë0__`6£÷ý¥)ÍÙÆp+»V×– ~%7áê3åßZ‰zRQ4Žšq®ÓhñáÍ¢”‘ãå#$VÇ>u="âÞg Ê:3ÒîœáWðoÔÎ#á^ėܽŠì°êtêˆNü\=èj§ 7º|lW/­«RáÙ´_`87ówæ}ÁÁn@S+h“­è·ö4àÏwy³½òW­ÏÛ=nÍ£Ö#È•¬!Ä$Šhö)4GÔÛŸâ¶U 6€Fü‚X¶â[å#v!ÇŒc,¡Gó´¾|IËUÇ “‘êʘúV¤ÑÓ›‡5"4~þ/M³}'µ6ËîÀ~ó<<›…Ó # ýÏd}Řöž ‡8ŸO+qå]ÆïZ/Þá¥_ŠqYˆµÖG ú¨Ú™étÑ_\åEéËÕͬ‡ÓÁ |’úØß“~š“(r̨jbm,mdHqŠ„ôl‰ñã¥~‘¾çfë ¬üüKBo“úÅ/G,)fdÔãÑ$X‚Gl$…nÐ/½¥P+Í.—ZeÈ`tH~Ux©u-òªÿ0[ö¢ë <Œµ?‡í¾¹R¡¼Ç6X—sÌÆKÈ #»Ô…vIÜÄËSÕÝȳx€6‚HÆV|¥54^½™mhIÒoc“b³ÊÅ+/j”U~jÌeF¤&;AÅß7s*"Ò RÚŸéi„ç×:m<Þ¹#Ð#oiŸÔ@àüþøÑüZnß ¼D‚kh,:MÛPu3USÂv*¥4¾ï|Ikðó,Äf¸y8_<Å"Žso …coêÇc’â3È;¡)¾Øz¢€Õªï¹Í/#°ðö+úy<#Š·Y{nm»9‰{¤iLè¯ ‚æ.JÏ‘ºŒ"pþÞŒ%*ø“3/aÝLv³inðòd‰HNv¸‚ÌeÙ‘î;©b+OKÇ@C[Ó£òRb*¾õ¬MÛÐéîÓÍæüy=DßaK¸í´é‡!=¼=ÊA a\˜8d<¬Ð€}õVgÕT 1§¸ëÃóâÉõ(’—®‘´J 2VÝÍt×é (TªµºA œOŠhHZܬ: {mtF 娕nV\PÈ’GùyTuH&õè*Õ€hÈ ¦Uý¯M×ÚòÄHB3‹$ÚX¥‚c¤p7òHv¤¸Æñ7=Ð(»UÊõy6hxŠ1×üŸ´‰ú4žû`äà•ÎF<’­Ÿ’úM>àaðù‚Э*ݬzÛ&Š×’Lõþ4$ù <ÈQ¯gWW™RG¥³’{E.ŽW(ciRDz¨<³X£ê~¢¦\Éõ—¤b¹²­Fˆ´”îÙÞV™‘É”kÑé®.b‡]b£ûóYpoã [Öÿ¤3¾#¿^舉—í´Z6fæ®dí”ÍÁB]Ò9½B&–4 5WFZ:`pzÀ½Õ?ÈÏ·Ñd`2; £0œË à°–ÎäúÎ]65·D·&:f,Ö›çÖ’¿çk!÷’œ²Òãð<îåÔ‰§Œ×ˆ;WD š‹”ëòB(X”/·Åäñš¸~†ùc ËÏí(ÍãÕ‰ÖæâNydeÉü;® ‡‹H”6ñ˼@Tº>£§ì}%hGue%HÀÙ©TB”³|Š’íM]kÚ¦ Þ[Ð)g§Ï¥*@œy„TÉmBwË·qÕ¹K ˆ¥B‚híC;Žmâà)Að¬D]¥»žZoB¾µïòï-N ‹74ä 6]Ktµi[ᳪF´öD>ë/ºµ5¾JÈ|D#㕤­ñγ©¯Fì&¼Ä ׯ£Hœ]ìÔÂù hüÅ;‘qš²F·È¨=rîs3ïh’L誃¶œ(†Dní¿'R¼´Þ– å3âñ² —ñn]ŸO=¬e¤X[Ä×1±\nQü¸èe*±½Ev™*gSUÔ¾ƒ„”µðPK ^ ãgèZ ÕOiOf>iMŒhòšàø¤7¡w=rÔ'¤µãKl$Ÿ(ýÚʀ˖RHŒsЏdàÈ„90 ïTÎDÓ ±í½Bgx™ÀW ê}dhBøåa?–øîÿÚéIäU«¡÷¢—¢ŽvmõÓåð<ÑŒÙ5h•&;dæ—!ø;É=ò{™™Ö>4[ºb/F{¨$kši•þí’ñŒ² Nðí:p]f×Qç§À•ß9½±Ût&”x\J+•~éN?òkçìp½ëÓ³D§í8çšþô8 ¹lµÁùÜù³š’î+‚¹©xîüØøßw¡ÑͲú?ÚÛM*uÌ6{½”ÞßøQS{éÓa®lÔ‹@u‹ÛX :IH ¸øÊS²A|–ø,Þ˜¶à ï…0 ÖéúËG5€‰€i]ÙHîâ9¦X|ŸÂU¥#õFV ßÙо ”ùÈDÑ‹ù·DX3 Áººú+k¯]!`÷zÒ_šËØ=}"i 23Ú%(ÐaÁ±8°QŠô;9«ë&nWRÞg­1Œ~—˜ÊÆDž×-ÚB§ß)ÛDi++ü9¿¯¼ˆå`Ý gÄä:Â_TZ­5JR³ÈVar©é ¦å£„]¯V>9ŽåyÞ–;Perì“]äôy>yb¨¤Öæ"ÿzÛµë±ýÔ;7  Á¤%‚^6rW>0£–à\v‡ÕÅn$Y² wç/ v3‹Ø[“g-’ÄFÏ/£zPù%°˜1±‚7vïÛ0¤ü³‰h1$}¥ë‰¯Ù{ö=zûÀŠi“#ˆu™9ÌW[?Ѭ¨ ,GhH‘sÙ'H“¥TÆ%ç$~Lv+…6ᎫZÆÜ$ë,½ïì]€|ï§}·ëDH·Ibôä£ÿ×”6RVH{\9”Õ=éSÊ‚×p+÷¯GÅœx@àKŠ€´®ã”¼[ón8ïHÒ"^Fæ³¢²å…ê›Ðþ÷äÚ5¡W‹º¨”Ëj´Nb›ƒvw­4Ab*'¦å0íÞ}’p8ð7<Î[tð.fò¸6|ƒ‡lA[RJ2p«²ŠQáýrY×Príá—á1 Ç/ÛŠµ/`Ë_½=×àÆÖ¡G "4í(ñá®v= §%Ú•£oIÕ}“§N5Çö[qÞª¢òˆhš\9Z î!aRy´U^‹åk‡6-âr•ž}¿ç“.)j¹ó_?®Í˜‡œiÞmÇ7#ºr¬é9™o·—·¼ˆ!â“´iп¼‚º<›I­½Yš\¯¸ßYr_δ‘ÃpQr¦¡üçßVé½ã÷j‹œBÅ« ©õ‰RfZºÇk.FGß}…oNæä=Õ±ð—Ìb¥¯C lõfëBE8¢qdJ`²h“b‰Ôƒ% V¦ i+5´ÛðÍHm.R!V¶,›¡ÙìYšÕQµœ÷eÅ pY %{ÚáÑöáa‚„Ú6Ç™Lbiîý’ÈÙ»OËáDP}ñ.·¥:Êo0"æ~¸‘Œ>Qz]û¹VvŸkÈ)ßÒ!ÿk4¾)µdú¢Öܪã.o×}ó"Ï~ã<ÙÌN(Š¥ X…#Î-ù:¥ ÞæÇC&ôµõ}ûkG‚«"†M"öqÒ ®èÿœcàž‰Ú xôuçØk»@Jß&ÏÏ]m¤žuHI¦d3I}PÆž0³LID쉀ÙÚ{WGŠbøÚüìIÑçä—Ç»ñœ;7/àP.C›ÓAzgý•®Ì9·£ç¤áÑà jt>u"HªCI}ý9> †¸ð79b'‹’¡˜h¿Ôô=ÎÕp'èÙ¶QÕlð½´ƒ)Û[MUbŒw~ªƒ’«¹ò¹Ku´HŠÿèñP¶2óÖ‚F.>°=æJ>šeB´)xcz\Zƒöù9 c1tz, ã³mÔ"j§‚„ÓR·ê_æTëƒÈMΗ?Š>ÑUú/¢6ùëIHî³Á ­výÄPmﱤº¥Þ7ÑìŒÞ¿üȉÎðïªÑ!U7’H`.È1~ªu—[´­÷.’¾Æª1A‘¦Nû5v‰Y‰Ñœ¸Œesâq5#ã›O J û ëA`ðL_4ž·NÄP€`ÎHý4¼döc§ 0%ÉcCÔ(¡qâˆÿJÔUEx49|; ‚ÎðYôe`6j`u™zÑߤ*âÚýTóêÉ’¹IÕ³¢eú ;YBˆE{d®ÈráCèãF”m¢Y÷‹ÕIGÃ隟³¿P,(ÓwµãA„FQµn u]hhÆÚϲáì‹5˜:+¶b @ÖSfÚþ)½à‡0Y×)ôñ„»•¬¸={–ÖÏoŸà»Ü g%×a§È­Ò'Ƀ›¨‘*VWù&®' ¨l« mþ…4þ<6‹¿Ñ  ÿ2)œxM7ú‚iÕÌ=€²#aiE«y¤jÊ{×›¹™‰š‰HOÀ½}_Á54¬y娛Ua{ X˜ëÑ8dßq>}Û7½¬09r»QÆØ{8*ñ6˜~'/½g7RÚÒc‡·›hùßÃ?§³2,É2€ë¢¿!:z2ÕM>jSü%ÌÕ}ŽAÍEƒÙÐx÷`Yåð/‹ª-kìÎ0@iw®®˜œŠg‡Ìf(&¾çrƒÊ ùë™T^Wá;­¦W»ö¹V„úJÚ±…N™Ü/VCóÈU®(nŠæÝ0ï‹^ÛÍÞý @®Nx$Ÿb}Ì_ÔåèêÙˆ‹ÚÛm{kàžFĹԱkãò‘ *1y¬«J¯}½¿€(-V>’G.70,gjû½À-ïñ$´GäŠdùž#¢í>¾fÇ=ÖëBüÕð‹m$£ðffÝ)_äÓ÷˜› •tÌ_Y"ŠL‹éÏ¥q?mf "èÝ)ãUüµŸÖ7´-¦ÜZ¯Ð L±<.åoÿªøë‰,úfŽÞXŠn~ z$z\‹ë§‘[<\ŽNèñ0‚_:þv`-»Gwvõ’ÉQF¬†uTr§UƒG)•ß,~üãͯÏ"×] 6JtÒFèX¼—¡ÝR¿”2Ù¬„ Wü2RAwÖ,S´«šÆ)æ-Ô¿sX(i÷–œ^.ZõÉ ‘$”p­oZ9˜É4n)B†Égz1T ©Á1®…«§‚ÌŸŒ¦”cmk“Ç{2‚õ­n•Wlz*%ê•P1îi/Ì®fÖõòDÔÚY'´²+8¥ÉÞÇúÙñ7îK1&„²õÂ!eddÜ„s?çATî0°|ÕR¢%e"œ¸¾³%Ùs ˜=’B®]ØNý¦5AK‰¹ª„EŸwãcÓ—o}63FmæÄªßg†×s|DÓ±¡õÿLÈ8ý±ðí„ÑCBJnÖ¶¶4šn©ÎŒÇ„›ùÓ°>¼åØèëŒ ¯ï£©åG.2åɃ¥§¼NÔ6›óïÔüt^[on§À±Û’'Ø8M¶<ÏKè? nMïåGµK»à’ì/i$ЄSÞå|õrõÛf(ÈØYÛ;pìK…ÁM)V5‹óeÙÇ uÄ—GQC!ÈUýVw ï?ò±`éÖiÙ"ÅöZvµ@Ð}ËŠåácîãˆþ}q4Ê6š^8-ÊW~ÆÔIœjÐwõÞp Ž9sÅ:&[&ö—*]‰½I,8ŠGå©ÍCåºÚÇ¡¾òr¾$Œ\bìÂÄE¶Ý¸;C58ß” ¤ŒÊ2;®œdh€zr‰˲è7}¶\1iÞ^˜Î :ùmÍI7ÕÖ^+à{`ÉJͽ4œ½‚Ê×{sÁu6{öV+Ì2›U´*Z=?©·/?à&àØnœ%`³ÄeËV,l¸²Ëç«o½¸ ì9ç»’ÜNÚ\rÆø‹–ëÕÎRïë§Š¶K¾Qœ{+SSAÜY»ÚÑuQ³âyØ”Þ.#(SZa£P†Š‰v­‡æT²…#Íí£/Ìoý³>DéÛè’ý˜¿~œ|À õz>óšßÂËj~jÍ×å¯z;­[Ò¦˜Ì>këщ¯!<¸öŸð°~9™0U³ð=§?òQöü²à´‚PÕ‹k>wÑðÒƒ} ZHºd €rÈHòñ®µ2/üãVþd*KhÕ·ÔàµfrˆÉÉÃIgzM›w5…ê^M1jOÚ ]Ø$­œt.ÐèK Œÿ³™¹ “J <î6|Ôuéÿô‹Á±Öq7ë°wߥÙü_KøP3ŸuãLj$†«Ñ‹6˜È—œÌ;L³ÉæþmɘçíÓI)®*hŸƒÈz­%ú[»Œd›4¹ï»O»S2oä!{ G¦ž9‡=ÿ•ã¬BMFòSV!—´Û•ûÎ_Íj”ÓT´gX!{-^/&‘ßS?·Õ’âŠï±i×FÝëfÍÓ¶óiÂá„ÃmõiQŸAJÀ¨ú‰¯ÛH'4‚0}Ú!%Ÿ8jŸš·„.7R§jÒ+øÀqf-lì;@À¸Q^%ä—®µƒµ´ƒÒ"9B™²u\lçˆÏmŠ ˜Ú WĘ„hS ù¥ÉíÑœüõÿerIõX*Ÿ½2YžÏäg¥S³6Ä9óƒüzì:îÙ±fþxtÂ*¥(“¾w»u_†ÛÑô¹ÛçBwÏü(Ó0iì(:nä,z¡»‰ì&Ö³ Rë?o¹’ÌÓ¿!ëñ%Šwx1ß®<<… RÿÐkq¦F ãœ)9Ûÿæ7<1ˆ:šµê̺&¤þÜgx\BÒÇF©ÁÜ5¾ŒyG8VõÙ ýözóG; 2(¤NùqøT!ÇÛ÷âèo;†Ý—‡íONÑ^&-BG°šNÉÝK6lÚ±G·Ëçâ)qx÷%Æâðž†ñ/Ö–š\Ðë ­%S€" Æn[VCˆ–ƒ2š¯!ùãO#MÊD³ð.Qÿ )u]µ~‰"¨‡h'‹_²„W}ùHÏÌØ Ü!®4!YüPDÈ ›ÃÃhL«ðŠÐ‰Ÿc–¯¬,Ã噆긙¤{À —°W? ßõvÑîÅb@Ç)ils’Hv¸ˆb’ôH®×éÕ›Ù´²viÏ´¯yIK0U€YÁPò;{ Çb4½¬>ƒ¥KkÏUUZu) 64‡4ûÖ. MÔô¹G7þèñrsx³nàÙ[€±ì'ÃVïòo¶ü-AõÈýb.NZë—0%ðmÆ­Ÿ 5F'9èZôë®45•go˘»Þ‚§ZøƒYËú>÷ìmÝ™oãEÈ­BXøÞnns=]nàwÐÕ$'?ô`tá´r¶3ãÃÁ1 Ëâ “xDCP+˜þ@ù§Azß=K J2+ØÇµÌœŒH&ÀGLo_¨„G¹}jÈCpW‡Iq";e¤§ êˆy9¨äútÄ3rôô¬´ç ´ªm%2~CJ8Æ•¯Vd’¤‰MþO×E6?ůíãPiJ—ä˜!nø{„ìQDx)º¾ ¥1ÌúIì:V)Ÿ¥LdÃtVÖ·›ù¯ƒuø«MEç®íYð¶ÞËü4ÕÊòê°Ã2iDÔ›O þIuˆmûšwL‚°æ2Iú»Ã`¬†j˜â&õ`¶Ó§ ‘ ¹Ùo€™&UŒ’uò–å«SŸfµ†3©&Æh³Ï³apF E=‘€Ãü7_‚«óþ‡ü™4rÂz€Åû·š:¼ÝÈ/EvO»‘‡^ȽÂ&²‘÷UÎÔ¿­õžšìÅ!N8}Ò#ã“çƒÑég™¡f¼¹…g4~l–g—$änzÉãÓS[x™9 ö¦ºR3¬gi='üV´ü7È]5ü ¸üÞMPBq1ßY$Žnx ¿K“—³© èXÏðêæ+†L öV° =‘Ú.¯åTOOäçNpRVéôZVµb”ôeêýœ&Â%k£æ£û&[¢Ù (ÇÙs7AÀÕæT·=f#»_EqqGÍškË\¥ö$|ia›P= J,ÍÁ³wZœÀÏ#-üÑðï èÔ¿^.RçCì-¿O*üGŸf1LR3ÛgÂIòH,{ÅÏ¿w–Æç_ÓÏÌ(‡8ª‰È}Á×2_SxËÜÓ„Ú¥õlmŒR­U ¦?ù-P‡ç© ÎÚДZ‡9x*ËŠŒ^ígݸÆ4½ß;ùƦ‘®]³ž{º‡ÊKò)ci2„Ê—YM=–‡åqXåL¿\ˆê5Çôÿ×ⲋ3ð•ÒœîÓÍ{Åé>¿}Ï”©oŒs1zŒ{BÏ€ñA¯šþïÒ—­°ìŒ¯x-=8"ý™“KS¿;þı‰¥y£ïé0Ú­ù·eWø*3gÓsæ!d‹¡™ã¤£v üÜê9¦Ôè‡È-9ÚÒNáÐ\‰ÌÖ=SÓ('}Ø·µj)R8±Æp!³s‚žr_iÞ¨òZk• @ÞŸ¥ÓFC; ”›?(¥—üZEõ[ ¿û/m$9 Ψ V–áGä…>íÝæèÓÞ&<³ËÚ+³„ß9+Ý­¥É>#F8>¬a"t5Î3^£1)”°~I4üI.ù= nyrZõáñö³Ñ²Cák_^v¹ýûC:nqììͨ_ÌA¥¸ËW°p·UÎaÌÝg·#§Òô¼|d>Ÿ•’×ð'‚Ämì„PY`HĦ!ÿßaí›A•àçHÝy  ¡€¼ø—…ÝÍÓÜçô3‹åMv]Ã0€'ºŽž(PÆÇ;¤>Êú…ª”“9¨R‘Õw ¥­Oä \ºíÔ·–_ Û7«‘» ÂmsgÞvåâNQy¡Á"vÌH5wåŸn1>’WGùöÜ™T1ŒÑâkŸZlëF¤zÈÉ#x¦pÚ%ïÌŸЀÄpP×…&ëy³n‰þòiž‘ìpbç±2€ 6lŠª$6jQ}ŸÂ0Yæ /{Œ¨ºYú×T‰6ÎÖÃMÈ~&!a±µÒBŠª£ëÙã<ùÒ¨Wðœ½ÀDÌ‚°,¢ýnaVÓÍ–áº7˜2æ¬**{|a(}ièÁ áËåÇ›@÷µïŸ¦è>ö—3ÀÜÓ­í¦€õE2ãɯNìôØê*R ‰µÝÝ)¾\-~áÄN¶”]`>+TÐ3»jpJ+Òº™­v‹¡þädPƒ{-UŸ²¾ŸC»Q~JV·ß¡¥´ã˘jÕ¼qŸ†‡“¦ç.ØuOåq†ÀÔë8Ç/Áy/Žá¨\cصÚ¼~W¨º \8ÆEO®d%ú¯Låv^vo]v=L=¸ %Q¦*Rpq™øèlt|œ†:\%–¦” Xe˜È!ò’{¯×ù>ŠV.„M¯xf\8úx‹ž£)ÔšEÆ)”d 丰ñh’Baf31€Yw_ Àˆ\F­jô¯ÂèóTËnÛD®Kø}¿ …Ó©µèҟûÐŽ#ï’Ä¥T§ÀHm*|I+¥óYˆ‹«Ã›yŒo‘ïÐc¿z9ÀèÊ÷È¡4~ qrUÃâ´jìô“q=i“7 ž³2¿¸,vU-¯‚x1æN4ìãÍÅ`òAxêß à&™kIwޱ—W?ïÜ®ÑÁÙìWÑZkldÂkéã²çQ\ðûîÆ¼$aP›ùcH?mòч“Ÿø‘aïñïñ²ˆÆ-=~½»mx«í©˜=£ë¾Gu3²Ÿz”4íå.0øßÇ—oaã O•ú½VÑçÚÔȻ匷!+S;‰-ÌÈs°–_ÇšÒ‘vaÀx¤õŠo¦U‘›À;»ºÏU@Hn€HA™±9 5 p.US¸­“hYo;od6LÛ3›»eïR\©¼FÏç‡8Á($Ùµâ},d¸Üžv¹,¿zñXóµÍW^ª»“HyO6àÉ·)±“©FÊìÍó¸æPPŸ¶Ýç9ƒaÆLóçŠ_²2.Šž­®®`ÉSX„W)Ó>-ñx‘RV¤¤z³™0'ˆ@ÍÛl]  Ç+“ò#ÕV÷†”lüF”}œQÓ¢«T‡"T¹L)Ó¡«™@çD<äö0üTM¿PÞµâiÈuÛò¡Ÿ‹x¶ËOáÄ÷¥;,O¡!lZ†Xdao St~KDÆM°úIx¿OFGøIÇv\EAVïvtÜK6¼n÷O³eÌ)¹çÁ×’ø5fš‚(Õ“BIµ»ò­|Ç‘uÓ”x(Æ©gèÜÝlõÔîÄ|?²–C­îk »öwØ!•G…zâc)ç<¼\ ª×Ô iÅk4“Á¿gH•n¼³‹q’ 'ˆ(Ëøi×å]h5óoŸž0­1Qß•ô%唪¨H$ô(ŠSB*fúº®û’76¦OaPüÍr¼÷ÿ´Þgé°"èLœÖΨdkAhƒk=¶Ü\hxlÝôÿ`ÕAá./ÑÑ»y M§æêvÙwt¼‰é£µpQ¢qWK† læñ”á£zwj̬`®@ Tëß f°ÒUvrBla:]ÐLã"‹Ãv0ºÈ!dOÿ”cÀÍöÉÝKÁ*TƒaònŸE™åÃx©°£±* J â4ÛXþ–üºä1-Rär'Ô%ú=ö¦2ör›¬³Ú9&…Pí˜iö&m ˜ïÞ%ŠYÈ(®aßùW&ú†ënƒ[Ùz>’ÉЪÊ<é³D(i §j©ïq§ 2€½Óé/ úfÃ;…ȱ^]zA£Ý¡‡ah¤ui%±X̵ݒ̃Îiˆ£­Ë®’ÆÞéë@¨9,F£gÄI®¸á$€ Qï"àlö¨Ûzé°K;†6Gm2Ô*´ïb.A¼Ë2Õ.L'x©}ì•Ï#AÏ’„ⶪT¥Ñ¯¬e"ÜÊk^ÁNö†ƒ±ch6Øþ+¼ÚƒàŸøï6ÆäP$)ޝ.(\S95rµN& Üâ)| Š¿û~D€ÓVÉ3`‘©jïM­˜¢­Ã àç¸S×ÑN?âOÖ²2os:Qð ܽœÉCtô(DóQ˜]Î[×§tøÚ}v?æÓº¬oí7cƒãM-G)Ч'›•Œ§ª©³©í?>e4ÊÚÂ"³}"}¿w³øS(=MñE.ø¤¦am$²wpª3+~«ìMúóóI0èךmöªòÁ?x=Jyæ”<6Þ,–ªª¨1Ô³tŒ»ö .‚¼ -..þ ûž§ÀFCç1žyf0FÞs/¼6Âñ°Í®…—‡R~ê ƒ9æ×^b°Së¶{7n’x0êëï"Žƒ¬à­:îwý„[ÔJççp¢´*­ÎãNÜc(˜+ªäy_D hÊpÈ4»xŒ{z£JlqíVm7QŸÚÖ]ƒ„lÆÖª‹³Ô8·Ä§ÀΊL ±aYç½y'ØàÃÌ{ ¿p´ñˆUê«ð£pô…ŸØÉÇWý Á†á-lÑ*©/lÉmà°§=)alfyÚ×t\A·ƒ%w±i6…M¡ßÛc$ÍQ\|yLŠB“Ì Å'Æ Òê@ö6Œtå´|Añ-EBzq¶€YRbÕÓNÛ~HÈóêºvÜJ™çlMº‹êW³[›W£(ó£ÂZ0+Vnê_„{«Ñë^ qW×p5½t]â™B#™;¨ê3‹šbî×$ÁŒR§¹ÝZGqiE&ýä£Í}ù[– L“Ï!¾Á’â@@ü%Ò‹5ËM†ö¦gìÌd{Ðà×àáúN‰ÂY,<·Ôáªx&³€ãe놸5’UmOƒÔÙ;N\ 9D¨xý0¸¸ìT» 4¯¶¾ áÉ2Ü1í"¾-`à{akö´‰%®'Ìúlï4}s>$&©o£åÌÏùÈóÙä[EçÂçZ(¿4uJ>«èoÝöÕR=VÇÒ.3/<7ZEß‘árøœÁÔ6áô¨y­2>¯— xçÕ‡ Ê>à;´•3¡‰Ûï˜úÆüs*rÿê5½Õ¢†Çfã6}ðù³. Úÿ†+žþ‰ƒ¹8âõíŸÌdÀ~¾þïd/fÏÅDUÀwU¦üÍ_Ü=?ðÑ °e?¨‰Î’¾»ê—Oí oõÌ:þî«sM* Ú Ü^<»çfšÉÚ _Seg§ºŽ„«?ÌZï7L§—C/bÃñÚðï|xJ=ªè«ÔÎ¥ÜÝK_Êxû’¨£/@Œ%j:U²ƒÃ•?ê8aÓ> ·©je!›þQ¨`7èE%qÁM„ÆFÌ\ž`t—aL)q†·h ºÆ..24rqSíNP©ÝûVJVƒR‰2:yx|6½6d0ìåyHz"u¡¯ endstream endobj 590 0 obj << /Length1 1620 /Length2 16490 /Length3 0 /Length 17336 /Filter /FlateDecode >> stream xÚ¬·eT\]—-Œ»»S¸»Kpw×à®…; î‚»»w‚[pww·/Ïû~Ý}GßûëÞþQ5Î^s­¹dî½Ï8Td*êL¢æŽ¦@)GW&6fV~€¦š¶Š‰‰¹µ£“¬«‰௙ ŠJ4qµvt0qò´æ  €ÀÆÇLJ@wtòY[Z¹hÿrÐ100þ—å€©× #]¬-ÔÜvŽNö@׿ÿ×ê@ ÀÕ °°¶Ä•Ute•¤´ÒJši ô· 7S;k3€‚µÐÁH°pìþ½˜9:˜[ÿÓš ó_.Q€ ÀÅ hfý7 èitúb8AöÖ..ŸÖ.K‰ƒë߸:¬ÌìÜÌÿ)à¯ÝÂñ_9ÿzØÿÅþ’©8º¸º˜¬\³ªHHý»NW+×r»Xÿ…Ž=ÍÍÜþié_Ø_š¿¨«‰µƒ ÀèéúO.S ÀÜÚÅÉÎÄëoî¿dN ë•áæbí`ù_0@@K¹ÐÅå/Í_î¦ó_}þ—îMœœì¼þíø/¯ÿ¬ÁÚÕhgÁŒÀÆþ7§™ëßÜ–Ö,ÿlY Gë¿íænNÿ¹Aÿí?{†îo&æŽv^s ‹’£ëß”Úÿ;•™ÿçDþøDàÿyÿßÄýïý/‡øÿõ<ÿwj)7;;%{à¿‚ÿqÇÿ\2Öfÿ›»‰½µ×ÿ)à¿{jÿ]¥ÐÒÍÎôßáÓ‹:XþU„‰™ëßVk)kO ¹Šµ«™ÀÂÄîï¬þe×t0‚쬀5ý×8Ll¬¬ÿ Ó°²6³uøgø\ÿ†€æÿ½ü¿2ý«xu=i%†ÿý^ý—ŸÊ_ý]5¼œ€€ÿ?‰¶¢£ù.þasôø0±ñ°˜8X¹þ»¿“Íïÿñ_DlÿµV4qY{ôY™YYÙÿÿã÷_+ƒÿF#é`æhþÏŽQw5q0ÿ»ÉþÓðlæýÕö_çþoÓÿ±þ×v=fËÍ‚m~d¦»Öâæ Kè÷õ°A…8•4hæV;vüßâ«0~« anœäÿhóZ8qzß“£ßéÁ±£éN^äùQÐõ棯SÿâaØÿÎbX‚œ~ªís9¯° ¥Çͪµ¿=®ªfXüC<ù‹wùHHឈEùà„âo–V‡ÝÖ†Q[prJtôø@30:<4Ø} Ý»GÈO%`‚ëŸrB–ìêe ºk0û€~qçqžD|éÂÿaþU)¢ï÷ýZ}óK«$ÃC¿´ê•Tqjgdëi¢¶–âÛY›™.ýŠ< ‹ueÞ@ºkZ¥äví4åúÝ00ÂQO"ý'ñ>b6ä–h~Rˆ«¾îODóLjQæ½1Oç¾F5 ëNtç.&ÔÍŸFáæBpSŒˆÝR‘L*Cz?Ç´e[ðéY(à†±5l¿#Žsï¡­¹?DÀ²zÈf{]~Äîè“êÓ~uh ºŸlŒj(2Å wÜ&„Æv^P “•e ïa2´@8EG að±:ðºá¦ï¹YC \¨„îŸK-¬%¾×¨ÒB Öð‹Ó‹ ×äB½Õ[+øâ7løèº0Y8nMêìª)Aôw• TéØuüZ·&Ðý¥ªÅìL$gúŠ©Uà[GÕƒ ½Öda”C–õ¾q'úBz¸£è k¥&²o74ŠÁ ¹ùzŸ’1£e_@^xã3‚¦ˆpÕl@ÀñËeÛ#ˆ÷Å_ÞM+ý.J“&¬ÞÑÇõ›ÜÄW¸žmŸg\ÄLJ?¤Sö¹¥=ùm0¸ÚÖÒàä¦Â5XK¡ŒÃ}"Ìðcëžá*vÕ–õ$øqJ ðs\±áqÍæEáÔS¹ibÚ"¶0˜L¸)ßß3—ºõ§€/º¥4ù“Â(¿îÃ4ÃvÞwj°·õf7;Ýï®·†ZZ-Áó^úŠ÷nÎdòüóRͪD­W“ÔBtÅjËèí­"‹dO-û¦§(Ûxëz½«ÚT&ó9l²0±Z]‚4X˜+ O L¼ùì·nå•¥+¥vü kËö.R¯=ò´äà7õ—’Þ*ÜŠ¥§@\¸"Å~^£Œ'6J;¿T;\R $¹NÁÏ-—¸Óƒ.køv\¼,¯Aù¨ˆ©Rp?æ½£sêÛæïÔ ã’]™F‚ãëiý ‡0¹¯EH§;]´ï±¦¾öºœø'Ÿì€ôéwÅ3žþkÞLO!A,S£'EÀ8'z_6btÁV/ëÚ–±9M6sð¥ºoLŠrƒ¡nØ*㘠͆Ô©)°B°VHU? ßZ´°ûøÞ¹eç¹¶ÀBó5Y•7 EME:ù^©sûŽy2D ¤Ç2gä3BñOmyÍÊÈw=¯ Çý _˜cS"ÎÀïµ&[7¯– ÑÔyØväûâm]wLýD´nQúŠç M™º%äþgÚÁÃ"‡ŠçnÏÞ¤ÊÄïnLAœeج7§jÆaÔ.x‹Ì–öå팡ùq‡³sÛÙ±f½fIPÐüŸ×v¨&îÕÏ.F3Yë*wæÎÄçO– ÓÙi&üE¾žbô··H.#›©›?÷£ìÎYZu‡Õ`#/o~;ž^†jb˜~Ýõ‹FW£ê™Ï,6Cq ÖÏŽXªÄ‹ß×s=~‘3&=#pÐO^íyU±Í²1ýåž¾øÎÕ÷ú-XÛ ¿:n‘™6²5G®Æñ‰ÄÕVé !iÇŠâ qÞºÊÎʰµÄvùˆ Ê4ùÊá4sBͽbüËahSU—yÇBÀMtNN•€(Ï‘™%<’'ÙÓÃëÑ:Y|ßQ•YðhD«cJ]ÕËW)ë ŽÜ&Hrl­TbñE6h;¶|=ýõeÊéVey–ëåx’3‡ÎD:¸Ÿ#«[AQ1…’Ûø4O«ÖÝݤz9 ¼ZWÇÊÊë­3­ÛôQN6¨Û&™OùrMº@? ?åñ¬˜(gý®óVSeû½¾³ṯí å`¥HkðÍ”TÔ<ª^ñͼ=2Dá­‘§øý7FX拹°ÇrhÚâ˨2UÒ¨N%ùh9¤ö{h4;yç†ô"DgÊ:£ÉTãn¨Ïú•|Ç%rbÿåpAçäÈ}þ)¸öTb‰à_»æ/ü9_\fÆ2Uùà5KææÒš»ãŠ˜(§•±¤šÓµ{0pw‹á[¢È8¸›ŒÁ­_Øôðàíà")PA%>kß«Jê¦]&v0ŸX†ÓËË·;gX±é³‘~˜æû¬cË[årZâ`´Ñ)ö S_{påÊš:£!nE§2ÀÀä·}ã2Èë)åŒàùœ˜ª8¥ñq³£Ukÿú q9ðÒcŠ »S¾wt¤»Ò5u&ß*콫À'YW#Wõ^fn]ÔÙ8wDbxi)pµÍ5LÜ þEÝYÓa?þõŒ:Ü *ù×Çt;ÃX:T™Þ¦pàíû Gï¯B )p(?¿'ÑYó¼ ncVÚ‰H@ýµ*K×W Ò€õ°Ão;Éb~ý†8×Q\5õÛûÝ©TÕqñBr™¼P“z&PNã%é`#ðX®¼¿r/&6±¹ éŸòw}n|½ZF ÈiÏö*‰ÅLÊð¹\qìy¶ße ‰ÂáOýá¢T–!ðø¨çЬª!“¶ø0r,ÎR"W&Vêú0˜@mϪÓ¹)X¼šò0 Í]8O[}±&ùg´ŸLMV5{âÒ+ óÂàS)U'¤Å¬p#ÏØºäó6R÷Œá±IÂG2Gn>Ê'C±éz3Ìâo%¤Ú¡­U§Ï‰ÌXÈÚJj+œÛ©²IÁ—cøž–ù(â àʆ®ÇÉ3Ü0F1Ï(l’],NH2Y¦rU¥{­)ö&ðÝï•¡â% èT~~*ˆ q)7eíŠwõüît¯Ç‚}ç(Ë,ÌÞß©è¯ñV™Õô“É4§m;¹²¬v-¸ñ› o[`KúYf·ž™”*ØqÁΠ³iåµÜÖ³Y¹]jô°g—¼ *¤¦UeÁexÐ0´_t#Žžcy¼K ³½žŠ.}Ã=¦;„¤dA2Lêm3i-U##y×[Çx¯Â\NRdâ®àPüPydP N“b)Æ >÷s~^X䣙è+NS1X˜%MÝÁ¼ ´áÃBÒ4Äo¨ò…‹´ì`[Ûeq{_]^_ìP$âÈ¿kxœñ8×{é´ u'a7ó;ÛÒãìx¥††=´y\f"ØpDAGúy”ñ’Á¢cþN‹î©Á åaÞµ w‡Rkñ›ìI)7ÕÂxç¼8¼ÉZI AÔ¥ý)¶Ýï±[%©d¼¨%úcœ'¯—à²cÙñ%3ïL¨fÅk;‰?ø¼{ÜH/ÿÝ·N±mß>¸ºÙnE¹3ÅÅŽ @sš(!FÍ=1† ¡\0ëÁ™‰`Û å"±A 6ÑtΉ¾óúC—@»¢ö=#ŽeIçƒM‰Ë ^õ×·ñ¿… ¶rgË/ÂJ—:5øiˆê›[J÷™®*ØÕcõ7ÛœiŽŒ Û¢hP–èÕ%`hÔf"P…¡Çºfã°>ÈÛ—Wtý™2þ¹,ÇZMšÒ‹æ¡µÓÛÝ š3;™…ú’¹’çøÖÅ/ÃŒïÕ½ÓÃñuO9 Qe¡'V¬Ïß$¡ÿ¤ïbØ×äÑ0õ0bºGË“‹#©V iÏš¤+»Aw³¡Üæ/Ô¡HH£Z°¤›Fµ4W^Ýk€í‡#àæ#ÞK'-}[5¹;úð'&xçNÒŠØdš‰¶îqq¨•¡dryÙ×<ùöçm{½ÇHÉ—šˆ,Þ¿åqÿanßÑ´€Õ•\zsÔï"óQØEß ™#~ ©÷1_`æÂBd²àç§JpÚ—š‹!#g߀˜kŸaœw§¥”¨–‚yðfé4Øä&ˆ©úeù†§¤•<­RªëË oøîxvoFôÒ¬Zõl ÿˆ}ëônðG9»i¥Àè£7JTŠ“ÔLŠÒ®àBvJŸ:W"LNË£¡G§Ÿ‰C›2ç×^Ópû{œþŒT£Ž('Ò¶˜ñΩø^±"9铨 ЕÐùû@ÔÑtßÖ3¥Ø®CÓ_‘=ÒjByDY·‡‹,›)M,ç.áaãi\…Ö¨fûÖh褃ò×_¢ãl63×b WÝàI—+¯_%•r[¾ÃPÞ T~¿¹/9Ò¬x៥:…høeº-þÒ_÷U‘¦‚ûäÙZ܆]¦™+O²’fWÑ:«'¹ÀN°3”ˆž@î<·Œó{ÄWYÀKÃÓ ,Ž'dÊ~Ys°î…} u©F¶t‹»\¶°}ó¢.POßNªÎ'V§ —4§)%A!çŠÓ)nù5?×DØt¢ac‚Ëù7Îå¯'øòJ*&@lÒC¸À¸d…Öòm]úˆnœ‡òqh‚Ó kÇ¡#«?ÔÇüréŸî¹—id7÷%üJûÐ~¼N¼jhý[µÏyØG/nÆW¬Î׫xMQ~¯Z|~Æ C\Øí‚šn‰‰-Œ/qãܽî#ù~´.ÛK-6è•ΞÛÛ_›mþrÑç¼c9É_iF†åf2}ä ÌN/²:H:l9B¾+(&/­§ß^‘«F9Îm¾Ä%¥àO(¥tóYÖ˜z¬2›×’/BC—ÑæI«œÚ¼.óµmÀ®ÞÒ:0h ,UªWøˆ">‹Ÿ¬?,ì6ëvq¥¨¥Ù²yG P|â³ÜgUS7nÊzû–˜z¹"L‹Pm5r¥”kí>òè¨}Έé“h¯gùð · ¼€ÃE_ÂGÜ ÎŽfäÁüüNÃ5Þßjàµõïñß’Ü8x’4ŽãÉJÖŃƒOS¿¥}_Dl©QUØ ÒÍ3=,úÓ¯.L‡•¶ ?Å*÷ýëÜ BÇý©]T·£$£•¨ØE±G¡Ì†Ç4ŒÁñw0¿ºÞfµ»3°3uZ§wÐ>»%Ñ33h\™=CqØLÐr¢TÑx¬Ö|“¦Zõ;¯X ›Šx:´t¶Œˆž5¢ØjOkå‹“eš­ª¦p½HØê •Ðì6Ê=é`Cj9‡xŽ#oë|—*މç¶èäÀÅ`gà¾Þol ʇÓ}ªÃ!b JÀbÕøÕ˜¾ÅåebaIP‹­éZ“Ý€·1àçÄcÄa¥–eMýö­³µÔJ<ÒZã¸ë;ߨû)Zt´Ô f!9%£æÈJÆTH4Lì4üRW£l Ë—2Ö #ïj§ªr)Âj—Ʊvˆ ý¥ `„ë¬û>qü½â¬ ¹kóÐÕÅr™v 6õüé„PíME–G z(jz7.„óü]Í“¬PÄÎ.%löí¦Q׊Uûݞ.6E©ð(õÞ^ò{“%©äGš·¹ªG½2÷eîÃaîY ÊŽ*æ –úªl¸¶?:Mgî#©¢w%si ‰¡»à×mk`¬°žÃ›~šLÚM’(?oÒÉûé’QäŽÀ¯¡XoS»ôå!q„º$Æ{cwñè †@q¹ì·ÕÄkí3ɳ “<ºv\Ï÷@õw‚¯•F»yOy©Ô`'øØ:µð¸ö¡µé•{ï.Á¹oÚCk»ò"YD0…º‚/L¸ÄFO>á0¹F1ΣÍçhmèúõÕ¨v.膿^ë¯ÚIz|í…%ÓØûÚe.ã»ÎÔâªVy­î´ DÇl–Q=QÞXN(¥n 0_¡§u²Žr~7dÝ=MøpâlR…uÀ"I›ë¹×(gÐ½ÓØ§Ieâ´£¬ç9ž±{Q4”ãIÎ[’û‘Oøçç­ìm7R,f¬Ï<­G΀™SËåX£8þŸ¶z¿ã# ª^±™spsñsœ4ðw££oÏé?Ú~S¡'–n#”SžBòÍssQ)|rÐ` ß9q>äÝʵ$p²…½çd?! PÅš\c^Áï™7÷Ï ·Ì‹K¼NŒJ»ˆÿdÁ‰ñ™½ÅTø{g4{yÚF%y¥² éeaýò²Í6=z¢–Ú˜rHUy Au ¬ût²?ܘÄ]óÖ?†YÉz§eðêÎcÜ[ÍY‰2«+hsíe1eã$tè‘UT~¯Bëßs±€7?ÆyGË‚YŠ`¹ÂM;ƽ™:ø•µö’ÈÍtÞSUêEàÒ¥J˜Žù t´$Û¬G²—ou©KÙad¿ñŒ(w„mƒ¶Ãyiˆ€3‘’_r~6ÜŸ<]"î¡3m§WÖ˜µ¥.—‚´:FxCpÑç¿>$+iú»f §<Ë™àor-¼• ¶èrÀº]X‹ô\Ù™(q»4c_K&ÃQ—PEú©Cà ky¢ Ìt¶ õÍ1k6¤Y!Uô#ø(/KŒêÒUùp?&ÎJ¥O©S ××){ž¡)Ê¿šePÙ“«Mm1φ™­ŒŒË[dõ5Óyþ8)®ù˜÷Ä-ïXOÔUr¨rE[ŠÄNÂjß †äÈ@† ¬÷rÍ[ p´¾,¨Ø P2˜Ðq„ êpF>ÿ†dtíŠ^M¶ñ»Ñšìæ ÈOçæ1c—àÚEš1„ókÞó–6(ò÷±ã6 ¨žÔÅc_Ý[Jv˜*ÑÜp¹‚<&Ç!¼ãž×3äDŒ¤pá g ÈÔ{¼‚;$öïþ’¡x9rà8H½~âršIÄšh»7ý¤$ ŽRðƒ«Z{l. L³\yY~Þ˜™Lœµ7®$¦ðh:Ç Ñm×(O-ð]ÚEv’ÐUÛˆ¸·4l`¤“3ëúž54†æ(|‡Ò™C»£¹€¥T š‚~Ktž;MœK<‹Ô%5ÛAç]õ(¦z(I‡€8¸¸#§ë]*ú}Îqën"[¿"Wb̲¯*ãx±å{ÌÂs)®Ní|÷PW³´•g*$×Í:}¶žÓèXËþ”³V§µ¥ÄJîÅ gG!¬Ÿp“Ö†h®å¥3Eý©òàêÌ‚‚ù£ $¢N ¨‘V£:á‰~0\wòv,¤šK¨SÕ?MLÊ(™VÌ‚÷q€ô«CǶ0œ—'é]xö³ˆEÃa˜h£çS2#2„¾Þq ï=àDR7 ²³Gë% ÞTkÚçšWˆDš|ÙÆÆ¢™5ý#BF'mög;C-»\]¤<Lx:l½0ØüOê~öæÛêºPçó 0ÓxsDBùn€ï›ûñ-(…ÂÛ\ÑÛ·ÌàIæÐì‹xß›]#1“UôJö©§Åö7þ[l*?äRkKóǃ4Òƒ¶N‚—Ÿ|A­¥bT)M ³¦·S{sµ‚ˆ˜cÖ'eÆŠ~<ï 5±JîYo:â5¼[3k3 ‹o*n°[èO\-™‹W.Ü™ùêGLë’ Â7×L= riMÜ˱=ñ"yLËãçv,d¯Î ³{ÅUù±¬ÿø¶Ï MM8§Aóäkå±m;Ŭ~qÌü_-žÚ=‡Œ’±|xO0hó‡6d&å8}™¨ô§ì4A@Jáû{ûÎîÞoï§Â,4LsgŒC“= mòƒ‰þ¯à!è SüRÙn‘Á}?ðÍ´FOµ:üFÚ[Z¥õ0å†=#ËXž– f­ÀÏ"oÙñì®\¾¦!<û¥G/¬pÌktàw‰gÏýÏí||µ"e£Ý”}¥ÂyzšReã; ËÆÈÝi«=™À°P…C3Úxin<¦ùƼÌU§7Æá<¹?Â(ŒžFk®î£ Ônx2ÏZË-¦’†J«f–WÆ oÛ‚Íuš[äÞùñI)­ôaž \tq_˜ë³X讞h‰8¤;Oø:ÞÃ¥=¹48Â4¡ ¬+p£…Oƒ«”b^ŽOÀ²‚ÐúyâQ¤fuAMdš…{{Æ ;JAª°î—Ï.üƒª‡Ì™z½ÐN¨5Yu:óCÀ™ÞŒ/ÑÓå×^ÄŠƒ[‚†Á˜ô¦* D] NØÍªRßñÌ·3Ò$ë€/b®¸<h Öð¢×ìc Õ mzå†ä0‘&ö/ÝÀÆw=ÿR6Gù²¼µWn‡Ï’fþåsÌÏï7M+g#x»”C²LÐw¡¼´b9ߎ䆔éEšd®~‡Pˆ:nÞ{’—ʰâTD!£”iþ(’y“òñG˜U@ÒÑC^Ù:$s©‰Fæçj°D=~Êùf­ù/CGœüÁVoTnw¤ ÍéïÓ3Ž7w¦ ¢SnŽTzö½©‡þž•ü-‘o®ŽÐvšßþ\¹ƒ#{?òbpƯêÉ’NÁïDLs´µŒ=æÝdH×j+xIeÁ]Í;ÿnñ¼¸AÕæ¥æ:y’M£ÓÉŽ®U݈é¢ãQGÿ$õÁ¿’0¬˜²Y÷»t°%žÿ-¨¦Ë“Yfº³êán@oôÆG2NÄP¢·øÄ±‚6§Û««pú ð^õ«¬œá˜HÎÚÂÁÅÇè`Ég#IœùE"Hèÿ× †êGÜ;Gž<1á Ä\?0º”X›sI^Ÿ©D3ây±w”ÆUó¸-ÜGQdÔm‚Ø«AQg[.ÅFðöœiŸu —ž„ƒàŽóSëkuaPü1H|óâ§Ö=‰våø!Àèfçz`˽~.íãÇüAç³Rc•½ê°áy¬¾Dx¦&¿P;"e¯åÍãl ,Ãï€R‘u‘F·ÇÇÍi·f²ߊæ¾Ûóº` =,ý’E ®Ø·7¾q0Œ[ƽ¸žXBí,^®ê|XûûÐ2˜ï³9BK¥Ò×+±®†)e˜ÈO…XCdüj; Úxp=BnVU畞q2ÜøòJc$×&_¡FW³.E§5ÛYz. ¼Ï¶LÕ\"Œj…„ý^-Yc'}`w®Ÿnš‡ Z·÷æN_ù-}QQ¾c¾ålǃbieâð°a*²Ön¾Kæ/Æ °ˆ aùÅŒ˜Ï¯õ…Üh¶xØü $9浺–¢@@–²d:Ñ\8îÛ…oåh[m0«O÷#N6kev_b'áÅ z•µpZž½†üj×y+ŸœÆÊœïA¥ uµu’¢…§À€s¸âïéVªB}RöHÜ‚•´‰M ÍØ¹~¯‚šJœ¡¼ãéŸ+ÔÇßÉmüŠ.kx>g#]qx|êߦèc¼àšý¬Ú¯Ó–7šx—ÈWè 7E2&sñ‘_ÃMÙñ›çÁ}qLl§òºôl%r–cµ!d.7ÑÇè•k’PïÊ)J"¼\YÔ×<ð(8ÌÊAV¾Ã_›`v é¿©Ù»l4¹¸^Òb?z?ZWï¬x¹±‘æ@¢‡½/:³ƒG‹ùC»(j˜<ÜÞv¡ý[)„z‹‡¦Z4ùðÃÎÎ ;³“ËÐyhA.|¡ÊÜ”¸VÕ1n96;g”|?tì¢ÍÒà&ÎVS¦Õq•B…rÏ+B¨:“ªÙyƒOlþg[E_ätJ5œyGDL³À™»×«Å=™râSF-è]}»¬½#Z—ÈïÃЮ¸ rec)…µLrªU¡yÁvúý{l¿'Iøœ‡ ¾Á7åGñûËîÌPø{埬¨öhš©=xR»±/íÙ*NƒG¸_Gôăn‡ªH$Ò-Š\.ð±=ù0¯Šï7<Ó[®áÂV3XÎöµFÝY—´(ð'…R©Ù†IæSÇôªLb©´¡\S4q1¥œ&_yj/æ\Ôo©}0dhªÀØÎÏ„§FÈBÁôµ°ï?šqãºjYáaVc¶p;dɲR?qx(•+’Dlë ã4ã¬`ç 2ôÖ-Ø^”š¢^@¿4…«Þ%ð°|>yMðÞX ë,I "eŽývR9¾Á~¼XŠ;êè»õ%>™{ù¸Ñ¦–?ÆI. !䙳‡H5gDBK*,Ê!ëM±õmt“ê§N6F…¶‹÷çL?!ëéRÕ©Øo2›õá| #bßw`˜W3%ƒ—ª01AèѦŠE¬YcpO]íÁ÷ðIôZ^uãæÃýÇ™rµ’s¦i4 p¤ûIi—YÖ¢_­DJ'C5íp Ê+…«.s°}²Bê?¹Ín Íæ&HšúC¾Ú;.^ú¶½m #÷¢Ì„ÿ 9 Ú'$ J¸.JZÁÃ^]0ö¹ÀHÒ/zí›–r,B¼SqâÆ/ª[ëãçó“^!`FC-/ûïéFüñÄTw*¡:Kßñã …Ö•¢ãGhù4¤Úñhö“WËͬ@¨˜ŽVñå2 0<ä¸íû33B貪øÐ¼é³þûwnLÿ™nþèÝ1jŽJ5èôÉÔ®«ˆ ÁäÓöíæ-¨½þ®zÂùÎÖ䫚emÌS nj±4 ÎýÅ·(ôÒ¶Å5Û“®©%t†„ž=ê]ìØr僃,ò?6ÊÍR¸‚×v]/28r̨S&¤ 7®qóÍ3tý‰]®¾Ÿq„ÜoãRèßeoݨ“þ¼ß÷²ŽØdDF¿í­âTOÙZ†auÆ„íÙEÁÆ£ãû³ˆÝs 3'Æ;ËïŽkµBBaªÐÉl«w&•6ÏŽayÙÙªàAèÁNãl2¿êÈU¹I—Ú4ЊM7Ÿ31E?‡Dk-£èæúª¸¬*oWb»,¸"€U|gÈÙ™”Up®„]uù²Árý\¾Có’ã|¦õRR)wÓ4|rÂtYÌ­÷ ;ÆrnŸ(ç¶'©c•À='{è"3îâu‡N “:î\l6am_¯=MÁ´›Ñ>\Ìõ©Éˆ/W3ËGÃIN„«Té1F4 .h"ÈǪõï òña·!ÞD ôV_†íaïí ÛfûãbQ[EÖo F >hÜRt#PHß¡îð^Õ;‚2ÏèíÌD‡@^áœh@¾9kžxzÌK »ëȹAÁejœzB½à“\F»Ï׺~³&£ûøí\æì¾A?w²çBÝÃ.i=_…ÈBS”@ñf'6§ùïÄÊV¨G~ž^+£þÇA¼ÉÑëã‘”ÕèQ@X‰CïZ.p` aV ºÜÑó®E|j0ÐWGõ3‘šoÖ3[øÅïåŠ5ᢢ%&Â!4?#¹ÏµôþîŠ â[;Ë}Œ-”ní<çÈNJš¾ÆÏPZŽjÇŠÅÐH‚"¦J7¢óƒï‹û^¿ Š qôý?¢ :û7ì+Û?—E05QHæ@Áë ¿Ó^¸µ¬ßXkU6[ò&Óê@Ý(ÕpÓÅA,hOårÄ\߃¬L_ž±¡±9Ä0*åPwu¿ø³ìÓŽhò;ù‹:]-™ˆjy4#9äcH´0}ƃŠkÇRõO NuAî{ÛÝj&"îþ­êýOµÐÖae#¬hÁÕa0*à¥[Â^ÓfE.ùb’‚dR;æý-1ÍV¯““¡K±±.æEŽUYKz;»Û…S/à?nðßðßâãñYp™ ÛY¥p™ÃD˜nqâ< lŠ wóè"£šòοª–Ç ×•CòAŽºÓv±· Aâ+¹Ï,µë^y˜ý@P½™eÓ‰À¤#S®ÅÕ¼Þ*Ì9¢#YlõátPn8ª‹~®T„†ÚboTWG\¯éq1;òsOû,ÈŠ')*[(ŠÄY¯÷Ú΋+ðN>ò½2¥^§ˆµ:í;nH!’´Á § !¦&™ê<Ï‚æéeô)Ÿ[á­Õ‡f=ß ¸ÃÌ}Ào ¶YʸTKO·ÐýñiØI$æ+UÔØó|ˆ •×-Í'À{é ¬»¦œô³ÇGÓ.£fßw•c¾›[ÉËÇnÞ†Ã#à•œÜÁà,د£ƒ¨Üï§; }‡xâ:nÁ#z Lµ¦S8øuqî+2GF€Zv-˜Ôìw=GÒ!n49BÌ—ÒÈ2&UÕ×»Âp8Ó'o:kN|2Õfepû4Ä!DÐÅÚ#);D¨¼©j?ûlDh)ƒ2‚Ö\rnjB5Gœ0a¿,B·°e?î=Ë+è7)½¤¤:Y¯: õpß`!­ûkq|yVËqšÅP€#o^ÔË¢¹“º©+ JÁ€Ô·ðÒâõÁä ßuù”gJ­L™n…*×þÙ—¸bwßš¹,ޘѭÁÀž.Ã0o®•Íœ„_ê‰piFÀ…•Ú}EÚ4B ‚‘ c–n•k-]¥™bõ<@À N@s嫃a'ýÑPÉèÉ|C‚ 5OÛÏŒ–nîŽa÷öΔ-øTºc¹‰jN¶!Oa{Ÿ‡JëH)Æ}{Ü(' {÷LCÕ"³*[g¿>ÝÝ왜 —ì÷ƒ$ÕÈEoŠ“Çë7ÀÆÞÝ?í ü© ÌÇMþñ÷;TN‰òwûÖÓ•$/ù“yž‚SSÂ+žˆÒeK¥'QÇ‘=í¦L.+ù“Ê…­@ ·O…o˜êt3n« RñÂZ1ÙÜ›`=Ò¾ÁC§ßlK­9žjõ¹aÞôĬ¾qá`(uFõ"¦ýwLæ#àDÛc/iÞK/Ðbê7~V&IOÌú‰_I nYE¡¯A„ô/öY’Í“ ù£“í$1ÌW¤^vÊD¿åYm¡ö·GѳéTª>ÍñÌžûà^Q޵—É;•¹÷Ñga¿©¹R‡8ïJ‚‰ˆ¬¾>Ütk Êoâò?®40”mü£HÑÍ\ ;±%}àài, ³ã°ÛŠp¹_aÖ¾ ®_á/\­æ,ñbüÄ@¹Ô ¶­¤Ò/œÒX(›%ª5¼ÃtÐø{+ÿ|—ÆßôpÔ(]Ëû -¥P—[^èìp^h²Û–b ¡Ý$|‹š™=Ø”»²ë¼÷§¸hã~“òæ³»?%Ñ´1ê©ÐJ°Ó÷£ Â6×ñ(A›úr©ÇIžI¥óKRcBçU¢¥¨þg¤E©E7çÆòjŠuÈ… E¼ <Æúßü‰!£dR_(Z€í L Ä%ÜqÍâùÖ˦~åߤf0eõ£v‚ðN9¾ç¨/œ)/0ðH5âö8‡Â›[ï8ºAD2!ïUoÄKôSˆ£õ5‚=„5yIáI£X)Ʊ-3ÌX¬1v¥æ.ªN…ûï =3ÕyÖK$rÊ?ï-¢´õ_¡ƒãQ¦.µ~Èjq“ï…‚”]oÍÙÄC‹BЋå5F¶ÁY»ÎÅÜ£7×Oµ0JLw'¶nù¼×&«}U?ÙeÐ"*‰n Ñ1ÜJûw(&³;÷ýaðãB‰©—ìÓÍëU|¨¯§Mïf7Ÿà­¾äñ[AŒèºXuWÙZ„Kâ6%;³ˆý2¾òm0;q~^¨ô°™·'öÔ¢‰¯ú²åŠÔ±A!U—S{Þœ"Ê–z·¢ÈôX>ŒR-©=;ÅÒèÏßš®‹ r>OÙgK>Ôºî1^[ºÊÚÀýBôuâgl↦ºwtÁ}õeºª£2ª;,ÂP™˜./ôUõ¥Èœ‹ûó‚ãö æ ÛÄÖ‡ &(€Ç…Á@Ó8rD“LÇBÑV’åKªã=ñR›‘‡[&”yóýáÒ}óÒ%ëG.q}2D@¤¼.ü(÷ámQ¬§¡ESóÇU©ÚäéE”Ëᑆr&eìsVâÉt†:¨ÅaLg¶nuÀ¿Õ۔߫`+±_†‚*S!iüjZ;°ÅÇ‹Š‡ÇjÙ‰°`GêȰ›xnÎ X#ª5KaÈ©wÈ„·Û’ѯYßíè~›,!÷3sr^wÈø;päiøk‡ÒÑ®†,^ U"³üàEèEo]blkbb\Ÿº1Äç¹ì Ьs³%B™@ ‰¤³[äV¦EV.y_L ôbÙõÅt#ëVp,{MÕXï^LÖ—V“›½ŽŠs°ðš:k⊠"é}Î}¥š5 @œWúÓUD* ƒZóqgµQ.ëªäünR[8b/²¿¦P É‡¡2Ìù§Ã.õƒ”.ž_•ê7X]ãìÁñ ûçl“;mTÅFìéìO¡¸(”¸|ÚìkÅë4Ê¥¼*kUù¯dÑ:J%p¥h ëÚøÒ_h¦ÒQ ’Ôÿ˜É«›±ñÜz PäLL3ý†ièR£Äã¯μõ €èéÂÃ{`_ÀVgÃí °8$72ô(ÐSN0z­Læ¡5ÞjDwqXUIWQ‹å ØHwq¨áJöç±b_-{eίG ,ë—Xi˜Ao(¢€,†Xÿ1%¾¾·KÀÎ)—­ÌÜõ‡Øu«yAÿë#L>¸.‘qé‘ëW?,‘¢ òÇÏçÌ)Ãз6î5€ wª«@3õ ]üYk\† –=òH¼yŸ‘LˆÛ¯1š!tz³hj†í3¯~Ó‡ÎÔH|¬>TUPh²&™ôšÎÒ1[Í1ˆº¡x{±lÛ+O13‘½Œ‚dRŽä)¸­³>T ŸRªI>¸–/r·˜$®*‘Zlþûªá'»Ï…þ,[›Š\ÔðÚ-K·4Ç MîõkŠÝf]äÎ(×òÝn¡M£–\Õ)’"¶˜q˯_?Ð2† 4§ç”°Ï(›TÏR ‚JŒÖ÷nð6 õûÛÜLœصÀh4Ii¨5`Àÿ¼›fÅÙn3<¸I¡–a+¯êL‰X†µÁQŒãuËbñ£öרVš[¼¾êßpVŒã£ ÿ€k1™JLcxAŒD™ÄßY«N¸Ué銮0yÈP©½{",®9rÒË’Ó³eÑ‹m‡«–±§ݵ ´´Ä—Ÿºò&y.…â8>·îã©MÂî!’–jHuŽÐ¢ bû°…hÒ&ÿÂÔLDSܽ-“'ŸH;¦ E?½Zì‘OÔ|¯Å¿YS+¢ äV|™R4Nië-žùÂð<¯_šu¢{âÁC’Ÿ',µ¥ I£t™[hBr¯Ü ·2IpüÎØmñý ñÍŸ¯—\xÆd]Sµô³õõ©#ìöå œK1À/RArm}]O‘n­a¤Z’ßñµyœj]‡âó4~­E¼²fË’«6Rq¸5½Š¤G¥<–<Ú6Ü¡gÔ=±ôï]LÕ‹ZÕ{Ú1~¡ïËùtdÑbùÝQ'7å¶ñ ÕcDšEÄIli{®‘´ö{µ'&ŸŠ]0mHP­¿ù÷©2$Ž3e\»®3ƒ’Ã-¡…>†ø­³dÝš|ãûõKº¿-à¦t” *Üš' оúzÉ+¯DñU¥•lªœßÚ€O!ЧØvg´q{ËæÑ€NÆê½øm'ï˦Ü`-*ꎿîo´¯þó_dh¹ ‡]Q=~o~hNJkÉ“SQä.­wÔëŽ{³¬¢ò=JK©V[’c²ë~K$YÌÐ1ŒºTCàí6âîÁŸHÖ<ïékĨ †i´¾CשGŠ58’Ýd£ÍF.‡#õ,)_ZiCäæVùÌS¨ÔýĉÆZÒ%MkãC||Òa_¹Zk´ÎVœpúÍþ|¿c}âþŠæ8äÌä 3.Û¨LûùP`È;©°¡Rg³©Å‚e'øC1—~﫞áU†8û»ÁiÝ&$"jÑ-{ íÑ«¼ BQu5Ï È6ÕÀá]a3®ŽÄgôý¹þb§Ô:«0%ñQƒZêyˆ&­^r_Ò¤Ê}F®Q4†vy7vη•ëqD4»÷…cZdÕ^Ñ›Þ6 èOÍòp0£sPÿ š†eTwéȦ킞e>BÍSiëÕö[ø58ðâ3¨M&ÿQ.‘ÆDžÁÌøå‚)^{@ƒÇªýþÑFMÜp êÞOôtUÄO™uSŽ>¼;z¬ƒu… RAí§ñÈ%€°ª Æšq ]“*ó£ÃÓaknø4òaILA1ï<=(6äÆçO³SU 9Û›_P„Wàˆýƨ{–wx›ê™,nòPð‘=ËØ‚>÷±×D½BÇ+(C͉¶åÏÒ\99€dXÅçôVbx:RŽk¯%w²„NAµ)G4) Ãï^͆$Œ )‰`‚4¶NêÁ¶¯¿J?ûä×Ð*!R‚é‘sñÆúîº åÒ/HÌ2¥ ”™, î¢¯Îu¾C„NUO<¯ç‡ßÃáoP©™ˆå>dúý–'ƒÐpzJ^;n½'¸¢ä³cϾ\J°ÍθmuÙ¾!¥ÚãÿÎ}w$phÊæ1'`@ž!šC>Aû”ØÀâÌX~íòi\Û)¸d¦ú{-P.Áã YÅ}lUÌ `ɵ>ÛÒH0Z8<çxX`v›BúÚNgØ:©mmÓË Õ…ßÌ«4,¸tù îRbcq¿q›0«wŒÂ­&V[ñè¤Rvò8œ=’µ²i]órM ‡ú¨4\Vš_AZáQYG&ó4g¿ècïé8·é‘Ê²ß ý’3÷ÖÛ¬êÁ/ÓøµÞZøVþz&7Š+½ ;³=zà‡©àâ©j (9מUtÇÈëütkŠ†ÑªC“Ž~”¤M]F“±Ðظð‡iÄ>6¿ïtaqñ¥ÉGÏâ¾tÔE¦áÀ„­%¢':<¥?¿½€HƒC£i/+ úi¸Õëýƒ›rùÜ(¬Ú´Ä§¼ Ô°®JKži¸é=*›±¾ö<©}3ý'Í·ˆKz£ñ_Þ(¢‹8ÙƒLšüÚJeMsG&ÝX£&Ïþò~:€.ð®`&žÉ†¤oÕZç>°Ê(áw%Ÿy>6‡ìôv´{Õf 6²ÜÕ˜°kUômL«¤k Sê°G:£‘>½U‡3þ · ü0¸;Zo?|矡îsh×ZЂg†æÆªŠmÂΕbKŸôÚÈ™4Úð+Mê oÀ€¢‚óÔzÖh‰W8ÿE>؉’L?û;uy@ ö=õUÝ/°z%_bJ —n»Z•®~i¾4¨À+=šÊ¤²D®ôÊ5M9Ûu„"•âñ¥¿LèÙ Ô]½@_áv÷qvÚŽï-£QüS}y꣸f ·(/£I…~ÛÅ ¿ZˆöÙ¯¶nŽùª (Dñ9„‰æÆ«ŽŠíõ=R¦S¹ aHA¾¹JSPÒÕ·¤äïšC~XñG ­8{`—ËÉT·ðûýå8î°¿?ðÌtØ„fPеF¦úÚ0 M¤ÞÕ}ÑÒ"”6Ô„JƒQ:üÉšKŒžÞV‡ÞÁx=_ep û-é &´V¤0â// «=OçòÄ]ô‹°(ìÜlÄØ$9×¥VðU"Ò¹A,CH]¾*»6v¡¼?žkS{jM4A®”x)ò†Qéo¹X`qÔ¤f_Ä,¬wR}ÆÞ€¹•DêYŠïó™Èôµ[o»Œ“é ôü ”ò|õ§¦¢ØpX#^À`ý7VGFžÐñE]¿D›é•û§ä½™Ççqýâ•…@‰;ZØ"¾ûq³æ¥0ó0+SK¥kfŽæ¦ê¼.m¥…þþâgþ‹Z¼ÁhN5KÙ2œZS úK¡ÉÚ ºñSû ´|ëÙ9 â¾2Lⓡ?º6Bˆ”¼ºæñ[_2Êî4‘çùY| E©[È™\Ú¢àûcLUwn›‹ub*iêj t?UuQA̪9HâéT ¾i˜{ŸèZ:Dà}éUëzdp;fã*Úºzxؽø—g¡!X‚ò!¾òæ’çßÒ¸ûîÁ€©5UüýÈü6ô“MðÓK2î[oѾS%m"ïÿ/¸GýÅf)ÚhÍVÞ¼HuŠÍ'—·ÙÖU` Íùý8MXì•e.’]뾄‰ë‰®ÁÛ–O¨y¦Å½ È ®±!ÿÁ.xÔ#6JÊZΫ úꇅÀnÔ¤%&‡¡hÅ+WÅï®Náü`FO“ …!¨&íí­ÃÐá^b„M[7íÈÞòêQH—Aå¤{@óNîšnŠû®ÂA1é¿°æ‚ògæõáÒ!íCäµ”¼LaÐ ©"lj'PC–˜‚ï£\êÞ/y•c51:œbÌÂÎb× ð:oªuœOî‹•’AÍ\Ho1XËõô!€:öΖ[‹ÄÒ lmœ=h䇽šC€,qw+Ã*4„³,4“˜E8,©t Œ¤Ý ’›àŸ…ûî™xÝÌ~å…$Ưfha1Ä ÐRêª*ð¨%c«–€Ÿ(Ûz¨ÏÐ`¿DöG‘ðu«}\è÷peר6Õбþ-µ3Râ‘<ö…1èϬ¬Š«s=4ùÅÝc§â&Ã]ñð-^–È#g¼T¶Æ±Ý0‘¬nwîP„ð¤ç©/:³´ÁQ*Ož’.·Ê4*è˜%©šÝûô¿Q‚{ÿXNìqIeõ®AϪƒ aÐ3ð¥æßwòÁ™„­ø“–ˆÁ$,èœõ öü9˜ü³hÕŽÒíWÝYÄãïåø*9ûÊ!ÞÉfÙ>ªVÿq\ØjÖ€Üw:ÎèÕåvèñ=²Ç‹Ì±úØÁ]Kt¼ŽFX”zž7©–\Ô'iRYÝœzßÂUt%–;¦Éá>¥2^ZjüþÜ!c|tHY®¦Ûû¾ãx¦áêa¶ÓÊna '1×® WÀVn£Ùa— A„¡×ÊWkʽ¿œñ¨ê«X«/I u¤ãÙç}¡‚ÕöÛoèWÏœQéõiDSåFëɘ¾á‡w3w endstream endobj 527 0 obj << /Type /ObjStm /N 100 /First 956 /Length 4414 /Filter /FlateDecode >> stream xÚíkOܸö;¿"ïU‰ß¶´Z ´´¥¥@»´U?¤C ³;3tÛýõ÷œcgâd’ÀLÙ»WWŠcÇöy?lgˆâ:ÉÅy"%ÜlÂÞ] ®D–hËáΠ %8T$VD´Æ.‰«f-ÛRÂ$ÌiOlÂ3É âÎ`†‚™ÜÀ@OgGòDH§ "᎑‰€PI•H“a—† ÈÒ$ŠYì|6ÃÁ+P(–h¡2€ÐÊ`E%ÚX`F™ÄÊ%†T¥Yb$R—Ñ k•ØLa—I,7^»Äj c KËŽ‰SHªQ‰³ˆÙ§w@•eÖ 5 *Æ8°“Rn)« †•…SŒa/ÌPU ÎA»|K€\ˆÔŠ”*Íe"4>3@%G½+‡º¶@‹Î“@Þ`<“X@‹à0W#U )¢gh£·$Ò¢ >£^‹ªd@vXsP3™é:è5 4©#Ã9ÖÖŒ³©&Ç‘s–5à×€!muB ­‰<£-à58gáä%—ã„ Ÿ#,äÜfØ«á¹eh çsá¶@:PŒ¤ˆ5”„Ä$c‰3ÈÍP—Vc›H#E(qk3CN50L†¸­Óh50Ãe"Ûúå—­t?ùZ>MÒ‹wïÑöv4¸°vn¦MnG£[¿þJc§“EòË/IzÈÐ@‡4 ZŠ´‡-šžÌ¦ƒ³b‘|HÒ“ýÃ$=/¾-‚òA1±fŒåGh ¶ƒ~þ³üYö”?-ågy‘¶àúX‹2k”²vT(!ÉìèÄ@˜ðD„RCÉ¡Ô;KX*h‹Í Òb-õà(ÃõŽ¥´+a<,BP:ƒ>ë,>¡F¹Zt®P× ©‚Dn2Ž2ç±:Ãc °ä‹D]r×#®¤;´*ƒçRéF]àÊÍ˃žÂR(‚õ>:Dxb™&©g•ü|J¡P#0y¬ 1{n¨ŽZÊ2(åBrÃ%Ö±0Æàø•’a~‚¥š&Æ©ìºYÉaq¦z¸G‰¬á 2¢ÄE1ÔñŽ« „Œm¬S;Ôm¨//˜+`…Gó,¥JXõ<ÐEÐ,-uêPÖm~E©( VB·ˆÖt—ÐÖÓžá’Øs…œà(.i†gpìRŽ•T*y®'Y²®‡Rp»UOK|Õ“hpÕÖÞ©lІäGF¶jÉÌ}‰Ò„MÆŽ¥A¬rrz_FDzlœ[QàyBQÐËvP 4’a‚5-â‘r·?XjG3x®­Û¡}z¦å‚p¡´CBпTipZF b"Á¡tÖ#­,”°3Z²ÙYFB#ÂØºR–ò÷Á—¼t«‡s‚Ÿ×ÿΚµ­"Â$æže¹ïÅ#q8’Æg¡È½`³k2oÅôT r“ ­^¡½‹Öㄦ¬Fy/¸%páÈgŽFst¾å<ÀÇq Ã_¢WeL©­ÌÞÒiìk—YÏÊ,’Q©3<‰Mð2Ûà˜¬ã¯œËUVe¦pY‹¬ÙÌFˆ¡wûà{+Cù a”)vÑ Êv'W£"ÙfõlQŒß”­ô"Ì’\ç3|_ò¯´H¯ÓYúç¿=‡C˜†/VÊw0wqôäðýÛgo£ã£†¶!vmsÚ}HÚ{D,9YcÉŠˆ%†,ÞÉÒ|‘Ïêüðuø9{uv~úø9íbÒB`õæìd÷ÐϧY>øR,FÅçEYŸá¸´øã6¥7ù¬˜P'Õ|×Íèv^€\GGG'»{ï@gg]ÐÌKÀ9€ë6ï!c#H `ñç´Î‹^‡—7OÞ¿ð¼¸VD©LˆÈFg?Ì ê¼ƒ—"¤Ót:)Òò•~«sf×áìñ‹ƒçgÄÙÞE—ž +™CEÙgŽ q§lŸ¦ôZaäôôÍÛ÷ÈÏ».n¸K¶¾¯f O:TÅ 8áfaDfž—O®b竚ÞÉòÙlú§ïÁZx8_³áüË8_\§Ÿò¹l±tÞ"¸î¨eèÂïù¨˜ Št4½òÑdºHÇÃÉí<ߎÛÑ÷ôfM/‘•bV\bó¦˜\·#€3Ž‹ôv2üZÌæù¨.ÿµÂÞ³£‹W¯ÏHþ®GüŠ~oCM!~Ñøš’«³·VP{üäìàì °w~pa;øÓ˜w9|?lšw« ¦;™ÛM÷ÒÇé~z”¾HÏÒó4O?¹ ¾ÌGù¼2œÖ¸?HÓÑtåxœ§—S|&øœ^¥W³"+”>LG騘ƒs*ÏMGÊ(fÈ¥ŽôôÛ颸ü4ò?d–Î!lÝ‚±]‚­ ¦³"ý3ý–~¯+e­èüêåë½³s¯×§áß=„Rd§RöH¿¥ ŽÈ§?u;ò½•t9¡·‚®¢ÜCM}A]åãO—ùÚ‚Pi UãMÇç•%ýUWÒZ‰æýëÓ'{û¨¤óÎQÐìO`ÁzŸåÐnz¦OÒ§éspãôUzBZ{ëµ6 ‡ƒálp;öõÅptY,£rš/Zýls½ ·»þ~s]L@§¿{­zœ¤“!(s©ÒÒ×¼[]ŽP7œ¯SÃ_½#¦¥³z6kåལý§Ç{^Õ¼]Õ´7‘ôV;õãªVÝù׫k°s$^$ås»bèf­ øæìôüà-qß‘!Tœ Üß™ ŽÀ¶Ñ²ß¬Xu0凱ã8}|†5Dúyz;k·èJä÷I#mª=V0áëYQ´…ªz61k¥ø—¿½ßß;$ýu­õã\bÿÎ\‚ ~«Ž(V½¤hõ:=¥ˆõbVÈ5ã\¼M.ÿûñ«5/ߎÐ":¡7¼ÝÃ0îó–F³Œ~í¦Ó×Z“<Û;yñl÷ÑIþ×ôVñÛ^óÛ+<0&qO –%- *‹Í ½¾¶vmÁ0«…ÂÑÍuž~Éonòr¥0Wy:»ž¦óáÕ8¯3¼V~??Û;8|öèøl÷¸#¿Ûd_82pOB"D0¯Dè`…‰p±¦Û (‘2Øp ?êµZöçÝ@«§šÌ•l—Œ„ÌÅ›:kiEÁž-*ËjqBØFõ%•Ä±Ø ! Ö1q:2ë¼±á¬ëâf©€Hìø¿i=>“0•-½—|ÿ kéîW ,ìöÓ‚šø,p/ŸôŸP«okBÿSˆjO‡³ù--~+}‘—-üÛðrq=§ÓšVë# ù²¯‰_4ñk¡ÇÆ»X{ãÕ\¹j"ǥ湋K¶>òæk±&vÓÄ®bìØXbWëco¼Èj"w+¬»Xí<Â.øúØW_65ÐìþÜÛõñ7_5±¯˜]Œœe:âÞ­½ñj¤‰\­ú¯¡ oÀ|óÕEÿŠá YÓ½Œ¸ÏÖGß<¤o¢_1=[î"Ío€½yúÜÀnØÌGª—r}ôÍÑ&úÓª†žGèõ^_?’lbWw0Éžo`÷µ&öU»¢ß ØwÄ4éX1@g:SÞî×<i ·«{¿6ö °gsß$dÅjQ¨‚ƒÈÊ!ýÿڤݱ!m’gîPS¤õCÐ׳—lÒæzE§m$:ó¤õl_¤9ÖKZ-Àð‡ m帬)«•gâ c¢˜#ZVY'ùU1‡ÝÒô· =í~&À>^âž„QÿÅßmh{q$‚~Їw²”›àL{>4Bô mÿs1¸[÷ ~3&ÐéCu"¼ôðߎüÝ…6ý u3øëQ„!3χd"ܽì$ýüp„//H¿p†{€­.pûel†CAVÒ„¶?&ƒ{h;wá1•y¹+&ÃÝà ¤èƒ)bÂeÍXƒPð3!^ÙA(Þ8é³}d Âk8”wˆÞ¹Ùr°lÉ|cÒ«ÛÅvÚóàÂIÀƒL_¡–ÉÔrêvÏ ~ÿ†ºwž…@è]Î<™_é&±ëûÙ™®fóÞÙÍKüŒÏ\,VÂbÞw:`á—SbX-t1g*X²V˜µÍÕì¬6¿îQN¸‚Ø—„‘àK&ƒà·eI™¡vñƒ+½HdDpI~–ª`ñ>Xáw"Vã€.ÀªÔ`j(g{X—p~¶©odïl^£¤M ¦RƒÉÚaùÙ­”èJ¾ºW¾²&ßRÚA¥%™Þ—™¥JEe¥Ýð†IPC»º¼²}³Ulÿ¬ñ£9KUjP²VM ­t©J *ëƒ%kJQmJ‘•R¤n‡f·™¹¬ä+{Í\Ô%T÷Ò’L¯Ò ¾R¥ª‰²RŠh(E´1(*Á ÙG"¯ KÖ­.l«‰²nu¬‰²Òh臷98¯tÀû£(—" Šš_ÞK!¯ôÆëz«vÞf~¼Ò³=“YMç|éÿšä‹ endstream endobj 624 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.13)/Keywords() /CreationDate (D:20120908232512+02'00') /ModDate (D:20120908232512+02'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012) kpathsea version 6.1.0) >> endobj 596 0 obj << /Type /ObjStm /N 56 /First 461 /Length 1677 /Filter /FlateDecode >> stream xÚ}XMoÜ6½ï¯à1.›~A€E‚^Ú¦EÓžŠGuÝØ†w]Äýõ!%.It°Wzμy3¤()å„JðV(„²x+ {)4þE'´×"‚0DÂ-‚N*¤pvÞ  Ça…­¬pFDëÐ =x‰¬°€££ŽÂ¡4Þ´3 wíŒc)k¢´sÒ @;|í|ð h2ÚEŒŠfÑ+Ü¥Çhg(­w6ZiDЗ DH p™^€€h(%)G²1HÀZGÌF¢ ÖâQwõÒ4"˜…Ä”œ’€ xD jêq$20!ÐVRPEZDBœ°½:E*é°s Eö(€SQØÈ³¶Ut (Œ@Tð_f woÞìnþ8œ#ê뱬¿ïnöxiòåoÃÓx¦*æÛ§ñßTøt÷aü~F!eº{û¶q¥/®ä†+£r•úªw…2Í®¤ÛreWÀ¹²W°åJÖ®&Ž+5»ŠaÝSt#³t‹æ‘—|šÊˆ‹Æ±•ØF[q° ˜Øþxx: ¿Ÿ‡M Þ=<£—ס JB[†9@Š˜C‘=ÀÆÌZôÀhŠä>¬»ñuº_÷fÃM-`Ô÷E}/×ݸº¿=ÓÞ®¨ê6Tuuo{¦µ]‘ØmHìj‰#±+[^â<“QÕU­ÙhFSë1·xîÅ™\êÅ©þ+­h‹ö¶ÕÞ09™¢°q[Ìj‰çt33 ³ùfb¦º`¥6‚A-KºB·…˜g&7ši(] ¡ÍÆÌº½ ÓÞºH¬%ë&Íä@Ѷô†ZïYü¬·®õžÈÍzë.XѶô®9#7¹U+w­ûtº<2ÍúÄZlöqyyZJÎKÞº™ð—Íc«³ëèЪ6…¾<9ùHyŸ¬~¾'ñ׫÷·¯?ž‡§óž¨Rxñjx|￾_ï¯è–ÁÛÃy¼žž†—«tf¼€w_q5òu¸ýg¸Ñe~„Mðqøïåx8a(¶Ÿ0¹Ã·Ã¹#ÒYê9§áÇãpþûáé±ULJãËyø|)Š®žŸ‡;$j'FHðZQÖº$N³¦FÐFçݯ¦Ûq(¶ ²yȉ¯ÝjD<Ôˆ!¤±±ˆ[#‘|ž˜Oˆí镨Åj…X@Idã0R+€^ðD](’QªF!5SB"Ï+\]¬x^€òhX껚)XBjÁå1¦®'xBò”±å£¨Åj…ÉãêÜq„š©&y\ÝfšäñÍ$’§)¶¦Œó!jÉ+^]¬x^šä MP’'6AQ+屪UB?ÜOŒ¢+ž˜¡Z—ÄHòW÷ µ¹¬—uy>×O5¹ªd©5Ï©PZ+a¤¹“³Óx{><Üÿw‚؃´Ù£´#Õ£@âBj’“'JE­ l/ƒ†¼øÞ·%!]‡ÒN#ûDh³Q}´ß¨Þ’j‹Ý®aR¯s¦B/ÕtR-ç¥^ÀT¤Ö’jÔ#X ¥í*]wÕØ®±M%U¦wŽR*ç;¥T¡·4v–8»Ch§Ð+\…Êr•*­§ÎoÚ[ˆ6ÂΊ–ºm!T>¶}Lº«ìŸ#YUÿšYð§çϵ©\ª,©jD¥‘B¯!É­âFH÷¿!ñ-ÇR—Š÷,³6ƒDß3$!Ñ÷–!ú~I2;S ž”`pr·R‚>%`Ûé2nÒÂZr0i/± NÛÉ2G~˜âù„GGÿ›å1}*4e+OÔœgBa“x޶S0O Ès”q•Õ_㸔‚ßH%1ë§l¥(÷¸¤Hµœ:Cjf€ˆôÌ­¦ùe¯”ÝH'ô•¡9ÛéxòÉñ´å,yǼ,éíÓ#Í>-F›}Úz—ï=¿~ÎVBû´ϧ”ôÆ‘ÖѼGe„Žys IǼ­NIŽ‹q¡ðÓá ÚüERØü]3}§_7áÝt¼sù$²ö‚µ8Kfïnj7ÿ]þ$›¾“ç_?ý†õã ó ›½O\§“ˆ›ZÏåÝô9=ÿšÍçÏJÓMA¦MÓå3ìfµW4vÓIËM'N7u­[ž‹jMÞÞ'4rÓ׋ù}ýåq7ï†óp|¸£õ;l,;]þõù|<Ü'd~sOç.ßOîÆ_¾Œ7žÆÙ§áûú>e&@•pÿo+ˆ endstream endobj 625 0 obj << /Type /XRef /Index [0 626] /Size 626 /W [1 3 1] /Root 623 0 R /Info 624 0 R /ID [ ] /Length 1501 /Filter /FlateDecode >> stream xÚ%–Ih]UÇÏwßKÓ¦in†¶™çäenš©š±in:¤CÚÛ¤é¤Í¢­àF‘‚®„ ‚‚º(B©])öˆ‚ èÆr6Š ºu¡Dq€ú~ÿn~ïûþçÞwï=ßtœsîQä\ä̹8ÿãÂ|䢴Í@„v­7²hÇÐjp À6´ãhÕ¸…`;ÚZîP„v­w'(Î?>qh{qw´´=¸1(EÛ‰¶· ”££Uà »ÑêÐÊqõ{ÑšÑt›^…Ö‚VŠ«¯AëBÓ#õÑuhÝh%¸õ mM¯ÛšÐÑŠq›A Ú(š>µ´¡¡±Q;È¡M¡i›:@'Ú;un´M[ÜzÑ¢õ}hЇÂÓö£)D0ƒhËh íFSŒˆ~4 ]BSZŒ‚1´ËhdN4&ÐÖóZ¼…{Læ5¡]ÅÓhÛЮà΀Y4âoâÎChÄ7ÞÀ‡ÑÊÑÖq@‚VvwAÛv ÷(8†Vƒv÷8XB«E»€{œDkB[Ã=N£µ¡Ç]gÐ:ÑVqÏ‚­m÷XAëC“«‹Ï£‘CqŠ«]@;€¦¿ÒK^B#‡â3¸úÀu´M¯¡ÍÙD#nñi\mìU´U4}A ùbŸºMÍ{ŸD#ª!BÛDcTìäPP‰“uA…Mž•3™Hù@-Š$P=² Ô[ Å(Ý@Ij+ÐiBµ¹‚›ê>4€PÉP 1ÅÏ€1ª°öƒC¸bh”_h]h”ZhXÈÊ*tŠ)tJ(ô 'ì”KØ(’0(0 (ˆpPA¯Fò‡ @ʇI@¢‡i0 jÌÝÐWê‹tïa0g.¾§…C,L€Y ×Hù”sUèâ#\B]úS@a$ÈèR%œ4×4­‹—¹ä(8†K‡³æ:¿Ó*ùHÖ@bÊ z —©i%Èš¹Á-ÝAå².(_´9$\ ÄÃÚ¼¹Ÿ_'Í’ (‘¹Å;Ò²\rkØb°ÝÜ™N]RÄ%}X»€FBPÓ¯jõ{€|%P[¯õ ÔÜÅ>ýŸz{-h­ ÁÜÖ‚VÕ½Ûzqèmæž¼¦KTçt®Díµ×ܳ/iA…M[J†@¿¹iAÉ: ö´0†ÍÝúUש½j7ô÷æ^}Y ºw‹N˜Ì˜»]¡še¢G.‚üfß}K à8bîíÃÒàñÐ*ù’й’|‚|X¨Khn ]*ɧŧÃÒhdÉX5÷à5i4­ä ØÌ}}_ í&Ù"ÍóMsßרÓ–Ìž~G.á³æþ!—i«“ ž˜û|2üù„V‹ â9xbîKÌ=º®UÒÂ}Oô=Ûï5ÛÙ¥U’ÁŒmß êÍ*þÒ*ÉàÙ0Oô}‹Yõ -´òBÊwœYÓ/Zè`a°÷ždðÝf¹O´JÒxæªï7X”ÆèõÌUÏÐôCfãohdðÞkJŽ›-\documentclass{article} >%include polycode.fmt >\begin{document} >This is the famous ``Hello world'' example, >written in Haskell: >\begin{code} >main :: IO () >main = putStrLn "Hello, world!" >\end{code} >\end{document} \endgroup lhs2tex-1.18.1/doc/HelloWorldCodeInput.lhs0000644000175000001440000000024212022734321017523 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >\begin{code} >main :: IO () >main = putStrLn "Hello, world!" >\end{code} \endgroup lhs2tex-1.18.1/doc/AccidentalIn.lhs0000644000175000001440000000153612022734321016162 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" %format \ = "\char''134" %format let = "let" %format in = "in" %format where = "where" %format -> = "->" %format != = "{\origcolor{hcolor}" = "}" %format !:: = "{\origcolor{hcolor}" :: "}" %format ^ = " " %format C = "{\origcolor{hcolor}" %format D = "}" \begingroup \let\origtt=\texfamily \let\small\footnotesize \def\texfamily#1{\origtt} >%format <| = "\lhd " > >> options !:: [String] -> ([Class],[String]) >> options != foldr (<|) ([],[]) >> where C^"-align"^D <| (ds,s: as) = (Dir Align s : ds, as) >> C^('-':'i':s)^D <| (ds, as) = (Dir Include s : ds, as) >> C^('-':'l':s)^D <| (ds, as) = (Dir Let s : ds, as) >> C^s^D <| (ds, as) = ( ds,s : as) \endgroup lhs2tex-1.18.1/doc/GroupExample.lhs0000644000175000001440000000030012022734321016240 0ustar andresusers%include poly.fmt In the beginning: |one|.\par %format one = "\mathsf{1}" Before the group: |one|.\par %{ %format one = "\mathsf{one}" Inside the group: |one|.\par %} After the group: |one|. lhs2tex-1.18.1/doc/SepLatSyntax.lhs0000644000175000001440000000014712022734321016240 0ustar andresusers%include tex.fmt \begin{code} dir(separation) ^^ ent(natural) dir(latency) ^^ ent(natural) \end{code} lhs2tex-1.18.1/doc/poly.fmt0000644000175000001440000003006412022734321014625 0ustar andresusers%subst verb a = "\text{\tt " a "}" %subst verbatim a = "\begin{tabbing}\tt'n" a "'n\end{tabbing}'n" %subst verbnl = "\\'n\tt " %if style == tt %subst inline a = "\text{\texfamily " a "}" %subst thinspace = "\Sp " %subst code a = "\begin{tabbing}\texfamily'n" a "'n\end{tabbing}'n" %subst comment a = "{\rmfamily-{}- " a "}" %subst tex a = a %subst nested a = "{\rmfamily\enskip\{- " a " -\}\enskip}" %subst pragma a = "{\rmfamily\enskip\{-\#" a " \#-\}\enskip}" %subst spaces a = a %subst special a = a %subst space = "~" %subst newline = "\\'n\texfamily " %subst conid a = "{\itshape " a "}" %subst varid a = a %subst consym a = a %subst varsym a = a %subst numeral a = a %subst char a = "''" a "''" %subst string a = "\char34 " a "\char34 " %if underlineKeywords %subst keyword a = "\uline{" a "}" %else %subst keyword a = "{\bfseries " a "}" %endif %format \ = "\char''10" %format . = "\char''00" %if not spacePreserving %format alpha = "\char''02" %format beta = "\char''03" %format gamma = "\char''11" %format delta = "\char''12" %format pi = "\char''07" %format infty = "\char''16" %format intersect = "\char''22" %format union = "\char''23" %format forall = "\char''24" %format exists = "\char''25" %format not = "\char''05" %format && = "\char''04" %format || = "\char''37" %format <- = "\char''06" %format -> = "\char''31" %format == = "\char''36" %format /= = "\char''32" %format <= = "\char''34" %format >= = "\char''35" %endif %if meta %format M.a = "\ensuremath{a}" %format M.b = "\ensuremath{b}" %format M.c = "\ensuremath{c}" %format M.d = "\ensuremath{d}" %format M.e = "\ensuremath{e}" %format M.f = "\ensuremath{f}" %format M.g = "\ensuremath{g}" %format M.h = "\ensuremath{h}" %format M.i = "\ensuremath{i}" %format M.j = "\ensuremath{j}" %format M.k = "\ensuremath{k}" %format M.l = "\ensuremath{l}" %format M.m = "\ensuremath{m}" %format M.n = "\ensuremath{n}" %format M.o = "\ensuremath{o}" %format M.p = "\ensuremath{p}" %format M.q = "\ensuremath{q}" %format M.r = "\ensuremath{r}" %format M.s = "\ensuremath{s}" %format M.t = "\ensuremath{t}" %format M.u = "\ensuremath{u}" %format M.v = "\ensuremath{v}" %format M.w = "\ensuremath{w}" %format M.x = "\ensuremath{x}" %format M.y = "\ensuremath{y}" %format M.z = "\ensuremath{z}" %format M.A = "\ensuremath{A}" %format M.B = "\ensuremath{B}" %format M.C = "\ensuremath{C}" %format M.D = "\ensuremath{D}" %format M.E = "\ensuremath{E}" %format M.F = "\ensuremath{F}" %format M.G = "\ensuremath{G}" %format M.H = "\ensuremath{H}" %format M.I = "\ensuremath{I}" %format M.J = "\ensuremath{J}" %format M.K = "\ensuremath{K}" %format M.L = "\ensuremath{L}" %format M.M = "\ensuremath{M}" %format M.N = "\ensuremath{N}" %format M.O = "\ensuremath{O}" %format M.P = "\ensuremath{P}" %format M.Q = "\ensuremath{Q}" %format M.R = "\ensuremath{R}" %format M.S = "\ensuremath{S}" %format M.T = "\ensuremath{T}" %format M.U = "\ensuremath{U}" %format M.V = "\ensuremath{V}" %format M.W = "\ensuremath{W}" %format M.X = "\ensuremath{X}" %format M.Y = "\ensuremath{Y}" %format M.Z = "\ensuremath{Z}" %format M.alpha = "\ensuremath{\alpha}" %format M.beta = "\ensuremath{\beta}" %format M.gamma = "\ensuremath{\gamma}" %format M.delta = "\ensuremath{\delta}" %format M.epsilon = "\ensuremath{\epsilon}" %format M.zeta = "\ensuremath{\zeta}" %format M.eta = "\ensuremath{\eta}" %format M.theta = "\ensuremath{\theta}" %format M.iota = "\ensuremath{\iota}" %format M.kappa = "\ensuremath{\kappa}" %format M.lambda = "\ensuremath{\lambda}" %format M.mu = "\ensuremath{\mu}" %format M.nu = "\ensuremath{\nu}" %format M.xi = "\ensuremath{\xi}" %format M.pi = "\ensuremath{\pi}" %format M.rho = "\ensuremath{\rho}" %format M.sigma = "\ensuremath{\sigma}" %format M.tau = "\ensuremath{\tau}" %format M.upsilon = "\ensuremath{\upsilon}" %format M.phi = "\ensuremath{\phi}" %format M.chi = "\ensuremath{\chi}" %format M.psi = "\ensuremath{\psi}" %format M.omega = "\ensuremath{\omega}" %format M.Gamma = "\ensuremath{\Gamma}" %format M.Delta = "\ensuremath{\Delta}" %format M.Theta = "\ensuremath{\Theta}" %format M.Lambda = "\ensuremath{\Lambda}" %format M.Xi = "\ensuremath{\Xi}" %format M.Pi = "\ensuremath{\Pi}" %format M.Sigma = "\ensuremath{\Sigma}" %format M.Upsilon = "\ensuremath{\Upsilon}" %format M.Phi = "\ensuremath{\Phi}" %format M.Psi = "\ensuremath{\Psi}" %format M.Omega = "\ensuremath{\Omega}" %format M.forall = "\ensuremath{\forall}" %format M.exists = "\ensuremath{\exists}" %format M.not = "\ensuremath{\neg}" %format ==> = "\ensuremath{\Longrightarrow}" %format <== = "\ensuremath{\Longleftarrow}" %format /\ = "\ensuremath{\wedge}" %format \/ = "\ensuremath{\vee}" %format M.= = "\ensuremath{=}" %format M./= = "\ensuremath{\neq}" %format M.< = "\ensuremath{<}" %format M.<= = "\ensuremath{\leq}" %format M.>= = "\ensuremath{\geq}" %format M.> = "\ensuremath{>}" %endif %elif style == newcode %subst comment a = "-- " a %subst nested a = "{- " a " -}" %subst code a = a "'n" %subst newline = "'n" %subst dummy = %subst pragma a = "{-# " a " #-}" %subst tex a = %subst numeral a = a %subst keyword a = a %subst spaces a = a %subst special a = a %subst space = " " %subst conid a = a %subst varid a = a %subst consym a = a %subst varsym a = a %subst char a = "''" a "''" %subst string a = "'d" a "'d" %format # = "#" %format $ = "$" %format % = "%" %format & = "&" %format \ = "\" %elif style == math %subst phantom a = "\phantom{" a "\mbox{}}" %subst comment a = "\mbox{\qquad-{}- " a "}" %subst nested a = "\mbox{\enskip\{- " a " -\}\enskip}" %if array %subst code a = "\[\begin{array}{@{}lcl}'n\hspace{\lwidth}&\hspace{\cwidth}&\\[-10pt]'n" a "'n\end{array}\]" %subst column3 l c r = "{}" l " & " c " & {" r "}" %subst column1 a = "\multicolumn{3}{@{}l}{" a "}" %else %subst code a = "\begin{tabbing}'n\qquad\=\hspace{\lwidth}\=\hspace{\cwidth}\=\+\kill'n" a "'n\end{tabbing}" %subst column3 l c r = "$" l "$ \> \makebox[\cwidth]{$" c "$} \> ${" r "}$" %subst column1 a = "${" a "}$" %endif %subst newline = "\\'n" %subst blankline = "\\[1mm]'n" %let anyMath = True %elif style == poly %subst comment a = "\mbox{\onelinecomment " a "}" %subst nested a = "\mbox{\commentbegin " a " \commentend}" %if array %subst code a = "\['n\begin{parray}\SaveRestoreHook'n" a "\ColumnHook'n\end{parray}'n\]\resethooks'n" %else %subst code a = "\begingroup\par\noindent\advance\leftskip\mathindent\('n\begin{pboxed}\SaveRestoreHook'n" a "\ColumnHook'n\end{pboxed}'n\)\par\noindent\endgroup\resethooks'n" %endif %subst column c a = "\column{" c "}{" a "}'n" %subst fromto b e t = "\>[" b "]{}" t "{}\<[" e "]" %subst left = "@{}l@{}" %subst centered = "@{}c@{}" %subst dummycol = "@{}l@{}" %subst newline = "\\'n" %subst blankline = "\\[\blanklineskip]'n" %subst indent n = "\hsindent{" n "}" %let anyMath = True %endif %if anyMath %let autoSpacing = True %subst dummy = "\cdot " %subst inline a = "\ensuremath{" a "}" %subst hskip a = "\hskip" a "em\relax" %subst pragma a = "\mbox{\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %if latex209 %subst numeral a = "{\mathrm " a "}" %subst keyword a = "{\mathbf " a "}" %else %subst numeral a = "\mathrm{" a "}" %subst keyword a = "\mathbf{" a "}" %endif %subst spaces a = a %subst special a = a %subst space = "\;" %subst conid a = "\Conid{" a "}" %subst varid a = "\Varid{" a "}" %subst consym a = "\mathbin{" a "}" %subst varsym a = "\mathbin{" a "}" %subst char a = "\text{\tt ''" a "''}" %subst string a = "\text{\tt \char34 " a "\char34}" %format _ = "\anonymous " %format -> = "\to " %format <- = "\leftarrow " %format => = "\Rightarrow " %format \ = "\lambda " %format | = "\mid " %format { = "\{\mskip1.5mu " %format } = "\mskip1.5mu\}" %format [ = "[\mskip1.5mu " %format ] = "\mskip1.5mu]" %format = = "\mathrel{=}" %format .. = "\mathinner{\ldotp\ldotp}" %format ~ = "\mathord{\sim}" %format @ = "\mathord{@}" %format . = "\mathbin{\circ}" %format !! = "\mathbin{!!}" %format ^ = "\mathbin{\uparrow}" %format ^^ = "\mathbin{\uparrow\uparrow}" %format ** = "\mathbin{**}" %format / = "\mathbin{/}" %format `quot` = "\mathbin{\Varid{`quot`}}" %format `rem` = "\mathbin{\Varid{`rem`}}" %format `div` = "\mathbin{\Varid{`div`}}" %format `mod` = "\mathbin{\Varid{`mod`}}" %format :% = "\mathbin{:\%}" %format % = "\mathbin{\%}" %format : = "\mathbin{:}" %format ++ = "\plus " %format == = "\equiv " %% ODER: format == = "\mathrel{==}" %format /= = "\not\equiv " %% ODER: format /= = "\neq " %format <= = "\leq " %format >= = "\geq " %format `elem` = "\in " %format `notElem` = "\notin " %format && = "\mathrel{\wedge}" %format || = "\mathrel{\vee}" %format >> = "\sequ " %format >>= = "\bind " %format $ = "\mathbin{\$}" %format `seq` = "\mathbin{\Varid{`seq`}}" %format ! = "\mathbin{!}" %format // = "\mathbin{//}" %format undefined = "\bot " %format not = "\neg " %if meta %format M.a = "a" %format M.b = "b" %format M.c = "c" %format M.d = "d" %format M.e = "e" %format M.f = "f" %format M.g = "g" %format M.h = "h" %format M.i = "i" %format M.j = "j" %format M.k = "k" %format M.l = "l" %format M.m = "m" %format M.n = "n" %format M.o = "o" %format M.p = "p" %format M.q = "q" %format M.r = "r" %format M.s = "s" %format M.t = "t" %format M.u = "u" %format M.v = "v" %format M.w = "w" %format M.x = "x" %format M.y = "y" %format M.z = "z" %format M.A = "A" %format M.B = "B" %format M.C = "C" %format M.D = "D" %format M.E = "E" %format M.F = "F" %format M.G = "G" %format M.H = "H" %format M.I = "I" %format M.J = "J" %format M.K = "K" %format M.L = "L" %format M.M = "M" %format M.N = "N" %format M.O = "O" %format M.P = "P" %format M.Q = "Q" %format M.R = "R" %format M.S = "S" %format M.T = "T" %format M.U = "U" %format M.V = "V" %format M.W = "W" %format M.X = "X" %format M.Y = "Y" %format M.Z = "Z" %format M.alpha = "\alpha " %format M.beta = "\beta " %format M.gamma = "\gamma " %format M.delta = "\delta " %format M.epsilon = "\epsilon " %format M.zeta = "\zeta " %format M.eta = "\eta " %format M.theta = "\theta " %format M.iota = "\iota " %format M.kappa = "\kappa " %format M.lambda = "\lambda " %format M.mu = "\mu " %format M.nu = "\nu " %format M.xi = "\xi " %format M.pi = "\pi " %format M.rho = "\rho " %format M.sigma = "\sigma " %format M.tau = "\tau " %format M.upsilon = "\upsilon " %format M.phi = "\phi " %format M.chi = "\chi " %format M.psi = "\psi " %format M.omega = "\omega " %format M.Gamma = "\Gamma " %format M.Delta = "\Delta " %format M.Theta = "\Theta " %format M.Lambda = "\Lambda " %format M.Xi = "\Xi " %format M.Pi = "\Pi " %format M.Sigma = "\Sigma " %format M.Upsilon = "\Upsilon " %format M.Phi = "\Phi " %format M.Psi = "\Psi " %format M.Omega = "\Omega " %format M.forall = "\forall " %format M.exists = "\exists " %format M.not = "\neg " %format ==> = "\enskip\Longrightarrow\enskip " %format <== = "\enskip\Longleftarrow\enskip " %format /\ = "\enskip\mathrel{\wedge}\enskip " %format \/ = "\enskip\mathrel{\vee}\enskip " %format M.= = "=" %format M./= = "\neq " %format M.< = "<" %format M.<= = "\leq " %format M.>= = "\geq " %format M.> = ">" %endif %endif %if style /= newcode %subst code a = "\begin{colorcode}'n" a "\end{colorcode}\resethooks'n" %endif lhs2tex-1.18.1/doc/Indent3.lhs0000644000175000001440000000013712022734321015144 0ustar andresusers%include poly.fmt %format foo = verylongfoo \begin{code} test 1 foo bar 2 \end{code} lhs2tex-1.18.1/doc/Indent2aIn.lhs0000644000175000001440000000152412022734321015574 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" %format \ = "\char''134" %format let = "let" %format in = "in" %format case = "case" %format of = "of" %format -> = "->" %format { = "{\origcolor{hcolor}" ( "}" %format } = ) \begingroup \let\origtt=\texfamily \let\small\footnotesize \def\texfamily{\origtt\makebox[0pt]{\phantom{X}}} \begin{code} scanr1 :: (a -> a -> a) -> [a] -> [a] scanr1 f xxs = case xxs of x:xs -> case xs of [] -> [x] _ -> let qs = scanr1 f xs in case qs of q:_ -> f x q : qs \end{code} \endgroup lhs2tex-1.18.1/doc/InteractivePre.lhs.in0000644000175000001440000000077312022734321017177 0ustar andresusers%include poly.fmt %if style == newcode > module InteractivePre where %endif %format SPL(x) = $ ( x ) %if style == newcode %format QU(x) = [ | x | ] %format ^^ = " " %else %format QU(x) = "\llbracket " x "\rrbracket " %format ^^ = "\; " %endif %options ghci -fth -pgmL "@LHS2TEX@" -optL-Pdoc@SEP@ -optL--pre This is a rather stupid way of computing |42| using Template Haskell: > answer = SPL(foldr1 (\x y -> QU(SPL(x) + SPL(y))) (replicate 21 ^^ QU(2))) The answer is indeed \eval{answer}. lhs2tex-1.18.1/doc/Indent2In.lhs0000644000175000001440000000044512022734321015434 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt \makebox[0pt]{\phantom{X}}} \begin{code} unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) \end{code} \endgroup lhs2tex-1.18.1/doc/CabalInstallation.lhs0000644000175000001440000000056012022734321017224 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" \begingroup \let\origtt=\texfamily \def\texfamily{\origtt\makebox[0pt]{\phantom{X}}} %format ProgramVersion = "\ProgramVersion " \begin{code} $ cd /somewhere/lhs2TeX-ProgramVersion $ runghc Setup configure $ runghc Setup build $ runghc Setup install \end{code} \endgroup lhs2tex-1.18.1/doc/ImplicitUnderscoreIn.lhs0000644000175000001440000000065112022734321017734 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format a_i >%format a_j >%format left = "\leftarrow " >%format right = "\rightarrow " >%format a_left >%format a_right >%format a_let >%format a_where >%format a_x_1 >%format a_x_2 >%format y_1 >%format y_2 >%format a_y_1 >%format a_y_2 >%format a_y1 >%format a_i' >|[a_i,a_j,a_left,a_right,a_let,a_where,a_x_1,a_x_2,a_y_1,a_y_2,a_y1,a_i']| \endgroup lhs2tex-1.18.1/doc/FormatSyntax.lhs0000644000175000001440000000135612022734321016303 0ustar andresusers%include tex.fmt %format symorname = sym_or_name \invisiblecomments \begin{code} dir(format) ^^ ent(token) = many(ent(fmttoken)) ^^^ -- (format single tokens) dir(format) ^^ ent(lhs) = many(ent(fmttoken)) -- (parametrized formatting) dir(format) ^^ ent(name) -- (implicit formatting) ent(lhs) ::= ent(name) ^^ many(ent(arg)) | (ent(name)) ^^ many(ent(arg)) ent(name) ::= ent(varname) | ent(conname) ent(arg) ::= ent(varname) | (ent(varname)) ent(fmttoken) ::= string(ent(text)) | ent(token) \end{code} %old stuff: %ent(lhs) ::= ent(symorname) ^^ many(ent(arg)) | (ent(symorname) ^^ many(ent(arg))) %ent(symorname) ::= ent(name) | back(ent(name)) | (ent(operator)) lhs2tex-1.18.1/doc/HelloWorldSpecInput.lhs0000644000175000001440000000024212022734321017543 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >\begin{spec} >main :: IO () >main = putStrLn "Hello, world!" >\end{spec} \endgroup lhs2tex-1.18.1/doc/PolyPrelude.lhs0000644000175000001440000000024612022734321016105 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >\documentclass{article} >%include polycode.fmt >\begin{document} > >\end{document} \endgrouplhs2tex-1.18.1/doc/FormatIdentifierExamples.lhs0000644000175000001440000000025612022734321020574 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format ++ = "\plus " >%format undefined = "\bot " >%format not = "\neg " \endgroup lhs2tex-1.18.1/doc/Variable.lhs0000644000175000001440000000010512022734321015360 0ustar andresusers%include poly.fmt %format test = style \begin{code} test \end{code} lhs2tex-1.18.1/doc/ParensExampleIn.lhs0000644000175000001440000000037512022734321016677 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format ^^ = "\;" >%format (ptest (a) b (c)) = ptest ^^ a ^^ b ^^ c >\begin{code} >ptest a b c >(ptest (a) (b) (c)) >((ptest((a)) ((b)) ((c)))) >\end{code} \endgroup lhs2tex-1.18.1/doc/GHExample.lhs0000644000175000001440000000226612022734321015457 0ustar andresusers%include poly.fmt %if style == "newcode" %format ^ %format ^^ = " " %format ti(a) = "{|" a "|}" %format ki(a) = "{[" a "]}" %else %format ^ = " " %format ^^ = "\;" %format ti(a) = "\lty " a "\rty " %format ki(a) = "\lki " a "\rki " \newcommand{\lty}{\mathopen{\{\mskip-3.4mu||}} \newcommand{\rty}{\mathclose{||\mskip-3.4mu\}}} \newcommand{\lki}{\mathopen{\{\mskip-3.5mu[}} \newcommand{\rki}{\mathclose{]\mskip-3.5mu\}}} %format t1 %format t2 %format a1 %format a2 %format r_ = "\rho " %format s_ = "\sigma " %format k_ = "\kappa " %format forall a = "\forall " a %format . = "." %format mapa = map "_{" a "}" %format mapb = map "_{" b "}" %format :*: = "\times " %endif \begin{code} type Map^ki(*) t1 t2 = t1 -> t2 type Map^ki(r_ -> s_) t1 t2 = forall a1 a2. Map^ki(r_) a1 a2 -> Map^ki(s_) (t1 a1) (t2 a2) map^ti(t :: k_) :: Map^ki(k_) t t map^ti(Unit) Unit = Unit map^ti(Int) i = i map^ti(Sum) mapa mapb (Inl a) = Inl (mapa a) map^ti(Sum) mapa mapb (Inr b) = Inr (mapb b) map^ti(Prod) mapa mapb (a :*: b) = mapa a :*: mapb b \end{code} lhs2tex-1.18.1/doc/ZipPoly.lhs0000644000175000001440000000113312022734321015243 0ustar andresusers%include poly.fmt %subst code a = "\begin{colorcode}'n" a "\end{colorcode}\resethooks'n" \begin{code} zip :: [a] -> [b] -> [(a,b)] zip = zipWith (\a b -> (a,b)) zipWith :: (a->b->c) -> [a]->[b]->[c] zipWith z (a:as) (b:bs) = z a b : zipWith z as bs zipWith _ _ _ = [] partition :: (a -> Bool) -> [a] -> ([a],[a]) partition p xs = foldr select ([],[]) xs where select x (ts,fs) | p x = (x:ts,fs) | otherwise = (ts,x:fs) \end{code} lhs2tex-1.18.1/doc/Implicit.lhs0000644000175000001440000000036412022734321015414 0ustar andresusers%include poly.fmt %format omega = "\omega" |[omega, omega13, omega', omega13']|\par %format omega13 |[omega, omega13, omega', omega13']|\par %format omega' |[omega, omega13, omega', omega13']|\par %format omega13' |[omega, omega13, omega13']| lhs2tex-1.18.1/doc/typewriter.fmt0000644000175000001440000003000112022734321016047 0ustar andresusers%subst verb a = "\text{\tt " a "}" %subst verbatim a = "\begin{tabbing}\tt'n" a "'n\end{tabbing}'n" %subst verbnl = "\\'n\tt " %if style == tt %subst inline a = "\text{\texfamily " a "}" %subst thinspace = "\Sp " %subst code a = "\begin{tabbing}\texfamily'n" a "'n\end{tabbing}'n" %subst comment a = "{\rmfamily-{}- " a "}" %subst nested a = "{\rmfamily\enskip\{- " a " -\}\enskip}" %subst pragma a = "{\rmfamily\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %subst spaces a = a %subst special a = a %subst space = "~" %subst newline = "\\'n\texfamily " %subst conid a = "{" a "}" %subst varid a = a %subst consym a = a %subst varsym a = a %subst numeral a = a %subst char a = "''" a "''" %subst string a = "\char34 " a "\char34 " %if underlineKeywords %subst keyword a = "\uline{" a "}" %else %if color %subst keyword a = "{\origcolor{red} " a "}" %else %subst keyword a = "{\itshape " a "}" %endif %format \ = "\char''10" %format . = "\char''00" %if not spacePreserving %format alpha = "\char''02" %format beta = "\char''03" %format gamma = "\char''11" %format delta = "\char''12" %format pi = "\char''07" %format infty = "\char''16" %format intersect = "\char''22" %format union = "\char''23" %format forall = "\char''24" %format exists = "\char''25" %format not = "\char''05" %format && = "\char''04" %format || = "\char''37" %format <- = "\char''06" %format -> = "\char''31" %format == = "\char''36" %format /= = "\char''32" %format <= = "\char''34" %format >= = "\char''35" %endif %if meta %format M.a = "\ensuremath{a}" %format M.b = "\ensuremath{b}" %format M.c = "\ensuremath{c}" %format M.d = "\ensuremath{d}" %format M.e = "\ensuremath{e}" %format M.f = "\ensuremath{f}" %format M.g = "\ensuremath{g}" %format M.h = "\ensuremath{h}" %format M.i = "\ensuremath{i}" %format M.j = "\ensuremath{j}" %format M.k = "\ensuremath{k}" %format M.l = "\ensuremath{l}" %format M.m = "\ensuremath{m}" %format M.n = "\ensuremath{n}" %format M.o = "\ensuremath{o}" %format M.p = "\ensuremath{p}" %format M.q = "\ensuremath{q}" %format M.r = "\ensuremath{r}" %format M.s = "\ensuremath{s}" %format M.t = "\ensuremath{t}" %format M.u = "\ensuremath{u}" %format M.v = "\ensuremath{v}" %format M.w = "\ensuremath{w}" %format M.x = "\ensuremath{x}" %format M.y = "\ensuremath{y}" %format M.z = "\ensuremath{z}" %format M.A = "\ensuremath{A}" %format M.B = "\ensuremath{B}" %format M.C = "\ensuremath{C}" %format M.D = "\ensuremath{D}" %format M.E = "\ensuremath{E}" %format M.F = "\ensuremath{F}" %format M.G = "\ensuremath{G}" %format M.H = "\ensuremath{H}" %format M.I = "\ensuremath{I}" %format M.J = "\ensuremath{J}" %format M.K = "\ensuremath{K}" %format M.L = "\ensuremath{L}" %format M.M = "\ensuremath{M}" %format M.N = "\ensuremath{N}" %format M.O = "\ensuremath{O}" %format M.P = "\ensuremath{P}" %format M.Q = "\ensuremath{Q}" %format M.R = "\ensuremath{R}" %format M.S = "\ensuremath{S}" %format M.T = "\ensuremath{T}" %format M.U = "\ensuremath{U}" %format M.V = "\ensuremath{V}" %format M.W = "\ensuremath{W}" %format M.X = "\ensuremath{X}" %format M.Y = "\ensuremath{Y}" %format M.Z = "\ensuremath{Z}" %format M.alpha = "\ensuremath{\alpha}" %format M.beta = "\ensuremath{\beta}" %format M.gamma = "\ensuremath{\gamma}" %format M.delta = "\ensuremath{\delta}" %format M.epsilon = "\ensuremath{\epsilon}" %format M.zeta = "\ensuremath{\zeta}" %format M.eta = "\ensuremath{\eta}" %format M.theta = "\ensuremath{\theta}" %format M.iota = "\ensuremath{\iota}" %format M.kappa = "\ensuremath{\kappa}" %format M.lambda = "\ensuremath{\lambda}" %format M.mu = "\ensuremath{\mu}" %format M.nu = "\ensuremath{\nu}" %format M.xi = "\ensuremath{\xi}" %format M.pi = "\ensuremath{\pi}" %format M.rho = "\ensuremath{\rho}" %format M.sigma = "\ensuremath{\sigma}" %format M.tau = "\ensuremath{\tau}" %format M.upsilon = "\ensuremath{\upsilon}" %format M.phi = "\ensuremath{\phi}" %format M.chi = "\ensuremath{\chi}" %format M.psi = "\ensuremath{\psi}" %format M.omega = "\ensuremath{\omega}" %format M.Gamma = "\ensuremath{\Gamma}" %format M.Delta = "\ensuremath{\Delta}" %format M.Theta = "\ensuremath{\Theta}" %format M.Lambda = "\ensuremath{\Lambda}" %format M.Xi = "\ensuremath{\Xi}" %format M.Pi = "\ensuremath{\Pi}" %format M.Sigma = "\ensuremath{\Sigma}" %format M.Upsilon = "\ensuremath{\Upsilon}" %format M.Phi = "\ensuremath{\Phi}" %format M.Psi = "\ensuremath{\Psi}" %format M.Omega = "\ensuremath{\Omega}" %format M.forall = "\ensuremath{\forall}" %format M.exists = "\ensuremath{\exists}" %format M.not = "\ensuremath{\neg}" %format ==> = "\ensuremath{\Longrightarrow}" %format <== = "\ensuremath{\Longleftarrow}" %format /\ = "\ensuremath{\wedge}" %format \/ = "\ensuremath{\vee}" %format M.= = "\ensuremath{=}" %format M./= = "\ensuremath{\neq}" %format M.< = "\ensuremath{<}" %format M.<= = "\ensuremath{\leq}" %format M.>= = "\ensuremath{\geq}" %format M.> = "\ensuremath{>}" %endif %elif style == newcode %subst comment a = "-- " a %subst nested a = "{- " a " -}" %subst code a = a "'n" %subst newline = "'n" %subst dummy = %subst pragma a = "{-# " a " #-}" %subst tex a = %subst numeral a = a %subst keyword a = a %subst spaces a = a %subst special a = a %subst space = " " %subst conid a = a %subst varid a = a %subst consym a = a %subst varsym a = a %subst char a = "''" a "''" %subst string a = "'d" a "'d" %format # = "#" %format $ = "$" %format % = "%" %format & = "&" %elif style == math %subst phantom a = "\phantom{" a "\mbox{}}" %subst comment a = "\mbox{\qquad-{}- " a "}" %subst nested a = "\mbox{\enskip\{- " a " -\}\enskip}" %if array %subst code a = "\[\begin{array}{@{}lcl}'n\hspace{\lwidth}&\hspace{\cwidth}&\\[-10pt]'n" a "'n\end{array}\]" %subst column3 l c r = "{}" l " & " c " & {" r "}" %subst column1 a = "\multicolumn{3}{@{}l}{" a "}" %else %subst code a = "\begin{tabbing}'n\qquad\=\hspace{\lwidth}\=\hspace{\cwidth}\=\+\kill'n" a "'n\end{tabbing}" %subst column3 l c r = "$" l "$ \> \makebox[\cwidth]{$" c "$} \> ${" r "}$" %subst column1 a = "${" a "}$" %endif %subst newline = "\\'n" %subst blankline = "\\[1mm]'n" %let anyMath = True %elif style == poly %subst comment a = "\mbox{\onelinecomment " a "}" %subst nested a = "\mbox{\commentbegin " a " \commentend}" %if array %subst code a = "\['n\begin{parray}\SaveRestoreHook'n" a "\ColumnHook'n\end{parray}'n\]\resethooks'n" %else %subst code a = "\begingroup\par\noindent\advance\leftskip\mathindent\('n\begin{pboxed}\SaveRestoreHook'n" a "\ColumnHook'n\end{pboxed}'n\)\par\noindent\endgroup\resethooks'n" %endif %subst column c a = "\column{" c "}{" a "}'n" %subst fromto b e t = "\fromto{" b "}{" e "}{{}" t "{}}'n" %subst left = "@{}l@{}" %subst centered = "@{}c@{}" %subst dummycol = "@{}l@{}" %subst newline = "\nextline'n" %subst blankline = "\nextline[\blanklineskip]'n" %subst indent n = "\hsindent{" n "}" %let anyMath = True %endif %if anyMath %let autoSpacing = True %subst dummy = "\cdot " %subst inline a = "\ensuremath{" a "}" %subst hskip a = "\hskip" a "em\relax" %subst pragma a = "\mbox{\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %if latex209 %subst numeral a = "{\mathrm " a "}" %subst keyword a = "{\mathbf " a "}" %else %subst numeral a = "\mathrm{" a "}" %subst keyword a = "\mathbf{" a "}" %endif %subst spaces a = a %subst special a = a %subst space = "\;" %subst conid a = "\Conid{" a "}" %subst varid a = "\Varid{" a "}" %subst consym a = "\mathbin{" a "}" %subst varsym a = "\mathbin{" a "}" %subst char a = "\text{\tt ''" a "''}" %subst string a = "\text{\tt \char34 " a "\char34}" %format _ = "\anonymous " %format -> = "\to " %format <- = "\leftarrow " %format => = "\Rightarrow " %format \ = "\lambda " %format | = "\mid " %format { = "\{\mskip1.5mu " %format } = "\mskip1.5mu\}" %format [ = "[\mskip1.5mu " %format ] = "\mskip1.5mu]" %format = = "\mathrel{=}" %format .. = "\mathinner{\ldotp\ldotp}" %format ~ = "\mathord{\sim}" %format @ = "\mathord{@}" %format . = "\mathbin{\circ}" %format !! = "\mathbin{!!}" %format ^ = "\mathbin{\uparrow}" %format ^^ = "\mathbin{\uparrow\uparrow}" %format ** = "\mathbin{**}" %format / = "\mathbin{/}" %format `quot` = "\mathbin{\Varid{`quot`}}" %format `rem` = "\mathbin{\Varid{`rem`}}" %format `div` = "\mathbin{\Varid{`div`}}" %format `mod` = "\mathbin{\Varid{`mod`}}" %format :% = "\mathbin{:\%}" %format % = "\mathbin{\%}" %format : = "\mathbin{:}" %format ++ = "\plus " %format == = "\equiv " %% ODER: format == = "\mathrel{==}" %format /= = "\not\equiv " %% ODER: format /= = "\neq " %format <= = "\leq " %format >= = "\geq " %format `elem` = "\in " %format `notElem` = "\notin " %format && = "\mathrel{\wedge}" %format || = "\mathrel{\vee}" %format >> = "\sequ " %format >>= = "\bind " %format $ = "\mathbin{\$}" %format `seq` = "\mathbin{\Varid{`seq`}}" %format ! = "\mathbin{!}" %format // = "\mathbin{//}" %format undefined = "\bot " %format not = "\neg " %if meta %format M.a = "a" %format M.b = "b" %format M.c = "c" %format M.d = "d" %format M.e = "e" %format M.f = "f" %format M.g = "g" %format M.h = "h" %format M.i = "i" %format M.j = "j" %format M.k = "k" %format M.l = "l" %format M.m = "m" %format M.n = "n" %format M.o = "o" %format M.p = "p" %format M.q = "q" %format M.r = "r" %format M.s = "s" %format M.t = "t" %format M.u = "u" %format M.v = "v" %format M.w = "w" %format M.x = "x" %format M.y = "y" %format M.z = "z" %format M.A = "A" %format M.B = "B" %format M.C = "C" %format M.D = "D" %format M.E = "E" %format M.F = "F" %format M.G = "G" %format M.H = "H" %format M.I = "I" %format M.J = "J" %format M.K = "K" %format M.L = "L" %format M.M = "M" %format M.N = "N" %format M.O = "O" %format M.P = "P" %format M.Q = "Q" %format M.R = "R" %format M.S = "S" %format M.T = "T" %format M.U = "U" %format M.V = "V" %format M.W = "W" %format M.X = "X" %format M.Y = "Y" %format M.Z = "Z" %format M.alpha = "\alpha " %format M.beta = "\beta " %format M.gamma = "\gamma " %format M.delta = "\delta " %format M.epsilon = "\epsilon " %format M.zeta = "\zeta " %format M.eta = "\eta " %format M.theta = "\theta " %format M.iota = "\iota " %format M.kappa = "\kappa " %format M.lambda = "\lambda " %format M.mu = "\mu " %format M.nu = "\nu " %format M.xi = "\xi " %format M.pi = "\pi " %format M.rho = "\rho " %format M.sigma = "\sigma " %format M.tau = "\tau " %format M.upsilon = "\upsilon " %format M.phi = "\phi " %format M.chi = "\chi " %format M.psi = "\psi " %format M.omega = "\omega " %format M.Gamma = "\Gamma " %format M.Delta = "\Delta " %format M.Theta = "\Theta " %format M.Lambda = "\Lambda " %format M.Xi = "\Xi " %format M.Pi = "\Pi " %format M.Sigma = "\Sigma " %format M.Upsilon = "\Upsilon " %format M.Phi = "\Phi " %format M.Psi = "\Psi " %format M.Omega = "\Omega " %format M.forall = "\forall " %format M.exists = "\exists " %format M.not = "\neg " %format ==> = "\enskip\Longrightarrow\enskip " %format <== = "\enskip\Longleftarrow\enskip " %format /\ = "\enskip\mathrel{\wedge}\enskip " %format \/ = "\enskip\mathrel{\vee}\enskip " %format M.= = "=" %format M./= = "\neq " %format M.< = "<" %format M.<= = "\leq " %format M.>= = "\geq " %format M.> = ">" %endif %endif %endif lhs2tex-1.18.1/doc/HsIndent.lhs0000644000175000001440000000016512022734321015355 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >\newcommand{\hsindent}[1]{\quad} \endgroup lhs2tex-1.18.1/doc/InteractiveGhci.lhs0000644000175000001440000000047512022734321016715 0ustar andresusers%include poly.fmt %if False > module InteractiveGhci where %endif %format . = "." %format forall a = "\forall" a %options ghci -fglasgow-exts > fix :: forall a. (a -> a) -> a > fix f = f (fix f) This function is of type \eval{:t fix}, and |take 10 (fix ('x':))| evaluates to \eval{take 10 (fix ('x':))}. lhs2tex-1.18.1/doc/AGExampleIn.lhs0000644000175000001440000000145712022734321015740 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt %if stc \let\small\scriptsize %endif \def\tt#1#2{\origtt\makebox[0pt]{\phantom{X}}} >%format ^ = " " >%format ^^ = "\;" >%format ATTR = "\mathbf{ATTR}" >%format SEM = "\mathbf{SEM}" >%format lhs = "\mathbf{lhs}" >%format . = "." >%format * = "\times" >%format (A(n)(f)) = @ n . f >\begin{code} >ATTR Expr Factor [ ^^ | ^^ | numvars : Int ] >ATTR Expr Factor [ ^^ | ^^ | value : Int ] > >SEM Expr > | Sum > lhs . value = A left value + A right value > . numvars = A left numvars + A right numvars >SEM Factor > | Prod > lhs . value = A left value * A right value > . numvars = A left numvars + A right numvars >\end{code} \endgroup lhs2tex-1.18.1/doc/SaveRestoreIn.lhs0000644000175000001440000000066012022734321016372 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >\savecolumns >\begin{code} >intersperse :: a -> [a] -> [a] >intersperse _ [] = [] >intersperse _ [x] = [x] >\end{code} >The only really interesting case is the one for lists >containing at least two elements: >\restorecolumns >\begin{code} >intersperse sep (x:xs) = x : sep : intersperse sep xs >\end{code} \endgroup lhs2tex-1.18.1/doc/ParensExample2.lhs0000644000175000001440000000045512022734321016471 0ustar andresusers%include poly.fmt \begingroup \setlength{\abovedisplayskip}{1pt} \setlength{\belowdisplayskip}{1pt} %format eval a = "\llbracket " a "\rrbracket " \begin{code} size (eval (2 + 2)) \end{code} %format (eval (a)) = "\llbracket " a "\rrbracket " \begin{code} size (eval (2 + 2)) \end{code} \endgroup lhs2tex-1.18.1/doc/FormatArrow2.lhs0000644000175000001440000000016012022734321016161 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format ~>* = ~> "^{" * "}" \endgroup lhs2tex-1.18.1/doc/InteractiveHugsIn.lhs0000644000175000001440000000060412022734321017232 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} %if False module InteractiveHugs where %endif %format . = "." %format forall a = "\forall" a \begin{code} %options hugs -98 > fix :: forall a. (a -> a) -> a > fix f = f (fix f) This function is of type \eval{:t fix}, and |take 10 (fix ('x':))| evaluates to \eval{take 10 (fix ('x':))}. \end{code} \endgroup lhs2tex-1.18.1/doc/IncludePrelude.lhs0000644000175000001440000000015212022734321016541 0ustar andresusers%include tex.fmt %subst string a = "\text{\tt " a "}" \begin{code} dir(include) "lhs2TeX.fmt" \end{code} lhs2tex-1.18.1/doc/CompleteDirectives.lhs0000644000175000001440000000202012022734321017423 0ustar andresusers%include tex.fmt \begingroup \invisiblecomments \def\bropen{@{@} \def\brclos{@}@} %{ %format bropen = "\bropen" %format brclose = "\brclos" \begin{code} dir(include) -- include a file dir(format) -- formatting directive for an identifer/operator dir(bropen) -- begin of an @lhs2TeX@ group dir(brclose) -- end of an @lhs2TeX@ group dir(^let^) -- set a toggle dir(^if^) -- test a condition dir(^else^) -- second part of conditional dir(elif) -- @else@ combined with @if@ dir(endif) -- end of a conditional dir(latency) -- tweak alignment in \textbf{poly} style dir(separation) ^^^ -- tweak alignment in \textbf{poly} style dir(align) -- set alignment column in \textbf{math} style dir(options) -- set options for call of external program dir(subst) -- primitive formatting directive dir(file) -- set filename \end{code} %} \endgroup lhs2tex-1.18.1/doc/SpacingOpsCond.lhs0000644000175000001440000000031312022734321016506 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} \begin{code} %if style == newcode %format ^ = %format ^^ = " " %else %format ^ = " " %format ^^ = "\;" %endif \end{code} \endgroup lhs2tex-1.18.1/doc/FormatGreekOut.lhs0000644000175000001440000000014612022734321016536 0ustar andresusers%include poly.fmt %format alpha = "\alpha" \begin{code} tan alpha = sin alpha / cos alpha \end{code} lhs2tex-1.18.1/doc/Indent2.lhs0000644000175000001440000000031612022734321015142 0ustar andresusers%include poly.fmt \begin{code} unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) \end{code} lhs2tex-1.18.1/doc/lhs2TeXpre0000755000175000001440000000046612022734321015063 0ustar andresusers#! /bin/sh # wrapper for use with GHC/GHCi # -pgmF lhs2TeXpre -F LHSHOME=.. if [ "$1" == "$2" ]; then cp "$2" "$3" else if grep -q "^%include" "$1"; then TARGET=$3 # echo Calling with TARGET=${TARGET} ${LHSHOME}/lhs2TeX --newcode -P${LHSHOME}: $1 > ${TARGET} else cp "$2" "$3" fi fi lhs2tex-1.18.1/doc/FormatGreekIn.lhs0000644000175000001440000000025412022734321016335 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format alpha = "\alpha" > >\begin{code} >tan alpha = sin alpha / cos alpha >\end{code} \endgroup lhs2tex-1.18.1/doc/GroupSyntax.lhs0000644000175000001440000000017312022734321016143 0ustar andresusers%include tex.fmt %format ... = "\dots " %format brop = { %format brcl = } \begin{code} dir(brop) ... dir(brcl) \end{code} lhs2tex-1.18.1/doc/CardIn.lhs0000644000175000001440000000041412022734321014776 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format abs (a) = "\mathopen{|}" a "\mathclose{|}" >%format ~> = "\leadsto" >The |abs| function computes the absolute value of >an integer: >\begin{code} >abs(-2) ~> 2 >\end{code} \endgroup lhs2tex-1.18.1/doc/Indent1In.lhs0000644000175000001440000000104312022734321015426 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" %format \ = "\char''134" %format let = "let" %format in = "in" %format -> = "->" %format { = "{\origcolor{hcolor}" ( "}" %format } = ) \begingroup \let\origtt=\texfamily \let\small\footnotesize \def\texfamily{\origtt\makebox[0pt]{\phantom{X}}} \begin{code} > unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] > unionBy eq xs ys = xs ++ foldl {flip (deleteBy eq)} > {nubBy eq ys} \end{code} \endgroup lhs2tex-1.18.1/doc/ZipMath.lhs0000644000175000001440000000115012022734321015210 0ustar andresusers%let array=True %include stupid.fmt %subst code a = "\begin{colorarray}{@{}lcl@{}}'n" a "\end{colorarray}'n" %align 28 \begin{code} zip :: [a] -> [b] -> [(a,b)] zip = zipWith (\a b -> (a,b)) zipWith :: (a->b->c) -> [a]->[b]->[c] zipWith z (a:as) (b:bs) = z a b : zipWith z as bs zipWith _ _ _ = [] partition :: (a -> Bool) -> [a] -> ([a],[a]) partition p xs = foldr select ([],[]) xs where select x (ts,fs) | p x = (x:ts,fs) | otherwise = (ts,x:fs) \end{code} lhs2tex-1.18.1/doc/ParensExample2In.lhs0000644000175000001440000000042512022734321016755 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format eval a = "\llbracket " a "\rrbracket " >\begin{code} >size (eval (2 + 2)) >\end{code} >%format (eval (a)) = "\llbracket " a "\rrbracket " >\begin{code} >size (eval (2 + 2)) >\end{code} \endgroup lhs2tex-1.18.1/doc/FormatElem.lhs0000644000175000001440000000016012022734321015667 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%format `elem` = "\in " \endgroup lhs2tex-1.18.1/doc/InstallationInstructions.lhs0000644000175000001440000000051712022734321020730 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" \begingroup \let\origtt=\texfamily \def\texfamily{\origtt\makebox[0pt]{\phantom{X}}} %format ProgramVersion = "\ProgramVersion " \begin{code} $ cd /somewhere/lhs2TeX-ProgramVersion $ ./configure $ make $ make install \end{code} \endgroup lhs2tex-1.18.1/doc/SpacingOps.lhs0000644000175000001440000000021312022734321015701 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} \begin{code} %format ^ = " " %format ^^ = "\;" \end{code} \endgroup lhs2tex-1.18.1/doc/InteractiveHugs.lhs.in0000644000175000001440000000065112022734321017352 0ustar andresusers%include poly.fmt %if False > module InteractiveHugs where %endif %format . = "." %format forall a = "\forall" a %options hugs -98 > fix :: forall a. (a -> a) -> a > fix f = f (fix f) This function is of type %if "@HUGS@" /= "" \eval{:t fix}, %else \textbf{?hugs not found?}, %endif and |take 10 (fix ('x':))| evaluates to %if "@HUGS@" /= "" \eval{take 10 (fix ('x':))}. %else \textbf{?hugs not found?}. %endif lhs2tex-1.18.1/doc/Indent1.lhs0000644000175000001440000000032012022734321015134 0ustar andresusers%include poly.fmt \begin{code} unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] unionBy eq xs ys = xs ++ foldl (flip (deleteBy eq)) (nubBy eq ys) \end{code} lhs2tex-1.18.1/doc/FormatIdentifierWrong.lhs0000644000175000001440000000021712022734321020107 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1#2{\origtt} >%% THE FOLLOWING IS BAD: >%format undefined = "undefined" \endgroup lhs2tex-1.18.1/doc/HackageInstallation.lhs0000644000175000001440000000037712022734321017553 0ustar andresusers%include typewriter.fmt %subst code a = "\begin{colorverb}'n\texfamily " a "\end{colorverb}'n" \begingroup \let\origtt=\texfamily \def\texfamily{\origtt\makebox[0pt]{\phantom{X}}} \begin{code} $ cabal update $ cabal install lhs2tex \end{code} \endgroup lhs2tex-1.18.1/doc/ImplicitUnderscore.lhs0000644000175000001440000000053312022734321017444 0ustar andresusers%include poly.fmt %format a_i %format a_j %format left = "\leftarrow " %format right = "\rightarrow " %format a_left %format a_right %format a_let %format a_where %format a_x_1 %format a_x_2 %format y_1 %format y_2 %format a_y_1 %format a_y_2 %format a_y1 %format a_i' |[a_i,a_j,a_left,a_right,a_let,a_where,a_x_1,a_x_2,a_y_1,a_y_2,a_y1,a_i']| lhs2tex-1.18.1/doc/InlineTeXSyntax.lhs0000644000175000001440000000043412022734321016706 0ustar andresusers%include tex.fmt \newcommand*{\InlineTeX}{@{-"@}% \newcommand*{\EndInlineTeX}{@"-}@}% %format inline(a) = "\InlineTeX " a "\EndInlineTeX " \begin{code} inline(ent(tex)) \end{code} If this construct appears in a code block, then |ent(tex)| is inserted literally into the output file. lhs2tex-1.18.1/doc/RepAlg.lhs0000644000175000001440000000053512022734321015014 0ustar andresusers%include poly.fmt > rep_alg = (\ _ -> \m -> Leaf m > ,\ lfun rfun -> \m -> let lt = lfun m > rt = rfun m > in Bin lt rt > ) > replace_min' t = (cata_Tree rep_alg t) (cata_Tree min_alg t) lhs2tex-1.18.1/doc/SearchPath.lhs0000644000175000001440000000015212022734321015657 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} %include RawSearchPath.lhs \endgroup lhs2tex-1.18.1/doc/GHExampleIn.lhs0000644000175000001440000000253512022734321015745 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \let\small\scriptsize \def\tt#1#2{\origtt\makebox[0pt]{\phantom{X}}} >%if style == newcode >%format ^ >%format ^^ = " " >%format ti(a) = "{|" a "|}" >%format ki(a) = "{[" a "]}" >%else >%format ^ = " " >%format ^^ = "\;" >%format ti(a) = "\lty " a "\rty " >%format ki(a) = "\lki " a "\rki " >\newcommand{\lty}{\mathopen{\{\mskip-3.4mu||}} >\newcommand{\rty}{\mathclose{||\mskip-3.4mu\}}} >\newcommand{\lki}{\mathopen{\{\mskip-3.5mu[}} >\newcommand{\rki}{\mathclose{]\mskip-3.5mu\}}} >%format t1 >%format t2 >%format a1 >%format a2 >%format r_ = "\rho " >%format s_ = "\sigma " >%format k_ = "\kappa " >%format forall a = "\forall " a >%format . = "." >%format mapa = map "_{" a "}" >%format mapb = map "_{" b "}" >%format :*: = "\times " >%endif >\begin{code} >type Map^ki(*) t1 t2 = t1 -> t2 >type Map^ki(r_ -> s_) t1 t2 = forall a1 a2. Map^ki(r_) a1 a2 > -> Map^ki(s_) (t1 a1) (t2 a2) > >map^ti(t :: k_) :: Map^ki(k_) t t >map^ti(Unit) Unit = Unit >map^ti(Int) i = i >map^ti(Sum) mapa mapb (Inl a) = Inl (mapa a) >map^ti(Sum) mapa mapb (Inr b) = Inr (mapb b) >map^ti(Prod) mapa mapb (a :*: b) = mapa a :*: mapb b >\end{code} \endgroup lhs2tex-1.18.1/doc/MkTeXLsrCall.lhs0000644000175000001440000000016212022734321016103 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} \begin{code} $ mktexlsr \end{code} \endgroup lhs2tex-1.18.1/doc/Guide2.lhs0000644000175000001440000022046412022734321014766 0ustar andresusers\documentclass[10pt]{scrartcl} % save linebreak; see below \let\origlinebreak=\\ \renewcommand{\sectfont}{\bf} %let framed = False \usepackage[english]{babel} %\usepackage[fleqn]{amsmath} \usepackage{stmaryrd} \usepackage{hyperref} %\usepackage[T1]{fontenc} \usepackage{mathpazo} %\usepackage[scaled=0.9]{luximono} \usepackage{colortbl} \usepackage{calc} %\usepackage{pifont} \usepackage{paralist} \usepackage{ifthen} \usepackage{relsize} \usepackage{xspace} \usepackage{tabularx} %if framed \usepackage{framed} \FrameSep=2\fboxsep %endif \newcommand*{\PDF}{{\smaller{PDF}}\xspace} \newcommand*{\CTAN}{{\smaller{CTAN}}\xspace} %format lhs2TeX = "\textrm{lhs}\textsf{2}\TeX" \setdefaultitem{\textbf{--}}{}{}{} %let doc = True %include lhs2TeX.fmt %include Version.lhs \newlength{\lwidth} \newlength{\cwidth} \setlength{\lwidth}{0pt} \setlength{\cwidth}{0pt} %separation 2 %latency 2 \let\origcolor=\color \newcommand{\dep}[1]{{\origcolor{red}#1}} \def\swgt#1{\switch[\value{step}>#1]}% \def\ro#1{\ifthenelse{\value{step}=#1}{\origcolor{red}}{}}% %\usepackage[display]{texpower} %hyperref needs some setup, especially after pdfscreen \hypersetup{% colorlinks=True,% pdfmenubar=True,% pdfcenterwindow=False,% pdffitwindow=False}% %fixed lengths are better ... % \AtBeginDocument{% % \setlength{\abovedisplayskip}{6pt plus 0pt minus 0pt}% originally 10.0pt plus 2.0pt minus 5.0pt % \setlength{\belowdisplayskip}{6pt plus 0pt minus 0pt}% originally 10.0pt plus 2.0pt minus 5.0pt % } % \setlength{\belowdisplayshortskip}{6pt plus 0pt minus 0pt}% % \setlength{\abovedisplayshortskip}{6pt plus 0pt minus 0pt}% % \setlength{\smallskipamount}{2pt} % \setlength{\medskipamount}{5pt} % \setlength{\bigskipamount}{10pt} % % % \setlength\pltopsep{2pt} % \setlength\plitemsep{1pt} % \setlength\parskip{0pt} \newcounter{pagesave} % redefining the lhs2TeX code command is needed because % TeXpower seems to tamper with \\ in some nasty way ... % This one works: %%subst code a = "\begingroup\parskip=\abovedisplayskip\par\advance\leftskip\mathindent\let\\=\origlinebreak\('n\begin{pboxed}\SaveRestoreHook'n" a "\ColumnHook'n\end{pboxed}'n\)\parskip=\belowdisplayskip\par\endgroup\resethooks'n" % This one is with color: %subst code a = "\begin{colorcode}'n" a "\end{colorcode}\resethooks'n" \definecolor{rlcolor}{gray}{.8} \arrayrulecolor{rlcolor} \definecolor{hcolor}{gray}{.7} % \newenvironment{colorcode}{% % \parskip=\abovedisplayskip\par\noindent % \begingroup\small% small changes displayskips! % %if color % \tabular{@@{}>{\columncolor{codecolor}}p{\linewidth}@@{}}% % %elif framed % \framed % %else % \tabular{@@{}||p{\linewidth-2\arraycolsep-2\arrayrulewidth-2pt}||@@{}}% % \hline \\[-1.5ex] % \let\myendofline=\\ % %endif % \let\\=\origlinebreak % \(% % \pboxed\SaveRestoreHook}{% % \ColumnHook\endpboxed % \)% % %if not color && not framed % \myendofline[.5ex]\hline % %endif % %if framed % \endframed % %else % \endtabular % %endif % \endgroup % \parskip=\belowdisplayskip\par\noindent % \ignorespacesafterend} \newenvironment{colorcode}{% \colorsurround \(% \pboxed\SaveRestoreHook}{% \ColumnHook\endpboxed \)% \endcolorsurround} % \newenvironment{colorsurround}{% % \parskip=\abovedisplayskip\par\noindent % \begingroup\small% small changes displayskips! % %if color % \tabular{@@{}>{\columncolor{codecolor}}p{\linewidth}@@{}}% % %elif framed % \framed % %else % \tabular{@@{}||p{\linewidth-2\arraycolsep-2\arrayrulewidth-2pt}||@@{}}% % \hline \\[-1.5ex] % \let\myendofline=\\ % %endif % \let\\=\origlinebreak}{% % %if not color && not framed % \myendofline[.5ex]\hline % %endif % %if framed % \endframed % %else % \endtabular % %endif % \endgroup % \parskip=\belowdisplayskip\par\noindent % \ignorespacesafterend} \newenvironment{colorsurround}{\colorverb}{\endcolorverb} % \newenvironment{colorarray}{% % \parskip=\abovedisplayskip\par\noindent % \begingroup\small% small changes displayskips! % %if color % \tabular{@@{}>{\columncolor{codecolor}}p{\linewidth}@@{}}% % %elif framed % \framed % %else % \tabular{@@{}||p{\linewidth-2\arraycolsep-2\arrayrulewidth-2pt}||@@{}}% % \hline \\[-1.5ex] % \let\myendofline=\\ % %endif % \let\\=\origlinebreak % \(% % \array}{% % \endarray % \)% % %if not color && not framed % \myendofline[.5ex]\hline % %endif % %if framed % \endframed % %else % \endtabular % %endif % \endgroup % \parskip=\belowdisplayskip\par\noindent % \ignorespacesafterend} \newenvironment{colorarray}{% \colorsurround \(% \array}{% \endarray \)% \endcolorsurround} \makeatletter \newenvironment{colorverb}{% \parskip=\abovedisplayskip\par\noindent \begingroup\small% small changes displayskips! %if color \tabular{@@{}>{\columncolor{codecolor}}p{\linewidth}@@{}}% %elif framed \framed %else \tabular{@@{}||p{\linewidth-2\arraycolsep-2\arrayrulewidth-2pt}||@@{}}% \hline \\[-1.5ex] \let\myendofline=\\ %endif \let\\=\origlinebreak}{% %if not color && not framed \myendofline[.5ex]\hline %endif %if framed \endframed %else \endtabular %endif \endgroup \parskip=\belowdisplayskip\par\noindent \ignorespacesafterend} \makeatother %%% %%% "IMPORTANT" ENVIRONMENT %%% \newenvironment{important}[1][Important]% {\colorsurround \centering \bfseries\textsc{#1:}\ }% {\endcolorsurround} %\definecolor{codecolor}{rgb}{.982, .902, .902}% original %\definecolor{codecolor}{rgb}{1,.898,.667}% so'n orange \definecolor{codecolor}{rgb}{1,1,.667} %format forall(a) = "\forall " a "\relax" %\usepackage{fonttabl} \begin{document} %\begingroup %\texfamily %\fonttable %\endgroup \title{Guide to |lhs2TeX|\\ \smaller (for version \ProgramVersion)} \author{{Ralf Hinze}\\ \smaller \tabular{c} Computing Laboratory, University of Oxford\\ %Wolfson Building, Parks Road, Oxford, OX1 3QD, England\\ \verb|ralf.hinze@comlab.ox.ac.uk| \endtabular \and {Andres L\"oh}\\ \smaller \tabular{c} Well-Typed LLP\\ %Institute of Information and Computing Sciences\\ %Utrecht University, P.O.~Box 80.089\\ %3508 TB Utrecht, The Netherlands\\ \verb|mail@andres-loeh.de| \endtabular}% \date{\today} \maketitle \tableofcontents %--------------------------------------------------------------------------- \section{About |lhs2TeX|} \label{sec:about} %--------------------------------------------------------------------------- The program |lhs2TeX| is a preprocessor that takes a literate Haskell source file as input (or something sufficiently alike) and produces a formatted file that can be processed further by \LaTeX. For example, consider the following input file: \input{HelloWorldInput} If we run the following two commands on it \input{HelloWorldDialogue} then the resulting \PDF file will look similar to \begin{colorsurround} \input{HelloWorld} %if color \vspace*{-2\baselineskip}% %endif \end{colorsurround} %if color \vspace*{\belowdisplayskip}% \par\noindent %endif The behaviour of |lhs2TeX| is highly customizable. The main mode of operation of |lhs2TeX| is called the \textbf{style}. By default, |lhs2TeX| operates in \textbf{poly} style. Other styles can be selected via command line flags. Depending on the selected style, |lhs2TeX| can perform quite different tasks. Here is a brief overview: % \begin{compactitem} \item \textbf{verb} (verbatim): format code completely verbatim \item \textbf{tt} (typewriter): format code verbatim, but allow special formatting of keywords, characters, some functions, \dots \item \textbf{math}: mathematical formatting with basic alignment, highly customizable \item \textbf{poly}: mathematical formatting with mutliple alignments, highly customizable, supersedes \textbf{math} \item \textbf{code}: delete all comments, extract sourcecode \item \textbf{newcode} (new code): delete all comments, extract sourcecode, but allow for formatting, supersedes \textbf{code} \end{compactitem} The name of the style is also the name of the flag you have to pass to |lhs2TeX| in order to activate the style. For example, call @lhs2TeX --newcode@ to use |lhs2TeX| in \textbf{newcode} style. %%% %%% %--------------------------------------------------------------------------- \section{Installing |lhs2TeX|} %--------------------------------------------------------------------------- There are three options for installing |lhs2TeX| (ordered by ease): \begin{compactitem} \item Using Hackage \item Using Cabal. \item Classic configure/make. \end{compactitem} \subsection{Using Hackage to install |lhs2TeX|} The Haskell Platform~\cite{platform} is the easiest way to get started with programming Haskell. It is also the easiest way to build, install, and manage Haskell packages, through Hackage~\cite{hackage}: \input{HackageInstallation}% The first command downloads the latest package list, and the second installs (along with any dependencies) the latest version of |lhs2TeX|. \subsection{Using Cabal to install |lhs2TeX|} If you have downloaded a source distribution, which is a valid Cabal package, you can install |lhs2TeX| using Cabal (this requires Cabal 1.2 or later). Begin by unpacking the archive. Assuming that it has been unpacked into directory @/somewhere@, then say \input{CabalInstallation}% The install step requires write access to the installation location and the \LaTeX\ filename database. (Hint: use \texttt{sudo} if necessary.) \subsection{configure/make} The following instructions apply to Unix-like environments. However, |lhs2TeX| does run on Windows systems, too. (If you would like to add installation instructions or facilitate the installation procedure for Windows systems, please contact the authors.) Begin by unpack the archive. Assuming that it has been unpacked into directory @/somewhere@, then say \input{InstallationInstructions}% You might need administrator permissions to perform the @make install@ step. Alternatively, you can select your own installation location by passing the @--prefix@ argument to @configure@: \input{ConfigureCall} There are a couple of library files that come with |lhs2TeX| (containing basic |lhs2TeX| formatting directives) that need to be found by the |lhs2TeX| binary. The default search path is as follows: \input{SearchPath}% \label{defaultsearchpath}% Here, @{HOME}@ and @{LHS2TEX}@ denote the current values of the environment variables @HOME@ and @LHS2TEX@. The double slash at the end of each dir means that subdirectories are also scanned. If |lhs2TeX| is installed to a non-standard path, you might want to set the environment variable @LHS2TEX@ to point to the directory where @lhs2TeX.fmt@ and the other library files have been installed to. \begin{important} To be able to use ``poly'' style, the two \LaTeX\ packages\\ @polytable.sty@ and @lazylist.sty@ are required! \end{important} % Both are included in the |lhs2TeX| distribution (they are not part of standard \LaTeX\ distributions, although they are available from \CTAN~\cite{polytable,lazylist}), and are usually installed during the normal procedure. The @configure@ script will determine whether a suitably recent version of @polytable@ is installed on your system, and if necessary, install both @polytable.sty@ and @lazylist.sty@ to your \TeX\ system. If this is not desired or fails (because the script cannot detect your \TeX\ installation properly), the installation of these files can be disabled by passing the option @--disable-polytable@ to @configure@. In this case, the two files must be manually installed to a location where your \TeX\ distribution will find them. Assuming that you have a local \TeX\ tree at @/usr/local/share/texmf@, this can usually be achieved by placing the files in the directory @/usr/local/share/texmf/tex/latex/polytable@ and subsequently running \input{MkTeXLsrCall}% to update the \TeX\ filename database. %%% %%% %--------------------------------------------------------------------------- \section{How to hit the ground running with |lhs2TeX|} %--------------------------------------------------------------------------- When run on a literate Haskell source file, |lhs2TeX| classifies the input into different blocks. \paragraph{\bf Bird-style code blocks} % In the Bird-style of literate Haskell programming, all lines starting with @>@ are interpreted as code. (To be good literate code, you must always leave a blank line before and after the code block.) % \input{HelloWorldBirdInput}% % These lines are considered by |lhs2TeX| as \textbf{code blocks} and are processed as such. Lines beginning with @>@ will be treated as code to be formatted by |lhs2TeX| and code to be compiled by the compiler. If you wish to hide code from the compiler, but not from |lhs2TeX|, you can flip the @>@ characters around. % \input{HelloWorldBirdSpecInput}% % There is no change in the output of |lhs2TeX| (with the exception of code extraction through the \textbf{code} and \textbf{newcode} styles). \paragraph{\bf \LaTeX-style code blocks} % The \LaTeX-style of literate programming is to surround code blocks with @\begin{code}@ and @\end{code}@. % \input{HelloWorldCodeInput}% % These lines will be treated by |lhs2TeX| (and a Haskell compiler) in the same way as lines beginning with @>@. The equivalent to lines beginning with @<@, is to surround the lines with @\begin{spec}@ and @\end{spec}@. % \input{HelloWorldSpecInput}% % Unlike a Haskell compiler, |lhs2TeX| does not care if both styles of literate programming are used in the same file. \emph{But}, if you are using the \textbf{code} and \textbf{newcode} styles to produce Haskell source files, the initial characters @>@ and @<@ will be replaced by spaces, which means that you have to indent @code@ environments in order to create a properly indented Haskell module. \paragraph{\bf Inline verbatim} % Text between two \verb+@+ characters that is not in a code block is considered inline verbatim. If you actually want a \verb+@+ character to appear in the text, it needs to be escaped: \verb+@@+. There is no need to escape \verb+@+'s in code blocks. For example, \verb+@id :: a -> a@+ appears as @id :: a -> a@. \paragraph{\bf Inline code} % Text between two @|@ characters that is not in a code block is considered inline code. Again, @|@ characters that should appear literally outside of code blocks need to be escaped: @||@. For example, \verb+|id :: a -> a|+ appears as |id :: a -> a|. \paragraph{\bf Directives} % A \verb+%+ that is followed by the name of an |lhs2TeX| directive is considered as a \textbf{directive} and may cause |lhs2TeX| to take special actions. Directives are described in detail in Section~\ref{sec:directives}. \paragraph{\bf Special commands} % Some commands are treated specially, such as occurrences of the \TeX\ commands @\eval@, @\perform@, @\verb@ or of the \LaTeX\ environment @verbatim@. % The treatment of the @\eval@ and @\perform@ commands is covered in Section~\ref{sec:call-interp}. % The @\verb@ command and the @verbatim@ environment are intercepted by |lhs2TeX|, however, they will behave as they would without |lhs2TeX|. \paragraph{\bf Everything else} % Everything in the input file that does not fall into one of the above cases is is classified as \textbf{plain text} and will simply pass straight through |lhs2TeX|. %--------------------------------------------------------------------------- \section{Using |lhs2TeX| with style} \label{sec:styles} %--------------------------------------------------------------------------- In this section, we will walk though an example to illustrate how to utilize the styles of |lhs2TeX|. As we noted in Section~\ref{sec:about}, |lhs2TeX| operates in the \textbf{poly} style by default. Appendix~\ref{sec:deprecatedstyles} contains summaries of the more simplistic and deprecated styles: \textbf{verb}, \textbf{tt} and \textbf{math}. For each style, there will also be a short summary. Some of the points listed in the summary are simply defaults for the particular style and can actually be changed. %%% %%% \subsection{Achieving complex layouts with the ``poly'' style} The \textbf{poly} style permits multiple alignments and thus it is possible to construct complex layouts. The style supersedes the \textbf{math} style and lifts the alignment restrictions that the \textbf{math} style has. % We will demonstrate the \textbf{poly} style with the following example as our input to |lhs2TeX|: % \input{ZipPolyIn}% % This results in the following output: % \input{ZipPoly}% % If run in \textbf{poly} style, |lhs2TeX| produces \LaTeX\ code that makes use of the @polytable@ package, a package that has been specifically designed to fit the needs that arise while formatting Haskell code. (If you are interested in the package or think that it might be useful for other purposes, you are welcome to look at the documentation for @polytable@~\cite[also distributed with |lhs2TeX| as @polytable.pdf@ in the @polytable@ directory]{polytable}.) Beyond the advanced alignment options, \textbf{poly} style has all the functionality of its ancestor style. If \textbf{poly} style works for you, you should use it. \paragraph{``poly'' summary} \begin{compactitem} \item all formatting directives are obeyed \item conditionals and includes are handled \item inline verbatim is typeset as verbatim, whereas inline code and code blocks are typeset using a proportional font, using mathematical symbols to represent many Haskell operators. \item alignment can be flexibly specified; complex layouts are possible \item plain text is copied unchanged \end{compactitem} %%% %%% \subsection{Customizing the ``poly'' style} The following example demonstrates that the visual appearance of ``poly'' style is in no way dictated by |lhs2TeX|. There are several possibilities to modify the output by means of formatting directives. Here, we try to mimic the legacy \textbf{tt} style (see Section~\ref{sec:tt-style}) by choosing a typewriter font again and using the same symbols that are default in \textbf{tt} style. % \input{ZipPolyTT}% % The spaces in the code of the source file are \emph{not} preserved---the alignment is generated by the @polytable@ package. This is in contrast to the \textbf{tt} style we are imitating, where the spacing of the output is the spacing of the input. %%% %%% \subsection{Producing code with the ``code'' and ``newcode'' styles} These two styles are not for producing a \LaTeX\ source file, but instead are for producing a Haskell file again. Everything that is not code is thrown away. In addition, the \textbf{newcode} style has a few extra features. It applies formatting directives, which can be used as simple macros on the Haskell source level, and it generates line pragmas for the Haskell compiler that will result in error messages pointing to the original file (before processing with |lhs2TeX|). The plain \textbf{code} style does not have this extra functionality. Again, \textbf{code} is mainly intended for compatibility with old documents. You should use \textbf{newcode} where possible. \paragraph{``code'' summary} \begin{compactitem} \item formatting directives are ignored \item conditionals and includes are handled \item code blocks that are not specifications are copied unchanged \item plain text, inline code, specification code, and inline verbatim are discarded \end{compactitem} \paragraph{``new code'' summary} \begin{compactitem} \item all formatting directives are obeyed \item conditionals and includes are handled \item code blocks that are not specifications are, after applying formatting directives, copied unchanged and prefixed by a line pragma indicating the original source location of the code block \item plain text, inline code, specification code, and inline verbatim are discarded \end{compactitem} %%% %%% %--------------------------------------------------------------------------- \section{Directives} \label{sec:directives} %--------------------------------------------------------------------------- There are a number of directives that are understood by |lhs2TeX|. Some of these are specific to styles, and others are ignored in some styles. Directives can occur on all non-code lines and start with a @%@, the \TeX\ comment character, immediately followed by the name of the directive, plus a list of potential arguments. While |lhs2TeX| will remove directives that it has interpreted, it will simply ignore all normal \TeX\ comments that are no directives. Therefore, if a directive is accidentally misspelled, no error message will be raised, in general. Table~\ref{directives} is a complete list of the directives that |lhs2TeX| knows about. % \begin{table} \input{CompleteDirectives}% \caption{All |lhs2TeX| directives}\label{directives} \end{table} % Many of these directive will be explained in more detail in the following sections: \begin{compactitem} \item See Section~\ref{sec:include} for the @%include@ directive. \item See Section~\ref{sec:format} for the @%format@ directive. \item See Section~\ref{subsec:group-directive} for the @%{@ and @%}@ directives. \item See Section~\ref{subsec:poly-alignment} for the @%separation@ and @%latency@ directives. \item See Section~\ref{sec:variables} for the @%let@ directive. \item See Section~\ref{sec:conditionals} for the @%if@, @%elif@, @%else@ and @%endif@ directives. \item See Section~\ref{sec:call-interp} for the @%options@ directive. \item See Section~\ref{sec:subst} for the @%subst@ directive. \end{compactitem} %--------------------------------------------------------------------------- \section{Including files} \label{sec:include} %--------------------------------------------------------------------------- Other files can be included by |lhs2TeX|; this is what the @%include@ directive is for: % \input{IncludeSyntax}% % The specified file is searched for in the |lhs2TeX| source path, which can be modified using environment variables or the @-P@ command line option (see also page~\pageref{defaultsearchpath}). % The include directive causes the indicated file to be read and processed, exactly as if its contents had been inserted in the current file at that point. It is the |lhs2TeX| equivalent of the \TeX\ command @\input@. % The include mechanism of |lhs2TeX| is entirely independent of \TeX\ or Haskell includes/imports. \begin{important}[Warning] Although relative and absolute pathnames can be specified as part of a filename in an @%include@ directive, the use of this feature is strongly discouraged. Set the search path using the @-P@ command line option to detect files to include. \end{important} If the @-v@ command line flag is set, |lhs2TeX| will print the paths of the files it is reading on screen while processing a file. %%% %%% \subsection{The |lhs2TeX| ``prelude''} Several aspects of the behaviour of |lhs2TeX| are not hardcoded, but configurable via directives. As a consequence, a minimal amount of functionality has to be defined for |lhs2TeX| to be able to operate normally. Essential definitions are collected in the file @polycode.fmt@. You should include this file at the start of your document: % \input{PolyPrelude} % This is the appropriate prelude to use for the default \textbf{poly} style and the \textbf{newcode} style. If you intend to use one of the other styles, you should instead include the file @lhs2TeX.fmt@. % \input{IncludePrelude}% % The reason for this is that some of the defaults in @lhs2TeX.fmt@ are sub-optimal for the \textbf{poly} or \textbf{newcode} styles; the @polycode.fmt@ prelude file has been tailored specifically for them. One of the two files @lhs2TeX.fmt@ or @polycode.fmt@ should be included---directly or indirectly---in every file to be processed by |lhs2TeX|! % \begin{important}[Note to users of previous versions] There used to be a file @lhs2TeX.sty@ that also contained a part of the prelude declarations. This file still exists for compatibility reasons, but it is now deprecated; it should \emph{not} be included in any of your documents anymore. \end{important} % It is perfectly possible to design your own libraries that replace or extend these basic files and to include these libraries instead. It is not recommended, though, to edit @polycode.fmt@ or@lhs2TeX.fmt@ files directly. If you are not satisfied with some of the default definitions, create your own file to redefine selected parts. This way, if |lhs2TeX| is updated, you will still be able to benefit from improvements and changes in the `prelude' files. It is possible to use |lhs2TeX| in a setup where a \TeX\ document is split into several files. In this case, each of the files will be processed separately by |lhs2TeX|, so you should must include @polycode.fmt@ (or @lhs2TeX.fmt@) in every single source file. \begin{important}[Warning] Note that both @polycode.fmt@ and @lhs2TeX.fmt@ contain |lhs2TeX| directives, and therefore \emph{cannot} be included using \TeX\ or \LaTeX\ include mechanisms such as @\input@ or @\usepackage@. \end{important} %%% %%% % End of introduction part -- begin of reference %%% %%% %%% %%% %%% %%% %--------------------------------------------------------------------------- \section{Formatting} \label{sec:format} %--------------------------------------------------------------------------- The @%format@ directive is a powerful tool for transforming the source file. The complete syntax that is supported by |lhs2TeX| is quite complex, but we will break it down by looking in detail at many different use cases. % \input{FormatSyntax}% % There are three different forms of the formatting statement. The first can be used to change the appearance of most functions and operators and a few other symbols (cf. Section~\ref{subsec:format-single}). The second form is restricted to named identifiers (both qualified and unqualified, but no symbolic operators); in turn, such formatting directives can be parametrized (cf. Section~\ref{subsec:format-param}). Finally, the third form provides a syntactically lightweight way of formatting certain identifiers using some heuristics (cf. Section~\ref{subsec:format-implicit}). Let us begin by looking at the first form. %%% %%% \subsection{Formatting single tokens} \label{subsec:format-single} The most important use for @%format@ is to assign a symbol to an identifier or an operator. The input % \input{FormatGreekIn}% % produces output similar to the following: % \input{FormatGreekOut}% % The occurrences of @alpha@ within the Haskell code portions of the input file are replaced by the \TeX\ command @\alpha@ and thus appear as ``$\alpha$'' in the output. A lot of formatting directives for frequently used identifiers or operators are already defined in the |lhs2TeX| prelude. For instance, @++@ is formatted as ``|++|'', @undefined@ is formatted as ``|undefined|'', and @not@ is formatted as ``|not|''. If you look at @lhs2TeX.fmt@, you will find the following directives that do the job: % \input{FormatIdentifierExamples}% % Here, @\plus@ refers to a \LaTeX\ macro defined in the lhs2\TeX\ prelude: % \input{PlusDefinition}% % If you are not satisfied with any of the default definitions, just redefine them (by overriding, not replacing them). A @%format@ directive scopes over the rest of the input, and if multiple directives for the same token are defined, the last one is used. Thus, after % \input{FormatIdentifierRedefs}% %{ %format ++ = "\mathbin{\mathbf{+}}" %format undefined = "\Varid{undefined}" %format not = "!" you get ``|++|'', ``|undefined|'', and ``|not|'', respectively. Note that @\Varid@ is a macro defined in the lhs2\TeX\ prelude that can be used to typeset identifier names. It is predefined to be the same as @\mathit@, but can be changed. Do not use identifier names in \TeX\ replacements directly. For instance, % \input{FormatIdentifierWrong}% %{ %format undefined = "undefined" will cause @undefined@ to be typeset as ``|undefined|'', which looks by far less nice than %} ``|undefined|''. %} It is also possible to define a symbol for infix uses of a function. The file @lhs2TeX.fmt@ contains: % \input{FormatElem}% % This causes @2 `elem` [1,2]@ to be typeset as ``|2 `elem` [1,2]|'', whereas @elem 2 [1,2]@ will still be typeset as ``|elem 2 [1,2]|''. %%% %%% \subsection{Nested formatting} The right hand sides of formatting directives are not restricted to (\TeX-)strings. They can in fact be sequences of such strings or other tokens, separated by space. Such other tokens will be replaced by their formatting again. For example, if you have already defined a specific formatting % \input{FormatArrow}% %format ~> = "\leadsto " then you can later reuse that formatting while defining variants: % \input{FormatArrow2}% %format ~>* = ~> "^{" * "}" As you can see, in this definition we reuse both the current formatting for @~>@ and for @*@. We now get ``|~>*|'' for @~>*@, but should we decide to define % \input{FormatStar}% %format * = "\star " later, we then also get ``|~>*|''. Of course, you can use the same mechanism for non-symbolic identifiers: % \input{FormatId}% %{ %format new = "\mathbf{new}" %format text0 = text %format text_new = text "_{" new "}" will cause @text0@ to be typeset as ``|text0|'', and @text_new@ will appear as ``|text_new|''. %} \begin{important}[Warning] There is no check for recursion in the formatting directives. Formatting directives are expanded on-demand, therefore a directive such as % \input{FormatRecurse}% % will not produce ``$\mathsf{text}$'' for @text@, but rather cause an infinite loop in |lhs2TeX| once used. \end{important} %%% %%% \subsection{Parametrized formatting directives} \label{subsec:format-param} Formatting directives can be parametrized. The parameters may occur one or more times on the right hand side. This form of the format directive is only available for alphanumeric identifiers. For example, the input % \input{CardIn}% % produces output similar to % \begin{colorsurround} \input{Card} \end{colorsurround} % If the function is used with too few arguments as in the text, a default symbol is substituted (usually a @\cdot@, but that is customizable, cf. Section~\ref{sec:subst}). %%% %%% \subsection{(No) nesting with parametrized directives} You cannot use a parametrized directive on the right hand side of another directive. In summary, the right-hand sides of formatting directives are processed as follows: % \begin{compactitem} \item A string, enclosed in @"@, will be reproduced literally (without the quotes). \item A name, if it is the name of a parameter, will be replaced by the actual (formatted) argument. \item A name, if it is the name of a non-parametrized formatting directive, will be replaced by that directive's replacement. \item Any other name will be replaced by its standard formatting. \end{compactitem} % Note that the spaces between the tokens do not occur in the output. If you want spaces, insert them explicitly with quotes. %%% %%% \subsection{Parentheses} Sometimes, due to formatting an identifier as a symbol, parentheses around arguments, or the entire function, become unnecessary. Therefore, |lhs2TeX| can be instructed to drop parentheses around an argument by enclosing the argument on the left hand side of the directive in parentheses. Parentheses around the entire function are dropped if the entire left hand side of the directive is enclosed in parentheses. Let us look at another example: % \input{ParensExampleIn}% % The above input produces the following output: % \begin{colorsurround} \input{ParensExample} \end{colorsurround} % In the first line there are no parentheses to drop. In the second line, the parentheses around the arguments @a@ and @b@ are dropped, as are the parentheses around the function @ptest@. In the third line, the source has double parentheses around each argument as well as the function. One set of parentheses are dropped in each case, except for the @b@ argument. Note that in this example, a special purpose operator, @^^@, is used to facilitate the insertion of spaces on the right hand side of a formatting directive. You can read more about influencing spacing using formatting directives in Section~\ref{spacing}. Let us consider another example involving parentheses with the following input: % \input{ParensExample2In}% % This results in % \begin{colorsurround} \input{ParensExample2} \end{colorsurround} % In the second format directive we have redefined the eval function to drop the redundant parentheses. %%% %%% \subsection{Local formatting directives} \label{subsec:group-directive} Usually, formatting directives scope over the rest of the input. If that is not desired, formatting directives can be placed into \textbf{groups}. Groups look as follows: % \input{GroupSyntax}% % Formatting directives that are defined in a group only scope over the remainder of that group. Groups can also be nested. (Groups in |lhs2TeX| do not interact with \TeX\ groups, so these different kinds of groups do not have to occur properly nested.) Let us demonstrate the effect of groups with the following example input: % \input{GroupExampleIn}% % This is appears as: % \begin{colorsurround} \input{GroupExample}% \end{colorsurround} % On the first line, the string ``one'' has been formatted in italics as |lhs2TeX| has treated it, by default, as a Haskell identifier. On the second line of output, the first format directive from the source file has come into effect, so ``one'' has been rendered as a numeral in a sans-serif font. On the third line, the corresponding source is inside the group and second formatting directive is in effect. Thus, ``one'' has been rendered in a sans-serif font. Finally, on the fourth line, the group has closed, along with the scope of the second format directive. The original format directive applies again (as its scope extends to the end of the source file), thus, ``one'' has again been rendered as a numeral in a sans-serif font. %%% %%% \subsection{Implicit formatting} \label{subsec:format-implicit} The third syntactic form of the formatting directive, which lacks a right hand side, can be used to easily format a frequently occurring special case, where a token is to be given a numeric subscript, or is primed. % Only a variable (or constructor) name that ends in a number or a prime @'@ can be used in an implicit formatting statement. The prefix will then be formatted as determined by the formatting directives in the input so far. The number will be added as an index, the prime character as itself. Let us demonstrate implicit formatting with the follow input: % \input{ImplicitIn}% % The corresponding output is: % \begin{colorsurround} \input{Implicit}% \end{colorsurround} Another form of implicit formatting only takes place only if the token to be formatted does not end in primes, and only if digits at the end are immediately preceded by an underscore. The reason for these conditions is compatibility. If the conditions are met, then the token is split at underscores, and the part to the right of an underscore is typeset as subscript to the part on the left, recursively. Again, let us look at an example: % \input{ImplicitUnderscoreIn}% % And its output: % \begin{colorsurround} \input{ImplicitUnderscore}% \end{colorsurround} %%% %%% \subsection{Formatting behaviour in different styles} \begin{compactitem} \item Formatting directives are applied in \textbf{math}, \textbf{poly}, and \textbf{newcode} styles. \item In \textbf{tt} style, only non-parametrized directives apply. \item In \textbf{verb} and \textbf{code} styles, formatting directives are ignored. \end{compactitem} % A document can be prepared for processing in different styles using conditionals (cf.~Section~\ref{sec:conditionals}). %%% %%% %--------------------------------------------------------------------------- \section{Alignment in ``poly'' style} %--------------------------------------------------------------------------- While the ability to transform the appearance of the source file is probably the most important feature of |lhs2TeX|, certainly the next most important is the ability to maintain alignment of code elements, while using a proportional font. Using this feature is relatively simple: % \begin{compactitem} \item Alignment is computed per code block. \item All tokens that start on the same column and are preceded by at least \textbf{2} spaces will appear beginning from the same vertical axis in the output. \end{compactitem} % Using these simple rules, (almost) everything is possible, but it is very important to verify the results and watch out for accidental alignments (i.e.~tokens that get aligned unintentionally). %%% %%% \subsection{An example} The following example shows some of the potential. This is the input: % \input{RepAlgIn}% % Look at the highlighted (gray) tokens. The @lt@ will not appear aligned with the two equality symbols, because it is preceded by only one space. Similarly, the @m@ in the first line after the @Leaf@ constructor will not be aligned with the declarations and the body of the let-statement, because it is preceded by only one space. Note furthermore that the equality symbols for the main functions @rep_alg@ and @replace_min'@ are surrounded by two spaces on both sides, also on the right. This causes the comma and the closing parenthesis to be aligned correctly. % The output looks as follows: % \input{RepAlg}% %%% %%% \subsection{Accidental alignment} The main danger of the alignment heuristic is that it may result in some tokens being aligned unintentionally. The following example contains illustrates this possibility: % \input{AccidentalIn}% % The gray tokens will be unintentionally aligned because they start on the same column, with two or more preceding spaces each. The output looks as follows: % \input{Accidental}% % The ``|::|'' and the ``|=|'' have been aligned with the declarations of the where-clause. This results in too much space between the two |options| tokens and the symbols. Another problems is that in this case the \emph{centering} of the two symbols is destroyed by the alignment (cf. Section~\ref{centering}). As a result, ``|::|'' and ``|=|'' appear left-aligned, but not cleanly, because \TeX\ inserts a different amount of whitespace around the two symbols. The solution to all this is surprisingly simple: just insert extra spaces in the input to ensure that unrelated tokens start on different columns: % \input{AccidentalCIn}% % This produces the correct output: \input{AccidentalC}% %%% %%% \subsection{The full story} \label{subsec:poly-alignment} If you want to customize the alignment behaviour further, you can. Here is exactly what happens: % \begin{compactitem} \item Alignment is computed per code block. \item Per code block there are a number of \textbf{alignment columns}. \item If a token starts in column |n| and is prefixed by at least ``\emph{separation}'' spaces, then |n| is an \textbf{alignment column} for the code block. \item If a token starts in an alignment column |n| and is prefixed by at least ``\emph{latency}'' spaces, then the token is \textbf{aligned} at column |n|. \item All tokens that are aligned at a specific column will appear aligned (i.e. at the same horizontal position) in the output. \end{compactitem} % Both latency and separation can be modified by means of associated directives: % \input{SepLatSyntax}% % It can occasionally be useful to increase the default settings of 2 and 2 for large code blocks where accidental alignments can become very likely! It does not really make sense to set latency to a value that is strictly smaller than the separation, but you can do so---there are no checks that the specified settings are sensible. %%% %%% \subsection{Indentation in ``poly'' style} Sometimes, |lhs2TeX| will insert additional space at the beginning of a line to reflect indentation. The rule is as follows. If a line is indented in column |n|, then the \emph{previous} code line is taken into account: % \begin{compactitem} \item If there is an aligned token at column |n| in the previous line, then the indented line will be aligned normally. \item Otherwise, the line will be indented with respect to the first aligned token in the previous line to the left of column |n|. \end{compactitem} The first example demonstrates the first case: % \input{Indent1In}% % In this example, there is an aligned token in the previous line at the same column, so everything is normal. The two highlighted parentheses are aligned, causing the second line to be effectively indented: % \input{Indent1}% % The next example demonstrates the second case. It is the same example, with one space before the two previously aligned parentheses removed: % \input{Indent2In}% % Here, there is no aligned token in the previous line at the same column. Therefore, the third line is indented with respect to the first aligned token in the previous line to the left of that column, which in this case happens to be the @xs@: % \input{Indent2}% % Sometimes, this behaviour might not match the intention of the user, especially in cases as above, where there really starts a token at the same position in the previous line, but is not preceded by enough spaces. Always verify the output if the result looks as desired. The amount of space that is inserted can be modified. A call to the \TeX\ control sequence @\hsindent@ is inserted at the appropriate position in the output, which gets as argument the column difference in the source between the token that is indented, and the base token. In the situation of the above example, the call is @\hsindent{12}@. The default definition in the lhs2\TeX\ prelude ignores the argument and inserts a fixed amount of space: % \input{HsIndent}% Here is another example that shows indentation in action, the Haskell standard function |scanr1| written using only basic pattern matching: % \input{Indent2aIn}% % And the associated output: % \input{Indent2a}% % The third line, which begins with |x:xs|, is an indented line, but it does not start at an alignment column from the previous line. Thus, the second rule applies and it is indented relative to the first aligned token to the left in the previous line, which is |case|. The same explanation applies for the pattern |[]|. The indentation of the line beginning with |_| is an example of the first rule. It is indented so as to be aligned with the token |[]|. %%% %%% \subsection{Interaction between alignment and indentation} In rare cases, the indentation heuristic can lead to surprising results. This is an example: \input{Indent3In}% And its output: \input{Indent3}% Here, the large amount of space between |test| and |1| might be surprising. However, the |1| is aligned with the |2|, but |2| is also indented with respect to |bar|, so everything is according to the rules. The ``solution'' is to verify if both the alignment between |1| and |2| and the indentation of the |2| are intended, and to remove or add spaces accordingly. %%% %%% \subsection{Interaction between alignment and formatting} If a token at a specific column is typeset according to a formatting directive, then the first token of the replacement text inherits the column position of the original token. The other tokens of the replacement text will never be aligned. Actual arguments of parametrized formatting directives keep the column positions they have in the input. %%% %%% \subsection{Centered and right-aligned columns}\label{centering} Under certain circumstances |lhs2TeX| decides to typeset a column centered instead of left-aligned. This happens if the following two conditions hold: \begin{compactitem} \item There is \emph{at most one} token per line that is associated with the column. \item \emph{At least one} of the tokens associated with the column is a symbol. \end{compactitem} In most cases, this matches the intention. If it does not, there still might be the possibility to trick |lhs2TeX| to do the right thing: \begin{compactitem} \item Change the alignment behaviour of the column using @\aligncolumn@ (see below). \item If the column is centered but should not be, add extra tokens that are formatted as nothing that will be associated with the column (see also Section~\ref{spacing} about spacing). \item If the column should be centered but is left-aligned, it is sometimes possible to use a symbol instead of an alphanumeric identifier, and add a formatting directive for that newly introduced symbol. \end{compactitem} The syntax of the @\aligncolumn@ command is: \input{AlignColumnSyntax}% % The above file also contains some additional documentation. TODO: ADD EXAMPLE!! %%% %%% \subsection{Saving and restoring column information} It is possible to share alignment information between different code blocks. This can be desirable, especially when one wants to interleave the definition of a single function with longer comments. This feature is implemented on the \TeX\ level (the commands are defined in the lhs2\TeX\ prelude). Here is an example of its use: \input{SaveRestoreIn}% As output we get: \begin{colorsurround} \input{SaveRestore} \end{colorsurround} Compare this to the output that would be generated without the @\savecolumns@ and @\restorecolumns@ commands: \begin{colorsurround} \input{SaveRestoreNo} \end{colorsurround} \begin{important} If this feature is used, it may require several runs of \LaTeX\ until all code blocks are correctly aligned. Watch out for warnings of the @polytable@ package that tell you to rerun \LaTeX! \end{important} %--------------------------------------------------------------------------- \section{Defining variables} \label{sec:variables} %--------------------------------------------------------------------------- One can define or define flags (or variables) by means of the @%let@ directive. \input{LetSyntax}% Expressions are built from booleans (either @True@ or @False@), numerals (integers, but also decimal numbers) and previously defined variables using some fixed set of builtin operators. The expression will be evaluated completely at the time the @%let@ directive is processed. If an error occurs during evaluation, |lhs2TeX| will fail. Variables can also be passed to |lhs2TeX| from the operating system level by using the @-l@ or @-s@ command line options. The main use of variables is in conditionals (cf.~Section~\ref{sec:conditionals}). At the moment, there is no way to directly use the value of a variable in a @%format@ directive. %%% %%% \subsection{Predefined variables} In every run of |lhs2TeX|, the version of |lhs2TeX| is available as a numerical value in the predefined variable @version@. Similarly, the current style is available as an integer in the predefined variable @style@. There also are integer variables @verb@, @tt@, @math@, @poly@, @code@, and @newcode@ predefined that can be used to test @style@. It is thus possible to write documents in a way that they can be processed beautifully in different styles, or to make safe use of new |lhs2TeX| features by checking its version first. %%% %%% %--------------------------------------------------------------------------- \section{Conditionals} \label{sec:conditionals} %--------------------------------------------------------------------------- Boolean expressions can be used in conditionals. The syntax of an |lhs2TeX| conditional is \input{IfSyntax}% where the @%elif@ and @%else@ directives are optional. There may be arbitrarily many @%elif@ directives. When an @%if@ directive is encountered, the expression is evaluated, and depending on the result of the evaluation of the expression, only the then or only the else part of the conditional is processed by |lhs2TeX|, the other part is ignored. %%% %%% \subsection{Uses of conditionals} These are some of the most common uses of conditionals: \begin{compactitem} \item One can have different versions of one paper in one (set of) source file(s). Depending on a flag, |lhs2TeX| can produce either the one or the other. Because the flag can be defined via a command line option (cf.~Section~\ref{sec:variables}), no modification of the source is necessary to switch versions. \item Code that is needed to make the Haskell program work but that should not appear in the formatted article (module headers, auxiliary definitions), can be enclosed between @%if False@ and @%endif@ directives. \item Alternatively, if Haskell code has to be annotated for |lhs2TeX| to produce aesthetically pleasing output, one can define different formatting directives for the annotation depending on style (\textbf{poly} or \textbf{newcode}). Both code and \TeX\ file can then still be produced from a common source! Section~\ref{generichaskell} contains an example that puts this technique to use. \end{compactitem} The lhs2\TeX\ library files use conditionals to include different directives depending on the style selected, but they also use conditionals to provide additional or modified behaviour if some flags are set. These flags are @underlineKeywords@, @spacePreserving@, @meta@ (activate a number of additional formatting directives), @array@ (use @array@ environment instead of @tabular@ to format code blocks in \textbf{math} style; use @parray@ instead of @pboxed@ in \textbf{poly} style), @latex209@ (adapt for use with \LaTeX\ 2.09 (not supported anymore)), @euler@, and @standardsymbols@. %TODO: document the purpose of these flags better. It is likely that these flags will be replaced by a selection of library files that can be selectively included in documents in future versions of |lhs2TeX|. %%% %%% %--------------------------------------------------------------------------- \section{Typesetting code beyond Haskell} %--------------------------------------------------------------------------- \subsection{Spacing}\label{spacing} There is no full Haskell parser in |lhs2TeX|. Instead, the input code is only lexed and subsequently parsed by an extremely simplified parser. The main purpose of the parser is to allow a simple heuristic where to insert spaces into the output while in \textbf{math} or \textbf{poly} style. The disadvantage is that in rare cases, this default spacing produces unsatisfying results. However, there is also a big advantage: dialects of Haskell can be processed by |lhs2TeX|, too. In theory, even completely different languages can be handled. The more difference between Haskell and the actual input language, the more tweaking is probably necessary to get the desired result. An easy trick to modify the behaviour of |lhs2TeX| is to insert ``dummy'' operators that do not directly correspond to constructs in the input language, but rather provide hints to |lhs2TeX| on how to format something. For instance, spacing can be guided completely by the following two formatting directives: \input{SpacingOps}% Use @^@ everywhere where \emph{no} space is desired, but the automatic spacing of |lhs2TeX| would usually place one. Conversely, use @^^@ everywhere where a space \emph{is} desired, but |lhs2TeX| does usually not place one. As described in Section~\ref{sec:conditionals}, one can use conditionals to format such annotated input code in both \textbf{poly} (or \textbf{math}) and \text{newcode} style to generate both typeset document and code with annotation remove from a single source file. For this to work correctly, one would define \input{SpacingOpsCond}% as an extended version of the above. This instructs |lhs2TeX| to ignore @^@ and replace @^^@ by a single space while in \textbf{newcode} style, and to adjust spacing in other styles, as before. The examples in the following subsections show these directives in use. %%% %%% \subsection{Inline \TeX} Another possibility that can help to trick |lhs2TeX| into doing things it normally doesn't want to is to insert inline \TeX\ code directly into the code block by using a special form of Haskell comment: \input{InlineTeXSyntax}% % The above file also contains some additional documentation. The advantage of this construct over a dummy operator is that if the input language is indeed Haskell, one does not need to sacrifice the syntactic validity of the source program for nice formatting. On the other hand, inline \TeX\ tends to be more verbose than an annotation using a formatting directive. %%% %%% \subsection{{\smaller AG} code example} Here is an example that shows how one can typeset code of the Utrecht University Attribute Grammar ({\smaller UUAG}) (\cite{uuag}) system, which is based on Haskell, but adds additional syntactic constructs. The input \input{AGExampleIn}% produces the following output: \input{AGExample} %%% %%% \subsection{Generic Haskell example}\label{generichaskell} Another example of a Haskell variant that can be typeset using |lhs2TeX| using some annotations is Generic Haskell~\cite{gh}. This is a possible input file, including the directives necessary to be able to process it in both \textbf{newcode} and \textbf{poly} style. \input{GHExampleIn}% Processed in \textbf{poly} style, the output looks as follows: \input{GHExample}% %%% %%% \subsection{Calculation example} The following example shows a calculational proof. The input \input{CalcExampleIn}% produces \input{CalcExample}% %%% %%% %--------------------------------------------------------------------------- \section{Calling @hugs@ or @ghci@} \label{sec:call-interp} %--------------------------------------------------------------------------- It is possible to call @ghci@ or @hugs@ using the @%options@ directive. In all but the two \textbf{code} styles, |lhs2TeX| looks for calls to the \textbf{\TeX\ commands} @\eval@ and @\perform@ and feeds their arguments to the Haskell interpreter selected. The current input file will be the active module. This has a couple of consequences: on the positive side, values defined in the current source file may be used in the expressions; on the negative side, the feature will only work if the current file is accepted as legal input by the selected interpreter. If the command line in the @%options@ directive starts with @ghci@, then |lhs2TeX| assumes that @ghci@ is called; otherwise, it assumes that @hugs@ is called. Depending on the interpreter, |lhs2TeX| will use some heuristics to extract the answer from the output of the interpreter. After this extraction, the result will either be printed as inline verbatim (for a @\perform@) or as inline code (for @\eval@), to which formatting directives apply. \begin{important}[Warning] This feature is somewhat fragile: different versions of @ghci@ and @hugs@ show different behaviour, and the extraction heuristics can sometimes fail. Do not expect too much from this feature. \end{important} %%% %%% \subsection{Calling @ghci@ -- example} The following input shows an example of how to call @ghci@: \input{InteractiveGhciIn}% The option @-fglasgow-exts@ is necessary to make @ghci@ accept the @forall@ keyword (it only serves as an example here how to pass options to the interpreter). The output will look similar to this: \begin{colorsurround} \input{InteractiveGhci} \end{colorsurround} Note that it is possible to pass interpreter commands such as @:t@ to the external program. %(ADAPT EXAMPLE TO SHOW THIS:) %Note furthermore the difference %in output between an @\eval@ and a @\perform@ command. %%% %%% \subsection{Calling @hugs@ -- example} The same could be achieved using @hugs@ instead of @ghci@. For this simple example, the output is almost indistinguishable, only that @hugs@ usually does not print type signatures using explicit quantification and tends to use different variable names. \input{InteractiveHugsIn}% The input is the same except for the changed @%options@ directive. The output now looks as follows: \begin{colorsurround} \input{InteractiveHugs} \end{colorsurround} %%% %%% \subsection{Using a preprocessor} The situation is more difficult if the current |lhs2TeX| source file is not valid input to the interpreter, because annotations were needed to format some Haskell extensions satisfactory. The following input file makes use of Template Haskell, and uses the formatting directives for both \textbf{newcode} and \textbf{poly} style. The @%options@ directive instructs @ghci@ to use |lhs2TeX| itself as the literate preprocessor, using the @-pgmL@ option of @ghci@. The |lhs2TeX| binary itself acts as a suitable literate preprocessor if the @--pre@ command line option is passed, which is achieved using the @-optL--pre@ option: \input{InteractivePreIn}% This is the corresponding output: \begin{colorsurround} \input{InteractivePre} \end{colorsurround} %--------------------------------------------------------------------------- \section{Advanced customization} \label{sec:subst} %--------------------------------------------------------------------------- There is one directive that has not yet been described: @%subst@. This directive is used by |lhs2TeX| to customize almost every aspect of its output. The average user will and should not need to use a @%subst@ directive, but if one wants to influence the very nature of the code generated by |lhs2TeX|, the @%subst@ directives provide a way to do it. If one would, for instance, want to generate output for another \TeX\ format such as plain\TeX\ or Con\TeX t, or if one would want to use a different package than @polytable@ to do the alignment on the \TeX\ side, then the @%subst@ directives are a good place to start. The default definitions can be found in @lhs2TeX.fmt@. Table~\ref{substs} shows only a short description of the approximate use of each of the categories. \begin{table} \centering \begin{colorsurround} \begin{tabularx}{\linewidth}{lX} @thinspace@ & how to produce a small quantity of horizontal space \\ @space@ & how to produce a normal horizontal space \\ @newline@ & how to produce a new line inside a code block \\ @verbnl@ & how to produce a new line in |lhs2TeX| generated verbatim \\ @blankline@ & how to translate a blank line in a code block \\ @dummy@ & how to display a missing argument in a formatted function \\ @spaces@ |a| & how to format the whitespace contained in |a| \\ @special@ |a| & how to format the special character |a| \\ @verb@ |a| & how to format the (already translated) inline verbatim text~|a| \\ @verbatim@ |a|& how to format an (already translated) verbatim block |a| \\ @inline@ |a| & how to format (already translated) inline code |a| \\ @code@ |a| & how to format an (already translated) code block |a| \\ @conid@ |a| & how to format an identifier starting with an upper-case character |a| \\ @varid@ |a| & how to format an identifier starting with a lower-case character |a| \\ @consym@ |a| & how to format a constructor symbol |a| \\ @varsym@ |a| & how to format a variable symbol |a| \\ @backquoted@ |a| & how to format a backquoted operator |a| \\ @numeral@ |a| & how to format a numeral |a| \\ @char@ |a| & how to format a character literal |a| \\ @string@ |a| & how to format a literal string |a| \\ @comment@ |a| & how to format an (already translated) one-line comment |a| \\ @nested@ |a| & how to format an (already translated) nested comment |a| \\ @pragma@ |a| & how to format an (already translated) compiler pragma |a| \\ @tex@ |a| & how to format inlines \TeX\ code \\ @keyword@ |a| & how to format the Haskell keyword |a| \\ @column1@ |a| & how to format an (already translated) line |a| in one column in \textbf{math} style \\ @hskip@ |a| & how to produce a horizontal skip of |a| units \\ @phantom@ |a| & how to produce horizontal space of the width of the (already translated) text |a| \\ @column3@ |a| & how to format an (already translated) line |a| in three columns in \textbf{math} style \\ @fromto@ |b e a| & how to format a column starting at label |b|, ending at label |e|, containing the (already translated) code |a| in \textbf{poly} style \\ @column@ |n a| & how to define a column of label |n| with (already processed) format string |a| in \textbf{poly} style \\ @centered@ & the format string to use for a centered column \\ @left@ & the format string to use for a left-aligned column \\ @dummycol@ & the format string to use for the dummy column (a column that does not contain any code; needed due to deficiencies of the @polytable@ implementation) \\ @indent@ |n| & how to produce an indentation (horizontal space) of |n| units \\ \end{tabularx} \end{colorsurround} \caption{A short description of the @%subst@ directives}\label{substs} \end{table} %%% %%% % %--------------------------------------------------------------------------- % \section{Implementation and distribution} % %--------------------------------------------------------------------------- % % \begin{compactitem} % \item |lhs2TeX| is written in Haskell % \item \textbf{poly} style makes use of a specifically written \LaTeX\ package % @polytable@, which is included in the distribution % \item License is {\smaller GPL}. % \item There has not been an official release for a long time, so get the % most recent version from {\smaller CVS} (or subversion soon). % \item It does work on Unix-alikes. It should work on Windows/Cygwin, and % on native Windows with minor modifications -- help welcome. % \item It has been used for several recent papers and seems to be quite stable. % \end{compactitem} % % %%% % %%% % % %--------------------------------------------------------------------------- % \section{Future work} % %--------------------------------------------------------------------------- % % \begin{compactitem} % \item More language independence (customizable lexer). % \item Clean up (and extend) the formatting directives language. % \item Allow directives during code blocks. % \item Add more features to @polytable@ package. % \item \dots % \end{compactitem} % Future development is relatively low priority, though. % If you want it, do it yourself or try to convince me % that it is urgent! \newenvironment{problem}% {\medskip\par\noindent\bfseries\ignorespaces}{\ignorespacesafterend} %%% %%% % \section{History of |lhs2TeX|} % % \begin{compactitem} % \item Ralf Hinze started development in 1997. Most of the hard work has % been done by him! % \item The program is based on @smugweb@ and @pphs@, both of which are % no longer available and I do not know. % \item I picked up development in 2002, and added % the \textbf{poly} and \textbf{newcode} styles. % %\item Future: I consider the \textbf{tt} and \textbf{math} styles as deprecated, % % I want to add more language independence (customizable lexer) and % % extend/improve the formatting language. % \end{compactitem} %--------------------------------------------------------------------------- \section{Pitfalls/FAQ} %--------------------------------------------------------------------------- \begin{problem} The document consists of multiple files. Can |lhs2TeX| be used? \end{problem} One option is to use @%include@ rather than \LaTeX\ commands to include all files in the master file. The other is to process all files that contain code \emph{and} the master file with |lhs2TeX|. All files to be processed with |lhs2TeX| must contain an @%include lhs2TeX.fmt@ (or @%include polycode.fmt@) statement. From version 1.11 on, including @lhs2TeX.sty@ is no longer necessary. \begin{problem} Yes, but the master file should be pure \LaTeX. \end{problem} Create a file @mylhs2tex.lhs@ with just one line, namely @%include lhs2TeX.fmt@. Process that file with |lhs2TeX|, using the options you also use for the other included files. Call the resulting file @mylhs2tex.sty@ and say @\usepackage{mylhs2tex}@ at the beginning of your master file. \begin{problem} The spacing around my code blocks is bad (nonexistent) in ``\textbf{poly}'' style. \end{problem} Add the line @%include polycode.fmt@ to the preamble of your document. \begin{problem} \LaTeX\ complains when using |lhs2TeX| in ``\textbf{poly}'' style with the @beamer@ package. \end{problem} Add the line @%include polycode.fmt@ to the preamble of your document. \begin{problem} \LaTeX\ complains when using |lhs2TeX| in ``\textbf{poly}'' style with the @jfp@ class. \end{problem} Add the line @%include jfpcompat.fmt@ to the preamble of your document. \begin{problem} \LaTeX\ claims that the package @polytable@ (or @lazylist@) cannot be found, or that the version installed on your system is too old. \end{problem} Did you install @polytable.sty@ (or @lazylist.sty@) in your \TeX\ system manually? If you have absolutely no idea how to do this, you may try to copy both @polytable.sty@ and @lazylist.sty@ from the |lhs2TeX| distribution into your working directory. \begin{problem} Haskell strings are displayed without double quotes. \end{problem} This is a result from using an old @lhs2TeX.fmt@ file together with a new version of |lhs2TeX|. Usually, this stems from the fact that there is an old version in the working directory. Now, |lhs2TeX| maintains a search path for included files, thus usually a local old copy of @lhs2TeX.fmt@ can be removed. \begin{problem} In ``math'' style, I have aligned several symbols on one column, but |lhs2TeX| still won't align the code block. \end{problem} Did you set the alignment column correctly using the @%align@ directive? Note also that |lhs2TeX| starts counting columns beginning with |1|, whereas some editors might start counting with |0|. \begin{problem} Large parts of the formatted file look completely garbled. Passages are formatted as code or verbatim, although they are plain text. Conversely, things supposed to be code or verbatim are typeset as text. \end{problem} You probably forgot multiple @|@ or \verb+@+ characters. Because |lhs2TeX| identifies both the beginning and end of inline code or inline verbatim via the same character, one missing delimiter can confuse |lhs2TeX| and cause large passages to be typeset in the wrong way. You should locate the first position in the document where something goes wrong and look for a missing delimiter at the corresponding position in the source file. \begin{problem} \LaTeX\ complains about a ``nested @\fromto@'' in ``poly'' style. \end{problem} This usually is a problem with one of your formatting directives. If you start a \TeX\ group in one of your directives but do not close it, then this error arises. You should not write such unbalanced formatting directives unless you make sure that they do never span an aligned column. %TODO: Write example. \begin{thebibliography}{99} \bibitem{polytable} Andres L\"oh. \emph{The @polytable@ package.} \url{http://ctan.org/tex-archive/macros/latex/contrib/polytable/} \bibitem{lazylist} Alan Jeffrey. \emph{The @lazylist@ package.} \url{http://ctan.org/tex-archive/macros/latex/contrib/lazylist/} \bibitem{uuag} Arthur Baars, S.~Doaitse Swierstra, Andres L\"oh. \emph{The UU AG System User Manual.} \url{http://www.cs.uu.nl/~arthurb/data/AG/AGman.pdf} \bibitem{array} Frank Mittelbach and David Carlisle. \emph{The @array@ package.} \url{http://www.ctan.org/tex-archive/macros/latex/required/tools/array.dtx} \bibitem{gh} Andres L\"oh. \emph{Exploring Generic Haskell.} PhD Thesis, Utrecht University, 2004. \bibitem{hackage} Hackage \url{http://hackage.haskell.org} \bibitem{platform} The Haskell Platform. \url{http://hackage.haskell.org/platform/} \end{thebibliography} \appendix \newpage %--------------------------------------------------------------------------- \section{Deprecated styles} \label{sec:deprecatedstyles} %--------------------------------------------------------------------------- In this Appendix, we will cover the styles that were omitted from Section~\ref{sec:styles}. We will demonstrate them with the same common example. As before, each style will include a short summary. Some of the points listed in the summary are simply defaults for the particular style and can actually be changed. \subsection{Verbatim: ``verb'' style} In \textbf{verb} style, the code shows up in the formatted document exactly as it has been entered, i.e. verbatim. All spaces are preserved, and a non-proportional font is used. \input{Zip}% One does not need |lhs2TeX| to achieve such a result. This style, however, does not make use of an internal \TeX\ verbatim construct. The implementation of verbatim environments in \TeX\ is somewhat restricted, and the preprocessor approach may prove more flexible in some situations. For example, it is easier to apply additional formatting instructions to the output as a whole, such as placing the code in a colored box. \paragraph{Verbatim summary} \begin{compactitem} \item formatting directives are ignored \item conditionals and includes are handled \item inline code, inline verbatim, and code blocks are all typeset completely verbatim, using a typewriter font \item all spaces in code blocks are preserved \item plain text is copied unchanged \end{compactitem} %%% %%% \subsection{Space-preserving formatting with ``tt'' style} \label{sec:tt-style} The \textbf{tt} style is very similar to \textbf{verb} style, but applies a tiny bit of formatting to the code and allows for more customizabilty: \input{ZipTT}% By default, some of the Haskell symbols are expressed more naturally. For instance, special symbols are being used for the arrows or the lambda. In addition, the user can specify additional formatting directives to affect the appearance of certain identifiers. In this way, keywords can be highlighted, user-defined Haskell infix operators can be replaced by more appropriate symbols etc. In this style, the layout and all spaces from the source file are still preserved, and a non-proportional font is used, as in \textbf{verb} style. \paragraph{Typewriter summary} \begin{compactitem} \item non-recursive formatting directives are obeyed \item conditionals and includes are handled \item inline verbatim is typeset as verbatim, whereas inline code and code blocks are typeset almost verbatim, after formatting directives are applied, in a typewriter font using some special symbols to ``beautify'' some Haskell operators. \item all spaces in code blocks are preserved \item plain text is copied unchanged \end{compactitem} %%% %%% \subsection{Proportional vs.~Monospaced} Usually, there is a tradeoff between restricting oneself to the use of a typewriter font and not using any formatting and using a proportional font, at the same time replacing operators with mathematical symbols, using different font shapes to highlight keywords etc. While the latter offers far more flexibility, the proportional font might destroy (at least part of) the layout that the programmer has employed in order to make the source code more readable. Compare, for example, the previous two examples with the following result (this is a negative example, |lhs2TeX| can do far better than that!!): \input{ZipStupid}% \noindent While the indentation is kept (otherwise, for the layout sensitive Haskell it would be even disastrous, because the code might no longer be valid), alignment that has been present in the code lines has been lost. For example, in the input the user had decided to align all equality symbols of all three function definitions, and also align them with the ``has-type'' operator |::|. Without support from a tool like |lhs2TeX|, the horizontal positions of the equality symbols in the formatted code are totally unrelated. A solution to this problem is of course to put the Haskell code in a \LaTeX\ table. Doing this manually, though, is very cumbersome and in some case still quite hard. The task of the formatted styles of |lhs2TeX| is thus to spare the user the burden of cluttering up the code with formatting annotations. Most of the time, completely un-annotated code can be used to achieve good results, using the fonts you like while maintaining alignment information in the code! %%% %%% \subsection{Alignment and formatting with ``math'' style} In prior versions of |lhs2TeX|, \textbf{math} style was the mode to use for formatted Haskell code. There is one alignment column, often used to align the equality symbols of several equations. Additionally, indentation is handled automatically. User-defined formatting directives can be used to alter the formatting of identifiers, operators and symbols in many places. \input{ZipMath}% \noindent The example shows that there is still a loss of alignment information compared to the original verbatim example. The three arguments of the |zipWith| function as well as the two guarded equations in the definition of |select| are not aligned. At the moment, \textbf{math} style exists mainly to maintain compatibility with old documents. New features may be added to \textbf{poly} style only. \paragraph{``math'' summary} \begin{compactitem} \item all formatting directives are obeyed \item conditionals and includes are handled \item inline verbatim is typeset as verbatim, whereas inline code and code blocks are typeset using a proportional font, using mathematical symbols to represent many Haskell operators. \item indentation in code blocks is preserved; furthermore, alignment on a single column is possible \item plain text is copied unchanged \end{compactitem} %%% %%% \end{document} %%% %%% \section{Test} \input{Variable} %%% %%% \end{document} lhs2tex-1.18.1/doc/Guide2.dontbuild0000644000175000001440000000000012022734321016142 0ustar andresuserslhs2tex-1.18.1/doc/AccidentalC.lhs0000644000175000001440000000063612022734321015776 0ustar andresusers%include poly.fmt %format <| = "\lhd " > options :: [String] -> ([Class],[String]) > options = foldr (<|) ([],[]) > where "-align" <| (ds,s: as) = (Dir Align s : ds, as) > ('-':'i':s) <| (ds, as) = (Dir Include s : ds, as) > ('-':'l':s) <| (ds, as) = (Dir Let s : ds, as) > s <| (ds, as) = ( ds,s : as) lhs2tex-1.18.1/doc/ConfigureCall.lhs0000644000175000001440000000022112022734321016347 0ustar andresusers%include verbatim.fmt \begingroup \let\origtt=\tt \def\tt#1{\origtt} \begin{code} $ ./configure --prefix=/my/local/programs \end{code} \endgroup lhs2tex-1.18.1/doc/Makefile0000644000175000001440000000453112022734321014572 0ustar andresusersinclude ../config.mk # use in-place lhs2TeX LHS2TEX = ../lhs2TeX SNIPPETSGD = $(shell $(GREP) "\\\\input{" Guide2.lhs | $(SED) "s/^.*input{\(.*\)}.*$$/\1.tex/") ifdef STC SNIPPETSSTC = $(shell $(GREP) "\\\\input{" STC.lhs | $(SED) "s/^.*input{\(.*\)}.*$$/\1.tex/") SNIPPETSTLL = $(shell $(GREP) "\\\\input{" TLL.lhs | $(SED) "s/^.*input{\(.*\)}.*$$/\1.tex/") STCFLAGS="--let=stc=True" endif SNIPPETSIN = $(wildcard *.lhs.in) SNIPPETSLHS = $(filter-out $(SNIPPETSIN:.in=), $(SNIPPETSGD:.tex=.lhs)) DONTBUILD = $(shell test -f Guide2.dontbuild && echo yes) # default target ifeq ($(DONTBUILD),yes) all : dontbuildwarning else all : Guide2.pdf endif # in-place polytable.sty polytable.sty : $(LN_S) ../polytable/polytable.sty . $(LN_S) ../polytable/lazylist.sty . RawSearchPath.lhs : ../src/Version.lhs echo '\begin{code}' > $@ $(LHS2TEX) --searchpath >> $@ echo '\end{code}' >> $@ SearchPath.lhs : RawSearchPath.lhs touch $@ srcdist : $(INSTALL) -m 644 $(SNIPPETSIN) ../$(DISTDIR)/doc $(INSTALL) -m 644 $(SNIPPETSLHS) ../$(DISTDIR)/doc $(INSTALL) -m 644 RawSearchPath.lhs ../$(DISTDIR)/doc $(INSTALL) -m 644 $(wildcard *.fmt) ../$(DISTDIR)/doc $(INSTALL) -m 644 Guide2.lhs Guide2.pdf Makefile ../$(DISTDIR)/doc $(INSTALL) -m 755 lhs2TeXpre ../$(DISTDIR)/doc touch ../$(DISTDIR)/doc/Guide2.dontbuild dontbuildwarning : echo "----------------------------------------------"; \ echo "To rebuild Guide2.pdf, remove Guide2.dontbuild"; \ echo "and call make again."; \ echo "----------------------------------------------"; \ %.pdf : %.tex polytable.sty $(SHELL) -c ' \ $(PDFLATEX) $(PDFLATEX_OPTS) $<; \ while $(GREP) -c "Warning.*Rerun" $(<:.tex=.log); \ do $(PDFLATEX) $(PDFLATEX_OPTS) $<; done;'; \ Guide2.tex : Guide2.lhs $(SNIPPETSGD) $(LHS2TEX) --poly -P.:..:../src: $< > $@ STC.tex : STC.lhs $(SNIPPETSSTC) $(LHS2TEX) --poly $< > $@ TLL.tex : TLL.lhs $(SNIPPETSTLL) $(LHS2TEX) --poly $< > $@ # determine mode and then run lhs2TeX %.tex : %.lhs MODE=`cat $< \ | $(GREP) "^%include" \ | head -n 1 \ | $(SED) -e "s/^%include \(.*\)\.fmt/\1/" \ | $(SED) -e "s/verbatim/verb/" \ -e "s/stupid/math/" \ -e "s/tex/poly/" \ -e "s/polytt/poly/" \ -e "s/typewriter/tt/"` && \ echo $${MODE} && \ $(LHS2TEX) --$${MODE} $(STCFLAGS) $< > $@ .PHONY : all srcdist clean clean : rm -f $(SNIPPETSGD) $(SNIPPETSSTC) lhs2tex-1.18.1/doc/ZipStupid.lhs0000644000175000001440000000112312022734321015567 0ustar andresusers%let array=True %include stupid.fmt %subst code a = "\begin{colorarray}{@{}lcl@{}}'n" a "\end{colorarray}'n" %align 99 \begin{code} zip :: [a] -> [b] -> [(a,b)] zip = zipWith (\a b -> (a,b)) zipWith :: (a->b->c) -> [a]->[b]->[c] zipWith z (a:as) (b:bs) = z a b : zipWith z as bs zipWith _ _ _ = [] partition :: (a -> Bool) -> [a] -> ([a],[a]) partition p xs = foldr select ([],[]) xs where select x (ts,fs) | p x = (x:ts,fs) | otherwise = (ts,x:fs) \end{code} lhs2tex-1.18.1/doc/polytt.fmt0000644000175000001440000002710112022734321015173 0ustar andresusers%subst verb a = "\text{\tt " a "}" %subst verbatim a = "\begin{tabbing}\tt'n" a "'n\end{tabbing}'n" %subst verbnl = "\\'n\tt " %if style == tt %subst inline a = "\text{\texfamily " a "}" %subst thinspace = "\Sp " %subst code a = "\begin{tabbing}\texfamily'n" a "'n\end{tabbing}'n" %subst comment a = "{\rmfamily-{}- " a "}" %subst nested a = "{\rmfamily\enskip\{- " a " -\}\enskip}" %subst pragma a = "{\rmfamily\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %subst spaces a = a %subst special a = a %subst space = "~" %subst newline = "\\'n\texfamily " %subst conid a = "{\itshape " a "}" %subst varid a = a %subst consym a = a %subst varsym a = a %subst numeral a = a %subst char a = "''" a "''" %subst string a = "\char34 " a "\char34 " %if underlineKeywords %subst keyword a = "\uline{" a "}" %else %subst keyword a = "{\bfseries " a "}" %endif %format \ = "\char''10" %format . = "\char''00" %if not spacePreserving %format alpha = "\char''02" %format beta = "\char''03" %format gamma = "\char''11" %format delta = "\char''12" %format pi = "\char''07" %format infty = "\char''16" %format intersect = "\char''22" %format union = "\char''23" %format forall = "\char''24" %format exists = "\char''25" %format not = "\char''05" %format && = "\char''04" %format || = "\char''37" %format <- = "\char''06" %format -> = "\char''31" %format == = "\char''36" %format /= = "\char''32" %format <= = "\char''34" %format >= = "\char''35" %endif %if meta %format M.a = "\ensuremath{a}" %format M.b = "\ensuremath{b}" %format M.c = "\ensuremath{c}" %format M.d = "\ensuremath{d}" %format M.e = "\ensuremath{e}" %format M.f = "\ensuremath{f}" %format M.g = "\ensuremath{g}" %format M.h = "\ensuremath{h}" %format M.i = "\ensuremath{i}" %format M.j = "\ensuremath{j}" %format M.k = "\ensuremath{k}" %format M.l = "\ensuremath{l}" %format M.m = "\ensuremath{m}" %format M.n = "\ensuremath{n}" %format M.o = "\ensuremath{o}" %format M.p = "\ensuremath{p}" %format M.q = "\ensuremath{q}" %format M.r = "\ensuremath{r}" %format M.s = "\ensuremath{s}" %format M.t = "\ensuremath{t}" %format M.u = "\ensuremath{u}" %format M.v = "\ensuremath{v}" %format M.w = "\ensuremath{w}" %format M.x = "\ensuremath{x}" %format M.y = "\ensuremath{y}" %format M.z = "\ensuremath{z}" %format M.A = "\ensuremath{A}" %format M.B = "\ensuremath{B}" %format M.C = "\ensuremath{C}" %format M.D = "\ensuremath{D}" %format M.E = "\ensuremath{E}" %format M.F = "\ensuremath{F}" %format M.G = "\ensuremath{G}" %format M.H = "\ensuremath{H}" %format M.I = "\ensuremath{I}" %format M.J = "\ensuremath{J}" %format M.K = "\ensuremath{K}" %format M.L = "\ensuremath{L}" %format M.M = "\ensuremath{M}" %format M.N = "\ensuremath{N}" %format M.O = "\ensuremath{O}" %format M.P = "\ensuremath{P}" %format M.Q = "\ensuremath{Q}" %format M.R = "\ensuremath{R}" %format M.S = "\ensuremath{S}" %format M.T = "\ensuremath{T}" %format M.U = "\ensuremath{U}" %format M.V = "\ensuremath{V}" %format M.W = "\ensuremath{W}" %format M.X = "\ensuremath{X}" %format M.Y = "\ensuremath{Y}" %format M.Z = "\ensuremath{Z}" %format M.alpha = "\ensuremath{\alpha}" %format M.beta = "\ensuremath{\beta}" %format M.gamma = "\ensuremath{\gamma}" %format M.delta = "\ensuremath{\delta}" %format M.epsilon = "\ensuremath{\epsilon}" %format M.zeta = "\ensuremath{\zeta}" %format M.eta = "\ensuremath{\eta}" %format M.theta = "\ensuremath{\theta}" %format M.iota = "\ensuremath{\iota}" %format M.kappa = "\ensuremath{\kappa}" %format M.lambda = "\ensuremath{\lambda}" %format M.mu = "\ensuremath{\mu}" %format M.nu = "\ensuremath{\nu}" %format M.xi = "\ensuremath{\xi}" %format M.pi = "\ensuremath{\pi}" %format M.rho = "\ensuremath{\rho}" %format M.sigma = "\ensuremath{\sigma}" %format M.tau = "\ensuremath{\tau}" %format M.upsilon = "\ensuremath{\upsilon}" %format M.phi = "\ensuremath{\phi}" %format M.chi = "\ensuremath{\chi}" %format M.psi = "\ensuremath{\psi}" %format M.omega = "\ensuremath{\omega}" %format M.Gamma = "\ensuremath{\Gamma}" %format M.Delta = "\ensuremath{\Delta}" %format M.Theta = "\ensuremath{\Theta}" %format M.Lambda = "\ensuremath{\Lambda}" %format M.Xi = "\ensuremath{\Xi}" %format M.Pi = "\ensuremath{\Pi}" %format M.Sigma = "\ensuremath{\Sigma}" %format M.Upsilon = "\ensuremath{\Upsilon}" %format M.Phi = "\ensuremath{\Phi}" %format M.Psi = "\ensuremath{\Psi}" %format M.Omega = "\ensuremath{\Omega}" %format M.forall = "\ensuremath{\forall}" %format M.exists = "\ensuremath{\exists}" %format M.not = "\ensuremath{\neg}" %format ==> = "\ensuremath{\Longrightarrow}" %format <== = "\ensuremath{\Longleftarrow}" %format /\ = "\ensuremath{\wedge}" %format \/ = "\ensuremath{\vee}" %format M.= = "\ensuremath{=}" %format M./= = "\ensuremath{\neq}" %format M.< = "\ensuremath{<}" %format M.<= = "\ensuremath{\leq}" %format M.>= = "\ensuremath{\geq}" %format M.> = "\ensuremath{>}" %endif %elif style == newcode %subst comment a = "-- " a %subst nested a = "{- " a " -}" %subst code a = a "'n" %subst newline = "'n" %subst dummy = %subst pragma a = "{-# " a " #-}" %subst tex a = %subst numeral a = a %subst keyword a = a %subst spaces a = a %subst special a = a %subst space = " " %subst conid a = a %subst varid a = a %subst consym a = a %subst varsym a = a %subst char a = "''" a "''" %subst string a = "'d" a "'d" %format # = "#" %format $ = "$" %format % = "%" %format & = "&" %elif style == math %subst phantom a = "\phantom{" a "\mbox{}}" %subst comment a = "\mbox{\qquad-{}- " a "}" %subst nested a = "\mbox{\enskip\{- " a " -\}\enskip}" %if array %subst code a = "\[\begin{array}{@{}lcl}'n\hspace{\lwidth}&\hspace{\cwidth}&\\[-10pt]'n" a "'n\end{array}\]" %subst column3 l c r = "{}" l " & " c " & {" r "}" %subst column1 a = "\multicolumn{3}{@{}l}{" a "}" %else %subst code a = "\begin{tabbing}'n\qquad\=\hspace{\lwidth}\=\hspace{\cwidth}\=\+\kill'n" a "'n\end{tabbing}" %subst column3 l c r = "$" l "$ \> \makebox[\cwidth]{$" c "$} \> ${" r "}$" %subst column1 a = "${" a "}$" %endif %subst newline = "\\'n" %subst blankline = "\\[1mm]'n" %let anyMath = True %elif style == poly %subst comment a = "\mbox{\onelinecomment " a "}" %subst nested a = "\mbox{\commentbegin " a " \commentend}" %if array %subst code a = "\['n\begin{parray}\SaveRestoreHook'n" a "\ColumnHook'n\end{parray}'n\]\resethooks'n" %else %subst code a = "\begingroup\par\noindent\advance\leftskip\mathindent\('n\begin{pboxed}\SaveRestoreHook'n" a "\ColumnHook'n\end{pboxed}'n\)\par\noindent\endgroup\resethooks'n" %endif %subst column c a = "\column{" c "}{" a "}'n" %subst fromto b e t = "\fromto{" b "}{" e "}{{}" t "{}}'n" %subst left = "@{}l@{}" %subst centered = "@{}c@{}" %subst dummycol = "@{}l@{}" %subst newline = "\nextline'n" %subst blankline = "\nextline[\blanklineskip]'n" %subst indent n = "\hsindent{" n "}" %let anyMath = True %endif %if anyMath %let autoSpacing = True %subst dummy = %subst inline a = "\ensuremath{" a "}" %subst hskip a = "\hskip" a "em\relax" %subst pragma a = "\mbox{\enskip\{-\#" a " \#-\}\enskip}" %subst tex a = a %if latex209 %subst numeral a = a %subst keyword a = "{\mathbf " a "}" %else %subst numeral a = a %subst keyword a = "\text{\texfamily\itshape{" a "}}" %endif %subst spaces a = a %subst special a = a %subst space = "\mskip\thickmuskip" %subst conid a = "\text{\texfamily " a "}" %subst varid a = "\text{\texfamily " a "}" %subst consym a = "\text{\texfamily " a "}" %subst varsym a = "\text{\texfamily " a "}" %subst char a = "\text{\texfamily ''" a "''}" %subst string a = "\text{\texfamily \char34 " a "\char34}" %format [ = "\mathopen{\text{\texfamily [}}" %format ] = "\mathclose{\text{\texfamily ]}}" %format ( = "\mathopen{\text{\texfamily (}}" %format ) = "\mathclose{\text{\texfamily )}}" %format , = "\mathpunct{\text{\texfamily ,}}" %format :: = "\mathrel{\text{\texfamily ::}}" %format : = "\mathop{\text{\texfamily :}}" %format \ = "\text{\texfamily\char''10}" %format = = "\mathrel{\text{\texfamily =}}" %format | = "\mathrel{\text{\texfamily |}}" %format alpha = "\char''02" %format beta = "\char''03" %format gamma = "\char''11" %format delta = "\char''12" %format pi = "\char''07" %format infty = "\char''16" %format intersect = "\char''22" %format union = "\char''23" %format forall = "\char''24" %format exists = "\char''25" %format not = "\char''05" %format && = "\mathbin{\text{\texfamily\char''04}}" %format || = "\mathbin{\text{\texfamily\char''37}}" %format <- = "\mathbin{\text{\texfamily\char''06}}" %format -> = "\mathbin{\text{\texfamily\char''31}}" %format == = "\char''36" %format /= = "\char''32" %format <= = "\char''34" %format >= = "\char''35" %if meta %format M.a = "a" %format M.b = "b" %format M.c = "c" %format M.d = "d" %format M.e = "e" %format M.f = "f" %format M.g = "g" %format M.h = "h" %format M.i = "i" %format M.j = "j" %format M.k = "k" %format M.l = "l" %format M.m = "m" %format M.n = "n" %format M.o = "o" %format M.p = "p" %format M.q = "q" %format M.r = "r" %format M.s = "s" %format M.t = "t" %format M.u = "u" %format M.v = "v" %format M.w = "w" %format M.x = "x" %format M.y = "y" %format M.z = "z" %format M.A = "A" %format M.B = "B" %format M.C = "C" %format M.D = "D" %format M.E = "E" %format M.F = "F" %format M.G = "G" %format M.H = "H" %format M.I = "I" %format M.J = "J" %format M.K = "K" %format M.L = "L" %format M.M = "M" %format M.N = "N" %format M.O = "O" %format M.P = "P" %format M.Q = "Q" %format M.R = "R" %format M.S = "S" %format M.T = "T" %format M.U = "U" %format M.V = "V" %format M.W = "W" %format M.X = "X" %format M.Y = "Y" %format M.Z = "Z" %format M.alpha = "\alpha " %format M.beta = "\beta " %format M.gamma = "\gamma " %format M.delta = "\delta " %format M.epsilon = "\epsilon " %format M.zeta = "\zeta " %format M.eta = "\eta " %format M.theta = "\theta " %format M.iota = "\iota " %format M.kappa = "\kappa " %format M.lambda = "\lambda " %format M.mu = "\mu " %format M.nu = "\nu " %format M.xi = "\xi " %format M.pi = "\pi " %format M.rho = "\rho " %format M.sigma = "\sigma " %format M.tau = "\tau " %format M.upsilon = "\upsilon " %format M.phi = "\phi " %format M.chi = "\chi " %format M.psi = "\psi " %format M.omega = "\omega " %format M.Gamma = "\Gamma " %format M.Delta = "\Delta " %format M.Theta = "\Theta " %format M.Lambda = "\Lambda " %format M.Xi = "\Xi " %format M.Pi = "\Pi " %format M.Sigma = "\Sigma " %format M.Upsilon = "\Upsilon " %format M.Phi = "\Phi " %format M.Psi = "\Psi " %format M.Omega = "\Omega " %format M.forall = "\forall " %format M.exists = "\exists " %format M.not = "\neg " %format ==> = "\enskip\Longrightarrow\enskip " %format <== = "\enskip\Longleftarrow\enskip " %format /\ = "\enskip\mathrel{\wedge}\enskip " %format \/ = "\enskip\mathrel{\vee}\enskip " %format M.= = "=" %format M./= = "\neq " %format M.< = "<" %format M.<= = "\leq " %format M.>= = "\geq " %format M.> = ">" %endif %endif lhs2tex-1.18.1/doc/LetSyntax.lhs0000644000175000001440000000157312022734321015600 0ustar andresusers%include tex.fmt \newcommand*{\amp}{@&&@}% %format && = "\text{\amp}" %format || = "\text{\ttfamily ||}" %format == = "\text{\ttfamily ==}" %format /= = "\text{\ttfamily /=}" %format < = "\text{\ttfamily <}" %format <= = "\text{\ttfamily <=}" %format >= = "\text{\ttfamily >=}" %format > = "\text{\ttfamily >}" %format ++ = "\text{\ttfamily ++}" %format + = "\text{\ttfamily +}" %format - = "\text{\ttfamily -}" %format * = "\text{\ttfamily *}" %format / = "\text{\ttfamily /}" \begin{code} dir(^let^) ^^ ent(varname) ^^ syn(=) ^^ ent(expression) ent(expression) ::= ent(application) ^^ many(ent(operator) ^^ ent(application)) ent(application) ::= opt(term(not)) ^^ ent(atom) ent(atom) ::= ent(varid) | term(True) | term(False) | ent(string') | ent(numeral) | (ent(expression)) ent(operator) ::= && | || | == | /= | < | <= | >= | > | ++ | + | - | * | / \end{code} lhs2tex-1.18.1/INSTALL0000644000175000001440000000653212022734320013420 0ustar andresusersThere are two possibilities to install lhs2TeX: (A) Using Cabal. (B) Classic configure/make. ===================================================================== (A) Using Cabal to install lhs2TeX (preferred): This requires Cabal 1.6 or later. The process is then as usual: cabal install if you have cabal-install (included in the Haskell Platform) or runghc Setup configure runghc Setup build runghc Setup install The third step requires write access to the installation location and the LaTeX filename database. ===================================================================== (B) configure/make (might be removed in the future): The following instructions apply to Unix-like environments. However, lhs2TeX does run on Windows systems, too. (If you would like to add installation instructions or facilitate the installation procedure for Windows systems, please contact the authors.) Unpack the archive. Assume that it has been unpacked into directory "/somewhere". Then say cd /somewhere/lhs2TeX-1.18.1 ./configure make make install You might need administrator permissions to perform the "make install" step. Alternatively, you can select your own installation location by passing the "--prefix" argument to @configure@: ./configure --prefix=/my/local/programs With lhs2TeX come a couple of library files (containing basic lhs2TeX formatting directives) that need to be found by the lhs2TeX binary. The default search path is as follows: . {HOME}/lhs2tex-1.18.1// {HOME}/lhs2tex// {HOME}/lhs2TeX// {HOME}/.lhs2tex-1.18.1// {HOME}/.lhs2tex// {HOME}/.lhs2TeX// {LHS2TEX}// /usr/local/share/lhs2tex-1.18.1// /usr/local/share/lhs2tex-1.18.1// /usr/local/lib/lhs2tex-1.18.1// /usr/share/lhs2tex-1.18.1// /usr/lib/lhs2tex-1.18.1// /usr/local/share/lhs2tex// /usr/local/lib/lhs2tex// /usr/share/lhs2tex// /usr/lib/lhs2tex// /usr/local/share/lhs2TeX// /usr/local/lib/lhs2TeX// /usr/share/lhs2TeX// /usr/lib/lhs2TeX// Here, {HOME} and {LHS2TEX} denote the current values of these two environment variables HOME and LHS2TEX. The double slash at the end of each dir means that subdirectories are also scanned. If lhs2TeX is installed to a non-standard path, you might want to set the environment variable "LHS2TEX" to point to the directory where "lhs2TeX.fmt" and the other library files have been installed to. IMPORTANT: To be able to use ``poly'' style, the two LaTeX packages "polytable.sty" and "lazylist.sty" are required! Both are included in the lhs2TeX distribution (they are not part of standard LaTeX distributions, although they are available from CTAN), and are usually installed during the normal procedure. The configure script will determine whether a suitably recent version of polytable is installed on your system, and if necessary, install both "polytable.sty" and "lazylist.sty" to your TeX system. If this is not desired or fails (because the script cannot detect your TeX installation properly), the installation of these files can be disabled by passing the option "--disable-polytable" to "configure". In this case, the two files must be manually installed to a location where your TeX distribution will find them. Assuming that you have a local TeX tree at "/usr/local/share/texmf", this can usually be avhieved by placing the files in the directory "/usr/local/share/texmf/tex/latex/polytable" and subsequently running mktexlsr to update the TeX filename database. lhs2tex-1.18.1/id.snip0000644000175000001440000000033112022734320013645 0ustar andresusers%format (MkId a) = a > newtype Id a = MkId a > instance Monad Id where > return a = MkId a > MkId a >>= f = f a {-""-} > MkId a >>= f = f a lhs2tex-1.18.1/lhs2TeX.1.in0000644000175000001440000001250712022734320014346 0ustar andresusers.TH LHS2TEX "1" "February 2008" "lhs2TeX" "User Commands" .SH NAME lhs2TeX \- a literate Haskell to (La)TeX code translator .SH SYNOPSIS .B lhs2TeX [options] file .SH DESCRIPTION This tool takes as its input a literate Haskell source file (Bird-style or LaTeX-style or even a combination thereof), and produces output, which, depending on the .B STYLE selected, can be either a LaTeX document or a stripped version of the code. The output is produced on stdout. Several directives are interpreted by .B lhs2TeX itself and can be used to customize the output further. .SH OPTIONS There are two sorts of options for \fBlhs2TeX\fR. The first selects a .B STYLE which governs the overal mode of operation for \fBlhs2TeX\fR. Only one style may be selected: .TP .B --poly The poly style is an improvement of the older .B math style. It produces a LaTeX document, with the code blocks formatted using a proportional font. The output is highly customizable using formatting directives. Furthermore, the resulting code respects some of the alignments made in the source file. .TP .B --math The math style is as .B poly style, but has less alignment capabilities. Tokens appearing in the source file at a special column are all aligned in the output. Furthermore, indentation is respected. .TP .B --newcode In the new code style, everything but code blocks is stripped from the file. In addition, certain syntactic transformations can be performed on the code using formatting directives. For example, if the source code is annotated in certain positions to produce even nicer results in .B poly style, one can use .B newcode style to remove these annotations. .TP .B --code In code style, all comments and specification code is stripped from the file, so that only the code remains. Use this if you want to produce a smaller version of your source file. .TP .B --tt Typewriter style prints code almost verbatim, using a monospaced font, but formatting certain symbols (lambda abstraction, arrows ...) using an extended character set. This style is default if no style is explicitly selected, but this behaviour should not be relied upon. The default style may be changed in future versions. .TP .B --verb Verbatim style prints code as-is, using a monospaced font. No formatting whatsoever is applied to the code. However, .B lhs2TeX does not make use of a LaTeX verbatim environment, but rather escapes special TeX constructs in the translation. This implies that it is easier to pass the resulting TeX code to macros or use it inside certain environments than it would be with a native verbatim-environment. .PD .PP The following options are considered are also considered as styles, but return only information about the program: .TP \fB-h\fR, \fB-?\fR, \fB--help\fR Returns a short usage message listing all the available options. .TP \fB-V\fR, \fB--version\fR Returns version information. .TP .B --copying Displays the complete GNU General Public License. .TP .B --warranty Displays the parts of the GPL than concerns warranty. .PD .PP The remaining options modify the behaviour of the program. .TP \fB-P\fIpath\fR, \fB--path=\fIpath\fR Takes a (colon-separated) list .I path of paths that are used as search path for files to be included. If the list starts with a colon, then the list is appended to the current search path. If the list ends with a colon, then the list is prepended to the current search path. If there is neither a colon at the beginning nor at the end of the list, then the list replaces the current search path. Environment variables can be used in the list of paths, if enclosed in curly braces, i.e., .I {VAR} expands to the current value of the environment variable VAR. If a path ends with a double slash \fI//\fR, then all subdirectories of that path are included in the search path. Note that this can significantly slow down .B lhs2TeX when looking for files. The built-in default search path of .B lhs2TeX is .nf {HOME}/lhs2TeX// {HOME}/.lhs2TeX// {LHS2TEX}// /usr/local/share/lhs2tex// /usr/local/share/lhs2TeX// /usr/local/lib/lhs2tex// /usr/local/lib/lhs2TeX// /usr/share/lhs2tex// /usr/share/lhs2TeX// /usr/lib/lhs2tex// /usr/lib/lhs2TeX// .fi .TP \fB-i\fIfile\fR, \fB--include=\fIfile\fR Includes .I file before anything else. This option has the same effect as an .nf %include \fIfile\fR .fi directive at the beginning of the source file. .TP \fB-l\fIequation\fR, \fB--let=\fIequation\fR Assumes .I equation while processing the source file. This option has the same effect as a .nf %let \fIequation\fR .fi directive at the beginning of the source file. .TP \fB-s\fIflag\fR, \fB--set=\fIflag\fR Sets .I flag to .B True at the beginning of the source file. This option has the same effect as a .nf %let \fIflag\fR=True .fi at the beginning of the source file. .TP \fB-u\fIflag\fR, \fB--unset=\fIflag\fR Sets .I flag to .B False at the beginning of the source file. This option has the same effect as a .nf %let \fIflag\fR=False .fi at the beginning of the source file. .SH VERSION @VERSION@ .SH AUTHORS Andres Loeh wrote .B poly and .B newcode styles and is the current maintainer of the package. Ralf Hinze wrote the original .BR lhs2TeX . .SH SEE ALSO .IR http://www.cs.uu.nl/~andres/lhs2tex , the .B lhs2TeX homepage .br .IR Guide2.pdf , the manual lhs2tex-1.18.1/spec.snip0000644000175000001440000000160412022734320014207 0ustar andresusersFirst, the resulting list must be ordered. %format a1 = "\Varid{a}_1" %format a2 = "\Varid{a}_2" > ordered :: (Ord a) => [a] -> Bool > ordered [] = True > ordered [a] = True > ordered (a1 : a2 : as) = a1 <= a2 && ordered (a2 : as) Second, the resulting list must be a rearrangement of the input. %format Bag.empty = "\emptyset " %format (Bag.single (a)) = "\mathopen{\lbag}" a "\mathclose{\rbag}" %format `Bag.union` = "\uplus " < bag :: [a] -> Bag a < bag [] = Bag.empty < bag (a : as) = Bag.single(a) `Bag.union` bag as Using |ordered| and |bag| we may specify sorting as follows. % \begin{equation} |ordered (sort M.x) = True /\ bag (sort M.x) = bag M.x| \end{equation} lhs2tex-1.18.1/sorts.snip0000644000175000001440000000134112022734320014425 0ustar andresusers> quickSort :: (Ord a) => [a] -> [a] > quickSort [] = [] > quickSort (a : as) = quickSort [ b | b <- as, b <= a ] > ++ a : quickSort [ b | b <- as, b > a ] > > mergeSort :: (Ord a) => [a] -> [a] > mergeSort [] = [] > mergeSort [a] = [a] > mergeSort as = merge (mergeSort bs) (mergeSort cs) > where (bs, cs) = splitAt (length as `div` 2) as The worst case execution time of |mergeSort| is $\Theta(n\log n)$. NB. |splitAt| is given by < splitAt :: Int -> [a] -> ([a], [a]) < splitAt k as = (take k as, drop k as) {-"\enskip."-} lhs2tex-1.18.1/AUTHORS0000644000175000001440000000056712022734320013441 0ustar andresusersRalf Hinze (original version) Daniel James (improvements to the documentation) Andres Loeh (poly mode, maintainer) Stefan Wehr (adjust patch) Brian Smith (Cabal/Windows patch) Acknowledgements: Neil Mitchell (bug reports) Jeremy Gibbons (bug reports) Justin Bailey (line numbering improvements) If you are not listed here, but feel that you should be, please let me know. lhs2tex-1.18.1/Makefile0000644000175000001440000001555412022734320014033 0ustar andresusers include config.mk main := src/Main.lhs psources := $(main) src/TeXCommands.lhs src/TeXParser.lhs \ src/Typewriter.lhs src/Math.lhs src/MathPoly.lhs \ src/MathCommon.lhs src/NewCode.lhs \ src/Directives.lhs src/HsLexer.lhs src/FileNameUtils.lhs \ src/Parser.lhs src/FiniteMap.lhs src/Auxiliaries.lhs \ src/StateT.lhs src/Document.lhs src/Verbatim.lhs src/Value.lhs \ src/License.lhs src/State.lhs sources := $(psources) src/Version.lhs snipssrc := sorts.snip id.snip cata.snip spec.snip snips := sorts.tt sorts.math id.math cata.math spec.math objects := $(sources:.lhs=.o) sections := $(sources:.lhs=.tex) MKINSTDIR := ./mkinstalldirs ### ### lhs dependencies (from %include lines) ### ifdef SORT ifdef UNIQ MKLHSDEPEND = $(GREP) "^%include " $< \ | $(SED) -e 's,^%include ,$*.tex : ,' \ | $(SORT) | $(UNIQ) > $*.ld MKFMTDEPEND = $(GREP) "^%include " $< \ | $(SED) -e 's,^%include ,$*.fmt : ,' \ | $(SORT) | $(UNIQ) > $*.ld endif endif ### ### dependency postprocessing ### DEPPOSTPROC = $(SED) -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ -e '/^$$/ d' -e 's/$$/ :/' ### ### default targets ### .PHONY : default xdvi gv print install backup clean all depend bin doc srcdist all : default default : bin doc bin : lhs2TeX lhs2TeX.fmt lhs2TeX.sty -include $(sources:%.lhs=%.d) # I don't understand this ... (ks) # # %.hi : %.o # @if [ ! -f $@ ] ; then \ # echo $(RM) $< ; \ # $(RM) $< ; \ # set +e ; \ # echo $(MAKE) $(notdir $<) ; \ # $(MAKE) $(notdir $<) ; \ # if [ $$? -ne 0 ] ; then \ # exit 1; \ # fi ; \ # fi ifdef MKLHSDEPEND %.ld : %.lhs $(MKLHSDEPEND); \ $(CP) $*.ld $*.ldd; \ $(DEPPOSTPROC) < $*.ldd >> $*.ld; \ $(RM) -f $*.ldd %.ld : %.fmt $(MKFMTDEPEND); \ $(CP) $*.ld $*.ldd; \ $(DEPPOSTPROC) < $*.ldd >> $*.ld; \ $(RM) -f $*.ldd -include $(sources:%.lhs=%.ld) endif %.tex : %.lhs lhs2TeX Lhs2TeX.fmt lhs2TeX.fmt # lhs2TeX -verb -iLhs2TeX.fmt $< > $@ ./lhs2TeX --math --align 33 -iLhs2TeX.fmt $< > $@ %.tt : %.snip lhs2TeX lhs2TeX.fmt ./lhs2TeX --tt -lmeta=True -ilhs2TeX.fmt $< > $@ %.math : %.snip lhs2TeX lhs2TeX.fmt ./lhs2TeX --math --align 33 -lmeta=True -ilhs2TeX.fmt $< > $@ %.tex : %.lit lhs2TeX ./lhs2TeX --verb -ilhs2TeX.fmt $< > $@ lhs2TeX.sty: lhs2TeX.sty.lit lhs2TeX ./lhs2TeX --code lhs2TeX.sty.lit > lhs2TeX.sty lhs2TeX.fmt: lhs2TeX.fmt.lit lhs2TeX ./lhs2TeX --code lhs2TeX.fmt.lit > lhs2TeX.fmt lhs2TeX : $(sources) $(GHC) $(GHCFLAGS) -isrc --make -o lhs2TeX $(main) doc : bin cd doc; $(MAKE) # cd Guide; $(MAKE) Guide.pdf INSTALL : lhs2TeX INSTALL0 INSTALL1 cp INSTALL0 $@ ./lhs2TeX --searchpath >> $@ cat INSTALL1 >> $@ depend: $(GHC) -M -optdep-f -optdeplhs2TeX.d $(GHCFLAGS) $(sources) $(RM) -f lhs2TeX.d.bak lhs2TeX-includes : lhs2TeX.sty $(sections) $(snips) lhs2TeX.sty.tex lhs2TeX.fmt.tex Makefile.tex Lhs2TeX.dvi : lhs2TeX-includes Lhs2TeX.pdf : lhs2TeX-includes xdvi : Lhs2TeX.dvi $(XDVI) -s 3 Lhs2TeX.dvi & gv : Lhs2TeX.ps $(GV) Lhs2TeX.ps & print : Lhs2TeX.dvi $(DVIPS) -D600 -f Lhs2TeX.dvi | lpr -Pa -Zl install : bin doc $(MKINSTDIR) $(DESTDIR)$(bindir) $(INSTALL) -m 755 lhs2TeX $(DESTDIR)$(bindir) $(MKINSTDIR) $(DESTDIR)$(stydir) $(INSTALL) -m 644 lhs2TeX.sty lhs2TeX.fmt $(DESTDIR)$(stydir) $(INSTALL) -m 644 Library/*.fmt $(DESTDIR)$(stydir) $(MKINSTDIR) $(DESTDIR)$(docdir) $(INSTALL) -m 644 doc/Guide2.pdf $(DESTDIR)$(docdir) $(MKINSTDIR) $(DESTDIR)$(mandir)/man1 $(INSTALL) -m 644 lhs2TeX.1 $(DESTDIR)$(mandir)/man1 ifeq ($(INSTALL_POLYTABLE),yes) # install polytable package $(MKINSTDIR) $(DESTDIR)$(polydir) $(INSTALL) -m 644 polytable/*.sty $(DESTDIR)$(polydir) endif # $(MKINSTDIR) $(DESTDIR)$(texdir) # $(INSTALL) -m 644 Library/*.sty $(DESTDIR)$(texdir) ifndef DESTDIR $(MKTEXLSR) else echo "Please update the TeX filename database." endif srcdist : INSTALL doc if test -d $(DISTDIR); then $(RM) -rf $(DISTDIR); fi $(MKINSTDIR) $(DISTDIR) $(MKINSTDIR) $(DISTDIR)/src $(MKINSTDIR) $(DISTDIR)/doc $(MKINSTDIR) $(DISTDIR)/polytable $(MKINSTDIR) $(DISTDIR)/Testsuite $(MKINSTDIR) $(DISTDIR)/Examples $(MKINSTDIR) $(DISTDIR)/Library $(INSTALL) -m 644 $(psources) src/Version.lhs.in $(DISTDIR)/src $(INSTALL) -m 644 $(snipssrc) $(DISTDIR) $(INSTALL) -m 644 Setup.hs lhs2tex.cabal $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.fmt.lit lhs2TeX.sty.lit $(DISTDIR) $(INSTALL) -m 644 Makefile common.mk config.mk.in $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.1.in $(DISTDIR) $(INSTALL) -m 755 configure mkinstalldirs install-sh $(DISTDIR) $(INSTALL) -m 644 TODO AUTHORS LICENSE CHANGELOG $(DISTDIR) cat INSTALL | sed -e "s/@ProgramVersion@/$(PACKAGE_VERSION)/" \ > $(DISTDIR)/INSTALL chmod 644 $(DISTDIR)/INSTALL cd doc; $(MAKE) srcdist $(INSTALL) -m 644 polytable/*.{sty,pdf} $(DISTDIR)/polytable $(INSTALL) -m 644 Testsuite/*.{lhs,snip} Makefile $(DISTDIR)/Testsuite $(INSTALL) -m 644 Examples/*.lhs $(DISTDIR)/Examples $(INSTALL) -m 755 Examples/lhs2TeXpre $(DISTDIR)/Examples $(INSTALL) -m 644 Library/*.fmt $(DISTDIR)/Library tar cvzf $(DISTDIR).tar.gz $(DISTDIR) chmod 644 $(DISTDIR).tar.gz ifdef DISTTYPE bindist: lhs2TeX lhs2TeX.fmt lhs2TeX.sty doc if test -d $(DISTDIR); then $(RM) -rf $(DISTDIR); fi $(MKINSTDIR) $(DISTDIR) $(MKINSTDIR) $(DISTDIR)/doc $(MKINSTDIR) $(DISTDIR)/polytable $(MKINSTDIR) $(DISTDIR)/Testsuite $(MKINSTDIR) $(DISTDIR)/Examples $(MKINSTDIR) $(DISTDIR)/Library $(INSTALL) -m 755 lhs2TeX $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.fmt lhs2TeX.sty $(DISTDIR) $(INSTALL) -m 644 $(psources) Version.lhs.in $(snipssrc) $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.fmt.lit lhs2TeX.sty.lit $(DISTDIR) $(INSTALL) -m 644 Makefile common.mk config.mk.in $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.1.in $(DISTDIR) $(INSTALL) -m 755 configure mkinstalldirs install-sh $(DISTDIR) $(INSTALL) -m 644 TODO AUTHORS LICENSE CHANGELOG $(DISTDIR) cat INSTALL | sed -e "s/@ProgramVersion@/$(PACKAGE_VERSION)/" \ > $(DISTDIR)/INSTALL chmod 644 $(DISTDIR)/INSTALL cd doc; $(MAKE) srcdist $(INSTALL) -m 644 polytable/*.{sty,pdf} $(DISTDIR)/polytable $(INSTALL) -m 644 Testsuite/*.{lhs,snip} Makefile $(DISTDIR)/Testsuite $(INSTALL) -m 644 Examples/*.lhs $(DISTDIR)/Examples $(INSTALL) -m 755 Examples/lhs2TeXpre $(DISTDIR)/Examples $(INSTALL) -m 644 Library/*.fmt $(DISTDIR)/Library tar cvjf $(DISTDIR)-$(DISTTYPE).tar.bz2 $(DISTDIR) chmod 644 $(DISTDIR)-$(DISTTYPE).tar.bz2 else bindist: @echo "You must define DISTTYPE." endif backup: cd ..; \ $(RM) -f Literate.tar Literate.tar.gz; \ tar -cf Literate.tar Literate; \ gzip Literate.tar; \ chmod a+r Literate.tar.gz clean : # clean $(RM) -f lhs2TeX $(sections) $(snips) $(objects) *.hi *.dvi *.ps -$(RM) -f *.d *.dd *.ld *.ldd $(RM) -f lhs2TeX.sty lhs2TeX.fmt $(RM) -f Lhs2TeX.tex lhs2TeX.sty.tex lhs2TeX.fmt.tex Makefile.tex cd doc; $(MAKE) clean # all: # $(MAKE) install # $(MAKE) Lhs2TeX.dvi include common.mk lhs2tex-1.18.1/Testsuite/0000755000175000001440000000000012022734321014353 5ustar andresuserslhs2tex-1.18.1/Testsuite/Test.lhs0000644000175000001440000001111512022734321016001 0ustar andresusers\documentclass[fleqn]{article} \usepackage[german]{babel} \usepackage{moreverb} \usepackage{boxedminipage} \parindent0cm \newcommand{\Show}[1]{\listinginput{1}{#1.snip}\input{#1.tex}} %-------------------------------= -------------------------------------------- %include ../lhs2TeX.fmt %-------------------------------= -------------------------------------------- \begin{document} %-------------------------------= -------------------------------------------- \section{String gaps} %-------------------------------= -------------------------------------------- \Show{gap} %-------------------------------= -------------------------------------------- \section{Identifiers} %-------------------------------= -------------------------------------------- \Show{idents} %-------------------------------= -------------------------------------------- \section{Operators} %-------------------------------= -------------------------------------------- \Show{operators} %-------------------------------= -------------------------------------------- \section{Special symbols} %-------------------------------= -------------------------------------------- \Show{special} %-------------------------------= -------------------------------------------- \section{Spacing} %-------------------------------= -------------------------------------------- \Show{spacing} \Show{braces} %-------------------------------= -------------------------------------------- \section{Indentation} %-------------------------------= -------------------------------------------- \Show{indentation} % \NB Die senkrechten Striche sind im ersten Beispiel etwas einger"uckt, da \verb|\mid| als Operator gesetzt wird. Schlie"st man die linke Seite in \verb|{..}| ein, dann wird |weird| nicht richtig gesetzt. Die rechte Seite \emph{wird} in \verb|{..}| eingeschlossen, damit |list| und |main| richtig gesetzt werden (auf diese Weise verliert \verb|\mid| seinen Status als Operator). %-------------------------------= -------------------------------------------- \section{Format directives} %-------------------------------= -------------------------------------------- \Show{format} \Show{parens} %-------------------------------= -------------------------------------------- \section{Errors} %-------------------------------= -------------------------------------------- \Show{errors} %-------------------------------= -------------------------------------------- \section{Meta-Haskell} %-------------------------------= -------------------------------------------- Erfordert \verb|-l'meta = True'| Kommandozeilenoption (wichtig: \emph{vor} \verb@-i lhs2TeX.fmt@ angeben). % \Show{meta} %-------------------------------= -------------------------------------------- \section{Comments} %-------------------------------= -------------------------------------------- \Show{comments} %-------------------------------= -------------------------------------------- \section{Verbatim} %-------------------------------= -------------------------------------------- \verb|khadrkh| und \verb*|kjhsfd kjghsdf|. % \begin{verbatim} bass sdakh asd asd \end{verbatim} % \begin{verbatim*} bass sdakh asd asd \end{verbatim*} %-------------------------------= -------------------------------------------- \section{Active commands} %-------------------------------= -------------------------------------------- |product [1..20]| yields \eval{product [1..20]}. %if False > default (Integer) > group n = map (take n) > . takeWhile (not . null) > . iterate (drop n) > rows = concat > . intersperse " \\\\\n" > . map (\(n, s) -> show n ++ " & " ++ s) > . zip [1 ..] > . group 60 > intersperse s [] = [] > intersperse s [a] = [a] > intersperse s (a1 : a2 : as) = a1 : s : intersperse s (a2 : as) > out n = putStr (rows (show n)) %endif |product [1..200]| yields \[ \begin{array}{rl} \perform{out (product [1..200])} \end{array} \] > twice f a = f (f a) \eval{:type twice} und \eval{:type twice twice} haben den gleichen Typ. %-------------------------------= -------------------------------------------- \section{Active commands with @ghci@} %-------------------------------= -------------------------------------------- %options ghci -fglasgow-exts -fno-monomorphism-restriction |product [1..20]| yields \eval{product [1..20]}. %if False > main = undefined %endif |product [1..200]| yields \[ \begin{array}{rl} \perform{out (product [1..200])} \end{array} \] < twice f a = f (f a) %format forall = "\forall " %format . = "." \eval{:type twice} und \eval{:type twice twice} haben den gleichen Typ. \end{document} lhs2tex-1.18.1/Testsuite/spacing.snip0000644000175000001440000000037512022734321016677 0ustar andresusers> infixr @@ 2 > infixr .> 3 Schl"usselwo"rter: |let x = 1 in x * x|, |fun (let x = 1 in x * x)|, |let (a, b) = (b, a) in a * b|, |[let a=1 in a, let b=2 in b]|, |let {a = 1; b = 2} in a * b|, |do {let a = 1; return (a * a)}|. Listen: |[1,2,3] ++ [a]|. lhs2tex-1.18.1/Testsuite/special.snip0000644000175000001440000000054612022734321016673 0ustar andresusers< " ! \" # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7" < "8 9 : ; < = > ? @ A B C D E F G H I J K L M N O" < "P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g" < "h i j k l m n o p q r s t u v w x y z { | } ~" |[1 .. 99]|, |fac :: Int -> Int|, |fac n = n * fac (n -1)|, |\n -> n + 1|, |[ i * i || i <- [0..99] ]|, |x@(~(a : as))|. < m >> n = m >>= \_ -> n lhs2tex-1.18.1/Testsuite/parens.snip0000644000175000001440000000167012022734321016542 0ustar andresusers%format (abs (a)) = "|" a "|" %format power a (b) = a "^{" b "}" %format (sqrt (a)) = "\sqrt{" a "}" %format (pair (a) (b)) = "\langle" a "," b "\rangle" |power (abs (a + b)) (1/2)|, |f (abs a)|, |p (_, _) = 1|, |let a' = abs a in sqrt (a' + a)|, |fun (gun a b^27) c ++ b^^(-8)|, |abs (a, b)|, |abs (+ a * b)|, |abs ()|, |abs (a * b +)|, |f (pair (a * b) (a / b))|, |map sqrt x|. Newtype. %format (MkSet (a)) = a > newtype Set a = MkSet [a] > insert :: a -> Set a -> Set a > insert a (MkSet []) = MkSet [a] > insert a (MkSet ((b : x))) > | a <= b = MkSet (a : b : x) > | otherwise = MkSet (b : insert a x) %format (MkId (a)) = a > newtype Id a = MkId a > > instance Monad Id where > return a = MkId a {-""-} > MkId a >>= f = f a Es werden niemals zwei Klammerpaare entfernt |((e))|. %format f (a) = "\Varid{f}\;" a %format (g a) = "\Varid{g}\;" a Ja: |f (g a)| und nein: |f ((g a))|. lhs2tex-1.18.1/Testsuite/indentation.snip0000644000175000001440000000051212022734321017560 0ustar andresusers> faculty n > | n == 0 = 1 > | otherwise = n * faculty n' > where n' = n - 1 > unused = n' > weird a b > where (c, d) | cond = (a, b) > | otherwise = (b, a) > list = [ i * i > | i <- [0 .. 99 ] ] > main = sequence [ print i > | i <- [0 .. 99] ] lhs2tex-1.18.1/Testsuite/Try.lhs0000644000175000001440000000033212022734321015637 0ustar andresusers> go = concat [ show n ++ ": " ++ [toEnum n] ++ ", \\symbol{" ++ show n ++ "}\\\\\n" > | n <- [32 .. 127] ] > go' = unlines [ concat [ [toEnum i, ' '] | i <- [32 + 24 * n .. 55 + 24 * n] ] | n <- [0 .. 3] ] lhs2tex-1.18.1/Testsuite/meta.snip0000644000175000001440000000030512022734321016172 0ustar andresusers\begin{equation} |(M.forall a, x) ordered x ==> ordered (insert a x)|, \end{equation} \begin{equation} |(M.forall M.x, M.y) ordered M.x /\ ordered M.y ==> ordered (merge M.x M.y)|. \end{equation} lhs2tex-1.18.1/Testsuite/comments.snip0000644000175000001440000000024012022734321017067 0ustar andresusersInline comments: |fun -- ny| und |first {- second -} third|. > a `elem` [] = False -- vordefiniert > a `elem` (b : bs) = a == b {- lazy -} || a `elem` bs lhs2tex-1.18.1/Testsuite/idents.snip0000644000175000001440000000040712022734321016535 0ustar andresusersVarianten: |fun what now|, |Prelude.take 10 x|. Mit Unterstrich: |mapM_| und |remove_leading_line|. %format Verbatim = "\mathrm{Verb}" %format Verbatim.a = "\mathit{a}" |Verbatim.a + Math.b + Verbatim.b|. %format empty = "\emptyset " |Bag.empty| oder |Set.empty| lhs2tex-1.18.1/Testsuite/format.snip0000644000175000001440000000054512022734321016542 0ustar andresusers%format f a b = "\varphi\;" a b > bla = yuks (f a -- works > b) > bla = yuks (f a -- does not work > b) \NB Es ist wichtig bei der Ersetzung, da"s nur das erste Token des Ersetzungstextes die Position erbt; sonst wird |b| nicht richtig positioniert. %format a1 %format a2 > ordered (a1 : a2 : as) = a1 <= a2 && ordered (a2 : as) lhs2tex-1.18.1/Testsuite/operators.snip0000644000175000001440000000065612022734321017273 0ustar andresusersVariablen: |a !! 3|, |a + b|, |a Prelude.+ b|, |a `div` b|, |a `Prelude.div` b|. Konstruktoren: |l :^: r|, |l Tree.:^: r|, |l `Br` r|, |l `Tree.Br` r|. Selbstdefinierte: |f @@ g|, |f .> g|, |x `isPrefixOf` y|. %format @@ = "\mathbin{\varocircle}" %format .> = "\mathbin{\fatsemi}" Noch einmal: |f @@ g|, |f .> g|, |a `elem` set| und |a `notElem` set|. Beachte: |a `div` b| versus |a ` div ` b|. Sections: |(`div` 2)| und |(+ 5)|. lhs2tex-1.18.1/Testsuite/braces.snip0000644000175000001440000000025212022734321016504 0ustar andresusersRecords: |fun (State{dict = d, no = n})|, |fun (State{dict = d, no = n})|. > main = do { putStr "hello"; > putStr "world"; > exit > } lhs2tex-1.18.1/Testsuite/gap.snip0000644000175000001440000000023212022734321016012 0ustar andresusers> msg = "Hello world\n\ > \how are you doing?\n\ > \Cheers." lhs2tex-1.18.1/Testsuite/Makefile0000644000175000001440000001555412022734321016025 0ustar andresusers include config.mk main := src/Main.lhs psources := $(main) src/TeXCommands.lhs src/TeXParser.lhs \ src/Typewriter.lhs src/Math.lhs src/MathPoly.lhs \ src/MathCommon.lhs src/NewCode.lhs \ src/Directives.lhs src/HsLexer.lhs src/FileNameUtils.lhs \ src/Parser.lhs src/FiniteMap.lhs src/Auxiliaries.lhs \ src/StateT.lhs src/Document.lhs src/Verbatim.lhs src/Value.lhs \ src/License.lhs src/State.lhs sources := $(psources) src/Version.lhs snipssrc := sorts.snip id.snip cata.snip spec.snip snips := sorts.tt sorts.math id.math cata.math spec.math objects := $(sources:.lhs=.o) sections := $(sources:.lhs=.tex) MKINSTDIR := ./mkinstalldirs ### ### lhs dependencies (from %include lines) ### ifdef SORT ifdef UNIQ MKLHSDEPEND = $(GREP) "^%include " $< \ | $(SED) -e 's,^%include ,$*.tex : ,' \ | $(SORT) | $(UNIQ) > $*.ld MKFMTDEPEND = $(GREP) "^%include " $< \ | $(SED) -e 's,^%include ,$*.fmt : ,' \ | $(SORT) | $(UNIQ) > $*.ld endif endif ### ### dependency postprocessing ### DEPPOSTPROC = $(SED) -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ -e '/^$$/ d' -e 's/$$/ :/' ### ### default targets ### .PHONY : default xdvi gv print install backup clean all depend bin doc srcdist all : default default : bin doc bin : lhs2TeX lhs2TeX.fmt lhs2TeX.sty -include $(sources:%.lhs=%.d) # I don't understand this ... (ks) # # %.hi : %.o # @if [ ! -f $@ ] ; then \ # echo $(RM) $< ; \ # $(RM) $< ; \ # set +e ; \ # echo $(MAKE) $(notdir $<) ; \ # $(MAKE) $(notdir $<) ; \ # if [ $$? -ne 0 ] ; then \ # exit 1; \ # fi ; \ # fi ifdef MKLHSDEPEND %.ld : %.lhs $(MKLHSDEPEND); \ $(CP) $*.ld $*.ldd; \ $(DEPPOSTPROC) < $*.ldd >> $*.ld; \ $(RM) -f $*.ldd %.ld : %.fmt $(MKFMTDEPEND); \ $(CP) $*.ld $*.ldd; \ $(DEPPOSTPROC) < $*.ldd >> $*.ld; \ $(RM) -f $*.ldd -include $(sources:%.lhs=%.ld) endif %.tex : %.lhs lhs2TeX Lhs2TeX.fmt lhs2TeX.fmt # lhs2TeX -verb -iLhs2TeX.fmt $< > $@ ./lhs2TeX --math --align 33 -iLhs2TeX.fmt $< > $@ %.tt : %.snip lhs2TeX lhs2TeX.fmt ./lhs2TeX --tt -lmeta=True -ilhs2TeX.fmt $< > $@ %.math : %.snip lhs2TeX lhs2TeX.fmt ./lhs2TeX --math --align 33 -lmeta=True -ilhs2TeX.fmt $< > $@ %.tex : %.lit lhs2TeX ./lhs2TeX --verb -ilhs2TeX.fmt $< > $@ lhs2TeX.sty: lhs2TeX.sty.lit lhs2TeX ./lhs2TeX --code lhs2TeX.sty.lit > lhs2TeX.sty lhs2TeX.fmt: lhs2TeX.fmt.lit lhs2TeX ./lhs2TeX --code lhs2TeX.fmt.lit > lhs2TeX.fmt lhs2TeX : $(sources) $(GHC) $(GHCFLAGS) -isrc --make -o lhs2TeX $(main) doc : bin cd doc; $(MAKE) # cd Guide; $(MAKE) Guide.pdf INSTALL : lhs2TeX INSTALL0 INSTALL1 cp INSTALL0 $@ ./lhs2TeX --searchpath >> $@ cat INSTALL1 >> $@ depend: $(GHC) -M -optdep-f -optdeplhs2TeX.d $(GHCFLAGS) $(sources) $(RM) -f lhs2TeX.d.bak lhs2TeX-includes : lhs2TeX.sty $(sections) $(snips) lhs2TeX.sty.tex lhs2TeX.fmt.tex Makefile.tex Lhs2TeX.dvi : lhs2TeX-includes Lhs2TeX.pdf : lhs2TeX-includes xdvi : Lhs2TeX.dvi $(XDVI) -s 3 Lhs2TeX.dvi & gv : Lhs2TeX.ps $(GV) Lhs2TeX.ps & print : Lhs2TeX.dvi $(DVIPS) -D600 -f Lhs2TeX.dvi | lpr -Pa -Zl install : bin doc $(MKINSTDIR) $(DESTDIR)$(bindir) $(INSTALL) -m 755 lhs2TeX $(DESTDIR)$(bindir) $(MKINSTDIR) $(DESTDIR)$(stydir) $(INSTALL) -m 644 lhs2TeX.sty lhs2TeX.fmt $(DESTDIR)$(stydir) $(INSTALL) -m 644 Library/*.fmt $(DESTDIR)$(stydir) $(MKINSTDIR) $(DESTDIR)$(docdir) $(INSTALL) -m 644 doc/Guide2.pdf $(DESTDIR)$(docdir) $(MKINSTDIR) $(DESTDIR)$(mandir)/man1 $(INSTALL) -m 644 lhs2TeX.1 $(DESTDIR)$(mandir)/man1 ifeq ($(INSTALL_POLYTABLE),yes) # install polytable package $(MKINSTDIR) $(DESTDIR)$(polydir) $(INSTALL) -m 644 polytable/*.sty $(DESTDIR)$(polydir) endif # $(MKINSTDIR) $(DESTDIR)$(texdir) # $(INSTALL) -m 644 Library/*.sty $(DESTDIR)$(texdir) ifndef DESTDIR $(MKTEXLSR) else echo "Please update the TeX filename database." endif srcdist : INSTALL doc if test -d $(DISTDIR); then $(RM) -rf $(DISTDIR); fi $(MKINSTDIR) $(DISTDIR) $(MKINSTDIR) $(DISTDIR)/src $(MKINSTDIR) $(DISTDIR)/doc $(MKINSTDIR) $(DISTDIR)/polytable $(MKINSTDIR) $(DISTDIR)/Testsuite $(MKINSTDIR) $(DISTDIR)/Examples $(MKINSTDIR) $(DISTDIR)/Library $(INSTALL) -m 644 $(psources) src/Version.lhs.in $(DISTDIR)/src $(INSTALL) -m 644 $(snipssrc) $(DISTDIR) $(INSTALL) -m 644 Setup.hs lhs2tex.cabal $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.fmt.lit lhs2TeX.sty.lit $(DISTDIR) $(INSTALL) -m 644 Makefile common.mk config.mk.in $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.1.in $(DISTDIR) $(INSTALL) -m 755 configure mkinstalldirs install-sh $(DISTDIR) $(INSTALL) -m 644 TODO AUTHORS LICENSE CHANGELOG $(DISTDIR) cat INSTALL | sed -e "s/@ProgramVersion@/$(PACKAGE_VERSION)/" \ > $(DISTDIR)/INSTALL chmod 644 $(DISTDIR)/INSTALL cd doc; $(MAKE) srcdist $(INSTALL) -m 644 polytable/*.{sty,pdf} $(DISTDIR)/polytable $(INSTALL) -m 644 Testsuite/*.{lhs,snip} Makefile $(DISTDIR)/Testsuite $(INSTALL) -m 644 Examples/*.lhs $(DISTDIR)/Examples $(INSTALL) -m 755 Examples/lhs2TeXpre $(DISTDIR)/Examples $(INSTALL) -m 644 Library/*.fmt $(DISTDIR)/Library tar cvzf $(DISTDIR).tar.gz $(DISTDIR) chmod 644 $(DISTDIR).tar.gz ifdef DISTTYPE bindist: lhs2TeX lhs2TeX.fmt lhs2TeX.sty doc if test -d $(DISTDIR); then $(RM) -rf $(DISTDIR); fi $(MKINSTDIR) $(DISTDIR) $(MKINSTDIR) $(DISTDIR)/doc $(MKINSTDIR) $(DISTDIR)/polytable $(MKINSTDIR) $(DISTDIR)/Testsuite $(MKINSTDIR) $(DISTDIR)/Examples $(MKINSTDIR) $(DISTDIR)/Library $(INSTALL) -m 755 lhs2TeX $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.fmt lhs2TeX.sty $(DISTDIR) $(INSTALL) -m 644 $(psources) Version.lhs.in $(snipssrc) $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.fmt.lit lhs2TeX.sty.lit $(DISTDIR) $(INSTALL) -m 644 Makefile common.mk config.mk.in $(DISTDIR) $(INSTALL) -m 644 lhs2TeX.1.in $(DISTDIR) $(INSTALL) -m 755 configure mkinstalldirs install-sh $(DISTDIR) $(INSTALL) -m 644 TODO AUTHORS LICENSE CHANGELOG $(DISTDIR) cat INSTALL | sed -e "s/@ProgramVersion@/$(PACKAGE_VERSION)/" \ > $(DISTDIR)/INSTALL chmod 644 $(DISTDIR)/INSTALL cd doc; $(MAKE) srcdist $(INSTALL) -m 644 polytable/*.{sty,pdf} $(DISTDIR)/polytable $(INSTALL) -m 644 Testsuite/*.{lhs,snip} Makefile $(DISTDIR)/Testsuite $(INSTALL) -m 644 Examples/*.lhs $(DISTDIR)/Examples $(INSTALL) -m 755 Examples/lhs2TeXpre $(DISTDIR)/Examples $(INSTALL) -m 644 Library/*.fmt $(DISTDIR)/Library tar cvjf $(DISTDIR)-$(DISTTYPE).tar.bz2 $(DISTDIR) chmod 644 $(DISTDIR)-$(DISTTYPE).tar.bz2 else bindist: @echo "You must define DISTTYPE." endif backup: cd ..; \ $(RM) -f Literate.tar Literate.tar.gz; \ tar -cf Literate.tar Literate; \ gzip Literate.tar; \ chmod a+r Literate.tar.gz clean : # clean $(RM) -f lhs2TeX $(sections) $(snips) $(objects) *.hi *.dvi *.ps -$(RM) -f *.d *.dd *.ld *.ldd $(RM) -f lhs2TeX.sty lhs2TeX.fmt $(RM) -f Lhs2TeX.tex lhs2TeX.sty.tex lhs2TeX.fmt.tex Makefile.tex cd doc; $(MAKE) clean # all: # $(MAKE) install # $(MAKE) Lhs2TeX.dvi include common.mk lhs2tex-1.18.1/Testsuite/errors.snip0000644000175000001440000000004312022734321016557 0ustar andresusers% format f (a = a % format f a = b