From 58ccac931df3f39ceaf66cb739dcfa6d3368a5b3 Mon Sep 17 00:00:00 2001 From: Sachin Date: Wed, 17 Jul 2024 18:57:23 +0530 Subject: [PATCH] v1.0.0 --- .gitignore | 65 + Clientprefs/.gitignore | 64 + Clientprefs/API.cs | 271 ++ Clientprefs/Clientprefs.cs | 218 ++ Clientprefs/{src => }/Clientprefs.csproj | 4 +- Clientprefs/Config.cs | 25 + Clientprefs/Database.cs | 563 ++++ Clientprefs/PlayerExtensions.cs | 37 + Clientprefs/lang/en.json | 51 + Clientprefs/src/Clientprefs.cs | 24 - Clientprefs/src/Clientprefs.sln | 25 - .../obj/Clientprefs.csproj.nuget.dgspec.json | 88 - .../src/obj/Clientprefs.csproj.nuget.g.props | 21 - .../obj/Clientprefs.csproj.nuget.g.targets | 10 - ...CoreApp,Version=v8.0.AssemblyAttributes.cs | 4 - .../Debug/net8.0/Clientprefs.AssemblyInfo.cs | 22 - .../Clientprefs.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 13 - .../net8.0/Clientprefs.GlobalUsings.g.cs | 8 - .../obj/Debug/net8.0/Clientprefs.assets.cache | Bin 21972 -> 0 bytes ...Clientprefs.csproj.AssemblyReference.cache | Bin 20691 -> 0 bytes Clientprefs/src/obj/project.assets.json | 2689 ----------------- Clientprefs/src/obj/project.nuget.cache | 58 - ClientprefsApi/.gitignore | 65 + ClientprefsApi/ClientprefsApi.csproj | 12 + ClientprefsApi/ClientprefsApi.dll | Bin 0 -> 5632 bytes ClientprefsApi/IClientprefs.cs | 170 ++ ClientprefsExample/.gitignore | 65 + ClientprefsExample/ClientprefsExample.cs | 99 + ClientprefsExample/ClientprefsExample.csproj | 17 + README.MD | 70 + 31 files changed, 1794 insertions(+), 2965 deletions(-) create mode 100644 .gitignore create mode 100644 Clientprefs/.gitignore create mode 100644 Clientprefs/API.cs create mode 100644 Clientprefs/Clientprefs.cs rename Clientprefs/{src => }/Clientprefs.csproj (85%) create mode 100644 Clientprefs/Config.cs create mode 100644 Clientprefs/Database.cs create mode 100644 Clientprefs/PlayerExtensions.cs create mode 100644 Clientprefs/lang/en.json delete mode 100644 Clientprefs/src/Clientprefs.cs delete mode 100644 Clientprefs/src/Clientprefs.sln delete mode 100644 Clientprefs/src/obj/Clientprefs.csproj.nuget.dgspec.json delete mode 100644 Clientprefs/src/obj/Clientprefs.csproj.nuget.g.props delete mode 100644 Clientprefs/src/obj/Clientprefs.csproj.nuget.g.targets delete mode 100644 Clientprefs/src/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs delete mode 100644 Clientprefs/src/obj/Debug/net8.0/Clientprefs.AssemblyInfo.cs delete mode 100644 Clientprefs/src/obj/Debug/net8.0/Clientprefs.AssemblyInfoInputs.cache delete mode 100644 Clientprefs/src/obj/Debug/net8.0/Clientprefs.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 Clientprefs/src/obj/Debug/net8.0/Clientprefs.GlobalUsings.g.cs delete mode 100644 Clientprefs/src/obj/Debug/net8.0/Clientprefs.assets.cache delete mode 100644 Clientprefs/src/obj/Debug/net8.0/Clientprefs.csproj.AssemblyReference.cache delete mode 100644 Clientprefs/src/obj/project.assets.json delete mode 100644 Clientprefs/src/obj/project.nuget.cache create mode 100644 ClientprefsApi/.gitignore create mode 100644 ClientprefsApi/ClientprefsApi.csproj create mode 100644 ClientprefsApi/ClientprefsApi.dll create mode 100644 ClientprefsApi/IClientprefs.cs create mode 100644 ClientprefsExample/.gitignore create mode 100644 ClientprefsExample/ClientprefsExample.cs create mode 100644 ClientprefsExample/ClientprefsExample.csproj create mode 100644 README.MD diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2a41c54 --- /dev/null +++ b/.gitignore @@ -0,0 +1,65 @@ +# +# The file was created by KitsuneLab - Entity (@Sples1) +# +### KitsuneLab ### +# Folders +.build/ +.vanish/ + +# SourcePawn +*.smx + +# Others +*.exe +*.dat +*.bat + +### VisualStudioCode ### +.vscode/ +.vs/ +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# macOS-specific files and directories to ignore +.DS_Store +.AppleDouble/ +__MACOSX/ + +# Remove dotnet normal build +bin/ +obj/ +*.sln +*.txt \ No newline at end of file diff --git a/Clientprefs/.gitignore b/Clientprefs/.gitignore new file mode 100644 index 0000000..a921f68 --- /dev/null +++ b/Clientprefs/.gitignore @@ -0,0 +1,64 @@ +# +# The file was created by KitsuneLab - Entity (@Sples1) +# +### KitsuneLab ### +# Folders +.build/ +.vanish/ + +# SourcePawn +*.smx + +# Others +*.exe +*.dat +*.bat + +### VisualStudioCode ### +.vscode/ +.vs/ +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# macOS-specific files and directories to ignore +.DS_Store +.AppleDouble/ +__MACOSX/ + +# Remove dotnet normal build +bin/ +obj/ +*.sln \ No newline at end of file diff --git a/Clientprefs/API.cs b/Clientprefs/API.cs new file mode 100644 index 0000000..d86fe01 --- /dev/null +++ b/Clientprefs/API.cs @@ -0,0 +1,271 @@ +using CounterStrikeSharp.API.Core; +using Clientprefs.API; +using CounterStrikeSharp.API.Modules.Entities; +using Microsoft.Extensions.Logging; + +namespace Clientprefs; + +public partial class Clientprefs +{ + public void AddClientprefCommands(string name, string description, CookieAccess access) + { + g_ClientPrefs.Add(new ClientPrefs() + { + Id = g_iLatestClientprefID, + Name = name, + Description = description, + Access = access + }); + } + + public int FindPlayerCookie(string name) + { + if(ClientPrefExists(name)) + { + return GetClientPrefByName(name); + } + return -1; + } + + public CookieAccess GetCookieAccess(int cookieId) + { + return g_ClientPrefs.Find(p => p.Id == cookieId)!.Access; + } + + public void ChangePlayerClientPrefNewValue(string steamId, int cookieId, string value) + { + g_PlayerClientPrefs[steamId].First(p => p.Id == cookieId).NewValue = value; + } + + public void AddPlayerClientPrefNewValue(string steamId, int cookieId, string value) + { + if (!g_PlayerClientPrefs.ContainsKey(steamId)) + { + g_PlayerClientPrefs.Add(steamId, new List()); + } + + g_PlayerClientPrefs[steamId].Add(new PlayerClientPrefs() + { + Id = cookieId, + NewValue = value + }); + } + + public int ClientPrefCount() + { + return g_ClientPrefs.Count(); + } + + public bool ClientPrefExists(string name) + { + return g_ClientPrefs.Any(p => p.Name == name || p.Id == g_iLatestClientprefID); + } + + public int GetClientPrefByName(string name) + { + return g_ClientPrefs.First(p => p.Name == name).Id; + } + + public void LogWarning(string message) + { + Logger.LogWarning($"{LogPrefix} {message}"); + } +} + +public class ClientprefsApi : IClientprefsApi +{ + public Clientprefs plugin; + + public ClientprefsApi(Clientprefs plugin) + { + this.plugin = plugin; + } + + private List _onPlayerCookiesCachedHooks = new(); + private List _onDatabaseReadyHooks = new(); + + public int RegPlayerCookie(string name, string description, CookieAccess access = CookieAccess.CookieAccess_Public) + { + if(plugin.ClientPrefExists(name)) + { + return plugin.GetClientPrefByName(name); + } + + if(name.Length > IClientprefsApi.COOKIE_MAX_NAME_LENGTH) + { + plugin.LogWarning($"RegPlayerCookie was used with name being too long"); + } + if(description.Length > IClientprefsApi.COOKIE_MAX_DESCRIPTION_LENGTH) + { + plugin.LogWarning($"RegPlayerCookie was used with to description being too long"); + } + + if(plugin.CreatePlayerCookie(name, description, access)) + { + plugin.AddClientprefCommands(name, description, access); + return plugin.g_iLatestClientprefID++; + } + else + { + return -1; + } + } + + public int FindPlayerCookie(string name) + { + if(plugin.ClientPrefExists(name)) + { + return plugin.GetClientPrefByName(name); + } + return -1; + } + + public string GetPlayerCookie(CCSPlayerController player, int cookieId) + { + if(!player.IsValidPlayer()) + { + throw new Exception($"GetPlayerCookie failed due to player being invalid"); + } + + if(!plugin.g_PlayerSettings.TryGetValue(player.SteamID.ToString(), out var pref) || !pref.Loaded) + { + throw new Exception($"GetPlayerCookie failed due to player not being loaded"); + } + + var steamId = player.SteamID.ToString(); + + if(!plugin.g_PlayerClientPrefs.TryGetValue(steamId, out var _)) + { + throw new Exception($"GetPlayerCookie failed due to it being called before cookies were loaded for player {steamId}"); + } + + if(plugin.g_PlayerClientPrefs[steamId].Any(p => p.Id == cookieId)) + { + return plugin.g_PlayerClientPrefs[steamId].First(p => p.Id == cookieId).NewValue; + } + return ""; + } + + public void SetPlayerCookie(CCSPlayerController player, int cookieId, string value) + { + if(!player.IsValidPlayer()) + { + throw new Exception($"SetPlayerCookie failed due to player being invalid"); + } + + if(value.Length > IClientprefsApi.COOKIE_MAX_VALUE_LENGTH) + { + plugin.LogWarning($"RegPlayerCookie was used with value being too long"); + } + + if(!plugin.g_PlayerSettings.TryGetValue(player.SteamID.ToString(), out var pref) || !pref.Loaded) + { + throw new Exception($"GetPlayerCookie failed due to player not being loaded"); + } + + var steamId = player.SteamID.ToString(); + + if(!plugin.g_PlayerClientPrefs.TryGetValue(steamId, out var _)) + { + throw new Exception($"SetPlayerCookie failed due to it being called before cookies were loaded for player {steamId}"); + } + + if(plugin.g_PlayerClientPrefs[steamId].Any(p => p.Id == cookieId)) + { + plugin.ChangePlayerClientPrefNewValue(steamId, cookieId, value); + } + else + { + plugin.AddPlayerClientPrefNewValue(steamId, cookieId, value); + } + } + + public void SetPlayerCookie(string steamId, int cookieId, string value) + { + if(!plugin.g_PlayerClientPrefs.TryGetValue(steamId, out var _)) + { + plugin.AddPlayerClientPrefNewValue(steamId, cookieId, value); + return; + } + + if(plugin.g_PlayerClientPrefs[steamId].Any(p => p.Id == cookieId)) + { + plugin.ChangePlayerClientPrefNewValue(steamId, cookieId, value); + } + else + { + plugin.AddPlayerClientPrefNewValue(steamId, cookieId, value); + } + } + + public bool ArePlayerCookiesCached(CCSPlayerController player) + { + if(!player.IsValidPlayer()) + { + throw new Exception($"ArePlayerCookiesCached failed due to player being invalid"); + } + + var steamId = player.SteamID.ToString(); + + return !plugin.g_PlayerSettings.TryGetValue(steamId, out var pref) || !pref.Loaded; + } + + public void HookPlayerCache(IClientprefsApi.PlayerCookiesCached hook) + { + _onPlayerCookiesCachedHooks.Add(hook); + } + + public void UnhookPlayerCache(IClientprefsApi.PlayerCookiesCached hook) + { + _onPlayerCookiesCachedHooks.Remove(hook); + } + + public void HookRegisterCookie(IClientprefsApi.DatabaseLoaded hook) + { + _onDatabaseReadyHooks.Add(hook); + } + + public void UnhookRegisterCookie(IClientprefsApi.DatabaseLoaded hook) + { + _onDatabaseReadyHooks.Remove(hook); + } + + public void ClearAPIHooks() + { + _onPlayerCookiesCachedHooks.Clear(); + _onDatabaseReadyHooks.Clear(); + } + + public void OnPlayerCookiesCached(CCSPlayerController player) + { + foreach (var hook in _onPlayerCookiesCachedHooks) + { + if(!player.IsValidPlayer()) continue; + + hook.Invoke(player); + } + } + + public void OnDatabaseLoaded() + { + foreach (var hook in _onDatabaseReadyHooks) + { + hook.Invoke(); + } + } + + public void SetCookiePrefabMenu(int cookieId, CookieMenu type, string display, Action cookieMenuHandler) + { + throw new NotImplementedException(); + } + + public void SetCookieMenuItem(Action cookieMenuHandler, string display) + { + throw new NotImplementedException(); + } + + public void ShowCookieMenu(CCSPlayerController player) + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/Clientprefs/Clientprefs.cs b/Clientprefs/Clientprefs.cs new file mode 100644 index 0000000..0f6bd3c --- /dev/null +++ b/Clientprefs/Clientprefs.cs @@ -0,0 +1,218 @@ +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Core.Attributes; +using CounterStrikeSharp.API.Core.Attributes.Registration; + +using Clientprefs.API; +using CounterStrikeSharp.API.Core.Capabilities; +using CounterStrikeSharp.API.Modules.Commands; + +namespace Clientprefs; + +[MinimumApiVersion(215)] +public partial class Clientprefs : BasePlugin, IPluginConfig +{ + public override string ModuleName => "Clientprefs"; + public override string ModuleDescription => "Clientprefs plugin for CounterStrikeSharp"; + public override string ModuleAuthor => "Cruze"; + public override string ModuleVersion => "1.0.0"; + + public class ClientPrefs + { + public int Id { get; set; } = -1; + public string Name { get; set; } = ""; + public string Description { get; set; } = ""; + public CookieAccess Access { get; set; } = CookieAccess.CookieAccess_Public; + + public ClientPrefs() + { + Id = -1; + Name = ""; + Description = ""; + Access = CookieAccess.CookieAccess_Public; + } + } + + public class PlayerClientPrefs + { + public int Id { get; set; } = -1; + public string OldValue { get; set; } = ""; + public string NewValue { get; set; } = ""; // save if oldvalue != newvalue + + public PlayerClientPrefs() + { + Id = -1; + OldValue = ""; + NewValue = ""; + } + } + + public class PlayerSettings + { + public bool Loaded { get; set; } = false; + + public PlayerSettings() + { + Loaded = false; + } + } + + private bool g_bDatabaseLoaded = false; + + public int g_iLatestClientprefID = 0; + + private const string LogPrefix = "[Clientprefs]"; + + public ClientprefsConfig Config { get; set; } = new(); + public PluginCapability g_PluginCapability = new("Clientprefs"); + + private ClientprefsApi ClientprefsApi = null!; + + public List g_ClientPrefs = new(); + public Dictionary> g_PlayerClientPrefs = new(); + public Dictionary g_PlayerSettings = new(); + + + public void OnConfigParsed(ClientprefsConfig config) + { + Config = config; + } + + public override void Load(bool hotReload) + { + base.Load(hotReload); + + g_ClientPrefs = new(); + g_PlayerClientPrefs = new(); + g_PlayerSettings = new(); + + ClientprefsApi = new ClientprefsApi(this); + Capabilities.RegisterPluginCapability(g_PluginCapability, () => ClientprefsApi); + + g_bDatabaseLoaded = false; + Database_OnPluginLoad(); + + Task.Run(ConnectDatabaseTable).Wait(); + } + + public override void Unload(bool hotReload) + { + base.Unload(hotReload); + + SavePlayerCookies(); + } + + [ConsoleCommand("css_cookies", "sm_cookies [value]")] + [ConsoleCommand("css_cookie", "sm_cookie [value]")] + public void OnCookiesCommand(CCSPlayerController? player, CommandInfo command) + { + if (command.ArgCount <= 1) + { + command.ReplyToCommand("[CSS] " + Localizer["Cookie Usage"]); + command.ReplyToCommand("[CSS] " + Localizer["Printing Cookie List"]); + + int count = 1; + foreach(var pref in g_ClientPrefs) + { + command.ReplyToCommand($"[CSS] [{count}] {pref.Name} {pref.Description}"); + count++; + } + return; + } + + if (player == null || !player.IsValid) + { + command.ReplyToCommand("[CSS] " + Localizer["No Console"]); + return; + } + + var name = command.GetArg(1); + + int cookie = FindPlayerCookie(name); + + if (cookie < 0) + { + command.ReplyToCommand("[CSS] " + Localizer["Cookie not Found", name]); + return; + } + + CookieAccess access = GetCookieAccess(cookie); + + if (access == CookieAccess.CookieAccess_Private) + { + command.ReplyToCommand("[CSS] " + Localizer["Cookie not Found", name]); + return; + } + + var steamId = player.SteamID.ToString(); + + string value = g_PlayerClientPrefs[steamId].First(p => p.Id == cookie).NewValue; + string description = g_ClientPrefs.First(p => p.Id == cookie).Description; + + command.ReplyToCommand($"[CSS] " + Localizer["Cookie Value", name, description, value]); + + if (access == CookieAccess.CookieAccess_Protected) + { + command.ReplyToCommand($"[CSS] " + Localizer["Protected Cookie"]); + return; + } + + value = command.GetArg(2); + + g_PlayerClientPrefs[steamId].First(p => p.Id == cookie).NewValue = value; + command.ReplyToCommand("[CSS] " + Localizer["Cookie Changed Value", name, value]); + } + + [ConsoleCommand("css_settings", "Settings command for clientprefs")] + public void OnSettingsCommand(CCSPlayerController? player, CommandInfo command) + { + if (player == null || !player.IsValid) + { + command.ReplyToCommand("[CSS] " + Localizer["No Console"]); + return; + } + command.ReplyToCommand("[CSS] Not yet implemented"); + // ClientprefsApi.ShowCookieMenu(player); + } + + [GameEventHandler] + public HookResult OnPlayerConnectFull(EventPlayerConnectFull @event, GameEventInfo _) + { + var player = @event.Userid; + + if (player == null || !player.IsValidPlayer()) + { + return HookResult.Continue; + } + + var steamId = player.SteamID.ToString(); + g_PlayerSettings[steamId] = new(); + GetPlayerCookies(player, steamId); + return HookResult.Continue; + } + + [GameEventHandler] + public HookResult OnPlayerDisconnect(EventPlayerDisconnect @event, GameEventInfo _) + { + var player = @event.Userid; + + if (player == null || !player.IsValidPlayer() || @event.Reason == 1) + { + return HookResult.Continue; + } + + SavePlayerCookies(player); + return HookResult.Continue; + } + + [GameEventHandler] + public HookResult OnMatchEnd(EventCsWinPanelMatch _, GameEventInfo __) + { + SavePlayerCookies(); + return HookResult.Continue; + } + + private int GetEpochTime() + { + return (int)DateTimeOffset.UtcNow.ToUnixTimeSeconds(); + } +} \ No newline at end of file diff --git a/Clientprefs/src/Clientprefs.csproj b/Clientprefs/Clientprefs.csproj similarity index 85% rename from Clientprefs/src/Clientprefs.csproj rename to Clientprefs/Clientprefs.csproj index c477854..1efaee0 100644 --- a/Clientprefs/src/Clientprefs.csproj +++ b/Clientprefs/Clientprefs.csproj @@ -4,7 +4,6 @@ net8.0 enable enable - true @@ -15,9 +14,10 @@ + - ../ChatProcessorApi\ChatProcessorApi.dll + ../ClientprefsApi/ClientprefsApi.dll diff --git a/Clientprefs/Config.cs b/Clientprefs/Config.cs new file mode 100644 index 0000000..b8addf6 --- /dev/null +++ b/Clientprefs/Config.cs @@ -0,0 +1,25 @@ +using CounterStrikeSharp.API.Core; +using System.Text.Json.Serialization; + +namespace Clientprefs; +public class ClientprefsConfig : BasePluginConfig +{ + [JsonPropertyName("TableName")] + public string TableName { get; set; } = "css_cookies"; + [JsonPropertyName("TableNamePlayerData")] + public string TableNamePlayerData { get; set; } = "css_cookies_playerdata"; + [JsonPropertyName("DatabaseType")] + public string DatabaseType { get; set; } = "sqlite"; + [JsonPropertyName("DatabaseHost")] + public string DatabaseHost { get; set; } = ""; + [JsonPropertyName("DatabaseName")] + public string DatabaseName { get; set; } = ""; + [JsonPropertyName("DatabaseUsername")] + public string DatabaseUsername { get; set; } = ""; + [JsonPropertyName("DatabasePassword")] + public string DatabasePassword { get; set; } = ""; + [JsonPropertyName("DatabasePort")] + public int DatabasePort { get; set; } = 3306; + [JsonPropertyName("DatabaseSslmode")] + public string DatabaseSslmode { get; set; } = ""; +} \ No newline at end of file diff --git a/Clientprefs/Database.cs b/Clientprefs/Database.cs new file mode 100644 index 0000000..9abac7e --- /dev/null +++ b/Clientprefs/Database.cs @@ -0,0 +1,563 @@ +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Core; +using Dapper; +using Microsoft.Extensions.Logging; +using MySqlConnector; +using Microsoft.Data.Sqlite; + +using Clientprefs.API; + +namespace Clientprefs; +public partial class Clientprefs +{ + private string SQLiteDatasource = ""; + + private void Database_OnPluginLoad() + { + SQLiteDatasource = $"Data Source={Path.Join(ModuleDirectory, "clientprefs.db")}"; + } + + private MySqlConnection CreateConnection() + { + MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder + { + Server = Config.DatabaseHost, + UserID = Config.DatabaseUsername, + Password = Config.DatabasePassword, + Database = Config.DatabaseName, + Port = (uint)Config.DatabasePort, + SslMode = Enum.Parse(Config.DatabaseSslmode, true), + AllowUserVariables=true, + }; + return new MySqlConnection(builder.ToString()); + } + + private async Task ConnectDatabaseTable() + { + try + { + g_ClientPrefs.Clear(); + g_iLatestClientprefID = 0; + + if(Config.DatabaseType == "mysql") + { + if(Config.DatabaseHost == "" || Config.DatabaseName == "" || Config.DatabaseUsername == "" || Config.DatabasePassword == "") + { + Logger.LogError($"{LogPrefix} Database connection information is missing. Please fill in the information in the config file."); + return false; + } + + using (var connection = CreateConnection()) + { + await connection.OpenAsync(); + + string query = @$"CREATE TABLE IF NOT EXISTS {Config.TableName} + ( + id INTEGER unsigned NOT NULL auto_increment, + name varchar({IClientprefsApi.COOKIE_MAX_NAME_LENGTH}) NOT NULL UNIQUE, + description varchar({IClientprefsApi.COOKIE_MAX_DESCRIPTION_LENGTH}), + access INTEGER, + PRIMARY KEY (id) + )"; + + string query2 = @$"CREATE TABLE IF NOT EXISTS {Config.TableNamePlayerData} + ( + steamid varchar(32) NOT NULL, + cookie_id int(10) NOT NULL, + value varchar({IClientprefsApi.COOKIE_MAX_VALUE_LENGTH}), + timestamp int NOT NULL, + PRIMARY KEY (steamid, cookie_id) + )"; + + using (var transaction = await connection.BeginTransactionAsync()) + { + await connection.ExecuteAsync(query, transaction: transaction); + await connection.ExecuteAsync(query2, transaction: transaction); + + await transaction.CommitAsync(); + + query = @$"SELECT * FROM {Config.TableName}"; + + var rows = await connection.QueryAsync(query); + + foreach (var row in rows) + { + if(g_ClientPrefs.Any(p => p.Id == (int)row.id || p.Name == row.name)) continue; + + if((int)row.id > g_iLatestClientprefID) + { + g_iLatestClientprefID = (int)row.id; + } + + g_ClientPrefs.Add( + new ClientPrefs + { + Id = (int)row.id, + Name = row.name, + Description = row.description, + Access = (CookieAccess)row.access, + } + ); + } + + g_bDatabaseLoaded = true; + + if(g_iLatestClientprefID > 0) + g_iLatestClientprefID++; + + Server.NextWorldUpdate(()=> + { + foreach(var p in Utilities.GetPlayers()) + { + if(p == null || !p.IsValidPlayer()) + { + continue; + } + + var steamId = p.SteamID.ToString(); + g_PlayerSettings[steamId] = new(); + g_PlayerClientPrefs.Remove(steamId); + GetPlayerCookies(p, steamId); + } + + // Timer so that other plugin can catch this event else this is called before AllPluginsLoaded + AddTimer(2.0f, ClientprefsApi.OnDatabaseLoaded); + + Logger.LogInformation($"{LogPrefix} Database connection established."); + }); + } + return true; + } + } + else + { + string query = @$"CREATE TABLE IF NOT EXISTS {Config.TableName} + ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name varchar({IClientprefsApi.COOKIE_MAX_NAME_LENGTH}) NOT NULL UNIQUE, + description varchar({IClientprefsApi.COOKIE_MAX_DESCRIPTION_LENGTH}), + access INTEGER + )"; + + string query2 = @$"CREATE TABLE IF NOT EXISTS {Config.TableNamePlayerData} + ( + steamid varchar(65) NOT NULL, + cookie_id int(10) NOT NULL, + value varchar({IClientprefsApi.COOKIE_MAX_VALUE_LENGTH}), + timestamp int, + PRIMARY KEY (steamid, cookie_id) + )"; + + using (var connection = new SqliteConnection(SQLiteDatasource)) + { + await connection.OpenAsync(); + + using(var transaction = await connection.BeginTransactionAsync()) + { + /* + using (var command = new SqliteCommand(query, connection, transaction)) + { + await command.ExecuteNonQueryAsync(); + } + + using (var command = new SqliteCommand(query2, connection, transaction)) + { + await command.ExecuteNonQueryAsync(); + } + */ + + await connection.ExecuteAsync(query, connection, transaction: transaction); + await connection.ExecuteAsync(query2, connection, transaction: transaction); + + await transaction.CommitAsync(); + + query = @$"SELECT * FROM {Config.TableName}"; + + var rows = await connection.QueryAsync(query); + + g_iLatestClientprefID = 0; + + foreach (var row in rows) + { + if(g_ClientPrefs.Any(p => p.Id == (int)row.id || p.Name == row.name)) continue; + + if((int)row.id > g_iLatestClientprefID) + { + g_iLatestClientprefID = (int)row.id; + } + + g_ClientPrefs.Add( + new ClientPrefs + { + Id = (int)row.id, + Name = row.name, + Description = row.description, + Access = (CookieAccess)row.access, + } + ); + } + + g_bDatabaseLoaded = true; + + if(g_iLatestClientprefID > 0) + g_iLatestClientprefID++; + + Server.NextWorldUpdate(()=> + { + foreach(var p in Utilities.GetPlayers()) + { + if(p == null || !p.IsValidPlayer()) + { + continue; + } + + var steamId = p.SteamID.ToString(); + g_PlayerSettings[steamId] = new(); + g_PlayerClientPrefs.Remove(steamId); + GetPlayerCookies(p, steamId); + } + + // Timer so that other plugin can catch this event else this is called before AllPluginsLoaded + AddTimer(2.0f, ClientprefsApi.OnDatabaseLoaded); + + Logger.LogInformation($"{LogPrefix} Database connection established."); + }); + } + } + + return true; + } + } + catch (Exception ex) + { + Server.NextWorldUpdate(() => Logger.LogError($"{LogPrefix} Unable to connect to database: {ex.Message}")); + throw; + } + } + + private void GetPlayerCookies(CCSPlayerController player, string steamId) + { + if(!g_bDatabaseLoaded) + { + return; + } + + g_PlayerClientPrefs.Add(steamId, new List()); + + if(Config.DatabaseType == "mysql") + { + Task.Run(async () => + { + try + { + using (var connection = CreateConnection()) + { + await connection.OpenAsync(); + + string query = $"SELECT * FROM {Config.TableNamePlayerData} WHERE steamid = @steam"; + + var parameters = new DynamicParameters(); + parameters.Add("@steam", steamId); + + var rows = await connection.QueryAsync(query, parameters); + + foreach (var row in rows) + { + g_PlayerClientPrefs[steamId].Add( + new PlayerClientPrefs + { + Id = (int)row.cookie_id, + OldValue = row.value, + NewValue = row.value, + } + ); + } + + g_PlayerSettings[steamId].Loaded = true; + + ClientprefsApi.OnPlayerCookiesCached(player); + } + } + catch (Exception ex) + { + Server.NextWorldUpdate(() => Logger.LogError($"{LogPrefix} An error occurred while fetching player preferences: {ex.Message}")); + throw; + } + }); + } + else + { + Task.Run(async () => + { + try + { + using (var connection = new SqliteConnection(SQLiteDatasource)) + { + await connection.OpenAsync(); + + string query = $"SELECT * FROM {Config.TableNamePlayerData} WHERE steamid = @steam"; + + var rows = await connection.QueryAsync(query, new { steam = steamId }); + + foreach (var row in rows) + { + g_PlayerClientPrefs[steamId].Add( + new PlayerClientPrefs + { + Id = (int)row.cookie_id, + OldValue = row.value, + NewValue = row.value, + } + ); + } + + g_PlayerSettings[steamId].Loaded = true; + + ClientprefsApi.OnPlayerCookiesCached(player); + } + } + catch (Exception ex) + { + Server.NextWorldUpdate(() => Logger.LogError($"{LogPrefix} An error occurred while fetching player preferences: {ex.Message}")); + throw; + } + }); + } + } + + public bool CreatePlayerCookie(string name, string description, CookieAccess access) + { + if(!g_bDatabaseLoaded) + { + Logger.LogError($"{LogPrefix}[CreatePlayerCookie] Database is not loaded yet."); + return false; + } + + string query = @$"REPLACE INTO `{Config.TableName}` + (name, description, access) + VALUES (@name, @description, @access);"; + + bool returnVal = true; + + if(Config.DatabaseType == "mysql") + { + Task.Run(async () => + { + try + { + using (var connection = CreateConnection()) + { + await connection.OpenAsync(); + + var parameters = new DynamicParameters(); + + parameters.Add("@name", name); + parameters.Add("@value", description); + parameters.Add("@access", (int)access); + + await connection.QueryAsync(query, parameters); + } + } + catch (Exception ex) + { + Server.NextWorldUpdate(() => Logger.LogError($"{LogPrefix} An error occurred while creating a player cookie: {ex.Message}")); + returnVal = false; + throw; + } + }); + } + else + { + Task.Run(async () => + { + try + { + using (var connection = new SqliteConnection(SQLiteDatasource)) + { + await connection.OpenAsync(); + + await connection.ExecuteAsync(query, + new { name, description, access = (int)access }); + } + } + catch (Exception ex) + { + Server.NextWorldUpdate(() => Logger.LogError($"{LogPrefix} An error occurred while creating a player cookie: {ex.Message}")); + returnVal = false; + throw; + } + }); + } + return returnVal; + } + + private void SavePlayerCookies(CCSPlayerController? player = null) + { + if(!g_bDatabaseLoaded) + { + return; + } + + List aPlayers = new(); + + if(player != null) + { + var steamId = player.SteamID.ToString(); + + if(!g_PlayerSettings.ContainsKey(steamId)) + { + return; + } + + if(!g_PlayerSettings[steamId].Loaded) + { + return; + } + + if(!g_PlayerClientPrefs.ContainsKey(steamId)) + { + return; + } + + aPlayers.Add(steamId); + } + else + { + foreach(var p in Utilities.GetPlayers()) + { + if(p == null || !p.IsValidPlayer()) + { + continue; + } + + var steamId = p.SteamID.ToString(); + + if(!g_PlayerSettings.ContainsKey(steamId)) + { + continue; + } + + if(!g_PlayerSettings[steamId].Loaded) + { + continue; + } + + if(!g_PlayerClientPrefs.ContainsKey(steamId)) + { + continue; + } + + aPlayers.Add(steamId); + } + } + + int time = GetEpochTime(); + + if(Config.DatabaseType == "mysql") + { + Task.Run(async () => + { + try + { + using (var connection = CreateConnection()) + { + await connection.OpenAsync(); + + string query; + + var parameters = new DynamicParameters(); + + using (var transaction = await connection.BeginTransactionAsync()) + { + foreach (var steamId in aPlayers) + { + foreach (var pref in g_PlayerClientPrefs[steamId]) + { + if(pref.OldValue == pref.NewValue) continue; + + var p = g_ClientPrefs.Where(p => p.Id == pref.Id).FirstOrDefault(); + if(p == null) continue; + + query = @$"REPLACE INTO `{Config.TableNamePlayerData}` + (steamid, cookie_id, value, timestamp) + VALUES (@steam, @id, @value, @timestamp);"; + + parameters = new DynamicParameters(); + parameters.Add("@steam", steamId); + parameters.Add("@id", pref.Id); + parameters.Add("@value", pref.NewValue); + parameters.Add("@timestamp", time); + + await connection.ExecuteAsync(query, parameters, transaction: transaction); + } + + Server.NextWorldUpdate(() => + { + Logger.LogInformation($"{LogPrefix} Player data saved."); + g_PlayerClientPrefs.Remove(steamId); + g_PlayerSettings.Remove(steamId); + }); + } + await transaction.CommitAsync(); + } + } + } + catch (Exception ex) + { + Server.NextWorldUpdate(() => Logger.LogError($"{LogPrefix} An error occurred while saving player(s) data: {ex.Message}")); + throw; + } + }); + } + else + { + Task.Run(async () => + { + try + { + using (var connection = new SqliteConnection(SQLiteDatasource)) + { + await connection.OpenAsync(); + + string query; + + using (var transaction = await connection.BeginTransactionAsync()) + { + foreach (var steamId in aPlayers) + { + foreach (var pref in g_PlayerClientPrefs[steamId]) + { + if(pref.OldValue == pref.NewValue) continue; + + var p = g_ClientPrefs.Where(p => p.Id == pref.Id).FirstOrDefault(); + if(p == null) continue; + + query = @$"REPLACE INTO `{Config.TableNamePlayerData}` + (steamid, cookie_id, value, timestamp) + VALUES (@steam, @id, @value, @timestamp);"; + + await connection.ExecuteAsync(query, + new { steam=steamId, id=pref.Id, value=pref.NewValue, timestamp=time }, + transaction: transaction); + } + + Server.NextWorldUpdate(() => + { + Logger.LogInformation($"{LogPrefix} Player data saved."); + g_PlayerClientPrefs.Remove(steamId); + g_PlayerSettings.Remove(steamId); + }); + } + await transaction.CommitAsync(); + } + } + } + catch (Exception ex) + { + Server.NextWorldUpdate(() => Logger.LogError($"{LogPrefix} An error occurred while saving player(s) data: {ex.Message}")); + throw; + } + }); + } + } +} \ No newline at end of file diff --git a/Clientprefs/PlayerExtensions.cs b/Clientprefs/PlayerExtensions.cs new file mode 100644 index 0000000..f88a908 --- /dev/null +++ b/Clientprefs/PlayerExtensions.cs @@ -0,0 +1,37 @@ +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Modules.Utils; + +namespace Clientprefs; +internal static class CCSPlayerControllerEx +{ + internal static bool IsValidPlayer(this CCSPlayerController? controller) + { + return controller != null && controller.IsValid && controller.Handle != IntPtr.Zero && controller.Connected == PlayerConnectedState.PlayerConnected && !controller.IsHLTV && controller.SteamID.ToString().Length == 17; + } +} + +internal static class CHandleCCSPlayerPawnEx +{ + internal static bool IsValidPawn(this CHandle? pawn) + { + return pawn != null && pawn.IsValid && pawn != IntPtr.Zero && pawn.Value != null && pawn.Value.IsValid && pawn.Value.WeaponServices != null && pawn.Value.WeaponServices.MyWeapons != null && pawn.Value.ItemServices != null; + } + + internal static bool IsValidPawnAlive(this CHandle? pawn) + { + return IsValidPawn(pawn) && pawn!.Value!.LifeState == (byte)LifeState_t.LIFE_ALIVE && pawn.Value.Health > 0; + } +} + +internal static class CCSPlayerPawnEx +{ + internal static bool IsValidPawn(this CCSPlayerPawn? pawn) + { + return pawn != null && pawn.IsValid && pawn.WeaponServices != null && pawn.WeaponServices.MyWeapons != null && pawn.ItemServices != null; + } + + internal static bool IsValidPawnAlive(this CCSPlayerPawn? pawn) + { + return IsValidPawn(pawn) && pawn!.LifeState == (byte)LifeState_t.LIFE_ALIVE && pawn!.Health > 0; + } +} \ No newline at end of file diff --git a/Clientprefs/lang/en.json b/Clientprefs/lang/en.json new file mode 100644 index 0000000..d61e9a2 --- /dev/null +++ b/Clientprefs/lang/en.json @@ -0,0 +1,51 @@ +{ + "Cookie Usage": + { + "en": "Usage: sm_cookies [value]" + }, + + "Cookie List": + { + "en": "CounterStrikeSharp Cookie List" + }, + + "Printing Cookie List": + { + "en": "Printing cookie list to console" + }, + + "Cookie not Found": + { + "en": "Could not find cookie \"{0}\"" + }, + + "Cookie Value": + { + "en": "{0} ({1})'s value is {2}" + }, + + "Protected Cookie": + { + "en": "Cannot change the value of protected cookie \"{0}\"" + }, + + "Cookie Changed Value": + { + "en": "Changed the value of cookie \"{0}\" to \"{1}\"" + }, + + "No Console": + { + "en": "Cannot display settings menu to console" + }, + + "Choose Option": + { + "en": "Choose Option" + }, + + "Client Settings": + { + "en": "Client Settings" + } +} \ No newline at end of file diff --git a/Clientprefs/src/Clientprefs.cs b/Clientprefs/src/Clientprefs.cs deleted file mode 100644 index c515049..0000000 --- a/Clientprefs/src/Clientprefs.cs +++ /dev/null @@ -1,24 +0,0 @@ -using CounterStrikeSharp.API.Core; -using CounterStrikeSharp.API.Core.Attributes; - -namespace Clientprefs; - -[MinimumApiVersion(215)] -public class Clientprefs : BasePlugin -{ - public override string ModuleName => "Clientprefs"; - public override string ModuleDescription => "Clientprefs plugin for CounterStrikeSharp"; - public override string ModuleAuthor => "Cruze"; - public override string ModuleVersion => "1.0.0"; - - public override void Load(bool hotReload) - { - base.Load(hotReload); - RegisterListener(OnMapStart); - } - - public void OnMapStart(string map) - { - - } -} \ No newline at end of file diff --git a/Clientprefs/src/Clientprefs.sln b/Clientprefs/src/Clientprefs.sln deleted file mode 100644 index 234c26e..0000000 --- a/Clientprefs/src/Clientprefs.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.5.002.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Clientprefs", "Clientprefs.csproj", "{5259A1C6-7D21-4C7E-9A07-A71C14FCC136}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {5259A1C6-7D21-4C7E-9A07-A71C14FCC136}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5259A1C6-7D21-4C7E-9A07-A71C14FCC136}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5259A1C6-7D21-4C7E-9A07-A71C14FCC136}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5259A1C6-7D21-4C7E-9A07-A71C14FCC136}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {4017DACF-1F7B-4069-A3A6-8FD58FCA02E9} - EndGlobalSection -EndGlobal diff --git a/Clientprefs/src/obj/Clientprefs.csproj.nuget.dgspec.json b/Clientprefs/src/obj/Clientprefs.csproj.nuget.dgspec.json deleted file mode 100644 index dde302f..0000000 --- a/Clientprefs/src/obj/Clientprefs.csproj.nuget.dgspec.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "format": 1, - "restore": { - "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\Clientprefs.csproj": {} - }, - "projects": { - "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\Clientprefs.csproj": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\Clientprefs.csproj", - "projectName": "Clientprefs", - "projectPath": "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\Clientprefs.csproj", - "packagesPath": "C:\\Users\\sachi\\.nuget\\packages\\", - "outputPath": "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\obj\\", - "projectStyle": "PackageReference", - "configFilePaths": [ - "C:\\Users\\sachi\\AppData\\Roaming\\NuGet\\NuGet.Config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" - ], - "originalTargetFrameworks": [ - "net8.0" - ], - "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net8.0": { - "targetAlias": "net8.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - }, - "restoreAuditProperties": { - "enableAudit": "true", - "auditLevel": "low", - "auditMode": "direct" - } - }, - "frameworks": { - "net8.0": { - "targetAlias": "net8.0", - "dependencies": { - "CounterStrikeSharp.API": { - "include": "Compile, Build, Native, ContentFiles, Analyzers, BuildTransitive", - "suppressParent": "None", - "target": "Package", - "version": "[1.0.244, )" - }, - "Dapper": { - "target": "Package", - "version": "[*, )" - }, - "Microsoft.Extensions.Logging": { - "target": "Package", - "version": "[8.0.0, )" - }, - "MySqlConnector": { - "target": "Package", - "version": "[*, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "frameworkReferences": { - "Microsoft.NETCore.App": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.203/PortableRuntimeIdentifierGraph.json" - } - } - } - } -} \ No newline at end of file diff --git a/Clientprefs/src/obj/Clientprefs.csproj.nuget.g.props b/Clientprefs/src/obj/Clientprefs.csproj.nuget.g.props deleted file mode 100644 index 86338b0..0000000 --- a/Clientprefs/src/obj/Clientprefs.csproj.nuget.g.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - $(UserProfile)\.nuget\packages\ - C:\Users\sachi\.nuget\packages\ - PackageReference - 6.9.1 - - - - - - - - - C:\Users\sachi\.nuget\packages\microsoft.dotnet.apicompat.task\8.0.203 - - \ No newline at end of file diff --git a/Clientprefs/src/obj/Clientprefs.csproj.nuget.g.targets b/Clientprefs/src/obj/Clientprefs.csproj.nuget.g.targets deleted file mode 100644 index ecedad7..0000000 --- a/Clientprefs/src/obj/Clientprefs.csproj.nuget.g.targets +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/Clientprefs/src/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/Clientprefs/src/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs deleted file mode 100644 index 2217181..0000000 --- a/Clientprefs/src/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +++ /dev/null @@ -1,4 +0,0 @@ -// -using System; -using System.Reflection; -[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.AssemblyInfo.cs b/Clientprefs/src/obj/Debug/net8.0/Clientprefs.AssemblyInfo.cs deleted file mode 100644 index 26fc8a9..0000000 --- a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.AssemblyInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("Clientprefs")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] -[assembly: System.Reflection.AssemblyProductAttribute("Clientprefs")] -[assembly: System.Reflection.AssemblyTitleAttribute("Clientprefs")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Generated by the MSBuild WriteCodeFragment class. - diff --git a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.AssemblyInfoInputs.cache b/Clientprefs/src/obj/Debug/net8.0/Clientprefs.AssemblyInfoInputs.cache deleted file mode 100644 index 6aaf457..0000000 --- a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -0afebc0a3c282b2d015228d7811a019f6eea15629251bc528a82658055439c6c diff --git a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.GeneratedMSBuildEditorConfig.editorconfig b/Clientprefs/src/obj/Debug/net8.0/Clientprefs.GeneratedMSBuildEditorConfig.editorconfig deleted file mode 100644 index 505c7dd..0000000 --- a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.GeneratedMSBuildEditorConfig.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -is_global = true -build_property.TargetFramework = net8.0 -build_property.TargetPlatformMinVersion = -build_property.UsingMicrosoftNETSdkWeb = -build_property.ProjectTypeGuids = -build_property.InvariantGlobalization = -build_property.PlatformNeutralAssembly = -build_property.EnforceExtendedAnalyzerRules = -build_property._SupportedPlatformList = Linux,macOS,Windows -build_property.RootNamespace = Clientprefs -build_property.ProjectDir = C:\Users\sachi\Downloads\CSSharp\Clientprefs\ -build_property.EnableComHosting = -build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.GlobalUsings.g.cs b/Clientprefs/src/obj/Debug/net8.0/Clientprefs.GlobalUsings.g.cs deleted file mode 100644 index 8578f3d..0000000 --- a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.GlobalUsings.g.cs +++ /dev/null @@ -1,8 +0,0 @@ -// -global using global::System; -global using global::System.Collections.Generic; -global using global::System.IO; -global using global::System.Linq; -global using global::System.Net.Http; -global using global::System.Threading; -global using global::System.Threading.Tasks; diff --git a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.assets.cache b/Clientprefs/src/obj/Debug/net8.0/Clientprefs.assets.cache deleted file mode 100644 index 52ec8d3183c29b879c2b5218515eb6d5ef19486a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21972 zcmd5^TXP&o6?VX~>;xOfj!kZkKiY-U+%1#0c$!K?08hdwVJu@qN z9YP2cMNvEeMFDw$qA30a54=-F@yHVo&JUn?r?b(@atz@aHCH2fXr@!gz z>C@lL{LPt(Z*1DMY4gmczy9~&uYUaR-~Qw8Uw-(Xe-{3A=d0?|lmEML_37Wf`rVa3 zJe?#NlKb;>lb1?&J^YDOGcx$Wcj70S$<$HSzf7bmtDtms=i@8_N|6zI}Oh$ zJB_Nn)N)Oqvc{s_s90|4f^o(;Q!*Q7t^I`URUE%Tmdajfu47|5vN0L6aV@Z66rGk^ zwq~q`C2Ut}wXYFO{&|iP|NnJLUuwawIZI1+W63ZVJ>NCU4BktFO%GjbH^zM^>luKSD_5fZwH8{Zxk`ZVg$8<7>JY$eXLJRx?fF*S@Tnsh_dTbPtLloO(gG{J zOG-V_YymX%@20mXl`~M4omRuA{^q;(1It@B-KJqS?a~PK#?kTdQq5j0Q8%Q{S(*$b zi-BY@keryGUYIIpDnmt>IP7B>40+u>EK^J+6P%tX)GK^{urQhVQIvNJ* zNiFK0Q`xE4sSDQZ zhNac;lcD}C(#Nj(N}^6*rTkw8&7gAKtadW;tI>tq53B6N~{3D9p){wD(f4Qp9{{Ww_90O0-vz&9yBh+f=c z|I8}8mao?v*uN`=`q&8$B;X#T{7<#&vtl(Z@&Oy=w%xdI1&&qDwx8-~&Pq*$cqjq! zFy;R=D2OUQFslQo@TSeYM-t$V4xoPPPQ|K~&IPWvz^YzkVF*Q-=U5x-_n3fqoc{8> zdxBCc%OmM{^U+8*Dz>@Qa6I28cR$~RH5F+fqLTuVTwhO7{+D_!4h3keu81$Kg-<8I zvcIb54DiI+be$EOc2b^B$K+{qzGEN_u#o^-Vq02%IHW`rUF98CZmqkLUwxz&=&MqfI3gA<`Es)6h@EywQwQi5-N7kw*aivuk20OUAE>rrs*0dr)#@zTm zYcC#Ig1WqtsLO9t{xh913n)FOmUn9*YmxA=7LMVo31kzL*V^k!WEE?%m3N|(xTaVK zQC&-*nxy>atEn$*g?2UsvCjsbW;H^I*rpQLrYW!IyviyIzHV~xfqBkX7&$7*&oqgZo%(R`lzq6*?}#^3Z_h_vcrPep~iauZlcr@1&$;k7`9*OyDR}{)?Wxk_RJ67^kt7n8ga&Vg_ypSm#6zoiO&#(nbzxh`+PS`5Y>$&^POjXu^paD2-k4$Ho-v@K#7ETHbmsvrkTs~bKw(7-Bc1j2V= z0W|{Y+$2ZdN#z4c>8`=8?hhc&&JLqcPZm-z*f6pf%s$cZF{GGW>{wFW;bW5F3eCdm zN)np~78qAPcE;|46=6yRz>&w#GCSsCZaH5X7A|!7f9R+3|F5R|p?rIfydCor`OdER z9qz4sd52h%uC=OFTFm*hxf>V-=4Azkm;*$cs`hBU`fIX1^T3Y9sRuD=xTKLm)jebNAL?AQQr z>{JH0&G}G#e};EMBAfUWV$E4HkLw*G7PkUB%-jmAWygS7ZX!0zO|*Wj7yz(C0AN;3 zA0gH?WWxZs7X>(G!)QeY%gDFu_P>=gX>8#z01dKW^bWjYaCA-_;@EIOM4-ri>7z}p z&c-($>56k5vm$YEh=TP3wa5cp?mYDlL*lhq9w6HVU?SUP(eCc6c|BD+QJ zq%+ZPC_MZES3s@WdBeuGkS}4mG&iT#ZCdB1_0eStP}uDt!n3cOttg`|fB@MhdaWoR=(M85lh%sJGTA8X5~w?5mpnsO2_U)(^QqRJQ8uPN zn*`8Y12oT+MFNteO=9c99j5X*Y`v0(OxNvQ8`zC>>cKYs&tBGLikUMywAg z4Ot)0j9CGAK7moNZj1^je-X-m)=Ub3g-nWdVNgKX$e>sQ<^+_4%n53Tft(f)F@w$W z51tkf~-L?2v8<=71cUrjKCQuNh?LK-QLO9XaHk53m2 z1z$dRN0!oaK;FC?2RTF{3fQ)|LKBz`nuHaG^i-=u-e{ z5>*^0&;c*^R}N@0N?ju1_5Mm#aS^%r{<(-(`zx46DfnKWb`TgfpOO4h1iOzb(pB&o$8e z32lDDOrmEY^I?EyMh5#Mh01A?79aKe6cN|F*zCmE)f(L8)ojwt87*Cvi|dDodMT^c z;zddRDi@<3pe!Gf<|KbLbAWcMuzB^mEe=jjWxju*^kQcQAI$MeFK3T#@vgv3mTJmkzJM4`h4WcC>ua3@(U z8uMhrw_NNF+pLg?Zvu+KGee~{GZ?@j7*=5_WwWq8q zeKD*ublt3Z*48@~&5|otW%GjDvNrRU_i_fSyWI1ehNm;MEBHmii45Vo>T5nV0=Znz(J!X|{tUc(YH{uxrZV&z=Nd@hG+yxl*2w_V1^aTieKu r?YtJn&2%xhaB|62JHap=sGV9Vkk6c)hIu$Dk;doHUGcXD_yPY92AW7$ diff --git a/Clientprefs/src/obj/Debug/net8.0/Clientprefs.csproj.AssemblyReference.cache b/Clientprefs/src/obj/Debug/net8.0/Clientprefs.csproj.AssemblyReference.cache deleted file mode 100644 index 773cdd3faa513e894ee0274539d7baa8065bad17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20691 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 YTzV;r21|t^xg3@G%Ve@Zwu#RF0E||et^fc4 diff --git a/Clientprefs/src/obj/project.assets.json b/Clientprefs/src/obj/project.assets.json deleted file mode 100644 index d2d8b4b..0000000 --- a/Clientprefs/src/obj/project.assets.json +++ /dev/null @@ -1,2689 +0,0 @@ -{ - "version": 3, - "targets": { - "net8.0": { - "CounterStrikeSharp.API/1.0.244": { - "type": "package", - "dependencies": { - "McMaster.NETCore.Plugins": "1.4.0", - "Microsoft.CSharp": "4.7.0", - "Microsoft.DotNet.ApiCompat.Task": "8.0.203", - "Microsoft.Extensions.Hosting": "8.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", - "Microsoft.Extensions.Localization.Abstractions": "8.0.3", - "Microsoft.Extensions.Logging": "8.0.0", - "Scrutor": "4.2.2", - "Serilog.Extensions.Logging": "8.0.0", - "Serilog.Sinks.Console": "5.0.0", - "Serilog.Sinks.File": "5.0.0", - "System.Data.DataSetExtensions": "4.5.0" - }, - "compile": { - "lib/net8.0/CounterStrikeSharp.API.dll": { - "related": ".runtimeconfig.json;.xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".runtimeconfig.json;.xml" - } - } - }, - "Dapper/2.1.44": { - "type": "package", - "compile": { - "lib/net7.0/Dapper.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net7.0/Dapper.dll": { - "related": ".xml" - } - } - }, - "McMaster.NETCore.Plugins/1.4.0": { - "type": "package", - "dependencies": { - "Microsoft.DotNet.PlatformAbstractions": "3.1.6", - "Microsoft.Extensions.DependencyModel": "5.0.0" - }, - "compile": { - "lib/netcoreapp3.1/McMaster.NETCore.Plugins.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netcoreapp3.1/_._": { - "related": ".xml" - } - } - }, - "Microsoft.CSharp/4.7.0": { - "type": "package", - "compile": { - "ref/netcoreapp2.0/_._": {} - }, - "runtime": { - "lib/netcoreapp2.0/_._": {} - } - }, - "Microsoft.DotNet.ApiCompat.Task/8.0.203": { - "type": "package", - "build": { - "build/_._": {} - }, - "buildMultiTargeting": { - "buildMultiTargeting/_._": {} - } - }, - "Microsoft.DotNet.PlatformAbstractions/3.1.6": { - "type": "package", - "compile": { - "lib/netstandard2.0/Microsoft.DotNet.PlatformAbstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netstandard2.0/_._": { - "related": ".xml" - } - } - }, - "Microsoft.Extensions.Configuration/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Configuration.Binder/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {} - } - }, - "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Configuration.Json/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "System.Text.Json": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Json": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.props": {}, - "buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.targets": {} - } - }, - "Microsoft.Extensions.DependencyInjection/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { - "type": "package", - "compile": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.DependencyModel/6.0.0": { - "type": "package", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", - "System.Text.Json": "6.0.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netstandard2.0/_._": { - "related": ".xml" - } - } - }, - "Microsoft.Extensions.Diagnostics/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.DiagnosticSource": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.FileProviders.Physical/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { - "type": "package", - "compile": { - "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Hosting/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", - "Microsoft.Extensions.Configuration.Json": "8.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "8.0.0", - "Microsoft.Extensions.DependencyInjection": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Physical": "8.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Configuration": "8.0.0", - "Microsoft.Extensions.Logging.Console": "8.0.0", - "Microsoft.Extensions.Logging.Debug": "8.0.0", - "Microsoft.Extensions.Logging.EventLog": "8.0.0", - "Microsoft.Extensions.Logging.EventSource": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Hosting.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Localization.Abstractions/8.0.3": { - "type": "package", - "compile": { - "lib/net8.0/Microsoft.Extensions.Localization.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - } - }, - "Microsoft.Extensions.Logging/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Logging.Abstractions/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {} - } - }, - "Microsoft.Extensions.Logging.Configuration/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "8.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Logging.Console/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging.Configuration": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Text.Json": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Logging.Debug/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.Debug.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Logging.EventLog/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "System.Diagnostics.EventLog": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.EventLog.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Logging.EventSource/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Logging": "8.0.0", - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0", - "System.Text.Json": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.EventSource.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Options/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Options.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Options.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {} - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", - "Microsoft.Extensions.Configuration.Binder": "8.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", - "Microsoft.Extensions.Options": "8.0.0", - "Microsoft.Extensions.Primitives": "8.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "type": "package", - "compile": { - "lib/net8.0/Microsoft.Extensions.Primitives.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Primitives.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "MySqlConnector/2.3.7": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "7.0.1" - }, - "compile": { - "lib/net8.0/MySqlConnector.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/MySqlConnector.dll": { - "related": ".xml" - } - } - }, - "Scrutor/4.2.2": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.DependencyModel": "6.0.0" - }, - "compile": { - "lib/net6.0/Scrutor.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net6.0/_._": { - "related": ".pdb;.xml" - } - } - }, - "Serilog/3.1.1": { - "type": "package", - "compile": { - "lib/net7.0/Serilog.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net7.0/_._": { - "related": ".xml" - } - } - }, - "Serilog.Extensions.Logging/8.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging": "8.0.0", - "Serilog": "3.1.1" - }, - "compile": { - "lib/net8.0/Serilog.Extensions.Logging.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - } - }, - "Serilog.Sinks.Console/5.0.0": { - "type": "package", - "dependencies": { - "Serilog": "3.1.0" - }, - "compile": { - "lib/net7.0/Serilog.Sinks.Console.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net7.0/_._": { - "related": ".xml" - } - } - }, - "Serilog.Sinks.File/5.0.0": { - "type": "package", - "dependencies": { - "Serilog": "2.10.0" - }, - "compile": { - "lib/net5.0/Serilog.Sinks.File.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net5.0/_._": { - "related": ".pdb;.xml" - } - } - }, - "System.Buffers/4.5.1": { - "type": "package", - "compile": { - "ref/netcoreapp2.0/_._": {} - }, - "runtime": { - "lib/netcoreapp2.0/_._": {} - } - }, - "System.Data.DataSetExtensions/4.5.0": { - "type": "package", - "compile": { - "ref/netstandard2.0/System.Data.DataSetExtensions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/_._": {} - } - }, - "System.Diagnostics.DiagnosticSource/8.0.0": { - "type": "package", - "compile": { - "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - } - }, - "System.Diagnostics.EventLog/8.0.0": { - "type": "package", - "compile": { - "lib/net8.0/System.Diagnostics.EventLog.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - }, - "runtimeTargets": { - "runtimes/win/lib/net8.0/_._": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Memory/4.5.4": { - "type": "package", - "compile": { - "ref/netcoreapp2.1/_._": {} - }, - "runtime": { - "lib/netcoreapp2.1/_._": {} - } - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "type": "package", - "compile": { - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net6.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/netcoreapp3.1/_._": {} - } - }, - "System.Text.Encodings.Web/8.0.0": { - "type": "package", - "compile": { - "lib/net8.0/System.Text.Encodings.Web.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/_._": {} - }, - "runtimeTargets": { - "runtimes/browser/lib/net8.0/_._": { - "assetType": "runtime", - "rid": "browser" - } - } - }, - "System.Text.Json/8.0.0": { - "type": "package", - "dependencies": { - "System.Text.Encodings.Web": "8.0.0" - }, - "compile": { - "lib/net8.0/System.Text.Json.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/_._": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net6.0/System.Text.Json.targets": {} - } - } - } - }, - "libraries": { - "CounterStrikeSharp.API/1.0.244": { - "sha512": "8v4IDF9Jg0g0JX6wf8npDDAW17p5h9QpF+WB74yu+kz+WIq2WVWyBaOzcf3mDJb7OVyHB2ynzW4q725zxMGpAA==", - "type": "package", - "path": "counterstrikesharp.api/1.0.244", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "counterstrikesharp.api.1.0.244.nupkg.sha512", - "counterstrikesharp.api.nuspec", - "lib/net8.0/CounterStrikeSharp.API.dll", - "lib/net8.0/CounterStrikeSharp.API.runtimeconfig.json", - "lib/net8.0/CounterStrikeSharp.API.xml" - ] - }, - "Dapper/2.1.44": { - "sha512": "L6Zdsn0mZY5+UxF2iag/X1an0g+rsPHVswsibunLvHUqby8CyYq5RoVnic1iz/hCtIcqDRTl31Aiu5JXiTyohA==", - "type": "package", - "path": "dapper/2.1.44", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Dapper.png", - "dapper.2.1.44.nupkg.sha512", - "dapper.nuspec", - "lib/net461/Dapper.dll", - "lib/net461/Dapper.xml", - "lib/net5.0/Dapper.dll", - "lib/net5.0/Dapper.xml", - "lib/net6.0/Dapper.dll", - "lib/net6.0/Dapper.xml", - "lib/net7.0/Dapper.dll", - "lib/net7.0/Dapper.xml", - "lib/netstandard2.0/Dapper.dll", - "lib/netstandard2.0/Dapper.xml", - "readme.md" - ] - }, - "McMaster.NETCore.Plugins/1.4.0": { - "sha512": "UKw5Z2/QHhkR7kiAJmqdCwVDMQV0lwsfj10+FG676r8DsJWIpxtachtEjE0qBs9WoK5GUQIqxgyFeYUSwuPszg==", - "type": "package", - "path": "mcmaster.netcore.plugins/1.4.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netcoreapp2.1/McMaster.NETCore.Plugins.dll", - "lib/netcoreapp2.1/McMaster.NETCore.Plugins.xml", - "lib/netcoreapp3.1/McMaster.NETCore.Plugins.dll", - "lib/netcoreapp3.1/McMaster.NETCore.Plugins.xml", - "mcmaster.netcore.plugins.1.4.0.nupkg.sha512", - "mcmaster.netcore.plugins.nuspec" - ] - }, - "Microsoft.CSharp/4.7.0": { - "sha512": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", - "type": "package", - "path": "microsoft.csharp/4.7.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/Microsoft.CSharp.dll", - "lib/netcoreapp2.0/_._", - "lib/netstandard1.3/Microsoft.CSharp.dll", - "lib/netstandard2.0/Microsoft.CSharp.dll", - "lib/netstandard2.0/Microsoft.CSharp.xml", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/uap10.0.16299/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "microsoft.csharp.4.7.0.nupkg.sha512", - "microsoft.csharp.nuspec", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/Microsoft.CSharp.dll", - "ref/netcore50/Microsoft.CSharp.xml", - "ref/netcore50/de/Microsoft.CSharp.xml", - "ref/netcore50/es/Microsoft.CSharp.xml", - "ref/netcore50/fr/Microsoft.CSharp.xml", - "ref/netcore50/it/Microsoft.CSharp.xml", - "ref/netcore50/ja/Microsoft.CSharp.xml", - "ref/netcore50/ko/Microsoft.CSharp.xml", - "ref/netcore50/ru/Microsoft.CSharp.xml", - "ref/netcore50/zh-hans/Microsoft.CSharp.xml", - "ref/netcore50/zh-hant/Microsoft.CSharp.xml", - "ref/netcoreapp2.0/_._", - "ref/netstandard1.0/Microsoft.CSharp.dll", - "ref/netstandard1.0/Microsoft.CSharp.xml", - "ref/netstandard1.0/de/Microsoft.CSharp.xml", - "ref/netstandard1.0/es/Microsoft.CSharp.xml", - "ref/netstandard1.0/fr/Microsoft.CSharp.xml", - "ref/netstandard1.0/it/Microsoft.CSharp.xml", - "ref/netstandard1.0/ja/Microsoft.CSharp.xml", - "ref/netstandard1.0/ko/Microsoft.CSharp.xml", - "ref/netstandard1.0/ru/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", - "ref/netstandard2.0/Microsoft.CSharp.dll", - "ref/netstandard2.0/Microsoft.CSharp.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/uap10.0.16299/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.DotNet.ApiCompat.Task/8.0.203": { - "sha512": "nPEGMojf1mj1oVixe0aiBimSn6xUoZswSjpMPZFMkZ+znYm2GEM5tWGZEWb6OSNIo5gWKyDi1WcI4IL7YiL1Zw==", - "type": "package", - "path": "microsoft.dotnet.apicompat.task/8.0.203", - "hasTools": true, - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.txt", - "build/Microsoft.DotNet.ApiCompat.Task.targets", - "build/Microsoft.DotNet.ApiCompat.ValidateAssemblies.Common.targets", - "build/Microsoft.DotNet.ApiCompat.ValidateAssemblies.CrossTargeting.targets", - "build/Microsoft.DotNet.ApiCompat.ValidateAssemblies.NonCrossTargeting.targets", - "build/Microsoft.NET.ApiCompat.Common.targets", - "build/Microsoft.NET.ApiCompat.ValidatePackage.targets", - "buildMultiTargeting/Microsoft.DotNet.ApiCompat.Task.targets", - "microsoft.dotnet.apicompat.task.8.0.203.nupkg.sha512", - "microsoft.dotnet.apicompat.task.nuspec", - "tools/net472/Microsoft.DotNet.ApiCompat.Task.dll", - "tools/net472/Microsoft.DotNet.ApiCompat.Task.dll.config", - "tools/net472/Microsoft.DotNet.ApiCompat.Task.pdb", - "tools/net472/Microsoft.DotNet.ApiCompat.Task.xml", - "tools/net472/Microsoft.DotNet.ApiCompatibility.dll", - "tools/net472/Microsoft.DotNet.ApiCompatibility.dll.config", - "tools/net472/Microsoft.DotNet.ApiCompatibility.pdb", - "tools/net472/Microsoft.DotNet.ApiCompatibility.xml", - "tools/net472/Microsoft.DotNet.ApiSymbolExtensions.dll", - "tools/net472/Microsoft.DotNet.ApiSymbolExtensions.dll.config", - "tools/net472/Microsoft.DotNet.ApiSymbolExtensions.pdb", - "tools/net472/Microsoft.DotNet.ApiSymbolExtensions.xml", - "tools/net472/Microsoft.DotNet.PackageValidation.dll", - "tools/net472/Microsoft.DotNet.PackageValidation.dll.config", - "tools/net472/Microsoft.DotNet.PackageValidation.pdb", - "tools/net472/Microsoft.DotNet.PackageValidation.xml", - "tools/net472/Newtonsoft.Json.dll", - "tools/net472/NuGet.Common.dll", - "tools/net472/NuGet.Configuration.dll", - "tools/net472/NuGet.Frameworks.dll", - "tools/net472/NuGet.Packaging.dll", - "tools/net472/NuGet.Versioning.dll", - "tools/net472/cs/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/cs/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/cs/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/cs/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/de/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/de/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/de/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/de/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/es/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/es/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/es/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/es/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/fr/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/fr/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/fr/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/fr/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/it/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/it/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/it/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/it/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/ja/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/ja/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/ja/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/ja/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/ko/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/ko/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/ko/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/ko/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/pl/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/pl/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/pl/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/pl/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/pt-BR/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/pt-BR/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/pt-BR/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/pt-BR/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/ru/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/ru/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/ru/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/ru/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/tr/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/tr/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/tr/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/tr/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/zh-Hans/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/zh-Hans/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/zh-Hans/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/zh-Hans/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net472/zh-Hant/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net472/zh-Hant/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net472/zh-Hant/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net472/zh-Hant/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/Microsoft.DotNet.ApiCompat.Task.deps.json", - "tools/net6.0/Microsoft.DotNet.ApiCompat.Task.dll", - "tools/net6.0/Microsoft.DotNet.ApiCompat.Task.pdb", - "tools/net6.0/Microsoft.DotNet.ApiCompat.Task.xml", - "tools/net6.0/Microsoft.DotNet.ApiCompatibility.dll", - "tools/net6.0/Microsoft.DotNet.ApiCompatibility.pdb", - "tools/net6.0/Microsoft.DotNet.ApiCompatibility.xml", - "tools/net6.0/Microsoft.DotNet.ApiSymbolExtensions.dll", - "tools/net6.0/Microsoft.DotNet.ApiSymbolExtensions.pdb", - "tools/net6.0/Microsoft.DotNet.ApiSymbolExtensions.xml", - "tools/net6.0/Microsoft.DotNet.PackageValidation.dll", - "tools/net6.0/Microsoft.DotNet.PackageValidation.pdb", - "tools/net6.0/Microsoft.DotNet.PackageValidation.xml", - "tools/net6.0/Newtonsoft.Json.dll", - "tools/net6.0/NuGet.Common.dll", - "tools/net6.0/NuGet.Configuration.dll", - "tools/net6.0/NuGet.Frameworks.dll", - "tools/net6.0/NuGet.Packaging.dll", - "tools/net6.0/NuGet.Versioning.dll", - "tools/net6.0/System.Formats.Asn1.dll", - "tools/net6.0/System.Security.Cryptography.Pkcs.dll", - "tools/net6.0/System.Security.Cryptography.ProtectedData.dll", - "tools/net6.0/cs/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/cs/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/cs/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/cs/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/de/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/de/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/de/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/de/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/es/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/es/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/es/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/es/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/fr/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/fr/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/fr/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/fr/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/it/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/it/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/it/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/it/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/ja/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/ja/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/ja/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/ja/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/ko/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/ko/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/ko/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/ko/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/pl/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/pl/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/pl/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/pl/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/pt-BR/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/pt-BR/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/pt-BR/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/pt-BR/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/ru/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/ru/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/ru/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/ru/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/runtimes/win/lib/net6.0/System.Security.Cryptography.Pkcs.dll", - "tools/net6.0/tr/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/tr/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/tr/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/tr/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/zh-Hans/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/zh-Hans/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/zh-Hans/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/zh-Hans/Microsoft.DotNet.PackageValidation.resources.dll", - "tools/net6.0/zh-Hant/Microsoft.DotNet.ApiCompat.Task.resources.dll", - "tools/net6.0/zh-Hant/Microsoft.DotNet.ApiCompatibility.resources.dll", - "tools/net6.0/zh-Hant/Microsoft.DotNet.ApiSymbolExtensions.resources.dll", - "tools/net6.0/zh-Hant/Microsoft.DotNet.PackageValidation.resources.dll" - ] - }, - "Microsoft.DotNet.PlatformAbstractions/3.1.6": { - "sha512": "jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg==", - "type": "package", - "path": "microsoft.dotnet.platformabstractions/3.1.6", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net45/Microsoft.DotNet.PlatformAbstractions.dll", - "lib/net45/Microsoft.DotNet.PlatformAbstractions.xml", - "lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.dll", - "lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.xml", - "lib/netstandard2.0/Microsoft.DotNet.PlatformAbstractions.dll", - "lib/netstandard2.0/Microsoft.DotNet.PlatformAbstractions.xml", - "microsoft.dotnet.platformabstractions.3.1.6.nupkg.sha512", - "microsoft.dotnet.platformabstractions.nuspec" - ] - }, - "Microsoft.Extensions.Configuration/8.0.0": { - "sha512": "0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", - "type": "package", - "path": "microsoft.extensions.configuration/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.targets", - "lib/net462/Microsoft.Extensions.Configuration.dll", - "lib/net462/Microsoft.Extensions.Configuration.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.xml", - "microsoft.extensions.configuration.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { - "sha512": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", - "type": "package", - "path": "microsoft.extensions.configuration.abstractions/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Configuration.Binder/8.0.0": { - "sha512": "mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==", - "type": "package", - "path": "microsoft.extensions.configuration.binder/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.dll", - "analyzers/dotnet/cs/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/de/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/es/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/fr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/it/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/ja/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/ko/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/pl/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/pt-BR/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/ru/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/tr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/zh-Hans/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "analyzers/dotnet/cs/zh-Hant/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets", - "lib/net462/Microsoft.Extensions.Configuration.Binder.dll", - "lib/net462/Microsoft.Extensions.Configuration.Binder.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.Binder.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.Binder.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.Binder.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.Binder.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.Binder.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml", - "microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.binder.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { - "sha512": "NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", - "type": "package", - "path": "microsoft.extensions.configuration.commandline/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.CommandLine.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.CommandLine.targets", - "lib/net462/Microsoft.Extensions.Configuration.CommandLine.dll", - "lib/net462/Microsoft.Extensions.Configuration.CommandLine.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.CommandLine.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.CommandLine.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.CommandLine.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.CommandLine.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.xml", - "microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.commandline.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { - "sha512": "plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", - "type": "package", - "path": "microsoft.extensions.configuration.environmentvariables/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.EnvironmentVariables.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.targets", - "lib/net462/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", - "lib/net462/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", - "microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.environmentvariables.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { - "sha512": "McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==", - "type": "package", - "path": "microsoft.extensions.configuration.fileextensions/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.FileExtensions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.FileExtensions.targets", - "lib/net462/Microsoft.Extensions.Configuration.FileExtensions.dll", - "lib/net462/Microsoft.Extensions.Configuration.FileExtensions.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.FileExtensions.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.FileExtensions.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.FileExtensions.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.FileExtensions.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml", - "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.fileextensions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Configuration.Json/8.0.0": { - "sha512": "C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==", - "type": "package", - "path": "microsoft.extensions.configuration.json/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.Json.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Json.targets", - "lib/net462/Microsoft.Extensions.Configuration.Json.dll", - "lib/net462/Microsoft.Extensions.Configuration.Json.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.Json.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.Json.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.Json.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.Json.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.Json.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml", - "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll", - "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.xml", - "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.json.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { - "sha512": "ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==", - "type": "package", - "path": "microsoft.extensions.configuration.usersecrets/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.UserSecrets.targets", - "buildTransitive/net462/Microsoft.Extensions.Configuration.UserSecrets.props", - "buildTransitive/net462/Microsoft.Extensions.Configuration.UserSecrets.targets", - "buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.props", - "buildTransitive/net6.0/Microsoft.Extensions.Configuration.UserSecrets.targets", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.UserSecrets.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.props", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.targets", - "lib/net462/Microsoft.Extensions.Configuration.UserSecrets.dll", - "lib/net462/Microsoft.Extensions.Configuration.UserSecrets.xml", - "lib/net6.0/Microsoft.Extensions.Configuration.UserSecrets.dll", - "lib/net6.0/Microsoft.Extensions.Configuration.UserSecrets.xml", - "lib/net7.0/Microsoft.Extensions.Configuration.UserSecrets.dll", - "lib/net7.0/Microsoft.Extensions.Configuration.UserSecrets.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.xml", - "microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512", - "microsoft.extensions.configuration.usersecrets.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.DependencyInjection/8.0.0": { - "sha512": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", - "type": "package", - "path": "microsoft.extensions.dependencyinjection/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.xml", - "lib/net6.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net6.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", - "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512", - "microsoft.extensions.dependencyinjection.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { - "sha512": "cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", - "type": "package", - "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512", - "microsoft.extensions.dependencyinjection.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.DependencyModel/6.0.0": { - "sha512": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", - "type": "package", - "path": "microsoft.extensions.dependencymodel/6.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.Extensions.DependencyModel.dll", - "lib/net461/Microsoft.Extensions.DependencyModel.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", - "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512", - "microsoft.extensions.dependencymodel.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Diagnostics/8.0.0": { - "sha512": "3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==", - "type": "package", - "path": "microsoft.extensions.diagnostics/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Diagnostics.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.targets", - "lib/net462/Microsoft.Extensions.Diagnostics.dll", - "lib/net462/Microsoft.Extensions.Diagnostics.xml", - "lib/net6.0/Microsoft.Extensions.Diagnostics.dll", - "lib/net6.0/Microsoft.Extensions.Diagnostics.xml", - "lib/net7.0/Microsoft.Extensions.Diagnostics.dll", - "lib/net7.0/Microsoft.Extensions.Diagnostics.xml", - "lib/net8.0/Microsoft.Extensions.Diagnostics.dll", - "lib/net8.0/Microsoft.Extensions.Diagnostics.xml", - "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.dll", - "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.xml", - "microsoft.extensions.diagnostics.8.0.0.nupkg.sha512", - "microsoft.extensions.diagnostics.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { - "sha512": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", - "type": "package", - "path": "microsoft.extensions.diagnostics.abstractions/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Diagnostics.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Diagnostics.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Diagnostics.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Diagnostics.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.xml", - "microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512", - "microsoft.extensions.diagnostics.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { - "sha512": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", - "type": "package", - "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.FileProviders.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Abstractions.targets", - "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/net462/Microsoft.Extensions.FileProviders.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.xml", - "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", - "microsoft.extensions.fileproviders.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.FileProviders.Physical/8.0.0": { - "sha512": "UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", - "type": "package", - "path": "microsoft.extensions.fileproviders.physical/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.FileProviders.Physical.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileProviders.Physical.targets", - "lib/net462/Microsoft.Extensions.FileProviders.Physical.dll", - "lib/net462/Microsoft.Extensions.FileProviders.Physical.xml", - "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.dll", - "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.xml", - "lib/net7.0/Microsoft.Extensions.FileProviders.Physical.dll", - "lib/net7.0/Microsoft.Extensions.FileProviders.Physical.xml", - "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll", - "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.xml", - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll", - "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.xml", - "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512", - "microsoft.extensions.fileproviders.physical.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { - "sha512": "OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==", - "type": "package", - "path": "microsoft.extensions.filesystemglobbing/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.FileSystemGlobbing.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileSystemGlobbing.targets", - "lib/net462/Microsoft.Extensions.FileSystemGlobbing.dll", - "lib/net462/Microsoft.Extensions.FileSystemGlobbing.xml", - "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll", - "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.xml", - "lib/net7.0/Microsoft.Extensions.FileSystemGlobbing.dll", - "lib/net7.0/Microsoft.Extensions.FileSystemGlobbing.xml", - "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll", - "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.xml", - "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll", - "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml", - "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512", - "microsoft.extensions.filesystemglobbing.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Hosting/8.0.0": { - "sha512": "ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==", - "type": "package", - "path": "microsoft.extensions.hosting/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Hosting.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.targets", - "lib/net462/Microsoft.Extensions.Hosting.dll", - "lib/net462/Microsoft.Extensions.Hosting.xml", - "lib/net6.0/Microsoft.Extensions.Hosting.dll", - "lib/net6.0/Microsoft.Extensions.Hosting.xml", - "lib/net7.0/Microsoft.Extensions.Hosting.dll", - "lib/net7.0/Microsoft.Extensions.Hosting.xml", - "lib/net8.0/Microsoft.Extensions.Hosting.dll", - "lib/net8.0/Microsoft.Extensions.Hosting.xml", - "lib/netstandard2.0/Microsoft.Extensions.Hosting.dll", - "lib/netstandard2.0/Microsoft.Extensions.Hosting.xml", - "lib/netstandard2.1/Microsoft.Extensions.Hosting.dll", - "lib/netstandard2.1/Microsoft.Extensions.Hosting.xml", - "microsoft.extensions.hosting.8.0.0.nupkg.sha512", - "microsoft.extensions.hosting.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { - "sha512": "AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", - "type": "package", - "path": "microsoft.extensions.hosting.abstractions/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Hosting.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Hosting.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Hosting.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Hosting.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Hosting.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Hosting.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Hosting.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Hosting.Abstractions.xml", - "lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.dll", - "lib/netstandard2.1/Microsoft.Extensions.Hosting.Abstractions.xml", - "microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512", - "microsoft.extensions.hosting.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Localization.Abstractions/8.0.3": { - "sha512": "k/kUPm1FQBxcs9/vsM1eF4qIOg2Sovqh/+KUGHur5Mc0Y3OFGuoz9ktBX7LA0gPz53SZhW3W3oaSaMFFcjgM6Q==", - "type": "package", - "path": "microsoft.extensions.localization.abstractions/8.0.3", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "THIRD-PARTY-NOTICES.TXT", - "lib/net462/Microsoft.Extensions.Localization.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Localization.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Localization.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Localization.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Localization.Abstractions.xml", - "microsoft.extensions.localization.abstractions.8.0.3.nupkg.sha512", - "microsoft.extensions.localization.abstractions.nuspec" - ] - }, - "Microsoft.Extensions.Logging/8.0.0": { - "sha512": "tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", - "type": "package", - "path": "microsoft.extensions.logging/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", - "lib/net462/Microsoft.Extensions.Logging.dll", - "lib/net462/Microsoft.Extensions.Logging.xml", - "lib/net6.0/Microsoft.Extensions.Logging.dll", - "lib/net6.0/Microsoft.Extensions.Logging.xml", - "lib/net7.0/Microsoft.Extensions.Logging.dll", - "lib/net7.0/Microsoft.Extensions.Logging.xml", - "lib/net8.0/Microsoft.Extensions.Logging.dll", - "lib/net8.0/Microsoft.Extensions.Logging.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", - "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", - "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", - "microsoft.extensions.logging.8.0.0.nupkg.sha512", - "microsoft.extensions.logging.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Logging.Abstractions/8.0.0": { - "sha512": "arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", - "type": "package", - "path": "microsoft.extensions.logging.abstractions/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", - "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512", - "microsoft.extensions.logging.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Logging.Configuration/8.0.0": { - "sha512": "ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==", - "type": "package", - "path": "microsoft.extensions.logging.configuration/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.Configuration.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Configuration.targets", - "lib/net462/Microsoft.Extensions.Logging.Configuration.dll", - "lib/net462/Microsoft.Extensions.Logging.Configuration.xml", - "lib/net6.0/Microsoft.Extensions.Logging.Configuration.dll", - "lib/net6.0/Microsoft.Extensions.Logging.Configuration.xml", - "lib/net7.0/Microsoft.Extensions.Logging.Configuration.dll", - "lib/net7.0/Microsoft.Extensions.Logging.Configuration.xml", - "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll", - "lib/net8.0/Microsoft.Extensions.Logging.Configuration.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml", - "microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512", - "microsoft.extensions.logging.configuration.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Logging.Console/8.0.0": { - "sha512": "e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==", - "type": "package", - "path": "microsoft.extensions.logging.console/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.Console.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Console.targets", - "lib/net462/Microsoft.Extensions.Logging.Console.dll", - "lib/net462/Microsoft.Extensions.Logging.Console.xml", - "lib/net6.0/Microsoft.Extensions.Logging.Console.dll", - "lib/net6.0/Microsoft.Extensions.Logging.Console.xml", - "lib/net7.0/Microsoft.Extensions.Logging.Console.dll", - "lib/net7.0/Microsoft.Extensions.Logging.Console.xml", - "lib/net8.0/Microsoft.Extensions.Logging.Console.dll", - "lib/net8.0/Microsoft.Extensions.Logging.Console.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Console.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Console.xml", - "microsoft.extensions.logging.console.8.0.0.nupkg.sha512", - "microsoft.extensions.logging.console.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Logging.Debug/8.0.0": { - "sha512": "dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==", - "type": "package", - "path": "microsoft.extensions.logging.debug/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.Debug.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Debug.targets", - "lib/net462/Microsoft.Extensions.Logging.Debug.dll", - "lib/net462/Microsoft.Extensions.Logging.Debug.xml", - "lib/net6.0/Microsoft.Extensions.Logging.Debug.dll", - "lib/net6.0/Microsoft.Extensions.Logging.Debug.xml", - "lib/net7.0/Microsoft.Extensions.Logging.Debug.dll", - "lib/net7.0/Microsoft.Extensions.Logging.Debug.xml", - "lib/net8.0/Microsoft.Extensions.Logging.Debug.dll", - "lib/net8.0/Microsoft.Extensions.Logging.Debug.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.xml", - "microsoft.extensions.logging.debug.8.0.0.nupkg.sha512", - "microsoft.extensions.logging.debug.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Logging.EventLog/8.0.0": { - "sha512": "3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==", - "type": "package", - "path": "microsoft.extensions.logging.eventlog/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.EventLog.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventLog.targets", - "lib/net462/Microsoft.Extensions.Logging.EventLog.dll", - "lib/net462/Microsoft.Extensions.Logging.EventLog.xml", - "lib/net6.0/Microsoft.Extensions.Logging.EventLog.dll", - "lib/net6.0/Microsoft.Extensions.Logging.EventLog.xml", - "lib/net7.0/Microsoft.Extensions.Logging.EventLog.dll", - "lib/net7.0/Microsoft.Extensions.Logging.EventLog.xml", - "lib/net8.0/Microsoft.Extensions.Logging.EventLog.dll", - "lib/net8.0/Microsoft.Extensions.Logging.EventLog.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.xml", - "microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512", - "microsoft.extensions.logging.eventlog.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Logging.EventSource/8.0.0": { - "sha512": "oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==", - "type": "package", - "path": "microsoft.extensions.logging.eventsource/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.EventSource.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventSource.targets", - "lib/net462/Microsoft.Extensions.Logging.EventSource.dll", - "lib/net462/Microsoft.Extensions.Logging.EventSource.xml", - "lib/net6.0/Microsoft.Extensions.Logging.EventSource.dll", - "lib/net6.0/Microsoft.Extensions.Logging.EventSource.xml", - "lib/net7.0/Microsoft.Extensions.Logging.EventSource.dll", - "lib/net7.0/Microsoft.Extensions.Logging.EventSource.xml", - "lib/net8.0/Microsoft.Extensions.Logging.EventSource.dll", - "lib/net8.0/Microsoft.Extensions.Logging.EventSource.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.EventSource.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.EventSource.xml", - "microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512", - "microsoft.extensions.logging.eventsource.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Options/8.0.0": { - "sha512": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", - "type": "package", - "path": "microsoft.extensions.options/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "buildTransitive/net461/Microsoft.Extensions.Options.targets", - "buildTransitive/net462/Microsoft.Extensions.Options.targets", - "buildTransitive/net6.0/Microsoft.Extensions.Options.targets", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", - "lib/net462/Microsoft.Extensions.Options.dll", - "lib/net462/Microsoft.Extensions.Options.xml", - "lib/net6.0/Microsoft.Extensions.Options.dll", - "lib/net6.0/Microsoft.Extensions.Options.xml", - "lib/net7.0/Microsoft.Extensions.Options.dll", - "lib/net7.0/Microsoft.Extensions.Options.xml", - "lib/net8.0/Microsoft.Extensions.Options.dll", - "lib/net8.0/Microsoft.Extensions.Options.xml", - "lib/netstandard2.0/Microsoft.Extensions.Options.dll", - "lib/netstandard2.0/Microsoft.Extensions.Options.xml", - "lib/netstandard2.1/Microsoft.Extensions.Options.dll", - "lib/netstandard2.1/Microsoft.Extensions.Options.xml", - "microsoft.extensions.options.8.0.0.nupkg.sha512", - "microsoft.extensions.options.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { - "sha512": "0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", - "type": "package", - "path": "microsoft.extensions.options.configurationextensions/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Options.ConfigurationExtensions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.ConfigurationExtensions.targets", - "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.dll", - "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.xml", - "lib/net6.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", - "lib/net6.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml", - "lib/net7.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", - "lib/net7.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml", - "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", - "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.xml", - "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512", - "microsoft.extensions.options.configurationextensions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Primitives/8.0.0": { - "sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", - "type": "package", - "path": "microsoft.extensions.primitives/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", - "lib/net462/Microsoft.Extensions.Primitives.dll", - "lib/net462/Microsoft.Extensions.Primitives.xml", - "lib/net6.0/Microsoft.Extensions.Primitives.dll", - "lib/net6.0/Microsoft.Extensions.Primitives.xml", - "lib/net7.0/Microsoft.Extensions.Primitives.dll", - "lib/net7.0/Microsoft.Extensions.Primitives.xml", - "lib/net8.0/Microsoft.Extensions.Primitives.dll", - "lib/net8.0/Microsoft.Extensions.Primitives.xml", - "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", - "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", - "microsoft.extensions.primitives.8.0.0.nupkg.sha512", - "microsoft.extensions.primitives.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "MySqlConnector/2.3.7": { - "sha512": "YiVOxvJ+vAYW8NT9gHv8RxKCDFCSXAObF3z0Ou/8WRv8Lsn2QsxaPW5xEwPE+xCcAq6BGkrI8GTOC09Xg09blQ==", - "type": "package", - "path": "mysqlconnector/2.3.7", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "README.md", - "lib/net462/MySqlConnector.dll", - "lib/net462/MySqlConnector.xml", - "lib/net471/MySqlConnector.dll", - "lib/net471/MySqlConnector.xml", - "lib/net48/MySqlConnector.dll", - "lib/net48/MySqlConnector.xml", - "lib/net6.0/MySqlConnector.dll", - "lib/net6.0/MySqlConnector.xml", - "lib/net7.0/MySqlConnector.dll", - "lib/net7.0/MySqlConnector.xml", - "lib/net8.0/MySqlConnector.dll", - "lib/net8.0/MySqlConnector.xml", - "lib/netstandard2.0/MySqlConnector.dll", - "lib/netstandard2.0/MySqlConnector.xml", - "lib/netstandard2.1/MySqlConnector.dll", - "lib/netstandard2.1/MySqlConnector.xml", - "logo.png", - "mysqlconnector.2.3.7.nupkg.sha512", - "mysqlconnector.nuspec" - ] - }, - "Scrutor/4.2.2": { - "sha512": "t5VIYA7WJXoJJo7s4DoHakMGwTu+MeEnZumMOhTCH7kz9xWha24G7dJNxWrHPlu0ZdZAS4jDZCxxAnyaBh7uYw==", - "type": "package", - "path": "scrutor/4.2.2", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net461/Scrutor.dll", - "lib/net461/Scrutor.pdb", - "lib/net461/Scrutor.xml", - "lib/net6.0/Scrutor.dll", - "lib/net6.0/Scrutor.pdb", - "lib/net6.0/Scrutor.xml", - "lib/netcoreapp3.1/Scrutor.dll", - "lib/netcoreapp3.1/Scrutor.pdb", - "lib/netcoreapp3.1/Scrutor.xml", - "lib/netstandard2.0/Scrutor.dll", - "lib/netstandard2.0/Scrutor.pdb", - "lib/netstandard2.0/Scrutor.xml", - "scrutor.4.2.2.nupkg.sha512", - "scrutor.nuspec" - ] - }, - "Serilog/3.1.1": { - "sha512": "P6G4/4Kt9bT635bhuwdXlJ2SCqqn2nhh4gqFqQueCOr9bK/e7W9ll/IoX1Ter948cV2Z/5+5v8pAfJYUISY03A==", - "type": "package", - "path": "serilog/3.1.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "README.md", - "icon.png", - "lib/net462/Serilog.dll", - "lib/net462/Serilog.xml", - "lib/net471/Serilog.dll", - "lib/net471/Serilog.xml", - "lib/net5.0/Serilog.dll", - "lib/net5.0/Serilog.xml", - "lib/net6.0/Serilog.dll", - "lib/net6.0/Serilog.xml", - "lib/net7.0/Serilog.dll", - "lib/net7.0/Serilog.xml", - "lib/netstandard2.0/Serilog.dll", - "lib/netstandard2.0/Serilog.xml", - "lib/netstandard2.1/Serilog.dll", - "lib/netstandard2.1/Serilog.xml", - "serilog.3.1.1.nupkg.sha512", - "serilog.nuspec" - ] - }, - "Serilog.Extensions.Logging/8.0.0": { - "sha512": "YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==", - "type": "package", - "path": "serilog.extensions.logging/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "README.md", - "lib/net462/Serilog.Extensions.Logging.dll", - "lib/net462/Serilog.Extensions.Logging.xml", - "lib/net6.0/Serilog.Extensions.Logging.dll", - "lib/net6.0/Serilog.Extensions.Logging.xml", - "lib/net7.0/Serilog.Extensions.Logging.dll", - "lib/net7.0/Serilog.Extensions.Logging.xml", - "lib/net8.0/Serilog.Extensions.Logging.dll", - "lib/net8.0/Serilog.Extensions.Logging.xml", - "lib/netstandard2.0/Serilog.Extensions.Logging.dll", - "lib/netstandard2.0/Serilog.Extensions.Logging.xml", - "lib/netstandard2.1/Serilog.Extensions.Logging.dll", - "lib/netstandard2.1/Serilog.Extensions.Logging.xml", - "serilog-extension-nuget.png", - "serilog.extensions.logging.8.0.0.nupkg.sha512", - "serilog.extensions.logging.nuspec" - ] - }, - "Serilog.Sinks.Console/5.0.0": { - "sha512": "IZ6bn79k+3SRXOBpwSOClUHikSkp2toGPCZ0teUkscv4dpDg9E2R2xVsNkLmwddE4OpNVO3N0xiYsAH556vN8Q==", - "type": "package", - "path": "serilog.sinks.console/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "README.md", - "icon.png", - "lib/net462/Serilog.Sinks.Console.dll", - "lib/net462/Serilog.Sinks.Console.xml", - "lib/net471/Serilog.Sinks.Console.dll", - "lib/net471/Serilog.Sinks.Console.xml", - "lib/net5.0/Serilog.Sinks.Console.dll", - "lib/net5.0/Serilog.Sinks.Console.xml", - "lib/net6.0/Serilog.Sinks.Console.dll", - "lib/net6.0/Serilog.Sinks.Console.xml", - "lib/net7.0/Serilog.Sinks.Console.dll", - "lib/net7.0/Serilog.Sinks.Console.xml", - "lib/netstandard2.0/Serilog.Sinks.Console.dll", - "lib/netstandard2.0/Serilog.Sinks.Console.xml", - "lib/netstandard2.1/Serilog.Sinks.Console.dll", - "lib/netstandard2.1/Serilog.Sinks.Console.xml", - "serilog.sinks.console.5.0.0.nupkg.sha512", - "serilog.sinks.console.nuspec" - ] - }, - "Serilog.Sinks.File/5.0.0": { - "sha512": "uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", - "type": "package", - "path": "serilog.sinks.file/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "images/icon.png", - "lib/net45/Serilog.Sinks.File.dll", - "lib/net45/Serilog.Sinks.File.pdb", - "lib/net45/Serilog.Sinks.File.xml", - "lib/net5.0/Serilog.Sinks.File.dll", - "lib/net5.0/Serilog.Sinks.File.pdb", - "lib/net5.0/Serilog.Sinks.File.xml", - "lib/netstandard1.3/Serilog.Sinks.File.dll", - "lib/netstandard1.3/Serilog.Sinks.File.pdb", - "lib/netstandard1.3/Serilog.Sinks.File.xml", - "lib/netstandard2.0/Serilog.Sinks.File.dll", - "lib/netstandard2.0/Serilog.Sinks.File.pdb", - "lib/netstandard2.0/Serilog.Sinks.File.xml", - "lib/netstandard2.1/Serilog.Sinks.File.dll", - "lib/netstandard2.1/Serilog.Sinks.File.pdb", - "lib/netstandard2.1/Serilog.Sinks.File.xml", - "serilog.sinks.file.5.0.0.nupkg.sha512", - "serilog.sinks.file.nuspec" - ] - }, - "System.Buffers/4.5.1": { - "sha512": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", - "type": "package", - "path": "system.buffers/4.5.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/System.Buffers.dll", - "lib/net461/System.Buffers.xml", - "lib/netcoreapp2.0/_._", - "lib/netstandard1.1/System.Buffers.dll", - "lib/netstandard1.1/System.Buffers.xml", - "lib/netstandard2.0/System.Buffers.dll", - "lib/netstandard2.0/System.Buffers.xml", - "lib/uap10.0.16299/_._", - "ref/net45/System.Buffers.dll", - "ref/net45/System.Buffers.xml", - "ref/netcoreapp2.0/_._", - "ref/netstandard1.1/System.Buffers.dll", - "ref/netstandard1.1/System.Buffers.xml", - "ref/netstandard2.0/System.Buffers.dll", - "ref/netstandard2.0/System.Buffers.xml", - "ref/uap10.0.16299/_._", - "system.buffers.4.5.1.nupkg.sha512", - "system.buffers.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Data.DataSetExtensions/4.5.0": { - "sha512": "221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==", - "type": "package", - "path": "system.data.datasetextensions/4.5.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net45/_._", - "lib/netstandard2.0/System.Data.DataSetExtensions.dll", - "ref/net45/_._", - "ref/netstandard2.0/System.Data.DataSetExtensions.dll", - "system.data.datasetextensions.4.5.0.nupkg.sha512", - "system.data.datasetextensions.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Diagnostics.DiagnosticSource/8.0.0": { - "sha512": "c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==", - "type": "package", - "path": "system.diagnostics.diagnosticsource/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", - "lib/net462/System.Diagnostics.DiagnosticSource.dll", - "lib/net462/System.Diagnostics.DiagnosticSource.xml", - "lib/net6.0/System.Diagnostics.DiagnosticSource.dll", - "lib/net6.0/System.Diagnostics.DiagnosticSource.xml", - "lib/net7.0/System.Diagnostics.DiagnosticSource.dll", - "lib/net7.0/System.Diagnostics.DiagnosticSource.xml", - "lib/net8.0/System.Diagnostics.DiagnosticSource.dll", - "lib/net8.0/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", - "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512", - "system.diagnostics.diagnosticsource.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Diagnostics.EventLog/8.0.0": { - "sha512": "fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==", - "type": "package", - "path": "system.diagnostics.eventlog/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Diagnostics.EventLog.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/System.Diagnostics.EventLog.targets", - "lib/net462/System.Diagnostics.EventLog.dll", - "lib/net462/System.Diagnostics.EventLog.xml", - "lib/net6.0/System.Diagnostics.EventLog.dll", - "lib/net6.0/System.Diagnostics.EventLog.xml", - "lib/net7.0/System.Diagnostics.EventLog.dll", - "lib/net7.0/System.Diagnostics.EventLog.xml", - "lib/net8.0/System.Diagnostics.EventLog.dll", - "lib/net8.0/System.Diagnostics.EventLog.xml", - "lib/netstandard2.0/System.Diagnostics.EventLog.dll", - "lib/netstandard2.0/System.Diagnostics.EventLog.xml", - "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.Messages.dll", - "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.dll", - "runtimes/win/lib/net6.0/System.Diagnostics.EventLog.xml", - "runtimes/win/lib/net7.0/System.Diagnostics.EventLog.Messages.dll", - "runtimes/win/lib/net7.0/System.Diagnostics.EventLog.dll", - "runtimes/win/lib/net7.0/System.Diagnostics.EventLog.xml", - "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll", - "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll", - "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.xml", - "system.diagnostics.eventlog.8.0.0.nupkg.sha512", - "system.diagnostics.eventlog.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Memory/4.5.4": { - "sha512": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", - "type": "package", - "path": "system.memory/4.5.4", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/System.Memory.dll", - "lib/net461/System.Memory.xml", - "lib/netcoreapp2.1/_._", - "lib/netstandard1.1/System.Memory.dll", - "lib/netstandard1.1/System.Memory.xml", - "lib/netstandard2.0/System.Memory.dll", - "lib/netstandard2.0/System.Memory.xml", - "ref/netcoreapp2.1/_._", - "system.memory.4.5.4.nupkg.sha512", - "system.memory.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", - "type": "package", - "path": "system.runtime.compilerservices.unsafe/6.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", - "buildTransitive/netcoreapp3.1/_._", - "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", - "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", - "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", - "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", - "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", - "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", - "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", - "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", - "system.runtime.compilerservices.unsafe.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Text.Encodings.Web/8.0.0": { - "sha512": "yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", - "type": "package", - "path": "system.text.encodings.web/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Text.Encodings.Web.targets", - "buildTransitive/net462/_._", - "buildTransitive/net6.0/_._", - "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets", - "lib/net462/System.Text.Encodings.Web.dll", - "lib/net462/System.Text.Encodings.Web.xml", - "lib/net6.0/System.Text.Encodings.Web.dll", - "lib/net6.0/System.Text.Encodings.Web.xml", - "lib/net7.0/System.Text.Encodings.Web.dll", - "lib/net7.0/System.Text.Encodings.Web.xml", - "lib/net8.0/System.Text.Encodings.Web.dll", - "lib/net8.0/System.Text.Encodings.Web.xml", - "lib/netstandard2.0/System.Text.Encodings.Web.dll", - "lib/netstandard2.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.xml", - "system.text.encodings.web.8.0.0.nupkg.sha512", - "system.text.encodings.web.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Text.Json/8.0.0": { - "sha512": "OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", - "type": "package", - "path": "system.text.json/8.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "buildTransitive/net461/System.Text.Json.targets", - "buildTransitive/net462/System.Text.Json.targets", - "buildTransitive/net6.0/System.Text.Json.targets", - "buildTransitive/netcoreapp2.0/System.Text.Json.targets", - "buildTransitive/netstandard2.0/System.Text.Json.targets", - "lib/net462/System.Text.Json.dll", - "lib/net462/System.Text.Json.xml", - "lib/net6.0/System.Text.Json.dll", - "lib/net6.0/System.Text.Json.xml", - "lib/net7.0/System.Text.Json.dll", - "lib/net7.0/System.Text.Json.xml", - "lib/net8.0/System.Text.Json.dll", - "lib/net8.0/System.Text.Json.xml", - "lib/netstandard2.0/System.Text.Json.dll", - "lib/netstandard2.0/System.Text.Json.xml", - "system.text.json.8.0.0.nupkg.sha512", - "system.text.json.nuspec", - "useSharedDesignerContext.txt" - ] - } - }, - "projectFileDependencyGroups": { - "net8.0": [ - "CounterStrikeSharp.API >= 1.0.244", - "Dapper >= *", - "Microsoft.Extensions.Logging >= 8.0.0", - "MySqlConnector >= *" - ] - }, - "packageFolders": { - "C:\\Users\\sachi\\.nuget\\packages\\": {} - }, - "project": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\Clientprefs.csproj", - "projectName": "Clientprefs", - "projectPath": "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\Clientprefs.csproj", - "packagesPath": "C:\\Users\\sachi\\.nuget\\packages\\", - "outputPath": "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\obj\\", - "projectStyle": "PackageReference", - "configFilePaths": [ - "C:\\Users\\sachi\\AppData\\Roaming\\NuGet\\NuGet.Config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" - ], - "originalTargetFrameworks": [ - "net8.0" - ], - "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net8.0": { - "targetAlias": "net8.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - }, - "restoreAuditProperties": { - "enableAudit": "true", - "auditLevel": "low", - "auditMode": "direct" - } - }, - "frameworks": { - "net8.0": { - "targetAlias": "net8.0", - "dependencies": { - "CounterStrikeSharp.API": { - "include": "Compile, Build, Native, ContentFiles, Analyzers, BuildTransitive", - "suppressParent": "None", - "target": "Package", - "version": "[1.0.244, )" - }, - "Dapper": { - "target": "Package", - "version": "[*, )" - }, - "Microsoft.Extensions.Logging": { - "target": "Package", - "version": "[8.0.0, )" - }, - "MySqlConnector": { - "target": "Package", - "version": "[*, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "frameworkReferences": { - "Microsoft.NETCore.App": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.203/PortableRuntimeIdentifierGraph.json" - } - } - } -} \ No newline at end of file diff --git a/Clientprefs/src/obj/project.nuget.cache b/Clientprefs/src/obj/project.nuget.cache deleted file mode 100644 index 1962aee..0000000 --- a/Clientprefs/src/obj/project.nuget.cache +++ /dev/null @@ -1,58 +0,0 @@ -{ - "version": 2, - "dgSpecHash": "J3hFFTLWyT4dkTmCQZRUEklvIBgt4MLi+YPuAkRHDjbReC5dYsTUXVWVsCVwftBU/2hy4Bq/fn0l2vs2wgydEg==", - "success": true, - "projectFilePath": "C:\\Users\\sachi\\Downloads\\CSSharp\\Clientprefs\\Clientprefs.csproj", - "expectedPackageFiles": [ - "C:\\Users\\sachi\\.nuget\\packages\\counterstrikesharp.api\\1.0.244\\counterstrikesharp.api.1.0.244.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\dapper\\2.1.44\\dapper.2.1.44.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\mcmaster.netcore.plugins\\1.4.0\\mcmaster.netcore.plugins.1.4.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.dotnet.apicompat.task\\8.0.203\\microsoft.dotnet.apicompat.task.8.0.203.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.dotnet.platformabstractions\\3.1.6\\microsoft.dotnet.platformabstractions.3.1.6.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\8.0.0\\microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.configuration.binder\\8.0.0\\microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\8.0.0\\microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\8.0.0\\microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\8.0.0\\microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.configuration.json\\8.0.0\\microsoft.extensions.configuration.json.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\8.0.0\\microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.0\\microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.dependencymodel\\6.0.0\\microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.diagnostics\\8.0.0\\microsoft.extensions.diagnostics.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.diagnostics.abstractions\\8.0.0\\microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\8.0.0\\microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\8.0.0\\microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\8.0.0\\microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.hosting\\8.0.0\\microsoft.extensions.hosting.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\8.0.0\\microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.localization.abstractions\\8.0.3\\microsoft.extensions.localization.abstractions.8.0.3.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.logging\\8.0.0\\microsoft.extensions.logging.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.0\\microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.logging.configuration\\8.0.0\\microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.logging.console\\8.0.0\\microsoft.extensions.logging.console.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.logging.debug\\8.0.0\\microsoft.extensions.logging.debug.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.logging.eventlog\\8.0.0\\microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.logging.eventsource\\8.0.0\\microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.options\\8.0.0\\microsoft.extensions.options.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\8.0.0\\microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\mysqlconnector\\2.3.7\\mysqlconnector.2.3.7.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\scrutor\\4.2.2\\scrutor.4.2.2.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\serilog\\3.1.1\\serilog.3.1.1.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\serilog.extensions.logging\\8.0.0\\serilog.extensions.logging.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\serilog.sinks.console\\5.0.0\\serilog.sinks.console.5.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\serilog.sinks.file\\5.0.0\\serilog.sinks.file.5.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\system.buffers\\4.5.1\\system.buffers.4.5.1.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\system.data.datasetextensions\\4.5.0\\system.data.datasetextensions.4.5.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\system.diagnostics.diagnosticsource\\8.0.0\\system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\system.diagnostics.eventlog\\8.0.0\\system.diagnostics.eventlog.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\system.text.encodings.web\\8.0.0\\system.text.encodings.web.8.0.0.nupkg.sha512", - "C:\\Users\\sachi\\.nuget\\packages\\system.text.json\\8.0.0\\system.text.json.8.0.0.nupkg.sha512" - ], - "logs": [] -} \ No newline at end of file diff --git a/ClientprefsApi/.gitignore b/ClientprefsApi/.gitignore new file mode 100644 index 0000000..efc610d --- /dev/null +++ b/ClientprefsApi/.gitignore @@ -0,0 +1,65 @@ +# +# The file was created by KitsuneLab - Entity (@Sples1) +# +### KitsuneLab ### +# Folders +.build/ +.vanish/ + +# SourcePawn +*.smx + +# Others +*.exe +*.dat +*.bat + +### VisualStudioCode ### +.vscode/ +.vs/ +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# macOS-specific files and directories to ignore +.DS_Store +.AppleDouble/ +__MACOSX/ + +# Remove dotnet normal build +bin/ +obj/ +*.sln +temp.txt \ No newline at end of file diff --git a/ClientprefsApi/ClientprefsApi.csproj b/ClientprefsApi/ClientprefsApi.csproj new file mode 100644 index 0000000..fd19498 --- /dev/null +++ b/ClientprefsApi/ClientprefsApi.csproj @@ -0,0 +1,12 @@ + + + + net8.0 + enable + enable + + + + + + \ No newline at end of file diff --git a/ClientprefsApi/ClientprefsApi.dll b/ClientprefsApi/ClientprefsApi.dll new file mode 100644 index 0000000000000000000000000000000000000000..7b4dda91996af311b344890a08de2540b875b76c GIT binary patch literal 5632 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 +/// Cookie access types for client viewing +/// +public enum CookieAccess +{ + /// + /// Visible and Changeable by users. + /// + CookieAccess_Public, + /// + /// Read only to users. + /// + CookieAccess_Protected, + /// + /// Completely hidden cookie. + /// + CookieAccess_Private +}; + +/// +/// Cookie Prefab menu types +/// +public enum CookieMenu +{ + /// + /// Yes/No menu with "yes"/"no" results saved into the cookie + /// + CookieMenu_YesNo, + /// + /// Yes/No menu with 1/0 saved into the cookie + /// + CookieMenu_YesNo_Int, + /// + /// On/Off menu with "on"/"off" results saved into the cookie + /// + CookieMenu_OnOff, + /// + /// On/Off menu with 1/0 saved into the cookie + /// + CookieMenu_OnOff_Int +}; + +/// +/// Cookie Prefab Menu Actions +/// +public enum CookieMenuAction +{ + /// + /// An option is being drawn for a menu. + /// INPUT : PlayerController. + /// + CookieMenuAction_DisplayOption = 0, + + /// + /// A menu option has been selected. + /// INPUT : PlayerController. + /// + CookieMenuAction_SelectOption = 1 +}; + +/// +/// API for Clienprefs. +/// +public interface IClientprefsApi +{ + /// + /// Maximum length of a cookie name. + /// + public const int COOKIE_MAX_NAME_LENGTH = 64; + /// + /// Maximum length of a cookie description. + /// + public const int COOKIE_MAX_DESCRIPTION_LENGTH = 128; + /// + /// Maximum length of a cookie value. + /// + public const int COOKIE_MAX_VALUE_LENGTH = 256; + + public delegate void PlayerCookiesCached(CCSPlayerController player); + public delegate void DatabaseLoaded(); + + /// + /// Creates a new player preference cookie. + /// if a cookie with the same name or id exists, + /// it will return the existing cookie id. + /// -1 if unable to create. + /// + /// ID of registered player cookie. + public int RegPlayerCookie(string name, string description, CookieAccess access = CookieAccess.CookieAccess_Public); + + /// + /// Returns cookieId for the given cookie name. + /// -1 if cookie not found. + /// + /// Handler to find player cookie. + public int FindPlayerCookie(string name); + + /// + /// Set the value of a player preference cookie. + /// + /// Handler to set player cookie. + public void SetPlayerCookie(CCSPlayerController player, int cookieId, string name); + + /// + /// Set the value of a steamId preference cookie. + /// + /// Handler to set steamId cookie. + public void SetPlayerCookie(string steamId, int cookieId, string name); + + /// + /// Get the value of a Player preference cookie. + /// + /// Handler to set player cookie. + public string GetPlayerCookie(CCSPlayerController player, int cookieId); + + /// + /// Checks if a players cookies have been loaded from the database. + /// + /// Handler to check if player cookies are loaded. + public bool ArePlayerCookiesCached(CCSPlayerController player); + + /// + /// Hook OnDatabaseLoaded that is called once database is loaded and new cookie is ready to be registered. + /// + /// Event that is called when database is loaded. + public void HookRegisterCookie(DatabaseLoaded hook); + + /// + /// Unhook OnDatabaseLoaded that is called once database is loaded and new cookie is ready to be registered. + /// + /// Event that is called when database is loaded. + public void UnhookRegisterCookie(DatabaseLoaded hook); + + /// + /// Hook OnPlayerCookiesCached that is called once a players saved cookies have been loaded from the database. + /// + /// Event that is called when players cookies are loaded. + public void HookPlayerCache(PlayerCookiesCached hook); + + /// + /// Unhook OnPlayerCookiesCached that is called once a players saved cookies have been loaded from the database. + /// + /// Event that is called when players cookies are loaded. + public void UnhookPlayerCache(PlayerCookiesCached hook); + + /// + /// Add a new prefab item to the client cookie settings menu. + /// Note: This handles everything automatically and does not require a callback + /// + /// Handler to set prefab menu. + public void SetCookiePrefabMenu(int cookieId, CookieMenu type, string display, Action cookieMenuHandler); + + /// + /// Adds a new item to the client cookie settings menu. + /// Note: This only adds the top level menu item. You need to handle any submenus from the callback. + /// + /// Handler to set cookie menu item. + public void SetCookieMenuItem(Action cookieMenuHandler, string display); + + /// + /// Displays the settings menu to a player. + /// + /// Handler to display cookie menu to player. + public void ShowCookieMenu(CCSPlayerController player); +} \ No newline at end of file diff --git a/ClientprefsExample/.gitignore b/ClientprefsExample/.gitignore new file mode 100644 index 0000000..efc610d --- /dev/null +++ b/ClientprefsExample/.gitignore @@ -0,0 +1,65 @@ +# +# The file was created by KitsuneLab - Entity (@Sples1) +# +### KitsuneLab ### +# Folders +.build/ +.vanish/ + +# SourcePawn +*.smx + +# Others +*.exe +*.dat +*.bat + +### VisualStudioCode ### +.vscode/ +.vs/ +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# macOS-specific files and directories to ignore +.DS_Store +.AppleDouble/ +__MACOSX/ + +# Remove dotnet normal build +bin/ +obj/ +*.sln +temp.txt \ No newline at end of file diff --git a/ClientprefsExample/ClientprefsExample.cs b/ClientprefsExample/ClientprefsExample.cs new file mode 100644 index 0000000..9d4e640 --- /dev/null +++ b/ClientprefsExample/ClientprefsExample.cs @@ -0,0 +1,99 @@ +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Core.Attributes.Registration; +using CounterStrikeSharp.API.Modules.Commands; +using CounterStrikeSharp.API.Core.Attributes; + +using Clientprefs.API; +using CounterStrikeSharp.API.Core.Capabilities; +using Microsoft.Extensions.Logging; + +namespace ClientPrefsExample; + +[MinimumApiVersion(215)] +public class ClientPrefsExample : BasePlugin +{ + public override string ModuleName => "Example plugin"; + public override string ModuleDescription => "Example plugin Description"; + public override string ModuleAuthor => "Cruze"; + public override string ModuleVersion => "1.0.0"; + + private readonly PluginCapability g_PluginCapability = new("Clientprefs"); + + private IClientprefsApi? ClientprefsApi; + + private int g_iCookieID = -1, g_iCookieID2 = -1, g_iCookieID3 = -1; + + public override void Load(bool hotReload) + { + base.Load(hotReload); + } + + public override void Unload(bool hotReload) + { + base.Unload(hotReload); + + if (ClientprefsApi == null) return; + + ClientprefsApi.UnhookRegisterCookie(OnClientprefDatabaseReady); + ClientprefsApi.UnhookPlayerCache(OnPlayerCookiesCached); + } + + public override void OnAllPluginsLoaded(bool hotReload) + { + ClientprefsApi = g_PluginCapability.Get(); + + if (ClientprefsApi == null) return; + + ClientprefsApi.HookRegisterCookie(OnClientprefDatabaseReady); + ClientprefsApi.HookPlayerCache(OnPlayerCookiesCached); + } + + public void OnClientprefDatabaseReady() + { + if (ClientprefsApi == null) return; + + g_iCookieID = ClientprefsApi.RegPlayerCookie("example_cookie", "Example cookie description", CookieAccess.CookieAccess_Public); + g_iCookieID2 = ClientprefsApi.RegPlayerCookie("example_cookie2", "Example cookie description", CookieAccess.CookieAccess_Public); + g_iCookieID3 = ClientprefsApi.RegPlayerCookie("example_cookie", "Example cookie description", CookieAccess.CookieAccess_Public); + + if(g_iCookieID == -1) + { + Logger.LogError("[Clientprefs-Example] Failed to register/load cookie 1"); + return; + } + + if(g_iCookieID2 == -1) + { + Logger.LogError("[Clientprefs-Example] Failed to register/load cookie 2"); + return; + } + + Logger.LogInformation($"[Clientprefs-Example] Registered/Loaded cookie with ID: {g_iCookieID}"); // ID: 1 + Logger.LogInformation($"[Clientprefs-Example] Registered/Loaded cookie with ID: {g_iCookieID2}"); // ID: 2 + Logger.LogInformation($"[Clientprefs-Example] Registered/Loaded cookie with ID: {g_iCookieID3}"); // ID: 1 + } + + public void OnPlayerCookiesCached(CCSPlayerController player) + { + if (ClientprefsApi == null || g_iCookieID == -1 || g_iCookieID2 == -1) return; + + var cookieValue = ClientprefsApi.GetPlayerCookie(player, g_iCookieID); + var cookieValue2 = ClientprefsApi.GetPlayerCookie(player, g_iCookieID2); + + Logger.LogInformation($"[Clientprefs-Example] Cookie value: {cookieValue}"); + Logger.LogInformation($"[Clientprefs-Example] Cookie value 2: {cookieValue2}"); + } + + [ConsoleCommand("css_clientprefs_example", "Saves example clientprefs cookie value")] + public void OnExampleCommand(CCSPlayerController? caller, CommandInfo _) + { + if (caller == null || !caller.IsValid || ClientprefsApi == null || g_iCookieID == -1) + { + return; + } + + ClientprefsApi.SetPlayerCookie(caller, g_iCookieID, "xyz"); + ClientprefsApi.SetPlayerCookie(caller, g_iCookieID2, "abc"); + ClientprefsApi.SetPlayerCookie(caller, g_iCookieID3, "xyz"); + } +} \ No newline at end of file diff --git a/ClientprefsExample/ClientprefsExample.csproj b/ClientprefsExample/ClientprefsExample.csproj new file mode 100644 index 0000000..e7e6ec2 --- /dev/null +++ b/ClientprefsExample/ClientprefsExample.csproj @@ -0,0 +1,17 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + \ No newline at end of file diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..6dd0505 --- /dev/null +++ b/README.MD @@ -0,0 +1,70 @@ +> [!WARNING] +> This plugin is not heavily tested so if any issue found, please open a ticket and describe the issue as much as you can. + +# Clientprefs for CSSharp +This plugin exposes some natives for developers to save player data to SQLite / MySQL without actually adding sql code to your plugin giving developers easy access to save player cookie to database. + +## Example +```c# + +private readonly PluginCapability g_PluginCapability = new("Clientprefs"); +private IClientprefsApi? ClientprefsApi; + +public override void OnAllPluginsLoaded(bool hotReload) +{ + ClientprefsApi = g_PluginCapability.Get(); + + if (ClientprefsApi == null) return; + + ClientprefsApi.HookRegisterCookie(OnClientprefDatabaseReady); + ClientprefsApi.HookPlayerCache(OnPlayerCookiesCached); +} + +public override void Unload(bool hotReload) +{ + base.Unload(hotReload); + + if (ClientprefsApi == null) return; + + ClientprefsApi.UnhookRegisterCookie(OnClientprefDatabaseReady); + ClientprefsApi.UnhookPlayerCache(OnPlayerCookiesCached); +} + +public void OnClientprefDatabaseReady() +{ + if (ClientprefsApi == null) return; + + g_iCookieID = ClientprefsApi.RegPlayerCookie("example_cookie", "Example cookie description", CookieAccess.CookieAccess_Public); + + if(g_iCookieID == -1) + { + Logger.LogError("[Clientprefs-Example] Failed to register/load cookie 1"); + return; + } + + Logger.LogInformation($"[Clientprefs-Example] Registered/Loaded cookie with ID: {g_iCookieID}"); // ID: 1 +} + +public void OnPlayerCookiesCached(CCSPlayerController player) +{ + if (ClientprefsApi == null || g_iCookieID == -1) return; + + var cookieValue = ClientprefsApi.GetPlayerCookie(player, g_iCookieID); + + Logger.LogInformation($"[Clientprefs-Example] Cookie value: {cookieValue}"); +} + +[ConsoleCommand("css_clientprefs_example", "Saves example clientprefs cookie value")] +public void OnExampleCommand(CCSPlayerController? caller, CommandInfo _) +{ + if (caller == null || !caller.IsValid || ClientprefsApi == null || g_iCookieID == -1) + { + return; + } + + ClientprefsApi.SetPlayerCookie(caller, g_iCookieID, "xyz"); +} +``` +> [!CAUTION] +> Do not use `SetPlayerCookie` at `EventPlayerDisconnect (HookMode.Post)` event as that is when the main plugin saves cookies of a player. (Use HookMode.Pre) or when some command is executed like in example. +