diff --git a/day4.exs b/day4.exs new file mode 100644 index 0000000..afbedb0 --- /dev/null +++ b/day4.exs @@ -0,0 +1,95 @@ +defmodule Day4 do + def input() do + File.stream!("input/day4.in") + |> Stream.map(&String.trim/1) + |> Enum.sort() + end + + def part1() do + {id, minute, _} = + input() + |> Enum.map(&parse_record_pattern/1) + |> Enum.reduce({%{}, [], []}, &stack_and_map/2) + |> elem(0) + |> Enum.max_by(fn {_k, v} -> + v.asleep + |> Enum.map(&Enum.sum/1) + |> Enum.sum() + end) + |> sleepiest_minute() + + id * minute + end + + def part2() do + {id, minute, _count} = + input() + |> Enum.map(&parse_record_pattern/1) + |> Enum.reduce({%{}, [], []}, &stack_and_map/2) + |> elem(0) + |> Enum.map(&sleepiest_minute/1) + |> Enum.max_by(fn {_id, _min, count} -> count end) + + id * minute + end + + defp sleepiest_minute({id, %{asleep: list_of_ranges}}) do + {minute, list} = + list_of_ranges + |> Enum.flat_map(& &1) + |> Enum.group_by(& &1) + |> Enum.max_by(fn {_k, v} -> length(v) end, fn -> {0, []} end) + + {id, minute, length(list)} + end + + def parse_record_pattern(string) do + << + "[", + _date::binary-size(10), + " ", + _hour::binary-size(2), + ":", + minute::binary-size(2), + "] ", + action::binary + >> = string + + %{ + minute: String.to_integer(minute), + action: parse_action(action) + } + end + + defp parse_action("Guard #" <> string) do + [id] = Regex.run(~r/\d+/, string) + {:guard, String.to_integer(id)} + end + + defp parse_action("wakes up"), do: :wake_up + defp parse_action("falls asleep"), do: :sleep + + def stack_and_map(%{action: {:guard, id}}, {map, awake_stack, asleep_stack}) do + {Map.put_new(map, id, %{slept: nil, asleep: []}), [id | awake_stack], asleep_stack} + end + + def stack_and_map( + %{action: :sleep, minute: minute} = _record, + {map, [current_id | awake_stack], asleep_stack} + ) do + {put_in(map, [current_id, :slept], minute), awake_stack, [current_id | asleep_stack]} + end + + def stack_and_map( + %{action: :wake_up, minute: minute} = _record, + {map, awake_stack, [current_id | asleep_stack]} + ) do + went_to_sleep = get_in(map, [current_id, :slept]) + + {update_in(map, [current_id, :asleep], &[went_to_sleep..(minute - 1) | &1]), + [current_id | awake_stack], asleep_stack} + end +end + +IO.puts(Day4.part1()) +IO.puts(Day4.part2()) diff --git a/day5.exs b/day5.exs new file mode 100644 index 0000000..120f185 --- /dev/null +++ b/day5.exs @@ -0,0 +1,47 @@ +defmodule Day5 do + def input() do + File.stream!("input/day5.in") + |> Stream.map(&String.trim/1) + |> Enum.at(0) + end + + def part1() do + input() + |> String.graphemes() + |> react() + |> Enum.count() + end + + def part2() do + for(n <- ?a..?z, do: <>) + |> Enum.map(fn c -> + input() + |> String.replace(c, "") + |> String.replace(String.upcase(c), "") + |> String.graphemes() + |> react() + end) + |> Enum.min_by(&Enum.count/1) + |> Enum.count() + end + + def react(polymer) do + Enum.reduce(polymer, [], fn + x, [] -> + [x] + + x, [y] -> + [x, y] + + x, [y | ys] -> + if x != y && String.downcase(x) == String.downcase(y) do + ys + else + [x, y | ys] + end + end) + end +end + +IO.puts(Day5.part1()) +IO.puts(Day5.part2()) diff --git a/input/day4.in b/input/day4.in new file mode 100644 index 0000000..9eb2c97 --- /dev/null +++ b/input/day4.in @@ -0,0 +1,934 @@ +[1518-07-04 00:01] falls asleep +[1518-06-27 00:42] wakes up +[1518-06-12 00:48] wakes up +[1518-06-07 00:03] Guard #2789 begins shift +[1518-08-11 00:04] Guard #643 begins shift +[1518-08-26 00:26] wakes up +[1518-06-18 23:56] Guard #233 begins shift +[1518-08-31 00:01] Guard #1117 begins shift +[1518-06-18 00:02] Guard #2789 begins shift +[1518-04-15 00:56] wakes up +[1518-08-16 00:29] falls asleep +[1518-06-04 00:53] wakes up +[1518-04-17 00:36] wakes up +[1518-07-21 00:00] Guard #277 begins shift +[1518-06-25 00:57] wakes up +[1518-09-08 00:56] wakes up +[1518-09-02 00:52] wakes up +[1518-05-12 00:51] wakes up +[1518-11-22 00:12] falls asleep +[1518-10-11 00:24] falls asleep +[1518-08-30 00:46] falls asleep +[1518-10-03 00:39] wakes up +[1518-10-17 00:02] Guard #2789 begins shift +[1518-09-09 00:37] falls asleep +[1518-05-29 00:58] wakes up +[1518-04-18 00:01] Guard #757 begins shift +[1518-07-13 23:58] Guard #1217 begins shift +[1518-06-20 00:00] Guard #449 begins shift +[1518-10-30 00:53] wakes up +[1518-10-24 00:47] wakes up +[1518-07-12 23:56] Guard #613 begins shift +[1518-08-30 00:50] wakes up +[1518-06-12 00:41] wakes up +[1518-07-11 00:00] Guard #353 begins shift +[1518-10-08 00:40] falls asleep +[1518-10-08 00:52] wakes up +[1518-06-06 00:46] wakes up +[1518-10-01 00:27] falls asleep +[1518-09-05 00:57] wakes up +[1518-06-17 00:15] falls asleep +[1518-07-16 23:58] Guard #2789 begins shift +[1518-07-08 00:58] wakes up +[1518-05-21 00:37] wakes up +[1518-11-09 23:59] Guard #101 begins shift +[1518-10-05 00:05] falls asleep +[1518-04-20 00:25] wakes up +[1518-11-19 00:00] falls asleep +[1518-06-30 00:00] Guard #3163 begins shift +[1518-09-23 00:26] falls asleep +[1518-05-30 23:53] Guard #2963 begins shift +[1518-07-20 00:57] wakes up +[1518-04-09 00:01] Guard #643 begins shift +[1518-08-12 23:54] Guard #2789 begins shift +[1518-06-10 00:13] falls asleep +[1518-06-27 00:00] Guard #1217 begins shift +[1518-05-01 00:10] falls asleep +[1518-08-04 00:48] falls asleep +[1518-08-28 00:45] wakes up +[1518-11-02 00:55] wakes up +[1518-04-27 00:04] falls asleep +[1518-09-26 00:03] Guard #197 begins shift +[1518-11-22 00:44] wakes up +[1518-05-01 00:58] wakes up +[1518-09-23 00:00] Guard #2789 begins shift +[1518-07-27 00:04] Guard #2333 begins shift +[1518-10-12 00:30] wakes up +[1518-11-16 00:44] wakes up +[1518-07-19 00:46] falls asleep +[1518-07-06 00:04] Guard #1117 begins shift +[1518-08-18 00:00] falls asleep +[1518-10-31 00:44] wakes up +[1518-08-15 00:04] Guard #857 begins shift +[1518-10-26 00:45] wakes up +[1518-07-17 00:58] wakes up +[1518-08-07 00:02] falls asleep +[1518-10-04 00:00] falls asleep +[1518-06-08 00:30] falls asleep +[1518-03-31 00:17] falls asleep +[1518-04-24 00:52] wakes up +[1518-05-16 00:00] Guard #3163 begins shift +[1518-08-17 00:47] wakes up +[1518-11-11 00:22] falls asleep +[1518-07-22 00:06] falls asleep +[1518-07-25 00:34] falls asleep +[1518-10-22 00:31] falls asleep +[1518-09-24 23:53] Guard #2297 begins shift +[1518-08-01 00:58] wakes up +[1518-05-05 23:56] Guard #353 begins shift +[1518-07-27 23:59] Guard #2789 begins shift +[1518-08-09 00:12] falls asleep +[1518-10-07 00:54] falls asleep +[1518-09-12 00:00] Guard #1049 begins shift +[1518-08-27 00:00] Guard #613 begins shift +[1518-09-24 00:10] falls asleep +[1518-09-30 00:53] wakes up +[1518-08-06 00:57] wakes up +[1518-09-15 00:41] wakes up +[1518-08-08 00:46] wakes up +[1518-08-01 00:40] falls asleep +[1518-07-12 00:26] falls asleep +[1518-08-20 00:51] wakes up +[1518-11-21 00:39] wakes up +[1518-05-28 00:14] falls asleep +[1518-11-05 00:10] falls asleep +[1518-08-18 23:52] Guard #613 begins shift +[1518-08-31 00:43] wakes up +[1518-05-17 00:13] wakes up +[1518-07-15 00:24] wakes up +[1518-04-25 00:53] falls asleep +[1518-09-19 00:55] wakes up +[1518-09-08 00:46] wakes up +[1518-08-12 00:52] wakes up +[1518-06-07 00:51] falls asleep +[1518-10-10 00:47] wakes up +[1518-08-02 00:02] Guard #2963 begins shift +[1518-05-06 00:42] falls asleep +[1518-10-12 00:53] wakes up +[1518-04-25 00:50] wakes up +[1518-09-15 00:51] falls asleep +[1518-04-20 00:50] wakes up +[1518-04-30 00:52] falls asleep +[1518-04-09 00:14] falls asleep +[1518-07-28 00:31] falls asleep +[1518-06-12 00:00] Guard #277 begins shift +[1518-11-04 00:34] falls asleep +[1518-07-18 23:59] Guard #1049 begins shift +[1518-08-05 00:34] falls asleep +[1518-08-04 00:51] wakes up +[1518-04-21 00:51] falls asleep +[1518-07-20 00:48] falls asleep +[1518-10-25 00:06] falls asleep +[1518-05-15 00:01] Guard #857 begins shift +[1518-06-25 00:46] falls asleep +[1518-11-13 00:34] falls asleep +[1518-04-29 00:59] wakes up +[1518-06-23 23:58] Guard #2789 begins shift +[1518-09-07 00:03] wakes up +[1518-07-29 00:03] Guard #811 begins shift +[1518-08-21 00:35] wakes up +[1518-10-29 00:57] wakes up +[1518-10-10 00:51] wakes up +[1518-09-16 23:56] Guard #1117 begins shift +[1518-11-21 00:46] falls asleep +[1518-07-11 23:56] Guard #643 begins shift +[1518-11-18 23:48] Guard #3023 begins shift +[1518-05-05 00:49] falls asleep +[1518-10-13 00:20] falls asleep +[1518-04-12 00:54] wakes up +[1518-05-27 00:56] falls asleep +[1518-06-14 00:05] falls asleep +[1518-11-05 00:37] falls asleep +[1518-07-16 00:00] Guard #2297 begins shift +[1518-05-22 00:55] wakes up +[1518-10-29 23:56] Guard #2963 begins shift +[1518-04-02 23:49] Guard #643 begins shift +[1518-06-10 00:38] wakes up +[1518-09-21 23:56] Guard #197 begins shift +[1518-08-24 00:57] falls asleep +[1518-06-09 00:41] falls asleep +[1518-05-08 00:00] Guard #449 begins shift +[1518-10-14 00:36] falls asleep +[1518-04-13 00:41] wakes up +[1518-05-01 23:57] Guard #1129 begins shift +[1518-04-16 00:09] falls asleep +[1518-07-21 00:09] falls asleep +[1518-07-29 00:56] wakes up +[1518-10-05 00:21] wakes up +[1518-06-17 00:28] wakes up +[1518-06-15 00:57] wakes up +[1518-04-03 00:36] wakes up +[1518-05-03 23:57] Guard #1129 begins shift +[1518-10-31 00:09] falls asleep +[1518-10-01 00:00] Guard #353 begins shift +[1518-11-12 00:00] Guard #1049 begins shift +[1518-04-02 00:13] wakes up +[1518-10-31 00:30] falls asleep +[1518-08-26 00:03] Guard #2297 begins shift +[1518-05-07 00:35] wakes up +[1518-09-29 00:22] falls asleep +[1518-09-24 00:40] falls asleep +[1518-06-06 00:02] Guard #1657 begins shift +[1518-04-16 00:55] falls asleep +[1518-06-09 23:56] Guard #811 begins shift +[1518-06-30 00:44] wakes up +[1518-07-29 23:57] Guard #1217 begins shift +[1518-04-26 00:56] wakes up +[1518-04-21 00:58] wakes up +[1518-10-21 00:29] falls asleep +[1518-09-15 00:29] falls asleep +[1518-10-08 23:49] Guard #1217 begins shift +[1518-10-27 00:47] falls asleep +[1518-09-19 00:52] falls asleep +[1518-04-17 00:54] wakes up +[1518-05-07 00:21] falls asleep +[1518-10-19 23:59] Guard #1217 begins shift +[1518-05-27 00:35] falls asleep +[1518-09-06 00:02] Guard #101 begins shift +[1518-06-29 00:36] wakes up +[1518-10-16 00:10] falls asleep +[1518-06-03 23:59] Guard #277 begins shift +[1518-11-14 00:00] Guard #2789 begins shift +[1518-11-13 00:44] wakes up +[1518-04-05 00:41] falls asleep +[1518-04-08 00:02] falls asleep +[1518-11-03 00:48] falls asleep +[1518-08-26 00:31] falls asleep +[1518-11-09 00:53] wakes up +[1518-05-24 00:27] falls asleep +[1518-08-06 00:42] falls asleep +[1518-08-10 00:13] wakes up +[1518-04-17 00:44] falls asleep +[1518-04-30 00:38] wakes up +[1518-05-09 00:48] wakes up +[1518-11-07 00:52] falls asleep +[1518-04-01 00:04] falls asleep +[1518-10-27 23:53] Guard #3023 begins shift +[1518-11-08 00:55] wakes up +[1518-10-06 00:45] wakes up +[1518-04-17 00:00] Guard #613 begins shift +[1518-05-19 00:50] wakes up +[1518-05-27 00:09] wakes up +[1518-06-07 00:53] wakes up +[1518-07-07 00:07] falls asleep +[1518-04-14 00:04] Guard #811 begins shift +[1518-06-12 00:47] falls asleep +[1518-06-04 00:24] falls asleep +[1518-07-24 00:03] Guard #2297 begins shift +[1518-08-16 23:56] Guard #613 begins shift +[1518-10-11 00:13] wakes up +[1518-05-03 00:39] falls asleep +[1518-04-27 00:57] wakes up +[1518-08-04 00:44] wakes up +[1518-07-03 23:46] Guard #773 begins shift +[1518-09-25 00:39] wakes up +[1518-04-26 00:53] falls asleep +[1518-07-30 00:27] falls asleep +[1518-04-11 23:57] Guard #2963 begins shift +[1518-09-26 23:57] Guard #1217 begins shift +[1518-04-20 00:22] falls asleep +[1518-09-16 00:57] falls asleep +[1518-06-21 00:49] falls asleep +[1518-08-15 23:56] Guard #2789 begins shift +[1518-11-18 00:03] Guard #2963 begins shift +[1518-08-25 00:03] Guard #277 begins shift +[1518-05-20 00:40] wakes up +[1518-09-09 00:38] wakes up +[1518-05-24 00:46] wakes up +[1518-08-28 00:38] falls asleep +[1518-05-28 00:30] falls asleep +[1518-05-21 23:46] Guard #1049 begins shift +[1518-06-02 23:57] Guard #3023 begins shift +[1518-11-20 00:58] wakes up +[1518-07-22 00:21] wakes up +[1518-04-15 00:10] falls asleep +[1518-11-01 00:54] falls asleep +[1518-09-12 00:58] wakes up +[1518-08-02 00:43] wakes up +[1518-09-08 00:49] falls asleep +[1518-05-10 00:57] wakes up +[1518-05-31 00:56] wakes up +[1518-08-14 00:45] wakes up +[1518-05-03 00:34] wakes up +[1518-04-18 23:58] Guard #613 begins shift +[1518-08-23 00:55] wakes up +[1518-10-17 00:34] falls asleep +[1518-10-20 00:41] wakes up +[1518-04-11 00:04] falls asleep +[1518-06-28 00:21] wakes up +[1518-04-04 00:10] falls asleep +[1518-10-25 00:53] wakes up +[1518-08-26 00:51] wakes up +[1518-04-28 00:54] wakes up +[1518-07-03 00:01] Guard #857 begins shift +[1518-11-10 00:50] wakes up +[1518-05-30 00:00] Guard #1129 begins shift +[1518-10-26 23:58] Guard #1117 begins shift +[1518-11-08 00:00] Guard #2297 begins shift +[1518-05-25 00:02] Guard #1049 begins shift +[1518-05-22 00:33] wakes up +[1518-07-28 00:58] wakes up +[1518-11-12 00:43] wakes up +[1518-09-22 00:54] wakes up +[1518-04-10 00:04] falls asleep +[1518-04-22 00:38] falls asleep +[1518-08-18 00:47] wakes up +[1518-11-18 00:23] falls asleep +[1518-05-18 00:01] Guard #3163 begins shift +[1518-05-13 23:56] Guard #449 begins shift +[1518-04-06 00:15] wakes up +[1518-05-31 00:02] falls asleep +[1518-11-22 00:04] Guard #3023 begins shift +[1518-04-28 00:01] falls asleep +[1518-04-09 00:36] falls asleep +[1518-04-06 00:43] falls asleep +[1518-07-10 00:14] falls asleep +[1518-05-12 00:58] wakes up +[1518-07-07 00:04] Guard #1049 begins shift +[1518-09-14 00:16] falls asleep +[1518-04-14 00:57] falls asleep +[1518-10-01 00:30] wakes up +[1518-06-03 00:47] wakes up +[1518-07-19 00:36] falls asleep +[1518-09-21 00:53] wakes up +[1518-08-05 00:00] Guard #1049 begins shift +[1518-07-26 00:57] falls asleep +[1518-07-25 00:45] falls asleep +[1518-05-12 00:55] falls asleep +[1518-06-01 00:02] falls asleep +[1518-06-16 00:50] wakes up +[1518-09-09 00:03] Guard #2963 begins shift +[1518-07-23 00:45] wakes up +[1518-10-23 00:54] wakes up +[1518-09-26 00:42] wakes up +[1518-08-30 00:35] wakes up +[1518-05-31 23:54] Guard #2789 begins shift +[1518-08-28 23:58] Guard #353 begins shift +[1518-10-10 00:50] falls asleep +[1518-09-04 00:03] Guard #277 begins shift +[1518-05-10 00:46] wakes up +[1518-05-22 23:56] Guard #1217 begins shift +[1518-06-17 00:31] falls asleep +[1518-08-24 00:58] wakes up +[1518-08-17 23:50] Guard #3023 begins shift +[1518-11-20 00:51] falls asleep +[1518-08-19 00:10] wakes up +[1518-08-28 00:48] falls asleep +[1518-06-05 00:54] wakes up +[1518-05-11 23:50] Guard #643 begins shift +[1518-10-08 00:29] wakes up +[1518-05-26 00:37] falls asleep +[1518-05-08 00:23] falls asleep +[1518-07-19 00:24] falls asleep +[1518-10-22 00:02] Guard #2333 begins shift +[1518-09-14 00:58] wakes up +[1518-07-21 23:56] Guard #277 begins shift +[1518-09-21 00:16] wakes up +[1518-07-23 00:58] wakes up +[1518-10-28 00:32] falls asleep +[1518-05-06 23:48] Guard #2789 begins shift +[1518-11-04 23:56] Guard #2297 begins shift +[1518-10-24 00:21] falls asleep +[1518-11-23 00:51] wakes up +[1518-11-21 00:01] falls asleep +[1518-11-05 23:56] Guard #3163 begins shift +[1518-06-13 23:52] Guard #101 begins shift +[1518-08-19 00:56] wakes up +[1518-05-22 00:49] falls asleep +[1518-09-17 23:57] Guard #233 begins shift +[1518-10-10 00:01] Guard #277 begins shift +[1518-05-25 00:39] wakes up +[1518-10-12 00:21] falls asleep +[1518-11-01 00:41] wakes up +[1518-09-28 00:00] Guard #233 begins shift +[1518-09-29 00:10] falls asleep +[1518-07-29 00:12] falls asleep +[1518-09-27 00:52] wakes up +[1518-11-15 00:49] wakes up +[1518-09-26 00:07] falls asleep +[1518-10-07 00:42] wakes up +[1518-10-03 00:03] Guard #773 begins shift +[1518-04-20 00:01] Guard #2297 begins shift +[1518-07-30 00:59] wakes up +[1518-04-16 00:51] wakes up +[1518-04-25 00:27] wakes up +[1518-10-21 00:01] Guard #101 begins shift +[1518-09-29 00:04] Guard #277 begins shift +[1518-07-23 00:01] falls asleep +[1518-10-15 00:23] wakes up +[1518-09-09 00:55] falls asleep +[1518-09-25 00:38] falls asleep +[1518-10-24 00:02] Guard #197 begins shift +[1518-08-20 00:38] falls asleep +[1518-11-01 00:57] wakes up +[1518-04-25 00:25] falls asleep +[1518-04-12 00:25] falls asleep +[1518-08-22 00:33] falls asleep +[1518-10-20 00:25] falls asleep +[1518-04-03 00:46] falls asleep +[1518-10-19 00:51] wakes up +[1518-10-31 00:15] wakes up +[1518-09-21 00:11] falls asleep +[1518-07-09 00:03] Guard #449 begins shift +[1518-11-11 00:49] falls asleep +[1518-07-21 00:48] wakes up +[1518-04-19 00:34] falls asleep +[1518-10-22 00:41] wakes up +[1518-08-19 00:02] falls asleep +[1518-05-03 00:11] falls asleep +[1518-05-13 00:25] wakes up +[1518-05-18 00:41] wakes up +[1518-09-09 00:46] wakes up +[1518-04-08 00:45] falls asleep +[1518-08-08 23:56] Guard #2789 begins shift +[1518-07-01 00:47] wakes up +[1518-08-28 00:58] wakes up +[1518-11-13 00:02] Guard #2963 begins shift +[1518-10-12 23:56] Guard #2297 begins shift +[1518-08-08 00:04] Guard #1217 begins shift +[1518-08-23 00:53] falls asleep +[1518-11-02 00:02] Guard #3023 begins shift +[1518-05-30 00:48] wakes up +[1518-06-12 23:59] Guard #449 begins shift +[1518-10-12 00:02] Guard #101 begins shift +[1518-11-01 00:00] Guard #1657 begins shift +[1518-05-10 00:55] falls asleep +[1518-06-15 00:00] Guard #1129 begins shift +[1518-09-03 00:20] wakes up +[1518-08-03 00:00] Guard #1049 begins shift +[1518-05-13 00:39] falls asleep +[1518-10-05 23:58] Guard #643 begins shift +[1518-05-26 23:56] Guard #1049 begins shift +[1518-04-09 00:28] wakes up +[1518-07-15 00:59] wakes up +[1518-11-03 00:00] Guard #2297 begins shift +[1518-06-22 00:02] Guard #773 begins shift +[1518-07-07 23:54] Guard #197 begins shift +[1518-08-04 00:41] falls asleep +[1518-03-31 00:42] wakes up +[1518-09-03 00:18] falls asleep +[1518-08-31 00:31] falls asleep +[1518-09-11 00:15] falls asleep +[1518-10-06 23:50] Guard #1129 begins shift +[1518-06-02 00:13] falls asleep +[1518-10-29 00:20] falls asleep +[1518-08-06 23:49] Guard #2297 begins shift +[1518-07-10 00:47] wakes up +[1518-05-29 00:57] falls asleep +[1518-09-20 00:36] falls asleep +[1518-09-20 23:57] Guard #773 begins shift +[1518-08-14 00:40] falls asleep +[1518-05-28 00:00] Guard #2297 begins shift +[1518-10-23 00:43] wakes up +[1518-05-14 00:58] wakes up +[1518-07-13 00:49] wakes up +[1518-06-09 00:03] Guard #2963 begins shift +[1518-10-13 00:50] falls asleep +[1518-11-15 00:40] falls asleep +[1518-05-27 00:08] falls asleep +[1518-04-27 00:15] wakes up +[1518-11-04 00:02] Guard #2333 begins shift +[1518-05-06 00:56] wakes up +[1518-08-11 00:39] wakes up +[1518-05-29 00:03] Guard #1117 begins shift +[1518-09-01 23:59] Guard #773 begins shift +[1518-10-09 00:56] wakes up +[1518-09-26 00:50] wakes up +[1518-08-07 00:07] wakes up +[1518-05-05 00:00] Guard #2789 begins shift +[1518-05-11 00:33] wakes up +[1518-05-10 00:13] wakes up +[1518-04-23 23:58] Guard #353 begins shift +[1518-11-18 00:57] wakes up +[1518-06-07 00:37] wakes up +[1518-09-26 00:49] falls asleep +[1518-07-26 00:03] falls asleep +[1518-09-20 00:27] falls asleep +[1518-06-26 00:38] falls asleep +[1518-07-10 00:03] Guard #2297 begins shift +[1518-09-06 23:54] Guard #773 begins shift +[1518-11-07 00:01] falls asleep +[1518-06-22 00:09] falls asleep +[1518-11-22 00:18] wakes up +[1518-04-14 00:40] wakes up +[1518-10-28 00:05] falls asleep +[1518-04-02 00:05] falls asleep +[1518-10-13 00:58] wakes up +[1518-07-08 00:55] falls asleep +[1518-06-13 00:38] falls asleep +[1518-08-03 00:11] falls asleep +[1518-03-31 00:00] Guard #773 begins shift +[1518-10-23 00:50] falls asleep +[1518-09-10 00:05] falls asleep +[1518-04-03 00:57] wakes up +[1518-06-25 00:00] Guard #2333 begins shift +[1518-09-08 00:42] falls asleep +[1518-05-28 00:59] wakes up +[1518-08-22 00:21] falls asleep +[1518-04-07 23:53] Guard #1049 begins shift +[1518-09-25 00:17] wakes up +[1518-08-01 00:15] falls asleep +[1518-09-24 00:59] wakes up +[1518-06-26 00:11] falls asleep +[1518-08-30 00:54] falls asleep +[1518-08-12 00:08] falls asleep +[1518-07-24 00:26] falls asleep +[1518-04-24 00:41] falls asleep +[1518-11-06 00:57] falls asleep +[1518-07-25 00:55] wakes up +[1518-08-08 00:53] falls asleep +[1518-10-27 00:55] wakes up +[1518-09-03 00:46] wakes up +[1518-11-21 00:58] wakes up +[1518-04-20 00:42] falls asleep +[1518-11-14 23:58] Guard #643 begins shift +[1518-10-11 00:11] falls asleep +[1518-04-05 00:57] wakes up +[1518-05-02 00:51] wakes up +[1518-08-01 00:17] wakes up +[1518-08-23 23:59] Guard #643 begins shift +[1518-06-09 00:53] wakes up +[1518-06-23 00:24] falls asleep +[1518-04-15 23:59] Guard #197 begins shift +[1518-06-08 00:35] wakes up +[1518-04-28 23:58] Guard #773 begins shift +[1518-04-19 00:13] falls asleep +[1518-09-20 00:54] wakes up +[1518-11-07 00:43] wakes up +[1518-05-12 00:28] wakes up +[1518-11-14 00:39] wakes up +[1518-09-14 00:24] wakes up +[1518-08-18 00:13] wakes up +[1518-11-17 00:58] wakes up +[1518-07-13 00:18] falls asleep +[1518-07-11 00:33] wakes up +[1518-08-09 23:52] Guard #2963 begins shift +[1518-06-17 00:35] wakes up +[1518-08-03 00:45] wakes up +[1518-09-17 00:39] wakes up +[1518-11-04 00:56] wakes up +[1518-04-09 23:52] Guard #643 begins shift +[1518-10-07 00:03] falls asleep +[1518-08-11 00:13] falls asleep +[1518-07-27 00:55] wakes up +[1518-08-05 00:36] wakes up +[1518-09-07 23:57] Guard #2333 begins shift +[1518-10-31 00:01] Guard #2963 begins shift +[1518-08-29 00:29] falls asleep +[1518-07-24 23:59] Guard #1049 begins shift +[1518-09-10 00:59] wakes up +[1518-04-19 00:52] falls asleep +[1518-10-28 00:59] wakes up +[1518-07-17 23:48] Guard #2297 begins shift +[1518-07-08 00:04] falls asleep +[1518-08-08 00:29] falls asleep +[1518-10-08 00:06] falls asleep +[1518-11-17 00:43] wakes up +[1518-04-04 00:55] wakes up +[1518-06-29 00:00] Guard #2963 begins shift +[1518-04-06 00:54] wakes up +[1518-10-14 00:50] wakes up +[1518-08-17 00:58] wakes up +[1518-11-06 00:47] wakes up +[1518-06-22 00:46] wakes up +[1518-08-16 00:53] wakes up +[1518-05-01 00:01] Guard #101 begins shift +[1518-04-21 23:53] Guard #811 begins shift +[1518-05-16 23:56] Guard #811 begins shift +[1518-06-24 00:36] wakes up +[1518-06-05 00:53] falls asleep +[1518-05-19 00:35] falls asleep +[1518-04-23 00:00] falls asleep +[1518-05-10 00:01] Guard #1657 begins shift +[1518-07-02 00:43] falls asleep +[1518-08-31 00:46] falls asleep +[1518-11-11 00:27] wakes up +[1518-04-26 00:18] falls asleep +[1518-05-16 00:14] falls asleep +[1518-05-08 23:59] Guard #2789 begins shift +[1518-04-10 00:26] wakes up +[1518-04-13 00:00] Guard #613 begins shift +[1518-09-04 00:50] wakes up +[1518-09-02 00:42] falls asleep +[1518-04-19 00:18] wakes up +[1518-05-07 00:17] wakes up +[1518-10-11 00:33] wakes up +[1518-11-14 00:56] falls asleep +[1518-09-19 00:45] falls asleep +[1518-05-03 00:41] wakes up +[1518-11-09 00:25] falls asleep +[1518-06-20 00:58] wakes up +[1518-10-16 00:49] wakes up +[1518-09-21 00:47] falls asleep +[1518-11-11 00:11] wakes up +[1518-05-25 00:33] falls asleep +[1518-04-17 00:28] falls asleep +[1518-05-30 00:09] falls asleep +[1518-07-12 00:30] wakes up +[1518-05-12 00:02] falls asleep +[1518-06-28 00:00] Guard #197 begins shift +[1518-07-16 00:07] falls asleep +[1518-09-18 23:56] Guard #1117 begins shift +[1518-06-11 00:07] falls asleep +[1518-08-31 00:56] wakes up +[1518-08-08 00:55] wakes up +[1518-06-23 00:54] wakes up +[1518-06-12 00:40] falls asleep +[1518-05-23 00:59] wakes up +[1518-04-14 00:48] falls asleep +[1518-05-20 00:01] Guard #353 begins shift +[1518-11-20 00:03] Guard #2333 begins shift +[1518-10-03 00:37] falls asleep +[1518-07-07 00:54] wakes up +[1518-06-21 00:55] wakes up +[1518-10-15 00:17] falls asleep +[1518-07-05 00:11] falls asleep +[1518-06-02 00:45] wakes up +[1518-04-23 00:54] wakes up +[1518-05-16 00:22] wakes up +[1518-10-13 00:27] wakes up +[1518-08-21 00:46] wakes up +[1518-09-15 00:00] Guard #1217 begins shift +[1518-08-30 00:33] falls asleep +[1518-09-14 00:47] falls asleep +[1518-05-09 00:28] falls asleep +[1518-07-06 00:17] falls asleep +[1518-05-14 00:50] wakes up +[1518-05-23 00:51] falls asleep +[1518-09-10 00:12] wakes up +[1518-04-27 00:41] falls asleep +[1518-05-20 00:10] falls asleep +[1518-05-20 23:59] Guard #773 begins shift +[1518-09-05 00:48] falls asleep +[1518-07-22 23:53] Guard #449 begins shift +[1518-04-16 00:58] wakes up +[1518-09-09 00:58] wakes up +[1518-05-05 00:59] wakes up +[1518-06-03 00:40] falls asleep +[1518-11-07 00:59] wakes up +[1518-09-27 00:16] falls asleep +[1518-11-17 00:50] falls asleep +[1518-08-14 00:01] Guard #101 begins shift +[1518-09-09 00:43] falls asleep +[1518-09-19 00:46] wakes up +[1518-09-12 00:36] falls asleep +[1518-04-11 00:15] wakes up +[1518-07-25 00:36] wakes up +[1518-06-17 00:03] Guard #773 begins shift +[1518-07-16 00:27] wakes up +[1518-07-12 00:43] falls asleep +[1518-08-25 00:47] wakes up +[1518-09-29 00:17] wakes up +[1518-07-11 00:21] falls asleep +[1518-08-29 23:58] Guard #773 begins shift +[1518-04-25 23:57] Guard #2963 begins shift +[1518-04-26 00:50] wakes up +[1518-08-21 00:11] falls asleep +[1518-10-30 00:14] falls asleep +[1518-06-02 00:00] Guard #449 begins shift +[1518-04-03 23:58] Guard #1129 begins shift +[1518-05-05 00:33] falls asleep +[1518-08-27 00:50] wakes up +[1518-08-10 00:04] falls asleep +[1518-11-02 00:08] falls asleep +[1518-05-14 00:32] falls asleep +[1518-08-20 00:04] Guard #613 begins shift +[1518-04-19 00:57] wakes up +[1518-03-31 23:48] Guard #2963 begins shift +[1518-09-20 00:00] Guard #811 begins shift +[1518-10-15 23:56] Guard #3163 begins shift +[1518-09-11 00:40] wakes up +[1518-06-18 00:48] wakes up +[1518-04-09 00:38] wakes up +[1518-10-09 00:00] falls asleep +[1518-05-28 00:20] wakes up +[1518-09-11 00:04] Guard #2963 begins shift +[1518-09-26 00:28] wakes up +[1518-10-03 23:49] Guard #643 begins shift +[1518-10-21 00:10] falls asleep +[1518-10-10 23:57] Guard #1049 begins shift +[1518-11-12 00:54] wakes up +[1518-04-29 23:56] Guard #1657 begins shift +[1518-10-18 00:03] Guard #857 begins shift +[1518-10-26 00:28] falls asleep +[1518-09-29 23:58] Guard #1217 begins shift +[1518-06-20 00:57] falls asleep +[1518-08-02 00:29] falls asleep +[1518-04-14 00:37] falls asleep +[1518-06-18 00:36] falls asleep +[1518-09-09 23:51] Guard #1117 begins shift +[1518-08-24 00:54] wakes up +[1518-07-30 00:50] wakes up +[1518-05-12 23:48] Guard #1117 begins shift +[1518-06-08 00:00] Guard #2789 begins shift +[1518-05-18 00:40] falls asleep +[1518-06-26 00:45] wakes up +[1518-08-28 00:07] falls asleep +[1518-07-26 00:40] wakes up +[1518-06-30 00:11] falls asleep +[1518-05-22 00:02] falls asleep +[1518-04-01 23:53] Guard #643 begins shift +[1518-04-07 00:12] falls asleep +[1518-06-10 00:57] wakes up +[1518-09-07 00:53] wakes up +[1518-11-09 00:01] Guard #2789 begins shift +[1518-05-04 00:59] wakes up +[1518-07-08 00:17] wakes up +[1518-07-12 00:48] wakes up +[1518-06-02 00:36] falls asleep +[1518-08-05 23:59] Guard #101 begins shift +[1518-11-17 00:42] falls asleep +[1518-04-03 00:04] falls asleep +[1518-09-05 00:45] wakes up +[1518-04-13 00:35] falls asleep +[1518-06-06 00:45] falls asleep +[1518-11-11 00:57] wakes up +[1518-08-03 23:58] Guard #277 begins shift +[1518-11-01 00:32] falls asleep +[1518-04-07 00:58] wakes up +[1518-07-02 00:57] wakes up +[1518-04-22 00:23] wakes up +[1518-07-27 00:53] falls asleep +[1518-11-12 00:48] falls asleep +[1518-11-14 00:58] wakes up +[1518-07-23 00:48] falls asleep +[1518-07-04 23:57] Guard #1117 begins shift +[1518-09-14 00:03] Guard #2297 begins shift +[1518-11-08 00:45] falls asleep +[1518-07-18 00:02] falls asleep +[1518-07-14 00:25] falls asleep +[1518-04-06 00:07] falls asleep +[1518-10-12 00:43] falls asleep +[1518-10-17 00:46] wakes up +[1518-11-10 23:57] Guard #197 begins shift +[1518-08-13 00:06] wakes up +[1518-11-10 00:39] falls asleep +[1518-09-03 00:32] falls asleep +[1518-07-05 00:37] wakes up +[1518-04-30 00:10] falls asleep +[1518-09-15 00:55] wakes up +[1518-07-27 00:31] falls asleep +[1518-06-05 00:00] Guard #2333 begins shift +[1518-05-23 00:20] falls asleep +[1518-06-25 23:58] Guard #277 begins shift +[1518-07-15 00:45] falls asleep +[1518-04-25 00:57] wakes up +[1518-05-27 00:52] wakes up +[1518-04-27 23:52] Guard #197 begins shift +[1518-05-07 00:03] falls asleep +[1518-04-23 00:17] wakes up +[1518-09-06 00:29] falls asleep +[1518-05-13 00:47] wakes up +[1518-10-27 00:35] wakes up +[1518-10-25 00:02] Guard #101 begins shift +[1518-07-14 00:48] wakes up +[1518-05-19 00:01] Guard #277 begins shift +[1518-10-21 00:16] wakes up +[1518-05-03 00:00] Guard #1217 begins shift +[1518-08-21 00:40] falls asleep +[1518-06-21 00:29] wakes up +[1518-09-03 00:00] Guard #3163 begins shift +[1518-04-08 00:49] wakes up +[1518-11-22 00:22] falls asleep +[1518-08-27 00:45] falls asleep +[1518-06-16 00:02] Guard #2297 begins shift +[1518-05-18 00:10] falls asleep +[1518-08-24 00:32] falls asleep +[1518-07-04 00:27] falls asleep +[1518-07-20 00:41] wakes up +[1518-06-14 00:54] wakes up +[1518-11-11 00:09] falls asleep +[1518-04-10 00:44] wakes up +[1518-04-04 00:46] wakes up +[1518-07-04 00:47] wakes up +[1518-11-20 23:52] Guard #3023 begins shift +[1518-11-05 00:55] wakes up +[1518-08-22 00:58] wakes up +[1518-05-30 00:39] falls asleep +[1518-08-13 00:27] falls asleep +[1518-07-19 23:58] Guard #773 begins shift +[1518-05-02 00:40] falls asleep +[1518-07-06 00:56] wakes up +[1518-08-22 00:22] wakes up +[1518-08-19 00:31] falls asleep +[1518-06-11 00:00] Guard #1217 begins shift +[1518-11-22 23:57] Guard #613 begins shift +[1518-06-28 00:18] falls asleep +[1518-07-09 00:32] falls asleep +[1518-06-07 00:32] falls asleep +[1518-09-22 00:16] falls asleep +[1518-09-29 00:26] wakes up +[1518-07-18 00:13] wakes up +[1518-05-26 00:02] Guard #2789 begins shift +[1518-10-15 00:03] Guard #773 begins shift +[1518-09-20 00:30] wakes up +[1518-05-26 00:47] wakes up +[1518-10-07 00:57] wakes up +[1518-11-05 00:23] wakes up +[1518-04-08 00:41] wakes up +[1518-08-09 00:35] wakes up +[1518-06-13 00:59] wakes up +[1518-04-10 00:41] falls asleep +[1518-10-28 23:57] Guard #1129 begins shift +[1518-06-27 00:25] falls asleep +[1518-08-25 00:15] falls asleep +[1518-08-22 00:47] wakes up +[1518-04-01 00:42] wakes up +[1518-11-03 00:50] wakes up +[1518-05-12 00:42] falls asleep +[1518-06-30 23:57] Guard #3023 begins shift +[1518-08-13 00:42] wakes up +[1518-09-05 00:43] falls asleep +[1518-10-31 00:57] wakes up +[1518-09-04 00:39] falls asleep +[1518-08-10 00:47] wakes up +[1518-04-22 00:04] falls asleep +[1518-10-30 00:32] wakes up +[1518-11-06 23:54] Guard #1217 begins shift +[1518-10-04 23:48] Guard #353 begins shift +[1518-05-24 00:04] Guard #101 begins shift +[1518-04-10 23:52] Guard #811 begins shift +[1518-05-14 00:57] falls asleep +[1518-10-19 00:15] falls asleep +[1518-06-11 00:31] wakes up +[1518-05-10 00:09] falls asleep +[1518-05-25 00:28] wakes up +[1518-07-01 00:46] falls asleep +[1518-06-22 00:49] falls asleep +[1518-10-27 00:32] falls asleep +[1518-06-20 23:58] Guard #353 begins shift +[1518-06-21 00:28] falls asleep +[1518-05-05 00:38] wakes up +[1518-05-23 00:43] wakes up +[1518-10-28 00:22] wakes up +[1518-06-29 00:34] falls asleep +[1518-06-02 00:23] wakes up +[1518-04-06 23:58] Guard #449 begins shift +[1518-10-21 00:57] wakes up +[1518-09-07 00:23] falls asleep +[1518-05-30 00:22] wakes up +[1518-05-17 00:21] falls asleep +[1518-04-30 00:58] wakes up +[1518-11-06 00:46] falls asleep +[1518-04-15 00:22] falls asleep +[1518-07-18 00:52] wakes up +[1518-11-16 00:02] Guard #2789 begins shift +[1518-06-24 00:31] falls asleep +[1518-07-15 00:05] falls asleep +[1518-09-13 00:01] Guard #857 begins shift +[1518-05-27 00:59] wakes up +[1518-04-26 23:46] Guard #1117 begins shift +[1518-08-31 23:59] Guard #857 begins shift +[1518-08-12 00:00] Guard #1117 begins shift +[1518-10-01 23:59] Guard #233 begins shift +[1518-08-17 00:56] falls asleep +[1518-05-04 00:07] falls asleep +[1518-09-07 00:02] falls asleep +[1518-10-23 00:06] falls asleep +[1518-10-10 00:20] falls asleep +[1518-05-13 00:04] falls asleep +[1518-09-10 00:50] falls asleep +[1518-05-17 00:06] falls asleep +[1518-04-22 23:50] Guard #2333 begins shift +[1518-05-11 00:00] Guard #1049 begins shift +[1518-11-17 00:00] Guard #101 begins shift +[1518-11-19 00:42] wakes up +[1518-07-19 00:57] wakes up +[1518-07-20 00:23] falls asleep +[1518-10-29 00:34] wakes up +[1518-06-15 00:16] falls asleep +[1518-09-26 00:35] falls asleep +[1518-07-26 00:58] wakes up +[1518-04-24 23:57] Guard #1049 begins shift +[1518-05-18 00:19] wakes up +[1518-07-23 00:28] falls asleep +[1518-05-17 00:47] wakes up +[1518-07-19 00:33] wakes up +[1518-09-06 00:46] wakes up +[1518-06-01 00:41] wakes up +[1518-08-10 00:44] falls asleep +[1518-07-25 23:48] Guard #1657 begins shift +[1518-07-01 23:59] Guard #277 begins shift +[1518-04-15 00:00] Guard #3023 begins shift +[1518-06-16 00:45] falls asleep +[1518-08-22 00:56] falls asleep +[1518-08-26 00:24] falls asleep +[1518-10-25 23:57] Guard #1217 begins shift +[1518-09-16 00:02] Guard #1117 begins shift +[1518-09-04 23:58] Guard #3163 begins shift +[1518-04-23 00:51] falls asleep +[1518-09-24 00:35] wakes up +[1518-08-01 00:02] Guard #643 begins shift +[1518-11-06 00:58] wakes up +[1518-10-31 00:48] falls asleep +[1518-10-22 23:58] Guard #1049 begins shift +[1518-08-23 00:03] Guard #2333 begins shift +[1518-08-28 00:32] wakes up +[1518-07-30 00:54] falls asleep +[1518-08-28 00:03] Guard #1217 begins shift +[1518-07-04 00:07] wakes up +[1518-07-29 00:44] falls asleep +[1518-10-06 00:38] falls asleep +[1518-04-15 00:19] wakes up +[1518-06-22 00:59] wakes up +[1518-08-13 00:05] falls asleep +[1518-04-04 00:54] falls asleep +[1518-04-29 00:17] falls asleep +[1518-04-14 00:54] wakes up +[1518-11-16 00:17] falls asleep +[1518-04-25 00:44] falls asleep +[1518-07-24 00:57] wakes up +[1518-09-25 00:05] falls asleep +[1518-08-22 00:03] Guard #811 begins shift +[1518-04-06 00:04] Guard #811 begins shift +[1518-04-04 23:56] Guard #101 begins shift +[1518-04-22 00:49] wakes up +[1518-08-18 00:42] falls asleep +[1518-06-10 00:50] falls asleep +[1518-09-17 00:36] falls asleep +[1518-11-14 00:34] falls asleep +[1518-07-09 00:41] wakes up +[1518-07-18 00:47] falls asleep +[1518-07-27 00:48] wakes up +[1518-09-23 00:49] wakes up +[1518-06-26 00:29] wakes up +[1518-11-12 00:30] falls asleep +[1518-08-29 00:53] wakes up +[1518-09-30 00:35] falls asleep +[1518-10-14 00:02] Guard #1049 begins shift +[1518-05-21 00:20] falls asleep +[1518-05-25 00:26] falls asleep +[1518-08-17 00:42] falls asleep +[1518-07-19 00:43] wakes up +[1518-05-08 00:59] wakes up +[1518-10-30 00:35] falls asleep +[1518-04-20 23:58] Guard #353 begins shift +[1518-06-22 23:57] Guard #1217 begins shift +[1518-05-11 00:31] falls asleep +[1518-10-29 00:51] falls asleep +[1518-10-04 00:57] wakes up +[1518-04-19 00:47] wakes up +[1518-07-29 00:37] wakes up +[1518-09-23 23:58] Guard #277 begins shift +[1518-08-20 23:59] Guard #613 begins shift +[1518-07-31 00:00] Guard #757 begins shift +[1518-07-17 00:13] falls asleep +[1518-07-23 00:22] wakes up +[1518-09-16 00:58] wakes up +[1518-07-14 23:52] Guard #2963 begins shift +[1518-04-14 00:59] wakes up +[1518-08-30 00:58] wakes up +[1518-11-23 00:47] falls asleep +[1518-10-08 00:02] Guard #1217 begins shift +[1518-05-10 00:42] falls asleep +[1518-10-19 00:04] Guard #2963 begins shift diff --git a/input/day5.in b/input/day5.in new file mode 100644 index 0000000..6f91a5c --- /dev/null +++ b/input/day5.in @@ -0,0 +1 @@ +kKpPcCZQqzyYvVxXVfYLlyFiIvOcCTtDdGgJTtaFfAjUuElLeIOoijvzZViIJSgYyGfFKkrUuRxLeEzZltToOdDXseLlEjgGJsmMWTmnNyYqZmMzQMxXJjJjkZzOoKqhzZHzZQLlKktxXrjJRwXxoDdHhgOoWwvVGJjrmMRObBxvVrRXOFffFoOLlIioRrGgPNnpxLldDcgGVhrFfRHlLAavnNmmdDMqQlLMBbCqQPkKpXxCbBcXdDHhSUdDuSswtTWQqrRCcPOaAIiRrobBVvpcCBOoWOowuUAaLuUcxXCqQMmrRVvWwIikKlyYGgsSbBPfFfFOyfLlxXFYHhsSogpPFfjJKlqQlLLRqQrkGAapDkZoOzKDddPsSExXeEdDwWewXxyYWgAaGpcCOSevVEiIPbZzBlLpBbsAVvatTozVvCcEeqQIKkizGgYyZTtyYbBTeEtbmtTMztTiEeIyqQfqQnNFxXamqdDQDdMAPpjJcCDdDSsGgFfqQdETthHeYnkKNOROorZzoyICrNnRYycTUaAQhyYJqQaAjHVvqmGgJfFjMjJCeEcMmDdVvusaAStdxXmMDkKmMLlEeXxmMixXaUuRrAfFMmNVvnDdYWwWwzZTOoqQBbtVVbBvjJvrReFJjfJBbgvViIaApPGSswwWWevVevdDZrtTRzpBbPxeEXrRVhHPpvALlagGVHhILliEPBMmbpsyYLloOlxXLOSsoWpPdZzDaADdwfdTtDoOTUutXxFzZOoTRnjcCOoNnOoJOoNrtzEfFeDdZBbCcHhquUQNnCOdDoXxcsvVSJjSTVvlLZzzFhHfZXxLeEZzMyLlKkYmAaRtTtoOEeeELlySsTEetJjYyJjYzZTrlAatalPpLAGgqQchHPpyYiIGglLxXHhlEOoiJEejLPplsSbBsBcCxXbSSsQERrMmeqvVlLkKIkgGKuvTdDpjJfFPtnsSPOopNVmsGYyTgGtOouUVzZkKvOYyNnoOHBbSsholLgGMmJjenNuUrRyYETtnrRpFfPJzRrZiIJjtTPJjpQqkMcHhaACPpcCehHEGgxXCrRkaATtlLyYIiKcDiIpoOQHhpPmIAaiMAahCcnLRrMmljrRJVvNDxXXxFfpPfFTDdtmMdyYNkKnTeEfnNxXsUuSFeGLlgIiYyOYOoyMmlLZTtzkKFvFYyfIGgEeiGgVHhoWwKkKsICcigfXxFRrJTtCciIuUTtGghHVvjSwWseHhgGoQYyqIpuUPnNiYyfrRXxxXjJVgGvfFHhWwaAGgHqQFpcpPCPCcUiSsIbBpPnNBbhHkKkKHhTdDHhtGaAEMiImecCgufrRgGhHhdXxtTzZDbrmvXxVMBbKebtTxXBJjEkwzZCVvcjJSsauUUuArUuRzLNnlZOFfoXxWTzZtwWpIiEeilLIHhgGPpPnNXxHxXTUuzZlLtnzZFfNhErvVReJwWvvVEeLlVbBWweEjJhbBHkKjUuRCQqRvEeVQqAUuaEerxXhETteHcCcFjYyWwJfuUEcCSseAabPpDdBLluUhHuzuUnMmNJjlLNDdZznjJLlwWZqQVvbBdfFGgKkkKQqDImMWJjLPMmzZAaDdplwbBefFsSaAETtZyYzxXdkrRKHfFPphpzZlLYyGgbBNnEuUeLJjlfFPhHDdXxNsSzZtHhpPTnXxLlbBsEeMTfFtmHoODdhjJsScuUeEyYCgObDdBaAwSsJjWoGIexXEciIEeyYdEeWkKwJjupeDvKkVdEPXdDGgRrxUDMmfFyRrYdDeEeYnNyaAEvGgVcCCXxiSRrAaVbBvvVsDNndbSEeUusTXxkKdDhWTtuUwXxcYySsBbCAapPAaAeEGgcCtaATaYybBzZAGgxVvXzZKkTtJjgGLFfuoUuOUvVTcCTttKqQVvVvXxkGgBbdDyhmMUMmuqmMWwQLlqQjJMmgGyiIYdDXxAaZzvVgGHjJhQqHUtTuGgOcyYAaoOCyfPpCYyuUcrnNHhoORHhaAnLlhHIiXCcCcxRTtQqaASnNsrfFQFfhHlLqLEszZnNoOSeInNilSTtolLOvWgGwWwVVbBFfFfTtnNgiIGFjJfxXeOhHoEsSIRriAaOcCTLltoLOoxXfFagNYyoOHvVOosSGghnnjJEeNMXCcxkKFfGgXxxXiIpkKPWwpPpnNPHCgGRrcPpBGgboOHGQqgKiIVvkKBbkhDdrBJjgksSKGbsSutTAaUkvVmDMmdMRrsBbSSsZzFfZMmbBzbgGBCcJjKwtvVTlMvVmLlHhIiaArRAaLemMlLoOFfCcJjgzZGLlNgGGCcgnmMmkxXKEeMPYyGgNnAawWzZpgGzVvwmFfZzBbMWdWwfoEeOFUHhuDVvvYyoGgOorROUuodDoOOqQDdwUuWVZYyeEQqFfAaEUugyTbBZztYQqGgLHhmYyMpPIiYDdaiIsSiTtpKXxkAaPIwWYyuUhgGHwWOoQqFRrfzlLZAJNnOoPgGzABDdbarpPfFRfFHWwJjkKACceEUeEZzVdDvuIikKaPpvjDdqoOQHMmLlhLdrRDlJVJxXjhHFfqQwWFBbfAaHsIiSiIhWwjJkKhpoOLpSHsShKUukslLcClEeLPQqldDhHAiILlaHBMmbhDvVJjcaACzzGgrRuUkKZoOZdQKkqxXPpkpGAagPuUCcflLFaAQRrqlzqQZdPkKpLQqloZzODLHbmMGggGIhHiBRrhHCchbBSsLlgGpPBdRxXVvwgGWrVvDBbTlLrPTtTtpwSszZWHcQqChpgGRwWrCchkKhHHnNPciIYyRrqQCElLelLFfxXPeEpvuUmFfrRbUuoOTdDDdtyYwpPNnoIixXOWMKkmKkmMjrkrbPpBRxXKNGgnsdUUuuDPpVrRvSmyYEuYNnYzZyntTtTiIIiNTwWmMthWCcwdVvDFfHekKEywWUepzZHSsZzdDeEtXjJxOoTVvPhVvLlHKkhOtTooOOoeEPpPMOkKpPivnNlLQqLsoOyYSvVIidDQqcCUuaEeApPRrEAWxXwpPiWwkKJjBibbBTtBITtZLkuuUUKlzGgitTZzJJlLgGhHxXjjGgGgftTZzvzZsPpkEjJegGxhHXKSvbBGjJgPpVEeuUwWlLlLyGQquZzUzIisSZbBynlYyLNYtdDqQrLldDKkTrRtRkKkKKyYkhHEeTiIjJcChHjhLluUGGggHQqJgnoeELCclkKzZazZHhAOeEbBksnNMmSKuDUudUNTSsNnUutPixXwWAcCaIpHhAaFQqRrfwLlWYyYyDdXoOJjRrxwJRrllLfWwFLbUuSELNnlJOofFDdjoObBSsYRrycCTtFhmMHfZaAzDzZqTtNnQdJjOotTeKtvVBbgGloOtToOKkLczZCsSMdDKkRaorROUpPGgDeEaAQqdRjJrTsSSsKkbBtuTNnlTsStLlzZgvVrwqQpgGgGPcCSsWwWUKbBPKDdkyYEWcdfFDqQhhHHweEbBHhWrRspPSvMmVAauUVsSdXFTtEeaAfeIiExvVXYYIpSsPiOoBbHhyEeXtNRrnSsQqPpwWqQCKkEeGtTtTwVvWpPiOoIYydRrnTtNfFXxVvJqQjOjJAaFfMmbzWwZODlLdOooAcsSCIigsSiImMeEPptlLYnNGgDdcTtCdDLlwpPBWwbUuWHWmSsMRaArwZzEehBSsbATtVsSvPQqpiLlInnNgGNVLlUuFHhcCLlsFfXrRzZYyyYxSDlLeBbElPdDyYcCpTSsMurbBlLfFNnSmMsomJjNEengGMiIuUsjnNoOJIiSHhYsHhSSsysScCTkKtvAaVYyHhTJbQqZbBcnNrRClLVvgGzAabhHBgGOWwHhoxlLXHCFfKjJkchqQDdNhHnXxNnnRfTtFCXxcrGyYgEeSskkpPzZKKNpPjMIikHhbBtTKznoONnNwWZVwWwWYyDaAZzrRdSZzGNnmMLQqqmMXxnGgDrRBZzbdoOkKQqcCyYWJjtAQqaTxcBblnNyQqYbBCcQqucCUmMaUvVHJjpPdDhRreEnKkRrNoOuyYAWpYyNjJjJTDCcKkyjJYdRrCctWwxwWoOXnzBpbBbWyYPUucrRfFCpSswoOLkKldDLbIDdiBCclFOYYysSyoxNqQoOnXWBbOowkKwcLlaAMtHhnNTjJkaADNndDdKyYAanNeyYzZEjJmzZkKkKNnFOohHfyYpPAfFgzfFlLcCxSsXaFfAZGCTTtPpoGCcSsgPpjJZzXCcwWaAxpPFflLmcCKkmMwGBbXrwWRxgqdDZNnzQWiLDdlkKlVvAWwamOoJjVvMxscCSBbXkxnNXKKKCckkLJjvVCKkcejHhJDvVdMOotjJoOmJOjJTtojmMMPptwWeOoqQEzRQqrZCcoOqouUOFaOoxXbiYyIBxXZzvPpVojGmMHhgyZcwmMWCzJmMSsjsWBbwSFrNnBbpPRqasSsSAPKkpptTEiInNIiFfBtrRrRTjJbOoyYuURdDreDdAPpakKQqEelYbvXxVByLoORrqOtYyxXTbBCSsYKkynNckKYkJeBbpwlcvVAagGDdwxXpPZzDsSiSsIoOGgtTWWwFfwdDTxcCBdDbjyYGgDdPpJXEeSsuUpAaPdMmBbuUTtbJjUuBtTiIDqQHlaAaYVvynNAVvhTHhTttamMACcJjiIxXNnAYyqQbypPKkYRrIiTFtTfnNoOtWVvwJjIiSscVYyzrRZPqRrQBbqQqQSMZDdAaPpHhWVzDdkKZzqIiQZAaBbEegHeEyxXYLgGlhGPVgGPxKkFRrGaAgbBfXCgGEIiQqEhHaAtOoqQTeGGOogBXxbgHjCcJsSjJfFqvUuVRGgrnPBmMPpCcmRrMKkrXxGgWavVwPpBbvkqDdYyOtToFVvfnNoLgGlOQKSXxwWwWgGsbBbBVEehHfFaAMAprRPalLArrRRDJjciICdgGatpOoGAagmMPlLOoTpjJPhHzZHTthLHhqQUTtKXIpMmYmrRkKMFVvmMFjJffoOjppPMmPJPRriIDdxfFbjJBvVXRrQoebBZwWzSsEiIhHHhoDEVvCtoOTkKLlfFYycCuURsSnNPpxiIXOoptTmMPsSsxXZzSusSXxOBsSbzAaXxjJIiHhCcNnQqyYZpJjUuyEeYlLiIeiIrRZvVzrGXxgRhHiphHPWwIEEdDmkZzqJjQpPlmMLzZrRlLnsnbBNjJSNMLmMZcTtVvzZuhHBWwZGMXxsSQqJUyYhuUHNnHeXxEpHWkiIZzlLMmuUZqmMQzXxwkYPpZzylLstTSRrhHKWWwMSsmKmLlGgiBbHhHzZWwDtTeeHyYRYSsqQlLhQqSseCcEFRrBvVbJftvVdsSQqBbDgUycCYuBaAtTxRwWOoRrcKkCxXSsmVLlvsSSsRgGvtTMUufFWwGgOkKoiKXEwhHWpnYAaYyyyYXxFfvQqVsYySNyYPGdDuUVxXuUvLlgtWPpNnHhsSrRNnwNnBENnkKekIiuURfEeUNnuWZLBbjJlAaCMWwOIipPokkzZXuUxRBbrKOqQNnoZzmgmxbBwWtzuOoUZzZTfgGFXIZziIiIibYycCmMBNnweEyYWEYzZyfFSlLKTQkKqZTtzDdtKkKkVvkVvKksegdcCDGBPbYgGyfFBBbpAaogGmGKkgMTuxAadDfcCFpOBboRhHrTtPpOjJDdIiyYIioVePpEvtrEedvGFfgAaGgVrJjdDuURXxprzyYvtTVZHheERPrGgwfUusSAaFWkPVvpwkKUuWgNnGbSsBPyYyyCwWcDdRIrMmFLETtexhHraARBAVEBiIbyYeoOvaYytWwTcCgzZpPGoALLllaiIcCcQgGjJqCdDeRrcCKBQTtqhCSscHVvfFOmxXLlMoIFfbBiVvZHheAfsFfkKtrRgGOoYyIBbiYHFtTfyMqQxXeEumYyJmMIiMmhrRHxiIXWwZzUVvwWuPpcCkzZOoBHhMmiIcbBCvYyVPkKpbBbZBbBbswWSIZzaAuKkIixeoOiKkSshOoHIdDicCvVZzaACuUoOiIcDPpdIVrMMmEemWwlLtTRtKvVcdDjJzZMmlDdBbLmMsSiICxqQXWHhdDJjVvUkKuZzUJzZKiRrIcbBqQCkKkCcGgYcjJxXCJuUJCcjjIiymgGqEeIiAsSaBbDqQdQMZsSzkSsKvVXxXJwWyeEYjuWwUiIxXpSsieEIsSvYcCheUuEcrcCvVwyYfFNnXxJZzNnIMmiBSsbjSsdPpDKMmTIwWitjJkJwadDOMmodDAWSFfsSmnNpPsNntTQqShHGBbgfhHtvQKfFkqEgkKJjGeVTNnUymCcMGgYpFpPBbfFAaXaTtsSfFQKkIOoRIKkirDVvXLlxdfYyWMmuUWwAaKHAaCnmMkKXxBbNckKnNIiXwkKLFcCfkKKLlYjJyMmkucIpPJjuZzPpUtTqQiIiwWCgHhxDdXfBpyiItTYmoOiIMMLcbBCHFfGbBgGgVXxPpPYypPzZQqmMvVbkKjvVEuTtAabBeEMmGgqogGOQcCCKkclLBlLhXeBbQqEoBlLbcCpPyYOXaxXjJDaAdAGgHhxtbBTbBEeEejJovEexBGgIIiibVvKzZBIibkDAadduUaAmMHhDUUjJxNnvqQEDdeViImMXPyYpzZhsSdDpPWwGFfsSuUQqxqQiICytZzNnQgGqxXkUdDuHQaAqsSJjZzwdDWMmPpNntUzZutteETTUuTaABbVHakKBUuruUolgGLVvCPpNnvVXxwWeEUCcUmVvMDdhHRPprRrcEuUUuonNNnvSsXLiIXsuULlSxhsSHuUPgGEepaAJjKkGVEoOeRrvMCcMmEeUpPqSqQsThHMNnmkwWRrKDTSEeAKEekauNnPpUIzEeDdHeMHhpPDdmFUuKkrdDeEReEadQwfFWdDrYMmyLsIjJNniSudMmpaAPdzZKJjkMmHyYoOhDDUrZaAaEeAoOztLlTNnYyYpPqtTQIpPiFZmpOdYKGgkCcZztazZAwDdWxXUtZzNyeEYwzUuOowWopiIPmLlRLlLlxoUuOXnnNdRvVYyBUvViIuoOxXGNnJjGnByIiLQEeMyYIimqBbQquUGZbBzguYPpMmMdDtTgGJjLtjJVvMvVcCoOXRremMslLUuOpPoXoKKuUkkOtlLTgQqGxqzfFBbZdqQKPpiuwWJjoOOAaobBdiIZaKDHVvWjJwWwYrHXxacxaAXCEeACcvVhtTRyuPpUhIiYmMaxXVvfcOoIiaoOQqASsOolJDdbBjxgnvVNIilFfLLrRlVwBTYyJWwxhHFfVvoOaAmMfFMEKZzQqkIQqixXGfpDdQqrRLFflEfFejJAaEZEBbbBNnejJBbzIiJbvXxaAeEZRPHgdDmMGlLHSMNnCfFuUcSsmutTmMDdwgGDdGgMRZdDzJuUjrUacCEeLlJjeEVrRPIiwvVaAHiPpIQLlqyYllLLZzyYXuhoOHwSsWUvvVVtTxCHzZyPpYxXoOaAKJjkbJfBbxhHynNYNngGhHpRNnxXrPpAhHPqVhUGglLUJjaDdACcXxuPpJjiIyYTtJjIixXqDdEmMcqQXtToLlIQsJZNnzjSaMmkKtURIIiwfFOjqEFjJPIipCclMmLXKkWmMwxfVDiIdveYQqpuUQqsSfxprRPXMBbPZCcKzpPXEexOVgGbBBbvFfosSFBgvJfFUuYnXTtfFtlLTRreEvVxSsfFvVfqTBcvnNbsSoOCcZOZzxXZzJRrJjjJijJIeEmSbUPpuPpYyBfFXwKkWxiIqQlVvLXxVvBbCcSdDsQYTtyNnhHKkqMmEfkiIKMTbMTZzMyYJjcCRrmdmMDrRjJUuCBsDdsSSsYyrRSVQgmfFtyYxeEXjqxXhHIPIiDzZdoOpGgFyYfpDQFgGfTRhHGgrCfFAajJKkYNFfnyOaAqDdbBpPHPphKsSkQoAXxaIUYyXxkKOJjopPGDdHVMkUoOOorRCNlLXkcwbBWcCmoduUDOMCKsSlLyYxjJRrhSsPpgGZMIiRFUDdKQqXxXxWzCcDpPIihHuUPpHBvcRAarYEemMytTiIqQCDzhbBaATeWwETtHWZzkUDduLlRXxeyYkKEbBIiypLZZyjbBJXxLaJjRjJXjuUkvVKAsIiYboODGaxaivVFfPpKkQqJjIwQJjqJjjrRUjFYrSswIiZrJgGANcCTcCcCtQqYFfeuZzoONnUNUunXxFfEgGVnNLyYbBKkVxSsXdCcdDDsVvAUutTsYFfeRcWwCryYEyxzZXUVvHhbBcyYCiIsSnNIJjWwiRZzruMvEerRVNnfSXOoWvVwxjKkVvKoOouUZzayYlnnNNlkvAtTaVYcxXCyTtfbBFyYinKSNnsFffvTbBzuUKkKkgGOoMPpmxXwWZrRLlFkIPtyYeEuUzZTzNnZzZdDQgdDOcCbwWBopPnNBTtAaGSspdDPGCBXOoxbzbBZeExXZzQqnNHhcIEAumUGCciGOujmxXMHhbaFfKEcClLTteJUujfRrBuUhHrdYQqQeEqnNTtoKkOypPiIhmMHfFIitTOoUyWQqAaDGgqQdwCARrJjcCkKsquUQSDGKkNFfRnDQqFQqQqkQbBKbBGdDgkEeSFtUZzvIiHGrRgWAasSwsSnyYSTTtgvXLEnNHhpuUOLajJAloGfFPDdeoOzZjeaAEqMghgGYysSaAHGgSIisGfNnatEIVoOHhsmMmwhBbxFfbjshHSJRSsVvoOgmMeEXxMsyYSUtTsQqpNnnvXxuUdDFLlfAtcCTZnxTdDtiyYYykcCSsKmMBOoGDdIigjJPpfFdDbKEekIMXxASpPsFfNEecaAPEaYOQCcvVzZqosSyDdcCyDCcdqBjJgGyYFWEeltXsSUKkuBbdcCDbNGgMmVgZRrzoOqQAhHRiIgpHajdlLwWDZzjJJqMxXzeqQEZmgGcbBYgGalcCnNTtLDdAHhfFgXxkTtJSsWwjBbgbBnIinPpNsSNuUAGgbAaAaBYyazKdDIMaAehHOblLEeaABaAQntTNxYyMmiIYyZSdSsgGyYbBQqbBBbDUCPpBLtTlbbBdDcuJYyjKkeEszLYyjJfadDNnmChMGgmstTVCNnsSpmNnZzwADRrdguUGcDwxmMXMmDwWMmdjJHPphNjtIfFbBBXxgAMbBuUghVYyvEeHJjtuUTOdDXxGgyYKlLkoOUUnNuWYymMFgGSCcwWRrsPRrpiIoOfwscCQokKOqGgvSIihgGTtXxXxGgfFdfCchIicCHXxyOiIrgHDdnNFFfbRVrRvzZTrRtTtexZzZOWwozRkXUuFfxKpcvVdpKkiIfFIiPZzDdmvVXPpxzRCcoOnHhwCcRrKkzZwWWmVvKkoOnPpNrRYaMIimAYyfFwxXXQqPpxSYFffYhkKHyVvtPpvVaTRITUutFfiroOLltAAalnNLycMmmMNKknCYcMmmMCygGYaAzOhPpEezZfFriIuUupuiYybBkdDYyFpPfNnKItDdSaAITtcgGJjjYyJxXjJCclRrvVjJxXkdztTZNnPppqQPbBOoDQTtqOTyYwPpazlLZwWrRSsdrNmMFfnMfPgGpsHhSKfFdDkFWVvSUtuXLlxNnUeQqmAakTtFfZQqZCdTtEeTtnNDwWcUdHhGgxmQjJqQqUYbBxXYymMpPSpPsHhZlLmtTBbugvESsVqeEXWwxGajJEeXzZxAcVvoLvwtTWVMClEqQexJuUpPmMrsSRlGgAVvxbBzIAAgBbWwTFFffFfVbWwLHIHvVhrReEEXkYOAajJxoxXeeSsEETBuUoOZzZzhHrRrrRWqyYoWWwwJjZIHhijTtpOUuIioPdupSsPiIRzZMZziImmlLkiGDdzZtVvilLIeEgyYuCcjlLjiIJJUoOyYjMmczZcWXxDpMOomyDdYIinuUsGgzLfFKkTtNSsadDIiADdZzZzwQqPpWkKRKSskhHmfFMpSOoMmszZAaMJZbkHhKBaAkNnfQqFgGfOoRLlrTJvmQqMvVFXnCDCTtLmMSRwgGWryYTtBkWwNnGxXsfLlPpLleKWwkpPEwOoeEHhyYmMShHsMmnrWwRNBKkRqQHLlhLlTXxDdlzTtDdZwTtxXTtDdSpPeEBbbBbBDpbfZpPZzdhMmhuUjJWKkNrJjjJYyqyqgGQYWwQlvKkXxVBbmMYykOAFfjaUKMVaAvKkmmMsSwWkGRhHfXxFRrXxgGGgrqQcCyrHhfYypPFLlhXlRWwKmMxrpfFQsSJjMcCKdQUSnNbBHbBhyYsrRzESrRsVvNnGXxgnwWjqkMmRqQrLVFqQawWxXZzxjJGgGNngMSsmmnNMtTYyvVesKkDbgGcCKJkKEexXDdSOzZCcEVvTRTtrwsbpPpTttTPsaYZzywWPpEeWwrPgEfIDREerrvkKVrRjJqQoOpQiIqKkPPpnNnQOIijJZzoxwOoHvpPLtTlTLMMmVPpXxyDdOaAoJjYuUqxXStwWyXxYFeridsSSsDbBUIiBbXxitjJboOCcIwWiQLnNeEJjRrkKHZzxXhGXxDXxRjJrwWorHhjJTtOoIiRgGEOoeOoOXQqxdCqQcimCzZcSsCidDIoOJjBbpyYPUubdDBBbBbHhvrUFwWTfDdFaNnAtTsStURrIdoOjHhEeJywGPpEUurReJQDLlFhHMzrRZmwWUuNnSjrRIyYiYyWTtwQquUNnJzhPpBbpRrJjLBbLlhHYSOosUuNnpFfPNnyDdsyYoOSnqGgFjYyPjgGJYbByeEiglLpHhxXPXxaAPJQqjQcCuUmMtTqzrUkyMVvSqQUuKkLEeTtgGGcWXxNdiIDPpixXIfFnqJjQmMwyYZCcvVejJwWhKkGsmjJMSZeCcMmAaGcCqSbBqYyQsQgtlBbBjgJWsSwwWDZzMmdFfjBOnwtTCcKvVkGgYybBpPfFPpxPptpCcrRAaCcosSOrgGRhHukKJiVvIHSWgeESsJyDdasSjJNnAYRxVvHFWwfiApFfJZbBSLtTMtRrFfrEeRIiTqQcpPqcCQcCrRVOovLWflLPkKAsVvIiOiTtZzIqSsVsxXIinyYNutTtSBtCcYEeyiIiLlNwJjUZgGpozZAacRhHPprwHZzRrKkqQwbBPpfFWAaNnmMaAeElQwXhHnYDdyrRkQqKoOMNPdDsJNggGHmAdsRqxXSsvVQNAanMmcVFfOJjEeIbusSSqycCYBbTvcCBeWenxXNIhXwOoWxnNSLlpPxXIPmMsSclLgNnkKoMmcCyJjakPpzkwWKNndDwaAWhHmMhlLHWwQqZKwWVCLGgsShvVHWpJKlLktGhHZZzXdDiIZzVLlZzXiIOuPpBAvVOooABbXxUutTbKlRrZzRrLkdDDdihHhxXcRsSrJBiIPtTtTJdQVZdyYeETtDyjsSsMmSJYDZZzZpPAHhJjwWsSovWwVHhtTOntTKwWPpkmXxeEjLlzZwCcVQJaHUKRrkMtbBTlLmuYUfOoFMfFmcCSsTtnyYKdLQqXuUtiLlvkfNnFCWwcRJCcrRkvXLlQtTjJRLlaAwXxMmWBbyaspPuBZIWCGgcwDLlSsYkZzKybjJcCdXxKkIiSqtkKDdTKwgGMmidDPNnDutTkhHPpKUdEegvkKVjJUMmWwbIEeiSNnRkKJDLNnbRxFfXrQqRaDdKkSscNnJUiFfIpkKPyYJjmXOgcpPRAavMmVsqQzZapPnzvVZFtTunNUAaBUsnDVFnkEaYjhqwWOkKoQTtJfFUYIiyaAWwuXxzZbRYyAfvxXvHhVHhoOVzZXqmhsGgUuqQHhhVGgvHBtTbTybBtUCdDcupBbGYydQqDmMTsqQIgGiCcjJWUJiIjkSsJIeYyEkvVKkhtOoTkKSsozOoCcbBuUZkAjZzFAauUAnNafkKksCTtoaAOeTtzZFfYcCyjJLlSYpjJdDBlLhHSyYIisbhTtVZoOyoOAqQaYDHYiIMHhmHxXNXxnUuhBiJjSnNHVvIiyqQDdYQqHsShrRFbBPpfxgkKGzmMvCYhNnTjTYKkKkAaAOmrRwbyMmqutTXJjxMxXPtTdtTMmpILnkKfFzVvyVYyIKxWwNnXjKkJbBTtDdnNlLDdeEHeaARUjmMZWYMmmkKOuUpPYywMmbBYWbdDVystTkKSzZGgMmCcxMmXeFwUupaAjJkKaaZzAYSsVOoIivqsSYXxDdsHhSyhpeEwRrgGPalzvVwQjJHXxgGXxSswvTOEQfFqenNoPgGSYYyAtTOKGgdwWpPVvTYyIiokXIEwWwWeAPpaSsMlLmXxIkKiCcuStTDfFdxXQDTwJYIirRXxGkKgfOoFKkNnqQyngCcgGdVECcTzGNnKkbBgxOoBbnNMTmMAaLzZxUpPBxXbpPImMdDubgGTpQjJrRqtqRrVvQlLTPyoqAaZDHaAdHlLLlLWwQqltRrwOoBbSbtTBTtgGxXiTtIBXqyhHEeLNmMnXxiCwWcxXCRrGgIGgicdDwWIbtjJWwTfCcCcUOoMnNpPGZzkKwWiALlLPHmMMqXMmPVMhoKkFfVOHhivVFrWKhhKkmlFhCcHkNItSqFfhAJjDdJjPGgCcpeeEEbBEeWwvVrTFfpPAODMmfFHhdDvVYyIiIXxwZzXxWSPOURrUudDuomFuwnJOgQjFflLLbLsSlBYyIrRiIgGggGZMFOENnucCUwdvdSsGVXtTpPdDogWoaAPEqtTjLsaAAaSKkIiGDZJjCcCgnNsSbBGZzcKfrLsPpdlLRrzZSDdCcsDAdsoOXxdvTXsSlhHLxXlhHqXxiIPzlLaLlKKkkgFhHOoOozZDwdaARMhpPHEedpIJjiBbiIPzlTLlIyUuYyCFfJjqQeRpPCcfFArRIyYKfOoFSsHhuiIAabBHdDhmVvpqMmSsqYyQqQDdaDXHgGgtJEOPpZtVcVvJvsSCceEFUufNnrDdKhHGnNTXDdoOeErREehTKDcLYZzIiZzysSiImlLMlrRtTwHbQqBHwWhOgGKRKuAEJtqQTjtAGKZpPzpkiIKRwWYZzwWVvTDdtMSsSsmzJjllgGLXxnNvVYyitjSdDsfrJjRdzZQqDaVvoWwOnNceEqQCAkoOWTtmMAaUmyYTeEkOoryCcmMYRDulWwLJHTGgthFnNfHrRrjeucCnNDfcGTKAaBbkjJjMvrCoHiITtJZpPmpOoQqCAVrBEMmDdiIbBcPpxYnNYCdDpPVWJkKjZvVzvVLlkKqQwVtlrOmIieEuULluUWnVzjmMJZpUMPpkKPpOAacbBKkqrOglugPpGUrRbBSpPeiIfYysjJxpzZGgPjJponNDdJDDypQMdIiHhGUuIixXNSssSvHhIikKkCVKkOodDgjVSsQVvVSskKCFfLBjJvIikKkprlJyBQqbWwYXlWwLxjNnYGgcaAraAJjVdfoxXoyYYyOlFfyKkyYYAaxTtTtTeLvVlnNJuUjhHECOboHhxbBktTKWsSwyYFMmfJTHhgGSsnYyNLJjFvVueERrUAafaAFqTDeCRrZzkwWNnDlLdUrRyHhHhMZeEnuUeENlLHhyRIQqkehLoOmMlHoefFnvePoOoLlxWwXkIiPpawvVUiIupPWwjJMVzZvmjJWATtOEesNuUoOAyYcoQqOCSsFgVvkcgYNLKgGZzPpFCdyhKkHYqQWwyYKbSsBVvABnhHuRrOexAaMmCsSfPpFCKqQfUuYyFXnqWUuDYyhtTMcodDOcCbbBaCcAHkKXAaQbNnBqEGhptTPRrVyeQQdhHvVuPpZGMmNngjcbBXWjJvVwEeIijfFTtccCCmCkFPkKiqUHhaZzSJsSbBfGgFgGVhgGexFfxQOCzryvTYyrRtIRrXDdEeZzbfFDZMmzbBcCczOoZKeqQiIyYztTBIiQqTttzZTpZadDAjvVhVvbOmMifbTrAaRKktNdsOoPBbnJjfEeIbUumGgOXxsKkqSsQqDIiqXYILNnlMpibBctTxwWfxXFmXBviIzTUuUuYyvVRZzgpMmPGzKkfMmzZdpBsqQfGgZzlLAacSkvkKIiVJjKUXYyyRrYGgxcCuDMfqQFTBbtmVvPFdDFNNnJjnDuUDCIwixXIWNxXjJkIihxXHZzyuLlffFrqQzoOZRHiINnrsSmCzBdeIiYylHhpPLEzNRrioOIKeeEiIXpPxEGTtWwgfFQrdDNnVPONFatTdzMmZefFTtGgtNZznRrLlTNnQNLlnqZzwWEDdeBbTYmMyQqbBgGiaDIbUuBrRiupDSlmmHTQqtggGYyGrRtoOQZsZziIXaARkgGKJIXzRrQqmVvRrMRrpiILlGgUwicbBPpARwDyLlvYyVtsLhlLHlbBUuSKXxzZfFpPrBpASsnHhJsHDJDdjhYymMaJtSsBwWbwWXQqpSxPwfFWmMvaAWwVuXxAQqrPpTnNXabablLTleZzEaALRZuNnNqQpwHhqQMoOnNtMmQqgGpPTQYylBdTtaXZAlLgGsStTtsgpPjGCcmrSsRkHRjfFJwWtgGgGBbOoTCcYKkUTdDPpXxiIpPxMmgPpbBLlpPoozFeHFrRfHhIPpihHOokKKkLeEWUxiXxetUBWQqxSrfFSssSMkKVvcsqmcCCQqcmMMjvnmMEeeFzCcZYmMyLBblfcCTtQqLLletEgDzZeSsEUEeKcmMMwWrRQSsvgGDuzZtNsSnfUuNVvyYwsrRHzZZzlLLWwlcCWkKRrlUXGgKkqFcxXCLlLsmaKkAwWMSsdBbUTtxhMmHeMuQqUmPRrpqQLlekKEuUEPpBBGgecCdDOfkKfoxljJvFfKkJjNNnUQIiKkxHheiIjXxBFqoOLDeqQkbBKVMmkKxUuXvBAEZzhHOpPoeXxRAKaAuOMmEJjeMARrEJjeoOTzyWbhWwjdHpITtdrRIareHhrHhQcCQqpWwrtTmJRrRBqQbbHhvVoPvZzDdvoOKNublJDdqQTtRrITavXiIxGPBbDOrRbBOkDdXxKjTtafovVOpurRUxXXdDSsnqvRrHBbRRIixbBXrruUQqyYqehHZTtWQPBbDYyyBbDdUjJkOvQqVAaoFhHqQGgsKkgGYyWwSKkrfALllWGMnNlxXKkFbBjJBUuSmMsyYdYyPpDGHhbBTtbBgmcCccyOEedDdAaDkSsQqkKRrKMwWmydKWwkTlLlZFfzjFfrLlCXxllaAaJAaNnqPkVnwJgiIPftBbCvhHVbHCcsYpcOoBbaYCcdDwKuyaAYXxpNzyYHgyYGZzOowOfFBbZiqQmCzBZRrdTtknCSgGvBGZnDdpPRxnNivVSESjJovVuUKHgfFJxcCXQqeEjiIkKhOQqoHhHXxqpeqDBVnNnBJjPHhHHjCqQbgkbBKGzcCOBbVRrZzCCLvYzZcCVcSuUsgCcGyyYYDnHhNSsxAaXEDsSEoOnNeFmMCcmflLFinPpNxtLKkxXcClqQrYHhyjzZPvWwrRpXxNjJlRTyYtDMmduhHzvVOozZZPpaFfwNGCcwWZzILqhHbqEoOapRaJjAMmrcCwWzgLlIMmiGVvZhNnAaxquQnhHgGQYGglLoOXWuUAaUuAkKaFdzVOmUwPpXxvQXWnufcCdDoBbWwOlfLlFxfhfFHheNnXcbWwBdBbKlLkaArRZXxmMtlLcDlqPpxkAMSHhsOXxoGAlLKkauBbDdbddDWPpwWClLndPuUplLLlYxXOThaPcCIipOozZxvVXoORrLlFndDNfXYHhaAyRgZzGZRHjJYAfwJQqnNjkNQONnmMvVDqQYpAqPjHhmJjtTmzZoISsiGaAewuWNwcdDRlXxUeEJjkhnNFfHjBbdDUkQqxdZaAlGAagwaBbHrRYPBOeEoTtJCMmWcCnRrEeSvVsQmhHMnNZzLlRuUqQUPpurkKjJdWwgxHvxXxGmMgeEMmFfXwhHWtAKabZUuzSnNXtvvViIaAacYyytmAywWsQqoOSNgkKGnrMdDGgPTwWaAQgGsSUuzZWwvuzFljqXxQJRmMWbBzQqbnkKHzGfOYssXxWKkwmljJPpTtaqKqgGHBpXxCXeEBfrRDdfFjiIhxDdeVdhHAaKjJrVAWGZzUuXtiITKKkkpboHhDsSBbesSRmwoOWjOOoaAEeaAoPNeEnkWwKnmMzWbBSsvVmMpQtTdHivVIhxlLXrRrQqHtuUudWLxXlweEgAsCSsvVcyRrrTvdbjDdgGDCvFfsSVCVVvvTaWxXJjPRrppPwsmMSAjJtcUUuLGglLMmCcckUuUFfnNOYrYLLlMmAalLokKyYOnbwbxbmFfdDXxrRMwWmQFEZOhJjHElKkPasBbSuUjdpVruIiZplYtTygHhHdtTdDDaVyYfFXxZzVbHwjHsShSjKgGdQsVvgOobBcolzZbeEJnudDOorKkRZzsFsSmMxyYCcEAaKKJjAhnNvBbVPvsSlmMWwmMBbCcdZzDFLlfwftXzcWwlwpPWwCxMWwVXGxXWPtTMPqQteycCYyYGAaWwEYjOgsSDfHhFoBcnENsSnWwetJtWwlLTmMWqFfQqQwKlLLriIeEsSwPRrmhHKaAkQGIIVKkjPpuUSTfhRnNrpPgGHLlfFKkaOoLbvjJPsuUbBHdoOnNRMmOpvjJnNcUqzAawOCcbBRrYymMVvVYyxNnKIinNkRMmqQXTtWwTLTRrpEDrRvTYytcCcXoOxbGgKkBNnQmEehHxXuoOaAUOOovVoiIBOjhwlDfFSfuxrbBGtQzZqzpHhmrRUuhUuHPpEpPPSsiuUQrUkKuiIRSMtLAdrRRqQSPsSpyQsSqlLYSCGgcSszZLlKCleEzZqOXxoDXhaAgCcKhMwoyWwkrRlXxWwXWwXxSsZsShHnNTzHwTtWGguxDdXXxUSsUWNhHZVvzwVXOhHgIJyYqQBjJbMmVvUwhRrNnILligsOIyYYyvVRriSyYRycuUHTeKXxiIQqosSEoPrnopPZdmMgGFnNfKTtjcmMiusXcMMKYlPpLXrzZRxSzZiTTNUvVuoOtTOcJjConttTtIKkhHbBeHXdDxhebBZDnIiSslLsSVeUBbwWwWuEuWJjdDkKqnQqDdOSsKhugLhxCoOcXnFRryoxdhkKHOSsTtoRrCGMmUUeElpjtaAFfAajufFUDduUTtfFpgGPhHQxTtHJjtCzRrDFyYlLlLuJPxXpCsSHMmCwWhHtTAyCckaAKQqNnSWwgGeoubSsYYnNEyMIiFfmKMNngpPEuUDdkYZzGgGGggahHAPymtvwKklLaHpPGdLFsIiTagGAUXGfvVWAusSJiILGeZeNaixfXxFZVYyAtWnNfyDpnvlLFWweLCcUsSLluRfCcwYIisANnMazuesSMIbJjBisSosSpCSsCyPppPLBbgHhQqGgGeEJRDrrtTRuWwSsoZfFzgGOfjknJRCcTTthHTpGWwKGUCcugQDKkaRfJhmHhtEWesXxLaAIikKTplLaAToTtFuUpDumiyDytTtsSTqSswetTXEmByYMyoOOoiIBdDuULlwkKWeEsSopPUDVvdFDQCvcSjqTtMQxXFfLldDyIiqQHhKhHbqQIkOoJjHDFMYiIgZgkbQqIihtFfXxXWnojJcxbBezECOvqaNkKnpxouUOyYBDfVvLztWXxdBfcCFqQWwLlfVvKAakUOZUufFRnNZzBbxXDDUviIvCcvVYyELWujKLBblGgpktaurRUoOuUaOrNnQRKsSdCcFfHRryRxXOoeOonNRhHCcrTtlLhHFfExNRyYglLGpPRGgrcCuUzRrZdpGIrRiFzZuJQDdyOocrrRRlqMmEzUKeuUEukulyVvGCcCizjJmsyoOGQLWOoMKOoUHUuhFIEeidDywWIinjJBTzivIiGghKOpnNeELTTOotwWxaXxHtThAXgGtlfFJosKSEeskIiSiIPpAjJDXxmMdvqWRrrRwQAoGAGMcCEnyYNIintLlvVoOsegpKkaAzURzQqeOeqQEoejcDOodWLlhGgBoOhHKkHbBhpfsaAKkSqQqQYgGsSuUkOaMDlLnPpRrJrRsSjNdhHDPpTtdxabByYAiRBKcKUoOEZaAkKzwgGWViOhliItBgGgVpPkKmVHfnlLVvuVeNnVvmMqWYbYyBXrYKkguUOoolVdDvLNpPgpPaKsQqSoONnXUuNnlLBoYSlLQqxXWwswFfQqXxvhoMPhHpZdriipyYyVvYPpPIGgPpxXoSsOmMAgXOwLlMmChHSWwscyYmjyjPaSsJjSsGgsaNnASgGeDlLhUDdnzExXeJdDyYiMmSbBsYzXMOoyNjJLqQaAlivtDTiBbqxLlXQyttSLhHaSnNNnYyWBboOTzZQqcOobzcCQuUrgDdhGsRvVrSgufvjUWdHdWgGSsBLlEeJjCnrHhzDLYxAtMHaqjRQNHhyOxnNaAITtdctDPXxpJjdTBbVvCDTLiSdDXqQxsIEhWsSwSByYbzqQrRuUlLCkGsUuAxdJDdjtKRaAfyYFGYyRrXBbqeEDdigGgyWwrrRBUubgAaIiTVFfQVlsSrQaTJVBhrRygGYnvOklzJjKEiSWwJjJPIAaJuEezQqZckRoOuUNIqQiMmnLwyYqrTtxXRoMbTtlmZnbfFYyBqXaAOaAmLHrywtCCAaaqQXxqxMmMyYxpSsVTDXQMmqLWyOoYWwFCoOMmctTcCVvMmfMmfFiRJjWwFfMilLjqKqQfrpPKkvpPbBsSshHjJtTeEXxlqQGgGqFbBdDfQbasqQgGSVvbBAsSUVBIiQmWmqtVjBbJQqKGBjBtiDdIvVpKkqQPgiIbBMZtTzCxXpPVWsBbWpPwjbuUBJQJoGgbBqIiTJjPpDdHOoxXhWwtZsJIxSsvYyETteVitTIrFJjooOADrRdadaADUuKkGPpZzJXLluYvEbaATXPfTBbTYiGgbEDrUuEevtTWwqYyUuwNdbuUuUuFfyYUeEmHhMrRjaNAEwJJjvYybBbBUeEbBvcdCcKFfFfkGPwzQqZckKCfFqhODvVdfDdSszvUSqcCMwWIimQWwQAaYgAakFzZEzZMmHGggEEenrJXxLlLwWViISMyVSgZfTXiQqyGGXeEvVhjyheDJjdWJBsdzjJZuZTtqQBrRYOpPopLMEemRrGpPgljJLrRiIVvXvVlLlLphHyemMEtTFtoNBNHeExSsfFSsygGTTthHdDqIgGucuUCdwMmWDHpJjMmoipjJtCcAaznNKZhHzkXfeuUiiIIhHEbIGQDlAiOoIDjJqchHnPpiXxhHINxTRrXKkjRHTQGfFEewryuplLPPpCckaAZPpjAJjCgtTTtGXdQdDqKfRrFktzZglLGfFTxTtXhHRyolwaCCJjSsnXBFRXOdMokKOlmMMmEGKbBkZhRTMiiIScCsSsPpRPaAoqQOyYpmMzZXAoONnatMvzwWlwWURqbdDIiBQvVvCaAQUFYutrRZzWmhkKIiazOoCsZWsvmxlLfdlLEETfFAUuabBdDDPDdNnJYyYxttnNkicoWRQibkHhnSvYyCcoISLGYRrxJbBjElLeyzraARZFowESsqvaMmSsFfQEkoMqQeEmGfQTMuUuUnmNnbBVvUaHQIiCcZrRPDdRsuOqtgqOsjJWwQaAndDNnNvEhPDpPdvUgnNxHhXWSgmMGPpSrRspcTtzyYtVvxgnsyeqIXttGAmMIJEekLNvFfGgWYPeEBIPEGstENhRrHdZhHzoQqOYyIyYjEQqACANNssspLlPJocDxXxwiIyYElgyYGkZzSgtTqxIiXQGDdsfbBpPFSuiQRHXxbNnBFfjAaAaWwdWwkiTtIxXFgksSKNnEBbfKkFvVWwHCcscClLrJjkKKkXbwYyGGXXxxZzHRreALlLCKdDlTBbiIEevVtLkxBWgJqQNnUultKukKFwraWwylKKkqQsScrVbsSjJBjoRqQqRrtkkRTJjTtYjRwFcDdzGgPjjqdDQkCSZzyiJOrdjJDkKrRTTQzZUuUyYuuIHhpPrdRrDRbqQJjpjIiOOuYyMBbItzfsNkBbOfFXxosyWUXYDqQwuUafoOyYFdKkNaAnPDdaeEAAHYytFMmayUWvVFfwuXxHhqYyyZlfDdqNnQpaAkKcasDeDTtdFXKkKkQFfOoPlLsfFSMmTtkKpSsTtqxauoOiXUuxRrMTtmMmZoOQAaSLVuYyWwivQqSSsfFkWweKkEcACcDThHKotTFfbBnNOFCDCgNngGsLlNFzIiQqTmWwIiqVdCcbSPpHYXdJjiIUuGqAaiInywsSxXVuGgUdjJCdDMErIWwTkyiIWlXxzzqWvPSNflygGHDdJjQqZzUuJpPjRiIOkOoWwKrKUoOpPuoOZzPoOpEekzZhHIYIiTtIipGgSBDwMOLtPLlhOEqopYyDaLtbBTTsLWitZzkSiqQrRSkKLaAlsALXxpZwWWBbcCeaTtDRJjEeiRmIHVfFvbMmxyYoGgdUXxuzFaAYusSzCfDdEasGrRJuQqTuUJufFkKNnUKkiVvIeEZtfiILzdDOKkaqVvQUuLBGJjIigHhmMYJjycQlXxjJCetTFfhJvGgwWUYyuSTtKksVjHCTtzOowOvqBbLlRxXEpxPPKTPYVchHCwGgtTWlJjOoiIysNnIimJjQawgtTGDdBbieEvVLEevVDvLMmlDCNIindhRrJjnNRFeiIHQmMcClhKkHSIIiCFnFrLlRHhFQBBbbYADcerrRyxtTZZzKknytTQqKhHkDOSmMsIhNnHiofsmMfFSdDlLFGgvVszlBbkhHKLZtVupHhNyOEezruVtDtTdodDbkKRyaAUxjJtTZKJUrRoeyYmxXMVvVbdaAkpPdNAanDqQQPPpYypNNiInxoSNBhHMmWwqMfWWwwokbBjjfzhHKtTNneEWAatYnzZNlumJkAaNoStQFNenBMbXtTxBmIghHViHoOQzBbZrUiIumMcCRGgzZBbrHuSsUrhHRLPBbnOtfRlYySvYyVWtLJofFvVOuoOUPFfGPiIMiIWNnAFfaHJtTjVpNQGGgkTsDoOqQvlDIbBOzfFWwZKkAaBbtTBPpFMmfbZzoJjiVIiacCxXxEeEpTjJtcYYSYZmVvMRbnNZKSOosaAfFdMFfZpPxXlOXxvrRIHEuDQqdnNnIiPTtPLlmMYVGgvEEeqYyCeTsiIEoOZzwWRaApNVRPUXfFxcQqCYyLlOtlluUgmUuMMftgSssjLeEUgGuMWIpbdnMmMfEmMeFiJWaAAzZSWwsgOyYSWaTTrNqNOOPMVvKkmZCmMcmfLlFvVMOCcWgyUaIuFKNnzZUbBItTfFSsFYMRrmzzzhHzZYzuvqQVEsFfsXxTesSwsSWuUHhUuQZztRXxWdjJwWwjkUDdJPcCMgRrGEpPWwUAaEtawtbnNBbKFqHNjwHhorRMfFfVzoOwhWsSFfQAaCoMqlfmMnKOblLBPlLdDbYmnNUaUkFxpPXIiaqlXwzZWxLVUuvvVLKkuUBcbJCoVlLPpvOcjQlLqaAvUuVbBudumelznULlcJjKLQWKmjJMZDdIiEyTbBtYvjLBImMOJjbBbhHxXiRKqpzZqGIikKVrROoEYewhHxYyCwyYLhpcdhHWwJjqZplIiFfBbEZxCDymCcCIiajJvppQwWqVRblLlqQFbaAQNFWCtPqQQAaZdCuUOdyYzbBhHIVTQpTMmtsSPVMUjJcgQDdOoOorRgoemoOzZnvVNGgiiIIIkRizRGBbiKBcHRNnGCgszBQZWwSFZYyzfYmMesfFYypPmVwUWWGgwuUXTtrIiyltTaSjJKsqFfQYyxSomSEhHSsUpJYeEaAjCcRwWCKkclxXLMubqbLAalEfvurRDcLlwWwVWwSxSQOAaLbBlTdGxwpBbkKVvXzdIUDHJjQqDdbBStTiIGgvVLKkYwWywcxziWwICcYkJeHZzhsSbYyBOodpVvPDCOoCsSCEKMmqQNnfFsCvekNPHinapPpPmMVXeBWPpDRnWdDwirRDQOPrRpqNcqQuqwQqSkTUvNojJOXxnVLCrRLZkpQqPKQefQrbBLoOZzqEmjCcvnuyRrFPeaAEWwQRgGvVrBZCocEewWCRmNLEeKQyYqHLnSVLlkXVvxcMPqJHYzZUukTRDlLFfeEVTniIeEkkZvVlLSsgGxXQqgRcCFJFlLQqFffXxjfrHcFGmDUHIjgjZpDGDZbkKeLHQKVnNOSQWwpcbBPplXFbBQqfxPFfstsSeETnCcNbBKUuIcCqQxEepLlPuEQqepnabNVKPMlzAamRrImSkoXKHIiIgnLiIlsZzSNtTfAaBuUtfFTTwxXGtTeEBFLSsSOvvJkDFbDdTZztFfPqQWrogQqXxbymjfFttTTUbBIDdmMmMCrRSsbByyyeqqQwWMuKNwZMmvrmMqanNAeEGbnOuFfiaBbgszZnlIpPqCWalktpPzhxXCggfnbBJIipSMhAepXiuUyYkyMmHNtTGVeEtjlLkKPDFfbIGgiOEprNaFqdrqQlLCZUuVvqcZlLIoOfDyzZAayYBTFfEdOJjfpPFnNmvVzHhHhjhVcYrXyJjYxadixXJQmTVUojmMlCkYipwcLXxIdzkKFnTtoRrkBTtdyIZnNlLUdDqPCcYWcDdxdDEyIKqQkUesEeXIreQwWxMJdNVVaKlRUuDvVEKkuUeTBbfpdDUJbdDGiIgFfbgFIAWwaiaZzgCYycxRVDdJxXfFjvNFfhHkmzZHhKkMhKxSsojJYcCYjWnNwJyyOfFWBySQrsSbNiIEiJjqQIsLlGYDdniUuehdDuorEMmejJRwWqQXxyxfFwGgWWwIKiHhiJjlLhdDLrywWQDNXJjxcCQsTQFSsZGqQPOIjhKkzBzIiVrpPRSpumTIicCcKkhRrHEBbVOIiaHJlCSsciaAIEemACotsFfLlpTtPqpPQpgYKRxzkgGMpPHJQSRXdPQJgciBsoOgGjsFfsFCqQKnnNNQixVvIYqWUuwjGdDgtYyIinSYDyYnOeBOWbdYydbWcCfdUSbNFsvwRryYJGZrPdBvxXotXBUTtUubargnNnNFZaApPqQEayYWhiTtpPIBUuKwPgiPjlzZsVRrJZlLNwJjSsTTLlwVOTpPtnwVvyYbQaAbIRWwjeAaEuSsaboOByYAEraSslfZwZvVRrRqnLlHpwewTUuxfFeEHWYbvQnQqwWpFfZzEhiICdKkcGpdlLjXuUnvmZOoRrZzSOosxCUFFniTtfSVczzZsSZLlHiIrIiXjJdgohHOGFKeEIbZilqQbkRzFOxPwWskbcdJNKTMXxVtOoNHUEhAXxTOzPsNnSBCwWQlLcDdCoSKksnhctWwkAaKTFfcPvVCmMJXxQgiIucCUvVGqCbXRrLluDmxcZNBuUNjJzZgaTtCczCcNLlWAlSWCWwWwlsSiaPIHhHLnKlUIJjiNnRVHhVmAaBGgqQMsVHhvBvWTcCJuULlGeeELmYiIhHyxcCKkoOtOwRwWriQvJNxFfFCiluPpUuMgKNuWpxNTYIiYKksLIiAOzZovlYyLjzUXuTModjTxStKfXIdtRbwoZwTiDZYWwUehHEApGunNUQLliIvVrMNBLlJjULvpFfBTMNJjRsTfFIiyhNGMmlUXYyxuOowUWwcCqdDDiGTtnLljJDddDPoEbBcCLlkKeskfxPpXkKTtXDuRUQqTtPIiIipJNnjkGgKtciItkEWleMmTomMaARrhHNKYaAhHyOoOKXxDdYGgQqELDdlMGSsDhHdjGOoujIEepmONnojytrwxfFXJjeiSkRarhHgiuUSjqQNkMVqQgoTFTtGssNneELlKgROAaoygGyYZzYMDhLlLNAfZWXYVvXxWYFDnqSAruUoyLZjJbBgGtTPpuPPNnbjJEUJjsFfxcSGgwZKmMkGHhwGgNTehNFKkzZLlSHGCtePMDdFZOGRkQYyXjyYwJqKuoOdpIpxXvVNgcwWCJjeEXxXVvVtDdneENLloFLshKNnkQRxStAFikqbUvxXFtTjKktZQZnFXUNpPnnFIifLtOgcCGAbBRJSTENPbBpqQlLFCcPpcCfpPtzXxttepQwWwUriXyxXmMSyYryYBwWcbmMKBvtTvvFDdfXxVNaAnVxJwWjSscWNaYaxtspQfFqPSThbiIxzzbBZSsYEetACpwAoOzIicYFfARqQAfFrRAsPpTOoQeohKWUszjjzXDdAaxcZzCiSsDUudhyUwlfFLAGgxXYBaqFXWxXPCpPLEeeEyhRtzWwrQmENnkWlLwfdVUPsXMmTSisSxUuUJSsIAJjAPxMtTbBaASsDdvVcNMwApUXYOzEZrTzoXEoOeHhNhPpHnleUWxXzZsKkKklkDzEEMmeIBbbkwRgGyNMmLllyQqYLYyiIkhHAoJjfAXxBpcawhDdQXxohyrxXIOoiLlzyrWkZaibwCWQpPSEZzeeogGdQqDoDlLiINfFSJjsEwhqFiIxqQHhXvahwWcZbMxXocZAaAaFfCAkDdQvIixXVqKJovjJtXxpaAMySVvaIzZDujsvVmcCMDdkKjuOQqjNnaqUuqQQiIZAazAJukyVvGzhDXIaGWRuPiIpwAHIEYlUzZQtpWdBfHQqKmhYaAgTahWbBwLJjksBFkKYhHzZOaAuUoaAnNZzXJZCMmjJKLlRCcIidquUQDoOTTtwqtTxzNnZXCnnvILIFQaBYwqSonNIiWxfOlLuVOdgYxENOoSezhHIiumiJuwCUuqbPpGmMaAUniIXkcDphkjJWwRjlfxMAoOCcymJMSsmfvaAvKXDuUdPzZpxhHlzdAnRXJPiIxOorOdZuBbKJtqCdYNAzCBesXbdWwhRhHzeGDDmMcyRkuULdpvVPJDdKnCcBbmEPsStabBATAiIfKezXLoxiSnWGgRSWHdDhYyFWSWyYNChnIIDOoaYXCxPXxLiuSsJjhKSdDQXPbzvVKgHhGDVrKQeElsRLGwEjGIiPaAuUeMDiSsIByCcFfzTyZxlaABGbBKvdDfdFMmfDFmMMmEqUDdOLMmnddgGIiOHkKzZHWsaYaJZdDUCgCZlvVLfbBtuGfDUWUubXxvVQJLlONSQYbBIfQqAAdDIlVcKhmmuYNHhMgtTenRrkOZVlPaAmBealLnNABtWmvNfljtTJLFnVMrRwTbEjJbMpLvzoVvKNeEEGmnzwDdWZyUMMHkSCcsCxXvLiaEeAJjawWaFiONnoymMqjJsnojqxXBwudvVFgUTFzcGcuzjAyASgGwJjhhFfoDDNlouQeVkCcgwWbLXiIzYfFtQtTqZYbdmEQqpgJeWglbBmMrSLqkRvSsdgGkLlZHLlhBpxqprRPskHUIlFfpXEepPcxyAyEerPnNuyfFYUpRYdTtiiBbNHcWwnwswfwsrwNiIsIlLXOlxZLlEkFaYypeMNzZkoOiIxXjpPYuCgGcUyDlLnNlTZztKrsSYCddgEZrHDBxTtSEbcVvZanyDcQTjEekUzDodDRlLhHhHXpjxmMrNaDXxZLCctTkViIVFjMYQqqQameEXXxFLJlLeErzZKWwHPLleBbAaEdCKbBxdDCcSsNugGgLlZzBQUlLuclLWUjIMUZEsnevVXcCyGDovUoFXwbBOskKQWgGhHyblLAKkwWqfiliVNNcxXxXQWtyYrkczjxqQbBWpPQqwyfbSqQKlNnHAtGyOoHMkhFslLSbDwPTqIiuLyqWwbBQeihaWRrGnCcQqNgUUurKkwgAixdHZgYJjgGSpMmPsiQqYyISsgGKUoUJjJSJQqUYydYyLliAsYJjtTmPTNnJjVOjyYacTnNtpPzyYCOJrRjTtmBzCHAVfQHWeOCQqcoOondORHagGArRhrOEVSsvsWwqwlLcbCcaxXRrtTATtcCAaBWBIAzKwRVvjJYYyZFfzZPpRYHOWuKkUwqBbzZHFpiIPfwWWcCoOACPbaFOaKnYrWWwKBiHheZdKLSwuGgELxOZOovVtRzMmeZoyxuPaWmnCajJJjAoOmXpaOVOovoaijuXIstxSpuvDFKeMqmIiMRZjJTrHYWwLllcpwWHhwxZzfNnQYyOoiIKkAbyaWnNuYcCHDdIZJJZSuwkHOVvBbEqtSapPAaarsSaHhyCZaWPcaTycCZQqXBHXAyMvVmAnxXwCPppwWPXAaVbkBCbRBbsCcYMlkKLmxpwWPDXxxXdIRuWBbqPETvVTZVvTnetsEKkejraoTlqQNuxfNzqmIiMzZzrRkKTvVJfmMVuBQvVKIfaGNlLngTsKOoPpkXrqKkHSlfOMmnNTeEmMviIxGnPibBPDUkQjWIiJjJxqKrgozXxfmpETcjJjeEJjJgPprRhsxXjJzNnZfnHEtnNnWgzWGgsCXpPSueBrRpzLlHhZIXxAaibBpUSvVszDdlYcSsCORasQnSsNNdiIqQfyiIwyuUxwzFHhanlHaNnAjJdmyYsSOorGsbBSkBbSfFSgfTtfoOFtOGvmKnJjeEJPsILlGRArMmcCXbFfBxKsUuIjJEWRTYJMUuPiJUXxgEeJOofFgmZwWzeyiIkokzZnQqTtOZztMmELweKjJTCGPdMmMmDpgTOourZzRlIiLrUdQqxFSsKSPpOpNgIdaAvVlLQWwuWuULgnHYtSrCHhcnmtbPVlUuiIubnNnmReExXgGAaqmMgIitTBbPRrZzaVvtTuyzdbBRrItWzHhOhHWZzBTtrTDixFkTsXtJDOmtQqzEeZjJUgGxuZNPpnJpPVarRlSyIiytnXKkPwUsSnaAkGmWZzwUKkLIOocfXnNnjVqeEZDdzXxIXPpxWsCcSoVvTjJjJXMlsSEglLjcCtwVbSmQqvOoVbMvFfvrrYyRuLkNlhipAILqQcwsLalPpLwnIiFfZbBAGnbnzCXMvVeDdyYEdUvVxBxXcjcpCCHNSsOOoGgOoqkKwWcbpZogGtaHeuhCcnkKKkTvmtknoOjGgDCgpPkVvKWcCLlwGbBlLBBlTtLbLlVvKSpXofuUZrJjKBLRBbrIraAiIRiaARrIzBikfDxRwWhcCWXsSxHhwCvsFINjJhHffuYymMcyYXZcCzzMVNxJDWwPgCDcHjJePNqsSaAVBeEVvyiIwhXtWEWLlPhNWkKwQrzWWwzFDdFfLAJjReUtTlLJridDBqxXBWNovhHWtvCcVvbBVtWnzjdDRgGrTmMtlLvSnNOoLJprRjJrRIGpWkbqQggxXGGDzcCZdHFfwuUAezlLtTfGnNRRrABubxTOVnNbIiDpRzggGqQjWvVkKmfFMVSfnzZBeEsuDFwBDDWwBwKkoIibEoNdyscCNTJOxXovVQyOoinNXIqIimMkKyYjJkcfKkSSsSJLZzlRrIiBbSmMbICGzZjqxXpwVnNvWDxrsqhHjhmgGKZXryYYykqQOIioyGPkZzNBbnKUuNnZzSTOcaMhHLqQjhAoveYyCeEtMUPsvMmlLZhHbZoOcCHJioCcpgzMuUkKmfqtAaLlfuUTtFIkKtTiSehHEqjJndqYRsMmSlLlHxXyYlLIIkisSXYDlLuUjJdnNOUHsSEINygSerRnSsBFrRfzZRAaqNnsYbwRrXkHhHKncCXxHhrXGApPfGRwWrBeEQqBtTjWwuPFfQqFeEeEtEednNrLWwkAHAahvvnDjiIEeNnJrsSpPRYyQqjmXqERixSRrEuTtdDimMYeXCwypQuYynNziYDNnbKONCcfZsSDiCeEqQcOohHlCFfWPXxIBbyKcLBzDPHhpiIdqQZUubPpjCcJPpJOumMxPpXiIvtEeMqjIDAJAaHhjRyOoVvCvHJIiZMZzoDetbOoRrYqQdoOyYXxFiMmzCQqQzcLlCcRTtDgkKGQsYyVvSfAnJUuKkjRfFPtJjTeoBdpzZuUpPJTqQjJvgnhdDkKNnYHhKIlLJjxPEaHmwWsAaPjNFnNGGcHfFiIZHhTKLAwcQpZzPyYiLNgGSrsSRbBPpGAIFfUoNBgxXSzZsQRcCVzWnlLkdDUmVvQgGEYYYBbsSDdVvciuttTTJXxMYBGORwpBfrRvVdKjiIVVoslfbgWtuPpeEdDOoULlbFGihkxOKsMiJjMZLmhHpkvnBAPpNPUXEeLlikSHhiIpVvLCPqsovkQqpPiyYInuLlUNGgoOYyrRqhlEBzNnsSdgdzuUfXgGxFhvVhHHZPzJgGGJihudlLMgfChEJjeGJjlLzKKNQjJqtvQqpPdrtKbByhjQpLlmCKGiIgvsNlhklnZzMrhHvVVnNEeCcvVvOoOjJNKknczbLlqQqpcCfjcCJmJjuUMQzPpZqYUNVJMeQZzlRqsSFfFPpEqhckKDdCHzujJUlVvclcCVvutAaKsdDaAWQUCnkKQLlqQoqdIpPNrdroORweEbExvvVANpPXxIhpmMXxnKEVcHJjiIhSkeccSsczZdDEjKXxyZXCWlshduZziedAaDKVvkEDZxzZPWXgDZPpbCcBzjJtzZoqsXsvWnNQqCdmMUkKOoVFeBQVZzvBUmlLBmMVvbEenNrJyjPuesMCcOsxXyYXqQSkJjsALYRxCcwuWvMmMlkKLkKfFvVQqSEdDyFCcHhJjcCcCkKfszqbZSGcRrcCTtCcaAgrhCbkImMgrZxXIrKiGgMEVvOTtSsfFnerRENbBGqWwpPGCumvqtqQviZPzBbZpDocDzXxqpTcwfnqBfKkHhLBSsuUrvPPVAcMYdcPpXbBzefFeVvEfFbBLPzQeEdDgCLKklcGDRrCPuUHlWcXWEyexXvgQNnIiPQkrIBAaoibmMqQlJVezkwsSdDqMmlkCuNZLEMUxXDUDlOoLdjJBCZzaAblDeEdQAxXDdfKuMmAuMVvyPpwWBqbBQpTtPXxpokNJRrjFLQmOcquUsSDdYyzZwHWZABbakKvFQqAaxXmzZOWHhLlJnhKkQDdfPpkhHBLlTWATeTtueKpPkmpoOnNjuKJmMWDwrTuUZyYzqkKXxWbBwsSEtxYyXSNnjJZzUuSeUZyZZQqWwZyfiPpumMkfhJjHUiAuUuYGwozLlteETYIiypfFoonQuUnpPRdDttSsAQlaALNnqwsoGaIigtQqTGwjoOIjJmNDBPiwmyYRrlJFfSGTCcFaAmGLsSLTLllLoEOQqoekKOouprOovnPcoOCaAreStEcQeypptTNUeIihiVMzrRZZzmoLzmDkzBrzysvVyyCPeXvVAcWwCvXDdxEeVvdLVdIiStKgIiqnPvnNhoORrwZkKzXxmprRKkgUupuUjNnlpPTHhwBpPbsPphHLrFTsSBSsboNpKkoHhBbVvOlhfFRvcCBbVqcnNChIGgvauUAGibFfNEnfqTsWwOnKjJusSUjdDMULyNBbnTVvwBbkYysSZFhHJRrJbBcCKOFmQikRrRrKkKCcIkKMmbnsOaAXnBbqzZKDBvZBbzEefFFVvfEOujkzPpeEtTXuYrBdDOTvUHhgGuURZbBoJjxXYnPUvTSxoOXdYNGgztTzZXYRKYyKkSskECdyYaXxyqfUufNvLllfFLVLllLfzZcEHheisUpPuLHhbBCcgGqhEoOfLlrHDckKdjGgsmMSjqQlLJUuEeJwWjJVdAavVAaSslKkwWIKkeEaAOoTtpPWAqYyMSvVYGgcCLvyUuptqZzVvQkppXPPAatTpeSsrQVorRmMWZcETdDtcIitTxXLqJbakKABjmMuUCJjblAoZlJjQqCcFIiTzjtUjgSsIiVvSgGAeFVvAacZSsUKkyLlfZDOXBYyhiVvMrIrQqNndAEsSwzPlFHTtXxhfaSkKsOoIsKBbuUTIBbwlQqQqStlAdqWwQPOQyYeoHaAxyYXFfpTlomWSfoOFsdbbXxBsQqPiIyiRoTtrvVXxyYhyYXxYLFnsMmpoOVwQZZLwYDdUuKtiRemcOoEeUXxuDvNxXnWYNQgyYrRjyYGwWKkgJFfDxyhNnSbBxXsvVsBDEevQMPKgGkpZztvVZfnKkPpSoOMUuhHOoEemGcdcfaAktdaCWIxXiwKzZHhsOoVIUrRwWQqvpPlnNEebBsqzfFIYsSIiyUAQltTLqfgGDvcCvVVdEzZuUdwBbWSACjJnNRrvVPBbFLjJzYQYTtAGguUfpPThapPpABUubHhaDMmAWBbdyxuUuwYSKnSFiIZTieSTtsEKkmUooJHhPBAaVviTteEUVvzZqttDdJyXxYCcKHUuhkjwgGWDWwdRojIvKkVSsYsicCEeIlLcKJJpbBoOZlkKLuUCfWrtTJrRDdyrRtSsrKKtbBTTLloOQrOJvLeElSsRCAtTaWwkKkLYARWyYfUkKkWwmMTLjGwbXOoclauUEhggWjJBxRSewWyYEEeSEFJjfIihHXxeshNnewWGfKDpPhHByYKhqQHkbAgGaJhrgGqKkItTUQqsrRcCKLsbBCcaASeXxWXdCOjcCVvSSUuSnnZzacaeJmhHMiZzDneTLlSgDeEdrRepibpywVnlKjJpPjkKiEeagTTGgxrRijJQCcEYSNGXwWoOlLmZzMTztTZEeIBjJbiQqZCPswLlGuVZzpHsSeVqSoQGLlTyKkYyYQoUSrmMpzqhzZAuLloOMNYymthgGQYyQqqHIiqFXxgOKeqLuUlCccCAVQPpeWaAMmOfYMqQmAmMaxXiDdIWwXygVvwWlsizZOCLlcVMmRVvAakKrsNKBWaAwUuIqrwOCXVvxIKTTgGeEXyizSsZIjpgGgGdxXteeDFPdDpIiXMVSwZzzSczZZmMWHhwAtTHMwTUyfutTmHhMqcVrlLuIihHLZrRVmTWwxuUJdDjnrRPpNrImjJnNtrHzgeLmDoOoxrfbMmxNcArRacCcAWLOHhKkYhHrRkKrYbBqQyIiDxwWEqQezZcaJzKUyaAYwWYDdRWgqthXqQyYqKkQxWwrNnJZzkKnNxtXhHkQqKvVCQdVvaLdQBcCbqqgiIiBejJEnNfFFmMxnfFZzNZTXxPITbBzfFfFZfXxFtOPQqhUiQhHgRrUaAuRxXMmrGthHTkKxXtYSsXhnbpPnOTrRfYPxRrdDmUuFfMlAuUaPybzUXxDSbjwMmEcCHTtYJHrRtTgIiWwGVSsvxKkuMmUGhHgggKkpPYrRIxJjtFvVzGuUsvYmKksvljRFfNeGuUVvAanNeEfFhSsefKPqQNnUupWeEwGQqSjJsyGgqCcGggGgGsuVZFopPOoHQMZzmWpguUDzZCVyYucCVjltTjJLWAaeaHhnIiAJBDnjJeEWQVwhHWRdeBIyttFpxCcVvtaABeVyULlxGgwWjgdOQqZzovVXGgxaifFOeEHhoIAcCDOXxfeERLlMmSsXJTtVvnNjtTSiIXxIieEsijSjJzRfvVFrjJkKQqQGcCmMgOjzqoOjJSwvPpcAamGFfIiTbjJOoJHhbgqQHhkZEezgGvAaTgUYyvVDduGQMEewMqbviIuaIifFABlLgLDmMdSVLloORFkQJImTtrSsuUIeELlfVvCcFwaPpQUuqAlHhxNndtvwWnNAoOuUaPXmXQmMyIiYAccTWYRhlDYnNydMoxLlQrRZqQzNzMLBmOQWKklUuLlwWrrRKCUjipjvTtzZVsIekjzZJZqQlLLKWwoDdVNrRHbvQqjtSsAqRCIinNcdDBbLvqSsvtGRYGIUuDviIVdwWDdXxjyYJKkQIixghHBbjJnNrkTDeeEnEeNEXaSwWVvgKcZsKkHeiIltNniXoRrYnqrJQAbBhcCLlmTzZaQmoOpPMqxXjJXyldZRNVzZvlkKLcbwDhxXDwuYymMJVFVvcCVvUHbBGYylLkKRqZBCgGtwsAQqtTlJVvcCjTtsTfFTYItRrdTVInbdDBlLOXxoEeYeEmxzZZOoyYyBmMbyYIfFjRrZNuHdEgGHlLhsSAkKptTgOoSsGJFfcCQqeEYJMxDdXsHhSaAWoxGwWgGqQPpaFfItTkKGgRDfFzEejJPpmOHbBIiVWRryObpPxOSsokcjJXxhHCDdAAaGZzTtnOGsSyRqQWFfzWpPwZwxywQEvUNFhvhHMvGRrgfFPpJjGbTLsSHoieEIIvebBukRrCkbKkrIBbXmAoKyFhBbHvVmMcCCPpcbBPaAbHwWpPLlwyYgGesSEgGCJEOZzoiIvVWoOwEsSZruZpvRrVXxPbBPoOOoGEfFSTNRiIiIremmgGBbMgagOaVMmiIHhDdaOoOjZCcPokHGgVpPIZkKtbEeNZzilbBLIXxxyYXnNYdrRDVLlvfukKkuUmwlqgwQqWYSMZAaIdDcgYTtLUKUTtkuZeKkQLCbBYPpqjUftEwWeXxPpTgEeQJoOpPjqrRPDAJjaLaAlrnXrYKkTmMtWwhdDDcCLlkrqXaFfAxROooCcAAsuUSTNuUfFnHcChKPkJUwjJeEleVnNMmVkKwWvrRPpZzRrWwnNVAaoOvVudhHdyYuUrzkKoAauHhFcCbDwTZRrHhlFdDyYdbXPAQPpVochHeZEXwWCONwxMJjmTHtTBKGztTEEeeEeQqsfFSGYyAabBaAyAamfdhKiqQBkYFfeHhEqmQJDdoOsCVrRcqdwWfuObYmKeXxEkbMexEWQYdYpPIeEMUdPEjyYJebBtTbBfOoOttTIZziPtlXCcxSEwevVnNTMHAaXxjJjbBFRrwWrAdqkgPttMmrjzZNKJAFfarRFhdDHURdrjlKkjyYJpPYcOoAacPmMTtOcpzZJjVvkKwPpWbmMfFBPCsSZzFgGoOfmeEEUZAmaSyWFXxrlEfVfFCckKNPdDdYFqQFfwTaZxXAacCKkzvaAwFGgfWzfFXIAnEzfFEgljUJjawFfFfFzNnZgxWwkbBKutHhSflDuUgkoOKhAmMWFfVTMgGYpiIyKGgeGmkFfPpBUupPbYeyyaANnVvMmBUOiIfZzSzZspPFEelLJjEsNnYRracjJyYUQquhHhctAacCTeEjUfdZvjJVvVNncVvThYcwWCyyYXzZjqQaAJqwWJTZzJPoOLuugcBYyhHsSYybkKDXlLOYfFfxXZzwWsSJyYjNHlGrRUHkoBpPbNFfQqZOgGozCcQwUvsSPpBbkKNdxpkKtvVTPXzmMEKdDkEsyYJjSTEeTtDdtsEefFyxXkmmCWwWwxSUINoPpOnCJkDzONlLRpOJjeVvOkEthBbQiIqbBCYrsoSGHWuqQqQjvWkKwKeEOoIikViGKkoxzZvnNWzoOTtZuRrUnQqxSsDdbBXwuhZtjJzxIiYyLrGGgYwWygRKYOtTWmKkHhHkYyGHxdOoJjDdQKkIiLcWwZzBbksslLRrrDalTbBmsqIpeEeMgGPBbZTIigiIRXSsUFluUnjJNLsdLfFESseWHWBbwJoOoEeOobMqCVdhHeZzXxPmMBbHhtltfFxrJCcjXvoWZQnNuCxXdKkjJbBDHhVIaIiIipPqQAiPorDhSpvVVBtTltGgTAFHDWwdhtslLWwbBJEeviMmiBbgqMwjJoOWpgGrXEDdKkexpWwPRWRlkbzZSsBwyrRYWAWwajTjBbJNCbLSsiVvDtTdtQqTIlOmMmAadqQXkQqoOSsoOKxqWwQDqQTtMdvVGoJoOyegETpmpwgxvmXbLlBcWLJjCZIixTFWYyeEjJnSsIijJNHhLsSxXaRrVvgGAsSVpHakkvVenNAaXfZzFhEeHfSIiMmVvUNjBaAXwWXxxAaZzDWufFUwPpdeELORrLltTFfCGSqvVDkJBbaXxQKkqmMrRAsmMJWhBvvzoOZAyYCYycdDGgPphrRGJjWwsSLPzURvPDJsSABMmbpLNneovVzefqPpMBWLlwUuXBWPpBdOxXGbBgoHhvVzZDNlyRyowWIiuKDdCYyluDdcBbdJBDVtRwWYSajJGDUThRwWBLlbDrKKkkSBbsEewWMmrcCBbRrRRqPwpPZxXXxEeNpsvVSJlLMrNniiIjJILlQqEdsSOBPxgBbsSwUPpuBbqQafFvReEXxdcCDkpPoODqQvouUhHLlOEXHJFbxcFfPEebhQkSsQALMSSyoFgGgPpZhSsNBZtTwrLfZUVbBgGqWQqwtpnNrRmRYaMZzTYAaUuKCckCAVTtTxsBAkaKkTVhXGDdpPLlDyBbYCpPcokKOEeqDYydbMmBNwcjEeNnLlBbbwYyVvVvWUupJjyhAWLKkJjzDTtXKuJZYyzKkKuLrnNCWnwUPpwWWEgOMZzMJpJtTDaAUudGgOyYfIiFojDdQaMmRrPydwdDWTtoxXqnKWFaumMwWWwcCUySSsaAshrzVvraAxAHtoyULlYyMmuDNkKxSsIiXwWgGSoOszZOocwvVpPKkDBIiZzUbBKkIiIifFmMgmaKXgGQZzLMmduUJjCTzcCDCxfFEQUFfuqHFXLFUFfNwBbkKkKxqVxXWuMfFoAwWaIioOvZtTDfCcGgaAsSwMnhHbBeEuUNmGgxisxXpSIRrynNjuhHUJqNEeEeRrqyYVvDdUQJjXxXHPcCaAjJAeRaArQkSsKBEeQlignNnWmMAPpHhqQqlLQIiaAoOUHhrLJjnZzPkKVpJaAOoYsSyRcCpPVvbBTXmgGMIpLlPMfRrdGgedCcJjCvmKOokMyzwWZzZVlcoOtTcvwdGgDWhHozZZBykKYZxXzcJXNnhtTHxjJGyYNnRrgmMhLlhhTtrRHpbNMmvAaPpbdSsQSslLEPUmMuQhHGPphkOoOsesqQIXrNzgbVvVsNncIiNDdKWwIiYyDQjnNJqzbZEecoOMIzRyYrAaAaomMMmBbsSWhZnPUkqQwWxXWoOyASsCPySBbIiCcZhHzJjVvhZztSsTBcTjJEeFpGjGgWNvIixkKMmXKxxXXpQqQeWwCcEjvVkKSsRraAAuULLkKcNnRgGLloOJKkpPxXdDLtDoOqRrQYtqQToYCCMVvpcCgGPbzZfwWLeEmQqgfFwcCLaUuOoFROosSKkfobBOOZzoXxKTtumMYdnNpqwLlnNzwWJjzZEQhmMVbBqQkMkKmKoOQNdDxuRrjJUPcCFxJjXAeEZzzZxXJIixXooOMmotTOjJoTtdpgVsWwSAtsSiqJjQjLBMmUOoQqnklLVDdVpIiOsAaScCiIqQqQBrjMRPqHhRERAEeiDEefIiFfFeEiPhDxGWwgXpruURPJHBwYTtcCBbgGqQZtTtaSsmuUoRrUkTtarabEdmMjJjJlqHdonNODhQQwxXWfMKknNmbJcCZzhHLlEDdCdDcXMwWmGgquGgReErnsSMmVLXqQgGOFUOjJZzoCJkKjckXxKuFosSNnDdEvVoOBbsOoSbbXiIrPhQqHpdDzZRuDSwWlhHcCfQBXxbWwxuLcCGrRmMgfFkkOofFKKwvVhaASyYfFWxXxXaAThHtBbmXxMnFTUMmdvvVZzDdVvVVqMvVmbBTtrRmZzGgCGgkUujJudRgGqQrGeAtOoMzZmTaYQqyaATEzZFfFflRrNnENQvVfFqVJQSCmRJOojJjsXwbuprRPDjJdTEQqIXuwlGghEfZOGgOiJjIGGrRgXnNHhzZtuyhHtSsBbQYyFfqTbBrcCUnNunNHhhKLlMTtmMgJGSTazxASkKBbeEsDbLkKGgqRrIDmMdUuitTpPtzhHrRZTmoQqjJOWPnUnsSzZNzrtbBBAOoBgGAIixtRaUppPXsPxqQGgIiTqQXxqQxXjAHdnNLJjPpaAZzlhSjNVvVvaiIPbaARrRRrkHhTYTMkKmfFZWwxmMxXXYyztNnLlEeVvdWraCSsNnIWuzZxwWxXXPPpZpPJjxNnijAbBarxSzCcqTgGhMMLsgGUSsUuueEdPUoOdAkKrVvRAaIRrYSOojJswiINnWRkKdDrylSsBbyKKkkPpqQYmlLMLtEziDkKdoOIIiZDRrRrAjJfnopvRkKqxXzZkwWpPQqtToOBaAbneEZiDdIkKdDSiIsDbZcMRXxhjQqJzZWwFXxqQEekKAaZzyYUivVIyYqQXxNnYDdKnUuiyoOYcddfHhfpMmzZieEIdlLsCHtzZTGKkPpghIDdihPSspHFQqeESbPDFCcOCcobRrBZrtZHhVbxMXYyCIPmidDMmeYpPyEyxTtcCeEXaAbBxqCcQQGgWaAwdsSDdNGgncCQSooOiIMpPTtBiFVwWvNhHzZpaAMmAaSYyDeEnqQBFZxXzBwWSxXsbVvIhHoBHbBJwWzXxPUuEoOeuUDmMuUxDDdlLdtTqFfQXMmqQRrnNdIiLlLwWIiEelYybNaAfFnZeEEkDdCdOolLBxiEecCQqdGgPpDVsAtTaSGgYfFTtRIiZcNKknoqXKkXEVvHaAvhoOHjsAuQIpfKhHckyYKfFMJsbBSxCJzUyYeqQEcCXxDVvbBwWqbfFBqEXNnxYvGqQjJoOFfSsgFffFjJxXeJjEYylLiIHgiIeiIpGgPSsxpPnNhxXWwqQHhHJjhBNHhnCXxDdTtmHLmMldwQyYNxkMkKmccXEoXqTtaAQbBxtTvVUNvVbawWvVkLlQqDcfmMQtTqPpmMkAaQqhHRrwWNnlnyGCKhKkHGTtfRravMmVpPngGpIiRrPSkKoKOpbBXxsSEVNNnoOCtTcEOZzMmEKtMmTWwirYzmYuLlKcTtEdtQfzZltnNtTTtGgjnyYNXOBkKoctwWyYYyXLBbOVvFJKFfkjDvWwRrRCtTyLRAaPHhjJKeEwIiWVbFzZfOoldgGDcJjAajoUuOJQYyqfFvqvRrHZzhJRrGmMRNnrhHvIicKSsVngYyDdRaArNnDmqCcPYdDGguJjUgGRZzbBBbkKrddyYnNUKkujDkKdOPXSFEFfTtsNnuAajJUrRLGJjoRpPQKJjkCUuomuPkKhHvNwMYywZzWoRLtPpOoTTvhHvvVfFcIiyyaYyAcCXCdYyDoOikDdlLKIebzZRvmNnMRrachHPMFfzjhRrDdOcsSRmMVmcCRrRyYXjJgGZzxrCcJZPpztkKlHhqQLgCFdRMmrUEJmlLeEtTMRhjUdyYlLKtMmMdDmXxMuwZzKYJjyFJUuTICcWQqwyYmMlgGLHhLWwZloOLyrOoRrNTtnuUPkgaUuQtTqTCcQqeaUkrJjkgGoQqhWCeEdktHxtgkRVUujQqCvTYyzoetTUVviIuXxRrjlLTGsSAaYyGgZoOsOoSzhxRrdAQPMUkixXarEcYiiIIefFESbDdBstTdDtTPpNnitLRrxXZuUDmrKkDWcyYaALlCIRridfmMbcCuUobBKGgkODkKGgdNnBGAmxXMwwWWZpQeEnoOkKCcJjurRUkKNiILQlLqFfxtVSsDsSSspPSDazZYyPpqQVveESlUuRFLlkLXEexlzrRVvdMvVmgNnQqsSlJtcCPpZJjzTFfSsQeBbpOwGlLcCBbtTOpPxvhHrYyRgDxXJjVDMWwmWeofyYmzXxsSGiTtlhHJqGMgGNDdHhnUumlsqaAQSZzLoUujPpNWUfMNFfYynpsidPpoLloOaMmtRbpPTtBQqcBbCYybBbBUuFfipPIaHQyYrnNqQRRrSssThHrRilLMmPpTmMtZznJjeEKfYyqQLfFMjVvJAaHHkwpPRfIZwWJjzopPvMmOHtTDdyYmvzdDZpxQiImtThDtTZzdqQpXhHxlasSIUuQqgmCaAcuFBCcIiltTxXYQxbofFVvOSrRssJjcCWTCtTJjchYykKDhdzuEeyYUnNQOLltTYCctXxWwBUOOoaAoxXEeGgsMldDRrJjLmTtBbJjAhiIHyYEemMaSYqQyiuXeEciICbBvVlAatmSsdDBbXZtevCXzZFkKfQqxcEeDGNbBiBbIjWKkkKtLldqsUisSxLldDWwSsQqKOkZzKtDgrRvVGkoMmarRyfFOoPpsIipdNnzZnNdDxXaAhHDdDUuEetVWwqQWhUMmYyKkOiIvVopIiPcCGPpkKgoWwOXQqxuQqNnGAUSsWwuehHRQqrEZzagpPwWqWIiItTiZLUuAKkprRWwWvVyYQqPHQyAPWLNIinqQlfEQUuqYvBqQwyWKkoLUulJjMyXKkxMsSmwLlYyzLHhlHhUuJANnatiITurRrlLEhkPpidDvaAzZYiIyYFfZNMIicAaCwWcCORromliWwbZzBuUbBuUPDGgpmUQYtTpXxPcnNgGKkCBkKWMoayYwRrWKoWwOkytJtzZHsBbYySycMmVdDZtTlLzipPIZXhTtDdsGgIbjJPWwpgAaGRroOlNnLyyYhdKkzvHjJPysiIqQmMkKLAalDdEIiTtRrcSPpKkKFfJaKOHmcCmMMXxKijKSsfZzzZXmMWwxgGFAHhazZuQqwFRrfWwSeEDQqXzlLlLZUlLqBbQuxgGtTIgGidNntmLOooOkKlMAaxXgPaEecCcDdCcCAiITYzZSstAUuarROoSyYkKHzZlLpPkKyYWwlLDWhHwdMQxhHFarBuUjtTnNJlLjHJEefFyoOAeKNZbBKkIizfvIidNSuIVvbxXBnNizZHhXQqxbfLlhHNASKwWkrtCcuUYpoOPyIiTbBfFCRWwwoOWrjJGqaAQoxMgGgGuLVvljCDdbBArDdtTBMmldjZrRzrADdaqQuUsBjJfFnjJnNNuGpIBbVpPvIBbiWkQsidDIJjMmDeEHhFfpPbBbvUuHhVBvJjqQVvwWVvVJhHjGgBdizNnbUSAvVRrYjJLllJAafFjoOLrnhHNpPQXxqIiqxVKqQjrKlLVyYoOINneETxleEYEXxeyAaEPpzkKZeDkyYNsSHhQqZzXVvSsjJxZzurqQRGgylxXLYyUZzuhAjAauPpPpUqvWJMZCczNnNlLaFMmOofOodDQgkKGqzzdffFCcGgLBbSslZzKkCcDdzZFiIzveRryYoZzoOOwWJjEeELlqDjEekKpgcChaAHGDdbjvVSsCHIjJJjPpBaEOoeCXDdxcOaFfXxUubUofFTtGgoOnCcNWNnwaWwyYzZAxvHhhHxqQzgTjpPPwlCcVAaPpvmAaNnMBOnNPpoHhbkdDKclLvyYANnYcEevVCOGCpFCcfgGibBstTBbHiEwEbVtQKkAasUBmMXUuxiGgqQzZozZdDvuUCuUNFfmMPpOoKknrLlSDiITtaMhBbXxtTGnrRxfFyYLlXJjjSpgGnLlFfmNAEeaxWxNHhnXKrRkqLKkaAuhtTWwOoHrRUhWEvVWweIebGgBUuEiWwlPpLeECnNOPzapPAuWnITbZzLlsTUwWSvQqQyYXxoNcCRrnYySapZzFwNnlCmlsztTuUzZjPaTtIhXxoOXrjGHnNhTtwsKkhjrRrRUPTXJjWNobxXGJbLgGTGgcCEzSsgHEzCgNnlfFDdxtTXzZXxsYMmyqJjQmEeYVvRrKvVGgQlLqIiuRZTtwWpcCDdzZGINnJUujkKGgpNnJcCfUukWwKQiXIixIUugWwGSsNlPNjJKknWwaPrRpAHeEXxWSswZvVsFfEeGgJjAaqQfyeEYLlKkwWPLlAaSssbBpPSewHhWEZzpdqjgQHhqWbBDdAaXxlLYDiYyuECcefuRDdVEGQqpPKHhRrkWweXxOohHErRgeHhctTGgMkKItGbBgTDdlLgwkKWLlRrQqEeQqwWzZrRIvWwCcVfPpFIiilEepPGgqVSsfFvBVvbBTKkmMIbBqQKZzkjVvCIiZzcZrBbRznNZzWwJhHuIsSREfCXwWLlxcTRtTrsQvmIicaACltoOyYvVrRjJoOVEMmehxXWXqOCclLPpoNIivVRzZdiIiFjJeGpRgdDLlaYyAGsSASrRBSvVWTttAUuUuNnaqQeosjkBdSYyEPpACcuVvUabARrasSBpPwIiCclLcCysSYWJjXeEdDAfvlXxEeXxFfaAKbBYEDdeyQtQqeEwWTMmJNSYSQqHhsyKkXxsedDZmMdDgTKkSstGSNnAaZzWwsuqDIihHkvVmiIqPvVRXAvVaqQkOoNnrLxHEeEcCrReRYqQgjJukKAJoOagGtTlNnBbLovVgGjQqnNMmoOQwTtWqJKnNLRnwHHDzqBeIihHEiIMVAavmQiIqbQxXHhFyYBdpTIiJjtPsbWwBWcCLdDWoOLlwtVvMmMmeEEerFfbxiIGgfSsFiIXmMqsSMMmrRmQWEeFEeXxSmMgKbslcdcNxfVvVvVjtFEeqQpPJiIjJjKzQqaAtTjmiIPrfFrrRRnlZSNPPpFfdjJwOoPpBbAaCCOoLdDlcuUhKkHaJpeEPjACJDdTtpDwWdoObBPwWGTgIKKkMwnKkiIKkNKkWrUaADJFIipPfdDHhzyYjJjJOQkKwRcCsphiIHqQPSxpPvVXbtUuOzZXVYAayNnpPFfvHhGgoyBbKxAaezZuUTtihLvVllzZBkKpPMmZYysSznNiIBbgkPpKGvtGauUaiGgZOoXtsSAaMmToFfOBboOaLeCcEcWwCCOoaAodDOiIcjhHFfXIioyIiYYytTOGgjDdJvVEYyeLcCRrxXzZczZmlGgnJjHhNjsSJiSsIzZONnCXxmMgQveVuUmqQMGkKUtZzTMSszvwtWxXwcCTWVYyCctlLTZzyueDdwWEoPpOmMMXdDoaAODnFfkKNQquNnzzKMETkKbuUBuxXswaApPmRDlJjYyLsSIjJlqQLeEKkiABbZUuzWtnNoYyaAKWwRrQqLCpBbPilLLlsTUgGPURmLlJjMTtOHhoGJjgHoVvPpJjZhhHHHuUOohdDhqgyYGQqLlIilLQBRYyTtrbOVDdvoHfFvVTFyIiQqoOmMuUsWfyYFSsyMCcAxXaNgGYyrkKZMKmYpPPpywWtTMkDCPrJBbjHhXyYErBSNnsfhGREeoYOQKkqoFDeYyEDdHsVnNcCJjUumjfFFfJjQqJyYWwMSFfuodzpPJAajZdDDsfFSmMGmZzbBMqQmaGENneQqFfZzhHaAbiTmMJnKNnHhjJkIiJjEeWMpPmdCdDaAaAaQqsSWwWrRwWgGMkKPCccvRlkKLmMnNrSsSaAHOocjJSsOojYyJhgGHtTtnNTjJtTMADdbBIiFlXqoEmePpEwWBIivBZzbVyYbnNiUukZzuUZtpPAmMaTGKZzEerRnNGMqQmbBOBYybqQoNVmMvxXMVvmnhHyCQIiqQoOLlAhOoPWwOopPfFfEeFGriIafFhHjJGvnsSBCpPmMcIvVinNxTrRrKkRLlxpPKkXLzZwJjfCcrNnRjOotTJbPpEeSsHhKkQOoIiNAaTfFtSqQsEenYHhMmAZHhzepCngGkvVqJvVjQKSoOsTtamooODdOpPtTXNzFfDdBbaVNPpPDdSYyuYJjEeymGrBXvVFfolLueEJjUrRSseVKkvkKUuEyYOHkKWMgGpPzZcCSKkNnUuxXvieTAuUFmjJQJvVEpggGPelxbWwnNBHhVGtHhsEeNwWnKkNfFhccCCSsCcViICchHtuUDdTucCFfwWTfcCEehHZzseEqKRrdjJDfoFfdDOkKdNrngsSEWwLaAaAWwlemnNMdPMmOzZmMopBbbfFBQqacSdXxbBDsdDTzZtYlLTtuEYyeRrMqQmLNnnNlbtTBDrRRrnNRjJbtFfTiIFcCdDVvkAbAAadjJDaBVvBvVJUgIQqsSiGCccRrCogIwWMmgyYunNIiRkKWOowPprUuMUajJJvVwWjfFXxdDIaAlLQwWqikKjJUzZuHhvVjJejJQqiggDdbTtGqpiKUufIitIfFiVvVFfBOoMmYyaAxvNGgMmjJSsnVxXXfFbFklhHdDIyYTtijJLdDAzZaNkKIXxyYyYJlLjkKRrztTVvZPpKLLUtTuETtbBobBOeAOpPkzrRZmYyGgMAauUFfJsFsQqSmKOoXxQqkKkMmSaKkQqSCcjpsSmMwWPSsJSsvlIcWwCjJtTitsSTTtZzHiIuUhvwWmXxuUMgGoOAaykKbBQqXIixIDrRddDiVvnagGjGgRzWHRrhOofFRyNnyYyYWwKXxMmtzbBZTkuUFxXfftTYQqcCyJpPuVvJWOJjoIiiIARryhHUuYXGAaCcEeBFfbUuuGgUgAuUeEgdBYyyNnzwNneEQqWZSmMrRqQaNnsSFfJZLtTldErReKkDzxrFfgnNGLcClAnNXxoOsSTtBblYzzlIinNPqdDQyYXxAaRmMwaATtWrYrPphHrRKwkKWwRrhjmMJZBbzNntgGHZhHdjQqJVGgbhHSscChdZlLwjJXxIiZzrRRrkygGUuYufSsrcClNnYlLyLmzfFHyPNnpYrREencuKgWwiIGmlGgLbBXxeEfFfFvhfMmFguiAacYyeEtdDqGDxXdgmMdPwgTtGWiQpPJNnTtbBThHCEewWcdzZDMwiIWFfxkbBKEeFvVfRrYyXGsSizZIqgGoOIivYybcDdgGtmBNwWntVvmsBbHhSycxXCYBrBbRQqDdbgGyYFeiIAaKmMfFxXTtDdbBkLlrRTtrRHhgVvGnNsMjozcCpPhHBVCbteEQaArBbRWwFNyIijuUgGVGAlLfFabtTfSsNnSsSsfFPpKbBkzWXxwsSzZuUUAXxauZcsSBsSbCvVZkKaAkGglLzSsBbpSGgrRsmUYyZzurRYylLuUcxXQqQuUqCFPjJyJHLlhjFfmMkKQJGgoWRriIAYyaYiIvVnNyirLlCcukvVKTHhAqNniOxCcYyMmCePpQrRuHBbvQpaPbBpoORtTrarRfFAaXAaAZzxXaxABmMDdHhqkKnNQbPXFONnojJjKkBhGKksFqQkKfRrSgcWwKqTtQkjJCchWAapskKSvZzAhvLlnHhNxXVvVHTtuVWwvmWtTGgUZzshTthpvVPprzVBjfFRreZzyYPHhsSVvZVvrRBbzaMmYyAAaFZgGzSSssgeXxWwmcCuUXjtcCHhdDZuUzbLlIiZfBbFLlzWleELaAvylCcLlLYDdvVlKkLGXksSKLKkaTtbBAJjEmMeEsSeKVvkCtTNnFfgGFACcydkdDNnhTtdDGgUuHiIAzZzdHhJjDDUINnkDQlLyYAaSEjztTZJeqQKkIiEgGtwWTgjJkKGPsJjSvVYmMyRrpxmTlmCcLlqQIiGnbBNHhgyyYUlGgNAYyanYwWbNggbrTtDsSNdDrMkKRrxBbqMWwmQeEsStNnTeaxXAEgpPGfIiwWFXIbBibCcBWwxXgGkZzYyKyYONnZDdwWeEWlIiLZzcCqQFfvVnThHXxuSspfFmMPTKktTyiRrIPpDozZIiOoPMzfgGCwWwUuWcYymMyuURZVpPKkvzlumMURfFqDPplGggGDGgWmMzZwUuUudcCDKWwkdUhHTtufqLlQyYFLAzZdDrIiRfEyYhoOuUZirRKkfFstXiJjSeEsWwkqQoOrRKIBxEesCcWwSkCcKcCXYyLeElbolLOxRyYrVvdkKCcSstVvWwrROoQuvQqsSVmrRXxiIvVgTLBbltUuUupPzZSszpRrbBKIiknNuUgGXxqbuUBkKUhHmMuPUupQPzZpqWwHhGgRrPpQPZdRFfrDlwWUurMCcmRFfLPplLtTlQqxVpPOYyeBbeECuucGgnNObBbeKsSuUkEBRXdDTtxbAxXWwhISqsQqSmMQtTsuUGgNXkKxnivRuUrhVvKVgGvRrTpoOPeEBIibJCcRlLcCrjYcjJpuUPXrRbBWwgqrRQfTtFuNnUgGbBOoHsSCUujJHhsSceEnNuilLyYIwCcWFfRrrRfFjJsSYykKlKkLLluXxhHuUYyapPAXVMgGmmHhMdDuUOiIxPEepyYHxJjAMmZzaieEIESuUUuseXbMmFfQwWqwWcCUejJOjJWIiwoJvzZWwVxQLliINqQbBwWnqXsEeSOoUuBgPpGuUpuUOokKvhMmlWwmlLJyYjADoteETOTtdZzvVSsMmHhuMmUBbzZahHYyYyPbsSJjFsSZJjzGVOoRrvcCKEekUoOAaldoOFfjJDWxXjJxCjAaJYQqUuyciOoIQQqeEBVvbqBbhbyYBksSbBOokKxXwFmLlsSvVziIUuZMixEwWeXqpMmgcCGXxPAyYLmMlxAUuPpazzZEuUvVeZKkFfnTtXxNdDfTtPOouKGgmMBpPbkFPJjpMsHhVxXlLvjRrWRXxCHlCccCsSjJLyGgKLlkaAVdDPoOSsxHheEgqQYyGQqzZjrRuwnNzZkWwKkTHhqQqQvaAEzLlZXZzUyYinZzNzKsSjcCMFaAzFfZxyYXfUEAaUukKxXejJQqZzmFfYtTiIhyKkTDdSmMsPpTtSDoOdWwcCwWpPiXxxXIPpdHBbhqQIfFEQqLleiMmDVvFEeaCcEeEjfFJqQzTtwWarRxlLUuXALnNlVvbuLlUxXkRrESsVcCGgvOqQgnNGIsSeEeXxEiqxPpXxSsGPpgSsXSsQAabdzZDXrRRrfFSsFflvVfHeEhtvVaRrSsDUudATRXxHhilLrYlIiLlLyYDmMdQqYsSpUuRrKsSRMmDtGgTWnNoOwRSsLlSKksTPwWIhHDdiyYsSCzZcXPpUPYyptTPpWwtAaqQWwZkKrRgOoGOIEeLqNnQlFfYjJyiXxRroDdzhAPpaeEqQHnNOyYSsbqHHhhAKkaQMADdaOotyYTrRSOoeExXpPsGGPpgBLlbIiMkpPVvKzZoOvVQqkRbBrUuKkKKLlmYyVjJvMXxmczwUunNGtTqQgvWwVZzdDSsFpPrAMeEmPpCcfeEFaAKkcDIwWidCqiCcIQaTtARrafFgAEeaGKzIiQQqyYqogGOZbTHhpPexFfjJLBvVPpaLlAblkMmWwVvWwImDaqQAgGzuUnNZdpPXxtTdDxXvCcVVdDBaAdBUuRGgEeKkrbDbrRSyYsoOQqrAaMSIiMmsxXrTYybBkKiIwJjWtXdZzDdDjJbGTFjOofgGeEHSsypPrJjgLvVlGhoOEVXxvEdGgKkwwWWLlgGoHeEvCcVdqQAaDVZzGgZzoAaOvRrOohOIGgihIirRFfpaAPQLlYyqcCZjJEezIJjWwvVqCcQETtFfeMfFjyYgGrRRrJiIwaGglLhHAnNmhHKkCcqQMUuhPkbBDdKhkKujfFjdDJWwvVmrRgsSPpzbUmMnNCfMmFSszljJDdHURrLlYyuhJsSjmZzKzwWZaAMNvVSsIinyYePfFdDEeXLlxDdoAaUUuCcQqcCCVvTbBtcVvrRrcedboOItTiBNnaAOcCGgUuOqpyzsZzSZDUTtuLCcldPiKkpPZFfhHzMmUvVuxsSgGyYzJjZDdsSKaAkKIikkupPmMoOHrZzRnNhlfNnXxdlLDIiFmxQqeEXUuWpyYtIdDiTPPpAuGgBbUVvwOohMZzrRmHRQqzeEZbOopCYyIicNQxXNnmMheYyHhDdLlcsiISpCVvtTqNnQrTtRcvbBpWwmMeYyEBbvwdDoOWwzmszZdDqQrRpvvYycsxXDdSCRrlLuUVqQgAPpDdaqQTPpBzpoOPZKkbCcbBttTGCRsSrOouUAaCcXxQqtCcVwWvTZzJjyYCXxcDdBblLrRBzPpZaJjHLlCLlmMcvVoOLhwWGggGXxXxQqDdxXfFLlTtkUaAuawWAKmfFuUnNMEehHtYNnLloOyZzAakKdWCQLlfFqcCsSLWXxCcPgGYLwWlJmMIiSsjyJjxrRMmGgsVvSDdXgZzDdRfFrDlLdGmMEHWwhjyWwYkKeEKsSyxcCjmMJSsBbXOomaAuyYUJBbjMoQHRrhfFPrRKkgtTsSGgGPUupqYyltAaTgtTGzZLTuUdDtkbBLQqlSsKDdQQHhMmfFfFvgGVfYyYPpgFfMJjhHXxmGJpPOSsCWwqHhQcBbEfFePpAfKkCcYySshHgGQaAYyRfFmXxvvVVSjJTeUuEtsoOeEdAaiIDhHMrRrOwWoWwTDdDqQdTmDpPRrGgdYytTjJrRdDEqQAaIMOdDvVTWwRrtKKkOokvVBbKkvVtyYkGlLgKjJkKcPpNnbCczZBfFFfdDayYSsRrUyYkKoOuUuCmMuUUuAiIYyaBbWUuQqQqQGgqoOrRUNndDrRuTNntTsAaWwStYyfbBqQCrRcMmBxsSbBIiXPAabYyZBjJbPwHhSskSsTtecCErAaRKsSjkKJVvLSsipPICXvIiVNnNnskKSYwWyHPphKkwtMmTIWwiDnNdKkyYRrBbgGyYNTtRrQQqlgswyYUuuUuUDqQdWyYKkGjJgAkKavpEpzZPeHNnbBhPAkKaYyzZnhHNFhHfmrRXLloOwUucPpnNCWGgGgNnxWwIiAatTpPAanNZzmSsMQlIizZitTILqdDzZbBJVvrRKhHXxkBycqQCiIuUAaDdHhYnNjJOojIikKttTHhcCXxcCaAORwWyYcaAhHCKfFMmkmAaSsMKDUuiIuUdXxgGwWUuTtkaAVvJNnQGgAarRUuqjCPpcMmNmqEeQDOodWwMOonbBUmazZrVvRAqVvQpPkKyYaAtrOArCcRTtaoXxRLNnxXdiGPpSsXZzxgQqIsbBSvVNnrRizVvZICjJjfFJpPcfXxvdFfvVDasSoOqQyOhHoTgGqQUuSsJcmMCjtKkMnoOIiSnNcXdDxCUuEezZsNZzIimoOTGCpxXiIXxPxDdXkKTtgGAUuaWNnwPpcjJrRKkMmRrGgcCalLBofGgzZyqQiIYFDLlwfnNFoDdOWhPpHvVBbHhgRrgzZEeGvZzVcRSsrCcAaeEkqQKWkKXxwEeXjYyJKiIQqoOdEePpovyYVODDwWdkpPcvVgGnNCDdRrxrojJOignNGUuoOcCkmMeECcKVvLjJLllIIiRtiIzZoOZzzZPpKkTQqhiayYAICcHTxYnNqLlQBDdDGgdbndDNSsuUyJdDjlLyZzUEtyYbqQBTenNJjAauoNnJjjJnHFfhtTRrNOxsiIoXxxXZFAafwWzJjOOoJoOjSyYvqQVDLlfFvAaCCbBXPphHxxXHhCccwJjrReCcwKDnNdkWwWmAaWwMSSQqsYyjJsgGbBGgGgRrUuxXfFoFdDfOlLpsqZzQlLSkuvVsmMSLlLlSsxuUMmXpPnNyYRAtTZoOzvVvVPJjpadDGpkKPAnNILliaRrNnavfFzZVwWOMDdmpPoOlLDdiIoALiItpPAxAaXOoXCcxipEePBbIvVuKkRrUiIrEsSemFfTMmkWwIiMWwmPpsBqQRrbFfBzZHilNCcnjGqQgJPpHhnAMmaNLeEsSGgIpkbBzZKEePvSsVuUheEjnNyYWEeBdDDdbpPNntTSshHiIYGgzZVvNYHhynVIVvtbBHMBbmNnhTPpyYigWwGMmRrTBbtFNYynPpkPWwpKrRXxIQqbxXWwIxXPpCcqQZzHhFfiwWJjuUHYympPMTthLlIVxXnNvaRrhHfFWwGgGGsSgyYUuWpqYyQVvCcYyPXxwgyYzlLZeywWYYyljJTYytKkrRVYyqQIaAfFEeoONnLlskKpPhHShHCcQqosSFOoepPEOIiLlosSsVzuUZvSmaAHZzhlzZLMXxfMQqmTtPpzTtlLZRCcbBJtTQqBnZzNRrsePpEbBIiSWzZwqQVvMtToOWwVDdEeJjhHjXxJmMhHRKkteEbrRKTtxfFKEekiIOokKXxXPnNtTZaAuUXcCxRfFpPkKrRrmMukKUpZzjvoOoOLqaGgWwAQlDdmMvVtJjmMQqEsSeTCcsSVOoiIgGXxChkKKkHyYcyKkZzQqBbVcCvdDlXIVvisSjJxWwDdrRhQqHGYyyYEyGgYeMmWcBbGghSCcjJJjsVvAaHwWkKMmCYlYyaFfALiQqItTyYdUuDIiycauUArRrkKRCmqQMGggpPuUHhGTykKSsYXWwxtRXxsDjJdSKJjnNkhMaAmGgUumFijJhHIfBsdDSbadiIiIDMmPyYpVjSsJvsgTtGSafFAAzTYytSKksCcfeEFNfFCcVvzZnNAIiovVSsOagGzZNnnmMxqQXyBZzyOoYbYJjFdDfZHhAqQXdDxfFyYkKayYKkYyPTtnNphHDdGZAaAaDFEefJjdiIzBbMfZzFEjwJjWpnPpNxXdDPJYpPyemADdMmFLlflDwWdUuygGYvbBrnNRDsSQqGgKkpyYPdOIiQqovCcfFpPURruTOowWtVFfBYybsNpPkKnNJwWjtTtTfFWwFYaAgDdGoZzqQeEouUiDdkuAaxFfXUKIBbGgOFfhHYAaMmnNdyYFfDAazZoOFZZzzvuUlLVvVlLTtfoOlzZWwaiIHvHheERKkrCcsSSskKrxXRhwRrWHxduUDXTCctVyAazXxUxXgGuXxvVbBPpcCZrweEWEeRHhYyYSUusyYPpEerWwwWROasSAGFfiIgoDdjLlJhwyYWrRAaHtBqRrXxQIWbBIxXMmiwcCerREiaAaAyDdSseEkKCuqQVvEelLUhHclLPxXppxXHhPiIVCcvfFuUYoORgGeEtTrSBbjJWwWDuUdDdaBbcCAIiwGgntqQTNZmRrzZMzHhhTtHqQFmMvVfYyqQjJlLaAwWiSBbEeLBblbBTaBbAtfFGgsIAaDpPdNnDipEePmEeMRlLaAriIUiUuILlsSsSfqQjJFYzZyhHgGLNnFflrRWwBHhUuxSsGgXGgdDmYMmMmyMFSDVvdswQYyqWzTuUNntZOEdDHwWTthgGGSxXRrxXeELlsrRiJFfcCjjJeEPpISDdZsSzCcqMmQyvVzZYNsMmSnkOXxfAaUAHhOoauFfCRrrRcxXKkomMgGiEeItTPFfpcCEJmmmMGZzgXxjJmMsSBbMMjJjtvVVoOvYyHqxXPFfSsbinmMNInNIibBRrtTcCBbnNBLldiIYvebBEVSsyKkgGimMIrRmKjLlXxXxCcUucCyZIAaizuUYNXxHDdtThgRrAaSsGRraAjJzZbBdFfDIiWcCVBbvCcwFfAagLsSGgQeEqlxXdRrDEetTbBRDkKdGdDgrzZbBaApPDdGeEgebBPpCcESOoIOonNiTtJSsjMULLbKkBBbllCJjtoFyYfOTsyYsSSYiIyZzcMmdDdDvVuUeEuUeZzDeEdEFSwWmMsUiIWwlLIikgGKHhufFSfFjnnNNRrnNYyTtEeyaAYvVRsGgpPgGiISrEiIeJlLlLXxsTNFfntQAkKaqwWfeKkihHIbrRvVBzjBbJZAaeIiLlEiCcBBbbIGhiIHgKkBgGbtCAtTaUUuCcHdDhuvXxVuUcMmTLkhHKCoOeEMmKkHhHHhutTiIUhdsSuswWPAiIaphHPpCcSGgmMUqQHhbBWXYyUuyYiIxdDdfFyYDHhOoHuUGBbghwWnNKkZzwkKdDRreIiEFfNnCcHhDEzZaDyxXYGJjgHhUudXxEemHUuhcqQwWZjkKJzCMAEetNrRnTCclJYPpyZzpPUuKkewyYWyYrREbBjEkyYKeLVLRreElEewWVvuUkKCcQqvmMjvVmqQgWoOaAwGMSscpPwWCEqQZPpvNzZnbBZzAtTaVsSzZRrzcCZLlWwBZoJjYytTJPpeEbBBbabBAnNSsjFflLCsZzScDdrRIiUkAaJjKusMmdCcDSBNnzZZPpOozbzZHhiIPokKOkdDzZKSsrPpRTtpYycshHfQqFDdSVtTYmMywWyYzZuUUuHhleELaAxXvpPCDdPuUpVqWwbBKkQXxvOJTtMIimjXgGsdDmMSJjxILliNOsSofFnYAEeaLlyCDqpPQVvkyYKdPpQIiAaAaKSsjJlLUgGukzkKnNZCkKcqVvGgGCqQcyJjqQOSsRRrrMZzmpJjPaPpADdoYkKgJjceuJjDdUSdDeEscmMRrCPpxXtPpTlRrLxXEKzZyqQYkqQhdDHxXFfdUuDaxXAbeEGgDdgjJnKkmMNnNBbxXzZPJjhHpeEJJlLDdjjRrdWwDXlLxDddYyDuEeUlLMtTmGzZxrRpPOmIiMLlibVvBIoXpINniuaLlAQoOQqqaASsPpaAahHALeEYytTlUJjCRrciIVvPmMjJELlewqQWXxXxPGgpuULljJLkRBbuUroOKWvokKrROfFOoVqQwPplQqwWwWYmMynHhNDdgyYzZGNVvSIiLlQqOoDsSjJkKdbcCHhBszZmLljJMQqUunOoNmMnEeHhMTIitTtpPmEeTLlMdDoOFfmGgSxXCcsBbtXUugGxnNpqQvVKwWSrROoXxsRgpPgGuUAaGbyYpPFfwWPpBWwRrrQqUutrRwwVvJjWWBvVpPbSsSNnOosfFNnDdMmXBbpbBYyKkPxhHWwTlRnNroCcOLYyKdDkSsDdkDdPeJjGgfqQFEYyexXxXirRISssxXSqQhHxXPDdDdgGcCnNJjLliIjLlJpVtTvCcHhTfFDdQLlqZzYsSytEMmo