From 7227eb9420fbcf8401da58bbd0905736c1f05670 Mon Sep 17 00:00:00 2001 From: KD Date: Fri, 28 Mar 2025 19:00:05 -0400 Subject: [PATCH] Removing dotnet files --- CONTRIBUTING.md | 67 --- Icarus.sln | 22 - .../Authorization/Handlers/HasScopeHandler.cs | 26 - Icarus/Authorization/HasScopeRequirement.cs | 18 - Icarus/Certs/Signing.cs | 78 --- Icarus/Controllers/Managers/AlbumManager.cs | 146 ------ Icarus/Controllers/Managers/ArtistManager.cs | 128 ----- Icarus/Controllers/Managers/BaseManagers.cs | 13 - .../Controllers/Managers/CoverArtManager.cs | 182 ------- .../Controllers/Managers/DirectoryManager.cs | 207 -------- Icarus/Controllers/Managers/GenreManager.cs | 128 ----- Icarus/Controllers/Managers/SongManager.cs | 479 ------------------ Icarus/Controllers/Managers/TokenManager.cs | 308 ----------- .../Utilities/MetadataRetriever.cs | 371 -------------- .../Utilities/PasswordEncryption.cs | 89 ---- .../Controllers/Utilities/SongCompression.cs | 126 ----- .../Controllers/v1/AccessLevelController.cs | 131 ----- Icarus/Controllers/v1/AlbumController.cs | 65 --- Icarus/Controllers/v1/ArtistController.cs | 67 --- Icarus/Controllers/v1/BaseController.cs | 37 -- Icarus/Controllers/v1/CoverArtController.cs | 92 ---- Icarus/Controllers/v1/GenreController.cs | 71 --- Icarus/Controllers/v1/LoginController.cs | 96 ---- Icarus/Controllers/v1/RegisterController.cs | 75 --- .../v1/SongCompressedDataControllers.cs | 71 --- Icarus/Controllers/v1/SongController.cs | 109 ---- Icarus/Controllers/v1/SongDataController.cs | 231 --------- Icarus/Controllers/v1/SongStreamController.cs | 76 --- .../Database/Contexts/AccessLevelContext.cs | 36 -- Icarus/Database/Contexts/AlbumContext.cs | 33 -- Icarus/Database/Contexts/ArtistContext.cs | 34 -- Icarus/Database/Contexts/CoverArtContext.cs | 34 -- Icarus/Database/Contexts/GenreContext.cs | 36 -- Icarus/Database/Contexts/SongContext.cs | 53 -- Icarus/Database/Contexts/UserContext.cs | 42 -- Icarus/Icarus.csproj | 46 -- Icarus/Images/Configuration/api_cred.png | Bin 109994 -> 0 bytes Icarus/Images/Configuration/authorize_app.png | Bin 53584 -> 0 bytes Icarus/Images/Configuration/configure_api.png | Bin 125496 -> 0 bytes Icarus/Images/Configuration/create_api.png | Bin 75908 -> 0 bytes Icarus/Images/Configuration/create_m2m.png | Bin 88309 -> 0 bytes .../Images/Configuration/enter_api_info.png | Bin 50137 -> 0 bytes Icarus/Images/Configuration/permissions.png | Bin 104692 -> 0 bytes Icarus/Images/Stock/CoverArt.png | Bin 24947 -> 0 bytes Icarus/Program.cs | 110 ---- Icarus/Properties/launchSettings.json | 31 -- Icarus/Types/CoverArtTypes.cs | 9 - Icarus/Types/DirectoryTypes.cs | 9 - Icarus/appsettings.Development.json | 28 - Icarus/appsettings.json | 28 - Icarus/nlog.config | 33 -- LICENSE | 21 - Migrations/.empty | 0 Models/AccessLevel.cs | 51 -- Models/Album.cs | 23 - Models/Artist.cs | 19 - Models/BaseResult.cs | 9 - Models/Constants/DirectoryPaths.cs | 9 - Models/Constants/FileExtensions.cs | 22 - Models/CoverArt.cs | 50 -- Models/CreateFile.cs | 11 - Models/Genre.cs | 19 - Models/LoginResult.cs | 19 - Models/Models.csproj | 19 - Models/RegisterResult.cs | 13 - Models/Song.cs | 177 ------- Models/SongData.cs | 10 - Models/SongResult.cs | 13 - Models/Token.cs | 47 -- Models/User.cs | 54 -- README.md | 155 ------ Scripts/Migrations/Linux/AddUpdate.sh | 33 -- Scripts/MySQL/create_database.sql | 78 --- Scripts/MySQL/delete_all.sql | 7 - Scripts/MySQL/display_songs.sql | 1 - Scripts/MySQL/drop_and_create_database.sql | 3 - Scripts/MySQL/drop_database.sql | 1 - Scripts/MySQL/tables/ArtistContext.sql | 19 - Scripts/convert_wav_to_flac.zsh | 137 ----- 79 files changed, 5091 deletions(-) delete mode 100644 CONTRIBUTING.md delete mode 100644 Icarus.sln delete mode 100644 Icarus/Authorization/Handlers/HasScopeHandler.cs delete mode 100644 Icarus/Authorization/HasScopeRequirement.cs delete mode 100644 Icarus/Certs/Signing.cs delete mode 100644 Icarus/Controllers/Managers/AlbumManager.cs delete mode 100644 Icarus/Controllers/Managers/ArtistManager.cs delete mode 100644 Icarus/Controllers/Managers/BaseManagers.cs delete mode 100644 Icarus/Controllers/Managers/CoverArtManager.cs delete mode 100644 Icarus/Controllers/Managers/DirectoryManager.cs delete mode 100644 Icarus/Controllers/Managers/GenreManager.cs delete mode 100644 Icarus/Controllers/Managers/SongManager.cs delete mode 100644 Icarus/Controllers/Managers/TokenManager.cs delete mode 100644 Icarus/Controllers/Utilities/MetadataRetriever.cs delete mode 100644 Icarus/Controllers/Utilities/PasswordEncryption.cs delete mode 100644 Icarus/Controllers/Utilities/SongCompression.cs delete mode 100644 Icarus/Controllers/v1/AccessLevelController.cs delete mode 100644 Icarus/Controllers/v1/AlbumController.cs delete mode 100644 Icarus/Controllers/v1/ArtistController.cs delete mode 100644 Icarus/Controllers/v1/BaseController.cs delete mode 100644 Icarus/Controllers/v1/CoverArtController.cs delete mode 100644 Icarus/Controllers/v1/GenreController.cs delete mode 100644 Icarus/Controllers/v1/LoginController.cs delete mode 100644 Icarus/Controllers/v1/RegisterController.cs delete mode 100644 Icarus/Controllers/v1/SongCompressedDataControllers.cs delete mode 100644 Icarus/Controllers/v1/SongController.cs delete mode 100644 Icarus/Controllers/v1/SongDataController.cs delete mode 100644 Icarus/Controllers/v1/SongStreamController.cs delete mode 100644 Icarus/Database/Contexts/AccessLevelContext.cs delete mode 100644 Icarus/Database/Contexts/AlbumContext.cs delete mode 100644 Icarus/Database/Contexts/ArtistContext.cs delete mode 100644 Icarus/Database/Contexts/CoverArtContext.cs delete mode 100644 Icarus/Database/Contexts/GenreContext.cs delete mode 100644 Icarus/Database/Contexts/SongContext.cs delete mode 100644 Icarus/Database/Contexts/UserContext.cs delete mode 100644 Icarus/Icarus.csproj delete mode 100644 Icarus/Images/Configuration/api_cred.png delete mode 100644 Icarus/Images/Configuration/authorize_app.png delete mode 100644 Icarus/Images/Configuration/configure_api.png delete mode 100644 Icarus/Images/Configuration/create_api.png delete mode 100644 Icarus/Images/Configuration/create_m2m.png delete mode 100644 Icarus/Images/Configuration/enter_api_info.png delete mode 100644 Icarus/Images/Configuration/permissions.png delete mode 100644 Icarus/Images/Stock/CoverArt.png delete mode 100644 Icarus/Program.cs delete mode 100644 Icarus/Properties/launchSettings.json delete mode 100644 Icarus/Types/CoverArtTypes.cs delete mode 100644 Icarus/Types/DirectoryTypes.cs delete mode 100644 Icarus/appsettings.Development.json delete mode 100644 Icarus/appsettings.json delete mode 100644 Icarus/nlog.config delete mode 100644 LICENSE delete mode 100644 Migrations/.empty delete mode 100644 Models/AccessLevel.cs delete mode 100644 Models/Album.cs delete mode 100644 Models/Artist.cs delete mode 100644 Models/BaseResult.cs delete mode 100644 Models/Constants/DirectoryPaths.cs delete mode 100644 Models/Constants/FileExtensions.cs delete mode 100644 Models/CoverArt.cs delete mode 100644 Models/CreateFile.cs delete mode 100644 Models/Genre.cs delete mode 100644 Models/LoginResult.cs delete mode 100644 Models/Models.csproj delete mode 100644 Models/RegisterResult.cs delete mode 100644 Models/Song.cs delete mode 100644 Models/SongData.cs delete mode 100644 Models/SongResult.cs delete mode 100644 Models/Token.cs delete mode 100644 Models/User.cs delete mode 100644 README.md delete mode 100755 Scripts/Migrations/Linux/AddUpdate.sh delete mode 100644 Scripts/MySQL/create_database.sql delete mode 100644 Scripts/MySQL/delete_all.sql delete mode 100644 Scripts/MySQL/display_songs.sql delete mode 100644 Scripts/MySQL/drop_and_create_database.sql delete mode 100644 Scripts/MySQL/drop_database.sql delete mode 100644 Scripts/MySQL/tables/ArtistContext.sql delete mode 100755 Scripts/convert_wav_to_flac.zsh diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 4e5592e..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,67 +0,0 @@ -# Contributing - -When contributing to this repository, please first discuss the change you wish to make via issue, -email, or any other method with the owners of this repository before making a change. - -Please note the project has a code of conduct, please follow it in all your interactions with the project. - -## Code of Conduct - -### Pledge - -In the interest of fostering an open and welcoming environment, I as -aintainers pledge to making participation in this project and -this community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -### Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -### Maintainers Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## How You Can Contribute - -The project is always looking for people to help in anyway they can. The following would be greatly appreciated: - -* Developers -* Graphic Designers -* Documenters - -### Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/Icarus.sln b/Icarus.sln deleted file mode 100644 index 6a38760..0000000 --- a/Icarus.sln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Icarus", "Icarus\Icarus.csproj", "{EC7ADFAA-9CCA-40E4-B035-DC2ADF117CB4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EC7ADFAA-9CCA-40E4-B035-DC2ADF117CB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EC7ADFAA-9CCA-40E4-B035-DC2ADF117CB4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EC7ADFAA-9CCA-40E4-B035-DC2ADF117CB4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EC7ADFAA-9CCA-40E4-B035-DC2ADF117CB4}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/Icarus/Authorization/Handlers/HasScopeHandler.cs b/Icarus/Authorization/Handlers/HasScopeHandler.cs deleted file mode 100644 index 3e4e06f..0000000 --- a/Icarus/Authorization/Handlers/HasScopeHandler.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Microsoft.AspNetCore.Authorization; - -using Icarus.Authorization; - -namespace Icarus.Authorization.Handlers; - -public class HasScopeHandler : AuthorizationHandler -{ - protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, HasScopeRequirement requirement) - { - if (!context.User.HasClaim(c => c.Type == "scope" && c.Issuer == requirement.Issuer)) - { - return Task.CompletedTask; - } - - var scopes = context.User.FindFirst(c => - c.Type == "scope" && c.Issuer == requirement.Issuer)!.Value.Split(' '); - - if (scopes.Any(s => s == requirement.Scope)) - { - context.Succeed(requirement); - } - - return Task.CompletedTask; - } -} diff --git a/Icarus/Authorization/HasScopeRequirement.cs b/Icarus/Authorization/HasScopeRequirement.cs deleted file mode 100644 index f4a544f..0000000 --- a/Icarus/Authorization/HasScopeRequirement.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; - -using Microsoft.AspNetCore.Authorization; - -namespace Icarus.Authorization; - -public class HasScopeRequirement : IAuthorizationRequirement -{ - public string Issuer { get; } - public string Scope { get; } - - - public HasScopeRequirement(string scope, string issuer) - { - Scope = scope ?? throw new ArgumentNullException(nameof(scope)); - Issuer = issuer ?? throw new ArgumentNullException(nameof(issuer)); - } -} diff --git a/Icarus/Certs/Signing.cs b/Icarus/Certs/Signing.cs deleted file mode 100644 index 9185892..0000000 --- a/Icarus/Certs/Signing.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; - -using Microsoft.IdentityModel.Tokens; -using Org.BouncyCastle.Crypto.Parameters; -using Org.BouncyCastle.OpenSsl; - - -namespace Icarus.Certs; - -public class SigningIssuerCertificate : IDisposable -{ - private readonly System.Security.Cryptography.RSACryptoServiceProvider _rsa; - - public SigningIssuerCertificate() - { - _rsa = new System.Security.Cryptography.RSACryptoServiceProvider(); - } - - public RsaSecurityKey GetIssuerSigningKey(string publicKeyPath) - { - var file = publicKeyPath; - var publicKey = System.IO.File.ReadAllText(file); - - using (var reader = System.IO.File.OpenText(file)) - { - var pem = new PemReader(reader); - var o = (RsaKeyParameters)pem.ReadObject(); - var parameters = new System.Security.Cryptography.RSAParameters(); - parameters.Modulus = o.Modulus.ToByteArray(); - parameters.Exponent = o.Exponent.ToByteArray(); - _rsa.ImportParameters(parameters); - } - - return new RsaSecurityKey(_rsa); - } - - - public void Dispose() - { - _rsa?.Dispose(); - } -} - - -public class SigningAudienceCertificate : IDisposable -{ - private readonly System.Security.Cryptography.RSACryptoServiceProvider _rsa; - - public SigningAudienceCertificate() - { - _rsa = new System.Security.Cryptography.RSACryptoServiceProvider(); - } - - public SigningCredentials GetAudienceSigningKey(string keyPath) - { - var file = keyPath; - var publicKey = System.IO.File.ReadAllText(file); - - using (var reader = System.IO.File.OpenText(file)) - { - var pem = new PemReader(reader); - var o = (RsaKeyParameters)pem.ReadObject(); - var parameters = new System.Security.Cryptography.RSAParameters(); - parameters.Modulus = o.Modulus.ToByteArray(); - parameters.Exponent = o.Exponent.ToByteArray(); - _rsa.ImportParameters(parameters); - } - - return new SigningCredentials( - key: new RsaSecurityKey(_rsa), - algorithm: SecurityAlgorithms.RsaSha256); - } - - public void Dispose() - { - _rsa?.Dispose(); - } -} diff --git a/Icarus/Controllers/Managers/AlbumManager.cs b/Icarus/Controllers/Managers/AlbumManager.cs deleted file mode 100644 index 8b80a93..0000000 --- a/Icarus/Controllers/Managers/AlbumManager.cs +++ /dev/null @@ -1,146 +0,0 @@ -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.Managers; - -public class AlbumManager : BaseManager -{ - #region Fields - private AlbumContext? _albumContext; - #endregion - - - #region Properties - #endregion - - - #region Constructors - public AlbumManager(IConfiguration config) - { - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - _albumContext = new AlbumContext(_connectionString!); - } - #endregion - - - #region Methods - public void SaveAlbumToDatabase(ref Song song) - { - _logger.Info("Starting process to save the album record of the song to the database"); - - var album = new Album(); - - album.Title = song.AlbumTitle; - album.AlbumArtist = song.Artist; - album.Year = song.Year!.Value; - var albumTitle = song.AlbumTitle; - var albumArtist = song.Artist; - - var albumRetrieved = _albumContext!.Albums!.FirstOrDefault(alb => alb.Title!.Equals(albumTitle) && alb.AlbumArtist!.Equals(albumArtist)); - - if (albumRetrieved == null) - { - album.SongCount = 1; - _albumContext.Add(album); - _albumContext.SaveChanges(); - - Console.WriteLine($"Album Id {album.Id}"); - } - else - { - album.Id = albumRetrieved.Id; - } - - song.AlbumId = album.Id; - } - - - public void DeleteAlbumFromDatabase(Song song) - { - var album = _albumContext!.Albums!.FirstOrDefault(alb => alb.Title!.Equals(song.AlbumTitle)); - - if (album == null) - { - _logger.Info("Cannot delete the album record because it does not exist"); - return; - } - - DeleteAlbumFromDb(album); - } - - - public Album UpdateAlbumInDatabase(Song oldSong, Song newSong) - { - var albumRecord = _albumContext!.Albums!.FirstOrDefault(alb => alb.Title!.Equals(oldSong.AlbumTitle)); - var oldAlbumTitle = oldSong.AlbumTitle; - var oldAlbumArtist = oldSong.Artist; - var newAlbumTitle = newSong.AlbumTitle; - var newAlbumArtist = newSong.Artist; - - var info = string.Empty; - - if (string.IsNullOrEmpty(newAlbumArtist)) - newAlbumArtist = oldAlbumArtist; - if (string.IsNullOrEmpty(newAlbumTitle)) - newAlbumTitle = oldAlbumTitle; - - if ((string.IsNullOrEmpty(newAlbumTitle) && string.IsNullOrEmpty(newAlbumArtist) || - oldAlbumTitle!.Equals(newAlbumTitle) && oldAlbumArtist!.Equals(newAlbumArtist))) - { - _logger.Info("No change to the song's album"); - return albumRecord!; - } - - info = "Change to the song's album"; - _logger.Info(info); - - var existingAlbumRecord = _albumContext.Albums!.FirstOrDefault(alb => alb.Title!.Equals(oldSong.AlbumTitle)); - if (existingAlbumRecord == null) - { - _logger.Info("Creating new album record"); - - var newAlbumRecord = new Album - { - Title = newAlbumTitle, - AlbumArtist = newAlbumArtist, - Year = newSong.Year!.Value - }; - - _albumContext.Add(newAlbumRecord); - _albumContext.SaveChanges(); - - return newAlbumRecord; - } - else - { - _logger.Info("Updating existing album record"); - - existingAlbumRecord = _albumContext.Albums!.FirstOrDefault(alb => alb.Title!.Equals(newSong.AlbumTitle)); - existingAlbumRecord!.AlbumArtist = newAlbumArtist; - - _albumContext.Update(existingAlbumRecord); - _albumContext.SaveChanges(); - - return existingAlbumRecord; - } - } - - private void DeleteAlbumFromDb(Album album) - { - if (SongsInAlbum(album) <= 1) - { - _albumContext!.Remove(album); - _albumContext.SaveChanges(); - } - } - - private int SongsInAlbum(Album album) - { - var sngContext = new SongContext(_connectionString!); - var songs = sngContext!.Songs!.Where(sng => sng.AlbumId == album.Id).ToList(); - - return songs.Count; - } - #endregion -} diff --git a/Icarus/Controllers/Managers/ArtistManager.cs b/Icarus/Controllers/Managers/ArtistManager.cs deleted file mode 100644 index 84c5a3d..0000000 --- a/Icarus/Controllers/Managers/ArtistManager.cs +++ /dev/null @@ -1,128 +0,0 @@ -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.Managers; - -public class ArtistManager : BaseManager -{ - #region Fields - private ArtistContext? _artistContext; - #endregion - - - #region Properties - #endregion - - - #region Constructors - public ArtistManager(IConfiguration config) - { - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - _artistContext = new ArtistContext(_connectionString!); - } - #endregion - - - #region Methods - public void SaveArtistToDatabase(ref Song song) - { - _logger.Info("Starting process to save the artist record of the song to the database"); - - var artist = new Artist - { - Name = song.Artist, - SongCount = 1 - }; - - var artistRetrieved = _artistContext!.Artists.FirstOrDefault(art => art.Name!.Equals(artist.Name)); - - if (artistRetrieved == null) - { - artist.SongCount = 1; - _artistContext.Add(artist); - _artistContext.SaveChanges(); - } - else - { - artist.Id = artistRetrieved.Id; - } - - song.ArtistId = artist.Id; - } - - public Artist UpdateArtistInDatabase(Song oldSongRecord, Song newSongRecord) - { - var oldArtistRecord = _artistContext!.Artists.FirstOrDefault(art => art.Name!.Equals(oldSongRecord.AlbumTitle)); - var oldArtistName = oldArtistRecord!.Name; - var newArtistName = newSongRecord.Artist; - - if (string.IsNullOrEmpty(newArtistName) || oldArtistName!.Equals(newArtistName)) - { - _logger.Info("No change to the song's Artist"); - return oldArtistRecord; - } - - _logger.Info("Change to the song's record found"); - - if (oldArtistRecord.SongCount <= 1) - { - _logger.Info("Deleting artist record that no longer has any songs"); - - _artistContext.Remove(oldArtistRecord); - _artistContext.SaveChanges(); - } - - if (!(_artistContext.Artists.FirstOrDefault(art => art.Name!.Equals(oldSongRecord.AlbumTitle)) != null)) - { - _logger.Info("Creating new artist record"); - - var newArtistRecord = new Artist - { - Name = newArtistName - }; - - _artistContext.Add(newArtistRecord); - _artistContext.SaveChanges(); - - return newArtistRecord; - } - else - { - _logger.Info("Updating existing artist record"); - - var existingArtistRecord = _artistContext.Artists.FirstOrDefault(art => art.Name!.Equals(newSongRecord.AlbumTitle)); - - _artistContext.Update(existingArtistRecord!); - _artistContext.SaveChanges(); - - return existingArtistRecord!; - } - } - - public void DeleteArtistFromDatabase(Song song) - { - if (!(_artistContext!.Artists.FirstOrDefault(art => art.Name!.Equals(song.Artist)) != null)) - { - _logger.Info("Cannot delete the artist record because it does not exist"); - return; - } - - var artist = _artistContext.Artists.FirstOrDefault(art => art.Name!.Equals(song.Artist)); - - if (SongsOfArtist(artist!) <= 1) - { - _artistContext!.Remove(artist!); - _artistContext.SaveChanges(); - } - } - - private int SongsOfArtist(Artist artist) - { - var sngContext = new SongContext(_connectionString!); - var songs = sngContext.Songs!.Where(sng => sng.ArtistId == artist.Id).ToList(); - - return songs.Count; - } - #endregion -} diff --git a/Icarus/Controllers/Managers/BaseManagers.cs b/Icarus/Controllers/Managers/BaseManagers.cs deleted file mode 100644 index 5b2ac4f..0000000 --- a/Icarus/Controllers/Managers/BaseManagers.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Microsoft.Extensions.Configuration; -using NLog; - -namespace Icarus.Controllers.Managers; - -public class BaseManager -{ - #region Fields - protected static Logger _logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger(); - protected IConfiguration? _config; - protected string? _connectionString; - #endregion -} diff --git a/Icarus/Controllers/Managers/CoverArtManager.cs b/Icarus/Controllers/Managers/CoverArtManager.cs deleted file mode 100644 index afa9c06..0000000 --- a/Icarus/Controllers/Managers/CoverArtManager.cs +++ /dev/null @@ -1,182 +0,0 @@ -using Icarus.Constants; -using Icarus.Controllers.Utilities; -using Icarus.Database.Contexts; -using Icarus.Models; - -namespace Icarus.Controllers.Managers; - -public class CoverArtManager : BaseManager -{ - #region Fields - private string? _rootCoverArtPath; - private CoverArtContext? _coverArtContext; - private byte[]? _stockCoverArt = null; - private const string? _filename = "CoverArt.png"; - #endregion - - - #region Constructors - public CoverArtManager(IConfiguration config) - { - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - _rootCoverArtPath = _config.GetValue("CoverArtPath"); - Initialize(); - } - #endregion - - - #region Methods - public void SaveCoverArtToDatabase(ref Song song, ref CoverArt coverArt) - { - _logger.Info("Saving cover art record to the database"); - _coverArtContext!.Add(coverArt); - _coverArtContext.SaveChanges(); - - song.CoverArtId = coverArt.Id; - } - public void DeleteCoverArtFromDatabase(CoverArt coverArt) - { - _logger.Info("Attempting to delete cover art from the database"); - - _coverArtContext!.Attach(coverArt); - _coverArtContext.Remove(coverArt); - _coverArtContext.SaveChanges(); - } - public void DeleteCoverArt(CoverArt coverArt) - { - try - { - var stockCoverArtPath = _rootCoverArtPath + _filename; - if (!string.Equals(stockCoverArtPath, coverArt.ImagePath(), - StringComparison.CurrentCultureIgnoreCase)) - { - _logger.Info("Song does not contain the stock cover art"); - File.Delete(coverArt.ImagePath()); - _logger.Info("Cover art deleted from the filesystem"); - } - else - { - _logger.Info("Song contains the stock cover art"); - _logger.Info("Will not delete from from the filesystem"); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - public CoverArt? SaveCoverArt(Song song) - { - try - { - var dirMgr = new DirectoryManager(_rootCoverArtPath!); - var defaultExtension = ".png"; - dirMgr.CreateDirectory(song); - - var coverArt = new CoverArt - { - SongTitle = song.Title! - }; - - var segment = coverArt.GenerateFilename(0); - coverArt.Directory = dirMgr.SongDirectory; - coverArt.Filename = segment + defaultExtension; - - var metaData = new MetadataRetriever(); - var imgBytes = metaData.RetrieveCoverArtBytes(song); - - if (imgBytes != null) - { - _logger.Info("Saving cover art to the filesystem"); - File.WriteAllBytes(coverArt.ImagePath(), imgBytes); - } - else - { - _logger.Info("Song has no cover art, applying stock cover art"); - - var coverArtFilePath = _rootCoverArtPath + $"{segment}{defaultExtension}"; - coverArt.Directory = DirectoryPaths.CoverArtDirectory; - coverArt.Filename = DirectoryPaths.CoverArtFilename; - metaData.UpdateCoverArt(song, coverArt); - coverArt.Directory = this._rootCoverArtPath; - coverArt.Filename = $"{segment}{defaultExtension}"; - File.WriteAllBytes(coverArt.ImagePath(), _stockCoverArt!); - } - - coverArt.Type = metaData.CoverArtFileExtensionType(coverArt); - if (string.IsNullOrEmpty(coverArt.Type)) - { - Console.WriteLine("File type is empty"); - Console.WriteLine($"Directory: {coverArt.Directory}"); - Console.WriteLine($"Filename: {coverArt.Filename}"); - } - - return coverArt; - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return null; - } - - public CoverArt SaveCoverArt(IFormFile data, Song song) - { - var cover = new CoverArt { SongTitle = song.Title }; - - try - { - MetadataRetriever metaData = new MetadataRetriever(); - var dirMgr = new DirectoryManager(_rootCoverArtPath!); - cover.Type = metaData.FileExtensionType(data); - var defaultExtension = "." + cover.Type; - dirMgr.CreateDirectory(song); - - var segment = cover.GenerateFilename(0); - var imagePath = dirMgr.SongDirectory + segment + defaultExtension; - - cover.Directory = dirMgr.SongDirectory; - cover.Filename = segment + defaultExtension; - - using (var fileStream = new FileStream(cover.ImagePath(), FileMode.Create)) - { - data.CopyTo(fileStream); - } - } - catch (Exception ex) - { - _logger.Error(ex.Message, "An error occurred"); - } - - return cover; - } - - public CoverArt GetCoverArt(Song song) - { - var title = song.Title; - var cov = _coverArtContext!.CoverArtImages!.FirstOrDefault(cov => cov.SongTitle!.Equals(title)); - return cov!; - } - - private void Initialize() - { - _coverArtContext = new CoverArtContext(_connectionString!); - var path = DirectoryPaths.CoverArtDirectory + DirectoryPaths.CoverArtFilename; - - if (System.IO.File.Exists(path)) - _stockCoverArt = File.ReadAllBytes(path); - - if (!File.Exists(_rootCoverArtPath + _filename)) - { - File.WriteAllBytes(_rootCoverArtPath + _filename, - _stockCoverArt!); - Console.WriteLine("Copied Stock Cover Art"); - } - } - #endregion -} diff --git a/Icarus/Controllers/Managers/DirectoryManager.cs b/Icarus/Controllers/Managers/DirectoryManager.cs deleted file mode 100644 index 8d2cd08..0000000 --- a/Icarus/Controllers/Managers/DirectoryManager.cs +++ /dev/null @@ -1,207 +0,0 @@ -using Icarus.Models; -using Icarus.Types; - -namespace Icarus.Controllers.Managers; - -// NOTE: Do not use metadata for the song's metadata -public class DirectoryManager : BaseManager -{ - #region Fields - private Song? _song; - private string? _rootSongDirectory; - private string? _songDirectory; - #endregion - - - #region Properties - public string? SongDirectory - { - get => _songDirectory; - set => _songDirectory = value; - } - #endregion - - - #region Constructors - public DirectoryManager(IConfiguration config, Song song) - { - _config = config; - _song = song; - Initialize(); - } - public DirectoryManager(IConfiguration config) - { - _config = config; - Initialize(); - } - public DirectoryManager(string rootDirectory) - { - _rootSongDirectory = rootDirectory; - } - #endregion - - - #region Methods - // Does not include extension - public static string GenerateFilename(int length) - { - string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS; - var random = new Random(); - return new string(Enumerable.Repeat(chars, length).Select(s => - s[random.Next(s.Length)]).ToArray()); - } - - public static string GenerateDownloadFilename(int length, string extension, string title, bool? randomize) - { - if (randomize.HasValue && randomize.Value) - { - return GenerateFilename(length) + extension; - } - else - { - return title + extension; - } - } - - public void CreateDirectory() - { - this.CreateDirectory(_song!); - } - - public void CreateDirectory(Song song) - { - this._song = song; - - try - { - _songDirectory = AlbumDirectory(); - - if (!Directory.Exists(_songDirectory)) - { - Directory.CreateDirectory(_songDirectory); - Console.WriteLine($"The directory has been created"); - } - - Console.WriteLine($"The song will be saved in the following" + - $" directory: {_songDirectory}"); - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - - public int DeleteEmptyDirectories(string? directory, int level) - { - var deleted = 0; - - try - { - var curDir = directory; - for (var i = 0; i < level; i++) - { - if (!System.IO.Directory.Exists(curDir)) - { - continue; - } - - if (this.IsDirectoryEmpty(curDir)) - { - System.IO.Directory.Delete(curDir); - deleted++; - } - - var parentDirectory = System.IO.Directory.GetParent(curDir); - - curDir = parentDirectory!.ToString(); - } - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error occurred {exMsg}"); - } - - return deleted; - } - - public void DeleteEmptyDirectories(Song song) - { - try - { - var albumDirectory = AlbumDirectory(song); - var artistDirectory = ArtistDirectory(song); - - if (Directory.Exists(albumDirectory) && IsDirectoryEmpty(albumDirectory)) - { - Directory.Delete(albumDirectory); - _logger.Info("Album directory deleted"); - } - if (Directory.Exists(artistDirectory) && IsDirectoryEmpty(artistDirectory)) - { - Directory.Delete(artistDirectory); - _logger.Info("Artist directory deleted"); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - - - private void Initialize(DirectoryType dirTypes = DirectoryType.Music) - { - switch (dirTypes) - { - case DirectoryType.Music: - _rootSongDirectory = _config!.GetValue("RootMusicPath")!; - break; - case DirectoryType.CoverArt: - _rootSongDirectory = _config!.GetValue("CoverArtPath")!; - break; - } - } - - private bool IsDirectoryEmpty(string path) => - !(Directory.EnumerateFileSystemEntries(path).Any()); - - private string AlbumDirectory() - { - return AlbumDirectory(_song!); - } - private string AlbumDirectory(Song song) - { - var directory = ArtistDirectory(song); - var segment = SerializeValue(song.AlbumTitle!); - directory += $@"{segment}/"; - Console.WriteLine($"Album directory {directory}"); - - return directory; - } - private string ArtistDirectory(Song song) - { - var directory = _rootSongDirectory; - var segment = SerializeValue(song.Artist!); - directory += $@"{segment}/"; - Console.WriteLine($"Artist directory {directory}"); - - return directory; - } - - private string SerializeValue(string value) - { - const int length = 15; - const string chars = "ABCDEF0123456789"; - var random = new Random(); - var output = new string(Enumerable.Repeat(chars, length).Select(s => - s[random.Next(s.Length)]).ToArray()); - - return output; - } - #endregion -} diff --git a/Icarus/Controllers/Managers/GenreManager.cs b/Icarus/Controllers/Managers/GenreManager.cs deleted file mode 100644 index c91be33..0000000 --- a/Icarus/Controllers/Managers/GenreManager.cs +++ /dev/null @@ -1,128 +0,0 @@ -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.Managers; - -public class GenreManager : BaseManager -{ - #region Fields - private GenreContext? _genreContext; - #endregion - - - #region Properties - #endregion - - - #region Constructors - public GenreManager(IConfiguration config) - { - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - _genreContext = new GenreContext(_connectionString!); - } - #endregion - - - #region Methods - public void SaveGenreToDatabase(ref Song song) - { - _logger.Info("Starting process to save the genre record of the song to the database"); - - var genre = new Genre - { - GenreName = song.Genre, - SongCount = 1 - }; - - var genreName = song.Genre; - var genreRetrieved = _genreContext!.Genres!.FirstOrDefault(gnr => gnr.GenreName!.Equals(genreName)); - - if (genreRetrieved == null) - { - _genreContext.Add(genre); - _genreContext.SaveChanges(); - } - else - { - genre.Id = genreRetrieved.Id; - } - - song.GenreId = genre.Id; - } - - public Genre UpdateGenreInDatabase(Song oldSongRecord, Song newSongRecord) - { - var oldGenreRecord = _genreContext!.Genres!.FirstOrDefault(gnr => gnr.GenreName!.Equals(oldSongRecord.Genre)); - var oldGenreName = oldGenreRecord!.GenreName; - var newGenreName = newSongRecord.Genre; - - if (string.IsNullOrEmpty(newGenreName) || oldGenreName!.Equals(newGenreName)) - { - _logger.Info("No change to the song's Genre"); - return oldGenreRecord; - } - - _logger.Info("Change to the song's genre found"); - - if (oldGenreRecord.SongCount <= 1) - { - _logger.Info("Deleting genre record"); - - _genreContext.Remove(oldGenreRecord); - _genreContext.SaveChanges(); - } - - if (!(_genreContext.Genres!.FirstOrDefault(gnr => gnr.GenreName!.Equals(oldSongRecord.Genre)) != null)) - { - _logger.Info("Creating new genre record"); - - var newGenreRecord = new Genre - { - GenreName = newGenreName - }; - - _genreContext.Add(newGenreRecord); - _genreContext.SaveChanges(); - - return newGenreRecord; - } - else - { - _logger.Info("Updating existing genre record"); - - var existingGenreRecord = _genreContext.Genres!.FirstOrDefault(gnr => gnr.GenreName!.Equals(oldGenreRecord.GenreName)); - - _genreContext.Update(existingGenreRecord!); - _genreContext.SaveChanges(); - - return existingGenreRecord!; - } - } - - public void DeleteGenreFromDatabase(Song song) - { - if (!(_genreContext!.Genres!.FirstOrDefault(gnr => gnr.GenreName!.Equals(song.Genre)) != null)) - { - _logger.Info("Cannot delete the genre record because it does not exist"); - return; - } - - var genre = _genreContext.Genres!.FirstOrDefault(gnr => gnr.GenreName!.Equals(song.Genre)); - - if (SongsInGenre(genre!) <= 1) - { - _genreContext.Remove(genre!); - _genreContext.SaveChanges(); - } - } - - private int SongsInGenre(Genre genre) - { - var sngContext = new SongContext(_connectionString!); - var songs = sngContext.Songs!.Where(sng => sng.GenreId == genre.Id).ToList(); - - return songs.Count; - } - #endregion -} diff --git a/Icarus/Controllers/Managers/SongManager.cs b/Icarus/Controllers/Managers/SongManager.cs deleted file mode 100644 index 6e0dcd7..0000000 --- a/Icarus/Controllers/Managers/SongManager.cs +++ /dev/null @@ -1,479 +0,0 @@ -using NLog; - -using Icarus.Controllers.Utilities; -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.Managers; - - -public class SongManager : BaseManager -{ - #region Fields - private string? _tempDirectoryRoot; - private string? _archiveDirectoryRoot; - private string? _compressedSongFilename; - private string? _message; - private SongContext? _songContext; - #endregion - - - #region Properties - public string? ArchiveDirectoryRoot - { - get => _archiveDirectoryRoot; - set => _archiveDirectoryRoot = value; - } - public string? CompressedSongFilename - { - get => _compressedSongFilename; - set => _compressedSongFilename = value; - } - public string? Message - { - get => _message; - set => _message = value; - } - #endregion - - - #region Constructors - public SongManager(IConfiguration config) - { - _config = config; - Initialize(); - } - public SongManager(IConfiguration config, string tempDirectoryRoot) - { - _config = config; - _tempDirectoryRoot = tempDirectoryRoot; - Initialize(); - } - #endregion - - - #region Methods - public SongResult UpdateSong(Song song) - { - var result = new SongResult(); - if (!DoesSongExist(song)) - { - result.SongTitle = song.Title; - result.Message = "Song does not exist"; - return result; - } - - try - { - var oldSongRecord = _songContext!.RetrieveRecord(song); - song.Filename = oldSongRecord.Filename; - song.SongDirectory = oldSongRecord.SongDirectory; - - MetadataRetriever updateMetadata = new MetadataRetriever(); - updateMetadata.UpdateMetadata(song, oldSongRecord); - - var updatedSong = updateMetadata.UpdatedSongRecord; - - var albMgr = new AlbumManager(_config!); - var gnrMgr = new GenreManager(_config!); - var artMgr = new ArtistManager(_config!); - var updatedAlbum = albMgr.UpdateAlbumInDatabase(oldSongRecord, updatedSong!); - oldSongRecord.AlbumId = updatedAlbum.Id; - - var updatedArtist = artMgr.UpdateArtistInDatabase(oldSongRecord, updatedSong!); - oldSongRecord.ArtistId = updatedArtist.Id; - - var updatedGenre = gnrMgr.UpdateGenreInDatabase(oldSongRecord, updatedSong!); - oldSongRecord.GenreId = updatedGenre.Id; - - UpdateSongInDatabase(ref oldSongRecord, ref updatedSong!, ref result); - - DeleteEmptyDirectories(ref oldSongRecord, ref updatedSong); - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - - result.Message = $"An error occurred: {msg}"; - result.SongTitle = song.Title; - } - - return result; - } - - public bool DeleteSongFromFileSystem(Song songMetaData) - { - bool successful = false; - try - { - var songPath = songMetaData.SongPath(); - System.IO.File.Delete(songPath); - successful = !System.IO.File.Exists(songPath); - if (successful) - { - Console.WriteLine("Song successfully deleted"); - } - DirectoryManager dirMgr = new DirectoryManager(_config!, songMetaData); - var deletedAmount = dirMgr.DeleteEmptyDirectories(songMetaData.SongDirectory, 1); - if (deletedAmount > 0) - { - Console.WriteLine($"{deletedAmount} directories deleted"); - } - } - catch (Exception ex) - { - var exMsg = ex.Message; - } - - return successful; - } - - public bool DoesSongExist(Song song) - { - if (!_songContext!.DoesRecordExist(song)) - { - return false; - } - - return true; - } - public void DeleteSong(Song song) - { - try - { - if (DeleteSongFromFilesystem(song, true)) - { - _logger.Error("Failed to delete the song"); - - throw new Exception("Failed to delete the song"); - } - _logger.Info("Song deleted from the filesystem"); - - var coverMgr = new CoverArtManager(_config!); - - var coverArt = coverMgr.GetCoverArt(song); - coverMgr.DeleteCoverArt(coverArt); - - DeleteSongFromDatabase(song); - coverMgr.DeleteCoverArtFromDatabase(coverArt); - var accessLevelContext = new AccessLevelContext(_config!.GetConnectionString("DefaultConnection")!); - var accessLevel = accessLevelContext.AccessLevels!.FirstOrDefault(al => al.SongId == song.Id); - accessLevelContext.AccessLevels!.Remove(accessLevel!); - accessLevelContext.SaveChanges(); - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - } - - - public Song SaveFlacSongToFileSystem(IFormFile songFile, IFormFile coverArtData, Song song) - { - // Save temp song (Should already be saved to the filesystem by the time it gets to this method) - // Save cover art - // Update the song's metadata with the song object - // Save song to its final directory - // Save cover art to the database - // Save song to the database - - var coverMgr = new CoverArtManager(_config!); - var coverArt = coverMgr.SaveCoverArt(coverArtData, song); - - var meta = new Utilities.MetadataRetriever(); - meta.UpdateMetadata(song, song); - - DirectoryManager dirMgr = new DirectoryManager(_config!, song); - dirMgr.CreateDirectory(); - - var tempPath = song.SongPath(); - - song.SongDirectory = dirMgr.SongDirectory; - song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.FLAC); - - var filePath = song.SongPath(); - _logger.Info($"Absolute song path: {filePath}"); - - this.MoveSongToFinalDestination(tempPath, filePath); - - SaveSongToDatabase(song, coverArt); - - return song; - } - - private void MoveSongToFinalDestination(string sourcePath, string targetPath) - { - using (var fileStream = new FileStream(targetPath, FileMode.Create)) - { - var songBytes = System.IO.File.ReadAllBytes(sourcePath); - - try - { - if (System.IO.File.Exists(sourcePath) && System.IO.File.Exists(sourcePath) && fileStream.Length > 0) - { - System.IO.File.Delete(sourcePath); - _logger.Info("Deleted temp song from filesystem: {0}", sourcePath); - } - else - { - fileStream.Write(songBytes, 0, songBytes.Count()); - _logger.Info("Saved song to filesystem: {0}", targetPath); - - System.IO.File.Delete(sourcePath); - _logger.Info("Deleted temp song from filesystem: {0}", sourcePath); - } - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error($"An error occurred: {msg}"); - } - - _logger.Info("Song successfully saved to filesystem"); - } - } - - public async Task RetrieveSong(Song songMetaData) - { - var song = new SongData(); - - try - { - Console.WriteLine("Fetching song from filesystem"); - song = await RetrieveSongFromFileSystem(songMetaData); - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error occurred: {exMsg}"); - } - - return song; - } - - - - private async Task RetrieveSongFromFileSystem(Song details) - { - byte[] uncompressedSong = await System.IO.File.ReadAllBytesAsync(details.SongPath()); - - return new SongData - { - Data = uncompressedSong - }; - } - public async Task SaveSongTemp(IFormFile songFile) - { - _logger.Info("Assigning song filename"); - var song = new Song { SongDirectory = this._tempDirectoryRoot! }; - var filename = await song.GenerateFilenameAsync(false) + "-" + songFile.FileName; - song.Filename = filename; - var songPath = song.SongPath(); - - using (var filestream = new FileStream(songPath, FileMode.Create)) - { - _logger.Info("Saving temp song: {0}", songPath); - await songFile.CopyToAsync(filestream); - } - - song.DateCreated = DateTime.Now; - - return song; - } - - - public Icarus.Models.CreateFileResult Create(IFormFile file, string filePath, string prompt) - { - if (System.IO.File.Exists(filePath)) - { - return CreateFileResult.AlreadyExists; - } - - using (var filestream = new FileStream(filePath, FileMode.Create)) - { - Console.WriteLine(prompt); - file.CopyTo(filestream); - - if (System.IO.File.Exists(filePath)) - { - return CreateFileResult.FileCreatedAndExists; - } - } - - return 0; - } - - - private bool SongRecordChanged(Song currentSong, Song songUpdates) - { - var currentTitle = currentSong.Title; - var currentArtist = currentSong.Artist; - var currentAlbum = currentSong.AlbumTitle; - var currentGenre = currentSong.Genre; - var currentYear = currentSong.Year; - - if (!currentTitle!.Equals(songUpdates.Title) || !currentArtist!.Equals(songUpdates.Artist) || - !currentAlbum!.Equals(songUpdates.AlbumTitle) || - !currentGenre!.Equals(songUpdates.Genre) || currentYear != songUpdates.Year) - return true; - - return false; - } - - private void DeleteEmptyDirectories(ref Song oldSong, ref Song updatedSong) - { - DirectoryManager mgr = new DirectoryManager(_config!); - - _logger.Info("Checking to see if there are any directories to delete"); - mgr.DeleteEmptyDirectories(oldSong); - } - - private void Initialize() - { - try - { - _connectionString = _config!.GetConnectionString("DefaultConnection"); - _songContext = new SongContext(_connectionString!); - } - catch (Exception ex) - { - Console.WriteLine($"Error Occurred: {ex.Message}"); - } - } - - - - private void SaveSongToDatabase(Song song, CoverArt? cover) - { - _logger.Info("Starting process to save the song to the database"); - - var albumMgr = new AlbumManager(this._config!); - var artistMgr = new ArtistManager(this._config!); - var genreMgr = new GenreManager(this._config!); - var coverMgr = new CoverArtManager(this._config!); - albumMgr.SaveAlbumToDatabase(ref song); - artistMgr.SaveArtistToDatabase(ref song); - genreMgr.SaveGenreToDatabase(ref song); - - var info = "Saving Song to DB"; - _logger.Info(info); - - this._songContext!.Add(song); - this._songContext!.SaveChanges(); - - if (cover != null) - { - coverMgr.SaveCoverArtToDatabase(ref song, ref cover!); - } - - var accessLevel = Icarus.Models.AccessLevel.DefaultLevel(); - accessLevel.SongId = song.Id; - - var accessLevelContext = new AccessLevelContext(this._connectionString!); - accessLevelContext.Add(accessLevel); - accessLevelContext.SaveChanges(); - } - - - private bool DeleteSongFromFilesystem(Song song, bool deleteDirectory = false) - { - var songPath = song.SongPath(); - - _logger.Info("Deleting song from the filesystem"); - - try - { - System.IO.File.Delete(songPath); - - DeleteEmptyDirectories(ref song, ref song); - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred when attempting to delete the song from the filesystem"); - return false; - } - - return DoesSongExistOnFilesystem(song); - } - - private bool DoesSongExistOnFilesystem(Song song) - { - if (!System.IO.File.Exists(song.SongPath())) - { - _logger.Info("Song does not exist on the filesystem"); - - return false; - } - - _logger.Info("Song exists on the filesystem"); - - return true; - } - - - private void UpdateSongInDatabase(ref Song oldSongRecord, ref Song newSongRecord, ref SongResult result) - { - var updatedSongRecord = oldSongRecord; - - var songContext = new SongContext(_connectionString!); - - if (!SongRecordChanged(oldSongRecord, newSongRecord)) - { - _logger.Info("No change to the song record"); - return; - } - - _logger.Info("Changes to song record found"); - - if (!string.IsNullOrEmpty(newSongRecord.Title)) - updatedSongRecord.Title = newSongRecord.Title; - if (!string.IsNullOrEmpty(newSongRecord.AlbumTitle)) - { - updatedSongRecord.AlbumTitle = newSongRecord.AlbumTitle; - } - if (!string.IsNullOrEmpty(newSongRecord.Artist)) - { - updatedSongRecord.Artist = newSongRecord.Artist; - } - if (!string.IsNullOrEmpty(newSongRecord.Genre)) - { - updatedSongRecord.Genre = newSongRecord.Genre; - Console.WriteLine("Genre changed"); - Console.WriteLine($"{updatedSongRecord.Genre} {newSongRecord.Genre}"); - } - if (newSongRecord.Year != null || newSongRecord.Year > 0) - updatedSongRecord.Year = newSongRecord.Year; - - _logger.Info("Applied changes to song record"); - - - _logger.Info("Saving song metadata to the database"); - - songContext.Update(updatedSongRecord); - songContext.SaveChanges(); - - newSongRecord = updatedSongRecord; - - result.Message = "Successfully updated song"; - result.SongTitle = updatedSongRecord.Title!; - } - - private void DeleteSongFromDatabase(Song song) - { - _logger.Info("Starting process to delete records related to the song from the database"); - - var albumMgr = new AlbumManager(_config!); - var artistMgr = new ArtistManager(_config!); - var genreMgr = new GenreManager(_config!); - var sngContext = new SongContext(_connectionString!); - sngContext.Songs!.Remove(song); - sngContext.SaveChanges(); - artistMgr.DeleteArtistFromDatabase(song); - albumMgr.DeleteAlbumFromDatabase(song); - genreMgr.DeleteGenreFromDatabase(song); - } - #endregion -} diff --git a/Icarus/Controllers/Managers/TokenManager.cs b/Icarus/Controllers/Managers/TokenManager.cs deleted file mode 100644 index bbb79e7..0000000 --- a/Icarus/Controllers/Managers/TokenManager.cs +++ /dev/null @@ -1,308 +0,0 @@ -using System.Security.Claims; -using System.IdentityModel.Tokens.Jwt; -using System.Text; - -using Microsoft.IdentityModel.Tokens; -using Newtonsoft.Json; -using RestSharp; - -using Icarus.Models; -using Microsoft.VisualBasic; - -namespace Icarus.Controllers.Managers; - -#region Classes -public class TokenManager : BaseManager -{ - #region Fields - private string? _clientId; - private string? _clientSecret; - private string? _privateKeyPath = string.Empty; - private string? _privateKey = string.Empty; - private string? _publicKeyPath = string.Empty; - private string? _publicKey = string.Empty; - private string? _audience; - private string? _grantType; - private string? _url; - private string? SUCCESSFUL_TOKEN_MESSAGE = "Successfully retrieved token"; - #endregion - - - #region Properties - #endregion - - - #region Constructors - public TokenManager(IConfiguration config) - { - _config = config; - InitializeValues(); - } - #endregion - - - #region Methods - public LoginResult RetrieveLoginResult(User user) - { - _logger.Info("Preparing Auth0 API request"); - - var client = new RestClient(_url!); - var request = new RestRequest("oauth/token", Method.POST); - var tokenRequest = RetrieveTokenRequest(); - - _logger.Info("Serializing token object into JSON"); - var tokenObject = JsonConvert.SerializeObject(tokenRequest); - - request.AddParameter("application/json; charset=utf-8", - tokenObject, ParameterType.RequestBody); - - request.RequestFormat = DataFormat.Json; - - _logger.Info("Sending request"); - IRestResponse response = client.Execute(request); - _logger.Info("Response received"); - - - _logger.Info("Deserializing response"); - var tokenResult = JsonConvert - .DeserializeObject(response.Content); - _logger.Info("Response deserialized"); - - return this.InitializeLoginResult(user, tokenResult!); - } - - - public LoginResult LoginSymmetric(User user) - { - var tokenResult = new TokenTierOne { TokenType = "JWT" }; - - var payload = Payload(); - payload.Add(new Claim("user_id", user.Id.ToString(), ClaimValueTypes.Integer)); - - var tokenHandler = new JwtSecurityTokenHandler(); - var key = Encoding.ASCII.GetBytes(_config!["JWT:Secret"]!); - var tokenDescriptor = new SecurityTokenDescriptor - { - Subject = new ClaimsIdentity(new Claim[] - { - new Claim("user_id", user.Id.ToString(), ClaimValueTypes.Integer) - // Add more claims as needed - }), - Expires = DateTime.UtcNow.AddHours(1), - SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature), - Issuer = _config["Jwt:Issuer"], // Add this line - Audience = _config["Jwt:Audience"] - }; - - tokenResult.AccessToken = tokenHandler.WriteToken(tokenHandler.CreateToken(tokenDescriptor)); - - var expClaim = payload.FirstOrDefault(cl => - { - return cl.Type.Equals("exp"); - }); - - var expiredDate = DateTime.Parse(expClaim!.Value); - var exp = Math.Floor((expiredDate - DateTime.UnixEpoch).TotalSeconds); - tokenResult.Expiration = Convert.ToInt32(exp); - - return this.InitializeLoginResult(user, tokenResult); - } - - private LoginResult InitializeLoginResult(User user, TokenTierOne token) - { - return new LoginResult - { - UserId = user.Id, - Username = user.Username, - Token = token.AccessToken, - TokenType = token.TokenType, - Expiration = token.Expiration, - Message = SUCCESSFUL_TOKEN_MESSAGE - }; - } - - public bool CanAccessSong(string token, Song song, AccessLevel accessLevel) - { - if (accessLevel!.Level!.Equals(Models.AccessLevel.DefaultLevel().Level)) - { - return true; - } - var tokenUserId = this.RetrieveUserIdFromToken(token); - if (tokenUserId == null) - { - return false; - } - - return tokenUserId.Value == song.UserId; - } - - public string? GetBearerToken(HttpContext context) - { - string authorizationHeader = context.Request.Headers["Authorization"]!; - - if (!authorizationHeader.IsNullOrEmpty() && authorizationHeader.StartsWith("Bearer", StringComparison.OrdinalIgnoreCase)) - { - string token = authorizationHeader.Substring("Bearer ".Length).Trim(); - return token; - } - - return null; - } - - public int? RetrieveUserIdFromToken(string token) - { - var parsedToken = this.ContainsBearer(token) ? this.StripBearer(token) : token; - var tokenHandler = new JwtSecurityTokenHandler(); - var readTok = tokenHandler.ReadJwtToken(parsedToken); - - foreach (var item in readTok.Payload) - { - if (item.Key == "user_id") - { - return Convert.ToInt32(item.Value); - } - } - - return null; - } - - private string StripBearer(string token) - { - var start = 6; - var strippedToken = token.Substring(start); - - return Strings.Trim(strippedToken); - } - - private bool ContainsBearer(string token) - { - return token.Contains("Bearer"); - } - - - private string AllScopes() - { - var allScopes = new List() - { - "download:songs", - "read:song_details", - "upload:songs", - "delete:songs", - "read:albums", - "read:artists", - "update:songs", - "stream:songs", - "read:genre", - "read:year", - "download:cover_art" - }; - - var scopes = string.Empty; - - for (var i = 0; i < allScopes.Count; i++) - { - if (i == allScopes.Count - 1) - { - scopes += allScopes[i]; - } - else - { - scopes += allScopes[i] + " "; - } - } - - return scopes; - } - - private List Payload() - { - // TODO: Remove this hard coding - var expLimit = 30; - var currentDate = DateTime.Now; - var expiredDate = currentDate.AddMinutes(expLimit); - var issuer = "http://localhost:5002"; - var audience = "http://localhost:5002"; - var subject = _config!["JWT:Subject"]; - - var claim = new List() - { - new Claim("scope", AllScopes(), "string"), - new Claim(JwtRegisteredClaimNames.Exp, expiredDate.ToString()), - new Claim(JwtRegisteredClaimNames.Aud, audience), - new Claim(JwtRegisteredClaimNames.Iss, issuer), - new Claim(JwtRegisteredClaimNames.Sub, subject!), - new Claim(JwtRegisteredClaimNames.Iat, currentDate.ToString()) - }; - - return claim; - } - - [Obsolete("Deprecated function")] - private async Task ReadKeyContent(string filepath) - { - return await System.IO.File.ReadAllTextAsync(filepath); - } - - private TokenRequest RetrieveTokenRequest() - { - _logger.Info("Retrieving token object"); - - return new TokenRequest - { - ClientId = _clientId, - ClientSecret = _clientSecret, - Audience = _audience, - GrantType = _grantType - }; - } - - private void InitializeValues() - { - _logger.Info("Analyzing Auth0 information"); - - _clientId = _config!["Auth0:ClientId"]; - _clientSecret = _config["Auth0:ClientSecret"]; - _audience = _config["Auth0:ApiIdentifier"]; - _grantType = "client_credentials"; - _url = $"https://{_config["Auth0:Domain"]}"; - } - - #region Testing Methods - // For testing purposes - private void PrintCredentials() - { - Console.WriteLine("Auth0 credentials:"); - Console.WriteLine($"Client Id: {_clientId}"); - Console.WriteLine($"Client Secret: {_clientSecret}"); - Console.WriteLine($"Audience: {_audience}"); - Console.WriteLine($"Url: {_url}"); - } - #endregion - #endregion - - - #region Classes - private class TokenRequest - { - [JsonProperty("client_id")] - public string? ClientId { get; set; } - [JsonProperty("client_secret")] - public string? ClientSecret { get; set; } - [JsonProperty("audience")] - public string? Audience { get; set; } - [JsonProperty("grant_type")] - public string? GrantType { get; set; } - } - - private class TokenTierOne - { - [JsonProperty("access_token")] - public string? AccessToken { get; set; } - [JsonProperty("expires_in")] - public int Expiration { get; set; } - [JsonProperty("token_type")] - public string? TokenType { get; set; } - } - #endregion -} -#endregion diff --git a/Icarus/Controllers/Utilities/MetadataRetriever.cs b/Icarus/Controllers/Utilities/MetadataRetriever.cs deleted file mode 100644 index 86d2076..0000000 --- a/Icarus/Controllers/Utilities/MetadataRetriever.cs +++ /dev/null @@ -1,371 +0,0 @@ -using NLog; -using TagLib; - -using Icarus.Models; - -namespace Icarus.Controllers.Utilities; - -public class MetadataRetriever -{ - #region Fields - private static NLog.Logger? _logger = NLog.Web.NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger(); - private List? _supportedAudioFileTypes = new List { "wav", "flac" }; - private List? _supportedImageFileTypes = new List { "jpeg", "jpg", "png" }; - private Song? _updatedSong; - private string? _message; - private string? _title; - private string? _artist; - private string? _album; - private string? _genre; - private int _year; - private int _duration; - #endregion - - - #region Properties - public Song? UpdatedSongRecord - { - get => _updatedSong; - set => _updatedSong = value; - } - public string? Message - { - get => _message; - set => _message = value; - } - #endregion - - - #region Constructors - #endregion - - - #region Methods - public string CoverArtFileExtensionType(CoverArt cover) - { - Console.WriteLine("Retrieving CoverArt file extension type"); - - using (var fileStream = System.IO.File.OpenRead(cover.ImagePath())) - { - var isRecognizableType = FileTypeChecker.FileTypeValidator.IsTypeRecognizable(fileStream); - - if (!isRecognizableType) - { - return string.Empty; - } - - var fileType = FileTypeChecker.FileTypeValidator.GetFileType(fileStream); - - Console.WriteLine($"Filetype: {fileType}"); - - return fileType.Extension; - } - } - - public string FileExtensionType(IFormFile file) - { - using (var fileStream = file.OpenReadStream()) - { - var isRecognizableType = FileTypeChecker.FileTypeValidator.IsTypeRecognizable(fileStream); - - if (!isRecognizableType) - { - return string.Empty; - } - - - var fileType = FileTypeChecker.FileTypeValidator.GetFileType(fileStream); - Console.WriteLine($"Filetype: {fileType}"); - Console.WriteLine($"Extension: {fileType.Extension}"); - - return fileType.Extension; - } - } - - public string FileExtensionType(string path) - { - var extensionRaw = System.IO.Path.GetExtension(path); - - if (extensionRaw[0] == '.') - { - return extensionRaw.Substring(1); - } - else - { - return extensionRaw; - } - } - - public bool IsSupportedFile(IFormFile file) - { - var supportedTypes = this._supportedAudioFileTypes; - this._supportedImageFileTypes!.ForEach(t => - { - if (!supportedTypes!.Contains(t)) - { - supportedTypes.Add(t); - } - }); - - var extensionType = this.FileExtensionType(file).ToLower(); - - return supportedTypes!.Contains(extensionType); - } - - public bool IsSupportedFile(string path) - { - var supportedTypes = this._supportedAudioFileTypes; - this._supportedImageFileTypes!.ForEach(t => - { - if (!supportedTypes!.Contains(t)) - { - supportedTypes.Add(t); - } - }); - - var extensionType = this.FileExtensionType(path).ToLower(); - - return supportedTypes!.Contains(extensionType); - } - - public Song RetrieveMetaData(string filePath) - { - Song song = new Song(); - - try - { - TagLib.File fileTag = TagLib.File.Create(filePath); - _title = fileTag.Tag.Title; - _artist = string.Join("", fileTag.Tag.Performers); - _album = fileTag.Tag.Album; - _genre = string.Join("", fileTag.Tag.Genres); - _year = (int)fileTag.Tag.Year; - _duration = (int)fileTag.Properties.Duration.TotalSeconds; - var albumArtist = string.Join("", fileTag.Tag.AlbumArtists); - var track = (int)fileTag.Tag.Track; - var disc = (int)fileTag.Tag.Disc; - - song.Title = _title; - song.Artist = _artist; - song.AlbumTitle = _album; - song.AlbumArtist = albumArtist; - song.Genre = _genre; - song.Year = _year; - song.Duration = _duration; - song.Track = track; - song.Disc = disc; - song.TrackCount = (int)fileTag.Tag.TrackCount; - song.DiscCount = (int)fileTag.Tag.DiscCount; - } - catch (Exception ex) - { - var msg = ex.Message; - Console.WriteLine("An error occurred in MetadataRetriever"); - Console.WriteLine(msg); - _logger!.Error(msg, "An error occurred in MetadataRetriever"); - } - - return song; - } - - public int RetrieveSongDuration(string filepath) - { - var fileTag = TagLib.File.Create(filepath); - var duration = (int)fileTag.Properties.Duration.TotalSeconds; - - return duration; - } - - public byte[] RetrieveCoverArtBytes(Song song) - { - try - { - Console.WriteLine("Fetching image"); - var tag = TagLib.File.Create(song.SongPath()); - - if (tag.Tag.Pictures.Count() == 0) - { - return []; - } - - return tag.Tag.Pictures[0].Data.Data; - } - catch (Exception ex) - { - var msg = ex.Message; - _logger!.Error(msg, "An error occurred in MetadataRetriever"); - } - - return []; - } - - - public void UpdateMetadata(Song updatedSong, Song oldSong) - { - try - { - InitializeUpdatedSong(oldSong); - var songValues = CheckSongValues(updatedSong); - PerformUpdate(updatedSong, songValues); - Message = "Successfully updated metadata"; - } - catch (Exception ex) - { - var msg = ex.Message; - Console.WriteLine($"An error occurred: {msg}"); - _logger!.Error(msg, "An error occurred"); - Message = "Failed to update metadata"; - } - } - public void UpdateCoverArt(Song song, CoverArt coverArt) - { - Console.WriteLine("Updating song's cover art"); - - var tag = TagLib.File.Create(song.SongPath()); - var pics = tag.Tag.Pictures; - Array.Resize(ref pics, 1); - - pics[0] = new Picture(coverArt.ImagePath()) - { - Description = "Cover Art" - }; - - tag.Tag.Pictures = pics; - tag.Save(); - } - - private void PerformUpdate(Song updatedSong, SortedDictionary checkedValues) - { - var filePath = updatedSong.SongPath(); - var title = updatedSong.Title; - var artist = updatedSong.Artist; - var album = updatedSong.AlbumTitle; - var genre = updatedSong.Genre; - var year = updatedSong.Year; - var albumArtist = updatedSong.AlbumArtist; - var track = updatedSong.Track; - var trackCount = updatedSong.TrackCount; - var disc = updatedSong.Disc; - var discCount = updatedSong.DiscCount; - TagLib.File fileTag = TagLib.File.Create(filePath); - - try - { - Console.WriteLine($"Updating metadata of {title}"); - _logger!.Info($"Updating metadata of {title}"); - - foreach (var key in checkedValues.Keys) - { - bool result = checkedValues[key]; - - if (!result) - switch (key.ToLower()) - { - case "title": - _updatedSong!.Title = title; - fileTag.Tag.Title = title; - break; - case "artists": - _updatedSong!.Artist = artist; - fileTag.Tag.Performers = new[] { artist }; - break; - case "album": - _updatedSong!.AlbumTitle = album; - fileTag.Tag.Album = album; - break; - case "genre": - _updatedSong!.Genre = genre; - fileTag.Tag.Genres = new[] { genre }; - break; - case "year": - _updatedSong!.Year = year; - fileTag.Tag.Year = (uint)year!; - break; - case "albumartist": - _updatedSong!.AlbumArtist = albumArtist; - fileTag.Tag.AlbumArtists = new[] { albumArtist }; - break; - case "track": - _updatedSong!.Track = track; - fileTag.Tag.Track = (uint)(track); - break; - case "trackcount": - _updatedSong!.TrackCount = trackCount; - fileTag.Tag.TrackCount = (uint)(trackCount); - break; - case "disc": - _updatedSong!.Disc = disc; - fileTag.Tag.Disc = (uint)(disc); - break; - case "disccount": - _updatedSong!.DiscCount = discCount; - fileTag.Tag.DiscCount = (uint)(discCount); - break; - } - } - - fileTag.Save(); - - Console.WriteLine("Successfully updated metadata"); - _logger.Info("Successfully updated metadata"); - } - catch (Exception ex) - { - var msg = ex.Message; - Console.WriteLine($"An error occurred:\n{msg}"); - _logger!.Error(msg, "An error occurred"); - } - } - private void InitializeUpdatedSong(Song song) - { - _updatedSong = song; - } - - private SortedDictionary CheckSongValues(Song song) - { - var songValues = new SortedDictionary(); - Console.WriteLine("Checking for null data"); - _logger!.Info("Checking for null data"); - - try - { - songValues["Title"] = String.IsNullOrEmpty(song.Title); - songValues["Artists"] = String.IsNullOrEmpty(song.Artist); - songValues["Album"] = String.IsNullOrEmpty(song.AlbumTitle); - songValues["Genre"] = String.IsNullOrEmpty(song.Genre); - songValues["AlbumArtist"] = String.IsNullOrEmpty(song.AlbumArtist); - - songValues["Year"] = CheckIntField(song.Year); - songValues["Track"] = CheckIntField(song.Track); - songValues["TrackCount"] = CheckIntField(song.TrackCount); - songValues["Disc"] = CheckIntField(song.Disc); - songValues["DiscCount"] = CheckIntField(song.Disc); - - Console.WriteLine("Checking for null data completed"); - _logger.Info("Checking for null data completed"); - } - catch (Exception ex) - { - var msg = ex.Message; - Console.WriteLine($"An error occurred: \n{msg}"); - _logger.Error(msg, "An error occurred"); - } - - return songValues; - } - - private bool CheckIntField(int? value) - { - if (value == null) - { - return true; - } - else if (value == 0) - { - return true; - } - - return false; - } - #endregion -} diff --git a/Icarus/Controllers/Utilities/PasswordEncryption.cs b/Icarus/Controllers/Utilities/PasswordEncryption.cs deleted file mode 100644 index 9ab73a4..0000000 --- a/Icarus/Controllers/Utilities/PasswordEncryption.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Security.Cryptography; - -using BCrypt.Net; -using Microsoft.AspNetCore.Cryptography.KeyDerivation; -using NLog; - -using Icarus.Models; - -namespace Icarus.Controllers.Utilities; - -public class PasswordEncryption -{ - #region Fields - private static Logger _logger = NLog.LogManager.GetCurrentClassLogger(); - #endregion - - - #region Properties - #endregion - - - #region Constructor - #endregion - - - #region Methods - public bool VerifyPassword(User user, string password) - { - try - { - var result = BCrypt.Net.BCrypt.Verify(password, user.Password); - - return result; - } - catch (Exception ex) - { - var msg = ex.Message; - _logger.Error(msg, "An error occurred"); - } - - return false; - } - - public string HashPassword(User user) - { - try - { - string hashedPassword = string.Empty; - hashedPassword = BCrypt.Net.BCrypt.HashPassword(user.Password); - - _logger.Info("Successfully hashed password"); - - return hashedPassword; - - } - catch (Exception ex) - { - var exMsg = ex.Message; - _logger.Error(exMsg, "An error occurred"); - } - - return string.Empty; - } - - string GenerateHash(string password, byte[] salt) - { - - string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2( - password: password, salt: salt, - prf: KeyDerivationPrf.HMACSHA1, - iterationCount: 10000, - numBytesRequested: 256 / 8)); - - return hashed; - } - - byte[] GenerateSalt() - { - byte[] salt = new byte[128 / 8]; - - using (var rng = RandomNumberGenerator.Create()) - rng.GetBytes(salt); - - - return salt; - } - #endregion -} diff --git a/Icarus/Controllers/Utilities/SongCompression.cs b/Icarus/Controllers/Utilities/SongCompression.cs deleted file mode 100644 index 078d27d..0000000 --- a/Icarus/Controllers/Utilities/SongCompression.cs +++ /dev/null @@ -1,126 +0,0 @@ -using Icarus.Models; - -namespace Icarus.Controllers.Utilities; - -public class SongCompression -{ - #region Fields - string? _compressedSongFilename; - string? _tempDirectory; - byte[]? _uncompressedSong; - #endregion - - - #region Propterties - public string? CompressedSongFilename - { - get => _compressedSongFilename; - set => _compressedSongFilename = value; - } - #endregion - - - #region Constructors - public SongCompression() - { - } - public SongCompression(string tempDirectory) - { - _tempDirectory = tempDirectory; - } - public SongCompression(byte[] uncompressedSong) - { - _uncompressedSong = uncompressedSong; - } - #endregion - - - #region Methods - public async Task RetrieveCompressedSong(Song song) - { - SongData songData = new SongData(); - try - { - var archivePath = RetrieveCompressesSongPath(song); - Console.WriteLine($"Compressed song saved to: {archivePath}"); - - songData.Data = await System.IO.File.ReadAllBytesAsync(archivePath); - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine($"An error ocurred: \n{exMsg}"); - } - - return songData; - } - - public string RetrieveCompressesSongPath(Song songDetails) - { - string tmpZipFilePath = _tempDirectory + songDetails.Filename; - - try - { - using (var fi = new FileStream(songDetails.SongPath(), FileMode.Open)) - { - using (var z = new Ionic.Zlib.ZlibStream(fi, Ionic.Zlib.CompressionMode.Compress)) - { - using (var tr = new FileStream(tmpZipFilePath, FileMode.CreateNew)) - { - z.CopyTo(tr); - } - } - } - - Console.WriteLine("Successfully compressed"); - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine("An error ocurred"); - Console.WriteLine(exMsg); - } - - if (songDetails.Filename!.Contains(Constants.FileExtensions.WAV_EXTENSION)) - { - _compressedSongFilename = StripExtension(songDetails.Filename); - } - - return tmpZipFilePath; - } - - // Method not being used - public byte[] CompressedSong(byte[] uncompressedSong) - { - byte[]? compressedSong = null; - try - { - Console.WriteLine("Song has been successfully compressed"); - } - catch (Exception ex) - { - var exMsg = ex.Message; - Console.WriteLine("An error ocurred:"); - Console.WriteLine(exMsg); - } - - return compressedSong!; - } - - - string StripExtension(string filename) - { - Console.WriteLine($"Before: {filename}"); - int filenameLength = filename.Length; - Console.WriteLine($"Filename length {filenameLength}"); - var endIndex = filenameLength - 1; - var startIndex = endIndex - 3; - Console.WriteLine($"Starting index {startIndex} and ending index {endIndex}"); - var stripped = filename.Remove(startIndex, 4); - stripped += Constants.FileExtensions.ZIP_EXTENSION; - Console.WriteLine($"After {stripped}"); - - return stripped; - } - #endregion -} diff --git a/Icarus/Controllers/v1/AccessLevelController.cs b/Icarus/Controllers/v1/AccessLevelController.cs deleted file mode 100644 index 1d74488..0000000 --- a/Icarus/Controllers/v1/AccessLevelController.cs +++ /dev/null @@ -1,131 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/accesslevel")] -[ApiController] -[Authorize] -public class AccessLevelController : BaseController -{ - #region Fields - private readonly ILogger? _logger; - private string? _connectionString; - #endregion - - #region Properties - #endregion - - #region Constructors - public AccessLevelController(ILogger logger, IConfiguration config) - { - this._logger = logger; - this._config = config; - this._connectionString = this._config.GetConnectionString("DefaultConnection"); - } - #endregion - - #region HTTP Routes - [HttpGet] - public IActionResult GetAccessLevels(int? id, int? songId) - { - var accLevel = new Models.AccessLevel { Id = 0 }; - var accessLevelContext = new Database.Contexts.AccessLevelContext(_connectionString!); - - if (id != null) - { - accLevel = accessLevelContext.AccessLevels!.FirstOrDefault(al => al.Id == id); - } - else if (songId != null) - { - accLevel = accessLevelContext.GetAccessLevel(songId.Value); - } - - var response = new GetAccessLevelsResponse { Data = new List() }; - - if (accLevel?.Id > 0) - { - response.Subject = "Successful"; - response.Data.Add(accLevel); - return Ok(response); - } - else - { - response.Subject = "Failure"; - return BadRequest(response); - } - } - - [HttpPatch("{id}")] - public IActionResult UpdateAccessLevel(int id, [FromBody] Models.AccessLevel accessLevel) - { - var response = new UpdateAccessLevelResponse { Data = new List() }; - var targetLevel = accessLevel.Level; - if (targetLevel == null) - { - response.Subject = "No level provided"; - return BadRequest(response); - } - else - { - if (!Models.AccessLevel.IsAccessLevelValid(targetLevel)) - { - response.Subject = "Invalid level"; - return BadRequest(response); - } - } - - var accessLevelContext = new Database.Contexts.AccessLevelContext(this._connectionString!); - - var fetchedAccLevel = accessLevelContext.AccessLevels!.FirstOrDefault(al => al.Id == id); - - if (fetchedAccLevel == null) - { - response.Subject = "Nothing found"; - return NotFound(response); - } - - var fetchedLevel = fetchedAccLevel!.Level; - - if (fetchedLevel!.Equals(targetLevel)) - { - // No change - response.Subject = "No change"; - response.Data.Add(fetchedAccLevel); - return Ok(response); - } - else - { - fetchedAccLevel.Level = targetLevel; - response.Subject = "Successful"; - accessLevelContext.Update(fetchedAccLevel); - accessLevelContext.SaveChanges(); - - response.Data.Add(fetchedAccLevel); - return Ok(response); - } - } - #endregion -} - -#region Responses -public class GetAccessLevelsResponse -{ - #region Properties - [Newtonsoft.Json.JsonProperty("subject")] - public string? Subject { get; set; } - [Newtonsoft.Json.JsonProperty("data")] - public List? Data { get; set; } - #endregion -} - -public class UpdateAccessLevelResponse -{ - #region Properties - [Newtonsoft.Json.JsonProperty("subject")] - public string? Subject { get; set; } - [Newtonsoft.Json.JsonProperty("data")] - public List? Data { get; set; } - #endregion -} -#endregion diff --git a/Icarus/Controllers/v1/AlbumController.cs b/Icarus/Controllers/v1/AlbumController.cs deleted file mode 100644 index 76834de..0000000 --- a/Icarus/Controllers/v1/AlbumController.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/album")] -[ApiController] -[Authorize] -public class AlbumController : BaseController -{ - #region Fields - private readonly ILogger? _logger; - private string? _connectionString; - #endregion - - - #region Properties - #endregion - - - #region Constructors - public AlbumController(ILogger logger, IConfiguration config) - { - _logger = logger; - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - } - #endregion - - - #region HTTP Routes - [HttpGet] - public IActionResult GetAlbums() - { - var albumContext = new AlbumContext(_connectionString!); - - var albums = albumContext.Albums!.ToList(); - - if (albums.Count > 0) - return Ok(albums); - else - return NotFound(); - } - - [HttpGet("{id}")] - public IActionResult GetAlbum(int id) - { - Album album = new Album { Id = id }; - - var albumContext = new AlbumContext(_connectionString!); - - if (albumContext.DoesRecordExist(album)) - { - album = albumContext.RetrieveRecord(album); - - return Ok(album); - } - else - return NotFound(); - } - #endregion -} diff --git a/Icarus/Controllers/v1/ArtistController.cs b/Icarus/Controllers/v1/ArtistController.cs deleted file mode 100644 index b336088..0000000 --- a/Icarus/Controllers/v1/ArtistController.cs +++ /dev/null @@ -1,67 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/artist")] -[ApiController] -[Authorize] -public class ArtistController : BaseController -{ - #region Fields - private readonly ILogger? _logger; - private string? _connectionString; - #endregion - - - #region Properties - #endregion - - - #region Constructors - public ArtistController(ILogger logger, IConfiguration config) - { - _logger = logger; - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - } - #endregion - - - #region HTTP Routes - [HttpGet] - public IActionResult GetArtists() - { - var artistContext = new ArtistContext(_connectionString!); - - var artists = artistContext.Artists.ToList(); - - if (artists.Count > 0) - return Ok(artists); - else - return NotFound(); - } - - [HttpGet("{id}")] - public IActionResult GetArtist(int id) - { - Artist artist = new Artist { Id = id }; - - var artistContext = new ArtistContext(_connectionString!); - - if (artistContext.DoesRecordExist(artist)) - { - artist = artistContext.RetrieveRecord(artist); - - return Ok(artist); - } - else - { - return NotFound(); - } - } - #endregion -} diff --git a/Icarus/Controllers/v1/BaseController.cs b/Icarus/Controllers/v1/BaseController.cs deleted file mode 100644 index 5ed5b83..0000000 --- a/Icarus/Controllers/v1/BaseController.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Microsoft.AspNetCore.Mvc; - - -namespace Icarus.Controllers.V1; - -public class BaseController : ControllerBase -{ - #region Fiends - protected IConfiguration? _config; - #endregion - - - #region Methods - [ApiExplorerSettings(IgnoreApi = true)] - [Obsolete("Asymmetric key signing for tokens have been deprecated")] - protected string ParseBearerTokenFromHeader() - { - var token = string.Empty; - const string tokenType = "Bearer"; - const string otherTokenType = "Jwt"; - - var req = Request; - var auth = req.Headers.Authorization; - var val = auth.ToString(); - - if ((val.Contains(tokenType) || val.Contains(otherTokenType)) && val.Split(" ").Count() > 1) - { - var split = val.Split(" "); - token = split[1]; - } - - - return token; - } - - #endregion -} diff --git a/Icarus/Controllers/v1/CoverArtController.cs b/Icarus/Controllers/v1/CoverArtController.cs deleted file mode 100644 index d28af2c..0000000 --- a/Icarus/Controllers/v1/CoverArtController.cs +++ /dev/null @@ -1,92 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -using Icarus.Controllers.Managers; -using Icarus.Database.Contexts; -using Icarus.Models; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/coverart")] -[ApiController] -[Authorize] -public class CoverArtController : BaseController -{ - #region Fields - private readonly ILogger? _logger; - private string? _connectionString; - #endregion - - - #region Constructors - public CoverArtController(ILogger logger, IConfiguration config) - { - _logger = logger; - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - } - #endregion - - - #region HTTP Routes - [HttpGet] - public IActionResult GetCoverArts() - { - var coverArtContext = new CoverArtContext(_connectionString!); - - var coverArtRecords = coverArtContext.CoverArtImages!.ToList(); - - if (coverArtRecords == null) - { - _logger!.LogInformation("No cover art records"); - return NotFound(); - } - else - { - _logger!.LogInformation("Found cover art records"); - return Ok(coverArtRecords); - } - } - - [HttpGet("{id}")] - public IActionResult GetCoverArt(int id) - { - var coverArt = new CoverArt { Id = id }; - - var coverArtContext = new CoverArtContext(_connectionString!); - - coverArt = coverArtContext.RetrieveRecord(coverArt); - - if (coverArt != null) - { - _logger!.LogInformation("Found cover art record"); - var coverArtBytes = System.IO.File.ReadAllBytes( - coverArt.ImagePath()); - - return File(coverArtBytes, "application/x-msdownload", - coverArt.SongTitle); - } - else - { - _logger!.LogInformation("Cover art not found"); - return NotFound(); - } - } - - [HttpGet("data/download/{id}")] - public async Task Download(int id, [FromQuery] bool? randomizeFilename) - { - var songContext = new SongContext(_connectionString!); - var covMgr = new CoverArtManager(this._config!); - - var songMetaData = songContext.RetrieveRecord(new Song { Id = id }); - var c = covMgr.GetCoverArt(songMetaData); - - var filename = DirectoryManager.GenerateDownloadFilename(10, Constants.FileExtensions.JPG_EXTENSION, songMetaData.Title!, randomizeFilename); - - var data = await c.GetData(); - - return File(data, "application/x-msdownload", filename); - } - #endregion -} diff --git a/Icarus/Controllers/v1/GenreController.cs b/Icarus/Controllers/v1/GenreController.cs deleted file mode 100644 index 6cdec26..0000000 --- a/Icarus/Controllers/v1/GenreController.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/genre")] -[ApiController] -[Authorize] -public class GenreController : BaseController -{ - #region Fields - private readonly ILogger? _logger; - private string? _connectionString; - #endregion - - - #region Properties - #endregion - - - #region Constructors - public GenreController(ILogger logger, IConfiguration config) - { - _logger = logger; - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - } - #endregion - - - #region HTTP Routes - [HttpGet] - public IActionResult GetGenres() - { - var genreStore = new GenreContext(_connectionString!); - - var genres = genreStore!.Genres!.ToList(); - - if (genres.Count > 0) - { - return Ok(genres); - } - else - { - return NotFound(new List()); - } - } - - [HttpGet("{id}")] - public IActionResult GetGenre(int id) - { - var genre = new Genre { Id = id }; - - var genreStore = new GenreContext(_connectionString!); - - if (genreStore.DoesRecordExist(genre)) - { - genre = genreStore.RetrieveRecord(genre); - - return Ok(genre); - } - else - { - return NotFound(new Genre()); - } - } - #endregion -} diff --git a/Icarus/Controllers/v1/LoginController.cs b/Icarus/Controllers/v1/LoginController.cs deleted file mode 100644 index 11fac99..0000000 --- a/Icarus/Controllers/v1/LoginController.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System; -using System.Linq; - -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; - -using Icarus.Controllers.Managers; -using Icarus.Controllers.Utilities; -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/login")] -[ApiController] -public class LoginController : ControllerBase -{ - #region Fields - private string? _connectionString; - private IConfiguration? _config; - private ILogger _logger; - #endregion - - - #region Properties - #endregion - - - #region Contructors - public LoginController(IConfiguration config, ILogger logger) - { - _logger = logger; - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - } - #endregion - - - #region HTTP endpoints - [HttpPost] - public IActionResult Login([FromBody] User user) - { - var context = new UserContext(_connectionString!); - - _logger.LogInformation("Starting process of validating credentials"); - - var message = "Invalid credentials"; - var password = user.Password; - - var loginRes = new LoginResult - { - Username = user.Username - }; - - try - { - if (context.Users.FirstOrDefault(usr => usr.Username!.Equals(user.Username)) != null) - { - user = context.Users.FirstOrDefault(usr => usr.Username!.Equals(user.Username))!; - - var validatePass = new PasswordEncryption(); - var validated = validatePass.VerifyPassword(user!, password!); - if (!validated) - { - loginRes.Message = message; - _logger.LogInformation(message); - - return Ok(loginRes); - } - - _logger.LogInformation("Successfully validated user credentials"); - - TokenManager tk = new TokenManager(_config!); - - loginRes = tk.LoginSymmetric(user!); - - return Ok(loginRes); - } - else - { - loginRes.Message = message; - - return NotFound(loginRes); - } - } - catch (Exception ex) - { - _logger.LogError("An error occurred: {0}", ex.Message); - _logger.LogError("Inner Exception: {0}", ex.InnerException!.Message); - } - - return NotFound(loginRes); - } - #endregion -} diff --git a/Icarus/Controllers/v1/RegisterController.cs b/Icarus/Controllers/v1/RegisterController.cs deleted file mode 100644 index d397c8c..0000000 --- a/Icarus/Controllers/v1/RegisterController.cs +++ /dev/null @@ -1,75 +0,0 @@ -using Microsoft.AspNetCore.Mvc; - -using Icarus.Controllers.Utilities; -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/register")] -[ApiController] -public class RegisterController : ControllerBase -{ - #region Fields - private IConfiguration? _config; - #endregion - - - #region Properties - #endregion - - - #region Constructor - public RegisterController(IConfiguration config) - { - _config = config; - } - #endregion - - [HttpPost] - public IActionResult RegisterUser([FromBody] User user) - { - PasswordEncryption pe = new PasswordEncryption(); - user.Password = pe.HashPassword(user); - user.EmailVerified = false; - user.Status = "Registered"; - user.DateCreated = DateTime.Now; - - UserContext? context = null; - - try - { - var connString = _config!.GetConnectionString("DefaultConnection"); - context = new UserContext(connString!); - context.Add(user); - context.SaveChanges(); - } - catch (Exception ex) - { - var msg = ex.Message; - var stackTrace = ex.StackTrace; - - Console.WriteLine($"An error occurred: {msg}"); - } - - var registerResult = new RegisterResult - { - Username = user.Username - }; - - if (context!.Users.FirstOrDefault(sng => sng.Username!.Equals(user.Username)) != null) - { - registerResult.Message = "Successful registration"; - registerResult.SuccessfullyRegistered = true; - - return Ok(registerResult); - } - else - { - registerResult.Message = "Registration failed"; - registerResult.SuccessfullyRegistered = false; - - return Ok(registerResult); - } - } -} diff --git a/Icarus/Controllers/v1/SongCompressedDataControllers.cs b/Icarus/Controllers/v1/SongCompressedDataControllers.cs deleted file mode 100644 index d82864b..0000000 --- a/Icarus/Controllers/v1/SongCompressedDataControllers.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -using Icarus.Controllers.Utilities; -using Icarus.Models; -using Icarus.Database.Contexts; -using Icarus.Controllers.Managers; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/song/compressed/data")] -[ApiController] -[Authorize] -public class SongCompressedDataController : BaseController -{ - #region Fields - private string? _connectionString; - private string? _songTempDir; - private string? _archiveDir; - #endregion - - - #region Properties - #endregion - - - #region Constructor - public SongCompressedDataController(IConfiguration config) - { - _config = config; - _songTempDir = _config.GetValue("TemporaryMusicPath"); - _archiveDir = _config.GetValue("ArchivePath"); - _connectionString = _config.GetConnectionString("DefaultConnection"); - } - #endregion - - - #region API Routes - [HttpGet("{id}")] - public async Task DownloadCompressedSong(int id, [FromQuery] bool? randomizeFilename) - { - var context = new SongContext(_connectionString!); - - SongCompression cmp = new SongCompression(_archiveDir!); - - Console.WriteLine($"Archive directory root: {_archiveDir}"); - - Console.WriteLine("Starting process of retrieving comrpessed song"); - var sng = context.RetrieveRecord(new Song { Id = id }); - - var tokenManager = new TokenManager(this._config!); - var accLvlContext = new AccessLevelContext(this._connectionString!); - var accessLevel = accLvlContext.GetAccessLevel(sng.Id); - var token = tokenManager.GetBearerToken(HttpContext); - if (token == null || accessLevel == null) - { - return BadRequest(); - } - - if (!tokenManager.CanAccessSong(token, sng, accessLevel)) - { - return BadRequest(); - } - SongData song = await cmp.RetrieveCompressedSong(sng); - - var filename = DirectoryManager.GenerateDownloadFilename(10, Constants.FileExtensions.ZIP_EXTENSION, sng.Title!, randomizeFilename); - - return File(song.Data!, "application/x-msdownload", filename); - } - #endregion -} diff --git a/Icarus/Controllers/v1/SongController.cs b/Icarus/Controllers/v1/SongController.cs deleted file mode 100644 index f59a0c9..0000000 --- a/Icarus/Controllers/v1/SongController.cs +++ /dev/null @@ -1,109 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -using Icarus.Controllers.Managers; -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/song")] -[ApiController] -[Authorize] -public class SongController : BaseController -{ - #region Fields - private readonly ILogger? _logger; - private string? _connectionString; - private SongManager? _songMgr; - #endregion - - - #region Properties - #endregion - - - #region Constructor - public SongController(IConfiguration config, ILogger logger) - { - _config = config; - _logger = logger; - _connectionString = _config.GetConnectionString("DefaultConnection"); - _songMgr = new SongManager(config); - } - #endregion - - - #region Methods - #region HTTP Endpoints - [HttpGet] - public IActionResult GetSongs() - { - Console.WriteLine("Attemtping to retrieve songs"); - _logger!.LogInformation("Attempting to retrieve songs"); - - var context = new SongContext(_connectionString!); - - var songs = context.Songs!.ToList(); - - if (songs.Count > 0) - { - return Ok(songs); - } - else - { - return NotFound(); - } - } - - [HttpGet("{id}")] - public IActionResult GetSong(int id) - { - var context = new SongContext(_connectionString!); - - var song = context.RetrieveRecord(new Song { Id = id }); - - Console.WriteLine("Here"); - - if (song.Id != 0) - return Ok(song); - else - return NotFound(); - } - - [HttpPut("{id}")] - public IActionResult UpdateSong(int id, [FromBody] Song song) - { - song.Id = id; - Console.WriteLine("Retrieving filepath of song"); - _logger!.LogInformation("Retrieving filepath of song"); - - if (!_songMgr!.DoesSongExist(song)) - { - return NotFound(new SongResult - { - Message = "Song does not exist" - }); - } - - var tokenManager = new TokenManager(this._config!); - var accLvlContext = new AccessLevelContext(this._connectionString!); - var accessLevel = accLvlContext.GetAccessLevel(song.Id); - var token = tokenManager.GetBearerToken(HttpContext); - if (token == null || accessLevel == null) - { - return BadRequest(); - } - - if (!tokenManager.CanAccessSong(token, song, accessLevel)) - { - return BadRequest(); - } - - var songRes = _songMgr.UpdateSong(song); - - return Ok(songRes); - } - #endregion - #endregion -} diff --git a/Icarus/Controllers/v1/SongDataController.cs b/Icarus/Controllers/v1/SongDataController.cs deleted file mode 100644 index 4cbd4b4..0000000 --- a/Icarus/Controllers/v1/SongDataController.cs +++ /dev/null @@ -1,231 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -using Icarus.Controllers.Managers; -using Icarus.Models; -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.V1; - - - -[Route("api/v1/song/data")] -[ApiController] -[Authorize] -public class SongDataController : BaseController -{ - #region Fields - private string? _connectionString; - private ILogger? _logger; - private SongManager? _songMgr; - private string? _songTempDir; - #endregion - - - #region Properties - #endregion - - - #region Constructor - public SongDataController(IConfiguration config, ILogger logger) - { - _config = config; - _connectionString = _config.GetConnectionString("DefaultConnection"); - _logger = logger; - _songTempDir = _config.GetValue("TemporaryMusicPath"); - _songMgr = new SongManager(config, _songTempDir!); - } - #endregion - - - - [HttpGet("download/{id}")] - public IActionResult Download(int id, [FromQuery] bool? randomizeFilename) - { - var tokenManager = new TokenManager(this._config!); - var songContext = new SongContext(this._connectionString!); - var accLvlContext = new AccessLevelContext(this._connectionString!); - var songMetaData = songContext.RetrieveRecord(new Song { Id = id }); - var accessLevel = accLvlContext.GetAccessLevel(songMetaData.Id); - var token = tokenManager.GetBearerToken(HttpContext); - if (token == null || accessLevel == null) - { - return BadRequest(); - } - - if (!tokenManager.CanAccessSong(token, songMetaData, accessLevel)) - { - return BadRequest(); - } - - var song = _songMgr!.RetrieveSong(songMetaData).Result; - string filename; - - switch (songMetaData.AudioType) - { - case "wav": - filename = DirectoryManager.GenerateDownloadFilename(10, Constants.FileExtensions.WAV_EXTENSION, - songMetaData.Title!, randomizeFilename); - break; - case "flac": - filename = DirectoryManager.GenerateDownloadFilename(10, Constants.FileExtensions.FLAC_EXTENSION, - songMetaData.Title!, randomizeFilename); - break; - default: - filename = DirectoryManager.GenerateDownloadFilename(10, Constants.FileExtensions.DEFAULT_AUDIO_EXTENSION, - songMetaData.Title!, randomizeFilename); - break; - } - - return File(song.Data!, "application/x-msdownload", filename); - } - - // NOTE: No longer being used - // Assumes that the song already has metadata such as - // Title - // Artist - // Album - // Genre - // Year - // Track - // Track count - // Disc - // Disc count - // Cover art - // - [HttpPost("upload"), DisableRequestSizeLimit] - [Obsolete("Support for this endoint is no longer supported")] - public IActionResult Upload([FromForm(Name = "file")] List songData) - { - return new StatusCodeResult(StatusCodes.Status410Gone); - } - - // The client is expected to send the file, metadata, and cover art separately. - // Any metadata already on the file will be overwritten with values from the metadata - // as well as the cover art - // - [HttpPost("upload/with/data")] - public IActionResult UploadWithData([FromForm] UploadSongWithDataForm up) - { - try - { - if (up.SongData!.Length > 0 && up.CoverArtData!.Length > 0 && !string.IsNullOrEmpty(up.SongFile)) - { - var meta = new Utilities.MetadataRetriever(); - var tmpSong = this._songMgr!.SaveSongTemp(up.SongData).Result; - if (!meta.IsSupportedFile(tmpSong.SongPath()) && !meta.IsSupportedFile(up.CoverArtData)) - { - return BadRequest("Media is not supported"); - } - else if (!meta.IsSupportedFile(tmpSong.SongPath())) - { - return BadRequest("Song is not supported"); - } - else if (!meta.IsSupportedFile(up.CoverArtData)) - { - return BadRequest("Cover art is not supported"); - } - - var song = Newtonsoft.Json.JsonConvert.DeserializeObject(up.SongFile); - var tokMgr = new TokenManager(this._config!); - var accessToken = Request.Headers["Authorization"]; - var userId = tokMgr.RetrieveUserIdFromToken(accessToken!); - - if (userId != null) - { - song!.UserId = userId.Value; - } - - _logger!.LogInformation($"Song title: {song!.Title}"); - - song.Filename = tmpSong.Filename; - song.SongDirectory = tmpSong.SongDirectory; - song.DateCreated = tmpSong.DateCreated; - song.AudioType = meta.FileExtensionType(tmpSong.SongPath()); - - switch (song.AudioType) - { - case "wav": - var _ = _songMgr.DeleteSongFromFileSystem(tmpSong); - return BadRequest(new UploadSongWithDataResponse - { - Subject = "No longer supported", - Message = "No support for .wav files", - Songs = new List() - }); - case "flac": - song = _songMgr.SaveFlacSongToFileSystem(up.SongData, up.CoverArtData, song); - break; - default: - return BadRequest(); - } - - return Ok(song); - } - } - catch (Exception ex) - { - _logger!.LogError(ex.Message, "An error occurred"); - } - - return BadRequest(); - } - - [HttpDelete("delete/{id}")] - public IActionResult DeleteSong(int id) - { - var songContext = new SongContext(_connectionString!); - var songMetaData = songContext.RetrieveRecord(new Song { Id = id }); - - var tokenManager = new TokenManager(this._config!); - var accLvlContext = new AccessLevelContext(this._connectionString!); - var accessLevel = accLvlContext.GetAccessLevel(songMetaData.Id); - var token = tokenManager.GetBearerToken(HttpContext); - if (token == null || accessLevel == null) - { - return BadRequest(); - } - - if (!tokenManager.CanAccessSong(token, songMetaData, accessLevel)) - { - return BadRequest(); - } - - if (string.IsNullOrEmpty(songMetaData.Title)) - { - _logger!.LogInformation("Song does not exist"); - return NotFound("Song does not exist"); - } - else - { - _logger!.LogInformation("Starting process of deleting song from the filesystem and database"); - - _songMgr!.DeleteSong(songMetaData); - - return Ok(songMetaData); - } - } - - public class UploadSongWithDataForm - { - [FromForm(Name = "file")] - public IFormFile? SongData { get; set; } - // NOTE: Think about making this optional and if it is not provided, use the stock cover art - [FromForm(Name = "cover")] - public IFormFile? CoverArtData { get; set; } - [FromForm(Name = "metadata")] - public string? SongFile { get; set; } - } - - public class UploadSongWithDataResponse - { - #region Properties - [Newtonsoft.Json.JsonProperty("message")] - public string? Message { get; set; } - [Newtonsoft.Json.JsonProperty("subject")] - public string? Subject { get; set; } - [Newtonsoft.Json.JsonProperty("data")] - public List? Songs { get; set; } - #endregion - } -} diff --git a/Icarus/Controllers/v1/SongStreamController.cs b/Icarus/Controllers/v1/SongStreamController.cs deleted file mode 100644 index f38a966..0000000 --- a/Icarus/Controllers/v1/SongStreamController.cs +++ /dev/null @@ -1,76 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; - -using Icarus.Database.Contexts; - -namespace Icarus.Controllers.V1; - -[Route("api/v1/song/stream")] -[ApiController] -[Authorize] -public class SongStreamController : BaseController -{ - #region Fields - private string? _connectionString; - private ILogger? _logger; - #endregion - - - #region Properties - #endregion - - - #region Constructor - public SongStreamController(ILogger logger, IConfiguration config) - { - this._logger = logger; - this._config = config; - this._connectionString = this._config.GetConnectionString("DefaultConnection"); - } - #endregion - - - #region HTTP endpoints - [HttpGet("{id}")] - public async Task StreamSong(int id) - { - var context = new SongContext(_config!.GetConnectionString("DefaultConnection")!); - - var song = context.Songs!.FirstOrDefault(sng => sng.Id == id); - if (song == null) - { - return BadRequest(); - } - var tokenManager = new Managers.TokenManager(this._config!); - var accLvlContext = new AccessLevelContext(this._connectionString!); - var accessLevel = accLvlContext.GetAccessLevel(song.Id); - var token = tokenManager.GetBearerToken(HttpContext); - if (token == null || accessLevel == null) - { - return BadRequest(); - } - - if (!tokenManager.CanAccessSong(token, song, accessLevel)) - { - return BadRequest(); - } - - var stream = new FileStream(song!.SongPath(), FileMode.Open, FileAccess.Read); - stream.Position = 0; - var filename = song.Filename; - - if (string.IsNullOrEmpty(song.Filename)) - { - filename = song.GenerateFilename(); - } - - _logger!.LogInformation("Starting to stream song...>"); - Console.WriteLine("Starting to streamsong..."); - - return await Task.Run(() => - { - return File(stream, "application/octet-stream", filename); - }); - } - #endregion -} diff --git a/Icarus/Database/Contexts/AccessLevelContext.cs b/Icarus/Database/Contexts/AccessLevelContext.cs deleted file mode 100644 index ac8a5ea..0000000 --- a/Icarus/Database/Contexts/AccessLevelContext.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -namespace Icarus.Database.Contexts; - -public class AccessLevelContext : DbContext -{ - #region Properties - public DbSet? AccessLevels { get; set; } - #endregion - - #region Constructors - public AccessLevelContext(DbContextOptions options) : base(options) { } - public AccessLevelContext(string connString) : base(new DbContextOptionsBuilder() - .UseMySQL(connString).Options) - { - if (this.AccessLevels == null) - { - } - } - #endregion - - #region Methods - public Models.AccessLevel? GetAccessLevel(int songId) - { - var accessLevel = this.AccessLevels!.FirstOrDefault(acc => acc.SongId == songId); - return accessLevel; - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity().ToTable("AccessLevel"); - - modelBuilder.Entity().Property(m => m.Level).IsRequired(true); - } - #endregion -} diff --git a/Icarus/Database/Contexts/AlbumContext.cs b/Icarus/Database/Contexts/AlbumContext.cs deleted file mode 100644 index 5a312ee..0000000 --- a/Icarus/Database/Contexts/AlbumContext.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -using Icarus.Models; - -namespace Icarus.Database.Contexts; - -public class AlbumContext : DbContext -{ - public DbSet? Albums { get; set; } - - public AlbumContext(DbContextOptions options) : base(options) { } - public AlbumContext(string connString) : base(new DbContextOptionsBuilder() - .UseMySQL(connString).Options) - { - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity() - .ToTable("Album"); - } - - public Album RetrieveRecord(Album album) - { - var albm = Albums!.FirstOrDefault(alb => alb.Id == album.Id); - return albm!; - } - - public bool DoesRecordExist(Album album) - { - return Albums!.FirstOrDefault(alb => alb.Id == album.Id) != null ? true : false; - } -} diff --git a/Icarus/Database/Contexts/ArtistContext.cs b/Icarus/Database/Contexts/ArtistContext.cs deleted file mode 100644 index 6f77d81..0000000 --- a/Icarus/Database/Contexts/ArtistContext.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -using Icarus.Models; - -namespace Icarus.Database.Contexts; - -public class ArtistContext : DbContext -{ - public DbSet Artists { get; set; } - - public ArtistContext(DbContextOptions options) : base(options) { } - public ArtistContext(string connString) : base(new DbContextOptionsBuilder() - .UseMySQL(connString).Options) - { - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity() - .ToTable("Artist"); - } - - public Artist RetrieveRecord(Artist artist) - { - - return Artists.FirstOrDefault(arst => arst.Id == artist.Id)!; - } - - - public bool DoesRecordExist(Artist artist) - { - return Artists.FirstOrDefault(arst => arst.Id == artist.Id) != null ? true : false; - } -} diff --git a/Icarus/Database/Contexts/CoverArtContext.cs b/Icarus/Database/Contexts/CoverArtContext.cs deleted file mode 100644 index 5a5f6d1..0000000 --- a/Icarus/Database/Contexts/CoverArtContext.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -using Icarus.Models; - -namespace Icarus.Database.Contexts; - -public class CoverArtContext : DbContext -{ - #region Properties - public DbSet? CoverArtImages { get; set; } - #endregion - - public CoverArtContext(DbContextOptions options) : base(options) { } - public CoverArtContext(string connString) : base(new DbContextOptionsBuilder() - .UseMySQL(connString).Options) - { - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity() - .ToTable("CoverArt"); - } - - public CoverArt RetrieveRecord(CoverArt cover) - { - return CoverArtImages!.FirstOrDefault(cov => cov.Id == cover.Id)!; - } - - public bool DoesRecordExist(CoverArt cover) - { - return CoverArtImages!.FirstOrDefault(cov => cov.Id == cover.Id) != null ? true : false; - } -} diff --git a/Icarus/Database/Contexts/GenreContext.cs b/Icarus/Database/Contexts/GenreContext.cs deleted file mode 100644 index 1091119..0000000 --- a/Icarus/Database/Contexts/GenreContext.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -using Icarus.Models; - -namespace Icarus.Database.Contexts; - -public class GenreContext : DbContext -{ - #region Properties - public DbSet? Genres { get; set; } - #endregion - - public GenreContext(DbContextOptions options) : base(options) { } - public GenreContext(string connString) : base(new DbContextOptionsBuilder() - .UseMySQL(connString).Options) - { - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity() - .ToTable("Genre"); - } - - - public Genre RetrieveRecord(Genre genre) - { - var gnre = Genres!.FirstOrDefault(gnr => gnr.Id == genre.Id); - return gnre!; - } - - public bool DoesRecordExist(Genre genre) - { - return Genres!.FirstOrDefault(gnr => gnr.Id == genre.Id) != null ? true : false; - } -} diff --git a/Icarus/Database/Contexts/SongContext.cs b/Icarus/Database/Contexts/SongContext.cs deleted file mode 100644 index 192b011..0000000 --- a/Icarus/Database/Contexts/SongContext.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -using Icarus.Models; - -namespace Icarus.Database.Contexts; - -public class SongContext : DbContext -{ - public DbSet? Songs { get; set; } - - public SongContext(string connString) : base(new DbContextOptionsBuilder() - .UseMySQL(connString).Options) - { - } - - - public SongContext(DbContextOptions options) : base(options) { } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity() - .ToTable("Song"); - - modelBuilder.Entity() - .Property(s => s.Year) - .IsRequired(false); - modelBuilder.Entity() - .Property(s => s.GenreId) - .IsRequired(false); - modelBuilder.Entity() - .Property(s => s.ArtistId) - .IsRequired(false); - modelBuilder.Entity() - .Property(s => s.AlbumId) - .IsRequired(false); - modelBuilder.Entity() - .Property(s => s.CoverArtId) - .IsRequired(false); - } - - - public Song RetrieveRecord(Song song) - { - var sng = Songs!.FirstOrDefault(sng => sng.Id == song.Id); - return sng!; - } - - - public bool DoesRecordExist(Song song) - { - return Songs!.FirstOrDefault(sng => sng.Id == song.Id) != null ? true : false; - } -} diff --git a/Icarus/Database/Contexts/UserContext.cs b/Icarus/Database/Contexts/UserContext.cs deleted file mode 100644 index 3bb0cec..0000000 --- a/Icarus/Database/Contexts/UserContext.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -using Icarus.Models; - -namespace Icarus.Database.Contexts; - -public class UserContext : DbContext -{ - public DbSet Users { get; set; } - - - #region Constructors - public UserContext(DbContextOptions options) : base(options) { } - [ActivatorUtilitiesConstructor] - public UserContext(string connString) : base(new DbContextOptionsBuilder() - .UseMySQL(connString).Options) - { - } - #endregion - - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity() - .ToTable("User"); - modelBuilder.Entity() - .Property(u => u.LastLogin).IsRequired(false); - modelBuilder.Entity() - .Property(u => u.DateCreated).HasDefaultValue(DateTime.Now); - } - - - public User RetrieveRecord(User user) - { - return Users.FirstOrDefault(usr => usr.Id == user.Id)!; - } - - public bool DoesRecordExist(User user) - { - return Users.FirstOrDefault(usr => usr.Id == user.Id) != null ? true : false; - } -} diff --git a/Icarus/Icarus.csproj b/Icarus/Icarus.csproj deleted file mode 100644 index 451a8b7..0000000 --- a/Icarus/Icarus.csproj +++ /dev/null @@ -1,46 +0,0 @@ - - - - net8.0 - enable - enable - InProcess - 0.1.30 - - - - - - - - - - - - - - runtime; build; native; contentfiles; analyzers - all - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Icarus/Images/Configuration/api_cred.png b/Icarus/Images/Configuration/api_cred.png deleted file mode 100644 index bc1ca54f608c52752f0ab55a59c55c26e57c99e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109994 zcmeFYbySt#8a28B0qG9ukXA~%rAxX~K%~37yFo%ar9q^-ML`+_>5%SjxNHB;Irp4D z?-<{>|9$V+qVCOpW3BZ(&z$p_D?&*@3JsYE83KWz$w-Tiu30_kB<&6)&Q)Rs9UnO%k&phEU!0trw~4 zr>%z@V(h)U-QvAGnOCF5zi6J$`Jyh`VlC|TJB8n$b_fX@Vl)_#J9=T9KL!TmbgsR* z+j=ng>y?{mI5T-CaDD|>@My|^^whT0+kyDx$t=m*z;5u9GAB{id+E&TOAn(gOOVNi zU}~nJrc}a~EW@eEeUBIEjv0*grA=h#5QZYocEHQj?_yLX0=pN{h2 zk?!dgOE#gock$Z5^Xou_}YHMgeM!lNo| zzGP4;D0mKv-_y$Q$2d=V#4^23p}+aCo_034(fm7dBYP$Z_e8Vh5A4mKqJ(6L%^y-f zmwzW_d$f)Ye2Dq%wl!MEoSV* zL;f$fecT~4l)evVefaDpifP2eBn};+Y3Us^8Xl*5`3Sbj*FAFI9?1ML*&4s4sr?YC zC^au*&>2a=cCh|y_VpAsNS-~O!+fcNU5+97Z{5DrS#;6XQpJtS3r|WcWbx=J2t^`I zzDl=lL9paletwzyy9`&-dbLs=tNL95&Wf}&9nRX1i;_(5(i`R~>VMB~Hxro4i&Zar z?zP8t7m6X6pdFIyrFo<t4g6>+*V`7y~J< z=WflUg7CVERij?B=U)B1ZRfh~?JYLm>OQ3qwT?QTdQb!ZH@yks+Pw%79Yd1_N8Wp|ijKij_B_bc{2tYJ6dAK4^3HQ8~UPL8MkM*L2O z?QbgjY6yBYO`q<^VX|FgjWaCb)@=dx(%hG3Q!;Iqx?4&NMA#Ut1r^y_H1f5tUz8U* z$#z;X46*6fSEwE_yP1ajj>r(bfs=bT%(1&*B--q)T<|qXo%+r5ZNp@qzp$&B?Z$Qk z4S7V&KLxmMX7~QM#Y2)aexp}}+=XH`v5!<);bf-iFui1sO4&I%5Km*1ZQr-XBc7Rk z`o;czck*{dKs+|$gs==UJZ3xQUKV5T#o<23=e6_xK2+VSg>vqZaN^dn%GY?tBp+=F zL|*O%L#(xQowCIeF;g#C7Zwvkt7ZI2avU;jnu`cDfcBp%*$vJvrlmigM6O5 zrVnC|3{ULA(-L26rATE#Fyj4?{S#dCg6j?cvqLj=j?{VaL^<5sc$%DVQ!oW zHzTD9_AA?8ayT~5xHo1W42O2N|LT3&S9tr0XlSIpK*99unKap6WYkxsp~}i+vAH{{ zK+HF*LhY#t@HWyvOTrx%26&ujLgEF*R*IKvCFySBRkJF4+A)d4d7Jd$-$_anxWiAH z-IB%J#$Z||_ab?}aTSdot&AVbFDp>%|<@7@_7eztn<*=f^^ zI_>+sV5$(9YO#fm+Ij8U6r7;Jx6c{xr6*PsCTd0yO4DMHpF6n(=DeW8WN?2Tq`qXq zGvAj;ic3t#rYE66S%5h|moO1*(ddNYsX>As1W#MG^DE}1wY_vclMrg|a^|kBaTi0K z02X{%230u0GM$NRX#WgsK_4yW^kh11g$d$E)}i4JtxOrKp0OImX#BO*q-Z)`0@x1Q zfrJ4eF0W+$Q#}nwJOBG{8%^_(bYunBX>O!a*hyja@}uvj-oI%krp#A(-u?m-5hMOy zhiX0y;kO{Gf5&l^4L|#fiVv*>c%LhBs>1MI3I=u!?1=0uPGj!fmHe_Tz|?VW=x!?R z9-iIjXXqBMkyhHnz@zZGp#5-3cH@fE)l{j3mLcko;3WaCY~DKwO{WM$oA`OI`Zvke&#!0S zu(INAgtF;4*IgQyqlf=&Nx`D~4g6XrY>^ArAEtA%U&E&tKF8EGdu|_A#m#2h&r-;L^&(#LOB<{F zd6H>zpl(P?<>kuv?%EKH_w};^u=dzoIqE`2MG{#Qv&F4*{%G|Qm6BUs?)={*VrE0) zx>EOzqAvQI8=05g`04s1&`l}&C$zt^J+}!Mn-yJ&O6l4d)kTi9M9@mWCX;@-P$Cqv zC}Urpl)~F#dKcqsc!YE{CWDQD=_nOpD#(3X%^3(^pm~J07l+0GiMO~l&r!W>HM#Z- zi1wsCKG1clnqm)3$)3>VahFa+cs9E46ZFEq{Z|Y*x;uh126Z~4jz|-mKzJn#@sA1D z{+*`FNrqLT7P$ajtB?4MVgn4)^qT^&{w6f-SD#C@vpeT|?l=c0L`OqVjQf{9&ktiW z*%@%o`j6GD%~-uqDq+G3O%Ii{OY%O`{h7 ztc0{=fsA@kwdPf&$sGNnmS=3k&L=(DZ5J{ch9sdr?f!~q;U=(>N?*k14|kW@7-k7}ACq^Ew+2h-)^M4oQlu>iIVjE+Zv;F8+@z`n z*v}0`Wzl5M4ae&$157fNxHvaA*0Yw+d-^q>31ss{xL+aMOQWMkPl}9wg$?F{ag6Nb zzv|A3=|a8}NEBu>w|6&^vS4FRmgv@ayvoW zH!g2+I@y6*PFU%5faZx`1t9&5k0ai*EnXVp0V$#6f)p+Cf)@oq@4 z#I>T6Cg(lOor^qY&wBM5Y1k%!NBvc6uZoz0Z1&&`V* zR9#kdk$p@GVtj8Ib}Nh?pMUTrcEzn~e*sgjyXUClhIPU&zf?$@6|>!+PAzaTMFbZ| zV)ho@={22vW50nOD=b+gmfp@?>s$oyAxwf5kEzS#uXl5VSu&wAF4Ru8B!brj&LRVi zC!J|m$CE5P)?IRjc;m`Udn@DG6K9o8iwMafX{%Z2zPl47L6P+j+=0zpRUvmKnmogP z@?JBqT>=6^9P+f3WKB@wx3jyB2S~MhV9%9SOxTc^ibT?5sm9J@6~*A^$R644Y!+sB z&n6MJZppq^w+d>=7vCr{jIu;STo2t2pC)rXIvcvBuemcxCZ*mtll*}|U_va!#FS*j z#QsBU0G-M7Nf4CoRl*I4E7eJe41$*+VOOI=$)^g8(#U&`Ct5jH7W7l@DOW};aczyh z37_O%yMnKYXK#0f@p+&y1#^``B(utzk4&CKGy&NS&rx>L)gfH4PK1TV9bxWH!{_LM zKIf0>s2%w@50E)l>Ni7aNrlh6_x7@HOAhk|hB}W%ca>}L3&88E%+2~DjCLKCX)D6CdP8yzkjC&$az9ruVibb6I zh;C-RN(kr3PdmcFU8W(uV$NV5{F-M-RJdwN;z(Ti=hHGZ@r4g*aeiYLa(`8Rs6V3~ zfE^s8X!Skjz82JF;$}Of2{9HKh+6kXh3nSOHE_v1G8rh%fdrVX$lBcwalXGzI=57f zB7te2@9K9^RlW2dB7MK|GydJ5WZ1f3J#=^B0<%GgPov0HI(OrDAq8@O++jusI1&b%-2S46yQ=9U*D=4>1P6nXx%Oa3vWmDia-;~#HiZgqBMbtb zvdBW3<_mF&5@9_h5g6`1G)ajMYD!Al;$?xb4dJujsFSNciCSC=9+77`3CJXIz$1q= z3(q7o4e@%6@G7QoHJ|yAeO^Ag3JMSJDZ8JccSpIDs<$n;F%;?i6%28}1^FFRv z&bkvm;j|SIxH{9x=R&K2^ptuk^tkau8*9zy-$e5;Ids6+&FSaa=u8JQ5*>WZ9E%qgyCV?|5ieg}U>!OE3qI zu6hq#dp8^-d}#MmMf3c1Dnn(9jQu6Vryy+cR8+|8)?s@%Qx>xwhFoH9>w^2vRL~-D2cMJlDaYK*HFo_Q*zeGi(9$()x`%&B3hL*7Evi&`Ey3%BJQfxw1$1nBc;;7c`{s99t#hco(BK&Ub3apGJ-W{%WWu(R5Wr~gul#jv zhE0(>!V$2}8LM&@4p!xG63dF4FU-UBCrVZpWqny0ni#4qI-Mw6gj@na!K;vIq&#*P z`1;4%c*T?}qsHgX_3uM=SYje}7Y2vjILV@Ft4WtXjQLba!tAJLdxzw)gt#~X;&Mzx zcu&cYy-(TUgJnmzL9WrA(2X?;a@3#^$1dAVwlYDX9sa9FLWsRfryA<^GWG5qDGOh~ zbdC=qgq7%m&{to$PDb``QVdvUo#?vW*PFq_VXqBH8r+Re?(1J^AUVgX=Q>rua=$Da z1I=4h-8t(Illo%U!VL27{)@oa&C9A{Ta!!s%>Sa#I-mP@=fXSWt+k(mky# z%K3>S`qW)OseIaa79XfG_IN3E#&XXKaFO9(;iD|MKcKZ;9eVM2oPPM>V>?lZM7!_? z21EFiHCmDye17gJsK$tw(*z#%^Do0?zh{6!2W4UjoWo2PMh{!k~`QD#MRopp}?sM_;x$Q)AFMHy&dtL;NZi!i2zhZ($F*|~a zxHu(Gqc4J;1d_3>-*uq%sOndY%Zni+_w6FS#cHR~8rIL1FpW0aozF`dNJl(!PA?x| zlKvnRP=1m0azQIB?EW)tQA#)_j5qK0cXdnO1LA*`Dinb=bG3z29l$#;QdUuciid~C z`dOZpCzbLXgWILW{yY{iuA*-SX?u&)ZJQP4b-?oI|HrIR@% z!?WYeXI`(vmYEo;!k8>;4dS-fvR;%qb$ulusLAyFH9ZT3z?#DH!xs_94P^48%UrGw;P<18e)5E4 z_j!1jw7eTF|5|AP3vod%>{zN3LoN6s%r1%Q-SMYxz3rJw?c)*YeH#;oW^s}6L0N5e z3!i~A?9h@SA_T_f9hbJlSsLBfBN3P{4_0gl=SKlN1=)%na%ltW-BtRnxzm>8-%RD| z%*SDE8;NOXXn5>bAQKZ4*D&$n%vQX-ytD0I+~}ly!OZ$C@BjWtF#q$-wD0a-X|+4) z#>_Cm@&poh|FJhQ`=5OMNoiWPJ6T0kn&z2;Ybz;N1{!#|w(1MWgdHc1(BTPu$YBjr zJ9Z5UDmoJk1G%Sn2j+Pizbug~QnJFtApPoW@H+Nf0)nA39*;i9-!YiaSG`W@sK-5+ZyabN*j!!mI_!7*v)paY(PP_qhR6#Y zRFD+&F}>-cU?7M0Sv(ISe5e>5&t2wRw%mv}Bv?DyaKPJZHratbN)2)myN}D(bCd?z z0w=T;x7H|;k&0^>!~6wgl1HM~lGvGo{C7epmplbzs3hy{s<{SxhY`DEQY$meg0k@Aw`y z?)F0m+R;^P`}^LjMX#gw?ZsAZGWV4L|M|{`OWhBqrbgh_>l+fXvtyf`wv1Q00$i3J z8*Ju}cgw5uL1>ZkId`qc3CI5Z`}gY}KMDFP!w!-RE}NbR9J;Xz?Ki08LL@kJ3c)&+ zn>aju>v!{Zo$7uTxoY_yXPblq?yQF$ceWfB6TzgoqB=T6-@bigHSP;XXwTtZuos*4 zaD%K2v2>!oD3mj--a4JDjB@f>%pQF}FfIBb z9e7iR60ekxabjb|=&IxK)=JNzA8+lcrdwSpp@-f`+dladM?7*>d?NbfmSgkEiF@Dr zbMA$lnLV`UEhOlOpJZv4yw~56@VP(#{Q2__Pg)cR>r>GU{i|1f*Zc#$#x)Q~Gy=7d z!3|q_qj~JkQ+n)xnNTbUG& z2~|vtDgn!7>mGjBZP_Ob|Fur8Zlmp1y?%>8gMEiXcmjGkN&s&Z6s{(#lm-v1Bc*Wt=k=|Kak+n~>c(yy}*BwG8{#d|hbtZ@k{GXhMkkZXIR z@)xLoI(1?P{bB-(-!K1ZwBqb;x#vyW6vlKU9v_^)LPU-lf)UB|+DU&D?As7N_)%W- zxLu=Yd_GH;(0CN*ZwhLHO*Glv%a0Gs^ALaa9NTX2F_qsF8${&s(S%U&Ql{e8SuWW8F2V+n+)8%lpL^7tR#YhU;S!iN7)h z+3&`?4-h{-+V=iVBKsx#J73lM`YM;4Nr1=tME~-^=l^BL9t=@S9V1X*2OoyTc2+8z8m@aG5YR3tjE!oVx(C$4?s64{|%Q^m~QDo8_j z!B#BS0#hwLHWNOd4zE7HF;mjkW*|%Yx?o%ru5L6zi5#-aU~#?a%(r@VcQUCcoCoT_ z%+rCVgMm)QaA*)Bx@ewSct9GaGhi@KP`;LL{Nn>Vhs_*rfh`ey?a%1SWgB=%lOA)2 z1s0b6%L+hT%7zdN0v}4!-;mYdWCzl&|K?kq0SIh!#;k{_w1ZD~Vr(n)2|-1a6@IFM zs|>7&Nk68tGWp;B4X2l+y`!zC6y9GLU-3~^p+IPzE_|wYG|vcf>{u}F0}qO`Jeo`w zRIj}^oCqn9eo$E~GGa;e)Ad85nFT>MVq;@duAHy4P@O%vESVwjbp z#Ttku4HC`kis4>*UOpWO<~_HqjRZLa7Qg^0OUttBsIjs##{I=s0{kfWcj+8&LD4zC z?YbHLU8T?DJ0|G(_xZ%+q!BCOSF=&FOdbbVuy|hUHuT|X>QO%Oy_xC=KO!f?5PG_I z(sNsMfv#Q1%1U<-JtJe!Sl)E?h4AAw+}+ht*yIi_(?sxYmh=OTWoyD*;F5w83$RSSM|Xp$v#Ll11s(~9 zmV%$3*wob291t8bkH1*wN6VexTYmohIcCmrebxCCBjj_t5<+0mRoNK&)G42*BvPqi zviG}kd#0MaPUkg*f|?rc#fuk^vd#q(4s%SQ+ihwvJ$R7gZbb6;pmJz+czdYbY0aOW zo;tSOpAP-_`7;0zT#(aGeo)7Sk7k{pJ4e5Gg8&90M6#eejNF(0a2bSQ=!}6Enp`S# zyZLlCV=}Vak_X-9NES-@G;+Iv;T~IZa%~&{Q_SSS zBIdRg*VcZ)=XMzF_poQ^ele|?kduSaZV(3|4B_0aX)C?1GKo$xAJp))H)iPPo<6fe zLazIS*?x~6P=*sj#MzVOwiJOyEg7tD$S0u35$96!&^()LmKS?-tO4E9se*aA{4$#UVK!yRx^M16UeVGNMJ^t*R>VW*Sk9L6~^VhnkTzRP#~AJ|_Y zV348awy;~>T^`J)c4DwM%U2X)lfi|E27u8vUjH7G=6)m&ZW@(LfRNnxnDX*)F-q62 zRlNfHB~?C393J3?c}pZ2p*j8w05;u!m!IwQ6yCiQfWK4XG`sgeD)2wwgBJeMJvJ7W_vydgmi-HkVT%#X9G z;Lr7A%+Yez0GviiMJ14>^Bx<39lXwSf@^P~`{P~=pt})rSrgt~9z@;Wd*kBa!9ZO1 zX9K`+MU(JiTUc0JA2cpQbM#VYQxjotD4Lk0Bmz)qpu`u__0_1?{-Azl4a66Z=uyWVGd_z!G#n!O%1&_(y15@TyVMxNFL`W{5~3miI+ANPn(e-w z7Z#tCY&%o<@ZrOIK-ma|eFZjuea5+PIyf5@9stbhjP~R2ruDXm!HCGnAc24h9U$|1^4f2ry(jAf0Eu9dlgE9JA@2Ra4)O!4Mme5@ zgoF}3uK7}%he)d^F(}^PF#lcgnddZM_#;mF7pNW?;j-3;^ml8k0Nl%uU%$iwRyy8D zHH@5A?xy@yM;sE5F*BD4k=as*+mu;5VK2YB}7#Y_BiAsTLev8aUqZNzxOou_|$33c~FG~xm8Hy;NutF)FHeU?Fm#y zF_IL;S>e(H{?qHe7Wo%3l4|Pe67{x#aX7cM4BJhBFoQ<=!`+n>z>3O%yg=s$jP09y zU*W-_A!T*-kPe@_p7*R2l$0=FiHW^^3j;p#Jl_uZ^a&RzWB`QHCj*Rsu+aPl;9N`q zFhT9pdWBz8N&7B6*KWDP*c2ZEjel@}%)LEZLk%WLe~&Fwzyr#+K$Zb-L!pM})nUxU zgo;+>@Ax|vf}XT{fMGyR2ao~}F8AL^gD+2h^!Tmf!6L>+P$v61MGV|%)K0JZTBmU&3v(i6Y?HlZlC}n zzc6TjxSV$fbnJLc3?srR7BZb24vGlsA6I~CI&Ljb4M1<3l~Es)7PK z2y8a95fUhL=j6mw6uiJSHZj?oS_Z=kB$e&?Miy)w9EZtw+%OOXR6>7Htn>2osmiwI z(%4MK+B}@-lV$b%9xi?ip*(e#E*}kuVF(5T5ks^{rTaZA2sEjSBImj|7yZjE(ULtj zO?CCv)iCn!HjRrK1+cezceHaeHg$I-J2$KLJS!KT%4%xQS{GwMIIUMUF7cH={-Zg| z0`(OstQQ7=|D4e~UtmHfsIrE+dv{Fhn=$OtMZQec&#fkXj>K4UOt08gyxX?LHQ%G^zWUdPk&=(uAD z3COgtwG17o?o~f{9c&2kxE~SatP(5u4RsKP^ye-n0zBO0|VGX1v%c{B^A@_D>ll?O)Kub8OUIJu*B5-~1iin8dtde6ghRMy%h1j)U;A>PH#DKfW z1-aM#d|WC|qr9K8ED$_74+(l-U*CHm%M$`X?!RkU2tWb}(01H@_#j{0R@;#GzK)BD zkpSrp?ou($4kT$clCsxLu(f%-?#C2B>CkDkjd_>BB_Z$yh%!V&h^T}V9o&+W%M({X z<$kTf3z-&s4m;gDAbF;j)PRSBgHw~QL7TKXD*V)!NF(>2{WIWfWV#_}tM=hn>gCe_8-JZYFkVI(Mak<79+PYF>rsmAar`V#+mR9?!oRZ3^rz~iz>2{?q%JuVtH z9C<-X55A*aM9dgQ$WjRFSq}kMS~H8VcPerL87vH)v5Dc8IOtbSLNo)r0?qfmkjl{!Qdic(ZmWDgXY<&FpKt2l+? z^6{#lA7C*FRf6v}zObgIoTK1dY{U$0h^nYy19AmTY3l=V>#2smZ-Jgib*Wf#AZaOA zFrL|H61iDZT2_YL`4wcK5+I3O!&U?0OC{Lh;NVbyINB`Ku?hvAtfYWO)zs8%PnT={ z*Z{qv9sq~*)?M3S!_|IGsl67<*NF8_BDniCU2G8Zsi~%!(U_u0Q?JPcOqN)y>jA87 z61qcrTH13k_|=_{Iu#svzIfz=0OPV*&$2?M4Q`Sg6J^;W`c;v`SMzME@dkJZNH1F7J|HdmTpu zSviafUcJA+KAHVy8pTt*akHIaZrC_}=v25B)^FS$PbtRw@fRTo0PBS&tWkk8RCacD zOacN;7N6HiKS4*i-{>S5QVeFGSRo7h2?NVltx$~-^o{#(vZpLLL7x=V5NAG8@B#~k zk&&^lxiNTirt*;w_rm^V|KImyQ{`SRgn4zvm1c=G^epM=( zlp9DIFn6a{-A898qf3HmPZQp+JWa8{=PF)>#-P8noucxPi6vS@?tA^VBDDJ8BK7lU z2J}g8(?Q(F0x@ytY=<90psDleKqc2agT%G@i{19|4^4w-GgZTssijs(naH+8>bS z!^Kvk8ZGo(2m@Dt_9Y>L(g8_4`KPi#b^az~%XXr2^2{`FP7DK&IHmVrivokUG%V@St3(2EsCMa;M^i z>Cx#R%KR>q=*#}T_4(lKDPBb1&2qso>kMo z2hhWSn5>720@@IQCvul_WJyjQ6)a!oVtHqmA1}F~`XdnSgg1vX!T^??nyYr%$uKwg zS9A_!3wj;L`Q5_-DrHR5smDwJmuilbEGf!Eof%9aRjMXhsUcP{E>bWa4x^k-XQk+(+>uZ2Ob;8D5lwlaFgYc@MA5S;;0YevQNF%LL7XQFaiX0C_>p9(KeC} zvCTM$5)u*upcU$B`3ad^7c7+j`WhL|NK$8ISU>u0}o>hAgk$C_e zf=(-z-y)Cs7zMPtUSH1J_1}0@HLW27MXt_nnGA55iJR-O+r#q5L9#m2^6YNgYfm=Wjo?`-u4Hf2Xgqf zGhbm*QA8&!`iyYi)bHOnd|#lAu-n;}bad3h!sLK6Ks9Vn&lVmId5)pI+iS_WoWFlR z?9bJs7bd@b*`1*Q14sJ8!ISo*IfL9^nx#F0xi+Abb{C$@X0Hh}DBwd8&F4*EgkvM)baM}R^|MiT}=IT27y zx`2#gb)TjE^*u}qvwoy@?Z?%rQdRT0ItC~`19>x|x*pmogch+-4D#6DmAdPj8Ft@6 z9PQS{C8U5E+jGC!NbSF|1vL)JF{kI^fGAJ!aWp$7Pb|!MXQF6(vUn8U;~ol*0iqBq z{eRoewDM^bWN|u`vF`Fc>%xAI-q6mWP9;9IRBRuR^vGQNW@el!8-zg8=C*Cwp^YZx z#|OIejJ}(G7YTa;S<>8XQ67+uH2X}@&7jq|#f1qP_Mn3~eY;R8w>)*(662afEhr3x zT-)XieED<^B#?PQ9(TX|VEIbrXTe|@*0L-jZ zEJ?u3UWjO(2x!1#5fC5(xfKYr&=kJ0u>mTov1z^@a~O!~p$%lhT}7b9gY;27BSxF_ zwtQN&crv1Q8>w3b)GsK22c$WZ&jlIM=OOvvD-7y9kaUr9J)axrEvBUr*614%L&ks( ziAz9G@bxPucvPq;q*Do19>9zM2^iXM0U^%;`d%QvhjzcmEUzu}p{c}HFI59QN@)6D z#5w%Frio8&rGUSrbBPa%_U4D-?vX71lTBi~9&7d}Jj0JkFAxe~gmN%ICen8LW?#03 z`(;5GemI>oXmqRGX+>IGd@JskVd@LLi15b&wc#77nC8MMpRgVtlT!CZJI?OQ98IGq zOOF+ToP(C`;}rq=`J(Vf-bP=1_P>^=x4%nZOK+kyjJp%nA^xxT2tr6Vt5iqXSTk%0 zg(}E3UU?y_(=vHtv=M+zAsGa$8nL3uKO+I%#DuFVpH!)Fojx-r#!xhTiJ+Tw^de++ z<^l)qYae<61TsnfBFOLIth#2_j_mBE?~=N{i^EzROaHv4PYe9yM>Ry{#n$?P@Vz^e z>0;eJn@*rNLsh06d$ee0!mKk3(8K~$=7LD#I7c9xVBfc{YxHlZd=$j1^iu62?Y}y1L@cV z8u%?#OIr_1p3brD=LkL0ii!hHqk@_y;T>`ot1s1bP@HI+ z^_Y3G6hJcpPz4|Z0u2znKv~QKpb!Xq;05$P;LuShRwW4?-Mi>nKMBVZ5}l>7*7ek; zO`0YQ)oyx6l$&*60}(Yy8PTPACL`JeKx98e0jxhzII3rWGD^YBtRV0L6#+=GH4}`q zv9R~j!IsFt`_CYO`7C)2mp&~jHK8?nKZ5+zKc z(`L?={nHbnGEs-}?#>!mMZ_zJsHyU!f`nUNQbmgRjjEQUpJ80v_`PF)MOpP(hl_<6wUttIRrSjvDSwF)dh@44o`?mw^?ar9+g zeDyT3C5~iFg0Ic-Apj^c;!NfRDx3S|jtpwSEA{P&|#o?srI-2I@~_t@-hMpEoSLF<3|?_MtheKN*x`k8b&7 zFzIbbMV0$e8b=QguZ&%`gdKbH6gPAX+I69zK`SZ@_++nrYe0=w92mr~(*a*i;LWSH zk$T>dCrZECQumEviVZ~!b@#%v@B4QuE-o$#ca>5#V}Cqgzg08&W6cF5l2=}4FKkJD zm<&8mXmIiHjW%)KK${Z+H&aPzC)cPBghGJ!f=tqOz9y&j_~^K8?CgG*)rbWqtaEvk zH8Omg%7j8f9Czp4H+^Jdx?jj8me`?twSM&^4byTfjUnW^i=dAK%nD6sZav2j26 z@yO^!fnp^}NBrHrNXU&L$Q3>6(jj~bznI3^5-X=lhcYQv{aNp^Y+SO5ih1 z1jejPDWV1z_vO(`E(m82J%qEYpzv)brZiICCm_m&ZQzU)b$@a$5n6o|?E+SBAfg&I z&gUu7D*=tYKMLQZ{}gKCoW2Y0y!?Y9d|u-Tt=Vxxm-L`%hMY5s*lsY|To4{k1c7== zl^qY}P~9FCc>HegJCgd%7Gn>;BOPm(y?5WHab@H*2M%dwKh#2^P;y2A_e1{&5T@tI zD2h0>kON}z5ZqGqG6($id*$e;(z zqm2^ja*TSWTHx*DuRaq=9O2051!|1Rv$1u?vT1U%%++M+4f*-7!uQ8;r@o_N%F0+P zh&m0H5ug?KekC^m^k#7Hq(JE|{YwF^j|KxZCh{HQ?g!n}53D|%b^U4I`QAt6+Vjes z-PY7hC1^k-a{F{Zq->Sm<+|oNoO&%&rMoId(^!Y@wT`*zz6e#mCq835wkQ>)2zDSt zo{nsZCw3sz#i}8WBzA$c_k3Cz7~v~gkh8@Y-N_5@@JLugGKkB*n@wTvNu*nqHRK@| z1$^T8gxy28`V#dIf!+%|JyIG{B252TGvEYK)0B`YFNAb$okdJ*i;GX$vjQUtAIk5m zoREh-JeQWZd>i()k8MaEqS*ZL%t-%?^?l-(RbK0p)jf7@blo;!(m_yrw}U4Fz$f1T zBWr#$a+b-)J}YSZmNYPyO6PsDXC}>8B$7m$RtM(n307H8A%BP*>Wk0c4k2P@X-bqK0&7w2_+CXcjY^-nJ*V!S#r(uW{0Jpp zTik_%t~~{=fZr#1T9lG_WKQoKOd%P?9=;wKB3qfD5~VXOu+5+dYV;d#_NJ&wfA49* zxNzqh;+qr`5#sP&rKIJ`#B7`f{KEJ~9QZ9PWl~`{Nx~Mz=Y>7$a!Be*6BLY7ZOT0! zHcnD9VS7o;Q5-pHF{2ffzmpM!CPZXggt{?FCC|Cwe*(0+gK z>A>iXM>D4Aj@?3hWK=vxGyJg@Fvg%KMoj&Ve_yi1vSc|4e7e1rh+;0a@5s2iGQ zRaQkAcWfr^q?rl|=S>JD#GOBTgI%G(l_|c;lQrUx^eJNdlp=K~Z`^zqde$upJ$m?D zXg*1MdUf zt?}<;M5ToB%L-%h%3!H|UUD7Uj)y*DHuER@-YcY;UU-E(+tdcEG9NJW0?@hm_rZsl zx9J9JiJ&?$->d#sW+oNAm`zJ29Mw%0zcn@R;=? zaYaK~6u>mm{WDGfJiqt_#ng=L_yVn7=ck}_b5S}3kkOuWKLPIl?<4<=CA~|6F#X7n zGSdhmA$~6W=#~KWdi?iL%lZ4?--mv!?0@eV+(?N5bmjl|$oK63_hzPl59BW1zjwU+ z`*+GT|L2kaKb;^Mv>p@NMgDtJpfE@RB>k|D@Zal#J7a2Gyr7Dlc&e!r=W3j zaUgt*%H07)ajX5^zhf?6NsAJiyj?W3w8DW@{z9YtB6EKCUz-+S1dhAlnl@5&?E$Z> z(5c@IBps^It~~|@q3nwX8!lqtG{67?>%zi<=e#1&u#9>`vz)qU1((jIX`veh!J%yP zuT)irLKzJ}p!F%9clzoqCLxez-@DfxU^fTUoCTGDHLIb9d1wpOs;U_Q zTqI17tmUf!*dzcoN>>}S9|NP-D%5|v+~EV)z~+5zzdzrIL8p)@0<3&&zW46HQe5|Y zL#3w$X!00ft_ekovuF#Ri_JBok&_)+b^7MvM0>~X8PZ5IfEHxgEfRO2CfhX}l`v{<0o`6(m?B(I%0kv)(c0N7&-(-Of z8B|=<{C`+`?|7`+@O}KYR~eOPSy7^*B_xCrm5`MXdNhr5*$@ik^@-qqZNQ-ZQn4TL7)O;4^1l zYThX~_F|=$1P6HCRebK++S;$=?<;tFz3Qgs&VZ%<*=-O9p$gz=r+q;t-Yfx}l>^zU zvHF>3->yA+cP9guqXJEqu;U5~zv%i0$dg9${y&fHPI{yj^ z1^tf$*4Eo`&4mLO2Py6PhC@+l;5PmqY+ecWfse+MD)bX8(_8S7{>8-!E0N;UYF%@0 z&&AQN7ctUQfiFpK1;9=RA^m}uR(N@Y9dr$7 zbaIW+Bm%;HeeE7GQv*c`fHBhIN5c`c3d7t>*S>u-0{5{ic4>YyI6F7*-3unD{gYTP z)-{KRnzNa(he5US$HoDyHr9MDw&JIw63+F&au7+QWu2g#18K{qbY>G!&Mk~eIomjH zM@8{WHdRfWM7KAz+etQ>#_Ev6pg-esB|KXi3Q;ium!?r1ybMk;2&xbqly};W1}OhM z!4&c!5B?){e+N2^gs*zy@zLb0VvD-laKG6H)M`e$_85-6!c_WB{aq206F=%SoC7)*rP;8c05)dh&l&Bv9Nr=t{@L1?IX6;Ta!LXS(nb7%_=$I&uE5j+BCL( z{e`mqd>q(#{veLXZY$y>Om*=0$6q_K+?OmZ4M;mQD^V;0R`8jPXo29kgJc|(8*?6|UKx^}T))`d~@T)y4{)$TXYb2Qhc{f1Rbt{G0;G)NNfb1v%dpah?F z%{*Mgmt5}`re7GAoSdx1?=A}cL(R7W2fOJ}Gjzv5{PC&r`x}iG^Zsb%&p^rphA2Iy zc;d?`(e2w`f|9h=OXi{^Z}{E2*PI5vn30eVX+VW(Ie^le(b2|FtU%5b-n1zmo#H#Y zFRY01n!NyW@Zt4J1D66)|4Fi1qqUoac2$1QRmO#mGEbcC9UR7RBXnQ`mDf_mamj|E z4@YFUMEOJLx~3JhTMaTPxKVjV;JzSf^>sH$v7})I%5nbOa8dP4=%e}x@A+CKw2#0iGexVf z%Zfy75Y;lxt650^$MV~hds_bQmfP<+``o2SFEwh%g<>%IPvPhU)rb(7EoHl*@;AxSh? zL1U_f1|DuuhHx!84An@jg{!e0Gzf!nmp+clF5@#7H*Gc+AR=TNx4^&~9? z+^IkLE{=-F`0LGg=PFGXm>IaA%R+G8^0m ztqiSX!pd*Tx7$eRc(PRA7G2YxWIYA&B!v11X4h41)ul4 z9lGOYNVLF2Ut=R$_~U;tk@$7IH@}9ty#=z`90}T-;JOF%BdX720xf&7)*ieB@z>IoGPXp*$4qg6~qD@p+7!)TleFj zURoDlCXT4xQx_FAK3b2v&(wUcGu%er#{6PWl<| zv1%SsQBlRlbmJ^+J92p&p{}YjWRN8u!ReMi)64a z?eU%*JlQjW?Q%0Bf)<*}wRLXrMEH)OhB-}-K(_sS4wF8z7DS~_V?(O*XtGE8w zkN-hC3SW{3%$nf6wCI9x0cI!d?Q>8_Ah<~5qRX=Sn@ZBqF-G12x;76X8+VTe{ONT4p4iR8?^tk(+ujXJF-re$$^8Xzgumwkf;S0YdrlQW9H zHz;)6f^hAR($F3an*Vmq#p?ogtF46MR~)+|NrR(7IEzhjTOg>$)uaqP5?!VEe_t#l zWKMc>)BrXfbE0WMet?wxMt;6DX#pSI1g#56c5uILo6z+9FW{)CG}8VFIpc3Rs5ft- z$#w-5!i$=k?#K77D{H>!>OM+x1tfqpwWZ}5ON?*FI$;{J|ZMQL=3QJ z4|Rjm-%qrPF>r7rIuuEG)vHGDC7%~D+F-v@jC@1y@tdKX&4KWI%~cb6BmC!E?Vzs9BWjKKD5 zo~r+SFBN+7sBbPfGxzOH|L!y|p70}-L9d=>)3&qi|Fb|`zT|~mHnY>#v(sv4gcYZI zTYPQ}qg&#uS==a;B0w?|Km^n&g@xZMab0E1Iuma6-Me=wq>fL(u`F)-_dEX1BWo@C zz&niYS~Snk{MzBz_dckFPu>Fp#c4s1J_FypISS^4u&{8P*TQTcR6P*4 zU4_L!YRa*H-*w`@Z@QhG*0Y8-%!#AyUBt4EwC3@VBK|1xl-kO(jFSth>}913^!eS3 z!8T!S%tuc$>SP#~E?iIIkSkr)XX{=)bPHhnPQwznJqS4rRCV1So+zvL3*=wBis~C8 z(~vOv*`%g(z$coDE=v&MBq7Tqfg^EL%=7-gJFb>&eJwTiVcM4pJTt%ii@s0wdP%g{ zmCmg{|9)+s6n#^{*f_nm;Rf5rDyny^ipqih#*8qaV#c%mA1s@<=!n5Tp#mj@ZHrYN z)s-K}(e{Sfc+oEYrD-PTp|6QsKmBw}I$b7@b+p6Y7g+`lq07(2sPL$$K#;dmKIUHg z^G=fF$SJ0NPiyvmYqwL1cK=nHRz^DU82aFGpDU3^l!uRbFf`4s4)>-x->#ajx$~v! z;+Rn&vNdDw)8+DbRi8KQK5pB5HtW+hT%^f!pOPt& zFb!hJT}?my>kXIbm~h7{lLE{B(z}Wo?%Oxa-Hh_xmg-Y!WIC!c<3Mp45i#vf_4&l; zILP$IW##)dE=ycolsF`rgoL`!ueJx0rmYSxzrb-bN6wh|^(-nDbzaDENRdDU%8XTs zOQjo-QjzokQJF#!*H0(V8B)qQ_2x}~qHg@SW)`Yw^-SReM+J+{b?F&%nsJ8P;_UWy z+&@m+I5WJ<^k-iAY`f1dZ%Wsp`aG-*wz z$4Ai{WcX6gbYmDlZ&fAj^`^+bp|{`Z`!>~O1W;$dS5%E&vp=8gw3-98?zW|;S_HwP zdKOT>5t9ucNmhz=@z^1fr$Pdvdppgj;Fz%SLuAYbp@5 zjowjDo5f-;x_fp_$H3H)Dc8&;YX%)l)5;Kgkx$`j3HLaiRJs$wBVi6wBjvmL6Qo(H-+rK2lfFE>o)Tx>T1ca;!HB(j zN7^oaeDS_bDMVArj#mHPjbaictmzxRJk-%U;&W>Gc>U5bIJCpcU(w;}$N4_*IuW3WABWLHUy$JW@- z1KUfaUeJCKiqqZOF}&HQSG7)=R^DlI_~jc@3|tEfOG4>gr>mD(A?!I}V$)j4-Q3)q z_;nFFbKg%}mM&)^_l1fhB>yckUuq+?b~kwCr7nIs>N?~odowCZ|L50#!;Ox~17$F8 z?1PS7x88q$P1Br6=I?a^+h;zGyPo-OHfPPhu}r~%K0p2D{Oor#0U6!&-Q)QQb8-eb z_Y}WuQCua#aQI>j-RzB9y`i&?GMV$<VMx;7!a~_=xn6Kp5aSLh6yEo4Q)oc`yiobl25&*33l<03bqkocTVId*8Z{g=qI7 zmOGi0MI7R_K5~w_|!SW!?BuF8K1xqj~aif`naiul{Cghzgg%%re`W1>XVHSviBi z((*2~@^!~wS50{SVj2A~P`-bO-fJIy-!et@l=Z8v3|8e^DY1?Yc>6xy&?89eDLct< z`zYh><4lalX}xCk_+)K==844CE#=Z&jAb%uVR#|(n%i)ew@q2+sM$>he(%NQ&VzD3 zZ=Qxs?-FO)@U<;y-8$nilh&5FGew&QA93E`+aFA%YG4&}7z{hg+RgsHK(-CP=Wi~O zLPNX_lHvBj(m%3u+~4eh8%H>?qbvca6G%QDxCDUucjYM|@^}?;(>I8lG{`wXWpSwOiJll=Rkvoq9 zDK$rSjk@b(*36Yk8PD0>#8?YJWUhv)M0D8|czw4wy5ZVar?VeK`h{*^s(~^zeKDgsJdMBG> zT!g+qP(`8y?Cb?n5z@FIbrlfKivdO}A&$q3@Dp5yVhR9_6w)X$Hd@c2|0Onc7Kf1( zvH7jTK`jI*2Ox7}c0CL-9u|MG%z?5Z{eJ`Ejg?9&I$CcSqQnwjzP)CB|9WWo+l3H` zvH}I$4)HkA(_RXuesYnmze^RL?DLsB%aG3h^OtEBOSzwfk8+W(Rw!;5A0BzeWryOb zhU^ukp0bZ>y1RNW9+GGAnD;IZH}tJL)8!M;;U9&P%;>Cy030 zK^)olIr-MOz_%giGeFUr01LhN^8(oKVUGdW=|c2)Z}|oZxR+ zL52_6bZk4rZD2#y@drb;AMp<3-614!Js8a@+(szj*%JGE0nzdU`?>40$kB_gWd*2p zbd^bBx+!r04$tF@6q6?4Ow|Eid{F*zwFpV4ejSnPDJCVdfZhTL{AP5Ykl`Wkti}e7 zlvK}X6dxMnh$Yl_Y^%WiKR|hxJpVqVocbgx*uGt;k@49(Fan|C_{^5}P2_%~D!1JX_K<90!)} z(0sNLDYJerR%rFZi`UJyWOaGtJLGUqg><~X4^J;#nKMeGah_Q|*S%Eu;aK^z5#{-) z18i?x6>OVFlcP-9cN#3RYuv0oa^~?_-IhckGXB=P9oLhg+d@gIu1Eb z&MT3sUS9GLfYRST7E@MlD%p|zB&HHM2({y-WsW&0?k=!&9K|geX>g4G74;l(&48wv z=2aCpIPyGstccgAFE#lf84qY3!PinK5R#RXJ_L;ZEWEKLU%t4u z5@I^|H4v)|ayw8Yp;bHz_ke<7z%OKfIuAvZO#vF;)x(}x}R~?uZtc3TW7LJi zw56rI!dPVKk{kE*RDPd$g1UI6(F!hw&4uaLtJxALrZ0lH z&bR2Le|40NR(H|kB5<$BVXf2#(hJ5-vf({Dz#!s80vo#&d-j`?2+GONFJg`H>cUl&rVqs)m=KmOyBHEN9A}J{vlDhQuIg4(J4vj#d zutdpk?ShQZ5wFQIzP}Zl`nO>i4``c&t=V;`AWuBy-Ye+D$c`ji%YwLzpv+DGD)n#O zPMx;V0#KvHi;{KaX&SF4mf}4{-(v?qm3Kvtzjsj4G5fL2Bkyy|pZI&ZJ)_aFOeR|6 z>FF{PR|O#c&n>x2?H$IyzgE|+#vN%pJ=*D0|7(04ft7Ce`S%ojJC=P943Hn8zRW0| zisjk-pu(Ri0jIXdGGpn1mY)Fq73+#c*jSna?Yg7jEx&g6c}>BEA#}X0TN67RiMs^I z2u%}n5M!d@vcGGOQIT`n_~K1fJ{DeQ$tLVysvrfJe7(7YGD8u%H&uFk6C?c6k(WF? z|0SOAQjbe<@YcGP5b>`l6osuXj($}tdm7k4#YX+t+$?GX@4y8N@8_cYrkZ> zsfpiv-WO`(wLa@-TM5c~j+?8E*g_G*9+G@mG?z@Zg^(_szSZBtTc|S}5SqwOSoaA)7;^qo;B zM!y{bZ=n)EAWq}fK#DQ#i6q13?0N)r|r6r#^W3T^OXpqoGU zoA=TJ;CMQU%pi)&Sh#BZGH=1IH%#8SZs$MD=;bR9XFP{fkcrof1^7AY&EAMYe{$L3 z`?XDf@0;^~@Vj{R3nPmgE!ro`KU^#v@o;!SQG{=UCggNME#SMv>(ofQPj2;^8`?_( zAB49EhMPwL;xjE%-W+WHVnIiRs*RN=#sMDF59K70 z?uawfg0FD0Yw}Qn7Rw`{x1Hbl^=6nJQqbGEsofp|&C52!=bBfSLeBQpL`>I*ea3kp zRwnHpzm`)v05ZJjs`jn&xOa3D4zrr80?ef{=fsC%>wwZT>9C{c%7=JdgAT)G-T$iY z-GA^+J(~A$z7&q^rt_cGDrU-vT;%OvIUnB zIO}vAqMdJ1h{L6G8H%SZu{KSa2Y!~FvMykl=x-3W^Zr1#3IOs%`dqgXJ|rVm$U^95 zM=UK@{s~H27ybouXYaGHGt}0d&F&;jl0%0MmD{7x0VgXSch`T#5}e$`s$L$9ZyXRG zTpxO9qaJz(IJaErlUL$g+W|cHDFp#W{qP<*P7oYHz<#gj~@deW&bjE8r9gx=iEmw%38L*&nvX2{>M3AR5 z{T^sM-aLu2QtZ=?TM-eFjUV)+WTM}#=xrJ=yBaTQ4t%TebIG0P=(J)DHMK2`GFMU- z*C==uuV_Ln=exD(nBRx2ckbNAUAuO5NfAFV;?-3h!o&1tZl&DR8yrPR zY>Vfpb`5wLC`hbRcP|iYBrrrwk*!TPmMsQ=q(B_`YJ0Jcb^+^qQPSy~pi{LeMYErD z*sf9*8+PI1)mkoMux1a+{0o>}lA$hp2|Pn0 z-951XYGo1p*<>D=JnwvqzElw6sOShFUbAAb8+zCi(*OAnLiPXCJpZ<$%vao%%rU^nqM*<#T9Ls(d4uqli}eD$wddhc;>VRQyu7_s!vh6!d4$l2-ZwHkh8H4G>SL;2Uh;uNuYk&wY2_ZztwP29*1o1Mf+n@ zrw~S=$&D-a9!Sfh71Qt|66sq1U&J;I{i)h>i&Wk}mfqXG%OiC`5Op~C)g2VfVj|I9 zm}uO{xSvPDWLe*nKW?yqMz)NAT@nnU+Ert3lqpcpUc5GU6doG*^wcSoO;zBwRsQh~ zID>T}xhcu<&}7#OcHaTU5o%YxHlVF*QSosUEh1bJ{#B1Bdbzc&w{5Eq-&ilBeYa*1 zRl*<0uQ`ZoBlg#cl!ci&h`S;+Vep~X?li$f`5hQ^s9Nl8^PHH{w zBT2-X^>De4OXiodZ40ahw~K1DTH!s>#jt zw^5TGP3iq&W~M#Hbf`)P`}PBP)SJzeJ|B3|3!A(1;sFVw8yz3hy|*RJ-x-YPf*6w7|WA+!Vy-yddnf_C)={ zRC^f0CezjdaDUJWu6?c$i=uQ(#&LLWVr8lQ4^%_f1|an<(f%*?{sG{*v=W7B4IE6; z-(0)+k$&%X*X0azlY&3q%L}h|^WRd$u%C4*UO$2*=l3|B?pTen=E8F(rC;|mX5@>1 zz1s&}c_7FF+G|qMk!3=krkv$ugW6)NQNE<<@RnE}6BiorZmQu@KueJZ)CJS94VfA^ zlUd*~k@KzpC=GwP6P-x{SW)bmIjx(Di8lZ;X4w>2i9hTe1x#9bes>pqV>N#$vNp66 zV;@9nxM6hjb4|(o^NJJgv<`?bwbIQF960dmB3aCCRLXEHG)gSuL9KfO&*ltz^0g%- zx}&}@A25N~-vI6bs0;N4YqlrPJ^{`TV3&l7@=JI6lOX-pBLnZ*Gr}zWUmV$3TTwEvc6ctA>1l8CDC_QH`zT@) zd)mXmj(&k~oN3p6$OB;wqz7JjF~Vz0tHjL-OlwBMy?DDfkYf}D<{05nV^wRgiwV~U zO+&KDo%%mlAlefqt%Xa0IMmYJaG9z`Wj6|DU^m!Ciom;J;|2>JJiZ%nFzW)bOc|2` zz*3Q@b0ySP@&JoQN<#p6KiKb%6HbR%uZp;dmo4|1c^v}tqWQEt)^16tq`AMn!Zo)Wp%t!oK7Mtre1>~rqG-w+>N(cmP*9I<;~nj(E716>6D zKRgT8`J31s1MKl0<-&@_uua9U>*|W0db*1IPeZ~_SZzfSq)kCWGG6o3r==v0J!Ep3 z-^(2==j;19Nr%Nhh5p@X;hwWqyDmx#7m1h_xcxq%>BK)9^UeROz#dEK1N-1fDPKiZrVE)WDXVJe6Yb}v~yX2U#)2qXr?r+I0{!m#7 zIoL%fO%BheP3CqrZii1kX-fX@4e9g#;qs^K_S(%ReV!|L!NTIw@*Q2dN^|m@_Z*px z`kX6&Eebhr{rmbKxF4IrxSi_*RbatxRaeZm^5*W^XWyo;CViULm^UfOdiGR5BIxUE z-()i1j^)G6RWw@cnOkRF2BT8C$|V>wU+U6Ocy(8NtvPa@M?z5J?SP^Rwa;BE0<)rY z#QX#@SK=}ErBwXs^e<{_YixS4XUWgS(L1ZY&`hCl$ep9?i*-oAcSh*u*$BL zjpgU`(1*S6)4U9SvYXe|L=3rSrP`Gx>GA6wdogO+GdDooy#Frus_AHbC1&pVeIF+m zIquFJmyW-vn&k7^`(%D&XRZiVw=m*g<%c)RYi;`afu-wWApZ9sJbBo7FZajiJ)Gt% zi$cwv>x7w!9*_|-}cLbv>UZnDVI)hJf=UuJQov`zQ2=p(^7lsNU-KW z*4GH~S=Rlbko=C~y!J{`qJ2f4;nbRm1FAj?B*Zl+V4BZn><-&g_41 zA~>k_t%Bk>N0i^`z*9fm%Z)zTdVP>LV$ZRDURPVBK+zv;y2RF^eYa(WN1I5%p@%84 z^anJ({MzTd1E({pOv%(OF*fooMMwxi&bun}DR|Sw33p#$QskozBUG!R{r7!E>5{M0 z(yTuIGt6v^;(mPWUeBV2z++zXFJhHoW)!>sPN#YdEP9E{+PqsRc({)OoVW z{;YHg-I!j~XfzqPbq=M9)|vpe1f>AY#fn=?;~h@(Q{2VgO9H_USAA$#eH1L(9;Tis zHu=^2WRflZj096g@~wn|!oo=FjXD)29u9H#TGH|JK+X$WQ0?0s>!mrp7iTt8kToTs zUM1oI;Be8Ab#RCu!v_vo=Ypi`~ zk>}^npM+0`5KJc@3+^>BX97(+Ybd3-|mLsa+NjF&|`2@DqOs|F&<| zm(jEsa|vcRQ989q)x)r{8UCoCbgv5KiG!^19)gjEX?kAs*p8>^^-s;vieDuJDn}8* z?h6(Gn9CtQEkKcZFpF}Eu1)_1rx(;9ir_(@rNu#n3mAo>0)wY%37b$x_P~UuaWE!3 zaMcC2TB{Pg*DszqATCwCrFAdl_ zC|}sURwR791WhY-PEax;N7zn_GAJhB7++x5O{>-<$7@mS&!c9JQBH~PjT~RzxEJN7 zPO9E=Vq}R65vWkQ`G9)F739S%*s7$RKqpU1gHfO$7}e2!5Y$mV_rV>6xl7o25<DrQt1Sx!)hWKiYWRLhj!JKNxQ%AM^Q#mXrH7Y!#?INS zv^LqY)O}Sp_OSAFfcyF3GV7Ck8iD(qUHM#?VmZj?3boquv)F%XjaWFV?(!bCI2f}j z5~fMy2vd%s@%)H+TYu6s6FRb$#|c-?F<=OOReRf9Hsbzeq!0sLf)jBbehYOM(jBdr z{`@#nnE%3^$q%X}Txg-$BdkIsrax@ub&`{YA5eapG76{4^jp!NS+A3KBgkz*XM?S3 z@Re<@iSDm7ltKKNmnyqE#vzoId#@V zrReOXaa)eWgy@7`_3dX)HQg>dacUmCRdw#jB~8!L_pcSMf3(a2XR~&|w#t)nzC@i< zAUIxoThFPNVnh}ShB5NO&S%g;WC zPRtL?5%M9Z%{wlB+4=yq0y3fjLXgm=CIb_dlvP(O_dHzeWp!CCw@O!3gtt2mzhTZ| zNtAszy;jKHNNjM=!70;3_lPTty1Z>Gw3=s_PEj;%F|Fd&((t4(c;k2f!2NUa?~Pe#cnSlgji&4?`I|d-ZQoum7op z;ObAhjCnC+%mS8p6qry5&rPxAorN#$MROe2KKeE|I?!OvJTcv@RlkAz(jhA@o9Gi% zgDu>tjKhbyb`-Cz5)}&8c+{Vy$*o=5@p`Hoj>NXofaWS9mn6Lq%HsN26|*#JmoAUG zUQHRM1alm4&eVQ}c9NPWMFE+>t*m&~sm+mPdWYPqf5@1GcuB8@P+xJIpAa z?ZzK;>_~p2yPMo%|9v)3hzgQUJYk0kA6I5E&}9^Es;^uhRW<`8CSG7y?JCjvr6BAJ=bxt{`kz>D8cp+CJM{#pZ`8UU_vK zC;NGYckfZ}ixCyntr<9=V!^Zi=*$v*pcc|!3=*5MlZ~#m38`ibtYgWmTOQTI@S)qc zrTePzEbSJqaFrlIu}Aa0PqzG&qfw+#4p4+yN^_35Q8rjFKIp3RIb6Nz;g@U9OMgOn zu1HE54+DetqAupQv91lp_`B7NB^qmD>UmUVO3%%UiygTaR=bzSSk2)Kc?$n>TGQjO zapM5}Ro}i0h}Wigj1k?vgf@KyPBMrKld@KUy#YY43e{!vYn=%0WkZ_NY z@JQ8Vmhl9K_L*0`r{+70ZAxrMByRE_bytXb6xUGv>utIBuQ;(4WgAzuKbb$mYV!EO z$HX&%-ud;pncJw@+h}@+_Uq*<9vw~ZTRO!V%%oi^IJeAgzoV?{9eJ!de&R6rS8!@> z=t+Gx-X7>J(6diImDm;ZsdEayb2+ZE>I<=11SyUfgOw-BB&fUbqozc7@{d;a-uE{# zY~m7puk+&h zG!(L7&MBuren)*vj7D+qbzxKDBNH+w8FztJ8L}ck11pG= zIsj?X8zyudrxpkLMj!)A19X+1uehJH+-R zGA`v2)8Ht(;E%jxNhzxUr$n1P8El`DY*pAgs=z;UY5w+10K;PJ>%h_W)1#Rey{xuK z9nft48vo$9h)rFEzd}56>Y&h&qJE@jr+LV~*Wh`$?LZB?<&mUcHz`T;N&*K&6n!`~ z3m$z*dZ?HD@PlQiWE0GAG5^O@k~eZ>1Ep=|@pqZW9tt?PYeOG5WyY79El6J?g!hGp zKTtl>L<=W014wU|*zKcChh2M?`;;}2Jptj=RSklc&d}o*(Q7CiIx-zk#;2>j+ zUc4}RvH=hp91h3y4!WYZSHI?D&a_yHoeq69kWb< zTPtcp9gXK%+MJ0yA`BoKT}O;*Xwg=rM;2W^i@x4)Y{cvuGxk;0PGdG9pMDZ^Us}E6 z>gtCqEuCD`rL2LUMxw*oIZws!K97gscx%rq@>%b4^b%t%)!@WucXECMr@^t-ZgVuu*0->b; z;oO6sdJPVlWFTBV8kNDGU=?UXG5~N`# zsJMtTEmV;#)82>c@9kj&c|yghEHIkT%rqWI`vPpgYD^lzeQhQCKs`);>HzU3aS;Xb z&D!*C%Jl6MB+k4$|2drH5QFAC;9Lqub1B2Jijy8LrE+tF+2O)0gnmPO1~3Fk31X2cRbl&5A=9t}DdtykgZuE4mG zSO37o_{yiBel4dq^i1Z{jFeuI5?4`E8Lke&j1zD|;gUTTt@7ST&bP|uT0C=66?=%t zZ-qHwHPE8C;gnxKWVf-mk|BS|Q4l9ZfYSRco92~SV9QXcqY)+ChmGf*a-z22{*q1b z(A;h$&7l@y`hFddUCnI0G#|?lw%&TUAC{ZvzM50G%x+0t`}5}>fY9N0XEuNQ_z5mU z#TEXm9=J}IDS|8n*`MX3FFvBd`L>;M0u-c1>T|bl-Qrru!=x2CH%bf`V7_LW-q{$c z{<62^hW*k>54Mtq9bU>A+-!2+J*WL{4>~lrjcj1i2&997FNlm9Q7d`g#j0ZCJ#1X3 zX<*=^P#<&9?d?5vMM3oygHreN?!7F!ywt^~ri7gcuMLC{s;#)7-~oB(Ng22bqf@KA zYCql&Ej}N>aT>KsU^F=Wnj5z*j}R5wyqRfO!T7L-8q4`3iiz5*8bu87LGZQo2Yjl{ z3qH$hso2}Ins=Mi$$m7?iF7gUNRumc)cA0kXDPSIN{ZPp&LdX6ZG^ww(`#|w)%9fg z0zdB|8ZTXKuf~I;ZS8&naS%M%N=HjyUR;k?UABWUaa+{lK7sOX=c>-kD)U^I-dlw_ zB8eYfDUZsmm$lFkZMXG=v7~G?J9M4M1R4Dw8u0e;s|U=!Ge1afxCPyR1GVu%5+4b5 zq+=<|8zjts&YfervPPcBP(U{Efl0=4M7COg^;q;5=n0JmLx_kH5tkd0NF%Wo%=cSCp`p6+OPEH1-t!ic{6S!s z?=mJta8_tYz@Q3VnByVMm+;tFe$IO|E^DW2>GxMaDpz#r}P#yEK^TaoVqIKAzv*_AC2< zW^(wQJM?NR@IKK2TJOw6Vd2xdBCL+7y|7dE#W59iBO5FHw9ohN!aatwSDAjf%mEdu zFsCXbg%7wANiV(LxqRQ!F?dq1r*)%Skz+`w6`A@DHWAm`6b6u-V@um{$u8}Kz>fRht{eTw1=zt7|6Tv4P%uo}{oCTECT}qZD#si@n((2# zdpT@Z{dZnZz&LorL|S2%83qR1A|uLoL6McWBEGx7Stq$~&{;%SJGB9~Hdcr8AeVI> z+ZYQbEtGAtkZHIL z%fU%cUBP=H$MC$9A?`F{Z>}Q-k6LCwA9xc(BxjR3v~10xfRsLAq~L`s{$(7*r>dft zjZACU#{#UNN+@Jk*)QOP#uI`Mc=qf78b?opK1a|qTyaER;8S6$hze|n`3q+0^*31e z^`5dR;U=PlOHwlrt<-eYd#I39;|0vV<=Z8J{Ro%~oFl92>-MsvS4q^Y&1K$MkOV-t zF0^UW z%Lg0r$c95Rvyu>9qd|V%?S2PS$s$#|G!WgzeR1ZPi?vZgf(K3m+n=o5{)ElBX!&EI zm4nVRe0I`UEP7`%jadIKCy(gEPqnh(^^J4&Jcyxd7j<5 z#R}Lb&Ny}p_GGPx44DU8v>{x$V1xAx@1|R7>>D0vxX9U4(8x2Dx~pZNNzqybw%L;_ zK6veoZoxU#jqV(u%KZvXx@e8fvHs1pc~grwmAPi_%}#Q>`n92X(Ee4gePMC$kdH>H?(7GB zhVNrRZF8?#P*hXZmq*p54c6&5_fDE{gw-J1WW3)Be-#gky=_9nPx3}~+@~AfaYBm= zj{NiIlvbH#x0vNMcl^$+AG%Gq`hG*ol`Y$&jE?mZ0Vyl)H7xNC4? zXhY;cSL&UK)|K{i-_++kXtG+|z4t|Hh)5RWJ|HXiJ0`ESCAQR7bzCp?^}@D#4jgid zqLPOat$BA>WI^{OJ#lPMH#Z!PLH3^6*_2HiG|s)6dwto;*m|##HP0aXzN3$Ynueq- zG-T0p{&!Ykg>|0zl#k6FP4*8&!AV^sP73#+bRnc#71*hyM~H++09QH)uzgT6z5{}o zX$?;xjE5%FO&Hq}i8*?zf#WmS)I>*rDLn?LG?@$9ly%yDD95KCD-jAJ-66SN44>$L z_=oViz;P(egsub0MhN0naO;Jqq5Cu3)e6nrXkA=Dkd!y4&oj0Ti&l z0(X|mM8unB8=C!+FV;_Oc)xC0qO1ba@#SthW>uP6k^G;bikS;cf`n$lH0T;;;rZA7Tvo*KVPoaloJ!94k>!kZ!j!etm!~$I z3Dmg!a~8n6hzEvksJ9!f{UNcl-N>v|UR_=NhUGe~Rb-r*ej|A`I;GRogTHf|O(jKr zU9;xu&o0l`8^4?vXLQjuNr9TzRYP}xGtz9{(Qq5$E09OIHZfV$Vtiry3NQ99cf}ji z@e^p@EVXX8rPHc*4$YKdJXHL;+=*l2-0i9^WJO&6a_b6H5XZV;lkx(#`tMWqC6M%| zHhHMXgCVGle)2=y&w19ym>3M{%~u=q$&Yt;U(kLfb3^E+FbgORm6-4}3bb6XdY^(? zCKM`N&p5X5{PY!=%j?2zwjB8dagkpeN)rpy`U9(~Gkc97@&_i3de`LS4|kVgwny`H z3eg%*u5k1S)~hnFcm+6CCSgK|b}Ciy=dv9;Y-QKmGSgzC39Ci42&vV|i`ZCbVVDp8 z1bi?0k&>V5o^eosgrT4aG3KF)5k^A1@PUk|)GCjfsQ^U`6Ch5~N3U~9-Ph&&qLJ!r znC54g;9F%KXt-@E)^JD$ zJy6m}UnV$*=U`DP39yT5$PoR=zi!`)7!L&u`P)sSJjvom37smc*!xfHp)_BUCsVn{ zQos2_W>{+*Y&bIIcgW$V?A+o!{SvWoGQL2NFcJ~tMdOi27!=rxfMVhgHUtBivkG;? z;?iKNs}a>=acOKy=2D=p3KzRTvdEnax8v^K{P^g?jW_4}A3bi6W|(NWt+sINllrdq zd!+@R4UW;J-7DH=P5lx1`Ht+$+h_GU{LTvH`|{nUTQ6Ovz}`EV8N9k@+)bWub4Odo zz_*z1UULQMvMr$0TQxsB2v!!}#;vRooDpmKO(>&35}_YF(26z{WWXXy5SCLH5oHx# z@4+=PGdpWpd4*-RMq%+GNZPrEOZhE2AkJ(igUQ~*f@lvWLd{N{bN+CUCmE%{Y+piH zWJHAd){OM@FQAI10KpyTPtCA)Y)1eWm6J09Otj~A^U$QM?)J2?@Cn#!=$t%x7j6-4 zeY3L_Cl;KBnc8DcxB6Z$D=QQCU|#0b7B@x|+tC z2EIn6#`y!AB~C9cE*{doyHACA*|Ny0&i7+o=HTeB;Z_>%-+p=Nv-CwB15E+%B}za* zLx%cJwN1CgIiDH)6OnrFZB32-?XL@<=8GwW^n4F@(a_KD85xnVv9X~xU3z9PZ_Isg z)2&+dBf5r$k4M=%$0sMX%*=d?J&Qww1)e;5_RKzE|Jm%5UaLcBX*J%p^mKP8lz*Lh zfJ@|i_kg&ARglg}Ei-ztVb{8ERDBFGJ($CNJ>BO;O`|>yjqma{o~b$gAzRVi&(j{r zV&a1s13lxHtB2FAJUp#(ssv;|%gY&g<-{)6c;Z-`-!!q*HoX3lpnjW79VYAL7R8u!WvP9(`8?6>-D`%&c5El zt*ci!ThsM~wa6G-n{VlG`GgnKG?S=+K&I5F+?uVf?(S=9E|<~L(q7lBHP7O$Gp2c< z?{8bXFry;LK%sc4(Q8vEl-}_Ee#?_-dIwci2dMfch(GZIr=#58ByTME(U4`Z)eV_S zs0AdOU(n{iyfB$pMvaY)jZa8$s^-@3g9T3`2$HMTtVzcB5=+=L1&4(#y-sgl@R8fO zQ@d<&B4YwMi@E91P7p>ji3kfP#m6hHle!cx4Dq2noLTghbIyMdTKIX~duIyo zy{?gw4AdEz;-33qCRL7l`*uoF(qUYZvryvyCOmLV_+n*ezx~}U=#)3}_IjqGiB!%v zd<`pNxV46Dg+xUUvjb zZhbnL0AhKOSUfGQ$O)^tZL1sWUv4=*sd7Q>8h|}nr{Sm1KJMHg?{V0;&}gfJl}|^r z_hyL{ucd-EewoB>`RbkbOIGpnCZ(u1u2-Y+rP+D^%`?NaSqx`2^3|}a{xUUJrf+H* zCzST3a3o}|{>E!^hH_Yz>slO4#DF`nF)fV32Id#Xr>69EEvW2`dV+;>Pm+=hq*_=G zsvJrwEHq?b;y}2_OypD}%2;FZ_`vCZYe&KaXf>=|ZiJzVx(J!IlUv>5Ko`^Vn_bN%lKW z!CM215Yg$jWai>Qr)FkqVp7%kl)@Tbr#{Yy{!G6REL%;JzT9eTH|eqHc{x!uSMS_) zMPt1}`kgyBQeeC1>UtMyFssqt#AhG(*nE0DSN_lX_Oscq*K&)f4#{a$R8+7ov$xXs zC^o1G<7u1>yBPB{De1g^(D!p6AiPI(PYjn5l(n0`@?g&%Oa3;KQbfXfu1~KOU)QzN z>2B-kWsQd6unUozOcb>*q<<){e`}uA$KgHg4}r)-oaAIoPcDQDAv*FO zzsp-gXcJ8)ho1$one-F06sppN+R%roY(!Lc`wD-zj14A4(yRVxu&PL zceA&*w~S@rPKPh-E6+-~Cx08>tor|v_vUdquW!5Xy;z2o!m?OMC4?r0=D8)!n!AfM zu%b~(6U||%MJiIFc^>X2%}N7WNk#Kr8VHpp6^)wram9M}`#$^G@4G*r{pZu?_xUZ+ z@Exw}yw3ADj`KLFAy^E$eJR>%PX0%>Yhewpx^DQB!i5Xz8yCJ@2a?g-*O&PC+Z7L3 zRCR=hn!mcbm5t5Q{@woFyII9`Q{;RZ{D(I(GU~d!i}biIu3lv*_pX}DS~oa=Rf=X| zx{>c*uValZf9Pv7fopvFLVn7jjw3V=w;8LMOe1iQw*msReE;5flrH@!D>bzdX+TS& z>h^tIX{S@qH3hJmq+wl?-A8BMpBoyQeb?mq`Z8U z?%Be$oVa68Bz-14+6B3S7sT)zp6paRU z+}gWL@!DtTOmi+P>TpX(3eo0th_Wr6_o0@6V zlXvi9Ak4$!y*th{)YpG(lzAH*8k$^EA_e?T`$Sd1(B^ls(<2Vte0;_z*XU?50r8Ry z*6c=}rRiTz3Xeuc`k2L=suY)g*MHxec?+kBuur06WOr79RoYq3%FUkGwHMCVM;*$Y zT1D~BHL$hK+`Dhz;NJ>xqJk}FKmeuAR6V(Q{c?nQvXzyUu1*g_Kvx#B2GcA2mn;9q zIbdm-s-mh&h52tk@)hpW%BegLQkW80sMO3Jx^7z13nw;nHGiwy6B2!nu50gR+C4Km z`*F52l4rYJE7Q6m-!%t%Wc>N;#WhAhMu}Io4>+s$ydQn^lq>N3sBgFb=kE6``JIdN z-O*4&^K50=61P?&+SJDKo2rP7SX<}Ebk^sMr31D6Wtzv2Cm^R}w(&FP7nSNb!+1Bf zn0h}mG_9$rw)V8N^t z|FIieDHMxeXYNoXQ&MV;Dk<-u&$2jrjV%q$Zf>9Y@~v0XgHEUCoaCitW@bhvzsxTW z4Gnd7cRzsRrPqjIDy7C{#7QAX*0|Of5PNpxV>y3sD)k}v3T-=>J?nf}jzcSyP|Au)P@h)wb>1qgf8D zf4Zjff^c+tP|9{CdP~boU?%HhyDBD&3LW%$zJ2>fOD{1Dp;Bp?_9-=5=XDK>(jMJr zNDX5aOB4^$9#7ePS6$jfMCgjAN&ledKAGrqN7+8R1>cV_9Jcb+J;?ioYR z)~$fd@asZHmLrC9pXQ%^D_dijb!@2D{8nYXMp@ZGUy9SF)mGUjZy&C4VB@+h)RO8m zx|%}yCU)f9ZoJoQz}@W^3Uun;+Q$NpXZYopORpdP^uDBD>|AvJBabLDz$laZ;LH~f zjADPGkA|NTZXO>0tiaVpIMM7zv=wYYdL+HJ4ow;3JU{y zJCXiNMR?WWFkS*dS$*t(?aL+}&(W>)(nSy+zW_G|7z8f?J3ckeM&t&Tra zQa;#uU|;s^$+;Z){$*+D{MkoOT#?PIczSx$Xps^%i*zHczKu^f=sU-=mh?5IeDyQD zn5Mj>LmO}zW%-Go?E6#I8yhomr%KMuFs4hc=DK`7q~gQjW1OZh%R0``QhQwIQrAAUE6mRJ z{VFqawBy+6y3hi_{H%U=^{7~_MVG;@pYBQ6+52itmAm?AsWG*+>F&ahH~8)QuUS|h zMQ0k-RMEai*D}j(zhd|K)USPZqPMfAu5;GQ)_8orudC={tY}Kr@wag+;Ez9)*XM5K zXTGCvi6vFWF8GY1@#!4zDp=|| zJi4v|n;1bfC@U-L*W*QLaYOowMXR|Ab#7=ywYBBUx(wO69oUo-E`Hf`(Mi1O!sj`Q z4K`w-9Zg+MZ8BzyXJw^i1SBi=*K5|~y4Fn4b$8HDCT@jXgYvCtv(iual}~qyQaSr( zH+L*QA$p(x z8tu_6lw3|e3y$?X)beXJ4)0RtCKR={kxIyNr4pjpF%QX{%QQLvKGVuh=9|+x>S!Nc zj?*fx%ap#IN=0~){DrMoVm7`Hoj>svzfBVtd6FL7Umw*ON#nj{M;=bP*Vv`;a7OZg zB7|qMw4+Rf z(C&@i(I$(r^Iaz43`t=dqM6-E7LutYMDy6i@N-r|@jE~mj> zI9v^^EfD%9v?ia=H#nc$9vmK?28#pkBS*9VlThvK?EC^<7QS67g-1xoqqEm>9MUsR zi>N(3Di5O<7r$23CiK%zq1Q>Sv+!bQVPPRybs@M9q7f*y(E)~1$IzTs=)<_vzHV|J zeX7Z%6;)a~YS*t6yH+dS2UgrTHXcfxvl?p4YktU|oH#L(H~AphK~lN=O_3$mWq7Cd za&fqo>f(9-8`^4%pNmRTd$0%>wqW_c7lb0j81p1>To_z;!u-8e_9!pg z+VqzvWR~NfK9vRZssbEO~zhM@$Pe4K|h+(NVZ;Po}rPE=> zkmbIQIK-5Iv97VpGs{cSaD!gXoyqSnN~6*8&>_aeET|M48{73aNiR&x|D;E6AbVz! zp8GL1mBvZg9+0#u@xG_ckSNw+`PPfY6iQej9BIgvz%ffjNy$R+cF?(>wTM-Nv$M0G z&lnF64;uf%CsD1_P{IZ!NQ{-}z@n z&%b7>QrwK4S0_x?!|l90L11*KEl@ZP1R=roY0c(aCQW7v^pQ#qoeed>Cxz zzS<2DuNMyBXl8Bjcca2%p#|=4?e9bD$t6RCqkHyjEYfXesq%^snoy28q7ty49q$wO zTzE{}^!>@ZTg!Nd<1O$%BpqaZA#6<+mM^N|twiz_^=^?Gf4NU#O)GjGr^sIy6%~=e zhJ0n;{sg2j1i6h+odcS~tzfIcEa99EtEzNJ1BPJF&I5Y|B+w)HTt+`BNJw6S5K4qB|!<0c*;Rhejiz&wssJ4*arZ1 zDSkD@K;EIk-ldL-YO>hCKna_7x2(3urpo=P`~yYyH&CF+E)$@Dz|Jh-yc3jwY7HB< zaDWAt%6PNQaKP4JLIs5FMaP5=U0vOlxG5yKIv}y)E8f5?lnMY0w03ey08~kqxHGh= zMSVgOIoMxrOi_h;GfcodfXu3X@-`FA!91uPq0FTVwHd}k?^yf6E~TWz5GDYDMD2uL zS}rlMQ<&VKcYOi`h$@=fnqVi<=O{jf)HN6o|O?mFK_O^~F zou4~IZJ(*VAl&9cH+lC)8ie3SYB@J8yAS)pd>?lLCFU2HZt5v0yx2Kno!f3uG6FVk zD$Qh3h3w5dn@(XkOepQ#xzlxuu209H4zsrCx_>^s22B&h`@3JdUK(KAOn8c^gHX%L zeGQ^cS4%4vjprsfWy0`Pzw@4qL90D!sSh&T1}i;dW&yL?(m;vV_CLfr{xyn9r4GVo zMGLR_f^awxwR|*M>KG4W4uro0U@(Ak7}1=z^JSYI~nGiTUEB*+aRrLNfl0wiqn)~${PA?mh> zF)Hfnwv7cK73g@bR6RX2-ihgH;pY)L8Ds6a$=F?!XtQn;%WNKO0lc0L%WOe0ui)hS z3x1#BImjt2tOqlK*srdL2qD4234l*nC9gbEuWW=lSC~{in1M|4bYT1w1n<90$Que$ z>QTHo!AcM*dy7~o-O8pw3IQKYMNQ*;n&L(z@UUQxHh>U9$7^(gA`mt=ZWtyVNra9%nE(Tt(C3^^t^*-t z4mUIf=vAMzaphz7)8bbgdRiWvw`_?61O)$%RIlYFao5Qd49ZRh;%5ynBxZ3(ApL$$ zSiJZGu6_IDP-zo0i=kJ8Ef2=W?GaPBczI9YK5#HujCV!hgyDyf7;V)9Fj1Ss{>+0P z3yj)x+9zzf9&2G4pdh|q`R84{UVt`_8%aV&4)vdqY6_mksS6q5U1+MXKD$2`z;zQX zYGGi!gC9O@|LAbV#bpq-eIfX6Vjc4q05I9qOXH#C1GKbE@jh2&0ydG?M}RsKLy|P2 z`4ISDM@r}evA`|cp?%pJ7K6nYK(P(M4i{@dZWbpf!k-{ok@7Eg8}He(Crrw%0H*2C z&U1ReF{gMiDSU`AP2XgB2`8kvMq)z30Q|{Fd3~>cdh6!RF@!ZmJZ^w>Ogag`5NGRN z7t0#jg~b7;PY`|sK$%{!XoG_bgPY#G{g14YXH| z-`^AY^xvvr<(~|;eJ>II+kdj~Gcmb?E)WMN&|)>=aDVk5&&=BZA@$2XAgK^Hsp2%i z8@W%nqGR}(`tS}UM*wHS;2bUpGgc`?c5Y5i(SsdP4<4jI$z=QU%A=)F)b=78?B+Un zP*F=u3-m}R2h(n8L+rpq@4Rp@qh;<%3j~Ly5U|hHnk>a3gBbwetF5eDeX8x#~$ycR- zjnvVQN`!D~5CcI3?!zeMG=5++f|n4yh;s`z0casB+!i3l%E#-tV@NRIt3p3xn*u*| zWCLnoNfG+!&u?t-|1d|AK2V}~S{d?H@D_QpkxeoMF>1!?zMGrdFgmOnKn(FK*VNWF zL&cDRFl+&*F#|Y@aa4b><3y4V|D`q@xk6XIoGBfz;Yl{^mo~Gqq7gq7h_NlPSzZ+5 zXyp+SqP7{kWxxd}3;7i-J^ciPVT6TnguD!Rc(thSlf9o$WaLwvm?lBk0ZsJtFD9k`25j_VQ*hZnKa{Y;XwwSMyKHd zt@~<1ia+Pna^M-O1tFNzt*BTJQ+P>Se0-VJPFR)T%No#hN|;l%FhONfxF8EA2Oti6 zOIV=;1t%#l6z;JfKmLif&!yhBox67N;Fh6~avFPQMC>6UVijTkew}t~d&qeRA=@z0 zzZYGaaJI++_KEn5GcgXR8xQh+#mIQ1rr1K7V6ulf=Zt*O{nXbO4wl1v5)`5M|-!<<*7T#q|l)6Hz&b@D#y07Gt!; zB)ni!akjwap-FC&R01k9+hgCa@V(@-J02)R&?@R>>?{f9oP3)*KsI=3mxh%FGos;?}|t2ICOoJbOZWjgzS4?3fSu7z;uG)5Lw!U zsl`M>A%r@hnQ6#5aymy`A&Mrs8yF)CaK8#`^dSpC+w41bM~UWPXg%X`%0V>2>sPrK z(-=u5Gw~y~_Wz1wOjHge6Elpm;8(UET?(&+gn%uOvgMm7PWEP*rLUVXnNATqru8=s zNx<@*!x&$eylVC8ZU6PL9gMu(^Fw3$3;m~)-@0-0)$i|tQpbAWpg`5?r-8z_T9U&Ky?s&$zX1;HGSsr- z{|3_I>}x18H*pq#yQ@JSwr9^(g5#`wNPdU3R{k7AJ>t6p3$A?j|93Kr9&)KnoU6EX z!O3;nBj3aIhU@Z#iK}z7I+Y&rE-(0*MroRS=S;M{#PBQX+!^y{T!lQBb%(uV7WGPv z4U(Og3y(<|FK8~$4;Io=GK<*XZO6t1?Wc!%Fr|EOyxf2A;4o4(>iP418m>{Kl0}^} zy2hb=xo6@ngZsFV)N-^DQ>&58%x`O?XEVPJjd#r#PrY5XTK+mN-YI!^ifK2>I;4gh z*hq?Dk)6d5$TLWv>M+uc3-y_4ttw>FHTZM8)I|H`xwlPfH0J`z;JJB!eVT@2XY}We z(fKoJ@9L#e$d?9G%S|q1Wwm@9nHO?;Eo>S--0vCpaF>JEWRWMWXCau)rT15l$woz2 zWO-Aly@#p~Mz_EPZSq@BV4=k_Jn{x$5+vT2Lxc#$A8+ySJ#h1EoF1b~Ngnqrx0RGE zeNtapQ)-@KKem%rcyTnVXPVpJAV({pnbBfpor-q<3gprI_e&}&Mn&>c`#LP%W~_EH zZBsI`WTN6G&M!)z8lKq5CE%vv7br4Vqh8FxJ8-b5z$#hiqSwTAHa5G|xyu)lU$XmU z4sXp&UOUzBX?H->%$S;!Q$A+mNWF!%;}C|6fmw5UEz~vu*T7uNoAZmFG$har9NhT- zcJpk@-eSWqnJJ<$-Kc+~vPR6x`jOhBtim|Cg>9@Kvv@LMT`jL%b7ql_y|^*@y&RBv zd~8DMLWz+t*tXSrKDNiz{mkXr2Wn2Om4zEx4~3c}xO7e{2dQwglJ{xDBWZhKqU%#6 z^EcP~Uvv94-DM&;+ujrk^SHKJ87<6g3XYocXXZKFu6M=oNUq*+#oHS==pUZQx#DJd zUcIb_mHuM9`yWLv37b2&MyM-4ap}VYHj{F>s~Tl#8Z)eSIXo`^leFvIg6@aq(73&DY`%Axm@Bg~i{-b`RuiZxeQlFbM+fgW`ge9w`1zXVJDz{@l}l?b@oh9y4#r zD-?vqPbnOd#4mmP3rJZUib)I1H5+P5^joQ}Ytae9t4z=ue7dh^9*_vhw;&3k|Mkmn zjyT79++p;#QVF9*G$dI7mJFeBQ44AY5lDe)$6;Bx61BkIEDvmU?ogD;!jvad5r=l@ z4PVY8oppz7pKZP;ZJa5yOO3jrY`V|b$?I&!UbFP3{H%<&{&ly$*{v)e!_6cam-Xvq zxkU9fJj-O`=y6Q&aQmpS6o^I2h z8_}ebiPz(SGL=-UNTi(g-cG2Nz03M4Wx8M4)XlLaC@XwZLO_WAkj8L9nvR7x--b<= zkECZTZnB-srK);e&SywUwm4pBk(gQYsRD>1g<|&ys&5MAkeN8$wRv#&#Jy7A{P~kN zm&7FhFzQ%~AalC(%kVpf>4_r+Vg|;k-FyotE+23dUUhBGr|MMxaM{@~iJYuVf2Ow3 zHI>Z5Ue^zlO>`fSJDQwu(9`MRQn%38@u{O}{*{W)Jf-Jo@6WM2>3^)ewef4H&>MTb zauJ-Ntt27D^eZSd^np#c!Id};uEZ|~9j(w=QSkhYMO_{}g_z+vOMwv0w za+r}p-<|jusU>mRA$sDDCgqt10+%SedC9}{-f&IC2>&&RJALKvh@gUPEc)dS9<3cN zf61>s^X1L~xwNnYK8NR*t~}g({SZTb1Y?X(OPY7s(g$H>D|_Q8=44&HKFvE>g+5OH zEsr`jpPjutTiiFYJaF}TWpU2k8oql8MvAJF1BxbTFO3tUSUX;Fq~;{OcymDfpXGF~ zi-a6EHqJz%MpjudHvN9(-R@tm60{ZP>_~UH2@ob=9wO5K#eZ{y z=N54fqDLj`@4wgQTQYl+ALiCJ0AR`P2x(H}N7lj9K;ZM178ryBUv;K4o z!A?GUpQ_hp(bzWc-P!CjZlLYFx=I5UWa_gn<1qP-? zBe@1nITc@LV-?4n37M<7`?p6mH8ns@*sFz3L_`1Gj417hK}M-LIobeKTM-z9;5~Q4 z$7d;SaWLi5P~=6ghF$yS2F73ByV{Yos5muHB_U|7#Ba)$@4QrY>*DsVxE{8wl%|VM zaiN>rOi*r03Kf5ij_vzZ@_k*tf`^e`#53+kHJw ziE<^Kcgx!P3O?L>YPJdE+N|6@Tw>+P3dROHs+eE$>VVUQo-F3%$yerL+y&9%F{xe= zCI*gYHO zdgc&9smP;!D;j%q?ia%-bldO0W8}hYeMh-hIhjx^g6^h@#y+Jdh)^ z=eA$?>wI~FlN-Z+Wf7-9J@+SPdW15~)49{ECqHCf6A&MLv8YI24hhUpPSGthHd{06 zT6^KBka!80eSGxq@|;IlJ>=|ie3#9)3a6naVa?@3r}jY3(T>Dd=;TE9hQtEgFs z26uTZ7SnV(DR0Zotgk!yDa`0Z4-|yueRObg^YlmHH6iIrr|JAIx}jHzxO((%(WHRf z?q*zZ$ktBdLZeG}=Sml{G0|GKs)mQoGu}cMn+kLgCZn<(F%@9w>N+;Gtp_EYco;|W zSVFFql$JsZkOs@l)R-7q%<^kSO-hINKPi%eg2TdS1ZRM<6h)M+{V7$l831PJqgN7S zVjO4=3_(^4A|f-B#UXuW5!(n1t4PBHc4C+5ig~h7O@8y6=?lu58E!Mm7^mqk_Vu4{ zW!kPtqDlS0V-e#msmi4igFYfMR9|zwp_}O!C+Gf_W*9%;fO89F-fTVkAtD`#!Xle( zX~6pYxiKy04t6I7rWiRsJJL)GU=S#+|9OJ49zJ^w6_=-;?y;4W!#jG@He`P94}R^P zk`lapZufIer62@SM-=4)FuNzjlCg0VnbLv-|Ni%S#CyYL@=X+rZ2)n~r(Oxv1Ijld z>k+nvQ#f)^Y)99v{QUQ;-E4~)evp*}tIt_oEY2gh-gZMt@Lha>+5!h%jfx1lUTk(C2Z)rR@i zz!mHb<`a{XdGI4q?n?9(0P9A19I2OSh;iSXrY=Ak)-o|C0DC7`PjZ(RCQz1JoWK8_ zGi1(_3nKI@`mIjGesZ?D?s7pMkyhYCww5SI)X;j7@tZQkdZhw@b6>(pF^@;#m zc^J0?ELz!~X(aUi{Un@}DCw4a`;pVBoH)^fNd?5L8?$Oog0)bIB%n|6NI@q7u}sSe zN`yHLK?#s86168RDhZth!JLlyGK?{e(46LqlXSl_tayAdX@>^rl(411jqY#|3LES( zp!Fcz@q9pZ`QyVn%&Z-P|tQ$A2I% z74fXAscC{y$hpE!A-MfkR#sX9tSJ5zW-aJ};an^mO*WR*e--r2KrXox4z&<1Ak5Lp!iUg|>{NuX3L>y9FaWZ3I-E0g;Jw6T$SD68K2pH86O6=uWo(nIS7x~&K2ct!VPDZWD9%clw9K=Fem!ZlcfrHgYF9Z#sJEEW754`Wfu$?II zCySr8v8DuC(JU}<|Fmr*IYgmJ!;VnhBsF;lyy+A|xHYQ8qYqC&!K+85(s$0-eCH(3 z2}kp``ro|S2t!%j|2M1I@_AOBF7y3vD4t@7Zgva^Cd~kB1<_`Sg@l=~st{CQ;{{Ll za3|o*g`9<8OD(_T;Eu^5jdE&-+^~zDs!$&~r8S|>Mh7)k<633=HB`_y2E~r4*+$CB zH^D2T_|CQw4u@AmBGEFSt%Ingr!ZNabN_yM_%|02Iv(K*;>~4KIK4QThP)<0H;vC)SlUh_;Ujr_Yf*JJbL0eyLJ2a zWY~`HtoY_qw+98r{_xk%2G3gHpbKJx-x5<_I*Ogr-nkARA`msEdWwx$vkF?=DY(!c zhZ@=P%ll_R38d!B%#mFA zhyVKh#fd6vk!Zc1fk7KD9Q75^ngq3;YrNqcKrn5?gQ(Mwx8_^^)<>Hk`tCC$;#I zv1S-Zkpp=E+@vlFK+-vb#-MAvCbmN}rFt+T5i!`+INux;RY@vtSu`!8Zfus~{o)}Y z_ItJzZyz{nrQpqSA#c%3%a@me=ALnV)Twe93I=FRhfCI{c^ zxcU17vNp7T2LiCur|ZuL@tzvUra%OmLVbm_glK9$)kkae z|JXhK>=0d0%o8D{V0KWdeDT5xOag*`oay&3@OIez|KuY>9`gP8MjW@+AkhB(Og8Pm z&nM$a8z}EzL43}GY9NU0Pwag0f0HlfKM-9H1!JrTFb9<&YQzkl~`EO?S?vs~pMG=P8%NREhzXcjMcZKi|fF?co&^YZiY>EX}NiFn-= z=0BBloZzoQm@7trBxpu0?K{D15*`q29^w53F<`3{{UXVdz7-!V@^#vsE9Ya-Bz_L$!JA8S{cT(Hb7bIlM48WDH(#Og8eD;C-$ zZfKzbCCC4UI)|g^c|7twf--`KYeI&=5y`TVAA6EijwBFs zu-6Zch;Z*{`^@$Uq|Sd%sr+rbbx#|(zWw*n8Lu2yYD|@vaTLVwwSp7{q1QS@)(SEP zgOV%R*q&K%m?b?HglG7I z7Kn5zYHD;aMN=5H&UN%?j(pn?bX~aCA)tDCAcX-P53tFa}Q5mSB)pvx!r#2FZ~g>W8}0ICucf^V=Rg`IfHZ~lzzS@cf1Lys&6Uv{ zZ3{Y4cmQY9H2|~{{IH76?F72H2&#>7i+gYurR3%5;>HE0zf+!qtGMdFq@?!zyml>f zr#pl)L{LPq9i$&hK@fFHOD#?|6PZwUdKsCKhE}q0k&7#h$}n#-3gUU}ck|}mcJ~~1 zkpl-5P8VEA&GmAy*(qxGo-1n?rS38&f)K0`J03es)fYtv+S^i5Bw!AX-Y#u0KJQN) zMmvCD1sF_ZUf|}nkkn)^;PH3locDt|0WulF_mc1fJ`8Xu3g$!NWl)PFcoEh^yf*hg za;BI63lTa*+EYQ8{$~>PXn^U_heLUZ**#apuY8F?3OW3j7U}NZz4T=r0b$?0^Iw+m zfz}J!U}ezrxzO58VeE}6NjC|xZ7R*BjMT~Gx>rWK;b{Z=w-mcF2|OxD;Z9(Vjz#0x z4wNgcP__<2*=?t{LT8^lca9V41St54U>OpxY+Kwm!2=KiLx3YdF>PwJuxvh77ava> zTMjHY+np1Wv;LH>EC)5)bDJlp(wak@dmq1lu6M|Q-6X`oRVhUK>fef5j0M-|*LICl zpC-1(yPsZA329C2xMsj}-z?DV;Wj_5n>EVqIohOAKN7P#hb`mP&Vk-OHSM->y7+<&?NMLDd^3Hl#VLOqQ|~j zlXEMnk@8@%c*vv-L*Pc5c(O|3i2MY463dx;mJ;g85%#w*1;R2K)*p><@giT0zWLa8 zJr}k>MP#c);!5f#WVh9a8Ht1v!SUhJWU|a4$%({)g|t)Vxssyxgx1fo^JM; z!%BYoQ2UKGAP^kAf@xwT<2`qwG!)D~=D@%_)6?Lw9lB-51z}pOOzLag-|oc$MTWK4 z3HO)p(67!4A}~zSB?m<`zcRD5`(x52Y~(rHca%|%kUuyZ$VrDpC>1Ia$X2P436GY| z+d2(4$@`oY?9fOW5hW^EqCF#XWpSu@pdYC{!pUuiEu zoIgtN5k};HDh>aNjn-WaRsC@S0KG3D4D^o=Z(;fW+fVxXw|xI$?zy8^oOE)BPb@5D zi;w=z%lA9-PTrM%8gIE8+*x10q5@=amKF%yx8fWps3OJpnJ9%9L(zShx+rh`p)EHDaMr0m;We_DMDa_`jui~$;yX$Bh@XbX;POv4zden;c#$KiducKL z_xvG%KcXyzPR5%RKrRG*mL{1_ib)~dsh8NXYBHf19PYiR(dzxvYLrUc6^B3fL3>S5 zU`Mp>4w8RDldW7S1dxQCn=)CRG7%riYu1GlHftHr-5Nj{Ch$cQWDByvw6d}&k$sl% zw15;#0+$Ub3#8I_EyK8aV1ajcX(D=g0J50;sx3GFA_6KSCpwi#a8O4PAtC|CzFu)J zFZkvCmoMMkI;Y%SZfv>v^LE^d`@z{FvgkxxIJW$Pa&hq52EGQ+*A67b^Ea3_!WbF2 z`GrTh4soq$_oY3G17w!2kl!#Z4y{rGW|yS{h9#0Bg2gyax0_odf|3`vvU@zH+sVB- zf*l0ALpmrljf^6RQl#QADvi%_)8g3Op+vTUDdj0=4yPc?vVzP1xN9ka42Z~lB^d#- z##cPB*B?D0K`?CRFtU5LW)63rj&H$0OAV5PX?V@)VDo9fM3atTl*zCjz#%(;kGQ4cMO8lF zqu=UC^@at_(kzH-JDKFhkj_ORqj?uB%l*6GV86_A5mBqd`!Ee?3jvo&x*j|darvE# zIHt^z>K7i^{j&u{IJf6vF(0 zWX-n4g9oIh-|QFUtgRtSVWuNRltT=-F`N zn0SAL1J1C;YPK}QYn%llSW9tQA!wZ`Fv>1O!37b*2~_st2rPKkPh$f}>pq_OaP1sQ z29hu~W14Xcp5mL@)mOdAC?yh1T68q%fB-_2IJWvFs&6#W)I1{t`w1@7)(PM_i+D44 zIf(w5TrFb4Bmw|2PQXwLX^yN9*rDX$TiI#vN}s5Ue)yS4vp~|RaBLyG0HBF|<=t6G zL~c}k2&P5iFi%19fXYy(#(Ce}zdwF`Os-^Z&efky$^c?IHMUx4Ok?V$=T8td5RM(k zk2env-Qvkq5^Ket{YSd>p1Qa)ta3Ar0lEbD3}U|bwP!KpECi@A3=|`TBhtCUvIAWa zq{kW~FJuWG`N3xwk?|3h1l!#e`6)_;L7v}n1$>X+uY$t7afz3VeFVY)0pE#TY!8!C ziK3L42tbUcL=N(GC2Dx66w%;DXp#U)XRkyf7R2h>s>v?*Y5R*%hej&wwH zO{kw|9>%jt@S(+`{Ls>t+omVTOb5*AqGVhF)OQe5n@?EkT<)+;ZV!YEktl~q4?p(p zovI$?hu3RakDtQOheSZBgP8N%1Pc*sl4=wqUv&c8L&E|^<}+Q4E~sJv8k0zL;MT7` zglQwCuf%+twwt)`!F~<5Ev{zstLg#fS{RMk+c@2G=J11Y$<6DPf`*2Nrx3hF#4lQp zrs1Mek)8P0aj^xa0q!K>eCb=23@PYc39$v8(3{#w#)<}X@k|my#=8<1Y=O3)E+Pb& zU*vcpkB8IE_2VoRU7d;&esQj?ycMUVWgt~wUo{9`UE6LRCt8A(q$IQQ84<{EiEwkJ zOoxu%MUstZ{;tZhC+2s>Cg35H7iwi~Ju(|W@HHZkMLFV%P2vRRx7|U8&;l5$w!KSP z+r}oNPPB)SL|LR>m{(RjTE6T_ie1Is9(g3=ax+R}7)gl_&_;g>W5u2B?k^f!&GWUP zcG|{pgIv{{TGQ;4Di%G`Q75WGM@!%(tD~$9&*QL#60{^}BQ7PAvjmqp1;@O`eyt!v z>i{1os6EgDG0x7P?XHN8zT_=^RCH{4?oX2!P6cBb^q|JY$0u?AKKi3p8V`xZe#_0{ zH51M15^8{TbE7vQ?2_P(^LFz3?gd#VC#Si0Gi8O{^R)Cy*$K&s%PCGW*vIPtou`kE-clTV3#5T?(!O4GFdc1?-!d z-?q^gv8#7x9)Ctt&6#c#9lXloaJnVgDydhKENL(cKku0dIVm@gAOdN_11gc|eRIw0 zTLBs7n)JVgerY9R1r!HE`EY5JH2ctCB7XNkcXM4^dzI6N zKcR}NSi3?RiYAcZo|aW!)49=u<}&jS7fX;}gMivuI02z{k|a>eVqghNQ~Wia<PS<`8MI0KW$Zh!hOOGeI?*9XO?5J{N+M zD#>Kw<95^y;=}2=g0@|c7p2F@F9pzN| z3DO_Mu|?T(&)~udgN*g3bJZx_tbxl8Pdx1m^{;WFFg!WV(dA`KB7clgI{?tRsd$^; zC@eKg{iP$t%VWDO9ko1PIE}gu%Prc}6p_SvsT=9wMhV@O_GYw&XQ!2UMU-`qD2@32 zb2L-n>wFbkFrjE;r2d6HzpW*CD<6)TZ*}ALzfj&kg+3z{U;zGO_-|ogM=I3o>{u)S zOn|;02>us9-ATTHo^SLCG^J4t3k&}PAT@ruJO_)Ds; zuHDyvix=xxK+<;xqjBnIRir^-7^;m(vce|0qH5D=#Yp=OjClrUnQ!;u`R`-HFkNaz zh&t3PIE9I>12|oEkXpi@|K+Y9KlJ?_MU*8w;RMUqH;XU^l|wrAj#3c7Dj}yK-6=5c zjnjta4b#Y2M>YMIruL!Y{Rar8p$ zK_1Y(@JWPO$ZG3FtX1;ieUb6dJca!_I#`0A0?IKYO&%?pTp-_Q*aHbRoo&e)yCFV{ zubd}{)!I#L>3~mkpkRN5Q53qlghbTbJ!(J5^Dq7}=XX=iHI#cTD-x= z6<@jjW7WHxk}h&~G+ne}9ZpN!&Y1*IMbs#9@_ro3B&?JE9OTj?Z?ff(6!{y&!JdE@ zE58Cj3XSB=!1eT?dLs?_qqXF+&dWU z_kdD)@=-Y<{Pxe31}g*z%Zj}SLb~$uH)v^TbPOXaJM%L|kc-*h3e**DTUnwT&1X*w z36zQS>t|%`q_)4M5RZT(tMKfMCeX11w-I7SHvR_?PN8&cb@&n1@Le%#E0yo}m;c}P z6H+oah~tryaJgTZbQEc6{knY(#ZF0;V~gQmW9tK}DoFZ9`7*NL#__CN`lpym;tl}r z4gIQ0K~Uc1+4re{-?6`h$9;cZf9b^X&yQZr9L!VV*fM@al53{5ApOXU>u6uyR9J^% z@rdATU=(B37bDT_GuEe%uB?2Us|;KeiyLSIMW+SfXM++jh@3X<@e(00nmp^n*HL^Q1J5VAzwDFgm06e8u_Rdv7X`R2 z-uL0KFfrI7nLjP&EvE=@5hmX#8(&u9&PEupM)HoqTM{s39@=M-ky>M0uG9wJ~N2u-!)1uKYfL0OZsoH;VKgx&?!BPpR0gSeT^2 zM9OWdW`{!2>ZBywI@ual6|TE?f}Y)b!W5a$_U!n4ue(V^takC2YUaxYiw;?18&kVJ zaClGGj?M6t$H*?Xmqn7Dk(br2^BC{P;3iDRcIAOA!5!zOYPAB(+1o*1l;2MMFDt{#9!9R;Xs9MFlzdr^?Wvg&C5 zdj}s?Bq00ka-u{SXdf?CW*pvsSM#~x`C^_pmJprSH#Gb|#j0eEF&2HkbD-#La9i<< z-t{lL&eE5@hz3-4L^ZKq{;faA`SUL6?fp|TS0sZ33{|3Zir-iFPqdpF2P(enb;xS7 z_VsCXfZwkGTj;^rH{zcZ&h97MHIG6T*;5Q@3RdE1D)2& z?s31QuPw%Q`X_&hf0R>q*pI$qxD;IGYUTB~u;&tMp{}hGtFw`gr$hH*?wZzNhs1s9`RNDfdYl*`STmvSAe_JG8*2x`_`0jy9Z!n=Iyu zHU`U8=f%=|`SR%?;)nqIf#CaMs1+dykh@pQTlmg34MjgDjsHdxqo5W{8dr-D)xw0u zM$&zcR#j@Q*=udg7q}=)$uk}O-9yj&9962a=hD2{4j)#PQzFfR+x#k-uce$juPe!> z|GYT#vv*CVmA2L4zKvQ2%rw!?-qbZ&m$EKvuHIzs-Kx;}N>|PK(e!Y-u!EkGixk_F zxays}?Xmaj51QzRG@oF~C^2?n8KGpfdXE;R{JCOHNB zQ(c!X>Z|UT<4((u*ru}I;3QX{?brVF^(rnIh9SyzMInY+`u6FK?kB8Hg=lrSqz0Rf zrZ`r;-B@2Kl@&~ntM9RR-9P23)A4n-#CUdLDfoSLwEJkuW$A#bp7B}tqxXj0N{#1P zny4y?CCg-8-yy;C95l3XI|a-*K{}&fL=)-A3r)f&lm1>f_+Yg*T^CPo0eu7@ItfXN zB~VybG(%2-vtB92kj5S5%Vh+JNJMN%^NFaG=q8DXkj?YkS*dUDuagXGg^2p7w$9tR zW~YK!=g_IMK>}xv;_eycvMqG8&+XXeuYmuJJOXmrK8#iIP%kBfF)?CfK0Tbu)yK%f zyhfAhy8rGc$5>Mbza(nyDsepYrK^pz*;=65@%Fm2y!#*9uhku0ESNTAp=xO#{Yxdl zEyJ$n)UP3oK`1iaTTAN?da<)3Tb5;K_ZoM3I#yWK1UMVk0r3Kh6gae6V$HoN0yCR3JGUi9qchDpX52EKL(o_V9jRx$1%M*#j z5Yjx-NlRchz>fn7_tb+DZr3taJSzM!IgDZd6}t#vyb63`oTqzdmo#AUYT+BId(*dE!86@J8vJ9 zTYrjvl4)Iooos8#ABQYuLX*TfjS{trDO}C&+A0F~2dAb_Cbbm@em&!#*r}*vdPsEp zu%z}it{Hc&YT26piR$nOk($iEReaQ14{cu0xnupy-S~gT8XSc?7={1R^(tC;$bJz*)XvNF^C9`VN{Q zAVc|hj3_=g=29qcOj_Z@AbdeHIxbGZL0+uiH-{FJewt%Tc0~%HOSRQ{GT+ z$Mmeb^sI-p3)at1KV;vva-)KUuHho`12~Jt0DVR#-A80oucb= z%@+ooM*ZG#bzCi+1UxnySuEy-QVpyLI(+D0a9+u*~OGu=2dQ zlzC9dDzfc@M5$gt`!fRp(}xDrMfH`^3V{brZv<0!_T6Q^wl{ig*d@Ni_{sk0ZAVYd z#A+(xrek}1G&vJuoOUxNrSG!SJ$Y*4gbVA)ProF3Py4Qd849FW*&HODRtB@!4_7y_~UNc{9WMwBf zf|c}?#R7Rg(Cl(v=&aga^qj5#LHtqfo(D~ZpH+7$<(s|Q7L;JkA8Kox?)Z$FYdRQ^ zSY(&+u*cchG%M|BP56b_{`}`D=MML!Utz#2+M~;vV8@xDDcZGJ=|%-p{XNsO)?Ex4 zLBRDpWuoif`Br6{T;3tixyIdXrH#+6f`#bYWhKtvkZFBwMc;n;FQwK9tvXE_E?tOD zztz%~mQ-wz@8m>F%b*$=8Ocor?+ec9T&nDGo(iGo)Q8D%pReQeV7)KowxH52o+a;a zB+(@!Uri*iN#9_m++hp6 z$0M)mO1|5yBvxR(#@Jrh)aB#X;9FeJ55_pvyqkO6?(`xmILp+&!Vs-FPPyQ!PmxohCTmH^t`z~Kjx6Dot6 z5t+g|Li9ht7eb?(E&!i#u;9cCoG0L1cZd1-8!IHu9TV3mFC`8w-PWE$!cBY77W zJ06#R7Eu$}zxD6RKXEm;#Ayju@LSh8ofbA^MIG%-23?2xFilu2P*?C2l_Y)z=3&lG z!4qa9GR>Eit+u{DdG@%6M=7gMp2W^oiK}gxcK9oVOZ8)%(O59zjF%Cz77BS_(Zful4TN8Qde8> z9R`cf!I?$kX>rD%O@+c$5wWUDeIlra;xBB_%1$bMsKcBNS_B z3AYZWr886I#iqkWpE9sNY5H`ym(iwcOe@Kuz}WPLfZn&BE(PnN>uiDXH=+-=Th%ip z#xH*7YXT^v6(;m`VBjMBYreuznG z>W>@K@=Q#;qPI5SF3KE8c!T~1d7M14T7aEiDiU>7(#%S*$tR=5s=$_)lfBCI#!Rz)E}5U#J$jpA&2{X8Tk`Q({tO4&{13`p*OLv)Ja+3AXH51% znK!XAp5Nr}QMK@hdn$=kg&I;d_2EHA>4SKd75-Hy`cVf)rhkjCY>Tbo|>9+{-%3cpKO~a zR-lcv!3sEcN=pRW>lP=3|MvIkxN7dBm;EY|jGKe97fZ#uWq5dVJ~8_pklBT#lz5F1 zMj41ma%@;80xfYP&LqVOp7btmz^=@ncBy(6Fe;`gndci953h>J_PG0?j$2Zte8-z` zKje62_r5PCKC$wyB@p#s%7iVUt_1KLTqm>aPTcy4D2(8!Zlx1-5*ncKqe#?%n2HMw zJfUeI92T;-30!ITm&Ei78OdIIV7R=Tntv3*ugV0=}_Z}gw{rePdYeLIKx~EWG z3J)wIKl@k8ahB%<{oP@NsEti`y43!adJE;P7BflPCFmWUEk|7oab>KL!5?E*n?J;!V}@w?>x9)z9%lZf`;{nVqT}^ocktdzDx?eFq)y- zqLnu=@fHw}(0i?|I8v_Vaq6(CMu*7SeHZ-fgWgdUAg%D5o#kv!T$a!GuFyDsXN}lF zj7S1v0XMxFumP7j0Pd9L{&9D5Hg~>(S}6`3BI^$?uDOCS@&gxH&ga~=i6>%QE$O})Mu&A^3)yHD{j)j!c<5N_8yX%8XB(=$tFXN5nT zN$gLs5Wss7pP)O@qCbXSF^Z;dm@t41-B0dpBJ9Dny$v8Y#G$?Zj2_BnWE%K1j~pgX zxGKoNM(xvmEC0JGqxHUSd%4Po-gFPWLWj~j%*VQzclF{obAmH_!dcYb|NU{g3IT|y zp$ZOA3xg+x)@9XFKJ+cUW0l=g<0sd2?vHPC*}jZpsh{Ni3)4S_){MWatkTS$N$|0F z?c$O5duY5Ku$1@7P8joyWJXOX{&S&|{CR4mg}5^Tv7i(|Ek4Ccv?jZxxfk zishJylI8*%JS!{fI~uByAWfcbw7kO#qB(*M-xbqNe(hi~DcI^VHC@zPSXG$fSk~M) z?AZIZZA33a$XvxzbMLPyPl<;j%MW6Szqi+ZhKh0azNeE9-&YPST{!nUk5M;<(3$(Z z0QoFl8r|bp&Nwh=U27*YEvNYx=LJvBl^+Hm%(VYG#QoDj7E3C+Q&#NL#~n&&HT21Y zsMfF$A1ZDm48CwuXdJ~Q-lnU0RMWEdZDCu1x&J8c^G+kr1TaHhN2V3kV={s&8MHlJ zqRi3Rb@sSsh1gi{@?9OrZ%D+ZH}6o&d_7*XFLiZ414$(s&FQd^k*mxhs&-3Mmr!x- zmbBVy+p}||m>egX2lP&FtEs&*k&XoT?W~UvZV=$kI3EMPBEE6DvH+b1#eI=AT3?~3*J zh`Eg~$+dj?xfI*npHrSVdw&J^UpVJ|-?JDXthnRnXp}BK+KMuQn|YYkHXdKJ5{37z zao3lOn~ZsTmdENgs66A0eUHlHK{Ezvou9neAPVutp<>RlezGQEk;?aAG6Jo)I{R__T zM+ds}O38Je77%uD^y2j3xp{h#y7Hp75eZw?Kr`jdu`~L)Wnc2{21NZiAc+aY_svP+ zllzPg1_ySfAz#pIeY8DqqsknXrF%Jw# zcHrXkm8)%I5{xqvtGQh|gH>y4uVSq>we9$&lRh^=di$HY zM4?qyi(>)+AxKw*E5Ns3K?g>vL3f4tEi`3$+W*?6x#8s`)kX}zec`>GUtm&@=#xru*f(n&jn@`Q#BD~9MT{yYpa&EFI&kgd z6Lr2}c{#r00W3drzeU{LIwX8ai*G>S;EKS_9qDCbF}ebAwubq;ye(_WxdM|8MI~iL z)<8wWRdxWp6_)kaml0=evc;yZ%QmqpSuX#wn1d@7^bBaB1&MmzaMZ34`5Mj9zSRD za|P2C&2_%ikBaOm1O6_ow9|B70>=N$iaIQ+r?05{tuNDIYi#>rPl8~lUG#i=?yMhdWpk7;&_l|^(xuRsyLgcfgedr-&1+T6qn4O zK!&w<@2d0Pb>~=miGAO}bKYRubC06&WLOkxHlTPscqs^Q#7g<{{G8kpmc!B~HZ%L` zeTYlAE8O5Cn#gtfOJ!cF+caO&iE_?gXM3D_*qx_47@k&ZP%No(+8pPpGua}sG6 zmpm|gxS&?vF!+6+$G8OwM8NDHz$#*5_qX<2pX3q6A~Ij!L2}OphNSZqi8rrbKCl!R zjlb91G~Ddq;-0$-@>Y$hwc@ESS}rv2k5BGRb(I%8zs3BJT8#7A z(+ecaZN)CISr>nOwE3Ra{3A*}drIyFIarq8c5qXR85teZ-|JVwcSP9xbnUvHbp9BQ ztz1){#gpZEv6JP}{6WjZ&Y$z1`z-o^*4knd2Ga$a=Z@7ydR0Ug2r4c298x<_xOB~=D$T`H*0qkeRb(YPQyHUj}HaB zKe(M$LvWQEFWUiZgqQbUU+(8EdxBeaazH-GMC`;RwVJ01s-HjH7AVh4&T|P>({0Ps zeZA+xHuH%C<`0b*$%G{)=|A%m<~Sk`Mknv_aJClf^4oXc-(vZ^$FFs&EhO@WL}Nym z1FFv+n|Sj@fm+c)4?LnYcd*FT2=ye#X4pBi_B_0qG1e!(tydDC5`!!acs7ze2vF?K zZJ^i{qw>mAfk@%FN8ict2T%4zF%O+R*uL-ZB|nMW4BZKx_XhwzzuJxh;KXZ-gDXr~ zoq0{eA8^XX73jRbp4n-bFTdV;?_jc=-#b2+M+tL6ikMC%_gKzj7qu(zbx+A0F_35Y zIMQ}py>!Q(=h7`ZcDZ>@OiX8g*XM368(e;2ub=m;fuUFp`ClGImq$Icw)cz)+*~d= zRn9Lia5jTKF}bW}d&NLvQH92aLy(kUp;300?n9WW*k*K+^#^Qz8o{VoyA_U1QDp1@ zTCNpXJxX?E|1s5$%18#+9DH9tgsv_Db+r#H)EpwRpuX>e#T+?zwpBZA%6{adCa7z*Fm=;ZN+oaPnqt2c+k52 zOwe&&GgjwAK?a;G{!dj?5ZIa^eER5e(WT}b!@PU8NmoYh ze%+SVBy1z}K3}HqQ@GWSajahlkE4LK59n;2#GuFBFL6&&XQb$wAR(7;N3;&K8kd*7 zHM!ce{C;@2#PwsuQIQs>_s@hR*?zFk$gfwebms3XQX)$eMnOlY!x+U*sw>mnA564d zBNkcPKG1rT;KD(KLkc+C$`o7wzH&Rml|Rq$no6FztX6aL>C$9OW|9m(_+`5{8}H=G zImnkJ8Uoh)K(FcWi0ApY2|4+isu}?3}u}Wq4kzk(*ekFI0Z8{`#y9i?jkfA*Chk;jS?NhVp9|DWNInk)!U5 z#CFi1QPNugw+9#)`3S}!5u3oOrE*penZkD%U&fo^mBU8OOvUK{|&r4hJ7v8#JbcJ*0ER zKKg?M_mCwlxaYHZ9FcoV%{I&P_u{hrsPC`DtlwM z%Mlm~W3AaZrUv`~$6d!?YC0E1@Mgu^(O|_7@1JKc>u^PNROmZ5t3;iK|w>V0B{zdSPwEc2U&+w zJ`z$>m3Md8Um)Cz^e)&s5J$eo5OnR}CgyA8Z9{T3I%6OkG6KXyp1e*leozS5H~IHL zia;3+)lt?eC?aP7!jS1j!gHYy@)vtvfv2nv3*gssi%P(KQTX)M4)`9ndR(sF$MDZOg_`dXGraqO#O zJq#+eH*WCno|&_xLE`}9{%f(1=V;5fOSC*u{Ca&uZ@Pq0RB8sV!6OiGEua00d;HD1 z#KH1$WPO!TPrlB%z>#0y#dRk|HJ9|9T42~W%J{C`ob~eDa|~+$I6fAb-JXEC4V+s| zT_OCTEM4LOVe8F0Ucla>sCp*dwQ_3?X^jc(C+?kVACFu;IGo!shsA@&f*{!}iRjQv zHUUlv8iaxC+5mR`V7$M7d7@w>Vw{nbn$K^1=P6O##o^ujTN_OFMsT+fWs?={DV~`q z21q9a4Uz&027z3m2T|WLf^ZHUwr$$xc^wy=$9t0^W<1C(6Lc`ratW>uT>eZ`BJ3Ts#rqO(_A5=2^WUkxkS~q^c5tQ}`r?+$nOo?HNEedDeIy?-& zJ)c-TzW2qC*NzU3)_!)BTGpT`A$oL9u;tpCzZYLwedNz3^{}}-N0uFk-+WM>VNeFA zt?FUU;O`ULaV)#d>g-LbD;r7qfqqEj#EZq`T!uXW6;`;3P^O8wxq{X0EkHe>AO$Wk z;XOJq9kS(*S=(Qe%{K=MFP z$ZRS9@iMq6^&4eNfW|pEM6m(bgX8c2@OslftlYAC1p||5*{aq3x1T?MTp7MJtm9k| zci4k4XNekq0EEJqLEu#dcXDiH!!T9hryP`oTNiWP=k~@fwWe6iC9qh@)ogx*~33y z-n)8w{!z!`XQH?M-$r-+t@f0j$U!y^pmES|PVHb|U|TSE4yo#Kw){S*&O%XhzLK8F zW21kloZpu%{WxYmeMh)AZS>k-&pp2momJzS_jGqkLX_mBzIZNxua}@#gMIzKDVwuk zv9v@E+0uMzN>XJty`=aR@Vn{PUU#egGk*^`S?42+%0^K+-n zC!A>zSy$wF4?YM8#?^6O3ERtAd{#e3@c3>8yv zrgWbtTqyZA*6@J^FTJ=+6->^XZ^6VEoyda06E&wB=Q1#bI}ZN5tEn<{w!_mV+)Q5E zG|fC*p4USx`0I^h<_m%g4NtG*O51HJfs59#Ogn!hc@Qg#=$#hVK! zK8>8^_TOUK>G&*YxR>i0I{&Bd$sSD@fubSY5uW3HTRoMqx=DJ3?PvhSQ4hV~+Y)Ex z*NC8AkpjhwPgAwowFU!T&vKzhDMEoM9*_H%9TRvZe$|LQUgC0yALl#2J!@)u9!abj zIOSlRaw}mfl5?+1VZ#0(ke53_1$#uM3{_V#D>7(oM{Gz`F=tk3OXR+Yq%a5{8E>I6pOT@HO^WmwHOX`_TY<@cm zHoj!ftSL?qx_3uAGK14YGEFI_`;)#{Xvv5^$G|HmpA<={Jfrw3+n*i#1BKZBashuw zGV-!pnRrcfh3gllXeMqkn&(WAsg9C1%mygtfxHKR))}uYT4Q*2KeS%tXn|Wx*MQS$ zxO(@%m&{sawtQ;_O~fw$$eFmE3%~)PatEuHQF|{fWWft7?d`ndK+tA}x<9oVorb18eO;sTS z_A6X;a>)RMz->?II1qixuW}6xp}=6IbRsP5dfa7th5k6vvn{n(EuK$yqzVC3 zm$(_Cr{r7i*Xl5uE;v%NzGD0GiF6hj9pfbpic8|ZBqp5guxl}|779)szi*(inVY#f z&EcWDTy>uPHd}Y5Yg6ud@nOS?Es?bY7;Zeg{M}@6GzfN+`=S6I;C~9MAkhpC+n089 zNmMOUoW*;br1ob?x3roSUeKuBC~=D12%%!dVvT7{}4H$udc}K5N1%b%AcfmMCYpn&_%l=D|B}cK1HddpzNAs$+K(vx;R% z+?Uq8tz*{u_aH63RW|hIPO^Q*1>Ury`;LD8_ym_24pU5OKx%ZW`tj?d0{2IS%WC_g z(#nl7SABYq3qFk#1l2kV)un4u+xy zeb0G;wakqRTF<{)U4-o~!m3W}m{{#AWBTF*<9iLk2e+H*g}6fBTa1`*p2z1F#klBL z&X-L7m0zx3baZGDaWL#_wzaBqQVm!pspOw^Y$j#TYFgE?H7{A@_xOt&{0tI~(oi3k z%?ptb2zjElJ^1cedFb6O6}`DS`_(b$_%;vA=bSh6xGZX(GrxUR1iwxDdznSqys}z7 z_x{|KD;^&3Sf!&8d;ikDpWe%IwJv>5yUKBoKbJvGpMm9GuSSU0j zt@0C|s|tvC`Ck}S;3C#q6bO$#D~~1>4xn z5X2*Gn)$faEazz2exAztrxI;nTj)nu=3iD45BzZ|@YA)h4NE4}l|J4X%QSmhw`Tlw z@{gBopZb?I+g!-{7}3eK?ySOVDL0!!flUJPiA>CVTB)_XDZTdM-SWda^HjIx=-GuT z1aAuk%L2A@z}q{x{PokNHMp4*xR!-h+Qi)2V5)E{>yQdPJxh9eSKi5*AM#zhTN%BU zXjgAf&&$D_qB8}Zr@k3%3q=>Bzb%yP4}M#XB>;T`Zzt<5UcMn2hRw!jVwBwvssh&xyV=s=xFmK5lconYpd?43h>o?zh@#3l3RUtufWwGo$Zvui%Gwou8e#9k= zybSL#ng8g+dGqqrFvSB;x9YG-=?NYz->jLoCaym^=oTkjuS|1Vt9*Dj4VU+v#&_7c zEjeYl^Y~r%M)oV#s>p(4a7*?tJOB9nb?FSZP5Ay`UFOc#ZsM|QC0(o*;)`*yZbDY5 z0{XGk5SO`nDc^Yd;8_+5U$8@@a6?a5M@JisP@7$iuxQA?3gm&@R(oKF{wuh9ORZ^h!qNw{UbJ*s25kW%}qoF4cHCfSSW7ha~9KR=fF zf?Bhv6Z2ekOYgS$e4nDV2OI4}c9u=6nzH%0e;?Ek zU>DI3J&TRt@}L;e`vf$aSxXPfki~R2Rhx|kF_2}tiM6i+gfs6vf1hi^yNN+_+XyV5Nj8<4W&PzVY->4yC{ z;n~k2{f+ddr`ky%lUXA!Fldc4F*=0p26(lT+msyD(hv&vsDG=fit_G9-c`UzAccy`k{ee=#2JU25;l@ zTPylU7;b71;S3!py2-|YC*(K^un1bJITsc)EGe2A)svk5*-fGY2JTk6DHjxJJZ^GRSu%y(+kRJ~8#BH@4-=LSNdjOz6q6qTO>R5#(gs_E;4S zrxWm}&oJHC_ho`-nJnA>hald<8HSwWY?m#o9=S)4^7@5Enp%db5O)OY6(PVR=}EF8 zW{X8{KAyy2XM6VLpe&AKFR&7I9~?>8lBYg;NVMf;!r0kZu7{0rl|Eh_9Ho-#DZK}= zn*#e3IE&NzI<{fakTKB;6!jHN^jWX{;i&rex7mf^#naX-QLP(# zc2w@NJ36*&54%ID+!aUv>N~pTF25EvXdma>_1q&w>a9XTz=0Tq`{Tkl=>@8uNt zgtbcKAL{mT2R7jW>!jH<=WAa$(0uF`TlDpmO`0rvn_#VRUtA(_)=S{~I@j5$QI=*i13Vkr`u;lQ@(=UX*nX-hM-Qrv$xwCht zjD#|ehn{_+lPx6oASm50Xyr}eiqQop<~;DJkYA9LxN7;ORo6_AYj=+_7 z?Ldx zV6uLBo#j**1yK-F$PrZmH5Ps|#!Y>Vu*UWp&CbD52fRqM%LpzTG6&ogIv=bRS4#kPj4Bm zHOnmT9;xWFk98W%FHPHZ%R*yOWo3_ZLAA|+826ahUYlZSZr|SB{B6g@lH-~jd%^Gc zHUA74$sH3frVq!cE|_~Rs5>whuSQ_grkMTb=a<$#A7_)F{Kd*FWzNXMKEWwB>28KX zcjVWR-tp$4tZB~|oNFey@DMPTgzI9~eyPIbZqMcb?`GRiVRL79-?lJ^g{jjVCAb;lckGx$zc)4L6;=BZ2w9CY=JIWm!SKs?@d*)*_B zhB8ikn7FX*@9eUz2TtO_g!n+@~ zp1ZgFLb~5WRPUD1gpQ+jPeJiVCNJcgAm~ z2Z?zK6;RivU0TgPJe$_TH>E1T4Ic#xouwLD;RA=!llOUdrOlfdgG{w@-7?t)f~~5h zS?KqwZ1MY0u)*D>?=Q~}yJCEfB~~#TKY#Py{`R1dkigCh8%y&_O-`Ti=3BK?b7s@a zJ`E9e(e^=mu~ojdIl`Mi`3`8;`v0|&KzXr{Yr#yL9IA4U@U9ZRAbV|Ur(c@bSrz3_ zfs_DiCtoA+s2f;ix$ok3_{r4Oi(gweD}(bmK~=%VvD9WQx$DIYG(u@&+HT;bi#G>60=B4WlHhwQg3Rgjk_Cu4fJ zW-Ex(`x;&Qx-~axt_7N?pd5Lv*%b`#A|fpmiE#hEiRcDZ)z`xQ)!SuK7 zyv@aQB`NA~>BWl;eE#hQg+&@NGESCK3Uw9Zrqx`M^|eNLA{?CaXX*LxV1U9aM<<2t z!t2XPWDY=V1CMu1% z7w;M(+8FT!m*)`2kJ~lE~d+$fWzV3z;G z{<0Zk62TFqXFm4ePP4$WZdEfgvk_Md98!82_mizZzm(jxX(gYQRt8_{CfbR6 z|JjKxDSErn0b2s0puEy5hG1?aTxpXN9DEpi1w4d1wK=I7x&{ZyG9rLVPD zpHG)jIdPeVfuqS>?ZBt_A;qPa51`;`+CO5iT{iG%;?xp0-Ct4PvWChUTMN3l7F&Ex zQ|>K+0@06cc3s(P(DVadg&ACKUv^A=o0(3-CDC~A;G)^YJq)($EA(-Q&rW%u0;cF} zn7m=ApAQm2gWX{Oj2OldAZiWSFUmXjh+Z4e1jySG$)XtT#h{G*JTp~16OVnI_u40| z+Afrur1v))`a~|MEu5>);Mc#CZ&Y!2MvPByVEbT5%Rq2LUr@vQx*=WrGy}h*11CQl z8Rw7tRQ$^Ym^d@-9iA5<{;b3if()^RGcrEkh1BthyfeS09U#PfO~ag#)%u{OCK_G} z9I2?R4gFmNQ6v~9#j_4MnQl3r9ff*Q(|=zW{nD9)%aYicee7z@-*qN;qC~r+E&E++ z73(?PDGVY?FSTi$z zB)g*b!}qpOg&OU;&ad{bxR$+GJ0{;0QhK6!k&%1=&cHHV|GtLQ;F_&Ar{0XUKd}si z1JTPx=m;PT?THfX6h0 zF=QMO^y%6uLR$CNdO`+tJwDD z^qobdJF(q+?ADXDu4Z_;^WuSk74 zUfo=o=71fytZg#e2TzMfNG-Uhzb)^svP*}Z!};BKImP5ulQa3pLhh;C8*|R zn?qJr-cIzq^;i;=_Ka4wuP3jE*Uy*ole!jlq}%0h2QNeG!s2SPkdDlSjlR9X4QCBs z3f~1vK-TlnO_LwJsky+Wo$6?Qnrbt(R|k~@OaScj~RS)$BI5;0d?e*z; z>H@3K?jB+sa0CKY!E5%t=oHX&+dIqijCcfI^Xa_K({6k5UGb_)BN}R%XYY;-$h_Qq z5d}TUn^nsf(xJh0rMlj``Sdxp@1hUKKbVo8n)3szsz=270j&yCvkFwyIc4foHa8-=ADbw! zwJ1F~V=!prlb=)mzJv)IQ*U--ddqNIhU`xkG2&$vX*n_Ey0@aDN(6Hl`R}b?oLf1W z@{G$gwKVy(HRIsjye{avOtnMu{)89Fe8WvUR^0vWS}y)HUFhp>(V?+sU0oqxb5)V| zxw*$~R&RDYvAyE`%@X##{*qS!#XP~Y6&6lZ7%??P_;Gs`narr6W)^;8nAd4H?7oTD zbV}aluzJmH8vMLnF>ATyx%ryuIBb^i>0*s_i1Q;#!1eU5Y$gR`rymU=7Np4k<{~3{*v^*-y>snbn;H^j< zne7$JqsxS2g@tzpn=X;1z1O~2#?<81z(@tBz@T~1*Gw~69z7!>`zkG(tu&%<$qKfb zD?VY@nOmd1L=Y&Qy_k)eWY~W0J4#IP>f7Sg?O^(WYD`NrAu&Vk*|9o(g$nkYi7D zTP9v|hXns>?TYR4qo!!oSG!kK)TB;F25UxaU|A-^#-=87tTNZm;2G~+4O*}3{&}f# zg6-xx?bI=;xm{yZZZ?hpB5+w_eYAYqQEZD-rW0sDpWnLb!Wd(ND@;{GO@w(z`*9P? zzhYkJ$~k66gp4_v#<2Eow#$55sk>1yoORX1vNt;4gcJ(?j8BTOe0-;qt(+%M7%(zAEuPd1*A!5e>V#H9qy!>2RG8=HGhH@&h7@T_=n zn!QyONMLZVSzb}Dw+7@9+aJR3#9nZ{DWiVLDrWs@vSqTf3#z zDZnJTFQYWYt7q^OeVS zq$-ZjkM(i-*73DpI15)wT+bhVlSk9|`M&0_>^xP>6*J}aT^eOC7c65g+j_iMv*Sg6mM>rS zYha&^<0rUIR$C}8mWj*Sr+GkHFrD$bjA>?j^^Qk688J2?%lX`rZK6c4+L?&wNpd;Z zO60WLnkk}W>969gbX6~9S1Uc57>yf_A)ITri_uotIv||i%t*j%G6c# z1yv4e0YVF2>9cg9CQGFsT_5ZDS1~E1izfKI3%q5yGF>^cY;$aPbAWL6%jUbn?NL^G zHqW1wI%yoX6b;+0C{*y5JiE!&0;3Q4+CMH8aV+zY3)vI=W}&r8rQMORA&bH*oxH8) zOSD=CNBiqNWPa_#&NpV{i*In}%Io~v-y6`rHK$TDVh3P1Ha(*X_J_h5i9RFo$pcuM zs?FvPMkMeS*ron?3nmdZq8ZWmLxgopO&(Q;2fsVb_u09UbD0coWQXd9$C4F|xH+_V zIkZGpUxk9rtgbwKgQ?=h_&`R@mcP6*jIG;OZ#nJ}5!7Cv>*djQfKHNrg%dI%S#BZS zDeXQ_o%QRswmQ6Gf0!}A6&1Q)>S3@$Jn17KVZb}VZ?l1mCws4 z@QZ?0q>zpq^UgpY8@^1(hb2P|JIl4zE7a_2b-o>_`*O~!s&HN8b;Pb`6AwhEv zP7H#{EYi4)38Z2$0E{r9{4@=4mqdD)LPF??V)R5ErrClzDivmYH%tvADg=XB?mT6@ zbO7+zCvjDo?fmQlwQKxLWe%MfICO{^xc8QxlvdVjgTHkCis@T!*zj`$0rpQlu5$Gc z$NPDr`?8UF@L)*rdWwK4Bd^Z9{u=ESonb4IGZtoiu{5EV7i~#34&P7reUgA$$da5i zV)yTF#FQ4_S+?z3ln6n7RUpqLq0fLA5C+Ntu@rEJCSdtSxV&p$P`mbw*Vs#pBSfPx zL_rM5q?hl=JXo%%n(Pb{oHG3G1!=o2efe_`J;56kl&>Dfl|X@b!sVtSlY3RSB!d4m2{aGzbpBXNS~ z5?(N9e%NIlEs5TWC7VK!Cxy+Q!?JJ;HG zBLooK*UMNl?;dGikcMyhefRbp0U;@)QSIngx1)V=gvX|)Z^mR#^-W)pz-Zg6>%xX> z_w#laW+@&;^Yrcb;}YG{s=1+3@3;jmKLu}<*9wa8+)v>kik`+yjH=(&fkM^L# zb62%f12RpSUh;d7$g>N|FPCT2QFq4Vj5$_*wYRY0mV(p~39B_|eoA`PZ>-+RN?gc? zIHtXISFKvbz4aLdL?C>K{TZ(u=(M5W%Y}|gqW5|Lefc4f0awmrVz_FoD3fE|qTFTM z{=gRLd8q56GVYu(YK{&}uYMIRd_g(AC7{aKXCS`nqWsxE7@B)8j1&yDosCMaviLCi zLXp>cJAZ4|Ew0eYIHYGh1pRh7T=Xn7X4fy&dw7_eK}W^f==7WzJT(D7#zZ)g>tR8_ zuU$3Gu#i;*orJOC^K1b@je_R~;!wpeF8jW!X&Np z3SUGAr*CEJ&S$WHSR4Oh>>3bq)1N+1HEdh3sDB>?jrXuxX`5NgojMl}4!F?QHyAZ? zrMsO((+0Gvk$kv1I`lgcHD+d6jHdH5k`Fb&I3Sfa8FZnKCHRX+4rA_SWTt^MLY742 z!41yor1YHVYYHs4g|pezY;h|1%Na2+4&9X>b(dQmB=1DQUVd9~X+<+h9W5_{W-;Bk z%nCl5`QM5r9>XApJh9N-_jlxF+7*sy892T^MC^9*)&~ERIL{%o40tkzBbE+|Y8oR~ zh6=T?9MymJ$0`QDmF1h=Q}*+2dZ*E~q|2mtvzaE3z|fi8_WHsz9;KIyXuN&4Hq>$A zXqUN`$0#1nyEim@t3MX>Q6ijYf(W#;DI-XXgwtUf-~<&i=GoJG*Z3>)b_kN70F~Rl zS{fR>D;7g_oPc31^#4rO7Z{$Niq1~PXNNCO<$vENXxD&Yp6BL|gDOYaJY>8MMtmhe z*9nqULNqwLhEwzV`HBAt@_Z;gZxG^P^M7OAEJqzMSximM3I^#xEIcyEb^NRXmxXkh z)s!MqJvH20D|KS58n#^ctE&%v=IH}tToq|b)P!Te@WNEm1AY1@>wl)k$Q^eDUfp#6 z&@!~LSJ!Qxebo%!Q43IZ%9dbaCW`X_X#}yQ`(jMGV3hlZ%hW@3&yZ1v8G(DF3U6nC z6C&_TCEqiFqp8FpaRd_5f7hYrR@b){GS`KrKq2Vq6v|LNP>4}2`J#efjLx&?bRKG~ zpZn2T(AQ5L6?nV%+l$DL5*Y_RsJptxz+)kMxF;^d6d!MJ>Lm+I)LY0;AD*l70bCwG zRLRocYiht~gklJ0y%R8|lcPYJAK=PcAkY-&tvC{pD3Z$a_V0g;!E^QO$Ag^;C|(5% zoI3%?J?7|v+!X9ZWLtbv*m%h}WL%BB@VNNKh-n1xyX5pK*!OB6H3u7@$`+qk4kCnv zP`}G>#wNK;F9SEP5jBzQW{# zE!|C_p92{8^INoQDQ}rM!p5*Z3+B&V;Dy6!4tCzGc#m}!wBm4}e;obVsQ?|$&DHS@ z3FotIv*6*o5YJeIfA-~i%WPx5wgM)%vDJN!YQz#15&!@5KK|o@Rg}|SMhsRAJ}kL< zI0+zraz&08O}4RExGj;s`%nEd`+%OFUygnG?Aw?%=0p@63e^mSf6^2QKLfEk2t%~F zknr%^D32^!5KH9!?4Q-buxxg&d(_b7kY};fwx=4f+oqrxL_uL2koi4EQdLt#@y3AM z2}_dXL8xYae_f@2zmGIk$OZk7P0ViCLl6`XdY4c_~*=>^n2HeLfj<^tcHd5A7Ca1vZ)$+qe59c)e zgUH01YEVO$9u^WN;g}EQCdX{}Y>(uVog!r`MtDvCqTp2mI1y5`AHG}AZDo@!3RzO% zIp=@4E>5hkfqVlCg8VHYMuKUl zB!-V|*|vAcj2#4|M2w|R**=*b9}u;FCvD(REgBF@w=WvF{;#VGN-l#z?|I*K>H_MHE_IPrv4Bg@-Z_x%Cz)Y7o*<=t9AMa;nds2+dhUW z$N~ciO11$F>xgA{sV^vcbdZ8zO9`$Ng-k~2`;b>L`~<2tZ44)xkR~C5Sg1mTB+!;-g0@q#~1(ldCX3c<(0m%a4MtDP_t{Fg*Ky z!PKYS#jmk@z*V!>FXN9mrLgPm)AWAC05;(fIX3H&bS*sjk#1%*<~D8FhV; zdKhf<^~CHaasgLGY#r=;C>I0`Nm6>+?;{8&k8loHuvi{S*k>xr%F1nHF4)P92)KYv zzf6D#)_NgU+^Mn-=nR3cQj9gIfaKxt;1P@T7t#n_SjbopDO@s^$L(H<$U%FI(QW|( zn26vk0FoGrU}ViSLR|v{H5SkCFcs`Tb@9h1I#@}J!t5%rkSRaaV5E$(L?Aj%|0&{;nu$-}Qb0(kQ`+4bi)xAMH<>0Mt(yARC}grz zm>-F3$cfi?_uGfXQ-de-dqVU)v(uB3su>s>(e z+JVEF%xH+Qip!#U5F5D(kJ)@-B#vN|mUQ&fVLOsvhVx~X=0g>o250UynV7a>uVOq% zZaLKHpN23ir?7LJzna?GyaiM7Gda%aQn6SlOete#Ono9->K*dswT@ zF6yA49jo^G3BiIIt^vwMpDm2Q_k`luSl46um6CDjTSgx6s1x<_}|zy-LGfaHU7G55ia%v z_AvcOQD{2pHK8Y`2Id#`22w}o5_bcBLzCO*F!;WmuDBW5^|@g>@n(%>`}sL2H_AA1 zn?^IySQ4@59BXa{Xl!C_%5yNMqTH}$SH%crAR_lA8Bx{R)-y(;is2)#$Rt5>q;jI0!fIzojF?ur!9{Nm0C_3v{(jG2i;;4fU z8l`{tfl}2>|Bs1mqC34QAu_d|*g;z|2$K@kwmgku_%zy0;mL87d| zxk8+HS*g@L!6J$jb)QdM5X=#<-)!B95YWrRtBi05p44b&k0_4@T(DI$Zc<^G zl~R}#Aq(iw?;-A1^6#hfh}M4Ko=ThT=Z1KHqQ`?5Ma*5qi6%aYS5T z7JVhC<*uY#wpndt3jR7`2H+^BM0jqDtn_f%HT{kWp34GFD}KoeT&dXpDxXDMXQinx zMAM`;kPdhChLS&|k^yiSVrNsdI%Wd61H)~dV@nw=`h5hSl~gYlggP5fjg%19@1C9u zh^3?@`sgSHcsLiU<9FCSCA(2x91eA&Vfgqg2V)Gcji<28sl^~3ib!cnzakbpwuog@ zqNZzqLOdE_Axk`;tn7QZL8uzSgQCh%J^)irq5uqYQ87spez|%ai<$!?^_C9CV0OjT z?zX8zq2zSJE*1WnBAFNYCf=0o8%<9e^{~siBefp&57Rtq-2+z!Q8Xc{dqI?t7{8-z z{dqHO4~nMPb_qb4RHOww#=6Y)Xs%bGx)Y1sdS6FG4SVktvJrjUijhPxJc3G%HK+Dx z@l>EeFQP9WrZ)#R!AE1@%NZC&P#)dp&NHM*M*5@dz?*Fb`K0u;G$?EHANN@smusIa z-0VH^KT%d#O@EO6BkV#I5^J6a{^qOTF$u^uS!c0f;LDRBv(Q)=Y*XwBC;*xmcXu4K zGeUj>m$>SM#(%j0xGkr;*Ub?3EyeaH77RDvwzKp^!=LfVooYSSH=4jlYS`?PUEAcw z-CtTSTcX^IPxS3 z^|3(J?au1GITfEBN~?O9;Qv6iP&%jwlLHd5QuKJuz{j2*xkRS7MERNxcCc#VC(5ST z5~YMu#pJe8GQyL)P%G&+s#w5?QY0W2yW~#qBp!Yvk`iFqlQhGd-9FG1{~*7)1E1H5 zG0#xbPRV~>_4tI}MUP;U-g(%A%kYtl%||?UBM9RDN&BQgnxZe1>7F=X00HSH**enk209d3P!M12FU0V2w*%}qQFH|3%d<%Nwj!-9W1Y@c89w` zu_2jH;E@n_1V5J=doIp#Ttn~9+Dx-Odro~jf(*moZ?J2_7YY5rBd_WzX57;hX2y*8 zibFio4|=qTb|&lN;Q7lh;Y$AB$iK?12lQxwrzsA$B@=(W(IGclORC~y)42uq<{AS!$@UWc7tBr*yW zNr~&i;$mBW?!FG^txo655Bc$e@_a7`ZonVImxcCVxVhE)@slQ*@rIJepA{E31;?)uCVRx&fBgdmMV~Whjg#)w z?foom%Ghev?6vWfijJ07j45f&@YPqGof z9A{&SgI&=tvz^kxcE_v`35+&g&vy_y5_PORuaKgNDNlkBTv7N#+W+DTsxJC^di<0y zw9p*@gLyO;#R8o%_%__%4cJ2i{a$xAB{MfW(9ngVWj)4!?D^mULp*A1;fPSV=zsk+ zgn{xkZdvS<+l#H0th&Gp5-(UWJwurM?AOzk$ITZrtk3)K;Y6lQ*K0AMFp84+jok*s z(v*ObE@4UlqVxl_c?l=GiUMNsDOjQJrec8N)_#YkV#5=@1j#PNaZ$&JLj2W}vJWqB zh(hQ|ay>mDAW!-hUax4866v_dRwEt!rXl3;E?kC}*YODwZ-4NU*(KsBC zhu)Lg1Kf|~`b&Y2=$Epb2X(3VASW~UC;&J4<~b(e^tD5WDu)`$G5x9OvEtqHbOL_- zzu*Yt5I_TR5vF4$t#CBFXlB|CRttMm8DR@Yk>ZF;npI<>Wuuf8wDPWRTK)mZ?A@bH z)-lA|iztjDGeHwv^W9xSU`wLs32NwTM5~@cWduoFAS42Z#QLrgKx81~RM8^9p4@3r z1+&?!u3(desf|&;$+f@F}j*9S0PQ}qP-U4&RCyl*N#x2kRP&4V+MUk1fw^fN&3;s6wKsAef zf-}1Y@F9|?-)RRe3ImJkF)*DPO&g(E&@?>u!$#?^kGp}Mpyu7|MqyvjjPd3w>@pA8o-wAL zC%=a+FFl|Q#y3^Yl&nXCF*4_ZlIASaZLA~n@_ zghFqefP4&`Tf|j|3-~A!&d3Nb9ECoCtza!<$tqCC#k)%0r3-a;AMwDkp>gCo0)?{% zE_$lW#LSEi1`;-t&KX1k`Wscy5B)LG#^C*9{@gjBgCW1_Ri9&pS!UBKWz4VvyB^>DPfeQkDSU(nh;i1 zRUNb|qrL{%GiOuLx@ES6VtYH@+Cb<3oH)uJrx(R$kvJfFju#`G$@gC!DGk1N(?qvoBEA#oclg~YHG@Qp^ z&yBLObC^6m+ zYjBA3clPWF_(5|TL>ktEtxn_CN}*zXyyg=rwyoHk)2Kf!(S%Y`vLU$A9=z3EcHgJ2Rr|Js26D-ZGmXX0>croP(k; zxT{nd0$@kXmpGiHDG!O1xrCr1OnTNT5M~5IoQ*mr2^!g&G*L>iLd`$LN-Is&lq#@vsNf=k4{@j;1V%YcC1LbfyuoeW|-u$k+Ei|b)o7S$h zIuY6HrJcd|(8g>;SSeftQP)cKXi90OkH%FA8~hShDLrevgaNdADmpr07&ao=?H;`U zwQv~XdB8wGxyV@#hw=v!MhAl-7aOd8-*Z!jC4jSipM4Hsow+wIFy z9@8`roNAooXx0p^C4Q4|vtR>*h4%ln_Z?7Co?W-7Nleig6Ko(56)OrhEJ(5ID1vkZ z22>*GAf15-QWB#W1yKYWO$BMg45E&dp;*BR2n>T1QBi>z0TBj}q1=7Owd0({a-=^-g%$rInOzJ@3Rk8A{I!hT?(vpT-6rt3;_fgb?Ve9O96e7i)o3t z1(8w4QimL^!9E;hn*x76+0HX65CWl7=ngd)xUIVkPl%mJ=r3b-ToO2bf-C)JmyG#hB-Jr&RLt`LSm9f%0Qm~9 zY&{#*+fT*JegR*l^#=J`D_qb4F^2!$wi-OEEGV@^-SPVK?nYopX5?htaY%r(F#rnT%3aT+FyS8rG-=tKvL^_5LP6A&W-eSPz+X82lx+$~Q-G1FWC^uJ@i{!rrAyeujZ`3X$TK15ZzP;pJ{5 z`wLorA{vn3Mw6k&62WYMO|#>CB7yigpSjb8!INckfdJ4RBBTjGIK4=T-MU9PFQ^j4 z!>8c{$=i^?=WxfSl`e{C;Fo)GThP@9Q8h&X1VQW=M!Hp< zB<~F0l^O_XPoOIkv96OQEht=kcy+_Lw+3U*_pWG@+*#9 z0cdmJmS6ZQ{mqb#e+dE~&~~OnOFD-VIOwz6YAx_Woj=fDQwSgVF9bdX!oU869QnJ{ zqc4p8KUHzbfBOHTykIt-u5|}6o)g;6wsNf2rXeN0F1^Ke4Js&NtN`7(nc#;ky~me*GQ{Kw?#IkH0Kk;i@y`I=j9 zYOBbVu2KB<@&?7E1y!~Bwc(dHc&<76^Up`$AI%u4G;-vcGdq8@oHkAJOXQP*p$})f z)YX@q4=GtI3t~b<|LGl z@-s$)iC_NuEe2mdMz{Qjk$a#z0cN}nPrMq~WoljB81Q*WpyOXRH8lh!%a1Urwy@Jh zWD`eV3!0hwWae4uk z_yx!>640~YIhEm$6d$9^f2obTegFP_x+f?x#Z@52ET&^&Vdi`HwrpFZi2*jrqKldq zC2uyCykG*|rN4=Dtw()_*j7X$=<4dG^S5r>CZu6Ghz*TCnQ0UNkxoFh*1sm3g3nOQ z0h5smsSS9^)EXuV5Ku*n47WIx&BJ@%TN=BPgcQ&dI?e9@3y8!b9YnDh@i@QTn+kp8 zN2G928c~K8^2;}FEXBQQhzoGcQib}FKvJg*8Z;SlK^Kp?if-=6H%(1l1uC;=%vgs@ z!IW%8%k+95pl1zL4TzNAfO$P+m3-{%Bs&E66;nw+Kp7jRlMAi0QQ_{GKT+@FgBc&C zQXxfSfAA(wu&OMmX9?aVIrj={ZRby<%5}tu5y`RM*t=-ISqdfJhE1C^mM%4)J9jRt_C^|_ zm)kMVMS`!ElQ@Wm6r3O>y?Y{+Tm>{u3@77Ymt0Z{X9D8bWU50Q(uSojcz~ ziozMt?;3x6Tz21wUG#DnEm~BpxO}!zY&jrjbz@`WFTeOAM|YCK>IP)=NyY|)=D66z zb=jGqYSbB%wCtJwZVbkQQDIMp$RITRxUz4@j%7bDadEkd z-b|7|;v%Ig1vmN(Ev-zYwoL8@p(ojYB2iWR@yE+iQHsd#iub6^1Mo}tJt0M=rja;t z(;OTe7^Y56$rOYjW#vH9rL@E;3>BaH!+i;HLZooluhq3-FD*TR3crID_z8SORBUVp z&H~vo_;ag!{nIi|UH4>L7U7j{?r%T7kyNWF#V4q#Wq$bJk=@@^dXr9I{ax&mm+QB0 zKUwFeV?lRFc7hrJ{x=>g!iwO2nTp2K;sl(Q&6tN=a|!!z8;qW@g8lckf~cGeMBUC- zZKBGZb`jQp?&8I!1h>Iax1rWDlDwRu%E219(3$l-YsQrLwbjmK(0Roys3c<1K%`JK z&1y3a?l;2@9lBVlIpS9EHMoYdNLIGoEtW_K2z(*5*oOj(f(kK4xRPAJGii@Z#@?N) zuAWrg{KMft{>T}aerQ$6g9i`FffJ;mjG?*_2R)LeaveSTH9GPyZG7;$t&I!z!I;u) z09oDdV%!O?U($Y$%{GjAnoJf#xQ(EUumFYtgwH)KBjZWUFrX`Kxac9XZ)`2hFDPL4 zWI>)epBA2mrad{ogo;YI5E61-u%<%=_F4#n znkB*=gW${dAQy*bf`evaBCw#N@_Bh{M0UTK=<~8~0t9O`Mn%V54Np*zZHo&O_25g( zy1u?&nfbq(Sn=#mbvI;}pM|WNrm>=eSdv_^DtIWLywP#=$&8thT|5R4vXh+p;0+rN zK6&yYDHrm#2}2A``OStKHf|(Uk|l>n<)vLv4HSzI1 zCz%H3dWS&^`UppQ*REZxiljenE88iw;!$G>EI4`c2egYjlQ=39hdx*L9WLEBuU=ik z!_Gmh#cDycSCGCGfeCT?#@BAzOvQy8 z>4W?RrK2J8XDdMGC>`{(OZ1m5v&_oMQd<1WQDjx>fqqui5YCZk38e7h&`{V!dTYww zr>pu3m`F5fBzRDFq8e^L6P<&7S81Q)T#>zc;--jYZ~Z;Bc|5UIt{Wscu!=LoLxK`$ zwhR{6PQ(EYk)4BzCw4NlXT&%ntI8RipGJe{poUa}xY4$)j_;BJ7F(PEOJ@Ri8HM)(JO~&C@vj|L|N;i zc^yhT9X)PDgfU-hc~!AnHV0F=*Q{9sjZh+K5NR+nL_0B5;o^j+lstL-*lhj!_58*q zP=GD2-Q2h>OJX$4seTas#~)wNF{9D*fM^vF5)oskRKByYuw4Mzv`hEO>C@NZic9aU zS-!spd({H*{9{iKD$g^>hh~l&HxBE_xqSJ~9-Pm+jg8dLPwGFDyVy;8ktgMWyMuudJtW8*`{*#J|>ws;s#eb|S499Q% z2|Qgwh#x^W$lEWK3gW5H;mhwP?uC}eP3vK#pG0E}w-+xzBR^~vt)B>nq1ge{LaCHuZQTOlN!!pTV{gH8M?bZGGovoyqqXJrO zuw@h8XeG2slriRH{CVAbghEblz+0PX)21P}u8Nv#7Pbd(SYKaXSW950iHS)q931#s z=%_Gn0i3lRJH858icN&1bdgv#^AAM&)@UpHXSfH$x0m1*;9Gzl`5kyNdejy8IsdG{ zSii;`IbosVb?l5ssn9}(~|k5b*;-92uF=UUvk)k%!gm?@Er6Ustqp((3R-lm)) zMLrZ28X7u(;#Pha(2MO`wj6`9-erDcK|nV6j1<7`!vVSWYuB!gJ;CAhQ_b^hp);^i zyj}5oV}Jj=$F5ZERW%J~L@6l5Dg)Xg0Gtf|@(Mr8nV->S0R15WuIDXtOW%SeEQe$R zsqIXH?97r4pHXg91e^3?Z(aOk(zLOVV^B>&Kh0p^)wts9OKMO{TuDwQ>9DZJHOsm? z#bA)};>8R9_gN+6NI^9d!4RGMLrHyvTb6XOINPjlG;VZ=(EoD=*6>A4_{4%5D7e1HSj9;BDzrP1`e$@WTT+VEQce0OG!a~ zsZZA^7R3rF5Yl0~l($4ywl<5s!)p6vG6`Y|lBKkpx(F7}o;{=S3YvB~7r{BHtngU9 zZ{I#~`K3dT9dELPTL{iT+XfF|9VG@xR%UVBZE0K4b$!d|Q>QLbMoS9vh=_>!6OZE_ zmuMSNSqJcd{LHY2ag3k#1v0JFNV$V8NV24agCG9{AU~^BuQ^L#pwojikXEQY( zqW*jR@lak~JyfCurCU0FLbe>1a2gK*Cdww;*vQBdi^i2uuGKg^)N2&c06>pbIm$9U z_81^Jea(a~U$FvF7T)l9b>~9S!TkIiNQ3=r+m-LLFQYk_u48C_p;N|fR*un=p)Ho!%FiOzp0>|2c zr2^YpiS~nf)!Dd|^uU%-WFu`nQb=Top2bnWv89)gX3&h#D;Pe@hVeeCs^TI?WKhYC zU=%*~_7WH$=Dc~O#G5Idj7(cTY6DJB*R1D5o90pwKHO*zZHqCpuXOJYhB(1}N zGK23uQZKgw+Z0|Go6m(p7x%2;Rbl%&M3gEpOvnL%#dIFI zlVXeBwp;?vahR3Myi?2k=^OAT^&aKqM^N21d|+<>{56FSjmK6c{q@fZ3OnZ+Z~2dZ zQCRX1i}_pTK#BhTvv7iZGT7&THKeg7fB!N2_qY80D*pA2MNgVZ|G_N?M;AQv>8DPK zlNA(F4jw#Mg$hucRdsYX4rC0?egMO8`Y{|bV0#03(M&ZpwQol%cz{@J1-XvyFYLfY zUm~0@ADc`gVinxH&T2Uj;qgr(s3brwCPaRG`ncy9{*v1~`MTZO#=Cs^cQhZpT!x>Q z{3}*$xr%(CHa(Ss!ntFAX=~_Tl0VOBq<>ThNt4eBl>alf$A99t7k9`qZxSp;^hh0$6Q66n- zX2wU1h6=RaOG>H?H(&X>re-7erN#+Mm@J~dOoNf<@#=S)^+CcA04)_H5&>SVR5u^u z@P`i{5`I86BPjSO5(MxtR{>~XC?qAIWFnL9-CO_k+@f{l7>zj~mq6RjoHdKs@8X_l zSBg=@V~qN0OgYKvaXHRZS0@^Vj%%az`^YsR5vu(&@qs)!#elR1#{JRl= zP)X?^K}L|~Ry62~fz-@eR7eX}2Aw~D9$<%slhdq8-V*>eS>Q^rbw!$d5e+)xyzJ#1 zhha^=uqo6Fw-*I^NaZx^&_^Tczc2{GuNzWB7PPcVNNw<`qT=I&9^01;muAs=+QIc5 z`-7bed7e6BwsAaUIp?Wui8yfre`yU-j_$=&-N+=sgYq&HHvoBJQ6ma<FSB$u%UNO&bZ`p*bqV0su25r)hbg z7!-1YZ)O{$Wx3*M=+&aF#fr2%LA`>;R$$ou4~>HW&rDBj01`)IugHn_*wLfq$P!T> z2W<_vMdvMY3L)BD-oAT>F0h2-pN3sMuc*e?T9h4cHHmqMi2iXs*P7#`dp+Iua>!Q%^wnujzq5q=$uRJCj zbRds{j-Ef%8$4_U0ys(?$mhQ2*Y=P;V!XdyfxiXPUv$=#1D!?&mJAHJ1&6jDgSgTF zP%$DiGc!G#qt#JsyP#!CQ?>*+JsCH#_iml3b6F@vc zXf(|RL)Wc31K5Q>OcD9;@FVAWdDjjZibW<-nMpIv0gA!2t;^P_9>|3-$I}tl_dFdP z8!Ewi)&zkArcO4rm_HJU&`!V*-pq6fv_S1Fqy}}W6Y+I4=cKX6h-;nEZ$KzBK#2z> zC7U3cSk~kH`rbE`mR_^re*4WgX}-%*F`S}yN%~8>vs$3tHUp_aa6na+IkCLhdr|jy z6NVLi;X*pt%ygu>TefYZjv#~-f}K%cPr0-K8%iCC@>WziW=QveS#VrQQ$>tBG9JuwN|h_vqDKF!4BL$*7ZaW2-+v=KJl}UvEe9=JV#kc*jq`TA-S8 z>$ZyAy?Zy!O#n@ZTGgs9g5x6ISk_xBd1fK2?SGcXb_t|KIdPcNnb}su4k!N-4?X!E z;=%l0O@BTkukB`?&&M|mMg`1hskw{M7^q+m8i+ti1Pj9NknSX-8m0G-)0d5UHw8c# zBYmQIQc}|7S5fNOBNJ+Btec!sG83phdv*!e8=QbUV3FBdt{{jpDo|X6?Lp$VJDhOhmgv`HSi10cUgb$eBvab$=qLnYgJZ=) zN(yw!)Y|%7o$N+k8xa5_M~?JCXs51L5=P-)34VpbgCIxjg=dg;({aPjd{X0%*iRAbGaxlw2*WW4e#+>gs}t6&RYPYpP(5 z5#P_^LD5;#&I;s8XweJu?S`{^u%C*pZMoGf34pdYZEd&?chB#VN~2M8;w!AGEFKoQ zlool141ib4V5;kUyYOH@1TItS;yg*3#T(s4Q{XSY&}8N%;jx(b2$rCOCj9i%42Ik| z9UK`AKBTr|njr(Q4ewSA&EYeA9G?#_*ARveA5-d2rNfGCang1l$VGpQD-0K0tv~;j z1ZueAGDH`gU{eST)F0*q+&=$E{~*BP;%gA4Y$fFPm-!qQgXIF!jUX~@yjp!@pVA5! zme@zai)%*Vv_?VAy>O(tm8N}uDlSn16!Deqzy6v-nk+~-SZ1rK(){hW-{_>{qxvA9 z%P!86uPc-5O%k#RDk@w&Q7X{ijSdaD`n+s?3qosbsyBo++@|( z&>AXea;VEHijc1tivW7m1eMVmRv5~tHl@t=0E%y!lNYKIGuOy-le9xD=8^1z+1sfE_h{6risWwSSo;YqrdUK7__ z!T^Ia@!{B#x`E|5ngq!hPwK_zUL(+ zB`us)q7rF!N;-OYXi5&Syy62}D^M+hAx=UL2cX{&XkW3+6m%W1XO#1jsUnxmH070z z>7qnVPkZ;>1`4T-B{`Jz^W`bcYI)U4x8}s-8-Vzc-b8)J7GV1X!%)Ia;YFM%6#Uaut4h zrwsM9pw`=yP5{>CFIF8FDJZC7=01y2=kltpsEDED0-Qkcb?12r+U6Ea*_bh7=n4g$ z94^J8qaeEWd_Nw_46y_7FdKX%rux}}XtV%ziueU5)Ua{w&;w}zpaVwB5GEY5jKKvq zBOlQmr`Y?`?O>eI5T%krFq28*X^+Rf^>=AO^6wLunb|Q``mjOLv=PwfO`DUZQ;d+e zXslRa9UmVLl(zz8PS`$!vba^i3L2GmVV$eOW8H;xANKd$750gI_gjhXg`c2{a7Z98 zk8fQ8Oe_#;E?Q)Q3)U+y2pxFZzh9JN<~bg_xDun-6|btVf!!kcH@`g*`EaqykEK21 zft1qeG?E3o%0Nq4#(Wez`L)-tOsuv@S&bJ{g)jObPbKgacPEWwfR2{#>+Wu!L|3MS z13(jYTm4yB%qsuTtxQ?ii4$iaS)kM=DM_754n%EGp_V>AHwg1aqYDRA8bFJWA3mJC zzuN>~r&|PyIYK>_#cU&qwe-AkDMjIL$BnbvyEpa3)RmV}eK{&^Ms|X2od#4M(NM@z zLd?R>qy>TwoK6e3FpGuC)3C5Jw{s^Rb1V+naumP5AFP3yXxYhym(|JdaCC zQflMYN8V zLUJ)|g67&ZRJ`PY!2LipM+~6WIT%74T?%aNbkVYDR$Zpaw!vEyF6)roh=8@Rf zu8MzCI2f!uS6*dTt^bT0HLA5!b*2#F5~iwmLGA-`tM}-?fKva7r~^IX|C4aYzaQ-1 z>+=5~O84(=`TxPTbo0V3ghipnFxPEHa>&eWDQFR`S|f`Fu?WJ zw)=Nqd90X2NvntVs(_vhO@~6mIbSMxJOqpaT?WC~_wgT>PxzNGKUem7YvKR@r^3#k zf9wD3q=nc%AOIADA~!-uVpNBr(h?%4fpf9JXbzwAc7XH+sBQ4oCaTGxu-8GJG%l}A z>f!eUeV?F)lk4m2W4yvRJ!N4^7xXj%+EZR_Bgq2@1Pr!mbnX%N9?!yPW{0*9;M75k zlP*UW+4~#Y01lB1xv2y4P&oyKE)h$@G2z=d1s}j;>kRpo>NXzPvrf=J4(c0H$)&WB zEfdlb%F4l#FXbBGx0-F-SX>mS<^%~EWz`cvRCjo%b=+M3NO-RCiT04bB=~yRR!kHm zj&}YqKn8OYlTHU|Jey-5!0Qjv6O|)Ll)~xZA&al$>J7jM5MpNSHDm-(B$BX;+#2Bi z!{u0Ieti4`>FG7>69DccwjRnwq?;E#L=S=g0SyNj)wd?Q zKy~;}N4Je*gO7Ut2^bXL#G2m-KPg}}2X+mfWu67PNrP)>qz%xvidKmqn*GTLLasvr z2BM^YFb9xoRpO>`RHr%weVTa)FU+kWcx%B2l&aeaTYvd3J800K8YRfX0b;@=Xb&FN z)d_53n&aEv)dwgjs2Y=fD^f*zf2N;S#2LKT_L1A72 zsh8B~{%>SrZM9qmQFpvfWz0LYh;G&LgtJmZ^= z4nj-CK*WWRKuA%X&-wZ1)ug-h3=9k;M3Wj_pr1iTt6kjqT%V`X^+>0BnGxm17{I=E z-8%lSox7-N0f&^T?g-Ol~cn9dY70NbGeZKJF^N%rI8SoBmobAE*X)iUK4?ll8Y+J!eZ_B87KG!PGl5AX}j=5 zbH=P_w$HLsc6cMdV^V4DD#@XuqTqrTGh$Ulao%icZ4OF6ShXCW<^0$^&@RiNBLX&J z`t<26m8P1S8XK8?+O^DR(aGz*7q+0Pp$U<|XMqDdJVeoj_M%i@H=5-OVE}T?W1RukaDmC)=+4efIX%+3~>LfWZtL#eij%FVhqTc45nsh z>&OjDRaKR8f1t6X2pg-an^UZxj<+Qjb^|OUSuVlJ9xp?(UI;q@qu+pkGM!^m5Q1_b zqUnF6W6Y@55xzqh@gL|cA-y~Ss5nOaYK*81B>0nF0B{~dEd0h8z#)3DPa@2hdafbF z%S+FvNZdwxOHoo^XX=NsxuZXdW$oN{TZUU+h1at7GL? z{4Cm~qz|aOW@b!!Y=Ov5Qmgg7Imzz`9R$i%`w_hqGrBo22PUuPplKK%Xgl#UXZzg> z|L#!qx!IdnP@C#zvUy0d=e>nG3?sx#<&fIkxlnv=64`-Jm?wq;Ru5BnRgoqX%2~L#H|wzRUvw#H}@Bfn|1v7@dp1h45;$L z5@3Dx3smChF`h#BAf!5CFD5jhvF$~?HYn1BsU|Z(rc&E6yJz`da=GL}!aWd1;!3Cz zC*v!y!VdTXqLK(=OR^C>dh{r(%sM^xd(PrHsWvIKfBf;sWP{P8M?Z%45GvlcDnEdk z)IOm+e*7hn8B>BYWBm;y5vK7tl7fi-y){=abzTPpmSM>Ox6_~$0H6R|04ZUxbcCNk z@M_Bj-r~m1Z1eY6<{K$~AF-p!R2d!c&~DIBN}BKs%^*GpDV!FZOy`_n7ySK7i!;TN zTNbjs;`xwN|4f506+S-~M2udqlkW6>v%)gZcUU`McL-K3mMiI3RdR7CCUHsBO^TDgj)YaDm zha|i>>j{hh2q_)_D6hQI30ATwVph?s?f?KEc%m6%6|-FnNE)&j;TfPrQ_7Zjv337@ zDmuE$n7LjXFqtN`1fNOBcd=?Jy`Iiae~Qa+!jvgK{xtV}pZ_n>CVx;>9v4vSYQ5fffxqTTw{Q9aUD``HH?*0SMIM?{k0H^9#IS;aWCKcPVKgKnKNPpNY8na3@JN%Z#n|5?SL!b@ z7`lWg_o=TBWF~brV3QJL2Y4$55sC%M30#d;LHi1reH-^MP@mcJ|Ol9W|Z4sbmYL37Y0s*EZ3>~B(41Xv6a50E1k>Z#+9zeE2Cga&DZ5(QS zBjp*AH4=*=gIF3g@M{zATPsO=9(qyvyYGKXS0afCD%ky zt4gv|O1(l={Wnw7DkvgFkR8Z+l+Ai_bwc5>MWPsgykQ#GjtC9k#o`*L|4Q$s+3_To z7&*+5nhuzk0{#{TBaN>L54J^Tpq?ffNj2qlk2Eq#x{f5!3?Z{#pT`NTy1%1H9KbZE zPSyWP;>OZF^uQvnen&@!J3pMs9Q;&R0-eBKB2EAN)5OrwFkBj4w`^a<`fw#}Q=o^7 zChQWnzP6JFfIc*GSkhi~&tkY?ih*C9K)f!Hu40uc_Ef9Pa8w2on1hvr1`^`H;n25NHxA856C^HGHV$1bQj zUOK&f^)l@o&XK}Pm@tTzl<6ko>agowdZ6l09YP?7pOWSs9^t`l4S|M2X=6#}q-Kwh zQ6p_0jo*G!d0PI6u!~por|hnYvpu81w+pteX6Lro=UqR=&#kC;udaV&>6zUoaNs&y8BIes*omE7k9pH}~H?5TyFnSoR#ti4t_Ss zUa0sFQQesPrvm9o<$o3`{u2$I^N%ul@;_x;NB$|>y7W)k*1x~y?^mfX`B8$rO}8-f z=1oi7b;v4qD=6rqzAQ)eft!Q@%p$~C&aNpOv~zXk*4EY%Ll4{@GQ1BDUU{VE<=LQ< z9|2hL3v8A#C*&%;gLdoI9eVxx_16&L*;61vhtJrtV-{f}iyZZ+W|M+VD z&p(IEupgliQug`x$e%9c|Mrso^=9A|UBFVR^SPY$v`Kn(_3?`RuN0yF8KeB3Foh4E zRE-@xm=FC{&(;@yIM9gj8VvFK_vZL2>fAjKbi&#VkW!&yeKU5H!iNLe;jVe_q|93H z{1;84j|=wrr(8a=8=rpHAvp)F?}iGCTG7aFf`srWD363WE{j14zZf)LTV!`ON}Tgg zok&`8q&wm^QTV_kkO(xN?!qk@Lud-}6$?xwA+ zJy&1f9=daC0Ksbpr&I1c%x1Iy>izS>^Di?Yxs;}m8!4vfEe?V2fyq)~2aEa^gj6@`P1 z@fRA|_lvcndrPxvD-URRk_Sde1R2}lmPg;4*6D{yXk?&y@l-LQsaWjK#1E(I405+t zcq_>Db(mYzf?kcOaZVA=kYYjY+O%IkDBysY;E~a%TXsLvI2r}eBReABK7r_ z&6~^77(yTmDWsjQ??CEECM!WE!%QZVe735ps*+G=18yR1Ald0qTOqV6jEYdTpj5Jp zA!QvY7DyJ3R-iLQ!?%X5s_U!)Z6XP@*t98>OiA%h$vg8^do2XVY_Ycc5~! z#D)Xa2=qohuHhjXfqB%u09M(}73njcn7mm?m}hItxp{LLa?yRr2LQ4~sl#@q6&ZuL zrG*q8fJT`ezoCw#-gzW%yp{ayYzZ##JWRr@f9JnTknO3gtc?Dxbd=k3&>jV4IrweC zUf1U8S81w~^o>LBzRHT|>G6ePtQFqMi_aUPaDmLFQt=14g6WX<^}+=u{>_{6X`$F) z&|)YlDgBaV9ff)cIR+soV1Uih3n3{x43Pu;i&*d*8Wq(3;@$I#ipy}$wjV3Q@~Po7?3lSoTKh!u z*!IDMFgb`b3GPTvo<$H8ic2~n-zA}EC=oKR&5@*jByl5}-h93^dch0020@60m6hDI z91TzE)Fp-=Bo>P+s52eKB*coaTbhS@11`ZQAO2$M<#i1;)f1=dCCq8SWc%S?f>df2 zoyW+fUT-$jv7%&qL3aIg24!5-Ma2Nbb&7twu(}$X!tEBndzmGQ^K=e}Hlr02jSAgp z@E^zGty_cf-()p{`X0c81pBHS?Z`LK!%k@kdPXkj9=N71eeP>yVG)gNSW!s{?j!R8 zF%KmV+B9KZ9S8N2J$a%1g~tK}%VkAH!tFb8lR(M_aEb?KDlYC3w(qM)b1X@DXk{Uk z>qf=3mzepZM_c?<;>DhY5G?4+TH4wO{-VxmqS-l|t$0hQyDQMdRKRltT7*K9x*muh zr$q*(uLGQdx-H@KL-J~Pc_yME=9k6i&8@6bUc9h}pl)2>`G6Q_clXS~p?(*n!PM+U z+jrl-){u_gq$1~;4C_iq;O!NcI zqRvAcb)G10`1n2)R;Z5RbPssl66vLJxzXy`tLH9XZiO-?65H6oNe?}%@lUvnM?l&Ch=Dgn9yXzvW)ind+REx-^`zq8$Qm6&j zl(FY*-m)d~sgoIjE|HN{<>enzWZ$5(S~wk9BA?F}x3{0cukiN1jw%_;@%r0Nb()Ca zmXKIgSqa=~UbcU)sC}Ou=5}D`k**mr2yp}d=PPKq>R%-kLhs8!pDZ-Y!aZl1$*2|Z z;Y_()uDxg%-v;Q97On^E9O$Jtlj2GE?AaxpUaP~VHyGm(4zK(NXiSmj- zP?{ACye$P4B-B&ye2Wqi8bkUGuz}Ei{d4PkqaPVO$AYga%2xlXtf8xGSMl7TCqWPt z)bN##=+eu2n=98>1%LI^^!ScDj%|=63u|lBA8QH>QCy;oEyo;m+PF|PaIoN&i z`TD};F;63ta9=|0cfYteJvn(Jky8HI;kLqr`dcRWVs~Jc=8V`1b1IGaFS=H=(Z7})(#{1#g z;s^wF?2MP61V4He39;eoH90Gy-6_X+gW%Cvz zqiX8E$AwR(3*>8q2zdidqu?(H7-zY=)1-J{C(fqJXXz2F3isj1-*C(s`{Nj@rjkTZ8Iyl1=*t?-sDAzVeC%uyF9Db; zgh^(RrK(Tg`RJgpzW&{-w1Of}fj}@bZme;vQ3{gJH#h4ZR_gS75827Ycb%@oh+sW# z2$q{$HMT`JGAp8UZr{E=$a7o>bU|_Q<3?&>p*?oS zsKTO58)M5O|Wf&-Q(jXiA-Q`VIl13MWRlefh^w-DH92MOFYrjf@xf(L9z(kTS(CLdOTlA znsLtqZjgSeMX}y%TRBwB+PjxXL%N_vChlZ~rk;D}3wLjo?+Kd&0U8MU0CUcxpE^md zx7E9#dx26scvi_RaVX%dpbs@hdxD4FR%4g0cLTZp;u-J(Kypo_h~cc$)EI&=pDCG~0eKftVw7@j z<-Hf4z6)w@1r9^blfy%U)bg^2Z$tA)=pMgwZ>YV4V>zg&k!g_Re}3FTyZVMrHQh!V z!cARgL_2+#vYPgPr?*a=(IXszg-fAU6Bo+bD;=SoOyM=nM=SyTK{kferHadl>{uD5 z=u*%y{FD-fextXJjha`GI5Gp;_@i`!Tvvoiz9XewZLQ7I^Gli|dmFG5`}_St!j%dw zahZbzYlW=}vZH?6gy`{IBM#m!u9&B?q9IjKq1)kKYi)XE`019aCpFLRws#N;Auo=` zc)l1496vntKmcY_j85tD<64EOB*$m*sZ-S$b}R;}8^;QJ8$6VI6L6Ad;Mr+EgRSxv zR5v>Rf?iUO?b={4Gs&0)B4T93z??J|E$Y-dY!KYDV~V!g%LL!8UQtS`@@_Q$T2LZN zs=cGdm`t1Qcweg$-qqKF51R$I?Ms3oHDe+NQQRH!b<&V3-gQ4xf6AI#TJ~nU9Qr1% z|0mEfU{>j}K*~U-IS|2td>=mLyr=45NU+WRU#}uHy+kOG!|@q%Wr12r)>bGo+wrN_ zsWg*b?em{o+yB|<_%E2uKN}s_{j<^WfA?FehDX_dTPZl6{6`Bt1Y?8IdfwWdzyBBV C4yI%P diff --git a/Icarus/Images/Configuration/authorize_app.png b/Icarus/Images/Configuration/authorize_app.png deleted file mode 100644 index 594ef1bf9248dc1ac925ecd3b294f4bc5d902ddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53584 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%0D@Kf_U_dyz%W%{2UYAlO1w(8a~r_D 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

@)%MFww#fM$VvULFPsB--4gU4>@CyATCL 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 diff --git a/Icarus/Images/Configuration/create_api.png b/Icarus/Images/Configuration/create_api.png deleted file mode 100644 index 34cf0f08e0f34194faf6afb30117ea08aa5acf6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75908 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%0D6ElV85slI3xb$)NvFHKr#~)z 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 Wdd+jb*l|QGhrt}9*>N*h?ffrgAc24Y diff --git a/Icarus/Images/Configuration/create_m2m.png b/Icarus/Images/Configuration/create_m2m.png deleted file mode 100644 index 20afdd8823af60fdbe15fc71d529ba2d17b6ad73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88309 zcmeGDXH-+$7d{F{K~O=kpmea%lr9j86ww0+3P|roX+kK{2@tBvQJVB#lqOw5la2)f z1PHwah!T1zQUio?S3KwZ{_i`+{dULwcGnOLyR5zTT(dm$nKN&nYN%W|&vG6Dfm~31 z^p`dSLLCHwP;#B60!PwO6gd#cxx2o)h926_ysy7>bFsB|w7Kp9e`#~w#>d_k0`Zwx zO*TPt-KP8N#HdZ+)cgCN*)nY_LyeBvY~~SOQ+Eh8`{~_ftTB{dAFjDcv-bubBfhun zS;w(d85TEo0p;%?z>=% za5LKunsX)%jhb04C46%RNrxM)3QcVs3W4%%>(f(fa+s+LuT{(lFdY{Y|H*#W%Np=T z{e6~`^TgdfuV%rhFZZ1)hnZ()RWwun#^u@<#5l`D6V$@F9puNq%r_!sCsGa9;Bxo1 zPV&csypRCTxwAh~b8}Na&N<$`grbrUO|a{iRlJ_?bkjD$=$G8jsulOGs5}*%>1HJ} z{M6qM-ZAyPzaNxmTovnb;e6!N+!wd=uJM;{-!0ND%^PtT_H;;2Hm-26?WvFCQ8%%# zHiDJb_PaA$m%K7>*ctKT3{?%IYiHT!6z`U`Sr(|&NORhizP4>t-&KUxH$g;Z)H-rq zU#WMhogzvt-OtM@NcUZ-8pM2gx!N^s;@sqgUG;9v*?q9X?|_RT$vG^&HV%Ny9j#DE zr1ng|c_hT!CQ4CJa_&dZrJ%lX(Qv^+Ta{kXaJk19Z>Q*8qqgH!p{3l(HFfqytx?o* zy3+hbT%Sn{d~N!2@tCpWOxW5Lx4^bl#!sso?@i#4S))f!v>x3!Dw~VJcD#6FG4cCg zyZ)o)6Ld-8mQGSnuXdgUb6CioBgakNAuY4|=Vg~wQjj-e)V-gQHf>_O7A73ly$y=z zItAJ3U{#JDiOdnhlM*t|((E$e#KMQu>-9}CRZZ47!qp=k6c0?IILs7V%--qnf|n-P z`$y$?BemtPgQkqa$3k)sX&0@KLL1Y>`ze}N-rz8MTLWYJNoBw2u}lP>t|smgpW@l6 zsOn13OYV@cAEi!tqUp;y1)@yvUUt2{dTs>z8}ZwIn=B4fABa%UgjWtv zf|ta|C3{Y;;HB;OO;1tjTzWm{Up99?5w_2JqhcEPjchK%ZYP!#kbSL1JP9q|QSqd)ard*sohluKiA;^m&#GC#hq zlF0a89C<^b$QzvqJ|jl;za?2#QpBpC z^i)=4=#&Vp#5YuaKw_-8uXFmMMYFeG{za}RTL%usU<(BYabzH8ERtSeIJU%0v* zdcGF%>w%+zWie%`nSMs!4Oao_{)hcJy&7MqST);tI(^UgeBr6DHyALVV49RX_2`=) ziLNNT^=xzaJC#J8OC{kx+ky|4MYBO?W_hhDI?|ESLOnEMMe1dqqvN8ok)hA)Zk~vK zt>>DRPO)B6s@8NQhD4_8+?=T4DTJlHU<{FAJeNJNVWTU5c63C))Q&wL)4Boz3YboH_ivf*=c_ZCL$A1>~hC$ z7Zl`v%6UT@s%ky>&Zt5+Q>)mwQsh!L>qxSx6%tf8oVSsWEI)vGKSf-mUb`@2yk(fC z!gga`da5aoRpA*|&cUtVhdLe6D@7XPuiqMmi?>=E#wxG8=a}XXkm9nU={H-XqTBys z`BUY#>F0|StUfT}u#@Wuui=iC%%}99V&E!t*x{tw6w55A$QZ}5e=QlXyVxuDc9IctSZkbqj@+DQ7zBkcF z7J7VdO2CFwggmm=g{zh5yZx=R_3WmTlRyR2&A(m$3jLZACq8~QDAf64K^AxIjmFlf z>SeuvD@DKGUA0DzZW(xY_v==`tZ{R#o*37HZ`qgHc*>zBT~nT2CrNbO8f^Hp6E5x~ z%;;}Ti^G%qfrM14^xfYU5ne6^@iMpkAdpk9?H@jTs`~KZf9MHdrgTJ%+@tSL8D2*h z8ppf~J)^{SSC^OO7TvOrS=Oq&mc#k>M`gE&)69jLLUruVMol)`Ge+FE1>^Q=W+>r1R2U3E#h_Z=8JfNu*D#)JF%IIU4(DymVc@VelpcBq^stMcL=BcBz8-!-J z{Mq?leLUfG)hkmvAB7ydE(oIbJ~36Ywq0I>Gl-$*jw=Nl+v!{IE^}g?w*g`Dc-6jp zom#2WEkVU=@&usTb1xqmxkDgAx5z)IeDV~$z(HycRdpq5JQX8^i$~5yP74CL4pIF} zQP*c;WeWbD%O>Mw0~2SUw?o_Bah;X|?Gp4%g_7bTyFNqAL!oFr*=tYFJ~b5{@>H6= z_}5uBMX%uDHXE(kyH9^ZLf`AO4kxr-c&a6IiRpfryMF6ZSy5vqj&nREPS4DMxV^ot z+hTF)ijG;z&QP4DEqe;?Ab_)SzKyXI0!iji^&A&xexaws9usj3%M|A*Q-}hq{WCt_ zc=?(IBI0d$@8xfU_S>iH+IOe|qoi!pPyKrVEA1&uNb6(_El0Z3xdY$0vk-a~OERt} z4@%$Y4^1{Y@iVgMZFKAdXCwL8l<@-x<&fjNa<`v>p$bU;KNn z_02C)N=T6Ov!c1IaLp&0@4kP{LT@nxnSycfdE}1jWp34*_sq4>Ot(fo=jzKML}@QW zAaQ>|m>?pOPk8u8U3sUI?9O1TPC8+!9fthszqll#uH+Rah{mpCx=|iXwpRH1C{yp> zGuKCqm9*{#xCy~Ic;_LI_`KNX{CW5j9{)L!aRtoNOd5y?(GYg^&4-VCcTTrl(P)c| zStp$j3EEPJKzM>7A`nZVbUlrahm|p=wOcnwqOKIp9>y40p&tjM< zk6Tauv}L+|-XwIn$2QkN;{8G$n>!?^?r8X-cCy;r)h2TerYP<@<@0QBA7jDs>#CO} zST5w*@7{u8wr1hxmu9O+?nGI&xt55~UPVzwTWL8->((cDJ= z5L}CnvtQD$WG*syDH^98Eo6r|UHar@rc!OJr1-N?znCF-PWjesGV5j4SU&Z^4Nf|# zyX_1uKi2g>UVyxrCp=8O^X{fZT2E%)ZIfxq0;WSj7?;r!P@6X~)%uaj4@Zp8C}ta% zj%-oqN8vx|7vDaM#M-QmneL7@UmK-1gp&1LxDY5s{pk#9n-FQ$50SFe4=ncj+VSnEy*brxrFGc#z$$sm+sxg4NrEX>SH*!Hop zaN)!(=G56K@%6 znJ)_-3m!o{nn{MX^S!&tYz6ik{EN@G*SahdC;)*hMv#?$(I_qP^^11dPsC)O#&_1>%etN3!-TmtRSK0$}LBgkgMw+DNE491u z?!U&1tMei*m9hP`>WOn?i(8Q*elctgR^JJuE?u{|5_&S&FZAXiM>^QYHbfM@V@r0J z;Hg(U9EDOF{ou2-mQ z9iauD2$9BIOe?KFgB_K`5yKa{E3t%~dWY(Xz9yo&SH!*2mI_K1v_fx3sKXqwY}{kT zxw{-Y{=zDQX4JU&MdL?Z>7X=fuN=PRy{YoXsT`Oxa0wyTe>Si}AaWNWz(!i=THe*V z^2PCJKV_DBT${reA30h&>zZmjE>5sIrg0wijL$mYQJuK_L|w-u-mOeGB=NqZSVTNe zA={`H_wTEyw;%cR?{YM%4e0Lp>NKybpY1aqPuwv>XbsP9%<>1Do{@YX8pEYqFx@1nIgrrUXYm70V| zA12NBrL0dLbcOI$8<*lMe!??9@}*vcsB*U9(`#5?OXPq_}3 za0_8V;m$~_N&BP2hOYMQ6p`UkLUy#tsFk;wMJ?-0wOCqcIIGpXOMuXO3@I&;SUYk} zp=M=QTI)EtXu(ejDxJUy6m0_$d;m1<)FaPG}s`=;Ej+uesFQZ-!crTacEnrTX^gP7`OCa{kh{ zM+Vplr+1%`d*b9s&D?PK{K$GP81HruZohO`hh{uMr=-qlcdyRn;H8|GbU1zp)g~wy z?8CdhhG`gO&q+sb{q$*O&zM*pNlF|wVW_sgvT(##J5_4Y)Lt;SMTd;cn8;Xx?qDUO z@KvUh{KOpG=B5(PZP&Tw2wSKCw^jAiCuXnG4d4_}Y?VaBXRM!zd6e5Xn9S;)U*!mf zBu;ZYUkop^c3ej(y=9ORtL-^D-8y3Y`q?KgRqF^4d)f@+N7-3fzmaHHz zY++nHEG{Es+!!`%)GM}uFK{M}Zpi}g`Vn_jQ;2{|7yI;W^eX6VUH91cS%x;RqKs>6 zB1FwlW5y=d*@;*}O+ek`?`%@NP9XG$pTYjlgnb%zRPY3io~pIGPh=T2w-Os4U9~=# zT;1!ad_*mH8wXSHJosQJ47Z=zbbWeEhjoO8%QuwWyFpQdz@p2`H%Xlx9e*pUsDumr z+^s>Ao*`Guj4G9H-MS@MJ|`6wUPRke<9c_Yc@EQmh^QG2_#6LajAzvIs*)Cl3|dYD z4`0_RWz<@;HJIf9d_^+pP(IvsUd5OL8?)6r50ld=vX{`)k)3e zwv|Sdr$|lacM{$Kmk0v%yHPjkG{@iTmQAEF7(A!{JzlEK@YOS^8)-Fc;xW1Kt$C-< zm;0vV)|LkeKI|8r3z zk}MbCnFS8j#+1_RDCQSgwDslpcI+OunBQ}9uN_sD@68A(>4%w;B73aOYeRSIup7Um zqP~fw>#FXXFI=7@7H>v>tFP9fi&D|bRnF038{F|Vi^9LKw$3%I?SH|b5Zh7P1fsZV z?DIynLOub?>F0;t_t|T1(OA{+V&!$0AGLQZ*qk0Fz=13K9r`K&cj^>`iO2Lc1VY;+ zU{#7!i<3IV=3!>{xm7ds1J*ot+%rQ!%G7#QMrXonw1+|j&SSjb1tRj@XtU86f|T0C z-FKtA(kcDrmoo0g`W{7kioKAY*O*JEzQ;3_xPs+Uot4r+AFVRRZI!&1H8kyg*-1*X zyBW_Jmv4`L-R0kOXaPSm&-;Wq28s-CY`skad2;YqUGpd(23InR*N33E|=dm&OAxJO+Pssoaoym1R^5w?PiS^0riA^@aS$M zUTUpQec#Ut4!=lghCb_kaE~+kP)_`WBL=9wO0%XPJ8Z7TbX4%}`dmyWh@J(WS2| zqO7m03CHT>Hoz zweyH=LJk$;SSpHIp4dSQJP!SKxUpYx7Sd{Z{|_WK)m%0xf+H0LM&lxLIQVJ3w2gY# zdL9cg^8RolsB=SP2M0cKt!|r@u3cMMmE?utXyoFpR^{jMDAV%rTO-Ef8=eKe!Gls! z5yl;hI8>c25mM|WUI#~!E4uXGU zoVegFDjSWi^;^TK?iN@ytXlOG#+a?UMH>{*zD-_EVRK7d(^RO-o$Of@V|+B5yK9(k z$4UbHN=PL3s4iv=!E>5gqNq`Ow5T@V!;(;n=2Cy^~8imxFj3EVL(Yflw8& zA)B#lm4%p^&PoYb@5-vhL6d45`W@$mee29l`>x{SJr36TpwKwP6y3nWq2ZE;|6Y3s zeaOeikFp+F?o9!wIyTwn=7{B+IJoqz?NZ&=JE~Q}JYfNs1#~au_f%2ocGsk{OGDH1 zPTh&s+)*gq;ZY02Bgys-W(8E~u!Dm*3p|n6 zQt-Qw8l)>_{5$W4>vi^|JY;tqJo=#Fo0wQfhlEdCuRn6B+I2pSvOD8_yVeF(u6=Ki zp=9matP}ldA`O-Iq)Ox6dd_J)V@TwXXW7_IlJ{js$*q#eU1T$l3E$kQe(e!G!bZX! zdq00R6pX@kq$|I$d+)V?*fEo5$D%7+!JO-zoey|u!pPEyv!BUavxj5(;a+2tY|y7_ z_uv9Nc6BcRv#}&j)imJ{C|81p8o@|wX&PABX9~1PSq1%wrTV}~(YQ6u7B4>zey2eC zyYtBz0~?5SFZgPGRE}+>^akQ1&Lt}TXpOHLf70HP>9foU8F}*KeLD{OqyW=3K&p%p zA1I7>2piQ;IebZzN(v+fLD=F32tC(U#byel<0N3gsVU77@=BLdTh4-DuW^}fGgR&|wYlB?;?7wP6GjGpO@kD8wJ5-qN zLWQp+W5T4yFZb>Ho9<5*!bR#3E%TU+CXLve;YiaFVPVc>f;hclK}~%Rt1T9(jP6Rw zZ8|XI$O*u|kG6o*Zf+vsL2|fWx0ZT2?@YOYW7(#OWl8-|XC3%T{c4(<>a71g?Bjr4 zzh6v2aai76(gmkn@mZMYZtJYoEH1YT|}%fTA_fqvRrbA z6tE8`Ik}Sv62g9K^<~RDz9?xkEUFMEI(Tg6|9*7!I--}TT7duVIh9yf?}w-*c$hz> z`|Wj)xLhNEu@$<*5}&w$JI8{*O1D|j75FJ}J^WBqi{Zjy&WN+q0?7lpI=}7>H`!0G zJF0PgT1M#VU{DDA;I5{DG@oJbc|MC3CweY#Sg~x94XHxn#wQ(zoIwP}B~H@!A##+7ze zle|cgN~8)gvce2FLiI}Z{npA4ANXCQ6y$_9z4Odf-gMj*t}(J4<T`P>9E7C ze8iEPU)QTz=efN0`7M6y!D4(m~r}iYVHypLwBFnLgBy!3^N~w+Ed_2|VnpU$F z=A6<5wAVQ=d&{YCl+cFQZ*0`opZPNG=-}vBVyKWslH#oOH-h_7^-p_AKlTQ?#GR=E z5*b8#v|o!8+qP*dJ@P1tny|IdQ^5Y>L_?2**m$^YJugHBvFtS;HQAa8PkaWl-E%z$ zuLLadzS@0W11ztRu4DC?cs0d5PiGug;sw?#3Z}(dROcaK&q`j(zL2@Ay(;6fmfBx$ zUAcmFka$t2seInwLSNrCo#B+tsHZOf89UaV&u6(v!MqsH@Sv?!2~Sn+i+kros!z@P zHW^t1skhYpFlOU*5N{8?Q+5mEd9}@TV{+J7M3A|43W>mmHrI$NVE5SNu!LR7{Cxin zhQ)lg7a3h{mibYGyVo`R+JZLy%q~*Ggr7bxBEH@EqP)r8$!wueqdl}x`$)nYpN_mv z&(UL@Nbn%KT8&XbLhVli`gcg}dq?}?eEYuptD7xu_xuA>4&l>di^KerfMM zEa7{H+($$j2k^yFM@EXKO1g01=^*zxtsxYU`Kauh5`@xI-`sY~)$=}&SLjx$Unw-g zAcMCyd)e=XMRL+I946#So#ZuG)l&uLm883|@d|P$7AM?~wB<9ps%VW8b(5>LX?i}0 zP-wuZX)&QG^B=cwKrA?94HDj!+lpzY=APdg;*Q&a<%hIv&0`Fn7J6h^T_v;6`Mw%= z&Cdro_N2aDKsdQmT!~;y7gZiM*0Zv*GTI3ny7P(BjZH=IVwH8)!Z;2@mxSk=mvInC zHpWhf%s@)#3BpE)=ItbB_|OOJ*ZHfsVN#9^HrbI2j{|IemvO-s7*?-Bdevr1dsYN- zS=4@&+5sB<&IQn|ozevVK&N~&ILFN9TaVPT9^@*6fKaVn1W$Z{Ib&0oT!DSjewyP) z%hTGRDzuvmT+PseToT_#&Ezozp%pdjK$VPG3 zxK!B&5cgDn7<6ikc;)q%mpTN`xKf``dRm9PvvwLu#H%H+Slv_iwK+D1?QHfy@i%F} zQ-YYKCHK)=7;k|y>JXnPRE=zwyJYivv38+IF9h=BGN#YfTPY-LiY%Rm`CBc%`MJLS)K zDSSfNi0v5)NYK|yfN|?qFXNY1=253A1O$Vlo?Cj9`zb5m_|WFL7IJ;Uk_Yn`snfdl z)$&P(sB-hV*hR3MTLJQCAj#kDQlfMVJAJ+~a4dJ}DxW>>&AxfI`zg2ylHBPYQ{xV5 z2|?pg#Ul{NUT_4yOZmcuSUShX`N!N9slExXlHcN`^Jy@X)I9l`D|l-~OUH|*Pst}fSEM&ESuvdjXN$>8 zfk0Vaz5a8D5V)g{mHfp22GeD7rKMH*^=2RWkQ6nzZZQhbxc?ip=Ky!|&w#24H~tO@ z*h<6EHXgHkPksd(81z8}v(8xV`rQc_i7HsQXN@Q3*_esv;ey*(+_ApJewV>NA4n6UNNM`fP+~K&2~hR8 zqcv~4BdNNwVykF5{f5;Vtnc{lk~1e{{-fJPpRXZjCwJ&Ai?KtsJxJ%(g-v-*#CHFLO_JF* zSglc#nb&wL8k_L=!Q+9flf#9N<>(~g(FKJQcoWzbo$1}(-7LiJ_(yRf%zTRlvG<*G z1jue=AZt+Lp1KMLJlAU)ZpZHPGq`@M_n!3UQ{6^$NKD2&CD4RqnzInH*|f6lhAA8> z#%?bgwD^8Q8kgoD?PANhMf`gtMi-~n18RE}PW+v!hxKKaKjnB}Fyd8$0+$-QPqKA1B+4}O*uUSQ`gsJ^~-m9vJ@;NCtrq|?-Us<4VMR0JAe5_ zh4@Lq`IJEkffXQ(1dL0Jn&x;n;@Rux5>2*yy_dhb#L6sg;6OcO8(%*6xc+W)vCd&=WXZZHal(|v{K7w1E%(Q z(>h|^&-a9cD`$0S)S_V&8Y+V8~WkB z@gZj{*Hi#$)fa4`=hrigFItXv$C0j4hwU zFtR$apb{Y=BU3b7YykW9?X@pZXU~-i)ba+3b95l@F{s@!D4CJO9;Hd+h|~^&#iccO zoLQ}^+OC-_Vgir1TG0*g%}!qKLhhi3lVcL&*Porvezg_AJFxStl%qHU8^5>^N^6Cj zqaz|7#U3Awwz$2dNEWL<6X;GE42<6N;lD=zIm2s06`d$Jm|$RDNcI~_L0VlxpH9#% zhv7iyit==s%ps6}dI4@iR-|BdmyN4l#BePgZed2F?yd3NMt5EK{*)|5;2ZO<^6M{d z4{DB**MZrpLJKui$p-q(yS6~lRQ49J9KdpBymI>ca-!vn$h!ozQoy{?P#ZeBjyvqZ zJ&JX1-nX5CFJ#F4Zl&ODTAi8*1R7Iq-FaCR_Snm%ZZ46cmICs91w46?`LHJ;w3XkW z%=#y=x~I4P@wx8FqRPOCqNY!di3GEC-=rw1nX^t6ZPyNt)&t84WeplG2!ctq|NdrF zGy>0x`=k_pZK-jqchF9OWW;Rc(avnwK}47Z9_<)c+D3BO$EicLz=9>4HzE`3VBAYr z%Y9z2)f0rKdC3CbrxKlscRJMq+u0fCZ#B=ism!2xGeOYFfA$t9?J_(^;%k}!D6c=d$IXXiYJ4)aiN@x(agT}uZ^TV86?^Wv~_3cwZhee)!kzo7d=cgfk z7+^0u{m}usKfB(ug-V{G*3S0;l~7CQb&5ZsPGo36+^k@Z z{0NBSlYiVcK+S(AEgzBDn*YZCcjF(#_n$ca-xN*|9i8m&`+^qDro{&3&UGii$WzD=Vak82 zhuo7x9zjN7WMp`s5u&p?ZLDLntaP8<1W|{|<7eKSSi=A7E~l3yiULQrqHqGs$zkiMSj>BlO}N1XRt) ziy_}#<*}sg1Q005lrsZ}4Y=wm_tsO?i$N50ePBC^kBB%6fCI?hYQ)5)^gG?XC$WDZ zZOdMp@b>TT^n~0vjRAlk3Tm5HoqTbm=>k|;-J6U*HVO>;I>$q>o<5`0{Mg)wbkcvV zgJ*;^VK#6p*&!xn1!7^V{@x%BhqE)qf)pBxM=A^7{>tT@o#E&_ij$30?0kV2wOmY*5N__^5TCf4E zR2#+(1Ig znF`qHf8+lrDFlZ^xc+tHe@?f)CpY)~Z#)e7|Ia3)ZvZMw32=1emNipg%`t@fO@u|% zcbDA%?qTHwnjIuv(Ep;tm>)+3eLC+*rPXS&fA!evlo9TnJx%o|LV?RaYu#u%2XdYv zf+vXD#-%(M*b#fYsB-24h=HBP#mYHf$qwSrfZqAT5Jf2G+yH%Zq-L($?{0#oIRKSa zqwsuZPlE{nSOx7tBDA~-=S<5-!*?S@K`8q}iFhuP78gG$D=S+^qzoZ<1Zf|t-Zc4> zXMwqG$tiM>^bOU^s&_(Kz#{Eaubr|`eTO#$pEDP3lPly`BO@a_iASnu4EPh?ffALP z8Yqy1!udJo|MgTpku3WQP*|@(Hv`0xK}l^8@R_AM5BourUnZz{g5PW?(A1+AYpwm& z#Olcg#+8lP3e;{*N2jhE)&KjJL3N=(-j*7F;|&wkY`(3gSL?g7p@|6KocP|oE143Z z9lh-*>2iyn3vfcVmA7G~Y$&Zf?c1lnYcT+UsNPZ2N~*nKF;5DJ=@GDD?$u)GG`{!C zb!6fuew=AAc4x9!7y#@x!&yvHej%V-Q}cm{qVO+Y{wwBIfp2;yAhC_37DjJo=g0S) zNyjB3AKNBY$#aX~sgPsj=59kwEG+v4T*4g@ch&F(!tUQt?u9&w@N%NVboo z^h<2H@TyV!T+Qa)@&BYb9(uVCZ0%R3TQDb-r866<&9rH?Ud|RdATD^ibdGk)4GY@O zh(~4IDd?{w{(fE2g1FwKIh!mj>L&fX7vV8{Y7<&T?H?u$Ih>8tTm}Tmi_Uy991*!k zshHgZ#Xd1{uA6%!jVkGlV^-k2+urd=`!ZVj0~Z#V*|lIi;$@6n~o-l7V9)#!Z{);G@DRP%gMta@IfASNy( zb*RLS$jF~ot@wP@49lr{huY&vZTE{*m*xT0N~qK7!#tiVQ0urF`%pH6_AMK$fEP57 z)`P#Ml*undY6d+XF9X5uG}f(_RI`V+9~r`IN(E1s04?K7OQ(Lam2F?AsT%vK|HV<; zR`%Cne>%KujwJofhBAIw={FI9d4}HFLIVq#PHb0bD=^=bAKz_vmWL<2uufzq2ryB) z7b(eqRr~HNGyBvCE!aR4)Mr*KhT>zTXec#3n>u&xWes6zp5s#8#}b6tn23eivQ^*M z5{9sG_oQBl@Mdn;ny6~n`s27$B$1JcF!7#5PnLTM?`f0rPC*Q_$l$j79MC0CGtg$0 z7-5Vfnw-wJiBz^yJJl*1J_4|`D`>|IUzzkjp022^)x^tRe#z`HJyX+V(zAv$rE$i(X}3$AC8yKceadqKCQcgAjP@0_L6 zMM`#(xXW~7nbRz~en*1-fo6^HDkh~?q612nackd8+1pE(UqF@b@}NI^9tkwmVtrY% zglk8ADTwy6p(7gIeHrho(~<(|Sn=)`d9R@Fmp|lmM9JqG{oSCG?=sXK@;y_SRb_4o zIQ>@f8z2lN>ufrXRaA(=Ge<9r3no3H3$c7rY4XQ!#Qm(-9=KsOx@9A)kfx7fx~-19 zj4>PG_b_ph6UEQvJEcYu#d^EMSO>kMaKRI!v(LXk-`d1V@t={)9Xx*u^7(_S4J$-s zfl~20j+nruDk|wL&sYY03-bA&`Q1%Wcl%V+6U3oBG(lecS2D^AR>DxB32|$;vYJs} zVvVt4QE5B3F?TuWA!*Bxu)YLCs(L%lP1?C$tV2$IgxF2I`|$;!F1eoFK_hkYA8WRgae|X9VG_5!X<;Ie;sLdns{PJQGDtSNjB;hK2c2x zUDh*`ah*O}-{wxWz)x7b4awNXop1-enGkPtkk}=c#?=|pO38iUy&6`d$`$8hbRERVC;Y%W|1Lo-6wTAx@17s2quqWb|7d*c^-eG{(`hK)6~<--W)=HCv%an_ zbhOePaeY_k~2jy{T(-TXV#XXcz! zWe>CsF=BkQnba}_7>B~rnh7-k;uGlZt%ytk1_R&{H7BwegTX3BhIx==W^!651jzj< zZye%$$bA=3JlLT>`ArW103Z;vJT}@G3H>UZ!(;$W=1yf6vq5i~3MZn9PJYjlob>5k zq&xtrT^V4ljLFnVHOR#XAW<2v9yKopMFv&!8szuB((m@r1%Rw=yVM2om|pgG5Om!7 zN)uqA9E^?wK{`-B8~fM;halPmkU-`u$;>yyk@R-o!yQ0^JRmPLQNZYy9|j39 z@mc_>0IAF80^&OF1p$c`8UzH7A82a?uVY5$dL)1|i$Y+@{LO0h=rSPAM+oM``k7-^ z=P!!jXsv#ksS&`q{eb7m1;{0_nOgDssAs_t&mS>CK8xNWvm%yMKU_l?9)s$!xmy?o3o=Pao+3K%5KrcAcEBZ!(Jg?%AydT}uI=ACK`0#}8p6CH-%CGe6CtlL%?J!~E&pn%b*~N3nmAv(2kY zF}<=|PskLL?{>e+4p7cg*a>LQ+a0&#oO=2FLK_0;YV2C$mIk@@as}zL(38e%6~VOx zINy=HB=aJ2LP_|aEGqs~ZbT@66y@arMRzcUlFtX}nLW8ap(4L|39!*dFwY;CR2D&6 zl&}B?z)`E(*r`)Z4roo)%U=(i>X-5bSD`EyxK%$EWCa)l_)Vsj$@L223K}H30zRRfOR0mbe;(FXW0>ar$9+jgaS+^4S2)s zyp;`5Y|)=I2Tv?(+*B(C?azRtj1g6KWn)BRDO&14kx7GWI%UlV4jJCl@CiV)?0`g= zI03A$+F|$(d*IT%@iC?d-yd%YO z_0P10hqp-L{I_PjKwn27saaSRw37SIr`Yj0ddqun0Cu7PAXvw5P#|w|QK@0QxglUP zE^CqVWP{TaEm*slY!!7oF$ttu?!D3~nsPhwy;68ua=nc(`JV~=x9wyZGn)G-f@*o2 ze|5|8PWjGExUd6Y(nrX|Bp~i9lN*RYV3uh7)@9Tx8FivK{K)dvXG0wTO?NT#`SqGi z^+0j{?ueaY3&D|6{o>eMK<>=>F6AXLpekgANiv4L?PgzIegKLJcx4v`bPk`xx!4+F zfys%C6EW*}n^$$YEJ;`_5Agkae1jAYvenKrMdegriZtpqhCve%=N`UzpSs#v zA1Bfdt&wYct^-tET)kS!UT9+H7unx~pWZ)|oNZmo-rDhY4n5kH ztu87~@4cvUlxUkcAE3W0vs_IJwXLp$LU<%CNWmtrKy!nUMV@LVtR8_n$6jJYd-TXxA-qe zJgr-V_SDD!80hd<9o&2TyP`#{dfzC>ccon0b9%d1r%`@_lKfyWx|#l&M!j+X6IroF z0DTE=nBk3X-2B*3mhjt3N4ykA_Utyp8NE&;)K51=B*PHbXh!qDS_5Fgzh4UFXmCnwUl!7OaIp2d)M`phy1?(H*>b0% zH{H4iCNB34{Mg|c%y-QdcRuo4FfgYDO0@t%;1Rqj}l;QC0* zrxcs1_85jR{P=hL(s%epX*v^5*b|t(OD#0+g})Fk`-DlnT{l;dNMru5Kq2{8$-Ze@ zCo`@#Notu*U{|(qTK5ve&gnww#3`?)x2r^xX;m98nrkXBn{;ix~J>g!8ecp8Dg)(^7tL=Li;dNxfPH8mwBVQ=HS(giHGng{S=nn0}Gm5SE!RM+EfMvFHK3k-1CC+b?&eL?#_JLs}FZz2z|QC2;IGGONU`^j!@UaBQ9YP zJo;?5d5F5?{G(5ltKNx}U#RjI<|}ZPC<=-{S^$LR&2|F`K4?vL^e>$M8b zvkg#s-+^z_Bz^t8*t%x61%gNUsHZKGN+8++B$Gq9f6sQW(MzU5NFM4vBR1BFBvW2X z755;6h$#Ac$$^ch2ssc=NSg>X(boypSD zjf0>ea&5jGi6j}g{j@iez~Ng#wgqtxBKH9pABk3GBlPW6nVJyc5Zij4{%)Th!shFJ zF!nyDJ0q& zguEQe=*OmZbe3QmKr@VoG`s*;yIBh0bl7NJ!i-`+5rjz@X|486BS}rtbsGmqwjeGp zMp*+!Soy1{#Ra&0E=6^OW!t|Tx!T`rQ|i}b28_(Ypbwb-yjsGd0~d`Xk71?Dm(9A( z(gL1M?Sg9)Q3j-@RI)awa`hY6Mt34n1BsClwVFsswu{Nl$Q(%uYJZ8!117K*lYX~Bvk1zpvqB4Z+IO5!qnKzOv=HtJJw|)Sa^Oq z)}imtq4TIFN1zpXYquZpfF&U9wUctotEYG>@$)&QPE+6fhK|*%oHlw=2$AVIBvJ4j zS-78p1Xc(Iki%6_twz2hM3y!nndn4P(TFAqI0bmf(({zP=hcy!UMCGyE#GL)7A29E zV>w-D>nHs#)_?MSHOazp#thBH!g}mO?uT!cRP@q*;Vi6yx#QVYPtToH@neWExy+q% zc<->-sx&42!Dbq3*%MsDd%Gz!_p>W=D(zik=JRoDD^X1@xEj}`ii}$$uDd?-&TYW3 z##9i#PJ~M2BVxZ82~4fe?$Fpg=(oLh zm}1iiuz}QP;@uMOH+%rz1GwF;2ih(pMW|8lxEsla>DmTca6^m<&l&o^Z) zbVHQidS~}W+?akV>;t$yJ-)pUta(xZ91VRCeL#R$sZp-UwISBY;Fu6=7Cnk);N%MSl@_Wi4_Rz2D{*XyOxQ*nJjVXrSVhp_|0 z`EAQvHzM46SGKM;*esw*%kf&j&tmOnnH}x+=-SOZgNmX>oM=m-ZBv=DVoP%tti1rx|XL6k5a`X5n zm>0V!e)GUluVwKD$2hiIqdvQKit(a?iZqWCU_qeOfmWWLU{WxcVfWkT5EqeOwUiB6 zIe{B}6j%5J06Tw|U+`$Q14ZUXn^1G@ z-=nX)wu#K7w!^Hz6h=2zs~Q!T!7Kn~lIIdUEj;>IGK@_TJ8{FhsJa)~CquzixyUp~ zdN01jSC)AFavOB8B-Fgm@4crGqM)Faqq$hvbOFgDp-jbftyOpd4pA_exmXiI+rO)# z<@lQ3T!%z_PsZa*|2=rRFPtr_`f86g;8&qO-;GDVOaTlY^G3gEs5P8pZP9mLl@a?H|uTDEYEyXb3u^fSqPjj6uYZyUTSLS?`B^L}P!? zUr=0~rIv-*1_ZS@#iOTDery)rv;?pk1X4xLe!`Pgv>~MWdNrOKzGZ<8$@hJB%z-$L zX!_n|5#d}3aOlRMZNVHEyk11=03I|C?9&cjNR0G(+#VGqHC(!@XDRNs7)6st_{qw4 z?pDTjq0Z*AdLJ$`9@zw^nhFt}UCqvPZ1qKQ@F#kT0W!#Z zdg-?}+jG3W3$$L;KKWj3YRx0wb3UtbqfdVWRHNGJ=?a}7jp(*U1HhmI%DB2N0O0fy z?0BxEq?G!_Qzen9lZeCj1VOc+X(J7xb!<;DX1gCO#d@oQk9xxcRnUsuOW(LrTsD?_ zSEcJss3G?$S404VfWC?t~c(F$1Dr#1KM+^5K7*s1G=SoVTy4+>91-oAS?xf#b`y z-o13~STJ2!%IPpN`VMf^{5P%w4MzXL#}mOD&B{JSFl(U!xdp0Xb>%S|JRzotVn@%R zW}^gl>qiKlWTxVe*ZL zaUJ+MjU-s$fuq=L9WOXpX&?i)SsJdGGey)m0x)6c!Q`GNi2X#g;h?CkuC%r-wmZ5{y1jH9b++b3L8(h-V zRCyzFW^EBJje^bQ{8pPyR%8>+p@0lw8;G;3u)f(J1Mo*#UhU>6rKN)-z zkOc4Cp^0_%P20l7*lpJI5Mw^wq2r*D3~!lQFEkS$dJdNC?#BU9)pTnB1}pMo^VQ?p zXLPj@RSt6Taex{2&F``~`r~K*5hnllfejA~ll$N;Ie!dN|GYDnYNsDEk!trip-J=; z`CmW=aOW-L>n`DDhNHP-<(Fvc{oBjAZ9fTg=new7*zlk*-{HSkQqcHQLCSC`RTqmZ z;@+tp)6$PHZ!XGp;hb~JNG3-Z@JbiVCA2F;O>mEW z`;-&P`)_`4cM+;iX3wTuXRC1V(fu9Lk=O7>NjWsG-bR1lyK(>0)4$USkqp%xB$D}i zu^lG6pa1@s@6H=|qQ95#k*CP0|6U4oC|Huem+?~;r0V7Gb%N@M@!!8ggv=s~c=`XX z|KGpmtmhp%kPLvn2);nU#1Y8II16xjCnyC|z!fMCJuD7BCNfD!m}Hj#@sR6oYrL2? z0`{Kya7{(54`LB;h`0l%4fwK~m~tlmo0m(UEx>k-);%SR&;a;csVg@!c1)i63e z>&dM#w^*{O35~Um0T<1$cztb?BM@?^nCE5O@)ZWWi$*EV|4um-aoY|Dd4Z29)X5cF zRw{;g6taXwwUg4KD_>6tdTl-wCvH#R`^sz6Kt60B0VG~bEgR#x2=h6FHbqoz$%`N* zDJ zGjeq-)zd80d1u1NQ~uI~16p(GMt~neK}ZN*)Fts}-14B@$t?-DTZzlFlLe@FNQ0^C zRe++11!|*seFfajJk&IWAb`g7X~ zg9z)G{n)zF)t%~O4jWt1Sw5O>n~~I_eu37KV67qX_At94>!$))cVWKr7nGuKpUcE{ zuUkP>j+8rO0hC_IyTgTMPkd5@@F`ZCzXn`G3k)jM*yA2O1@_1m)TPYbKq|!9djUbx zm6hr~Xw6O-86(6)>fQih*5C{LGS8$aR(?XFs{A(DM0!-mxK zKExjdka#7UkB-Ww%#|b687|zAZ3%k=>(~hliQc9&QlEryQBZ(1zg0)7LHHR%*IrG< z(C&G`7E%9a=eLl$BT&$*mxHK%xd7aa_*zuyxj&IP1>+cUXe(vF1<+B!j)Ukvn$zoi z6ZAZa4mDwH^i73$Og2aI&`<&@*15u<-UrHUp#6uqPnL!pmw(HY)8Lj`Rw_qe*JL>g z!dM@pJgtSn{E>2qr`M`0T^+(EdM;cFOkV$3x+o~>2LGrWx0#}r#X(aaF>`$oxXwCR zEKE%m~kRWe+H6aYNVJ74;WPz zSN_N3IT0dZj8v0a`*jtt2|Wy`)CI{(xAR#WFYLMzX~Req ziik>q81;tG6^D>CVoM({t!-)nBZCkv2qg(sS<$?ev#dzuGKa5uw&C2BibkT?4L{l^ zw*fATM{?QtM_-N{4Go)eZ6&W3Qb~rrEWZwtHo5uTM_=Tx)}%st6K8kS(aS>r9f#U$ z2LvdRxVCF0QU$#gyC25mGQ5)0fYc7Lh^leg4^<-8?20NivFOL&$SY`)2 z8O~Lc3Ra&Kb;pV#54Xz-ajAa!SNrannhBumxjHI$w#hXHUdLQ!RViX$5vm$HP zFZ1XYNg(RgI}>esQrE_{EG$!ZFcVmh(>k zUc{yXaB&~%G9o~Gz|XQ1Un-6k{o%Xc1^9G%EFwrp#PVcr6DhljE-PP!Tw@lB_=sZ&x>kVEi!et-4&=inHvZ}of9Ox+CUF32TtS8~2UfKM;IBI) zATo{-vePrv{B3O7XAkl~k%QVCleDU5ZL`o&**Uh)yUL023Yt9T%5huEFU@u5 zR(_LJ(PcS^tCA>norr;UsuM5nMP5Au9{2R|8Sj z5Xm!j5L>R+al`2mfyZ$H{&^lTZb*sVlUoI#IY-4~Z+H+9fdp(s4K<^ubsC&=aPM9? z4Tq}T9BOycmBcqRYCt&=10xu}aY4nT=BNL;bR+g=qGpbkV9*QhMYLSlK(nnVcqKBp zQC?nzR6b?PCnJSZ*8DeYCG?wDE6c9?x8{O+0!b%b0lt|BPO%rr_AD^Q)l2)&JPX#X zD*Vq!t%Q;T+lwI+7d1nUX@w63nJ^aFiN)JgV)#o2Ha}xyn&- zNT!Qa3gX8|1S7;C#PFMc^Sy=e!{8?>rrQ$>5R-wZi&}KfD)eol<{&vxssnfH2~2lM zGh3|L=%^fjL_1hRd_Sx}o;+`b6e7kKelQb17+cEl+Ti-?FJC_O@IqxIZ6e;1nci#2gEyA3#EqGLfC`Y9J z2#1W+eDIfUybXOKh17%bR!klTtI|@mzUY9_N6=SLIek#r9R|e*xtt2bTgu?+wDkxg z9;=h(CEg~-^#vo6=j}wTg8MvK1(hWLJR?SVp)b!)TWnDr zKbwNzEU(K$wEYqQF+yFO6C$RGE-zn2N~+G;mAtJ583c4#gC2jcuh!}ym6U@ST7)9Ok5!o0+f&fwJfTQxipajOMpk&)av<|-kh}8wlmLzliX7d zFGR8z^9IM8#`+)($uLyn%nhS*B^53i_3H0des$z-Uz=~dv=9}VjsTI!MuSmg7y%xD z;M@q`WccXw0sNACU98BN#Fi-+u*)`x$_F{Zn7t-U4-$s}KzJ)2U)6gH3Yp1B5}Bz$ z>f;do1?+IQ%5+-?hXMq~MJzT_--i_WAO(jAs(o(L8tREVL0*=J)YTw`s=z^%09HZk zkvnL;3~+l%g6I4d1i|nm?#ygJ)oMHb_e+U54==74ckckA6+hh?n*qL18H6eCH%Gl3 z5acj=cc-G=TS+}biCmfi`fc-n3v8=m&f^@J5N`ok&W`W=*#BuuU)L(op}!7o0qj+v z>*$bMi`-ypj9_4L8SbbOHoAGR3`zdt1U?VhcsV_R*~6Ar801?gLal&PMI3lT2%?ph zl`9JXJ-B9*qR7n67THTbr2gF-Yn!ZC@Uv zZF20Q{sFST92M?wI^7vg72NfFC3l_$D!9}lp)FE#2#zrAqTR9uqV+?fZp17PTBQUt zf;`msTFLqb&O9cayJdb?zk$!J?+HcOX8i|n7XM)iDLUNWkQ5}`e_@-J#+)!SUU$QCeZ(KLtQM!Tw8LIA$Fw!3vn z#HYyUWK&nnGPwN~8#9+Otper(2L!xTCW}`#@*L*gNFK|QC-Pg6Jr;%4^FMjz<*cD# z1Dxi2l{bJ#)IX9+PdbP?ivRhVd#I`vDLY2=b@zs810j ztN~%EFC}-2jTgc6&uAz<4O;U5rHPT3Ui*I`Z|z44C~wzj-}iWN2N_ml0ECE9$X_$b zDRvUGJ z1WZM0ck=XygacW3Y76*ip!y0<`}mEBWsXJJX=9(* zrMeNupbUpiCWRw=A+jejllRnXcyf5W2=mfmz>&>{${^W&%A!)Lr+A{XbO?JT8;lg7 z-%wPg7TKRC_|8Yp`^b+6g&a_ukf+5!MH$}k-*oWF=uFar!^ama+76Y`)T+ORhfs0ZLVx+E=%>q@dcG6SM*jk)-PIi`Mg(Q z`Jd%6eI-@|bNmM76ISXC3HQ2>>q9Kvg{5mYVM(Rf=T_KP`GC~LJW{MJAXEzJ4q53J z)fn*7-mplSFpuu?%!CHf>Hw>$gCsBn&N}(xtNfFP!W82&O36@%;r@>Xyturr*j(?} zT!y$8)-l#jB3U7d(BBKV9Z;4IveL@$wuZYF@Y%LM0E7=*G!iu2$hF3X33-ocGc^IE0juiBBz!YrdDnUs=FMNT zMRL({afdCF2$V4e->9@>ZV_|#@#j2|J+LoyhB5(gWARWgu_K?XZaHo6By-8dAGqZq z$4Hpzz3gL~VaR)u8r~1~fxih5c(ghDK9;qjD)hw`ok$bCS_16dg3xp}AtAxvuB=g?P8p3Whx^(u7oBHbDvrXHe4W4J$tG$%dvEl?vlPB% zAO5Efljch(tLCL`KB2pW0{{YU6UgbNYKH zx~wK4+`LPN32Y71GyaoNGJ5Dm>9^2Xyp4ZKy6_8!#>pnmToKS1zB&3ofTL=~i!YMxDM3)P zm!OOC0ZjgQ-(QT_mrbEwg|W%0Ue=y2OX#xh>b?q-5-l91Qu;kNTWm-3*-EWCDF?xz zch`@K*cR5MUp!!v$`>;A!h1q@Mbg7$ra+knnDsjc{({T`CX8yKc2}}@^yXt94Diux z2pNvODX#Kv|&Z?OkZ|QtiOdo1Vz+ynOVrEm19_4OhA>OP)MkWW-WrEr1`yZ`#mY z2lg+`LD2+rT_ht&SB#a}d$!F^yt79;AiRvxlh~<$?U^&l|8e$lvFDnoT_n$Xc{08Ilu2fowu4;zJ%uKrCmQ&@xF5f zHR&u7PGvmN=?~6u4yI?DjE(V#hiDp|sXldifnrAN@+I-0x_?@HIEDlmq`Ymp#U}RR zKy4;pZ43T?y%_55TNA`%V@Zs{;B_rpV~_?aG*x- zDE#wNzTTQ;8@9hB-I{qe^z#RGh z_Yz-6KP1BE`k2qvUlJX=-SQZ1x{-ZN1>IzW1Q;V;@&&>_#~Nx8Nm< za_J@Rv&a3B+JQrGM-H3e#lYmsNe6xg7t(W6(v@VukQXXV``Urj2uF9=i~ps?7_G^# z&VUY5-C__-HaP-?k8lPJj@)Q)%Fx2U#{Tz*(Wu3xC$>v{YyVMGzHb{xwBTt#yRg4+ zBTs`9xDmzekTP)K|AlIfhWkXLJqLijBR)6bfX_@JL!OYgoRkK2%FdHp@!2BQLtBIr z!?CTY-P+XJR3IiI*NK(?!l#E=S#sFyBK)F8C$KSV)g|rdQV0H0x5aneFcst~c4<{q zOWD*LmcIj1h_a;zQsN7r!il5+K+9MTqc$`typYO*t|plrW^m>3Rl7`^$q!tF31i=4 zqDC{@kp&3UT8bc0TSx#h)zj0nYu+3x@wra{=a&LZ=Nd>`poR-(pI_0rU)@j}m|G)Q z6UBpDV-}F!7TO8k`n!CMe}X2p=s{Wj#o~z@0N}${iYSkx+KvsQzd|?Dn;#{1`jEL2 zsGlbBUWsd&GGp|IvUH{<*LDYuhPV=SKpod0shqg>~oA?bUXmUPr8aw-3F-7+0eo+^X5>xp=g*OP1t?^UdpTU}e(w_@iO7xQ*&h31Aa`YEQd=>sLogv7)+uaxKR zBr|tAY^ACg_F%kcrEVQoE^%;%P1x<+`2xTvmn`()u*PUmn=EG5+z~m|MCK#Y3l&&l zB)9kWoAN|2rjxqZQak`5151XdRDyY8;eueucj0A&yybp9Z7M&2Z-?lIi*#|@! z|9SpKE&lT*02h_?KU35XZi6Hd4qf`j`Fr|6ku2{*E_gA7j}07jn%Z3E_SI9bpWHqI zcRdJs;=S)uVcZ$~{XsWjbhpV&JELoaxnr>n)0(#t)Rd>-K^BFmQyvuFNEIyeTe(02 zMPK^a<1pW$swF}>KCuDGvT14oHpXy=lCQn2@J9>?PFB6^Qg%;MQ8M#=dIf$kxIhUc zS)d`KezC9jHw)2^9yaK`rn-enNLO~AB%DTa?W5N$k!C?>&jw67Fg0B&YBv@wynA#) zpQ#CKP<`!=gw_hsc`rwf!L)eGun_XnH zh3*TmKaDmHdWYH(934+YF}}i#GuI3EOfC-wlK5!Q`(XPfT_lI7ncYjR7}%BP5+!T= zbceLMlvcg9(8nnlkKtUK?DpIT^}>-@A&5O;rZjwS@!d9{2MIGP&;Xhu=@?m1$TC%F zKOOt3xwZNIaPGs5MPk#LpcxN-nrDJ5wBAvDXo>lDIA&*|PE=1dF<36q{)| z>bDZSF+oXj;ygJXmz~#_&yT0h<_K(@Y(!Uu3xdBa;vNu+tYoa&X3m+j7!p4QyFGFH zp4S(?hdHY?>IIl5W0B^%Mcl7XyPiZbj5SO2`WP0UhmooCAu$OB03@&}rU@^_dQGaZ zS@gvhiVb+V0$K0tm>u^w(O(&x`!-edg>Ul3ffZV_j|tY6JFk@Lh$i9)S%f0%D3TUq zNwz6p-jBp4h0DD-eToM_;ftm(P+%j*nJ;1T_%7sQ2GLe9pT^^?h$^FF>Sp^n?cO3? zhxwN#Q6A#*E?394*v(2GSE zbwrx-Vy<<-(h2F#=OOes*Q}>hE3^U?#Af)stpc0`Iifbcjv#O&&?7`a_}>(cvt5cE zUJ>W;b86~oCcI7kwrKYDkP_0nk9oH)A6a^GtNnE_rA!WfVFmlXfY}wB@R&>g$8u?# z4PhpOz7Ipac0xAB;>JCoT}9!+xaE0 zh5nSyUVmqckhYZo3=Qkyr>Zr?Gm5(8rI@%;4Y?16VIV;86u!KD*?6vs&o_Ev6ED4m zro?LfxIPuU3D(G9Q|C*IUdbNgekQjq2JnXXue_0 z*^W$o^tqS1tzY}|B&-FGXTfrq6a?&7gUa=!Fd~OB?W7n${aSKZ&gGq5U-P_!vshK;Y zSJRq5=v=j-zl0gj-71mp3>)>->~wHo(w?CnuhUw8Id*0H8-1XCm5if@W($F2(k3?O zs)nW|5!*!XeZ5m-=;es6eev}TTIH2i~SV{lpGVt&NQ z(bf90(4p)Cc>L?cdQ4sBa{WJ&k3PNY-H+cSU@COAiEF`MB^oz2+FSowg5vL$I>mAc z!uJ-@H`X6BxU_@6WbrVQOaI8-+e*E+B@I zIyZ#5QN(NGjoGZ5hqTAKoDyHud1)x~_*nN8U^4e1YoJ6vT9qmhv3`qepOVj!u5?$1 zrle^yFbdzk7E}0W7zq(^?9-(|ah-M0MhQROP(u$M5Y^$O!+MkDnPCVzWG*uS?i zZ&{%)Z&~q-OCo!sr>Zbvs|MCnljb3xrOdQ9PB+6+0sob(&l`D(xTM>WbJMZDC!{y)BUIm4 zuRmIQx?8$-Pa*@(+eHHIibPAjh&vr=vHDQ;qWnLjtwi?lot=L+0z6*)@~&B^EX(Ew z-zL4+RKRV|#T)D))`EY@Wo}q|`)YjMZQAoL38$vY{@vR{p18f{_t}-u5IkY*+m4Zq zx8b^Q6LW5`P*lSP5}uO>bXz+xnL}}#ZQ%iADdfIhm7akH3QzK~lYqY+Xf)TpUl5)n zci!DT58npoTxySxEirP;g9d)4P1i%!)0YH-F$OO~^e0d}^-8T7hHh?-(Gw0jH z>Tm^R;M?rqc<1JhWo>iiQ%{oE`!0l;Mps=xndZb7HT_Dd)7<->@>N2VjW}@`(_E5x z&B0PP!=USt{>8*@_p798&%hl8JMq$O^Ks^hZ^~l=g06|)0?WH&xbKq3IzzKioNK!KfFn(MUmn^6pIPvMF z!s}91#rG-KES;lwnZjz?3+j?)M~&!7v#%JfG${9aWU6Mfj=Fcs7f;t!T9+g(C_4?!z+#0%lFVp`h;5pIsZ* zN(b#F6;lL@uz^P1zjhx&%d9!vgf1lOG?&CJy9M+|DY8e#$`%Ezhb0`3QH;!oYz^wO zuXb4P$1KMj!svB+3tQS>GT8nndiQ+GkCbAcQ*JQ@M&8@boTu3`LcNWfN!{ozpL_Zi zk82nE=UmZ?8@gkXj`*mFM+^HV>c5yL z#JI?)LoX*>y+Pd4KV^De!1YJa-NyBeg>>0a(%y%03GuIgCi*0E$^i-&hI+oUY&^Cn zYN0Bo`)+87ncVdMB8>ciRZCNQOJP4w$>I?r`oQp?!Qk6Qh|w zaRaotx0yi*Z#M)tQMdx)OTX3?c4}2(@cBGjURNX}B|OFZB)$h6MEPmI?7}fW zmL`7F%nN0=#>JOGe8ncg99=MFq?`L&EaM7q9dmuGEPk(hYraEb&%ix#^@N?~FFT*y zag;8zgrdabswlP~&H3HsX6$>TI?FlcX{kXBwe1!pQ^r>RscQrK2T_ke-6wB6z2*V5 zDX@}C<-;LFVJ%x+*>wcQ`4_;oxwm1HR{Vla6$TeNv=$Y!EEap@(!GJSgnS3kqY;M> z)Q5o1nn8`RFCL9c?#z_`#kMO*J^{0~f=9PyYuPeJT;F>RYu4Lm;IK*w=SvA|!av4w zldF;2%+cFpWx`$^vE$kwi=f9+m!TI{IM#tinoL?q3~dRf-hI;**ra;|}KJ^#&q*K^?4)^;U$^O)Z3 z<(1Cqx6i&?Amy8jNyNMV+HD>?=(Ap#CCycQIV}K*SJv;rxlhWWy3_IdAX=?7Mx&HX z{Wxf%aIW1~-soQg497;;x=P5=X2>l@!_`n5%HYcEfC<-{a!hfv*&UE*j%}HOgj@9d zy79~#)VF6WZ)QATegKEOL)Wu7L^7~V9Q$RUw{b3|pjYwJ+g$A6R(rYin8cV+>WnCf zXf@Ps-Ro}e`v5gTnjCn0!O*<9J?c=cPe8_bA0P8gi7&t6zE8BV5j#~^9DF8aH-=a1 zqCA=c=ACd!s&4 zHVi%@YlQvfR|$CL!8)QjqD+UzBbuDv;cPokYI%R^aGwI|99ny)sb$4-4hXcCWnT=N zA4eE@1AsZ7TQd3sRN&fvjYcxU{7Q%^?3x=PfI7glcAE;@W-KZCD2~~-HEV|hjG3LLVoUXLI%JpEV|LMocF`#65%6SLHq-4ju!j_$k?f?x~y18 z7@IE~W<-t!xNyc0FeuQA6ENVM2eBiWXLI8Rox$Q+uT~lGLhnxo>K6iUhgR=?7Fg(0 z1b+)WDOr~Qm6XCvi54^1v@u5SR-a=w!A)5e#p@z16{Zhbuv9ke#LxtKTO0om^B#l) zBcu*z{O5)18~KSB=}VVrbYCXiOkPpmM{|jRbm+-r?bgF`^-Jx)QbNzT?278!XF0cR zqaYrvBnFImUm9ATTAfcHk{gf^OI4HIL*RhJxH{x<^&cnTR>Mfm_)-vDl$X0(Iphnf z%L-##rsn&Yl%mqJ?!NE%EfS3H%8lo?6RJAWV>LJpAC8#o&GfJi+|{gHU&>OQk2A@; z&xYBH?dV*!9^ocMx^;-v-f4w72a9`^^QE6BTK0aLbKdjb-TSc-UHLdn_z>pmPS5GI zCyr7RiDyppsjWDCAHHq5E_=G>W;OBq&2<&&siKHcr?pQDfq4>1n2Py-Vv6kHJkt}- zFuLt+DV!Ckh?RCY7m2Dlg+q2FW706YKLm$Scbgj^rd$aP)tQg?y>{Cg5DnX7#IXL@X?rEU%Tbq0~z^O)!4uj&M!?Zz(T zYcE~IevRJA@eQ6^Xz5>jl|E!SgCDQ%ZEs_@l&TNGL?A62 zXO*7NKsc6k?&?0A!u~;<#1)rY_2Nc!r1}6-D|Hv8`k~S1M$0p#R7)+IhYQMS7e{J_eAkPfOt^zgvC9Z#751ZHqbq?z(?l*utJ=?W1!HueQm$0@f8D z&hN=iJJ>eX7E&_D(p%%r{QMQ!-qIXF1V0ppp=m&W96ZtibzH;PU3W{>Q#-4g%IvHtDmG!2BFyu{GhGqytsDiTjdx`v1y zc!BP>N{J`tpFzGT6KOZZlk-FWnuJqokcSvo=;!Ms8~AZ|uz;=lLh*s>E;q$nMawxO``!C;C`3pFL-OwmdP; z8R{UnJ;DOre0TB4Kgze!$&U>9=E78wKBy| zUR?>bDDvS;I$5VGcextgG_Cxo>c0yeVCt8s+u><4lH@j`H4(tXR{8y zbrwv^<_r=&BKp>7{vsOx^A{i5pr(}DN5wKQfqZ^uhZYhGkoK7HU} z(Y|M>yV6ShnolUQFZDAph^qRk9)F+7`Q7b|=za(D6ZG^9r{!r}UV z3FJGT{?YplDqxB>OV+cdwtt0mn{ZG0WHbd!ql7B`iqWub;GsGE%M~M`AnYtwAe@Sl zEuLy;lf~(o1`#7~uK8l%ZTZ*YJ9ZZ>Cz8e-%rrE4d+zd> zi~`#U<%eeqxu}bN@fR%?Y2kHGI<+Z!wD0H6;pBEZ!xkSkvz(}@W!y9M&L@J3@}TN% zw*#{KTC%BgB>fbL#aD}xzx;Y*Qr6P(dLL6@;IE;kVU86cA$odM^zX2+S8%ZeJ_x{4 zJY^Z)ij}!s5xu;$bpOh|Qq_SssI0Fmn7VKQ;$`%Bz-5?;YY%czQ(w678==i+rNHS>e2aJxo|c zJ@UAq{MyjprOIfaJQNu=o%CZymkxQ>o9oBnE=!(mBzY+*4Yjx%e#qD;Cg0uF&@Am= zyCZrc*WCM3kH@8A)FmSq(fiYC1C1E;1a?I^2-7H`sn8ZxsFz2(z7g7KH3>s|lRX`j zz(92|{?Uys-I+?JAZ(Z0d`6d8=b!DsLL*I+MGYihQj=zl!KiFBoZw2Mq7 zNd;k88zt!9gi-M>RaY=vBW`$#*X^k^O5OSQiY_IvcGX&3tJndpGbVQqU<6}b5JrsrbFx9b|fmm$mb(173Cuw znl4Ua!TEu-mQ!1N)qTz_5gSF(BXapWuku3TMEsncIXJ1_Ijo-k7oB;|^?2^F1A*CJ z46lAxyn08~kGqQI^(D&$^VgCx5r&OCv68Xw(J&8zFO6tX$ho~4w{~Z6ar3zN)vZ@i zdl56Wx-nyA?q2&f3viKE$K;d0+&F=zRolD1BMsZRD**GlVV`aU^Q&##oXh2y`lzK~ z7K(%Do^QT0+}}mo1GBYWsWsS_-`h82egMlcc_l0N#0%={k@iYPslzXiv&B=~er~8` z?8rfP;FILlsi0an4!!YsWH>9jEt0TKQc^n=L#RhSal)d`W4}+z&9Oy)HvZ9y;naM} z!bc2PY2VJ^oVO4Av?WH2-m9sD<3uC+N%7>x98RVpYF$l}9yA>l%D|mEP&Ns2K`Y$f%E=*51#*#G5Ctm;Ah~Y=W znl;{s!G{LCZ64bt2;XDBtEqY8UEIsSxVKqt9&Q^9W*R&c{U;ej(ciD*x9+5zKJc$x zTU^V4+nIx^#w^F_>BA}RQ6T0?_5Hf1I12rA;302#CtunfEb3!bRpcPY+2p5;GzVv0 zL>ncp5zmk`8sM+8SSpxXX;n_CL@Cwh&1MhwBAW_NQ^`{N3Z%ZHY23A7-%g0VUY5=p ze*#U%qWP50u`Mq*(^m=0DHUJ`PjzVCGvcK$vd05i16gn0ylGrKU|gv4t@J8e*pY+J z{McVGB6~cUe~LR`>Cp}2QoWYat1>C{qURkZ!r9|F?$T4qCLhk)7b?@Mnf$is?q#$E zJVJPjASEp&JPJKS{abw`JagMWy{D$o=Oo;m=tP4-P+et2!?foA+G~YArJ_pMN|N_GfIX zL70@z!_Pib=th_n4FI#hGNo&MCDB&Eb6@RJs5}EEaV^0q%N@7;xe6 zQ|KZ5tE|y` zBdh`@yc~HNRS~0DvQ?NeFV*v)Lsst3HS1ST#RtE?byC`I;Ni3%`F6-HVUekAyTFc2 z)wi}DwJ1IVU-tI)4L%725BsL^`<%Xgn%lrX2={CG_U&m^Rh5u1Bl1RnE>-k3N(Ct? z&8M({@N~;hSw2|_*wk?$bGTF#>|D`n<2q2rA(NsSyQ>so-v3bO@Y7E_zyA*E)vL_! z|J~qzf&0#geR);TQmGC%A0rK2gID7DJ9JcbCkvD^o^iLlF^@iCOdc=!8>cfe5vt*j zEFZwfIDD}wwLu#T3zzd>t;x;iEGjPk`Sa&{p6ju#a3>FJeRejy0%)~Y$%j)qGdJ4p z%j@mo)5cI}&dyo0|8>*sVJXBFXJ^B*!Eu2DRy8PR<*#7sMbn*S2S6B2W&cNi>f8xZB#Er=stDY=1d+0d3 z;c2&I1g-oni9eHXoTwQX7~pNu)O>+LcPwlSE>slX6!^PD5YO2CnX5NO$Az}4KgpzY znm^}x6ZQ&lu8ujmO-J}-4yrr8Fw6BneOoP_eK!7A7#%y7X*{#`&)K)R-E$>4(^5S+ zIyY!x1O2@ye=s3Wsd?+S)V21M4|Wt*0lio@U+3$LG>>jD=_SLbZ`ifnuNp~k*w?Si zJ6Lf)!raW#(pExjX209`ELhCHm(%!RSl8qyFs+O<{$6s#eIiGU(AW~QqT=Bam?0E; zhb@`%lNtYKi{j7r<&tz%dEcSL_6=0o(i(QH_8`aZ&!tg8-b?Rj!O|K#mGSL_+qD@c z=$>rYCoksp`0>Ywmi*DHBW=cfd~*;={JnM_Aci}6?-q-+j}(~M|E|twFWt)#yYRm* z&Le*;#s6JD$y6Dsa=)jdLYIHPX1-_-+AsQ*mkXEK4Y_GA0>J#(%gc0cd*$Z8@2gQD}M(#l|*{-&im|C3)-Cttb)aX~R10>YAF;d&b5rtd}koVxZF9 z=hs2n3qhYg-OkL;<{7H-5{4ICGyX&oX*Y%;dBg1|pg*Iz=aX6DUQO-wgV1ik1DcA_ zZspOYow*cbTB!|(==a7(12nsiS;oVAe8S;Q*T1B_8cx{R*)i$M)je>3Ya5S$F#a{* z<~3wKHKzYFf2@WTP6v)0Ig)=G`=FWkGIHz4bDLO{N&g2EtFc;fTD~dUU;TyK&^q{q z-~L16P~ZBsxESAoe+ITx=@4N+0%FtR*d zQ=nx+?&g}ZnwnL5dU^~mj&fgNIB`#qDl#(C_xA0|$o(dq`OU9H9(|lZ=X8&jab9Z% zjJdN-I1f_LzW>zq>(}op&n~B7khZr!a1ub6iHVA0FG0O@V=OQAg7%ioF{86v`oe{+ z6luom*9sXMe+XK)iE!$?jd*Wd4huBnx^><-FoPmJJ2kxJ7SD#gdI2y>mp3$Iy{bI* z{{F%Gv~!1sr{QgizcxMcIoImkliPy30^8fqQ%dm^F!SjQMbs|~&4(MJ4qd8Rn4it5 z_#H2IvkoucFmJaq^YZLvh5KoiFI&dQ$r<>(WP$bg{R3Cy^j3A>oPB@*!R~_VNyKV z8mCX6o)|8FS*44?h*aHMvsYbv!RV+NDMts7Uf34aPy z*4AdV{#N8CY}LY2IDanB+F)j^gKQ&4R@PfdDiQlMcL@R?P+CmCB-Gj%2+g23zqGZL zE!JhiFLxeu<>)S5x^&^fh3>+|1jBFD)wD*{fsIFhE#T$?jQG{d%F4zjCSIWjS|{8c z)As0Au6(oK9Q(G*H!x5U6W*BE*#jOvd??}mxT~|1k%i?tUUvY8_=ZE5zI|#kxp0Ad z`*xazg$25`Ynv6*mS0topZ)!Ni;$4&t}AYRQxSXho2DA$-~v&#$b^n|2%%KhC%1+mKJep=2BnqL02kFL)kX zT;%G+R#`c@dfY=1I^<_C)ZsFElx1TJF@{WDNr?=>bHW4!ri~kEZ-yggulJi&;bF zz=ey5Uv7u>te$xTf}EsBv}&mIi6>t>b4$?wJTo)Xjz}YqS)YOz-?BV>^k|>yF5fmG zr-iwz$6^n2NY~Q+!5UEh&ReOf`A!@&@M&-^AA4_YjDOW_w*7%mK7C(@a~3{l7}4(0 zeL+nTas6{(YPj`gax&lR%%RMeKmAP*A4>7=GjKZQQ%qF37F1DH)%iMv_sEG8RTX~g zGVJ(RL{ZEnt=a`t&( zUEQgnZ!g&}d9Q*@m}8EWT9`=;KNa`ZY^=SEZq=%CJSMVy*hMZ=umvk|uqO`Z(2rBR z&HDTBbBpF@{q>2o6z+Zdn8(M*kDNSN{Uyu9ruW@uOcq&`c5)K&hz=P_RJ{E*FQ(A1 z5HWrWH@EccOB|0tZUZxARr_bDDaFWnva@GDE+D2EH9ynMx9y>Ko9UpXrlyX=!Af*% z)>Pr>1+ELm#+~hD-pTqUhgpR!ePhJ0Y)G9)*6qYBn~!b_m=J?Bl<+I^ZF7uJe{Zi3 zxm#}TxYu?%Y7F6OszReIh4KQ1M!QFdjf*P?SvcaJgPZ6uPBAD)CQ8TLl-;*9>U~FndyXecuXv*|b>Fn~)+@0y!Tvlfn; z+#Sdv?t_E-;#4B`P&`-Afu}Ak6Lht3NAua3|X|N!}Q--67c!2#MlU4~|`WAo-JdZ;H5wUKTov%Ae zIr%_h^P4wsFfjT{z|*G!Ixn5qV?3ka$C@2C%BivpwdSq8xrXCo_{Ka}ef{rJi*ipII?$M33H-1rd;RtO zG#qPavDR0*ySrmgu^j#O(g`C} zL+;)4#o6=Hj~liK3f3jv7Vl%IJsEr0HTeGhTfYXIyD)G>n;0gRn;TeJ_?J(unzrImVMTpILpP{ z33E;+bkBa8eVDuumMulLGS2Www`ktOE@~^!R;iU|t$V=iBel5WP^sU#9b=eI7@j=8 zZpR5zsa8wjIV8Uo#l|ldZL81A$}Yn=!rhiF*(;HA6drUX7^dSFP})x)&P{)4W^5Hlpbvj=kUDCM7J_U zdj8L^|KowLY)8oKK%;*-hBd_PwyS-EiI)y2IRrG*xj)R=It+X&`}Xo0a@!h=S!KD6 zken5Zy_5i~cI4PG`L8b=>K`3vqlns_ZAv}67F&?>8yp#QULFr0ZbdO>*_I!&Bbk|; zLdwL*=z(>N(iNYi#ulcYWqjNo0lmTss})diou8lIkt0Vu8qF&)X@kD4IJ@gv^0cz* z{4O*1t;({U6iZUYXx7VX(}tKWV%nO!TjQywC*tOo z?c051&QW1?tOZDtv9;YN<}jevExL!F=4)G9dtcv8fS@>~AkKWJah|4Uy4RY8^w|lv zuN8G$zI-{;rcJ)Og^uxv$z#Z?T5IQi_t2QU+oPTRdYf@;-lZTseM1Z)LP-~VakH|r zvMHWKMsdFe^Oh}JlFvTp1V*@7pQwbYjO1j54_tpu);vz3^>Uq^>cC{3>(8I>m6esP zd#Jo_>y91e##tz#-`zjB>NeXU<0n50<5E&;mQ&O?!)dk6N=%TU_*p~#VVpXP>U$X+6(_=(m5k)~i-v{`d6#r}Iu#E@;-W}*5rd!+^VcfR<*WsNh?pGRO0qj6< zP}9(uCn?0#AbkT~-NYd>PvxIqsf&{lvF)bApnicep;b#t_MjiY&sq#TnPw5g2@^VG1HzZmC&E_nu&_5E2^t`_v~5o?c29K zb{qPHU1lzSN>N{hK}hsi7^}R?JaCKLf`W`Biak^gtt+}}C!qU+WqYWfr_Dz9lfRR7 z))FA$K5skNd)&?7Hc2K75tkZM`B~IgsI9-10HzD<*@xC`!*AarXxxha8Jx_+fBSRV zyK(nl1L{L<1?!M)6|uP~6qIc;YHBPv!pbi$j(aL-Tt8`XVLwf(Vf0=;`ehY5e)8MbW3ePB{6o9)q%dz)eg%Xzj`1QL z7|bebY`h&fhz2n~LX`81ROhwpLPtpWm7nA``b*W~@0d3|^~2;3It){1`!hA{&%~?P zjwyWQn0Ym^o9g`n(|6tgnI)zoftG2JcBy`nS0}{{(!;9-CLx-?6aoM4z$M=AU!(>| zq^*BT;s5{dh|q#kQ8&AlP)hhH@VfFL-*5l>uO!fJ9JM7hmvN4Ee8Z2ph96*9uS(;& zhv4X{GE^xDcDsJ%y1KXs+VvhA&Z@w-x~hZrW_?J>w2a-f7~l@-tGv8paL^y<_`vsH znA+@#4e7I%OOJmRDYpEnRu+ALgTB80v1pNy9X`w?}wGL}ygqiCg&Su*rX3vLU;Ur70qyNEQ zZg5)e6ia*x{{<}{5L5|#0#wK4)s)$#+}NvwxT=wE+X2!L03*H>+lz4k5Z^=rJ>~h& z?Y||j7z2EbK0J`zQfe z>jY|&_K{MV-{mG_u z{$(m&rN9cz8oZ75U4*$n`B#5#_lWM+0evtxKhK0p5IYy#A!_@+GNX?CT=ei+B0B6hL zLDuD1oPByOFHoi&5BW?O3p+alAeg|p+;k3H~sjH;G(6UmQ!dw|ItUYUHcGa_IIBOfahgra~1gec|FovsOed zdK_2vIrHKwPPZ8YK=!hZ%k3BxkAz+dWZ{AEmVm;TBng}GP6e8^U9saQ)h8BL{Lf`$ zvP5$iRtYtQToLwdHE4u%w2tpyz&T|$-LILDF^#~k0l`16DJsS)Si%P=QI=DHp?dB} z7n4ICQ32jS)Q<;NXqkcvf)iXt?E4up2-)-cb!yb1%vmNMdX=}4*V6Aqhp@??`Na~{ z_?{Zj+HsQ8eb-;>ou`IYQuiNmFVL zqGUIfSxG!-B`%W^TNf)zuxos*N+E=SSQ(bctFT^(=3fBp~dkCp-|xH0_q%nXH6`#>^v_qG41-%J}* z)^~PxraS*KC$9q%prrHU<((NSOCo&IA{)3yHbhv>9P{-)44b_WP>X=qT5|G3^`2LQ zhC`*y)y-C3J9DWe`^i)^d7^LH#hV+GRptEOd$F+8)K0&;yYq}74ne>XG?t1Q8XG{H z-vU2(Z$|`@MKb+TR!_0D6lM!hG%6m1q!AU>Dw*@Vd9b6mw|C<5c8m22Z$k4OY9)0( zi|sJ6{StYK#+LaDFsnxDdPE+qiampVz9}u=XF!7Siixp;yKUwK=p{q~$c1ZGt@`fs z>a$-AGq@3q$PoIB=8X?!ylE)5y?*vBxmIjAg2D^1vmJp$5iIf=uEPPyOntLjYSB|D zlb`Gsx9Oy&5dK9W*KYog!}XgtyD+rB8p-)Ocm^Y&>(AL{>z4a2iPF_e1ydE5`<$n0 zqT&{Daklx{XZqq;Avl*XznbEZh2ZfTKwSin)h5CmR<3DS|>47x|vxHa_72 zBYBi#Q{$;TIuSz;r2v)N_1$l!l03b+-D=%FN%9Nmu2(yU{u_cp{D0e4lbGEwt;Itz0GKfiF; z_0D)dg&X8y$=t*$QezOn^S8!mdT{2`A1|njgybCq-~)TPR6`AYX2Qdhdwe3MF7J{) zq2TcX$j$X0D}H#v>~7(6IdlEt&)% zqnyW?0-GeAvsL^~6OH;w%4=P#9b#hI{_c<47B}|)Z*_~o|5&%6Dk}IiJN!@Kg=7b2 zO-VHbL_5_a6XB?wkG05scea}GTHAg2GI%UnOsQFHU1_bT zlYbVMcUj!~=Mmp+6;$D1$iDNTAaAdwE@DXA*RMI5bsPLwY!6jdp%K4y!jDMAGo{-- z)zurBC$SAw)uq+r`RD-$6Zpo8boHJ;jTW(abq!&3kWz2mZJqInFjxgDT!x^`Mi(TmFC3(NQ}FSNJSD5wftzJAnT5MB(O z+#20wE$0RACdbOlcZ&@SS~n3Z0aiT1AQ?L?f7wfaSkhf4FjB zFMiva8^>u+MgJlmrKPVF-z8xvg(0zCb8hWx7e%Z$)gBv^|JSrn!vC=JLkYKT@hVi0K9CayJK$qgd{rmP26pY#7Nw2L& ztH65sH-0D_UYwsmfxZz)%Jf^2XiK)4ceB1b$Hu*S_M-Z1!j^nvIvcVB|8-T#0!y`n zyqYKbVV6x(i*t4ldH_ArzgQ+^LLa`~-F@NHbNxk63B~yM_!$T&Z|%8I)yX1gySTWF zK_E21s9O@BP=5zUM!t~-dP*sUqQ`(*2`p8~r`D;zj)1 z1pnT@G%J5F)~>qx9#qhTq)Xi9FHdy8;hA*-@R|hcgiljCb}T^UyT7>| zv|7`KN2`}DUoK?+iBB`FNn&`B5cr@lFAujIBr;-KfgQBiM&`~H9JGCdbC}nDo5-Cq zGBSIrR4^MCHzCnIp73hC722WCF=i25d7C@C*-l7hd&^O81P?Q25(6Z>SeOOp7+BzJiR;#Z#|d%I|=mi;TM5h z%rD06-@iWu%r<0hbk10b_p#?glv8^mH|Tzg9Qh zJ=9q61QWHUqrDjes~D)4aGSFXbE{j!P|5x9=P<4or;R;bG{8PqR&M3C6q)kD3CX@ zZu_xPP#$D)Kz1!uJFoT9`5=BM-K=3df!J6sc#WkvlZ`kN$Oa_~3nvwxodX1_#+`1K zAn_rL;jb96-WM+&@&maOSUZfsClM&m={l(jmO5TcT>*06p&FwsThZu~qJQo=+Q z>a01Gz;vruD`2@|qmSdT%%06XtkC5SyZ%{XX)*J;y{G3!jz#l^YpyaltVtZ)2@Rf} zGz2xGVdC(hc))NXVMDSD*u1~JtIHefro6m-IqEwgG=L@Vs3WHVINd1t>T>i=i;4P&RMgOzO^k7wCj7 zKYJ|IolALQGslvNQMD2vgGi~MIt(grtru~g>}0=*EMQjMf#A_% z!*>J~GI?OoQ)8hxd*!xS=kW>)Z-9%#R{0q$o~o7U)?dXarLc|YhF?M`#MTC)fB2G7E zgS-5-nrsT{1~3g%mu~fYdRY!2tnxBptdM9rkJTzFD0G0XB$X-Q(8X*?$ zF4gCHl0`TgrDXzT94P=n(eX{$kR?MZP89DJ)$wu7Ta}q{F5HqPK)5Bu*$n7=a~L|m zoFW0$wlU%JWGfjO@;uWi@Zxftk!cm4p4@;a zYG!6;`YBoUze?X?r@m}tKtfgF>fuG(j!PuAh2fT+c?rz+wNn5ZNxQ{i1o>~3FEYb& zB3Q5Cl<9b_U6;vtoe4_qw z$^3U)2Wz6xSP`ZZME`Lw$uD02ed8f1>k97BHC@`TitH!xC*}rEM z12%c$0=9^V2jEg~5~LE5z6m|>tP%^yP~^8@4` z?7K)W<~WorN#s`=AuL?c8DuQ7pFy(6fe>s-bYEORGJ7E`wuwR>v{sgJ2QeV9T`KZq zJ7j$xpIND=AN=q7mOt0}>#a|p)F1{h5${oNKjdaHfeov^xlZdwT)jrs9-_oqhU_v1 zO4U5k)o#_wl`<&1gQKGZ@YgKAzF1FUERrN*tlovisnPF2zP@yXe85SGQLnnd4H{Cu zZbRe1qxYV-f?wG4kzN%o$IZf8o^l#-8&@1jp!h#69XNG9w??qFhd#tIXP5bjlIXQJ zUwHsU@GB7ZAA42C1r+O^lJBDWy5Ku%M!^Y};G3 zca-?v$G|3hY*$kBxl^Z3#q%oBo1eL}b?dfmTTm5zc+uwS3^`p#@y8UFC73I|2@#PS zH*WM?YsgKx^{$+fq}6M9%x zW#%n@qVunFYZ&;ju})Vkg+-?IH3%#}+mc-vlWzoEb~>d`nh^^AAXwAu9D*Vm@jVs( zF=&V^`K|_oL2#w?j{-EjB3hd32o4bO#=)JBOXqU|IM3x;?#y-tL<8GeQYt*sc342* z*sgV}DK<7X3K}=!i_pbIzn(FAaajt**NfuKZMrSICRCL<Rpi#j3p7q@sGViV8z#W-4+CL()uOvO=mwy;p}UBfl9t;zDJhHJ#a3Kj@Kis zb)NCk2P&(G^=P?RMoC2b7#-t{=)Fq(DJfQG9|&YF>zFFlS5Vhgq#9J9a^9YTvU-H| zpWh(5*M5}GfviJn7CnxKB7;u`gpTllO1GcYr(0Ih%InUNLZ7(x)w9<<8$MudCybfA zQd3p`Y#rgELD3xAC&BO{`c7Q}-Ou6Qj*^q73pmfdsL4`>~0Q8xkXRsMKOBz+g^Qrusjvo2bOv0B)T3KW6Dh6 zX;odY8#(F~_e(1{etziG3Yv{X+%o*@`y{Z#H~D(N9lDpW*IQi0-@e0B%Cn1ced+NX zGAy>eyK~>tTc6Z=`X*Bpy$XF)U|UkU|GS*YU%ESLIpo;8Y7xwJuZAn0bMv))=qY&zQv z-09yhH4k%|ufw7qNfIm1qifHP$NEc6-owoOS_8-A`T{0i^6uQ-z4dI2a_5BcTlHMA z);$(}W~tHpm#5pEXg?O^EdzO1P4?+88T2CrCh!4ly?*=l?X-b#6p+<~YCxDNb z2Z+^{rgk|WOqT$uzYk-;u-i#1SamqC^AxId&8jZA0SE)0*?@(kP0-~@c%{j{51mDK zTX{8VLXWGW*~~KY);VEXG*)40YN%^+&|Blt(Vf4UFwu>TrEdGzv=8e&lwahpkWoMz z6h33p_(KYOeKRoO)TbNBSt7v5PMRSl6P`MJkM6Csb9o5}2gLLY+@aDI{^o)#oFN0a z@2A6Za&qH1F|)hSnw0Cn`XojJC)^#d*kf6u=8Wy>g)C;YxG-;8pRfXOCvpC;^JM?& z)(+fF5-zE z=re^*fy-B}D8YZD;wp8clDwI#jMSc<^72Ww+jlXlOJAp`-cVU-D#LjG%qQEE%f5@| zJ>N=~zKb6gNaY>s$p!A7(Oa`q7OsA>e<3yds4&sqVZ;H;RZZeAZGKv&CpIRi@SA@!RbHIoK&)Fj#|Cx(WaK%QgOoWe50hqy?Az+2jPL>C#0h@ zc8IF^mluFe8Z;3MgESGv^Ei=67MOAz2mZCg+q&1b#NM67{_v_>XDA|$Lz_Tn+(c2# zyM23A&(F_az5(}5M1L1o*%@)b_?Gkc^$$^aLCc_`=#;o|U}FJGKFTeIpPk4CNR~H% zYq-HyA@i0)Ezxbk3Bs31Hw37A^U>HlbGm#(u9{#p)f@`c)3+w+vBa%gvB~y**0~TQ z5oLh|Zv?)hGk?1R)m4{X-L)+>w#9aI;_QKiCobH7Z~Qv*>Adv;)-AV0xw@9<FYn-McB}L5a0|b8(XWBlJ8SM|)`!FXgsTCZ+qP$US_(gL))GT5 zG4|n1d!kBEma6aw9H!msGd4CR8*8*LQV?b)B1sUih*L95Iue5pzrre}>UOE$0blsZ z!@swZpT_|~RJ@7-VCS2r?7)JN{Q$K1A@9R~(nd^}e(nM1?#GWG>rl4~Xk}7^`pl}a zb6farLcL-I5wsn(BChF!4jxoVA>=684j$j0B9t#tqaaJy4qrQ<;vd4xo^kcfo;vND_;K);YYg= z&V=Qt+0wDJDW#}02vtDrbwWZyWOWm)2{stq`Kul=BhF!5PY5?;?A}|g{MBx zrf(heOSVORWw=9Uv?b_P_(PWK(P$y=97YpSLW=KM3brH8p4OIr)nJ`xq1<{ctnhkH zN=j0bwVCa9ceu3tm`mlSy|XHIs`O}Bk`S|O*|O}+w+OP(+Rpg3fCC^l;s@78M3Yl) zK|bk(eMliDs>Ba6txtAP#fc~;+5oz3RzA=}ZK-z)r~)Wep6 zFt`kodKC)0>|umFbtpIF+uYn9E5FlkpZ+Z%fFY@WEO4PH+R^HwGJ9H9`K#4CmS3E2 zPaZi!2bfRCy@N{P!fVEdNl9D401#uz{tpt~aDkHY4cJ@`7f8shPN?)VaE0bLlCA*k zcWivJ5Z+DCpNU?8uT9|n^iDh`glsb-f*q3Y_C$=Su^?mhDz|;p;uI~Ze_m_*0iO!} zv}K>VdI%yQ+AMRla~x{#)cqr>CI&)FX%UKg-*Tj9Zpx-Fw_r9bER1;8v7F#8b_pV# zXXrmW@z`!NlkVri+UH!gxzY1{rtazrs@rz0;;+=w+*v1%qqrHZTC!!(;sk8HBDL}U z<9TqZ2IHNTkdpT<1%eeT43O3;M@&ZcJ*wO(bWUw?75_@@Q+|jt(Hqn<^U`yl3?)5! zWJt1G)6>m(%sw!95DoUj8Ja(U?G<>tKds8o3$~;1k|pXG94Ib0ys_nb2;o+6pda!7 zqt1p*Lg((jC>zULvky%tr$;hw?0C)2~?&-AL zh97)Qs@3L==4ttA7S%0HIbJ+_=+abD8@yKC%6=Ai_h{I*m0PS4Z>7KpkZ;xldYOa-L1upLOhYuUwr^d&bV#P&8Bad4|MMmz_ z3k4PuvfA4y*)?cp72Vs{#|uYtx2qBg4s+KcT8{lqEyl{YkueyY;vYVwh80T*Yn>F! zqs6mp;Omef%guC=wb!AFxWU%u=S8XBq`85+9o!oJNc z^fxpg)tjEbbZPC59Xl`;`ffyoe`{)^IsR2dOzhRSZ+dfaAKQcuu-?v3)7hg0^uNlc~4@h%#K+cwK{iZ zw$VJN@@`!C={b$G@2B7DSvZ{e%D-!u9N0nlR#*KkL|3AvN(mZBN|NVcn6tnWaxdtd zKFw46OcMVIs%^0ynMMu`O=$Dk7V1h&LSyYRp&15Nv9WG{R>G6JU0*gmD@zXa+$mL6 zDim126y@F1J)j(dBO-Pz=$v`6(AK6i{u@+T$H>SUTH2em14>;+@O7wJw4zXEkdl&$ zYNa71Z|6bfqeo?7{h}S>s+jqs$@Un$9iM=}fiKM>N6b^P2o8R|(wqO{MFK=9~1 zPW%VZI`{*baY4y3S=#3hifHq=7BX%~V)K9&3#HMt4q)ik?HG>}?lQxOkKGbXiTR#VO ziVvigLo7H=nbbx@93T9;rluTmE(1(D^pzJ?uD63yPw^dl=9ikfi*|_jyj8R!hzxM` z>rG5z#T?!aunvY-HF^g|-X9THd2wYl5Yo(F$caeT1yXGWbWk0dSmYHH;?vU^VFH(v zk)cArUL7DpD9a$1%NP}6WC+@~z>I7;)xJmtW1SM&c){OVdm`l0G+IB^-ap;Wn)+nE z>GZ$fsFm`eqYmhZ{Bl7fRtCZ)_TmT_Lqf{6BUKU$0@0>m2cgR6qFc3gtrFniHxfZ*|5cUhQHAvGaamIn_ zy^)xh_`Yue$;=SvB%{!gd#?9V(Djdfh9yK-V)THnragGr!O@YZOXP7v!!RIF4eBL~ zv*vBn)9eugJ~=i6FvY@O3VAL8A53gl$eHScgR^l)j~>m|-hq|91A1fsrzh(?X7xw- z`1nd=7bZyr9bY)AtSkfMnqgQ;?*f+>&?@8L45Ci}sIARlXdr++elve2YD%kct<}!I zz5wUDTa%_oRu0kd@R%QYn&xW$?#q{gCI>bzeLRcx>(^68KKP{lxv#TlW2>PHd)Uzx z*adhvnVI`UL`4yS?|riP{NWTr`LU*!M$-eA?d`A2^Ds5jI@;RGUc9)CpP&Dj7o&FC z21iH7#y|t>)`SJm^(!6V-pz?VvuPp zXft`ZA*uz8E%;Fqyr%mymZ7Qb}vL(UfGy1Vyt zlvg+dH$!@(!5;4X^MU?G=UTJJNh}W!=9E0T8`pb!jx{ShvpL*8QGRVJSB4ISX})+i z_#Z^tXhK4Us`ptvy*0NLe~vA_Uf4@9-))+5iZ8CwJYFMp3oci!+UMX6oE_R|#9AEk z?DUg3jnvc?4>;J_D_H8Wme#CUvmr>;;oJ>bgERcb<<8Z;Eyi?1|9Oe5kOk1}*$ziY zB|*`zUdf_~t?U2mLjNW*dHG)}&q$NYJ9BUz4jvjxsC~71Uc6KwH(lpbRvE^)jnwV# zgFDXxe*lX#n1228qLd|WGT)G1r*o!nW=G&6Z6!+``EN2*CShRc^9p(SPj%Rx&@*hB zp4hZ+JbzS*Af~@x&Mra}7>QN~>g>6xn3%!ZpEi8|pQO5UMZc&>X8qLu`U2T*8N5pr z;L<<({dg~KB;NObe@SlM^k2;k3C^R$p9shsuf|W>*NG#YAjXdWwu5KkokM3~}8#v%k&;gwNCBw4lOAxT%#e#x@ zP2!FMuU@?pg!M(I*hOn@mNa{l?kjva+5a%i6a8&+pm7!9>QQT0p8kLkL@+b>EdL)* zQ=1w{MGZ+QN38k&fFAmNQCyN<;x&qR&k5DkOZW(Hbge2v2>R1BE)8ti*W2FiL8`}V z*ABfFo+x&fAj1~`pCUv)iKCH;#gDTO}Bf5#0+Bnxa4lP?+?g=lpg&g_3Qf=?+9@_v8@o=k$)wj6m z)(%f6D<*pWMR#~#84#f9yw2Oqg26)n0hR|Xk_Q3;l>h{YvHf7ik9RmaOXV0D`UJWQ^ zijI!Ll=Gx<>u3_0nE_joH@Tq$2UsYi)P7Y~Mg=#G6HJ&k9j{ivbdy^FM(j_h z&Z6F~2CQa;P6kzrG>E|m%2-2KVSqbc35m9c^Svz>(l{yk4uc!uwmAOLNl{6OpgxKR z{1v1Z7FGxqh{S76!G)LVt+N);PL0nzWgGYnj5;>iaMB0> z^i*R!z z>}%+~AQMPPZ#i+dux!|%-F6s1irt=`HM=Ov0ubG42TTw87=A-Glqi*WhVf{-bX8GN zAw7cV%3KdC6=;WYfVIkbbWv6G(cgG=p%;^FZ)&Gi!6w!*I=c4B`v{QQY##suv!adGi3oOrJ&ElnXy_h;V+|BG-d6WBvAH(1UPyazA5HKCf0B_NCmu-n!8dM%8bf3D^T)$E!%}w5zMLHAo~7=dJ`2ae z=`&|YO#^YaaX@IV?u+YW0t4C_2JWT4e>uzTz}B=+5|%{5c_OIF@rP*?J~wYrnluHq zO`2GV;p&)Pvw042mQ-jx%|$s!TuS4?O8x zPj-hL-Bueb6@)$Uid0uiv)GoY z*a8drpupYDIge&lctXy@fJ#CMOsHcZ)HNl0NmC{mON^n?;;_ppxWe_&8W0-1emU-b z@5@PMB4WV|_Pr4g|ILMcOO`Lh{Bca@Xorm!&#V;Bo2sctC5m8JtT}gQ}_`Jjrz9|Y(03xZQ8_f^0(64}XT2)6U0O|AA zMVN9y49LSRLQhYB8Jq+f)4mQlWp7880MLSFEu*K$iSXzRS5W}F=*I!K@Y-JnpNNJk z|LbqrFCTPD_tC?&ooPu0+4q}1`f01IH&@ZpeaM!h7L;b@aJy9)9yru9w;Wu4zCQ#a zmgc-?l8#f=m5V=Lc80otX(ZPPCZ8IA8FZhHNd`N8WvNh)c?7~VsNHWFVS9BRa;0#)Z#Wu-#f zo-JFbke!&h5MU2JF@dlHhg8Oc#j~D5%AigpzwDYJpwwKkT zp_%k6qFrs1u;sm(Z%|cqbxGE+*)WfUK{|EN8vSXYEhZ)=1ExcaR@wlcBC!e+4jzFh zbyiEP`KIcjB}jMaZ}Lr0Di1#GfZghZ_Kk7$?418rbQQ49KmYcY9vt;h2}RWly{W`5 zb1jSO%EdQPnGgx8e@Yn%b$mUO!Dv$b4Go%ofJcF>Y?aH6#!!Wd~CcgVK> z%1V|p8C?aROFP~YnRqdV3cERF_tB(}h9wL5cf!MC(g-Y47w;H4L6jmA5mZbJWkD#S zVc5j|h;_L6ITsR$4+Jnnl+R$Ogv@H-^dWkL%_3|+WH<(Uzp&uL*9S%#?%ZJpVR%a_ zN=3?S=WY{Jf+<$lpta2PNiCK=(=8+>Km;t(&a%C=ySMii)iW5oUVZ(_fij{~Bty-5 zRTsCmRm+9IEp_oIHJ0j-N;eYgP-K!K{_fqo?U*t03O!4{aQSHs8L7+`VP;8=`K~k9 z7sfd+2!KY+*Om+)d0tc`fq{VGXOFM4NaM7a{snw!ReZ(b+%! zE1H7Q+V=xdgfWaoZBe?m_F2ouw=#&0Gvn11mf$Xq9pb-#h&V5d5kV;|e}=Wo*c(pdJ#!8`&wb?Ks`*3ledEtKGl!Q&MWg@$ zUfF`iYMfmNIF`OsQiww61-xUjz5(o3Vgy07gPV&!b4;#1p3*Nt5_lt z6v*TXgk*3=w;)>>z#(9qcRL_}7`4$L=?ARv&C+><3^@TkCQF#DUjsLAx6LVS=l{(& znJ+y=ZAq{WuZXXSOiDna={z6uq)lf#3v#nB8H{iQ!Sk-&itf=g@HpKd*4;l06ZMd zyc)1X6gHY1Te5%seTuMoeu-}SD3bOl$3CGqH%}wtphJjtw(z{UGHi6j??yash?^8k zm6Mi&P{fFilkfbC9}~zbWb{_W$H!wCDE(SY|NNx`Peb_Xd#5QgAY<6sbd2Vwrlz(J z$}eYZa9|?{62e)Qrqb~q8pzLb=!2+;P0RVN9hK5#^b`ym3WxpYgwekON7MJ-!?0Xz zn9fLAG=HI}mWQ3aNq?_O^D{(l!j3H57c%nsGMV37<&h(Fw&CTuoZ^-yoaal-|4}0+ z&;9vZ2>08RKR-w+-KAYNC3D7ITV;oKv)iQ?s^?}KwVl5K+qWa11H{GND=rZJ;TH=D zlf-eLkApO8*k2z=2#QR}`f73R#N^g`(*yS;uI|I;rUHcw8L}N*wnp>Cf7*KfcoN}- zCqe1qo--d89(;-o|LE70^F7M?Q`g)@W}DV~#eh`8m)ZyAqoZHDnm?nmOa8`4Efall z2i>wsFADzQED2>K9&MXu*&`OZuiw0pf$GF*CiM>~2O~9LQJTZ=u4FtT?>}uzkB?`-8X&Ye$D=$D_-JjyVq<(9Yg? z@zUC~1|yd4KA=`8L0=bb6XcgYk>}Z?#3ST7w1ZG$EBIJjkHxi6n{=kprV@5Ok$fSGY(0zAw^Jw99hTpU2lSu zUT;0eRM?YIwYe4L!$YGb{v-Ktu`*acu)%YsJwd4uk_}+d47%9b2O0#h#Aa-1IT$eP zd{C+Oq3S~!OC7n!MZqQV$4l?|qVB9plFq@U5!rt)Ye35FK2X+bF9;vnX^;SJybmJW zDHn-KJkCYyH*VzR>(Xf)pvQL`oFh`Ho)&G=K&+e0IZrqaE$np#ehzbN1M2G#xM{XTt5E9Rtxn=N6u zZoPad2^{yfrUp`CO4wO7HE9UJt2J)-|zk#6;p;m-L!%p;Vz4SSqii8!U@G+#W`=2hR4FR5Oa+IIlO-Vo{V|*T;+OPEa5FGu zL1ip6?;&ljdEedqQ4t-B5?&3RcMo>L7aMtb3Sf1{)t|;>{3KCDQ3Q+uQAnq05IzC& zgdFT=(7}W-n<#Xzo!-Bx9jc{{cvxjBCg2}NU)}d^CtM#y2Er)-_6Wf{K?*AKoR$Hh z-8l`>DZ?qs|0iP<)~I$9B{be@0O%?*W)3D30$tvXJl9Aahl7t0BSf1AuTKUhc7hMe zv0jB0&m<|fL?xHcE$0g(`Y)`MiS@X4f6tB=8W0YYl$1n7MB)+>mVw0LG?*vH@crOIZv!+YBAb)dfCiw{F!VhV*B~kF zFvUy=X$g+6SPmum$&%?}d?fzdBPNCe0^dzM7anw)+KUX_Z8ja>`JODJ@?$0uniSTUuYLPmy$?{XU|E0bD8)vY25riZIwU#jRk zapDAiK@NE|*g<6OO6cM!JZJYWaP7lX7vmhaaiB}E2LJUyM3#fjW|g>hZT9AdxfLU{ zPOJAjzfTH%_F{W_l6`{@OC6T;qxR=&{5KHJ5X;^_y1ktz;f2wW#kLZ6cQCoUTentN zvYNIp&@K?|n6S1Wj{RfELjb2uhLn(256H_2F!f`8&T8Bz8J9|wcNdJ5xi`1)^v?n- zCN0(BEdfGWh6`WoqJvB;2*(K-80zKiP1Ux@6U0ro-7L=J!-Lx>1 zWTs$*y!+R0uqMa3FD_t}U|0bekOH!KX#yabV29$JjOKc(_mY*9lT#zB8-)RAT6Rz$ zvf%Ji!`KF5q}&g~UB};K;k4K4$Gz|tGeTK)A{ADV!7LmcR=K(kq^}6TRRIJ1@HFeu zD8fBGJ;_g>vNW%3GS5K( zW&TioDro%Yty}ct-kYDO(ch3A|GdKU_VRv&h`n?kWHf$aW+pSLf(MF&fsHr77$c7R z99kpk$XWHdXU09fM2Ilqc-0v8vAviR)HWGYi5^QZ1&WyE0?2rM&amwK)-sY}37Ozj10muI79F;U>1~vF(M6?uY!S zPbcmjT6i$Dgi;(l$pT0&6Qo{i@e_CSv{494zhh`fXV^f~=rbH}-QHA42cZW&0GcYT zaM&vdoOkAnCP!XVLh(iS+e1ZI6RknMUA!9pE%fDe@^S6sM3e)uc-i8DkU05s(M4gA#{(B{&pF0e}N;tntRP z`Ubu4BGa=97j1kCDCst?RoD-eeR%xX_^|L5dHlWn(SIH$4i=gfbfg zqN<6d8anX9$B)TaUD9QXp)6FNh2?6PRraTGhQq(sg$Vt8106R{N|4*{o{b=B*Fhm5 zHVtS~mEUu!2+sar?Y(zURav(^x)B9!1GWJ{C8!7n6v-mVL@O$w=mA9uDnU>|K(YkI zhyek~5=@|ELCMho5(E(uktpdX;gC7NA-u7U{k{9$-|yaf|J)bqRa0FSMZ?*9uRYfc zV~#l%UOwp{p+W5t7`RMk`FxDsolFjcy^{qnE#pIeUt50^G2nq^2351Jy3-LCfl54rnifM!x zzg7u8z!k4^yk{7L$wcT8?7p4A4z_+Hq4Va?TWfze-+eA05Zwj-Q?@;5Rt^z_F(HWE>kFC@FB ztZy9n9wFEe%~@zMNY?7E_94cI^yM9z%*}0WL))ca37QH4G&I8J6PZ1XN=w^=PzU4m1l|O@g1;2}35b|&JJ2E{c{hw2%L#d9(UBtX?TDDiurmj zY|*W!UsLp+&WDv{xaAQ2>Ai;^{LSd7w!O}O5=M`;D?~FS>G$wJXxRhVGT=OO-va5r9~O2OrPeAXrEI;h z)Uw$d#l^3NhKAM-&xe0NwU6;j540x<8H(5xDoCQ3iv}gA?=6qw@1BY0A+jEeiR-_N zj%_P+?!RR_Ns}p83^cqGnf2-WEn3s&-GX#WiTSSHuzgAn)oL@;tWMA_$emT*OO6x0{JbTI#bLD%u>%@s2@=wH%PohXMeK=9ZQ#Ahe)#IsM`ODw4R9{wqA-3<_Nf574gRwBeNBo#LId zs{u3<0&J6kt)Tf-QDGr;{*O)scYR_9#>&>~zd<`^#-We17tbu{_!5*__9^*YK(Nl& z@kpf2xL1V28`#-s-=QmkT_~Dha)Nf`$OFEIazlrJlfq&{WX!K1qq+p$hEr5J#@NVS z0VGUX9>{tDC;WV5Yis)!G346lsAIqE-M=_-)?>0h)F#MT0KpUCo5jWBXpvIrWFbiW z$(fIm6`Aj;T96w^>w`#1BNzIX>zb8rb>_@E(pW_$3iJQ=%3I<3Pz5w+|MZ?;A5rN7 zEq*eDSDS1C=@Aw58L92)D9^Q*xA^iQ>h<;chBIs~UL*tCNf;pM*oguD`N%O1JOrnfmexZhr{uy`BHs_%=Q1HJ<>4do;*6`Drlpf`<~V^%3b%uyXp{6wE|U@ECMH%*>PhgxG*_T@R2h&{75_*bI9m zvp-RRF5RJCBVQRG(Z$$#~+#32@n< zB50Xx1@G%N{!5HRB+P~tx{ALhN^vL+$cznSOx_g{5mL|~l!m_??t^X&?ul%|mX=dQ z69Z!|Pl^X-bp$C!o#aaTu@X+f6GJl3zUP{ln6S|^LB03@&R2pfpt1ZFlao^uu*RFE zvgm=Gni%aTs-vj92$z^*27V-Jr6Ad-8xqkUWU>HlF?e(mH6sCZzOb* zVa2XtHC}cjTjG;Bv+%*bwPY+FWOjA&Qam)^d4jZ&b}fFxw961`CqUdbr%J-o;1$&% zI|*LvH6#w49^V@O#kPV_JsFsL8UCNZvn%iIUJ+;Zv$%jipJXA!^+F13%8nusk{y65 zndsDC(qA|e6pY7szaUV7#(Y^r`jz-glPLe!DqCGf#J#+{4wNh6_yg1%ulQ!lEf|rr ztWWtR{}W8&QX-DKuot zZgXIWPn9p7xugCo6iAF!J%JCB(=pJ0LRGOF?|5n`S{0Pzo0!{B017x8s1#|wpz4zv z%V|JCNX#1bxh&)K8E=GE^%YQj0$D4|VvP-(GP^g#MsiWv|3^`{5EgMd|uqiPm>cD4W*O?WH)Xd5D<*49P^4@CDa zp#_s1GjD2Gf)Gp4BJCR);Vnv#1)li^J{)Y^vH%=Oqd)IeIi$bI2s^ww_8yTag-0Po zCIUwwKC6tiEd~ln=soa{qeLJIN%KjFkP&JYLda1jtf3#IH3H#Y-TBA^s5V+xWO{1? zhoKbWiMIe|M4fY+1suc(j*nz@#JPU>uovxRy>3q+w?B|uVZP0$*hP`l8_om2^U)&} zuOZPvl)x}$fu9rZ8U}3VTjh?4qJK^fC<4AnWIWKj-VHHD$gN*RSB`M0PYEAhIMez# zd`ExAGdquG+Up58Oz4H#*(+f!yAd)-*lsUbN=_T04w#-9hTJ{;BmtM*Ci?f_se@P6 z)W4i39e*byJw52sH;Z^4=t|y3a3TY_L|cZ;XhP0|=u_rT9*IE4vkTk;zQ}~{c|=ni zMGH!Sq{5HZMQF`M@AioC;<7Ai=nECobT}No;@9x^`%_p)BN} zP>S`T>0EotJqO%A-s$W75osAcIE3OVX8-Dr7}CI6Xf=x8GmoPYnF3$dd zlav`Ku^~;JJJzuRy2@{(&VuK&o6I(x8bccZDkt33b`UojbLMbsefDcyy+8Cw>Tr*oR8x<{d!LuP0e_l5$+2K(o4Rv;;(|EBx( z-(K>+!=l^4UYWULArna=VGri-Ai3($)xWzo;jA@gS7}SpS-?o&QZjFcVNj9-BKHDP z{!!$U(fR8EkM7dU-1v`%n42hNmFfxcr8eP6u3RwNfZw!2v3!wPCE&rax(u-Qi_k_e0pa?`uv)gNEVJh^-Gd4lpG({G>pDCqvf)LwI+Q_ht7$co+77B@awCk)_KW2?=9!=Dg4<0&4mORbbnszM9%B?gfa~m5cBEPGZ>keq5&X^ZWCy4vm|fgy6| zy-?PlM4jI<-isg+FBvxVgq#%6|K?EGawW$t_TAsuXD2|gD1Xx9Co(uB0Pj7zpn`*x zha1!%%46TNEATBkv1%tzK2i^p-Na!H1$*2*`;@DB$T-jvXohRVDPAjb$2&KUj*StQ z(&8d0A(3ctUJoE5@_o^ADjZGMhoIOP70e)-H=8$;L4uv2wP|RpV1@HR(6MlV;8ko` z4VXWl;*Lo#Adcs;SkMFg?ZnEAx0KChK~xU?GV*2ta^R;*1F6a{r1Q4I0tEfxk;=lA zS3u?M9qbuUYMJIEt{$?9k#Hm-FiTP^0f(X<#N?2$goM_K0U~ooW}N;F0>xa^i)u-v zZ?|v>GDQT@LUOJGg;vO}M+fuK0R|)jQL-oLTBwLoN)swKDz_iVFWy7N&(zl<6R0Jh zva<{VToMjkvd#lto{XSGMpBR-+znq0j-B!AyF@CD2qwX=agxdIwNZs!6bj$JCni_o z33u<-TKJpa9lo$o`VA4FL7ybAv23;r#OEv?sts;+)~>jXaBdCB@+Pip9hUuVo58Iqdd<=PyB?t#=@CDXK~;k zV5|R{6>v?-ypPE+xU0TXpH999u3K5Nb=3$5ZBKP-+v@GLT`&R`?j5;|Jh!*hgFYisLkx)1Z z!k=wNR8hQ&-#|~}Z_Yiw|M~JYj`Ts9Zv>GG*{I#3tD`{CmKMG;8ggWV$qhE}$Ns1Cv?uWp7Fdz(@EWKN zpK7nif6yN0>z183H~WvdS71Cm6xfSNDXkIzb{1#M^r$(c`($Td_egm1dGfT52*pPh0cn29L!(LSWN>2g9CMGU{W-(v+;*`qN>nqi(w{bJ~MAZ{Dp3TIaV#kWnz38%xE3Tc&XsB zHbY2895^uN{AT^3UL?=(z(+RFULUD+&M^?LIwSM^`E%@#_tVpK{n%@WUl@)AN-ZIB z%p~aLH?()))0ID`lBww0T7CrKmN=KU6^NlfKRx0kv|W0+fOQ05Ulevy)PZVDw83@1 zDJtT|iy`R(xRf!jkD~ue_%LbIfe2S2w8iL{j!Hq2_TM1E&~vuGKCdNbf1%g9=l6Mx z$6{M+h8#{~QWUx5JE9Kd;Xy&wyT&+_kkPTU!0MAUP`lIIqNl5+0mP)N3@=m{tp3$@T-5HuZIiz`%6u8ew%x|Zzlj_2_ zuMHB3%X+&u3?DS#`2I#z_$v}V)Y;YGmq?|OC7)0sp*e-D3$+@cA2Mu?cZjJHG~@wA zAkkst1b+ zVj59d{kH(*$}@0La-TbgKXuOf(6z(MMB|yD_8egf3w=_||BdE`%YsbL_-A^`OQhCc zbmmy!*Yvp#ZuitBt1Ga%>y*2ui? zhjZ(svkm+Kaqbntt7%pfxjj#s7e#~@Fo0XqymvWuu(bI&CP3I{ZxR$y(F(@gi$PMx z%F*fIp#KfGtZ^R6#^e);+Z53{{a8LFTXwx0m~gn;xH+kq(Geny=7Fq=9<-i_PIMp6 zkOG#@0mW&evP#Y?T@d5k23!dKhA7mJh9Im1m_9Hg9~H ziNyPXuI)S& zud+ISg#Y&SW*WetKBTZAGu6*-kY8C85FC^WLK7h_@*M$e{y6=fMK$YrRPB8pXG@GG zU~i$Ne+Aar($causB;y_t^~b;RO>QBc)IFj1p=sGEGTsJJwHW84-lo#sRaBeT>>QW zGRCM!$I*Jc2l%fw*ev`{_ds1*RsZ~y^7*xbWD^6sh!2Mj0@xBWh)=>_6Wkgpp)TwA zDa$;75jQ!E?*6qVd>6$5wnP%j4eTjb*+VRyx zW}!^vAxi^lt;I~P-sP)Bm(QOodo1D3KuqPW*t2*Ad;` zLFJ0U($L1CD3M~Mtig2UUMHt7PXu2#J9FkIxkNT-91B<h|%$K)y)Iqup5z2Cvpih)18YMq|aZ9msnGMw*b1 z6?C~84*Iq0p4wc5>ceoV0EY1cEzW4pjjj|GfAUrUO)r79?kvr)*e>ZRdWLxGw3`vvHYBdRJY;pj~%8M40D*pw^K=jnO(zG$$FuC{2u zziUA;Drd{|AJ=oHT)QHQK%q%NJzj5Lcb(;SgD~wU%?IJVg-`AG=FU5Ufr7usJAWmD}5fA1Vd0~R(|n0HwEng zr)J^QE#beu{*u!uu^CApZ{^U<>RqoGW*~Z;7L&ZU>b!m0&CLs(SNzm$cpBPK;4*BW z?5L#e&mTK8pSlo% zy0KIBeQsyV!-o$mfT?8*|7r>m6QS`>HvsMiWOtiL48GCZQCL(o7*dlhT64lyBO!~C zxzhUGpBbpZQ=nJy#V$j+=9(pG6v1#ICQ`_N) z@gsuF^rChc%<-f!Vn|})j;9)j6C6xHhNp+SSTZuZ64p+S3{|vZuBuFH;+=4MXG_*p&Tz&#qEkY3K0bHu-ZcTvg#(AM#_PRSL*>Quz5{*& z)ossx?|m{(%h6~tG0U&czfIe`D|y0;j9$v!5U@WQ5>?zZJ=sJD?J+!U0`Jcy@m+UX zM59o2n7v*?&dB!z2M(02sB%bXKe9{kXGVi_S3KG*``!ANxl3XlU&L4(w5upd2GKZs zYB3$plR=bMIf~N!c=z)jO0KS$L_-8m4h*UMN}q z6Bl!I^Tw-7zq|V?jaPb?A8#7}s>YOb$Vzm4zp>+^OQCf5%byC}V-t^WZ!S?=rvK{a z2>Px;y14`XEV~9Rh4v*9D%7`KvEql9XvBDqax^@4Omen=8XVub$*a~V-8`grL8&dn z$;?^9d82XtDXRI$8j8zE@BO?!%LD^zG~L*4(doy z#PTK18v6P3`KLfvJ z!P1Tsr7x~4eX>=Y9I6_Gc(P*Npkf|QEec$$xpkH5WR+@<+UtFG+rqMYU3*JS0`&vP z&+*u4Hl>@=+U8q1z76@NO7(rRV0J#x(2m+$Yh1vW&z*AWwYb+xscpUnRmPdp$E%O? zrtIiTV02sG?M;Y_4;9VHEZ-fg_a{f+#YD}QSz9w28&Wgfy&skdElxKSm`90wQ+yt> zsGUtLEG!Jt>waD2D(Hoeiiz2GXbFl}&&bh7%eft`U{qW^k*uCavvRu=U1{PYhF#t+ z^{oT1qLt4V_lV27SN!qz*#^l#o3Zx5Uc0FkO{0Z5<%uyC#TFl21z0xaJ8#cXA%<4T3skkLMv2}y1XL?ME zkoURHYjtaD>+S0qcKXo?T~6l%=?x-GXCBteyVxA2rlN4{;VbCNn)Ab)I)W8&AVEzx zxx6NgcYW!pz8oRS!NEIEQPQR__OO|=T}<);KjWz5(KKbgp^*^Lum+B^(UzYX)!eQV zO~!IZd%ZbM3`sfGpZ6-T1#G=8l)$Z>*JZBVy|lcJK6 zheAXfG8I0&&VysVy}HLB%rfj%jMU*UgTg&A7ehrG8h-SZYf7m3#)#{d4VN+)wHkuw z#HbM8+YX1|?75nYY<-m`jlgJ1V%Q7jE=9)+)@t1m1iOlqIT`6Zv@72r&# zCEN)pab08L6Komwc<*@FgVLo-o^F==OA-e7CxyGGDDji0p6)vq@FJ$R_x7y(_kYA{ z$9t{zTLfj=lzoBZ7bxB|@B%Njtr05DYMNwBd{3OzOUNE5xkOiNQul@T#zb;YEh=HR z^R^6U?##RGAt50pbxl(vWJH)}F=cdjA^TGKi&RDncue6uoDgWk49$Mc4dBPp@7 zYWj!J)XDO#t#=-Rn!?KY=X7DtTk zwnXqRD=TX|F*hQm}SU0%^uWljyHI=_Qx9^%nTU<(c3B)&*f>IY1GP62kVzp^Bw;#*gR>5VD z8BTY(w`)zcX$=IVWv>O{hUv-q^(ti8#7InJK;UAfZJA^SlD??{*P9q9FDIb#Nvq)&y-z4>Pi215#* z)dz+X-IXIIyUnV4>}?yJ=+!bLUPQw1>)@ zrh1w>T$)%0h-DwL@la*R!eq93lSLpO#r~W(b0x|Y8~g7~AXBqJ8gSnsyH&smwD1TC z*I)acnlE$Pl&p_#QGpv0$=C?e9h+lQeDTF98}y+z3nhQ@s@9=z1d;< zXI&ztDZE!x;&nDk zI2O#c!5X*g_d4q~;%rU2Z3OEC5F-Vvj6~O-vrZq+8u&rvp?&Oz`{<2Jy)I41N31uu zV*^-PLi6MVSVCj|hGYI{O|6k{xOn(`kNwn;*7U^-23pRa{RUL0>C*?ItN7zsU~8-9 zO_b(6j8>ieb=#5^aNM%^ERxFX_DxpB*faykW=TwUVrDgkt+}^#b)s{1?A1JqiVgb1 zh@w2yPFyIMH8xtL8V;4sHiZhO^2epX?UXYx&NSH2>n4xN^8tSyu=}QFl+)F?=+?&eQR<@UVFNyN#OJ$j3=%qIq@8^hxgIpFhxsy zzaZVZNFc3Zu>0aRlnoic*=$LzfF4blgF%JcNXp?QYT+ZVqD|1=tVI(ea`C$=$W!51 z)6MF<^B)Qi_4CO*+GG;K}%#7dX$mxCKT6vH%$ z7kg-3$nW%PzhQ_XBYlm~L^HSTx05$WvbZ9SnWD-{fulG+Q0eU^V-{xjHQP>0vF8;@ zYD)uihn{7Fi(f%J#RHR!n$ymew+$ZTP1faooG)L0pG1A)iU!|_saW^@rJA2qm+R^h z6&*duaL9An5}(jj?>;>_H$ZXV!y5WzmNSI4D!RIpBoN{1dOApnfkHKyyi|!xKjseZ zaUa@~@hd8H;LWn!E$TM!{@gR~E5CriM`$k~rUxjMx6jO19ay94D>U6NR6&X?GmyVY zZDWgJUiSA;expxnWa9iM?m8`B)Jzu>>%tX{^P#~X^1ECEl}%y`<*`bbLL@r6yGn-b zX2n$cZ;f^3O?45YA8b4~T_~UHBf{SAkJlvwupo8MSj)0Jc9o_+aAjGxFbu?8%SA7D zygG5g*BmV2XJjM*zosYZFT9;UH>QSn@JqCcEJ;Lj$39w-`mBPKOeb7=UXN8wkEzn( z8HPPMuQ!sq@ynq-?J&<)qwjcJh>g%UrJ-&>AAS=8|J3AE0gu~#^wl@J7^)(`3^YyE zxtAtRbtaku1uH%$e;v7-g~9#oZ#NtQTpsQZ4i85?_t1~{G#rG2s#3+56d+FBr-ibb zvx&KqoZr*P!EhHZ3_|t8p*;fr#;N*4t8T1Z4T=xn>cW35khw{A{BuFibPmq;Z7*yAoVVE;g?vN|3d%{}HZL-E)8O|KX(Ub}} z)caVu4TjzpJgi@1o>qslYnRQ}V`l9n;i_vKNyWA?FSg#qasA`^=!d?b542$eA7JE7 zPt`;Jz^Nvy(Vtt;QCOp@4T#i7@FXT5!V8l?7_Bn=f~04}O<_;=ma!ai^SbMcY*Bq5 zss&@2MCA_R{Q*?s&?>rnImy4t#^Ap6u++Nld|Epg9%Vq;rMGPhiHZ3PM-B)76n@w* zV!{}InOpDJdUp(?@p*<}!ejvf;7T{K8ksgYc&B5%mQ#sQBeU_6B4= z6mO-~69q|0pJjQY@5ivzTN5qd@fVb0up#S=NiF*3Dd^Zb)sekJN>LFWoohKT7{Rh$ z-D~>plfz?>Ne&a5tP~PB5CIl`XOg0ZGNJhms zls!CNl3a%Ve2CVimc)xkJV}TMk}?icfz@W5teD8Wa|U7nlfr6 zp8ACAaCOFy>nqq1w17m=8SLmVw9&(_4V1775@Xr`ND3ZM1Ttp(QMRV-v=Hkkq&~9i zF^f0`!NP|%ISf06mYZt^e(<<&MS2uC@Kj8B{q$7tbogn9Q;SHA9J2TcJ5%wD$Xdg>aO|8Vqkxl`;AVzNRgy zDy<8KlEt}CGssc(FjP_t8BG~ZwHtOoEcZmxIbSDl`gia(-A2sZ?JJ#JEZ3-$H#fPh z{Mm?pfQi9G%Q8B$!~QEy;Id34r)JS#xow~LR-_`Q<=T08nR2w4(vLY#Zx)9)t8r0D zUUS$MCMi#8`l3U-bsDv+oTG}ITtLM1SVRSZ7@8&R%TJ=-6s(3>K$t52e&t8 zo~d*KC#7to;n+S^5f9g`@cG35)7J=%?SI1YxAl5ig@6jOCy84W)uJRtR+7Y^J0L9wG|-mY?6LPwRASb;*}65B3?c|3qg#!Af>U zR~3Kz_U+0q{1Qs{^`$nI_tUB^Hf1mxaTVm1rsS->&TT}q1wz4d^$aCQjr>U}Yn>O6 zHl0}in3(M6zdum8{Qwm=$4+13*n34ODc@vqU{2Y*pVYakn9w2Je=NYWq_z4Sf(kx} zUr0!cMnfzy7;)0j(3oF%Wa^~SkvjM^isG{;592pZi!VNBa`w;?_;b&fmsv~mG^)BC zsCpjv*qD83bzwC+&a$0`5pJ_COzY8Tue|$ zQ+hjIcgg!^r4CE@JF+U~A$WAma?RS&gNO?7C=MO0&z5P@l9DfbrjcIBJj0&|YLtLm6_TuOrXda7Rh zj-@>(fD3UinHs4R5lh+870z+NJ#^9|J)vs{pCaz}@j7i<^%Xl-*Kk@B&pB34Fza$R ztk0;iKGHrRCPuqvSXhQ(pXF)MI;q^0QPhwZaJ$FWs&vFTXGgW|bp7}s+dhu6S4tY0 zjI^?HSa5J~0bgG6xxHCt!(Cs#d=b9dAk<(fkF5pX;qn7@((fMD-OE_#WO0>sTq#EHmrSmXyh$DCfKg~i2Bvh%%8X7lKNJ7D!I=^CzLZu246D4E z&pD^@F|DH5v%1*i7(@3{gKD|kQtLxYN|!693&}{l?hdCn{kpi|`38Qr32dsGvD`z} z4DSrPX!)Iyw@uI9{K)y0CduFqn@o&};k_E_5)-pQqly@qdB~2n{Zl%^%#F8L92cXj zj@i_@&Fam4^UH0irRoVrS|KCic$JK&!Cuu~%)=v{0xTRVFF>yC zF-FYi7?4uD!D8$q;H|K1*cVQTdC{CMUV1=NQ&b&uGihzxCNJ1Yx+K&zHP+i6>)hHA zUKL*V>&82mtiM>vX{`w{7L6|%=WD03Gg_xc@|bDZjYnp%ZM6Fu?aEFf7HWsmXH)ZJNuh-+ zEb@9B#PrYbrk8P3N7ujdV4EG>;UYLR_Ls-1RU~sJU;h(7^iV!R^S4av+L;t{F{|MS zt$oz!Wil?FJhn8~zGBj;N-WP;H^R>MHV2h- zqvbM-arOik_0<=}6RJ-MmZW!Fl=)|wkImK%GU`=N6S{_+a{!NN6bUesgo=>ThJpfs zL~!g;QVVoymdI!)zF*9@!LW|@c)i39xt#&qXYXV`75k@d0bk(up@ZP*uFt3&`e;d z_j?*+5{`TFx0yJO!mf@khU@Yx<9fwfd}XAjP6+S?ngxxoTwimBqTs;kJ6DDUH{hpl z49TnZkljvth!-M%&@acOEh=(f&fhO4ME;M_rant--#7IyU3rXiZk!Tt){OSEOjA6w z0}RM8#9wUnirbGr;CNRMN!t^=kl8AWrdJ{m@|PP+&deNxyaL7Cv&po8}v* zeqU$h33fIkSj_tg;bbt}8{kB$H16y9kbcaS)S9lfP8TMA=)}s-KE0p>xV{t9~PJ%*J_MgOhakNIZ4RV_-j(PdtM?K}E2S$DvBntJFPj;R~#$$c0u4lx^`Op&2k|q?5G8%{{!s{9_ zxRTu?9#zw|>G{P*>6;9ztOiS-!v3CNXDIoMJxZHTo;JTAddA;Rn?vWzpB!fSr%uK+ z!8B%HW%c+2yMbetMvE4?5b_^B2}i@rXK6H8;iqkx;-zXEgIIOpFz0hFhO3x1|N2at z(uF41yQOf2UAi@z8XB9v+dE0-7+8I}KDIsPhQb!x*eGOB|Lf+Z@5G{c-^_v%-ld>4 z@zSU3w9EO&&8*&19MsBrjUTy;&QBE7HIz6Z>ajn}$;um+vmo70hW+AJ&I8z)6gBj= zKI0L?M(}s)VbL6Rp8ERG?Kr(%h3yeNs&`_Od}p;rkAo+NO|z=K;XM2A@$LVp*JOX_ zfAg7=&>SFN;t370hvn3RSDX0Zae39e9`E&CqUPh1T(BNQ3lGXD zzQ5-8W}ZVk^mK#Q9r1qJQnje8oTYYUVVPLXUn8AE_S^+j{`W^S*iOV~4(-@e@!JJV zWWH#;#D^Y8jak`!^L33(aOaRVlHC}ohRotKv?yH}^BOz7_0m;6Yt?*;eQXZqTuLe% z>U`xg>{*k(PO3I0`y17~YW44s@=Z&_H`6?MQRmsZoNe(j2Qpaw_=pX@$?HDHnnmCB zK7!BMX6IMg*_;*|zVd~3k7a01Y}MeE86G$8BL*I|v&`y|TZUKdxO=5k#%7I>r)TWl zwL(^>Y>M0yBePMMLomMNfP-`J8JhV={=u}p+B#}_w9m1jU+nz)0}gR;7=43h^q|on z9M-h{6Yp=&yB>#2@+Q7gY9*qcyq_lJO1QJaYAmEABu?r4=Kec$daONg=Lm8ank)<5EcxL07y*G71Nl2F zPGZYOx!7ge`ROPqrdl<~1T%)DiT2AX46R%Tp2YbG1z`572@^Y|q{w4d7aeq0hOmayotoX2!}WCnTov)WDna&kbi*`(9!563N8$90#0RIjJgVOq zYEobCWG0Y=9G5~rL_FPGlUx;^9j;Uq&38Ec3qNq(uSu23^~ziq6s+boPq`W&S`yqT zP@nq#+-JLbD#Xc6FW;p9c%b(FwPGRYd9N*c?KaZ1QiIQ-Q zn)sN^gnk*Y6kGw#oiL=Vli#)20N{(R+R(2tFM(4n zXR~CedD6YSoJpc!=b&_o>r1mjJqsB1N`3oJUH)ZiKDY;D%WKuiDxZ&HqFCOL)7Y}< z9iZzf84VP4Qo!qQV^unjbHe80PAqgpQvCBbHXr>fRti>a-|&}PwPWQ-aI1hL0sy=577i|ic=7D+tUG+1B?=%RZEfc0`R@+rxRwmA;njRBF zO4SBSp-+-!Svwe{`c-%?YWZ3Z{cNxgXtc2%Fkq#3rko|B>&Kh?qP{hlW^DL;oP*zl zwnV{LbFEF{dTgpM8d3)SFG^Og*?4AUgU{o=Y383BCQo+wB=ac=-igmGnq|F~0+_fC*p>8qEX=6q1(x06?l_5Tgu)a}vjFy;0K@ z*t5DY@D)|{>uI&cvucZ;!4qV+cp3~E(JV4pxd{ij{PWaIcYXDLO5^?YMg5rZmU6~E zZGW|xGrQ(fJj;-HcfYl%+t|C&I9!pd4;_E(IV3;%7Cm&N zrK%adlad}RrsMmEMH|(QE#a3gmp~CTZbl`EE>W}I-rB~nYVQkYfnZ$Id=|E&&ULzl zJmESo(1=XDWtFg(kuMd%RmdZ2(Hq(N-u7*yPVDQ*Os5xPE`qi+8uEbPw5h3?l~@YA zV5K7zXOi4hbI*c}O!=qX_F4S=#~LF_fh3+U7>}5OiUrDRRC*%(S6`DnC~eAyv-9z~ z4uL8>Pjbb1M)YS^QP#t;$E2nJ0b+SkGO=Yk^xRB`Yg?CNz5`?g#*lE`|Jw z01&>ZLSE(ZpEi{ukrdyi)7L02SJ+$cD$bkF;P3ltr+lU;`{?tmFB9(zcdC4{_Q$3~ z>=<>d;bqeW2yF+4)EiWHYU5GS9t18ja#nRx($&n=6gWZTfP_u}Y_ot-*J90t z<2HGnsthPsJM>h%6!t%F!(DhhBxS;{!d844NmJF$YCsAK`v)0iM|Gd}Agc(6tSPJ=5Iig|6VIX%Ce#nr`>#El zY__vvH6B0vE9bn6;ULq#Z2zoI)_0+Ny$fSCQ8sl6+w5BPlvcZU-EJG&wP(Q4{hX7& zQfi}}F1ij=uM`EA_5Qi#yG487TY1x}$~{>mzu;L+a1QOflHnWkT{w)a44AK9)TgEd z)>b-*6(A<=xBQ1GLIYneN3Y>z7NJ~xJQ(^Ceg>WdDGE)Ezdi$QfH&s zITaPOfovslGlHVT!`TK{oL1@%u&BzeAEQ>@T>YlW^U*P#(jEi-x$ZnyDs}dkBGvP_ z;gc*zmX9QV|Bq#S|K){#r-5;sz4dk5{EKK~FL#w3V20FBZ1-cH@4+e9AB}=}9yXQ~ z>iCG5`%XkQwAt2mX7`pGY~$H1XO)pL)s>btcEhF1sVc#-Y;Sn>qcSV^tk5ocnai|! z{7MBqapyS0%*68P;dq7{V3qOjHMs%IY`XFoS|P+auzRxTQAhY`ZZj`P#)ya0)USxC z^`OWo4nCwSnH5X`>t2T;opM5YO}^AOSQmK0MqLo>ypAyZmRm225Xwjw$;gnj+CbT( z&kxA>`S>=WU%Z!CfnBlz)FLDiYUL*kJEq;r_A){&2QJ6w98nvHxVLUlF*hjpE5OAX|Lbe6p5 zdEFbW++$99vZ_{-n7?a~fRD?+&*t64Ei&<)ZoRs}K~vsoP<~tR_pm2Zlhcg$k|OU8 zUk%z+lVYZ4d#{E3SaeUy+{xBd<3UFsTe&4;DT;I}W_hrv{JA=pS&YLx8>RKddb3gj zYr?kp-jed1bnnmQu5o>DT^;$|QL?nQ#^OuY@W6_^{uK(pp85@lxetgD@YT1Cd^dPl zb@;FoI)Z_OEacgaVZU({+H|`_7k#%ud3R|<)Rl44y-}{lBGawz6W&UbzqBfz2o685 zt=VyG>L5$y$JNCH-DawF5=-!43-jEuOY%2d=*(PQbZ6;UY%i1R$64R{CXJ~ID|?&C zoSd8l2#iH3 zuyN2|U~Y};)FG3p@v_Q-8nr#;c{HV``^xnUJ8bK^x;xiS+qj1bH8~ok`GJaTVFz7N zF?CJl;V-iW1*b=g=wKZ!S3(<@Wm}~oPdGjw(5ChULqr~@svo{fr-!B#1SYcUCZnavb zRMnfXcmYd0O|%L{kghf1h`3MpPAel+mmq(-(qjOEOGfjRxdW`cX_f*6dU%gey%o8B zZCLXPLiFJYj{pJ6Ed#Io`b`2?8u|ac@yt7XolTJ-Enn4suTSOU4}lI!dB59vYF}=d{y5E$8SA|F%&%Uk>8NS;fvJ|Eui3xo=hh7dPp+(RFl6b) zYi|4XRHS%QTD`B(n2%7fd~d1YlntVGxeBXWB&8<;Y0|PgZ(ZKbmlr=%Q_tf-2%R0z zBwWoKCm9YBe4LK%BVi(h5gZO4I_nx)OYOhcGEM1In_`uQ+jx*vSI0$;#x1@RollM{ zSb3+GG41_Ah0YB8$Z{DgEEmnYaLIpCz{a70F;d|^kz>$kf83#OIFUz&yPnILFUS#8YlFjDEXZApu$A^iQt5g4;u0f4+yW$2{az*(QTlpE<4YuUz2i@ z9CH*tJzzMspU~C`V}tvZ6&Ca>7wH62vAe_Cycs{+Yuqo2a?`eD*3 z;%@6;Rctq%*K0pGt(59N*L$69gL_$GzU!BxK4#s2b~LIqwB36ls-=9+e!R&2Q)mri ztguIIv$ExM-S*z|hOx(JG^f(zjlR%lPzp3~Ha8f0yzCh`E>DCe&&0%(kXE{J>ZGmj z#22l}FWL4LXnMO%_3=z!*s^$Bkrndou}#1H%KYD@rH2IESy?XYOZKkBzm) zPFiy2q`Ai1W5{_V@-fqUdemDQtvS-MPjsK`BCdOF@cHRWh5TmXd|jXlR($M5mtEov zXG0>zU=iLJy7d#K96edRkR~X*E8n=)>N`%$9(Up(k_ls%;K+rPR6CzPK_W%oPJg~D zQ+6{am831BA^qImB1F`#N<_miGXb3f?HW6|p8mh&^7jo#sN_|tZM~VG=+Iz5cW*yy zSiv8yTySmM>=Q0VvKcO2U)i$-rbQv7t+qnvgdaJ(L7b1FV z;i%7H5%Yo3T};<3moGkhI!1agiS=j}nYdhir5JVz)Vk6iE95iT*&5By3AUCwqxG%yMVlb_a_ZYUupRVV?9M0;%CQt zn_RUR4XK+1R`soUj9HMryDMzVqMqo_GpbIfCuC_qFe!Pw7c(~Wut2ppbR5~E4 zZ;HrplUmNaME;WQz(H-@0=UFTtt;zp}MelDB+@PA(7Xn%+6=f>zB4ggal z*LM#~P)RZDHT;j?SjrWV?y#O9R|5vd-Y$zM4}VKE4k(?N467s=jn?@{DVihe1Ix~H zC^HrCC{F?B9X%AV{PHl+M#x z9K8(s?VQ@=qkEMcbH9x2Uvm<7l~kuok9fA>YT)6XjkED<8`v*klh}m*!U;y}M?R~s z_@%z%j877`X``EYCo;XUZk*(oPHm#qW+iS<&#PCFV_;G8lbQ~Tw}zj#syZ?~gNpTG zFT+Um(xLD!RFG$dMs1ZfY*C1Sg|2sba|Bs*9H=Sn2Ek$01=R|yOzyDwCw?Zxc z4XI-v?8JL#e;t@@^!po+IUN6bd8=Uc>@U%o>{czT^(xGr{S~w@|Mxfld>EYHKWp}n zX<$42vz-tJ{_z^rKhBY&{s|})^-tWS{z(u1Ne@V(_)q5e|HbrxMS50yH9QD4x%>Ujw-Tx#$14><}RQucJCj3PY zx1fsmz0UDS@3|M}$5%(w4Q>-*m)r40lJ-q@wVt}i6=PXhBvP#lcit^;H*Qz=1x9_> zNSBc_HHDzDc)EuVR_<5s6z*Y3`Vi;G8%Hc}tcM$K20~-%UbN+FJe{iTDSdV%wda%^ z%j}hc9{%-v+rO+)FH7%-+Ayy&;l*!ex6ccMW*& z{8!eq2`YUjS3UBCGmP2wCn!FaBHE$zd!t$tk&nG2ku z);{cYYyW(%;nT8HXl>Wxx*Yb3f%SG1?RXiBOiml4Cz7o1t)lMO|+>?Xbh%!vSZ(k&~IDB4c zke#TmWS>dD|C<+s;lV<}uFf@U(-FGUFJMehEQFGd-XP|^8A*Rm3WvkWy%WHA5-`j} znViYEOt4*L+#?j7h_lze0iP^$7O#3sDBSyQYJc(K?a|_Xd`DU!0r6Lfv>xrF)-frvEtgFy}`xz(2R51CbU`oMQmUBkQI&uD|G+b}o zSB8%zpX++_8M%6`7FR5G+QUe__nMORS}wRyv!9C-c_t`^MRDDu*~bZctxo`!nY(kaazQ?W#b58w4hY!JEuS;c_lSKRf(-t06q_TIt?Vx`WLE3lo_g!X zn)$Fb2*=|XanUwlsU3KdS`fn7yT~_`TWqky+6mdlKe1UE@n{!ia;BerE#U-c)f3<*F z7(F-Wgp2u1?aY<48-*u|F%h>nErURYDz$F`N!dw#?n+=*x zw8m$XQKE-VKff--qi1y+<+5((NF32W)yk3R>r#pQ@TEwjKa6wib)k(sPo8Vqr;^V- zYQ$3)tOl6~4&P1trXAh}s3v#ArJ$XMbl>x%gyzD9G(YvP4AfxrZzI=AA63y{cy~3tqd_5cIcr zWxfwle|$A=(ietQa>TXP++;29^$1U2iZ^nz@y{5iHZhuxpK8VOj$waJZ_UE8fg?gC zBd-*f$G)4Ccw^!6Rum~*GvkNWmXrYD_mcslYl|%MfOxg%11$kK2{E5#HM%6Kayw12 zc&{;su*;^{%FJs=D-0)72x*zk`II~P$jNQBGt0vEI4no#Z72_ax9oWf6Br}AiUece zll^3{A*(X1ctwBo#0}Ts+tShNoqoaqnwexM7K*7iFTAOW*3j+WJwalh%bGu~QTq!; zigh?5Dcih$?ik0?EdIV2Rh;4_gGz;DOBA`hc6y~L$h^qqZUlcO&A*#;Q8s;J7DgTV zt9xqkk=CHwo+8F-`fk9Psq?TFd-j21QOivnsO&HPV$>^6Pgh|Q&*+vN#~zO3#(=B<4J0!CNaX( zQ}hO{oW_V;bHfesPUw2~$!t%*p?aYf6+cvDM6JO3O- z;NphYV(2buJJxb6WXk?cvV}}F`tX$GmkZL9CPV4b@%JYpbhOY<4M_Fyv#U($hyoI- zT-SMrL#%p-RhCN6aM*WnY2Q&lE@wrTExG7_nYYw2ws5t5KhdDxiK8voSVg zp(=|Lz#}c}MVlnLqNA#zF!^jEsN|`=RGYlRjpA@8vw1T0(_p8pyj&y}OShh`mF3A7?KhjU zZ73JH#D++>`G`g$)UF&@e_bhTa6+pz-%w$=c7L)<&olmp5#kee{GCgRF`)G29>(A6 zCnrh_w6Z)+VkGU)-_$?1`gE%!X!V7N4ij=2%PJOxih^rPD7(H_`zF@CR`ya4*^hD0 z;0db4ZZ0HO;f9NbQh1+6VLse;M>*&N!sF|1zh4vIi5YfUy|hXQjcc>(qvGGZg!U^T zhv?9FQC!BvJxi!&aia+KHDs9{cgRy?7A|x@RSe6CAb+kTIN$PhJcvKjL1K$ytpb6z zgnM)BjZ=*vl_P%BGuZ&vI6hTXhMvPhcmfiS-&wEQp3Xjus=@^cJr#SB#s8|Zt=%dw ztN1N`Y~UOp)z#N{R9sw^^r{&8GB&G{Z^obf*`6*7NB9s&b0&CS$|690I2y7Hy1Nr4 z6u4#S1)|rdkC1bcPZg9{MPBDardQ!Q*IKh^kSziXnWZ=5NLP&b1p-^-r@#38LTTLE znF+)t#-Z!IQhkjAKfl=Up6xA;cj_U0(EgWE(td}l){z;%18;YMZSBs#BV|IeR(|Hw z+0>jJ?ECWZX)CFhMUun*#;Y@u!`kxCV_PxD>4-{}MWvTPP z=x31Annb`#Ut4&+y_q2@P_9+~J@6auc7|vtPYef&lp~ga=SBN7()S)A}rlY-bU-jXPa<6e}9sc7b7J{ixVpz_^{ zHmDgZ-`DU%=xfTH`muJpb5V!q+a4;$aFSJZnsfF$#%Z^gqQk*y3Peaq zdCte+Su0}Pk+Gf}8{eFSN6Uu%65obJk+(<0a@_@C979sC{&S< z`Yd|?t;Ias@&7npFMOjeevn^xk4oJ_2S;jT@cmCb=0@hN$+Ho0U6F0Qc|6Bl7l_+Q zSe^bio98a5mPPU;X|J!EI3)RW^e;>(=cDO{)>QC6u~O=pMyZR5sSZZPym>7^!||M0 zqQvK?jk~}w#Sdio#sLFnas6BYqLKmc2yA$tUFmy&#JuXL1T;$&;?DTk=#x)WWv%19 zjPR~s>e`++=d)d7J1KP9)#DZ+IbM=8aHJ^dK|@(f3zX6w)s!UUC|_DCewV^-)C(U% zGpTzE(+Fpho1ZB#V0ha=|o5@&u>??sd+h9?O@4c@Oiy^}CB=Mjq8cwMi)zg}TC z&<3COjgM0m=25BiekFp05iW`)S{H=u*Ydv#9yct^K4@zQe4YqGPbDR}_b%gLqE8J4;jxc8zk{Z?b)5S~`y*(G_9&Vn6f_*S0J|EF%e?RN? z`%y0cV8=0ZPq7w1k1YIW?GTIYI>vgj?80iRJh2&)CY2x!Dd%p$&sZIGe!qpyxa{afjmDk4SSlYvq47QYkjYXNO~Zq_5J5To~fksChf z2%Wk)dafDA#(l-vaDnElQueoloCde?7goxV#PDqkKYCo1mHz|`k{GP^f03O_d{XyG z2h&3+&wK#Rx8eO&8h1mlpd48M?l7Gr0x|Iu3eN$(t0s5#{l$kv%b{bGkNr-G;%WKzE4^(__*4$E3x_8wllQ<=? zB!KY*v-`?<?dIR z2h*>7RM^gd_y7Kp|Jw_P3S2($c=8(d_y6y=s?Z`;?}Qgdq~jO{6HHaJDSTIwHyYz8 zyT2H*N{1RMoWa4>ol0w*8NuF1QJz z2Pc{0Blg=&t1Y{}y{~Xl+_*dAm#^3#IOq4w68{GG9;t%abTOvepy|pn2?@^T{C&#c z+<=MGz~%vz1kjhm>*m>aa}Y-8Ic{VRZfxJCXI9Nz*^BT`45b&_>6K72uNv3Z}V;k-mer-CH6c_J05HT_`N>Rs~4i@D>i5DQ7ckMD0DsR5-oM^ZZ)3koD zBou2bSMa)Pwi`VTe%;N|btwCYRlv#3O`j@5hac&>w`pT(S?p0;Qdn5{n=6L2GJAV= zDGfSbE@0>W+vy0M%YL~`g-+FxY{@TBAr3u+GiVK+0{+YUMrSlDq(NT^L^8^(ZQIii zFELaTLtT5>ESI3hJ|2FZkUwIg;@k+39+xp!yZ6`al`3?2nC!C3)fzIXGGfIlCBNH^ z+_8}{M5NNnWj%Z(V`k>pWabq1>f8O)zYK0BNELLY3pVM3D5YM z(G$W&b0@-TmDaqyBl|Yi_=D$AurHO=(xyT@|KD5t;SJU-4uh8&UA~SSzH!PD8QLN9lKjd^egEmsc zL}7yv!(uEl&_Y(OZr9AwdBR7KOiuw3Me4LJ$n)biP8;D{RcTybGd9%0vB;G5-6ZX# zpp9Y2XI8I*H$Tg@EIO&uWhkz zFSp=4+Ed>?CD)L)Sq>Q*Yho^uVnwIm_d|=Zl;7KN+3_kjWbx1(ibL->yCZI>-yR!z zfeMhvcEL$kJ=BnvG&aoixv#CXbmaP}M`!KMX4(RBU#RUu4TE%(PDOWmT)DpQChnpH zhpck33Z0L>vvckEuFEx1pX2XlI}PvgF*Y|2K`s2wCQ7Zr=dCM_#4kg?x$u^6ZEc+p zznBa<`kel46JpPRugsK;mfVu(N=Hgo?pg+E4TesVCx~4YIc;jURwkw=84{Wf&R*SD zh0^i1IaS7T$(OllCu?Pqd|UMKSyAUoXPoutd-nXp`Sm){cuq#p*3y_$xe8Z--Ii#P zwWit!>j0;P;>qU31);MWpX){UdfCy2L?1!@(Z2#j0l}_lNpm%2LFuen+x6O4JEwR8 z*^`r#-LKK zZ+#4hz90E!9{#c7O2_Dyb*R?#>8A8D#O0`r*0V|GEd+DHsYz#wpuFEi3E%=iy|rrM z$R5abZe^Zn8HZr{@Bqhf6@$%!o%%u&bQ_Jy&Dz?!ql!9jQ!qaGex73(bEeqCr|P~` zpyT5pdwf4Fcz%@t{S>N)Mw4{KB?JLxmbsfE}ik6-JosJx^c_mgJD{s&BAgn_0ED5 zpQt?@PfVT-*Q=um0DOg(0BEUwY{5O+ry=fV$rWvaAY2|x-`~vIX3BE&u<>(K=W8TK zJ5otEEhRCweYH{}qgnWN=JJ^}Aq9c-!Y=E_g8=f`v6U&VmBlo(tg-nYIrvmNKd5Fi9lRvv5f6D3}%TSU%v0f^nzk}oMD|kro~&3 zn2k@}!9;%zULnd3Ng<`K=DxiquC~>#)?o1QEuJ4<@1SQiE;#KR9$pn@YMjH>2|(En z-)Tpn^g-2l!}XSBZ%hEzlk?x1QTfNZo0NA54)Q_C2R0tW=Db$a)ijVKsSP2er zK8!L?u^P(C%62-Y_nSP6Sx_>pyPjw8@EmK-WwL zLZnJLXZ6@%DY7y+Xg9I>o0{Ex`>{W(+dr3~ zmID?GbLSQG^_eOHE6K|1Mnj){G!Xe(j~nV6th}?I&tVBb(UNOv69=rleNUEmcoV&l zxd_b=WuHpR%+PBg=S{Xsw{qRO^N>xbEW2(tgnU^&O4;^I94z|jGbmfS^zmq0w+Is= zTUQo*<|e?rNIDf0`=IA|XSa6d!m+eo^S$m^MR{wdbs!TZ$k8wSRQrsxgVAn3d9*Kj zT2Hj}=IoZFdPFUJ`5`E0^QL_faxU*IE#2aPFA(j85_ZP#o zfjUlgG%X>Oz2qM(+V%$8wv6upX(@vcg$14agrD1p4{BJplD#{MgbLU#AZ4hp=@?z} zK{`U5&WBp;8nY_))pUxKvT@e7J?d=e6WlNEdrWu4_4J3^@qO(t1i&yJHxFz%Wrsk2 z{grAH%#bfWob7}#>1Elve3)6oxLSYz;^GDIr%5TiC!NDNj5qDOI~a>QTy)$_MCie3 zy{nDUfE>8W)%BYeSTD#>PuMMw75?gEJNT|ZIK)SLZV?$KWr|nF@+>VX$vRrKm|rTy z-nMd&Z_uiglcBcu+BRFOuqQ;`94)xOuM!tCZ%H{h&2F~N2~EzeGZV6I79i%3i}pn6 zcZJQ`!)8CDm%m{4<3ZQr)uwk=6a=By!aG)K@swS*cGWk6L8RX`qP1|*C9()lHz{r+ zvRx=e51Tf>s(0C1+n$}YQbVv{AZNVpnV^K=Ht$XQ${OTt{m3CigmWXEY@L~dEg)GEFQIJ3r(1r4v(Vguh9}J z+ds_5ppMBnd^0918$*(_AWbik2f{zYNGlF?)sBta`Pi`U$EClLY)L3Z{bInhHcl%& zrTFJZ8)-1?+s889wEW_@nbwieS`sGXkkf*Z)XsL}1iDx!)A|i2RH>1P>O%)#KCL39 zjo`F!4F)w;PxZSi{6lM1nT2!yxsOmANL`)ERcaOIf)}67h85p!Bt+?H8Z+`5d3=9D z*;9-sq6#hQB?v#HUe_(XtNVFrJhuV)ZmNE9^V5MZF~$CbShwlNOW!OO4<=9X&wkNj zg4rO6sy5gy(Iu&3e+s6a=xj!T+S(1fp~em$*2a}X3H+wtMZYXobQ1C=ffBk67-;N0 zItkb!lh7c_F6X*u1?}yxqXd`gCavBr2U#Mou{Se}jXVjWCK=nJ95b(tz$#NZ2T8z7 zyl}F=Zqg+}-eEI|RZDE@)5Z?Fd8bcA$2RNyr^4~p;1=n_AgvHfR~5CX3gx<7t-4=Q`Q^ZJzPG*d4$xi0|KU1Cih-0U(QaLhO%j2)r4 zomZ-l-}I`%%=&=FdxV;$ODC9RyMUR_IS_MH6K-u5(tOJo>vBzXh!cV^?Q^#e*KJ=!p$Qf> zm}uL_p113pVi>w)MpTyOW)>vw8PI;0rN3Ir>)HOi>dds0LQ9*j1bsxAdE0p&GPc1r z|BP<_>isCIOz{tMLa`5(U7ZilhbTOz-NoH@@F(5G(rfUUoktDj9W_;3jy9h-6kGOf zoF3w!Zk(n#K`3sNM%+|zc5SH58z6VwGQr2>2PXBwiNXd=d>=b8x4iWBGpm2W+d`IP zqx62N)9(aOc(IaZQ08`nl#{*o7V~LmnBPTkp-L44clk~&OONTq(HmyAXr=C;UHnRs zCe!eN?eoJd>Bx3wFGn1HYsF$8sd8n`iFq{`T?zkl@)GgyP8}bSz8zoke0!%npeuzq zI&g@a>UPZ}i62kfYpG0QMyRd@TcsB0uU8p&B%zgm`E$%ASUWChjvJ5#RuT^|m(9~u zC&}&d&{Ef1E;~ZP6CU`rf>X0me>f1Aj z#~^-jlfLeWC}1JR%#*kOA5N+fy2|9IK>ys=zxa}K!74S6ME~IP;VYMl=L{mF-G&!W zI{uMSogrirb61t+o^0bW!w)Ipe~2^zh+-Iw-8VKy1 z$;GeHlWGeJsC;@WbePY2pjybXvXR*<7+pqn;&Uo=R11*qt@K2%ml%4lY?WRf=2PGL zR(946kdPItNC8s)+b7sr+@XD0Z)H$}E(PfvbDEj=*oBwGtweco(4tEIW5Z0+A_rZT zn*$~%m;EB4-IC3S+Op+BF;01AA7Z_CI=A_}+%HF}7ulP?WT*+;XeY|Gn{%jH(rsIQ z)yVWPNXrS5aS_NC;7nq>jcavAVEOw0>1BMD(&J7N=(N@_uFmYjK{~5=XL=@?TwzhByi>5fO}LGuYCi}ar2gN^KE2yP?=R*Q5< z;v#h49iREdK8O}|Z`;qPD2Swd?$b_pxh-GewxEnE>CmoP`ed9G*Wc*$PCRSBAJfj3 zNQq98a8a|%z_!6oiZXsP+YtfyHY2{Wv(pz%rsrF6ui58`Qxs;A>?uX9QG*q}KwHl4 zr;lmSxx5t6EYd=3bp@EUHg%eD!VSDa$L2F|GnuiIZks>ZEw#{B2bVzM;owes229zk zmRp;0>_3y^DoM|}_DC%u(c;YyOyNTOTt#n4@)j>f-ys-vUgaL-FiQbX=?4MxSE*vp z^Q|E90Mr0ovO_rcwG)E-4i(zph`=+d+NZq~2qDqsGujrPA{lTa2W<|}J#Jy}cF-^|fCE!(2hLcpk zsf~pNsy`<04tb_y@5|enjtA9~G-Y{#M2u$!=^?^hSpL#!GWG1S#1F~rsmArglBAxA|TyB|)IH7anmh=a-QW>ADOn8Y|yV>;-v zxonbd} zxkh!+6L`?yqxB?ivxdAEqavKfz36SASyTvX;$*)0ZU z(17pZI5eS^Z6{r5Q=_9fGkV^#aTi^$Pn37mh8pmh5pJ9JqYd#JR7&^VX2!o3Eo($vU|(t!pyrNDS)? z=8nHLX3(tiLFNvft3~Hnu+1pRd%Kf&IWEooHXAy4&M$CxP&;qiuyhgY|5qgLq6>`~ z$hn>LZ>+U@$WVp zx=5aQtQo?S*)3R{RCF(k!-F`_kv`#|@k7|5oJ%$CyCYZFfyy56xR7V%lJ?%vI}iV zL|it6u%5#Th8KPfLCze2gL7+sPb<067dzwLai_cFG{}gwb{LE$_=Qr}_i`$Y)i{*$ zZG1oQ1~h@FA!0T9KhyJPZe zSb!sSKb|Fb?3@iUC!1=<<-ZmQ-I=$pOq{&sUjxxuEc&Li7olpY%b-}H5kxlznPA4h zxjTCK#1Q*d&*${xlFNkbT9x1Ztz?{C>#5jb!-^jumS5)~bFcE$RuJ+x+|4a&7JD6db0WIeC>s&p*8&eXmoo~SFBjU75*c!G;(EN?Rx)A=w|dS40<&B1BOja3 zwL=#S=mIMGuI__6#G?qmfw}a_e`b0bfVyW%Y3amA0^NV}>$vS|da=p5dnO9BV0d^~ zs%V0U*X4Wu^s+R!?RtszDYLBC+dB zL9yTNE*Sr*JHTclc)TZvB@4L!#%Qgs*ca8zr4+=2N z&E1%MGGU}%-_3?nz5%eTG$Gf4*rbl|Y@lP1@T%mAMUQjN=;Q&DG-d?^n9G!^`tIGz zV|yqjNr`c+fErZruB@Wvh!@Nm9SX6i(TsP_T{Hd{W8!ISrV(N>#Ko}l*P0D0F(n%t zgG++jKaglYwjRlN2i)A|-*M6j(Cr1zmu;&-Xq1vyOYYeft!GmAYgqoY-xU+`y^q_} zR~{d(E>F6#23gQEegDj9RU3tn`du69daQ*s-)yB{0+9UmKLyy~Uf7KWV$Xi%hblil z+;ci_$+SJ(?l%HixxPL4XNuD%#qmJ&^{dTnRAbNJr6ka!Ecrj) z+n|FBA1E2&!t;udC*+@Q^zFB-+*jB&ZQ=vabnxLPok`=gb^)AV_x@^SM)2-{Vg;<< zkn40o#v~?u$dW2}7K-H0&CR|4KSRNi%1ZM*a1j@-rYIk1{BLD^F#0|32|v{l==&&g zFS#i59NcVY&y;D_x(sv9>;Pm`XTYEMfI>29$6LUg`~c{5K?zKA zZGjFL0N&qTPGE2^=9ms9?E-|Ho-@xb2T1X&hJg$4t@kt{gp}C1^kl1khV_r1pHpy{ z4kVl$kL8K)|BjcRR#n$6poryH0(PSQ&44<@%dft^K8@Qx3nX}#v5y3n0|{^EK{#-_ zAL($xz8~QBws$M~mF1_F$j~bC&!9X7y`ox4-u49kdDeFEaR59nE}&>kzw>& z)@bqFu%oAjJ{Jr%7WG^CHdB#0Y?E>L36K%+_-}p)d-1cvydBq~Wz)&qM$o$Oz|1JvduVOjgl*Do795q%rr z2|fU^1snjhc7oC!a96nZ<~Y>#HeB=*9Eoy8i4v4u4unx)B7+LqSIe}4O(!IrQ+|0) zPEK&}VIj=fg>JvKgf)SWru$1&g=W906sYvT%9Nl+W&-T^FVfWU5j|S;III{Dvp2unGMD= zFkW$uqA`LNz6=)?Zu7oU15@j5R0TGZtaJnoVmve%Gmf{s}f2H`&U& z5i01BI)^z5G=xJbSKba7WzlbDtYQoi*K?_SE)Oks!{a3!AM){vIX>)~9 zwFco<(EDv3xt>JyLcCAH(DSY|F>=u1lHP~)1co51 zGl83?sK2dCxAB7#V%D{jxhga(!wnBSkl$O{-8!tyXU&l8AcL2PiZ@EjNo5)z%8h2R zxe}#-Ef30GpfF>?_LA!oRB~YUKYL&g6dPZ z<}6YsK@pWMk?!5S37h7LdmT>d{QSIIC6*T0AFsoAUvkBn9$BEfZeCb7+}{3k4_fkEe}633YmBtW`8kOB^Q9oOJe4KTM7V$p zO#>@}q4_SIV#ldZo#l$e7yOm?=fO(W5>bfnSD4F4Y;2k4|LA-(l+bIh-z_neXqW$& zrvsp8x_6`I*J^W)s%WGw>e}QSN}M0h zZEU#)u0DW^!u@c=O4GBpHR9L19?CY9=vSF#sOQ5ZqmLpOZ)!CA4-?y!gB z`gE}>n8@nij5W9u@0vD9lBoBiF%VoyJ1$H4U3${gVI(IfRcQLt=uqE0&9HV<;x^&f zlWhpHm0O{#&|=YOXI-9W_#aYX5GE?j%}kMOiD7*D(_CNXcor}FTR>TsL|8|>>*aEZaH?fZTxlrW|YgSCkNET{mY5BB&U=uV*AF2MR3kfz#{ zneOK6tz7}1FD@<)$9M`p{N#02!3f_m|6$8aN_3xIgO!#HX)$BZjZer2oYfAfJD)Pl<&5 zd>W&G*sj56)XE2p*!pC(lNV6x%RZq8MHt5hO4#M7X?rgx81q??>x{1ZZZ!9@0!V|u zzEZeOYnm5BAW509d;)qpf{79oMhtDI%QTx0Y6dTWe%}2mPWqK{$zvm$h|T0Pj6wIu z(^v!A>-Bhl)qN%O`1c%S@uUiX2$b2|t zT_RAih zR?HLIg)G=j0AY%F*>$wdcm?kQe&#nNSzYhdFCm$?OP(ST>B{68`f)nom1*Fj7 zcV7p(VejubRGl|7>G+QKe2Crkte=J+KeD*65Ug2{qE{D5CAJ02hI ztbqi)h4p<^RGZhO5(t+n!)_IQ{Ys#oCE~<@b^xhk2WAn#PS)Ei2BUFAECvC{SfpiS ze^*gpwnDw%y_Xw4xEqPwe%j_QuKUx)K*i=r{syd}Yvt9eSFV64TAyzX6Y+agp?50? zW@Gia<0AU5VENkvGMq0N@3P{11>-9U*@C_ohxY#3#=TLB#>RO}EeACx_4@aF>aKI9 z$(D!n^?OsL$v{dzk68e8wrgdkLYKaqg~N4k(jjHP88qzuwL3UR*9uO!Xy?kQhfZ9= z;3lBAWcBos5BGOro0Bc>_HKlrt=Onzu9Gt}*4?2PR+g5Eva->XyNT+0W4+O@I4wrW zmwd05z=(-mXRN&2&QLz_>t=b@m1L?pU{;G1$UZtgo(qc>*t|KrY0dK7dI=M=FrI&V zv74v=aF)Dgtz4WyS!@o?f=O)fA*1SP5oRrIbmj7?Dm4;3o- zU~*slG?3^u&St>-bYm~C}Ut?cx|Pc|GsNitJEw17>OUUvEsGQD4WTvYCT=12o?~~CB_*N0)+_^nLG{# z*UI|(%#twG*X+7q2;=Wr+rU7QZ3e-Cmec`IqWKWAP-nNqTdvcjq^{>#KnlciIbGy( zoA*9<$4xZRt5@|tH%?1#3%0z!zlfAry+8v=MHhkd(+=DEX`|nt+U#8bRii-RB*;*6 zdRic-LJdH>8B!!Sj%eE5AV zfID61VNTd!`TDjowO_ASaaAR#&=tUpkUtCdGk`l+0vluJdLwoQ;2#dtBc8g>Hy9EM z-So>RNKm?5uZ8Ucq+QvoY22@9xv0&)mjNLH6HTe+S^Y79!v%b)_S_K5Hk!S>ZYLAO z+5R5|?N{>|NLaF-mn4OFj0sF2xx`r){g=3nvrLNv3%R0BSn(*%?l2Pve_iRg1sw)Z z!&pBYZ-a?esHG$uZKQ3~fA+Y=C`i1uasDq2T;&D0`5AxgIE(8KBSVdJBWG|2dKQaW0v*iTVx(z#j`qv_a)DPvEhJ=O~ zx}$T_KUkvTWF;5}jfrNG7I-KZ17b)76A5r`2IL8o6-{QN8SJPI zW8@mz+OHl+FWzfOUAXp~OHjV}^g}npRMSb9`)?Y|wN5Zw;F=kkWs-@2(@zlez1;zR z-ecED6nIO47rjEGTKMwv5*Hcru6-X~KLv2?@72|cz?-GO1y@V>DnSWDa~Sm|1ir$4 zh_IX;IPwQU@P9(^|5M9l6qZB*coY{D6dYKqm1`BebKcr161p#*uFzeu^P!F(n=Doa zS+`L(`4ISz(?Ccw!-N(r0mDdva+0&SX=6RawJBkNtfJ$=3x->;HvxEXn2!**U9U$X zZRq=6s$$ZDVW#V$ed03)Vtd)|&h~O|O4`2lG*m2_NcGJ1@vh^s6nNFju-wO+X~!)H zd|AGgn;0NZX(!ou>AD#m?=NTefzdzy<+X_0&V$3aB#q_H=r_=uKoVhkV>_E}3}(k+3J9^mgz?N@f_{c!~ocHS8(@Sk}$AKkzp4fAFIhoPM;XXwr} z^#5L5JZ9H&SePZ?ZFPOJ1~Wo|FFVu=Ab$4QB=$Pm6|g0Ce;{B@!lMx9JlR>{`Ok*s;>l~Qd1GDuTH)19LO)Q7WcbLZx>lffG@^1$S4r6+t151B9J#KM# zjKSIhguZkftYhzQp#IbH{={9eRstIiS zx@Py|3h-YgW@G0UMeHPNA2Efb=}f)SOFj1`SFIMea$v{j0QzCou;e!3*hf;d)*Tjh z9-DOB=(s^yKfS8!xtSQ3zhK{?3y_)JZ0HLmqh70qyuf7wNTD(OXTKZ-N;TUV=g1=L z5qV;|0|6nf!u$UECjp%WEHR<{J8yFP1r?)aP5u%<`6FIV4vw7!Ww|jx;RrDGYt5no z3nLA!2>@o&<+L`Z!4EiHuib*%0rmD=P{HayZ$06J)iz@NE+}+;PJ6rn`>MB^q671K z!LCJC|8_jt1x7|dtboIkrI@@OhbPy2B3(y6pd|X(7JCAz3#hubIEiZl%p5zc?jr@J zZrHQsD?sCS0NJV@dACi>sMDwbyni9reyZf1+(@Qzz-Pen*TRzNdX<-AD_4&XD~}W0 z?WY(^?km2)MElrtCQBWkCg2U(+uwHu6dB(p7FPZc`n!e&BgVV1>P(4hX^9@JcPN2S zZUZUY3mE!!fcH7FfCPe#T3xHz>{1N##6Y5yh{NPRc@LPdwQ7g|#m*SOcH1ld#qk2^ zO`aHPnUow@G3O<_SUR^o(~iRys5Pkald40r1YrEAT(3>bzU?xJ(z5H*)4jRcB22ym z7TB#)ZTo_bu$(GUoo{r^^I4gRqmt(Exju=jWaMOqo?k2-`>DeU0AM*{rC!?wfC2p0 z;}qi(g8$Q!26F1$n>BZmIpc|!9cg;X4t+25GvlCoL~;4pPz%| zv<4FG-+_ssy3+1@xykIW2~52(zTcfiAF>9Adx2Et*WVn63Y@IcZMz{1?y+uI=Xr~CW+ zfL)zo4mM-}!WGs*0~USBlZEO{8xhv~jbsQB2&k_uex7G*=wl7Wb$f0qsB zr zAdr)_=1|5of0befwZk*j79kK-BEGj5Yj7YJ%_29}$1o3p@R}-;Cp&D~&VnJwHM`Ah zRYY5~n(?nMum2T;fV*e~2&mUaG&ct*2?AhgD!D>}VlV+L1oM*q?iK-)=RHiy(pR=B z{kiFMvRP0Afe9AnB=nnH0DgCT;_9la?hlG2m!K}Q17r22mF*>fu;-WD6i!&eCI%>y zEtuRuHXl~++8_QjbXX3jaS~gAF2qw1`OG{7gZCQtFF@1EgL16J)UcSeWPuVdC<9)u z24n4kI9CRtNiCQ09ZaNzgCR;HCu-TWd?Yk{i?yy0aAUEU?|y%YlNBqNHv1|Pims@v z9Pb814kM-$kc~xVBN@eDd2c0X<6+k8zpeXPl5DAypxj&p&ak82ahnLUQNgUX9L@QF zH%RL+#M)=^@b|`Ruehj7PfQ4UrdlgxBT4=jc>5Kg%#~={3s^T?|7@#co;>S;m(L1T zHWcu}tYc|lw4VQNt^juW3dHFBP%7zgQBk z8B_kN%y7I!g2Zj`Xo2bi$XI1xDa4h?!2z?oqb9hsQn1dg_c%4m^f~J%;ex_!30{h{ zsH5C}{zrfj$IGQl@IkN}#3bzR|B6WqT<8B6*6#ntQUCXL%s;CA|M*r8LLZrbtDL~) zWX*^bfE5sVO%0TH`#%WjEW`OYp{2b)kY)Z)_)7{qdkqMZFp831&|4;-g4+16JF&>CQ z`W6gIYOo&_QVb$FBcxbN-(jAGQ%R-wL{*xW3=~pHsia58|FFIsW(#X@Z{f zcx%gSYI5=yOH|M%3wmA-HEW8zU^dVRYps<1j>PX`D2nSn4cJmmO5K$pw$|%E!-3^L z4MuLWxdIgbNn+fI|5;;2*?uK+wdVBk{jd_Xx?uJUfS8x^s2+qS zqnNDz*-4GQUW-UOV2Z_lQZqO0JoogxyBR97Bvq*m z_I}!!cfxfjyJ_CG(D&3s4I_a)~r zU%CF~u!E>*j(HqEw{u@r;=}7dfS^G4rgWX>vc8iNDL{z)g+#E*dy>sYc15HNyWA7} zUuzH!I;Z54RHno0r!hfz&1^cuKXX;$J}6EtDwaGNJi}t7AO@!jLd@AXD>L)`&jptr zG>HUUlCsQS-B3pxS#WS%$(wB zae^Vr_uf6k^sYK$hpw};b3PJa(2JZSu(gK@7i}9Sc+e+^3d>L$r9VbVpMCQ;r}pC1^a#|AN~T} zUXcD*yRE8L_`SHVQh!%e|L@P){7P|}p|!8=1sd`p+p7NgEc^MZr9QrCektE|2xup{ zC-lu@wd+}oXg^4u*4XS66Q^+CUdf}Tf!@>pL;0xN zU-FZ1nCi&5nU!hta#1d7vrXs_LXXD*4gZon0vb_Ar*p~Sa zck+!_pRP#mC-~3*yLjoVBcZ|3bv^S!?>?K)sjAsFhX~ZUUStL1^pAEUXo=#aRD{%; znfyUr5rBNfHQHrxE_!}8t?m$m04btl;ZeDCG6Fzuu@n}TQ0xr;xW+161G%yZYTKBl zYjo#JEb(g}^xm(N{lDg8mxA`+82d^>R0BQE6v}Op>PZnTq{buM6;iKDZoVJ=e1*nr zsZ%ObJCsQSKN6iN1v&fPt7}75K4;~)ZI?tEN05@GU`MRu)Fo*h1PsNR+u9@x`V_>Lahxyqi3!y;FZs8Bsa3)o zkIq3bY|U!TO_0|mC0pu<*_U(+P>u8gt|#AiL(TAbrv0L+Y?G`+pLnS(KD{6Y9T|v_ zFuFUMnQS-Sew*`_D|{3!E9DwxVF270m+VgM@&U*E@cFK4<|t*B=TZBfeO@u^c~Mq= zKst%202wzvs_7mBdvoh%F8>F&{i%4aR}!lUuGZ%^;%B-`V05hNSqG6=XVmt)E}@J| z?(P^K>5tBa(5d5>lV+ed>|gFP>ks@VQPSsE<-=WW>2(8{pOogTwUV}L{+TxY^X$c; zIIEfAFU!i3i+@`Y5liTX1HfV;pAuCB(Z-Ov#b++ZhxvS@fX}>x`0-Sg2w9uDSC?p< zQAl6jzK{F@-~%VTl7Px72)Ks88PzP~KB1TT^4V40hca5+#!h#Lx&;w+2t{}UYEps+ zgBTd{=$w13UEhGpnZ#kMUlYB99YqC1v3GOL4v9zaun^Hidxe@0I>FjE*H&(a{Df6t z*YOaD7MBm8j;TkApl~AYLQ|4a96>Jj-;+23#l>{wsApXJ?{=UZhUurTS)D&m(wm!t z%1S5Rfl)CaLcZVALj-#vLYdz^f`8&s>mP$HkuXT`ge&#=1gL(u#!i&$`Z*$p9D11n zQ!+~5rLZ|_U+a#1Vs0+0o?94fJ0R`3L8?nmr@(Ba-6V7RJ$t0v_Xp(fPKb;-Yh<1JYwYDA6}>N!-!EJh zsc?+IO~_nRkVYl|VT8ga;JHp@Lcx#x{Q-Oz0=?&2JFku^fKkjs_QEYz4{=Bg@eM9*894yS0{$`;k<$QRc&rx8=VjBa01 zH9%pHwa&&nJT@y>+#~|i< zg!ZHp&5g*Q2``mo=e55%cuZ*bzgmD3jt6FoVH{+EK(kdH0E%h-Vb5j6Tm$ed8N)vgWTi&?27M+CIhyC!cCPVgr0_I*HY&hLmMwDm)o za|avCXzXpbFas5_1yJJ&TZ%n`)~?4U&zy9uet0k)iC;;vWZPOUQ`s7 zbBK8rYJQ_@I~iw-Ii(M*H}6fk?wA}`I9geEw%K%pdO&hAxJ4okL~}nMUFgBGr%ipW zi_61MH2}U`#`M|p{4}q-4+-OP3$zKIPxd|9N)Ra{JA#95?P}V_I z<)6Qf$YQ&Y4%l1~cZ)>dCe~tsjvO9KS!3cI>-Y{Xlx_R@M*Fwk!iXWlhQ13CA zj)Z5^hsw%3At8RNrOyZn3sXZZu=~uJ4P>)7G&Zi4mF3b^UdU{63=a+U2UH}yZXFFk zrlvEEPQ4>u$J~nqB#Wk2K=W}K(f+li%qhq|c($IRrB!`Z^JLFBP%HtIuSAe|X8H7) ziEkCNP)J+>47!4mk&y@D^NEQG%BxW&w^Q35+zt!70#oDGRr)0&EG%q~sQtAs%BN{U z86|TeqQ~sQsLyi$QeW`>1y#koqFG`9ux+YW4`S0q;&6wI& z>FuR%v6jubqjt||Ea6jBU0cI7c}bVw=`pXq$|*Nr*S9)h8l`vW$g|Wx^%lkNdiA z?@1}1OgB}rqgz=wL!7!`H%63oW5nfGb^-0 zqU(pUZb_)?pUi2^Vw6~~Rrj4wum0dCNd~QuE+_e-Pr5NPCizMx)y*@F3!x&6gBh(u zKDHTOG7A%f>n3@3HSbrhiIbi^<-E9q$LRwTU(i=+DJNr-w`*h7rl~DXEv(?+Fb1-4 z$iG7|uAb4qloDF;RM9|X!Q=?1Ix`zT8$FCfuQTVCso&PvT87wKSMNEAGMz@DeG4bT zEpixpD6jfgMDyO%NOFu-imU$;eNm^qxZ-qOQ&NeS>A)Hmy8F9#Q@daFSeS}9&vxVa zDHY8(zL%!=!zxV%oa7n&D5~t49qGS2Q_zo|E=JGEleg?L8~v1fQMOm4PTaD6K{2le zoMdO)whJBVO!+gxd4tifMu?$)VA}9;<3gfOQFL;wx5*y?6{M&O`gDb7g-@&PQjj?PHD$M*5tAG5yn%DmkOP$K8jDGFwOb zMva`@PK19wYgF~X+c9+2G982Q2i$2Ui>ukOvK$(i*5s#7pxf_KV7$ig1zRmHWxKM1R>A*;eC>@ml~2wg>dt{y3ucjn9znrVUSSVX zrXoT`nAlfQu?f0y&{E0Y`R7L6PNp4?ZXTjx%b#*r9ClH7$yNC)`pvVPB=1+>Hd)pU zOxu4RNi|IRW8AskvLSo)x7#}E-F8KegEJ#83TpaOuFKa_QU(e>LAiD&V>KnSPhoC< zNuJw7vxZGu*lA_@SD#kV#LH4sv(?@ZYP9@8#pw&oA`OgZ4*LnYdcN7?)e+9&&G?~k znRapZDDV9|iJsrufV!T%n!E8hMC4adj&6uZirZMu=we+74`2F);$t=Y>DSZj#)}aa zwz{LHe|giZv%)6V28PtBxB_m-f0;Y2)aOB8ME{h9;aVX1ll;c_7(07{UCZ#Zf4{WL zp5MFWl>fe?(qx4>Y8$WpvlblxTv!-p=ER{H@@=M#i+s?;M+kSOT3}p7yCz!XG|-xE&Q$9etbp1T*{zzAv(2 zL%LKT)!MAW=-V52;Ic85{$jvMRN2QW1$~7q|1eAVto--URMqsIJXG0*wh38(asDJM zL~euJ*3w$4{re=i+R`I%Y!xEz41eg*y8*;RG^no2E8`0bcGU2Lq@<+A=dafd@uCh+!cc3enY?&Y5cI&t+AT{r6o)HF32@VoGBZa#mPLSKsN$&m6O?bZ#U zT5BGkli|%OQP;OVSo2Ir#vJ#_KrNzGM_uwe3f`mSCv$>gfS-`ePP@NLam+$RG)Nfx z;N{UR;83tLGQ0G`E$&yH!G9%+E{pMHYQ~Iy6oc?Avl!b4lPlTtZTGX&21`G#3o`={ zd0*anGk&iyI}%d(=$M!otpWU^_JeK9EG#SzSd~AX_-fa>aOIHud zMd!J;V{TxB*^x{*dW?dhdkZAI{mju%m6c^cC_m5?a6FupJ9n$6=*78ayH;ez_qSOv z;j?ySSD;DoRNtpas+@}NyOd3ACEj@($2-YvGBYtbX>_>Y+>4P%{ppMhmnK(c z$M4Ztrdso(H=}h#>VY-`BjdRVMfVs{S%#Jqquf(dtFt^|AOURryS24hW=1=GRO`3# zun?&f`>IvW>NW-5da>TM&AN`D=fHl`EY6lI!y>6sMkuu8*mZuBG0tfP^na%E&lOQ! zpOJHD$+)lNB~LoCPMs``rRXk7V+~9cO0<~>um6uLlL#uUi;cUyND@ydnRHZKAm~2GV^Y*xYC;2D!1DVysE(J5I zX+w zqNII)nq5`nsL*f3vn3pI}K{VW!kug zi3YV4dB%vwBq!?>q)38uU;HMGpVWxu*bvHyUZlIWH#d&+O| z-?@F8a{a9z3R%@~3++hxRR#tIfwykGL%(Gz^nG{3!(&h-@Sww{DdP~lCAvnsfqUeB ze|X*=rRZ7-iBIPr584%YE1f!Zig&mSt)ceApSOyLh;)G$QTO!3mcoacthiurrGl3r%y%j!;j<~sF7@niixRRxUelGB*eb!6%~uXE}o#6 z=%-IvIOFuqAYJ)c8%Z+5?f>YQ>QoJ`!Ds6!P&BD2~->Lxrw8QdV$A^!H6!z=t+Sxx!>|-%4 zS557sx0_~Py?S8l!gXghrf-F#BL$VmR{yfu=)3qWrvC#92{o* zl>c1&(OzHG}g*o8%yU;1&7YS%6bLa zojcVHjdj=tS!-jHxsRHenF)9>lMukg^?l~x@}v5kX4@WQ+9U)&((~YGG)vTo)gO8? zb=PDe^QOi+K?R3p2LpauoIWkIZQF{G)|_&bT%O71Ijw2--MbNFzXDY&8|y9`M^Dm| z_;>~wJ80`a0eDq~P-XYGWF@vP$R#6ylP*p1R)~7VAQKvTwun+(3i1?US6W(H?<*=8 zT}v7~GwnJ}D$9R%`iwdVJ_fY(^x3m+v}xHFFnp}8E|;#}!kqKX zYqA02D$T;y6KYyIkh^jSZ{?5!htxPwuL74a&q0VSTa7dk8l^GdnZ_4SS) z4{U2YaRQ<&)s&L+%@W!VWf)0CwQv9aG>Dy|Dv`HG^>Lb7d{2rDyLWHL=QBbh>poBV z=eUn$MKXJ_F?}yI{quS1h{j^w%wc7e?2~yV(>`jU*iOWJ%0!u%vOS?%oxA@$|{{0}WS04_4yp0WKpgYY|8&x9{A!g!ZK0C;G6q6kkL~ z{@U8w{*EFA_nF~qb|nj3^veY<3o*2uMXd;H`O@jI;^T6u zOPR|}e=$rI);2i$Z%nqifZ+r@QYR_-E+f2CE)eox%C>2Zv1!fb*=}_>LtC^r<%efh z#>r30rH=(476?4-;ro`NIJa5a)Z&}u$aC*wv_{3NSFe_HpAtpG@DoucP#zoMreyLT z`=8rijJG*p8fbpMf8WI~YDR-&`iYGR(=5C<-(7bpSz*izWJewLi)YU?{Xv=K`+iJc z{}R&YoNSIYYpz2&9i5)O0?yne;)yKcMh{C~SXdZqwlrFob4)KoQ9-53&c1SGkL>lQ z%J`1q?dYK3;N}T^0|UnEZ@IpOCN{NjfF>z-i>Jyls7JZm86q2O6c)I&ow% zK_%yzReOF`tK|FXpWD~3U*=E8`Wm3Wo`JzNWE)@6yHTqlKwJM9+=48efoh0|+TOi$ zkyW|Hckgn(Jdw8|PB*Hl+I-oMR<DJkK@m|ih!MbPHt7qC9MuSdP?tmBNmv?#v4CeBiH)_aqGHqJ9mMvR$GoeqV z_z?BEzDwB|-)$98bVNK5(W3e(S`((r-|-X8AbE{*SQirOrhc@y4!tFTrTr>rl)N(& zv9rKH6?OG1<<*1NZ``m>jRb=pjY$e}UcY5rezaX9P7^=%9*HXX>sYb6ni^Dt`K9Xm zuCBS^E}&_~(8+Q>%1DgM=BV8C-jMHgj|P5i{`2m8yQ$upwBz=ZRXf&6ORq$=VCp%( ztoZlfmNxX_s^-MulQ*<)sY^58`$)-)*Uin%c4fK9#*MM5sqAMzJt_rsEnuJ5{Krh} zwtQt()pUzXM1eQ80k%VBr^DBMMPu1ttbwZ_+_mI)w3MTngS%#t*0DnlCZ^Iyhb@IY z&bRY|8gmd;baXVOySv*~+4Y4@`hf^p$YKRk9eOm{(9)oqQw5RQ`3#DnvNs=osAgzd zsWLguM(DN+m-ZaP%sjiL;)#!rw@YS*6F+)}-6>gmBk%6oAVMP ztrj5VL@xTDZ=-`82?2Qr*ggd=BNOg|yD>Nft_K}Z{s{@2tvid684s%*KhA^Dh$859 zS(%w^L>dye=o#_t+gAY?Z&|?p<8z4EuD9TcmK?c@KlqU92Sc;+LNm+UCjZVU35_(Sl^VF z_bC7QrR(pTiZ$J+^Qh+Pwe8Q^ypo0zM`W|Sd1KS&21eyxnEu$hb!*Fw)Ir)cm$H}p z5U<7YG4F|8XYuhITmEdj&Ra1t!X%9D>B$*>ctK~p@zaT%)p$WNl8b|-%`V`*L~l4m$zdiImxES{u#xU{-Dn4_jMz6t0excYY1c%r}Srdljc& zL)m+kd;@O>`}-Xl>Sz&U8X69xyr4=cn&Cy>M0NtbbFiwWW?*WDLGtzJupcxurO2;Sk>=W5-R1Kz#6+rB@O?IK=${)mSWs_#Md}fN%KG5J zgZ>>+DlLbksJcN*A;tGa5TlFQxN#%sJbqg$Gq_Ng&x#c*GOuqp?d`ZLPt%n(LT!0) zK}N&8^@pIwD9{g`xRvQ*>pFVFrzT0EjW zCm0QLY;S_yO8t5*u#Z((SWxF~m@22bW{8uwW}1+Slbb}|ko1Qa7G1aXt@N>C1X1?$ zqy9YN@~yXbt)%2~lyj%L**U7$0EU=O4H(b;Gt=K}*>JA{NM zMrPB@ht~pBV_`@c_9gIAAaB4PjT9xmZTpr$j5mM37#PU&7eM6rkD%6HnB#v#kBsj; zJ!fDbnZcv!#q;d9=Wca<_Kt)`iwIML@NtY+`HGALKuchCHPuP%5+u-D41ayz=+jzQ z17Iw?IyE)bcVdP1PTG83E2Y7dLqh&A z+>RjRcL?sDEkdkp7Uet+{zk(cJ5Id73NMwhgd5mR^?8m;zGNdtH-x(=r z8)GIUL4R|KAPZgDsy_?d@0Cm?PE;-;xo2(JYd*AK6@QlLgpKodT2)`spuW~B$!h*@ zjtoW;{MUUA<$(i&@@7W5`SGmu8U+_IBv?!a;rhs@pY6XVykP?!{P)d{=Z#ixK^`HA z@rUXr7HlO|(hlH1H~1A~qcd^;Oj;phP}hA$Tk9-zqU0S3Z`(GJo|JKNW^`X)3Ttk5 z!Pl>+#EkPf0T14kh+saFP2R@aQ&bdBv{UMFE`!seqaZCT8Cr8w!)c&y8QLS6p*@gfT%sK**3KpXEWTIBiZFEr3a0|`|9ewM~`yB|FLs( z2LJ*&iH)2Ke$db}(wK2R>(cL$A1LA8S5*}a`}JaP<&K2b54^d*)jabjUIrB+_GxbDh6ie`UxqkhWInBDdD^)ToVH-ubuzmVI^2)Fv=o)4co!kK3&Wl z+DbIAD2yQqhNWta!P)*ezT zVI`&FFGE?IW`49IwPJA^YGMUp#uj1I@vjy@1LL<)Ul(NufKdC|6Rb=}DFnq0cYA;P zc`l03jvd@a+18iJx?e#Fa|h@MoE=Xy%dt3xIpQ~ljPa}o7616o45aTGCtf;@vImvxru zg5)VsJe=XPLD!SeQsuCJkfN43BDmdIr$xipV&igO6ELK zQLNkZSHbZ195}%GwWnw6nU6e30Sjy-@$TTuDN>LO=3IbSdhuyi)}u#!e2VUz03t{o z2t`8IRv)}dfgxnf{lTDk>Gu8O>bpSyl#~R(TJAt|elTXj#Udq}ZA|fg#_BK=ZZ|zYk~ln+ z6a2i%Luy)EO?;SsD;JfqmGZ*W%E#`5n+hQ$j*pLj1&tE5$wjn0-W<3>+ai!sXB$eNM+37gIOgu09Lq$`hMgO{^vB>(QdO^U4IO1&}P7S@Dk}rbPf%r zpDpabDc;sKwW{i{BCtP2D^>ekj`MAV$a{2QL?6iD6sQfAb}i@(nk zED@0bYh>HXuzdMm8=It7548I82L%ODC;`g_HBOx1V`5^WJo>Y$<5Zf^rcE#O=N?2w z1)qKFMu!?l29kjru=bqaZs>!OLQ3yB^X06lq~yO_z#f$K!U}zH>`XYEEtTduiLs+f3EFR+DXU?a0lgBP(qW#8guepl7i8J z-3_%3kCLYx9OW2xvHQoUFV^qSspkN66uT@2DahwshjmDM+2ZQ2k@yuO`W2t1hTQDJ zg$o2kwON2LOJ`0sF*i3?b*JlG+nEeA)c3$D-@x6}JloGra!WMFfaNTQjT0k|j~Bfm zs4TE)(w!N~{6&){2PGBY{tihpfDpSnNf4T7-v z#+KVDp7cgD2a26_qhO*y6`|MdGQc+3d~qadPmBv(42@ytCowjy#p_rp`Y~zYSvUj*gW(|f z6kI;`q)Msl^AT-WPV@@ zSA&9>D6bHb*g$8m&4tR`#$RAqrPT>VjGwJtav?uGu&b$u$C}MTIuKTJRrLh4*Vx-! z#M=%xvK`+!u+RKf!Sk2gFL5y|MPF3!KF77t@>KBrqS zgW)1W^_D4+Ld!ck0p1fT$QodwZJ2+7xI6v12^|8>%4>jyK3-+Yc7lmw+PkiHlb} zz>>8u9&HX2sp$C)YzT>-bAcuY`y^0e+7< z%2$X1=2d%j2=Ociw=;{jx7+vcGZ2x1bw|_qyJPaDclY4Y#JHGE&|{p#+<}@p$5$`1 zw)Q`wHf$91uC4)*FowFQ2Mpb7sLviYaFI}s!u7O;MPB1YV`F2Lkta&c7q;@=gy8@# zY?gR=1l%1fHKGCMBj76lJ>cu!VF%y7d-pON59g{?+h1&KaL!FAJ&6at)M#Z>BWrGM zo^^e%ooCj-yUZQOI&S&n&XL4(`V1p$SM1E;RUjWAL(=)Ik!(+ zdx}T&@X@2xzOqk`a;l5lrHl2zp^&;9$yKKLt8RO=VF2oO`857B@8RC&?oqG^a;{@S z$cK8uFPfeRpib<&g>@4TzI6B4g6H70d!|+6K82%5?yY5wRDQ8NAC52_t%~F#gg4U% zjAzMWj+vOaa5*4gPfGLopL(CIWdUHxMe5kBplbyFo#os(cMxijW;4{2cjP=~UbadO z0^(M|!?e4D*DO;infsxDLgZaf$_KKds20Z21_+#u07tX7{94~I!a zCfmknxU=|IUFeb7^E6hHPg;IZH{S0_-ZZp*ugBO^WWXpf%CYtBk!m1+q60Lv8;m9mn|s3q zjV~HIjD|Q~CMHhK?s>>t7^QGAS@m}RNO=*GQsJFDSED3WP*?+Cf${IU9Uq!#_gTo z_gxQ67Ap+6Es=*>qzB-DsJQrB;6z!>HlY=l@89PcQMw5vdVBxQ6D8h?&{^=l96IoS z0u zZlEK%8`8Xh+`yaDCYkld1=!CqERwnEoM|gv`(k6J=*1A$G0Z-9Vj2>?FcApAkio z03RDYh@KZ!xeOGvkd;B!cPpi2kr%lEtHf(Wly=HXZ33)=T?qNX{Y?9 zyZ-s3{~2l9-oJX;r_P>d%|mJC{?o1<$U5E}vs~Qmq}*0bcXxS`@}reLYQzjpaHMp^YR6P<8?3^X9RtDH4XrOX zfe|soD_D9ELo}Rmomg2TYh1(OM;kF`WK|`5j{2L)@Q%Y!$c6=Wy9XPV^y#zqIkzh} zSLptY5xTz;eE4Q76H9uUB2-#b%>8Xld%KdX*BtT=iaCi@)zs9ql=@is!hL%13j8j_ zvO8vB%N&3zko_t5e-SDxDRUm9bzHv$GcXWdjDEapnO4%D7AUUi;TKBE+JNUnGKv38Du;G| z|C=+wZ%3Wm6y%4-bqzs(H7B=~RtX85UGs9@&Sjy52RR-F97r6a|zTHj6e53k;26$W*|lkEm;L!6Fah4V%*Jab6UZI6IE1P{lL$6Za|K) zL=c!*?a(p}j2O8lv8(<`|BYjSqbUf z)2b7Dt9mZ*{6!`2akH&1`W$lG3xbkeNM>W@F|InC=7U6HZJMc zV!p?j#GY?%_oLXqx2$Ai7^3$YWY>k2IQsGEb7nnx&K5ue?E#hwDk+|h7ai;R&n;jv zt5-uwBvcR4&6$jGrQPt3!ZFO6oa#B;qiYK{56;iuh)Gs-m5-E&rSs4sH@M3 z)MlhZ8G^p9)mH{D3}!5k)Y%AqPG(8t9ODsd*MFXEe_TiGS*Uk~bU4-V27xgr^;LID zGGa}OTnA@9o{@%&uC=tT*~6e>^a(Gk5_&eR5a{=0A06gYFLC>;G>j3V*}c7MLdM~G z&f3_=SKad2`lhlKDZtp6EqD5tz7kqOo&)=-R~XR#{bZJZ^p^i8N#ft1Xt>aS{GT5_ zCTpO7GF!n*sl*tz=CndY|KvZ?#)gBUOwlXVd7L}wFBwK|;|ro@{KLwy^YmSUbO*+- zXZJHjJ^A;7$AoYdhxZgpY(s9b(#$`2xACRnbZRY5_Jn)9MXYrH{^+KE|Mu^F_FKKy zvRJxkpdrOTzw7R*l&CF1)M*`#O#eu4IgGnS^nK$Q>_t0hcB`^Sul)DxS#pmB6ua-P zVxZ=oVo87kc1eS&&)j<(ZcXO&KmV=`)0AXNl{?)~p_5YiXq2DxfBw2iOigA$9nHUp zz0)*Zm>4xN10vu2`)L0yir*lHA_Ip8umYWCL3rblv1BJ=dITB@1%(}QLn*+$XS7oC za{8)(77$PY)7f%L&k}A4$*#olmP z%Uc*?v6_NX+WQv`JMD;1X|Ek%;|3Az3#2ZuF}-gLk_Q}#%EALyAPocAA3;hrK0Xei zk>TWa*T`gpoIWi8u&71JcXwf;ApzUS94nJTfB8VKyCT zpXI1|rZiyPn#~H7u(2aT&OsPMNd6EUO{MI~O#-3iqVm=4i`Zg^%n5-oyf?M43>GDKL|vwP@L6b zHVJ`Cb$5-^GBGo^PeehzfmRRJfAFbHuU%kF@p{HEyo!j~G_|x!$*`9s4@Bx+n5h7) zZ1T8{Rh|>lEA&d0p`0h6^glYmHy}_xX=uYlU>~Bc@GQ{T&7zNs0J9|i%~siYLz*;8 z0mLrQoc6_l@YNLYT2u0-D3~A?JDUXKHjI# zNl+{v=`$>9`UG;fhoBBYM%Ky)z#bXLJq)hEXSPg`%*bIxmE#J43u$kncn&C&Hq5jF zgs`Iq^!v!d*qA-3Dv(~PV#Z1;)JEhnTl#>rsG80l~zZYh0#2S>o00|;|vaQ4jb3Q=Kw3JJ4xOJ`E66zV@03V zV*zz!0tt??sKb z!5AP-EJrRlI^zukFG>!DG?W79tFEK6vhsZDiPRkm9!5$vQ@)dB%9vK}kI4{SWJIV5 z2A#e^#g2^mR&-7jpcM+S?5v+qHqlauQgqQn==!PHnUt+V;~E$6kul-^1X(W3G*t(J3*f4X zka2VqC(nrnsBf4{77rIUF1mmG~D42amHH6I9oa77d!oc`51} zqY`cb#00XpS<|aqOmql2g_PP1>?t(7bQF^0^C)}o0!mvq92#+=e@bFz5qp8-*M*pu zEHR?HLqwDUZd0w@DpWX6{rba)eWXst=6ZwIdJT*F@zKteuYUFY*?v*7`-;x!snO-+ zPH1++gpXOPFg)@(T!xva+~4~8)*%f<>G>9u=`tCQCujcqK>&N`E`#v?{FmG2VLv$8 z^>o|cNcnF(|F83o|2CHX=Zo}TcxsN&aTv}3&w=;NMTc9xL#R(8zQE}SWv_+kE;pq6 zm7*v^Y4!S~RH_QeB6g*Iu?D1mIYv}dTl@4Sy^OE7_47}YrG!_Z^Cusp1oaCjs2&KP z#aQt0;!s(fmLhEzoG10(8(IH<@&x}EtbZ1}JQr1#3}%?9czYMm_@EqzYa(74x@!sr zA|S;0G_N@qBn)&gB_26@AtVM8{nPFgU(gW9C;~t&umP<{ly$|FIv52N#TEUGL=u*h zNnkVV=<|Qho;_<0ewj$Ov6V<4zR3FZX(43Y@X)naw&8G@8>^-1D0-0k!GIZ1=f6d) zW7Fp(nqK&y9!!g61^Y?dG^Sjkw}P4oPAOd&`cXz?x9AS1yuw_daSU@M9501}ZH^*4 z1})Tv`BqYl6w-Gw(OWqV-C8#$QxJxK42^=Te9(L@6g2#3BiXmezqmf znk&xH7{gHxY;Y-i(TPTcYd9K%3pfphl$Y9%b)*+{b!QA&2bhChE`Uc!(>LX0j>FaW$H6C+76G3~iI;4Saq_k*F+ zKR;@abd=mD(Qn}4^PL9#FmZwcnwAJIDA9$5e3<{oMbICBY37iCArmrt2K&jRH0dT`gy(*a?nP%7 z@|{%7Fd<%uoLFKM{1vY~4UlykESB^jgrjeg(8b8w)-q7Tt@+_`STUgC5{h>r1|pK* z3RTvdH*d&XOIHXi$8$;+SOFlvM3+?zmlepamTAp}lX?p`i2W`jZSF+y2OmJ_bQwFryKnt!z{H|yaa%EmHGHJ-(DX);0ZnbHd zb8NcyuNFW?M{MssQx6Lcz5SR}v4yBRD=I2T&Nhz3F9veJSHC={HXe9*8BRMlsU83q zrO$(tstbp)>>wUYd0{}8)vpxE5D8|WdOUO^%^GZTVi5+RC}>%@I(X0j_fB}qtodkr z$O#E(^ZVy0(FJbhf$LVgM_3L5_mJF_Qj_m|9?+f{SWl8aL5Jl4DEniSvS~q7jctxO z65m{W5Z(=*D(fEL6tt3nha(~M5qeS3Oy!C*OvoBTT#xE~Ed&Mx0ldYx(+`X&X~lvH zvhdoYz`*{^=-VNp{Ev|e-17YN-)k*ebPQ-4>KOfeK_8goq!B^^l6kSDIbasDnz3M? zc^bkF-MXa#_QL^JMu;PI39t%sPS_gjQB((e4<1~BVW78wk+P#Jizs0rH78>&rkQl$ z7Kkux5l5I2Fd4h%9UNRHeJc`J{mSya`)e$Gl1`9*V4h?pbkzYwvNO=9s9zGR#GONK zHeT}az1tI#)Dpbw_-YbB?p0*fUrXN>7=zZ`Ps<%v(FXcOAIRO9JAXi&Cg8?WyXb#x z1SG$*R4FX^+5a0o*nj9I{I4&P{}7l+Tz!QfK@27UCIf@R;VkHHn~d6;tfOFPO+Q@aVgaKs^T9a^tOG`8+ ze9&JtQiuESzYUfLViOY+{Y8V&IRmtd5-rMv>jK>qVjy2p*I(0gF6}tVT4-$6h@B_> zk1LSS%CXYXphN;&HRbN*&jREIWE57Zpgp-LMU)9>4LV$&7oC-jFq7gzcOmb$J?-K7 ztaby~I`~uTcFNLH6g{ntR?f_YVB8Rh05)>@Ub%7wdP2ZC;tUzb#ahw{RK|7$+>4A% z!+HDfOEHF4mBICMe4J-|D-$E*rCQ6&?Y0*ym+E^Cjz(q%Dl~42yIzowG}Mg}Vt~3C z8&_bXwf<=Lp?hH>FG_24O^cic?e(+HroSlDn07A;U*7EXcim&II)OT7eowL7qdY`! z_}JC(C_8OVg~_1Lj}P7UXs;$cW*#YGHcoZGquRd}+2gVJdw+_n_d`X0+F#P=A*2#p{U>XRtup^;Yv7DI#R)r(Z{0QkB zW&GYrQe!cq@~uQbWnNoEL6O-1*7NAChXRB2Jh~f%S6z8uf5oa9j$u`S0SV}iQl_*`K^0uywlulGw9ku?7#3YeC&z{=~hlZsK# zXN~3}D9z)%s#lmE>W6xwZuIBpM%T8yrh@a{g}o!Y`+l8zWU6S8cVRtLi|z)GVt09M z+;O&mu~&(Q~{k zbZr<`92gW-C&4p0IVoxRu;&RcnjhP9_{foSIh%}sOt-EmZVqgt-i?X%RZI!n z9%#d70-}blgQ!fjQ<}?wZIVQu~|q{VFk+PsuFQV^~ zI1!zj5GRhtJl&+V0(8ZY?55hVZ~LnMG@5iER6-}xBq~u;;R=2~$pHE9rsX*2R zd8EOoDj^vePNW7TT43l+O_9e%xV18?EMaA3LDD1S>A4HQz-?&kkm?XZ6W#RaB#`=% z+rtLZcCENLD?vw8RWG@W^YQcFM2a@DUTX#XP4TbqYuYf^Rde4y(yl@}i4fh!ee*w7 zpFQ^VSJuu+&nG3J=dG;JY936|3i#bzoRUVwRG_Nq(OJ0L)m3ijUcYetmCKhcslvI| zFK+XX%b}^57MjR;J|d**OYM1uZj+Qpg6RPAx01}Am;i_^>VUFK(91wCc&N1rVyHBapSBGR4PB79 zsAB1HCZjt5Z35Xr#9ljLlVymLMp$xW&>lImy<{34QH)Uh`M2BdZTXXPv2XlHBYj7C zNne}z4%*$vsV}o%7A`%w(q27HIJzOJk>eS&?k4e(*@sQe_8Je|JQck-U%I@kzh&&2 zAT3ev!Y80Vux`~CH9gv-RoX&9q6}+!vWN5Lc2)}xD7Hm-I6Bg-(4259F>xy`>TAoG z|MXk2q;u!l*Rk{ZBoZ0nIZvpK-ktppoI-oDG1 z9H0qC)&N=0T-$dK)b}lUj&X}WMi+H#a|+7Fon?InK1hzAYN+;}ktU<2$<#JOBco}I z{5nofsl$0RhFWzPB0fzosV73J5Bo5vwIRsu;qGbMpRvmK8DRP`B z;Fv}bljO9)ewZN{ypO^zc7A@IEhojgX-Ai~#X(xR$gc+uVKdx~ib?^!c@A!L)54W9 zGsR!uLN~)>-~fSG6rda0X*jQ`O}$yEi>Rha1}LW_Cg<;i-p=u%vsU@&0fKbbUGa}v zoQfky+>jCXkb{WubN-pJ`*RdAs}XGYVPoSFr#Wz@PUKW0GIovtQbia+pO43LMmBsN z6VK#vK*~FZ)6zu;jaZk4h?4LF zQ<9h`zjA|i4bDZ3Xt*(V`g=io`aytG(R3N3FXVlmSieRs^)a?LbCZ`ml9Tl}n^C$Hg8 z3+KzgyU}`iRqCuB#F%k{+TV;$w|>3 zT7$DSZQc|)R zH7&7oxdrVA*#qcv9ZGG=DNN*9fX;{1;olz0^~2fTh3bT(pkT+OreYY{sgpYIX~hQ#*pi4%`x zl#Rs$px9Cu<}mhInC6wUUpjB%`}glUc6HTfiV>YMt-oxmLU9M7(Z#0FPw(#8E~alP z0Z+7ZqY(gtv|^lfJcP29iO#>J;9?5=ROk`uS?!_y@|Y&&@MGN#`q#)7KFAy(&J5Bd zUPX7Ox?Ei+1E=g^h0Sr+_Z*)uejVx~N0%aaSdrn$7?>OxTJq^>#Ef#GY{iq2qn2<8n9&dhW%q{4bTY3Rp!fiW-{&J3CBZA=x00LfF2#*XsdhBP5EnW@kC}>7YujNEd^o-iZ5z{Uz(xCb-Lx8Tv0j{`fwA zeSo9OsioMf0NZeA*AX#qJxd##1NoaxO-)na)Xajo;t*x(;7LklaK8zpNnk$maOfud1#)Q2G#STxY*=uq%#># z9odi>pOLP$qsk;@$2sqOL$)V+nx!Z8057@Zzt#1BdnJb=5=6W@0|Qx zJNtFvX++7b50YuWI*}Yjh9-jO86u;x$t;ZFFR{>n527kp8kk-m336Z%`uQfT`NDej0!P8Hf%}haZVy>MLP~JR(b4gs z4@Syv%DVbxxTI%A1n+XR$Qf{dt$yF%KO2SMLjX5WQP5|Hw2m}EdiXz@yYg@<_jWBx zDq=TmLc&%kqzEAiC7B9InPMk1$rzbZ)NW8@NS4eJA+bbh?P%DMC3CD6mCDp2At5>U zZ|!}ZbDi((^Ig|>{`jubwXe3k>s@QT@B8~b!~HzZeXlKV+Y4@sn$GRgTJzNRQQ6j{ z`K+q(6jGODzc%!}r?sH6NR+aqS#OXH9br&?&3pmEtX#1|ZDB7qz5grQy6+}0{5ISA zum($-DenVR;8kuvMmpsOfOowRFJU`91O{7dgn0kX)KAKJ8)DFnLP%IK#9)-t?l)=X z@Ba{uhzd6v^8kCg0OrGLK6r5>^Si%ASkJeos;OZ}D+n|EeoM>sD;B$AB9O@N28?vy zMyr0S>qEcIFauie|LFbPF8$fcNuf-^aEKf~AfLI`|%WW7&1kxRKnn#rAFz{Pc zR0gs1O}_mg)R<2;hTW;38M%k7ZtGADN{Ps2){ z`DG}^5^_$2=LVBB%vG!hO)T2B;ICTXw(^KU!>ypZ9r_+d)0!POU%(k@u0lK4`$s_V zcI0A2%L5A&J`jBVva#=n3q4Hygq39F<EFoIAJQeaZ%Q7W6~5ktwRVV(mHsQOFY1|pzqLg5z1?!Zg@p^;(Bd;Xi|2FF&C8Kl z7b7&)6;buF(AAA1%Tu-Iq&X08LV2BzD35FgL|-?_I1DILrEU8MZ!?(Bz3e*=RR@=Y z_Zk7*ZQ!|EAIUHVw6H$t)bqKy>-ru(B4vzTcV3e=ty>$Oy~pSWpRn?7*v7c`nxAqC zdSBGn6Di1XG6@d{M94Yu88^OM&hnV-8TEe)99VWpM+I>x;VyOuGz?1?s8jr`cb}bI z8fRn#q-TLOcYfDbVg_Qif=nwF{oC_UH`i3YpyS^vHPmm3w2ebD%kT|3|z zo=#E@vC#2-pxp$2k(6yUJ(s;a5_C;WE|DOYSOmnZB<2My-uF82xa1h+UMg?xOXRK- zzy^khjwL=QrnkQA#zWmVLRuxW0Um03hPWGkPqqo%_5A=uf1aUPWR zHFIXjq#&xi+1emy%SIf70=@HuR*_M?BqK)H&%&g0>HWJCWDbVNFcCUhHzFZJ4}94B zf^p6xMEX8G>FQMyr6CM#MbO~M4uL?|NhAfa)>i)f^WgQK@3|x-W}zb+f*XRgZ#$b6 z5r7i8AQJG9Q<0(En#aZ64>xq&WPKm92*ONFgg? z%pAXB*Zs|OFbeG?0#x2%VK4J@+|gy9;ilK|}epWF2?mSmD@V+oALCiWAP#BJ_&D>0DXY0r0iQyk&DHjN# zJI6l==guR)`+KF9$f6QC!?|yS+o(fqCPhK-3tu@!SAo=%V^`BBDBw@-TZIa)yn@$4++UO+3kpT>Pp#S zv9JVmZ_Hj<*x8v#kjt2_GfoKOiL?$HPl~})Y8Z!mg&fll^jGd^0!qQ0<)8YESt!{+ z;=Ldv18n~8NKlc0EL%Wyf&H#rm;8MI0nTQmWiF4ro|XkB#&d^_0+Wt$hCs)9-1SyKZ3XS zTq6cv7%LAbCY^Hu2Y6{(+gtxoHinc0G~8E38`WNR5b}I0@pi6%^-T%ASV+hcd9que zn!p~_B0>qc@IaXragBXhQZIikgdi%OZ560FQrBhUAV(El&CJ^UKGUm`sd=ny;{et% zmgwiH%;zpWz4YhLGuVPi>HM3c9;KU`6O{;#eqEw-0?c6#dx1|M62GdaahQGNd?aQ? zPH2k#bwo&PJzE$ebj8M8XcBV#-xMPLJ!k#hKCMo^E~%}LmaLr;`10ctQzuTW;EWV- zQ35GG(XmeF&%d3YAuuiUFYon#Vg~-#L#bw7m^G#IRvegLR?rsbWd1Yrk#ctF53kvJ z!O(*f_P(Ffp<1-^lAg>1uQwAxP=$$%Uiq_`5C^jQh;Ekt%6TlebNRR5a-S>Fu%c#o zUi^t!UE54E8F&6Psok(+!KodgZJ5{X_qXq5TV`l@~g@nmmTCr6k{qqP8@S z)N8K)EEFeY-Tb!Xw(6kVHed1FKSsObrVYn8hGYh_k`u<6T)nTW#CuvzC-urDG8lLJ zf|Vb;XH(h(MdX+?jjj(q6BgJuhag0VnO6l`Pccj!TRs@t24>UMXvzX6=Ix4#Qq}Ze zfq7LUbO4A(?{ZU3i5AVU+mmqh?J%)rL8I>!Vna}@Mo4H?cMtlH^K8*cX0n}72?D#T zeacPl;P2OtG;^5Gg``?9jG~6wFORRkTqNu<*kl$v{9Qb=>*Z)!MR|AgU{<1$uJDlR z_{2{NJ3R*mxb9>-JZw4a%4~YC{dLEA%J|mCHkILDf3i;EQ;z3++dJd7S#x5FYK;f~Kd zZEyb5M5Lsl!8kWSzf{D2vXqUP~sKi(E5N=^Z?WNCGVwnRn^xhNP>P zDAF0QwH=5+6w#wD15TSa2ge{IEv>(Ox+!)XJ;wz(IZvjHo98iE?a&4>44taCC#f%^ zJu2WCt?1JI>});zsk#HuUP@28p>$FKehTgjuHhGe)^Ktz$|?To7oIpuZ{uUd^o~tI zr)E04IV?JQhF5+@?&IlA25uMj%#CH8RS~U!(8$M#>oBU8>EFaV;ro2bH?Ptw=wM|2 z?TN(h!ipn8%{!;0scYy*ZMN-ma>_xl4^i#!*@sm@=ST#RWVb{ReN`g2ifRQMD**GH z)x&(Muf?%`f%U5Ol+#KWZ9e*vKf$wa4ZpJc^u;BRz8hE-eZ@kfe{5>S(ikU3Uh#=o zhVgkTj!<(S6KjEQQkSdvf7~o*+0|sv=16=r`9ws%>Y#l2)9guMd0We4jxj0pr)}me=KTu!vZTaZKQu{at}{(LsrkFA z${1I~ zVfU2T)wRAw`NP?DGg(&@VRzN+~^Nfzf!NdgR zhgfvZHqf0>RjsHETf5d@iMKX?fstzJV_NFXxV)T5>FNt-nhzTy_?}0>Z`%NxF5|f zLm|J|)@{l;ENC4bpi-1}YlGk(RgYKV6^z@+YZuKxH( z)$VMlPCp-+#GOKw1h+EfI%of#cW(!lgz3(7wJi(V)Ofi=vF!Fh(5tQ>x!k$HS7xr; z&3iTmzzl8LlH)oNF6B5hn|mpq>9ipCxX}Q=({sT#1-j})u;9qTPaZbg_J21>L%l3YONXE-8`s)yqb$Um`}$c0u-dC1DWfHUXoVR>F|Nrp>`VOBUaJF7v^c0c|6P>m$yyl`Dti%7?xtv_#CbWxkJ1I0u!`DTsBCLz_ZId=cE1rn|A{eHO z0Oj%ncJB^MJPwVU>xio$`Z#6C=lY5Z3*|iTHhuGP2gSv7O!&8jo@7QhfTf<{!^JVZ zG*Dci|Fdi6=rIU(L-%NGt97Ci7O%#_{PyH{wrYwbM*KyEN=G^wLe)^vBh;15;g>)~p|6%;t}ek6|L4C`N9O$05?eL>e5*4~?6mb(NpZE=cCG#caZy?5akeGx z2^|l=Zb7lH8kj7gm=sm-v~23f%sALj)wNsrDaZ%HK<1LCEMlzbWg9xtMlcEB0zo>x zmlz--#JqZ2_6RsBZdlyE2LfQUdxam@nwbqlwUKgBfFpR1`1s5$qG13c10mnsjZ<7x zY~2)ui$l+MY!;5b(pDWa`lfRqjdjCD_?+JRfcr`hC2N%%uJ$|`F-5%NW*wh{XEV-{ zOnSJrCMROdaoVL>gNHGb{-k~AnOuX&Ky$A82HD59$=-uC0j7MR)7nNeoSSSd54$v$mP`o*Kd2TTK-b_#CY5(d~Lo8%)HdnE3k9>Rens{pNkS3?%$8C}aH zJ5{z}7o);sDldFm8f~H>(#l@aFTA@80S!rq1~NP=)-I@#x2C$lbJF{O;4R~sm%eaQ ziiq&1!-_KXrKwRSGm`>O-G^YXy50aUOPyTWMP+H8eA+j*RiYH8K`i!J{wCftI`q$7 z+aIhmr-5hP#JuTS(7P69nA*9qE5m`KAv}ymZIh0dKxY=_LWEW z93aijVL~aOmhI)qYf6!w-5k(kw=e&TFHLU;h5PEZm(_0WZbwo+j`q0UtrcTkJ**f&Q3Cd zeZrs$Q|8h z!;}*}_ebyOUV%TOX-~)Sq$7+to-@o<+-t3u&jg0ah^iks`!#Gjzvc?hllF@a$L4;x z@vWChSLAqOA;x!IMA+lEjFCH@)>Kc8xeB@Zsg6?5&cvLWpMH^%Nf%+>RZ5=}k-uX; z{7_9z7IA3fsB_z#b9szkVUfvCIt~?|gEWOL_NJp;CCi&GvRXZ8Z?tQjGQ=ije|c+f zu$i}ZYCF$q_SGTN7rU@7i(DDve)2!4{q;4GG%mtdTY!gsQ;^QDv=K!5_Qpm4KYzVQ zSx0{V=JgeA9x1IoM1e0=se0hj;0o&CO%C6Jy=blSH* zG}(9O*-V_*AJTV(cHpKx%DZ+hI=Pl;>3 z!C>X;ODj zYbxdxI1Qt8{=$^qojAg*I5q1Cdb zFW^2tg);JP4ti!S%D}ID=NukXZH?*5QPP_KG-<#7_I2)9% zXlyPPtDmv=kEz#Tuhj0=I_TH8Pl@sev!V{`Yectzd5(*9=yPUxGU&4r=TMG8unA*#L}-`gh>TyQ4IGM_rzg3I z$zHG2l%fv5i|*;HKEsM~h>kS>9q+^RG3huXo@}fpCG_>mL~dn9G` z|EtC&qm0bU`BS>`q&UR21ZX2VWY+ewQ) zMV0~bF7{3Y2P#4qJXp3AC&#fWu8fW${~sfxK`Soqx;rRF<3}rK9l|jig-YgdcF(gY zaq_+2@bY3|ijF)|c47orGJ6~J7?annbYDHhTpNxmbJu*0EDl}X_*J4PYj~h0i--uO z*|P1wvyJ$L?V{`Usfhwa1A_MUm|D&?XMLuvLXxj37TRySvJgxhzt3DHof#@G$$r09 zUj~(87S)Gu#mmhIK6c-n(;;{GPoIV&3@nY-jp7zzo!Dntdu0IV*F-sy^U|*iHSqBn zv=L2G Zo2N5oMOl2b>lC>W20KmkigXU2`Vadrw$}gv diff --git a/Icarus/Images/Configuration/permissions.png b/Icarus/Images/Configuration/permissions.png deleted file mode 100644 index e82e739c09abddba9248b267ec3f523678f41d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104692 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[sE7bT(~Euw!IU8F#cBf@HR{klB6)GF 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 diff --git a/Icarus/Images/Stock/CoverArt.png b/Icarus/Images/Stock/CoverArt.png deleted file mode 100644 index 2af8c3026ab7c17ba9555b33b4ae7fcca61456ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24947 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 diff --git a/Icarus/Program.cs b/Icarus/Program.cs deleted file mode 100644 index a9f313a..0000000 --- a/Icarus/Program.cs +++ /dev/null @@ -1,110 +0,0 @@ -using Microsoft.AspNetCore.Authentication.JwtBearer; -using Microsoft.EntityFrameworkCore; -using Microsoft.IdentityModel.Tokens; -using Microsoft.OpenApi.Models; - -using Icarus.Database.Contexts; - - -var builder = WebApplication.CreateBuilder(args); - -var MAX_REQUEST_BODY_SIZE = 51200000000; - - -builder.Services.AddEndpointsApiExplorer(); -builder.Services.AddSwaggerGen(c => -{ - c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First()); - - c.SwaggerDoc("v1", new OpenApiInfo { Title = "Icarus", Version = "v1" }); - c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme() - { - Name = "Authorization", - Scheme = "Bearer", - BearerFormat = "JWT", - Type = SecuritySchemeType.ApiKey, - In = ParameterLocation.Header, - Description = "Bearer *Auth Token*", - }); - c.AddSecurityRequirement(new OpenApiSecurityRequirement - { - { - new OpenApiSecurityScheme - { - Reference = new OpenApiReference - { - Type = ReferenceType.SecurityScheme, - Id = "Bearer" - } - }, - new string[] {} - } - }); -}); - -builder.Services.AddControllers(); -builder.WebHost.UseKestrel(option => -{ - option.Limits.MaxRequestBodySize = MAX_REQUEST_BODY_SIZE; -}); - -var Configuration = builder.Configuration; - -var connString = Configuration.GetConnectionString("DefaultConnection"); - -builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options => -{ - options.RequireHttpsMetadata = false; - options.SaveToken = true; - var audience = Configuration["JWT:Audience"]; - var issuer = Configuration["JWT:Issuer"]; - options.TokenValidationParameters = new TokenValidationParameters() - { - ValidateIssuer = true, - ValidateAudience = true, - ValidateIssuerSigningKey = true, - ValidateLifetime = true, - ValidAudience = audience, - ValidIssuer = issuer, - IssuerSigningKey = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes(Configuration["JWT:Secret"]!)) - }; -}); - -builder.Services.AddDbContext(options => options.UseMySQL(connString!)); -builder.Services.AddDbContext(options => options.UseMySQL(connString!)); -builder.Services.AddDbContext(options => options.UseMySQL(connString!)); -builder.Services.AddDbContext(options => options.UseMySQL(connString!)); -builder.Services.AddDbContext(options => options.UseMySQL(connString!)); -builder.Services.AddDbContext(options => options.UseMySQL(connString!)); -builder.Services.AddDbContext(options => options.UseMySQL(connString!)); - -builder.Services.AddControllers() - .AddNewtonsoftJson(); - -builder.Services.AddEndpointsApiExplorer(); - - -var app = builder.Build(); - -// Configure the HTTP request pipeline. -if (app.Environment.IsDevelopment()) -{ - app.UseSwagger(); - app.UseSwaggerUI(); -} - -// NOTE: This should be enabled at some point -// app.UseHttpsRedirection(); - -app.UseRouting(); -app.UseAuthentication(); -app.UseAuthorization(); -#pragma warning disable ASP0014 -app.UseEndpoints(endpoints => -{ - endpoints.MapControllers(); -}); -#pragma warning restore ASP0014 - - -app.Run(); diff --git a/Icarus/Properties/launchSettings.json b/Icarus/Properties/launchSettings.json deleted file mode 100644 index b71d9cb..0000000 --- a/Icarus/Properties/launchSettings.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/launchsettings.json", - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:20781", - "sslPort": 44394 - } - }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "launchUrl": "swagger", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "Icarus": { - "commandName": "Project", - "launchBrowser": true, - "dotnetRuneMessage": true, - "launchUrl": "swagger", - "applicationUrl": "http://localhost:5002", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/Icarus/Types/CoverArtTypes.cs b/Icarus/Types/CoverArtTypes.cs deleted file mode 100644 index 600f9b2..0000000 --- a/Icarus/Types/CoverArtTypes.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; - -namespace Icarus.Types; - -public enum CoverArtField -{ - SongTitle = 0, - ImagePath -}; diff --git a/Icarus/Types/DirectoryTypes.cs b/Icarus/Types/DirectoryTypes.cs deleted file mode 100644 index 730be8d..0000000 --- a/Icarus/Types/DirectoryTypes.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; - -namespace Icarus.Types; - -public enum DirectoryType -{ - Music = 0, - CoverArt -}; diff --git a/Icarus/appsettings.Development.json b/Icarus/appsettings.Development.json deleted file mode 100644 index f3c53f4..0000000 --- a/Icarus/appsettings.Development.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Debug", - "System": "Information", - "Microsoft": "Information" - } - }, - "Auth0": { - "Domain": "[domain].auth0.com", - "ApiIdentifier": "https://[identifier]/api", - "ClientId": "", - "ClientSecret": "" - }, - "JWT": { - "Issuer": "", - "Audience": "", - "Secret": "", - "Subject": "" - }, - "ConnectionStrings": { - "DefaultConnection": "Server=;Database=;Uid=;Pwd=;" - }, - "RootMusicPath": "/music/path/", - "TemporaryMusicPath": "/music/temp/path/", - "ArchivePath": "/archive/path/", - "CoverArtPath": "/cover/art/path/" -} diff --git a/Icarus/appsettings.json b/Icarus/appsettings.json deleted file mode 100644 index fd85caf..0000000 --- a/Icarus/appsettings.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Trace", - "Microsoft": "Information" - } - }, - "AllowedHosts": "*", - "Auth0": { - "Domain": "[domain].auth0.com", - "ApiIdentifier": "https://[identifier]/api", - "ClientId": "", - "ClientSecret": "" - }, - "JWT": { - "Issuer": "", - "Audience": "", - "Secret": "", - "Subject": "" - }, - "ConnectionStrings": { - "DefaultConnection": "Server=;Database=;Uid=;Pwd=;" - }, - "RootMusicPath": "/music/path/", - "TemporaryMusicPath": "/music/temp/path/", - "ArchivePath": "/archive/path/", - "CoverArtPath": "/cover/art/path/" -} diff --git a/Icarus/nlog.config b/Icarus/nlog.config deleted file mode 100644 index 34dc456..0000000 --- a/Icarus/nlog.config +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 891c32e..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 Kun Deng - -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/Migrations/.empty b/Migrations/.empty deleted file mode 100644 index e69de29..0000000 diff --git a/Models/AccessLevel.cs b/Models/AccessLevel.cs deleted file mode 100644 index d983b31..0000000 --- a/Models/AccessLevel.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.ComponentModel.DataAnnotations.Schema; - -namespace Icarus.Models; - -public class AccessLevel -{ - #region Properties - [Newtonsoft.Json.JsonProperty("id")] - public int Id { get; set; } - [Newtonsoft.Json.JsonProperty("level")] - public string? Level { get; set; } - [Newtonsoft.Json.JsonProperty("song_id")] - public int SongId { get; set; } - #endregion - - #region Methods - public static AccessLevel DefaultLevel() - { - return new AccessLevel - { - Level = "Public" - }; - } - - public static AccessLevel PrivateLevel() - { - return new AccessLevel - { - Level = "Private" - }; - } - - public static bool IsAccessLevelValid(string level) - { - if (level.Equals(DefaultLevel().Level)) - { - return true; - } - else if (level.Equals(PrivateLevel().Level)) - { - return true; - } - else - { - return false; - } - } - #endregion -} - - diff --git a/Models/Album.cs b/Models/Album.cs deleted file mode 100644 index 715f745..0000000 --- a/Models/Album.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel.DataAnnotations.Schema; - -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class Album -{ - #region Properties - [JsonProperty("id")] - public int Id { get; set; } - [JsonProperty("title")] - public string? Title { get; set; } - [JsonProperty("album_artist")] - [Column("Artist")] - public string? AlbumArtist { get; set; } - [JsonProperty("song_count")] - [NotMapped] - public int SongCount { get; set; } - [JsonProperty("year")] - public int Year { get; set; } - #endregion -} diff --git a/Models/Artist.cs b/Models/Artist.cs deleted file mode 100644 index 699930f..0000000 --- a/Models/Artist.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.ComponentModel.DataAnnotations.Schema; - -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class Artist -{ - #region Properties - [JsonProperty("id")] - public int Id { get; set; } - [JsonProperty("name")] - [Column("Artist")] - public string? Name { get; set; } - [JsonProperty("song_count")] - [NotMapped] - public int SongCount { get; set; } - #endregion -} diff --git a/Models/BaseResult.cs b/Models/BaseResult.cs deleted file mode 100644 index 2740123..0000000 --- a/Models/BaseResult.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class BaseResult -{ - [JsonProperty("message")] - public string? Message { get; set; } -} diff --git a/Models/Constants/DirectoryPaths.cs b/Models/Constants/DirectoryPaths.cs deleted file mode 100644 index 37d96c4..0000000 --- a/Models/Constants/DirectoryPaths.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Icarus.Constants; - -public class DirectoryPaths -{ - public static string CoverArtDirectory => Directory.GetCurrentDirectory() + "/Images/Stock/"; - public static string CoverArtFilename => "CoverArt.png"; - public static string FILENAME_CHARACTERS = "ABCDEF0123456789"; - public static int FILENAME_LENGTH = 25; -} diff --git a/Models/Constants/FileExtensions.cs b/Models/Constants/FileExtensions.cs deleted file mode 100644 index 452aac7..0000000 --- a/Models/Constants/FileExtensions.cs +++ /dev/null @@ -1,22 +0,0 @@ -namespace Icarus.Constants; - -public class FileExtensions -{ - // Contains the default audio file extension with period at the beginning - public static string DEFAULT_AUDIO_EXTENSION = WAV_EXTENSION!; - - // Contains file extension with period at the beginning - public static string MP3_EXTENSION = ".mp3"; - - // Contains file extension with period at the beginning - public static string WAV_EXTENSION = ".wav"; - - // Contains file extension with period at the beginning - public static string JPG_EXTENSION = ".jpg"; - - // Contains file extension with period at the beginning - public static string FLAC_EXTENSION = ".flac"; - - // Contains file extension with period at the beginning - public static string ZIP_EXTENSION = ".zip"; -} diff --git a/Models/CoverArt.cs b/Models/CoverArt.cs deleted file mode 100644 index 3343e17..0000000 --- a/Models/CoverArt.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class CoverArt -{ - #region Properties - [JsonProperty("id")] - public int Id { get; set; } - [JsonProperty("title")] - public string? SongTitle { get; set; } - [JsonIgnore] - public string? Directory { get; set; } - [JsonProperty("filename")] - public string? Filename { get; set; } - [JsonProperty("type")] - public string? Type { get; set; } - #endregion - - - #region Methods - public string ImagePath() - { - var fullPath = this.Directory; - - if (fullPath![fullPath.Length - 1] != '/') - { - fullPath += "/"; - } - - fullPath += Filename; - - return fullPath; - } - - public string GenerateFilename(int flag) - { - int length = Constants.DirectoryPaths.FILENAME_LENGTH; - string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS; - var random = new Random(); - var filename = new string(Enumerable.Repeat(chars, length).Select(s => - s[random.Next(s.Length)]).ToArray()); - var extension = Constants.FileExtensions.JPG_EXTENSION; - - return (flag == 0) ? filename : $"{filename}{extension}"; - } - - public async Task GetData() => await File.ReadAllBytesAsync(this.ImagePath()); - #endregion -} diff --git a/Models/CreateFile.cs b/Models/CreateFile.cs deleted file mode 100644 index 6e16e3d..0000000 --- a/Models/CreateFile.cs +++ /dev/null @@ -1,11 +0,0 @@ - - - -namespace Icarus.Models; - -public enum CreateFileResult -{ - Unknwon = 0, - AlreadyExists = 1, - FileCreatedAndExists = 2 -} \ No newline at end of file diff --git a/Models/Genre.cs b/Models/Genre.cs deleted file mode 100644 index c1a4af1..0000000 --- a/Models/Genre.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.ComponentModel.DataAnnotations.Schema; - -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class Genre -{ - #region Properties - [JsonProperty("id")] - public int Id { get; set; } - [JsonProperty("genre")] - [Column("Category")] - public string? GenreName { get; set; } - [JsonProperty("song_count")] - [NotMapped] - public int SongCount { get; set; } - #endregion -} diff --git a/Models/LoginResult.cs b/Models/LoginResult.cs deleted file mode 100644 index d8d4da7..0000000 --- a/Models/LoginResult.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class LoginResult : BaseResult -{ - #region Properties - [JsonProperty("user_id")] - public int UserId { get; set; } - [JsonProperty("username")] - public string? Username { get; set; } - [JsonProperty("token")] - public string? Token { get; set; } - [JsonProperty("token_type")] - public string? TokenType { get; set; } - [JsonProperty("expiration")] - public int Expiration { get; set; } - #endregion -} diff --git a/Models/Models.csproj b/Models/Models.csproj deleted file mode 100644 index 96fc5db..0000000 --- a/Models/Models.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - - net8.0 - Icarus.Models - Icarus.Models - enable - enable - - - - - - - - - - - diff --git a/Models/RegisterResult.cs b/Models/RegisterResult.cs deleted file mode 100644 index 798942a..0000000 --- a/Models/RegisterResult.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class RegisterResult : BaseResult -{ - #region Properties - [JsonProperty("username")] - public string? Username { get; set; } - [JsonProperty("successfully_registered")] - public bool SuccessfullyRegistered { get; set; } - #endregion -} diff --git a/Models/Song.cs b/Models/Song.cs deleted file mode 100644 index c314adf..0000000 --- a/Models/Song.cs +++ /dev/null @@ -1,177 +0,0 @@ -using System.ComponentModel.DataAnnotations.Schema; - -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class Song -{ - #region Properties - [JsonProperty("id")] - public int Id { get; set; } - [JsonProperty("title")] - public string? Title { get; set; } - [JsonProperty("album")] - [Column("Album")] - public string? AlbumTitle { get; set; } - [JsonProperty("artist")] - public string? Artist { get; set; } - [JsonProperty("album_artist")] - public string? AlbumArtist { get; set; } - [JsonProperty("year")] - public int? Year { get; set; } - [JsonProperty("genre")] - public string? Genre { get; set; } - [JsonProperty("duration")] - public int Duration { get; set; } - [JsonProperty("filename")] - public string? Filename { get; set; } - [JsonIgnore] - public string? SongDirectory { get; set; } - [JsonProperty("audio_type")] - public string? AudioType { get; set; } - [JsonProperty("track")] - public int Track { get; set; } = 0; - [JsonProperty("track_count")] - public int TrackCount { get; set; } = 0; - [JsonProperty("disc")] - public int Disc { get; set; } = 0; - [JsonProperty("disc_count")] - public int DiscCount { get; set; } = 0; - [JsonIgnore] - public int? AlbumId { get; set; } - [JsonIgnore] - public int? ArtistId { get; set; } - [JsonIgnore] - public int? GenreId { get; set; } - [JsonIgnore] - public int? CoverArtId { get; set; } - [JsonProperty("date_created")] - public DateTime DateCreated { get; set; } - [JsonProperty("user_id")] - public int UserId { get; set; } - #endregion - - - #region Constructors - #endregion - - - #region Methods - public void PrintMetadata() - { - Console.WriteLine("\n\nMetadata of the song:"); - Console.WriteLine($"ID: {this.Id}"); - Console.WriteLine($"Title: {this.Title}"); - Console.WriteLine($"Artist: {this.Artist}"); - Console.WriteLine($"Album: {this.AlbumTitle}"); - Console.WriteLine($"Genre: {this.Genre}"); - Console.WriteLine($"Year: {this.Year}"); - Console.WriteLine($"Duration: {this.Duration}"); - Console.WriteLine($"AlbumID: {this.AlbumId}"); - Console.WriteLine($"ArtistID: {this.ArtistId}"); - Console.WriteLine($"GenreID: {this.GenreId}"); - Console.WriteLine($"Song Path: {this.SongPath()}"); - Console.WriteLine($"Filename: {this.Filename}"); - Console.WriteLine("\n"); - } - - public string SongPath() - { - var fullPath = SongDirectory; - - if (fullPath![fullPath.Length - 1] != '/') - { - fullPath += "/"; - } - - fullPath += Filename; - - return fullPath; - } - - public string GenerateFilename(bool includeExtension = false, AudioFileExtensionsType flag = AudioFileExtensionsType.Default) - { - int length = Constants.DirectoryPaths.FILENAME_LENGTH; - string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS; - var filename = this.Generate(length, chars); - var extension = this.DetermineFileExtension(flag); - - return includeExtension ? $"{filename}{extension}" : filename; - } - public async Task GenerateFilenameAsync(bool includeExtension = false, AudioFileExtensionsType flag = AudioFileExtensionsType.Default) - { - int length = Constants.DirectoryPaths.FILENAME_LENGTH; - string chars = Constants.DirectoryPaths.FILENAME_CHARACTERS; - var extension = this.DetermineFileExtension(flag); - var filename = await Task.Run(() => - { - return this.Generate(length, chars); - }); - - return includeExtension ? $"{filename}{extension}" : filename; - } - - public CreateSongResult Create(Microsoft.AspNetCore.Http.IFormFile file, string filePath, string prompt) - { - if (System.IO.File.Exists(filePath)) - { - return CreateSongResult.AlreadyExists; - } - - using (var filestream = new FileStream(filePath, FileMode.Create)) - { - Console.WriteLine(prompt); - file.CopyTo(filestream); - - if (System.IO.File.Exists(filePath)) - { - return CreateSongResult.Created; - } - } - - return CreateSongResult.NotCreated; - } - - private string DetermineFileExtension(AudioFileExtensionsType flag) - { - switch (flag) - { - case AudioFileExtensionsType.Default: - return Constants.FileExtensions.DEFAULT_AUDIO_EXTENSION; - case AudioFileExtensionsType.WAV: - return Constants.FileExtensions.WAV_EXTENSION; - case AudioFileExtensionsType.FLAC: - return Constants.FileExtensions.FLAC_EXTENSION; - default: - return ""; - } - } - - private string Generate(int length, string chars) - { - var random = new Random(); - var filename = new string(Enumerable.Repeat(chars, length).Select(s => - s[random.Next(s.Length)]).ToArray()); - return filename; - } - #endregion - -} - -#region Enums -public enum AudioFileExtensionsType -{ - Default = 0, - WAV = 1, - FLAC = 2 -} - -public enum CreateSongResult -{ - NotCreated = 0, - AlreadyExists = 1, - Created = 2 -} -#endregion - diff --git a/Models/SongData.cs b/Models/SongData.cs deleted file mode 100644 index 8600368..0000000 --- a/Models/SongData.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Icarus.Models; - -public class SongData -{ - #region Properties - public int ID { get; set; } - public byte[]? Data { get; set; } - public int SongID { get; set; } - #endregion -} diff --git a/Models/SongResult.cs b/Models/SongResult.cs deleted file mode 100644 index dd8dbf9..0000000 --- a/Models/SongResult.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Newtonsoft.Json; - -namespace Icarus.Models; - -public class SongResult -{ - #region Properties - [JsonProperty("message")] - public string? Message { get; set; } - [JsonProperty("song_title")] - public string? SongTitle { get; set; } - #endregion -} diff --git a/Models/Token.cs b/Models/Token.cs deleted file mode 100644 index aab8a50..0000000 --- a/Models/Token.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Newtonsoft.Json; - - -namespace Icarus.Models; - -public class Token -{ - #region Properties - [JsonProperty("scope")] - public string? Scope { get; set; } - [JsonProperty("exp")] - public int Expiration { get; set; } - [JsonProperty("aud")] - public string? Audience { get; set; } - [JsonProperty("iss")] - public string? Issuer { get; set; } - [JsonProperty("iat")] - public int Issued { get; set; } - #endregion - - #region Methods - public bool TokenExpired() - { - var currentDate = DateTime.Now; - var currentDateInSeconds = Math.Floor((currentDate - DateTime.UnixEpoch).TotalSeconds); - var result = (currentDateInSeconds >= Expiration) ? true : false; - - return result; - } - - public bool ContainsScope(string desiredScope) - { - var result = Scope!.Contains(desiredScope); - - return result; - } - - public bool Erroneous() - { - Func isEmpty = a => string.IsNullOrEmpty(a); - var result = (!isEmpty(Scope!) && !isEmpty(Audience!) && !isEmpty(Issuer!) && - Expiration > 0 && Issued > 0) ? false : true; - - return result; - } - #endregion -} diff --git a/Models/User.cs b/Models/User.cs deleted file mode 100644 index 95182f4..0000000 --- a/Models/User.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; - -using Newtonsoft.Json; - -namespace Icarus.Models; - -[Table("User")] -public class User -{ - #region Properties - [JsonProperty("id")] - [Column("Id")] - [Key] - public int Id { get; set; } - [JsonProperty("username")] - public string? Username { get; set; } - [JsonProperty("password")] - public string? Password { get; set; } - [JsonProperty("email")] - public string? Email { get; set; } - [JsonProperty("phone")] - [Column("Phone")] - public string? Phone { get; set; } - [JsonProperty("firstname")] - public string? Firstname { get; set; } - [JsonProperty("lastname")] - public string? Lastname { get; set; } - [JsonProperty("email_verified")] - [NotMapped] - public bool EmailVerified { get; set; } - [JsonProperty("date_created")] - public DateTime DateCreated { get; set; } - [JsonProperty("status")] - public string? Status { get; set; } - [JsonProperty("last_login")] - public DateTime? LastLogin { get; set; } - - [JsonIgnore] - [NotMapped] - public System.Collections.Generic.IEnumerable? Roles { get; set; } - #endregion - - - #region Methods - public System.Collections.Generic.IEnumerable Claims() - { - var claims = new System.Collections.Generic.List { new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.Name, Username!) }; - claims.AddRange(Roles!.Select(role => new System.Security.Claims.Claim(System.Security.Claims.ClaimTypes.Role, role))); - - return claims; - } - #endregion -} diff --git a/README.md b/README.md deleted file mode 100644 index a472edd..0000000 --- a/README.md +++ /dev/null @@ -1,155 +0,0 @@ -# Icarus - -Icarus is a music streaming API Server that interacts with [Mear](https://github.com/kdeng00/mear). - -### Interfacing With Icarus - -One can interface with Icarus the music server either by: - -* [Mear](https://github.com/kdeng00/mear) - Partially implemented (under development) -* [IcarusDownloadManager](https://github.com/kdeng00/IcarusDownloadManager) - - -## Built With - -* C# [.NET](https://dotnet.microsoft.com/) 8 -* [MySql](https://www.nuget.org/packages/MySql.Data/) -* OpenSSL -* BCrypt.Net-Next -* Iconic.Zlib.Netstandard -* JWT -* Microsoft.AspNetCore.Authentication.JwtBearer -* Microsoft.AspNetCore.Mvc.NewtonsoftJson -* Microsoft.EntityFrameworkCore -* Microsoft.EntityFrameworkCore.Tools -* MySql.EntityFrameworkCore -* [Newtonsoft.Json](https://www.newtonsoft.com/json) -* NLog.Web.AspNetCpre -* Portable.BouncyCastle -* RestSharp -* SevenZip -* System.IdentityModel.Tokens.Jwt -* [TagLib#](https://github.com/mono/taglib-sharp) - - - -## Getting started - -There are several things that need to be completed to properly setup and secure the API. -This API uses OpenAPI Specification 3.0. After configuring the API, launch the software -and navigate your browser to https://localhost:5001/swagger to view the endpoints. - -1. JWT Information -2. API filesystem paths -3. Database connection string -4. Migrations - - -### JWT Information - -Configure JWT information. Notably the Secret - -```Json - "JWT": { - "Issuer": "IcarusAPI", - "Audience": "IcarusAPIClient", - "Secret": "Manaiswhatyouthinkitis", - "Subject": "Authorization" - }, -``` - - -Replace [domain] with the domain name that represent's your domain. Replace [identifier] with the identifer root name in the appsettings environment file. Not the friendly name but the root name of the identifier, omitting the http protocol and the *api* path. - -```Json -"Auth0": { - "Domain": "[domain].auth0.com", - "ApiIdentifier": "https://[identifier]/api" -}, -``` - -**Note**: The Auth0 section is likely to be changed or removed in future releases. - - -### API filesystem paths - -For the purposes of properly uploading, downloading, updating, deleting, and streaming songs the API filesystem paths must be configured. What is meant by this is that the `RootMusicPath` directory where all music will be stored must exist as well as the `ArchivePath` and `TemporaryMusicPath` paths. An example on a Linux system: -```Json -{ - "RootMusicPath": "/home/dev/null/music/", - "TemporaryMusicPath": "/home/dev/null/music/temp/", - "ArchivePath": "/home/dev/null/music/archive/", - "CoverArtPath": "/home/dev/null/music/coverart/" -} -``` -* RootMusicPath - Where music will be stored in the following convention: *`Artist/Album/Songs`* -* TemporaryMusicPath - Where music will be stored when uploding songs to the server until the metadata has been fully parsed and entered into the database. Upon completion the files will be deleted and moved to the appropriate path in the `RootMusicPath` -* ArchivePath - When downloading compressed songs this is the path where songs will be compressed prior to dataa being read into memory, deleting the compressed file, and sending the compressed file from memory to the client -* CoverArtPath - Root directory where cover art will be saved to - - -**Note**: The `TemporaryMusic` or `ArchivePath` does not have to be located in the `RootMusicPath`. Ensure that the permissions are properly set for all of the paths. - -### Database connection string - -In order for Database functionality to be operable, there must be a valid connection string and credentials with appropriate permissions. **At the moment there is only support for MySQL**. Depending on your environment `Release` or `Debug` you will need to edit the appsettings.json or appsettings.Development.json accordingly. An example of the fields to change are below: - -```Json -{ - "ConnectionStrings": { - "DefaultConnection": "Server=localhost;Database=my_db;Uid=admin;Pwd=toughpassword;" - } -} -``` - -* Server - The address or domain name of the MySQL server -* Database - The database name -* Uid - Username -* Password - Self-explanatory - -The only requirement of the User is that the user should have full permissions to the database as well as permissions to create a database. Other than that, that is all that is required. - -### Migrations - -In order to utilize migrations the `dotnet-ef` tool needs to be installed. This can be done with the following command - -```BASH -dotnet tool restore -``` - -Prior to starting the API, the Migrations must be applied. There are 6 tables with migrations being applied and thy are: -* Users -* Song -* Album -* Artist -* CoverArt -* Genre - -There is a script for Linux systems to apply these migrations, it can be found in the [Scripts/Migrations/Linux](https://github.com/kdeng00/Icarus/blob/master/Scripts/Migrations/Linux/AddUpdate.sh) directory. Just merely execute: -```shell -scripts/Migrations/Linux/AddUpdate.sh -``` -Or you can manually add the migrations like so for each migration: -```shell -dotnet dotnet-ef migrations Add InitialCreate --context UserContext -``` -Then update the migrations to the database like so*: -```shell -dotnet dotnet-ef database update --context UserContext -``` - -All of the contexts can be found in Database/Contexts folder. - -From this point the database has been successfully configured. Metadata and song filesystem locations can be saved. - -* Will only need to execute this for UserContext and SongContext because the Song table has relational constraints with Album, Artist, Year, and Genre. - -## Contributing - -Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on the code of conduct, and the process for submitting pull requests to the project. - - -## License - -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details - diff --git a/Scripts/Migrations/Linux/AddUpdate.sh b/Scripts/Migrations/Linux/AddUpdate.sh deleted file mode 100755 index 6c8f01a..0000000 --- a/Scripts/Migrations/Linux/AddUpdate.sh +++ /dev/null @@ -1,33 +0,0 @@ -echo "Adding migrations..." - -echo "Adding User migration" -dotnet dotnet-ef migrations add User --context UserContext -echo "Adding Album migration" -dotnet dotnet-ef migrations add Album --context AlbumContext -echo "Adding Artist migration" -dotnet dotnet-ef migrations add Artist --context ArtistContext -echo "Adding Genre migration" -dotnet dotnet-ef migrations add Genre --context GenreContext -echo "Adding Cover art migration" -dotnet dotnet-ef migrations add CoverArt --context CoverArtContext -echo "Adding Song migration" -dotnet dotnet-ef migrations add Song --context SongContext -echo "Adding AccessLevel migration" -dotnet dotnet-ef migrations add AccessLevel --context AccessLevelContext - -echo "Updating migrations.." -echo "Updating User migration" -dotnet dotnet-ef database update --context UserContext -echo "Updating Album migration" -dotnet dotnet-ef database update --context AlbumContext -echo "Updating Artist migration" -dotnet dotnet-ef database update --context ArtistContext -echo "Updating Genre migration" -dotnet dotnet-ef database update --context GenreContext -echo "Updating Cover art migration" -dotnet dotnet-ef database update --context CoverArtContext -echo "Updating Song migration" -dotnet dotnet-ef database update --context SongContext -echo "Updating AccessLevel migration" -dotnet dotnet-ef database update --context AccessLevelContext - diff --git a/Scripts/MySQL/create_database.sql b/Scripts/MySQL/create_database.sql deleted file mode 100644 index 10b54b0..0000000 --- a/Scripts/MySQL/create_database.sql +++ /dev/null @@ -1,78 +0,0 @@ -CREATE DATABASE Icarus; - -USE Icarus; - -CREATE TABLE CoverArt ( - Id INT NOT NULL AUTO_INCREMENT, - SongTitle TEXT NOT NULL, - ImagePath TEXT NOT NULL, - - PRIMARY KEY (Id) -); - -CREATE TABLE Album ( - Id INT NOT NULL AUTO_INCREMENT, - Title TEXT NOT NULL, - Artist TEXT NOT NULL, - Year INT NOT NULL, - - PRIMARY KEY (Id) -); - -CREATE TABLE Artist ( - Id INT NOT NULL AUTO_INCREMENT, - Artist TEXT NOT NULL, - - PRIMARY KEY (Id) -); - -CREATE TABLE Genre ( - Id INT NOT NULL AUTO_INCREMENT, - Category TEXT NOT NULL, - - PRIMARY KEY (Id) -); - - -CREATE TABLE Song ( - Id INT NOT NULL AUTO_INCREMENT, - Title TEXT NOT NULL, - Artist TEXT NOT NULL, - Album TEXT NOT NULL, - AlbumArtist TEXT NOT NULL, - Genre TEXT NOT NULL, - Year INT NOT NULL, - Duration INT NOT NULL, - Track INT NOT NULL, - TrackCount INT NOT NULL, - Disc INT NOT NULL, - DiscCount INT NOT NULL, - SongDirectory TEXT NOT NULL, - Filename TEXT NOT NULL, - CoverArtId INT NOT NULL, - ArtistId INT NOT NULL, - AlbumId INT NOT NULL, - GenreId INT NOT NULL, - DateCreated DATETIME DEFAULT CURRENT_TIMESTAMP, - - PRIMARY KEY (Id), - CONSTRAINT FK_Song_CoverArtId FOREIGN KEY (CoverArtId) REFERENCES CoverArt (Id), - CONSTRAINT FK_Song_ArtistId FOREIGN KEY (ArtistId) REFERENCES Artist (Id), - CONSTRAINT FK_Song_AlbumId FOREIGN KEY (AlbumId) REFERENCES Album (Id), - CONSTRAINT FK_Song_GenreId FOREIGN KEY (GenreId) REFERENCES Genre (Id) -); - -CREATE TABLE User ( - Id INT NOT NULL AUTO_INCREMENT, - Firstname TEXT NOT NULL, - Lastname TEXT NOT NULL, - Email TEXT NOT NULL, - Phone TEXT NOT NULL, - Username TEXT NOT NULL, - Password TEXT NOT NULL, - DateCreated DATETIME DEFAULT CURRENT_TIMESTAMP, - Status TEXT DEFAULT 'Active', - LastLogin DATETIME NULL, - - PRIMARY KEY (Id) -); diff --git a/Scripts/MySQL/delete_all.sql b/Scripts/MySQL/delete_all.sql deleted file mode 100644 index d33190e..0000000 --- a/Scripts/MySQL/delete_all.sql +++ /dev/null @@ -1,7 +0,0 @@ -delete from Album; -delete from Artist; -delete from CoverArt; -delete from Genre; -delete from CoverArt; -delete from Song; -delete from User; diff --git a/Scripts/MySQL/display_songs.sql b/Scripts/MySQL/display_songs.sql deleted file mode 100644 index e693e0f..0000000 --- a/Scripts/MySQL/display_songs.sql +++ /dev/null @@ -1 +0,0 @@ -select * from Song; diff --git a/Scripts/MySQL/drop_and_create_database.sql b/Scripts/MySQL/drop_and_create_database.sql deleted file mode 100644 index 8d8a59c..0000000 --- a/Scripts/MySQL/drop_and_create_database.sql +++ /dev/null @@ -1,3 +0,0 @@ -drop database Icarus; - -create database Icarus; diff --git a/Scripts/MySQL/drop_database.sql b/Scripts/MySQL/drop_database.sql deleted file mode 100644 index 869a0cb..0000000 --- a/Scripts/MySQL/drop_database.sql +++ /dev/null @@ -1 +0,0 @@ -drop database Icarus; \ No newline at end of file diff --git a/Scripts/MySQL/tables/ArtistContext.sql b/Scripts/MySQL/tables/ArtistContext.sql deleted file mode 100644 index 1116735..0000000 --- a/Scripts/MySQL/tables/ArtistContext.sql +++ /dev/null @@ -1,19 +0,0 @@ -CREATE TABLE IF NOT EXISTS `__EFMigrationsHistory` ( - `MigrationId` varchar(150) NOT NULL, - `ProductVersion` varchar(32) NOT NULL, - PRIMARY KEY (`MigrationId`) -); - -START TRANSACTION; - -CREATE TABLE `Artist` ( - `Id` int NOT NULL AUTO_INCREMENT, - `Artist` longtext NULL, - PRIMARY KEY (`Id`) -); - -INSERT INTO `__EFMigrationsHistory` (`MigrationId`, `ProductVersion`) -VALUES ('20240620205519_ModelIdChanges', '8.0.6'); - -COMMIT; - diff --git a/Scripts/convert_wav_to_flac.zsh b/Scripts/convert_wav_to_flac.zsh deleted file mode 100755 index a35e6e0..0000000 --- a/Scripts/convert_wav_to_flac.zsh +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/bin/zsh -# -# Working directory -# Output directory -# Folder name creation -# Sub-folder name creation -# -# Validation -# Check if WORK_DIR is an actual directory -# Check if OUTPUT_DIR exists -# Check if the Folder and Sub folder has been created -# Check if WORK_DIR contains .wav files -# -# Conversion -# Convert wav files to flac files -# Create folder and sub folder if it does not exist -# Move the converted flac files to the sub folder -# -# Final -# Check if OUTPUT_DIR has the folder structure. Delete if so -# Move the folder and sub folder to OUTPUT_DIR - -if [[ $# -eq 0 ]]; then - my_text="No arguments provided. Provide four arguments:\n" - my_text+="script.zsh \"working_dir\" \"output_dir\" \"folder_name\" \"sub_folder_name\"" - - echo "$my_text" - exit -fi - -if [[ ! -n "$2" ]]; then - echo "The \"output_dir\" has not been provided" - exit -fi - -if [[ ! -n "$3" ]]; then - echo "The \"folder_name\" has not been provided" - exit -fi - -if [[ ! -n "$4" ]]; then - echo "The \"sub_folder_name\" has not been provided" - exit -fi - -WORK_DIR=$1 -OUTPUT_DIR=$2 -FOLDER=$3 -SUB_FOLDER=$4 - -# Validation - -if [[ ! -d $WORK_DIR ]]; then - echo "$WORK_DIR is not a directory" - exit -fi - -if [[ ! -d $OUTPUT_DIR ]]; then - echo "$OUTPUT_DIR does not exist" - exit -fi - -FOLDER_DIR="$OUTPUT_DIR/$FOLDER" - -if [[ ! -d $FOLDER_DIR ]]; then - echo "$FOLDER_DIR directory does not exist. Creating directory" - mkdir $FOLDER_DIR - echo "Created $FOLDER_DIR directory" -fi - -FOLDER_DIR="$FOLDER_DIR/$SUB_FOLDER" - -if [[ ! -d $FOLDER_DIR ]]; then - echo "$FOLDER_DIR directory does not exist. Creating directory" - mkdir $FOLDER_DIR - echo "Created $FOLDER_DIR directory" -fi - -# Find all files matching the pattern in the directory -matched_files=( "$WORK_DIR"/*.wav ) - -# Check if any files were found -if [[ ${#matched_files[@]} -gt 0 ]]; then - echo "Files matching the pattern exist in the directory:" -else - echo "No files matching the pattern were found." - exit -fi - -echo "Working directory: $WORK_DIR" -echo "Output directory: $OUTPUT_DIR" -echo "Folder name: $FOLDER" -echo "Sub folder name: $SUB_FOLDER" - -# Conversion -i=1 - -for file in "${matched_files[@]}"; do - file_output="track" - - if [[ $i -lt 10 ]]; then - file_output="track0$i.flac" - else - file_output="track$i.flac" - fi - - echo "$i file: $file" - - output_file_path="$FOLDER_DIR/$file_output" - echo "Output file path: $output_file_path" - - echo "Converting wav file to flac" - flac --best $file -o $output_file_path - - ALBUM_FILE="$WORK_DIR/new-album.json" - TARGET_ALBUM_FILE="$FOLDER_DIR/album.json" - - if [[ -f $ALBUM_FILE ]]; then - echo "Copying album file" - cp -a $ALBUM_FILE $TARGET_ALBUM_FILE - fi - - matched_img_files=( "$WORK_DIR"/*.[j,J,p,P][p,P,n,N]* ) - - # Check if any files were found - if [[ ${#matched_img_files[@]} -gt 0 ]]; then - echo "Files matching the pattern exist in the directory:" - echo "Copying cover art file(s)" - - for img_file in "${matched_img_files[@]}"; do - cp -a $img_file $FOLDER_DIR - done - fi - - i=$((i + 1)) -done -