From 67c0cbf57a89e0abdfff0f9fac350cacd1d692db Mon Sep 17 00:00:00 2001 From: Colin Halseth Date: Fri, 19 Jul 2024 17:21:43 -0700 Subject: [PATCH] Added playback controls; persist options --- Gameboy.Player.Godot/LcdColorTheme.cs | 18 ++ .../Prefabs/GodotBoy/BorderContainer.tres | 4 + .../Prefabs/GodotBoy/GodotBoy.cs | 60 ++-- .../Prefabs/GodotBoy/GodotBoy.tscn | 234 +++++++++++++-- .../Prefabs/GodotBoy/Options.cs | 73 +++++ .../Prefabs/GodotBoy/Screen.cs | 55 +++- .../Prefabs/GodotBoy/UI/controller.svg | 278 ++++++++++++++++++ .../Prefabs/GodotBoy/UI/controller.svg.import | 37 +++ .../Prefabs/GodotBoy/UI/default_skin.svg | 64 +--- .../GodotBoy/UI/default_skin_header.svg | 70 +++++ .../UI/default_skin_header.svg.import | 37 +++ .../Prefabs/GodotBoy/UI/default_skin_logo.svg | 69 +++++ .../GodotBoy/UI/default_skin_logo.svg.import | 37 +++ .../GodotBoy/UI/default_skin_speaker.svg | 111 +++++++ .../UI/default_skin_speaker.svg.import | 37 +++ .../Prefabs/GodotBoy/UI/layout_screen.svg | 98 +++--- .../Prefabs/GodotBoy/UI/reload.png | Bin 99812 -> 59908 bytes .../Prefabs/GodotBoy/UI/transparent.png | Bin 0 -> 8041 bytes .../GodotBoy/UI/transparent.png.import | 34 +++ .../Prefabs/KeyRebind/Keybind.cs | 25 ++ 20 files changed, 1176 insertions(+), 165 deletions(-) create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/BorderContainer.tres create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/Options.cs create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/controller.svg create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/controller.svg.import create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_header.svg create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_header.svg.import create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_logo.svg create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_logo.svg.import create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_speaker.svg create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_speaker.svg.import create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/transparent.png create mode 100644 Gameboy.Player.Godot/Prefabs/GodotBoy/UI/transparent.png.import diff --git a/Gameboy.Player.Godot/LcdColorTheme.cs b/Gameboy.Player.Godot/LcdColorTheme.cs index 8081f8f..ac093ac 100644 --- a/Gameboy.Player.Godot/LcdColorTheme.cs +++ b/Gameboy.Player.Godot/LcdColorTheme.cs @@ -96,5 +96,23 @@ public class LcdColorTheme { Obj0Black = new Color("004A00"), Obj1Black = new Color("000000"), }, + new LcdColorTheme { + Name = "Super Donkey Kong", + BgWhite = new Color("FFFF9C"), + Obj0White = new Color("FFC542"), + Obj1White = new Color("FFFFFF"), + + BgLightGrey = new Color("94B5FF"), + Obj0LightGrey = new Color("FFD600"), + Obj1LightGrey = new Color("FF8484"), + + BgDarkGrey = new Color("639473"), + Obj0DarkGrey = new Color("943A00"), + Obj1DarkGrey = new Color("943A3A"), + + BgBlack = new Color("003A3A"), + Obj0Black = new Color("4A0000"), + Obj1Black = new Color("000000"), + }, }; } \ No newline at end of file diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/BorderContainer.tres b/Gameboy.Player.Godot/Prefabs/GodotBoy/BorderContainer.tres new file mode 100644 index 0000000..3e3c735 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/BorderContainer.tres @@ -0,0 +1,4 @@ +[gd_resource type="Theme" format=3 uid="uid://chyyqvccs2as3"] + +[resource] +VBoxContainer/constants/separation = 4 diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/GodotBoy.cs b/Gameboy.Player.Godot/Prefabs/GodotBoy/GodotBoy.cs index fd0caab..32db598 100644 --- a/Gameboy.Player.Godot/Prefabs/GodotBoy/GodotBoy.cs +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/GodotBoy.cs @@ -15,37 +15,18 @@ public enum ControlState { public bool IsPlaying => State == ControlState.Playing; [Export] public Control CartControl; + [Export] public Control PlaybackControl; [Export] public OptionButton SaveSlot; [Export] public OnscreenControls[] OnscreenControls; public Screen Screen {get; private set;} public Gameboy Console {get; init;} = new Gameboy(); - private LcdBitmap intro; - private LcdBitmap blank; - // Called when the node enters the scene tree for the first time. public override void _Ready() { if (OnscreenControls is null) { OnscreenControls = new OnscreenControls[0]; } - var intro = new LcdBitmap(Gpu.LCD_WIDTH, Gpu.LCD_HEIGHT); - this.intro = intro; - intro.Fill(ColourPallet.BackgroundDark); - - blank = new LcdBitmap(Gpu.LCD_WIDTH, Gpu.LCD_HEIGHT); - blank.Fill(ColourPallet.BackgroundDark); - - var text = new LcdBitmap[]{ LcdBitmap.StampB, LcdBitmap.StampL, LcdBitmap.StampA, LcdBitmap.StampZ, LcdBitmap.StampO, LcdBitmap.StampR, LcdBitmap.StampB, LcdBitmap.StampO, LcdBitmap.StampY }.Select(stamp => stamp.Invert().Enlarge(4)).ToArray(); - var width = text.Select(stamp => stamp.Width + 1).Sum(); - var height = text.Select(stamp => stamp.Height).Max(); - - var startX = (intro.Width / 2) - (width / 2); - var startY = (intro.Height / 2) - (height / 2); - foreach (var stamp in text) { - intro.Stamp(startX, startY, stamp); - startX += stamp.Width + 1; - } this.Screen = this.GetNode("Screen Layouts"); const int DesktopLayout = 0; @@ -59,15 +40,23 @@ string s when s.Contains("ios") => SkinnedLayout, _ => DesktopLayout } }; - this.Screen.Redraw(intro); } // Called every frame. 'delta' is the elapsed time since the previous frame. public override void _Process(double delta) { - if (State == ControlState.Stopped) { - CartControl.Visible = true; - } else { - CartControl.Visible = false; + if (CartControl is not null) { + if (State == ControlState.Stopped) { + CartControl.Visible = true; + } else { + CartControl.Visible = false; + } + } + if (PlaybackControl is not null) { + if (State == ControlState.Stopped) { + PlaybackControl.Visible = false; + } else { + PlaybackControl.Visible = true; + } } if (State == ControlState.Playing) { @@ -155,9 +144,7 @@ public void Start() { } } - if (blank is not null) { - this.Screen.Redraw(blank); - } + this.Screen.Blank(); this.State = ControlState.Playing; } else { GD.PushError("No cartridge loaded"); @@ -178,6 +165,14 @@ public void Pause() { } } + public void TogglePause() { + if (State == ControlState.Playing) { + State = ControlState.Paused; + } else if (State == ControlState.Paused) { + State = ControlState.Playing; + } + } + public void Stop() { if (this.Console is not null && this.Console.IsCartridgeLoaded()) { this.State = ControlState.Stopped; @@ -189,10 +184,13 @@ public void Stop() { } } this.Console.Reset(); - if (intro is not null) { - this.Screen.Redraw(intro); - } + this.Screen.ShowIntro(); } } + public void Restart() { + Stop(); + Play(); + } + } diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/GodotBoy.tscn b/Gameboy.Player.Godot/Prefabs/GodotBoy/GodotBoy.tscn index bfd9f71..52d5224 100644 --- a/Gameboy.Player.Godot/Prefabs/GodotBoy/GodotBoy.tscn +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/GodotBoy.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=39 format=3 uid="uid://lagkciw3arws"] +[gd_scene load_steps=48 format=3 uid="uid://lagkciw3arws"] [ext_resource type="Script" path="res://Prefabs/GodotBoy/GodotBoy.cs" id="1_807qv"] [ext_resource type="Texture2D" uid="uid://dfkwdfgk0dp8n" path="res://icon.svg" id="1_fcyi5"] [ext_resource type="Script" path="res://Prefabs/GodotBoy/Screen.cs" id="2_36eiy"] [ext_resource type="PackedScene" uid="uid://bcvv8417hthjf" path="res://Prefabs/OnscreenControls/Joystick.tscn" id="4_drwt1"] +[ext_resource type="Texture2D" uid="uid://c1grnn67kto6b" path="res://Prefabs/GodotBoy/UI/transparent.png" id="4_yyevs"] [ext_resource type="Texture2D" uid="uid://dubx3mrt06u5p" path="res://Prefabs/GodotBoy/UI/switch_button_a_outline.png" id="5_5ygii"] [ext_resource type="Texture2D" uid="uid://bw2mb47r4ud7" path="res://Prefabs/GodotBoy/UI/switch_button_a.png" id="6_883pa"] [ext_resource type="Texture2D" uid="uid://it7a6pssev4k" path="res://Prefabs/GodotBoy/UI/switch_button_b_outline.png" id="7_o3yvv"] @@ -18,18 +19,26 @@ [ext_resource type="Script" path="res://Prefabs/OnscreenControls/OnscreenControls.cs" id="16_ffynx"] [ext_resource type="Texture2D" uid="uid://trhljjy16es1" path="res://Prefabs/GodotBoy/UI/layout_screen.svg" id="16_s0175"] [ext_resource type="Texture2D" uid="uid://dma6vgdj4ntir" path="res://Prefabs/GodotBoy/UI/layout_screen_control.svg" id="17_arug4"] +[ext_resource type="Texture2D" uid="uid://bqimngayey7nv" path="res://Prefabs/GodotBoy/UI/default_skin_header.svg" id="17_var3s"] +[ext_resource type="Script" path="res://Prefabs/GodotBoy/Options.cs" id="17_yhmc5"] +[ext_resource type="Texture2D" uid="uid://gixtpgxdg6fd" path="res://Prefabs/GodotBoy/UI/default_skin_logo.svg" id="18_bpf3f"] [ext_resource type="Texture2D" uid="uid://5ynu1mc2abvi" path="res://Prefabs/GodotBoy/UI/layout_skin.svg" id="18_sw6ge"] +[ext_resource type="Texture2D" uid="uid://dye1lrylf76q3" path="res://Prefabs/GodotBoy/UI/default_skin_speaker.svg" id="19_2f425"] [ext_resource type="Theme" uid="uid://dcduu766csudy" path="res://Theme.tres" id="20_0wny8"] [ext_resource type="PackedScene" uid="uid://c51yw0q5xqybk" path="res://Prefabs/KeyRebind/keybind.tscn" id="21_1cq1c"] [ext_resource type="PackedScene" uid="uid://7wdw54d0sdlj" path="res://Prefabs/ThemePicker/ThemePicker.tscn" id="21_xltfd"] [ext_resource type="PackedScene" uid="uid://t7khq15qfjuw" path="res://Debuggers/CartInfoDebug.tscn" id="21_y5t5s"] [ext_resource type="PackedScene" uid="uid://b5psa1c0pvkya" path="res://Debuggers/PaletteDebugger.tscn" id="22_e37a5"] +[ext_resource type="Texture2D" uid="uid://dsfu4d554womr" path="res://Prefabs/GodotBoy/UI/controller.svg" id="22_wkh71"] [ext_resource type="PackedScene" uid="uid://yis4daekext1" path="res://Debuggers/Sprite Debugger.tscn" id="23_01ypf"] [ext_resource type="PackedScene" uid="uid://ca3d3pani0rrj" path="res://Debuggers/Tile Debugger.tscn" id="24_cepwr"] [ext_resource type="PackedScene" uid="uid://2uytp7r2ouod" path="res://Debuggers/Map Debugger.tscn" id="25_i7c8m"] [ext_resource type="PackedScene" uid="uid://cs764ed0jafqu" path="res://Debuggers/Disassembler.tscn" id="26_1mdrh"] [ext_resource type="Texture2D" uid="uid://cip0keh15srys" path="res://Prefabs/GodotBoy/UI/cart.png" id="28_f1kbb"] [ext_resource type="Texture2D" uid="uid://byxxvldruom6j" path="res://Prefabs/GodotBoy/UI/play.png" id="29_f4os1"] +[ext_resource type="Texture2D" uid="uid://divrqb47wvwvt" path="res://Prefabs/GodotBoy/UI/reload.png" id="32_agcku"] +[ext_resource type="Texture2D" uid="uid://cm332so38crqs" path="res://Prefabs/GodotBoy/UI/pause.png" id="32_eqyyb"] +[ext_resource type="Texture2D" uid="uid://d0dpxbrvr2bo7" path="res://Prefabs/GodotBoy/UI/stop.png" id="32_qkn52"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_o72x6"] @@ -58,7 +67,7 @@ unicode = 105 [sub_resource type="Shortcut" id="Shortcut_2ct1q"] events = [SubResource("InputEventKey_mhgt7"), SubResource("InputEventKey_wrprd")] -[node name="GodotBoy" type="Control" node_paths=PackedStringArray("CartControl", "SaveSlot", "OnscreenControls")] +[node name="GodotBoy" type="Control" node_paths=PackedStringArray("CartControl", "PlaybackControl", "SaveSlot", "OnscreenControls")] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -67,6 +76,7 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_807qv") CartControl = NodePath("Loader") +PlaybackControl = NodePath("Playback") SaveSlot = NodePath("Loader/Save Slot") OnscreenControls = [NodePath("Screen Layouts/Onscreen Controls/Control"), NodePath("Screen Layouts/Skinned Controls/Control")] @@ -104,6 +114,22 @@ texture = ExtResource("1_fcyi5") expand_mode = 1 stretch_mode = 5 +[node name="Settings" type="TextureButton" parent="Screen Layouts/Screen Only"] +custom_minimum_size = Vector2(75, 75) +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -75.0 +offset_bottom = 75.0 +grow_horizontal = 0 +focus_mode = 0 +texture_normal = ExtResource("4_yyevs") +texture_pressed = ExtResource("10_um660") +texture_hover = ExtResource("9_t6atn") +ignore_texture_size = true +stretch_mode = 5 + [node name="Onscreen Controls" type="Control" parent="Screen Layouts"] visible = false layout_mode = 2 @@ -272,6 +298,43 @@ grow_vertical = 2 texture = ExtResource("15_43iv6") expand_mode = 1 +[node name="Skin Header" type="TextureRect" parent="Screen Layouts/Skinned Controls/Skin"] +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 41.0 +grow_horizontal = 2 +texture = ExtResource("17_var3s") +expand_mode = 1 + +[node name="Skin Logo" type="TextureRect" parent="Screen Layouts/Skinned Controls/Skin/Skin Header"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("18_bpf3f") +expand_mode = 1 +stretch_mode = 5 + +[node name="Skin Speaker" type="TextureRect" parent="Screen Layouts/Skinned Controls/Skin"] +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -108.0 +offset_top = -95.0 +offset_right = -33.0 +offset_bottom = -24.0 +grow_horizontal = 0 +grow_vertical = 0 +texture = ExtResource("19_2f425") +expand_mode = 1 +stretch_mode = 5 + [node name="Control" type="Control" parent="Screen Layouts/Skinned Controls" node_paths=PackedStringArray("Arrows", "A", "B", "Select", "Start")] layout_mode = 1 anchor_top = 0.501 @@ -282,13 +345,21 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("16_ffynx") Arrows = NodePath("Joystick") -A = NodePath("Buttons/A") -B = NodePath("Buttons/B") +A = NodePath("Buttons/Face/A") +B = NodePath("Buttons/Face/B") Select = NodePath("Buttons/Select") Start = NodePath("Buttons/Start") [node name="Joystick" parent="Screen Layouts/Skinned Controls/Control" instance=ExtResource("4_drwt1")] layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_left = 42.0 +offset_top = -100.0 +offset_right = 242.0 +offset_bottom = 100.0 +grow_vertical = 2 [node name="Buttons" type="Control" parent="Screen Layouts/Skinned Controls/Control"] texture_filter = 1 @@ -300,7 +371,20 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 -[node name="A" type="TextureButton" parent="Screen Layouts/Skinned Controls/Control/Buttons"] +[node name="Face" type="Control" parent="Screen Layouts/Skinned Controls/Control/Buttons"] +layout_mode = 1 +anchors_preset = 6 +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = -40.0 +offset_top = -20.0 +offset_bottom = 20.0 +grow_horizontal = 0 +grow_vertical = 2 + +[node name="A" type="TextureButton" parent="Screen Layouts/Skinned Controls/Control/Buttons/Face"] custom_minimum_size = Vector2(75, 75) layout_mode = 1 anchors_preset = 3 @@ -309,9 +393,9 @@ anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 offset_left = -116.0 -offset_top = -189.0 +offset_top = -82.2655 offset_right = -41.0 -offset_bottom = -114.0 +offset_bottom = -7.26547 grow_horizontal = 0 grow_vertical = 0 focus_mode = 0 @@ -320,7 +404,7 @@ texture_pressed = ExtResource("6_883pa") ignore_texture_size = true stretch_mode = 5 -[node name="B" type="TextureButton" parent="Screen Layouts/Skinned Controls/Control/Buttons"] +[node name="B" type="TextureButton" parent="Screen Layouts/Skinned Controls/Control/Buttons/Face"] custom_minimum_size = Vector2(75, 75) layout_mode = 1 anchors_preset = 3 @@ -328,10 +412,10 @@ anchor_left = 1.0 anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = -193.0 -offset_top = -106.0 -offset_right = -118.0 -offset_bottom = -31.0 +offset_left = -161.0 +offset_top = -4.26547 +offset_right = -86.0 +offset_bottom = 70.7345 grow_horizontal = 0 grow_vertical = 0 focus_mode = 0 @@ -349,9 +433,9 @@ anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 offset_left = -81.5 -offset_top = -99.0 +offset_top = -89.0 offset_right = -6.5 -offset_bottom = -24.0 +offset_bottom = -14.0 grow_horizontal = 2 grow_vertical = 0 focus_mode = 0 @@ -369,9 +453,9 @@ anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 offset_left = 3.5 -offset_top = -100.0 +offset_top = -90.0 offset_right = 78.5 -offset_bottom = -25.0 +offset_bottom = -15.0 grow_horizontal = 2 grow_vertical = 0 focus_mode = 0 @@ -383,17 +467,14 @@ stretch_mode = 5 [node name="Settings" type="TextureButton" parent="Screen Layouts/Skinned Controls/Control/Buttons"] custom_minimum_size = Vector2(75, 75) layout_mode = 1 -anchors_preset = 8 +anchors_preset = 5 anchor_left = 0.5 -anchor_top = 0.5 anchor_right = 0.5 -anchor_bottom = 0.5 offset_left = -37.5 -offset_top = -37.5 +offset_top = 47.0 offset_right = 37.5 -offset_bottom = 37.5 +offset_bottom = 122.0 grow_horizontal = 2 -grow_vertical = 2 focus_mode = 0 texture_normal = ExtResource("9_t6atn") texture_pressed = ExtResource("10_um660") @@ -419,13 +500,17 @@ focus_mode = 0 mouse_filter = 2 shortcut = SubResource("Shortcut_54dsp") -[node name="Options" type="Window" parent="."] +[node name="Options" type="Window" parent="." node_paths=PackedStringArray("DisplayColourPicker", "SkinColourPicker", "KeyBindings")] title = "Options" initial_position = 2 size = Vector2i(640, 480) visible = false exclusive = true popup_window = true +script = ExtResource("17_yhmc5") +DisplayColourPicker = NodePath("MarginContainer/ScrollContainer/ScrollContents/Colours/Themes/OptionButton") +SkinColourPicker = NodePath("MarginContainer/ScrollContainer/ScrollContents/Colours/ColorRect") +KeyBindings = [NodePath("MarginContainer/ScrollContainer/ScrollContents/Keybinds/Keybind"), NodePath("MarginContainer/ScrollContainer/ScrollContents/Keybinds/Keybind2"), NodePath("MarginContainer/ScrollContainer/ScrollContents/Keybinds/Keybind3"), NodePath("MarginContainer/ScrollContainer/ScrollContents/Keybinds/Keybind4"), NodePath("MarginContainer/ScrollContainer/ScrollContents/Keybinds/Keybind5"), NodePath("MarginContainer/ScrollContainer/ScrollContents/Keybinds/Keybind6"), NodePath("MarginContainer/ScrollContainer/ScrollContents/Keybinds/Keybind7"), NodePath("MarginContainer/ScrollContainer/ScrollContents/Keybinds/Keybind8")] [node name="MarginContainer" type="MarginContainer" parent="Options"] anchors_preset = 15 @@ -443,14 +528,16 @@ size_flags_vertical = 3 [node name="ScrollContents" type="VBoxContainer" parent="Options/MarginContainer/ScrollContainer"] layout_mode = 2 +size_flags_horizontal = 3 theme_override_constants/separation = 24 -[node name="Display" type="VBoxContainer" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] +[node name="Label" type="Label" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] layout_mode = 2 +text = "Layout" +horizontal_alignment = 1 -[node name="Label" type="Label" parent="Options/MarginContainer/ScrollContainer/ScrollContents/Display"] +[node name="Display" type="VBoxContainer" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] layout_mode = 2 -text = "Layout" [node name="GridContainer" type="GridContainer" parent="Options/MarginContainer/ScrollContainer/ScrollContents/Display"] layout_mode = 2 @@ -471,6 +558,14 @@ layout_mode = 2 tooltip_text = "Faux device with onscreen controls" texture_normal = ExtResource("18_sw6ge") +[node name="HSeparator" type="HSeparator" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] +layout_mode = 2 + +[node name="Label2" type="Label" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] +layout_mode = 2 +text = "Theme" +horizontal_alignment = 1 + [node name="Colours" type="VBoxContainer" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] layout_mode = 2 @@ -497,6 +592,14 @@ layout_mode = 2 color = Color(0.803922, 0.392157, 0.129412, 1) edit_alpha = false +[node name="HSeparator2" type="HSeparator" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] +layout_mode = 2 + +[node name="Label3" type="Label" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] +layout_mode = 2 +text = "Controls" +horizontal_alignment = 1 + [node name="Keybinds" type="VBoxContainer" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] layout_mode = 2 @@ -510,7 +613,7 @@ layout_mode = 2 [node name="Label" type="Label" parent="Options/MarginContainer/ScrollContainer/ScrollContents/Keybinds/Heading"] custom_minimum_size = Vector2(128, 0) layout_mode = 2 -text = "Key" +text = "Action Name" vertical_alignment = 1 text_overrun_behavior = 3 @@ -556,12 +659,29 @@ ActionName = "button_start" layout_mode = 2 ActionName = "button_select" -[node name="Developer" type="VBoxContainer" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] +[node name="Controller" type="VBoxContainer" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Options/MarginContainer/ScrollContainer/ScrollContents/Controller"] +layout_mode = 2 +text = "Controller" + +[node name="TextureRect" type="TextureRect" parent="Options/MarginContainer/ScrollContainer/ScrollContents/Controller"] +layout_mode = 2 +texture = ExtResource("22_wkh71") +expand_mode = 5 +stretch_mode = 5 + +[node name="HSeparator3" type="HSeparator" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] layout_mode = 2 -[node name="Label" type="Label" parent="Options/MarginContainer/ScrollContainer/ScrollContents/Developer"] +[node name="Label4" type="Label" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] layout_mode = 2 text = "Developer" +horizontal_alignment = 1 + +[node name="Developer" type="VBoxContainer" parent="Options/MarginContainer/ScrollContainer/ScrollContents"] +layout_mode = 2 [node name="RichTextLabel" type="RichTextLabel" parent="Options/MarginContainer/ScrollContainer/ScrollContents/Developer"] layout_mode = 2 @@ -648,6 +768,7 @@ grow_horizontal = 2 [node name="Open ROM" type="Button" parent="Loader"] custom_minimum_size = Vector2(48, 48) layout_mode = 2 +tooltip_text = "Load Game Cart" focus_mode = 0 icon = ExtResource("28_f1kbb") expand_icon = true @@ -664,8 +785,9 @@ use_native_dialog = true [node name="Save Slot" type="OptionButton" parent="Loader"] layout_mode = 2 +tooltip_text = "Select Save Slot" focus_mode = 0 -item_count = 5 +item_count = 11 selected = 0 popup/item_0/text = "No Save" popup/item_0/id = 0 @@ -677,14 +799,63 @@ popup/item_3/text = "Save Slot 3" popup/item_3/id = 3 popup/item_4/text = "Save Slot 4" popup/item_4/id = 4 +popup/item_5/text = "Save Slot 5" +popup/item_5/id = 5 +popup/item_6/text = "Save Slot 6" +popup/item_6/id = 6 +popup/item_7/text = "Save Slot 7" +popup/item_7/id = 7 +popup/item_8/text = "Save Slot 8" +popup/item_8/id = 8 +popup/item_9/text = "Save Slot 9" +popup/item_9/id = 9 +popup/item_10/text = "Save Slot 10" +popup/item_10/id = 10 [node name="Play" type="Button" parent="Loader"] custom_minimum_size = Vector2(48, 48) layout_mode = 2 +tooltip_text = "Start Playback" focus_mode = 0 icon = ExtResource("29_f4os1") expand_icon = true +[node name="Playback" type="HBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -24.0 +offset_top = 12.0 +offset_right = 24.0 +offset_bottom = 60.0 +grow_horizontal = 2 + +[node name="Restart" type="Button" parent="Playback"] +custom_minimum_size = Vector2(48, 48) +layout_mode = 2 +tooltip_text = "Restart Playback" +focus_mode = 0 +icon = ExtResource("32_agcku") +expand_icon = true + +[node name="Pause" type="Button" parent="Playback"] +custom_minimum_size = Vector2(48, 48) +layout_mode = 2 +tooltip_text = "Pause/Resume Playback" +focus_mode = 0 +icon = ExtResource("32_eqyyb") +expand_icon = true + +[node name="Stop" type="Button" parent="Playback"] +custom_minimum_size = Vector2(48, 48) +layout_mode = 2 +tooltip_text = "Stop Playback" +focus_mode = 0 +icon = ExtResource("32_qkn52") +expand_icon = true + +[connection signal="pressed" from="Screen Layouts/Screen Only/Settings" to="Options" method="show"] [connection signal="pressed" from="Screen Layouts/Onscreen Controls/Control/Buttons/Settings" to="Options" method="show"] [connection signal="pressed" from="Screen Layouts/Skinned Controls/Control/Buttons/Settings" to="Options" method="show"] [connection signal="pressed" from="Options Shortcut" to="Options" method="show"] @@ -698,3 +869,6 @@ expand_icon = true [connection signal="pressed" from="Loader/Open ROM" to="Loader/Open ROM/FileDialog" method="show"] [connection signal="file_selected" from="Loader/Open ROM/FileDialog" to="." method="LoadCartFromPath"] [connection signal="pressed" from="Loader/Play" to="." method="Play"] +[connection signal="pressed" from="Playback/Restart" to="." method="Restart"] +[connection signal="pressed" from="Playback/Pause" to="." method="TogglePause"] +[connection signal="pressed" from="Playback/Stop" to="." method="Stop"] diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/Options.cs b/Gameboy.Player.Godot/Prefabs/GodotBoy/Options.cs new file mode 100644 index 0000000..42c97c9 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/Options.cs @@ -0,0 +1,73 @@ +using Godot; +using System; +using System.Linq; + +public partial class Options : Window { + + public override void _Ready() { + LoadConfig(); + this.CloseRequested += SaveConfig; + } + + + [Export] public OptionButton DisplayColourPicker; + [Export] public ColorPickerButton SkinColourPicker; + [Export] public Keybind[] KeyBindings; // Relies on stuff I don't have on this PC Need to add a way to examine the primary key & secondary key + + private static readonly string FilePath = "user://user_config.cfg"; + + private void SaveConfig() { + // Create config + var config = new ConfigFile(); + + // Store values + config.SetValue("theme", "display_colour", DisplayColourPicker.Selected); + config.SetValue("theme", "skin_colour", SkinColourPicker.Color); + + foreach (var rebind in KeyBindings) { + config.SetValue("keybind", rebind.ActionName, string.Join(',', rebind.GetPrimaryKey().ToString(), rebind.GetSecondaryKey().ToString())); // Add these functions + } + + // Save to a file + config.Save(FilePath); + } + + private void LoadConfig() { + // Create config + var config = new ConfigFile(); + + Error err = config.Load(FilePath); + if (err != Error.Ok) { + return; + } + + set(config, "theme", "display_colour", (v) => {DisplayColourPicker.Selected = v.AsInt32(); DisplayColourPicker.EmitSignal("item_selected", v.AsInt32());}); + set(config, "theme", "skin_colour", (v) => {SkinColourPicker.Color = v.AsColor(); SkinColourPicker.EmitSignal("color_changed", v.AsColor());}); + + foreach (var rebind in KeyBindings) { + set(config, "keybind", rebind.ActionName, (v) => { + if (v.VariantType != Variant.Type.String) + return; + + var str = v.AsString().Split(',', 2, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); + Enum.TryParse(str.FirstOrDefault() ?? string.Empty, ignoreCase: true, out Key primary); + Enum.TryParse(str.Skip(1).FirstOrDefault() ?? string.Empty, ignoreCase: true, out Key secondary); + rebind.SetKeys(primary, secondary); // Add this function + }); + } + } + + private static void set(ConfigFile config, string section, string key, Action setter) { + try { + if (!config.HasSectionKey(section, key)) { + return; + } + + Variant v = config.GetValue(section, key); + setter(v); + return; + } catch { + return; + } + } +} \ No newline at end of file diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/Screen.cs b/Gameboy.Player.Godot/Prefabs/GodotBoy/Screen.cs index 5ca183d..f9b0ba7 100644 --- a/Gameboy.Player.Godot/Prefabs/GodotBoy/Screen.cs +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/Screen.cs @@ -1,5 +1,6 @@ using Godot; using System; +using System.Linq; using Qkmaxware.Emulators.Gameboy; using Qkmaxware.Emulators.Gameboy.Hardware; using LcdBitmap = Qkmaxware.Emulators.Gameboy.Hardware.Bitmap; @@ -38,6 +39,10 @@ public partial class Screen : TabContainer { [Export] public Color Obj1Black = new Color(0, 0, 0); + private LcdBitmap intro; + private LcdBitmap blank; + + private Image image; private ImageTexture texture; private TextureRect[] screens; @@ -48,10 +53,41 @@ public override void _Ready() { for (int i = 0; i < tabs; i++) { screens[i] = GetTabControl(i).GetNode("Screen"); } + + var intro = new LcdBitmap(Gpu.LCD_WIDTH, Gpu.LCD_HEIGHT); + this.intro = intro; + intro.Fill(ColourPallet.BackgroundDark); + + blank = new LcdBitmap(Gpu.LCD_WIDTH, Gpu.LCD_HEIGHT); + blank.Fill(ColourPallet.BackgroundDark); + + var text = new LcdBitmap[]{ LcdBitmap.StampB, LcdBitmap.StampL, LcdBitmap.StampA, LcdBitmap.StampZ, LcdBitmap.StampO, LcdBitmap.StampR, LcdBitmap.StampB, LcdBitmap.StampO, LcdBitmap.StampY }.Select(stamp => stamp.Invert().Enlarge(4)).ToArray(); + var width = text.Select(stamp => stamp.Width + 1).Sum(); + var height = text.Select(stamp => stamp.Height).Max(); + + var startX = (intro.Width / 2) - (width / 2); + var startY = (intro.Height / 2) - (height / 2); + foreach (var stamp in text) { + intro.Stamp(startX, startY, stamp); + startX += stamp.Width + 1; + } + + this.Redraw(this.intro, assignToAllScreens: true); } - public void Redraw(LcdBitmap bmp) { - var pixels = Image.Create(width: bmp.Width, height: bmp.Height, useMipmaps: false, format: Image.Format.Rgb8); + public void ShowIntro() { + this.Redraw(intro); + } + + public void Blank() { + this.Redraw(blank); + } + + public void Redraw(LcdBitmap bmp, bool assignToAllScreens = false) { + if (this.image is null) { + this.image = Image.Create(width: bmp.Width, height: bmp.Height, useMipmaps: false, format: Image.Format.Rgb8); + } + var pixels = this.image; for (var col = 0; col < bmp.Height; col++) { for (var row = 0; row < bmp.Width; row++) { @@ -82,8 +118,17 @@ public void Redraw(LcdBitmap bmp) { } else { texture.Update(pixels); } - var screen = screens[CurrentTab]; - if (screen is not null) - screen.Texture = texture; + if (assignToAllScreens) { + foreach (var screen in this.screens) { + if (screen is null) + continue; + screen.Texture = texture; + } + } else { + var screen = screens[CurrentTab]; + if (screen is not null) + screen.Texture = texture; + } + } } diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/controller.svg b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/controller.svg new file mode 100644 index 0000000..35fe971 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/controller.svg @@ -0,0 +1,278 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/controller.svg.import b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/controller.svg.import new file mode 100644 index 0000000..a0cc0f0 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/controller.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsfu4d554womr" +path="res://.godot/imported/controller.svg-cfd9986cf9d47c4cfb7d3d4384652b34.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Prefabs/GodotBoy/UI/controller.svg" +dest_files=["res://.godot/imported/controller.svg-cfd9986cf9d47c4cfb7d3d4384652b34.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin.svg b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin.svg index c8b8ca0..f7a3fa9 100644 --- a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin.svg +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin.svg @@ -34,9 +34,9 @@ inkscape:window-x="-8" inkscape:window-height="987" inkscape:window-width="1680" - inkscape:cy="61.599052" - inkscape:cx="32.504297" - inkscape:zoom="2.1997092" + inkscape:cy="42.081895" + inkscape:cx="74.369255" + inkscape:zoom="1.5554293" showgrid="false" inkscape:document-units="mm" inkscape:pagecheckerboard="0" @@ -75,12 +75,6 @@ id="path3362" d="M 0.23849925,0.23850226 V 48.358225 H 48.358223 v -3.60843 H 9.2850302 c -2.965197,-0.13959 -4.440364,-1.709607 -4.570679,-4.570682 V 0.48636726 Z" style="fill:#b3b3b3;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - - - - - - - - - - - diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_header.svg b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_header.svg new file mode 100644 index 0000000..cecad00 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_header.svg @@ -0,0 +1,70 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_header.svg.import b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_header.svg.import new file mode 100644 index 0000000..ff14e62 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_header.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqimngayey7nv" +path="res://.godot/imported/default_skin_header.svg-33d9ac8a92f9a85b42f01a8bb6299cc6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Prefabs/GodotBoy/UI/default_skin_header.svg" +dest_files=["res://.godot/imported/default_skin_header.svg-33d9ac8a92f9a85b42f01a8bb6299cc6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=4.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_logo.svg b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_logo.svg new file mode 100644 index 0000000..9c3e397 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_logo.svg @@ -0,0 +1,69 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_logo.svg.import b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_logo.svg.import new file mode 100644 index 0000000..38e9013 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_logo.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gixtpgxdg6fd" +path="res://.godot/imported/default_skin_logo.svg-8405ffa3016f6e9b66906cbfc1633f67.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Prefabs/GodotBoy/UI/default_skin_logo.svg" +dest_files=["res://.godot/imported/default_skin_logo.svg-8405ffa3016f6e9b66906cbfc1633f67.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=4.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_speaker.svg b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_speaker.svg new file mode 100644 index 0000000..8fc499f --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_speaker.svg @@ -0,0 +1,111 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_speaker.svg.import b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_speaker.svg.import new file mode 100644 index 0000000..538ac34 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/default_skin_speaker.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dye1lrylf76q3" +path="res://.godot/imported/default_skin_speaker.svg-6c6c71df501cbc1548f345ecfbaa3fac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Prefabs/GodotBoy/UI/default_skin_speaker.svg" +dest_files=["res://.godot/imported/default_skin_speaker.svg-6c6c71df501cbc1548f345ecfbaa3fac.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=4.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/layout_screen.svg b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/layout_screen.svg index e0ed44e..19745ab 100644 --- a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/layout_screen.svg +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/layout_screen.svg @@ -1,51 +1,73 @@ - - + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + sodipodi:docname="layout_screen.svg" + inkscape:version="1.0 (4035a4fb49, 2020-05-01)" + id="svg5" + version="1.1" + viewBox="0 0 32 32" + height="32mm" + width="32mm"> + + + + image/svg+xml + + + + + + inkscape:window-y="-8" + inkscape:window-x="-8" + inkscape:window-height="987" + inkscape:window-width="1680" + inkscape:cy="60.671153" + inkscape:cx="70.419695" + inkscape:zoom="4.3994184" + width="32mm" + showgrid="false" + inkscape:document-units="mm" + inkscape:pagecheckerboard="true" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#595959" + id="namedview7" /> + inkscape:label="Layer 1"> + x="5.0880098" + height="21.82398" + width="21.82398" + id="rect846" + style="fill:#ffffff;stroke:#ffffff;stroke-width:0.383688;stroke-linecap:round;stroke-linejoin:round" /> + diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/reload.png b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/reload.png index ca3b98e31af15b3a1fb6ef39523b86b94c39c4fa..13cbea3744779683ff0d4b1475a8a2aadc0bd40b 100644 GIT binary patch literal 59908 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

6rs?4jSD!*hpz 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 literal 99812 zcmeFZhdUMi`v-iGk`}Vdj6_DF$WFqcC?oSw5lOaVuZB?e3?VtlI#$S5itOyjDw~jz zJ)ZmR^Zi}V-|$@5)77VQU41(5d5_oqx?gVrx73u5Q8H6vFqmUlWd#ikhI|EsIj~J} z5dP+?DamK}IBct|=YYWooK z(P~W^wMRo$XO)$LMdrW8$oIXR(0E%D`b*eu?97$L5&3h+$*whNu+s`!F~xn+d(0Ee zvJlR#w?#}T+^$+XVUQW|BY*)rTv%b;=8$;iN>GyXPubvBrRwD!EG+f^|Mmav6Yw!G zH9Um2&_~G05zy7v)_xNaaq?yTsBhxrI63JP4=j04zoDg77~wQFHN4{do_=!CWygQR zCV>rNbz`_4bDdogU!5v7mqanUgg}eoHS^)6wHD=<%qI7H`gu)m$ag$n*t$$b5vUTr zu$9ta+A%RcepA;n%G24#-!_mGO4l{eM?oY zC}tBC;%3!$qpVQr(i@(P=G&Y1nWIEqyG^?ECGQ2sMv7VlGL`fMt1^q!9o4h+lWseu z!bNj!(Z$21mxvn`93{bEd>lW&g{ge9yN8C19t37YYE8Qi*<-uI`6gL=`uVU;xtoRG z@p~5sGM^JTu(frs?^({}6*+xl6k*TkW$d&GoG$7yD(Eqy^s9Xq><$BB%o$hUBh>CV ztCX&|h)Ch*wH;=Y8_$H(dh`u!0y9MFy7Vkhadj&<;s;;G(?^KHIQl=GAN*Yi>pDOE zbYTk@pzv<1U5SmwKK?Ka$1ioz6FvxZmN~978R?Hq@_%H?v40=i+U09oj>|3z3ZKc9 zQaNq@xzYm55Gai6>9@u*WEbHQC-GZV!cvb z6+t*_(u_WZ)36#59}8HIr08^5m^3q4&cSbsw&m6@ql+Sv&hvj9SdcMP&^?oZk2m5j zfA9Y4>gv)rY1YR&tLS@o_r|&`>k?vkvF3ro=3EKIJ&Auk_e?J^N(~JRcr@To!?y}f z?thuSCHa~k>FDTa7EQnx7(fEX7+#xH+&EzkKQ8hyBrN;(&&$)Ta#mcrN9Xe zzs6)zrQWf{C4DZqmBd!hu!Guiu7rCB&gG}1)1N747IL^KgL-rdp^B^Xg9eci5z9uF zbBFL7Gg}K0k+b4QbMmVOmAmL%J^fBjeb=q7v|mtOs0vT^Rs{r&wFo12?k;SFO-fx>KID_60uu&R-R31KVQ1oMc7vBD6k zrEmWKeQ7_M1-_hyF}*N&B{YLn`lYBcu8{ZK)# zYhYlIS6sYWS@)W)pvOzTLlJ%9z(KB^LW23pfG@pH^8x}8e zjoT*8C$O9E2{iD9kx-#&Zj5a+a;^ODC=U^X>`*&e`1orW?yStlhMQY&? zx95!x95Fsr;_0Wiq)&Y8?d{=~Qtn<5-vfi$c3`Kv#ZL8lZ*#_*{^-F6fwwO(di)%g zU0c9e%`doQDR6RF=6X`9NU zz4{t?uGP+hf8fQtIXmuc%T@G2iq-j+y+pg-t8gpR{>aZp4odH?k2b+typ%iY zxjm~18ueIR)8t!IRv`le0~@)MikqcM=V;^DesgS8<+@18?D>Da|MKhoWn*K=HQq@# z&f?Nd?7li~JWR~RZn}w|t{SyZR?CKDO1>A4uyGdW{p zW9Ni~7OX-_g8wDo^1n9}<|0Mx>(l#sU-)`T`$n$0nHlY?ucDHYl6#ZATPq|TjjCl* z^WH(HW=SC!iVP*g`YXOxd2U^1Hj&|;_T#pqlNCt~8W=F7qoqA3E4vq$;%Q_wbSWhD z>gG$ul(^W~+oH_cqRibZD=XVcH`Ue8)4vklOpmd~8jIC!KhV?blePL;EHEKK0V|LC zI{^-8T3K9tIk&26m&9@|J-bMj-y&!Btf9dw$_4W0agoQtSuU<*x-pMIiWin~*t^M`)!@m1|{epb{qK1-E z{aH9{?i~U_(s0dGqHQ@cDJl2eJI<)6sEqgTmC@Sy_`-#^zXkjWQ|6ke-w6mf9268} z;o)Hzpzs;5fBALTicU{|E~7~m^>M$^{TM{gyg-CFTKCY#rn+glVvoxro^g=@jxJb5 zRdtfhp|*0;mDuSMc?o{WE`@}ISUNgtb#@xwsPaFUQ{)#Y?A_7PvBY8$h-Wzf!Gj6~ z4>|px)!yFMFUD>Qn>1hR=|AytzCrZU-CNw;+{>e$dU~-hU%kSalQ40xhO`-fm6edl z%+D8wDI4{RC&_yRrrWrsPagNHo|AyOW5fvs7oQKyKTJZ#8E9!e8kZ}QARbi{-p;1o z2#twZOZ!#z;X`EM{1a~akorrPFR!N6kBt##vu`YA64D`1>7YP0zCV^3N;N(ozW4M@ zbocaB8Fzqf9maA8M|8wZx+1%}e%-gRsi|~{Rr#KS&eDk!CoElDbkCeQ0}f3r>`1T) z+!*fZe+E%}IziHT$>1bdD*gVBRUi+|;$3U@EU;NDlZ2eotcCM@d|J0}CwFvckdu=1 z>S3(gySgG@`1wud{$^uh`t?51KumC2C`kBFe0=;~*zziz8=ncvp1kG=SeBNS%H9j? zv(E9X!K;@oN~y!?=@&ol+ooHG|3xgs@V_&?m=P96eGFFl@S!rSQsry}tg@XKdx-2w z%_l!Lul0&qMhLbg_xFcQsjS=~t9$JiBn*Z>RmOvJNlY&&DA*vWe)mrP6MG3ArXY4< zi}}>4c(!#vKR>#VdYpOc$zlDiw(wnBH@D4L2vuz#k3)zFMSJ!!nVXx_ej+!*VL9i7 zoyDyYp2@MlU0SjiFetv!6fK~sr^i%3iE&Zt(Z6})Msvv4wQJYn5)$wUQG$xxJ7JTq z2`w!xN{02Yz(4z0E!xn)AYMmDXRZDGnOz<(Uqi9fi*3v349A;dEc*%`@CgV+fi)Il z2&D}T*kebJKD4#H1)~~%@;0fm%$egqcW!;=+6igV{o6KWLy;uU6tdp%Yh^AO%fO95 z0v*v^BT85i&N4GQyK8B@N&EKgPju@T`lzBiCMG7#r%!i{jJ$)Xc0bsE)Wz)^8t`b3*|vRW(Kw7M7gMK^*cf2ec<$_geO_U+usf z2#@@XL)S?$K0lpCYMxZ+@~@88y;jOD0?)<=)xB@YRi~;Zl?OV6XjE?d-400KujOSEE8gLO37T##8vUVd4m*&>lUA;~}XD zk1KcE>qu2)W@U9sh~T>)zT3gr*$%NJ8`*4V6*94!o3m3>>(1d`J^EXR?IH}KVq&t= z(i9;SL7=lwAj9yQKzxo7#Az5CCmlR==t|sV0bo)0l=i8lKmA3PJ$OK|%0dWbjl59c z3_Fd5&@q3xuA&zoqFTp@h9eTyii(QB=^YXdV0eXMZ#=TKwe=cFN@&>>C?947)Iss5 zugcRsWPeqx`>T?4+g_}X86O*aj^EHtkm!{r9v~%wv(A9E0hnoQXt0C9ESlCl!8fx? zN^~kKEBj>T+mtt7PP$ePL*+5Bzc8!)g~f4(eRIR^l@OAmBcq%hj`_-G5{Y+i-VBNs zGA7Egk4PNGTnsL{1OB}{y4&0wILoDzEj(evz2n^42hpN;AKMRc(FAzh>JY@ra`Mj7 z|G9hNeOw$ftR*8eQ>E_jC=G@`6_UZf)z!@MasvSQLc{L9csLv|3eKYqo3Z0Z_`+mve{MHo|$>1=z&qb z)}w#y*sm`@+Iy*5Nhp z>m4DywZ;q5ZJiL`x?x@Y{rXH1?R$6cvve^K- zn?@;;pMPkP6cc(?LPBC_bZeI(NLY5P>_L7@!mD8z=*^qcXoIwqTUAhebPW#X?C$P9 z77w3%U9_qSN7weDsAz*|0$2DMp)GbY@VP@l!p0wZyqfV%_n{zs^zh;L#;Eh!`uZ~x zhcKaO@7mv&m6wB|MjcaHsyI6>=H~8R-Ixa_y@_%mdl25qsY)#N#%_V|#AxG4??1Ra z$nlxU$ycAq)eTd^EkCcTt8?7lcEvk8pO0;xI{Bzod2?=PXeb?O3!44K$pS*}}$V&u7xrDqQAw*#lul6D@7+)Tr}15Yki(RZ7 zwX`xYHXcs0rv>~r{S1(ykLdUI_WVBmEp9BE^I!p^y@Ny1{jZb|(0FBKhw;ZTm~cVk zBJaiD*I^i$h}?eJ`+*zXP%Gz_9*0_aAsCH;D$=1b*C8R5enH;R;~|reJuq@*-<}q( zR$J!m1oiavqHmE8U6!;o&C1aW&1% z&EX1C9VS~X%*^WWtxrYjJnGkWj2~H9?J)ETK=hnLuB6NnBD=d@aO>QPtL2;^mI=Rl z1C0L;(J%v!fsdB5w3P%iQmkv)Jv^K%V%`eb`8&S#zRR5sq30-t`az~&K>PqZ`JcYR zbS^P5=MutT_)7>8v?hTNV2U1f^J(9?QwGD_y&V`5GCNS}5bJU}L}(f+zx8eeXd;ng z*TBAfG!Gp={q5D)`;y$AS2gPRhX7xmzmxqvQ#(sbS9c07)Q6ioq#kXn(7f%Dn_EA= zRsQ8ElU4F(pN#kZn9E9zfW7}$Py3Md=y$faFPel`@mmzlCi;fQ#H82NDdy-GsQ|o3 zA;OmPS;%PY#X2cgiUVFITdQ*?k!5{TL|)9F57o`uX4Rg1_|QVxgXGBQ=ttd|+L^hz zF@RR!%gRguEhHQ!0>Qk-wyI{|_;#F`t_IhaftVPLK!Mz4bS`%T9336Ai+a4U9qG6d z{sV9*nVBEl{yl1~KZF^<-B4Gb-QHN1@ZPNeQ-x8M$_PRLPRtGAWJ3ke4e6SqU|09r zSfuWQGG*C(DGrVWN`Oa?9zk99WES|Y4k(d(eUC6WuKv+$X>R`5sz+7#+I!V=Z#gF? zN9dz935LBBW$-*@R`);o+n+ywPKsJN60TynHbA^}j?kT@la-MXu)Iiu`FOKx0cE#z zwS?XqGunhtEd(UN8yls||91&79sp-M4U1CtMOslsf2p1xm6A1O>~U?AtgT zi&z;s=I&wBA9=&T*~kM&)(IRLy3`v8r`3?UEH&`V0+|=Xy%X87{jcc52d%6-IU3il zJqyIn?(qS`le)NQmmuS*5B|F3IgD?ebNj@&Tng^yjb|an$ekU*NnkJ~_W+KULcA!? zDXQkm_=azrd!L!v!QwoS{GchiR1G{WJS{yPzqw)oe#IMmqpY=*rH64jN{;>SD?oh< zcIbj7P&gZ*$2&T1D_PE&g!g>3E@c6~*DrUODc)x@NYg1N2=P^J~<|-J{-`c8s9a08k0D9RULq)|9jdALNq-0iSx;pZmX_-Gs zB6WYPEi5*U^m4#{Podke{{HFNp(8*c$Ougz3Ae|s4P-)2%`qqmKEDJ$u9>fUW3n}& zGgic$7Ak{;voj6>?HTbJ?EeAUzhUiArTeR=pYFyJ+OU*mIi;=+I%B!G z@;gxeB4?|i@vk41z|TasCQ8S*n*Z4=BDDF|{_5Nx;W`>&pBa(47wBr(p#m25uAo5U zl$iC{OApATT?4nJ%v;}tEo>1TtgqkbsM_A%Hg=mz_DeIYhpnrit$+L-z>}!Ua`fO{ zjsBJ}jBp=nlm5JW&j3a4-y`h>5s{RWJZe*bPNpUPB<1()#=s`3?T}GrqRePosmv8_ z66pE`WrFKOck4S?Y`}cQvKqvzeT(9K=;o%691A?vGzXvH(3xH2O-FISNfe@HIXG#} zCAdquJ78bKP=wEgUj|#y19n8e#G2(A9O6fglP6C~xGoVO<`||Ayo5?T_aCr3SAo{k z_Zk38@kL?uo63LaXeW`7q!m}mIx#tEIar2=G#x5z5e4~3qvqQ;eqiF!Xuv;K@j<3|4M z>i#&-AhQ7E=r#7nwLk2)8cokBlGHaa*!zSBT56wo30;JoUjbiBsCzxE6*st23}EWi z<;S-m=*$9X75a%L;CbttD=A=I=fjjgww5y8>DU8%N%CH4SMozwoc9A=F_YEa?vC?% z)v!g*P9ALPwviF>X8h%hii!a|V2*E`;3PciiCr7ZljBsb;=I@UBkt$qX=e`C013*^zw?$G7Yb>4d$CDRnJmE zyd*;hG78DyadD3fuf?m`=u>oXtY$6DIeLYPb$^!t^l8*Wp=#v$PaA<1wNfUa)~SyB zNupek_gxqM0n-_p09wHCgZf)nuq3_GVxO0#(AS*@><)=l03puXpr3VwL2&9{udxoo zgATR8=2+wm0ypH296j&W{zj4kR#sLm?47{Q8kP*ahgf0N{{idk>r2#xnqjDWAjo0Z zWi-f9!q{7@L&&xWmad67n~r_}@JqiJUE+&YCnL}5j5ELybf(>eoMw-Xz_t_Uw3W@- z+^qEUdVFKcx*})T!@g1n^B8mn)`!p;SONUA{^z-Og4@b|(Ebb%!#%mixsaM&6DJ|X z1KK!x^ypN#j&V1zbF-1BE|~@P4MGhWxjzKz3bD_jy3cYBNG~s}MkAY)Ow_hoJrH3#^Sr|C~mP5m&<*|~-_0ORy8 zD7ZL?@5Sw-bl6MYL&(T#Z^V-!@ipkrN=zySs`N7*_e*jDH>qhsE>G~i=69SNm<8`v z#${vf@v?bWF(7hK+_;mi`%3~Y(OFjL-<19D~E?G;pX_}a%^yC<%|A)=N5nA=L=I5;|SNkmyYvo|AkXy9+>;J+} zO*sM@1b)jLv>)DSXRh&bSjhPJc-ds4yB31Nu#lQkAe&iay$qp1BWhYdk6JkdHKXy5 zO82!uwNsfedLf9D~1464zP zp=m@H-9dRN;3Us}UaE+HE|#yC^AUtaRR$ z2W)kJcY1o$Xm{*Z3MseI?x3!M-FmRAU6uO~u7xH%4dbgM>pqeE6`Pk2b>v=Hg?bW9@a@eH z$P7Gz!s;se^JU`+qN1V?!S@DM=urb3Iu!tlXTAiSR5`1;Df2-XTix;V=a##bl~ono z?|)r9{tPf!Uu3ZLjD@Pa+Y*RvcAqa*f;_!{BL#IpXa=)NXFhpC(#yLrp@%&IiPi{w z#^+CX!8J+@`?A#Hmy=ll9(1@X>+wzh7)^k1ApD!{JwkIdzKWvV%jY>>pWs!E%%GYhiH{zL0 z5>?Me$W{TJZE2y>8LSv1#>*Nq3uzVA z1GAB{zbRNTHTRKs^Y6D(aqLv$T+^(*0=@SG+v6@-il2wZ1UuQv>gvq5urnDR#k)R5 ztI2TKHpuEtkAv0LJpE|@rIiHB>&obP`*zr6o1tu=b9;GVGF|rehgwR(r`v%%{To@rM))_0yWANPvmM)*2K_X)zOIwW|2%& z;QS>q?za1NxxxxiCGS@JA&i`xa>FljOeia7m~yJ{goWkY-gMcxKG3U<3zch`1qB`d z4bcY-n331UgJZ{!!(k;_w=K&I0vBR~;NA2qxGP}#M}*{xlXaAw02LsbZmm#qih z-@P!ke`=~<^!MR0*#17`FKSllr~6;t>_AF@ku->~^jL3p-m$Xr9QowX`N}n;?yj!= zoAx;asLE|RHAeLEmt~mxZQ~lDbmoHcKEZHDs2{gqB^?I%i zrbF*-{~&Ff^|KIyNmoybF6zOz7M(tRfK+z#Z|#XBXRsG#He@fSXaW>^ls84N@eq7~ z^4?DpxkhuagQ2srH~7Mon`M75uE!@vG!P*1cns@YjP>Yr;0y~bx)Y!vU$sy@x9;yE z<<%0_xaR4a=-k3;5(v?GqIwM|G-`?iLo01$Pkf-q3JDedp183y&t+Qpy30PZz4}J_ z@fl{IxHQ=dIN|n(j$R*<+!MDX=wFqpwTJ_U4av5#rA6DzYj@iLnxFAi)k8eTF(YP% zA8oJJ2eW8ijCD*{y4=%Wt$a4(#2l1Q9YEBv<54gr0+^#!cGKuk{|I}As~mJ+sQeGg zvEN*;%AKCJfKs|y7RtcMy~j>Ym$Qfjb*1E6${QOSeCN*HLM_o=hqlveWFv~u=bHKZ ztCpFK%{jqdKuNl7%M_4?9*UY>h-Y$%hb&8^IQVQ&6&1WT5N%Ui;>8?B4KOyNTU9^; zf_x??BO_xYmxqUk4mtyq_riSTlQ;6Kp$7;R0Cb)`+fbQSZFU-x98@!aB?O*@7eiq5 zwnsLGWCuQC003O7i&opXQ@h3&5+^NoHvj1tngsz)4!)jp8yMP$_wUO`L_`3b?&#{$ z${hMb#mf%-WL}=F*OU++p9b_Y!97in+64GK?g7dt#@I`*u&|J*Im9P8Z4Oqmp9;D@ ztLI{TTv=FHl8Sm{ICxV9z1!N_dI7R%8ztJWjgja16IthTy|`!&_gZ|TN}Oytu?^;A z!@PN=knI~Q47l%a7cPuQjO$B4iM7{MZ1wYFz!8ibsvG1qkWL{jZK4|5=MbB7fa>@F zu{l^3bMbZ29nkZ@N%#Kv@nc)0R@(5tHX0uGny zmEYslq`zgdFB};p1zsDXO2NP`s5wAwk)*QeKO3FJWb(nH^DGcVjd)5Q@e-?03yX}0I9D|B$Q!wr(6uPXz z%;e}%HK%COY^+jNi*M?NF^V2E(Zc{x655{f7=~@UR#Z~D1gHv#Mrfp$wvy6o85t!u zHZ~5ejHr0AS3;tY>J0Zfd-}NSsKf!x2m&*v8NtE9Y{0>4YXrd3p~Rd{bf3R>l%ylD z=nmjIK%4DoWJN_$8JX6owQni_n4s6D4b1R%)b^W(69fj!oFSLdV+m5O8bD`X(J2h~ zDgv5aEJ&D_?jS~&84N1a7y1~-vF=>txRPc#=lIK38k(9BU`}G}&{cW-_y%<9&{W^Q zQ<)Eu^+FiZx^pKD5{$N%*87SI!{l4v@bo^XLNk^AGMXHZj*7bEP-uwxCWFSlj_Nx2 zZ}051Ij+PoCok`oL5a0CTq2C$OAT6xix=Ph`gIS2mxZIFXg5*!K!*x&lh7vm@VM_H z>PV84lM^E_hDwxdpO%FHv?{TBuC#L?x7%m-^?r|hdgj~ya3v(CD9Lfqz6k0ZfNY+p z^T`OW0S%*(q1#wnTMMl;+k^wAAAlLyu=7T3Nq&CEgaaddJ^JW;Y$_HNGk4^-j#Q&Z#f;>8QNhIxs@ z-yR{3`u+Rws7tA**Fd)|_i}1sq4$+g)q5AId5Q5y&{}7+*r#Y=7hmh2l46*M|MdX& zR5~bo1so6}2MdA_0v1$o=VENv-@kd#C%Ysr{yslHU#t8#RgE_IFk-TyLj&CFQp4q% zWKd~T{{4I;W3_4Fby0C?QPID*0Bmc1LmS!WXfc8^(67h{p$KIF$^gJ^&W1nDu2|BYu0MUe) zP1XgZF{bAr&3wBRrflj*kPd%JG?>VSZq3?&!-*8KJOxO1Xams4+}-s;{G}Rc9tC6* zfP~sOTux>tAK(%o;|uCa9VQ+B{K(hZiu|c#Zf@>v2J*^669onW4XP$=UBjH?Wxh(cY!3$HJ-4Uk=I{PQRKIGap11dm=`9rsIN z%G)EY36h#KhU}P{Ilz2AN9~|*Ti_zK%K&nVa_d-VzGncXhe&xfl8Y*wVW^V~y%lsj z2z?!vWBx0p4x|KdcG`G+(bDoVG-a8-u6d%u=)as%WQ}Dz;#aGLhcc_SM!j>DLp4_CA%MWZk1Q?!Yp{G{L{Q&;Oqs9p zP6&4Mm#z4=I=YP#bQ>Lp=H`F-< zungDuo#1?qwqs{)IQKvDwxefd*t(l>AHy9H_CEB(jTmoUAJHhN z=%6_W89{iStfXemvvR5N{LK8kQ-Xcb@WR~OjyJ?yjfopzWkFC)`H0ejjwpO}W~n=} z6!JD)&1qb4D6^Qzx*7D|Y#0w)fTHgR`vR#gu$77pkejJg^{5%evsDhUTY7fzBY zUxjo86`qc#XC;Wf3@0%bnV1tG)p`&G~Ku@FNI+lSeA znd$XSBo(El^u5Cs(IA2SSNEE(?)5<=PcBtTtW_|)t*uA|BWVy-mzak^_;Od{g z2+$sFeIT&e4RYdS)YqOIV!eeu%yS0QD*^$KNEF0XxZEx*^oa93+^j4iI86|qh+NpR znOgGSQxreV>NxO%+y3v!r_T>X-O`Iz)v(U`mJ6bF*%2R%V%q-Ib5b54&CJL^beoo* z9^|?5!-lHRd^#dj@%GcFNLN=kP_2Z_|HvPGhtf;=C=WkI*)B|(0JQq#es?2GaCmza zEy~MFW#AQqGA|T23_?a)&dy?!zl9QC6Ewq(qE_MvIzhs@0Fx@KtbSgW+4Y%q1BSj4 zXos`dQ`{}m!`vBl7P>DG_{ZTApk3KO4)i&|b{%6+ZJ?AK5-v_w2v2Mo=l%m%B-76~_sUMVPA^%tJd zwXs>~16|~Y zy-W^*OeS7$0Z~0bfMgc=8ZF3r^yap9#kj1T205`=I=MY{L8ms>rEI@K#DeIL^aXs7 zd|I*2AjAIcWnJOj$GEHl_u??%%a5P>p8OqtrOC0|0s&}*UBmWsX8f?z*FOTcl9h#M z!^Wm7B!^!^=1BqQenoq}P-Mn+$osLi^=>q}kfQuXXdgqlcbv+!reEsW$z~6lkBlPH7 z?p;Og8t7-jHQa{SKTBH!RS+)@$~VX?8B2S_?@<`YEh-?)BTFp%G!XQ5?afL1CNA|MDOpmoIq*al_! zeLAgUT)i6#w!dD;AW+xbhqfL1EO3Ixs(cQE8v6Q~huA!BAt|7y4>v=QA|50Va28Jr z7l#Kw5GFyHzT~+lnXmiDxO9`%r4WgFJUw@S$oEbXo&fRJ36Px9>3&&@xi*R&&Vjm zAe0GEwT-zZ&Yr%DMHm{Gc-sWw$w}D%LRl~d1MLJKhcM-_(eT}LuF05MvCEfd=F1nN zg)5}kC7~+>77UX=G6f-$8sAIRO=8h%eBz|12y@WxPe=?O12B0tzzT`2SM9NJc`9^N z$7s!n^Ns^Ah#K|C4A0SmoQyvfLLN}63RMf`YGJ@G>+9?98uzkbLg#cJV``E?KH}NI z=%5_F?3{+sdl`P#&>W-s)C5m#Qjy@CUdSmLMjFJP|1^k{-_D{82b_K-PwWk^FO197 z*ac0>?Kh!(K)nE*DT3C1@aWYZgzA6Q`b8;o8Kx_D#K5kFVAua?6M}(=-hN-Ss?Ih3 z@ee>YC`n2ngiT*0)1^TjJ}6rSjViw7OAL!}O|wA*$2@1J+*W*GR)V5t?X;9j-Ua3$ zuW$NWJK-{CL86_emG7}(k0?-hIHmi%Sqy4PApX?~3wal>mJZukSoB#1{_^9+*!n=; zI*mx=kW(hR${ODvD6vz0M^!rxHwTkDl97?2UNxu_4burv34}?w@VuT~9E8AS;F0HL z>rd=!?k z!;f^}y7z%LkcA%HHLTjO-3xgR>Ay8(e0zI+<;(T&TWbxs+uY4Qupdqi^Ce+=!c7$} z$9~x)aE@OsLfqo_m>GxaNt#0wZ>Xu#7h8Vw-#oihx7gAj$t-McDzDO`ir8=)xA>Lf zBE9Ewq=&g`l$90DxR^LNl0D5@-M#Y$XUAv?u?y~I6C2xPZKG`bW{IwC?jAA;m;BR$ zM#aGsKr&tb{d?%VL>cbjUm=Y~<14|-LQs~DA0hJ(uUV^Ft7OvC)5~R$uQ*mCiHV$= zCuk}v9z(s zAtXPJwU~I_xkEo+wPg*D1E#XCiVD1IKLmX>au z-$NBFFG!-FgU=0WV@B#_k`_i!{|oT%8hNX(K=85pN$-REzU^G{_ALgSZQNukQVWz` z--m{RmnYlKu&S3XgdO*JChu=d!Ld8EuvY!HoQk@%4d`Wi5bO^Nrh2gXlyHzQ3?_+~ zAEy^G3PjbHwtt$IrRDklpFi=v7$3F`k1D?_GbgEU${ycTQ0Qzfo}0rs$t@2LxGqoJ z`!~~l;b_hY3aXp2P#A!+EjcUeh=$4_Uh5^9%fXsqvh_nv1!b4kINlv7fG1Obpr9^M zG3)M`){OcCWpA3y-Ko$2Boyu|+e$Eg4X)`?g40sd(Whdepo zS&T&s19?XQl_k|v?^WJKxRd0ZoMRy3k9x8Fn(Fs(YNYpqc&kuWR+e!W&flMAxJjtn zGyWdqLWD-uNx8-f!}`hPdkx{-A9q%N;&nLUXxe1=q)uaj$_o$v-W^>ZhK( zzaJrzjr1?OkK>vcU?dm zjV`-LEktQ}O^q|moZa#C1T~q0tLqg%PZbxye_z7RC=L8IN@jC(cHY|Gmo&ORO-Qny z$`p%dFsupE(EmbTRdi2qIY@Z*p$gJyrdOChTWlait-} zq8;zJ9|_mL+fGCI>H*ddA5wsD=rt&``>(0!S?Wb|KUbbPfmcxAvx5K-#|e*(u5x^l zCH?lj`zpl~5MZSM{iQ<=tCNs;325^TNCo@+whwZA2?4)uI742>injR0qVhS9c;{;`rP5>bzm9Ksnh%#E37arNP!DFlz&=F>DF8iQ8yfj-=9;58 z7I;pQ2VLZ`$;sJFImcSqQF~9%3y5;!Y8peAPm=#V&pWOOak6^wqg~2sNhdY+O`e~{ zI!8FRg^U{_vdY^WUrRa*0`V6LkH^3^@u%3>>Y@C)09;FXV~jwPo1ybz&UXs+SCjmw z=s_huYgBt-m)xh=25*$hFx#6u86d2}2!Rn&5Auim`LE|CI)6Q-`dtrAg-PI^%N%1k zI5n(56&4Hh_`-p^q%J4J|G1}9kuFcPT)Tdqyr3X_wU|TYBIIY-G8NIV^j&%5B!AOp z@jUD~fImYIy zf7;cfHJ$SQwp=tD#vY#psM}QmlwGX1+m`naA^FxhXwJv<;t4cjKzGO~AaK)}<((x+ zZ4^Ku2TU2hCsdxINwh^jfg9om6ACx+cYm(hWA+Zq{mfs7d7(g*{?>A{k*A-xL4lL{ z4d~&vc5*u3s!}X!NwE$Cw)VX0%*4rA(qHauv%0>%?w1;AK$6`B^SV|V!KCj9gaa?` zO%boH#NE$l1WM)tuychk&OHBN8aJWt7|qV9qIG&Dz~4I5>gOwr)RDW1#N$j%OuGNL z((eAB7NFWoy57US61rt6sj1{UJ3D1rH;NAOjt3_uCMF$x_K8p-=I{To4C)D@-Rb%R ze{VnZIMlAy)ZF|foLe>T?k7@;Pr3bLMsRJAOs9Y;(!WNrc&}4*ZJPh8LZtsX?=%0Y zgMWr9%P-KsnmcqWJL{U6+1dHhN!F^sAVVuKZO~eM_C12dKlId6**MAZWmq>FFAv*( zr%(df=chDln;Gu|5EX)9zigYVg@+4aK%RhovB5hTyRmQ7hEOV-2Vr@~%SoTqR8OI4 zABs<%q{gN5BzY_qgFImGK;8|VL%|zkPWie=;f>E%U?@k#u?|5VJU+}J^@Z+$g|Tbz zNvOlDKi&OqpsTyiT5l&K@LV^yyiLn>{40nu`pUAXa8aY;?{jl|rDsBzUM$|J9^T7t zMP~IJxe^{}G@5}2l;jFjt$S1% z+YEdZCYB$izRmYOCkF>J`q;>2?f`Mbc)dqMGclHI4Ckd;>@C%<#K^OTm>*iG=i#)^g=pKH zAi1XQOXW>6A~@)2-3<<$2XLG92fL14!+UQ|){ts1sF}#no=W$9QI->OmNCU5FK#0? zHugu}Ju+j0BC(^h^I1>Noxs4rDWZLr+F_0=c&f728FWfaZAS2#f%C?Re^Ob1-|FMbcGTVP^NB1YALl>1r;VW-UFTd?wwgeE# zu1$K4orgyW3}aa2;>D*CJnFx{G6239zjKL_qY88vUQ9<1vY_BTg`UfS<4rEROp})# zF82pMJ*A+4rexTwe4bAMGax*3gku+)q!mJpN6&7LzJ(MSgv^nR!mpMsMq?Kfx2p)v zQIpyi$6jA?NDFp(H+(Xrei1@Xa%Ck80#(*uy*R#z-RRs7n&(td5JkN4`P20qq&_D| z{?5!h6i&3n`$3Ds)XZ##C_nb{He1b!8=V83&y}Z6B>&%RSl z5i)vUC@Nm~eSp>sisAKxzphMq6;ekIm*N0f6`M^ zli$4~1<7F-&R65dmoEpsU`CM!xF*E-N0=rJ43Z$Uy`2a_UN7z>)u75kgJ_r;nrW_g+V^N ztT27>V45h;3nl(h;Pbw3c%`aB?{5g`;KX)qAOCO1AVlA8?1#5`=6COouwkSKXP{2W z#+B1MOgtpQ#VcxMPIUzV1%Um279HOEwxZ4FSs z*#LHojEt0{@JitM2d!G@%8;Ok44JmA7XpuYRafiikZ^Jit{?XC*NC?I$$^Oue#~*; zPL94Wl9wq-rGA8mjc>&5NW+vBoTK8~*`K>Ki?$3;3(7-)&jGz;GaxLS%7ziw59d*M zK@5#M4tN#qOs8^HhiLc-gx$jMJ~``i7?X%ug&mZ*XV8&ON8V!72Z;94>ZdX3Up#ID zxYBcif<1KVyni6+iGxbGRp_qRY&O;JCa>zfh38ZO&SF&5)TMXexw@*##sLru%-f$i zS}TXe9)@1?UB(yl5|Q@-T_8IJ?UTTUMq|3Wo7=9z1;#)NUO5E zbIAAt&^LUji6`5O?52>!`E%!LpwrzVoD|8(#-;?i*LQzUVY=ytXBS=OhYB7vE$@#VPQ|9+?{9rw{PYkAOO^__ zlG^-0@K-zgZ^l2J7K%gY^qSoO4Ght~k`q%kvAp2~0Oa=1pI!d`{zM%xxF)+d3zQu5 zy@TU!j4u!X0n+>$h1X8{v@=9hpu?tK+K}gcD#*TyBlq{$8mXRAi0pzYli$Z?`dcel zOy%0pE5NlZi;?nxN8{q-?S6eGAJiuHQux@ky%rvo1Ze_uJBq_oipsp#t*qt_5h904 zZxO%>Ab!_E+ws5Jf%^(CH$3h84x;m{&$3${RnCif6x7@zP;5qi01WOOp|MNqvs7+< z5wa<$)HnfV;YCwl12O*_gn4k9y|{5VWsWaxql@e2P`sa<=sm;izroav-Rg=ZhRWUH=K#z;@^bWqn=~XxjWhwB>v^U574B0~X6%Z#kz zqNpgmxKlJNwZHBhH7m@Xy8TF9y^VPH0%IpS(uZY`gv9_2Fw6PQ3-*RbN523e@7ugv z8}$!V(3=Et+YyYS;)j7eMmqV5K@{A;;^Wi+Z=K8dQJg@2SJp>cVo3)=B8cl}{nHTb z{RF^}cyLO2W0APLzcd*Bk)-u6Jc9dJi15_vrv;{%jDpm5XEYA0W7e_ra0d3DV}Rr%@RX#FB=^Bd9BZN_ksZiR+C?nmwE9p|8RO zUF)j1)a|1nDJ0qp%wdZ4qyOb1 z%tc)q3$@_i4vU>bcxP7us0QIl)n|aqjylO)T^$`y(Nn|*dU=m85E4`zbF7NOBzEw?Ky&klje(<2OyFK#D>H4bxQlUBJs8brfBk%8H5ht*}Iqr8zbc}xd z$VneI!Cj-om>9oHmOZEngG|jCJUa3{`P$S%?^0sFfA4IiCFCT1uiNaLag@ZJ5jh1% z0mz%DDC7d> z1-);$xk;e@=6RQgDlq+hc*KI}9qQ`g$>mD){3HSyi8WnP!kKr^p|3r3=DEuaB`0ld zx_XZ|4S+f>6S3w4G820TYwVi}9tT4RQP4a?MX~KBT5OVu=HH0=2~GSVM&E zX(eYC6&fftK5osIhb1Nw&+Jx#F2_LW0$9h$VX#GU_=!!akxLlNc-yWZfa(Vi9%P#E zV!;qmvF7A7LtN4q1f(Ygv*;q&_|6o}{t*<0w^GZS*dmgWLeSBPh-kvm(SQs@++#hD z$o7gf`hndKo_Eh{(KR)~&$V)e_HF-djB{qIAV2>X5Ik$uYlJhiuzYP#Q4$8dQ+cE1 zhGgvpnd!AHcRT|!3UYYHsk*SRu-DPltCBW7?{En=qFZQo42h1x4(*_$1{#-X|HK1- z&o&jTqSRcbhwSj)foE4uhALdu$z0-R{s0bp{3DNqHAD$7%AL$$>_H7GB7a5PhN(1W zMTNKI5a|=+DTLr6Um`;O?g@-e;#q3>yTI3;6AE zbDQ%Q3#6F~$ojM&GAH1g+Y-3qCGi(w*(GZq#W zsQ3h$U%O6&1|E)xdu@xu%WS;PhKb-2j^g;VjgzR9@SobV-?G>N4*-lDofI=24L_6U zw74w>#C?s0sgc9*WF<+P^@f7uNkG7O997 z${uADX$m2cP*x-|DpWqoij1tH2oaHyJyM94WQ0<76d4&2*<~kWe2@37=lA;g?|D6+ zuKT*);~d9%oX1JNpgQ*8Y4h!Z2?&}xK}27IAJdXUHOjhe7lE$1*dwy$OI!?xSx2mW zRG52tXWqT{$Z-LW3vJ(y+=02RxtR^J9zkf|Z1}8AH|AcyXVKUJXYNiH!okc}2u!Lg zDk_#!PNvsnW@ISBu@0V6-4%Rv1>!S8RY^DexKX$#6)B+A(pR-0-)usJ!%y*daLkQT z^52wDP{48PZL8ZrFPI|a!h+76mgEE4bsotcv^epN{L@+6nQ{&GY<6SbTspUM%_f`b z)YE(^iZBa^8``9L7gM_>MJ0R5MP(@JFxhWf8W2XgMA3GPll$`R+whd*O08wc-%jP) zr3CgH29-_xfpFT#MkaMd`!{6$EJ5u3s9pIn?TVW$H_?NTx*u{BUYo=R-@aw$S2hHw z2`^rAbo{d%B%T<8`eG5jf}84Vu1_P}BTacdoL4~Nk;n_NZ_#s$bG_o^sZ+im{Ig|z zpI>ryEjUT;>hG>FX~iF^uP$e;vZ2U7tZb{UKGp`RT6wk3W;GR5eO3TgV*^3asOLX} zbtThxJ4UP-dKfOwHor1rKuO}Iq3i-- z@;0 z;8dAZKJ-zpo-q76y(jaU0PkTD=aUZOeN3 zs31k6-OU&+{vZ^4q6$KG=Luq4#5X#e4_0;dfr%&E@K#Y#uVlllVls|tE6v=U!M1G6 zrg5|N?N3oe>_%#2!=cx1w)=WG*GhM7;(qw-;z0dy5$@5TVHq4A|BnQe==QeVFD3XC zWk8v~KVMXugovihrI_oFY*ctX$hlE5)MYwrE0cvT0R4Bi(NdJ%I=x~BFX_P8(q&gs z>CEkmErCV0Z<;>bhr8q1F_KkJy*q7HuYN6~$SoU{d|m`vQYwsx#(*uRbWdW9#~lym4JwTT6M}yHG)@9j9{` zWVy41Q-}Cd6y4ko8oQ1uHGKX>X*_j*?<3qOI-3gdajY!xfb&9J6R;7`^EuF4@34i7 zs}x-P_IQv+}D%Q8psj1nG9lR9LM*cb#1P(zPi$ zIm?Rqgw0Pm2r+#Yb?RYY5@u!a38$H+1t0SYs62k}6!hNE1{hvCbB02SW7HI`=%{cU zWDTt0+foVc1K?+BvR;D`UFTEE!0y;7!}aa7P6O{95QZWILr;r+Q^JbQF{iuOR90iB zLj!KJ3cltePG!==T7F|?GI*mAV%8cXnbH=m2@ zt)+%Xi9gIyCMuX@`E{<{$XH89#~a*dy0-&2GJhdw=^q@_juQ5M6t4a4g8oSzi=9j< zd%h)TC{`|Ie_UFT1HWCKfp`fsXhcfiptXi}S)CL$xzED7Y$F2r;F|EL0y?RE1fl#IqO6gylj3;`^H! z`{UZG(K61=Xfn!6FKEf4as2{RfNH~q9FW;dax92=W)%xQxQ>bq3YB*epyt!(w)OW5 z#X9%0D<-KjR{sM=F6i81)*9?W#HyXL%CBq=SsLE_I55>`&psbFCFsnH{QSS|)T4HE zFR%B@?V>{7PISe0hh-_KcX=+SWjI5?<&Ac^85!FNW8EP`nQrVJfJqS(Sh|$0Kn?c% zy43n@S?9dSZlEmB><6^NfSeFf3fP;TRGdwGW7It$hxxOjMo|UY-HknzXkYtDuH*Hm`3Z~%%b%{jI#JJe+>n6 zlCvap04LSxreP*~DE!3cz8 zU>$whYqBaO)Pd3%_0U<7AhfVtt@e4qpCa6_5p2S9w537dNh>Pot6(R+<$)e;pS>0 zm}N~u_$eNsKe}}FeKztm;~eghwh;m zDN^4()(I|ky{!hHpfBiuWTQSmnmTMw*}2_&`cswo1AZ)_st{b7Iag4h1qo7-Kz#7q zco^J!Hsz?5{kxr%ns;5T+Zm9LTHA|CoQQQYxRocw;03bcZK`QKflAm`r^*eY zfN8aPB7a?p)ABM`@^Bq6mkxFV%R_<4XIM;I6{*j6xbwX9yK2r$2Z<}F?zBxEXW7?$ z^nlohVShH0{Ru^Q0f)RgEb`xh#ES7i@(fq{N>xOM8C$7TQAbBS^{9P*()`?9%>(^+ zr)lP%42w}dA=xLr$eD-4_Fm~d#@Y1ZB;svXU96O#oN?}9#S`aIXm>`TeH%?%g2--Z z=`DXcJmkO<&{5J}Ht_4$2ZWeBDPN3MD)=sTbdR~(Ae&Z=`z?rXin0O_g0fE8_ZxT4 zj&*$i#`ej`%aC-Q^n<_4&c1tXw>!e})Lo&zAzL)ar`$f0cTx+!y;j<5%1&t9zrC9rtH^etHUXUo9I@&y8N#UivZqU;`l@# z%B;)!>)U&<1(LR1-ou-JC?H8Y^~Pndx903l6?V^UI;)tq?7ETgq;UgH%x{ThFQpWeJ@4dS_<&t+NFU&oex}P~(`Rg7te& zQ!;36jyZL;{#z17YO2n09U~qmsgW5U=k}_>*oX+w$vRMvKz0t} zukE?dok+aM1fhGU1fEAdV1B4)GULw zCC#XH8BpCFU)?~kG8g;!jH?HIXIWnUXtJykAQT2P>x7+G6_$f2#-buzksv3GgnfPD z=YDlcPI~173DZ?@SP3G5%AWv~@h{@Cd6ZFBQXP?R+ZlqpJhZS{HmaAG53UXu z3TAnhcdNFadP=#{Cz5|~6U94pR{YEDOlu>tGX9YR}*kb3?_=IV2 zX3)~vw$5}xE-)aVz?{^QsfZI(?(Ovo0N3C?{3$QpFLwWyw%?0_-SRxt5LF+y$o-G#I_O&8#KG@+V; zg(*hITECwJs@%t`o^PjuN{UVA^&3wp`2L}=)qm~A5x;o3M>ME^G3wy8eVfD#AML8U ztG#dr7hjco9S!e@Js$}l^D5=A)HUcRbc4|)C5lBi%47NZRW<9C_=AXuX}?N&K2-*C(DQzQ9&lQf zT{}|W*f(J29m6C{&qry3a&pilU05F_KAkQx@FWy2kIq;KOz<%=N_=S~r zOj%9-MAPcvv8~?I8JAnr!&WkDX%jM46X+#BhbY53VSN)bn&|Wq2{gJ-u8zuhqg`g9u>cj-&#r?sDN?%|YT=}#WMI>@gn#nnF zK%bK%&2(~_Ovz47UEL4qSLrA_0nmf9HpDft4TQZt$0xQC1^^IM1u1Wv8VKQ(I_;(S0y=BwUWIZmC^@zIEs(w#<7zlEhJ`_@^&y|r0fFcC%CVz`3 zU~{wrJdq<@2~uW&x1lx8bMMQjA*UPMSiG_tsyA4XcRNGX&wHG0y_!oNZb*H2a%ddw zQ$t;2pv8~^*8LFd55z1XGm`;kUdqyN)#x_dACIA>hi7cBlH&INU`*SYoXG&Uv~OP* zbd~Z%?)q0p?Og+dD#E|pdwqU#sH;YRa*E=xX5%s56m-FSx;{~XXN5^;VGMl)x0%%IM zIrqh+b(N=djY)zuPO!`urAj3`xe&X{K76qPTdS4k3>A9uPi_%;NeP;(!xy_s3Aynv;49ukeu?$2z1xRjHmOsZbi9aH*{uZz9 zUW*{L?&f;l0(+4&EuhsQ=h>+BgV4~y_HNQoI88S;i$ND@OFuDR2vMjz@6SE+p~xhq zmmp;(#axtSba_~XL`4rn>!7l{3^lk);;YXQYf#h&p6w#1{LQoiLACq;4vr@BMxaDB z^sG16TkktQae$Dk5LOQ2Xzp9vdHIv%pfZ?wG8L!UPka^C8xe9HIen|Fd$pSIOyU8) z*@I+Hi)4O(Ik6@s)Z}DX_=5-jKrkQs@w3{!wMdnvSnoQ1Vo02x7{a=U0peR7`cyZ-&C)AR+Db5kw{LN ztOADM+h2Ma@DR`DJB93?uMV@r){tuZMvW*$s0}06AMmHlMd6g&?Z+ir(faCz_j->f zBI2T=Ys}4Eb2QQjuI)O#lVEMSulc;4@-3p2?Kkp}WBwqA&}IX>=T>{3kQ(Qt2Jz&A z^2Zv+gMkhhsB+wUeJcR`%Q_M=kl1_j6*}0XV45UfgF_qccfC(65;(jDK zbY$o8iTKQAWX&yt8yST@1cGe}vN9X7ZoEW}?2aR;2S&Q$v9ui}s z!A@!$3$ci-9A(#a#*Y&AEuI{S5Hludn+6;MH{A*WuGxB5UsBFC_t!@uG z$J1N|f(>EdXrXMc2f} zyJIM&_CFl2UQJ9&I;_0M;ywTl@b1l>!LEYDm+Y*1=sW6zanm)HpUU7*m9S?N=2dQUHR-6dk~Dk`)#hOg?h z*15?P{1-T>>Y-PcYnP8I={oz#wcS;Fe@+7S>ns%a^==y7Hy^XrA%}~F8I&qf?`cU& zPk4)(uq})PG%wQww|-n(qUqv$oNf&54kLP-jw)utfC}wBNOR_)Up#PxlpyX9>7@!K zuHB9q1>ZQx+*&s=tCROMK)iE>_x&~pGvy>L0?FFhX)DWEkj4Wt6(G3d8;F??$?nsV z-6sw3LljpXU1M`|!KD*>8))gpYi+0K#!d_Ol%b7&{DeMv@(+fG7L61qL*=RRayqz$ zPRTjRsQ;EoWA?hXYoI*Bt-JAv;xLS+(9NU5H_x(3$M-MJgVA~p`g$UXlsYI0|;DMo#$q1NxSEV<|tVIt)AF2RK zhmdE!t{JZOcIY=KvE-J6$WP>hL<{*h`M>$_j{)NATYk`c{Vs9w+7RspZDn^oJyuea zRlIiuUctMz@5ILN<()(1d~uRv;2R_D*h|M7s~MJqW(4rVh?ztQ{@+0eoR;N%?**87 z=rgJ?_#1v{+gX-rbT2t&1VC5jZWu`#%3zy{o#iBy}+!nCmA2c!{B?Kd!m2-G#&y z^)M~Y))_jP>&Px!W}`IuOblbO{ODgIN*s1_n`Suh&64bVLhp z?qX}puS$bNna1o0Z~{IVbi`ZgLbeZ1E*J}QqwdPg`HSc}fE@XkO``F!O> zQsz$WWYbwxTSoR!a3w0`!aXMGHDTI`&z=Q~R~+XhvOgwwrBBek_0mvO3G|ZH3PFpf zv2f3Zv~gS_`k=BTk-$BcmoFUr8)E1F9V?>x;@f-`B-1ud|yVr1B`GO zkjnjdA(ZMp?;~nO;(eB)tb2ixfq_uN(o9wEq1Xo+f12Nfi%hKbBYJ+m-#BW53FM+s z=+er;j3X*1iRCMyP4Wo>Zv0XVowdj6Fa5hA6$3rn zUao7k=)fE%#^OJ6KfssndqD{;pu6z>-AxiaGATu&gbXMI%1@%Tn-pZu={L%WGHxYy zGa1-&PPZf@ji&oEw<}k6gK?-^7P3l#PDe*as0!$fhtL{+z7+Dd?5(f*R`YV{28V%h z^n91`$8Zstid$fpa(?dEfBeM}<(*`=Qf>ijH6^^;yCPSXygbvLBf6y_TY+7b*VgK7 zbTmPpc~qB;=`pAULKW~tt9X=^PGXn^SlPOY!RMhR(LXSt6$^WQ8HLviVYDdkGHF#x z9KXWtS)>yqjjkL3FOLHSj{`j5_0|j#Oqn~612eJDm{0o_4g)i?d$pVE8Pm(74qVwv z@?Ac^JzLn=ia{)QP>j3t;T$*gpCtYr2N#f{H+vSHh-qzY^+%zr;aT!qB-cAV7F>00 zdq9+#k4W3er|pFY+s#N(1d9swbaaY$PHz+V3d|Sj(mPv@hR=tA*pPnRLn{PCDaX~k-=6TL z!zW+qt=7V>K`4X+k_Ks}oV@SjX66@8EIrv5@#WsN-R%??-Cn6cFVK{}rN%8o82${G zRM*y#j#oAX7x*DJty`i1Z_1pMr$v#k2HkbUE9#DGbLEwleePeIpmD9(^D)(71zB1q z8kEdD-tG+evs^PTGw9Bp??@&@_*L$K8%S=w%6(9&HDqUgTvmPOd$EO_vSs;Kf4MC8 z%vrK#JHhndsFnN~ULOM{5@q!0#&*~5DSEtQ7y20qpO?nfz`+VdFkBm*vXFDg8+*>? z>ciZ`k)vCWhA%DVool;ol@6fTqQ|7P`Hh`*VW_r)efQ|-Xm9w)4gxsx)zv)Dh@nh9 zszC?r2k5g7p3=^E`gA=?t>ogiT3T8!a6 z)tasJFHt9wAmvN^WtpElmuNtzm9?whmIF6sRCb;vel*nmDhSUvu=i22Fa*pIq1s1< z7qyj68W?PbEDw(A5fnyX3T_OZLL~wupxQn^viIcI;;i;bcb^Cak;^Bv(*H8RSez=Nc`gE%MDDN zKp6H*-5?M4&GZ2Pf9tI4dOwp8^f-P32)-+14-CHNdIcq&TPO@a_XEv|`nq3`X~`(~ z#`|R;&LJtTNaE2A2%u3Y0>d{Y7mQ-C;lc`*-yl!!KS?$T5YOY927AG+!qANK2R|^~ z?^^S#UrKQ97YE6{YohYVO&kAXT{g_+&b14;l~QkPuDTyu0axdLNOI*KW1x=7?hI84hbmAK+1F7#U6Mao}S*(DQu9PD7U zqGn26MUiuucv@``LhxsgoWsu5)pfULpH8oFp({JMD5wJanV&x|a&4Ef>dXZ=-Hqg+ zR+1N%#|hi&xl-hLWmTBW3i&9IsX3&tuGLm03n0(4{-X9~Rr1(9E6JXrm3R5hv|WEd zZb#3!9v%y8_ipHSn(w$|;KbgIhZOfvO?O1NMxTeV(n*j6h`JMY3%nQ9GW9sOKyC1v zt`9T0R>wD1Jy$;}oURLelZ2$Ghjmn`(F0K-t)yvP-%uLWOQYvcq*}taXuYsnW#i+w zJ+?-}3Q>Wwqhrosb8m2Pu$&&}(n~fN%O*3Qj647fh-M2wXdg(oGyY+kFEiza$PM3% zR3E@Yh*#m-vJd$zhud-q9-esAi}cvOeEBGlGq9|C3-|wb`s;ZQ9-Kcx34C1b`u!#= z>SQ`cLf}P|zY4nv_Z-IjO;vJC*~u|YE-G5wK=FGhtxR_v?Lh;9yvLU)7~40Uh!XW~ zMh&oWx9VZ)S$+7qgi%fg?Fsvqv1v!94-6jDP6n47Jys%#-e=iNPBMY}=7Vd0J#N;!jMu7UIiyWWIOAQ@xHgJ-{XT6g2X+ifVdD+$EWfjl|O8HP9W6E}`GJN#zIb0|wbfoE&y#nV+YiUK3RnaLK z2ifAZ>H-jB(C?kKD}*Hq4WB5|>nNfK!K$-@=`(4W4y6FHJK^BCaAV~for5jPexTUl z)MCa~dH`pzw$;n+mOAD_WZ#4TLtA<)O|*98R}^2c?qR{nzLn`VDWO|1M$KtNOzQ^q zc|Z?oGkMs8i3w8 zU@s-WTy+%@zSoA6mwW>3|A!q&DR7*Lei_mu1sl-vgsp$}_U$2n5W*i>6z0(Fz%8VGF zvD9BWEF=*juW7fM&CH@kmj3{sS_JINkqvH5uYjFN(WsgE~iYP;>}X;c#8})Y@zzqFP{5_d2T@G3yXcYGGIBXEoz-W)rOenDg4-8&`GKL3d{p?S-LT@bT7a(8@eOmm{;@N-rWL{grDj)hK}tHg^9A%6O4n$N)8?minNQ` z7_e&82Vqa6YrnGbMEwgFQsFmUkHkW!FR$qW4>m)yTKn;r#l5AjZ}q-GK=99gr|;hY z?}PKZom;DkVcohnP1s(4a_H`2d$m+_Gp|U-n7HhU3_$l-|L(fYrj1awFKrbq!PDf0 zpEmAO8~h#S2&sjRj^-P*h3W&RE#=NW*=vkz%Ythwf2pI;Ei*ZEh{JR(4lh|ZsHqCa z1wX)x?02Ic-V`3c#EHh1--Y8D*`znDOLA)CYR3E9^}B{b7pihDw_eT1!cjkTJvs}A z1P?4)6re8F&^VqjtGx>dJt{Xd0j@{tMyA(dEFwi!MJi??Bzwx*t>+G4c|>|RZr5u| zTpA4)7P&R$$(Gu5xc$*pn_WjeX9sOLEWyEe-ss}Lr_@!_FVWWII`#W1&%fXfE=zYL zy4z#6?svomQ93DP`1!^e-NWL4z})`;rJj}Xd3m!<0z0n8Kr$~L<*dBG>&md9(3qUM z4~3W^9g&9K9S|$02x);}t^plbE)(ZmLv;+L`?Haj5pvv_xxJfBY>Ng&>5A7tkBZ(a zoI3y)UE!aYbWGi%WX4-s_r3IgdhI5u>u=B-|UJdll0G$1a10{AKB63?hAcAozQx zQrf1|(=InUOH%Uwv8~yt^m1!8RG2;gii5$5$$=}*2h8{eaRg<3f9v(_n=t^gzX5Gr zN}qFLz+xLb0lB||=$g+^ zG)PE~6B6D!td)7zI0$u6S^jHwxoy@n)E%wFj=GKmd3NOp{y7 ze^+GnU$+%BPVQ@G<>hTT79R@qc^vVmP&4k5TE;~b76I0N8xN59gQkD?Pp5gX5t^~? zhwFTU;we7foy~ij43iY!%~xZqj$1ylV$=+v zALNTC?q9$V9Fef`sbDcYE#6Q`%if@FWVW(6v+zSSof5EyOjiE!O}i{yM)j9^<(UoZy-dwj3&z zv*l1@Xd3G-b5nflg?QrHjC*YM)GzQ83%@z9_w0iJ@`|0WQ*HMDj|;GKr%h@yt~`-E z>QVb+Q)`fpqcR=P1`=rd;BIn)J-#2*yk@g;w?0Pmi93 z4p$2q%D()sf!CfwpFg5pRU*g^TVh6dcvRUrbl=5FW11o zPlTYfi7lo$oB6|_;;(iGylFez#7YxqT1KwW>_$Bf4ud@V$EYi~DegUOc?afb@%AC^ z(MQ?Y4uKNA^O;wAYvZyGTqDHd;=8J!eZT$_qR3$YwbQvLm|IcqpbiZ_Aj;SR zFL++ek809ubK)o)a=S?u>$M~T$G>VS8h^`)?)1`0d4?+74x_v;&iJwzM4Ne)I4g@7 zU*k0X)AFLYL(B^d4r4Fbc=ZEjU!X+oT!r~%&r#Gaq24S{|K~2h2cal`uyCA=T)`kj z6I+||`qsZ2!9Nk^K16ZHO!d+CZ1q2-k}wJthV%-y5^ItU_{hW-b7nk-mp(N`CAGdI zY|@!q-eA;FhZiys2`iS<>&tc)h?L zy8~H8^6*ESl|H}Dk;nH^!nX$>Z4=etF8}RXOvm6Xl~VLHEp6~1Rv*Dfp<+n1*soGH z@S5w)SICUb`3*VN4@`!;F0GXevbqa`^F^}HT}^1{9kHr9dU|~_+k%gd+8P#bz~()} z!KTODmcHp(-gP-Bf|C%-#1=!Fj+mS!Kc9IFqHw7K2fO*nXfYV$38s~0WFCo3i2>20 zIBh&ELr3wF?QDTl?$}W=liG72#$+?`K89j_qQlm81AEG>@E}hv zHX2}!&A?FmXJn7p9424HCAr9Eg%c3Y*k1gERO1g^Db;Jsh2@kRhmtg|y&T-IUPgAu zWbi*txmn*EhY_8ig?p0eH#z|u*=28d+QIHiLfiO$IGd>z4gk<_c2k_GXQ^@S2DTj6 zDt495jUb3v>%4k7o_ZH!kAsN$ahV-Rbt_a_tBmv6!+$<7drHrB1x-)DA#R&;wktUT zscP4tl8hZQI#TR~`T?d?w(7MNLJPBYnx6V36Vxnd1+r($p|PR^uqsGMau0g!pmO-v z*KT3mq4+k~hCrFW5^ed0eL&x+qYKt@NaN<@1>nmQ8tC&Yu8@tPV8PRz=g&n3Fe4e)epPGbGwXyR6K{-vp2`f~W#BcGHCeunJ{r z7|24QTtM5MoKQuT<1;dgtn2-1JPR7nTA(1vCN@sf(Ntm@PG?Pf=5nIhggOl(0#jVq zsf}S3=U)_cQ_r{Ol|O1yUHtuM?SdfU6w^v&5(wlCiu4^QjbQxM{45DKPxB#$lhDGC zG@g0l<}<{h-p5)5k{kvy%=+bfK#;)L{VPWEP&$nf!K-lp2@b0;BPy48p^H70VY^BP zQWpd)zIS$Z#$+D$w1f4NTwgZkBXHnNb0PY+@7$@ep1h9no(DmcF6_D`F#l}H2D&S1 zO`2Q&VstYj5`hRqaQTj2zWfCE{0{^f^*>}*2%W&i+fp;)e;S}Zq+W;EBvFk^L5eG` z-`FA-nAl$sPPM1T`j*i2&8w;Cv2#Jo8#y@Ouu9fGZ7d{m*PHte$+JW4di)X!L0RFG zyECu2&QWejHyU72$QQk~+dyrOBM-#ibVFNPfpQ(Is~I|?4dB-CR^@1_*M*3cR4JRO z>`$o`LKxg8AN#?!pwXd}Waqe~QmYuiqksg{7q$D@QyZXm96ioVJ^vujj7f(?FMi`L zdjZwKF1xXkoZ==N$6F$i*`y3jK2U1La$h?_fjJ;sJ zn{sy>Sr{3J`ZaAfHSUq}8M^BCpw`5tTXMlWoQM4WO8y5Q7gCb1WL|l#Ry4gs|G6S! zjZD))bhSmB9A6s>Bgdoh{OeCz!2@qRt-zg++I=CgicZq($?qwHwCt(4x&izAr9EFs z)JKvUTQp|NyTsRoU;cy1OZF~pqk(C_jOS1^QnS23&%<0EUq1>m-|m=T zBEB+y6q{y!-@ep=!Eu09P9uj>Fa}-PQ{VaNglO>%T$d0FWQSy4jf7^~OAx!UnB@jT z6AoW$Q?ws@Egcn>`!GnyRA>3Q^+_ba&HaaICGGi|=*P(AasyRluBFp>%3xH~IP~(R z!6eIH`CsjV_O%Cm8ntBJIq3xXIH5Ssx7n4=q?M&54?U@R()WL zsqDok4lc(fG%=>{x+noIMJ#{)HS8OeXzS`7vMbO2^@ltaU*+{F_35DMS-mp|7k-DhS2!?mm+UZxCM5~5nD&NYoxUusQ&+HRN+HjHaMOXWmri14n?2`p zWfB`f_qs{qH}DZ_XmW>2t#a$6hstvUW>1~3ez2d6NEPGnyqi@&6Y>hQ>lokxZNNR_5Cp zvvdR((R6i1><6`3)OwKk1fwP)4YTtt*P{MmWQ~_6GaQ@YLn?@qeA@6ll4nfP%L~AP z)abMBvBzXTif5l`z%!V$sbB|~Reei0Mc!IO@;W9aBU0zVSnuJ4UDYPf*@~fms&=y} zEhr+AqZHuDkAWEIC7EK{%R8_*z4S%}s5cf0SQHIKqkSjlV3l*yxt@Xhl+1RTOn82q z$N-6vD=}{!q(2Oiyj49#hD|9rya=O2ks%oG*sFOPgHqu$ z$$PCP?*%w5fk%CSRUDr}zr~W*#@W5WfztGgWt-&_s8bE_i`<{QfJh5}p$wM4I#li4 zcjAXNux}X3O6%%cTWfF)9-uY4h@KM4ha@3WkUU;wz7;J~ox zx`9dFzC+}Bs;Y2)(CVEomjZb^i0wzD#1V1>IPV2?H_zm(zOIc_$B++m>0Z}#+Pja9 z|6Y?0k=HjXsBeD&yTo{O&>^OKsCdJ;^*~)p&F%mRm@30nc!|0LMRIY6iX@#~Qzo}) zu^faE!Y|4Xz zJz~4j0+s}(AdJ=fCgnKE7>p^VbVA7Q_~rY1en|B}aHq1zF4Oexg;F+{-uDj2_+X8n z53P^?f*Typ6MR&%sN>1AU^#WxBoOzIEYA4;rpC(*d9)m_v-a zN9$^s&p+@+R>4ynNrB-q(}0Pgt8A10_sW`%E>`PNPeL8id^yCLf`1J2PecQLOog1y z>p^1 zE8TQ}+(eX%aN%een}!88+L=tD_C*#G({Mo#J(UT~T|w3?QTh6JWXAPYTmfF^kG z7>aob+k~)6qk}r4y&*cu&ViPgKM1H)SK@GwMSDEDN%ms)gFRG~dtdxJPC+^%4w`lQ z4f~(~bI+b=Z`U#gbaIl| z0B-jDgpp(W-d+UZ*y67$0?Z!6QY8je!t;DR-$&1yLuMXB3gsWeK#M70UQ0|!K-F4A zWZN{j9itEflf)2zJ*kKXu7$+f$6UdfTBIRO66L$OuicdBeFHDfjHyb7(b7h=2v_q0 z9QL`S4U5vk07+dESeyY!!^{9REeYPNytOPJ{#4dX%ME;U%hH{ zsBQ(tO9aP(`fq9ev^$z)XHPw$-j42WAHMPGdhz(O{Jgw{2CAW=pkEGSb?1_XqQRaN zr%k?VLcQ5q9nH;7{iH2u3XBt7ab{qxmV#-n=tXqkKIdlR0go;xPgkl;dxvUUzwrd zVKOlzNJ#b;#@JJM=q!J+3OeN0z^{KOE6bL~ZDQ!-m1hEE80(Wg#hJPLwN>i0)9lTO zjwGR$5vr-8EaVIM?Sj8I?1NmN=!1`Wfrq$0g6@PgFVpn3GQJ(2bYf?zBS`eet%2LeJONuLTopZWU~NU_Ukgz5U&o37zQ{m4nzl!^X#kt^2Hv5o5eG) z$jmQp{}Jrdx=N%=(mfx0dJ215%X_b)z$m0XyS?nqmGU^rK(cTAgP8TV>Dz&oc!DOK zfe|eRlA`SJ1sDDzq>fbu+SL6T4Te9{#$ur9C`W*V`XX~QP)r~OZ^*oE&&&~@PL}wTVIWQ2A&OO?T}|7 z(w9Og;hs-o|0UD)nvR&UWSka)W=IAamGJ}-@I|@$xBzn&hLf`JKZ{n}1 z#F%}1&6K@V3?NecOz3Um+G36hL}A|aR*T5&efEL{o}kDG->Z1^JjAlzUx`E$hZbF& zr+4notkzh_$p%xh6=CjS(`qlYp)NMp)rG7(^~B7!hhcOB!Ge#~)#g^iMccA-ayEd{ zF%%&g*iHNIv(BKBy%!=}GcU|`IX6S*T%}6E@twba_bEj936`DAqeoW89=@4;8bhT{ zKR2sbKz+D?*FJ%G|G5>Gzgh*^!`au)e&|5~in#a=BMgRIO${OBZ-XCZwCmu(_NkwD zO*ZB+iropyNeY&Omo3n`&N{vu6JSX+Vw&I|x*40e?Y-^K$%Q#UWglato6J{?Bmd}O zt&|MRk!B=8g=!mA>0fHrF$%P^<*gB`#iu}|P@$<9XOx-4;Jv>JMl57tn>OHq%y^(a zQNApVXf-;&-SD+$siYeX#rX@y2O&sok|;rhVnT-7V$q-DETSOU&O6ZZ$;ifBGR4FY zoF=xsWqu`bm+*#xp9G1o9L67+xlniU=jgnc&JqDPhu7T`w`jDPtMmCvL6MOHdfNZx6*?pn2 zRNI~0v95jjj06UlynXxj(_Wik(B<}AdsY7;Scp^Y#n($$`k7N8ZtsNgiv#g;j>CrV zx%mO|T)(HLMDA4}%y@{g676KBG)1!#|8_X^3tJxTcv)F%T{$;{co%c>lk7Gnx0^sg zR4|;^CMH=gzq&IormJg!wY+w-X$IBh#_Q-?j;w8`nZa;^4SCDNXs*$Uy-mXvj$<@R zBpxCJEOZm`$CX%)XJTB)O+bv!G(D%X*tGQ1s}_{|mz8G$tURuv;gfmYe-9yip$$9p zdYA2q{$<2l-8Bnveo@t@r>koLB83?LU1dCk8nP|y@JpnQJg0c>dMaa2^P}Vad&PeG z*GEg)U})v+*RiZNt@iuG>BotU;a4B2H9;e3z<0l==e~F6ahg_NfEU7_U?$ig3e4Q1 zqKCd-+GoGgaG8~0v0wyKp8PY@Ps(4fVKDk8RXZ0CR=H-sGPnf*Q-);$7j{Kb2MywE z##M@N6d3B9dhVKG~s7T1K5FiuQ6J#RLpi|yS>l3viP9q7m)C_Gsu1MQ^S1GiM5F2 zmyUd;@-?!As54wqD5A5KrV+c9eO0fYfh^sqjfbq?;jQ$N1It|w`t@9}$6#mgBp?%Lm}TDzcNB;#tBWBO$N9VEC? zqi>N#Gf##AJ{`hvYxw%yQ2}OyTs!mr&9B!2?QViFib9h-&5Oowta*op&wNtWC!e2N z)44F$1=(lnqk&3=Y$L<&GgOXajHn4%rcH45e=aii!P;-JWDPAXd5U$} zVk8=HntpAyEwH=Dk&F7U#{?DWwaay6GcDwXW%>v}-Jxnn&PD8XLOKs4rq0atKF9{b z@=15SF(w_qMTMLn&wYpI_RQwRDDu6HHxWRA5cAE9%Aye`29Ys7*vhZal{xYxyGUT* zbV7dT2lz<@(+)24LncW7TRu75RmMP}{okCDjAttK#)~e`M7?TU_)jXP*TytfqCYA6 zO-)Y;q>9r)o`8eB2WQ=5S7ZHdCPbq2-!B-kD0M@UbtGi6;giv5J>XKT{qN`DZ;lad z+{~f{7eVIg6Dj{8h0FW(s@1;x&i=H7gzGWMuE$heG*A@Q?&nMK_3+nxm65Hk(SJp% z$O#$4wC{Hxg6eiwkW+Q_XY-gSLNt$U18)-kl4`p_fs<|j=C`El0+qeeh)=qmT8Mmr z8839x$HG7(gw-1G1gmsRCitXVin%lDs9rD_CF|hZwnK5MCfMGqYVE4|t}{;> zfKwQjO(Go2$)&E{XdL$Y;2Xe4CY&4`u9|f|3Rj&0l>!GVi|O)AM#zbwxZass+T=%m zemy~Fx^Rjw*h%liiTXbZtit96_1@3Tp1e`gu4|aMBN2rxExn9C2n=4g=(W=r>Z%4{ z6rWh^k&U{6A&9i?AzbudOAOK>U_A(T$ZJUvg3&n%eT>gY-45%qziKSJDbazsAfbXy z-0x!$+M+;gbc9Dk#&xY;NMS!e^?4e=*KePA{6$LT&&{7>-C9LSN&IH(D1rhHKK_RW zh?_fm8B1;F{0Hpw4%!FX72^#3aQV~+^ZotoC%Fzl5Qi~w2Y<0~5~UBdA9tYqE@B@( z|Mw3;KN9d#cEBz`|JuyKvDT<3I(w=SqYDqhXRg7E#XtrvtHt2&8e|V(&5Vzg-$RiD zCI8ofGj{mqMygHoWS#o?Xz_H&!cO~eFIq;@k4_$pxd$h3o5+y6ei0A=I%3sR|J)SQ zR>y6;iVBIbV8uX_9&%+bpP=uRY!iZg)E5;qU{Tsp8X-s5-i?Y>z$``VEAR-MZ+kGT zKk3$-vh4WO*5=BCuPwpX!e3h1&diY(*Sx$I#0luxDRX$=4;5f;FLG<>kBNlMqUvYu zGfZ^NIi>7{?AKA0pjf0J?Ku3UzyD&tNUA`4lzM91YNKQhoFxwUoD!6UI1o8v44P4y z>lO45pCDs{FqAzHrl+s5<-Ce*ITt8#O%QK6e3GKM0{#!`U=PQ}#y;r=0w8Nb#Tw=U z1%aUFFsR&OakcR#9PlV+PaLAo2Fyg&lgCl?1Y*>!gIQd^jP&=P`9eEd08xhD<@`Y` z?;<>QKKNMp4953TKOZUSn5Uo`nwxwioE^5;amML~3VJt&d=aNPEbVdTF%~6+X54o} z*L_8i^st7^n0J?Cf5#>YO9Zlw?3^6S|3s!&Qm%=Lidwg0`1-_O|FL)24y$P69PCyS z!6gFZV_$Pk-jVo)OZP^d`prL-aI>!gd{e9R{`nbAR*--X(c<Dbg`ADZ6;+zu z_(s`k`D=e!Y3a9D5ZMThR~kKmwcOVwxo|+GM(nkQ05i!~VJ0-XBu{!2P2{|Py|wh5 z*8jKwRwRWNItLzC2eKt;ft8%k2_aIM+bvX!TWAA9A4ml0@yP z$W=CWS|En;tLepyM`1AD$_1`2zO!uBs#FeUw#Y}K=qcVT8aeI^kCpA{&i+M06j(Z# zbI_c22ji~bkhWeq7a(?G7jS6GH&ez@q&We$yVTenW16x6H+K0(NO6$V@KDjy2@4NH`+5WnG1Oc2U_caX%9v_42VHd=0E zuB9p#fLZa9b=(QbUTJ}Lk%3d?TnN5ea<8P4Or?=x6G^(iV2XV*c}=Ugu}}Cj;)`#P zIKGzF)*p!-R%D$!HJeW%0r1yLQ@;_1{gjZ9NSKpf~!9k$evDSjtGjp~DBL;sqUbHQ}{ zTlr3q*dC!V>sIF3C)rz2+mG`Wy8()2ke!WJa&o#)Q)446eNf=OGiX8uEuU~* z`zZnR>}KXJ^8jZP79|s`-VFRw$SeDSx^R^=+utP5Zula3O=kRk31^654naxeLtY}3 z8Gy%X2)PmKJ3scQxxJn9`6|tm^!-5=-Hk1dIB!|l-#O$?D*oLOeWs z#UrK}2~`SQ0*_{czmazj;sfW#%GP{uVT}K=@sop|X~^(VY7Do+3Kss$fj4p)5ePcinoO=B8Q<^Sx4Yj$h3&=Li2_Ptn!L>jrjE*!b@;z%cC(rY& zgKv}5r%PIZZ~*9F-^sJ~9yp*6Q#oL^Yi1TUYo|TaG;Eso)C)208V6~7uY zuMaWSow96=ruru#6)l#_A(LA~Jhc|FaJ-@vC5&V`Mxu%4=2QJ5%0MdHXMYcAc#ADt z#2u)NHqPA*7A-D1my={d?feY+Br!D>r3V?=jw+Qmf7+sk3F@OplM0EY%|E;ndB0CI9&sK~+3rl<@)7Pnu`mMJzgPz2}TC={wAN=+xR- zAzgJj-zu{BzvHc+v=8hdUn>9AH?e;r#9d$e(}$<%NentT#g+sR3VqZhu7gaUeV8)7 z#VVgL-|-+PJV*sG0o9qTiGwp?s~=u^l>Y6+ev^#sqV2-{E87ug1k8FSLm~vv5xuv1 zc02&?5CDZ+E3!556+3RAk2)yCEa1D>YjZ1535ZTRG)A+qk29?+==KzIao_vTM6dG3`fqeVi46fi}y z5DI$pS}bGXdt_4mKCSe0-CbJnzGnhmaeMcbHkjXp=wk5zlEt6{)ay)9d93r_2=0<~ zcB8v;U6rlT|HF1JAib2njVXJ9&?4EoJBqQ0`iLy2;e_+w1nEPUVN z;RzLk-)~0TYQIisu}CJ6B4@Ebt}amuvj(Er5&UwyP7p{!I9vnSS#CR$WK~sB>w|Q> zCbHUx$X^iDb}DH$zqX?lEHfCI^p>ssh8X_Gi3BzB#X{T|8zvWWY^%w(0jF{<#O^LX zf|d8k%5ptlb$35#*DXaJ9@KEHFJR_1Ij~A=XKhN^UIYczk$*o*L@iPgYdr~xUH#P* z;sIzM444&i`Cq!!bXTJH9{gJl`-JT??13NK{I9%TLEbepOK6{!_G1KY|3B+AfgiL_3_uuZG zzN&KQ|ET)%cq+H{{jC&7icXGH#-da*R;G+4ZAxe~CrVNXA#(#x2uY;KoFii*k*O3y zriunrnIl_<%>1skRp0m5U+?Ghp1nNJde*v!>%Q*m4&pqhrA1O@Jb@fSrAA2A>~6{o zQRGys=kpQ0@)hPTWVmiO+qTfdeECco;W>^ry(`Enl?L|q2uVc8_tIk$&<%4CEMb_T zcPfKnHpz59JTi;5I&N029xpuQj{_Bnm(k7oDAM%3B=H=gC6$6(BWLioUw&+JD`r(aH(3ZEzsSle&Rd;ccS z!w-|W91&E}EB)!hV1=xYsYp8#kqi2!GVB5efM6pS>|1xlE~F9Z)tgxVn5PKIQQR&~ zbdM$FElSBjGV-_#6bRq|^5#M3cBUZw5dRh*Gvi#XgqlU~7Co!)zIYwvoWh`c3-54a zUoE<1wwHtad{?-zUm23eHqfY=f)y5^lK7&cB1CCarL`k`o--E!WbAafz1ghV72#ix z>S`5B7~Et%-h7HixP;HDDY6br11iTG0Yyz$HGcAB`Pfk&?}4nOVy&<}Dx{cJj{28V z@0L}FF_IQyj0V^sT`75d<#aUH#E?TDa{_Z;UGkHXEOHV&nLlm_G*kHb!3?z*7QMx% z9(v9Fw>@m1AU(cdHeyV~-15ZJK#oIGi-=_IXJM@1b)^yIk+h7Ad9Q@;0#}OoW0O1if#u&M&I3}{1@29y2xE%VRj?>a3Cl77S2O9&O-vu#?=tszgiXxS5y~1 ze+%;<^WZX@uwWsp)B~=J4jnDtJuc%iDjcsk{0nChxh64xSTy`u*T>xtyzFtVWOX=Z z@8$fwT&JKdsTdAU6K_7jyC{aq!hUl>2|-(i1fCLw2Rw_w)|d)J<8Vm_kUzzyaNipB z!3>sYeAX@!Xk$c^OT5Hsi(Xz~mmm#4)o`+omm8d1hTwVacAa_jSAQyw{!F#)L*hje z9<1h@KI{O3!Mb>1Io!C)Ww>$lLx}?2XF>O^4y!pfnN^Pq6$<&qwHFJJ6_pi%=oIHT zrX?6w@DeLX>~xpUA;ZW8TWe`&C+To|7B1(&uh5_itwTaqgr;%0;z`_K8wI1}hNtYJi54-#XMV06SK@Y-SVaXlVqF!57>W zQMZJ`r*B{o-m9L$;i25%S8`GNPL0Nt;rg2&fSEY#bXY@H95O|BJT0ejE-K++umU6` zE&{9FaV9`^U$dChmy!F`@YF z1W|oQL5G#0Ko`glQM_@QpB*pWjNZE=4b{O4M2q5{bw2gAxup4Wj(-t@;OFWe&(+cARUu5hM5@3k#rx`EyDpa9*t;HCTc0-tO5H>ETZaSn+29&sLb~jj!yw z;_*x`q(~7mfvv8zLZ|f(E0s}XrY}(P_{q7CcDE$D?}c=G4@e+qZ*d!W^AO{l^cG(x z^2(3Oc@JR{hAW_@qee!vML_cz=l>QPGBebm$E_3!RTr%?`x_RpkP|1AfrZ??e;+YF z14rGRVvuWi%iK6n!leH_%8V}%1@Lfnbe-tPN5Isn2N<2hU*<;jYh*RR8F|9x4FO;PO96#Gi$v!+E1<;WCzDl7{0Nyd&7+m-Fvk8!~Ev3!G6W zU+2HN@yayQ!MSgFrVW=;! z%Nf&+wLa79@=XQUOzH-+&vVr|V4b+M^9Nzy-r&{VCyBF#ntWZ}oX(?Dk1X zNyP$vM+98S@R}nTF1JzV*xgtnB+}i z?RT76>Kkv>BW2tnBg2)oRP_1f#Y{-uYuA`HN_58`zd%nX@T+hlteZ~c87-)}z5{5J zA@wCIwBZO?wJ$ktm1EPUh_-=^z#?*f4m!xq+Tt&EeZBVUYl?m(gsF{vMj=K2WT}gW zzrC;E3d+LjtfkNgRG3qL`(vk_kd|Y{Z`{2ET9F5nBT|>Lw{>;d=Tf09sA50 zKglB=aKaxN7Fv_Pu$vUWwjQPVORjGZNV}iH*FHwgmoN`UypO2(Ea+tdR-uV}o^RWc zNyMhGt}|;z$i}9M6|OIY5fn`bk5IheGV=r zz3aV}vC@MUV5%q4LgINQU~;xjfz-lC^)1#aG!;Pt$-xk#I@~s<+FXx20>!y7Z4cu@J}wxQ~u)~{>kIpx_v3uU--5|55T>c4N=^h zyxu$rVkqDK$#C}m`+AJ0fv_Ah3IYJXdv~~Zi?3jztY6$OS-#kjNSGTD@Bi?sKuCXUq(4;ASm+R3~UY7nbTzU!v|1a7AIh z_rX2ulkYrN0&u27=>d~LLbqP$rsF^3cUZ~K_}i2)J_3f5YhYC@oV?SVZSU-A%*l>H zT#Ob@#_y(Sv!);+i=`1?c4j3%|J+tWj)F7ehfQj_Az>4~eQlOH25jNvq@CNjE^DvK zHyW)8mf>p9Bv>sys0E96$2b462r8&m7HKsU@4L&BRgSYw>_JN0`rdJuWo0O9jD9c+ z+8kcxojyDUtaKbk@U$eJcKh!u$N!(OAMc~aR?*G9g}nd+u_bICYYW+l_o`Q)_xw4y zYuDg#(fC}?+?xPL1OHP7Ari*gF-tp^m>Xne?Gy-p*==qax$%J3;=ODC`tNhTf&vj6*HKV^$iG98(dh4U|yS2?Dg?yF1lJkwo_s6xn7Z;cO^~()*de6>ZeQRM&pw6(QW{R+Qxe8OtC zZql+xf)^mP(Gmq@faXXdxcZn%@TD|#vLqw!*I`g@g{J@1I4UQ(`&?Qr0*Qny(IlUk zcv{OPJ2nzMzssa@W)vdFLpKpPSZ`kHv3#o&{lij%oly2$y;Q|EH$hF&9wlO{@1Jte zTr#w#G|%GxrM;xCmYP!(KZ-2H#3JAaFJpx|$1fXEp=ru>e=8!nH2e|;ZIt0i&ytzU z2#N=N0Fy>}c84gU@j+=&o-w%gc;3P__bLe8ztK|>1mC4prO}8E60+u4g#*NLFSGrc zq%>=39E!tqP^WwGrgCg*epi^m!yq2{pNeMHT_Hy`&dUAB2wZ38!L3$bsKUiuT3=)U(D!M^Pn>m~P)n={_nwgl z5K2RE0D&=|S}u$4cu%~pLYF+U+L;TehPO?xSj54?;vTaHX39S`=W2-Pt~VxfLVc?c z8b^PBd2jN^swgx&;?iE-j5Q#jhufy{VAOffY3%{kUj1tG)-5Nh87H-eBTuP z!=OL%aU%)%-qw1~*|+IDxFOMmQkG{8Rz}TwvCzib8in;-j}JBIc}mym%fs;7N=8Ih ztI|<4iWZg2=SWDAXy187d*~!08Pz9E$!3v%195jB)ltA~m7@6l>&(*0vm_cNlDD_&Eq@GyD_70qV+ zg#AeUfkdnKwHOQj>uu_MBSAZ_P|VCp zg!9?VU8{82JEak1F|WTZ(slr6dK{8I60w0#V-}8DVYF`dq;@x7R%1~-po4H4zw)D) zIwrrvTW)`oC_8sMx+-J-KtmVGs?!JQ0l8NL)D}#+=F*U~xm)O=OBq>9=tv$iV^B|Z zaS|s7Ol~3B^n;mVa%W=j`^#HV``QcfnN?KJZN;8tgyEcp|1W&kY5E(6-dVM2Y+k=1 zdZH$zU)K{}9I(HfL$7wt=_0@IEBsGWQ&RdRa9mFAj%DMB09*(3ag%$G%on9NVHYbK z8`=oI5c#K}SyZ4@)P7}|1I(a&v=lgkfP;Ay2WIu3eG&F+C71OYUQhx?(QhA@k2^Fy zXxzo!ef-R=pP=QOP2(racr}EGC3;v{r4U7k0V2GL7i&O`Ao7ijTCKiS+b85HtH=ZW zGr~hD`S`f;E`2am!~9TG*FWz7sE!Oe6}$FG7yVc+T1j_~oz>u3(F{<8)1ijH?s(n^ zvaz&(c!qPAgtvMXuxd*Aa#hkYPpz-7Rz)`` z^~n?BA|)pKn(3X;>;t;(QssyOF5vzPot=1@I}$y@!zk>? zF{R8PuhZRjCLpiTDeTa8k-jVxIG+A_Uya0_Yt0&l4ZlUZ4(92@J_N`<(;ozJg&19c z1X-a20kguqLB&Kl-W4BJg8?5k1{?*mi2bLZCA5u4b!|TtAQ27^pw#*M857?2wISn< zPk36(4KVgCm}ne~7C%3#^4^|w{rmdM&lyEi-`w$$RJf_pxrx;t$E58#fK7c4s}nY6>erNJ@Dtb zV0>1U-I3OCsj&#eAX}WeQannmza(FU7*5^rel8!dH8gcoXd?FkB$tB$Yd!Qok3fQ| z@Pt=Ik0(x~wV*93L%Pg){xCyH2J+otb?f}T2S=%G;XRVY`T6?(t6k?KUZLf9mCu*? z(cg=J6d8SUl#{A7#x2y7nlqmZ%OO|k#;=6%x?&Z&+n(`r`nL#K-mm2bHAMfJV;Us3 zASJ#Kd#zDNA#3t5jzsiy4gDerZ%cG6=Aji|o>7lw>%5GALOL8RLdhR3=wlNQzG1}Y z{8%l~Sy7mq=-@pxixx1Okk_5j7gWhjq6BLq2)Dn&KM|O4s_5}k^R(GLILaoIH4N=J zI?&YsVJL(3O8W}x4MlsPBFLL&k5$fu&kk59z3m868k|+-HQRp{vR6$Yzo_9PlYbhO z0CB!y^v3tbPw$H!%bXB8ueI@(Ck~s}E&s_CV5vj$#_{W+IXy*tL_7s&BgCkvBcqJe zh%-miEj|zAW(2pIUJsO6xTY1?F&O1M(7TH!A)_0qBknz~*Kh4(!@F4Eg4mu#G08bZ zBeC^Nz{ky&h&>R_=;xfhjTw>D`De9C^93l*#|sa;Dz|dkYZ@7~yazgW=jYmm6Q=tF zAqpg$hj*G)uXD3_eFX{??*UNd!t=Mk!$$DJJWA_XIcYrn5n+av$kHbt9h%Ro!4o5Q z`d;`hw{gWd9H5NCWg0~}844CO zG>K^5ubM&bbQS}Cla6#3&-CNfIT$@m6cJzvx?hB+_~-Y|YDh+4g2>J%t>DeI>DAO- z%W+(MN>Td`-o8^C7Y`yeA%Yn~4m&j_$)$_+TS=6z4?71%3)>o z070#$(#GHs0@j)BBoSn(6FbGi2M6+|gIwWrl92utEejGywp~|cYGmdw^LW`!c&vDJ zP&s$m(9LHi>*MIe&^we+EkQ}ZWX;AV{P$aKGv)F?WHnVIV0paZ6q>g#;91StycOG(!2*4XvSX2b zXI8c6M|h5Gt0qy@6Gf8jO`dx)sti4WDn^gnZ}+&XcZo5;nl#jSeR-uQwqE#}xN~F0 zHzekRXxys}Z7@d1{@gw|aTJ}UhfPE4Sxc>{ zvmuMhcL2B%&F9i)Y4jxl6h+zB$SRr@Kt*UX zye!(4CIUnLCqyRehK6A`8O*ACZqMp^1|?L%3eAZqtybnmuv(+d<%0xA$-v5!p0J1( zj_U4^mYxo{K!h?}+AlK=$G+ox)L8U*A%rLEA&S*VY=lySVDc`_AU9`NqT&9G;yLB8 z`%L_`d95u=I1+(NhH6e7Ydht^&It2!q&0jpBy^u3X4j?zWtj}rwFt;_KXIac`S1I! zNrIBbPve?vt6p??h$|}2eGZ*ew)}EU(e~~O@zjvfBUGF52*|fv!tfADmo**P=x?DL z4d~6esjopin2Y@9*`I@j2t=AmW#}SRs&;5)F7;FJ{*6JWBsjemDaW!!`T%fi6#V-- zSiCkrBR22`SwSW7?3pt|YdQkdbP_;hwE_dfDYT>P&iF+bnyOz{$C8?;n?ag56Luv1 zsM;tvdjvW-^B*%!OS9w8P=;~TZ2j=Ow?_|9t=zjY`WK+lF;G2`tH04tLBs2D;2>9M z!eDi=;Q+g}{9d=OzkeBOiHZn_b{9H6@_ea3?G0AtrSCaSa~A2t3>8W^0-K-qJ-D|P z$f8YncBMsNR+c0|cb+_Hv-x=WGoU;Vwkhde#!RpBnK@;gW6 zI0h!*o7W0{mvtHKb%%zQ;-LHn$~+54dR-OpBc@fGg zDEhek{Al5>9r^iZ{>{1&zGwX z_Vy)3|Kusvn7Rr}^nT&B0iZX%a$}+lAK~(O)A;F`;I^@dcxbtx2@WUv2T&j=Q9&1x z2sv1=Zs_A7df!L&3Pln|M&a7v1~JU@!V>NMz&c#`V-9n5_Bu8$O9@0nQ>Hd+N@T9 z+ir5H>-O#3R+s)L?%grf^G8S^lA8Jsh(PBKUy0N2p-kJ1$mi!9BwN0^zv?i?+P(3e z0E3Q%3jdZ3BZ8bom22sM60caxp*#VP#7 zd+>utbZ^vh69sS-%TG!un#iNU*%Wjm1D(!7&Eku0ZZoq)4|aUP7Q*LURpk@f9HmtZ znE4;-Kgdp^{sMr9{%cv;KKaT*OweoreJcpT7yUbVecc-y6tePH?120fEU|RxVQn;< z=x}!x7TYbMVJTpC8FjDi@d$n<|lxjT@T_iZ}BMI90+d&8c z*c4BFOBtX1^SrxbgW@>h^r=&!zn%Vd8kgF(AdOkRS8zhs#0mZROQIZ8!up`n!!RD4 zs<{9>r2on?(IK9ALBf!Re0l>szMJ~w1$IW8@87<;0OOQw*6is!pl8kVx{PQEB#S) zDdt`-EQ=;A@JtCkfaY)4FIZ@SfE&EV=1XG> z#tow-G+KdCBMT>jeQi2E@xm?!B<=cTGbu5dI=%72taLA4?Uj(?)-7IkW^%X-D#}H* zTr#H6PXwN{cFmd}JY7O)$pxs(JNEnddi$&LEurm+DBj(m?$*tGMHyo}n`C<;JEWF+ zym|L76n_>H18(ZC_qnL!g-iatFm4=2HmYe^K>Wl)TKlDZCHCUjqn~tm&Ekxcu!U?2 zqrn(j4l55byF9ecX@4$_w=e#x6>4W)K%Y&r8|S2>Wv}q#s^5cnSHIL!t&=V;`fQ35 zClo`c;#JrUKfZr|G561>6~U+7XUcVSjakv@w8CnOz~dqh-lrTx8(6&sYh>L2f{ptd zToFd_{Mjm7#-hcPr2a4i>*Obmt>2zi2bFh(PA=KVyeLgSXA9ra4M(W?J6KBzmbh?B zUOfNHodY?Cm5{rpu5T^(4`)M^_tCIEzGksSg+3um^}-U3@SJ+VH4=;IubzLlb~0$y zlrR?(&=g!Ef!b3Zbo83(lm~-U*%{nX@_lH+ry4(rfi^uqxPTf^D8qc4Ms?Vco%b-R z*!m{GB47%93TkU0&5o{FtT+0{N11)%f^TbafBbuADoiBW7`$$w{%Lgx$mgL3$!J*! z9lfisSBWq&Ct@gQokL_c5wLP!z8wxB6As~IOfCPy$*(Zsn5wV>U=qcL;=s-9mllDQ zl^Pcv9f|FZ3AWLDi0qVL{~ zp;`?<(7=4_l3L1bb?#iK#9j>eMcrgyz8j>}>Io`1wuT;8QYe!+7MEa4qxsb8#|5{I zMnH{sFDju&Fr~JZtKue%`esB{(2XsMFX*b=nvq&C)@VTc1qI;uS2Zu(bV78hhT^i& zj>&2=8;(RC1qIC(tjhj>427xV?8$$37>nGt)(Zzc4)`Lu_~<%eDh0p}1UsT8}#7W}%{z88T-H zh~;fglkvSDJWFk_V?$%Xo0Vd|Vxw^vSRsmsAn~8Abejo>!Pi10_QUuaDyvO(b+*e* zgvf``u1?L_$Xa?3N?YCX%UBv}QE5{@cC4uwm*VM*#HT}|tfje7CA_u0)FKdJ2h@pu zB>9R@;(Q?(sz>hLq}#^z_#|BAMSy61O|-loUafDWtR<`g6!i1@z99D=<>wC}S$l#& z51(;{RN71_tC4VL;OliYe#+2zI2vJwo^OC%hu9ev&G>@~C%*c-U<%+rYOT*kGr)N8 zv;~psmlagriNGO9-^yvC=5pLnCwllklZpqP*nHi0p#lWM{b@NS1V>6vrb2)`uDaaH zWpbP<(mm^cfcC~*(gX>hy7$6G3f_huAbW^n_RBN*m3af)^!y^v*uH4_#)5r`y2X%D zJNC;__rks3mT=QsvPl}f$ZmR7qv`O`HlVxalr31w3Lmi7_UJ~@xP`ZPa`>3W)7X`t z;3V~s9BQrEoSNvijIKnza(}<64 z*h(`S7h(>XWpGAOAu`k(sVGEfw5{kwCrmtu}jU9~K_HxyqCacuAp7NYm>2 z#>S&W)zpHK<0k66#Euj+_a9*odAAb-4`#(#?=66^UT;sOogax}P)pevrSLzXb_Mx>dr2xQXNqUL@SE~6;kP`FQ2gI-GZ2G6+KX(>m}7TCUXadp0j zP@73im~V0l!~nuxy3=2*_N_~|7+h|rP@#~bTtwHC3ofA~nYlDmqoLoeM_EU{Q=Srh zfMd#*9DdEIYsl%19BzVG=U%RS6XN1WA^ZFAVS(q+e7^H84_Zk{$@+z?qTM`BSbxjr zZk(3J%h1WFc4FqghrK{10{-rt7J(nKfObGn|AP~2=)Vg_^=$WkTK^>HUL6OMEw}Rt ztbu>d+f>+7N3j>*%i*X#B1B8gYP<^$ke*pJ-&8f&G$=K*$eJN_JDX z+*#JlhtwgB@f327Wc^8ByC4?sTkEIx0d_S@%^XT63ydF!i_&Xz0k3;O#rv1u6#`%DZ2}O&juX% zyF3m44IV^mOVCl(+dv<&it1p>)mGa!)3+FO+TuoYI~LDN0g!zl>F8s$|Fyk1&~5kh22e^gcKy* zZf(_y2)c5LejYjeUyb5N69IqcHn!Tuy(|8>5Y{FNF<*J#sBcl5k(P!OFz0bk#{h`7 z^6mgzlpN(KL)UK0%LpOfK(f?seF^F4)~%2nqDBP8*`l6j1@NoL3~K84UWhj@l+?T$ zR;t~6J3EPd5O_dPuE&VI4QO$m2#)C)um2O2w#X zqRJV*!NcYKkz+UVxG58=u|dajQ0!TT`oLwu40#psA!DJlRq4i&1N9W#BcWt5*3#lp zdRwLP55(7}5Gn=*>t3p=S~# z2ScxGxsQ@31lMYJ~`1*z*n#Jr(MEpGg4A+NtAUlM+!B0LpJlTUkk27 z?0F1kDI|**rRcKrzN>aOJJX(hsvwxL<$L_!F(8zM*uw zOxC%yD&IrBJxb-Pzv}kJ|EJT?UJNe76xwUUeqjQbDIt7w-$Vd|^A5<&6=1)N-ZnH0 zPonAIS2>rZ4W$xJ&9jcOh|wCmIxd983ER1=dY%OWxCx(D@sf>SFdw$f!=T}N$mywS z3D=+J=mA%fJmUf=uR-f~O3mRrXKg*_#^vKyNtnLvsf;S^qYfT=dJ&LlF$yfv1GD0G zPGi@<(dRy8TQ+x5N;a{$V=Rc#O0{||s_}f;J=9UboJ>0|(k-<#_!wFG?E8mqGRgA{ zRFjrRW=!Gw#4gB~m2oAl{<;&|WNy2%O2+2gsD}Ug$8{G9TrmOTqKa$e2=(?KU|~{Q zf6*lighu+0PajZpv+pv3wwy`f7oT+nMaE<~;WJudFVVvQK>%}=6)f&Qd*c7AzaN%~ z%7aS7F`-Ke7d|&Ms7A0w?m=O{D0J!=_)MNw;J`{PK$6hzmomu>u7 z&trG{Mk+=xyPz|0MqBeRTC)Cy@~qIMmg@@8>@l)?Ed-*~X3T)pc6D`CG~}9nfGFs* z@EEDsLsS8ae z{^AHh1dQ(tbUJ}POi+^Sa;wU>>HYf)C&X)EP^{dV``mL-hKzoS z3s#n5c>S-^As4FUrMY3{Q_RdVuTP@gXhFaH8vO>sgXZO>_;uL^7DHjPebJQh_UgYe5DYW{nMXw zZESulT>ZIEKzO0fBP42}-P=>l%`wIHjF&R8H`Zi5AewRnl-rO6f>t3~P}esrt^E2w zgvc4X4x^$NjU8we-aKfxccC4BnVqe` z;07%w$|Wz=V#aHxA21vtVW9{?I2-aywGRUq%*M?n@M55y3Wr)7xfLfDB9=~}q<%+| zs+(@xto0RRdr1FqY@K?2e4W_IMt#&*+xAVFEL0PEqLHR@DeC~hgB-XzGV*0+k3O`3 z)V5IQ_9_@T9nNOaqBTdl@q2s!t6Et}E z967(Epz4UCc#+`Is}6E+)aZ>0f>cwkMh*Qhc6*`Ii?-cmc9}}^NdVpKrvIVvvuXFP zj>TQ)kJ4%rw7gZz4fXirk5nOLj^tQ)O;=YJ*lZQPy2Y>cUB?llNiMwcghjxmTM2in z)}VXJ4j1Ec|3&$btNpj-VFGkjVoe0`a8<|`Lq|P+ zVP`L7TQg{u=)RJ@PQ`r&XSouRV|JLjH z_q-J2=T+nS@DbC2y4Gp4x?qC*g87=^YXjDpwSKc(YP81`ZFK4CnM!;@S5=FZ>2wNA z9uRunZ~P745Z0u#wCf(lcsDyE39yLfVw+ASD#>VIUbkTQ+A-R}@>Zt<-wOICST$9~ zMS8Pw;9{`c`|^{IYz(Z9O;_s}8>fSy4QZlA3sy>!Fu)_jJYBTijq?bB9NdF&U1#Cc zJv9rskZ)biRr=TLA~N`oUgk6nxKz?d;Sa*PcSs!qH9*&pqm$J-n6d>Chc|a5O3AXX zx#A(&PBa#a;$NobNc);PM=j*1&6$mI+eZ7LhqEvil!@`rAlPUDy1Z7)9#NiCl zQytdXu4<^&6Q6*`L?6za_Ydb8Me6FQYSLFh-X7vQSWnLuWy<87ocB&BTiDkkdF(Ly*Gu zYIDg55IRIHGOd%uv31SmL>0PujGaFkz95+x4ZfYAWRNe+f7>cr~UB0z?T%8z)tnjF>Asc0Q`6()|MxyR{aHcnxN1u+~ zzk4^KDV!uAF%F<4Us3+ub7#-yCqi1fPlz5_L>{LNe?j@6nRbjH-M;OkU<@-wuAmGD zkC!biMh80BtoFGHOQU6xwB&#VivcOo5)^0gg~$pbljwmSm8B=zF}BxCo$n{K*~wmg zJLyeEl*)NDf8QAi9w<{3mSp$#;05=>MzXAVBjJibt+Npgk^cm}jb%uDn3$-BbnlYR zH)&~UPsoRFGyF=7701$^en;3d!yskOr;1TxmI=AJY{gq#74BC5`>Nv3GIybOk- z8SkRbbu6>Hg0+&`&>wS`P}7FH_CS130^m)-L~yPCbPagw8KkMf*kluVzJh#m^EF)x z;W#X6!$`DjP8DTwCr59OeZL;y`V(ohae^7rwNJ9MJ73kDqf92@a3Ps(rM(j`Gc-0b zLL2D!&xPqi1iu-oJo)Iu?U2Z#3xs0_=cWlVg#%Qmn#=|-Do`ravvYX?eF#{6S9<-! z#Bq~7%3R-&#l==L4Lt;zV;BLHlo2nbK`4DB52{7bi>~P3k$=ei7c7I&(l)-3eX`TP_jabMGv!v4ZzcF8l#?u_!h&N;7IYIb#jU|95FG-+l6=ZXf8~SN$fEd2f>^`vuAZV7 z4no%x5`JWn1awuuR6L)X*+iy|^~k%E7pC3GX~b2!nxHfubqdy4j#e<@R!-60^DAN_ z4!|k&6|VU`jYQ*xAWQo!)EPQl_S)M&?q69E0vggY-skx|q1##90VZ#RV%Y7`^5680 zZTi_2FwJTYAti!?IH~;&>3y@5xOhoZFwUSCHy!ItaKh(>%R#6ez9Co$Gzz4e7ofeZ ziJjye=ZQH^h#`O}NlD2f89+X`pd+i_>4G0|7(M{yS;xuSF_`2;#^I2{A3BXsrH%2t zPJv_Rk+pm26cC2I4Fj`&5tvQMA3rG#&V-iP{Q9arU644%e*2U$M z6Zgym^bxlxV64_9K-Q&2rTCkaS0c<;*z!ef^>Po%*kxMxB;QykjqAo(VUZoEw^K&u zIFvwUmUIDlXa?2bzx&Q#|7x+XRgiNIex~PlGv_GOs1gPX$BhYrKXh{P{80`yB6YKZ z?mE3r=D?msV4P;ZBVf{Zb#?7HLKPQdYx8-$RFzWDUaIRc)c)M__NZc;UVAMfWK!m| zh<0yu;xMmAjg3&B6~IXJi>q+rj=U>pR-FrdzjX`vmmh`-e0(N!BtH`W>C4>qWiKZt zoJAWmJ(|YgtbX|25o**wbo8jBzr^V%n#hnCy&piGaPw%w6&THlGVV)hF_yQiX4U7B zkXJ3-A-@|E-B;5sw(r=H$9q}iBPx?4YY>N6_w4rCr5+nCgc5BKh;o2MJuZ#bt3zi- zr%l2(%wwXI4;r!)ftRI@tx~H$W&`-^?5|z8fTpF|u+g32QV@xR&m%6BBC2 zBKrlDi{k5QuaNu(68<#q3MJCWK(CmT=pl5Q`dI7HEx)v;^()jI4^GfE8ae!lBAF(F z2nop8V*U|g?5_4}b4ExXy|K5;z%WtTm<%wyGl?+sP%kesYiFJ9+@yq=El#ZFpjzaw zvnjX`Mvo+vB@j57cW`S334~Qo;}@mu>Gq#pXzOTN4yMVsTG~lq7~crBRh8K zOAL1_SN{19vGe%!!ZYQQU?@b+s783}R3uuXK|7x1~Ou@pdxLUhnz-X2LNe%Lf#t5Am>Q^yqRD2c@{o1BEcC zI^eUS3p=W6Wknoj!jKVVS{7VpAEMc2{$`nd427535Sj1S4~1Mkn08YQOtYd5{L@7= zx(0~$f2lb&(8#+dT|35Xt|RIa2-^h$TsU4jk+fq7x;LS$;sbyETEAa@sTLyLC`8YI z{~g`y>78IP?7+~|6LO#4-yLgm+|JgdeeTPbFD-~yyszOnLT|o9elbfaM1+tdxs{h} zmMrUyw6FQWv-smk3;5hNMZ57f6z>YI5gpk z8@&YO-L|mN`!CdD-Qn?_G>z8A1=Ez zVlo!QWMMeE##C1n+~%sDH`NEL!C%qQ{>2tFv4x2kkr6-_whC^umEFL+h-G%st*eXu z--Zm@DliIf=a|yVf;diL*&Qe9rylub!=Is+f{87-s#=Sc4s#Z41E=!suh**NdfVl) z_t2qRUw=I9m#A0|STW~kEFpCEvByw!dM$Lov*tCc?iW({hNZ%D!VXO>Io(=tiDi+o z=(4(N38WiSX`!4ee3&3BH?wPSQldD+pjJsnQ}qRatKa27(T+LuUsfuR>~bKA-$Ukn z69Q!)96kmhd%|Ie^ND1?*xaP;1a$rHHAh*rP$Ut7|N z?^@qlXn5;pQfk6#!CBt~*Q@*!CrO>uwT6JA90l-VC0vi|$0C6xRB?5J?S|~w+WGZa{C#;GAGj=6_)A|i7;Wi)||&me9r%X$G4T#I*h47d675c zizzqNP%^d_Evw!vCgy1(N-rUlr1a5f(G~%EG#9PFRto`tW49k_O&cD7NmV+=9-|F{ za>ffT`;@AlgZuXj-}=(psj7?M0Ub4l0r{e<>DQtCJ)=t9*7B6Q9Y3A|BY~9<17*?* zdrj`P4+))e5jrgb1Fj(7<|%Ip?89S>tuzeKyN9ZI=fbPZxFbD z5kbV=Z_&N+76W2z%a|rFenLz=hjYGfN=~+Wol2CeulP-ZLjp>dGzE!r%YSBKjLqg(p&ep!!^d8$a)~1#4aWHgWjL4G*s`ANP z7xpU}bXl4-y6hlSf3-x*mtScQilpoCQ>bw4Mj@38&Pf(+Y@#bRw0?p@0dfb@@z*Yh z3XQbTfxO5^PBi22Am7C*?46yy+E(B10Y6~rxk~eXqCLEkd&UT1^6w!oWJV6 z=iH?p=;76{9bWVb1ZRyZ9o3AAUCWV$O#YSnm^OxrK2Ys@0a91RWPwY(1D6Z3_< z8*r&XvSJwIwOIB;wC8r9LwzpH+N|J{9vWHRv>3Yn&M@~xRopOOsvRxo_v|D{y+qj( zgJxp;*I*S$^N@QIhN&xL7(}xNDeK5$%*0=KFAfaw+d*yYV*S~>`T=*8=w`GA73Oh~ z`x-NfDuyGq%BWTkI`mh(wmhusjLWEaHS4YXsQn0s%n}e#YxlW)=n8;zOyeL&47AQu zfUrz*o9(ZKih*{Y8@aDux}%%YnHW`KP>aduUCd;csdGXSTWSRtK~=SNnzC{PDTS-PJ$mr;|}_1mJXJwT3||VR}~fI=u(M zgZ`%ptAV5&$=hS)WH;I;oplZ%zGT^CET^8;eDx&VZV8zJEN2tEop-;qZ{`IUYMAWP z?NY6PKG0H}(O1`SHkOxh^?1(_p0Nuf_kUCKAD)fO%hgWR%+vb0d8kj$>4kJ1XdOQi zI4)E*Dt|ty>+_8J53F%FR~J~K|57(>sfOmK zP#?~JS8WO$KM*K=2~z=|xIMA*;E#w6zV`CRY+kLbi^BZnrXJs2>-#$Ti_&9v?||}% z|GNfMay2>W7N#rZ@#Du@4GN}CLkbD`VU57dNiK7>~8(wg>-Qh+@+T}K?)^sl$# z(ArD1-Aaj`GZQ~DS23#qNk{o(n{IJKYirSm_4Fe-!>A&DxZ&B0LG&sgh>#Q-U{$r9 zo4I6E?4dAFt%N^dZ>sKPR|-3I(07ic;LU~_V5MKsFx$5L=^4cIG zG_sp+HiWmTunP(nevUhJvHdUUV~Wwo4jw%CA>tfNqW*`KG2D;pn5@0*2Q^Klow;+j zgX(}YV0R<6Acdwkr)W^(d$6!jAAnUqSK55In*ZC$#HwB+rS#7X*5qB5 zrW)i9#w46KC1N5_BUyENkpOtAceigIT`U&D5pF(QB||<=L(}Ka(?_YXd@O4f-JT-H zAkWg2VbYXmA6tCr-s_%`HfH%np<6kpN^UHh4K1oK_S?Yt_Q3&g_U7hKM%ml6p^N8b z9o;u-0Kqia-@vp@A2vR-f}ar+{tm}#Gv|CMocCS6Zs(}aT82t4JY3oAjRdzlmmyGz zc|$(fW*^oyagg}&KYR-K7|meeYo&wqIv1EQY3jr}&#B4`%=h%oFZn#}7f-~pHOH7s ze%#O(U3#u_)RTR4i5V> z{pd;1a@_U{JTxNR9iOb*pd4XF)mJyVd+^M0+ra*V=xTE+4Wx7h;!er^!{S}M z;@Jft`Il(;sDhwmZtruZHIawfah?89F65!88oN+zS!i>#DIsDhm(y)d{vQmwI=V<0iCz zd^=pjdHW$G`p`c@u1~EuFT+v>9HV|H7~Bm=$na^wZEFC-oi*j%=d1kU&z=(hr+fi- zKV_)(USv)5cFPdJOd`6>&#$lA6k6-+Ve4T5+bo5v{@e>5WYzJRts@IF2gwU!Ji-y^ zp{s5A5;>i@a6f*mMc34jaA1Lx>{O`cNLnFEnBI=g*XAMF!hgt5zqc-V&s zRU9SN4=Yb(l2gf8BTI{%KKCIC`JQi-^1sA?9Xe!o(@%5i&aWqeTG%?F1FX+h`M<)L zrD|BHo3G5CwoaEzTQ^rIyeK*FLY40+b$D`SLkNrMPBe^O1U*`O74uE|nt^a5+N|e+ zq_??uUy>uvaf6?E@4hK7HLDlb{#q;N@ShrsfG`KkQ6{E5Yo@2ykM}N?eyso%`j@Wr z&L5&s8&w=&RNd||1E96UEq7|>-{EqMN!q`t%_=p3r!r(+cu5^z}OS>`Ov=}R0RfYx4 zO!%^t2e{$}*m#GrZ%3k(JQYU+?X9hPSDpwqeZ9DO4{pgrVqKk{IwobW@x1$K7ZCM% z>wm}+>^FY?{JA-#(I9){fx9nTCWQu(^AETBM#&bCPwmaauyh^y@ZE);G6Q>|dowjP zaWX9w!KCHHP#s&%zK}?JzP^Eh)SdK?|L-0=(X|APt1FU5G!0|5>+0jxchh8gp2+m5 z&L3NRBGVLK-5d|}7j^o@;PIIuHRphXeFyQ8?=6_2b4ye*bsG$}={HB2Op%d>0F^SO z@|<_geazfYa^j^bA9J~hH&6S8<^~)9nfHy2`dx|>5cIr}MK>IoUkaUYdG^_v=AL|X z2Lo!?I4%{CC;EoVX|rt^M$f{SD3{qY>zGvGDipVFes^9zs3T0VClV>+`P=I-&~CnB z3t@zm>_wI8JZ<(oXBw`|!~DCScWLTj-VV9YF23cqmxstAL z*9Ki75R)o8LZ2V}6k=*ygxs6sZtoL(DqqZcJhCR-LBAoMQ{aR+Y@yZNw+DZ70j>#h z`Y)mTz+F&=E#Gnke&E`#RdBG|HorEnQgokkIC9iyu3J*TEyFJz{3K`p+_V{yh+y6Y!pqu~v-k5uKGJ z-9K<*Da~I2(BvGYFC%@7ozY&f#jKvNjS>F9nAN}XUwsjlvQB=N&$4Sl-iqvTfOvTy zJ9Cc%AtFarrGn7kk5>bPJiQGU5ik%MlF|5i*Xix62Y!FN_+zp?~_iG7m74{jQg!#6(Q!_#msv&Pqli9ic zhkK%&T0h#XT(ne*a|&C$c5RW+=245zOWe7;AYf26V6D;9Ty}WNj#@!Fx#%L4{8Af( z4))y3bn9RCh2YS`liD_m!vv#id#+|~puqIRK6c?Ahn{ynI($E@xt99yp$3TxDv#`& z(o7-qbiA52VSs5-LNX^Z?7cU56+W%^X1_#BYi)5o2g5K;UaMS{PaNm^iEwB61tG1z zaDR;Fw5$jg*to5yS?mD>E4I^b=~GiQ+}-ajoOkyRv)3Bw{vlx_D|7K%=+ty+@se`a zHeMG-FG0>JFY@&OVVt4cXA*i~s{#Lz9c>(G_3ZXO=tN8+N3x%vU+un!kLU(}!`^_* zeFEltndY@355J}*(jL{>jzj_5mG)MUfr9Fz-iu#e!@$v-qzRu z@DK4Qk0Vi=O9}IrJcqsz%*e30`R$CARh8Z~3NBnVI;hb1SZM0Bf=^L|=8m1Jo?3OR zr+FGIoc)ja$vzzeHE~a@_S3e9(ik+3QF{z{JGY5UwT%WkI`yV27Y&)=fi}SP6ncse zXyHyngpT3XJJjVT6wSyYA--~&RVt6swfQzyK22F7ywL|wiNd1TAs&evhDmD-?u zXIn*o!|?9HHj#K=TOvMf`hwA)Lp7|nXKZGq)*#_0N|n2;@s9J@t$<53S~$m)(k*+9 zVmHhW`8>R$>c^y8(HpvjYfpqaPp(W)>zViW(5@0`e^mAw$r&rnC1afm#@Xb0oL{nu zXCq}#4{7o_?Mcz;>>Sw z5y|M<+2R|FZVUr+QTZO#;>(nhS{S`O9hWl~d#gVG<}1Ux|L%68WpFglPc=3(5z}F+ z=tWBAPP;s%Fmt>41G{*e5HgGCibF4ZjZu-C>}cTl9Dv75n@8EbqMxhs{i}>PEtOd&;-ITL`U9Hmv5pHc7so;RdVtXKl4UC0*iS)hh)#z!NP;ohnc<0 zdE^cwEYIEdyacj$4nGI<{NG7~Y9`>1XM2Tb+qa9iZA;(T4^e}I)`&1OrNkw{PC0V; z&WyDfwNy~y4BZPaeTL_B($KejZvY74q{PwPU0>1Sw~?o(d4A_#49?UUlXd@A-~fm^ z)A&|AvnOs|?&6jK)&Qbc23}~`YmPBVm?m$4q<| zx<^EGKVxF-+^hAB?TIk(>kkWaC~nxy=h%b#is_~kWNz77=sf7v%8o0uGu}8&w(dmm zkJe|n;-Lv^{qNfc`r1}iqYBVj$X3`T?%Zvj^!NgVtWV{yA*IiHT68+=B1V#o@`qsVS(8RLI1fS=>S zStOYGL(A7otAh0PwC-6IpzEyehEHWASytnysz-gGdKyzmvton6|85j1Q4`PK1z@`^ zQax@W!OaY0lHoTOh~4t{;zm8}e$>|4nTcW}=0FYBU4uY!BCFx_ABTQMNK^gq~HzGkP-)2kdp#s4PRRF9Eg72HA|Xv2JIwDbpo`A5W)y zpEr6}hu9vFf4~?t>p#|uTTaehZHNJ5@Pupq>qnk1veu?Ry@bmX`%({K%?WnoLFiGU znmr%kTEf0r$!{;L0f2bpcwRVDshzm`In%nM1)yT&aZZM_n)Zd;>A_B-DBn53>jBLV9N5>PtP~-w@hs9mpZ_6$myJQPmB}HWZ zX4;0#6H!}rj)G5VxME=$ldN5*qT*NiiS&~zlB5p^UrOJve|{mmV;A06_-6T5Y1wPR zk@)){BT0+}#EcIgEhl=UBoSM*h4?+c$){?k09-W6i0`LZD&qJfMY)zFM<3xRbpy*I zquTA*13=CI^z9TG(~0|5#&u0E#s@|}0*<8R+0bR*ZjNbMbWm+qFI=WW4=l;bk{F*} z5Y%=B>!xh>oc{P&r>SkOmQ}!eas&;ywS5uvwogwv;A1Gd8f8rAilqyEFx?HEpUleM z%WN;2C#!*JR2+lH?|{b-x#2bvwQe&)e>%rV&FQe}FPs0_XSBP!`)S(vwxi|XW)8~~ z9D6zBj;)c6SOpy=b&bvIFanU;gM0V-snnk3rBRJ^*?U%365L2jk1Mo&TC!V~`5GkS zZgB$0L|^6SxK+*+4lc0FL%SZ}kcsf|UH~q@vvSoZgjX+KafVGT1W%O)ym70z9JGLS z2vmTQN$Ykui*xz~P5`(0Tawmw{2XBB3b?`h z2r;JiJw4ssGqWa#NX$6#zPnqg!*|w%+VDsg)d;YNS7M6}0FKr}O{FHbF`|0*4Se!z z_~Z~{ATj%z(j`pMA*{3Us;bz8^6mi1tF&I@Jgq6NVgub7F@gW((QL3zha`1niT9JF9f`jrYH z)HBk@u0g?@Sg@DQ8`-kib8B*=nNr?-Ym^Xq6+VY(BT#1<%Sy$E1?9tcaJn`4>*?nk zMrC-`eZt3~(z1`NLnak<@e;*S8TWB9mMNOh6Kd0)G4ElBfTy+u2Nnm`bPAk${N|zZ z*&#sx!Da{XPAHDJshk?O&a`6^;HXD_dnI3$?p@u-W%9FQ;8=cHVR=UtH%j9YbLRN^ zgeIApdu*@Cy9HUz)ZX4Ux1IIxr^R5t|7a7#WDnL3Wh`DJY%F~I8)|6e@gZtrja^tE zf9)+Fs0P04Q6JeM)@h&9OMq`Q5i45kRGN(^$z zDjsQ@t7ubZIO!c1u}rR0n}cE z_fszzhEQRQs-RGPErzM?2;w?uyjhw)ewa5?79#MND7KH>uZrJ=73pU>+#AZjTt4&y zpA|&IAoP=WvTaW7VXsb*l|fua_RrNJ^Mp)A%e0#%S(umiUHTeZ(L*>oA?*5f*O0S& z-%%Qy!>B`-@E!zn#pwwSZAg0#9jexE7Qu(Qta11BY(>_VQ}d_$F9wt!0$!9}Y>gpj z-R-ft>iu7Sdfi5@@s_-ieQ3Ouj3ltGs$~=w8o?vvssAScPVg-y{}PXa5?v9$-H7PJ zJILpzmN7@5cEm}&b-ew|$&>HG*59Y{Y~RhQ-R1o zK>t*{$eYRpZ4hbK4K?gD{DvGAk1vv<%yWV^BgQdrEc7pNuF2`>xyZpqnKY@_j}Su2 zoGl5sOpQB0PNqSOS%o=uZ$VCxv&c+Vw?Q%eFm=}HJyz5|M(@Hda{nb_Q2-tjvtq~R zTutr@0*>XNDX$>n5O2E^lj&gdVJq{*$!j3XPw=YOJfL_mk`m`Fk36uc8N5I)mmO>v0Zi;Yr@t@cbh@ z0dPy(j81=uiZh7Y9(}xvtxg5v08BweyZ3Tu`z~#_D6zp$1>Q@BqePl2K^n7h4JXca zR0HL&q&H*sP06R0mNepP?T?Gc){}Aiqs3#S%yz?Py5Kt1U2+?lPum};R_&XE4MRXr zR>jGAJR(=Qd!oCLec!13z??y`gI;Km;1;;0cDw=U#s;L8@1(C?-6ZF(j?9Z73R_WM zx7e?qzfukd5Rbl=cato0d1xy0hpXwd@4%@Z+{lD=o;6H&`QVix@ z>r8YlEy4rAE%r;^N@OThv2pv+IUJo+7GwzjG>Q&glu~Be00>uYq zGD}G<1xPA0_v&1&2k0%MQ;FVr6zI%G@{tC3%ZF%F5~fgQF%pgf>V3i>T^nX)z%^)9 zN7xmVKh;KGik{ zK(*gp-9II18-_jI+;%btI9E^l!TP^Hsq?0H`evP=oF*pq4%U<7#hCq=(qG;NA1$FT zG7p}i8R!?`Y@T zJmZ0$MHJw`0^EOF2u|NU(Bu@_ieT8%+-x1We-)3sXC|sgUNs*t{5JCBaUy;AXc0-Y zXMUdE!(yin1Rq2yx*LWtEH2>sqhmM1%15!-$noQNS-#{HK#0Fp#+cZp10lA5 zCPW5HH^9J6e&qtKq+N z*I@}mp_|i151G22)K%f2zncWS??y_f42*u|a&ozl`smUMPlAp6?w7WTDnSRagC=~) z=KXCT!?WTc#ItIc!60(el*3ate~!(*8pO23Dx9ZU0XA5~z%71}@}0aZbLsfMchk0q z9)-HZNSAQi?^Jcf>64$I*K|Le<^wm>Lhlv%Q9c*=jR(tTF9?q1C_>7M?}OQqt2Jo2 z=b*aJ===ePdF-`dxJb>lobEx|a3>5CLWpglMFF zs-Ynkb4zsaHtkgAC*-s5BnmrEB&uD45CitYI}%LM1&f{5=kf>DATL>X9$=E9WbJn! z8rUDBDkJb5F=DVv%bI#fBQ_kHI(pKXP6$9T#HX&ZH}$^YP1%3b$nl zjB;R_48*DuL|4NVYIpF1wjIs9I`s9u2))yqK(GJq!Yfe#l>nP#1tr2$DnV@7y=#|h zzUFF$0E?CL~KQop*K9QvYKsu`EA1cKnjsw&X_Sa2D%C=aw&E^}yao ze_x`uah`LCdPIOOs1J=0+B~ZB)f8oqp(BUU$PU>hKmf)-a}PomZqzUE1e#{b4%&8-9820z+D^{?*8v{F=C-CHkd8a0mKGt zZUVR*R8K+}2To6B7!k+|jox&CDk1ami*FERRs-~7OeWyUUd=DQ_%1=#4QTcqBoCL5#_z@vER4jGv-Gst&1$6}%M+6T$%o5Z z^&6Tia^Anv2*x#nAvPQGYZsF9#RAzMRBH0$A;Nk$%8vWXVhaI)*M`wmBFXcCV;DV@ zLn$Hf300O@F`3g)oJD)X=}CYWs|s^exP{tVP5`FC0;oJKr4C>hXX^Qb`j8#*q=65@ zh-x|W9yy#3CO^o}23^zi$%)H-KWm&SCol4I%-A0}iy!`R@Y}aPYV^(?^+#7zdVolQ zQ76)L^&=j(rKiU^rXHBB_1gKme#GQju%>-?Z+T#$A$H2S$$5T{gUQ*vyt;}c!O`cg z&N!@GATf8PS5~0axAyY>&yF;KNd-jc!CSi=^zr&Kp(nkFlXn+hAH&(f;fb#|x60hb zK7r)R3fhQ<&agHD7?F<#Dfre-d+j6MTOTTNT$tsZTYtczgTe)7ggywZ)QQ**l7NGe z2Up>m1jC*UN8E*@KAY+ty8&Eond_uqKvWuA=uzb7NWgFu`_b!ohv1r0S1qWRfFYhu zb01qYi7}D;J`C(Rw&9vCDUl<#UYDb{>Ml_W!}HoH0{WjzL)I5AukaaXAs_@vgqIqLuaVj)zQa}%5truCy??IO}+;QAGkO8ivl~kehM#< zQWmgpW!N^ZB@xtHylO=Gl?=sucnBK(PUZOCk+0c)x>YPzf@=wLFTKogrOHp>;wq4s zX$x|5N;PC)x{44*@#BR-4!{B#)Z-_QY*~gtP>QImc7)`oy|2lF`&7Z{)HD;l@kBS% z3O}+`C$%P(gP@C~2+^9EL`yrjS(*czCEhLKr-J1+dEIRU=oS!ZusdqSf&~mvYyxl- zi&R(L{rsx2_-{`1FTMYLMLy|W)!XF;N;(7_*-3`lP}J!4uX+NE9A4R2I0DHD?{oIi zKz#gYASUb1QAeW`LorFRIG4vBpY67^zN4o>%V>G%}&%I%<2?D}G^30lc zQ+4+X2&AB+ap}P?k$Gg1BnTAbmSzL7vy@soPs9g}o4;1bAbc&Gs4}L9gcpqI#u}gYA)>7`bo&YNyw)w}AL?|KBF{U-NOC+OVIds{MRukKoIPB^7QA zOZdP|G%AdRmC4lJRX>b8DA!Ky*Zua;gYtCVr5BEAM;{# z9#o2{t@;Q=6C+6yQG6&C{R?eZsyM)x_u8X9=7$>A=x8~Fm9o3fqg9uMYT%IUb7Si4 z8!DFS1of?4@a!sdE;myP5AA*dHdX%V_NO8}{`*&b8y;>(xhx*#i``hWEif7P(KU;! zG|>=ZM7p;=Dg>nypNU%O13Y*?hjpS`#5s3&@i13_fe2r_W z0*_YdF0lOjs0@6O-Q`RsR<8g!|B`w6&LUYlf#Je8$x7Er z9Yp0_4TqZ|Lg?^3nHaWdx>0LWk-@=ulY@~Zj0j>@30_%bHAx=Pe|h86&1x(xC{VJ) zH@K2-Fu|*hP?u(@^#LM*%;8mBC^5u)+;dc3;jUo^8PnE~GSN&W@AKH>#TV{KB{wPy zi$3jnfy zDc`A>1Cd}yl5O+wMeF)`mc!>hfmWxX9+@)PVVqZ37;$r4hbF+%m&WDBx;SvjypC+y zW3vS%_rJXWcht-NtS$a&C=Z})T8CV^2nSKuJ2J?U&D-} zq|vK)T`C1oLps)u7t9@-$T@f+K!mg64`m;%2N-rV(->o6Qx6WRtZFYk2Rg@;cvN5y zQdU`Fq;PUojUS)@;XrLPouL={;MNQqnriNipBaH7AXj#6ck8PB=NYUV4>Q7NN0=Aj0DcvrO&9bwp48o808e(mqZ@|}b9g_)i5wXp^nYBc(48AcR?RChAi&Q@t@17;g z3(Ef;6ZgKA;*sNu)HNvysQ~fO^9XUpZY#{5J*uqik)C`355EXGw8lm}MUE*3*n-lm zkCvlLJA_ORfuNW~CnNzsy%g%C#Lzy4w%78x7p^-5nGXx)0Lr-|(QcSf(II&;`EX2? zn_11?ipdK=((7F>64ZnaQB_6(>73Bbo1S`O8=pm)*L&$}0(*cNlPdI$iFTtBD|5n7J{c;(jq&Vk(d_G{D3(!B z5QHz`D;Qe4g#AoUg~g=8qIILz2&b*60KX=L`b6tsJ+>&r|LaA(-RKZdTh}qBWdxUp zyIu!z*>T{Fdd`nSk?kmb@Zr9T7A{me1=qDmB=zK3m$#==W!-56Op*v#^$L}RVye6P1?o4gw?cg{ZzzRNH&f}2#XVh|xu zA*0u`s@y{Flz)AFGplglN>!ga5OVIs0pSRyHHG{+_Bqd?c^8%>iX2jj#3184Y*KRU z81GI;yKW88SX(5UK^vP0Sj3p7OWcO78SS~9ua#1RXq0VybIRGhVcHEn(#REX9lAC! zkiLB@6+{Mg1l4>DKc`Wn(1QMp4_`$BAxa$Er}B~NqrBWf8_8>4Uf=Hu6sYcz4CKdv zQknMa3Xr@BD>T#s(kqw&m(!}{<>Z7_<=|XZBEKODj{uROx$Cs#Y9%R{6n465wpib( z!3O$a5H@etqLEED7g!dA%@dJCoa}rIIZS35Ga%J=4E;WWAla@KItJ3P+LM;pU6pVX zm8q#08AWWAsynUi?Iw6z6$rgS>==^Lwb^b}k%k&_9= z$+X?e&!5PkRh(?^#N*AyA`!MV!dfCB!{-DKBmDR1KrdtE1V5}ukK@8Ib6gpF>a6IH z$$gL~2L=WnVDlRKXFgMd>4qX);<>?BR&1VHgl<*8=&!6rK}}db)-5`iX($O83)3F0 zm40^@kN^uR(5uHSIn3_Bt>{Ba4DG`gh@<=JO$*?6(8J**D<#@0SvGZ-`;rbp{2O`t z2v*U`%f>J4^$7L*!ggo8%b(e0pXhd)>nDPUwbsnJ(KMZz+=G@k69hd_(|L(MAr z@3WzxYvtPDZ`G9cz&;*mE|w2+Pw3Pt?~D3Lz&Q{tNtp^by!^@{Z8e5L13$TA0;b1Shl zqNLduRH-C28sTH12X;_#VMq%w?eR{xMiYBwl;FxXo7r`{QDlJRC*oBXI{;@#Qf+9me$uFy*77yM zSAoD1a}VI83Roh(ksioD$eoh(N|szg2dsV4i?|>VQ{SI==F^^GNzWX4dN&aS4YTE{ z>LuCSVP+DujD9PvC&tFJ*k36*qAzw=^o>ClQC{?3OiPQiLJ`;NUxFjj_OwlFU( z!fcPERmG-PiC0DbBhcEJ!mj(s)eb6#jDI;NJOf#@z|Y7OHm;r^NRYA)ioS+ohQ@}q z6XIBF3;017IAlxeovWC%I|4kXupuA^+8T{nsg#ABIJ5m2>>1Oe>X`1qvW)v6zrbow z;6^_B-(@PXJH)Q_Y)t3mW&Fs(v;`4n|r)Axg<(n-}iz8jV*D(q-Sb<4_a2wA%dDU(R-&t={}9@3Gn{ zM&=Ml`QqhpJRU) z$*2!`zyFFfT@~<|Sqlk!>R3cmBD5}a`hoGyNidk-V>3p= z&F>C2nDe;?|E{OC{!?DNu`7sd0XtFR>+yg&vlO$ys13I9l6P`!6k^$x6VJaCMy2A0 zAQkao{U~%qWkjs(T;I!UBH70k&4D3n4~qmny9O8gPL>Y$otU=fro~8eb;jp}W}1-Z zE{~xW{NTu_aTex^0-3!RIa?1YBC_$A|BFC=Z+vHksJrzVw-5=~5-iar*u{j1h%1ow z_m~RE%$22gGO+ll^=}lQ<26WVgb76j|D%R<`J$~UIud#(65LF|L|P|qymCTBd2l%p zzC(yUYP->G5V7J^7_F)S2&N!5cu|Zd!$gG5KmsZndG)V^C08-}fr#x;wKPdrhUWS& zXYwLQ_GgC)z?oOFO#7RM@j#AJ0H(TJ>m@>7g$z`G3Bwz3Mr~f0%8L<}=t6#uo6tr$ z(@<;`?sJnH4RbYY7BNt0IDF~PBq^=NUYK{Y_=tW%%dREI-hD|Ipcpv&ec1@L=#9XZ zPuWSYwtEnjXYkaQgK>4MM!(n-(a?+lAA=|JMQG(M7%m-Maz>LGO@%&Q9c%yhOgf#Jfx>9 zfND3JJjn(go*h4Y7<^7=&Xm{hT0)T&xuto5ZP|8Qq+D9Xv37A3^aW>bPfGfVSfCs( z`Ep%;m+RM>2Ztu9UlQCR5P+H9jLBecG^1`I#YzUmzh~|HIc+CM6>NjIKGp4ugi|r3 zlCc6W_ArdXYgH(P61f=6odCayhF$ee2M%1sowU&6Oiro!Uw*n(XI#Dg|J_$}&codeFnr+oi zc-)Zk66w7r_5r;5?NKdA@BBhQcJpTda4a=Yfb<)S7rgMDwMt3q-wK$PN?;;^$g4hF z(Kql~=T2;#8w_tbVElgtXGRyT1aTG22&*}3=PHsNec^7$znVsH3kkd2%T|G6$ zIvtj&QgWp)qD8qLCsNcDY}H!}nE82dqMMqBm=z8C*fWqks46bh&_XwWSvl(uT7gMA zrzJ3jLCoE}c|jR%4jEb`7xb)FmW~acZ5nc?+fmO=y^jb;L-rA`ww`DAspyfSFDp=$ zsgmyu_fn`R2drjD9BI%=c={34Y_q+XF$wwRJnN;9jr;cWP4#l`fq45A;{hvJrn7ZC z=N)60{d_9#v4puk!A(c~(bMnOH|*BHVMM$Am0Xo`81mcL1?7%*GEC0FgvvKGI5?SG zP*AYH8nmF3{;%&08Tbq^V``oY$#21mV)-pMIwXy%E&sYmtZa}P>7c7;ke_4MQrpBF1> zb=@aA_Nh@51EQJfb3VN+0I~t^9-Q7&YS?re=ALeN4+7ka>N3~kOk@H=|4P@;g;Q1VrFHPW9D2QW1w1e9MdtV%G$v1O6BdpXC6CF+ER@m znF;feklXv3r0#AFXCilPA2JE(AS@G<|Cp>3hgCdBa`F%keGISbGq$sq&V3g^Ox+fI zSGwEC=GHExW~Z>Et<@xY6{DQMfmp%-E3fw!NN%k3$ITjOGh?F!Z6sT#KZAI-v!U2S z?0MzjArPKm<^)hxT%rLCyqaY6s*wTrD=TMPku)l{p|e<(@$9DoMJ)?SEiYBaeJ$UxE~kt=cl*o2Pq zwEL6p3`r_I(QPAMbjh66|5YYX+|tX>?SPFcribBuT5$;2)o61X_VL ztM^qoNlSQ^pIqgmF#c%lj+oJHN;Wks`9nx78t``BMf}pJxLMyn(vF=D4CHF{r?J61@Ga zroJApFTqTaK(>7R$V0vp+&PIhr=hcltrv@iiDK~Em@>$3ZKfE5+q|F_8+95 zhiy|={FG)FQ-=*-2FAL*TJih_N*2cK3`4J6Xu=Q1(Xge6qG9rWrVsR_gDV$o5u8?` zO}_d~QZfVxLlYB+#DnqMBDZF(z!~=A3<<=R zqFHZT{3@9<1-Q%hV8B$peXe6i5t0Ob=U4Zvu709NDJbD{3az|_ z+Np1_$zm9yTCEt;f>F?Azn43M=rmnD_u}H_U>W^}VtIJ`7#BRvoD3h>;34oAIS%+g zx^kVR6vZR46`!0~V-~QR4Bvzi zh$EyHSdL5@3ey9$?rjerDE|O8JP)GHFW1U*yh4Qxaq5u=zlhE}-*quusWpc**rG2x z2aMeg?jFA{God-PcGweCQ2=z9eXz#ixivTdhQPl1cj#dPzf9pBjM;@qJK;Q~{JqQD zD}ipom~EVXbFzmJ+3J67mwaL^@7X#pebZiv^dAm)vpCr|a9rD^Z$5AQ(k4^Wl@gko z|BZ8>aI~{&3x3C2b%yiZ&Hb_x>6iCh&)xfT10&StOo4d2>7mqk`pk4>&EBjv&a@Ge z?wsK!+v>yF^u(D}Z~Z(PnE{QyCpOAB`TZ>Ina*YqP_QlK{Wp16SJ#UF2Fo=*GkcQg z4p^Ir&C%f(p4}PVWOE1W;)!NhZ7x&{-=Wt$-o*%LlUqy)qP{+>PgyUtA>663Rq1thGUE@^>lP1hNCw=v1+=hD>Cli_8)~(1S-CC<5-#U&GF-H5^VVyuANz{dV3J6od2Um4d>a0tNev*JeRw7J1E} zqlF>gFMaQ8RwK8T1EHE$n>HLh{DfBVjWzQHo8#yf)$o^_1tQh2OAY8b{@_y=^Xzg{ z1YX_-%1trn5(7Ih4wU~q<23hg%9C8l(K&{^Cc)*W3nfl$**Kd`0y>jNwywU$Eoi92 z%vEe`2ASur(1|#GFxPx0`(tFiQC#G4q@`K;$+3Aa zJ?baE4h#%6$TNuhGf(Hgh<)!vJ+sq2WJ6Nl&o4>z^4yAw87m8gO_ckq=lfIEi>|(Q z`o_33E#y9{{n;^HW>26ppV{l^U;b8TgtQ_{u}JTHaIv+c2OF>cULQs&BWxhJ+T=vm zbeYsZSGJjxDliH3n{)pD^=lKYIrintm#G$q{!rOh!C{GvU|2|6pk3=uX60`x5sM@p?hLrWtE(9sS)pStGOZ` za07Wji4EaO*wUL2YR|oH-O%|(yuIUV?sr1K%F=(rFj3LB)uS#vL~}_*c)0(sC)K=~ zq2&N)wH~+LI=O3#jhY;FWVnQW5R!Z+K}ZtYu05GQqwdyfT0Y*S36iU8%xDB6FQco> z+pW%OFFU0$gxC%@dWf_Q<_e{mnOY<+!r;vncunr3xJ{CEts7g)?r{UXQJjA?O4-1@U=FIkQy_pIoDeUKr80+ zS|c{fjzpes^J_LB+JyS`1Zp>(=5EZvlr63!x%i|j3M3p=)!9VXovUBR{dgTWfZv+8 zWD&*YI`RxLNlD2ZYSUJsw=P|7sUe}E`A%JO$l!~#_pNhqbZo|cbaO=|hcIu#){!x1 zr&PIH!%{O;Q{S_)@_Qn`e!bs;DB%bK`F7rLaXh#zq1nL5vkjbH-$`p+$HnD0gTdrY zo}1@WYF40N?#9gvsO1?Gy;pm=koMI(i993Tq;|hGk(?ok-P6_*jX!VUqr8nc7g4y$ z6Uu#d`2!Is$=dgU^NrB$L`*IA+V#{JVi{o2G@U7|5cJTTx`?KFE0FT^w`VFTLE~$# zsdftuMhIn{?Q-3zp{Yq8&a>aT!=lJ#AD9SdW#2e2zPvx8#Ah$1=(!3ugf0nwG26^D zw%(}G3LbaecJpsTKWk24^#QT1zMpxw!;`UD$jRQGZiThDtZZuvC4S4M6+K%Ab6>~t zx#3$B8VS5kfCoHJ2Lh=h7$<1fX(u^DkQ{&Ld;9k7X8LmxN}M2ZYFX-nzqn~ieSPg% zi*8kE3F?8{PcNI|Cr_jRN~t4t#zDRcz^n zGY}FI$~L%h8B37IzvniVnA894-?#7CCzE;(elsZ;B-TlHtOXH(^;BxW-a?^gOaYV> z3sQ`PR?n9MWdf^)?_iHnn`mJl3rbty4*E5Ea8UTmFTMC|`#P>CX8b=YTbrWHmX#bR zzqNto-jpg!tRCOU%iD?$TL$zJ#6DkQusG4nNj$ffLdpKQgraiP7scjM7}ab}{%@+=zr775E;ri1{rPf9t^Bf=GK>JyPg|)9uSvmNkrI+{joa>rLQ9l!@ZgVY7M`KEj zy02PR2IZ8-xz4k}OO`IRNaxqYHks+(ManMTJYUPwSO@ODqv9&uSV9cN2UW=Un}mb} zhNkJ~zDdMSd?!Kt@TfFP*0*tT)q8pva{V`XtOFq3stm^UxCOjuP|NCTs_WFJ_-OlS zzc$f3^Wd?`rg~&yINevkl*#ELg{U!newFS$TZ}*$1Pny5jh;1Pxn3d0PM!Z=>zFq@gUo|WcS+kJZ6Z7?} z=M(%v7utll+vk3I^@hC1CO()FV11ZUywt#L+RS5k4-@jpgC9CNN@`45m-2rb3H6tZ z6t4xH4vaa8oTZ=Pk=wwuBw%WZ~1XvWlp^i zS$My95|W!@Re`(cOAe#dXxNaMpL`mRINu(Rc!4}3CxS+$xI_A;X&GrrNgYJuO4yc# z0hj}SgUlBNlp$-x|9zb=FXU~DeI!cC^ zpB;epj7 z2?cZci(J3w4?LnCF18UUG|kMdz|t?j_{3a<7JPV0e#N*hl46d4soNSBVEpI^>w+gFDn zDnd}ikOw{UnJJ5bzh?CA-as+mh)4BW0||-ngD()0cYmeRhcT^SNWB*2>vP`mY3mSS zR)S=M5y#<#PagZ43b1m!@=whnCD->J%P74aa4s>Q+S-_7uj8tTt92{I*2^3aKb~4H z5=9L)G)Yf3LMmAwHVxobnP~lLEAvt)55vwYQOYi(XUUE!h;bPR7Z;uCO;ggxq(14v zLLvCGoUQaSNHXD?CSy~&+!v$)qql&_87`Q2{zjTr)R7-0bkCTW7$O}DOw1*5UfDkB z_!ew@zJpdq(VM*kteFU0;KXz5*(eXM;|tBJv3?jT2C>ZLROS9h=M$&YZGk-yY#D9w z@AyJNL4UO-I-Ck`n-t|n7J!U(8>|DM1^YPdM4MvaHrO6%yAcjT;V}qmyq#&Y9U4q+afg1v6+lmXZcG>;u$`#VOAR*q=2cxcv)H5Sz(8mj4Nej3SEJ-(@4fx7f;oYU`&{?gl=IYJt$}Y)Sbt= z;PscEBEG-bj{W-4S-dk4%765%{7PYmi^EB^WR{)iBe1ixXBz}Lg7wq^4pj3}7op`| zNz5qZE0V=wlpuFROp4QfxBS!R{L?NHZzJofiok^^-ViUI3b{~6rGy^SldXKBXZ-xk5tH=-E1OI04~0u9H@|x~su;V9 za>I#S{=*>$Q|pm&MD40JJP;62LGrgNQ|jJ;BwJxC7J*^DVtzfQrDss@S&?kB6SkQa zh3LA+@kfqrooV7?q|ziMew5KXGh%5|1YZL_QNzTJK-^R}^jvyeU?YQ9VI!Rv;LPO} z8d-rfF^k<_`}+sUjc{;yn6aSu%Eb8iHxTTwAH+3Ly4?p0{5Td~j6B5a{WWu#hoWw% zqd0NIAs}Ez(!_D2VAo)Yy>$P;0MTJG#hkE0qg&$qvU@*&o<*0!3_sp8{_{p_-qR;f z{-M=#P}Gf(6ZEb_9k85MvE^Z>;Q?*!>tvC2Osu>n#VL-#A_8)lE802G*O?(GG@Y7X z0N22>g75Kf+lLT{T1S|QZS;+rVmRP<;q7G>P-r0eHJ#E1Fe@MQEbw6W{@C&QG`i;> z2X?_^d5F7PjvSH+hb~FeFyFo4;=VH-dDNJg1|@MyXS9v_B>y3Q6fSO9F2hIJYLQU9}jCsepbq0s=>y(5-rX-~N`k?`oA2vmh@Y_GQc}XE961=J^fQDk5V1MzcQ3V|o;AD;x?-r_DQk#_n%mH@%nhxta(!6C* zGF(a?uljm19<%l-5MkM8$40q@6a^jfhm#(Xflk;jcA}wPb}_gT9Gq|8$P4M~Qf-G7 zm-kmPJjXg6~g`S3)jSptgOrVdEGnBQOqLszGsThyEs-2Sf+X#L4g+gO8(p0ud~yA|ccg1^zoDT)i|>22pnn(7 zm=*$=GE&>E=8M>>%oYc~IH%!*-N#F5(mstn5H7@Kit5d3>SnRqEt--PeG__&Y_g`C zks9^5ZeXLVzk4J@h7o`r8tc@hnVr)fcE?&Gyxa{ckN&7#REH9wZ zbNqV($zohvxY`}ZQTyd1L>!<6>}%T4rf84_f;Dj1PR&bst;i|3Exq<#yEK+NPY1Ex z>fB~FO8ndxp2rv7kg_Y?v|>VtO!SdkUcaEX0PFCFz!z_S9Af``z4ehp>;zPNV z@HWdbwkr3!KiqbdUX5KFrVSm>WNhM`;Fd5=1L|1MGZPgtz6ZQ7+=YjwrSfJAS+u-1 zp0PIg-@sDTE1q~p={Afiht5A=#e#Q%@NA{XMP{EBc}~&?hZPQU^%ek9{sy=vlEKoJ z=NXt^)pDX_KE*)9Pj>8SA3i4@d`QU)1_j zWVWon77Yc|FW%jYGV>WXq8TL)azO0KE4d|QePx*ISQ9o*?a!&0dNjNYcL7Lcm=&hd zb3gejQ*L}FS990ZgQ=A#vbz4OJ}`|P8Dyz{U2W~zcs8v^5GMkdJcMmZ4a`?^$FlN$ zafGKZ_@rTA(7YbbPrnhpM6nCcdVOJ3l~M!gLjA=~x3pjL0J1(rju+|a@TOz>WEvSP zdiO-Q$yxlc*ISm2u^k&CPwYU$6E`*Klk^#)iI14SYA^?74uW|rjtWh73wjZ{Uu{DE zS;(MmJ=^BBXXNL5;7u_i$9n{)i_$V#4i$87(szWw`lG(S6Yzd%NTT{7R9-v zPa|1APPQ&F zW3YxsM#yZtJCOJ`+3e*TtSfA@rmvv(F}Jen`69JX1!47>~J{C@83<}Qh}C7G6HZ^s%d7_-etMw6|3ByK2?LYPXhm&Dc%K7*SU zr+g*u-MdHRh``S2_ttLIq!^s?@-jwFLA|EKzri{wGbbl7;W!+WGS0mhtBxk`q)FEP z)HZ`VhLR51$6~v1hXe{NuyI6j32nZxmpI?=F=YiRHnO&2IXR|EVsYlP|H0791D4Dt z;+fU^HvS$4fsC{U!E|o&ShAxZ#7VNaDgCA5zSnV$kO}--Fua0Na}>e7>Mp7ZC&wSL zG4r5mjsOYdqiuav9yYC^k=BfIcx~t_b9&mX7q8QjL8eDCVkOxsVL7e{sKD%iDU z@JDM$GSp+YihkR>%@%?BZL+cz>E5N7*@Od49foF`R?G{IK%OO+l|CZ?JzY2x zUbm0+8yyXw(lkDUC1t|uyHN{~ga+gPA0r|%v86T}1LE~egT99L0R$ix2|%C7o#I*v z6h?TEPbj9uiHIfdaq4_#kMmqJ>_xa0k*n-Jv`K9rynKxirg3_ehEFOmC%hh;RFo=2u-kDpX02N}KZO9S| ziZKgNMq*Oh4YXSFVX&cTVr>%0q)U)%9?{qDlVf*zZkj<}6C4?VUNZBuqnh^VH~mK~ z75cH~^>?R}C-)8%Esi@Hsh-xv<5rpf`wWfuMxLI2_Ls~&UFgMPJ2_4yLT8D9Bcv3` z+a@^uFxO!I2VYK<76I>p-1I7w*w2-VQmI6RfAkD>%%brB=X5dI29$K@9gxjdpbn$DdTqg7yKw=$CGN?J*)!Boi$brY zbkfR&s1|+(-LD60gCjaRI^4nB(f-l1VcQ^TZg%T8p)^Zz5fQJ+f7s!|vY5F#(XypHI=+mp!;`RUc^5hA$UJBis1urtsDKje=d zE+4-dGV5Ymg^)w|@H#5-6~I?&FS}O_W8fHDC+|be4Gn>k2I@H~HAlmT+O&=Kn|dBwPZ8Fpa^+g=Q^F7NU-XdjJp6?l+Hm~i>p!n9Uhls${1@@(6Rkz$C_4NP^ zNmHVqRRNzr6g6%&S5W>(339X+n@{rqR(I&;2>hVDS6Q0%inW?f{Qgbg zBE;i_j%0J(cK_FL{E7fEsE>WZpyNnMZbZKdDB^HaF|rOUyt%8js+{&FFrc}@`vsl zk4^eSjqVW!ro|k8oSj z*x9bwK~xxoB86Ed2<%1e_OH4P*XslIVyvT7YZG0wqB20b@&&mxA8}-PPsjtblZ>`>9~~q@yh&hb}OMy-0@myLj6=! z%e}S$ipw)o-+eh2{9ga9(uc@B6nWoV=W;a=3CE<`Q zb>FnfoVupcb)V*vZK9%jFnXL|wWVLLFsb7JFdx3hUEmCd?jO;Q&oAiY*=eAEFW>Wi+BM1R&goB{KYzaMz+YsYZL%sIXleWO#~8J=w-3to zFF}_yc>moVsn=<5bhxoxhX7bklzRZD&U0a6_rroAO< zG}Qdq+l8!m2*>D)tQjVPi_wG~4_{fCXBX|*jrJMg@R0>_zmxjKB1)Oy3k_n z_#Jjx)BW%TmBe2cDUxrP57PV_fMmC6twfOc~Q7`=gt*^93@-K z*;@eHgaV8Pn&M*Hw|geew+RDifo8dKOofrv)7FZ@Cr^I%m}BnHiO*mirDi3TmPo8v zcoCdS?KX)ugyxMYq<%WRRGUp&Lpq*>RdSWOy0XxXX`@n_f{@vxkRgK*U=jS9ULR+J zGyp3%$Q;gabcTnCW8nQKPtGQz4P5n=q#x^Tz;G!>qVq|}|D#9!CBPwPI*ashpYXcE zzOpKC0>F_|ladH(U^UA(@5b(5zkcn)RzFg;U=5-^|4Ns{1vY6Ye=xT;1gt#UAlnmy z+JE0*KBU6}k0Z>91g~bt9ELlq(o}6xs0CPq6y8WrEYd0Kon2gX34;k+5-~kf-R;l6 zlwhXV7({wND0EB$7im4g+(r4HzR-uiuN4Ps3P&+~p(Do1nJolBv^eKGh5rCvw^e@Y zLEsOCT5(t|O0?PsRgT>fjG_|82pFNHUO-hkEJ!inmyt2Tmk<$RL&LQh?m-SD-GF8i zf6VWG&88j<3(eFad_+sj{F?W_M>vKiAL@w8n@7Hu*zQNUHc~RYeeK$NTB~pD#{PBi zM7>Gt4vyo9bi8}wg5GsJ)<>Z2N@`R*Ov3X;n}BnZ=zO>d~No_o}B`tFX`s$ji8#HZLV zw}7%k5v91wItM4G-w2hgYFd&@muvp>=le;4M!HIg^Lh`5MMPxeV9(Z#S$LXdf6klP zgy~VK*RY)XA>pV3hE1qiqz}!TIBWsQKsnbY>U=C~x(!~Osf+>lSaWRlyFX{S`|;Y3 zTWf`;MVnL&dnb|k4=~7z@g(zwJx7^LCca1qh?BnfI=4jjv@{j|JLvOnd%=P%nrH8P zhdvx75q=|*B69u9!=&Uh^AF$E6}jg*i?84%mqR~N{p$}}g@D7A;hP!cW?{s`Xa^6V zvtHrwu&@VUaMrb=OdoF6CrKWx9U6&M`GdxaBL?C$VP(Y zT^{ux!lcMZ6MU{ASh}orQ~h zlQoC7lhmb%WCkv3bJ*FBJycPT&c}D|ko^eU+q{CrAqJ4WY--V>MLB;ld|j%2;0nir zd19iX#lH+eOF|oM?Yea(+Vgin++@zCLb(lGEoa;z;N`rBAeJ~PP=Wj@RU6T@W*_d3LW{7wcE%9`uZ1zlKi)^>A+(BsE!}}EtHgYt<^CUU`NvntvGdDLqrZc7tY=g zIAp@NdHCl=Us0L_q3Pg|R8AciKq;{b^XFp#pX8~x%?tlNhHJp9KA-rC5^yR1D0KKX z@bXsRRiH}<0nQUocw&Fr6~XMc9bjbyGtq@G*I(Lu$QYc7jGQ5mI^fUm9co&HE-;gL zbA56rs&Q^`kL=rbe#w$00biNl3m3Vh!aL<*)}PE~d(`EBN4Jpi>8Y*ezvlw|h~lM* zdzktv&H?Qx}nEF7-IdC*LO5kWH+1oa) zn9Y+Ka25m!<<|>BLIE!wRtpbsgFQ1Jv*)GKoymVZ`j~)HH}LTVzF@4m_Pw~;rBBcw z{Sj9;x17H|6Ui3S=;$_b+OlbdB3}Q%mM~->I9wso!8NEylXt&%S&x3D1V9N&=M8ni zr>adxf?00(N?ayD##s4*@*FRb!9vf==n4zphKq&&?)=BGhuJgg>zMVrx>{&(d7$US z!={W`Xmq_6L67gyjNggMzb|KRMn!G04g&zWaV8!;c$7yneuw|IzsyNUS#%==sYIT0 zPsNexXu}+-fdlFlPayU2Z!Z98K9RIaos(QbneP+jQ-S{tt^y&CG#F5CY*SY5@mKk$BTpI@0D~$k(LATef2;LYjl^h#QFX;~^y(iQiw;*0T z%!LowD-DF2h_AZ1yz{8LeJw0Je0s_{Lh&YzZzF}0ww-)}8Sb=eA>G?5^2nExep6Du zVWW<@i4Ys8<8SP<{$G1n{?+8wtzQS^tK-+oCn6|X1DGlzAfO0__Bs&8HdvH^f(4lZ zh>R+b(Dt)ll`4i&nXF7&3@R7~nQH}u0v3dT2tfsD41;A58FQZ#d+%EJxBCZNmuq#c zE;zpDoPGB2>}T)Yih3(D0(r7>*tDO$Ps<2!d{qefetYu$#RK4urmHPoR0S<|R+h*S zA&(7;AE4kqoG(Q=_<4BjAv`aFTg02R05Grsy=V!E0i_q<;`S7M%x3?#dUQXZHDdfb z5k|J~e9IJmTa7@#gb1aGJvaunk%n-Fnlmr$em;C(iHhweGNrv2$?&ACD*l0&*a0vc zLj55V)fK0x&BWs&JP<_&zu}PklMFP4PLT@RxFzs0GsrVGP*$w*9BgbZdM&Y7ak4}c z2Y3>MUwIEW3c1bz)|%A%q^#kH^a;|xA())Nl`}X2H!Co#GK6hIU!TwK`OC~6N#Hm4 zFi6T`4aRaj1LKKc(YfVno27a*b9m*f_n9dE7<&l)y6qT3!_Sz!&C;!6-QzjX{NdfF za^d8`6GZuhEgH$eCw5iPLAvWtF*Sj;$rZ1$l$=}+2*V%q<2rn`*`yCqG+sOW~LXJF&PDV1GP_fo+g6Y2z|2+^o*I3Vh2*Kl8<5MWWMgoDzR#+<90HD0F$>)V zNEzblrEqO1>X8*GTPE6skm$<)JJ&4%B08Fa)qRsxq`Y`?V(WAe>L(M~r zPbd=n<{AXl#5W{yU2eIS`x80pkE+nODx@3Cl=Wp<1M49^9RQYhxw_UE)`dQH#+2AU zQ2iR8k|HCLyWZXDqYr@C5+=Oy)aKXVETNaqj9+kYu+>>4`&Qypq77X?{HE#&bZ$6y zY#lB^3-A!B00Ux19$|D$FaUL;phyBZEyz4KN+J&gF0+EzumXaNM>{CI`C`kdl}x4l zh;A!FBE@E|U;kW8#})YK!Gk1$2YMj^K@86Kia>+S27mxd2?pt5Lf&!wQ;>U_CuZfk zK500~SN}t`LzHi-jP2->TsBb5kE~Mjq!@i$s3P8LsAlRMq;UNiGw{bxO-@c$A-SZ> zq?_yNeep#zdCN{tQpJh*$Hc_^iLUk^DTW&>Ur*2JnHU*`mf$Pg=3^%o^@O#Fw1G9V zHQzbk3$jN^x{ZW(uuJ3;%F>9a6Z*~U>|;gH zMzLcMXmK34IHajaPEIX(LKgMX!NFEMi0#|sSIPQU0P|Y{hQc&?f`Ph<-`CYx&hU;o z#b%w8CCV@fQ&C%op;rf>T&~!OJ8qqNh1U+IjoHho~$GCTE3>Y#Fw*zYm@hr@gc;Qj+T8=f)eqb z)0K1Mw_Ts3lEV;)>Vn$jj98VBt}#b2U$PLT;uR1dt@hn09$4&Jl0bNML65+Il^NKU z+`z%7BZ9C{FaDvul#0HGHWuW1y=eX*r*6a$Op?ZEdq)Ip)rE&4!2JNSVlu92 z|GqIx-=$~1;ti88N~!q-*TSBh5?6JXVN`4yK4>H8iwDp1^wibW9e}YRk!^%h45j(> zG|XWQbb#}R{1*w;Z{EJ$6x#UnR6$law0;FqSS3!Wu&7yrz#Zkt9mHfM5Ylr%Kt7`L zdx+To7Pg)uRP_=`S);~G+2s+TWxi(d8SriJLC!>N#kPSwdPNg0vn`sBZ+d7iv)_b- zEUE0^v~5vbl?l4)S`rcz5C!mOW2z?1ZX;-|tb+?q75_-&btAN9Ct~$B0r)5+8Ho11k5*TjV~J;kAxG?nn_G2geZ!wgW1Xq>_~)qfwUt#Zt-_Y|G_+;>L*;Gw?x4v2ieL_RmLCW4UqveNk8mfC5po6`!2IBV zT2-xzU5I*#XGi7C-w%VP<_~jg4R|(;$$&xhBy??@%tyu)RE{O=A?n$lwY4SMMT}_O zbZ90O0u$tRldZ@jQfp#!uK(d(k;RCMcib-lc1Viu6b?CFfZ7&lBXo)5W? zE&8#hPE(Oe(Z{hEkz={_2Vomd%nJD2+R(=hI9gD%$k8J4C_^LB*e~JNLi{j)?P@?? zC{0>2JiQF10}_G=Rfmu`=#eRi6yPfHwqo9EVv7EW6GLc7s`8J(Wq4&J=BR%nt^wp1 zwESDhBp9N|{n9!>u=l3v&}tvWWHX%WLbG+3c>7ot04SRp9yK+Qrt?T%pqtyKLW0D2A_Y^%}4kU$Z9Ka0<^#y zB<=)YMDaYGPuhA?0d zmXK$&UMU784#*mhG#V;1S z#}Kd{fw^J3G7u=DtO*SsSwn@KIfuf9I0WBOOe|+?JvooS1+d^eliHap1mFpH_`4eq ztSez0iJTuHdipPMVw8kGJnNu)Mmw>BPy(P*lqz1|?Iz?sq*(5dhbUuL= zi!+gv0cEgf#D$`o_bggAf`8U~lgiY7#SN&F8+dUYH!#orNk2^&%6u1T@%G=l-iwsf z5hp=heo|NE5I+lL%BBR(zBrFszm~)@J;nncV@2M9<~rKH%7#kU;s%=`Mx>mM$bdyN zB1O_U7?y@`j9x5vZB~tx$kU*;MhS`C(u-_7c_AFH{47uA3hTusf>Lur1-|Ef8UDYX z`^lSVj~PPRnd9(KJ$hwGXGBYSMm*8W=qKB@sV)n_>3&1|tYf{jNo%%5me~32p+h%N z9FT`f{`CG*n9B99VVb3&%yXfX8Og$5Qm3YkDxOpI;vQ%?Us;Oe{w!3%E59qNn=_}xuMG9P_Vv0qaugwcHSQu z47>IJ{1C7IW&_iQ_q#c`@W`X%+Z@07<}y)V%~oiZ0xXh@6N99dHeOMwO+IdQ`Z|!D zSQ$jzfHLY*034HH_^`b1VkY&)x^da4rU4P48IzStEL5rJJXDoS!JWfl@r7!^CIdT} z8TmJEwBP;P-KGjYA>X6%w}TeU3PR~j#i+#3B>JHrYIflt@q6plf;k^vB}xM z7Wx__gX>_|+qXt@* z9wOKtytNWKfDqC)3fv7te?jBFk0YAvgrMsYPn=?);E6)M_it|7YyP@KmB22;4!CQi zaT*z1^v_2nJafuokrb^Ou?Py0fJ5V?&vfy*Ixyr6q9%G8h#0P425jrw^#0jO;rrS8 z>R}0>9zyrQ>nPcyO2rxgplC%<3Mko|aE2NWoD#98&mrvM5rBcp*L%GP|M4gQ!F4>n zKZ@O4=2C0}xRBtsgjtZbE6F-!9%VNM)D@F#R_c{jJm0|a4~Dk-RloK=-UDUwQ@99* z1MSc3K%`uwp%Id1n6P|}`|hre zj>!bz{xL7sE~G59NvvnFX35zHsCg^Ve{;CLXIM7yT$!>_0$Pf`jIcLIWE~sviDa63 z3ua${epq=Aq8l@(szj}iJ2s%sgX_XXWAQH3tawhjF%V`U=_w{zcsBbjL^n2vB=&J0 zB(Wb8Q_^_FcN(f-F?3FyFB*X~yVh2|#Hp$ai;D8cqvR);;9&)K879DJky&G4N^a8A zYa&~Eh|mxD2eKb1$G$xF!OeB* zQi2&7JO`5w1rxmy;3DLnl(23$GaE4Vx<6oy;sdnFVi-KaHi8u*vcykP8RY|FoG!C! z3w`tZ78O-h%w*h076MF%g{oE5H8l?+#YuAM$Q0l^9)hDS`dFwjmqO%!+qgph_k#ZJ z34y)=tA4EE)AzuWaVQ9Xu0~D6U(BsWma|0q zouC@P3Q#YuuiOen$0ZvquYRo!<; z-L?2zG|Ty8R|qe%1b)?y-(jRF(i7x+VDc59c>O!846nP`ZQIFXcNmB`)E-#VsKB2$ zRMMoW!uL&R)e-^<;eQZS6&+FTj5UrEUQ>=ZY(Soxb!%7Ax}}SZNY)OO*KyNSPjyev zHSkO#R{>9WSEiG*_L+->+-N69MabYCN3iUbp=;D>cew{P;v&B_Jx%p^|fdLcPn z%7o-BzeivtpPEv-KT$e#LNsbda;x|6voWmq8zMtA%JLL$=zieKA4rOHR9+n3&j?GK zI8~i7vDGm3=Pb+Rs^1o@6y9Zv16JN#rs8~JL7o2(zu7I(v-tVi;!WSApI`LvuXr^x zN?%wc|FBPG?=|V7(tYI%nW}VKjV0eZSO$Dr$INPTyl$x?`c&k!!!Y$qgk;X5@j%`N zYg*Hmj1})*rIs4f)&+5Q_LmONrW<+{fO;2_m6K*Sa;U6pcNjYUkJ_G{M;R-h*-gD$ zNm7}N%e}5iEUs>6VB=g0kstJzeS~VvLh##iUQ>Rnt*xzhVh}6JURzVqif)!$CACzq z(bSqW0snJOAQFjMa~@Ds%7w2qsgq4`opyiCnLU^tKg}OFZrZf(4tT#BW+%6iWeITT zE4+GfVc>&j>|j{-RPzX9z~G`MPi$H)8=rs7ti0O0dF9HL5`WXB)E!JcoEJR-+JO6y zsAYDw9O+}#AGYo9*z|lb3<|xFC!ZTY&A0bDH*5BhBS$o|gTX%;+`U5Hz&*f8L+0n? zD- z6RUpRDJEA>H0*VWPUE?DdxOFwPzq*z0 zoY2+N^E!Rn6nI<%6jA{&&5*30y-h_okKCRBG_{}CPQHi3BHz>6+v_1i@L$EYDrJar z<3g@B-uo09*&{O243_aRIk3U7l#2`f+$)ag-L81g&dJR+G&fJ{=;(OHPPr)jCaSn? z>QPTmPaMjw-`go8nkR>*?&<6M_G|tF=Fo-1)5AC7`OwdvSQGsL8oDbY@ZBjFmHdv* zav6q(hC4B%6UzoejVsMvGD+!WXrJ=??z>l|$iI3dher;J#E_iSf?8m5pzV zg8}OoijO>o)hI;75pt{Hl?|Vl(t8en7{`gURFI7?`=yNy5#;{$_SS5ZwpxH`i{~G{ z!UF6Y=(tzZm6{cu&Q+2oxZmQ((^%6B)EMcZ6z1*t5m#(Y#HugW*4B=UoJY0)6Q5cA zQ!wJUGz<#=5Gfcp;m>^MQaH26ijKMsXGu*J?wEvk(nHmu_X-O5@OkrxtI2SKsabBz zUE@qmt(~pDLOW7*#OuPXN1Fr(FQxpv31a0x7&e_wlN+qdnobA0*q4(Mz;;DXeuErk zP$W@gIIwpWH1GAk2%P3$vv&nm~o#dTvyxA7Ld`wz^3O$$Iir4_0>{meZkgeS@Zs*XyLa#AxX(N8?&CwpVP3g%#Yr>MJ+g7S&3c64 zE2!EDzf~B4IyhF#_Y~E=j4Ua&v9(<$W-~f{g+n)mTmxpA)W*4{y1II5XjX{f4bMWh zv^(NY_t)K+ptRw_g$uTI&kd~Tycfe0@-F-wk8nzxjM5N^>10EJ8Vhen_HB+R>l*5} zqE9?yGggUB#0PR)M6kBvCEQ(;FP}R(If-7pcyam^#4-+6A;;Z+uU-Oc?g3o&n`qlR zx3}dezHfy|IaQsgZ)7xX!V$P`$&S<)olR*h{5G_#%Orjpq_ijP?T4&R_q=3_KV2ql)1ys}(|CDO zGv~v3t@TfzehqJ_5F!M`z|+rf3+O-RxkU-W!xJ2ir>8d7_w1IeR*j3yYny6i)$^_- zCm-@L1uH@LW@s_h-s~&r1BGDrP+sfQcl;)uoliq@1~I_O17)01FkYS>9yB;G=efp0 zz@1MT8$AO8wvLXD%Fu+&v{&6vTO{TP>=RjYWuIwM?QdV~okw-n61{;IPny;vXJ{F= zLDmm07YW3}e`>0$KYsV_-D#B48cdOTHs{LKtM~KbM@nfK)*}wf_P_eIrlw|`&pUZ?2gFKk z&6@g0k1SDHef479s+Qpi@r5Y_NaOQ)f)cL>$<`yggl#(Lo4}p;q-7T&oNi=^=QC?LHp zTeqIxHdq^$(>B#WbJf()n5jUU&go+~iFBx^9$N&de@#ry&UwW}YKxj48nxv7F&HL( zJd4N`4|F5m@5u)ofn%OD*<~XXDNI@^C?|0C+r(_A+jk`KbM}16+lgt(4p?$cTRXe= zDa#j9cP^LgRH8oUqnd=v$!(bo5sYUfu())QTg#P`JZ#=z$Bqw0oWW($(5FD8Rt)(+ zLbg}EP4;+7theG?*Jr+bd{KpDnD-hDBtCG->oPV7-$YTvBuuZv^WkQ<`bJ@2_HhFo z)0JX-x)#zg(y%i8MeCiDb+4bFD(i^{CrPD0JAdT^*L1L9H$Q- zbaZ5K{7p^8VpzyxjzHpqrVh19RWp4_SIIt{Ho>Fn{t>;(3d{`+NAJQCakAr^Xr&cW z8$XRSJ2V&884TN%X6IG$CvQ}o9bc@`IT-eQ@V)a9=N4aK_g}U@3Nu_CI1PA*&fI*l zEL$wAcqwFaa8)?v4c*-RXM{t8Td&0j)RvzCQ&Jk1@LajVQ!FTXYsRbN_%jBxo zKvDf}KQTSaOYL=F&N2Cim+hbL&C(OetwuTpjxuL}gQxQ2Uu6RK7>-l?MoMbx048z$ zna`@viB z@}V5Vc`ggAnd!`t1AO`WY`rLHMA*v(l#AFvwKrQ`{~0zF5`;%R2WZf0wU-k>qg@D-;Xkd+qsV2dySw(BNY-{3n;*2JCSy z+^=zW*p?jY*z|>^^y^5n_B>xI3eFl2yMXJ6^MVX5_J+ zjh$V-@!I87w7?o`SZw_Jes&+=RG5n-0YWyzfm5L?@@LknUsN7trrVEv#qZ|`II=S^ z$Va?)fF98qPxia49}u)V8fO*@*@8}AL2)bl_~z_e3A2m@k82(O_M7*ZdE{5&+%bCJ zLz-S9>&TYu@^)O|FnU@|SUs2|!5X<>zc1j~2#^Kp;`c7dj$hHnmhYqYC9-A8aW8^G z2ag+TsaJo+ud*9qVIkqG%C@OYob9W};E0_seUINa#;c)<@+X<{T zSLefrqsF20cXWCjf)w$w6xE%LPzc4B%ZKRM1NbW)KOF%_q?;DuE7%nm)5hL!O)ra! z>8sbF_Qeg@6v*CAy1C1vW$wF0e*6wry`Lb|Sae35)}(#qrm!)Q3y>iSji~5m|0U7QUK(ziR>PLL@n3SQB=qc9zePNc%yV(_>_x^N6Hr)6#;h1!?Z%6951J diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/transparent.png b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..6b7a50e78a382ac1dfc2b6d1cb3320777bb6667f GIT binary patch literal 8041 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 QKm&n@MwW&}`mU${571yP(f|Me literal 0 HcmV?d00001 diff --git a/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/transparent.png.import b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/transparent.png.import new file mode 100644 index 0000000..ab4dc67 --- /dev/null +++ b/Gameboy.Player.Godot/Prefabs/GodotBoy/UI/transparent.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1grnn67kto6b" +path="res://.godot/imported/transparent.png-1b23ce7cf73055690fc2caba064e03ed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Prefabs/GodotBoy/UI/transparent.png" +dest_files=["res://.godot/imported/transparent.png-1b23ce7cf73055690fc2caba064e03ed.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Gameboy.Player.Godot/Prefabs/KeyRebind/Keybind.cs b/Gameboy.Player.Godot/Prefabs/KeyRebind/Keybind.cs index bc4b418..1076506 100644 --- a/Gameboy.Player.Godot/Prefabs/KeyRebind/Keybind.cs +++ b/Gameboy.Player.Godot/Prefabs/KeyRebind/Keybind.cs @@ -27,6 +27,9 @@ public override void _Ready() { private InputEventKey key_primary; private InputEventKey key_secondary; + public Key GetPrimaryKey() => EventKey(key_primary); + public Key GetSecondaryKey() => EventKey(key_secondary); + public void MakeAction(string name) { InputMap.AddAction(name); this.action = name; @@ -67,6 +70,28 @@ private static string EventString(InputEventKey key) { return "(Unset)"; } + private static Key EventKey(InputEventKey key) { + if (key is null) + return Key.None; + if (key.Keycode != Key.None) + return key.Keycode; + if (key.PhysicalKeycode != Key.None) + return key.PhysicalKeycode; + return Key.None; + } + + public void SetKeys(Key primary, Key secondary) { + if (this.key_primary is not null) { + this.key_primary.Keycode = primary; + this.key_primary.PhysicalKeycode = primary; + } + + if (this.key_secondary is not null) { + this.key_secondary.Keycode = secondary; + this.key_secondary.PhysicalKeycode = secondary; + } + } + public override void _Input(InputEvent @event) { base._Input(@event);