From 55522fc6fcdde53c7bd5e6805aa7bd801052059b Mon Sep 17 00:00:00 2001 From: Sean Smith Date: Sat, 4 Jul 2026 18:22:23 -0600 Subject: [PATCH] initial commit --- .editorconfig | 4 + .gitattributes | 2 + .gitignore | 3 + Constants.gd | 31 + Constants.gd.uid | 1 + DisplayData.gd | 14 + DisplayData.gd.uid | 1 + Draw3D.gd | 68 ++ Draw3D.gd.uid | 1 + LICENSE | 21 + Main.tscn | 55 ++ MapView.tscn | 13 + MoveableControl.gd | 28 + MoveableControl.gd.uid | 1 + README.md | 32 + .../assets/NinePatchWindow-InnerRecess.png | Bin 0 -> 167 bytes .../NinePatchWindow-InnerRecess.png.import | 40 + .../assets/NinePatchWindowInner.png | Bin 0 -> 167 bytes .../assets/NinePatchWindowInner.png.import | 40 + .../assets/NinePatchWindowOuter.png | Bin 0 -> 166 bytes .../assets/NinePatchWindowOuter.png.import | 40 + addons/loggie-console/assets/close.png | Bin 0 -> 2902 bytes addons/loggie-console/assets/close.png.import | 40 + addons/loggie-console/assets/icon.png.import | 34 + addons/loggie-console/assets/inner_panel.tres | 17 + .../assets/inner_panel_recess.tres | 16 + addons/loggie-console/assets/minimize.png | Bin 0 -> 2849 bytes .../loggie-console/assets/minimize.png.import | 40 + addons/loggie-console/assets/outer_panel.tres | 13 + .../assets/outer_window_panel.tres | 21 + addons/loggie-console/plugin.cfg | 7 + addons/loggie-console/plugin.gd | 16 + addons/loggie-console/plugin.gd.uid | 1 + .../resources/loggie_console_filter_state.gd | 55 ++ .../loggie_console_filter_state.gd.uid | 1 + .../resources/loggie_console_settings.gd | 294 +++++++ .../resources/loggie_console_settings.gd.uid | 1 + addons/loggie-console/scenes/console.gd | 563 ++++++++++++ addons/loggie-console/scenes/console.gd.uid | 1 + addons/loggie-console/scenes/console.tscn | 164 ++++ addons/loggie-console/scenes/domain_item.tscn | 55 ++ .../scenes/panel_domain_selector.tscn | 86 ++ .../loggie-console/scenes/restore_button.tscn | 29 + .../loggie-console/scenes/settings_panel.tscn | 90 ++ .../scripts/components/console_controls.gd | 104 +++ .../components/console_controls.gd.uid | 1 + .../scripts/components/domain_item.gd | 166 ++++ .../scripts/components/domain_item.gd.uid | 1 + .../scripts/components/domain_selector.gd | 256 ++++++ .../scripts/components/domain_selector.gd.uid | 1 + .../scripts/components/log_buffer.gd | 209 +++++ .../scripts/components/log_buffer.gd.uid | 1 + .../scripts/components/log_level_filter.gd | 62 ++ .../components/log_level_filter.gd.uid | 1 + .../components/panel_domain_selector.gd | 381 ++++++++ .../components/panel_domain_selector.gd.uid | 1 + .../scripts/components/restore_button.gd | 123 +++ .../scripts/components/restore_button.gd.uid | 1 + .../scripts/components/settings_panel.gd | 125 +++ .../scripts/components/settings_panel.gd.uid | 1 + .../scripts/components/status_display.gd | 55 ++ .../scripts/components/status_display.gd.uid | 1 + .../scripts/domain_color_manager.gd | 167 ++++ .../scripts/domain_color_manager.gd.uid | 1 + .../scripts/loggie_console_channel.gd | 66 ++ .../scripts/loggie_console_channel.gd.uid | 1 + .../scripts/loggie_console_constants.gd | 9 + .../scripts/loggie_console_constants.gd.uid | 1 + .../managers/console_settings_manager.gd | 96 ++ .../managers/console_settings_manager.gd.uid | 1 + addons/loggie-console/theme_compact.tres | 141 +++ addons/loggie/assets/icon.png | Bin 0 -> 16039 bytes addons/loggie/assets/icon.png.import | 40 + addons/loggie/assets/logo.png | Bin 0 -> 59538 bytes addons/loggie/assets/logo.png.import | 40 + .../theme/checkbox/checkbox_checked.png | Bin 0 -> 5021 bytes .../checkbox/checkbox_checked.png.import | 40 + .../checkbox/checkbox_checked_disabled.png | Bin 0 -> 4934 bytes .../checkbox_checked_disabled.png.import | 40 + .../theme/checkbox/checkbox_unchecked.png | Bin 0 -> 4010 bytes .../checkbox/checkbox_unchecked.png.import | 40 + .../checkbox/checkbox_unchecked_disabled.png | Bin 0 -> 3920 bytes .../checkbox_unchecked_disabled.png.import | 40 + .../fonts/PatrickHandSC-Regular.LICENSE.txt | 45 + .../theme/fonts/PatrickHandSC-Regular.ttf | Bin 0 -> 152608 bytes .../fonts/PatrickHandSC-Regular.ttf.import | 36 + .../theme/fonts/coffee_soda.LICENSE.txt | 30 + .../loggie/assets/theme/fonts/coffee_soda.ttf | Bin 0 -> 49816 bytes .../assets/theme/fonts/coffee_soda.ttf.import | 36 + .../assets/theme/loggie_border_box.tres | 14 + addons/loggie/assets/theme/loggie_theme.tres | 95 ++ addons/loggie/assets/updater_bg.png | Bin 0 -> 701492 bytes addons/loggie/assets/updater_bg.png.import | 40 + .../custom_channels/template.gd.example | 28 + addons/loggie/channels/discord.gd | 75 ++ addons/loggie/channels/discord.gd.uid | 1 + addons/loggie/channels/slack.gd | 65 ++ addons/loggie/channels/slack.gd.uid | 1 + addons/loggie/channels/terminal.gd | 21 + addons/loggie/channels/terminal.gd.uid | 1 + addons/loggie/custom_settings.gd.example | 52 ++ addons/loggie/loggie.gd | 310 +++++++ addons/loggie/loggie.gd.uid | 1 + addons/loggie/loggie_message.gd | 566 ++++++++++++ addons/loggie/loggie_message.gd.uid | 1 + addons/loggie/loggie_message_channel.gd | 24 + addons/loggie/loggie_message_channel.gd.uid | 1 + addons/loggie/loggie_preset.gd | 83 ++ addons/loggie/loggie_preset.gd.uid | 1 + addons/loggie/loggie_settings.gd | 521 +++++++++++ addons/loggie/loggie_settings.gd.uid | 1 + addons/loggie/plugin.cfg | 7 + addons/loggie/plugin.gd | 50 ++ addons/loggie/plugin.gd.uid | 1 + addons/loggie/tools/loggie_enums.gd | 88 ++ addons/loggie/tools/loggie_enums.gd.uid | 1 + addons/loggie/tools/loggie_system_specs.gd | 186 ++++ .../loggie/tools/loggie_system_specs.gd.uid | 1 + addons/loggie/tools/loggie_tools.gd | 530 ++++++++++++ addons/loggie/tools/loggie_tools.gd.uid | 1 + .../version_management/loggie_update.gd | 335 +++++++ .../version_management/loggie_update.gd.uid | 1 + .../version_management/loggie_version.gd | 39 + .../version_management/loggie_version.gd.uid | 1 + .../loggie_version_manager.gd | 225 +++++ .../loggie_version_manager.gd.uid | 1 + .../update_prompt_window.gd | 192 ++++ .../update_prompt_window.gd.uid | 1 + .../update_prompt_window.tscn | 818 ++++++++++++++++++ addons/uuid/plugin.cfg | 7 + addons/uuid/uuid.gd | 112 +++ addons/uuid/uuid.gd.uid | 1 + axis/Axis.tscn | 31 + axis/AxisNode.gd | 40 + axis/AxisNode.gd.uid | 1 + bisect.gd | 44 + bisect.gd.uid | 1 + camera_3d.gd | 15 + camera_3d.gd.uid | 1 + cryptography/test.gd | 37 + cryptography/test.gd.uid | 1 + cryptography/test.tscn | 6 + drag_container.gd | 24 + drag_container.gd.uid | 1 + export_presets.cfg | 49 ++ gitignore.txt | 14 + icon.svg | 1 + icon.svg.import | 43 + map_viewer.gd | 454 ++++++++++ map_viewer.gd.uid | 1 + menus/display_settings/display_settings.tscn | 10 + .../display_settings/display_settings_node.gd | 16 + .../display_settings_node.gd.uid | 1 + menus/display_settings/shape_render.gd | 37 + menus/display_settings/shape_render.gd.uid | 1 + menus/display_settings/shape_settings.tscn | 44 + .../display_settings/shape_settings_panel.gd | 10 + .../shape_settings_panel.gd.uid | 1 + networking/scripts/udp_broadcast.gd | 42 + networking/scripts/udp_broadcast.gd.uid | 1 + networking/scripts/udp_server.gd | 311 +++++++ networking/scripts/udp_server.gd.uid | 1 + project.godot | 47 + sensor_approval/ProvidedData.tscn | 8 + sensor_approval/SensorApproval.tscn | 43 + sensor_approval/SensorApprovalController.gd | 62 ++ .../SensorApprovalController.gd.uid | 1 + sensor_approval/data_column.tscn | 13 + sensor_approval/provided_data.gd | 39 + sensor_approval/provided_data.gd.uid | 1 + sensor_approval/sensor_approval.gd | 48 + sensor_approval/sensor_approval.gd.uid | 1 + sensors/accelerometer_sensor_node.gd | 30 + sensors/accelerometer_sensor_node.gd.uid | 1 + sensors/base_sensor_node.gd | 11 + sensors/base_sensor_node.gd.uid | 1 + sensors/magnetometer_sensor_node.gd | 24 + sensors/magnetometer_sensor_node.gd.uid | 1 + sensors/pnt_sensor_node.gd | 56 ++ sensors/pnt_sensor_node.gd.uid | 1 + sensors/satelites_sensor_node.gd | 23 + sensors/satelites_sensor_node.gd.uid | 1 + sensors/sensor_spawner.gd | 30 + sensors/sensor_spawner.gd.uid | 1 + sensors/sensor_suite.tscn | 7 + sensors/sensor_suite_node.gd | 54 ++ sensors/sensor_suite_node.gd.uid | 1 + settings.gd | 100 +++ settings.gd.uid | 1 + settings/DisplaySettings.tscn | 9 + settings/SettingsMenu.tscn | 61 ++ settings/display/DisplaySettings.tscn | 64 ++ settings/display/circle_size_control.gd | 22 + settings/display/circle_size_control.gd.uid | 1 + settings/display/circle_size_control.tscn | 36 + settings/display/display_settings.gd | 85 ++ settings/display/display_settings.gd.uid | 1 + settings/display/rect_size_control.gd | 19 + settings/display/rect_size_control.gd.uid | 1 + settings/display/rect_size_control.tscn | 59 ++ settings/settings_menu.gd | 42 + settings/settings_menu.gd.uid | 1 + settings/widget/WidgetSettings.tscn | 38 + settings/widget/widget_settings.gd | 44 + settings/widget/widget_settings.gd.uid | 1 + signals/data_signals.gd | 7 + signals/data_signals.gd.uid | 1 + signals/scripts/Signals.gd | 24 + signals/scripts/Signals.gd.uid | 1 + signals/scripts/gps_signals.gd | 11 + signals/scripts/gps_signals.gd.uid | 1 + signals/sensor_signals.gd | 7 + signals/sensor_signals.gd.uid | 1 + signals/server_signals.gd | 5 + signals/server_signals.gd.uid | 1 + signals/setting_signals.gd | 8 + signals/setting_signals.gd.uid | 1 + signals/vehicle_signals.gd | 5 + signals/vehicle_signals.gd.uid | 1 + vehicle/scripts/vehicle_node.gd | 121 +++ vehicle/scripts/vehicle_node.gd.uid | 1 + vehicle/scripts/vehicle_spawner.gd | 18 + vehicle/scripts/vehicle_spawner.gd.uid | 1 + vehicle/vehicle.tscn | 14 + views/2d/View2D.tscn | 83 ++ views/2d/view_2d.gd | 1 + views/2d/view_2d.gd.uid | 1 + views/2d/widget_settings.tscn | 9 + views/3d/View3D.tscn | 30 + views/ViewController.gd | 48 + views/ViewController.gd.uid | 1 + .../accelerometer/accelerometer_widget.tscn | 49 ++ .../scripts/accelerometer_widget_node.gd | 32 + .../scripts/accelerometer_widget_node.gd.uid | 1 + widgets/altitude/altitude_widget.tscn | 30 + .../altitude/scripts/altitude_widget_node.gd | 16 + .../scripts/altitude_widget_node.gd.uid | 1 + widgets/base_widget_node.gd | 36 + widgets/base_widget_node.gd.uid | 1 + widgets/compass/compass_widget_scene.tscn | 38 + .../compass/resources/compass_indicator.png | Bin 0 -> 47092 bytes .../resources/compass_indicator.png.import | 40 + .../compass/scripts/compass_widget_node.gd | 21 + .../scripts/compass_widget_node.gd.uid | 1 + .../scripts/coordinates_widget_node.gd | 11 + .../scripts/coordinates_widget_node.gd.uid | 1 + widgets/network/network_widget.tscn | 13 + .../network/scripts/network_widget_node.gd | 20 + .../scripts/network_widget_node.gd.uid | 1 + widgets/rotation/pitch_widget.tscn | 52 ++ .../resources/corsstrek_back_outline.png | Bin 0 -> 160187 bytes .../corsstrek_back_outline.png.import | 40 + .../resources/crosstrek_front_outline.png | Bin 0 -> 163082 bytes .../crosstrek_front_outline.png.import | 40 + .../resources/crosstrek_left_outline.png | Bin 0 -> 348880 bytes .../crosstrek_left_outline.png.import | 40 + .../resources/crosstrek_right_outline.png | Bin 0 -> 349256 bytes .../crosstrek_right_outline.png.import | 40 + widgets/rotation/roll_widget.tscn | 52 ++ widgets/rotation/scripts/pitch_widget_node.gd | 18 + .../rotation/scripts/pitch_widget_node.gd.uid | 1 + widgets/rotation/scripts/roll_widget_node.gd | 17 + .../rotation/scripts/roll_widget_node.gd.uid | 1 + widgets/satellites/satellite.tscn | 16 + widgets/satellites/satellite_widget.tscn | 30 + .../scripts/satellite_widget_3d_node.gd | 101 +++ .../scripts/satellite_widget_3d_node.gd.uid | 1 + .../scripts/satellite_widget_node.gd | 40 + .../scripts/satellite_widget_node.gd.uid | 1 + widgets/speed/scripts/speed_widget_node.gd | 22 + .../speed/scripts/speed_widget_node.gd.uid | 1 + widgets/speed/speed_widget.tscn | 36 + 272 files changed, 12391 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Constants.gd create mode 100644 Constants.gd.uid create mode 100644 DisplayData.gd create mode 100644 DisplayData.gd.uid create mode 100644 Draw3D.gd create mode 100644 Draw3D.gd.uid create mode 100644 LICENSE create mode 100644 Main.tscn create mode 100644 MapView.tscn create mode 100644 MoveableControl.gd create mode 100644 MoveableControl.gd.uid create mode 100644 README.md create mode 100644 addons/loggie-console/assets/NinePatchWindow-InnerRecess.png create mode 100644 addons/loggie-console/assets/NinePatchWindow-InnerRecess.png.import create mode 100644 addons/loggie-console/assets/NinePatchWindowInner.png create mode 100644 addons/loggie-console/assets/NinePatchWindowInner.png.import create mode 100644 addons/loggie-console/assets/NinePatchWindowOuter.png create mode 100644 addons/loggie-console/assets/NinePatchWindowOuter.png.import create mode 100644 addons/loggie-console/assets/close.png create mode 100644 addons/loggie-console/assets/close.png.import create mode 100644 addons/loggie-console/assets/icon.png.import create mode 100644 addons/loggie-console/assets/inner_panel.tres create mode 100644 addons/loggie-console/assets/inner_panel_recess.tres create mode 100644 addons/loggie-console/assets/minimize.png create mode 100644 addons/loggie-console/assets/minimize.png.import create mode 100644 addons/loggie-console/assets/outer_panel.tres create mode 100644 addons/loggie-console/assets/outer_window_panel.tres create mode 100644 addons/loggie-console/plugin.cfg create mode 100644 addons/loggie-console/plugin.gd create mode 100644 addons/loggie-console/plugin.gd.uid create mode 100644 addons/loggie-console/resources/loggie_console_filter_state.gd create mode 100644 addons/loggie-console/resources/loggie_console_filter_state.gd.uid create mode 100644 addons/loggie-console/resources/loggie_console_settings.gd create mode 100644 addons/loggie-console/resources/loggie_console_settings.gd.uid create mode 100644 addons/loggie-console/scenes/console.gd create mode 100644 addons/loggie-console/scenes/console.gd.uid create mode 100644 addons/loggie-console/scenes/console.tscn create mode 100644 addons/loggie-console/scenes/domain_item.tscn create mode 100644 addons/loggie-console/scenes/panel_domain_selector.tscn create mode 100644 addons/loggie-console/scenes/restore_button.tscn create mode 100644 addons/loggie-console/scenes/settings_panel.tscn create mode 100644 addons/loggie-console/scripts/components/console_controls.gd create mode 100644 addons/loggie-console/scripts/components/console_controls.gd.uid create mode 100644 addons/loggie-console/scripts/components/domain_item.gd create mode 100644 addons/loggie-console/scripts/components/domain_item.gd.uid create mode 100644 addons/loggie-console/scripts/components/domain_selector.gd create mode 100644 addons/loggie-console/scripts/components/domain_selector.gd.uid create mode 100644 addons/loggie-console/scripts/components/log_buffer.gd create mode 100644 addons/loggie-console/scripts/components/log_buffer.gd.uid create mode 100644 addons/loggie-console/scripts/components/log_level_filter.gd create mode 100644 addons/loggie-console/scripts/components/log_level_filter.gd.uid create mode 100644 addons/loggie-console/scripts/components/panel_domain_selector.gd create mode 100644 addons/loggie-console/scripts/components/panel_domain_selector.gd.uid create mode 100644 addons/loggie-console/scripts/components/restore_button.gd create mode 100644 addons/loggie-console/scripts/components/restore_button.gd.uid create mode 100644 addons/loggie-console/scripts/components/settings_panel.gd create mode 100644 addons/loggie-console/scripts/components/settings_panel.gd.uid create mode 100644 addons/loggie-console/scripts/components/status_display.gd create mode 100644 addons/loggie-console/scripts/components/status_display.gd.uid create mode 100644 addons/loggie-console/scripts/domain_color_manager.gd create mode 100644 addons/loggie-console/scripts/domain_color_manager.gd.uid create mode 100644 addons/loggie-console/scripts/loggie_console_channel.gd create mode 100644 addons/loggie-console/scripts/loggie_console_channel.gd.uid create mode 100644 addons/loggie-console/scripts/loggie_console_constants.gd create mode 100644 addons/loggie-console/scripts/loggie_console_constants.gd.uid create mode 100644 addons/loggie-console/scripts/managers/console_settings_manager.gd create mode 100644 addons/loggie-console/scripts/managers/console_settings_manager.gd.uid create mode 100644 addons/loggie-console/theme_compact.tres create mode 100644 addons/loggie/assets/icon.png create mode 100644 addons/loggie/assets/icon.png.import create mode 100644 addons/loggie/assets/logo.png create mode 100644 addons/loggie/assets/logo.png.import create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_checked.png create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_checked.png.import create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png.import create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_unchecked.png create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_unchecked.png.import create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png.import create mode 100644 addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.LICENSE.txt create mode 100644 addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf create mode 100644 addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf.import create mode 100644 addons/loggie/assets/theme/fonts/coffee_soda.LICENSE.txt create mode 100644 addons/loggie/assets/theme/fonts/coffee_soda.ttf create mode 100644 addons/loggie/assets/theme/fonts/coffee_soda.ttf.import create mode 100644 addons/loggie/assets/theme/loggie_border_box.tres create mode 100644 addons/loggie/assets/theme/loggie_theme.tres create mode 100644 addons/loggie/assets/updater_bg.png create mode 100644 addons/loggie/assets/updater_bg.png.import create mode 100644 addons/loggie/channels/custom_channels/template.gd.example create mode 100644 addons/loggie/channels/discord.gd create mode 100644 addons/loggie/channels/discord.gd.uid create mode 100644 addons/loggie/channels/slack.gd create mode 100644 addons/loggie/channels/slack.gd.uid create mode 100644 addons/loggie/channels/terminal.gd create mode 100644 addons/loggie/channels/terminal.gd.uid create mode 100644 addons/loggie/custom_settings.gd.example create mode 100644 addons/loggie/loggie.gd create mode 100644 addons/loggie/loggie.gd.uid create mode 100644 addons/loggie/loggie_message.gd create mode 100644 addons/loggie/loggie_message.gd.uid create mode 100644 addons/loggie/loggie_message_channel.gd create mode 100644 addons/loggie/loggie_message_channel.gd.uid create mode 100644 addons/loggie/loggie_preset.gd create mode 100644 addons/loggie/loggie_preset.gd.uid create mode 100644 addons/loggie/loggie_settings.gd create mode 100644 addons/loggie/loggie_settings.gd.uid create mode 100644 addons/loggie/plugin.cfg create mode 100644 addons/loggie/plugin.gd create mode 100644 addons/loggie/plugin.gd.uid create mode 100644 addons/loggie/tools/loggie_enums.gd create mode 100644 addons/loggie/tools/loggie_enums.gd.uid create mode 100644 addons/loggie/tools/loggie_system_specs.gd create mode 100644 addons/loggie/tools/loggie_system_specs.gd.uid create mode 100644 addons/loggie/tools/loggie_tools.gd create mode 100644 addons/loggie/tools/loggie_tools.gd.uid create mode 100644 addons/loggie/version_management/loggie_update.gd create mode 100644 addons/loggie/version_management/loggie_update.gd.uid create mode 100644 addons/loggie/version_management/loggie_version.gd create mode 100644 addons/loggie/version_management/loggie_version.gd.uid create mode 100644 addons/loggie/version_management/loggie_version_manager.gd create mode 100644 addons/loggie/version_management/loggie_version_manager.gd.uid create mode 100644 addons/loggie/version_management/update_prompt_window.gd create mode 100644 addons/loggie/version_management/update_prompt_window.gd.uid create mode 100644 addons/loggie/version_management/update_prompt_window.tscn create mode 100644 addons/uuid/plugin.cfg create mode 100644 addons/uuid/uuid.gd create mode 100644 addons/uuid/uuid.gd.uid create mode 100644 axis/Axis.tscn create mode 100644 axis/AxisNode.gd create mode 100644 axis/AxisNode.gd.uid create mode 100644 bisect.gd create mode 100644 bisect.gd.uid create mode 100644 camera_3d.gd create mode 100644 camera_3d.gd.uid create mode 100644 cryptography/test.gd create mode 100644 cryptography/test.gd.uid create mode 100644 cryptography/test.tscn create mode 100644 drag_container.gd create mode 100644 drag_container.gd.uid create mode 100644 export_presets.cfg create mode 100644 gitignore.txt create mode 100644 icon.svg create mode 100644 icon.svg.import create mode 100644 map_viewer.gd create mode 100644 map_viewer.gd.uid create mode 100644 menus/display_settings/display_settings.tscn create mode 100644 menus/display_settings/display_settings_node.gd create mode 100644 menus/display_settings/display_settings_node.gd.uid create mode 100644 menus/display_settings/shape_render.gd create mode 100644 menus/display_settings/shape_render.gd.uid create mode 100644 menus/display_settings/shape_settings.tscn create mode 100644 menus/display_settings/shape_settings_panel.gd create mode 100644 menus/display_settings/shape_settings_panel.gd.uid create mode 100644 networking/scripts/udp_broadcast.gd create mode 100644 networking/scripts/udp_broadcast.gd.uid create mode 100644 networking/scripts/udp_server.gd create mode 100644 networking/scripts/udp_server.gd.uid create mode 100644 project.godot create mode 100644 sensor_approval/ProvidedData.tscn create mode 100644 sensor_approval/SensorApproval.tscn create mode 100644 sensor_approval/SensorApprovalController.gd create mode 100644 sensor_approval/SensorApprovalController.gd.uid create mode 100644 sensor_approval/data_column.tscn create mode 100644 sensor_approval/provided_data.gd create mode 100644 sensor_approval/provided_data.gd.uid create mode 100644 sensor_approval/sensor_approval.gd create mode 100644 sensor_approval/sensor_approval.gd.uid create mode 100644 sensors/accelerometer_sensor_node.gd create mode 100644 sensors/accelerometer_sensor_node.gd.uid create mode 100644 sensors/base_sensor_node.gd create mode 100644 sensors/base_sensor_node.gd.uid create mode 100644 sensors/magnetometer_sensor_node.gd create mode 100644 sensors/magnetometer_sensor_node.gd.uid create mode 100644 sensors/pnt_sensor_node.gd create mode 100644 sensors/pnt_sensor_node.gd.uid create mode 100644 sensors/satelites_sensor_node.gd create mode 100644 sensors/satelites_sensor_node.gd.uid create mode 100644 sensors/sensor_spawner.gd create mode 100644 sensors/sensor_spawner.gd.uid create mode 100644 sensors/sensor_suite.tscn create mode 100644 sensors/sensor_suite_node.gd create mode 100644 sensors/sensor_suite_node.gd.uid create mode 100644 settings.gd create mode 100644 settings.gd.uid create mode 100644 settings/DisplaySettings.tscn create mode 100644 settings/SettingsMenu.tscn create mode 100644 settings/display/DisplaySettings.tscn create mode 100644 settings/display/circle_size_control.gd create mode 100644 settings/display/circle_size_control.gd.uid create mode 100644 settings/display/circle_size_control.tscn create mode 100644 settings/display/display_settings.gd create mode 100644 settings/display/display_settings.gd.uid create mode 100644 settings/display/rect_size_control.gd create mode 100644 settings/display/rect_size_control.gd.uid create mode 100644 settings/display/rect_size_control.tscn create mode 100644 settings/settings_menu.gd create mode 100644 settings/settings_menu.gd.uid create mode 100644 settings/widget/WidgetSettings.tscn create mode 100644 settings/widget/widget_settings.gd create mode 100644 settings/widget/widget_settings.gd.uid create mode 100644 signals/data_signals.gd create mode 100644 signals/data_signals.gd.uid create mode 100644 signals/scripts/Signals.gd create mode 100644 signals/scripts/Signals.gd.uid create mode 100644 signals/scripts/gps_signals.gd create mode 100644 signals/scripts/gps_signals.gd.uid create mode 100644 signals/sensor_signals.gd create mode 100644 signals/sensor_signals.gd.uid create mode 100644 signals/server_signals.gd create mode 100644 signals/server_signals.gd.uid create mode 100644 signals/setting_signals.gd create mode 100644 signals/setting_signals.gd.uid create mode 100644 signals/vehicle_signals.gd create mode 100644 signals/vehicle_signals.gd.uid create mode 100644 vehicle/scripts/vehicle_node.gd create mode 100644 vehicle/scripts/vehicle_node.gd.uid create mode 100644 vehicle/scripts/vehicle_spawner.gd create mode 100644 vehicle/scripts/vehicle_spawner.gd.uid create mode 100644 vehicle/vehicle.tscn create mode 100644 views/2d/View2D.tscn create mode 100644 views/2d/view_2d.gd create mode 100644 views/2d/view_2d.gd.uid create mode 100644 views/2d/widget_settings.tscn create mode 100644 views/3d/View3D.tscn create mode 100644 views/ViewController.gd create mode 100644 views/ViewController.gd.uid create mode 100644 widgets/accelerometer/accelerometer_widget.tscn create mode 100644 widgets/accelerometer/scripts/accelerometer_widget_node.gd create mode 100644 widgets/accelerometer/scripts/accelerometer_widget_node.gd.uid create mode 100644 widgets/altitude/altitude_widget.tscn create mode 100644 widgets/altitude/scripts/altitude_widget_node.gd create mode 100644 widgets/altitude/scripts/altitude_widget_node.gd.uid create mode 100644 widgets/base_widget_node.gd create mode 100644 widgets/base_widget_node.gd.uid create mode 100644 widgets/compass/compass_widget_scene.tscn create mode 100644 widgets/compass/resources/compass_indicator.png create mode 100644 widgets/compass/resources/compass_indicator.png.import create mode 100644 widgets/compass/scripts/compass_widget_node.gd create mode 100644 widgets/compass/scripts/compass_widget_node.gd.uid create mode 100644 widgets/coordinates/scripts/coordinates_widget_node.gd create mode 100644 widgets/coordinates/scripts/coordinates_widget_node.gd.uid create mode 100644 widgets/network/network_widget.tscn create mode 100644 widgets/network/scripts/network_widget_node.gd create mode 100644 widgets/network/scripts/network_widget_node.gd.uid create mode 100644 widgets/rotation/pitch_widget.tscn create mode 100644 widgets/rotation/resources/corsstrek_back_outline.png create mode 100644 widgets/rotation/resources/corsstrek_back_outline.png.import create mode 100644 widgets/rotation/resources/crosstrek_front_outline.png create mode 100644 widgets/rotation/resources/crosstrek_front_outline.png.import create mode 100644 widgets/rotation/resources/crosstrek_left_outline.png create mode 100644 widgets/rotation/resources/crosstrek_left_outline.png.import create mode 100644 widgets/rotation/resources/crosstrek_right_outline.png create mode 100644 widgets/rotation/resources/crosstrek_right_outline.png.import create mode 100644 widgets/rotation/roll_widget.tscn create mode 100644 widgets/rotation/scripts/pitch_widget_node.gd create mode 100644 widgets/rotation/scripts/pitch_widget_node.gd.uid create mode 100644 widgets/rotation/scripts/roll_widget_node.gd create mode 100644 widgets/rotation/scripts/roll_widget_node.gd.uid create mode 100644 widgets/satellites/satellite.tscn create mode 100644 widgets/satellites/satellite_widget.tscn create mode 100644 widgets/satellites/scripts/satellite_widget_3d_node.gd create mode 100644 widgets/satellites/scripts/satellite_widget_3d_node.gd.uid create mode 100644 widgets/satellites/scripts/satellite_widget_node.gd create mode 100644 widgets/satellites/scripts/satellite_widget_node.gd.uid create mode 100644 widgets/speed/scripts/speed_widget_node.gd create mode 100644 widgets/speed/scripts/speed_widget_node.gd.uid create mode 100644 widgets/speed/speed_widget.tscn diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/Constants.gd b/Constants.gd new file mode 100644 index 0000000..8362662 --- /dev/null +++ b/Constants.gd @@ -0,0 +1,31 @@ +extends Node + + +var M2FT: float = 3.28084 +var FT2M: float = 1/3.28084 + +var WGS84_A_M = 6378137.0 +var WGS84_B_M = 6356752.314245 +var EARTH_RADIUS_M = (2*WGS84_A_M + WGS84_B_M) / 3 +var EARTH_RADIUS_KM = EARTH_RADIUS_M / 1000 +# 8171221.7221355 +var WGS84_AB = WGS84_A_M * WGS84_B_M + +var g = 9.80665 + + +func calc_time_diff(timestamp_1, timestamp_2): + if timestamp_2 < 3600 and timestamp_1 > 82800: + return (timestamp_2 + 86400) - timestamp_1 + return timestamp_2 - timestamp_1 + +func is_timestamp_newer(old_timestamp: float, new_timestamp: float) -> bool: + if old_timestamp > 82800. and new_timestamp < 3600: # earlier than 23 hours + return true + return old_timestamp < new_timestamp + +func calc_wgs84_altitude(latitude_rad: float): + var theta_rad = abs(latitude_rad) + var a_sin_2 = (WGS84_A_M ** 2) * (sin(theta_rad)**2) + var b_cos_2 = (WGS84_B_M ** 2) * (cos(theta_rad)**2) + return WGS84_AB / sqrt(a_sin_2 + b_cos_2) diff --git a/Constants.gd.uid b/Constants.gd.uid new file mode 100644 index 0000000..6ec6d41 --- /dev/null +++ b/Constants.gd.uid @@ -0,0 +1 @@ +uid://qhcebwlrvy1s diff --git a/DisplayData.gd b/DisplayData.gd new file mode 100644 index 0000000..1667001 --- /dev/null +++ b/DisplayData.gd @@ -0,0 +1,14 @@ +extends Node + +var WINDOW_SIZE = Vector2.ZERO +var WINDOW_CENTER = Vector2.ZERO + +var DISPLAY_MODES = ["CIRCLE", "RECTANGLE"] +var DISPLAY_MODE_IDX = 0 + +var DISPLAY_PARAMETERS = [0, 0] + +var TL_CORNER = Vector2(-1., -1.).normalized() +var TR_CORNER = Vector2(1., -1.).normalized() +var BL_CORNER = Vector2(-1., 1.).normalized() +var BR_CORNER = Vector2(1., 1.).normalized() diff --git a/DisplayData.gd.uid b/DisplayData.gd.uid new file mode 100644 index 0000000..d10a87f --- /dev/null +++ b/DisplayData.gd.uid @@ -0,0 +1 @@ +uid://xunxbytiofa2 diff --git a/Draw3D.gd b/Draw3D.gd new file mode 100644 index 0000000..464b54f --- /dev/null +++ b/Draw3D.gd @@ -0,0 +1,68 @@ +extends Node + +func line(pos1: Vector3, pos2: Vector3, color = Color.WHITE_SMOKE, persist_ms = 0): + var mesh_instance := MeshInstance3D.new() + var immediate_mesh := ImmediateMesh.new() + var material := ORMMaterial3D.new() + + mesh_instance.mesh = immediate_mesh + mesh_instance.cast_shadow = GeometryInstance3D.SHADOW_CASTING_SETTING_OFF + + immediate_mesh.surface_begin(Mesh.PRIMITIVE_LINES, material) + immediate_mesh.surface_add_vertex(pos1) + immediate_mesh.surface_add_vertex(pos2) + immediate_mesh.surface_end() + + material.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED + material.albedo_color = color + + return await final_cleanup(mesh_instance, persist_ms) + +func point(pos: Vector3, radius = 0.05, color = Color.WHITE_SMOKE, persist_ms = 0): + var mesh_instance := MeshInstance3D.new() + var sphere_mesh := SphereMesh.new() + var material := ORMMaterial3D.new() + + mesh_instance.mesh = sphere_mesh + mesh_instance.cast_shadow = GeometryInstance3D.SHADOW_CASTING_SETTING_OFF + mesh_instance.position = pos + + sphere_mesh.radius = radius + sphere_mesh.height = radius*2 + sphere_mesh.material = material + + material.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED + material.albedo_color = color + + return await final_cleanup(mesh_instance, persist_ms) + +func square(pos: Vector3, size: Vector2, color = Color.WHITE_SMOKE, persist_ms = 0): + var mesh_instance := MeshInstance3D.new() + var box_mesh := BoxMesh.new() + var material := ORMMaterial3D.new() + + mesh_instance.mesh = box_mesh + mesh_instance.cast_shadow = GeometryInstance3D.SHADOW_CASTING_SETTING_OFF + mesh_instance.position = pos + + box_mesh.size = Vector3(size.x, size.y, 1) + box_mesh.material = material + + material.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED + material.albedo_color = color + + return await final_cleanup(mesh_instance, persist_ms) + +## 1 -> Lasts ONLY for current physics frame +## >1 -> Lasts X time duration. +## <1 -> Stays indefinitely +func final_cleanup(mesh_instance: MeshInstance3D, persist_ms: float): + get_tree().get_root().add_child(mesh_instance) + if persist_ms == 1: + await get_tree().physics_frame + mesh_instance.queue_free() + elif persist_ms > 0: + await get_tree().create_timer(persist_ms).timeout + mesh_instance.queue_free() + else: + return mesh_instance diff --git a/Draw3D.gd.uid b/Draw3D.gd.uid new file mode 100644 index 0000000..c0bf5ae --- /dev/null +++ b/Draw3D.gd.uid @@ -0,0 +1 @@ +uid://ct37h7r6osrbn diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..36b6a09 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 minoqi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Main.tscn b/Main.tscn new file mode 100644 index 0000000..20af8f4 --- /dev/null +++ b/Main.tscn @@ -0,0 +1,55 @@ +[gd_scene format=3 uid="uid://cckxwooodbwpx"] + +[ext_resource type="Script" uid="uid://csg4l1dtlx5u1" path="res://networking/scripts/udp_broadcast.gd" id="1_glv2v"] +[ext_resource type="Script" uid="uid://ddil0ki5etrwp" path="res://sensor_approval/SensorApprovalController.gd" id="1_trn2v"] +[ext_resource type="Script" uid="uid://b31uplppp5cb0" path="res://networking/scripts/udp_server.gd" id="2_uu6xs"] +[ext_resource type="PackedScene" uid="uid://c2yga5koqwo72" path="res://views/2d/View2D.tscn" id="7_lgr22"] +[ext_resource type="PackedScene" uid="uid://bdpu08j1vptl8" path="res://sensor_approval/SensorApproval.tscn" id="8_03owx"] +[ext_resource type="Script" uid="uid://tx2flx7kdttv" path="res://views/ViewController.gd" id="8_wkp8b"] +[ext_resource type="Script" uid="uid://bcubn1h3e5j6a" path="res://settings.gd" id="10_5vvyt"] +[ext_resource type="Script" uid="uid://d0rlx8r750u05" path="res://vehicle/scripts/vehicle_spawner.gd" id="10_20pc6"] +[ext_resource type="PackedScene" uid="uid://crpqmmpxfe2yi" path="res://views/3d/View3D.tscn" id="10_wkp8b"] +[ext_resource type="PackedScene" uid="uid://cf2vkjpwwdog7" path="res://vehicle/vehicle.tscn" id="11_5vvyt"] +[ext_resource type="PackedScene" uid="uid://blijvkgrhoas" path="res://settings/SettingsMenu.tscn" id="11_20pc6"] + +[node name="Main" type="Node" unique_id=247156581] + +[node name="Networking" type="Node" parent="." unique_id=2036280046] + +[node name="UDPBroadcast" type="Node" parent="Networking" unique_id=391407292] +script = ExtResource("1_glv2v") + +[node name="UDPServer" type="Node" parent="Networking" unique_id=1621629338] +script = ExtResource("2_uu6xs") + +[node name="VehicleSpawner" type="Node" parent="." unique_id=2034195923] +script = ExtResource("10_20pc6") +vehicle_scene = ExtResource("11_5vvyt") + +[node name="SensorApprovalController" type="VBoxContainer" parent="." unique_id=238699571] +offset_left = 118.0 +offset_top = 232.0 +offset_right = 158.0 +offset_bottom = 272.0 +script = ExtResource("1_trn2v") +sensor_approval_scene = ExtResource("8_03owx") +metadata/_custom_type_script = "uid://ddil0ki5etrwp" + +[node name="ViewController" type="Node" parent="." unique_id=399154406] +script = ExtResource("8_wkp8b") +view_2d = ExtResource("7_lgr22") +view_3d = ExtResource("10_wkp8b") +show_view_2d = true + +[node name="Settings" type="Node" parent="." unique_id=1797069457] +script = ExtResource("10_5vvyt") + +[node name="OpenSettings" type="Button" parent="Settings" unique_id=2042815305] +offset_right = 8.0 +offset_bottom = 8.0 +text = "Settings" + +[node name="SettingsMenu" parent="Settings" unique_id=1877869509 instance=ExtResource("11_20pc6")] + +[connection signal="pressed" from="Settings/OpenSettings" to="ViewController" method="_on_open_settings_pressed"] +[connection signal="pressed" from="Settings/OpenSettings" to="Settings" method="_on_settings_opened"] diff --git a/MapView.tscn b/MapView.tscn new file mode 100644 index 0000000..5c1fc9d --- /dev/null +++ b/MapView.tscn @@ -0,0 +1,13 @@ +[gd_scene format=3 uid="uid://cabkwpatclndg"] + +[ext_resource type="Script" uid="uid://ba2mpftq0816s" path="res://map_viewer.gd" id="1_u636o"] + +[node name="MapView" type="Node2D" unique_id=771852762] + +[node name="Control" type="Control" parent="." unique_id=105999415] +layout_mode = 3 +anchors_preset = 0 +offset_right = 40.0 +offset_bottom = 40.0 +mouse_filter = 1 +script = ExtResource("1_u636o") diff --git a/MoveableControl.gd b/MoveableControl.gd new file mode 100644 index 0000000..ecdbe56 --- /dev/null +++ b/MoveableControl.gd @@ -0,0 +1,28 @@ +extends Control +class_name MovableControl + +@export_category("Logic") +@export var move_target: BaseWidgetNode + +var is_hovering: bool +var is_grab: bool +var mouse_down_pos: Vector2 + +func _ready() -> void: + mouse_entered.connect(func(): is_hovering = true) + mouse_exited.connect(func(): is_hovering = false) + +func _process(delta: float) -> void: + #print(is_hovering) + if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT) and is_hovering and not is_grab: + mouse_down_pos = get_viewport().get_mouse_position() + is_grab = true + + if is_grab and not Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): + is_grab = false + + if is_grab: + var current_mouse_pos: Vector2 = get_global_mouse_position() + var offset: Vector2 = current_mouse_pos - mouse_down_pos + move_target.position += offset + mouse_down_pos = current_mouse_pos diff --git a/MoveableControl.gd.uid b/MoveableControl.gd.uid new file mode 100644 index 0000000..8552971 --- /dev/null +++ b/MoveableControl.gd.uid @@ -0,0 +1 @@ +uid://cr4y57bw6jfd1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..6e1f405 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ + + +# [Minos UUID Generator](https://minosuuidgenerator.carrd.co) for Godot + +A UUID generator for [Godot Engine](https://godotengine.org/), with 1.295×10^50 combinations it'll work for any sized game, never having to worry about running out of unique IDs! Automatically stores new UUIDs and removes old ones. + +*NOTE: This is for Godot 4 only, and only supports GDScript as of right now (C# on the way!)* + +## Features + +- Custom node (UUIDManager) that stores the UUID +- Automatically generates UUID when node is created +- Automatically removes UUID when node is deleted +- (Optional) debug messages to make sure UUIDs are always working +- Easily create UUIDs at runtime, just need to instantiate the node and the rest is done automatically + +## Installation + +Copy the `minos_uuid_generator` directory into your `res://addons/` directory. Then make sure to enable the plugin in `Project Settings -> Plugins`. + +## Documentation + +- [GDScript](Documentation/GDScriptDocumentation.md) +- C# Coming soon! + +## Contributors + +Minos UUID Generator for Godot is made by [Minoqi](https://freelancefelix.com). + +## License + +Licensed under the MIT license, see `LICENSE` for more information. diff --git a/addons/loggie-console/assets/NinePatchWindow-InnerRecess.png b/addons/loggie-console/assets/NinePatchWindow-InnerRecess.png new file mode 100644 index 0000000000000000000000000000000000000000..95b07ec74a20aefbbb07b7593f875629efc88710 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB7>k44ofy`glX(f`Bzn3yhD5Z! zy`d=7V8FwA@xX#=F_q>eUBBa5`B!z!n%a3|xl;MQGn?f9_BvgA({R(Q@7laGeLK!s zD{<+i2pD!qxbP^k2{v~)9#Kd_=05q)-}~QZTM>8dCSjHdb#vGH0xe_kboFyt=akR{ E0M)TM6aWAK literal 0 HcmV?d00001 diff --git a/addons/loggie-console/assets/NinePatchWindow-InnerRecess.png.import b/addons/loggie-console/assets/NinePatchWindow-InnerRecess.png.import new file mode 100644 index 0000000..9ea3f65 --- /dev/null +++ b/addons/loggie-console/assets/NinePatchWindow-InnerRecess.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ivppb5cqrsak" +path="res://.godot/imported/NinePatchWindow-InnerRecess.png-07bd09e8d845ac941af5cf12e9f19c54.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie-console/assets/NinePatchWindow-InnerRecess.png" +dest_files=["res://.godot/imported/NinePatchWindow-InnerRecess.png-07bd09e8d845ac941af5cf12e9f19c54.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/addons/loggie-console/assets/NinePatchWindowInner.png b/addons/loggie-console/assets/NinePatchWindowInner.png new file mode 100644 index 0000000000000000000000000000000000000000..7fd9ac96d1f7b7d422f9837e533fc67558b8a963 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB7>k44ofy`glX(f`Bzn3yhD5Z! zy`d=7V8FwAamqsp4i%xs6$c9c8#ih#N=sGxw(`VW{mbY6?Fl?FN!B3x_{O)orcbQi zb#!q{y6`Bm2{v~)9#KdVFzk>(=KlQe{Mdf-+B;72@wUv#!VZfU0xe_kboFyt=akR{ E0Eg)~1^@s6 literal 0 HcmV?d00001 diff --git a/addons/loggie-console/assets/NinePatchWindowInner.png.import b/addons/loggie-console/assets/NinePatchWindowInner.png.import new file mode 100644 index 0000000..5f99860 --- /dev/null +++ b/addons/loggie-console/assets/NinePatchWindowInner.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1w4w4yi6p3w3" +path="res://.godot/imported/NinePatchWindowInner.png-47f4d96fc18c0a2a90855797a8cd0e05.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie-console/assets/NinePatchWindowInner.png" +dest_files=["res://.godot/imported/NinePatchWindowInner.png-47f4d96fc18c0a2a90855797a8cd0e05.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/addons/loggie-console/assets/NinePatchWindowOuter.png b/addons/loggie-console/assets/NinePatchWindowOuter.png new file mode 100644 index 0000000000000000000000000000000000000000..366a7e1f4b7407569f8be136b6d8a465dbe7f651 GIT binary patch literal 166 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 Ae*gdg literal 0 HcmV?d00001 diff --git a/addons/loggie-console/assets/close.png.import b/addons/loggie-console/assets/close.png.import new file mode 100644 index 0000000..b413e19 --- /dev/null +++ b/addons/loggie-console/assets/close.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhps6csrl6lef" +path="res://.godot/imported/close.png-9f5b597652eecfc041a6acfb8a79a5f3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie-console/assets/close.png" +dest_files=["res://.godot/imported/close.png-9f5b597652eecfc041a6acfb8a79a5f3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/addons/loggie-console/assets/icon.png.import b/addons/loggie-console/assets/icon.png.import new file mode 100644 index 0000000..181b910 --- /dev/null +++ b/addons/loggie-console/assets/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckoblpvpivjma" +path="res://.godot/imported/icon.png-b025e725a72f01c7e881efaf61058c1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie-console/assets/icon.png" +dest_files=["res://.godot/imported/icon.png-b025e725a72f01c7e881efaf61058c1e.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/addons/loggie-console/assets/inner_panel.tres b/addons/loggie-console/assets/inner_panel.tres new file mode 100644 index 0000000..e97c8a8 --- /dev/null +++ b/addons/loggie-console/assets/inner_panel.tres @@ -0,0 +1,17 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://b7k8yo7jfhpue"] + +[ext_resource type="Texture2D" uid="uid://d1w4w4yi6p3w3" path="res://addons/loggie-console/assets/NinePatchWindowInner.png" id="1_vngi6"] + +[resource] +content_margin_left = 4.0 +content_margin_top = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +texture = ExtResource("1_vngi6") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +region_rect = Rect2(0, 0, 36, 36) diff --git a/addons/loggie-console/assets/inner_panel_recess.tres b/addons/loggie-console/assets/inner_panel_recess.tres new file mode 100644 index 0000000..f627bd4 --- /dev/null +++ b/addons/loggie-console/assets/inner_panel_recess.tres @@ -0,0 +1,16 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://dolgdjpxlvt8f"] + +[ext_resource type="Texture2D" uid="uid://ivppb5cqrsak" path="res://addons/loggie-console/assets/NinePatchWindow-InnerRecess.png" id="1_lfme6"] + +[resource] +content_margin_left = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +texture = ExtResource("1_lfme6") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +region_rect = Rect2(0, 0, 36, 36) diff --git a/addons/loggie-console/assets/minimize.png b/addons/loggie-console/assets/minimize.png new file mode 100644 index 0000000000000000000000000000000000000000..48511b231c67a8d6fd09fce0628e7bf20443e78d GIT binary patch literal 2849 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 void: + print("%s enabled" % AUTOLOAD_NAME) + +func _disable_plugin() -> void: + print("%s disabled" % AUTOLOAD_NAME) diff --git a/addons/loggie-console/plugin.gd.uid b/addons/loggie-console/plugin.gd.uid new file mode 100644 index 0000000..f6345bb --- /dev/null +++ b/addons/loggie-console/plugin.gd.uid @@ -0,0 +1 @@ +uid://b8ul8pbaeqx2l diff --git a/addons/loggie-console/resources/loggie_console_filter_state.gd b/addons/loggie-console/resources/loggie_console_filter_state.gd new file mode 100644 index 0000000..d841e03 --- /dev/null +++ b/addons/loggie-console/resources/loggie_console_filter_state.gd @@ -0,0 +1,55 @@ +@tool +class_name LoggieConsoleFilterState extends Resource + +## Persistent filter state resource for LoggieConsole +## +## Stores filtering criteria (domains, log levels, search terms) in a format compatible +## with Godot's Resource system while maintaining compatibility with LogBuffer.FilterState. +## This enables console filter settings to persist between application sessions. + + +## List of domain names that are currently enabled for display +@export var enabled_domains: Array[String] = [] + +## Minimum log level to display (stored as int for persistence compatibility) +@export var min_log_level: int = LoggieEnums.LogLevel.DEBUG + +## Text search filter - only messages containing this text will be shown +@export var text_search: String = "" + +## Whether to show only messages that include stack traces +@export var show_stack_only: bool = false + +## Converts this persistent resource to runtime FilterState object +## Returns: A new LogBuffer.FilterState instance with matching filter criteria +func to_filter_state() -> LogBuffer.FilterState: + var filter_state: LogBuffer.FilterState = LogBuffer.FilterState.new() + filter_state.enabled_domains = enabled_domains.duplicate() + filter_state.min_log_level = min_log_level as LoggieEnums.LogLevel + filter_state.text_search = text_search + filter_state.show_stack_only = show_stack_only + return filter_state + +## Populates this resource from runtime FilterState object +## Param filter_state: The LogBuffer.FilterState to copy data from +func from_filter_state(filter_state: LogBuffer.FilterState) -> void: + enabled_domains = filter_state.enabled_domains.duplicate() + min_log_level = filter_state.min_log_level as int + text_search = filter_state.text_search + show_stack_only = filter_state.show_stack_only + +## Validates and sanitizes all data after loading from disk +## Ensures all fields have valid values even if the saved file was corrupted +func validate() -> void: + # Ensure domain array exists + if enabled_domains == null: + enabled_domains = [] + + # Validate log level is within valid enum range + if min_log_level < 0 or min_log_level >= LoggieEnums.LogLevel.size(): + min_log_level = LoggieEnums.LogLevel.DEBUG + Loggie.msg("Invalid log level, reset to DEBUG").domain(LoggieConsoleConstants.DOMAIN).warn() + + # Ensure search text is never null + if text_search == null: + text_search = "" diff --git a/addons/loggie-console/resources/loggie_console_filter_state.gd.uid b/addons/loggie-console/resources/loggie_console_filter_state.gd.uid new file mode 100644 index 0000000..c9f5fde --- /dev/null +++ b/addons/loggie-console/resources/loggie_console_filter_state.gd.uid @@ -0,0 +1 @@ +uid://b6iuus8kvu3y3 diff --git a/addons/loggie-console/resources/loggie_console_settings.gd b/addons/loggie-console/resources/loggie_console_settings.gd new file mode 100644 index 0000000..de9148b --- /dev/null +++ b/addons/loggie-console/resources/loggie_console_settings.gd @@ -0,0 +1,294 @@ +@tool +class_name LoggieConsoleSettings extends Resource + +## Complete persistent settings for LoggieConsole +## +## This resource stores all console state including window properties, filter settings, +## component states, and discovered domains. It automatically saves when the console +## exits and loads on startup to restore the user's previous console configuration. + +const LoggieConsoleFilterState = preload("res://addons/loggie-console/resources/loggie_console_filter_state.gd") + +# Configuration constants +const MIN_WINDOW_WIDTH: int = 400 +const MIN_WINDOW_HEIGHT: int = 300 +const DEFAULT_WINDOW_WIDTH: int = 800 +const DEFAULT_WINDOW_HEIGHT: int = 400 +const SCREEN_MARGIN_PIXELS: int = 100 # 50px on each side +const WINDOW_EDGE_MARGIN: int = 20 +const WINDOW_MIN_MARGIN: int = 10 + + +## Filter state for log message display (domains, levels, search terms) +@export var filter_state: LoggieConsoleFilterState + +## Currently enabled domain names for filtering +@export var enabled_domains: Array[String] = [] + +## All domain names discovered during runtime (persisted for next session) +@export var all_known_domains: Array[String] = [] + +## Console window screen position (-1, -1 means use default centering) +@export var window_position: Vector2i = Vector2i(-1, -1) + +## Console window size in pixels +@export var window_size: Vector2i = Vector2i(DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT) + +## Whether console is currently minimized +@export var is_minimized: bool = false + +## Whether console window is visible +@export var is_visible: bool = true + +## Display/screen index where console was last positioned (-1 means primary display) +@export var display_index: int = -1 + +## Whether subwindows were embedded when settings were last saved +@export var was_embedded_subwindows: bool = false + +## Current log level filter (stored as int for persistence) +@export var log_level: int = LoggieEnums.LogLevel.DEBUG + +## Whether to auto-scroll to newest messages +@export var scroll_follow_enabled: bool = true + +## Current text search filter term +@export var search_text: String = "" + +## Whether to show only messages with stack traces +@export var stack_filter_enabled: bool = false + +## Maximum number of messages to keep in buffer before cleanup +@export var max_messages: int = 5000 + +## Text size multiplier for console fonts (0.5 to 2.0, default 1.0) +@export var text_size_multiplier: float = 1.0 + +## Restore button alignment position (0=TOP_LEFT, 1=TOP_RIGHT, 2=BOTTOM_LEFT, 3=BOTTOM_RIGHT) +@export var restore_button_alignment: int = 1 # Default to TOP_RIGHT + +## Settings file format version for future migration compatibility +@export var version: int = 1 + +## Unix timestamp when settings were last saved +@export var last_saved: float = 0.0 + +## Initializes default settings values +## +## Creates the filter state resource if it doesn't exist. This ensures that +## all required sub-resources are properly initialized even when creating +## settings from scratch. +func _init() -> void: + if not filter_state: + filter_state = LoggieConsoleFilterState.new() + +## Validates and sanitizes all data after loading from disk +## Ensures all fields have valid values even if the saved file was corrupted +func validate() -> void: + # Ensure filter state exists and is valid + if not filter_state: + filter_state = LoggieConsoleFilterState.new() + filter_state.validate() + + # Ensure domain arrays exist + if enabled_domains == null: + enabled_domains = [] + if all_known_domains == null: + all_known_domains = [] + + # Validate log level is within enum range + if log_level < 0 or log_level >= LoggieEnums.LogLevel.size(): + log_level = LoggieEnums.LogLevel.DEBUG + Loggie.msg("Invalid log level, reset to DEBUG").domain(LoggieConsoleConstants.DOMAIN).warn() + + # Enforce minimum and maximum window size for usability + _validate_window_size() + + # Ensure search text is never null + if search_text == null: + search_text = "" + + # Validate text size multiplier is within reasonable bounds + if text_size_multiplier < 0.5 or text_size_multiplier > 2.0: + text_size_multiplier = 1.0 + Loggie.msg("Invalid text size multiplier, reset to 1.0").domain(LoggieConsoleConstants.DOMAIN).warn() + + # Validate restore button alignment is within enum range (0-3) + if restore_button_alignment < 0 or restore_button_alignment > 3: + restore_button_alignment = 1 # Default to TOP_RIGHT + Loggie.msg("Invalid restore button alignment, reset to TOP_RIGHT").domain(LoggieConsoleConstants.DOMAIN).warn() + + # Update save timestamp + last_saved = Time.get_unix_time_from_system() + +## Validates and ensures window size fits within available screen space +## +## Enforces minimum size for usability (400x300) and maximum size based on +## screen dimensions. Checks all connected displays to find the largest +## available space and clamps the window size accordingly. +func _validate_window_size() -> void: + # Get the largest available screen to determine maximum constraints + var max_screen_size: Vector2i = Vector2i.ZERO + var screens: int = DisplayServer.get_screen_count() + + for i: int in screens: + var screen_rect: Rect2i = DisplayServer.screen_get_usable_rect(i) + max_screen_size.x = maxi(max_screen_size.x, screen_rect.size.x) + max_screen_size.y = maxi(max_screen_size.y, screen_rect.size.y) + + # Fallback if no screens detected + if max_screen_size == Vector2i.ZERO: + max_screen_size = Vector2i(1920, 1080) + + # Enforce minimum window size for usability + window_size.x = maxi(window_size.x, MIN_WINDOW_WIDTH) + window_size.y = maxi(window_size.y, MIN_WINDOW_HEIGHT) + + # Enforce maximum window size to fit on screen (with margins) + var max_width: int = max_screen_size.x - SCREEN_MARGIN_PIXELS + var max_height: int = max_screen_size.y - SCREEN_MARGIN_PIXELS + + if window_size.x > max_width: + window_size.x = max_width + Loggie.msg("Window width too large, clamped to %d" % max_width).domain(LoggieConsoleConstants.DOMAIN).warn() + + if window_size.y > max_height: + window_size.y = max_height + Loggie.msg("Window height too large, clamped to %d" % max_height).domain(LoggieConsoleConstants.DOMAIN).warn() + +## Detects if embed_subwindows setting has changed since last save +## Returns: true if setting has changed and window positioning needs reset +func _has_embed_setting_changed() -> bool: + var current_embedded = ProjectSettings.get_setting("display/window/subwindows/embed_subwindows", true) + return current_embedded != was_embedded_subwindows + +## Updates the stored embed_subwindows setting to current project setting +## +## This should be called whenever settings are saved to track the current +## embed_subwindows state for future change detection. +func update_embed_setting() -> void: + was_embedded_subwindows = ProjectSettings.get_setting("display/window/subwindows/embed_subwindows", true) + +## Validates and corrects window position for current display setup +## Returns: A valid window position that will be visible on screen +func validate_window_position() -> Vector2i: + # Check if embed_subwindows setting has changed + var embed_changed = _has_embed_setting_changed() + var current_embedded = ProjectSettings.get_setting("display/window/subwindows/embed_subwindows", true) + + # If embed setting changed and window was previously invisible, reset position + if embed_changed and not is_visible: + Loggie.msg("embed_subwindows changed from %s to %s, resetting window position" % [was_embedded_subwindows, current_embedded]).domain(LoggieConsoleConstants.DOMAIN).warn() + update_embed_setting() + # Reset to default centering + var target_display = _get_target_display() + var target_rect: Rect2i = DisplayServer.screen_get_usable_rect(target_display) + window_position = Vector2i(-1, -1) # Mark for centering + display_index = target_display + return _center_window_on_screen(target_rect) + + # Update embed setting for future comparisons + update_embed_setting() + + # Use default centering if position is not set + if window_position == Vector2i(-1, -1): + var target_display = _get_target_display() + var target_rect: Rect2i = DisplayServer.screen_get_usable_rect(target_display) + return _center_window_on_screen(target_rect) + + # If we have a specific display preference, validate against it first + if display_index >= 0 and display_index < DisplayServer.get_screen_count(): + var preferred_rect: Rect2i = DisplayServer.screen_get_usable_rect(display_index) + var validated_pos = _clamp_window_to_screen(window_position, preferred_rect) + if validated_pos != window_position: + Loggie.msg("Window position adjusted to fit display %d" % display_index).domain(LoggieConsoleConstants.DOMAIN).warn() + return validated_pos + + # Check if window can fit properly on any connected display + var screens: int = DisplayServer.get_screen_count() + var best_display: int = -1 + var best_pos: Vector2i = window_position + + for i: int in screens: + var screen_rect: Rect2i = DisplayServer.screen_get_usable_rect(i) + var window_rect: Rect2i = Rect2i(window_position, window_size) + + # Check if window intersects with this screen + if screen_rect.intersects(window_rect): + best_display = i + best_pos = _clamp_window_to_screen(window_position, screen_rect) + # If the window fits perfectly on this screen, use it + if best_pos == window_position: + display_index = i + return window_position + break + + # If we found a suitable display, use the clamped position + if best_display >= 0: + display_index = best_display + if best_pos != window_position: + Loggie.msg("Window position clamped to fit display %d" % best_display).domain(LoggieConsoleConstants.DOMAIN).warn() + return best_pos + + # Window is completely off-screen, center it on target display + var target_display = _get_target_display() + var target_rect: Rect2i = DisplayServer.screen_get_usable_rect(target_display) + display_index = target_display + Loggie.msg("Window position off-screen, centering on display %d" % target_display).domain(LoggieConsoleConstants.DOMAIN).warn() + return _center_window_on_screen(target_rect) + +## Centers the window on the given screen rectangle with margins +## +## Calculates a centered position that keeps the window fully visible with +## appropriate margins from screen edges. +## @param screen_rect: The target screen's usable rectangle +## @return: Position that centers the window with 20px margins +func _center_window_on_screen(screen_rect: Rect2i) -> Vector2i: + var margin_vector: Vector2i = Vector2i(WINDOW_EDGE_MARGIN, WINDOW_EDGE_MARGIN) + var available_size: Vector2i = screen_rect.size - margin_vector * 2 + var centered_offset: Vector2i = (available_size - window_size) / 2 + return screen_rect.position + margin_vector + centered_offset + +## Clamps window position to ensure it fits entirely within screen bounds +## +## Adjusts the position to keep the entire window visible on the screen, +## respecting minimum margins from edges. +## @param pos: The desired window position +## @param screen_rect: The target screen's rectangle +## @return: Adjusted position that keeps the entire window visible +func _clamp_window_to_screen(pos: Vector2i, screen_rect: Rect2i) -> Vector2i: + var margin: Vector2i = Vector2i(WINDOW_MIN_MARGIN, WINDOW_MIN_MARGIN) + var usable_rect: Rect2i = Rect2i( + screen_rect.position + margin, + screen_rect.size - margin * 2 + ) + + # Ensure window fits within usable area + var max_pos: Vector2i = usable_rect.position + usable_rect.size - window_size + + var clamped_pos: Vector2i = Vector2i( + clampi(pos.x, usable_rect.position.x, max_pos.x), + clampi(pos.y, usable_rect.position.y, max_pos.y) + ) + + return clamped_pos + +## Gets the target display index for window positioning +## Returns: Valid display index (0 if saved display no longer exists) +func _get_target_display() -> int: + # Use saved display if it still exists + if display_index >= 0 and display_index < DisplayServer.get_screen_count(): + return display_index + + # Fall back to primary display (index 0) + return 0 + +## Gets the log level as a proper enum value +## Returns: The current log level as LoggieEnums.LogLevel +func get_log_level() -> LoggieEnums.LogLevel: + return log_level as LoggieEnums.LogLevel + +## Sets the log level from an enum value +## @param level: The new log level to store +func set_log_level(level: LoggieEnums.LogLevel) -> void: + log_level = level as int diff --git a/addons/loggie-console/resources/loggie_console_settings.gd.uid b/addons/loggie-console/resources/loggie_console_settings.gd.uid new file mode 100644 index 0000000..c594ea5 --- /dev/null +++ b/addons/loggie-console/resources/loggie_console_settings.gd.uid @@ -0,0 +1 @@ +uid://w2lnu7heu47v diff --git a/addons/loggie-console/scenes/console.gd b/addons/loggie-console/scenes/console.gd new file mode 100644 index 0000000..7bd27cc --- /dev/null +++ b/addons/loggie-console/scenes/console.gd @@ -0,0 +1,563 @@ +## Enhanced LoggieConsole with persistence, minimize/restore, and multi-display support +## +## This console window provides an advanced debugging interface for the Loggie logging system. +## Features include: +## - Persistent window positioning and settings across sessions +## - Multi-display awareness for non-embedded subwindows +## - Domain-based filtering with dynamic discovery +## - Minimize/restore functionality with floating restore button +## - Complete component-based architecture for extensibility +## +## The console automatically saves all settings when closed or minimized, and restores +## the exact previous state on next startup, including window position, size, filters, +## and discovered domains. +class_name LoggieConsole extends Window + +# Constants +const LoggieConsoleChannel = preload("res://addons/loggie-console/scripts/loggie_console_channel.gd") +const ConsoleSettingsManager = preload("res://addons/loggie-console/scripts/managers/console_settings_manager.gd") +const LoggieConsoleSettings = preload("res://addons/loggie-console/resources/loggie_console_settings.gd") +const RestoreButtonScene := preload("res://addons/loggie-console/scenes/restore_button.tscn") +const DomainColorManager = preload("res://addons/loggie-console/scripts/domain_color_manager.gd") + + +# UI Constants +const WINDOW_MARGIN_PIXELS: int = 5 + +# Display detection constants +const DEFAULT_DOMAIN_OFFSET: int = 1 # +1 for default domain in total domain count + + +# Exported component references - automatically assigned from scene +@export var buffer: LogBuffer ## Log message display and filtering component +@export var output_level: LogLevelFilter ## Log level selection component +@export var domain_filter: PanelDomainSelector ## Domain multi-selection component +@export var controls: ConsoleControls ## Control buttons and settings component +@export var status_display: StatusDisplay ## Status and statistics display component + +# Settings UI references +var _settings_button: Button ## Settings button in controls +var _settings_panel: LoggieConsoleSettingsPanel ## Settings panel component + + +# Minimize/restore system state +var _restore_button_component: RestoreButton ## Restore button component instance +var _is_minimized: bool = false ## Current minimized state + +# Custom Loggie channel for receiving log messages +var _console_channel: LoggieConsoleChannel ## Direct channel integration with Loggie + +# Component coordination +var _filter_state: LogBuffer.FilterState ## Shared filter state between components + +# Persistence system +var _settings_manager: ConsoleSettingsManager ## Handles save/load operations +var _current_settings: LoggieConsoleSettings ## Current settings instance + +# Domain color management +var _domain_color_manager: DomainColorManager ## Centralized color management for all components + +## Initializes the console window and all its components +## +## This is the main initialization sequence that: +## 1. Loads persistent settings from disk +## 2. Applies window positioning and visibility settings +## 3. Initializes all components with loaded state +## 4. Sets up the custom Loggie channel for message reception +## 5. Connects all necessary signals for runtime operation +## +## The order is critical - settings must be loaded and applied before +## components are initialized to prevent unwanted signal emissions during startup. +func _ready() -> void: + # Initialize persistence system FIRST + _settings_manager = ConsoleSettingsManager.new() + _current_settings = _settings_manager.load_settings() + + _restore_button_component = RestoreButtonScene.instantiate() + _restore_button_component.restore_requested.connect(_on_restore_requested) + + # Apply window settings before component initialization + _apply_window_settings() + + # Connect window signals for persistence + close_requested.connect(_on_close_requested) + + # Initialize components with loaded settings + _initialize_components() + + # Setup save triggers after initialization + _setup_save_triggers() + + # Setup custom channel + _setup_console_channel() + + # Apply loaded filters after components are ready + _apply_loaded_settings() + +## Called by our custom LoggieConsoleChannel with complete message data +## +## This is the main message reception callback that receives log messages directly +## from the Loggie system through our custom channel. Unlike signal-based approaches, +## this provides complete type information including LogLevel and MsgType enums. +## +## @param msg: The original LoggieMsg with all metadata +## @param preprocessed_content: Fully formatted message text from Loggie +## @param msg_type: Message type enum (ERROR, WARNING, DEBUG, STANDARD) +## @param log_level: Log level enum (ERROR, WARN, NOTICE, INFO, DEBUG) +func receive_log_message(msg: LoggieMsg, preprocessed_content: String, msg_type: LoggieEnums.MsgType, log_level: LoggieEnums.LogLevel) -> void: + # Check if we need to add a new domain to our list + if not msg.domain_name.is_empty(): + domain_filter.add_domain(msg.domain_name) + + # Add message to buffer (buffer handles filtering internally) + buffer.add_message(msg, preprocessed_content, msg_type, log_level) + +## Sets up the custom Loggie channel for direct message reception +## +## Creates and registers a LoggieConsoleChannel that provides the console with +## direct access to log messages including complete type information. The channel +## is automatically added to the default channels list so it receives all messages +## by default, without requiring explicit channel targeting in log calls. +func _setup_console_channel() -> void: + # Create and register our custom channel + _console_channel = LoggieConsoleChannel.new() + _console_channel.set_console_window(self) + Loggie.add_channel(_console_channel) + + # Automatically add our channel to the default channels so console receives all messages + var current_defaults: Array = Loggie.settings.default_channels + if not current_defaults.has("loggie_console"): + var new_defaults: Array = current_defaults.duplicate() + new_defaults.append("loggie_console") + Loggie.settings.default_channels = new_defaults + +func _setup_domain_filter() -> void: + # Get all domains dynamically from Loggie + var initial_domains: Array[String] = [""] # Always include default domain + + # Get all registered domains from Loggie + for domain_name: String in Loggie.domains.keys(): + if not initial_domains.has(domain_name): + initial_domains.append(domain_name) + + # Add LoggieConsole internal domain (will appear unselected by default) + if not initial_domains.has(LoggieConsoleConstants.DOMAIN): + var all_domains: Array[String] = initial_domains.duplicate() + all_domains.append(LoggieConsoleConstants.DOMAIN) + + # Initialize the domain selector with all domains (including console domain) + domain_filter.set_domains_with_console_unselected(all_domains, initial_domains, [LoggieConsoleConstants.DOMAIN]) + else: + # Console domain already exists, use standard initialization + domain_filter.set_domains(initial_domains) + domain_filter.domains_changed.connect(_on_domains_changed) + + # Apply initial filter state to buffer (only enabled domains, not internal ones) + _filter_state.enabled_domains = initial_domains + buffer.set_filters(_filter_state) + +func _on_domains_changed(enabled_domains: Array[String]) -> void: + # Update filter state and apply to buffer + _filter_state.enabled_domains = enabled_domains + buffer.set_filters(_filter_state) + + + + +## New component event handlers + +func _on_log_level_changed(new_level: LoggieEnums.LogLevel) -> void: + # Update filter state and apply to buffer + _filter_state.min_log_level = new_level + buffer.set_filters(_filter_state) + +func _on_clear_requested() -> void: + # Clear the buffer + buffer.clear_all() + +func _on_scroll_follow_changed(enabled: bool) -> void: + # Update buffer scroll following + buffer.scroll_following = enabled + +func _on_text_search_changed(search_text: String) -> void: + # Update filter state and apply to buffer + _filter_state.text_search = search_text + buffer.set_filters(_filter_state) + +func _on_stack_filter_changed(enabled: bool) -> void: + # Update filter state and apply to buffer + _filter_state.show_stack_only = enabled + buffer.set_filters(_filter_state) + +func _on_buffer_filter_changed(visible_count: int, total_count: int) -> void: + # Update status display with current counts + var enabled_domains: Array[String] = domain_filter.get_enabled_domains() + var total_domains: int = enabled_domains.size() + if total_domains == 0: + total_domains = Loggie.domains.keys().size() + DEFAULT_DOMAIN_OFFSET + + status_display.update_status(total_count, visible_count, enabled_domains, total_domains) + + +## Minimize/Restore System + + +## Minimizes the console window and shows a floating restore button +## +## This hides the console window and creates a small floating "LOG" button in the +## top-right corner of the main viewport. The button allows restoring the console +## to its previous position and size. All settings are saved before minimizing +## to ensure state persistence. +func minimize_console() -> void: + if _is_minimized: + Loggie.msg("Already minimized, ignoring request").domain(LoggieConsoleConstants.DOMAIN).warn() + return + + # Save current settings including window state before minimizing + _capture_current_state() + _settings_manager.save_settings(_current_settings) + + _is_minimized = true + hide() # Hide the console window + _show_restore_button() + +## Creates and shows the restore button component +## +## Instantiates the RestoreButton scene and displays it in the root viewport. +## Connects the restore_requested signal to handle button clicks and restore the console. +func _show_restore_button() -> void: + _restore_button_component.show_restore_button(get_tree().root) + Loggie.msg("RestoreButton show_restore_button() called").domain(LoggieConsoleConstants.DOMAIN).debug() + +## Handles restore button click events from the RestoreButton component +## +## Called when the RestoreButton component emits its restore_requested signal. +## Triggers the console restoration process. +func _on_restore_requested() -> void: + restore_console() + +## Restores the console window from minimized state +## +## This shows the console window at its previously saved position and size, +## removes the floating restore button, and updates the minimized state. +## The window is restored exactly as it was when minimized. +func restore_console() -> void: + if not _is_minimized: + Loggie.msg("Not minimized, ignoring restore request").domain(LoggieConsoleConstants.DOMAIN).warn() + return + + # Restore to saved position and size from settings + position = _current_settings.window_position + size = _current_settings.window_size + + _is_minimized = false + show() # Show the console window + _hide_restore_button() + +## Hides and cleans up the restore button component +## +## Removes the RestoreButton component from the scene tree and frees its resources. +## Ensures proper cleanup when the console is restored from minimized state. +func _hide_restore_button() -> void: + if _restore_button_component and is_instance_valid(_restore_button_component): + _restore_button_component.hide_restore_button() + Loggie.msg("Restore button component cleaned up").domain(LoggieConsoleConstants.DOMAIN).debug() + +## Applies saved window properties to the console window +## Validates position to ensure window remains visible on current display setup +func _apply_window_settings() -> void: + # Check if we're using embedded subwindows + var subwindows_embedded: bool = ProjectSettings.get_setting("display/window/subwindows/embed_subwindows", true) + + var validated_pos: Vector2i + if subwindows_embedded and _is_outside_viewport(): + validated_pos = _center_window() + else: + # Use existing validation for separate windows or valid embedded positions + validated_pos = _current_settings.validate_window_position() + + position = validated_pos + + # Apply saved window dimensions + size = _current_settings.window_size + + # Apply visibility state + visible = _current_settings.is_visible + + # Apply minimized state (defer restore button creation) + _is_minimized = _current_settings.is_minimized + if _is_minimized: + hide() + # Defer restore button creation until scene tree is ready + _show_restore_button.call_deferred() + +## Checks if console window is outside the main viewport (for embedded subwindows) +func _is_outside_viewport() -> bool: + var viewport_size: Vector2i = Vector2i(get_tree().root.get_visible_rect().size) + var window_rect: Rect2i = Rect2i(_current_settings.window_position, _current_settings.window_size) + var viewport_rect: Rect2i = Rect2i(Vector2i.ZERO, viewport_size) + + # Return true if window is not completely within viewport or has invalid position + return _current_settings.window_position == Vector2i(-1, -1) or not viewport_rect.encloses(window_rect) + +## Centers the console window in the main viewport +func _center_window() -> Vector2i: + var viewport_size: Vector2i = Vector2i(get_tree().root.get_visible_rect().size) + const MARGIN = 50 + var centered_pos: Vector2i = (viewport_size - _current_settings.window_size) / 2 + return Vector2i(maxi(MARGIN, centered_pos.x), maxi(MARGIN, centered_pos.y)) + +## Initializes all console components with loaded settings before connecting signals +## This prevents unwanted signal emissions during the initialization process +func _initialize_components() -> void: + # Initialize base filter state + _filter_state = LogBuffer.FilterState.new() + + # Create domain color manager + _domain_color_manager = DomainColorManager.new() + + # Pass color manager to components that need it + buffer.set_color_manager(_domain_color_manager) + domain_filter.set_color_manager(_domain_color_manager) + + # Load persistent settings into each component + buffer.load_settings_from_resource(_current_settings) + domain_filter.load_settings_from_resource(_current_settings) + controls.load_settings_from_resource(_current_settings) + output_level.load_settings_from_resource(_current_settings) + + # Connect component signals for runtime interaction + output_level.level_changed.connect(_on_log_level_changed) + controls.clear_requested.connect(_on_clear_requested) + controls.scroll_follow_changed.connect(_on_scroll_follow_changed) + controls.text_search_changed.connect(_on_text_search_changed) + controls.stack_filter_changed.connect(_on_stack_filter_changed) + + # Configure buffer with loaded scroll following setting + buffer.filter_changed.connect(_on_buffer_filter_changed) + buffer.scroll_following = controls.is_scroll_follow_enabled() + + # Set up remaining console systems + _setup_domain_filter() + + # Initialize settings UI + _setup_settings_ui() + status_display.reset() + +## Finalizes the loading process by applying loaded filter settings +## Called after component initialization to ensure filters work with existing messages +func _apply_loaded_settings() -> void: + # Apply the loaded filter state to any existing messages + buffer.apply_loaded_filters() + + # Sync domain filter state to ensure consistency + domain_filter.domains_changed.emit(domain_filter.get_enabled_domains()) + + # Apply text size setting to theme + _apply_text_size_to_theme(_current_settings.text_size_multiplier) + + # Apply restore button alignment + _apply_restore_button_alignment(_current_settings.restore_button_alignment) + +## Placeholder for save triggers (not used in exit-tree persistence model) +func _setup_save_triggers() -> void: + pass # Settings saved only on exit tree + +## Captures current state from window and all components into the settings resource +## This is called before each save operation to ensure all current state is preserved +func _capture_current_state() -> void: + # Capture window properties + _current_settings.window_position = position + _current_settings.window_size = size + _current_settings.is_visible = visible + _current_settings.is_minimized = _is_minimized + + # Capture current display index (important when embed_subwindows=false) + _current_settings.display_index = _get_current_display_index() + + # Capture current embed_subwindows setting for change detection + _current_settings.update_embed_setting() + + # Let each component save its own state + buffer.save_settings_to_resource(_current_settings) + domain_filter.save_settings_to_resource(_current_settings) + controls.save_settings_to_resource(_current_settings) + output_level.save_settings_to_resource(_current_settings) + +## Manually saves current console settings to disk +## Useful for forcing a save before potentially destructive operations +func save_settings() -> void: + _capture_current_state() + _settings_manager.save_settings(_current_settings) + +## Handles window close requests by saving settings first, then minimizing +## This ensures settings are preserved even if the console is closed unexpectedly +func _on_close_requested() -> void: + # Preserve settings before minimizing + _capture_current_state() + _settings_manager.save_settings(_current_settings) + + # Continue with normal minimize behavior + minimize_console() + +## Automatically saves settings when console exits the scene tree +## This is the primary save mechanism ensuring settings persist between sessions +func _exit_tree() -> void: + if _settings_manager and _current_settings: + _capture_current_state() + _settings_manager.save_settings(_current_settings) + +## Handles system-level window destruction notifications +## Provides additional safety net for settings preservation +func _notification(what: int) -> void: + if what == NOTIFICATION_WM_CLOSE_REQUEST: + if _settings_manager and _current_settings: + _capture_current_state() + _settings_manager.save_settings(_current_settings) + +## Determines which display the console window is currently on +## Returns: Display index (0-based) where the window center is located +func _get_current_display_index() -> int: + # Calculate window center point + var window_center: Vector2i = position + size / 2 + + # Check which display contains the window center + var screens: int = DisplayServer.get_screen_count() + for i: int in screens: + var screen_rect: Rect2i = DisplayServer.screen_get_usable_rect(i) + if screen_rect.has_point(window_center): + return i + + # Fallback: find display with most window overlap + var max_overlap: int = 0 + var best_display: int = 0 + var window_rect: Rect2i = Rect2i(position, size) + + for i: int in screens: + var screen_rect: Rect2i = DisplayServer.screen_get_usable_rect(i) + var intersection: Rect2i = screen_rect.intersection(window_rect) + var overlap_area: int = intersection.size.x * intersection.size.y + if overlap_area > max_overlap: + max_overlap = overlap_area + best_display = i + + return best_display + +## Sets up the settings UI components and connects their signals +## +## Initializes the settings button and panel component, loads current settings, +## and connects the component's signals for handling settings changes. +func _setup_settings_ui() -> void: + # Get UI component references + _settings_button = get_node("PanelContainer/VBoxContainer/Controls/Settings") + _settings_panel = get_node("SettingsPanel") + + # Connect signals + _settings_button.pressed.connect(_on_settings_button_pressed) + _settings_panel.settings_applied.connect(_on_settings_applied) + _settings_panel.settings_reset.connect(_on_settings_reset) + + # Load current settings into the panel + _settings_panel.set_text_size_multiplier(_current_settings.text_size_multiplier) + _settings_panel.set_restore_button_alignment(_current_settings.restore_button_alignment) + +## Called when the Settings button is pressed +## +## Shows the settings panel dialog with current values loaded. +func _on_settings_button_pressed() -> void: + _settings_panel.show_settings() + +## Called when settings are applied via the settings panel +## +## Saves the new settings and applies them dynamically. +## @param text_size_multiplier: The new text size multiplier value +## @param restore_button_alignment: The new restore button alignment +func _on_settings_applied(text_size_multiplier: float, restore_button_alignment: RestoreButton.Alignment) -> void: + # Update settings + _current_settings.text_size_multiplier = text_size_multiplier + _current_settings.restore_button_alignment = restore_button_alignment as int + _settings_manager.save_settings(_current_settings) + + # Apply text size change to theme + _apply_text_size_to_theme(text_size_multiplier) + + # Apply restore button alignment + _apply_restore_button_alignment(restore_button_alignment as int) + + Loggie.msg("Settings updated: text size %.1fx, alignment %s" % [text_size_multiplier, _get_alignment_name(restore_button_alignment)]).domain(LoggieConsoleConstants.DOMAIN).info() + +## Called when the settings are reset to defaults +## +## Logs the reset action for user feedback. +func _on_settings_reset() -> void: + Loggie.msg("Settings reset to defaults").domain(LoggieConsoleConstants.DOMAIN).info() + +## Dynamically applies text size multiplier to the current theme +## +## Modifies font sizes in the theme resource at runtime to immediately +## reflect the new text size setting without requiring a restart. +## @param multiplier: Text size multiplier (0.5 to 2.0) +func _apply_text_size_to_theme(multiplier: float) -> void: + var console_theme: Theme = get_theme() + if not console_theme: + Loggie.msg("No theme found, cannot apply text size").domain(LoggieConsoleConstants.DOMAIN).error() + return + + # Define base font sizes (from theme_compact.tres) + var base_font_sizes: Dictionary = { + "Button/font_size": 11, + "CheckBox/font_size": 11, + "LineEdit/font_size": 12, + "MenuButton/font_size": 11, + "OptionButton/font_size": 11, + "PopupMenu/font_size": 11, + "RichTextLabel/bold_font_size": 10, + "RichTextLabel/bold_italics_font_size": 10, + "RichTextLabel/italics_font_size": 10, + "RichTextLabel/mono_font_size": 9, + "RichTextLabel/normal_font_size": 10, + "Window/title_font_size": 16 + } + + # Apply multiplier to each font size + for font_path: String in base_font_sizes: + var parts: PackedStringArray = font_path.split("/") + var control_type: String = parts[0] + var property: String = parts[1] + var base_size: int = base_font_sizes[font_path] + var new_size: int = int(base_size * multiplier) + + console_theme.set_font_size(property, control_type, new_size) + + # Theme changes are applied automatically + +## Applies the restore button alignment setting +## +## Updates the restore button position based on the alignment preference. +## @param alignment: Alignment enum value (0=TOP_LEFT, 1=TOP_RIGHT, 2=BOTTOM_LEFT, 3=BOTTOM_RIGHT) +func _apply_restore_button_alignment(alignment: int) -> void: + if not _restore_button_component: + return + + # Set position based on alignment using the RestoreButton's enum + var restore_alignment: RestoreButton.Alignment = alignment as RestoreButton.Alignment + _restore_button_component.set_alignment(restore_alignment) + +## Gets a human-readable name for the alignment enum +## +## @param alignment: The alignment enum value +## @return: String name of the alignment +func _get_alignment_name(alignment: RestoreButton.Alignment) -> String: + match alignment: + RestoreButton.Alignment.TOP_LEFT: + return "Top Left" + RestoreButton.Alignment.TOP_RIGHT: + return "Top Right" + RestoreButton.Alignment.BOTTOM_LEFT: + return "Bottom Left" + RestoreButton.Alignment.BOTTOM_RIGHT: + return "Bottom Right" + _: + return "Unknown" + + diff --git a/addons/loggie-console/scenes/console.gd.uid b/addons/loggie-console/scenes/console.gd.uid new file mode 100644 index 0000000..76842e9 --- /dev/null +++ b/addons/loggie-console/scenes/console.gd.uid @@ -0,0 +1 @@ +uid://64r2in67soep diff --git a/addons/loggie-console/scenes/console.tscn b/addons/loggie-console/scenes/console.tscn new file mode 100644 index 0000000..9ae2b12 --- /dev/null +++ b/addons/loggie-console/scenes/console.tscn @@ -0,0 +1,164 @@ +[gd_scene format=3 uid="uid://d0sxs0is80byx"] + +[ext_resource type="Script" uid="uid://64r2in67soep" path="res://addons/loggie-console/scenes/console.gd" id="1_yp485"] +[ext_resource type="PackedScene" uid="uid://dgok5l3frx53m" path="res://addons/loggie-console/scenes/panel_domain_selector.tscn" id="2_domain"] +[ext_resource type="StyleBox" uid="uid://b7k8yo7jfhpue" path="res://addons/loggie-console/assets/inner_panel.tres" id="3_fxnpl"] +[ext_resource type="Script" uid="uid://wah8efffydnu" path="res://addons/loggie-console/scripts/components/log_buffer.gd" id="3_logbuffer"] +[ext_resource type="Theme" uid="uid://c1lnnysnspc6v" path="res://addons/loggie-console/theme_compact.tres" id="4_2cgp1"] +[ext_resource type="Script" uid="uid://d3l2tmf5gym1d" path="res://addons/loggie-console/scripts/components/log_level_filter.gd" id="4_loglevel"] +[ext_resource type="Script" uid="uid://c4f6c3gs8venj" path="res://addons/loggie-console/scripts/components/console_controls.gd" id="5_controls"] +[ext_resource type="Script" uid="uid://whrim6lbiako" path="res://addons/loggie-console/scripts/components/status_display.gd" id="6_status"] +[ext_resource type="Texture2D" uid="uid://ivppb5cqrsak" path="res://addons/loggie-console/assets/NinePatchWindow-InnerRecess.png" id="7_56hvo"] +[ext_resource type="PackedScene" uid="uid://bw8k3yap2n4qv" path="res://addons/loggie-console/scenes/settings_panel.tscn" id="7_settings_panel"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_20rq3"] +content_margin_left = 4.0 +content_margin_right = 4.0 +content_margin_bottom = 4.0 +texture = ExtResource("7_56hvo") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +region_rect = Rect2(0, 0, 36, 36) +modulate_color = Color(0.60933, 0.60933, 0.60933, 1) + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_njst7"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ibivl"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_0yrjc"] + +[node name="LoggieConsoleWindow" type="Window" unique_id=1024795111 node_paths=PackedStringArray("buffer", "output_level", "domain_filter", "controls", "status_display")] +oversampling_override = 1.0 +title = "Loggie Console" +initial_position = 1 +size = Vector2i(889, 905) +wrap_controls = true +sharp_corners = true +min_size = Vector2i(600, 300) +keep_title_visible = true +theme = ExtResource("4_2cgp1") +script = ExtResource("1_yp485") +buffer = NodePath("PanelContainer/VBoxContainer/PanelContainer/Buffer") +output_level = NodePath("PanelContainer/VBoxContainer/Controls/OutputLevel") +domain_filter = NodePath("PanelContainer/VBoxContainer/Controls/DomainFilter") +controls = NodePath("PanelContainer/VBoxContainer/Controls") +status_display = NodePath("PanelContainer/VBoxContainer/StatusContainer/HBoxContainer/StatusLabel") + +[node name="PanelContainer" type="PanelContainer" parent="." unique_id=1949067581] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = ExtResource("3_fxnpl") + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer" unique_id=1611268808] +layout_mode = 2 + +[node name="Controls" type="HBoxContainer" parent="PanelContainer/VBoxContainer" unique_id=251197975 node_paths=PackedStringArray("clear_button", "scroll_follow_checkbox", "search_input", "stack_filter_checkbox")] +layout_mode = 2 +script = ExtResource("5_controls") +clear_button = NodePath("Clear") +scroll_follow_checkbox = NodePath("ScrollFollow") +search_input = NodePath("../StatusContainer/HBoxContainer/SearchInput") +stack_filter_checkbox = NodePath("StackFilter") + +[node name="OutputLevel" type="OptionButton" parent="PanelContainer/VBoxContainer/Controls" unique_id=751332603] +custom_minimum_size = Vector2(60, 20) +layout_mode = 2 +size_flags_horizontal = 0 +tooltip_text = "Filter by log level" +selected = 3 +item_count = 5 +popup/item_0/text = "ERROR" +popup/item_0/id = 0 +popup/item_1/text = "WARN" +popup/item_1/id = 1 +popup/item_2/text = "NOTICE" +popup/item_2/id = 2 +popup/item_3/text = "INFO" +popup/item_3/id = 3 +popup/item_4/text = "DEBUG" +popup/item_4/id = 4 +script = ExtResource("4_loglevel") + +[node name="ScrollFollow" type="CheckBox" parent="PanelContainer/VBoxContainer/Controls" unique_id=569696074] +custom_minimum_size = Vector2(50, 20) +layout_mode = 2 +size_flags_horizontal = 0 +tooltip_text = "Auto-scroll to newest messages" +button_pressed = true +text = "Follow" + +[node name="StackFilter" type="CheckBox" parent="PanelContainer/VBoxContainer/Controls" unique_id=719019705] +custom_minimum_size = Vector2(80, 20) +layout_mode = 2 +size_flags_horizontal = 0 +tooltip_text = "Show only messages with stack traces" +text = "Stack Only" + +[node name="Clear" type="Button" parent="PanelContainer/VBoxContainer/Controls" unique_id=1133245115] +custom_minimum_size = Vector2(45, 20) +layout_mode = 2 +size_flags_horizontal = 0 +tooltip_text = "Clear console buffer" +text = "Clear" + +[node name="Settings" type="Button" parent="PanelContainer/VBoxContainer/Controls" unique_id=671578664] +custom_minimum_size = Vector2(60, 20) +layout_mode = 2 +size_flags_horizontal = 0 +tooltip_text = "Console settings" +text = "Settings" + +[node name="DomainFilter" parent="PanelContainer/VBoxContainer/Controls" unique_id=582666238 instance=ExtResource("2_domain")] +custom_minimum_size = Vector2(300, 20) +layout_mode = 2 +size_flags_horizontal = 10 + +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer" unique_id=2068430600] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxTexture_20rq3") + +[node name="Buffer" type="RichTextLabel" parent="PanelContainer/VBoxContainer/PanelContainer" unique_id=1261116881] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +focus_mode = 2 +theme_override_styles/normal = SubResource("StyleBoxEmpty_njst7") +theme_override_styles/focus = SubResource("StyleBoxEmpty_ibivl") +bbcode_enabled = true +scroll_following = true +context_menu_enabled = true +selection_enabled = true +script = ExtResource("3_logbuffer") + +[node name="StatusContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer" unique_id=592277225] +layout_mode = 2 +theme_override_styles/panel = SubResource("StyleBoxEmpty_0yrjc") + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/StatusContainer" unique_id=958031751] +layout_mode = 2 + +[node name="SearchInput" type="LineEdit" parent="PanelContainer/VBoxContainer/StatusContainer/HBoxContainer" unique_id=526298685] +custom_minimum_size = Vector2(200, 20) +layout_mode = 2 +size_flags_horizontal = 2 +placeholder_text = "Filter messages..." +clear_button_enabled = true + +[node name="StatusLabel" type="Label" parent="PanelContainer/VBoxContainer/StatusContainer/HBoxContainer" unique_id=848734114] +layout_mode = 2 +size_flags_horizontal = 8 +theme_override_font_sizes/font_size = 12 +text = "Ready" +horizontal_alignment = 2 +vertical_alignment = 1 +script = ExtResource("6_status") + +[node name="SettingsPanel" parent="." unique_id=1146821245 instance=ExtResource("7_settings_panel")] diff --git a/addons/loggie-console/scenes/domain_item.tscn b/addons/loggie-console/scenes/domain_item.tscn new file mode 100644 index 0000000..8c9f9e7 --- /dev/null +++ b/addons/loggie-console/scenes/domain_item.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=3 format=3 uid="uid://cjy8b6h1xrq2x"] + +[ext_resource type="Script" uid="uid://dgkxvw0v5n6hq" path="res://addons/loggie-console/scripts/components/domain_item.gd" id="1_domain_item"] +[ext_resource type="Theme" uid="uid://c1lnnysnspc6v" path="res://addons/loggie-console/theme_compact.tres" id="2_theme"] + +[node name="DomainItem" type="Control" node_paths=PackedStringArray("select_checkbox", "only_button", "color_indicator")] +custom_minimum_size = Vector2(280, 32) +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_theme") +script = ExtResource("1_domain_item") +select_checkbox = NodePath("HBoxContainer/SelectCheckBox") +only_button = NodePath("OnlyButton") +color_indicator = NodePath("HBoxContainer/ColorIndicator") + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ColorIndicator" type="ColorRect" parent="HBoxContainer"] +custom_minimum_size = Vector2(12, 12) +layout_mode = 2 + +[node name="SelectCheckBox" type="CheckBox" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +tooltip_text = "Select/deselect this domain" +theme_override_constants/h_separation = 20 +text_overrun_behavior = 3 + +[node name="OnlyButton" type="Button" parent="."] +modulate = Color(1, 1, 1, 0) +custom_minimum_size = Vector2(45, 24) +layout_mode = 1 +anchors_preset = 6 +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = -45.0 +offset_top = -12.0 +offset_bottom = 12.0 +grow_horizontal = 0 +grow_vertical = 2 +tooltip_text = "Select only this domain" +mouse_filter = 2 +text = "Only" diff --git a/addons/loggie-console/scenes/panel_domain_selector.tscn b/addons/loggie-console/scenes/panel_domain_selector.tscn new file mode 100644 index 0000000..55239a8 --- /dev/null +++ b/addons/loggie-console/scenes/panel_domain_selector.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=4 format=3 uid="uid://dgok5l3frx53m"] + +[ext_resource type="Script" uid="uid://bfmpjs4x3fhte" path="res://addons/loggie-console/scripts/components/panel_domain_selector.gd" id="1_panel_selector"] +[ext_resource type="Theme" uid="uid://c1lnnysnspc6v" path="res://addons/loggie-console/theme_compact.tres" id="2_theme"] +[ext_resource type="StyleBox" uid="uid://b7k8yo7jfhpue" path="res://addons/loggie-console/assets/inner_panel.tres" id="3_panel_style"] + +[node name="PanelDomainSelector" type="Control" node_paths=PackedStringArray("trigger_button", "domain_panel", "select_all_button", "select_none_button", "scroll_container", "domain_list")] +custom_minimum_size = Vector2(100, 20) +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("2_theme") +script = ExtResource("1_panel_selector") +trigger_button = NodePath("TriggerButton") +domain_panel = NodePath("DomainPanel") +select_all_button = NodePath("DomainPanel/PanelContainer/VBoxContainer/SelectionControls/SelectAllButton") +select_none_button = NodePath("DomainPanel/PanelContainer/VBoxContainer/SelectionControls/SelectNoneButton") +scroll_container = NodePath("DomainPanel/PanelContainer/VBoxContainer/ScrollContainer") +domain_list = NodePath("DomainPanel/PanelContainer/VBoxContainer/ScrollContainer/DomainList") + +[node name="TriggerButton" type="Button" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +tooltip_text = "All domains selected (1)" +text = "Domains: All" +text_overrun_behavior = 3 + +[node name="DomainPanel" type="PopupPanel" parent="."] +initial_position = 1 +size = Vector2i(300, 160) +visible = true +min_size = Vector2i(300, 150) + +[node name="PanelContainer" type="PanelContainer" parent="DomainPanel"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 2.0 +offset_top = 2.0 +offset_right = -2.0 +offset_bottom = -2.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = ExtResource("3_panel_style") + +[node name="VBoxContainer" type="VBoxContainer" parent="DomainPanel/PanelContainer"] +layout_mode = 2 + +[node name="SelectionControls" type="HBoxContainer" parent="DomainPanel/PanelContainer/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 0 +alignment = 2 + +[node name="SelectAllButton" type="Button" parent="DomainPanel/PanelContainer/VBoxContainer/SelectionControls"] +custom_minimum_size = Vector2(60, 20) +layout_mode = 2 +size_flags_horizontal = 0 +tooltip_text = "Select all domains" +text = "Select All" + +[node name="SelectNoneButton" type="Button" parent="DomainPanel/PanelContainer/VBoxContainer/SelectionControls"] +custom_minimum_size = Vector2(60, 20) +layout_mode = 2 +size_flags_horizontal = 0 +tooltip_text = "Deselect all domains" +text = "None" + +[node name="HSeparator" type="HSeparator" parent="DomainPanel/PanelContainer/VBoxContainer"] +layout_mode = 2 + +[node name="ScrollContainer" type="ScrollContainer" parent="DomainPanel/PanelContainer/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="DomainList" type="VBoxContainer" parent="DomainPanel/PanelContainer/VBoxContainer/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + diff --git a/addons/loggie-console/scenes/restore_button.tscn b/addons/loggie-console/scenes/restore_button.tscn new file mode 100644 index 0000000..168ce3b --- /dev/null +++ b/addons/loggie-console/scenes/restore_button.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=3 format=3 uid="uid://cb5mkvrnm3hxn"] + +[ext_resource type="Script" uid="uid://dmyd1gquxy42u" path="res://addons/loggie-console/scripts/components/restore_button.gd" id="1_2h8k5"] +[ext_resource type="Theme" uid="uid://c1lnnysnspc6v" path="res://addons/loggie-console/theme_compact.tres" id="1_o01pp"] + +[node name="LoggieConsoleOverlay" type="CanvasLayer" node_paths=PackedStringArray("restore_button")] +layer = 2147483647 +script = ExtResource("1_2h8k5") +restore_button = NodePath("MarginContainer/Button") + +[node name="MarginContainer" type="MarginContainer" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="Button" type="Button" parent="MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 0 +tooltip_text = "Show Loggie Console" +theme = ExtResource("1_o01pp") +text = " Loggie Console " diff --git a/addons/loggie-console/scenes/settings_panel.tscn b/addons/loggie-console/scenes/settings_panel.tscn new file mode 100644 index 0000000..b817dc0 --- /dev/null +++ b/addons/loggie-console/scenes/settings_panel.tscn @@ -0,0 +1,90 @@ +[gd_scene load_steps=4 format=3 uid="uid://bw8k3yap2n4qv"] + +[ext_resource type="Theme" uid="uid://c1lnnysnspc6v" path="res://addons/loggie-console/theme_compact.tres" id="1_08jdj"] +[ext_resource type="Script" uid="uid://giuyu6vhhgam" path="res://addons/loggie-console/scripts/components/settings_panel.gd" id="1_settings_panel"] +[ext_resource type="StyleBox" uid="uid://b7k8yo7jfhpue" path="res://addons/loggie-console/assets/inner_panel.tres" id="2_08jdj"] + +[node name="SettingsPanel" type="AcceptDialog" node_paths=PackedStringArray("_text_size_slider", "_text_size_value_label", "_reset_button", "_alignment_option")] +title = "Console Settings" +initial_position = 1 +size = Vector2i(320, 210) +transient = false +sharp_corners = true +theme = ExtResource("1_08jdj") +theme_override_styles/panel = ExtResource("2_08jdj") +ok_button_text = " Apply Changes " +script = ExtResource("1_settings_panel") +_text_size_slider = NodePath("VBoxContainer/TextSizeContainer/TextSizeSlider") +_text_size_value_label = NodePath("VBoxContainer/TextSizeContainer/TextSizeValueLabel") +_reset_button = NodePath("VBoxContainer/ResetContainer/ResetButton") +_alignment_option = NodePath("VBoxContainer/AlignmentContainer/AlignmentOption") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 8.0 +offset_top = 8.0 +offset_right = -8.0 +offset_bottom = -38.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="TextSizeContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="TextSizeLabel" type="Label" parent="VBoxContainer/TextSizeContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Text Size:" +vertical_alignment = 1 + +[node name="TextSizeSlider" type="HSlider" parent="VBoxContainer/TextSizeContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +min_value = 0.5 +max_value = 2.0 +step = 0.1 +value = 1.0 +tick_count = 16 +ticks_on_borders = true + +[node name="TextSizeValueLabel" type="Label" parent="VBoxContainer/TextSizeContainer"] +custom_minimum_size = Vector2(40, 0) +layout_mode = 2 +size_flags_horizontal = 0 +text = "1.0x" +horizontal_alignment = 2 +vertical_alignment = 1 + +[node name="AlignmentContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="AlignmentLabel" type="Label" parent="VBoxContainer/AlignmentContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Restore Button:" +vertical_alignment = 1 + +[node name="AlignmentOption" type="OptionButton" parent="VBoxContainer/AlignmentContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +selected = 1 +item_count = 4 +popup/item_0/text = "Top Left" +popup/item_0/id = 0 +popup/item_1/text = "Top Right" +popup/item_1/id = 1 +popup/item_2/text = "Bottom Left" +popup/item_2/id = 2 +popup/item_3/text = "Bottom Right" +popup/item_3/id = 3 + +[node name="ResetContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 +alignment = 1 + +[node name="ResetButton" type="Button" parent="VBoxContainer/ResetContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Reset to Default" diff --git a/addons/loggie-console/scripts/components/console_controls.gd b/addons/loggie-console/scripts/components/console_controls.gd new file mode 100644 index 0000000..27aee6c --- /dev/null +++ b/addons/loggie-console/scripts/components/console_controls.gd @@ -0,0 +1,104 @@ +class_name ConsoleControls extends HBoxContainer + +## Console controls toolbar component +## Manages clear button, scroll follow, and other control elements + +const LoggieConsoleSettings = preload("res://addons/loggie-console/resources/loggie_console_settings.gd") + +# Signals +signal clear_requested() +signal scroll_follow_changed(enabled: bool) +signal text_search_changed(search_text: String) +signal stack_filter_changed(enabled: bool) + +# Exported references to child controls +@export var clear_button: Button +@export var scroll_follow_checkbox: CheckBox +@export var search_input: LineEdit +@export var stack_filter_checkbox: CheckBox + +func _ready() -> void: + _setup_controls() + +## Initialize the controls with default states +func initialize() -> void: + if scroll_follow_checkbox: + scroll_follow_checkbox.button_pressed = true + _on_scroll_follow_toggled(true) + +## Get current scroll follow state +func is_scroll_follow_enabled() -> bool: + return scroll_follow_checkbox.button_pressed if scroll_follow_checkbox else false + +## Set scroll follow state programmatically +func set_scroll_follow(enabled: bool) -> void: + if scroll_follow_checkbox: + scroll_follow_checkbox.button_pressed = enabled + +## Get current text search +func get_search_text() -> String: + return search_input.text if search_input else "" + +## Set search text programmatically +func set_search_text(text: String) -> void: + if search_input: + search_input.text = text + +## Get current stack filter state +func is_stack_filter_enabled() -> bool: + return stack_filter_checkbox.button_pressed if stack_filter_checkbox else false + +## Set stack filter state programmatically +func set_stack_filter(enabled: bool) -> void: + if stack_filter_checkbox: + stack_filter_checkbox.button_pressed = enabled + +## Private methods + +func _setup_controls() -> void: + # Connect clear button if available + if clear_button: + clear_button.pressed.connect(_on_clear_pressed) + clear_button.tooltip_text = "Clear console buffer" + + # Connect scroll follow checkbox if available + if scroll_follow_checkbox: + scroll_follow_checkbox.toggled.connect(_on_scroll_follow_toggled) + scroll_follow_checkbox.tooltip_text = "Auto-scroll to newest messages" + + # Connect search input if available + if search_input: + search_input.text_changed.connect(_on_search_text_changed) + search_input.placeholder_text = "Filter messages..." + + # Connect stack filter checkbox if available + if stack_filter_checkbox: + stack_filter_checkbox.toggled.connect(_on_stack_filter_toggled) + stack_filter_checkbox.tooltip_text = "Show only messages with stack traces" + +func _on_clear_pressed() -> void: + clear_requested.emit() + +func _on_scroll_follow_toggled(enabled: bool) -> void: + scroll_follow_changed.emit(enabled) + +func _on_search_text_changed(new_text: String) -> void: + text_search_changed.emit(new_text) + +func _on_stack_filter_toggled(enabled: bool) -> void: + stack_filter_changed.emit(enabled) + +## Saves current toolbar control states to persistent settings +## Param settings: The settings resource to populate with current control states +func save_settings_to_resource(settings: LoggieConsoleSettings) -> void: + settings.scroll_follow_enabled = is_scroll_follow_enabled() + settings.search_text = get_search_text() + settings.stack_filter_enabled = is_stack_filter_enabled() + +## Loads toolbar control states from persistent settings and applies them +## Updates all UI controls to reflect the loaded state without emitting signals +## Param settings: The settings resource containing saved control states +func load_settings_from_resource(settings: LoggieConsoleSettings) -> void: + set_scroll_follow(settings.scroll_follow_enabled) + set_search_text(settings.search_text) + set_stack_filter(settings.stack_filter_enabled) diff --git a/addons/loggie-console/scripts/components/console_controls.gd.uid b/addons/loggie-console/scripts/components/console_controls.gd.uid new file mode 100644 index 0000000..c088a09 --- /dev/null +++ b/addons/loggie-console/scripts/components/console_controls.gd.uid @@ -0,0 +1 @@ +uid://c4f6c3gs8venj diff --git a/addons/loggie-console/scripts/components/domain_item.gd b/addons/loggie-console/scripts/components/domain_item.gd new file mode 100644 index 0000000..b0b92e6 --- /dev/null +++ b/addons/loggie-console/scripts/components/domain_item.gd @@ -0,0 +1,166 @@ +class_name DomainItem extends Control + +## Custom control for individual domain rows in PanelDomainSelector +## Provides checkbox selection, domain label, and hover-revealed "Only" button + +const DomainColorManager = preload("res://addons/loggie-console/scripts/domain_color_manager.gd") + +# Signals +signal selection_changed(domain_name: String, is_selected: bool) +signal only_button_pressed(domain_name: String) + +# UI Components - exported for scene tree assignment +@export var select_checkbox: CheckBox +@export var only_button: Button +@export var color_indicator: ColorRect + +# Domain state +var _domain_name: String = "" +var _is_hovered: bool = false +var _color_manager: DomainColorManager + +# UI Layout constants +const ITEM_MIN_WIDTH: int = 280 +const ITEM_MIN_HEIGHT: int = 32 + +# Visibility constants for only button hover effect +const ONLY_BUTTON_ALPHA_HIDDEN: float = 0.0 +const ONLY_BUTTON_ALPHA_VISIBLE: float = 1.0 + +## Initializes the domain item control with UI connections and hover behavior +## +## Sets up consistent sizing, signal connections for checkbox and button interactions, +## and configures mouse hover detection for the "Only" button visibility toggle. +## The only button starts hidden and becomes visible on hover with smooth alpha transition. +## Requires select_checkbox and only_button to be properly assigned via @export. +func _ready() -> void: + if not select_checkbox: + return + + # Set minimum size for consistent layout + custom_minimum_size = Vector2(ITEM_MIN_WIDTH, ITEM_MIN_HEIGHT) + + # Connect signals + select_checkbox.toggled.connect(_on_checkbox_toggled) + only_button.pressed.connect(_on_only_button_pressed) + + # Setup hover detection on checkbox (which now contains the text) + select_checkbox.mouse_entered.connect(_on_mouse_entered) + select_checkbox.mouse_exited.connect(_on_mouse_exited) + + # Also setup hover detection on the main control for complete coverage + mouse_entered.connect(_on_mouse_entered) + mouse_exited.connect(_on_mouse_exited) + + + # Initialize only button as hidden + only_button.modulate.a = ONLY_BUTTON_ALPHA_HIDDEN + only_button.mouse_filter = Control.MOUSE_FILTER_IGNORE + +## Set the domain color manager instance +func set_color_manager(color_manager: DomainColorManager) -> void: + _color_manager = color_manager + +## Configures the domain item with a specific domain name and selection state +## +## Sets up the checkbox display text (shows "(default)" for empty domain names), +## configures tooltips for both checkbox and only button, and applies the initial +## selection state. This method should be called after the item is added to the scene tree. +## +## @param domain_name: The domain name to display and track +## @param is_selected: Whether the domain should start as selected +func setup_domain(domain_name: String, is_selected: bool = false) -> void: + _domain_name = domain_name + + if select_checkbox: + var display_name = domain_name if not domain_name.is_empty() else "(default)" + + # Update color indicator instead of modulating checkbox + if _color_manager and color_indicator: + var domain_color = _color_manager.get_domain_color(domain_name) + color_indicator.color = domain_color + + select_checkbox.text = display_name + select_checkbox.tooltip_text = "Select/deselect domain: " + domain_name + select_checkbox.button_pressed = is_selected + + if only_button: + only_button.text = "Only" + only_button.tooltip_text = "Select only this domain: " + domain_name + +## Get the domain name for this item +func get_domain_name() -> String: + return _domain_name + +## Updates the checkbox selection state without emitting signals +## +## Useful for programmatically setting the selection state during bulk operations +## like "Select All" or when loading from saved settings. Uses set_pressed_no_signal +## to avoid triggering selection_changed signals during these operations. +## +## @param is_selected: The new selection state for the checkbox +func set_selected(is_selected: bool) -> void: + if select_checkbox: + select_checkbox.set_pressed_no_signal(is_selected) + +## Get current selection state +func is_selected() -> bool: + return select_checkbox.button_pressed if select_checkbox else false + +## Private methods + +func _on_checkbox_toggled(pressed: bool) -> void: + selection_changed.emit(_domain_name, pressed) + +func _on_only_button_pressed() -> void: + only_button_pressed.emit(_domain_name) + + +func _on_mouse_entered() -> void: + _is_hovered = true + _set_only_button_visibility(true) + +func _on_mouse_exited() -> void: + _is_hovered = false + _set_only_button_visibility(false) + +## Controls the visibility and interaction of the "Only" button based on hover state +## +## Instantly toggles the button's alpha transparency and mouse filter to create +## a hover-reveal effect. When hidden, the button becomes completely transparent +## and ignores mouse input. When visible, it becomes fully opaque and interactive. +## +## @param show: Whether to show (true) or hide (false) the only button +func _set_only_button_visibility(show: bool) -> void: + if not only_button: + return + + # Set visibility instantly - no animation + var target_alpha = ONLY_BUTTON_ALPHA_VISIBLE if show else ONLY_BUTTON_ALPHA_HIDDEN + var target_mouse_filter = Control.MOUSE_FILTER_PASS if show else Control.MOUSE_FILTER_IGNORE + + only_button.modulate.a = target_alpha + only_button.mouse_filter = target_mouse_filter + +func _gui_input(event: InputEvent) -> void: + # Handle keyboard navigation + if event is InputEventKey and event.pressed: + match event.keycode: + KEY_SPACE, KEY_ENTER: + if select_checkbox: + select_checkbox.button_pressed = not select_checkbox.button_pressed + _on_checkbox_toggled(select_checkbox.button_pressed) + accept_event() + KEY_O: + if event.ctrl_pressed: # Ctrl+O for "Only" + _on_only_button_pressed() + accept_event() + +func _notification(what: int) -> void: + match what: + NOTIFICATION_FOCUS_ENTER: + # Add visual focus indication if needed + pass + NOTIFICATION_FOCUS_EXIT: + # Remove visual focus indication if needed + pass diff --git a/addons/loggie-console/scripts/components/domain_item.gd.uid b/addons/loggie-console/scripts/components/domain_item.gd.uid new file mode 100644 index 0000000..b2931e5 --- /dev/null +++ b/addons/loggie-console/scripts/components/domain_item.gd.uid @@ -0,0 +1 @@ +uid://dgkxvw0v5n6hq \ No newline at end of file diff --git a/addons/loggie-console/scripts/components/domain_selector.gd b/addons/loggie-console/scripts/components/domain_selector.gd new file mode 100644 index 0000000..64d76c0 --- /dev/null +++ b/addons/loggie-console/scripts/components/domain_selector.gd @@ -0,0 +1,256 @@ +class_name DomainSelector extends MenuButton + +## Standalone domain selector component for filtering log messages by domain +## Provides clean interface with proper signal-based communication + +const LoggieConsoleSettings = preload("res://addons/loggie-console/resources/loggie_console_settings.gd") +const DomainColorManager = preload("res://addons/loggie-console/scripts/domain_color_manager.gd") + +# Signals +signal domains_changed(enabled_domains: Array[String]) + +# Properties +var _enabled_domains: Array[String] = [] +var _all_domains: Array[String] = [] +var _domain_popup: PopupMenu +var _color_manager: DomainColorManager + +# Constants +const ALL_ITEM_ID = 0 +const SEPARATOR_ID = 1 +const DOMAIN_ID_OFFSET = 2 + + +func _ready() -> void: + _domain_popup = get_popup() + _domain_popup.id_pressed.connect(_on_domain_selected) + _initialize_empty_state() + +## Set the domain color manager instance +func set_color_manager(color_manager: DomainColorManager) -> void: + _color_manager = color_manager + +## Initialize the selector with available domains +func set_domains(domains: Array[String]) -> void: + _all_domains = domains.duplicate() + _enabled_domains = domains.duplicate() + _rebuild_popup() + _update_button_text() + domains_changed.emit(_enabled_domains) + +## Initialize the selector with all domains, but only enable selected ones +## Console domains appear normally but are unselected by default +func set_domains_with_console_unselected(all_domains: Array[String], enabled_domains: Array[String], console_domains: Array[String]) -> void: + _all_domains = all_domains.duplicate() + _enabled_domains = enabled_domains.duplicate() + _rebuild_popup_with_console_unselected(console_domains) + _update_button_text() + domains_changed.emit(_enabled_domains) + +## Add a new domain to the selector (for dynamic discovery) +func add_domain(domain_name: String) -> void: + if domain_name.is_empty() or _all_domains.has(domain_name): + return + + _all_domains.append(domain_name) + _enabled_domains.append(domain_name) + + # Add new item to popup with color icon + var display_name = _get_domain_display_name(domain_name) + var color_icon = _create_domain_color_icon(domain_name) + var item_id = _get_domain_item_id(_all_domains.size() - 1) + + _domain_popup.add_check_item(display_name, item_id) + _domain_popup.set_item_icon(item_id, color_icon) + _domain_popup.set_item_checked(item_id, true) + + _update_all_checkbox() + _update_button_text() + domains_changed.emit(_enabled_domains) + +## Get currently enabled domains +func get_enabled_domains() -> Array[String]: + return _enabled_domains.duplicate() + +## Check if a domain is enabled +func is_domain_enabled(domain_name: String) -> bool: + return _enabled_domains.has(domain_name) + +## Private methods + +## Create colored icon for domain display in popup +func _create_domain_color_icon(domain_name: String, size: int = 12) -> ImageTexture: + var color: Color = Color.WHITE # Default color + if _color_manager: + color = _color_manager.get_domain_color(domain_name) + + # Create a small colored square image + var image = Image.create(size, size, false, Image.FORMAT_RGBA8) + image.fill(color) + + # Convert to texture + var texture: ImageTexture = ImageTexture.create_from_image(image) + return texture + +## Get display name for domain (without color formatting) +func _get_domain_display_name(domain_name: String) -> String: + return domain_name if not domain_name.is_empty() else "(default)" + +func _initialize_empty_state() -> void: + _domain_popup.clear() + _domain_popup.add_item("No domains available") + _domain_popup.set_item_disabled(0, true) + text = "Domains: None" + +func _rebuild_popup() -> void: + _domain_popup.clear() + + # Add "All" toggle + _domain_popup.add_check_item("All", ALL_ITEM_ID) + _domain_popup.set_item_checked(ALL_ITEM_ID, _enabled_domains.size() == _all_domains.size()) + + # Add separator + _domain_popup.add_separator() + + # Add individual domain items with color icons + for i in range(_all_domains.size()): + var domain_name = _all_domains[i] + var display_name = _get_domain_display_name(domain_name) + var color_icon = _create_domain_color_icon(domain_name) + var item_id = _get_domain_item_id(i) + + _domain_popup.add_check_item(display_name, item_id) + _domain_popup.set_item_icon(item_id, color_icon) + _domain_popup.set_item_checked(item_id, _enabled_domains.has(domain_name)) + +## Builds popup with console domain unselected by default (no separator) +func _rebuild_popup_with_console_unselected(console_domains: Array[String]) -> void: + _domain_popup.clear() + + # Add "All" toggle (only for non-console domains) + _domain_popup.add_check_item("All", ALL_ITEM_ID) + var non_console_domains = [] + for domain in _all_domains: + if not console_domains.has(domain): + non_console_domains.append(domain) + _domain_popup.set_item_checked(ALL_ITEM_ID, _enabled_domains.size() == non_console_domains.size()) + + # Add separator + _domain_popup.add_separator() + + # Add all domain items in order with color icons + for i in range(_all_domains.size()): + var domain_name = _all_domains[i] + var display_name: String + + # Use friendly name for console domain + if console_domains.has(domain_name): + display_name = "LoggieConsole" # Simplified name for console domain + else: + display_name = domain_name if not domain_name.is_empty() else "(default)" + + # Create color icon for the domain + var color_icon = _create_domain_color_icon(domain_name) + + var item_id = _get_domain_item_id(i) + _domain_popup.add_check_item(display_name, item_id) + _domain_popup.set_item_icon(item_id, color_icon) + _domain_popup.set_item_checked(item_id, _enabled_domains.has(domain_name)) + +func _on_domain_selected(id: int) -> void: + if id == ALL_ITEM_ID: + _toggle_all_domains() + else: + _toggle_individual_domain(id) + + _update_all_checkbox() + _update_button_text() + domains_changed.emit(_enabled_domains) + +func _toggle_all_domains() -> void: + var current_all_state = _domain_popup.is_item_checked(ALL_ITEM_ID) + var new_all_state = not current_all_state + + # Update all checkbox + _domain_popup.set_item_checked(ALL_ITEM_ID, new_all_state) + + # Update all domain checkboxes and enabled list + _enabled_domains.clear() + for i in range(_all_domains.size()): + var item_id = _get_domain_item_id(i) + _domain_popup.set_item_checked(item_id, new_all_state) + if new_all_state: + _enabled_domains.append(_all_domains[i]) + +func _toggle_individual_domain(id: int) -> void: + var domain_index = _get_domain_index_from_id(id) + if domain_index < 0 or domain_index >= _all_domains.size(): + Loggie.msg("Invalid domain index %d for ID %d" % [domain_index, id]).domain(LoggieConsoleConstants.DOMAIN).warn() + return + + var domain_name = _all_domains[domain_index] + var current_state = _domain_popup.is_item_checked(id) + var new_state = not current_state + + # Update checkbox + _domain_popup.set_item_checked(id, new_state) + + # Update enabled domains list + if new_state and not _enabled_domains.has(domain_name): + _enabled_domains.append(domain_name) + elif not new_state and _enabled_domains.has(domain_name): + _enabled_domains.erase(domain_name) + +func _update_all_checkbox() -> void: + var all_enabled = _enabled_domains.size() == _all_domains.size() + _domain_popup.set_item_checked(ALL_ITEM_ID, all_enabled) + +func _update_button_text() -> void: + var enabled_count = _enabled_domains.size() + var total_count = _all_domains.size() + + if total_count == 0: + text = "Domains: None" + elif enabled_count == total_count: + text = "Domains: All" + elif enabled_count == 0: + text = "Domains: None" + elif enabled_count == 1: + var domain_name = _enabled_domains[0] + var display_name = _get_domain_display_name(domain_name) + text = "Domains: " + display_name + else: + text = "Domains: %d selected" % enabled_count + +func _get_domain_item_id(domain_index: int) -> int: + return DOMAIN_ID_OFFSET + domain_index + +func _get_domain_index_from_id(item_id: int) -> int: + return item_id - DOMAIN_ID_OFFSET + +## Saves current domain selection state to persistent settings +## Param settings: The settings resource to populate with current domain state +func save_settings_to_resource(settings: LoggieConsoleSettings) -> void: + settings.enabled_domains = _enabled_domains.duplicate() + settings.all_known_domains = _all_domains.duplicate() + +## Loads domain selection state from persistent settings and rebuilds UI +## Automatically validates that enabled domains still exist in the known domains list +## Param settings: The settings resource containing saved domain state +func load_settings_from_resource(settings: LoggieConsoleSettings) -> void: + _all_domains = settings.all_known_domains.duplicate() + _enabled_domains = settings.enabled_domains.duplicate() + + # Remove any enabled domains that no longer exist in all_domains + var valid_enabled_domains: Array[String] = [] + for domain in _enabled_domains: + if _all_domains.has(domain): + valid_enabled_domains.append(domain) + _enabled_domains = valid_enabled_domains + + # Rebuild UI to reflect loaded state + if _all_domains.size() > 0: + _rebuild_popup() + _update_button_text() + else: + _initialize_empty_state() diff --git a/addons/loggie-console/scripts/components/domain_selector.gd.uid b/addons/loggie-console/scripts/components/domain_selector.gd.uid new file mode 100644 index 0000000..679268a --- /dev/null +++ b/addons/loggie-console/scripts/components/domain_selector.gd.uid @@ -0,0 +1 @@ +uid://bq6xlpjg4qoca diff --git a/addons/loggie-console/scripts/components/log_buffer.gd b/addons/loggie-console/scripts/components/log_buffer.gd new file mode 100644 index 0000000..80fc2dc --- /dev/null +++ b/addons/loggie-console/scripts/components/log_buffer.gd @@ -0,0 +1,209 @@ +class_name LogBuffer extends RichTextLabel + +## Enhanced message buffer with retroactive filtering capabilities +## Stores all messages and applies filters dynamically without losing data + +const LoggieConsoleSettings = preload("res://addons/loggie-console/resources/loggie_console_settings.gd") +const DomainColorManager = preload("res://addons/loggie-console/scripts/domain_color_manager.gd") + +# Signals +signal filter_changed(visible_count: int, total_count: int) + +# Internal message storage +var _all_messages: Array[LogMessage] = [] +var _filtered_messages: Array[LogMessage] = [] +var _current_filters: FilterState + +# Domain color manager reference +var _color_manager: DomainColorManager + +# Memory management constants +const DEFAULT_MAX_MESSAGES: int = 5000 +const CLEANUP_PERCENTAGE: float = 0.2 # Remove 20% of messages when limit reached + +# Memory management +@export var max_messages: int = DEFAULT_MAX_MESSAGES + +## Internal LogMessage class for storing complete message data +class LogMessage: + var msg: LoggieMsg + var preprocessed_content: String + var msg_type: LoggieEnums.MsgType + var log_level: LoggieEnums.LogLevel + var timestamp: float + var enhanced_content: String + + func _init(p_msg: LoggieMsg, p_content: String, p_type: LoggieEnums.MsgType, p_level: LoggieEnums.LogLevel) -> void: + msg = p_msg + preprocessed_content = p_content + msg_type = p_type + log_level = p_level + timestamp = Time.get_unix_time_from_system() + +## Filter state for retroactive filtering +class FilterState: + var enabled_domains: Array[String] = [] + var min_log_level: LoggieEnums.LogLevel = LoggieEnums.LogLevel.DEBUG + var text_search: String = "" + var show_stack_only: bool = false + + func _init() -> void: + # Initialize to show ERROR and above by default (lower numbers = higher priority) + min_log_level = LoggieEnums.LogLevel.DEBUG + +func _ready() -> void: + _current_filters = FilterState.new() + bbcode_enabled = true + +## Set the domain color manager instance +func set_color_manager(color_manager: DomainColorManager) -> void: + _color_manager = color_manager + +## Add a new log message to the buffer +func add_message(msg: LoggieMsg, content: String, msg_type: LoggieEnums.MsgType, log_level: LoggieEnums.LogLevel) -> void: + # Create and store the message + var log_msg: LogMessage = LogMessage.new(msg, content, msg_type, log_level) + log_msg.enhanced_content = _enhance_with_metadata(log_msg) + + _all_messages.append(log_msg) + + # Manage memory if needed + _manage_memory() + + # Apply current filters and rebuild display + _reapply_filters() + +## Set new filter state and reapply filters +func set_filters(filter_state: FilterState) -> void: + _current_filters = filter_state + _reapply_filters() + +## Set text search filter +func set_text_search(search: String) -> void: + if _current_filters.text_search == search: + return + + _current_filters.text_search = search + _reapply_filters() + +## Clear all messages +func clear_all() -> void: + _all_messages.clear() + _filtered_messages.clear() + text = "" + clear() + + # Emit updated counts + filter_changed.emit(0, 0) + +## Get current message counts +func get_message_counts() -> Dictionary: + return { + "total": _all_messages.size(), + "filtered": _filtered_messages.size() + } + +## Saves current buffer state to persistent settings resource +## Param settings: The settings resource to populate with current state +func save_settings_to_resource(settings: LoggieConsoleSettings) -> void: + settings.filter_state.from_filter_state(_current_filters) + settings.max_messages = max_messages + +## Loads buffer state from persistent settings resource +## Note: Does not immediately apply filters to avoid triggering reapply before messages exist +## Param settings: The settings resource containing saved state +func load_settings_from_resource(settings: LoggieConsoleSettings) -> void: + if settings.filter_state: + _current_filters = settings.filter_state.to_filter_state() + max_messages = settings.max_messages + +## Applies previously loaded filter state to existing messages +## Call this after load_settings_from_resource() and message loading is complete +func apply_loaded_filters() -> void: + _reapply_filters() + + +## Private methods + +func _reapply_filters() -> void: + _filtered_messages.clear() + + for msg in _all_messages: + if msg != null and _message_passes_filters(msg, _current_filters): + _filtered_messages.append(msg) + + _rebuild_display() + + # Emit filter change signal + filter_changed.emit(_filtered_messages.size(), _all_messages.size()) + +func _message_passes_filters(msg: LogMessage, filters: FilterState) -> bool: + # Domain check - if no domains are enabled, show no messages + if filters.enabled_domains.size() == 0: + return false + + # If domains are enabled, check if this message's domain is in the enabled list + if not filters.enabled_domains.has(msg.msg.domain_name): + return false + + # Level check - show messages at or above the minimum level (lower numbers = higher priority) + if msg.log_level > filters.min_log_level: + return false + + # Text search + if not filters.text_search.is_empty(): + var search_lower: String = filters.text_search.to_lower() + if not msg.preprocessed_content.to_lower().contains(search_lower): + return false + + # Stack filter + if filters.show_stack_only and not msg.msg.appends_stack: + return false + + return true + +func _rebuild_display() -> void: + # Clear current display + text = "" + clear() + + # Add all filtered messages + for msg in _filtered_messages: + text += msg.enhanced_content + "\n" + +func _enhance_with_metadata(msg: LogMessage) -> String: + var metadata_parts: Array[String] = [] + + metadata_parts.append("[color=%s]%s [/color]" % [Color.DIM_GRAY.to_html(false), Time.get_time_string_from_unix_time(int(msg.timestamp))]) + + if msg.msg.domain_name and not msg.msg.domain_name.is_empty(): + var domain_color_html: String = _color_manager.get_domain_color_html(msg.msg.domain_name) + metadata_parts.append("[color=%s]%s[/color]" % [domain_color_html, msg.msg.domain_name]) + + if msg.msg.domain_name and not msg.msg.domain_name.is_empty(): + metadata_parts.append("[color=%s][%s] [/color]" % [_get_color_for_log_level(msg.log_level).to_html(false), LoggieEnums.LogLevel.keys()[msg.log_level]]) + + return "%s %s" % [" ".join(metadata_parts), msg.msg.content[0]] + +func _get_color_for_log_level(level: LoggieEnums.LogLevel) -> Color: + match level: + LoggieEnums.LogLevel.ERROR: + return Color.RED + LoggieEnums.LogLevel.WARN: + return Color.ORANGE + LoggieEnums.LogLevel.NOTICE: + return Color.GREEN + LoggieEnums.LogLevel.INFO: + return Color.WHITE + LoggieEnums.LogLevel.DEBUG, _: + return Color.AQUA + +## Manages memory by removing oldest messages when buffer limit exceeded +## Uses CLEANUP_PERCENTAGE constant to determine how many messages to remove +func _manage_memory() -> void: + if _all_messages.size() > max_messages: + # Remove oldest messages based on cleanup percentage + var remove_count: int = int(max_messages * CLEANUP_PERCENTAGE) + _all_messages = _all_messages.slice(remove_count) + # Note: This will cause filtered_messages indices to be invalid, + # but _reapply_filters() will be called which rebuilds it diff --git a/addons/loggie-console/scripts/components/log_buffer.gd.uid b/addons/loggie-console/scripts/components/log_buffer.gd.uid new file mode 100644 index 0000000..b7b792d --- /dev/null +++ b/addons/loggie-console/scripts/components/log_buffer.gd.uid @@ -0,0 +1 @@ +uid://wah8efffydnu diff --git a/addons/loggie-console/scripts/components/log_level_filter.gd b/addons/loggie-console/scripts/components/log_level_filter.gd new file mode 100644 index 0000000..62a9cb7 --- /dev/null +++ b/addons/loggie-console/scripts/components/log_level_filter.gd @@ -0,0 +1,62 @@ +class_name LogLevelFilter extends OptionButton + +## Standalone log level filter component +## Manages log level selection and syncs with Loggie settings + +const LoggieConsoleSettings = preload("res://addons/loggie-console/resources/loggie_console_settings.gd") + +# Signals +signal level_changed(new_level: LoggieEnums.LogLevel) + +func _ready() -> void: + _setup_level_options() + item_selected.connect(_on_level_selected) + tooltip_text = "Filter by log level" + +## Initialize with current Loggie settings +func initialize() -> void: + selected = Loggie.settings.log_level + level_changed.emit(Loggie.settings.log_level) + +## Get currently selected log level +func get_current_level() -> LoggieEnums.LogLevel: + if selected >= 0 and selected < get_item_count(): + return get_item_id(selected) as LoggieEnums.LogLevel + return LoggieEnums.LogLevel.DEBUG + +## Set log level programmatically +func set_log_level(level: LoggieEnums.LogLevel) -> void: + for i in range(get_item_count()): + if get_item_id(i) == level: + selected = i + break + +## Private methods + +func _setup_level_options() -> void: + clear() + + # Add all log levels as options + for value in LoggieEnums.LogLevel.values(): + var label: String = LoggieEnums.LogLevel.keys()[value] + add_item(label, value) + +func _on_level_selected(index: int) -> void: + var new_level = get_item_id(index) as LoggieEnums.LogLevel + + # Update Loggie settings + Loggie.settings.log_level = new_level + + # Emit change signal + level_changed.emit(new_level) + +## Saves current log level selection to persistent settings +## Param settings: The settings resource to populate with current log level +func save_settings_to_resource(settings: LoggieConsoleSettings) -> void: + settings.set_log_level(get_current_level()) + +## Loads log level selection from persistent settings and applies it +## Updates the UI control to reflect the loaded level without emitting change signals +## Param settings: The settings resource containing saved log level +func load_settings_from_resource(settings: LoggieConsoleSettings) -> void: + set_log_level(settings.get_log_level()) diff --git a/addons/loggie-console/scripts/components/log_level_filter.gd.uid b/addons/loggie-console/scripts/components/log_level_filter.gd.uid new file mode 100644 index 0000000..85b2fbb --- /dev/null +++ b/addons/loggie-console/scripts/components/log_level_filter.gd.uid @@ -0,0 +1 @@ +uid://d3l2tmf5gym1d diff --git a/addons/loggie-console/scripts/components/panel_domain_selector.gd b/addons/loggie-console/scripts/components/panel_domain_selector.gd new file mode 100644 index 0000000..b87e621 --- /dev/null +++ b/addons/loggie-console/scripts/components/panel_domain_selector.gd @@ -0,0 +1,381 @@ +class_name PanelDomainSelector extends Control + +## Panel-based domain selector component for filtering log messages by domain +## Provides enhanced UI with vertical list, hover "Only" buttons, and Apply/Cancel workflow +## Drop-in replacement for MenuButton-based DomainSelector with identical API + +const LoggieConsoleSettings = preload("res://addons/loggie-console/resources/loggie_console_settings.gd") +const LoggieConsoleConstants = preload("res://addons/loggie-console/scripts/loggie_console_constants.gd") +const DomainItemScene = preload("res://addons/loggie-console/scenes/domain_item.tscn") +const DomainColorManager = preload("res://addons/loggie-console/scripts/domain_color_manager.gd") + +# Signals - maintains API compatibility with existing DomainSelector +signal domains_changed(enabled_domains: Array[String]) + +# UI Components - exported for scene tree assignment +@export var trigger_button: Button +@export var domain_panel: PopupPanel +@export var select_all_button: Button +@export var select_none_button: Button +@export var scroll_container: ScrollContainer +@export var domain_list: VBoxContainer + +# Domain management +var _all_domains: Array[String] = [] +var _enabled_domains: Array[String] = [] + +# Domain item tracking +var _domain_items: Array[DomainItem] = [] + +# Panel state tracking +var _panel_is_open: bool = false + +# Color management +var _color_manager: DomainColorManager + +# Panel sizing constants +const PANEL_WIDTH: int = 300 +const PANEL_MAX_HEIGHT: int = 400 +const PANEL_MIN_HEIGHT: int = 150 + +# Panel positioning constants +const PANEL_VERTICAL_GAP: int = 2 +const PANEL_HORIZONTAL_MARGIN: int = 10 + +# Domain item layout constants +const DOMAIN_ITEM_HEIGHT: int = 32 +const PANEL_HEADER_HEIGHT: int = 40 +const PANEL_SELECTION_CONTROLS_HEIGHT: int = 28 +const PANEL_FOOTER_HEIGHT: int = 40 +const PANEL_PADDING: int = 20 + + +## Initializes the panel domain selector component +## +## Sets up UI connections, panel sizing, and attempts to load domains from Loggie. +## If no domains are found, initializes an empty state. All UI components must be +## properly assigned via @export variables in the scene for initialization to succeed. +func _ready() -> void: + if not trigger_button: + _initialize_empty_state() + return + + domain_panel.hide() + + # Connect UI signals + trigger_button.pressed.connect(_on_trigger_button_pressed) + select_all_button.pressed.connect(_on_select_all_button_pressed) + select_none_button.pressed.connect(_on_select_none_button_pressed) + + # Connect popup signals to track state + domain_panel.popup_hide.connect(_on_panel_hidden) + domain_panel.about_to_popup.connect(_on_panel_about_to_show) + + # Set initial panel size + domain_panel.size = Vector2(PANEL_WIDTH, PANEL_MIN_HEIGHT) + + # Try to initialize with real Loggie domains first + _initialize_domains_from_loggie() + + # If no domains found, show empty state + if _all_domains.is_empty(): + _initialize_empty_state() + +## Set the domain color manager instance +func set_color_manager(color_manager: DomainColorManager) -> void: + _color_manager = color_manager + +## Initialize the selector with available domains +func set_domains(domains: Array[String]) -> void: + _all_domains = domains.duplicate() + _enabled_domains = domains.duplicate() + _rebuild_domain_list() + _update_trigger_button_text() + domains_changed.emit(_enabled_domains) + +## Initialize the selector with all domains, but only enable selected ones +## Console domains appear normally but are unselected by default +func set_domains_with_console_unselected(all_domains: Array[String], enabled_domains: Array[String], _console_domains: Array[String]) -> void: + _all_domains = all_domains.duplicate() + _enabled_domains = enabled_domains.duplicate() + _rebuild_domain_list() + _update_trigger_button_text() + domains_changed.emit(_enabled_domains) + +## Add a new domain to the selector (for dynamic discovery) +func add_domain(domain_name: String) -> void: + if domain_name.is_empty() or _all_domains.has(domain_name): + return + + _all_domains.append(domain_name) + _enabled_domains.append(domain_name) + + _add_domain_item(domain_name, true) + _update_trigger_button_text() + _update_panel_size() + domains_changed.emit(_enabled_domains) + +## Get currently enabled domains +func get_enabled_domains() -> Array[String]: + return _enabled_domains.duplicate() + +## Check if a domain is enabled +func is_domain_enabled(domain_name: String) -> bool: + return _enabled_domains.has(domain_name) + +## Saves current domain selection state to persistent settings +func save_settings_to_resource(settings: LoggieConsoleSettings) -> void: + settings.enabled_domains = _enabled_domains.duplicate() + settings.all_known_domains = _all_domains.duplicate() + +## Loads domain selection state from persistent settings and rebuilds UI +func load_settings_from_resource(settings: LoggieConsoleSettings) -> void: + _all_domains = settings.all_known_domains.duplicate() + _enabled_domains = settings.enabled_domains.duplicate() + + # Remove any enabled domains that no longer exist in all_domains + var valid_enabled_domains: Array[String] = [] + for domain in _enabled_domains: + if _all_domains.has(domain): + valid_enabled_domains.append(domain) + _enabled_domains = valid_enabled_domains + + # Rebuild UI to reflect loaded state + if _all_domains.size() > 0: + _rebuild_domain_list() + _update_trigger_button_text() + else: + _initialize_empty_state() + +## Private methods + +func _initialize_empty_state() -> void: + if trigger_button: + trigger_button.text = "Domains: None" + trigger_button.tooltip_text = "No domains available" + +func _initialize_domains_from_loggie() -> void: + # Query Loggie for registered domains + if not Loggie: + return + + var loggie_domains: Array[String] = [] + + # Get domains from Loggie's registered domains + for domain_name: String in Loggie.domains.keys(): + if not domain_name.is_empty(): + loggie_domains.append(domain_name) + + # If we found domains, initialize with them + if loggie_domains.size() > 0: + set_domains(loggie_domains) + Loggie.msg("Initialized domain selector with %d domains from Loggie" % loggie_domains.size()).domain(LoggieConsoleConstants.DOMAIN).info() + else: + _initialize_empty_state() + +## Refresh domains from Loggie (useful for dynamic discovery) +func refresh_domains_from_loggie() -> void: + if not Loggie: + return + + var _current_domains: Array[String] = _all_domains.duplicate() + var loggie_domains: Array[String] = [] + + # Get current domains from Loggie + for domain_name: String in Loggie.domains.keys(): + if not domain_name.is_empty(): + loggie_domains.append(domain_name) + + # Add any new domains we discovered + var new_domains_added: bool = false + for domain_name in loggie_domains: + if not _all_domains.has(domain_name): + add_domain(domain_name) + new_domains_added = true + + if new_domains_added: + Loggie.msg("Discovered new domains from Loggie").domain(LoggieConsoleConstants.DOMAIN).info() + +func _on_trigger_button_pressed() -> void: + if _all_domains.is_empty(): + return + + # Only open panel if not already open (button disabled when open) + if not _panel_is_open: + # Position and show panel + domain_panel.popup() + _position_panel() + + +func _on_select_all_button_pressed() -> void: + # Select all domains instantly + _enabled_domains = _all_domains.duplicate() + _update_domain_items_state() + _update_trigger_button_text() + domains_changed.emit(_enabled_domains) + +func _on_select_none_button_pressed() -> void: + # Deselect all domains instantly + _enabled_domains.clear() + _update_domain_items_state() + _update_trigger_button_text() + domains_changed.emit(_enabled_domains) + +## Intelligently positions the domain selection panel relative to the trigger button +## +## Calculates optimal panel placement considering viewport boundaries and trigger button +## position. Prefers positioning below and left-aligned to the trigger button, but will +## adjust to above or right-aligned if necessary to keep the panel fully visible. +## Ensures minimum margins from viewport edges for accessibility. +func _position_panel() -> void: + if not trigger_button: + return + + # Get trigger button global position and size + var button_global_pos: Vector2 = trigger_button.global_position + + var button_size: Vector2 = trigger_button.size + await get_tree().process_frame + var panel_size: Vector2 = domain_panel.size + + # Get viewport rect for boundary checking + var viewport: Viewport = get_viewport() + var viewport_rect: Rect2 = viewport.get_visible_rect() + + # Position directly below button, aligned to left edge + var panel_pos: Vector2i = Vector2i( + button_global_pos.x, + button_global_pos.y + button_size.y + PANEL_VERTICAL_GAP + ) + + # Check if panel would go off-screen horizontally + if panel_pos.x + panel_size.x > viewport_rect.size.x: + # Align to right edge of button instead + panel_pos.x = button_global_pos.x + button_size.x - panel_size.x + # Ensure still within bounds + panel_pos.x = max(PANEL_HORIZONTAL_MARGIN, panel_pos.x) + + # Check if panel would go off-screen vertically + if panel_pos.y + panel_size.y > viewport_rect.size.y: + # Position above button instead + panel_pos.y = button_global_pos.y - panel_size.y - PANEL_VERTICAL_GAP + + # Final boundary check + panel_pos.x = max(PANEL_HORIZONTAL_MARGIN, min(panel_pos.x, viewport_rect.size.x - panel_size.x - PANEL_HORIZONTAL_MARGIN)) + panel_pos.y = max(PANEL_HORIZONTAL_MARGIN, min(panel_pos.y, viewport_rect.size.y - panel_size.y - PANEL_HORIZONTAL_MARGIN)) + + domain_panel.position = get_window().position + panel_pos + +func _rebuild_domain_list() -> void: + # Clear existing domain items + _clear_domain_items() + + # Create new domain items + for domain_name in _all_domains: + var is_enabled: bool = _enabled_domains.has(domain_name) + _add_domain_item(domain_name, is_enabled) + + _update_panel_size() + +func _clear_domain_items() -> void: + for item in _domain_items: + if is_instance_valid(item): + item.queue_free() + _domain_items.clear() + + # Clear any remaining children + for child in domain_list.get_children(): + child.queue_free() + +func _add_domain_item(domain_name: String, is_enabled: bool) -> void: + var item: DomainItem = DomainItemScene.instantiate() + + # Add to scene first + domain_list.add_child(item) + _domain_items.append(item) + + # Set color manager if available + if _color_manager: + item.set_color_manager(_color_manager) + + # Setup domain after adding to scene tree (ensures _ready is called first) + item.setup_domain(domain_name, is_enabled) + + # Connect signals + item.selection_changed.connect(_on_domain_item_selection_changed) + item.only_button_pressed.connect(_on_domain_item_only_pressed) + +## Dynamically adjusts panel size based on the number of domain items +## +## Calculates the optimal panel height by summing all component heights (header, +## selection controls, domain items, footer, and padding). Clamps the result between +## minimum and maximum height constraints to ensure usability and prevent overflow. +func _update_panel_size() -> void: + if not domain_panel or _domain_items.is_empty(): + return + + # Calculate required height based on content + var required_height: int = PANEL_HEADER_HEIGHT + PANEL_SELECTION_CONTROLS_HEIGHT + (_domain_items.size() * DOMAIN_ITEM_HEIGHT) + PANEL_FOOTER_HEIGHT + PANEL_PADDING + var final_height: int = clamp(required_height, PANEL_MIN_HEIGHT, PANEL_MAX_HEIGHT) + + domain_panel.size = Vector2(PANEL_WIDTH, final_height) + +func _update_trigger_button_text() -> void: + if not trigger_button: + return + + var enabled_count: int = _enabled_domains.size() + var total_count: int = _all_domains.size() + + if total_count == 0: + trigger_button.text = "Domains: None" + trigger_button.tooltip_text = "No domains available" + elif enabled_count == total_count: + trigger_button.text = "Domains: All" + trigger_button.tooltip_text = "All domains selected (%d)" % total_count + elif enabled_count == 0: + trigger_button.text = "Domains: None" + trigger_button.tooltip_text = "No domains selected" + elif enabled_count == 1: + var domain_name: String = _enabled_domains[0] + var display_name: String = domain_name if not domain_name.is_empty() else "(default)" + trigger_button.text = "Domains: " + display_name + trigger_button.tooltip_text = "Selected: " + display_name + else: + trigger_button.text = "Domains: %d selected" % enabled_count + trigger_button.tooltip_text = "%d of %d domains selected" % [enabled_count, total_count] + +func _update_domain_items_state() -> void: + for item in _domain_items: + if is_instance_valid(item): + var domain_name: String = item.get_domain_name() + var is_enabled: bool = _enabled_domains.has(domain_name) + item.set_selected(is_enabled) + +func _on_domain_item_selection_changed(domain_name: String, is_selected: bool) -> void: + if is_selected and not _enabled_domains.has(domain_name): + _enabled_domains.append(domain_name) + elif not is_selected and _enabled_domains.has(domain_name): + _enabled_domains.erase(domain_name) + + # Update UI and emit change immediately + _update_trigger_button_text() + domains_changed.emit(_enabled_domains) + +func _on_domain_item_only_pressed(domain_name: String) -> void: + # Clear all selections and select only this domain instantly + _enabled_domains.clear() + _enabled_domains.append(domain_name) + _update_domain_items_state() + _update_trigger_button_text() + domains_changed.emit(_enabled_domains) + +func _on_panel_about_to_show() -> void: + _panel_is_open = true + if trigger_button: + trigger_button.disabled = true + +func _on_panel_hidden() -> void: + _panel_is_open = false + if trigger_button: + trigger_button.disabled = false diff --git a/addons/loggie-console/scripts/components/panel_domain_selector.gd.uid b/addons/loggie-console/scripts/components/panel_domain_selector.gd.uid new file mode 100644 index 0000000..9e8b0cc --- /dev/null +++ b/addons/loggie-console/scripts/components/panel_domain_selector.gd.uid @@ -0,0 +1 @@ +uid://bfmpjs4x3fhte \ No newline at end of file diff --git a/addons/loggie-console/scripts/components/restore_button.gd b/addons/loggie-console/scripts/components/restore_button.gd new file mode 100644 index 0000000..5574b4b --- /dev/null +++ b/addons/loggie-console/scripts/components/restore_button.gd @@ -0,0 +1,123 @@ +class_name RestoreButton extends CanvasLayer + +## Floating restore button component for minimized LoggieConsole +## +## Self-contained overlay button that appears when the console is minimized. +## Handles its own positioning, styling, and lifecycle management with proper +## cleanup when the console is restored. Designed to be added to the root viewport +## for maximum visibility across all scenes. + +const LoggieConsoleConstants = preload("res://addons/loggie-console/scripts/loggie_console_constants.gd") + +# Alignment constants +enum Alignment { + TOP_LEFT = 0, + TOP_RIGHT = 1, + BOTTOM_LEFT = 2, + BOTTOM_RIGHT = 3 +} + +# Signals +signal restore_requested() ## Emitted when user clicks the restore button +@export var restore_button: Button + +## Initializes the restore button component and sets up styling +## +## Configures the canvas layer for maximum rendering priority, sets up the +## container to fill the viewport, and applies professional styling to the +## restore button. All UI components must be properly assigned via @export. +func _ready() -> void: + Loggie.msg("RestoreButton _ready() called").domain(LoggieConsoleConstants.DOMAIN).debug() + + # Connect button signal + restore_button.pressed.connect(_on_restore_button_pressed) + + Loggie.msg("RestoreButton initialization complete").domain(LoggieConsoleConstants.DOMAIN).debug() + +## Shows the restore button by adding it to the provided scene tree root +## +## This method expects to be called from a parent that has access to the scene tree. +## The parent should pass the root viewport so this component can add itself properly. +## +## @param root_viewport: The root viewport where the button should be added +func show_restore_button(root_viewport: Window = null) -> void: + Loggie.msg("RestoreButton show_restore_button() method called").domain(LoggieConsoleConstants.DOMAIN).debug() + + if not root_viewport: + Loggie.msg("No root viewport available for restore button").domain(LoggieConsoleConstants.DOMAIN).error() + return + + root_viewport.add_child(self) + Loggie.msg("Restore button added to root viewport: %s" % root_viewport.name).domain(LoggieConsoleConstants.DOMAIN).debug() + await get_tree().process_frame + # Ensure visibility + visible = true + Loggie.msg("Restore button visibility set to true").domain(LoggieConsoleConstants.DOMAIN).debug() + + # Force positioning update and debug info + await get_tree().process_frame + +## Hides and removes the restore button from the scene tree +## +## Safely removes the button from its parent and hides it. Handles cleanup +## and ensures proper resource management when the console is restored. +func hide_restore_button() -> void: + Loggie.msg("Hiding restore button").domain(LoggieConsoleConstants.DOMAIN).debug() + + visible = false + + # Remove from parent if attached + if get_parent(): + get_parent().remove_child(self) + Loggie.msg("Restore button removed from parent").domain(LoggieConsoleConstants.DOMAIN).debug() + +## Sets the alignment position of the restore button +## +## Updates the button's position flags to align it to the specified corner of the screen. +## @param alignment: The alignment enum value (TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT) +func set_alignment(alignment: Alignment) -> void: + if not restore_button: + Loggie.msg("RestoreButton not found, cannot set alignment").domain(LoggieConsoleConstants.DOMAIN).warn() + return + + match alignment: + Alignment.TOP_LEFT: + restore_button.size_flags_horizontal = Control.SIZE_SHRINK_BEGIN # 0 = left align + restore_button.size_flags_vertical = Control.SIZE_SHRINK_BEGIN # 0 = top align + Alignment.TOP_RIGHT: + restore_button.size_flags_horizontal = Control.SIZE_SHRINK_END # 8 = right align + restore_button.size_flags_vertical = Control.SIZE_SHRINK_BEGIN # 0 = top align + Alignment.BOTTOM_LEFT: + restore_button.size_flags_horizontal = Control.SIZE_SHRINK_BEGIN # 0 = left align + restore_button.size_flags_vertical = Control.SIZE_SHRINK_END # 8 = bottom align + Alignment.BOTTOM_RIGHT: + restore_button.size_flags_horizontal = Control.SIZE_SHRINK_END # 8 = right align + restore_button.size_flags_vertical = Control.SIZE_SHRINK_END # 8 = bottom align + + Loggie.msg("Restore button alignment set to: %s" % _get_alignment_name(alignment)).domain(LoggieConsoleConstants.DOMAIN).debug() + +## Gets a human-readable name for the alignment enum +## +## @param alignment: The alignment enum value +## @return: String name of the alignment +func _get_alignment_name(alignment: Alignment) -> String: + match alignment: + Alignment.TOP_LEFT: + return "Top Left" + Alignment.TOP_RIGHT: + return "Top Right" + Alignment.BOTTOM_LEFT: + return "Bottom Left" + Alignment.BOTTOM_RIGHT: + return "Bottom Right" + _: + return "Unknown" + +## Handles restore button click events +## +## Emits the restore_requested signal when the button is pressed, allowing +## the parent console to handle the actual restore logic while keeping +## this component focused solely on UI concerns. +func _on_restore_button_pressed() -> void: + Loggie.msg("Restore button pressed").domain(LoggieConsoleConstants.DOMAIN).debug() + restore_requested.emit() diff --git a/addons/loggie-console/scripts/components/restore_button.gd.uid b/addons/loggie-console/scripts/components/restore_button.gd.uid new file mode 100644 index 0000000..ed782fd --- /dev/null +++ b/addons/loggie-console/scripts/components/restore_button.gd.uid @@ -0,0 +1 @@ +uid://dmyd1gquxy42u diff --git a/addons/loggie-console/scripts/components/settings_panel.gd b/addons/loggie-console/scripts/components/settings_panel.gd new file mode 100644 index 0000000..0e68368 --- /dev/null +++ b/addons/loggie-console/scripts/components/settings_panel.gd @@ -0,0 +1,125 @@ +class_name LoggieConsoleSettingsPanel extends AcceptDialog + +## Standalone settings panel component for LoggieConsole +## +## This component provides a clean, reusable interface for adjusting console settings +## such as text size multiplier. It emits signals when settings are changed and provides +## methods to get/set current values. +## +## Signals: +## - settings_applied(text_size_multiplier: float): Emitted when Apply is clicked +## - settings_reset(): Emitted when Reset to Default is clicked +## +## Public Methods: +## - set_text_size_multiplier(value: float): Sets the current text size value +## - get_text_size_multiplier() -> float: Gets the current text size value +## - reset_to_defaults(): Resets all settings to default values + +## Emitted when the user clicks Apply with current settings +signal settings_applied(text_size_multiplier: float, restore_button_alignment: RestoreButton.Alignment) + +## Emitted when the user clicks Reset to Default +signal settings_reset() + +# UI component references - assigned via editor +@export var _text_size_slider: HSlider +@export var _text_size_value_label: Label +@export var _reset_button: Button +@export var _alignment_option: OptionButton ## Optional - may be null in simplified versions + +# Constants +const DEFAULT_TEXT_SIZE_MULTIPLIER: float = 1.0 +const MIN_TEXT_SIZE_MULTIPLIER: float = 0.5 +const MAX_TEXT_SIZE_MULTIPLIER: float = 2.0 +const DEFAULT_RESTORE_BUTTON_ALIGNMENT: RestoreButton.Alignment = RestoreButton.Alignment.TOP_RIGHT + +## Initializes the settings panel and connects internal signals +func _ready() -> void: + # Connect internal UI signals + _text_size_slider.value_changed.connect(_on_text_size_slider_changed) + _reset_button.pressed.connect(_on_reset_button_pressed) + confirmed.connect(_on_apply_pressed) + + # Initialize display + _update_text_size_label(_text_size_slider.value) + +## Sets the text size multiplier value +## +## Updates the slider position and display label to reflect the new value. +## The value is automatically clamped to the valid range (0.5 to 2.0). +## +## @param value: The text size multiplier (will be clamped to valid range) +func set_text_size_multiplier(value: float) -> void: + var clamped_value: float = clampf(value, MIN_TEXT_SIZE_MULTIPLIER, MAX_TEXT_SIZE_MULTIPLIER) + _text_size_slider.value = clamped_value + _update_text_size_label(clamped_value) + +## Gets the current text size multiplier value +## +## @return: The current text size multiplier value from the slider +func get_text_size_multiplier() -> float: + return _text_size_slider.value + +## Sets the restore button alignment +## +## Updates the alignment option button to reflect the new value. +## If the alignment option doesn't exist, the setting is ignored. +## @param alignment: The restore button alignment enum value +func set_restore_button_alignment(alignment: RestoreButton.Alignment) -> void: + if _alignment_option: + _alignment_option.selected = alignment as int + +## Gets the current restore button alignment +## +## @return: The current restore button alignment as an enum value, or default if option doesn't exist +func get_restore_button_alignment() -> RestoreButton.Alignment: + if _alignment_option: + return _alignment_option.selected as RestoreButton.Alignment + else: + return DEFAULT_RESTORE_BUTTON_ALIGNMENT + +## Resets all settings to their default values +## +## This method resets both text size multiplier and alignment to defaults and emits the settings_reset signal. +func reset_to_defaults() -> void: + set_text_size_multiplier(DEFAULT_TEXT_SIZE_MULTIPLIER) + set_restore_button_alignment(DEFAULT_RESTORE_BUTTON_ALIGNMENT) + settings_reset.emit() + +## Shows the settings panel centered on screen +## +## Convenience method that wraps popup_centered() for easier API usage. +func show_settings() -> void: + popup_centered() + +## Called when the text size slider value changes +## +## Updates the value display label to show the current multiplier. +## @param value: The new slider value +func _on_text_size_slider_changed(value: float) -> void: + _update_text_size_label(value) + +## Called when the Reset to Default button is pressed +## +## Resets settings to defaults and emits the settings_reset signal. +func _on_reset_button_pressed() -> void: + reset_to_defaults() + +## Called when the Apply button is pressed +## +## Emits the settings_applied signal with the current settings values. +func _on_apply_pressed() -> void: + settings_applied.emit(get_text_size_multiplier(), get_restore_button_alignment()) + +## Updates the text size value label to show the current multiplier +## +## @param value: The text size multiplier to display +func _update_text_size_label(value: float) -> void: + _text_size_value_label.text = "%.1fx" % value + +## Validates that a text size multiplier value is within acceptable bounds +## +## @param value: The value to validate +## @return: True if the value is valid, false otherwise +func is_valid_text_size_multiplier(value: float) -> bool: + return value >= MIN_TEXT_SIZE_MULTIPLIER and value <= MAX_TEXT_SIZE_MULTIPLIER diff --git a/addons/loggie-console/scripts/components/settings_panel.gd.uid b/addons/loggie-console/scripts/components/settings_panel.gd.uid new file mode 100644 index 0000000..e5f3561 --- /dev/null +++ b/addons/loggie-console/scripts/components/settings_panel.gd.uid @@ -0,0 +1 @@ +uid://giuyu6vhhgam diff --git a/addons/loggie-console/scripts/components/status_display.gd b/addons/loggie-console/scripts/components/status_display.gd new file mode 100644 index 0000000..c6dc66e --- /dev/null +++ b/addons/loggie-console/scripts/components/status_display.gd @@ -0,0 +1,55 @@ +class_name StatusDisplay extends Label + +## Standalone status display component for console information +## Shows message counts, filter status, and real-time feedback + +func _ready() -> void: + text = "Ready" + horizontal_alignment = HORIZONTAL_ALIGNMENT_RIGHT + +## Update status with message and domain information +func update_status(total_messages: int, filtered_messages: int, enabled_domains: Array[String], total_domains: int) -> void: + var status_text = "" + + if total_messages == 0: + status_text = "Ready" + else: + # Message count display + if filtered_messages == total_messages: + status_text = "%d msgs" % total_messages + else: + status_text = "%d/%d msgs" % [filtered_messages, total_messages] + + # Domain filter info + if total_domains > 0 and enabled_domains.size() < total_domains: + status_text += " | %d/%d domains" % [enabled_domains.size(), total_domains] + + text = status_text + +## Update status when only message counts change (simpler version) +func update_message_counts(total_messages: int, filtered_messages: int) -> void: + if total_messages == 0: + text = "Ready" + elif filtered_messages == total_messages: + text = "%d msgs" % total_messages + else: + text = "%d/%d msgs" % [filtered_messages, total_messages] + +## Show search status when text filtering is active +## @param search_term: Current search filter text +## @param results_count: Number of messages matching the search +## @param total_count: Total number of messages in buffer +func update_search_status(search_term: String, results_count: int, total_count: int) -> void: + if search_term.is_empty(): + update_message_counts(total_count, results_count) + else: + text = "Search: \"%s\" - %d/%d msgs" % [search_term, results_count, total_count] + +## Show loading/processing status with operation name +## @param operation: Name of the operation being performed +func show_processing_status(operation: String) -> void: + text = "%s..." % operation + +## Reset to ready state +func reset() -> void: + text = "Ready" diff --git a/addons/loggie-console/scripts/components/status_display.gd.uid b/addons/loggie-console/scripts/components/status_display.gd.uid new file mode 100644 index 0000000..c986b31 --- /dev/null +++ b/addons/loggie-console/scripts/components/status_display.gd.uid @@ -0,0 +1 @@ +uid://whrim6lbiako diff --git a/addons/loggie-console/scripts/domain_color_manager.gd b/addons/loggie-console/scripts/domain_color_manager.gd new file mode 100644 index 0000000..2f5b866 --- /dev/null +++ b/addons/loggie-console/scripts/domain_color_manager.gd @@ -0,0 +1,167 @@ +class_name DomainColorManager extends RefCounted + +## Centralized domain color management for LoggieConsole +## Provides consistent color mapping across all console components + +## Domain color mapping information +class DomainColorInfo: + var domain_name: String + var color: Color + var palette_index: int + var cycle_count: int + var is_variation: bool + + func _init(p_domain_name: String, p_color: Color, p_palette_index: int, p_cycle_count: int) -> void: + domain_name = p_domain_name + color = p_color + palette_index = p_palette_index + cycle_count = p_cycle_count + is_variation = p_cycle_count > 0 + +## Color usage statistics and diagnostic information +class ColorUsageInfo: + var total_domains: int + var palette_size: int + var current_cycle: int + var next_color_index: int + var remaining_in_current_cycle: int + var has_color_variations: bool + + func _init(p_total_domains: int, p_palette_size: int, p_current_cycle: int, p_next_color_index: int, p_remaining_in_current_cycle: int, p_has_color_variations: bool) -> void: + total_domains = p_total_domains + palette_size = p_palette_size + current_cycle = p_current_cycle + next_color_index = p_next_color_index + remaining_in_current_cycle = p_remaining_in_current_cycle + has_color_variations = p_has_color_variations + +# Domain color mapping storage +var _domain_colors: Dictionary = {} # String -> DomainColorInfo +var _color_index: int = 0 + +# Predefined color palette for domains +const DOMAIN_COLOR_PALETTE: Array[Color] = [ + Color("#FF6B6B"), # Red + Color("#4ECDC4"), # Teal + Color("#45B7D1"), # Blue + Color("#96CEB4"), # Green + Color("#FECA57"), # Yellow + Color("#FF9FF3"), # Pink + Color("#54A0FF"), # Light Blue + Color("#5F27CD"), # Purple + Color("#00D2D3"), # Cyan + Color("#FF9F43"), # Orange + Color("#10AC84"), # Mint + Color("#EE5A24"), # Dark Orange + Color("#0984E3"), # Royal Blue + Color("#6C5CE7"), # Violet + Color("#A29BFE"), # Light Purple + Color("#FD79A8"), # Rose + Color("#FDCB6E"), # Light Yellow + Color("#6C5CE7"), # Indigo + Color("#00B894"), # Emerald + Color("#E84393") # Magenta +] + + +## Get or assign a color for a domain +func get_domain_color(domain: String) -> Color: + if domain.is_empty(): + return Color.WHITE + + if not _domain_colors.has(domain): + # Assign a new color from the palette with potential variations + var palette_index: int = _color_index % DOMAIN_COLOR_PALETTE.size() + var cycle_count: int = _color_index / DOMAIN_COLOR_PALETTE.size() + + var base_color: Color = DOMAIN_COLOR_PALETTE[palette_index] + var color: Color = _get_color_variation(base_color, cycle_count) + + var new_color_info: DomainColorInfo = DomainColorInfo.new(domain, color, palette_index, cycle_count) + _domain_colors[domain] = new_color_info + _color_index += 1 + + var existing_color_info: DomainColorInfo = _domain_colors[domain] as DomainColorInfo + return existing_color_info.color + +## Get HTML color string for domain (for BBCode) +func get_domain_color_html(domain: String) -> String: + return get_domain_color(domain).to_html(false) + +## Check if domain has assigned color +func has_domain_color(domain: String) -> bool: + return _domain_colors.has(domain) + +## Get domain color information for a specific domain +func get_domain_color_info(domain: String) -> DomainColorInfo: + if not _domain_colors.has(domain): + # Trigger color assignment by calling get_domain_color + get_domain_color(domain) + + return _domain_colors[domain] as DomainColorInfo + +## Get all registered domains with their color information +func get_all_domain_color_infos() -> Array[DomainColorInfo]: + var infos: Array[DomainColorInfo] = [] + for domain_color_info: DomainColorInfo in _domain_colors.values(): + infos.append(domain_color_info) + return infos + +## Get diagnostic information about color usage and cycles +func get_color_usage_info() -> ColorUsageInfo: + var current_cycle: int = _color_index / DOMAIN_COLOR_PALETTE.size() + var remaining_in_cycle: int = DOMAIN_COLOR_PALETTE.size() - (_color_index % DOMAIN_COLOR_PALETTE.size()) + + return ColorUsageInfo.new( + _domain_colors.size(), + DOMAIN_COLOR_PALETTE.size(), + current_cycle, + _color_index % DOMAIN_COLOR_PALETTE.size(), + remaining_in_cycle, + current_cycle > 0 + ) + +## Clear all color assignments (for testing/reset) +func clear_all_colors() -> void: + _domain_colors.clear() + _color_index = 0 + +## Get the color palette for reference +func get_color_palette() -> Array[Color]: + return DOMAIN_COLOR_PALETTE + +## Create color variations for domains beyond the initial palette +## Uses brightness and saturation adjustments to create distinguishable variations +func _get_color_variation(base_color: Color, cycle_count: int) -> Color: + if cycle_count == 0: + # First cycle - use original colors + return base_color + + # Get HSV components directly from Color + var hue: float = base_color.h + var saturation: float = base_color.s + var value: float = base_color.v + + match cycle_count: + 1: + # Second cycle - Increase brightness + value = minf(value * 1.3, 1.0) + 2: + # Third cycle - Decrease saturation (more pastel) + saturation = maxf(saturation * 0.6, 0.3) + 3: + # Fourth cycle - Decrease brightness + value = maxf(value * 0.7, 0.4) + 4: + # Fifth cycle - High saturation, medium brightness + saturation = minf(saturation * 1.2, 1.0) + value = maxf(minf(value * 0.85, 1.0), 0.5) + _: + # Beyond fifth cycle - Use mathematical variations + var brightness_mod: float = 1.0 + (cycle_count % 3) * 0.25 - 0.25 # -0.25, 0, +0.25 + var saturation_mod: float = 1.0 + ((cycle_count + 1) % 3) * 0.2 - 0.2 # -0.2, 0, +0.2 + + value = maxf(minf(value * brightness_mod, 1.0), 0.3) + saturation = maxf(minf(saturation * saturation_mod, 1.0), 0.2) + + return Color.from_hsv(hue, saturation, value) diff --git a/addons/loggie-console/scripts/domain_color_manager.gd.uid b/addons/loggie-console/scripts/domain_color_manager.gd.uid new file mode 100644 index 0000000..76aefc2 --- /dev/null +++ b/addons/loggie-console/scripts/domain_color_manager.gd.uid @@ -0,0 +1 @@ +uid://x0ut5e0gpyu1 diff --git a/addons/loggie-console/scripts/loggie_console_channel.gd b/addons/loggie-console/scripts/loggie_console_channel.gd new file mode 100644 index 0000000..165ed6f --- /dev/null +++ b/addons/loggie-console/scripts/loggie_console_channel.gd @@ -0,0 +1,66 @@ +class_name LoggieConsoleChannel extends LoggieMsgChannel + +## Custom Loggie channel that feeds messages directly to the LoggieConsole +## This channel captures all message metadata (level, type, domain, channels, stack info) +## without requiring string parsing + + +# Reference to the console window that will display messages +var _console_window: LoggieConsole + +func _init() -> void: + ID = "loggie_console" + # Enable all preprocessing steps to get complete information + preprocess_flags = ( + LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS | + LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | + LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + ) + +## Sets the console window that will receive messages from this channel +## @param window: The console window instance, must not be null +func set_console_window(window: LoggieConsole) -> void: + if window == null: + Loggie.msg("Cannot set null console window").domain(LoggieConsoleConstants.DOMAIN).error() + return + _console_window = window + +## Override send method to pass complete message data to console +## @param msg: The Loggie message object containing all metadata +## @param msg_type: The message type enum from Loggie +func send(msg: LoggieMsg, msg_type: LoggieEnums.MsgType) -> void: + if _console_window == null: + Loggie.msg("No console window set, message dropped").domain(LoggieConsoleConstants.DOMAIN).warn() + return + + if msg == null: + Loggie.msg("Received null message").domain(LoggieConsoleConstants.DOMAIN).error() + return + + # Get the preprocessed text (already formatted by Loggie) + var preprocessed_text = msg.last_preprocess_result + + # Determine log level from the message content patterns or message type + var log_level = _determine_log_level(msg, msg_type, preprocessed_text) + + # Send complete message data to console + _console_window.receive_log_message(msg, preprocessed_text, msg_type, log_level) + +## Determine the log level based on message type and content +func _determine_log_level(_msg: LoggieMsg, msg_type: LoggieEnums.MsgType, content: String) -> LoggieEnums.LogLevel: + # Use message type to infer log level + match msg_type: + LoggieEnums.MsgType.ERROR: + return LoggieEnums.LogLevel.ERROR + LoggieEnums.MsgType.WARN: + return LoggieEnums.LogLevel.WARN + LoggieEnums.MsgType.DEBUG: + return LoggieEnums.LogLevel.DEBUG + LoggieEnums.MsgType.INFO: + # For standard messages, check content patterns to determine level + if content.contains("[NOTICE]"): + return LoggieEnums.LogLevel.NOTICE + else: + return LoggieEnums.LogLevel.INFO + _: + return LoggieEnums.LogLevel.INFO diff --git a/addons/loggie-console/scripts/loggie_console_channel.gd.uid b/addons/loggie-console/scripts/loggie_console_channel.gd.uid new file mode 100644 index 0000000..d561040 --- /dev/null +++ b/addons/loggie-console/scripts/loggie_console_channel.gd.uid @@ -0,0 +1 @@ +uid://bcehgenffbmr3 diff --git a/addons/loggie-console/scripts/loggie_console_constants.gd b/addons/loggie-console/scripts/loggie_console_constants.gd new file mode 100644 index 0000000..cea8304 --- /dev/null +++ b/addons/loggie-console/scripts/loggie_console_constants.gd @@ -0,0 +1,9 @@ +class_name LoggieConsoleConstants extends RefCounted + +## Centralized constants for the LoggieConsole addon +## +## Contains all shared constants used across LoggieConsole components to ensure +## consistency and avoid duplication. Use StringName for efficient string operations. + +## Domain for all LoggieConsole logging messages +const DOMAIN: StringName = &"LOGGIE_CONSOLE" diff --git a/addons/loggie-console/scripts/loggie_console_constants.gd.uid b/addons/loggie-console/scripts/loggie_console_constants.gd.uid new file mode 100644 index 0000000..683a374 --- /dev/null +++ b/addons/loggie-console/scripts/loggie_console_constants.gd.uid @@ -0,0 +1 @@ +uid://7iexr4yxwqfg diff --git a/addons/loggie-console/scripts/managers/console_settings_manager.gd b/addons/loggie-console/scripts/managers/console_settings_manager.gd new file mode 100644 index 0000000..95f758e --- /dev/null +++ b/addons/loggie-console/scripts/managers/console_settings_manager.gd @@ -0,0 +1,96 @@ +class_name ConsoleSettingsManager extends RefCounted + +## Manages persistent storage of LoggieConsole settings +## +## Provides robust save/load functionality with automatic backup creation and +## comprehensive error handling. Settings are saved immediately when requested +## (no debouncing) and loaded with fallback to backup file or defaults. + +const LoggieConsoleSettings = preload("res://addons/loggie-console/resources/loggie_console_settings.gd") + +# File paths and configuration +const SETTINGS_PATH = "user://loggie_console_settings.tres" +const BACKUP_PATH = "user://loggie_console_settings_backup.tres" +const SETTINGS_RESOURCE_TYPE = "LoggieConsoleSettings" + +## Loads console settings with comprehensive error handling and fallback chain +## +## Load order: primary file → backup file → create defaults +## All loaded settings are validated and sanitized before returning. +## Returns: A valid LoggieConsoleSettings instance (never null) +func load_settings() -> LoggieConsoleSettings: + var settings: LoggieConsoleSettings = null + + # Attempt to load primary settings file + settings = _try_load_file(SETTINGS_PATH, "main settings") + + # Fall back to backup file if primary failed + if settings == null: + settings = _try_load_file(BACKUP_PATH, "backup settings") + + # Create default settings if both files failed + if settings == null: + Loggie.msg("Creating default console settings").domain(LoggieConsoleConstants.DOMAIN).info() + settings = LoggieConsoleSettings.new() + + # Always validate to ensure data integrity + settings.validate() + + Loggie.msg("Console settings loaded successfully").domain(LoggieConsoleConstants.DOMAIN).debug() + return settings + +## Saves console settings to disk immediately with backup creation +## +## Creates a backup of the existing file before saving, then validates +## the settings and writes them using Godot's ResourceSaver. +## Param settings: The settings to save (must not be null) +## Returns: true if save succeeded, false if it failed +func save_settings(settings: LoggieConsoleSettings) -> bool: + return _save_with_backup(settings) + +## Attempts to load a settings file with error handling +## Param path: File path to load from +## Param description: Human-readable description for logging +## Returns: Loaded settings or null if loading failed +func _try_load_file(path: String, description: String) -> LoggieConsoleSettings: + if not FileAccess.file_exists(path): + Loggie.msg("Settings file not found: %s" % path).domain(LoggieConsoleConstants.DOMAIN).debug() + return null + + var resource: Resource = ResourceLoader.load(path, SETTINGS_RESOURCE_TYPE) + if resource == null: + Loggie.msg("Failed to load %s from: %s" % [description, path]).domain(LoggieConsoleConstants.DOMAIN).warn() + return null + + if not resource is LoggieConsoleSettings: + Loggie.msg("Invalid resource type in %s: %s" % [description, path]).domain(LoggieConsoleConstants.DOMAIN).error() + return null + + Loggie.msg("Loaded %s from: %s" % [description, path]).domain(LoggieConsoleConstants.DOMAIN).debug() + return resource as LoggieConsoleSettings + +## Saves settings with automatic backup creation +## Param settings: The settings to save +## Returns: true if save succeeded, false otherwise +func _save_with_backup(settings: LoggieConsoleSettings) -> bool: + if not settings: + Loggie.msg("Cannot save null settings").domain(LoggieConsoleConstants.DOMAIN).error() + return false + + # Validate settings before saving + settings.validate() + + # Create backup of existing file before overwriting + if FileAccess.file_exists(SETTINGS_PATH): + var dir: DirAccess = DirAccess.open("user://") + if dir: + dir.copy(SETTINGS_PATH, BACKUP_PATH) + + # Save the validated settings + var error: Error = ResourceSaver.save(settings, SETTINGS_PATH) + if error != OK: + Loggie.msg("Failed to save console settings: %s" % error_string(error)).domain(LoggieConsoleConstants.DOMAIN).error() + return false + + Loggie.msg("Console settings saved successfully").domain(LoggieConsoleConstants.DOMAIN).debug() + return true diff --git a/addons/loggie-console/scripts/managers/console_settings_manager.gd.uid b/addons/loggie-console/scripts/managers/console_settings_manager.gd.uid new file mode 100644 index 0000000..32b2998 --- /dev/null +++ b/addons/loggie-console/scripts/managers/console_settings_manager.gd.uid @@ -0,0 +1 @@ +uid://bntgmwyauc4h6 diff --git a/addons/loggie-console/theme_compact.tres b/addons/loggie-console/theme_compact.tres new file mode 100644 index 0000000..4d529ea --- /dev/null +++ b/addons/loggie-console/theme_compact.tres @@ -0,0 +1,141 @@ +[gd_resource type="Theme" format=3 uid="uid://c1lnnysnspc6v"] + +[ext_resource type="StyleBox" uid="uid://dolgdjpxlvt8f" path="res://addons/loggie-console/assets/inner_panel_recess.tres" id="1_nubd1"] +[ext_resource type="Texture2D" uid="uid://bhps6csrl6lef" path="res://addons/loggie-console/assets/close.png" id="1_rapoa"] +[ext_resource type="StyleBox" uid="uid://bpkqcbx15ejak" path="res://addons/loggie-console/assets/outer_panel.tres" id="2_rapoa"] +[ext_resource type="StyleBox" uid="uid://cfafk3ybc15uo" path="res://addons/loggie-console/assets/outer_window_panel.tres" id="3_f200k"] +[ext_resource type="StyleBox" uid="uid://b7k8yo7jfhpue" path="res://addons/loggie-console/assets/inner_panel.tres" id="3_p21dw"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_button_normal"] +content_margin_left = 3.0 +content_margin_top = 1.0 +content_margin_right = 3.0 +content_margin_bottom = 1.0 +bg_color = Color(0.25, 0.25, 0.25, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.4, 0.4, 0.4, 1) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_checkbox_normal"] +bg_color = Color(0.15, 0.15, 0.15, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.4, 0.4, 0.4, 1) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_panel"] +bg_color = Color(0.15, 0.15, 0.15, 0.95) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.3, 0.3, 0.3, 1) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_richtextlabel"] +content_margin_left = 1.0 +content_margin_top = 1.0 +content_margin_right = 1.0 +content_margin_bottom = 1.0 +bg_color = Color(0.1, 0.1, 0.1, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.3, 0.3, 0.3, 1) + +[sub_resource type="SystemFont" id="SystemFont_f200k"] +font_names = PackedStringArray("Monospace") +font_weight = 800 +generate_mipmaps = true +multichannel_signed_distance_field = true + +[resource] +Button/colors/font_color = Color(0.9, 0.9, 0.9, 1) +Button/colors/font_disabled_color = Color(0.5, 0.5, 0.5, 1) +Button/colors/font_hover_color = Color(1, 1, 1, 1) +Button/colors/font_pressed_color = Color(0.8, 0.8, 0.8, 1) +Button/font_sizes/font_size = 11 +Button/styles/disabled = SubResource("StyleBoxFlat_button_normal") +Button/styles/hover = ExtResource("2_rapoa") +Button/styles/normal = ExtResource("2_rapoa") +Button/styles/pressed = ExtResource("1_nubd1") +CheckBox/colors/font_color = Color(0.9, 0.9, 0.9, 1) +CheckBox/colors/font_disabled_color = Color(0.5, 0.5, 0.5, 1) +CheckBox/colors/font_hover_color = Color(1, 1, 1, 1) +CheckBox/colors/font_pressed_color = Color(0.8, 0.8, 0.8, 1) +CheckBox/font_sizes/font_size = 11 +CheckBox/styles/disabled = SubResource("StyleBoxFlat_checkbox_normal") +CheckBox/styles/hover_pressed = ExtResource("2_rapoa") +CheckBox/styles/normal = ExtResource("2_rapoa") +CheckBox/styles/pressed = ExtResource("2_rapoa") +HBoxContainer/constants/separation = 2 +LineEdit/colors/caret_color = Color(1, 1, 1, 1) +LineEdit/colors/clear_button_color = Color(0, 0, 0, 1) +LineEdit/colors/clear_button_color_pressed = Color(0, 0, 0, 1) +LineEdit/colors/font_color = Color(1, 1, 1, 1) +LineEdit/colors/font_outline_color = Color(0, 0, 0, 1) +LineEdit/colors/font_placeholder_color = Color(0.447904, 0.509153, 0.407339, 1) +LineEdit/colors/font_selected_color = Color(0.792157, 0.901961, 0.85098, 1) +LineEdit/colors/font_uneditable_color = Color(0, 0, 0, 1) +LineEdit/colors/selection_color = Color(0.188235, 0.219608, 0.262745, 1) +LineEdit/constants/caret_width = 0 +LineEdit/constants/minimum_character_width = 0 +LineEdit/constants/outline_size = 0 +LineEdit/font_sizes/font_size = 12 +LineEdit/fonts/font = null +LineEdit/icons/clear = null +LineEdit/styles/focus = ExtResource("1_nubd1") +LineEdit/styles/normal = ExtResource("1_nubd1") +LineEdit/styles/read_only = ExtResource("3_p21dw") +MarginContainer/constants/margin_bottom = 1 +MarginContainer/constants/margin_left = 1 +MarginContainer/constants/margin_right = 1 +MarginContainer/constants/margin_top = 1 +MenuButton/colors/font_color = Color(0.9, 0.9, 0.9, 1) +MenuButton/colors/font_disabled_color = Color(0.5, 0.5, 0.5, 1) +MenuButton/colors/font_hover_color = Color(1, 1, 1, 1) +MenuButton/colors/font_pressed_color = Color(0.8, 0.8, 0.8, 1) +MenuButton/font_sizes/font_size = 11 +MenuButton/styles/hover = ExtResource("1_nubd1") +MenuButton/styles/normal = ExtResource("2_rapoa") +MenuButton/styles/pressed = ExtResource("2_rapoa") +OptionButton/colors/font_color = Color(0.9, 0.9, 0.9, 1) +OptionButton/colors/font_disabled_color = Color(0.5, 0.5, 0.5, 1) +OptionButton/colors/font_hover_color = Color(1, 1, 1, 1) +OptionButton/colors/font_pressed_color = Color(0.8, 0.8, 0.8, 1) +OptionButton/font_sizes/font_size = 11 +OptionButton/styles/disabled = ExtResource("3_f200k") +OptionButton/styles/hover = ExtResource("1_nubd1") +OptionButton/styles/normal = ExtResource("1_nubd1") +OptionButton/styles/pressed = ExtResource("1_nubd1") +Panel/styles/panel = SubResource("StyleBoxFlat_panel") +PopupMenu/colors/font_color = Color(0.9, 0.9, 0.9, 1) +PopupMenu/colors/font_hover_color = Color(1, 1, 1, 1) +PopupMenu/colors/font_separator_color = Color(0.5, 0.5, 0.5, 1) +PopupMenu/font_sizes/font_size = 11 +PopupMenu/styles/hover = ExtResource("1_nubd1") +PopupMenu/styles/normal = ExtResource("1_nubd1") +PopupMenu/styles/panel = ExtResource("2_rapoa") +PopupPanel/styles/panel = ExtResource("2_rapoa") +RichTextLabel/colors/default_color = Color(0.9, 0.9, 0.9, 1) +RichTextLabel/colors/selection_color = Color(0.4, 0.6, 0.8, 0.4) +RichTextLabel/font_sizes/bold_font_size = 10 +RichTextLabel/font_sizes/bold_italics_font_size = 10 +RichTextLabel/font_sizes/italics_font_size = 10 +RichTextLabel/font_sizes/mono_font_size = 9 +RichTextLabel/font_sizes/normal_font_size = 10 +RichTextLabel/styles/normal = SubResource("StyleBoxFlat_richtextlabel") +VBoxContainer/constants/separation = 2 +Window/colors/title_color = Color(0.175119, 0.187776, 0.176406, 1) +Window/constants/close_h_offset = 18 +Window/constants/close_v_offset = 20 +Window/constants/title_height = 22 +Window/font_sizes/title_font_size = 16 +Window/fonts/title_font = SubResource("SystemFont_f200k") +Window/icons/close = ExtResource("1_rapoa") +Window/icons/close_pressed = ExtResource("1_rapoa") +Window/styles/embedded_border = ExtResource("3_f200k") +Window/styles/embedded_unfocused_border = ExtResource("3_f200k") diff --git a/addons/loggie/assets/icon.png b/addons/loggie/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..59c10f9939942a75fa72c6a7f2c7c738f127bb39 GIT binary patch literal 16039 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 literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/icon.png.import b/addons/loggie/assets/icon.png.import new file mode 100644 index 0000000..9cad268 --- /dev/null +++ b/addons/loggie/assets/icon.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2fr6et0qni2y" +path="res://.godot/imported/icon.png-57313fc4d67f18c33a83a3388ad36531.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/icon.png" +dest_files=["res://.godot/imported/icon.png-57313fc4d67f18c33a83a3388ad36531.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/addons/loggie/assets/logo.png b/addons/loggie/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d6cde3ff71c1d3abc59db5d228f9008ac83e2c GIT binary patch literal 59538 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 literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/logo.png.import b/addons/loggie/assets/logo.png.import new file mode 100644 index 0000000..2f29861 --- /dev/null +++ b/addons/loggie/assets/logo.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://duuj0ibyreygv" +path="res://.godot/imported/logo.png-2771abf7e361d7f10d5859133bc43562.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/logo.png" +dest_files=["res://.godot/imported/logo.png-2771abf7e361d7f10d5859133bc43562.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/addons/loggie/assets/theme/checkbox/checkbox_checked.png b/addons/loggie/assets/theme/checkbox/checkbox_checked.png new file mode 100644 index 0000000000000000000000000000000000000000..89bee082cc539ba0fe25dfa8dea5beb4505598c5 GIT binary patch literal 5021 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 literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png.import b/addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png.import new file mode 100644 index 0000000..23489cd --- /dev/null +++ b/addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqf5cye21gyw8" +path="res://.godot/imported/checkbox_checked_disabled.png-0752d58bb0616edc7e127ccd992cc02f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png" +dest_files=["res://.godot/imported/checkbox_checked_disabled.png-0752d58bb0616edc7e127ccd992cc02f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/addons/loggie/assets/theme/checkbox/checkbox_unchecked.png b/addons/loggie/assets/theme/checkbox/checkbox_unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..9b96ba7188b497c47123f7372b4160ec15b25b5a GIT binary patch literal 4010 zcmcInc{o)2|5vWArDVC%Vi}{1F#C*Q7?E8DF=XvJGjoQ)EM_Ka=_ay73l&*XJQNDq z>B_GmE>~%}sAw5(N@NXPy80e%-~0TY@Av-hKfm)lXU^wy&g=bpzuwDvKW9?hT4 zv*rmv7zu?#GB6knjAV+!(v67#$LEM`B52f-xCOfPFdOkUIgBMRvEb z`{E4RQQ*NM5uc1kM@B}XBJn7mAP9{$H8n+JaA+J32_cZeXs!r|LUM(=Um0vbAw$6C zi`YCaY?Tq9^A3n8a7gOs7&!cIv|QnrJV6;lM*(~^7KK@j=_`;*{d*{f^9?N&*+xKK zzUcjr#6ns$A4I!@Lf!!Z1GJ3*xgy=K&X|mEw)_KvuuqXP8E7yJj}^M40|QHkZkZ6z*JA^u++Q0Yo4L z4pohS#Nv=xJPiYt3`Zss4KY|U2J;z8g&Khgh=6|v<}ul<=zjvGQpt{7p$OnIKt~%2 z91?|MvzcT717J-7I*7!R01T1<9Y_;A2HG;2Obn4hH^zYYPr4v`8y@4pYWh~~Kld$@ z$ACD#Wrz&m=q3bXh>gi286!a)fq|qmO$kUkjsRkqL}P$ujQz^yDquse4iNTN)>TzZ zh!Mx6V@Y_Bh{O>YEF>NvV2~yNo`D2d7#4<3$1_=YA{@qKkXbwd2Y~v7%>jZyG@ly; zhy7cPH7|@Opz@ed&he|=46#E|IIx9K>7u{9A0A-%msJ=W_NnQ}0Asb+DR9PWkwGT> z%Wd|5$lgEG`I$B{7=%dwrud&>LLN&L2?#)|ASl!SXLF(dn|L7*@%PgIS>gX5rGH5) zBN*TYfzaec!&ierua20{MM3}XdVPBKmvQtJ4$ZjL<+teyZNANCkPA@@py}(@hwX<3 zeUhV%70tWt&Urc7Sx~E^#d0*B-FQ+qIT^llxEuaUNcN55Qd^WMJoQD+TJA;NRL7iS zCoW#e?v^9svs@nL?R2H8aF60fEkJT6yC}VcPMJIWY&ovSbJuBwS3P4F=FEm-TVrod zMSomgc9*tHe-0s(GAER^2 z;>v_Ywf7Ba0}18gEU^aXF`2d4zu4fKeImF^v|N^%+;r^TaNnj9TcWB;U2I$l_#~EeyU<5^`sFj)L65u? zLwg**DcIr!ck*cK)%D{3rhM!n@6hl5usFW%uFEkso

%PI|VE-fHui87BTKGWh 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 ChKZ#B literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png.import b/addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png.import new file mode 100644 index 0000000..7dce3c8 --- /dev/null +++ b/addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cloe7vx2ej0nf" +path="res://.godot/imported/checkbox_unchecked_disabled.png-aa159b17a13862a51b7ba58c26a64745.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png" +dest_files=["res://.godot/imported/checkbox_unchecked_disabled.png-aa159b17a13862a51b7ba58c26a64745.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.LICENSE.txt b/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.LICENSE.txt new file mode 100644 index 0000000..4d859a3 --- /dev/null +++ b/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.LICENSE.txt @@ -0,0 +1,45 @@ +Font: Patrick Hand SC + +Source: https://fonts.google.com/specimen/Patrick+Hand+SC/license + +Designed by Patrick Wagesreiter +License +Copyright (c) 2010-2012 Patrick Wagesreiter (mail@patrickwagesreiter.at) + +This Font Software is licensed under the SIL Open Font License, Version 1.1 . This license is copied below, and is also available with a FAQ at: https://openfontlicense.org + +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + +PREAMBLE + +The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. + +The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. + +DEFINITIONS + +"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the copyright statement(s). +"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. + +"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS + +Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: + + Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. + Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. + No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. + The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. + The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. + +TERMINATION + +This license becomes null and void if any of the above conditions are not met. +DISCLAIMER + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf b/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..49dfe405b2eae0273a030eead2f0aa70b25654dd GIT binary patch literal 152608 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%0D}c+jI)0eRIDrxe8RD)^L~*mz-kW04ea&+^g& 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 SyxwwOSE|NcA$gUFzyAS@VSs4> literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf.import b/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf.import new file mode 100644 index 0000000..9e898ef --- /dev/null +++ b/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf.import @@ -0,0 +1,36 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://btuvtbhws7p8s" +path="res://.godot/imported/PatrickHandSC-Regular.ttf-a768b75713759378d46297f0740f6da5.fontdata" + +[deps] + +source_file="res://addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf" +dest_files=["res://.godot/imported/PatrickHandSC-Regular.ttf-a768b75713759378d46297f0740f6da5.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +modulate_color_glyphs=false +hinting=1 +subpixel_positioning=1 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/addons/loggie/assets/theme/fonts/coffee_soda.LICENSE.txt b/addons/loggie/assets/theme/fonts/coffee_soda.LICENSE.txt new file mode 100644 index 0000000..82a7f91 --- /dev/null +++ b/addons/loggie/assets/theme/fonts/coffee_soda.LICENSE.txt @@ -0,0 +1,30 @@ +Font: Coffee Soda +Source: https://www.creativefabrica.com/product/coffee-soda/ref/53/ + +--------- AUTHOR'S NOTE --------- + +First of All, + +Thank you for download my product. +This product 100% free for personal use & commercial use + +File include : + +1. Coffee Soda.ttf +2. Coffee Soda.otf + +More Info : +khurasantype@gmail.com + +For Donation: +paypal.me/khurasantype + +My OnlineShop: +https://www.creativefabrica.com/ref/53/ + +My Portofolio: +https://www.behance.net/khurasan + +My web: +www.khurasanstudio.com +www.mbkaos.com diff --git a/addons/loggie/assets/theme/fonts/coffee_soda.ttf b/addons/loggie/assets/theme/fonts/coffee_soda.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1d0f9f5b990b626491f6fd2f697e2a9b28400823 GIT binary patch literal 49816 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 Si{GH>f3;74f&BNNF8Dv+$;1c% literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/theme/fonts/coffee_soda.ttf.import b/addons/loggie/assets/theme/fonts/coffee_soda.ttf.import new file mode 100644 index 0000000..c03a977 --- /dev/null +++ b/addons/loggie/assets/theme/fonts/coffee_soda.ttf.import @@ -0,0 +1,36 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://e3rpni7mpu0p" +path="res://.godot/imported/coffee_soda.ttf-1c45a1f5c42cb2ffa335471f7a4924a3.fontdata" + +[deps] + +source_file="res://addons/loggie/assets/theme/fonts/coffee_soda.ttf" +dest_files=["res://.godot/imported/coffee_soda.ttf-1c45a1f5c42cb2ffa335471f7a4924a3.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +modulate_color_glyphs=false +hinting=1 +subpixel_positioning=1 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/addons/loggie/assets/theme/loggie_border_box.tres b/addons/loggie/assets/theme/loggie_border_box.tres new file mode 100644 index 0000000..d108787 --- /dev/null +++ b/addons/loggie/assets/theme/loggie_border_box.tres @@ -0,0 +1,14 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://ckw36egxdynxc"] + +[resource] +draw_center = false +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.71, 0.52114, 0.1704, 0.772549) +border_blend = true +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 diff --git a/addons/loggie/assets/theme/loggie_theme.tres b/addons/loggie/assets/theme/loggie_theme.tres new file mode 100644 index 0000000..eb3767b --- /dev/null +++ b/addons/loggie/assets/theme/loggie_theme.tres @@ -0,0 +1,95 @@ +[gd_resource type="Theme" load_steps=10 format=3 uid="uid://bntkg3oi4b314"] + +[ext_resource type="FontFile" uid="uid://btuvtbhws7p8s" path="res://addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf" id="1_ucfms"] +[ext_resource type="Texture2D" uid="uid://bfnp2a0sbhi2x" path="res://addons/loggie/assets/theme/checkbox/checkbox_checked.png" id="2_tqabx"] +[ext_resource type="Texture2D" uid="uid://dqf5cye21gyw8" path="res://addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png" id="3_plx1a"] +[ext_resource type="Texture2D" uid="uid://bib1lwikra5kr" path="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked.png" id="4_yp55b"] +[ext_resource type="Texture2D" uid="uid://cloe7vx2ej0nf" path="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png" id="5_0424s"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gb03k"] +bg_color = Color(0.349691, 0.30101, 0.201282, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.361244, 0.323458, 0.213348, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 +anti_aliasing_size = 0.537 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_73pt3"] +bg_color = Color(0.767332, 0.598222, 0.330864, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.943861, 0.775452, 0.522251, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 +anti_aliasing_size = 0.537 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xxk7l"] +bg_color = Color(0.661808, 0.507874, 0.261375, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.83, 0.629555, 0.3071, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 +anti_aliasing_size = 0.537 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i1fiu"] +bg_color = Color(0.6, 0.4574, 0.228, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.83, 0.629555, 0.3071, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 +anti_aliasing_size = 0.537 + +[resource] +Button/constants/outline_size = 6 +Button/font_sizes/font_size = 30 +Button/fonts/font = ExtResource("1_ucfms") +Button/styles/disabled = SubResource("StyleBoxFlat_gb03k") +Button/styles/focus = SubResource("StyleBoxFlat_73pt3") +Button/styles/hover = SubResource("StyleBoxFlat_xxk7l") +Button/styles/normal = SubResource("StyleBoxFlat_i1fiu") +CheckBox/icons/checked = ExtResource("2_tqabx") +CheckBox/icons/checked_disabled = ExtResource("3_plx1a") +CheckBox/icons/radio_checked = ExtResource("2_tqabx") +CheckBox/icons/radio_checked_disabled = ExtResource("3_plx1a") +CheckBox/icons/radio_unchecked = ExtResource("4_yp55b") +CheckBox/icons/radio_unchecked_disabled = ExtResource("5_0424s") +CheckBox/icons/unchecked = ExtResource("4_yp55b") +CheckBox/icons/unchecked_disabled = ExtResource("5_0424s") +Label/colors/font_color = Color(0.980392, 0.843137, 0.619608, 1) +Label/constants/outline_size = 3 +Label/font_sizes/font_size = 21 diff --git a/addons/loggie/assets/updater_bg.png b/addons/loggie/assets/updater_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..26d48d1a08db3a125c2817e165fa8ed3dab96008 GIT binary patch literal 701492 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

~*j(&{a|U3)`jt1o{Ng(we{%Hb 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 vuS+ltl-`ve@%vqG6y|d3@eFecQHrHh{gt%8z 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 (2-_ZMMS z66Pc#DNC|p&|l{Qbt{)!Dy{Lcq_P`CPSpfc0FCwLb9OJxi_7awfB*UC zpX`6!zWet5yNC0~FYjM3#SE)e`>ZS}=bV^1%PB9CYVMI$i4}W7-*w&IF4wZIm$yxo z9v{xa{OezRmvj33<@vI0!Xi!4S;v|NZ3%Ly^{P!1^fAze8#-rUX$O)BOY%dqPM6%T z3a!qtsv_+jy ziI#BwXf^&Kvhw`tk4E~t@82)y2c}aJxJRY8I2@m~k?`Y`kN(Nd4FZ=7wr9}V%twYw z5j>T5GG|y>7_0SJktbCL{S@zDGux?!+Go4uz#lJb<5j2g6&M+TWn;OLlxl_Gp^>SL zv7AFqB9MO5u)_PndrkNCDXLoK^;Tq`g2;-)Z7V6!H zBgM=&rd;>Hb<6|C8D_slO$ir2M=5B(JS}&Edm`Rp;v4%+ZkZz^xrRxEIpt(UT%5!M zTWp?duI)fYIqLS>;;MS?SXF^{?-ZKt2Kt}{Bc!v5Pr1z%+sEJ-x5AZ5R9(@>Q?b)U zFh%YRBDr=qMhMw?H8|Y*(DxR~fy1!B{bp@Xkha=D8p^>pyJX(Axv|wgHm;aoJjbzb z^>7=ng?BOTk+#&-R=AB|0HN2N%C8-6aO|ayt=&Bh!_mX)*sB}?1U`fVPPSmTQakSO z$Hs@Y_oCgiT7p?nj33yuneG8W0q=#(;)E!RI3#$?mpV=vLYH+DX$dZiNB$1)ctza9 zm8u0`P)6RmfVQ6)HHv9#MhuhLr)$8p9W#FRTHiDVsi{7v^&D!S(NXJgFr5L-XZF2Z z^Scr6K}e=^ILTdH!px{ipP^z>gesKzw}gF!=o=|4hhv(dF*;Tw=0w>yi=?WyztIAGlv9 z-@-sJ8e``D?#_gqQfhm1;*`=j3sS3ZjFEZDUaA_&Q2iUv28nTe<|8~;YhaQmd)Rj5 zWvgmYEye}7thyEhbCMeAyFcCC%Z50KY+I@GAekZ^!y_e3+%!vYLP(RVQpho4SBg`! z5u-sAX&Hq~YNiU=X^ljRSt2T1NlDJ<6A`ItVgXT3ay~CFZv?XQ>3lvdpPrvZngVs8IcG5lp6khT*v7$wH#km#CdMlt^13Iyh6;6p^}T(VRNDtJE=vaF1+tnH!QQBZzcNe7(jxcmy~61kxP< zL-VG%&1j;11_jf-Lhu$pg^6zVesu6}nHuc$C@!p%dgy%YLc@m)B4qG?jD#_fu?B^@ohoe24!l$9` z+y^2Oa3V^C4c)$$&=Q5M^%llpG#xOv|^NzngqFmXH`N>k%Ajw>d_&X*4_gKwGqYMo$s0V0|<~cJW-Bh>H5u( z&!1kmt%>b}$Vm;n8TKjavbC{}``Ha;2swL;Qb^ZRkZ{ELqdb_NW(z>o+ zKD}8fHBYHKsW7F)&#$k-l0?p@<@I_c(8n*&08aVz!_ObrZGC>ZK0JQ9yln<%maV9o zsYk!J_EkhSEz-zCpI=_K_4=#tzRf9RNlLnwZC$t1X*uPkY~28>5t{ChHkn|iE##bO z%rG1N0ZWN93qf0GII|=o;|dG7p$t5_j_a%K^d&OlES!XG-aNgzorNVFS-xW(Myd?6 z5sH~XjA#R0ikWNvg|+f#LOy!PWeD{T3lW5e-&TX@AuK5qv=*F31SCm~Lr@35l2U4R za2yV6!pPX2JW09dOVlkZ=cPJ5sxb&kn<^2dl%F0RegG2F)6?Txwrwl#pB`A``Q^nU zBhUi*DA2f@eR|O14TOQ7Ftp<4mD+m#dz)h}p z=Um`0`|#n4*N%yAD@`(Y6~ z7~$})A-CQIHL1xlSnytdBL5d>f7&ETl4J>D%q*g6<{lB5Sy@@t-7^d9(k=!BfC%{i z{{sXf0JJ+;>`w1=S6Af`;fI;3Fh6`?IapN9vzn09hljhlxtbm#%#YtO@9XJwtX-+n zzi@6kVA_)2X+8`JqYs* z!pZEaUpi}MzeYs9b@g=$rcQxCy%D4rd?5SV-+sRDJB5gG-;I3ll4_q~!?zD)=3*5q zrIbeqEOUW*m6*G>dj;Pj!T>VGpuQsj+wJSsGbT=r|R_%%p=-V}vYS z?hsI(4%;>7vBuRt5pLh8?a+Y1aG9g!b{QC73gr}z`5q`VB zKP|~>o7aQVhVN=u3A;@;0SZrM5@O%bDI#+7K4L^_<@U?B_wT=4m+L3JnJSpEsqSVo zxtfEV5);~mUT8vKvfW@Cvk|2cK!Jh#%&-Y2*CUQ9?Bfj_{K>#U!ce6yPJ&14s#`Xs z))9vlkeSCW*9En(+<=Xl{TY^K%;irVk0C^7jrehLw1`4O;=@7~D83KaI^o&lX0bE; zNeD;ut4Bn(#)fIqLx6auISfFMmz0w`n-ep!g}hvx9ZGNvgldgeqnG2swiEdUd>qSQ zc+VO}7%mM=>SWa$G3oJSn?)y=Xpk5HYi1EqQ}82V2|w`c`LOEaXc|*bO!uP@t`@pZ zl&X_<9#uev+>I%jMO?p4dSTUT*cqhoSqE}vGex16jHm{d)_X+<>&Qez2X2mHZv>{k zyF>7_1q`Q!>L+4#Z(&SUp`-t4AH-U`p4I!YX(T>S++rdi4d8Zur4ZS$aubjGA)FkI z>#U=Vwa0)Z8qtDsVz6fHie-=fYlKvh`y6KUW zy!Qz@H;~f2V$N=@LuwKljM(VM7d#$({BBtFb@W zHiSIX=AKohpoGNSct_3hB_z{v5T2fM$ES%_N3 zecx0IM=N4rU6xPZKQqh!{LlaL*T4O;?Iq=$sz>hR>n3f9OOh_@stQvjkQr}#`Qy5H z*=puUR|0J!Akv(r5}>&G^cae1PN~XWK(=dhn@37=U6+)SeNso|b>EkD0Taxm)-J&= z5M#u^%@W;Zu2wIpPi#g8P`h;WDk#r>EwrZ(0UL9%=+Xd!!CT1?#>?}2h51v%5t&zmzq^GL*s52@%$n-IR zU$YfPhfe6|l*lK*bo|L&hhQ+DBw!%o=w@5e;+Z6IV;Pc2Ei3w@%&)kyu&FRZB&P&Z zT5{b8Vdz8uVDJ?*M)12Tj>-C&cA4G8FPjY1XjB7ZPwoWV;F63n2A@L@(TW@9!+`SC z`ylYqd)Zwrr_r1`h9mw-hg|toM~?eRBQnM7xZ`1!dQ;tG09Z@P6z;N|V^zwJB}*Su z^-d&F8Wk`kp6`EODSwg`O@B*|!;nD?!^esa3Z*$t*@D6!7!Z9-F2ZSS!t+0m@5ZDA zrVlwg2hu2NXkb7vxO0uzqKJGhb~%Xqi74^7XK+e6ocS0JWL*!t=nv+He|MbHRjk8Q z(q?O?=0N?xe-@A4&1&2MI|0uO*WvMf4N?=XT;=uOF6&2zU@U* zlIQ0qGzSrQ{Tm>K9^33|yvJN|7(`Ww4%GlZiNH*fu#f?2ND?`@0|}A_A^P5GR!OA7 z_5pewhacRtTdAx3xvIqg3J)~FQ+nKQOFe8&-Bzxq9uTKOtYA)@Bqf&I@&_fDaK;L2 ziXV2P+IlzEI`boW9fptd%-iM09BzRDXFoDDG8w3wz0BDIz(I-H*=RzPQ)ZUxMvVvb zfZDDH2{<41>mQlj9EtM7Lb)p*gFjbbFGVsq0v)3x0*sUP7c*tN>wl`L8ODm%IF@_@ zx29Nf8nzHYLi0g6#9h~cSld}Wc5ru!X)256gisj^Hb_}s&WkXckXhp7AS4q3$^e73 zcn&EEYLlE0s;S1u#!$3}$UyYSCyUiaXCg9B@M5#Kv-k|vRk&{$LwE{0E(BvbfXO^9 zI#AF6P=iWnfbM|W7@#%II)}`20#_5mF`J(S*4&)QB8RTU)j?wj;&dt~YQN@^-ygVf{->RkB;cuDKZN~pa2ShYTFh&FgxVv*qBy2p@&`6nb{u{1P#lJ} zS%|cjSrsUm&Cy+4-d9SFytS&(1zC;hWOvrHE()oob~PjAsx zK99kp(a`TGkxo*>-fXgY`qF$`;DGILPd$ppxn>5>?QUVW(RCMWoxI8wJ?|#>Mu4L~ zBc|B2?l-1DB>^9c5JS(-uCjo-fBCQ2WI^%u>({s2-Lt4GdEFpVt+hZ@RNcJ0#{<@v zp_b^~y3SxrPJjO6kFT%q|LZ^h*Cj94b$Q=*W?mLqmvvoNV$LabajP(^>aX8^TPd$= z{^7e%mnHw>pMES_F01^*AAc}FvER4-kAL{#)6-Ka`tttn4M71e>$>KgB)RlJgi}f` zq$qpI3qLFEMWOU`>yU#__u&)A4upr)Tkj7j$KQ-u{x z6|3+yFN{42OHIw>?%>V{Q+u9n4o~M0>3Oy6aamS*!!Q`l31wsEXp?(L*ZY~7X@wK_ zqPM+}EbdO^{aJy+G%%W+u0TD!*wCQ^9#1&4NQjPSX5y4Q3|P66(JRteg-Xm?N+t4} zi3hDXU*6|B(nT_8zA^AAi#zPH(Cv0}ckEJ%Q$b28k{Be{%Y~WW-rtGvbXf^_eY-tf zRwDKQ5SLiAPOZb4etM0WvZRzR&DpLQaNCJkWkga4JGAJw=gcW3+bBsU$;<+c!^V+1*rYKJGo>2u$Wx}x4nFXc90F7CR0nz-z}Gfw1I@J{ zM*&5xU@@OhwE}16$6#;Ny;L20h;uzr;ra+Gs&}&| zJ37H?@HIzG;5*&q$=ir`%*+Pkn%&f0;h2e&E6U6gXXhn0wIs|)xHGpKB*TM#Xl>Jq z6;*f*!owxhh}4R|0>0}VG2wN0R^H~7E4+0s&s>?IPdJt8#1_Ov5+&CAk z;a27`*5D}=LWu+s8O6V6w!kgtv1j46uQ7w0^<_dl<|JHWIwaI*I@1-cEtZ4!1Cm1x z{U{&(VMYf|vaditJH#Sj9#5Z!c~L2Us;X_ul$!=Dm>Ad(I*NxQpx>jMK0<3E%*J@M z9)}imv>an1%s3ciAI~%&(XWG#79WpfRuCN9v;K=gl#IzujVH}(?53ojaGneXX*M@= z*_I=_MaBtn5ePg=&r^^arBi36_`%vFe*CV;|2soDOhnoa=@=|J)J2Wk!x+Ky^XX5D z@q~9x&QDG!6+W;uP0y1;>J~uZr_}jiZMlmVh=tkALM<@TqqwDB_Q~qM{mWl&_l=nq zU_-!0`+Z^t?%L(SDVUvIJQn)D`KLes>tBEV?b{1LImwsLpT1AB@3yQGj`oQtJaK& zoqokg^uFJ>eOoV!sxtAqtb5VhRxV4vEGw*r!FjYc_2}3Ms2EF(LCxnFG_wU^TK4tR zl^Me9aurVtL1pv1i-rVd3^z0kYQ$0_LaYiDgZ~KvgfdJWqJIrIz&8FUSkD$AdAr~4 z#qyH99$s<=s1)tHw>0gE*B;Vl9NaaN6!NsYn%wJhSQ1y(NLW!S%Zi9|s(&C!l9Wci zSS^sH4)SrZ{wI+nM3yMA+-=X2Qj+_zH)Mzm|h|p&_@?&Ci?N1vI%YleqsMNcK*ryy;I}KBF{K3o3 zMnv&KrJ8zh4~FquXG+RoiMb*iyD3b}k$736M5y|_HtXJMC(JSX!)J5EGex+fkcQ4+ z9GhLxV^PRQXvm{~T1k@oBH5Ja!45SDJUR_Cl%0rnASczsT#xW0ThvD+k!lKRlMQdL zkaZF7 z9xEmp701=Ub6O-1?>^SJ?A34ppWY@N&M!@69G{?k$x1i_N zlRB9{2A5;2!5;+Y;k1%kyqCZy5)oo^G6GOrZ-@CgqDO=-1h^#5B^Zwe+z3J#<`YP8 zaK4yQ!|foId8E}sH2k8FB@jx?gT2)OF~bA-7fzPZP1C}}hZdz4p~I)G^qV1K|1ESN z5GEdT+IWnL=V^q&nAE|hX7%8SQ8L->qer&|-+EL71_x6?Jv`ke$+)XosV0-b!nnQV z5g;xtLw7_cO<+9fg4uJmMJJfK34sxjDpEztDia}m-GB^L$r~`wV{_y>eFK@SB zzrOtGk3T#EKmGWJ|M*XTetUcW?d6?Wg3=Zp66=nzlEjPwQdMIuWm}d^Fs3Evysjx{ zVU{H?mlZJVR$6w3?7J1EWnGB5D2OZ>@0$`>NR}m=;pO%1{kADg_wsyQzrMVE`TU7U zOozVJlVq$)6voPGMy6Gw(-xw-ADEdit&5421gW{WOf6fn&2;MR&VuSGVIViL^&uEI z7}oR%;&zL-JtH{nxcmbg90JBO0)}uZ#P8dVl!-`7aSuv>q`BgC0~;SZ)*(>~EuN4a z9wH+nlRBq_8P;XlORWZdie;ppb8lY5QZ+22BR$=kXBB?)yo?EPqwakt2 z=%IkH0tK`rVqO+XIpw7fP`6UF>zF;~dlV8pc)(SeS%HmQifwO{C^XU~3zAwC6E{Du`HX9z7{}9BAJRjD^@Z5$#M$%#v9A5^=NkuT3)t zY86$48dXHjjPBUM%;&YKH&z@1*kRFO4Z&2kE@T?^89}t%?71Ew#&P|gEQ#w~;;cAB z&Rhj(wRpn-Z47kwm2LbQ{}r2(1mhq+(i(zBhkN39sA24cx%MzP4uQVFWUo4?{>_ax zY-u6I?`XK~J~wtqK|2l3s*IbbAdNGmJOcFEtRoJK8=%qC=zwl6W}Y1GKHMXvgL)S$ zKJT#hyVW;DgitP*x&?SH=ilC1F>4`){Ep|PUvJPfezas@XzYHIcmmVg} z;9x58VLs^Z>CW-@{_gQR_%IJX!tgYKEJtr8I!ru1P@x=Vru^t=`GXff{L~LCYD_}1 z(|Bb9@uoHd^nolUwt%(RL7i`mkByLN+!8tY__rQ}9EDrKxg0Vd5N3f{psYk%^t5I^ zICa3e?>IOnKQcXXev+9QJG#hLdylhGubGH&@bC!W8F~(2jSfsB8PK%lc<6Y|;Xq@y zpb)*k-fmlA=3+sD$yHQpaB!1*Tq1^kIc&HNl%({2yMKLo{qcwI{%`-M|MXw}<=^&F z_OcsM5_i0jZoTN;1yz$#Cg%6sy_E87*UKuV1Sh0Q&S_1YnKD!Q{OSAc*WaKHLFU9r zBJ8Lti$Gcw8LR4j)5~%tlV5**D_UOO-rnBdlZY+r^|}__FV|&P-HKM%^_Cw)2=rGo z>1Q5D!$#9zW~Jl zV_BAUSt_m2>;aq}WWmC`O*ZXa4ePsH{I`sb)1qW9_^5Zr~t`4iX5rvm78`P?&uDi z+N7RoCk4sfT^mnZd=SAb;N%0?l>Dyneblsg}koLS(0*S<6w~W{1!N4^D7QI-`8>c%4!pAH zsmj8sb$=4ko|zcaB^($-*s1KpgLSp8ghDjrhCC@8Lb&H7D&UEdG3qhk_cZAAh;gJx zVm&v#=CSdx5AJe1#onE=`KJEFr>aInMD}6RGV`(?lh!`yi|~=84?(5#@K=IT;_s^S z@qt1HA8QIDYy|%Bv+xJ%j>D{pXYEbwC5}QM{!pPl{j|22qWzBngj!K5 z8JU+t)WZWD8o=NsR1SdxR>!kw(9eg$J{)ht#`~Nc$fw(HTA5E_m(`xa ztrS{vN+P%Wec$=@?F|4S{q^Uc@7wn4*W1%|{q^h1%gf8{uCFiq%j^By+s#yo*oixp z>LhGLNm9S(g-plRn#(=sft?sI%NyOt92bhZHdd#da zg?ip|BNsVy73(6OpO!TxF=9ZHFe5e6l>0(W?l*09w;EN?)_79XLEKQjbgD*JhpSkK zj@)WCGxf8Y@^1X{cE2lKSQMmY)ZoQx>Des68f{iEn3c5w65%AGXhJF$H!PBrmeOFx z#vFnnr{t>loT|_MUJObQGA(4e_A%iWg&{&Xjf&>PLP+AOzDUBvOHMg+G3=(h?kNcq zpF5?_WC(6VkWX2+i5)n)xE)QjCN+6#fbrq4XSCxlJ zZR3-0V8O$%50?;Jk!zx6r^PCUa3nFaB>&iHSyT(5bOngCl-8z1<(Y&RyJ#>mjuiU? z8Qyp4HqdNMc4Yz_ZY!QltNLVM@WKOm36YNfQOWxVp^sWAJ2?1qa2$$43moKM6Xk{< zIWIlnBYkjB>c6AYpbxa{@$nF~EZ{`6ZE}oRu`|0|9F~Q# zfa4gW!b2DXSH2$R60M_9M->mvLv0({?lQ8>nWrB;$lfk>ju}H^oK~N zs!*C?k_Z!c-)-A$-!&)O_pE~eJ+FWI@%tp}l5^3rE?Gp>tSO;oFS{BQGb?tx-AFgn@^roACBvYw zB_*;__VnqJ7Xg4olt8IjYK<)3PAK502zQ4i^mMgOeZ;6Ns|}QP)}loeiKC^a8A>Z& zis8PO-(KG+_+xbM|REqPmzM2jR-wPHn03AC5;e7$PXy_D!;S;|hJlv7S( zz{}g~w(raGxu}&=kZ`ip3G$0+tesaMAbWjy(Z!Njr3mm%z{IlU$FZ8JELi*lE}164{dt%s5(s2ngtsfhDV}N zPh7!J-T+FZ%qA>8W9mRp#Lt-{|2bqBGG?w3^|VcNOJ_dQ3{DxolSv3pRxdo!U%aWF zN70xdvr$%6Q#lB8PN^E`wzgpOUwt%=!$uK2S{vFQAmq>+9fUZ|A`daZD&$f(GW_F2 zD4u=NjzUoc*+~eY4T*$x+`(-!!%@@D5B)j$SZ$ofi3dC+H_lI=6?hA5mE3ul&|!3x zZWI_XwYFb&S`>+JvZSJtb1uFu329ORk&tPp5;cA&4~MayylQRE4W`4bI!6lvVW*zC+R0u#Gn+0C%`zot#ix8yOQFo1cU^k+%h6au?e+ z54*~)Ryyc6Mze>RS9jJ0;qOfzsClr;fg58V2O;*x_TxDKewU|o2E6SQSvVpH`9qS@ zzpF)I(1RX;wfC+KaEY;2;)m3R$dL~wEl~t>+w=R!V{>0X2i2HAGLFHwERG60g==Nb zERWQ(!`SnYIP9QZYwa^vSJ2aR*>_gqzmxMw9}Gi&e=;-tU(tZVbB`rVhD6lD1nPJ~ zh*XJF1twflspf8rl$?f0J=s8r>v%*$qOHTW%8&cWwoVJ;QZ%J9*W^|nQWPSFL&3%& z?zd&>FrjCL4j0o&kXyYv2?8?|a6WECgD7Q2Aqd>pt42(!Jq7|GHqeu9rx=Jg@s(|P zs$c*1+qd`k9nDxFy2+6TS#!M*UfuTR%-pt!-0sGN1+f3{k3ann|LuSLpZ>r9{B(Kx z+poX;%U}NbcDsN7_Gw+R291P_$bkxf8L;m=h|EYNGt*YQuV7|gQf3liA#h5mps>_H zJFi(KNlqzM8z^{O$LsAzOeyj8x_UH4m*hegXG|lLy3X{gsWXVIp~uPumaS|#OUldhbuEgVgp#al za(LP*M=hl!BrJ|z8xhfx78WR$CCR$1&(G_Um%L;aUe{H8Y*p<2zN+1yp4OD=N&^xt zrlvWAh>DiPVo-t!vzB5>ifUsSfQ5+|s%mwu&61cYB@mE_*JY8+i8-;Pl=gj-W*e}V zqLMD_@^rlbR-7RB+_A7g{oQgH43Gawdq;a!FV(cb1FOEzO5DtR>sluDuj}CbW^70VW@g+-W3q^ zU6Bk)ZTj2&AiShD&;6`+W2i2JZGkd^F&PO_Y8f33ACo3gH6f1$;hv3+*hZZcC)KKr zr``gQoE0C{=Q$d0)la3 zI-S_#A65XELRIEHH#g0sM3pvXEk8BCE!VtNp;_e}j2hAXOsT8ZMHnVh9W~iRDT#qH zk&;qDOJN?=$!4M}ZV_oA=hai=gMneQcN_WeL9_4E%^^27&vs`?Oi7Z6IF||FB*{1d zI*Ypr;-rIPx5!ibemvEu=&`E(YVxE`Dw%WuUT7kOXZnkjD7CER;uCP51Rj0dq``Cl z@I{B&w0%?CpnzNNaVR309t2O|BiRF{Aqj;D(j!%ojxT$t!JuP)!rXwJrfn3m{G$C` z9oC`s!{L<=pOSL=Y&xg%9a@Xu(b7a{pohdi=JUAFnfRkOJW~AoMV}43^kioxr)fsB zL?@fi`k_V$1OfB%oS+kM+hN^)7UJA3(*)K$|@9%FfFG9F&*+6^! zZ?k>-wC25FB}zGoIq1#R>^PQzXA=&grKgzP~K#yU))*egA#VxV^vs`KKSgzTJx9 z)AQ%&%jegZm#;5x@3-4t%J-i?fvjjr?yA*oEl>E6gV7=^i3^B`b!_rVL{Mu68PZT1 z2Xmxjqn)Zm%nAy$G0+EkLau4e(AyhrTbA~KOJ`tJyjR*d6b;33!&pLe!o*yz1TAS3 zB{$wrsE}I~Y^^V{Y7z)oMe2N_(PiSsqAbKLEJ7)XR7r;nv`3N~6S|!l>v6TT=U=D;Vyyg@#*C;p>b=`$UAKm63&<7Q0 zpJ^Nik13DK)yBV@zpd-J0Xv#R;S>=V_J!8YgrM;_tY}>2@uL7=*8VU;%-()XikH*I z#*Y;l(+Q%f>u4mTo{B)N=5Ab1?ro5PQhO?x8PP1k;XPt)A1E=y+pLUY-V@ecr!dljYtktXnUx)S{2-_S+7!%XQiMvdX;KkyV%a;O=4qfrf`(yY znC7D+!5vjS8&C(!EKIt8jyArB>WmTRXf+wCC8ls>{enWc*FnR8sh;j_i8FnjE{s-L z8YaF_G{)_3oc%w<0IDltK2CUguz4$(P9=W(5V7|z7W8_f})M|lGd)FZCP z%##}WY*xmYRxAGZLHnS`!528x!XLL2(^RKTy?ExW+05Ot@ZJ*o5N-0LgO@9R+%DL^ zFHy*&8J9OFdV zpN{&Sj{*~;TBVuA9(xZUYTO>*5_S@qBMxdYB{^23JxUbH{LZARqm~$9J0>RR(NvSt zCP;N3-n9m0_h*8*y!Br6>(^h+0{sH$V`k47app4F5EoQ~8xS+8A+dzaW?fZZ8k3X#o zzr4QvhkyL>^V3txoSA<5@ykE{=_ktRzAHdlbXUtcrIb5jB}9_=_3ifbw0{5jGZC%% z^1j^wJU?C6lz#d3+xzYE+qV}2{p<4E`)w<`qE|u|%}tGoiWz|S+uQ#BE<)>N0kLZF z-8m(8x?sw}!|4seQjf^R+06v8;?!sYL}aAGj>S^jr=ohk12e&V@(_ zJXOpSz2_h|?Q6!!C~0F1Yx`xTQT2SY%JSsy`-$p*!Ua+&kw|KBi9;ud-@HdRLnq9NCvcEXvxkh9{s>W0r*@A z07t|Z(<5=<1NA!)#tP3=XMpu7|~5O6pUWbp}WdegY!mm>IxoGG9s2@C7C2aAkIce zJ!*^VfQ2JZ1qb_5(4(Y?6WMK&Xa_?#FVl@?^4OR`5&|(idiw@+e@fO1hZ}(ZN344N zUD&?=NSiFd9)2)P`47zJgvy6KdYJI>i?v2S1=+61Rcj{2FHS7d>)HhXq){DK1^j~_wtF^zHj%I|Az z@Sp*UJWd0B?3INBbF5m`96&m&_G`P#~T* zpMLuBhwnbWzHgvGAm0cOf9>yp-WDMf`WEx84F+g|kTc3Ur(`>q7q_V@Sq+p=E1|8)KNm*3vrZcAR? zZ`+@K{BcQn6SLHl@5sdce3UEGrfwNkbzL1U!IcNDOe9Hil2nKMEF?xoM9FQzB6V5V z;0%?P`%Tid8H^+0;z2&?!NDNrKv<=T7!ip7_VV`2*SD=`F}mHiuiswYZg(Qvciqj( zZaJ+G=>R=Tq87rCQ!Yh+`|Vd#l_by4pL3GP&hP-JxBL6;_GS<>dAsdu#F7&yB2q0L z(jiQG-+%r2n+RR6m-VvLpy}2j8*JZ8DJ999pNjjo117>bXVr4Q+t+WeOM1E8_kaGc ze_it;>GJLMmQp4mk8KgA_xD@QIf<0L7)&IYdO+XW+%=~EL+BcWztvw^qT~64vs2UX0v-ggX737EHQ22s1^AF}78*x(C$(v! zJgMj=a2OBfPP6q%_fQ}v%0A?=9ve4Qh|{~ZmZRJIcN^7Cx@8`Dd12HvxU!K=ANd8C zUL9|%qka33jnx7j)2ss%ZrkWU;4XW_T*EwItxX`-BLY0aeSlbe_GpnjT^2qC$ukR+ znNP4M%EYmH07-iT=4ooxR%Sm%ZrB~$%Vwd`2xx$}2T}NPk^t2cX`{rUII==%ZUWXB zX-on$aK+|~h>e5VpGP&1VLFXgu?hypFV%jU`9ar#ZlY{8#)*fqLCdvLnQ_Gu|kbk*_wqiQ4$Seq7| zr;&IER^nVMrtHF>5+br@pXiQ?+Nrl~PtXt{#z&%;GwABQCpDjYa1kaUK1OriO%8Fy z;)Do7C?g=*4NSUk6$`PF4e{29EF7+77MZ^@w&&y*&)0$xR4FYz@&P`Hbv^6cV+4Rg zrru+m3*%^t)$f;Sm9VKVRU)FFfBx(HZS$K!SbUYNG;5gO+)20;D8MGt7;5Id!Mc{B zTe+>vW!uZwZ?B&}Jw0F7%VqiB|2O~e)Av8D*X7sWzCAx(uh$ERU*0ySKDX-(Gu-a` zlG9~fitc8-FtrXuHGnu$<&|sdhAwnk1@Vb*>zKK9difKwKBfZ}?CRWvN zFRx~5T7LWbEhpAewtZjMY(Uwq8K-u@s_C_B^agyY!!2{e%tt@SDXo$&IbWB=sw2^e zNQ-uR1mT!A!yZZ32HfbLms?1&yVoDLVTQRr)^6h~(?nmoHyF@!x*?`L~zv zKYx0AyT88OMat9D1*SR4>+KHM<#NqAZF@2E-!t>uMUH-YRrhR2Ij`%bEmNj#o+o@Krs5j4`)~ z%$c^GPJDaj!04U2!ejEqiLwM7%Z#ewBus05U1OW)8En`B4Q5VFN&h{~>|ltVGRSy3 zi#5rS8wsNQxf~ein0mf;)Kw1VrOE%tB2KVzwUQX7wFPO+y_lH3l1yvsIIPODZXc&o)H4;5c*RpjxPB$*WSC zcs_j!I2AW|gg^GMjwZM9I$pu4THZ~pCuw(*Vd^~|V#q?#=eIowJpF0CuV# z_WN*rBS^W^F@&geABT!7dvQRh?vmtA-)gav7<9H?^eK~sk6jnR6HWLboh;6xEwZ2K zn8k^xcgO5BPJxNUh@u@nu5E# zCZCc!F~C5rHHpAy>0FWg~;-b0kj-ATi z>}|ZC7NJkq3kd;sSr^Zv1kqmfdR+)GHA(6DaxG@64s*iH_jOYxaf$GN**%%jgoRV~ zWH+=4!$^m0$s;a$;MC5!hQ&jP2*p&bQHL^o>$5T7Jdh@gsO)*2^HfF0E=+DivHMe2c4OH&N!Ja zwu;dv3I9a)>7GhM#@33MDQ$#@#}z)NK0mTsqA7qP)UEsg$0v{ot&-$X*~20D&wLpN znpHBa+ZQ$2R;SR^(AC74C+TO1uo=6tO{R;}O>o2$dp0(X1s7MwT;=L=G(qW3(sZP$ zAg0EIdab8L)gBnrUzsx=jvT@4Oe8_GX6HZ!LyJa_ZUbDqrFuUzDi5Z!Dk(e!%5H6dc zdZcrA{sp7*#)*tL^?Dj{Krj_;M%{}m-YbLT-A?c+8jl;Ttj5k-jjW|k_inj}V`wGw z2GvO;hz`E(BXHEpAN+hCRiZ}I7%^7-5?;Wkf~?nlr~C~_D^Fu;+c~)p$9d@& zLbFpXAD9T!?}BGl*+H05seG+>7*9~>D?2_ih;#DH;kU#et_9<<_ifF&lycuT0)6-S`TzQV{O_;p<^S{_`*2iqifE zdVjn9?dAP_FSJ}h@^;@OM{eS!I<$YaWtVPOP=*=TYyX`N7T+YJ>NF94+81ZY_cf)d72zM4C zf~po(zh_jns4F{2%{WO;Z2$(XN8$ASge1IVxvnWCVUaAU6O&Y}l>6;&W~J=qz9~s% z@%aN);Kpl0P_+Wkru>xGo=Z?2(mb4Od4h;nu@f9ufIOT?xl7bXi)R~kVaQLl8` zrfx0U4z<*V89dyg!ORY!7P`F&sj*{*z{IZN5X?<SEnE9L7fgf2bvDkS2CG4 zlR>TJL5=awn{g=cZSKS(y4E*e>yA>B!sXa>VUoT)NP|B?A4d$4j&!amQ-*iD90F^%;vDC~Kz+Iw>n%ESIv-MwmB*+A7Be>V0< z3_Un2ygw)_@d3NNYS~Aq*jR&lAA-|&X3-JH-<8uK&>l%Fx)=rz7MYKvEK`)Gou0|M z(f7O~a1^P>?l*>DNGSR-1!2+II-SlbD5ppboDT1SxCL~ku~JlCJ&qnf^5T3WL3OM} zAGsgNvaN06LH6i8G%)jrkswTDl~^UstnUmrK50FVEMj z2;c78%j@g5mnCO|-tPCjD#wAYcBXn zWGlLFJEyun8LX&zoJUb?o8Gn^U;`USmc=~%*{Be9BQ~?d;$l6jEGaW{m7w1+mv!As zx!w1z>}%#F=Rg1Sha@CSB-pmwc7Jc^yAe>-ZLFlKr=YbDQ!`Z;(5hj(?^X&k5>w8J zOofb5GgIm3U&jhoFvJzE|pya#`fvMlMlPfyo%DP?C8z=$ci z(-I$+T=c~4CbywapP#`Q>Wt@FWLo9CnyA#qo<_(WntYfIq4xWGn22o)RZz(c&< zqvHuGm);Coi10b-*FS2a4ni89H9uzoec)@2*_sUZGss~S@<=RHBM8ExB@Nj<&z%q& zQ|2L&?9RD8PrR|E;W1T-YCJ@0f84-9Zq+Do;m$l8C-mumk8=SgNBq&f&+NEvXBTGF zBkW@iSgN3enJg|uHXM3R`pt0b z=w1Kv%U`!riUHLC-On`~8uz*Jb%kuo``SbI0 zQ7DnH7?E(wOBNAlL}!ug50+3)>Avk{GgVvH1v$H|3p0UCixN?}m#1}o`gHljmrs|) zIAu7Qs*UkInxho`@^odwvgVv*_X(1xbL1q<@3;GX+bV&_PvsKJ=4R48=WHqDvi&-IVa$csMPTb^?UM)r?06mCRn%rE;Lg78= zJHhwN%d38fZT5m=57XYk48~kQ#noNx>3~A+Y2ET2Le5*0>j`&0RJF)~;lZcCqXge6 z!C(WLL7LwGRyf*Z`sTgTHFcFueigL}Ov29v2OGnGQbq^hRiv#Ak?BcY<>Qm1JM zjnm2xo5I;l`$0F^ygqx603}XLg^-)3Tzifo2ID+&<3WLxhtpKOx+hPbIA*bva00`( zYcMZm=&(OT#LpG*@3hNwiU#N3lUUH96$uIxBw{5Te%+?tV8o*th!`?5)4iCkUeEEv z+MpypNW2b+{v`JAz1esrk3{*XHnh35I7gLJa5O&3W?F*e;RMQ&u=k;M1;I;DMhqfX z=V+P|3FB+%c%B>4uC*Eh{+)|>uopvguk0&7cjOky*x0SL>xRQ1LA9kqE6ti4B-0^W zGTwZA(&t1Y8uaE6MtmZqn(HJEQ>n2Z_fv%Vo{6T4)8AxbcBONR{w7s8h+nxKhvXd! z%)Aj1473-I>Q&gcJ#vXBR~((I6vUAF%z3=?+xyGcw>M&}OY*US84`)PdFRu*}Kf=ytm;DJ9{=wB)>({rR%~<(IGjyMOxA*I(aW-*e9yVgWR;v=zw(YO)@22|s(~~f(DksUpB2xB3M8(uO(!!im z7M7F}Gpkl4*}JLt+r1Rq6>s+qwUDEn5)of7m+ijqrBn}qK`Foke{&a#wT94CiE~r1 zU@isV~l8X#{~?u-zIicroTKqT)>jHrMMnB8o^H63--;c!9VQ!x(}Y&(S_{4uFF+7Pwv z)qR;C(1wm>3;GoIut#CQ_mP{1uwlaH8KV-_~ta+$cLY1ZMHfrMd<VB`%oe+4~Mh%#` zQ3b70$U4!*T^Kmn;LHjkG)5R>4l$2wM4!!$Vj64=0%s-#m^fGZZ=JowV9Y^}oayM^v(TTy&_IZkNrS@M_&Dq6yPJ8UWq-sfJ#;)5 zIvFBkW>|s;h7%v**#8`uZ_~|i=o##w{J{uGJ+!zwcVd&4iH||(8fmNHfp-r>j=4Pt z`2^U=LqD4!9u(4#+N1g~juPXMIh~n`HhQ~KNn*)WXX!c#+B<0 zlv3Vq_t*E^FTefv`gZdyVgs(1^?JF$?Az=6lGD0gSdz$cyX(LG{PoMH&wu*kC-Y%} zGkUYAs~yq^fs!o6tf0BQDVwcfqd0c$_~&aU$*`B+qW$V{_U^7{FndjFZ-^N*0-CHFvD0XM^yo5 ztvf4Nh?wR5{r#7(zb#pA@3&HRs4h&`r&UeYEEf^7LRKlD++*q6gP24t4AXk+;p*%z z>S#ejT^`EaXUJ#xL4!J~#waCKOLv%pwdTEW&TGy&=S7k%%OWhonnWBiNGW+;C6W@S zoLN}vz+Ys|`Bv1u)%Id3B?7csvI&!YdU{eTM7*gAd-{hb50OyS^Pnbkb1AkL%~e;; z75ES?rEK?I)s|)Pq;gJNin@4tNsB41c`=}l#@t)dV2o$dMo?h zY*jlt5ZwGQFBG^yS2RI`$oeh<0FNa5R;tA&WTZ5x6 zz3r9U0u(D9rRoE`ch-?L<)dNUi&|0BzQ0%cS5e*7)Ql^*f}p7v3<4S>Odc?FQ65>) zmF6vFxs^`_5;8_pUs=sYuU2k>d`rQ;p+5pVb%__;~g&tcxa zMAhYPaw5BEc!C3{24s@f*bs&Yf!!XHd^QC4W*pm5L-Om+R zOjWrDB5^8Is=vjv+8dEgkEq%>ndcr&Hcli-tHP2oUF6{9-N}uQ7{iDE+cfJS^F$-z zc9LB*V8mVd4d!rQ?msoW-n*3xfNIDUPC@&PLjrIMI5U%xFVMfw`RVDCzP~3)oL1F6 z87Y~8bk|?Me*N|9%k91uE$_D*3~Nryx_r4_b6!--*Vi{@$tj5lNdETgHzxUXeOi|l zKEx&}Y91Ij%o5o1=sAh(Ma|r&wVo^H7C=U%TAV$@A~`RfYnF3*zFr*A$th>yB=UB9 ze}BI}T`x@zU$YAtw&vx1+tf@|mn3R>-*)~{Zud>q0e%CFRIFN~liO`IZH04O!9;Jj z_iZl(0g{I^^5=(!$k`R%--`>AGKLPgq^!$F`4a$jg5)L*{Zq%k~jRXZVq*SeG z$Ve5Xn22~rA3&<=m!Onl7i_xU@B7>B{`0TDegEBe-(KIpzTQ(>e3@KRE|-N2rsg>G z*}E_}eDk1KG84;nUArr83>rd!e;NbBnz6MswYFGw!zP8A#{?YsRefY>r1zVYI}f_i zLD2lD@pym{PQZ=fG|{c~WUaUg8Hd#j50Zs=l4Z7&P=IYXh15ZrCo8Z_k#3VZ#iQ2h zRBzD#joXo;ZFs_mT3H@wnuCH5)WD2@-PBbsK)er%GcdD-tnqjb$4+P9#KJALVPxV~)zs?08GHEpXG>5w7YTaIWz(~aAK z$&CiFtD#8Td{8Ff6jz2eZsG?r@)~>RS3QS8VXz1Yo>dZJhp63Jfy2#)Xg^ky4y=kE z-D1vH04S_fDfyslD{NQYRr`HV9mgax5yue(e23b=uu^&}1T;l=jmKPlUePs2{$g=_ z5UDX`d%OUG%}yZ3wO$@HH7gW2V<&?(VbL2S5gftih+pue*R2)g{2&4U&cZ!d6vt5~ zkDGfMl5|56qTsmnsLqaQA^fNnKTl~mtZY1af5eCF_=l`9i4N*G?sBPFhoGZ{J)l7` z5^OrQE_vsHqjyr~zw1A=7W8aY{3rpk32FFfG8T<2;`XMEnl%`hm=%6hZDU# zMSI^cndCWYvoi*W=pkiwwj=ECIacg$@g0v4qtp+j#Ndff+7AwzPy`}?^zb&%Ri750 z%4(^R&EqMoC~LDmlTi(EbHXA5lqK~!eoYo}BT$-~jW%f7w(WoUU;fL_-)`^s&7&vO z)L>fle&4r!FZ-^hZd=HpoYUve&rg@D|L)8C4WK0@A}Ynyz?}24=9Ip@zCS-b$SM0CxI z*(h063DEn#m2c(sJ+b7kFL&cqlea+tQj(k!F}=RN|MvB3V*d7aOUznh7VEQTW-qUA zT(8~mfAR+g(*|zYKucXcgT}IVVolwogUX}!^)vA3fjv0({Q&w%W^8+sFJBLTMr$RB_ALt z^Vc>rf;4<~If$DN(-J(GoP4OSfApPWL){)chqNE^wZaqHDm;EXsleZJ+?uCSLH6-z ze*%V&nSJoE*~vQg_k|X%Z~xFAY}Uv@h?|btI0VBU&gVShd@v!Z){gvlL^Y=o+=s8{ zlX!za9x-u~K*%|no;y93>=-1^9ZHgUFm5ra1Bk0T9!ZgKbl1hixB!Gn<97FG2Qv_# zG^4=5srfWHZ$9@3_L@fKyMz#poDM^)vWKxH8B|m-7UVV=@-zV>l44qG#=5YQ0@9KN zq-Av^=70WQ|M};y-(Ft#yXwC0OjN7|GMM`6%AjSDC0{P+4A?K_` zTVz7a0 zdnqi)iHTWN-I>SWfBbVA>ZiL_HEU_+arlwv6iVHkNTt(M#*=;Ku?@5w#snwmY znEke??w8CgDTy?f=CO{sY#oNY=A0xY$vHn=F5JQ*h)5(Ej1(fNx&ep)CVVI>9q${g z=r$GWAFfGI|Blc2*+!;Lb72;6UmTz+F=Xt(7GwMxQ~n@}<`KNsh~40>OMd`K54T*P zbH*vuA%>8=O!Fu$zP8CZjHG}RL_#^cc~xrJ95tt--#MMS)U?Y(t4h@-1QpQd=>P$&fz=0- z+d2++A&A-2jR}Az#6Qk-_z}whu!Bl|u0A`Hs%fxW$OIp*_feu~RX!aX6C5Zc&BwAY zXUA1OCL5N2fcMVCBgrl_n+B^_?T72kEG9Z$`mJh95)CYFTb4@j*pc0d=~VF z`qWN$lud;-&~2}~2TE5oPJe7<>WTg+7nd4y8!175(9X-;P5-*MFf5lo8^laN^Px5$+?SwzH5`ECCSu z+i$-%;U?#l3`l?j#7YD;Vfpm=`uX`;t$ceiNdnNm-+y~~73Qa>>;1kvT|ehUsF}t& zWrOWyCuSDji#}a1IVZbSkjQVFB)qFR0m)s}X}AZpLL2~7PFc-zlBcKZFJHeB)8%q~ zeY<5z&Dq?mJ!IiEr!b;U1lr18wvv~$qy&>6f4DL~{o^0MOGH0>`TQUL_}#Df+v|JD zc?FZ239$kD?y=nLc^zh^x|`jA^?JR6cuA6o7{z@(s;L-PvTCawK_pc})8OQ0icZzI ztu5>E=4osPL$jW0{{j=`M!9#4^c2xazZJS zuqoJSg^cRj1tM@xN!2dP@^rlrQQ6C<=gZq|7r@y*s+GL^<@59V`)w=58z_K}F$-*3g>@gLI z#^yYyVt0P+3^xv-kVZ}gW)|AHXcmG94@rzoz_GR1wXUriLU`wg5<@VOLk!MHX`g+V z-g;>|GPVbWj1SH2_-MhwbtH-*W zqZ0!(R9*Uk9Na$A-JZUX-)mDs+dIn!j?T0Ay?0@L&?In->*iw_eJ1;#UH&LI$Q@UN z_A`7iHsSfEI2X$CxmVOe`B3c#Ghz&`8XsNB590)zzti8%f}-l^42EG}d*&zLQIFm) zmVTswIrIy2`EHL5OD5=rf(OQ7^n^#@eTosQbfEQ4%j{5^A{wY0nbT}0na9J~8qe<* zSjp9AQkofcYb6bkcn36pDpL~<##W&@Y4=98zdBF|YLcLV=A89<+nW)|?RNk5nnXT5UAI#9eFstEM8L8x9teH8Uhdnr z?Yr-w7{kqk&1}t!vu&2kvX}k!{q~Q4{!z{D`>uw4FJ;r) z{r>v;mY0+gZyTpn!Pj+NlF0ULzn8t3=BEoY<(!|cYXM$w?@#L`uQ?ajG8mI&5oY(f zN*x+dgQ*r>?)P_tuFIlo!Yo8=l8A(ro1VDkSUESU4(+8X$6Hb?n|rlR09H$^GiuUR z19T$z)&H+O2)H_N`?Fw1#Xus@Pgl>pPsBfb_u0(U?7L4-ds*M!?@!mu)AO|usZvUb z*vVDQ$z6$rlL&KS5w|QR{`&kzWY^2(>3Z?r!u&r_DMeUV=ytm~SGNw!tmo9Z{Y|Ct zttt1O$rK=@>h0zv1Y&mGGpCg5`6#-ss|cqo*US3pdbwWKr{}8?5vQ6B2@uh;X9^`@LTsP&q2*#dkv?PAPe$dS?q#orjGu^(nSG zaKy%%B##E>Cm&UeS;q_p^5mV+6#n%q5k3I()d6TK*9TV~U5yar{8b~)AflWybG>V$ z7Mqy_Twz?0aAU~3%u1NGn~^oO!_*bD9aicLyZ7N1R1gmf8gIaD{vfSsoO%t8w6&II zi#XT^eaOB4fQHToFPgb#e#C2dkPi$@-l|7lIy;fS*?h$Yq(4{PKR{}ZQoSA2vy5uq zl&NVco)bD0EULQgdnu~w#*Q^P2~2}Ga!48pM4D<g@`%&EzG7{>uy8)60@2-j^B zlUUW~8JH`p2|N-CI68gFDP`?2X6dQ1+{U3ch~Q-H_NjABkP#VMfw=Oa1p{GrUJdnwk_I!WZ?*T#4WpGH@%IVh3 z!565X{?b?`{*h&Fc)aP7(~v~E4duD{!GoL)ZuFjWsjQD4)aqp%_3`7eucx}nZyvN{ z@q{ZMJ2Yv<_h2QT%6DNhgYYp02RQjS>TUHM6Ti>}Sk>v<-#3PbepJiBEf?&in zjXA>jb|#-;Eb%R)aAMn{Ej*xMA6a+1l!Bmvpf>g%?F?p)lK1K2YZz21K&C{bbB<`e z0c*wE>JV`$$S*(t{Io84SxMd+(}#)KeU?1wt`ysfmZIO@-dLwB6M}&(BwIR%JC}Cdu4WftlF1Fe1;w)4l8kDnx2vX{81cyCA14Oj{fkw|a@C z!vWk>dTy26okAQVbq|pyD0g9WG_C6BvW!8gsWqVxl(56nl5<-8X3aT&|K-ztzccs` z-+#B2@^-)d@coxR|McSz_p%igpBL2zNJxAt*lJJIAAB-{A!lBan6R0NFp!uT%L2pG z(*pYP(+}Uj@9=)Z)Gx0Bu!5At)Sj;w5H3qzmxY-<{vwGaNoxA#`ALMgefMmTC1+pO z-`{RO{_usEbCN%P_eJ;p`T6O)@4kEc^jwTQeqMyESW*4Azx~WCPfr(B6BE8e_qm9| z!2bNgEjddjgAv$FJ-4I@S1R>5B~dkM;$Z*!$Zse_*O(w^ zX|_nh!!YVpl#5T~rXX;p8X!1^10Fw@#$=Bzgd_}V5stoFm?!BmkcXqzJkE%C;))?; zOb%12_ASJ$gsyt{T~5kDLe6xGD`!52SAru^%lDw%c?n6+Kt$%BmXdl}00yr5>K(DUP!* zXHU#j^n&TwZR*@|_SRGh=_I7KFoKv9dzgLaD<>~8c?pa(wqCeKBA915Qk{o0>) z`!bHV--D_>6tzYj#c>tfu`7=jQu482qkpXpy*TuEKAq?Xz(I!-Kd*gou5A8kv|&Xw zZfcdM1#i0;@ljE0Kazl{#!IY6<;0=ZSZm9*JO4Cl6AjCl+IFUK zqau1d9ug_-eZ2&vY@F&I2W7M!YHdN);$&$g2gRj2uyM|)C4F{GE{B7;N8*n)*JSQYuARU}ia| zWzFwz_if*WxD+#0m!x}KtcW`lL6*#FB7Ia{ks)x~hX_obtx>M)a=Bdo?U!Hw;io^m zyuN;YdFxH4SM4bYGcP$wI}2*ImAe*WB2(SW-WdPkpZ=(-*UQt(`({X&_0z6Wz>=~J zimH>bD;Q&{3NymCmuvJ(V9~azK(2?N{^?`cn1yo zky(qp4X6eSM+TrZ>nZ?h9@Ehai&9ieQIXU;Vc(I9X;EuKa_@?(e~8-$dzB`}o+@K7 zE@GLD;Ek*qSVUEC_wD+$w1ESJ*_ec6S+beJKns{y5);{G`sL|KL_8mZnlnsJX}v6F zmXR+PCZb|H6e5We`-MPaBipp(ecN;|rV0|UQSzCC5&rh|h0H$Ro^qB1Tx>tBqODMK z%?eRUOv2Wj8O$C4Xs+h3JoqpS3CfI`=IY{(kvv^pL_jE1?rb_wiK)ZhA}u9w3WyDa zRHhgwItyJ#cVb7x^#Ps#z#q1bvlBpcH@X!Av83csfJh&2@JNO}7ogFf&7TRLCL;C5 z7YwMZx7pp$m%86>1F!;JXWE098kQ2r{6`2L)AMsIKx+BfE~q4SDY?xPqL@lufknhv z^b>O68C3yoO}TfhlM50aNCOhJt<<<@J`6d7ekk7(+AWSl+Xt#j~* z55|}wEepTHoANX?iPj2pGLiGkmGz{qMGK>GHOywZ#@B7fipSJ@iq(*7+h;=%NcOx~Q>8N$; zGNwS)ee^tcSY%W-*l!GzVfs%VJPQ`SuVx_@p66igV^2l?2*#TG`X$MsNSGdu8 z=dg1ZMfLB*xbB$w(79V8532tmvcR!*spCaHmHrq}1#}Si*HRUc$x_1mSF!;ISyiNP z41dW{p+p3J{0Q4gOpm9I+;pk zZq%hrJ9i9+W2;3djTV>9V<}?x-;{PAVq1@&)YBtKS|p-2kgHoT4=ac;f!9`xX{g5s z-43k>u96bg;7P&{*$2J%t{;TYN-7*ESolD|6C;C0?$S|wj%ZBC#~tnQ47(BfdEn_D zDn*i--%fLY>|`#eacWz%duUY~2W_m6dKQHlAvhUEfN~NTk&J*dcxB4+%eR-O%VoRY zeJ64VzoY8Ryzlz;<>mG5-C)F&bNc-JbXiwb-Ad7Z8tPgN7(Rdc#LT29rR;n0a$40) zkz2(LKvlPWyKh{y+;7{c!qFo05;MHiAtL+v*Iz$BKfmAJZrcXX*OylZ4jo!%bNxEy zoD+-lADCIqM1+}2(N?9)zU!~QeG^W9`RmUHy!?1qyMKGVmlm<)!t1UeR|6BPkruqX zZdS0FS__z3g}@-0q&u}BHS#dTmbUJ2l2v;jR5-1=0MwKK?nrHEYJNLPzNT@WjUAl< zx)m)(lq9umIUg=v*Q=TeOBTwUIA!t7Ea@SeGO6cWE5Ws!&m!x(mc1-%CKgioVUwGS zHqO$0+lyI}v=?;c2G{5Y7M4?5?Wf zie_eW!HJScGLMf}Bj#1oR`l)tod}u03tvJK3IboWpS+y2DI}4ZK4gZ>F6Wpz_YLQ* zy)ODiX{_&NKBPP8)?k*%Pj7ABM3@M&^0078FNiP~#9h^Xf>k=xY7nj(qB6BC#OgU_ zM4Qo0EIA7&Vv#IdHB|BLlLlh(6pxCYP{T|Tf$&k)S!DknF-dL(r(q&$+0iSr3;7`? zLAY>silPn-1ru7D9b^X*D`@c)bRRI!>t`c*Kz!&QcAk=&l)j&O>-Ww#s#)1dg&v4x)$Z zEZf+q{g&$aFV#GFHgkbXwh1uorR+uby%e>wmr~SMie5krYSq-lW2Dqa|7A?mgL-y( zlHz)U>>Z%Y@&^o;o6(mHHSJ{HH7lnNQvHJf|B+fBC%WV*jl1gLyTsFKxN!AavljH% zQ3VT>bg!gqz7h_+&kym8!;f*0B81onZ5ay|x|)OF;b0XSClx(WvQiFqt`^`}Y6$rNS`K`@qe1~q>mx0nPOS)DnBmsvh9d~RtQmQ~z9?j$yTipeyY9`yVU`EA*+`AKe2;v#>2h;-?>$a?F@Aq;u zhLKd;Z3b*BYM^b``(9kj=i>)!cait(O4UFuF)K*ee5T?R(A#a>wtIS)^|Iz_Bup^m zlxvPtTJHBvD1nj)m^}U$HCfs7N(`P{zATxUoyS5%oZu{}Wm)`Vo7s}HJ5veMl2Ht$ zK$zaQ^1khPT}6`Wu1eJ8F>1(J^0M6T_fCKmK9dl*qu+k^uImMb6oq(c73zR-J9NS| zLr;R`hTHxNk+FzrC0O;h9{eJ}%3Z9Sx2!0cV}2|$?XacI>J6I9p|~_5r0~r)kG=7j zeK-Ik81ZJf8%T1_D@#gA5(|gHMPGx_@@-Aw{EeuzDjlrXC9O^ zKYs{YQny3HA!wt!l15<$cXV+&z{5vwTVWl|Fk*iA$8~GGI6PlArlER&^6No3M71c2iAAX*+r{y{$Bp&Q``xo`XkK0gY-$E6>nL>l%K z;YJCMam`LTrt%$Nw*Co9ON+6(8VpM+8iVg4%Xx?<;lRj5TzbJXze^{^T@%&d*kaK` z535-*_JMQpG-eiIH7D!(XkhHeLbMYxkOmagRy=Ng7xN7GKu@qir9>EZu>ynI($;tF zM1Vkwskq*hfQc!nu(^ZPsI}0OSYJ?TB0=jVsAZkf)FiN_k@VN^e~pbrr+f=^^c?l; znCww=56pk<_2u<;-}pOW*uGZ+{#MHS{r>*`{_XXB-*+=IqA$}izTldr>=g?(>{d{TBpMLuB<@Nm! z-+f1*=gale^V6`1ZPe_hmDa zV$~$o`Cl&fHZzcGf#|YcAqi%#ny`j%-8S8K6fMM@s1&=aYRaUg)Yq&>o4El z{`TuD)4E>v_jfHylF^LZbXoG{vVQwUjK;uykQ6v8>1FP8`xHV`+~ z0%6UugEG&{Aq#@b8c+x`qC#>5smPKub84Ok-hd@$uKF}<>6R@yoq{+IW8JPdI9HFq zMwhSuw#w_L*)FEFIL&ks$GsV$AROJ{v|)EYDCSDp87DJBzjO2!5ebXb+)ZFg4<7@T z=33OC@F<$3?#(=LH%1#HBXyu~z(}n&LMIPpv;pE&8*vNiK=?S3 z2z(U6P*0a9bngr1`FwFN=y6Udn?P_-?k-uq1tTVbfUFscOP`*2_IM;Z4-bf16&Zt^ zhgtz5XFYMfB?eh>3S0y`Ie>yFGdO}j7TTXVi+IpETMI5c7F;L0;axBFMy)~HomM*4swuQ2c-{z2Px65XA}4hU znlQSDip~8p(<3~a=OI9c$#wRRl3+h|m?X%D4Zw#ICme}D6VvHIR^tP~&V#HBo+m^6 zC@k+FV$o(!dKf7jBtIwV%bWob=ou&IXIg1{Z#>^*L-heVp7W0;4@c%@vn=H1rFZmL z1QAm?yc=e#%=voohr%A<;I|dMo&x|?$6P`NwnuUxJhm;Kx-jEX!B}j%mKhnj_Gw4vozGe2-05L;13I={b}@6uWa*8J$S)6#v|@U+je^}lHGD~Ya!-R^~!hf zIP|8%;ejc+o_~I%M54U32_ndd)NtE&HIPu^IG$uRV@?%D6JZer%utH$>ckXg7(~WX z(C$;0g^BlNEKHOn)pOpwH;Ng|?pxV+z28ep>$aQ1{9U2y!Y)%|;PqXFIpy7GhnY*O zSp=|Bbldl$<~+BT+Z{m80!r`i+YjpaKmtT$kt9A4QUJyV2!oh+wJ)DPCFXs*6ChUD z?t!rz)=any4yBZqoLnV|iIdZ2$uc$mZU442er8?jj9#D#K?R1gakGs+8?kT?Dx*`H zInkUa)Dnsgc^e0$J4hrxBI?fs)S45%73^S1DWxRhdJgGVoWs7-Sa|{E4w+V!$u`mt z89mU{>v$2;dd_&Zv%&*U^fQyAQ^2j(?41@BvcseLm!{IbZMKGk5oJvXB}~qtnCfi` zr#uq=9~Kuz5V-JeEY&WKszyvavhpZukeC2GQlxZ(R-LsSbmYO_GS0t%S)UT-V>QaY z9|1>6XLU&ojmNydb3e<>4>CWcW4-WoF2c* z`*d+KK54konGbygL+b7#;1kKA14Ur)^b`c%u?^ptfM~HW3rk8VcN+KL5VCcHPU}W( zL8oEOyR)eV>TTwZzzTK#d=X&jag^6>PCFfGg zy5uBcP!TS76_LDT0DCcJAvRBuVxr`s=>}6Pssuv4H{}`qBKagb8B1zHAOb z*w~gQ&^#?!h|P>rno9k?NGNeVu~ZwCZlsIeZ`5}y#d^-CFA#}2V`tkM|EAYZleyE3 z4Er-e5%ipB#}8oXA!`PLV1Xy~Fou$~FJE2EC7as4K=LX%izG>j8k>&T9qd|`Qlo#* zu?rlbC^V%9^N5NXp9sc6Vm*5L*sJ&Iyf5HZQ#L0r5#bOK-q0)#8B@`Is!7ly32vA+ z`k_@@g`rb9+M!zL0o!Rd9K5m`4W+3;`Z;J#8K{qb2th0zl_zJLG@MS+WZ4>94xS3- z2s)1=N0$ad0Usd`IW{N5!4Ct!c>}6_52ySsHXB|F$pf`cB;-(`|@DT znEI60jss-qo;I;(3#8b9nId#cCwv-#-^IfllZi$BA@)IW_bG4ht2hiQalQnYaK`Fr zcM!a4cs~7||MIVYdAr@zJo(PltlNMVEkyLgm(R~nR|QJZ`?kNmzuoq2Nr^-#rb9Xl z2zYzHyH;UcQj(;GC5f6|mfVONU=|^|te3Wx34@X#C9yhbZ<7lagDsMB&Us0$YrgNh zmsILmfaK3N%QdC5W6(SF@K+yt7Hze^0a|Kk*2lxI_ zixxvzhs{{9B+f#nJ0+)@Bu0tRo!r!ssU@sc+lS7QLleg^O+a`JGWXh~N=3X-^p3vH8PMwFK@IWaP=^y$)mZ zI2zRUT3QmCZ?mdihjfN3_>96*J?HCsNjWJwlY_oayYHIsVX&CuUgWD9oI5a7cijLOz(M7(ibR*(bJhJVaRS5vX50n#Lp0 z81mhZQ;xw-Lv(FNkFE;mqY2o-WbUZP-E6q6pIuIK&Ol>6d2G#BvCcYF%U;v~bzL42 z6X%?W5~Y-222R|`;~17gO&Qb5Ofj?W=hWIX7nxH|0;IfHwj?45xnUeNa;+P5ZvzPp zFyjBiDP+28;zQ9G<`E+Uj%(C6S_om_7sZ4gn`lH}YNFoBUk|*-k)y{zs zFj5-|T3{b9 zKA_Ho=;o+K=Pawq>}&E{!^7q(>O-O$ewZECvaj+o!#2i2t{dg@+^Ml$Ju~qSc1G5sP{)fBzLMFz+WYu<{ zPq*x$u$w}yd!%+BcQcP=AP}tRUw-{X)t1FI*{WKYlMtnxpRSj6$-?4VkN4ZnI}+C{ zj8dP3*|xp3yIff4`Fdd{X7L;jrw}hW@4E^o7%$7(yxRrvXkN#)tao(AOlFtM`uWqR z%bH2VJOGmpaq?s*tP+*Ml*SH(jci2%KE zZcn9Z=;TRUf%xvsa3(SZfogP#SzZ@^ zK_#;#nX+@(e0(*$K`ZJBw-a!Iu}Jb~U3-QLkpZeIB0fA&LLwh@(!Os(yp>|6rb?zp zH5`l}*6SgXoJb4QEHQgOQ;}z`_@!Bm0`#bxwB#(QxKxQ2sgW{IpP~}S5@Xwi%(5`1i)2kW9)-$YsJ zSt&4E*@RgfjlrwU9!gDeMF1C~+#qCa!?(#z8F4S_ZlRs<9VS0G(fYyG8WF#qh3e?4 z*E{A0CdAgBHzPh&x)KMJEjmN!P?`@7thAFE10p`^KzJUl(BB(_9Ju>9xft=R^!T0k zDUSv+JxwLZxa&Xlqu~!875#INpV4Dxpy8}Wx z^Yiob(`8wfU3K5?4TOQIn)7eHUY2SO>p}|>2I0PKH+SPDGPRs@A})KC4eX^*O;ph9 zWzn9*$-VGZ(^^H;W#791v(zY2zPVQ#s_K%3-Hr)EnH4j?gjlQm6wDG?>ptUQVud>w zn;QHoa|kuyXzdw7jzMG)HMlZ|N$O0QjaaO{q2-z_4Npd>;P23|Ix1v-t$9ROwXqF@ znNmu@{a`$(b)3{npWJlB&An|5K%J%}!dXVpt{JM_yymJ=&MAoiC`EZBF`|&|`%W#n zFNq`(Rqc+Yy<+(K?Nu1pbxBsZ&#USbpr$TzV*#a{Ld2f6lGEIdye^W~S9-ICHyd(@ zNA^J=ID~u)L7=wZc*M*e7oISi<=@-yYE;OG1IJm%hT~3j&Y|vf?uJ3Sq@Fj>rY1Q{ z5^+g~FqnjyQzKL2kr-tjbMkGHK9to?9(fbo#xRim_85`E4@phJlvr%Kf2F&O9qnIn zOh?ASrTR!~k1F89rMztK@hFhKn$*B zNIi{-Aye|thz5yOht!XD%rcAp#te$Xqc()d+_0<91bCc38_5q&{_Pkx;{k$>Ll&N$ z`T+}F-_*VEf!&0eS;X_C^097#P8o0qPhLIg2MnOoki_{FhJmo33*v{8l>>Q9Te2k6 zqy<8d_uzEo2O3*9RXZ@a^dK&pe;TFU8vQSDZm|%$2|%`!qFpo7#5OHZaiSn9YpV;U1-F8ALjzBpkzKuCY$@1-XzJ~gnSTQ)>P%hQmw1%cf4G7 z`ajh%2ot@$eqERJ>G_F8K3&!%Nr{SCDMrRAr+q8;`~G&nnITCgsJS*+LhyjvUW%Xj zlw@5OCN4#bx_9n4K_W?Qb8b@3iCSc2b!8QHkE6!E!_)Qp`T6PT>6%jp=ziawNA8a6 zYQv`)b>dzTMUlkBx7!9Fixe|6OF7@~+q$eGVp>49EXj?Tp0C%O*qX(%HP^>#3u*Ia9_=-W z3JAtZv>6n_O`BeGm0R0dg}?Brpro8tJ>Ib^`GX>~u{+uTu`2!jX%>-`5;4O@8GYaO zC8wNN5*M|+h%gr$^_>|~5`RX7*{pK9tCE&UWSAClb)TwBxEUGD%u*7wI=EQYgGOn#57F|xmt*3)9&D=G7=tmL4|F|79BK0qZxEfm zooEWbc_d8~5uSGi9}-A+!JX9o!QRUIH?;7G3LF3;^{K4mOaYlVk<6>Mz}I{{Dqzya_7 z(8qT6N^XU6=hY0t&nzn+Otv;><}-QhH#WCNCSZK*^BX1CXLO-k7-(Av zTRo0n!vwEN8XgUfhJ>{bof_WUnvljejP?|v@lXO0Cng=}Q_bi&C(le53n%sYiPuXX zxZ}47t;&%`mp6`-6Jt&Xe@ixww7Jlmfupqt#;_5plMr?0V)@%_`}T6XFH2?-Vk)LJ ziO#$tq`m0Z*Y|zf5mHrzvLT~ba-vxvx=m*2j< zNJ_%QoI$uOIX$gQN=6Ez`)wztZ7cVEhe=Ayj1L>shLNtJ>;*74lJ&nYtqbeazm9|U zJmo>LWtk9M5h0NzW8+5UjoIL>R5-v6=5WoS*V#?RY(|@FUEB-mBr7zS2y>;}a7t+} zJ2f+3L&VFC+Xw94@&1S{OImaG`5_CN4WmecC0TaW{`^|EJ>X`^Y9^9WN=we$z8BMs z*dl$ zwKk^sLCo97R|n4M;au0e3%AoDW`>yRb`vX1X!AMhVs@gKy-afj*>he)ng2k;H`o-B zNBu}qIJz6^Eli8^+thf-L zlKC$=SnmUukQiP~cM)}U6&Qk#5PQkm!~7UWo_@FJ7*@LnLa=isXR)^Rh1W+NfoJao zNkeUllTV|EklzSm4B^1GX?siq0$_A-J{seC8z}UM4h)KpcB&~{oz`LYt`(S~?+y~= zneQ`74xw4b!-pz<>V+N(N^{xEwimOZf8?5qYFjBOr(0(!$tjk}dh2C&ZNbTpD)TYhAri_0IkGed(yC@3sDl`4#?n2y+wl>y$~9+tVBFcmI74EoukX>yQhSskqx0pNn;XZZ~>3^QjoUw;r(5WBj zA6;6GM~7MX5Ea6c9F7SB#-lkt(?c!g zMYnO4?OJ1t(zHJXvRP}3qN=1O4Y?p-C_@Lgug|hD!xPNV`Td=`ll*U?H(HMk3;T18 zz{#ixBIXI~Fo@wnk{xY~0e})`1|EiH%>tu?Ds*N}IHOn^D2ZV_iMUD#(Qm(gd*AoV zx@u81s8Pz9SQNS!yuWX^+qUmD62_NOEeZt-8_cTc9MZGCNr?FA`n2S9S=Vjb@Atj$ zU#glU`OT#u1=b|he+lM6Gx`Z(P#ydj}IG>-2+0H32FuA>>z`A z1X)^`o8ZY0_y=NsvJQRXB`Qc6j(G%^jhx~z}HJOZDUI(E)JZAvRHOQI5x%cbW zGFn=%(d7~~`MWBmF-*I$3UUgZ~j?WNH?d zA+QVDk1mEuT|rcn_zal))9qLfr}mfH zkj}=@qnWjku#ho9n~JU#A5FqBaxP;Fa1dq2=U;@oJwv~TQh!JzYmmE&j#Jx^TdZr7 z?3|qZJ*1rYap@Tg-r-`|9szuuh%gl>HkDQ_wS^S~Ms~McLg~9-$8$PO2uEnYAEX5Q zwZ0|}CgY&>%!O=Zm|h^cFK55`6k{zBdW8OB^7Lq_9Z1B$iDDU!gy#t}n$#pRmkv20 zXFytJNWKF67_1~j`7%FXM%l-@c77BS!5_?Ue14hQUrb?`le(V)4W(EAbtR-hJ7SD? zK-h-Br|r*X4L3bfywHh}#k1RloriQM4w3;vtb}>{b|V5Vvr$L<)80!*$E)U!#R^D+ z&1~A$U=5?t$u};1)&7JCDT2T&Y{QYec?cBe54uM@y1^##-bq>(-k&GU=Rop!JT?So zHbQO9Ndf8P>9KJ#n}LI`g4I}s>FV~tKBv8S!Pb{tt6-dv@W1``>%Qx~*zLB1=>5L$ z#lF4lZ@2qiR86fIjSZdvczy!2m|GY%2NRz>uy9@y5p8=h!@igMzH3o0rnkN1oP7VA zh!^0*!ijZL2l%h+^6BZauFKzk`7P(XUe;e<-bmQsHwAmnwetX_8#4_r>tJ#P+{JHl*g#GI3~x{;XJ2&Pt@ z2{=H%l0dLhs$)uvBqos4fGQ^d1maSZiA3nKUWCA^EH-<}k3e!y(9SuFRBKo~G&^Ag zRz070^|%`E>f<*OMuzR%#vKQb$<~wflA_2bR3lxu5Q<5Dz%a*yU6nAekRc_VhAxGm z#J63GAumZdB@v%=P*X4+9MEUCDt@^4(GXl5dCdN2l{tZD@=2|dc@lZ_Q(S%38f6GU zc}{Uw7kSImvk4rDFR_T6`Cjp)PpiGR7X}O&a|H=&o6%5=O8GH_jP!1`#9e{NM_+)0 zK`TNkHqZOXBb%>}#4XLA3R6GFMphTQ8EcKKxKK^k(NQ;k8YH}fl@C8)?azcV zAs#cu?q^r2xc$s<5A7At$>jJWbjb|UIo53+5R6g}4<5P5y24C%w<%lnz|bA{xS{EB zQ6~@4=74JM^4NkrhsxSW#!aVE)7_?ne&Ba)RuO4}pboG~A0y31!aS?1KN4p1d<=y! z<|K7~f~fBG?O1~tTEO%1f7sDIq^q5&c0;eiWAIchYfgF?<^#*FLY(omVN&dO${zRo z|6x9f{$6BAdjYy=heP%}Xe3E__unef_D>_Eld{hjYo()1-hGbrG#-+VZIx9T?)FoXEGpZO&^|ITh}2F*=d+4~4gn>H zPIwaA%|WrVpgclC99UV0@*-?m;zA8b99{?rrX)<3OelHtamsG-b!@a2R$B{iGg`!` z#20`}Z79+GF!!QA|MtQxOt)|EcOuGPUy|garWHJ@IYNzp4R_UL0<>vl+CplMEi>Qm zrIfcNXU)bn(%RU3d9@{9`z9#DW)-n<6y0Odnds?qeZSrR>CZp?KmW)7{7?Vz)62{2 zz8A@v08;=~REZ^f8Vj7RBT4xEekaiL<>Ix)-=Ql+7-r9tp`WYWed3NpeAvjY*uv)Ggr}O4G;JB5qFe}{0yw4Q28;=Gj;8C>6hUAsFb_tH zjCD^PU2eUL?K{dQAdIBy;3B|`vqJ?_=QWzA_&iV*_g!a>dYepk*d1ku9;nq>y~;F@ z5^ajjkkgX0TUU`d0u+2wIRbkppz^?aoo%Fi^vA>MIuJNl%U=@i<6SjA!n0yb3TJy*tnNGINs#buOp-YIZ;1+6i#eX=2jy#EOeg z#nRkho^1@6LCC$3^_At2J!VF#=Asn&w1}huin$mpKAP=2JV> z%6*rB8wGN=C$DH$TiY0{I(s3age=4&Wf#;Uj&1Ymjgls^IX^dIL!h7QJx=c(!yi0UJ-c zF0KTv%3kdumFR3W_9E>9p~$@_f=lB9+B zR!=$1u_J3Hu4-De5R&#QjB6oyG1D1P?7nX@Mh*>;%_hC z{^LLW>E~a5A*Rb^{pHu!+on=1`AFfvMb)_t_j^&ZBx&Dw z5l$j6?>EBRWm)!ZzuoUIFYo)dZ7J<#-|o8^S#lz{8+su4UjSye?RMXHqTGlHNW?HE zk*e@zu|o!HtAyQtLqQA^5#Nx6D<0mOXzIY8zn_83w8FeH^4O}|X*DJ$W4f#DYLtX1 z0?U>6%G37RiJ7qCRA_Kugap?KQ`I#t-?AX1}Qf=8L4Wiu3P98wcVNyoME#rkf zAw{*Q8>7`B3>lG_o9_$Ly%b53QtiIGURz;q{#%MM%f4@=xG%1IV}&B#YbPPrk#j)D zb-RAGtcwU+g?rrB7j!HQ*t!n75wPPn%f$r(5%1j^-;fI;32-ALGIaoy19O%vZRaGS5VQz<-3Liv&g6B zk6FUFiUEt`vUi()B_cN$4azODu&zMaZkV>`FuPhco=D-1mZgI=YqnZdVMa~VEXLe{ z`VKnF0;EBXH7?+N2Bxd1%b205vAM7^ojn{}K4oKkj~{Slp^Rd>8LmGB@}A69qisxv zgmX}PWTD`KWHob6gnWj48>g2(!7k)EZp0zJ?nvVv@zk4b- zI$KjuQ3mtPSG%~=axrllsaU%g&LhAfJEPC|+}QJKr;eprS>&vUoUwzLSKNHy0PR2$ zznQrW?+`KWCJ}tpK1~=a8uR;b*5*BWx0|g^Jww*{xT_$_ z&ACF2pz3$=@b0V=t#?0ztB?hSF~y}6g$0RI%_dh7TLx08{k6B_hCQ(?=Q)*0r`ECz zQ>7HL+ou2c{oDIJKRw4X+maAO%p;ig-DXOPj6%Tz0r!1RImZx021SK69|QyuVM!_9 zw*7j!+SIKQ2wAJ-$RtY=f{1mcpJ<~W7KL@ zShwiAKI!z)e_Y>65Ha5}-tK!YkPuEODX^GwsT|N0VAfy?Arz6A(Xp~R-9Z&raWfs2 zF&#iz)kbyOwx^U>!k&_yW5wW`wQ9a)-%?K66k6c`_J?BY6NDx z;xoMbwXc20ae$guHj%2@xVn_eS=A6MwC{Pp2lhsfmWs~DY0hLC>E}p|Zytu(&3-fp zIl2AAnuk5zs7jBlrTpMq#s-qONC*-l7$yvnq0C{bQ*SS4Di^>(s?wg$AR%&fOcR|r zN52V9J1KF-1CjyQv~?I2HRm!(*rj9h2zZ%@vi=5LYb+-v;u_*sZrGM8QEX)Z2)Xf| zwEVNS^eCnd)j|{~;S(K4Tiq)a=nsc$ZLn!|+3MsSdYCNZ$5Gc9&^N_Rw5=1>ob<{& zY=L=Yw9KP}v;jqDO;z8io-SGrQi5np2^p-Mt*o#?oMvT8MgU|Ggh>DhDHhbWeRTU65AW_0cA;&MvyM>G3o zup4g|WvzTJ)o7I#_uCwbFlP8kaa#~YQ_GE+FvB&)4UZ#s>&2`?%P9A2E?%8ZDLO{W z<;o#F@Mnu`W4h3Eyhq9**qhJ#3Ochgku4%^ zxUmeDq;^BsPNo9$v3cP$fLZfSI%|pDbq*3uKtZ95enKEsQqr1LsqOaRn?o14i9sDO zF3Rluu07JX-+z01-zw^oiTSqg`<_CK6+&axY+)#>BBi97W8h#x6*M3~L_|rmDu_k+ z>3S6rmVj;ZV|NoK5m8Dx5=rDJ!Rn4ZX-Jgq)Q!fztiH7xREZSQJ?mF$8Ys1M_8FB?hw>#!%)@Ip=~O zg4yP)WLPz8ZsR$7w{7pQ8BsW=EJ0MjRij3Aw$*5jOe00RY>diiQC(WHHjN>B=`M2> z?lhT4W_sWDds5{L10$yFs7?A^2l0OZKTPI*et;_~l z>sUZ1&bnR_ajQ3m-Ae6Ks#d62v+@40|IC9N0X-PVuGFvc6Ys^E~f?DR-z=CrIvy_#gi^Hz$45SeZMl zm(m{c<+FT-UfR*PM&4W9$(5%O>(Zn?tWP~u(rg_EQJ_F#k+6n%R0y#$M|(p>DkKm+ zi_}|EM1@P%rEoz-3_`x)qdcon>4AP`T2-8t1>@$}3B-@(DZ4RM=}8-)N}M2zhj0|k z@t=idCJd96NuN~qtI4z~TIa@6K~il5Yd zF98N2Q9+DLKCCq`3))Xw8aQ8X^fAxwuSE3n+8)q;EN~CU@Ss(uhXTCQ|0;Fylt~d46P zTc(fJ0DYAKCt7PINo_WC1TnN>t@khKsMxF)#(r+)Hfyljg>I(<--N)U+6E+y&QLVAQf;oLv?N9lB}`?OvhCM1gWH zQ?TqVMN5cKC2?1Z{Z~~k<^)g`q7<{aYWZ`?&Y<63UbeJnRf87B5Ml^hN--s?uv5ts z*Ag6*Gc@yI(B*d2P}LZg%eq|Gm1~kikAZfwXpq^nnK%cOG>hB&J!^ittU=`Ia`|8X z`OmmSX1?8b)okP>la=m!PAM--h#>|MW{NQqD1>lX7d!Q>8`)E`>eh-DRb7^FS=W7+ zzyAF5?>}B*2v3(~jWK0pb7|Bilo9le{LWnDZAmj!C0Gt16Ep;hL8Q$`igH}gJ38l- zV;17Ncz5e{G?r*7fwbn5)2!a-s`;z+jRM5CgtuMM3p^HKb9kW;-wS7R+tL#9miD;C zZQr(SyWQ{i`)ysqeM|dpHY+#SuH$HCHtJPvilq`{AZ9Pg(5&0Oap3#wT|Uv<+w1F( zmo4KxC1MF8;1*#Xm?-D`~ji2$JsmN-8;ru9NYS8f4&dT`%jJGGz2jmrqYS z(~oK`>UaV*8Mo8`Y(0AbC@0?cfRTU1e5&W32>)IPf>|upw%PDY0EX(x}-9Pq!kh6AF1YK@<(wP$HE#a3V2o?94x zZjEB#DFv7NxYbXB`}$&n`;P`hh4P6=Xd20#%qxin^=X(WM$vUl&W%WXz~s4|O5OiE zd4um4qa#SUc%b@FS(WRnwuexF30WjCn0Y5!LKLB#(P+n=8|Z_^nT0q6iAxAUk`9qQ z{Ln-GP$V(Goi$CFPs=mk0Q)zr;}Ql{V%;Q+iPGxCRSrl;Go~0HG)PXq(eO&0D%NJW zcI}E=fJ{1^es8pq?Lc%mz?v%g3KNLrY*?P_{YvVy5-Ta$ek_iE6}HA zatapA4;zcp$f;}R{MN#6T`~8F| zRh0+7N%KM4q+{|!`P6wSDeOL?v$Q=kE_swuIWhWRNIPC~!rU?&asu90e=_fLr4+ES^dr;ADvBGF=o>wa5%+et+Bk_3Q7K%TrcW zgBpPVpvajBtT~$;t=>|bB9WIM zB7p!R2||%M1dfEj1c(_eqN&hYE5e?!UR*IEJh1|_qHoMaGudNHWF8ksNw)3^x@GzP zwxw)~j;>s($ssi>qzHa-S>qBHgWg^)O9*E4k6Dq+P(k3)PSjcUW$mnG8HUz5TYNe( zfF*>S^SVSpvu0Jx?cuCyuh{rhAq11o*B%Qwr+HP&RmG%sU+rE$3nC089Xab%74~%4J@w1cQuPnzAjW_lBwSbI?bPvL8=^?b>CDs;U3A; z{bEdXAe?qq7!RR=hcghfz4e$EL=TLnwdk@>GlA}^v@9iuTtr07CDR0&!d|{IDBAt5 z)u#)zKekLWbRyqiZJb;oBZLD-zwMMnSX|Ft>gyse;G88y!q7(acO8q<>QAA8T_@0t zh;6@w37=Ye4^JCy*RnAQxe_2chw7U!Aro*~m~-cj_K&~VlHo*^Bjc1}{}lQ?q{9~Md!>ZTY7dq)Gl<#p zenc`Ws|Dzx1tQI|uR1CYvcz~<;w^@hav^B+{UFZ+o|CDzcY%;21ODN@l3SLdtro(; z8?Fta&SPX6A14yCjuDfDvG(eE{IsM_?_HZNgZGqkRTes6L9g}oE}RLJI&v zHy;x)Fq*;?@{Lln9&hb>?0rY=6Z4S9GLhCM-B<3Alc6)gsA=lG-}sxG9WD^(7E9s+ z#b_|uvs0<|h%BEN<8~MGx6bA~X{vjiXh&Q~j!0^K5fwb-~Oc) z??Z~LNcc4SF{ zOq8=hw6H9T#cva_1i4->fB)NG{>T6NFJbv_fB);Z-+wUkzyI6c2$V7sD`_Swn(N4< zU{qw?qL&N8`dJF2EI(g~|>l?H6nD1oTFi584^lngC!5unc*KLA>k`lzkZvTT(nuvK+YOMO4;=4g|<}inOe?pmQX>WE#sjv#n3*?w%hlSh$Kp3?Jz-wNQi?frEH77s+v`_ z&OwBsEK#&B<7QJe`;9DL*0t{i%HX1(ZpQb5D>=GKp?yx;YlbprhNgWh+@uO7^BGIW z%Ww-!~Tb)+>W`I>pV{X4HIS8oG%Gm^CM%hgp^%z`A+H( zf8LZ!U07S$R^4f1&s!ScyaC~~7K#cLmLt8tfWA0S;wa1pb3O!sW3EnlApe49y_J)T zm6^SL2rOmLXU)tZMq*ARpQ`g383f=U4KvM)TR2R9=&G7f0x?)DKekNHh&3qGaxlys z)}J>ux?-173v-aT1gy(?UH0w1!}DSPcm8vTjvE7M`fidc25jC3vDYO!BLl{m(B4Zp zLTVQe`aipV12`hM+A*Hf+3aayi$WGW0H?mXo8RlebI%tPcG@BMJSWj{MX ziB0rqH5oUuJtQ1uY2y`E6H=Q;Ne>?qLi`q2_(YnIQU0fg-O=f0XgtU4k>H^|A7{LtaByb(M#wJ~22xoY!ydCt>&c~M7;08>DVk3~u8IjQ=es0 z-_jvCmf)6x^9H!bL6+}R9T9e!%Y58U8e2Ggm0J^WQ^cv;Vb*sCIfGe{?VH>%BWUTm zO`Rj`3l95%(riq!4fRT9@V|chuAsCh^DYokl%QGnJ*jGMV41S*J&1%!oyClN%VBgo zk#^gRVG-tgN~)@wQC#E@rR~0FB^J$^B?pl*)Yy}LdU|5w7y>cByu2%vMfQ~MdrCPA zIB=+iyfSf&kvRy<`~6PDK_une;Q4mUH;7_bLe9y$sh@xP@?Zb@?Y7pAQxu ztHzxg6ywBKF_-Q(a#iBHY9bCXgb+kRWg3ueJgUat+Rf@uaN*rF9-8fZr-&L{KPal3@0nlnsrOB4UsjLb*|fnpHbyrT3AaFohuN zx~!LFxy4=6&@{}Krz`v>eY%J3x~BdNY)il~iNo#xPF!1qQoJ*+yH2gFpfO23hPfj; zpc)0v!%gel+7bo9+3;)VF?;}@TedRHqQH}oP8UpFPBRQcD_P$Zd&$z-%{4b!DL$j zxo->C8NSsjs-ys`a%gI1tr9f_3Z+TJ;J=lR2U2KC`!B!z{I74{zJC5h!0mo7HzL)n zYQb$eE29wfgH2_HQ_5-2mvzZnA_>efC`7k=Hgt>vA&5dlkguOVr9HphZvUVEs;440_*nQ*x$tKAQ7zH-Q5#!226OBI~+HolRn} zHN%|+j9~|3keF&cM=#8nKzUF1`xIt6c@IvNuA`;8ANzwJ6<{}b!zf9@q}+$^0m_{x z0lVU!RD;C0iY!5-Y!geH%FV3e;axQ`gV7X0a0QufIe55vG9TuWI5}}i##)c7|Ck-f z(bTBc>bc!fKTr8Eoo;@b6OK(Q!F{tD4Iaj1>WRX{(x&d@cYW-|bgenZK{eytGIQ82 zXv~|B>O$apVlItQ8w6Xz+bNh+uCHHHNHJTSwbsU?`r)hc!56SWB$8Y&>;1B(l)H`% zuEiKVE3RxfOx8!`lX25FHhj!@j1$-PsF(47gZ_Nl##W1}(Tnc=Gm?K3g zvU|IaIhMr;RO065E$^bW2U35ZR{onDwj5re1Ud;3%rwMwjLFV@8i7gN|G&=esQ+nW2KQ7Eim92#+lh=-d zr@Z0eG8U)zI~5B)iWqkqEog6!W)YV-m6P{KO>r)$RtosLD$nhrj)jgo-wwvj%wSJq zlpl5?HZ-s=w;wKCb1k%cuE{myb3seAVMoWpKy|{&0<7PHG26rkK60Z24jso7NIlef zBLJXy1lX0VT3|V41lw|qRFt$3fwZJXl${iO3gPf)QfYBdZh_@iS;+K{@890<>2keV z&1aG%Lu&1N${7UBn$nh1&V^iKTa;>cqNxZGX5lr)_xnynAw&hXedED@REi`URAq%< z00Oiwaalr2`AO96Y`1B72qX^z#^7n zsfgAGNpOi|O|wEEAekzIOFNAMFgAb!LcP11&MrzIB85f>2`4C%1KYC&qQK}_aS1U- zZ7qpYJ#&!ouvMtN(AKls3$dj5}j)FD;$Am%yllt|eNC#|>9D(}}i z3`j(ocuP5vL|H@(ks!>&$RFM{?j~ezJjKwnv&rA|*#SI#P{#+$8=72~9esuxGBP5h z+HSm=`bLN=&PIwjKliyR^rXIUb>oO-x9S#) zw9X>o{)ZTYzU8Ext)-hd*RS}&t@HUf+qwmp46d{erl^CN?0g99>i*!Dw=U6BXRRg; z8#`~J7<>*xW5A=;7|sC<_cKLSg#J8f=%B#f1Ks}0S#F#RcEMpA)85SX2mTW+ijEJC zvAdh>#b=`z_!m_{;p8R7CjQsM@0amuv_)CX_3XCZqJ8JH^o*XKJAlBw2d;6Ys+GT> zW@TP44Php}ZKiVmkua%@{N2_Dl(vKk1S#ppE%B^*EV-OR%za3~NArm9;*XNQc6?NM zZd>%DK}(ACe0Xz4b%8s5{Oke)537d#Ho3pr1sJ-qq$GDV=U4Fsx=ENXb=Zs>$aNf> zb)1j3a{QUI#_8wwjq1X2tfG8oxXanmQ5X#9MxNvH9Vfp>_hec`>+d5My zHVhQnYgQ4XIZ@8}m!H4hxBU{Ar_1HX%iHaCzh2g?np4`-o--<_rIt1>(}uXA`nx$w zh=VYzQaJ!oC19k%l=DJ>&~QNtiG{KhNK7kg%lD4G3Yyu%rpgpop`<`AH@{oT_oU`d zH)~U6qxDwDo^%{(Lo94#*BFB-aJt@Pc#Z6^{#6cAO)HgGP$oa zb+_;wT6zp#>v&l`gdMul+ODD!bJ7y-;XIH@>7I$#MPd|*M#gWtO=rY~FCn^XLHrPg z2t(QdKbnx$Z4)r>F{pz*y}MzkR6Fj(LOjKI8F0*9m$pu~Tdmo0l!%?WhKC^SVS3GHQGmmep_Yd@)kKX?a>~?`aeZ<8 zE3>-*Q|31vLAb>Lz(Y6UAxQLKQ9~nXDxJlB@Q1YDBeiGmsD1XRo>W` z$k)X6zDl1%T8~;UDs{|=N3XVV9vwAsiHmayavZOf56)7TS%|sxeo!tVDP<1K($2+N zhmrb~#W3IDD*OPQTrjAU90uX#<@%lV;Q;^85Y%c7H2|y>Wxwv~6Bw zrAlCBmJle!po%^1O^sV>f5#^wA_>AdmqJL0pegOoPe1?jU%$p6`FHNOx$WnRtu zYt@DN{3vdUwUQhN%dY^x-uF~yrQ_dU}GLkkpq9PJ$T_(r7RL9*qy+V$O|un znOI~f<~o$QZN-a(rNMCfPR6k=xJoUCgB=GwNWJ)niKd_GHlAxA!TY@xw7gS*i%el2 z^>LOm$D)+AHF1YZ+5S-!wnlWmuX^M|O$6uK&xlCQBn%ZBCs{gY8#!_XXmfknZI6Jy znFc9isHIC}C>SSZ&4UBTF`n%mV*tMLY&ie=Ew~rt06v4=cJQ05qO(uzG z5sF>I=YxO2esN~R2`E}BBotXQXlV&#CfsabszLkCj@il_MAjwdywIK-WrEANk;fXS zvYb#apSlj^F5&Kr_R;2X#$Ov|2mrI3c%p?IBhLx8_!uCEAx<5W+ycsz)U9GoAO%WQ z5FO1A(3V6P2>D&E-}+7yH4EA>hrmO8n2V$4f)%LsySmg4_N`u!G1ByR`Yv^Ju`(Q6Bm5Zq5)u7l7H$%1qw!Z&O;v8KQT5p8*<1{`LEh+qN(3YWZIx zB}`g#PAT2*8$sFp2nrJBfg#fuLG6PKA~6O#5p&i(Ckav?n2tjh>z$Y==M+K^);;eb z1gVXIlI|&~VqGLy%(E%7pcW9p#2iFee*Ac2p*6-poSO@XD25P--}g;ORFmc`k=Awj zfBpO4fBW{sX1?!l_t&>~&3TQHh;kt)^>&fXcrvT)>Jk9eztD!5fG}J9c^hZh9*_Hi zh#gghEw-bEvKPxfm{sj$CDo2^wgjBAYOAY&TS~Vrk%SYuFiWM7v|5aa?F15S4r3^j zNb!r8Cu>=2p$_Dv?LFG=5yYxYvc!;*`iV5OSdE$azU`krJ*PcG5h9nx4-r&FLTxM% zLMRB~dbL;YErf(a6y5#TQ$*}ek*#CS`T5f|hzOa}r}-+%8=q|hm~trTqh*$y`_v8q zT`x;5>#Lg_=#gW@NAbFLwFM87W6+lN_t)3Zw?N$&I_0!=Sn71&ZpsVmnbepvI4l;qX>v<;JIN0CFqP%e4$dv)aE8%A8UwLeuSL#3g!5Th%JZ?DI7v@7@CC!TO zWJ0}q=!qYoC=3z zADxj|2e$8->ce}!r@)O&2lqLhr9F&Z_Q}q{j|o~h82Wgu{*Ml#sjQq9P5J;Nrw>>p z;?n(mR^Y5;a}8S;@nKl$lt1&lCTdv&a*(dpr3X%TIMvO}M-}X}wK&}y=!hCQOY1w( z#fJ2*(N0#Uz|+TGS`JL&!+uD11r*KBIj4HU@yYjwv4Rfiu!S4uHZ3g?kK)PutVmdF zavaJnG=MZ`386VLq}4s#vJywyIl7Lvc?ie&+A-ORfdBaCuPLQHr68oLZ|}C&U^l%rN)p30E-@1AB(|5(e57gHc~$%*N}6*b%6tCu<+^S6 ztXhSi%p5N3x-Rj)WzA)d#EKwHLc;v=_O|VN3`>kbL4})0Y^O=iNufDsQnerWe7!Q! z_m|gY5h6-C=bS~v-@a$r0(*h3fqzvDPTLHvHBVfDC0O~Mi5VGLvoMQzPB@S#EE*oQiR}|r z%@C12r9FkbXJUT8-GBM{)3V02BioBqC}j|dPzVJpjP?b$vrITE#U(6pk!m7`!@rP+ zOt4=X^hJf6l#((9=9lk3G;M+Xe3z%YAk%QiJFdcUnCJk9`{?*Aj^5mpn<;Su5=rTf(@$OZZ1hu?xI=vy>s>VW>gQ<|npzQJ!YxT~p4d$8%&h1j~ zBlj7AS<@*7P1?~81N2rDbc&K1V_saBQmB2beXvqKY4t}f=-9E0N&t65WnXO)h+_$S++i3-;Ux+&gq&jt2(;(KMuTQ{ zCqUJEF*_j_F%S2_)*QHfMUA;YcY_vdV8PNgX(juCLBlejrFnRNL`jh4aU$V#R!!}U z6OUhe`_%y+KwVGFJ+GSK5B}kkXl`tHUzU0s#|YGJ))gHcC{Cp3%vFxzSJ5cKzN29B zW8(T18~xMF(`bil4oaIlGjSfF1?`G;bvEZ(#U48Hp~{yB-Hy))m$AebH{SP5+n(IQ z!+X{Fw$tJQ{mwe|s9N9N;|8O3BlFW{Hg(o1OWK}!;Gy_#8BCSIXEdbpXD->^CFR|P zqxZ7aM_{M1{^k>p8v0%H@Y$VOwp%HyesbPCvo@#a?hB+rh*bxzOrs{TDNyTDvdsh7 zY&^wIr8Fi9SAoyKFZVS2GJ!L2PrupD0;aKNQQ+~$sj0=d-iWwjA2U%TqMTDK%A(!? zf}n-tME(!$dMzu9`fqg%5G<&8;MoK4v;EUM|}ub*%CU4%b9J%td`u0#|TUYEcU zfSs!jXAb78O_rsAFR`@YEVi5`)vTmJYO-(vcL+-AUwzu;m=K%gOAvQiu#=e=2vfUh zD}am)LT=eGL_|sHzUL|88pK+yhfK_TK3vJF)~H*jQ3BY}!Edh00Uv-H{^=c(p}`#X ztY4m=zJ33ZG{+E%GDN{b%u?(z&J-O&NGXx2Q!2x>=6Gb3H1p~iV-jWvsj7saK!{pc9*`!tyc_;n2e>Zv6-)Sw4J)#&aW%OW^Et-%#{;Fc9Eafu;Do9LHj z!}(gRwnOm*iidD%mqJ?|qCD&*d=4{@cgpeR*rL0-xf;}LhbFE&D2m!;>J%O1)wmeJ zxqRfH%manyo@|&o1eO>B4V}N+3sm=nk@?iroiOWn(ULH8SwL&|{B)mt(Pla~@i5(m z=f5@pZf~E)Xvx8ANQ3LI3=oHrRV6*m(2Hrn&=As?r@iDu2o7A{XaQ+^#{JqF(t;H0Zm1}t@ZfF=YYkbpgL=xn^} z_o&UuJB^80D**&_w9WT9)97rQXVTs{ek%CMwGej+khUmC8? zbR%w)>mQ_$b|2tcjyoScQz#t?W0<`6h5R&>Mj0ePlLhtWp~8jGrAI@P(W)o^^;d=K zFem(Z8PxXNx4Pg4M!@h$4e3IyuU~(^-}fLPN`RV)oU-;iXwgc|ibFiw)Y+IisiyaL7IQu*F_tC_I*!Tb4tIzyh4*AQC;fBApiK+Hzs3ZFBb#Iyw12w9>6Dc6p z=2eRZn;@W0%q4J?P-_VWsZ_9}-Lh1bcBaVf z{dU`T;sqx|t-7}_dJsNNpg9Pof+6l~`kD_XBHki9+w#iEE)oLO$d{(}W1>B6F@D~2 z5>N~=XH{s{EM$PIo{(c-f*6*R5{#vbf(3&r6N?D;raC|czH81J42J*+i?vcIXQcGL zsgMwx)-Gnv7I7?MQqf*%)n-e1i83Kot(F%agr!Uq60fOA?IJNz^0(i=r~SS#w2P`O zkaHYhxw}m}L)k|IJ@T}k>#K%HNe~X^YRW(&dQUkKhb6|igb<`&1l^t5Hl|YVDyGd= zcSxZb;vHTBsA`J74MxZB49>Lj4Uuks!T?h&qB0%moy<);fTkCz8xXqn6cJa5UmSMvce$)e3<%kMNUx-t@0yjU$B-V#AP!}RkBWJqg_eaDZviT)W_UjTf6com! zbw>XN9EasiBN{M_nsU8AOHrn|b+^k*V9c>Q(-J`kIU`#xN1NMZ_e7*l%XD<%YFluV zYk`Vpb=bPNkk>hbf~#wsTd?QM={V?`@IbG{2hAeUlpu1pDVp;ugol|yMKcZO5Px6* z$Kh*9o!y*kVxyu@wyZ`M?oc-m*Yi0Z>=8iSveYStI%0*}mP`*CFb{xhmuH#z*;fOz ziGNrM)z2ft$pc1#9MFTwr}s#BFk^rwc(-?F*K!SAcneh4Fox-FiL&(7ICs$` z=?KPyyC!QO8+w4o6wNWORELh&JIGG7j;<9!1CkaZz6{N4Ca`i40;SZmEVDZX0JZxU z*LaQ^86ey|@6g7c8dY}q$3MSO&pE+mjX@;m424yhML;rqQQJhX^;unhld}>ih7e*5 zK_mvetF;_NtX(Kn-kMMa%k}b)fBd@dnTWFH<$Bpu zzTdaYWqG=;O#JqK)2yGLpO|>RZ>5q|i~Me!%+h#RExxBrRRw?^JErEll{%8OJnULt za3TFPS)H?=!b{}P1ZXA=S0{)zkB4@)BFmojb=wQO$_ZhZm}k4R*GO_*-f^%7l_^*c z1zQiYDVn(QKgAz1llr$Vn4sFOjFdGn=iM?Ei3l-BPJ5KkZH2;P{(x4-D74(qrCQ;o z>hW4t+D$Tm5`-ydwRVLv2{8pB$vgnSaudttx2k9en;oSW}?8HhI~e^Z~zl6AvT*pi`=ZTN^&vY&?bZdH8dal z=xc*h75E$KW(eHPGt}3l2hZjxoFBLAXl0ZOqH$p@7=~q-+R}qJfZ25^zzL^wl=XI; z)x@gwd5XT}m;$k)s^+W$s2~bhSirdzePt5PK}dq_+n^BAUrgSgX2ADr>odua#^=4>7uL=zur zD9}AD>*!=qCnB{q<6t>~MS=BU2{E7Q{*Mj;c^o0<52_i>(Wdpy(a3`# zzCC|`y{Wt3Y1N+aSqr8(|Bhzos@CJjG2jIU*Erl-&snsp`l*@toQp&2E3DtF?%%_- z#X}Eym@;*aFb<`e7&zQmF*_EOXawz2mCK3}0+7vgW%fvB5@iZhs$TQ!+0zz4g+;|0 z51j}GttTNOm9i+IAf{~x;r0Ih^8UUoQI&+qb`%^KJEfdi1SN~w`_Rx(C+>FF7Qt** z^6TXqV^ARFyzePUAVShyGrR_MWmXL#tV>)%yxr~`!k+eh&u_QwzVCKYZ~HD$F6#o} z%k^@hU}t&S^UK@q+qWOTe*2-C*L7Xuiy1{)nQC?Op7$v0^Oq$C`R8xnF6;XKepl7M z{QT1r!^_Lt+wDC@UY4+@{dT|ad&*jnubsTnuRGRaMX<4{7PkXHq+toc)B#d#T6OfQ zLZPS>jD?^zoV!)7C$Nq3xETs9JdT=2Z{{pgqI=TK^w19EIBh#zndm2JCZ{rOl0s{? zVpVoo2VxCL+3UbrsomGrTHg#6t>PRlxKevy7S35Om*w^K9hSM~kF%Db&Kv?~=$7_t zkfsqesDp(Gw&=h<>g6JBPZk=+q=a4bby?RX60)kQ=A>DeMCeltZ24|r$9O1%>UCXX z47to6>vpa7eoV8nU~+#I<~_hfZ!a%`%oPsd` zVcT7FQ%WEUbe9-P(@N~KWZE20$;eC646Hm(u8tuLJi4VP=!+{&xaLkEE5z>9h=FBZnPEQS_AQ$v;k9%tA^ZqGh)qNiPSnh~=K zVDUd?4&Y!VRba_;8tvfy8Af!T$vA8r999 z%FCm_Gur251VADP1kAn)GlYnQ5JQL(f{{l`yTO%$U?UyjQ4QsgHC#HAVyXdg$={8E zgGdf`yU?5^2utFfiE=8~YY)K(x2k<`P;mJUiHJy%J&Q;b(UKon!hn(Ylu~mM$l#oB zfB|;VjPCyK?w+;|YV-1b^>_3grutpG)xPW#zznuwbBjKhwOc22v#yWo`wHo4+NB=V zvHfW1RR$n!D$h8u4%*uxGzeEf7LGoo(CH`+I_#ncP1>|Z&}qIhQ^0rzO@JPOS?8t3 zI4)rFKEYuNWGd772(PISL-%zqDeHGkcJ=xM_8r|F?7NFJzD8$KKhZxm8bNqWQN)SK zd+2Sln@I7fMmxY%Tp8^l+NW*aSwA*C4X^!c{_m!wYKS#DLJiNcW&H+T-u4QS0C;lF zO8PBIK;3n!N7aB zEvJ--U}u5Roc29)6VP$f@D%mh>-#&(T9yA}S^o9gx0KSS>!*Fo|M6eH#wA`aS5VmY z6hcstX5II^?fag#`@RKXA<_&0IT!Szy;mva`?fRF663mr*Z13HU0z>bFPCLm_;$N} z`~E%c>G}DZ_I%&>m-n}vbN>psn{BtOHI<}v+e@CLLIqqxG{qDIOjIOBZ3O4Ty+ow=vx_2x zLx@BhS+*~`)*E%O)O-sqUZg4|IVov+s7LaMrmvw!6zb`Rn)%v)A$9@;+3`BbU zYhT%HluTG7(^5AWZrG}d5JWd+qIF&5{f4Z7g|3iTN{h8tyC$Z^w#%Jg-$w=OW$}wg zxIqGw%ZHxua4tLt3TD3F?)TSMneAN;l=7gS_1Vc0wn56NcJfzH!#k-2+VT@k@tU_7=J3N;j! z&K7F~(z>yBDzzcPq*po(`R8;{gS{LBX`}TrZI2Uz#3jI+eBdS4?pGEp7!K}G#-PDt zuMR$S#H0UUl|NNmw--=N>|xN1BX*c(XK|T)Aaf~+>1uTS5B#=d_IV6wfC-#-1oC1` z-=zq*L`)gNHk_#4op1=uEVky3A&5wfMHE;fMN0$8AhZj4Xxg}pJGi~xnF@|RS@WF;sLp?^Z2^01HHZAlg zS6B1{@#9IM@2{>SK9~;vetI0@F&b2QpKweC@jZz?HoD+p=YXkqJw6SbLEG@)C+R%5 zo)4lV@?Q-PEOu`D-gyi*3e+qmX{eE+xqS3~;xM^6IBVEP2LQ)=wu9MDcUhf8o^9}k z%B1W!B;mgIL}dl~!2<}#H6M6zwol)R=1uwi$1C~$9strJTn4EktJ=I;)sG8%Mskfge*X^LxrY9F2-KrYS7#B`bJs(7Pgd#uaq;Z%K0zGiL%LvBeDn=2A zr>B}pzuXZP3L+9hh_>V?vZ~T@NNER{go}r}dBzeRZ@FE<TFE=>o8}VHoYS z;MOIvj_`_>%uqF2z)9}49~Gfx!MZ5|D~7E;)nG<`u+yLiila{D!eHYA2EFWwUuN!)%<{kt)-)O|`TXf=UE*ysQy+y8R3XeU&>H#6 z=cnss4MxBZZ0aZw*)z#$XW>0<>$+&>tfa-W!Fx)#`)%J-jA2iEN-1ZEiDMjo&`T>z zq*~UJK;?pG7?wCjs=5XaBC46HDz4nG3J#PHTKtxF&=LKOY7ao6nq6q8DUz9pC}pT! z3;@kvIxrtR#r-GDT#l?csHB{eDu9%;YTmbf+jm6~SQT1;z24mGE3qU-VQY?U0bt$2 zzVBI;NECQ~e~39Iw8LO%P+W!M5#Hq@#Phw}6`_=A`Tb5%b&Y z>vnsK)Dly{=AED~anXj;Un zK=X?p<|zWvxjUgOg85XN)TNFHiNS9=8JMeGr&y~5a&+%9Cf3SGI;iHE>eCqxXQ=NE zFsWJCfs$Le12eB{>~Ds7*e3f;0}>3wDfTBx-B5YeIh$~gy~Clp4%q3x;B&9_n1|y3 z7b7f~CW&w%U#SiYe?D2c4WR<{@c^8h)Kf!vR4}{J$@k{m6sJl=6hjQ!vsQSkDoHtsj1Psbw2Xf!724PXZCVs*fIjWM(-1^Eg=_;%9JL`yNVOrUMYd0fuYvO&`+$Ct$xboX`9| zRLSLNw>XSCglCJ(2gUkSYV(J$6n`X1;s*orqh!dNn{oERJz7l3VQ;{LwWbHajT#US zbA2$yZxXw+O!w*L;gx}7bnb~pZqf~dkKYR@9YIz1_B8H)}wZRFP9^nrXnNGIZ_y@Nw49Y>Dx5 zS(t^HQ?@(=4k6y|``i1Ch*Hv&@>C-H`@j8F75mG}WnGy$XU#c-)J~E;?LU3}^meFb2vAjJ$U7@-qW zE9}+-J@vaYaG1szb|PZB@B0^`oRx^P=KFSs1*O5jx0MmBYFn8gl5$p639(;n)vTqe zJVq*6r2VJsRe|lkU$2)SA!S2-nVE?@WR*DtK?w}(-{lM_u$GW{t`-QF;ME1y@TL@u zW=Akl&M)78kY?kg0zBYL>6~tIqIfyP8=cTBK!YBLN6}GZZxAau5#3YXR7n<*SS2YI zsn{;Wu7~g%A!>=i%~;5Mc5oi9LW~nQVmz{4GV#dE^Um^C(sG&30>hM(+2T3Nj?Az3 zT0ak($}LRBqG@cSA%x4aH0kjyC3acwJSsA$D2KL7^UZ|1%=vD=>Vq#nHgD6noI&Tz z+_Q?P9X%Lz;F#C?bL_!sXFZi=6Fqtw*YSWo;31!|{#cA5pb2D4y_zlb(Rz$f7*!%H zrHGdn%RwyS?WC>89do@ZW22$Vh${%fT0(<<2t)~iMN2vpB!r-<$a;vHXdf(xC~NIG z7BjqyJylDy<(BI$fk|MrJO&bo70Hy&XZP)4f2R=P`3pFf9YavOU%?iPUaQDTH>oXN z-Qrp&>4@Vwv$L{eycXMx?$nkxWvs%lAICb2Yl2%~e*v}7b5FZIs7J=%F5{g3Kz?rv zU9hq~?g#S8Hw-w_9eKrTPgC!65&l4K%R?Dmc*K~(%Uw`Z7#~B4LZ4io^fO0fHBYt; zI=`WC1uMG(U{Fc%AKiLr{Lbj?nIMF0Ksa%ZkKM2x;i_O>vCG~pz6qm|ywJ)a2E!kfKvfW4fBCeRiWgY$Tk$V8!q zUsQQj9jLcf#35T)P`%;yUoEP&jS1&-zx*pv#ee+c*KJRx6tX$2-ByL9wJ`;IkhPm8 zX(m|P4P1gKpqiGrs6sWRoGf%NgrJ(2<+AOsB>;*DM8Ev}<;#~(x7+q_mtWZItW2tu zb6(fw^Yin*r@#FC<$8VEb7G>u{Pg+dwta%-ZE%!w#eoFSlp!gTO3u68*J20~WLaWb z^0se({rN9zT)w}){_~%|5p#@D)et^p+xn-=CFPuQIyRGS^eeSC(X0wB8u*TsvmrW( zNEAMd0;?IK7-69h0z|-&g4U!i)3SD2v#Mr`;8iUJIkOZ{iVz8JyS}GH!u2S8pjX7{ zO0o6~%u9$wq!|QSVzhHX#6ZmzBwPwwlPpe5QZRE|9Pc~3JCL_ zQKC<%3D#TIa0%!rC#%9?xxwfAN4l&FR5LV&xPQSxy!*~~|X&#=NkzVBEL&k=DIJJGZLsQGl6 ztIw-;*g`=yi?DJKu~|sb0_$X;FTo%pF~%j@mLmkq4-soQf=G=%Y!dl#B%y^I=R}?Sk#?23K zuYBlRrhY~-Hw+o@TJ#Y(cdF*cBj17>^Blp%1FFjx{ij@}(;44!HF4CK9oIx3tUgZh zk#j566COWuWw_8HK8+Hmv%q_Ei5)ldpkX-lu^ou2kN}Ss7pK<@$jkfTo|5qV2xqjG zg9w=m_H|Yax_h>cytlRyJ6(u1Z6OzGp_2qO?xHtnRwCB%-afD0aLizGN3D-8KFT87 z+;K<#~Z3 z0`}<>gbH_6OjxB7VkdPrPn6U4{`%rW=E0-q`>?Qh#NzNGo{<9Jd{wj9W_UCUel;a+ zQrfaYIK(ItLI@?pnRx*0gIRdqTyW#pH5zUAvzF&nqbXlWRLRz~@wPHP{;X(z=;C!}N zLdwAo>`*uNZedVGhYjw_&EI}FM-NJ;vsmykI(^te3`Q9mvh3AgM|@&abRl<#lIa*A zf0*j>Jf)5yO4O1y&Mjg*Yf=h9f&^g+!k!S`9<7vF>Uo@9M8RhUQ;Xnf;ot^Gsi8C_ z=8PE35(LU>`-)^e>ipH?)^$j*-XjM4l8FRiCN{xVnLFByGuT@i5kaa5c|TNOe2`Q* zdHPuT59P?r-Bp}_5^Z*_?#7nO{gn&t1}$T@cOZNyZL1t>aC9&YC^57=Gvbql(V?!! z*(41;Z?TIL`QWvASihbrZh(n6deURedusf#i2~z-dopkzmoSqvVRq)Y<&4yLim74H z!vf(T*O|^9@IhXMF&m`G5FI_~*mFL}aXV`@sV>cr`=N1rb>dpY=-H^C{}xg=U;IRm zw4j6sUVIP9bu$&H3-IiTr&T8j5UY|1h?F7D1v>9=rqA`@6r+(Y19z~)n+Q)gcxMN| zP;#(k0&*R%FyMEmk`+ZUFu_9r*ei1ZT+FPa*<{l4wno?-}}o~}f^ zN&pdOCK#p`0LAbrrNqo@47Y9DQ~r5f_oVkd6NzxN=euWR;`=>oCXr=bE?ktUWp5CI z?0dT3_dVfuzh9QiecN8&-j^7m*)(d!=M54L2t2qsyXmKoY^wq{!?yV%?H0f`(^uq_ zVvyjw+*Zh-%O;2wECNy>n3ta@G`_PUE6jjWgifuT z5zbut5p{PTiGdH|V4lS#XZfZjZk}JieNXo{_n;V(l?U4m9j8nm9E@HtOw-5=Cr7Pa zR~AB&K(~}LQ7CDErFZ4PRFlYu^aXcJRs>UPX1T46otL1k;#+y-lmN`WZz7*<(xYTS zOL6y#attClggSfSOb{vMtuYUZ0f|L~gK+1nxMW{xyCE?kEC{TQmF!wQCYLZzEKW^K z!lIme{}Uu+$svTOluBrlgHnTScW6HMSOY}rU#Br#*}iN7)&MqapGXLyeSP`}v-6qU zC+M4Mg8S~yx2o~P9^xa*+l88nz~jT#2g*go4t6vrJ_Uy!g!t3UmHFX*;L*n5kqDKC z0Rhn*K+{Bwz31dd(~m#0TYSufoqpz!3;A%{Kp+0P-ncWS&c|7yd|Tfv2~2YvpaNHH>? z?VwW!Rhx!t4rS}Hr_&IvHyKqx-0BLPTtzK$dYU)DC#8?>4-@&8!(AN|M}~;lsf>d`Sp^fAVS2dC^n1%2stYxjRKf* zVxsHQ_+`yWo9%( zZYXJCU7B2aM1O}62@Hjba^f5)*fFhjE7cTzb_H@-aP$G665aQ_D==omvD1;bVc3K% z9JT92Y)Ux-2?ZuEa0r*nC25u**Xu=oh^q0BDCP1wm{XL9 z5=bNl8SFZhPLL5*EvFwwZBF18m0wq{%dRf^9U4PSt7fP()xPWcCu3+pMLbc4iGv zowK$sg^#7_bpE*M(3Iv(h8(Y2n);NX+!z41Vd<8uW~679K{m9+*zv0vJ4bZBEP$~R zhi{R1(2rCbdH;4{qGLe{8q}<&K@1}$op;QBT_GFAc4erX5 zK7gn@WWO`;w>TM#_=6IO-K@v)$oLo)XR>C-xdh7xr=6<;*zGhPwF^hLz{kV?IX>y^ zH=b=gm>>2(@TruOZG=W4D}%upoozgAa{7#EsuEmR!w+O&$LHUW1~lIweAd;2%XLmW z^^!<3`!4ulYjl=(M3cjk#-u(zxXsk>rT{HA)N+hzh2WW>yzoJYQNp^bd%ROYrnOZ& zIIC-wT}=51i&3v_#p4MmPKpM&@gNsorS$J~-R8F)1*&JK{aR-s)5h4X=d~XHR=p(k z`|bAq8CI2vRbQjzvuVc z{r$ebzP&;9zHNKXnl&pz2!H*{FW2k(&wu^)^71A@ig|#Fhvf68=ik2n_#gl4AOFYS z|LuSN$FKj-fBy6T`al2sf4+TteM?f3l3M~hRCU{vs&4xZqLM;enB7o7p||_pE{Lq} zmt|4aJ*90=1j?FigP%34VvWl#DG`Hp5I>u_z*Q*F$D;AsQ@-yhyXo-RU9k}p*wu{lGs&vuqEs*miN+Z3 z+mc9*W?OmR;iEtRz-gn4uH8Ovak#292CohCY_#j5it(a6 zPG1KC9U9w^3JT)Tgo`j|Zgd=BvXQlKHhh4Q>dEPagT@GM)TYt?sv{ovziEO2UtJwCul-yJ_PUnN8uoj<~?puo%) ze^Dy8|Q36!$cE5yW zS(acJYRd*>7P9mqIEOtOJ5c-Frs%Kin^_v>_HR$b7elAd4@$iOc;J*G>PuC$@G!gY zbfI5uyD&=4-P`kEcn{)1XLXFfpaT!@!@)m~lB82p0X?RtOvouXt}aczC=Kt}5h2V| z{q1`a*T?YLcH@Jj#nbUW9)6y)JB597;x?kwWuu2TzrGJ}<0N+z<+(=Y;f|>Pj z%`45{P@m#dhGc#D;#0EtprW9Iu)@ohTgnGgg2mJ3~@Ck53wve>C7Hb84= zOjZ&$gH8V&8f)>lZ!b`U8p393B`b1?D5adWpK~ls*#(a{UwjO5xjbFg<@59N^YeAz z^UKTcZ}0cpzS#nVKq1I_xe&A7ZcLOl|F^&X5+(fe*WZ7~^&kKI zmK74hfBfe^o}Zo-yzg4q^;)Z21$5i9YEod45Tx}^N=$(z1Y)JKhXSu(8cRdA4BA;+qn4&GJ9^GYBvq&t-EW{AhRGG#qC<9_) z)=u?Q*l(l+z2yWx-&7NwXJS0kTXJ9)R%l6(N6~hb06wS`w}xAyqu4Lo`%#W^Ci4iX zDv21&OF>z&EV8E*CA@F9zs8?q2)nsev@i{!FY}E-{uUb#4)*ef?Q4h#sI*mjcQp zx3|~(?X3auafo}GO6{I=1vjjmWHUT-AnBmBIn}Wmctb(=ta}DYh%tr`sG@XAtTOv@ z;$X#R;>sL;Y`q{O!A2scF!x6cE%meax; znZ~AWK;9 zPln3B)86Zn#gpQjWDGdLzD(!zpq(DhZl_e9z&$wGvN8reTJ&5NtAvDYF)XoW%1kSc z@@p#FyG8=H-9LI^Ul(2Cc#(C>>4TY=hDN$t*GZU^nMEX6>Z%qFO9m7wQ9_WoR0Fx0 z-b)TC`wtTR3S>($Wy{kQnJ$DWwPQfnNKx@a=#M2eK1{upE$nk*ni7uNc$S$3lc!o* zf+j|X+gZj)-!$P!o9!P#ZySq7{|~fJb8XKjo8ejg$LE#(tfD{02u^*DoK)fLjSxqg zR%>9`g`S)^DCVZ+(aZV>ybGNF`P47qd@@72$g!7W@^~^FKT~o6Op^jwXvmw_I@21Q z`ZW**C$QHcxja95v2?Vn}goTT(G6Y~C{dQ=)s)Tz%w>F1wOx z!_E)8|KTg9BqSNx1OtX%$~or@f*w4JP64d-Os^LocS!+vHwnQKIf#e?Y0|XqUA<|z zXOTda<_u;QRn4kVLN1nl5K*l_xDux8FJ#&^uMmK4+ZKcc{I>1)`^F+A@VyO5>e1`l zNDypHIgJ-^T+$BTu2OmD{r2|bNA2sqH4UbD6Kr+Vb0L@~krQLSkaJQBWDXqe=vNGa7EFVAH}xG~wcX#E@`(JV zg=&3&Ga*z_V%a{lHP580;uwYe3x+p(0A zoB)Cdt7dTEBAGT-mHi*ME0;$@jwuG}+L(nx;jX&|8HZs!e9UD1Z(7@setmk>CQ!3&~Cm%lKkz$}^5S^tf zOrk(MZfftq^Q=bXj)eds5_N7fF^8xkC~pJy!) zJHG8{R{FSlJ@m+jH}*lOyxVC$Ue@Z_4Rg9jqc1w0OX6^a9B5#r_n*fE)z!*}g_plY zj%q#N>~fsOji8U_j(9kHV0Y)^6VPNC)s=tLGDfD@6CHr~=8-;%Y*;}rZ}*qC_d1UQ zh>TMNt#fT_gP0U*z#*e|BDJx!HUvfgye7&rnpPr!B9?-t;EM(0_A*}~i z@blBt`}^H;Dij*3K&G9E&res70{Zh$pT7TiUDx>a%k}NPUzQl2FCrm`)FT3#b4vM_ zug`nROAO1p*elw%-RMb7e7%GpukW|_-A-ELK@lhmFEMWWo^rCYK~oU?&$hPapVvu;^~mRi~|>`#vl><|#>2 zM|-C9@t|)LFOUdtyJkg@UhY}wZxDZ^NZWz<==I^PC`snSMvp z4xnXOqD7K}4j_-gsxVG(gn-xYFKM$Y94>>a*VqqdZ8){DO?+TJ&OBUqiU~?&=&CL2 zJ*$$4xm>yMbSlHPMDj5EJ8p9@4}z(t<*|i6i#YaPBaC@c-!Q`(Om^tdK5I_6B$L|8s#duDFo|a08fz408mv_4`I}4+LHV6j zGA_Ma$Y3*MIei4XK5*zsns>gkshwx6X}g<%if6Za+l)9=*!e*{CAi~kh6?ZbJokez zhH*2W7&_s)j;U=4L4-L7SNMH-ZG6UH80rM(1214U0C`Zb^ZAtVJDg6jEK8JHAff$# zwfs~SL-__1V~G@G8A+i@I_j0}THqEd!kn#f@Lnm8qUMLIYi^=Mo^!0-aQoo+K^-Mj z%PSnnugW8|F`V1C#%7)HiJxPeW$iNyV(@GfSr8C4z-+$cR?=eJ$C9M_cCz-L$L`Ph2(;|L!pu|Ds^Ye3z;pO%9 zzNH|tUKZLYNQC0P?O&+j z{`%Kn(!T%S|L6blm!H2V^1uD<%k$F{Nhk|01+>6eEsxe-)Mbh5Weq_<97O24?kQ)@ z1WJ1n3D1{w-*$y&)tr@xp01xl5R1aNZF`39DG^Z&Vb=@_0-LkDdr!Ruw0tGzS;j2F zM69Yxsw^N9mW&22Z?~DkmZi=^_2WX;mh4tcC3TKhnKNc>*exEn7ypbQU#LknTSbXc zSIrny3Z@Vvlg7mm6&n!;mdvC`)E})0Kgg@BQBb*Pg1qd5FXUz!)L`&*b#^fe{3s@`5C1UO|>|NEV;%f0e1dvz{r zSRUxZq_yW{^1+4&+d!L*kW_pocNa>-a-zC#m;|Dv2iqM8q)H?zB3v{57=;;JzX+iu z)5Fgej_a>NeCQ9&vmMs4M#sn~7vxGV9=%KN26@>qG;lCqf9i0rGp(OL162*0ni&H# z2t|N{8wXz0IdR3rcR>q_MpSO7l*aoL*3wEKs)pmI+WBj@nrob#J&$g z9t*&a07b`ui}54&EL8r$ra%wi^ABe8A6PheY*hFI-4y;{2~*n-Fdm^0dHg@4%K|6u zkn_Wp3zo+Y(}4eEYagN%`USgh-ijpmFVbwpzCFMzFvvw(gyFyLA07 z35TL6vgekVg_wf`%`Hw#Lf{x85#8@Q6aDpWTtR;4;k3iLx-_6!UEC^!kTqvMotfan~s_vj6VHQN8 z(0+?X2sK`&X={tMqbUoCK(wc<3LZmO$L|=sZ~lj}U-YDLB1)PTM04k-oZY^MPkmoh zskba*hyf18tt)k1W>dwKH5;NAAmZEo{$*K;lU|s?B~uj)*0_W{E&IOPe#!}J3Q8-f z9!W2%S%D>nlygowN`zwDwlyxQngABzaC@rH?C604DvWBY`+F@$Nh_+U8Ll~xa2p~r~4gVcjv01olERdZ1dIEJ3M(Gmuq zA{>xnRxh}W@IKqEn!};^I5IIm$n%;OTxVf2gOq#xyOE}uK1z6FkuA0CN+k}q!Lda_ zzs(%o3~;?Z+Eo*TY`#}dDzQTgMK{%*CB#Y%2wvh#yLGpezKme$g|<#Dq`!$?)k|}` zZ;QB(Pl$3j;Ta@o$R?VB_`tYGU zMZK!+2qNUMB|n2+;c>ZnNcsb}jI9$r*vT$}hel%}gFyN}9HtSER8nUQn@4Gcvqwk| zOHoWCxkm>mPM{?|*?k!HPVWi)_OILzw0&6R&FC2>(z=wo^>NOAv^~T5`GKRp7Q+*s zPK*No3&zEIc_I-Q1ZMJIIQ@UK1FP}es`Sg6fUY?&WMx9SNo64xZnj+25nx8M% zb%|EtA!iAaQ;rb*{B!~E6jl<7F=5VdBpIr@#&BbSk}!uLW%orSLRAhYjT7pnE2T(MtpF=w zVsC7)t1SovYEWYlPALZoESa@jrP&N5<{4A9)X0=_l-zDFTxa}haA&S^2eV?TMhTyu zpTGV7T{YW;I7q0&KCr5A0JId| z3?V^0C=l?l+rZdldXTqm5*kryCwkYM3KiPk@<5ipW`hnA_OGZb&4=Vv#*8IW&8BO& z+eYa3uBwb`9{iJ+O3rqN<_gYz)9tWGplQKg8p)2smAQWpdEUN+7+}gqi)~CaQ$jud6aHo zK#93+h}E9mpw~X_lId!`I)}@zonasjAxgQc42EFsY9M1-@Q`JOQ5QRSo(fE_kh#X} z=c4vKxL44#&q=uN$j$)>!+xV^!DtX%`Xik&dt{%# zMs%cpoh}OWpvj?8pF?M}^J8VKUI=wsIv<)Vey|Y0BWdl&Ss_PpKc9qlg8xJ_M13xL z3id^{bo1n?I7?K-1C1FUCTI^^Q2t=L@dvk_!6SDTMTx^TOlMmZCtMwpsRn7DbJw){ z$0I#y`(`m_gfCpjfCGj7!v^GFD>{vIWt#vRA;%!D)u0RI!I;@Sq8=dzRZCXg%TNUiWzA9K^XE^@^78h!?|XUkg@5|``QQKTuOag7cHh&! zCrdX%5Fv1=@p(o&g(8NyUKSfW#u#i)Z$fjsyRYl|`hHVT&ie9p`}wD@@Av(_WlJwn zkV4tD$vLNe--+aUT~k7a3TLTC`<(UtepA)JVcQauh|sS;UI4@px6k_a{;r>{BH`ur z?d|RT>3Z3=?Y?Ivgb-pV0QYAiYdO^HFF6A$fmBsQmKcjN8brDi=TS~uAy*y4yT|t*R2?CF~ocp8(1w+MN+aGHgZebEMLzSqS2>ZHO`);?GN!lyMwkS zt!^vwA4nyg8Mv^r?pnxwGenTOtPD@2l~I2*-Nl$sG86c5jsB=zl3}RLe;Bno1xJ8S z?@1@SK|iB$8xk*?KmT2L>^t{A#%Egy{xg1z)2yDe?F*mH#UEDdb9KwZn?}RPOlaD& z_IF7h*ss0NTgNv@ zOn4|*z<8oped*zRgx_mSxlyx%0tYoKqq3sPYM7fz)5Ap?Ys4MPTy96q!{`(^+H-i+ zo*6UuJ2Mx5dJ)eL-3JsoBS@L@rj)Oj%hTnm&>ycaDP?mdK3y-r{QT3GPgfS!OaO@l zA`y|CHDygnQ_cX=o{9O#%j>_s{r;DqzAkZ5Xihn0sLHlyK#3B77{j*Z-+p`h>FcK- zuXj~J=GXVErMoJ1yVkrp0^Rqd2`o7)jMJJ~p-7rFD-mf%%E~c>5Vn0+(C%7+7Kq5=1OEj5!1m7G6Ty)AQ3+bB-Y_>)K8q zO>y6D(7ifvfN?2lA77DOG1+>*ZG^QRE%l`5+OgPYR#synQV=19u!PtUDG(5Lg|K-q zTYWKKl~ADOZgEA`fs~L{S7xa0c`qw4Af=S{#3ET!9Tzg8%=5Hfpju0EOM6fhQCPJq zb$Zag@5{1e)fnS;-vJ2skF^*tOKS~j`?o6cp;|u15OzxKp+QQSm~&=+yS+a@U1Esa zw#68v4mSbif{JDkA%j3{2&PPcW?&65#K;oh=h;51x}38;Crwj+`To6<6ON#xUNw~Z zsEmuRQOw+88hu?$qxmNnT-E#j<4yxCa`Db+pF&}axiUv@KU~Mcjg<$UtJ1tpR zVFl*6#30f?avt~lV48F)N23FVUK8VAtLaO8SOT1!-Oiz>tq1SBa3`VyFlHr?w@JEg zc-TMjAys8u_VXBzK4=5j8A=Zg#i<~9>>5X3$AE4!bXD_Lcj!UIS2vj+8q=D3*q_^F zx}B8MhT5E?1$VZ)m9&|^V-W`y2vC38_{jEfZ26cDuJCi=8n|n!MPJvl zi)pGN6DHxK>#I3Elu0@Usu!U{hz(pM`FN#PDErv}{-hLUhqQXU1i-=C;jftSB6^4u z&Scus%*{_wndI#?dY z2R|`HpZiSo@q4I`ohp8fjz{9L(_|8QC|05mQySH=zvgfyoV?+KwBWEpL67dJ@K7&n zr+RB@y+;+EPk4{NN^v7JtddCT9F6ZX_y(2x`erEw=Z#m7Z?mIN2c)jcHU) z!-?CTf4sgCvz10#nhxlY4hdDgtcyW(KRsQSWxa3r+qSEgc$+avZ@YrFJ?$ym%`S)tbIN&LmwnIoJuS=f zuiw7^{L`0PvX(%xTlzFR^F5k(0^ z6oag*6=q>wR#j|iQ;=j;Ac~ZAa_tuE$jd2h+l`50h-=CK%-c+w0WAtDzcCl0Tv+cF zlw4;3wYD>%yf%;-H=%7ynlHtEc@v=5r^`xG+4Q2&ecP=gUDt)AHmZ%cVvgtAmaA1m zi8Plrf;~))*yRFAFh+z*+4qHu;gT2(;wd+a^kwb0%Sm62+47*iK~D zx{rH7#)|NuO5f3fu0h_8rCWC`>sgVTzGJ z8Uu@Pj4=w+5&=>*o0GB#5v8PSmAxrpS(hqskPl?2ZMn+CFE6io--A&t9^CtJOt!+| zzJhrTd~_u0)Uec^s|RQh-%{RGSwaXggcw6{jfu3dPm*Km*wm(CsEb>8wkh#MI8Z17 zY6L)Aj-EXoarn(5LX&a$*O*5980yFmr&mK!%iL5}>_bmz8k&=m<&*>!xPNW{YlD(> z@nH<{x~|2t+U%!ee%A0o_`tjIuFsw5>64r61YnngR*AZ6fk!!)BVLT35^&N_;*4f_eDbln`pdghA}@$X)OrUXJDx*N z1gxgo{%rbLsOZ+lDQAIZiJ>Zp;S;Qd8Rl2Z*@9d}sPKF_RJ@@1%ZUN@vbOdiu*;`# zcL%$fHkDQVV3^tgSW*CntU5MlWq<8_$`ON?Al5NhxkLs&%{XT1*De3C7-kB0b3?aL zYt%05skPx#a{?dY+xVg2%CTSJcKwV~2-5f~`KXBelZqbC@j5mt6ZQ3jH|@A2`M3q* z2M+~$*e&49ZlRA>OgK#2kN^DO3;#3wneuxTeAXXM>925UuZNEh)0~gH(`VR|4CzIu zH>0zCthc^kV)NobI;Z~u_Dbw}?lGV1qYf=5PRxH(O@Q+X!=02Z5wG3Bh*(SW1Em^D zYW`tjRH;?(Y@8GT-uS^hh-zB2c|F2j-riG6JOw$Sn>)B0z|aKK!|fkSSpk<)tbo~ul5T93s*(7 zSrnvn3IRZnXoGnhz6W7|E|=xYr)LpjmY;w6Ohii*5dHM!ON?^g_LMW1l8qDaIwn@a5C>cHiuRj280DOhQ5A5-Dy#+-HLJNyiwNC26TxX;50&AM8~d<991sU?f!s9 zuiZv-Wtp|CfXrPLChr9j^yB| z^J5fMZd^goSvT3rdv3{*p4M1<8E@@nOfHs3;`Z)%oK_o5u5B3hFJoA^&Kd-GO&ksm zli_@?KwfqRk0wJLL)b?Vh+{GFI9H2)`fSq+XS!&cixSz|31+G!(kuL)-ZDzCO6Yh0 z7yuIK0cie*2aS^tPLy)5W+~nhi9uqhvm|D36FHsLpA|StTGw#B_E1j)@Ol*|n6o>% zqr^-ut={&b`HK1~v(u^?nxR!|OhYR&Ehx1N&iq?@(4{=yUHq}m=Z}O&kK7=qhGu#E z#Ez4mj|%rc_niOCzr}}t3x7gV^@s8^`jGQ`EWf8$t&RXY8Rq#gPr!&-qa#OUZhFs0 zYh&8aiMwXH2p^h-@KH;A(6iyuPNw-`z@spB3X^h>Q}{8-_>yr-7WbNzv&FCv%fO?s zNSrM0d>C0B)37gL`WtS%V6H)cjt0_#tW*ykOgDe(_wo8u-@g4w+15Ksr#8+ilno*= zvWUFCz3uyE|NL@UuItJ{mL;z1s;d9>&tENgI_GRcq!?vSNl2IxC0NF}f>PG6pTA@+ zK_ix8p@0YrB&jlSjPd2|{im;=USDsYKR<0L_Zh3ZX);q2fQ1lZP#fnOz^X)zFcVSU zcP7Lbu1mD>lWKmttT9STNdkR-zCJ%)mv#C4>G}2T#v<#otRZeW+ZHG{!&D)Al^Vrj zLl_)bf&?N38GFh2O{OwZ3qj!!s3Dzk_#U>efY>NnJS)z{ID=7Z!7|as`~ALUmvo7e zfylzL?Z!p3?Myo)Ss1EJ%wZRz7^AV}t#Vg|urQ0s)oLNDhOyeWoKzd`)!K~mpwcxy z)})0H;u2zrp*4-fCV4I$g2?C3&n#hC!ew1Ryl0hiid$S=0q@2buItK#5CVZXiWFqX z<+ANs0$8vti%3zuzwh^b&#G9WtZOWiHUQbgRT`L7B*b9Sv@Eh4y)DSPETtL1aD(Cl zch#z%*B`IQxt`%CcE}M@1;#-vpnP62@{ECZCQW? z3`eY$(d0M*qZAqgu#{VqIcnCL^jxSJCYY)3Kio>8$T!)cML;L;S=ZAx7hvl7!qYSUXCv(0!I-q%S%QHwG?aFEl3g)cwO4de&4b+fJJX%)H>pnz=XqE^Pt`8Fb$k{M2A3v z69v&^JUNX+p$EAf^dVrEr+fb7A2GDLn`?MR7l`?{kt(b=gI4$Jt1A#Q+=pt}uNW?)x&ic=P{dT+G_mrQmPfHB@&M761 zfq=^rg9KI0ge4Ftu1qn+Wm)cfV&upUbD`}dbU z;ctKYdcUXJp4wQm?tGMq_ncl{Ut^G`>k2g#Z~1QDwhaIZZ|$yC*LL4F1--t%8TI&I z-+nw_w;&;DHbJ2n@E`;xV$Gr6!p#CvgXj+`M(@O9W~Tf5eY@R;G>6mT@q8wQN4HHP z(s`W0r-?+ z3*LqWq&0bYu=92qk4po9n=L)GRku)rUMV|5F~|jH`fm}l3sUhKAy4e0UYIiostBPc zS@T@awvabpf#ZP`7w#kL`OeJasE{$PyAGC-N+j|ZVs=NrpRZ53shzk3bAJAr+$$nT2 zkPrN*!UCRZE3J*Gi1d|D3;FFO#}Mj;>i+jzyLPXKf(O40dyn(1X*rQ3_S``i?lBlS z#+u|nvg#-VLa!mH<}BgZVfs+9slFQ024v%zQURR+~$NHaN>ZImVAIf z^W)%=Kk;syHr|hF`Vaoe2i*le{DDUlt4GPE(-zu&5BSe~^mNvroa(zC0Ji_^=I307 z`^P#ooccG89`s_p;7;A`U&S zA_2t@9f3A!g;Nan5FtE>L09$q9j0-+{o}{$o>B|GMae(Fp$Nj$<+APD+wEqL^6B|$ ziP7#rdrB|wH$Y>IK?1KarTx0b%d&>RzkL1t{B#XLLI^~ZayAoi+V#GqZOEFam*@5Uwmn@hZ*TV{ggxn&tUX~V6?9)R+u4zFVwTG)F@&a)DuUFM6Yk}MA*~Ch&JtPxZn4bl1ai0_iR(@ zl=AEQ?frcVf$!U%Qr=Ud$T^j!PF0DDI7Bovo8%9xi0Kqe_cDakGLJV4kkb3>DsQX;mP<&kBf@CuC`;@G;c|jIfTd|mP|DVLVx9(NF^E`gVyuqzg28>*jmD z+ZAj%#~9@UF))u~-=Tu<^|zNcVWL@{O}wDMks#CUei(+y==)H(I;j+k{*jnQ6A=3( zISjNKM*lr%gyQjfX3Px7leyzzVu_AUKA=58h&{%t%qdI|)q@*-6d5bY_T3RLLzO`=or+9Er#=zutAq+#y%@3Lc{-8H_;2zPrpTXJ9;_+hVY`p@% zCOu+>4=dW498lk)G2?+Sz6gGxSfdZMZ6B!1jxEI4eG_~D`uGESaILsN#*)a^%qnO5 zF_(w+z&kOaQCf5|oU6l18Xa0JIC;_I{t5>u$6-;;kG>uAYv3}jw=D;^#FCCcof74> zyNuxt_tLVfrJemJp(rBs^7`KHqdgySVDRJX=cgFM_m@|NYSyrXpT2$};;fmOZ`=KL z->%oob$KGDZBGLF`qP(Re)^=yudnaV&(|0tslPQNgZ7-WYO&#&Uqyta$X|syi>&MN z_I~?vdH(J9@4x)?wRjXtyN?%%H8BPW#6-&ySnQufVJgZo&6JgNM^1MC zVkT2xscI&cAm<3``fg=a<3pkxXU^cu#SUTGEvPO_Tw-|Nv(c8y8>C7s%62`#op%@u zGxyDvx$3kLx&4(WvZJKJ2{VDR!Y^$BD018DmzIYRByf)yuK5s^z!O7Qmu1`2^>TTA zzu&j*vR*dYSt^~M*rGp#WQnrGm^B3v;pj}5SYoj1B8X&F5wXa2yA#D2jFuY%6G;%s zl#8XhoA!xW>?2ozSwaY~*IK&&lY~!u3b*@xzrRN~Md%s51auB*!sDC9N1JYtQZX7? z1*yadx+TrTBC*(7CA#L5QLIHgi4?p*e+sW01h#ew_53Uw^YWpD_G5J7P8Xz;n`IH$ zs}mI{fzM}+-NV8l2oJn>%qX3CR6p$w(KU zbgSi=!{3Ev807cexyLjtr+7&IK5?4cqv$Z-=R?WDXS7@@Xo&$<$rIXYh`BpJJ8|G& z&0?<#c%9x8`)g5qzFX}wjZ}cn;V4&__zAqrrXEJ}%JueyzFL}jyXLBN3$tc!fXQg5S7U%SBF=h zpOgu8&f;M%?@u?KDtd^iQiX+ZTu>Cw6WgnY`u zVFvVQ%8vg{TLu3KQPT(0{*PYB1F!w?ao{6X*y$q-XI#G#us+bm{h6f}9uUB$pLw*q zI6X1-f$8OZzcIvq4*yDzS5&3^F#h->Xp@`%1#r{M^SJ?>WImV z_;@k{b*>G+YB^jG&Do*a?y1xePnD}p@AvfM^__@SVV;UXG7gCF<+3a>+_pVujgds; z>*wdoy1d=)P`uu5_icZ=UM_J}D1*Oze*XIT)4E0=i?Rsc?^}2ZWE51TWQzL?vo|P; zWx4S@GP0> z-)V3JIkkkU0xE$uXAnZ*5CwNAR9ILbVzG3kCo+Exw^d?QxFyX=Q=|YOm4IaA@=K9Z zPALh~+xz?1&!32pbCH0hoQYVt2YzKD))1Glzi+Clv;!1EupV7iYYuq1uTxJ~icuu^A|KN76%J}G5a?tgIfIOF04ee~ z?VXfd2Wi&Ps4{4qkCWNRK3#Q)8D-~$;gRK15a4yaF<`0qlrA&6%+c0#?C<(+DhiiX ztUAuBrK7IvU*tZDZF>$lAiDny*y-YU6gcz&Gq-{W{lW#BWnPZ0#T+x&K_r8`ez@7S zHkr}l&_)XNL-wo(IM5ldX>u1F#V!4v8dC_5f8Y;iHhlJD_)`vtKQ3hXPyvHT9u&d+ zp*_^HKEf+CZ`omega`YIhYlRSOXTz8(EnM+APYKRe{qO$02)S^dxDK-DYM! zKPC)Up9c>MeVUD73^Cl(D_H{vg&oiujCMC+J`m8~-fsJzoFWbW#%pAutayFD zrL4mI_4)Z0wk0fCb=$Vvwx^^ah^mGlpFcf^5ENQm4M0|^6IRKpHZI>%P8m6A&Xj6Q z!M>;F>#LP6uGh=U%j+*cefjbB7DE)4U3WFPe$#9K#1tfuP+&HEve>zgoB+V|V-&P4m3a;DeU`|m$qtTNtG%1R<;$8`g&>g<=m z1TpUlXa)}%@5f>N%u1wi0);w8XJ1*l`EQd6lLJdv9X7gh`nrTfbXRK07;#a6LXa3@ zC1RDa)_tZSMs_Mz z__~=1l(IJU?)|>4wv`A0M8ZMjw(r7B_I~E9afzS8)1K1v_44`Cx-M~v;d)v7+XD*2 zfcYv+*LAHaAvIA!ScIgcsvsc;4%WtedcF#g1pf4N{q%Hwx?G;FPuI(8y|)5En20iv zQ(Bm|lqqKkL5CEBVcdrPCFSjQ%lF$-lW+X@(zA!~ft=}4Yr&2`gef|yK#EZ&r;-%+ zoHHy<###Mh%)shgt3cY?{0cK6O8EZcn}fj`EP&!8}_92 zMqYoIn+KPP!O9(DJ}G90)kgJQI5RqVb`GE9j2&*d~u^+d2VLzwVj72lLbG)=(K?_D1ZTTk`e{`i|Z zXTZa+9%PNXu5tWPJ|c75GmFedovlR}%doR@)=jS=Vm>M4eH9_o6up0!xvj(6w!HE# z2~hj}Xx%=hAv$|@S6z27ybMi-Ai9G;qB6e<2G9>P3sbJgnsCP;0LO{Ed|X0f`o6)N zI!>w2od$7Cy_hLO8246ZLZjYs@<-;4KWX{+L-v$Dc)~{`$9#40A2c>}R-^0VHUlS6 zzJv7Zteg6Pllw8?iw~Y@dXUri!TJavDueOiL(yZC$)8MR!JkkC@SkcSXH_1~wqXy{ z3gsW^;SERQ(i-xirC#ztOmQr49xgU|D1oTcBb>k36HV_UYWqZ2)k;Z+lYBIWB=fAxO@8-?nm7 zx9TzLWnHYj2!Yd{mSxGBx0FERkPYVwQc*I zHiA*8m2|*_OMJO)NfB5qufu#d!m>mW%XyAc*9IaKgo6;&iciXx z`oMrCTNMq4*zOuqdrVcba6j&0l(isaVMjP^iSgDMD0;d^U@$jFTcKro~(m;Hcc9KKW|jz`>1BKF2+03$gKsP%TnB2g}c~6g=y$oV8$5 zcLQ_D4xlB}mE~=ByPvlVRYb-uZ`vC+e1yaFOL+zr%gdsoPJLg7x>70sS9naWV4Tdr{T`@XRnEh7TG_cNf(!HJa%>&IQ&UFE zsK|svxNkB~d&art{-~=SL$ZAj#x(iJ$EO0C+7jk7$t=!I zDd!7>jzcqc8v zaT}n+aWbfc+kIqAJgkp>l4pyS-`rzgH8;?N|w%1s7~23^daNe z$jMEK9PXVNZ4ihV(objJ9OF6)xBzP{b;C0v#T z5tkU5Nt6D#zj2l0FH89P`SYjeYgUELiJ6J`cHdPsXT0CH`+Zwuu&Pdp_C3|Dun?4q zQ;Fx3e$ELkG2HI=C5AoaJ!KO&Bu%tcZtbti=8kv*5`dXJ0i*Qy| z>^T7tk;@wIn{w%2=&~+ZwVo$s5@;(9MYel*%9(N>;#Ry85#jaqjfmDYuFI+bGa~6C z6s_?XmLFA=Z6m8D9;jKqEOthDqdABeEo936uG@V8LQr8^L)cX_v#rBI2<@o~7m%ay zXh|0_>6-)#*%iulu1-jMikBs;8hMt9V+cV4i%?3{4b+Fn?awVHNul?ByYM2aL6|{% z%GuoHws;~XrX|LG--#$lNGUN?)mlw^2RbJ|un=fV`^pQK3`$ZkdXfZ$nS?dBXs^QR z1tDiJu>^rNhN@~-PZgF1ij=_NrVw$WaQHB3D+-E9<@WZT_bo6hbXw7#5Ml;U)dwiV z<9&EaisLrMSE3BMYfeNQqJ&_3AEuJYBAzJF9UJI6zPgAT)qJD$ei*NSneN;6kAM72 zh+~j#-+#Qm{POe9t%)!J-hma=N4#*=f`@xE6CcnXk55l$uBc#`Sx1K&M99%=%|C>1yS@U zXB`i%(kBS?(=EZ7!EI(s;oRFc3|RQgnSOY{hm$QI%gqmrH*Qomr`?=R$Nt=wgZ}^h zfIj$n{?J8p9CCPNg3oBefyvwcF8t>*oQymQ-k1j#9v?o$iHrL{5(Z4yl9#u3HN|23 z%wvkHFCXAh^CHy1fL0n(H+;7XY*1Z0cA{%PKtuvo>Ofy52=lk!e{B0s#KM7ymKdL( z)(}F<`F7j3eYcl*S(neBp5NYX#C*GNZ|^q=a=l#koS&bspPrwC1kH#+B=EN9WFB$V zAOS@8Eg9Wt5mC|r%FGG`5o0}N%~oYPO)fzxhWPgWez~lgRW%E*^{#A4^b$y(3muh& z0|8cW#}LF4Iykodw@Lk(DG6)R=j)Z3vu0HdM)qOO88ODZ--GmkC|iBxoKqjNMiuVlsIxe5$gHs>&+|J1(H-9xGCdS2IZn ztWlBBmNr2+gpiUlQ%Xue=}T3!sw!d#DdpbDSjWjq%)$6eKny{cHLJ3a3th0wK4%RQ zEx27Zhrn5-NC%lkI4+^A6*C11q{aGV5$n1uNJ9wifwhUVTeaVn(4u>KfBhjX^ycii z@pHh#zkfIx!^yyIaD=riqolNDO(2#KLLj@2ONJtMyF73*oNi1%_W1fKQjDj2pfIPL zfBo$ngO(TqOU~*2cKe#Mh^Sd{QL#iamkBM^wYk-Y1K0C*c#w|{Ck0#+(+2x>uwB9u zR9TqxwA?)#Ry6~LZyJY@5f@cn@MEo^LMY>SnpDCV^UJx%w7J*hNUP-q)m=4v1n$uc zFpH4~%;Ow2S=-gV*=UAg^tnGze}8B>4*V9($K=V(?gSN$ldjOm;ly(DlukecGwRs8 z_6Mlzo8g>4R!&uFT?`R$A}St-oX|cX(xO#zu;cd0pfE>VD!TvLG=eV?mqu1y8$;7a zIVq&z4u3i>AIJ?3ybGtWF#N##By*EV&hA5Q1F5q;!x63MOrpaMmCR>g*uxmRR5@Mq zHt1vypwB-0>Bx&m4}Nr6{O^{+$5fDcO#XPld~T&U{|j@-w`YzYR}Wr9 z6Al&)5rRBDU9Xo*jFDI}@Z|G0rd9%u35t_F^1tNw|Ks+1SH$b5SC?$ zAt=-HQq96_ll7ca8;eObL`X%n zOEZ4Jt)rPoQ-Je{V-jW98CMH7p!N**F9i)?(k`WX2NssJ@893=kf6vpWg?0p7`Dk- z6S>(u_B{iTz-6qPVX9<#CLJHDEZ^>AII_7m2k%) z`J4UNHQMANC5&gR433{r!D1cb-z+{Oc)Ce!~!TUsFCr1 z{^wumi2wZKn^1CJ`SG}a-0!b1Z?)iK7SWC4FCU9E(C~fW%)kvPFm5dbJv30c=-p+f z_!~f2O@oYA)z6R;vEuS(OOhdRq5`cgmkx9SANsJIb2x$%Nx-As{g#^(So1tyJq;r1 z$5Hbb)z3I>D(-Q9!Wdfv$0x+friYh?DVUM~iN)#2=~kbBz5Jav6hrbFa*VDnM&(E6 z6^ZVLRn+9U-t5e`2@LT>2s+%2r^GmPh(k()Q+!Q~wCW?CABjQ5Aj%9LhX8j4g_6S- z_Ry>oM#XXYzGivR1D_YkrwXQ}&fshZ#M8u;>&eG7E^p~2ZUpc|9X0&XI4vav)alAc zBMCmu(fdkZg{=7czm+U5CoMR>5Q2VXLWQNB*B4Byp5p*lX&$(8fW2TP!Rdk4VJ1&I zf$8a-V_uiCjpt-4UXbNJ4Zynmm!&!RBv0qHcO=FkoVyo92R9~}KOL{74RmnEmH3G# z^4W{-oO^i5ga`|GQg!8}s37-O!Fjf_XtjnEzsGbU1kf!So1#b@Ni@Sa%^U4i6rZJ-4u zJMBbsZk+r{dYqVo+pc;C6-+fe1arJ83QwpC(#aH?YF6)dv{8CK7JvTyIF5MRx0LvP zzh|E@Qa6Q^_s9J>@Uz;08ikt7QZiLMj)yS( z`S-7n+wrpB?#H8dhZWLMp~d)i(?LLm6K_^T1jqgU{{B<7oy9UKYF6((`Y?Q$UO4j& zw<`^_-sX=>$%1_oMB|b2O$^W=nKI~C6;AL;2N>rlmkCWh=N4sb>VN;&fB*RPzCnNf zdau%FJ7WBJfB*LOmTb0WJ{7m#qG@W-JJ{IRT`r7kIT~Mk*Dk5i)1ZAMadp+Z4?djd z_!&qw<{VIV=|y4icweA}`lO46yaGKJ(k4Dr90PiAjya|a-B@y&x{zi)R^?PHjP_H{ zrkR&QjnOH0MuT`cnmoTH`QdGl!NgB84YXTWE%@Yo=KeNntldjsPDq=HZ7~57AQ*(Q0q6b#1rD1XDNhY(lLJrU zF~F}#%$XG(m*s*DH~%{z=Oz-}f`45^a(rGGC&yN)<(>;@;txPSr^k62`CjshEC0JK z#}!sHaxx1?(3?R`#s)mSe^)k5ybd1WXT1lWY99K}n(WZ)*QPv0y!fQNz9HuT?{N$Q zxiAPmw**U>yVvauJ^~-eEtD3oJdWD<$S^?dl0yxWDTS38cNRMlZ7$a zRg1)t@NjPSCKqfj_uT%St30}finv&HBL^tIgkX=!S;m3Pao)=TG5+h%AAkRR2lP1N z<9OU3kK>3LoHp9N@3(zdh?pcxKYso^V%)b)6|b+ifBfg*NQZmbmf*2!>_s546>P#K=n7zEc-X9NDY@7c5^SU_SWWTF5qnw5UWrQvq?i6vSt58LaA3d!s^ju1o=-d?tNB$~Z_e@m1j9eI_; zB1*SR+q&KMSA7Wq`Ao0vpNbSpfXmf#pB6KbQozCb75&mai7KKpQ?(WP$&dj&dNxZr^#DT z>zA#NE<>;AvsogvSGWMSJ#0~X7$KQbJYp2c`^U$&Z2<0%`yO7+G*tU8OC};_qLQmU z95DqA+ZI}d)hKW|g*(SAYN3B|-}aCDhtYz9X4zO109&PCx#H77CH1i+&0kXx`dP1C z?8XZYK;QfY^56gd_g_DM-L_32$=Z!k2!6hQ{I3*cNP=#k8gt8i#d|){ZKY;hOoo0> zMu3z#$&nWa^JrNxos|Q7zVhK~%if9zwg`vbQHacPbeGfD`BLRyyxM$r4DN>;7mds~ z+3;4V-FLTfe@__rJV)#W=XjqfOK!2q9E-?xD#YdQF22d|tGn+lGA&o-nV$$Y!+8$o zmKC9D5rKYRrE``tOh$q27MG^Lm~(AexX@Y*PDFyJh>?N4Oh+&G&7hi#tQu%PQr9TP zRCFV?kn0j}oT~WMdxRx*No?XTEO+OSO?c7;*CPQp9dJMuj zJdo$PH9leNjNF3K@?p$oz@iIw=Ep8rnv=2dwYAq1EaKC?0t+XxHDS#EzG3Jp7vBVH z5*H`6|5Nkdl~SC~>-Y=v;_BJTOEAYjVfz9$avq&cMqc){0Q>WIAXeVbov12`AG0vQb`mG)@ z{qO(&*Ks5Y%nB|-GSN2GZ?CUg*z#`k@wgvHe0#Zx@OIn(@yGX{zka>kZf|d|fByLR z^T*Gep7w}o3*mO#RiUb87Br-c2}4LeQi?HUkKJq`mAB~_Q>W5bGe8Q1;@8K=>&q=D z?)Ura+p9v4Bhtzc-I~Qrss@l*x8bN56R9jS*Gk?PB&a45kPuXZrj(5F``g?5{cZx? zHZvYEl{q~vT8z;YIbj_srDQp$qg;{(?AvZPs>*G@1=VOf&BT%&cUsE49k(?L07953 zVxpS@);D?h;AGWKy~|ri=8x#Y)w=j4H(8JZsu|EnN%9@%n$<4FtOxlrOW51I%V?+# zSSH}bR47uLhHObtN={E6cg1UQe>5TpOYbn06rnF81ixxLSOh-(|5f5ye%ejE~exNB{6lSB{H5*|W0{;B_=kamZ z+T6`WR+&95S*;+N~H*Jk9(T2_pGOIbT!-3IuJ2a7BHK(kbsSe&J#wJco3w8^*OZnUe>ZjGt;bYIIkym4h&}jEdF*LSV(nu&k!y z?Nsn42#bA`1HvjjE|&x}_9D7zf=WZ;*Qz7G6>Ih~(5iM61;;QbNHJ2)lBy==ELndS zC?&_LHIp6dEEMoO)+&}SMm{ZG+T$RjbF=BPQ>xU@)>yL z?;MsLqrqiPc>hJ24Cn{EgMGj;N+n0c)@GxsB@ML_HdlD#>h+;dN^1W!K@jIe%5iD& zWH&ytq}gSFKEZtU&-v@`AIFhYHIIZ7O@yl0!|ml|Z_fH3_v8LJa=LQ};qCR7eO5)o zulL7~U+{p-i; z>$m&k5o7xH`f8=9D&r5Wp#_C^$n4f7LA8inOT}0UiOdKF5b`~Z5ztK}nZ=a;`ukVD zX4RdRwc{l0am17;BFB*|F+(h@X^Rlh(VlX(pgFd$gwp{)N~zgx)g@sN6_m(j1rlAb ziulCgGO2FJgmIV?SgU+Ryf-LCg6coNe-{l$N-?JVy|R$HfFSN~LiO=@WYgrz<|HX8 zndB%Ek=yO|{o9*}>>+Gh`2P0t*uvY(ZQC|IQZiaa$us?_L5!^^3y1D|D7#+{6;#Iw z76g#S*OyzeoZljkBoy?G}RSZ4X8Z8l-y=i$ad$;7|wmgaq#x^!RxE`uS6eshP_mAkXf9GkuiT zY!nQ^Y!PVjEj7q|C;8#htl&^_&XPF43u;c-4^O-+%u7 zU;p#x9s)#CvZ5uauDY9qBgUWa@2@Yf#jw7(N-ItUKj@NJ$-$IY=n|o?nF0ftaT`3>hRV!BiVOM2$J6?xI?EJ!nmvc>`G78m=$OW= z7kJi!fg?}L)wKwL7cJa%rpL2vPI7&bJ?3V0M{topEhk-=pOIYg{<(Tx{grbRLr**i zEZ*KVUiB4sDR_Il5mM}fm=dBnd0MR24+mShWtW0EF|d40egde@PnlCJ@Gubpv9MNb zFGi(Lmie*w)}tpiJH(A+i`jm<4Jg~Pb6YcH&p}{~ach2_rCR9_)s$T-lLBI#(m+A3 z2w(0)OjHR{{^#F+o25LZQNe)%q+#2(Ek^tC^ZoTL z2f#r@wrxwa0Nu8*scu<GVZ+na> z`+jB?O$(o0phqeiRFks0qvn$(kD^iyGZR6gB_r(+!JgwbR8umOtcsSPdcVh%($8NX z0{QX&px|*N0YWIz6S;m;fK{?9WHLOWAxr87B9>wj)|75Eta6kQE7YWVE~4QNopV=N z03(+I6`+QQsEV16>}-Ufga(R*vb}E_@(8^85=iUiLQqn+pfwGHBC>BGhcJc^{`rsZ z08_H>-(N!rX7=%T{PFg--S%6IW@w`{t1eOj03;cOOzC#p^!4Rs-!@WWN`Sn+Y)#CQ zb@MN`eGB^Wc>Lr0HxY>`{_*YgcC<~s0|GscG7a4 z838MEVW)(Ior;yp^X$0{zg!plPWU~kBu?AK=wOl6il*&~~%K7jmRz=gL z`gPIkO$Hr(2gS+SiC*o%vwYf304XL+!ay$xSxoof3;I|8(ef^Jk2u}7sejEOq{&ehAO$VvIALYAvEuglClQD91KYR#&oO=Gg861_>;ML zeXck76li-=FD`Y@SAloW)!V%0s(oGlvHt#imLQJnMvGUd`R`pA)njvR&dC94p);bb)R)JU>qc{GYc| zM0_BOc(%3d9&=iWxVcP@!AUWJsyu&X&WHiu}voz>;lC*7+hOAbl9^~OY_mh1wgY^ns+tiA=zs1QpGdw}5nh)1+n~@bYD@^c6>1fg))$EX))nVN#x09tXl1W9z0UXLiSkUQEo%#vujaurMG&Id7VE zg8zA3gYc9&NJJ*hgxmIO15gZBDJBfL9mN@T89EFOfz_U3XQy%;6dNO(3t&iR)Fz8r zFid!=_X^dUEk!(4;*RUh_+U;|1#S<@V``Nd1f7gxA`Y zPYt`CN0QrR>j;kI0$zX{m#KVTen5VgLhq8m<*CxC68&G>IBI%dIi3JEc4^?0IefX9 zvvWnIZR&30&VH*k$qOwQLHh)zj3hvggqnWEIEhcZ;V&MKU;kNHa#+2-lwrx`pisjVuG6G5# zQ-V-L&8&_6Q%uQ{V-pDkL3Q8u7^7+s#mD`wssVVAMg!EGw{mYQXu0|&laZnHB*QF? z#U)ut*+RJ8G|!Tf*)7kWjEeBE`-_MGDN#kYZ3|mSj1{m@m&XjFWY@18NcZtLVvHLl zrA(b-u(+vZ%taI}#%TcXyZ*m*F=bGRG2&?&j?%1-j@?<2bIVb(6s!Gk=*6-hZL{X2Hm@Ls;kTYtKWf7`aV#6Y{ zU1SJ~qqq>8wBTR!30kVP2e2aRtf8N(DuLPRO3iZ2i$I_V`BUHa9guC)7*nBOJMvjj z2)5i;i^B0IiuKpWkDnhue=2%NUz25>=2?Ch#8R}^QU-?6{Ae&#lIBPX40xD5Xhex? z%$Xbo+%43+GWk{c!a33QH%ch^l!f1}fFk^OfB*0Q{-68t*feLqbTVkGz|cHKDJ1Xr z`|Haq3UH#i3(ujQ5M9o-^P4k$E6CItujq{#M0}niz=r2#XUJ|V!CsWC%m(TbrsR5lvPYpsKJW&AX#a+t6mPy|;Mg7LL^*fhnJ>`v&?p zs`9KRBW0}QP}Os!hFS);L#5=G}^C?J17c(w@iQ zquyPf7)qec`quBvRdceeP;K??DWA|2|ASuT(<_nBu$m`O#>sjZpMg1)&#-6C2@{v9 z`X|ZmC!zmBu=mAZ=0zZr5y1+%cEV4YoaBdL|HxgW^f+>99<>*eo(Zj>3$+rjrh`{f z^xv=(ReI@|-2Gpw4w6-?;Dn_$Te<5vS`d--AIRZk<`{kQIF1Yww_P)v&mJlM{qt8c z%Z@kSUSC7VXaJ6wKJLfM4Y$`lV*^6T@nbpbAW!-;nLcw!^4I1aRD*5_B=aCvRasny z2#Af=0cLjFwjaM9Z!a%2#+bf;yCu>RD@mX+t_%9rECCvYD?ucG5KPmTI{T*xs98)8 zEt!UaFSq^Ue$Ro~+rIVWJ0VG}2!~V`Pg-hT`6V~U%#ei*1dU?RxYhY_w;&pr`;FYn zDwi+Sw>R)`-dBAE*CQgU840+xN;zVB(3lu4(J0$ycGTG)Y9Cutl~YVPo;=sC$qbd| zK|89nQDTfST2N9nrYxX@P+PG(iHK-5O3N5DKtntADWbZmnx$mqwrwe;oKC1gNe0z` zkZ+zPgQ~bQ$ejCDGTS5=sn8*n2r2?H2_;5un+g#EfIz|P%ge|8p3?>iO-yD21v3i` zYG#q#_DzFluaT7dulJvS{}sgKB!1;dcsC?U_r_#EUgum7`X||Q8mxGy;z;Qr1-UCP z|AgkppuTuT4^8Rl+!?Khr$)O`w?c*Z?|=R4U;qBg7(-A+05pd~4(GL~tL{`Jy?;FZ z`48)CA?Gzr$2xDShRSKh4AMHD(lF|#6K9U(XWFu{at~<;$tVEyKrF%}z9F& zXv5|}IGX>;5LDIRjtTCbgy7vI{lXb!?1(CoV_Z2w&B1&woObSiyL;E>Rd?#ELEzI#qe##+Jw1 zCFCfQLyBpM1S_t}S^c5POeZM&WcI79*{$MjqcWi}F)@kJQl6+WB{rxz$2sLI)LzE8 z20F*^IQ8c!gqg;$YckRz(R27di&B#^SUYvyPU-HvIH}D;x(G!k@mr!j%TjQ;w9n7J2lzGkl{>4djg@zh4SPof#k|5>xuiVtU^vc<;BT0 zFK*RKj+HIXo@Ac{SBZm3zt~`W1vvT&XhZaD^7V9S5&ze0B9`R85wFC6@}@P8b7=n8|8GRtAjL=~OOmX!o<%i7B#%eTgp?eh zzVEW{`@R)%da{(2?s=vkQ!1N#WfiArZDSqJF*m*eQO%Bl8L1dng@}sM)f$b(mutYr zSSV98uX^mfvTCJT2V&7uj3sn013Q~-;zX0Riz?3uXxx0B-^ic89xV;_F)-pJI$8vzk8}riGlAt@=3PkDvDt!q4|(3;X*c z0U^;?xN(_>ZI8#HmcG4g0BV;*0UjTZAAkRirK*6V2X`%}pN)df67Q23x0wrNR5>y| zk_n(8w;Z{j7cXKPzcVIx(2~jNV>G4oqUx!rqDPGX^BISjBz-}Tvi>2aIuf{F=9@jyp0b1Q_b!9nEmB4^V8}w$sQ2pOfUBCl9GufGh?#) z`uCnyJt0F^Q(T2dQ%^2&II#hN`A(qd>O5z1(bSm zbgf#2PtX`T-=}k!>DQWps}pxvbXfgmUNsU|UX!jVI^E&sZs^$YGw47c$UM=HoJmVD zb>u>!kEcx-Pm?3_pN2lAcx9~E4m0tYU=&fIBY;6@Wpl0O7&5Xt`hEk*xIu zL)cQXBgV&ZJRb3gM@l7C;pOGF?^}xqI%53;k(d1jz(_!ov2eA!e~V>kB5Vi%fGwzH z`zE0RW=t`r7`K;OKZwxdj`D!>?e)d#M*Zv8du}FTOvw_e5~J?DjTCJul^#H$sSsf; zSD=0Q6H==+2;AjxN(UbuWEFKM1Gl6c8BYoTU z7%d4%M6=S*)LlSDk7R0Qw~%3$eBaWMe*FD6XhGF1HLv5d=^uvb>Sa zZ8`Wz1xExl6t~=Nl8Z&nZ5WK`rJJj_(Kf}T87mVa2ztNY|M!3W&*T2MWma0Y<<;Uq zjx{eK=Q2x>5aV%w+_$==pz>xglVOH8TX?>F- z`n<=Me&W5Un@w*HCv4PK7JH|bhF(Km8=8vl{Z;-3hjIIpV-&K|lUyCWEEz-?j@pG% z#q+XA$6|6+uQ_ak7v$_k%fS^ReRS>Qvf-FVYR}%0tv6Y$`)*}VTW*l8rZb9%hn=x& zQCamVPW#~|Q~`Zsh#?Zp(;eCA(LA+stsf~h{o~LEshrIk+;JT%{MO%@~ z2`%QqkyYc|TDYP5Kd>`vXD=c+JN;$-&FML^CV-vY%2t*}kWX^LN93i0&QdEJxXtNfxb3G|<yZNuZpmy=9Xx7!|)S&H^ZN9LgBt2&Oy$Niy-5L7E& zsbI{ME?^N*YzulnjvN>gW6aL8S?ZlPp^~3i86Xss8VTp(dpH?#i+#mN}A3=l_mf?}oD=C7YO6%dMTFAgEgZ8fkW`~++7l4pS8ypD79Vdf` zpx`vg0HwEkW^EeW?5-U&XoQdPEUyO>tI27$$g-2$S~tjU)-Acz%k^MPwWKObk%^=* z=DJ=1g=LMngwkELe0lg0a;>~V*fy$WA6qsqgptWoA>gRiBzKL;wrw*(B9)z%);vlz z17iw}Kmuu*dC`M4vTlbaMktu8K!w$SVGY2BBOW1WjBE)x#n;PnC=QQ@HQozM{{HKS z#m5eD0uy&XeZzn`L6q0W=!L{#$O<-*Bod1atxA!Ap-REZIqoOEwHL{zYZz(u=pm9# zjopZws_{7f_kaD*<8j}&pvAl(*GejiQ%ub8OQ{*n`1NuB_U&77fXMJBQV81iJ~SU{ z;XE*JHB(z!^WjS^_8T3iH=&B=dBNls)=3|=C8+ft8%&4MC_NttAi5mhm_RM2!_r*5 zbHt6i!R2kP*2II90Vh=5Sccy8M5z-n(p?qnsp%jfI<*FuW4sBmU#8n~o=#4qK3+n0 z^U(Mip7B{N!RdJ2q(xSv$1VEtxQ$H3VzX}J4+Ro!S+yna@i6#}xwE^Img~#z)D1n~ zQHs4*1};qVIZihPv2kq@>(_=YZNgP3tJulF%_Fb2}nMY0SHQaOdgc z9FxscC)umISufNb!~nmxvbSRGI_zvRoIl%f4tX(D}P9#_#>Q zyy4z^7w0a~(^`G1XzwNXdbHO>dTVsClA*0Nqb1X-)=rHc# z2`3>#{w^vlf6eQ~rW1>0+S7>ci(WLw`0=>Ial8c*k3{nI_M(a=)IMU0F_F{&NFK=` zd)=Z^cu->*Lf90D$KyC8rPM>6G8LXI%nuPuw!iG{!m@Gz&ErUlKIHx5QSNy%QbN#N z(K83o+0<6}WbWD4x)F&2APP%%#DjvEV(ua`cYoV5qFk~=qQ=(t)a0Vp;!Sns^)-mG{${QWW?bX^uoW7+kNzQP+{R z-B_vom$4yGVj|I)a`Ro~9NIg>(OuS^15IbXnzXYQ4E47Z8jtw@{@4H55nr~wx?vTM zto(1IDxQ;LXRb6C!k0YWOaC;Xe9%2{6iKNorIzqdlmh(@|A3d;BFZ14Ojl&;p_KI#PNApf;3m!_zKr13l};y&ZYB-FW`FICio^GztCvaU4es zAxJHZXxz52Z(9iAam4&nj}!|rDg(l*R+5TxnXAz(S~80vfFdy^OZV(v8WhQjs@sfa zG4rp?43edDFf%}CCK<+Q3m{hpL6fCz+X{NF2pUXEWtlVD9f7Co7)r^iil9t3fXtQq zY|IJ=msa{fY>*OtJlummzuSHjbRSuqp4O$AaWnMHP-yPN{sqwu&sJ zmu-h2rIhE+DO!w4Uh){YSiPXM9Gp{8v!hu`NztGo0aCIO8&7U^Rtz8)jv;8X*teP# z92y!~1K=PM1oSZqgh&oOgcy^>-2G<4-X1nfDaJ%&%E9Aohol4%0kYvfX-BkZwsC)a zeEj(P&rl}QJUfkJVo^HXF;}LIJWY%Sou`01X}Ug`HLi5IK&={qcBvdrOXs z-VAVt{B;b}oW}E1ukxKH%+AfWepR;0qW{xjG%?X6TsqCjAh4-2P=R%=E3HB=Q2P8v z%!}eQzi%ea99n}XygUCI!Sx-ELW@(6;I5vCj{?8XaWoTY~ zCQjBhoMWdKbnH!57MM+WUu?vkk3%u}o{&-bwH6GB|XRR4pb&;BmBkro_`fOETJWCBQ--OHx>x{C~ z=NKAv$duwdX3Ig9A`BYBrrDatXfVb^n&U~!KoVbBNS(PobuU^Ikk0MI9Mn3xmJcI* zOq2UcF!(>1!Sl;s^}7@OuQWDap8Hya-4+Hx+j6#>?v#Zh0R*|C{b9 z4k9)Rmqzv%=3P0Md|J6ZnxKrD%A9W+>D6+4xQ*C?5zK(yBHwbbz)#U zvC(#&g|~aN6$h#{yF0eoIX1n;5=yp~c{~m%wrvxUec$rjw-}L9vYpfsV@&jJ{Z<{K z6xf17<#B)T?RDR_pYQLFBSIu>+qQ)|{V6q4G22khHzHZO?K=Qk0z$H6)jypz_f1uW zOewwGZkcve+Nz!!P<<`SjBsZ6&C4(w5~+iffh{PBth1xhQp${lwl<&o<@G~uckgd#E1 z=2R6~YNF68*QqgR@byEt4RHGq+(py!+8$==wEzC|uaEnE-$LskGTKH8)PgCsU_W|66ho~BC}C}yWZ47wOpVl>Nu#_tyqDq^Eo}V48AhX)aQ|PH!&$q zobVfS5zo=W!mqrG?P*9G!}+aoGb^a-wjon0N!27!lb9!EOAp)8bqaD~?XT#37mfFd z_A?P-&yGXp^RNU<&#hRwxCx^iT%T-Xbe^KBm%e@>nv zL-W?Cl|*xjoa}?qg@WTp_w-jHn_>L%?d|2|MMQFymgN`u$EU<2#$=PrwO6OooW~nsD?Uo5kCgX1bl8DITBObqgru5jMBUCvw7=3nw z6YUv`4ulg~fAG&NZFj2*lI1rgR8pHtmuk4Y`TjsLR%jednxwvUVYpCI{`~9jU%%eB z5VTNKNEfR{kwjC|z6TcUvRB5CB;6}kKkkP$XS!r*r&DbV8SHu3A|^$D$03LcgKB)Rs`J$^&)~;$t}KI=qwv-;Y9U@OjYZOi za|fQVdJIMQf>_<7zNbFTnM+a5-NVUFg@f(b0%d4=Y@CAL&aDfxb8gR0-GPsAS@1Q<%_+_Hq_m%BuD3 zwvbcpP$!g@nU(d#UES@b5gq;@+tm#|*5`U_6`w{=rV>$S%jpOkK#pbv2*?&hH4lEE zKp+&6WU`@7^5c-tD$2!NpT2^`DF?lqV4;^=!=gJoP!Tfapx~OD#4r5IqG}gn;b6EP z{Nw7l{{QV4{CH*nJvfk>cyhnSqPwCj_L})rYJp|=QulI2fm(EHgWofTIeu@#alW3> zC1x0~34GHs>MBM3w&tv#FyYH>jO1hYc*@$e2^y@Jyo|NQ04Wcqa6C8g_2+6GWaKeQ zJFV;IB7BaIx0IXz-74pTl8pD`$iwEKq4;5_GRByaQIZ))gMmE2 zFzOHj$}}U~_C3Se$?Q0yYL*o3E#oisYfk)Ro9C zs}K#1ULS;Bk({T70!#K`k1YhDB-&;Mkv;4X4Iw0JdV}szLKjRsKGiDkf#$I^m|G4( z-c-dMm2#fT47)WPxSmM^Rdd^DAZ-js740@cPT0bpYr7(AUGUFKFS|LD+uB$;B-%(Uv);P~i5K(>7= zs1#k8V|Mi_Es-%3u7r;xS~3W7FpCLOvaS)MlP{;dVCC_61UrJj#-ftagEa;&#c)

Uq7(JbZ#2v$|Z8eHnCm3w!vAVpzZZeUOX;3u&D+ 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 I)oM|;Lxh8yPB$RNNAOD`K; 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 literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/updater_bg.png.import b/addons/loggie/assets/updater_bg.png.import new file mode 100644 index 0000000..81cb406 --- /dev/null +++ b/addons/loggie/assets/updater_bg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgh6hd3u8nlpj" +path="res://.godot/imported/updater_bg.png-c90bec38cc1681b029907f694c893180.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/updater_bg.png" +dest_files=["res://.godot/imported/updater_bg.png-c90bec38cc1681b029907f694c893180.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/addons/loggie/channels/custom_channels/template.gd.example b/addons/loggie/channels/custom_channels/template.gd.example new file mode 100644 index 0000000..25bcc99 --- /dev/null +++ b/addons/loggie/channels/custom_channels/template.gd.example @@ -0,0 +1,28 @@ +extends LoggieMsgChannel + +func _init() -> void: + self.ID = "" + + # Example - Customize preprocess flags: + # self.preprocess_flags = LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS | LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + +func send(msg : LoggieMsg, msg_type : LoggieEnums.MsgType): + # Validate that the message is coming from a valid logger if you are going to be requiring access to a [Loggie] instance. + var loggie = msg.get_logger() # Access a [Loggie] instance directly from the message. + if loggie == null: + push_error("Attempt to send a message that's coming from an invalid logger.") + return + + # To access the most recently preprocessed version of the message - use: + # msg.last_preprocess_result + + # To access a string version of the message (no preprocessing) - use: + var msg_text = msg.string() + + # Optionally + # We can use `LoggieTools.convert_string_to_format_mode` to apply one of the Loggie format modes to it. + # Explore more functions in [LoggieTools] and [LoggieMsg]. + # var converted = LoggieTools.convert_string_to_format_mode(msg.last_preprocess_result, loggie.settings.msg_format_mode) + + # Do something with the message. + print(msg_text) diff --git a/addons/loggie/channels/discord.gd b/addons/loggie/channels/discord.gd new file mode 100644 index 0000000..ead09ae --- /dev/null +++ b/addons/loggie/channels/discord.gd @@ -0,0 +1,75 @@ +class_name DiscordLoggieMsgChannel extends LoggieMsgChannel + +const discord_msg_character_limit = 2000 # The max. amount of characters the content of the message can contain before discord refuses to post it. +var debug_domain = "_d_loggie_discord" +var debug_enabled = false + +func _init() -> void: + self.ID = "discord" + self.preprocess_flags = 0 # For this type of channel, this will be applied dynamically by Loggie after it loads LoggieSettings. + +func send(msg : LoggieMsg, msg_type : LoggieEnums.MsgType): + # Validate variables. + var loggie = msg.get_logger() + if loggie == null: + push_error("Attempt to send a message that's coming from an invalid logger.") + return + + # Wait until loggie is inside tree so that we can use add_child(http) on it without errors. + if !loggie.is_inside_tree(): + loggie.tree_entered.connect(func(): + send(msg, msg_type) + , CONNECT_ONE_SHOT) + return + + var webhook_url = loggie.settings.discord_webhook_url_live if loggie.is_in_production() else loggie.settings.discord_webhook_url_dev + if webhook_url == null or (webhook_url is String and webhook_url.is_empty()): + push_error("Attempt to send a message to the Discord channel with an invalid webhook_url.") + return + + var output_text = LoggieTools.convert_string_to_format_mode(msg.last_preprocess_result, LoggieEnums.MsgFormatMode.MARKDOWN) + + # Chunk the given string into chunks of maximum supported size by Discord, so we don't end up hitting the character limit + # which would prevent the message from getting posted. + var chunks = LoggieTools.chunk_string(output_text, discord_msg_character_limit) + if chunks.size() > 1: + loggie.debug("Chunking a long (", output_text.length(), "length ) message while sending to Discord into:", chunks.size(), "chunks.") + for chunk : String in chunks: + call_deferred("send_post_request", loggie, chunk, webhook_url) + +func send_post_request(logger : Variant, output_text : String, webhook_url : String): + # Enable debug messages if configured. + logger.set_domain_enabled(debug_domain, debug_enabled) + + # Create a new HTTPRequest POST request that will be sent to Discord and add it into the scenetree. + var http = HTTPRequest.new() + logger.add_child(http) + + # When the request is completed, destroy it. + http.request_completed.connect(func(result, response_code, headers, body): + var debug_msg = logger.msg("HTTP Request Completed:").color(Color.ORANGE).header().domain(debug_domain).channel("terminal") + debug_msg.nl().msg("Result:").color(Color.ORANGE).bold().space().msg(result).nl() + debug_msg.msg("Response Code:").color(Color.ORANGE).bold().space().msg(response_code).nl() + debug_msg.msg("Headers:").color(Color.ORANGE).bold().space().msg(headers).nl() + debug_msg.msg("Body:").color(Color.ORANGE).bold().space().msg(body) + debug_msg.debug() + + ## Inform the user about a received non-success response code. + if response_code < 200 or response_code > 299: + logger.msg("Discord responded with a non-success code: ").bold().msg(response_code, " - This is an indicator that something about the message you tried to send to Discord does not comply with their request body standards (e.g. content is too long, invalid format, etc.)").channel("terminal").warn() + + http.queue_free() + ) + + # Convert the [LoggieMsg]'s contents into markdown and post that to the target webhook url. + var json = JSON.stringify({"content": output_text}) + var header = ["Content-Type: application/json"] + + # Construct debug message. + if debug_enabled: + var debug_msg_post = logger.msg("Sending POST Request:").color(Color.CORNFLOWER_BLUE).header().channel("terminal").domain(debug_domain).nl() + debug_msg_post.msg("JSON stringified (length {size}):".format({"size": output_text.length()})).color(Color.LIGHT_SLATE_GRAY).bold().space().msg(json).color(Color.SLATE_GRAY) + debug_msg_post.debug() + + # Send the request. + http.request(webhook_url, header, HTTPClient.METHOD_POST, json) diff --git a/addons/loggie/channels/discord.gd.uid b/addons/loggie/channels/discord.gd.uid new file mode 100644 index 0000000..27dea4b --- /dev/null +++ b/addons/loggie/channels/discord.gd.uid @@ -0,0 +1 @@ +uid://byj005gxsloio diff --git a/addons/loggie/channels/slack.gd b/addons/loggie/channels/slack.gd new file mode 100644 index 0000000..b380105 --- /dev/null +++ b/addons/loggie/channels/slack.gd @@ -0,0 +1,65 @@ +class_name SlackLoggieMsgChannel extends LoggieMsgChannel + +var debug_domain = "_d_loggie_slack" +var debug_enabled = false + +func _init() -> void: + self.ID = "slack" + self.preprocess_flags = 0 # For this type of channel, this will be applied dynamically by Loggie after it loads LoggieSettings. + +func send(msg : LoggieMsg, msg_type : LoggieEnums.MsgType): + # Validate variables. + var loggie = msg.get_logger() + if loggie == null: + push_error("Attempt to send a message that's coming from an invalid logger.") + return + + # Wait until loggie is inside tree so that we can use add_child(http) on it without errors. + if !loggie.is_inside_tree(): + loggie.tree_entered.connect(func(): + send(msg, msg_type) + , CONNECT_ONE_SHOT) + return + + var webhook = loggie.settings.slack_webhook_url_live if loggie.is_in_production() else loggie.settings.slack_webhook_url_dev + if webhook == null or (webhook is String and webhook.is_empty()): + push_error("Attempt to send a message to the Slack channel with an invalid webhook.") + return + + # Enable debug messages if configured. + loggie.set_domain_enabled(debug_domain, debug_enabled) + + # Create a new HTTPRequest POST request that will be sent to Slack and add it into the scenetree. + var http = HTTPRequest.new() + loggie.add_child(http) + + # When the request is completed, destroy it. + http.request_completed.connect(func(result, response_code, headers, body): + var debug_msg = loggie.msg("HTTP Request Completed:").color(Color.ORANGE).header().domain(debug_domain) + debug_msg.nl().msg("Result:").color(Color.ORANGE).bold().space().msg(result).nl() + debug_msg.msg("Response Code:").color(Color.ORANGE).bold().space().msg(response_code).nl() + debug_msg.msg("Headers:").color(Color.ORANGE).bold().space().msg(headers).nl() + debug_msg.msg("Body:").color(Color.ORANGE).bold().space().msg(body) + debug_msg.debug() + + ## Inform the user about a received non-success response code. + if response_code < 200 or response_code > 299: + loggie.msg("Slack responded with a non-success code: ").bold().msg(response_code, " - This is an indicator that something about the message you tried to send to Slack does not comply with their request body standards (e.g. content is too long, invalid format, etc.)").channel("terminal").warn() + + http.queue_free() + ) + + # Convert the [LoggieMsg]'s contents into markdown and post that to the target webhook url. + var md_text = LoggieTools.convert_string_to_format_mode(msg.last_preprocess_result, LoggieEnums.MsgFormatMode.PLAIN) + var json = JSON.stringify({"text": md_text}) + var header = ["Content-Type: application/json"] + + # Construct debug message. + if debug_enabled: + var debug_msg_post = loggie.msg("Sending POST Request:").color(Color.ORANGE).header().domain(debug_domain).nl() + debug_msg_post.msg("Preprocessed message:").color(Color.ORANGE).bold().space().msg(msg.last_preprocess_result).nl() + debug_msg_post.msg("JSON stringified:").color(Color.ORANGE).bold().space().msg(json) + debug_msg_post.debug() + + # Send the request. + http.request(webhook, header, HTTPClient.METHOD_POST, json) diff --git a/addons/loggie/channels/slack.gd.uid b/addons/loggie/channels/slack.gd.uid new file mode 100644 index 0000000..606adb9 --- /dev/null +++ b/addons/loggie/channels/slack.gd.uid @@ -0,0 +1 @@ +uid://dj1jdugf244ho diff --git a/addons/loggie/channels/terminal.gd b/addons/loggie/channels/terminal.gd new file mode 100644 index 0000000..572ba64 --- /dev/null +++ b/addons/loggie/channels/terminal.gd @@ -0,0 +1,21 @@ +class_name TerminalLoggieMsgChannel extends LoggieMsgChannel + +func _init() -> void: + self.ID = "terminal" + self.preprocess_flags = 0 # For this type of channel, this will be applied dynamically by Loggie after it loads LoggieSettings. + +func send(msg : LoggieMsg, msg_type : LoggieEnums.MsgType): + var loggie = msg.get_logger() + var text = LoggieTools.convert_string_to_format_mode(msg.last_preprocess_result, loggie.settings.msg_format_mode) + + match loggie.settings.msg_format_mode: + LoggieEnums.MsgFormatMode.ANSI, LoggieEnums.MsgFormatMode.BBCODE: + print_rich(text) + LoggieEnums.MsgFormatMode.PLAIN, _: + print(text) + + # Dump a non-preprocessed terminal-ready version of the message in additional ways if that has been configured. + if msg_type == LoggieEnums.MsgType.ERROR and loggie.settings.print_errors_to_console: + push_error(LoggieTools.convert_string_to_format_mode(msg.string(), LoggieEnums.MsgFormatMode.PLAIN)) + if msg_type == LoggieEnums.MsgType.WARN and loggie.settings.print_warnings_to_console: + push_warning(LoggieTools.convert_string_to_format_mode(msg.string(), LoggieEnums.MsgFormatMode.PLAIN)) diff --git a/addons/loggie/channels/terminal.gd.uid b/addons/loggie/channels/terminal.gd.uid new file mode 100644 index 0000000..dcaecb0 --- /dev/null +++ b/addons/loggie/channels/terminal.gd.uid @@ -0,0 +1 @@ +uid://cd82p0vffosco diff --git a/addons/loggie/custom_settings.gd.example b/addons/loggie/custom_settings.gd.example new file mode 100644 index 0000000..35f066e --- /dev/null +++ b/addons/loggie/custom_settings.gd.example @@ -0,0 +1,52 @@ +class_name CustomLoggieSettings extends LoggieSettings + +func load(): + # Omit settings from here to have them use their default value instead. + # Otherwise, directly set the value of the setting to your liking. + # Any variable in [LoggieSettings] except `project_settings` is a valid target to alter. + # You could also have them loaded here in some custom way, for example, from a .json or .ini file. + # See the documentation of the [LoggieSettings] class to see all available options and their descriptions. + # This template doesn't contain *all* the available options. + + # Example: Customize Loggie preferences. + self.update_check_mode = LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW + self.msg_format_mode = LoggieEnums.MsgFormatMode.BBCODE + self.log_level = LoggieEnums.LogLevel.INFO + self.show_loggie_specs = LoggieEnums.ShowLoggieSpecsMode.ESSENTIAL + self.show_system_specs = true + self.enforce_optimal_settings_in_release_build = true + + # Example: Customize logging settings. + self.print_errors_to_console = true + self.print_warnings_to_console = true + self.nameless_class_name_proxy = LoggieEnums.NamelessClassExtensionNameProxy.BASE_TYPE + self.timestamps_use_utc = true + + # Example: Customize formats. + self.format_info_msg = "{msg}" + self.format_notice_msg = "[b][color=cyan][NOTICE]:[/color][/b] {msg}" + self.format_warning_msg = "[b][color=orange][WARN]:[/color][/b] {msg}" + self.format_error_msg = "[b][color=red][ERROR]:[/color][/b] {msg}" + self.format_debug_msg = "[b][color=pink][DEBUG]:[/color][/b] {msg}" + + # Example: Customize boxes. + self.h_separator_symbol = "-" + self.box_characters_mode = LoggieEnums.BoxCharactersMode.COMPATIBLE + + self.box_symbols_compatible = { + "top_left" : "-", + "top_right" : "-", + "bottom_left" : "-", + "bottom_right" : "-", + "h_line" : "-", + "v_line" : ":", + } + + self.box_symbols_pretty = { + "top_left" : "┌", + "top_right" : "┐", + "bottom_left" : "└", + "bottom_right" : "┘", + "h_line" : "─", + "v_line" : "│", + } diff --git a/addons/loggie/loggie.gd b/addons/loggie/loggie.gd new file mode 100644 index 0000000..09da21a --- /dev/null +++ b/addons/loggie/loggie.gd @@ -0,0 +1,310 @@ +@tool + +## Loggie is a basic logging utility for those who need common minor improvements and helpers around the basic [method print], [method print_rich] +## and other default Godot printing functions. Loggie creates instances of [LoggieMsg], which are a wrapper around a string that needs to manipulated, +## then uses them to properly format, arrange and present them in the console and .log files. Loggie uses the default Godot logging mechanism under the hood. +extends Node + +## The current version of Loggie. +## Needs to be updated manually when changing the version. +var version : LoggieVersion = LoggieVersion.new(3,0) + +## Emitted any time Loggie attempts to log a message. +## Useful for capturing the messages that pass through Loggie. +## [br][param msg] is the message Loggie attempted to log (before any preprocessing). +## [br][param msg_string] is a shortcut providing the string content of that message. +## [br][param result] describes the final result of the attempt to log that message. +signal log_attempted(msg : LoggieMsg, msg_string : String, result : LoggieEnums.LogAttemptResult) + +## A reference to the settings of this Loggie. Read more about [LoggieSettings]. +var settings : LoggieSettings + +## Holds a mapping between all registered domains (string keys) and bool values representing whether +## those domains are currently enabled. Enable domains with [method set_domain_enabled]. +## You can then place [LoggieMsg] messages into a domain by calling [method LoggieMsg.domain]. +## Messages belonging to a disabled domain will never be outputted. +var domains : Dictionary = {} + +## Holds a mapping between script paths and the names of the classes defined in those scripts. +var class_names : Dictionary = {} + +## Holds a mapping between channel IDs (string) and the +## [LoggieMsgChannel] objects those IDs are representing. +var available_channels = {} + +## Stores a reference to a [LoggieVersionManager] that will be used to manage the +## version of this instance. +var version_manager : LoggieVersionManager = LoggieVersionManager.new() + +## Stores a reference to each [LoggiePreset] that was created. +## The key is the ID (string) of the preset, and the value is the [LoggieMsg] that was saved as a preset. +var presets : Dictionary = {} + +func _init() -> void: + # Connect the version manager to this logger. + version_manager.connect_logger(self) + + # Load and initialize the settings. + var uses_original_settings_file = true + var default_settings_path = get_script().get_path().get_base_dir().path_join("loggie_settings.gd") + var custom_settings_path = get_script().get_path().get_base_dir().path_join("custom_settings.gd") + + if self.settings == null: + if custom_settings_path != null and custom_settings_path != "" and ResourceLoader.exists(custom_settings_path): + var loaded_successfully = load_settings_from_path(custom_settings_path) + if loaded_successfully: + uses_original_settings_file = false + + if uses_original_settings_file: + var _settings = ResourceLoader.load(default_settings_path) + if _settings != null: + self.settings = _settings.new() + self.settings.load() + else: + push_error("Loggie loaded neither a custom nor a default settings file. This will break the plugin. Make sure that a valid loggie_settings.gd is in the same directory where loggie.gd is.") + return + + # Enforce certain settings if configured to do so. + if self.settings.enforce_optimal_settings_in_release_build == true and is_in_production(): + apply_production_optimal_settings() + + # Set the default custom string converter. + self.settings.custom_string_converter = LoggieTools.convert_to_string + + # Install all the built-in channels. + var terminal_channel : TerminalLoggieMsgChannel = load("res://addons/loggie/channels/terminal.gd").new() + terminal_channel.preprocess_flags = self.settings.preprocess_flags_terminal_channel + add_channel(terminal_channel) + var discord_channel : DiscordLoggieMsgChannel = load("res://addons/loggie/channels/discord.gd").new() + discord_channel.preprocess_flags = self.settings.preprocess_flags_discord_channel + add_channel(discord_channel) + var slack_channel : SlackLoggieMsgChannel = load("res://addons/loggie/channels/slack.gd").new() + slack_channel.preprocess_flags = self.settings.preprocess_flags_slack_channel + add_channel(slack_channel) + + # Already cache the name of the singleton found at loggie's script path. + class_names[self.get_script().resource_path] = LoggieSettings.loggie_singleton_name + + # Prepopulate class data from ProjectSettings to avoid needing to read files. + if OS.has_feature("debug"): + for class_data: Dictionary in ProjectSettings.get_global_class_list(): + class_names[class_data.path] = class_data.class + + for autoload_setting: String in ProjectSettings.get_property_list().map(func(prop): return prop.name).filter(func(prop): return prop.begins_with("autoload/") and ProjectSettings.has_setting(prop)): + var autoload_class: String = autoload_setting.trim_prefix("autoload/") + var class_path: String = ProjectSettings.get_setting(autoload_setting) + class_path = class_path.trim_prefix("*") + if not class_names.has(class_path): + class_names[class_path] = autoload_class + + # And don't proceed further if we're in Editor mode, since we don't need to show loggie boot messages in that case. + if Engine.is_editor_hint(): + return + + # Print the Loggie boot messages. + if self.settings.show_loggie_specs != LoggieEnums.ShowLoggieSpecsMode.DISABLED: + msg("👀 Loggie {version}{isproxy} booted.".format({ + "version" : self.version_manager.version, + "isproxy" : " (proxy for {original})".format({"original": self.version_manager.version.proxy_for}) if self.version_manager.version.proxy_for != null else "" + })).color(Color.ORANGE).header().nl().info() + var loggie_specs_msg = LoggieSystemSpecsMsg.new().use_logger(self) + loggie_specs_msg.add(msg("|\t Using Custom Settings File: ").bold(), !uses_original_settings_file).nl().add("|\t ").hseparator(35).nl() + + match self.settings.show_loggie_specs: + LoggieEnums.ShowLoggieSpecsMode.ESSENTIAL: + loggie_specs_msg.embed_essential_logger_specs() + LoggieEnums.ShowLoggieSpecsMode.ADVANCED: + loggie_specs_msg.embed_advanced_logger_specs() + + loggie_specs_msg.preprocessed(false).info() + + if self.settings.show_system_specs: + var system_specs_msg = LoggieSystemSpecsMsg.new().use_logger(self) + system_specs_msg.embed_specs().preprocessed(false).info() + +## Attempts to instantiate and use a LoggieSettings object from the script at the given [param path]. +## Returns true if successful, otherwise false and prints an error. +func load_settings_from_path(path : String) -> bool: + var settings_resource = ResourceLoader.load(path) + var settings_instance + + if settings_resource != null: + settings_instance = settings_resource.new() + + if (settings_instance is LoggieSettings): + self.settings = settings_instance + self.settings.load() + return true + else: + push_error("Unable to instantiate a LoggieSettings object from the script at path {path}. Check that loggie.gd -> custom_settings_path is pointing to a valid .gd script that contains the class definition of a class that either extends LoggieSettings, or is LoggieSettings.".format({"path": path})) + return false + +## Checks if Loggie is running in production (release) mode of the game. +## While it is, every [LoggieMsg] will have plain output. +## Uses a sensible default check for most projects, but +## you can rewrite this function to your needs if necessary. +## TODO: Port this out of Loggie into LoggieSettings so users can override it easier. +func is_in_production() -> bool: + return OS.has_feature("release") + +## Returns a custom list of channels that messages from the given [param domain_name] will be sent to. +## This list can be set through the [method set_domain_enabled] method. +## If the list is empty, default channels will be used. +func get_domain_custom_target_channels(domain_name : String) -> Array: + if domains.has(domain_name): + return domains[domain_name].custom_target_channels + return [] + +## Sets whether the domain with the given name is enabled. +## If [param custom_target_channels] is provided, it will be used as the list of channels that messages from the given domain will be sent to. +## It can be provided as a string (if only one channel is used), or an array of strings (if multiple channels are used). +## Otherwise, the default channels will be used. +func set_domain_enabled(domain_name : String, enabled : bool, custom_target_channels : Variant = []) -> void: + var pruned_target_channels = [] + + if custom_target_channels is String: + custom_target_channels = [custom_target_channels] + + # Prune the array to ensure only string content is used. + if custom_target_channels is Array: + for entry in custom_target_channels: + if entry is String or entry is StringName: + pruned_target_channels.push_back(entry) + else: + push_error("Attempt to set a custom target channel for domain {domain_name} with an invalid value: {custom_target_channels}. The value must be a string or an array of strings. Default channels will be used instead.".format({ + "domain_name": domain_name, + "custom_target_channels": custom_target_channels + })) + + domains[domain_name] = {"enabled": enabled, "custom_target_channels": pruned_target_channels} + +## Checks whether the domain with the given name is enabled. +## The domain name "" (empty string) is the default one for all newly created messages, +## and is designed to always be enabled. +func is_domain_enabled(domain_name : String) -> bool: + if domain_name == "": + return true + + if domains.has(domain_name) and domains[domain_name].enabled == true: + return true + + return false + +## Returns an available channel with the given ID (if one exists), otherwise null. +func get_channel(channel_id : String) -> LoggieMsgChannel: + if available_channels.has(channel_id): + return available_channels[channel_id] + return null + +## Adds a new channel for sending messages to. +## Multiple channels with the same ID can not be added, so make sure your ID +## does not clash with one of the existing channels' IDs, which are: +## [param terminal], [param discord], [param slack]. +func add_channel(channel : LoggieMsgChannel): + if not available_channels.has(channel.ID): + available_channels[channel.ID] = channel + else: + push_error("Attempt to add a channel with ID {ID} failed, a channel with that ID already exists in Loggie.".format({ + "ID": channel.ID + })) + +## Gets a [LoggiePreset] message with the given ID, or creates one if it doesn't exist and returns it. +## The ID cannot be an empty string. +func preset(id : String) -> LoggiePreset: + if id.is_empty(): + push_error("Attempt to create or get a LoggiePreset with an empty ID - not allowed.") + return null + + if presets.has(id): + return presets[id] + else: + var newPreset : LoggiePreset = LoggiePreset.new() + newPreset.use_logger(self) + presets[id] = newPreset + return newPreset + +## Creates a new [LoggieMsg] out of the given [param msg] and extra arguments (by converting them to strings and concatenating them to the msg). +## You may continue to modify the [LoggieMsg] with additional functions from that class, then when you are ready to output it, use methods like: +## [method LoggieMsg.info], [method LoggieMsg.warn], etc. +func msg(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + var loggieMsg = LoggieMsg.new(message, arg1, arg2, arg3, arg4, arg5) + loggieMsg.use_logger(self) + return loggieMsg + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the info level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func info(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).info() + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the warn level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func warn(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).warn() + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the error level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func error(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).error() + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the debug level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func debug(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).debug() + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the notice level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func notice(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).notice() + +## Returns the path to the directory from which within this script is running. +func get_directory_path() -> String: + return get_script().resource_path.get_base_dir() + +## Returns a [LoggieMsg] that comes inserted with stylized content describing the stack trace obtained via [method get_stack]. +## This function only works in debug builds, and on the main thread, because it uses [method get_stack]. +## Read more about why in that function's documentation. +func stack() -> LoggieMsg: + if !OS.has_feature("debug"): + return msg() + + const FALLBACK_TXT_TO_FORMAT = "{index}: {fn_name}:{line} (in {source_path})" + var stack = get_stack() + var stack_msg = msg() + + var text_to_format = settings.format_stacktrace_entry if is_instance_valid(settings) else FALLBACK_TXT_TO_FORMAT + + stack.reverse() + + for index in stack.size(): + var file_name = stack[index].source.get_file().get_basename() + + if settings.skipped_filenames_in_stack_trace.has(file_name): + continue + + var entry_msg = LoggieMsg.new() + entry_msg.add(text_to_format.format({ + "index": index, + "source_path": stack[index].source, + "fn_name": stack[index].function, + "line": stack[index].line + })) + + if index == 0 or index < stack.size(): + entry_msg.prefix("\n ") + entry_msg.endseg() + + stack_msg.add(entry_msg) + + return stack_msg + +## Changes the values of certain members of [member settings] to values which are optimal for +## use in production builds. Used when [member LoggieSettings.enforce_optimal_settings_in_release_build] +## needs to be enforced. +func apply_production_optimal_settings(): + self.settings.msg_format_mode = LoggieEnums.MsgFormatMode.PLAIN + self.settings.box_characters_mode = LoggieEnums.BoxCharactersMode.COMPATIBLE diff --git a/addons/loggie/loggie.gd.uid b/addons/loggie/loggie.gd.uid new file mode 100644 index 0000000..a77b9fa --- /dev/null +++ b/addons/loggie/loggie.gd.uid @@ -0,0 +1 @@ +uid://bmh2auo806k0k diff --git a/addons/loggie/loggie_message.gd b/addons/loggie/loggie_message.gd new file mode 100644 index 0000000..4b67313 --- /dev/null +++ b/addons/loggie/loggie_message.gd @@ -0,0 +1,566 @@ +@tool + +## LoggieMsg represents a mutable object that holds an array of strings ([member content]) [i](referred to as 'content segments')[/i], and +## a bunch of helper methods that make it easy to manipulate these segments and chain together additions and changes to them. +## [br][br]For example: +## [codeblock] +### Prints: "Hello world!" at the INFO debug level. +##var msg = LoggieMsg.new("Hello world").color(Color.RED).suffix("!").info() +##[/codeblock] +## [br] You can also use [method Loggie.msg] to quickly construct a message. +## [br] Example of usage: +## [codeblock]Loggie.msg("Hello world").color(Color("#ffffff")).suffix("!").info()[/codeblock] +class_name LoggieMsg extends RefCounted + +## The full content of this message. By calling various helper methods in this class, this content is further altered. +## The content is an array of strings which represents segments of the message which are ultimately appended together +## to form the final message. You can start a new segment by calling [method msg] on this class. +## You can then output the whole message with methods like [method info], [method debug], etc. +var content : Array = [""] + +## The segment of [member content] that is currently being edited. +var current_segment_index : int = 0 + +## The (key string) domain this message belongs to. +## "" is the default domain which is always enabled. +## If this message attempts to be outputted, but belongs to a disabled domain, it will not be outputted. +## You can change which domains are enabled in Loggie at any time with [Loggie.set_domain_enabled]. +## This is useful for creating blocks of debugging output that you can simply turn off/on with a boolean when you actually need them. +var domain_name : String = "" + +## Stores a reference to the logger that generated this message, from which we need to read settings and other data. +## This variable should be set with [method use_logger] before an attempt is made to log this message out. +var _logger : Variant + +## Stores an array of IDs of all channels this message should be sent to when being outputted. +var used_channels : Array = ["terminal"] + +## Whether this message should be preprocessed and modified during [method output]. +var preprocess : bool = true + +## Usually, the [LoggieMsgChannel] this message gets outputted on sets the preprocessing steps this message should use. +## But sometimes we may want to use a specific set of preprocessing steps on this message, +## overriding the channel's set of rules. +## In that case, set this variable to the value of the [LoggieEnums.PreprocessStep] flags you want this message to use with +## [method preprocess]. +var custom_preprocess_flags : int = -1 + +## Stores the string which was obtained the last time the [method get_preprocessed] was called on this message. +## You need to call it at least once for this to have any results. +var last_preprocess_result : String = "" + +## Stores the integer value of a [enum LoggieEnums.LogLevel], matching the log level +## this message was most recently outputted at. If value is `-1`, the message was never +## outputted yet. +var last_outputted_at_log_level : int = -1 + +## Whether this message should append the stack trace during preprocessing. +var appends_stack : bool = false + +## Controls whether the [enum LoggieEnums.MsgType] of this message, during [method output], +## will be decided dynamically, based on the [enum LoggieEnums.LogLevel] the message is being output at. +## If disabled, the [member strict_type] will be used instead. +var dynamic_type : bool = true + +## The [LoggieEnums.MsgType] this message will be considered typed as, if [member dynamic_type] is set +## to [param false]. +var strict_type : LoggieEnums.MsgType = LoggieEnums.MsgType.INFO + +## The environment in which this message should be outputted based on the context the output is being requested from. +## (e.g. only in-engine (during tool scripts), or only ingame, or both). +var environment_mode : LoggieEnums.MsgEnvironment = LoggieEnums.MsgEnvironment.BOTH + +## If set to true, the [signal Loggie.log_attempted] signal will not be emitted when this message attempts to be outputted. +var dont_emit_log_attempted_signal : bool = false + +func _init(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> void: + var args = [message, arg1, arg2, arg3, arg4, arg5] + self.content[0] = LoggieTools.concatenate_args(args) + self.set_meta("initial_args", args) + +## Returns a reference to the logger object that created this message. +func get_logger() -> Variant: + return self._logger + +## Sets this message to use the given [param logger] as the logger from which it will be reading +## settings. The given logger should be of class [Loggie] or an extension of it. +func use_logger(logger_to_use : Variant) -> LoggieMsg: + self._logger = logger_to_use + self.used_channels = self._logger.settings.default_channels + + # Now that a logger is connected, we can re-format the first segment + # using that Logger's converter function if it has a custom one defined. + if self.has_meta("initial_args"): + var initial_args = self.get_meta("initial_args") + if initial_args is Array: + var converter_fn = self._logger.settings.custom_string_converter if is_instance_valid(self._logger) and is_instance_valid(self._logger.settings) else null + if converter_fn != LoggieTools.convert_to_string: + self.content[0] = LoggieTools.concatenate_args(initial_args, converter_fn) + self.remove_meta("initial_args") # Clean up. + + return self + +## Sets the list of channels this message should be sent to when outputted. +## [param channels] should either be provided as a single channel ID (String), or +## as an array of channel IDs (Array of strings). +func channel(channels : Variant) -> LoggieMsg: + if typeof(channels) != TYPE_ARRAY and typeof(channels) != TYPE_PACKED_STRING_ARRAY: + channels = [str(channels)] + self.used_channels = channels + return self + +## Returns a processed version of the content of this message, which has modifications applied to +## it based on the requested [param type] and other settings defined by the provided preprocess [param flags]. +## Available preprocess flags are found in [enum LoggieEnums.PreprocessStep]. +func get_preprocessed(flags : int, _level : LoggieEnums.LogLevel, type : LoggieEnums.MsgType) -> String: + var loggie = get_logger() + var message = self.string() + + match type: + LoggieEnums.MsgType.ERROR: + message = loggie.settings.format_error_msg.format({"msg": message}) + LoggieEnums.MsgType.WARN: + message = loggie.settings.format_warning_msg.format({"msg": message}) + LoggieEnums.MsgType.NOTICE: + message = loggie.settings.format_notice_msg.format({"msg": message}) + LoggieEnums.MsgType.INFO: + message = loggie.settings.format_info_msg.format({"msg": message}) + LoggieEnums.MsgType.DEBUG: + message = loggie.settings.format_debug_msg.format({"msg": message}) + + if (flags & LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME != 0) and !self.domain_name.is_empty(): + message = _apply_format_domain(message) + + if (flags & LoggieEnums.PreprocessStep.APPEND_CLASS_NAME != 0) and OS.has_feature("debug"): + message = _apply_format_class_name(message) + + if (flags & LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS != 0): + message = _apply_format_timestamp(message) + + if self.appends_stack or (loggie.settings.debug_msgs_print_stack_trace and type == LoggieEnums.MsgType.DEBUG): + message = _apply_format_stack(message) + + return message + +## Outputs the given string [param message] at the given output [param level] to the standard output using either [method print_rich] or [method print]. +## The domain from which the message is considered to be coming can be provided via [param target_domain]. +## The message type can be provided via [param msg_type], but it will be ignored if [member dynamic_type] is false, +## in which case, the [member strict_type] will be used. +## It also does a number of changes to the given [param msg] based on various Loggie settings. +## Designed to be called internally. You should consider using [method info], [method error], [method warn], [method notice], [method debug] instead. +func output(level : LoggieEnums.LogLevel, msg_type : LoggieEnums.MsgType = LoggieEnums.MsgType.INFO) -> void: + var loggie = get_logger() + var message = self.string() + var target_domain = self.domain_name + var target_channels = self.used_channels + + if loggie == null: + push_error("Attempt to log output with an invalid _logger. Make sure to call LoggieMsg.use_logger to set the appropriate logger before working with the message.") + return + + if loggie.settings == null: + push_error("Attempt to use a _logger with invalid settings to print: {msg}".format({"msg": message})) + return + + # We don't output the message if the settings dictate that messages of that level shouldn't be outputted. + if level > loggie.settings.log_level: + _emit_log_attempted_signal(LoggieEnums.LogAttemptResult.LOG_LEVEL_INSUFFICIENT) + return + + # We don't output the message if the domain from which it comes is not enabled. + if not loggie.is_domain_enabled(target_domain): + _emit_log_attempted_signal(LoggieEnums.LogAttemptResult.DOMAIN_DISABLED) + return + + # We don't output the message if the environment the output is being requested from is not compatible with + # the environment this message is configured to be outputted in. + match environment_mode: + LoggieEnums.MsgEnvironment.ENGINE: + if not Engine.is_editor_hint(): + _emit_log_attempted_signal(LoggieEnums.LogAttemptResult.WRONG_ENVIRONMENT) + return + LoggieEnums.MsgEnvironment.RUNTIME: + if Engine.is_editor_hint(): + _emit_log_attempted_signal(LoggieEnums.LogAttemptResult.WRONG_ENVIRONMENT) + return + + # Enforce the strict type of this message if it is configured not to allow dynamic type. + if !dynamic_type: + msg_type = strict_type + + # Send the message on all configured channels. + var custom_target_channels = loggie.get_domain_custom_target_channels(target_domain) + if custom_target_channels.size() > 0: + target_channels = custom_target_channels + + for channel_id : String in target_channels: + var channel : LoggieMsgChannel = loggie.get_channel(channel_id) + + if channel == null: + _emit_log_attempted_signal(LoggieEnums.LogAttemptResult.INVALID_CHANNEL) + continue + + # Preprocessing Stage: + # Apply full preprocessing only if explicitly enabled. + # Otherwise, simply concatenate together all the [member content]. + if self.preprocess: + var flags = self.custom_preprocess_flags if self.custom_preprocess_flags != -1 else channel.preprocess_flags + self.last_preprocess_result = get_preprocessed(flags, level, msg_type) + else: + self.last_preprocess_result = self.string() + + self.last_outputted_at_log_level = int(level) + channel.send(self, msg_type) + + # Emit signal deferred so if this is called from a thread, it doesn't cry about it. + _emit_log_attempted_signal(LoggieEnums.LogAttemptResult.SUCCESS, true) + +## Outputs this message from Loggie as an Error type message. +## The [Loggie.settings.log_level] must be equal to or higher to the ERROR level for this to work. +func error() -> LoggieMsg: + output(LoggieEnums.LogLevel.ERROR, LoggieEnums.MsgType.ERROR) + return self + +## Outputs this message from Loggie as an Warning type message. +## The [Loggie.settings.log_level] must be equal to or higher to the WARN level for this to work. +func warn() -> LoggieMsg: + output(LoggieEnums.LogLevel.WARN, LoggieEnums.MsgType.WARN) + return self + +## Outputs this message from Loggie as an Notice type message. +## The [Loggie.settings.log_level] must be equal to or higher to the NOTICE level for this to work. +func notice() -> LoggieMsg: + output(LoggieEnums.LogLevel.NOTICE, LoggieEnums.MsgType.NOTICE) + return self + +## Outputs this message from Loggie as an Info type message. +## The [Loggie.settings.log_level] must be equal to or higher to the INFO level for this to work. +func info() -> LoggieMsg: + output(LoggieEnums.LogLevel.INFO, LoggieEnums.MsgType.INFO) + return self + +## Outputs this message from Loggie as a Debug type message. +## The [Loggie.settings.log_level] must be equal to or higher to the DEBUG level for this to work. +func debug() -> LoggieMsg: + output(LoggieEnums.LogLevel.DEBUG, LoggieEnums.MsgType.DEBUG) + return self + +## Returns the string content of this message. +## If [param segment] is provided, it should be an integer indicating which segment of the message to return. +## If its value is -1, all segments are concatenated together and returned. +func string(segment : int = -1) -> String: + if segment == -1: + return "".join(self.content) + else: + if segment < self.content.size(): + return self.content[segment] + else: + push_error("Attempt to access a non-existent segment of a LoggieMsg. Make sure to use a valid segment index.") + return "" + +## Converts the current content of this message to an ANSI compatible form. +func to_ANSI() -> LoggieMsg: + var new_content : Array = [] + for segment in self.content: + new_content.append(LoggieTools.rich_to_ANSI(segment)) + self.content = new_content + return self + +## Strips all the BBCode in the current content of this message. +func strip_BBCode() -> LoggieMsg: + var new_content : Array = [] + for segment in self.content: + new_content.append(LoggieTools.remove_BBCode(segment)) + self.content = new_content + return self + +## Wraps the content of the current segment of this message in the given color. +## The [param color] can be provided as a [Color], a recognized Godot color name (String, e.g. "red"), or a color hex code (String, e.g. "#ff0000"). +func color(_color : Variant) -> LoggieMsg: + if _color is Color: + _color = _color.to_html() + + self.content[current_segment_index] = "[color={colorstr}]{msg}[/color]".format({ + "colorstr": _color, + "msg": self.content[current_segment_index] + }) + + return self + +## Stylizes the current segment of this message to be bold. +func bold() -> LoggieMsg: + self.content[current_segment_index] = "[b]{msg}[/b]".format({"msg": self.content[current_segment_index]}) + return self + +## Stylizes the current segment of this message to be italic. +func italic() -> LoggieMsg: + self.content[current_segment_index] = "[i]{msg}[/i]".format({"msg": self.content[current_segment_index]}) + return self + +## Makes the current segment of this message a hyperlink to the given [param url]. +## Optionally, you can provide a [param color], as the same type of parameter that [method color] uses, +## to colorize the link. This is a shortcut for additionally calling [method color] on the link. +## [br][br]If the link doesn't work when rendered inside of a [RichTextLabel], you may need to connect to the [signal RichTextLabel.meta_clicked] signal, +## and handle the opening of the link there. Read the docs of that signal for more info. +## [br][br][WARNING]: Appending URLs to messages is potentially dangerous. +## Please read this article for more info: https://docs.godotengine.org/en/latest/tutorials/ui/bbcode_in_richtextlabel.html#handling-user-input-safely +func link(url : String, _color : Variant = null) -> LoggieMsg: + self.content[current_segment_index] = "[url={url}]{msg}[/url]".format({"url": url, "msg": self.content[current_segment_index]}) + if _color: + self.color(_color) + return self + +## Stylizes the current segment of this message as a header. +func header() -> LoggieMsg: + var loggie = get_logger() + self.content[current_segment_index] = loggie.settings.format_header.format({"msg": self.content[current_segment_index]}) + return self + +## Sets whether this message should append the stack trace during preprocessing. +## If used in a different thread, it doesn't work, because it relies on [method get_stack] and +## that method doesn't work within threads. +func stack(enabled : bool = true) -> LoggieMsg: + self.appends_stack = enabled + return self + +## Constructs a decorative box with the given horizontal padding around the current segment +## of this message. Messages containing a box are not going to be preprocessed, so they are best +## used only as a special header or decoration. +func box(h_padding : int = 4) -> LoggieMsg: + var loggie = get_logger() + var stripped_content = LoggieTools.remove_BBCode(self.content[current_segment_index]).strip_edges(true, true) + var content_length = stripped_content.length() + var h_fill_length = content_length + (h_padding * 2) + var box_character_source = loggie.settings.box_symbols_compatible if loggie.settings.box_characters_mode == LoggieEnums.BoxCharactersMode.COMPATIBLE else loggie.settings.box_symbols_pretty + + var top_row_design = "{top_left_corner}{h_fill}{top_right_corner}".format({ + "top_left_corner" : box_character_source.top_left, + "h_fill" : box_character_source.h_line.repeat(h_fill_length), + "top_right_corner" : box_character_source.top_right + }) + + var middle_row_design = "{vert_line}{padding}{content}{space_fill}{padding}{vert_line}".format({ + "vert_line" : box_character_source.v_line, + "content" : self.content[current_segment_index], + "padding" : " ".repeat(h_padding), + "space_fill" : " ".repeat(h_fill_length - stripped_content.length() - h_padding*2) + }) + + var bottom_row_design = "{bottom_left_corner}{h_fill}{bottom_right_corner}".format({ + "bottom_left_corner" : box_character_source.bottom_left, + "h_fill" : box_character_source.h_line.repeat(h_fill_length), + "bottom_right_corner" : box_character_source.bottom_right + }) + + self.content[current_segment_index] = "{top_row}\n{middle_row}\n{bottom_row}\n".format({ + "top_row" : top_row_design, + "middle_row" : middle_row_design, + "bottom_row" : bottom_row_design + }) + + self.preprocessed(false) + return self + +## Appends additional content to this message at the end of the current content and its stylings. +## This does not create a new message segment, just appends to the current one. +func add(message : Variant = null, arg1 : Variant = null, arg2 : Variant = null, arg3 : Variant = null, arg4 : Variant = null, arg5 : Variant = null) -> LoggieMsg: + var converter_fn = self._logger.settings.custom_string_converter if is_instance_valid(self._logger) and is_instance_valid(self._logger.settings) else null + self.content[current_segment_index] = self.content[current_segment_index] + LoggieTools.concatenate_args([message, arg1, arg2, arg3, arg4, arg5], converter_fn) + return self + +## Adds a specified amount of newlines to the end of the current segment of this message. +func nl(amount : int = 1) -> LoggieMsg: + self.content[current_segment_index] += "\n".repeat(amount) + return self + +## Adds a specified amount of spaces to the end of the current segment of this message. +func space(amount : int = 1) -> LoggieMsg: + self.content[current_segment_index] += " ".repeat(amount) + return self + +## Adds a specified amount of tabs to the end of the current segment of this message. +func tab(amount : int = 1) -> LoggieMsg: + self.content[current_segment_index] += "\t".repeat(amount) + return self + +## Sets this message to belong to the domain with the given name. +## If it attempts to be outputted, but the domain is disabled, it won't be outputted. +func domain(_domain_name : String) -> LoggieMsg: + self.domain_name = _domain_name + return self + +## Prepends the given prefix string to the start of the message (first segment) with the provided separator. +func prefix(str_prefix : String, separator : String = "") -> LoggieMsg: + self.content[0] = "{prefix}{separator}{content}".format({ + "prefix" : str_prefix, + "separator" : separator, + "content" : self.content[0] + }) + return self + +## Appends the given suffix string to the end of the message (last segment) with the provided separator. +func suffix(str_suffix : String, separator : String = "") -> LoggieMsg: + self.content[self.content.size() - 1] = "{content}{separator}{suffix}".format({ + "suffix" : str_suffix, + "separator" : separator, + "content" : self.content[self.content.size() - 1] + }) + return self + +## Appends a horizontal separator with the given length to the current segment of this message. +## If [param alternative_symbol] is provided, it should be a String, and it will be used as the symbol for the separator instead of the default one. +func hseparator(size : int = 16, alternative_symbol : Variant = null) -> LoggieMsg: + var loggie = get_logger() + var symbol = loggie.settings.h_separator_symbol if alternative_symbol == null else str(alternative_symbol) + self.content[current_segment_index] = self.content[current_segment_index] + (symbol.repeat(size)) + return self + +## Ends the current segment of the message and starts a new one. +func endseg() -> LoggieMsg: + self.content.push_back("") + self.current_segment_index = self.content.size() - 1 + return self + +## Sets the environment in which this message should be outputted based on the context the output is being requested from. +## (e.g. only in-engine (during tool scripts), or only ingame, or both). +func env(mode : LoggieEnums.MsgEnvironment) -> LoggieMsg: + self.environment_mode = mode + return self + +## Creates a new segment in this message and sets its content to the given message. +## Acts as a shortcut for calling [method endseg] + [method add]. +func msg(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + self.endseg() + var converter_fn = self._logger.settings.custom_string_converter if is_instance_valid(self._logger) and is_instance_valid(self._logger.settings) else null + self.content[current_segment_index] = LoggieTools.concatenate_args([message, arg1, arg2, arg3, arg4, arg5], converter_fn) + return self + +## Sets whether this message should be preprocessed and potentially modified with prefixes and suffixes during [method output]. +## If turned off, while outputting this message, Loggie will skip the steps where it appends the messaage domain, class name, timestamp, etc. +## Whether preprocess is set to true doesn't affect the final conversion from RICH to ANSI or PLAIN, which always happens +## under some circumstances that are based on other settings. +func preprocessed(shouldPreprocess : bool) -> LoggieMsg: + self.preprocess = shouldPreprocess + return self + +## Sets this message's [LoggieEnums.MsgType] to be strictly the provided value, +## instead of dynamically decided by the log level at which it is being outputted. +## [br][param loggie_enums_msgtype_key_or_value] should either be provided as a direct value of the enum, +## (e.g. [enum LoggieEnum.MsgType.INFO]) or as a string matching one of the keys in that enum (e.g. +## `"info"` or `"INFO"`, case-insensitive). +func type(loggie_enums_msgtype_key_or_value : Variant) -> LoggieMsg: + var isValid = false + var _type : LoggieEnums.MsgType + + if loggie_enums_msgtype_key_or_value is LoggieEnums.MsgType: + _type = loggie_enums_msgtype_key_or_value + isValid = true + elif loggie_enums_msgtype_key_or_value is String: + var uppercase_key = loggie_enums_msgtype_key_or_value.to_upper() + if LoggieEnums.MsgType.keys().has(uppercase_key): + _type = LoggieEnums.MsgType[uppercase_key] + isValid = true + + if isValid: + dynamic_type = false + strict_type = _type + else: + push_error("Attempt to set LoggieMsg type to {value} - could not be converted to a proper [LoggieEnums.MsgType]. Either provide a [LoggieEnums.MsgType], or a string that matches a key in that enum (case-insensitive).".format({"value": str(loggie_enums_msgtype_key_or_value)})) + + return self + +## If [param enabled], the [signal Loggie.log_attempted] signal will not be emitted when this message attempts to be outputted. +func no_signal(enabled : bool = true) -> LoggieMsg: + dont_emit_log_attempted_signal = enabled + return self + +## Applies the [LoggiePreset] with the given [param id] to this message. +## [br]If [param apply_only_to_current_segment] is [param true], the styles from the preset will only be +## applied to the current content segment of this message. Otherwise, the entire content of this message +## will be collapsed into a single segment, and the styles will be applied to that. +func preset(id : String, apply_only_to_current_segment : bool = false) -> LoggieMsg: + var loggie = get_logger() + var preset_to_use : LoggiePreset = loggie.preset(id) + if preset_to_use: + preset_to_use.apply_to(self, apply_only_to_current_segment) + else: + push_error("Attempt to obtain LoggiePreset with ID {id} returned null. Something went terribly wrong, as this should usually be impossible.") + return self + +## Internal method. Emits the [signal Loggie.log_attempted] signal (unless that feature is disabled). +## Used during [method output]. If [param call_deferred] is true, the string of the message's content will +## be prepared immediately, but the emission of the signal will be deferred. +func _emit_log_attempted_signal(result : LoggieEnums.LogAttemptResult, call_deferred : bool = false) -> void: + if dont_emit_log_attempted_signal: + return + + var loggie = get_logger() + var string_content = self.string() + + if call_deferred: + loggie.call_deferred("emit_signal", "log_attempted", self, string_content, result) + else: + loggie.log_attempted.emit(self, string_content, result) + +## Adds this message's configured domain to the start of the given [param message] and returns the modifier version of it. +func _apply_format_domain(message : String) -> String: + var loggie = get_logger() + message = loggie.settings.format_domain_prefix.format({"domain" : self.domain_name, "msg" : message}) + return message + +## Adds a formatted class name to the given [param message] and returns the modified version of it. +func _apply_format_class_name(message : String) -> String: + var loggie = get_logger() + var stack_frame : Dictionary = LoggieTools.get_current_stack_frame_data() + var _class_name : String + + var scriptPath = stack_frame.source + if loggie.class_names.has(scriptPath): + _class_name = loggie.class_names[scriptPath] + else: + _class_name = LoggieTools.get_class_name_from_script(scriptPath, loggie.settings.nameless_class_name_proxy) + loggie.class_names[scriptPath] = _class_name + + if _class_name != "": + message = "[b]({class_name})[/b] {msg}".format({ + "class_name" : _class_name, + "msg" : message + }) + return message + +## Adds a formatted timestamp to the given [param message] and returns the modified version of it. +func _apply_format_timestamp(message : String) -> String: + var loggie = get_logger() + var format_dict : Dictionary = Time.get_datetime_dict_from_system(loggie.settings.timestamps_use_utc) + for field in ["month", "day", "hour", "minute", "second"]: + format_dict[field] = "%02d" % format_dict[field] + + # Add the millisecond + var unix_time: float = Time.get_unix_time_from_system() + var millisecond: int = int((unix_time - int(unix_time)) * 1000.0) + format_dict["millisecond"] = "%03d" % millisecond + + # Add the startup time to the format dictionary. + var elapsed_millisecond: int = Time.get_ticks_msec() + var startup_hour: int = elapsed_millisecond / 3_600_000 + var startup_minute: int = (elapsed_millisecond % 3_600_000) / 60_000 + var startup_second: int = (elapsed_millisecond % 60_000) / 1000 + var startup_millisecond: int = elapsed_millisecond % 1000 + format_dict["startup_hour"] = "%02d" % startup_hour + format_dict["startup_minute"] = "%02d" % startup_minute + format_dict["startup_second"] = "%02d" % startup_second + format_dict["startup_millisecond"] = "%03d" % startup_millisecond + + message = "{formatted_time} {msg}".format({ + "formatted_time" : loggie.settings.format_timestamp.format(format_dict), + "msg" : message + }) + + return message + +## Adds the stack trace to the given [param message] and returns the modified version of it. +func _apply_format_stack(message : String) -> String: + var loggie = get_logger() + var stack_msg = loggie.stack() + message = message + stack_msg.string() + return message diff --git a/addons/loggie/loggie_message.gd.uid b/addons/loggie/loggie_message.gd.uid new file mode 100644 index 0000000..e1c7a5c --- /dev/null +++ b/addons/loggie/loggie_message.gd.uid @@ -0,0 +1 @@ +uid://bd3hgca3nslui diff --git a/addons/loggie/loggie_message_channel.gd b/addons/loggie/loggie_message_channel.gd new file mode 100644 index 0000000..5a4d44e --- /dev/null +++ b/addons/loggie/loggie_message_channel.gd @@ -0,0 +1,24 @@ +@tool + +## A class that describes a channel that can be used to output Loggie Messages. +class_name LoggieMsgChannel extends RefCounted + +## The ID of the channel. +var ID : String = "" + +## The preprocessing steps a [method LoggieMsg] that's about to be +## sent to this channel has to go through. See: [LoggieEnums.PreprocessStep] for +## the list of flags that can be used. +var preprocess_flags : int = 0 + +## Defines what happens when some [LoggieMsg] wants to be sent with this channel. +## [br]If you're implementing your own channel, override this function to define +## how your channel outputs the message. +## +## You can access the last known preprocessed version of the message +## in [LoggieMsg.last_preprocess_result]. +## +## If your channel requires extra data, the data can be embedded into a message +## with [method LoggieMsg.set_meta] and read here with [method LoggieMsg.get_meta]. +func send(msg : LoggieMsg, type : LoggieEnums.MsgType): + pass diff --git a/addons/loggie/loggie_message_channel.gd.uid b/addons/loggie/loggie_message_channel.gd.uid new file mode 100644 index 0000000..acf9e4b --- /dev/null +++ b/addons/loggie/loggie_message_channel.gd.uid @@ -0,0 +1 @@ +uid://bunns8okgi81c diff --git a/addons/loggie/loggie_preset.gd b/addons/loggie/loggie_preset.gd new file mode 100644 index 0000000..b0d42aa --- /dev/null +++ b/addons/loggie/loggie_preset.gd @@ -0,0 +1,83 @@ +## An extension of the [LoggieMsg] class, meant to clearly differentiate between a message +## that was created with the sole purpose of being used as a Preset. +## Future behaviors of the message may diverge from regular behaviors of LoggieMsg, hence +## being separated into a different class. +class_name LoggiePreset extends LoggieMsg + +## A placeholder that will be placed into the content of this preset as soon as it's initialized. +## This placeholder then gets wrapped with various styles as you call methods (e.g. [method bold], +## [method italic], etc.) on the preset. Later, only this string part of the content +## gets replaced by the actual content of a message this preset is being applied to, keeping the +## wrapped styles around it. +const content_placeholder = "{content}" + +func _init(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> void: + self.content = [content_placeholder] + +## Applies the settings and styles from this preset onto the given [LoggieMsg], modifying that message +## (does not create a duplicate) and returning that same message after it has been modified. +## +## [br][br]If any styles are applied to this [LoggiePreset], the entire content of the given [LoggieMsg] will +## be collapsed into a single segment, then have this preset's styles wrapped around that segment. +## [b]This directly resizes the [member LoggieMsg.content] array on the modified message.[/b] +## +## [br][br]However, if [param only_to_current_segment] is true, only the [member LoggieMsg.content] of +## the message found at its [member LoggieMsg.current_segment_index] will be wrapped in this preset's styles and modified, +## hence no resizing of the [member LoggieMsg.content] array will occur. +## +## [br]Neither of the above described actions will occur if this preset's content was not modified by any styles in any way. +func apply_to(msg : LoggieMsg, only_to_current_segment : bool = false) -> LoggieMsg: + if msg is LoggiePreset: + push_error("Attempt to apply a [LoggiePreset] to another [LoggiePreset] - unsupported behavior.") + return + + # Apply the settings from this setting on the given message. + msg.domain_name = self.domain_name + msg.used_channels = self.used_channels.duplicate() + msg.preprocess = self.preprocess + msg.custom_preprocess_flags = self.custom_preprocess_flags + msg.appends_stack = self.appends_stack + msg.dynamic_type = self.dynamic_type + msg.strict_type = self.strict_type + msg.environment_mode = self.environment_mode + msg.dont_emit_log_attempted_signal = self.dont_emit_log_attempted_signal + + # If no modifications were done to this preset's content (no styles applied), + # we don't need to go further. + if self.content[0] == content_placeholder: + return msg + + # Otherwise, + # Based on the value of [param only_to_current_segment], either: + # 1. (if true): Replace the content of the [param msg] on its current segment to be that same content, but wrapped in the styles of this preset. + # 2. (if false): Smush the entire content of the [param msg] into a single segment, then wrap that segment in the styles of this preset. + var content_to_apply_preset_to : String + + if only_to_current_segment: + content_to_apply_preset_to = msg.string(msg.current_segment_index) + var new_segment_content = self.content[0].format({"content": content_to_apply_preset_to}) + msg.content[msg.current_segment_index] = new_segment_content + else: + content_to_apply_preset_to = msg.string() + var new_message_content = self.content[0].format({"content": content_to_apply_preset_to}) + msg.content = [new_message_content] + + return msg + +## Overrides the parent class method by the same name to disable its functionality. +## Presets cannot have additional segments added. +func endseg() -> LoggieMsg: + push_warning("Attempt to call LoggieMsg.endseg on a LoggiePreset. This is not allowed. Presets shouldn't have more than 1 string content segment.") + return self + +## Overrides the parent class method by the same name to disable its functionality. +## Presets cannot have their content modified. +func msg(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + push_warning("Attempt to call LoggieMsg.msg on a LoggiePreset. This is not allowed. Presets cannot have string content.") + return self + +## Overrides the parent class method by the same name to disable its functionality. +## Presets cannot be outputted, they are only meant to be applied to other [LoggieMsg]s. +func output(level : LoggieEnums.LogLevel, msg_type : LoggieEnums.MsgType = LoggieEnums.MsgType.INFO) -> void: + push_warning("Attempt to call LoggieMsg.output on a LoggiePreset. This is not allowed. Presets should only be applied to other [LoggieMsg] instances, not used directly.") + return diff --git a/addons/loggie/loggie_preset.gd.uid b/addons/loggie/loggie_preset.gd.uid new file mode 100644 index 0000000..ad6f8a1 --- /dev/null +++ b/addons/loggie/loggie_preset.gd.uid @@ -0,0 +1 @@ +uid://b2oby5841g2bw diff --git a/addons/loggie/loggie_settings.gd b/addons/loggie/loggie_settings.gd new file mode 100644 index 0000000..48a1334 --- /dev/null +++ b/addons/loggie/loggie_settings.gd @@ -0,0 +1,521 @@ +@tool + +## Defines a set of variables through which all the relevant settings of Loggie can have their +## values set, read and documented. An instance of this class is found in [member Loggie.settings], and that's where Loggie +## ultimately reads from when it's asking for the value of a setting. For user convenience, settings are (by default) exported +## as custom Godot project settings and are loaded from there into these variables during [method load], however, +## you can extend or overwrite this class' [method load] method to define a different way of loading these settings if you prefer. +## [i](e.g. loading from a config.ini file, or a .json file, etc.)[/i].[br][br] +## +## Loggie calls [method load] on this class during its [method _ready] function. +class_name LoggieSettings extends Resource + +## The name that will be used for the singleton referring to Loggie. +## [br][br][i][b]Note:[/b] You may change this to something you're more used to, such as "log" or "logger".[/i] +## When doing so, make sure to either do it while the Plugin is enabled, then disable and re-enable the plugin, +## or that you manually clear out the previously created autoload (should be called "Loggie") in Project Settings -> Autoloads. +static var loggie_singleton_name = "Loggie" + +# ----------------------------------------------- # +#region Project Settings +# ----------------------------------------------- # +## The dictionary which is used to grab the defaults and other values associated with each setting +## relevant to Loggie, particularly important for the default way of loading [LoggieSettings] and +## setting up Godot Project Settings related to Loggie. +const project_settings = { + "update_check_mode" = { + "path": "loggie/general/check_for_updates", + "default_value" : LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Never:0,Only print notice if available:1,Print notice and auto-install:2,Yes and show updater window:3", + "doc" : "Sets which behavior Loggie should use when checking for updates.", + }, + "remove_settings_if_plugin_disabled" = { + "path": "loggie/general/remove_settings_if_plugin_disabled", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "Choose whether you want Loggie project settings to be wiped from ProjectSettings if the Loggie plugin is disabled.", + }, + "msg_format_mode" = { + "path": "loggie/general/msg_format_mode", + "default_value" : LoggieEnums.MsgFormatMode.BBCODE, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Plain:0,ANSI:1,BBCode:2,Markdown:3", + "doc" : "Choose the format for which loggie should preprocess the output so that it displays correctly on the intended output medium.[br][br]Use BBCode for Godot console.[br]Use ANSI for Powershell, Bash, etc.[br]Use MARKDOWN for Discord.[br]Use PLAIN for log files.", + }, + "log_level" = { + "path": "loggie/general/log_level", + "default_value" : LoggieEnums.LogLevel.INFO, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Error:0,Warn:1,Notice:2,Info:3,Debug:4", + "doc" : "Choose the level of messages which should be displayed. Loggie displays all messages that are outputted at the currently set level (or any lower level).", + }, + "show_system_specs" = { + "path": "loggie/general/show_system_specs", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "Should Loggie log the system and device specs of the user as soon as it is booted?", + }, + "show_loggie_specs" = { + "path": "loggie/general/show_loggie_specs", + "default_value" : LoggieEnums.ShowLoggieSpecsMode.ESSENTIAL, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Disabled:0,Essential:1,Advanced:2", + "doc" : "Defines which way Loggie should print its own specs when it is booted.", + }, + "enforce_optimal_settings_in_release_build" = { + "path": "loggie/general/enforce_optimal_settings_in_release_build", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "Should Loggie enforce certain settings to automatically change to optimal values in production/release builds?", + }, + "default_channels" = { + "path": "loggie/general/default_channels", + "default_value" : ["terminal"], + "type" : TYPE_PACKED_STRING_ARRAY, + "hint" : PROPERTY_HINT_TYPE_STRING, + "hint_string" : "", + "doc" : "The channels messages outputted from Loggie will be sent to by default (if not modified with LoggieMsg.channel method).", + }, + "skipped_filenames_in_stack_trace" = { + "path": "loggie/general/skipped_filenames_in_stack_trace", + "default_value" : ["loggie", "loggie_message"], + "type" : TYPE_PACKED_STRING_ARRAY, + "hint" : PROPERTY_HINT_TYPE_STRING, + "hint_string" : "", + "doc" : "The file names, which, when appearing in a stack trace, should be omitted from the output.", + }, + "discord_webhook_url_live" = { + "path": "loggie/general/discord/live_webhook", + "default_value" : "", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_MULTILINE_TEXT, + "hint_string" : "", + "doc" : "The endpoint URL for the Discord webhook used when Loggie is running in a production build.", + }, + "discord_webhook_url_dev" = { + "path": "loggie/general/discord/dev_webhook", + "default_value" : "", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_MULTILINE_TEXT, + "hint_string" : "", + "doc" : "The endpoint URL for the Discord webhook used when Loggie is not running in a production build.", + }, + "slack_webhook_url_live" = { + "path": "loggie/general/slack/live_webhook", + "default_value" : "", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_MULTILINE_TEXT, + "hint_string" : "", + "doc" : "The endpoint URL for the Slack webhook used when Loggie is running in a production build.", + }, + "slack_webhook_url_dev" = { + "path": "loggie/general/slack/dev_webhook", + "default_value" : "", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_MULTILINE_TEXT, + "hint_string" : "", + "doc" : "The endpoint URL for the Slack webhook used when Loggie is not running in a production build.", + }, + "timestamps_use_utc" = { + "path": "loggie/preprocessing/timestamps_use_utc", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "If 'Output Timestamps' is true, should those timestamps use the UTC time. If not, local system time is used instead.", + }, + "output_errors_to_console" = { + "path": "loggie/preprocessing/terminal/output_errors_also_to_console", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "If true, errors printed by Loggie will also be visible through an additional print in the main output.", + }, + "output_warnings_to_console" = { + "path": "loggie/preprocessing/terminal/output_warnings_also_to_console", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "If true, warnings printed by Loggie will also be visible through an additional print in the main output.", + }, + "debug_msgs_print_stack_trace" = { + "path": "loggie/preprocessing/terminal/debug_msgs_print_stack_trace", + "default_value" : false, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "If true, 'debug' level messages outputted by Loggie will also print the stack trace.", + }, + "nameless_class_name_proxy" = { + "path": "loggie/preprocessing/nameless_class_name_proxy", + "default_value" : LoggieEnums.NamelessClassExtensionNameProxy.BASE_TYPE, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Nothing:0,ScriptName:1,BaseType:2", + "doc" : "If 'Derive and Display Class Names From Scripts' is enabled, and a script doesn't have a 'class_name', which text should we use as a substitute?", + }, + "preprocess_flags_terminal_channel" = { + "path": "loggie/preprocessing/terminal/preprocess_flags", + "default_value" : LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS | LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_FLAGS, + "hint_string" : "Append Timestamp:1,Append Domain Name:2,Append Class Name:4", + "doc" : "Defines the flags which LoggieMessages sent to the terminal channel will use during preprocessing.", + }, + "preprocess_flags_discord_channel" = { + "path": "loggie/preprocessing/discord/preprocess_flags", + "default_value" : LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_FLAGS, + "hint_string" : "Append Timestamp:1,Append Domain Name:2,Append Class Name:4", + "doc" : "Defines the flags which LoggieMessages sent to the Discord channel will use during preprocessing.", + }, + "preprocess_flags_slack_channel" = { + "path": "loggie/preprocessing/slack/preprocess_flags", + "default_value" : LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_FLAGS, + "hint_string" : "Append Timestamp:1,Append Domain Name:2,Append Class Name:4", + "doc" : "Defines the flags which LoggieMessages sent to the Slack channel will use during preprocessing.", + }, + "format_timestamp" = { + "path": "loggie/formats/timestamp", + "default_value" : "[{day}.{month}.{year} {hour}:{minute}:{second}]", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for timestamps which are prepended to the message when the appending of timestamps is enabled.", + }, + "format_stacktrace_entry" = { + "path": "loggie/formats/stacktrace_entry", + "default_value" : "{index}: [color=#ff7085]func[/color] [color=#53b1c3][b]{fn_name}[/b]:{line}[/color] [color=slate_gray][i](in {source_path})[/i][/color]", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for stack trace entries when trace logging is enabled.", + }, + "format_debug_msg" = { + "path": "loggie/formats/debug_message", + "default_value" : "[b][color=pink][DEBUG]:[/color][/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for debug messages.", + }, + "format_info_msg" = { + "path": "loggie/formats/info_message", + "default_value" : "{msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for info messages.", + }, + "format_notice_msg" = { + "path": "loggie/formats/notice_message", + "default_value" : "[b][color=cyan][NOTICE]:[/color][/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for notice messages.", + }, + "format_warning_msg" = { + "path": "loggie/formats/warning_message", + "default_value" : "[b][color=orange][WARN]:[/color][/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for warning messages.", + }, + "format_error_msg" = { + "path": "loggie/formats/error_message", + "default_value" : "[b][color=red][ERROR]:[/color][/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for error messages.", + }, + "format_domain_prefix" = { + "path": "loggie/formats/domain_prefix", + "default_value" : "[b]({domain})[/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for domain prefixes.", + }, + "format_header" = { + "path": "loggie/formats/header", + "default_value" : "[b][i]{msg}[/i][/b]", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for headers.", + }, + "h_separator_symbol" = { + "path": "loggie/formats/h_separator_symbol", + "default_value" : "-", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The symbol used for the horizontal separator.", + }, + "box_characters_mode" = { + "path": "loggie/formats/box_characters_mode", + "default_value" : LoggieEnums.BoxCharactersMode.COMPATIBLE, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Compatible:0,Pretty:1", + "doc" : "There are two sets of box characters defined in LoggieSettings - one set contains prettier characters that produce a nicer looking box, but may not render correctly in the context of various terminals. The other set contains characters that produce a less pretty box, but are compatible with being shown in most terminals.", + } +} + +#endregion +# ----------------------------------------------- # +#region Variables +# ----------------------------------------------- # + +## The current behavior Loggie uses to check for updates. +var update_check_mode : LoggieEnums.UpdateCheckType = LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW + +## The current Message Format Mode of Loggie. +## Message Format Mode determines whether BBCode, ANSI or some other type of +## formatting is used to convey text effects, such as bold, italic, colors, etc. +## [br][br]BBCode is compatible with the Godot console. +## [br]ANSI is compatible with consoles like Powershell and Windows CMD. +## [br]PLAIN is used to strip any effects and use plain text instead, which is good for saving raw logs into log files. +var msg_format_mode : LoggieEnums.MsgFormatMode = LoggieEnums.MsgFormatMode.BBCODE + +## The current log level of Loggie. +## It determines which types of messages are allowed to be logged. +## Set this using [method setLogLevel]. +var log_level : LoggieEnums.LogLevel = LoggieEnums.LogLevel.INFO + +## Whether or not Loggie should log the loggie specs on ready. +var show_loggie_specs : LoggieEnums.ShowLoggieSpecsMode = LoggieEnums.ShowLoggieSpecsMode.ESSENTIAL + +## Whether or not Loggie should log the system specs on ready. +var show_system_specs : bool = true + +## Whether to, in addition to logging errors with [method push_error], +## Loggie should also print the error as a message in the standard output. +var print_errors_to_console : bool = true + +## Whether to, in addition to logging errors with [method push_warning], +## Loggie should also print the error as a message in the standard output. +var print_warnings_to_console : bool = true + +## Defines which text will be used as a substitute for the 'class_name' of scripts that do not have a 'class_name'. +## Relevant only during the [member LoggieEnums.PreprocessStep.APPEND_CLASS_NAME] step of preprocessing. +var nameless_class_name_proxy : LoggieEnums.NamelessClassExtensionNameProxy + +## Whether the outputted timestamps use UTC or local machine time. +var timestamps_use_utc : bool = true + +## If true, when outputting Debug level messages, the stack trace will also be appended. +var debug_msgs_print_stack_trace : bool = false + +## Whether Loggie should enforce optimal values for certain settings when in a Release/Production build. +## [br]If true, Loggie will enforce: +## [br] * [member msg_format_mode] to [member LoggieEnums.MsgFormatMode.PLAIN] +## [br] * [member box_characters_mode] to [member LoggieEnums.BoxCharactersMode.COMPATIBLE] +var enforce_optimal_settings_in_release_build : bool = true + +## Endpoint URL for the Discord webhook (used in dev environment) +## [br][b]NEVER[/b] distribute your webhook in your project's repository, source code, or built game, where it can be accessed by other people. +## This is meant to be used only in controlled circumstances. +var discord_webhook_url_dev : String = "" + +## Endpoint URL for the Discord webhook (used in production/release environment) +## [br][b]NEVER[/b] distribute your webhook in your project's repository, source code, or built game, where it can be accessed by other people. +## This is meant to be used only in controlled circumstances. +var discord_webhook_url_live : String = "" + +## Endpoint URL for the Slack webhook (used in dev environment) +## [br][b]NEVER[/b] distribute your webhook in your project's repository, source code, or built game, where it can be accessed by other people. +## This is meant to be used only in controlled circumstances. +var slack_webhook_url_dev : String = "" + +## Endpoint URL for the Slack webhook (used in production/release environment) +## [br][b]NEVER[/b] distribute your webhook in your project's repository, source code, or built game, where it can be accessed by other people. +## This is meant to be used only in controlled circumstances. +var slack_webhook_url_live : String = "" + +## Defines the flags which LoggieMessages sent to the terminal channel will use during preprocessing. +var preprocess_flags_terminal_channel = LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS | LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + +## Defines the flags which LoggieMessages sent to the Discord channel output will use during preprocessing. +var preprocess_flags_discord_channel = LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + +## Defines the flags which LoggieMessages sent to the Slack channel output will use during preprocessing. +var preprocess_flags_slack_channel = LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + +## The list of channels a message outputted from Loggie should be sent to by default. +var default_channels : PackedStringArray = ["terminal"] + +## The list of file names, which, when appearing in a stack trace, should be omitted from the output.. +var skipped_filenames_in_stack_trace : PackedStringArray = ["loggie", "loggie_message"] + +#endregion +# ----------------------------------------------- # +#region Formats for prints +# ----------------------------------------------- # +# As per the `print_rich` documentation, supported colors are: black, red, green, yellow, blue, magenta, pink, purple, cyan, white, orange, gray. +# Any other color will be displayed in the Godot console or an ANSI based console, but the color tag (in case of BBCode) won't be properly stripped +# when written to the .log file, resulting in BBCode visible in .log files. + +## The format used to decorate a message as a header when using [method LoggieMsg.header].[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +var format_header = "[b][i]{msg}[/i][/b]" + +## The format used when appending a domain to a message.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## The [param {domain}] is a variable that will be replaced with the domain key.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_domain_prefix = "[b]({domain})[/b] {msg}" + +## The format used when outputting error messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_error_msg = "[b][color=red][ERROR]:[/color][/b] {msg}" + +## The format used when outputting warning messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_warning_msg = "[b][color=orange][WARN]:[/color][/b] {msg}" + +## The format used when outputting notice messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_notice_msg = "[b][color=cyan][NOTICE]:[/color][/b] {msg}" + +## The format used when outputting info messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_info_msg = "{msg}" + +## The format used when outputting debug messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_debug_msg = "[b][color=pink][DEBUG]:[/color][/b] {msg}" + +## The format used for timestamps when they are prepended to the output.[br] +## The variables [param {day}], [param {month}], [param {year}], [param {hour}], [param {minute}], [param {second}], [param {weekday}], and [param {dst}] are supported. +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_timestamp = "[{day}.{month}.{year} {hour}:{minute}:{second}]" + +## The format used for each entry in a stack trace that is obtained through [method Loggie.stack]. +## The variables [param {fn_name}], [param {index}], [param {source_path}], [param {line}] are supported. +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_stacktrace_entry = "{index}: [color=#ff7085]func[/color] [color=#53b1c3][b]{fn_name}[/b]:{line}[/color] [color=slate_gray][i](in {source_path})[/i][/color]" + +## The symbol which will be used for the HSeparator. +var h_separator_symbol = "-" + +## The mode used for drawing boxes. +var box_characters_mode : LoggieEnums.BoxCharactersMode + +## The symbols which will be used to construct a box decoration that will properly +## display on any kind of terminal or text reader. +## For a prettier but potentially incompatible box, use [member box_symbols_pretty] instead. +var box_symbols_compatible = { + # ANSI and .log compatible box characters: + "top_left" : "-", + "top_right" : "-", + "bottom_left" : "-", + "bottom_right" : "-", + "h_line" : "-", + "v_line" : ":", +} + +## The symbols which will be used to construct pretty box decoration. +## These may not be compatible with some terminals or text readers. +## Use the [member box_symbols_compatible] instead as an alternative. +var box_symbols_pretty = { + "top_left" : "┌", + "top_right" : "┐", + "bottom_left" : "└", + "bottom_right" : "┘", + "h_line" : "─", + "v_line" : "│", +} + +#endregion +# ----------------------------------------------- # + +## A [Callable] function that takes 1 parameter [param something] (Variant), +## and returns a [String] which represents the given [param something] in text. +## By default, Loggie sets this to `LoggieTools.convert_to_string` when initialized. +## [br][br] +## You can, however, override that by changing this value to a valid replacement [Callable], +## after Loggie has initialized. +var custom_string_converter : Callable + +## Loads the initial (default) values for all of the LoggieSettings variables. +## (By default, loads them from ProjectSettings (if any modifications there exist), +## or looks in [LoggieEditorPlugin..project_settings] for default values). +## [br][br]Extend this class and override this function to write your own logic for +## how loggie should obtain these settings if you have a need for a different approach. +func load(): + update_check_mode = ProjectSettings.get_setting(project_settings.update_check_mode.path, project_settings.update_check_mode.default_value) + msg_format_mode = ProjectSettings.get_setting(project_settings.msg_format_mode.path, project_settings.msg_format_mode.default_value) + log_level = ProjectSettings.get_setting(project_settings.log_level.path, project_settings.log_level.default_value) + show_loggie_specs = ProjectSettings.get_setting(project_settings.show_loggie_specs.path, project_settings.show_loggie_specs.default_value) + show_system_specs = ProjectSettings.get_setting(project_settings.show_system_specs.path, project_settings.show_system_specs.default_value) + timestamps_use_utc = ProjectSettings.get_setting(project_settings.timestamps_use_utc.path, project_settings.timestamps_use_utc.default_value) + enforce_optimal_settings_in_release_build = ProjectSettings.get_setting(project_settings.enforce_optimal_settings_in_release_build.path, project_settings.enforce_optimal_settings_in_release_build.default_value) + default_channels = ProjectSettings.get_setting(project_settings.default_channels.path, project_settings.default_channels.default_value) + skipped_filenames_in_stack_trace = ProjectSettings.get_setting(project_settings.skipped_filenames_in_stack_trace.path, project_settings.skipped_filenames_in_stack_trace.default_value) + + print_errors_to_console = ProjectSettings.get_setting(project_settings.output_errors_to_console.path, project_settings.output_errors_to_console.default_value) + print_warnings_to_console = ProjectSettings.get_setting(project_settings.output_warnings_to_console.path, project_settings.output_warnings_to_console.default_value) + debug_msgs_print_stack_trace = ProjectSettings.get_setting(project_settings.debug_msgs_print_stack_trace.path, project_settings.debug_msgs_print_stack_trace.default_value) + + nameless_class_name_proxy = ProjectSettings.get_setting(project_settings.nameless_class_name_proxy.path, project_settings.nameless_class_name_proxy.default_value) + box_characters_mode = ProjectSettings.get_setting(project_settings.box_characters_mode.path, project_settings.box_characters_mode.default_value) + + format_timestamp = ProjectSettings.get_setting(project_settings.format_timestamp.path, project_settings.format_timestamp.default_value) + format_stacktrace_entry = ProjectSettings.get_setting(project_settings.format_stacktrace_entry.path, project_settings.format_stacktrace_entry.default_value) + format_info_msg = ProjectSettings.get_setting(project_settings.format_info_msg.path, project_settings.format_info_msg.default_value) + format_notice_msg = ProjectSettings.get_setting(project_settings.format_notice_msg.path, project_settings.format_notice_msg.default_value) + format_warning_msg = ProjectSettings.get_setting(project_settings.format_warning_msg.path, project_settings.format_warning_msg.default_value) + format_error_msg = ProjectSettings.get_setting(project_settings.format_error_msg.path, project_settings.format_error_msg.default_value) + format_debug_msg = ProjectSettings.get_setting(project_settings.format_debug_msg.path, project_settings.format_debug_msg.default_value) + h_separator_symbol = ProjectSettings.get_setting(project_settings.h_separator_symbol.path, project_settings.h_separator_symbol.default_value) + + discord_webhook_url_live = ProjectSettings.get_setting(project_settings.discord_webhook_url_live.path, project_settings.discord_webhook_url_live.default_value) + discord_webhook_url_dev = ProjectSettings.get_setting(project_settings.discord_webhook_url_dev.path, project_settings.discord_webhook_url_dev.default_value) + preprocess_flags_discord_channel = ProjectSettings.get_setting(project_settings.preprocess_flags_discord_channel.path, project_settings.preprocess_flags_discord_channel.default_value) + slack_webhook_url_live = ProjectSettings.get_setting(project_settings.slack_webhook_url_live.path, project_settings.slack_webhook_url_live.default_value) + slack_webhook_url_dev = ProjectSettings.get_setting(project_settings.slack_webhook_url_dev.path, project_settings.slack_webhook_url_dev.default_value) + preprocess_flags_slack_channel = ProjectSettings.get_setting(project_settings.preprocess_flags_slack_channel.path, project_settings.preprocess_flags_slack_channel.default_value) + preprocess_flags_terminal_channel = ProjectSettings.get_setting(project_settings.preprocess_flags_terminal_channel.path, project_settings.preprocess_flags_terminal_channel.default_value) + +## Returns a dictionary where the indices are names of relevant variables in the LoggieSettings class, +## and the values are their current values. +func to_dict() -> Dictionary: + var dict = {} + var included = [ + "preprocess_flags_discord_channel", "preprocess_flags_slack_channel", "preprocess_flags_terminal_channel", + "default_channels", "skipped_filenames_in_stack_trace", "msg_format_mode", "log_level", "show_loggie_specs", "show_system_specs", "enforce_optimal_settings_in_release_build", + "print_errors_to_console", "print_warnings_to_console", + "debug_msgs_print_stack_trace", "nameless_class_name_proxy", + "timestamps_use_utc", "format_header", "format_domain_prefix", "format_error_msg", + "format_warning_msg", "format_notice_msg", "format_info_msg", "format_debug_msg", "format_timestamp", + "h_separator_symbol", "box_characters_mode", "box_symbols_compatible", "box_symbols_pretty", + ] + + for var_name in included: + dict[var_name] = get(var_name) + return dict diff --git a/addons/loggie/loggie_settings.gd.uid b/addons/loggie/loggie_settings.gd.uid new file mode 100644 index 0000000..83257f7 --- /dev/null +++ b/addons/loggie/loggie_settings.gd.uid @@ -0,0 +1 @@ +uid://cs4ybo1axktlw diff --git a/addons/loggie/plugin.cfg b/addons/loggie/plugin.cfg new file mode 100644 index 0000000..36e9eea --- /dev/null +++ b/addons/loggie/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Loggie" +description="Simple functional stylish logger for your basic logging needs." +author="Shiva Shadowsong" +version="3.0" +script="plugin.gd" diff --git a/addons/loggie/plugin.gd b/addons/loggie/plugin.gd new file mode 100644 index 0000000..b695b65 --- /dev/null +++ b/addons/loggie/plugin.gd @@ -0,0 +1,50 @@ +@tool +class_name LoggieEditorPlugin extends EditorPlugin + +func _enter_tree(): + add_loggie_project_settings() + Engine.set_meta("LoggieEditorPlugin", self) + if Engine.is_editor_hint(): + Engine.set_meta("LoggieEditorInterfaceBaseControl", EditorInterface.get_base_control()) + +func _enable_plugin() -> void: + add_autoload_singleton(LoggieSettings.loggie_singleton_name, "res://addons/loggie/loggie.gd") + add_loggie_project_settings() + +func _disable_plugin() -> void: + var wipe_setting_exists = ProjectSettings.has_setting(LoggieSettings.project_settings.remove_settings_if_plugin_disabled.path) + if (not wipe_setting_exists) or (wipe_setting_exists and ProjectSettings.get_setting(LoggieSettings.project_settings.remove_settings_if_plugin_disabled.path, true)): + push_warning("The Loggie plugin is being disabled, and all of its ProjectSettings are erased from Godot. If you wish to prevent this behavior, look for the 'Project Settings -> Loggie -> General -> Remove Settings if Plugin Disabled' option while the plugin is enabled.") + remove_loggie_project_setings() + else: + push_warning("The Loggie plugin is being disabled, but its ProjectSettings have been prevented from being removed from Godot. If you wish to allow that behavior, look for the 'Project Settings -> Loggie -> General -> Remove Settings if Plugin Disabled' option while the plugin is enabled.") + remove_autoload_singleton(LoggieSettings.loggie_singleton_name) + +## Adds new Loggie related ProjectSettings to Godot. +func add_loggie_project_settings(): + for setting in LoggieSettings.project_settings.values(): + add_project_setting(setting["path"], setting["default_value"], setting["type"], setting["hint"], setting["hint_string"], setting["doc"]) + +## Removes Loggie related ProjectSettings from Godot. +func remove_loggie_project_setings(): + for setting in LoggieSettings.project_settings.values(): + ProjectSettings.set_setting(setting["path"], null) + + var error: int = ProjectSettings.save() + if error != OK: + push_error("Loggie - Encountered error %d while saving project settings." % error) + +## Adds a new project setting to Godot. +## (WARNING): Unfortunately, as of Godot 4.3, it has been confirmed that it is not possible to set the +## popup tooltip text for a project setting. This should be implemented here as soon as that becomes possible. +func add_project_setting(setting_name: String, default_value : Variant, value_type: int, type_hint: int = PROPERTY_HINT_NONE, hint_string: String = "", documentation : String = ""): + if !ProjectSettings.has_setting(setting_name): + ProjectSettings.set_setting(setting_name, default_value) + + ProjectSettings.set_initial_value(setting_name, default_value) + ProjectSettings.add_property_info({ "name": setting_name, "type": value_type, "hint": type_hint, "hint_string": hint_string}) + ProjectSettings.set_as_basic(setting_name, true) + + var error: int = ProjectSettings.save() + if error: + push_error("Loggie - Encountered error %d while saving project settings." % error) diff --git a/addons/loggie/plugin.gd.uid b/addons/loggie/plugin.gd.uid new file mode 100644 index 0000000..8c5b93e --- /dev/null +++ b/addons/loggie/plugin.gd.uid @@ -0,0 +1 @@ +uid://ct2hpdyg7gd81 diff --git a/addons/loggie/tools/loggie_enums.gd b/addons/loggie/tools/loggie_enums.gd new file mode 100644 index 0000000..375dc27 --- /dev/null +++ b/addons/loggie/tools/loggie_enums.gd @@ -0,0 +1,88 @@ +@tool +class_name LoggieEnums extends Node + +## Based on which log level is currently set to be used by the Loggie., attempting to log a message that's on +## a higher-than-configured log level will result in nothing happening. +enum LogLevel { + ERROR, ## Log level which includes only the logging of Error type messages. + WARN, ## Log level which includes the logging of Error and Warning type messages. + NOTICE, ## Log level which includes the logging of Error, Warning and Notice type messages. + INFO, ## Log level which includes the logging of Error, Warning, Notice and Info type messages. + DEBUG ## Log level which includes the logging of Error, Warning, Notice, Info and Debug type messages. +} + +## The classification of message types that can be used to distinguish two identical strings in nature +## of their origin. This is different from [enum LogLevel]. +enum MsgType { + ERROR, ## A message that is considered to be an error message. + WARN, ## A message that is considered to be a warning message. + NOTICE, ## A message that is considered to be a notice. + INFO, ## A message that is considered a standard text that is not special in any way. + DEBUG, ## A message that is considered to be a message used only during debugging. +} + +enum MsgFormatMode { + PLAIN, ## Prints will be plain text. + ANSI, ## Prints will be styled using the ANSI standard. Compatible with Powershell, Win CMD, etc. + BBCODE, ## Prints will be styled using the Godot BBCode rules. Compatible with the Godot console. + MARKDOWN, ## Prints will be styled using the Markdown standard. Compatible with most Markdown readers. +} + +## Classifies various steps that can happen during preprocessing. +enum PreprocessStep { + ## A timestamp will be added to the message. + APPEND_TIMESTAMPS = 1 << 0, + + ## The name of the domain from which the message is coming will be added to the message. + APPEND_DOMAIN_NAME = 1 << 1, + + ## Whether Loggie should use the scripts from which it is being called to + ## figure out a class name for the class that called a loggie function, + ## and append it to the outputted message. + ## This only works in debug builds because it uses [method @GDScript.get_stack]. + ## See that method's documentation to see why that can't be used in release builds. + APPEND_CLASS_NAME = 1 << 2, +} + +enum BoxCharactersMode { + COMPATIBLE, ## Boxes are drawn using characters that compatible with any kind of terminal or text reader. + PRETTY ## Boxes are drawn using special unicode characters that create a prettier looking box which may not display properly in some terminals or text readers. +} + +## Defines a list of possible approaches that can be taken to derive some kind of a class name proxy from a script that doesn't have a 'class_name' clause. +enum NamelessClassExtensionNameProxy { + NOTHING, ## If there is no class_name, nothing will be displayed. + SCRIPT_NAME, ## Use the name of the script whose class_name we tried to read. (e.g. "my_script.gd"). + BASE_TYPE, ## Use the name of the base type which the script extends (e.g. 'Node2D', 'Control', etc.) +} + +## Defines a list of possible behaviors for the 'show_loggie_specs' setting. +enum ShowLoggieSpecsMode { + DISABLED, ## Loggie specs won't be shown. + ESSENTIAL, ## Show only the essentials. + ADVANCED ## Show all loggie specs. +} + +## Defines a list of possible outcomes that can happen when attempting to log a message. +enum LogAttemptResult { + SUCCESS, ## Message will be logged successfully. + LOG_LEVEL_INSUFFICIENT, ## Message won't be logged because it was output at a log level higher than what Loggie is currently set to. + DOMAIN_DISABLED, ## Message won't be logged because it was outputted from a disabled domain. + INVALID_CHANNEL, ## Message won't be logged because the channel which was supposed to send it doesn't exist. + WRONG_ENVIRONMENT, ## Message won't be logged because the environment the output is being requested from is not compatible with the environment this message is configured to be outputted in. +} + +## Defines a list of possible ways to configure Loggie to check for updates. +enum UpdateCheckType { + DONT_CHECK, ## If the user doesn't want Loggie to check for updates at all. + CHECK_AND_SHOW_MSG, ## If the user wants Loggie to check for updates, and display info in a terminal message. + CHECK_DOWNLOAD_AND_SHOW_MSG, ## If the user wants Loggie to check for updates, download the update, and display info in a terminal message. + CHECK_AND_SHOW_UPDATER_WINDOW, ## If the user wants Loggie to check for updats, and display the updater window. +} + +## Defines a lists of possible environments in which a [LoggieMsg] can be outputted. +enum MsgEnvironment { + BOTH, ## The message will be outputted both in-engine (tool scripts) and when the project is running. + ENGINE, ## The message will be outputted only in-engine (tool scripts). + RUNTIME, ## The message will be outputted only when the project is running. +} diff --git a/addons/loggie/tools/loggie_enums.gd.uid b/addons/loggie/tools/loggie_enums.gd.uid new file mode 100644 index 0000000..4263530 --- /dev/null +++ b/addons/loggie/tools/loggie_enums.gd.uid @@ -0,0 +1 @@ +uid://dh3dmjky74fuo diff --git a/addons/loggie/tools/loggie_system_specs.gd b/addons/loggie/tools/loggie_system_specs.gd new file mode 100644 index 0000000..b40eaac --- /dev/null +++ b/addons/loggie/tools/loggie_system_specs.gd @@ -0,0 +1,186 @@ +@tool + +## LoggieSystemSpecs is a helper class that defines various functions on how to access data about the local machine and its specs +## and creates displayable strings out of them. +class_name LoggieSystemSpecsMsg extends LoggieMsg + +## Embeds various system specs into the content of this message. +func embed_specs() -> LoggieSystemSpecsMsg: + self.embed_system_specs() + self.embed_localization_specs() + self.embed_date_data().nl() + self.embed_hardware_specs().nl() + self.embed_video_specs().nl() + self.embed_display_specs().nl() + self.embed_audio_specs().nl() + self.embed_engine_specs().nl() + self.embed_input_specs() + return self + +## Embeds essential data about the logger into the content of this message. +func embed_essential_logger_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + self.add(loggie.msg("|\t Is in Production:").bold(), loggie.is_in_production()).nl() + self.add(loggie.msg("|\t Default Channel(s):").bold(),loggie.settings.default_channels).nl() + self.add(loggie.msg("|\t Msg Format Mode:").bold(), LoggieEnums.MsgFormatMode.keys()[loggie.settings.msg_format_mode]).nl() + self.add(loggie.msg("|\t Log Level:").bold(), LoggieEnums.LogLevel.keys()[loggie.settings.log_level]).nl() + return self + +## Embeds advanced data about the logger into the content of this message. +func embed_advanced_logger_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + + self.add(loggie.msg("|\t Is in Production:").bold(), loggie.is_in_production()).nl() + + var settings_dict = loggie.settings.to_dict() + for setting_var_name : String in settings_dict.keys(): + var setting_value = settings_dict[setting_var_name] + var content_to_print = setting_value + + match setting_var_name: + "msg_format_mode": + content_to_print = LoggieEnums.MsgFormatMode.keys()[setting_value] + "log_level": + content_to_print = LoggieEnums.LogLevel.keys()[setting_value] + "box_characters_mode": + content_to_print = LoggieEnums.BoxCharactersMode.keys()[setting_value] + + self.add(loggie.msg("|\t", setting_var_name.capitalize(), ":").bold(), content_to_print).nl() + + return self + +## Adds data about the user's software to the content of this message. +func embed_system_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Operating System: ").color(Color.ORANGE).add(OS.get_name()).box(4) + self.add(header) + return self + +## Adds data about localization to the content of this message. +func embed_localization_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Localization: ").color(Color.ORANGE).add(OS.get_locale()).box(7) + self.add(header) + return self + +## Adds data about the current date/time to the content of this message. +func embed_date_data() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Date").color(Color.ORANGE).box(15) + self.add(header) + self.add(loggie.msg("Date and time (local):").bold(), Time.get_datetime_string_from_system(false, true)).nl() + self.add(loggie.msg("Date and time (UTC):").bold(), Time.get_datetime_string_from_system(true, true)).nl() + self.add(loggie.msg("Date (local):").bold(), Time.get_date_string_from_system(false)).nl() + self.add(loggie.msg("Date (UTC):").bold(), Time.get_date_string_from_system(true)).nl() + self.add(loggie.msg("Time (local):").bold(), Time.get_time_string_from_system(false)).nl() + self.add(loggie.msg("Time (UTC):").bold(), Time.get_time_string_from_system(true)).nl() + self.add(loggie.msg("Timezone:").bold(), Time.get_time_zone_from_system()).nl() + self.add(loggie.msg("UNIX time:").bold(), Time.get_unix_time_from_system()).nl() + return self + +## Adds data about the user's hardware to the content of this message. +func embed_hardware_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Hardware").color(Color.ORANGE).box(13) + self.add(header) + self.add(loggie.msg("Model name:").bold(), OS.get_model_name()).nl() + self.add(loggie.msg("Processor name:").bold(), OS.get_processor_name()).nl() + return self + +## Adds data about the video system to the content of this message. +func embed_video_specs() -> LoggieSystemSpecsMsg: + const adapter_type_to_string = ["Other (Unknown)", "Integrated", "Discrete", "Virtual", "CPU"] + var adapter_type_string = adapter_type_to_string[RenderingServer.get_video_adapter_type()] + var video_adapter_driver_info = OS.get_video_adapter_driver_info() + var loggie = get_logger() + + var header = loggie.msg("Video").color(Color.ORANGE).box(15) + self.add(header) + self.add(loggie.msg("Adapter name:").bold(), RenderingServer.get_video_adapter_name()).nl() + self.add(loggie.msg("Adapter vendor:").bold(), RenderingServer.get_video_adapter_vendor()).nl() + self.add(loggie.msg("Adapter type:").bold(), adapter_type_string).nl() + self.add(loggie.msg("Adapter graphics API version:").bold(), RenderingServer.get_video_adapter_api_version()).nl() + + if video_adapter_driver_info.size() > 0: + self.add(loggie.msg("Adapter driver name:").bold(), video_adapter_driver_info[0]).nl() + if video_adapter_driver_info.size() > 1: + self.add(loggie.msg("Adapter driver version:").bold(), video_adapter_driver_info[1]).nl() + + return self + +## Adds data about the display to the content of this message. +func embed_display_specs() -> LoggieSystemSpecsMsg: + const screen_orientation_to_string = [ + "Landscape", + "Portrait", + "Landscape (reverse)", + "Portrait (reverse)", + "Landscape (defined by sensor)", + "Portrait (defined by sensor)", + "Defined by sensor", + ] + var screen_orientation_string = screen_orientation_to_string[DisplayServer.screen_get_orientation()] + var loggie = get_logger() + + var header = loggie.msg("Display").color(Color.ORANGE).box(13) + self.add(header) + self.add(loggie.msg("Screen count:").bold(), DisplayServer.get_screen_count()).nl() + self.add(loggie.msg("DPI:").bold(), DisplayServer.screen_get_dpi()).nl() + self.add(loggie.msg("Scale factor:").bold(), DisplayServer.screen_get_scale()).nl() + self.add(loggie.msg("Maximum scale factor:").bold(), DisplayServer.screen_get_max_scale()).nl() + self.add(loggie.msg("Startup screen position:").bold(), DisplayServer.screen_get_position()).nl() + self.add(loggie.msg("Startup screen size:").bold(), DisplayServer.screen_get_size()).nl() + self.add(loggie.msg("Startup screen refresh rate:").bold(), ("%f Hz" % DisplayServer.screen_get_refresh_rate()) if DisplayServer.screen_get_refresh_rate() > 0.0 else "").nl() + self.add(loggie.msg("Usable (safe) area rectangle:").bold(), DisplayServer.get_display_safe_area()).nl() + self.add(loggie.msg("Screen orientation:").bold(), screen_orientation_string).nl() + return self + +## Adds data about the audio system to the content of this message. +func embed_audio_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Audio").color(Color.ORANGE).box(14) + self.add(header) + self.add(loggie.msg("Mix rate:").bold(), "%d Hz" % AudioServer.get_mix_rate()).nl() + self.add(loggie.msg("Output latency:").bold(), "%f ms" % (AudioServer.get_output_latency() * 1000)).nl() + self.add(loggie.msg("Output device list:").bold(), ", ".join(AudioServer.get_output_device_list())).nl() + self.add(loggie.msg("Capture device list:").bold(), ", ".join(AudioServer.get_input_device_list())).nl() + return self + +## Adds data about the godot engine to the content of this message. +func embed_engine_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Engine").color(Color.ORANGE).box(14) + self.add(header) + self.add(loggie.msg("Version:").bold(), Engine.get_version_info()["string"]).nl() + self.add(loggie.msg("Command-line arguments:").bold(), str(OS.get_cmdline_args())).nl() + self.add(loggie.msg("Is debug build:").bold(), OS.is_debug_build()).nl() + self.add(loggie.msg("Filesystem is persistent:").bold(), OS.is_userfs_persistent()).nl() + return self + +## Adds data about the input device to the content of this message. +func embed_input_specs() -> LoggieSystemSpecsMsg: + var has_virtual_keyboard = DisplayServer.has_feature(DisplayServer.FEATURE_VIRTUAL_KEYBOARD) + var loggie = get_logger() + + var header = loggie.msg("Input").color(Color.ORANGE).box(14) + self.add(header) + self.add(loggie.msg("Device has touch screen:").bold(), DisplayServer.is_touchscreen_available()).nl() + self.add(loggie.msg("Device has virtual keyboard:").bold(), has_virtual_keyboard).nl() + + if has_virtual_keyboard: + self.add(loggie.msg("Virtual keyboard height:").bold(), DisplayServer.virtual_keyboard_get_height()) + + return self + +## Prints out a bunch of useful data about a given script. +## Useful for debugging. +func embed_script_data(script : Script): + var loggie = get_logger() + self.add("Script Data for:", script.get_path()).color("pink") + self.add(":").nl() + self.add(loggie.msg("get_class(): ").color("slate_blue").bold()).add(script.get_class()).nl() + self.add(loggie.msg("get_global_name(): ").color("slate_blue").bold()).add(script.get_global_name()).nl() + self.add(loggie.msg("get_base_script(): ").color("slate_blue").bold()).add(script.get_base_script().resource_path if script.get_base_script() != null else "No base script.").nl() + self.add(loggie.msg("get_instance_base_type(): ").color("slate_blue").bold()).add(script.get_instance_base_type()).nl() + self.add(loggie.msg("get_script_property_list(): ").color("slate_blue").bold()).add(script.get_script_property_list()).nl() + return self diff --git a/addons/loggie/tools/loggie_system_specs.gd.uid b/addons/loggie/tools/loggie_system_specs.gd.uid new file mode 100644 index 0000000..919f66c --- /dev/null +++ b/addons/loggie/tools/loggie_system_specs.gd.uid @@ -0,0 +1 @@ +uid://dnd34kic4p8bv diff --git a/addons/loggie/tools/loggie_tools.gd b/addons/loggie/tools/loggie_tools.gd new file mode 100644 index 0000000..2bc0764 --- /dev/null +++ b/addons/loggie/tools/loggie_tools.gd @@ -0,0 +1,530 @@ +@tool +class_name LoggieTools extends Node + +## Removes BBCode from the given text. +## If [param specific_tags] is an array, it removes only the tags found in that array. +## Otherwise, it removes the tags found in the default_tags array:[br] +## [param ["b", "i", "u", "s", "indent", "code", "url", "center", "right", "color", "bgcolor", "fgcolor"]] +static func remove_BBCode(text: String, specific_tags = null) -> String: + # The bbcode tags to remove. + var default_tags = ["b", "i", "u", "s", "indent", "code", "url", "center", "right", "color", "bgcolor", "fgcolor"] + var tags = specific_tags if specific_tags is Array else default_tags + + var regex = RegEx.new() + var tags_pattern = "|".join(tags) + regex.compile("\\[/?(" + tags_pattern + ")(=[^\\]]*)?\\]") + + var stripped_text = regex.sub(text, "", true) + return stripped_text + +## Concatenates all elements of the given [param args] array into one single string, in consecutive order. +## If [param custom_converter_fn] is provided, and is a [Callable], that function will be used to convert each element of the array into a string +## instead of using [method convert_to_string]. That function will receive 1 argument, which will be a 'Variant', and it has to return a 'String'. +static func concatenate_args(args : Array, custom_converter_fn : Variant = null) -> String: + if args.size() == 0: + return "" + + var converter_fn : Callable = LoggieTools.convert_to_string + if custom_converter_fn is Callable and custom_converter_fn.is_valid() and !custom_converter_fn.is_null(): + converter_fn = custom_converter_fn + + # Start with first element without modifying array + var final_msg : String = converter_fn.call(args[0]) + + # Start from index 1 since we already handled index 0 + for i in range(1, args.size()): + var arg = args[i] + var is_not_followed_by_a_null_arg = true if (i + 1 <= args.size() - 1) and (args[i + 1] != null) else false + if (arg != null) or (arg == null and is_not_followed_by_a_null_arg): + var converted_arg : String = converter_fn.call(arg) + final_msg += (" " + converted_arg) + + return final_msg + +## Converts a text with BBCode in it to markdown. +## A limited set of BBCode tags are supported for this conversion, because standard Markdown can't handle everything +## that BBCode can. For example, colors will be entirely stripped. +static func convert_BBCode_to_markdown(text: String) -> String: + # Purge the unsupported tags. + var unsupported_tags = ["indent", "url", "center", "right", "color", "bgcolor", "fgcolor"] + text = LoggieTools.remove_BBCode(text, unsupported_tags) + + # Space out all instances where "*" characters from multiple tags are strung together, + # since that would break them from rendering with the proper effect in markdown. + # This is only an issue with [b] and [i] tags because they both use the same "*" character + # in markdown to be represented. + text = text.replace("[/b][i]", "** *") + text = text.replace("[/b][/i]", "** *") + text = text.replace("[/i][b]", "* **") + text = text.replace("[/i][/b]", "* **") + text = text.replace("[/i][i]", "* *") + text = text.replace("[/i][/i]", "* *") + text = text.replace("[/b][b]", "** **") + text = text.replace("[/b][/b]", "** **") + + # Perform all supported conversion. + var supported_conversions = { + "[b]" : "**", "[/b]" : "**", + "[i]" : "*", "[/i]" : "*", + "[u]" : "__", "[/u]" : "__", + "[s]" : "~~", "[/s]" : "~~", + } + for bbcodetag in supported_conversions.keys(): + text = text.replace(bbcodetag, supported_conversions[bbcodetag]) + + return text + +## Converts [param something] into a string, with custom handling for +## certain native and custom classes. +static func convert_to_string(something : Variant) -> String: + var result : String + if something is Dictionary: + result = JSON.new().stringify(something, " ", false, true) + elif something is LoggieMsg: + result = something.string() + else: + result = str(something) + return result + +## Takes the given [param str] and returns a terminal-ready version of it by converting its content +## to the appropriate format required to display the string correctly in the provided [param mode] +## msg format mode. +## [b]The provided [param str] is expected to be either in Plain or BBCode format.[/b] +static func convert_string_to_format_mode(str : String, mode : LoggieEnums.MsgFormatMode) -> String: + match mode: + LoggieEnums.MsgFormatMode.ANSI: + # We put the message through the rich_to_ANSI converter which takes care of converting BBCode + # to appropriate ANSI. (Only if the MsgFormatMode is set to ANSI). + # Godot claims to be already preparing BBCode output for ANSI, but it only works with a small + # predefined set of colors, and I think it totally strips stuff like [b], [i], etc. + # It is possible to display those stylings in ANSI, but we have to do our own conversion here + # to support these features instead of having them stripped. + str = LoggieTools.rich_to_ANSI(str) + LoggieEnums.MsgFormatMode.BBCODE: + # No need to do anything for BBCODE mode, because we already expect all strings to + # start out with this format in mind. + pass + LoggieEnums.MsgFormatMode.MARKDOWN: + str = LoggieTools.convert_BBCode_to_markdown(str) + LoggieEnums.MsgFormatMode.PLAIN, _: + str = LoggieTools.remove_BBCode(str) + return str + +## Converts a given [Color] to an ANSI compatible representation of it in code. +static func color_to_ANSI(color: Color) -> String: + var r = int(color.r * 255) + var g = int(color.g * 255) + var b = int(color.b * 255) + return "\u001b[38;2;%d;%d;%dm" % [r, g, b] + +## Strips the BBCode from the given text, and converts all [b], [i] and [color] tags to appropriate ANSI representable codes, +## then returns the converted string. The result of this conversion becomes an ANSI compatible representation of the given [param text]. +static func rich_to_ANSI(text: String) -> String: + var regex_color = RegEx.new() + regex_color.compile("\\[color=(.*?)\\](.*?)\\[/color\\]") + + # Process color tags first. + while regex_color.search(text): + var match = regex_color.search(text) + var color_str = match.get_string(1).to_upper() + var color: Color + var color_code: String + var reset_code = "\u001b[0m" + + # Try to parse the color string + if LoggieTools.NamedColors.has(color_str): + color = LoggieTools.NamedColors[color_str] + else: + color = Color(color_str) + + if color: + color_code = color_to_ANSI(color) + else: + color_code = "" + reset_code = "" + + var replacement = color_code + match.get_string(2) + reset_code + text = text.replace(match.get_string(0), replacement) + + # Process bold and italic tags. + var bold_on = "\u001b[1m" + var bold_off = "\u001b[22m" + var italic_on = "\u001b[3m" + var italic_off = "\u001b[23m" + + text = text.replace("[b]", bold_on).replace("[/b]", bold_off) + text = text.replace("[i]", italic_on).replace("[/i]", italic_off) + + # Remove any other BBCode tags but retain the text between them. + var regex_bbcode = RegEx.new() + regex_bbcode.compile("\\[(b|/b|i|/i|color=[^\\]]+|/color)\\]") + text = regex_bbcode.sub(text, "", true) + + return text + +## Returns a dictionary of call stack data related to the stack the call to this function is a part of. +## This function only works in debug builds, and on the main thread, because it uses [method get_stack]. +## Read more about why in that function's documentation. +static func get_current_stack_frame_data() -> Dictionary: + var stack = get_stack() + if stack.size() > 0: + stack.reverse() + # Prune the frames starting from the first one that comes from loggie_message and onwards. + var pruned_stack = [] + for index in stack.size(): + var source : String = stack[index].source + var prune_breakpoint_files = ["loggie", "loggie_message"] + if prune_breakpoint_files.has(source.get_file().get_basename()): + break + pruned_stack.push_back(stack[index]) + + # The back-most remaining entry in the pruned stack is the first non-Loggie caller. + if pruned_stack.size() >= 1: + return pruned_stack.back() + + return { + "source" : "UnknownStackFrameSource", + "line" : 0, + "function" : "UnknownFunction" + } + +## Returns the `class_name` of a script. +## [br][param path_or_script] should be either an absolute path to the script +## (String, e.g. "res://my_script.gd"), or a [Script] object. +## [br][param proxy] defines which kind of text will be used as a replacement +## for the class name if the script has no 'class_name'. +static func get_class_name_from_script(path_or_script : Variant, proxy : LoggieEnums.NamelessClassExtensionNameProxy) -> String: + var script + var _class_name = "" + + if path_or_script is String or path_or_script is StringName: + if !ResourceLoader.exists(path_or_script, "Script"): + return _class_name + script = load(path_or_script) + elif path_or_script is Script: + script = path_or_script + + if not (script is Script): + push_error("Invalid 'path_or_script' param provided to get_class_name_from_script: {path}".format({"path" : path_or_script})) + else: + if not script.has_method("get_global_name"): + # User is using a pre-4.3 version of Godot that doesn't have Script.get_global_name. + # We must use a different method to achieve this then. + return extract_class_name_from_gd_script(path_or_script, proxy) + + # Try to get the class name directly. + _class_name = script.get_global_name() + + if _class_name != "": + return _class_name + + # If that's empty, the script is either a base class, or a class without a name. + # Check if this script has a base script, and if so, use that one as the target whose name to obtain. + # If it doesn't have it, use what the [param proxy] demands. + var base_script = script.get_base_script() + if base_script != null: + return get_class_name_from_script(base_script, proxy) + else: + match proxy: + LoggieEnums.NamelessClassExtensionNameProxy.BASE_TYPE: + _class_name = script.get_instance_base_type() + LoggieEnums.NamelessClassExtensionNameProxy.SCRIPT_NAME: + _class_name = script.get_script_property_list().front()["name"] + + return _class_name + +## Opens and reads a .gd script file to find out its 'class_name' or what it 'extends'. +## [param path_or_script] should be either an absolute path to the script +## (String, e.g. "res://my_script.gd"), or a [Script] object. +## [br][param proxy] defines which kind of text will be used as a replacement +## for the class name if the script has no 'class_name'. +## [br][br][b]Note:[/b] This is a compatibility method that will be used on older versions of Godot which +## don't support [method Script.get_global_name]. +static func extract_class_name_from_gd_script(path_or_script : Variant, proxy : LoggieEnums.NamelessClassExtensionNameProxy) -> String: + var path : String + + if path_or_script is String: + path = path_or_script + elif path_or_script is Script: + path = path_or_script.resource_path + else: + push_error("Invalid 'path_or_script' param provided to extract_class_name_from_gd_script: {path}".format({"path" : path_or_script})) + return "" + + var file = FileAccess.open(path, FileAccess.READ) + if not file: + return "File Open Error {filepath}".format({"filepath" : path}) + + var _class_name: String = "" + + for line_num in 40: # Loop only up to 40 lines + if file.eof_reached(): + break + + var line = file.get_line().strip_edges() + + if line.begins_with("class_name"): + _class_name = line.split(" ")[1] + break + + if _class_name == "": + var script = load(path) + if script is Script: + match proxy: + LoggieEnums.NamelessClassExtensionNameProxy.BASE_TYPE: + _class_name = script.get_instance_base_type() + LoggieEnums.NamelessClassExtensionNameProxy.SCRIPT_NAME: + _class_name = script.get_script_property_list().front()["name"] + + file.close() + return _class_name + +## Takes the given [param string] and returns an array made out of chunks of the given size. +## The string is chunked from start to end. +static func chunk_string(string : String, chunk_size : int) -> Array: + var message_chunks = [] + if string.length() >= chunk_size: + # Cut chunk_size pieces from the left side of the string and push them to message_chunks. + while string.length() >= chunk_size: + message_chunks.append(string.left(chunk_size)) + string = string.substr(chunk_size, -1) + + # Append the remaining slice as the final chunk. + if string.length() > 0: + message_chunks.append(string) + return message_chunks + else: + return [string] + +## Copies the directory at the given [param path_dir_to_copy] path and places the copy at the given [param path_dir_to_copy_into] path. +## Returns a dictionary with 2 keys: +##[codeblock] +##`errors` : Array[Error] # An array of all errors that occured during the process. ('Error.OK' is an exception and won't be included here) +##`messages` : Array[LoggieMsg] # An array of messages describing the process, including informational or error related content. +##[/codeblock] +static func copy_dir_absolute(path_dir_to_copy: String, path_dir_to_copy_into: String, overwrite_existing_files_with_same_name : bool = false) -> Dictionary: + const debug_enabled = false + var result = { + "errors" : [], + "messages" : [] + } + + # Ensure source directory is openable. + var source_dir = DirAccess.open(path_dir_to_copy) + if source_dir == null: + var open_error = DirAccess.get_open_error() + result.errors.push_back(open_error) + result.messages.push_back(LoggieMsg.new("Failed to open source directory: ", path_dir_to_copy, " with error: ", error_string(open_error))) + return result + + # Ensure target directory is openable. + var target_dir = DirAccess.open(path_dir_to_copy_into) + var target_dir_path_abs = ProjectSettings.globalize_path(path_dir_to_copy_into) + if target_dir == null: + var msg = LoggieMsg.new("📂 Target directory not found - creating it at:").msg(path_dir_to_copy_into).color(Color.CADET_BLUE) + result.messages.push_back(msg) + DirAccess.make_dir_recursive_absolute(path_dir_to_copy_into) + target_dir = DirAccess.open(path_dir_to_copy_into) + + # Copy all files from the current source directory into the target directory. + for file_name : String in source_dir.get_files(): + var file_path_abs = ProjectSettings.globalize_path(path_dir_to_copy.path_join(file_name)) + var target_file_path_abs = target_dir_path_abs.path_join(file_name) + var copying_msg = LoggieMsg.new("📝 Copying file...") + copying_msg.msg(file_path_abs).italic().color(Color.CORNFLOWER_BLUE).add(" -> ") + copying_msg.msg(target_file_path_abs).bold().color(Color.CORNFLOWER_BLUE) + + var is_overwrite_required = false + if FileAccess.file_exists(target_file_path_abs): + is_overwrite_required = true + if overwrite_existing_files_with_same_name: + copying_msg.nl().msg("\t[!] Target file already exists and will be overwritten.").bold().color(Color.DARK_KHAKI) + else: + copying_msg.nl().msg("\t🛑 File will not be copied as overwriting existing files is disabled.").bold().color(Color.SALMON) + + result.messages.push_back(copying_msg) + + if (not is_overwrite_required) or (is_overwrite_required and overwrite_existing_files_with_same_name): + var copy_error = DirAccess.copy_absolute(file_path_abs, target_file_path_abs) + if copy_error != OK: + result.errors.push_back(copy_error) + result.messages.push_back(LoggieMsg.new("Attempt to copy file failed with error: '", error_string(copy_error))) + + # Create all of source directory's subdirectories in the target directory and copy their contents. + for dir_name : String in source_dir.get_directories(): + var source_subdir_path = path_dir_to_copy.path_join(dir_name) + var source_subdir_path_abs = ProjectSettings.globalize_path(source_subdir_path) + var target_subdir_path = path_dir_to_copy_into.path_join(dir_name) + var dir_path_abs = ProjectSettings.globalize_path(target_subdir_path) + + result.messages.push_back(LoggieMsg.new("📂 Creating directory: ").msg("{dir}".format({"dir": dir_path_abs})).color(Color.CADET_BLUE)) + var make_dir_error = DirAccess.make_dir_recursive_absolute(dir_path_abs) + if make_dir_error != OK: + result.errors.push_back(make_dir_error) + var error_msg = LoggieMsg.new("Attempt to create directory at absolute path recursively failed with error: '", error_string(make_dir_error)) + result.messages.push_back(error_msg) + continue + + # Recursively copy the contents of the subdirectory + var subdir_copy_result = copy_dir_absolute(source_subdir_path_abs, target_subdir_path, overwrite_existing_files_with_same_name) + result.errors = result.errors + subdir_copy_result.errors + result.messages = result.messages + subdir_copy_result.messages + + if debug_enabled: + for msg : LoggieMsg in result.messages: + print_rich(msg.string()) + + return result + +## A dictionary of named colors matching the constants from [Color] used to help with rich text coloring. +## There may be a way to obtain these Color values without this dictionary if one can somehow check for the +## existence and value of a constant on the Color class (since they're already there), +## but I can't seem to find a way, so this will have to do for now. +static var NamedColors = { + "ALICE_BLUE": Color(0.941176, 0.972549, 1, 1), + "ANTIQUE_WHITE": Color(0.980392, 0.921569, 0.843137, 1), + "AQUA": Color(0, 1, 1, 1), + "AQUAMARINE": Color(0.498039, 1, 0.831373, 1), + "AZURE": Color(0.941176, 1, 1, 1), + "BEIGE": Color(0.960784, 0.960784, 0.862745, 1), + "BISQUE": Color(1, 0.894118, 0.768627, 1), + "BLACK": Color(0, 0, 0, 1), + "BLANCHED_ALMOND": Color(1, 0.921569, 0.803922, 1), + "BLUE": Color(0, 0, 1, 1), + "BLUE_VIOLET": Color(0.541176, 0.168627, 0.886275, 1), + "BROWN": Color(0.647059, 0.164706, 0.164706, 1), + "BURLYWOOD": Color(0.870588, 0.721569, 0.529412, 1), + "CADET_BLUE": Color(0.372549, 0.619608, 0.627451, 1), + "CHARTREUSE": Color(0.498039, 1, 0, 1), + "CHOCOLATE": Color(0.823529, 0.411765, 0.117647, 1), + "CORAL": Color(1, 0.498039, 0.313726, 1), + "CORNFLOWER_BLUE": Color(0.392157, 0.584314, 0.929412, 1), + "CORNSILK": Color(1, 0.972549, 0.862745, 1), + "CRIMSON": Color(0.862745, 0.0784314, 0.235294, 1), + "CYAN": Color(0, 1, 1, 1), + "DARK_BLUE": Color(0, 0, 0.545098, 1), + "DARK_CYAN": Color(0, 0.545098, 0.545098, 1), + "DARK_GOLDENROD": Color(0.721569, 0.52549, 0.0431373, 1), + "DARK_GRAY": Color(0.662745, 0.662745, 0.662745, 1), + "DARK_GREEN": Color(0, 0.392157, 0, 1), + "DARK_KHAKI": Color(0.741176, 0.717647, 0.419608, 1), + "DARK_MAGENTA": Color(0.545098, 0, 0.545098, 1), + "DARK_OLIVE_GREEN": Color(0.333333, 0.419608, 0.184314, 1), + "DARK_ORANGE": Color(1, 0.54902, 0, 1), + "DARK_ORCHID": Color(0.6, 0.196078, 0.8, 1), + "DARK_RED": Color(0.545098, 0, 0, 1), + "DARK_SALMON": Color(0.913725, 0.588235, 0.478431, 1), + "DARK_SEA_GREEN": Color(0.560784, 0.737255, 0.560784, 1), + "DARK_SLATE_BLUE": Color(0.282353, 0.239216, 0.545098, 1), + "DARK_SLATE_GRAY": Color(0.184314, 0.309804, 0.309804, 1), + "DARK_TURQUOISE": Color(0, 0.807843, 0.819608, 1), + "DARK_VIOLET": Color(0.580392, 0, 0.827451, 1), + "DEEP_PINK": Color(1, 0.0784314, 0.576471, 1), + "DEEP_SKY_BLUE": Color(0, 0.74902, 1, 1), + "DIM_GRAY": Color(0.411765, 0.411765, 0.411765, 1), + "DODGER_BLUE": Color(0.117647, 0.564706, 1, 1), + "FIREBRICK": Color(0.698039, 0.133333, 0.133333, 1), + "FLORAL_WHITE": Color(1, 0.980392, 0.941176, 1), + "FOREST_GREEN": Color(0.133333, 0.545098, 0.133333, 1), + "FUCHSIA": Color(1, 0, 1, 1), + "GAINSBORO": Color(0.862745, 0.862745, 0.862745, 1), + "GHOST_WHITE": Color(0.972549, 0.972549, 1, 1), + "GOLD": Color(1, 0.843137, 0, 1), + "GOLDENROD": Color(0.854902, 0.647059, 0.12549, 1), + "GRAY": Color(0.745098, 0.745098, 0.745098, 1), + "GREEN": Color(0, 1, 0, 1), + "GREEN_YELLOW": Color(0.678431, 1, 0.184314, 1), + "HONEYDEW": Color(0.941176, 1, 0.941176, 1), + "HOT_PINK": Color(1, 0.411765, 0.705882, 1), + "INDIAN_RED": Color(0.803922, 0.360784, 0.360784, 1), + "INDIGO": Color(0.294118, 0, 804, 1), + "IVORY": Color(1, 1, 0.941176, 1), + "KHAKI": Color(0.941176, 0.901961, 0.54902, 1), + "LAVENDER": Color(0.901961, 0.901961, 0.980392, 1), + "LAVENDER_BLUSH": Color(1, 0.941176, 0.960784, 1), + "LAWN_GREEN": Color(0.486275, 0.988235, 0, 1), + "LEMON_CHIFFON": Color(1, 0.980392, 0.803922, 1), + "LIGHT_BLUE": Color(0.678431, 0.847059, 0.901961, 1), + "LIGHT_CORAL": Color(0.941176, 0.501961, 0.501961, 1), + "LIGHT_CYAN": Color(0.878431, 1, 1, 1), + "LIGHT_GOLDENROD": Color(0.980392, 0.980392, 0.823529, 1), + "LIGHT_GRAY": Color(0.827451, 0.827451, 0.827451, 1), + "LIGHT_GREEN": Color(0.564706, 0.933333, 0.564706, 1), + "LIGHT_PINK": Color(1, 0.713726, 0.756863, 1), + "LIGHT_SALMON": Color(1, 0.627451, 0.478431, 1), + "LIGHT_SEA_GREEN": Color(0.12549, 0.698039, 0.666667, 1), + "LIGHT_SKY_BLUE": Color(0.529412, 0.807843, 0.980392, 1), + "LIGHT_SLATE_GRAY": Color(0.466667, 0.533333, 0.6, 1), + "LIGHT_STEEL_BLUE": Color(0.690196, 0.768627, 0.870588, 1), + "LIGHT_YELLOW": Color(1, 1, 0.878431, 1), + "LIME": Color(0, 1, 0, 1), + "LIME_GREEN": Color(0.196078, 0.803922, 0.196078, 1), + "LINEN": Color(0.980392, 0.941176, 0.901961, 1), + "MAGENTA": Color(1, 0, 1, 1), + "MAROON": Color(0.690196, 0.188235, 0.376471, 1), + "MEDIUM_AQUAMARINE": Color(0.4, 0.803922, 0.666667, 1), + "MEDIUM_BLUE": Color(0, 0, 0.803922, 1), + "MEDIUM_ORCHID": Color(0.729412, 0.333333, 0.827451, 1), + "MEDIUM_PURPLE": Color(0.576471, 0.439216, 0.858824, 1), + "MEDIUM_SEA_GREEN": Color(0.235294, 0.701961, 0.443137, 1), + "MEDIUM_SLATE_BLUE": Color(0.482353, 0.407843, 0.933333, 1), + "MEDIUM_SPRING_GREEN": Color(0, 0.980392, 0.603922, 1), + "MEDIUM_TURQUOISE": Color(0.282353, 0.819608, 0.8, 1), + "MEDIUM_VIOLET_RED": Color(0.780392, 0.0823529, 0.521569, 1), + "MIDNIGHT_BLUE": Color(0.0980392, 0.0980392, 0.439216, 1), + "MINT_CREAM": Color(0.960784, 1, 0.980392, 1), + "MISTY_ROSE": Color(1, 0.894118, 0.882353, 1), + "MOCCASIN": Color(1, 0.894118, 0.709804, 1), + "NAVAJO_WHITE": Color(1, 0.870588, 0.678431, 1), + "NAVY_BLUE": Color(0, 0, 0.501961, 1), + "OLD_LACE": Color(0.992157, 0.960784, 0.901961, 1), + "OLIVE": Color(0.501961, 0.501961, 0, 1), + "OLIVE_DRAB": Color(0.419608, 0.556863, 0.137255, 1), + "ORANGE": Color(1, 0.647059, 0, 1), + "ORANGE_RED": Color(1, 0.270588, 0, 1), + "ORCHID": Color(0.854902, 0.439216, 0.839216, 1), + "PALE_GOLDENROD": Color(0.933333, 0.909804, 0.666667, 1), + "PALE_GREEN": Color(0.596078, 0.984314, 0.596078, 1), + "PALE_TURQUOISE": Color(0.686275, 0.933333, 0.933333, 1), + "PALE_VIOLET_RED": Color(0.858824, 0.439216, 0.576471, 1), + "PAPAYA_WHIP": Color(1, 0.937255, 0.835294, 1), + "PEACH_PUFF": Color(1, 0.854902, 0.72549, 1), + "PERU": Color(0.803922, 0.521569, 0.247059, 1), + "PINK": Color(1, 0.752941, 0.796078, 1), + "PLUM": Color(0.866667, 0.627451, 0.866667, 1), + "POWDER_BLUE": Color(0.690196, 0.878431, 0.901961, 1), + "PURPLE": Color(0.627451, 0.12549, 0.941176, 1), + "REBECCA_PURPLE": Color(0.4, 0.2, 0.6, 1), + "RED": Color(1, 0, 0, 1), + "ROSY_BROWN": Color(0.737255, 0.560784, 0.560784, 1), + "ROYAL_BLUE": Color(0.254902, 0.411765, 0.882353, 1), + "SADDLE_BROWN": Color(0.545098, 0.270588, 0.0745098, 1), + "SALMON": Color(0.980392, 0.501961, 0.447059, 1), + "SANDY_BROWN": Color(0.956863, 0.643137, 0.376471, 1), + "SEA_GREEN": Color(0.180392, 0.545098, 0.341176, 1), + "SEASHELL": Color(1, 0.960784, 0.933333, 1), + "SIENNA": Color(0.627451, 0.321569, 0.176471, 1), + "SILVER": Color(0.752941, 0.752941, 0.752941, 1), + "SKY_BLUE": Color(0.529412, 0.807843, 0.921569, 1), + "SLATE_BLUE": Color(0.415686, 0.352941, 0.803922, 1), + "SLATE_GRAY": Color(0.439216, 0.501961, 0.564706, 1), + "SNOW": Color(1, 0.980392, 0.980392, 1), + "SPRING_GREEN": Color(0, 1, 0.498039, 1), + "STEEL_BLUE": Color(0.27451, 0.509804, 0.705882, 1), + "TAN": Color(0.823529, 0.705882, 0.54902, 1), + "TEAL": Color(0, 0.501961, 0.501961, 1), + "THISTLE": Color(0.847059, 0.74902, 0.847059, 1), + "TOMATO": Color(1, 0.388235, 0.278431, 1), + "TRANSPARENT": Color(1, 1, 1, 0), + "TURQUOISE": Color(0.25098, 0.878431, 0.815686, 1), + "VIOLET": Color(0.933333, 0.509804, 0.933333, 1), + "WEB_GRAY": Color(0.501961, 0.501961, 0.501961, 1), + "WEB_GREEN": Color(0, 0.501961, 0, 1), + "WEB_MAROON": Color(0.501961, 0, 0, 1), + "WEB_PURPLE": Color(0.501961, 0, 0.501961, 1), + "WHEAT": Color(0.960784, 0.870588, 0.701961, 1), + "WHITE": Color(1, 1, 1, 1), + "WHITE_SMOKE": Color(0.960784, 0.960784, 0.960784, 1), + "YELLOW": Color(1, 1, 0, 1), + "YELLOW_GREEN": Color(0.603922, 0.803922, 0.196078, 1) +} diff --git a/addons/loggie/tools/loggie_tools.gd.uid b/addons/loggie/tools/loggie_tools.gd.uid new file mode 100644 index 0000000..5261ecd --- /dev/null +++ b/addons/loggie/tools/loggie_tools.gd.uid @@ -0,0 +1 @@ +uid://c857kew4i5tgp diff --git a/addons/loggie/version_management/loggie_update.gd b/addons/loggie/version_management/loggie_update.gd new file mode 100644 index 0000000..e8cce0a --- /dev/null +++ b/addons/loggie/version_management/loggie_update.gd @@ -0,0 +1,335 @@ +@tool +class_name LoggieUpdate extends Node + +## Emitted when this update fails. +signal failed() + +## Emitted when this update succeeds. +signal succeeded() + +## Emitted when this declares that it has made some progress. +signal progress(value : float) + +## Emitted when this declares that it wants a new status/substatus message to be used. +signal status_changed(status_msg : Variant, substatus_msg : Variant) + +## Emitted when this update is starting. +signal starting() + +## Emitted when the 'is_in_progress' status of this update changes. +signal is_in_progress_changed(new_value : bool) + +## The path to the directory that should have a temporary file created and filled with the patch zipball buffer. +const TEMP_FILES_DIR = "user://" + +## If this is set to a non-empty string, it will be used as the directory into which the new update will be +## installed. Used for testing/debugging. When set to empty string, Loggie will automatically figure out +## where it is being updated from and use that directory instead. +const ALT_LOGGIE_PLUGIN_CONTAINER_DIR = "" + +## The domain from which status report [LoggieMsg]s from this update will be logged from. +const REPORTS_DOMAIN : String = "loggie_update_status_reports" + +## Stores a reference to the logger that's requesting this update. +var _logger : Variant + +## The URL used to visit a page that contains the release notes for this update. +var release_notes_url = "" + +## Stores a reference to the previous version the connected [member _logger] is/was using. +var prev_version : LoggieVersion = null + +## Stores a reference to the new version the connected [member _logger] should be using after the update. +var new_version : LoggieVersion = null + +## Indicates whether this update is currently in progress. +var is_in_progress : bool = false + +## Whether the update should retain or purge the backup it makes of the previous version files once it is done +## installing and applying the new update. +var _clean_up_backup_files : bool = true + +func _init(_prev_version : LoggieVersion, _new_version : LoggieVersion) -> void: + self.prev_version = _prev_version + self.new_version = _new_version + +## Returns a reference to the logger that's requesting this update. +func get_logger() -> Variant: + return self._logger + +## Sets the URL used to visit a page that contains the release notes for this update. +func set_release_notes_url(url : String) -> void: + self.release_notes_url = url + +## Sets whether this window is currently performing the update. +func set_is_in_progress(value : bool) -> void: + self.is_in_progress = value + self.is_in_progress_changed.emit(value) + +## Tries to start the version update. Prevents the update from starting +## if something is not configured correctly and pushes a warning/error. +func try_start(): + if Engine.has_meta("LoggieUpdateSuccessful") and Engine.get_meta("LoggieUpdateSuccessful"): + # No plan to allow multiple updates to run during a single Engine session anyway so no need to start another one. + # Also, this helps with internal testing of the updater and prevents an updated plugin from auto-starting another update + # when dealing with proxy versions. + return + + if self._logger == null: + push_warning("Attempt to start Loggie update failed - member '_logger' on the LoggieUpdate object is null.") + return + + if self.is_in_progress: + push_warning("Attempt to start Loggie update failed - the update is already in progress.") + return + + if self.new_version == null or self.prev_version == null: + push_warning("Attempt to start Loggie update failed - the updater prompt has the 'new_version' or 'prev_version' variable at null value.") + return + elif !self.new_version.is_higher_than(self.prev_version): + push_warning("Attempt to start Loggie update failed - the 'new_version' is not higher than 'prev_version'.") + return + + if self.new_version.has_meta("github_data"): + var github_data = self.new_version.get_meta("github_data") + if !github_data.has("zipball_url"): + push_error("Attempt to start Loggie update failed - the meta key 'github_data' on the 'new_version' is a dictionary that does not contain the required 'zipball_url' key/value pair.") + return + else: + push_error("Attempt to start Loggie update failed - the meta key 'github_data' on the 'new_version' was not found.") + return + + _start() + +## Internal function. Starts the updating of the [param _logger] to the [param new_version]. +## Do not run without verification that configuration is correct. +## Use [method try_start] to call this safely. +func _start(): + var loggie = self.get_logger() + + loggie.msg("Loggie is updating from version {v_prev} to {v_new}.".format({ + "v_prev" : self.prev_version, + "v_new" : self.new_version + })).domain(REPORTS_DOMAIN).color(Color.ORANGE).box(12).info() + + set_is_in_progress(true) + starting.emit() + + # Make request to configured endpoint. + var update_data = self.new_version.get_meta("github_data") + var http_request = HTTPRequest.new() + loggie.add_child(http_request) + http_request.request_completed.connect(_on_download_request_completed) + http_request.request(update_data.zipball_url) + +## Internal callback function. +## Defines what happens when new update content is successfully downloaded from GitHub. +## Called automatically during [method _start] if everything is going according to plan. +func _on_download_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void: + var loggie = self.get_logger() + + if loggie == null: + _failure("The _logger used by the updater window is null.") + return + + if result != HTTPRequest.RESULT_SUCCESS: + _failure("Download request returned non-zero code: " + str(result)) + return + + #region || Prepare: Define variables and callbacks that will be used throughout. + # The path to the directory which is supposed to contain the plugin directory. + # This will usually be 'res://addons/', but could be anything else too. We'll read it dynamically + # from the connected logger to guarantee correctness. + var LOGGIE_PLUGIN_CONTAINER_DIR = ALT_LOGGIE_PLUGIN_CONTAINER_DIR if !ALT_LOGGIE_PLUGIN_CONTAINER_DIR.is_empty() else loggie.get_directory_path().get_base_dir() + "/" + + # The path to the `loggie` plugin directory. + var LOGGIE_PLUGIN_DIR = ProjectSettings.globalize_path(LOGGIE_PLUGIN_CONTAINER_DIR.path_join("loggie/")) + + # The full path filename of the temporary .zip archive that will be created to store the downloaded data. + var TEMP_ZIP_FILE_PATH = ProjectSettings.globalize_path(TEMP_FILES_DIR.path_join("_temp_loggie_{ver}.zip".format({"ver": str(new_version)}))) + + # The path to the directory where a temporary backup of current loggie plugin files will be copied to. + # (will be created if doesn't exist). + var TEMP_PREV_VER_FILES_DIR_PATH = ProjectSettings.globalize_path(TEMP_FILES_DIR.path_join("_temp_loggie_{ver}_backup".format({"ver": str(prev_version)}))) + + # A callable that can be reused within this function that cleans up the temporary and unused directories, + # once this function comes to a conclusion. + var clean_up : Callable = func(): + if FileAccess.file_exists(TEMP_ZIP_FILE_PATH): + OS.move_to_trash(TEMP_ZIP_FILE_PATH) + if DirAccess.dir_exists_absolute(TEMP_PREV_VER_FILES_DIR_PATH) and self._clean_up_backup_files: + OS.move_to_trash(TEMP_PREV_VER_FILES_DIR_PATH) + + # A callable that can be used to replace the currently existing Loggie plugin directory + # with whatever is currently (temporarily) stored as its backup. + var revert_to_backup = func(): + if FileAccess.file_exists(LOGGIE_PLUGIN_DIR): + OS.move_to_trash(LOGGIE_PLUGIN_DIR) + if DirAccess.dir_exists_absolute(TEMP_PREV_VER_FILES_DIR_PATH): + DirAccess.rename_absolute(TEMP_PREV_VER_FILES_DIR_PATH, LOGGIE_PLUGIN_DIR) + + #endregion + + #region || Step 1: Store the downloaded content into a temporary zip file. + send_progress_update(20, "Processing Files", "Storing patch locally...") + + var zip_file: FileAccess = FileAccess.open(TEMP_ZIP_FILE_PATH, FileAccess.WRITE) + if zip_file == null: + _failure("Failed to open temp. file for writing: {path}".format({"path": TEMP_ZIP_FILE_PATH})) + clean_up.call() + return + + zip_file.store_buffer(body) + zip_file.close() + #endregion + + #region || Step 2: Make a temporary backup of the currently used Loggie plugin directory. + send_progress_update(30, "Processing Files", "Backing up previous version files...") + + if !DirAccess.dir_exists_absolute(LOGGIE_PLUGIN_DIR): + _failure("The Loggie plugin directory ({path}) could not be found.".format({ + "path" : LOGGIE_PLUGIN_DIR + })) + clean_up.call() + return + + var copy_prev_ver_result = LoggieTools.copy_dir_absolute(LOGGIE_PLUGIN_DIR, TEMP_PREV_VER_FILES_DIR_PATH, true) + if copy_prev_ver_result.errors.size() > 0: + var copy_prev_var_result_errors_msg = LoggieMsg.new("Errors encountered:") + for error in copy_prev_ver_result.errors: + copy_prev_var_result_errors_msg.nl().add(error_string(error)) + _failure(copy_prev_var_result_errors_msg.string()) + clean_up.call() + return + #endregion + + #region || Step 3: Remove currently used Loggie plugin directory and create a new one in its place populated with new version files. + send_progress_update(50, "Processing Files", "Copying new version files...") + var zip_reader: ZIPReader = ZIPReader.new() + var zip_reader_open_error = zip_reader.open(TEMP_ZIP_FILE_PATH) + if zip_reader_open_error != OK: + _failure("Attempt to open temp. file(s) archive at {path} failed with error: {err_str}".format({ + "path": LOGGIE_PLUGIN_DIR, + "err_str" : error_string(zip_reader_open_error) + })) + clean_up.call() + return + + # Trash the previously existing loggie plugin dir entirely. + # A new one will be created in a moment. + OS.move_to_trash(LOGGIE_PLUGIN_DIR) + + # Get a list of all files and dirs in the zip. + var files : PackedStringArray = zip_reader.get_files() + + # This will always be the "addons" directory in the zip archive in which we expect + # to find the "loggie" directory containing the plugin. + var base_path_in_zip = files[1] + + # Remove the first 2 parts of the path that we won't be needing at all. + files.remove_at(0) + files.remove_at(0) + + # Create all needed files and directories. + for path in files: + var new_file_path: String = path.replace(base_path_in_zip, "") + if path.ends_with("/"): + DirAccess.make_dir_recursive_absolute(LOGGIE_PLUGIN_CONTAINER_DIR + new_file_path) + else: + var abs_path = LOGGIE_PLUGIN_CONTAINER_DIR + new_file_path + var file : FileAccess = FileAccess.open(abs_path, FileAccess.WRITE) + if file == null: + _failure("Error while storing buffer data into temporary files - write target directory or file {target} gave the error: {error}".format({ + "error" : error_string(FileAccess.get_open_error()), + "target" : abs_path + })) + revert_to_backup.call() + clean_up.call() + return + else: + var file_content = zip_reader.read_file(path) + file.store_buffer(file_content) + file.close() + + zip_reader.close() + #endregion + + #region || Step 4: Move the user's 'custom_settings.gd' to the new version directory if it existed in prev version. + send_progress_update(70, "Processing Files", "Reapplying custom settings...") + var CUSTOM_SETTINGS_IN_PREV_VER_PATH = TEMP_PREV_VER_FILES_DIR_PATH.path_join("custom_settings.gd") + if FileAccess.file_exists(CUSTOM_SETTINGS_IN_PREV_VER_PATH): + var CUSTOM_SETTINGS_IN_NEW_VER_PATH = ProjectSettings.globalize_path(LOGGIE_PLUGIN_DIR.path_join("custom_settings.gd")) + var custom_settings_copy_error = DirAccess.copy_absolute(CUSTOM_SETTINGS_IN_PREV_VER_PATH, CUSTOM_SETTINGS_IN_NEW_VER_PATH) + if custom_settings_copy_error != OK: + push_error("Attempt to copy the 'custom_settings.gd' file from {p1} to {p2} failed with error: {error}".format({ + "p1" : CUSTOM_SETTINGS_IN_PREV_VER_PATH, + "p2" : CUSTOM_SETTINGS_IN_NEW_VER_PATH, + "error" : error_string(custom_settings_copy_error) + })) + #endregion + + #region || Step 5: Move the user's 'channels/custom_channels' directory to the new version if it existed in prev version. + send_progress_update(80, "Processing Files", "Reapplying custom channels...") + var CUSTOM_CHANNELS_IN_PREV_VER_PATH = ProjectSettings.globalize_path(TEMP_PREV_VER_FILES_DIR_PATH.path_join("channels/custom_channels/")) + if DirAccess.dir_exists_absolute(CUSTOM_CHANNELS_IN_PREV_VER_PATH): + var CUSTOM_CHANNELS_IN_NEW_VER_PATH = ProjectSettings.globalize_path(LOGGIE_PLUGIN_DIR.path_join("channels/custom_channels/")) + var copy_prev_ver_custom_channels_result = LoggieTools.copy_dir_absolute(CUSTOM_CHANNELS_IN_PREV_VER_PATH, CUSTOM_CHANNELS_IN_NEW_VER_PATH, true) + if copy_prev_ver_custom_channels_result.errors.size() > 0: + var copy_prev_var_result_errors_msg = LoggieMsg.new("Errors encountered:") + for error in copy_prev_ver_result.errors: + copy_prev_var_result_errors_msg.nl().add(error_string(error)) + push_error("Attempt to copy the 'channels/custom_channels' directory from {p1} to {p2} failed with error: {error}".format({ + "p1" : CUSTOM_CHANNELS_IN_PREV_VER_PATH, + "p2" : CUSTOM_CHANNELS_IN_NEW_VER_PATH, + "error" : copy_prev_var_result_errors_msg.string() + })) + else: + print("The {path} directory doesn't exist.".format({"path": CUSTOM_CHANNELS_IN_PREV_VER_PATH})) + #endregion + + #region || Step 6: Clean up temporarily created files and close filewrite. + send_progress_update(90, "Processing Files", "Cleaning up...") + clean_up.call() + #endregion + + #region || Step 7: Declare successful. Wrap up. + send_progress_update(100, "Finishing up", "") + _success() + #endregion + +## Internal function used at the end of the updating process if it is successfully completed. +func _success(): + set_is_in_progress(false) + + var msg = "💬 You may see temporary errors in the console due to Loggie files being re-scanned and reloaded on the spot.\nIt should be safe to dismiss them, but for the best experience, reload the Godot editor (and the plugin, if something seems wrong).\n\n🚩 If you see a 'Files have been modified on disk' window pop up, choose 'Discard local changes and reload' to accept incoming changes." + status_changed.emit(null, msg) + succeeded.emit() + + print_rich(LoggieMsg.new("👀 Loggie updated to version {new_ver}!".format({"new_ver": self.new_version})).bold().color(Color.ORANGE).string()) + print_rich(LoggieMsg.new("\t📚 Release Notes: ").bold().msg("[url={url}]{url}[/url]".format({"url": release_notes_url})).color(Color.CORNFLOWER_BLUE).string()) + print_rich(LoggieMsg.new("\t💬 Support, Development & Feature Requests: ").bold().msg("[url=https://discord.gg/XPdxpMqmcs]https://discord.gg/XPdxpMqmcs[/url]").color(Color.CORNFLOWER_BLUE).string()) + + if Engine.is_editor_hint(): + var editor_plugin = Engine.get_meta("LoggieEditorPlugin") + editor_plugin.get_editor_interface().get_resource_filesystem().scan() + editor_plugin.get_editor_interface().call_deferred("set_plugin_enabled", "loggie", true) + editor_plugin.get_editor_interface().set_plugin_enabled("loggie", false) + Engine.set_meta("LoggieUpdateSuccessful", true) + print_rich("[b]Updater:[/b] ", msg) + +## Internal function used to interrupt an ongoing update and cause it to fail. +func _failure(status_msg : String): + var loggie = self.get_logger() + loggie.msg(status_msg).color(Color.SALMON).preprocessed(false).error() + loggie.msg("\t💬 If this issue persists, consider reporting: ").bold().msg("https://github.com/Shiva-Shadowsong/loggie/issues").color(Color.CORNFLOWER_BLUE).preprocessed(false).info() + set_is_in_progress(false) + failed.emit() + status_changed.emit(null, status_msg) + +## Informs the listeners of the [signal progress] / [signal status_changed] signals about a change in the progress of the update. +func send_progress_update(progress_amount : float, status_msg : String, substatus_msg : String): + var loggie = self.get_logger() + if !substatus_msg.is_empty(): + loggie.msg("•• ").msg(substatus_msg).domain(REPORTS_DOMAIN).preprocessed(false).info() + progress.emit(progress_amount) + status_changed.emit(status_msg, substatus_msg) diff --git a/addons/loggie/version_management/loggie_update.gd.uid b/addons/loggie/version_management/loggie_update.gd.uid new file mode 100644 index 0000000..18b5122 --- /dev/null +++ b/addons/loggie/version_management/loggie_update.gd.uid @@ -0,0 +1 @@ +uid://cx6w7o7nxwoob diff --git a/addons/loggie/version_management/loggie_version.gd b/addons/loggie/version_management/loggie_version.gd new file mode 100644 index 0000000..54de640 --- /dev/null +++ b/addons/loggie/version_management/loggie_version.gd @@ -0,0 +1,39 @@ +## A utility class that helps with storing data about a Loggie Version and converting and comparing version strings. +class_name LoggieVersion extends Resource + +var minor : int = -1 ## The minor component of the version. +var major : int = -1 ## The major component of the version. +var proxy_for : LoggieVersion = null ## The version that this version is a proxy for. (Internal use only) + +func _init(_major : int = -1, _minor : int = -1) -> void: + self.minor = _minor + self.major = _major + +func _to_string() -> String: + return str(self.major) + "." + str(self.minor) + +## Checks if this version is valid. +## (neither minor nor major component can be less than 0). +func is_valid() -> bool: + return (minor >= 0 and major >= 0) + +## Checks if the given [param version] if higher than this version. +func is_higher_than(version : LoggieVersion): + if self.major > version.major: + return true + if self.minor > version.minor: + return true + return false + +## Given a string that has 2 sets of digits separated by a ".", breaks that down +## into a version with a major and minor version component (ints). +static func from_string(version_string : String) -> LoggieVersion: + var version : LoggieVersion = LoggieVersion.new() + var regex = RegEx.new() + regex.compile("(\\d+)\\.(\\d+)") + + var result = regex.search(version_string) + if result: + version.major = result.get_string(1).to_int() + version.minor = result.get_string(2).to_int() + return version diff --git a/addons/loggie/version_management/loggie_version.gd.uid b/addons/loggie/version_management/loggie_version.gd.uid new file mode 100644 index 0000000..b0edc52 --- /dev/null +++ b/addons/loggie/version_management/loggie_version.gd.uid @@ -0,0 +1 @@ +uid://dgetf62kxei2g diff --git a/addons/loggie/version_management/loggie_version_manager.gd b/addons/loggie/version_management/loggie_version_manager.gd new file mode 100644 index 0000000..0bc5979 --- /dev/null +++ b/addons/loggie/version_management/loggie_version_manager.gd @@ -0,0 +1,225 @@ +@tool +## A class that can be used to inquire about, generate, and operate on [LoggieVersion]s. +## It is also responsible for notifying about an available update, and starting it, if configured to do so. +class_name LoggieVersionManager extends RefCounted + +## Emitted when this version manager updates the known [member latest_version]. +signal latest_version_updated() + +## Emitted when this version manager has created a valid [LoggieUpdate] and is ready to use it. +signal update_ready() + +## The URL where loggie releases on GitHub can be found. +const REMOTE_RELEASES_URL = "https://api.github.com/repos/Shiva-Shadowsong/loggie/releases" + +## The domain from which [LoggieMsg]s from this version manager will be logged from. +const REPORTS_DOMAIN : String = "loggie_version_check_reports" + +## Stores the result of reading the Loggie version with [method get_current_Version]. +var version : LoggieVersion = null + +## Stores the result of reading the latest Loggie version with [method get_latest_version]. +var latest_version : LoggieVersion = null + +## Stores a reference to a ConfigFile which will be loaded from [member CONFIG_PATH] during [method find_and_store_current_version]. +var config : ConfigFile = ConfigFile.new() + +## Stores a reference to the logger that's using this version manager. +var _logger : Variant = null + +## Stores a reference to the [LoggieUpdate] that has been created to handle an available update. +var _update : LoggieUpdate = null + +## Internal debug variable. +## If not null, this version manager will treat the [LoggieVersion] provided under this variable to be the current [param version]. +## Useful for debugging this module when you want to simulate that the current version is something different than it actually is. +var _version_proxy : LoggieVersion = null + +## Initializes this version manager, connecting it to the logger that's using it and updating the version cache based on that logger, +## which will further prompt the emission of signals in this class, and so on. +func connect_logger(logger : Variant) -> void: + self.latest_version_updated.connect(on_latest_version_updated) + self._logger = logger + + # Set to true during development to enable debug prints related to version management. + self._logger.set_domain_enabled(self.REPORTS_DOMAIN, false) + + update_version_cache() + +## Returns a reference to the logger object that is using this version manager. +func get_logger() -> Variant: + return self._logger + +## Reads the current version of Loggie from plugin.cfg and stores it in [member version]. +func find_and_store_current_version(): + var detected_version = self._logger.version + if self._version_proxy != null: + self.version = self._version_proxy + self.version.proxy_for = detected_version + else: + self.version = detected_version + +## Reads the latest version of Loggie from a GitHub API response and stores it in [member latest_version]. +func find_and_store_latest_version(): + var loggie = self.get_logger() + var http_request = HTTPRequest.new() + loggie.add_child(http_request) + loggie.msg("Retrieving version(s) info from endpoint:", REMOTE_RELEASES_URL).domain(REPORTS_DOMAIN).debug() + http_request.request_completed.connect(_on_get_latest_version_request_completed, CONNECT_ONE_SHOT) + http_request.request(REMOTE_RELEASES_URL) + +## Defines what happens once this version manager emits the signal saying that an update is available. +func on_update_available_detected() -> void: + var loggie = self.get_logger() + if loggie.settings.update_check_mode == LoggieEnums.UpdateCheckType.DONT_CHECK: + return + + self._update = LoggieUpdate.new(self.version, self.latest_version) + self._update._logger = loggie + + var github_data = self.latest_version.get_meta("github_data") + var latest_release_notes_url = github_data.html_url + self._update.set_release_notes_url(latest_release_notes_url) + loggie.add_child(self._update) + update_ready.emit() + + # No plan to allow multiple updates to run during a single Engine session anyway so no need to start another one. + # Also, this helps with internal testing of the updater and prevents an updated plugin from auto-starting another update + # when dealing with proxy versions. + var hasUpdatedAlready = Engine.has_meta("LoggieUpdateSuccessful") and Engine.get_meta("LoggieUpdateSuccessful") + + match loggie.settings.update_check_mode: + LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW: + if hasUpdatedAlready: + loggie.info("Update already performed. ✔️") + return + create_and_show_updater_widget(self._update) + LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_MSG: + loggie.msg("👀 Loggie update available!").color(Color.ORANGE).header().msg(" > Current version: {version}, Latest version: {latest}".format({ + "version" : self.version, + "latest" : self.latest_version + })).info() + LoggieEnums.UpdateCheckType.CHECK_DOWNLOAD_AND_SHOW_MSG: + if hasUpdatedAlready: + loggie.info("Update already performed. ✔️") + return + loggie.set_domain_enabled("loggie_update_status_reports", true) + self._update.try_start() + +## Defines what happens when the request to GitHub API which grabs all the Loggie releases is completed. +func _on_get_latest_version_request_completed(result : int, response_code : int, headers : PackedStringArray, body: PackedByteArray): + var loggie = self.get_logger() + loggie.msg("Response for request received:", response_code).domain(REPORTS_DOMAIN).debug() + + if result != HTTPRequest.RESULT_SUCCESS: + return + + var response = JSON.parse_string(body.get_string_from_utf8()) + + if typeof(response) != TYPE_ARRAY: + loggie.error("The response parsed from GitHub was not an array. Response received in an unsupported format.") + return + + var latest_version_data = response[0] # GitHub releases are in order of creation, so grab the first one from the response, that's the latest one. + self.latest_version = LoggieVersion.from_string(latest_version_data.tag_name) + self.latest_version.set_meta("github_data", latest_version_data) + + loggie.msg("Current version of Loggie:", self.version).msg(" (proxy for: {value})".format({"value": self.version.proxy_for})).domain(REPORTS_DOMAIN).debug() + loggie.msg("Latest version of Loggie:", self.latest_version).domain(REPORTS_DOMAIN).debug() + latest_version_updated.emit() + +## Executes every time this version manager updates the known latest_version. +func on_latest_version_updated() -> void: + var loggie = self.get_logger() + if loggie == null: + return + + # Check if update is available. + if loggie.settings.update_check_mode != LoggieEnums.UpdateCheckType.DONT_CHECK: + loggie.msg("👀 Loggie:").bold().color("orange").msg(" Checking for updates...").info() + if is_update_available(): + on_update_available_detected() + else: + loggie.msg("👀 Loggie:").bold().color("orange").msg(" Up to date. ✔️").color(Color.LIGHT_GREEN).info() + +## Displays the widget which informs the user of the available update and offers actions that they can take next. +func create_and_show_updater_widget(update : LoggieUpdate) -> Window: + const PATH_TO_WIDGET_SCENE = "addons/loggie/version_management/update_prompt_window.tscn" + var WIDGET_SCENE = load(PATH_TO_WIDGET_SCENE) + if !is_instance_valid(WIDGET_SCENE): + push_error("Loggie Update Prompt Window scene not found on expected path: {path}".format({"path": PATH_TO_WIDGET_SCENE})) + return + + var loggie = self.get_logger() + if loggie == null: + return + + var popup_parent = null + if Engine.is_editor_hint() and Engine.has_meta("LoggieEditorInterfaceBaseControl"): + popup_parent = Engine.get_meta("LoggieEditorInterfaceBaseControl") + else: + popup_parent = SceneTree.current_scene + + # Configure popup window. + var _popup = Window.new() + update.succeeded.connect(func(): + _popup.queue_free() + var success_dialog = AcceptDialog.new() + var msg = "💬 You may see temporary errors in the console due to Loggie files being re-scanned and reloaded on the spot.\nIt should be safe to dismiss them, but for the best experience, reload the Godot editor (and the plugin, if something seems wrong).\n\n🚩 If you see a 'Files have been modified on disk' window pop up, choose 'Discard local changes and reload' to accept incoming changes." + success_dialog.dialog_text = msg + success_dialog.title = "Loggie Updater" + if is_instance_valid(popup_parent): + popup_parent.add_child(success_dialog) + success_dialog.popup_centered() + ) + var on_close_requested = func(): + _popup.queue_free() + + _popup.close_requested.connect(on_close_requested, CONNECT_ONE_SHOT) + _popup.borderless = false + _popup.unresizable = true + _popup.transient = true + _popup.title = "Update Available" + + # Configure window widget and add it as a child of the popup window. + var widget : LoggieUpdatePrompt = WIDGET_SCENE.instantiate() + widget.connect_to_update(update) + widget.set_anchors_preset(Control.PRESET_FULL_RECT) + widget._logger = loggie + widget.close_requested.connect(on_close_requested, CONNECT_ONE_SHOT) + + if is_instance_valid(popup_parent): + popup_parent.add_child(_popup) + _popup.popup_centered(widget.host_window_size) + _popup.add_child(widget) + + return _popup + +## Updates the local variables which point to the current and latest version of Loggie. +func update_version_cache(): + # Read and cache the current version of Loggie from plugin.cfg. + find_and_store_current_version() + + # Read and cache the latest version of Loggie from GitHub. + # (Do it only if running in editor, no need for this if running in a game). + var logger = self.get_logger() + if logger is Node: + if !Engine.is_editor_hint(): + return + if logger.is_node_ready(): + find_and_store_latest_version() + else: + logger.ready.connect(func(): + find_and_store_latest_version() + , CONNECT_ONE_SHOT) + +## Checks if an update for Loggie is available. Run only after running [method update_version_cache]. +func is_update_available() -> bool: + var loggie = self.get_logger() + if !(self.version is LoggieVersion and self.version.is_valid()): + loggie.error("The current version of Loggie is not valid. Run `find_and_store_current_version` once to obtain this value first.") + return false + if !(self.latest_version is LoggieVersion and self.latest_version.is_valid()): + loggie.error("The latest version of Loggie is not valid. Run `find_and_store_latest_version` once to obtain this value first.") + return false + return self.latest_version.is_higher_than(self.version) diff --git a/addons/loggie/version_management/loggie_version_manager.gd.uid b/addons/loggie/version_management/loggie_version_manager.gd.uid new file mode 100644 index 0000000..36f8e28 --- /dev/null +++ b/addons/loggie/version_management/loggie_version_manager.gd.uid @@ -0,0 +1 @@ +uid://cqp1sp4ovt6pd diff --git a/addons/loggie/version_management/update_prompt_window.gd b/addons/loggie/version_management/update_prompt_window.gd new file mode 100644 index 0000000..ce97d0a --- /dev/null +++ b/addons/loggie/version_management/update_prompt_window.gd @@ -0,0 +1,192 @@ +@tool +## The Loggie Update Prompt is a control node that is meant to be created and added as a child of some other node, most commonly a [Window]. +## It connects to a [LoggieUpdate] via its [method connect_to_update] method, then displays data about that update depending on what kind of +## data that [LoggieUpdate] provides with its signals. +class_name LoggieUpdatePrompt extends Panel + +## Emitted when the user requests to close the update prompt. +signal close_requested() + +## The animation player that will be used to animate the appearance of this window. +@export var animator : AnimationPlayer + +## The size the window that's hosting this panel will be forced to assume when +## it's ready to pop this up on the screen. +@export var host_window_size : Vector2 = Vector2(1063, 672) + +## Stores a reference to the logger that's using this window. +var _logger : Variant + +## The update this window is visually representing. +var _update : LoggieUpdate + +## Stores a boolean which indicates whether the update is currently in progress. +var is_currently_updating : bool = false + +func _ready() -> void: + connect_control_effects() + %UpdateNowBtn.grab_focus() + refresh_remind_later_btn() + animator.play("RESET") + +## Connects this window to an instance of [LoggieUpdate] whose progress and properties this window is supposed to track. +func connect_to_update(p_update : LoggieUpdate) -> void: + self._update = p_update + _update.is_in_progress_changed.connect(is_update_in_progress_changed) + _update.starting.connect(on_update_starting) + _update.succeeded.connect(on_update_succeeded) + _update.failed.connect(on_update_failed) + _update.progress.connect(on_update_progress) + _update.status_changed.connect(on_update_status_changed) + +## Returns a reference to the logger object that is using this widget. +func get_logger() -> Variant: + return self._logger + +## Defines what happens when the update this window is representing updates its "is in progress" status. +func is_update_in_progress_changed(is_in_progress : bool) -> void: + self.is_currently_updating = is_in_progress + + # The first time we enter the UpdateMonitor view and start an update, + # the %Notice node and its children should no longer (ever) be interactive or processing, + # since there is no way to get back to that view anymore. + if is_in_progress and %Notice.process_mode != Node.PROCESS_MODE_DISABLED: + %Notice.process_mode = Node.PROCESS_MODE_DISABLED + for child in %NoticeButtons.get_children(): + if child is Button: + child.focus_mode = Button.FOCUS_NONE + +## Connects the effects and functionalities of various controls in this window. +func connect_control_effects(): + if !is_instance_valid(self._update): + return + + # Configure version(s) labels. + %LabelCurrentVersion.text = str(self._update.prev_version) + %LabelLatestVersion.text = str(self._update.new_version) + %LabelOldVersion.text = str(self._update.prev_version) + %LabelNewVersion.text = str(self._update.new_version) + + # Configure onhover/focused effects. + var buttons_with_on_focushover_effect = [%OptionExitBtn, %OptionRestartGodotBtn, %OptionRetryUpdateBtn, %ReleaseNotesBtn, %RemindLaterBtn, %UpdateNowBtn] + for button : Button in buttons_with_on_focushover_effect: + button.focus_entered.connect(_on_button_focus_entered.bind(button)) + button.focus_exited.connect(_on_button_focus_exited.bind(button)) + button.mouse_entered.connect(_on_button_focus_entered.bind(button)) + button.mouse_exited.connect(_on_button_focus_exited.bind(button)) + button.pivot_offset = button.size * 0.5 + + # Connect behavior which executes when "Update Now" is pressed. + %UpdateNowBtn.pressed.connect(func(): + self._update.try_start() + ) + + # Configure Release Notes button. + %ReleaseNotesBtn.visible = !self._update.release_notes_url.is_empty() + %ReleaseNotesBtn.tooltip_text = "Opens {url} in browser.".format({"url": self._update.release_notes_url}) + %ReleaseNotesBtn.pressed.connect(func(): + if !self._update.release_notes_url.is_empty(): + OS.shell_open(self._update.release_notes_url) + ) + + # Connect behavior which executes when the "Remind Me Later / Close" is pressed. + %RemindLaterBtn.pressed.connect(func(): close_requested.emit()) + %OptionExitBtn.pressed.connect(func(): close_requested.emit()) + + # Connect behavior which executes when the "Retry" button is pressed. + %OptionRetryUpdateBtn.pressed.connect(self._update.try_start) + + # Connect behavior which executes when the "Restart Godot" button is pressed. + %OptionRestartGodotBtn.pressed.connect(func(): + close_requested.emit() + if Engine.is_editor_hint(): + var editor_plugin = Engine.get_meta("LoggieEditorPlugin") + editor_plugin.get_editor_interface().restart_editor(true) + ) + + # The "Don't show again checkbox" updates project settings whenever it is toggled. + %DontShowAgainCheckbox.toggled.connect(func(toggled_on : bool): + var loggie = self.get_logger() + if Engine.is_editor_hint() and loggie != null: + if toggled_on: + loggie.settings.update_check_mode = LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_MSG + ProjectSettings.set_setting(loggie.settings.project_settings.update_check_mode.path, LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_MSG) + else: + loggie.settings.update_check_mode = LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW + ProjectSettings.set_setting(loggie.settings.project_settings.update_check_mode.path, LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW) + refresh_remind_later_btn() + ) + +## Updates the content of the "Remind Later Btn" to show text appropriate to the current state of the "Don't show again" checkbox. +func refresh_remind_later_btn(): + if %DontShowAgainCheckbox.button_pressed: + %RemindLaterBtn.text = "close" + else: + %RemindLaterBtn.text = "remind later" + +## Defines what happens when the [member _update] is detected to be starting. +func on_update_starting(): + if animator.current_animation != "show_update_overview": + animator.queue("show_update_overview") + %ProgressBar.value = 0 + %LabelMainStatus.text = "Downloading" + %LabelUpdateStatus.text = "Waiting for server response." + %OptionExitBtn.disabled = true + %OptionExitBtn.visible = false + %OptionRetryUpdateBtn.disabled = true + %OptionRetryUpdateBtn.visible = false + %OptionRestartGodotBtn.disabled = true + %OptionRestartGodotBtn.visible = false + +## Defines what happens when the [member _update] declares it has made progress. +func on_update_progress(value : float): + %ProgressBar.value = value + +## Defines what happens when the [member _update] declares it has succeeded. +func on_update_succeeded(): + %LabelMainStatus.text = "Updated" + %OptionExitBtn.disabled = false + %OptionExitBtn.visible = true + %OptionRestartGodotBtn.disabled = false + %OptionRestartGodotBtn.visible = true + if animator.is_playing(): + animator.stop() + animator.play("finish_success") + +## Defines what happens when the [member _update] declares it wants the status message to change. +func on_update_status_changed(status_msg : Variant, substatus_msg : Variant): + if status_msg is String: + %LabelMainStatus.text = status_msg + if substatus_msg is String: + %LabelUpdateStatus.text = substatus_msg + +## Defines what happens when the [member _update] declares it has failed. +func on_update_failed(): + %ProgressBar.value = 0 + %LabelMainStatus.text = "Failed" + %OptionExitBtn.disabled = false + %OptionExitBtn.visible = true + %OptionRetryUpdateBtn.disabled = false + %OptionRetryUpdateBtn.visible = true + %OptionRestartGodotBtn.disabled = true + %OptionRestartGodotBtn.visible = false + +func _on_button_focus_entered(button : Button): + if button.has_meta("scale_tween"): + var old_tween = button.get_meta("scale_tween") + old_tween.kill() + button.set_meta("scale_tween", null) + + var tween : Tween = button.create_tween() + tween.tween_property(button, "scale", Vector2(1.2, 1.2), 0.1) + button.set_meta("scale_tween", tween) + +func _on_button_focus_exited(button : Button): + if button.has_meta("scale_tween"): + var old_tween = button.get_meta("scale_tween") + old_tween.kill() + button.set_meta("scale_tween", null) + + var tween : Tween = button.create_tween() + tween.tween_property(button, "scale", Vector2(1.0, 1.0), 0.1).from_current() + button.set_meta("scale_tween", tween) diff --git a/addons/loggie/version_management/update_prompt_window.gd.uid b/addons/loggie/version_management/update_prompt_window.gd.uid new file mode 100644 index 0000000..df14153 --- /dev/null +++ b/addons/loggie/version_management/update_prompt_window.gd.uid @@ -0,0 +1 @@ +uid://b48scbgtjloqx diff --git a/addons/loggie/version_management/update_prompt_window.tscn b/addons/loggie/version_management/update_prompt_window.tscn new file mode 100644 index 0000000..2997221 --- /dev/null +++ b/addons/loggie/version_management/update_prompt_window.tscn @@ -0,0 +1,818 @@ +[gd_scene load_steps=32 format=3 uid="uid://d2eq0khfi3s15"] + +[ext_resource type="Script" path="res://addons/loggie/version_management/update_prompt_window.gd" id="1_xb7je"] +[ext_resource type="Texture2D" uid="uid://cgh6hd3u8nlpj" path="res://addons/loggie/assets/updater_bg.png" id="2_lbawe"] +[ext_resource type="FontFile" uid="uid://e3rpni7mpu0p" path="res://addons/loggie/assets/theme/fonts/coffee_soda.ttf" id="3_a36jf"] +[ext_resource type="FontFile" uid="uid://btuvtbhws7p8s" path="res://addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf" id="4_lnh27"] +[ext_resource type="StyleBox" uid="uid://ckw36egxdynxc" path="res://addons/loggie/assets/theme/loggie_border_box.tres" id="5_avea8"] +[ext_resource type="Texture2D" uid="uid://bfnp2a0sbhi2x" path="res://addons/loggie/assets/theme/checkbox/checkbox_checked.png" id="6_yoxpw"] +[ext_resource type="Texture2D" uid="uid://bib1lwikra5kr" path="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked.png" id="7_xu2hn"] +[ext_resource type="Texture2D" uid="uid://dqf5cye21gyw8" path="res://addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png" id="8_4h2cx"] +[ext_resource type="Texture2D" uid="uid://cloe7vx2ej0nf" path="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png" id="9_51n7f"] +[ext_resource type="Texture2D" uid="uid://2fr6et0qni2y" path="res://addons/loggie/assets/icon.png" id="10_abt8m"] +[ext_resource type="Theme" uid="uid://bntkg3oi4b314" path="res://addons/loggie/assets/theme/loggie_theme.tres" id="11_5uxhl"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3bh8r"] +draw_center = false +border_width_bottom = 4 +border_color = Color(0.86, 0.6794, 0.344, 1) + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rjg43"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bwgrr"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_qbrxo"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3asxb"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_86pfv"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rw12e"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_j1ttd"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3sc8x"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ndum7"] + +[sub_resource type="Gradient" id="Gradient_wnvcb"] +colors = PackedColorArray(0.0311948, 0.0139167, 0.0080977, 1, 0.125625, 0.1125, 0.15, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_k1b6u"] +gradient = SubResource("Gradient_wnvcb") + +[sub_resource type="Gradient" id="Gradient_rkgx7"] +interpolation_mode = 2 +offsets = PackedFloat32Array(0, 0.270059, 1) +colors = PackedColorArray(0.584314, 0.337255, 0.145098, 1, 0.495303, 0.287021, 0.13981, 1, 0.188235, 0.113725, 0.121569, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_p6ad4"] +gradient = SubResource("Gradient_rkgx7") +fill_from = Vector2(0.239316, 0) +fill_to = Vector2(0.303419, 0.876068) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_y40yc"] +bg_color = Color(0.12, 0.0528, 0.09088, 0.556863) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 6 +border_color = Color(0.533576, 0.418125, 0.23421, 1) +border_blend = true +corner_radius_top_left = 11 +corner_radius_top_right = 11 +corner_radius_bottom_right = 11 +corner_radius_bottom_left = 11 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h3ybw"] +bg_color = Color(0.69, 0.49128, 0.2484, 0.486275) +border_width_right = 4 +border_color = Color(0.94, 0.6768, 0.282, 0.541176) +corner_radius_top_left = 18 +corner_radius_top_right = 18 +corner_radius_bottom_right = 18 +corner_radius_bottom_left = 18 + +[sub_resource type="Animation" id="Animation_almc7"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, -673)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("VBoxContainer/OptionButtons/OptionRetryUpdateBtn:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("VBoxContainer/OptionButtons/OptionExitBtn:disabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("VBoxContainer/OptionButtons/OptionRetryUpdateBtn:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("VBoxContainer/OptionButtons/OptionExitBtn:visible") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("%LabelOldVersion:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("%LabelNewVersion:modulate") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("%ProgressBar:modulate") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("VBoxContainer:position") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 532)] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("LoggieIcon:scale") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} + +[sub_resource type="Animation" id="Animation_dewq5"] +resource_name = "finish_success" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%LabelOldVersion:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%LabelNewVersion:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("%ProgressBar:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("VBoxContainer:position") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.466667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 532), Vector2(1, 432)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("LoggieIcon:scale") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.2, 0.3, 0.366667, 0.433333), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1.33, 1), Vector2(1.075, 1.575), Vector2(0.735, 1.465), Vector2(1, 1)] +} + +[sub_resource type="Animation" id="Animation_jm1cu"] +resource_name = "show_update_overview" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.266667, 0.333333), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(0, -673), Vector2(0, 0), Vector2(0, 16), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%ProgressBar:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%LabelOldVersion:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("%LabelNewVersion:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("LoggieIcon:scale") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("VBoxContainer:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 532)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_lwiu5"] +_data = { +"RESET": SubResource("Animation_almc7"), +"finish_success": SubResource("Animation_dewq5"), +"show_update_overview": SubResource("Animation_jm1cu") +} + +[node name="UpdatePromptWindow" type="Panel" node_paths=PackedStringArray("animator")] +anchors_preset = -1 +anchor_right = 0.923 +anchor_bottom = 1.037 +offset_right = -0.296021 +offset_bottom = 0.0239868 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_xb7je") +animator = NodePath("AnimationPlayer") + +[node name="Notice" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Background" type="TextureRect" parent="Notice"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_lbawe") +expand_mode = 1 + +[node name="LabelLatestVersion" type="Label" parent="Notice"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.148 +anchor_top = 0.549 +anchor_right = 0.352 +anchor_bottom = 0.735 +offset_left = 0.414978 +offset_top = 0.115936 +offset_right = -0.122009 +offset_bottom = 0.123932 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_colors/font_color = Color(0.878431, 0.662745, 0.266667, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 18 +theme_override_constants/shadow_outline_size = 3 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 133 +text = "X.Y" + +[node name="LabelCurrentVersion" type="Label" parent="Notice"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.76 +anchor_top = 0.454 +anchor_right = 0.869 +anchor_bottom = 0.571 +offset_left = 0.0449829 +offset_top = 0.18399 +offset_right = 57.004 +offset_bottom = -0.107056 +grow_horizontal = 0 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.784314, 0.619608, 0.317647, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 18 +theme_override_constants/shadow_outline_size = 3 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 73 +text = "X.Y" + +[node name="VBoxContainer" type="VBoxContainer" parent="Notice"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.229 +anchor_top = 0.789 +anchor_right = 0.771 +anchor_bottom = 0.926 +offset_left = 0.0729828 +offset_top = -0.208008 +offset_right = -0.0730591 +offset_bottom = 9.72797 +grow_horizontal = 2 +theme_override_constants/separation = -15 + +[node name="Label" type="Label" parent="Notice/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_colors/font_color = Color(0.872047, 0.774098, 0.671572, 1) +theme_override_constants/outline_size = 7 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 32 +text = "a new version of Loggie is available for download." +horizontal_alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="Notice/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 4 +alignment = 1 + +[node name="NoticeButtons" type="HBoxContainer" parent="Notice/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 6 +theme_override_constants/separation = 51 + +[node name="ReleaseNotesBtn" type="Button" parent="Notice/VBoxContainer/HBoxContainer/NoticeButtons"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme_override_colors/font_disabled_color = Color(0.53, 0.475145, 0.3869, 1) +theme_override_colors/font_hover_pressed_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_hover_color = Color(0.98, 0.67571, 0.1862, 1) +theme_override_colors/font_pressed_color = Color(0.994326, 0.950716, 0.88154, 1) +theme_override_colors/font_focus_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_color = Color(0.980932, 0.843799, 0.621104, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 8 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 43 +theme_override_styles/focus = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_rjg43") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_bwgrr") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_qbrxo") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_3asxb") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_86pfv") +theme_override_styles/hover = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rw12e") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_j1ttd") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_3sc8x") +theme_override_styles/normal = SubResource("StyleBoxEmpty_ndum7") +text = "release notes" + +[node name="UpdateNowBtn" type="Button" parent="Notice/VBoxContainer/HBoxContainer/NoticeButtons"] +unique_name_in_owner = true +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme_override_colors/font_disabled_color = Color(0.53, 0.475145, 0.3869, 1) +theme_override_colors/font_hover_pressed_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_hover_color = Color(0.98, 0.67571, 0.1862, 1) +theme_override_colors/font_pressed_color = Color(0.994326, 0.950716, 0.88154, 1) +theme_override_colors/font_focus_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_color = Color(0.980932, 0.843799, 0.621104, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 8 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 43 +theme_override_styles/focus = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_rjg43") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_bwgrr") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_qbrxo") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_3asxb") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_86pfv") +theme_override_styles/hover = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rw12e") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_j1ttd") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_3sc8x") +theme_override_styles/normal = SubResource("StyleBoxEmpty_ndum7") +text = "update now" + +[node name="RemindLaterBtn" type="Button" parent="Notice/VBoxContainer/HBoxContainer/NoticeButtons"] +unique_name_in_owner = true +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme_override_colors/font_disabled_color = Color(0.53, 0.475145, 0.3869, 1) +theme_override_colors/font_hover_pressed_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_hover_color = Color(0.98, 0.67571, 0.1862, 1) +theme_override_colors/font_pressed_color = Color(0.994326, 0.950716, 0.88154, 1) +theme_override_colors/font_focus_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_color = Color(0.98, 0.49, 0.5635, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 8 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 43 +theme_override_styles/focus = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_rjg43") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_bwgrr") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_qbrxo") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_3asxb") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_86pfv") +theme_override_styles/hover = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rw12e") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_j1ttd") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_3sc8x") +theme_override_styles/normal = SubResource("StyleBoxEmpty_ndum7") +text = "remind later" + +[node name="DontShowAgainCheckbox" type="CheckBox" parent="Notice"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -289.0 +offset_top = 9.0 +offset_right = -20.0 +offset_bottom = 62.0 +grow_horizontal = 0 +mouse_default_cursor_shape = 2 +theme_override_colors/font_hover_color = Color(0.490196, 0.701961, 0.501961, 1) +theme_override_colors/font_focus_color = Color(0.92549, 0.92549, 0.756863, 1) +theme_override_colors/font_color = Color(0.980932, 0.843799, 0.621104, 1) +theme_override_constants/outline_size = 7 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 27 +theme_override_styles/focus = ExtResource("5_avea8") +theme_override_icons/checked = ExtResource("6_yoxpw") +theme_override_icons/unchecked = ExtResource("7_xu2hn") +theme_override_icons/radio_checked = ExtResource("6_yoxpw") +theme_override_icons/radio_unchecked = ExtResource("7_xu2hn") +theme_override_icons/checked_disabled = ExtResource("8_4h2cx") +theme_override_icons/unchecked_disabled = ExtResource("9_51n7f") +theme_override_icons/radio_checked_disabled = ExtResource("8_4h2cx") +theme_override_icons/radio_unchecked_disabled = ExtResource("9_51n7f") +text = "do not show this again" + +[node name="UpdateMonitor" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -673.0 +offset_bottom = -673.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="BackgroundUnder" type="TextureRect" parent="UpdateMonitor"] +modulate = Color(1, 1, 1, 0.811765) +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("GradientTexture1D_k1b6u") + +[node name="BackgroundOver" type="TextureRect" parent="UpdateMonitor"] +modulate = Color(1, 1, 1, 0.752941) +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("GradientTexture2D_p6ad4") + +[node name="ProgressBar" type="ProgressBar" parent="UpdateMonitor"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -448.5 +offset_top = -224.0 +offset_right = 449.5 +offset_bottom = -160.0 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_constants/outline_size = 19 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 31 +theme_override_styles/background = SubResource("StyleBoxFlat_y40yc") +theme_override_styles/fill = SubResource("StyleBoxFlat_h3ybw") + +[node name="LabelMainStatus" type="Label" parent="UpdateMonitor"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -201.0 +offset_top = -13.0 +offset_right = 201.0 +offset_bottom = 63.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.878431, 0.662745, 0.266667, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 14 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 81 +text = "status" +horizontal_alignment = 1 + +[node name="LabelOldVersion" type="Label" parent="UpdateMonitor"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -426.5 +offset_top = 77.0 +offset_right = -24.5 +offset_bottom = 153.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.878431, 0.662745, 0.266667, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 14 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 25 +text = "v_old" + +[node name="LabelNewVersion" type="Label" parent="UpdateMonitor"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 33.5 +offset_top = 76.0 +offset_right = 435.5 +offset_bottom = 152.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.878431, 0.662745, 0.266667, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 14 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 25 +text = "V_NEW" +horizontal_alignment = 2 + +[node name="LoggieIcon" type="TextureRect" parent="UpdateMonitor"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -79.5 +offset_top = -213.0 +offset_right = 80.5 +offset_bottom = -53.0 +grow_horizontal = 2 +grow_vertical = 2 +pivot_offset = Vector2(80, 84) +texture = ExtResource("10_abt8m") + +[node name="VBoxContainer" type="VBoxContainer" parent="UpdateMonitor"] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -140.0 +offset_bottom = 77.0002 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_constants/separation = 5 + +[node name="OptionButtons" type="HBoxContainer" parent="UpdateMonitor/VBoxContainer"] +layout_mode = 2 +theme_override_constants/separation = 24 +alignment = 1 + +[node name="OptionRetryUpdateBtn" type="Button" parent="UpdateMonitor/VBoxContainer/OptionButtons"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme = ExtResource("11_5uxhl") +disabled = true +text = "Retry" + +[node name="OptionRestartGodotBtn" type="Button" parent="UpdateMonitor/VBoxContainer/OptionButtons"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme = ExtResource("11_5uxhl") +disabled = true +text = "Reload Godot" + +[node name="OptionExitBtn" type="Button" parent="UpdateMonitor/VBoxContainer/OptionButtons"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme = ExtResource("11_5uxhl") +theme_override_colors/font_color = Color(0.980919, 0.500031, 0.570874, 1) +theme_override_colors/font_outline_color = Color(0.224555, 0.120107, 0.0255992, 1) +theme_override_constants/outline_size = 8 +disabled = true +text = "Exit" + +[node name="LabelUpdateStatus" type="Label" parent="UpdateMonitor/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme = ExtResource("11_5uxhl") +theme_override_font_sizes/font_size = 20 +text = "UPDATE_STATUS_DETAILED" +horizontal_alignment = 1 +autowrap_mode = 2 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +unique_name_in_owner = true +root_node = NodePath("../UpdateMonitor") +libraries = { +"": SubResource("AnimationLibrary_lwiu5") +} diff --git a/addons/uuid/plugin.cfg b/addons/uuid/plugin.cfg new file mode 100644 index 0000000..b2a1c89 --- /dev/null +++ b/addons/uuid/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="godot-uuid" +description="Unique identifier generation v4 for Godot Engine" +author="Binogure Studio" +version="3.0.0" +script="plugin.gd" diff --git a/addons/uuid/uuid.gd b/addons/uuid/uuid.gd new file mode 100644 index 0000000..c5f46bc --- /dev/null +++ b/addons/uuid/uuid.gd @@ -0,0 +1,112 @@ +# Note: The code might not be as pretty it could be, since it's written +# in a way that maximizes performance. Methods are inlined and loops are avoided. +class_name UUID + +const BYTE_MASK: int = 0b11111111 + +static func uuidbin(): + # 16 random bytes with the bytes on index 6 and 8 modified + return [ + randi() & BYTE_MASK, randi() & BYTE_MASK, randi() & BYTE_MASK, randi() & BYTE_MASK, + randi() & BYTE_MASK, randi() & BYTE_MASK, ((randi() & BYTE_MASK) & 0x0f) | 0x40, randi() & BYTE_MASK, + ((randi() & BYTE_MASK) & 0x3f) | 0x80, randi() & BYTE_MASK, randi() & BYTE_MASK, randi() & BYTE_MASK, + randi() & BYTE_MASK, randi() & BYTE_MASK, randi() & BYTE_MASK, randi() & BYTE_MASK, + ] + +static func uuidbinrng(rng: RandomNumberGenerator): + return [ + rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, + rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, ((rng.randi() & BYTE_MASK) & 0x0f) | 0x40, rng.randi() & BYTE_MASK, + ((rng.randi() & BYTE_MASK) & 0x3f) | 0x80, rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, + rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, rng.randi() & BYTE_MASK, + ] + +static func v4(): + # 16 random bytes with the bytes on index 6 and 8 modified + var b = uuidbin() + return '%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x' % [ + # low + b[0], b[1], b[2], b[3], + + # mid + b[4], b[5], + + # hi + b[6], b[7], + + # clock + b[8], b[9], + + # clock + b[10], b[11], b[12], b[13], b[14], b[15] + ] + +static func v4_rng(rng: RandomNumberGenerator): + # 16 random bytes with the bytes on index 6 and 8 modified + var b = uuidbinrng(rng) + + return '%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x' % [ + # low + b[0], b[1], b[2], b[3], + + # mid + b[4], b[5], + + # hi + b[6], b[7], + + # clock + b[8], b[9], + + # clock + b[10], b[11], b[12], b[13], b[14], b[15] + ] + +var _uuid: Array + +func _init(rng := RandomNumberGenerator.new()): + _uuid = uuidbinrng(rng) + +func as_array(): + return _uuid.duplicate() + +func as_dict(big_endian := true): + if big_endian: + return { + "low" : (_uuid[0] << 24) + (_uuid[1] << 16) + (_uuid[2] << 8 ) + _uuid[3], + "mid" : (_uuid[4] << 8 ) + _uuid[5], + "hi" : (_uuid[6] << 8 ) + _uuid[7], + "clock": (_uuid[8] << 8 ) + _uuid[9], + "node" : (_uuid[10] << 40) + (_uuid[11] << 32) + (_uuid[12] << 24) + (_uuid[13] << 16) + (_uuid[14] << 8 ) + _uuid[15] + } + else: + return { + "low" : _uuid[0] + (_uuid[1] << 8 ) + (_uuid[2] << 16) + (_uuid[3] << 24), + "mid" : _uuid[4] + (_uuid[5] << 8 ), + "hi" : _uuid[6] + (_uuid[7] << 8 ), + "clock": _uuid[8] + (_uuid[9] << 8 ), + "node" : _uuid[10] + (_uuid[11] << 8 ) + (_uuid[12] << 16) + (_uuid[13] << 24) + (_uuid[14] << 32) + (_uuid[15] << 40) + } + +func as_string(): + return '%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x' % [ + # low + _uuid[0], _uuid[1], _uuid[2], _uuid[3], + + # mid + _uuid[4], _uuid[5], + + # hi + _uuid[6], _uuid[7], + + # clock + _uuid[8], _uuid[9], + + # node + _uuid[10], _uuid[11], _uuid[12], _uuid[13], _uuid[14], _uuid[15] + ] + +func is_equal(other): + # Godot Engine compares Array recursively + # There's no need for custom comparison here. + return _uuid == other._uuid diff --git a/addons/uuid/uuid.gd.uid b/addons/uuid/uuid.gd.uid new file mode 100644 index 0000000..2200a89 --- /dev/null +++ b/addons/uuid/uuid.gd.uid @@ -0,0 +1 @@ +uid://c1glfr88ctjm8 diff --git a/axis/Axis.tscn b/axis/Axis.tscn new file mode 100644 index 0000000..e9aef2c --- /dev/null +++ b/axis/Axis.tscn @@ -0,0 +1,31 @@ +[gd_scene format=3 uid="uid://6e8umqqix2x7"] + +[ext_resource type="Script" uid="uid://b33y7nr7qmp16" path="res://axis/AxisNode.gd" id="1_7q3wq"] + +[sub_resource type="CylinderMesh" id="CylinderMesh_mchpo"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mchpo"] +albedo_color = Color(1, 0, 0, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qksar"] +albedo_color = Color(0, 1, 0, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ug0go"] +albedo_color = Color(0, 0, 1, 1) + +[node name="Axis" type="Node3D" unique_id=2131743502] +script = ExtResource("1_7q3wq") +metadata/_custom_type_script = "uid://b33y7nr7qmp16" + +[node name="x_axis" type="MeshInstance3D" parent="." unique_id=1811969245] +transform = Transform3D(-4.371139e-08, -0.5, 0, 1, -2.1855694e-08, 0, 0, 0, 1, 0.5, 0, 0) +mesh = SubResource("CylinderMesh_mchpo") +surface_material_override/0 = SubResource("StandardMaterial3D_mchpo") + +[node name="y_axis" type="MeshInstance3D" parent="." unique_id=1497480348] +mesh = SubResource("CylinderMesh_mchpo") +surface_material_override/0 = SubResource("StandardMaterial3D_qksar") + +[node name="z_axis" type="MeshInstance3D" parent="." unique_id=905154710] +mesh = SubResource("CylinderMesh_mchpo") +surface_material_override/0 = SubResource("StandardMaterial3D_ug0go") diff --git a/axis/AxisNode.gd b/axis/AxisNode.gd new file mode 100644 index 0000000..2bb0b76 --- /dev/null +++ b/axis/AxisNode.gd @@ -0,0 +1,40 @@ +extends Node3D +class_name AxisNode + + +var axis_length: float = 1. + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + _setup_axis() + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + +func _setup_axis(): + var x_basis = Vector3(1, 0, 0) + var y_basis = Vector3(0, 1, 0) + var z_basis = Vector3(0, 0, 1) + var x_node: MeshInstance3D = get_node("x_axis") + x_node.scale = Vector3(0.1, axis_length/2, 0.1) + x_node.quaternion = _get_quaternion_rotation(Vector3(0,1,0), x_basis) + x_node.position = Vector3(axis_length/2, 0, 0) + var y_node = get_node("y_axis") + y_node.scale = Vector3(0.1, axis_length/2, 0.1) + y_node.quaternion = _get_quaternion_rotation(Vector3(0,1,0), y_basis) + y_node.position = Vector3(0, axis_length/2, 0) + var z_node = get_node("z_axis") + z_node.scale = Vector3(0.1, axis_length/2, 0.1) + z_node.quaternion = _get_quaternion_rotation(Vector3(0,1,0), z_basis) + z_node.position = Vector3(0, 0, axis_length/2) + +func _get_quaternion_rotation(start_vector: Vector3, end_vector: Vector3): + var rot_axis: Vector3 = end_vector.cross(start_vector).normalized() + if rot_axis.length_squared() == 0.: + return Quaternion.IDENTITY + var rot_angle: float = end_vector.angle_to(start_vector) + var quat = Quaternion(rot_axis, rot_angle).normalized() + return quat diff --git a/axis/AxisNode.gd.uid b/axis/AxisNode.gd.uid new file mode 100644 index 0000000..8a37fdf --- /dev/null +++ b/axis/AxisNode.gd.uid @@ -0,0 +1 @@ +uid://b33y7nr7qmp16 diff --git a/bisect.gd b/bisect.gd new file mode 100644 index 0000000..2113fd4 --- /dev/null +++ b/bisect.gd @@ -0,0 +1,44 @@ +extends Node + + +func insort_right(a: Array, x, lo: int = 0, hi=null): + lo = bisect_right(a, x, lo, hi) + a.insert(lo, x) + +func bisect_right(a: Array, x, lo: int = 0, hi=null): + if lo < 0: + return + if hi == null: + hi = a.size() + var mid: int = 0 + while lo < hi: + mid = (lo + hi) / 2 + if x < a[mid]: + hi = mid + else: + lo = mid + 1 + return lo + +func insort_left(a: Array, x, lo:int = 0, hi=null): + lo = bisect_left(a, x, lo, hi) + a.insert(lo, x) + +func bisect_left(a: Array, x, lo:int = 0, hi=null): + if lo < 0: + return + if hi == null: + hi = a.size() + var mid: int = 0 + while lo < hi: + mid = (lo + hi) / 2 + if a[mid] < x: + lo = mid + 1 + else: + hi = mid + return lo + +func bisect(a: Array, x, lo: int = 0, hi=null): + return bisect_right(a, x, lo, hi) + +func insort(a: Array, x, lo: int = 0, hi=null): + return insort_right(a, x, lo, hi) diff --git a/bisect.gd.uid b/bisect.gd.uid new file mode 100644 index 0000000..27e4137 --- /dev/null +++ b/bisect.gd.uid @@ -0,0 +1 @@ +uid://crwgaltrjx4ff diff --git a/camera_3d.gd b/camera_3d.gd new file mode 100644 index 0000000..b1cb657 --- /dev/null +++ b/camera_3d.gd @@ -0,0 +1,15 @@ +extends Camera3D + + +var signals: SignalsNode + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + signals = get_node("/root/Main/Signals") + signals.position_updated.connect(_on_position_updated) + +func _on_position_updated(sensor_ip: String, physics_position): + return + print(physics_position) + look_at(Vector3(physics_position.x, physics_position.y, physics_position.z)) diff --git a/camera_3d.gd.uid b/camera_3d.gd.uid new file mode 100644 index 0000000..dd00fff --- /dev/null +++ b/camera_3d.gd.uid @@ -0,0 +1 @@ +uid://cpn54wjv04coo diff --git a/cryptography/test.gd b/cryptography/test.gd new file mode 100644 index 0000000..3f26420 --- /dev/null +++ b/cryptography/test.gd @@ -0,0 +1,37 @@ +extends Node + +var computer_a = { + "crypto": Crypto.new(), + "private_key": null, + "peer_public_key": null, +} + +var computer_b = { + "crypto": Crypto.new(), + "private_key": null, + "peer_public_key": null, +} + +""" + +""" + +func _ready() -> void: + computer_a["private_key"] = computer_a["crypto"].generate_rsa(2048) + computer_b["private_key"] = computer_b["crypto"].generate_rsa(2048) + var a_pub_key: String = computer_a["private_key"].save_to_string(true) + print(len(a_pub_key)) + var b_pub_key = computer_b["private_key"].save_to_string(true) + + var key_a = CryptoKey.new() + key_a.load_from_string(b_pub_key, true) + var key_b = CryptoKey.new() + key_b.load_from_string(a_pub_key, true) + + computer_a["peer_public_key"] = key_a + computer_b["peer_public_key"] = key_b + + var encrypted: PackedByteArray = computer_a["crypto"].encrypt(computer_a["peer_public_key"], "This is a test".to_utf8_buffer()) + var decrypted = computer_b["crypto"].decrypt(computer_b["private_key"], encrypted).get_string_from_utf8() + print(encrypted) + print(decrypted) diff --git a/cryptography/test.gd.uid b/cryptography/test.gd.uid new file mode 100644 index 0000000..ad3d998 --- /dev/null +++ b/cryptography/test.gd.uid @@ -0,0 +1 @@ +uid://cinuxr6vprqf diff --git a/cryptography/test.tscn b/cryptography/test.tscn new file mode 100644 index 0000000..c89f310 --- /dev/null +++ b/cryptography/test.tscn @@ -0,0 +1,6 @@ +[gd_scene format=3 uid="uid://c1xdc0ckp7c1w"] + +[ext_resource type="Script" uid="uid://cinuxr6vprqf" path="res://cryptography/test.gd" id="1_8fnwx"] + +[node name="Test" type="Node2D" unique_id=2147367880] +script = ExtResource("1_8fnwx") diff --git a/drag_container.gd b/drag_container.gd new file mode 100644 index 0000000..8a3165a --- /dev/null +++ b/drag_container.gd @@ -0,0 +1,24 @@ +extends PanelContainer + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + + +func _get_drag_data(drag_position: Vector2): + print('get drag data') + return drag_position + +func _can_drop_data(drop_position, data): + print('can drop data') + return typeof(data) == TYPE_VECTOR2 + +func _drop_data(drop_position, data): + print('drop data') + position = position + (drop_position - data) diff --git a/drag_container.gd.uid b/drag_container.gd.uid new file mode 100644 index 0000000..9bf7325 --- /dev/null +++ b/drag_container.gd.uid @@ -0,0 +1 @@ +uid://bqsvd6honqygc diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..e4f1a6a --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,49 @@ +[runnable_presets] + +Linux="Linux" + +[preset.0] + +name="Linux" +platform="Linux" +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../Documents/network_sensor.arm64" +patches=PackedStringArray() +patch_delta_encoding=false +patch_delta_compression_level_zstd=19 +patch_delta_min_reduction=0.1 +patch_delta_include_filters="*" +patch_delta_exclude_filters="" +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=true +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false +shader_baker/enabled=false +binary_format/architecture="arm64" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +export DISPLAY=:0 +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +\"{temp_dir}/{exe_name}\" {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +pkill -x -f \"{temp_dir}/{exe_name} {cmd_args}\" +rm -rf \"{temp_dir}\"" diff --git a/gitignore.txt b/gitignore.txt new file mode 100644 index 0000000..9cb1848 --- /dev/null +++ b/gitignore.txt @@ -0,0 +1,14 @@ +# OS +.DS_Store +Thumbs.db + +# Godot-specific ignores +.import +.mono +data_*/ +.godot/ +export.cfg +export_presets.cfg + +# Imported translations (automatically generated from CSV files) +*.translation \ No newline at end of file diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..c6bbb7d --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..26e7133 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfnyeume82p38" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/map_viewer.gd b/map_viewer.gd new file mode 100644 index 0000000..294ed44 --- /dev/null +++ b/map_viewer.gd @@ -0,0 +1,454 @@ +class_name MapViewer extends Control + +const TILE_WIDTH:float = 256.0 +const TILE_HEIGHT:float = 256.0 + +const MIN_ZOOM:float = 0.1 +const MAX_ZOOM:float = 25.0 + +@export +var base_url:String = 'https://tile.openstreetmap.org/{z}/{x}/{y}.png': + set(v): + if base_url != v: + base_url = v + _clean_all() + queue_redraw() + +@export_range(1,1000,1) +var max_concurrent_requests:int = 5 + +@export_range(100,100000,1) +var max_cached_tiles:int = 200 + +@export_range(0,25,1) +var max_zoom_level:int = 21 + +var _xyz:Vector3 = Vector3(0,0,2.5) +var _cache:Dictionary = {} +var _queue:Dictionary = {} +var _error:Dictionary = {} +var _dragging:bool = false +var _drag_pos:Vector2 = Vector2.ZERO +var _last_error_check:int = 0 +var _last_cache_check:int = 0 +var _rollover:bool = false +var _cursor:Vector2 = Vector2.ZERO + +func _ready(): + + # on mouse enter + connect('mouse_entered', func(): + _rollover = true + queue_redraw() + ) + + # on mouse exit + connect('mouse_exited', func(): + _rollover = false + queue_redraw() + ) + +func _input(e): + if Engine.is_editor_hint(): + return + + if e is InputEventMouseButton: + if e.pressed and _rollover: + if e.button_index == MOUSE_BUTTON_WHEEL_DOWN: + apply_zoom(0.95, get_local_mouse_position()) + elif e.button_index == MOUSE_BUTTON_WHEEL_UP: + apply_zoom(1.05, get_local_mouse_position()) + + if e.button_index == MOUSE_BUTTON_LEFT: + if e.pressed and _rollover: + _dragging = true + var lmp = get_local_mouse_position() + _drag_pos = screen_to_world(lmp.x, lmp.y) + else: + _dragging = false + + elif e is InputEventMouseMotion: + _cursor = get_local_mouse_position() + + if _dragging: + var lmp = get_local_mouse_position() + var wp = screen_to_world(lmp.x, lmp.y) + var diff = _drag_pos - wp + _xyz.x += diff.x + _xyz.y += diff.y + + queue_redraw() + +func apply_zoom(multiplier: float, pivot: Vector2): + var p1 = screen_to_world(pivot.x, pivot.y) + _xyz.z = max(min(_xyz.z*multiplier, MAX_ZOOM),MIN_ZOOM) + var p2 = screen_to_world(pivot.x, pivot.y) + _xyz.x -= p2.x-p1.x + _xyz.y -= p2.y-p1.y + queue_redraw() + +func _draw(): + + # clear background + draw_rect(Rect2(Vector2.ZERO,size), Color('#ffffff'), true) + + # draw zoomlevel 0 + _draw_tile(0,0,0) + + # draw zoomlevel 1 + _draw_tile(0,0,1) + _draw_tile(1,0,1) + _draw_tile(0,1,1) + _draw_tile(1,1,1) + + # draw all other zoomlevels + if _xyz.z >= 1: + var z = min(max_zoom_level, _xyz.z) + var t1 = screen_to_tile(0, 0, z, true) + var t2 = screen_to_tile(size.x, size.y, z, true) + for tx in range(t1.x,t2.x+1): + for ty in range(t1.y,t2.y+1): + _draw_tile(tx,ty,z) + + # draw cursor + var font = Label.new().get_theme_font('') + var ll = screen_to_lonlat(_cursor.x,_cursor.y) + var text = lonlat_to_dms(ll.x, ll.y) + draw_string(font, _cursor+Vector2(10,12), text, HORIZONTAL_ALIGNMENT_CENTER, -1, 12, Color.RED) + +func _clean_all(): + _queue.clear() + _cache.clear() + _error.clear() + for c in get_children(): + remove_child(c) + +# get the tile from queue with the newest timestamp +func get_next_in_queue(): + if _queue.is_empty(): + return null + var tile = null + for idx in _queue: + var t = _queue.get(idx) + if not tile or t.t > tile.t: + tile = t + return tile + +# delete oldest tiles from cache +func _clean_cache(): + var overflow = _cache.size() - max_cached_tiles + if overflow <= 0: + return + + var list = _cache.values() + list.sort_custom(func(t1,t2): + return t1.t < t2.t + ) + for i in range(overflow): + var t = list[i] + _cache.erase(t.i) + +func _clean_errors(): + var now = Time.get_unix_time_from_system() + var keys = _error.keys() + for idx in keys: + var t = _error.get(idx) + var d = now - t.t + if d > 10: + _error.erase(t.i) + +func _process(delta): + + var now = Time.get_unix_time_from_system() + + # reset tile errors + if not _last_error_check or now - _last_error_check > 10: + _last_error_check = now + _clean_errors() + + # if cache is overflowing - clean it + if not _last_cache_check or now - _last_cache_check > 5: + _last_cache_check = now + _clean_cache() + + # if queue contains items - and new requests can be made + while not _queue.is_empty() and get_child_count() < max_concurrent_requests: + var tile = get_next_in_queue() + if not tile: + return + + var req = HTTPRequest.new() + req.set_meta('tile', tile) + add_child(req) + req.name = str(tile.i) + req.request_completed.connect(_response.bind(req,tile)) + req.use_threads = true + _queue.erase(tile.i) + if req.request(tile.url) != OK: + tile.t = Time.get_unix_time_from_system() + _error[tile.i] = tile + remove_child(req) + +# result, response_code, headers, body +func _response(result,code,headers,body,req,tile): + + remove_child(req) + + if code == 404: + prints('File not found') + tile.t = Time.get_unix_time_from_system() + _error[tile.i] = tile + return + + # get the image type from the reponse header + var h = ''.join(headers) + var type = '' + if h.contains('image/png'): type = 'png' + elif h.contains('image/jpg'): type = 'jpg' + elif h.contains('image/jpeg'): type = 'jpg' + elif h.contains('image/bmp'): type = 'bmp' + elif h.contains('image/tga'): type = 'tga' + elif h.contains('image/webp'): type = 'webp' + + # unrecognized image type + if not type: + prints('Unrecognized image type') + tile.t = Time.get_unix_time_from_system() + _error[tile.i] = tile + return + + # construct image from response body + var image = Image.new() + var error = OK + if type == 'png': error = image.load_png_from_buffer(body) + elif type == 'jpg': error = image.load_jpg_from_buffer(body) + elif type == 'bmp': error = image.load_bmp_from_buffer(body) + elif type == 'tga': error = image.load_tga_from_buffer(body) + elif type == 'webp': error = image.load_webp_from_buffer(body) + if error != OK: + prints('Could not load the '+type+' image') + tile.t = Time.get_unix_time_from_system() + _error[tile.i] = tile + return + + # create texture from image and add it to the cache + var texture = ImageTexture.create_from_image(image) + tile.texture = texture + _cache[tile.i] = tile + + # redraw the map + queue_redraw() + +func _draw_subtile(tx:int, ty:int, tz:int, origx:int, origy:int, origz:float) -> bool: + var subtile = get_tile(tx, ty, tz) + if not subtile: + return false + + var p1 = tile_to_screen(origx,origy, origz) + var p2 = tile_to_screen(origx+1, origy+1, origz) + var x1 = tile_to_screen(tx,ty, tz) + var x2 = tile_to_screen(tx+1, ty+1, tz) + + var xdiff = x2.x - x1.x + var xrat1 = (p1.x - x1.x) / xdiff + var xrat2 = (p2.x - x1.x) / xdiff + var xwidth = xrat2-xrat1 + + var ydiff = x2.y - x1.y + var yrat1 = (p1.y - x1.y) / ydiff + var yrat2 = (p2.y - x1.y) / ydiff + var yheight = yrat2-yrat1 + + var rect = Rect2(xrat1*TILE_WIDTH, yrat1*TILE_HEIGHT,xwidth*TILE_WIDTH, yheight*TILE_HEIGHT) + if subtile.texture: + draw_texture_rect_region(subtile.texture, Rect2(p1, p2-p1), rect) + return true + return false + +func _draw_tile(tx:int, ty:int, z:float): + + var tz = floor(z) + var p1 = tile_to_screen(tx,ty, z) + var p2 = tile_to_screen(tx+1, ty+1, z) + var p3 = p1 + (p2-p1) / 2 + + var tile = get_tile(tx,ty,tz) + if tile: + if tile.texture: + draw_texture_rect(tile.texture, Rect2(p1, p2-p1), false, Color.WHITE, false) + else: + var zzz = tz + var txx = tx + var tyy = ty + while zzz > 1: + zzz -= 1 + txx = floor(txx/2) + tyy = floor(tyy/2) + if _draw_subtile(txx, tyy, zzz, tx,ty,z): + break + +## convert lon/lat to world coords +func lonlat_to_world(lon:float, lat:float) -> Vector2: + var x = lon / 180.0 + var latsin = sin(deg_to_rad(lat) * sign(lat)) + var y = (sign(lat) * (log((1.0+latsin) / (1.0-latsin)) / 2.0)) / PI + return Vector2(x,y) + +## convert lon/lat to screen coords +func lonlat_to_screen(lon:float, lat:float) -> Vector2: + var w = lonlat_to_world(lon,lat) + return world_to_screen(w.x,w.y) + +## convert lon/lat to tile coords +func lonlat_to_tile(lon:float, lat:float, z:float, do_floor:bool=false) -> Vector2: + var w = lonlat_to_world(lon,lat) + return world_to_tile(w.x, w.y, z, do_floor) + +## convert world coords to lon/lat +func world_to_lonlat(wx:float, wy:float) -> Vector2: + var lon = wx * 180.0 + var lat = rad_to_deg(atan(sinh(wy * PI))) + return Vector2(lon,lat) + +## convert screen coords to lon/lat +func screen_to_lonlat(sx:float, sy:float) -> Vector2: + var w = screen_to_world(sx,sy) + return world_to_lonlat(w.x, w.y) + +## convert tile coords to lon/lat +func tile_to_lonlat(tx:float, ty:float, tz:float) -> Vector2: + var w = tile_to_world(tx, ty, tz) + return world_to_lonlat(w.x, w.y) + +## convert screen coords to world coords +func screen_to_world(sx:float, sy:float) -> Vector2: + var n = pow(2.0, _xyz.z) + var span_w = n * TILE_WIDTH + var span_h = n * TILE_HEIGHT + var px = sx - size.x/2 + span_w/2 + var py = sy - size.y/2 + span_h/2 + var xr = px / span_w + var yr = py / span_h + var x = (xr*2.0-1.0) + _xyz.x + var y = ((-yr*2.0)+1.0) + _xyz.y + return Vector2(x,y) + +## convert screen coords to tile coords +func screen_to_tile(sx:float, sy:float, z:float, do_floor:bool=false) -> Vector2: + var world = screen_to_world(sx,sy) + return world_to_tile(world.x, world.y, z, do_floor) + +## convert tile coords to screen coords +func tile_to_screen(tx:float, ty:float, tz:float) -> Vector2: + var w = tile_to_world(tx, ty, tz) + return world_to_screen(w.x, w.y) + +## convert tile coords to world coords +func tile_to_world(tx:float, ty:float, tz:float) -> Vector2: + var n = pow(2.0, floor(tz)) + var x = (tx / n) * 2.0 - 1.0 + var y = -((ty / n) * 2.0 - 1.0) + return Vector2(x,y) + +## convert world coords to tile coords +func world_to_tile(wx:float, wy:float, z:float, do_floor:bool=false) -> Vector2: + var n = pow(2.0, floor(z)) + var tx = ((wx+1.0) / 2.0) * n + var ty = ((-wy + 1.0) / 2.0) * n + if do_floor: + tx = floor(tx) + ty = floor(ty) + return Vector2(tx,ty) + +## convert world coords to screen coords +func world_to_screen(wx:float, wy:float) -> Vector2: + var n = pow(2.0, _xyz.z) + var w = n * TILE_WIDTH + var h = n * TILE_HEIGHT + var xr = (((wx-_xyz.x)+1.0)/2.0) + var yr = ((-(wy-_xyz.y)+1.0)/2.0) + var x = w * xr - w/2 + size.x/2 + var y = h * yr - h/2 + size.y/2 + return Vector2(x,y) + +## get the tile index from xyz tile coords +func xyz_to_idx(x:int, y:int, z:int)->int: + var i = (pow(4,z)-1) / 3 + var n = pow(2,z) + return i + (y * n + x) + +func get_tile(x:int, y:int, z:int, create:bool=true)->Tile: + + # out of bounds + var n = pow(2, z) + if z < 0 or x < 0 or x >= n or y < 0 or y >= n: + return null + + # get tile index + var idx = xyz_to_idx(x,y,z) + var now = Time.get_unix_time_from_system() + var tile = null + + # retrieve from error queue + tile = _error.get(idx) + if tile: + return tile + + # retrieve from current requests... + var req = find_child(str(idx), false, false) + if req: + tile = req.get_meta('tile') + tile.t = now + return tile + + # retrieve from cache + tile = _cache.get(idx) + if tile: + tile.t = now + return tile + + # retrieve from queue + tile = _queue.get(idx) + if tile: + tile.t = now + return tile + + # create a new tile - add it to queue + if create: + tile = Tile.new(idx,x,y,z) + tile.url = base_url.replace('{x}',str(x)).replace('{y}', str(y)).replace('{z}', str(z)) + tile.t = now + _queue[idx] = tile + return tile + +func lonlat_to_dms(lon:float, lat:float) -> String: + var pf = 'N' if lat >= 0 else 'S' + lat = abs(lat) + var deg = floor(lat) + var minute = (lat - deg) * 60 + var second = (minute - floor(minute)) * 60 + var text = ('%02d'%deg)+('%02d'%floor(minute))+('%02d'%floor(second))+(pf)+(' ') + + pf = 'E' if lon >= 0 else 'W' + lon = abs(lon) + deg = floor(lon) + minute = (lon - deg) * 60 + second = (minute - floor(minute)) * 60 + text += ('%02d'%deg)+('%02d'%floor(minute))+('%02d'%floor(second))+(pf) + + return text + +class Tile: + var i:int = 0 + var x:int = 0 + var y:int = 0 + var z:int = 0 + var t:int = 0 + var url:String = '' + var texture:Texture2D = null + + func _init(i:int, x:int, y:int, z:int): + self.i = i + self.x = x + self.y = y + self.z = z diff --git a/map_viewer.gd.uid b/map_viewer.gd.uid new file mode 100644 index 0000000..ec77838 --- /dev/null +++ b/map_viewer.gd.uid @@ -0,0 +1 @@ +uid://ba2mpftq0816s diff --git a/menus/display_settings/display_settings.tscn b/menus/display_settings/display_settings.tscn new file mode 100644 index 0000000..8a8a81f --- /dev/null +++ b/menus/display_settings/display_settings.tscn @@ -0,0 +1,10 @@ +[gd_scene format=3 uid="uid://vmidl7iyrccl"] + +[ext_resource type="Script" uid="uid://bkuqj2wtyqkjx" path="res://menus/display_settings/display_settings_node.gd" id="1_f476r"] +[ext_resource type="PackedScene" uid="uid://b55tkiwybe2m7" path="res://menus/display_settings/shape_settings.tscn" id="2_0xivn"] + +[node name="DisplaySettings" type="Node2D" unique_id=1870712361] +script = ExtResource("1_f476r") +metadata/_custom_type_script = "uid://bkuqj2wtyqkjx" + +[node name="ShapeSettings" parent="." unique_id=1568036432 instance=ExtResource("2_0xivn")] diff --git a/menus/display_settings/display_settings_node.gd b/menus/display_settings/display_settings_node.gd new file mode 100644 index 0000000..69a36e1 --- /dev/null +++ b/menus/display_settings/display_settings_node.gd @@ -0,0 +1,16 @@ +extends Node2D +class_name DisplaySettingsNode + +var window_size: Vector2i +var window_center: Vector2i + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + window_size = DisplayServer.window_get_size() + window_center = Vector2i(window_size.x/2, window_size.y/2) + position = window_center + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/menus/display_settings/display_settings_node.gd.uid b/menus/display_settings/display_settings_node.gd.uid new file mode 100644 index 0000000..d45440c --- /dev/null +++ b/menus/display_settings/display_settings_node.gd.uid @@ -0,0 +1 @@ +uid://bkuqj2wtyqkjx diff --git a/menus/display_settings/shape_render.gd b/menus/display_settings/shape_render.gd new file mode 100644 index 0000000..70569f6 --- /dev/null +++ b/menus/display_settings/shape_render.gd @@ -0,0 +1,37 @@ + +extends Polygon2D + +var num_circle_points: int = 100 +var circle_radius: float = 100. + +var window_size: Vector2i +var window_center: Vector2i + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + window_size = DisplayServer.window_get_size() + window_center = Vector2i(window_size.x/2, window_size.y/2) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + + +func _on_option_button_item_selected(index: int) -> void: + if index == 0: + # circle + _generate_circle_points() + elif index == 1: + # rectangle + pass + +func _generate_circle_points(): + var new_polygon = [] + for i in range(num_circle_points-1): + var rot_angle: float = 2.*PI * ((i+1) / float(num_circle_points)) + var x = circle_radius * cos(rot_angle) + var y = circle_radius * sin(rot_angle) + new_polygon.append(Vector2(x, y)) + polygon = PackedVector2Array(new_polygon) + diff --git a/menus/display_settings/shape_render.gd.uid b/menus/display_settings/shape_render.gd.uid new file mode 100644 index 0000000..aa60ef3 --- /dev/null +++ b/menus/display_settings/shape_render.gd.uid @@ -0,0 +1 @@ +uid://y4ip1k68kcs7 diff --git a/menus/display_settings/shape_settings.tscn b/menus/display_settings/shape_settings.tscn new file mode 100644 index 0000000..7c15c6f --- /dev/null +++ b/menus/display_settings/shape_settings.tscn @@ -0,0 +1,44 @@ +[gd_scene format=3 uid="uid://b55tkiwybe2m7"] + +[ext_resource type="Script" uid="uid://bymmfukcuf4ud" path="res://menus/display_settings/shape_settings_panel.gd" id="1_2lsof"] +[ext_resource type="Script" uid="uid://y4ip1k68kcs7" path="res://menus/display_settings/shape_render.gd" id="2_wjy8x"] + +[node name="ShapeSettings" type="Control" unique_id=1568036432] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Panel" type="Panel" parent="." unique_id=1960042247] +layout_mode = 0 +offset_right = 315.0 +offset_bottom = 40.0 +script = ExtResource("1_2lsof") + +[node name="Label" type="Label" parent="Panel" unique_id=116013553] +layout_mode = 0 +offset_left = 4.0 +offset_top = 8.0 +offset_right = 112.0 +offset_bottom = 32.0 +text = "Display Shape" + +[node name="OptionButton" type="OptionButton" parent="Panel" unique_id=715446751] +layout_mode = 0 +offset_left = 186.0 +offset_top = 4.0 +offset_right = 311.0 +offset_bottom = 36.0 +item_count = 2 +popup/item_0/text = "Circular" +popup/item_0/id = 0 +popup/item_1/text = "Rectangular" +popup/item_1/id = 1 + +[node name="Polygon2D" type="Polygon2D" parent="." unique_id=2092896646] +invert_border = 10.0 +script = ExtResource("2_wjy8x") + +[connection signal="item_selected" from="Panel/OptionButton" to="Polygon2D" method="_on_option_button_item_selected"] diff --git a/menus/display_settings/shape_settings_panel.gd b/menus/display_settings/shape_settings_panel.gd new file mode 100644 index 0000000..64c6dd6 --- /dev/null +++ b/menus/display_settings/shape_settings_panel.gd @@ -0,0 +1,10 @@ +extends Panel + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + position = Vector2(-size.x/2, -size.y/2) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/menus/display_settings/shape_settings_panel.gd.uid b/menus/display_settings/shape_settings_panel.gd.uid new file mode 100644 index 0000000..b530c7e --- /dev/null +++ b/menus/display_settings/shape_settings_panel.gd.uid @@ -0,0 +1 @@ +uid://bymmfukcuf4ud diff --git a/networking/scripts/udp_broadcast.gd b/networking/scripts/udp_broadcast.gd new file mode 100644 index 0000000..a7b9b00 --- /dev/null +++ b/networking/scripts/udp_broadcast.gd @@ -0,0 +1,42 @@ +# client_node.gd +class_name ClientNode +extends Node + +var udp = PacketPeerUDP.new() +var connected = false + +var fast_broadcast_rate = 1.0 +var slow_broadcast_rate = 10.0 +var current_broadcast_rate = fast_broadcast_rate +var last_broadcast = 0 + +var ip_address: String = "" + +func _ready(): + _try_set_ip() + udp.set_broadcast_enabled(true) + udp.set_dest_address("192.168.0.255", 5000) + SensorSignals.new_sensor_connected.connect(_on_sensor_connected) + +func _process(delta): + if ip_address.length() == 0: + _try_set_ip() + return + last_broadcast += delta + if last_broadcast >= current_broadcast_rate: + # Try to contact server + last_broadcast = 0 + var broadcast_str = ip_address + "|%s" % Time.get_datetime_string_from_system(true) + print('Broadcasting to UDP: ', broadcast_str) + udp.put_packet(broadcast_str.to_utf8_buffer()) + +func _try_set_ip(): + for address in IP.get_local_addresses(): + if address.begins_with("192"): + if address.ends_with("0.1"): + continue + ip_address = address + break + +func _on_sensor_connected(sensor_ip, sensor_data): + current_broadcast_rate = slow_broadcast_rate diff --git a/networking/scripts/udp_broadcast.gd.uid b/networking/scripts/udp_broadcast.gd.uid new file mode 100644 index 0000000..4cf0258 --- /dev/null +++ b/networking/scripts/udp_broadcast.gd.uid @@ -0,0 +1 @@ +uid://csg4l1dtlx5u1 diff --git a/networking/scripts/udp_server.gd b/networking/scripts/udp_server.gd new file mode 100644 index 0000000..08617e5 --- /dev/null +++ b/networking/scripts/udp_server.gd @@ -0,0 +1,311 @@ +# server_node.gd +class_name ServerNode +extends Node + +signal camera_position_updated(pos_x, pos_y, pos_z) +signal camera_rotation_updated(rot_x, rot_y, rot_z) +signal sensor_point_generated(pos_x, pos_y, pos_z) + +var server = UDPServer.new() +var port = 5001 +var awaiting_sensors = {} +var invalid_sensors = {} +var valid_sensors = {} + +func _ready(): + ServerSignals.sensor_approved.connect(_on_sensor_approved) + ServerSignals.sensor_declined.connect(_on_sensor_declined) + server.listen(port, "0.0.0.0") + if not server.is_listening(): + print('Unable to listen on port: ', port) + print('Listening on port: ', port) + +func _on_sensor_approved(sensor_ip: String): + valid_sensors[sensor_ip] = awaiting_sensors[sensor_ip] + if sensor_ip in awaiting_sensors: + awaiting_sensors.erase(sensor_ip) + SensorSignals.new_sensor_connected.emit(sensor_ip, valid_sensors[sensor_ip]) + +func _on_sensor_declined(sensor_ip: String): + invalid_sensors[sensor_ip] = 0 + if sensor_ip in awaiting_sensors: + awaiting_sensors.erase(sensor_ip) + +func _process(delta): + _process_connections(delta) + +func _process_connections(delta): + server.poll() + if server.is_connection_available(): + var peer = server.take_connection() + var packet = peer.get_packet() + if not _verify_checksum(packet): + print('Received packet with incorrect checksum: %s' % peer.get_packet_ip()) + _handle_six_fps_message(peer, packet) + else: + _handle_new_connection(delta, peer, packet) + +func _handle_new_connection(delta: float, peer: PacketPeerUDP, packet: PackedByteArray): + if packet.get(0) == 0xD4 and packet.get(1) == 0x53: + """ + | 2 bytes | 2 bytes | 2 bytes | variable length | 2 bytes | + | packet start | message class | payload length | payload | checksum | + First two bytes are the frame start - always 0xD4 and 0x53 + The two bytes for message class and id identify the packet contents + The two bytes for payload length should be read as an u16 integer + and indicate the payload size. + The 2-byte checksuim is calculated over the packet's contents - the message + class and id bytes, payload length byts, and the payload itself. + The formula is: + var ck_a = 0 + var ck_b = 0 + for i in range(2, packet.size()-2): + ck_a += packet.get(i) + ck_b += ck_a + packet[packet.size()-2] = ck_a + packet[packet.size()-1] = ck_b + """ + _handle_six_fps_message(peer, packet) + elif packet.get(0) == 0xb5 and packet.get(1) == 0x62: + _handle_racebox_message(delta, packet) + else: + print("Received: '%s' %s:%s" % [packet.get_string_from_utf8(), peer.get_packet_ip(), peer.get_packet_port()]) + + for i in range(0, valid_sensors.size()): + pass # Do something with the connected peers. + +func _calculate_checksum(packet) -> Array: + var ck_a = 0 + var ck_b = 0 + for i in range(2, packet.size()-2): + ck_a += packet.get(i) + ck_b += ck_a + return [ck_a % 0x100, ck_b % 0x100] + +func _verify_checksum(packet) -> bool: + var calculated_checksum = _calculate_checksum(packet) + return packet.get(packet.size()-1) == calculated_checksum[1] and packet.get(packet.size()-2) == calculated_checksum[0] + +func _handle_six_fps_message(peer: PacketPeerUDP, packet: PackedByteArray): + var peer_ip = peer.get_packet_ip() + if peer_ip in invalid_sensors: + return + if peer_ip in awaiting_sensors: + return + var valid_sensor: bool = peer.get_packet_ip() in valid_sensors + var message_class = packet.get(2) + var message_id = packet.get(3) + if (not valid_sensor) and (message_class == 0x6e and message_id == 0x77): + _handle_new_peer_request(peer_ip, packet) + if not valid_sensor: + return + elif message_class == 0x6e and message_id == 0x4e: + _handle_heartbeat_packet(peer_ip, packet) + elif message_class == 0x2a and message_id == 0xac: + _handle_time_packet(peer_ip, packet) + elif message_class == 0x2a and message_id == 0x7c: + #print('GPS packet received') + _handle_position_packet(peer_ip, packet) + elif message_class == 0x2a and message_id == 0x7b: + #print('Sats packet received') + _handle_gps_sats_packet(peer_ip, packet) + elif message_class == 0x2a and message_id == 0xfa: + #print('Accel packet received') + _handle_accel_packet(peer_ip, packet) + elif message_class == 0x2a and message_id == 0x39: + #print('Mag packet received') + _handle_magnetic_packet(peer_ip, packet) + elif message_class == 0x2a and message_id == 0xa7: + _handle_public_key_packet(peer_ip, packet) + elif message_class == 0x2a and message_id == 0x5e: # not in use + _handle_euler_packet(peer_ip, packet) + elif message_class == 0x2a and message_id == 0xba: # not in use + _handle_quaternion_packet(peer_ip, packet) + +func _handle_new_peer_request(peer_ip: String, packet: PackedByteArray): + """ + offset | size | type | description + 4 | 1 byte | bool | peer provides datetime + 5 | 1 byte | bool | peer provides gps + 6 | 1 byte | bool | peer provides accelerometer + 7 | 1 byte | bool | peer provides gyroscope + 8 | 1 byte | bool | peer provides magnetometer + 9 | 1 byte | bool | peer provides euler orientation + 10 | 1 byte | bool | peer provides quaternion orientation + """ + awaiting_sensors[peer_ip] = [ + #packet.decode_u8(4), + packet.decode_u8(5), + packet.decode_u8(6), + packet.decode_u8(7), + packet.decode_u8(8), + #packet.decode_u8(9), + #packet.decode_u8(10), + ] + print('sensor request') + ServerSignals.sensor_request_received.emit(peer_ip, awaiting_sensors[peer_ip]) + +func _parse_timestamp_slice(packet: PackedByteArray): + var hour = packet.decode_u8(0) + var minute = packet.decode_u8(1) + var second = packet.decode_u8(2) + var nanosecond = packet.decode_u32(3) * pow(10,-9) + return [hour, minute, second, nanosecond] + +func _handle_heartbeat_packet(peer_ip: String, packet: PackedByteArray): + #print('heartbeat') + var hour = packet.decode_u8(4) + var minute = packet.decode_u8(5) + var second = packet.decode_u8(6) + #print(hour, ' ', minute, ' ', second) + +func _handle_time_packet(peer_ip: String, packet: PackedByteArray): + #print('time') + var timestamp_list = _parse_timestamp_slice(packet.slice(4, 11)) + #print(timestamp_list) + +func _handle_position_packet(peer_ip: String, packet: PackedByteArray): + #print('gps') + var timestamp_list = _parse_timestamp_slice(packet.slice(4, 11)) + var lat: float = (float(packet.decode_u64(11)) / 10.**9) - 90 + var lon: float = (float(packet.decode_u64(19)) / 10.**9) - 180 + var alt_neg = packet.decode_u8(27) + var alt_m: float = packet.decode_u32(28) / 1000.0 * (-1. ** alt_neg) + var geoid_neg = packet.decode_u8(32) + var goid_m: float = packet.decode_u16(33) / 100 * (-1. ** geoid_neg) + var speed_neg = packet.decode_u8(35) + var speed_kmh: float = packet.decode_u32(36) / 1000000.0 * (-1 ** speed_neg) + var pdop: float = packet.decode_u32(40) / 1000.0 + var hdop: float = packet.decode_u32(44) / 1000.0 + var vdop: float = packet.decode_u32(49) / 1000.0 + DataSignals.pnt_data_received.emit(peer_ip, timestamp_list, [lat, lon, alt_m, goid_m], speed_kmh, [pdop, hdop, vdop]) + +func _handle_gps_sats_packet(peer_ip: String, packet: PackedByteArray): + var timestamp_list = _parse_timestamp_slice(packet.slice(4, 11)) + var ga = packet.decode_u8(11) + var gb = packet.decode_u8(12) + var gi = packet.decode_u8(13) + var gl = packet.decode_u8(14) + var gp = packet.decode_u8(15) + var gq = packet.decode_u8(16) + var gn = packet.decode_u8(17) + var num_entries = packet.decode_u8(18) + var sats_offset = 19 + var el_offset = 4 + var az_offset = 5 + var sat_data = [] + for i in range(num_entries): + var start_offset = sats_offset + (i * 7) + var sat_name = packet.slice(start_offset, start_offset + el_offset).get_string_from_ascii() + var elevation = packet.decode_u8(start_offset+el_offset) + var azimuth = packet.decode_u16(start_offset+az_offset) + sat_data.append([sat_name, elevation, azimuth]) + DataSignals.sat_data_received.emit(peer_ip, timestamp_list, [ga, gb, gi, gl, gp, gq, gn], sat_data) + +func _handle_accel_packet(peer_ip: String, packet: PackedByteArray): + var timestamp_list = _parse_timestamp_slice(packet.slice(4, 11)) + var neg = packet.decode_u8(11) + var x = (packet.decode_s32(12) / 1000000.0) * (-1 ** neg) + neg = packet.decode_u8(16) + var y = (packet.decode_s32(17) / 1000000.0) * (-1 ** neg) + neg = packet.decode_u8(21) + var z = (packet.decode_s32(22) / 1000000.0) * (-1 ** neg) + + neg = packet.decode_u8(26) + var lin_x = (packet.decode_s32(27) / 1000000.0) * (-1 ** neg) + neg = packet.decode_u8(31) + var lin_y = (packet.decode_s32(32) / 1000000.0) * (-1 ** neg) + neg = packet.decode_u8(36) + var lin_z = (packet.decode_s32(37) / 1000000.0) * (-1 ** neg) + + neg = packet.decode_u8(41) + var g_x = (packet.decode_s32(42) / 1000000.0) * (-1 ** neg) + neg = packet.decode_u8(46) + var g_y = (packet.decode_s32(47) / 1000000.0) * (-1 ** neg) + neg = packet.decode_u8(51) + var g_z = (packet.decode_s32(52) / 1000000.0) * (-1 ** neg) + + DataSignals.accelerometer_data_received.emit(peer_ip, timestamp_list, [x, y, z], [lin_x, lin_y, lin_z], [g_x, g_y, g_z]) + +func _handle_magnetic_packet(peer_ip: String, packet: PackedByteArray): + var timestamp_list = _parse_timestamp_slice(packet.slice(4, 11)) + var neg = packet.decode_u8(11) + var x = (packet.decode_u32(12) / 1000.0) * (-1 ** neg) + neg = packet.decode_u8(16) + var y = (packet.decode_u32(17) / 1000.0) * (-1 ** neg) + neg = packet.decode_u8(21) + var z = (packet.decode_u32(22) / 1000.0) * (-1 ** neg) + DataSignals.magnetometer_data_received.emit(peer_ip, timestamp_list, [x, y, z]) + +func _handle_public_key_packet(peer_ip: String, packet: PackedByteArray): + var timestamp_list = _parse_timestamp_slice(packet.slice(4, 11)) + + +func _handle_euler_packet(peer_ip: String, packet: PackedByteArray): + var timestamp_list = _parse_timestamp_slice(packet.slice(4, 11)) + + +func _handle_quaternion_packet(peer_ip: String, packet: PackedByteArray): + var timestamp_list = _parse_timestamp_slice(packet.slice(4, 11)) + + +func _handle_racebox_message(delta, packet): + #print(packet.size()) + var year = packet.decode_u16(10) + var month = packet.decode_u8(12) + var day = packet.decode_u8(13) + var hour = packet.decode_u8(14) + var minute = packet.decode_u8(15) + var second = packet.decode_u8(16) + var dt_valid_flags = _to_binary(packet.decode_u8(17)) + var valid_date = int(dt_valid_flags[-1]) == 1 + var valid_time = int(dt_valid_flags[-2]) == 1 + var dt_fully_resolved = int(dt_valid_flags[-3]) == 1 + var valid_mag_dec = int(dt_valid_flags[-4]) == 1 + var time_accuracy_ns = packet.decode_u32(18) + var nano_second = packet.decode_u32(22) + var fix_status_flags = _to_binary(packet.decode_u8(27)) + var dt_flags = _to_binary(packet.decode_u8(28)) + var num_sv = packet.decode_u8(29) + var lon_deg = float(packet.decode_u32(30)) / (10**7) + var lat_deg = float(packet.decode_u32(34)) / (10**7) + var wgs_alt_m = float(packet.decode_u32(38)) / (10**3) + 6378.137 + var msl_alt_m = float(packet.decode_u32(42)) / (10**3) + 6378.137 + var horz_accuracy_m = float(packet.decode_u32(46)) / (10**3) + var vert_accuracy_m = float(packet.decode_u32(50)) / (10**3) + var speed_mps = float(packet.decode_s32(54)) / (10**3) + var heading_deg = float(packet.decode_s32(58)) / (10**5) + var speed_accuracy_mps = float(packet.decode_u32(62)) / (10**3) + var heading_accuracy_deg = float(packet.decode_u32(66)) / (10**5) + var pdop = float(packet.decode_u16(70)) / 100 + var lat_lon_flags = _to_binary(packet.decode_u8(72)) + var battery_status = _to_binary(packet.decode_u8(73)) + var g_force_x = packet.decode_s16(74) # milli-g + var g_force_y = packet.decode_s16(76) # milli-g + var g_force_z = packet.decode_s16(78) # milli-g + var rot_rate_x_dps = float(packet.decode_s16(80)) / 100 + var rot_rate_y_dps = float(packet.decode_s16(82)) / 100 + var rot_rate_z_dps = float(packet.decode_s16(84)) / 100 + if num_sv > 0: + var lon_rad = deg_to_rad(lon_deg) + var lat_rad = deg_to_rad(lat_deg) + var sensor_pos_x = wgs_alt_m * sin(lon_rad) * cos(lat_rad) + var sensor_pos_y = wgs_alt_m * sin(lon_rad) * sin(lat_rad) + var sensor_pos_z = wgs_alt_m * cos(lon_rad) + var camera_pos_x = (wgs_alt_m+1) * sin(lon_rad) * cos(lat_rad) + var camera_pos_y = (wgs_alt_m+1) * sin(lon_rad) * sin(lat_rad) + var camera_pos_z = (wgs_alt_m+1) * cos(lon_rad) + camera_position_updated.emit(camera_pos_x, camera_pos_y, camera_pos_z) + camera_rotation_updated.emit(deg_to_rad(rot_rate_x_dps) * delta, deg_to_rad(rot_rate_y_dps) * delta, deg_to_rad(rot_rate_z_dps) * delta) + sensor_point_generated.emit(sensor_pos_x, sensor_pos_y, sensor_pos_z) + else: + print(Time.get_datetime_string_from_system()) + print("GPS has no sources") + +func _to_binary(intValue: int) -> String: + var bin_str: String = "" + while intValue > 0: + bin_str = str(intValue & 1) + bin_str + intValue = intValue >> 1 + return bin_str + diff --git a/networking/scripts/udp_server.gd.uid b/networking/scripts/udp_server.gd.uid new file mode 100644 index 0000000..938b44a --- /dev/null +++ b/networking/scripts/udp_server.gd.uid @@ -0,0 +1 @@ +uid://b31uplppp5cb0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..56897aa --- /dev/null +++ b/project.godot @@ -0,0 +1,47 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="NetworkSensor" +run/main_scene="uid://cckxwooodbwpx" +config/features=PackedStringArray("4.7", "Forward Plus") +config/icon="res://icon.svg" + +[autoload] + +Draw3d="*uid://ct37h7r6osrbn" +Constants="*uid://qhcebwlrvy1s" +Signals="*uid://bu6echih25hu7" +ServerSignals="*uid://cruxo1oxs15eh" +DataSignals="*uid://ck7cep2adw82g" +SensorSignals="*uid://b2pc7sfvudvig" +SettingSignals="*uid://csng7b51505w0" +DisplayData="*uid://xunxbytiofa2" +Bisect="*uid://crwgaltrjx4ff" +Loggie="*uid://bmh2auo806k0k" +LoggieConsoleAutoload="*uid://d0sxs0is80byx" + +[display] + +window/size/viewport_width=800 +window/size/viewport_height=800 + +[editor_plugins] + +enabled=PackedStringArray("res://addons/loggie-console/plugin.cfg", "res://addons/loggie/plugin.cfg") + +[physics] + +3d/physics_engine="Jolt Physics" + +[rendering] + +rendering_device/driver.windows="d3d12" diff --git a/sensor_approval/ProvidedData.tscn b/sensor_approval/ProvidedData.tscn new file mode 100644 index 0000000..7586f54 --- /dev/null +++ b/sensor_approval/ProvidedData.tscn @@ -0,0 +1,8 @@ +[gd_scene format=3 uid="uid://dtvaydkrpc6vc"] + +[ext_resource type="Script" uid="uid://cfife4hdyf3d7" path="res://sensor_approval/provided_data.gd" id="1_nu61k"] +[ext_resource type="PackedScene" uid="uid://bs7s0hgbkuu7b" path="res://sensor_approval/data_column.tscn" id="2_vdia1"] + +[node name="ProvidedData" type="HBoxContainer" unique_id=439091695] +script = ExtResource("1_nu61k") +data_column_scene = ExtResource("2_vdia1") diff --git a/sensor_approval/SensorApproval.tscn b/sensor_approval/SensorApproval.tscn new file mode 100644 index 0000000..2b8b251 --- /dev/null +++ b/sensor_approval/SensorApproval.tscn @@ -0,0 +1,43 @@ +[gd_scene format=3 uid="uid://bdpu08j1vptl8"] + +[ext_resource type="Script" uid="uid://bxo7pj05um5il" path="res://sensor_approval/sensor_approval.gd" id="1_a7kmn"] +[ext_resource type="PackedScene" uid="uid://bs7s0hgbkuu7b" path="res://sensor_approval/data_column.tscn" id="2_x8ge5"] + +[node name="SensorApproval" type="PanelContainer" unique_id=32137099] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_bottom = -1000.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 1 +script = ExtResource("1_a7kmn") +data_column_scene = ExtResource("2_x8ge5") + +[node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=2086324804] +layout_mode = 2 + +[node name="Label" type="Label" parent="HBoxContainer" unique_id=1098572929] +layout_mode = 2 +text = "127.0.0.1" + +[node name="Control" type="Control" parent="HBoxContainer" unique_id=1047175521] +custom_minimum_size = Vector2(2, 0) +layout_mode = 2 + +[node name="Approve" type="Button" parent="HBoxContainer" unique_id=2039550355] +layout_mode = 2 +mouse_filter = 1 +text = "Approve" + +[node name="Control2" type="Control" parent="HBoxContainer" unique_id=225178386] +custom_minimum_size = Vector2(2, 0) +layout_mode = 2 + +[node name="Decline" type="Button" parent="HBoxContainer" unique_id=1630362833] +layout_mode = 2 +mouse_filter = 1 +text = "Decline" + +[connection signal="pressed" from="HBoxContainer/Approve" to="." method="_on_approve_pressed"] +[connection signal="pressed" from="HBoxContainer/Decline" to="." method="_on_decline_pressed"] diff --git a/sensor_approval/SensorApprovalController.gd b/sensor_approval/SensorApprovalController.gd new file mode 100644 index 0000000..4db07ea --- /dev/null +++ b/sensor_approval/SensorApprovalController.gd @@ -0,0 +1,62 @@ +extends VBoxContainer +class_name SensorApprovalController + +@export var sensor_approval_scene: PackedScene + +var sensor_approval_nodes = {} + +var window_size: Vector2 +var window_center: Vector2 + +var settings_open: bool = false + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + SettingSignals.settings_opened.connect(_on_settings_opened) + SettingSignals.settings_closed.connect(_on_settings_closed) + ServerSignals.sensor_request_received.connect(_on_sensor_request_received) + ServerSignals.sensor_approved.connect(_on_sensor_approved) + ServerSignals.sensor_declined.connect(_on_sensor_declined) + + window_size = DisplayServer.window_get_size() + window_center = window_size / 2 + +func _on_settings_opened(): + settings_open = true + for val in sensor_approval_nodes: + remove_child(sensor_approval_nodes[val]) + +func _on_settings_closed(): + settings_open = false + for val in sensor_approval_nodes: + add_child(sensor_approval_nodes[val]) + _update_container_position() + +func _on_sensor_request_received(sensor_ip: String, data_provided: Array): + sensor_approval_nodes[sensor_ip] = sensor_approval_scene.instantiate() + sensor_approval_nodes[sensor_ip].set_provided_data(sensor_ip, data_provided) + if not settings_open: + add_child(sensor_approval_nodes[sensor_ip]) + _update_container_position() + +func _update_container_position(): + for val in sensor_approval_nodes: + var container_size = sensor_approval_nodes[val].size + container_size = Vector2(container_size.x, container_size.y * sensor_approval_nodes.size()) + position = window_center - (container_size/2) + return + +func _on_sensor_approved(sensor_ip: String): + _remove_approval_scene(sensor_ip) + +func _on_sensor_declined(sensor_ip: String): + _remove_approval_scene(sensor_ip) + +func _remove_approval_scene(sensor_ip: String): + if sensor_ip not in sensor_approval_nodes: + return + remove_child(sensor_approval_nodes[sensor_ip]) + sensor_approval_nodes[sensor_ip].queue_free() + sensor_approval_nodes.erase(sensor_ip) + position = window_center - (size/2) + _update_container_position() diff --git a/sensor_approval/SensorApprovalController.gd.uid b/sensor_approval/SensorApprovalController.gd.uid new file mode 100644 index 0000000..11f6c19 --- /dev/null +++ b/sensor_approval/SensorApprovalController.gd.uid @@ -0,0 +1 @@ +uid://ddil0ki5etrwp diff --git a/sensor_approval/data_column.tscn b/sensor_approval/data_column.tscn new file mode 100644 index 0000000..27981ad --- /dev/null +++ b/sensor_approval/data_column.tscn @@ -0,0 +1,13 @@ +[gd_scene format=3 uid="uid://bs7s0hgbkuu7b"] + +[node name="DataColumn" type="VBoxContainer" unique_id=210374376] +offset_right = 1.0 +offset_bottom = 50.0 + +[node name="DataLabel" type="Label" parent="." unique_id=1663588703] +layout_mode = 2 +horizontal_alignment = 1 + +[node name="DataValue" type="Label" parent="." unique_id=1789333906] +layout_mode = 2 +horizontal_alignment = 1 diff --git a/sensor_approval/provided_data.gd b/sensor_approval/provided_data.gd new file mode 100644 index 0000000..1f1e7d1 --- /dev/null +++ b/sensor_approval/provided_data.gd @@ -0,0 +1,39 @@ +extends HBoxContainer + + +""" +offset | size | type | description +4 | 1 byte | bool | peer provides datetime +5 | 1 byte | bool | peer provides gps +6 | 1 byte | bool | peer provides accelerometer +7 | 1 byte | bool | peer provides gyroscope +8 | 1 byte | bool | peer provides magnetometer +9 | 1 byte | bool | peer provides euler orientation +10 | 1 byte | bool | peer provides quaternion orientation +""" +var data_labels = ["Date Time", "PNT", "Accel", "Gyro", "Magnet", "Euler", "Quat"] + +var provided_data: Array = [0, 0, 0, 0, 0, 0, 0] +var data_columns: Array + +@export var data_column_scene: PackedScene + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + _setup_data_columns() + +func _setup_data_columns(): + for i in range(provided_data.size()): + var column_instance = data_column_scene.instantiate() + column_instance.get_node('DataLabel').text = data_labels[i] + if provided_data[i] == 0: + column_instance.get_node('DataValue').text = "False" + else: + column_instance.get_node('DataValue').text = "True" + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + +func set_provided_data(incoming_provided_data): + provided_data = incoming_provided_data diff --git a/sensor_approval/provided_data.gd.uid b/sensor_approval/provided_data.gd.uid new file mode 100644 index 0000000..57d1f3d --- /dev/null +++ b/sensor_approval/provided_data.gd.uid @@ -0,0 +1 @@ +uid://cfife4hdyf3d7 diff --git a/sensor_approval/sensor_approval.gd b/sensor_approval/sensor_approval.gd new file mode 100644 index 0000000..df23497 --- /dev/null +++ b/sensor_approval/sensor_approval.gd @@ -0,0 +1,48 @@ +extends PanelContainer + + +var ip_label: Label +var data_instance: Node + +var sensor_ip: String = "127.0.0.1" +var data_labels = ["PNT", "Accel", "Gyro", "Magnet"] + +var provided_data: Array = [0, 0, 0, 0] +var data_columns: Array + +@export var data_column_scene: PackedScene + + +func _setup_data_columns(): + var container = get_node('HBoxContainer') + for i in range(provided_data.size()): + var spacer: Control = container.add_spacer(false) + spacer.size = Vector2(2, 0) + var column_instance = data_column_scene.instantiate() + column_instance.get_node('DataLabel').text = data_labels[i] + data_columns.append(column_instance) + if provided_data[i] == 0: + column_instance.get_node('DataValue').text = "False" + else: + column_instance.get_node('DataValue').text = "True" + container.add_child(column_instance) + +func set_provided_data(incoming_sensor_ip: String, incoming_provided_data: Array): + sensor_ip = incoming_sensor_ip + ip_label = get_node('HBoxContainer/Label') + ip_label.text = sensor_ip + provided_data = incoming_provided_data + if data_columns.size() == 0: + _setup_data_columns() + else: + for idx in range(provided_data.size()): + if provided_data[idx] == 0: + data_columns[idx].get_node('DataValue').text = "False" + else: + data_columns[idx].get_node('DataValue').text = "True" + +func _on_approve_pressed() -> void: + ServerSignals.sensor_approved.emit(sensor_ip) + +func _on_decline_pressed() -> void: + ServerSignals.sensor_declined.emit(sensor_ip) diff --git a/sensor_approval/sensor_approval.gd.uid b/sensor_approval/sensor_approval.gd.uid new file mode 100644 index 0000000..42dfab6 --- /dev/null +++ b/sensor_approval/sensor_approval.gd.uid @@ -0,0 +1 @@ +uid://bxo7pj05um5il diff --git a/sensors/accelerometer_sensor_node.gd b/sensors/accelerometer_sensor_node.gd new file mode 100644 index 0000000..c6b9f46 --- /dev/null +++ b/sensors/accelerometer_sensor_node.gd @@ -0,0 +1,30 @@ +extends BaseSensorNode +class_name AccelSensorNode + + +var accel_vector: Vector3 = Vector3.ZERO +var linear_accel_vector: Vector3 = Vector3.ZERO +var g_accel_vector: Vector3 = Vector3.ZERO + +var DOWN = Vector2(0, -1.) + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + super._ready() + DataSignals.accelerometer_data_received.connect(_on_data_received) + +func _on_data_received(source_ip: String, timestamp_list: Array, accel: Array, linear_accel: Array, g_accel: Array): + if source_ip != ip_address: + return + var msg_timestamp = timestamp_list[0] * 3600 + timestamp_list[1] * 60 + timestamp_list[2] + timestamp_list[3] + if not Constants.is_timestamp_newer(timestamp, msg_timestamp): + return + timestamp = msg_timestamp + Signals.linear_acceleration_updated.emit(ip_address, linear_accel) + var x_z = Vector2(g_accel[0], g_accel[2]).normalized() + var y_z = Vector2(g_accel[1], g_accel[2]).normalized() + var pitch = DOWN.angle_to(x_z) + var roll = y_z.angle_to(DOWN) + SensorSignals.pitch_updated.emit(ip_address, pitch) + SensorSignals.roll_updated.emit(ip_address, roll) diff --git a/sensors/accelerometer_sensor_node.gd.uid b/sensors/accelerometer_sensor_node.gd.uid new file mode 100644 index 0000000..7de80d4 --- /dev/null +++ b/sensors/accelerometer_sensor_node.gd.uid @@ -0,0 +1 @@ +uid://b8tbp8y3ic2hi diff --git a/sensors/base_sensor_node.gd b/sensors/base_sensor_node.gd new file mode 100644 index 0000000..9f44a98 --- /dev/null +++ b/sensors/base_sensor_node.gd @@ -0,0 +1,11 @@ +extends Node +class_name BaseSensorNode + +var max_measurement_size: float = 10 +@export var ip_address: String + +var id: String = UUID.new().as_string() +var timestamp: float = 0. + +func _ready() -> void: + pass diff --git a/sensors/base_sensor_node.gd.uid b/sensors/base_sensor_node.gd.uid new file mode 100644 index 0000000..f23b27d --- /dev/null +++ b/sensors/base_sensor_node.gd.uid @@ -0,0 +1 @@ +uid://duxnoiiytlenq diff --git a/sensors/magnetometer_sensor_node.gd b/sensors/magnetometer_sensor_node.gd new file mode 100644 index 0000000..193dac6 --- /dev/null +++ b/sensors/magnetometer_sensor_node.gd @@ -0,0 +1,24 @@ +extends BaseSensorNode +class_name MagnetSensorNode + + +var heading_rad: float = 0 + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + super._ready() + DataSignals.magnetometer_data_received.connect(_on_data_received) + +func _on_data_received(source_ip: String, timestamp_list: Array, mag_vec: Array): + if source_ip != ip_address: + return + var msg_timestamp = timestamp_list[0] * 3600 + timestamp_list[1] * 60 + timestamp_list[2] + timestamp_list[3] + if not Constants.is_timestamp_newer(timestamp, msg_timestamp): + return + timestamp = msg_timestamp + var mag = Vector2(mag_vec[0], mag_vec[1]) + mag.normalized() + heading_rad = atan2(-mag[1], mag[0]) + Signals.sensor_mag_updated.emit(ip_address) + Signals.heading_updated.emit(ip_address, heading_rad) diff --git a/sensors/magnetometer_sensor_node.gd.uid b/sensors/magnetometer_sensor_node.gd.uid new file mode 100644 index 0000000..055f6b4 --- /dev/null +++ b/sensors/magnetometer_sensor_node.gd.uid @@ -0,0 +1 @@ +uid://gwr7babnfojp diff --git a/sensors/pnt_sensor_node.gd b/sensors/pnt_sensor_node.gd new file mode 100644 index 0000000..8e6d77f --- /dev/null +++ b/sensors/pnt_sensor_node.gd @@ -0,0 +1,56 @@ +extends BaseSensorNode +class_name PntSensorNode + + +var lat_rad: float = 0. +var lon_rad: float = 0. +var alt_km: float = 0. +var speed_kmh: float = 0. +var gps_position = Vector3(1., 1., 1.) +var speed_data: Array = [] +var lat_data: Array = [] +var lon_data: Array = [] +var alt_data: Array = [] +var position_data: Array = [] +var measurement_times: Array = [] + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + super._ready() + DataSignals.pnt_data_received.connect(_on_data_received) + +func _on_data_received(source_ip: String, timestamp_list: Array, coordinates: Array, pnt_speed_kmh: float, dop: Array): + if source_ip != ip_address: + return + var msg_timestamp = timestamp_list[0] * 3600. + timestamp_list[1] * 60. + timestamp_list[2] + timestamp_list[3] + var insert_idx = Bisect.bisect(measurement_times, msg_timestamp) + measurement_times.insert(insert_idx, msg_timestamp) + + speed_kmh = pnt_speed_kmh + speed_data.insert(insert_idx, speed_data) + lat_rad = deg_to_rad(coordinates[0]) + lat_data.insert(insert_idx, lat_rad) + lon_rad = deg_to_rad(coordinates[1]) + lon_data.insert(insert_idx, lon_rad) + alt_km = (coordinates[2] + coordinates[3]) / 1000 + alt_data.insert(insert_idx, alt_km) + var radius_km = (coordinates[2] + coordinates[3] + Constants.EARTH_RADIUS_M) / 1000. + var pos_x = radius_km * sin(lon_rad) * cos(lat_rad) + var pos_z = radius_km * sin(lon_rad) * sin(lat_rad) + var pos_y = radius_km * cos(lon_rad) + gps_position = Vector3(pos_x, pos_y, pos_z) + position_data.insert(insert_idx, gps_position) + + Signals.sensor_pnt_updated.emit(ip_address, self) + Signals.altitude_updated.emit(ip_address, alt_km) + Signals.position_updated.emit(ip_address, gps_position) + SensorSignals.speed_updated.emit(ip_address, speed_kmh) + + while measurement_times.size() > max_measurement_size: + measurement_times.pop_back() + speed_data.pop_back() + lat_data.pop_back() + lon_data.pop_back() + alt_data.pop_back() + position_data.pop_back() diff --git a/sensors/pnt_sensor_node.gd.uid b/sensors/pnt_sensor_node.gd.uid new file mode 100644 index 0000000..c9322ca --- /dev/null +++ b/sensors/pnt_sensor_node.gd.uid @@ -0,0 +1 @@ +uid://ddxquur7spfsf diff --git a/sensors/satelites_sensor_node.gd b/sensors/satelites_sensor_node.gd new file mode 100644 index 0000000..d9db9ab --- /dev/null +++ b/sensors/satelites_sensor_node.gd @@ -0,0 +1,23 @@ +extends BaseSensorNode +class_name SatelliteSensorNode + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + super._ready() + DataSignals.sat_data_received.connect(_on_data_received) + +func _on_data_received(source_ip: String, timestamp_list: Array, sat_counts: Array, sat_positions: Array): + if source_ip != ip_address: + return + var msg_timestamp = timestamp_list[0] * 3600 + timestamp_list[1] * 60 + timestamp_list[2] + timestamp_list[3] + if not Constants.is_timestamp_newer(timestamp, msg_timestamp): + return + timestamp = msg_timestamp + var sat_ids = [] + for sat_data in sat_positions: + sat_ids.append(sat_data[0]) + #sat_position = _calc_sat_position(sat_data[1], sat_data[2]) + Signals.sensor_sats_updated.emit(ip_address, self) + Signals.sat_count_updated.emit(ip_address, sat_counts) + #Signals.sat_position_updated.emit(ip_address, sat_positions) diff --git a/sensors/satelites_sensor_node.gd.uid b/sensors/satelites_sensor_node.gd.uid new file mode 100644 index 0000000..4a95b9a --- /dev/null +++ b/sensors/satelites_sensor_node.gd.uid @@ -0,0 +1 @@ +uid://cag2l70d821g5 diff --git a/sensors/sensor_spawner.gd b/sensors/sensor_spawner.gd new file mode 100644 index 0000000..06d3230 --- /dev/null +++ b/sensors/sensor_spawner.gd @@ -0,0 +1,30 @@ +extends Node3D +class_name SensorSpawner + +@export var sensor_scene: PackedScene +var vehicle: VehicleNode + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + vehicle = get_parent() + SensorSignals.new_sensor_connected.connect(_on_new_sensor_connected) + +func _on_new_sensor_connected(sensor_ip: String, provider_data: Array) -> void: + var sensor_suite = sensor_scene.instantiate() + sensor_suite.ip_address = sensor_ip + vehicle.sensor_suites[sensor_ip] = sensor_suite + if provider_data[0]: + sensor_suite.provides_pnt = true + sensor_suite.create_pnt() + sensor_suite.create_sats() + if provider_data[1]: + sensor_suite.provides_accel = true + sensor_suite.create_accel() + if provider_data[2]: + sensor_suite.provides_gyro = true + sensor_suite.create_gyro() + if provider_data[3]: + sensor_suite.provides_mag = true + sensor_suite.create_mag() + add_child(sensor_suite) + vehicle.add_sensor_node(sensor_suite) diff --git a/sensors/sensor_spawner.gd.uid b/sensors/sensor_spawner.gd.uid new file mode 100644 index 0000000..c66b008 --- /dev/null +++ b/sensors/sensor_spawner.gd.uid @@ -0,0 +1 @@ +uid://bflafrhk4eq4w diff --git a/sensors/sensor_suite.tscn b/sensors/sensor_suite.tscn new file mode 100644 index 0000000..3e67edd --- /dev/null +++ b/sensors/sensor_suite.tscn @@ -0,0 +1,7 @@ +[gd_scene format=3 uid="uid://trl3gugdy3hw"] + +[ext_resource type="Script" uid="uid://xm4wqedyteei" path="res://sensors/sensor_suite_node.gd" id="1_1i1as"] + +[node name="SensorSuite" type="Node3D" unique_id=1330923752] +script = ExtResource("1_1i1as") +metadata/_custom_type_script = "uid://xm4wqedyteei" diff --git a/sensors/sensor_suite_node.gd b/sensors/sensor_suite_node.gd new file mode 100644 index 0000000..e961f9f --- /dev/null +++ b/sensors/sensor_suite_node.gd @@ -0,0 +1,54 @@ +extends Node3D +class_name SensorSuiteNode + + +@export var ip_address: String +var provides_pnt: bool = false +var provides_accel: bool = false +var provides_gyro: bool = false +var provides_mag: bool = false + +var sensors = {} + +""" + sensor_suite.provides_pnt = true + sensor_suite.create_pnt() + sensor_suite.create_sats() + if provider_data[1]: + sensor_suite.provides_accel = true + sensor_suite.create_accel() + if provider_data[2]: + sensor_suite.provides_gyro = true + sensor_suite.create_gyro() + if provider_data[3]: + sensor_suite.provides_mag = true + sensor_suite.create_mag() +""" + +func create_pnt(): + var sensor = PntSensorNode.new() + sensor.ip_address = ip_address + sensors[sensor.id] = sensor + add_child(sensor) + +func create_sats(): + var sensor = SatelliteSensorNode.new() + sensor.ip_address = ip_address + sensors[sensor.id] = sensor + add_child(sensor) + +func create_accel(): + var sensor = AccelSensorNode.new() + sensor.ip_address = ip_address + sensors[sensor.id] = sensor + add_child(sensor) + +func create_gyro(): + return + +func create_mag(): + var sensor = MagnetSensorNode.new() + sensor.ip_address = ip_address + sensors[sensor.id] = sensor + add_child(sensor) + diff --git a/sensors/sensor_suite_node.gd.uid b/sensors/sensor_suite_node.gd.uid new file mode 100644 index 0000000..3d1a671 --- /dev/null +++ b/sensors/sensor_suite_node.gd.uid @@ -0,0 +1 @@ +uid://xm4wqedyteei diff --git a/settings.gd b/settings.gd new file mode 100644 index 0000000..51cee45 --- /dev/null +++ b/settings.gd @@ -0,0 +1,100 @@ +extends Node + +var DISPLAY_SETTINGS_FILE = "user://display_settings.txt" +var WIDGET_SETTINGS_FILE = "user://widget_settings.txt" + +var settings_menu_scene: Node +var settings_menu_button: Node + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + + SettingSignals.display_settings_saved.connect(_on_display_settings_saved) + SettingSignals.settings_closed.connect(_on_settings_closed) + + DisplayData.WINDOW_SIZE = Vector2(DisplayServer.window_get_size()) + DisplayData.WINDOW_CENTER = DisplayData.WINDOW_SIZE / 2 + + settings_menu_button = get_node("OpenSettings") + settings_menu_scene = get_node("SettingsMenu") + remove_child(settings_menu_scene) + _try_load_settings() + _set_settings_button_position() + +func _try_load_settings(): + _try_load_display_settings() + _try_load_widget_settings() + +func _try_load_display_settings(): + if not FileAccess.file_exists(DISPLAY_SETTINGS_FILE): + _use_default_settings() + _on_settings_opened() + _set_settings_button_position() + return + var settings_file = FileAccess.open(DISPLAY_SETTINGS_FILE, FileAccess.READ) + DisplayData.DISPLAY_MODE_IDX = int(settings_file.get_line()) + DisplayData.DISPLAY_PARAMETERS = [] + var str_bound_parameters = settings_file.get_csv_line() + for val in str_bound_parameters: + DisplayData.DISPLAY_PARAMETERS.append(float(val)) + _set_settings_button_position() + +func _use_default_settings(): + DisplayData.DISPLAY_MODE_IDX = 0 + var radius = min(DisplayData.WINDOW_SIZE.x, DisplayData.WINDOW_SIZE.y) / 2 + DisplayData.DISPLAY_PARAMETERS = [radius, radius*2] + +func _try_load_widget_settings(): + pass + +func _on_display_settings_saved(new_display_mode: int, new_display_bounds: Array): + DisplayData.DISPLAY_MODE_IDX = new_display_mode + DisplayData.DISPLAY_PARAMETERS = new_display_bounds + var settings_file = FileAccess.open(DISPLAY_SETTINGS_FILE, FileAccess.WRITE) + settings_file.store_line(str(DisplayData.DISPLAY_MODE_IDX)) + settings_file.store_line(str(DisplayData.DISPLAY_PARAMETERS[0])+','+str(DisplayData.DISPLAY_PARAMETERS[1])) + settings_file.close() + +func _on_settings_closed(): + remove_child(settings_menu_scene) + add_child(settings_menu_button) + _set_settings_button_position() + +func _on_settings_opened(): + SettingSignals.settings_opened.emit() + remove_child(settings_menu_button) + add_child(settings_menu_scene) + _set_settings_menu_position() + +func _set_settings_button_position(): + var corner = Vector2(0, 0) + var button_position = Vector2(0, 0) + if DisplayData.DISPLAY_MODE_IDX == 0: + corner = DisplayData.WINDOW_CENTER + (DisplayData.BR_CORNER * DisplayData.DISPLAY_PARAMETERS[0]) + button_position = corner - (DisplayData.BR_CORNER * max(settings_menu_button.size.x, settings_menu_button.size.y)) + else: + corner = DisplayData.WINDOW_CENTER + Vector2(DisplayData.DISPLAY_PARAMETERS[0]/2, DisplayData.DISPLAY_PARAMETERS[1]/2) + button_position = corner - settings_menu_button.size + settings_menu_button.position = button_position + +func _set_settings_menu_position(): + var scene_size = settings_menu_scene.get_node("Panel").size + settings_menu_scene.get_node("Panel").position = DisplayData.WINDOW_CENTER - scene_size/2 + +func check_in_bounds(center: Vector2, width: float, height: float): + if DisplayData.DISPLAY_MODE_IDX == 0: + return _check_in_circle(center, width, height) + else: + return _check_in_rect(center, width, height) + +func _check_in_circle(center: Vector2, width: float, height: float): + return ((center - DisplayData.WINDOW_CENTER).length() + max(width, height)/2) < DisplayData.DISPLAY_PARAMETERS[0] + +func _check_in_rect(center: Vector2, width: float, height: float): + var rel_center = center - DisplayData.WINDOW_CENTER + if abs(rel_center.x) + width / 2 >= DisplayData.DISPLAY_PARAMETERS[0] / 2: + return false + if abs(rel_center.y) + height / 2 >= DisplayData.DISPLAY_PARAMETERS[1] / 2: + return false + return true diff --git a/settings.gd.uid b/settings.gd.uid new file mode 100644 index 0000000..699488a --- /dev/null +++ b/settings.gd.uid @@ -0,0 +1 @@ +uid://bcubn1h3e5j6a diff --git a/settings/DisplaySettings.tscn b/settings/DisplaySettings.tscn new file mode 100644 index 0000000..2adaa3f --- /dev/null +++ b/settings/DisplaySettings.tscn @@ -0,0 +1,9 @@ +[gd_scene format=3 uid="uid://dd4m3h1lpbskc"] + +[node name="DisplaySettings" type="Control" unique_id=1884338244] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 diff --git a/settings/SettingsMenu.tscn b/settings/SettingsMenu.tscn new file mode 100644 index 0000000..cbfcb88 --- /dev/null +++ b/settings/SettingsMenu.tscn @@ -0,0 +1,61 @@ +[gd_scene format=3 uid="uid://blijvkgrhoas"] + +[ext_resource type="Script" uid="uid://bwmjlflhjmc26" path="res://settings/settings_menu.gd" id="1_tj26x"] +[ext_resource type="PackedScene" uid="uid://c1w54bb1nvfgl" path="res://settings/widget/WidgetSettings.tscn" id="3_7d1rn"] +[ext_resource type="PackedScene" uid="uid://djlwditktkdqm" path="res://settings/display/DisplaySettings.tscn" id="3_kc45r"] + +[node name="SettingsMenu" type="Control" unique_id=1877869509] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_tj26x") + +[node name="DisplaySettings" parent="." unique_id=684790483 instance=ExtResource("3_kc45r")] +layout_mode = 1 + +[node name="WidgetSettings" parent="." unique_id=380306064 instance=ExtResource("3_7d1rn")] +layout_mode = 1 + +[node name="Panel" type="Panel" parent="." unique_id=546432251] +custom_minimum_size = Vector2(250, 200) +layout_mode = 0 +offset_right = 168.0 +offset_bottom = 142.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel" unique_id=1651822305] +custom_minimum_size = Vector2(200, 10) +layout_mode = 0 +offset_left = 25.0 +offset_top = 28.0 +offset_right = 225.0 +offset_bottom = 172.0 + +[node name="Display" type="Button" parent="Panel/VBoxContainer" unique_id=367341970] +custom_minimum_size = Vector2(0, 40) +layout_mode = 2 +text = "Display Settings" + +[node name="Control" type="Control" parent="Panel/VBoxContainer" unique_id=1682432096] +custom_minimum_size = Vector2(0, 4) +layout_mode = 2 + +[node name="Widgets" type="Button" parent="Panel/VBoxContainer" unique_id=392844978] +custom_minimum_size = Vector2(0, 40) +layout_mode = 2 +text = "Widget Settings" + +[node name="Control2" type="Control" parent="Panel/VBoxContainer" unique_id=403242032] +custom_minimum_size = Vector2(0, 4) +layout_mode = 2 + +[node name="Close" type="Button" parent="Panel/VBoxContainer" unique_id=1184969381] +custom_minimum_size = Vector2(0, 40) +layout_mode = 2 +text = "Close" + +[connection signal="pressed" from="Panel/VBoxContainer/Display" to="." method="_on_open_display_settings_pressed"] +[connection signal="pressed" from="Panel/VBoxContainer/Widgets" to="." method="_on_open_widget_settings_pressed"] +[connection signal="pressed" from="Panel/VBoxContainer/Close" to="." method="_on_close_settings_menu_pressed"] diff --git a/settings/display/DisplaySettings.tscn b/settings/display/DisplaySettings.tscn new file mode 100644 index 0000000..1e21859 --- /dev/null +++ b/settings/display/DisplaySettings.tscn @@ -0,0 +1,64 @@ +[gd_scene format=3 uid="uid://djlwditktkdqm"] + +[ext_resource type="Script" uid="uid://c50oovdcf5gxc" path="res://settings/display/display_settings.gd" id="1_ib3mg"] +[ext_resource type="PackedScene" uid="uid://ckcinb605j6ad" path="res://settings/display/circle_size_control.tscn" id="2_a0g1l"] +[ext_resource type="PackedScene" uid="uid://bgl2fwudm05ut" path="res://settings/display/rect_size_control.tscn" id="3_pqjgl"] + +[sub_resource type="SphereMesh" id="SphereMesh_ib3mg"] + +[node name="DisplaySettings" type="Control" unique_id=684790483] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_ib3mg") +circle_size_control = ExtResource("2_a0g1l") +rect_size_control = ExtResource("3_pqjgl") + +[node name="ScreenBounds" type="MeshInstance2D" parent="." unique_id=667660467] +mesh = SubResource("SphereMesh_ib3mg") + +[node name="ModeSelect" type="HBoxContainer" parent="." unique_id=1117896761] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="Circle" type="Button" parent="ModeSelect" unique_id=2138250498] +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +text = "Circle" + +[node name="Control" type="Control" parent="ModeSelect" unique_id=2025198438] +custom_minimum_size = Vector2(2, 0) +layout_mode = 2 + +[node name="Rectangle" type="Button" parent="ModeSelect" unique_id=355408003] +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +text = "Rectangle" + +[node name="SaveSelect" type="HBoxContainer" parent="." unique_id=1028302836] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="Save" type="Button" parent="SaveSelect" unique_id=491990024] +custom_minimum_size = Vector2(75, 0) +layout_mode = 2 +text = "Save" + +[node name="Control" type="Control" parent="SaveSelect" unique_id=786463583] +custom_minimum_size = Vector2(10, 0) +layout_mode = 2 + +[node name="Cancel" type="Button" parent="SaveSelect" unique_id=1362360997] +custom_minimum_size = Vector2(75, 0) +layout_mode = 2 +text = "Cancel" + +[connection signal="pressed" from="ModeSelect/Circle" to="." method="_on_circle_selected"] +[connection signal="pressed" from="ModeSelect/Rectangle" to="." method="_on_rectangle_selected"] +[connection signal="pressed" from="SaveSelect/Save" to="." method="_on_save_pressed"] +[connection signal="pressed" from="SaveSelect/Cancel" to="." method="_on_cancel_pressed"] diff --git a/settings/display/circle_size_control.gd b/settings/display/circle_size_control.gd new file mode 100644 index 0000000..af12ce7 --- /dev/null +++ b/settings/display/circle_size_control.gd @@ -0,0 +1,22 @@ +extends Control + +var mesh: SphereMesh + +# Called when the node enters the scene tree for the first time. +func set_mesh(new_mesh: Mesh): + mesh = new_mesh + + + +func _on_add_pressed() -> void: + if mesh == null: + return + mesh.radius += 10 + mesh.height += 20 + + +func _on_subtract_pressed() -> void: + if mesh == null: + return + mesh.radius = max(10, mesh.radius - 10) + mesh.height = max(20, mesh.height - 20) diff --git a/settings/display/circle_size_control.gd.uid b/settings/display/circle_size_control.gd.uid new file mode 100644 index 0000000..3de4c07 --- /dev/null +++ b/settings/display/circle_size_control.gd.uid @@ -0,0 +1 @@ +uid://brtt56wqrwvao diff --git a/settings/display/circle_size_control.tscn b/settings/display/circle_size_control.tscn new file mode 100644 index 0000000..9de61db --- /dev/null +++ b/settings/display/circle_size_control.tscn @@ -0,0 +1,36 @@ +[gd_scene format=3 uid="uid://ckcinb605j6ad"] + +[ext_resource type="Script" uid="uid://brtt56wqrwvao" path="res://settings/display/circle_size_control.gd" id="1_kd2yb"] + +[node name="CircleSizeControl" type="Control" unique_id=1419353433] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -1870.0 +offset_bottom = -1040.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_kd2yb") + +[node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=1694966628] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="Add" type="Button" parent="HBoxContainer" unique_id=1001424814] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 +text = "+" + +[node name="Control" type="Control" parent="HBoxContainer" unique_id=818821295] +custom_minimum_size = Vector2(2, 0) +layout_mode = 2 + +[node name="Subtract" type="Button" parent="HBoxContainer" unique_id=848604585] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 +text = "-" + +[connection signal="pressed" from="HBoxContainer/Add" to="." method="_on_add_pressed"] +[connection signal="pressed" from="HBoxContainer/Subtract" to="." method="_on_subtract_pressed"] diff --git a/settings/display/display_settings.gd b/settings/display/display_settings.gd new file mode 100644 index 0000000..ee6e6fe --- /dev/null +++ b/settings/display/display_settings.gd @@ -0,0 +1,85 @@ +extends Control + +var sphere_mesh = SphereMesh.new() +var quad_mesh = QuadMesh.new() + +@export var circle_size_control: PackedScene +@export var rect_size_control: PackedScene +var size_control_instance: Node + +var screen_bound_mesh: MeshInstance2D + +var current_mode: int + +var mode_container: HBoxContainer +var save_container: HBoxContainer + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + DisplayData.WINDOW_SIZE = Vector2(DisplayServer.window_get_size()) + DisplayData.WINDOW_CENTER = DisplayData.WINDOW_SIZE / 2 + + screen_bound_mesh = get_node("ScreenBounds") + + mode_container = get_node("ModeSelect") + var mode_container_size = mode_container.size + var mode_container_position = Vector2(DisplayData.WINDOW_CENTER.x - mode_container_size.x/2, DisplayData.WINDOW_CENTER.y - mode_container_size.y) + mode_container.position = mode_container_position + + save_container = get_node("SaveSelect") + var save_container_size = save_container.size + var save_container_position = Vector2(DisplayData.WINDOW_CENTER.x - save_container_size.x/2, DisplayData.WINDOW_CENTER.y + save_container_size.y * 4) + save_container.position = save_container_position + +func update(): + current_mode = DisplayData.DISPLAY_MODE_IDX + if current_mode == 0: + _on_circle_selected() + screen_bound_mesh.mesh.radius = DisplayData.DISPLAY_PARAMETERS[0] + screen_bound_mesh.mesh.height = DisplayData.DISPLAY_PARAMETERS[1] + else: + _on_rectangle_selected() + screen_bound_mesh.mesh.size = Vector2(DisplayData.DISPLAY_PARAMETERS[0], DisplayData.DISPLAY_PARAMETERS[1]) + +func _on_circle_selected() -> void: + if size_control_instance != null: + remove_child(size_control_instance) + size_control_instance.queue_free() + screen_bound_mesh.mesh = sphere_mesh + screen_bound_mesh.mesh.radius = 0.5 * min(DisplayData.WINDOW_SIZE.x, DisplayData.WINDOW_SIZE.y) + screen_bound_mesh.mesh.height = 2 * screen_bound_mesh.mesh.radius + screen_bound_mesh.position = DisplayData.WINDOW_CENTER + size_control_instance = circle_size_control.instantiate() + size_control_instance.set_mesh(screen_bound_mesh.mesh) + var container_size = size_control_instance.get_node("HBoxContainer").size + var container_position = Vector2(DisplayData.WINDOW_CENTER.x - container_size.x/2, DisplayData.WINDOW_CENTER.y + container_size.y/2) + add_child(size_control_instance) + size_control_instance.position = container_position + current_mode = 0 + +func _on_rectangle_selected() -> void: + if size_control_instance != null: + remove_child(size_control_instance) + size_control_instance.queue_free() + screen_bound_mesh.mesh = quad_mesh + screen_bound_mesh.mesh.size = DisplayData.WINDOW_SIZE + screen_bound_mesh.position = DisplayData.WINDOW_CENTER + size_control_instance = rect_size_control.instantiate() + size_control_instance.set_mesh(screen_bound_mesh.mesh) + var container_size = size_control_instance.size + var container_position = Vector2(DisplayData.WINDOW_CENTER.x - 90, DisplayData.WINDOW_CENTER.y + 36) + add_child(size_control_instance) + size_control_instance.position = container_position + current_mode = 1 + +func _on_save_pressed() -> void: + var current_bounds = [] + if current_mode == 0: + current_bounds = [screen_bound_mesh.mesh.radius, screen_bound_mesh.mesh.height] + else: + current_bounds = [screen_bound_mesh.mesh.size.x, screen_bound_mesh.mesh.size.y] + SettingSignals.display_settings_saved.emit(current_mode, current_bounds) + SettingSignals.display_settings_closed.emit() + +func _on_cancel_pressed() -> void: + SettingSignals.display_settings_closed.emit() diff --git a/settings/display/display_settings.gd.uid b/settings/display/display_settings.gd.uid new file mode 100644 index 0000000..93edf3f --- /dev/null +++ b/settings/display/display_settings.gd.uid @@ -0,0 +1 @@ +uid://c50oovdcf5gxc diff --git a/settings/display/rect_size_control.gd b/settings/display/rect_size_control.gd new file mode 100644 index 0000000..8cc9a4b --- /dev/null +++ b/settings/display/rect_size_control.gd @@ -0,0 +1,19 @@ +extends Control + +var mesh: QuadMesh + +# Called when the node enters the scene tree for the first time. +func set_mesh(new_mesh: Mesh): + mesh = new_mesh + +func _on_add_width_pressed() -> void: + mesh.size = Vector2(mesh.size.x + 20, mesh.size.y) + +func _on_subtract_width_pressed() -> void: + mesh.size = Vector2(max(20, mesh.size.x - 20), mesh.size.y) + +func _on_add_height_pressed() -> void: + mesh.size = Vector2(mesh.size.x, mesh.size.y + 20) + +func _on_subtract_height_pressed() -> void: + mesh.size = Vector2(mesh.size.x, max(20, mesh.size.y - 20)) diff --git a/settings/display/rect_size_control.gd.uid b/settings/display/rect_size_control.gd.uid new file mode 100644 index 0000000..30fa356 --- /dev/null +++ b/settings/display/rect_size_control.gd.uid @@ -0,0 +1 @@ +uid://bone10ua14y73 diff --git a/settings/display/rect_size_control.tscn b/settings/display/rect_size_control.tscn new file mode 100644 index 0000000..d3f18ee --- /dev/null +++ b/settings/display/rect_size_control.tscn @@ -0,0 +1,59 @@ +[gd_scene format=3 uid="uid://bgl2fwudm05ut"] + +[ext_resource type="Script" uid="uid://bone10ua14y73" path="res://settings/display/rect_size_control.gd" id="1_d1ns0"] + +[node name="RectSizeControl" type="Control" unique_id=2029271709] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -1740.0 +offset_bottom = -1008.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_d1ns0") + +[node name="VBoxContainer2" type="VBoxContainer" parent="." unique_id=679844861] +layout_mode = 0 +offset_left = 138.0 +offset_right = 180.0 +offset_bottom = 72.0 + +[node name="AddHeight" type="Button" parent="VBoxContainer2" unique_id=969154940] +custom_minimum_size = Vector2(20, 20) +layout_mode = 2 +text = "+" + +[node name="Control" type="Control" parent="VBoxContainer2" unique_id=700596433] +custom_minimum_size = Vector2(2, 2) +layout_mode = 2 + +[node name="SubtractHeight" type="Button" parent="VBoxContainer2" unique_id=1431826556] +custom_minimum_size = Vector2(20, 20) +layout_mode = 2 +text = "-" + +[node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=377418965] +layout_mode = 0 +offset_top = 15.0 +offset_right = 80.0 +offset_bottom = 57.0 + +[node name="SubtractWidth" type="Button" parent="HBoxContainer" unique_id=1816095727] +custom_minimum_size = Vector2(35, 20) +layout_mode = 2 +text = "-" + +[node name="Control" type="Control" parent="HBoxContainer" unique_id=320269460] +custom_minimum_size = Vector2(2, 0) +layout_mode = 2 + +[node name="AddWidth" type="Button" parent="HBoxContainer" unique_id=831071522] +custom_minimum_size = Vector2(35, 20) +layout_mode = 2 +text = "+" + +[connection signal="pressed" from="VBoxContainer2/AddHeight" to="." method="_on_add_height_pressed"] +[connection signal="pressed" from="VBoxContainer2/SubtractHeight" to="." method="_on_subtract_height_pressed"] +[connection signal="pressed" from="HBoxContainer/SubtractWidth" to="." method="_on_subtract_width_pressed"] +[connection signal="pressed" from="HBoxContainer/AddWidth" to="." method="_on_add_width_pressed"] diff --git a/settings/settings_menu.gd b/settings/settings_menu.gd new file mode 100644 index 0000000..feeef72 --- /dev/null +++ b/settings/settings_menu.gd @@ -0,0 +1,42 @@ +extends Control + +var menu_panel: Node +var display_settings_instance: Node +var widget_settings_instance: Node + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + DisplayData.WINDOW_SIZE = Vector2(DisplayServer.window_get_size()) + DisplayData.WINDOW_CENTER = DisplayData.WINDOW_SIZE / 2 + + menu_panel = get_node("Panel") + display_settings_instance = get_node("DisplaySettings") + remove_child(display_settings_instance) + widget_settings_instance = get_node("WidgetSettings") + remove_child(widget_settings_instance) + + SettingSignals.display_settings_closed.connect(_on_display_settings_closed) + SettingSignals.widget_settings_closed.connect(_on_widget_settings_closed) + + +func _on_open_display_settings_pressed() -> void: + add_child(display_settings_instance) + remove_child(menu_panel) + display_settings_instance.update() + +func _on_display_settings_closed(): + add_child(menu_panel) + remove_child(display_settings_instance) + display_settings_instance.update() + +func _on_open_widget_settings_pressed() -> void: + add_child(widget_settings_instance) + remove_child(menu_panel) + widget_settings_instance.update() + +func _on_widget_settings_closed(): + add_child(menu_panel) + remove_child(widget_settings_instance) + +func _on_close_settings_menu_pressed() -> void: + SettingSignals.settings_closed.emit() diff --git a/settings/settings_menu.gd.uid b/settings/settings_menu.gd.uid new file mode 100644 index 0000000..65e8a30 --- /dev/null +++ b/settings/settings_menu.gd.uid @@ -0,0 +1 @@ +uid://bwmjlflhjmc26 diff --git a/settings/widget/WidgetSettings.tscn b/settings/widget/WidgetSettings.tscn new file mode 100644 index 0000000..3a06b6e --- /dev/null +++ b/settings/widget/WidgetSettings.tscn @@ -0,0 +1,38 @@ +[gd_scene format=3 uid="uid://c1w54bb1nvfgl"] + +[ext_resource type="Script" uid="uid://lcxue7n3hrl4" path="res://settings/widget/widget_settings.gd" id="1_d1q6j"] + +[sub_resource type="QuadMesh" id="QuadMesh_d1q6j"] + +[node name="WidgetSettings" type="Control" unique_id=380306064] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_d1q6j") + +[node name="ScreenBounds" type="MeshInstance2D" parent="." unique_id=183856023] +mesh = SubResource("QuadMesh_d1q6j") + +[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1472509820] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="New" type="Button" parent="VBoxContainer" unique_id=1947771523] +layout_mode = 2 +text = "New" + +[node name="Save" type="Button" parent="VBoxContainer" unique_id=678449908] +layout_mode = 2 +text = "Save" + +[node name="Close" type="Button" parent="VBoxContainer" unique_id=582698789] +layout_mode = 2 +text = "Close" + +[connection signal="pressed" from="VBoxContainer/New" to="." method="_on_new_pressed"] +[connection signal="pressed" from="VBoxContainer/Save" to="." method="_on_save_pressed"] +[connection signal="pressed" from="VBoxContainer/Close" to="." method="_on_close_pressed"] diff --git a/settings/widget/widget_settings.gd b/settings/widget/widget_settings.gd new file mode 100644 index 0000000..3e2a9ff --- /dev/null +++ b/settings/widget/widget_settings.gd @@ -0,0 +1,44 @@ +extends Control + +var sphere_mesh = SphereMesh.new() +var quad_mesh = QuadMesh.new() + +var screen_bound_mesh: MeshInstance2D + +var button_pannel: Node + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + DisplayData.WINDOW_SIZE = Vector2(DisplayServer.window_get_size()) + DisplayData.WINDOW_CENTER = DisplayData.WINDOW_SIZE / 2 + button_pannel = get_node("VBoxContainer") + screen_bound_mesh = get_node("ScreenBounds") + +func update(): + if DisplayData.DISPLAY_MODE_IDX == 0: + screen_bound_mesh.mesh = sphere_mesh + screen_bound_mesh.mesh.radius = DisplayData.DISPLAY_PARAMETERS[0] + screen_bound_mesh.mesh.height = DisplayData.DISPLAY_PARAMETERS[1] + else: + screen_bound_mesh.mesh = quad_mesh + screen_bound_mesh.mesh.size = Vector2(DisplayData.DISPLAY_PARAMETERS[0], DisplayData.DISPLAY_PARAMETERS[1]) + screen_bound_mesh.position = DisplayData.WINDOW_CENTER + + var pannel_size = button_pannel.size + var panel_position = DisplayData.WINDOW_CENTER + Vector2(0., 0.5) * DisplayData.DISPLAY_PARAMETERS[0] + panel_position -= Vector2(pannel_size.x/2, pannel_size.y/2) + button_pannel.position = panel_position + + +func _on_new_pressed() -> void: + pass # Replace with function body. + + +func _on_save_pressed() -> void: + SettingSignals.widget_settings_saved.emit() + SettingSignals.widget_settings_closed.emit() + + +func _on_close_pressed() -> void: + SettingSignals.widget_settings_closed.emit() diff --git a/settings/widget/widget_settings.gd.uid b/settings/widget/widget_settings.gd.uid new file mode 100644 index 0000000..1297084 --- /dev/null +++ b/settings/widget/widget_settings.gd.uid @@ -0,0 +1 @@ +uid://lcxue7n3hrl4 diff --git a/signals/data_signals.gd b/signals/data_signals.gd new file mode 100644 index 0000000..9eb3f56 --- /dev/null +++ b/signals/data_signals.gd @@ -0,0 +1,7 @@ +extends Node + + +signal pnt_data_received(source_ip: String, timestamp_list: Array, coordinates: Array, speed_kmh: float, dop: Array) +signal sat_data_received(source_ip: String, timestamp_list: Array, sat_count: Array, sat_position: Array) +signal accelerometer_data_received(source_ip: String, timestamp_list: Array, accel: Array, linear_accel: Array, g_accel: Array) +signal magnetometer_data_received(source_ip: String, timestamp_list: Array, mag_vec: Array) diff --git a/signals/data_signals.gd.uid b/signals/data_signals.gd.uid new file mode 100644 index 0000000..c068bc6 --- /dev/null +++ b/signals/data_signals.gd.uid @@ -0,0 +1 @@ +uid://ck7cep2adw82g diff --git a/signals/scripts/Signals.gd b/signals/scripts/Signals.gd new file mode 100644 index 0000000..aeb64a0 --- /dev/null +++ b/signals/scripts/Signals.gd @@ -0,0 +1,24 @@ +extends Node +class_name SignalsNode + +signal new_position_sensor_added(sensor_ip: String) +signal new_orientation_sensor_added(sensor_ip: String) + +signal requested_host_vehicle(requester: Node) + +# sensor updates +signal sensor_pnt_updated(ip_address: String) +signal sensor_sats_updated(ip_address: String) +signal sensor_accel_updated(ip_address: String) +signal sensor_gyro_updated(ip_address: String) +signal sensor_mag_updated(ip_address: String) + +signal heading_updated(ip_address: String, heading_rad: float) +signal altitude_updated(ip_address: String, altitude_km: float) +signal position_updated(ip_adress: String, position_3d: Vector3) +signal sat_count_updated(ip_address: String, sat_count_array: Array) +signal sat_position_updated(ip_adress: String, sat_position_array: Array) +signal linear_acceleration_updated(ip_address: String, linear_acceleration: Array) + +signal vehicle_added(vehicle: VehicleNode) +signal vehicle_removed(vehicle_id: String) diff --git a/signals/scripts/Signals.gd.uid b/signals/scripts/Signals.gd.uid new file mode 100644 index 0000000..eedc82b --- /dev/null +++ b/signals/scripts/Signals.gd.uid @@ -0,0 +1 @@ +uid://bu6echih25hu7 diff --git a/signals/scripts/gps_signals.gd b/signals/scripts/gps_signals.gd new file mode 100644 index 0000000..fae2c76 --- /dev/null +++ b/signals/scripts/gps_signals.gd @@ -0,0 +1,11 @@ +extends Node + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/signals/scripts/gps_signals.gd.uid b/signals/scripts/gps_signals.gd.uid new file mode 100644 index 0000000..5ed5a87 --- /dev/null +++ b/signals/scripts/gps_signals.gd.uid @@ -0,0 +1 @@ +uid://jbp4bjf7sx3g diff --git a/signals/sensor_signals.gd b/signals/sensor_signals.gd new file mode 100644 index 0000000..57ccb6e --- /dev/null +++ b/signals/sensor_signals.gd @@ -0,0 +1,7 @@ +extends Node + + +signal new_sensor_connected(sensor_ip: String, data_provided: Array) +signal pitch_updated(sensor_ip: String, pitch_rad: float) +signal roll_updated(sensor_ip: String, roll_rad: float) +signal speed_updated(sensor_ip: String, speed_kmh: float) diff --git a/signals/sensor_signals.gd.uid b/signals/sensor_signals.gd.uid new file mode 100644 index 0000000..7074b44 --- /dev/null +++ b/signals/sensor_signals.gd.uid @@ -0,0 +1 @@ +uid://b2pc7sfvudvig diff --git a/signals/server_signals.gd b/signals/server_signals.gd new file mode 100644 index 0000000..005a0b3 --- /dev/null +++ b/signals/server_signals.gd @@ -0,0 +1,5 @@ +extends Node + +signal sensor_request_received(sensor_ip_address: String, data_provided: Array) +signal sensor_approved(sensor_ip_adress: String) +signal sensor_declined(sensor_ip_address: String) diff --git a/signals/server_signals.gd.uid b/signals/server_signals.gd.uid new file mode 100644 index 0000000..71716f7 --- /dev/null +++ b/signals/server_signals.gd.uid @@ -0,0 +1 @@ +uid://cruxo1oxs15eh diff --git a/signals/setting_signals.gd b/signals/setting_signals.gd new file mode 100644 index 0000000..5374fb1 --- /dev/null +++ b/signals/setting_signals.gd @@ -0,0 +1,8 @@ +extends Node + +signal settings_opened() +signal settings_closed() +signal display_settings_saved(display_mode: int, display_bounds: Array) +signal display_settings_closed() +signal widget_settings_saved() +signal widget_settings_closed() diff --git a/signals/setting_signals.gd.uid b/signals/setting_signals.gd.uid new file mode 100644 index 0000000..d27b369 --- /dev/null +++ b/signals/setting_signals.gd.uid @@ -0,0 +1 @@ +uid://csng7b51505w0 diff --git a/signals/vehicle_signals.gd b/signals/vehicle_signals.gd new file mode 100644 index 0000000..16253b2 --- /dev/null +++ b/signals/vehicle_signals.gd @@ -0,0 +1,5 @@ +extends Node + +signal requested_host_vehicle(requester: Node) +signal vehicle_added(vehicle: VehicleNode) +signal vehicle_removed(vehicle_id: String) diff --git a/signals/vehicle_signals.gd.uid b/signals/vehicle_signals.gd.uid new file mode 100644 index 0000000..3ecc0d5 --- /dev/null +++ b/signals/vehicle_signals.gd.uid @@ -0,0 +1 @@ +uid://d143pj8dbw3pi diff --git a/vehicle/scripts/vehicle_node.gd b/vehicle/scripts/vehicle_node.gd new file mode 100644 index 0000000..14fd699 --- /dev/null +++ b/vehicle/scripts/vehicle_node.gd @@ -0,0 +1,121 @@ +extends Node3D +class_name VehicleNode + +var UUID = preload('res://addons/uuid/uuid.gd') + +""" + 4 | 1 byte | bool | peer provides datetime + 5 | 1 byte | bool | peer provides gps + 6 | 1 byte | bool | peer provides accelerometer + 7 | 1 byte | bool | peer provides gyroscope + 8 | 1 byte | bool | peer provides magnetometer +""" + +var host_id: String = '' +@export var host: bool = true +var axis_scene_template: PackedScene = preload("res://axis/Axis.tscn") +var sensor_suites = {} +var sensor_classes = { + "PNT": [], + "ACCEL": [], + "GYRO": [], + "MAG": [] +} +var datetime_sensors = {} +var gps_sensors = {} +var accelerometer_sensors = {} +var gyro_sensors = {} +var magnet_sensors = {} + +var current_timestamp = 0. +var lat_rad: float = 0. +var long_rad: float = 0. +var alt_km: float = 0. + +var position_3d: Vector3 = Vector3.ZERO + +var heading_rad: float = 0. + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + if host: + _load_id() + Signals.position_updated.connect(_on_pnt_position_updated) + print('VehicleNode ready') + #var axis_scene = axis_scene_template.instantiate() + #axis_scene.axis_length = 2. + #if not has_node('Axis'): + # add_child(axis_scene) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + var time_dict = Time.get_time_dict_from_system(true) + var unix_time = Time.get_unix_time_from_system() + current_timestamp = time_dict["hour"] * 3600 + time_dict["minute"] * 60 + time_dict["second"] + +func _physics_process(delta: float) -> void: + pass + #_update_position() + #_update_rotation() + +func _load_id(): + var file_path = "user://host_id.idf" + if not FileAccess.file_exists(file_path): + host_id = _generate_id() + var id_file = FileAccess.open(file_path, FileAccess.WRITE) + id_file.store_line(host_id) + id_file.close() + var id_file = FileAccess.open(file_path, FileAccess.READ) + host_id = id_file.get_line() + +func _generate_id(): + return UUID.new().as_string() + +func _update_position(): + var time_offset = 0. + var sensor_data_array = [] + for sensor_id in gps_sensors: + var sensor = sensor_suites[sensor_id] + var sensor_time_offset = Constants.calc_time_diff(sensor.gps_timestamp, current_timestamp) + time_offset += sensor_time_offset + sensor_data_array.append([sensor_time_offset, sensor.gps_position]) + var avg_position = Vector3.ZERO + for sensor_data in sensor_data_array: + avg_position += (sensor_data[0]/time_offset) * sensor_data[1] + position = avg_position + #print(position) + #print(position.length()) + var camera: Camera3D = get_node("/root/Main/Node3D/Camera3D") + camera.position = position + position.normalized() * 1 + if camera.position != position: + camera.look_at(position, Vector3(0, 1, 0)) + +func _update_rotation(): + if position.length() == 0: + return + var down_vec = -1 * position.normalized() + var up_axis = Vector3(0, 1, 0) + up_axis = (up_axis * quaternion).normalized() + var rot_axis = down_vec.cross(up_axis).normalized() + var rot_deg = up_axis.angle_to(down_vec) + var rot_quat = Quaternion(rot_axis, rot_deg).normalized() + quaternion = (quaternion * rot_quat).normalized() + +func _on_pnt_position_updated(sensor_ip: String, sensor_position_3d: Vector3): + if sensor_ip not in sensor_suites: + return + if sensor_ip not in sensor_classes["PNT"]: + return + position_3d = sensor_position_3d + +func add_sensor_node(sensor_node: SensorSuiteNode): + sensor_suites[sensor_node.ip_address] = sensor_node + if sensor_node.provides_pnt: + sensor_classes["PNT"].append(sensor_node.ip_address) + if sensor_node.provides_accel: + sensor_classes["ACCEL"].append(sensor_node.ip_address) + if sensor_node.provides_gyro: + sensor_classes["GYRO"].append(sensor_node.ip_address) + if sensor_node.provides_mag: + sensor_classes["MAG"].append(sensor_node.ip_address) diff --git a/vehicle/scripts/vehicle_node.gd.uid b/vehicle/scripts/vehicle_node.gd.uid new file mode 100644 index 0000000..24fa726 --- /dev/null +++ b/vehicle/scripts/vehicle_node.gd.uid @@ -0,0 +1 @@ +uid://d264hr5vl2kqv diff --git a/vehicle/scripts/vehicle_spawner.gd b/vehicle/scripts/vehicle_spawner.gd new file mode 100644 index 0000000..aff74f4 --- /dev/null +++ b/vehicle/scripts/vehicle_spawner.gd @@ -0,0 +1,18 @@ +extends Node + +@export var vehicle_scene: PackedScene + +var host_vehicle: VehicleNode + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + Signals.requested_host_vehicle.connect(_on_host_vehicle_requested) + host_vehicle = vehicle_scene.instantiate() + host_vehicle.host = true + add_child(host_vehicle) + Signals.vehicle_added.emit(host_vehicle) + +func _on_host_vehicle_requested(requester: Node): + if host_vehicle != null: + requester.set_host_vehicle(host_vehicle) diff --git a/vehicle/scripts/vehicle_spawner.gd.uid b/vehicle/scripts/vehicle_spawner.gd.uid new file mode 100644 index 0000000..6faa4b5 --- /dev/null +++ b/vehicle/scripts/vehicle_spawner.gd.uid @@ -0,0 +1 @@ +uid://d0rlx8r750u05 diff --git a/vehicle/vehicle.tscn b/vehicle/vehicle.tscn new file mode 100644 index 0000000..c7d4796 --- /dev/null +++ b/vehicle/vehicle.tscn @@ -0,0 +1,14 @@ +[gd_scene format=3 uid="uid://cf2vkjpwwdog7"] + +[ext_resource type="Script" uid="uid://d264hr5vl2kqv" path="res://vehicle/scripts/vehicle_node.gd" id="1_2o63x"] +[ext_resource type="Script" uid="uid://bflafrhk4eq4w" path="res://sensors/sensor_spawner.gd" id="2_2fi1b"] +[ext_resource type="PackedScene" uid="uid://trl3gugdy3hw" path="res://sensors/sensor_suite.tscn" id="3_1ktiy"] + +[node name="Vehicle" type="Node3D" unique_id=1694630995] +script = ExtResource("1_2o63x") +metadata/_custom_type_script = "uid://d264hr5vl2kqv" + +[node name="SensorSpawner" type="Node3D" parent="." unique_id=1875871474] +script = ExtResource("2_2fi1b") +sensor_scene = ExtResource("3_1ktiy") +metadata/_custom_type_script = "uid://bflafrhk4eq4w" diff --git a/views/2d/View2D.tscn b/views/2d/View2D.tscn new file mode 100644 index 0000000..898ff1d --- /dev/null +++ b/views/2d/View2D.tscn @@ -0,0 +1,83 @@ +[gd_scene format=3 uid="uid://c2yga5koqwo72"] + +[ext_resource type="PackedScene" uid="uid://bbdbyjievjpsq" path="res://widgets/compass/compass_widget_scene.tscn" id="1_fyqef"] +[ext_resource type="Script" uid="uid://ba7ta7jjrjuhg" path="res://views/2d/view_2d.gd" id="1_n6fjn"] +[ext_resource type="PackedScene" uid="uid://b71kuj4yole3j" path="res://widgets/satellites/satellite_widget.tscn" id="2_3b2b5"] +[ext_resource type="PackedScene" uid="uid://m14p8xxs14rf" path="res://widgets/altitude/altitude_widget.tscn" id="3_g6l6n"] +[ext_resource type="PackedScene" uid="uid://bl1fe6rldpncu" path="res://widgets/accelerometer/accelerometer_widget.tscn" id="4_qui0h"] +[ext_resource type="PackedScene" uid="uid://c61d1lcpgyld" path="res://widgets/rotation/roll_widget.tscn" id="6_s8d37"] +[ext_resource type="PackedScene" uid="uid://bosjd085m7dnh" path="res://widgets/rotation/pitch_widget.tscn" id="7_5f0oj"] +[ext_resource type="PackedScene" uid="uid://c71ads44rsa4u" path="res://widgets/speed/speed_widget.tscn" id="8_5f0oj"] +[ext_resource type="PackedScene" uid="uid://c1tptpc2xsvix" path="res://widgets/network/network_widget.tscn" id="9_r0eod"] + +[node name="View2D" type="Node" unique_id=1186202682] +script = ExtResource("1_n6fjn") + +[node name="HUD" type="CanvasLayer" parent="." unique_id=1826106128] + +[node name="Compass" parent="HUD" unique_id=2062816665 instance=ExtResource("1_fyqef")] +position = Vector2(114.99999, 538.00006) + +[node name="TotalSatCount" parent="HUD" unique_id=931018379 instance=ExtResource("2_3b2b5")] +visible = false +scale = Vector2(0.05, 0.05) + +[node name="SatelliteWidget" parent="HUD" unique_id=639649600 instance=ExtResource("2_3b2b5")] +visible = false +position = Vector2(0, 30) +scale = Vector2(0.05, 0.05) +sat_category = "BeiDou" + +[node name="SatelliteWidget2" parent="HUD" unique_id=882354878 instance=ExtResource("2_3b2b5")] +visible = false +position = Vector2(0, 60) +scale = Vector2(0.05, 0.05) +sat_category = "Galileo" + +[node name="SatelliteWidget3" parent="HUD" unique_id=321155482 instance=ExtResource("2_3b2b5")] +visible = false +position = Vector2(0, 90) +scale = Vector2(0.05, 0.05) +sat_category = "GLONASS" + +[node name="SatelliteWidget4" parent="HUD" unique_id=776641881 instance=ExtResource("2_3b2b5")] +visible = false +position = Vector2(0, 120) +scale = Vector2(0.05, 0.05) +sat_category = "GNSS" + +[node name="SatelliteWidget5" parent="HUD" unique_id=1219968995 instance=ExtResource("2_3b2b5")] +visible = false +position = Vector2(0, 150) +scale = Vector2(0.05, 0.05) +sat_category = "GPS" + +[node name="SatelliteWidget6" parent="HUD" unique_id=414563871 instance=ExtResource("2_3b2b5")] +visible = false +position = Vector2(0, 180) +scale = Vector2(0.05, 0.05) +sat_category = "NavIC" + +[node name="SatelliteWidget7" parent="HUD" unique_id=430442763 instance=ExtResource("2_3b2b5")] +visible = false +position = Vector2(0, 210) +scale = Vector2(0.05, 0.05) +sat_category = "QZSS" + +[node name="AltitudeWidget" parent="HUD" unique_id=1004159593 instance=ExtResource("3_g6l6n")] +position = Vector2(243, 494) + +[node name="AccelerometerWidget" parent="HUD" unique_id=1057256615 instance=ExtResource("4_qui0h")] +position = Vector2(675, 400) + +[node name="RollWidget" parent="HUD" unique_id=1446458625 instance=ExtResource("6_s8d37")] +position = Vector2(407, 267) + +[node name="PitchWidget" parent="HUD" unique_id=446468870 instance=ExtResource("7_5f0oj")] +position = Vector2(400, 101) + +[node name="SpeedWidget" parent="HUD" unique_id=186354912 instance=ExtResource("8_5f0oj")] +position = Vector2(314, 613) + +[node name="NetworkWidget" parent="HUD" unique_id=864131213 instance=ExtResource("9_r0eod")] +position = Vector2(97, 134) diff --git a/views/2d/view_2d.gd b/views/2d/view_2d.gd new file mode 100644 index 0000000..61510e1 --- /dev/null +++ b/views/2d/view_2d.gd @@ -0,0 +1 @@ +extends Node diff --git a/views/2d/view_2d.gd.uid b/views/2d/view_2d.gd.uid new file mode 100644 index 0000000..12a82ff --- /dev/null +++ b/views/2d/view_2d.gd.uid @@ -0,0 +1 @@ +uid://ba7ta7jjrjuhg diff --git a/views/2d/widget_settings.tscn b/views/2d/widget_settings.tscn new file mode 100644 index 0000000..7f47ed6 --- /dev/null +++ b/views/2d/widget_settings.tscn @@ -0,0 +1,9 @@ +[gd_scene format=3 uid="uid://dvp8bqck4hev7"] + +[node name="WidgetSettings" type="Control" unique_id=137862487] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 diff --git a/views/3d/View3D.tscn b/views/3d/View3D.tscn new file mode 100644 index 0000000..28f062a --- /dev/null +++ b/views/3d/View3D.tscn @@ -0,0 +1,30 @@ +[gd_scene format=3 uid="uid://crpqmmpxfe2yi"] + +[ext_resource type="Script" uid="uid://cpn54wjv04coo" path="res://camera_3d.gd" id="1_8q2cq"] +[ext_resource type="Script" uid="uid://1825fgmcotxw" path="res://widgets/satellites/scripts/satellite_widget_3d_node.gd" id="2_q2d8y"] + +[sub_resource type="SphereMesh" id="SphereMesh_um2hp"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p85km"] +albedo_color = Color(1, 0, 0, 1) +emission = Color(1, 0, 0, 1) +emission_energy_multiplier = 10.0 + +[node name="View3d" type="Node3D" unique_id=1990970639] + +[node name="Camera3D" type="Camera3D" parent="." unique_id=234414235] +transform = Transform3D(-0.46174872, 0.54487747, 0.699926, 0, 0.789084, -0.6142851, -0.88701075, -0.28364536, -0.36435854, -4794, -3873, -1619) +fov = 60.0 +far = 100000.0 +script = ExtResource("1_8q2cq") + +[node name="OmniLight3D" type="OmniLight3D" parent="Camera3D" unique_id=332477820] + +[node name="SatelliteWidget3dNode" type="Node3D" parent="." unique_id=1092569954] +script = ExtResource("2_q2d8y") +metadata/_custom_type_script = "uid://1825fgmcotxw" + +[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1486446151] +transform = Transform3D(6400, 0, 0, 0, 6400, 0, 0, 0, 6400, 0, 0, 0) +mesh = SubResource("SphereMesh_um2hp") +surface_material_override/0 = SubResource("StandardMaterial3D_p85km") diff --git a/views/ViewController.gd b/views/ViewController.gd new file mode 100644 index 0000000..bcc7528 --- /dev/null +++ b/views/ViewController.gd @@ -0,0 +1,48 @@ +extends Node + +@export var view_2d: PackedScene +@export var view_3d: PackedScene + +@export var show_view_2d: bool +@export var show_view_3d: bool + +var view_2d_child: Node +var view_3d_child: Node + +func _ready() -> void: + if show_view_2d: + view_2d_child = view_2d.instantiate() + add_child(view_2d_child) + if show_view_3d: + view_3d_child = view_3d.instantiate() + add_child(view_3d_child) + + SettingSignals.settings_closed.connect(_on_settings_closed) + ServerSignals.sensor_approved.connect(_on_sensor_approced) + ServerSignals.sensor_declined.connect(_on_sensor_declined) + ServerSignals.sensor_request_received.connect(_on_sensor_request_received) + +func add_widget(widget_type: String, widget_position: Vector2, widget_scale: float): + pass + +func _on_sensor_request_received(sensor_ip, sensor_data): + print('here') + _on_open_settings_pressed() + +func _on_sensor_approced(sensor_ip): + _on_settings_closed() + +func _on_sensor_declined(sensor_ip): + _on_settings_closed() + +func _on_open_settings_pressed() -> void: + if view_2d_child != null: + remove_child(view_2d_child) + if view_3d_child != null: + remove_child(view_3d_child) + +func _on_settings_closed(): + if view_2d_child != null: + add_child(view_2d_child) + if view_3d_child != null: + add_child(view_3d_child) diff --git a/views/ViewController.gd.uid b/views/ViewController.gd.uid new file mode 100644 index 0000000..e4e27df --- /dev/null +++ b/views/ViewController.gd.uid @@ -0,0 +1 @@ +uid://tx2flx7kdttv diff --git a/widgets/accelerometer/accelerometer_widget.tscn b/widgets/accelerometer/accelerometer_widget.tscn new file mode 100644 index 0000000..7b7426f --- /dev/null +++ b/widgets/accelerometer/accelerometer_widget.tscn @@ -0,0 +1,49 @@ +[gd_scene format=3 uid="uid://bl1fe6rldpncu"] + +[ext_resource type="Script" uid="uid://cr4oydwvmm28y" path="res://widgets/accelerometer/scripts/accelerometer_widget_node.gd" id="1_hqf45"] +[ext_resource type="Script" uid="uid://cr4y57bw6jfd1" path="res://MoveableControl.gd" id="2_pog3i"] + +[node name="AccelerometerWidget" type="Node2D" unique_id=1057256615] +script = ExtResource("1_hqf45") +metadata/_custom_type_script = "uid://cr4oydwvmm28y" + +[node name="Panel" type="Panel" parent="." unique_id=1154284634] +visible = false +offset_left = -103.0 +offset_top = -103.0 +offset_right = 106.0 +offset_bottom = 106.0 + +[node name="AccelVector" type="Line2D" parent="." unique_id=108699994] +points = PackedVector2Array(0, 0, 100, 100) +begin_cap_mode = 2 +end_cap_mode = 2 + +[node name="XVector" type="Line2D" parent="." unique_id=1227326235] +points = PackedVector2Array(0, 0, -100, -100) +width = 5.0 +default_color = Color(1, 0, 0, 1) +begin_cap_mode = 2 +end_cap_mode = 2 + +[node name="YVector" type="Line2D" parent="." unique_id=1118780031] +width = 5.0 +default_color = Color(0, 1, 0, 1) +begin_cap_mode = 2 +end_cap_mode = 2 + +[node name="Label" type="Label" parent="." unique_id=749031600] +offset_right = 40.0 +offset_bottom = 23.0 + +[node name="MovableControl" type="Control" parent="." unique_id=345939378 node_paths=PackedStringArray("move_target")] +layout_mode = 3 +anchors_preset = 0 +offset_left = -103.0 +offset_top = -103.0 +offset_right = 106.0 +offset_bottom = 106.0 +mouse_filter = 1 +script = ExtResource("2_pog3i") +move_target = NodePath("..") +metadata/_custom_type_script = "uid://cr4y57bw6jfd1" diff --git a/widgets/accelerometer/scripts/accelerometer_widget_node.gd b/widgets/accelerometer/scripts/accelerometer_widget_node.gd new file mode 100644 index 0000000..fb488bd --- /dev/null +++ b/widgets/accelerometer/scripts/accelerometer_widget_node.gd @@ -0,0 +1,32 @@ +extends BaseWidgetNode +class_name AccelerometerWidgetNode + +var accel_vector: Line2D +var x_vector: Line2D +var y_vector: Line2D +var label: Label +var origin: Vector2 = Vector2(0., 0.) + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + super._ready() + Signals.linear_acceleration_updated.connect(_on_linear_acceleration_updated) + label = get_node('Label') + accel_vector = get_node("AccelVector") + accel_vector.points = [origin, origin] + x_vector = get_node("XVector") + x_vector.points = [origin, origin] + y_vector = get_node("YVector") + y_vector.points = [origin, origin] + +func _on_linear_acceleration_updated(sensor_ip: String, linear_acceleration: Array): + var accel_vec = Vector2(-linear_acceleration[1], linear_acceleration[0]) + var vec_norm: Vector2 = accel_vec.normalized() + var vec_length: float = accel_vec.length() + var accel_g = vec_length / Constants.g + var x_vec = Vector2(vec_norm.x*vec_length, 0) + accel_vector.points = [origin, accel_vec * 10] + x_vector.points = [origin, x_vec * 10] + y_vector.points = [x_vec * 10, accel_vec * 10] + label.text = str(round(accel_g*100)/100) + ' g' diff --git a/widgets/accelerometer/scripts/accelerometer_widget_node.gd.uid b/widgets/accelerometer/scripts/accelerometer_widget_node.gd.uid new file mode 100644 index 0000000..838a175 --- /dev/null +++ b/widgets/accelerometer/scripts/accelerometer_widget_node.gd.uid @@ -0,0 +1 @@ +uid://cr4oydwvmm28y diff --git a/widgets/altitude/altitude_widget.tscn b/widgets/altitude/altitude_widget.tscn new file mode 100644 index 0000000..00eb41a --- /dev/null +++ b/widgets/altitude/altitude_widget.tscn @@ -0,0 +1,30 @@ +[gd_scene format=3 uid="uid://m14p8xxs14rf"] + +[ext_resource type="Script" uid="uid://b3rfje1auw6to" path="res://widgets/altitude/scripts/altitude_widget_node.gd" id="1_hmdxp"] +[ext_resource type="Script" uid="uid://cr4y57bw6jfd1" path="res://MoveableControl.gd" id="2_34sps"] + +[node name="AltitudeWidget" type="Node2D" unique_id=1004159593] +script = ExtResource("1_hmdxp") +metadata/_custom_type_script = "uid://b3rfje1auw6to" + +[node name="Panel" type="Panel" parent="." unique_id=1393400967] +offset_right = 306.0 +offset_bottom = 70.0 + +[node name="Label" type="Label" parent="." unique_id=1070194714] +offset_right = 306.0 +offset_bottom = 70.0 +theme_override_font_sizes/font_size = 32 +text = "Altitude: 99999 ft" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="MovableControl" type="Control" parent="." unique_id=1186292353 node_paths=PackedStringArray("move_target")] +layout_mode = 3 +anchors_preset = 0 +offset_right = 306.0 +offset_bottom = 70.0 +mouse_filter = 1 +script = ExtResource("2_34sps") +move_target = NodePath("..") +metadata/_custom_type_script = "uid://cr4y57bw6jfd1" diff --git a/widgets/altitude/scripts/altitude_widget_node.gd b/widgets/altitude/scripts/altitude_widget_node.gd new file mode 100644 index 0000000..b98ca1a --- /dev/null +++ b/widgets/altitude/scripts/altitude_widget_node.gd @@ -0,0 +1,16 @@ +extends BaseWidgetNode +class_name AltitudeWidgetNode + + +var label_node: Label +var constants: Node + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + super._ready() + label_node = get_node("Label") + label_node.text = "0 ft" + Signals.altitude_updated.connect(_on_altitude_updated) + +func _on_altitude_updated(sensor_ip: String, altitude_km: float): + label_node.text = 'Altitude: ' + str(int(round(altitude_km * Constants.M2FT * 1000))) + ' ft' diff --git a/widgets/altitude/scripts/altitude_widget_node.gd.uid b/widgets/altitude/scripts/altitude_widget_node.gd.uid new file mode 100644 index 0000000..7cc14fb --- /dev/null +++ b/widgets/altitude/scripts/altitude_widget_node.gd.uid @@ -0,0 +1 @@ +uid://b3rfje1auw6to diff --git a/widgets/base_widget_node.gd b/widgets/base_widget_node.gd new file mode 100644 index 0000000..3bf54f6 --- /dev/null +++ b/widgets/base_widget_node.gd @@ -0,0 +1,36 @@ +extends Node2D +class_name BaseWidgetNode + +var sensor_class: String +var used_sensors: Dictionary = {} + +var host_vehicle: VehicleNode + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + Signals.vehicle_added.connect(_on_vehicle_added) + Signals.requested_host_vehicle.emit(self) + +func _process(delta: float): + if host_vehicle != null: + return + Signals.requested_host_vehicle.emit(self) + +func _on_vehicle_added(new_vehicle): + host_vehicle = new_vehicle + +func set_host_vehicle(new_vehicle): + host_vehicle = new_vehicle + +func check_valid_sensor(sensor_ip: String, sensor_class: String): + if host_vehicle == null: + return false + if sensor_ip not in host_vehicle.sensor_suites: + return false + if sensor_class == null: + return true + if sensor_class not in host_vehicle.sensor_classes: + return false + if sensor_ip not in host_vehicle.sensor_classes[sensor_class]: + return false + return true diff --git a/widgets/base_widget_node.gd.uid b/widgets/base_widget_node.gd.uid new file mode 100644 index 0000000..af9f219 --- /dev/null +++ b/widgets/base_widget_node.gd.uid @@ -0,0 +1 @@ +uid://d38qqe1k0dv2p diff --git a/widgets/compass/compass_widget_scene.tscn b/widgets/compass/compass_widget_scene.tscn new file mode 100644 index 0000000..ed619d9 --- /dev/null +++ b/widgets/compass/compass_widget_scene.tscn @@ -0,0 +1,38 @@ +[gd_scene format=3 uid="uid://bbdbyjievjpsq"] + +[ext_resource type="Script" uid="uid://nxvyqddlwaf1" path="res://widgets/compass/scripts/compass_widget_node.gd" id="1_fslm7"] +[ext_resource type="Texture2D" uid="uid://cduyjqlfqd4bh" path="res://widgets/compass/resources/compass_indicator.png" id="2_qf1yp"] +[ext_resource type="Script" uid="uid://cr4y57bw6jfd1" path="res://MoveableControl.gd" id="3_qf1yp"] + +[node name="Compass" type="Node2D" unique_id=2062816665] +rotation = -6.2831855 +script = ExtResource("1_fslm7") + +[node name="CompassIndicator" type="Sprite2D" parent="." unique_id=630014919] +position = Vector2(0, -100) +scale = Vector2(0.1, 0.1) +texture = ExtResource("2_qf1yp") + +[node name="Label" type="Label" parent="." unique_id=338110309] +offset_left = -50.0 +offset_top = -350.0 +offset_right = 50.0 +offset_bottom = -150.0 +theme_override_font_sizes/font_size = 80 +text = "N" +horizontal_alignment = 1 +vertical_alignment = 1 +justification_flags = 161 + +[node name="MovableControl" type="Control" parent="." unique_id=124696843 node_paths=PackedStringArray("move_target")] +layout_mode = 3 +anchors_preset = 0 +offset_left = -128.99997 +offset_top = -188.00002 +offset_right = 125.83328 +offset_bottom = 194.89629 +mouse_filter = 1 +mouse_default_cursor_shape = 13 +script = ExtResource("3_qf1yp") +move_target = NodePath("..") +metadata/_custom_type_script = "uid://cr4y57bw6jfd1" diff --git a/widgets/compass/resources/compass_indicator.png b/widgets/compass/resources/compass_indicator.png new file mode 100644 index 0000000000000000000000000000000000000000..43c09fbd060f6c3f5d0b310286ab8c405d8bc9bb GIT binary patch literal 47092 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 literal 0 HcmV?d00001 diff --git a/widgets/compass/resources/compass_indicator.png.import b/widgets/compass/resources/compass_indicator.png.import new file mode 100644 index 0000000..4399315 --- /dev/null +++ b/widgets/compass/resources/compass_indicator.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cduyjqlfqd4bh" +path="res://.godot/imported/compass_indicator.png-8d5bbada0ecaff62865bf7bf5d36fd00.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://widgets/compass/resources/compass_indicator.png" +dest_files=["res://.godot/imported/compass_indicator.png-8d5bbada0ecaff62865bf7bf5d36fd00.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/widgets/compass/scripts/compass_widget_node.gd b/widgets/compass/scripts/compass_widget_node.gd new file mode 100644 index 0000000..940103a --- /dev/null +++ b/widgets/compass/scripts/compass_widget_node.gd @@ -0,0 +1,21 @@ +extends BaseWidgetNode +class_name CompassWidgetNode + + +@export_range(0., 359., 0.1) var north_deg = 0. +var north_rad: float +var indicator: Sprite2D + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + super._ready() + if north_deg == null: + north_deg = 0. + north_rad = deg_to_rad(north_deg) + Signals.heading_updated.connect(_on_heading_updated) + indicator = get_node("CompassIndicator") + +func _on_heading_updated(sensor_ip: String, heading_rad: float): + if not check_valid_sensor(sensor_ip, "MAG"): + return + indicator.rotation = north_rad + heading_rad diff --git a/widgets/compass/scripts/compass_widget_node.gd.uid b/widgets/compass/scripts/compass_widget_node.gd.uid new file mode 100644 index 0000000..14b6f5d --- /dev/null +++ b/widgets/compass/scripts/compass_widget_node.gd.uid @@ -0,0 +1 @@ +uid://nxvyqddlwaf1 diff --git a/widgets/coordinates/scripts/coordinates_widget_node.gd b/widgets/coordinates/scripts/coordinates_widget_node.gd new file mode 100644 index 0000000..68ac40c --- /dev/null +++ b/widgets/coordinates/scripts/coordinates_widget_node.gd @@ -0,0 +1,11 @@ +extends BaseWidgetNode +class_name CoordinatesWidgetNode + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/widgets/coordinates/scripts/coordinates_widget_node.gd.uid b/widgets/coordinates/scripts/coordinates_widget_node.gd.uid new file mode 100644 index 0000000..50c03e9 --- /dev/null +++ b/widgets/coordinates/scripts/coordinates_widget_node.gd.uid @@ -0,0 +1 @@ +uid://b6qxy6aymwevm diff --git a/widgets/network/network_widget.tscn b/widgets/network/network_widget.tscn new file mode 100644 index 0000000..5cb8b98 --- /dev/null +++ b/widgets/network/network_widget.tscn @@ -0,0 +1,13 @@ +[gd_scene format=3 uid="uid://c1tptpc2xsvix"] + +[ext_resource type="Script" uid="uid://mt037slvxcey" path="res://widgets/network/scripts/network_widget_node.gd" id="1_fmbht"] + +[node name="NetworkWidget" type="Node2D" unique_id=864131213] +script = ExtResource("1_fmbht") +metadata/_custom_type_script = "uid://mt037slvxcey" + +[node name="Label" type="Label" parent="." unique_id=753359612] +offset_right = 40.0 +offset_bottom = 23.0 +text = "Network +Widget" diff --git a/widgets/network/scripts/network_widget_node.gd b/widgets/network/scripts/network_widget_node.gd new file mode 100644 index 0000000..ce66780 --- /dev/null +++ b/widgets/network/scripts/network_widget_node.gd @@ -0,0 +1,20 @@ +extends BaseWidgetNode +class_name NetworkWidgetNode + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + var label = get_node("Label") + var label_text: String = '' + for address in IP.get_local_addresses(): + label_text += address + '\n' + label.text = label_text + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + var label = get_node("Label") + var label_text: String = '' + for address in IP.get_local_addresses(): + label_text += address + '\n' + label.text = label_text diff --git a/widgets/network/scripts/network_widget_node.gd.uid b/widgets/network/scripts/network_widget_node.gd.uid new file mode 100644 index 0000000..20029f9 --- /dev/null +++ b/widgets/network/scripts/network_widget_node.gd.uid @@ -0,0 +1 @@ +uid://mt037slvxcey diff --git a/widgets/rotation/pitch_widget.tscn b/widgets/rotation/pitch_widget.tscn new file mode 100644 index 0000000..2d03bf0 --- /dev/null +++ b/widgets/rotation/pitch_widget.tscn @@ -0,0 +1,52 @@ +[gd_scene format=3 uid="uid://bosjd085m7dnh"] + +[ext_resource type="Script" uid="uid://ck4h0hm0ob56p" path="res://widgets/rotation/scripts/pitch_widget_node.gd" id="1_875uw"] +[ext_resource type="Texture2D" uid="uid://dlyvq43tjdaja" path="res://widgets/rotation/resources/crosstrek_left_outline.png" id="2_2b2r3"] +[ext_resource type="Script" uid="uid://cr4y57bw6jfd1" path="res://MoveableControl.gd" id="3_xt4uc"] + +[node name="PitchWidget" type="Node2D" unique_id=446468870] +script = ExtResource("1_875uw") +metadata/_custom_type_script = "uid://ck4h0hm0ob56p" + +[node name="Sprite2D" type="Sprite2D" parent="." unique_id=2072259568] +scale = Vector2(0.1, 0.1) +texture = ExtResource("2_2b2r3") + +[node name="Line2D" type="Line2D" parent="Sprite2D" unique_id=789552281] +points = PackedVector2Array(1500, 0, 2000, 0) +default_color = Color(0.1254902, 0.1254902, 0.1254902, 1) + +[node name="Line2D2" type="Line2D" parent="Sprite2D" unique_id=346829192] +points = PackedVector2Array(-1500, 0, -2000, 0) +default_color = Color(0.1254902, 0.1254902, 0.1254902, 1) + +[node name="Label" type="Label" parent="." unique_id=1536224386] +custom_minimum_size = Vector2(100, 0) +offset_left = -50.0 +offset_top = -22.0 +offset_right = 50.0 +offset_bottom = 23.0 +theme_override_font_sizes/font_size = 32 +horizontal_alignment = 1 + +[node name="Line2D" type="Line2D" parent="." unique_id=1285997474] +points = PackedVector2Array(150, 0, 225, 0) +width = 1.0 +default_color = Color(0, 0, 0, 1) + +[node name="Line2D2" type="Line2D" parent="." unique_id=1217978761] +points = PackedVector2Array(-150, 0, -225, 0) +width = 1.0 +default_color = Color(0, 0, 0, 1) + +[node name="MovableControl" type="Control" parent="." unique_id=933534450 node_paths=PackedStringArray("move_target")] +layout_mode = 3 +anchors_preset = 0 +offset_left = -228.0 +offset_top = -45.0 +offset_right = 227.0 +offset_bottom = 46.0 +mouse_filter = 1 +script = ExtResource("3_xt4uc") +move_target = NodePath("..") +metadata/_custom_type_script = "uid://cr4y57bw6jfd1" diff --git a/widgets/rotation/resources/corsstrek_back_outline.png b/widgets/rotation/resources/corsstrek_back_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..fe5c1325b7afcc7d2b3abae39c8e585a39a9f658 GIT binary patch literal 160187 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

g-y zKp!I!pg_el^m3jzAvny1M$JV(=h5Q2J>`wgQSh)zh`cl21d?&6Ja>!)+kPZ|r)IH+Uar$(1*uAeywS zqC7<82gCy5Rq3;K|1N}zBTQON4SV4(3j3ZBJmF6$-28deg3nl45#Ky$9j~_iP86Se zJu3^(N=-$p?(3;yj{74I@j;SLV%&dw==JrTtTndO2;Mm_2jJU^fp)UH{dagAZ+3S8 zPJfBN!(79+C0#&Dl}|+u6!rU8z1tbSfoig`Pvz4vx(1#$KR*wC8dJfsS)Dr7b#)6j zIGl-#>FHRx;AkG;EQOaZU0T>nr_Y%i8~^z>I{I6qb|>8;=}W1GD6BYbLeGF;yvR=N zqtj>n)~);8keb?-;N|62pM9BA2eY#iCg|zuMXs@ovcC{;G4W$+%1K$rtziTb{8Dog zb(%{i4a0T!MMU5ZtknOl2KfDMhGmo}WBr$|rJ@%*KR} zkP#u3N+lYX^^dx1E-k@<2EZC!3`g%rnm};MNl5HlvXN0@yJxw7aB%QMfBl&=vTYrw z6x(ubk;%LS&`*R<*I6GVy~rEeR6WM(=5IRs5%BVjR`-t3-rgRpU|PQ@153QUpeU;V>FPF=PSF{7-|wW=c0s5a#1-p~L{@I{Pc$2v zxU3Q%#d+g>`0%U{h_r;Y(&G8+(usfKEv61XF*Svdia&YcMB*3Q_+e|(nuv&Tp{1pz z5DtS;g0W^do;TSL6P|~2#S|7+tXM%jvS&cUCs#abm2Cl4a=r6YFw1{IP%VbJ#rtwv z%9YFW9;W%gTz%b*4VfXMrJ-i^{%vr5&UyRj*`oH$v^0c)C#p}Kv2r7Wr<89^|B`Y2 z`gnpHFTRxBSh~cEh$Pzvz<^o+;H&-I-6!qtvVO?O$OzR`RVhC)hcgHT^^}F8CybN# zDwTTl>1s9>4)BxL;^X79`hfQNfPdNPYk&PiFlvkVxEXs$^h363y7YpZJAyUfbnU=f%hfttNLcPE~AKT!8Wt9Zx<_d16ZX;L zBgfrTBB6S#kcG*K2A!vdDSyh+)6y0)apjolA=}X<9tXg4b-*g0-?VmZ@})+Cp<%U< zLoFcTVf}UD8dBz|SIQ1tZeB}?;gUCw6`vX)-~L$qgueS*X*Ix=f1C6ep(MAI-n%W0 zSMq|Q&CtG76?!>?p0{0X;3LLJBMtRp`h00=sW2}u&(UD`)5nj0q!>hMEK?Mn5-iUF9NyA*~wyIiYE6nmHkn4t%5q}J)hUcpxQEooOeg);nE%P{KJMxojajBzm;9NVpgw)R-l(m{bP9` zY^0*0ii+oijs@`VexCC2o#Hk;MDH%VOh3HK#JMCQTUR%<+JIP$Rc+iP+*T2>k z=4-eEuxfOl7R|OfAxJHWdCQJa%=H+95EW!$mkb_HsaBI)6Y25eFLAIq2Q~>}DajU# zB$!Yf#P+d9CxnB`5{Y>dE&k?-DU!n*RKA{I=V)u+pBQKWnC^H!%9O(_0iCeqS-=9G~|;CoD+WIdMQSS@J2}qymq!EOOeNFc7fVN0OzQ6rpkO`M-X{AN10;qdde1$~g-MD5#a}tzwl| zucmzU^KmllQO9B@Dj|gFs+yX_;Ua&@V3u+)XUvgs!g;CM{?}uG%-0d!?=!nhPY+xE zrFs^swcxkORn;-@%vJ9W52;=S=y|CoxqS0f3}kl1PI2XUcn?43)d}j*C-~x_jpiC4RR#Yepzfyp1NE+?rmwdZkz$ynDJR zuZYDXRyCX*=8lXo-niKX1m45pR%X^OcFZg>*e+N`JY*PLS^g{ zg#H%$7j(TeL1kF!g6&bu-X_^=e$GqW`QQDM>;|+v zi9&i#x1;w%#STOACc}LzvmgET_ejx`bX4~-G0av>_woUB)Kke~<#bAPLHIW_}|JWXgr_y%J}nk~0P?-)E>Va=AQ*G&R9e&WK;PB>W5l4Nqz&~eG&FSK*Z1$g zGgl)+B^$|_njeLv9(~xYj|+b+-+|#>jE#&KJ$Du>8Ayk!CikU&uBA}xW{9AK)G^HJ z0xB7tY}sB*;7F=0S6}_idx=?rtYazwHZ@Bla*eFkFO69RlCOmGBM~+9e~Sj6QUOi+ zK-0iLs@U*8Egbu>T3Rb5v81?|5|8=Ga)W>@;7XhiQTeO&j;(OKipG1Cm&Fpxuq1V; zE}LuFgF%|T?WLeR3`sjsgFGXyo>geBLxLHi<=6HeLTh>@1YRv3DG$9)#lB~9UUFS+w*`W7wd|=Ht+kD5+6T< z1RzY(m$yW;{sVfzDH6^XVQ0Teb;muQK3WyYt2Sd~inaw4J`b6q7ff+;@~TG}yJ-kkbO<mK2E8W+|_t*rPpIx=y~{_8tU}SsJ0WUBdRou$|=e&7I`# z7e3tAuN8+jSxkd8uDUEpudPDpFl@FW^l)7F;!7M!kWSW}_A>YV_h0AZeph|`2sikw z;rKYbTL&0xfIY<5_D+3$BE39TxjtEC_j{0bcN=dl4S>$F8GXCMi=~RI&%9PrJ&|jhYdZ3kt? zH4tS|o)OoBWKVWRF0CD$vHFWbq2B04GHs5kd>7^E7}?Q=zF?DFwzde~r#3L^rX}bA zn2vD|9%n;(>dS3uLDornD81-7?Y?vzic8{xB5&tD&iCU7vch&CtisN6g3#QLzMD5o zHD9^Bvm{t#D3ooF*E%}#EgP5}DFaZ+Lwok@$yK44cpd7=S78oK3mnlXDxNWC&BGiR=TAw?eV}c~j5^wb94c)EB{B+H@P+lv5ISNC zb1hqry(#Iq^~r|Q9nALyh#HNg{iDM}G}PmdJgS9h=AwW8cV={St^*2J<)zJs?=NyS z)LFi!=_Vq#zI0_`uNz(#{vpTFhBujyz!?B)9iQ$uT)Nmk20LxfeTt1&QP$qatR@}( zVYV(p&2z&&d_U{@3dBoyzRG5L$eYr~z(}GNtFj`e;4~g~fbs*v%lbc&LzPq|*`50++2*SrRUV521h8*G>hOYve3uLC?$#9~ z67zLocT6IK0co=(T&bHZ`2^G;6$=GbUGIm9U7BXAooqU}9LU{U=o|&g6unC1SKQ1I zlv#P)R8L9k$>GvQ3(HZ#(i+yna=mk1pWTvVKuRBM0(< z=j=$r5VFBpsDBtDBZq$cL+Cm3zHM&9_S(BCp$iV%^6^{NZ#-P}prWFJn3wnIbbvzJ zxDfOmfPi+iBosvR=41+;E=bt6?KQ}&o4dQa7g%)=P)2kzNO4@V#`#Bg>UvU=4W@pb zm`x>PhQqYvZ}eK^uPQ4mg`mnL%*@D8-{_FUiuQQ4ShIYbAZTx5N?@y0W{B6`2tFgL z9@xX;iOM$~L~ZH!>?R((6A9Y|cUt~`>3$nH|7Gg2-#$-saFHJw8k&=On^Rs?H2I;aX|N$Br8U8__m$CkUi^??Wpz);VO<#>9v1%i@k7{pD*&?NJY}QdiWMzD z&>D!@SRpv3H?Jt|_(pT{I|jk@XlV+h^!~h*tAmkDv2blNV&TVRq%b4|ej^6)#ND`3 zCQyNX`EqHgAi>k~r4V2u(BH;MN=jn%8g=vHy61To2+Bdomfz}b7Zbg%Hul2GuL=eT zpw-w-J=s6eOSj#%v3s!ig}Aa&`66t9&{UzvRDS{u#>>JU0%gjN)RB{xp~e0fhd0g@ z7gbCMTl!GsKy-PEj@CJ(-r)yFe(7(pdOF71?#MuT-p7FceayZO57kyjEbAX~{|pW% za>k@JY~yK+flLj%#5aBqHg!^o=Y#62-F+SpGHJ%Xqw=HEzX?YM{6F$xO@ zc+V~-b>mVSob}Y?NRUk{C5%pEq%K&u=5K0xP`DtRnLW8!G{e{>P(NR60LQF;Kb`pU zdLLVZY-ll`4+>{hlhHr5f%9PjLx+P_IcNBosX9OkdO%DfY$~)g z?cal~ZU6e{q+(U%m2*e9{=ltJDvpwWk`FC=u^D6{9^g8*OfsVeDCi|_JCMowv<#)osLkl4loTNfo5MxAQo`^HlOJ0d7N@h5 zm5khA%0&N=Kw3yp5CfaXMY&R zTIw;*&vsqeV+qCfa4@g9$cSUhq+SuRpXPo)n)s&Cb2wVc!`9YzhK3F64+iyG6Rbx4 zk*IF_a_EqmeC4}+mn`x?TP-+MC8YTXP91AhdezsN=s!{bif ztp7~ay0jC(jk-V)#?M{EQ{59X1b8$cWxbPEA)41F5q3R1>>RcWy3Hfnrw>|pGCx0m z;LGb9&Gk~}%**s}F*{;oEqFjIsQh=OW3Q$6sMC`l|M~T;@tP~mgw7oTAK^0Ups6$! zD$D1f>HMVhY$gjFl~8L&1#0IPru#pghO=yUhL*R1gAXI5)z+v7NBnVWmp?1Q^6c$} zHyVzh>c|~WPWivAn`hY;BJRGKZ>>B1X=U^<)_&X^?()^3_@?;u$_MBkB9EF>M7Cuv=C4(#=HN^I8h8Mfs=*N>E;kY!38G4FLu;{r8+Q0TINoy~ zc0D>QER2w$y2idj-Ph}*9BQZH%*Zp1T%{}|jFfmcA$jZ*nhIX%UQm=qcZmaM%TsD}xYhXjr5$>3|LDOBkxxc*t z1_tc#cjz1RD>Z$w=?4xToNqYtE22sn*d^OIq?2!?#^h1$J#q&g?H#O3E(yPix+j~i z9Y~`IoMcso0TN1u)^=2BuE0CnSYC1zS6 zCHp|;OwPE{RB%dc4+|AW9Csb;CZ-Zj3fYe3O0VWOX!dk7iSr=_DaE1dl?Vsc1Rz&7H$dh*w}g3cPv<*T_t z(j83tlnO}D7ti|6TsUGf>pl+Bn!OZPC*@aA!_m9aO0d;H&0ZIw;szuj#XnN>D<27W zrcf2tnCZ)WG`vmsAnt5=@#T=^xh@tPRcq^qtR#5@-Q9n%+39?-d?T+1Cuw;IgUu%U|$N)MeyT? z#qYRNp0q1$i_OyQ1l2_0$g_)>w6rwN4*gV|^Oi9s`cDqe&!4rNtZYL64i1miTVdfwxQA^C~>#wfHgp zSD5^1Rke*8Rc=a`qI1t_4$Ud|xGMK>uxF8ds$xo2vri$#r~oTDIv-kFgG{2rO^I=! zbk4I0Xa4A-S*}*xEQ7q~xqki0fw#BzdSoi{+usa7ImfG5`7*xh9WAd*0Bjv|0$fDp zjiF}&d&g7B$~(nAL{Ix20eD-L#S%`mBQEpmx^|6#W%fe92TavnE+<`gP^kk#7HaBV zl=9{~_~r7-%D)qSj=m({(n?;wLG}UN&(H6y=L!z<%niSR+dTdgCCuuMj{e2p$hPIE z_CUm=SK$N@@0e1;yEco~qzI;+i(ZZKOJRawN>J&?GKoWWZ@(WFCbSd&7CXS>=m+{| zs9x5Qgz{%iQ}x`k!Z-I*l|g@Y|Ca}(#d9O3b_rcV*L{35IX(o7<{|e|ra-?2GW>V< zt5*wPVxHd37@tE;s-@t}gs`*FimYGRE2(ZVd9W_1=l(BpSBzk9`FsQLv>o9+biRZl z-&HXzsw4np3}Mi&^Yk7z7i2Y|=>DC3#YD|V6a9~kPk%?r%6?4X|2*gG>x=pD@TlfG zgHxv<*CD7E@_ffTDqn*g930r-c-4z#8@QX$;^I^#GPIHm9cYNQT`gUkhcfYQ!tL4# ztM?*Uy1{nsY-(YI4?q6?wB%hS_mqVzXh4dz-6D;r-T5&9fBIe87M0eHZO22dN>Xii zv435(&Af7wsdsm9fCM+>J0urf3#A2cpvq{Kn)*-XgS2DyhZ8}q`b$jd<@M*D z8y#i+IF*!y;GI-7pzo1-*(6&4(?jgN-2w<@lCSC8A?o%Z4y$Jm!5 zTUc_~@nbWk`skBfH!Bv7M^yg#oQz?j7dOB($xsKazUr-p!k!7^i4pbpJ5i^1k||G*FcK$ck!P6-`6DRw%q>CACHGdg(`& z`&M=!+VOY&9O!J)fFp#c7YRbv4BpIT?wcJ#rPc?hg={*vuP<ijV~GF!O$}3PFY+rm9SldWb2~gV$(6eDnw?hZ2%^}AuWxD z`N-OnOE_)4LCr;K12(s%7%8_0;8Rmt9_Zuzx_qY9BM;J_d)E3O? z;wB7d(@H@c9sLyXP**vcU?!`Xgq03KT!Wu9HZ)AT@DU-|<(>y(o6k(>hteoyIi=)0LESEFnyD=OxM<2z?a zw>%D7fvA4xA*}M%{OlLS$H6?W{(f}xZ7~1u;F|hyJDo=@X#y3ty_BdG#kW{aPeEFw zoC48)%ECGF9|cOeVAc0*(9u|#FWfP$#$1ahTg&n`i2oAqsP1;LDr&LGFBJXK* z_d^eIU8=LsunL*y@=r2TPM(39&|pm*JuAF&_1ciB6aHK555|^@Vd;#zEavsd`9I$b z;JFKbGNH9bh}8>H%?quNK-SPeRD#eDbXR7xzJQ1wGy^{k|JXn?CE5rna|xV*)B&ZO zl84Gzs4oek+e&4bg5ymXj{G^Inc%AqT7!f<9Y}SDXTy&h8X9wlDe=L<$gDL)V|*~R z+387)uc2X0vxBwTf&-FH+!o7wW0znU|7Y^dz>nAaFc%x*;pcu0C8d>?YV!aNF6)cY zY}L6m3cY;;oMlyd|M2K~(_h!h%NH7sszi5?de&&=@4a$kUf8{M=B@?JfuFhznD#M~ zY7rjT0mP|XM=~6(J|*){%68bxlbSOy&1%&ek(Ax}R2ZVqipWLgZ>Tv|rN0^^hs{Do zgI(O+rNR0g6rV28U?O~0Xob4)s5Jyd|C5o*fv`&Pc5pibsojyu`3Iu&aStgfiJ+n7 z>0%2aIA(ti8m-UO&`xg>&Zi9g`e66}(e>`}OtAm|_%>|A*qqPIS&8O+j18eujT99% zl2gthIqu+`!|3GDVGfl}AmJ=}ls+K$@~Enc%{S=HO!DK3p|>}~>b-e-p?*HpY9ytq z9Fjp9!)vc41z{dR^aX8jI4ZWu?tl+ufJN>^+_ybRm4|q@2GDmiSbM{^zvU!#4IVLl z#Ds|cMLN#T`3RP(~BU0@HF{pQiT zexU2tPAK)~E6Y8x?HOgTWQYo_4<58angwLKeF=UB23+j`>=-GYZVq`biu+1FijX)l7=F1no{(%8K)XBYt9-f|@&#&&tjjs>O z5O_kHs_mMnJ?d@HTnafFEmn6E~>$=GS_GPT<7yyb$EptG8K6xILTsS|b2HIu>!w?Qllf!-7>j2e47GPo>5{LhSHHsyl%2KzkX&Skw7ZZ`-;47tNz!jcH^D> zNB3dE+cUQylOm5jAKAvoI7z?u`mP@r1{s4H|9%S{14t*cu?L>XV+Jz85^yX+v#1T5&j!NCPi?SXsD z>$ey<{5?iBzAoPz72)EIvJgHi8~MrM$mg(kX|d)&gfp~0Jm}a_!X*FDPPx%uxOP1>%# z#x12mJC%YcNZAty)6OZUN*7RGc>vrm^RckZZD{b>cjIq-r0>**jCivWsei0Go$;czV53RunQOtbJgh&!9 zWD58)u&y&wX-ix*8%hpe?PL}N^XXLu;uv!veQx^pi?aGpsK@1sD_0DLZy!A_dYJk6 z+m|mtTMj;y#K|q!>@FC=vq2Ee*?!hMr7w_3b8)uMCv4k%#_L7iGx0R&t}XU_qso|( zz;B$7jY=p6>jXFlwgDK91&^b=p@oo}(*d|YF8LTR{X)GNq!d&ZxgBULF==Wb;+=}$ zm6~#>G3%m)?7b%yU%+LPg`rTjlzki)kI@LU*m{N_$HspHMQNGDm6b=3B2&UR4PM!j zz#)Xitutzqay?Dml}v?u5d(y0Huo4=*rQ`F`NotLO8@|tV*E|cm|5HP)BWi02+#e1 zrPq#s`?0d;Z0hmtpR(zuLdlNgp&Q~JYAnWu%6ZP<^djb2&2g?e(ZiZ8*_j}goq?7K zy&M%gU1r5ng872~n7NY3KAD+;)Vm$~Ehm2oakgGn0)_2V6eIHMf37+guO9$;};)80!Nad=!@}w z^K;XPw$q=jr2*dh@yxPjaDxS{;aXUD7%nU#0!Tk>Gd05)`p=y_cAN&aqqV=k_R5g) zA^d+>D<%m^X~KTyrm#o=L8}Q~Pl~;5N7B*~zm;|RU99w~K@dqNg4^ zM)P`hj&)0@aL|jenbb&If6sJ&em;QYPYsYNq*&ATe0+SV2(%)x zZ3F3BOwyYb8R8AnNn*=<4(T0l;pfo{g4AFN6Sy2Cc>vujXv=j}p6n0}C#8_9im zL=SonwZ%9{Q`?%i*sp|WyG=c^rd^z2MvIx z7A-YjzU}_87l`iQv3WnncXGoV`Rd&A{5$QoOHcO8SWza{zm~q6$jP}O;&3&NFf=$H z(f|_az#=6lX5vDa?#8vXw^0{8zkYbQ7&a> zGjJs-n;@A6V`1C`8|ov54Wt1f*`)`z zeg^4A#*V4l2O?r?ciG2sa?jr4-LbjB497!KT?T1=)Q?Xu%TkXz+Q0RK^YW6nUv#jB zh}0X|ZFN3H*t;{&Yqn_Hl$Z2a$PXn$236V#YILSWkG!jj^ny^NBd^I51&@H#}7oUO)MPV57sw@u!w!+twqpI;Wimom3Q1mO>rx7Rs+wUae$S<5|ZpXvI!-0=v-%}|L2LS(> zgGk~N=fTI2TY`a-=6rh+az5(|Mt(2jD$)JI7}IdPr|<|pJf9U@_)8=_BX2rL-7El5 z7&V6E>Gob;UIk`YSv5N;RFMoz(*EmHQO+ItbrX}4%`pY2ElZw3D?pKL#pJm&=UOH9 z+kOwb8EZ|1g;r2kCzr^c!aKjB-Q~FQ;u-O0=mGDU*AH0>Ny)i#T~7KQX1_T8zv}F2 zX?S|tvm`gUZyeu+L5|T0iIpwKj;*{O9f$R;@j1YjXounx^(==mLkM-CgkS`Ogf8rrrd&O2AHmZfEG~*|c2jSH^pB*E;ssxk zUi2P)f$L)S*K6yj2nl4M;zfbm3ObzP4*@G~^t}08$wr2$GC!@=#m05MawM*_{0;T9UK%d;N;`!-q>!WAB&IvaXaHJdPI#v4rCY+07Av zRQ!Dfacd~It67)bH`hX~=k59|-T&~Rpql-+F;;s!Z{2%qP=rXo*lR_X;V9^A#T)MI zZp~|$a|xWUSovp%d8A+l;o_ed58k%qitU6OGkx!Ob&>t+5(LZ*`0iKx6x(LmSL`Kx zN;yD0aDU)|bh~C}x>s4}%jZ)qmAAW-*nO`YN6`WZs&swpMtd97ZS#&-!xPpMmgl|1 zaAk^r5Rvi#cDLvLP|tWvO3A0BDD|J5QX3!@aK*^6S`|ndaO46nub{t3ALYSelfVj+ z>QyHUXJFS)Kb;jcMnn!_F2E^IF_hT@+b%1VE&Nl(Vq5c;b1MfUYexnK2JjO6Mjm|n z?^~{10TXYxq_1$EKYxxb5!bWeagHj&_?7PhQ4ZtatwJk@uB=@KDD|Z$U0sk$ zrEqU{Io#jkDo|W;d=!ROY2pBByOqN>gT>gSHa#80KD>4gK3LY+ICJPG>4yOS49&mk ze3uvbu`=u?Kl+tp&dst|a0Y%o52zp@`?IE>6?bM$)V?Nk44uzagn}FB%*ZI23RNGH z_mBnUEy5>TmWy|*YT$GJ`u5$sw+X1D=+6)ci=m{g5*sVa1wFpt)~@Ow{ttTDX2y%3 zRyicL%&BvEV~X&?f3N1sFIp)+CQ#m(uy<((@vJ|0?wl(+4Uj76g}AIY!Y-!Zy(Aeh zXaVK^9hIlfpGE{JMhppNEQ4AdLF!89s$$r0Q=!j04|c*zSz=5p#ZpkvAbopn8)3+i zKE(hV5w}uYyyM8Y1Azby(#@CSY{}&3pcM%Z;}p7uRs?6fu8norC9haG`-SSOhg(;! zs`LH2`~atT5J_&(lnJ;3$~JY_#*L&P_1%|6`ZP-3G6kEK@3Ej(e)OvPg8>2j#yqla zK82Jj{^n`f0jJ10n9ujJseg_-&4M?RA;BB#B|J_$#d2x;$&iE4r<5N$^7EhIdETYZ z<9WQYa&7;4$B@PKYt~wp3fCQOFl>#T(D9$?c$gPG)WCl0eZm?5MSh9!t}ZK(nBazg z47mmRkS2&*;cDrbd4$2j$+yiP=xd=EdHJki;qrE;8nZ7fEAByL#`1gE&m0HK2dfG@ z0m{w4YseJwvP%Hj22akF@{vT*lDk->WqW&jY?1tO*alD~#TpQC z6IJ-zgDKu7N6pBZx0#=)h1vEdJA&?4K*3ypVdnwLuEamZ zWHU>+8J?G^3n|u7$ocLH=dAD^P9DvUyUXXr}m$=d^*8a%~se-Z|u%8O4 zgvFdkvo{D{RC(9c?f8A2z{UVBt|%0jRG?`p!fj zp|`Ny9UKsL$AfQzM7pCj>i8jH_ZEue_cyd`q4H&xE{~%6) z-IjM)+f*wt(HqIvA1@Fh3H$is*)xEex+$2jh?($Ja1gYud!+hMgs190aNDgxa;57@ zm{ay46rz7`+4EIA$^Q^f=}1Ze&i}tWRBN4*OR9yjR#1c6s0Mukhn-@P&{|!wTFMVs6sUrjAd4A(lA&+dBuw4YNvYis|@G0gy z*C7;m(|i#3eO+RucN2-2uJu~(TlnG~b?=ABJdnkwK~y{1l6G$jCl;U%uFq~x_!E3) z?}OxRHe;L#hV7a5zIe&3bTW!vojF0<4pbw2QYb+Bz)=Zx{LDqhP#)?1Cy?!zvEHVRpSx46fHfes?%qt9s3*5DRCB* z?y@2d{1)L;gRj=ZP(s=aWiA;VeI&Oz^gm;=g(M;IPds^U9AZk>ZzAQXTW{;ibYnm{ z54tz4-2MwFX#9bnW8#n$Zgzr}%DFYLC#x$= z+E~PVGH>-x{QklO%3l#r8L^641e2}Jg9X(7m`IfM8a7^R!B|!F35O?TAZa41ryP!P zUw^|*$Hs|Su5;hbGFidQnh8c85;YjpP@_)vh?A$w=Bji3{gkQGkPaQu zb7|u_+}zr46b}?dftAB#%h=Ji@X(HuhHuO{@RpGMOCOy&jkx9n{Q&j4y#T0eguoH^ zt7`3v$&nlqWf^tiB5_~vQpKJJ6`YkXfZNS0AQOw{Cg4@Bb4 zi6N>FHTSqsmy@)8zH(-U+xau{lcW9uPkYZhV;`KP*@;*`ol47W?eZKoa4bF0EA!{G zh8s~PTTYZ-DnSLh2{jeNTcL!IXwJ=>ri2xTPWQ90pF*0H3o{g?l=-I^RMAs=TpRoC+{Ap1(=`U;K>)(KgWZ75 zD#;c4V3;WBJI>MF)#={n!vVB^D(8I(Is-X4*>h^|9-SBnIJ==EOD}~*nr@~`y2vvzvv@>&Z zQZpz4Krsy?bXq9`#qX?4lqP?fFfPq2fY~ow{`y6$Pwz|`1W1@QorMG<%=buB`{#{N z2X@mrB|{U0(V6qba`9FI&AF_I398);Yr)2nC1r*wIpd>F`bPMY&bMEApx&9QGWP2i zR!G9MYs9;|QjGi7*%%{tv5vZa^pvKxQyE(8tr_0M8Gn%ox@WI}It<}!MIow>Wp*oRzoZMV^NYD~o1nt*pI^nn=k z-3~83_wy&j$41=7_NL>ni!uiIH2-ttdIc$x>-h9<*9b=*0RUn@xynu0>zu{KMVh~>%#tOzsUT?QR+pRJXJ-c{t{v;KTEAnM8x&!f|#rpOm0n7WRNr+%P4d!sUPeREi#^d`|W@>4Tml*jJbYM*l#qW)`w$=w(r>y8d_ z$Qmm?MyEY_GO%DhAqt?r~JG{cf3dBdcMxwz<)Sh zcyFX#sheU~JVJ2r<);G&%hNnW=o3M3pF5nL?^u@}91rZQalKZO+$22o6ltk#ux{CG z^73DMHkb^^F!K!eu)W&tZHji!I!l#(*Gg$3wAPJCN4^qTvo9$BHw4Ef(y(1^@RGQF}=p1l0L?&sxd@b5RE^;HJ|5oJnt1=--UNwTnZ;ve(peOP^Jf#?LJ_v-w5T@_^MWv^Fs zleVWsIdMsxQ)Lo!A(?j~LQotKn2Tl3-XXiDVPSvRudD{E9#Y=plwtpII*cD3)q{{mWI)1+7qnGvKnIJ3JpFe5xt}^!UVSY}QH^IP?ZQhA zXh}domWOafIe&A45|JJqE;Cd?A7B|VTNC8+oa#+XU<1%LM}0dzupEni8BcKl;tzb_ zHXiZwfbxZ%3!D2?@%pcrYeEUenCnOa&;-oZq#;CMHtSO~BMkBu0NyZL>jiamoQ3Pv z_b8bO@VsOVG4Y?;QnqyI9dUi~KUWC4q&xzdJoC1-lWzNTrWjvRm0AajU~R7qAl=FL zE~5!D$j7P4Jf=?grByThM=T1Kr56R=ASB^#@zy#r3SpG3ROw4;YX|Ts7j%Fk_}Ysr!*!qO-0{z2gG^-xdeC%;;Z!)W5)aY0g=sHsG7_%Z4%{xg zY_A@6`PrsI(?(?F6ZH1Nps=@Y!6A2s^a zNq5*Ei#PRc$&VGZ^#sguV=LnZ#3p#oT9D}c6$q0}c-4TnpZIodqp@q$|c=Rf_sM$RG+piE(dR z&YUn!SKR#RV)Nb-lUQmiG2l)(k}nf>62IO?(iSDE;aVem!P z;BYugmJ6FI=oM{jjLE)y?12iXvtZ*$1@g~Wu?`EHegggBkuXSyUkze@#3Q0LV)YRH z*9pc*z@CbF&om&MWm9Wajs~0{pz`A%03wC3L#&4@G{U{U1<`LsEEYk8@LZPr_Y`Oe zQb_VC>zXhPMi-uBinz%gu1O#^(#KT&{QR0;IqsLj6ss+_ZPL@Uh#^l|%V~d17fu@$ zzf_j^N5T*2@5;mS?tWqzBcwrck2=Ac@+fNF>abO0EJ<49zV3z%8w#v2Tl4otNB|*H z+Ei-_*LAGPJ2bZ{-1zHRpkw+G3S-Qj{Wh*W1$I^+&beOc?PI-fU=DAuobxJsH3SX6 zz&NSb^iKvGdr_$g1D+6Q&F z+OiA$-Buov;x~PBCjtNS*D(YY5=v;z#@*ZCuJcdT&$K7A5bvl{JYM-zV{hKTKK$H1 z4n3$gU{oMs8|n{B>mWtHuNeC41g5$n-DQ%dK!^2n_Zl}rt34#sa#k5 zAn8t`ZlsWH%~{h0UI(Iw3E{gmA$A2M@Mz%r2n&8Egp3qo=p0V5+yr^TYxJ7)_P-56HimQ% z8mhVQq=VmTDazlp$oMMnjkcBIBC6XhdLWPc`q>#zm+vm6ib3mh5(!G`@Z8DYE{duV zuT7YE#mZN5seInk}T=R-6cWngr^tM0eCt zPFCzce#q~9zJChjYw$+j*do=24XvF5yFb`I9-sp097Y(;t63eg9&xDPY?D8``eNka zClwoio8gMIRcWF99z43T4+I#kr$Q19pYyprz*-OrCZC>WI2xuUI*--DXP5lK(JA;V1O|5Y9<43_~h|*0@w_Ns~ zNY?J!7Zf9RVLW&8_Y<)Vqt%!YrEhebIb3#Xn*e9k9VFC;cO% zk`Md>p4C_#XkczD&g>%Pduoh14g7-R7aVqM z6!B5gMHN->ZSBuLI9GA;w;z}fgiJD*HcT)D>`MfywLZuyRBwxZVhlYmmt_}L2pn#t2Y-Dx_e}U{mCqvaaKL zJJdHCe6c{ECw2tw3)xm#U~oc6WaO>FgU3q0+Is!*mvI7=_4`|dR9|C0p9FZp*2b5X zM{Qy)UVzsvWB@;GwFb%JPq!pr0P`!IJ^msU+eVo6{8Gia2|nU)`_%HL(MLlPLV^&5}~{ zyQAfBcvFIgGW2e3`WS9xbQJm#apQC8@&w1l|R9nVPPW<=1ql}8d*gKz%G;HFgG!(7QsXo;dcsf#T zhi#$Z@|tlc_4M>8vu(JGu)$2`REPa`Ms;7=MIfCQPKrzs3?DVD%$!?QTf`fQUvG9Gqy>cg{3;zNtmLnbvxSDha< zQO2GywS~CeCx2N)ngOpg;o+r{ZE}~V#rNrUmE2^IfY~oMl?FUUygdMnHyHH{NL_wc>wFk&DfeIyf!Ni_;0Zoe{qwqs zZ^qx0pFB%CoE_CmF!Wr~?_a0)d>7A8g{%^uy|hOeWuN}z|ARRYlo^@zl}CAx%C%hy zs;U~9lQDWCYiP9bjL?CL*M#(y+V%ws_7_N#r&wuU&RyLS{3EM~3;h8b0N;Wne;SLU z957sHN!Che7{w}`@eK+>t*yE&V}<>;V&N`L^$#qv@ae8I>f;V!*~5Nz-BWtT_0={q z|4u(l7#c339CnL$5U%ieU&luiFQ`>fGLM0Q!Pf4Mk1}w$k44Xb0`F|jW?%~*F(*oH z8VU|N(=vdJ6}JZ9G3gX}BW#oN&ZV&wZPK?@YjAGEmM?^xq&7D4l}Nn5?pF#+39uvu z3s)-|f0_Zno;BgMO8B{XzaZjr@NLU<+TqI|+5wigb?6y@KQLJ6K-t{Bb;{7hsy9TI zR=iXszAwuKoFcAk(4WFondpX9U^`O-K6yENg{ecX7gx@iSy;4n^YyqI#c9b%PI;lf zT1(6MXAf8Jv|aPq{v}tgnA>XZb)o$$mx8CtBQ_%ykRigQkj?lTsyTq*KcB&loypU0nH5-w4tnopp61 za+wu@=bO!A!k|G`JB1XBQUSxv`PAGOb3>Y6Z{J^6AQA-)yJhF<2(f$CGsrr4@?@TH z7YFAgc#rZ3IL)x0dYsZrC;En_nV`sye}G44Y_Xy*NP>=*!}lay-JkYy*sV%FXylHU zxI}#8`@hk;$_@#OW0S&8I=M8!9 zo)|MzQ)%(Lq^fo6c}fGkgod3!VU@1XG!q9lJG$x3YKKHBIJx7>H4=t3R3Tf0jsIkV zgkuR>mktW11Vf!Ep2EfRr;7#cp0zG1AJ7<#O0eyGStblZ7Vu;Le%Yst8J~s)o~C?p zyt`3U{7To*-GDyDaUhnTW>oP=2{4+yX;l~bg(Hse7UrT6&;Af&!wN#30sj0ogDNHW ze5V^!;)LPhhYra#vQ-|8)#_ zZSi|0!ihoPJ+4TwAwI#mK?G>P=!jyAH1-)881NJdb#gUoiZtfPs6L{7z+vi?O{X<@ z5qSxdt7Tj6Mm$yygAIPM*M+cxgrkiyTMb%@KOCZUBM!*sj?tDNwGL7s5=*!CuFbC1 z1?9>wpWgcLc<1)lNPqvOm;dj%V5UHHLM!A=_veKg0AO^5r~NkrL}6heYmPif9lLd^ z=5arMy-!?C?K5Pte&ugDDbTQlNRh1X7hrNEQ%7>lbP^B^r!z8iFI}KbN7UeWf&AGs zhRM)9{%}?CNcJK2t)sn^zwSWWdS2i|5T@%m>*!GO=zD@Fr3PzlYRQ;BEE;vZN8SmUi#hM;6v2ztGMd@#K%qoXYKH~Ni$fi;E+HO+i``U$cZ9T!$2tQ&Li zU_jEv%dInBLe*IWs^viCMuPT#L%h)_p)W^Fnf}9wu*ZoV*mF~g2zLHmuh*2G))J9!6NJ&)6@qu z5O}bhM*tyx@#aIIG)jtIb~{z}k|7mIMTbc3Q5q9?w81=(o0aFTI2lurzN^1PifS01 zUuW5bLkvj(Nv+ZVZ**M=z*S)5R&0OpbH~t-m8@mz#0Vh${|q8%tI$ZW$dSD>kIZ=9 z(g{9SigjXI#Uynj!)1URara%0bD|>FxNrJ~0nhmoq&^4+7|j>T;J;TNidtouNwFUr z+p{#+Xuw3vn!hnpOuMEyw{PFZ7EMNv;4nTflB^Vg@T%?oE>T6Y`W01evO~gOX>yQM z?L9e0nAXST%s@jqomUdo9N}^Ov^Jhzdo=KBYCpUSrh9U3Vzn6o2Q~YJ>91=>LiX%7 z5By(+J{=R*>B43S60D^xFvXLfsFH86*9ira<8SpaKChG3gb$+BMr)6-HxCp|QrdV= z2wN&J8zqJIH0GH9YVG{*<^W@awe~*PG4oAfqZO>N2gC_@!;Nr}D+9yB@<2hocrt+E z?|nnGdYc^)!tM7=_ovxQ{9X~D_Gy4u2(~Pk+((vtHDdF;SNyg|K3E4mOwhGv(RssY z%Ln#3;b3PR-n(0|jKKqYdmRDv1#9l~R4dJSgqI{05{8dQWv8E=|^ozyE z3Y6Ur)24X6Du<562f%Zz(#`rncWSO)Joi2s#~#)hT} zOsUH9;*a&J190bxJiyhm5lg)^_u}&_^!D8BgkemDL8H!4Wog`B^oBAj-^uon)J zp{Ef36MOh%W*!_M7Laj5!L0#?U9UI*6pWR4MsaIK145-4J^J3gU7ILB;Ivl0WQVL4KxzMN2LHDY zHOizA22Wrdx%M>AcQ+SQ)n~2io^GD}^1AE>^Mk2*B^K+}p+Z`?sDrJkYhrGYyW3M7 zLbY4vBFpl*<_R8$G_?^7txEBzkczrCMw5I>x&^EWh*{elJQdJ2cBllFwK4G10e^KrL$zUE`9l;974~WJ&foO z>pP>Oqbs0~mP*7M9kb`EiE_hb9t`Xmu*bwW3z7OTxYR|i8Hk1425F^7kA&(L3m)1p z{tpWP;B2btiWn2rt}Pp;Mcg2Jq$hJypOCUEoR9n`T*L`N`vv^9Hgv~36doB4euNL! zm%iAIdk{%`$-K`JE?r~5zo{|zxK5X4d`#qC5to>3eFyG-oCW5#T(efc+LW+7rAnGX3?hE!@PA?t6MJq zIseX}6v+o8HsX8ScXW8@3qfz$?(yKYJ08$J(+5Ahd*MlItEH?}n@N#F!k-df@U6&p z-WckjJgMpm-0GSSyD1oB#w%~d6)}xvp6TdDg(y*nA+4^5)3VeaoYJQcbj@4!t&=tK z|78l;db~41nxzZTa$zO>I^`cGHdgJTyez$HNHS6Lis~haBtKq9Y4fjX3g}h%&&C7# ztO@T_cNS?nhx7OpX>R8Gx}R1&X?abi^HiR%TT61b)$FxP<^@=7r`f}`JcTLfVwaB6 z|EZQk&e}jeN2~1II4NY07d+q&-K_a}^agxN610=TWV?+zo-ky)@TCY!BaWIP@^e&`f#75fZc@nT8pgfhnqJllLbfg|QM6- zg#yv&NNw`~^YDt)b4o~Ksmbj=a}y0J@&G`!3bF}HWxB58lW8Iz@F{;4tpdX7nnL0& z_!dX<%Q3E3gg90VKWV`*F>w&jjQ*(J=T;zT_{J3itDYrVwL>GMXnZUY7V*{*d9t?IPSd zD97P8RT^Ql8%hqw!U3 zyJ9rZ9{Sar@ZX!rOoOa9k*YWgZR7dOAWXuvRTbQ&DHE)*&Gfj61_h^mvIo_Hz(#rE z!-b6roMWPHd$O>ke-c610EBEerz-TrU8&U#ASo^zQN6P;{$jYsdeSHZ1pay?T^W%6MQ5u=6yRIBz!wymN^%$5vLh>N`GY~_n2 zw`K$`M(AZLN&M%mgCAolLqhzzwrn9!h{&Vt;uOTUae{+`35GpI6D34vXOS@tT=aFm zPy>~rK`dIc#;j@A7+}q2g=ni-L;@-d_{)rg$dQ-Z%1f#sYlpiUl=c9)#{4w~zHqmX z1+~V$X3%sy-K z@BI*h#vno3i#aF(goAqtK~2M2JaNE7>L<7Ir`BrA@|G@vo^(2_Pvv7lU6}1NW=5pL zHQzl!WSoVd9C0|injbRc9Rc09w#}j(DBt&Q;k*4=^lE{)ee(L46AB(!8^PT!_0M)z zpHrNlajV(;A@B>P0rhjnBVnr%v0upRb(Z;mVdS~+O+u%djx7g+)+<4o{L<))5{B6L0ew1jC^NEwZX#+(6(7n5r-*CaCVglaIDdhqc91L{w!e`3!{2gyK?Ss{XtF8G`U17FWbk*dHmQOeF{zpARceUbU-&un}6G@=VdBEPJIY*TN`eLkO$r)nYP_ZQ4U%)3-5FO37|ZCoAYmXl z{8K_nF>ol;6b#e@40I3pHyYeNOG+wQ*Lnp^rRgz~Sp)iKm57>S+X%ZzIf1f#hM;rx zgOjFU4rX8ujYzd14}L|@B@v*I2$X7Qve_@U3B4r%EBWSYqrkzm5^5XYo(h+?YC{v+ zS%o^4wCt!^c_|lIu}s99rKHX93CG${*VX>xe~ca|oE)*38Iy0CMtauj-L`a8eU07k zjaSw7Ke*2HY6>6geKY+Kq8}x{Tu@R|jjZ3%Drg?gQAo3%`6=QlT#p$+)+Z54E~<0WB&xd!ddhlb)G#d8?P1zRHK21GvWC|?G|)T zOlvFEXPKu8Iu)|_cu${fdnYYJ*W2iLgY5iT2k#p>m47=GLQr_SQrqjKF2vqjsAbiCZ1ZCo{Z16?TWqRRe~x+NzY!T=HyuV6$W1VZ za$+Y(a^}P4bo-XZr^)UTJ_mU2UQQ46eRdxkcH4I7mD=79AIPR?_+TisIISIiHo>Ou zrr~pX7n2EEX^N^fmMy02iDw&^7lO&?flr;`+()fd*?&u9y?2>x?8*a8bG1D#qMY?$ zZgYglE)o9@G^jFx0zbAT?~D^8MZ!P0@$jKf28ujK~$NcGRAjcyZJ;26A?IN_d0E1P1(HF5wh8 z{9q#csqO^=W|mRCt!a4v^}`-nHHUlyiGvsLu}tYb>G|bJHCm~P=J2_+OB-T39+Scc z8PSNZb({cp8Jz%X?+^uFyK6OV zzUT=JjrdRZE+Q_u0~dREo&RXYj%iFDWD!yCt;y_@Y*$oytZ3?&3KY>=`Li6*ii%A! z(l>s4M60z&R0;-(Zw{~rEkAk_r3D@EWiv9C!vQTNZ0Q-yNvzexB`Vi-Ec*GLoY&O67HG3z!2@uEqNFu&Y7B$$^ zD>!*Q1f&Qnz_4q$I`?H;iP=TwM8NDkV3`S&FsFw_j`;-gbjL7W?|;+#cu zvDfz-0GQGb9yC5GvIv-3m<>bB}1pE)jn0qqSwX?!D?i-uYV$_}{z&+=|!T9s5FtHdrQNRi=F)BSU12C24F7 z=oa4fLV-rlpN|+DH%;3SsP&F$U5{;*Ual@^^GR<7tzfZZgvNxmfMWXt1Y18- z7zUy?@f^Te=A1q$p7v5);Hkr*rED-UYhbceXJrrRQiTrGeaDae)-&U01MKf?`|itu`aS5r}9I{`gg+)H|X=-JnO$B zI}+2_>%NQ7(8RT4{;&WjODtk&G$#PRdBNBOo6jv1B`{7#$$dpiNB?=#@E zW7^-}bv9c7%?7Lsppi-afndr~hMRe{_+@<%{)gxpV4e|k{Q07GosKjNHtx#^w|NM( zykINe4ZfIR9svWFYRCtf=oD)$48yO7yo><7he}LiuL^4UguTVBcZi9}RwSococXPl z{lC3cOC{%u&D$%4?S;m!3^}6UrOPN;x;J4Ge;xGRXwC6owslnQ+F#?zV`nk+z!6=A z?%j5eN^l?|#e${Z2@n#7ce)Q#M(u^88#oktaMX#R%r@Rohhh#uRB;IR4q)DDtgV3R zXfy$nj!U6Xl+OSNoM_rJ`;-6-tcsnmpK;K0uZ%Qvk%bdglu(grb7Ci&Xdk%4;i53j zWMhO{@)*MAA}b5vaVDj{R;zsQiSt1{qUYb`VNwDtj(D}JeD zT%x(@1*T3GDQ?B-NCxqO=aj;#*zKRm>##J))GigaWF~9+DJAMG<>G^+F^VK{$a81Z z{MCkCF0lRl!hr@Wi0WRf-YjbY@0H9)6RuY8F|9jEdo0`WUb5y)PP2Zx#*k=)5%uxb zr=WavUWlfC1|L$&cNg3}9H8zh0}d&){vp-leeR?!P?Ag3^_y6^nt(!$EbpsN$BP>f z_)I6v53mc@`hSuk>P|RGtB4x;%bkQM$Uk_(gzQ^M5sk+E*j+q9YtM*CJ$6IJQAgTV za8v25(9Vq-8U={M6yd8bJ5DSsjcprFd{{DhBw|=c7pCYBy@V!?Zp)Ebr8@sC56f>2b!dCdoLS^Uq2{lnU5G`w-n$wdhZzQ@US26F`!;3n z7O&v*`~-`(mNX%E5NKJnfLjR#jSrL9J(&30!=xXh5hf=)&I2R84zwHY0tSl>oGDT{ zw%g&vE_R|0`>qcAkqINggR$(Z!Z(@W5OK%-MAz4P6f+z<# zOFaIKe6^ioKc1Rvy9nnYDt>i@dL&$XYCf_mP}08Khbyad>za4OZFwhK+7^U z8(hB*@VN*+>mt9+fc7c%N`k%Ni0LP=>1VL%7o|tb$ybYZy5(~|ze8F*ilrk&E`IBt zy^+DMYVCB^RbqFR_73u#sOTZFuU>xa);#y>w#^D?^t`NXR?Nvf%<^Y%p?x9-RZCkc zK}YnPWczP~0O5LAw(D})vy!u(=5rnO`J1_q5lEz16YdVk!q9!oyOu zb=s|gdprg9vjXgA4cOZe#$`=J-som_f*WJm4Kz=#M|z+P2-n{-HiSU0&S7s7#O22< z_zX$O+6FcqpL=j#lutB7whFaXj7Ka^VsAmCw#PLxBxXSMCsf}lQe}StBHJNMngW*- z_fcDk>!&pC7ZQ7&KQ4q2Y|q3_T>ellgRA^6?ZlSUl?s_yx6yql{lxt{${)Qfg&Pff zSJt;b5e!jnZRNE;98N*(pP5i}b{WCJzVl^#H>%I(e~u8`q1Jrf{csoYeU1-$*CIjN zp$m6}7#Loszr23E&KD)~^yI#lO4O zYP)k5A4~z5lm?AhPRW&6eBwRksZ*-gJRP;5{r%XGI_j&X&5nY!QW zmVAuFZxU*8xM9)({o7C0Ml@bux>kx^RBApb(8if>O?5J3Kic63yemA-p8%$;GPY46 zA&N4$i4xKUoi2t=pO4*g@%<)Yk_Z7hV^uq9IO$;1J1ThXz2TmBPcyVbN*3+;&6NzX za08w_(xSZv`4UJ$!2{WT#4?`9{;Q2`U6*}~PQDxUVs+eydgqRn>rMXP<_G?HTAwSA zyocQ-LR??d{MvY41`(#bru_=uPj$}%(E{&K9_nDv!b1Cg7pTGE@*aPaWYO6~5OOby zXl0MK7V!!xdqQ8)A~vQlhsqpHqL3eFq8gUb&A3!1p|j~ty2qD8U`hsHcK?s8e~)MS z|NFr4oovHqb3QW>LeAxo!-kL~ijtg-vYD7s9 zB{{#oPklbu_qx8npIg2AqxHURdp!@2$Nh0XTv`8wU%%mUh$Y}m>Hrt*0O*up?=`mH z`Rdq*c@KpgGH-NP%*ywfm{&|1!FUDORUc`sdLpDXRvR#}Pb07!{zTRbD^{7}jyFan zoT$}P5!n3V^l35ZCw4Fq>0xOB0s}V1EWxi)e5ZS_-RByebx7Xwzhj6#TiA&j0r#(j zzk=$#PDOE_d??NIp)kFLybGUH@X~R&+|?!J;b@8V^!3&Wft%cnt}FwZ-Ig2VBe|H< z)Zv-EN@F8)etvuZSWm=?T8yM?_jE|6!k*^5&jgoCe);82@NtUP8`lbOa_QZ+#C@}K zS~-4C!O~P>znb{Kp#-H;E5kO**BQQZ9jlw%;SHL#;MMe!!p_fFdQD9Y1mY$-0#K=UXp+sZDaP?mHKe_X@a+4cZj%|1js z^Vty=qX?w3K){-!B8!=!EctES9ab1TG-_gup*Sc9H-N)=*Q-GI)X<*d(#4D4ix*(>9{<053Qb#Be=*|C6baX0>R%7!DbXzVlHwJD zc`0GcAu=KE3GvNo_4=2N-I9XTsD5|L+HF#4n$e5V^2+phAKUqIeaD1 z^GEX;k*q;KtXFON)ry=Rxh+CwC}U&enClqV?MN@hz^H2BJ&fuo$9r2!#>s22Al{i? zmGU0ae9>GNyAm8BEE^86_-QI>;ot}+N4u1;AKJwF(8GDNMF94VG3=aGZ^@iKpH=gzEE%pXEb zhJnB+>yni)I8D=wr_@S)KrIN9dx6|;+ExY#4a02Vb#e|sCG7uP&VU))rnN}OTQRR+ z^wynNs`jfFyUxfk=!m`uBGy=riASpB&#F=3xc$xmOBvau8>@ z#)7ZhY~5_h;C5Yt*KHK=kUE2TS_YRe8JH1re-r$>|Hw6b(Lzkqkc3>Kbr4E8IlkTB$sOmPW4S*7We~AO$aL;c_ z6)slpkzm5udp_L{BXDo+zZ-MD^*OhVq_MGwq_?@b<`^`qBEFmTU5rri81=Wbq+S#F z!rjfxTOJWn20>D=d>it9pK<8VlfSZSEAU;N{D zGRe-gufQ5Rp8H#bja&LPwOrJx43uAxvPJTXnYlJ?=BI?t13sQrX^DB zBJa2mHT2_)zKN!XRV|==8y?r0h-r^e-tW4&ZO+nilJPIliuYpN{FqkwrmCKF*tKzl+dpw|GxM>)B`I-H#9;oL zsLHfD_}ZO$=)s$kwa*bIm!FHuLCWB;722eGFeenI*-{(GGdxhlC9A%^>ZxCKc1eYH zcnAw#pq{ZcO=MR}zP8UqIGfgo*{6-G>!-x}<2H}gRLM&!ED&qz>Q)GrNm2@a1EcbB ziWkmb`N4XY;-#=>NAs%xRlExWsm!U=1t`Bc$UF`eIk*-Q5W05vrVeDyd4n#oo)|mt zcE}&#?G1u*V=Yo9ESH0{3tVa=2XUxGNmPZjA*wc4}H1EM9a9m20BgM6sXyDf}OWDHr9kOHGkGO(yCd(?xtA zi5_laJH^7O0(t3deNCmTHkRb>>DB>^x&Il~=f-WKN%^)Y4Wax=+9=$Uu6m9I8alFoXd; z`)(-aIsT3*BPVseh2wrrJj}LfWR4tsNqaTpW(Hzko~chZU#1?}(N}J$qZ?&wM6k^F z?``3bItur=1$Y=~na0_`>JUtjo@_a7u)snKu`e6)6fJmL1|}5cCZ;g98axLdKozk| zr#-5CnHt}J`vP>}zyXfYJv*whhapXc_#*)FJ0Ox2gmyZh1zNdL0;|jZw$i_FtO;H; zZf;zypy6iKqvAXA_Xs z=(9>Zs#8IvE7?f+gOY`d+!;AXTKsR_#Kz`@%>%=p4x~QFVfiEt$GLvoJ(8GCQyudP zbyW!9vf$#eJ};1#8S)n%n?5>Ams@oV&+&fZ@CRQ@trNhxCKoUOyi{O{#;9w4rsy}T{f5e=W*-aA0?R(* zwXU7n;>lQb4CZ<2wkN%fOl{}Po2I5dHjfAa3B`rd$MzuI-)#tRx|8{qVu<;HHnw6O zv==}Vc&__6Qeho|>-<;uA|D+txHRyaPZe)j!6?cxssl3GfyS*8yWCHtMW0Z}>CFp)-)YNG)r1B)%!@vojNsOsAw10dI?_TlQ z%gtP2W!q%th%}-~=pHLkQebCx?#hiet^GWyP~_$}5TIxxOIRy5SVoU;FL2p-lZ9FLhPp{_qpo{08ZPm=@x4g=Jh~0bHpxal$_lwC4Fv2RlYtj1!c1dl{iWDM*8U&orDN=6p(XxMZkuTx+87DbOysGGR-G`?l^o z3$ZR7MqdkZP~3io$a6hqyQz{4FuaDtRWeo)VC3#ylQdV!9Njsg^2Pr| zWOyz>7xCMXvkKx0Uz&ex_;}Ur3=%ys;2PbS)~1+;_L01eja66&d?x&*%TPjiuUNt! z;~Y#XmKVbrm$`$0H#kddjNyqy+ZD@?g97Lo5#U<151|=*L`IxaNk@SAY9=-SZ_Dr^|=*MUAd-Q*CG%sWr$YH5onkds5t2`4%V$NFkAn0`DFLV3ESl|Ju$hp;ZiCNA*UsO(ccV47s?tkW7eSBkU?sWdtuOm}UI?lOv{ai;|@?C)Tvj zSFRy&!(t^;mkV1k9~#{$Pcq}RNTI_NvN2a-Ul$d)q$K7gX)-?6;>eC^A?avP2l>@^ zXQ&${c*;>#qMg#Dd}AK3)AWnP5d{SW5D1fR9v8h6m$gfwE^)iJ=S6t_z5eQ zeI%n8b9mhwtZ_%$OC7k?N2t=M)06>9qjnI79V2Jv6MGcQI*vI~Bd6H2!0eQ4wA>L6 zZ{6Day5-t3j$nq}O2L%Vi?rl>ZL&8YU2-L9Xx3`!Q=r zg(+TGy)RD-$!m_NzeBuw9s^LySrz{fl+{64`8+vXy2RHZiIazhF|tV3P7VAoK-DNe zAs{A?zXZ4+JFqm}9{qKw(W@4rm0J_Qi^uuk$04}xR^Z@yk35vxJ!cFZ((GC-m68T8 zy0(3iCDftBn~&4hUOBC9JUhp}tO_!3$2B7lDhxw!+n4;0xF)uyRd6IvwaX~R$g0B{ zU~oUV0NCv$PL=GzFmb1WW0<6elfMp zGG3naHivaNzq1NaRCM-JU*9iKNgMZK=0}~N)*Oah@rE=6h)N&D65 zFLd7R5$+VY#T=ea%GULDw)n?&b&#^lDc^8F1MYeP@w~cP2SN@zZtIG0O^ob!1N|iL z@E~ZMW)n{o7vefQh8@TiAv2?epE~WC!aOMcv!@3M0?F9xJcHn**rZJyD5avY?$j8R@05w$o4~sZN>E}CuBr?H2)v5xz^AiLS zvm$-dWMCe*k~;T8AdArAZ$M;}54?Oi1%Z}UhP*H}^az&5`&L<^6Rb5{QQ3B!I9Wq*zKEzDOnd0EmQyG6~9t7Kw9NBW=P74L2U&EjxEk)^uP{ zrv5Sb2ag}i0<=#CwYVq)@B-O=ksr;@M^lxMb@yS$+Og2AQM~|o$T)z=;+6|4Tot(n>(fq}s>_l!dZj?VQ{z0xu}c|o*&I!}|K;*r%GyKxm(sUZu$ zrsTPgfU|kZ+R{t%-FOl9W>pQ1=dhOL`6>BbyKPCb0%-Iaw6bW#eRtOnIK8h3wu9_8 zo6D3@Qmu6=SzZbKb}!&^;Yi&tUc4Y_X?2p+)zR%2wnkk!nTWh3KR5khTMRAz#1q5n z_YD_B}T^vrSq@WC(7)>%P1+S}!`8~J$Z=ObNg2{`P%Y+c}Q-Rdf`X!Zk# z&R1RB8PLWTS?tTNOk?Pwz;f#Y$c=06%NxMd5d;>l2I6Mp)|x_>eQU&kNj3A);ZJ?W zFJgK4+%k*mtVjnyP92j`_sk;4uh9=NfYKsiYz$ ze30wM;IOa|zJE{<-#;u2{9@drByB|(Spc{E1a41zXHDGaf?i|W*dKcw7@1GUp$`r& zhCpIUh-RI-D8YT|@X8((_!}y5du&OZH(#Lg$}oUEEQ`F;+Mvmq`LdeX8z(>zT{0r) z&sKm0lNDG%%#FX&+(JK+6LuUi>0L~%nRIx{yTgPsZ2^||6=c%4&jc5yL18w?ojxCo=zjNIbbYvES)}Sz0fGZmD+SMv+^)Hmlw1(CUR+xcA`E*K>On$_M zs1rJXjBjXYhyyBF95AzQ{igT6A+SF#33MNC#f(jVFa0^h1nKrhw9soQ&|3a(;g{oN z?agGQNe5#qX)928A+?2tk&fkfXVnGL5m4^+(iIT3s_Gl&pf~azKV%&@0iQC)=?oR_ z+12L`zcn<0IJiy4pLJ~sYI!iE`33ND^e;BXgc#>vP8Ui;HcT%3{Rxs-pp}4yKg%X% z%vs9ZU2BlJF}IsX6HKT<8TVhHGv;Vw zqGh4M!K8=DxClb!qvC+1A_XjWfhD+!s9eHGSzYa#`SwmPX4`q0!;HR_8@nsWE^78> zy%FT(A_j(#_C`MZmeIv0iQ>VSju-w0I(7iN<|1@P>(kdu5M|DJs~B|!-kv{ym2Xxg zWct;MC@H(0;0Tm#wF0NzOyKX!xAM)nw;uhJ)%9%>IQ#I?qZ?ihABTpP*W<%vV>TZy z8662om=77d^9+HXPg?tvJJJP0s47w+^lQ(fCZ?fTs^om5XeM!;&!NLCiAprt}k2LflBEwXNPf_IgtAMK-2}pEE zs)uxXC`gG64D}BPMdYgFa>vh6ei1E&-$ldEge_d8n3(b2oC2wwcD1|z8J3;OD!J|K)5?)d)jR0|3u{fQv@+SRBVPg+ ze*GC@3EpjWZGvi|IH{Z=I%Ghm^4|KRuy58r0LoR_vwD73)X@U9SNY^NV5tM$^?A|` z%W-gOB*-a@gaie_g7)oW-ZJ*x<&u3c{PsJt`yBM4P+68dJg{UP-qH>bQluJgOhD9+Iq-XN$7@x4+-&%CdRwTFuY9@b5K*PAR8Q44jkg z#^KVud-YH1(>mX@rv>~K?Kok;+ISP3;a5y=vv1y9Z8|1wNMl6al`t{k-oNX&X{+*J zcX8`mDXBH+%kptF5q-N+YVBy{bhKi9DVPx>LmC=hc8;w5gM6}=5=-2|a-N&#I-ti2l&Pfb z!V9_Z{uhWB3`IseY*0WdQ!EeXD!`UNBHdNoWvb-V@^o8Zz6RK;1qwrk74#c2TFK0! zqnab*wvZ%UYayasFx=4^3nuiZN6BA9oA)iRB5xyBo`X!*)}*3_=B$7t7`awZX{n&k zf5-?xJDS?0$w)jRT6O60&lHo65k*YnNr8Y4QIB|GU^75kC7EUIso6|Ym*KXEcEdAN zFTx8XT#YGqByU$8%7Uwy#1EpnH@r-E1mq!s7^8)50#;e4jnnnAjq|eY1x&sJ(I%e0 zS_n603&;(p%|MJr7Q6t0RAvPY0!mQ8skTv&hucP_p_l{W3o2wYAp&=$~5CVbl#+V$#}1#7m-xh@emS`Z9&@`V~G5FGilSkCX!GsjS<}9qkwa z0Rz|Ac9mc0H9(jSuGihg`3|AL6V#t*Cq?4?E9Ta_R&atJtXaaAEY^zDlRX$?m%H5} zYBFJGFy4~@PnWA%l#S!5PXs3wT|9qYjtlP84kwNOi8e7r7d%MMkiC=7zjkVdCgaa6 zE*pR{E3AzgR|`zzL`zST4_d{=#mVS;*OT{|b3&%sKxxb~M_s9`gcxTN8E1tV;7G$L zGWN~0a+?>fcF^|;@!nh487kLlAwindodNv@g)D-Wbddp7l3-XtJUQNZCiskoo0}U% znN2I8%;xDb^9g$}IodMl+ZOcN-tb_M^=E0>EwHPmSzpuFKQivTf?1IgkB`9?ibV5N zw>nI*0RKOF5strOk&;)xC|tV8in2Deu)qUmLY<5>J@F$Enm7E zVp@+eY2rFakmTBL0%(Fot2%vqWE>|%20oS>TysLWgccJJIqA@b4#(2a-Yo6n+P1Hf zVwawx3J-LAIZf5^HoGSa9ka6|C)JN>2E{OGni?9K<=DVb;N;7KZ{an^FkWj^-ueIM z;yYqZL7F&7Aki3j27i!$PF5Dup8d_}w=pg}#n_4>BlTFOi~!)*;xvlCT1t#pSJ5XU zbr-r-o7ryHka&x!+cWJOeP7VySJc%1?t}Rvt++NBrDMPUR|x`yY=y*_xHz>$e}UoXfZ&z8oaZL*_bHC{zG`bh zPXIa5d9+$+G_8>`%GK0lKHASVB_35xmS^c64A52c^Bo zr|WMs`aN-$6k*39Zee7eku3Kmi>F*o-~tDxJJJs3NX3h{9Iu}H*9x<>FHet>cPit4 z_M-TLn+CXotxErzVVi4kY2kkmPan$Bd;9i`iMY#`=`vG6Y3^CvZDRJx4qyn34pggu zyu(Wr>6A(8Zf>6SJ9uz8l}v{9hMx+?6h!?9H)Hr~i9<9gehD7#o+p9g%2Wa$^S~=HZh|8?!9) z(gG7sW(Xm5S+}~$8iyF8irVO7G1>U-6Ax8u%y>^vw?-&>0KXDG5q6s?HpYkDP;vd7 z?T#~ty&4`~Nd;bY9k`lvm977Gy#cB&AFPHgT`Z4kpe1J|o)5;EbN1z2ShkLP(!rnU zXKOR}U^%ZZ-ngNWwX1rF5-~fn!%oH++~#>eIj#3>juV5}uhHJ#3cGqlMxbqGUPuz{ zy>-M%*m2ZOU_+cgx+De6AAXaZUawnllT=Weih1ytuE53zdIT)7*D2Xfx6}r#s{UUZ zdh`1GgIy-h{QV0Z2CUBt<=9&U_MMHg_w@}{OGig!72Q=N1}c9A11Y~H_WM^rTRnVU zg(@vg24zwP@f=Ehz6k0j<%~>83Sqq2@zKJ1dV%S? z8I8!B%;R?XO9fxRFzve9^RDFz$-pIXy=u3wmwOzqN{$ z)QBtZ0()Zy!HQ!D8|l#0g>V8@IkBYL5lIQ|fQbaIo@nt%!2PnAcpR9Gu#A!Im693; zDqE{UNj4l;=O0Zt!YcrIqUt-X_q0;-ceyITw^(6XtSjUHuL~ONfelGV=SS0n2U`}% zUi((=KjhCV8T{F(4C*sUIJ_t^!t7}OMF6BlU~3Ew=zSV8;wPhwseuLLrRT^0`v&=S zjLnw%;1-@+2X^FH{Hj8560WVZ5#Zin1b8Q_1A1hgqTjeY z%NTiHVJ-2b2ryzOPEI)#dwV9u%jhqUz0DFzA0dDmGa;;-T2VAzH5~ss(5kLiEatkgHta~YvAtsHC-Q2 zcMYDcy>Em)8l#VmjnTiDyeOt-SNpgU4YmV09X63xmVIV4x7$MDqMFR zAC}_L!}L!&yoziV?W=6z>Y~U8OC=T-))=AF{@+qdLSY`Jm1P0O3iiKSsB$v9kha@E zrFvCzd~C(K!7^!Ji=Vw^x;3h3NPoctJQ3HJa$)elAJmQ8N_pZSiPNGfrN&qZgCW=BL3tTVfwp&D)aCnnEm7tJbIZQaV;Z&%G!@&C%60~bv;krb~^sCx74g1P z>5Ycr?7QwZ^TN7YRjg0Rmsc(^9k4O?YV@&3VraADCWmXjP+XJ$EUnk)N=m@Oyp4(l z{;#YR*rbjTAXKdY9D$Hkxc4(KB9ohcv7MF15r)-p+=km#~m zBj0}qd@&N+U++3KEakZrklsBZa^F?)PY)<`wxZID?mT5GneI9$?6B+qh*|-4ZfXiY zsk7m8z|<$VS75A^Zv(rSDIp<2Hl}EIn7#^$%jnXF15OajI88V;0E}~K3JnI%78aBE zD`0RO-Q@(9^*-+^%GZb9PvY@EvveKr!usG;NLB`0h507i_U{ zRB8Xj^%$N1m%|5-wdDg;s>91+D753UK_{5fZlIgiMa}b@k?25?-c=Cue7O-V=MTSh z$?2-F{TaOE%rw^_$wi>>K^AA9CZ9DctFL8}WkXAs)O9y|)CS_ctWIIxf7Nc|{`T`A z^P8TrH64?P8Qtu?U`sis!!$pw?BBm1(`(z(Tv?#-zi*{P1y<#-cHhW|F+uspadQB& zdw)DUDqsZ4Sy_RK_mgawJ5ZOLM^EUo;4-dCZ5e{^O{)B3V9C2YypLeTK8YM1*Pz-U z1h4SP#~p~u*P~06T2)v#E+cZZy=7uMgvRW(yd(TaTbIPHmv4~kCjo8by~aj9V=%9^ zmHb8YJJanL_`Y;(U?tRz(7FHN0$_?dNB+ku^}qKL@TlTF6z_fa%Wd7m77SU-*_sPN zu{)xpXRe`HI|8oGOR@_oQs4*uO?ASScS0BSV;S6@EWmBi2ltXQEe}=yQ^-kqV8*!2 zL~qndCO*`jl&^oRa*iYd7j%oEz;g5=WsLbYGs99qcUt6|_N?UeY2;00kP={;f!2m~ zEY9ERPMw|b5#D11Z@_TaZfXWGqH}vU+|yT^Xm$gNXMKGYSdT65U=zAspz`7Wp1!zo z5D%|f4V0san#)1`Q>w-&TwCiJLs!0NWMol~)3a8Azqd!Yr2JbBh=gYy)VzE`Fx14Y z)@JO4?mpC#z1`rJDk>iia_MxE{VR9+>kiYjTRbF#DRKdm_TMN92w;22s&C0q1{rV` zt&*=uM*yZ%o}m6XJ97ITr3syRVA&J#B>FkJf@611$>)Aq+N zy8>#ulZEY2Y-KjDClr87fF>v9_^qNUv{3GU8YA%e8f{6Mn%I6OePm>6(CricJyBmu z8oIklZO*Tt^ly{C##e|Q@tJ{kCPyU+Mo&YX2t>)l+2+NZONzs_>RW#_ClRf|{w{}}OO8|*73e#E(6r35r2$^remik(my(|>lbf7wH77!L z4kz?vVqzM#+ABFJY3<;_gAnF+NAcOSYp?LK3-Fsaw9)yAzk&1uQ|@m6>Ta{#{>n79 zOqeNNUN--ZuA14H{g!_!B=DaOFyLQpHf(4J3BG~QT2P8B5TuURgZ&yTxlL8oG-_m0 zug^xI&dJWzb*AacmC;mNTQ0=}8V3H_OTfQupo4!QAqXR?lW$@>At@E&KVn&RA1rH|{8x^|1H>w0`mo zcO}9$C_i!C?%_Y;4BFEAD26_~#(E}DsV;I8RD1*I+mo={)368HD9%ASY&475FL5I^dcH6dPOvbY^RNTH)J{BB1ex>$$&IZTLZu5Csa;E-= zB49Zh-V2+NeVd=L4y8dOomrJT&!ct4cGSu45B@BPxhgnkLadgCzl9DxHLBZ9qv~Kn0;aw(jb$1ytfel@(BbKynoN|1EWMDksS zJm|7^eC>d5ks0h8y~65H$B0iUPQ2Wtzb)&n1JfpPfWo|w_7$dnVwaY_OWnD%3t|-~ z?bz{Rok3kQBNuBtads2W_aG0(Ac5z|^9|t5Yw_UiayB-6WDhy>ExoTzdXS%=AJoKPa3S#B6j`Hf zc?2yJn!0iEq{#Vt{CjnQ3~Qj>!aV-^76oN&6u@3;Q zA2*_iv{hl`bNf0CHTcg!3E(t)V`&>MxDV~f-(91a2CTY%rmm1c*he%{GC0idS^CXu z*^2sH2QmC)ow7N~9H%&XNKa3X38<(>D+{wojn(h(^s+_+oUYvc*xYUnO}?RBqqwTh zE>~FB@RaqBa}@N~y&=t1U|!6W?{7CVQz7z`v)Lx_hh7;ME?j^s-t~HrBN`X8f%-?- za1F!>uM=8j)=0nbZc=GK`rf?@GfkYEpjxSFwc1PKTYz2iD|BK=%`^5yDlbQb7g6Z9 zKKfW&E`{53TOqO9z$hY9&&>sKTj~p+@6R6_3+6b0$X(gN#@<+rnXzWrYgIkk6o_65 zsZUJ}GN}+AZZinONaM3JH?Nw;)^No6iMKFe;qyzrFN$iFZP;J5f#GR=5 zw&!eVK>hNJ;Jw7iPWv`A2?gwy)((Fl_}Ms=2-iJ$AbZF6sZ(5%y@Lbf*ATawn;NLu6C7i8v%!=Q$LwN zeLy&tb}saK9y_7(fM$W5^B*Gly9KL^;AI&Y9oWxWWZhJ4AIHMu0F2|lN} z_oiCR^-?zJ$o&WY1IHFnw^waT4%$nq&`K-+KvBzu8&LWO?tqVVlH4*;{B>QTfmEa8 zw;eoZ_`@<@&WEt|T4mrI9v;&^J__i}^9=SI_*kn7@O`9Em=}J2I$c@8Cc-a$IP&we zLz&n4LF9e^^j^NH0$Wm7Ri|1OKxO*qL^8vilY;a%k*|TRj@GO*GimPr`!S8|6 zqHlUWh>+xh!`sapYwpNf4@4h&7-hTlc3O}2lh|>goF=jYh~8sytu)vX$DVSG1m^gH5T{ zy>t%uW!ucS_73Tb#He|;%`Z4zfba@*JL{ehHPbi1ZQ-9lkK+?H4Vn$)<+ZbRJ?pYR zw#O3XE)h&Qf@se%JmoL9e}&Ta;ux|!GWL)7HA37|gZ@jT<*YuVs;mhjEMpT0Aq;RI z`R|=d%B1Dy3bS#PW|m|TE9yqaBvW{(vs0+;E^A3}?9<3-lUwS)LJ36If`*=T50&%n zCv7B3wYvNIO+8Acq3vfvu=0y|de2cx9|3g1xk7@Rwskl!^3;^<8?roc+IFU9*ve+> z-_f10auI$zM#ac}{F^j_gSXs&ad9nVMVIOR0KsUUPNeidmphwRWjMv@Em*w|4(4#Hns3!UE{}XvS zX9M$!Z|OXJ`76D7Dln0$y?y;H(%)zdP%%f5Ws6YA#x}~2X2oBs9mi}CsKZ{yBngFk zV41PL?;wlj(jS|ekpt7aWzO8N#cBeZmQh3={((D4jiAy82Mjlxn3y;g=mRPEew%?{qO#DioqEius9Ah+gGc54mwvSI`z}1gurm2ckDc}FIU(oCbot<9*D4@ zM8<-z)?p)Yc3RU3UDn0ZPnvl`s0TU1)GJ<1i<~ z<_3KV;WOxb*$nj{7dX&OrCm2mn{<#Yl0ekdY~1nsU$_;XUM!F3xMiN6kwFRR=)mKg zD;O=vyv>_8Q;e_YxE24mZ6yoSf%SJC?6R)3yA(tJ*siu{xsGxO=p{&UPlOOxSiikl z$x21C6J^b9oie)ZUAAjuX7I2)r_(U(ZD(+@*QmTTl?1)Kb%GctRdGv*D}wa4(e0SK z2%LHy+18wT(rD(C5!wQ&Tk>AyVdfs&tX@4UbH0tUe(^14^sM6@kbVQ&Qvgzw6Uou; z7$Ef@rma3s+5y2R&svWg;4!YNC&KdgjO`? zzkZ)tph}t2aEyYD8t1!uL}x zh+egCiXP5@R2U%Cf|4xI`VUI+7?@??q}=zd06`h5SJgy6Ywj_Sp5EG`Sxqi;^r`Ip z&*~1uIyySiIt68vvMJ=9)~~mD-wapo){(&zG>#_k0!_@i7p}anNhiy)NJ0{xVWyIl zN zTIYVElFGB|7fdMN^Ud8Of`_y>Qu*v}Z`bY;34w}A^u6y*#6A&>#P&*sDx_P$jI1R; zCUgF7ZEY%$?@kmQGLr_yT(Sj|ySe|hE4=o_gD`hxQ56oLnF|F0<2d+XZJSYYj zTpBQsvh^8l#e~A@3_)* zRVHDN0^k(e`f$4PW6uej4pWXW1dh8!+&7W3t@UD)R0YLu^gnZ3rK%8>fBdeHy_bxY zcm_$eNhYAgP*IYVZWN$jiEMkjBYGfzcpAiQpKrtH?>?^gvqrI95tG_5? znVa4i3>(UPg)uA4v#_;4_Mgr7ok$a@Tgm*0FsWWOhm|AW1;o`!M^@a?^&s3AxF9&0 z`aRs=cMtOEC8=tACxxS~%z_l@+TdvN7_0HAA4h)Wb16eNHWR&99*txY+`h(9~4(h|tvO zK5a)%eCK+CeAR%U&t{|{Ay2Vem#XzBr_Q-pIb#~H7Ew+t9a%dP#BOJ_-*Y6}*qJWymwZ(%Xm((GZL#Yzt<3#p7 zZ?`{fTfzyg^mIDeLmt?1(huK==f`A7jUj)Yca#3lVO2$>`5waQYM{?>ndL$D+?a{B zL3XZ#Ev;MyrmGqp5<)SyoKk!nzhkFu&%NLP1i_xyb(dudltQJM5%C*7rC=sgG4=1$ ze$X!v**qN zlm=^(th~n}!hHU=aoe)R1_#cTocpE%SQF)+5PdFDxTBZ{FWbVD26{l5Pt4!_fvpg( z0uy=#ojqG=l3OelSy=^EaBw=TPHA!Xc+^c*)fv}hLES@c8TKds-EWmDAj&gFHUOkg zUKvTN#O2t+B+8+XgcB6wHl}D0%t&=CX&2}+tA=Dj?31B*9tEj2Fs#aXjy#+B=cR{) zJ!ZB8&dLoRP!X1P1-`_0Oeao*RTMck;NZAhT|{`KASg}UqRgB(sH*!mlyt%-w6GI= zKbc;HI++j_2Z z|2@3yoByQWTG+zs%q88A|L&`;HMg)mHJ!Ot2=FAb!lX z8&8Le7=_`XdU2;DBCX;KmAEH)M()iK7XdrIe1L2jr1# zWD}567d$wFCZ0wpH8swyJ>Pu4 z5V$-AJU2k*W~HwjU{ZiPN0!pYu`|q>9?`-^9b_y;IZm^*#LeA=<}b*MQ^aS1 z?WX@0*GDUuD6`l{@|L4WX??)1e$|1kAi*;gH82U+#LDo(4mxwn01(&n{<3H1#WO%q zsV&uIpn!3bU^PnzKVTt!Rg*tZB5sbCs~mD+m;O%OXx5QpJEo7=EPvm`){-PRc$$Sn z?fp42Lit{UI!9>faA9paxLYD=bZdtT@%l|4)fX`vH4ryS@5${Tun!~5ZLRZ6O!>4 z!II1L7tJm_DYgzSWygb45U+&OSDS9 zent)nPd;~xkWyJ?1(~zvS4?`}zy@>o<{F+AOfK@}35oDJ3qZzH_+K-M64T@*OR9 z8o!mq9gh=+{0(67EzP_dC6en`J8LTK2&|t7;lxjx|Cui47Okg)i>qHQl!hj1*fcN%Fo^QpxWp{$V z`tpxqu3Q&OY&awDey7DCPAn4KnLbZ3A_vzQ6uV4vFVFw`ZU=<#Ve)*Uu*wb9chvqW z$0=zheiCm7Jh>%;xpiE9`68lW%K?ddcwvQ5{ZvM~avhL{*y>%Q6f?DL$4l6QGTSIIV^7Nz#N2evSufoQxh}TaYX_Zw) zn>7i<6U>jCxAzcLMDUDJIs4OO;%L`%a)c6Qx_WzOn;t#-3)R%<7g=4IlK1$}xfBd0 zC6Ay&B`=rwBszEZUh$+{(jYT0;y)vui-2`%hOWEx>FwM3rpuQ{Qh6S&)ojd-v@V$E z1;tDI_U=W#Ah^83NA0J#NTz?A6!sAnU60Yyd(u2lN8@cQ6v>fk^NH^-K)_mdiSQ(! zXz6q1H)Wd^IrD{=?Dthd%ma;1k+cGqcubw~qMjP<-Y@J}iaxV?rgw?Z5Go%xC)m(5 zJA;X=5s-@X23tmc#+3MjQf4u+BC4@dwMd4MeP<~(y6$^nz$Dptq9la(XCJF~Q(4H| z^&sTawPo|6wMPa93k36lefBm#tTpeEr&R?QD}wL$hXq|(R*pMvzG)5ijdDL%VydJ{ zpiL6HH$ud0i87z2ZO5Pb0`6pR09)}zo{VDYv#e*;^Jb`aj|b)w~&7q zQY+v=#vTu}6}n;WI*4j9mCSSccMlgSBLJBA4-^*`7KSo?+k`t0Go*GpIRULaujuDz zw@c|ZutnDcHW4>BAJ&K6lB1k}z12f0I#8-A8WlG~^55CeKW)kTJxHTmPcK^GUtlXY zm&yx7YG}WPC`!mjPD*jQ)n|%7rV6?RG=|X9*}PPfgB>{}p45iG)pZ4Su3Xqd{Zn!~ zO#6+%CS32DI@(nVRX}j{bN>+b%bF1Ah&@lMaEMT@KimM7jr@LhSSF%Z0JV5R)-D4j zy8vkS3H7GUz!~5)J@@qKfVIh839G30_ve@Y9%lZuPBBbcpQ#TWN3G2)3UikWD>#7@ z@nT)Tg(8T^{~AIZLk1|J11KrXT_+1ikBM8|Prg{ac6jhO?ttK6sEWJ|LcWAX>HHR@ z*Wpt0;lEOOW$ZE~TBcUUIQRFDL8EmH&!#4WcxY5)2KKktg$ ze*A4Btn?{Z9F>dN=?TcF!4<%I=A`Ehv)t(0Es=?AqGu&g+78@6Zvc zj!sU7jyrZ3&?c_!EG_tw{2sHd0nazzd4NnCna(7{;Zu1+rCoS=&1CLoJ(~$byH+gx^y4ko_-i|EC@YhZT{r>63IMrVNT`=F zH8Yi|H#3u|H#Ot@@Hlu}eEe-a=_lm(EP0(ZDUVEF6Pdozl(?)kT&OXo2_!3M4*^-` zszwiE%INjGmDK6Z%}ndoQjH35aijqVXP$U3x5#1uo-R>L@&g}?2Q()f`)VauJDG@^ zh6)zPM5m=3gt^dezh{7-{0nbN%ifafJ84R0XeC(`Q6y7*(IESg8HI7-eAvC~IL%(E zSPZ@E2Z`?+qq3EVKfKOUUx$y)4wF_y?w>5Vz6T4O5h3XBPv!bq)D?m+Rvd!g(J@kl}+7A>20m8GV6Te z`uchx26-$yFgPd+#39XP+1c4}z?vuGxg9Iu*%p3rvx^ZqAVppN-j*vJFn#0X#R#zL znwI9LXafYVKlt-90ta+A>LMmh_I`j^n|IDo%63=CeoS3znVEep&1`}?8)BEH)S$Hm5Vz}HTJ|Wq zBFC+%%fyL`r(pZ#iOOxwEDxo(_U8P(>6CX)_iOLb`gtgZ%O)vlDd1l6;eg*>@bYa0 z>ZgO6#V5yH6V^W@`?*|9zD?2Y|2Zv(@gdB(+1xVsxrE%B`z4pngmfFJRMcF`NTQIW z?4k|1mP)#fmDXKSq1#v@siqVWA=OBQR0#XO*Y}+N`JKn(Q|Iw0JwBKB`~A8-FK%&) zD?v5$E%3(}`1_&E7c`rQlB?EJB`q$sdI8#Ah(ZNfex1rfBFjL(MS? zon&9j{|1CsT13YFwCtlt4^oz`%cX2smD}H{D%orCK65^LYJSdK{9?<)29pGSkjvPL z>Gzo!Ia`9h4dCAWbiQtj0KdmXMFA?xUs_7&tsUN18(I7U5?;eaMTZrg`H`#ecB?Ta%xnU6o{2s();V1AZxizG7L?|luYoQcB=l84)5vZ8Ngzz|A& zWA}RGBmF9}$Pab5M*5_Lfv6%eVb zbVt4Dmp!C9x0UP)`vN~ROID>{4|rzDjeq0q>u zEI3iF=L))gKo^HVHh;qM@Kr_jF0{2;gzOt}D1j>+@1d+;DprFkNAsb_gVS@wgNHW% z8mLB%sz@e+!<77*026-;ntwXdJN={U1Cfq=dIH{o^qEe7^?Ja_@-5^l%Z0)fxWE%@ z>EBk92w+Mspq`p1>TG<>{3xd#5}gtJVdSZTELT^u0+_@4*0n}TdZ3=d( zpPwIpVnH4l$o|z!G(N^`gmZb>NBmC%fuu<+i^+t98bDw1zvB4t$>A@#K|S2%=+KQD z*{=ZQ02{a*{uSh)$p?;uvcMzW)vb#%%2F}N9YyKuM#c)~wgj#qI4@J0P`@>{2CN!W z`FdITRHJTpRopR(2V*}&(I)7LMQ&&rMFO`Su<5OFvqAyt~ANPPxT zWHzd1p<2>0+bIdG2+WfpuvX-6vF9f}cKG4Jrj}6lviPYypqvX0MFWCG!wFTNP=EUn?w=1a^*_e3^ZzinHk=*zhHg; z2Y4ME_!M}yM3|aFQhS(pb2K3CqwAKfQpz}?!l30Nr>p@31Ouq#R*Syrw8l{`$hLu^ z{T-h|Z&aHH*-<%ACn=MO@99w@InMXUcN`lUja*&RNOhV+3-AUjB2c?)ZOFix`X84po`@-XgdM4w=Xz; z&9P_J`|T{#^DTDpJq@-kX7%b({4f4kj`iZ!U&kl|W{d-Ho|e@4EM>q#50c!6k*1n} zE`GpQ<*J^GEi$0MU6oL~L%&h=T-w1D5ba0G_k^!mQZ(@CMm0%>(hu0aa~niW{Dqhv zII(Lt>mB^D#Lvd_s(G|lS9q32`=&EF#j2ldN!ak}z@0I9-7YJ9AZ6c0v5Fxge_vl_ zm-x{hK_4iJMzSD|TbL6_0?_H?Fh&Soh!rfA7WVAy*(l}BL+2MdUkUDIV+(+Io(D~$-JPiE+kTG{OSiR>jTtif#+H6`N$5*-W@Sum7_P5a+>2f^%44RrCbg6ttg@ z2QysAYpcYz77-+pa}KF_Z0Hjbz&cPzd&oaEF}R^fxUM?L6O?z7dDD&Ws3tQ&Wn3Hv zwo4+|E`1FPv^j4*`ML#q;6us9%U6NNnmr$cU^yr;uIoyV@geJHlDjFqxyD(C?B7is z@ivmVTFrJr!#Dk_Qq=A|Y{H#!qp!_JOAuSyy=wJ6MgT|(Sa2oo+66m)tI8eYi>v-x zrNL90cg{a@ zi#e0$2fNObEcDUZLKx3nddx7rRyDa8D=bv5??P&1IzHm-7P)}VD6_yKNWgpVm#Z(A zv1$O9T(0SxganfT?az66`2m#E;DHt)xGlT)+Z5H&Jz9>3v3mo4Lij9}WGk2SyD=8f zP4Op@&ILMdVN~+cr3xk6M1*wd`^29k!iOL?slbyBOCYbGQum6MI67*i9#eOfac1F- z;KztwOCy}*78hK3kU?Q^Q9BFL^SeRWxdAnuv4FN$S?n%{C@_FCf&9uD&4G)7KTB6g=zZt3mc7F$0W})D_kOX(PmaIOB zr-5880OTQ|V5^NC^D9yFQ2McgGDiTH>OeC;y^!7Gq@`}{QkWI;xY20-_nW+rr^~CKtqBZN z3NfeC0o^C__{163YwdT`_=V+= zmm3yk&3e%$-n@A;M&cT*T3)<{tkuq3ph7e}1U=-fBk2Sm#|%8uR9=F5g+;fpQaicu zwjwzC6u|1-3|6P1V|H>HTR}hhvY>M6eGfFl(4+kfq<4|Z)e`zP)vJ4$8Y-H5BC!Tk zyBo4L25K~NxmHC*h3xCsuapB#anFVQEf}bDfg-JbO3t>Z@ZUzxn*pMqKv!Pw1MJn1 zTh6ifE%V*9RZeIx-?Z26os#B-t8hO#Bo?57`)A>vviP(qMu%32A`1Yf0L1MYAC<>> zrFi?7OF*8XJ%ggTZ+HjVYAAg~CZWa+@9=E@wP+Cw_gtZwQ(6VdHru#3pqx_&of_1Z zT51;^*f{VREXw8Jxd*{EJ4Z<^9Bj~s$=hcM;OYgJ7WlJymc7$elErwLG;S96OY}b0 zzwgB-FwzaY!darBx=)6@yCi4V*?N9|<^sk*z>1BK)1SfWv(p&Nv5*y78hax6fRPv5 zFC%((l_jsvACXI9WkDwUV-x!t*7dO`)&vBg1I~Q9X5@IewXt#HeNWFx+l2DE7=Ih^ zH)p_<_MwQhKVI+FR>?s!jV8&YZNOPlZyf#6^=PWAi#)tdGJS9biZwg2MV^iviAC(M zq1+cq*?0C*)ZSwO(w%}y>Tr$Py z+VR&21sU}?i9Ht>UxwGvnB5s2J!u&7wrKlr;e&Ej*riLC#%iFR*2xUljEY|8+Dl=$3)tN{P$)#R43S+JVB1HA=Qi$b%+dH*T+h?~)?{0NiLwIQ_OWIaX(3-4+nsEW=~F9307s%5X(;TvyHS~ zp}u?G<>k6RxOy@&#QPg-uopfVh%JI z{=9g?s>SWM$YUEfxzrNd39Oz)jt8^mfB5(fG(?c&bO3c+hTEvGuBr-sS*USN&{j@> z@pr@o#L_L&BRZae=VbVZUcdh7Z9Wpg;qN+JnPy@5X$iwPp~J|;3&Gc4p165o3N85& zs*i|;NSLk+W5Nz1Raop$Y4qqq-AR8Nz6XNt0GFu$ zT;!72k@dIbSpwwCst-BWDq0%mJm%k19Ko~Q@fOI!U4OG)U`5kEi{3b}+y?IdtUMe5 z@FO@#xaq=$GU|(NXtSYEKTrudtT`|=i>ohXr(V-PY{n6*r?)rKCLmqC=gvXZI@q?= z8?g7gkjV|tXiCR}?!2@^q=9{zQGUUgv&z46Tg5qni!f5N>pS1)m}O-?gi1D<1psZ? zTTrq``1?Q)mK)SK8YD|hh3YVOW;_D%o;GIedIp2VQYLAM--WvWmlVbv#52QZNC

zqF;aLj-vPPWe;!M7zY5dxWMi*(tW;o`&xwnZ(0h8i`DN%#3|2T=-eCKF>##DhIRE; z)m|t#Bc^G)#8YvwjyF^HlicpPAJE zI6G+|Fx)0w{lhRcghHV*fOr6a?xU=}Qoo}Gb^y|txeQ>KyBiycKN#POi=*Hc9+b3z zX@Yx>@-7!QLb57W>QiO_@{2v-x@Poo8VbpS(?2IxsU_!DTY*)A?kO&na6?Kt3B%Kq z!|HG_tQG^R3a_Mxm+k}a6;A$Y#&LfGrpxRc&JuU=vkAzCkbonD1cx2c$jFE**HL(E z6WgF%fCt3|7c^}OxcadXF8^29S$Yss+Xug;zxhFi+s5yz+L_>oW$*9r16mk>*0K#q zcW8vQsint@+^yxbu!=PTu-!VQzyj6&T-V>UMvoLp=v)aX+RkJpU8? zouxvOmp=oH{Rjj7;uHhMM@5DN@fSgBK%SnTTVlOJxC-Fb?Z-f83V^K~#(=|Xn4W$> zc{*Xu6LJ^7iPok?x)Y_G`vROjf66&le9AH1E{*)$d^Sr7>V0nEaeh`_0jf1T`t9Y* zmk*5|sBR;?b_A=SrX+-WTq~o0u{2~aELPL)+oDLI{4#eOAj@%qtAG9aWxD0Jdzufv zX<993|EV-*t-?TMg-_xg0mG5o!4-cR7mNFA0l%B~rm?i={p%C<8465bhx39Ub@E0(^t> zU3zXBcRuDlkE0)YQoIlur@>tJJY#z9OwXvP!Jcq`3YiDl?M25XlaSt_<4q9rf6EhK0P)}Wc!aJ~k@ z>1EAGRp-Uka@hWkDr{d-y^~VS;(dVOMcVH718HsQH~jZa%bm@{W{7+D@5^@f)@yz; zJp9F7a_dnG+@xg`$T(c{Mopl#OjAxtZj*lVKaE7TI#$8@fXr;N@Wewg&^qlJvHwrlzX&pCj$FJ{EZY zkN+Kz$hBx-*)uN#&~Z3J!5j@RlqUwj&ZN8etWRdY<*?+q@P5!jgJ4gI7!qi8j6d$D zKBnDaw3pcWWLoAlsCTx!>l5ea_o}9&I$)FTh*uLtp5wI7Z8*o%Hq!U01&gD$|FEv+ zU%nHdtU2L$4oqy{EWm!xf&RZ?rVRA|=S~iuJWJ=;5Z6E4`-2O5vhk*Q*Nv&c+|!CW zHPDD5ieB`uGN>Lp4G7mCif(fImUWG9|e$QFhre4<}pP>o$nuFh_g99-XA8%gn)C}ugKct zeSo=jZ(17RLB=#}8_on4lbK4GE>3`iF<(8qT^!M_2KE6XelvibMt42f{|9`P#O9#& zzF7kkCtaxRb6pitA;7>l0FVUsI`h}MtoD+xg#Lz3lhn4>9*<(1riuFTMfS*0WG7Q$&i#BOak{Q0{ck%5Vw6s$W%8Q-8_ipkc?Y zH%whzI3UP~U$^gGo?RdgIw*EVh)!(q_va0?9<}0_6&}WS(|>=UeU~=|^m*@uq#U}1 znTp!|fIT03z+&@A>T(Ye>z*=NSX-yPIb+T}WR7VP=ywp{JZk>3Xfl6&TpqnrIk#0;8={@cd##%dKK&a?{Z3K{I zSrJ=pva#Zh&<4tmE$TXn&>cUZM=ujGmTM@EXmJ;@?B%XEZ{JSK`tI***c=rR89C*U zPV;cJ_R9e>c>VLmg@rirF`G>m04zafuzL%|eT1;%qJEmUWgZGJmRQY8I6fl?kO#S` z9LGEv1JLg&*@tEva+{x@#5vDs7^OFECm+O{9%KR>zwEbU;W=79{IJ{>V17$&B6Ji1 z;w%@SU;9%)mjjWp+UrUbtM4s8S=+tK4o()W8vzwH8?}dgS~-3c40;B!0%+olP@d!J zz`#E;08|tyoYtypMO|G}T}9h*M*CaxH-qt`oVkI`^-vsfEC=822PM9%;ZW9WK){(3C#GcpT|E44 zC#_jAi*ni&|M;;%FL$ZMFTanxKs57qGZX1PhRvFtpF4T2PZf`!`Y|9zT{`XE($K)# zvuPnCF&dA3)9Aj3Pr9&g8da^4JMaw;+U--M?AuEyy)J=(*?8Xva!dstPp-Qz!xNZm)xtKNR z?Tm-#pXUw<50V~M&? zMQ_YUt#|d+=C57Sh1@Mc?L`LpCuVaeCA*y&bah7v`^+~=BoU*Aijc$=m49B6bx2!V z`^L3Uxc-Wqum#MC+#^TSK|z8e6450Y?*)%Y1CPVi4LUS1DmXTA2b{YyOz4aMTs zXOV55iM%{}(6?A+#5c2;lD+x!o7BUN?sjo@p3nR>x}nriGW-Or9sXKd>7XFPUR1P# z7(I1l^TtxJE6J}si8?1wQ{C=09Q6Q4D(x5iwyU-#=z(4_0?J_1GMmAAZ+T?pu7qs=fQBy__(Y(+!{K40Qgvmrh{J{09c9!5G6 z(T!EQ9gN{MNnpIk*mQ`o(M98@Le+}cPW(g6Fy=- z;OSc!ccWO$QM-Pyps0tS#JoOMfCqlT*p$qY-2cVvz}G4Ig*jOktM0at`rAh#3N0jYn{Z;4&kdwAV_%}+#i^&@gE7FJS2jRp=U21F{qz%b^VM_^tp9`cz2=uO-; z7gk}P)Tp?>-w710YK>KrsjAXSL@cz+DAZa1KxgXW-6)irQlQZni zaMtPwFlgC&rIg}sX|Dq-;W1f4sqE18Ez~!0)O{Zi7Q{IaILF+0p{&4 z#K?ijMYU%^8(e$USufAv*_H8AMORd6cA&yPH98Fs+j6n#T=iJs|$q%`RDSMdv3;@W;et+#jP1tkt@-X5f=Btq&Hp9ci zb8>~au9YPAN#GOl1%G;uHyt6Loa+GxRRLJkq_En=2+3MSx6+93G0`tn{GAy;6&WN{Rs`Ig z=!`b`5t{_DDyQH|J(BXE^H42RD|X94)Ph@CIP()(CLRYEd~Y~InVAR zdIcb#AJCHHSqPN-0^oiu9|_{*-d2%xDwSH)#ouKQ@cS(*Ngl#?e#*_nKU$94S1K>@ zd-gx*%o`(!)neJn6DL?*;_jP=4<9Cavu|)X@N9#Sc}-9?)hWWCPE4>LA&+kI*9TBu zQ_w`3tB6vo!C9V{&NIiy^^5I<9>DW-Gtj8lVlNEQ(5YD%BUC`uz?FWXq`v8)G3aE^ zZ?qpzh5P&gmwuZuL0h|Fn2;`ppSsHDLn3jlB2{&DcpWwmAjT+@{A6=YeT4}V0%u#o zMaDN_(BBYfVu1hy^@fjV;l1OaA%25*>wClwhoVdh$_?lDg8e)f5U~(VK>6_WNoPW@ z$4F&6UZf7|PmTv|s7lIST<$nSyCztAfH_Y2lgpcEJsm{KqY@3v2Ix7OtEm3dyu8kG z2P*wH)oOQXPeWvP(FWzxE_sEiX+z-D)Js z4vQt;EZ4WN+~lwO;mVaO{U=o1O`vxGN<_)J`BBRh?ro-=qMhP*N2fs?TSD>XFSG`J z0iK4t(tWpaESKu)>eA}ZpA}eCJrRrHL+eNe-)`RI|JX=RQV2ijOKHiE`zPOp`l88q zx|mOc8E%{+y)##ghS$5fxkc}Zs!||Y9plF2<?cuWt&_nBr=h;j{vvg)ifq1l{w zEtNE0+?)S=oxutfeZUQeD636UIRVwrynM) zR_JxG4riUBup%A{0W$!|2hV_Z@7}jv=t^&f{~0|iB*&mi)g~6h-T0VmY^OEziGg z!wW1?QQX5`_w@&*J1p&$L2&w`kBg({YCAB_NzpEXn=4T#qvYPkOdq;-@HXFNHGO@3 zM6ZBn{3bvzC%Ulh7M=E_!IAGLXz>w^FP_hDfd^ky=^i7bbcwjkYNjYtV&l{G5?4)N z&~fRtKSb`O?zcHV3_CJA?2_1k|1+>oc5?aTFPK;;N!gCJY2%Z^>& zIDyYbUKPoiH0Qk?UnTCM#6=J;R8UNzyRDqN_v7n!YXDx62O^biZ?1w_??}+*2Vy@Z z0Q~@3rJ&`+{QSJ^Xh{kAQ&Ap8&=y$qc4zK8;O))GV#2_eRtYFGvAoKBPG?nimJd*j z!xc{#XB~tV*K?0mx3mP5%0!OR8A-c*kyfRY;O)}K6SA0;u;OS7^`qd$m4?%1TI+7xdMTM9FDZMqP zw(!5MDRPsQ$5<7A)}9%L-PQE;;LlpjxJAjIXWS@Jr;L1K;pV}W+JvKY7tZs${PREg zL6MR;1g(KoO|N^LbBYf{WAz}=eTqQk59F>-PLkxAT3jVB z8SY4GBRVO#t1GVh&3`;ZOfg&fT*vIf^coGMpzLp1i*!Z+g%#09>)`zkRVo$5U&D$x zF%bvO7u#@}Lszd}-PO9V^lVNA1vSc9=ScuPRy_{`ofJjD&QZlr;dIE<)`z}L4%O)r zk=4}~KdBEeknZ;lBWD|kEy{Hj`s-akVUR9zV{bB!wXfxbPJaI1P36$dtWypl4+9w} z^P=hE-rVEZ?$65Z->F<)OmZUE?}k$SF70Fign`G{-2afT8+{AFL1dIp2nva0PfA+O zb2>w%7}J*TvT}zboX#83^(zp&_|9F0ocrUHN-h6e|06mS1ERwq=cx%TeCXRZl}Maw z=aHcmMGxtvrupKfb_^K2W+7s)u9d~}Wepx+ECmql{yoKxff|>9@Eql9K=7TJ{zFtb z#TmXo)oen+RN{=!_bIZED&CnaR;x@YIpK9_pN7N?;YD9|g>%1}Q-||?WfmfgwiFge z@7RGo)5N^?2wHbygixaf4{2aqLL_axO5oBE)nX87IUPNw9YwU9F?39WZOm0H^W;ZE z6gC;)L7jjr+kgR*qD`Is%1l;@s>OA&Ux1|}AB&XKic9Dn3i zO^xsBhyMT^E|k+Af^6Fh%=(z`lr719V1~^clMBVk@kJN-lY2D61*d|@k?3sjCm~?4{Vq#I z$W$|}EA_n`E6_`JUDUQ%vi)RiRJ-uvIUs(ql5+j9$iu(Jv3S|p@ zkNrgTmxhc0z0}Ua+<#PMAn@9FO@Q!TYes?s@N*>xtqyTXH*77lB{%CR8SmH&)vBZ?b zMCRQcH4cvb?W|Eq=sn`0{A%7#H1mV5;|JHad+1+ULZfnk$BM)`e9uph`Kvzy@?q&G z51JdYkq>{*J8_n>^+%?(2`+BiF6g5Gq}sFtKN-^`eJPk_DMAws^rDm4qh^6!{G*HI zKA>%I^%?;k%-9%DLd?M6gz;8mp`yyt#h{AI_9iq!h6*C~>9*3*bo*XNftLNxf;e4Z zZBnpZy5fUmmzzo_`?(j}SxhZHwQiT} z-NErT^9v7HhUV*M2j&C`(l6@5`l}U^6O2>x7xp+-?W1pnYf5i|+u}yw-KK&00(>Xz zYYr>rU`*Oo4hLf2h69iT@9^i@xjFw2TP>Cn6cU#9B~V#*oIoonGq%QlH?3}GhuuGu zCNfC&6NK6YA9a&2Yt(*?NJvnrc!I46+D|n>kdrWtRPikn(a{!wjp*`6oY#z_OV$ah zRPm<;%q%?QtJ|hS>uv;_++aO}gr8W>-Xy%HkxWxR{9c$aFJukzX`$ro(U8I*Zd_UN0Afc^uH3q7$N$oCp^QwCe@uddZ4cz;+|KHd&NI;+GLn;MX(M#fiG1F9II)R z^H>ocL<-T?R;5}ukJ9-Dn{DD})1(cP)IbXiPvwFscru!}cv#;SwU&Ckf&J?0sZ+pK z_GOae$kg9F4-_U^Ak*XXtG{_q>cnQW@^baMyd}54(~^D&mn_3ULp_dM+Z}>hNrj~Q zX}BH$x}_Aym0!hCt}O{0BP9Go`UZFX&-(?SyFdXy%US1|rmic8{7V~dA~8vY%>0!4b7EBc`SD#B-*HO~ps8Nel}c6#xmMT!-%J9~uKNfjvVUL)!L*UC%#fj|K%lQ}##mWW@u zc8MSM-$71;9;~H@T5dImyt!Mk9=lh;EV;>s;wez#0=bcq5gFL&#Pk-o16i&F4Hx)c zvP;*2ojZ5pSMDkj=!Zk?;kwt%-}VP#!CVEF1PlRl)(mb)WOLR@N=m5(o2z;y#cOs= z7LJs!2Af~eF?faH7r!0l>(Q7Co)bV5x<5Ja{I257L8Q1B{|F1vJP~beZQQkcvolOy zCAvlBjTC#;U=bJAZ{NNh?^(0oenmL0cNHS{tnAzs`|`*{=2sOgR-rvwTe&w*@nxa1 zoD@elc{&!flIn$cW0FFwT8IzyL^~hpvs%ILStCkaGr|g*a|DD!56~_FNa#(@anSuf zbk|-OD?>$N$&x<|_w%dObZ%|^dnn;~WPlVFT4zN`l|+=$$k|o81$U$azsIu=D_mHk zsi}$gtnlzE@lf`3)za{nq528vs{19}al|S2E5}y?6B- z%I2=vx!{MzPl zo5gO>=%{&ye$JEJBoBY|tvVf2joG%qS*J$A3Vf5N;}GH_Qs|^Bhn$Mcl(y@TGgZ7@IA-9pXChXqF;hNkNx;<{|lp zR>$kt#p*gupHxYZc&*8E3|OH5c~lTs&pYsSF&&Gdxsc>->Uw9XKb;}VmoKmSQ{1}L zo*EU>^UsRTyMkxl)-Qf4G17)es7oT|35O35QXGvDVPRqPB*luqH(~(ePtD+ZZ7AFC zu)kJREF}G?YJVJ36Vo9y!o!{xyK7n~vN!V1Qg)tUomhF3NZI^6&|$eBwlW><>*v?_ z5}93DKP^DMT#NvcGUO!mW66>3;TX50@rQu`-Ce^FTOV9s<>4oS$A9Nl;FlIO6jWDf zZc3KR%dL>SQ=iKnzK|Yb+R{g3K;Pn{5B!FgY)fi<=|+?$u{$;Q-AJlcaoXcB zDr~-A={y(&^dB}}c1i_q+h1TH3U$i zU_>f7ch0oyA{e{LTllTlfH2OZ8q6;Lf!Do7ryV3K-~Q@L zv;+C`VwlG;$33a# zY+j5`{X_HY-{X6sKIp~Y7lZi;7;O*v>4x<$69cAD)4vundbS4C?&~NX!!yq>sTEm7 z1#ls*2IY74go98N3RQK2Z=a)s>;?wpCwb2wP_dv5O#lh4d;2exBdgpzTLvahM7y{t zbhHY3jo6yoZpFW-md9zt1IZy;J#&CEP#NS8Wbvfr&qaq^)~#DtdQt{XFHTpM=Mp*I z`k(j2luzn6pe;Ev+<7r$Yjm_I0eS1>#gvogYvHLKqzog-p(Pn{ejky0(Y5vUjf3M4 z0Rtg><&8tn+S@w4VNLq&>8MbnmaBA(C$JAV?GQKj@7eke z&%8!L9DgD?%A*>S0INroz`cEvmvz!#Ur_}bdXMEMcqG9>!Q3%4jLpdP1W6#=9>rbc zjN9leYNK9=x){+Q)TS;*^1C88;YrTUezpQiyk*%cT>+q!QNAIf;(AAx=^igA%hdp3&}XpF zo|lN0_k#z4lmR)RdO!8!>tBg`B8E48H|;4F=-d_Un`n{2(4}0SriNRk?!9P8S(|18Wb@dg6?_dKzP| ztiSKbjw#{e2vu0+6wvG6Rg$K0tlz>Jo=(?Z_$hBh-`9wFdolrE7vHg{#fa(AujnaO z*pM!{QT}-~>#4q~sw&=7`p$KP|4-He;JkTw$k9&vmFw4W6?PgJGgkZ2PR=4{biG2! z8FDGVF-U=G2@0*5vpgQk_sGXY;F?y{CzEWy@WfsW1&cfwxA zhqBCzXL)BVR$t>qC>C1JNiILMu;*AG@^@W)sIj6m92v^3t7V5jkF0EE_+otQPWcM(#@Pl7C8>CvU zJ_`t2afNv1G1Zbsi$fPHOlw^+Ty2>CWehzWw1sAcupcvBkQm9fy=(m1t7^0T5;Fb1 zq|NuzeZdH7FPgz%Fh6LOeM8o5_doN4+d5(o2rWa&h{(cwEjmBP|2Yvb0=xw1bsqiL zk|vo^nLeg2&HKYo`GQU*Sli_H6A5oNqnZ~d8y^oTWdFPbCI^g)pFTg_18`oma>~jX z2Gw7)pcF5JW>+I(kJXhJhIQ*-@ ztvn%~kgr?8j%8S~RgM+uHq-ZWxm;qI5JC$If?iyR{G-0L--3{2Bm$o-5fO4jwb69+ zs)Bid^mXPrghi;Kqk3`0&XBKoMQ9DRlAC?mKhL3Iy6~On)k*ZiAx&4wnoq+KUxoVr zoJ;@%BiFp!kBB?I5s=5aCU2ci>meun@phkDoxyAmTIiY}1qz#MCqaFrcjSf@?8=MB zkCDFW$xe=$oDQ`{O$1g~!NmP90=R%<=^RN)=4x+YveZqJ_gZ+RB)T!SLBDX63+%b! zVCZ!s|M8FhLmNU*0g}~ccW^S9nVA*!0H#RKYku-);s1}tV1a`Z)7~(Bp~FXR@Y^g< zqb8n4#4TCAY#FO7qs_WFX?>#d0(ds-%oV9)o@& zF`c#-?*0d|OACXu{GIQF(6>ynCl$7qsKb zmc+f`gYO=8gk*$TXQ-*EP%*w&$#gZ^P#hz&04Lxio(_7cU6diZvc-7$7v7I@xH*_@ zd`?V?#{jNT(FRi9$|u6EF(BYJW#EydRG=J*@*f_KuhG3q{&w!dPeJP6iO1hV9(Xe{ z4Te-Mq3CHvwU{Pt`W@^Wijl@~mE8q$Hk~bhe_6!0o}llPo~kNWb2D=GTIDtV*#*Xr zU&`^B0IB`eQ+$#ypKVWMS*lATj?r%sIg0cucj;l0y!7HN1Ep6+>C{$>eQ-UTB*RlU z3-zqk8ubE6Al_5>&Sj+Z|9?3a6m($rLmtbgjp<}PR&#LC$@xQv4sjSBt$ybj+MxAu zj}iMq_?81s_`Tn}lRr8e@mR0bf)V;ve{eg@#glY_H)y>w@DY6$gaM;|fF&A39jmHp z&+vFRhG>5A0v8zX%2^Q{tY(T6yS}E}A>l)Kub4qO$`i}@D<02r9xVtlx zvB6$c?(|>w!W9vfplSNha78!9Ddc@?*r=DkzdzoS@y_|Mo-uF}RN6-{Shm^l#(}lL z!R#iNY%>iNq7!jNiF<64YSBiYDIlB(*D`|pH?&}(ieSNi?m}*$M*=|>zAsYA2tT*Q z&kyO#nFoMWe36SVOLhIQmS4`Gw|Uw@%M+tkJ5`C%NJ&g5kA+v zfvH|x>^!y6y40Ym6c`X@b8{jjw7o?-_{T*&CFT(N+A-E8{qx-QV2SoUd7|ixTYMIK z;61Z(*1LRnsdN|%)GVq_7PT6uZ}g7q{5Of^itt#u^Lg5wUFnDuBaz)}W(?~qfN1KR zmx9!+%G{B%!u(F&M(TSI?eBxxZ}#J@4go4zNl(O&C~?4<*mzw#tDuVP*p*c`rff{sJslj7>4$R8LzmZ~JMmqf{(8-!>^+Zd%X=Ff$}KeE#2kE$P|0?VD?)kfS?-p|ZpqHyicAqAXt2EYT;10th!X`*bMP)J{SO!tY z>@mbM4sOa-UVYHYU~AqKXboExRke@C_j9ZUSQ?)cyk?b8RRN6g!naF`d7 z9E&%!ZU!Z21!XqKgY5%(Gj5o*oXOi^Efflw6FLOkF=POk)^vIDCt{M{{;XP=E*D4o zi&}@4sV`es{Vx^(loxl8fcAID9m%^@k=D#Uk>V~KT3xU;1S=nC_Yqggj1_N%ZM(g8shwoq2|VW zHaXz2IGs$bF{wuYCTn1@i_miOP1jKIXp@nrrN=2MeX`zb=CSRr10~0fnU!V^OWlh$ z(Mt>76l`?*_eC3#-uZ~YEOgyj%x!V-z&D+Q2w)@$SN=g6eH3(|-4em?td3d<2Ld&u zBz%6SqU30&>}{wWDyjS~nY^vP@i?d~LdQ3fEZs(_{iZMZC_kT|qQ@R9UOhF)NVHvH zV+YMzYZIR$rkAmZj~xVYLM<2wZdEnVii*;6{xjCmrQD~#rvdg`#PFJFwjID=H^z2%bWM_4XszL_;UpG zBd%{WzP(^;qYe1twfHfvnf;J2BIf2`Xzp-ceMW96nR6oN+5&5p-c?MX`)CN{s8^v( zn(x9ttdZWnO3{2%Sy@T?&6KhfOM^E3cPrej=jxFmV7qCx z+g;sZ>Ca6qzERR#(~~+@`({A^ipyeNCfK>beCx~g>((s*8T|Xah|8xhdR2Qk|B3>M zN-8E_05dU0JSVHG+|C+*-`{9Zxx zKM>M=mbjiO=PAAH@~g;4-CZU>eATbU{(sTjzu{4?F*NfL=&osHn*}THI7)e8gQ!Dg z#cqF#cGjP6t5?;-2sZNoHtaf!l+`Q}(ZM8tP)rKb)1`vSpi;#*YE2{2%o=@I%meg& zJxx8}M^d=6YALf2RYI>qGV8nse0i0s(F@Qf%A6^gzyI%IPV}SdhS-QlGiM$f;6SZ$ z@OvgeAmL9wc2^ip9!ZVl?(eWM_PGkHvd`a|n?Wb-^%7-(VZ&C1|~PJ&>u zHG%*RrRN`X6US4l5DOPv>2vM~R(R4tTIa-ITf~_d8`A-RwKBP635*IUQ2|!;b-Jv+ z3w6gE29$e)eRn?%sDg~zs&y1v{vQqj7J8TpNu6&bdN|<2a1-O@o1KirU_OAqf;hE+zkf?rAuxKjdn8f|MMvH-d=i*zbTTJDoY^!Lu^6F~M)-B+ z(I5o}V(8blOP{0sD;e@a2J(a_eGXZEXq*B=0=mBty`?h!p| zfKv8Fihi8BcW+j1gxr|n-v5o|7A?1q{x{%)q;6!E>EY6!QgHfouZ+r5VZHO&-3A!8 zWXo-lk;WTv7gHr0ftm4H!t=AJXEqKbw4$ONNSh+2ayHI~0U3Yhg+*oN=LRC6f!YxF z;~&SPB<+^;7X$fXP^HMeytxXu!u(98hu)uqc>N^p6OFV(7)K8Q2=i1u!|`I!w?t(Y zRzktk*dh_@+HIoUsRQfQLeAcS1j8F$UmGoBcCbh*(2wSU@E)`xA~Hl!Zt|9R)87s* zW)SkY(A$pWTeE(Z6uL|PwK!vkNx%PLV*YLcpdBpfnVvtC!;0ZAd%1jN6Te|W#*VR| zy7tsB0juErj1iEE#F+#;^st_>!@stP;cm`UFouc7VK}exL{Z#acs$v0)%n(4FNu3I z2+3DatLDT(u=moA#7O|okhe|v7q@Q1qx26QLfhTT_@T11wq^P9+03a)g%wttZ_$?W zeNmD2>FMe7?;q$tsO1vw6ZiW@NDQ6q;xsgg`?gkpZpT7Xy@>O&3+Djon%MIlcw^LJ3>1gE!;&^<{Fp!YHM z`GsNRDD-!X=htW2w+%g(1$c(qwAnjC;t=~Pa`JcaHlRBOblrYdIW!+9izr5m0{gP* zp`l%wl9q)n2WZA9T|Wg_`h-VIFC9}Y2D!+iO7^h84;VNW;Zn}u3ODJ^pmEeoWJRQ2 z4&vAr%5t~iglXZy{|ZGDH$Z%%;w$$Nn8;1^lhjjI-uG85- zBj%3dY~YXT^Z_6JCKEs{NZ8gRrl-mgZ$8AwA}YpbLN|sX&LOqt!S>;2cQS*X80o|K zYi$b2Im)`9=rQnx7`B1N0*K)^g<$1I#B1>=X!x1aiq6OYvW8ejxbOO!A8s>eSnr6r zFcXwR0Y5wmY2Ec|FQMu@ldY)|FbcJ*<>60jD0ElmUYJ1l0;D|)mV}wNl04E7{-#d6wxx)CaF}4 zw9VL3p%F?XOR9;KL@6=9YkJN(o$vGf&R_R=o%8a#=Dx1`bA6WgVlHuZS7caLCMFt1 ze!3s}5O6gR@k^4oyOPhTqO5VDRmYDnOJAD>JY0pHbCwhf%3R=?ktKbP6;{8_fHqVH zn*_$Up{Nd+_Hz3oy|veFTuYY00_teGjvLNnD2cCV=n*edj-zIS=4StL&rY66f**}d zg{WLDAM_F^VBn^LG0@!1*%`i6d48w+p1&IzqSyrWKyfEXs9e^#fF^~37uI%6rKb$ibqL$!Sp&ql`C2&&)lCk4 z8*rCD!IjoDD}CV~YR;IEjb*=ex_Ia{O`;^(+w#>Ef6B$>_5r_c0KowKq=Z-4qc5=P z3eOJlT`3f(%2SbUc;Y-_oU`^{FBA}8Ce(rK=b_R;b@I1g>JB$jt0>t|qNDrY99NN3 zzYZGKFNFO2@Re$e66i!pF@S5&w-mwGec!%X?A0l4HwO<)0Ipqad4o&^O%`_*tdN;w z{_JeJ4Fsic!+i$?W3HyTEo*y(xRj<{$KmMV)h`6cN`$*XK0rhGYup79Za=7Y2o+UT z-ae@{n$$saYR4Q{e0vZsxTgbI>mL;n5n*vNEliDInea~a#Gz|&&`eui!R`)jns`*o_9w8X!v2Ao8Yo0pAK@KDyJScrhq2kknGX*y3I**MEHK(CN z#JPrA17GoM10^$3wBqJznoEOC=xnxZF1^#lTK90OMX!%&rKL^t`r)o(&!vVk>D!w* zAALYODiE+xk_Dxo3Q6ye+F}~%W8Z#{8q{KfEG9<&zBDlm5`aMbeD5?n?Nyy9Zo3|9 zr9Qx_to~8X0t%TUHuP=JDRou8si5IsR8+*>hnWa5Ffd5&Z%Kqz$Y+&KZ4aJh^sP=$ z&ZQ9D9K0|A>h0M9(WYMAdJeNxvg~R^v*xgp*-y7jV_ss$lm)NrF!VMfWig&+M@|H= z5OUC>CV-S)WAM5B%&;_P&_tXcN7wq>zX^n82m_w8mA>LYHvOYPJn=2mgXF-LVbF%Jncw%Jer0gFPs{&N!zyIm9?8YL0R+)mZkR5 z=TH*UjBpMC=@?M_FpJ}{;xZY3!KNOz4o~1*xDWZ zN)3QovE7($n;u4DU%Di9?5mJ35$GJx>yufRu7!Kv+}tWrmY?#)97C*EV$9N-uTD>@ zomBNC@l$qlQ&UeX%KmU!XdM=_r@@}Vn_NCHUxy*q;hJpbh&$y4qs2CTIi4bQR--t+ko?2($a}U2K)+bLycm zEiH}NPv}wr)R2s36PCRdG*|&o>p6Bw9V?d$(I>Q0oe-~`HDyoLj?`Vtu}xo7hdX;Y zi!u>Zq<5tK&}8kdk@xS@PJiF-l2QjHM!p07K;U+|klGzNHb*lYb{=>12Cx?hFf+uG_iPk&2I+azx3$66 zGd0qVX|7m-S&u8*r{8SQ^@xXk#+3RV)MsH}Q{hZjEa;C8+OBKpGcGel+Oq!H)0g!4 zbChp%lgzFB(@}ZzziW+b4X4M7n@H@+N-)*TeIECiHIlb9*<70MsG8I%{-no={v|Y%)hw zI=>FRQhTL-o?76%35(^+ASuA2*eNXJiE+|?_%pkf1o6NT2>@hW74w8M7NiWTjWvyQ zu<5mDJ@*i6#c6MYd_V?y0y4kd-}@&bjB2HVVsZQyUa$kJ^&wSXO*N8{+A>mJS>a=Q zllhcUZd7&%RSUG521;n?HR?2L^1@l#zFLTM3LtfRIi%}2Bb_tk#@%Rnj*;_<&TsX0 zb68}9D?Ffb=H^pzV%(V8d*W2avtuFWRobIWtU!*~?Q$9z^?@2y&*7If$b`Bzo0_S- z6W~&3&y(B6ZIvTgV0xdf^CHXl$e(uxCVUa#-aGqy=v(Y}4_(e&p@meuXGtHMdmzdc zs_KWzzhR!?>6p6YpUpsVbEJ;am6<58vdlY**LhSQzLT9itNA7gWX>P86m6;#fU1p@ z9wVrke~7m#ruJ5~1|WTT8ppaw*Q|ARhIuu=dIKzI$7FVNamw-mUS#LbEVMdKb^E#y zK9KK36ub{g5F{M!t^Bh@ssp0^${`RWX^Fzz*KQW!C!ou7#4p3$Rjo`&^uy=$0P-pc z=nw>KhIYHGl)Q~mnfO4ibHt}l?-RfHFwLJb;r4}(VYt@vFtM9AtV7Fw(fZ-#PZ6&` zvcL*;OVb@fORy{KE~eB<#1-;DEWzOOdvLM3tq?lGw0l& z`vNG~=_6WNxO=ww+=Dj(FALR3l754@i)rjld%Y-10{N9m#D@_qbX<8~>C{G_&CsBA zD%f?x;o(+smlI_;1UWG}NFguT*FKgyLfl-I>|U3nlyFmWmE(y*w@sza1>5SF8MJRQ zl^~5t2OW4@#yM59V0ch%;u%S%(a5}5rx|*KQ%>XVKe<4FNR0z+?1#)+>|AOLUl8<%ESN79azhPTfCfrk_Lbx0`n!u{z}; z=593$Q9mBIT;KEOy|>{DQ~xK@($2d*{v;D|+`H7Z>CpSs&3l1*QT?cn6;-!p#Gy6v)76eMOZ* z-cMoIsfzRF5)O~yHR`K}??#~zLmZhe0N6VoQjiDbFfe8aDw(K?7O$(S8X7Zx*IfO4-O{@s>OnDf_a~4BdE6iQMu8Ms+`6+CrAZb_G{;#Htj9`KjiXfZE1 zTf`5b=slPWZ^WeOix-G)tz9RVQD17qp5Kr>(KnyglLtX*TufdtW97Y*+BdxUFZ33;!PniC!$zfOXQNhJyj}@3g<8z zEIiSV@U#}oe%P|_ao1t4wyV^bz^(&G!|z?8vB9`q4X?9dQRMJR15hM*r6NHMlTQIa zu_HaT^RVugMnc862h|22PAXiJ7b!vhv#@+{8*WcmwNX@!R7~9EvURJf%0u?iPX7Ky z&M~AJqNSAtC-NUT1)qg^@7-)5Nh}U~S&CSbuRIbVwM@4! zgyc1m=inB<+&hG-(g!EPvHWAG5S_8<#Ybl6%`99u6o9_Y4YjCZqFFS+WaMi#VUbc$g z#${LONr81;B|WP3Z3UyF`7f9T#O*eQ9cOVPQV|}uPh`=k zNd3)H|2ga<^!RPu4EWip&&~t%)kTGxuT%tC7O%-b1qpiTJ!o%rCxEmxhXpwY5>s_T zTY02k1c20DWE$0)NhW5$r+w|>9Qsp&iYKAygHpi0lc;oI_tvdjDKj*C+x}$pBJs;9 zr%uV+e40z#%P@LaF(rz$@Ev(zLrI&(;+oWkZzl^D@Dr+XB|iA<>Y_yiCN%m0kGC+pq{aI z=?0kTJ(Jm1NZA-E+^PAdg940|@_sZ-OWu{w^#n8lT9ft27f7>_t_6)?;hd@s- zW5cl*Y~M$q(CY5)ZvTL4Q|k^glXbv3Bq3Fj_>UzoShHUoNbVc+voQE)kR(d7JViWbF5Ee;@_Kh^AvW41 zYxCM56kEX~`hI=6Hpq{^7;R`H&Y5IwRIgh|0P&NZeEKhMv0{nhgPZz1EnLegZZZyK%&fUMMsSv_kC&RFUhYh%rn70#vg zJoC*UNyD7TXXPXNo4e4mA6yPK`5Y7EhvwZDR#x)T;L>}RI87q{CUksKl@i0>g5-XX zYEf^cnj_K`VchnXiHl)wuGIPqUYgYWDhSn=XX5)z4d zaz>US-G8zlirgb@v!-+xSs*vqdzCV7Y#jZNCfRs zj^Z&ELC9*QI{B3;vtphc%6Z}zNt)e zMBd)=WUFc)70Ep`#+Xuy@3`B_KP%ES1Zm~G^YAth+0A}Eb52OG;d}zKY24T{_l;m` ziGe1Qh{nda)oY1Lg^78uk|YB6R1YsTB36s&2Bi~~M< zHHOuY!oh>H^eU}1$dBfc%9RRm7dsnY3)w#GRkt(Y_U$|w39BQtg8-la&;mz)D`iPS z53gpWruax29q&-}w+CTtm@O5{7W2DBpB|azaxVP|4dF_#hA_5+y*)V&P5_mkOOGD= z(rEjo)4;PTXTM5Jc@sDd-XN_h5YhG9s?@cXh6A@txrCf}XrN<+cHAvlfmHs~R=vwF zx;=$!KFg3N48P8*V@StaO?x#Z2|UbiLFn4V$e8kA@P}eV4yw!^S)k7FpTDI(EEm;p z0h%MP@my;G%+bJ>WeBaoB(uAJ{90y)qy*?EHJuHx1W4A?_yqK1 z1-mCc>?hkpcR-WRI3?u!BlUi|?acw7lP`7-r~|uQt6G^S*VN>4))2AIHZ#o!1$-|U zZ&dxlC{I*tCri`bCBJ2-eMoNo!#Mz&yXr9hB%K!r>8J;3PHi6HXe>}=SbhcE{kY_R zjx>;cU|Wba_0J}^2zP^&B0O>?pw$KOgEFyi)T*Y~O)Sj|We=6}ZiQOiZ9z>gZH#-JipEe5{m3qVMMKnB|W12wTdd{z@yM11yoY zdc&2pTdurQ2NM&UTHWfU8O+cI>5=)?8;xS)+iQzONLI{PZt!vvUPa{>u(tp809YO; z0eQ>lVMMPnbZ#wqQI;RtSWwWLBvO%TYikpNgv&iKA^De3-S*lswKCdD|AUJ7Y@@Uj zx$*J_9>!)-Z5Q|X1$(4$9m3zHs9dDo%D!fluG1<*oD-I=zC7|127__Od=8C_HJ>eI zL)2cne6wqf$@88{-SkQZ#Jx*Fc?nO&&FxPM2j zdBCPnqsP%fH8_oY?o)^XPM8m^>+U~%uUcyha6lp}y!3qdTMQpzZ1Isi>TD{0*(x5$ zfuA`=OiriX=85l})WRLpr)s%=}!)YFQh|zOH-~3bFV~_WD}_y)KuOlbWJl4qHDSUbj78)#Z3h> z5QEu#4faH#KU_zrO{nrQQb;Le(`|*xhwsv?bdd{5RvY94w!u<0x1l%7nLEP>D!^Zz z622sMjJj9V`9xEvSgQ4{1V(1x=<}5Z=CaNs;uadb4EX6iyEvF-nyomne_I0s$rjfg z@xmlgo83)b-72!q-=3J1e66BrIw?eTP8elXCDc4(+LWp%1Qr~N$g>y9HH;V4{RE_k z(&;O}jPUv~y&J4jjl5yuq+mo{B?arv=)*Rf5WZ|{vJ$|Q1!8aWrPayh(7#K_W(!2# zMq41Lv*>;W2R53uvx0f+9d$C^=T1(ZF2H6npNW%FoBh?MA~mBE=v`9XJw8jHqjrCD zYI>-s<#zo$^VQVSV95vJiw*w2o`T-F8C;CIu{$sFlTSC~9(&a36vZjphOYB$)fXuz zE|=AtcEi8y8oNh3uplgcJVRJKG1}Pp3V?xRPnl$?RMAWYMA_>$ z+pIW3RHm*>KNVTJo#maqDr1}rJ*G77!RL)S7}gAPUHYqKPjKRV?-pbXMg zfS|(R#)F;Y)pH^hlJ=u`HHPYHp9El=;O3>rS5;BrMo>mwJf=9m_-N=XMS;)T%byo- zUF6U9axVSB4b=jjg|uajHwk{vg-A?eNS}#;%{Y||BC5(me&bn!klr^rc_RL+fvGqy z%#sgvuN|grNg*3<5`5TZ>ADHC9R~8YIsT+_G zRQd#^WKvB7BL=bM`I6pxVTmJ$+A?D97TyyJz=2=qV6rdt8tJK<(Au#WL*FV593*)+Z+4__&0OTqIurp37@sd>6Zn>1H@61 zN==csf~;&xnx&WgZTsX5X)1MN3m_MD80oZS{hnxdk#@kw(--$vUxJRwyp2&X49VL} z5TB%+I|z|N%fJrSiuql$dv?%Y>I$vkq%1R4=%Ew~T~KVyB5VX~YXH@LBfT}MzzOZl z1%gQ`4+T4vV~@QtnI7dR{GBZTI>Zdxv8D!j^O0LT2fcT=dF%{m+}9)7@9(2OLz3sQ zAGiCQi@s$6yGAO5dpPf%gx(foA^DaT*OXef^KV%CwxnN^i_MVKdmTOE9Na3tEb&iILP0T zqJkICkrG_C=ubvaBWH`lvxthPU=8A1S(Q889sWk=0WB>whBsKxn{%qctPa*aj7WVx zJ#8R1*u?wL(oe8AwYP`C(~Q~maK_?f#2#4LK2F7hT1J&*yF+`?QV#oUHZ4hCPmdlh z9v2q}Y^_`dGpB-O1Aeq|xq0q&lyXVr4%8W!Os{}3NRQh<1hH7pU1TKQ+hpQ}vsKq| z)B*xF;YCSYq;vkEYU|4mxW>mAeeYd+hR7wj92v6>m*{iS2S*0T3;TMHnu$XB6G7>t zQ1N%1TYpzcpj^Dt9JJ?bH}4cr#?&HK!lvuTj~^5Z{pa*vp}SoOQ+AQ+d>Kp-`p>iN zDNl~s=}DmZw@(ni14jGJW!h~RrF-q~-5Dxk_uAp|>O@kRiNG_;r+D+oxBvGH5s;eaxa-cRk4RSY{xY~MT5-2ZDUHw_^pX9X`s#WSU6A75ug z!|r`VJe0VYR;sATDBP4h_v}e&`8Tu|il!W^*tM}2=cSkX58G;10vfQe?0LLu*p$~# z#2EgDtG74y`8IfWMWb59d#Bh`^u@%q^?*K!*zJS-#*;2-j9;)O zG=IM~B@(3lgm|kBpn$PC5zcgz!#>8_pfA<&cL`>U%TzFpOx0CR9ylAG&B~RGaD0+S zh_`pk;*2*lbgkBXNSui^B-M^^BH_M-V+iuBN?qxkdgGdOzweCZw3Bjy-2CbTev5cX z=z#+Vq60Ng`VyD$Gd#}vKT!w_WXLdF|2R-MFtDn7k?JM>77i)pwh?CE!|D^X)SJbMY86WwW@d3^Ekxgg{L5s(9>d<5ugc}imyz{GlVT* z61Tn}9x!M+$ouq-c7Qn++VHw7c*hR0@0v~TTW+-9Ys^kicJs$p;iKc?T)mBjB5vm| z-gt{|{a-~cfNarlP@jXCHh#QLynlHa5HMhGbYi}-2c%P%6K|~Z97UrdA3l6$FbT-| z`(mlQdo=4ryUoc%n2B<7y+m?rnho@u%#6GZXr$y3d|xN4BB7Ep%Wd-Y0JsG+fbY-N zUPsAz^B|{K0{|dKk9$06roE%!PHTG#Y5pw_(*m^3`lGZobUIp6Oh2dTx()mI!q@$y|X3ktPFX3 zz3JKaQ*;7_6?Kv8XEEza-Un|A{n66XBU7P}Rr&<-$ZV%y4*;%=zeEPU9p=mnXdU57 zgf(!mY@aGd>H3#hjRha^^mA8{Q6>4i)9Wne36RVV;)|$60W*%j@@3kmh^=-0sAaazJ=`~S?f11PN$ls7WUA>p z_aXa#&jmnjJ>$&f^YO2)z~^)|G&L!aF>q+b_XnVbD;mG@YH;IMMHW-UM3Xx*7Y5lI z1DLObNkuAbsc%wxQ^~cr9artbxf**oEz4<9Om8M9?<34J@)T|X5ub#R^%WPFKaF1e zL@jHA#LjmEAH4i*lBfE07NuQW`>;5Cg+EK`MO06()97n&;c(JVKtF$@z`8n|Wb$j_ zd+zAx2TACUH8p7aS7*?Gh=R7mo!5ARVH@6gy8RADYTNY=`YyFBi*Q4J{odiNuU6l3pm22_J_V@9sfq?R{?NnFc&Wv ztz@&Og*+zGq(1-c0~6zi02OOGbF?G^C*af_v z8W#~2H2@XqqT~Q~wNTlu$M}3t_pu$nPbT`F%PyssOxng8Q&ZFAUoPf_n+XxZw990k z9Ik!rcUAFa*@&bgv_$U!Lwr9iOiy1r32)}h!oghmmmX5SAeut&=-Jz=RH$dI0T$2} zFT=9`a=!gDsS-UAS0HGYo|H~)cxDk&Eq?PYnXo=gaE$(IZhPK&1uzd)Mgqr8_U_ZA zi^_T1k^#nX+(~~CTc!&44-YAmIsl)Ifpa?YDo2*OH)tQNM_F_>&y{_lk|lo+vE#y} zC3C|q+k@O%exk478fEhWjxhaI`<*Jzgix#9TT;Zh@gtH+&SPxpAVW>nJVnIickjj! z7nwoH6KQN%_52!V*uKH%cr?>j_fP8gcVNpygZ{+yb3%39dlwfM?mIFv8Yr~lqb>TA z5obT)y!U*X!(QBfH4yBMo^JGRXo?I$Z6?P`xAP9OC!2M zUIDB1JkK|dDO1DPp%uH?pYhSf%;tz^#U(%nUt(z|XvF1LWl1GokzC#(w?kVvSR`2d z9tYdLA8oz7>ERD2!Gr~$o0(kK0`9L4y8+7gTXsdtK<(;9S{G!GVe-pVBWtgDqEJ{^ zScvQ{NR$X|OA;99dUh)Pi@*GLxdj?LHVE#NvBBjw@eNp=jb?d`)0bUxC>8c}nSp(-d zR1&a}Ip^%YHlxoxppUVrVFYvZI5`m|n;Pm^tIGE`(t0@>wDa3`XFpVp`bw&EYi+TZ zfqhU!Tx|LlIc6W5Vi3MVOpTMADq$HYVI`H=gIoPRy3;$G zqx$j`#1__|p2llz+^<3UAXrnX?!q+EYng^OsPn$eZZC(c8O4| zd(1t`*k(Yj(c~r47A-9X(*F7}0WA5_>GlmeQwE{6ju;FE?*O(m8~ByGe@Gw5Uh4t`BDC1PLD+F*>L zzqJjOCb67a*5i47M0+=4E2cAc1hEW{hm=W7DAq`_MdcJ%?B-CqiZ_Utep0&p2|0@6 zbm=CdIWGX9NnFYkC~H*@(~LY+K&O`lPXjy^5Z-~DHnBL^nAgF4CzaW$Z25=y^5+R6 z4Py_+v!`l=Kw-&m*8^S$wcqS;0Dl$P$A)2&`H;K_<-b+(Skm3?DwSF4q2jc2civf= z*BBXgT)*Ko|BW>F9aWdR&rt1`87*m=+{M>=ev{_V{w1v?UibHRXO55;-N!D5?HQ|4-9@Z8v$THSZLQ3EVTr{iH+V&zUnALTPpnQtjA9_P4A1UgyybEaoD+Qke= zg~=unz2vR}PF->bEM(=%fiqp+a%nkAKqLH5EC2TsP}bp283;1Ps~d_61`lz9N4W$T z)|x+6Nt|4PzR5crerM^yt!h|0?s%D^+o$iFoIhSD-r9cYOLn8MODgY@J@;sGj+;68>VEjK(H^^kx3ryC$w)qDOm6GemXFX`^497iyNGr` zBK`;I@%w2NiQ9ob*I(hfMKJN__FI~YmdtG?rmR3W$lT~vhhqt zxC3jgiM_G6b?b>CO*KG!V%b{E%Z^42w(2HSg#U z+D42p?}G2)nmB2%@v;$S;7MfW{ylr9&0K=B71vDwb*j-(?=@-Erz~g*#^GyPaa(Tj z-yMoS$Ew*3L4%94tvH2+3Y-40OTQgRT%?VoFBX7SSq!mQl7c0oI!P{|>ntoRMahc54bn+MC~3Y%oKNGx73S zB>F?*ogybOH(#NKR!dlwYz{jfg6#z&l;n*A^q1pBmVUEbEI+j?(WmpJy?r{xFv5z! zdB^o-{?F}4!>2;Bf#mR>&Fj}sSLag3cURkqeOxQwzUc(*R&m*KpnB!nLI{W4Mj%3k zN&HIH76Hj^4g1oHelMTlUeJ4P(QzAOuX_W^&=_k%T7oS-JopuIU7A!0K7`9D<|)G# z*@$e+>U2o}-C;lRmkT9N(2CeUDb*R$?_A^sj{ee=qj^94%nSXPWHC~>gvO}^ zojy)!m744)A?WFoE&5(zw_cYt`}*LfW!&DnvSLkl%)h`he|;BFEOgtpX-QOc$s?c{ z<+8rhwXQg@ycm8l6d#+6lZ}tI=O2;cyx@Lfc$-jDInInuxn&wxj6LO)FNXi7vo5la z7K$dVYqCBN;~HwEO~tdS74MSxa8Go9Z3Aka@1Jb6F^@E<6_)(&*(RtBWBqv zFeo)ffTE8H9uzXg(skPUL`!!3d&y#t8~SUDY9V^hBpOu`pG$eHK*{(y^~)lVNaia{ z8#Hf6q~E@>>t|&9y~6v~wR(AC7*{qY-;qkhFRyIFMl8`=`pCkjLa+bzF{)FG z#;)U=Y-S}DHpt5d1oFZYH#yM05ph{QgVO8Pr86uAw^l@KF^zcrU!g^hu#7|t4@d3Z zp8SE&_rb5Rtfy{#Oz-&hn@tCVtbqH$_*#<AB$$y_S{Z#`iU0HTVuuB%4g|9{j z1$xH)fdYZC!y@yAkzmg%T0LXT5pd^Q+Ai(1@z5~dU3n{sudKk1R&7l%#QGE~w}NJa zMe$m<9`4`Od%y)~wbgC*mImGwQoxn+?^MrXk+xT28t0pa4@RF=ZGZX%lY;|AHh#@X z;_QCtf^_KXBmuO}&$O_MMIXYc+H15$)F!IDEw%moETm`#3#BCJ^{er*D;2buyk!y~ zE%1T%Pl1GxSZvV6%$Z5LQ8FkY9dj3&=t+IY-z9KXVC-?I-0;Cm#90Ge7&< z+vb@Ri~nn}7MQGl3nGcK=ueoKn3$eU@s7>!_EJ8+d1Q$-_maHxLVvN(cQ2I~s`!sv z8Zn*RQrySA5yMuQ%|@G1%%QzyQr`6~MYs*PV<8rsPZHp6edyPCj{7m6gix77S8XFF z(O|~x@p)uUKdO-NYH_%UEamcMgKIK65-;g_f_i}V6?gSW&&W_0uCMy zsjOVK7OURks1!HwUuPm5g&qcMY9$~QgN=BI+5S}H2l@v~S8yvXZ+MiTRi&jncRr;g zI?w9@R_36;(`+)fn$Xdl8h&+sEBU7~EJxP?GkuWS(vRJcTfY5@OBS>|LVPc(cO<=E z$d@V0*tgP#Arg-Z5AMY&S@N;g?SNF8@j&-1;XAXlcbzY!yM=S1xEQjrL})MrbgENL z5?>{6xWUnXyo8IdU%O@4o?F3&{7_&io>`s^ZhuQg25%Q%>uSao@$|Ldr=fe|V68aItJTl_s)i~R zVkL<_fxpsz!mpmpzi&jl$u?VrDceaU{$BO6FN=%dggIMP7>E;#F&!gNZn!_vpeK&Q1aSm{rv>(tm%uY z|Ms%eNc!}TN5DUs40}7E--T16E_FYhq0mmGip|>w)e5hv9-^@;f2t=gX$4?nlCZHs zX(gBSJAk4_DG^Uq>FO1f`p!J1!vXSFq2``Zkm+rmzD$wAWG$6=OawO?&w(3>Zw<6Rb}2GGnLuVDOXHNGfy|5_tjg1 zU9js{Cmsqa%04;wz>%>dvduOk`iO`KXJvGWb;G88n6`Yyng$=0E~x25{eSHV_*Vgt zx=2YL414uzgt`eiunHdJ1Wrf1gZIKc)#bu+Oaga~(G`U_JBpg(zp-GhlQ?7!Z#c{L zw<#!2t5A=;B9h>BTc)R~%q;BC?IvKOx8NC#ULi@U8L(*jZCMaB6byFIXpyTb@eA8}}}+ ziD2C!&PH1&*boSG!<^AiQ@+5~_D@0ipC>lxFW%Tpo_Z!7J7w;v(*F2y(_jTweq{G8 z-|>C>$ktaJvwfCZoN)E-lthnL+|EawI zxJ?QwFxZ`-?B$Ujtt;1=KH4UhCKjHTqLQ1M&@bG$@%RGHZi`rNRca7l^6)yHu#B7P zR($y8ptUt>&J*nS=jqMKc>@$ZT)eeu{gU%jX|YRbtujh0Y*CBW6I#ohiRvqyNAoeZ zhcoh4wy$Qh1{^-{d8tA#FrajjnKAI4VQsD^-ry2!H?Jyi43;xBXI_mKFTrh&lCXmm z1^_b;k~&uofS1kG3!eoUe*(mh87E2B>qv`_i;fe#|2brAcOcNzR$f={HvNs1kVhRn zGZHNk3tx+Ee%l^Izcrr@a5A0DxgWEZ{^Y|kSt?=g_P`=;e}7QWfC6Vz z=e)iS+7T%hPsRTbAAK$nV~7S(xePtSRkU!(3vZfUAGJ64-gHP%(2u=9<|LCj`u>Bj z`u`j+NVYS1lj31lBMv4t83+ZF4=cU2jm-jLv#?Y+0hHpPWLWw7rR2U%2*EtGS`lrD zvZ#emQGXp^^oyM=ErO*s3rPtprTT~1TTv;_#CFwJS0R_uQb|fH$n9CaKY*k4rr${g zRzo~6uaGRN31_iU!)1-w@z@<;%h1}aufnl)v!B)V zUhjM4+#+0b=YU>33x$O)t8*UZmr`kkk3BQZ&fGOS5q(DYY~8fp{^)09r{U})JqD`LkmGBPq40~WW#jJDiDs}*XlFmhY`n?uq}LI6cb zAfzg4ssm%masIe~6spkPF^a!c@H6O5TXsS=4dB3QZ`}&B0U7`eMvie4vfJh~S3T?P zofUrQxxm|I#rF%cNt&`MTC*m(V9f_W~tz+E1b8+{t|_lTns73zH2UDxPDSLEN|MS5QBmk{ceRpCOY~4Fbb3R$pXv zz3FFx2Wxw67_x$ol=30lQw;(uT2d5^hR9O|>uDANlXr0G07S^AO9d1(rku>TYUZua z>(=Enc6@$)556(I_vVi9lKAhRwicLtnVI>SG&kYT(p`IwuAD?2JkWcHaIAo0xUM&O0=BMK^U~JFSbfhWr5J|o#7Gc8mU%mHKEmQEcDbI2 zu!0o)dS&PEgCB3QE~N&@NLO=pFXvH(v)f1lMBY%DI0vmo_MC4qCY?jlWgt`Oiz=7 zy;!xR=pL3DvpOR>FVQK3!3Z+4s;9W?e_=txOP>53n(o6V^abAtfwXeZ8u7X9H#Y9Q zI2LtqSB4OG{yzO+hCx^p8s2?8xJh{aL84S}vPoYjQc<#rJ^5tY-J?JcVt!%4Jn~gT zepozXg`&2&D~kRNBQtoBc=H4VP*huraqF!IZWClz0e3?<9>%8V5p?1pQUyum#8r>> zw@0{t9fG*bb51ff5ab`?DH)ynD>$y!Cj#!(GBPRBJmR!Oye>wfw&dl@0L7zAKeJzS9_@NAw4QRve5xM_IDE{ocgxOGALT1c7zRcg z`D#>kr{1khKLb$5;fm&XabaxTdSj>b4tcnW6m5@IQ71Tk^X5y1MiUwmq_m?N2~;`#ujx@vRW#ov&4F zAS;iPHwUJK0YLh8daf446bKf**0_8oP14tkp>sWm<+Fc_w6!j>`Nd}^aEeUcq@mY% zZOKSqvglg+nJ0m=$Er%ejcf|_@*68rYi+Ow`ur(#Bu)(hgH(RpMW@RERY_vyeBAjUwgH%49ZRDQ5HfLMW zxo)h3Mkiwoog%GK{vSpi(15Jv$%879AFopUe6HPn89!L#K+o%P;&&1?NWTLM{-mF z^vCI9UAhS0{0rB13dk!ISHE_>e{>6_xba2HXbh*I$fRAJ_7R9@0rsxye~f+qyICj7 zc!?y04bZQc+HE32k#}nebhhZXpA-JNTX#ECIT16H6!GmwATbCYZ~gLq)eSc*E34W= zn~F|TEVd2a1Nv4bdcSRS&`SA1Mg!k2`1mHRa_b*Nz_ zTh1sNdy>%pWGSx@zV1;%O&h)I7WC{J`0-bbafazit$%t}|Meuxf(Sf6syh+u#q`@f z%sx6Mir3kuIIox34LIFmhCjic7FAh68!yU*>Tq&VwnYjpRkEKclFC3~kOlVifnnTaFFz-{u&Mq0I9 z<@T8dK^s=KFKRXrPos^%9J*`a`)B3{9xxS=WxPTuCBVApO`w*tbA4Z4+69ceAp=n@ z2nNELY`s`XL9XXTo;-<9HPx>gzMmHOvf~lY``V^{G$CEihh&&pR&b-< zkM*UEMOOCf!~;>wX@qZZqq+ZVu=o=I0MS#DF_y2mSMsmYD{ zN$TP5CjKdvt)tGwB~(_sG=ELfuKsPSB%~+K4kz2&E;mRa^i@`UzJGWDYn8)Pjm6j% zt=ic1+Dko3eTHKn7+vsx7)gJxPsF&}iwe9QBeonjps{~)DWq|aHf+mdpagZdN$f{E ztjOLn+-gI+>x14`>+0V3Z%PONj=cgq}xecHP{dY0;S1W^-0>R0@7GU5KLAAG_Xue>aRckYR zeTS4+!oMZ7{wd^tpL^~y7<>Pg`-d5U&1fYHn*`dL&L|1J+=))V!E{wAQzvCw-O6 zxLtOmZP5Gr^kb-XeIo$O!RTaOUV`lBco2=hE4RxTnHaC!MBo*nfwKuhe8;G#yCQ%N zg2dCkrxgWSS6BaXWCCxM>`VjZS}DzX89;IJ{Vn^0UlPg4Eo39=IW8vpW@Tat=7-nn z2yd^?uC@C>1!=WoftsLVFH`EY1HJSQN?nA$aU%;{g zkg@ha3#+Kfx>a)IP|6+E~GIJ)`mwJ)HC_6mrx3VvyS9 zPKdGheD?4u;k>n+Z|}y3d%uq4sj5bk@VF5dgg;#Q5i0$ zHD}Cm+;12UgQE^-98?t9IS^FyDf%;R?g$Hs>8L!N&*o|2 z#W7ku6Ek%M<%&~;+uansV%H%K&jJPIkH9!t5R3*F{KwOnV?Z+v-#xyei2@#IuD zu_En3J`gVx11H*E@~Q%PM-|X9ZZ4(v4$k~Pvfex%%J%*LA2ViQX3W@khRTwqvCBGx z?E4ZC4M_+|lBAl2u|%|6l0iwR#*$>oSSp30C_+)vB-|>=mie9T&-e3r-}n3X-#pU8 z!!_4=o!5CB$LsZc3Dp9SQPid{hL`p$r#dSh9HSVecQkunB5_hv8G(%iaVfLC*D$Pr z-Ii8sI^IN)DEarLHe{8Ki}+3I8k?L+F(cE~?WJN%!t+Hc=+x95)g;VP4$qN++SJR(A;+W&r}yS@x*-s%bK^B7lN zCf*|M3o<|3O}p#7A|)#%ExS+fckHv+G=j;BNJ^?Na?Fu-#QYGFRS z7CGI4Sv*#|+6EL>L|^MY=O#f}>HPo}Wt^YVd}oALl;%b|2B!72h62p?-!yqc#|bRo zrhx}Mzfav^GJ8R~t8DKHna;j4=&&`!5S99V5^k_S4k2ds+J!Nu&aZSw<&D`(r*tTE zl$8RDu_=Ep5)oT7fW+hu315)yWuP0a4|pTY`N8;+_o3y4XrNRtKxrbPi>0FX(X97} z<5|(e?91(-6^1EpJ1v{_9XT%xIApr(>%R(T=Jnoq@Xjm=Zgn|1oUb!$Y%`=4PkB&P zQ9&GgcrVjGAk6l$Hf zFbR8ab%5A-@_0kWW8=5`fIm+G1Y8OyynG4ir51I(Slg z`w8e;zpz=lC=Xy2A=j1s*do567JhQYho0$3GRp^o2f$oUHx@>l+pG%MK*u`}6~ zH)Bv^;Ohx;1t!$ZZ{HFYbxbM#a@U#uksaWHO|2@si?($s3qx@b0i=uP836b}%SkJo ze0}vEpdv;l$;VtFDB`ZU%x#Fw%3U=*PTDUVdkC=&=A9!PH*DW_Gu?d|gFFG4r3((` zEDz(TJSj{1ul#}nI_UGi_Q|fR)9VhT$Z>6dU2JTh{_#DQ5nj3GWW7fyR9lL%yV-pl zx?NgLTbVy$i<(wMWF&pqTld7ER3wvnO-|XI_E9i}%m^K<-#_>dEXd}ml5Zx3x;aR8 zNu_PNZbAlYLI=evnGnF3Q;XpY16-<&*HCh#bh+9VfjC*Iv?MTjjg-b3A|qA0$9R>3 zpn;|7iiJihbUWkAndj??u&D+fsLVl|d}R|6XVAD{&{ANxEzJfcMKuXbBT`9nNMV{(gmJx)&Gw-@#SDk?-*l6gDE!T>upJw<)^v+cnHqjVRS zPj-E!1b&j!W%3D#G>9tCej*GHHmN-J&p9Vo8VXd{tRz`D<3&K}Em_;S4n=79ksEg^ zA(KP^1FugoI@5I{+Tjop z>i?6Fz+|A6m6fa{xpO6=XJIqt9zD`hmo8nJIAYaX$)pMC8ObiZ;Aap2mbGp_Vs z`&s(;`;g7@1&S5Xh6cT`W;a^8!wEg}g?R`&$-NDS-FJhzA5kam%osW19XFc3vlAYl zEp@pA6VBfUcke8laZjohC(tMA@U>s37PT8BR`KcDy4 za1AVG3%AJuh)JKg6dGpF^O$MR)&8Y;W9~+cft(}n96doWrji#jKRee}U%wdMjFwYg zR0ZUqjStPoaZx(l+_5kB-qSy#dKIfvav^i~n9N`MD1W3QnQ&E8+2O{~2Zupf<>)?n zMY;0V5b}^zHvjPmR(2^(@KC6;vlMm6$&vmWDpGbmCX#h>Z~Htt{^tCO7H}s~j*=(s z78fsAk)zm&3}qxTu~2yY#GF=9Wn)Z0)ZCDgf>8ROfSzcFJqQ6A>lq~O-t+77L|05%^@^M zAo$SX%VknMY;(JnVu2y#L+tC1~+~r@GBY-?Ta$LYPt#~G>+;VP?rSb zG-}~rAqOxaUNLHeDN3>D(A{mk646C>-~G3;>W6^cDguSJ$OwE}!F3npJD@3iR_-hR zpALTW2Y_#2X!Hvo4>=8|w56lHey>a9UY?Drrqo5~ZOsg{>OoYtLxEqOm{YO!Lnv3jF9BydI7ugFAm z436C&n`n)*koVl6D{uu9EVbn3!_FG3K9SO`AVnYI#Q1u_aDMKiQI37EW*0jbVVh3| zJ@`1LkiEQNGG^0)29N}TmxLPGwN_Vjtq#6L7T#(XkZkfk`z{7nsKt2-E4>|U$f$2b zZ5FvrD~rV3Y;j#RxXb=Uc3jtp60lh+p|7}-7SquT58QtVbV*j6L9u~n@cV5nB-eVY zokL|Rl}%i3+UMTUpUr} z6)jezla;x&68VmDg2v_*7^X`F^Ac#;0fs4~3~P+sEbuS?TWiPUq(+5d(? zgMyQ}DMdxHmLwMuMU(UUnpWI=eI*qdI=mnK$cwp7p-^J$i79Karax&CZy0l|$NUCA zq;=|JjZ?$ue_VQ>E1bGP+u?qCS0_?E{%OS$NE5ga4%~2ZL>+GT)}VtwzEdBFv@cHj zIJr4+r6u%_Ty54$6qAZFjF*!x^iI~rvO%3hh_e8gF5SYq%LeW_XLwM% zBf+ZwBMLFaSH_33u-Z-UeAD4BYxBvcs)}iB3l) z@%hYRLPu;J?ve_}7_c~Pa7MiB)&B{={lC`{RZxkbfqt|NKDc|?vPtHOAm4KiM93*j zrJUElWa5L7Cs}hgN*)V}%4v^_k|`0FL-jdfuDKB z;SA=3$sse$)_f*S5p`lx)dCLC)t#!?EBg;J#u!4=7%QvYo>?<@SC>C)j5%8<#26R) zXB}6xXwMb_YO}hu?Vny{H)jdzicr4rR)3uhCcY1cCyezINO0ZWn^`?qwDzYQvHkj= zedYgsA_>u+<|yh_0w{m#`<4@(oTpFI#?C>`=7`v&LCj{&0M&SR%(&6iD5Y9clk)P+ zdKPz-3a_vs{JvOm%0Rz6LvA+rG#BJHlgG$u8DCXJxraZ^RpCr<7bgk!f?KUW;a|~> zM0gup!Z@kN`cJ$aAOFL9QDoXaf8ny&0ppXYP5BEyuO6n%gNv8`09(7-?yIh#+l{@c1l49_6zg<}9rIJZQYJG$-51Z^eiDsPKg1^49(XUWqTgI412j*qx5WX+L*<*EK(__73VEX

b)KA#MnRn4t+u42OMy_dQtnv=y`kv*SZc+86b`*HwM56-(;q{1Ld# zv$=bMyBfOHMta^XIaAv#e0er1W$oFPQ=9|+HWJzLP#GUSab>CDQQE?<+IN)`-|kY9 zB4)imW~Bvrxab*uk2~7lix}wInaS@X_$s~dU`LBwLXnK?MVO4C;f>s*qnid|8W!nna_ki#N>e$5U5>3g!_nJ z4805ZX5Ctp-cIYn07Hkke!NF-R~NsKp8I%=P2sm}q~_M#2X)IPduZzpJ`YF_2C2P& z4m)(6P`TkhPmN#LaXTsErUgLa0k3J2QkYK;9aH)N`HI1meD%DD@p$Y!y8|xvhUKFz zM?jdUgr%a9!ds4Wr(YHDerbg6xdwD?omCGMD`Lj49{$iCR$Ei6yT1BIwzph`*3xlc zsNqj%2*139#lAw$8V3%1 z=7HfRy!pWA=a(rmiU1~$xxVsgYAO`c$MQNfEgY(<6V^U>zEq+-O-klQm{<-I(rN{% zm*Gz#SNT#jcIQU)&s=u8s;$GFnbD>0ZldmPC%h&YhNoiGEUCoSG4svnT@Ij8oF+$k zhIH{1Aanngdd_}t;pO+0=s8W?11!(z*d9m4)lp_=5ajOZ18q`cR*%% zP4rhz#!uEV3eh&Y*UQ-8L!oRa{19b;Q$`FS) z`xjD|6HgsJa0BKE>r5Pa~J!W6XRX%=W;LN;_v^# z75pMQ9=CphTZ|)Clqzy#tsZUQpJ}n`R}|xAhq+n~i;mc`rT;WEF_-Z`B(;Wn_k}pX2<~1kd+mC~ zmeu|A8;q-E4yayPzFOv6H+d=Zko{*QWkFi=p^|`P()5OJ>4117JCPbjs%$#LmO{7$ zOvI+F9%maz_cvOD1R{ma1SEoC;5ZOvVm4(@GU;V7&G>AlN6&x6kxY=Dv^&FU)J*MI z)g`g$yHk%Pqx!XWQI6Z#*)hVCpW9uN<5rXX_6i7K))-9kcb;NW8D8t7Oq7Kp&Ip`g zSAaN-a5Ok?X8K|zD>GBDSBp@Rx7lZr7?I~?mroS1_PQYd) zKnPK6BlX9P%I&{iOIy5D`pX9~g6oiwn267C8?6}ow|owA9-xx6h3znp#7@QDHwWQHs>PEJojYHBp(R7(F=zHA(%IoErP`?AXTNnd3P-dDs}{Mf1E zZFCI-Zk4TYSzvmxq}&FJ*g+4-(An?ZH-V!$`6)}vec$x_$=t)Ss_aQKBq{Lncc71v z>pc9qG&hRrY~LbT->3D!-Ft9d(X5DI3m}@~4^@9fv z@YNvi1l;~ibmbE&Y5O( zWJ%mQ0WzF8eYp5Kcuj=#ZbnBG_lyGVQHM@ zB#~AWu(v#VJj$jqn!|L7ng!Hb?<>ffj3e@Ze7|K&$H7PV{ZbDjSuhLA0}_s={8sJS zDhp{ro8#P0hYI-T=z2})7eww_GFl`W6}&U@!=~N+QL<;%YUu$;Htkg)Voe~Ddrn_6 z|F>s@^Z^gXBYbb4u^V=7vWMKf>`3?SB1V3Gcz-$+qdS3ekCmc!C?thKg${H&NgX@Z z%BO~@m?59)=C=SHk$OSj1Kke`D5e!Ni9ax~W|&EdbCv+m)WoO3(?tK)sw+aBYHYNP zKROtTNmQRE2>r1V3i2=h0IfwQO^6P+5iIWOgxkoADfad{6HF_j*I9-+X=g>J4ieuC z@O?OKP%-Wl{Z#2g*k;O?ATlz5&nTx*HaS+hTZp*y;|FvgcE#h#zn>@$CzV>S|D4R? zm3+zU?*0$Su#e5y1aHQ>pGT{#U;q8T3Wc-p4ov;(&`2 zQ+sqT=X9z+J$j}edK;*wPx<9Gwb9VROPJ_D7!f# z@wp*vk)v85uL(bk_Fv@-SVsT&4t^^q#ibx7q}vHPH(SwGeLhA(>7{b)s<iG+?j-C3C@cdCZS0t9roK295na3!{b91i%`uZdT9#EQR z_FTGFssG&OmAFOSDlV2h(2z`kL1$z9i#|YqNev5C6qi^Hmas-yoari!XSDDcDQAut zce0yDzLjpbN`H`#?@7Ij}oTi+a3S)hx_)4}M2)t*@v)6?J8_W`| zD1-mr9%P_WN{}KszPFS0QK}>@#3<~(=yv^N^{Jun{n6^MnLS_x7rSgd8o3yc9u5*p zm^mEGxIPLsR7|>#c3Dp~i*OP}ryGgQ`f_(^baA0oX-{^V1f2bU_osp*+|C0V7HXB` z=`6ML2;SQb4e!?yrW{}1$uPZA&qjo*3=8>ZK}PeaSBdn#TSFI2bCLa^*n^LvwW|9s z_g}^}tq8tjL7Fq}UcpfhbYC{VQ+@UF<?{s(>l-c4K6Ageb7?sQmL z!v-dgA3X}YFAvh*sfB2HZ|KVRwiGUB-#bY38e<$bQ%FYcXe`{?^YrIY<#W zKr(yLb2ct*r^^_AR_Ogl=+do9=(3?w<-4-mP>UN)Xt|Ve$Bk-r!^rgn1 z>^Iu2?knrnc#;(%TGdpd9ZrE*T*J)zhVRdu39^cDM+v^VTUyrCX@~s>sD86s1OSGy zg?xjCfZ z2T068$oqCB8Z8mQ=wYF-u!Wu3^~5ur-W1nZ+MlO@8efV8r-id68cL*j4wLK{ey-%H z4t4H$4Un67-xrOK;!|t2@@0DsMd^0}Zv(D19SVR2d#7ZNlAmtH*A7VASz^R?19{Uv z)K|sJiY7`FY_@kS^l^s@SCp$@kawCs6LA9)WvPX*qRj7l{{wcQ^G1c$>lz}xSu*LD zk?|~vu6!-Mkk0BslRIF{^Y<>4Su435KGV@5Z{sx{0|<+`4=KGbUTk~-P1Y{Zt}8=; z!R$YrZLGs6(x?q9>5rvWj3EX%!V0l7lB5UQUcY7N*J4db@Fm$Ef|TDSF=^U;r48bgpDe~sN;9h}kn_=d zD<{kvy=}Y9*-~Ti_prDNVZ#$#V zW!I|s&p9Qp$i<(-grB%mR<^}n>vEu8b(mLNG4MjumQ z)#m((u1Jv93>{T}0k_aZ-_5>?O?KSr=V}j;dldVSMp1k2NFRqfmPO$oU{mxeLT-Ub z$FUvdO*k9OCDKiIv|Ba;l%C7S;K8XYtopNfjTsgUvdvs7;Vm= zOOq?zcz*jHuA@})bpKwV6Y|q1ACk2J+*Z7Mnl=aU!F&VV z9~UW%*>$(5VlkOEiaD!3gL&(9XM0&f{|^57vRy>8k9V@uU8^bP{WrZAkM8VJVUHt# zj$KCC3U&d+p@dpsyoL}{+YaczyPGl@#PxJ+*_fmR)1KinHGZ<*F44xjUb?lt9@T;7 zB=fOHOIEUzz1Uo!T1_d`Vjh5C&q|c0ko3Y>j%bs9=mTp92Z1h?=UE=R{&h%~f$C%V z+>0=s-uF>WMX0DH{2lPPA@8@&5+3k*7$n>4VCs({lM*n)E;3fb_sW=e^ba0{6+2jE ziicKRmO$dxspGpEl#KP?70k5v{&BPVAd(iboLW-lL|K~jbw0I+-TFLk;?6F97rSo( z^k4K>>S9KCeTsK`t{_dcKYdpYm)9i}!VxiwR~H{Q!{Li5FrVL@=uJ32`E_wTSS zpCCM-*QC-U(#tQK+vN8=&&=!gX6}ul`Y6T|5K}?;CzZ^1^ro4K4E@|wJoCBs(GR!7 z;DcuDk$$ueFuFF8``d-sf!w(G3C3LN^)-inlid;vS`=`rlh5|PAcS)&=t|;H*&4v1 z=qNeagGxd?6m@pj5f_g=`Z{JvK;j_1GbIh3d=V!R@gtS>_7$y9^@G@}_{iI8oLSgF zqCp)&>(q_M!TyO_Pn8AC{iLSmdDfFn`%O(v*#YDgXE&VL^PI=NQvv`Q#OY&BBY$9& z$&!n<{Os1axHtlkw3Rvj>-eJ2A1(%EnMgBlN5X$7wR#)mB{17NCN1Ng&~s7B9iiMv zadzPp;ftHdEBJ2Nk6!_m;Py?w_w8elP@GiZSB9^PSCmRG6@Q~{d&XQq$KnM?Q-b_! zQf1Kg3S^q1K$<*bh_Q$T`BFpJtFbj7g@e+1$yS~DoE6= zMmCrz-hGx=PMclcp-n%vqF5ex!G;rd^fiTuysDA=;LC(3L-R#fy73s=Bq>YN<+$OZ z`;OQ~EN$Ce%5l$=B>oerlC3z=rNu@5H39F0O-tr*yc?`c;y)Utzq=(A$mY72x*#S< z?fVQ8sRqPkcA3ugi~lAVZM@wLFFtH%+LKO{J`v)RnZ}hRwa*`~<=^d`$y z)DUA%%3ytA1>{f!n5?Aj+aaS7R-YJQ)=FhPl;#TaVf^GLjG?61MjYt68;UcK4?L>- zf9_$e*&NZZxj+k2#KwI(bL=K<-w5Ziz}m?kL{Zm`Ks;q!II65w5~DxoY_TI>n#MCLbGilz1iE(1c>t3JkrWJsk-xrS5jxlw|1rL90bW;0yK9yVeHvNx&=+a zYFB*{9U)Qz=o&3uLQ$&m-d9k8Q|jO{kqzi1j@Ai8@BrNWj%-u|K+dHWvZ)3ZI=KUnI~ z`Ckhj1xS752ZN6S?Lp&d?_Z2}w3I-red7H?k0`&@yQ$+2`;e@WCr=s1tEBWrA2Q`k z|506ugrIF&@2;>5^I7`-_8wQ!^5L*F#bYi{qGjUmn-3%?e{e_lIdv~eju~b@#|+_# zogxF>=Uw~vS>)dIBAW9Ld0F#SyWf1Q)WDs$e)M)cbGfjvKfC?8(HoDn)X_6ZTC!P- z$7rJ&Lmnyc$8H;C;Z1n9ygl|AgP@pr88vLa zK08Y&*qYPcA(a%P|90C3O5Z5%qV^JipC_3pC(l{tC_K8$uhVy$NVS?Zk`4 zfMx*Y0d?#%@N9*MzOp@ZB3E|9tNA?ahoVUNeMMA3PD_0L{{(0J2eAV_#iRMqXmo4< z|6t6-XE+Yx{yK&|viC;x#gg(rv31LYw0`=yby=OnWP)%fUSbN_3>TX>tDXv+!vqTd zELPC4qMUx^j!=|@Bs3T69XovHvKXv*9BL>VrkEYU4(y-%OTR%d%52zT6XSxF;Mi4c z@1_n;c8o531*Xg_dnk;WQ+(VvzJwcwZhPy;Ve} zTmgqYchtS9Mt=}d^Ih%c9Wk{aN*y2JH$NPX%{$4eGAAuDhz90Dx;WE0D6nbkAB)Yz9Yz9Po3^v3ao|Y zmjXL?2&?Q8xq}$_fiq0onk}Z*z^wj=9F2%}9yj*6Y=I~I(!+vmdcK- ztbmNdi|kdyS-_-kk7O&jx52S)TmF8DNkfhLm1V9&oHNXFB~~=C{@|%fKb0rBoU2^m zudbnvz~N;4_zerQdxc};#>#LzH4srdcCHRAa(Y*A<~>N4g425sBQISxB^)1k8CT(= ztD7#kO<9><5Ch4Fce;-vum*nP2I0`~L8X6Pv%3YQcLl40Saipmp&<{0U644OSg{5TpxScoQ&Y2L_HV$p?VT5P)TED@V z(;=bLX8-~Z4~Esp8m?qQyM;EV;(i$ZQTVtxZI_G>YL2px9TaW>t?BXb$@#%_Ld}vg zL)~pUb>eLD zjL4Sx*V+aQsXut?T@v!`TS38z7i#x4`3fEWGL#&|QJPDtq$@rv*7lOGUpsIBdibbn zkDR^>g||XF2PIuBm6im1>`kE|P1@Z&utf$&xETP@%T(||L<9Pgc4ucNIV$RTg*u}4 zlcj*28+C{=2AX$XuY=3Nu-EZ<^li260<_`QaKQ68Ip3bdozP;NFPc1*ZCd4zQZ@L) zY*A)hH`*Xw-Rn7ON&LCdJW5CJj6{e#gze0e<%~mJ-fsPRi=;Cg#HGCulVbEghweEi zXlMis{5D&*B5~*`ZM=e+w#>0-|L)>J905vRX?K*@ivK}(*$K-r^Ph;~|&{N}|# zw5pZfIdik^DZhz&y7chUUn1@(-EVEcFPpByx@7W-?O?H6qO!W5X8OEOLPsg`#vR)o zJnHNUu62TMULsO2_ns5(H$ri@OO`n00eMZG8?`?K1F)-$Rs>1A6y8DQxJwdEMf_JN z;qp+*$*78!HhfN5`_hpkanx|L=k^zCsnO5+?0Xd=ANi!8 zapHSbd5Pwtvot$^6;a4+&>?bMRd1CC&gOc}0mjk$BpWYFcZ%_Fwis7&$mG8|vS~nI zil+{Z@BrS59F-Y;zuqS5E3mDU12eVUXW)m?Rm>`RDm~%pD0zhI3Spnjt1umg##sVL zLV_H=cv@;DVOylX#8en^30+ZC4IqjkpoFRpBR|Ne%|e5#BP*2DcHrKhhS$PU1Y`up zJ>i~b(LeF}q2PFq;q!Gza2Ntff=PwK#*>?;sBn5xw+Dqn^=pN+zR#1}Z$AVB2u2U3 z*loKigRae-|0@F*d!KKF=B0Ic8!6$B?-a7Q)YYIY`|;!UY5FVS@RYF+sdrCzEFkOY z(B_OQx40VHm3JS9^Yc?@J7dwep+LXb5BtmBfPQ_3d>Rp)^loS5Kk&_)ivl98v>7E| zS=T=NuE6BM0P59WxxVaX@`K+t%f^i1&=knAdeY0Cd=Dorx4;@JYiI+ic^*haOcz$b4Aml=0bI zg}f0!t&hihy6K$=9DHHc9azssht8i7?lyQ`PjnUY?EhaafMTb!o_QAq5`Wf$DI>_w z*`VDuE8$3ethe$VWy~%9{*4^yir5+`-aX5E^>M=bhQN$U?6$=qIwEVkRIL)Ho5NWU zAB^Z?&h@2_nxf3RmOywD{0JNhhE9e#IpA--)^Z?j5N%G zj+Rs*f;?cNoepU90&R%V0YzWW^!ilM#YWM7`his-#VTv$Hy4nn!M`b05 z0cX37QtgYh->87a6l^^!K4K$-^+XuT%ES;X`fAGHiEY}$LH_>b^m@Cz7jTW;hsiiz zX=U5_gK2Dk$5H}-{0?V#W6>hn(x}fABV5YkvV{LCS8^4hY*%7Mk<%k}RFSQ%E!(jD z3FHYn-2ADcnlpi?i77htvO{RQFTu*UyR#;OXwEu`w~`!xv7n(g?I){T)@^w=TTy zNRA47m&ff`|5;q{Hjn%=YLnB{126pLEy;KxNS(XcG#QR~{!_^|7P(5%1Hi|;VxHIj zw%P)j<&t<34GP$xPYe%iH?O4FBs=-DN;6D#uhe zI7@qX(UyJLxGQLiT!RGjr{w!O^)FMbw;fBto{za)dM?AJ5bBD)W^>)as`|Fodb*Ee z*G!3b5r}FY-cg@<4}fVJS7v~ z5eu
  • xQ;O53k;!W7;m&?Vg7+$Wf+GBMU$Bd;M_?!%ilYtLT7lkE+h%?8woXZ>l%q%Xa!Xvpw}*F% zOA4o~r5PGh3bsFa41aJ@R+me=oi3!@z2;fs6!h%A_^e`NZ~bQGcOUfT4sI5{wvZCn z9l|(o?mf0ssxxNL<)2S1(a#F9yOYAhhzn?i|USclW*V2~L_b zh(96ovwZ`U*N2BnYkcsZN=6$vOP)XFY!7rtJ9!&PevE9{I_&B{<|jCZUQbg9q`nm< zIB>U`4x9Jar#PPprBEP6Rf3!OBN3!nSQ6g@lx!khU67>WaSl zaY^?=V53fbR(61E8Kt7%d%nd!Kqdb2vojLi8{~KX%+MyHYREAGMO-2T;c(@&v*T4g zEA%11F^{QOfLTArq||LXO!b>i5Onail8RBuV4F^4KRh&O{;!Lcf!+WSh8AhTui{H@ zzZoD$eMtcLvHXm3x|+8AhcmJuw#MZWB69nWdOJB~r@stM2Neltct!(0$N_hycb?s& zu`Gs*cMbkT?Z`{%mRF4J(;~VlPcHVc5|vh&%2S6PlzbJ)w{Y&>QTD^ylAp9CvY2gS zVXQ>5n?kLMG=0EFF*P;9?t)xacF0Z7kPc!SH9WJAAq_DP-1cX3Vbb zXz#<8ehpRx!Q=@E0P2Wo-HFn++riA%`RJ_RId{XelP^kZG07y>kIiON!`a3%d?LtT z{Ymmu_(S0oWKpNBy#9Y}(QzQgb&=N(JLd2vtD1HpWBXJOe{SCmN!j{1MH$4z0_$pP z_!4!l{L6`)7rUQ;C3wnefAm6rYPhR%4tiV!VK{m@^Qk^Q4!ihDl--&#ctHtgcy&0I z?rOsLMeUHpx~X(-cxYJ@`OmR-nVIQSbUQJI`CD%gU=|Cae^Vt@$$Z@{ys>M3zR+9> zCc+UOahxMMY`NYNueb~ut+`fHa8-UzMfI#6H7Gd@uR*UT zjtd&*kP4B7@|07+slM4D>Fa_9M)QD|g+2@4&*f{-ufyfEQ`Sl}K7Cg!yY8JQnP?y~ z92DMmZacGVuZ`7Hai{kA1WFtA-T2ZHz-alb!wmQVg=z;gc3ms2v5W9bv0lwv5HF%r63AyUWyhKRabUTc+d5lBhMRpj`2>=v>4 zbPRTX>v^oqKb|<-y966h#!PTc6Vj{YHD=1aBzjx2DXH^#$Isx5M-KI{m~+ z@C*-_j|pqg{m2(8;#I}xf30?JD@YPYt?~3hhVvDVnRxb|3m3NDKiQr%7Ipi01YGAj z>U;e1OW+%9kR2?Ru5fV74G7kVYUG+tVtyE*tbIeN*Q|7yF>cVbs!gC$`LJ^cmWsXZ zp{~WaGxSRN&dalAxp2V%&0(pi1(b50ZSKDFtx0_OjNXmK&lT<;z&Csx zEw;>>?d_$c-h2P(AT?$b`tvJUt;gYFDE3`&1MAN5tzYfDFm63%$o(a$y=uq*PvZJN zTe*7*2S_%hqobqSV^)5BlY|+i1`G@h4sycG&um<42V=O0TKp1rs(`~f5t$%w;Sw>5 z9#3pp&u+%)tph|swXKVL?&QqqgZTT3Q976KA15Gnk52LU%D?Vn*VWMPl!kqvF^aHJ zD(TDLf2yXJ%3cu@M~uQ9dngF;bXlVqs*6%X&hpGS5-`cS6oJrF!+6RzHEj7o4UKkA$Ak>iVv*O!Y@2}-R$&p+xkE2tQ9jlvRm{~T&~^?KP-*ecL( zlpJx+@`|WripRz77M znG`Z8bVJ5-T|akT?*4xgcK-g7sQlD1p-q(S(C@8WTc79W;;$%HVpMX#_$~D98Ls%_ zJi+j-&{h}Gs0SilSpC`zi-g6Bwr{@s0k@{kK2)DLdB?2brl# zo5|E3j-;?ZstG-^_4iUM}8_(b&5r)^b555GmR==x9hYMzO~v4UW}6*_B?p-AhY%4?~iq&)voT~ zw*EPp`B5=SNFTE>g7krwQUEnE#@b^_*wpQXNRjKhd{`64K0j35+iCK*( zHdA_dhDWHo#V}8nl9rYR-jgFC5)u-XJ$L+SLfBVNFwEcCj)SVe8w()WeZ05#_8|+^ zK_bz@%#eoT54FZV$ad2W@XKDxu}yYKJ22PWu7C1ECP*5f`gf}D2x^1LZhO|(x3I1; zz9vU$uE9^RQQz4I{pvmu0z0hiT)y)z2mEe#{T|1r3@1$R-=BrA?E-X*N#GzI)D@j| zP38|D;8aGhwL5BRYD&3YV`ZMz4|4Ri1WDNbtNr z;mw=h67Gz?rQf%;;-O})|G9M@&$5CFmGnz{xwrI64S(O{$0-T~D;V@B>o`ezRy#Ks zMjVFLCTz+_+wtk?>B~80DC!H9!S8myxKE#6BW1U4<2EXlQbuYISa;oAJg%a4mmI;D z@-^JFW%g!Sk^cS6j0}PO6v4sCE`z*OH=!HIVl(F$@V{BBm&-R~43a}rIKRHVl?Le> zn>IK_{oxLRhQ=E2`=_U&H#d)(%%Lh@J?e9@ek~hdHt#ret|Au_&Pko-i#}BOo3{{Q zZ+fZl@-ZT|f%C`pWkL)7)p=yMof1dhTIti;%Y9-6q=F@%(IvfFq8^X;^Y@NUz~*sy z?MyPL_~1km@RNB-L8Gq0g|}dH2Kgl2&5D6vfnzf9BdeQFvVW)cpiC@Z(WOTTbN;!_ zQd2j&zM4#kOojbEGk({a(!A3czb4cU6~pgqJB9qlJhs{{XM!(AK9kn=YZ0uB;xU$b zw)Z&vXZmn|jQB}6O~4pxo21l6~Pc7W&OAmlYq zX_0q^C%r))iCz6*$(D(lp+vebl7~7!Z&>%)=*ot^3BN!Bqs$Q)00CLQNVUFvQyO<= zYj_x6D;9w@Y$rxh1fC!VR8&+jg+_-}nqQPZIK#Yf3P{HfUb=8$l{Y)0$J|u=Q)7}^ zfXMt=Fc30FE>HB8+2u$9t>ebwVK(2bo$JYF@dD+dU+%Tft*ovYx&G#eVISp-qjUbFTKq zB5AEpkEG)cO`f-yxIoiNAZtL`8D(cPw#Z-m_UY5lGr*g`FRI)mP2AY{llyre!9x6M z9W851dfOIxu1z1X<)2Lj_O+tZQpIl;CAlQr4q4gGFZ&kd_oz%6X-h~j51-i}j-6V} z;%l1Cnbo)M*3LDnD1(;P1UotP@Sf&aKR4gMe?PPC;4|6yumcDF;12CQ3G(|80pT;M zQKzNJA-u!yTXxc0oC5E4nEYWS^UY6mntXS5u7IKX&sl)`r{%1eg)1LGNTmbE{R5<# zJ59@ibe6>AeAYA|tU3_))qE-MS8(J(RYYVS#4Af&-%yiN{N_|&-*!oAw;Q|{&z z!(nGGMATc$PtF7d4`U2ciG${-2ZTl1&>!nYY_Hub7|0QR#FoAt$8JBmcLP{_^*uwdTDvj{UgH=rUg7Q7_sBVJ6rrC8JG2EDfcXx`>gb)1 zG7I|2b^t2DKW)k16r3}cBs!v$&ol3Tau~F|@&kaq7#)0O;ZER=XaeOj%SUC=LSIr0 z#VQhE@k!zfJu!!l(uE{91X?NZ;(UGyEvhTtBFBvvds+4wOgs0w%DFuFxSnhH#D18k zih1%fQRrg2=;_}=wO2*z>$4@cR4?zPwTxj`LZg$DP|qHY7X0~eVp+^jn#(Lz-4VnX zStL-f#^i)0ve5*z=^-kKD%P3$?RdC?9P6B{wiAV+wP_4(mvB#IIH|iH`5zax^={pf z(NVpq(S~fzqp|+P?SSu#MxW&YSeL|S+CvJ|dxd5?#4Sp!e_`x{K=&ghNkyme%y)3d zgZKx8JNBeFNxyR(3ZLkf&{TdcB$_1eh5$LR&{(LL%vo0!fTyLU*9fAMR zov)p$GxDjB88;f@9O*MO(2N%P?7ZGYJ2|#Mk4RiTGYMV!VoQHc$Q^j~u@v)L!4jtP zJp}qR?ixsHm)fg0nRrTXyTctkME(ubF;{9B#6@kj?N{(nT5y;q+$T7@n=8Nxe|RNE zYZD%}r_|A~u0JzCGfz0~9+ja!_5MWe9-h1whOGZM>;eVS{fM_(3ed6q(Tg6>A9q0G z-fjwS@Gf3XpKo-L6F9`$K%x$qRk-RG=H%c&U=0ZKBBNEs)+hQHsw4iG zRQRZ5e6CRF?=vAiDorMFgSG!BE9GlSh4_#DY-=@N-fh)1VtGLm>Y~{`LjglucXQ|3 z-{h)^;4n1}jj}?%k36Ky;)N)pfQ(!(ma{|}C(~V+joQFHuutwJPJiAUcc#$4P?BGsLX(CLP^mZzHbxuE)Tn0(6umAiO0w{VesK>K5*q zEzt&{t^7m#y(U0E+o%&{gm*nD&k74!wFljeDvmGc-LAm0tO;*LU-$m$Mj)F;=yNGg zG-?Ma`x)b3op17K@4bHUJOpP#o1@{0h$??7TE!Z?qLD*S;w6R?+KiDu#8GLkeCfzQ_P#ywSvK)3-IA z(`RA(EhT3bJ4r_OJ6>U2&qk<~Y(2|OJAVipt|2dd8j`lV)7{xFJ zok*l7c6=-%92F#vsQar8fVR@jb5AS&^8lZlO1*b+2xMDkNq;6!KcAeG>;DX4HHf0@ z00+oN6~uQi7TbxM6i)KdQ!aR{XqgFi?(Mqdr;nw#%`X}6rOKQ2L*o=tULj%*Nm|(Z z_5HM`(HI(gC>J{K=eA9AC}#J@+)Ma!Qzq;^UUB1$>G zDSCf5hPtKjfA;NCFw2L3^pa=9Y)NgB4wW40yLE+@xjy*eopsh|vYZxZx;^pVE=VYl zicTEjD%~NKy_x50kqEiUzw+6VTdp+wiho!8>gCVrPKAI-Px)mZfz9Wou%gQZnb9cf zJOwr$n0}2g5fx%;(oYk~vxtMDtKa(B$=h5kD^@o5j3QxVE6y+8#J;QRHbRcaBGXuWLkU>@;o{%+iN1&`CQK4z(ByNl@A_%F0FJr zDA#zWt;pd1gMt=kV4)V9Y;<=)%;PT7JR>;C6c%-_5tX=bA*8uP;|eECh_mMk<+ru! zvGy1UI@gu@%LIQyLN&_A{2bra%QpfnEB70xLbwgev2-gp!iCZaR~>Sjj92Wrvw#dS z7Q;p9lh-QlP;-ziE%<4n% z+MzMU-jg|Z-^g0d6Ej|GQUzf1<+0eaPjIgV4q~n z@&||92ceL;vb@(btk8N`9Vg*-72_bs{>MFlk@wr7R{Z~w_2%(V_HY0H>@%1RW8Y@% zLdL#@8IvVjV=IIZnuO4#(qhKgvkXy+Y7`}+NeFEw)F^5aHALZ3P3t8gE%=>%?)&q- zuKV%(r-y$#=RDu<<2YWg3<{rowlfTcaNJRBTk3p4i3vZm~Xbd+hdZ(&L$bEQ<-eFN&+V1_;HOQ{_+#7eNmC_As#e8YJcmsr=M=A z@PFvqCq@whN6(11Nk_%6B2D|z0Q>nX^8Wq{9sg($=xRKlOo^}u+GMA&yL6XyYP59k zY!&vI%*9>%%CgR1(FHiNhq&tdhXZlq=C|AhZ`(s<21c9gdgU+uq9DU)y}$k><_S03 zjSh!Efa@0yFMo0o{E>rwF3Z%OhntWyb)H^$cLR?WOkZUkXS1gb0?vaB$jYxbZiV(4 zC`-@Wo7!DRO`ulsGIZfUEb#jXK5+~elQr4%2=gioHWQeQod0rATm&}zj6fPnt62?A zrCfThz!b*Qt}4N*ao&%F^L>0^`E2@Ut-(k63&rZz{l@o~krxx6Vo-cLZiSV|&$c}2&oh_6-`jBemrx0vn!8?ua%0c9>fslTVn2F4N!*moTIeC4CIoja@HqiU&ZOs;;Bn!J>)H|11ATqVTHQ~SLI({045|eG>o%a9!e;Ab zcjmIjZ}NJ>F2^sUY=tjgC`~wna*W%K8W?TN_BZoi#+@PS44_>Ltt(`WpGaNSfXz?M z1#!VwAJ$gyok$YgIGFW0H?oI{xhZ&SM48vJ9@H5_w^eiUht2f#;OVx8zVh|p^Qcgq zgQL{>*b4RcBoW9r$WSW#)T#H?HFb8LMN!Kemx>ZFd)$8JlI z?rtNUaF<|>yh(CZgg6eFXV{+%D7|^7z!!fUa6h>pSJI%dum67^0(uS4w|>ewql9YV z@ZRNNGE1Kc@=8kb)0GSi3=9u%YFDU37IoQ;QLQfj{MwlJs$1GZDI0(&!pZ^DWM0dO zOE>oRq|*#cFGt&oZ?QMnKn@b6y0wofXR;?vdyvjA0L$Z_;4h$tCOUN{uLctt!iFqa zS;&$Y5grxu_UF_QJ`4&;8q=pPlD{DZ#kxG7`E#l|d_cpCx=uNIVKg!*9IQ4~$X7dg zTA=-SQ?I~gcH1T4gfy&_mXWQLs8&^kUZ&e-glsC;5OK2B0*CD?D=Xcw&(@$_w<>g> zl&;hK2Yg~f0-aXRPS(nMu_?BNrC}58YFb)VUESMD$oPi8?B2T=_-l)r8B(Tmtj?kE z)d!VY1^e^#3QDN~Qe#+fj-LN26T;>4`Jy@YX|lc z{w}~4*A%<^*wNiEjBEuX&C471b~Y?@p;s5l5kEhz%s%;74CKIa1A2jDQ*57c>nK_Gp+KWi&{ zD~yQHMa) zNDco>?MhQ`X**#(>Ai5I8T6Ci-Xk*|=VU)(lGpc59}pFu3uz|qi?XGD1LtqvjP7{( z@S*g^XU`&C)7cZ>wg(Yz1(kEd2nTI#Z2=$GfmNm1OOLx;Nt#P*1sX8-RFUDo02ZEk zl>AG*nF-B>2o1Ef({5b&*0Q~;LN3-v)jrbA4X%Ec*S$TUylt;1*MNa;?}3to_Ug4g z!|hcY9jx!5&L1{x(rZWpCI$daG-~?WIk5n73*ox;BmJXd2qb;FA~(_-^G(ffA6<&? zAeoX6LfPgVwj&!3?GOZ}e$=c~DIm?Ey|uvx4h?qx(f1xo+n>xqIYnLXB3*hQA7^7q zI4CBaptxGqz2t`*seoE_DB-Vx>!y{wp*=f)4`c?1Q$UQyLn?Eeh zGA=wr(cbr2*w`R$R_7n487P^PDQf2c--u~h?A2`82XIc$QRLQr^Hkq|=|gFm`DQsNz;k+Z=tX19#H2V4);CCz974eGIV;1p2 zNK=s@UOuR(4&=ZCJy!x$iSuQ#?;phOL~0Ri={L639wHF1Fe9w3Rge3!pSZ0)4O|ZT`THAEFv-UY<6^=v8b>T*W=N9Br81 znsJJxpBrLI{S>E4yy52I(fje>pM^g)T_01l#osPwu`jXhgLOIfQTtuDP6JMhEAiUj z3wY3=kWpD<;Sk&zm~AV?EQ-7|7~YNzdk{(AcC;h99ig8hB`ugMAGmP%kDjI*f(**r z9fBO;2amA}q!hfjHrs$0vuEyWdRz9#)O5t_@NC&u;f+esp_f2He4-C?`b*B)yIC#S zLC(N2-N}ZBnX^9|j6PimC_U^b%dj_V|CDp~tzYZwXpTCs?QbAKd3dv_LD_Ds5JUE9 zQHlM?N$!Qb#A(=(#!Vzwz(7^Gp*GdE?dW0YrwDlu++@E}$c423YJ^2J(81lPhO?07 z!*#j)sg^&15!svry8CvHs(WdOB@EW{Zh_r9A{3%F$}1>pbE|ErAJ#a@C$+ugWefY< zdZ2budkg5!T(6#FW(VZz(TmlNJZM$aO@+%Trq)bjd+~4E{V`h}n zNmXVlU{k%Rge;-GAV1U^Bk?soT)_sq^m_Nixt^uInZ_%;OD8!)de42rF4JD+LY$Z< z5`pYUoh>|9s#_zC_wqWzt#c;TQGDc2s;FwI#Y}x-kt`=(q@r-%igrVTJ@GY@eC7<~ zkqhs)A*{=}+Hj42-ZMfY?(*l%fUEnmHA|3KZ|==S>k4Y3R}JiiF~ojSGgedi*)MWJ zC(T{uzYj+h0>IXJ#_EE7kcP+X7FJ#1OA%K5+r?9VN5jkwHaS}@&C}Gbg?AE$|A^*m zN*=;u7N>%dXJ+Bm#=W$O%DV?Jb!T+N#cvUPlXBj1I{{(+e&02qy#kV%H>|r^7W>zy zA#~IiU`20%GrLOLzk4bGs^k$V3tN|$5~bCd`)6euSalxkFQfMq;B=7@w_VA69tT4{ zA|Bzq>AQS42wxp>pr8BQSni`sIKp+$cHp>C_5PYN#_>>3w6#@0TF!~xS_tCe5n!UA zug?dZ@m^Ohz~Hjif!N(C*Q$_ara#iDPH}8|lnuj3x8bX+RBpsKG{%hIB}{a2ap5W( zt->xNcZevbugWiCS93JO0NWJd$=RhT%afj|FB``HsZXPoA);zM!6LK)%W283E8JXW zMgg7jeHe=kRwoalqdAGw;0KjAZ#w4dOK6f%2V(nLJ?Wi}+z71*a+caQ1TQ@#Sk1ji z+wic#tl#~2XbsFXPcsFxBtz|A@CT*KbZi^oL7Sou?m^BaW3tu<0FGU0%yZ~EgOn)a zEJX1-Wq*<=N2j(&zPw{yDssE))gSdfO!V~h(KhmgOg5WMvC-S-G{90&|(!`bl82vDSP0 z3}u>9)^*|ZKU)sDn}HOQ4Ot%$A7}l&b|!cZA+O- zg9_*;XzEtp?-dxrUr=PjUQ~%egz(i1Hp&&SJ`bBnmu-H2QX13v#j{C<3)i!`17RJ7Z z%YGW0nnq1nqap96tkZUbY}LvkSTe3Ce%hIUCCYt_l*9oxzk-PO>_>^Q*Cj_lWE)%R zRy2Dh*G<#JFHuWRJgIp_Ge{rbb3Wvgs)DM3#C0bMdgK)SsdbkjUj}0&Y=sU{)4hC) zV7+N0-S^>A%@cD?RbqSZcG9(3a#2YJ@m{BrsLl~-%YAN|%kEY9{ zmSj%kwxZ2H8q~i4h18EsQFA!E1$I^3nTciNp%87i}L^^DDC1lP9W_~A)$;@uLbf4NnbX+998x#z}r7$+=bTtFy z@{(6~Hzvc=Tzpi9mW221SP}j}SdqOts6oRL4)dDK{L(?m=o{kQRooH?SBGya%m2uu zzFh%^<5BtyF;LWQVrBZ9qWY?~_a*HZWI^_3NSZF9jUX84pQ39+P z2BpBnHEcs-?WG0I=Sx{GjA)oRNmO4*sJ==x1>4{%?x#%V<|G!}x#JwZ!k|gn$L8<+ z_?~oPI_qA9yDNcku}_Uc(PNg{0AQ9}n|zc+wenvzKL+dxd=(qBKH}+4aHk+G?MK4egAQi-19KHV zK4oJgg;D@B)~`RV2Q)-r^>`q;nViXw-JqVF-BlT+`pGunUVe~F%H_NgSI*}L_3^yE zxC65LM*_Py0K86|qh*!L8V$#SOa0Y%;>1+%)t(HIbVyBxyB?heVtSgT{QyncmNw=? zG+oTRLchKi+`|*L6RPa~jSAJx1u^4v8?fLVk`6>8Jg3fZ=93-$HX|km(wdj>wv@=B zOe1>x4yavGY->HC+@C!{+4_hzq+565)qJbx=lG15n0B1{`g`1M+O@8Afx@P^{4;!m zNyT9%#o(x575cs?Kc97NZJWw_mY5hFL-zcf**3ZqWlrw`^?%PdXAp|6;6)sL>_Q*p zE$wRDFWjWu#vq~iw03+S)%(Uq;?85NA)SXH2g9r{i}hk(QGHs}UPMfM`AA`t>NO+x>ganHVe1hN-(jlyYxaOW?+fcuu|+->Oz&iy8{VaVo4St2 z9jZ{Fi8PZElKr*E^DapL>y-2bHsYhFGGs;&tQKC~={284tEqU-;JX|q_j3Fy$^vDt z{x##}$Oxh3gn0L%uPUg7Ox6rGI|mW^3!kB=GkACT7FFI}BDl6zYc-Zm!8ss)_4;g< z-w2pF+pWS}J2tT=AotLGwKmW9uU(Zetc5j??ZHT|&7RBX_6a9x;FJ~;_3$a$u5Wcp zQRS^>Ckmv}EHSO2_aKLf-;i!Xs-?2fiRjZ&&9hz49$dbP8&mV@2%TkYym`7vU59c0 z0o@0!uFqS}!}j>cmNsUgCpO5){C?!Mva&LrK)o?XkNt`oK|Ao22z$tAC&K9j5_lYu zSF_+%U&X)wx^|B#O>wdYoDMR3j?ScEM zhsa~*2Oig%JPE4wU~;41(!MWX7*pC>v#`AzKlzfwcB_Z{ylse+Ex<|DuT#8wtJ*YXw5SlYY_smxhxaB@^RF{^ zdh6hQZJTPFim2&X=6bdd&)<03X>Y&!%Py2XSYMsV5AA!<3r~Ye>&HdOFb!=R&Vn&= zt_C{(gOCC0*R;f?(v3ZKa!$n$p1cOAqIUcNAgJC#-F~l%N&mp(`*SPr%+B9iFC6-^ z)*X@8^OK7@zo32jlB#^0!_KvWZ|LoJ*tZH3Obn2Yz2CK52GZ3SH~Vk=?b4IG4oD)| z07QKxUhm1}Qiv~ydU`0fhYC`(8}Kn?AQ`GNWd-Z@Mf+)K)S=oh7le@wDmq!x7|hCD zz#!4N{a{y@@+}Qhl`V;5-tFX|^2(o?e}A>?)Bs{2&^Nxg=#L#1O~;?Rb2z8E_d)M} z0LSl2E&ee==cc1304cj43hZH^PbR<8>AC}I<^hOppo;@c?g${^BiG5}2{#cd2ARMl zpYi}xmc{Qi+^&q2)Kv4szm|#<-tM@T79!Qv)wS}veYcW$^Cy50z`dHl&+L>St@Ed0W@u$UcjKh{2e*Gf6SSog>> z{O&KV$xSLJ^d|NkqMG9;x>=f?>>|mn-Me*BAD&q zh6~8O$b3YxPnLzo!r4RoyH=Hg7oqZR%$RPxk0rIgGz9UdxaMk{WPPc_{4*0kCjyAV zZGjK_P-A`w>78Cl)X3=irY3J;De<84#gPxP7qotaZJ@6LMOIft(Yk3?%?nC8_t5hC zv{R7N*Xj!Ya>x9uZ)K9AT5!(4z*{b@8GQeZm3Vn|+KVbr1bs7O=z*A{@QD(Mgn_S4 zNJsDFTxo8mM#F)Hrk|-9O5-iCruv0&``tq7<*4gcIoT8|zeDd$z-f;%8NW`h-=ec! zS9`r{Xb9zHe3T38Cry&)%h^)E`gwx+Rr$1@$k{}k#Op9LdiO|~(Fnvf4wn#JW@7N% zP)4WJ(1$15Yz8aGX=%PX-?w>Ji za4`JZSK#F2%ek)f11n0zTm8r@C8|5W@k#A$o}UVuAkG9JrNq;3zfkW?9vkkc zEZlJ59v0Z`7qJ!jzap*_`LFi^z1b;=bq+au7M8Zn0sxH7ZaIGi*?a=prB&hmr0BVQIaaM%2X;g^ZKFg}Zms{cj=If* z_m=fLKSFjRK^NDHFY}k%gIZo*?zt!9L)&RP_kk2F*H(_7#|C4K0Oq`#vZ|sh4 zP|ZCYb+^;*z&*vLtpoyLYL@_zJp1l9mMBwat!k}3$Di`rr0y*!b6G7*keumEuV1Dj z%dnn!w*DMH=WchodWhz%i*oKOlU!eW-#*>`o)x_+N6%}}E6C>vx3m1bAMk<_o&G6* za++(DMgTB=GgQ`c2peE+@b*pQS4pyDT=@r+ZKj}&`J-MP4iaB#lw3cDY;dAV#6zgu_HW%6QajN&$UdioeQb=p`NK{dwbx_XL!S2?O)KKX*Txn{uJeOaOWE3SL!umk{_Wv43wz( zQ&E4$hv=ukYzK)oXPBZb3YH6>6dCID1eL+L5JOkpVUNKx=p5Gh_>xg5&M2OT!B581Yn)Kjo3dzzUaq~AM?mr zJG|5kJ0S|)BWlUGF5~;WodZ2Xq>e$sn->4C|2)B3EeKB_H@nxC_ii2cjd@$gePD?t z3;FGMB2JR9eYV6DP^uatb;fGSE>clx`KE?fRzJRf&t?=6xm?h>R7m-+J-Zq(=gmj( z#voNDr=#A;A}{0@ssRdYYFa;T5X9l;Vb%+uNa0>mg*1Z>K{8_TE-HZ%$a<9wOG;|B zxp*`(J5(lVbJnDcyiOLPDR1d>)I&jx=X=DdtJpxRKPgxCu!pI-$`x-;@F4|awA)9p zlA8SOHL|T>0ykNm_sRDB7*D~RyqA&(mv5Fm=DP6f6R@|3yc_Mm=?l+AhYro)Zrvj@vVmRX0zt0~A>Q+yg}*h7R}Afp zz{YC!9J|GopN$MtPxcHhEmgJoe@iix7eFHR9Z=lyIG6c1Sl&-Wx9f3}>vOxZTDGuW zlwOc`TXvPve(*>pavF@al#!`<>Dx0e8oh}xj^zrEw{W5=WyG6Ds($w?5@xigJ|Bp3 z6h`RfCa!0S>8@{lGdk-ZBhGE zUPDa~X~v2su35+31t@7Y;XiL2Pv_edkClG7XC`vVPR4~FhNm_GX5ukDQKju4=mNGo z7oEXZ6(+Qj7upi|r}}`@sOzYV&nn^#z~0lN=&zRz0VNU4XJJUei-=qN+N z(itG-9A>ErO}zGWYmb31sQ#-++=wFXU!d&6HzawM^wt`i3l?=7Ua=o{9^XNTbQ1kU zCzn!kw!!r)kb+!qDpVNV(-8o^}7G)k+VaEp*tmwI*-fQT`FO$sTBCGd!n&S zzE;6xUj7pVCa$kwLKMeet~joPOmD*11!#M?^k+mhZR4Fe)H+1d+*evu1p6V=Zz3z3 z@&+omcD31eY~G*1$s;`&A6HfP<8J_X?Vy>!$xFPlOvWwF;2JIobUd!KqfuLouByfm z73}{J`~D;Ft&&)`(qL^fDomn*{hf3&@|-W~Du-umGhi-#RZ~Q*2QrI4*n4e_pK4F6 z@@&4MEZ+%xGT=X<(3>>YNH2E8ziUh;R&^bW9NcuLKUTQ|5p) z>&3@YOJD|wGXYJ3h9|A*TulQ3mC?RchHQ*T%86f1U2Frqb@{$BO}ROzcn9D)fFsV$ zEn3EytNf`7+`3Zq{0Z@;y0mrH3S{!_##(>;XI>jd+EH15XkXy4c6QuVNU}Hmy@(F$`_h+`aB}Lc#bJe0A95=wjJB;QhR(hYVYM#KiP#C zIsQS>@2q6K(Paiyca3W7N8y;yhOy!`BX_g`B;TX3dZ*cC7B*M#hBEKDY!&&Z(#3*z z)n#Xuv3NJ8Sx{6)npFs<_S9Z4;3fLr$?_Tuyq$}dwShWCw+g`0>_;BQakmuNASM`xj|MiLWA7_Ga#m@ z<#^P-#%m=G`MCCijEWl<-ek@`CXYCO2qpjaf%HSs7nVz^tJU;Z&y{z;T+HsN6J#Vk zWo{0JRbkIbd!E#~XCh|Ti+K80%>Yq0048@)Wr=V3tMqWCqcB-i0+zfX>5d(nct@<0 z9rEi;OWZlcnt=5?PD^_LHWywF$iS+sN5(kT`NW%38Tt*a|Mdby?GtS~A}VrCspUvV zwbu>Wu$I8mUv>NpkX>+QMtimC5!@#Dm{co}OXXoB>#SS+1}L_$GTehipW>B#kpenu zFF<*qTJ0)1PqEfvc7Rp=Vo$*wpfG|W5$#l_nT%bahjY)Ze*5-~!|0qagvvrhDbO68 zGHs_OUb;c(8hIHWw&J!))jcu*WAW(0fb{Iqb=~PB4gXXiWdw-ucpNVst|t$XY>TLT z!`Lr0oqxWUd-LnWL(B5>@+Y@bliJ<4w2%XzOHpc;v?8d-ElleL|<`g@|vcMX&a>a$NUe+CxCk9R{(gctE3)gKf zHC8M{zR#Lq<(?!pX#jONOB3>1B!{*uWA}+p2F`yaw!Cq(g`L{`m?dLvA>XQI7)^6L zK9#~sK3Lml$B&elNQr$!t#*9k8<==QvQQ9HQSF{B^}#c*!oK|AikVQg?UV)=ul#as zjJ*Q$0{TauVCDkM9o5q-)%Lw=0tz+vagzsOx?R74#Ll7y7e*ApSLJE=tcnu1t1Zp; zDONT3zbZY@B$&8Twqh33;84?G`faxpuX!(D0Mdx^_?Ye^6W7zCCvNh}%P$S2><<#( z2)=?7bhI5IKkk9N5JH|YH7cFBjk?=L?5A*W7v8rlLijS0cN1=CfvZzFcoNz$Bqevj z7SWtg8yj%;&l6I3!8@?L=i())^V5-)z*^$h)M=xXoD0CtA3wWCo*~F7V*ye#H73PW z^iW23>Ggf(U~Ef1AazxMm99MMUp}y=vuCHPO?6}Tqu5ETGr$w1^ zLjM%zHXHHQuYB?NWpLuTD)KV(Kx+}b9R5U+J#_5`^7Ss9&4WjeWK0m!djTj4Ud_bW zi|G0%iIuQE#izNgfDaaAy-n?mkm#(SD*LYSuA4-Cqgt8wOi@E_h9D&YSKjav=R}>;mYR#8335ecai}Yx7cn-`Ldiy!G*^M zZx2KkXP$;3nV0p&>*+NV9AE$CdeK8=u03%B{kl%9Qs9LFh}V`4tSwA! zTsCVjB%q!?2uCy%j)F{ley9}{0B&RTwNxCY4!-_QHV>F|!8Uec;ioJ-Q%_;K%f zwY))Ob%7~{bP~=ZyZ8PO=KgOpwZf1>)QBiC4he-so5GCnZB(v;EU+AhX(X1O$oiBO z4~yM_sQH|@3pVef%!!}9{DwG-mYFp6>3Ay4F&@jsUzJr?{CRpE@$`WR&vj*vuRQM& z^@Tplh_4>zR(~Q-qo*Mksm5-UVoHP6sF4Ib3UEpf25zRQ^yxp+-A{eD<+{-gRB!QE(14aX{Pf6BSAq z&e!qFwrVq^INue^&!1tmi@e^s=xwXDs(90rqbz(PdbuxZskc8Ga=}U$78EQvB$}Rv zI`L(+Hvwc*r3pUgrN=<+Q+7+o8udDxw~UCEd|0pAnelI<#CQ}OUqV}dP{t)i7v|g;;-j0>t>>GEG zdvp3Z-f}AI3ZiWY*Pj}aSA$`I;#wS&Utl>lP>B>Ya@z~2d%9A zabN3l&d>&YfV~a+;Vg5l4?U=mqVnK&;ZFNuZJ!`go(^YH%IU8%lifV|)Tq5Y4m0)? zr$y?=MIDC2#;q0&%e=kd9Js)?I;$5lvIJ}2UHfjFO!>CX2ix>A`uMcS0$QzFbu_U} z&j$17B#R=6z+M$%a!aAq31Y3rkt+KX)q_25+uXo^5y_%qA5kQ&Gne|9Zw)uofbU!{ z8Mbch6ywvfoWOM-5bQ{wb*Sk5kI6XpheVe%0inWR58zT7xyD$_S@h2BIi$)#O?Y- zZHO~84}5SR*}6ku={nvtg7r@M$@cRri?b+8y*QJb zL@e1lQ1_^``g$I%{tW5mV}>HcD{abMO6*Kmry8rZezyFRDCmayCQKJL-2bOk1r7>1 z$VB+mb?2Ua3QQ2<*t(e5R1 z&4?eW8`mzy4&yVvVZ`bh5@}VgfDi?g6U%{HE8y2Q*+^TlV4p9r7uGI4FWyK5BnNFs zwan)y?Cd<LINZ8M>o|2m^&c(XoyHm`u@2j9U{p%i8wc{_S_ z_3?qa!cvNYGb2S>G5z`dZr+^Eqr}-x@F|ZEUF#1gCIW`4s`8TS1?yw_Ioa8LnUXs@ z_+7y4m3Z1@4PyYf8?N&BzzBPK*lJOm*+c|ht_#J(VE=tW5J|j&p24~A=(|ErSpKKn zVxYKc5Mkc#EQb?E*FWbu6ovn#%saD_s}kii$$$Ck-`vrE%-CkUik ztJZj5R4Ve)SV-s^XUlQglONz?f6d!2xQFsp>FVdFZ;C(tryEj-I4}wjPUfVhoa<#z zcCj^=rC%T&5?}ae9WHkWL3jJewCqjxJ0}930e(ExKih-UhY;1Ogd`@mQBqofBG|nNzZV7 z+{7~;qdp2SDuB&C`$}Eqo0BqmT)F*4A2j}_rvD$(aR9)kiC1ZGg4}T)2Ld|#^!rhS z_P3s&Bk4yxKR+fH#?i6N6PmNh>BsnhWWBbazdr?2hyI#xhJpsIJO!$ zeym`_9JtURhW}^ts5JKFu?+wg{`R#y&YxRs^j}_MK9@{^9tZN~;5!&0Pe&9)hXL3w zVNFySMi`U2eFT-P&p5%-hI&|+{*xC0cE|-S9Ht&{a{mIpNH*Z;`*95dc^b?rD_@4F z%bd5Q-H?ooj$c}nv`{jiE$RIef+!SoSW7)w^zvlS<9q21>jCQ4OQjIaGd(wsbJ*-?WcSZMTCjxF zQ*xCD(y+^J0pCX|5XrYiZ^Fn%cE#aRQm>cz@Sf{-e7jzE&L?Q_tBMc?kh_Le;{Fg~aMspy6a_tZ+`-$zU&pA^&}Pc64`#EW zGTbvFguYvPA!%|P-dIzcSKuG}w&Cr+&vxE^6ifdiWuFe3_L3ay2(|J@BzOx3p+gsc z*#~yS6(~PIef@UtWhC)tL_`Gja7-I^o3%(_K)35Lw?-JFn0Ex}0FdbSR_=-A(un~B zTVCx0G;0Xn-wb4l<@>gzD*xo(@TQtkdgzt}IPdrhkN*=F0b|Wz=ywUs5_v-(sVx}xf0h~Sj;lP{&R_d_#1&skOvs|^9z)2$+Jj)~Se1nRh8iF6 zix+yOgcZd-M^PS`uIp%@(axGn>9w8lD!I)I_U6%E0P&xzYK+F;NDY1XcxK{G zuQQ_tLXHV<4jgT7KaYdxKPcq{;WqeD6|R-)e7>=z_Nr^`eGo3~0@jMBI+Y+Z|AL5_ z_uu(X=L2Yit9S~~z2{zuy??cUW%APt#W+;OTK}-FJy`aoD<#P+HTCP$pQqSh0>Ur^ zNSEuoWWoo|Yl;R_#L_TaVGW}tzj0m$rcX8CVb<_MZ{?1hg(gvD*${FO8WkUyRxLk< z<(0WJUJ?jT)~HFr;m?Vic^rgyDq!r+LdlrvW=O9;^5??i(x%J<&Vvp7l(k+DJBp}R z$v`JnG&%BS{y2{-5h?0uS1Emby<5y}K!(qg{0t zD=7>}IU{AEWS4H(z4_QC>S_D4>4@IHKm;5xFnh^Kw+Rr;M&W*~0YPsm zH)zic6?}4)!5UGlYTO%|Zk}Di1OkD{p8kpz1Ct47yGm*)7t{o=*Rq<(5B%#-fmDa@ zWSvNvl9FaFuPb*z>o17(t1{3BxuE$TG;TRfc=LTGW#i`qwk zn71eB+rKX;^hG@7ZUL1k&M-1&+Q=lD)yf`neaoKJIb5@*gPTHMYGxDHih+%$f68Z84v1-O*olR=$2FLb z#qEg)+2UgLnH}o!dP59`fok#%E*GEgYxygeB_OW#noEi*1#ja;irT&k2P@K*OcC!X zI~}uzwNZf=n(eCY$#%KOO%)#E$$r=ql0lq>S2-jyO-Mt3US|r4kEodDN5|P4(eFVn z3ks=c%&VMT6;P5Xa@DxNE(+i`Z$xS1^r_#MWowTe(4!`&+u?4)O|4CW;>wYQ=b zJ|(Yd*}tBtHsW<5Jxu@kzXR``LpDgl3!EL030IAzTn{Wx0tT)Ld0iQ#Q*&Bz?s_fA)c3P73&;5&B@?8M6zR z4?FP}b{aPLZ-s3y#+K}m=;?->@%36$NC1g_W;>}dhp3}P0T)1fP=g!2tPG{3gYZ+M z1Avq56N{Jf0czk(|Q0+*-uv$KVFQw9}s???;7u|f3QS8FA+E~W^w+|oCG4p|^5>J|Sz<0al#k`D_;%=)*B^wAM zU6t#e(S!2|alGWcc3%TqQ>q0aPH7O_ar-JgitS01p zYOf+H?!py+mLqKZsT_8L|Fk1oDZU24?u9#5V2>hc=(M-D ztNbxL{hofj3toGwc}nhQi- z&jiT?z{bG!*{K7`mQ$}57dU5>V*T2h)$Q5Sz3#)ER~2b8T)$Z>}8r%Ui`JvA}IksZH8`c9)7m(PV}AKt5M_;~IzeBj{NHr739B}8$gIeVmd z#-CycgP;hV*$bAG?|0eqIt?PhC9qX1>iQnT@JG2%%p_?5WOa%R`hm;vROv1!^&b@R+#TRH6>!U@p z<|KKFhaqdk)tvMOEsREvLT{7;ummR{p%+jyfdqL)Z-}d(4?PZM#Mg{jCnE_?1f1w4 zn$+IBLWqcAYqEiQ$SJSz=B9l+xz(n2tCXYgW-cjsts!F=*p)c%WOyq&#Lr8efUHx? zz6fpGuN<$RuW!XDym+L-@&EaEfDS}Q8^AQGQWkYloGqubwqOE3q>6elX$JV%^%Bq) zuOW@m%|R&Exc?e_`2f|*Up4o<_U!e13g2S_iFAvu^@+2&{!{?cpG)E+7xX9IgI}$E*h;L1T{ZRu9)=c&i9E zDCcf5`Tr-Qg0x|MIdJNtnKEabKa%i{y=7|;kY$^+`#iE08vWJqm?8-z{nwgE2E~Y8 zWmOyDPSrqv9S@V=2mNBy0Of8yA}^mOlrO?6=JLqw)7jOKW+vo~hx#%h`OKfvgifQ# zd1yoQ`qqFAYocl}Qc-h$;Kk34Oa!nVM}3=hEw@}f|9;E|5uw!@zP0>MUV8E+)`fnQ zxKtznSzY#D-|osfcM_@on1A>~R5IXrNxXHXPFbjKm%F~YPCVfc{l^>x{AHI1{G3ve znXWgi>7U{jGD5cn%f=%6-Vk3mJFC_EP2U3OV&m z-v7teo5w@lw(sM!nX$~6v1Kg7NQ<&Gmh8(6MSG(~?o?*1lh6=SiCOGfrlM5TNXtZ| zQl!N&l0+s^N{SXFY7p7ydrkL!KTpr+_xqz>cV4f1yytpf*Lj`iaUADy!V@SvGPi#2 z^lbSPeGEY()Ip$@uJ8{0ZcdTbN#zWEwr?quQ??xtM1 zcBO16>O1zRd=y`GKhL%DD|?)G;;MMeuF-kX1Kk_HaXp?ZOKw>&OKqXW1wgcZ)=A~0 z;`dsKx3RlybWw}R>o?NrYfG~%wmiTfm)Oqp3x3u15Ue{s{;LHzPyYm*)^_mOIPYmF zp?SS&s{$~>|AYy!9!MuM7Oyh>zS%wixwc) z$#(#;?1f_XB?m=u3YBznSTSY_#ro?MdHeTs-Va&kbHD2!LxY>9m=r#u` ztL=)!4K0!{{a=#LVRr6O+_~D#I3eTg{~ThG6N2A0&>L-h=ehUT!JAXq;;WQl2o725 z#d`nK?j1Mh{5hPtd483)&@~^%AwYb z6RJ@gM^cqT2M_D%mWjgTOyPbm55unYv(+giI;MZEAMiO+OGY= z8Bbtp$+as&iX((IqgnokCxqALLj}Hk9&3F_gX7#Hm=J zPr76PpZh2G4{$=_QUpKPjWxKRwB!qOlk3E_CeZGN0R4;`hF%?Y?aN{wV&-kJJdd<+ zEbI^F%&i*Q#AQdVu!}Loo|ox$XVYKf#jhNx@lbjslJAb%`r9p=U zKBtqvMK{Rnzs#3QKPMFh3gr&h!a6sLD}avV(p9mRzq zTByhQIdTHF)N{9SyDu%_u!A>; z@gRnr9RayE)7sFacyXlo$r8K&K04G6eQ0&c?OgNPRm$C4QCoiLTRp>C_*c;hD_4UJ zpVUkGO9M<%SgE5bGJPH~g*udNYUD({ee2*YE7%jI#$7l)GfSJQy2x#D|C2ELfP}f^ z*3DbOZ~o4DX1H_9pCh6d6@~@!&h*q0T!Qz3pMc&;H!^*~ch5TARoK7wbKA594^blO zJZ~I~+LE<-eU#5gd$@#9U5&n;^6r3&$3J^z3EYfds#>0bb=r8Af25G$#%y59W(p(5 z(JSS|2g1nlGyB)h7S?e)&e0Oc9{H#e9aO=6-b*{9Z0gv=@_m<1c2a`ejMFKa$Rg$c z+1$r*uzcO2p1Z1oO;;ug$Hfzx@8Sk(9~v5XU;E<0>|92^TR?rbq52#*Um0z+og9Dh zz78X-FsDks(U-QN`4v&Tjzm2Vr!zhrGg<1|^@4VU5>(i`I6%u@(LF$393YfaKha27 z?`NMYesPF-F*$1;Cqv5%A614lxy@1bAbdOzf6_s6kk7l~2_xj9Qgn<6pskSAx$UOf zVQXBYBk2{GZ2w}L`H^uqyn&4b+M66nfXWUdJj zZLez&*n0K&Z8!Db3SnTb)3himnY*05GNkd(`c-U);4R%n?!S+?-^Cr=S6l^qh=CMH zE~UQ_b>Ig0nnud=ZVnx8Z6%F!CIhCc-P-ggbu;6-jB_$K+i}lVtJ?0N42P{X|5%pQ z5JpnY&ny#3WSY=8F2z)A)AG(cg9m>M^5k4Cxsz0D z@2sRV^e?ZDa!odnzu+2mitu2cpK>nij^Oo56V}*{L>@4Yo1e~%5PcVQ=A1OSQcN6^ zHkHmWkM>QU1>JLd^aJ)HzCV!pNc?d%RN*EiUzH38cD{Z6!N=xA{4*t{W} z@z?7K?$U@Q^ILgY3#)<;&wY3MXrkp;>^RgsuMe6nA9rY$b-VYf^{_;!bJ|Om4Dd0b zJmdyZy*EDZCVEhajHGcLt^*fflC`(;rIe&3`r}g%y+2{>vsf*5hI`NzEy2HDSW1{U zO%=b`sXoFhW}@*zHnjTtckpYOgqWadbjqgPm(ETx0Tcc|siHPaJxTcOpgx`w?CE%9 zD!CW9kb}}$KNzw*`u;b`-t=!_)NbtCyN`y25y>AC<}KnTel-#izGi zZT!TgT88prpDPl)wQupc!4$53jdVV6at37&foTI>?O_(Og$7@k5RuCLtioNIfS)I$ zw(y3LZ?K|gHb2J+vBO9m-M=A0hWG^NOOOl7?Zran zRE#RuPXbX{lYfRS*VM35>~_?b`g&EM-8CryFSt6z#Y7QvrdF*u*9}ZTkzROsSjpx? zM?((%7wM@nb93e&y{O=d$^%Z5yjQ5rzQUsbx)m}d?Q+F;ur##-qEcQSUJKNwc!9Y9 zZjt>SZy|y1?u8OMAy_8)O%EH3)3M5f`VcsdMxfhe>@@TW$_g*%$7Sq->;IfETseI5 zq-rqfst0ha>nJKE$KvC;HHnONJ>S{H~*TTf0szfTFC8z_aeE zcOS`MJaZdnd9DZOlOHYLQyXTa9F=M=%DObgQZlM1qwJ2(Ph;v4^al~p-F^yNo)8U| zBi_bvcQ|?X5|_y69N((=6lg_~{F^hJI7hU0lOp;_t1lg~djzGe;IU0NL5mhAZlk15 zx*)|22TtZ+Y}OZ=1}4Y-?t!YC6l124>(m3)?Odlf(1T%IR*n)QFDYBI;C^mDiS31r zlyRzs817?@R@#5ysA=*^%^RMk1jBRKkPR}VBB)6aVDcRY=RX~SGkx$(pu4BTu!zY>$bs3UXQ|tMRx$U7F2cU zmx^dOWwTbibc(AQ`LT|Jz5>FRkDxpd^O!b$Kv**U=8d;jJP33)bDVGnY`l`Z>5|v| zBT>SnD3;BMH8$a$1N>*KW4XtlOa1%HSn!QIHm3ECmL7@y1dpoz2|B842f-VX6elgy z4y|CH8k8D?)AGxA;eAX+6Uu7(K}73u=(r~1f??H1w=&%E&YnQtnz&8~PH=H{df#F$ZjSC0s{BX)kc5BP5%1fA~GBZ3D2{n^iS=sia8e&=B9Dz ztMs6rbCMSJ%Hqd~1|?2C!}pJyOQ80x@OLrr%Gch){y}z@14K@7se=QzN&rNXtHl9? zHa^lD8`}f7zJ}^Pk6pms@D7t~>hsFoUfR0*K4xbJ7{{xtBpD&GkXIEZm;j$yWA?c9Bqxx2m2*8Z;pFhGMqjrs#8-gZ2=D!$*~Mc8uJ z?{49n)wZl(aY(!lOZ9~~?v>N2V!e@H?yN zDJ9FB)>*tun9Vmj`cu&`aySAcpV%#N)1w-XA1~vpL}M1)C4W13ZO5UD-lTG{D94EUD?~G!FQAUj!?u_4O#kAE zTEVFoLv_VH*jO^ko&`U_MGvro;&De((g*`8ANvDie;u!;bM6lAqxr|TPyCd1v33ATO?wi8JuF07lY_q-JpbwzdXyb{5Q^cmNCD5R zmEbqw`iyY>zZdj00;N_tM|_hFbo9w!>w@3Y*Wx~Z#VjWw z?&a<(O1bFFOOSFm)#;~a=|}$$LHuv3n2Lci9YA9LV9U{Z1gGq58*sXBMA%09A}iXK z0vjduC2;Kp^JdmW8Vp zk(SLiMl_G#nZJGeW?eU!i7F4qInMp6utBAL8h=8{MNG}qBnoh;dRO-7j=%adVE+4P zB=qlhTGiMX`sD0D$SkUR2tL?K^f#xorSG#&@yoS%Mz6OWN4>!`@ZDGncAT^{mFuVS zy44b!T~F)(gS%8KSFv<4yY(jYqaK>3W@CY42isCbK!kMP$l7db`uXR|?elJyq;~{j z<(gy1X0iB7{Y~P9y39NUWi_gI4^Lm?Pw%4NlBU1^s>Q>4VoVq;I>|n3PdIG+PL-{l zkPaREBqX`4_>~|YcKI2JYSybz2+t#VX;=HehGP7lqaKII>(%~_7z`RaYIl*nKo7=$ zc?H;Wh$O)M0x51WH@-Xc_>hI|&uI&)yI<_&(Bh76&NDJ*F&KaJ!zHLHc1}56b+O$t zq@~kFB=6jX@6H(uZMN9)s}hwjX0{VqzEI`r+z=xaY~XE-*MbGeP0BGyFRukiF$PI= zMp(K%CVwPmGzHTGgIEH8Xn%I0u5wZMAJ|vC0i@b<6kJ&78Y$U4Z%%WmeiYZh)oEKd z_>pv;d+xGm1;?vL#_DX8nFXf73DV&iY%;j#{ZC#w>n#BOpj65jh)>Bnzw~Nb0{#2~ z#MBePRWbe0PY*p>@npQ2ovYUIM`qH~``^QVIbCn#C}mI^nDQv5+s|kE>-=#=<8}4* ziFhFt+eb!)d6TV_;G--|0}bo#6hIE{xH}hhO|lHb`g7Lzr4)$3bYcb@#e`dtI95iZ zsAeSQ6#2`Dk6&B=TFVOz zT=Uaq#Q5&meWn-GVi~W$JCcvHXl<&cTlq6l7{V za78rNQivt}{a=FkeNB0w?6Z{JilLS=ZWL>?G%quIQlemS4!T8DSJy0*TwwQtGLUH2 zK{AR1`P&o7xqEyejroRMrvIQCxtE4)Kuw{VgV^X!R-3Vzv(mGHLEWEB!k2&YBnX&S z=(U84>XXjWC&zT`C2VUF>=X){+{2RsfPlb#zrgM85#pQjYPb~-UfhprGcAhQ3XaX{ zb>+FbjbS^RHtJ0;2?fOOyH>@Ka%sX~8z$L9OhEEG_JHao079rLxxBEI2}Y6P89av_&`J> zkw_50#jlKuHLICQ$q=^<-V&G4H=kO4YqS(F%fa;G__^=!&R~6)gv+Zt*?=10n(8|r zHDCbyr0>TqPYb`_v}mW>MolmDa^mN1Odw8kB-5OiJ&#d4l_SRFeIbO3mz^sOPANtj_Or7FH9iz~UyKYMXV>hnvV zyO^TJ*b&~1x+yII!yoUC2!R}ES#9f{N6>x2K|y}r#{yiuahc4!R?{`VChf|N7{BUM zHVdARS&Q8js<|NiRio^}mB1_&vX*+>gd8L3DOkyfpjU(xq47>(0e@+$?xCoLc1I^4ebQ>K=WtMNb$AX}8|KUNs*+?#I!yUIy8q(RSZL{a z*w>yO$O7{GBrYJcZhfnhfCYP8|#`PI@DMhuRp_aNbz6Mgc>1I&3R}g3eSBlw$XJq^sWirnuwdCw5i{0f3?eL# zwn+KSu>lR93m(tE8n1gRhXJBiiaU?l&Pn6}?$G-QX_1|c$G!I9E!IIhdJofc! zik(`|Fa6|amETqT+XZJqJ_@)bmJMR^(4l$m-Q_)Jo%Dym3PwZwX!31BRICJEi^9AD z14S!iZjop@d{mO0e1ddJX@6(tx~yb~lPh@*>vZqj(ni+$^80hrI}R$w_5*Y&wc=A- z=KY=+ZNcW~-nRrvxE#;r{DasQNF86}-Ic@IJW4OFOX8W2PKfYI^2RD z|0;||!c4DP&T7J-N*kqp3vi84pLXmwz+l9^4?BYvzv##w{jW$a<2ffZ^WTi8xS#_Qo*2$jjgM zbE!WP^$l&b%438fPX+PbT6G|13vcbO<7Jw%R=@}Yh{G5*#%#%u`(NTO82)ZJ-}o}- z&bHcqKUE8rdkK|VhnXwPoZc&+l2+>3DxU&#JNaNq1UYGWRCHT{ zc+lWuwDOT${?BpWox2dL)P9;+s;Pl-0Y)3CPUedFCYiz@&c~GO6s7tl?mA#r+i-#b z7^HytnC*?;*$Y#2!6Ap2>fMBz5B~Of0Y>nUZRh9vKYoV1$T_>RI6+qFu#g7Ah9+3k z1u10?p^bO>n1LvGwhRDF%3G-piphWd?q zw4~(fQ9OW+F)K)c91fw&y7=P#Dlk4P8@~bsC$Q6fOz;GJ8$AQa^3Bqdwv!vN2Q%LS zZ}B1n2nH%1cHmE7<<+{vIU$7063{|7cZp~SHG@;=N+O`YmEPH=PX5>##jU5HBpgQQ zDARnc=f|bPy=NO~|CE_R7N#oJVJF8z9slWR95aDqvCK$x>lVx5E-gYf?*JC(2-?^p zN$8z*LH^g3Q~`gpSfB~Z$jIO`7ayjv4_jlyPx6g@gmidySPE|+rQ{~q|%OXJI(<>*X&d(9T;1WLd(>UZWlTks*)H#6eD%a%LY84>PJ_ z+jBw9SLZ5x`Cd22r567-ONVYiKJp{P=;>U_IDs6t5$|>CZ^m=sSA+1@yEhxfF*7*@plnJhPsc&Ez7YAZjKjcj7~&{mCXT<-Vn) zjg3XVi~`M%ErzE!Wh_X_y+>CRQ}u4r+213?(Vxnr1f}cVO{@&G+e^iB%+1#uy%VEfK7`0Vyx$5jpb6vOnsga>r9AzYUC2vW zn1Wmb#uF2$=QsFW>1#S%iqBW!04l`B@K_@4R}%ER8I)74f8LW${wP&*PxMR(X45<(yc2Jk>rx&`_I97CudV@ zjdV5;LNI&qt#Pm9&Y?-p=WmriG8}j1OKak0oG)6SsH>s1qU6d@PUwE`EzMdS4+3O@)y$1q_O3S!+-YKHhrSCCxR|I zP1wxl{FF)&d579LP=ULE3A1a5m&NsEHx(ue)0AEd>ECGK5^3|7b7=m=id*Swnq}s( zZ+vDy#7Gd{gj>3)bF?pOh^O#$>l?!!4r8Z@yN=8fmXJwWd)Rz!QW?g?@PE44tQ zDv6BRxc~h@^mSH2W-h%8I;5fFT`L=Q@Gnr~B_B68!R?*B(-rVFDFoK?$n8w$vPM28 zpd4w<7u7W*v^wd@=uv(NbfgyULOe7;#;rk{lMv?FX=lzr!xwlHR_O+`0-Daf3)Wc_ zuq`SziB*(j0KdL5s&5n{NrL%cb@exXu*&f0TvV7+@J71zbhz+F3=*?tze6ks8a1DL znQaZ97Ai$1L@2Sp7403E^(=~Df!tXaYRRkP-+xJ;FbpP!!c9R81Drx6`t=XTfCoT0 zx}nQx<0l+7=lCpECltE!IhhN$x*OT3U9gK!yiTtFvkI= z&%XU9J(dHAo1ULwbg^fUyh61UOpS!pEn*a&+QQ*dh{uRr+h#OQ+X{lH<85~WCL(d< z6s?8H7nL0w;VP)oS!hR+{Gn9a4D5+ux?d3F1u?n^?#dVIKdw&{_8onKr*v(ll~hs) z@#0sfKq7?eNH%Q9@?6>JMtf4YwTFZx8JvbC%_Ip&hlk+B`+jzFX% zssuKxL!N#Tuzsg&)ijx>ufK`FN znfQ$mD0W69%1zFHNEp=(KYlFNTvTQ#==!VYL=l=P-+AUM*XtPT4cJ%6m-VUuxRLvU zy52;|{JPoqkp+u%8J@-G#vI?#112Y5sBK!)FTHtS2lH)qhi4JzzxW{D0P=QPK@Aah z6d5*!$n6Ey2hx3>^0g*G%0aE8eIz-rnQsL=BW`*{p8G58R@6(>+bl(Y?iYR^w<#vi z0eJ#>fB1(BGWkQ)LAk1Nck+ zrQb^kdM3Dc$!z=+9e2yU{@uz9y6L9VoW!60BrwSBbQPzczOAp)?*Yth z&1HFpvn+g0enbo{6yLpgP~VyTrV$}n01Gt3xi8QUd})Iq_a{D({yY=$jOdtS+x%?A zWtxRb#fEgU8C1ApJ0ua!n}uUD_)T+xtP&YRYVu3diZzOLyw5hh1W+>WM*LMgfA#X2OP@ms|7lvMfb_f?(YK1a zRI@=Z<0tJ$02i4^ggfy%$VPCNa<)N5EuoX8oQlLw2)|Iq9sO{iEyi54P`OqgJ(6Tk zTs5}Xm4C&?YrhB?>kS5ok>O7KD9l;390taI!@nI*E5)$~e#$=x zAG%l4(Cv|NcgbOCc0o-YWW6T#Jn?y_NSj>5iNZp~ikj6v_8|rouxzfRRHQq*DitT{ z=)xi!Mm>E-l38F3rU<|+3NgZ3xPA{?u@Qn4a9s61v#=p7Z4Y8}V~Hy*RKh|9P!Wz) zmY+d+HJEYGcc=dB__2(c01u$=~oU8dp>g~!U z2g#-_{c{ULo54P0lRU*C2>g+pB~A#WPq1z`st0O7?Ls;W#<1_#qA(9A$Y>nbF+oaK zo@Tvu6b$0H&b-H_D*qIEePbaH(%{x$9_C3+C6Kug z<@Il^L!H6sp*hNfqQ{E2ctN_`j zTH~JpqI!?W6?JXQJ^wbZ@?8GI$Ybo>+%GPdUa)RE2jG{(^{W=DMfV{qnip(Y#$6sj zeT;5s%(V_pMw%cC?orN;L%+h$90J3(C3@{Z`aqII9+;CgH&nr%d{N$+J~lQw3*vHQ zsSQKt0|+R+;Q-qTvOWA=v2*(2ljjyJZQi8zLRwN${Xdm3$TMGo-aS5Dl|Kz>(7T-C zE06B0R*k~BF!+c=ZAv-TlsM{rh z*{H*eTh*vw(E=-~V#o~JjLbT;E%n0b+Ll-72Et_&3E|%AqWwT7P?9uY1ShdSW-)%j zS@KuSEiLC#TAtTVY;1e>2~;6ye#0`s3I8Na27%{z71^)cmeZ4e9P zM&>T%{e_LoTu9|6dRf|l+)Ya9uV$6qQ&agYl>)6$^_6JxprJU1)JaofU`Ov`FHqkx zf4b5Ac;9s?G`i#-2oG2r|Jd?<%=#1#QUlFv!QXVDOG*as?VF zEg}1Q9|b)`M(!iWQT3oNYA7W!J;oOdO7ba@d?-Oo#HM1lp!`IP!-)n0Q$$^3%-Une zvL<%$-~l;+Q1u2_r_w31mWDRK91Mg{Yo9~3g%E$R-$PfTqKNPhL{!whrE6ALDyhN2 zl3U?!0R>CWbLU%t3!MuFlr|PV;CTE;qpDlp9LOTvl|hpRA09=qTui*1eNscDZLfQg zQG9hI0R&x%r4RY_x&(kC@0$cyX};&KRRdCh$l=Mxk*~hnHiFifiG+T7WAsrsTSfN* z=YR6BC{P=|p_7y-<9ZoR>i}N7MxOoU+%H;Kuvqj%HYo8pDwupo#cC3+?Fc;vfIXb? zK`JtuJldn-!mBOxt%>J$t@_EF5fH$2tC+kW;PMyA>j(d?`zIyibAncqE2N?>2{bjh z`OwHDr+mm>y7{RW`ab!34tziS2C-~cju|`_ULiJ-rv{$fB|F} z#U8s|c2+gjeTPMpeuDvjk+EF*fnBjrNfY*OSZSdJ|8Zqt)qzXdI=2pA4!RiZqm$H-m!_Zt7_{0W&z!0?IeVm#)6o2nZT zq33+GmQi*??%>y}D}1$px&ZD>ef@mHh3gc|4xN`$#Wqzbr6fo>-?mlOk5x5gp?Xn9 zD+GfJ-rkdIO3LJy6ao)zEpjECRZrgG!3_#ox&8CgNW;bqPse{=x#402*+-ogPw3u) zP)d{S_>D!BO7ncnYDJf**To6(~3<6JjPS<|Alj+0Xrpq! zf%lJ9v`B^>FU7Zg+*_H2ZZJti#q5g3W}KBj*j_n2j-6en6m*2MnlDyAqx7qk-@L_Y zPWBh4YX{nWmC8KV&5OJ2sK|vEdR^B|W)}xSE^|GbN!rRqbkeod>s) zyualE`PHSztMTOi+ljIEq&Vrw$&tEo2dlrLBR@9>Hu!?vKzlD>L5Ae+sYEHa0O%1%s4+#w*P0{(XpqI5Znf z9H>LBC)+4G9i2iBDTQs96Zcl5O-!26*G){&vySi3fC3Ae{q;kCfVhj~40fBhX{kb| z^+HRh7Qp^>!!e_*(pgX(ijwwK*5-j*tp;GjT%fV#mP7PK0Fv*WhZ*aAP6V?%7{;#; z#8_KDrF?Jq?Ek&dcv>(}tG^$)_!LI#^Yz3DRe3w#?_gK}y8 zA@?Oqu1NXYP5ArHph{j+d@j<$$I30G3BP)`CVRB{TFB-{EXklq=Vr2@QQnK?{nz+u zlC{dAm^Lypln=KQLv_mWI>vAZ2b};Ms%g*7z#j|``6E?X=~*)M6xodi)UNn1i6wWQ zCWs-;vMP;lbBD6slEm_AWFgN|@XIGJfc_+B$n77KcIYwwp!>D|S@gTIMelSUmcfp+ z$s{0$Q5OxPHVbbTgP}swN`j-gKu6-BTv&#NMti+KI@=7{StcFp-=C~s6VHAFB)iC$ zlgL2H<0WhKEsPd)+{RhHGE)Vf$GW<`V1F zFc(m*aLXPx(2%z5PrksvJO@G@%c}`zp|*Sehs(tsuNjo_I@CUJj%$4izyw(zKH292 z5g&C5&gj4}j;ZHi-s(Mm4jR73&cArBVTJRMt*Ej=c}zbg!*Q4%JfU9!Lsk$JD!S$G z-ckMROVt`5`l5rxAx9{cHtgqYXc&bPx>}Wv-_1s0&UpTz)bWt2&IjE=Dq2~SfT z+~&Xs>;l_JZbxHA`tKj2o4|11j$m&oL%P%=iAs8_W8A=-2EE&`mr=QbziML?gwNlwdtQ(0_AT*?R@V7?+b+A8#4s_;*pArBFEeTu0hvpTec<$(6{T@>LU+@x-mYrr& zeVst(_g7h?$VP2G&(;3c^ZX}>jceN+it{F9Fv{vI)86-+q&3n+bR(&6!Vrp z27u3_-_*?RQ@XB@@mAE7^_XqC`FF{oviUaR9<(OP0nRu@$O0Zn)<`ojkZ+T+b@H8} zlD*{GmFXUCtRb8XUlr_1`S$C;-DG9q13Hk6JBcpTB=kn|57772%m^WMr^DaLrAbks zAs^{W>#xn|TT3nfqxfU9Wyutr056*Oy_I+xFwi-NmI)Ll=Vq|nM1feUdE-N&)vKo# zQQKa!k|B(7)qBeFk(D!8?Y!Eo1Ws!?yK!#Sn@8kEXX+DWtNY4zi1s?vUeHQV$h8bb z^WC@Est=IV_YlmqN9!=n3X+W_c%#fu9c@Vl~ka0RQp zX&|6M;*!&)njia=$+gck?OV;i2a>6)o6I z)&;j^pMVp1A)K@yPaYTka7m!ned&JEiYCT^5`#CHK#f0%)8L@%QWdkq^$|%;|EM2i zeSQ38;0`O?E6LLSU0aZ!;bg4_00w`VAhsidCW>H4*xJH?T!d-2eaJ))8XD2+P2gS8Mm=Iximi*) zi*D;tf{G2^djSzKC8ZPy_Bf-MJ?P^8%k_y;oo@oEe%KGpqeXl`m`TxU6!~ zi}lE?W`+N!bW!NmwNOlslb0b?Q%0A}AS;FB0t2IsyG0%wi)<0r>W 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%0Dp?rzz?* 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 CvLI^! literal 0 HcmV?d00001 diff --git a/widgets/rotation/resources/crosstrek_front_outline.png.import b/widgets/rotation/resources/crosstrek_front_outline.png.import new file mode 100644 index 0000000..2906da0 --- /dev/null +++ b/widgets/rotation/resources/crosstrek_front_outline.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm3djc4qf14bd" +path="res://.godot/imported/crosstrek_front_outline.png-6479eaaf1adefbe7c6251ef8dd7f4797.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://widgets/rotation/resources/crosstrek_front_outline.png" +dest_files=["res://.godot/imported/crosstrek_front_outline.png-6479eaaf1adefbe7c6251ef8dd7f4797.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/widgets/rotation/resources/crosstrek_left_outline.png b/widgets/rotation/resources/crosstrek_left_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..cfbb9636fb4944b1db58837721f80d8a33a74508 GIT binary patch literal 348880 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

    1PJa}=tHiQpBg`cgdeKz#Nl*f3mBEL{@8M$A?i$ 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�a6^KdyPon^lmz+2d~*{07e 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�e{?q*hIlcbvsQ=~#YZ9vJ;S{7#Uipks#aT@aNYV+Q zC4bv;!5WiwML|7_wFWq1AA_;qiMrOd+$Ky<@x)&4 z1pkvCAFTrElmwp}hD&g7iaTI|YShn7QlILYqz<7Z4V!lkHi56sBhL2o9Xo!Fnjwdcu07ABu5Sg;vYNoNdoDxyKeGpy-i-^ zrutYbyEU`*}hiLR+NSc+HX}W_`Uth1++{DqF zTGOOgf42#K-zxpq`Dei5^9h?z?HK-efdB2}%+BO+_MOqYe%0$Vip?*+gOv+Q+C1P@ zE9ut%!^Yt77HMZ|v* ze39jh&4+Ka`r0keabK09IIH_2;?6c0%FT zHx8WrksTU0c8;J=ILCi$L>iW22@CI*!W>Xp>PQp%R=EcDdXN6sNsL$D7y3KR#U$Qe z{WH0W=*h)WQNM%CjMmQR?d|dJ?0$jGVX+z;DcyX>w!{8or^8432UNo>GzR(wLf}8S z+_DYLmBUSU{c5_qp#4wXiR9k{*+pGQ7(XnzYi)UX81MD>8UIJ7pr10)k)7Pem7-e% zj(~KQ*-i;l=0ym5pbBJcJ3S>=9lCj^u@SXmDy~k?2}dMKSjk#RSn2CaOtP9J(dRmQ zjY051rMQB=>Ug2X*td};!RHQVtU9q?`0b@4yng9ub-YWTAK@$Xl#;6!G9T@iue?lA zh(+RUVD|(d3eg4xI6-%+)2@HJTdXAw710d%G&GaKE;IbSu+9DELdYozMrA<`M;*l) zM>Ljja3D&gL4H_Ejhyx*x6BMHOJ-w}h6bs-tFN1H?iAuNs&+qrcqX^fE?=0zf7cP8 z=Wy8GppBKC%2KULXl#mK)YQsY`~wxSGMQ%Eh$XqY6kRckch zS7~NjCp+UV;_TM~?r6m|><8IIcDwYT;XPx)4-ft6pGm1q)#$-P#ON?BYfq;-R#IQ>Yk!an)d)MUk;NPbUD3Ax7Z{+_jV|6~#`DS_8LX`8R2E z-SG)8;eI+uTu+#U7HmX2iR+DdlKQlLKZwu2a;=yF1d5PN!82_Vh~%aQN>I0+$pVS( zw1d01u;Fwr-^rdEaoKGJD)Z}qmu`HMYN|ua`TK!!yz1|&VAzETo{?Hexk?u)dwtsvayXYFS4%p*m+9`0+$ZgOZ`CU8hI{iYDdqptBhMByJT7Hy~iC)~`JnDh4^U%&z+=B7#+7$`QF z=oslClM&eY0w5`0=YFMKn*55_o1u~rJ=JT@GulG2=r;%~8~^Bg&q~v8GIAzp$WCU$ zK}e#{J$9X;d=P7x%3a(=p57o0D{fxcf80hbTKU;@5C`1dukHdX=URm9CZ-7?c@!PJ z2Qpn(I)%22G3&4JN=>OE+N{r~5@0eVY~-H0f void: + SensorSignals.pitch_updated.connect(_on_pitch_updated) + sprite = get_node("Sprite2D") + label = get_node("Label") + var label_size = label.size + +func _on_pitch_updated(sensor_ip: String, pitch_rad: float): + sprite.rotation = pitch_rad + label.text = str(round(rad_to_deg(pitch_rad)*10)/10) + " \u00B0" diff --git a/widgets/rotation/scripts/pitch_widget_node.gd.uid b/widgets/rotation/scripts/pitch_widget_node.gd.uid new file mode 100644 index 0000000..6a09b4c --- /dev/null +++ b/widgets/rotation/scripts/pitch_widget_node.gd.uid @@ -0,0 +1 @@ +uid://ck4h0hm0ob56p diff --git a/widgets/rotation/scripts/roll_widget_node.gd b/widgets/rotation/scripts/roll_widget_node.gd new file mode 100644 index 0000000..b62ac80 --- /dev/null +++ b/widgets/rotation/scripts/roll_widget_node.gd @@ -0,0 +1,17 @@ +extends BaseWidgetNode +class_name RollWidgetNode + +var sprite: Sprite2D +var label: Label + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + SensorSignals.roll_updated.connect(_on_roll_updated) + sprite = get_node("Sprite2D") + label = get_node("Label") + var label_size = label.size + +func _on_roll_updated(sensor_ip: String, roll_rad: float): + sprite.rotation = roll_rad + label.text = str(round(rad_to_deg(abs(roll_rad))*10)/10) + " \u00B0" diff --git a/widgets/rotation/scripts/roll_widget_node.gd.uid b/widgets/rotation/scripts/roll_widget_node.gd.uid new file mode 100644 index 0000000..a2002df --- /dev/null +++ b/widgets/rotation/scripts/roll_widget_node.gd.uid @@ -0,0 +1 @@ +uid://ckhpodvbko5y0 diff --git a/widgets/satellites/satellite.tscn b/widgets/satellites/satellite.tscn new file mode 100644 index 0000000..ebe2751 --- /dev/null +++ b/widgets/satellites/satellite.tscn @@ -0,0 +1,16 @@ +[gd_scene format=3 uid="uid://c82t66hq0g1sq"] + +[sub_resource type="SphereMesh" id="SphereMesh_mgj8s"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ivcly"] +albedo_color = Color(0, 1, 1, 1) +emission_enabled = true +emission = Color(1, 1, 1, 1) +emission_energy_multiplier = 100.0 + +[node name="Satellite" type="Node3D" unique_id=990255812] + +[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=829681102] +transform = Transform3D(100, 0, 0, 0, 100, 0, 0, 0, 100, 0, 0, 0) +mesh = SubResource("SphereMesh_mgj8s") +surface_material_override/0 = SubResource("StandardMaterial3D_ivcly") diff --git a/widgets/satellites/satellite_widget.tscn b/widgets/satellites/satellite_widget.tscn new file mode 100644 index 0000000..78bbf5d --- /dev/null +++ b/widgets/satellites/satellite_widget.tscn @@ -0,0 +1,30 @@ +[gd_scene format=3 uid="uid://b71kuj4yole3j"] + +[ext_resource type="Script" uid="uid://dwif4hgjhkd4j" path="res://widgets/satellites/scripts/satellite_widget_node.gd" id="1_q0bd2"] +[ext_resource type="Script" uid="uid://cr4y57bw6jfd1" path="res://MoveableControl.gd" id="2_a0wwr"] + +[node name="SatelliteWidget" type="Node2D" unique_id=931018379] +script = ExtResource("1_q0bd2") +metadata/_custom_type_script = "uid://dwif4hgjhkd4j" + +[node name="Panel" type="Panel" parent="." unique_id=1980601372] +offset_right = 4000.0 +offset_bottom = 698.0 + +[node name="Label" type="Label" parent="." unique_id=1126441894] +offset_left = 2.0 +offset_top = 2.0 +offset_right = 42.0 +offset_bottom = 26.0 +theme_override_font_sizes/font_size = 512 +vertical_alignment = 1 + +[node name="MovableControl" type="Control" parent="." unique_id=73140661 node_paths=PackedStringArray("move_target")] +layout_mode = 3 +anchors_preset = 0 +offset_right = 4000.0 +offset_bottom = 698.0 +mouse_filter = 1 +script = ExtResource("2_a0wwr") +move_target = NodePath("..") +metadata/_custom_type_script = "uid://cr4y57bw6jfd1" diff --git a/widgets/satellites/scripts/satellite_widget_3d_node.gd b/widgets/satellites/scripts/satellite_widget_3d_node.gd new file mode 100644 index 0000000..b527d6f --- /dev/null +++ b/widgets/satellites/scripts/satellite_widget_3d_node.gd @@ -0,0 +1,101 @@ +extends Node3D +class_name SatelliteWidget3dNode + +var sensor_class: String +var used_sensors: Dictionary = {} + +var host_vehicle: VehicleNode +var vehicle_3d_node: Node3D +var vehicle_position: Vector3 = Vector3.ZERO +var sat_scene: PackedScene = preload("res://widgets/satellites/satellite.tscn") +var sat_nodes = {} +var need_sat_update: bool = true +var sat_update_timer: float = 0 +var sat_update_rate: float = 60. + +var lines = [] + +var GPS_ALT_KM = 20_200 + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + GPS_ALT_KM += Constants.EARTH_RADIUS_KM + Signals.vehicle_added.connect(_on_vehicle_added) + Signals.requested_host_vehicle.emit(self) + Signals.sat_position_updated.connect(_on_sat_position_updated) + Signals.position_updated.connect(_on_position_updated) + +func _process(delta: float): + sat_update_timer += delta + if sat_update_timer >= sat_update_rate: + sat_update_timer = 0 + need_sat_update = true + if host_vehicle != null: + return + Signals.requested_host_vehicle.emit(self) + +func _on_vehicle_added(new_vehicle): + host_vehicle = new_vehicle + +func set_host_vehicle(new_vehicle): + host_vehicle = new_vehicle + vehicle_3d_node = Node3D.new() + add_child(vehicle_3d_node) + +func check_valid_sensor(sensor_ip: String, sensor_class: String): + if host_vehicle == null: + return false + if sensor_ip not in host_vehicle.sensors: + return false + if sensor_class == null: + return true + if sensor_class not in host_vehicle.sensor_classes: + return false + if sensor_ip not in host_vehicle.sensor_classes[sensor_class]: + return false + return true + +func _on_sat_position_updated(sensor_ip: String, sat_position_data: Array): + if vehicle_3d_node == null: + return + if not need_sat_update: + return + need_sat_update = false + var current_sat_ids = [] + for sat_data in sat_position_data: + var sat_id = sat_data[0] + var el_rad = deg_to_rad(sat_data[1]) + var az_rad = deg_to_rad(sat_data[2]) + current_sat_ids.append(sat_id) + if sat_id not in sat_nodes: + _create_sat_node(sat_id) + _update_sat_position(sat_id, el_rad, az_rad) + for old_sat_id in sat_nodes.keys(): + if old_sat_id not in current_sat_ids: + vehicle_3d_node.remove_child(sat_nodes[old_sat_id]) + sat_nodes[old_sat_id].queue_free() + sat_nodes.erase(old_sat_id) + +func _create_sat_node(sat_id: String): + var new_sat_node = sat_scene.instantiate() + sat_nodes[sat_id] = new_sat_node + vehicle_3d_node.add_child(new_sat_node) + +func _update_sat_position(sat_id, el_rad, az_rad): + # vehicle node is rotated to SEZ. + # Az is rotated clockwise from north + # 0 el is horizon. 90 is zenith + var x = sin(el_rad) * cos(az_rad + PI) + var y = sin(el_rad) * sin(az_rad + PI) + var z = cos(el_rad) + var sat_position = Vector3(x, y, z) + var global_sat_position = ((vehicle_position.normalized() + sat_position) * GPS_ALT_KM) + var local_sat_position = global_sat_position - vehicle_position + sat_nodes[sat_id].position = Vector3(local_sat_position.x, local_sat_position.z, local_sat_position.y) + +func _on_position_updated(sensor_ip: String, physics_position: Vector3): + if vehicle_3d_node == null: + return + vehicle_position = physics_position + vehicle_3d_node.position = Vector3(physics_position.x, physics_position.z, physics_position.y) + diff --git a/widgets/satellites/scripts/satellite_widget_3d_node.gd.uid b/widgets/satellites/scripts/satellite_widget_3d_node.gd.uid new file mode 100644 index 0000000..d62a903 --- /dev/null +++ b/widgets/satellites/scripts/satellite_widget_3d_node.gd.uid @@ -0,0 +1 @@ +uid://1825fgmcotxw diff --git a/widgets/satellites/scripts/satellite_widget_node.gd b/widgets/satellites/scripts/satellite_widget_node.gd new file mode 100644 index 0000000..aea9f74 --- /dev/null +++ b/widgets/satellites/scripts/satellite_widget_node.gd @@ -0,0 +1,40 @@ +extends BaseWidgetNode +class_name SatelliteWidgetNode + +@export_enum("Total", "BeiDou", "Galileo", "GLONASS", "GNSS", "GPS", "NavIC", "QZSS") var sat_category: String = "Total" +#[ga, gb, gi, gl, gp, gq, gn] +var sat_idx_map = { + "Galileo": 0, + "BeiDou": 1, + "NavIC": 2, + "GLONASS": 3, + "GPS": 4, + "QZSS": 5, + "GNSS": 6, +} + +var label_node: Label + +var prev_num_connections: int = 0 +var num_connections: int = 0 + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + super._ready() + sensor_class = "PNT" + label_node = get_node("Label") + Signals.sat_count_updated.connect(_on_sat_count_updated) + label_node.text = sat_category + ": 0" + +func _on_sat_count_updated(sensor_ip: String, sat_count_array: Array): + if sat_category == "Total": + var sat_sum = 0 + for val in sat_count_array: + sat_sum += val + num_connections = sat_sum + else: + num_connections = sat_count_array[sat_idx_map[sat_category]] + if num_connections == prev_num_connections: + return + label_node.text = sat_category + ": " + str(num_connections) + prev_num_connections = num_connections diff --git a/widgets/satellites/scripts/satellite_widget_node.gd.uid b/widgets/satellites/scripts/satellite_widget_node.gd.uid new file mode 100644 index 0000000..180707f --- /dev/null +++ b/widgets/satellites/scripts/satellite_widget_node.gd.uid @@ -0,0 +1 @@ +uid://dwif4hgjhkd4j diff --git a/widgets/speed/scripts/speed_widget_node.gd b/widgets/speed/scripts/speed_widget_node.gd new file mode 100644 index 0000000..88af6ca --- /dev/null +++ b/widgets/speed/scripts/speed_widget_node.gd @@ -0,0 +1,22 @@ +extends BaseWidgetNode +class_name SpeedWidgetNode + +var K2MI = 0.6213712 + +var speed_kmh: float +var speed_mph: float +var label_node: Label + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + label_node = get_node("VBoxContainer/SpeedLabel") + SensorSignals.speed_updated.connect(_on_speed_updated) + +func _on_speed_updated(ip_address: String, pnt_speed_kmh: float): + speed_kmh = pnt_speed_kmh + speed_mph = speed_kmh * K2MI + var display_speed: int = 0 + if speed_mph >= 1: + display_speed = int(round(speed_mph)) + label_node.text = str(display_speed) diff --git a/widgets/speed/scripts/speed_widget_node.gd.uid b/widgets/speed/scripts/speed_widget_node.gd.uid new file mode 100644 index 0000000..4bed55d --- /dev/null +++ b/widgets/speed/scripts/speed_widget_node.gd.uid @@ -0,0 +1 @@ +uid://s6pwa5oevfwf diff --git a/widgets/speed/speed_widget.tscn b/widgets/speed/speed_widget.tscn new file mode 100644 index 0000000..cffd42a --- /dev/null +++ b/widgets/speed/speed_widget.tscn @@ -0,0 +1,36 @@ +[gd_scene format=3 uid="uid://c71ads44rsa4u"] + +[ext_resource type="Script" uid="uid://s6pwa5oevfwf" path="res://widgets/speed/scripts/speed_widget_node.gd" id="1_yqqoq"] +[ext_resource type="Script" uid="uid://cr4y57bw6jfd1" path="res://MoveableControl.gd" id="2_383ed"] + +[node name="SpeedWidget" type="Node2D" unique_id=186354912] +script = ExtResource("1_yqqoq") +metadata/_custom_type_script = "uid://s6pwa5oevfwf" + +[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=596189086] +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="SpeedLabel" type="Label" parent="VBoxContainer" unique_id=2101712075] +custom_minimum_size = Vector2(150, 0) +layout_mode = 2 +theme_override_font_sizes/font_size = 48 +text = "10" +horizontal_alignment = 1 + +[node name="UnitLabel" type="Label" parent="VBoxContainer" unique_id=123505815] +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +theme_override_font_sizes/font_size = 16 +text = "MPH" +horizontal_alignment = 1 + +[node name="MovableControl" type="Control" parent="." unique_id=805495128 node_paths=PackedStringArray("move_target")] +layout_mode = 3 +anchors_preset = 0 +offset_right = 145.0 +offset_bottom = 197.0 +mouse_filter = 1 +script = ExtResource("2_383ed") +move_target = NodePath("..") +metadata/_custom_type_script = "uid://cr4y57bw6jfd1"

    e`L~ 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%0Av%d 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Ǥ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%0Dv899;@ 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 literal 0 HcmV?d00001 diff --git a/widgets/rotation/resources/crosstrek_left_outline.png.import b/widgets/rotation/resources/crosstrek_left_outline.png.import new file mode 100644 index 0000000..0fba0a7 --- /dev/null +++ b/widgets/rotation/resources/crosstrek_left_outline.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlyvq43tjdaja" +path="res://.godot/imported/crosstrek_left_outline.png-e06999811d51aef7b3a2c0bfabe0ac44.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://widgets/rotation/resources/crosstrek_left_outline.png" +dest_files=["res://.godot/imported/crosstrek_left_outline.png-e06999811d51aef7b3a2c0bfabe0ac44.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/widgets/rotation/resources/crosstrek_right_outline.png b/widgets/rotation/resources/crosstrek_right_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..ad4b114b7f053a3b1dd6547c0db2a67f2123e290 GIT binary patch literal 349256 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¬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%0Dq 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

  • z-BPR9=gynCa@|!+S1%V-W247PrD(yz-r0R+jlc{iN9#w94_3$1GHC_rwCNpfr49g4 zq_kx$qGg*X07Du9V9ugB@BZkAP9HsSaQB{5M~^(See2-x2y?2H5)ed_=@wlQ8hV|r zAdrxEe-uAS^ePNjS%KS4C1fE4C5adm#erzo4%Bjm2#Rxvce4f`-C;Rc7K3+nKM~kF z$j`V8gOLVPW!8g3Luct2*T@yXqC|W&yxs z+qRt;7?{@GEooYgqL4RrHde5!l19eI>q$aNJ+^Jzf&TuDE2l4;cRm}+%7s0buATY# z_Tvve@x=9;HVr0;P4Z>GT%KX@me+WQ!((HKF{IQ(Tegf>DmPs|zq>Qafkigf9?Z|b zAftz1piuwyw`{m)%h6M#)!E(cwOW06e7v{2Q)?2hP7V^aG1LQ6#^wXSVEW?}9X`3- zkLo2CCj(FrX-$ZPptUL~Rf=>eQY9TBsi;)aB^{|q=`tzppl?C87LGz>b?J&m7}u^|r{`TYRLvX{V7jTkr5_1we zm%=3GG-ca$2clVDEoQ_8;X<~#BI@(mw?A8<0Or>E)%6Go7gB-2OWV@&iPr{3toc;K(aCl1OTg& z_CAs9nLj2JYiIW&BC`;ozhfpfvJt~-M>_Wk&Q2bL{bWZ{muUf+4Lw)I5+ zQ^%@@hm(Y{trRJRUFCE3J&P0_9jSfqss0aK+X#2uvVP8@zK&%xyUz7#4a+l!Pj5YV z`q8~7_YRDY*HcAUQqTHQrmrE z^qIrMdk4l4U~(--AmOmL0~<*bF{#5hY~pym%JnKIbxC4jm&IW?J+f=d!0xR8Ftumu zyWaW!S6+9+KY!uxUf6#~MYML+va7Ct-Le&H1_lP>atQvz20qoUz$?l8r8gB&o^4F#z{g-)#~-z@4F8GuHQJP zakXV;lbFPnnkp(4wH++NOXu~x=ayyvddHrFLt`subdFc*)24KlwTe>~26kHULQREP zf$1&@K|~>!z06|39wS5EkGr2MjQg`0Iw{hmBBi59MP)()t)r+MMOZ?uRY@yQ#u!9x zdEmBzCL}KC^DG5lvY}))R3*s$&zhzGQ7MPyB|4+pOlI7 zrW!I%uyMz2!a6*{O5XMX$X8DyHcl}Q*~0=+Co|xe@TIe4!4U8uS5k|+>9cztF-LC; zeUS|__TFU;S90*BTx`~uJ}8+LpoBW??5D6${X^Dfc~cJY9->9pUu*@BxWyK|)B_m= zt$-zW^pXNss`1nJZ-gN8GM3gqj*a~!K_H%SI}3-g9N}*??k>zg{hRDX5AD{Y- z3;y_*S06Z5*>Pa(@IY;7G_KZJKq5_3yQ10C%BvQ3Et}iXJEatw30X`diA}w3;+m<~ zOkDTg=q?e}_ZtBlQkqD8Iktw5WJL;y9O9uhMI{xLC@N7@Ql%1Umk2~k70{37-a{)~ zG^>5ltoED#gPdpwcM!1g469I3E+TU6y6FJ>pV>PA0`)YBQr$)rA)16i)fH+G1fxI@ zB7~?6plztQ&m2ZqgIF-qnMm4eO|b|9=M66!5ao2*gqT^)B8Sz+*)-o`gUyZS(pmc~ zHint}s5G3-SV$w^6DD~hWP2q55D|d)3r07=up$%kIV9Ho&#=kFmevbLG8ac-BgSc$ zg&nci#dg?Gb`h`xI{<)9tCl{sYu}ys-+$XJuRS=9drrrD$K-ewQdKUuca+L)?IrCr zwCD9GYx>c%$8NiLegl*dDcrDN>bW5s$3`FAJ@C_=0|y7k>j_5+BTeVg3jqN82>QyH zIXMg+(R zhym&d10&VZ@%ogmj#7kkX7+V-wh;jmvF*m0gkf~NCL?KkM@a$HlepBT>n1IiO2P&K zBTXQn+RJM$-MIGBjXSnI|G=Gh9zMRSUayt4Qf@-ag5o2f$g2oFxynzHF{l^wp`%~H zLhUuFLP&3>u%K{NHgBb7HmEEz-AZVDM z+OZD+7R~Gywx0U|aal5`byDh-u* z>uhU_lsfZLiHM0YW7TTPOhf?i{rm1aeC*i8tEa!}viVJwE3*N_#Gs=xQ|563nNOj4 z*Db66^^QHK$Lr%$N|jn%kCSplSvGk#K*oUFn%Q%b6F_BPhj{CxeCSLFQY^F#2oa*Q zz(R#8QYz9)MTA63M^U+~Y|8=ePEcC2gziz~P2=pXq*zQg&2s820YuUYjWGzs!lV@# z)=^0%DUq`LsyxU-5350*(&7!E#ZFsTIb~3Z_{jR)9ZZ}FECGoWIy7k{UgeV$^hG}U z93zBWER{n}lmjD;hr|GitdU=#IwAoSL_*~+5M)H#Tx7Z?xBO+T9lCj^vP~Ca3+zQa zkK7t$*_pisSBkbD=*`Ly@&E+dy7g%QxN3R3ML8OVC<14-+4GD^w9_O{KCbm8n!# zr8ZS6DHlkpDR3zR{11U4o%!vujqk9Y_u&jw1m^U%ZCp}*YTw|_Lnkj-Iy+5M6X_)7 zQp$<}AO$hN3~2(Sfi#eDWGN9b)<~V4EvEO+72As2E`)<%83!%c;s~X2y|Wp~1uZBz zr~rJPg#Z{kH_P0~xgg~58uzA8TPCxtHb$F6vzHJ6dpy>SFlYkHR$=es2n1jRs48VDK0h$wJMcR3HiR-~wZ zsPe;YN8Wwa;`6(*jt$oy-Fx!>=Lfd;kBrpfl2(zzb3!(nAJ*>#0IY;W1nMc*Q_JCj z&dGK%&HaXrcu(w7;vkNC)jH%#Qs*?WlqwNPYU3yNZacC6Sz(?tXa2AL@_%~$8*d&t zb?hJi{+}Lv{Mi}3Q-ASY@4w{Ajny$YeX8Ew9d-AVx;lYCV&OQY)5CR*(d@Z1I!oB8 zv0Nens2LE3I5qXe#C1+nqoYWbbu~%a+R6k_86NLwZ;LDSQWWV(RjMY^5Jd{X2&-iq zRxRDIs(<(PE%)EG>-qiFYAk6Ql_b(AB#43pf;Pt)s8w2~{gy!E(occDv+zaC9Z@_i zg3h>v0SFYJF?QP#F@l6>vhdx21_KiiH2fITm1eHu$_{%%;L?lsyj_K1Ajs&F8Jkmz zW)-BA7=ucqAiLSO0TeOpSvnS~<@~xa0073A=l32OtJE%E*%N8*0}+aiu!Tt~;T{u@93F#x>xmX$4sI0($f04CNW7<4uPMDL9*J)P07zj5W~zq9Me zaBcdOa=jjRMjcF&8d2ybwa))c96phec`ZuklH$b27uYfuSaP#nSMhPiS+m710TF7A zS`$X3v_ef3X^ON`sL_5y6Dk2AyOSZNVzkoYV%`i3h;2D69*m&|1;B!xMD zYmr=w0lBZgcsh?Q$fcDF72*VM1#>!mORq1?R~50BOE$iD5JXdqqN9cRAe%8JR{uZvSV*?d(*Boqb$w2+8hm-17U zaS83pshh750szotzz{{C2?$&~BKo=q5K@4$_M(ow^&1)*27vB%4cYvqc?$C%2KqQd z%fT!rYyGLMeI;sV3t;e zF9j~=1VFjA1R!Apih+d{ixC7iIa3+dESk5c|M>pr9$Pzi4Jsg)I-iKqsI;&_#PjMn za=7DrTl-&k(Y&c0=MWUL@8tM%{lgFMKKbn7(}UwN5tbEA#^v^W=5{tf>0F5gXY4m5 zshgnRkTelCSqFIf=$`%^kJc+A0C4FgSHJnTcg>qO>+4_o=JBJ4Hb45*iX{tw{Wm@~ zea5W4&mXDRlD^)lQ+s>b+JG6xs%EfSuUBJ@+}+dN(V^QEl>Er4q<{$`t=c0MN1W8- zN?hXv%jI?f&48u$o_bmNUs5hK`>& zdSKVnPd|2QWC&3@+O)W!3NN+B=DO4Fs+g5s4JTGH0)atsYD7n7q(E41uX5YHFajuL z34`9u%Ja7E@YtH7*p1dtI|aiH*~_J@agDR82z{I&pkZKfWe7=tFxio8Mg4I!@Diy&fqQX&os=zWQVl!B_(--HF*Luj}q&^nt#WWpXL>?9_p3^(^BBIm)=YSDFgq?Iy{T9>YAU%-H9C;KKT zHZrz+pkio8kaL&^eEVb~YyrzOsp3N_1O~{6)Ba;<@1{kP#8O98>H3*K`3i+h`$rtiuwdh>Ju@ zuVq63Qblf+YpaamtftInG5?`RR+Dczl9=n&bbKtSjHQ+Fq+Uyt*y%T3+SW;$vfk2! zDMnSJddWl;D!1vjcGcFQ%WbMuR#8bQg`^zI?msZ-VOvj=WmlqCM%m4Ko>gZp@8uK zx$`qhQZXqiZ9B6U19u!Ato-}q2Y>bY zWoP~2fzkRC`v>oQ_UO)|BcrvH5X+i6%lbdib$+IP!@1(-LXOz>8)+uw9UnY)^o1=W z1BU@%_RRUqmMobyeP+27{rL9p9_T-~XMg|Imu~o#4}DY-?%R8)6sZMEr%s>I9cd7T zdR?mH93ixI==Qd9xxJ(aDD-;vDGaE9SlYYVx^!D=V6>9fYq1EIBGP4@Bv2}qF^y}L z7?cKt>M-e&iQ4NOnsihiJi(Ppv}nV+3oc!E&26vSvvbD-Kfb;H=N3Qv-9VsXk#^pKnYz8Jt0hSQ!8Sg0Vs1wlG$^_8kF$ zd3~L1=i5@qUw8KXa&GP{fBumxe&tVo`sB`?fAy8G{MsAe*wfhwB1xJuvnAYwT}Nt6 zII4Kzz=6O2-uF%n4sKdK{S)umP^%_RS7LlbtK^2Z=)8as34D&R^-3WkpN1mvyYIcI z9`hX!AN-qt|Mz#i>Qy&v+GIP&I7#9pX-TgFe-<`B_0+%p=ts3Ue&wdQpZukZ&oTsK zW|NwfkZdYnu12zb$CS>}J72ZN#Z)jHB+ytTFtb#>$VQv z*3P9ir8Oy)sipoy_8wm2?L4Fl4LgXy(m9>;rmAgwj*pDj+sh@F6eFk+2^l#CHjo;T z7ywZ#F)`?pFpl zr{=L#d}jAc`AcvhUM<8epRwieNC;%wGXsLe%CdqjwF!(E1^_ay$TH3;OT_Is#%8q} zMlq?YYrrrYV~iLU7Q+l;T(4$CzyKo%39yxyYfYD|Ub7KbLFQbhXqs63- z9rz;Pj*gQ4{?`5**Unx#LB9BSJ$>@P(EZO3Jb7U7*lph~ zjifGd-NlVtOI#Z??j4!yKJLkPC3f*y zR!#rI_iY>lqRJ~Yxhr5L<;}gFI^mI{NCmR|90n{ z+g^C#mMgDZy=W0m+&>`V?!$+F^ys5c?A!?ew_LUG4}WFTq&6cqw(+nBm*W?H5O(wB z3%_#r{^4p;kJEZ$%Iy(|q;{Af4q2mY84sHd1acRh9e|4?xj0W$>+S}*su!~8Hdo{- zQlyl{K9tg`RLZ&l7C}HF*N1=@o5+M{y$T4CTy9l3vm#)VWiOJL{~vXK8fDp)rH5gA z?{n{cQ@ogm%*c5}VxECQ0jRONs@X%aXExn7+hWV2ZOWEql9nuM;1ca+E_-pwUexlE zOi`jlQKCsNHoMu)?yjn?Dpa9>8i2x(n33}onK4f<-n;jny|;gybMEjWGJ)zwnaNm* zL}X;-i}&t3_nf`=H(3P%LIo_`u0nI~9HJ|gt(IITanDolWTg9X{-*X`Al`|)^)WZz zp{}FAQr&48KrCQU1aN~9m$I$?_5?t6=@7L{>%v2C7(A$cf>qFBkC%Z%ysGLjvG5@9 zYrz8@B~})8(9$_gD}f``N2_!pj$Ix^NK!P7SQ${3ez|)VvPd8Zk$3wRh7uDDx_oit zAMf5)io_8C#4r@=66$3jwU# zMyqdF5i3-TKj2@JkFw<$@J`QeZ{<5%`JiuYF16I@+kb2g>_*@2{`yQeY5X`D#+3k8 zWUF~DnbWeToM%zX#*L;)8gQ3`9?mDA1?gdr$*hxfeKcFJNdfv* zckE&CBJ>vifRcc6s5ifLEl6<}$PmKeyP~pU*c%36>$VEx+PPA2ek zPAyl9C;LG&s+rRN?z{mOe6Rm_qTrOp{ODz-Wu5V7dBr$xBSw%<%Nwti#8(D zZQgy&#!$b(tYX#XYICuf*K8CJhvQSRg)oT}w#%2_xq0qKHX8uIXFu~(fB7%{)$NV7 zo&NggzWB_C?_b&8Uhk)azy8<$x6gj|v8Ba4?VIt5?#L9AfnKIIN3jyeQFkI{&sft(l!~GnCT)xVt`ul z+A3`>?lhV@Hrp86-)Jw*zVNjdFPvNW^k*Jzjx^(mgP-~Hf9cTa@BQ#wU)xT5BS~C$ zxAgP)s?|&7l*XzFqLYdjjx4(ulyRpJ2?!t}2oM2-v!Yk62u_RfWR)UbEg8Jh5{o&k zcZ7FAu0iGzvOhJ1A{PCRC?S9tkfK}Cj~*t0V=)SVqVvCY$fS}VQ()+=5L^($`%@{nPFL_kZx&zxnrGdHL+E|LXUC?`uE!!Dk+M%xV%FI>3i$dN}+pFTc6KQ%ViOcF!n z3%AJ9#z$_vPDk7*P>g^rGdZBcf6DZigzZ7+j9s&hw zT4@bSoWmz7)~xL+Z@gAvx!YV7to(%X&ls$ji|(KZmd4%dE37aoG6JDcYkGBqXiZN| zK4PXA3=ETO$pb|vEzRJ~xWr4-vDinG+@Vlg-2bb>pz9Tr^g0+%m-0#`m zcHZCq=$7N!+Tij^|Jqvr+^xa+b^gd7^!(8#0G!@8GTx5nx{c{>^6`5Qn`@r2&Bf+o zJF&1PO%s8O7QI{9R%Lcc{eDqZ)d!A@0xZ7z{=zRlcc0Il@GL?n;1f_qV&+s7gavcP zIAIkq5lCd289)JpW7CMtUACm_ zWGWRE@%bAzSDUL%CC^-^p?NANHP3@Z^>2t7p%?*B@;DwZH!FoxJzpwd;!r$<*vvtA+iP);IICKZprNx^cS|#fS{K zu-8ITPO5BGqBu4YLM16u0c{_y;sd8=A$$CrfABlYw-&$f=RQ9*-Ckc?n?3gUFP?hho4@<_ zmaZ+dP02iQR-r}%@PU<541qzTLZ(>q;#JMtGtj%sj z;s^!GEG$;sa6ox`X8-_6L?V9pTnJ0F7@Yp8!1u9{u|+>BP?JFHnlFLlIu+zQ^((;T(4be6QRvYiII}t$ zl!?6_35~Ejdfe`7ia=WtXAsZMX-%xlhY?WMc!*N~B9K8tKn6`PM$w=&DI;eU3WW*= z^)`$z1<iO^3Y+`3@_ z$TdSo0V4nk)Bu}Vv6fkYgvgPFL0bpI5%7Np1jU)&VvaAuKNIp+>dc2 zUQs{-Rbg}ukccRIBYMkLEL&^64AWZ4EL$tqTDHQLb8B;pD&*(P{#iNS-bYUze)Ig5 z<#TWByXUE-J*u2*Zj?w&M8+r?XD^Dk4I=vJk5+8H`qsj?-d&6g_EPI=tk_WU;{b#I z3i=HR=aU--l$N-uSZeBRQaP#Wg zzWJ%C+0Oidv5i$)UyHL8N5=E}9yr{He(7t!_lGb1@%Ntj>?5_?9n}M-;_qIwUn57*@{lrQjt{V2A|E z9mjYH{0BG3bd3f1xjgwO^r7n6e;$BQQ72hPD0>X7Z5n<`i9WJ}poq&NA$AW!=pzlK zfJg&{TR*t8002)M@2V(}vkli0EY+av_%nQb)Ss2$o?-qy6?p7$Y3YmS|8Yqt@Y@J>cT-!rpOd(A=i+& zbA*f$w#-6A%mPmCgihTBgv642l9h@Z*B4JXmWsE;wH>)4{*6$LK7jkOd>-0ch zjs6(VD1r)sN8LFn!YqhLYQ!aT8gjQyS+Q398Jv;4^9w5MB~*u+fn9c!cf1RAkD|HY zL>20_-BNL_>NCQzQ>sL&vQH;f(K0Gst4y)my*a_)V>g}@f=`P4?=rS%_>DCo!d+E> z0nu-Yj@GTJLb$ud39r&Qo&y4bLGq$-pR(1 z=_d(vh$ypWDG&O#-?M3-ZMH|tacynzJ3qSl+Jfi5KKH46KKI=Hk3Dqkk%x{RJ30qL z0AjrvvzEW}^1ICPotNIdd}Zm4w=Tba_R=4}-*er|iE;C(2h+sAYX$K_T}|H0Q_6yO)#^RpbJ5 zVYJH<2uq=km!W>65>;MdbNNswcg~0+Fc5)&5?etvPQ2~Y0YzPwxhq+iNdeTd3QORD zv1MguE6kRa#fooNITvxWAS=qiAiy<~K~^9*JUeyrz}&g(w^lB_weOy%z?(!8kU?@? z2O^>p{Hb|X0MJe%hr)F3F3ra6$y8PGhRrn3Bu_n`%4s?BOgXRWHvnL3`P$;evm3WA z1HkC`%zY0&_qm_>jXWLf}&wwZu2QKRYQ5ekqr zl0qXKM}UYU?btG~h2D;BjW!>C;?&N1e);^ujT_hI=I7@2Pj<(kpTbTrTkYdL_Z=A> z{mLKwlW+d$<+tvC_`&I^Zg--kLSOjGZ;p*k{@|r=j5TefP80~D#pzW}<;po=ZF}{J zv`8Ti28So23P_}dAzZ*JJRYGzG#R|J9A`vp$A4)gA1p2c*8!_Mhv9(~n~2EQZM%95 zDQsL|uVJ^FfQZv(0kAjO7MFUc7)*8w$Wv7|wzdJF(~NySpr5CNWmqPs{aHW0^z^|m zJ$-O#t^d}AwF}obw|DZ~N*vL|NOJPP=%J~0q`I@6ZEvPo-#UGx-X`DUBL+}GMeWc* z%#l)#29);mMl(vAakCvaThYJ!>ks_9f8oJ%H@4oouzLCC*5-C@St3K-PJCp4_rVjB zrw@<+sS|G%3cm*eqA(E+_BX1d?c~|}CcgX5+U1q4x!G>3)r^cGV{ESIqml|Q0v`lj zNscboGX{etdI!TQJ%{w^QJTFI>X5uB{3 zY#v0NN{NM84LNcm*3#8?2L-e1QvAeT&=I*EOpA3EQq_j-&P|67FTOp^Zwr(ItA{Xp zhd$Wdv{lG^#aObyYq^Aq3T&<(YdrK=;CSY^Tk-D~Ab}zngHXhoc+OMp-bO?h`BV{L z_zUFrJX2^id@&}3R5;r>Ytf*XLQy6#U;u;xA}v{zwq>L{e{m=Pmcmt7UNJ}JJwqJC^nz} z%mbkCQ=fa#UEk&9%@@A=&bMBC`^E3Q_xjn(=YO>JkAAfF{L$u9$H(uV@7@md(99i7 zK3J@DLB3lXk3G((0EInqs{4DdtiO5j)|VbVZV2PZp!1K65P+4Hfk06}EGvLuOqz>A zt{5Q$GmEIYSs+D92EnKb72%qoA_77|exyRhtxRQ_Q2B0A;K<7DG2RmY@H88B5JToi z%(!!h|uRM z{TUk%#Jf_IGz4yFg-pe{=9$<`vsCg_@&InQexvZib^XT5^;_pWz5xLDJ@EW9pZm2a ziu=7m5=9%ETehD)`Rp^A%k>M($Bv(#m~5`CF3-%)ibjizTW>Edf~5odk4?{xFqkyu zTMJtzY7!cVSeUH>B8#w1bHs=UO{AP@)QAbVxEfPQ*-NQPE+eRCtPh`mLm7iweBAAQEFD-|TB_)uT0OBA)UyaK8{JU2T~rWASR^D?Tgw#)%<&1G zM~Jd;80ZTbWb0ZH@k-q=CoWlgS}eeV16*hB=-%zYp1Wtg5~`A{b~P7R>oat(qqd^k z(mf0NsJe5A2n$=w8i^3OL@HFstwk(+4nm{mypT(PL_kY7E2OH*qNuzBIWyoDw>$fA zI1NMhYO#v-tyLqe(sjI8IspeLRzqk3YGTp~0OQYf4Hj1Jn;h=zI4BGlfzL54Mns5! z#v@_Q*~%pmxl~R-1gn%(@DShe_zlp>I=~y413PG%IdV>8>hNkTk`G*@vJi=n6A>Sm z%8Z0AAidHvRdu&=>C#mI7;h&5dqw$iK-hofKu4Z&I^eW#vy|CN-JBi%#T&PN=j z5>Nr7RXa{UPCx?+KHMhM{#cD1t2Y@{kWa0$E8azztruoj#Nl3<=EU2T)7l$MhX>M1 z-66uBJK-$Y(GaRDp9IjkRhb|NWM3a(!JH8h5vS__v3YK-3fp{;v$feE=Rt0B$!%_J zp5-dm=GNu{6{?1a0GI3j^nra2?znmWwL>SKERQ21L~}v|0M(I^iK9m!c;KPWv_~fhIF90-wUveC zg?6L;{1={4$-n>YAD+JVbay;HdSq&Hy1TK?OE>!&MP6MBO^)f zl*|lDAPit2j@@}Dg47*P?wvZcxtv|Qy0W;ie&FEL*mOr2dRzJU#MH0<=C6PEo8P-} zvYE_AN%RgB>DFDzyBvA4P;WcBeA-Gb|-aWL@0q z164GJm<0@?4RIjqBw;~jwYvhSH@n_A6roT&`^+?torqR$c~J;{{|b?~Th41Vt4stH z05EE**o8BwVBg1tQMAWAop6jm6@%}D0$g8O1%Qc>hMNo^1x{04DEG-D({5U5CC@k= z~V}NuCSoI&iX!+RHi(G4 zY}`e#g^6)c97|!9SOmZc+rs8erPhl206}LrssO-YRBu$R7pj!}_j0^mT?xfsSH;X& z1rCSWl7J{+nfteQB~rO%hE3uF*BPt!kGGXAgg-=BYaoGH^4!`aB0)g_Rv*Z$faoX@ zrHVlc&nwq_vR_Y1d1;B%jcv3nq9eyWs9XgA>O|Z zLh^Zl4l~A(Mn(dHPK*K~U}(<{R@6&X9S^k#@V;w14|mbnN|s65=PYGwhq+a*p$edIaJmHm?_63UhcQrr z+BzFT&24Ixte|BPFv?aTQzSv7Xhfo%RZxKhDUJ*xDF`VFlNcumbp?h9peT@5=9*d? zF6iC^iW;AgL%SU^jKdc1j?bZcS=qH5A{8x%s9<4-&9%2RR3Qp#)Bu8I1yqVu2(8;w z7=VZr02oDqed46+I#k7qI69xTd9Er}m^saDYHe;MW6PGUh_%*Q7VDfn!$wEW7^hOU zJ$UTEx$C!<-~RsG{?l>0i&~KiR(41<|5`U5yO~t#lp7#i12+mjRncs?u)mNm?%v4F zWRmn{P|X^fdmM;xpu)h(0-TO?no+~-q$b2%?Nm zC-+Y7U%uJ9bbirX#-k_pP0lodH66fbe)>~C`u>O4uV2l$n`L>Hk)-90OEeKA0;4M!bCdevLW%@uqml}+dT!c`-inD69Oe!D_^^_TBfQRhJlvdQLsEV7k zf~XBuqRjG9w19?zn2esc{Z@&K)mf4zOdd0fYkER=3uOqbXz{V zbN_hjWA+|SA}1`&!qzib8!dq3lWsgTSV1V(BkKG+Jv-jI_h9?oYdaggeBT%%p|zsu zqP~mZ%fh!*E0NUh+;v_7u1j^f1Aes?KT?zk5ikOZkc=@=)QllAU=l!sNMMXt+Io9Z zEyl_Y&KB|Zi|RFi)n>q-Q-t1y8G~KCbG{O0amP%>V^ntma=9#gYus)S}GnltW(TC~8q75GCWhYBcx(RJ9CFoykri%1(_6HA*)DSA74!|+!`-0kBvzs2%!>{YX? z1*>1N&}Kljq0C@Z2Ee9=wuK^Sgl+ow6GYg}rT5G{XA~|5hU<3#t zQHq?8x~f=agBTfN5wKz!1_@E=V^qSSqX>}nuBT6+3gTTYRm)f`_h(1J!I~u%3p0Q) zv+p__dd<}&^2!BaQWZc6V2C63TEfU0a71}0C}&4(7w3$N78Dr-z^OLe;c0WptySeb z&GJ0W@+{BNEVp@X(=5&MTv;_2%Z$OIT~w)Xun)D;vHi2h_s?8dSi14f%ZDHRg3DbR zx_^A*K~aTj1^+tq9`$C!;Z1=_6|xa4;tiXX$_<+fM3cN)mV#-xMZ*4j;xzKR`d&rj_;^vL~ZlE{Ag*+)Cwq@T+2(oU~$v()aJ zAM1`rKphjAe#$GW{hfi$0he#CW&^Mp8$%RRyV>ZBb`WKxo3uvE==kK$7Hw~2S(aY- z@ZF__g}Bwt(sXQUsyi{&YBo2ww+z_9R&G_-2C{kX`q}rECa101`xM zH5#eS2ZOZPZh~aJ?X=Nu9X`+*n>_O2yB9uu=iRyax%q>0BO}H#JoWsk_ulNj^UgWp zs1eIjx(T!0PyOt#eDxpw-K@8r5QXEfIP7#c=b{+H5aBTAj>>5bNaZLoh=Nr!`eL52 z+prxA`ofSfL%r(UC3X1h-5P01iknvjlvGij2CKkGNdQ2UoP9P>y=X#lhIbsyR-F&G zpo%I8Gb#hKf)#ZZcDZIA$ClEDzWDfw(Ul9JLmcdH(|(?&*5)F-N6T?(dHchK%_}Rt zcNWt-JnC3Nr{`J+CfkRmI`iZ0J&ht<4aH8R?#;a`Kk+BfcsOPGP?ocYHdP4>1u&`arc~HSIp^FE=YdYfX2C|91hOi4 zdn>Pl-y<=^0aR7HLbn^0CYgJ~HTeAVPrdNM_b)8&9G-3|LRp##1cArhCOGh~ms#>m z@{IG0+17UUt%3b-UR(r#zx#jvtq1NsRO&Yhh@&J~;T~^!^@i5^KZGjLxbiz8sQ&i< z^z*;{Kl$8$^tb=%-~S)J^~dk8pSyKw2=s7`2U{5oED@6NzmO0kL<4sf&uXZUC=l(j zb_4*|7B?*m#x6LkxJMXJNyV~|APNXuYZ)n4Q~|KcAR=TSj*t^YKx3TD1MAW&WQHg~ z42h%QBZSfH<(~nBXtdC201DKxc&FZjYPbNZR!20VK^h@Gx7SnSpu(dauHIcjAQukQ z3LvOPK!HUFRjM;70U-flA@`G*Mbu>qyULlJpB0O^vd0a69OG44tPR#$pw1ay)rWVK zuTlXKo_XNZg@vVC=U?kiADB3BN=2ZMwHC0uDn*Lm8V}rqL4Q{^8^f}V!j_7y$1y7X zM!}@oO{U8F+iN$@tz3O?u)PidvorIj&piI==f1qPzSZv!Bp)DPZ!pNRO;OwFjEYU8 zC_Z)i_~dM3djE7B!S;YxmeM>!0Gyc{otR9V|B?da*2YOAiJE9(axTsW(A(;5u5E2D zZ}$6xW~13^H=~4Gjc9#!abtCT{=lK`$mp3fCmw(D%-Y)8m21~lR#&2agN3asCJ8mN zq!9~fZ)+=wJ6A4jT)X({%5=;$ zJ-V{Ab@Bacw{C3CADW%rKbbV(;m7ukj5S_+_1ujsOLK=0-&)(*H{E>jnJ;|ztH0M& zB4C3`<$&0ae+__&Yctf}lz<>g5#9kaEr(?qOyI$F%fNotR|Qk62j!6Hu5f<#TN4#n zYk_+pA{jz5zLjuvV?YZ+%;cd|0RljhP~NG6RzOT)0uo{G2o6$~x4;S{##2+-j$wLIf&VAIsvjD=-)zwx`TT)VPan*EJ7W5*HdBqp^ou608_1&t8jK4a@ACA7dY_ zUew`1^d2RMRx0`WovC|`vEfcnr}(xAimDyZ`9D}@YuOlQP-Dc|?~@oZSU0p61yQxa zmZiwJfWk=ARnC>O-ixVK16fp^)~xW@uI9Syu8tim1)>hg#e>^l8EmA=UNY`Rn_=|t zJ)D6mAt+pjk9Jcrt4+tQdes@_N{NTKxu^gpMhK1XnvEg>kpj73+9KExh*U*c5J82Q zb0h>Z|Z{ORBR&CgdY48q%nbyk(9+5{(TsWdm0f92Lnp-aL5 z!3EpI(9gi%`uBhBul%Ji{9AwR@BiU9-uRFI;Obxd!oI4~qd;i}eM<(Th)hJr5Y-*= z{?%V%Pme5}sjK(n&pkT!2d{0seD?CsJaHPFO8~(@KEIMxP(ef@12?hj%@rtO zKt#hTD(p#{nyB%cC=p61AVdX?H-RQh$R)i30vG}lvO&d_3#x!bAXs!AC0`cZZAB`s z5FkIoRAB4KQX(M~!?hmHG+ouh7a<`Igq=NAJ!(Kpcilif0iP3Fc+G)7=`FA-a)>7u zcCkpgGH?z6z--xCVX!&p)=FkGt9fp1ZgZ>7EWx>;1ySqJkuGlUQ_%75$o!GAl`Vrme@0!h-4QRt4DsePk1 zg~1N@cX~F7#jOS8gqgbh;BW&?=0HQr*zq8YE|Dx-tInmxw;Msr z?Hi~9<$xhY$4?0Ea7@vn>#!NK4<0Rl-q+6F_@j4M0ifH6Cfkkic07_qWscddo85}` zvV1$W8-r|PkiWB-zO#58;QG(pJNeA1*^#8nT&}Hf#cX4RQ3`?RdKzm1LE8?tpfTHkf115GSu7@%=zzQARdRe9JG2b zp;w+3_P@BNjJv|V(rU{AHMPB#X9^Cpkpk1F?({j_P-vMFa;J7Es=%jy_+~BV)*A9- zVVAj0tRP%^?1l%m;y)^?b*XMIrF&hqw-|E6z+F=kEkDIwgV@@F4B=N;3p)?0m!gQ& z0{0CUNh|!V+c)OBiAKALbU+GNNXLty13>^1K;!Fs+{Kmhj1n%YeCO`z-)|8iCjtQ) zy4C%9bA7on0OSG(ft+$(K?zI*HEg7Kfjl%XQ3NG)rVs_;>hAmyKiv_V3)@=Du{E%c zTlJs*`@aTMK{Ke#m#plso?H*Cj;UHlJPPSq!6S06$OwoKQ9Vt!)P5YCpZu5q!{7Li z{`NopKmR{|_wRh;<}W?C^9v8p)fx}hJeNV=MlnS(#W9gV^gZBR(t7LxKo)S}zVRl& z#+6$e<++NL4N+K}nVqUyi;7l2tsnvzQH|K8ejzI|F#|e}>q*%bjXpEvFQKCtgob54gk$& zLI{>wMEB23f92PHwb7nwHgsfMEGUB6+RO$$08Db*8=Z(6%>)1lD7V5E;y40@m_R^m z!vc_PQ92N5My+l#HfUuzC$U+%xpd&j!+7=W#pRnlGf;$nzqfF0V`S{c=;XxQ{K!KO zA45Z{D{E`Z+l$v0BOuUZFxcQMWf7vNJvx5t>dmVc7vFm0y)*YdaQx)a?TvL_+?g1Q z#%G$R?mh9wE9djU&A9^;BV+OY`R?5QksDW+E`4xgdS-U!K=bh7QABw2)f*dEw+9{N z{>DSk{9M1ce(l1gq+xu7Cst{_7;0$T?FZ$%1p%KVcpF9#K$%pjwJ%ruk=pTEx5O%I zB2)3K!EnPnyu*9YiE80kE2<)19)?umQ%h(z>KmP9@mbW)7Sj3*9}#f2at=ljb|Q5w zk8cI>Q$!eI;^QZKtEf{}*qrms<{7gUt;;!F%Rz{T##{5F?E>kq-f2Tyy&)WHCS%R` zz*tK`mwV~rR=P3B|LEP-KYDld7ayK^`ov5U4Ob&1r04bt$@V90J4);$jZyghcJ@bN_?zU#oEN=GM7BF=If88U`M)H-)oQ^!_yRmrHRqUHALlV&7jJC%iwT7}2}dG{|Di&o502oX)y5Uy&M?shQarTQ2wb6v=w z2#`@%z`4vY<7p(ZljaDCUTzUPQhaPy�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