From ef8354646420ae6364603d2fea33955cf87c3a53 Mon Sep 17 00:00:00 2001 From: Neil Smith <NeilNjae@users.noreply.github.com> Date: Thu, 29 Dec 2022 16:09:33 +0000 Subject: [PATCH] Optimising day 15 --- README.md | 3 + advent-of-code22.cabal | 34 +++++++++- advent15/Main.hs | 54 ++++++++++++---- advent15/MainDirectParallel.hs | 115 +++++++++++++++++++++++++++++++++ advent15/MainLazy.hs | 99 ++++++++++++++++++++++++++++ advent15/MainOriginal.hs | 91 ++++++++++++++++++++++++++ advent15/MainSorted.hs | 102 +++++++++++++++++++++++++++++ advent15/advent15.png | Bin 0 -> 67626 bytes advent15/advent15directpar.png | Bin 0 -> 46558 bytes advent15/advent15lazy.png | Bin 0 -> 25751 bytes advent15/advent15times.csv | 9 +++ advent15/advent15times.md | 7 ++ 12 files changed, 499 insertions(+), 15 deletions(-) create mode 100644 advent15/MainDirectParallel.hs create mode 100644 advent15/MainLazy.hs create mode 100644 advent15/MainOriginal.hs create mode 100644 advent15/MainSorted.hs create mode 100644 advent15/advent15.png create mode 100644 advent15/advent15directpar.png create mode 100644 advent15/advent15lazy.png create mode 100644 advent15/advent15times.csv create mode 100644 advent15/advent15times.md diff --git a/README.md b/README.md index 7dcb1e7..a617b7c 100644 --- a/README.md +++ b/README.md @@ -86,9 +86,12 @@ executable advent01prof ghc-options: -O2 -Wall -threaded + -eventlog -rtsopts "-with-rtsopts=-N -p -s -hT" ``` +Only include the `-eventlog` directive if you want to use Threadscope to investigate parallel behaviour. + then running ``` diff --git a/advent-of-code22.cabal b/advent-of-code22.cabal index 76f7671..54649c9 100644 --- a/advent-of-code22.cabal +++ b/advent-of-code22.cabal @@ -62,7 +62,7 @@ common common-extensions , RecordWildCards , ScopedTypeVariables , TemplateHaskell - , TransformListComp + -- , TransformListComp , TupleSections , TypeApplications , TypeFamilies @@ -171,10 +171,40 @@ executable advent14 main-is: advent14/Main.hs build-depends: text, attoparsec, containers, linear, lens +executable advent15original + import: common-extensions, build-directives + main-is: advent15/MainOriginal.hs + build-depends: text, attoparsec, containers, linear, lens + +executable advent15sorted + import: common-extensions, build-directives + main-is: advent15/MainSorted.hs + build-depends: text, attoparsec, containers, linear, lens + +executable advent15lazy + import: common-extensions, build-directives + main-is: advent15/MainLazy.hs + build-depends: text, attoparsec, containers, linear, lens + +executable advent15directpar + import: common-extensions, build-directives + main-is: advent15/MainDirectParallel.hs + build-depends: text, attoparsec, containers, linear, lens, parallel, deepseq + executable advent15 import: common-extensions, build-directives main-is: advent15/Main.hs - build-depends: text, attoparsec, containers, linear, lens + build-depends: text, attoparsec, containers, linear, lens, parallel, deepseq, split + +executable advent15prof + import: common-extensions, build-directives + main-is: advent15/Main.hs + build-depends: text, attoparsec, containers, linear, lens, parallel, deepseq, split + ghc-options: -O2 + -Wall + -threaded + -eventlog + -rtsopts "-with-rtsopts=-N -p -s -hT -ls" executable advent16 import: common-extensions, build-directives diff --git a/advent15/Main.hs b/advent15/Main.hs index 96f3213..097cf6b 100644 --- a/advent15/Main.hs +++ b/advent15/Main.hs @@ -5,14 +5,24 @@ import Data.Text (Text) import qualified Data.Text.IO as TIO import Data.Attoparsec.Text hiding (take, D) import Data.Ix -import qualified Data.Set as S +-- import qualified Data.Set as S import Linear hiding (Trace, trace, distance) +import Data.List (sortOn) +import Data.List.Split (chunksOf) +import Data.Ord (Down(..)) +-- import Data.Maybe +import Control.Parallel.Strategies -- (rpar, using, withStrategy, parList, parMap) +-- import Control.DeepSeq + type Position = V2 Int data Sensor = Sensor Position Position -- sensor position, beacon position deriving (Eq, Show) +instance Ord Sensor where + (Sensor s1 b1) `compare` (Sensor s2 b2) = (s1 `manhattan` b1) `compare` (s2 `manhattan` b2) + newtype Region = Region { getRegion :: Position -> Bool } instance Semigroup Region where @@ -27,9 +37,10 @@ main = do dataFileName <- getDataFileName text <- TIO.readFile dataFileName let sensors = successfulParse text + let coverage = mconcat $ fmap nearby $ sortOn Down sensors -- print sensors - print $ part1 sensors - print $ part2 sensors + print $ part1 sensors coverage + print $ part2 sensors coverage thisY :: Int -- thisY = 10 @@ -39,16 +50,33 @@ searchRange :: (Position, Position) -- searchRange = ((V2 0 0), (V2 20 20)) searchRange = ((V2 0 0), (V2 4000000 4000000)) -part1, part2 :: [Sensor] -> Int -part1 sensors = length $ filter (\p -> p `notElem` occupied) $ filter (getRegion coverage) rowCoords - where coverage = mconcat $ fmap nearby sensors - rowCoords = range ((V2 (globalMinX sensors) thisY), (V2 (globalMaxX sensors) thisY)) +part1, part2 :: [Sensor] -> Region -> Int +part1 sensors coverage = sum (fmap countForbidden rowChunks `using` (parList rseq)) + where -- coverage = mconcat $ fmap nearby $ sortOn Down sensors + rowCoords = range ( (V2 (globalMinX sensors) thisY) + , (V2 (globalMaxX sensors) thisY) + ) + rowChunks = chunksOf 1000 rowCoords occupied = concatMap (\(Sensor s b) -> [s, b]) sensors + -- forbidden = (filter (\p -> p `notElem` occupied) $ filter (getRegion coverage) rowCoords) `using` (parList rpar) + -- forbidden = (fmap (\p -> (getRegion coverage p, p)) rowCoords) `using` (parList rdeepseq) + countForbidden positions = + length $ filter (\p -> p `notElem` occupied) + $ filter (getRegion coverage) positions + +part2 sensors coverage = x * 4000000 + y + where -- coverage = mconcat $ fmap nearby $ sortOn Down sensors + boundaries = fmap (filter (inRange searchRange)) + $ fmap justOutside sensors + -- holes = (fmap (filter (not . (getRegion coverage))) boundaries) `using` (parList rpar) + holes = fmap (filter (not . (getRegion coverage))) boundaries + `using` (parList rseq) + -- holes = (fmap (filter (not . (getRegion coverage))) boundaries) `using` (parList rpar) + -- holes = withStrategy (parList rpar) (fmap (filter (not . (getRegion coverage))) boundaries) + -- holes = using (fmap (filter (not . (getRegion coverage))) boundaries) (parList rpar) + -- holes = parMap rpar (filter (not . (getRegion coverage))) boundaries + V2 x y = head $ concat holes -part2 sensors = x * 4000000 + y - where coverage = mconcat $ fmap nearby sensors - boundaries = S.filter (inRange searchRange) $ S.unions $ fmap justOutside sensors - V2 x y = S.findMin $ S.filter (\p -> not $ getRegion coverage p) boundaries manhattan :: Position -> Position -> Int manhattan p1 p2 = (abs dx) + (abs dy) @@ -66,8 +94,8 @@ globalMinX, globalMaxX :: [Sensor] -> Int globalMinX = minimum . fmap minX globalMaxX = maximum . fmap maxX -justOutside :: Sensor -> S.Set Position -justOutside (Sensor s@(V2 sx sy) b) = S.fromList (topLeft ++ topRight ++ bottomLeft ++ bottomRight) +justOutside :: Sensor -> [Position] +justOutside (Sensor s@(V2 sx sy) b) = topLeft ++ topRight ++ bottomLeft ++ bottomRight where d = 1 + manhattan s b topLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy..(sy + d)] ] topRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy..(sy + d)] ] diff --git a/advent15/MainDirectParallel.hs b/advent15/MainDirectParallel.hs new file mode 100644 index 0000000..ccf29d9 --- /dev/null +++ b/advent15/MainDirectParallel.hs @@ -0,0 +1,115 @@ +-- Writeup at https://work.njae.me.uk/2022/12/15/advent-of-code-2022-day-15/ + +import AoC +import Data.Text (Text) +import qualified Data.Text.IO as TIO +import Data.Attoparsec.Text hiding (take, D) +import Data.Ix +-- import qualified Data.Set as S +import Linear hiding (Trace, trace, distance) +import Data.List (sortOn) +import Data.Ord (Down(..)) +-- import Data.Maybe +import Control.Parallel.Strategies -- (rpar, using, withStrategy, parList, parMap) +-- import Control.DeepSeq + + +type Position = V2 Int + +data Sensor = Sensor Position Position -- sensor position, beacon position + deriving (Eq, Show) + +instance Ord Sensor where + (Sensor s1 b1) `compare` (Sensor s2 b2) = (s1 `manhattan` b1) `compare` (s2 `manhattan` b2) + +newtype Region = Region { getRegion :: Position -> Bool } + +instance Semigroup Region where + r1 <> r2 = Region (\p -> getRegion r1 p || getRegion r2 p) + +instance Monoid Region where + -- mempty = Region (\p -> False) + mempty = Region (const False) + +main :: IO () +main = + do dataFileName <- getDataFileName + text <- TIO.readFile dataFileName + let sensors = successfulParse text + let coverage = mconcat $ fmap nearby $ sortOn Down sensors + -- print sensors + print $ part1 sensors coverage + print $ part2 sensors coverage + +thisY :: Int +-- thisY = 10 +thisY = 2000000 + +searchRange :: (Position, Position) +-- searchRange = ((V2 0 0), (V2 20 20)) +searchRange = ((V2 0 0), (V2 4000000 4000000)) + +part1, part2 :: [Sensor] -> Region -> Int +part1 sensors coverage = length $ filter (\p -> p `notElem` occupied) + $ fmap snd $ filter fst forbidden + where -- coverage = mconcat $ fmap nearby $ sortOn Down sensors + rowCoords = range ( (V2 (globalMinX sensors) thisY) + , (V2 (globalMaxX sensors) thisY) + ) + occupied = concatMap (\(Sensor s b) -> [s, b]) sensors + -- forbidden = (filter (\p -> p `notElem` occupied) $ filter (getRegion coverage) rowCoords) `using` (parList rpar) + forbidden = (fmap (\p -> (getRegion coverage p, p)) rowCoords) + `using` (parList rdeepseq) + +part2 sensors coverage = x * 4000000 + y + where -- coverage = mconcat $ fmap nearby $ sortOn Down sensors + boundaries = fmap (filter (inRange searchRange)) + $ fmap justOutside sensors + holes = (fmap (filter (not . (getRegion coverage))) boundaries) + `using` (parList rpar) + -- holes = (fmap (filter (not . (getRegion coverage))) boundaries) `using` (parList rpar) + -- holes = withStrategy (parList rpar) (fmap (filter (not . (getRegion coverage))) boundaries) + -- holes = using (fmap (filter (not . (getRegion coverage))) boundaries) (parList rpar) + -- holes = parMap rpar (filter (not . (getRegion coverage))) boundaries + V2 x y = head $ concat holes + + +manhattan :: Position -> Position -> Int +manhattan p1 p2 = (abs dx) + (abs dy) + where V2 dx dy = p1 ^-^ p2 + +nearby :: Sensor -> Region +nearby (Sensor s b) = Region (\p -> manhattan s p <= dist) + where dist = manhattan s b + +minX, maxX :: Sensor -> Int +minX (Sensor s@(V2 sx _) b) = sx - (manhattan s b) +maxX (Sensor s@(V2 sx _) b) = sx + (manhattan s b) + +globalMinX, globalMaxX :: [Sensor] -> Int +globalMinX = minimum . fmap minX +globalMaxX = maximum . fmap maxX + +justOutside :: Sensor -> [Position] +justOutside (Sensor s@(V2 sx sy) b) = topLeft ++ topRight ++ bottomLeft ++ bottomRight + where d = 1 + manhattan s b + topLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy..(sy + d)] ] + topRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy..(sy + d)] ] + bottomLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy, (sy - 1)..(sy - d)] ] + bottomRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy, (sy - 1)..(sy - d)] ] + +-- Parse the input file + +sensorsP :: Parser [Sensor] +sensorP :: Parser Sensor +positionP :: Parser Position + +sensorsP = sensorP `sepBy` endOfLine +sensorP = Sensor <$> ("Sensor at " *> positionP) <*> (": closest beacon is at " *> positionP) +positionP = V2 <$> (("x=" *> signed decimal) <* ", ") <*> ("y=" *> signed decimal) + +successfulParse :: Text -> [Sensor] +successfulParse input = + case parseOnly sensorsP input of + Left _err -> [] -- TIO.putStr $ T.pack $ parseErrorPretty err + Right sensors -> sensors diff --git a/advent15/MainLazy.hs b/advent15/MainLazy.hs new file mode 100644 index 0000000..8b85ccc --- /dev/null +++ b/advent15/MainLazy.hs @@ -0,0 +1,99 @@ +-- Writeup at https://work.njae.me.uk/2022/12/15/advent-of-code-2022-day-15/ + +import AoC +import Data.Text (Text) +import qualified Data.Text.IO as TIO +import Data.Attoparsec.Text hiding (take, D) +import Data.Ix +-- import qualified Data.Set as S +import Linear hiding (Trace, trace, distance) +import Data.List (sortOn) +import Data.Ord (Down(..)) +-- import Data.Maybe + + +type Position = V2 Int + +data Sensor = Sensor Position Position -- sensor position, beacon position + deriving (Eq, Show) + +instance Ord Sensor where + (Sensor s1 b1) `compare` (Sensor s2 b2) = (s1 `manhattan` b1) `compare` (s2 `manhattan` b2) + +newtype Region = Region { getRegion :: Position -> Bool } + +instance Semigroup Region where + r1 <> r2 = Region (\p -> getRegion r1 p || getRegion r2 p) + +instance Monoid Region where + -- mempty = Region (\p -> False) + mempty = Region (const False) + +main :: IO () +main = + do dataFileName <- getDataFileName + text <- TIO.readFile dataFileName + let sensors = successfulParse text + -- print sensors + print $ part1 sensors + print $ part2 sensors + +thisY :: Int +-- thisY = 10 +thisY = 2000000 + +searchRange :: (Position, Position) +-- searchRange = ((V2 0 0), (V2 20 20)) +searchRange = ((V2 0 0), (V2 4000000 4000000)) + +part1, part2 :: [Sensor] -> Int +part1 sensors = length $ filter (\p -> p `notElem` occupied) $ filter (getRegion coverage) rowCoords + where coverage = mconcat $ fmap nearby $ sortOn Down sensors + rowCoords = range ((V2 (globalMinX sensors) thisY), (V2 (globalMaxX sensors) thisY)) + occupied = concatMap (\(Sensor s b) -> [s, b]) sensors + +part2 sensors = x * 4000000 + y + where coverage = mconcat $ fmap nearby $ sortOn Down sensors + boundaries = fmap (filter (inRange searchRange)) $ fmap justOutside sensors + V2 x y = head $ concat $ fmap (filter (not . (getRegion coverage))) boundaries + + +manhattan :: Position -> Position -> Int +manhattan p1 p2 = (abs dx) + (abs dy) + where V2 dx dy = p1 ^-^ p2 + +nearby :: Sensor -> Region +nearby (Sensor s b) = Region (\p -> manhattan s p <= dist) + where dist = manhattan s b + +minX, maxX :: Sensor -> Int +minX (Sensor s@(V2 sx _) b) = sx - (manhattan s b) +maxX (Sensor s@(V2 sx _) b) = sx + (manhattan s b) + +globalMinX, globalMaxX :: [Sensor] -> Int +globalMinX = minimum . fmap minX +globalMaxX = maximum . fmap maxX + +justOutside :: Sensor -> [Position] +justOutside (Sensor s@(V2 sx sy) b) = topLeft ++ topRight ++ bottomLeft ++ bottomRight + where d = 1 + manhattan s b + topLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy..(sy + d)] ] + topRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy..(sy + d)] ] + bottomLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy, (sy - 1)..(sy - d)] ] + bottomRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy, (sy - 1)..(sy - d)] ] + +-- Parse the input file + +sensorsP :: Parser [Sensor] +sensorP :: Parser Sensor +positionP :: Parser Position + +sensorsP = sensorP `sepBy` endOfLine +sensorP = Sensor <$> ("Sensor at " *> positionP) <*> (": closest beacon is at " *> positionP) +positionP = V2 <$> (("x=" *> signed decimal) <* ", ") <*> ("y=" *> signed decimal) + +successfulParse :: Text -> [Sensor] +successfulParse input = + case parseOnly sensorsP input of + Left _err -> [] -- TIO.putStr $ T.pack $ parseErrorPretty err + Right sensors -> sensors diff --git a/advent15/MainOriginal.hs b/advent15/MainOriginal.hs new file mode 100644 index 0000000..d04b1ea --- /dev/null +++ b/advent15/MainOriginal.hs @@ -0,0 +1,91 @@ +-- Writeup at https://work.njae.me.uk/2022/12/15/advent-of-code-2022-day-15/ + +import AoC +import Data.Text (Text) +import qualified Data.Text.IO as TIO +import Data.Attoparsec.Text hiding (take, D) +import Data.Ix +import qualified Data.Set as S +import Linear hiding (Trace, trace, distance) + +type Position = V2 Int + +data Sensor = Sensor Position Position -- sensor position, beacon position + deriving (Eq, Show) + +newtype Region = Region { getRegion :: Position -> Bool } + +instance Semigroup Region where + r1 <> r2 = Region (\p -> getRegion r1 p || getRegion r2 p) + +instance Monoid Region where + -- mempty = Region (\p -> False) + mempty = Region (const False) + +main :: IO () +main = + do dataFileName <- getDataFileName + text <- TIO.readFile dataFileName + let sensors = successfulParse text + -- print sensors + print $ part1 sensors + print $ part2 sensors + +thisY :: Int +-- thisY = 10 +thisY = 2000000 + +searchRange :: (Position, Position) +-- searchRange = ((V2 0 0), (V2 20 20)) +searchRange = ((V2 0 0), (V2 4000000 4000000)) + +part1, part2 :: [Sensor] -> Int +part1 sensors = length $ filter (\p -> p `notElem` occupied) $ filter (getRegion coverage) rowCoords + where coverage = mconcat $ fmap nearby sensors + rowCoords = range ((V2 (globalMinX sensors) thisY), (V2 (globalMaxX sensors) thisY)) + occupied = concatMap (\(Sensor s b) -> [s, b]) sensors + +part2 sensors = x * 4000000 + y + where coverage = mconcat $ fmap nearby sensors + boundaries = {-# SCC boundaries #-} S.filter (inRange searchRange) $ S.unions $ fmap justOutside sensors + V2 x y = {-# SCC findMinV #-} S.findMin $ S.filter (not . (getRegion coverage)) boundaries + +manhattan :: Position -> Position -> Int +manhattan p1 p2 = (abs dx) + (abs dy) + where V2 dx dy = p1 ^-^ p2 + +nearby :: Sensor -> Region +nearby (Sensor s b) = Region (\p -> manhattan s p <= dist) + where dist = manhattan s b + +minX, maxX :: Sensor -> Int +minX (Sensor s@(V2 sx _) b) = sx - (manhattan s b) +maxX (Sensor s@(V2 sx _) b) = sx + (manhattan s b) + +globalMinX, globalMaxX :: [Sensor] -> Int +globalMinX = minimum . fmap minX +globalMaxX = maximum . fmap maxX + +justOutside :: Sensor -> S.Set Position +justOutside (Sensor s@(V2 sx sy) b) = S.fromList (topLeft ++ topRight ++ bottomLeft ++ bottomRight) + where d = 1 + manhattan s b + topLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy..(sy + d)] ] + topRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy..(sy + d)] ] + bottomLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy, (sy - 1)..(sy - d)] ] + bottomRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy, (sy - 1)..(sy - d)] ] + +-- Parse the input file + +sensorsP :: Parser [Sensor] +sensorP :: Parser Sensor +positionP :: Parser Position + +sensorsP = sensorP `sepBy` endOfLine +sensorP = Sensor <$> ("Sensor at " *> positionP) <*> (": closest beacon is at " *> positionP) +positionP = V2 <$> (("x=" *> signed decimal) <* ", ") <*> ("y=" *> signed decimal) + +successfulParse :: Text -> [Sensor] +successfulParse input = + case parseOnly sensorsP input of + Left _err -> [] -- TIO.putStr $ T.pack $ parseErrorPretty err + Right sensors -> sensors diff --git a/advent15/MainSorted.hs b/advent15/MainSorted.hs new file mode 100644 index 0000000..7fcd5e0 --- /dev/null +++ b/advent15/MainSorted.hs @@ -0,0 +1,102 @@ +-- Writeup at https://work.njae.me.uk/2022/12/15/advent-of-code-2022-day-15/ + +import AoC +import Data.Text (Text) +import qualified Data.Text.IO as TIO +import Data.Attoparsec.Text hiding (take, D) +import Data.Ix +import qualified Data.Set as S +import Linear hiding (Trace, trace, distance) +import Data.List (sortOn) +import Data.Ord (Down(..)) + + +type Position = V2 Int + +data Sensor = Sensor Position Position -- sensor position, beacon position + deriving (Eq, Show) + +instance Ord Sensor where + -- (Sensor s1 b1) `compare` (Sensor s2 b2) + -- | cmp == EQ = s1 `compare` s2 + -- | otherwise = cmp + -- where cmp = (s1 `manhattan` b1) `compare` (s2 `manhattan` b2) + (Sensor s1 b1) `compare` (Sensor s2 b2) + = (s1 `manhattan` b1) `compare` (s2 `manhattan` b2) + +newtype Region = Region { getRegion :: Position -> Bool } + +instance Semigroup Region where + r1 <> r2 = Region (\p -> getRegion r1 p || getRegion r2 p) + +instance Monoid Region where + -- mempty = Region (\p -> False) + mempty = Region (const False) + +main :: IO () +main = + do dataFileName <- getDataFileName + text <- TIO.readFile dataFileName + let sensors = successfulParse text + -- print sensors + print $ part1 sensors + print $ part2 sensors + +thisY :: Int +-- thisY = 10 +thisY = 2000000 + +searchRange :: (Position, Position) +-- searchRange = ((V2 0 0), (V2 20 20)) +searchRange = ((V2 0 0), (V2 4000000 4000000)) + +part1, part2 :: [Sensor] -> Int +part1 sensors = length $ filter (\p -> p `notElem` occupied) $ filter (getRegion coverage) rowCoords + where coverage = mconcat $ fmap nearby $ sortOn Down sensors + rowCoords = range ((V2 (globalMinX sensors) thisY), (V2 (globalMaxX sensors) thisY)) + occupied = concatMap (\(Sensor s b) -> [s, b]) sensors + +part2 sensors = x * 4000000 + y + where coverage = mconcat $ fmap nearby $ sortOn Down sensors + boundaries = {-# SCC boundaries #-} S.filter (inRange searchRange) $ S.unions $ fmap justOutside sensors + V2 x y = {-# SCC findMinV #-} S.findMin $ S.filter (not . (getRegion coverage)) boundaries + +manhattan :: Position -> Position -> Int +manhattan p1 p2 = (abs dx) + (abs dy) + where V2 dx dy = p1 ^-^ p2 + +nearby :: Sensor -> Region +nearby (Sensor s b) = Region (\p -> manhattan s p <= dist) + where dist = manhattan s b + +minX, maxX :: Sensor -> Int +minX (Sensor s@(V2 sx _) b) = sx - (manhattan s b) +maxX (Sensor s@(V2 sx _) b) = sx + (manhattan s b) + +globalMinX, globalMaxX :: [Sensor] -> Int +globalMinX = minimum . fmap minX +globalMaxX = maximum . fmap maxX + +justOutside :: Sensor -> S.Set Position +justOutside (Sensor s@(V2 sx sy) b) = S.fromList (topLeft ++ topRight ++ bottomLeft ++ bottomRight) + where d = 1 + manhattan s b + topLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy..(sy + d)] ] + topRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy..(sy + d)] ] + bottomLeft = [V2 x y | (x, y) <- zip [(sx - d)..sx] [sy, (sy - 1)..(sy - d)] ] + bottomRight = [V2 x y | (x, y) <- zip [(sx + d), (sx + d - 1)..sx] [sy, (sy - 1)..(sy - d)] ] + +-- Parse the input file + +sensorsP :: Parser [Sensor] +sensorP :: Parser Sensor +positionP :: Parser Position + +sensorsP = sensorP `sepBy` endOfLine +sensorP = Sensor <$> ("Sensor at " *> positionP) <*> (": closest beacon is at " *> positionP) +positionP = V2 <$> (("x=" *> signed decimal) <* ", ") <*> ("y=" *> signed decimal) + +successfulParse :: Text -> [Sensor] +successfulParse input = + case parseOnly sensorsP input of + Left _err -> [] -- TIO.putStr $ T.pack $ parseErrorPretty err + Right sensors -> sensors diff --git a/advent15/advent15.png b/advent15/advent15.png new file mode 100644 index 0000000000000000000000000000000000000000..7cfeee906ec02012ad722cffc2baed07ac278c95 GIT binary patch literal 67626 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%0DLMs^o9juS|M5rV}1cA@A0<a7<i264+h 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 literal 0 HcmV?d00001 diff --git a/advent15/advent15directpar.png b/advent15/advent15directpar.png new file mode 100644 index 0000000000000000000000000000000000000000..3ed68ac5f5fec5bcc435ed80dea9063d511a8916 GIT binary patch literal 46558 zcmdqI1yt1E*Eh<{(A`KkNOun<2oi#bbW3-a<bc4?2-2yDbW2GMg22#<bT`r=F!Vd> z|M#rtK5^gmymzg;*1Zc@!|d<*p4exf&;Fc!_KAL`p^S%3g^hxOf~WFC@i__#Xaf0H ziHVMsBuXjOBR|kzswpd?-2eV5XfIAdL192qQIvn-m$SFvn`5l!kGLProS7-(+4)|k zr&bqZZIs43r{BAPF9N{*_yCAbO#F)BH4EG8q@+;BBzoz0EU%OJc-}>D?)9K)$KgE? zGicnXS}a<~y}n*sOw}!)S(s@Rk`ijozt}CBayV!|ofjJYbUoB^L6gLylKemYb@;IX z%Y{k9d_yx+oi(2J0}j#ffw^QZYL)(sZWJ|W&6N5&Gn+r+^iX_37XUE;7uQ@))-SJR z!p$muXISv+)PieD2z{wttV17o`5M*^<AcN_D;h>fCv;8*tKG~>VX9YK6*}~&MRyt< zqPw7KR62P&45&d9A@slwZ1u9=-^}~ECn>1(J_3y-OsCr@5ln=f69rUBfIARE*<6f# zqPv#Vk5oTz{?5`|$X!FEW;_%FatYsWGGB}=r$k^KVUkaL%~H5o)2sT9S1Lfc8g{j_ zel8TMxq2-UUw)MF;Xy34(`bvm$?U1IzAYEB>bfv--$AIEEj>_1_Z#^{LRUgmC7<vC zm;m9L(Am!pN(5EP;T)l@n$0$`+~+@oi0WqJ)&T5KecV=~pc2&cxT}j_Ov@n{P=eXv z1sFLB#YIbdLUZ428`&XW=mkoXds~U9Z@3g$GpK~CW@H}EiNpOc&YwDyeAV<$`)Xd) zH^St}&CH~cVl~TwcV%B2-i8iL?`qyu^@h2zg?jdnJ|3S;P1agsxoeTIHeC?sABaUE zrp`oH`987sNP}&43*sl(Gy`WnUYO@1JG2HPxSsELjVLIk_7uy&2t8!IA0@g7y~RA$ zt=NDaq8#ov&Clai;n}gv@PDR8h#mvjGg`YU7)JUqpqhQR0>=bUq%zm2R@F=nG+eS< zAq(<>11DMQ=Nqtlph-s4yLE|L<$Dx<flJ#1bg}8<nzM-B+zXVDsVyJcBga*W3)UW2 zs4Y>xWGRV=+X<iNW`$om(LL3C0B19DJo&&mh!Hg4wyO<~Rm~XJ^zBWjt7bzB^}NS& zcMpa%<#HvA4;nHp;0tO+p9VRpx^zY&`nn~DjA}i4+HZsSCis2BTeF%O0^<;$=B(i! zr=rb8J+g>=m3gUKu^#`N@D?uJcWV~AIPp>;s)0O;)iiFh$6YTN=-O67qC+gMaF6-a zV#uxt1#G{z#2`T4Ci&KzRpOM(7m$1+dX$W&u6A4ms(aoQ#l)tIUsfo4G{Ga}v{o_Q zt&}%ilw<jY`5g(K>gJqA2b5l)Gi0?wa#f6LhBRGd*;^K%{#?B}FxSvI$P_>mK%3F} zl1!4Wv16?H)Ob0YrgPJR>bN@Rw%R#E73{Gzr(A8XQ#}^-#B8&ohAUb*%viKvbn`%w zE4tcfXF_h?vb|)<XLDZ>fY4kW{p1YqWbSDv*84R#IiFh*-rV$2Pw2R7^GontW-CeM zT94y5>S!}h&nsu!Mf7viRl06SMk`4>8Nw-l?yRS}rRcU%$W_5;_*h8oO3)X?<pp*M z(qgGDrIQjRp%7~?JZ;BD(64HnnG&?|7~GK_^QkAyiivxQHrw|Ur*wq+eSX_9v;a#( zxmUm003DmVMnw~34b8!rR=b|t0PCXzun!qz$Zm`>THk?l5!VG5-WMLL<Er#M^LU#+ zt5b_YDRZODbS4OaAtM2xo8)mo1D~f@O)I1xiV+SJ&qln`>tv1;#c59Un{AX_oe}AH z0=9{6QF9eSLO~QS%iYQ6bU(SQMNo-Bk83DTk94eAZ_72q$S7@(*~^6<|JD=)l^(LQ z>BOVf)4p`yrJ$Y;2k2>lMHTSsg>=tUgX!A}A=j_FAy-W;)W+z36vstW7eoYt(^ACs zNXv6r1)Wv)Xt(61af`Vsl&|%SHk)p`m{TtEMJFl;tL1d6rFd^TyFr?h7FBN~E{In1 zg86+FDEIsxRPg;LjD5agl75qd6n}VW93`R%m$+*BQ-;Ifh1zdKew+Nb;r~V;+-Mxd z+^U)^?7&^d`WwPk;qMK9zxUzozZ0y%z5Q}645us(zBl8arcHWhNX1v}9*LwQ|7#Vl z>TWCYrrp#i+?7Q4AO7FB8=)#DSL%Flp{FqS_GZDjOY}$CQ~1&_nUey~?0*nc{v&w* zuM+>g;Qv~OUD0Fj{m)2D{_B|5`qtO;BS+_pEEm5E`Topo^%^pIwaH6+nwHn1h7=3g zEw+99&*T12iugYk>~Joi6rD>wcDcY?qa5|?70Nq~6Z?>@MpHdY@5-^(09@j+0GAx} z8I}1}!k2<rW2UC`6Q{&{i=b0W`Uz9AzRdA@{rYiw4_&+C+2gTNQbMR?Jkt~We|O&Y z;Jbk9zl}-SGkv7M|MZvZABX(Bt|aaE^mDMrI{fbhTcuSd4Z_vg$8omc-<_PG8}%<6 z@AJ&t@jA{amJ9-Km1@u<MY+X>R76`FznlJV)VT(p_^m0HRE4bfukhSR{kjO}tRY)K zKr<%d2g=-8)oyG1AEVUad#ZK&a+z+~0i7?D9aOE}co}?h|LE1!*@EdGU6+Z?zyBQF zEOto%5ehYcpKu=mmUWled)lYzQ72gkt5J}Cx^q34kRaJd>gdYK<nWvx)dfZL*UUjN ztj?lQ=T9YdR4!UUL`SIZ?l(cpm+%v=&<NNJtUhIf9vBR0!|De~!}LOJSuYIG_5cS@ zC);Ib?(krpD17RTMu0uG1KRZ8eJypsEiS=_sfF^PEWkQ}dPEn`tC<gq5<-<BOHUhr z9+tzbd)h}w(L2<Q-6&>VNXFESUx!$P?*AEQS;oqcwlr<?1MyVE>=v&3;jb*KAc4n+ zx~nbi8fd&|dFeNuoeM~Rmrh7AHA<}{)fa1+H8uR#PHfv861Tt;Ki4EQy+8YnXy?l0 zoxUhe)LZl~s}~l?toKW9N@FptpgPg3^Di^QxRGMVXF1pFDR!0xA;{gU&%BnSdWysD zlbR77am`IFVk7J+xluB^ljk#Z=F)E3b(Jr$M+Vc83!$&=w=E&pM@G}HArr|>9;7Xq z`g{6P?fP*@We%C8JJY9X{chul@v>4-T2NYZ!5z`D$fztUZ<Q?i4S5Fo4Yhmi!meWv zC^M+VtODc8`CiBz*ca>m+w`6{WNEO+tFNn?4!&44{ki#&u759ta*<=_yZMcd5VEQN z%9`6xHV=IL@urB~d5HAtb5+`Eovx`&Sa(b5o=y>6=-(4XV1R$4AB#@PD;v7&5S)~j z*S=!|Z?PNgUcB(sYR~eE;rZKmx#c8Q(_F@v=Nf!J>B?#%D?g+Eevs_&tWi_byPA@l z)8OXvhWfO*&FWaS=Pw8fdl*P+8cq&{CHLeFw6=t*>3>OOjn;ca{>QvOycr~YSVpZc zzS_KhLzjNy;NiuedzK?U?D<uq&S$@@2>w0(?@H<|Klc+$7dLH?U3}i_h}L2B#qZfd zV$+Lb!<5czRnqF}TDof21688x&RUx4kOL*E!)9(0e`x8@ZWCC{T+`b<QLK-|7#3w` z!->LEVZ*j{{6OqOO!~nw`M_MQpN`Ion)Rd<?p;Dm<9pG6u<hRz`ge_{^7&HFz*Jo% z?frXPWZ+)Q+x*O%p|<V<_pq?wqN{e}(L_J(okskn0{{BrKS(GnNQ<U%i;n446V`AO zX%rjxLq(|ClBn8-)%(+TpYP=35&@ytBkwYsJd*N3zQ9fZK3U7skAHa$=5er`79M{r z>tnKs{hThU;2z=~_;>zgALpE2Vck;}-<+Bo^}FbCfApy7QI}VK$!v{oJetQdtMvUx z63;S!i>6*@<mQ7jE0P~^~xvND|fM=e|0$rq9|FE^R;>5Ph8nEI@Ng7lUf?XPUv z)}DV_))srBwV>aFxs1ncaU5Fgo$s`XHHWUT6||mUaveA?yy=N<_93pJ`mbNKx59o} zJi(=>sMVh4n_{W-?Rs|^cQ%FYNaGIrwSvlRZd@WoqOEm%y4y<Yk0nuMatmP?>-7QA z^Nn7ysY%%CU*mkLi%Ultu2?fHuupQPmPpqd8=~x<RenQLQsFbP+V-zy3|`Z5{0BqF zzanAv*B@AI^BC5q^@Cnog|?tg+GKt;CO;xH!tTu;-1SeML1U(fnR3LZo*rHj$|VB} z_xsdR4s8wIMC!3MB?2)*%}_3Zb5fcOFG4-3KK|nf{%!I8T~T^@^E~Es6!qR?&IhX! z^ZirU6`4J;mmI^7@ogsc^7d&~33-M%uIK`$N3~u-L!sPFo_GW&6O0E)(D{R(f|+`X z^78^PQAa<$vM?%!Zc@WY|HSj)Q`7t}^|24jqA)rCtTDsNaAVDd@}gyPYaZ^c<nLm3 z4{Y2-pUEZ@{%gVf%0j2SY}E^bEN)x3Ws0Vy6{<XTw8DzL8uph~|ECOkcHtF5^fsUj z#MN8}#-mDuJ?EuYLHX;yp1*2g(zvg(lu5ZV9tCHYXMUOW5G}VGHz4S4lWZmUr;vdS zS*;F<r^M}aWojF0e`@8^ZmrS4w9~pzzP`T>XLVvvSO4+CdX@j?+$jF>cfXDYgf!2> zxg~Vz2t=!Yd69#%f12|wIB~yp`PsF0rlVfbwaT-~bg+8ATi@efRs_r$=l{3$_RlQ* zr5NoV>%4spd#G%<EgLS2gXw-4TgQ*nPQ!>BE!IE#$A#FCMR+3F2l&?Lx2oTc5R+@G z%j2~(hiY0dQV-026yC{zJDBEeR{cvoUYmlg+s?cC{q}7sk?%Ek=uB{07={=A#a`ZO z7!i%zpAFO|Y1{EyIx5)+?v~n0D7QF@`~GWHztsr(T>@MET`rlm({R64<`89|U$bxh zU!G8u!sQ@Y*-_StE}dGRA=4)RqwE^+2Pez)7Wk2xN24?}7@T|1OEddVhXlLDZ(DVT zEJR|PtEPu(|Cqeh=^uuJL_ZzJw*L{!!62yJeqB~K?cPq$>Cvj%gJYH1#nqg@gc9&D zr^$2)^YMWp70!Ub%&i}ijQ*iL|IylK=NsHP^p3p?-mx5)4OiY^bgpwo_GcG|{Nclq z<+*r)&|1T1pqySbb%{weX@<W>^Zkf>&2z}oz9?Hu7f;=id@yQu=&u)e(N=2Qtu%ts zd$-Xe6iEji{+GByL-dH^$2ZfTk#R9tLv#)#|FS;!k#)5pbNQld0SBtcyr{YNhN+|v z2#VvLAZOUJi<_-JZJcW%PAir6bMdTynWG-hNUZOB@{!_P7rG5iHDW&9_Qa{bkfAsH zU)iRTsOA}C+7bWLa2FBs&C&zvLxysQTC&lIb|t4Lr5JyNHo~>ahG2<4LOQ|Av;)No za`0Wa_@g*I%MTFIm`L39ANT%m^!KmVr#3jKS~eKkbS!ezz}sHol^OPjSBCxe1*rn@ zTl`T%n8Njt#8X;P6wNg6{P<4-(IFdJGT1j_HMaT}dBb{{T@ib>7}qmjTn?;ceMy?G zwU)7#>3UthwP&C&b`doK34n7@oMCNy3lS0n<viZJ^*%38t|Ou4W9&v>aY2|6q!rSN zT`^jh<ceZ6{l!tK!5XQqiTBa=sV-ki1_fiAEh}vco^qGz$UGfl>vK3isZ5!yTuH<d z2JxpyRBY_tgn3e~f0cZRqd(&Bv`$#woSt|}D7&E*jJo&qZXe*Xv7VxAQx|vWNf(Q` z9!d%CjQ=(E)dJr=1B}sM6VE(9crE^=k0bEalgg~2mK!N9eL0FK@gA*nqL8ppDMfFv z`WoZJqont?+&yk0x9W3UbxVdNR`WKxg4gYeAbPb>SqqVP@K^cZq0{Zn`zt4sj6n*2 z$t{o9B74iSGu;FObHCgziTP<W(7k}Ip+=z#%n9>75>|GbC`;7t+$zbW<@B#!l?s%^ z&v2VlU*LU$JZ>1UW#zM>s@}*3(>C8vpOhN+29AI&=7c2Ta|1IlF2m~@Y$ZKW?B1tN zz#Q_>!SQqnV~@oaejPo41YDBMAuv`K_jGcGLu#`$u<^>$Se0=k456AIGjS@`Om1R) zJ;d^@`R<=A^_ga8>382-J{BCXOknd6{w4~WgmBY-8V9WV3CWf`(F)=nywt<5O|3M> zrjf9ZB{v<xmgz73p_P9F8&{Hg8W=%;WQc!Eh9Y?>PT|QxnPvArx*mbKWGQ`2AfW1q zZCe*dZNKu6M^TtaTs2SG-bzZ!FFC(17Q>!Vv)~Ps%`oE$Xx!eM3eW2Z_0U4<kdH7( zaO;SY%6>JZIhi+DVkc2E`9p1qi!u4c7~DA4L8q5y<R!M}3@pT5XcuyeQn5MwT1Gk> z1)?;vb%8)Xv}PwrFOqg1;%o-1feffn^nu(Kplbw0utHv@mq2=H_pD}u%_Pv#kH^Sg zg5c-@!HLS}OW?8nY6D9*@m=;Ax2E?YS`J*8cLn|)y~Z9mNlZXaS~N?qZpBG&&797k z8@-+h$D8k$2InqL(WA1R%JXirej-EI7o^x5!}~6IbA`XbS;2{Wwer&Dfa02*QFn?_ zjTt3C#WH8wH%wtVqe-ATs=4lotJ}37_0o#F&#`MznvMSOlz#t9l##XFo1|i`n<G{v z0b($)dGQ&GOyJGW@Jb(5o>VoGeHGVVoN2W=)c^>G(@Pm!vNmOAZG$gDgVXOBqq=23 zrixCE3+#n`uEv!h|2`1Gy}{a+{d9hqR7O6~(8D>SyI4FQ@53#CSAmP`GUa`vbcEO` zcL&^quJFwTN^H!$8nYYY)4)*g`Qds$-tm<0+zQg!`h(amY%&wgnJs~dwkIC5$<ElB zJ*2@=zV294&oz}h8z6W&qc2PsZST{^yKK#2cL8T&DfP-Ug{h^+{nz#@tCoW{p3=J# zYt#E*ht{||aKgb$$la89ru(e+0vNH@SZuga8@H9BrqL9MyHx`T3WTz9vr0W#5vY$l zU7R2&Ea7dSiRVTmcNY<J!@uxAJ2p3)aKz3v?)U6xDOM_OND^uZ$C(~UM4#at#LgRj zA(?^iw9ezSk%(ZWH<y~ibIWfSTCr5OB|8=W!ZM4A7V@xS%~<!@C=X3hR6I9}!fn!i z9_#~PYT{d$(p}D+A69OKEx^QUtk*d(dJZR!v4G^MrHFF{k4lA#`W8^8`~FCs>gPJp z^vSl^M4vtP2I10{1}|D;x>aW~OT6-0Ly60Swy4GTpM7*L+WfqY7Y?lkZOD%W>#Q{O z7en%zAq1b47dwpe-+%TvT@~>J3}$vY&ks0C45VXB*PV<W5>HZW7scbThfvNMe4V@e z#_-siddf3t{HmvtU0J&Lge`dBCH~P@lG&+#wvnx+Oy51wK@Sr$=xm+wCI`Q*a<t)? zIUty#MzUoj(CoyOO)ZwYjO+eJSI`uPZ*2uAJNY3*M$%xUsg!xORK_-)CXr$q#%b7+ z--?iIML4d$xx#63HJ^ARyOzrJXPfzZ=edg9d0ze5c`iQLEDh!*_$IO5GLo97_nGGS zye`tO%3-T?GAS#x6SW`$9SFH?OI;Zr#3A&<@*V3LAaxf1k}eTXdn5Wa2qR@p$BF&L zx1TMoGhY++yR>yA_kSE7=}P*Wsk}U^$*w+9_i?xEI@7DkoXIhBTVV7#;kkp*wo!z# z<qbX#e4D8wUerw|GZ2!)Kb?1KM}86*td5~s-rvFe$}b6Yla+spNsrQjK~wd_XrOQE zUt8F}EI3`pm&;(d*Ig2^rRB0EWc>Q{h2s-0KlH7WMv}Az*w!VFEVXWqfz$hFYYwAt zFb-q*Q&!%x^t$(D*bbriY;~b{;IDdI3va{NSfpEvl8VAbZYZ-`_C9!zH@_VTF6_FP z=wabq;|Yv)IoaEMbQj5?&S5a8S_&yjb$K-5Xw9*2-8N+T5W;<GZz+>K-EDYKnBa`u znaC)Bo31n>#iEb_k+p7aNv?(0F_bSuMPnUk#nR8v(s(F+wA$Y;S+G=BQnG%YtgD{k z=Jp?Yo-x9K^oyZ82G76y#frz8ozVFlYg{E9w8zLYDGU}|I9m|w9f_XE?be#<muu$K z%UyjN?CVH1_WZtmpZZ-x$`-}ejrCeQksa=qK@-*g?W_E`JN+C2dm)e-A(2$=7R#zq zmb2NV45J&bQ!h&8*h3Nlg-rc|3%f@i!`p7^whPeNZv%#^CK;c|g3fxj9ja#YhUKby z9($)ngHxuCK_gbwqX2wCNa_%m2kCYiC-27q>x^ObwBrZ9I-fao9DT5qZh510XRp+A z(D?!4@!;YURM$;;K``vmxx`o|i+zp*O`r5clC=y@OG+zFrI#wt*-k;k1UrxO%f*`a zpXx((HK?`JsPqSN<TWrf3QJXEcX~N_%8>5HiBd+K+HTE**POKzb+bOw_qiVEtH-e* z_kmDuipGx-prix0ETzZLhunI5Yb?!bFHaVgvW(B}k|(~^93a`?fHE?pZqI(wj7KFd z8PXGj{zUK0LPn1!YLjC9Gv<^YY&Bn5jtA(ZBfM5<y6JJN+R|#$JZ`ti`)l8PRbRE) z95+b|dhz`O@x@Uh>tOT8onFxg37I*DKiQrnzYy?VL;P|L#R5@GoWDq<h2Y<XMc<Ho zXf|~pL1|a+M)seqnO7>ll(nNuQfi3q;u~>B?<(=dK>C+;V*KZ#N!CLJwPBu7>4T`T zJAh#eg`#YJCg+M0FB0Ss3XT`F7tFP!CmRH^>5sS<hdlk!99!~VnSv`YLGiuW*1Y@b z+=8mi`>dRVYuf#4XIHpZWxtTUxh(xi$5s7N>tR`6nQ>~~cQbnu`{F|E5IL#@B_yZ) zF0Lzvz?`-;y@e$%jdwcg9a<fnW)4aj^jhUT$s7GC{C%LWCENEDl?wt2SIQdV&a>i~ z33H?_S!;mN!uKKUQL?FceN_z)ey;CIkPGG)*QO4`lOLr_QFwS<OJ*v3T*~R45S|HC z?qcG;UE^``JKl+Uh+EDPGC|HKQ`8yJwd9)`6wF1$Hz?VNcMLK)lkHT?=nAB>-6b^A zy+5^Rd*s6F-sTX}Rungd9oY2xxZpFrYw7BlDQ{D?;_(&L?(x-T73uL6_2BW<R@Jnh zH@H9N{pYr_`)jaC8>phdO{0@22DfzQ$3T&j#Ug{}`65gT!E;C}JRo@&+Hf--x=X)# zaVdHawsPd%Ajs@fj-0R3H}a!c+WJh?Cy}UTFygDUSRg3TA97j^uKzx~&D_W3A2*ai zCFkU|F!XgEezBsDkE7AaUuE32n>mbuB>zOMDe3M)`Q=_hk;}XP3Pb<p;cDrv8{8}4 z1CAh1hbIICM?b%e|9W-h%VRWnC6D6}YHciFm16+PxmqZ1=-(}y)7Sms^EC_nMXM*^ zX~n8`r^UAE%D2YX<2)tGCG|ar5w!&kF<Vyj3HEtFUKOe+$-ZTA@$OU$wy|e^sSZ;^ zOjQB71DReP@PfHd_yQ00rB7oWG_|8+yKN?)$EcA~mA92tSu&<%>io2!5o*G&KCTkk z*Ev^E5wUx~3~FxBN1ieCzLQt#pc4beS8xW#*=m^#W*G>ti$avrjt2l!nk#P^F_t)7 zP>+z<fH5qwS@!|eb9PeCUkguyT<=>+KP}RzU*eHZ+`hd#efOM7AK>@%EsK4iJ<V45 z+p{b!zbw<(9m7d|MPw`~-P0n}e<SS(7Z@MDD9c-hAq(AGC#|!7Xu4Hv(<87`)=?5! zs`J84SVzmqL8l=XX~wzStVTtiUkUUQ(1y;P@R63BQeR9JiWM=++fY(vefF4q;%sQ$ zYw@|;0#X%5BmCk13OT?IsE|eIakujOcGM}0w8Ck=hDlCNtKISvo(9fAW1G3PkRf6X z+r7XgD}C5Zs>^E@l|oKOO%W74FLFb$F1|-^A$i?nd<OIyD2_zSb|v-6s~!DFi5$so z@{~bgOs#RuHH{Cs>Ug*nW6wmw#T$}&z-8|uSqJB-@>5#gvL)2!U6-2b@u*PQ)}6lq zC2`Gb?}H~A9GF6ey8AXWsr6my_Z4*o(kYG!^EK0qdjw@3E1Z0J;9%Oc4`#kJTk+pB zyrK>E3=R4x7eF}OA+LF@_}j<qCRfIC%pdumbQ*?Z_4=MOV0f{raS9!-P$dv&@UQz! zq;)#PiAAu&F3_jz$hR8Q=?}F=w%my3CI(LDz*br&3!_oT=&S!Z5}odnw}UIhd3S4s zcYI!-mU6lSo)FpfsItbVr=JX>+cXNyp5o6=tjqJvP*?tTu`qZR_(lw``EFxgqY8CO zHoqdfy8bP@AHzgD-<HGXQ8lZJw*Nd#;wCMdb2f6&pVkxM_IQq8cW>)75F*Cb)O!KW znsVbh%RyS@TXljtgfLF%fvT7_%E(gIUtj+><XHqaSw^xA{!$veG7jnakz!4m@hK#J z>8QnMdr3)T;~-emJ-^mqJ3MeOtQ6geY3m3;?C68T!jG{;gvFnW;0FI#J^R7BW^Ub1 z)gNEGJ6J#TQec;J0aqni>8q0@mU@MkP}!qEgP$t2<Kz<!Wz%muuLlI9S=CuSWZ-{v zNqT=JJi@i}cI6XWJ@;AAZl>Osw6}W7WTX~PEh`YEAN;UOH&w+7SJUc)aqsGA+iXme zg<ZH`@@lYC;;4U2@x0<|EUD5dTsS2mh)LsWcG<*?S$wJfK)%*MPvNn*B^l|2r8V!0 z17Swb>ig<=s#cr&w(n0L#;V}!vZ+w98{!a*h-jc`tgPPQ@RT{~xV%-i!}qF*n?Rdt zNNpi3r|;^Y_7?HF@-5P&$m`9LAAK@*#N)BUI$O5f_uk{ds~SO-<lab|k9wc6bgVgT zf0-fYzjanAD6t-Wo0eYXn^BzK;<|8gdQ)=gyZ4_HBGgNlIf~T$89}-61zv0v0t7eu zQ^HE4!6mj5qynID7L^9xEiXfMyA7`^lT}--%GCz4911BZY)|f{+Rb%GipWpNdL(vy z3IPMGeIBNUwe7yM<%S+S+=byfsV+*7b*^yZJmCDP8#nGn*^DaBXC#!*qU(mNC`Wf% z`;kEu9o9|nxvoptQeKS{z9XEUSqJ>EBM1W_9kcsbT4r>SiI>K$+##33Rg^j!Bdocu zA6k@o!9OVMQ(v_$uu?Aa+t)lB735tb7rijjjy*NRmtA~elVmMF0j4iX@WoDdr#R%O zvG$gs@1>6UefshrXz|fj=>bn!`Nnk<)he2)V*XTqVe>?pW3*CGzA}P0f8#qznhA_c z|4Z>;$KgU?9N+Qm`zBXg!04K-m4gf7p0@+O0scau<Xye%PvMA&)mqr{J0@M)D8F44 zTl;DN&K^fNAOlmPL>QM;>8GS(FFteJ##!A>+QU+ZmK|ns@^W9au_J<f@_&UtXFU6K zIyJQHtNf|+%^+Jy0OxFs>dYWH-I@?g46+dJGB+UMb<!fErkdZHdlOcSFj_9Yoy-{_ zT^w0YskWzSEc}InvAz1RwHX2m1U5G<>F#C><?~03D}SnXIq|BEE!<n?*Q`yS>-WT| ziC8<FKwp0T@zg<b0F1f!%*PF5u7$3dNJD(nSe=>AR&Xn+C<1r*$9R&1O=idH*7afN z+*PGSIJ~W0?k?&gYYx5-{(2p1bX_TdJllyVt)TbGz8)a?HVjCpNq0G~&CZq>&<i!Y zm?^_=eqGuYsgfi4{?^;`bvXD-aAQp(56m*?P8#qD#dZva{_$8iD=~;q?%n*pC3WJd z^+_N>^X`Y+_T>CGlq&(|6*Hs5fspuivHeor<2p3_8n(3CABXyD{1^3cvL#)}uy&td zp6t%!GaAiX-fVnb5;I@Vn(t33y~lgE&wjK6hjRuRoT@&*e}&j-hDzKp*Jt(tPlVIV zvwE&C31yeLm-`uvDlIARyOcg^Z;^VDH6|%kY{}GthjN|PB48l2#zA*BdJC0I4E1<@ z*qU)qwSNwVKY{eR0W7~ZOheM1+MQ_1EU&?7V`9Efmu@p$F75ILiz{OwPH?X}cFB@j z8a!k{w?X~mTMxL(ibML7-q#{W9KV>S^Izo~k1Uw*g`%cvk~B8I$)#N-A5>mk-r;H1 zq+S61H;?f(td&$w=xamS{UkdrFbIx(<p@swsRuJgxD7eZSZk$?`<dG!DrsI)->amd zZ=MFG5ew9Ap8}(ZN2`dw4Kw0<LS68aE$Ahvwk@dq4KwB36P+1ND%P|XhebcnjA+hu zIeU3xxKVVCcWQqB!pSC>ZsH!&D2+r!V(AID*Y|yT)9`%I1?cEyhpNyh?{(fO_)BpH z&U)<Z-Q~Qxay)qq27>Iq*FH|yRRu?=ImRr7*3%P9FOk}x!}s`7Rm}27d#L935iTTe zs*@Z71ty5(_)(b@;T0E44zeuvu~k{9M$3YjULhFiH-hg<V6(5-PUJ^cI3*oVFve;R z@q@qeR21J6gyA3pcsI}DHeqQPDHnRD5ApE*ptq<G;fZQre@cHWA6Yx$#U}!s3C9oI z;j@nVYG>vhcJE;@Q7QjCBW3NYde_@q7qh*>fHAGoLt|JYbZ*sj$`<_PY+25lDi1w4 zean+b)|Sc)LpN@gL6K52Q*ZsrfRK3pITf9EOT@;Il>1S5onfyC`48(xhOcq~mR<U^ zm#x)G<ZhhR)m}o+cdUq-j-9G_{N?co`#nTQi#9&|d|+hIbAQrmY$<Q@Rkt>$=w=IR z5V_+)uX_2(HpcFw_YdUOl#MO!r97UyfJrWzh+M))Ev^zq-j9Pi&lGMf;dW#{2r0%J zbdg^u7avi3+VzEft}*E2Qz&g`*H0zuuS*im`zqA@HoL^~Tgkq^#hZu|K~wdD+M#`p zV(#L&ms-+?h%*Mx6gXK9XQjt%DK*Ap5!iRCHk*zF&zb(wmL!oMskMG~?^4DuN&6DT zKGrAayD>V#<5uNANAe|YfJZFR4<#F|c<zT#ZS+2wB){O96%Sv>5QudsBEcLg%=LQ~ z|4nQDY)--^5n|d!nS;mLVOm-f?N#GKdM?x<Qk!gFQR*e6^vz1wog~xU18<U4!xlZ8 zb0O}%$SF7P+F*s1WT86^(y0w?@`XOGK!Udi_W7$Hk=&KwT)pvL>!EeLikHqs*(@qL zg%H-E6>v?7E{{F$>WkCIZO~2Z#0&%Mcy0?UKF;f4-BZCGZ1w1m&mA93)Dv(zN*245 zQ0ps+<d5j9LTu8e`Wx0NZ)DPsIV3Yh9j<YO-SDT5gk8*ePAU1SV{2am$0gDeYay~M z;u$$CXK$>rD8f5Q%hP^PeA5oX9yNEOsX<F~qr5oDtUIs<Y^8~GBxIY0{WL3Ea+*A0 zo~(t|9?Nhq(u|-jJ^@254?DX#3L9ANBLfW2<yYS{N<9>w4U`HQux^X?`S`&}@6|rM z<!RZ|`b<6Kp7Obl>c@ck65aj&I;i#x+=6Zmg`htDTB2Wus)SiN0qXN{VjH>?(UZ90 zY`xIOGQ#N?NITV=`S$v<;#0jpUU{b3Pn#Et%%^^6A%g(?+9()r*3b7ip>#~2W1(-D zlio$sm<WG=%GM%_x`QEJUl9w|67+D(lVqx+L3_V`kD{F7tXCV$hJl{KQfg&rfYat2 zc*bJKoq;x_b~mz$5LqCqp+?YvF7WYevoamVfH(e`7sq;}Vj&)t8&!tChK)#$(#f0# z?GUInMT)f!w;~h_6UHA}Rcj6nM@@?UT_OT9Kf$)3O$1g8pe=H@5bRqbq@w$;a|Vzn zamWl9&jKWaK_037PcmTs9^m|c@s*;_7EY}X5Rz_GW2xLmSb=o<7(*B?7>#GGOG|)z zpgP7PK@J}3G7&P}vGTT&0G5xU$KE81e>2WMD<NY%SREP;Gi5qp<;SrDEh94x8jNvo z4C=gvYN-1G0hg$wdn8*LKusVe6Of1!7!P{^tXwa}2u2Ug(LDJoKU*J<P|muAb*vwP zkr90xb9xA7GeIcq1ydaicXjINli8LiD4jXg5$O?;3_PT0WW2lu=qE+^O@VgoN#qC% zeN?Ct5Kr+Fk(ToE!<r}<v!c2>owkshECdSPhp_<1A+&Hy=?w6Qt{@ow7vVQNVW1i$ zSI+muuMU-*@C^W&>YJm8y2+oS-JEdnBe8+hbXXH&ulVWPHCTy;ZIzI66No3ru&M#{ zmJ@=26hD!;XTU6gC=jrOIR%7LPK-zy@)LCj^ApgQm?#wNo(JN`u){d`aN)@|rjXYH z-z|=XnxH=NkkagV&UC=8K<kg6%&4qL;+7%Dc6l!YtW=~?r?aOZszkK`CK7M6X^KHm zxEWSe1ib(fC!dln1c|PZt<o@!JvHYeWUXF%Xs^lU?;-@lm+5M-4ybZ~H|#O3GEgQY z+j1RW7ocU}s<XV5g|sW~JxSAK87-7c!;MO|ZN)0lJPBcm&S4#U+yiDhPiE9qq=2|E z?evc+5Y%JtG1X*)0phBW28!#@>8HyK$JaF^n5aI)wTVznJEk%D8v~zE*c!}-i3x}Y zqkDw_P*$-8cgjA#naxd`-;!a<V{+qF_NP1xlx_(kMPMHR3*w<-#D45!3d_ujZBbBV zEN;{T*6u{OkksY8J$jv@6&C6V4eJphe>9XF2ywwDsST$oCf)`nuv}*6?5z<oxd0aB zZ)m|$u(|$IRp1sV3iIYI^fWX8D$6xR*o-F5dg*i{;3fm1Rh&o5QCoI7p<%4af*N6R zqkkkkwzP5ohL!JHy-BS&grULeCRFnl3h!H0a?)5F+#(Fo<)!ZBI*@`{qoBGlt~xQf zFx4EtK7%YJ6$|+%yvs&Lp6q-2*y}N!7+*5FfsQ^|Uc@#>!JG;*q4ew$yWS5FtTlNs zJh-Q~M(6p0Mj*F0h=|rILs>DP?f?T8p_0?f(wTyF69#QS={uik<uyGQ0(wG9VZ(B2 zCks9UwK=`##PnSASQV;i3xEo?Bb?RI8zHFdoEYeSr0=q)HqC61FZr4e)rDCG--&7T zsns+l7~q69N#d^T0j~WtYAO5ZCM$pn5|u)uf$qZo5(xQ<>ca9;`q@(Pel>edGE|Rs zbXOB99t)+$%6WQ2cM!A>#&%+M(@oyhHP`BLUfa47SXN)&l2bmJHbrX_kM?DToI(>_ zFMwR3`Rt>EV4xVGJMZyU@Zt5U1rr^{BoTtr|07{W-|-YN3~${YfS*zXfeJ-;63|DI zG`43Vu8-_t;fhY|Zs;saQ~XU!o`H4He3na;W_o=uClhm7B2AQl(D9Uu1MbzsHEO7= zCq6L|W{z?Xk5vi#suz<BvjRI&{ne*;+0g8ioCOdK$|UhI$?9lUCaNe&Z8W0(Cp)~c zQ&pz=GgMr$hZvX}v`VLvcX0}pH6kF=Pi@PaB&p4mV}p-dFa@hF8!wvzF{1TToTL(= ziOCiKqA5c9?pqphG5bS{)r)Q(_;rY3{y81051<~J?3@^~$iozTf7aL}c3^}Vm<DBr z?W|wUqc~v%=Q_3KL(PcAF`Bt9@r}^t)weHZFr}iKcc&Z26mDeNGNA`7=|M|4Mp#bj zGR5_%X~|ong52nAbOBBf6S(a)AJ#f%TRu1+-32HajUcX}>nGf1c*zd2S-tS0vr{z{ zx?q`8XH-pi1HxM`Wp@+z=Me*?gt9{ldk)Vydc1$8sF?0Tk#F!ql(F^z2}#8Q{!7kk z9rp>uCG4YuzzeqO3AWY4(^spXnbgdQkB@f&z-z1@Z){)HE%2@$BG6YaUQiH8C3g;^ zegs^@>nTFHO#*M$FXr50c3y(}qaXWL(;Vq6cZQ}Db)xWMbfD%uzG0kq<T<La@=rtH z-3Bcm5I6lzfFz=<9Pb=u=1scKYc4=Xh$52$Np2g1B#)l1n#JIwEP+JhRk{A8|58PM z<19-DbuRnKFYML==X`*P7jrhcnX`YMK6mJrz73!|_7-p7iLTD2wF?rXX$=;02GEB- z+z9$pgfn{u8O^KCJfJOcDmZHoehS`Js9O4b3gugs9kZS3?rEQBw^=#+@!K_j;1o72 z4!NgyU%AoiX`dq`P&(%@f7Iz5f?_NWjxpvsewZOklWU{;yX=d$=ZSX<_sD4VJ;0Oz zobLCka*5c?C`hxe;$F_$7kIA%-U~v#VXi6a*?)^H&tl&bsr_OJBWKoirkWvBOu%%h zbE>79J=8H~S`#&p;gbDN%F+ZCQZs)??)mQ$p8xdj-)BJo9}6B8Q5SeMwn5UZm_>ci ze5{zsmEBxVa8y7?OoHHyL<ArSE~l;8lR}9}WSoihOEC#+OsOZ{U!3?cn5rNg)`Mb_ z39U+c$DVKdh;$mw31u@<PJy&m4E0<oiC|1l(UH`SZPgJqL5V1!j;IAJ94RMCB0ihT zPA@3Deo8ZBlR<@cfVc4LHM-%6vIGs9p@O0b>a{|odcTlV{z@szmNoFS5G>7D!%VOM z*unBrB;sLo8O#eTkW%~scnXkYvWsClCz;mhsYK12_l5?F@;9|-(wZ#%vO@YFOE!>y zKUxWn+rt=fsxF9nWa9xi(+N74I_k-SW3oVL^W!3E)E53rk)|K@l^{{PG||G0q|fH* z5X-7LraD`<788C7JJZ+$b9Tr%p#Wcu9|N``+*2zZLZMhA6b3?l6gsJ1AWiT77RJkz zfa0y_g;L4bo%ir10ferAF(yNufx=u5I!z%@TEH5{f%^X8=sBVI^!2>*7!eab(e&fx zhyET~$Vb%g!Pi2B@3|KkNADJtGu~qT(6n2A1}#Z64-g%rd90`iPK)~4BB!T$leG<3 z7Pdk18wg?l28i;NIH90=y!mswgYv=p`-fheCqFjoY1odepmz8Wj!Wo6`f0iXA=sk& zvYX6k1z~4LBT+2_Hce&hbP9p6_42nos07g-0nr)YT#1s+c5TjE8nUmI_tUE17RVUW z9|>!G_>u@B4fuTOFQ^p>@`kh!(XfuXFpT5To<Sbc6K$+Kfo>-VS_w(h;6scx3)rpt ziHIV=nGdP&Szns!(RA`sWDpi`&`+mBq>0v<?eO_i<w#GEAP$v-7VyN_5fDXP%ZOQR zLkn0H_ppcpPAOkK%IhV}$cdt<VJ4}SrDp&QE2=XljVkXw*zsrQe<NoJo!0EhTbxE^ zQ$7x`R1UrMX8^T;y&~mg2I{3jQT;vpY?@M(352yI;;N)g*-#~>4l*>KBwIaAb3>B? zf&3`-NMjjIJ+|OVr^9GFcH})2h5%3RAv;HN0)Ga=M-1yoi^D;3N=(JQJ*-d4L_C>L zFs0;sa1;t~p4K{pdgEsqj@LQ}0_}^oV^E8vdr#Q!t^C8bfDxpONfR$<_2_M&hSDb` zqH94&RiGj-_AjK)(>Fj--NzSJH=kpD=Sd&GCKM-S+Iio+pL+>jfZM_>R?kQjdcHk; zMzF`WiU~P?IQoHbnt0<Ui<_C~*eppC4>i!_l5R(VfrKFjXrfiXuDJe4QIk|&FE1LU zMe>o1rcBBPCQ<x)W=7Nj;k0VxWW<ywC86|@uFY$gyWqRCwhzWj21ZM;;DVwHpBH^- zICqfYjaf6*l$1^>WZ;dneq)qs%Nn0%5qoSxVJ(@!^8?JrdUyfky6!4;bn8ELdh5}1 z=(<aNsfaEkd-2MJdn-5?@!V9nG*hQIC{C7VD_H5};BJdJYy(H8CtJxf1liVxqEpU2 z<6R*1sdndPV+W)&1}MhUoOg)Z8PPpIwcFx<7d8Ft;1<Q{)>20Bp5EVtC>uYs6=ShK zirjc~7tq+2=|AIAHGpx)P9nfaP<+0gnKk%5CyF@}jHeaJb4JuDO<Y^TJ2+bCf=}nf zkpJ^z`!3OeW9A_1W#K$MkdGnhC)`c%?bflAxgo8(^!IMxM+_u&!Zx3$>CXrwxZm;A z+{-P`GgBUv5~#-{xFy-ptr3z0FlABi*ohN=%YY{jDt_7!LQOatjAZknl^OW;aB$!= zl)Vs|tCd!&h|G?vhd^n>Xrza()YJBP{15#1Fuh3(Gu{jfF%n1>Du8Rnl!XiPN)8C4 z^6$MRv$B@+gF`l!ta$HtEtk@X=3ACO*;XTyO8$=#`#-n=78Ql8oSX5Z|0b^*DMla8 zmj06{%Tn~O9O37xf0HBse=c|-7UxU>GQ-dSeNMLKf{cQ8LoZ?bu*TqvYpG?k(4Vkt zNIe7v3~VE7Zh&=c0`Af0aoPeOIMc{hZBQuwLb;a>xS->iGFbG#yKZY8dAhazibbts z+a@rD(R{o&$ty(-V>^iubG<J4U@R%GEAtn<{sAnjq3*j1`YRi>ZDGM!%2^+_Ov+@q zdU9T<MFGGza*UDX^@DKdmrj-{9q>9{W#ui?;+>$)L{5knf1_xcQ^uifWxZF~PG$Sj ztMgXh{rvNdAz~U-(PSr7284TZ`NJD@xVXx@n#grjvD27p&9%<W2+})dH-RIvut-$% zRCC;n4<3|V6ruNTvM*EE_ec3oV_%#Dcd<4h2Fa=xv~V(1Gj!cjVL3u>qPUb_p|PQb zFmX8CLKZs$ZJ9;vIC9ea70!K}IUgJqj>-SjBHA1e&S?I|idi0H+-2@Gib6nwO2{Jb zmTZ;95_M13p!gm4`ZJDS((<T^spc5#41XYRi8>)SPz{DEPw4ftK6{x9=AMkh(H5VL zc)mM&rG9DcQdAeQd<fx!xO0}vJ)6d#A1=_)#!WjF9z(l=VRmuCUxgVw=)jqLQvuK* zyy1g&zQ<4Zey42B-c`twy8dOwtM^HVszvlVQ!-tIL^2=H^<_;vR#*d!2EJOO>4?Qk zm9XKztYr=qSK)`7XP+{phG>jokcZkYW7c3+fHVa4i(jEihpr^kGm6W<Q?TYbl2}G# z@g><~qbzhIfD-_O=7%(M;vfGq*^(4Z3C!qvP)Z7Hwre)60=cl4u;i{>i6~oB2PKTZ z1L$HZsiZx@?(&Dx)KE_ou!QeVqMPF#JxG<Y78gy4{IcqnBaNz_JOse&!h{QU`Ebe~ zVX(-mC&9j=_C48*+zkeZf)Z1PK-n#sj-%EbtSYZ2jr*=C*JYo4Cgn_hvvPOzgCB$n z$BsaM*nPN92iHw5Bn@N1x?-85+$)YJ;l?XA3gzvROit<Ui}<qRW|$O*yR<~Far%8l z=23|FE$<lfgLmJbJ$&)G`|$Wta65rCddnwJU|hEUMbqt#>-un<Cq>gy^thR1%ClQ9 zn)Pgj3l3&jKA=f(n(_ctjehr_nOr>3a4s97DL8HM8?RV?O8hj=y}R`&04#PhJOc&h zbZPB&7dPw!Tv0j#6Rz0)a8|A@&KHM(j(#!V8Anvd<2frg$&bHZRvERoeRXxAu{^>K zrn7b%UQKCV1er?REM&j`{WQ6wILE$3<~Hl6wistX-IQhvwI5FSZc#pBb`Uam-2drM z2U^EkBwyVapm$x;;wHF&+VBx3=)SwDf1iyA1zjADYu=+HP~D`%vlH8KnxncJCNA*v zrEZn1^?)I$PAHQ=U%>tCk;I=S^MpoNUMvxS?>}uF0IPz(>@FRYoLVdoYg)>f0ZhHn zZ~u<kU}d=b&j=jg&;DN5QH%V0UCmJN?={9B$?yImdK&IusBN(No3LKWs_^%IBM;@@ z3ylA{iWu8gki!=2>}L11qoAMg^7rSLhSl%h4%nf}X1fU|C)&7Gu;~3Tr;U(ezMOfo z$w}B1_=0ZK>H|TOGXK*$%8bNF43(;i)LCH~v<~{|Jh(n8d&v;dFQE*~45pT1-A!zo zcW#0y8qOKfbjT$2xPc%_<L6=4=Gu5R*)ne;t^?p+?9&EZQEC>Tns;nL=B23Guv4Z7 zD$}@eR)X5emsE0fjj*fNyb)_y<!|DE<3w>*8_&pHVr8_I(<Bx-;wtFZn3B(mjyBXk zlfKvWc`QhVM<AvmmJ(rFSB_c_V8!Xn{$P}{0ALm|U@Q5y6^z~LnAF|DduE}KLZh}V z+=URY;{PWXAgElL*Hw~c(CTT#G3G(ydfOAz$46#$Zl>pcB^+&x;rLxz$vWoFEYw)! zBpN8vVFJlKZ{EIMqvR%qzV^o2wH&LqluNYY4*&T?377!DL4DKp0)p32=kaPd^wEaU zt+_2nAmf!2e0k-PtkG($g4&vQxr^JWG_@AjCbSm)O3SZp%694@xW>@m!po0^)3LNd zt+^V#HS5D<WG<^e_#KWDaD-joiSxci&kozE5*`aWV1<6<*SqGnb<@(tPmSbq$X8>! z45{ya^SlL&LtyoN-Ta2mWjX5oQBj4L;C9N7?bB!bZr(7k>|K@fZQ|{fYH9gJJQ=?C z%1LOd<o2k33ivHvZg4(JX~QG-Cse8|o+8jE9f|92fKhcTb*70VteN|9H63OxZy9vC zq(E1>kJy*nLbKdZ_0c6+vN?p`<dndf<a@-@Hi-EZ#)i$o=HqUA!*8wfx_Ty+Y6L7q zmLJNee*ihfn76TcqSn9p5eioqRURAc^3%uP#@!NmY{8o{^V-lHY~jhq8divfBlp&d z6=N+>(p=O+AVnZ@4Og68^MS3_OqRTEGd04Fg<6g9*2)w2O8pCJ7k297<*tuMZNW!J zd&B{%W7$+|ZYk>L$vnA{*A8gQtfU=^`O!cjk!jK{%+xopYcXxE$6S-~!)JLW%-NPV zZr6q0I1%VSZ59vnPcEXW@L9gWr28q~ZN6~#6*G;wCEH33ogFfxKKb?wOBdRkIK2#l z?bHIJ6nqu-cZ$!VcBfdnl+0h}@=5iksZp#Q%1pBx<jc!)K1IioBY1!zn!Jahi`h#e zY0YoL^iF9kDbDtLe1V=t04&@fI%obtxn4)GXW-q1t}>3wn2J772_(v2a$QKq=5x5F zgL1tz(ztyh)#|ct20mTV1z{W@##GGrOZ&9^H%2J#e>mGZ2J<{6xR*Y!IA4`mho#GS z3Bes9l_-VnHYZ_@!5+s(!qVjpQf{C_e8l?5g@;D(5Tt!Rxr=@;m@mX#bnEn|*lF*X z<zCAbTkyWq$d;75IbSu~<u?<tlSWU0&hV+zEZnMvhQuYmn2(ix^AKu3_8^(2-Jrm| zp#VP{{DTcwpM$j`+W;99jOs0rl<T@)p3-=6#R8<g&2>s<5&H;MT_?oZS##Zfa}L?P ztah;0)_y25t)0?`oihcau+c?~j~EWDV^d7YBw8hYtHsZjV!u3DWy?#a?R`JG>tL;n zB_lC=bm@}sY|t#Ya%7i(E!gbfpDER+Y_RW}G2lO0>9lh2ZS9xm>ka0_+E*+1cPgEN zM#)jCiTzfVO*Nv+F;6DFB!|wzK{H#mG}b=$Z)!!DZ%*|$VhfMN*W#u=i0S&5biQdJ zD~YYIprp4ht8lABpVLzopDg`FE>+=TP#`2ZJP>jnB9M!B=4;l+d~EbfqdHUhzeCmk zF)%0pdiya-R?>5_igtH0ufcJ2w!v~?w%%u7zv;ZfBw(^C*VRZY@&7s8|BpNNpFPI^ zt5tZ96zsFYq9Em=6Dyv4C^DFBsMBck0C3>!^&;AhObr==cG+4EB@x9H<8JfQIhr5) z(bdW!^6D~PiS5|bVbIjEFYb<KoO#XwaRj~!imb*F)3TUKuL^bqQF5Z2(0#Z4_@zRa zGmHFK5=sSe93bTdFEawzb=?vzdn<bD?>C*Vvn<Z9_8j7k8i3h>TJhZ84l{Y}g%9Bn z3X=X1van;NVfIFiOTwSFz4Ojp{32U;6qr2qy;z|p^9ykoRk8w%3EsP6+Zkp~lwr%C zK!No!vOz*c5F>|xr6$cBGC+l`tTG7*S|)U(>@ws`B=jn+D5^o_29U@-+fLqN^M6pn z612QO|An?vc2{Ua5+6_YGzf+Uqe<04zg<MKSMwQlKt0SR*}8zZ0x$^}gke4C;4;8b z2eLoB;ed~7WwLH3c|mx)SWw^*sI=xe>*b_rPk5PrYGqi~@c3tZU~I<o1Mw@@iSLaY zhQ)>ksOYM&VTP>}VLPfw!hFmlx&#eSK0^AU5~l#{Q4<J0R9R(@un&ZBg45(C1Lg+z zWJf_T6I8t<xg(uqdM1f3o*RTvyI%*_EwRyq6;X3g_?aWbJj?23^TE8vGZo41`<>jv zx_FtspJV*`y1SH4Mlztbtgcsn0yQCsYpO7mNt7rE9sHMDph&lO06QFj9s7bUdS&wA z3}A?O=y_&gjXR=)>jC$cKl)q~nK_ADnAIC|9I?}6PpwBP$$8#W$HC~A1j)P+*l|h1 zEZV52xE_lqZXxCP7hOtGOQ*Q>>|^Xt%uydO>%UJ%#T%myCP;j?&EL;rLX{S!O~a^? zd_ZzO+)KGP9*=vfp8x2%JtlS+XDYtD^--=V<zB0p9HYuWO%#X=HqCFe|DjG@P+=u^ z{!5=G-*D#Zo#HiyC7REglz=<jW-`C=qyNR;dxtfdEo$F{gc1lKMWiDTf>I;`(u*L{ zixiP2gdu=Piy*y)L}1(^B}fTX2Puvy5u`~=U<3mQDoPQAFbIgW&^x@(;LJYfJ>R#l z_nh<Yeg65rKjBKALdbf4>t6SLFL1NawkOS*S?gkXGtag@5aSnLRZKX7>@O;hUHbu@ zQvJ6p;*=D9PNYx#d!#*3!Iuol!4Au5=b4Sgj^QuLO5@t2C@%WtR_+RGjdg|3&tdTl zhv!Me_=vwX9KWLfl`_XCtpu%Ndc*@tt+(}N6j#I|eM`CJ>}M|Uk=Qm9^N`Q6TD)Em zT=r;p-LK60OT_}!O>a7orT}~XEbezdMV3GSC3bjQa6x003y+i+N{){_`&;8~rgO2^ ziGm3V?VBoj9y{TMsUMel^)p4ZBc2(2%$Rc;3&hs4-SvSskS@rzpVmL#{J#OP9{Yk= z>+*vm&h1Q}hN@$<jWzx^0RD+yUS-u1w`(&iqX}!?@$H>$=@9>c$pd|#=73ZT@I!3> z`G3I>`1{Bb_VdnXm&j{&4J0!D!pQYZDd}(0C+IbhF4-6r+6{2ddgi%AOOT>PZaKl` zn|ClzL<NE+zr8HZ%bafpEGF4l?QnAdqeAn7YVmYd^k$<}@j_HXgdKOvCc*jwazar) zi>*{*Zq2%S^4`c)E9~4^iV}6rZ(2@e;c@>ZzOV<VGKW-1<)d^E@T@E4Q)TGChk|>A zkWDPT&6M21jAbUOw%-UM*58-`1Qtv&nzo^#Ecva%h@xlx3k4=unRW9pHi$GHc^Ow% z+&7sJOJwmC_7sGOjE16cs+X6_qa5lA=RO7=e>GF*LZhNkAJ?!LCZ7KsT*JT%jQP2J zi)G)7Y^X^5`RgH8fjh=M@qqhwjddGe+$+AkN|Cpy3%Dm1Wl;VEUieeNl*`p;35ZF< zb_1x1V-87zAkC%>eQG1vgVH2qU_HqO9Fn*vjKVj)5>bdp!qhVq1WKeK3$4M<Ww_eS z#v+zK`{?adbKGP4WmG(W9V7*~cYC92czNo1-0bCQXOHWM<h-QX+J3JK+paPVLXO`r zDaz*9HR!M$e6}HULB*a?>li)B*4MUgKx)tSe$wr!#Ykjbl8&&k6jPv1aW7PwUcywj zD<R$3l56_8q+=SO=lZ%?_0{krCaqPF;vSlDRMsAQ!8bn64Y?d252iCj3l?pA{J2T5 zDTnv2ju~$+_XEa!o+zhb!!%>_$t!Ig)9-x(HXCb{+jlEno$-#(7R<igSG~<xXGl1i z$}G>5La+cAvRZxYX4L-;<@7uab+_As`6(<%i(&#-hOfc0_v|6UybcLdWVS4BHsL20 zCkiT%;`o(jMCMyaEUtuDX=tnD=uUWIH&w~3gGxcaf)qMy=p(OT^C}IImxJA4oqde& zpu<-@ssWk7pZNfL_s(0`;CnG@mr}z+#Fh#r@<K!<taC*jV{KaZ37C(Cg|nsg%D<>_ zaMYu?BK#x;7FoDLcU^7pfvPdj)<+Dg4M++&W0N{C8aV)OiF<Tyuh)pAfF~06QG9{- z&?<X|zQBR^60VbPBBV1laQ9)I>k<5QDpUi5#f}y1J)wx^c0SB44ulkusdG4L`tERy zX~&oPFtZZ}l$lq;RCuDLjqlA#0h0Yg>uTMhz^5zK^Ja11McIk+YXjnrr|OrkcYW^$ z(F~YJe>O!Cu@*`MPKqOE9rWpik#Pu@w{-4j$5+vAdZNWgElW2*IIDJBGAkAFP?++F zZK`Q&MHYJy<l|Dgx*WbZb*jJn6hDTR%2fy%EQ%7zy0#RvV*MqoZf5AiI(@>k|E6Nm zrOk<z$$VTh=QmK{dpG4s$_2f~ZH2s|PoG5_62gtA?Eql4^YPq0Ld8WlO5^p058Mua z2Pk+TXy*QW*Ko*&<^Jc9g8uNIjyU!m?cH9?8;ysZn+c~!x!JKRjvTnft)0!Q6ANJp zq!q63j6L64c>&nQi5d+#Z6l3oIYo;*3?j`%Tno(^?vX;4#noXfo2#wY_afxT;I{6* zvabH+=8SNi2(a4vUW!U$W88EiXsu(p2d{kn5FJW*wE?NEPYj*sS8w%YIXFmLwf0PG z3qTBy&)+&3TbE@cCP93XwZo`5*WqJC;Qi7aIaOkK-6PbuptP)~=uVertk|;uSCcJx zbQvNN6_?ugn|c>0>bhIA^R@<UGo$?=G%?a>#62?)X*Ahf)_?VBR+kKZdirbgC+?+1 zdoe#8HSUpnSFZ1?N~grcTJl%ucZ-hUh)40kDPIPRclPw$zb1;e<ggqK$wk5s?;Oru zSTp%QDGvW>ek2qDAEB{N-(M)~)D%|f0-*5U33)AGekS9eCx!f{FYF(yDgP6PDD4w` z*#g-{Vos7YW0si6ED1RbO;{~#vUT)C6Lx~7j<F5g3}XfCOpD}+g26bEh$E6Hxfp!J z{H<8uy>072N&M03Em}ELOw!4i1jS0n;Vv|v*tR6xA{dak)qCGI|2{v^keUW=GD&4v z<73M*@ZhDgQ6O18tgRPU#TyfkrcC!jMB}YVNoK_;{%@e`DDGjSY7-LgwrsjR!q*Xk zFpYv=XYM&vr!W(|7+J^LEysplSq-g-W5rJkNH^lTuk$%T+0q&8XP|Y2UWOh%M62!* znuDU9RSStl-9cr+p=_p?sy!QE1Qc5?!wjGwUzW9lw^`AHpo4_l&|Sz=dp9G%sVfno zrnZtXSiC{Rh{i*-xhmkJ&>5`PpVF?@ekBJbfE)@Bf$W)f3RF%=L5ji8g$4te9l;ii z?C@}q))|WoZ8mv=E2lk<iTQ%-CCpFTt%n%j0Js2H3^B*R-r;*FNEgDH5{@#zUghh2 zVgXkEjbu&bp?JZcLgdIE3<Oa=vC?)78bZROxE&=m^li_i!1VUK$R+S%a4XlaHJyjh z(Xp~xobYz6y|t#UvNeDIPc%mMqhP%!)=lG1G!#B0+-9|6)c--opzMT=7|%UYH|n58 zV7MQ3*AnR%<%jiz)#(6p4pZfrX5NU1hG%)gsgrPki&yWz2<FBVJWiKCVUM$sy^iDP zsADI42hMyBu`>jq*lXyP6y`Nu>sFS5w4n4229w>3mq;)b_z9Jc*ot#hh^f+W)jZ*% z#{){->@Y?%G?$%uVk40gX<Evj!Xtlvc*qs;4c0a#M@m8y4J4dEQ4lG6A)EopK<T`H z)2=1)TQ7{K-4`G^JyDjOnRl_>toXulmjt!*tZ$BG+-y6oI&hUp>rrCIVQiBAjidR0 z<G-T0D+g#dP8D+Wb|?32nzFi3?Doq#alu0dfAonrX$5%QV`9B+)c5Jar)aF=Dwp-7 z?mB!?n7KS}f_*=TJk;klbj+wXXD!m~mmy0r?Nc_)LtQ!}^E$NJj){Iac`IS)d;{m6 z11%__O|zr*#{nG*=Q6(IVS(Ktuj#Y3F>CK<2i)U9bOwwX-ml!)Du293a18zJ?(?58 zXy9B)6P;>-&c_1thmg)j&4axf*wTYtPG;kJ4-9-aJmJZ}XE*S^DxN{N^YoSaw!NC; zYx1Eg$Cgz8B?;4+nd9B&#enxLi|U5&-tX3ZbJ}s@H7$GkNR9r&r=j=<;&%NT6CaDh z<>H}nzjToEi#uZ+utzhn-D5+>hnn93E&Nyx{;(zTe^hz@>*LbdqD9V%!UHwBXK8gk zv%4&*rX5`SL4{(%tjCKf_$mca2IWXwNRNq9`;Cw}=_e6vF&de#VNp&AD7%D}Jdt}S z5y!I>3y7j=Lj_{qjAWt&mX~?J$a``y>+8`R%bN5Y<AqFibBr+}AF3*I5z|0^{(08i zW*C$L*$?2_On<;5kA9~}4Q9532mOt<B9ii{6wB;*iu(DE7b@vtJ|%*zNeBh?z?C89 zP~)1_Pj|$L^TB(zIeT@_Jni68WN>VRZ~J?!c^=J*KuBDy4UTWOg@&asq|pd>rdqx} zLNqAhoOTUWM5tf0xV2sP#x9Z0qm*ztL)|iLDeIGly!#j14=zMB^VQjoFvxqYeyEJ8 zR;lFLHin)ud?%%mt*<6K1<9B4RZ`CbG*3t+(>aKkOs=$(w7@<6XZaSX-13kI&Q9XM z0?BLV+_UdIkzeLmg$N}bt$b|8-_~kj&!M?#U;BhA#hg*zH}B}ocM?liQF_Bgv8iEf z(UR)6c=M9g#ygfaxjni7h3@TP!ZWq2^0kK{qb6ZS7;DHthi>4#uW=~9_O+XsGqUr( z>Q{Dq9fs2>5%xD#M0&pB2>!h^8#bBh4|g96({WgqYGei}3;hBdKlIeqiGAyG^$R{# zma+UScE8CFCSpGuRBb|WZ)kp&#j`f2X%yDFE!la=;cTj>CEdi*Y=G|A795Efu!+p& z=FFk(fA;i&glEDz6d8XhcD=eMB0fiYfaIp$MqI#^kl85eRDK)*14o^e<w)GHAGFOa zQOZv|q#w*?pxfV{kte8dSC%VX_Ry89fgHdPzf?2*d`F5~Udb_BHQnO%+(4p&y@`6% zuL1451dD0f3iRPAiU|T#a0=;?xnujY#UR%Zl?gX;$1MQ>VKSd-6|?w#N|Y1$roENz zwlVya!}b)x-zBkBX;|!jn4F@E)AV5|Z^1X2DUOtMU~Xo~QEi_p<9`+(KrVyv-}GX+ z2nn&NkaluS<h7jM*Bs_=J)e0bIDCb$;y+xF)x@?S`LlfQWiJ&E&x_@VG~;&)`rf2x z6SL+St|A<sP&=kDuWII8bAfx$t`+_KHb-SF)~_7$UflnAQ-+1@FrR5TXZC?@f-ZH} zwdq-B&vUt*C*ktw>R#)3)b+7f;i6CFSd!+q4`B%NYJ-ag(%%e~vQ5=kM(>Hf$E34q zym+zxJm%o`;o|a!5gz^xE)OaJ39~v#Y1n(jZ0Wi&VNi;*;N_9pG<R*638z1FVR_Qh z$Ei0FpZcD<Z#}8G(3V}6d?Xg_5WON2La#r!d*$%so;wTjvmZjSVMgXu+vS=X=ca?` z$ZMv7qmfdx=w6ZG9tFXD%F@>ADW4GC;yC3XSG~@nr$N6D_07bz^6muz3Aok2{pW<? z&E@H}rmb6xBSl<f%KQ$wPk1M*{Qde_zi^b|@@Q>ZJ)<`L=|W1kA|OMz#nPF_KhD2+ zVdwaU_Bl^G8~GvOVD0JtWR~Z;_*}JjU5_e4P;il#E9KVm^wa$q{xZgMJ>9PGG&^-7 zez}JIm(|HQ5_A|jKII3wmqPMstggGZ-Se&5<5&8Xs!MI7(_XjL2^?vc(^gpH1csdn zqskG!PsSP_h}^{C4<4t6I~J3&u7(+PT&|r|c5>=V>T>9E6uIsZRok<FLy1SKH#_N6 z@3mH2IjK_8t0%^PsKHf7GOAVAyWaHc6tg^UBz_w3`zOLET&HwyGOe$m*01YTt<U1$ zm0+#GXF7gEfIvJuI`~%Vzr5P_Uw;n#E7lzUFRr3c`9?I9?m?49g>H|rW4Ra=L1Cb9 z2Cm}G)^Jc8mp@Y+ON8JFvJ`nVp)HcIa}wyol%QSfdsuvQgb^)f(S$3*Znp9dL&o}) zj<Wxby&fD?XyD9A>)g&RXc#yx9io4UvHY+`Iv2j9L@J_j{iy~E+`uxSICG`HF-*Zd z$vhMu>NFWdQ)G2xwjiuyPZFRs^~6y7SCDkqE`_l@QG3}4_F|CHlS&B<(_}HqnJhuJ zc+2Ule7o=gG8-w*ao{rUiAR9dl@aZNpBVhG9Dn>Tn^gyHYdn`!2d%S;F=m?}pfgWW zcq)O1<;jLq+mSfMbO4na5?$Kx{kw(H>_=J@X?PY&iy}f*%DQ^`#y2~sgvpZA3HMBA zpqqArQVaqTxnQG;N~Tm^3&tKYGYvv_q8YPB!LMbES!4Vi*V>p5r70z3$#*P9reVCj z1Z^Xdp;t_UHorhh?Ol((B!f~Vj$YVkO1eBpj(+@bu^4{wJu|^LsaP(lKS0J2O@di7 z6vMXxX|BP4_^>MB)QK^(>1(WFlDRU((>v^eld(Rbk+JpL(sju80ND5DVgrU#9P=+Z z0pexkFlAUHJM4;-UrPR3137v?*=+<zoJjKI+60>-L4308eEbzDCoH&z>XVW#%W9c& z+B%*l-kB7z3S+1t_maA%Iu<=7oK9CjO5i=Px|$kT=h!jy+Fu5s_xcYd`1kp}8Ywsj z<u`gX58)(RB0PD|n}cHwE=p*pX*C;5B=2>BI&|tOA*Qe`HI@N!2}cRvGb$Z(&tc^% znhRY56K^W;ha59k1!5+uV56NwvwFi5iwubmVOxTl9S1HIm7KHnL|t}>DSf#iF|F7w zPZ|2jx=X)R<94wU<Gvt1eILQB^#g<X)%O+3HWURHnzh$qTQ+~d-eaHN{$R;zq&ANl z>qiE0AI!&H7pCv`u<@V;Et!_%>dq&LAt!&`VsQT|oUr@g(!?(TpmC0U1b#sM7z3lM zGzSLS!WqMLCs)qk{U(YQHpJ+kCzq|&$VVdhfj38N5pM-It&dL@GGlRRV{XWz_?68_ zW=mZ67qW|htINS}LvEa7eY7M+WCLbDlw3+qLpD5m&rGwS75WVSkg5BA4GG=d@)3m0 zh9lKqap39uP2`WfpQY*S<O{Ip^>M;@;R3;m;|uE7=wJWRX03N1OyebQkc9>IBcDYB zr-@yrHwJ~4{74-Yt^EhawbO0{2)7><#~?0x_(u~QVZ9*axz*8eJMUa{>VMzf@DGO? zzWy+lk9~*rs|cF08K#1{Nowa&;K!oBya3MarZ_p)I2D4RtT^bVc%4e3DJ~jYd>8$k zk*V{Vocj`=)nK;-n~UjS&S|B_OxjLuuq3Vhj4K~y2kMzo@G}i<DN8XV+rvwUF~7pu zYXJ`gCnbtz_#~Zj+hM7PCiBZ=!Z+p5)=Tmnvs;tPCBczUMn||~0Lts+pei;0jEGR& z!l%lVER?c-CiOfj;jx6HF)6$IC$a_efyJPqhjNylSp?>J&q?BMAJvo1mBt|<u?;E& zH`OuY;`<kdKa;13@^Fg{LZcO_k<SY4br)^UpE}?ZtCFG`J6H+lQsI~l$4$F^U=S7p zo}aDvnQ!03@C;wUcS#L95E`AGuHnojw{0y|d0a)Qmw^$>nDrIxdy7UUCq~}m5d>Zd zKF6v~pvar%pbF3-5RR;p3y!iUpnl0cKb<8I?}#BeEsQ@<X*Uq}N>4axIA>O6wI@}I zD5OK4rYRz8yziW{PPt-EPmCk!5Gs&^WS)!U7rOp8*+QH~TyZ85XEJ-tRxbh*gU%WZ zM;6z63{%!E9B)Qt6~*0W8fWEE1~?E<s)WWf{%_G209K7_cHlH5wH6ojwwDxAP8TaA ze&JRT?6r0BrD4<}<9r*`Wb=9I(ADXbPNm^ZFV4Yy9ZPz|S?!Ncn;Rf$Ud743U~FK6 z#kNWF4hSx_MDRiPG(`C3^b0FYMX{?3o{DIc!f_^Ya97ShTLqs?O}p)AmMd_sCk|rF z`-(dy!(ZYI)R-~*mk(DQt-S&`W`06u??R?B3XBbyjT!l+k^?fS7W`0e<!@PNNe^Xx z!(cc|PX$O7Ua5dI4wl5nks&0FN5F6KuY;V+371jK-@qjd@LB1C6iP!NZGL`&k>YPq zMK)x1F)72kA?le$q#U19Be}H|Cl3iKQ1`cA^RUKBH>xM!PfNSK<BGB?(f&YQyGeJv zm}~~>ys_>4toaO~jYZXvbVW{!wVHfeuThQdsgnjbr4HsT6cK58*qjjR<Y=z+*}6<P zSK`TgWHJ8LmZ>VU2*|-KoxF2FeFUzxi&6LZmHgad5LTZ&^<tx&_r(q&sVQjj!RcN6 zqJtX2lr8_44`@L1HT=NkSnOB-Y5#EEEM`^oo|Dt>KDwlHfnS==Ib7p}yP8ZgAi1;7 z;X~X0oehFdtXC`}Q@EsUb|Zgnt!+p&0Q)eL#D`?`hdbWy_Pii4+LCq+1hDB2IXVmw zeTzqeehpH`bS2MVpV+09tacYF9zGfE8{Bu!6FZDva9VsF(o30m_3hG*-EzDr`9>A7 znU+`Vy3hZ%@8%-s7`X|o+ql+Jka<1?rC9&*EB@5P8y|pgbq~D98{$%Qu1)+_Rrq!% zMuu}?`V(C5)xRmenUvb5%@twm_b)ecwMaSfEHPn2y1H?lqS}}CwpMq(>@{rq_p{K* zZinU9_qK<uOXlnbm&k78^?u?(OcAteBZ67(fW92JM{b*R-?%1Na)Rlc=u&Z|LhRDQ zeazN2TbiLq_2^`&=hK*|+OGA~vr7@Ao|9zuUCISAetqX=>W6#Xc@?hCLQCJb8nrX0 zcsar=*BexX@|-nZjd>jzcA!&Vgsls>&jtGYE%Nz&-KQ;_Tw!b_Urr*7g~QMosHpDs z-QJwXYBlYYwISPVhln_Sw+Bz<@26lMkIqsu&~v|?k?G7P%4T_fxs|u(F?W8r#yc_E zAu~f{vb~IcBRutWY`yZqFV_pU()wpxPsL%0|KGyiL%q!<9kaBi*0ue;y{F|tH$&^u zrr8Sa@R80=Rj8^!2yq3?n!~_*F09(rJI4am_q&E^*b9?(Z>5pUUUDDt1VZ22lvUL{ zjBBJrM2VLSM`D%lO!A+`g0uuYT@*acv!6wqe|ff49yf6?6^Xtx*y%7r5bfIwwJKgJ z|Gs5^u<Np6|EYZb!}m9TngNafGy`h>^{C7E^J$s-rx`HxFEgOjpE8l?pJu@S#vw|^ zp)Xq)wplTPByEvR80~-@g0&<okXyQ1mIKJejPnV43`Hyuj5yt!X5LlX#=1Q^8G)6i zy(W+Iew$Bg_1j^k#6MaUVrw&9<wkM6`!Jiucdm4DB2xvP*v{rW6QQW69jF=3xW!P6 zh&T_0o0A95R6bT>i@8rzYn(i)uWVh8_tr^lJKexKY~)2i{S6g7oP6n`bc3)7F7)E1 zYO!rjDo-L*HX3^tMPwiZ1xp1jxRxI!BwgJHY_PGM;Hh<WND62TlGtsA(<Sk%Gxj1K z(`KO#1PDc+aN#TcWF><GsEKtm-PHi2nB{Xqgdv-C2|SZLpl70F1Q;HR+aadKXkH|{ z3SV6D7X5u++dS{2vo1q{^#|Kwli(AMkAri&-J)EfW1xK<3=8EGITD`C+NwY82hn3n z;fW!l^{8^JVyG)arZgn=8M%?qfpe%)3ZjGJz?|5Yq~FF}A~#-S2i6n;Gs+f01;P%O zV-=Fk0c_Z*=?f39n3kDva^;NN#Fb9&_e*SB!xh0eH1jYB>CgU-VICSru*iG~Nlu<} z2G$Xa+T97wDQG@*gGbh-4DK^Vbw!nzH@Lcm8#uRp$nZqGecwZ*aj9)XLAM&KEap5V z9BUAKp1Ob$RZok#u~RAGsP9!kQ^iTaeNOad#AMQBOv2LF&sK^B_UCytg(QeVrpOWm zrG3L<%U~=@k8VlJf;Rz%32i8BZ~{&5`gTC}Kq;tUrq4brg_~MutI>`5imXaO*-2f_ zC9uu=Z|TD=UKs6<ACy4$-Irv7<xa8+F%Vu)_DjKGX<fzw3qkW3_wn>~*6(yj`8Sh$ zlP8c??_gWAp%F0=ce<4*XQ-?o$Rg$yN9gcCyOL?zV_4eZF1!SyQ4mh(y#>A|ZkH%v zHOo?9QV}O#w}yYTSHVrYM7AU=o>xB|t3lVNnW2Wx2b5#`8LQ$NIFAdE*X?ipdhV$8 zZxpBEdgUKTJ{UE0E1+Dk0EE19{F0&%R#z)pfi(F9*GJ>UnA|$K1aoYD^776Q{oQo# zv4*STRq$<kLO3BvbS(<7Vl1Sov~o4y++OqKpieNziEoE6Z#|1kp&aC^6{6gav03wp zm5RN1eE<4;mMonQ+a-bEaWZZEyJy#RrWg(&k<3L7Pj*K}n2eNT&HuDO6#ZoNX?mjA z2QX!{(-u@=VuqV;%sJ8G^P#Y%7ETo7Hk3AK_rd(wLSaSbJy>6!Qatu1i()wN@l~N( z_~@t00-Rch`d;FUZs!ZE!23+}Yt|UO9}|l)E5Msfr710VeqnQs>)oE}*A(|Vg|B&+ zHp4&<k$I>1!<)fZ{(bewW*Tu{1%9~U{u{%}KOUJ@(BT)qjKzv7o~6570D=;FJ>AC2 z5f7oNgS2V;P41W$`&KK=E#?71d85@`@!TuZEv0l+e!<BrN;kk_z1=2N9xo=8GAZMT zh|BF>X~U1cQu1Pucyq?3R1_2SSGI|>BohKCzXl^jlFF=QYIV$fIJs`ZX*W`k*d$53 zhiY^vI+f^)dtxhrpT^#W4cbWHzMPyf|9~a|y&pUxX6g(tp>mRr>@lY&qxVi})K65u z48swz>^!<d@SXq+C=uv4&Esj#Mfs3(lpIG9C6>Wq>=W|HQ>1LPJBPQKR|>jXVeBgI z6!%!3X&XeD*vlk>5G*C#?bdn!PF^P22&I{ML2xXeS|hc6)6`q3K@!gaiY4d>%4ejU za?CX48qTD6oR-W*j9gr0pu|12MjBP0!x5-O7Bf&uRG$9cj?jYQyMDAbU|W{<e5d*l zJ*n@UZSL`+ZUO#AUVho->$|@t$swY~z`eHHEB+cK5Vav1jCnw#fcm<0(xucZs6EZ+ z9r)byEJaoP^hN=;$?pV*h(&}m!n}pH5Vxu!%WFA#CExXmP@Pxx3&a8Af%6D|B2YYe z)x!svWF%&&Iuf&N0ZWP?l}UQr$UqTSs}R#<+IQN~j&Nf#n>9`{lO?HbOP@_nw%4d< zr}QFUYYz1?u^=nann}A2aE~uYHnc&{J)x@NJ~h*>DOMC8l!#hlPRk8AIa&#v#fVWp z$@mG=xl9q_eY7RUtZXn}nX&-&ar!#r(nFG@9IsQZY}UzS7stR64P`T73Yz(;)QCC8 zG@<aM+ZCE(^)!;=WncGx>L<bqn;-{^X{!qxx<}f{_e|x_U!N*yw?G5U8y-4vs!$S% zl@i1Jq=Lktf$A6Sj}VSJ1zRl{DfN^yNPUtct<u8bgh(%1d(gdFZ_w=>X4JBU=N;$f z3v-Yh>!9I>r<6d{ql@NBcGrq*A}O_{J6~NmhtTKaXTA*F8pxh=)K$u-Fyj`<hHzuX zYDR7qqD8t0^&wXQZ(?+{_1CZ89b3PCuU*O7Qb=PqeP`~-U<7u^kT)hNd;B!u;KoQ= zd|SZXv)^Uu61hlqX7LW%p^K1Kzs<jinCt9uKX{UPp)GX~*0vmJ8@<9;a}eHlh;dtc zehr+mnNQ`o)*O83kyrTfbHHf(s9Eq@=e&mWeD4B(U@xs-6_A+<dUs-WH=4sfoyl=M z6gzxNE$E**-;|gG)@$^Y3(`HgHX0|YS4hdquUpkh`|xs2Q*941Zq@_rW0jd!7{O)T zyQvW4JLOOmT|Em%MvKP3oQsOvIIj}>@$=ij$wJ^=M%VzCVS7UHM1)Sz=%L@fcM}jR zea@^mPJYC2v$`sEHR}b_lAvYS`rb!n8ETN?t(82nt;OZ{+0wsUiwNN0G^EoQW8&l+ z)#Y;T^R*80JE+9ogq8*0b;*fJ$q_rc{W#b!fVhyh_GzX4#yJw`A-`3SoVnB7eZCpi z%?-SdO=HW;-V0JGS8}T;(@xt>pM%5fMjY8{Cwvw&&g*`z6S*Nf--)}vko<}e62)Qd z?zHopub<=Y%z;IJfsyisuE~i*w(^bHyE$&Z>F90EzU&(6RsJE%{u8*%G|JvD$zAi- z;B(>m!NS`4zR#haUtZOOeQ~T`s=OXP_&i_SS*`z1OWePb`~L9&{Xa>cf4_<itA~qB zWMga(c6yTJ!?4U!1omeP1TE<-#Rh>7`5d|SL3HiY*gdQo*gYyY@_>&nj^(ByXz?to zklo#qW#>aecQWhqa=Hg#dZ>jUJD;kzzlIzIsyAP8)SqThTm2=uY^7>jiqL~S3Af`D zB7A{!ov4(|WjH6f!$$WRBS(wB&<pwrcPS>37EOjQn3f_f0X#JLAd_1btVK~lauhI) zv8|gTuq}Mv6(SN?8b@>TvTmy8fdriqXS2IdiZr^C<em=CN&+}dPd{CSZ$_{(gx5Zh z+0E>olA}yc^0GXHgWA|Jp_PyY5MUW=tEDa00CQt|?+e(~$OG36hWEp_W&dbdx->hn zc6aq@r3cX(91Ufo!w62Y_aMU1I<PsJ56O~pqQF>*#UI>>JuN7${u?bs&)SPC(H9l0 z9+&#H3hHJ^`VHmsl5v>BA_KUaS~4dN5BshIN@4VbY}w3l<akJ^Tab#-8Qt26V)}&2 zxEqb_Hwl+<OeipgXXjm={{@V=spxZIPytwkncrj+%z;#LUA2~KOh&0?oqZ^+ejlv} zp!G?zPh-Y2nb63CODj=>@29+RSK*^c#jQ2TJ?reSO{kwqREOS1pN$4SyJh_w=pJk^ zt?Gn!P{SCHdKx<Wq0(@w0%y(_B~x)ny?yypI3`))glMS46{6G)Y$$AS6c1rB;binX z%O}f0^}v}S&AjfSPGT5xSq3rSYelaN%n0l7DDX1#xrgt-oEa))Hr!)Iee(}s!s!Gv zo{j?r`&|`2g24yQv`<1frTr(RoNK=CfDQzPyvf#9CH1poNOjdSu++D5NL6j!GZ15} zE{X8amU!CH8`JzkWxrLs!28mN^p42YcQ2x)eFa78pFgU;m<~B&QCnS^G7ph_wEJSX zk1J`Z#0bj;*dp2>FUdU#T#VNkn^Jw7*tRdxPLerkN8TrzQ@Q4U5ag4hZ&waXp8rHY zmH5Abs5?W<ef^6p+r?IwS$>eCP5Jkt@And_)($Sle(X#3ZMsYGiWNs=e7BcrEyuRm z$K?-sb?jQWw+GKx87ExQL&u0me4@{G38ffg%fX62VPf~)L4cC60NFd<s^)`f=r50U zx1-C_bSoAzI>keU>CCN1>E$JW8{)~<q-WA18siWhxV;-BaL510oO15$wEcC5gGeA5 zrvU2%l5s*2ilo(sx?*q<M}eyUUJOmEye$96t%X^y<GWMa_Ww|bLjeK#uw`%&w)Cvk zQ+;8ZC2Nsk92Da{+-A*iv;kczKlV|ijo!WUT`R#nO*l*rvvYnbO>aJ?@;Z55Y^wQi zV)A$cGE-|O-K)pD#613&%zGoMwH^l69Vj;66|3t0`rM@K%-GdTTa-M`4|^cpcsBD3 z#D}|po3cpUH((AS%7a<3uk%uXy)1T^WwQ?WZYElCd=!#5#CRZPAr{i|hSiDyPuk$F zlJhF}p;>jzJ>32`qQ;zZawX23Jg2~sTvN@Ht8k^p!`QU!$wEJkNYr-pC_-!CN?9Ec z+A_e91(9cLVJ&-7Y2o-Y%H5zCoq}S{<#aqfVobV{`Q<_*9(9l)H8#3QbWx_><}*@i zkaI4&KAF$d_Z9`8MDf0aCi|H`pslky5DIcA3I|`Gi@CBbq@f>tjbocdq<CRivSxX- zPta4?YAhcOLAL4?LYO*lV#3(X;lh$T4&eU2_GbaX4!q4vrp|?_wR)N1w(8}Gtp{I! zz2h>=@AQ3R7&+pZ@Re2HewaH^L)PcYUDmJx(klnfoW~#|B>{;uPQ;%L6f@-{cW$$n z-{<?B=P%i)hhw?9`b@rZURtV$%EZKJG<lk&k-5RWAMm94jEAK{%sIKe{G?KBEm4H= zXS7#)BV-M_=0q&<aCuV6rEc#5rq-8C{t8>_&TeEj%eU|%DFE3t<(kz++XhW`cZ7zC zR{-bW&Lt3+QAeUvV>O?yi;JpCqLv^1rE}!z$tww0Tg2>o%=b&!qK%^f>D;hdHB%M$ z1z6=1plT8blqJ@gk`EtIWiZ{L5PMGaJ8vX6Db)<F?TAafLqJ|9oW*qz7y2I(EDTA3 z4Hn@{BGku*9%YCDPzZeQ?8}b0Le7uaFXW#L?xK>q`6!PpHhEu?Z!mLbg$jzG=uO#d z%3fFYIv^}OyPzr1JWrWPHaM^wWu3p^i+f94SKfJn*wzwq_}HzURb>}p)!v6U&OQC} z9QRFxIVjp3<H5ICXR5~@9j!3Gn+S$KoePN{m=X-VlD0^cr_dC;E@<2rs{vi}nw~Kk zJdpwx{)`HOkMP|LAfCmC-r}IVCdP0J+%xbcxQwFj(0)Pz*%IuU34)a~J*DQ5aPVRi zmoysqJ?r#m{ev7yqJ{dii;C<`2~4sVaB~HkB{OSP3U6g5f*TO`c9fTkQuFI9YGTmY zs7nbW{D>Y}h_S)_$HvHP>IahetRcO{qS~tRTu+W`i)!n7Yw3Gt0so;Huo3oC$Kre+ z+f;u2sx3AkXePyRMlbMlx1aT3lGkQ7S3gKDtu?jVTvd1ef?9FqPUuVT?b!az&-co6 zqvN&~xIR6d*bu_Lk5g`({M)rYJ&T%5=cWLc2p7}9@d%w_O~C=ZaR6y6seAoRMMrT; zvukQqQ>T17BX_6c+k=XGceKSu$A9bjW%YN<p*7+1pW;TVrpo;$HS#AY%erO*ee+`r z`4Mso?qlm#x?#WTXrCXgr<dM$iCm%r&W6qTh^@}~o$0Q3>o$IBO^M;abqj-*4ntLq zri+8(SlYt-t5!zMv-a|`@7fCZX5NQ835(qbUuj(#h#bj~Zbeq(-s{+ng$#-zPRYvU zbyGAcm!*j=fkYzfX74rCRQsq}%q>K5N>VA~QNv=5oN=R$>{IjA1z`FqFrP+$kI;B# zpM7(6id||<RkJI>wxP24<M^5P@cbM?m0{1=w)*V4+}0MYcUo8LGcBv7eRx%A;!MfM z8x5hiGcG0LLj%&lp42zrBsdkSzKZ*FEQS)tAtJ6g4u!G9O-0hLg)-xNYh$O5vJY1- ztXcdp_x@ifh<`C0LF`lBWR6uq?R@8}P@l!WL#^82GcCU%fOTh*2jBklNcx`u<Nq^< zXyLsP4We_?lu(iC3xYsN#4JNTup?4*TJ*#yR*z{A9M7Q5#Y)qqy(Q<Q`W=~fOd3C9 ziDQpghOTcIPY7?HNo@ONm3@6X=cT{&oQ>mG9oLRFG*~Kze^}oZWU_fnsw(n^(9r5F z+*@+&aq3N;_m9+@5H1$7{JYNntnosB?U*qmg`38J!9FfUUQ#luzKG$(u%wfn2?r26 z_#XB$?$#d*lIn$D<7jD(8Tn$@o;{xqVnq;VJ5pBIgq#WY0LfI00b%NlQlNOCPExIK z9rk6cj1`dbjNbFxo*&r&Hq)a=666y28&cZE2wu3ogh*fn#RD#X6+pkeOyDN?fZZRx zvyGHfTP1dFH0inxt%7L#lhvcg8f!HS;?)4lgx_Ed9*#>z31^*W#7cE6>k!ToS|FKZ zN&M~-km92Q`GU+I(<S&Y*n%VZx&?_>9cE8Bk9v*yGN#W%)<$ahEBB!qdoxn5RKWd` z*3OY{;-qQFtdJzVe&u1YXOfLvsD@@xpLDJd$!baFESXiG$JL}73>?{$ERSKL;`wHP zQBt=fI%1Z$HRVtuN@xDtEoF)<A%G9qNEwYo3vCPOODFF=rcJ^1%zNCTRLI;Y=3%XZ zP9^-}n@F<iX($3~pkzcpZJLHEFk=!Dnt9?6Czc|)Dh29H2_b_1^_v_yM<Zl6+4Exv zI7NjTM^i!RQMD<~fwXQrCo{n4pfa?2j(I0-a>ZX-(2I0*-4w&hN|55qo1~v&aEI)6 z90XpfzTLYL3QJbjjuR{Sz_Tv65YL{K;lb6JymmuCgk?Q>?M%nqG(F;%6YwksK$}gy z2TSDzCLl*DYV@GuiVy!$KZO~Dus4frpT<a&=5y<g`swT_Y5I%Fy<=31GSj%46Yu_- z22^ACoTvcl_R%Ugo*PH;(w~y!Jus?2d=KRhWOgk!q#FNHQTHX5otRv~&EL?W$M)RE zT~mgaHjHR4UCm-loCoPEv9zll#n$VU+x?7c;%c!!v`3|XteM`YTuMqkN%q6W$Kwu; zeH3#KG_G#h#~0~i;@I&uqYPEvbi?H=u7S7*`lz;z2kTaU!0BVoqHoc^rU7h<jl?MY z<pubIQ(;SKal)8CHPh$@maJz&bxtw3z2l;^54<ym1{;Os(k_mslMVa1D_r4&I~6|w zH4HRcd~xFVZ=*T=hhlpS!3S^t3bOq(XYIdJm$0u!HrrNvM(EX*`vJZYaSpAnnJF|J zBI0^GSbF;+d$?_51#>_`9YoPW-B8*bIo__uF5;gVosY82ue|>iqcX-ztw}J4>hjZ@ z?}R7|vJamEB19MPcd=Raou9j9%sX7k85Y&53-_{n^3le6#IuP~@I7-6JBP4(08NI6 z=k*;BHNoDH@RN=ei9Iz+))+UkxtR4c$w+hYFa?FRU*e`ICrifO^PPK6jUo5lDfXw; z3CXLFel4!NpH!8NzC2pZN6EV*p4M($6D)!J0@u2k@IlE<n7<~tLM6raEcteOBe@Tj zEhz{c7N!^6iQY4<f^hK-b7{*>YH@sox#a=5+Sc|~#sd=s&!9Jt^l%|k{0fgZwgy`W zD;r?$dYPzmat4Y+myzu`zrU)wSlq2n`D~I03-eKOXS2!FdB6I_Il{sI@cHKHhxPNP zw=7dv*XL|zup_GKGK8PM2C~f#K2{->Cl2JbyCMXsY*8t%m6XZXiIvg<{p}~=;u6C! z|1=ahYd|)pxjhPH2X5i#RKp-M2c&K&JLwZFJHFSIX4CTDBR?}gE$Q!LT;n@OML$Q} zlcF4$E99i6V2mC5DyfrqYQTYS+u0MAvr*?W`EySX^T(chc+qa#%|+uWBZtM%=_pF9 zxk4#l80Zw}X~n{s#6l;hV#-d&z7FL~;#IhEK+l@og6P}}%xx#;mlsAZVc<YtMJO!0 z1JB)SH+R`1ubU4ba~7qf9yLc}X&$i@CC5`YtAB;tL6aFbeco~E<;<H%(kOQ#ADZSu zb0t{<l1CGvxX{SkuT~D~q@9TPp*_IV`VCWcOOryW?7a*d+%YMuMp{?v;p5<cAglvn z{TN}}mn{0Y967Nl?aa{x<+J{Z)R{9Di`P*SgaR>7FHrE6deKs(O{O3YoS`B;GSt3X zh9S8}I)ja?Npj3R=te}i3Pn(GfxUrkJ1E1#tC|3mM~p^MX5xa~6vjsJ_yDixWG}%n zL5gj{z~`^MJTX$4=FqTA3+3&Cs?+M})QHM9bbMvY!^yh*DCviy3!Z->tQ~taHjz<* zYGGAqv$ivoJ(C%v;hOn+pBQf4WnAA&x{Y>ecd{fsOQbU1!@m{0KoFxiBFqKX!F`~m zvlq2qypq2jyzzN^buZh9{lq#CKO?}f@E#z4h-{6NQ)J5h(oQ6gss&8frun$+b@Yy} zPHLd0-w$!`{C>Z`dAG`Xa9`6|dB1hmbn&%a@8*QYUPt8HCN~b`=OBcd>q_@dvTvBJ zUwr_3kR0``aMi4xjOT7w{+IUqg8L&t_KcXRQEc5-H1u3(n$R=R(WXIMi`1@bxtnu& z`gQ*ESv9NI`*rSJ)<f+ffQUO0`=G3FsBuJX#etyc|GB%%x;a_Kdyl{M<t@2>osl&V zaIxY+pS!EHlgiSZn?@9xLk1kiSutBxHRqiVyWYC&aMiSRj{5be3908(Rz@WrQc-&e zQv0*hrr&oDJ{F)m(A7t%jz=#dv%?rN<r;#ucTNc|P^DsiNvTnl&8)?U#p({bqt41W z4VafjlgiwkM&%aV0=FgEQ|fsu9o4$SH+yTsewkdKi)?K|>es-I&>9gK4M9O)^`IEy z=pJ>vR9ao7`%%XEn?V`(OE~n5NNGuh0hk+?d+_GQ>hHuo0_@c7a|Cse?Fkzk$^l+W zCYP4q=<Yrh?j9B}KN`K}q@!fL|8-z{y#GLB@&CuzV_V&mzexO_0Q3LPL;Tk;R*$Wj zw;^J9$&VbwaPX&5KpR+XC(=rQD2FrSjmD(*9lmihB`e!Am8Ug&Ire`$KhPl7fJ1?D z8LebSEa~S7r+6){G@jTNq8K+M=tcZ?xUV$(epMIe!!QbPC=qpgI5`p*lAwi!45q6< zgt4OuQgB}K_~d?-1jDdNkNI|6LruuDak3B8=v#<@K)G@JaMb}sU+MBY7Aq+yNyp2< zikMuqwEhVZxD$Nj;t4VUv7~z_E~?5qf_5hAh#ua?m0MmNynT2cca|XikkfC4ojd{J zNSv6}iFvuUykppq&BZVa&iX2X(?Dft?(Z{cCB%{u-IwAYXcePVX<P}#GEf>T@-mW5 z9wgP_ada}`0x7K<MxjhL)FdxvC*aAa65Jt6GU~9GusV)-wtY>EqA6JZL`SG_r=Wb! zCAbb-R<{sp0;7>;E8szL?PuaoV4}5UxL)#LIVm8YAH?1KH&mQ@iw1!)<pi9P2-m_Y zGUze)GAc3!%BUME=})__xwY>7rce-1cI($PY7lf}m*){V?ZlMArKjaCrEUSsaW4f8 z4pire>Cn6h#bu;?vr8CFB#S?D9q13sF5x7ksRA$vNH~cFf=`+DNsL$_`%pV-5Diyx zPS{>3X1M<rN{1Q_mHh){37;S=*vMmpz!L?aqsyA$7kLW5&jL&U*iv9=)H2r1%ym{- z{L~WzTh?8;AGYOU2dYh!%t%$o$1ZUbvISDbMR*;6h>4iKE%7lXBEq8X4GprwhmTzy zrth&r`J4gczy(Jk?@|MaH_6rh0C&6J0=tM?`vPm*di<k1ly|WoS?LnM!a$C|KBFRw zE~_haL9=Yp8dMHGdZ1r%=tmO=6-VO!ltrgj4U@kc2cN{ZnKc*c169H5_?p3{RKF(S zTyKnnY|=z{abDmtzpf7#{(2?$JUz5kydv%M4l>|~zv1MzDt=%ko_Q?HHu^`sE{lxN zuWF1Fnll?`FyE3>mcdm*hx?A=f7_H~-U@P8is?5_C?@y(DB!g|54<?7&1d%;zFW+9 z-=-cEgu(=EyqE$c;?va~U9deFa=GAG3@4riq;u*oQFg}u!2DUiGHYLu2PRCI*_t8l zSd|S2T|+h$Yhr!cry^E=MAc-dys_3BD>?ChY-_{WkVI)4dR0hi`4kRI7Cm}ceFSM{ z*cQQeJ&Dhv*meAH2$*SPT#1#z%-!k;WICtky}#m9m{!Xk@x?Q@pPS}hc(Lurguu4o z*FW!JH^cMKTC#uU(DNE-_X@2!&^)}XxATORUozKhI}l-+aEq3A2j4=wq_FU|+sV=+ zmVM$ZRnc}hCrg?D=Hti4W~3k%%Dv7<RhCpMPfC*&xEK0pMDi~7LPm-gDH(l^J-}25 zC6Q_EMUs&9yGhE$gac`#dnPkx$Q&vNw<ZZhnp}j8atNX}jTMmhh-mX*U%OnOJ!(<| zqLnQ7od*d2m-DI+7l751Qi)td?k~Z)sCZ_DKUBkRmTGzn{$7EdT;@~6@Kr*_w1KFv zlMQ|V8w)9Ix8T(lNNm(@H;WRfq|Uu3C1)#}c$Xk;Gl>X+``J_}>UGNwV#d1MJBXcv z$luVdWRr_k?i#~>xpORBhyo3ziY_OGf}!@=Xp-#Yh@k(^kF7~s9z=9AInN@hV;ZBL z$pd`(m<iXpMczCtrbduIv$9deP^|_KAlnLAJGq%fS?`i`y7Zw(y(~46#kWx|s<Jyf zmb?S4ACLd}AhSd}cKQsLA<{X42mQqVDWy}DI&L1f)xP^AzFv`bCE@x3TCf2w6nIua z*pH{wquF85_#N|uJ6WJTxfJhUKg3&;W4{0n%q?F_Ed|wN_*d!ebt%fnugKjaF8nOA zF6}|+e*W#n1B~yp1w{;GI13Y+sHjHKunz-zx(GpDlZoW;n*Iqj4#g_!raX{8+yOO7 z0kiG6hN8j|hou1834N7B7Uu?5$ID*E?R{?a-n^8n4JDA03qPw*{a*fQukE0+&THaE zM+{7t-A~!qlN6I9Dd0)cHEzd)*x{D#7N%uqdTlh)@lloxe#$>rE}Ww<nm$5a5`Fo$ z8^jiX;N`9?;c<#MjY=?6WE<eBwd91`<5sYta3Zycbq1Wrrp$y;CUS}GTHI$$FDSyK zqXHX5e9WqqCXpQ*FTRr6ke91n@ogz6#jKOk6#*ZzDbZb0ja3R3o3iMRqC1-PZ$_NX z+VL*j?;fau-TVTV!#?$+zpm`vU@rbL5KQ7MHc#hXaC!c~n;yA)lcVoU;$4fP!Md1p zY{EjrMx+<;(cP@KrH?+Me)VmvVV0(~-&rL8N>~WMvx5VBP@!;TPzhu<z48qWg_xR7 zG2eVKgA=R&@=@wE%ieG)E5g*lSc#DM1<KCkOd$ThsJm%_M31>Qs(|Cc8;UT)Kz^Q7 zn!l`+4Md`Y+Z$~fl7Y<He<Wk<djWr+Y_sa8%$~>c?ubGGv^f@VE<{&vI@Q$2Y@bGk zu7}#YRj)WzHSVC_R+U`nSdK3G=%)R;H*W4|tan%={2!SWc0N*b4_CbFF`ky=@#7o& zTL2fgMT)kmEB6g39`VNQq5Ec6hBpyz{8^`hUKLHK|JMu)O^JHrFSFbuVV2^xVKpuh zvt`ekxoJ!8KA!f6I{=19k50S^+Q7fAkT(WWl$@X7<{owYtyi6+0y>s5yf)<*JbZ8K z9PCK%X39C{#H!X|UYi6*ap(?0tb^o6&-gEF?R0Om`iMP|Pld}F$uxu>ai4P?A%&f7 zl-U(=UATpM>~(2CsTQ`E&mC50ZsFbY%`xp$z!fu$RaO6j0dnNr3%}b1#Db~8QYb&7 zYkS(?=~s?=OFsUsj;*M~Pf}U0FOc>QvqRr%YvrAERRT|p4|v}GitM>3ccc42{$PB_ z@k=UqRfN#QUZY;QPOEp(lYbT&ntmt&CO04M{yVF}4+q2F#oqmQuOiESv{wEr7VQ51 zggJ;`{1QvL9v(Zfx3yKjsmt|2!??drUdmjx{l$IC3reSH$IAy@>x@wN+`F^Wk3<U) zA@^PfG^nX5*Aof1opX55WgJ6E63WsF0m0FxV+a@pdN$zqTxQP{Q8It_odC3x^{l?8 zb@cK?ef)v~Mx`@5TY>m)%WtMv!{^zATie9p^V&_f;+jFXu75#$=U<-R|3(35Va<&u z_U-Gm<b?4XpFfdh66O;M$t~oPa-Ai9ni`fpfeWO@2-0S57H`;lx%tJW=~`Oc(JVQr z=(YOM5MAt0D=`$Vl~Bb9G#Kbw=EV2N=Gbfl5jX-PjCE-$Eby>TDK1+FuErn(^~SOT zO%lmKg&NSVCbP|hVX0qxw5(B7Jf*}OgQMLffXNKsfE)!--AnLi5o6>T?xm+`j$*68 za_~&@c{XKx2k7YtuKJZL^O|3Ns{-k13U!@aZ!G52!6^x`l<Zoh_wqo1)*k``!54Lr zr(`$P&JjQqgLi<5m;UBPq#fLkwG7&-8s+8(wYnlGm5TsU+UeSm=KHk%gru+dm=rB% zy`kB5%NVu@i7U`^5=55lCqRp^ibaOS{hJ}V55djp=meB_)-75MBq-{`)~EL&?u>(s zr!r#_CpTY&eOxm)+2j#nDobd>UbER&r;aADrQE-%!Ktn3Y;6vJ>*b^>Q9Ck}z?tYJ zdkWMAWgNapVk>~?8c+MM7708X(m*Aly+88Pcz#-M&U7LeJTfQ5Y}JP7bR0~(kV8xI zV%W9?W!v6#6~C_A!+-ta|EQ;sd;lK>9^9)HA5IZ^c|X37!goV~J{^&gODv9Jiyh{W zdEjH!ab;cr6Hq*7;GPiUC+lbZ868Z8*zUm^AnF%AGP<2{NvBPLyOqinRq)fo_`gg8 znm<bpqsf}6u$PMgzlQ~?PfS06&qdziJrZh&x(#VDdt@spE~;nEU4VUW^Ai#kQ8|H( znP@!`ftx%ZB<(1s5XzJLkhEVo<%fM}-2Tl`%c!eQ!#OJaw#B>j+t{RsAP1uZ1?65{ zyNjtxMnNilR|%jF&o7fNy67)f9;=EH9#3B1Z(GpI{7_(7q07s%-ScSg!8y7wjgwXg z0}rKv+nB}}M51g*>lw7Lepo?T2w9wwrFiPa59qEesOo8Rr_zBuI9dRZo;&E38;=G) zFZ~pe{VSIUxD~ShZAb7&8L-b%OyYOB1jV&47h}8a3S$pt>CQ<xjQ*$y-<`zS+qaKJ z+FDFqPW&?M<7{|xCzjV*xs9tia(#`+yglJ5@c1Zq(r3C=(>e8+awo3!soEDG68~rq z-g8^Cj%0}7>gadSiyW6rh!z-E|Mq}wKlA-5a!>~`_M+>t)VwwqbN%o@28Lf_5h(h? z4A^z2V9SGhXhn|*a1C<=cL(jzXV&M3p}4Sdc6Vu_-2IRP$ZvYnp23b<28RUW>UJsb zUk(J>Z=Qk$)yFAz)O<eDLLP~v*&Uz2XVKqa!;SX3+_Fi$VbgTYT5o<Ios11H)Yk(i z>Hipdm;Gkv|MKtB{`BwuQyU*wVz@3YYR4!qpP}#O$zRa7ORx}=!&oY~@*>5l<x(29 zcu|ld$8bJ<D4~(n0Wg71Ukq?m$hr@$0o6KqD+@em?=xYB8~=i_v^@7WlqcL%Pz21c zB=F$z6Vd~)?y1Ckl987atuq1rv($uNdDzzDNkSyfye1f;{vdIPgL!{15EH3)hKV1% zOEv?lB$i<jl6Y1}Mosc7lR<BfyWR3Y<u@deSW(&IQQT#ktptSH@HQh#6P~`l#8{W| z5yo_inpC8dUPBc;2aPmRvH`kcAH@a#0?Cnyse#sQWlm*i6DU_9A*GCoGS$IOyeVFj z!uF~T4XyBKmUo7v6Q*|f9V?IPdKw}an}kT<i+&B^{)nVY^AhyG_t+W(f21bVUuL0s zz93BLA^Lx{cb-8_CF~wgNDPD)ArV4X34|Jujv&>Q4kBy-K?o9>B1CGWh9I!47?vPi z3@!?~qC{K-loDW-je-=FqLd(AP(qPj?peM2&O3YW%$?c$-nn1ie9cTwPCn%P&i_2m z@2^$T@|Z5oZdC)G2N}~lp$>{x+8#vr+Cs{#ect&oa<WM-oZ2aJ%^vWM^^MK7^q{#X zFAVI5&_s#K6Bbz)?j@{-x?7s6^ow+Wx8ywz4xG*rB}ML!ESm7IS*i)DyNQ>TI$u|z zn2(@aS$pT0*WTUs)&qoY>H_UQSKn(5JXc*KrBf4rAk~8^ew_QM@{P2~?ou!FP)=B& zsI&WzrM`epJu1?j0ijuSLp%Ck;Ex)k*fnMCA^dfwBP$v{+0A=NXR=eaBcb<1hO8%( zi|nuQIFJZGg>+$*f65h2t-;L6*JB0TPR&BJ73x$|1Sl`9o35E|J~GWq3V#prpUcfh z2q%7e$KU=$CJ&f27_dKSBaE#)q3IY7ZZjpx9(JeMx}-!Y6h3INu$ek{60Uf-o`TUf zXeIds(|z9yI`TY{SdlLTJtm&A1@_glo!?Um`KIo6`1_h^nUlZ=L}|z4YcJT8hp%s` zbtBMrlnE-|)JKw>GF<zJblX{>fRr&b&tr^z_6qW|5{Y!u<M2Sw1@f<^oD<Y%JV__2 zYg&uSyQNUF#hz!4AZG)F+T}g$s&BJuVX3$S)ol;82m;LetQJ8>m>0bT4>LC4!$UR; zr4e;^f(=fqCLJ4-Eq#xo38}mnFuu;+w3p3nwV~sfH}OwykCE_CoRviEiKMW*Uih4h z%UAc|I>!=C7;Ln-x2{}qjIJ@sssbvQw)N&5=DgJ>BM$>Q)0JRWjjO2b+s-bw-EQF( z)AsmKVR951Gk@b|Z8d}7nY;sW_asRCa9PsaQY)K%4wgWOgUhlp5#g2|jUUyE$FDHl zWmL@o-!T7-V#qD#DVX#xE$g@A$TF;^wMV-6jqX>T8&9V{9y`C+*sP7PXKWr*sT#gG z>@;%e!RGnk*E3r^(^06=K;e-uJte9+;-4VsIsNmsjoS`aoO<T3_l1szhAOj5j6x?P zrq6Cvyl*bf^5+)kCl>6*;<h%%V;0x?u0~AO)GpdhS2F_rMz_e8uHKK9@rh&cD>0ma z5qE)ppH1Jy4T+-1BU7u*Sw6n3Ge)MZ3ydAUu2;#!LydljDuezV(EMm;)xuC)7sLE@ zVCC@ca6EBZc0_>7H4U(OJ$(T<eBRC;ZxRFC-$$r{`nkqJ4XtCb`1KlHA&rouA;E-( z*7#Xcb-&*^<@F_dZY^)i0ai%!l3B7ja>!w6s=Vz?BQ8?>l81WyLs*GcsWv4)k7IDG zNhGztyp3k=?*J8Fi;Yjbd#E2Za)h#HGD13Y*Io^=-dWDf!!chRaIV)-95BmrdrP1l z_&oPujGj1_JZq9Z4XgA(R{A)cE1511nfTG1fz%$CzSQ9BKP+A8adYpAPr&%WjOH(g zWjEe8cXC#W{)FYfp?LobBmye@pw}~Yf&Wkp|5vZtuTg(adi?*Y&i-e8{a?=Q*8k$? zIW?{J?lVuK__}YYeo?e8*M<{Iz>+k$Gr?I;_pJ+YEP&;qtAJ`4yukZ8@yDiU(4H`v zkGvLi8nlPy##l9v!nTVaq4yAZj7b5E6h(m`TY#Ar0d4EFIMQRXw}Is)Kr<m)yZi#H z?uTFt0jqy{n~5j`!Ag0cHN%jEXjuq1lH0s7zF~;-V`2FoC~k;#2iBEjf{~ajs63lp z!GeIg#(C&tFwmlV!fw;JW$sR;s2Nu_bo^#t)RPP!Na8g@<^=!dkW;#>Iari(EAx5X z@t;^6BU9{oWwU)$aJRxt_H|6*&)sF=hN+eqRThdZ$uGcy6S9GcG-J&pMa{OpAmihc z7obUwy`Wm|kzKpF=}oV?3@5M#<}L~co|541fvb3_t<eOHwjZxKH{$&2gk%p&$f*bW z|EeB+#~#wo_gHf%E6`>Wn#AAmBQETAyEq?>UMZzMhvUdVM`2<%FsOO;4T3Z|()E!7 zRTqPm=!+2|QEyq^q&HmVn9zlpHwXuSJ-G57zdXu8534a>x~!%p(^zuck&r>mBNh_W zyZ3uJE)4`-*EnQgwxmUGLy4W}8qcaLK`_d6zqq}8I%tt@1n(2MF8#KNw^Cv78CSQQ z)+fc{fjrJx2`+%-B}WO?mVGJv0wpOk5!O_jv?L{OOCX(-7_jiq9XndAIAC|%=;L`I zb4zCaMA%OqNZF+Ca3IhDH=E<;t{qzOX9^AmS@W}PsHU;KbG@+yVFP%`6u`=1Q2;A% zL?WB{x6!N_@?#zux-c8n0#9rIUKLf;^YFB0JY&RSQq#PRYjEVwo1VBurh@|CbE}A{ z6YUE!{O3<BOpl`+X|&;diKc~^<ohgVpko9BFQsGlm#wWFAcRD&yxV#eftHoS<igw) z(S8MXu@f=RqYptGfjGZv>4-^0Z15{ZS4IY8d$K#hR(xHD#LIOgfVK^|o-832fWjlf z+u$}xxyyrniD%z5ftx@>@c41VMB%TvTavvTwXvou0UJYT3BCa_e93*A-N6^OSf0sS zj>WtB$)kSjZW%eOX-f0O&@|OQW-xlSjeKry+HzjT>z`zVbCusIwsprpxxgB)IJWv> zn)uHc4QkrFHQJ6&3|)!qT!4hh?reMUu8-BMeLeIsr~eM0?Y`kN`J?vhinz;TgCAXR z&%0c{E#X-K+`3@ui@t8k;sVQWVMkXl5<Uv%FQ&6b&yv$W26NuB<c`(0eJ#72?KsvS zvuCoi6b7vN>1#J^45$n4CG>*GB%MzyQn|p29lv{*rtv6ZTbpAFYVPFvkQ9Iktg&hG z_O~DA;UoClxMXpL-lxR0y^kN?Y*!e~#q*K-C03TjS-PWsBUM+MzJ=W*CBQAn*LZw0 z`OmQXU->8YZ21_d=FytmBF!<qzyAdp-bbvKX6wThl^T?DHtr0`q*~eFerd5s$r4zj zkN{=1K&^Z(AJE-07*vpDdtcL&dZExB^b%|(PYzDK4=z3|@sfjPf>x44S!W%ZU=0|0 zdU6#)@~A>#sfC!{iE4eHFG)T!J`MLXa@s}LVJ+^a9(;9=lee_j9~J@TBwl1W@_|OK z1BwS|fDq{*YB^L}lcZ;mnK_kLh>8Ms+0s~#7aVIC;)MUp_^jK{zHh3J5|T<Tf%~Ym z9H<#<LX(19#pqayWD8F&TQWpV2$3^?CwCAWf6ucHqf&C3JP2wsuYQ*-pehX!#@a`z z%xwwr7TY4b@3zDz1Cz6g1Gd#Cc`H>@OGJhcmDoC*s(4^G!oZfvpP3Vqaf{8d7G^{o z*F>_P0aFctfWbuqJ7970u;FQ-PT~|bm>|<~wlxGWIU+HD$&HW3b0um$mZSqSc9qgQ zK4}fx;nP!ppk-){4}4yjMXc0Qv#P$oTCXo4E>5<@Fn%Yvpu~RG`kfH+)AbqFq^{v{ zrY^xQH36QL%Sop|_Tla^Z|860vGqr&?Y3j7DKA7d<yzhrcDRs#Fv-70uoP-KL&qLQ z+qu85lKu$0H^}{9Pt#}8bK7<}LJI40*_G@GOsbn(U4;$qE;FC_0A6%?F8S$}=3w%o z`As*NbQdAQ44XC=ZS1R(lU~Nf6HIec;JgA}Xqo7@CRlm$b)uC{<W}zakCegC{7JM) z^iB}tDE<(nT(n$%*56mJRR7(A-ih9QG{x&`slOAC`X&JD))%R=nt4paaGmEIV(JeB z6+!|YuPnVU7VsTC7kq9PUfBw#h*oyKD8KA2xHfm&{y9&dOF<<&gWe$`sO7HQmJntq zG-cz6QbP4P7djf4Yv!Aq(laRPa6mMCdCzN%3>KB-wA#ZI++T4BECIeI`$<Xq;B6DP zO2w=&^f*T)Gv=mePQ9aVHIHr~EEa6Vqc_Ff*w)mPg3x*u&iO0nj63Wv+}5R9@dzt) z><0uOzvRr{YdLV>9K=Toc$V?_C&6<|WN5n-*;&jMziWl}MyD<cmh;bd5FMb)x`jUo zR25zAd@3nhS7vD@ymt33MYp0aSd0d;14HOhhK)5-SwpTL5GG9boZIVnvtIos^E7bg z{yZ-Zw(8G(Ea<am{X1WgJ&=+Ebt)lPvQFvLL|S$1TTi`qanpxK@s!eHCc1l{-u@LH z;Q+1r2t?Jsf#%{X6vXGDw)c$J`oCZYlNJ`#KrR)DSuf7Vc&+8c+_<-U`kl^Z;>snN zXKRHiF$s~=FDAa*0x6yiKR2gaWx9dtd=>m@_0v=yeW-pMZxVycOM0^Nbi>`j<kH~% z_%W~5<&Bu-)h~WtQJ*es_twu(4-TxEjO@?tpKr+ZF_7DlsVmg)YyARnw@+eP`Tg4Z zorQ5X>)ps{S(AuWd1E8q=!iAiv4#&`YY=9Vesfa<!ZZoyz<3zF6|<aO5=YixH4V>W z$nS5<P5A(K@_PqMUt`1tsh!Z5x`Vy0pJ!VbT~{B*%xM`ST#zz(72@t*-d4>x()US4 zN^GeJvs&e$;+Bk~oZ~uPXXuR*g4Is?RG^%o#ymYvdp0^nnEl;gU|3{fr+;4$_rvLe zVJ%Lx3D|U4y&+V0qZXKVNdfOQdHz14qWXHgqf0Mj24)wPtDnaS!jiX%-DTCr9>2c@ zzf7@B>O}2KT6RR0ua7=|vOP8g-xRO%_b>O|M_8L4jI6d=MubiD<c~To{2QgeUZ4J@ zDbHW~sQxBOzqa4<>F-)99(w-1KBEeR1zY36Gt1hU4<YN{1Ie<*KlAe!r~oULV?me4 zIPI^*ej{iSuiUs#Lf7K9bp8<z66yvSJv<9JMt#_W7K7u!ve0kAvN&?cN+B7}L8nTn z+=K3KNPkbB@o-hC%ZQ`I%{)RDl(sGGZ^$L)9RwT_X4P<aaNm(3ptyrhOe5TwaHi+e zWFNuYotB{7IFz@Y*1`HTLSAV*Ny-P~VMn6AK)2{HElwt<-)Tq#1P@xNPT^9urdOsn z=ZAl*por6530pz$-OGC+07P@l>A(cDXk8`{E}P~q_QZMy)G=bdQgk2BdAOK0-UbgZ z=i8-D__L5^hYAjFX#WAx0d)y(gb>%47davTF7w$#1O#gtx~z<zhAy5k2n`8kqf>Eg z8-h_=RHKgMbS$;~j$rKz48@L5%qEWl#LL|v26jCiGYS)?ZI1FbT%XWP-AA|i8Zf^F z0_Jf=y`1esfVgxA#X|<OF>FB+!dzjtySoCAL%{Pkoa~n*o1Xf}$`6=TYn@*5H&gI{ z(m*E%bWXb=Sx8rv?rx?vkXys4GOm4zfl?2=EHrsLw1!}{;PyMx*nw73@r$0#QEM(V zHwRi=Un2F&PXQ>O+a3C?8TLT7F=kZ>(|sryEt{e)ilW;xZBJ1y0(N-*lW<8o#zR)d zB`Ya#qiyZo*to#4(#(<9{WO}C+a3GNyhi>=tA);}H(lH#ZB3hI`L`rwc>8*eoYRgC zIXNq0e@e+Li~qNnr9~Auil40q1FlzmiMd&eg|F=*^lon2OLH{RKf63(RRAMGF+31X zd-5nxC`h=ZZ#9~Opx7}2ioOzF*S)WhoD5q(*k&fgl}HP`k0|MTi~w337bMER&Lyuj z9Q_LvSKtB@H-o>CZq=*Rr3D$58)Ib)P5KZ#wU(@(mAG0S^vAom<dg!XesS9CSh*{e zn^3h;VGL?W9}6sF7%$`shEXRyg1$nxkKy#({31hB@Rb~a94*DcQnIugmaD&hzobdy z|72bCu4i$v#7NM*7-vq<)N_Xu^lnyP1=u!3wIwa;2n}^{UyX&CTzF?HRr75?`qD+c zo3R?)53kFI5nfxjHk^PV=Kb6U+B4G{l=C;vZtg|EvU2}8$ZW&nl<(KGsrgea^Dk%I z<(arkQO#T@Bn|Y)6$YrbkE3=2TF>Hle?`%p>+4|o5QaM23G&D=#7K&3jY*NTcODdN zNpTI}O%=aJpc0R8f}k4rTl(lB_GoznNB=_tDRdpyDdBZ5G2D;D^45Os8B~FqjWGXH z+oj`*5h&c%7ry+wcK#8jY^9J6px%+UC=FRy8KC*y(kmrt>0_U~@z3Q4=r+nEOv-n3 z#XmAgTLX!<X?^Pg%z!9&uOBmocmIr-x!}?Ez*_ch%gypr=a^R}#?-vzS}ZVD$a3D6 zc>O{T8Bzl(Ah~2;G$vlT)J1ieq71aGiRW`(?%Yz=%xST}=kZ5Ej_Lw?t5)F{s<<!^ zSPAIXD*`S=y%UG-0&~S`WA3ft7$mg#@GOyp$$19oRw6OtfdKMENUUfV@(oCv+Zc$k zZ4QbC@CDpad)vAQm?_y5hs-=FruBYZLrJzJR7%V66ur`Xfn!5+imDF}$V}yLKTLL3 zOmC+qG)`P)=~FWJBOH7W-8=!<%oK}=zu;E`Z;B3`<Pd~w?>V;WQ9H9cATbEKc||vy z*niL?h~JavoP!o;m*4a_Gub4fM0g99TO$&JAm4#4W2&slx1d=_FA)f=v9-yOc?B#0 zm#QW;*hGKtUfGhMFiWqz%E>75@}#yGb65ulZ`kDVq}T>iQzfNwB+F(kH-68%YKrmo ztW;=zcKlUBC9KDbJUO}3-W+{KvArnm89MZ7G19g*o1#F)0mC{-_#+PkbGm}NXO4r& z%3bN(Olcczju1FULhYvx>>E*gjF*`OEM49`)7H{gCU^ESGV^gZI#k}1?{H38VcQp3 zO-QA@2ho7$%`#wS6V>QtEE^utC)pvLttx<tZyy>vxWDaTheC&T<?y@9v(lkIjDAF{ zpRG8F^uEEYHPi5=0vj67QYNe`xbArGU%UM(JqL~qPO3H%e@+fn?hvL&If&{QzoOiC z25i=2=GBV6znHPp($OSKl&qZKdH~c@+hC+&rQ&hKcD8x^+?6cnQhXwYzITHA@p1y( zgKDm5rFF?!+1PP^jn)WDjKcu|l_f-fm6Qt#1$UTcr~KTn;JPu_lmx9|f<9ODzU!T! zNo7suiL2*nB!mNjar%xf_zL_UIENJr?DM>gs;i2&t+qI%%?9+;89j4ExdCsgl@{Cm z(M>g<jl9mqXHJ#00|)<55Bq`VBG%t6lN}Us!)<e*)kenso^hW~0NHlEjqBTuO9})R z9Q_jK>iu;538P`z>q~!cdCyu|*PK#QmvqBinUR~K#yeikzOcT~xQ${l#?OO>_lKK? zhfdLrVuoH!zk0UhRGXwPcaM$Lc$%wm{bi!bUg$_uV&=UEjaPk+=I<CwZH=@`{k&9E zQoAHDUDgZ%O6yM7?e-#;Uv_o>`bDpHFJYS>^7-9{NaEhS6**dXe(JMK9Qj%OXI{cy zXkx;&Y~rq9k%`}@)rBc}qcyHKC4KLRQISd5`-`fz((6_YF(+rllynF8UH`$hIg%V1 zU${rss=q~BJgBMNH$5>A#|KKnkgx4EbQ{!Fig{vPKWCJ><R}U}<q=*>X%}d??NV3a zF`4Cd)JqdT(0fl>o$VTy0qI0z&yoCs?-)LBJTG40Sv0Yr=GN4tIJ?H#R~Ro3Gse?( zcaGq$`+QJ!@e8@G<TaS$Fx)zFs=mB9evFtUKa4Bh%1xv>KYb~EAK7qiLKU3fslFT( zLoM%!_+WahgO+izXbw;2e4k{$_iwcQzen4@F=_EvI{x=Z(Erg~+q(zVfb6_qjG$pa Pz{}=4$Kwwy2-N=o<rT<Z literal 0 HcmV?d00001 diff --git a/advent15/advent15lazy.png b/advent15/advent15lazy.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea4d79127f1e3c3fb88a6fd80dba61d9fb4cb80 GIT binary patch literal 25751 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[qB2mAlF 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 literal 0 HcmV?d00001 diff --git a/advent15/advent15times.csv b/advent15/advent15times.csv new file mode 100644 index 0000000..c3d17b9 --- /dev/null +++ b/advent15/advent15times.csv @@ -0,0 +1,9 @@ +cabal run advent15original advent15,18.47,202.19,2:02.91,17888168 +cabal run advent15sorted advent15,18.09,189.46,2:00.68,17886248 +cabal run advent15lazy advent15,0.10,5.69,0:05.64,80708 +cabal run advent15directpar advent15,3.34,27.14,0:11.49,1322200 +cabal run advent15 advent15,0.82,15.22,0:02.90,726936 +cabal run advent15,0.95,17.88,0:05.89,730904 +cabal run advent15,0.59,14.82,0:02.36,792416 +cabal run advent15,0.84,17.90,0:05.65,690064 +cabal run advent15,0.70,14.46,0:02.36,672592 diff --git a/advent15/advent15times.md b/advent15/advent15times.md new file mode 100644 index 0000000..7dd8a25 --- /dev/null +++ b/advent15/advent15times.md @@ -0,0 +1,7 @@ +| Program | System time | User time | Wall time | Memory used (kb) | +|:-------------------------|------------:|----------:|----------:|------------:| +| Original | 18.47 | 202.19 | 2:02.91 | 17,888,168 | +| Sorted region | 18.09 | 189.46 | 2:00.68 | 17,886,248 | +| Lazy boundary creation | 0.10 | 5.69 | 0:05.64 | 80,708 | +| Direct parallelism | 3.34 | 27.14 | 0:11.49 | 1,322,200 | +| Parallelism and chunking | 0.59 | 14.82 | 0:02.36 | 672,592 | -- 2.43.0